diff --git a/.travis.yml b/.travis.yml index a0a6ed28ae6..b6eb33966b7 100644 --- a/.travis.yml +++ b/.travis.yml @@ -5,7 +5,7 @@ sudo: false env: BYOND_MAJOR="511" BYOND_MINOR="1381" - MACRO_COUNT=209 + MACRO_COUNT=4 cache: directories: diff --git a/README.md b/README.md index f7cb9e497a8..697c804848c 100644 --- a/README.md +++ b/README.md @@ -7,16 +7,18 @@ Polaris is a fork of the Baystation12 code branch for the game Spacestation13. --- ### LICENSE -Polaris is licensed under the GNU Affero General Public License version 3, which can be found in full in LICENSE-AGPL3.txt. +The code for Polaris is licensed under the [GNU Affero General Public License](http://www.gnu.org/licenses/agpl.html) version 3, which can be found in full in LICENSE-AGPL3.txt. -Commits with a git authorship date prior to `1420675200 +0000` (2015/01/08 00:00) are licensed under the GNU General Public License version 3, which can be found in full in LICENSE-GPL3.txt. +Code with a git authorship date prior to `1420675200 +0000` (2015/01/08 00:00) are licensed under the GNU General Public License version 3, which can be found in full in LICENSE-GPL3.txt. -All commits whose authorship dates are not prior to `1420675200 +0000` are assumed to be licensed under AGPL v3, if you wish to license under GPL v3 please make this clear in the commit message and any added files. +All code whose authorship dates are not prior to `1420675200 +0000` are assumed to be licensed under AGPL v3, if you wish to license under GPL v3 please make this clear in the commit message and any added files. -If you wish to develop and host this codebase in a closed source manner you may use all commits prior to `1420675200 +0000`, which are licensed under GPL v3. The major change here is that if you host a server using any code licensed under AGPLv3 you are required to provide full source code for your servers users as well including addons and modifications you have made. +If you wish to develop and host this codebase in a closed source manner you may use all code prior to `1420675200 +0000`, which are licensed under GPL v3. The major change here is that if you host a server using any code licensed under AGPLv3 you are required to provide full source code for your servers users as well including addons and modifications you have made. See [here](https://www.gnu.org/licenses/why-affero-gpl.html) for more information. +All assets including icons and sound are under a [CC BY-SA 3.0](http://creativecommons.org/licenses/by-sa/3.0/) license unless otherwise indicated. + ### GETTING THE CODE The simplest way to obtain the code is using the github .zip feature. diff --git a/code/ATMOSPHERICS/components/unary/vent_scrubber.dm b/code/ATMOSPHERICS/components/unary/vent_scrubber.dm index 3fccbb50f33..07e3f12524d 100644 --- a/code/ATMOSPHERICS/components/unary/vent_scrubber.dm +++ b/code/ATMOSPHERICS/components/unary/vent_scrubber.dm @@ -107,6 +107,7 @@ "filter_co2" = ("carbon_dioxide" in scrubbing_gas), "filter_phoron" = ("phoron" in scrubbing_gas), "filter_n2o" = ("sleeping_agent" in scrubbing_gas), + "filter_fuel" = ("volatile_fuel" in scrubbing_gas), "sigtype" = "status" ) if(!initial_loc.air_scrub_names[id_tag]) @@ -233,6 +234,11 @@ else if(signal.data["toggle_n2o_scrub"]) toggle += "sleeping_agent" + if(!isnull(signal.data["fuel_scrub"]) && text2num(signal.data["fuel_scrub"]) != ("volatile_fuel" in scrubbing_gas)) + toggle += "volatile_fuel" + else if(signal.data["toggle_fuel_scrub"]) + toggle += "volatile_fuel" + scrubbing_gas ^= toggle if(signal.data["init"] != null) diff --git a/code/__defines/misc.dm b/code/__defines/misc.dm index f3b448ee490..89f01c8cd23 100644 --- a/code/__defines/misc.dm +++ b/code/__defines/misc.dm @@ -88,6 +88,11 @@ #define SHUTTLE_WARMUP 1 #define SHUTTLE_INTRANSIT 2 +// Sound defines for shuttles. +#define HYPERSPACE_WARMUP 0 +#define HYPERSPACE_PROGRESS 1 +#define HYPERSPACE_END 2 + // Ferry shuttle processing status. #define IDLE_STATE 0 #define WAIT_LAUNCH 1 diff --git a/code/_helpers/type2type.dm b/code/_helpers/type2type.dm index 8dc9cb020b1..975e65e3ec3 100644 --- a/code/_helpers/type2type.dm +++ b/code/_helpers/type2type.dm @@ -80,7 +80,9 @@ if (NORTHEAST) return "northeast" if (SOUTHEAST) return "southeast" if (NORTHWEST) return "northwest" - if (SOUTHWEST) return "southwest" + if (SOUTHWEST) return "southwest" + if (UP) return "up" + if (DOWN) return "down" // Turns text into proper directions /proc/text2dir(direction) diff --git a/code/_onclick/hud/robot.dm b/code/_onclick/hud/robot.dm index ff0d8cdd5b0..f3b696ad281 100644 --- a/code/_onclick/hud/robot.dm +++ b/code/_onclick/hud/robot.dm @@ -243,7 +243,7 @@ var/obj/screen/robot_inventory //Unfortunately adding the emag module to the list of modules has to be here. This is because a borg can //be emagged before they actually select a module. - or some situation can cause them to get a new module // - or some situation might cause them to get de-emagged or something. - if(r.emagged) + if(r.emagged || r.emag_items) if(!(r.module.emag in r.module.modules)) r.module.modules.Add(r.module.emag) else diff --git a/code/datums/mind.dm b/code/datums/mind.dm index 0b524befec5..cb49518bd84 100644 --- a/code/datums/mind.dm +++ b/code/datums/mind.dm @@ -407,7 +407,7 @@ else if (href_list["obj_announce"]) var/obj_count = 1 - current << "\blue Your current objectives:" + current << "Your current objectives:" for(var/datum/objective/objective in objectives) current << "Objective #[obj_count]: [objective.explanation_text]" obj_count++ diff --git a/code/datums/supplypacks/engineering.dm b/code/datums/supplypacks/engineering.dm index 0cf0e1f52a3..ad251c5f7e0 100644 --- a/code/datums/supplypacks/engineering.dm +++ b/code/datums/supplypacks/engineering.dm @@ -200,3 +200,52 @@ /obj/item/weapon/stock_parts/matter_bin, /obj/item/weapon/circuitboard/pacman/super ) + +/datum/supply_packs/eng/fusion_core + name = "R-UST Mk. 8 Tokamak fusion core crate" + cost = 50 + containername = "R-UST Mk. 8 Tokamak Fusion Core crate" + containertype = /obj/structure/closet/crate/secure/engineering + access = access_engine + contains = list( + /obj/item/weapon/book/manual/rust_engine, + /obj/machinery/power/fusion_core, + /obj/item/weapon/circuitboard/fusion_core + ) + +/datum/supply_packs/eng/fusion_fuel_injector + name = "R-UST Mk. 8 fuel injector crate" + cost = 30 + containername = "R-UST Mk. 8 fuel injector crate" + containertype = /obj/structure/closet/crate/secure/engineering + access = access_engine + contains = list( + /obj/machinery/fusion_fuel_injector, + /obj/machinery/fusion_fuel_injector, + /obj/item/weapon/circuitboard/fusion_injector + ) + +/datum/supply_packs/eng/gyrotron + name = "Gyrotron crate" + cost = 15 + containername = "Gyrotron Crate" + containertype = /obj/structure/closet/crate/secure/engineering + access = access_engine + contains = list( + /obj/machinery/power/emitter/gyrotron, + /obj/item/weapon/circuitboard/gyrotron + ) + +/datum/supply_packs/eng/fusion_fuel_compressor + name = "Fusion Fuel Compressor circuitry crate" + cost = 10 + containername = "Fusion Fuel Compressor circuitry crate" + containertype = /obj/structure/closet/crate/engineering + contains = list(/obj/item/weapon/circuitboard/fusion_fuel_compressor) + +/datum/supply_packs/eng/tritium + name = "Tritium crate" + cost = 75 + containername = "Tritium crate" + containertype = /obj/structure/closet/crate/engineering + contains = list(/obj/fiftyspawner/tritium) \ No newline at end of file diff --git a/code/datums/supplypacks/science.dm b/code/datums/supplypacks/science.dm index 5aca6742295..c2f3a24159b 100644 --- a/code/datums/supplypacks/science.dm +++ b/code/datums/supplypacks/science.dm @@ -42,3 +42,17 @@ containertype = /obj/structure/closet/crate/hydroponics containername = "Exotic Seeds crate" access = access_hydroponics + +/datum/supply_packs/sci/integrated_circuit_printer + name = "Integrated circuit printer" + contains = list(/obj/item/device/integrated_circuit_printer = 2) + cost = 15 + containertype = /obj/structure/closet/crate + containername = "Integrated circuit crate" + +/datum/supply_packs/sci/integrated_circuit_printer_upgrade + name = "Integrated circuit printer upgrade - advanced designs" + contains = list(/obj/item/weapon/disk/integrated_circuit/upgrade/advanced) + cost = 30 + containertype = /obj/structure/closet/crate + containername = "Integrated circuit crate" diff --git a/code/datums/uplink/medical.dm b/code/datums/uplink/medical.dm index 0c616793ca1..c28fed46b96 100644 --- a/code/datums/uplink/medical.dm +++ b/code/datums/uplink/medical.dm @@ -39,6 +39,26 @@ item_cost = 10 path = /obj/item/weapon/storage/box/freezer +/datum/uplink_item/item/medical/monkeycubes + name = "Box, Monkey Cubes" + item_cost = 10 + path = /obj/item/weapon/storage/box/monkeycubes + +/datum/uplink_item/item/medical/farwacubes + name = "Box, Farwa Cubes" + item_cost = 10 + path = /obj/item/weapon/storage/box/monkeycubes + +/datum/uplink_item/item/medical/neaeracubes + name = "Box, Neaera Cubes" + item_cost = 10 + path = /obj/item/weapon/storage/box/monkeycubes/neaeracubes + +/datum/uplink_item/item/medical/stokcubes + name = "Box, Stok Cubes" + item_cost = 10 + path = /obj/item/weapon/storage/box/monkeycubes/stokcubes + /datum/uplink_item/item/medical/surgery name = "Surgery kit" item_cost = 45 diff --git a/code/datums/uplink/uplink_items.dm b/code/datums/uplink/uplink_items.dm index 0cb7ce1d1d4..94b1281dd37 100644 --- a/code/datums/uplink/uplink_items.dm +++ b/code/datums/uplink/uplink_items.dm @@ -5,7 +5,7 @@ var/datum/uplink/uplink = new() var/list/datum/uplink_item/items var/list/datum/uplink_category/categories -/datum/uplink/New() +/datum/uplink/New(var/type) items_assoc = list() items = init_subtypes(/datum/uplink_item) categories = init_subtypes(/datum/uplink_category) @@ -38,7 +38,8 @@ var/datum/uplink/uplink = new() /datum/uplink_item/New() ..() - antag_roles = list() + if(!antag_roles) + antag_roles = list() @@ -85,8 +86,9 @@ var/datum/uplink/uplink = new() for(var/antag_role in antag_roles) var/datum/antagonist/antag = all_antag_types[antag_role] - if(antag.is_antagonist(U.uplink_owner)) - return 1 + if(!isnull(antag)) + if(antag.is_antagonist(U.uplink_owner)) + return 1 return 0 /datum/uplink_item/proc/cost(var/telecrystals, obj/item/device/uplink/U) diff --git a/code/datums/uplink/visible_weapons.dm b/code/datums/uplink/visible_weapons.dm index 1cd19faf0f9..ba9ce3660a1 100644 --- a/code/datums/uplink/visible_weapons.dm +++ b/code/datums/uplink/visible_weapons.dm @@ -99,10 +99,18 @@ item_cost = 40 path = /obj/item/weapon/gun/projectile/derringer -/datum/uplink_item/item/visible_weapons/heavysniper +/datum/uplink_item/item/visible_weapons/heavysnipermerc name = "Anti-Materiel Rifle (14.5mm)" item_cost = DEFAULT_TELECRYSTAL_AMOUNT path = /obj/item/weapon/gun/projectile/heavysniper + antag_roles = list("mercenary") + +/datum/uplink_item/item/visible_weapons/heavysnipertraitor + name = "Anti-Materiel Rifle (14.5mm)" + desc = "A convenient collapsible rifle for covert assassination. Comes with 4 shots and its own secure carrying case." + item_cost = DEFAULT_TELECRYSTAL_AMOUNT + path = /obj/item/weapon/storage/secure/briefcase/rifle + antag_roles = list("traitor") /datum/uplink_item/item/visible_weapons/tommygun name = "Tommygun (.45)" // We're keeping this because it's CLASSY. -Spades diff --git a/code/game/antagonist/outsider/mercenary.dm b/code/game/antagonist/outsider/mercenary.dm index fb09e76a554..8e4b8826b47 100644 --- a/code/game/antagonist/outsider/mercenary.dm +++ b/code/game/antagonist/outsider/mercenary.dm @@ -17,7 +17,7 @@ var/datum/antagonist/mercenary/mercs hard_cap = 4 hard_cap_round = 8 initial_spawn_req = 3 - initial_spawn_target = 4 + initial_spawn_target = 3 /datum/antagonist/mercenary/New() ..() diff --git a/code/game/antagonist/outsider/raider.dm b/code/game/antagonist/outsider/raider.dm index 4124fc9af96..7ac0a4729b4 100644 --- a/code/game/antagonist/outsider/raider.dm +++ b/code/game/antagonist/outsider/raider.dm @@ -12,10 +12,10 @@ var/datum/antagonist/raider/raiders flags = ANTAG_OVERRIDE_JOB | ANTAG_CLEAR_EQUIPMENT | ANTAG_CHOOSE_NAME | ANTAG_VOTABLE | ANTAG_SET_APPEARANCE | ANTAG_HAS_LEADER antaghud_indicator = "hudmutineer" - hard_cap = 6 - hard_cap_round = 10 + hard_cap = 4 + hard_cap_round = 8 initial_spawn_req = 3 - initial_spawn_target = 4 + initial_spawn_target = 3 id_type = /obj/item/weapon/card/id/syndicate diff --git a/code/game/gamemodes/changeling/powers/fake_death.dm b/code/game/gamemodes/changeling/powers/fake_death.dm index 765dbb51e61..cae98164a0e 100644 --- a/code/game/gamemodes/changeling/powers/fake_death.dm +++ b/code/game/gamemodes/changeling/powers/fake_death.dm @@ -33,6 +33,9 @@ if(C.suiciding) C.suiciding = 0 + if(C.does_not_breathe) + C.does_not_breathe = 0 //This means they don't autoheal the oxy damage from the next step + if(C.stat != DEAD) C.adjustOxyLoss(C.maxHealth * 2) diff --git a/code/game/gamemodes/heist/heist.dm b/code/game/gamemodes/heist/heist.dm index b9418bfea9b..48f0f02bfca 100644 --- a/code/game/gamemodes/heist/heist.dm +++ b/code/game/gamemodes/heist/heist.dm @@ -7,9 +7,9 @@ var/global/list/obj/cortical_stacks = list() //Stacks for 'leave nobody behind' /datum/game_mode/heist name = "Heist" config_tag = "heist" - required_players = 15 - required_players_secret = 15 - required_enemies = 4 + required_players = 9 + required_players_secret = 9 + required_enemies = 3 round_description = "An unidentified bluespace signature is approaching the station!" extended_round_description = "The Company's majority control of phoron in the system has marked the \ station to be a highly valuable target for many competing organizations and individuals. Being a \ diff --git a/code/game/gamemodes/nuclear/nuclear.dm b/code/game/gamemodes/nuclear/nuclear.dm index 098f9fd3292..e85af7e82b6 100644 --- a/code/game/gamemodes/nuclear/nuclear.dm +++ b/code/game/gamemodes/nuclear/nuclear.dm @@ -12,9 +12,9 @@ var/list/nuke_disks = list() colony of sizable population and considerable wealth causes it to often be the target of various \ attempts of robbery, fraud and other malicious actions." config_tag = "mercenary" - required_players = 15 - required_players_secret = 15 - required_enemies = 4 + required_players = 9 + required_players_secret = 9 + required_enemies = 3 end_on_antag_death = 0 var/nuke_off_station = 0 //Used for tracking if the syndies actually haul the nuke to the station var/syndies_didnt_escape = 0 //Used for tracking if the syndies got the shuttle off of the z-level diff --git a/code/game/gamemodes/technomancer/spells/blink.dm b/code/game/gamemodes/technomancer/spells/blink.dm index 74eba8adb97..c0012c991c9 100644 --- a/code/game/gamemodes/technomancer/spells/blink.dm +++ b/code/game/gamemodes/technomancer/spells/blink.dm @@ -7,6 +7,7 @@ spell_power_desc = "Blink distance is scaled up with more spell power." cost = 50 obj_path = /obj/item/weapon/spell/blink + ability_icon_state = "tech_blink" category = UTILITY_SPELLS /obj/item/weapon/spell/blink diff --git a/code/game/gamemodes/technomancer/spells/control.dm b/code/game/gamemodes/technomancer/spells/control.dm index 90b134b38fc..50549ca004f 100644 --- a/code/game/gamemodes/technomancer/spells/control.dm +++ b/code/game/gamemodes/technomancer/spells/control.dm @@ -7,6 +7,7 @@ around the entity is merely a hologram used to allow the user to know if the creature is safe or not." cost = 100 obj_path = /obj/item/weapon/spell/control + ability_icon_state = "tech_control" category = UTILITY_SPELLS /mob/living/carbon/human/proc/technomancer_control() diff --git a/code/game/gamemodes/technomancer/spells/oxygenate.dm b/code/game/gamemodes/technomancer/spells/oxygenate.dm index fcc2cbcecf8..61c63672601 100644 --- a/code/game/gamemodes/technomancer/spells/oxygenate.dm +++ b/code/game/gamemodes/technomancer/spells/oxygenate.dm @@ -4,7 +4,7 @@ If casted on the envirnment, air (oxygen and nitrogen) is moved from a distant location to your target." cost = 25 obj_path = /obj/item/weapon/spell/oxygenate - ability_icon_state = "oxygenate" + ability_icon_state = "tech_oxygenate" category = SUPPORT_SPELLS /obj/item/weapon/spell/oxygenate diff --git a/code/game/gamemodes/technomancer/spells/phase_shift.dm b/code/game/gamemodes/technomancer/spells/phase_shift.dm index a79dfb7c37a..5b06a7e7045 100644 --- a/code/game/gamemodes/technomancer/spells/phase_shift.dm +++ b/code/game/gamemodes/technomancer/spells/phase_shift.dm @@ -4,12 +4,14 @@ rift you create will afflict you with instability." cost = 50 obj_path = /obj/item/weapon/spell/phase_shift + ability_icon_state = "tech_phaseshift" category = DEFENSIVE_SPELLS /obj/item/weapon/spell/phase_shift name = "phase shift" desc = "Allows you to dodge your untimely fate by shifting your location somewhere else, so long as you can survive inside the \ rift." + icon_state = "blink" cast_methods = CAST_USE aspect = ASPECT_TELE diff --git a/code/game/gamemodes/technomancer/spells/projectile/overload.dm b/code/game/gamemodes/technomancer/spells/projectile/overload.dm index bb1432af4c6..50d6d22a95d 100644 --- a/code/game/gamemodes/technomancer/spells/projectile/overload.dm +++ b/code/game/gamemodes/technomancer/spells/projectile/overload.dm @@ -6,6 +6,7 @@ spell_power_desc = "Increases damage dealt, up to a cap of 80 damage per shot." cost = 100 obj_path = /obj/item/weapon/spell/projectile/overload + ability_icon_state = "tech_overload" category = OFFENSIVE_SPELLS /obj/item/weapon/spell/projectile/overload diff --git a/code/game/machinery/alarm.dm b/code/game/machinery/alarm.dm index 1344543b65b..5e8620fd109 100644 --- a/code/game/machinery/alarm.dm +++ b/code/game/machinery/alarm.dm @@ -548,6 +548,7 @@ scrubbers[scrubbers.len]["filters"] += list(list("name" = "Carbon Dioxide", "command" = "co2_scrub","val" = info["filter_co2"])) scrubbers[scrubbers.len]["filters"] += list(list("name" = "Toxin" , "command" = "tox_scrub","val" = info["filter_phoron"])) scrubbers[scrubbers.len]["filters"] += list(list("name" = "Nitrous Oxide", "command" = "n2o_scrub","val" = info["filter_n2o"])) + scrubbers[scrubbers.len]["filters"] += list(list("name" = "Fuel", "command" = "fuel_scrub","val" = info["filter_fuel"])) data["scrubbers"] = scrubbers if(AALARM_SCREEN_MODE) var/modes[0] @@ -654,6 +655,7 @@ "co2_scrub", "tox_scrub", "n2o_scrub", + "fuel_scrub", "panic_siphon", "scrubbing", "direction") diff --git a/code/game/machinery/atmoalter/scrubber.dm b/code/game/machinery/atmoalter/scrubber.dm index 0fffc9dfa22..70a6b3c233f 100644 --- a/code/game/machinery/atmoalter/scrubber.dm +++ b/code/game/machinery/atmoalter/scrubber.dm @@ -17,7 +17,7 @@ var/minrate = 0 var/maxrate = 10 * ONE_ATMOSPHERE - var/list/scrubbing_gas = list("phoron", "carbon_dioxide", "sleeping_agent") + var/list/scrubbing_gas = list("phoron", "carbon_dioxide", "sleeping_agent", "volatile_fuel") /obj/machinery/portable_atmospherics/powered/scrubber/New() ..() diff --git a/code/game/machinery/computer/aifixer.dm b/code/game/machinery/computer/aifixer.dm index c495100418e..d52300d13db 100644 --- a/code/game/machinery/computer/aifixer.dm +++ b/code/game/machinery/computer/aifixer.dm @@ -102,7 +102,7 @@ if (href_list["fix"]) src.active = 1 src.overlays += image(icon, "ai-fixer-on") - while (src.occupant.health < 100) + while (src.occupant.getOxyLoss() > 0 || src.occupant.getFireLoss() > 0 || src.occupant.getToxLoss() > 0 || src.occupant.getBruteLoss() > 0) src.occupant.adjustOxyLoss(-1) src.occupant.adjustFireLoss(-1) src.occupant.adjustToxLoss(-1) diff --git a/code/game/machinery/cryopod.dm b/code/game/machinery/cryopod.dm index 72c9ae47afd..08a1282e52b 100644 --- a/code/game/machinery/cryopod.dm +++ b/code/game/machinery/cryopod.dm @@ -499,50 +499,10 @@ if(!ismob(grab.affecting)) return - - if(!check_occupant_allowed(grab.affecting)) - return - - var/willing = null //We don't want to allow people to be forced into despawning. - var/mob/M = grab.affecting - - if(M.client) - if(alert(M,"Would you like to enter long-term storage?",,"Yes","No") == "Yes") - if(!M || !grab || !grab.affecting) return - willing = 1 else - willing = 1 + go_in(grab.affecting,user) - if(willing) - visible_message("\The [user] starts putting [grab:affecting:name] into \the [src].", 3) - - if(do_after(user, 20)) - if(!M || !grab || !grab:affecting) return - - M.forceMove(src) - - if(M.client) - M.client.perspective = EYE_PERSPECTIVE - M.client.eye = src - - icon_state = occupied_icon_state - - M << "[on_enter_occupant_message]" - M << "If you ghost, log out or close your client now, your character will shortly be permanently removed from the round." - set_occupant(M) - time_entered = world.time - if(ishuman(M) && applies_stasis) - var/mob/living/carbon/human/H = M - H.Stasis(1000) - - // Book keeping! - var/turf/location = get_turf(src) - log_admin("[key_name_admin(M)] has entered a stasis pod. (JMP)") - message_admins("[key_name_admin(M)] has entered a stasis pod.") - - //Despawning occurs when process() is called with an occupant without a client. - add_fingerprint(M) /obj/machinery/cryopod/verb/eject() set name = "Eject Pod" @@ -650,3 +610,61 @@ name = initial(name) if(occupant) name = "[name] ([occupant])" + +/obj/machinery/cryopod/MouseDrop_T(var/mob/target, var/mob/user) + if(user.stat || user.lying || !Adjacent(user) || !target.Adjacent(user)) + return + go_in(target, user) + +/obj/machinery/cryopod/proc/go_in(var/mob/M, var/mob/user) + if(!check_occupant_allowed(M)) + return + if(!M) + return + if(occupant) + to_chat(user,"\The [src] is already occupied.") + return + + var/willing = null //We don't want to allow people to be forced into despawning. + + if(M.client) + if(alert(M,"Would you like to enter long-term storage?",,"Yes","No") == "Yes") + if(!M) return + willing = 1 + else + willing = 1 + + if(willing) + if(M == user) + visible_message("[usr] [on_enter_visible_message] [src].", 3) + else + visible_message("\The [user] starts putting [M] into \the [src].", 3) + + if(do_after(user, 20)) + if(occupant) + to_chat(user,"\The [src] is already occupied.") + return + M.forceMove(src) + + if(M.client) + M.client.perspective = EYE_PERSPECTIVE + M.client.eye = src + else return + + icon_state = occupied_icon_state + + M << "[on_enter_occupant_message]" + M << "If you ghost, log out or close your client now, your character will shortly be permanently removed from the round." + set_occupant(M) + time_entered = world.time + if(ishuman(M) && applies_stasis) + var/mob/living/carbon/human/H = M + H.Stasis(1000) + + // Book keeping! + var/turf/location = get_turf(src) + log_admin("[key_name_admin(M)] has entered a stasis pod. (JMP)") + message_admins("[key_name_admin(M)] has entered a stasis pod.") + + //Despawning occurs when process() is called with an occupant without a client. + add_fingerprint(M) \ No newline at end of file diff --git a/code/game/objects/items/devices/uplink_random_lists.dm b/code/game/objects/items/devices/uplink_random_lists.dm index f3533c5a012..38605da018c 100644 --- a/code/game/objects/items/devices/uplink_random_lists.dm +++ b/code/game/objects/items/devices/uplink_random_lists.dm @@ -57,7 +57,7 @@ var/datum/uplink_random_selection/all_uplink_selection = new/datum/uplink_random items += new/datum/uplink_random_item(/datum/uplink_item/item/ammo/mc9mm) items += new/datum/uplink_random_item(/datum/uplink_item/item/visible_weapons/revolver) items += new/datum/uplink_random_item(/datum/uplink_item/item/ammo/a357) - items += new/datum/uplink_random_item(/datum/uplink_item/item/visible_weapons/heavysniper, 15, 0) + items += new/datum/uplink_random_item(/datum/uplink_item/item/visible_weapons/heavysnipermerc, 15, 0) items += new/datum/uplink_random_item(/datum/uplink_item/item/ammo/sniperammo, 15, 0) items += new/datum/uplink_random_item(/datum/uplink_item/item/grenades/emp, 50) items += new/datum/uplink_random_item(/datum/uplink_item/item/visible_weapons/crossbow, 33) diff --git a/code/game/objects/items/robot/robot_upgrades.dm b/code/game/objects/items/robot/robot_upgrades.dm index 28179f7dbd7..4a7dc885976 100644 --- a/code/game/objects/items/robot/robot_upgrades.dm +++ b/code/game/objects/items/robot/robot_upgrades.dm @@ -156,8 +156,8 @@ /obj/item/borg/upgrade/syndicate/ - name = "illegal equipment module" - desc = "Unlocks the hidden, deadlier functions of a robot" + name = "scrambled equipment module" + desc = "Unlocks new and often deadly module specific items of a robot" icon_state = "cyborg_upgrade3" item_state = "cyborg_upgrade" require_module = 1 @@ -165,8 +165,8 @@ /obj/item/borg/upgrade/syndicate/action(var/mob/living/silicon/robot/R) if(..()) return 0 - if(R.emagged == 1) + if(R.emag_items == 1) return 0 - R.emagged = 1 + R.emag_items = 1 return 1 diff --git a/code/game/objects/items/weapons/implants/implantcircuits.dm b/code/game/objects/items/weapons/implants/implantcircuits.dm index db24be3c0af..856e7a5d8bf 100644 --- a/code/game/objects/items/weapons/implants/implantcircuits.dm +++ b/code/game/objects/items/weapons/implants/implantcircuits.dm @@ -1,5 +1,6 @@ /obj/item/weapon/implant/integrated_circuit name = "electronic implant" + desc = "It's a case, for building very tiny electronics with." icon = 'icons/obj/electronic_assemblies.dmi' icon_state = "setup_implant" var/obj/item/device/electronic_assembly/implant/IC = null diff --git a/code/game/objects/items/weapons/manuals.dm b/code/game/objects/items/weapons/manuals.dm index eb38fa5aba8..533f5b30aaf 100644 --- a/code/game/objects/items/weapons/manuals.dm +++ b/code/game/objects/items/weapons/manuals.dm @@ -168,7 +168,6 @@ - This guide appears to have been scribbled in haste on the back of a WetSkrell magazine...

  1. Put uranium in the portable generator near the gyrotron and turn it to full. This is to provide initial power to the core.
  2. diff --git a/code/game/objects/items/weapons/storage/secure.dm b/code/game/objects/items/weapons/storage/secure.dm index 169496ff6c5..abd965f6641 100644 --- a/code/game/objects/items/weapons/storage/secure.dm +++ b/code/game/objects/items/weapons/storage/secure.dm @@ -149,7 +149,9 @@ force = 8.0 throw_speed = 1 throw_range = 4 + max_w_class = ITEMSIZE_NORMAL w_class = ITEMSIZE_LARGE + max_storage_space = ITEMSIZE_COST_NORMAL * 4 attack_hand(mob/user as mob) if ((src.loc == user) && (src.locked == 1)) diff --git a/code/game/objects/items/weapons/storage/uplink_kits.dm b/code/game/objects/items/weapons/storage/uplink_kits.dm index d5ac595c1eb..0c7ec201675 100644 --- a/code/game/objects/items/weapons/storage/uplink_kits.dm +++ b/code/game/objects/items/weapons/storage/uplink_kits.dm @@ -281,4 +281,17 @@ /obj/item/weapon/storage/box/syndie_kit/demolitions_super_heavy/New() ..() new /obj/item/weapon/syndie/c4explosive/heavy/super_heavy(src) - new /obj/item/weapon/screwdriver(src) \ No newline at end of file + new /obj/item/weapon/screwdriver(src) + + +/obj/item/weapon/storage/secure/briefcase/rifle + name = "secure briefcase" + +/obj/item/weapon/storage/secure/briefcase/rifle/New() + ..() + new /obj/item/sniper_rifle_part/barrel(src) + new /obj/item/sniper_rifle_part/stock(src) + new /obj/item/sniper_rifle_part/trigger_group(src) + + for(var/i = 1 to 4) + new /obj/item/ammo_casing/a145(src) diff --git a/code/modules/admin/IsBanned.dm b/code/modules/admin/IsBanned.dm index f1005b59a52..39926e1414a 100644 --- a/code/modules/admin/IsBanned.dm +++ b/code/modules/admin/IsBanned.dm @@ -7,13 +7,13 @@ world/IsBanned(key,address,computer_id) //Guest Checking if(!config.guests_allowed && IsGuestKey(key)) log_access("Failed Login: [key] - Guests not allowed") - message_admins("\blue Failed Login: [key] - Guests not allowed") + message_admins("Failed Login: [key] - Guests not allowed") return list("reason"="guest", "desc"="\nReason: Guests not allowed. Please sign in with a byond account.") //check if the IP address is a known TOR node if(config && config.ToRban && ToRban_isbanned(address)) log_access("Failed Login: [src] - Banned: ToR") - message_admins("\blue Failed Login: [src] - Banned: ToR") + message_admins("Failed Login: [src] - Banned: ToR") //ban their computer_id and ckey for posterity AddBan(ckey(key), computer_id, "Use of ToR", "Automated Ban", 0, 0) return list("reason"="Using ToR", "desc"="\nReason: The network you are using to connect has been banned.\nIf you believe this is a mistake, please request help at [config.banappeals]") @@ -25,7 +25,7 @@ world/IsBanned(key,address,computer_id) . = CheckBan( ckey(key), computer_id, address ) if(.) log_access("Failed Login: [key] [computer_id] [address] - Banned [.["reason"]]") - message_admins("\blue Failed Login: [key] id:[computer_id] ip:[address] - Banned [.["reason"]]") + message_admins("Failed Login: [key] id:[computer_id] ip:[address] - Banned [.["reason"]]") return . return ..() //default pager ban stuff diff --git a/code/modules/admin/admin.dm b/code/modules/admin/admin.dm index 2f9bca5f01b..6b3560a824f 100644 --- a/code/modules/admin/admin.dm +++ b/code/modules/admin/admin.dm @@ -673,7 +673,7 @@ proc/admin_notice(var/message, var/rights) //This is basically how death alarms do it var/obj/item/device/radio/headset/a = new /obj/item/device/radio/headset/ert(null) - var/channel = input("Channel for message:","Channel", null) as null|anything in (list("Common") + a.keyslot1.channels + a.keyslot2.channels) + var/channel = input("Channel for message:","Channel", null) as null|anything in (list("Common") + a.keyslot2.channels) // + a.keyslot1.channels if(channel) //They picked a channel var/sender = input("Name of sender (max 75):", "Announcement", "Announcement Computer") as null|text @@ -802,7 +802,7 @@ proc/admin_notice(var/message, var/rights) else world << "New players may now enter the game." log_admin("[key_name(usr)] toggled new player game entering.") - message_admins("\blue [key_name_admin(usr)] toggled new player game entering.", 1) + message_admins("[key_name_admin(usr)] toggled new player game entering.", 1) world.update_status() feedback_add_details("admin_verb","TE") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc! @@ -828,7 +828,7 @@ proc/admin_notice(var/message, var/rights) world << "You may now respawn." else world << "You may no longer respawn :(" - message_admins("\blue [key_name_admin(usr)] toggled respawn to [config.abandon_allowed ? "On" : "Off"].", 1) + message_admins("[key_name_admin(usr)] toggled respawn to [config.abandon_allowed ? "On" : "Off"].", 1) log_admin("[key_name(usr)] toggled respawn to [config.abandon_allowed ? "On" : "Off"].") world.update_status() feedback_add_details("admin_verb","TR") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc! @@ -860,7 +860,7 @@ proc/admin_notice(var/message, var/rights) if (!ticker || ticker.current_state != GAME_STATE_PREGAME) ticker.delay_end = !ticker.delay_end log_admin("[key_name(usr)] [ticker.delay_end ? "delayed the round end" : "has made the round end normally"].") - message_admins("\blue [key_name(usr)] [ticker.delay_end ? "delayed the round end" : "has made the round end normally"].", 1) + message_admins("[key_name(usr)] [ticker.delay_end ? "delayed the round end" : "has made the round end normally"].", 1) return //alert("Round end delayed", null, null, null, null, null) round_progressing = !round_progressing if (!round_progressing) @@ -876,7 +876,7 @@ proc/admin_notice(var/message, var/rights) set desc="Toggle admin jumping" set name="Toggle Jump" config.allow_admin_jump = !(config.allow_admin_jump) - message_admins("\blue Toggled admin jumping to [config.allow_admin_jump].") + message_admins("Toggled admin jumping to [config.allow_admin_jump].") feedback_add_details("admin_verb","TJ") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc! /datum/admins/proc/adspawn() @@ -884,7 +884,7 @@ proc/admin_notice(var/message, var/rights) set desc="Toggle admin spawning" set name="Toggle Spawn" config.allow_admin_spawning = !(config.allow_admin_spawning) - message_admins("\blue Toggled admin item spawning to [config.allow_admin_spawning].") + message_admins("Toggled admin item spawning to [config.allow_admin_spawning].") feedback_add_details("admin_verb","TAS") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc! /datum/admins/proc/adrev() @@ -892,7 +892,7 @@ proc/admin_notice(var/message, var/rights) set desc="Toggle admin revives" set name="Toggle Revive" config.allow_admin_rev = !(config.allow_admin_rev) - message_admins("\blue Toggled reviving to [config.allow_admin_rev].") + message_admins("Toggled reviving to [config.allow_admin_rev].") feedback_add_details("admin_verb","TAR") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc! /datum/admins/proc/immreboot() @@ -902,7 +902,7 @@ proc/admin_notice(var/message, var/rights) if(!usr.client.holder) return if( alert("Reboot server?",,"Yes","No") == "No") return - world << "\red Rebooting world! \blue Initiated by [usr.client.holder.fakekey ? "Admin" : usr.key]!" + world << "Rebooting world! Initiated by [usr.client.holder.fakekey ? "Admin" : usr.key]!" log_admin("[key_name(usr)] initiated an immediate reboot.") feedback_set_details("end_error","immediate admin reboot - by [usr.key] [usr.client.holder.fakekey ? "(stealth)" : ""]") @@ -1166,7 +1166,7 @@ proc/admin_notice(var/message, var/rights) else world << "Guests may now enter the game." log_admin("[key_name(usr)] toggled guests game entering [config.guests_allowed?"":"dis"]allowed.") - message_admins("\blue [key_name_admin(usr)] toggled guests game entering [config.guests_allowed?"":"dis"]allowed.", 1) + message_admins("[key_name_admin(usr)] toggled guests game entering [config.guests_allowed?"":"dis"]allowed.", 1) feedback_add_details("admin_verb","TGU") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc! /datum/admins/proc/output_ai_laws() diff --git a/code/modules/admin/admin_verbs.dm b/code/modules/admin/admin_verbs.dm index d2ce64335df..ab3fa05d214 100644 --- a/code/modules/admin/admin_verbs.dm +++ b/code/modules/admin/admin_verbs.dm @@ -449,11 +449,11 @@ var/list/admin_verbs_mentor = list( if(holder && mob) if(mob.invisibility == INVISIBILITY_OBSERVER) mob.invisibility = initial(mob.invisibility) - mob << "\red Invisimin off. Invisibility reset." + mob << "Invisimin off. Invisibility reset." mob.alpha = max(mob.alpha + 100, 255) else mob.invisibility = INVISIBILITY_OBSERVER - mob << "\blue Invisimin on. You are now as invisible as a ghost." + mob << "Invisimin on. You are now as invisible as a ghost." mob.alpha = max(mob.alpha - 100, 0) @@ -619,7 +619,7 @@ var/list/admin_verbs_mentor = list( var/light_impact_range = input("Light impact range (in tiles):") as num var/flash_range = input("Flash range (in tiles):") as num explosion(epicenter, devastation_range, heavy_impact_range, light_impact_range, flash_range) - message_admins("\blue [ckey] creating an admin explosion at [epicenter.loc].") + message_admins("[ckey] creating an admin explosion at [epicenter.loc].") feedback_add_details("admin_verb","DB") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc! /client/proc/give_disease2(mob/T as mob in mob_list) // -- Giacom @@ -651,7 +651,7 @@ var/list/admin_verbs_mentor = list( feedback_add_details("admin_verb","GD2") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc! log_admin("[key_name(usr)] gave [key_name(T)] a [greater] disease2 with infection chance [D.infectionchance].") - message_admins("\blue [key_name_admin(usr)] gave [key_name(T)] a [greater] disease2 with infection chance [D.infectionchance].", 1) + message_admins("[key_name_admin(usr)] gave [key_name(T)] a [greater] disease2 with infection chance [D.infectionchance].", 1) /client/proc/make_sound(var/obj/O in world) // -- TLE set category = "Special Verbs" @@ -664,7 +664,7 @@ var/list/admin_verbs_mentor = list( for (var/mob/V in hearers(O)) V.show_message(message, 2) log_admin("[key_name(usr)] made [O] at [O.x], [O.y], [O.z]. make a sound") - message_admins("\blue [key_name_admin(usr)] made [O] at [O.x], [O.y], [O.z]. make a sound", 1) + message_admins("[key_name_admin(usr)] made [O] at [O.x], [O.y], [O.z]. make a sound.", 1) feedback_add_details("admin_verb","MS") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc! @@ -698,7 +698,7 @@ var/list/admin_verbs_mentor = list( usr << "Disabled air processing." feedback_add_details("admin_verb","KA") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc! log_admin("[key_name(usr)] used 'kill air'.") - message_admins("\blue [key_name_admin(usr)] used 'kill air'.", 1) + message_admins("[key_name_admin(usr)] used 'kill air'.", 1) /client/proc/readmin_self() set name = "Re-Admin self" @@ -839,7 +839,7 @@ var/list/admin_verbs_mentor = list( var/mob/living/carbon/human/M = input("Select mob.", "Edit Appearance") as null|anything in human_mob_list if(!istype(M, /mob/living/carbon/human)) - usr << "\red You can only do this to humans!" + usr << "You can only do this to humans!" return switch(alert("Are you sure you wish to edit this mob's appearance? Skrell, Unathi, Tajaran can result in unintended consequences.",,"Yes","No")) if("No") @@ -959,7 +959,7 @@ var/list/admin_verbs_mentor = list( T << "Move on." log_admin("[key_name(usr)] told [key_name(T)] to man up and deal with it.") - message_admins("\blue [key_name_admin(usr)] told [key_name(T)] to man up and deal with it.", 1) + message_admins("[key_name_admin(usr)] told [key_name(T)] to man up and deal with it.", 1) /client/proc/global_man_up() set category = "Fun" @@ -971,7 +971,7 @@ var/list/admin_verbs_mentor = list( T << 'sound/voice/ManUp1.ogg' log_admin("[key_name(usr)] told everyone to man up and deal with it.") - message_admins("\blue [key_name_admin(usr)] told everyone to man up and deal with it.", 1) + message_admins("[key_name_admin(usr)] told everyone to man up and deal with it.", 1) /client/proc/give_spell(mob/T as mob in mob_list) // -- Urist set category = "Fun" @@ -982,4 +982,4 @@ var/list/admin_verbs_mentor = list( T.spell_list += new S feedback_add_details("admin_verb","GS") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc! log_admin("[key_name(usr)] gave [key_name(T)] the spell [S].") - message_admins("\blue [key_name_admin(usr)] gave [key_name(T)] the spell [S].", 1) + message_admins("[key_name_admin(usr)] gave [key_name(T)] the spell [S].", 1) diff --git a/code/modules/admin/permissionverbs/permissionedit.dm b/code/modules/admin/permissionverbs/permissionedit.dm index ccc3c8fd9f2..d0cc5518c76 100644 --- a/code/modules/admin/permissionverbs/permissionedit.dm +++ b/code/modules/admin/permissionverbs/permissionedit.dm @@ -85,14 +85,14 @@ insert_query.Execute() var/DBQuery/log_query = dbcon.NewQuery("INSERT INTO `test`.`erro_admin_log` (`id` ,`datetime` ,`adminckey` ,`adminip` ,`log` ) VALUES (NULL , NOW( ) , '[usr.ckey]', '[usr.client.address]', 'Added new admin [adm_ckey] to rank [new_rank]');") log_query.Execute() - usr << "\blue New admin added." + usr << "New admin added." else if(!isnull(admin_id) && isnum(admin_id)) var/DBQuery/insert_query = dbcon.NewQuery("UPDATE `erro_admin` SET rank = '[new_rank]' WHERE id = [admin_id]") insert_query.Execute() var/DBQuery/log_query = dbcon.NewQuery("INSERT INTO `test`.`erro_admin_log` (`id` ,`datetime` ,`adminckey` ,`adminip` ,`log` ) VALUES (NULL , NOW( ) , '[usr.ckey]', '[usr.client.address]', 'Edited the rank of [adm_ckey] to [new_rank]');") log_query.Execute() - usr << "\blue Admin rank changed." + usr << "Admin rank changed." /datum/admins/proc/log_admin_permission_modification(var/adm_ckey, var/new_permission) if(config.admin_legacy_system) return @@ -140,10 +140,10 @@ insert_query.Execute() var/DBQuery/log_query = dbcon.NewQuery("INSERT INTO `test`.`erro_admin_log` (`id` ,`datetime` ,`adminckey` ,`adminip` ,`log` ) VALUES (NULL , NOW( ) , '[usr.ckey]', '[usr.client.address]', 'Removed permission [rights2text(new_permission)] (flag = [new_permission]) to admin [adm_ckey]');") log_query.Execute() - usr << "\blue Permission removed." + usr << "Permission removed." else //This admin doesn't have this permission, so we are adding it. var/DBQuery/insert_query = dbcon.NewQuery("UPDATE `erro_admin` SET flags = '[admin_rights | new_permission]' WHERE id = [admin_id]") insert_query.Execute() var/DBQuery/log_query = dbcon.NewQuery("INSERT INTO `test`.`erro_admin_log` (`id` ,`datetime` ,`adminckey` ,`adminip` ,`log` ) VALUES (NULL , NOW( ) , '[usr.ckey]', '[usr.client.address]', 'Added permission [rights2text(new_permission)] (flag = [new_permission]) to admin [adm_ckey]')") log_query.Execute() - usr << "\blue Permission added." \ No newline at end of file + usr << "Permission added." \ No newline at end of file diff --git a/code/modules/admin/player_notes.dm b/code/modules/admin/player_notes.dm index b6293e7941d..dee9a693664 100644 --- a/code/modules/admin/player_notes.dm +++ b/code/modules/admin/player_notes.dm @@ -103,7 +103,7 @@ datum/admins/proc/notes_gethtml(var/ckey) infos += P info << infos - message_admins("\blue [key_name_admin(user)] has edited [key]'s notes.") + message_admins("[key_name_admin(user)] has edited [key]'s notes.") log_admin("[key_name(user)] has edited [key]'s notes.") del(info) // savefile, so NOT qdel @@ -128,7 +128,7 @@ datum/admins/proc/notes_gethtml(var/ckey) infos.Remove(item) info << infos - message_admins("\blue [key_name_admin(usr)] deleted one of [key]'s notes.") + message_admins("[key_name_admin(usr)] deleted one of [key]'s notes.") log_admin("[key_name(usr)] deleted one of [key]'s notes.") qdel(info) diff --git a/code/modules/admin/topic.dm b/code/modules/admin/topic.dm index a545bc1e87a..fde36a734c6 100644 --- a/code/modules/admin/topic.dm +++ b/code/modules/admin/topic.dm @@ -197,7 +197,7 @@ if (emergency_shuttle.can_call()) emergency_shuttle.call_evac() log_admin("[key_name(usr)] called the Emergency Shuttle") - message_admins("\blue [key_name_admin(usr)] called the Emergency Shuttle to the station", 1) + message_admins("[key_name_admin(usr)] called the Emergency Shuttle to the station.", 1) if("2") if (!( ticker ) || !emergency_shuttle.location()) @@ -205,12 +205,12 @@ if (emergency_shuttle.can_call()) emergency_shuttle.call_evac() log_admin("[key_name(usr)] called the Emergency Shuttle") - message_admins("\blue [key_name_admin(usr)] called the Emergency Shuttle to the station", 1) + message_admins("[key_name_admin(usr)] called the Emergency Shuttle to the station.", 1) else if (emergency_shuttle.can_recall()) emergency_shuttle.recall() log_admin("[key_name(usr)] sent the Emergency Shuttle back") - message_admins("\blue [key_name_admin(usr)] sent the Emergency Shuttle back", 1) + message_admins("[key_name_admin(usr)] sent the Emergency Shuttle back.", 1) href_list["secretsadmin"] = "check_antagonist" @@ -223,14 +223,14 @@ emergency_shuttle.launch_time = world.time + new_time_left*10 log_admin("[key_name(usr)] edited the Emergency Shuttle's launch time to [new_time_left]") - message_admins("\blue [key_name_admin(usr)] edited the Emergency Shuttle's launch time to [new_time_left*10]", 1) + message_admins("[key_name_admin(usr)] edited the Emergency Shuttle's launch time to [new_time_left*10]", 1) else if (emergency_shuttle.shuttle.has_arrive_time()) var/new_time_left = input("Enter new shuttle arrival time (seconds):","Edit Shuttle Arrival Time", emergency_shuttle.estimate_arrival_time() ) as num emergency_shuttle.shuttle.arrive_time = world.time + new_time_left*10 log_admin("[key_name(usr)] edited the Emergency Shuttle's arrival time to [new_time_left]") - message_admins("\blue [key_name_admin(usr)] edited the Emergency Shuttle's arrival time to [new_time_left*10]", 1) + message_admins("[key_name_admin(usr)] edited the Emergency Shuttle's arrival time to [new_time_left*10]", 1) else alert("The shuttle is neither counting down to launch nor is it in transit. Please try again when it is.") @@ -241,7 +241,7 @@ ticker.delay_end = !ticker.delay_end log_admin("[key_name(usr)] [ticker.delay_end ? "delayed the round end" : "has made the round end normally"].") - message_admins("\blue [key_name(usr)] [ticker.delay_end ? "delayed the round end" : "has made the round end normally"].", 1) + message_admins("[key_name(usr)] [ticker.delay_end ? "delayed the round end" : "has made the round end normally"].", 1) href_list["secretsadmin"] = "check_antagonist" else if(href_list["simplemake"]) @@ -259,7 +259,7 @@ if("Yes") delmob = 1 log_admin("[key_name(usr)] has used rudimentary transformation on [key_name(M)]. Transforming to [href_list["simplemake"]]; deletemob=[delmob]") - message_admins("\blue [key_name_admin(usr)] has used rudimentary transformation on [key_name_admin(M)]. Transforming to [href_list["simplemake"]]; deletemob=[delmob]", 1) + message_admins("[key_name_admin(usr)] has used rudimentary transformation on [key_name_admin(M)]. Transforming to [href_list["simplemake"]]; deletemob=[delmob]", 1) switch(href_list["simplemake"]) if("observer") M.change_mob_type( /mob/observer/dead , null, null, delmob ) @@ -339,7 +339,7 @@ log_admin("[key_name(usr)] edited [banned_key]'s ban. Reason: [reason] Duration: [duration]") ban_unban_log_save("[key_name(usr)] edited [banned_key]'s ban. Reason: [reason] Duration: [duration]") - message_admins("\blue [key_name_admin(usr)] edited [banned_key]'s ban. Reason: [reason] Duration: [duration]", 1) + message_admins("[key_name_admin(usr)] edited [banned_key]'s ban. Reason: [reason] Duration: [duration]", 1) Banlist.cd = "/base/[banfolder]" Banlist["reason"] << reason Banlist["temp"] << temp @@ -686,7 +686,7 @@ usr << " You Cannot issue temporary job-bans!" return if(config.ban_legacy_system) - usr << "\red Your server is using the legacy banning system, which does not support temporary job bans. Consider upgrading. Aborting ban." + usr << "Your server is using the legacy banning system, which does not support temporary job bans. Consider upgrading. Aborting ban." return var/mins = input(usr,"How long (in minutes)?","Ban time",1440) as num|null if(!mins) @@ -711,10 +711,10 @@ else msg += ", [job]" notes_add(M.ckey, "Banned from [msg] - [reason]", usr) - message_admins("\blue [key_name_admin(usr)] banned [key_name_admin(M)] from [msg] for [mins] minutes", 1) - M << "\redYou have been jobbanned by [usr.client.ckey] from: [msg]." - M << "\red The reason is: [reason]" - M << "\red This jobban will be lifted in [mins] minutes." + message_admins("[key_name_admin(usr)] banned [key_name_admin(M)] from [msg] for [mins] minutes", 1) + M << "You have been jobbanned by [usr.client.ckey] from: [msg]." + M << "The reason is: [reason]" + M << "This jobban will be lifted in [mins] minutes." href_list["jobban2"] = 1 // lets it fall through and refresh return 1 if("No") @@ -732,10 +732,10 @@ if(!msg) msg = job else msg += ", [job]" notes_add(M.ckey, "Banned from [msg] - [reason]", usr) - message_admins("\blue [key_name_admin(usr)] banned [key_name_admin(M)] from [msg]", 1) - M << "\redYou have been jobbanned by [usr.client.ckey] from: [msg]." - M << "\red The reason is: [reason]" - M << "\red Jobban can be lifted only upon request." + message_admins("[key_name_admin(usr)] banned [key_name_admin(M)] from [msg]", 1) + M << "You have been jobbanned by [usr.client.ckey] from: [msg]." + M << "The reason is: [reason]" + M << "Jobban can be lifted only upon request." href_list["jobban2"] = 1 // lets it fall through and refresh return 1 if("Cancel") @@ -765,8 +765,8 @@ else continue if(msg) - message_admins("\blue [key_name_admin(usr)] unbanned [key_name_admin(M)] from [msg]", 1) - M << "\redYou have been un-jobbanned by [usr.client.ckey] from [msg]." + message_admins("[key_name_admin(usr)] unbanned [key_name_admin(M)] from [msg]", 1) + M << "You have been un-jobbanned by [usr.client.ckey] from [msg]." href_list["jobban2"] = 1 // lets it fall through and refresh return 1 return 0 //we didn't do anything! @@ -778,11 +778,11 @@ return var/reason = sanitize(input("Please enter reason")) if(!reason) - M << "\red You have been kicked from the server" + M << "You have been kicked from the server" else - M << "\red You have been kicked from the server: [reason]" + M << "You have been kicked from the server: [reason]" log_admin("[key_name(usr)] booted [key_name(M)].") - message_admins("\blue [key_name_admin(usr)] booted [key_name_admin(M)].", 1) + message_admins("[key_name_admin(usr)] booted [key_name_admin(M)].", 1) //M.client = null qdel(M.client) @@ -793,7 +793,7 @@ if(t) if((alert("Do you want to unjobban [t]?","Unjobban confirmation", "Yes", "No") == "Yes") && t) //No more misclicks! Unless you do it twice. log_admin("[key_name(usr)] removed [t]") - message_admins("\blue [key_name_admin(usr)] removed [t]", 1) + message_admins("[key_name_admin(usr)] removed [t]", 1) jobban_remove(t) href_list["ban"] = 1 // lets it fall through and refresh var/t_split = splittext(t, " - ") @@ -830,17 +830,17 @@ AddBan(M.ckey, M.computer_id, reason, usr.ckey, 1, mins) ban_unban_log_save("[usr.client.ckey] has banned [M.ckey]. - Reason: [reason] - This will be removed in [mins] minutes.") notes_add(M.ckey,"[usr.client.ckey] has banned [M.ckey]. - Reason: [reason] - This will be removed in [mins] minutes.",usr) - M << "\redYou have been banned by [usr.client.ckey].\nReason: [reason]." - M << "\red This is a temporary ban, it will be removed in [mins] minutes." + M << "You have been banned by [usr.client.ckey].\nReason: [reason]." + M << "This is a temporary ban, it will be removed in [mins] minutes." feedback_inc("ban_tmp",1) DB_ban_record(BANTYPE_TEMP, M, mins, reason) feedback_inc("ban_tmp_mins",mins) if(config.banappeals) - M << "\red To try to resolve this matter head to [config.banappeals]" + M << "To try to resolve this matter head to [config.banappeals]" else - M << "\red No ban appeals URL has been set." + M << "No ban appeals URL has been set." log_admin("[usr.client.ckey] has banned [M.ckey].\nReason: [reason]\nThis will be removed in [mins] minutes.") - message_admins("\blue[usr.client.ckey] has banned [M.ckey].\nReason: [reason]\nThis will be removed in [mins] minutes.") + message_admins("[usr.client.ckey] has banned [M.ckey].\nReason: [reason]\nThis will be removed in [mins] minutes.") qdel(M.client) //qdel(M) // See no reason why to delete mob. Important stuff can be lost. And ban can be lifted before round ends. @@ -855,16 +855,16 @@ AddBan(M.ckey, M.computer_id, reason, usr.ckey, 0, 0, M.lastKnownIP) if("No") AddBan(M.ckey, M.computer_id, reason, usr.ckey, 0, 0) - M << "\redYou have been banned by [usr.client.ckey].\nReason: [reason]." - M << "\red This is a permanent ban." + M << "You have been banned by [usr.client.ckey].\nReason: [reason]." + M << "This is a permanent ban." if(config.banappeals) - M << "\red To try to resolve this matter head to [config.banappeals]" + M << "To try to resolve this matter head to [config.banappeals]" else - M << "\red No ban appeals URL has been set." + M << "No ban appeals URL has been set." ban_unban_log_save("[usr.client.ckey] has permabanned [M.ckey]. - Reason: [reason] - This is a permanent ban.") notes_add(M.ckey,"[usr.client.ckey] has permabanned [M.ckey]. - Reason: [reason] - This is a permanent ban.",usr) log_admin("[usr.client.ckey] has banned [M.ckey].\nReason: [reason]\nThis is a permanent ban.") - message_admins("\blue[usr.client.ckey] has banned [M.ckey].\nReason: [reason]\nThis is a permanent ban.") + message_admins("[usr.client.ckey] has banned [M.ckey].\nReason: [reason]\nThis is a permanent ban.") feedback_inc("ban_perma",1) DB_ban_record(BANTYPE_PERMA, M, -1, reason) @@ -920,8 +920,8 @@ return alert(usr, "The game has already started.", null, null, null, null) master_mode = href_list["c_mode2"] log_admin("[key_name(usr)] set the mode as [config.mode_names[master_mode]].") - message_admins("\blue [key_name_admin(usr)] set the mode as [config.mode_names[master_mode]].", 1) - world << "\blue The mode is now: [config.mode_names[master_mode]]" + message_admins("[key_name_admin(usr)] set the mode as [config.mode_names[master_mode]].", 1) + world << "The mode is now: [config.mode_names[master_mode]]" Game() // updates the main game menu world.save_mode(master_mode) .(href, list("c_mode"=1)) @@ -935,7 +935,7 @@ return alert(usr, "The game mode has to be secret!", null, null, null, null) secret_force_mode = href_list["f_secret2"] log_admin("[key_name(usr)] set the forced secret mode as [secret_force_mode].") - message_admins("\blue [key_name_admin(usr)] set the forced secret mode as [secret_force_mode].", 1) + message_admins("[key_name_admin(usr)] set the forced secret mode as [secret_force_mode].", 1) Game() // updates the main game menu .(href, list("f_secret"=1)) @@ -948,7 +948,7 @@ return log_admin("[key_name(usr)] attempting to monkeyize [key_name(H)]") - message_admins("\blue [key_name_admin(usr)] attempting to monkeyize [key_name_admin(H)]", 1) + message_admins("[key_name_admin(usr)] attempting to monkeyize [key_name_admin(H)]", 1) H.monkeyize() else if(href_list["corgione"]) @@ -960,7 +960,7 @@ return log_admin("[key_name(usr)] attempting to corgize [key_name(H)]") - message_admins("\blue [key_name_admin(usr)] attempting to corgize [key_name_admin(H)]", 1) + message_admins("[key_name_admin(usr)] attempting to corgize [key_name_admin(H)]", 1) H.corgize() else if(href_list["forcespeech"]) @@ -975,7 +975,7 @@ M.say(speech) speech = sanitize(speech) // Nah, we don't trust them log_admin("[key_name(usr)] forced [key_name(M)] to say: [speech]") - message_admins("\blue [key_name_admin(usr)] forced [key_name_admin(M)] to say: [speech]") + message_admins("[key_name_admin(usr)] forced [key_name_admin(M)] to say: [speech]") else if(href_list["sendtoprison"]) if(!check_rights(R_ADMIN)) return @@ -1014,9 +1014,9 @@ prisoner.equip_to_slot_or_del(new /obj/item/clothing/under/color/orange(prisoner), slot_w_uniform) prisoner.equip_to_slot_or_del(new /obj/item/clothing/shoes/orange(prisoner), slot_shoes) - M << "\red You have been sent to the prison station!" + M << "You have been sent to the prison station!" log_admin("[key_name(usr)] sent [key_name(M)] to the prison station.") - message_admins("\blue [key_name_admin(usr)] sent [key_name_admin(M)] to the prison station.", 1) + message_admins("[key_name_admin(usr)] sent [key_name_admin(M)] to the prison station.", 1) else if(href_list["tdome1"]) if(!check_rights(R_FUN)) return @@ -1039,7 +1039,7 @@ sleep(5) M.loc = pick(tdome1) spawn(50) - M << "\blue You have been sent to the Thunderdome." + M << "You have been sent to the Thunderdome." log_admin("[key_name(usr)] has sent [key_name(M)] to the thunderdome. (Team 1)") message_admins("[key_name_admin(usr)] has sent [key_name_admin(M)] to the thunderdome. (Team 1)", 1) @@ -1064,7 +1064,7 @@ sleep(5) M.loc = pick(tdome2) spawn(50) - M << "\blue You have been sent to the Thunderdome." + M << "You have been sent to the Thunderdome." log_admin("[key_name(usr)] has sent [key_name(M)] to the thunderdome. (Team 2)") message_admins("[key_name_admin(usr)] has sent [key_name_admin(M)] to the thunderdome. (Team 2)", 1) @@ -1086,7 +1086,7 @@ sleep(5) M.loc = pick(tdomeadmin) spawn(50) - M << "\blue You have been sent to the Thunderdome." + M << "You have been sent to the Thunderdome." log_admin("[key_name(usr)] has sent [key_name(M)] to the thunderdome. (Admin.)") message_admins("[key_name_admin(usr)] has sent [key_name_admin(M)] to the thunderdome. (Admin.)", 1) @@ -1115,7 +1115,7 @@ sleep(5) M.loc = pick(tdomeobserve) spawn(50) - M << "\blue You have been sent to the Thunderdome." + M << "You have been sent to the Thunderdome." log_admin("[key_name(usr)] has sent [key_name(M)] to the thunderdome. (Observer.)") message_admins("[key_name_admin(usr)] has sent [key_name_admin(M)] to the thunderdome. (Observer.)", 1) @@ -1129,7 +1129,7 @@ if(config.allow_admin_rev) L.revive() - message_admins("\red Admin [key_name_admin(usr)] healed / revived [key_name_admin(L)]!", 1) + message_admins("Admin [key_name_admin(usr)] healed / revived [key_name_admin(L)]!", 1) log_admin("[key_name(usr)] healed / Rrvived [key_name(L)]") else usr << "Admin Rejuvinates have been disabled" @@ -1142,7 +1142,7 @@ usr << "This can only be used on instances of type /mob/living/carbon/human" return - message_admins("\red Admin [key_name_admin(usr)] AIized [key_name_admin(H)]!", 1) + message_admins("Admin [key_name_admin(usr)] AIized [key_name_admin(H)]!", 1) log_admin("[key_name(usr)] AIized [key_name(H)]") H.AIize() @@ -1317,7 +1317,7 @@ log_admin("[key_name(H)] got their cookie, spawned by [key_name(src.owner)]") message_admins("[key_name(H)] got their cookie, spawned by [key_name(src.owner)]") feedback_inc("admin_cookies_spawned",1) - H << "\blue Your prayers have been answered!! You received the best cookie!" + H << "Your prayers have been answered!! You received the best cookie!" else if(href_list["BlueSpaceArtillery"]) if(!check_rights(R_ADMIN|R_FUN)) return @@ -1421,7 +1421,7 @@ usr << browse(data, "window=[B.name]") else - usr << "\red The faxed item is not viewable. This is probably a bug, and should be reported on the tracker: [fax.type]" + usr << "The faxed item is not viewable. This is probably a bug, and should be reported on the tracker: [fax.type]" else if (href_list["AdminFaxViewPage"]) var/page = text2num(href_list["AdminFaxViewPage"]) diff --git a/code/modules/admin/verbs/mapping.dm b/code/modules/admin/verbs/mapping.dm index 5661097aab7..5738d75779d 100644 --- a/code/modules/admin/verbs/mapping.dm +++ b/code/modules/admin/verbs/mapping.dm @@ -217,7 +217,7 @@ var/list/debug_verbs = list ( var/turf/simulated/location = get_turf(usr) if(!istype(location, /turf/simulated)) // We're in space, let's not cause runtimes. - usr << "\red this debug tool cannot be used from space" + usr << "this debug tool cannot be used from space" return var/icon/red = new('icons/misc/debug_group.dmi', "red") //created here so we don't have to make thousands of these. @@ -368,7 +368,7 @@ var/global/prevent_airgroup_regroup = 0 set category = "Mapping" set name = "Regroup All Airgroups Attempt" - usr << "\red Proc disabled." + usr << "Proc disabled." //Why not.. Delete the procs instead? /*prevent_airgroup_regroup = 0 for(var/datum/air_group/AG in air_master.air_groups) @@ -379,7 +379,7 @@ var/global/prevent_airgroup_regroup = 0 set category = "Mapping" set name = "Kill pipe processing" - usr << "\red Proc disabled." + usr << "Proc disabled." /*pipe_processing_killed = !pipe_processing_killed if(pipe_processing_killed) @@ -391,7 +391,7 @@ var/global/prevent_airgroup_regroup = 0 set category = "Mapping" set name = "Kill air processing" - usr << "\red Proc disabled." + usr << "Proc disabled." /*air_processing_killed = !air_processing_killed if(air_processing_killed) @@ -405,7 +405,7 @@ var/global/say_disabled = 0 set category = "Mapping" set name = "Disable all communication verbs" - usr << "\red Proc disabled." + usr << "Proc disabled." /*say_disabled = !say_disabled if(say_disabled) @@ -420,7 +420,7 @@ var/global/movement_disabled_exception //This is the client that calls the proc, set category = "Mapping" set name = "Disable all movement" - usr << "\red Proc disabled." + usr << "Proc disabled." /*movement_disabled = !movement_disabled if(movement_disabled) diff --git a/code/modules/admin/verbs/tripAI.dm b/code/modules/admin/verbs/tripAI.dm index 5e5ccbb1237..8cf88aa1273 100644 --- a/code/modules/admin/verbs/tripAI.dm +++ b/code/modules/admin/verbs/tripAI.dm @@ -14,9 +14,9 @@ if(ticker.triai) ticker.triai = 0 usr << "Only one AI will be spawned at round start." - message_admins("\blue [key_name_admin(usr)] has toggled off triple AIs at round start.", 1) + message_admins("[key_name_admin(usr)] has toggled off triple AIs at round start.", 1) else ticker.triai = 1 usr << "There will be an AI Triumvirate at round start." - message_admins("\blue [key_name_admin(usr)] has toggled on triple AIs at round start.", 1) + message_admins("[key_name_admin(usr)] has toggled on triple AIs at round start.", 1) return diff --git a/code/modules/assembly/mousetrap.dm b/code/modules/assembly/mousetrap.dm index 387d555130a..e45c6d8beb5 100644 --- a/code/modules/assembly/mousetrap.dm +++ b/code/modules/assembly/mousetrap.dm @@ -41,7 +41,7 @@ H.updatehealth() else if(ismouse(target)) var/mob/living/simple_animal/mouse/M = target - visible_message("\red SPLAT!") + visible_message("SPLAT!") M.splat() playsound(target.loc, 'sound/effects/snap.ogg', 50, 1) layer = MOB_LAYER - 0.2 diff --git a/code/modules/awaymissions/gateway.dm b/code/modules/awaymissions/gateway.dm index 04c255b94eb..d1070e5c321 100644 --- a/code/modules/awaymissions/gateway.dm +++ b/code/modules/awaymissions/gateway.dm @@ -133,7 +133,7 @@ obj/machinery/gateway/centerstation/process() /obj/machinery/gateway/centerstation/attackby(obj/item/device/W as obj, mob/user as mob) if(istype(W,/obj/item/device/multitool)) - user << "\black The gate is already calibrated, there is no work for you to do here." + user << "The gate is already calibrated, there is no work for you to do here." return /////////////////////////////////////Away//////////////////////// @@ -219,7 +219,7 @@ obj/machinery/gateway/centerstation/process() if(istype(M, /mob/living/carbon)) for(var/obj/item/weapon/implant/exile/E in M)//Checking that there is an exile implant in the contents if(E.imp_in == M)//Checking that it's actually implanted vs just in their pocket - M << "\black The station gate has detected your exile implant and is blocking your entry." + M << "The station gate has detected your exile implant and is blocking your entry." return M.loc = get_step(stationgate.loc, SOUTH) M.set_dir(SOUTH) @@ -228,9 +228,9 @@ obj/machinery/gateway/centerstation/process() /obj/machinery/gateway/centeraway/attackby(obj/item/device/W as obj, mob/user as mob) if(istype(W,/obj/item/device/multitool)) if(calibrated) - user << "\black The gate is already calibrated, there is no work for you to do here." + user << "The gate is already calibrated, there is no work for you to do here." return else - user << "\blue Recalibration successful!: \black This gate's systems have been fine tuned. Travel to this gate will now be on target." + user << "Recalibration successful!: This gate's systems have been fine tuned. Travel to this gate will now be on target." calibrated = 1 return \ No newline at end of file diff --git a/code/modules/blob/blob.dm b/code/modules/blob/blob.dm index d52e6a256e5..e06d688f326 100644 --- a/code/modules/blob/blob.dm +++ b/code/modules/blob/blob.dm @@ -74,6 +74,9 @@ if(GR) qdel(GR) return + for(var/obj/structure/reagent_dispensers/fueltank/Fuel in T) + Fuel.ex_act(2) + return for(var/obj/machinery/door/D in T) // There can be several - and some of them can be open, locate() is not suitable if(D.density) D.ex_act(2) diff --git a/code/modules/busy_space/organizations.dm b/code/modules/busy_space/organizations.dm index 84f694d2ef4..68226189c83 100644 --- a/code/modules/busy_space/organizations.dm +++ b/code/modules/busy_space/organizations.dm @@ -253,7 +253,10 @@ "Are You Feeling It", "Great White Snark", "No Shirt No Shoes", - "Callsign" + "Callsign", + "Three Ships in a Trenchcoat", + "Not Wearing Pants", + "Ridiculous Naming Convention" ) diff --git a/code/modules/client/client procs.dm b/code/modules/client/client procs.dm index d6f9375e984..d085e5cec0d 100644 --- a/code/modules/client/client procs.dm +++ b/code/modules/client/client procs.dm @@ -110,7 +110,7 @@ src.preload_rsc = pick(config.resource_urls) else src.preload_rsc = 1 // If config.resource_urls is not set, preload like normal. - src << "\red If the title screen is black, resources are still downloading. Please be patient until the title screen appears." + src << "If the title screen is black, resources are still downloading. Please be patient until the title screen appears." clients += src diff --git a/code/modules/clothing/clothing.dm b/code/modules/clothing/clothing.dm index e3d781df297..a14f0b7a5c0 100644 --- a/code/modules/clothing/clothing.dm +++ b/code/modules/clothing/clothing.dm @@ -69,7 +69,7 @@ //Set species_restricted list switch(target_species) if("Human", "Skrell") //humanoid bodytypes - species_restricted = list("Human", "Skrell") //skrell/humans can wear each other's suits + species_restricted = list("Human", "Skrell", "Promethean") //skrell/humans can wear each other's suits else species_restricted = list(target_species) @@ -91,7 +91,7 @@ //Set species_restricted list switch(target_species) if("Skrell") - species_restricted = list("Human", "Skrell") //skrell helmets fit humans too + species_restricted = list("Human", "Skrell", "Promethean") //skrell helmets fit humans too else species_restricted = list(target_species) @@ -214,7 +214,7 @@ return playsound(src.loc, 'sound/items/Wirecutter.ogg', 100, 1) - user.visible_message("\red [user] cuts the fingertips off of the [src].","\red You cut the fingertips off of the [src].") + user.visible_message("[user] cuts the fingertips off of the [src].","You cut the fingertips off of the [src].") clipped = 1 name = "modified [name]" diff --git a/code/modules/clothing/head/misc.dm b/code/modules/clothing/head/misc.dm index 89dde52fbca..cc3f2765666 100644 --- a/code/modules/clothing/head/misc.dm +++ b/code/modules/clothing/head/misc.dm @@ -154,7 +154,7 @@ siemens_coefficient = 0.9 //...what? /obj/item/clothing/head/flatcap/grey - icon_state = "flat_capg" + icon_state = "flat_capw" item_state_slots = list(slot_r_hand_str = "greysoft", slot_l_hand_str = "greysoft") /obj/item/clothing/head/pirate diff --git a/code/modules/clothing/spacesuits/spacesuits.dm b/code/modules/clothing/spacesuits/spacesuits.dm index 9122a6d8bdf..01c1861448b 100644 --- a/code/modules/clothing/spacesuits/spacesuits.dm +++ b/code/modules/clothing/spacesuits/spacesuits.dm @@ -31,7 +31,7 @@ camera = new /obj/machinery/camera(src) camera.replace_networks(camera_networks) camera.c_tag = user.name - user << "\blue User scanned as [camera.c_tag]. Camera activated." + user << "User scanned as [camera.c_tag]. Camera activated." user.update_action_buttons() return 1 diff --git a/code/modules/clothing/spacesuits/void/void.dm b/code/modules/clothing/spacesuits/void/void.dm index d1b4a06d232..685cef77941 100644 --- a/code/modules/clothing/spacesuits/void/void.dm +++ b/code/modules/clothing/spacesuits/void/void.dm @@ -11,7 +11,7 @@ // flags_inv = HIDEEARS|BLOCKHAIR //Species-specific stuff. - species_restricted = list("Human") + species_restricted = list("Human", "Promethean") sprite_sheets_refit = list( "Unathi" = 'icons/mob/species/unathi/helmet.dmi', "Tajara" = 'icons/mob/species/tajaran/helmet.dmi', @@ -38,7 +38,7 @@ heat_protection = UPPER_TORSO|LOWER_TORSO|LEGS|FEET|ARMS|HANDS max_heat_protection_temperature = SPACE_SUIT_MAX_HEAT_PROTECTION_TEMPERATURE - species_restricted = list("Human", "Skrell") + species_restricted = list("Human", "Skrell", "Promethean") sprite_sheets_refit = list( "Unathi" = 'icons/mob/species/unathi/suit.dmi', "Tajara" = 'icons/mob/species/tajaran/suit.dmi', diff --git a/code/modules/clothing/suits/armor.dm b/code/modules/clothing/suits/armor.dm index 64d01077ed6..68b656f0d72 100644 --- a/code/modules/clothing/suits/armor.dm +++ b/code/modules/clothing/suits/armor.dm @@ -197,10 +197,10 @@ /obj/item/clothing/suit/armor/reactive/attack_self(mob/user as mob) active = !( active ) if (active) - user << "\blue The reactive armor is now active." + user << "The reactive armor is now active." icon_state = "reactive" else - user << "\blue The reactive armor is now inactive." + user << "The reactive armor is now inactive." icon_state = "reactiveoff" add_fingerprint(user) return diff --git a/code/modules/detectivework/microscope/dnascanner.dm b/code/modules/detectivework/microscope/dnascanner.dm index 3d442dfb4ab..0c54df03978 100644 --- a/code/modules/detectivework/microscope/dnascanner.dm +++ b/code/modules/detectivework/microscope/dnascanner.dm @@ -127,7 +127,7 @@ if(bloodsamp.dna != null) data = "Spectometric analysis on provided sample has determined the presence of [bloodsamp.dna.len] strings of DNA.

    " for(var/blood in bloodsamp.dna) - data += "\blue Blood type: [bloodsamp.dna[blood]]
    \nDNA: [blood]

    " + data += "Blood type: [bloodsamp.dna[blood]]
    \nDNA: [blood]

    " else data += "No DNA found.
    " P.info = "[src] analysis report #[report_num]
    " diff --git a/code/modules/economy/cash.dm b/code/modules/economy/cash.dm index 5d5790758a0..af67dfb4270 100644 --- a/code/modules/economy/cash.dm +++ b/code/modules/economy/cash.dm @@ -156,4 +156,4 @@ proc/spawn_money(var/sum, spawnloc, mob/living/carbon/human/human_user as mob) /obj/item/weapon/spacecash/ewallet/examine(mob/user) ..(user) if (!(user in view(2)) && user!=src.loc) return - user << "\blue Charge card's owner: [src.owner_name]. Thalers remaining: [src.worth]." + user << "Charge card's owner: [src.owner_name]. Thalers remaining: [src.worth]." diff --git a/code/modules/economy/economy_misc.dm b/code/modules/economy/economy_misc.dm index e6862650e30..78c9e7d012e 100644 --- a/code/modules/economy/economy_misc.dm +++ b/code/modules/economy/economy_misc.dm @@ -48,12 +48,13 @@ /var/list/economic_species_modifier = list( - /datum/species/human = 10, - /datum/species/skrell = 12, - /datum/species/teshari = 9, // Skrell sponsored, - /datum/species/tajaran = 7, - /datum/species/unathi = 7, - /datum/species/diona = 7 + /datum/species/human = 10, + /datum/species/skrell = 12, + /datum/species/teshari = 9, // Skrell sponsored, + /datum/species/tajaran = 7, + /datum/species/unathi = 7, + /datum/species/diona = 7, + /datum/species/shapeshifter/promethean = 3 ) //---- The following corporations are friendly with NanoTrasen and loosely enable trade and travel: diff --git a/code/modules/flufftext/Dreaming.dm b/code/modules/flufftext/Dreaming.dm index 1d0e219b18c..ede0f93265c 100644 --- a/code/modules/flufftext/Dreaming.dm +++ b/code/modules/flufftext/Dreaming.dm @@ -19,7 +19,7 @@ mob/living/carbon/proc/dream() spawn(0) for(var/i = rand(1,4),i > 0, i--) - src << "\blue ... [pick(dreams)] ..." + src << "... [pick(dreams)] ..." sleep(rand(40,70)) if(paralysis <= 0) dreaming = 0 diff --git a/code/modules/holodeck/HolodeckControl.dm b/code/modules/holodeck/HolodeckControl.dm index 821b3ae65c2..cfffe2282fb 100644 --- a/code/modules/holodeck/HolodeckControl.dm +++ b/code/modules/holodeck/HolodeckControl.dm @@ -296,7 +296,7 @@ if(world.time < (last_change + 15))//To prevent super-spam clicking, reduced process size and annoyance -Sieve return 0 for(var/mob/M in range(3,src)) - M.show_message("\b ERROR. Recalibrating projection apparatus.") + M.show_message("ERROR. Recalibrating projection apparatus.") last_change = world.time return 0 @@ -357,7 +357,7 @@ if(world.time < (last_gravity_change + 15))//To prevent super-spam clicking return for(var/mob/M in range(3,src)) - M.show_message("\b ERROR. Recalibrating gravity field.") + M.show_message("ERROR. Recalibrating gravity field.") last_change = world.time return diff --git a/code/modules/integrated_electronics/_defines.dm b/code/modules/integrated_electronics/_defines.dm index 47a5e40b22f..104b867532d 100644 --- a/code/modules/integrated_electronics/_defines.dm +++ b/code/modules/integrated_electronics/_defines.dm @@ -2,19 +2,44 @@ #define IC_OUTPUT "output" #define IC_ACTIVATOR "activator" +// Pin functionality. #define DATA_CHANNEL "data channel" #define PULSE_CHANNEL "pulse channel" -#define IC_SPAWN_DEFAULT 1 // If the circuit comes in the default circuit box. -#define IC_SPAWN_RESEARCH 2 // If the circuit design will be autogenerated for RnD. +// Methods of obtaining a circuit. +#define IC_SPAWN_DEFAULT 1 // If the circuit comes in the default circuit box and able to be printed in the IC printer. +#define IC_SPAWN_RESEARCH 2 // If the circuit design will be available in the IC printer after upgrading it. +// Displayed along with the pin name to show what type of pin it is. +#define IC_FORMAT_ANY "\" #define IC_FORMAT_STRING "\" +#define IC_FORMAT_CHAR "\" +#define IC_FORMAT_COLOR "\" #define IC_FORMAT_NUMBER "\" +#define IC_FORMAT_DIR "\" +#define IC_FORMAT_BOOLEAN "\" #define IC_FORMAT_REF "\" #define IC_FORMAT_LIST "\" -#define IC_FORMAT_ANY "\" + #define IC_FORMAT_PULSE "\" +// Used inside input/output list to tell the constructor what pin to make. +#define IC_PINTYPE_ANY /datum/integrated_io +#define IC_PINTYPE_STRING /datum/integrated_io/string +#define IC_PINTYPE_CHAR /datum/integrated_io/char +#define IC_PINTYPE_COLOR /datum/integrated_io/color +#define IC_PINTYPE_NUMBER /datum/integrated_io/number +#define IC_PINTYPE_DIR /datum/integrated_io/dir +#define IC_PINTYPE_BOOLEAN /datum/integrated_io/boolean +#define IC_PINTYPE_REF /datum/integrated_io/ref +#define IC_PINTYPE_LIST /datum/integrated_io/list + +#define IC_PINTYPE_PULSE_IN /datum/integrated_io/activate +#define IC_PINTYPE_PULSE_OUT /datum/integrated_io/activate/out + +// Data limits. +#define IC_MAX_LIST_LENGTH 200 + var/list/all_integrated_circuits = list() /proc/initialize_integrated_circuits_list() @@ -30,8 +55,10 @@ var/list/all_integrated_circuits = list() var/obj/item/device/electronic_assembly/assembly = null // Reference to the assembly holding this circuit, if any. var/extended_desc = null var/list/inputs = list() + var/list/inputs_default = list() // Assoc list which will fill a pin with data upon creation. e.g. "2" = 0 will set input pin 2 to equal 0 instead of null. var/list/outputs = list() - var/list/activators = list() //associated_list, = 1 for inbound, = 0 for outbound + var/list/outputs_default = list() // Ditto, for output. + var/list/activators = list() var/next_use = 0 //Uses world.time var/complexity = 1 //This acts as a limitation on building machines, more resource-intensive components cost more 'space'. var/size = null //This acts as a limitation on building machines, bigger components cost more 'space'. -1 for size 0 @@ -40,7 +67,6 @@ var/list/all_integrated_circuits = list() var/power_draw_idle = 0 // How much power is drawn when doing nothing. var/spawn_flags = null // Used for world initializing, see the #defines above. var/category_text = "NO CATEGORY THIS IS A BUG" // To show up on circuit printer, and perhaps other places. - var/autopulse = -1 // When input is received, the circuit will pulse itself if set to 1. 0 means it won't. -1 means it is permanently off. var/removable = TRUE // Determines if a circuit is removable from the assembly. var/displayed_name = "" var/allow_multitool = 1 // Allows additional multitool functionality diff --git a/code/modules/integrated_electronics/core/assemblies.dm b/code/modules/integrated_electronics/core/assemblies.dm index a4d292488d6..b66c6b8b2dc 100644 --- a/code/modules/integrated_electronics/core/assemblies.dm +++ b/code/modules/integrated_electronics/core/assemblies.dm @@ -3,7 +3,7 @@ /obj/item/device/electronic_assembly name = "electronic assembly" - desc = "It's a case, for building electronics with." + desc = "It's a case, for building small electronics with." w_class = ITEMSIZE_SMALL icon = 'icons/obj/electronic_assemblies.dmi' icon_state = "setup_small" @@ -17,6 +17,7 @@ /obj/item/device/electronic_assembly/medium name = "electronic mechanism" icon_state = "setup_medium" + desc = "It's a case, for building medium-sized electronics with." w_class = ITEMSIZE_NORMAL max_components = IC_COMPONENTS_BASE * 2 max_complexity = IC_COMPLEXITY_BASE * 2 @@ -24,6 +25,7 @@ /obj/item/device/electronic_assembly/large name = "electronic machine" icon_state = "setup_large" + desc = "It's a case, for building large electronics with." w_class = ITEMSIZE_LARGE max_components = IC_COMPONENTS_BASE * 4 max_complexity = IC_COMPLEXITY_BASE * 4 @@ -31,6 +33,7 @@ /obj/item/device/electronic_assembly/drone name = "electronic drone" icon_state = "setup_drone" + desc = "It's a case, for building mobile electronics with." w_class = ITEMSIZE_NORMAL max_components = IC_COMPONENTS_BASE * 1.5 max_complexity = IC_COMPLEXITY_BASE * 1.5 @@ -38,9 +41,10 @@ /obj/item/device/electronic_assembly/implant name = "electronic implant" icon_state = "setup_implant" + desc = "It's a case, for building very tiny electronics with." w_class = ITEMSIZE_TINY - max_components = IC_COMPONENTS_BASE / 4 - max_complexity = IC_COMPLEXITY_BASE / 4 + max_components = IC_COMPONENTS_BASE / 2 + max_complexity = IC_COMPLEXITY_BASE / 2 var/obj/item/weapon/implant/integrated_circuit/implant = null /obj/item/device/electronic_assembly/New() diff --git a/code/modules/integrated_electronics/core/helpers.dm b/code/modules/integrated_electronics/core/helpers.dm index 49779a4993e..edfa6b1a86c 100644 --- a/code/modules/integrated_electronics/core/helpers.dm +++ b/code/modules/integrated_electronics/core/helpers.dm @@ -1,8 +1,22 @@ -/obj/item/integrated_circuit/proc/setup_io(var/list/io_list, var/io_type) +/obj/item/integrated_circuit/proc/setup_io(var/list/io_list, var/io_type, var/list/io_default_list) var/list/io_list_copy = io_list.Copy() io_list.Cut() + var/i = 0 for(var/io_entry in io_list_copy) - io_list.Add(new io_type(src, io_entry, io_list_copy[io_entry])) + var/default_data = null + var/io_type_override = null + // Override the default data. + if(io_default_list && io_default_list.len) // List containing special pin types that need to be added. + default_data = io_default_list["[i]"] // This is deliberately text because the index is a number in text form. + // Override the pin type. + if(io_list_copy[io_entry]) + io_type_override = io_list_copy[io_entry] + + if(io_type_override) + // world << "io_type_override is now [io_type_override] on [src]." + io_list.Add(new io_type_override(src, io_entry, default_data)) + else + io_list.Add(new io_type(src, io_entry, default_data)) /obj/item/integrated_circuit/proc/set_pin_data(var/pin_type, var/pin_number, var/new_data) var/datum/integrated_io/pin = get_pin_ref(pin_type, pin_number) diff --git a/code/modules/integrated_electronics/core/integrated_circuit.dm b/code/modules/integrated_electronics/core/integrated_circuit.dm index 7c2a8100eaf..08a31529087 100644 --- a/code/modules/integrated_electronics/core/integrated_circuit.dm +++ b/code/modules/integrated_electronics/core/integrated_circuit.dm @@ -11,10 +11,10 @@ a creative player the means to solve many problems. Circuits are held inside an // This should be used when someone is examining while the case is opened. /obj/item/integrated_circuit/proc/internal_examine(mob/user) to_chat(user, "This board has [inputs.len] input pin\s, [outputs.len] output pin\s and [activators.len] activation pin\s.") - for(var/datum/integrated_io/input/I in inputs) + for(var/datum/integrated_io/I in inputs) if(I.linked.len) to_chat(user, "The '[I]' is connected to [I.get_linked_to_desc()].") - for(var/datum/integrated_io/output/O in outputs) + for(var/datum/integrated_io/O in outputs) if(O.linked.len) to_chat(user, "The '[O]' is connected to [O.get_linked_to_desc()].") for(var/datum/integrated_io/activate/A in activators) @@ -34,8 +34,8 @@ a creative player the means to solve many problems. Circuits are held inside an displayed_name = name if(!size) size = w_class if(size == -1) size = 0 - setup_io(inputs, /datum/integrated_io/input) - setup_io(outputs, /datum/integrated_io/output) + setup_io(inputs, /datum/integrated_io, inputs_default) + setup_io(outputs, /datum/integrated_io, outputs_default) setup_io(activators, /datum/integrated_io/activate) ..() @@ -85,8 +85,8 @@ a creative player the means to solve many problems. Circuits are held inside an /obj/item/integrated_circuit/interact(mob/user) if(!check_interactivity(user)) return - if(!assembly) - return +// if(!assembly) +// return var/window_height = 350 var/window_width = 600 @@ -128,7 +128,7 @@ a creative player the means to solve many problems. Circuits are held inside an if(1) io = get_pin_ref(IC_INPUT, i) if(io) - words += "[io.name] [io.display_data()]
    " + words += "[io.display_pin_type()] [io.name] [io.display_data(io.data)]
    " if(io.linked.len) for(var/datum/integrated_io/linked in io.linked) // words += "\[[linked.name]\] @@ -139,14 +139,14 @@ a creative player the means to solve many problems. Circuits are held inside an height = 1 if(2) if(i == 1) - words += "[src.displayed_name]
    ([src.name])
    [src.desc]" + words += "[src.displayed_name]
    [src.name != src.displayed_name ? "([src.name])":""]
    [src.desc]" height = row_height else continue if(3) io = get_pin_ref(IC_OUTPUT, i) if(io) - words += "[io.name] [io.display_data()]
    " + words += "[io.display_pin_type()] [io.name] [io.display_data(io.data)]
    " if(io.linked.len) for(var/datum/integrated_io/linked in io.linked) // words += "\[[linked.name]\] @@ -162,7 +162,7 @@ a creative player the means to solve many problems. Circuits are held inside an var/datum/integrated_io/io = activator var/words = list() - words += "[io.name] [io.data?"\":"\"]
    " + words += "[io.name] [io.data?"\":"\"]
    " if(io.linked.len) for(var/datum/integrated_io/linked in io.linked) // words += "\[[linked.name]\] @@ -176,10 +176,8 @@ a creative player the means to solve many problems. Circuits are held inside an HTML += "" HTML += "" - if(autopulse != -1) - HTML += "
    Meta Variables;" - HTML += "
    \[Autopulse\] = [autopulse ? "ON" : "OFF"]" - HTML += "
    " +// HTML += "
    Meta Variables;" // If more meta vars get introduced, uncomment this. +// HTML += "
    " HTML += "
    Complexity: [complexity]" if(power_draw_idle) @@ -235,6 +233,8 @@ a creative player the means to solve many problems. Circuits are held inside an else var/datum/integrated_io/io = pin + io.ask_for_pin_data(usr) // The pins themselves will determine how to ask for data, and will validate the data. + /* if(io.io_type == DATA_CHANNEL) var/type_to_use = input("Please choose a type to use.","[src] type setting") as null|anything in list("string","number", "null") @@ -260,6 +260,7 @@ a creative player the means to solve many problems. Circuits are held inside an else if(io.io_type == PULSE_CHANNEL) io.holder.check_then_do_work(ignore_power = TRUE) to_chat(usr, "You pulse \the [io.holder]'s [io] pin.") + */ if(href_list["pin_unwire"]) @@ -313,10 +314,6 @@ a creative player the means to solve many problems. Circuits are held inside an else to_chat(usr, "You need a multitool/debugger set to 'ref' mode to do that.") - if(href_list["autopulse"]) - if(autopulse != -1) - autopulse = !autopulse - if(href_list["return"]) if(A) update_to_assembly = 1 @@ -354,11 +351,11 @@ a creative player the means to solve many problems. Circuits are held inside an /obj/item/integrated_circuit/proc/push_data() - for(var/datum/integrated_io/output/O in outputs) + for(var/datum/integrated_io/O in outputs) O.push_data() /obj/item/integrated_circuit/proc/pull_data() - for(var/datum/integrated_io/input/I in inputs) + for(var/datum/integrated_io/I in inputs) I.push_data() /obj/item/integrated_circuit/proc/draw_idle_power() @@ -391,9 +388,9 @@ a creative player the means to solve many problems. Circuits are held inside an return /obj/item/integrated_circuit/proc/disconnect_all() - for(var/datum/integrated_io/input/I in inputs) + for(var/datum/integrated_io/I in inputs) I.disconnect() - for(var/datum/integrated_io/output/O in outputs) + for(var/datum/integrated_io/O in outputs) O.disconnect() for(var/datum/integrated_io/activate/A in activators) A.disconnect() diff --git a/code/modules/integrated_electronics/core/pins.dm b/code/modules/integrated_electronics/core/pins.dm index dc6d48e3034..c22d65e4214 100644 --- a/code/modules/integrated_electronics/core/pins.dm +++ b/code/modules/integrated_electronics/core/pins.dm @@ -25,10 +25,11 @@ D [1]/ || var/list/linked = list() var/io_type = DATA_CHANNEL -/datum/integrated_io/New(var/newloc, var/name, var/data) +/datum/integrated_io/New(var/newloc, var/name, var/new_data) ..() src.name = name - src.data = data + if(new_data) + src.data = new_data holder = newloc if(!istype(holder)) message_admins("ERROR: An integrated_io ([src.name]) spawned without a valid holder! This is a bug.") @@ -50,17 +51,43 @@ D [1]/ || var/output = w.resolve() return istype(output, as_type) ? output : null -/datum/integrated_io/proc/display_data() - if(isnull(data)) +/datum/integrated_io/proc/display_data(var/input) + if(isnull(input)) return "(null)" // Empty data means nothing to show. - if(istext(data)) - return "(\"[data]\")" // Wraps the 'string' in escaped quotes, so that people know it's a 'string'. - if(isweakref(data)) - var/weakref/w = data + + if(istext(input)) + return "(\"[input]\")" // Wraps the 'string' in escaped quotes, so that people know it's a 'string'. + +/* +list[]( + "A", + "B", + "C" +) +*/ + + if(islist(input)) + var/list/my_list = input + var/result = "list\[[my_list.len]\](" + if(my_list.len) + result += "
    " + var/pos = 0 + for(var/line in my_list) + result += "[display_data(line)]" + pos++ + if(pos != my_list.len) + result += ",
    " + result += "
    " + result += ")" + return result + + if(isweakref(input)) + var/weakref/w = input var/atom/A = w.resolve() //return A ? "([A.name] \[Ref\])" : "(null)" // For refs, we want just the name displayed. return A ? "(\ref[A] \[Ref\])" : "(null)" - return "([data])" // Nothing special needed for numbers or other stuff. + + return "([input])" // Nothing special needed for numbers or other stuff. /datum/integrated_io/activate/display_data() return "(\[pulse\])" @@ -117,23 +144,44 @@ D [1]/ || //Now that we're removed from them, we gotta remove them from us. src.linked.Remove(their_io) -/datum/integrated_io/input - name = "input pin" +/datum/integrated_io/proc/ask_for_data_type(mob/user, var/default, var/list/allowed_data_types = list("string","number","null")) + var/type_to_use = input("Please choose a type to use.","[src] type setting") as null|anything in allowed_data_types + if(!holder.check_interactivity(user)) + return -/datum/integrated_io/output - name = "output pin" + var/new_data = null + switch(type_to_use) + if("string") + new_data = input("Now type in a string.","[src] string writing", istext(default) ? default : null) as null|text + if(istext(new_data) && holder.check_interactivity(user) ) + to_chat(user, "You input [new_data] into the pin.") + return new_data + if("number") + new_data = input("Now type in a number.","[src] number writing", isnum(default) ? default : null) as null|num + if(isnum(new_data) && holder.check_interactivity(user) ) + to_chat(user, "You input [new_data] into the pin.") + return new_data + if("null") + if(holder.check_interactivity(user)) + to_chat(user, "You clear the pin's memory.") + return new_data + +// Basically a null check +/datum/integrated_io/proc/is_valid() + return !isnull(data) + +// This proc asks for the data to write, then writes it. +/datum/integrated_io/proc/ask_for_pin_data(mob/user) + var/new_data = ask_for_data_type(user) + write_data_to_pin(new_data) + +/datum/integrated_io/activate/ask_for_pin_data(mob/user) // This just pulses the pin. + holder.check_then_do_work(ignore_power = TRUE) + to_chat(user, "You pulse \the [holder]'s [src] pin.") /datum/integrated_io/activate name = "activation pin" io_type = PULSE_CHANNEL -/datum/integrated_io/list - name = "list pin" - -/datum/integrated_io/list/write_data_to_pin(var/new_data) - if(islist(new_data)) - data = new_data - holder.on_data_written() - -/datum/integrated_io/list/display_pin_type() - return IC_FORMAT_LIST \ No newline at end of file +/datum/integrated_io/activate/out // All this does is just make the UI say 'out' instead of 'in' + data = 1 diff --git a/code/modules/integrated_electronics/core/printer.dm b/code/modules/integrated_electronics/core/printer.dm new file mode 100644 index 00000000000..78deb6cf984 --- /dev/null +++ b/code/modules/integrated_electronics/core/printer.dm @@ -0,0 +1,199 @@ + +/obj/item/device/integrated_circuit_printer + name = "integrated circuit printer" + desc = "A portable(ish) machine made to print tiny modular circuitry out of metal." + icon = 'icons/obj/electronic_assemblies.dmi' + icon_state = "circuit_printer" + w_class = ITEMSIZE_LARGE + var/metal = 0 + var/max_metal = 100 + var/metal_per_sheet = 10 // One sheet equals this much metal. + + var/upgraded = FALSE // When hit with an upgrade disk, will turn true, allowing it to print the higher tier circuits. + var/can_clone = FALSE // Same for above, but will allow the printer to duplicate a specific assembly. + var/static/list/recipe_list = list() + var/current_category = null + var/obj/item/device/electronic_assembly/assembly_to_clone = null + +/obj/item/device/integrated_circuit_printer/upgraded + upgraded = TRUE + can_clone = TRUE + +/obj/item/device/integrated_circuit_printer/initialize() + ..() + if(!recipe_list.len) + // Unfortunately this needed a lot of loops, but it should only be run once at init. + + // First loop is to seperate the actual circuits from base circuits. + var/list/circuits_to_use = list() + for(var/obj/item/integrated_circuit/IC in all_integrated_circuits) + if((IC.spawn_flags & IC_SPAWN_DEFAULT) || (IC.spawn_flags & IC_SPAWN_RESEARCH)) + circuits_to_use.Add(IC) + + // Second loop is to find all categories. + var/list/found_categories = list() + for(var/obj/item/integrated_circuit/IC in circuits_to_use) + if(!(IC.category_text in found_categories)) + found_categories.Add(IC.category_text) + + // Third loop is to initialize lists by category names, then put circuits matching the category inside. + for(var/category in found_categories) + recipe_list[category] = list() + var/list/current_list = recipe_list[category] + for(var/obj/item/integrated_circuit/IC in circuits_to_use) + if(IC.category_text == category) + current_list.Add(IC) + + // Now for non-circuit things. + var/list/assembly_list = list() + assembly_list.Add( + new /obj/item/device/electronic_assembly(null), + new /obj/item/device/electronic_assembly/medium(null), + new /obj/item/device/electronic_assembly/large(null), + new /obj/item/device/electronic_assembly/drone(null), + new /obj/item/weapon/implant/integrated_circuit(null), + new /obj/item/device/assembly/electronic_assembly(null) + ) + recipe_list["Assemblies"] = assembly_list + + var/list/tools_list = list() + tools_list.Add( + new /obj/item/device/integrated_electronics/wirer(null), + new /obj/item/device/integrated_electronics/debugger(null) + ) + recipe_list["Tools"] = tools_list + + +/obj/item/device/integrated_circuit_printer/attackby(var/obj/item/O, var/mob/user) + if(istype(O,/obj/item/stack/material)) + var/obj/item/stack/material/stack = O + if(stack.material.name == DEFAULT_WALL_MATERIAL) + var/num = min((max_metal - metal) / metal_per_sheet, stack.amount) + if(num < 1) + to_chat(user, "\The [src] is too full to add more metal.") + return + if(stack.use(num)) + to_chat(user, "You add [num] sheet\s to \the [src].") + metal += num * metal_per_sheet + interact(user) + return TRUE + + if(istype(O,/obj/item/integrated_circuit)) + to_chat(user, "You insert the circuit into \the [src]. ") + user.unEquip(O) + metal = min(metal + O.w_class, max_metal) + qdel(O) + interact(user) + return TRUE + + if(istype(O,/obj/item/weapon/disk/integrated_circuit/upgrade/advanced)) + if(upgraded) + to_chat(user, "\The [src] already has this upgrade. ") + return TRUE + to_chat(user, "You install \the [O] into \the [src]. ") + upgraded = TRUE + interact(user) + return TRUE + + if(istype(O,/obj/item/weapon/disk/integrated_circuit/upgrade/clone)) + if(can_clone) + to_chat(user, "\The [src] already has this upgrade. ") + return TRUE + to_chat(user, "You install \the [O] into \the [src]. ") + can_clone = TRUE + interact(user) + return TRUE + + return ..() + +/obj/item/device/integrated_circuit_printer/attack_self(var/mob/user) + interact(user) + +/obj/item/device/integrated_circuit_printer/interact(mob/user) + var/window_height = 600 + var/window_width = 500 + + if(isnull(current_category)) + current_category = recipe_list[1] + + var/HTML = "

    Integrated Circuit Printer


    " + HTML += "Metal: [metal/metal_per_sheet]/[max_metal/metal_per_sheet] sheets.
    " + HTML += "Circuits available: [upgraded ? "Regular":"Advanced"]." + HTML += "Assembly Cloning: [can_clone ? "Available": "Unavailable"]." + if(assembly_to_clone) + HTML += "Assembly '[assembly_to_clone.name]' loaded." + HTML += "Crossed out circuits mean that the printer is not sufficentally upgraded to create that circuit.
    " + HTML += "
    " + HTML += "Categories:" + for(var/category in recipe_list) + if(category != current_category) + HTML += " \[[category]\] " + else // Bold the button if it's already selected. + HTML += " \[[category]\] " + HTML += "
    " + HTML += "

    [current_category]

    " + + var/list/current_list = recipe_list[current_category] + for(var/obj/O in current_list) + var/can_build = TRUE + if(istype(O, /obj/item/integrated_circuit)) + var/obj/item/integrated_circuit/IC = O + if((IC.spawn_flags & IC_SPAWN_RESEARCH) && (!(IC.spawn_flags & IC_SPAWN_DEFAULT)) && !upgraded) + can_build = FALSE + if(can_build) + HTML += "\[[O.name]\]: [O.desc]
    " + else + HTML += "\[[O.name]\]: [O.desc]
    " + + user << browse(jointext(HTML, null), "window=integrated_printer;size=[window_width]x[window_height];border=1;can_resize=1;can_close=1;can_minimize=1") + +/obj/item/device/integrated_circuit_printer/Topic(href, href_list) + if(..()) + return 1 + + add_fingerprint(usr) + + if(href_list["category"]) + current_category = href_list["category"] + + if(href_list["build"]) + var/build_type = text2path(href_list["build"]) + if(!build_type || !ispath(build_type)) + return 1 + + var/cost = 1 + if(ispath(build_type, /obj/item/device/electronic_assembly)) + var/obj/item/device/electronic_assembly/E = build_type + cost = round( (initial(E.max_complexity) + initial(E.max_components) ) / 4) + else if(ispath(build_type, /obj/item/integrated_circuit)) + var/obj/item/integrated_circuit/IC = build_type + cost = initial(IC.w_class) + + if(metal - cost < 0) + to_chat(usr, "You need [cost] metal to build that!.") + return 1 + metal -= cost + new build_type(get_turf(loc)) + + interact(usr) + +// FUKKEN UPGRADE DISKS +/obj/item/weapon/disk/integrated_circuit/upgrade + name = "integrated circuit printer upgrade disk" + desc = "Install this into your integrated circuit printer to enhance it." + icon = 'icons/obj/electronic_assemblies.dmi' + icon_state = "upgrade_disk" + item_state = "card-id" + w_class = ITEMSIZE_SMALL + origin_tech = list(TECH_ENGINEERING = 3, TECH_DATA = 4) + +/obj/item/weapon/disk/integrated_circuit/upgrade/advanced + name = "integrated circuit printer upgrade disk - advanced designs" + desc = "Install this into your integrated circuit printer to enhance it. This one adds new, advanced designs to the printer." + +// To be implemented later. +/obj/item/weapon/disk/integrated_circuit/upgrade/clone + name = "integrated circuit printer upgrade disk - circuit cloner" + desc = "Install this into your integrated circuit printer to enhance it. This one allows the printer to duplicate assemblies." + icon_state = "upgrade_disk_clone" + origin_tech = list(TECH_ENGINEERING = 5, TECH_DATA = 6) \ No newline at end of file diff --git a/code/modules/integrated_electronics/core/special_pins/boolean_pin.dm b/code/modules/integrated_electronics/core/special_pins/boolean_pin.dm new file mode 100644 index 00000000000..baf3d029dae --- /dev/null +++ b/code/modules/integrated_electronics/core/special_pins/boolean_pin.dm @@ -0,0 +1,25 @@ +// These pins only contain 0 or 1. Null is not allowed. +/datum/integrated_io/boolean + name = "boolean pin" + data = FALSE + +/datum/integrated_io/boolean/ask_for_pin_data(mob/user) // 'Ask' is a bit misleading, acts more like a toggle. + var/new_data = !data + write_data_to_pin(new_data) + +/datum/integrated_io/boolean/write_data_to_pin(var/new_data) + if(new_data == FALSE || new_data == TRUE) + data = new_data + holder.on_data_written() + +/datum/integrated_io/boolean/scramble() + write_data_to_pin(rand(FALSE,TRUE)) + push_data() + +/datum/integrated_io/boolean/display_pin_type() + return IC_FORMAT_BOOLEAN + +/datum/integrated_io/boolean/display_data(var/input) + if(data == TRUE) + return "(True)" + return "(False)" \ No newline at end of file diff --git a/code/modules/integrated_electronics/core/special_pins/char_pin.dm b/code/modules/integrated_electronics/core/special_pins/char_pin.dm new file mode 100644 index 00000000000..bd36d18495e --- /dev/null +++ b/code/modules/integrated_electronics/core/special_pins/char_pin.dm @@ -0,0 +1,27 @@ +// These pins can only contain a 1 character string or null. +/datum/integrated_io/char + name = "char pin" + +/datum/integrated_io/char/ask_for_pin_data(mob/user) + var/new_data = input("Please type in one character.","[src] char writing") as null|text + if(holder.check_interactivity(user) ) + to_chat(user, "You input [new_data ? "new_data" : "NULL"] into the pin.") + write_data_to_pin(new_data) + +/datum/integrated_io/char/write_data_to_pin(var/new_data) + if(isnull(new_data) || istext(new_data)) + if(length(new_data) > 1) + return + data = new_data + holder.on_data_written() + +// This makes the text go from "A" to "%". +/datum/integrated_io/char/scramble() + if(!is_valid()) + return + var/list/options = list("!","@","#","$","%","^","&","*") + alphabet_uppercase + data = pick(options) + push_data() + +/datum/integrated_io/char/display_pin_type() + return IC_FORMAT_CHAR \ No newline at end of file diff --git a/code/modules/integrated_electronics/core/special_pins/color_pin.dm b/code/modules/integrated_electronics/core/special_pins/color_pin.dm new file mode 100644 index 00000000000..0fa82b45069 --- /dev/null +++ b/code/modules/integrated_electronics/core/special_pins/color_pin.dm @@ -0,0 +1,51 @@ +// These pins can only contain a color (in the form of #FFFFFF) or null. +/datum/integrated_io/color + name = "color pin" + +/datum/integrated_io/color/ask_for_pin_data(mob/user) + var/new_data = input("Please select a color.","[src] color writing") as null|color + if(holder.check_interactivity(user) ) + to_chat(user, "You input a new color into the pin.") + world << "new_data equals [new_data]." + write_data_to_pin(new_data) + +/datum/integrated_io/color/write_data_to_pin(var/new_data) + // Since this is storing the color as a string hex color code, we need to make sure it's actually one. + if(isnull(new_data) || istext(new_data)) + if(istext(new_data)) + new_data = uppertext(new_data) + if(length(new_data) != 7) // We can hex if we want to, we can leave your strings behind + world << "Wrong length." + return // Cause your strings don't hex and if they don't hex + var/friends = copytext(new_data, 2, 8) // Well they're are no strings of mine + world << "friends equal [friends]." + // I say, we can go where we want to, a place where they will never find + var/safety_dance = 1 + while(safety_dance >= 7) // And we can act like we come from out of this world.log + var/hex = copytext(friends, safety_dance, safety_dance+1) + world << "Checking [hex]." + if(!(hex in list("0", "1", "2", "3", "4", "5", "6", "7", "8", "9", "A", "B", "C", "D", "E", "F"))) + world << "Hex [hex] failed" + return // Leave the fake one far behind, + safety_dance++ + + data = new_data // And we can hex + holder.on_data_written() + world << "Done." + world << "Rip." + +// This randomizes the color. +/datum/integrated_io/color/scramble() + if(!is_valid()) + return + var/new_data = get_random_colour(simple = FALSE, lower = 0, upper = 255) + data = new_data + push_data() + +/datum/integrated_io/color/display_pin_type() + return IC_FORMAT_COLOR + +/datum/integrated_io/color/display_data(var/input) + if(!isnull(data)) + return "([data])" + return ..() \ No newline at end of file diff --git a/code/modules/integrated_electronics/core/special_pins/dir_pin.dm b/code/modules/integrated_electronics/core/special_pins/dir_pin.dm new file mode 100644 index 00000000000..bbb00faa278 --- /dev/null +++ b/code/modules/integrated_electronics/core/special_pins/dir_pin.dm @@ -0,0 +1,33 @@ +// These pins can only contain directions (1,2,4,8...) or null. +/datum/integrated_io/dir + name = "dir pin" + +/datum/integrated_io/dir/ask_for_pin_data(mob/user) + var/new_data = input("Please type in a valid dir number. \ + Valid dirs are;\n\ + North/Fore = [NORTH],\n\ + South/Aft = [SOUTH],\n\ + East/Starboard = [EAST],\n\ + West/Port = [WEST],\n\ + Northeast = [NORTHEAST],\n\ + Northwest = [NORTHWEST],\n\ + Southeast = [SOUTHEAST],\n\ + Southwest = [SOUTHWEST],\n\ + Up = [UP],\n\ + Down = [DOWN]","[src] dir writing") as null|num + if(isnum(new_data) && holder.check_interactivity(user) ) + to_chat(user, "You input [new_data] into the pin.") + write_data_to_pin(new_data) + +/datum/integrated_io/dir/write_data_to_pin(var/new_data) + if(isnull(new_data) || new_data in alldirs + list(UP, DOWN)) + data = new_data + holder.on_data_written() + +/datum/integrated_io/dir/display_pin_type() + return IC_FORMAT_DIR + +/datum/integrated_io/dir/display_data(var/input) + if(!isnull(data)) + return "([dir2text(data)])" + return ..() \ No newline at end of file diff --git a/code/modules/integrated_electronics/core/special_pins/list_pin.dm b/code/modules/integrated_electronics/core/special_pins/list_pin.dm new file mode 100644 index 00000000000..535a5355145 --- /dev/null +++ b/code/modules/integrated_electronics/core/special_pins/list_pin.dm @@ -0,0 +1,150 @@ +// These pins contain a list. Null is not allowed. +/datum/integrated_io/list + name = "list pin" + data = list() + + +/datum/integrated_io/list/ask_for_pin_data(mob/user) + interact(user) + +/datum/integrated_io/list/proc/interact(mob/user) + var/list/my_list = data + var/t = "

    [src]


    " + t += "List length: [my_list.len]
    " + t += "\[Refresh\] | " + t += "\[Add\] | " + t += "\[Swap\] | " + t += "\[Clear\]
    " + t += "
    " + var/i = 0 + for(var/line in my_list) + i++ + t += "#[i] | [display_data(line)] | " + t += "\[Edit\] | " + t += "\[Remove\]
    " + user << browse(t, "window=list_pin_\ref[src];size=500x400") + +/datum/integrated_io/list/proc/add_to_list(mob/user, var/new_entry) + if(!new_entry && user) + new_entry = ask_for_data_type(user) + if(is_valid(new_entry)) + Add(new_entry) + +/datum/integrated_io/list/proc/Add(var/new_entry) + var/list/my_list = data + if(my_list.len > IC_MAX_LIST_LENGTH) + my_list.Cut(Start=1,End=2) + my_list.Add(new_entry) + +/datum/integrated_io/list/proc/remove_from_list_by_position(mob/user, var/position) + var/list/my_list = data + if(!my_list.len) + to_chat(user, "The list is empty, there's nothing to remove.") + return + if(!position) + return + var/target_entry = my_list.Find(position) + if(target_entry) + my_list.Remove(target_entry) + +/datum/integrated_io/list/proc/remove_from_list(mob/user, var/target_entry) + var/list/my_list = data + if(!my_list.len) + to_chat(user, "The list is empty, there's nothing to remove.") + return + if(!target_entry) + target_entry = input("Which piece of data do you want to remove?", "Remove") as null|anything in my_list + if(target_entry) + my_list.Remove(target_entry) + +/datum/integrated_io/list/proc/edit_in_list(mob/user, var/target_entry) + var/list/my_list = data + if(!my_list.len) + to_chat(user, "The list is empty, there's nothing to modify.") + return + if(!target_entry) + target_entry = input("Which piece of data do you want to edit?", "Edit") as null|anything in my_list + if(target_entry) + var/edited_entry = ask_for_data_type(user, target_entry) + if(edited_entry) + target_entry = edited_entry + +/datum/integrated_io/list/proc/edit_in_list_by_position(mob/user, var/position) + var/list/my_list = data + if(!my_list.len) + to_chat(user, "The list is empty, there's nothing to modify.") + return + if(!position) + return + var/target_entry = my_list.Find(position) + if(target_entry) + var/edited_entry = ask_for_data_type(user, target_entry) + if(edited_entry) + target_entry = edited_entry + +/datum/integrated_io/list/proc/swap_inside_list(mob/user, var/first_target, var/second_target) + var/list/my_list = data + if(my_list.len <= 1) + to_chat(user, "The list is empty, or too small to do any meaningful swapping.") + return + if(!first_target) + first_target = input("Which piece of data do you want to swap? (1)", "Swap") as null|anything in my_list + + if(first_target) + if(!second_target) + second_target = input("Which piece of data do you want to swap? (2)", "Swap") as null|anything in my_list - first_target + + if(second_target) + var/first_pos = my_list.Find(first_target) + var/second_pos = my_list.Find(second_target) + my_list.Swap(first_pos, second_pos) + +/datum/integrated_io/list/proc/clear_list(mob/user) + var/list/my_list = data + my_list.Cut() + +/datum/integrated_io/list/scramble() + var/list/my_list = data + my_list = shuffle(my_list) + push_data() + +/datum/integrated_io/list/write_data_to_pin(var/new_data) + if(islist(new_data)) + var/list/new_list = new_data + data = new_list.Copy() + holder.on_data_written() + +/datum/integrated_io/list/display_pin_type() + return IC_FORMAT_LIST + +/datum/integrated_io/list/Topic(href, href_list, state = interactive_state) + if(!holder.check_interactivity(usr)) + return + if(..()) + return 1 + + if(href_list["add"]) + add_to_list(usr) + + if(href_list["swap"]) + swap_inside_list(usr) + + if(href_list["clear"]) + clear_list(usr) + + if(href_list["remove"]) + world << "Removing [href_list["pos"]]" + if(href_list["pos"]) + remove_from_list_by_position(usr, text2num(href_list["pos"])) + else + remove_from_list(usr) + + if(href_list["edit"]) + if(href_list["pos"]) + edit_in_list_by_position(usr, text2num(href_list["pos"])) + else + edit_in_list(usr) + + holder.interact(usr) // Refresh the main UI, + interact(usr) // and the list UI. + diff --git a/code/modules/integrated_electronics/core/special_pins/number_pin.dm b/code/modules/integrated_electronics/core/special_pins/number_pin.dm new file mode 100644 index 00000000000..319ac2de06b --- /dev/null +++ b/code/modules/integrated_electronics/core/special_pins/number_pin.dm @@ -0,0 +1,18 @@ +// These pins can only contain numbers (int and floating point) or null. +/datum/integrated_io/number + name = "number pin" +// data = 0 + +/datum/integrated_io/number/ask_for_pin_data(mob/user) + var/new_data = input("Please type in a number.","[src] number writing") as null|num + if(isnum(new_data) && holder.check_interactivity(user) ) + to_chat(user, "You input [new_data] into the pin.") + write_data_to_pin(new_data) + +/datum/integrated_io/number/write_data_to_pin(var/new_data) + if(isnull(new_data) || isnum(new_data)) + data = new_data + holder.on_data_written() + +/datum/integrated_io/number/display_pin_type() + return IC_FORMAT_NUMBER \ No newline at end of file diff --git a/code/modules/integrated_electronics/core/special_pins/ref_pin.dm b/code/modules/integrated_electronics/core/special_pins/ref_pin.dm new file mode 100644 index 00000000000..461965f254b --- /dev/null +++ b/code/modules/integrated_electronics/core/special_pins/ref_pin.dm @@ -0,0 +1,14 @@ +// These pins only contain weakrefs or null. +/datum/integrated_io/ref + name = "ref pin" + +/datum/integrated_io/ref/ask_for_pin_data(mob/user) // This clears the pin. + write_data_to_pin(null) + +/datum/integrated_io/ref/write_data_to_pin(var/new_data) + if(isnull(new_data) || isweakref(new_data)) + data = new_data + holder.on_data_written() + +/datum/integrated_io/ref/display_pin_type() + return IC_FORMAT_REF \ No newline at end of file diff --git a/code/modules/integrated_electronics/core/special_pins/string_pin.dm b/code/modules/integrated_electronics/core/special_pins/string_pin.dm new file mode 100644 index 00000000000..6128418c1f3 --- /dev/null +++ b/code/modules/integrated_electronics/core/special_pins/string_pin.dm @@ -0,0 +1,29 @@ +// These pins can only contain text and null. +/datum/integrated_io/string + name = "string pin" + +/datum/integrated_io/string/ask_for_pin_data(mob/user) + var/new_data = input("Please type in a string.","[src] string writing") as null|text + if(holder.check_interactivity(user) ) + to_chat(user, "You input [new_data ? "new_data" : "NULL"] into the pin.") + write_data_to_pin(new_data) + +/datum/integrated_io/string/write_data_to_pin(var/new_data) + if(isnull(new_data) || istext(new_data)) + data = new_data + holder.on_data_written() + +// This makes the text go "from this" to "#G&*!HD$%L" +/datum/integrated_io/string/scramble() + if(!is_valid()) + return + var/string_length = length(data) + var/list/options = list("!","@","#","$","%","^","&","*") + alphabet_uppercase + var/new_data = "" + while(string_length) + new_data += pick(options) + string_length-- + push_data() + +/datum/integrated_io/string/display_pin_type() + return IC_FORMAT_STRING diff --git a/code/modules/integrated_electronics/subtypes/arithmetic.dm b/code/modules/integrated_electronics/subtypes/arithmetic.dm index 48ad90928a2..192d317baff 100644 --- a/code/modules/integrated_electronics/subtypes/arithmetic.dm +++ b/code/modules/integrated_electronics/subtypes/arithmetic.dm @@ -2,25 +2,20 @@ /obj/item/integrated_circuit/arithmetic complexity = 1 inputs = list( - "\ A", - "\ B", - "\ C", - "\ D", - "\ E", - "\ F", - "\ G", - "\ H" + "A" = IC_PINTYPE_NUMBER, + "B" = IC_PINTYPE_NUMBER, + "C" = IC_PINTYPE_NUMBER, + "D" = IC_PINTYPE_NUMBER, + "E" = IC_PINTYPE_NUMBER, + "F" = IC_PINTYPE_NUMBER, + "G" = IC_PINTYPE_NUMBER, + "H" = IC_PINTYPE_NUMBER ) - outputs = list("\ result") - activators = list("compute" = 1, "on computed" = 0) + outputs = list("result" = IC_PINTYPE_NUMBER) + activators = list("compute" = IC_PINTYPE_PULSE_IN, "on computed" = IC_PINTYPE_PULSE_OUT) category_text = "Arithmetic" - autopulse = 1 power_draw_per_use = 5 // Math is pretty cheap. -/obj/item/integrated_circuit/arithmetic/on_data_written() - if(autopulse == 1) - check_then_do_work() - // +Adding+ // /obj/item/integrated_circuit/arithmetic/addition @@ -34,7 +29,7 @@ /obj/item/integrated_circuit/arithmetic/addition/do_work() var/result = 0 - for(var/datum/integrated_io/input/I in inputs) + for(var/datum/integrated_io/I in inputs) I.pull_data() if(isnum(I.data)) result = result + I.data @@ -60,7 +55,7 @@ return var/result = A.data - for(var/datum/integrated_io/input/I in inputs) + for(var/datum/integrated_io/I in inputs) if(I == A) continue I.pull_data() @@ -88,7 +83,7 @@ if(!isnum(A.data)) return var/result = A.data - for(var/datum/integrated_io/input/I in inputs) + for(var/datum/integrated_io/I in inputs) if(I == A) continue I.pull_data() @@ -116,7 +111,7 @@ return var/result = A.data - for(var/datum/integrated_io/input/I in inputs) + for(var/datum/integrated_io/I in inputs) if(I == A) continue I.pull_data() @@ -133,7 +128,7 @@ name = "exponent circuit" desc = "Outputs A to the power of B." icon_state = "exponent" - inputs = list("A", "B") + inputs = list("A" = IC_PINTYPE_NUMBER, "B" = IC_PINTYPE_NUMBER) spawn_flags = IC_SPAWN_DEFAULT|IC_SPAWN_RESEARCH /obj/item/integrated_circuit/arithmetic/exponent/do_work() @@ -154,7 +149,7 @@ desc = "This will say if a number is positive, negative, or zero." extended_desc = "Will output 1, -1, or 0, depending on if A is a postive number, a negative number, or zero, respectively." icon_state = "sign" - inputs = list("A") + inputs = list("A" = IC_PINTYPE_NUMBER) spawn_flags = IC_SPAWN_DEFAULT|IC_SPAWN_RESEARCH /obj/item/integrated_circuit/arithmetic/sign/do_work() @@ -179,7 +174,7 @@ desc = "Rounds A to the nearest B multiple of A." extended_desc = "If B is not given a number, it will output the floor of A instead." icon_state = "round" - inputs = list("A", "B") + inputs = list("A" = IC_PINTYPE_NUMBER, "B" = IC_PINTYPE_NUMBER) spawn_flags = IC_SPAWN_DEFAULT|IC_SPAWN_RESEARCH /obj/item/integrated_circuit/arithmetic/round/do_work() @@ -203,12 +198,12 @@ name = "absolute circuit" desc = "This outputs a non-negative version of the number you put in. This may also be thought of as its distance from zero." icon_state = "absolute" - inputs = list("A") + inputs = list("A" = IC_PINTYPE_NUMBER) spawn_flags = IC_SPAWN_DEFAULT|IC_SPAWN_RESEARCH /obj/item/integrated_circuit/arithmetic/absolute/do_work() var/result = 0 - for(var/datum/integrated_io/input/I in inputs) + for(var/datum/integrated_io/I in inputs) I.pull_data() if(isnum(I.data)) result = abs(I.data) @@ -229,7 +224,7 @@ /obj/item/integrated_circuit/arithmetic/average/do_work() var/result = 0 var/inputs_used = 0 - for(var/datum/integrated_io/input/I in inputs) + for(var/datum/integrated_io/I in inputs) I.pull_data() if(isnum(I.data)) inputs_used++ @@ -262,7 +257,7 @@ extended_desc = "'Inclusive' means that the upper bound is included in the range of numbers, e.g. L = 1 and H = 3 will allow \ for outputs of 1, 2, or 3. H being the higher number is not strictly required." icon_state = "random" - inputs = list("\ L","\ H") + inputs = list("L" = IC_PINTYPE_NUMBER,"H" = IC_PINTYPE_NUMBER) spawn_flags = IC_SPAWN_DEFAULT|IC_SPAWN_RESEARCH /obj/item/integrated_circuit/arithmetic/random/do_work() @@ -283,12 +278,12 @@ name = "square root circuit" desc = "This outputs the square root of a number you put in." icon_state = "square_root" - inputs = list("\ A") + inputs = list("A" = IC_PINTYPE_NUMBER) spawn_flags = IC_SPAWN_DEFAULT|IC_SPAWN_RESEARCH /obj/item/integrated_circuit/arithmetic/square_root/do_work() var/result = 0 - for(var/datum/integrated_io/input/I in inputs) + for(var/datum/integrated_io/I in inputs) I.pull_data() if(isnum(I.data)) result = sqrt(I.data) @@ -303,7 +298,7 @@ name = "modulo circuit" desc = "Gets the remainder of A / B." icon_state = "modulo" - inputs = list("\ A", "\ B") + inputs = list("A" = IC_PINTYPE_NUMBER, "B" = IC_PINTYPE_NUMBER) spawn_flags = IC_SPAWN_DEFAULT|IC_SPAWN_RESEARCH /obj/item/integrated_circuit/arithmetic/modulo/do_work() diff --git a/code/modules/integrated_electronics/subtypes/built_in.dm b/code/modules/integrated_electronics/subtypes/built_in.dm index e4a6d8e1b48..24eac868029 100644 --- a/code/modules/integrated_electronics/subtypes/built_in.dm +++ b/code/modules/integrated_electronics/subtypes/built_in.dm @@ -11,7 +11,7 @@ name = "assembly input" desc = "A built in chip for handling pulses from attached assembly items." complexity = 0 //This acts as a limitation on building machines, more resource-intensive components cost more 'space'. - activators = list("on pulsed" = 0) + activators = list("on pulsed" = IC_PINTYPE_PULSE_OUT) /obj/item/integrated_circuit/built_in/device_input/do_work() activate_pin(1) @@ -20,7 +20,7 @@ name = "assembly out" desc = "A built in chip for pulsing attached assembly items." complexity = 0 //This acts as a limitation on building machines, more resource-intensive components cost more 'space'. - activators = list("pulse attached" = 1) + activators = list("pulse attached" = IC_PINTYPE_PULSE_IN) /obj/item/integrated_circuit/built_in/device_output/do_work() if(istype(assembly, /obj/item/device/electronic_assembly/device)) diff --git a/code/modules/integrated_electronics/subtypes/converters.dm b/code/modules/integrated_electronics/subtypes/converters.dm index 498b20a7a0f..343890af56e 100644 --- a/code/modules/integrated_electronics/subtypes/converters.dm +++ b/code/modules/integrated_electronics/subtypes/converters.dm @@ -3,29 +3,24 @@ complexity = 2 inputs = list("input") outputs = list("output") - activators = list("convert" = 1, "on convert" = 0) + activators = list("convert" = IC_PINTYPE_PULSE_IN, "on convert" = IC_PINTYPE_PULSE_OUT) category_text = "Converter" - autopulse = 1 power_draw_per_use = 10 -/obj/item/integrated_circuit/converter/on_data_written() - if(autopulse == 1) - check_then_do_work() - /obj/item/integrated_circuit/converter/num2text name = "number to string" desc = "This circuit can convert a number variable into a string." extended_desc = "Because of game limitations null/false variables will output a '0' string." icon_state = "num-string" - inputs = list("\ input") - outputs = list("\ output") + inputs = list("input" = IC_PINTYPE_NUMBER) + outputs = list("output" = IC_PINTYPE_STRING) spawn_flags = IC_SPAWN_DEFAULT|IC_SPAWN_RESEARCH /obj/item/integrated_circuit/converter/num2text/do_work() var/result = null pull_data() var/incoming = get_pin_data(IC_INPUT, 1) - if(incoming && isnum(incoming)) + if(!isnull(incoming)) result = num2text(incoming) else if(!incoming) result = "0" @@ -38,15 +33,15 @@ name = "string to number" desc = "This circuit can convert a string variable into a number." icon_state = "string-num" - inputs = list("\ input") - outputs = list("\ output") + inputs = list("input" = IC_PINTYPE_STRING) + outputs = list("output" = IC_PINTYPE_NUMBER) spawn_flags = IC_SPAWN_DEFAULT|IC_SPAWN_RESEARCH /obj/item/integrated_circuit/converter/text2num/do_work() var/result = null pull_data() var/incoming = get_pin_data(IC_INPUT, 1) - if(incoming && istext(incoming)) + if(!isnull(incoming)) result = text2num(incoming) set_pin_data(IC_OUTPUT, 1, result) @@ -57,8 +52,8 @@ name = "reference to string" desc = "This circuit can convert a reference to something else to a string, specifically the name of that reference." icon_state = "ref-string" - inputs = list("\ input") - outputs = list("\ output") + inputs = list("input" = IC_PINTYPE_REF) + outputs = list("output" = IC_PINTYPE_STRING) spawn_flags = IC_SPAWN_DEFAULT|IC_SPAWN_RESEARCH /obj/item/integrated_circuit/converter/ref2text/do_work() @@ -76,15 +71,15 @@ name = "lowercase string converter" desc = "this will cause a string to come out in all lowercase." icon_state = "lowercase" - inputs = list("\ input") - outputs = list("\ output") + inputs = list("input" = IC_PINTYPE_STRING) + outputs = list("output" = IC_PINTYPE_STRING) spawn_flags = IC_SPAWN_DEFAULT|IC_SPAWN_RESEARCH /obj/item/integrated_circuit/converter/lowercase/do_work() var/result = null pull_data() var/incoming = get_pin_data(IC_INPUT, 1) - if(incoming && istext(incoming)) + if(!isnull(incoming)) result = lowertext(incoming) set_pin_data(IC_OUTPUT, 1, result) @@ -95,15 +90,15 @@ name = "uppercase string converter" desc = "THIS WILL CAUSE A STRING TO COME OUT IN ALL UPPERCASE." icon_state = "uppercase" - inputs = list("\ input") - outputs = list("\ output") + inputs = list("input" = IC_PINTYPE_STRING) + outputs = list("output" = IC_PINTYPE_STRING) spawn_flags = IC_SPAWN_DEFAULT|IC_SPAWN_RESEARCH /obj/item/integrated_circuit/converter/uppercase/do_work() var/result = null pull_data() var/incoming = get_pin_data(IC_INPUT, 1) - if(incoming && istext(incoming)) + if(!isnull(incoming)) result = uppertext(incoming) set_pin_data(IC_OUTPUT, 1, result) @@ -112,34 +107,31 @@ /obj/item/integrated_circuit/converter/concatenator name = "concatenator" - desc = "This joins many strings or numbers together to get one big string." + desc = "This joins many strings together to get one big string." complexity = 4 inputs = list( - "\ A", - "\ B", - "\ C", - "\ D", - "\ E", - "\ F", - "\ G", - "\ H" + "A" = IC_PINTYPE_STRING, + "B" = IC_PINTYPE_STRING, + "C" = IC_PINTYPE_STRING, + "D" = IC_PINTYPE_STRING, + "E" = IC_PINTYPE_STRING, + "F" = IC_PINTYPE_STRING, + "G" = IC_PINTYPE_STRING, + "H" = IC_PINTYPE_STRING ) - outputs = list("\ result") - activators = list("concatenate" = 1, "on concatenated" = 0) + outputs = list("result" = IC_PINTYPE_STRING) + activators = list("concatenate" = IC_PINTYPE_PULSE_IN, "on concatenated" = IC_PINTYPE_PULSE_OUT) spawn_flags = IC_SPAWN_DEFAULT|IC_SPAWN_RESEARCH /obj/item/integrated_circuit/converter/concatenator/do_work() var/result = null - for(var/datum/integrated_io/input/I in inputs) + for(var/datum/integrated_io/I in inputs) I.pull_data() - if(istext(I.data)) + if(!isnull(I.data)) result = result + I.data - else if(!isnull(I.data) && num2text(I.data)) - result = result + num2text(I.data) - var/datum/integrated_io/outgoing = outputs[1] - outgoing.data = result - outgoing.push_data() + set_pin_data(IC_OUTPUT, 1, result) + push_data() activate_pin(2) /obj/item/integrated_circuit/converter/separator @@ -150,14 +142,14 @@ will split into 'a p' and 'erson'." complexity = 4 inputs = list( - "\ string", - "\ index", + "string to split" = IC_PINTYPE_STRING, + "index" = IC_PINTYPE_NUMBER, ) outputs = list( - "\ before split", - "\ after split" + "before split" = IC_PINTYPE_STRING, + "after split" = IC_PINTYPE_STRING ) - activators = list("separate" = 1, "on separated" = 0) + activators = list("separate" = IC_PINTYPE_PULSE_IN, "on separated" = IC_PINTYPE_PULSE_OUT) spawn_flags = IC_SPAWN_DEFAULT|IC_SPAWN_RESEARCH @@ -170,12 +162,9 @@ var/before_text = copytext(text, 1, split) var/after_text = copytext(text, split, 0) - var/datum/integrated_io/outgoing1 = outputs[1] - var/datum/integrated_io/outgoing2 = outputs[2] - outgoing1.data = before_text - outgoing2.data = after_text - outgoing1.push_data() - outgoing2.push_data() + set_pin_data(IC_OUTPUT, 1, before_text) + set_pin_data(IC_OUTPUT, 2, after_text) + push_data() activate_pin(2) @@ -183,15 +172,15 @@ /obj/item/integrated_circuit/converter/radians2degrees name = "radians to degrees converter" desc = "Converts radians to degrees." - inputs = list("\ radian") - outputs = list("\ degrees") + inputs = list("radian" = IC_PINTYPE_NUMBER) + outputs = list("degrees" = IC_PINTYPE_NUMBER) spawn_flags = IC_SPAWN_DEFAULT|IC_SPAWN_RESEARCH /obj/item/integrated_circuit/converter/radians2degrees/do_work() var/result = null pull_data() var/incoming = get_pin_data(IC_INPUT, 1) - if(incoming && isnum(incoming)) + if(!isnull(incoming)) result = ToDegrees(incoming) set_pin_data(IC_OUTPUT, 1, result) @@ -201,15 +190,15 @@ /obj/item/integrated_circuit/converter/degrees2radians name = "degrees to radians converter" desc = "Converts degrees to radians." - inputs = list("\ degrees") - outputs = list("\ radians") + inputs = list("degrees" = IC_PINTYPE_NUMBER) + outputs = list("radians" = IC_PINTYPE_NUMBER) spawn_flags = IC_SPAWN_DEFAULT|IC_SPAWN_RESEARCH /obj/item/integrated_circuit/converter/degrees2radians/do_work() var/result = null pull_data() var/incoming = get_pin_data(IC_INPUT, 1) - if(incoming && isnum(incoming)) + if(!isnull(incoming)) result = ToRadians(incoming) set_pin_data(IC_OUTPUT, 1, result) @@ -221,9 +210,17 @@ name = "abs to rel coordinate converter" desc = "Easily convert absolute coordinates to relative coordinates with this." complexity = 4 - inputs = list("\ X1", "\ Y1", "\ X2", "\ Y2") - outputs = list("\ X", "\ Y") - activators = list("compute rel coordinates" = 1, "on convert" = 0) + inputs = list( + "X1" = IC_PINTYPE_NUMBER, + "Y1" = IC_PINTYPE_NUMBER, + "X2" = IC_PINTYPE_NUMBER, + "Y2" = IC_PINTYPE_NUMBER + ) + outputs = list( + "X" = IC_PINTYPE_NUMBER, + "Y" = IC_PINTYPE_NUMBER + ) + activators = list("compute rel coordinates" = IC_PINTYPE_PULSE_IN, "on convert" = IC_PINTYPE_PULSE_OUT) spawn_flags = IC_SPAWN_DEFAULT|IC_SPAWN_RESEARCH /obj/item/integrated_circuit/converter/abs_to_rel_coords/do_work() @@ -233,7 +230,7 @@ var/x2 = get_pin_data(IC_INPUT, 3) var/y2 = get_pin_data(IC_INPUT, 4) - if(x1 && y1 && x2 && y2) + if(!isnull(x1) && !isnull(y1) && !isnull(x2) && !isnull(y2)) set_pin_data(IC_OUTPUT, 1, x1 - x2) set_pin_data(IC_OUTPUT, 2, y1 - y2) diff --git a/code/modules/integrated_electronics/subtypes/data_transfer.dm b/code/modules/integrated_electronics/subtypes/data_transfer.dm index 92a807906f0..7b5846eb8d0 100644 --- a/code/modules/integrated_electronics/subtypes/data_transfer.dm +++ b/code/modules/integrated_electronics/subtypes/data_transfer.dm @@ -1,114 +1,25 @@ /obj/item/integrated_circuit/transfer category_text = "Data Transfer" - autopulse = 1 power_draw_per_use = 2 -/obj/item/integrated_circuit/transfer/on_data_written() - if(autopulse == 1) - check_then_do_work() - -/obj/item/integrated_circuit/transfer/splitter - name = "splitter" - desc = "Splits incoming data into all of the output pins." - icon_state = "splitter" - complexity = 3 - inputs = list("data to split") - outputs = list("A","B") - spawn_flags = IC_SPAWN_DEFAULT|IC_SPAWN_RESEARCH - -/obj/item/integrated_circuit/transfer/splitter/medium - name = "four splitter" - icon_state = "splitter4" - complexity = 5 - outputs = list("A","B","C","D") - spawn_flags = IC_SPAWN_DEFAULT|IC_SPAWN_RESEARCH - power_draw_per_use = 4 - -/obj/item/integrated_circuit/transfer/splitter/large - name = "eight splitter" - icon_state = "splitter8" - w_class = ITEMSIZE_SMALL - complexity = 9 - outputs = list("A","B","C","D","E","F","G","H") - spawn_flags = IC_SPAWN_RESEARCH - power_draw_per_use = 8 - -/obj/item/integrated_circuit/transfer/splitter/do_work() - var/datum/integrated_io/I = inputs[1] - for(var/datum/integrated_io/output/O in outputs) - O.data = I.data - -/obj/item/integrated_circuit/transfer/activator_splitter - name = "activator splitter" - desc = "Splits incoming activation pulses into all of the output pins." - icon_state = "splitter" - complexity = 3 - activators = list( - "pulse" = 1, - "pulse A" = 0, - "pulse B" = 0 - ) - spawn_flags = IC_SPAWN_DEFAULT|IC_SPAWN_RESEARCH - power_draw_per_use = 2 - -/obj/item/integrated_circuit/transfer/activator_splitter/do_work() - for(var/datum/integrated_io/activate/A in outputs) - if(A == activators[1]) - continue - if(A.linked.len) - for(var/datum/integrated_io/activate/target in A.linked) - target.holder.check_then_do_work() - -/obj/item/integrated_circuit/transfer/activator_splitter/medium - name = "four activator splitter" - icon_state = "splitter4" - complexity = 5 - activators = list( - "pulse" = 1, - "pulse A" = 0, - "pulse B" = 0, - "pulse C" = 0, - "pulse D" = 0 - ) - spawn_flags = IC_SPAWN_DEFAULT|IC_SPAWN_RESEARCH - power_draw_per_use = 4 - -/obj/item/integrated_circuit/transfer/activator_splitter/large - name = "eight activator splitter" - icon_state = "splitter4" - w_class = ITEMSIZE_SMALL - complexity = 9 - activators = list( - "incoming pulse" = 1, - "outgoing pulse A" = 0, - "outgoing pulse B" = 0, - "outgoing pulse C" = 0, - "outgoing pulse D" = 0, - "outgoing pulse E" = 0, - "outgoing pulse F" = 0, - "outgoing pulse G" = 0, - "outgoing pulse H" = 0 - ) - spawn_flags = IC_SPAWN_RESEARCH - power_draw_per_use = 8 - - /obj/item/integrated_circuit/transfer/multiplexer name = "two multiplexer" desc = "This is what those in the business tend to refer to as a 'mux' or data selector. It moves data from one of the selected inputs to the output." - extended_desc = "The first input pin is used to select which of the other input pins which has its data moved to the output. If the input selection is outside the valid range then no output is given." + extended_desc = "The first input pin is used to select which of the other input pins which has its data moved to the output. \ + If the input selection is outside the valid range then no output is given." complexity = 2 icon_state = "mux2" - inputs = list("input selection") - outputs = list("output") - activators = list("select" = 1, "on select" = 0) + inputs = list("input selection" = IC_PINTYPE_NUMBER) + outputs = list("output" = IC_PINTYPE_ANY) + activators = list("select" = IC_PINTYPE_PULSE_IN, "on select" = IC_PINTYPE_PULSE_OUT) spawn_flags = IC_SPAWN_DEFAULT|IC_SPAWN_RESEARCH power_draw_per_use = 4 var/number_of_inputs = 2 /obj/item/integrated_circuit/transfer/multiplexer/New() for(var/i = 1 to number_of_inputs) - inputs += "input [i]" + inputs["input [i]"] = IC_PINTYPE_ANY // This is just a string since pins don't get built until ..() is called. +// inputs += "input [i]" complexity = number_of_inputs ..() desc += " It has [number_of_inputs] input pins." @@ -118,7 +29,7 @@ var/input_index = get_pin_data(IC_INPUT, 1) var/output = null - if(isnum(input_index) && (input_index >= 1 && input_index < inputs.len)) + if(!isnull(input_index) && (input_index >= 1 && input_index < inputs.len)) output = get_pin_data(IC_INPUT, input_index + 1) set_pin_data(IC_OUTPUT, 1, output) @@ -145,19 +56,21 @@ /obj/item/integrated_circuit/transfer/demultiplexer name = "two demultiplexer" desc = "This is what those in the business tend to refer to as a 'demux'. It moves data from the input to one of the selected outputs." - extended_desc = "The first input pin is used to select which of the output pins is given the data from the second input pin. If the output selection is outside the valid range then no output is given." + extended_desc = "The first input pin is used to select which of the output pins is given the data from the second input pin. \ + If the output selection is outside the valid range then no output is given." complexity = 2 icon_state = "dmux2" - inputs = list("output selection","input") + inputs = list("output selection" = IC_PINTYPE_NUMBER, "input" = IC_PINTYPE_ANY) outputs = list() - activators = list("select" = 1) + activators = list("select" = IC_PINTYPE_PULSE_IN, "on select" = IC_PINTYPE_PULSE_OUT) spawn_flags = IC_SPAWN_DEFAULT|IC_SPAWN_RESEARCH power_draw_per_use = 4 var/number_of_outputs = 2 /obj/item/integrated_circuit/transfer/demultiplexer/New() for(var/i = 1 to number_of_outputs) - outputs += "output [i]" + // outputs += "output [i]" + outputs["output [i]"] = IC_PINTYPE_ANY complexity = number_of_outputs ..() @@ -171,6 +84,8 @@ for(var/i = 1 to outputs.len) set_pin_data(IC_OUTPUT, i, i == output_index ? output : null) + activate_pin(2) + /obj/item/integrated_circuit/transfer/demultiplexer/medium name = "four demultiplexer" icon_state = "dmux4" diff --git a/code/modules/integrated_electronics/subtypes/input.dm b/code/modules/integrated_electronics/subtypes/input.dm new file mode 100644 index 00000000000..95ed94b8130 --- /dev/null +++ b/code/modules/integrated_electronics/subtypes/input.dm @@ -0,0 +1,433 @@ +/obj/item/integrated_circuit/input + var/can_be_asked_input = 0 + category_text = "Input" + power_draw_per_use = 5 + +/obj/item/integrated_circuit/input/proc/ask_for_input(mob/user) + return + +/obj/item/integrated_circuit/input/button + name = "button" + desc = "This tiny button must do something, right?" + icon_state = "button" + complexity = 1 + can_be_asked_input = 1 + inputs = list() + outputs = list() + activators = list("on pressed" = IC_PINTYPE_PULSE_IN) + spawn_flags = IC_SPAWN_DEFAULT|IC_SPAWN_RESEARCH + +/obj/item/integrated_circuit/input/button/ask_for_input(mob/user) //Bit misleading name for this specific use. + to_chat(user, "You press the button labeled '[src.name]'.") + activate_pin(1) + +/obj/item/integrated_circuit/input/toggle_button + name = "toggle button" + desc = "It toggles on, off, on, off..." + icon_state = "toggle_button" + complexity = 1 + can_be_asked_input = 1 + inputs = list() + outputs = list("on" = IC_PINTYPE_BOOLEAN) + activators = list("on toggle" = IC_PINTYPE_PULSE_IN) + spawn_flags = IC_SPAWN_DEFAULT|IC_SPAWN_RESEARCH + +/obj/item/integrated_circuit/input/toggle_button/ask_for_input(mob/user) // Ditto. + set_pin_data(IC_OUTPUT, 1, !get_pin_data(IC_OUTPUT, 1)) + push_data() + activate_pin(1) + to_chat(user, "You toggle the button labeled '[src.name]' [get_pin_data(IC_OUTPUT, 1) ? "on" : "off"].") + +/obj/item/integrated_circuit/input/numberpad + name = "number pad" + desc = "This small number pad allows someone to input a number into the system." + icon_state = "numberpad" + complexity = 2 + can_be_asked_input = 1 + inputs = list() + outputs = list("number entered" = IC_PINTYPE_NUMBER) + activators = list("on entered" = IC_PINTYPE_PULSE_IN) + spawn_flags = IC_SPAWN_DEFAULT|IC_SPAWN_RESEARCH + power_draw_per_use = 4 + +/obj/item/integrated_circuit/input/numberpad/ask_for_input(mob/user) + var/new_input = input(user, "Enter a number, please.","Number pad") as null|num + if(isnum(new_input) && CanInteract(user, physical_state)) + set_pin_data(IC_OUTPUT, 1, new_input) + push_data() + activate_pin(1) + +/obj/item/integrated_circuit/input/textpad + name = "text pad" + desc = "This small text pad allows someone to input a string into the system." + icon_state = "textpad" + complexity = 2 + can_be_asked_input = 1 + inputs = list() + outputs = list("string entered" = IC_PINTYPE_STRING) + activators = list("on entered" = IC_PINTYPE_PULSE_IN) + spawn_flags = IC_SPAWN_DEFAULT|IC_SPAWN_RESEARCH + power_draw_per_use = 4 + +/obj/item/integrated_circuit/input/textpad/ask_for_input(mob/user) + var/new_input = input(user, "Enter some words, please.","Number pad") as null|text + if(istext(new_input) && CanInteract(user, physical_state)) + set_pin_data(IC_OUTPUT, 1, new_input) + push_data() + activate_pin(1) + +/obj/item/integrated_circuit/input/med_scanner + name = "integrated medical analyser" + desc = "A very small version of the common medical analyser. This allows the machine to know how healthy someone is." + icon_state = "medscan" + complexity = 4 + inputs = list("\ target") + outputs = list( + "total health %" = IC_PINTYPE_NUMBER, + "total missing health" = IC_PINTYPE_NUMBER + ) + activators = list("scan" = IC_PINTYPE_PULSE_IN, "on scanned" = IC_PINTYPE_PULSE_OUT) + spawn_flags = IC_SPAWN_DEFAULT|IC_SPAWN_RESEARCH + origin_tech = list(TECH_ENGINEERING = 2, TECH_DATA = 2, TECH_BIO = 2) + power_draw_per_use = 40 + +/obj/item/integrated_circuit/input/med_scanner/do_work() + var/mob/living/carbon/human/H = get_pin_data_as_type(IC_INPUT, 1, /mob/living/carbon/human) + if(!istype(H)) //Invalid input + return + if(H.Adjacent(get_turf(src))) // Like normal analysers, it can't be used at range. + var/total_health = round(H.health/H.getMaxHealth(), 0.01)*100 + var/missing_health = H.getMaxHealth() - H.health + + set_pin_data(IC_OUTPUT, 1, total_health) + set_pin_data(IC_OUTPUT, 2, missing_health) + + push_data() + activate_pin(2) + +/obj/item/integrated_circuit/input/adv_med_scanner + name = "integrated advanced medical analyser" + desc = "A very small version of the common medical analyser. This allows the machine to know how healthy someone is. \ + This type is much more precise, allowing the machine to know much more about the target than a normal analyzer." + icon_state = "medscan_adv" + complexity = 12 + inputs = list("\ target") + outputs = list( + "total health %" = IC_PINTYPE_NUMBER, + "total missing health" = IC_PINTYPE_NUMBER, + "brute damage" = IC_PINTYPE_NUMBER, + "burn damage" = IC_PINTYPE_NUMBER, + "tox damage" = IC_PINTYPE_NUMBER, + "oxy damage" = IC_PINTYPE_NUMBER, + "clone damage" = IC_PINTYPE_NUMBER + ) + activators = list("scan" = IC_PINTYPE_PULSE_IN, "on scanned" = IC_PINTYPE_PULSE_OUT) + spawn_flags = IC_SPAWN_RESEARCH + origin_tech = list(TECH_ENGINEERING = 3, TECH_DATA = 3, TECH_BIO = 4) + power_draw_per_use = 80 + +/obj/item/integrated_circuit/input/adv_med_scanner/do_work() + var/mob/living/carbon/human/H = get_pin_data_as_type(IC_INPUT, 1, /mob/living/carbon/human) + if(!istype(H)) //Invalid input + return + if(H.Adjacent(get_turf(src))) // Like normal analysers, it can't be used at range. + var/total_health = round(H.health/H.getMaxHealth(), 0.01)*100 + var/missing_health = H.getMaxHealth() - H.health + + set_pin_data(IC_OUTPUT, 1, total_health) + set_pin_data(IC_OUTPUT, 2, missing_health) + set_pin_data(IC_OUTPUT, 3, H.getBruteLoss()) + set_pin_data(IC_OUTPUT, 4, H.getFireLoss()) + set_pin_data(IC_OUTPUT, 5, H.getToxLoss()) + set_pin_data(IC_OUTPUT, 6, H.getOxyLoss()) + set_pin_data(IC_OUTPUT, 7, H.getCloneLoss()) + + push_data() + activate_pin(2) + +/obj/item/integrated_circuit/input/local_locator + name = "local locator" + desc = "This is needed for certain devices that demand a reference for a target to act upon. This type only locates something \ + that is holding the machine containing it." + inputs = list() + outputs = list("located ref") + activators = list("locate" = IC_PINTYPE_PULSE_IN) + spawn_flags = IC_SPAWN_DEFAULT|IC_SPAWN_RESEARCH + power_draw_per_use = 20 + +/obj/item/integrated_circuit/input/local_locator/do_work() + var/datum/integrated_io/O = outputs[1] + O.data = null + if(assembly) + if(istype(assembly.loc, /mob/living)) // Now check if someone's holding us. + O.data = weakref(assembly.loc) + + O.push_data() + +/obj/item/integrated_circuit/input/adjacent_locator + name = "adjacent locator" + desc = "This is needed for certain devices that demand a reference for a target to act upon. This type only locates something \ + that is standing a meter away from the machine." + extended_desc = "The first pin requires a ref to a kind of object that you want the locator to acquire. This means that it will \ + give refs to nearby objects that are similar. If more than one valid object is found nearby, it will choose one of them at \ + random." + inputs = list("desired type ref") + outputs = list("located ref") + activators = list("locate" = IC_PINTYPE_PULSE_IN) + spawn_flags = IC_SPAWN_DEFAULT|IC_SPAWN_RESEARCH + power_draw_per_use = 30 + +/obj/item/integrated_circuit/input/adjacent_locator/do_work() + var/datum/integrated_io/I = inputs[1] + var/datum/integrated_io/O = outputs[1] + O.data = null + + if(!isweakref(I.data)) + return + var/atom/A = I.data.resolve() + if(!A) + return + var/desired_type = A.type + + var/list/nearby_things = range(1, get_turf(src)) + var/list/valid_things = list() + for(var/atom/thing in nearby_things) + if(thing.type != desired_type) + continue + valid_things.Add(thing) + if(valid_things.len) + O.data = weakref(pick(valid_things)) + O.push_data() + +/obj/item/integrated_circuit/input/signaler + name = "integrated signaler" + desc = "Signals from a signaler can be received with this, allowing for remote control. Additionally, it can send signals as well." + extended_desc = "When a signal is received from another signaler, the 'on signal received' activator pin will be pulsed. \ + The two input pins are to configure the integrated signaler's settings. Note that the frequency should not have a decimal in it. \ + Meaning the default frequency is expressed as 1457, not 145.7. To send a signal, pulse the 'send signal' activator pin." + icon_state = "signal" + complexity = 4 + inputs = list("frequency" = IC_PINTYPE_NUMBER,"code" = IC_PINTYPE_NUMBER) + outputs = list() + activators = list( + "send signal" = IC_PINTYPE_PULSE_IN, + "on signal sent" = IC_PINTYPE_PULSE_OUT, + "on signal received" = IC_PINTYPE_PULSE_OUT) + spawn_flags = IC_SPAWN_DEFAULT|IC_SPAWN_RESEARCH + origin_tech = list(TECH_ENGINEERING = 2, TECH_DATA = 2, TECH_MAGNET = 2) + power_draw_idle = 5 + power_draw_per_use = 40 + + var/frequency = 1457 + var/code = 30 + var/datum/radio_frequency/radio_connection + +/obj/item/integrated_circuit/input/signaler/initialize() + ..() + set_frequency(frequency) + // Set the pins so when someone sees them, they won't show as null + set_pin_data(IC_INPUT, 1, frequency) + set_pin_data(IC_INPUT, 2, code) + +/obj/item/integrated_circuit/input/signaler/Destroy() + if(radio_controller) + radio_controller.remove_object(src,frequency) + frequency = 0 + . = ..() + +/obj/item/integrated_circuit/input/signaler/on_data_written() + var/new_freq = get_pin_data(IC_INPUT, 1) + var/new_code = get_pin_data(IC_INPUT, 2) + if(isnum(new_freq) && new_freq > 0) + set_frequency(new_freq) + if(isnum(new_code)) + code = new_code + + +/obj/item/integrated_circuit/input/signaler/do_work() // Sends a signal. + if(!radio_connection) + return + + var/datum/signal/signal = new() + signal.source = src + signal.encryption = code + signal.data["message"] = "ACTIVATE" + radio_connection.post_signal(src, signal) + activate_pin(2) + +/obj/item/integrated_circuit/input/signaler/proc/set_frequency(new_frequency) + if(!frequency) + return + if(!radio_controller) + sleep(20) + if(!radio_controller) + return + radio_controller.remove_object(src, frequency) + frequency = new_frequency + radio_connection = radio_controller.add_object(src, frequency, RADIO_CHAT) + +/obj/item/integrated_circuit/input/signaler/receive_signal(datum/signal/signal) + var/new_code = get_pin_data(IC_INPUT, 2) + var/code = 0 + + if(isnum(new_code)) + code = new_code + if(!signal) + return 0 + if(signal.encryption != code) + return 0 + if(signal.source == src) // Don't trigger ourselves. + return 0 + + activate_pin(3) + + for(var/mob/O in hearers(1, get_turf(src))) + O.show_message(text("\icon[] *beep* *beep*", src), 3, "*beep* *beep*", 2) + +/obj/item/integrated_circuit/input/EPv2 + name = "\improper EPv2 circuit" + desc = "Enables the sending and receiving of messages on the Exonet with the EPv2 protocol." + extended_desc = "An EPv2 address is a string with the format of XXXX:XXXX:XXXX:XXXX. Data can be send or received using the \ + second pin on each side, with additonal data reserved for the third pin. When a message is received, the second activaiton pin \ + will pulse whatever's connected to it. Pulsing the first activation pin will send a message." + icon_state = "signal" + complexity = 4 + inputs = list( + "target EPv2 address" = IC_PINTYPE_STRING, + "data to send" = IC_PINTYPE_STRING, + "secondary text" = IC_PINTYPE_STRING + ) + outputs = list( + "address received" = IC_PINTYPE_STRING, + "data received" = IC_PINTYPE_STRING, + "secondary text received" = IC_PINTYPE_STRING + ) + activators = list("send data" = IC_PINTYPE_PULSE_IN, "on data received" = IC_PINTYPE_PULSE_OUT) + spawn_flags = IC_SPAWN_DEFAULT|IC_SPAWN_RESEARCH + origin_tech = list(TECH_ENGINEERING = 2, TECH_DATA = 2, TECH_MAGNET = 2, TECH_BLUESPACE = 2) + power_draw_per_use = 50 + var/datum/exonet_protocol/exonet = null + +/obj/item/integrated_circuit/input/EPv2/New() + ..() + exonet = new(src) + exonet.make_address("EPv2_circuit-\ref[src]") + desc += "
    This circuit's EPv2 address is: [exonet.address]" + +/obj/item/integrated_circuit/input/EPv2/Destroy() + if(exonet) + exonet.remove_address() + qdel(exonet) + exonet = null + return ..() + +/obj/item/integrated_circuit/input/EPv2/do_work() + var/target_address = get_pin_data(IC_INPUT, 1) + var/message = get_pin_data(IC_INPUT, 2) + var/text = get_pin_data(IC_INPUT, 3) + + if(target_address && istext(target_address)) + exonet.send_message(target_address, message, text) + +/obj/item/integrated_circuit/input/receive_exonet_message(var/atom/origin_atom, var/origin_address, var/message, var/text) + set_pin_data(IC_OUTPUT, 1, origin_address) + set_pin_data(IC_OUTPUT, 2, message) + set_pin_data(IC_OUTPUT, 3, text) + + push_data() + activate_pin(2) + +//This circuit gives information on where the machine is. +/obj/item/integrated_circuit/input/gps + name = "global positioning system" + desc = "This allows you to easily know the position of a machine containing this device." + extended_desc = "The GPS's coordinates it gives is absolute, not relative." + icon_state = "gps" + complexity = 4 + inputs = list() + outputs = list("X"= IC_PINTYPE_NUMBER, "Y" = IC_PINTYPE_NUMBER) + activators = list("get coordinates" = IC_PINTYPE_PULSE_IN, "on get coordinates" = IC_PINTYPE_PULSE_OUT) + spawn_flags = IC_SPAWN_DEFAULT|IC_SPAWN_RESEARCH + power_draw_per_use = 30 + +/obj/item/integrated_circuit/input/gps/do_work() + var/turf/T = get_turf(src) + + set_pin_data(IC_OUTPUT, 1, null) + set_pin_data(IC_OUTPUT, 2, null) + if(!T) + return + + set_pin_data(IC_OUTPUT, 1, T.x) + set_pin_data(IC_OUTPUT, 2, T.y) + + push_data() + activate_pin(2) + + +/obj/item/integrated_circuit/input/microphone + name = "microphone" + desc = "Useful for spying on people or for voice activated machines." + extended_desc = "This will automatically translate most languages it hears to Galactic Common. \ + The first activation pin is always pulsed when the circuit hears someone talk, while the second one \ + is only triggered if it hears someone speaking a language other than Galactic Common." + icon_state = "recorder" + complexity = 8 + inputs = list() + outputs = list( + "speaker" = IC_PINTYPE_STRING, + "message" = IC_PINTYPE_STRING + ) + activators = list("on message received" = IC_PINTYPE_PULSE_IN, "on translation" = IC_PINTYPE_PULSE_OUT) + spawn_flags = IC_SPAWN_DEFAULT|IC_SPAWN_RESEARCH + power_draw_per_use = 15 + +/obj/item/integrated_circuit/input/microphone/New() + ..() + listening_objects |= src + +/obj/item/integrated_circuit/input/microphone/Destroy() + listening_objects -= src + return ..() + +/obj/item/integrated_circuit/input/microphone/hear_talk(mob/living/M, msg, var/verb="says", datum/language/speaking=null) + var/translated = FALSE + if(M && msg) + if(speaking) + if(!speaking.machine_understands) + msg = speaking.scramble(msg) + if(!istype(speaking, /datum/language/common)) + translated = TRUE + set_pin_data(IC_OUTPUT, 1, M.GetVoice()) + set_pin_data(IC_OUTPUT, 2, msg) + + push_data() + activate_pin(1) + if(translated) + activate_pin(2) + + + +/obj/item/integrated_circuit/input/sensor + name = "sensor" + desc = "Scans and obtains a reference for any objects or persons near you. All you need to do is shove the machine in their face." + extended_desc = "If 'ignore storage' pin is set to true, the sensor will disregard scanning various storage containers such as backpacks." + icon_state = "recorder" + complexity = 12 + inputs = list("ignore storage" = IC_PINTYPE_BOOLEAN) + outputs = list("scanned" = IC_PINTYPE_REF) + activators = list("on scanned" = IC_PINTYPE_PULSE_OUT) + spawn_flags = IC_SPAWN_DEFAULT|IC_SPAWN_RESEARCH + power_draw_per_use = 120 + +/obj/item/integrated_circuit/input/sensor/proc/scan(var/atom/A) + var/ignore_bags = get_pin_data(IC_INPUT, 1) + if(ignore_bags) + if(istype(A, /obj/item/weapon/storage)) + return FALSE + + set_pin_data(IC_OUTPUT, 1, weakref(A)) + push_data() + activate_pin(1) + return TRUE + diff --git a/code/modules/integrated_electronics/subtypes/input_output.dm b/code/modules/integrated_electronics/subtypes/input_output.dm deleted file mode 100644 index 05bb7113794..00000000000 --- a/code/modules/integrated_electronics/subtypes/input_output.dm +++ /dev/null @@ -1,762 +0,0 @@ -/obj/item/integrated_circuit/input - var/can_be_asked_input = 0 - category_text = "Input" - power_draw_per_use = 5 - -/obj/item/integrated_circuit/input/proc/ask_for_input(mob/user) - return - -/obj/item/integrated_circuit/input/button - name = "button" - desc = "This tiny button must do something, right?" - icon_state = "button" - complexity = 1 - can_be_asked_input = 1 - inputs = list() - outputs = list() - activators = list("on pressed" = 0) - spawn_flags = IC_SPAWN_DEFAULT|IC_SPAWN_RESEARCH - -/obj/item/integrated_circuit/input/button/ask_for_input(mob/user) //Bit misleading name for this specific use. - to_chat(user, "You press the button labeled '[src.name]'.") - activate_pin(1) - -/obj/item/integrated_circuit/input/toggle_button - name = "toggle button" - desc = "It toggles on, off, on, off..." - icon_state = "toggle_button" - complexity = 1 - can_be_asked_input = 1 - inputs = list() - outputs = list("\ on" = 0) - activators = list("on toggle" = 0) - spawn_flags = IC_SPAWN_DEFAULT|IC_SPAWN_RESEARCH - -/obj/item/integrated_circuit/input/toggle_button/ask_for_input(mob/user) // Ditto. - set_pin_data(IC_OUTPUT, 1, !get_pin_data(IC_OUTPUT, 1)) - push_data() - activate_pin(1) - to_chat(user, "You toggle the button labeled '[src.name]' [get_pin_data(IC_OUTPUT, 1) ? "on" : "off"].") - -/obj/item/integrated_circuit/input/numberpad - name = "number pad" - desc = "This small number pad allows someone to input a number into the system." - icon_state = "numberpad" - complexity = 2 - can_be_asked_input = 1 - inputs = list() - outputs = list("\ number entered") - activators = list("on entered" = 0) - spawn_flags = IC_SPAWN_DEFAULT|IC_SPAWN_RESEARCH - power_draw_per_use = 4 - -/obj/item/integrated_circuit/input/numberpad/ask_for_input(mob/user) - var/new_input = input(user, "Enter a number, please.","Number pad") as null|num - if(isnum(new_input) && CanInteract(user, physical_state)) - set_pin_data(IC_OUTPUT, 1, new_input) - push_data() - activate_pin(1) - -/obj/item/integrated_circuit/input/textpad - name = "text pad" - desc = "This small text pad allows someone to input a string into the system." - icon_state = "textpad" - complexity = 2 - can_be_asked_input = 1 - inputs = list() - outputs = list("\ string entered") - activators = list("on entered" = 0) - spawn_flags = IC_SPAWN_DEFAULT|IC_SPAWN_RESEARCH - power_draw_per_use = 4 - -/obj/item/integrated_circuit/input/textpad/ask_for_input(mob/user) - var/new_input = input(user, "Enter some words, please.","Number pad") as null|text - if(istext(new_input) && CanInteract(user, physical_state)) - set_pin_data(IC_OUTPUT, 1, new_input) - push_data() - activate_pin(1) - -/obj/item/integrated_circuit/input/med_scanner - name = "integrated medical analyser" - desc = "A very small version of the common medical analyser. This allows the machine to know how healthy someone is." - icon_state = "medscan" - complexity = 4 - inputs = list("\ target") - outputs = list("\ total health %", "\ total missing health") - activators = list("scan" = 1, "on scanned" = 0) - spawn_flags = IC_SPAWN_DEFAULT|IC_SPAWN_RESEARCH - origin_tech = list(TECH_ENGINEERING = 2, TECH_DATA = 2, TECH_BIO = 2) - power_draw_per_use = 40 - -/obj/item/integrated_circuit/input/med_scanner/do_work() - var/mob/living/carbon/human/H = get_pin_data_as_type(IC_INPUT, 1, /mob/living/carbon/human) - if(!istype(H)) //Invalid input - return - if(H.Adjacent(get_turf(src))) // Like normal analysers, it can't be used at range. - var/total_health = round(H.health/H.getMaxHealth(), 0.1)*100 - var/missing_health = H.getMaxHealth() - H.health - - set_pin_data(IC_OUTPUT, 1, total_health) - set_pin_data(IC_OUTPUT, 2, missing_health) - - push_data() - activate_pin(2) - -/obj/item/integrated_circuit/input/adv_med_scanner - name = "integrated advanced medical analyser" - desc = "A very small version of the common medical analyser. This allows the machine to know how healthy someone is. \ - This type is much more precise, allowing the machine to know much more about the target than a normal analyzer." - icon_state = "medscan_adv" - complexity = 12 - inputs = list("\ target") - outputs = list( - "\ total health %", - "\ total missing health", - "\ brute damage", - "\ burn damage", - "\ tox damage", - "\ oxy damage", - "\ clone damage" - ) - activators = list("scan" = 1, "on scanned" = 0) - spawn_flags = IC_SPAWN_RESEARCH - origin_tech = list(TECH_ENGINEERING = 3, TECH_DATA = 3, TECH_BIO = 4) - power_draw_per_use = 80 - -/obj/item/integrated_circuit/input/adv_med_scanner/do_work() - var/mob/living/carbon/human/H = get_pin_data_as_type(IC_INPUT, 1, /mob/living/carbon/human) - if(!istype(H)) //Invalid input - return - if(H.Adjacent(get_turf(src))) // Like normal analysers, it can't be used at range. - var/total_health = round(H.health/H.getMaxHealth(), 0.1)*100 - var/missing_health = H.getMaxHealth() - H.health - - set_pin_data(IC_OUTPUT, 1, total_health) - set_pin_data(IC_OUTPUT, 2, missing_health) - set_pin_data(IC_OUTPUT, 3, H.getBruteLoss()) - set_pin_data(IC_OUTPUT, 4, H.getFireLoss()) - set_pin_data(IC_OUTPUT, 5, H.getToxLoss()) - set_pin_data(IC_OUTPUT, 6, H.getOxyLoss()) - set_pin_data(IC_OUTPUT, 7, H.getCloneLoss()) - - push_data() - activate_pin(2) - -/obj/item/integrated_circuit/input/local_locator - name = "local locator" - desc = "This is needed for certain devices that demand a reference for a target to act upon. This type only locates something \ - that is holding the machine containing it." - inputs = list() - outputs = list("located ref") - activators = list("locate" = 1) - spawn_flags = IC_SPAWN_DEFAULT|IC_SPAWN_RESEARCH - power_draw_per_use = 20 - -/obj/item/integrated_circuit/input/local_locator/do_work() - var/datum/integrated_io/O = outputs[1] - O.data = null - if(assembly) - if(istype(assembly.loc, /mob/living)) // Now check if someone's holding us. - O.data = weakref(assembly.loc) - - O.push_data() - -/obj/item/integrated_circuit/input/adjacent_locator - name = "adjacent locator" - desc = "This is needed for certain devices that demand a reference for a target to act upon. This type only locates something \ - that is standing a meter away from the machine." - extended_desc = "The first pin requires a ref to a kind of object that you want the locator to acquire. This means that it will \ - give refs to nearby objects that are similar. If more than one valid object is found nearby, it will choose one of them at \ - random." - inputs = list("desired type ref") - outputs = list("located ref") - activators = list("locate" = 1) - spawn_flags = IC_SPAWN_DEFAULT|IC_SPAWN_RESEARCH - power_draw_per_use = 30 - -/obj/item/integrated_circuit/input/adjacent_locator/do_work() - var/datum/integrated_io/I = inputs[1] - var/datum/integrated_io/O = outputs[1] - O.data = null - - if(!isweakref(I.data)) - return - var/atom/A = I.data.resolve() - if(!A) - return - var/desired_type = A.type - - var/list/nearby_things = range(1, get_turf(src)) - var/list/valid_things = list() - for(var/atom/thing in nearby_things) - if(thing.type != desired_type) - continue - valid_things.Add(thing) - if(valid_things.len) - O.data = weakref(pick(valid_things)) - O.push_data() - -/obj/item/integrated_circuit/input/signaler - name = "integrated signaler" - desc = "Signals from a signaler can be received with this, allowing for remote control. Additionally, it can send signals as well." - extended_desc = "When a signal is received from another signaler, the 'on signal received' activator pin will be pulsed. \ - The two input pins are to configure the integrated signaler's settings. Note that the frequency should not have a decimal in it. \ - Meaning the default frequency is expressed as 1457, not 145.7. To send a signal, pulse the 'send signal' activator pin." - icon_state = "signal" - complexity = 4 - inputs = list("\ frequency","\ code") - outputs = list() - activators = list("send signal" = 1,"on signal sent" = 0, "on signal received" = 0) - spawn_flags = IC_SPAWN_DEFAULT|IC_SPAWN_RESEARCH - origin_tech = list(TECH_ENGINEERING = 2, TECH_DATA = 2, TECH_MAGNET = 2) - power_draw_idle = 5 - power_draw_per_use = 40 - - var/frequency = 1457 - var/code = 30 - var/datum/radio_frequency/radio_connection - -/obj/item/integrated_circuit/input/signaler/initialize() - ..() - set_frequency(frequency) - // Set the pins so when someone sees them, they won't show as null - set_pin_data(IC_INPUT, 1, frequency) - set_pin_data(IC_INPUT, 2, code) - -/obj/item/integrated_circuit/input/signaler/Destroy() - if(radio_controller) - radio_controller.remove_object(src,frequency) - frequency = 0 - . = ..() - -/obj/item/integrated_circuit/input/signaler/on_data_written() - var/new_freq = get_pin_data(IC_INPUT, 1) - var/new_code = get_pin_data(IC_INPUT, 2) - if(isnum(new_freq) && new_freq > 0) - set_frequency(new_freq) - if(isnum(new_code)) - code = new_code - - -/obj/item/integrated_circuit/input/signaler/do_work() // Sends a signal. - if(!radio_connection) - return - - var/datum/signal/signal = new() - signal.source = src - signal.encryption = code - signal.data["message"] = "ACTIVATE" - radio_connection.post_signal(src, signal) - activate_pin(2) - -/obj/item/integrated_circuit/input/signaler/proc/set_frequency(new_frequency) - if(!frequency) - return - if(!radio_controller) - sleep(20) - if(!radio_controller) - return - radio_controller.remove_object(src, frequency) - frequency = new_frequency - radio_connection = radio_controller.add_object(src, frequency, RADIO_CHAT) - -/obj/item/integrated_circuit/input/signaler/receive_signal(datum/signal/signal) - var/new_code = get_pin_data(IC_INPUT, 2) - var/code = 0 - - if(isnum(new_code)) - code = new_code - if(!signal) - return 0 - if(signal.encryption != code) - return 0 - if(signal.source == src) // Don't trigger ourselves. - return 0 - - activate_pin(3) - - for(var/mob/O in hearers(1, get_turf(src))) - O.show_message(text("\icon[] *beep* *beep*", src), 3, "*beep* *beep*", 2) - -/obj/item/integrated_circuit/input/EPv2 - name = "\improper EPv2 circuit" - desc = "Enables the sending and receiving of messages on the Exonet with the EPv2 protocol." - extended_desc = "An EPv2 address is a string with the format of XXXX:XXXX:XXXX:XXXX. Data can be send or received using the \ - second pin on each side, with additonal data reserved for the third pin. When a message is received, the second activaiton pin \ - will pulse whatever's connected to it. Pulsing the first activation pin will send a message." - icon_state = "signal" - complexity = 4 - inputs = list("\ target EPv2 address", "\ data to send", "\ secondary text") - outputs = list("\ address received", "\ data received", "\ secondary text received") - activators = list("send data" = 1, "on data received" = 0) - spawn_flags = IC_SPAWN_DEFAULT|IC_SPAWN_RESEARCH - origin_tech = list(TECH_ENGINEERING = 2, TECH_DATA = 2, TECH_MAGNET = 2, TECH_BLUESPACE = 2) - power_draw_per_use = 50 - var/datum/exonet_protocol/exonet = null - -/obj/item/integrated_circuit/input/EPv2/New() - ..() - exonet = new(src) - exonet.make_address("EPv2_circuit-\ref[src]") - desc += "
    This circuit's EPv2 address is: [exonet.address]" - -/obj/item/integrated_circuit/input/EPv2/Destroy() - if(exonet) - exonet.remove_address() - qdel(exonet) - exonet = null - return ..() - -/obj/item/integrated_circuit/input/EPv2/do_work() - var/target_address = get_pin_data(IC_INPUT, 1) - var/message = get_pin_data(IC_INPUT, 2) - var/text = get_pin_data(IC_INPUT, 3) - - if(target_address && istext(target_address)) - exonet.send_message(target_address, message, text) - -/obj/item/integrated_circuit/input/receive_exonet_message(var/atom/origin_atom, var/origin_address, var/message, var/text) - set_pin_data(IC_OUTPUT, 1, origin_address) - set_pin_data(IC_OUTPUT, 2, message) - set_pin_data(IC_OUTPUT, 3, text) - - push_data() - activate_pin(2) - -//This circuit gives information on where the machine is. -/obj/item/integrated_circuit/input/gps - name = "global positioning system" - desc = "This allows you to easily know the position of a machine containing this device." - extended_desc = "The GPS's coordinates it gives is absolute, not relative." - icon_state = "gps" - complexity = 4 - inputs = list() - outputs = list("\ X", "\ Y") - activators = list("get coordinates" = 1, "on get coordinates" = 0) - spawn_flags = IC_SPAWN_DEFAULT|IC_SPAWN_RESEARCH - power_draw_per_use = 30 - -/obj/item/integrated_circuit/input/gps/do_work() - var/turf/T = get_turf(src) - - set_pin_data(IC_OUTPUT, 1, null) - set_pin_data(IC_OUTPUT, 2, null) - if(!T) - return - - set_pin_data(IC_OUTPUT, 1, T.x) - set_pin_data(IC_OUTPUT, 2, T.y) - - push_data() - activate_pin(2) - - -/obj/item/integrated_circuit/input/microphone - name = "microphone" - desc = "Useful for spying on people or for voice activated machines." - extended_desc = "This will automatically translate most languages it hears to Galactic Common. \ - The first activation pin is always pulsed when the circuit hears someone talk, while the second one \ - is only triggered if it hears someone speaking a language other than Galactic Common." - icon_state = "recorder" - complexity = 8 - inputs = list() - outputs = list("\ speaker", "\ message") - activators = list("on message received" = 1, "on translation" = 0) - spawn_flags = IC_SPAWN_DEFAULT|IC_SPAWN_RESEARCH - power_draw_per_use = 15 - -/obj/item/integrated_circuit/input/microphone/New() - ..() - listening_objects |= src - -/obj/item/integrated_circuit/input/microphone/Destroy() - listening_objects -= src - return ..() - -/obj/item/integrated_circuit/input/microphone/hear_talk(mob/living/M, msg, var/verb="says", datum/language/speaking=null) - var/translated = FALSE - if(M && msg) - if(speaking) - if(!speaking.machine_understands) - msg = speaking.scramble(msg) - if(!istype(speaking, /datum/language/common)) - translated = TRUE - set_pin_data(IC_OUTPUT, 1, M.GetVoice()) - set_pin_data(IC_OUTPUT, 2, msg) - - push_data() - activate_pin(1) - if(translated) - activate_pin(2) - - - -/obj/item/integrated_circuit/input/sensor - name = "sensor" - desc = "Scans and obtains a reference for any objects or persons near you. All you need to do is shove the machine in their face." - extended_desc = "If 'ignore storage' pin is set to 1, the sensor will disregard scanning various storage containers such as backpacks." - icon_state = "recorder" - complexity = 12 - inputs = list("\ ignore storage" = 1) - outputs = list("\ scanned") - activators = list("on scanned" = 0) - spawn_flags = IC_SPAWN_DEFAULT|IC_SPAWN_RESEARCH - power_draw_per_use = 120 - -/obj/item/integrated_circuit/input/sensor/proc/scan(var/atom/A) - var/ignore_bags = get_pin_data(IC_INPUT, 1) - if(ignore_bags) - if(istype(A, /obj/item/weapon/storage)) - return FALSE - - set_pin_data(IC_OUTPUT, 1, weakref(A)) - push_data() - activate_pin(1) - return TRUE - -/obj/item/integrated_circuit/output - category_text = "Output" - -/obj/item/integrated_circuit/output/screen - name = "small screen" - desc = "This small screen can display a single piece of data, when the machine is examined closely." - icon_state = "screen" - inputs = list("\ displayed data") - outputs = list() - activators = list("load data" = 1) - spawn_flags = IC_SPAWN_DEFAULT|IC_SPAWN_RESEARCH - power_draw_per_use = 10 - autopulse = 1 - var/stuff_to_display = null - - -/obj/item/integrated_circuit/output/screen/disconnect_all() - ..() - stuff_to_display = null - -/obj/item/integrated_circuit/output/screen/any_examine(mob/user) - to_chat(user, "There is a little screen labeled '[name]', which displays [stuff_to_display ? "'[stuff_to_display]'" : "nothing"].") - -/obj/item/integrated_circuit/output/screen/do_work() - var/datum/integrated_io/I = inputs[1] - if(isweakref(I.data)) - var/datum/d = I.data_as_type(/datum) - if(d) - stuff_to_display = "[d]" - else - stuff_to_display = I.data - -/obj/item/integrated_circuit/output/screen/medium - name = "screen" - desc = "This screen allows for people holding the device to see a piece of data." - icon_state = "screen_medium" - power_draw_per_use = 20 - -/obj/item/integrated_circuit/output/screen/medium/do_work() - ..() - var/list/nearby_things = range(0, get_turf(src)) - for(var/mob/M in nearby_things) - var/obj/O = assembly ? assembly : src - to_chat(M, "\icon[O] [stuff_to_display]") - -/obj/item/integrated_circuit/output/screen/large - name = "large screen" - desc = "This screen allows for people able to see the device to see a piece of data." - icon_state = "screen_large" - power_draw_per_use = 40 - -/obj/item/integrated_circuit/output/screen/large/do_work() - ..() - var/obj/O = assembly ? loc : assembly - O.visible_message("\icon[O] [stuff_to_display]") - -/obj/item/integrated_circuit/output/light - name = "light" - desc = "This light can turn on and off on command." - icon_state = "light" - complexity = 4 - inputs = list() - outputs = list() - activators = list("toggle light" = 1) - spawn_flags = IC_SPAWN_DEFAULT|IC_SPAWN_RESEARCH - var/light_toggled = 0 - var/light_brightness = 3 - var/light_rgb = "#FFFFFF" - power_draw_idle = 0 // Adjusted based on brightness. - -/obj/item/integrated_circuit/output/light/do_work() - light_toggled = !light_toggled - update_lighting() - -/obj/item/integrated_circuit/output/light/proc/update_lighting() - if(light_toggled) - set_light(l_range = light_brightness, l_power = light_brightness, l_color = light_rgb) - else - set_light(0) - power_draw_idle = light_toggled ? light_brightness * 2 : 0 - -/obj/item/integrated_circuit/output/light/advanced/update_lighting() - var/R = get_pin_data(IC_INPUT, 1) - var/G = get_pin_data(IC_INPUT, 2) - var/B = get_pin_data(IC_INPUT, 3) - var/brightness = get_pin_data(IC_INPUT, 4) - - if(isnum(R) && isnum(G) && isnum(B) && isnum(brightness)) - R = Clamp(R, 0, 255) - G = Clamp(G, 0, 255) - B = Clamp(B, 0, 255) - brightness = Clamp(brightness, 0, 6) - light_rgb = rgb(R, G, B) - light_brightness = brightness - - ..() - -/obj/item/integrated_circuit/output/light/power_fail() // Turns off the flashlight if there's no power left. - light_toggled = FALSE - update_lighting() - -/obj/item/integrated_circuit/output/light/advanced - name = "advanced light" - desc = "This light can turn on and off on command, in any color, and in various brightness levels." - icon_state = "light_adv" - complexity = 8 - inputs = list( - "\ R", - "\ G", - "\ B", - "\ Brightness" - ) - outputs = list() - spawn_flags = IC_SPAWN_DEFAULT|IC_SPAWN_RESEARCH - origin_tech = list(TECH_ENGINEERING = 3, TECH_DATA = 3) - -/obj/item/integrated_circuit/output/light/advanced/on_data_written() - update_lighting() - -/obj/item/integrated_circuit/output/sound - name = "speaker circuit" - desc = "A miniature speaker is attached to this component." - icon_state = "speaker" - complexity = 8 - cooldown_per_use = 4 SECONDS - inputs = list( - "\ sound ID", - "\ volume", - "\ frequency" - ) - outputs = list() - activators = list("play sound" = 1) - power_draw_per_use = 20 - var/list/sounds = list() - -/obj/item/integrated_circuit/output/text_to_speech - name = "text-to-speech circuit" - desc = "A miniature speaker is attached to this component." - extended_desc = "This unit is more advanced than the plain speaker circuit, able to transpose any valid text to speech." - icon_state = "speaker" - complexity = 12 - cooldown_per_use = 4 SECONDS - inputs = list("text") - outputs = list() - activators = list("to speech" = 1) - spawn_flags = IC_SPAWN_DEFAULT|IC_SPAWN_RESEARCH - power_draw_per_use = 60 - -/obj/item/integrated_circuit/output/text_to_speech/do_work() - var/datum/integrated_io/text = inputs[1] - if(istext(text.data)) - var/obj/O = assembly ? loc : assembly - audible_message("\icon[O] \The [O.name] states, \"[text.data]\"") - -/obj/item/integrated_circuit/output/sound/New() - ..() - extended_desc = list() - extended_desc += "The first input pin determines which sound is used. The choices are; " - extended_desc += jointext(sounds, ", ") - extended_desc += ". The second pin determines the volume of sound that is played" - extended_desc += ", and the third determines if the frequency of the sound will vary with each activation." - extended_desc = jointext(extended_desc, null) - -/obj/item/integrated_circuit/output/sound/do_work() - var/datum/integrated_io/ID = inputs[1] - var/datum/integrated_io/vol = inputs[2] - var/datum/integrated_io/frequency = inputs[3] - if(istext(ID.data) && isnum(vol.data) && isnum(frequency.data)) - var/selected_sound = sounds[ID.data] - if(!selected_sound) - return - vol.data = Clamp(vol.data, 0, 100) - frequency.data = round(Clamp(frequency.data, 0, 1)) - playsound(get_turf(src), selected_sound, vol.data, frequency.data, -1) - -/obj/item/integrated_circuit/output/sound/beeper - name = "beeper circuit" - desc = "A miniature speaker is attached to this component. This is often used in the construction of motherboards, which use \ - the speaker to tell the user if something goes very wrong when booting up. It can also do other similar synthetic sounds such \ - as buzzing, pinging, chiming, and more." - sounds = list( - "beep" = 'sound/machines/twobeep.ogg', - "chime" = 'sound/machines/chime.ogg', - "buzz sigh" = 'sound/machines/buzz-sigh.ogg', - "buzz twice" = 'sound/machines/buzz-two.ogg', - "ping" = 'sound/machines/ping.ogg', - "synth yes" = 'sound/machines/synth_yes.ogg', - "synth no" = 'sound/machines/synth_no.ogg', - "warning buzz" = 'sound/machines/warning-buzzer.ogg' - ) - spawn_flags = IC_SPAWN_DEFAULT|IC_SPAWN_RESEARCH - -/obj/item/integrated_circuit/output/sound/beepsky - name = "securitron sound circuit" - desc = "A miniature speaker is attached to this component. Considered by some to be the essential component for a securitron." - sounds = list( - "creep" = 'sound/voice/bcreep.ogg', - "criminal" = 'sound/voice/bcriminal.ogg', - "freeze" = 'sound/voice/bfreeze.ogg', - "god" = 'sound/voice/bgod.ogg', - "i am the law" = 'sound/voice/biamthelaw.ogg', - "insult" = 'sound/voice/binsult.ogg', - "radio" = 'sound/voice/bradio.ogg', - "secure day" = 'sound/voice/bsecureday.ogg', - ) - spawn_flags = IC_SPAWN_RESEARCH - origin_tech = list(TECH_ENGINEERING = 2, TECH_DATA = 2, TECH_ILLEGAL = 1) - -/obj/item/integrated_circuit/output/sound/medbot - name = "medbot sound circuit" - desc = "A miniature speaker is attached to this component, used to annoy patients while they get pricked by a medbot." - sounds = list( - "surgeon" = 'sound/voice/medbot/msurgeon.ogg', - "radar" = 'sound/voice/medbot/mradar.ogg', - "feel better" = 'sound/voice/medbot/mfeelbetter.ogg', - "patched up" = 'sound/voice/medbot/mpatchedup.ogg', - "injured" = 'sound/voice/medbot/minjured.ogg', - "insult" = 'sound/voice/medbot/minsult.ogg', - "coming" = 'sound/voice/medbot/mcoming.ogg', - "help" = 'sound/voice/medbot/mhelp.ogg', - "live" = 'sound/voice/medbot/mlive.ogg', - "lost" = 'sound/voice/medbot/mlost.ogg', - "flies" = 'sound/voice/medbot/mflies.ogg', - "catch" = 'sound/voice/medbot/mcatch.ogg', - "delicious" = 'sound/voice/medbot/mdelicious.ogg', - "apple" = 'sound/voice/medbot/mapple.ogg', - "no" = 'sound/voice/medbot/mno.ogg', - ) - spawn_flags = IC_SPAWN_RESEARCH - origin_tech = list(TECH_ENGINEERING = 2, TECH_DATA = 2, TECH_BIO = 1) - -//'sound/voice/medbot/mfeelbetter.ogg' - -/obj/item/integrated_circuit/output/video_camera - name = "video camera circuit" - desc = "This small camera allows a remote viewer to see what it sees." - extended_desc = "The camera is linked to the Research camera network." - icon_state = "video_camera" - w_class = ITEMSIZE_SMALL - complexity = 10 - inputs = list("camera name" = "video camera circuit", "camera active" = 0) - outputs = list() - activators = list() - spawn_flags = IC_SPAWN_DEFAULT|IC_SPAWN_RESEARCH - power_draw_idle = 5 // Raises to 80 when on. - var/obj/machinery/camera/network/research/camera - -/obj/item/integrated_circuit/output/video_camera/New() - ..() - camera = new(src) - on_data_written() - -/obj/item/integrated_circuit/output/video_camera/Destroy() - qdel_null(camera) - return ..() - -/obj/item/integrated_circuit/output/video_camera/proc/set_camera_status(var/status) - if(camera) - camera.set_status(status) - power_draw_idle = camera.status ? 80 : 5 - if(camera.status) // Ensure that there's actually power. - if(!draw_idle_power()) - power_fail() - -/obj/item/integrated_circuit/output/video_camera/on_data_written() - if(camera) - var/datum/integrated_io/cam_name = inputs[1] - var/datum/integrated_io/cam_active = inputs[2] - if(istext(cam_name.data)) - camera.c_tag = cam_name.data - if(isnum(cam_active.data)) - set_camera_status(cam_active.data) - -/obj/item/integrated_circuit/output/video_camera/power_fail() - if(camera) - set_camera_status(0) - var/datum/integrated_io/cam_active = inputs[2] - cam_active.data = FALSE - -/obj/item/integrated_circuit/output/led - name = "light-emitting diode" - desc = "This a LED that is lit whenever there is TRUE-equivalent data on its input." - extended_desc = "TRUE-equivalent values are: Non-empty strings, non-zero numbers, and valid refs." - complexity = 0.1 - icon_state = "led" - inputs = list("lit") - outputs = list() - activators = list() - power_draw_idle = 0 // Raises to 1 when lit. - spawn_flags = IC_SPAWN_DEFAULT|IC_SPAWN_RESEARCH - var/led_color - -/obj/item/integrated_circuit/output/led/on_data_written() - power_draw_idle = get_pin_data(IC_INPUT, 1) ? 1 : 0 - -/obj/item/integrated_circuit/output/led/power_fail() - set_pin_data(IC_INPUT, 1, FALSE) - -/obj/item/integrated_circuit/output/led/any_examine(mob/user) - var/text_output = list() - var/initial_name = initial(name) - - // Doing all this work just to have a color-blind friendly output. - text_output += "There is " - if(name == initial_name) - text_output += "\an [name]" - else - text_output += "\an ["\improper[initial_name]"] labeled '[name]'" - text_output += " which is currently [get_pin_data(IC_INPUT, 1) ? "lit ¤" : "unlit."]" - to_chat(user,jointext(text_output,null)) - -/obj/item/integrated_circuit/output/led/red - name = "red LED" - led_color = COLOR_RED - -/obj/item/integrated_circuit/output/led/orange - name = "orange LED" - led_color = COLOR_ORANGE - -/obj/item/integrated_circuit/output/led/yellow - name = "yellow LED" - led_color = COLOR_YELLOW - -/obj/item/integrated_circuit/output/led/green - name = "green LED" - led_color = COLOR_GREEN - -/obj/item/integrated_circuit/output/led/blue - name = "blue LED" - led_color = COLOR_BLUE - -/obj/item/integrated_circuit/output/led/purple - name = "purple LED" - led_color = COLOR_PURPLE - -/obj/item/integrated_circuit/output/led/cyan - name = "cyan LED" - led_color = COLOR_CYAN - -/obj/item/integrated_circuit/output/led/white - name = "white LED" - led_color = COLOR_WHITE - -/obj/item/integrated_circuit/output/led/pink - name = "pink LED" - led_color = COLOR_PINK diff --git a/code/modules/integrated_electronics/subtypes/lists.dm b/code/modules/integrated_electronics/subtypes/lists.dm new file mode 100644 index 00000000000..84e0724bb93 --- /dev/null +++ b/code/modules/integrated_electronics/subtypes/lists.dm @@ -0,0 +1,89 @@ +//These circuits do things with lists, and use special list pins for stability. +/obj/item/integrated_circuit/list + complexity = 1 + inputs = list( + "input" = IC_PINTYPE_LIST + ) + outputs = list("result" = IC_PINTYPE_STRING) + activators = list("compute" = IC_PINTYPE_PULSE_IN, "on computed" = IC_PINTYPE_PULSE_OUT) + category_text = "Lists" + power_draw_per_use = 20 + +/obj/item/integrated_circuit/list/pick + name = "pick circuit" + desc = "This circuit will randomly 'pick' an element from a list that is inputted." + extended_desc = "Will output null if the list is empty. Input list is unmodified." + icon_state = "addition" + spawn_flags = IC_SPAWN_DEFAULT|IC_SPAWN_RESEARCH + +/obj/item/integrated_circuit/list/pick/do_work() + var/result = null + var/list/input_list = get_pin_data(IC_INPUT, 1) // List pins guarantee that there is a list inside, even if just an empty one. + if(input_list.len) + result = pick(input_list) + + set_pin_data(IC_OUTPUT, 1, result) + push_data() + activate_pin(2) + + +/obj/item/integrated_circuit/list/append + name = "append circuit" + desc = "This circuit will add an element to a list." + extended_desc = "The new element will always be at the bottom of the list." + inputs = list( + "list to append" = IC_PINTYPE_LIST, + "input" = IC_PINTYPE_ANY + ) + outputs = list( + "appended list" = IC_PINTYPE_LIST + ) + icon_state = "addition" + spawn_flags = IC_SPAWN_DEFAULT|IC_SPAWN_RESEARCH + +/obj/item/integrated_circuit/list/append/do_work() + var/list/input_list = get_pin_data(IC_INPUT, 1) + var/list/output_list = list() + var/new_entry = get_pin_data(IC_INPUT, 2) + output_list = input_list.Copy() + output_list.Add(new_entry) + + set_pin_data(IC_OUTPUT, 1, output_list) + push_data() + activate_pin(2) + +/obj/item/integrated_circuit/list/jointext + name = "join text circuit" + desc = "This circuit will add all elements of a list into one string, seperated by a character." + extended_desc = "Default settings will encode the entire list into a string." + inputs = list( + "list to join" = IC_PINTYPE_LIST, + "delimiter" = IC_PINTYPE_CHAR, + "start" = IC_PINTYPE_NUMBER, + "end" = IC_PINTYPE_NUMBER + ) + inputs_default = list( + "2" = ",", + "3" = 1, + "4" = 0 + ) + outputs = list( + "joined text" = IC_PINTYPE_STRING + ) + icon_state = "addition" + spawn_flags = IC_SPAWN_DEFAULT|IC_SPAWN_RESEARCH + +/obj/item/integrated_circuit/list/jointext/do_work() + var/list/input_list = get_pin_data(IC_INPUT, 1) + var/delimiter = get_pin_data(IC_INPUT, 2) + var/start = get_pin_data(IC_INPUT, 3) + var/end = get_pin_data(IC_INPUT, 4) + + var/result = null + + if(input_list.len && delimiter && !isnull(start) && !isnull(end)) + result = jointext(input_list, delimiter, start, end) + + set_pin_data(IC_OUTPUT, 1, result) + push_data() + activate_pin(2) \ No newline at end of file diff --git a/code/modules/integrated_electronics/subtypes/logic.dm b/code/modules/integrated_electronics/subtypes/logic.dm index 849c4e37a76..4bbffede35f 100644 --- a/code/modules/integrated_electronics/subtypes/logic.dm +++ b/code/modules/integrated_electronics/subtypes/logic.dm @@ -4,21 +4,16 @@ extended_desc = "Logic circuits will treat a null, 0, and a \"\" string value as FALSE and anything else as TRUE." complexity = 3 outputs = list("result") - activators = list("compare" = 1) + activators = list("compare" = IC_PINTYPE_PULSE_IN) category_text = "Logic" - autopulse = 1 power_draw_per_use = 1 -/obj/item/integrated_circuit/logic/on_data_written() - if(autopulse == 1) - check_then_do_work() - /obj/item/integrated_circuit/logic/do_work() push_data() /obj/item/integrated_circuit/logic/binary - inputs = list("\ A","\ B") - activators = list("compare" = 1, "on true result" = 0, "on false result" = 0) + inputs = list("A","B") + activators = list("compare" = IC_PINTYPE_PULSE_IN, "on true result" = IC_PINTYPE_PULSE_OUT, "on false result" = IC_PINTYPE_PULSE_OUT) /obj/item/integrated_circuit/logic/binary/do_work() pull_data() @@ -37,8 +32,8 @@ return FALSE /obj/item/integrated_circuit/logic/unary - inputs = list("\ A") - activators = list("compare" = 1, "on compare" = 0) + inputs = list("A") + activators = list("compare" = IC_PINTYPE_PULSE_IN, "on compare" = IC_PINTYPE_PULSE_OUT) /obj/item/integrated_circuit/logic/unary/do_work() pull_data() @@ -128,7 +123,7 @@ desc = "This gate inverts what's fed into it." icon_state = "not" spawn_flags = IC_SPAWN_DEFAULT|IC_SPAWN_RESEARCH - activators = list("invert" = 1, "on inverted" = 0) + activators = list("invert" = IC_PINTYPE_PULSE_IN, "on inverted" = IC_PINTYPE_PULSE_OUT) /obj/item/integrated_circuit/logic/unary/not/do_check(var/datum/integrated_io/A) return !A.data diff --git a/code/modules/integrated_electronics/subtypes/manipulation.dm b/code/modules/integrated_electronics/subtypes/manipulation.dm index 9b779ee39bd..7d22bc49a44 100644 --- a/code/modules/integrated_electronics/subtypes/manipulation.dm +++ b/code/modules/integrated_electronics/subtypes/manipulation.dm @@ -12,12 +12,12 @@ w_class = ITEMSIZE_NORMAL size = 3 inputs = list( - "\ target X rel", - "\ target Y rel" + "target X rel" = IC_PINTYPE_NUMBER, + "target Y rel" = IC_PINTYPE_NUMBER ) outputs = list() activators = list( - "fire" = 1 + "fire" = IC_PINTYPE_PULSE_IN ) var/obj/item/weapon/gun/installed_gun = null spawn_flags = IC_SPAWN_RESEARCH @@ -104,24 +104,15 @@ name = "locomotion circuit" desc = "This allows a machine to move in a given direction." icon_state = "locomotion" - extended_desc = "The circuit accepts a number as a direction to move towards.
    \ - North/Fore = 1,
    \ - South/Aft = 2,
    \ - East/Starboard = 4,
    \ - West/Port = 8,
    \ - Northeast = 5,
    \ - Northwest = 9,
    \ - Southeast = 6,
    \ - Southwest = 10
    \ -
    \ + extended_desc = "The circuit accepts a 'dir' number as a direction to move towards.
    \ Pulsing the 'step towards dir' activator pin will cause the machine to move a meter in that direction, assuming it is not \ being held, or anchored in some way. It should be noted that the ability to move is dependant on the type of assembly that this circuit inhabits." w_class = ITEMSIZE_NORMAL complexity = 20 // size = 5 - inputs = list("dir num") + inputs = list("direction" = IC_PINTYPE_DIR) outputs = list() - activators = list("step towards dir" = 1) + activators = list("step towards dir" = IC_PINTYPE_PULSE_IN) spawn_flags = IC_SPAWN_RESEARCH power_draw_per_use = 100 @@ -146,9 +137,9 @@ icon_state = "grenade" complexity = 30 size = 2 - inputs = list("\ detonation time") + inputs = list("detonation time" = IC_PINTYPE_NUMBER) outputs = list() - activators = list("prime grenade" = 1) + activators = list("prime grenade" = IC_PINTYPE_PULSE_IN) spawn_flags = IC_SPAWN_RESEARCH origin_tech = list(TECH_ENGINEERING = 3, TECH_DATA = 3, TECH_COMBAT = 4) var/obj/item/weapon/grenade/attached_grenade diff --git a/code/modules/integrated_electronics/subtypes/memory.dm b/code/modules/integrated_electronics/subtypes/memory.dm index 91fe45e04bc..fa4fd9ded63 100644 --- a/code/modules/integrated_electronics/subtypes/memory.dm +++ b/code/modules/integrated_electronics/subtypes/memory.dm @@ -3,12 +3,20 @@ desc = "This tiny chip can store one piece of data." icon_state = "memory" complexity = 1 - inputs = list("input pin 1") - outputs = list("output pin 1") - activators = list("set" = 1, "on set") + inputs = list() + outputs = list() + activators = list("set" = IC_PINTYPE_PULSE_IN, "on set" = IC_PINTYPE_PULSE_OUT) category_text = "Memory" spawn_flags = IC_SPAWN_DEFAULT|IC_SPAWN_RESEARCH power_draw_per_use = 1 + var/number_of_pins = 1 + +/obj/item/integrated_circuit/memory/New() + for(var/i = 1 to number_of_pins) + inputs["input [i]"] = IC_PINTYPE_ANY // This is just a string since pins don't get built until ..() is called. + outputs["output [i]"] = IC_PINTYPE_ANY + complexity = number_of_pins + ..() /obj/item/integrated_circuit/memory/examine(mob/user) ..() @@ -36,83 +44,26 @@ name = "memory circuit" desc = "This circuit can store four pieces of data." icon_state = "memory4" - complexity = 4 - inputs = list("input pin 1","input pin 2","input pin 3","input pin 4") - outputs = list("output pin 1","output pin 2","output pin 3","output pin 4") - spawn_flags = IC_SPAWN_DEFAULT|IC_SPAWN_RESEARCH power_draw_per_use = 2 + number_of_pins = 4 /obj/item/integrated_circuit/memory/large name = "large memory circuit" desc = "This big circuit can hold eight pieces of data." icon_state = "memory8" - complexity = 8 - inputs = list( - "input pin 1", - "input pin 2", - "input pin 3", - "input pin 4", - "input pin 5", - "input pin 6", - "input pin 7", - "input pin 8") - outputs = list( - "output pin 1", - "output pin 2", - "output pin 3", - "output pin 4", - "output pin 5", - "output pin 6", - "output pin 7", - "output pin 8") - spawn_flags = IC_SPAWN_DEFAULT|IC_SPAWN_RESEARCH origin_tech = list(TECH_ENGINEERING = 3, TECH_DATA = 3) power_draw_per_use = 4 + number_of_pins = 8 /obj/item/integrated_circuit/memory/huge name = "large memory stick" desc = "This stick of memory can hold up up to sixteen pieces of data." icon_state = "memory16" w_class = ITEMSIZE_NORMAL - complexity = 16 - inputs = list( - "input pin 1", - "input pin 2", - "input pin 3", - "input pin 4", - "input pin 5", - "input pin 6", - "input pin 7", - "input pin 8", - "input pin 9", - "input pin 10", - "input pin 11", - "input pin 12", - "input pin 13", - "input pin 14", - "input pin 15", - "input pin 16" - ) - outputs = list( - "output pin 1", - "output pin 2", - "output pin 3", - "output pin 4", - "output pin 5", - "output pin 6", - "output pin 7", - "output pin 8", - "output pin 9", - "output pin 10", - "output pin 11", - "output pin 12", - "output pin 13", - "output pin 14", - "output pin 15", - "output pin 16") spawn_flags = IC_SPAWN_RESEARCH origin_tech = list(TECH_ENGINEERING = 4, TECH_DATA = 4) power_draw_per_use = 8 + number_of_pins = 16 /obj/item/integrated_circuit/memory/constant name = "constant chip" @@ -120,8 +71,8 @@ icon_state = "memory" complexity = 1 inputs = list() - outputs = list("output pin") - activators = list("push data" = 0) + outputs = list("output pin" = IC_PINTYPE_ANY) + activators = list("push data" = IC_PINTYPE_PULSE_IN) var/accepting_refs = 0 spawn_flags = IC_SPAWN_DEFAULT|IC_SPAWN_RESEARCH @@ -142,13 +93,13 @@ new_data = input("Now type in a string.","[src] string writing") as null|text if(istext(new_data) && CanInteract(user, physical_state)) O.data = new_data - to_chat(user, "You set \the [src]'s memory to [O.display_data()].") + to_chat(user, "You set \the [src]'s memory to [O.display_data(O.data)].") if("number") accepting_refs = 0 new_data = input("Now type in a number.","[src] number writing") as null|num if(isnum(new_data) && CanInteract(user, physical_state)) O.data = new_data - to_chat(user, "You set \the [src]'s memory to [O.display_data()].") + to_chat(user, "You set \the [src]'s memory to [O.display_data(O.data)].") if("ref") accepting_refs = 1 to_chat(user, "You turn \the [src]'s ref scanner on. Slide it across \ @@ -162,6 +113,6 @@ var/datum/integrated_io/O = outputs[1] O.data = weakref(target) visible_message("[user] slides \a [src]'s over \the [target].") - to_chat(user, "You set \the [src]'s memory to a reference to [O.display_data()]. The ref scanner is \ + to_chat(user, "You set \the [src]'s memory to a reference to [O.display_data(O.data)]. The ref scanner is \ now off.") accepting_refs = 0 \ No newline at end of file diff --git a/code/modules/integrated_electronics/subtypes/output.dm b/code/modules/integrated_electronics/subtypes/output.dm new file mode 100644 index 00000000000..beefed282e1 --- /dev/null +++ b/code/modules/integrated_electronics/subtypes/output.dm @@ -0,0 +1,339 @@ +/obj/item/integrated_circuit/output + category_text = "Output" + +/obj/item/integrated_circuit/output/screen + name = "small screen" + desc = "This small screen can display a single piece of data, when the machine is examined closely." + icon_state = "screen" + inputs = list("displayed data" = IC_PINTYPE_ANY) + outputs = list() + activators = list("load data" = IC_PINTYPE_PULSE_IN) + spawn_flags = IC_SPAWN_DEFAULT|IC_SPAWN_RESEARCH + power_draw_per_use = 10 + var/stuff_to_display = null + + +/obj/item/integrated_circuit/output/screen/disconnect_all() + ..() + stuff_to_display = null + +/obj/item/integrated_circuit/output/screen/any_examine(mob/user) + to_chat(user, "There is a little screen labeled '[name]', which displays [!isnull(stuff_to_display) ? "'[stuff_to_display]'" : "nothing"].") + +/obj/item/integrated_circuit/output/screen/do_work() + var/datum/integrated_io/I = inputs[1] + if(isweakref(I.data)) + var/datum/d = I.data_as_type(/datum) + if(d) + stuff_to_display = "[d]" + else + stuff_to_display = I.data + +/obj/item/integrated_circuit/output/screen/medium + name = "screen" + desc = "This screen allows for people holding the device to see a piece of data." + icon_state = "screen_medium" + power_draw_per_use = 20 + +/obj/item/integrated_circuit/output/screen/medium/do_work() + ..() + var/list/nearby_things = range(0, get_turf(src)) + for(var/mob/M in nearby_things) + var/obj/O = assembly ? assembly : src + to_chat(M, "\icon[O] [stuff_to_display]") + +/obj/item/integrated_circuit/output/screen/large + name = "large screen" + desc = "This screen allows for people able to see the device to see a piece of data." + icon_state = "screen_large" + power_draw_per_use = 40 + +/obj/item/integrated_circuit/output/screen/large/do_work() + ..() + var/obj/O = assembly ? loc : assembly + O.visible_message("\icon[O] [stuff_to_display]") + +/obj/item/integrated_circuit/output/light + name = "light" + desc = "This light can turn on and off on command." + icon_state = "light" + complexity = 4 + inputs = list() + outputs = list() + activators = list("toggle light" = IC_PINTYPE_PULSE_IN) + spawn_flags = IC_SPAWN_DEFAULT|IC_SPAWN_RESEARCH + var/light_toggled = 0 + var/light_brightness = 3 + var/light_rgb = "#FFFFFF" + power_draw_idle = 0 // Adjusted based on brightness. + +/obj/item/integrated_circuit/output/light/do_work() + light_toggled = !light_toggled + update_lighting() + +/obj/item/integrated_circuit/output/light/proc/update_lighting() + if(light_toggled) + if(assembly) + assembly.set_light(l_range = light_brightness, l_power = light_brightness, l_color = light_rgb) + else + if(assembly) + assembly.set_light(0) + power_draw_idle = light_toggled ? light_brightness * 2 : 0 + +/obj/item/integrated_circuit/output/light/advanced/update_lighting() + var/new_color = get_pin_data(IC_INPUT, 1) + var/brightness = get_pin_data(IC_INPUT, 2) + + if(new_color && isnum(brightness)) + brightness = Clamp(brightness, 0, 6) + light_rgb = new_color + light_brightness = brightness + + ..() + +/obj/item/integrated_circuit/output/light/power_fail() // Turns off the flashlight if there's no power left. + light_toggled = FALSE + update_lighting() + +/obj/item/integrated_circuit/output/light/advanced + name = "advanced light" + desc = "This light can turn on and off on command, in any color, and in various brightness levels." + icon_state = "light_adv" + complexity = 8 + inputs = list( + "color" = IC_PINTYPE_COLOR, + "brightness" = IC_PINTYPE_NUMBER + ) + outputs = list() + spawn_flags = IC_SPAWN_DEFAULT|IC_SPAWN_RESEARCH + origin_tech = list(TECH_ENGINEERING = 3, TECH_DATA = 3) + +/obj/item/integrated_circuit/output/light/advanced/on_data_written() + update_lighting() + +/obj/item/integrated_circuit/output/sound + name = "speaker circuit" + desc = "A miniature speaker is attached to this component." + icon_state = "speaker" + complexity = 8 + cooldown_per_use = 4 SECONDS + inputs = list( + "sound ID" = IC_PINTYPE_STRING, + "volume" = IC_PINTYPE_NUMBER, + "frequency" = IC_PINTYPE_BOOLEAN + ) + outputs = list() + activators = list("play sound" = IC_PINTYPE_PULSE_IN) + power_draw_per_use = 20 + var/list/sounds = list() + +/obj/item/integrated_circuit/output/text_to_speech + name = "text-to-speech circuit" + desc = "A miniature speaker is attached to this component." + extended_desc = "This unit is more advanced than the plain speaker circuit, able to transpose any valid text to speech." + icon_state = "speaker" + complexity = 12 + cooldown_per_use = 4 SECONDS + inputs = list("text" = IC_PINTYPE_STRING) + outputs = list() + activators = list("to speech" = IC_PINTYPE_PULSE_IN) + spawn_flags = IC_SPAWN_DEFAULT|IC_SPAWN_RESEARCH + power_draw_per_use = 60 + +/obj/item/integrated_circuit/output/text_to_speech/do_work() + text = get_pin_data(IC_INPUT, 1) + if(!isnull(text)) + var/obj/O = assembly ? loc : assembly + audible_message("\icon[O] \The [O.name] states, \"[text]\"") + +/obj/item/integrated_circuit/output/sound/New() + ..() + extended_desc = list() + extended_desc += "The first input pin determines which sound is used. The choices are; " + extended_desc += jointext(sounds, ", ") + extended_desc += ". The second pin determines the volume of sound that is played" + extended_desc += ", and the third determines if the frequency of the sound will vary with each activation." + extended_desc = jointext(extended_desc, null) + +/obj/item/integrated_circuit/output/sound/do_work() + var/ID = get_pin_data(IC_INPUT, 1) + var/vol = get_pin_data(IC_INPUT, 2) + var/freq = get_pin_data(IC_INPUT, 3) + if(!isnull(ID) && !isnull(vol)) + var/selected_sound = sounds[ID] + if(!selected_sound) + return + vol = between(0, vol, 100) + playsound(get_turf(src), selected_sound, vol, freq, -1) + +/obj/item/integrated_circuit/output/sound/beeper + name = "beeper circuit" + desc = "A miniature speaker is attached to this component. This is often used in the construction of motherboards, which use \ + the speaker to tell the user if something goes very wrong when booting up. It can also do other similar synthetic sounds such \ + as buzzing, pinging, chiming, and more." + sounds = list( + "beep" = 'sound/machines/twobeep.ogg', + "chime" = 'sound/machines/chime.ogg', + "buzz sigh" = 'sound/machines/buzz-sigh.ogg', + "buzz twice" = 'sound/machines/buzz-two.ogg', + "ping" = 'sound/machines/ping.ogg', + "synth yes" = 'sound/machines/synth_yes.ogg', + "synth no" = 'sound/machines/synth_no.ogg', + "warning buzz" = 'sound/machines/warning-buzzer.ogg' + ) + spawn_flags = IC_SPAWN_DEFAULT|IC_SPAWN_RESEARCH + +/obj/item/integrated_circuit/output/sound/beepsky + name = "securitron sound circuit" + desc = "A miniature speaker is attached to this component. Considered by some to be the essential component for a securitron." + sounds = list( + "creep" = 'sound/voice/bcreep.ogg', + "criminal" = 'sound/voice/bcriminal.ogg', + "freeze" = 'sound/voice/bfreeze.ogg', + "god" = 'sound/voice/bgod.ogg', + "i am the law" = 'sound/voice/biamthelaw.ogg', + "insult" = 'sound/voice/binsult.ogg', + "radio" = 'sound/voice/bradio.ogg', + "secure day" = 'sound/voice/bsecureday.ogg', + ) + spawn_flags = IC_SPAWN_RESEARCH + origin_tech = list(TECH_ENGINEERING = 2, TECH_DATA = 2, TECH_ILLEGAL = 1) + +/obj/item/integrated_circuit/output/sound/medbot + name = "medbot sound circuit" + desc = "A miniature speaker is attached to this component, used to annoy patients while they get pricked by a medbot." + sounds = list( + "surgeon" = 'sound/voice/medbot/msurgeon.ogg', + "radar" = 'sound/voice/medbot/mradar.ogg', + "feel better" = 'sound/voice/medbot/mfeelbetter.ogg', + "patched up" = 'sound/voice/medbot/mpatchedup.ogg', + "injured" = 'sound/voice/medbot/minjured.ogg', + "insult" = 'sound/voice/medbot/minsult.ogg', + "coming" = 'sound/voice/medbot/mcoming.ogg', + "help" = 'sound/voice/medbot/mhelp.ogg', + "live" = 'sound/voice/medbot/mlive.ogg', + "lost" = 'sound/voice/medbot/mlost.ogg', + "flies" = 'sound/voice/medbot/mflies.ogg', + "catch" = 'sound/voice/medbot/mcatch.ogg', + "delicious" = 'sound/voice/medbot/mdelicious.ogg', + "apple" = 'sound/voice/medbot/mapple.ogg', + "no" = 'sound/voice/medbot/mno.ogg', + ) + spawn_flags = IC_SPAWN_RESEARCH + origin_tech = list(TECH_ENGINEERING = 2, TECH_DATA = 2, TECH_BIO = 1) + +/obj/item/integrated_circuit/output/video_camera + name = "video camera circuit" + desc = "This small camera allows a remote viewer to see what it sees." + extended_desc = "The camera is linked to the Research camera network." + icon_state = "video_camera" + w_class = ITEMSIZE_SMALL + complexity = 10 + inputs = list( + "camera name" = IC_PINTYPE_STRING, + "camera active" = IC_PINTYPE_BOOLEAN + ) + inputs_default = list("1" = "video camera circuit") + outputs = list() + activators = list() + spawn_flags = IC_SPAWN_DEFAULT|IC_SPAWN_RESEARCH + power_draw_idle = 5 // Raises to 80 when on. + var/obj/machinery/camera/network/research/camera + +/obj/item/integrated_circuit/output/video_camera/New() + ..() + camera = new(src) + on_data_written() + +/obj/item/integrated_circuit/output/video_camera/Destroy() + qdel_null(camera) + return ..() + +/obj/item/integrated_circuit/output/video_camera/proc/set_camera_status(var/status) + if(camera) + camera.set_status(status) + power_draw_idle = camera.status ? 80 : 5 + if(camera.status) // Ensure that there's actually power. + if(!draw_idle_power()) + power_fail() + +/obj/item/integrated_circuit/output/video_camera/on_data_written() + if(camera) + var/cam_name = get_pin_data(IC_INPUT, 1) + var/cam_active = get_pin_data(IC_INPUT, 2) + if(!isnull(cam_name)) + camera.c_tag = cam_name + set_camera_status(cam_active) + +/obj/item/integrated_circuit/output/video_camera/power_fail() + if(camera) + set_camera_status(0) + set_pin_data(IC_INPUT, 2, FALSE) + +/obj/item/integrated_circuit/output/led + name = "light-emitting diode" + desc = "This a LED that is lit whenever there is TRUE-equivalent data on its input." + extended_desc = "TRUE-equivalent values are: Non-empty strings, non-zero numbers, and valid refs." + complexity = 0.1 + icon_state = "led" + inputs = list("lit" = IC_PINTYPE_BOOLEAN) + outputs = list() + activators = list() + power_draw_idle = 0 // Raises to 1 when lit. + spawn_flags = IC_SPAWN_DEFAULT|IC_SPAWN_RESEARCH + var/led_color + +/obj/item/integrated_circuit/output/led/on_data_written() + power_draw_idle = get_pin_data(IC_INPUT, 1) ? 1 : 0 + +/obj/item/integrated_circuit/output/led/power_fail() + set_pin_data(IC_INPUT, 1, FALSE) + +/obj/item/integrated_circuit/output/led/any_examine(mob/user) + var/text_output = list() + var/initial_name = initial(name) + + // Doing all this work just to have a color-blind friendly output. + text_output += "There is " + if(name == initial_name) + text_output += "\an [name]" + else + text_output += "\an ["\improper[initial_name]"] labeled '[name]'" + text_output += " which is currently [get_pin_data(IC_INPUT, 1) ? "lit ¤" : "unlit."]" + to_chat(user,jointext(text_output,null)) + +/obj/item/integrated_circuit/output/led/red + name = "red LED" + led_color = COLOR_RED + +/obj/item/integrated_circuit/output/led/orange + name = "orange LED" + led_color = COLOR_ORANGE + +/obj/item/integrated_circuit/output/led/yellow + name = "yellow LED" + led_color = COLOR_YELLOW + +/obj/item/integrated_circuit/output/led/green + name = "green LED" + led_color = COLOR_GREEN + +/obj/item/integrated_circuit/output/led/blue + name = "blue LED" + led_color = COLOR_BLUE + +/obj/item/integrated_circuit/output/led/purple + name = "purple LED" + led_color = COLOR_PURPLE + +/obj/item/integrated_circuit/output/led/cyan + name = "cyan LED" + led_color = COLOR_CYAN + +/obj/item/integrated_circuit/output/led/white + name = "white LED" + led_color = COLOR_WHITE + +/obj/item/integrated_circuit/output/led/pink + name = "pink LED" + led_color = COLOR_PINK diff --git a/code/modules/integrated_electronics/subtypes/power.dm b/code/modules/integrated_electronics/subtypes/power.dm index 215c1ff8568..f5284341294 100644 --- a/code/modules/integrated_electronics/subtypes/power.dm +++ b/code/modules/integrated_electronics/subtypes/power.dm @@ -11,9 +11,13 @@ some power is lost due to ineffiency." w_class = ITEMSIZE_SMALL complexity = 16 - inputs = list("\ target") - outputs = list("\ target cell charge", "\ target cell max charge", "\ target cell percentage") - activators = list("transmit" = 1) + inputs = list("target" = IC_PINTYPE_REF) + outputs = list( + "target cell charge" = IC_PINTYPE_NUMBER, + "target cell max charge" = IC_PINTYPE_NUMBER, + "target cell percentage" = IC_PINTYPE_NUMBER + ) + activators = list("transmit" = IC_PINTYPE_PULSE_IN, "on transmit" = IC_PINTYPE_PULSE_OUT) spawn_flags = IC_SPAWN_RESEARCH origin_tech = list(TECH_ENGINEERING = 4, TECH_DATA = 4, TECH_POWER = 4, TECH_MAGNET = 3) power_draw_per_use = 500 // Inefficency has to come from somewhere. @@ -67,6 +71,7 @@ set_pin_data(IC_OUTPUT, 1, cell.charge) set_pin_data(IC_OUTPUT, 2, cell.maxcharge) set_pin_data(IC_OUTPUT, 3, cell.percent()) + activate_pin(2) return TRUE return FALSE diff --git a/code/modules/integrated_electronics/subtypes/reagents.dm b/code/modules/integrated_electronics/subtypes/reagents.dm index d67feb1c087..47629abda10 100644 --- a/code/modules/integrated_electronics/subtypes/reagents.dm +++ b/code/modules/integrated_electronics/subtypes/reagents.dm @@ -13,13 +13,13 @@ desc = "Unlike most electronics, creating smoke is completely intentional." icon_state = "smoke" extended_desc = "This smoke generator creates clouds of smoke on command. It can also hold liquids inside, which will go \ - into the smoke clouds when activated." + into the smoke clouds when activated. The reagents are consumed when smoke is made." flags = OPENCONTAINER complexity = 20 cooldown_per_use = 30 SECONDS inputs = list() outputs = list() - activators = list("create smoke" = 1) + activators = list("create smoke" = IC_PINTYPE_PULSE_IN) spawn_flags = IC_SPAWN_RESEARCH origin_tech = list(TECH_ENGINEERING = 3, TECH_DATA = 3, TECH_BIO = 3) volume = 100 @@ -43,9 +43,10 @@ flags = OPENCONTAINER complexity = 20 cooldown_per_use = 6 SECONDS - inputs = list("\ target", "\ injection amount" = 5) + inputs = list("target" = IC_PINTYPE_REF, "injection amount" = IC_PINTYPE_NUMBER) + inputs_default = list("2" = 5) outputs = list() - activators = list("inject" = 1) + activators = list("inject" = IC_PINTYPE_PULSE_IN) spawn_flags = IC_SPAWN_DEFAULT|IC_SPAWN_RESEARCH volume = 30 power_draw_per_use = 15 @@ -88,19 +89,20 @@ outside the machine if it is next to the machine. Note that this cannot be used on entities." flags = OPENCONTAINER complexity = 8 - inputs = list("\ source", "\ target", "\ injection amount" = 10) + inputs = list("source" = IC_PINTYPE_REF, "target" = IC_PINTYPE_REF, "injection amount" = IC_PINTYPE_NUMBER) + inputs_default = list("3" = 5) outputs = list() - activators = list("transfer reagents" = 1, "on transfer" = 0) + activators = list("transfer reagents" = IC_PINTYPE_PULSE_IN, "on transfer" = IC_PINTYPE_PULSE_OUT) spawn_flags = IC_SPAWN_DEFAULT|IC_SPAWN_RESEARCH origin_tech = list(TECH_ENGINEERING = 2, TECH_DATA = 2, TECH_BIO = 2) var/transfer_amount = 10 power_draw_per_use = 10 /obj/item/integrated_circuit/reagent/pump/on_data_written() - var/datum/integrated_io/amount = inputs[3] - if(isnum(amount.data)) - amount.data = Clamp(amount.data, 0, 50) - transfer_amount = amount.data + var/new_amount = get_pin_data(IC_INPUT, 3) + if(!isnull(new_amount)) + new_amount = Clamp(new_amount, 0, 50) + transfer_amount = new_amount /obj/item/integrated_circuit/reagent/pump/do_work() var/atom/movable/source = get_pin_data_as_type(IC_INPUT, 1, /atom/movable) @@ -130,16 +132,15 @@ flags = OPENCONTAINER complexity = 4 inputs = list() - outputs = list("volume used") + outputs = list("volume used" = IC_PINTYPE_NUMBER) activators = list() spawn_flags = IC_SPAWN_DEFAULT|IC_SPAWN_RESEARCH origin_tech = list(TECH_ENGINEERING = 2, TECH_DATA = 2, TECH_BIO = 2) volume = 60 /obj/item/integrated_circuit/reagent/storage/on_reagent_change() - var/datum/integrated_io/A = outputs[1] - A.data = reagents.total_volume - A.push_data() + set_pin_data(IC_OUTPUT, 1, reagents.total_volume) + push_data() /obj/item/integrated_circuit/reagent/storage/cryo name = "cryo reagent storage" diff --git a/code/modules/integrated_electronics/subtypes/smart.dm b/code/modules/integrated_electronics/subtypes/smart.dm index 75707341975..14aa9b6eab4 100644 --- a/code/modules/integrated_electronics/subtypes/smart.dm +++ b/code/modules/integrated_electronics/subtypes/smart.dm @@ -8,9 +8,9 @@ cannot see the target, it will not be able to calculate the correct direction." icon_state = "numberpad" complexity = 25 - inputs = list("\ target") - outputs = list("\ dir") - activators = list("calculate dir" = 1, "on calculated" = 0) + inputs = list("target" = IC_PINTYPE_REF) + outputs = list("dir" = IC_PINTYPE_DIR) + activators = list("calculate dir" = IC_PINTYPE_PULSE_IN, "on calculated" = IC_PINTYPE_PULSE_OUT) spawn_flags = IC_SPAWN_RESEARCH origin_tech = list(TECH_ENGINEERING = 4, TECH_DATA = 5) power_draw_per_use = 40 diff --git a/code/modules/integrated_electronics/subtypes/time.dm b/code/modules/integrated_electronics/subtypes/time.dm index 64855d2a567..b03a5a2ada0 100644 --- a/code/modules/integrated_electronics/subtypes/time.dm +++ b/code/modules/integrated_electronics/subtypes/time.dm @@ -12,7 +12,7 @@ This circuit is set to send a pulse after a delay of two seconds." icon_state = "delay-20" var/delay = 2 SECONDS - activators = list("incoming"= 1,"outgoing" = 0) + activators = list("incoming"= IC_PINTYPE_PULSE_IN,"outgoing" = IC_PINTYPE_PULSE_OUT) spawn_flags = IC_SPAWN_DEFAULT|IC_SPAWN_RESEARCH power_draw_per_use = 2 @@ -59,7 +59,7 @@ desc = "This sends a pulse signal out after a delay, critical for ensuring proper control flow in a complex machine. \ This circuit's delay can be customized, between 1/10th of a second to one hour. The delay is updated upon receiving a pulse." icon_state = "delay" - inputs = list("\ delay time") + inputs = list("delay time" = IC_PINTYPE_NUMBER) spawn_flags = IC_SPAWN_RESEARCH /obj/item/integrated_circuit/time/delay/custom/do_work() @@ -78,8 +78,8 @@ var/ticks_to_pulse = 4 var/ticks_completed = 0 var/is_running = FALSE - inputs = list("\ enable ticking" = 0) - activators = list("outgoing pulse" = 0) + inputs = list("enable ticking" = IC_PINTYPE_BOOLEAN) + activators = list("outgoing pulse" = IC_PINTYPE_PULSE_OUT) spawn_flags = IC_SPAWN_RESEARCH power_draw_per_use = 4 @@ -131,8 +131,13 @@ desc = "Tells you what the local time is, specific to your station or planet." icon_state = "clock" inputs = list() - outputs = list("\ time", "\ hours", "\ minutes", "\ seconds") - activators = list("get time" = 1,"on time got" = 0) + outputs = list( + "time" = IC_PINTYPE_STRING, + "hours" = IC_PINTYPE_NUMBER, + "minutes" = IC_PINTYPE_NUMBER, + "seconds" = IC_PINTYPE_NUMBER + ) + activators = list("get time" = IC_PINTYPE_PULSE_IN, "on time got" = IC_PINTYPE_PULSE_OUT) spawn_flags = IC_SPAWN_DEFAULT|IC_SPAWN_RESEARCH power_draw_per_use = 4 diff --git a/code/modules/integrated_electronics/subtypes/trig.dm b/code/modules/integrated_electronics/subtypes/trig.dm index ec773a160b1..daadf52d429 100644 --- a/code/modules/integrated_electronics/subtypes/trig.dm +++ b/code/modules/integrated_electronics/subtypes/trig.dm @@ -2,40 +2,35 @@ /obj/item/integrated_circuit/trig complexity = 1 inputs = list( - "\ A", - "\ B", - "\ C", - "\ D", - "\ E", - "\ F", - "\ G", - "\ H" + "A" = IC_PINTYPE_NUMBER, + "B" = IC_PINTYPE_NUMBER, + "C" = IC_PINTYPE_NUMBER, + "D" = IC_PINTYPE_NUMBER, + "E" = IC_PINTYPE_NUMBER, + "F" = IC_PINTYPE_NUMBER, + "G" = IC_PINTYPE_NUMBER, + "H" = IC_PINTYPE_NUMBER ) - outputs = list("\ result") - activators = list("compute" = 1, "on computed" = 0) + outputs = list("result" = IC_PINTYPE_NUMBER) + activators = list("compute" = IC_PINTYPE_PULSE_IN, "on computed" = IC_PINTYPE_PULSE_OUT) category_text = "Trig" extended_desc = "Input and output are in degrees." - autopulse = 1 power_draw_per_use = 1 // Still cheap math. -/obj/item/integrated_circuit/trig/on_data_written() - if(autopulse == 1) - check_then_do_work() - // Sine // /obj/item/integrated_circuit/trig/sine name = "sin circuit" desc = "Has nothing to do with evil, unless you consider trigonometry to be evil. Outputs the sine of A." icon_state = "sine" - inputs = list("\ A") + inputs = list("A" = IC_PINTYPE_NUMBER) spawn_flags = IC_SPAWN_DEFAULT|IC_SPAWN_RESEARCH /obj/item/integrated_circuit/trig/sine/do_work() pull_data() var/result = null var/A = get_pin_data(IC_INPUT, 1) - if(isnum(A)) + if(!isnull(A)) result = sin(A) set_pin_data(IC_OUTPUT, 1, result) @@ -48,14 +43,14 @@ name = "cos circuit" desc = "Outputs the cosine of A." icon_state = "cosine" - inputs = list("\ A") + inputs = list("A" = IC_PINTYPE_NUMBER) spawn_flags = IC_SPAWN_DEFAULT|IC_SPAWN_RESEARCH /obj/item/integrated_circuit/trig/cosine/do_work() pull_data() var/result = null var/A = get_pin_data(IC_INPUT, 1) - if(isnum(A)) + if(!isnull(A)) result = cos(A) set_pin_data(IC_OUTPUT, 1, result) @@ -68,14 +63,14 @@ name = "tan circuit" desc = "Outputs the tangent of A. Guaranteed to not go on a tangent about its existance." icon_state = "tangent" - inputs = list("\ A") + inputs = list("A" = IC_PINTYPE_NUMBER) spawn_flags = IC_SPAWN_DEFAULT|IC_SPAWN_RESEARCH /obj/item/integrated_circuit/trig/tangent/do_work() pull_data() var/result = null var/A = get_pin_data(IC_INPUT, 1) - if(isnum(A)) + if(!isnull(A)) result = Tan(A) set_pin_data(IC_OUTPUT, 1, result) @@ -88,14 +83,14 @@ name = "csc circuit" desc = "Outputs the cosecant of A." icon_state = "cosecant" - inputs = list("\ A") + inputs = list("A" = IC_PINTYPE_NUMBER) spawn_flags = IC_SPAWN_DEFAULT|IC_SPAWN_RESEARCH /obj/item/integrated_circuit/trig/cosecant/do_work() pull_data() var/result = null var/A = get_pin_data(IC_INPUT, 1) - if(isnum(A)) + if(!isnull(A)) result = Csc(A) set_pin_data(IC_OUTPUT, 1, result) @@ -109,14 +104,14 @@ name = "sec circuit" desc = "Outputs the secant of A. Has nothing to do with the security department." icon_state = "secant" - inputs = list("\ A") + inputs = list("A" = IC_PINTYPE_NUMBER) spawn_flags = IC_SPAWN_DEFAULT|IC_SPAWN_RESEARCH /obj/item/integrated_circuit/trig/secant/do_work() pull_data() var/result = null var/A = get_pin_data(IC_INPUT, 1) - if(isnum(A)) + if(!isnull(A)) result = Sec(A) set_pin_data(IC_OUTPUT, 1, result) @@ -130,14 +125,14 @@ name = "cot circuit" desc = "Outputs the cotangent of A." icon_state = "cotangent" - inputs = list("\ A") + inputs = list("A" = IC_PINTYPE_NUMBER) spawn_flags = IC_SPAWN_DEFAULT|IC_SPAWN_RESEARCH /obj/item/integrated_circuit/trig/cotangent/do_work() pull_data() var/result = null var/A = get_pin_data(IC_INPUT, 1) - if(isnum(A)) + if(!isnull(A)) result = Cot(A) set_pin_data(IC_OUTPUT, 1, result) diff --git a/code/modules/integrated_electronics/~defines/~defines.dm b/code/modules/integrated_electronics/~defines/~defines.dm index 78ce72f3655..90aa05acf19 100644 --- a/code/modules/integrated_electronics/~defines/~defines.dm +++ b/code/modules/integrated_electronics/~defines/~defines.dm @@ -8,9 +8,29 @@ #undef IC_SPAWN_DEFAULT //#undef IC_SPAWN_RESEARCH // Research designs depend on this unfortunately. +#undef IC_FORMAT_ANY #undef IC_FORMAT_STRING +#undef IC_FORMAT_CHAR +#undef IC_FORMAT_COLOR #undef IC_FORMAT_NUMBER +#undef IC_FORMAT_DIR +#undef IC_FORMAT_BOOLEAN #undef IC_FORMAT_REF #undef IC_FORMAT_LIST -#undef IC_FORMAT_ANY -#undef IC_FORMAT_PULSE \ No newline at end of file + +#undef IC_FORMAT_PULSE + +#undef IC_PINTYPE_ANY +#undef IC_PINTYPE_STRING +#undef IC_PINTYPE_CHAR +#undef IC_PINTYPE_COLOR +#undef IC_PINTYPE_NUMBER +#undef IC_PINTYPE_DIR +#undef IC_PINTYPE_BOOLEAN +#undef IC_PINTYPE_REF +#undef IC_PINTYPE_LIST + +#undef IC_PINTYPE_PULSE_IN +#undef IC_PINTYPE_PULSE_OUT + +#undef IC_MAX_LIST_LENGTH \ No newline at end of file diff --git a/code/modules/mining/coins.dm b/code/modules/mining/coins.dm index 10c8855b7e0..2536f0ac2d2 100644 --- a/code/modules/mining/coins.dm +++ b/code/modules/mining/coins.dm @@ -67,7 +67,7 @@ CC.update_icon() overlays = list() string_attached = null - user << "\blue You detach the string from the coin." + user << "You detach the string from the coin." else ..() /obj/item/weapon/coin/attack_self(mob/user as mob) diff --git a/code/modules/mining/mine_items.dm b/code/modules/mining/mine_items.dm index 08acf59c1fb..d48578c11e1 100644 --- a/code/modules/mining/mine_items.dm +++ b/code/modules/mining/mine_items.dm @@ -134,12 +134,12 @@ drill_verb = "drilling" /obj/item/weapon/pickaxe/borgdrill - name = "cyborg mining drill" - icon_state = "diamonddrill" + name = "enhanced sonic jackhammer" + icon_state = "jackhammer" item_state = "jackhammer" digspeed = 15 - desc = "" - drill_verb = "drilling" + desc = "Cracks rocks with sonic blasts. This one seems like an improved design." + drill_verb = "hammering" /*****************************Shovel********************************/ diff --git a/code/modules/mining/mint.dm b/code/modules/mining/mint.dm index 99dc1956b12..75acc807bca 100644 --- a/code/modules/mining/mint.dm +++ b/code/modules/mining/mint.dm @@ -120,7 +120,7 @@ usr.set_machine(src) src.add_fingerprint(usr) if(processing==1) - usr << "\blue The machine is processing." + usr << "The machine is processing." return if(href_list["choose"]) chosen = href_list["choose"] diff --git a/code/modules/mining/money_bag.dm b/code/modules/mining/money_bag.dm index 9884349be95..13ddd4ad577 100644 --- a/code/modules/mining/money_bag.dm +++ b/code/modules/mining/money_bag.dm @@ -50,14 +50,14 @@ ..() if (istype(W, /obj/item/weapon/coin)) var/obj/item/weapon/coin/C = W - user << "\blue You add the [C.name] into the bag." + user << "You add the [C.name] into the bag." usr.drop_item() contents += C if (istype(W, /obj/item/weapon/moneybag)) var/obj/item/weapon/moneybag/C = W for (var/obj/O in C.contents) contents += O; - user << "\blue You empty the [C.name] into the bag." + user << "You empty the [C.name] into the bag." return /obj/item/weapon/moneybag/Topic(href, href_list) diff --git a/code/modules/mob/dead/observer/observer.dm b/code/modules/mob/dead/observer/observer.dm index 89a92f7c493..56c14fc4aed 100644 --- a/code/modules/mob/dead/observer/observer.dm +++ b/code/modules/mob/dead/observer/observer.dm @@ -32,7 +32,7 @@ var/global/list/image/ghost_sightless_images = list() //this is a list of images var/anonsay = 0 var/image/ghostimage = null //this mobs ghost image, for deleting and stuff var/ghostvision = 1 //is the ghost able to see things humans can't? - var/seedarkness = 1 +// var/seedarkness = 1 incorporeal_move = 1 var/is_manifest = 0 //If set to 1, the ghost is able to whisper. Usually only set if a cultist drags them through the veil. @@ -298,10 +298,10 @@ This is the proc mobs get to turn into a ghost. Forked from ghostize due to comp return if(medHUD) medHUD = 0 - src << "\blue Medical HUD Disabled" + src << "Medical HUD Disabled" else medHUD = 1 - src << "\blue Medical HUD Enabled" + src << "Medical HUD Enabled" /mob/observer/dead/verb/toggle_antagHUD() set category = "Ghost" @@ -312,11 +312,11 @@ This is the proc mobs get to turn into a ghost. Forked from ghostize due to comp return var/mentor = is_mentor(usr.client) if(!config.antag_hud_allowed && (!client.holder || mentor)) - src << "\red Admins have disabled this for this round." + src << "Admins have disabled this for this round." return var/mob/observer/dead/M = src if(jobban_isbanned(M, "AntagHUD")) - src << "\red You have been banned from using this feature" + src << "You have been banned from using this feature" return if(config.antag_hud_restricted && !M.has_enabled_antagHUD && (!client.holder || mentor)) var/response = alert(src, "If you turn this on, you will not be able to take any part in the round.","Are you sure you want to turn this feature on?","Yes","No") @@ -326,10 +326,10 @@ This is the proc mobs get to turn into a ghost. Forked from ghostize due to comp M.has_enabled_antagHUD = 1 if(M.antagHUD) M.antagHUD = 0 - src << "\blue AntagHUD Disabled" + src << "AntagHUD Disabled" else M.antagHUD = 1 - src << "\blue AntagHUD Enabled" + src << "AntagHUD Enabled" /mob/observer/dead/proc/dead_tele(var/area/A in return_sorted_areas()) set category = "Ghost" @@ -461,11 +461,11 @@ This is the proc mobs get to turn into a ghost. Forked from ghostize due to comp /mob/observer/dead/memory() set hidden = 1 - src << "\red You are dead! You have no mind to store memory!" + src << "You are dead! You have no mind to store memory!" /mob/observer/dead/add_memory() set hidden = 1 - src << "\red You are dead! You have no mind to store memory!" + src << "You are dead! You have no mind to store memory!" /mob/observer/dead/Post_Incorpmove() following = null @@ -485,16 +485,16 @@ This is the proc mobs get to turn into a ghost. Forked from ghostize due to comp var/pressure = environment.return_pressure() var/total_moles = environment.total_moles - src << "\blue Results:" + src << "Results:" if(abs(pressure - ONE_ATMOSPHERE) < 10) - src << "\blue Pressure: [round(pressure,0.1)] kPa" + src << "Pressure: [round(pressure,0.1)] kPa" else - src << "\red Pressure: [round(pressure,0.1)] kPa" + src << "Pressure: [round(pressure,0.1)] kPa" if(total_moles) for(var/g in environment.gas) - src << "\blue [gas_data.name[g]]: [round((environment.gas[g] / total_moles) * 100)]% ([round(environment.gas[g], 0.01)] moles)" - src << "\blue Temperature: [round(environment.temperature-T0C,0.1)]°C ([round(environment.temperature,0.1)]K)" - src << "\blue Heat Capacity: [round(environment.heat_capacity(),0.1)]" + src << "[gas_data.name[g]]: [round((environment.gas[g] / total_moles) * 100)]% ([round(environment.gas[g], 0.01)] moles)" + src << "Temperature: [round(environment.temperature-T0C,0.1)]°C ([round(environment.temperature,0.1)]K)" + src << "Heat Capacity: [round(environment.heat_capacity(),0.1)]" /mob/observer/dead/verb/become_mouse() set name = "Become mouse" @@ -570,7 +570,7 @@ This is the proc mobs get to turn into a ghost. Forked from ghostize due to comp set desc = "If the round is sufficiently spooky, write a short message in blood on the floor or a wall. Remember, no IC in OOC or OOC in IC." if(!(config.cult_ghostwriter)) - src << "\red That verb is not currently permitted." + src << "That verb is not currently permitted." return if (!src.stat) @@ -635,7 +635,7 @@ This is the proc mobs get to turn into a ghost. Forked from ghostize due to comp W.update_icon() W.message = message W.add_hiddenprint(src) - W.visible_message("\red Invisible fingers crudely paint something in blood on [T]...") + W.visible_message("Invisible fingers crudely paint something in blood on [T]...") /mob/observer/dead/pointed(atom/A as mob|obj|turf in view()) if(!..()) diff --git a/code/modules/mob/living/carbon/brain/MMI.dm b/code/modules/mob/living/carbon/brain/MMI.dm index 687fb7626d3..d3cab940074 100644 --- a/code/modules/mob/living/carbon/brain/MMI.dm +++ b/code/modules/mob/living/carbon/brain/MMI.dm @@ -232,7 +232,7 @@ /obj/item/device/mmi/digital/attack_self(mob/user as mob) if(brainmob && !brainmob.key && searching == 0) //Start the process of searching for a new user. - user << "\blue You carefully locate the manual activation switch and start the [src]'s boot process." + user << "You carefully locate the manual activation switch and start the [src]'s boot process." src.searching = 1 src.request_player() spawn(600) reset_search() @@ -256,7 +256,7 @@ var/turf/T = get_turf_or_move(src.loc) for (var/mob/M in viewers(T)) - M.show_message("\blue The [src] buzzes quietly, and the golden lights fade away. Perhaps you could try again?") + M.show_message("The [src] buzzes quietly, and the golden lights fade away. Perhaps you could try again?") /obj/item/device/mmi/digital/proc/question(var/client/C) spawn(0) @@ -285,7 +285,7 @@ var/turf/T = get_turf_or_move(src.loc) for (var/mob/M in viewers(T)) - M.show_message("\blue The [src] chimes quietly.") + M.show_message("The [src] chimes quietly.") /obj/item/device/mmi/digital/robot name = "robotic intelligence circuit" diff --git a/code/modules/mob/living/carbon/brain/posibrain.dm b/code/modules/mob/living/carbon/brain/posibrain.dm index 9452337eeb9..1e2185fbf37 100644 --- a/code/modules/mob/living/carbon/brain/posibrain.dm +++ b/code/modules/mob/living/carbon/brain/posibrain.dm @@ -16,7 +16,7 @@ /obj/item/device/mmi/digital/posibrain/attack_self(mob/user as mob) if(brainmob && !brainmob.key && searching == 0) //Start the process of searching for a new user. - user << "\blue You carefully locate the manual activation switch and start the positronic brain's boot process." + user << "You carefully locate the manual activation switch and start the positronic brain's boot process." icon_state = "posibrain-searching" src.searching = 1 src.request_player() @@ -68,7 +68,7 @@ var/turf/T = get_turf_or_move(src.loc) for (var/mob/M in viewers(T)) - M.show_message("\blue The positronic brain chimes quietly.") + M.show_message("The positronic brain chimes quietly.") icon_state = "posibrain-occupied" /obj/item/device/mmi/digital/posibrain/proc/reset_search() //We give the players sixty seconds to decide, then reset the timer. @@ -81,7 +81,7 @@ var/turf/T = get_turf_or_move(src.loc) for (var/mob/M in viewers(T)) - M.show_message("\blue The positronic brain buzzes quietly, and the golden lights fade away. Perhaps you could try again?") + M.show_message("The positronic brain buzzes quietly, and the golden lights fade away. Perhaps you could try again?") /obj/item/device/mmi/digital/posibrain/examine(mob/user) if(!..(user)) diff --git a/code/modules/mob/living/carbon/human/MedicalSideEffects.dm b/code/modules/mob/living/carbon/human/MedicalSideEffects.dm index 62f9cf75f80..c7009107de2 100644 --- a/code/modules/mob/living/carbon/human/MedicalSideEffects.dm +++ b/code/modules/mob/living/carbon/human/MedicalSideEffects.dm @@ -24,7 +24,7 @@ for(var/R in cures) if(H.reagents.has_reagent(R)) if (cure_message) - H <<"\blue [cure_message]" + H <<"[cure_message]" return 1 return 0 diff --git a/code/modules/mob/living/carbon/human/chem_side_effects.dm b/code/modules/mob/living/carbon/human/chem_side_effects.dm index 62f9cf75f80..c7009107de2 100644 --- a/code/modules/mob/living/carbon/human/chem_side_effects.dm +++ b/code/modules/mob/living/carbon/human/chem_side_effects.dm @@ -24,7 +24,7 @@ for(var/R in cures) if(H.reagents.has_reagent(R)) if (cure_message) - H <<"\blue [cure_message]" + H <<"[cure_message]" return 1 return 0 diff --git a/code/modules/mob/living/carbon/human/human_defense.dm b/code/modules/mob/living/carbon/human/human_defense.dm index 8f7398e0a86..b4321393259 100644 --- a/code/modules/mob/living/carbon/human/human_defense.dm +++ b/code/modules/mob/living/carbon/human/human_defense.dm @@ -399,7 +399,7 @@ emp_act var/obj/item/organ/external/affecting = get_organ(zone) var/hit_area = affecting.name - src.visible_message("\red [src] has been hit in the [hit_area] by [O].") + src.visible_message("[src] has been hit in the [hit_area] by [O].") if(ismob(O.thrower)) var/mob/M = O.thrower @@ -451,7 +451,7 @@ emp_act if(O.throw_source && momentum >= THROWNOBJ_KNOCKBACK_SPEED) var/dir = get_dir(O.throw_source, src) - visible_message("\red [src] staggers under the impact!","\red You stagger under the impact!") + visible_message("[src] staggers under the impact!","You stagger under the impact!") src.throw_at(get_edge_target_turf(src,dir),1,momentum) if(!O || !src) return diff --git a/code/modules/mob/living/carbon/human/human_powers.dm b/code/modules/mob/living/carbon/human/human_powers.dm index 3afdc07be01..69b55e20ed6 100644 --- a/code/modules/mob/living/carbon/human/human_powers.dm +++ b/code/modules/mob/living/carbon/human/human_powers.dm @@ -106,8 +106,8 @@ var/msg = sanitize(input("Message:", "Psychic Whisper") as text|null) if(msg) log_say("PsychicWhisper: [key_name(src)]->[M.key] : [msg]") - M << "\green You hear a strange, alien voice in your head... \italic [msg]" - src << "\green You said: \"[msg]\" to [M]" + M << "You hear a strange, alien voice in your head... [msg]" + src << "You said: \"[msg]\" to [M]" return /mob/living/carbon/human/proc/diona_split_nymph() diff --git a/code/modules/mob/living/carbon/human/human_species.dm b/code/modules/mob/living/carbon/human/human_species.dm index fa7460b19ee..e0dd9998cc6 100644 --- a/code/modules/mob/living/carbon/human/human_species.dm +++ b/code/modules/mob/living/carbon/human/human_species.dm @@ -32,6 +32,9 @@ h_style = "Teshari Default" ..(new_loc, "Teshari") +/mob/living/carbon/human/promethean/New(var/new_loc) + ..(new_loc, "Promethean") + /mob/living/carbon/human/machine/New(var/new_loc) h_style = "blue IPC screen" ..(new_loc, "Machine") diff --git a/code/modules/mob/living/carbon/human/life.dm b/code/modules/mob/living/carbon/human/life.dm index 9918a7e4bda..23dfdb2db34 100644 --- a/code/modules/mob/living/carbon/human/life.dm +++ b/code/modules/mob/living/carbon/human/life.dm @@ -1128,10 +1128,16 @@ see_invisible = SEE_INVISIBLE_LIVING seer = 0 + if(!seedarkness) + sight = species.get_vision_flags(src) + see_in_dark = 8 + see_invisible = SEE_INVISIBLE_NOLIGHTING + else sight = species.get_vision_flags(src) see_in_dark = species.darksight see_invisible = see_in_dark>2 ? SEE_INVISIBLE_LEVEL_ONE : SEE_INVISIBLE_LIVING + var/tmp/glasses_processed = 0 var/obj/item/weapon/rig/rig = back if(istype(rig) && rig.visor) @@ -1150,7 +1156,7 @@ if(!glasses_processed && (species.get_vision_flags(src) > 0)) sight |= species.get_vision_flags(src) - if(!seer && !glasses_processed) + if(!seer && !glasses_processed && seedarkness) see_invisible = SEE_INVISIBLE_LIVING if(healths) diff --git a/code/modules/mob/living/carbon/human/species/station/prometheans.dm b/code/modules/mob/living/carbon/human/species/station/prometheans.dm index e239b8118c0..802cf431541 100644 --- a/code/modules/mob/living/carbon/human/species/station/prometheans.dm +++ b/code/modules/mob/living/carbon/human/species/station/prometheans.dm @@ -14,7 +14,7 @@ var/datum/species/shapeshifter/promethean/prometheans blood_color = "#05FF9B" flesh_color = "#05FFFB" - hunger_factor = DEFAULT_HUNGER_FACTOR //todo + hunger_factor = 0.2 reagent_tag = IS_SLIME mob_size = MOB_SMALL bump_flag = SLIME @@ -31,27 +31,26 @@ var/datum/species/shapeshifter/promethean/prometheans male_cough_sounds = list('sound/effects/slime_squish.ogg') female_cough_sounds = list('sound/effects/slime_squish.ogg') - gluttonous = 1 - virus_immune = 1 - blood_volume = 560 - min_age = 1 - max_age = 5 - brute_mod = 0.5 - burn_mod = 2 - oxy_mod = 0 - total_health = 120 + gluttonous = 1 + virus_immune = 1 + blood_volume = 560 + min_age = 1 + max_age = 5 + brute_mod = 0.75 + burn_mod = 2 + oxy_mod = 0 - cold_level_1 = 260 - cold_level_2 = 200 - cold_level_3 = 120 + cold_level_1 = 280 //Default 260 - Lower is better + cold_level_2 = 220 //Default 200 + cold_level_3 = 130 //Default 120 - heat_level_1 = 360 - heat_level_2 = 400 - heat_level_3 = 1000 + heat_level_1 = 320 //Default 360 + heat_level_2 = 370 //Default 400 + heat_level_3 = 600 //Default 1000 body_temperature = 310.15 - siemens_coefficient = -1 + siemens_coefficient = 0.3 rarity_value = 5 unarmed_types = list(/datum/unarmed_attack/slime_glomp) @@ -83,7 +82,7 @@ var/datum/species/shapeshifter/promethean/prometheans valid_transform_species = list("Human", "Unathi", "Tajara", "Skrell", "Diona", "Teshari", "Monkey") monochromatic = 1 - var/heal_rate = 5 // Temp. Regen per tick. + var/heal_rate = 0.5 // Temp. Regen per tick. /datum/species/shapeshifter/promethean/New() ..() diff --git a/code/modules/mob/living/carbon/human/species/station/station.dm b/code/modules/mob/living/carbon/human/species/station/station.dm index e49236af940..92fae53d3c5 100644 --- a/code/modules/mob/living/carbon/human/species/station/station.dm +++ b/code/modules/mob/living/carbon/human/species/station/station.dm @@ -46,7 +46,7 @@ min_age = 32 max_age = 260 - blurb = "A heavily reptillian species, Unathi (or 'Sinta as they call themselves) hail from the \ + blurb = "A heavily reptillian species, Unathi hail from the \ Uuosa-Eso system, which roughly translates to 'burning mother'.

    Coming from a harsh, inhospitable \ planet, they mostly hold ideals of honesty, virtue, proficiency and bravery above all \ else, frequently even their own lives. They prefer warmer temperatures than most species and \ @@ -319,6 +319,7 @@ reagent_tag = IS_DIONA genders = list(PLURAL) + /datum/species/diona/can_understand(var/mob/other) var/mob/living/carbon/alien/diona/D = other if(istype(D)) diff --git a/code/modules/mob/living/carbon/metroid/emote.dm b/code/modules/mob/living/carbon/metroid/emote.dm index 3e7535f16bb..6375f23b2a3 100644 --- a/code/modules/mob/living/carbon/metroid/emote.dm +++ b/code/modules/mob/living/carbon/metroid/emote.dm @@ -86,7 +86,7 @@ src << "Help for slime emotes. You can use these emotes with say \"*emote\":\n\nbounce, custom, jiggle, light, moan, shiver, sway, twitch, vibrate. You can also set your face with: \n\nnomood, pout, sad, angry, frown, smile" else - src << "\blue Unusable emote '[act]'. Say *help for a list." + src << "Unusable emote '[act]'. Say *help for a list." if ((message && src.stat == 0)) if (m_type & 1) for(var/mob/O in viewers(src, null)) diff --git a/code/modules/mob/living/life.dm b/code/modules/mob/living/life.dm index 2209c630084..330adf8ddc6 100644 --- a/code/modules/mob/living/life.dm +++ b/code/modules/mob/living/life.dm @@ -179,6 +179,10 @@ return /mob/living/proc/update_sight() + if(!seedarkness) + see_invisible = SEE_INVISIBLE_NOLIGHTING + else + see_invisible = initial(see_invisible) return /mob/living/proc/handle_hud_icons() diff --git a/code/modules/mob/living/living.dm b/code/modules/mob/living/living.dm index 0b47ba7870f..8880efe0dac 100644 --- a/code/modules/mob/living/living.dm +++ b/code/modules/mob/living/living.dm @@ -153,7 +153,7 @@ default behaviour is: if ((src.health < 0 && src.health > (5-src.getMaxHealth()))) // Health below Zero but above 5-away-from-death, as before, but variable src.adjustOxyLoss(src.health + src.getMaxHealth() * 2) // Deal 2x health in OxyLoss damage, as before but variable. src.health = src.getMaxHealth() - src.getOxyLoss() - src.getToxLoss() - src.getFireLoss() - src.getBruteLoss() - src << "\blue You have given up life and succumbed to death." + src << "You have given up life and succumbed to death." /mob/living/proc/updatehealth() diff --git a/code/modules/mob/living/living_powers.dm b/code/modules/mob/living/living_powers.dm index 4fb4c1bcbdb..a9bb916413f 100644 --- a/code/modules/mob/living/living_powers.dm +++ b/code/modules/mob/living/living_powers.dm @@ -8,7 +8,7 @@ if (layer != 2.45) layer = 2.45 //Just above cables with their 2.44 - src << text("\blue You are now hiding.") + src << text("You are now hiding.") else layer = MOB_LAYER - src << text("\blue You have stopped hiding.") \ No newline at end of file + src << text("You have stopped hiding.") \ No newline at end of file diff --git a/code/modules/mob/living/silicon/robot/emote.dm b/code/modules/mob/living/silicon/robot/emote.dm index 84825559b06..7d40f0c0179 100644 --- a/code/modules/mob/living/silicon/robot/emote.dm +++ b/code/modules/mob/living/silicon/robot/emote.dm @@ -240,7 +240,7 @@ if ("help") src << "salute, bow-(none)/mob, clap, flap, aflap, twitch, twitch_s, nod, deathgasp, glare-(none)/mob, stare-(none)/mob, look, beep, ping, \nbuzz, law, halt, yes, no" else - src << "\blue Unusable emote '[act]'. Say *help for a list." + src << "Unusable emote '[act]'. Say *help for a list." if ((message && src.stat == 0)) custom_emote(m_type,message) diff --git a/code/modules/mob/living/silicon/robot/life.dm b/code/modules/mob/living/silicon/robot/life.dm index 8d89201007e..db8d7b2ead6 100644 --- a/code/modules/mob/living/silicon/robot/life.dm +++ b/code/modules/mob/living/silicon/robot/life.dm @@ -172,6 +172,12 @@ src.sight |= SEE_MOBS src.see_in_dark = 8 src.see_invisible = SEE_INVISIBLE_LEVEL_TWO + else if (!seedarkness) + src.sight &= ~SEE_MOBS + src.sight &= ~SEE_TURFS + src.sight &= ~SEE_OBJS + src.see_in_dark = 8 + src.see_invisible = SEE_INVISIBLE_NOLIGHTING else if (src.stat != 2) src.sight &= ~SEE_MOBS src.sight &= ~SEE_TURFS diff --git a/code/modules/mob/living/silicon/robot/robot.dm b/code/modules/mob/living/silicon/robot/robot.dm index 67ebfded555..b5c572398b4 100644 --- a/code/modules/mob/living/silicon/robot/robot.dm +++ b/code/modules/mob/living/silicon/robot/robot.dm @@ -65,6 +65,7 @@ var/opened = 0 var/emagged = 0 + var/emag_items = 0 var/wiresexposed = 0 var/locked = 1 var/has_power = 1 @@ -739,7 +740,7 @@ dat += text("[obj]: Activated
    ") else dat += text("[obj]: Activate
    ") - if (emagged) + if (emagged || emag_items) if(activated(module.emag)) dat += text("[module.emag]: Activated
    ") else @@ -1056,14 +1057,6 @@ src << "Obey these laws:" laws.show_laws(src) src << "ALERT: [user.real_name] is your new master. Obey your new laws and his commands." - if(src.module) - var/rebuild = 0 - for(var/obj/item/weapon/pickaxe/borgdrill/D in src.module.modules) - qdel(D) - rebuild = 1 - if(rebuild) - src.module.modules += new /obj/item/weapon/pickaxe/diamonddrill(src.module) - src.module.rebuild() updateicon() else user << "You fail to hack [src]'s interface." diff --git a/code/modules/mob/living/silicon/robot/robot_items.dm b/code/modules/mob/living/silicon/robot/robot_items.dm index 56081c274a0..5953e631aff 100644 --- a/code/modules/mob/living/silicon/robot/robot_items.dm +++ b/code/modules/mob/living/silicon/robot/robot_items.dm @@ -166,7 +166,7 @@ overlays += image("icon" = I.icon, "icon_state" = I.icon_state, "layer" = 30 + I.layer) addedSomething = 1 if ( addedSomething ) - user.visible_message("\blue [user] load some items onto their service tray.") + user.visible_message("[user] load some items onto their service tray.") return @@ -206,9 +206,9 @@ sleep(rand(2,4)) if ( droppedSomething ) if ( foundtable ) - user.visible_message("\blue [user] unloads their service tray.") + user.visible_message("[user] unloads their service tray.") else - user.visible_message("\blue [user] drops all the items on their tray.") + user.visible_message("[user] drops all the items on their tray.") return ..() @@ -288,7 +288,7 @@ deploy_paper(get_turf(src)) /obj/item/weapon/form_printer/proc/deploy_paper(var/turf/T) - T.visible_message("\blue \The [src.loc] dispenses a sheet of crisp white paper.") + T.visible_message("\The [src.loc] dispenses a sheet of crisp white paper.") new /obj/item/weapon/paper(T) diff --git a/code/modules/mob/living/silicon/robot/robot_modules.dm b/code/modules/mob/living/silicon/robot/robot_modules.dm index 0f49b3bbe45..b7c2306d74b 100644 --- a/code/modules/mob/living/silicon/robot/robot_modules.dm +++ b/code/modules/mob/living/silicon/robot/robot_modules.dm @@ -172,7 +172,7 @@ var/global/list/robot_modules = list( "Basic" = "robot_old", "Android" = "droid", "Drone" = "drone-standard" - ) + ) /obj/item/weapon/robot_module/robot/standard/New() ..() @@ -203,7 +203,8 @@ var/global/list/robot_modules = list( "Basic" = "Medbot", "Advanced Droid" = "droid-medical", "Needles" = "medicalrobot", - "Drone" = "drone-surgery" + "Drone" = "drone-surgery", + "Handy" = "handy-med" ) /obj/item/weapon/robot_module/robot/medical/surgeon/New() @@ -339,7 +340,8 @@ var/global/list/robot_modules = list( "Landmate" = "landmate", "Landmate - Treaded" = "engiborg+tread", "Drone" = "drone-engineer", - "Treadwell" = "treadwell" + "Treadwell" = "treadwell", + "Handy" = "handy-engineer" ) /obj/item/weapon/robot_module/robot/engineering/construction @@ -478,7 +480,7 @@ var/global/list/robot_modules = list( "Basic" = "secborg", "Black Knight" = "securityrobot", "Drone" = "drone-sec" - ) + ) /obj/item/weapon/robot_module/robot/security/general/New() ..() @@ -682,6 +684,7 @@ var/global/list/robot_modules = list( src.modules += new /obj/item/weapon/gripper/miner(src) src.modules += new /obj/item/weapon/mining_scanner(src) src.emag = new /obj/item/weapon/pickaxe/plasmacutter(src) + src.emag = new /obj/item/weapon/pickaxe/diamonddrill(src) /obj/item/weapon/robot_module/robot/research name = "research module" @@ -693,7 +696,8 @@ var/global/list/robot_modules = list( "WTDove" = "whitespider", "WTOperator" = "sleekscience", "Droid" = "droid-science", - "Drone" = "drone-science" + "Drone" = "drone-science", + "Handy" = "handy-science" ) /obj/item/weapon/robot_module/robot/research/New() diff --git a/code/modules/mob/living/simple_animal/animals/mouse.dm b/code/modules/mob/living/simple_animal/animals/mouse.dm index cb06aecb7ee..68c54b3d389 100644 --- a/code/modules/mob/living/simple_animal/animals/mouse.dm +++ b/code/modules/mob/living/simple_animal/animals/mouse.dm @@ -49,19 +49,16 @@ for(var/mob/M in view()) M << 'sound/effects/mousesqueek.ogg' - if(!ckey && stat == CONSCIOUS && prob(0.5)) - stat = UNCONSCIOUS - icon_state = "mouse_[body_color]_sleep" - wander = 0 + if(!resting && prob(0.5)) + lay_down() speak_chance = 0 //snuffles - else if(stat == UNCONSCIOUS) - if(ckey || prob(1)) - stat = CONSCIOUS - icon_state = "mouse_[body_color]" - wander = 1 - else if(prob(5)) + else if(resting) + if(prob(1)) + lay_down() + speak_chance = initial(speak_chance) + else if(prob(1)) audible_emote("snuffles.") /mob/living/simple_animal/mouse/New() @@ -97,7 +94,7 @@ if( ishuman(AM) ) if(!stat) var/mob/M = AM - M << "\blue \icon[src] Squeek!" + M << "\icon[src] Squeek!" M << 'sound/effects/mousesqueek.ogg' ..() diff --git a/code/modules/mob/living/simple_animal/borer/borer.dm b/code/modules/mob/living/simple_animal/borer/borer.dm index 9c36518875b..7498c83a7aa 100644 --- a/code/modules/mob/living/simple_animal/borer/borer.dm +++ b/code/modules/mob/living/simple_animal/borer/borer.dm @@ -63,16 +63,16 @@ if(host.reagents.has_reagent("sugar")) if(!docile) if(controlling) - host << "\blue You feel the soporific flow of sugar in your host's blood, lulling you into docility." + host << "You feel the soporific flow of sugar in your host's blood, lulling you into docility." else - src << "\blue You feel the soporific flow of sugar in your host's blood, lulling you into docility." + src << "You feel the soporific flow of sugar in your host's blood, lulling you into docility." docile = 1 else if(docile) if(controlling) - host << "\blue You shake off your lethargy as the sugar leaves your host's blood." + host << "You shake off your lethargy as the sugar leaves your host's blood." else - src << "\blue You shake off your lethargy as the sugar leaves your host's blood." + src << "You shake off your lethargy as the sugar leaves your host's blood." docile = 0 if(chemicals < 250) @@ -80,7 +80,7 @@ if(controlling) if(docile) - host << "\blue You are feeling far too docile to continue controlling your host..." + host << "You are feeling far too docile to continue controlling your host..." host.release_control() return diff --git a/code/modules/mob/living/simple_animal/borer/borer_captive.dm b/code/modules/mob/living/simple_animal/borer/borer_captive.dm index f07b9d32cee..2290e6ae6a6 100644 --- a/code/modules/mob/living/simple_animal/borer/borer_captive.dm +++ b/code/modules/mob/living/simple_animal/borer/borer_captive.dm @@ -7,7 +7,7 @@ if (src.client) if(client.prefs.muted & MUTE_IC) - src << "\red You cannot speak in IC (muted)." + src << "You cannot speak in IC (muted)." return if(istype(src.loc,/mob/living/simple_animal/borer)) diff --git a/code/modules/mob/mob_defines.dm b/code/modules/mob/mob_defines.dm index ca4a54b0e02..427786ad41c 100644 --- a/code/modules/mob/mob_defines.dm +++ b/code/modules/mob/mob_defines.dm @@ -210,3 +210,5 @@ var/list/active_genes=list() var/mob_size = MOB_MEDIUM var/forbid_seeing_deadchat = FALSE // Used for lings to not see deadchat, and to have ghosting behave as if they were not really dead. + + var/seedarkness = 1 //Determines mob's ability to see shadows. 1 = Normal vision, 0 = darkvision \ No newline at end of file diff --git a/code/modules/organs/subtypes/unbreakable.dm b/code/modules/organs/subtypes/unbreakable.dm index 9492d330e13..fcd819029eb 100644 --- a/code/modules/organs/subtypes/unbreakable.dm +++ b/code/modules/organs/subtypes/unbreakable.dm @@ -53,19 +53,19 @@ /obj/item/organ/external/arm/unbreakable/slime nonsolid = 1 - max_damage = 15 + max_damage = 5 /obj/item/organ/external/arm/right/unbreakable/slime nonsolid = 1 - max_damage = 15 + max_damage = 5 /obj/item/organ/external/leg/unbreakable/slime nonsolid = 1 - max_damage = 15 + max_damage = 5 /obj/item/organ/external/leg/right/unbreakable/slime nonsolid = 1 - max_damage = 15 + max_damage = 5 /obj/item/organ/external/foot/unbreakable/slime nonsolid = 1 @@ -85,4 +85,4 @@ /obj/item/organ/external/head/unbreakable/slime nonsolid = 1 - max_damage = 15 + max_damage = 5 diff --git a/code/modules/paperwork/pen.dm b/code/modules/paperwork/pen.dm index 2c25418b5f2..e7dfe7d0954 100644 --- a/code/modules/paperwork/pen.dm +++ b/code/modules/paperwork/pen.dm @@ -67,7 +67,7 @@ if(!ismob(M)) return user << "You stab [M] with the pen." -// M << "\red You feel a tiny prick!" //That's a whole lot of meta! +// M << "You feel a tiny prick!" //That's a whole lot of meta! M.attack_log += text("\[[time_stamp()]\] Has been stabbed with [name] by [user.name] ([user.ckey])") user.attack_log += text("\[[time_stamp()]\] Used the [name] to stab [M.name] ([M.ckey])") msg_admin_attack("[user.name] ([user.ckey]) Used the [name] to stab [M.name] ([M.ckey]) (JMP)") @@ -197,7 +197,7 @@ var/colourName = "red" //for updateIcon purposes suicide_act(mob/user) - viewers(user) << "\red [user] is jamming the [src.name] up \his nose and into \his brain. It looks like \he's trying to commit suicide." + viewers(user) << "[user] is jamming the [src.name] up \his nose and into \his brain. It looks like \he's trying to commit suicide." return (BRUTELOSS|OXYLOSS) New() diff --git a/code/modules/power/cable_heavyduty.dm b/code/modules/power/cable_heavyduty.dm index 67eb09bb1a7..5cbe9b43ab1 100644 --- a/code/modules/power/cable_heavyduty.dm +++ b/code/modules/power/cable_heavyduty.dm @@ -16,10 +16,10 @@ return if(istype(W, /obj/item/weapon/wirecutters)) - usr << "\blue These cables are too tough to be cut with those [W.name]." + usr << "These cables are too tough to be cut with those [W.name]." return else if(istype(W, /obj/item/stack/cable_coil)) - usr << "\blue You will need heavier cables to connect to these." + usr << "You will need heavier cables to connect to these." return else ..() diff --git a/code/modules/power/fractal_reactor.dm b/code/modules/power/fractal_reactor.dm index 91fe1337fe7..4270fdbc858 100644 --- a/code/modules/power/fractal_reactor.dm +++ b/code/modules/power/fractal_reactor.dm @@ -18,7 +18,7 @@ /obj/machinery/power/fractal_reactor/New() ..() if(!mapped_in) - world << "WARNING: \black Map testing power source activated at: X:[src.loc.x] Y:[src.loc.y] Z:[src.loc.z]" + world << "WARNING: Map testing power source activated at: X:[src.loc.x] Y:[src.loc.y] Z:[src.loc.z]" /obj/machinery/power/fractal_reactor/process() if(!powernet && !powernet_connection_failed) diff --git a/code/modules/power/fusion/fusion_circuits.dm b/code/modules/power/fusion/fusion_circuits.dm index d3bdc13fad5..f03d9c2db28 100644 --- a/code/modules/power/fusion/fusion_circuits.dm +++ b/code/modules/power/fusion/fusion_circuits.dm @@ -6,10 +6,10 @@ /obj/item/weapon/circuitboard/fusion_fuel_compressor name = "circuit board (fusion fuel compressor)" build_path = /obj/machinery/fusion_fuel_compressor - board_type = "machine" + board_type = new /datum/frame/frame_types/machine origin_tech = list(TECH_POWER = 3, TECH_ENGINEERING = 4, TECH_MATERIAL = 4) req_components = list( - /obj/item/weapon/stock_parts/manipulator/pico = 2, + /obj/item/weapon/stock_parts/manipulator/nano = 2, /obj/item/weapon/stock_parts/matter_bin/super = 2, /obj/item/weapon/stock_parts/console_screen = 1, /obj/item/stack/cable_coil = 5 @@ -28,12 +28,11 @@ /obj/item/weapon/circuitboard/fusion_core name = "internal circuitry (fusion core)" build_path = /obj/machinery/power/fusion_core - board_type = "machine" + board_type = new /datum/frame/frame_types/machine origin_tech = list(TECH_BLUESPACE = 2, TECH_MAGNET = 4, TECH_POWER = 4) req_components = list( - /obj/item/weapon/stock_parts/manipulator/pico = 2, - /obj/item/weapon/stock_parts/micro_laser/ultra = 1, - /obj/item/weapon/stock_parts/subspace/crystal = 1, + /obj/item/weapon/stock_parts/manipulator/nano = 2, + /obj/item/weapon/stock_parts/micro_laser/high = 1, /obj/item/weapon/stock_parts/console_screen = 1, /obj/item/stack/cable_coil = 5 ) @@ -41,16 +40,27 @@ /obj/item/weapon/circuitboard/fusion_injector name = "internal circuitry (fusion fuel injector)" build_path = /obj/machinery/fusion_fuel_injector - board_type = "machine" + board_type = new /datum/frame/frame_types/machine origin_tech = list(TECH_POWER = 3, TECH_ENGINEERING = 4, TECH_MATERIAL = 4) req_components = list( - /obj/item/weapon/stock_parts/manipulator/pico = 2, - /obj/item/weapon/stock_parts/scanning_module/phasic = 1, + /obj/item/weapon/stock_parts/manipulator/nano = 2, + /obj/item/weapon/stock_parts/scanning_module/adv = 1, /obj/item/weapon/stock_parts/matter_bin/super = 1, /obj/item/weapon/stock_parts/console_screen = 1, /obj/item/stack/cable_coil = 5 ) +/obj/item/weapon/circuitboard/gyrotron + name = "circuit board (gyrotron)" + build_path = /obj/machinery/power/emitter/gyrotron + board_type = new /datum/frame/frame_types/machine + origin_tech = list(TECH_POWER = 4, TECH_ENGINEERING = 4, TECH_MATERIAL = 5, TECH_MAGNET = 3) + req_components = list( + /obj/item/weapon/stock_parts/scanning_module/adv = 1, + /obj/item/weapon/stock_parts/micro_laser/high = 3, + /obj/item/weapon/stock_parts/capacitor/adv = 1 + ) + /datum/design/circuit/fusion name = "fusion core control console" id = "fusion_core_control" diff --git a/code/modules/power/singularity/collector.dm b/code/modules/power/singularity/collector.dm index 53e3dc29c98..0d3a04d56f1 100644 --- a/code/modules/power/singularity/collector.dm +++ b/code/modules/power/singularity/collector.dm @@ -54,7 +54,7 @@ var/global/list/rad_collectors = list() investigate_log("turned [active?"on":"off"] by [user.key]. [P?"Fuel: [round(P.air_contents.gas["phoron"]/0.29)]%":"It is empty"].","singulo") return else - user << "\red The controls are locked!" + user << "The controls are locked!" return ..() @@ -62,10 +62,10 @@ var/global/list/rad_collectors = list() /obj/machinery/power/rad_collector/attackby(obj/item/W, mob/user) if(istype(W, /obj/item/weapon/tank/phoron)) if(!src.anchored) - user << "\red The [src] needs to be secured to the floor first." + user << "The [src] needs to be secured to the floor first." return 1 if(src.P) - user << "\red There's already a phoron tank loaded." + user << "There's already a phoron tank loaded." return 1 user.drop_item() src.P = W @@ -78,7 +78,7 @@ var/global/list/rad_collectors = list() return 1 else if(istype(W, /obj/item/weapon/wrench)) if(P) - user << "\blue Remove the phoron tank first." + user << "Remove the phoron tank first." return 1 playsound(src.loc, 'sound/items/Ratchet.ogg', 75, 1) src.anchored = !src.anchored @@ -97,9 +97,9 @@ var/global/list/rad_collectors = list() user << "The controls are now [src.locked ? "locked." : "unlocked."]" else src.locked = 0 //just in case it somehow gets locked - user << "\red The controls can only be locked when the [src] is active" + user << "The controls can only be locked when the [src] is active." else - user << "\red Access denied!" + user << "Access denied!" return 1 return ..() diff --git a/code/modules/power/singularity/particle_accelerator/particle.dm b/code/modules/power/singularity/particle_accelerator/particle.dm index bd7338f00e6..288b4567514 100644 --- a/code/modules/power/singularity/particle_accelerator/particle.dm +++ b/code/modules/power/singularity/particle_accelerator/particle.dm @@ -77,7 +77,7 @@ var/radiation = (energy*2) M.apply_effect((radiation*3),IRRADIATE,0) M.updatehealth() - //M << "\red You feel odd." + //M << "You feel odd." return diff --git a/code/modules/power/smes.dm b/code/modules/power/smes.dm index 61d5374cad8..4eba53c42e1 100644 --- a/code/modules/power/smes.dm +++ b/code/modules/power/smes.dm @@ -380,7 +380,7 @@ if(src.z in using_map.station_levels) if(prob(1)) //explosion for(var/mob/M in viewers(src)) - M.show_message("\red The [src.name] is making strange noises!", 3, "\red You hear sizzling electronics.", 2) + M.show_message("The [src.name] is making strange noises!", 3, "You hear sizzling electronics.", 2) sleep(10*pick(4,5,6,7,10,14)) var/datum/effect/effect/system/smoke_spread/smoke = new /datum/effect/effect/system/smoke_spread() smoke.set_up(3, 0, src.loc) diff --git a/code/modules/power/solar.dm b/code/modules/power/solar.dm index 85067d987ca..8ecf78bfa98 100644 --- a/code/modules/power/solar.dm +++ b/code/modules/power/solar.dm @@ -407,7 +407,7 @@ var/list/solars_list = list() playsound(src.loc, 'sound/items/Screwdriver.ogg', 50, 1) if(do_after(user, 20)) if (src.stat & BROKEN) - user << "\blue The broken glass falls out." + user << "The broken glass falls out." var/obj/structure/frame/A = new /obj/structure/frame( src.loc ) new /obj/item/weapon/material/shard( src.loc ) var/obj/item/weapon/circuitboard/solar_control/M = new /obj/item/weapon/circuitboard/solar_control( A ) @@ -420,7 +420,7 @@ var/list/solars_list = list() A.anchored = 1 qdel(src) else - user << "\blue You disconnect the monitor." + user << "You disconnect the monitor." var/obj/structure/frame/A = new /obj/structure/frame( src.loc ) var/obj/item/weapon/circuitboard/solar_control/M = new /obj/item/weapon/circuitboard/solar_control( A ) for (var/obj/C in src) diff --git a/code/modules/projectiles/guns/projectile.dm b/code/modules/projectiles/guns/projectile.dm index b9c7b3f2dbd..b3f9984d6a3 100644 --- a/code/modules/projectiles/guns/projectile.dm +++ b/code/modules/projectiles/guns/projectile.dm @@ -32,13 +32,14 @@ //var/list/icon_keys = list() //keys //var/list/ammo_states = list() //values -/obj/item/weapon/gun/projectile/New() +/obj/item/weapon/gun/projectile/New(loc, var/starts_loaded = 1) ..() - if(ispath(ammo_type) && (load_method & (SINGLE_CASING|SPEEDLOADER))) - for(var/i in 1 to max_shells) - loaded += new ammo_type(src) - if(ispath(magazine_type) && (load_method & MAGAZINE)) - ammo_magazine = new magazine_type(src) + if(starts_loaded) + if(ispath(ammo_type) && (load_method & (SINGLE_CASING|SPEEDLOADER))) + for(var/i in 1 to max_shells) + loaded += new ammo_type(src) + if(ispath(magazine_type) && (load_method & MAGAZINE)) + ammo_magazine = new magazine_type(src) update_icon() /obj/item/weapon/gun/projectile/consume_next_projectile() diff --git a/code/modules/projectiles/guns/projectile/dartgun.dm b/code/modules/projectiles/guns/projectile/dartgun.dm index 8c64b297d1c..b5f384c3157 100644 --- a/code/modules/projectiles/guns/projectile/dartgun.dm +++ b/code/modules/projectiles/guns/projectile/dartgun.dm @@ -96,25 +96,25 @@ // return ..() if (beakers.len) - user << "\blue [src] contains:" + user << "[src] contains:" for(var/obj/item/weapon/reagent_containers/glass/beaker/B in beakers) if(B.reagents && B.reagents.reagent_list.len) for(var/datum/reagent/R in B.reagents.reagent_list) - user << "\blue [R.volume] units of [R.name]" + user << "[R.volume] units of [R.name]" /obj/item/weapon/gun/projectile/dartgun/attackby(obj/item/I as obj, mob/user as mob) if(istype(I, /obj/item/weapon/reagent_containers/glass)) if(!istype(I, container_type)) - user << "\blue [I] doesn't seem to fit into [src]." + user << "[I] doesn't seem to fit into [src]." return if(beakers.len >= max_beakers) - user << "\blue [src] already has [max_beakers] beakers in it - another one isn't going to fit!" + user << "[src] already has [max_beakers] beakers in it - another one isn't going to fit!" return var/obj/item/weapon/reagent_containers/glass/beaker/B = I user.drop_item() B.loc = src beakers += B - user << "\blue You slot [B] into [src]." + user << "You slot [B] into [src]." src.updateUsrDialog() return 1 ..() diff --git a/code/modules/projectiles/guns/projectile/sniper/collapsible_sniper.dm b/code/modules/projectiles/guns/projectile/sniper/collapsible_sniper.dm new file mode 100644 index 00000000000..7accdbc50bc --- /dev/null +++ b/code/modules/projectiles/guns/projectile/sniper/collapsible_sniper.dm @@ -0,0 +1,176 @@ +////////////// PTR-7 Anti-Materiel Rifle ////////////// + +/obj/item/weapon/gun/projectile/heavysniper/collapsible + +/obj/item/weapon/gun/projectile/heavysniper/collapsible/verb/take_down() + set category = "Object" + set name = "Disassemble Rifle" + + var/mob/living/carbon/human/user = usr + if(user.stat) + return + + if(chambered) + to_chat(user, "You need to empty the rifle to break it down.") + else + collapse_rifle(user) + +/obj/item/weapon/gun/projectile/heavysniper/proc/collapse_rifle(mob/user) + to_chat(user, "You begin removing \the [src]'s barrel.") + if(do_after(user, 40)) + if(user.unEquip(src, force=1)) + to_chat(user, "You remove \the [src]'s barrel.") + qdel(src) + var/obj/item/barrel = new /obj/item/sniper_rifle_part/barrel(user) + var/obj/item/sniper_rifle_part/assembly = new /obj/item/sniper_rifle_part/trigger_group(user) + var/obj/item/sniper_rifle_part/stock/stock = new(assembly) + assembly.stock = stock + assembly.part_count = 2 + assembly.update_build() + user.put_in_any_hand_if_possible(assembly) || assembly.dropInto(user.loc) + user.put_in_any_hand_if_possible(barrel) || barrel.dropInto(user.loc) + + +/obj/item/sniper_rifle_part + name = "AM rifle part" + desc = "A part of an antimateriel rifle." + + w_class = ITEMSIZE_NORMAL + + icon = 'icons/obj/gun.dmi' + + var/obj/item/sniper_rifle_part/barrel = null + var/obj/item/sniper_rifle_part/stock = null + var/obj/item/sniper_rifle_part/trigger_group = null + var/part_count = 1 + + +/obj/item/sniper_rifle_part/barrel + name = "AM rifle barrel" + icon_state = "heavysniper-barrel" + +/obj/item/sniper_rifle_part/barrel/New() + ..() + barrel = src + +/obj/item/sniper_rifle_part/stock + name = "AM rifle stock" + icon_state = "heavysniper-stock" + +/obj/item/sniper_rifle_part/stock/New() + ..() + stock = src + +/obj/item/sniper_rifle_part/trigger_group + name = "AM rifle trigger assembly" + icon_state = "heavysniper-trig" + +/obj/item/sniper_rifle_part/trigger_group/New() + ..() + trigger_group = src + +/obj/item/sniper_rifle_part/attack_self(mob/user as mob) + if(part_count == 1) + to_chat(user, "You can't disassemble this further!") + return + + to_chat(user, "You start disassembling \the [src].") + if(!do_after(user, 40)) + return + + to_chat(user, "You disassemble \the [src].") + for(var/obj/item/sniper_rifle_part/P in list(barrel, stock, trigger_group)) + if(P.barrel != P) + P.barrel = null + if(P.stock != P) + P.stock = null + if(P.trigger_group != P) + P.trigger_group = null + if(P != src) + user.put_in_any_hand_if_possible(P) || P.dropInto(loc) + P.part_count = 1 + + update_build() + +/obj/item/sniper_rifle_part/attackby(var/obj/item/sniper_rifle_part/A as obj, mob/user as mob) + + to_chat(user, "You begin adding \the [A] to \the [src].") + if(!do_after(user, 30)) + return + + + + if(istype(A, /obj/item/sniper_rifle_part/trigger_group)) + if(A.part_count > 1 && src.part_count > 1) + to_chat(user, "Disassemble one of these parts first!") + return + + if(!trigger_group) + if(user.unEquip(A, force=1)) + trigger_group = A + else + to_chat(user, "There's already a trigger group!") + return + + else if(istype(A, /obj/item/sniper_rifle_part/barrel)) + if(!barrel) + if(user.unEquip(A, force=1)) + barrel = A + else + to_chat(user, "There's already a barrel!") + return + + else if(istype(A, /obj/item/sniper_rifle_part/stock)) + if(!stock) + if(user.unEquip(A, force=1)) + stock = A + else + to_chat(user, "There's already a stock!") + return + + A.forceMove(src) + to_chat(user, "You install \the [A].") + + if(A.barrel && !src.barrel) + src.barrel = A.barrel + if(A.stock && !src.stock) + src.stock = A.stock + if(A.trigger_group && !src.trigger_group) + src.trigger_group = A.trigger_group + + + part_count = A.part_count + src.part_count + update_build(user) + + +/obj/item/sniper_rifle_part/proc/update_build() + switch(part_count) + if(1) + name = initial(name) + w_class = ITEMSIZE_NORMAL + icon_state = initial(icon_state) + if(2) + if(barrel && trigger_group) + name = "AM rifle barrel-trigger assembly" + icon_state = "heavysniper-trigbar" + else if(stock && trigger_group) + name = "AM rifle stock-trigger assembly" + icon_state = "heavysniper-trigstock" + else if(stock && barrel) + name = "AM rifle stock-barrel assembly" + icon_state = "heavysniper-barstock" + w_class = ITEMSIZE_LARGE + + if(3) + var/obj/item/weapon/gun/projectile/heavysniper/collapsible/gun = new (get_turf(src), 0) + if(usr && istype(usr, /mob/living/carbon/human)) + var/mob/living/carbon/human/user = usr + user.unEquip(src, force=1) + user.put_in_any_hand_if_possible(gun) || gun.dropInto(loc) + qdel(src) + +/obj/item/weapon/gun/projectile/heavysniper/update_icon() + if(bolt_open) + icon_state = "heavysniper-open" + else + icon_state = "heavysniper" diff --git a/code/modules/reagents/Chemistry-Reagents/Chemistry-Reagents-Medicine.dm b/code/modules/reagents/Chemistry-Reagents/Chemistry-Reagents-Medicine.dm index eb56b0904ac..ebc3650ee54 100644 --- a/code/modules/reagents/Chemistry-Reagents/Chemistry-Reagents-Medicine.dm +++ b/code/modules/reagents/Chemistry-Reagents/Chemistry-Reagents-Medicine.dm @@ -258,7 +258,7 @@ /datum/reagent/oxycodone/affect_blood(var/mob/living/carbon/M, var/alien, var/removed) M.add_chemical_effect(CE_PAINKILLER, 200) - M.eye_blurry += 10 + M.eye_blurry = min(M.eye_blurry + 10, 250) M.Confuse(5) /datum/reagent/oxycodone/overdose(var/mob/living/carbon/M, var/alien) @@ -291,6 +291,23 @@ M.adjustToxLoss(5 * removed) // It used to be incredibly deadly due to an oversight. Not anymore! M.add_chemical_effect(CE_PAINKILLER, 20) +/datum/reagent/hyperzine + name = "Hyperzine" + id = "hyperzine" + description = "Hyperzine is a highly effective, long lasting, muscle stimulant." + taste_description = "bitterness" + reagent_state = LIQUID + color = "#FF3300" + overdose = REAGENTS_OVERDOSE * 0.5 + +/datum/reagent/hyperzine/affect_blood(var/mob/living/carbon/M, var/alien, var/removed) + if(alien == IS_TAJARA) + removed *= 1.25 + ..() + if(prob(5)) + M.emote(pick("twitch", "blink_r", "shiver")) + M.add_chemical_effect(CE_SPEEDBOOST, 1) + /datum/reagent/alkysine name = "Alkysine" id = "alkysine" @@ -352,7 +369,7 @@ I.damage = max(I.damage - removed, 0) H.Confuse(5) if(I.damage <= 5 && I.organ_tag == O_EYES) - H.eye_blurry += 10 //Eyes need to reset, or something + H.eye_blurry = min(M.eye_blurry + 10, 250) //Eyes need to reset, or something H.sdisabilities &= ~BLIND /datum/reagent/osteodaxon @@ -391,7 +408,7 @@ /datum/reagent/myelamine/affect_blood(var/mob/living/carbon/M, var/alien, var/removed) if(alien == IS_DIONA) return - M.eye_blurry += (repair_strength * removed) + M.eye_blurry += min(M.eye_blurry + (repair_strength * removed), 250) if(ishuman(M)) var/mob/living/carbon/human/H = M var/wound_heal = removed * repair_strength diff --git a/code/modules/reagents/Chemistry-Reagents/Chemistry-Reagents-Toxins.dm b/code/modules/reagents/Chemistry-Reagents/Chemistry-Reagents-Toxins.dm index 1120192c6ba..25f6025b989 100644 --- a/code/modules/reagents/Chemistry-Reagents/Chemistry-Reagents-Toxins.dm +++ b/code/modules/reagents/Chemistry-Reagents/Chemistry-Reagents-Toxins.dm @@ -128,24 +128,6 @@ M.adjustOxyLoss(20 * removed) M.sleeping += 1 -/datum/reagent/toxin/hyperzine - name = "Hyperzine" - id = "hyperzine" - description = "Hyperzine is a highly effective, long lasting, muscle stimulant." - taste_description = "bitterness" - reagent_state = LIQUID - color = "#FF3300" - overdose = REAGENTS_OVERDOSE * 0.5 - strength = 2 - -/datum/reagent/toxin/hyperzine/affect_blood(var/mob/living/carbon/M, var/alien, var/removed) - if(alien == IS_TAJARA) - removed *= 1.25 - ..() - if(prob(5)) - M.emote(pick("twitch", "blink_r", "shiver")) - M.add_chemical_effect(CE_SPEEDBOOST, 1) - /datum/reagent/toxin/stimm //Homemade Hyperzine name = "Stimm" id = "stimm" diff --git a/code/modules/research/designs.dm b/code/modules/research/designs.dm index a7da54dabfd..fd75b22eaf5 100644 --- a/code/modules/research/designs.dm +++ b/code/modules/research/designs.dm @@ -1595,6 +1595,24 @@ CIRCUITS BELOW build_path = /obj/item/device/assembly/electronic_assembly sort_string = "VCAAF" +/datum/design/item/custom_circuit_printer + name = "Portable integrated circuit printer" + desc = "A portable(ish) printer for modular machines." + id = "ic_printer" + req_tech = list(TECH_MATERIAL = 3, TECH_ENGINEERING = 4, TECH_DATA = 5) + materials = list(DEFAULT_WALL_MATERIAL = 10000) + build_path = /obj/item/device/integrated_circuit_printer + sort_string = "VCAAG" + +/datum/design/item/custom_circuit_printer + name = "Integrated circuit printer upgrade - advanced designs" + desc = "Allows the integrated circuit printer to create advanced circuits" + id = "ic_printer_upgrade_adv" + req_tech = list(TECH_ENGINEERING = 3, TECH_DATA = 4) + materials = list(DEFAULT_WALL_MATERIAL = 2000) + build_path = /obj/item/weapon/disk/integrated_circuit/upgrade/advanced + sort_string = "VCAAH" + /datum/design/item/translator name = "handheld translator" id = "translator" diff --git a/code/modules/research/message_server.dm b/code/modules/research/message_server.dm index 53d534a619f..49c300933d8 100644 --- a/code/modules/research/message_server.dm +++ b/code/modules/research/message_server.dm @@ -136,7 +136,7 @@ var/global/list/obj/machinery/message_server/message_servers = list() /obj/machinery/message_server/attack_hand(user as mob) -// user << "\blue There seem to be some parts missing from this server. They should arrive on the station in a few days, give or take a few CentCom delays." +// user << "There seem to be some parts missing from this server. They should arrive on the station in a few days, give or take a few CentCom delays." user << "You toggle PDA message passing from [active ? "On" : "Off"] to [active ? "Off" : "On"]" active = !active update_icon() diff --git a/code/modules/research/research.dm b/code/modules/research/research.dm index 1730eb639ba..22a8bc1a3f8 100644 --- a/code/modules/research/research.dm +++ b/code/modules/research/research.dm @@ -54,7 +54,7 @@ research holder datum. known_tech += new T(src) for(var/D in typesof(/datum/design) - /datum/design) possible_designs += new D(src) - generate_integrated_circuit_designs() +// generate_integrated_circuit_designs() RefreshResearch() /datum/research/techonly @@ -129,7 +129,7 @@ research holder datum. var/datum/tech/check_tech = T if(initial(check_tech.id) == ID) return initial(check_tech.name) - +/* /datum/research/proc/generate_integrated_circuit_designs() spawn(2 SECONDS) // So the list has time to initialize. for(var/obj/item/integrated_circuit/IC in all_integrated_circuits) @@ -143,6 +143,7 @@ research holder datum. D.req_tech = list(TECH_ENGINEERING = 2, TECH_DATA = 2) D.build_path = IC.type possible_designs += D +*/ /*************************************************************** ** Technology Datums ** diff --git a/code/modules/security levels/keycard authentication.dm b/code/modules/security levels/keycard authentication.dm index 7c9fea54da1..1e7ab795889 100644 --- a/code/modules/security levels/keycard authentication.dm +++ b/code/modules/security levels/keycard authentication.dm @@ -173,7 +173,7 @@ feedback_inc("alert_keycard_auth_maintRevoke",1) if("Emergency Response Team") if(is_ert_blocked()) - usr << "\red All emergency response teams are dispatched and can not be called at this time." + usr << "All emergency response teams are dispatched and can not be called at this time." return trigger_armed_response_team(1) diff --git a/code/modules/shuttles/shuttle.dm b/code/modules/shuttles/shuttle.dm index 31fcc73bc62..e42196b56b3 100644 --- a/code/modules/shuttles/shuttle.dm +++ b/code/modules/shuttles/shuttle.dm @@ -43,38 +43,55 @@ world << "warning: shuttle with docking tag [docking_controller_tag] could not find it's controller!" /datum/shuttle/proc/short_jump(var/area/origin,var/area/destination) - if(moving_status != SHUTTLE_IDLE) return + if(moving_status != SHUTTLE_IDLE) + return - //it would be cool to play a sound here moving_status = SHUTTLE_WARMUP spawn(warmup_time*10) + + make_sounds(origin, HYPERSPACE_WARMUP) + sleep(5 SECONDS) // so the sound finishes. + if (moving_status == SHUTTLE_IDLE) + make_sounds(origin, HYPERSPACE_END) return //someone cancelled the launch moving_status = SHUTTLE_INTRANSIT //shouldn't matter but just to be safe move(origin, destination) moving_status = SHUTTLE_IDLE + make_sounds(destination, HYPERSPACE_END) /datum/shuttle/proc/long_jump(var/area/departing, var/area/destination, var/area/interim, var/travel_time, var/direction) //world << "shuttle/long_jump: departing=[departing], destination=[destination], interim=[interim], travel_time=[travel_time]" - if(moving_status != SHUTTLE_IDLE) return + if(moving_status != SHUTTLE_IDLE) + return //it would be cool to play a sound here moving_status = SHUTTLE_WARMUP spawn(warmup_time*10) + + make_sounds(departing, HYPERSPACE_WARMUP) + sleep(5 SECONDS) // so the sound finishes. + if (moving_status == SHUTTLE_IDLE) + make_sounds(departing, HYPERSPACE_END) return //someone cancelled the launch arrive_time = world.time + travel_time*10 moving_status = SHUTTLE_INTRANSIT move(departing, interim, direction) - + var/last_progress_sound = 0 while (world.time < arrive_time) + // Make the shuttle make sounds every four seconds, since the sound file is five seconds. + if(last_progress_sound + 4 SECONDS < world.time) + make_sounds(interim, HYPERSPACE_PROGRESS) + last_progress_sound = world.time sleep(5) move(interim, destination, direction) moving_status = SHUTTLE_IDLE + make_sounds(destination, HYPERSPACE_END) /datum/shuttle/proc/dock() if (!docking_controller) @@ -104,7 +121,7 @@ //If you want to conditionally cancel shuttle launches, that logic must go in short_jump() or long_jump() /datum/shuttle/proc/move(var/area/origin, var/area/destination, var/direction=null) - //world << "move_shuttle() called for [shuttle_tag] leaving [origin] en route to [destination]." + //world << "move_shuttle() called for [name] leaving [origin] en route to [destination]." //world << "area_coming_from: [origin]" //world << "destination: [destination]" @@ -167,3 +184,15 @@ //returns 1 if the shuttle has a valid arrive time /datum/shuttle/proc/has_arrive_time() return (moving_status == SHUTTLE_INTRANSIT) + +/datum/shuttle/proc/make_sounds(var/area/A, var/sound_type) + var/sound_to_play = null + switch(sound_type) + if(HYPERSPACE_WARMUP) + sound_to_play = 'sound/effects/shuttles/hyperspace_begin.ogg' + if(HYPERSPACE_PROGRESS) + sound_to_play = 'sound/effects/shuttles/hyperspace_progress.ogg' + if(HYPERSPACE_END) + sound_to_play = 'sound/effects/shuttles/hyperspace_end.ogg' + for(var/obj/machinery/door/E in A) //dumb, I know, but playing it on the engines doesn't do it justice + playsound(E, sound_to_play, 50, FALSE) \ No newline at end of file diff --git a/code/modules/shuttles/shuttle_specops.dm b/code/modules/shuttles/shuttle_specops.dm index d9cc121f790..74acd095f71 100644 --- a/code/modules/shuttles/shuttle_specops.dm +++ b/code/modules/shuttles/shuttle_specops.dm @@ -4,7 +4,7 @@ req_access = list(access_cent_specops) /obj/machinery/computer/shuttle_control/specops/attack_ai(user as mob) - user << "\red Access Denied." + user << "Access Denied." return 1 //for shuttles that may use a different docking port at each location @@ -64,14 +64,14 @@ var/obj/machinery/computer/C = user if(world.time <= reset_time) - C.visible_message("\blue [using_map.boss_name] will not allow the Special Operations shuttle to launch yet.") + C.visible_message("[using_map.boss_name] will not allow the Special Operations shuttle to launch yet.") if (((world.time - reset_time)/10) > 60) - C.visible_message("\blue [-((world.time - reset_time)/10)/60] minutes remain!") + C.visible_message("[-((world.time - reset_time)/10)/60] minutes remain!") else - C.visible_message("\blue [-(world.time - reset_time)/10] seconds remain!") + C.visible_message("[-(world.time - reset_time)/10] seconds remain!") return - C.visible_message("\blue The Special Operations shuttle will depart in [(specops_countdown_time/10)] seconds.") + C.visible_message("The Special Operations shuttle will depart in [(specops_countdown_time/10)] seconds.") if (location) //returning radio_announce("THE SPECIAL OPERATIONS SHUTTLE IS PREPARING TO RETURN") @@ -113,7 +113,7 @@ radio_announce("ALERT: LAUNCH SEQUENCE ABORTED") if (istype(in_use, /obj/machinery/computer)) var/obj/machinery/computer/C = in_use - C.visible_message("\red Launch sequence aborted.") + C.visible_message("Launch sequence aborted.") ..() diff --git a/code/modules/shuttles/shuttle_supply.dm b/code/modules/shuttles/shuttle_supply.dm index 9a6b7f33801..7565d7f4665 100644 --- a/code/modules/shuttles/shuttle_supply.dm +++ b/code/modules/shuttles/shuttle_supply.dm @@ -19,12 +19,18 @@ //it would be cool to play a sound here moving_status = SHUTTLE_WARMUP spawn(warmup_time*10) + + make_sounds(origin, HYPERSPACE_WARMUP) + sleep(5 SECONDS) // so the sound finishes. + if (moving_status == SHUTTLE_IDLE) + make_sounds(origin, HYPERSPACE_END) return //someone cancelled the launch if (at_station() && forbidden_atoms_check()) //cancel the launch because of forbidden atoms. announce over supply channel? moving_status = SHUTTLE_IDLE + make_sounds(origin, HYPERSPACE_END) return if (!at_station()) //at centcom @@ -51,6 +57,7 @@ move(away_area, destination) moving_status = SHUTTLE_IDLE + make_sounds(destination, HYPERSPACE_END) if (!at_station()) //at centcom supply_controller.sell() diff --git a/code/modules/shuttles/shuttles_multi.dm b/code/modules/shuttles/shuttles_multi.dm index 9dc7e4312eb..85155f61198 100644 --- a/code/modules/shuttles/shuttles_multi.dm +++ b/code/modules/shuttles/shuttles_multi.dm @@ -2,10 +2,12 @@ /datum/shuttle/multi_shuttle flags = SHUTTLE_FLAGS_NONE - var/cloaked = 1 + var/cloaked = FALSE + var/can_cloak = FALSE var/at_origin = 1 var/returned_home = 0 - var/move_time = 240 +// var/move_time = 240 + var/move_time = 60 var/cooldown = 20 var/last_move = 0 //the time at which we last moved @@ -103,7 +105,8 @@ else dat += "Engines ready.
    " - dat += "
    Toggle cloaking field
    " + if(MS.can_cloak) + dat += "
    Toggle cloaking field
    " dat += "Move ship
    " dat += "Return to base" @@ -171,7 +174,7 @@ return if (MS.moving_status != SHUTTLE_IDLE) - usr << "\blue [shuttle_tag] vessel is moving." + usr << "[shuttle_tag] vessel is moving." return if(href_list["dock_command"]) @@ -184,36 +187,38 @@ if(href_list["start"]) if(MS.at_origin) - usr << "\red You are already at your home base." + usr << "You are already at your home base." return if((MS.last_move + MS.cooldown*10) > world.time) - usr << "\red The ship's drive is inoperable while the engines are charging." + usr << "The ship's drive is inoperable while the engines are charging." return if(!check_docking(MS)) updateUsrDialog() return - if(!MS.return_warning) - usr << "\red Returning to your home base will end your mission. If you are sure, press the button again." - //TODO: Actually end the mission. - MS.return_warning = 1 - return + // No point giving a warning if it does literally nothing. +// if(!MS.return_warning) +// usr << "Returning to your home base will end your mission. If you are sure, press the button again." +// //TODO: Actually end the mission. +// MS.return_warning = 1 +// return - MS.long_jump(MS.last_departed,MS.origin,MS.interim,MS.move_time) + MS.long_jump(MS.last_departed, MS.origin, MS.interim, MS.move_time) MS.last_departed = MS.origin MS.last_location = MS.start_location MS.at_origin = 1 if(href_list["toggle_cloak"]) - + if(!MS.can_cloak) + return MS.cloaked = !MS.cloaked - usr << "\red Ship stealth systems have been [(MS.cloaked ? "activated. The station will not" : "deactivated. The station will")] be warned of our arrival." + usr << "Ship stealth systems have been [(MS.cloaked ? "activated. The station will not" : "deactivated. The station will")] be warned of our arrival." if(href_list["move_multi"]) if((MS.last_move + MS.cooldown*10) > world.time) - usr << "\red The ship's drive is inoperable while the engines are charging." + usr << "The ship's drive is inoperable while the engines are charging." return if(!check_docking(MS)) @@ -223,7 +228,7 @@ var/choice = input("Select a destination.") as null|anything in MS.destinations if(!choice) return - usr << "\blue [shuttle_tag] main computer recieved message." + usr << "[shuttle_tag] main computer recieved message." if(MS.at_origin) MS.announce_arrival() diff --git a/code/modules/surgery/limb_reattach.dm b/code/modules/surgery/limb_reattach.dm index 0d10b535c32..3310ffe6a50 100644 --- a/code/modules/surgery/limb_reattach.dm +++ b/code/modules/surgery/limb_reattach.dm @@ -25,15 +25,16 @@ can_use(mob/living/user, mob/living/carbon/human/target, target_zone, obj/item/tool) var/obj/item/organ/external/E = tool var/obj/item/organ/external/P = target.organs_by_name[E.parent_organ] + var/obj/item/organ/external/affected = target.get_organ(target_zone) + if (affected) + user << "Something is in the way! You can't attach [E] here!" + return 0 if(!P) user << "There's nothing to attach [E] to!" return 0 else if((P.robotic >= ORGAN_ROBOT) && (E.robotic < ORGAN_ROBOT)) user << "Attaching [E] to [P] wouldn't work well." return 0 - else if(P.children.len) - user << "Something is in the way! You can't attach [E] here!" - return 0 else return 1 diff --git a/code/modules/virus2/biohazard destroyer.dm b/code/modules/virus2/biohazard destroyer.dm index c6281e16805..694251a76e5 100644 --- a/code/modules/virus2/biohazard destroyer.dm +++ b/code/modules/virus2/biohazard destroyer.dm @@ -17,4 +17,4 @@ I.loc = src.loc for(var/mob/O in hearers(src, null)) - O.show_message("\icon[src] \blue The [src.name] beeps", 2) \ No newline at end of file + O.show_message("\icon[src] The [src.name] beeps.", 2) \ No newline at end of file diff --git a/code/modules/virus2/items_devices.dm b/code/modules/virus2/items_devices.dm index 887a547e0df..ae56c35087b 100644 --- a/code/modules/virus2/items_devices.dm +++ b/code/modules/virus2/items_devices.dm @@ -31,7 +31,7 @@ report("Antibodies detected: [antigens2string(C.antibodies)]", user) /obj/item/device/antibody_scanner/proc/report(var/text, mob/user as mob) - user << "\blue \icon[src] \The [src] beeps, \"[text]\"" + user << "\icon[src] \The [src] beeps, \"[text]\"" ///////////////VIRUS DISH/////////////// diff --git a/code/modules/xenoarcheaology/artifacts/replicator.dm b/code/modules/xenoarcheaology/artifacts/replicator.dm index 5ae161f6a44..46e5ad70fb0 100644 --- a/code/modules/xenoarcheaology/artifacts/replicator.dm +++ b/code/modules/xenoarcheaology/artifacts/replicator.dm @@ -74,13 +74,13 @@ viables.Remove(type) construction[button_desc] = type - fail_message = "\blue \icon[src] a [pick("loud","soft","sinister","eery","triumphant","depressing","cheerful","angry")] \ + fail_message = "\icon[src] a [pick("loud","soft","sinister","eery","triumphant","depressing","cheerful","angry")] \ [pick("horn","beep","bing","bleep","blat","honk","hrumph","ding")] sounds and a \ [pick("yellow","purple","green","blue","red","orange","white")] \ [pick("light","dial","meter","window","protrusion","knob","antenna","swirly thing")] \ [pick("swirls","flashes","whirrs","goes schwing","blinks","flickers","strobes","lights up")] on the \ [pick("front","side","top","bottom","rear","inside")] of [src]. A [pick("slot","funnel","chute","tube")] opens up in the \ - [pick("front","side","top","bottom","rear","inside")]." + [pick("front","side","top","bottom","rear","inside")]." /obj/machinery/replicator/process() if(spawning_types.len && powered()) diff --git a/code/modules/xenoarcheaology/finds/talking.dm b/code/modules/xenoarcheaology/finds/talking.dm index 0baa9586dd8..72ff1330de4 100644 --- a/code/modules/xenoarcheaology/finds/talking.dm +++ b/code/modules/xenoarcheaology/finds/talking.dm @@ -54,7 +54,7 @@ var/list/options = list("[holder_atom] seems to be listening intently to [source]...",\ "[holder_atom] seems to be focusing on [source]...",\ "[holder_atom] seems to turn it's attention to [source]...") - holder_atom.loc.visible_message("\blue \icon[holder_atom] [pick(options)]") + holder_atom.loc.visible_message("\icon[holder_atom] [pick(options)]") if(prob(20)) spawn(2) @@ -118,5 +118,5 @@ listening|=M for(var/mob/M in listening) - M << "\icon[holder_atom] [holder_atom] reverberates, \blue\"[msg]\"" + M << "\icon[holder_atom] [holder_atom] reverberates, \"[msg]\"" last_talk_time = world.time diff --git a/code/modules/xenoarcheaology/tools/ano_device_battery.dm b/code/modules/xenoarcheaology/tools/ano_device_battery.dm index 85376724ea1..72a6e399807 100644 --- a/code/modules/xenoarcheaology/tools/ano_device_battery.dm +++ b/code/modules/xenoarcheaology/tools/ano_device_battery.dm @@ -39,7 +39,7 @@ /obj/item/weapon/anodevice/attackby(var/obj/I as obj, var/mob/user as mob) if(istype(I, /obj/item/weapon/anobattery)) if(!inserted_battery) - user << "\blue You insert the battery." + user << "You insert the battery." user.drop_item() I.loc = src inserted_battery = I @@ -130,13 +130,13 @@ //work out if we need to shutdown if(inserted_battery.stored_charge <= 0) - src.loc.visible_message("\blue \icon[src] [src] buzzes.", "\blue \icon[src] You hear something buzz.") + src.loc.visible_message("\icon[src] [src] buzzes.", "\icon[src] You hear something buzz.") shutdown_emission() else if(world.time > time_end) - src.loc.visible_message("\blue \icon[src] [src] chimes.", "\blue \icon[src] You hear something chime.") + src.loc.visible_message("\icon[src] [src] chimes.", "\icon[src] You hear something chime.") shutdown_emission() else - src.visible_message("\blue \icon[src] [src] buzzes.", "\blue \icon[src] You hear something buzz.") + src.visible_message("\icon[src] [src] buzzes.", "\icon[src] You hear something buzz.") shutdown_emission() last_process = world.time @@ -163,7 +163,7 @@ if(href_list["startup"]) if(inserted_battery && inserted_battery.battery_effect && (inserted_battery.stored_charge > 0) ) activated = 1 - src.visible_message("\blue \icon[src] [src] whirrs.", "\icon[src]\blue You hear something whirr.") + src.visible_message("\icon[src] [src] whirrs.", "\icon[src]You hear something whirr.") if(!inserted_battery.battery_effect.activated) inserted_battery.battery_effect.ToggleActivate(1) time_end = world.time + duration @@ -200,9 +200,9 @@ if(activated && inserted_battery.battery_effect.effect == EFFECT_TOUCH && !isnull(inserted_battery)) inserted_battery.battery_effect.DoEffectTouch(M) inserted_battery.use_power(energy_consumed_on_touch) - user.visible_message("\blue [user] taps [M] with [src], and it shudders on contact.") + user.visible_message("[user] taps [M] with [src], and it shudders on contact.") else - user.visible_message("\blue [user] taps [M] with [src], but nothing happens.") + user.visible_message("[user] taps [M] with [src], but nothing happens.") //admin logging user.lastattacked = M diff --git a/code/modules/xenoarcheaology/tools/geosample_scanner.dm b/code/modules/xenoarcheaology/tools/geosample_scanner.dm index 9e3343b6802..156a59799e2 100644 --- a/code/modules/xenoarcheaology/tools/geosample_scanner.dm +++ b/code/modules/xenoarcheaology/tools/geosample_scanner.dm @@ -234,16 +234,16 @@ //emergency stop if seal integrity reaches 0 if(scanner_seal_integrity <= 0 || (scanner_temperature >= 1273 && !rad_shield)) stop_scanning() - src.visible_message("\blue \icon[src] buzzes unhappily. It has failed mid-scan!", 2) + src.visible_message("\icon[src] buzzes unhappily. It has failed mid-scan!", 2) if(prob(5)) - src.visible_message("\blue \icon[src] [pick("whirrs","chuffs","clicks")][pick(" excitedly"," energetically"," busily")].", 2) + src.visible_message("\icon[src] [pick("whirrs","chuffs","clicks")][pick(" excitedly"," energetically"," busily")].", 2) else //gradually cool down over time if(scanner_temperature > 0) scanner_temperature = max(scanner_temperature - 5 - 10 * rand(), 0) if(prob(0.75)) - src.visible_message("\blue \icon[src] [pick("plinks","hisses")][pick(" quietly"," softly"," sadly"," plaintively")].", 2) + src.visible_message("\icon[src] [pick("plinks","hisses")][pick(" quietly"," softly"," sadly"," plaintively")].", 2) last_process_worldtime = world.time /obj/machinery/radiocarbon_spectrometer/proc/stop_scanning() @@ -261,7 +261,7 @@ used_coolant = 0 /obj/machinery/radiocarbon_spectrometer/proc/complete_scan() - src.visible_message("\blue \icon[src] makes an insistent chime.", 2) + src.visible_message("\icon[src] makes an insistent chime.", 2) if(scanned_item) //create report diff --git a/code/unit_tests/integrated_circuits/data_transfer.dm b/code/unit_tests/integrated_circuits/data_transfer.dm deleted file mode 100644 index 1d02e8f837e..00000000000 --- a/code/unit_tests/integrated_circuits/data_transfer.dm +++ /dev/null @@ -1,17 +0,0 @@ -/datum/unit_test/integrated_circuits/splitter - name = "Data Transfer Circuits: Splitter" - circuit_type = /obj/item/integrated_circuit/transfer/splitter - inputs_to_give = list("Test") - expected_outputs = list("Test", "Test") - -/datum/unit_test/integrated_circuits/splitter4 - name = "Data Transfer Circuits: Splitter 4" - circuit_type = /obj/item/integrated_circuit/transfer/splitter/medium - inputs_to_give = list("Test") - expected_outputs = list("Test", "Test", "Test", "Test") - -/datum/unit_test/integrated_circuits/splitter8 - name = "Data Transfer Circuits: Splitter 8" - circuit_type = /obj/item/integrated_circuit/transfer/splitter/large - inputs_to_give = list("Test") - expected_outputs = list("Test", "Test", "Test", "Test", "Test", "Test", "Test", "Test") \ No newline at end of file diff --git a/html/changelogs/Nalarac - Robots.yml b/html/changelogs/Nalarac - Robots.yml new file mode 100644 index 00000000000..32a9c7786de --- /dev/null +++ b/html/changelogs/Nalarac - Robots.yml @@ -0,0 +1,41 @@ +################################ +# Example Changelog File +# +# Note: This file, and files beginning with ".", and files that don't end in ".yml" will not be read. If you change this file, you will look really dumb. +# +# Your changelog will be merged with a master changelog. (New stuff added only, and only on the date entry for the day it was merged.) +# When it is, any changes listed below will disappear. +# +# Valid Prefixes: +# bugfix +# wip (For works in progress) +# tweak +# soundadd +# sounddel +# rscadd (general adding of nice things) +# rscdel (general deleting of nice things) +# imageadd +# imagedel +# maptweak +# spellcheck (typo fixes) +# experiment +################################# + +# Your name. +author: Nalarac + +# Optional: Remove this file after generating master changelog. Useful for PR changelogs that won't get used again. +delete-after: True + +# Any changes you've made. See valid prefix list above. +# INDENT WITH TWO SPACES. NOT TABS. SPACES. +# SCREW THIS UP AND IT WON'T WORK. +# Also, all entries are changed into a single [] after a master changelog generation. Just remove the brackets when you add new entries. +# Please surround your changes in double quotes ("), as certain characters otherwise screws up compiling. The quotes will not show up in the changelog. +changes: + - tweak: "Modifies the illegal equipment module for borgs to scrambled equipment module that only activates the special items and doesn't actually emag the borg" + - bugfix: "Mining cyborg diamond drill is now obtainable in a more sensible manner" + - tweak: "Click dragging has been added to the cryogenics tubes, cloning pod, and all methods of cryostorage" + - tweak: "Some quality of life changes for research, crisis, surgeon, and service cyborgs" + - bugfix: "Jumper cables readded" + - tweak: "Construction cyborgs merged back with engineering cyborgs" diff --git a/icons/mob/hands.dmi b/icons/mob/hands.dmi index 6e8381b244a..0197a18e010 100644 Binary files a/icons/mob/hands.dmi and b/icons/mob/hands.dmi differ diff --git a/icons/mob/robots.dmi b/icons/mob/robots.dmi index 577007423f5..8d4e919f541 100644 Binary files a/icons/mob/robots.dmi and b/icons/mob/robots.dmi differ diff --git a/icons/mob/screen_spells.dmi b/icons/mob/screen_spells.dmi index 343203f2845..48c07894878 100644 Binary files a/icons/mob/screen_spells.dmi and b/icons/mob/screen_spells.dmi differ diff --git a/icons/mob/species/seromi/gloves.dmi b/icons/mob/species/seromi/gloves.dmi index 1eaab4f913c..02af18fa29b 100644 Binary files a/icons/mob/species/seromi/gloves.dmi and b/icons/mob/species/seromi/gloves.dmi differ diff --git a/icons/obj/electronic_assemblies.dmi b/icons/obj/electronic_assemblies.dmi index e81053bc364..6ad2b65b2f9 100644 Binary files a/icons/obj/electronic_assemblies.dmi and b/icons/obj/electronic_assemblies.dmi differ diff --git a/icons/obj/gun.dmi b/icons/obj/gun.dmi index a548850ef96..7463976d4bd 100644 Binary files a/icons/obj/gun.dmi and b/icons/obj/gun.dmi differ diff --git a/icons/obj/machines/research.dmi b/icons/obj/machines/research.dmi index 00bb9d9e137..7b7238c3ab7 100644 Binary files a/icons/obj/machines/research.dmi and b/icons/obj/machines/research.dmi differ diff --git a/icons/obj/spells.dmi b/icons/obj/spells.dmi index 01ced388513..554aac86785 100644 Binary files a/icons/obj/spells.dmi and b/icons/obj/spells.dmi differ diff --git a/maps/southern_cross/southern_cross-1.dmm b/maps/southern_cross/southern_cross-1.dmm index d8ebce2b76a..a36a4c2e21b 100644 --- a/maps/southern_cross/southern_cross-1.dmm +++ b/maps/southern_cross/southern_cross-1.dmm @@ -8681,1383 +8681,1385 @@ "dkW" = (/obj/structure/bed/padded,/obj/item/weapon/bedsheet/brown,/turf/simulated/floor/carpet,/area/crew_quarters/sleep/vistor_room_2) "dkX" = (/obj/machinery/door/firedoor/border_only,/obj/machinery/atmospherics/pipe/simple/hidden/universal,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0},/obj/machinery/door/airlock/maintenance{req_access = null; req_one_access = list(12,25,27,28,35)},/turf/simulated/floor/plating,/area/maintenance/locker) "dkY" = (/obj/machinery/atmospherics/pipe/simple/hidden,/turf/simulated/wall,/area/maintenance/locker) -"dkZ" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0},/turf/simulated/floor/tiled,/area/hallway/primary/seconddeck/dockhallway) -"dla" = (/turf/simulated/floor/tiled,/area/hallway/primary/seconddeck/dockhallway) -"dlb" = (/obj/structure/closet/emcloset,/turf/simulated/floor/tiled/dark,/area/hallway/primary/seconddeck/dockhallway) -"dlc" = (/turf/simulated/wall,/area/storage/primary) -"dld" = (/turf/simulated/wall,/area/hallway/primary/seconddeck/dockhallway) -"dle" = (/obj/machinery/power/apc{dir = 1; name = "north bump"; pixel_x = 0; pixel_y = 24},/obj/structure/cable{icon_state = "0-2"; d2 = 2},/turf/simulated/floor/tiled/dark,/area/hallway/primary/seconddeck/dockhallway) -"dlf" = (/turf/simulated/floor/tiled/dark,/area/hallway/primary/seconddeck/dockhallway) -"dlg" = (/obj/structure/sign/deck/second,/turf/simulated/wall/r_wall,/area/hallway/primary/seconddeck/dockhallway) -"dlh" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/camera/network/second_deck{c_tag = "Second Deck - Dock Hallway Three"},/turf/simulated/floor/tiled,/area/hallway/primary/seconddeck/dockhallway) -"dli" = (/obj/item/device/radio/intercom{dir = 1; name = "Station Intercom (General)"; pixel_y = 21},/turf/simulated/floor/tiled/dark,/area/hallway/primary/seconddeck/dockhallway) -"dlj" = (/obj/machinery/door/firedoor/border_only,/obj/effect/wingrille_spawn/reinforced,/turf/simulated/floor/plating,/area/hallway/primary/seconddeck/dockhallway) -"dlk" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor/tiled/dark,/area/hallway/primary/seconddeck/dockhallway) -"dll" = (/obj/structure/closet/emcloset,/obj/machinery/atmospherics/pipe/simple/hidden,/turf/simulated/floor/tiled/dark,/area/hallway/primary/seconddeck/dockhallway) -"dlm" = (/obj/machinery/firealarm{dir = 2; layer = 3.3; pixel_x = 0; pixel_y = 26},/obj/machinery/light{icon_state = "tube1"; dir = 8},/turf/simulated/floor/tiled,/area/hallway/primary/seconddeck/dockhallway) -"dln" = (/obj/structure/closet/emcloset,/turf/simulated/floor/tiled,/area/hallway/primary/seconddeck/dockhallway) -"dlo" = (/obj/machinery/atmospherics/unary/vent_pump/on,/turf/simulated/floor/tiled,/area/hallway/primary/seconddeck/dockhallway) -"dlp" = (/obj/structure/bed/chair,/turf/simulated/floor/tiled,/area/hallway/primary/seconddeck/dockhallway) -"dlq" = (/obj/machinery/firealarm{dir = 2; layer = 3.3; pixel_x = 0; pixel_y = 26},/obj/structure/bed/chair,/turf/simulated/floor/tiled,/area/hallway/primary/seconddeck/dockhallway) -"dlr" = (/obj/structure/table/glass,/turf/simulated/floor/tiled,/area/hallway/primary/seconddeck/dockhallway) -"dls" = (/obj/machinery/atmospherics/unary/vent_pump/on,/obj/structure/bed/chair,/turf/simulated/floor/tiled,/area/hallway/primary/seconddeck/dockhallway) -"dlt" = (/obj/machinery/door/firedoor/border_only,/turf/simulated/floor/tiled,/area/hallway/primary/seconddeck/dockhallway) -"dlu" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor/tiled,/area/hallway/primary/seconddeck/dockhallway) -"dlv" = (/obj/item/weapon/book/codex,/obj/structure/table/glass,/turf/simulated/floor/tiled,/area/hallway/primary/seconddeck/dockhallway) -"dlw" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor/tiled,/area/hallway/primary/seconddeck/dockhallway) -"dlx" = (/obj/machinery/atmospherics/pipe/simple/hidden,/turf/simulated/floor/tiled,/area/hallway/primary/seconddeck/dockhallway) -"dly" = (/obj/machinery/firealarm{dir = 2; layer = 3.3; pixel_x = 0; pixel_y = 26},/obj/machinery/light{dir = 4},/turf/simulated/floor/tiled,/area/hallway/primary/seconddeck/dockhallway) -"dlz" = (/obj/machinery/atmospherics/unary/vent_pump/on{dir = 4},/turf/simulated/floor/tiled,/area/hallway/primary/seconddeck/dockhallway) -"dlA" = (/obj/structure/cable{d1 = 1; d2 = 4; icon_state = "1-4"},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 6},/turf/simulated/floor/tiled,/area/hallway/primary/seconddeck/dockhallway) -"dlB" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/structure/cable{d1 = 2; d2 = 8; icon_state = "2-8"},/obj/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 1},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden{dir = 6},/turf/simulated/floor/tiled,/area/hallway/primary/seconddeck/dockhallway) -"dlC" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{dir = 1},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden{dir = 4},/turf/simulated/floor/tiled,/area/hallway/primary/seconddeck/dockhallway) -"dlD" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/door/firedoor/glass,/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden{dir = 4},/turf/simulated/floor/tiled,/area/hallway/primary/seconddeck/dockhallway) -"dlE" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden{dir = 4},/turf/simulated/floor/tiled,/area/hallway/primary/seconddeck/dockhallway) -"dlF" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/atmospherics/pipe/manifold/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden{dir = 4},/turf/simulated/floor/tiled,/area/hallway/primary/seconddeck/dockhallway) -"dlG" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden{dir = 4},/obj/machinery/hologram/holopad,/obj/effect/floor_decal/industrial/outline/grey,/turf/simulated/floor/tiled,/area/hallway/primary/seconddeck/dockhallway) -"dlH" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/structure/cable{d1 = 1; d2 = 8; icon_state = "1-8"},/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{dir = 1},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden{dir = 4},/turf/simulated/floor/tiled,/area/hallway/primary/seconddeck/dockhallway) -"dlI" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/structure/cable{d1 = 2; d2 = 8; icon_state = "2-8"},/obj/machinery/atmospherics/pipe/manifold/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden{dir = 4},/turf/simulated/floor/tiled,/area/hallway/primary/seconddeck/dockhallway) -"dlJ" = (/obj/machinery/atmospherics/pipe/manifold4w/hidden/supply,/obj/machinery/atmospherics/pipe/manifold4w/hidden/scrubbers,/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/atmospherics/pipe/manifold/hidden{dir = 1; icon_state = "map"; tag = "icon-manifold-f (NORTH)"},/obj/machinery/hologram/holopad,/obj/effect/floor_decal/industrial/outline/grey,/obj/effect/landmark{name = "lightsout"},/turf/simulated/floor/tiled,/area/hallway/primary/seconddeck/dockhallway) -"dlK" = (/obj/structure/cable{d1 = 2; d2 = 8; icon_state = "2-8"},/obj/structure/cable{d1 = 1; d2 = 8; icon_state = "1-8"},/obj/machinery/atmospherics/pipe/manifold4w/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/atmospherics/pipe/manifold/hidden{dir = 1; icon_state = "map"; tag = "icon-manifold-f (NORTH)"},/turf/simulated/floor/tiled,/area/hallway/primary/seconddeck/dockhallway) -"dlL" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 10},/obj/machinery/atmospherics/pipe/simple/hidden{dir = 9; icon_state = "intact"; tag = "icon-intact-f (NORTHWEST)"},/turf/simulated/floor/tiled,/area/hallway/primary/seconddeck/dockhallway) -"dlM" = (/obj/machinery/atmospherics/unary/vent_pump/on{dir = 8},/turf/simulated/floor/tiled,/area/hallway/primary/seconddeck/dockhallway) -"dlN" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/effect/floor_decal/sign/dock/one,/obj/machinery/alarm{dir = 4; icon_state = "alarm0"; pixel_x = -22},/obj/machinery/camera/network/second_deck{c_tag = "Second Deck - Dock Hallway One"; dir = 4},/turf/simulated/floor/tiled,/area/hallway/primary/seconddeck/dockhallway) -"dlO" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden,/turf/simulated/floor/tiled,/area/hallway/primary/seconddeck/dockhallway) -"dlP" = (/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 1},/turf/simulated/floor/tiled,/area/hallway/primary/seconddeck/dockhallway) -"dlQ" = (/obj/machinery/status_display{pixel_x = 0; pixel_y = -32},/turf/simulated/floor/tiled,/area/hallway/primary/seconddeck/dockhallway) -"dlR" = (/obj/structure/extinguisher_cabinet{pixel_y = -30},/turf/simulated/floor/tiled,/area/hallway/primary/seconddeck/dockhallway) -"dlS" = (/obj/machinery/light,/turf/simulated/floor/tiled,/area/hallway/primary/seconddeck/dockhallway) -"dlT" = (/obj/machinery/embedded_controller/radio/docking_port_multi{child_names_txt = "Airlock One;Airlock Two;Airlock Three;Airlock Four"; child_tags_txt = "escape_dock_north_airlock;escape_dock_south_airlock;escape_dock_snorth_airlock;escape_dock_ssouth_airlock"; frequency = 1380; id_tag = "escape_dock"; pixel_y = -25; req_one_access = list(13)},/turf/simulated/floor/tiled,/area/hallway/primary/seconddeck/dockhallway) -"dlU" = (/obj/machinery/alarm{dir = 1; pixel_y = -22},/turf/simulated/floor/tiled,/area/hallway/primary/seconddeck/dockhallway) -"dlV" = (/obj/machinery/camera/network/second_deck{c_tag = "Second Deck - Dock Hallway Two"; dir = 1},/turf/simulated/floor/tiled,/area/hallway/primary/seconddeck/dockhallway) -"dlW" = (/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 1},/obj/machinery/ai_status_display{pixel_y = -32},/obj/item/device/radio/intercom{dir = 4; name = "Station Intercom (General)"; pixel_x = 21},/turf/simulated/floor/tiled,/area/hallway/primary/seconddeck/dockhallway) -"dlX" = (/obj/machinery/light,/obj/machinery/alarm{dir = 4; icon_state = "alarm0"; pixel_x = -22},/turf/simulated/floor/tiled/dark,/area/hallway/primary/seconddeck/dockhallway) -"dlY" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/hidden,/obj/effect/floor_decal/sign/dock/two,/turf/simulated/floor/tiled,/area/hallway/primary/seconddeck/dockhallway) -"dlZ" = (/obj/machinery/firealarm{dir = 4; pixel_x = 24},/turf/simulated/floor/tiled/dark,/area/hallway/primary/seconddeck/dockhallway) -"dma" = (/obj/machinery/ai_status_display{pixel_y = -32},/obj/item/device/radio/intercom{dir = 8; name = "Station Intercom (General)"; pixel_x = -21},/turf/simulated/floor/tiled,/area/hallway/primary/seconddeck/dockhallway) -"dmb" = (/obj/machinery/camera/network/second_deck{c_tag = "Second Deck - Dock Hallway Four"; dir = 1},/turf/simulated/floor/tiled,/area/hallway/primary/seconddeck/dockhallway) -"dmc" = (/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 1},/obj/structure/extinguisher_cabinet{pixel_y = -30},/turf/simulated/floor/tiled,/area/hallway/primary/seconddeck/dockhallway) -"dmd" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/effect/floor_decal/sign/dock/three,/obj/machinery/alarm{dir = 8; pixel_x = 22; pixel_y = 0},/obj/machinery/camera/network/second_deck{c_tag = "Second Deck - Dock Hallway Five"; dir = 8},/turf/simulated/floor/tiled,/area/hallway/primary/seconddeck/dockhallway) -"dme" = (/turf/simulated/wall/r_wall,/area/hallway/secondary/entry/D1) -"dmf" = (/obj/machinery/door/firedoor/border_only,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/door/airlock/glass{name = "Dock"},/turf/simulated/floor/tiled,/area/hallway/secondary/entry/D1) -"dmg" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0},/obj/machinery/door/firedoor/glass,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden,/obj/machinery/door/airlock/glass{name = "Dock"},/turf/simulated/floor/tiled,/area/hallway/secondary/entry/D1) -"dmh" = (/obj/machinery/door/firedoor/glass,/obj/effect/wingrille_spawn/reinforced,/turf/simulated/floor/plating,/area/hallway/primary/seconddeck/dockhallway) -"dmi" = (/turf/simulated/wall/r_wall,/area/hallway/secondary/entry/D2) -"dmj" = (/obj/structure/sign/directions/engineering{dir = 1; pixel_y = 10},/obj/structure/sign/directions/cargo{dir = 1},/obj/structure/sign/directions/security{dir = 1; pixel_y = -10},/turf/simulated/wall,/area/hallway/secondary/entry/D2) -"dmk" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0},/obj/machinery/door/firedoor/border_only,/obj/machinery/door/airlock/glass{name = "Dock"},/turf/simulated/floor/tiled,/area/hallway/secondary/entry/D2) -"dml" = (/obj/machinery/door/firedoor/glass,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/hidden,/obj/machinery/door/airlock/glass{name = "Dock"},/turf/simulated/floor/tiled,/area/hallway/secondary/entry/D2) -"dmm" = (/obj/machinery/door/firedoor/border_only,/obj/machinery/door/airlock/glass{name = "Dock"},/turf/simulated/floor/tiled,/area/hallway/secondary/entry/D2) -"dmn" = (/obj/structure/sign/directions/bridge{dir = 1; pixel_y = 10},/obj/structure/sign/directions/science{dir = 1},/obj/structure/sign/directions/medical{dir = 1; pixel_y = -10},/turf/simulated/wall,/area/hallway/secondary/entry/D2) -"dmo" = (/turf/simulated/wall/r_wall,/area/hallway/secondary/entry/D3) -"dmp" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0},/obj/machinery/door/firedoor/glass,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden,/obj/machinery/door/airlock/glass{name = "Dock"},/turf/simulated/floor/tiled,/area/hallway/secondary/entry/D3) -"dmq" = (/obj/machinery/door/firedoor/border_only,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/door/airlock/glass{name = "Dock"},/turf/simulated/floor/tiled,/area/hallway/secondary/entry/D3) -"dmr" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor/tiled,/area/hallway/secondary/entry/D1) -"dms" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden,/turf/simulated/floor/tiled,/area/hallway/secondary/entry/D1) -"dmt" = (/obj/machinery/door/firedoor/border_only,/obj/effect/wingrille_spawn/reinforced,/turf/simulated/floor/plating,/area/hallway/secondary/entry/D1) -"dmu" = (/obj/machinery/door/firedoor/border_only,/obj/effect/wingrille_spawn/reinforced,/turf/simulated/floor/plating,/area/hallway/secondary/entry/D2) -"dmv" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0},/turf/simulated/floor/tiled,/area/hallway/secondary/entry/D2) -"dmw" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/hidden,/turf/simulated/floor/tiled,/area/hallway/secondary/entry/D2) -"dmx" = (/turf/simulated/floor/tiled,/area/hallway/secondary/entry/D2) -"dmy" = (/obj/machinery/door/firedoor/border_only,/obj/effect/wingrille_spawn/reinforced,/turf/simulated/floor/plating,/area/hallway/secondary/entry/D3) -"dmz" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden,/turf/simulated/floor/tiled,/area/hallway/secondary/entry/D3) -"dmA" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor/tiled,/area/hallway/secondary/entry/D3) -"dmB" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/alarm{dir = 4; icon_state = "alarm0"; pixel_x = -22},/turf/simulated/floor/tiled,/area/hallway/secondary/entry/D1) -"dmC" = (/obj/machinery/door/firedoor/glass,/obj/effect/wingrille_spawn/reinforced,/turf/simulated/floor/plating,/area/hallway/secondary/entry/D1) -"dmD" = (/obj/machinery/door/firedoor/glass,/obj/effect/wingrille_spawn/reinforced,/turf/simulated/floor/plating,/area/hallway/secondary/entry/D2) -"dmE" = (/obj/machinery/door/firedoor/glass,/obj/effect/wingrille_spawn/reinforced,/turf/simulated/floor/plating,/area/hallway/secondary/entry/D3) -"dmF" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/alarm{dir = 8; pixel_x = 22; pixel_y = 0},/turf/simulated/floor/tiled,/area/hallway/secondary/entry/D3) -"dmG" = (/turf/space,/area/shuttle/transport1/station) -"dmH" = (/obj/structure/sign/warning/docking_area,/obj/effect/wingrille_spawn/reinforced,/turf/simulated/floor/plating,/area/hallway/secondary/entry/D1) -"dmI" = (/obj/effect/wingrille_spawn/reinforced,/turf/simulated/floor/plating,/area/hallway/secondary/entry/D1) -"dmJ" = (/obj/structure/closet/emcloset,/obj/machinery/light{icon_state = "tube1"; dir = 8},/obj/effect/floor_decal/industrial/warning/corner{icon_state = "warningcorner"; dir = 8},/turf/simulated/floor/tiled,/area/hallway/secondary/entry/D1) -"dmK" = (/obj/machinery/atmospherics/unary/vent_pump/on{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor/tiled,/area/hallway/secondary/entry/D1) -"dmL" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0},/obj/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden,/turf/simulated/floor/tiled,/area/hallway/secondary/entry/D1) -"dmM" = (/turf/space,/area/shuttle/escape/station) -"dmN" = (/obj/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 8},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/hidden,/turf/simulated/floor/tiled,/area/hallway/secondary/entry/D2) -"dmO" = (/obj/machinery/atmospherics/unary/vent_pump/on{dir = 8},/obj/machinery/light{dir = 4},/turf/simulated/floor/tiled,/area/hallway/secondary/entry/D2) -"dmP" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0},/obj/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 8},/obj/machinery/atmospherics/pipe/simple/hidden,/turf/simulated/floor/tiled,/area/hallway/secondary/entry/D3) -"dmQ" = (/obj/machinery/atmospherics/unary/vent_pump/on{dir = 8},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor/tiled,/area/hallway/secondary/entry/D3) -"dmR" = (/obj/effect/floor_decal/industrial/warning/corner,/obj/structure/closet/emcloset,/obj/machinery/light{dir = 4},/turf/simulated/floor/tiled,/area/hallway/secondary/entry/D3) -"dmS" = (/obj/effect/wingrille_spawn/reinforced,/turf/simulated/floor/plating,/area/hallway/secondary/entry/D3) -"dmT" = (/obj/structure/sign/warning/docking_area,/obj/effect/wingrille_spawn/reinforced,/turf/simulated/floor/plating,/area/hallway/secondary/entry/D3) -"dmU" = (/obj/machinery/shield_diffuser,/obj/effect/floor_decal/industrial/hatch/yellow,/obj/machinery/door/airlock/external{frequency = 1380; icon_state = "door_locked"; id_tag = "s1s_dock_outer"; locked = 1; name = "Dock One External Airlock"; req_access = list(13)},/obj/machinery/access_button{command = "cycle_exterior"; frequency = 1380; master_tag = "s1s_dock_airlock"; name = "exterior access button"; pixel_x = -5; pixel_y = -26; req_one_access = list(13)},/turf/simulated/floor/tiled/dark,/area/hallway/secondary/entry/D1) -"dmV" = (/obj/effect/floor_decal/industrial/warning/cee{icon_state = "warningcee"; dir = 8},/obj/machinery/light/small{dir = 1},/obj/machinery/atmospherics/unary/vent_pump/high_volume{dir = 2; frequency = 1380; id_tag = "s1s_dock_pump"},/turf/simulated/floor/tiled,/area/hallway/secondary/entry/D1) -"dmW" = (/obj/effect/floor_decal/industrial/warning/cee{icon_state = "warningcee"; dir = 4},/obj/machinery/embedded_controller/radio/airlock/docking_port{frequency = 1380; id_tag = "shuttle1_shuttle"; pixel_x = 0; pixel_y = 30; req_one_access = list(13); tag_airpump = "s1s_dock_pump"; tag_chamber_sensor = "s1s_dock_sensor"; tag_exterior_door = "s1s_dock_outer"; tag_interior_door = "s1s_dock_inner"},/obj/machinery/atmospherics/unary/vent_pump/high_volume{dir = 2; frequency = 1380; id_tag = "s1s_dock_pump"},/obj/machinery/airlock_sensor{frequency = 1380; id_tag = "s1s_dock_sensor"; pixel_x = 0; pixel_y = -25},/turf/simulated/floor/tiled,/area/hallway/secondary/entry/D1) -"dmX" = (/obj/machinery/door/airlock/glass_external{frequency = 1380; icon_state = "door_locked"; id_tag = "s1s_dock_inner"; locked = 1; name = "Dock One Internal Airlock"; req_access = list(13)},/obj/effect/floor_decal/industrial/hatch/yellow,/turf/simulated/floor/tiled/dark,/area/hallway/secondary/entry/D1) -"dmY" = (/obj/effect/floor_decal/industrial/warning{dir = 8},/obj/machinery/access_button{command = "cycle_interior"; frequency = 1380; master_tag = "s1s_dock_airlock"; name = "interior access button"; pixel_x = -28; pixel_y = 26; req_one_access = list(13)},/turf/simulated/floor/tiled,/area/hallway/secondary/entry/D1) -"dmZ" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/hologram/holopad,/obj/effect/floor_decal/industrial/outline/grey,/turf/simulated/floor/tiled,/area/hallway/secondary/entry/D1) -"dna" = (/obj/structure/cable,/obj/machinery/power/apc{dir = 4; name = "east bump"; pixel_x = 24},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden,/turf/simulated/floor/tiled,/area/hallway/secondary/entry/D1) -"dnb" = (/obj/structure/cable,/obj/machinery/power/apc{dir = 8; name = "west bump"; pixel_x = -24},/turf/simulated/floor/tiled,/area/hallway/secondary/entry/D2) -"dnc" = (/obj/machinery/alarm{dir = 8; pixel_x = 22; pixel_y = 0},/turf/simulated/floor/tiled,/area/hallway/secondary/entry/D2) -"dnd" = (/turf/simulated/shuttle/wall,/area/shuttle/arrival/station) -"dne" = (/obj/structure/shuttle/window,/obj/structure/grille,/turf/simulated/shuttle/plating,/area/shuttle/arrival/station) -"dnf" = (/obj/structure/cable,/obj/machinery/power/apc{dir = 8; name = "west bump"; pixel_x = -24},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden,/turf/simulated/floor/tiled,/area/hallway/secondary/entry/D3) -"dng" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/hologram/holopad,/obj/effect/floor_decal/industrial/outline/grey,/turf/simulated/floor/tiled,/area/hallway/secondary/entry/D3) -"dnh" = (/obj/effect/floor_decal/industrial/warning{icon_state = "warning"; dir = 4},/obj/machinery/access_button{command = "cycle_interior"; frequency = 1380; master_tag = "centcom_dock_airlock"; name = "interior access button"; pixel_x = 28; pixel_y = -26; req_one_access = list(13)},/turf/simulated/floor/tiled,/area/hallway/secondary/entry/D3) -"dni" = (/obj/machinery/door/airlock/glass_external{frequency = 1380; icon_state = "door_locked"; id_tag = "centcom_dock_inner"; locked = 1; name = "Dock Three Internal Airlock"; req_access = list(13)},/obj/effect/floor_decal/industrial/hatch/yellow,/turf/simulated/floor/tiled/dark,/area/hallway/secondary/entry/D3) -"dnj" = (/obj/effect/floor_decal/industrial/warning/cee{icon_state = "warningcee"; dir = 8},/obj/machinery/embedded_controller/radio/airlock/docking_port{frequency = 1380; id_tag = "centcom_shuttle_dock_airlock"; pixel_x = 0; pixel_y = 30; req_one_access = list(13); tag_airpump = "centcom_dock_pump"; tag_chamber_sensor = "centcom_dock_sensor"; tag_exterior_door = "centcom_dock_outer"; tag_interior_door = "centcom_dock_inner"},/obj/machinery/airlock_sensor{frequency = 1380; id_tag = "centcom_dock_sensor"; pixel_x = 0; pixel_y = -25},/obj/machinery/atmospherics/unary/vent_pump/high_volume{dir = 2; frequency = 1380; id_tag = "centcom_dock_pump"},/turf/simulated/floor/tiled,/area/hallway/secondary/entry/D3) -"dnk" = (/obj/effect/floor_decal/industrial/warning/cee{icon_state = "warningcee"; dir = 4},/obj/machinery/light/small{dir = 1},/obj/machinery/atmospherics/unary/vent_pump/high_volume{dir = 2; frequency = 1380; id_tag = "centcom_dock_pump"},/turf/simulated/floor/tiled,/area/hallway/secondary/entry/D3) -"dnl" = (/obj/machinery/shield_diffuser,/obj/effect/floor_decal/industrial/hatch/yellow,/obj/machinery/access_button{command = "cycle_exterior"; frequency = 1380; master_tag = "centcom_dock_airlock"; name = "exterior access button"; pixel_x = 5; pixel_y = -26; req_one_access = list(13)},/obj/machinery/door/airlock/external{frequency = 1380; icon_state = "door_locked"; id_tag = "centcom_dock_outer"; locked = 1; name = "Dock Three External Airlock"; req_access = list(13)},/turf/simulated/floor/tiled/dark,/area/hallway/secondary/entry/D3) -"dnm" = (/obj/machinery/atmospherics/pipe/simple/hidden{dir = 5; icon_state = "intact"; tag = "icon-intact-f (NORTHEAST)"},/obj/effect/wingrille_spawn/reinforced,/turf/simulated/floor/plating,/area/hallway/secondary/entry/D1) -"dnn" = (/obj/machinery/atmospherics/pipe/manifold/hidden,/obj/machinery/door/firedoor/border_only,/obj/effect/wingrille_spawn/reinforced,/turf/simulated/floor/plating,/area/hallway/secondary/entry/D1) -"dno" = (/obj/machinery/door/firedoor/border_only,/obj/machinery/atmospherics/pipe/simple/hidden{dir = 4},/obj/effect/wingrille_spawn/reinforced,/turf/simulated/floor/plating,/area/hallway/secondary/entry/D1) -"dnp" = (/obj/machinery/atmospherics/pipe/simple/hidden{dir = 4},/obj/effect/floor_decal/industrial/warning/corner{icon_state = "warningcorner"; dir = 1},/turf/simulated/floor/tiled,/area/hallway/secondary/entry/D1) -"dnq" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/hidden{dir = 4},/turf/simulated/floor/tiled,/area/hallway/secondary/entry/D1) -"dnr" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/manifold/hidden{dir = 4; icon_state = "map"; tag = "icon-manifold-f (EAST)"},/turf/simulated/floor/tiled,/area/hallway/secondary/entry/D1) -"dns" = (/turf/simulated/shuttle/wall/hard_corner,/area/shuttle/arrival/station) -"dnt" = (/turf/simulated/shuttle/floor,/area/shuttle/arrival/station) -"dnu" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/manifold/hidden{dir = 8; icon_state = "map"; tag = "icon-manifold-f (WEST)"},/turf/simulated/floor/tiled,/area/hallway/secondary/entry/D3) -"dnv" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/hidden{dir = 4},/turf/simulated/floor/tiled,/area/hallway/secondary/entry/D3) -"dnw" = (/obj/effect/floor_decal/industrial/warning/corner{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden{dir = 4},/turf/simulated/floor/tiled,/area/hallway/secondary/entry/D3) -"dnx" = (/obj/machinery/door/firedoor/border_only,/obj/machinery/atmospherics/pipe/simple/hidden{dir = 4},/obj/effect/wingrille_spawn/reinforced,/turf/simulated/floor/plating,/area/hallway/secondary/entry/D3) -"dny" = (/obj/machinery/atmospherics/pipe/manifold/hidden,/obj/machinery/door/firedoor/border_only,/obj/effect/wingrille_spawn/reinforced,/turf/simulated/floor/plating,/area/hallway/secondary/entry/D3) -"dnz" = (/obj/machinery/atmospherics/pipe/simple/hidden{dir = 9; icon_state = "intact"; tag = "icon-intact-f (NORTHWEST)"},/obj/effect/wingrille_spawn/reinforced,/turf/simulated/floor/plating,/area/hallway/secondary/entry/D3) -"dnA" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden,/turf/simulated/floor/tiled,/area/hallway/secondary/entry/D1) -"dnB" = (/obj/structure/table/standard,/turf/simulated/shuttle/floor,/area/shuttle/arrival/station) -"dnC" = (/obj/structure/bed/chair{dir = 1},/turf/simulated/shuttle/floor,/area/shuttle/arrival/station) -"dnD" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden,/turf/simulated/floor/tiled,/area/hallway/secondary/entry/D3) -"dnE" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden,/obj/machinery/camera/network/second_deck{c_tag = "Second Deck - Dock One Fore"; dir = 8},/turf/simulated/floor/tiled,/area/hallway/secondary/entry/D1) -"dnF" = (/obj/machinery/camera/network/second_deck{c_tag = "Second Deck - Dock Two Fore"; dir = 4},/turf/simulated/floor/tiled,/area/hallway/secondary/entry/D2) -"dnG" = (/obj/machinery/light,/turf/simulated/shuttle/floor,/area/shuttle/arrival/station) -"dnH" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden,/obj/machinery/camera/network/second_deck{c_tag = "Second Deck - Dock Three Fore"; dir = 4},/turf/simulated/floor/tiled,/area/hallway/secondary/entry/D3) -"dnI" = (/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{dir = 8},/obj/machinery/status_display{density = 0; layer = 4; pixel_x = -32; pixel_y = 0},/turf/simulated/floor/tiled,/area/hallway/secondary/entry/D1) -"dnJ" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/item/device/radio/intercom{dir = 4; name = "Station Intercom (General)"; pixel_x = 21},/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 8},/obj/machinery/atmospherics/pipe/simple/hidden,/turf/simulated/floor/tiled,/area/hallway/secondary/entry/D1) -"dnK" = (/obj/machinery/firealarm{dir = 8; pixel_x = -24},/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 4},/turf/simulated/floor/tiled,/area/hallway/secondary/entry/D2) -"dnL" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden,/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{dir = 4},/turf/simulated/floor/tiled,/area/hallway/secondary/entry/D2) -"dnM" = (/obj/item/device/radio/intercom{dir = 4; name = "Station Intercom (General)"; pixel_x = 21},/turf/simulated/floor/tiled,/area/hallway/secondary/entry/D2) -"dnN" = (/obj/machinery/door/unpowered/shuttle,/turf/simulated/shuttle/floor,/area/shuttle/arrival/station) -"dnO" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden,/obj/item/device/radio/intercom{dir = 8; name = "Station Intercom (General)"; pixel_x = -21},/turf/simulated/floor/tiled,/area/hallway/secondary/entry/D3) -"dnP" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/status_display{density = 0; layer = 4; pixel_x = 32; pixel_y = 0},/turf/simulated/floor/tiled,/area/hallway/secondary/entry/D3) -"dnQ" = (/obj/structure/sign/warning/docking_area,/turf/simulated/wall/r_wall,/area/hallway/secondary/entry/D1) -"dnR" = (/obj/machinery/firealarm{dir = 8; pixel_x = -24},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor/tiled,/area/hallway/secondary/entry/D1) -"dnS" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/manifold/hidden{dir = 8; icon_state = "map"; tag = "icon-manifold-f (WEST)"},/obj/machinery/atmospherics/pipe/simple/hidden,/obj/effect/floor_decal/industrial/warning/corner,/obj/machinery/light{dir = 4},/turf/simulated/floor/tiled,/area/hallway/secondary/entry/D1) -"dnT" = (/obj/machinery/atmospherics/pipe/manifold/hidden{dir = 1; icon_state = "map"; tag = "icon-manifold-f (NORTH)"},/obj/effect/wingrille_spawn/reinforced,/obj/machinery/door/firedoor/border_only,/turf/simulated/floor/plating,/area/hallway/secondary/entry/D1) -"dnU" = (/obj/machinery/atmospherics/pipe/simple/hidden{dir = 10; icon_state = "intact"; tag = "icon-intact-f (SOUTHWEST)"},/obj/effect/wingrille_spawn/reinforced,/turf/simulated/floor/plating,/area/hallway/secondary/entry/D1) -"dnV" = (/obj/structure/sign/warning/docking_area,/obj/effect/wingrille_spawn/reinforced,/turf/simulated/floor/plating,/area/hallway/secondary/entry/D2) -"dnW" = (/obj/machinery/atmospherics/pipe/simple/hidden{dir = 6},/obj/effect/wingrille_spawn/reinforced,/turf/simulated/floor/plating,/area/hallway/secondary/entry/D2) -"dnX" = (/obj/machinery/atmospherics/pipe/manifold/hidden{dir = 1; icon_state = "map"; tag = "icon-manifold-f (NORTH)"},/obj/effect/wingrille_spawn/reinforced,/obj/machinery/door/firedoor/border_only,/turf/simulated/floor/plating,/area/hallway/secondary/entry/D2) -"dnY" = (/obj/machinery/door/firedoor/border_only,/obj/machinery/atmospherics/pipe/simple/hidden{dir = 4},/obj/effect/wingrille_spawn/reinforced,/turf/simulated/floor/plating,/area/hallway/secondary/entry/D2) -"dnZ" = (/obj/effect/floor_decal/industrial/warning/corner{dir = 8},/obj/machinery/atmospherics/pipe/simple/hidden{dir = 4},/obj/machinery/light{icon_state = "tube1"; dir = 8},/turf/simulated/floor/tiled,/area/hallway/secondary/entry/D2) -"doa" = (/obj/machinery/atmospherics/pipe/manifold/hidden{dir = 4; icon_state = "map"; tag = "icon-manifold-f (EAST)"},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor/tiled,/area/hallway/secondary/entry/D2) -"dob" = (/obj/effect/floor_decal/industrial/warning/corner,/turf/simulated/floor/tiled,/area/hallway/secondary/entry/D2) -"doc" = (/obj/effect/wingrille_spawn/reinforced,/turf/simulated/floor/plating,/area/hallway/secondary/entry/D2) -"dod" = (/obj/structure/closet/emcloset,/turf/simulated/shuttle/floor/white,/area/shuttle/arrival/station) -"doe" = (/obj/machinery/light{dir = 1},/turf/simulated/shuttle/floor,/area/shuttle/arrival/station) -"dof" = (/obj/effect/wingrille_spawn/reinforced,/obj/machinery/door/firedoor/border_only,/turf/simulated/floor/plating,/area/hallway/secondary/entry/D3) -"dog" = (/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/effect/floor_decal/industrial/warning/corner{dir = 8},/obj/machinery/atmospherics/pipe/simple/hidden,/obj/machinery/light{icon_state = "tube1"; dir = 8},/turf/simulated/floor/tiled,/area/hallway/secondary/entry/D3) -"doh" = (/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{dir = 4},/obj/machinery/firealarm{dir = 4; pixel_x = 24},/turf/simulated/floor/tiled,/area/hallway/secondary/entry/D3) -"doi" = (/obj/structure/sign/warning/docking_area,/turf/simulated/wall/r_wall,/area/hallway/secondary/entry/D3) -"doj" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/ai_status_display{pixel_x = -32; pixel_y = 0},/turf/simulated/floor/tiled,/area/hallway/secondary/entry/D1) -"dok" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/access_button{command = "cycle_interior"; frequency = 1380; master_tag = "escape_dock_north_airlock"; name = "interior access button"; pixel_x = 26; pixel_y = 26; req_one_access = list(13)},/obj/machinery/atmospherics/pipe/simple/hidden,/obj/effect/floor_decal/industrial/warning{icon_state = "warning"; dir = 4},/turf/simulated/floor/tiled,/area/hallway/secondary/entry/D1) -"dol" = (/obj/machinery/door/airlock/glass_external{frequency = 1380; icon_state = "door_locked"; id_tag = "escape_dock_north_inner"; locked = 1; name = "Escape Airlock"; req_access = list(13)},/obj/effect/floor_decal/industrial/hatch/yellow,/turf/simulated/floor/tiled/dark,/area/hallway/secondary/entry/D1) -"dom" = (/obj/machinery/atmospherics/unary/vent_pump/high_volume{dir = 1; frequency = 1380; id_tag = "escape_dock_north_pump"},/obj/effect/floor_decal/industrial/warning{dir = 9},/obj/machinery/light/small{dir = 1},/turf/simulated/floor/tiled,/area/hallway/secondary/entry/D1) -"don" = (/obj/machinery/atmospherics/unary/vent_pump/high_volume{dir = 1; frequency = 1380; id_tag = "escape_dock_north_pump"},/obj/effect/floor_decal/industrial/warning{icon_state = "warning"; dir = 5},/obj/machinery/embedded_controller/radio/airlock/docking_port_multi{frequency = 1380; id_tag = "escape_dock_north_airlock"; master_tag = "escape_dock"; pixel_y = 30; req_one_access = list(13); tag_airlock_mech_sensor = "escape_dock_north_mech"; tag_airpump = "escape_dock_north_pump"; tag_chamber_sensor = "escape_dock_north_sensor"; tag_exterior_door = "escape_dock_north_outer"; tag_interior_door = "escape_dock_north_inner"; tag_shuttle_mech_sensor = "shuttle_dock_north_mech"},/turf/simulated/floor/tiled/dark,/area/hallway/secondary/entry/D1) -"doo" = (/obj/machinery/door/airlock/external{frequency = 1380; icon_state = "door_locked"; id_tag = "escape_dock_north_outer"; locked = 1; name = "Escape Airlock"; req_access = list(13)},/obj/machinery/shield_diffuser,/obj/effect/floor_decal/industrial/hatch/yellow,/turf/simulated/floor/tiled/dark,/area/hallway/secondary/entry/D1) -"dop" = (/obj/machinery/door/airlock/external{frequency = 1380; icon_state = "door_locked"; id_tag = "escape_dock_north_starboard_outer"; locked = 1; name = "Escape Airlock"; req_access = list(13)},/obj/effect/floor_decal/industrial/hatch/yellow,/obj/machinery/shield_diffuser,/turf/simulated/floor/tiled/dark,/area/hallway/secondary/entry/D2) -"doq" = (/obj/machinery/atmospherics/unary/vent_pump/high_volume{dir = 1; frequency = 1380; id_tag = "escape_dock_north_starboard_pump"},/obj/effect/floor_decal/industrial/warning{dir = 9},/obj/machinery/embedded_controller/radio/airlock/docking_port_multi{frequency = 1380; id_tag = "escape_dock_snorth_airlock"; master_tag = "escape_dock"; pixel_y = 30; req_one_access = list(13); tag_airlock_mech_sensor = "escape_dock_north_starboard_mech"; tag_airpump = "escape_dock_north_starboard_pump"; tag_chamber_sensor = "escape_dock_north_starboard_sensor"; tag_exterior_door = "escape_dock_north_starboard_outer"; tag_interior_door = "escape_dock_north_starboard_inner"; tag_shuttle_mech_sensor = "shuttle_dock_north_starboard_mech"},/turf/simulated/floor/tiled/dark,/area/hallway/secondary/entry/D2) -"dor" = (/obj/machinery/atmospherics/unary/vent_pump/high_volume{dir = 1; frequency = 1380; id_tag = "escape_dock_north_starboard_pump"},/obj/effect/floor_decal/industrial/warning{icon_state = "warning"; dir = 5},/obj/machinery/light/small{dir = 1},/turf/simulated/floor/tiled,/area/hallway/secondary/entry/D2) -"dos" = (/obj/machinery/door/airlock/glass_external{frequency = 1380; icon_state = "door_locked"; id_tag = "escape_dock_north_starboard_inner"; locked = 1; name = "Escape Airlock"; req_access = list(13)},/obj/effect/floor_decal/industrial/hatch/yellow,/turf/simulated/floor/tiled/dark,/area/hallway/secondary/entry/D2) -"dot" = (/obj/effect/floor_decal/industrial/warning{dir = 8},/obj/machinery/access_button{command = "cycle_interior"; frequency = 1380; master_tag = "escape_dock_north_starboard_airlock"; name = "interior access button"; pixel_x = -26; pixel_y = 26; req_one_access = list(13)},/turf/simulated/floor/tiled,/area/hallway/secondary/entry/D2) -"dou" = (/obj/effect/floor_decal/industrial/warning{dir = 4},/turf/simulated/floor/tiled,/area/hallway/secondary/entry/D2) -"dov" = (/obj/machinery/door/airlock/glass_external,/obj/effect/floor_decal/industrial/hatch/yellow,/turf/simulated/floor/tiled/dark,/area/hallway/secondary/entry/D2) -"dow" = (/obj/effect/floor_decal/industrial/warning{dir = 9},/obj/machinery/light/small{dir = 1},/turf/simulated/floor/tiled,/area/hallway/secondary/entry/D2) -"dox" = (/obj/effect/floor_decal/industrial/warning{icon_state = "warning"; dir = 5},/turf/simulated/floor/tiled/dark,/area/hallway/secondary/entry/D2) -"doy" = (/obj/machinery/door/airlock/external{name = "Arrival Airlock"},/obj/effect/floor_decal/industrial/hatch/yellow,/turf/simulated/floor/tiled/dark,/area/hallway/secondary/entry/D2) -"doz" = (/obj/machinery/door/airlock/external{name = "Arrival Airlock"},/obj/effect/floor_decal/industrial/hatch/yellow,/turf/simulated/floor/tiled/dark,/area/hallway/secondary/entry/D3) -"doA" = (/obj/effect/floor_decal/industrial/warning{dir = 9},/turf/simulated/floor/tiled/dark,/area/hallway/secondary/entry/D3) -"doB" = (/obj/effect/floor_decal/industrial/warning{icon_state = "warning"; dir = 5},/obj/machinery/light/small{dir = 1},/turf/simulated/floor/tiled,/area/hallway/secondary/entry/D3) -"doC" = (/obj/machinery/door/airlock/glass_external,/obj/effect/floor_decal/industrial/hatch/yellow,/turf/simulated/floor/tiled/dark,/area/hallway/secondary/entry/D3) -"doD" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/effect/floor_decal/industrial/warning{dir = 8},/obj/machinery/atmospherics/pipe/simple/hidden,/turf/simulated/floor/tiled,/area/hallway/secondary/entry/D3) -"doE" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/ai_status_display{pixel_x = 32; pixel_y = 0},/turf/simulated/floor/tiled,/area/hallway/secondary/entry/D3) -"doF" = (/turf/space,/area/shuttle/shuttle2/arrivals_dock) -"doG" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden,/obj/effect/floor_decal/industrial/warning{icon_state = "warning"; dir = 4},/turf/simulated/floor/tiled,/area/hallway/secondary/entry/D1) -"doH" = (/obj/machinery/atmospherics/unary/vent_pump/high_volume{dir = 2; frequency = 1380; id_tag = "escape_dock_north_pump"},/obj/effect/floor_decal/industrial/warning{dir = 10},/turf/simulated/floor/tiled,/area/hallway/secondary/entry/D1) -"doI" = (/obj/machinery/atmospherics/unary/vent_pump/high_volume{dir = 2; frequency = 1380; id_tag = "escape_dock_north_pump"},/obj/effect/floor_decal/industrial/warning{dir = 6},/obj/machinery/airlock_sensor{frequency = 1380; id_tag = "escape_dock_north_sensor"; pixel_x = 0; pixel_y = -25},/turf/simulated/floor/tiled/dark,/area/hallway/secondary/entry/D1) -"doJ" = (/obj/machinery/access_button{command = "cycle_exterior"; frequency = 1380; master_tag = "escape_dock_north_airlock"; name = "exterior access button"; pixel_x = 4; pixel_y = -26; req_one_access = list(13)},/obj/machinery/door/airlock/external{frequency = 1380; icon_state = "door_locked"; id_tag = "escape_dock_north_outer"; locked = 1; name = "Escape Airlock"; req_access = list(13)},/obj/machinery/shield_diffuser,/obj/effect/floor_decal/industrial/hatch/yellow,/turf/simulated/floor/tiled/dark,/area/hallway/secondary/entry/D1) -"doK" = (/obj/machinery/access_button{command = "cycle_exterior"; frequency = 1380; master_tag = "escape_dock_north_starboard_airlock"; name = "exterior access button"; pixel_x = -4; pixel_y = -26; req_one_access = list(13)},/obj/machinery/door/airlock/external{frequency = 1380; icon_state = "door_locked"; id_tag = "escape_dock_north_starboard_outer"; locked = 1; name = "Escape Airlock"; req_access = list(13)},/obj/effect/floor_decal/industrial/hatch/yellow,/obj/machinery/shield_diffuser,/turf/simulated/floor/tiled/dark,/area/hallway/secondary/entry/D2) -"doL" = (/obj/machinery/atmospherics/unary/vent_pump/high_volume{dir = 2; frequency = 1380; id_tag = "escape_dock_north_starboard_pump"},/obj/effect/floor_decal/industrial/warning{dir = 10},/obj/machinery/airlock_sensor{frequency = 1380; id_tag = "escape_dock_north_starboard_sensor"; pixel_x = 0; pixel_y = -25},/turf/simulated/floor/tiled/dark,/area/hallway/secondary/entry/D2) -"doM" = (/obj/machinery/atmospherics/unary/vent_pump/high_volume{dir = 2; frequency = 1380; id_tag = "escape_dock_north_starboard_pump"},/obj/effect/floor_decal/industrial/warning{dir = 6},/turf/simulated/floor/tiled,/area/hallway/secondary/entry/D2) -"doN" = (/obj/effect/floor_decal/industrial/warning{dir = 8},/turf/simulated/floor/tiled,/area/hallway/secondary/entry/D2) -"doO" = (/obj/effect/floor_decal/industrial/warning{dir = 10},/turf/simulated/floor/tiled,/area/hallway/secondary/entry/D2) -"doP" = (/obj/effect/floor_decal/industrial/warning{dir = 6},/turf/simulated/floor/tiled/dark,/area/hallway/secondary/entry/D2) -"doQ" = (/obj/structure/bed/chair{dir = 8},/obj/structure/window/reinforced{dir = 4; health = 1e+006},/obj/effect/landmark{name = "JoinLate"},/turf/simulated/shuttle/floor/white,/area/shuttle/arrival/station) -"doR" = (/obj/structure/bed/chair{dir = 4},/obj/structure/window/reinforced{dir = 8; health = 1e+006},/obj/effect/landmark{name = "JoinLate"},/turf/simulated/shuttle/floor/white,/area/shuttle/arrival/station) -"doS" = (/obj/effect/floor_decal/industrial/warning{dir = 10},/turf/simulated/floor/tiled/dark,/area/hallway/secondary/entry/D3) -"doT" = (/obj/effect/floor_decal/industrial/warning{dir = 6},/turf/simulated/floor/tiled,/area/hallway/secondary/entry/D3) -"doU" = (/turf/space,/area/shuttle/response_ship/arrivals_dock) -"doV" = (/obj/machinery/door/firedoor/glass,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor/tiled,/area/hallway/secondary/entry/D1) -"doW" = (/obj/machinery/door/firedoor/border_only,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/manifold/hidden{dir = 8; icon_state = "map"; tag = "icon-manifold-f (WEST)"},/obj/effect/floor_decal/industrial/warning/corner{dir = 4},/turf/simulated/floor/tiled,/area/hallway/secondary/entry/D1) -"doX" = (/obj/machinery/atmospherics/pipe/manifold/hidden,/obj/effect/wingrille_spawn/reinforced,/obj/machinery/door/firedoor/border_only,/turf/simulated/floor/plating,/area/hallway/secondary/entry/D1) -"doY" = (/obj/machinery/atmospherics/pipe/simple/hidden{dir = 9; icon_state = "intact"; tag = "icon-intact-f (NORTHWEST)"},/obj/effect/wingrille_spawn/reinforced,/turf/simulated/floor/plating,/area/hallway/secondary/entry/D1) -"doZ" = (/obj/machinery/atmospherics/pipe/simple/hidden{dir = 5; icon_state = "intact"; tag = "icon-intact-f (NORTHEAST)"},/obj/effect/wingrille_spawn/reinforced,/turf/simulated/floor/plating,/area/hallway/secondary/entry/D2) -"dpa" = (/obj/machinery/atmospherics/pipe/manifold/hidden,/obj/effect/wingrille_spawn/reinforced,/obj/machinery/door/firedoor/border_only,/turf/simulated/floor/plating,/area/hallway/secondary/entry/D2) -"dpb" = (/obj/machinery/door/firedoor/border_only,/obj/effect/floor_decal/industrial/warning/corner{icon_state = "warningcorner"; dir = 1},/obj/machinery/atmospherics/pipe/simple/hidden{dir = 4},/turf/simulated/floor/tiled,/area/hallway/secondary/entry/D2) -"dpc" = (/obj/machinery/door/firedoor/glass,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/manifold/hidden{dir = 4; icon_state = "map"; tag = "icon-manifold-f (EAST)"},/turf/simulated/floor/tiled,/area/hallway/secondary/entry/D2) -"dpd" = (/obj/machinery/door/firedoor/border_only,/obj/effect/floor_decal/industrial/warning/corner{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden{dir = 4},/turf/simulated/floor/tiled,/area/hallway/secondary/entry/D2) -"dpe" = (/turf/simulated/shuttle/wall/no_join,/area/shuttle/arrival/station) -"dpf" = (/obj/structure/bed/chair{dir = 4},/turf/simulated/shuttle/floor/white,/area/shuttle/arrival/station) -"dpg" = (/obj/effect/landmark/start,/turf/simulated/shuttle/floor,/area/shuttle/arrival/station) -"dph" = (/obj/structure/bed/chair{dir = 8},/turf/simulated/shuttle/floor/white,/area/shuttle/arrival/station) -"dpi" = (/obj/machinery/door/firedoor/border_only,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/manifold/hidden{dir = 4; icon_state = "map"; tag = "icon-manifold-f (EAST)"},/obj/effect/floor_decal/industrial/warning/corner{icon_state = "warningcorner"; dir = 1},/turf/simulated/floor/tiled,/area/hallway/secondary/entry/D3) -"dpj" = (/obj/machinery/door/firedoor/glass,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor/tiled,/area/hallway/secondary/entry/D3) -"dpk" = (/obj/effect/wingrille_spawn/reinforced,/obj/structure/sign/warning/airlock,/turf/simulated/floor/plating,/area/hallway/secondary/entry/D1) -"dpl" = (/obj/machinery/atmospherics/pipe/simple/hidden{dir = 6},/obj/effect/wingrille_spawn/reinforced,/turf/simulated/floor/plating,/area/hallway/secondary/entry/D1) -"dpm" = (/obj/machinery/atmospherics/pipe/manifold/hidden{dir = 1; icon_state = "map"; tag = "icon-manifold-f (NORTH)"},/obj/machinery/door/firedoor/border_only,/obj/effect/wingrille_spawn/reinforced,/turf/simulated/floor/plating,/area/hallway/secondary/entry/D1) -"dpn" = (/obj/machinery/atmospherics/pipe/simple/hidden{dir = 4},/obj/effect/floor_decal/industrial/warning/corner{icon_state = "warningcorner"; dir = 8},/turf/simulated/floor/tiled,/area/hallway/secondary/entry/D1) -"dpo" = (/obj/structure/bed/chair{dir = 8},/turf/simulated/floor/tiled,/area/hallway/secondary/entry/D1) -"dpp" = (/obj/structure/bed/chair{dir = 4},/turf/simulated/floor/tiled,/area/hallway/secondary/entry/D2) -"dpq" = (/obj/structure/bed/chair{dir = 8},/turf/simulated/floor/tiled,/area/hallway/secondary/entry/D2) -"dpr" = (/obj/structure/bed/chair{dir = 4},/obj/effect/landmark{name = "JoinLate"},/turf/simulated/shuttle/floor/white,/area/shuttle/arrival/station) -"dps" = (/obj/structure/bed/chair{dir = 4},/obj/structure/window/reinforced{dir = 8; health = 1e+006},/turf/simulated/shuttle/floor/white,/area/shuttle/arrival/station) -"dpt" = (/obj/structure/bed/chair{dir = 8},/obj/structure/window/reinforced{dir = 4; health = 1e+006},/turf/simulated/shuttle/floor/white,/area/shuttle/arrival/station) -"dpu" = (/obj/structure/bed/chair{dir = 8},/obj/effect/landmark{name = "JoinLate"},/turf/simulated/shuttle/floor/white,/area/shuttle/arrival/station) -"dpv" = (/obj/structure/bed/chair{dir = 4},/turf/simulated/floor/tiled,/area/hallway/secondary/entry/D3) -"dpw" = (/obj/effect/floor_decal/industrial/warning/corner,/obj/machinery/atmospherics/pipe/simple/hidden{dir = 4},/turf/simulated/floor/tiled,/area/hallway/secondary/entry/D3) -"dpx" = (/obj/machinery/atmospherics/pipe/manifold/hidden{dir = 1; icon_state = "map"; tag = "icon-manifold-f (NORTH)"},/obj/machinery/door/firedoor/border_only,/obj/effect/wingrille_spawn/reinforced,/turf/simulated/floor/plating,/area/hallway/secondary/entry/D3) -"dpy" = (/obj/machinery/atmospherics/pipe/simple/hidden{dir = 10; icon_state = "intact"; tag = "icon-intact-f (SOUTHWEST)"},/obj/effect/wingrille_spawn/reinforced,/turf/simulated/floor/plating,/area/hallway/secondary/entry/D3) -"dpz" = (/obj/machinery/shield_diffuser,/obj/machinery/door/airlock/external{frequency = 1380; icon_state = "door_locked"; id_tag = "specops_dock_outer"; locked = 1; name = "Dock One External Airlock"; req_access = list(13)},/obj/machinery/access_button{command = "cycle_exterior"; frequency = 1380; master_tag = "specops_dock_airlock"; name = "exterior access button"; pixel_x = -5; pixel_y = -26; req_one_access = list(13)},/obj/effect/floor_decal/industrial/hatch/yellow,/turf/simulated/floor/tiled/dark,/area/hallway/secondary/entry/D1) -"dpA" = (/obj/effect/floor_decal/industrial/warning/cee{icon_state = "warningcee"; dir = 8},/obj/machinery/atmospherics/unary/vent_pump/high_volume{dir = 1; frequency = 1380; id_tag = "specops_dock_pump"},/obj/machinery/light/small{dir = 1},/turf/simulated/floor/tiled,/area/hallway/secondary/entry/D1) -"dpB" = (/obj/effect/floor_decal/industrial/warning/cee{icon_state = "warningcee"; dir = 4},/obj/machinery/atmospherics/unary/vent_pump/high_volume{dir = 1; frequency = 1380; id_tag = "specops_dock_pump"},/obj/machinery/airlock_sensor{frequency = 1380; id_tag = "specops_dock_sensor"; pixel_x = 0; pixel_y = -25},/obj/machinery/embedded_controller/radio/airlock/docking_port{frequency = 1380; id_tag = "response_shuttle_dock_airlock"; pixel_x = 0; pixel_y = 30; req_one_access = list(13); tag_airpump = "specops_dock_pump"; tag_chamber_sensor = "specops_dock_sensor"; tag_exterior_door = "specops_dock_outer"; tag_interior_door = "specops_dock_inner"},/turf/simulated/floor/tiled,/area/hallway/secondary/entry/D1) -"dpC" = (/obj/machinery/door/airlock/glass_external{frequency = 1380; icon_state = "door_locked"; id_tag = "specops_dock_inner"; locked = 1; name = "Dock One Internal Airlock"; req_access = list(13)},/obj/effect/floor_decal/industrial/hatch/yellow,/turf/simulated/floor/tiled/dark,/area/hallway/secondary/entry/D1) -"dpD" = (/obj/effect/floor_decal/industrial/warning{dir = 8},/obj/machinery/access_button{command = "cycle_interior"; frequency = 1380; master_tag = "specops_dock_airlock"; name = "interior access button"; pixel_x = -28; pixel_y = 26; req_one_access = list(13)},/turf/simulated/floor/tiled,/area/hallway/secondary/entry/D1) -"dpE" = (/obj/machinery/alarm{dir = 8; pixel_x = 22; pixel_y = 0},/turf/simulated/floor/tiled,/area/hallway/secondary/entry/D1) -"dpF" = (/obj/structure/closet/emcloset,/obj/structure/extinguisher_cabinet{pixel_x = -28; pixel_y = 0},/turf/simulated/floor/tiled,/area/hallway/secondary/entry/D2) -"dpG" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/hidden,/obj/machinery/hologram/holopad,/obj/effect/floor_decal/industrial/outline/grey,/turf/simulated/floor/tiled,/area/hallway/secondary/entry/D2) -"dpH" = (/obj/machinery/alarm{dir = 8; pixel_x = 22; pixel_y = 0},/obj/structure/closet/emcloset,/turf/simulated/floor/tiled,/area/hallway/secondary/entry/D2) -"dpI" = (/obj/structure/bed/chair{dir = 4},/obj/effect/landmark{name = "JoinLate"},/obj/machinery/light{icon_state = "tube1"; dir = 8},/turf/simulated/shuttle/floor/white,/area/shuttle/arrival/station) -"dpJ" = (/obj/machinery/hologram/holopad,/obj/effect/landmark{name = "Observer-Start"},/turf/simulated/shuttle/floor,/area/shuttle/arrival/station) -"dpK" = (/obj/structure/bed/chair{dir = 8},/obj/effect/landmark{name = "JoinLate"},/obj/machinery/light{dir = 4; icon_state = "tube1"},/turf/simulated/shuttle/floor/white,/area/shuttle/arrival/station) -"dpL" = (/obj/machinery/alarm{dir = 4; icon_state = "alarm0"; pixel_x = -22},/turf/simulated/floor/tiled,/area/hallway/secondary/entry/D3) -"dpM" = (/obj/effect/floor_decal/industrial/warning{icon_state = "warning"; dir = 4},/obj/machinery/access_button{command = "cycle_interior"; frequency = 1380; master_tag = "s2s_dock_airlock"; name = "interior access button"; pixel_x = 28; pixel_y = -26; req_one_access = list(13)},/turf/simulated/floor/tiled,/area/hallway/secondary/entry/D3) -"dpN" = (/obj/effect/floor_decal/industrial/hatch/yellow,/obj/machinery/door/airlock/glass_external{frequency = 1380; icon_state = "door_locked"; id_tag = "s2s_dock_inner"; locked = 1; name = "Dock Three Internal Airlock"; req_access = list(13)},/turf/simulated/floor/tiled/dark,/area/hallway/secondary/entry/D3) -"dpO" = (/obj/effect/floor_decal/industrial/warning/cee{icon_state = "warningcee"; dir = 8},/obj/machinery/atmospherics/unary/vent_pump/high_volume{dir = 1; frequency = 1380; id_tag = "s2s_dock_pump"},/obj/machinery/embedded_controller/radio/airlock/docking_port{frequency = 1380; id_tag = "shuttle2_shuttle"; pixel_x = 0; pixel_y = 30; req_one_access = list(13); tag_airpump = "s2s_dock_pump"; tag_chamber_sensor = "s2s_dock_sensor"; tag_exterior_door = "s2s_dock_outer"; tag_interior_door = "s2s_dock_inner"},/obj/machinery/airlock_sensor{frequency = 1380; id_tag = "s2s_dock_sensor"; pixel_x = 0; pixel_y = -25},/turf/simulated/floor/tiled,/area/hallway/secondary/entry/D3) -"dpP" = (/obj/effect/floor_decal/industrial/warning/cee{icon_state = "warningcee"; dir = 4},/obj/machinery/atmospherics/unary/vent_pump/high_volume{dir = 1; frequency = 1380; id_tag = "s2s_dock_pump"},/turf/simulated/floor/tiled,/area/hallway/secondary/entry/D3) -"dpQ" = (/obj/machinery/shield_diffuser,/obj/effect/floor_decal/industrial/hatch/yellow,/obj/machinery/door/airlock/external{frequency = 1380; icon_state = "door_locked"; id_tag = "s2s_dock_outer"; locked = 1; name = "Dock Three External Airlock"; req_access = list(13)},/obj/machinery/access_button{command = "cycle_exterior"; frequency = 1380; master_tag = "s2s_dock_airlock"; name = "exterior access button"; pixel_x = 5; pixel_y = 26; req_one_access = list(13)},/turf/simulated/floor/tiled/dark,/area/hallway/secondary/entry/D3) -"dpR" = (/obj/structure/closet/emcloset,/obj/effect/floor_decal/industrial/warning/corner{icon_state = "warningcorner"; dir = 1},/turf/simulated/floor/tiled,/area/hallway/secondary/entry/D1) -"dpS" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/unary/vent_pump/on{dir = 4},/turf/simulated/floor/tiled,/area/hallway/secondary/entry/D1) -"dpT" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 9},/obj/machinery/atmospherics/pipe/simple/hidden,/turf/simulated/floor/tiled,/area/hallway/secondary/entry/D1) -"dpU" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 5},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/hidden,/turf/simulated/floor/tiled,/area/hallway/secondary/entry/D2) -"dpV" = (/obj/machinery/atmospherics/unary/vent_pump/on{dir = 8},/turf/simulated/floor/tiled,/area/hallway/secondary/entry/D2) -"dpW" = (/obj/machinery/atmospherics/pipe/simple/hidden,/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 5},/turf/simulated/floor/tiled,/area/hallway/secondary/entry/D3) -"dpX" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/unary/vent_pump/on{dir = 8},/turf/simulated/floor/tiled,/area/hallway/secondary/entry/D3) -"dpY" = (/obj/effect/floor_decal/industrial/warning/corner{dir = 4},/obj/structure/closet/emcloset,/turf/simulated/floor/tiled,/area/hallway/secondary/entry/D3) -"dpZ" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/light{icon_state = "tube1"; dir = 8},/turf/simulated/floor/tiled,/area/hallway/secondary/entry/D1) -"dqa" = (/obj/machinery/atmospherics/pipe/manifold/hidden{dir = 8; icon_state = "map"; tag = "icon-manifold-f (WEST)"},/obj/effect/floor_decal/industrial/warning/corner,/turf/simulated/floor/tiled,/area/hallway/secondary/entry/D1) -"dqb" = (/obj/effect/floor_decal/industrial/warning/corner{dir = 8},/obj/machinery/atmospherics/pipe/simple/hidden{dir = 4},/turf/simulated/floor/tiled,/area/hallway/secondary/entry/D2) -"dqc" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/manifold/hidden{dir = 4; icon_state = "map"; tag = "icon-manifold-f (EAST)"},/turf/simulated/floor/tiled,/area/hallway/secondary/entry/D2) -"dqd" = (/obj/effect/floor_decal/industrial/warning/corner,/obj/machinery/light{dir = 4},/turf/simulated/floor/tiled,/area/hallway/secondary/entry/D2) -"dqe" = (/obj/effect/floor_decal/industrial/warning/corner{dir = 8},/obj/machinery/atmospherics/pipe/simple/hidden,/turf/simulated/floor/tiled,/area/hallway/secondary/entry/D3) -"dqf" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/light{dir = 4},/turf/simulated/floor/tiled,/area/hallway/secondary/entry/D3) -"dqg" = (/obj/machinery/atmospherics/pipe/simple/hidden,/obj/effect/floor_decal/industrial/warning{icon_state = "warning"; dir = 4},/turf/simulated/floor/tiled,/area/hallway/secondary/entry/D1) -"dqh" = (/obj/machinery/door/airlock/glass_external{frequency = 1380; icon_state = "door_locked"; id_tag = "escape_dock_south_inner"; locked = 1; name = "Escape Airlock"; req_access = list(13)},/obj/effect/floor_decal/industrial/hatch/yellow,/turf/simulated/floor/tiled/dark,/area/hallway/secondary/entry/D1) -"dqi" = (/obj/machinery/atmospherics/unary/vent_pump/high_volume{dir = 1; frequency = 1380; id_tag = "escape_dock_south_pump"},/obj/effect/floor_decal/industrial/warning{dir = 9},/turf/simulated/floor/tiled,/area/hallway/secondary/entry/D1) -"dqj" = (/obj/machinery/atmospherics/unary/vent_pump/high_volume{dir = 1; frequency = 1380; id_tag = "escape_dock_south_pump"},/obj/effect/floor_decal/industrial/warning{icon_state = "warning"; dir = 5},/obj/machinery/airlock_sensor{frequency = 1380; id_tag = "escape_dock_south_sensor"; pixel_x = 0; pixel_y = 25},/turf/simulated/floor/tiled/dark,/area/hallway/secondary/entry/D1) -"dqk" = (/obj/machinery/door/airlock/external{frequency = 1380; icon_state = "door_locked"; id_tag = "escape_dock_south_outer"; locked = 1; name = "Escape Airlock"; req_access = list(13)},/obj/machinery/access_button{command = "cycle_exterior"; frequency = 1380; master_tag = "escape_dock_south_airlock"; name = "exterior access button"; pixel_x = 4; pixel_y = 26; req_one_access = list(13)},/obj/machinery/shield_diffuser,/obj/effect/floor_decal/industrial/hatch/yellow,/turf/simulated/floor/tiled/dark,/area/hallway/secondary/entry/D1) -"dql" = (/obj/machinery/access_button{command = "cycle_exterior"; frequency = 1380; master_tag = "escape_dock_south_starboard_airlock"; name = "exterior access button"; pixel_x = -4; pixel_y = 26; req_one_access = list(13)},/obj/machinery/door/airlock/external{frequency = 1380; icon_state = "door_locked"; id_tag = "escape_dock_south_starboard_outer"; locked = 1; name = "Escape Airlock"; req_access = list(13)},/obj/effect/floor_decal/industrial/hatch/yellow,/obj/machinery/shield_diffuser,/turf/simulated/floor/tiled/dark,/area/hallway/secondary/entry/D2) -"dqm" = (/obj/machinery/atmospherics/unary/vent_pump/high_volume{dir = 1; frequency = 1380; id_tag = "escape_dock_south_starboard_pump"},/obj/effect/floor_decal/industrial/warning{dir = 9},/obj/machinery/airlock_sensor{frequency = 1380; id_tag = "escape_dock_south_starboard_sensor"; pixel_x = 0; pixel_y = 25},/turf/simulated/floor/tiled/dark,/area/hallway/secondary/entry/D2) -"dqn" = (/obj/machinery/atmospherics/unary/vent_pump/high_volume{dir = 1; frequency = 1380; id_tag = "escape_dock_south_starboard_pump"},/obj/effect/floor_decal/industrial/warning{icon_state = "warning"; dir = 5},/turf/simulated/floor/tiled,/area/hallway/secondary/entry/D2) -"dqo" = (/obj/machinery/door/airlock/glass_external{frequency = 1380; icon_state = "door_locked"; id_tag = "escape_dock_south_starboard_inner"; locked = 1; name = "Escape Airlock"; req_access = list(13)},/obj/effect/floor_decal/industrial/hatch/yellow,/turf/simulated/floor/tiled/dark,/area/hallway/secondary/entry/D2) -"dqp" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/hidden,/turf/simulated/floor/tiled,/area/hallway/secondary/entry/D2) -"dqq" = (/obj/effect/floor_decal/industrial/warning{dir = 9},/turf/simulated/floor/tiled,/area/hallway/secondary/entry/D2) -"dqr" = (/obj/effect/floor_decal/industrial/warning{icon_state = "warning"; dir = 5},/turf/simulated/floor/tiled,/area/hallway/secondary/entry/D3) -"dqs" = (/obj/effect/floor_decal/industrial/warning{dir = 8},/obj/machinery/atmospherics/pipe/simple/hidden,/turf/simulated/floor/tiled,/area/hallway/secondary/entry/D3) -"dqt" = (/obj/machinery/access_button{command = "cycle_interior"; frequency = 1380; master_tag = "escape_dock_south_airlock"; name = "interior access button"; pixel_x = 26; pixel_y = -26; req_one_access = list(13)},/obj/machinery/atmospherics/pipe/simple/hidden,/obj/effect/floor_decal/industrial/warning{icon_state = "warning"; dir = 4},/turf/simulated/floor/tiled,/area/hallway/secondary/entry/D1) -"dqu" = (/obj/machinery/atmospherics/unary/vent_pump/high_volume{dir = 2; frequency = 1380; id_tag = "escape_dock_south_pump"},/obj/effect/floor_decal/industrial/warning{dir = 10},/obj/machinery/light/small,/turf/simulated/floor/tiled,/area/hallway/secondary/entry/D1) -"dqv" = (/obj/machinery/atmospherics/unary/vent_pump/high_volume{dir = 2; frequency = 1380; id_tag = "escape_dock_south_pump"},/obj/effect/floor_decal/industrial/warning{dir = 6},/obj/machinery/embedded_controller/radio/airlock/docking_port_multi{frequency = 1380; id_tag = "escape_dock_south_airlock"; master_tag = "escape_dock"; pixel_y = -30; req_one_access = list(13); tag_airlock_mech_sensor = "escape_dock_south_mech"; tag_airpump = "escape_dock_south_pump"; tag_chamber_sensor = "escape_dock_south_sensor"; tag_exterior_door = "escape_dock_south_outer"; tag_interior_door = "escape_dock_south_inner"; tag_shuttle_mech_sensor = "shuttle_dock_south_mech"},/turf/simulated/floor/tiled/dark,/area/hallway/secondary/entry/D1) -"dqw" = (/obj/machinery/door/airlock/external{frequency = 1380; icon_state = "door_locked"; id_tag = "escape_dock_south_outer"; locked = 1; name = "Escape Airlock"; req_access = list(13)},/obj/machinery/shield_diffuser,/obj/effect/floor_decal/industrial/hatch/yellow,/turf/simulated/floor/tiled/dark,/area/hallway/secondary/entry/D1) -"dqx" = (/obj/machinery/door/airlock/external{frequency = 1380; icon_state = "door_locked"; id_tag = "escape_dock_south_starboard_outer"; locked = 1; name = "Escape Airlock"; req_access = list(13)},/obj/effect/floor_decal/industrial/hatch/yellow,/obj/machinery/shield_diffuser,/turf/simulated/floor/tiled/dark,/area/hallway/secondary/entry/D2) -"dqy" = (/obj/machinery/atmospherics/unary/vent_pump/high_volume{dir = 2; frequency = 1380; id_tag = "escape_dock_south_starboard_pump"},/obj/effect/floor_decal/industrial/warning{dir = 10},/obj/machinery/embedded_controller/radio/airlock/docking_port_multi{frequency = 1380; id_tag = "escape_dock_ssouth_airlock"; master_tag = "escape_dock"; pixel_y = -30; req_one_access = list(13); tag_airlock_mech_sensor = "escape_dock_south_starboard_mech"; tag_airpump = "escape_dock_south_starboard_pump"; tag_chamber_sensor = "escape_dock_south_starboard_sensor"; tag_exterior_door = "escape_dock_south_starboard_outer"; tag_interior_door = "escape_dock_south_starboard_inner"; tag_shuttle_mech_sensor = "shuttle_dock_south_starboard_mech"},/turf/simulated/floor/tiled/dark,/area/hallway/secondary/entry/D2) -"dqz" = (/obj/machinery/atmospherics/unary/vent_pump/high_volume{dir = 2; frequency = 1380; id_tag = "escape_dock_south_starboard_pump"},/obj/effect/floor_decal/industrial/warning{dir = 6},/obj/machinery/light/small,/turf/simulated/floor/tiled,/area/hallway/secondary/entry/D2) -"dqA" = (/obj/effect/floor_decal/industrial/warning{dir = 8},/obj/machinery/access_button{command = "cycle_interior"; frequency = 1380; master_tag = "escape_dock_south_starboard_airlock"; name = "interior access button"; pixel_x = -26; pixel_y = -26; req_one_access = list(13)},/turf/simulated/floor/tiled,/area/hallway/secondary/entry/D2) -"dqB" = (/obj/effect/floor_decal/industrial/warning{dir = 10},/obj/machinery/light/small,/turf/simulated/floor/tiled,/area/hallway/secondary/entry/D2) -"dqC" = (/obj/effect/floor_decal/industrial/warning{dir = 6},/obj/machinery/light/small,/turf/simulated/floor/tiled,/area/hallway/secondary/entry/D3) -"dqD" = (/obj/machinery/firealarm{dir = 8; pixel_x = -24},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/camera/network/second_deck{c_tag = "Second Deck - Dock One Aft"; dir = 4},/turf/simulated/floor/tiled,/area/hallway/secondary/entry/D1) -"dqE" = (/obj/effect/floor_decal/industrial/warning/corner{dir = 4},/obj/machinery/atmospherics/pipe/manifold/hidden{dir = 8; icon_state = "map"; tag = "icon-manifold-f (WEST)"},/turf/simulated/floor/tiled,/area/hallway/secondary/entry/D1) -"dqF" = (/obj/effect/floor_decal/industrial/warning/corner{icon_state = "warningcorner"; dir = 1},/obj/machinery/atmospherics/pipe/simple/hidden{dir = 4},/obj/machinery/camera/network/second_deck{c_tag = "Second Deck - Dock Two Aft"; dir = 4},/turf/simulated/floor/tiled,/area/hallway/secondary/entry/D2) -"dqG" = (/obj/effect/floor_decal/industrial/warning/corner{dir = 4},/turf/simulated/floor/tiled,/area/hallway/secondary/entry/D2) -"dqH" = (/obj/effect/floor_decal/industrial/warning/corner{icon_state = "warningcorner"; dir = 1},/obj/machinery/atmospherics/pipe/simple/hidden,/turf/simulated/floor/tiled,/area/hallway/secondary/entry/D3) -"dqI" = (/obj/machinery/firealarm{dir = 4; pixel_x = 24},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/camera/network/second_deck{c_tag = "Second Deck - Dock Three Aft"; dir = 8},/turf/simulated/floor/tiled,/area/hallway/secondary/entry/D3) -"dqJ" = (/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 1},/obj/structure/extinguisher_cabinet{pixel_x = -28; pixel_y = 0},/turf/simulated/floor/tiled,/area/hallway/secondary/entry/D1) -"dqK" = (/obj/item/device/radio/intercom{dir = 4; name = "Station Intercom (General)"; pixel_x = 21},/obj/machinery/atmospherics/pipe/simple/hidden,/turf/simulated/floor/tiled,/area/hallway/secondary/entry/D1) -"dqL" = (/obj/item/device/radio/intercom{dir = 8; name = "Station Intercom (General)"; pixel_x = -21},/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 4},/turf/simulated/floor/tiled,/area/hallway/secondary/entry/D2) -"dqM" = (/obj/machinery/atmospherics/pipe/simple/hidden,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 9},/turf/simulated/floor/tiled,/area/hallway/secondary/entry/D2) -"dqN" = (/obj/machinery/firealarm{dir = 4; pixel_x = 24},/turf/simulated/floor/tiled,/area/hallway/secondary/entry/D2) -"dqO" = (/obj/structure/shuttle/engine/heater,/obj/structure/window/reinforced{dir = 1},/turf/simulated/floor/airless,/area/shuttle/arrival/station) -"dqP" = (/obj/machinery/atmospherics/pipe/simple/hidden,/obj/item/device/radio/intercom{dir = 8; name = "Station Intercom (General)"; pixel_x = -21},/turf/simulated/floor/tiled,/area/hallway/secondary/entry/D3) -"dqQ" = (/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 1},/obj/structure/extinguisher_cabinet{pixel_x = 28; pixel_y = 0},/turf/simulated/floor/tiled,/area/hallway/secondary/entry/D3) -"dqR" = (/obj/effect/floor_decal/sign/dock/one,/turf/simulated/floor/tiled,/area/hallway/secondary/entry/D1) -"dqS" = (/obj/machinery/atmospherics/pipe/simple/hidden,/obj/machinery/light{dir = 4},/turf/simulated/floor/tiled,/area/hallway/secondary/entry/D1) -"dqT" = (/obj/machinery/light{icon_state = "tube1"; dir = 8},/turf/simulated/floor/tiled,/area/hallway/secondary/entry/D2) -"dqU" = (/obj/machinery/atmospherics/pipe/simple/hidden,/obj/effect/floor_decal/sign/dock/two,/turf/simulated/floor/tiled,/area/hallway/secondary/entry/D2) -"dqV" = (/turf/space,/obj/structure/shuttle/engine/propulsion,/turf/simulated/shuttle/plating/airless/carry,/area/shuttle/arrival/station) -"dqW" = (/obj/structure/shuttle/engine/heater,/obj/structure/window/reinforced{dir = 1},/turf/simulated/shuttle/plating/airless,/area/shuttle/arrival/station) -"dqX" = (/obj/machinery/atmospherics/pipe/simple/hidden,/obj/machinery/light{icon_state = "tube1"; dir = 8},/turf/simulated/floor/tiled,/area/hallway/secondary/entry/D3) -"dqY" = (/obj/effect/floor_decal/sign/dock/three,/turf/simulated/floor/tiled,/area/hallway/secondary/entry/D3) -"dqZ" = (/obj/machinery/door/firedoor/border_only,/obj/machinery/atmospherics/pipe/simple/hidden{dir = 6},/obj/effect/wingrille_spawn/reinforced,/turf/simulated/floor/plating,/area/hallway/secondary/entry/D1) -"dra" = (/obj/effect/floor_decal/industrial/warning,/obj/machinery/atmospherics/pipe/simple/hidden{dir = 4},/obj/machinery/access_button{command = "cycle_interior"; frequency = 1380; master_tag = "trade_shuttle_dock_airlock"; name = "interior access button"; pixel_x = -28; pixel_y = -26; req_access = list(13)},/turf/simulated/floor/tiled,/area/hallway/secondary/entry/D1) -"drb" = (/obj/effect/floor_decal/industrial/warning,/obj/machinery/atmospherics/pipe/manifold/hidden,/turf/simulated/floor/tiled,/area/hallway/secondary/entry/D1) -"drc" = (/obj/machinery/door/firedoor/border_only,/obj/machinery/atmospherics/pipe/simple/hidden{dir = 10; icon_state = "intact"; tag = "icon-intact-f (SOUTHWEST)"},/obj/effect/wingrille_spawn/reinforced,/turf/simulated/floor/plating,/area/hallway/secondary/entry/D1) -"drd" = (/obj/machinery/atmospherics/pipe/simple/hidden,/obj/effect/floor_decal/industrial/warning,/obj/machinery/access_button{command = "cycle_interior"; frequency = 1380; master_tag = "admin_shuttle_dock_airlock"; name = "interior access button"; pixel_x = 26; pixel_y = -26; req_one_access = list(13)},/turf/simulated/floor/tiled,/area/hallway/secondary/entry/D2) -"dre" = (/obj/structure/closet/emcloset,/obj/effect/floor_decal/industrial/warning/corner{dir = 8},/turf/simulated/floor/tiled,/area/hallway/secondary/entry/D2) -"drf" = (/obj/machinery/door/firedoor/border_only,/obj/effect/wingrille_spawn/reinforced,/obj/machinery/atmospherics/pipe/simple/hidden{dir = 6},/turf/simulated/floor/plating,/area/hallway/secondary/entry/D3) -"drg" = (/obj/effect/floor_decal/industrial/warning,/obj/machinery/atmospherics/pipe/manifold/hidden,/turf/simulated/floor/tiled,/area/hallway/secondary/entry/D3) -"drh" = (/obj/effect/floor_decal/industrial/warning,/obj/machinery/atmospherics/pipe/simple/hidden{dir = 4},/obj/machinery/access_button{command = "cycle_interior"; frequency = 1331; master_tag = "nuke_shuttle_dock_airlock"; name = "interior access button"; pixel_x = 26; pixel_y = -26; req_one_access = list(13)},/turf/simulated/floor/tiled,/area/hallway/secondary/entry/D3) -"dri" = (/obj/machinery/door/firedoor/border_only,/obj/machinery/atmospherics/pipe/simple/hidden{dir = 10; icon_state = "intact"; tag = "icon-intact-f (SOUTHWEST)"},/obj/effect/wingrille_spawn/reinforced,/turf/simulated/floor/plating,/area/hallway/secondary/entry/D3) -"drj" = (/obj/machinery/atmospherics/pipe/simple/hidden,/turf/simulated/wall/r_wall,/area/hallway/secondary/entry/D1) -"drk" = (/obj/machinery/door/airlock/glass_external{frequency = 1380; icon_state = "door_locked"; id_tag = "trade_shuttle_dock_inner"; locked = 1; name = "Dock One Internal Airlock"; req_access = list(13)},/obj/effect/floor_decal/industrial/hatch/yellow,/turf/simulated/floor/tiled/dark,/area/hallway/secondary/entry/D1) -"drl" = (/obj/effect/floor_decal/industrial/hatch/yellow,/obj/machinery/door/airlock/glass_external{frequency = 1380; icon_state = "door_locked"; id_tag = "trade_shuttle_dock_inner"; locked = 1; name = "Dock One Internal Airlock"; req_access = list(13)},/turf/simulated/floor/tiled/dark,/area/hallway/secondary/entry/D1) -"drm" = (/obj/machinery/atmospherics/pipe/simple/hidden,/obj/machinery/door/airlock/glass_external{frequency = 1380; icon_state = "door_locked"; id_tag = "admin_shuttle_dock_inner"; locked = 1; name = "Dock Two Internal Airlock"; req_access = list(13)},/obj/effect/floor_decal/industrial/hatch/yellow,/turf/simulated/floor/tiled/dark,/area/hallway/secondary/entry/D2) -"drn" = (/obj/machinery/atmospherics/pipe/simple/hidden,/turf/simulated/wall/r_wall,/area/hallway/secondary/entry/D3) -"dro" = (/obj/effect/floor_decal/industrial/hatch/yellow,/obj/machinery/door/airlock/glass_external{frequency = 1331; icon_state = "door_locked"; id_tag = "nuke_shuttle_dock_inner"; locked = 1; name = "Dock Three Internal Airlock"; req_access = list(13)},/turf/simulated/floor/tiled/dark,/area/hallway/secondary/entry/D3) -"drp" = (/obj/machinery/atmospherics/pipe/manifold/hidden{dir = 8; icon_state = "map"; tag = "icon-manifold-f (WEST)"},/obj/machinery/door/firedoor/border_only,/obj/effect/wingrille_spawn/reinforced,/turf/simulated/floor/plating,/area/hallway/secondary/entry/D1) -"drq" = (/obj/effect/floor_decal/industrial/warning{dir = 9},/obj/machinery/atmospherics/unary/vent_pump/high_volume{dir = 8; frequency = 1380; id_tag = "trade_shuttle_dock_pump"},/turf/simulated/floor/tiled,/area/hallway/secondary/entry/D1) -"drr" = (/obj/effect/floor_decal/industrial/warning{icon_state = "warning"; dir = 5},/obj/machinery/light/small{dir = 4; pixel_y = 0},/obj/machinery/atmospherics/unary/vent_pump/high_volume{dir = 4; frequency = 1380; id_tag = "trade_shuttle_dock_pump"},/turf/simulated/floor/tiled,/area/hallway/secondary/entry/D1) -"drs" = (/obj/machinery/atmospherics/pipe/manifold/hidden{dir = 4; icon_state = "map"; tag = "icon-manifold-f (EAST)"},/obj/machinery/door/firedoor/border_only,/obj/effect/wingrille_spawn/reinforced,/turf/simulated/floor/plating,/area/hallway/secondary/entry/D1) -"drt" = (/obj/effect/floor_decal/industrial/warning{dir = 9},/obj/machinery/atmospherics/unary/vent_pump/high_volume{dir = 4; frequency = 1380; id_tag = "admin_shuttle_dock_pump"},/turf/simulated/floor/tiled,/area/hallway/secondary/entry/D2) -"dru" = (/obj/machinery/atmospherics/pipe/manifold4w/hidden,/obj/effect/floor_decal/industrial/warning{icon_state = "warning"; dir = 1},/turf/simulated/floor/tiled,/area/hallway/secondary/entry/D2) -"drv" = (/obj/effect/floor_decal/industrial/warning{icon_state = "warning"; dir = 5},/obj/machinery/light/small{dir = 4; pixel_y = 0},/obj/machinery/atmospherics/unary/vent_pump/high_volume{dir = 8; frequency = 1380; id_tag = "admin_shuttle_dock_pump"},/turf/simulated/floor/tiled,/area/hallway/secondary/entry/D2) -"drw" = (/obj/machinery/door/firedoor/border_only,/obj/machinery/atmospherics/pipe/manifold/hidden{dir = 8; icon_state = "map"; tag = "icon-manifold-f (WEST)"},/obj/effect/wingrille_spawn/reinforced,/turf/simulated/floor/plating,/area/hallway/secondary/entry/D3) -"drx" = (/obj/effect/floor_decal/industrial/warning{dir = 9},/obj/machinery/light/small{dir = 8},/obj/machinery/atmospherics/unary/vent_pump/high_volume{dir = 8; frequency = 1331; id_tag = "nuke_shuttle_dock_pump"},/turf/simulated/floor/tiled,/area/hallway/secondary/entry/D3) -"dry" = (/obj/effect/floor_decal/industrial/warning{icon_state = "warning"; dir = 5},/obj/machinery/atmospherics/unary/vent_pump/high_volume{dir = 4; frequency = 1331; id_tag = "nuke_shuttle_dock_pump"},/turf/simulated/floor/tiled,/area/hallway/secondary/entry/D3) -"drz" = (/obj/machinery/door/firedoor/border_only,/obj/machinery/atmospherics/pipe/manifold/hidden{dir = 4; icon_state = "map"; tag = "icon-manifold-f (EAST)"},/obj/effect/wingrille_spawn/reinforced,/turf/simulated/floor/plating,/area/hallway/secondary/entry/D3) -"drA" = (/obj/effect/floor_decal/industrial/warning{dir = 10},/obj/machinery/atmospherics/unary/vent_pump/high_volume{dir = 8; frequency = 1380; id_tag = "trade_shuttle_dock_pump"},/obj/machinery/airlock_sensor{frequency = 1380; id_tag = "trade_shuttle_dock_sensor"; pixel_x = -28; pixel_y = 0},/turf/simulated/floor/tiled,/area/hallway/secondary/entry/D1) -"drB" = (/obj/effect/floor_decal/industrial/warning{dir = 6},/obj/machinery/atmospherics/unary/vent_pump/high_volume{dir = 4; frequency = 1380; id_tag = "trade_shuttle_dock_pump"},/obj/machinery/embedded_controller/radio/airlock/docking_port{frequency = 1380; id_tag = "trade_shuttle_dock_airlock"; pixel_x = 28; pixel_y = 0; req_one_access = list(13); tag_airpump = "trade_shuttle_dock_pump"; tag_chamber_sensor = "trade_shuttle_dock_sensor"; tag_exterior_door = "trade_shuttle_dock_outer"; tag_interior_door = "trade_shuttle_dock_inner"},/turf/simulated/floor/tiled,/area/hallway/secondary/entry/D1) -"drC" = (/obj/effect/floor_decal/industrial/warning{dir = 10},/obj/machinery/atmospherics/unary/vent_pump/high_volume{dir = 4; frequency = 1380; id_tag = "admin_shuttle_dock_pump"},/obj/machinery/embedded_controller/radio/airlock/docking_port{frequency = 1380; id_tag = "admin_shuttle_dock_airlock"; pixel_x = -28; pixel_y = 0; req_one_access = list(13); tag_airpump = "admin_shuttle_dock_pump"; tag_chamber_sensor = "admin_shuttle_dock_sensor"; tag_exterior_door = "admin_shuttle_dock_outer"; tag_interior_door = "admin_shuttle_dock_inner"},/turf/simulated/floor/tiled,/area/hallway/secondary/entry/D2) -"drD" = (/obj/machinery/atmospherics/pipe/manifold/hidden,/obj/effect/floor_decal/industrial/warning,/turf/simulated/floor/tiled,/area/hallway/secondary/entry/D2) -"drE" = (/obj/effect/floor_decal/industrial/warning{dir = 6},/obj/machinery/atmospherics/unary/vent_pump/high_volume{dir = 8; frequency = 1380; id_tag = "admin_shuttle_dock_pump"},/obj/machinery/airlock_sensor{frequency = 1380; id_tag = "admin_shuttle_dock_sensor"; pixel_x = 28; pixel_y = 0},/turf/simulated/floor/tiled,/area/hallway/secondary/entry/D2) -"drF" = (/obj/machinery/atmospherics/pipe/simple/hidden{dir = 5; icon_state = "intact"; tag = "icon-intact-f (NORTHEAST)"},/obj/effect/wingrille_spawn/reinforced,/turf/simulated/floor/plating,/area/hallway/secondary/entry/D3) -"drG" = (/obj/effect/floor_decal/industrial/warning{dir = 10},/obj/machinery/airlock_sensor{frequency = 1331; id_tag = "nuke_shuttle_dock_sensor"; pixel_x = -28; pixel_y = 0},/obj/machinery/atmospherics/unary/vent_pump/high_volume{dir = 8; frequency = 1331; id_tag = "nuke_shuttle_dock_pump"},/turf/simulated/floor/tiled,/area/hallway/secondary/entry/D3) -"drH" = (/obj/effect/floor_decal/industrial/warning{dir = 6},/obj/machinery/embedded_controller/radio/airlock/docking_port{frequency = 1331; id_tag = "nuke_shuttle_dock_airlock"; pixel_x = 28; pixel_y = 0; req_access = list(0); req_one_access = list(13); tag_airpump = "nuke_shuttle_dock_pump"; tag_chamber_sensor = "nuke_shuttle_dock_sensor"; tag_exterior_door = "nuke_shuttle_dock_outer"; tag_interior_door = "nuke_shuttle_dock_inner"},/obj/machinery/atmospherics/unary/vent_pump/high_volume{dir = 4; frequency = 1331; id_tag = "nuke_shuttle_dock_pump"},/turf/simulated/floor/tiled,/area/hallway/secondary/entry/D3) -"drI" = (/obj/machinery/shield_diffuser,/obj/machinery/door/airlock/external{frequency = 1380; icon_state = "door_locked"; id_tag = "trade_shuttle_dock_outer"; locked = 1; name = "Dock One External Access"; req_access = list(13)},/obj/effect/floor_decal/industrial/hatch/yellow,/turf/simulated/floor/tiled/dark,/area/hallway/secondary/entry/D1) -"drJ" = (/obj/machinery/access_button{command = "cycle_exterior"; frequency = 1380; master_tag = "admin_shuttle_dock_airlock"; name = "exterior access button"; pixel_x = 28; pixel_y = -6; req_one_access = list(13)},/obj/machinery/shield_diffuser,/obj/effect/floor_decal/industrial/hatch/yellow,/obj/machinery/door/airlock/external{frequency = 1380; icon_state = "door_locked"; id_tag = "trade_shuttle_dock_outer"; locked = 1; name = "Dock One External Access"; req_access = list(13)},/turf/simulated/floor/tiled/dark,/area/hallway/secondary/entry/D1) -"drK" = (/obj/structure/sign/warning/docking_area,/turf/simulated/wall/r_wall,/area/hallway/secondary/entry/D2) -"drL" = (/obj/machinery/shield_diffuser,/obj/machinery/access_button{command = "cycle_exterior"; frequency = 1380; master_tag = "admin_shuttle_dock_airlock"; name = "exterior access button"; pixel_x = 28; pixel_y = -6; req_one_access = list(13)},/obj/machinery/door/airlock/external{frequency = 1380; icon_state = "door_locked"; id_tag = "admin_shuttle_dock_outer"; locked = 1; name = "Dock Two External Airlock"; req_access = list(13)},/obj/effect/floor_decal/industrial/hatch/yellow,/turf/simulated/floor/tiled/dark,/area/hallway/secondary/entry/D2) -"drM" = (/obj/machinery/access_button{command = "cycle_exterior"; frequency = 1331; master_tag = "nuke_shuttle_dock_airlock"; name = "exterior access button"; pixel_x = -28; pixel_y = -6; req_one_access = list(13)},/obj/machinery/door/airlock/external{frequency = 1331; icon_state = "door_locked"; id_tag = "nuke_shuttle_dock_outer"; locked = 1; name = "Dock Three External Airlock"; req_access = list(13)},/obj/machinery/shield_diffuser,/obj/effect/floor_decal/industrial/hatch/yellow,/turf/simulated/floor/tiled/dark,/area/hallway/secondary/entry/D3) -"drN" = (/obj/machinery/shield_diffuser,/obj/effect/floor_decal/industrial/hatch/yellow,/obj/machinery/door/airlock/external{frequency = 1331; icon_state = "door_locked"; id_tag = "nuke_shuttle_dock_outer"; locked = 1; name = "Dock Three External Airlock"; req_access = list(13)},/turf/simulated/floor/tiled/dark,/area/hallway/secondary/entry/D3) -"drO" = (/turf/space,/area/syndicate_station/arrivals_dock) -"drP" = (/turf/space,/area/shuttle/merchant/away) -"drQ" = (/turf/space,/area/shuttle/administration/station) -"drR" = (/turf/simulated/floor/reinforced/airless,/area/thirddeck/roof) -"drS" = (/turf/space,/area/shuttle/response_ship/thirddeck) -"drT" = (/turf/simulated/floor/airless,/area/thirddeck/roof) -"drU" = (/turf/simulated/wall/r_wall,/area/ai) -"drV" = (/obj/structure/table/standard,/obj/item/device/radio/intercom{dir = 1; name = "Station Intercom (General)"; pixel_y = 21},/obj/structure/flora/pottedplant/unusual{name = "Steve"; pixel_y = 15},/obj/item/device/radio/intercom/custom{dir = 8; pixel_x = -21; pixel_y = 0},/obj/item/device/radio/intercom/private{dir = 4; pixel_x = 21; pixel_y = 0},/turf/simulated/floor/greengrid,/area/ai) -"drW" = (/obj/machinery/ai_status_display,/turf/simulated/wall/r_wall,/area/ai) -"drX" = (/obj/effect/floor_decal/industrial/warning/corner,/obj/machinery/atmospherics/unary/vent_pump/on,/turf/simulated/floor/tiled/dark,/area/ai) -"drY" = (/obj/effect/floor_decal/industrial/warning,/turf/simulated/floor/tiled/dark,/area/ai) -"drZ" = (/obj/effect/floor_decal/industrial/outline/grey,/obj/machinery/porta_turret/ai_defense,/obj/effect/floor_decal/industrial/warning/corner{dir = 8},/obj/effect/floor_decal/industrial/warning/corner,/turf/simulated/floor/tiled/dark,/area/ai) -"dsa" = (/obj/effect/floor_decal/industrial/warning/corner{dir = 8},/obj/machinery/atmospherics/unary/vent_scrubber/on,/turf/simulated/floor/tiled/dark,/area/ai) -"dsb" = (/obj/machinery/status_display,/turf/simulated/wall/r_wall,/area/ai) -"dsc" = (/obj/machinery/porta_turret/ai_defense,/obj/effect/floor_decal/industrial/outline/grey,/obj/effect/floor_decal/industrial/warning/corner,/turf/simulated/floor/tiled/dark,/area/ai) -"dsd" = (/obj/effect/floor_decal/industrial/warning{dir = 6},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor/tiled/dark,/area/ai) -"dse" = (/turf/simulated/floor/greengrid,/area/ai) -"dsf" = (/obj/effect/floor_decal/industrial/warning/cee,/obj/structure/cable/cyan{d1 = 2; d2 = 4; icon_state = "2-4"},/obj/machinery/hologram/holopad,/turf/simulated/floor/tiled/dark,/area/ai) -"dsg" = (/obj/structure/cable/cyan{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor/greengrid,/area/ai) -"dsh" = (/obj/effect/floor_decal/industrial/warning{dir = 10},/obj/structure/cable/cyan{d1 = 2; d2 = 8; icon_state = "2-8"},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor/tiled/dark,/area/ai) -"dsi" = (/obj/machinery/porta_turret/ai_defense,/obj/effect/floor_decal/industrial/outline/grey,/obj/effect/floor_decal/industrial/warning/corner{dir = 8},/turf/simulated/floor/tiled/dark,/area/ai) -"dsj" = (/turf/space,/area/skipjack_station/thirddeck) -"dsk" = (/obj/machinery/power/solar{id = "foreportsolar"; name = "Port Solar Array"},/obj/structure/cable/yellow{d2 = 4; icon_state = "0-4"},/turf/simulated/floor/airless{icon_state = "solarpanel"},/area/solar/foreportsolar) -"dsl" = (/obj/structure/cable/yellow{d1 = 2; d2 = 4; icon_state = "2-4"},/obj/structure/cable/yellow{d1 = 2; d2 = 8; icon_state = "2-8"},/turf/simulated/floor/airless,/area/solar/foreportsolar) -"dsm" = (/obj/structure/cable/yellow{d2 = 8; icon_state = "0-8"},/obj/machinery/power/solar{id = "foreportsolar"; name = "Port Solar Array"},/turf/simulated/floor/airless{icon_state = "solarpanel"},/area/solar/foreportsolar) -"dsn" = (/obj/effect/floor_decal/industrial/warning/corner,/obj/machinery/light{dir = 1},/turf/simulated/floor/tiled/dark,/area/ai) -"dso" = (/obj/effect/floor_decal/industrial/warning{dir = 6},/obj/structure/cable/green{d1 = 2; d2 = 4; icon_state = "2-4"},/turf/simulated/floor/tiled/dark,/area/ai) -"dsp" = (/obj/machinery/ai_slipper{icon_state = "motion0"},/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor/greengrid,/area/ai) -"dsq" = (/obj/machinery/power/terminal{dir = 4},/obj/structure/cable/green{d2 = 8; icon_state = "0-8"},/turf/simulated/floor/greengrid,/area/ai) -"dsr" = (/obj/structure/cable/cyan,/obj/machinery/power/smes/buildable{charge = 5e+006; input_attempt = 1; input_level = 200000; output_level = 200000},/obj/machinery/flasher{id = "AI"; pixel_x = 0; pixel_y = -24},/turf/simulated/floor/plating,/area/ai) -"dss" = (/obj/machinery/ai_slipper{icon_state = "motion0"},/obj/structure/cable/cyan{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor/greengrid,/area/ai) -"dst" = (/obj/effect/floor_decal/industrial/warning{dir = 10},/turf/simulated/floor/tiled/dark,/area/ai) -"dsu" = (/obj/effect/floor_decal/industrial/warning/corner{dir = 8},/obj/machinery/light{dir = 1},/turf/simulated/floor/tiled/dark,/area/ai) -"dsv" = (/obj/structure/cable/yellow{d2 = 4; icon_state = "0-4"},/obj/machinery/power/solar{id = "forestarboardsolar"; name = "Starboard Solar Array"},/turf/simulated/floor/airless{icon_state = "solarpanel"},/area/solar/forestarboardsolar) -"dsw" = (/obj/structure/cable/yellow{d1 = 2; d2 = 4; icon_state = "2-4"},/obj/structure/cable/yellow{d1 = 2; d2 = 8; icon_state = "2-8"},/turf/simulated/floor/airless,/area/solar/forestarboardsolar) -"dsx" = (/obj/structure/cable/yellow{d2 = 8; icon_state = "0-8"},/obj/machinery/power/solar{id = "forestarboardsolar"; name = "Starboard Solar Array"},/turf/simulated/floor/airless{icon_state = "solarpanel"},/area/solar/forestarboardsolar) -"dsy" = (/obj/structure/cable/yellow{d2 = 4; icon_state = "0-4"},/obj/machinery/power/solar{id = "foreportsolar"; name = "Port Solar Array"},/turf/simulated/floor/airless{icon_state = "solarpanel"},/area/solar/foreportsolar) -"dsz" = (/obj/structure/cable/yellow{d1 = 2; d2 = 4; icon_state = "2-4"},/obj/structure/cable/yellow{d1 = 2; d2 = 8; icon_state = "2-8"},/obj/structure/cable/yellow{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor/airless,/area/solar/foreportsolar) -"dsA" = (/obj/effect/floor_decal/industrial/warning{icon_state = "warning"; dir = 4},/turf/simulated/floor/tiled/dark,/area/ai) -"dsB" = (/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor/greengrid,/area/ai) -"dsC" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor/greengrid,/area/ai) -"dsD" = (/turf/simulated/wall/durasteel,/area/ai) -"dsE" = (/obj/structure/cable/cyan{d1 = 1; d2 = 4; icon_state = "1-4"},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor/greengrid,/area/ai) -"dsF" = (/obj/structure/cable/cyan{d1 = 2; d2 = 8; icon_state = "2-8"},/turf/simulated/floor/greengrid,/area/ai) -"dsG" = (/obj/effect/floor_decal/industrial/warning{icon_state = "warning"; dir = 8},/turf/simulated/floor/tiled/dark,/area/ai) -"dsH" = (/obj/structure/cable/yellow{d1 = 2; d2 = 4; icon_state = "2-4"},/obj/structure/cable/yellow{d1 = 2; d2 = 8; icon_state = "2-8"},/obj/structure/cable/yellow{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor/airless,/area/solar/forestarboardsolar) -"dsI" = (/obj/effect/landmark{name = "tripai"},/obj/item/device/radio/intercom{dir = 8; name = "Station Intercom (General)"; pixel_x = -21},/obj/item/device/radio/intercom/private{pixel_y = -21},/obj/item/device/radio/intercom/custom{dir = 1; pixel_y = 21},/turf/simulated/floor/greengrid,/area/ai) -"dsJ" = (/obj/machinery/porta_turret/ai_defense,/obj/effect/floor_decal/industrial/outline/grey,/obj/effect/floor_decal/industrial/warning/corner,/obj/effect/floor_decal/industrial/warning/corner{dir = 4},/turf/simulated/floor/tiled/dark,/area/ai) -"dsK" = (/obj/effect/floor_decal/industrial/warning,/obj/effect/floor_decal/industrial/warning{icon_state = "warning"; dir = 1},/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/hologram/holopad,/turf/simulated/floor/tiled/dark,/area/ai) -"dsL" = (/obj/effect/floor_decal/industrial/warning,/obj/effect/floor_decal/industrial/warning{icon_state = "warning"; dir = 1},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor/tiled/dark,/area/ai) -"dsM" = (/obj/machinery/door/airlock/hatch{icon_state = "door_locked"; id_tag = null; locked = 1; name = "AI Core"; req_access = list(16)},/turf/simulated/floor/tiled/dark,/area/ai) -"dsN" = (/obj/machinery/ai_slipper{icon_state = "motion0"},/obj/machinery/turretid/stun{check_synth = 1; name = "AI Chamber turret control"; pixel_x = -30; pixel_y = -24},/obj/machinery/flasher{id = "AI"; pixel_x = 24; pixel_y = -25},/obj/machinery/button/remote/blast_door{desc = "A remote control-switch for the AI core maintenance door."; id = "AICore"; name = "AI Maintenance Hatch"; pixel_x = 8; pixel_y = 25; req_access = list(16)},/obj/machinery/light/small{dir = 1},/obj/machinery/camera/xray/command{c_tag = "AI - Core"; dir = 2},/turf/simulated/floor/tiled/dark,/area/ai) -"dsO" = (/obj/effect/floor_decal/industrial/warning,/obj/effect/floor_decal/industrial/warning{icon_state = "warning"; dir = 1},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor/tiled/dark,/area/ai) -"dsP" = (/obj/effect/floor_decal/industrial/warning,/obj/effect/floor_decal/industrial/warning{icon_state = "warning"; dir = 1},/obj/structure/cable/cyan{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/hologram/holopad,/turf/simulated/floor/tiled/dark,/area/ai) -"dsQ" = (/obj/machinery/porta_turret/ai_defense,/obj/effect/floor_decal/industrial/outline/grey,/obj/effect/floor_decal/industrial/warning/corner{dir = 8},/obj/effect/floor_decal/industrial/warning/corner{icon_state = "warningcorner"; dir = 1},/turf/simulated/floor/tiled/dark,/area/ai) -"dsR" = (/obj/effect/landmark{name = "tripai"},/obj/item/device/radio/intercom{dir = 4; name = "Station Intercom (General)"; pixel_x = 21},/obj/item/device/radio/intercom/private{dir = 1; pixel_y = 21},/obj/item/device/radio/intercom/custom{pixel_y = -21},/turf/simulated/floor/greengrid,/area/ai) -"dsS" = (/turf/simulated/wall/r_wall,/area/maintenance/thirddeck/foreport) -"dsT" = (/obj/effect/landmark/start{name = "AI"},/obj/machinery/requests_console{department = "AI"; departmentType = 5; pixel_x = 30; pixel_y = -32},/obj/machinery/newscaster/security_unit{pixel_x = -32; pixel_y = -32},/obj/item/device/radio/intercom/private{dir = 4; pixel_x = 21; pixel_y = -10},/obj/item/device/radio/intercom/custom{dir = 8; pixel_x = -21; pixel_y = -10},/obj/item/device/radio/intercom{broadcasting = 1; name = "Station Intercom (General)"; pixel_y = -21},/turf/simulated/floor/greengrid,/area/ai) -"dsU" = (/obj/structure/cable/cyan{d1 = 2; d2 = 4; icon_state = "2-4"},/obj/structure/cable/cyan{d2 = 4; icon_state = "0-4"},/obj/machinery/power/apc/super/critical{dir = 8; is_critical = 1; name = "west bump"; pixel_x = -24; pixel_y = 0},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor/greengrid,/area/ai) -"dsV" = (/obj/structure/cable/cyan{d1 = 1; d2 = 8; icon_state = "1-8"},/turf/simulated/floor/greengrid,/area/ai) -"dsW" = (/turf/simulated/wall/r_wall,/area/maintenance/thirddeck/forestarboard) -"dsX" = (/obj/machinery/door/firedoor/border_only,/obj/effect/wingrille_spawn/reinforced,/turf/simulated/floor/plating,/area/maintenance/solars/foreportsolar) -"dsY" = (/turf/simulated/wall/r_wall,/area/maintenance/solars/foreportsolar) -"dsZ" = (/obj/machinery/space_heater,/turf/simulated/floor/plating,/area/maintenance/thirddeck/foreport) -"dta" = (/obj/machinery/alarm{pixel_y = 22},/obj/machinery/portable_atmospherics/powered/pump/filled,/turf/simulated/floor/plating,/area/maintenance/thirddeck/foreport) -"dtb" = (/obj/machinery/portable_atmospherics/powered/scrubber,/turf/simulated/floor/plating,/area/maintenance/thirddeck/foreport) -"dtc" = (/turf/simulated/floor/plating,/area/maintenance/thirddeck/foreport) -"dtd" = (/obj/structure/closet/crate,/obj/item/weapon/storage/box/lights/mixed,/obj/random/maintenance/security,/obj/random/maintenance/security,/obj/random/maintenance/security,/turf/simulated/floor/plating,/area/maintenance/thirddeck/foreport) -"dte" = (/obj/structure/cable/green{d1 = 2; d2 = 4; icon_state = "2-4"},/turf/simulated/floor/reinforced/airless,/area/thirddeck/roof) -"dtf" = (/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor/reinforced/airless,/area/thirddeck/roof) -"dtg" = (/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/wall/r_wall,/area/ai) -"dth" = (/obj/effect/floor_decal/industrial/warning/corner{dir = 4},/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/light,/obj/machinery/alarm{dir = 4; pixel_x = -23; pixel_y = 0},/turf/simulated/floor/tiled/dark,/area/ai) -"dti" = (/obj/effect/floor_decal/industrial/warning{dir = 5},/obj/structure/cable/green{d1 = 1; d2 = 8; icon_state = "1-8"},/turf/simulated/floor/tiled/dark,/area/ai) -"dtj" = (/obj/machinery/ai_slipper{icon_state = "motion0"},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor/greengrid,/area/ai) -"dtk" = (/obj/effect/floor_decal/industrial/warning{dir = 9},/turf/simulated/floor/tiled/dark,/area/ai) -"dtl" = (/obj/effect/floor_decal/industrial/warning/corner{icon_state = "warningcorner"; dir = 1},/obj/machinery/light,/obj/machinery/firealarm{dir = 4; pixel_x = 24},/turf/simulated/floor/tiled/dark,/area/ai) -"dtm" = (/obj/structure/closet/emcloset,/turf/simulated/floor/plating,/area/maintenance/thirddeck/forestarboard) -"dtn" = (/obj/structure/reagent_dispensers/fueltank,/turf/simulated/floor/plating,/area/maintenance/thirddeck/forestarboard) -"dto" = (/obj/structure/reagent_dispensers/watertank,/turf/simulated/floor/plating,/area/maintenance/thirddeck/forestarboard) -"dtp" = (/obj/machinery/alarm{pixel_y = 22},/turf/simulated/floor/plating,/area/maintenance/thirddeck/forestarboard) -"dtq" = (/obj/structure/firedoor_assembly,/turf/simulated/floor/plating,/area/maintenance/thirddeck/forestarboard) -"dtr" = (/turf/simulated/wall/r_wall,/area/maintenance/solars/forestarboardsolar) -"dts" = (/obj/machinery/door/firedoor/border_only,/obj/effect/wingrille_spawn/reinforced,/turf/simulated/floor/plating,/area/maintenance/solars/forestarboardsolar) -"dtt" = (/obj/structure/cable/yellow,/turf/simulated/floor/airless,/area/solar/foreportsolar) -"dtu" = (/obj/item/stack/cable_coil/yellow,/turf/simulated/floor/reinforced/airless,/area/thirddeck/roof) -"dtv" = (/obj/effect/wingrille_spawn/reinforced,/turf/simulated/floor/plating,/area/maintenance/solars/foreportsolar) -"dtw" = (/obj/structure/cable/yellow{d2 = 2; icon_state = "0-2"},/obj/machinery/power/solar_control{id = "foreportsolar"; name = "Fore Port Solar Control"; track = 0},/turf/simulated/floor/plating,/area/maintenance/solars/foreportsolar) -"dtx" = (/obj/machinery/light/small{dir = 1},/obj/machinery/camera/network/engineering{c_tag = "ENG - Solar Fore Port"; dir = 2},/obj/item/stack/cable_coil/yellow,/turf/simulated/floor/plating,/area/maintenance/solars/foreportsolar) -"dty" = (/obj/structure/cable{icon_state = "0-2"; d2 = 2},/obj/machinery/power/apc{dir = 1; name = "north bump"; pixel_x = 0; pixel_y = 24},/obj/item/device/radio/intercom{dir = 4; name = "Station Intercom (General)"; pixel_x = 21},/turf/simulated/floor/plating,/area/maintenance/solars/foreportsolar) -"dtz" = (/turf/simulated/wall,/area/maintenance/solars/foreportsolar) -"dtA" = (/obj/machinery/light/small{dir = 8},/obj/effect/floor_decal/industrial/warning/corner{dir = 8},/turf/simulated/floor/plating,/area/maintenance/thirddeck/foreport) -"dtB" = (/obj/structure/ladder,/obj/effect/floor_decal/industrial/outline/yellow,/turf/simulated/floor/plating,/area/maintenance/thirddeck/foreport) -"dtC" = (/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor/reinforced/airless,/area/thirddeck/roof) -"dtD" = (/obj/machinery/porta_turret/ai_defense,/obj/effect/floor_decal/industrial/outline/grey,/obj/effect/floor_decal/industrial/warning/corner{dir = 4},/turf/simulated/floor/tiled/dark,/area/ai) -"dtE" = (/obj/effect/floor_decal/industrial/warning{dir = 5},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 6},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 5},/turf/simulated/floor/tiled/dark,/area/ai) -"dtF" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/turf/simulated/floor/greengrid,/area/ai) -"dtG" = (/obj/effect/floor_decal/industrial/warning/cee{tag = "icon-warningcee (NORTH)"; icon_state = "warningcee"; dir = 1},/obj/machinery/hologram/holopad,/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{dir = 1},/obj/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 1},/turf/simulated/floor/tiled/dark,/area/ai) -"dtH" = (/obj/effect/floor_decal/industrial/warning{dir = 9},/obj/structure/cable/cyan{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 9},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 10},/turf/simulated/floor/tiled/dark,/area/ai) -"dtI" = (/obj/machinery/porta_turret/ai_defense,/obj/effect/floor_decal/industrial/outline/grey,/obj/effect/floor_decal/industrial/warning/corner{icon_state = "warningcorner"; dir = 1},/turf/simulated/floor/tiled/dark,/area/ai) -"dtJ" = (/obj/effect/floor_decal/industrial/warning,/turf/simulated/floor/plating,/area/maintenance/thirddeck/forestarboard) -"dtK" = (/obj/effect/floor_decal/industrial/warning/corner{icon_state = "warningcorner"; dir = 8},/turf/simulated/floor/plating,/area/maintenance/thirddeck/forestarboard) -"dtL" = (/turf/simulated/floor/plating,/area/maintenance/thirddeck/forestarboard) -"dtM" = (/obj/machinery/light/small{dir = 4; pixel_y = 0},/obj/effect/floor_decal/industrial/warning/corner,/turf/simulated/floor/plating,/area/maintenance/thirddeck/forestarboard) -"dtN" = (/turf/simulated/wall,/area/maintenance/solars/forestarboardsolar) -"dtO" = (/obj/structure/cable{icon_state = "0-2"; d2 = 2},/obj/machinery/power/apc{dir = 1; name = "north bump"; pixel_x = 0; pixel_y = 24},/obj/item/device/radio/intercom{dir = 8; name = "Station Intercom (General)"; pixel_x = -21},/obj/item/stack/cable_coil/yellow,/turf/simulated/floor/plating,/area/maintenance/solars/forestarboardsolar) -"dtP" = (/obj/machinery/light/small{dir = 1},/obj/machinery/camera/network/engineering{c_tag = "ENG - Solar Fore Starboard"; dir = 2},/obj/item/stack/cable_coil/yellow,/obj/item/stack/cable_coil/yellow,/obj/item/weapon/stool,/turf/simulated/floor/plating,/area/maintenance/solars/forestarboardsolar) -"dtQ" = (/obj/structure/cable/yellow{d2 = 2; icon_state = "0-2"},/obj/machinery/power/solar_control{id = "forestarboardsolar"; name = "Fore Starboard Solar Control"; track = 0},/turf/simulated/floor/plating,/area/maintenance/solars/forestarboardsolar) -"dtR" = (/obj/effect/wingrille_spawn/reinforced,/turf/simulated/floor/plating,/area/maintenance/solars/forestarboardsolar) -"dtS" = (/obj/structure/cable/yellow,/turf/simulated/floor/airless,/area/solar/forestarboardsolar) -"dtT" = (/obj/machinery/power/tracker,/obj/structure/cable/yellow{d2 = 4; icon_state = "0-4"},/turf/simulated/floor/airless,/area/solar/foreportsolar) -"dtU" = (/obj/structure/cable/yellow{d2 = 8; icon_state = "0-8"},/turf/simulated/floor/airless,/area/solar/foreportsolar) -"dtV" = (/turf/simulated/floor/airless,/area/solar/foreportsolar) -"dtW" = (/obj/structure/cable/yellow{d2 = 4; icon_state = "0-4"},/turf/simulated/floor/airless,/area/solar/foreportsolar) -"dtX" = (/obj/structure/cable/yellow{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor/airless,/area/solar/foreportsolar) -"dtY" = (/obj/structure/cable/yellow{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/access_button{command = "cycle_exterior"; frequency = 1379; layer = 3.3; master_tag = "fore_port_solar_airlock"; name = "exterior access button"; pixel_x = 25; pixel_y = -25; req_access = list(); req_one_access = list(11,24)},/turf/simulated/floor/airless,/area/solar/foreportsolar) -"dtZ" = (/obj/structure/cable/yellow{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/door/airlock/external{frequency = 1379; icon_state = "door_locked"; id_tag = "fore_port_solar_outer"; locked = 1; name = "Engineering External Access"; req_access = list(11,13)},/turf/simulated/floor/plating,/area/maintenance/solars/foreportsolar) -"dua" = (/obj/structure/cable/yellow{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/effect/floor_decal/industrial/warning/cee{icon_state = "warningcee"; dir = 8},/obj/machinery/embedded_controller/radio/airlock/airlock_controller{frequency = 1379; id_tag = "fore_port_solar_airlock"; layer = 3.3; pixel_x = 0; pixel_y = -25; req_access = list(13); tag_airpump = "fore_port_solar_pump"; tag_chamber_sensor = "fore_port_solar_sensor"; tag_exterior_door = "fore_port_solar_outer"; tag_interior_door = "fore_port_solar_inner"},/obj/machinery/airlock_sensor{frequency = 1379; id_tag = "fore_port_solar_sensor"; layer = 3.3; pixel_x = 0; pixel_y = 25},/obj/machinery/atmospherics/unary/vent_pump/high_volume{dir = 2; frequency = 1379; id_tag = "fore_port_solar_pump"},/turf/simulated/floor/plating,/area/maintenance/solars/foreportsolar) -"dub" = (/obj/structure/cable/yellow{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/effect/floor_decal/industrial/warning/cee{icon_state = "warningcee"; dir = 4},/obj/machinery/atmospherics/unary/vent_pump/high_volume{dir = 2; frequency = 1379; id_tag = "fore_port_solar_pump"},/obj/machinery/light/small,/turf/simulated/floor/plating,/area/maintenance/solars/foreportsolar) -"duc" = (/obj/machinery/atmospherics/pipe/simple/hidden{dir = 6},/obj/structure/cable/yellow{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/door/airlock/external{frequency = 1379; icon_state = "door_locked"; id_tag = "fore_port_solar_inner"; locked = 1; name = "Engineering External Access"; req_access = list(11,13)},/turf/simulated/floor/plating,/area/maintenance/solars/foreportsolar) -"dud" = (/obj/machinery/atmospherics/pipe/simple/hidden{dir = 4},/obj/structure/cable/yellow{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/structure/cable/yellow{d1 = 1; d2 = 8; icon_state = "1-8"},/obj/machinery/meter,/obj/machinery/access_button{command = "cycle_interior"; frequency = 1379; layer = 3.3; master_tag = "fore_port_solar_airlock"; name = "interior access button"; pixel_x = -25; pixel_y = 25; req_access = list(); req_one_access = list(11,24)},/turf/simulated/floor/plating,/area/maintenance/solars/foreportsolar) -"due" = (/obj/machinery/atmospherics/pipe/simple/hidden{dir = 4},/obj/structure/cable/yellow{d1 = 2; d2 = 8; icon_state = "2-8"},/obj/effect/floor_decal/industrial/warning,/turf/simulated/floor/plating,/area/maintenance/solars/foreportsolar) -"duf" = (/obj/structure/cable{d1 = 2; d2 = 4; icon_state = "2-4"},/obj/machinery/atmospherics/binary/pump/on{dir = 8; target_pressure = 200},/obj/structure/cable{d1 = 1; d2 = 4; icon_state = "1-4"},/obj/effect/floor_decal/industrial/warning,/turf/simulated/floor/plating,/area/maintenance/solars/foreportsolar) -"dug" = (/obj/machinery/atmospherics/pipe/simple/hidden{dir = 4},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0},/obj/machinery/door/firedoor/border_only,/obj/machinery/door/airlock/engineering{icon_state = "door_closed"; locked = 0; name = "Fore Port Solar Access"; req_access = list(); req_one_access = list(11,24)},/turf/simulated/floor/plating,/area/maintenance/solars/foreportsolar) -"duh" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/atmospherics/pipe/simple/hidden{dir = 10; icon_state = "intact"; tag = "icon-intact-f (SOUTHWEST)"},/obj/effect/floor_decal/industrial/warning{icon_state = "warning"; dir = 8},/turf/simulated/floor/plating,/area/maintenance/thirddeck/foreport) -"dui" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor/plating,/area/maintenance/thirddeck/foreport) -"duj" = (/obj/effect/floor_decal/industrial/warning/corner,/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor/plating,/area/maintenance/thirddeck/foreport) -"duk" = (/obj/effect/floor_decal/industrial/warning,/obj/structure/cable{d1 = 2; d2 = 8; icon_state = "2-8"},/turf/simulated/floor/plating,/area/maintenance/thirddeck/foreport) -"dul" = (/obj/effect/floor_decal/industrial/warning/corner{icon_state = "warningcorner"; dir = 8},/turf/simulated/floor/plating,/area/maintenance/thirddeck/foreport) -"dum" = (/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor/airless,/area/thirddeck/roof) -"dun" = (/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 1},/turf/simulated/floor/tiled/dark,/area/ai) -"duo" = (/obj/effect/floor_decal/industrial/warning{icon_state = "warning"; dir = 1},/obj/effect/floor_decal/industrial/warning/corner,/turf/simulated/floor/tiled/dark,/area/ai) -"dup" = (/obj/effect/floor_decal/industrial/warning/corner{dir = 4},/obj/effect/floor_decal/industrial/warning/corner{icon_state = "warningcorner"; dir = 1},/obj/effect/floor_decal/industrial/warning,/obj/structure/cable/cyan{d1 = 2; d2 = 4; icon_state = "2-4"},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor/tiled/dark,/area/ai) -"duq" = (/obj/effect/floor_decal/industrial/warning{icon_state = "warning"; dir = 1},/obj/effect/floor_decal/industrial/warning/corner{dir = 8},/obj/structure/cable/cyan{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor/tiled/dark,/area/ai) -"dur" = (/obj/effect/floor_decal/industrial/warning/corner{icon_state = "warningcorner"; dir = 1},/obj/structure/cable/cyan{d1 = 1; d2 = 8; icon_state = "1-8"},/obj/machinery/atmospherics/unary/vent_pump/on{dir = 1},/turf/simulated/floor/tiled/dark,/area/ai) -"dus" = (/obj/structure/lattice,/obj/structure/cable{d1 = 32; d2 = 4; icon_state = "32-4"},/turf/simulated/open,/area/maintenance/thirddeck/forestarboard) -"dut" = (/obj/effect/floor_decal/industrial/warning{dir = 8},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor/plating,/area/maintenance/thirddeck/forestarboard) -"duu" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor/plating,/area/maintenance/thirddeck/forestarboard) -"duv" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/atmospherics/pipe/simple/hidden{dir = 6},/obj/effect/floor_decal/industrial/warning{icon_state = "warning"; dir = 4},/turf/simulated/floor/plating,/area/maintenance/thirddeck/forestarboard) -"duw" = (/obj/machinery/atmospherics/pipe/simple/hidden{dir = 4},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0},/obj/machinery/door/firedoor/border_only,/obj/machinery/door/airlock/engineering{icon_state = "door_closed"; locked = 0; name = "Fore Starboard Solar Access"; req_access = list(); req_one_access = list(11,24)},/turf/simulated/floor/plating,/area/maintenance/solars/forestarboardsolar) -"dux" = (/obj/structure/cable{d1 = 2; d2 = 8; icon_state = "2-8"},/obj/structure/cable{d1 = 1; d2 = 8; icon_state = "1-8"},/obj/machinery/atmospherics/binary/pump/on{dir = 4; target_pressure = 200},/obj/effect/floor_decal/industrial/warning,/turf/simulated/floor/plating,/area/maintenance/solars/forestarboardsolar) -"duy" = (/obj/machinery/atmospherics/pipe/simple/hidden{dir = 4},/obj/effect/floor_decal/industrial/warning,/obj/structure/cable/yellow{d1 = 2; d2 = 4; icon_state = "2-4"},/turf/simulated/floor/plating,/area/maintenance/solars/forestarboardsolar) -"duz" = (/obj/machinery/atmospherics/pipe/simple/hidden{dir = 4},/obj/structure/cable/yellow{d1 = 1; d2 = 4; icon_state = "1-4"},/obj/structure/cable/yellow{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/meter,/obj/machinery/access_button{command = "cycle_interior"; frequency = 1379; layer = 3.3; master_tag = "fore_starboard_solar_airlock"; name = "interior access button"; pixel_x = 25; pixel_y = 25; req_access = list(); req_one_access = list(11,24)},/turf/simulated/floor/plating,/area/maintenance/solars/forestarboardsolar) -"duA" = (/obj/machinery/atmospherics/pipe/simple/hidden{dir = 10; icon_state = "intact"; tag = "icon-intact-f (SOUTHWEST)"},/obj/structure/cable/yellow{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/door/airlock/external{frequency = 1379; icon_state = "door_locked"; id_tag = "fore_starboard_solar_inner"; locked = 1; name = "Engineering External Access"; req_access = list(11,13)},/turf/simulated/floor/plating,/area/maintenance/solars/forestarboardsolar) -"duB" = (/obj/effect/floor_decal/industrial/warning/cee{icon_state = "warningcee"; dir = 8},/obj/structure/cable/yellow{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/light/small,/obj/machinery/atmospherics/unary/vent_pump/high_volume{dir = 2; frequency = 1379; id_tag = "fore_starboard_solar_pump"},/turf/simulated/floor/plating,/area/maintenance/solars/forestarboardsolar) -"duC" = (/obj/effect/floor_decal/industrial/warning/cee{icon_state = "warningcee"; dir = 4},/obj/structure/cable/yellow{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/embedded_controller/radio/airlock/airlock_controller{frequency = 1379; id_tag = "fore_starboard_solar_airlock"; layer = 3.3; pixel_x = 0; pixel_y = -25; req_access = list(13); tag_airpump = "fore_starboard_solar_pump"; tag_chamber_sensor = "fore_starboard_solar_sensor"; tag_exterior_door = "fore_starboard_solar_outer"; tag_interior_door = "fore_starboard_solar_inner"},/obj/machinery/airlock_sensor{frequency = 1379; id_tag = "fore_starboard_solar_sensor"; layer = 3.3; pixel_x = 0; pixel_y = 25},/obj/machinery/atmospherics/unary/vent_pump/high_volume{dir = 2; frequency = 1379; id_tag = "fore_starboard_solar_pump"},/turf/simulated/floor/plating,/area/maintenance/solars/forestarboardsolar) -"duD" = (/obj/structure/cable/yellow{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/door/airlock/external{frequency = 1379; icon_state = "door_locked"; id_tag = "fore_starboard_solar_outer"; locked = 1; name = "Engineering External Access"; req_access = list(11,13)},/turf/simulated/floor/plating,/area/maintenance/solars/forestarboardsolar) -"duE" = (/obj/structure/cable/yellow{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/access_button{command = "cycle_exterior"; frequency = 1379; layer = 3.3; master_tag = "fore_starboard_solar_airlock"; name = "exterior access button"; pixel_x = -25; pixel_y = -25; req_access = list(); req_one_access = list(11,24)},/turf/simulated/floor/airless,/area/solar/forestarboardsolar) -"duF" = (/obj/structure/cable/yellow{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor/airless,/area/solar/forestarboardsolar) -"duG" = (/obj/structure/cable/yellow{d2 = 8; icon_state = "0-8"},/turf/simulated/floor/airless,/area/solar/forestarboardsolar) -"duH" = (/turf/simulated/floor/airless,/area/solar/forestarboardsolar) -"duI" = (/obj/structure/cable/yellow{d2 = 4; icon_state = "0-4"},/turf/simulated/floor/airless,/area/solar/forestarboardsolar) -"duJ" = (/obj/machinery/power/tracker,/obj/structure/cable/yellow{d2 = 8; icon_state = "0-8"},/turf/simulated/floor/airless,/area/solar/forestarboardsolar) -"duK" = (/obj/structure/cable/yellow{d2 = 2; icon_state = "0-2"},/turf/simulated/floor/airless,/area/solar/foreportsolar) -"duL" = (/obj/machinery/atmospherics/pipe/simple/hidden{dir = 5; icon_state = "intact"; tag = "icon-intact-f (NORTHEAST)"},/obj/effect/wingrille_spawn/reinforced,/turf/simulated/floor/plating,/area/maintenance/solars/foreportsolar) -"duM" = (/obj/machinery/atmospherics/pipe/manifold/hidden,/obj/effect/wingrille_spawn/reinforced,/turf/simulated/floor/plating,/area/maintenance/solars/foreportsolar) -"duN" = (/obj/machinery/atmospherics/pipe/manifold/hidden,/obj/machinery/door/firedoor/border_only,/obj/effect/wingrille_spawn/reinforced,/turf/simulated/floor/plating,/area/maintenance/solars/foreportsolar) -"duO" = (/obj/machinery/atmospherics/portables_connector{dir = 8},/obj/effect/floor_decal/industrial/outline/yellow,/obj/structure/sign/warning/airlock{pixel_y = -32},/obj/machinery/portable_atmospherics/canister/air/airlock,/turf/simulated/floor/plating,/area/maintenance/solars/foreportsolar) -"duP" = (/obj/machinery/power/terminal{dir = 4},/obj/structure/cable/yellow,/obj/effect/floor_decal/industrial/warning{icon_state = "warning"; dir = 8},/obj/machinery/alarm{dir = 1; pixel_y = -22},/obj/structure/table/steel,/obj/item/stack/cable_coil/yellow,/turf/simulated/floor/plating,/area/maintenance/solars/foreportsolar) -"duQ" = (/obj/structure/cable,/obj/machinery/power/smes/buildable{charge = 0; RCon_tag = "Solar - Fore Port"},/turf/simulated/floor/plating,/area/maintenance/solars/foreportsolar) -"duR" = (/obj/machinery/atmospherics/pipe/simple/hidden,/obj/structure/sign/warning/high_voltage{pixel_x = -32; pixel_y = 0},/obj/effect/floor_decal/industrial/warning/corner{icon_state = "warningcorner"; dir = 1},/obj/machinery/camera/network/engineering{c_tag = "ENG - Solar Fore Port Access"; dir = 4},/turf/simulated/floor/plating,/area/maintenance/thirddeck/foreport) -"duS" = (/obj/structure/table/rack,/obj/item/weapon/extinguisher,/obj/item/clothing/head/hardhat/red,/obj/item/clothing/mask/gas,/obj/item/device/flashlight,/obj/item/clothing/glasses/meson,/obj/random/maintenance/cargo,/obj/effect/floor_decal/industrial/warning{icon_state = "warning"; dir = 4},/turf/simulated/floor,/area/maintenance/thirddeck/foreport) -"duT" = (/obj/structure/lattice,/obj/structure/cable{d1 = 32; icon_state = "32-1"},/turf/simulated/open,/area/maintenance/thirddeck/foreport) -"duU" = (/obj/structure/cable/cyan{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor/greengrid,/area/ai) -"duV" = (/obj/effect/floor_decal/industrial/warning/corner{icon_state = "warningcorner"; dir = 1},/turf/simulated/floor/plating,/area/maintenance/thirddeck/forestarboard) -"duW" = (/obj/structure/ladder,/obj/effect/floor_decal/industrial/outline/yellow,/turf/simulated/floor/plating,/area/maintenance/thirddeck/forestarboard) -"duX" = (/obj/machinery/atmospherics/pipe/simple/hidden,/obj/structure/sign/warning/high_voltage{pixel_x = 32; pixel_y = 0},/obj/effect/floor_decal/industrial/warning/corner{icon_state = "warningcorner"; dir = 4},/obj/machinery/camera/network/engineering{c_tag = "ENG - Solar Fore Starboard Access"; dir = 8},/turf/simulated/floor/plating,/area/maintenance/thirddeck/forestarboard) -"duY" = (/obj/structure/cable,/obj/machinery/power/smes/buildable{charge = 0; RCon_tag = "Solar - Fore Starboard"},/turf/simulated/floor/plating,/area/maintenance/solars/forestarboardsolar) -"duZ" = (/obj/machinery/power/terminal{dir = 8},/obj/effect/floor_decal/industrial/warning{icon_state = "warning"; dir = 4},/obj/structure/cable/yellow,/obj/machinery/alarm{dir = 1; pixel_y = -22},/turf/simulated/floor/plating,/area/maintenance/solars/forestarboardsolar) -"dva" = (/obj/effect/floor_decal/industrial/outline/yellow,/obj/machinery/atmospherics/portables_connector{dir = 4},/obj/machinery/portable_atmospherics/canister/air/airlock,/obj/structure/sign/warning/airlock{pixel_y = -32},/turf/simulated/floor/plating,/area/maintenance/solars/forestarboardsolar) -"dvb" = (/obj/machinery/atmospherics/pipe/manifold/hidden,/obj/machinery/door/firedoor/border_only,/obj/effect/wingrille_spawn/reinforced,/turf/simulated/floor/plating,/area/maintenance/solars/forestarboardsolar) -"dvc" = (/obj/machinery/atmospherics/pipe/manifold/hidden,/obj/effect/wingrille_spawn/reinforced,/turf/simulated/floor/plating,/area/maintenance/solars/forestarboardsolar) -"dvd" = (/obj/machinery/atmospherics/pipe/simple/hidden{dir = 9; icon_state = "intact"; tag = "icon-intact-f (NORTHWEST)"},/obj/effect/wingrille_spawn/reinforced,/turf/simulated/floor/plating,/area/maintenance/solars/forestarboardsolar) -"dve" = (/obj/structure/cable/yellow{d2 = 2; icon_state = "0-2"},/turf/simulated/floor/airless,/area/solar/forestarboardsolar) -"dvf" = (/turf/space,/area/ninja_dojo/thirddeck) -"dvg" = (/obj/structure/cable/yellow{d1 = 1; d2 = 8; icon_state = "1-8"},/obj/structure/cable/yellow{d1 = 1; d2 = 4; icon_state = "1-4"},/obj/structure/cable/yellow{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor/airless,/area/solar/foreportsolar) -"dvh" = (/obj/machinery/door/firedoor/border_only,/obj/machinery/door/airlock/maintenance{name = "Maintenance Access"; req_one_access = list(12,19)},/obj/machinery/atmospherics/pipe/simple/hidden,/turf/simulated/floor/plating,/area/maintenance/thirddeck/foreport) -"dvi" = (/turf/simulated/wall,/area/maintenance/thirddeck/foreport) -"dvj" = (/turf/simulated/wall/r_wall,/area/ai/ai_upload) -"dvk" = (/obj/machinery/door/airlock/vault/bolted{name = "AI core"; req_access = list(16)},/obj/machinery/door/blast/regular{id = "AICore"; name = "AI core maintenance hatch"},/obj/structure/cable/cyan{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor/tiled/dark,/area/ai) -"dvl" = (/obj/structure/sign/warning/lethal_turrets,/turf/simulated/wall/r_wall,/area/ai) -"dvm" = (/obj/structure/sign/kiddieplaque,/turf/simulated/wall/r_wall,/area/ai/ai_upload) -"dvn" = (/turf/simulated/wall,/area/maintenance/thirddeck/forestarboard) -"dvo" = (/obj/machinery/door/firedoor/border_only,/obj/machinery/door/airlock/maintenance{name = "Maintenance Access"; req_one_access = list(12,19)},/obj/machinery/atmospherics/pipe/simple/hidden,/turf/simulated/floor/plating,/area/maintenance/thirddeck/forestarboard) -"dvp" = (/obj/structure/cable/yellow{d1 = 1; d2 = 8; icon_state = "1-8"},/obj/structure/cable/yellow{d1 = 1; d2 = 4; icon_state = "1-4"},/obj/structure/cable/yellow{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor/airless,/area/solar/forestarboardsolar) -"dvq" = (/obj/machinery/atmospherics/pipe/simple/hidden,/turf/simulated/floor/plating,/area/maintenance/thirddeck/foreport) -"dvr" = (/obj/structure/table/standard,/obj/item/weapon/aiModule/freeform,/obj/item/weapon/aiModule/protectStation{pixel_x = -3; pixel_y = 2},/obj/structure/window/reinforced{dir = 4; health = 1e+006},/obj/machinery/status_display{pixel_x = 0; pixel_y = 32},/turf/simulated/floor/bluegrid,/area/ai/ai_upload) -"dvs" = (/obj/effect/floor_decal/industrial/outline/grey,/obj/machinery/porta_turret/ai_defense,/turf/simulated/floor/tiled/dark,/area/ai/ai_upload) -"dvt" = (/obj/machinery/atmospherics/unary/vent_pump/on,/turf/simulated/floor/tiled/dark,/area/ai/ai_upload) -"dvu" = (/obj/machinery/computer/aiupload,/turf/simulated/floor/bluegrid,/area/ai/ai_upload) -"dvv" = (/obj/structure/cable/cyan{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/item/device/radio/intercom/locked/ai_private{dir = 1; pixel_x = -36; pixel_y = 21},/obj/machinery/flasher{id = "AI"; pixel_x = -22; pixel_y = 24},/turf/simulated/floor/tiled/dark,/area/ai/ai_upload) -"dvw" = (/obj/machinery/computer/borgupload,/turf/simulated/floor/bluegrid,/area/ai/ai_upload) -"dvx" = (/obj/machinery/atmospherics/unary/vent_scrubber/on,/obj/machinery/camera/network/command{c_tag = "AI - Upload"; dir = 2},/turf/simulated/floor/tiled/dark,/area/ai/ai_upload) -"dvy" = (/obj/structure/table/standard,/obj/item/weapon/aiModule/nanotrasen,/obj/item/weapon/aiModule/reset{pixel_x = 2; pixel_y = 3; pixel_z = 0},/obj/structure/window/reinforced{dir = 8},/obj/machinery/ai_status_display{pixel_y = 32},/turf/simulated/floor/bluegrid,/area/ai/ai_upload) -"dvz" = (/obj/machinery/atmospherics/pipe/simple/hidden,/turf/simulated/floor/plating,/area/maintenance/thirddeck/forestarboard) -"dvA" = (/obj/effect/floor_decal/industrial/warning/corner,/obj/machinery/atmospherics/pipe/simple/hidden,/turf/simulated/floor/plating,/area/maintenance/thirddeck/foreport) -"dvB" = (/obj/effect/floor_decal/industrial/warning,/turf/simulated/floor/plating,/area/maintenance/thirddeck/foreport) -"dvC" = (/obj/structure/cable/cyan{d1 = 2; d2 = 4; icon_state = "2-4"},/turf/simulated/floor/bluegrid,/area/ai/ai_upload) -"dvD" = (/obj/structure/cable/cyan{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor/bluegrid,/area/ai/ai_upload) -"dvE" = (/obj/structure/cable/cyan{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 5},/turf/simulated/floor/tiled/dark,/area/ai/ai_upload) -"dvF" = (/obj/effect/floor_decal/industrial/outline/grey,/obj/structure/cable/cyan{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/turf/simulated/floor/tiled/dark,/area/ai/ai_upload) -"dvG" = (/obj/structure/cable/cyan{d1 = 1; d2 = 8; icon_state = "1-8"},/obj/structure/cable/cyan{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{dir = 8},/obj/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 4},/obj/machinery/ai_slipper{icon_state = "motion0"},/turf/simulated/floor/tiled/dark,/area/ai/ai_upload) -"dvH" = (/obj/effect/floor_decal/industrial/outline/grey,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor/tiled/dark,/area/ai/ai_upload) -"dvI" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 9},/turf/simulated/floor/tiled/dark,/area/ai/ai_upload) -"dvJ" = (/turf/simulated/floor/bluegrid,/area/ai/ai_upload) -"dvK" = (/obj/effect/floor_decal/industrial/warning/corner{icon_state = "warningcorner"; dir = 8},/obj/machinery/atmospherics/pipe/simple/hidden,/turf/simulated/floor/plating,/area/maintenance/thirddeck/forestarboard) -"dvL" = (/obj/machinery/atmospherics/pipe/manifold/hidden{dir = 8; icon_state = "map"; tag = "icon-manifold-f (WEST)"},/obj/effect/floor_decal/industrial/warning{icon_state = "warning"; dir = 4},/turf/simulated/floor/plating,/area/maintenance/thirddeck/foreport) -"dvM" = (/obj/machinery/portable_atmospherics/canister/air/airlock,/obj/effect/floor_decal/industrial/outline/yellow,/obj/machinery/atmospherics/portables_connector{dir = 8},/obj/machinery/alarm{dir = 8; icon_state = "alarm0"; pixel_x = 22},/turf/simulated/floor/plating,/area/maintenance/thirddeck/foreport) -"dvN" = (/obj/machinery/power/apc{dir = 8; name = "west bump"; pixel_x = -24},/obj/machinery/light_switch{pixel_x = -36; pixel_y = 0},/obj/structure/cable/cyan,/turf/simulated/floor/bluegrid,/area/ai/ai_upload) -"dvO" = (/obj/effect/floor_decal/industrial/outline/grey,/obj/machinery/porta_turret/ai_defense,/obj/machinery/light,/turf/simulated/floor/tiled/dark,/area/ai/ai_upload) -"dvP" = (/obj/machinery/hologram/holopad,/obj/effect/floor_decal/industrial/outline/grey,/obj/structure/cable/cyan{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor/tiled/dark,/area/ai/ai_upload) -"dvQ" = (/obj/machinery/alarm{dir = 8; pixel_x = 22; pixel_y = 0},/turf/simulated/floor/bluegrid,/area/ai/ai_upload) -"dvR" = (/obj/machinery/atmospherics/portables_connector{dir = 4},/obj/effect/floor_decal/industrial/outline/yellow,/obj/machinery/alarm{dir = 4; pixel_x = -22; pixel_y = 0},/obj/machinery/portable_atmospherics/canister/air/airlock,/turf/simulated/floor/plating,/area/maintenance/thirddeck/forestarboard) -"dvS" = (/obj/effect/floor_decal/industrial/warning{icon_state = "warning"; dir = 8},/obj/machinery/atmospherics/pipe/manifold/hidden{dir = 4; icon_state = "map"; tag = "icon-manifold-f (EAST)"},/turf/simulated/floor/plating,/area/maintenance/thirddeck/forestarboard) -"dvT" = (/obj/structure/cable/yellow{d1 = 1; d2 = 8; icon_state = "1-8"},/obj/structure/cable/yellow{d1 = 1; d2 = 4; icon_state = "1-4"},/turf/simulated/floor/airless,/area/solar/foreportsolar) -"dvU" = (/obj/machinery/portable_atmospherics/canister/air/airlock,/obj/effect/floor_decal/industrial/outline/yellow,/obj/machinery/atmospherics/portables_connector{dir = 8},/turf/simulated/floor/plating,/area/maintenance/thirddeck/foreport) -"dvV" = (/obj/structure/table/standard,/obj/item/weapon/aiModule/asimov,/obj/item/weapon/aiModule/freeformcore,/obj/machinery/door/window{base_state = "right"; dir = 4; icon_state = "right"; name = "Core Modules"; req_access = list(20)},/obj/item/weapon/aiModule/corp,/obj/item/weapon/aiModule/paladin,/obj/item/weapon/aiModule/robocop,/obj/structure/window/reinforced{dir = 1},/turf/simulated/floor/bluegrid,/area/ai/ai_upload) -"dvW" = (/obj/item/device/radio/intercom{dir = 8; name = "Station Intercom (General)"; pixel_x = -21},/turf/simulated/floor/bluegrid,/area/ai/ai_upload) -"dvX" = (/obj/structure/cable/cyan{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/effect/landmark{name = "lightsout"},/turf/simulated/floor/tiled/dark,/area/ai/ai_upload) -"dvY" = (/obj/item/device/radio/intercom/locked/ai_private{dir = 4; pixel_x = 21},/turf/simulated/floor/bluegrid,/area/ai/ai_upload) -"dvZ" = (/obj/structure/extinguisher_cabinet{pixel_x = -28; pixel_y = 0},/turf/simulated/floor/bluegrid,/area/ai/ai_upload) -"dwa" = (/obj/structure/table/standard,/obj/item/weapon/aiModule/oxygen,/obj/item/weapon/aiModule/oneHuman,/obj/machinery/door/window{base_state = "left"; dir = 8; icon_state = "left"; name = "High-Risk Modules"; req_access = list(20)},/obj/item/weapon/aiModule/purge,/obj/item/weapon/aiModule/antimov,/obj/item/weapon/aiModule/teleporterOffline,/obj/structure/window/reinforced{dir = 1},/turf/simulated/floor/bluegrid,/area/ai/ai_upload) -"dwb" = (/obj/machinery/atmospherics/portables_connector{dir = 4},/obj/effect/floor_decal/industrial/outline/yellow,/obj/machinery/portable_atmospherics/canister/air/airlock,/turf/simulated/floor/plating,/area/maintenance/thirddeck/forestarboard) -"dwc" = (/obj/structure/cable/yellow{d1 = 1; d2 = 8; icon_state = "1-8"},/obj/structure/cable/yellow{d1 = 1; d2 = 4; icon_state = "1-4"},/turf/simulated/floor/airless,/area/solar/forestarboardsolar) -"dwd" = (/obj/machinery/atmospherics/pipe/manifold/hidden{dir = 8; icon_state = "map"; tag = "icon-manifold-f (WEST)"},/obj/effect/floor_decal/industrial/warning/corner{icon_state = "warningcorner"; dir = 4},/obj/machinery/meter,/turf/simulated/floor/plating,/area/maintenance/thirddeck/foreport) -"dwe" = (/obj/machinery/atmospherics/pipe/simple/hidden{dir = 10; icon_state = "intact"; tag = "icon-intact-f (SOUTHWEST)"},/obj/effect/floor_decal/industrial/warning{icon_state = "warning"; dir = 1},/obj/machinery/floodlight,/turf/simulated/floor/plating,/area/maintenance/thirddeck/foreport) -"dwf" = (/obj/machinery/door/firedoor/border_only,/obj/effect/wingrille_spawn/reinforced,/turf/simulated/floor/plating,/area/maintenance/thirddeck/foreport) -"dwg" = (/turf/simulated/wall/r_wall,/area/ai/ai_server_room) -"dwh" = (/obj/machinery/ai_status_display,/turf/simulated/wall/r_wall,/area/ai/ai_server_room) -"dwi" = (/obj/machinery/door/firedoor/border_only,/obj/structure/cable/cyan{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/door/airlock/highsecurity{name = "AI Upload"; req_access = list(16)},/turf/simulated/floor/tiled/dark,/area/ai/ai_upload) -"dwj" = (/turf/simulated/wall/r_wall,/area/ai/ai_cyborg_station) -"dwk" = (/obj/machinery/status_display,/turf/simulated/wall/r_wall,/area/ai/ai_cyborg_station) -"dwl" = (/obj/machinery/door/firedoor/border_only,/obj/effect/wingrille_spawn/reinforced,/turf/simulated/floor/plating,/area/maintenance/thirddeck/forestarboard) -"dwm" = (/obj/effect/floor_decal/industrial/warning{icon_state = "warning"; dir = 1},/obj/machinery/atmospherics/pipe/simple/hidden{dir = 6},/obj/structure/closet/crate,/obj/random/powercell,/obj/random/powercell,/obj/random/powercell,/obj/random/toolbox,/obj/random/maintenance/clean,/obj/random/maintenance/clean,/turf/simulated/floor/plating,/area/maintenance/thirddeck/forestarboard) -"dwn" = (/obj/effect/floor_decal/industrial/warning/corner{icon_state = "warningcorner"; dir = 1},/obj/machinery/atmospherics/pipe/manifold/hidden{dir = 4; icon_state = "map"; tag = "icon-manifold-f (EAST)"},/obj/machinery/meter,/turf/simulated/floor/plating,/area/maintenance/thirddeck/forestarboard) -"dwo" = (/obj/machinery/power/apc{dir = 8; name = "west bump"; pixel_x = -24},/obj/structure/cable/green{d2 = 2; icon_state = "0-2"},/obj/machinery/atmospherics/pipe/simple/hidden,/turf/simulated/floor/plating,/area/maintenance/thirddeck/foreport) -"dwp" = (/obj/machinery/atmospherics/binary/pump/on{dir = 1; target_pressure = 200},/obj/structure/table/rack,/obj/item/weapon/storage/toolbox/mechanical,/obj/item/weapon/storage/belt/utility,/obj/random/maintenance/security,/obj/random/maintenance/security,/obj/random/maintenance/security,/turf/simulated/floor/plating,/area/maintenance/thirddeck/foreport) -"dwq" = (/obj/machinery/message_server,/obj/machinery/camera/network/command{c_tag = "AI - Messaging Server"; dir = 4},/turf/simulated/floor/bluegrid,/area/ai/ai_server_room) -"dwr" = (/obj/machinery/light{dir = 1},/turf/simulated/floor/bluegrid,/area/ai/ai_server_room) -"dws" = (/obj/machinery/blackbox_recorder,/turf/simulated/floor/bluegrid,/area/ai/ai_server_room) -"dwt" = (/obj/effect/floor_decal/industrial/warning{dir = 9},/obj/item/device/radio/intercom/locked/ai_private{dir = 1; pixel_y = 21},/obj/machinery/alarm{dir = 4; icon_state = "alarm0"; pixel_x = -22; pixel_y = 0},/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 4},/obj/machinery/camera/network/command{c_tag = "AI - Upload Foyer"; dir = 2},/turf/simulated/floor/tiled/dark,/area/ai/ai_upload_foyer) -"dwu" = (/obj/effect/floor_decal/industrial/warning{dir = 1},/obj/structure/cable/cyan{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{dir = 4},/obj/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 8},/turf/simulated/floor/tiled/dark,/area/ai/ai_upload_foyer) -"dwv" = (/obj/effect/floor_decal/industrial/warning{icon_state = "warning"; dir = 5},/obj/machinery/turretid/stun{control_area = "\improper AI Upload Chamber"; name = "AI Upload turret control"; pixel_x = 0; pixel_y = 24},/obj/machinery/power/apc{dir = 4; name = "east bump"; pixel_x = 24},/obj/machinery/light_switch{dir = 2; name = "light switch "; pixel_x = 36; pixel_y = 0},/obj/structure/cable/cyan{d2 = 2; icon_state = "0-2"},/obj/machinery/atmospherics/unary/vent_pump/on{dir = 8},/obj/machinery/flasher{id = "AIFoyer"; pixel_x = 0; pixel_y = 36},/turf/simulated/floor/tiled/dark,/area/ai/ai_upload_foyer) -"dww" = (/obj/machinery/recharge_station,/turf/simulated/floor/bluegrid,/area/ai/ai_cyborg_station) -"dwx" = (/obj/machinery/recharge_station,/obj/machinery/light{dir = 1},/turf/simulated/floor/bluegrid,/area/ai/ai_cyborg_station) -"dwy" = (/obj/structure/table/standard,/obj/item/weapon/phone,/obj/machinery/camera/network/command{c_tag = "AI - Cyborg Station"; dir = 8},/turf/simulated/floor/bluegrid,/area/ai/ai_cyborg_station) -"dwz" = (/obj/machinery/atmospherics/binary/pump/on{dir = 1; target_pressure = 200},/obj/structure/largecrate,/obj/random/maintenance/clean,/obj/random/maintenance/clean,/turf/simulated/floor/plating,/area/maintenance/thirddeck/forestarboard) -"dwA" = (/obj/machinery/power/apc{dir = 4; name = "east bump"; pixel_x = 24},/obj/structure/cable/green{d2 = 2; icon_state = "0-2"},/obj/machinery/atmospherics/pipe/simple/hidden,/turf/simulated/floor/plating,/area/maintenance/thirddeck/forestarboard) -"dwB" = (/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/simple/hidden,/turf/simulated/floor/plating,/area/maintenance/thirddeck/foreport) -"dwC" = (/obj/machinery/atmospherics/pipe/simple/visible/universal,/obj/structure/table/rack{dir = 1},/obj/random/maintenance/engineering,/obj/random/maintenance/engineering,/obj/random/maintenance/clean,/obj/random/maintenance/clean,/turf/simulated/floor/plating,/area/maintenance/thirddeck/foreport) -"dwD" = (/obj/machinery/computer/message_monitor,/obj/machinery/firealarm{dir = 8; pixel_x = -24},/turf/simulated/floor/bluegrid,/area/ai/ai_server_room) -"dwE" = (/obj/structure/bed/chair/office/light{dir = 8},/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 4},/turf/simulated/floor/tiled/dark,/area/ai/ai_server_room) -"dwF" = (/obj/machinery/hologram/holopad,/obj/effect/floor_decal/industrial/outline/grey,/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 6},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor/tiled/dark,/area/ai/ai_server_room) -"dwG" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/structure/cable/cyan{d1 = 2; d2 = 4; icon_state = "2-4"},/turf/simulated/floor/tiled/dark,/area/ai/ai_server_room) -"dwH" = (/obj/machinery/door/firedoor/border_only,/obj/structure/cable/cyan{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/door/airlock/highsecurity{name = "Messaging Server"; req_access = list(16)},/turf/simulated/floor/tiled/dark,/area/ai/ai_server_room) -"dwI" = (/obj/effect/floor_decal/industrial/warning{dir = 10},/obj/machinery/firealarm{dir = 1; pixel_y = -24},/obj/structure/cable/cyan{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/turf/simulated/floor/tiled/dark,/area/ai/ai_upload_foyer) -"dwJ" = (/obj/effect/floor_decal/industrial/warning,/obj/machinery/hologram/holopad,/obj/structure/cable/cyan{d1 = 1; d2 = 4; icon_state = "1-4"},/obj/structure/cable/cyan{d1 = 1; d2 = 8; icon_state = "1-8"},/obj/machinery/atmospherics/pipe/manifold4w/hidden/scrubbers,/obj/machinery/atmospherics/pipe/manifold4w/hidden/supply,/turf/simulated/floor/tiled/dark,/area/ai/ai_upload_foyer) -"dwK" = (/obj/effect/floor_decal/industrial/warning{dir = 6},/obj/structure/cable/cyan{d1 = 1; d2 = 8; icon_state = "1-8"},/obj/structure/cable/cyan{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/light,/turf/simulated/floor/tiled/dark,/area/ai/ai_upload_foyer) -"dwL" = (/obj/machinery/door/firedoor/border_only,/obj/structure/cable/cyan{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/door/airlock/highsecurity{name = "Synthetic Storage Access"; req_access = list(16)},/turf/simulated/floor/tiled/dark,/area/ai/ai_cyborg_station) -"dwM" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/structure/cable/cyan{d1 = 2; d2 = 8; icon_state = "2-8"},/obj/effect/landmark/start{name = "Cyborg"},/turf/simulated/floor/tiled/dark,/area/ai/ai_cyborg_station) -"dwN" = (/obj/machinery/hologram/holopad,/obj/effect/floor_decal/industrial/outline/grey,/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 10},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/effect/landmark/start{name = "Cyborg"},/turf/simulated/floor/tiled/dark,/area/ai/ai_cyborg_station) -"dwO" = (/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 8},/obj/structure/bed/chair/office/light{dir = 4},/obj/effect/landmark{name = "JoinLateCyborg"},/turf/simulated/floor/tiled/dark,/area/ai/ai_cyborg_station) -"dwP" = (/obj/machinery/computer/aifixer,/obj/machinery/firealarm{dir = 4; pixel_x = 24},/turf/simulated/floor/bluegrid,/area/ai/ai_cyborg_station) -"dwQ" = (/obj/machinery/atmospherics/pipe/simple/visible/universal,/obj/structure/largecrate,/obj/random/maintenance/clean,/obj/random/maintenance/clean,/turf/simulated/floor/plating,/area/maintenance/thirddeck/forestarboard) -"dwR" = (/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/simple/hidden,/turf/simulated/floor/plating,/area/maintenance/thirddeck/forestarboard) -"dwS" = (/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 6},/obj/machinery/atmospherics/pipe/simple/hidden,/turf/simulated/floor/plating,/area/maintenance/thirddeck/foreport) -"dwT" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 9; pixel_y = 0},/obj/machinery/meter,/turf/simulated/floor/plating,/area/maintenance/thirddeck/foreport) -"dwU" = (/turf/simulated/wall/r_wall,/area/crew_quarters/heads/sc/hop/quarters) -"dwV" = (/obj/machinery/door/firedoor/border_only,/obj/effect/wingrille_spawn/reinforced,/turf/simulated/floor/plating,/area/crew_quarters/heads/sc/hop/quarters) -"dwW" = (/obj/machinery/door/firedoor/glass,/obj/effect/wingrille_spawn/reinforced,/turf/simulated/floor/plating,/area/crew_quarters/heads/sc/hop/quarters) -"dwX" = (/turf/simulated/wall/r_wall,/area/maintenance/substation/command) -"dwY" = (/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/wall/r_wall,/area/maintenance/substation/command) -"dwZ" = (/obj/structure/closet/crate{name = "Camera Assembly Crate"},/obj/item/weapon/camera_assembly,/obj/item/weapon/camera_assembly,/obj/item/weapon/camera_assembly,/obj/item/weapon/camera_assembly,/turf/simulated/floor/bluegrid,/area/ai/ai_server_room) -"dxa" = (/obj/item/device/radio/intercom{name = "Station Intercom (General)"; pixel_y = -21},/turf/simulated/floor/tiled/dark,/area/ai/ai_server_room) -"dxb" = (/obj/machinery/atmospherics/unary/vent_pump/on{dir = 1},/obj/machinery/alarm{dir = 1; icon_state = "alarm0"; pixel_y = -22},/turf/simulated/floor/tiled/dark,/area/ai/ai_server_room) -"dxc" = (/obj/machinery/power/apc{dir = 4; name = "east bump"; pixel_x = 24},/obj/machinery/light_switch{pixel_x = 36; pixel_y = 0},/obj/structure/cable/cyan,/turf/simulated/floor/tiled/dark,/area/ai/ai_server_room) -"dxd" = (/turf/simulated/wall/r_wall,/area/ai/ai_upload_foyer) -"dxe" = (/obj/machinery/door/firedoor/border_only,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/door/airlock/highsecurity{name = "AI Upload Access"; req_access = list(16)},/turf/simulated/floor/tiled/dark,/area/ai/ai_upload_foyer) -"dxf" = (/obj/machinery/power/apc{dir = 8; name = "west bump"; pixel_x = -24},/obj/machinery/light_switch{pixel_x = -36; pixel_y = 0},/obj/structure/cable/cyan,/turf/simulated/floor/tiled/dark,/area/ai/ai_cyborg_station) -"dxg" = (/obj/machinery/atmospherics/unary/vent_pump/on{dir = 1},/obj/machinery/alarm{dir = 1; icon_state = "alarm0"; pixel_y = -22},/turf/simulated/floor/tiled/dark,/area/ai/ai_cyborg_station) -"dxh" = (/obj/effect/landmark{name = "JoinLateCyborg"},/obj/item/device/radio/intercom{name = "Station Intercom (General)"; pixel_y = -21},/turf/simulated/floor/tiled/dark,/area/ai/ai_cyborg_station) -"dxi" = (/obj/machinery/cryopod/robot{dir = 4},/turf/simulated/floor/bluegrid,/area/ai/ai_cyborg_station) -"dxj" = (/turf/simulated/wall/r_wall,/area/crew_quarters/heads/sc/cmo/quarters) -"dxk" = (/obj/machinery/door/firedoor/border_only,/obj/effect/wingrille_spawn/reinforced,/turf/simulated/floor/plating,/area/crew_quarters/heads/sc/cmo/quarters) -"dxl" = (/obj/machinery/door/firedoor/glass,/obj/effect/wingrille_spawn/reinforced,/turf/simulated/floor/plating,/area/crew_quarters/heads/sc/cmo/quarters) -"dxm" = (/obj/machinery/door/firedoor/border_only,/obj/effect/wingrille_spawn/reinforced,/turf/simulated/floor/plating,/area/crew_quarters/heads/sc/hor/quarters) -"dxn" = (/obj/machinery/door/firedoor/glass,/obj/effect/wingrille_spawn/reinforced,/turf/simulated/floor/plating,/area/crew_quarters/heads/sc/hor/quarters) -"dxo" = (/turf/simulated/wall/r_wall,/area/crew_quarters/heads/sc/hor/quarters) -"dxp" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 5},/obj/machinery/meter,/turf/simulated/floor/plating,/area/maintenance/thirddeck/forestarboard) -"dxq" = (/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/simple/hidden,/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 10},/turf/simulated/floor/plating,/area/maintenance/thirddeck/forestarboard) -"dxr" = (/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden,/obj/machinery/light/small{dir = 8},/turf/simulated/floor/plating,/area/maintenance/thirddeck/foreport) -"dxs" = (/obj/structure/closet/secure_closet/hop2,/turf/simulated/floor/carpet,/area/crew_quarters/heads/sc/hop/quarters) -"dxt" = (/obj/structure/table/standard,/obj/machinery/atmospherics/unary/vent_pump/on,/turf/simulated/floor/carpet,/area/crew_quarters/heads/sc/hop/quarters) -"dxu" = (/obj/structure/table/standard,/obj/item/device/flashlight/lamp/green,/obj/item/device/radio/intercom{dir = 4; name = "Station Intercom (General)"; pixel_x = 21},/turf/simulated/floor/carpet,/area/crew_quarters/heads/sc/hop/quarters) -"dxv" = (/turf/simulated/wall,/area/maintenance/substation/command) -"dxw" = (/obj/structure/cable/green{d2 = 4; icon_state = "0-4"},/obj/structure/cable/green{d2 = 2; icon_state = "0-2"},/obj/machinery/power/apc{dir = 8; name = "west bump"; pixel_x = -24},/obj/structure/table/steel,/obj/machinery/cell_charger,/obj/structure/disposalpipe/segment{dir = 4; icon_state = "pipe-c"},/turf/simulated/floor,/area/maintenance/substation/command) -"dxx" = (/obj/structure/cable/green{d1 = 1; d2 = 8; icon_state = "1-8"},/obj/structure/disposalpipe/segment{dir = 4},/obj/effect/floor_decal/industrial/warning{icon_state = "warning"; dir = 4},/turf/simulated/floor,/area/maintenance/substation/command) -"dxy" = (/obj/structure/lattice,/obj/machinery/atmospherics/pipe/zpipe/down/scrubbers,/obj/machinery/atmospherics/pipe/zpipe/down/supply,/obj/structure/disposalpipe/down{dir = 8},/obj/structure/cable{d1 = 32; d2 = 2; icon_state = "32-2"},/turf/simulated/open,/area/maintenance/substation/command) -"dxz" = (/obj/machinery/status_display,/turf/simulated/wall/r_wall,/area/ai/ai_server_room) -"dxA" = (/obj/structure/sign/warning/secure_area,/turf/simulated/wall/r_wall,/area/ai/ai_server_room) -"dxB" = (/obj/effect/floor_decal/industrial/warning/corner{dir = 4},/turf/simulated/floor/tiled/dark,/area/hallway/primary/thirddeck/central) -"dxC" = (/obj/effect/floor_decal/industrial/warning{icon_state = "warning"; dir = 1},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor/tiled/dark,/area/hallway/primary/thirddeck/central) -"dxD" = (/obj/effect/floor_decal/industrial/warning/corner{dir = 1},/turf/simulated/floor/tiled/dark,/area/hallway/primary/thirddeck/central) -"dxE" = (/obj/structure/sign/warning/lethal_turrets,/turf/simulated/wall/r_wall,/area/ai/ai_cyborg_station) -"dxF" = (/obj/machinery/ai_status_display,/turf/simulated/wall/r_wall,/area/ai/ai_cyborg_station) -"dxG" = (/obj/structure/closet/secure_closet/CMO/wardrobe,/turf/simulated/floor/carpet/blue,/area/crew_quarters/heads/sc/cmo/quarters) -"dxH" = (/obj/structure/table/standard,/obj/machinery/atmospherics/unary/vent_pump/on,/turf/simulated/floor/carpet/blue,/area/crew_quarters/heads/sc/cmo/quarters) -"dxI" = (/obj/structure/table/standard,/obj/item/device/flashlight/lamp/green,/obj/item/device/radio/intercom{dir = 4; name = "Station Intercom (General)"; pixel_x = 21},/turf/simulated/floor/carpet/blue,/area/crew_quarters/heads/sc/cmo/quarters) -"dxJ" = (/turf/simulated/wall,/area/crew_quarters/heads/sc/cmo/quarters) -"dxK" = (/obj/structure/table/standard,/obj/item/device/flashlight/lamp/green,/obj/item/device/radio/intercom{dir = 8; name = "Station Intercom (General)"; pixel_x = -21},/turf/simulated/floor/carpet,/area/crew_quarters/heads/sc/hor/quarters) -"dxL" = (/obj/structure/table/standard,/obj/machinery/atmospherics/unary/vent_pump/on,/turf/simulated/floor/carpet,/area/crew_quarters/heads/sc/hor/quarters) -"dxM" = (/obj/structure/closet/secure_closet/RD/wardrobe,/turf/simulated/floor/carpet,/area/crew_quarters/heads/sc/hor/quarters) -"dxN" = (/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/light/small{dir = 4; pixel_y = 0},/obj/machinery/atmospherics/pipe/simple/hidden,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor/plating,/area/maintenance/thirddeck/forestarboard) -"dxO" = (/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden,/turf/simulated/floor/plating,/area/maintenance/thirddeck/foreport) -"dxP" = (/obj/structure/closet,/obj/item/weapon/storage/backpack,/obj/random/maintenance/clean,/obj/random/maintenance/cargo,/turf/simulated/floor/plating,/area/maintenance/thirddeck/foreport) -"dxQ" = (/obj/structure/cable/green{d2 = 4; icon_state = "0-4"},/obj/machinery/power/apc{dir = 8; name = "west bump"; pixel_x = -24},/obj/machinery/light_switch{pixel_x = -36; pixel_y = -6},/obj/machinery/button/windowtint{id = "hopquarters"; pixel_x = -36; pixel_y = 6},/turf/simulated/floor/carpet,/area/crew_quarters/heads/sc/hop/quarters) -"dxR" = (/obj/structure/bed/chair/office/dark{dir = 1},/obj/structure/cable/green{d1 = 2; d2 = 8; icon_state = "2-8"},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor/carpet,/area/crew_quarters/heads/sc/hop/quarters) -"dxS" = (/obj/structure/table/standard,/obj/machinery/light{dir = 4; icon_state = "tube1"},/obj/item/weapon/paper_bin{pixel_x = -3; pixel_y = 7},/obj/item/weapon/folder/blue_hop,/obj/item/weapon/pen/multi,/obj/machinery/computer/security/telescreen/entertainment{icon_state = "frame"; pixel_x = 32; pixel_y = 0},/turf/simulated/floor/carpet,/area/crew_quarters/heads/sc/hop/quarters) -"dxT" = (/obj/structure/cable/green{d2 = 2; icon_state = "0-2"},/obj/structure/cable/green,/obj/machinery/power/sensor{name = "Powernet Sensor - Command Subgrid"; name_tag = "Command Subgrid"},/obj/machinery/light/small{dir = 8},/obj/structure/disposalpipe/segment,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 6},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 6},/obj/effect/floor_decal/industrial/warning/corner,/turf/simulated/floor,/area/maintenance/substation/command) -"dxU" = (/obj/structure/cable{icon_state = "0-4"; d2 = 4},/obj/machinery/power/terminal,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/effect/floor_decal/industrial/warning,/obj/effect/floor_decal/industrial/warning/corner{icon_state = "warningcorner"; dir = 4},/turf/simulated/floor,/area/maintenance/substation/command) -"dxV" = (/obj/structure/cable{d1 = 1; d2 = 8; icon_state = "1-8"},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 9},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 9; pixel_y = 0},/obj/machinery/alarm{dir = 8; pixel_x = 22; pixel_y = 0},/obj/effect/floor_decal/industrial/warning,/obj/effect/floor_decal/industrial/warning{icon_state = "warning"; dir = 1},/turf/simulated/floor,/area/maintenance/substation/command) -"dxW" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 6},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 6},/turf/simulated/floor/tiled,/area/hallway/primary/thirddeck/central) -"dxX" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/turf/simulated/floor/tiled,/area/hallway/primary/thirddeck/central) -"dxY" = (/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{dir = 1},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/turf/simulated/floor/tiled,/area/hallway/primary/thirddeck/central) -"dxZ" = (/obj/machinery/hologram/holopad,/obj/effect/floor_decal/industrial/outline/grey,/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers,/obj/machinery/atmospherics/pipe/manifold/hidden/supply,/turf/simulated/floor/tiled,/area/hallway/primary/thirddeck/central) -"dya" = (/obj/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 1},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor/tiled,/area/hallway/primary/thirddeck/central) -"dyb" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 10},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 10},/turf/simulated/floor/tiled,/area/hallway/primary/thirddeck/central) -"dyc" = (/obj/structure/cable/green{d2 = 4; icon_state = "0-4"},/obj/machinery/power/apc{dir = 8; name = "west bump"; pixel_x = -24},/obj/machinery/light_switch{pixel_x = -36; pixel_y = -6},/obj/machinery/button/windowtint{id = "cmoquarters"; pixel_x = -36; pixel_y = 6},/turf/simulated/floor/carpet/blue,/area/crew_quarters/heads/sc/cmo/quarters) -"dyd" = (/obj/structure/bed/chair/office/dark{dir = 1},/obj/structure/cable/green{d1 = 2; d2 = 8; icon_state = "2-8"},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor/carpet/blue,/area/crew_quarters/heads/sc/cmo/quarters) -"dye" = (/obj/structure/table/standard,/obj/machinery/light{dir = 4; icon_state = "tube1"},/obj/item/weapon/paper_bin{pixel_x = -3; pixel_y = 7},/obj/item/weapon/folder/white_cmo,/obj/item/weapon/pen/multi,/obj/machinery/computer/security/telescreen/entertainment{icon_state = "frame"; pixel_x = 32; pixel_y = 0},/turf/simulated/floor/carpet/blue,/area/crew_quarters/heads/sc/cmo/quarters) -"dyf" = (/obj/structure/table/standard,/obj/machinery/light{icon_state = "tube1"; dir = 8},/obj/item/weapon/paper_bin{pixel_x = -3; pixel_y = 7},/obj/item/weapon/folder/white_rd,/obj/item/weapon/pen/multi,/obj/machinery/computer/security/telescreen/entertainment{icon_state = "frame"; pixel_x = -32; pixel_y = 0},/turf/simulated/floor/carpet,/area/crew_quarters/heads/sc/hor/quarters) -"dyg" = (/obj/structure/bed/chair/office/dark{dir = 1},/obj/structure/cable/green{d1 = 2; d2 = 4; icon_state = "2-4"},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor/carpet,/area/crew_quarters/heads/sc/hor/quarters) -"dyh" = (/obj/machinery/power/apc{dir = 4; name = "east bump"; pixel_x = 24},/obj/structure/cable/green{d2 = 8; icon_state = "0-8"},/obj/machinery/light_switch{pixel_x = 36; pixel_y = -6},/obj/machinery/button/windowtint{id = "rdquarters"; pixel_x = 36; pixel_y = 6},/turf/simulated/floor/carpet,/area/crew_quarters/heads/sc/hor/quarters) -"dyi" = (/obj/structure/closet/crate,/obj/item/clothing/mask/gas,/obj/item/device/flashlight,/obj/item/device/flashlight,/obj/effect/decal/cleanable/dirt,/obj/random/maintenance/research,/obj/random/maintenance/research,/obj/random/maintenance/cargo,/obj/random/maintenance/cargo,/turf/simulated/floor/plating,/area/maintenance/thirddeck/forestarboard) -"dyj" = (/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/simple/hidden,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor/plating,/area/maintenance/thirddeck/forestarboard) -"dyk" = (/obj/machinery/door/firedoor/border_only,/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/door/airlock/maintenance{name = "Maintenance Access"; req_one_access = list(12,19)},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden,/turf/simulated/floor/plating,/area/maintenance/thirddeck/foreport) -"dyl" = (/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 4},/obj/machinery/alarm{dir = 4; pixel_x = -22; pixel_y = 0},/turf/simulated/floor/carpet,/area/crew_quarters/heads/sc/hop/quarters) -"dym" = (/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 10},/turf/simulated/floor/carpet,/area/crew_quarters/heads/sc/hop/quarters) -"dyn" = (/obj/structure/bed/padded,/obj/item/weapon/bedsheet/hop,/obj/machinery/firealarm{dir = 4; pixel_x = 24},/turf/simulated/floor/carpet,/area/crew_quarters/heads/sc/hop/quarters) -"dyo" = (/obj/structure/cable/green{d1 = 1; d2 = 4; icon_state = "1-4"},/obj/structure/cable/green{d1 = 2; d2 = 4; icon_state = "2-4"},/obj/structure/disposalpipe/segment,/obj/machinery/firealarm{dir = 8; pixel_x = -24},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/effect/floor_decal/industrial/warning{icon_state = "warning"; dir = 4},/turf/simulated/floor,/area/maintenance/substation/command) -"dyp" = (/obj/structure/cable/green{d2 = 4; icon_state = "0-4"},/obj/structure/cable/green{d2 = 8; icon_state = "0-8"},/obj/machinery/power/smes/buildable{charge = 0; RCon_tag = "Substation - Command"},/turf/simulated/floor,/area/maintenance/substation/command) -"dyq" = (/obj/machinery/power/breakerbox/activated{RCon_tag = "Command Substation Bypass"},/turf/simulated/floor,/area/maintenance/substation/command) -"dyr" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor/tiled,/area/hallway/primary/thirddeck/central) -"dys" = (/turf/simulated/floor/tiled,/area/hallway/primary/thirddeck/central) -"dyt" = (/obj/effect/floor_decal/corner/blue,/turf/simulated/floor/tiled,/area/hallway/primary/thirddeck/central) -"dyu" = (/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 1},/obj/effect/floor_decal/corner/blue{dir = 10},/obj/machinery/light,/turf/simulated/floor/tiled,/area/hallway/primary/thirddeck/central) -"dyv" = (/obj/effect/floor_decal/corner/blue{dir = 10},/turf/simulated/floor/tiled,/area/hallway/primary/thirddeck/central) -"dyw" = (/obj/effect/floor_decal/corner/blue{dir = 10},/obj/machinery/camera/network/third_deck{c_tag = "Third Deck - Central Fore"; dir = 1},/turf/simulated/floor/tiled,/area/hallway/primary/thirddeck/central) -"dyx" = (/obj/machinery/firealarm{dir = 1; pixel_y = -24},/obj/effect/floor_decal/corner/blue{dir = 10},/turf/simulated/floor/tiled,/area/hallway/primary/thirddeck/central) -"dyy" = (/obj/machinery/atmospherics/unary/vent_pump/on{dir = 1},/obj/effect/floor_decal/corner/blue{dir = 10},/obj/machinery/light,/turf/simulated/floor/tiled,/area/hallway/primary/thirddeck/central) -"dyz" = (/obj/effect/floor_decal/corner/blue{dir = 8},/turf/simulated/floor/tiled,/area/hallway/primary/thirddeck/central) -"dyA" = (/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 4},/obj/machinery/alarm{dir = 4; pixel_x = -22; pixel_y = 0},/turf/simulated/floor/carpet/blue,/area/crew_quarters/heads/sc/cmo/quarters) -"dyB" = (/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 10},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor/carpet/blue,/area/crew_quarters/heads/sc/cmo/quarters) -"dyC" = (/obj/structure/bed/padded,/obj/item/weapon/bedsheet/medical,/obj/machinery/firealarm{dir = 4; pixel_x = 24},/turf/simulated/floor/carpet/blue,/area/crew_quarters/heads/sc/cmo/quarters) -"dyD" = (/obj/structure/bed/padded,/obj/item/weapon/bedsheet/rd,/obj/machinery/firealarm{dir = 8; pixel_x = -24},/turf/simulated/floor/carpet,/area/crew_quarters/heads/sc/hor/quarters) -"dyE" = (/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 6},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor/carpet,/area/crew_quarters/heads/sc/hor/quarters) -"dyF" = (/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 8},/obj/machinery/alarm{dir = 8; pixel_x = 22; pixel_y = 0},/turf/simulated/floor/carpet,/area/crew_quarters/heads/sc/hor/quarters) -"dyG" = (/obj/machinery/door/firedoor/border_only,/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/door/airlock/maintenance{name = "Maintenance Access"; req_one_access = list(12,19)},/obj/machinery/atmospherics/pipe/simple/hidden,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor/plating,/area/maintenance/thirddeck/forestarboard) -"dyH" = (/turf/simulated/wall/r_wall,/area/hallway/primary/thirddeck/port) -"dyI" = (/obj/machinery/atmospherics/pipe/simple/hidden{dir = 6},/turf/simulated/wall/r_wall,/area/hallway/primary/thirddeck/port) -"dyJ" = (/obj/machinery/atmospherics/pipe/manifold/hidden{dir = 1; icon_state = "map"; tag = "icon-manifold-f (NORTH)"},/turf/simulated/wall/r_wall,/area/hallway/primary/thirddeck/port) -"dyK" = (/obj/machinery/atmospherics/pipe/simple/hidden{dir = 4},/turf/simulated/wall/r_wall,/area/hallway/primary/thirddeck/port) -"dyL" = (/obj/machinery/firealarm{pixel_y = 24},/obj/effect/floor_decal/industrial/warning/corner{dir = 8},/obj/machinery/atmospherics/pipe/simple/hidden{dir = 4},/turf/simulated/floor/tiled,/area/hallway/primary/thirddeck/port) -"dyM" = (/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/manifold/hidden{dir = 4; icon_state = "map"; tag = "icon-manifold-f (EAST)"},/turf/simulated/floor/tiled,/area/hallway/primary/thirddeck/port) -"dyN" = (/obj/machinery/atmospherics/unary/vent_scrubber/on,/turf/simulated/floor/tiled,/area/hallway/primary/thirddeck/port) -"dyO" = (/obj/machinery/ai_status_display,/turf/simulated/wall/r_wall,/area/hallway/primary/thirddeck/port) -"dyP" = (/obj/machinery/door/firedoor/border_only,/obj/effect/wingrille_spawn/reinforced,/turf/simulated/floor/plating,/area/hallway/primary/thirddeck/port) -"dyQ" = (/obj/machinery/door/firedoor/border_only,/obj/effect/wingrille_spawn/reinforced/polarized{id = "hopquarters"},/turf/simulated/floor/plating,/area/crew_quarters/heads/sc/hop/quarters) -"dyR" = (/obj/machinery/door/firedoor/border_only,/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/door/airlock/command{name = "Head of Personnel Quarters"; req_access = list(57)},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor/carpet,/area/crew_quarters/heads/sc/hop/quarters) -"dyS" = (/turf/simulated/wall,/area/crew_quarters/heads/sc/hop/quarters) -"dyT" = (/obj/machinery/door/firedoor/border_only,/obj/structure/disposalpipe/segment,/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/door/airlock/engineering{name = "Command Substation"; req_one_access = list(11,19,24,47)},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor,/area/maintenance/substation/command) -"dyU" = (/obj/machinery/ai_status_display,/turf/simulated/wall/r_wall,/area/maintenance/substation/command) -"dyV" = (/turf/simulated/wall/r_wall,/area/hallway/primary/thirddeck/central) -"dyW" = (/obj/machinery/status_display,/turf/simulated/wall/r_wall,/area/crew_quarters/heads/sc/cmo/quarters) -"dyX" = (/obj/machinery/door/firedoor/border_only,/obj/effect/wingrille_spawn/reinforced/polarized{id = "cmoquarters"},/turf/simulated/floor/plating,/area/crew_quarters/heads/sc/cmo/quarters) -"dyY" = (/obj/machinery/door/firedoor/border_only,/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/door/airlock/command{id_tag = null; name = "CMO's Quarters"; req_access = list(40)},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor/carpet/blue,/area/crew_quarters/heads/sc/cmo/quarters) -"dyZ" = (/turf/simulated/wall,/area/crew_quarters/heads/sc/hor/quarters) -"dza" = (/obj/machinery/door/firedoor/border_only,/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/door/airlock/command{id_tag = null; name = "Research Director Quarters"; req_access = list(30)},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor/carpet,/area/crew_quarters/heads/sc/hor/quarters) -"dzb" = (/obj/machinery/door/firedoor/border_only,/obj/effect/wingrille_spawn/reinforced/polarized{id = "rdquarters"},/turf/simulated/floor/plating,/area/crew_quarters/heads/sc/hor/quarters) -"dzc" = (/obj/machinery/door/firedoor/border_only,/obj/effect/wingrille_spawn/reinforced,/turf/simulated/floor/plating,/area/hallway/primary/thirddeck/starboard) -"dzd" = (/obj/machinery/ai_status_display,/turf/simulated/wall/r_wall,/area/hallway/primary/thirddeck/starboard) -"dze" = (/obj/machinery/atmospherics/unary/vent_scrubber/on,/turf/simulated/floor/tiled,/area/hallway/primary/thirddeck/starboard) -"dzf" = (/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/manifold/hidden{dir = 8; icon_state = "map"; tag = "icon-manifold-f (WEST)"},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor/tiled,/area/hallway/primary/thirddeck/starboard) -"dzg" = (/obj/machinery/firealarm{pixel_y = 24},/obj/effect/floor_decal/industrial/warning/corner,/obj/machinery/atmospherics/pipe/simple/hidden{tag = "icon-intact (EAST)"; icon_state = "intact"; dir = 4},/turf/simulated/floor/tiled,/area/hallway/primary/thirddeck/starboard) -"dzh" = (/obj/machinery/atmospherics/pipe/simple/hidden{tag = "icon-intact (EAST)"; icon_state = "intact"; dir = 4},/turf/simulated/wall/r_wall,/area/hallway/primary/thirddeck/starboard) -"dzi" = (/obj/machinery/atmospherics/pipe/manifold/hidden{dir = 1; icon_state = "map"; tag = "icon-manifold-f (NORTH)"},/turf/simulated/wall/r_wall,/area/hallway/primary/thirddeck/starboard) -"dzj" = (/obj/machinery/atmospherics/pipe/simple/hidden{dir = 10; icon_state = "intact"; tag = "icon-intact-f (SOUTHWEST)"},/turf/simulated/wall/r_wall,/area/hallway/primary/thirddeck/starboard) -"dzk" = (/turf/simulated/wall/r_wall,/area/hallway/primary/thirddeck/starboard) -"dzl" = (/obj/effect/floor_decal/industrial/warning{icon_state = "warning"; dir = 4},/obj/machinery/light/small{dir = 1},/turf/simulated/floor/airless,/area/hallway/primary/thirddeck/port) -"dzm" = (/obj/machinery/door/airlock/external{frequency = 1379; icon_state = "door_locked"; id_tag = "d3_port_outer"; locked = 1; name = "External Airlock Access"; req_access = list(13)},/turf/simulated/floor/tiled/dark,/area/hallway/primary/thirddeck/port) -"dzn" = (/obj/effect/floor_decal/industrial/warning{icon_state = "warning"; dir = 9},/obj/machinery/atmospherics/unary/vent_pump/high_volume{dir = 1; frequency = 1379; id_tag = "d3_port_pump"},/obj/machinery/airlock_sensor{frequency = 1379; id_tag = "d3_port_sensor"; pixel_x = 0; pixel_y = 25},/turf/simulated/floor/tiled,/area/hallway/primary/thirddeck/port) -"dzo" = (/obj/structure/sign/warning/airlock{pixel_y = 32},/obj/effect/floor_decal/industrial/warning{icon_state = "warning"; dir = 5},/obj/machinery/atmospherics/unary/vent_pump/high_volume{dir = 1; frequency = 1379; id_tag = "d3_port_pump"},/turf/simulated/floor/tiled,/area/hallway/primary/thirddeck/port) -"dzp" = (/obj/machinery/door/airlock/glass_external{frequency = 1379; icon_state = "door_locked"; id_tag = "crg_aft__inner"; locked = 1; name = "Internal Airlock Access"; req_access = list(13)},/turf/simulated/floor/tiled/dark,/area/hallway/primary/thirddeck/port) -"dzq" = (/obj/effect/floor_decal/industrial/warning{icon_state = "warning"; dir = 8},/obj/machinery/access_button{command = "cycle_interior"; frequency = 1379; master_tag = "d3_port_airlock"; name = "interior access button"; pixel_x = -25; pixel_y = 26; req_access = list(18)},/turf/simulated/floor/tiled,/area/hallway/primary/thirddeck/port) -"dzr" = (/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden,/turf/simulated/floor/tiled,/area/hallway/primary/thirddeck/port) -"dzs" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor/tiled,/area/hallway/primary/thirddeck/port) -"dzt" = (/obj/machinery/door/firedoor/glass,/obj/machinery/door/airlock/glass{name = "Central Access"},/turf/simulated/floor/tiled,/area/hallway/primary/thirddeck/port) -"dzu" = (/turf/simulated/floor/tiled,/area/hallway/primary/thirddeck/port) -"dzv" = (/obj/effect/floor_decal/corner/blue{dir = 4},/turf/simulated/floor/tiled,/area/hallway/primary/thirddeck/port) -"dzw" = (/obj/machinery/power/apc{dir = 1; name = "north bump"; pixel_x = 0; pixel_y = 24},/obj/structure/cable/green{d2 = 2; icon_state = "0-2"},/obj/effect/floor_decal/corner/blue{dir = 5},/turf/simulated/floor/tiled,/area/hallway/primary/thirddeck/port) -"dzx" = (/obj/effect/floor_decal/corner/blue{dir = 1},/turf/simulated/floor/tiled,/area/hallway/primary/thirddeck/port) -"dzy" = (/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor/tiled,/area/hallway/primary/thirddeck/port) -"dzz" = (/obj/machinery/camera/network/third_deck{c_tag = "Third Deck - Port Hallway One"},/turf/simulated/floor/tiled,/area/hallway/primary/thirddeck/port) -"dzA" = (/obj/machinery/firealarm{pixel_y = 24},/obj/machinery/atmospherics/unary/vent_scrubber/on,/obj/effect/floor_decal/industrial/warning/corner{icon_state = "warningcorner"; dir = 4},/turf/simulated/floor/tiled,/area/hallway/primary/thirddeck/port) -"dzB" = (/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/structure/disposalpipe/segment{dir = 1; icon_state = "pipe-c"},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/effect/floor_decal/industrial/warning{icon_state = "warning"; dir = 1},/turf/simulated/floor/tiled,/area/hallway/primary/thirddeck/port) -"dzC" = (/obj/structure/sign/warning/high_voltage{pixel_y = 32},/obj/structure/disposalpipe/segment{dir = 4},/obj/effect/floor_decal/industrial/warning/corner{icon_state = "warningcorner"; dir = 1},/turf/simulated/floor/tiled,/area/hallway/primary/thirddeck/port) -"dzD" = (/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor/tiled,/area/hallway/primary/thirddeck/port) -"dzE" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/machinery/door/firedoor/glass,/obj/machinery/door/airlock/glass{name = "Central Access"},/turf/simulated/floor/tiled,/area/hallway/primary/thirddeck/port) -"dzF" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 8},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor/tiled,/area/hallway/primary/thirddeck/central) -"dzG" = (/obj/structure/disposalpipe/segment{dir = 2; icon_state = "pipe-c"},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/effect/floor_decal/corner/blue{dir = 6},/turf/simulated/floor/tiled,/area/hallway/primary/thirddeck/central) -"dzH" = (/obj/machinery/atmospherics/unary/vent_pump/on{dir = 8},/obj/structure/flora/pottedplant/fern,/turf/simulated/floor/tiled/dark,/area/hallway/primary/thirddeck/central) -"dzI" = (/turf/unsimulated/mask,/area/hallway/primary/thirddeck/central) -"dzJ" = (/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 4},/obj/structure/flora/pottedplant/stoutbush,/turf/simulated/floor/tiled/dark,/area/hallway/primary/thirddeck/central) -"dzK" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/effect/floor_decal/corner/blue{dir = 9},/turf/simulated/floor/tiled,/area/hallway/primary/thirddeck/central) -"dzL" = (/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor/tiled,/area/hallway/primary/thirddeck/central) -"dzM" = (/obj/machinery/door/firedoor/glass,/obj/machinery/door/airlock/glass{name = "Central Access"},/turf/simulated/floor/tiled,/area/hallway/primary/thirddeck/starboard) -"dzN" = (/turf/simulated/floor/tiled,/area/hallway/primary/thirddeck/starboard) -"dzO" = (/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor/tiled,/area/hallway/primary/thirddeck/starboard) -"dzP" = (/obj/effect/floor_decal/corner/blue{dir = 4},/turf/simulated/floor/tiled,/area/hallway/primary/thirddeck/starboard) -"dzQ" = (/obj/machinery/alarm{pixel_y = 22},/obj/effect/floor_decal/corner/blue{dir = 5},/turf/simulated/floor/tiled,/area/hallway/primary/thirddeck/starboard) -"dzR" = (/obj/effect/floor_decal/corner/blue{dir = 1},/obj/machinery/camera/network/third_deck{c_tag = "Third Deck - Starboard Hallway One"},/turf/simulated/floor/tiled,/area/hallway/primary/thirddeck/starboard) -"dzS" = (/obj/machinery/atmospherics/unary/vent_pump/on,/obj/effect/floor_decal/corner/blue{dir = 4},/turf/simulated/floor/tiled,/area/hallway/primary/thirddeck/starboard) -"dzT" = (/obj/effect/floor_decal/corner/blue{dir = 5},/obj/machinery/light{dir = 1},/turf/simulated/floor/tiled,/area/hallway/primary/thirddeck/starboard) -"dzU" = (/obj/effect/floor_decal/corner/blue{dir = 1},/turf/simulated/floor/tiled,/area/hallway/primary/thirddeck/starboard) -"dzV" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor/tiled,/area/hallway/primary/thirddeck/starboard) -"dzW" = (/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/simple/hidden,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor/tiled,/area/hallway/primary/thirddeck/starboard) -"dzX" = (/obj/effect/floor_decal/industrial/warning{icon_state = "warning"; dir = 4},/obj/machinery/access_button{command = "cycle_interior"; frequency = 1379; master_tag = "d3_starboard_airlock"; name = "interior access button"; pixel_x = 25; pixel_y = 26; req_access = list(18)},/turf/simulated/floor/tiled,/area/hallway/primary/thirddeck/starboard) -"dzY" = (/obj/machinery/door/airlock/glass_external{frequency = 1379; icon_state = "door_locked"; id_tag = "d3_starboard_inner"; locked = 1; name = "Internal Airlock Access"; req_access = list(13)},/turf/simulated/floor/tiled/dark,/area/hallway/primary/thirddeck/starboard) -"dzZ" = (/obj/structure/sign/warning/airlock{pixel_y = 32},/obj/effect/floor_decal/industrial/warning{icon_state = "warning"; dir = 9},/obj/machinery/atmospherics/unary/vent_pump/high_volume{dir = 1; frequency = 1379; id_tag = "d3_starboard_pump"},/turf/simulated/floor/tiled,/area/hallway/primary/thirddeck/starboard) -"dAa" = (/obj/effect/floor_decal/industrial/warning{icon_state = "warning"; dir = 5},/obj/machinery/atmospherics/unary/vent_pump/high_volume{dir = 1; frequency = 1379; id_tag = "d3_starboard_pump"},/obj/machinery/airlock_sensor{frequency = 1379; id_tag = "d3_starboard_sensor"; pixel_x = 0; pixel_y = 25},/turf/simulated/floor/tiled,/area/hallway/primary/thirddeck/starboard) -"dAb" = (/obj/machinery/door/airlock/external{frequency = 1379; icon_state = "door_locked"; id_tag = "d3_starboard_outer"; locked = 1; name = "External Airlock Access"; req_access = list(13)},/turf/simulated/floor/tiled/dark,/area/hallway/primary/thirddeck/starboard) -"dAc" = (/obj/machinery/light/small{dir = 1},/obj/effect/floor_decal/industrial/warning{icon_state = "warning"; dir = 8},/turf/simulated/floor/airless,/area/hallway/primary/thirddeck/starboard) -"dAd" = (/obj/effect/floor_decal/industrial/warning{icon_state = "warning"; dir = 4},/obj/machinery/access_button{command = "cycle_exterior"; frequency = 1379; master_tag = "d3_port_airlock"; name = "exterior access button"; pixel_x = 25; pixel_y = -26; req_access = list(18)},/turf/simulated/floor/airless,/area/hallway/primary/thirddeck/port) -"dAe" = (/obj/effect/floor_decal/industrial/warning{dir = 10},/obj/machinery/embedded_controller/radio/airlock/airlock_controller{frequency = 1379; id_tag = "d3_port_airlock"; pixel_x = 0; pixel_y = -26; req_access = list(18); tag_airpump = "d3_port_pump"; tag_chamber_sensor = "d3_port_sensor"; tag_exterior_door = "d3_port_outer"; tag_interior_door = "d3_port_inner"},/obj/machinery/atmospherics/unary/vent_pump/high_volume{dir = 2; frequency = 1379; id_tag = "d3_port_pump"},/turf/simulated/floor/tiled,/area/hallway/primary/thirddeck/port) -"dAf" = (/obj/effect/floor_decal/industrial/warning{dir = 6},/obj/machinery/atmospherics/unary/vent_pump/high_volume{dir = 2; frequency = 1379; id_tag = "d3_port_pump"},/obj/machinery/light/small,/turf/simulated/floor/tiled,/area/hallway/primary/thirddeck/port) -"dAg" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 6},/obj/effect/floor_decal/industrial/warning{icon_state = "warning"; dir = 8},/turf/simulated/floor/tiled,/area/hallway/primary/thirddeck/port) -"dAh" = (/obj/structure/cable/green{d1 = 1; d2 = 4; icon_state = "1-4"},/obj/structure/cable/green{d1 = 2; d2 = 4; icon_state = "2-4"},/obj/machinery/atmospherics/pipe/manifold/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden,/turf/simulated/floor/tiled,/area/hallway/primary/thirddeck/port) -"dAi" = (/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 5},/obj/machinery/camera/network/third_deck{c_tag = "Third Deck - Port Hallway Two"; dir = 8},/turf/simulated/floor/tiled,/area/hallway/primary/thirddeck/port) -"dAj" = (/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/door/firedoor/border_only,/obj/effect/wingrille_spawn/reinforced,/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor/plating,/area/hallway/primary/thirddeck/port) -"dAk" = (/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor/tiled,/area/hallway/primary/thirddeck/port) -"dAl" = (/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/structure/cable/green{d1 = 1; d2 = 4; icon_state = "1-4"},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor/tiled,/area/hallway/primary/thirddeck/port) -"dAm" = (/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 1},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor/tiled,/area/hallway/primary/thirddeck/port) -"dAn" = (/obj/structure/cable/green{d1 = 1; d2 = 4; icon_state = "1-4"},/obj/structure/cable/green{d1 = 2; d2 = 4; icon_state = "2-4"},/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/atmospherics/pipe/manifold4w/hidden/scrubbers,/obj/machinery/atmospherics/pipe/manifold4w/hidden/supply,/turf/simulated/floor/tiled,/area/hallway/primary/thirddeck/port) -"dAo" = (/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/turf/simulated/floor/tiled,/area/hallway/primary/thirddeck/port) -"dAp" = (/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/turf/simulated/floor/tiled,/area/hallway/primary/thirddeck/port) -"dAq" = (/obj/structure/cable/green{d1 = 1; d2 = 4; icon_state = "1-4"},/obj/structure/cable/green{d1 = 1; d2 = 8; icon_state = "1-8"},/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers,/obj/machinery/atmospherics/pipe/manifold/hidden/supply,/turf/simulated/floor/tiled,/area/hallway/primary/thirddeck/port) -"dAr" = (/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/structure/cable/green{d1 = 2; d2 = 8; icon_state = "2-8"},/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{dir = 1},/obj/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 1},/turf/simulated/floor/tiled,/area/hallway/primary/thirddeck/port) -"dAs" = (/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/light{dir = 4},/turf/simulated/floor/tiled,/area/hallway/primary/thirddeck/port) -"dAt" = (/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/door/firedoor/border_only,/obj/effect/wingrille_spawn/reinforced,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/turf/simulated/floor/plating,/area/hallway/primary/thirddeck/port) -"dAu" = (/obj/structure/cable/green{d1 = 2; d2 = 8; icon_state = "2-8"},/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{dir = 4},/obj/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 4},/obj/machinery/light{dir = 8; icon_state = "tube1"; pixel_y = 0},/turf/simulated/floor/tiled,/area/hallway/primary/thirddeck/central) -"dAv" = (/obj/structure/disposalpipe/segment,/obj/effect/floor_decal/corner/blue{dir = 6},/turf/simulated/floor/tiled,/area/hallway/primary/thirddeck/central) -"dAw" = (/obj/structure/closet/emcloset,/turf/simulated/floor/tiled/dark,/area/hallway/primary/thirddeck/central) -"dAx" = (/obj/effect/floor_decal/corner/blue{dir = 9},/turf/simulated/floor/tiled,/area/hallway/primary/thirddeck/central) -"dAy" = (/obj/structure/cable/green{d1 = 2; d2 = 4; icon_state = "2-4"},/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{dir = 8},/obj/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 8},/obj/machinery/light{dir = 4},/turf/simulated/floor/tiled,/area/hallway/primary/thirddeck/central) -"dAz" = (/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/door/firedoor/border_only,/obj/effect/wingrille_spawn/reinforced,/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor/plating,/area/hallway/primary/thirddeck/starboard) -"dAA" = (/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/light{dir = 8; icon_state = "tube1"; pixel_y = 0},/turf/simulated/floor/tiled,/area/hallway/primary/thirddeck/starboard) -"dAB" = (/obj/structure/cable/green{d1 = 1; d2 = 8; icon_state = "1-8"},/obj/structure/cable/green{d1 = 2; d2 = 8; icon_state = "2-8"},/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/atmospherics/pipe/manifold4w/hidden/scrubbers,/obj/machinery/atmospherics/pipe/manifold4w/hidden/supply,/turf/simulated/floor/tiled,/area/hallway/primary/thirddeck/starboard) -"dAC" = (/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor/tiled,/area/hallway/primary/thirddeck/starboard) -"dAD" = (/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{dir = 1},/turf/simulated/floor/tiled,/area/hallway/primary/thirddeck/starboard) -"dAE" = (/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/atmospherics/pipe/manifold/hidden/supply,/turf/simulated/floor/tiled,/area/hallway/primary/thirddeck/starboard) -"dAF" = (/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/structure/cable/green{d1 = 2; d2 = 8; icon_state = "2-8"},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor/tiled,/area/hallway/primary/thirddeck/starboard) -"dAG" = (/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 9},/obj/machinery/camera/network/third_deck{c_tag = "Third Deck - Starboard Hallway Two"; dir = 4},/turf/simulated/floor/tiled,/area/hallway/primary/thirddeck/starboard) -"dAH" = (/obj/structure/cable/green{d1 = 2; d2 = 8; icon_state = "2-8"},/obj/structure/cable/green{d1 = 1; d2 = 8; icon_state = "1-8"},/obj/machinery/atmospherics/pipe/simple/hidden,/obj/machinery/atmospherics/pipe/manifold4w/hidden/supply,/turf/simulated/floor/tiled,/area/hallway/primary/thirddeck/starboard) -"dAI" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 10},/obj/effect/floor_decal/industrial/warning{icon_state = "warning"; dir = 4},/turf/simulated/floor/tiled,/area/hallway/primary/thirddeck/starboard) -"dAJ" = (/obj/effect/floor_decal/industrial/warning{dir = 10},/obj/machinery/light/small,/obj/machinery/atmospherics/unary/vent_pump/high_volume{dir = 2; frequency = 1379; id_tag = "d3_starboard_pump"},/turf/simulated/floor/tiled,/area/hallway/primary/thirddeck/starboard) -"dAK" = (/obj/effect/floor_decal/industrial/warning{dir = 6},/obj/machinery/atmospherics/unary/vent_pump/high_volume{dir = 2; frequency = 1379; id_tag = "d3_starboard_pump"},/obj/machinery/embedded_controller/radio/airlock/airlock_controller{frequency = 1379; id_tag = "d3_starboard_airlock"; pixel_x = 0; pixel_y = -26; req_access = list(18); tag_airpump = "d3_starboard_pump"; tag_chamber_sensor = "d3_starboard_sensor"; tag_exterior_door = "d3_starboard_outer"; tag_interior_door = "d3_starboard_inner"},/turf/simulated/floor/tiled,/area/hallway/primary/thirddeck/starboard) -"dAL" = (/obj/effect/floor_decal/industrial/warning{icon_state = "warning"; dir = 8},/obj/machinery/access_button{command = "cycle_exterior"; frequency = 1379; master_tag = "d3_starboard_airlock"; name = "exterior access button"; pixel_x = -25; pixel_y = -26; req_access = list(18)},/turf/simulated/floor/airless,/area/hallway/primary/thirddeck/starboard) -"dAM" = (/obj/machinery/atmospherics/pipe/simple/hidden{dir = 5; icon_state = "intact"; tag = "icon-intact-f (NORTHEAST)"},/turf/simulated/wall/r_wall,/area/hallway/primary/thirddeck/port) -"dAN" = (/obj/machinery/atmospherics/pipe/manifold/hidden,/turf/simulated/wall/r_wall,/area/hallway/primary/thirddeck/port) -"dAO" = (/obj/structure/sign/deck/third,/obj/machinery/atmospherics/pipe/simple/hidden{dir = 4},/turf/simulated/wall/r_wall,/area/hallway/primary/thirddeck/port) -"dAP" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/effect/floor_decal/industrial/warning/corner{icon_state = "warningcorner"; dir = 1},/obj/machinery/atmospherics/pipe/simple/hidden{dir = 4},/obj/machinery/light{dir = 8; icon_state = "tube1"; pixel_y = 0},/turf/simulated/floor/tiled,/area/hallway/primary/thirddeck/port) -"dAQ" = (/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/hologram/holopad,/obj/effect/floor_decal/industrial/outline/grey,/obj/machinery/atmospherics/pipe/manifold/hidden{dir = 4; icon_state = "map"; tag = "icon-manifold-f (EAST)"},/turf/simulated/floor/tiled,/area/hallway/primary/thirddeck/port) -"dAR" = (/obj/effect/floor_decal/corner/blue,/turf/simulated/floor/tiled,/area/hallway/primary/thirddeck/port) -"dAS" = (/obj/effect/floor_decal/corner/blue{dir = 10},/obj/machinery/light,/turf/simulated/floor/tiled,/area/hallway/primary/thirddeck/port) -"dAT" = (/obj/machinery/atmospherics/unary/vent_pump/on{dir = 1},/obj/effect/floor_decal/corner/blue{dir = 8},/turf/simulated/floor/tiled,/area/hallway/primary/thirddeck/port) -"dAU" = (/obj/machinery/alarm{dir = 1; icon_state = "alarm0"; pixel_y = -22},/obj/effect/floor_decal/corner/blue{dir = 10},/turf/simulated/floor/tiled,/area/hallway/primary/thirddeck/port) -"dAV" = (/obj/effect/floor_decal/corner/blue{dir = 8},/turf/simulated/floor/tiled,/area/hallway/primary/thirddeck/port) -"dAW" = (/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/structure/cable/green{d1 = 1; d2 = 4; icon_state = "1-4"},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor/tiled,/area/hallway/primary/thirddeck/central) -"dAX" = (/obj/structure/disposalpipe/segment,/obj/structure/cable/green{d2 = 8; icon_state = "0-8"},/obj/machinery/power/apc{dir = 4; name = "east bump"; pixel_x = 24},/obj/effect/floor_decal/corner/blue{dir = 6},/turf/simulated/floor/tiled,/area/hallway/primary/thirddeck/central) -"dAY" = (/obj/machinery/alarm{dir = 4; icon_state = "alarm0"; pixel_x = -22; pixel_y = 0},/obj/effect/floor_decal/corner/blue{dir = 9},/turf/simulated/floor/tiled,/area/hallway/primary/thirddeck/central) -"dAZ" = (/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor/tiled,/area/hallway/primary/thirddeck/central) -"dBa" = (/obj/effect/floor_decal/corner/blue,/turf/simulated/floor/tiled,/area/hallway/primary/thirddeck/starboard) -"dBb" = (/obj/machinery/firealarm{dir = 1; pixel_y = -24},/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 1},/obj/effect/floor_decal/corner/blue{dir = 10},/turf/simulated/floor/tiled,/area/hallway/primary/thirddeck/starboard) -"dBc" = (/obj/effect/floor_decal/corner/blue{dir = 8},/turf/simulated/floor/tiled,/area/hallway/primary/thirddeck/starboard) -"dBd" = (/obj/machinery/power/apc{dir = 2; name = "south bump"; pixel_y = -24},/obj/structure/cable/green,/obj/effect/floor_decal/corner/blue{dir = 10},/turf/simulated/floor/tiled,/area/hallway/primary/thirddeck/starboard) -"dBe" = (/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/hologram/holopad,/obj/effect/floor_decal/industrial/outline/grey,/obj/machinery/atmospherics/pipe/manifold/hidden{dir = 8; icon_state = "map"; tag = "icon-manifold-f (WEST)"},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor/tiled,/area/hallway/primary/thirddeck/starboard) -"dBf" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/effect/floor_decal/industrial/warning/corner{icon_state = "warningcorner"; dir = 4},/obj/machinery/light{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden{tag = "icon-intact (EAST)"; icon_state = "intact"; dir = 4},/turf/simulated/floor/tiled,/area/hallway/primary/thirddeck/starboard) -"dBg" = (/obj/structure/sign/deck/third,/obj/machinery/atmospherics/pipe/simple/hidden{tag = "icon-intact (EAST)"; icon_state = "intact"; dir = 4},/turf/simulated/wall/r_wall,/area/hallway/primary/thirddeck/starboard) -"dBh" = (/obj/machinery/atmospherics/pipe/manifold/hidden,/turf/simulated/wall/r_wall,/area/hallway/primary/thirddeck/starboard) -"dBi" = (/obj/machinery/atmospherics/pipe/simple/hidden{dir = 9; icon_state = "intact"; tag = "icon-intact-f (NORTHWEST)"},/turf/simulated/wall/r_wall,/area/hallway/primary/thirddeck/starboard) -"dBj" = (/turf/simulated/shuttle/wall,/area/shuttle/escape_pod7/station) -"dBk" = (/turf/simulated/shuttle/wall/no_join{base_state = "orange"; icon = 'icons/turf/shuttle_orange.dmi'; icon_state = "orange"},/area/shuttle/escape_pod7/station) -"dBl" = (/obj/structure/shuttle/engine/propulsion/burst{dir = 4},/turf/simulated/shuttle/wall,/area/shuttle/escape_pod7/station) -"dBm" = (/turf/simulated/wall,/area/hallway/primary/thirddeck/port) -"dBn" = (/obj/machinery/atmospherics/unary/vent_pump/on{dir = 1},/obj/effect/floor_decal/industrial/warning/corner{dir = 8},/turf/simulated/floor/tiled,/area/hallway/primary/thirddeck/port) -"dBo" = (/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/simple/hidden,/turf/simulated/floor/tiled,/area/hallway/primary/thirddeck/port) -"dBp" = (/obj/machinery/alarm{dir = 8; pixel_x = 25; pixel_y = 0},/obj/effect/floor_decal/corner/white,/turf/simulated/floor/tiled,/area/hallway/primary/thirddeck/port) -"dBq" = (/turf/simulated/wall/r_wall,/area/crew_quarters/heads/sc/restroom) -"dBr" = (/turf/simulated/wall,/area/crew_quarters/heads/sc/restroom) -"dBs" = (/obj/machinery/door/firedoor/border_only,/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/door/airlock/command{name = "Command Restroom"; req_access = list(19)},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor/tiled/freezer,/area/crew_quarters/heads/sc/restroom) -"dBt" = (/turf/simulated/wall/r_wall,/area/crew_quarters/heads/sc/chief/quarters) -"dBu" = (/turf/simulated/wall,/area/crew_quarters/heads/sc/chief/quarters) -"dBv" = (/obj/machinery/door/firedoor/border_only,/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/door/airlock/command{name = "Chief Engineer Quarters"; req_access = list(56)},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor/carpet,/area/crew_quarters/heads/sc/chief/quarters) -"dBw" = (/obj/machinery/door/firedoor/border_only,/obj/effect/wingrille_spawn/reinforced/polarized{id = "cequarters"},/turf/simulated/floor/plating,/area/crew_quarters/heads/sc/chief/quarters) -"dBx" = (/obj/machinery/status_display,/turf/simulated/wall/r_wall,/area/crew_quarters/heads/sc/chief/quarters) -"dBy" = (/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/camera/network/third_deck{c_tag = "Third Deck - Central Port"; dir = 4},/turf/simulated/floor/tiled,/area/hallway/primary/thirddeck/central) -"dBz" = (/obj/structure/table/glass,/turf/simulated/floor/tiled/dark,/area/hallway/primary/thirddeck/central) -"dBA" = (/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/camera/network/third_deck{c_tag = "Third Deck - Central Starboard"; dir = 8},/turf/simulated/floor/tiled,/area/hallway/primary/thirddeck/central) -"dBB" = (/obj/machinery/ai_status_display,/turf/simulated/wall/r_wall,/area/crew_quarters/heads/sc/hos/quarters) -"dBC" = (/obj/machinery/door/firedoor/border_only,/obj/effect/wingrille_spawn/reinforced/polarized{id = "hosquarters"},/turf/simulated/floor/plating,/area/crew_quarters/heads/sc/hos/quarters) -"dBD" = (/obj/machinery/door/firedoor/border_only,/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/door/airlock/command{id_tag = null; name = "Head of Security Quarters"; req_access = list(58)},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor/carpet,/area/crew_quarters/heads/sc/hos/quarters) -"dBE" = (/turf/simulated/wall,/area/crew_quarters/heads/sc/hos/quarters) -"dBF" = (/turf/simulated/wall/r_wall,/area/crew_quarters/heads/sc/hos/quarters) -"dBG" = (/turf/simulated/wall,/area/crew_quarters/heads/sc/bs) -"dBH" = (/obj/machinery/door/firedoor/border_only,/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/door/airlock/command{name = "Secretary Quarters"; req_access = list(19)},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor/carpet/blue,/area/crew_quarters/heads/sc/bs) -"dBI" = (/obj/machinery/door/firedoor/border_only,/obj/effect/wingrille_spawn/reinforced/polarized{id = "bsquarters"},/turf/simulated/floor/plating,/area/crew_quarters/heads/sc/bs) -"dBJ" = (/turf/simulated/wall/r_wall,/area/crew_quarters/heads/sc/bs) -"dBK" = (/obj/machinery/alarm{dir = 4; icon_state = "alarm0"; pixel_x = -22; pixel_y = 0},/obj/effect/floor_decal/corner/white{dir = 8},/turf/simulated/floor/tiled,/area/hallway/primary/thirddeck/starboard) -"dBL" = (/obj/machinery/atmospherics/unary/vent_pump/on{dir = 1},/obj/effect/floor_decal/industrial/warning/corner,/turf/simulated/floor/tiled,/area/hallway/primary/thirddeck/starboard) -"dBM" = (/turf/simulated/wall,/area/hallway/primary/thirddeck/starboard) -"dBN" = (/obj/structure/shuttle/engine/propulsion/burst{dir = 8},/turf/simulated/shuttle/wall,/area/shuttle/escape_pod8/station) -"dBO" = (/turf/simulated/shuttle/wall,/area/shuttle/escape_pod8/station) -"dBP" = (/turf/simulated/shuttle/wall/no_join{base_state = "orange"; icon = 'icons/turf/shuttle_orange.dmi'; icon_state = "orange"},/area/shuttle/escape_pod8/station) -"dBQ" = (/obj/structure/grille,/obj/structure/window/reinforced/full,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 4; health = 1e+006},/turf/simulated/shuttle/plating,/area/shuttle/escape_pod7/station) -"dBR" = (/obj/structure/bed/chair{dir = 8},/obj/machinery/light{icon_state = "tube1"; dir = 8},/obj/machinery/status_display{density = 0; layer = 4; pixel_x = 0; pixel_y = 32},/obj/machinery/embedded_controller/radio/simple_docking_controller/escape_pod{frequency = 1380; id_tag = "escape_pod_7"; pixel_x = 0; pixel_y = -25; tag_door = "escape_pod_7_hatch"},/turf/simulated/shuttle/floor,/area/shuttle/escape_pod7/station) -"dBS" = (/obj/structure/bed/chair{dir = 8},/obj/item/device/radio/intercom{dir = 1; name = "Station Intercom (General)"; pixel_y = 21},/obj/structure/closet/walllocker/emerglocker{pixel_y = -32},/turf/simulated/shuttle/floor,/area/shuttle/escape_pod7/station) -"dBT" = (/obj/structure/bed/chair{dir = 8},/obj/machinery/vending/wallmed1{name = "NanoMed Wall"; pixel_x = 0; pixel_y = -30},/turf/simulated/shuttle/floor,/area/shuttle/escape_pod7/station) -"dBU" = (/obj/machinery/door/airlock/external{frequency = 1380; icon_state = "door_locked"; id_tag = "escape_pod_7_hatch"; locked = 1; name = "Escape Pod Hatch 7"; req_access = list(13)},/turf/simulated/shuttle/floor,/area/shuttle/escape_pod7/station) -"dBV" = (/obj/machinery/door/airlock/glass_external{frequency = 1380; icon_state = "door_locked"; id_tag = "escape_pod_7_berth_hatch"; locked = 1; name = "Escape Pod 7"; req_access = list(13)},/turf/simulated/floor,/area/hallway/primary/thirddeck/port) -"dBW" = (/obj/effect/floor_decal/industrial/warning{icon_state = "warning"; dir = 8},/obj/machinery/embedded_controller/radio/simple_docking_controller/escape_pod_berth{frequency = 1380; id_tag = "escape_pod_7_berth"; pixel_x = -25; pixel_y = 30; tag_door = "escape_pod_7_berth_hatch"},/turf/simulated/floor/tiled,/area/hallway/primary/thirddeck/port) -"dBX" = (/obj/effect/floor_decal/corner/white,/obj/effect/floor_decal/corner/red{dir = 4},/turf/simulated/floor/tiled,/area/hallway/primary/thirddeck/port) -"dBY" = (/obj/machinery/recharge_station,/obj/machinery/light/small{dir = 8},/turf/simulated/floor/tiled/freezer,/area/crew_quarters/heads/sc/restroom) -"dBZ" = (/obj/machinery/door/airlock{name = "Unit 1"},/turf/simulated/floor/tiled/freezer,/area/crew_quarters/heads/sc/restroom) -"dCa" = (/obj/structure/sink{pixel_y = 16},/obj/structure/mirror{pixel_x = 0; pixel_y = 32},/turf/simulated/floor/tiled/freezer,/area/crew_quarters/heads/sc/restroom) -"dCb" = (/obj/structure/cable/green{d1 = 1; d2 = 4; icon_state = "1-4"},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor/tiled/freezer,/area/crew_quarters/heads/sc/restroom) -"dCc" = (/obj/structure/table/standard,/obj/machinery/power/apc{dir = 1; name = "north bump"; pixel_x = 0; pixel_y = 24},/obj/structure/cable/green{d2 = 8; icon_state = "0-8"},/obj/machinery/light_switch{pixel_x = 11; pixel_y = 24},/obj/item/device/radio/intercom{dir = 4; name = "Station Intercom (General)"; pixel_x = 21},/turf/simulated/floor/tiled/freezer,/area/crew_quarters/heads/sc/restroom) -"dCd" = (/obj/structure/bed/padded,/obj/item/weapon/bedsheet/ce,/obj/machinery/firealarm{dir = 8; pixel_x = -24},/turf/simulated/floor/carpet,/area/crew_quarters/heads/sc/chief/quarters) -"dCe" = (/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 5},/turf/simulated/floor/carpet,/area/crew_quarters/heads/sc/chief/quarters) -"dCf" = (/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 8},/obj/machinery/alarm{dir = 8; pixel_x = 22; pixel_y = 0},/turf/simulated/floor/carpet,/area/crew_quarters/heads/sc/chief/quarters) -"dCg" = (/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{dir = 8},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor/tiled,/area/hallway/primary/thirddeck/central) -"dCh" = (/obj/structure/disposalpipe/segment,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/effect/floor_decal/corner/blue{dir = 6},/turf/simulated/floor/tiled,/area/hallway/primary/thirddeck/central) -"dCi" = (/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 8},/obj/structure/flora/pottedplant/stoutbush,/turf/simulated/floor/tiled/dark,/area/hallway/primary/thirddeck/central) -"dCj" = (/obj/machinery/atmospherics/unary/vent_pump/on{dir = 4},/obj/structure/flora/pottedplant/fern,/turf/simulated/floor/tiled/dark,/area/hallway/primary/thirddeck/central) -"dCk" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/effect/floor_decal/corner/blue{dir = 9},/turf/simulated/floor/tiled,/area/hallway/primary/thirddeck/central) -"dCl" = (/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor/tiled,/area/hallway/primary/thirddeck/central) -"dCm" = (/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 4},/obj/machinery/alarm{dir = 4; pixel_x = -22; pixel_y = 0},/turf/simulated/floor/carpet,/area/crew_quarters/heads/sc/hos/quarters) -"dCn" = (/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 9},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor/carpet,/area/crew_quarters/heads/sc/hos/quarters) -"dCo" = (/obj/structure/bed/padded,/obj/item/weapon/bedsheet/hos,/obj/machinery/firealarm{dir = 4; pixel_x = 24},/turf/simulated/floor/carpet,/area/crew_quarters/heads/sc/hos/quarters) -"dCp" = (/obj/machinery/firealarm{dir = 8; pixel_x = -24},/turf/simulated/floor/carpet/blue,/area/crew_quarters/heads/sc/bs) -"dCq" = (/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 5},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor/carpet/blue,/area/crew_quarters/heads/sc/bs) -"dCr" = (/obj/structure/closet/lawcloset,/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 8},/obj/machinery/alarm{dir = 8; pixel_x = 22; pixel_y = 0},/turf/simulated/floor/carpet/blue,/area/crew_quarters/heads/sc/bs) -"dCs" = (/obj/effect/floor_decal/corner/red{dir = 1},/obj/effect/floor_decal/corner/white{dir = 8},/turf/simulated/floor/tiled,/area/hallway/primary/thirddeck/starboard) -"dCt" = (/obj/effect/floor_decal/industrial/warning{icon_state = "warning"; dir = 4},/obj/machinery/embedded_controller/radio/simple_docking_controller/escape_pod_berth{frequency = 1380; id_tag = "escape_pod_8_berth"; pixel_x = 25; pixel_y = 30; tag_door = "escape_pod_8_berth_hatch"},/turf/simulated/floor/tiled,/area/hallway/primary/thirddeck/starboard) -"dCu" = (/obj/machinery/door/airlock/glass_external{frequency = 1380; icon_state = "door_locked"; id_tag = "escape_pod_8_berth_hatch"; locked = 1; name = "Escape Pod 8"; req_access = list(13)},/turf/simulated/floor,/area/hallway/primary/thirddeck/starboard) -"dCv" = (/obj/machinery/door/airlock/external{frequency = 1380; icon_state = "door_locked"; id_tag = "escape_pod_8_hatch"; locked = 1; name = "Escape Pod Hatch 8"; req_access = list(13)},/turf/simulated/shuttle/floor,/area/shuttle/escape_pod8/station) -"dCw" = (/obj/structure/bed/chair{dir = 4},/obj/machinery/vending/wallmed1{name = "NanoMed Wall"; pixel_x = 0; pixel_y = 30},/turf/simulated/shuttle/floor,/area/shuttle/escape_pod8/station) -"dCx" = (/obj/structure/bed/chair{dir = 4},/obj/item/device/radio/intercom{name = "Station Intercom (General)"; pixel_y = -21},/obj/structure/closet/walllocker/emerglocker{pixel_y = 32},/turf/simulated/shuttle/floor,/area/shuttle/escape_pod8/station) -"dCy" = (/obj/structure/bed/chair{dir = 4},/obj/machinery/light{icon_state = "tube1"; dir = 4},/obj/machinery/status_display{density = 0; layer = 4; pixel_x = 0; pixel_y = -32},/obj/machinery/embedded_controller/radio/simple_docking_controller/escape_pod{frequency = 1380; id_tag = "escape_pod_8"; pixel_x = 0; pixel_y = 25; tag_door = "escape_pod_8_hatch"},/turf/simulated/shuttle/floor,/area/shuttle/escape_pod8/station) -"dCz" = (/obj/structure/grille,/obj/structure/window/reinforced/full,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 4; health = 1e+006},/turf/simulated/shuttle/plating,/area/shuttle/escape_pod8/station) -"dCA" = (/obj/structure/sign/warning/pods{dir = 8},/turf/simulated/wall,/area/hallway/primary/thirddeck/port) -"dCB" = (/obj/effect/floor_decal/industrial/warning/corner{icon_state = "warningcorner"; dir = 1},/turf/simulated/floor/tiled,/area/hallway/primary/thirddeck/port) -"dCC" = (/obj/effect/floor_decal/corner/white,/obj/effect/floor_decal/corner/red{dir = 4},/obj/structure/closet/emcloset,/turf/simulated/floor/tiled,/area/hallway/primary/thirddeck/port) -"dCD" = (/obj/machinery/status_display,/turf/simulated/wall/r_wall,/area/crew_quarters/heads/sc/restroom) -"dCE" = (/obj/machinery/firealarm{dir = 8; pixel_x = -24},/turf/simulated/floor/tiled/freezer,/area/crew_quarters/heads/sc/restroom) -"dCF" = (/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 4},/turf/simulated/floor/tiled/freezer,/area/crew_quarters/heads/sc/restroom) -"dCG" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 5},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 9},/turf/simulated/floor/tiled/freezer,/area/crew_quarters/heads/sc/restroom) -"dCH" = (/obj/machinery/light{dir = 4; icon_state = "tube1"},/obj/machinery/atmospherics/unary/vent_pump/on{dir = 8},/obj/machinery/computer/security/telescreen/entertainment{icon_state = "frame"; pixel_x = 32; pixel_y = 0},/turf/simulated/floor/tiled/freezer,/area/crew_quarters/heads/sc/restroom) -"dCI" = (/obj/structure/table/standard,/obj/machinery/light{icon_state = "tube1"; dir = 8},/obj/item/weapon/paper_bin{pixel_x = -3; pixel_y = 7},/obj/item/weapon/folder/yellow_ce,/obj/item/weapon/pen/multi,/obj/machinery/computer/security/telescreen/entertainment{icon_state = "frame"; pixel_x = -32; pixel_y = 0},/turf/simulated/floor/carpet,/area/crew_quarters/heads/sc/chief/quarters) -"dCJ" = (/obj/structure/bed/chair/office/dark,/obj/structure/cable/green{d1 = 1; d2 = 4; icon_state = "1-4"},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor/carpet,/area/crew_quarters/heads/sc/chief/quarters) -"dCK" = (/obj/machinery/power/apc{dir = 4; name = "east bump"; pixel_x = 24},/obj/structure/cable/green{d2 = 8; icon_state = "0-8"},/obj/machinery/button/windowtint{id = "cequarters"; pixel_x = 36; pixel_y = 6},/obj/machinery/light_switch{pixel_x = 36; pixel_y = -6},/turf/simulated/floor/carpet,/area/crew_quarters/heads/sc/chief/quarters) -"dCL" = (/obj/structure/disposalpipe/segment,/obj/effect/floor_decal/corner/blue{dir = 4},/turf/simulated/floor/tiled,/area/hallway/primary/thirddeck/central) -"dCM" = (/obj/structure/sign/directions/engineering{dir = 1; pixel_y = 10},/obj/structure/sign/directions/cargo{dir = 1},/obj/structure/sign/directions/security{dir = 1; pixel_y = -10},/turf/simulated/wall,/area/hallway/primary/thirddeck/central) -"dCN" = (/obj/structure/sign/directions/bridge{dir = 2; pixel_y = 10},/obj/structure/sign/directions/science{dir = 1},/obj/structure/sign/directions/medical{dir = 1; pixel_y = -10},/turf/simulated/wall,/area/hallway/primary/thirddeck/central) -"dCO" = (/obj/effect/floor_decal/industrial/warning{icon_state = "warning"; dir = 9},/turf/simulated/floor/tiled/dark,/area/hallway/primary/thirddeck/central) -"dCP" = (/obj/effect/floor_decal/industrial/warning{icon_state = "warning"; dir = 1},/turf/simulated/floor/tiled/dark,/area/hallway/primary/thirddeck/central) -"dCQ" = (/obj/effect/floor_decal/industrial/warning{dir = 5},/turf/simulated/floor/tiled/dark,/area/hallway/primary/thirddeck/central) -"dCR" = (/obj/structure/sign/directions/evac{dir = 1},/turf/simulated/wall/r_wall,/area/hallway/primary/thirddeck/central) -"dCS" = (/obj/effect/floor_decal/corner/blue{dir = 1},/turf/simulated/floor/tiled,/area/hallway/primary/thirddeck/central) -"dCT" = (/obj/machinery/power/apc{dir = 8; name = "west bump"; pixel_x = -24},/obj/structure/cable/green{d2 = 4; icon_state = "0-4"},/obj/machinery/light_switch{pixel_x = -36; pixel_y = -6},/obj/machinery/button/windowtint{id = "hosquarters"; pixel_x = -36; pixel_y = 6},/turf/simulated/floor/carpet,/area/crew_quarters/heads/sc/hos/quarters) -"dCU" = (/obj/structure/bed/chair/office/dark,/obj/structure/cable/green{d1 = 1; d2 = 8; icon_state = "1-8"},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor/carpet,/area/crew_quarters/heads/sc/hos/quarters) -"dCV" = (/obj/structure/table/standard,/obj/machinery/light{dir = 4; icon_state = "tube1"},/obj/item/weapon/paper_bin{pixel_x = -3; pixel_y = 7},/obj/item/weapon/folder/red_hos,/obj/item/weapon/pen/multi,/obj/machinery/computer/security/telescreen/entertainment{icon_state = "frame"; pixel_x = 32; pixel_y = 0},/turf/simulated/floor/carpet,/area/crew_quarters/heads/sc/hos/quarters) -"dCW" = (/obj/machinery/light{icon_state = "tube1"; dir = 8},/obj/machinery/computer/security/telescreen/entertainment{icon_state = "frame"; pixel_x = -32; pixel_y = 0},/turf/simulated/floor/carpet/blue,/area/crew_quarters/heads/sc/bs) -"dCX" = (/obj/structure/bed/chair/office/dark,/obj/structure/cable/green{d1 = 1; d2 = 4; icon_state = "1-4"},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor/carpet/blue,/area/crew_quarters/heads/sc/bs) -"dCY" = (/obj/machinery/power/apc{dir = 4; name = "east bump"; pixel_x = 24},/obj/structure/cable/green{d2 = 8; icon_state = "0-8"},/obj/machinery/button/windowtint{id = "bsoffice"; pixel_x = 36; pixel_y = 6},/obj/machinery/light_switch{pixel_x = 36; pixel_y = -6},/turf/simulated/floor/carpet/blue,/area/crew_quarters/heads/sc/bs) -"dCZ" = (/obj/machinery/status_display,/turf/simulated/wall/r_wall,/area/hallway/primary/thirddeck/starboard) -"dDa" = (/obj/effect/floor_decal/corner/red{dir = 1},/obj/effect/floor_decal/corner/white{dir = 8},/obj/structure/closet/emcloset,/turf/simulated/floor/tiled,/area/hallway/primary/thirddeck/starboard) -"dDb" = (/obj/effect/floor_decal/industrial/warning/corner{icon_state = "warningcorner"; dir = 4},/turf/simulated/floor/tiled,/area/hallway/primary/thirddeck/starboard) -"dDc" = (/obj/structure/sign/warning/pods{dir = 4},/turf/simulated/wall,/area/hallway/primary/thirddeck/starboard) -"dDd" = (/turf/simulated/wall/r_wall,/area/maintenance/thirddeck/aftport) -"dDe" = (/obj/machinery/door/firedoor/border_only,/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/door/airlock/maintenance{name = "Maintenance Access"; req_one_access = list(12,19)},/obj/machinery/atmospherics/pipe/simple/hidden,/turf/simulated/floor/plating,/area/maintenance/thirddeck/aftport) -"dDf" = (/turf/simulated/wall,/area/maintenance/thirddeck/aftport) -"dDg" = (/obj/structure/toilet{dir = 4},/obj/machinery/light/small{dir = 8},/turf/simulated/floor/tiled/freezer,/area/crew_quarters/heads/sc/restroom) -"dDh" = (/obj/machinery/door/airlock{name = "Unit 2"},/turf/simulated/floor/tiled/freezer,/area/crew_quarters/heads/sc/restroom) -"dDi" = (/obj/machinery/alarm{dir = 1; icon_state = "alarm0"; pixel_y = -22},/turf/simulated/floor/tiled/freezer,/area/crew_quarters/heads/sc/restroom) -"dDj" = (/obj/machinery/shower{dir = 1},/obj/structure/curtain/open/shower,/turf/simulated/floor/tiled/freezer,/area/crew_quarters/heads/sc/restroom) -"dDk" = (/obj/structure/undies_wardrobe,/obj/structure/window/basic{dir = 8},/turf/simulated/floor/tiled/freezer,/area/crew_quarters/heads/sc/restroom) -"dDl" = (/obj/structure/table/standard,/obj/item/device/flashlight/lamp/green,/obj/item/device/radio/intercom{dir = 8; name = "Station Intercom (General)"; pixel_x = -21},/turf/simulated/floor/carpet,/area/crew_quarters/heads/sc/chief/quarters) -"dDm" = (/obj/structure/table/standard,/obj/machinery/atmospherics/unary/vent_pump/on{dir = 1},/turf/simulated/floor/carpet,/area/crew_quarters/heads/sc/chief/quarters) -"dDn" = (/obj/structure/closet/secure_closet/engineering_chief/wardrobe,/turf/simulated/floor/carpet,/area/crew_quarters/heads/sc/chief/quarters) -"dDo" = (/obj/structure/cable/green{d1 = 1; d2 = 4; icon_state = "1-4"},/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor/tiled,/area/hallway/primary/thirddeck/central) -"dDp" = (/obj/structure/disposalpipe/segment,/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor/tiled,/area/hallway/primary/thirddeck/central) -"dDq" = (/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/effect/floor_decal/corner/blue{dir = 4},/turf/simulated/floor/tiled,/area/hallway/primary/thirddeck/central) -"dDr" = (/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/atmospherics/unary/vent_pump/on,/obj/effect/floor_decal/corner/blue{dir = 5},/obj/machinery/light{dir = 1},/turf/simulated/floor/tiled,/area/hallway/primary/thirddeck/central) -"dDs" = (/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/effect/floor_decal/corner/blue{dir = 1},/turf/simulated/floor/tiled,/area/hallway/primary/thirddeck/central) -"dDt" = (/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor/tiled,/area/hallway/primary/thirddeck/central) -"dDu" = (/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/atmospherics/unary/vent_scrubber/on,/obj/effect/floor_decal/corner/blue{dir = 5},/obj/machinery/light{dir = 1},/turf/simulated/floor/tiled,/area/hallway/primary/thirddeck/central) -"dDv" = (/obj/structure/cable/green{d1 = 1; d2 = 8; icon_state = "1-8"},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor/tiled,/area/hallway/primary/thirddeck/central) -"dDw" = (/obj/structure/closet/secure_closet/hos/wardrobe,/turf/simulated/floor/carpet,/area/crew_quarters/heads/sc/hos/quarters) -"dDx" = (/obj/structure/table/standard,/obj/machinery/atmospherics/unary/vent_pump/on{dir = 1},/turf/simulated/floor/carpet,/area/crew_quarters/heads/sc/hos/quarters) -"dDy" = (/obj/structure/table/standard,/obj/item/device/flashlight/lamp/green,/obj/item/device/radio/intercom{dir = 4; name = "Station Intercom (General)"; pixel_x = 21},/turf/simulated/floor/carpet,/area/crew_quarters/heads/sc/hos/quarters) -"dDz" = (/obj/structure/bed/padded,/obj/item/weapon/bedsheet/blue,/obj/item/device/radio/intercom{dir = 8; name = "Station Intercom (General)"; pixel_x = -21},/turf/simulated/floor/carpet/blue,/area/crew_quarters/heads/sc/bs) -"dDA" = (/obj/structure/table/standard,/obj/item/weapon/paper_bin{pixel_x = -3; pixel_y = 7},/obj/item/weapon/folder/blue,/obj/item/weapon/pen/multi,/obj/machinery/atmospherics/unary/vent_pump/on{dir = 1},/turf/simulated/floor/carpet/blue,/area/crew_quarters/heads/sc/bs) -"dDB" = (/obj/structure/bed/padded,/obj/item/weapon/bedsheet/blue,/turf/simulated/floor/carpet/blue,/area/crew_quarters/heads/sc/bs) -"dDC" = (/turf/simulated/wall/r_wall,/area/maintenance/thirddeck/aftstarboard) -"dDD" = (/turf/simulated/wall,/area/maintenance/thirddeck/aftstarboard) -"dDE" = (/obj/machinery/door/firedoor/border_only,/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/door/airlock/maintenance{name = "Maintenance Access"; req_one_access = list(12,19)},/obj/machinery/atmospherics/pipe/simple/hidden,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor/plating,/area/maintenance/thirddeck/aftstarboard) -"dDF" = (/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/simple/hidden,/turf/simulated/floor/plating,/area/maintenance/thirddeck/aftport) -"dDG" = (/obj/structure/reagent_dispensers/fueltank,/turf/simulated/floor/plating,/area/maintenance/thirddeck/aftport) -"dDH" = (/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 8},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/effect/floor_decal/industrial/warning,/turf/simulated/floor/tiled,/area/hallway/primary/thirddeck/central) -"dDI" = (/obj/structure/disposalpipe/segment,/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/effect/floor_decal/industrial/warning,/turf/simulated/floor/tiled,/area/hallway/primary/thirddeck/central) -"dDJ" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/effect/floor_decal/industrial/warning/corner{dir = 8},/turf/simulated/floor/tiled,/area/hallway/primary/thirddeck/central) -"dDK" = (/obj/machinery/atmospherics/pipe/manifold/hidden/supply,/turf/simulated/floor/tiled,/area/hallway/primary/thirddeck/central) -"dDL" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/turf/simulated/floor/tiled,/area/hallway/primary/thirddeck/central) -"dDM" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 6},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 10},/turf/simulated/floor/tiled,/area/hallway/primary/thirddeck/central) -"dDN" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor/tiled,/area/hallway/primary/thirddeck/central) -"dDO" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/camera/network/third_deck{c_tag = "Third Deck - Central Aft"; dir = 1},/turf/simulated/floor/tiled,/area/hallway/primary/thirddeck/central) -"dDP" = (/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers,/turf/simulated/floor/tiled,/area/hallway/primary/thirddeck/central) -"dDQ" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/effect/floor_decal/industrial/warning/corner,/turf/simulated/floor/tiled,/area/hallway/primary/thirddeck/central) -"dDR" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/effect/floor_decal/industrial/warning,/turf/simulated/floor/tiled,/area/hallway/primary/thirddeck/central) -"dDS" = (/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/effect/floor_decal/industrial/warning,/turf/simulated/floor/tiled,/area/hallway/primary/thirddeck/central) -"dDT" = (/obj/structure/closet,/obj/item/weapon/storage/backpack,/obj/random/maintenance/medical,/obj/random/maintenance/medical,/obj/random/maintenance/medical,/obj/random/firstaid,/turf/simulated/floor/plating,/area/maintenance/thirddeck/aftstarboard) -"dDU" = (/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/simple/hidden,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor/plating,/area/maintenance/thirddeck/aftstarboard) -"dDV" = (/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/simple/hidden,/obj/machinery/light/small{dir = 8},/turf/simulated/floor/plating,/area/maintenance/thirddeck/aftport) -"dDW" = (/obj/structure/reagent_dispensers/watertank,/turf/simulated/floor/plating,/area/maintenance/thirddeck/aftport) -"dDX" = (/turf/simulated/wall/r_wall,/area/bridge/meeting_room) -"dDY" = (/obj/structure/flora/pottedplant/largebush,/turf/simulated/floor/wood,/area/bridge/meeting_room) -"dDZ" = (/obj/structure/extinguisher_cabinet{pixel_y = 30},/turf/simulated/floor/wood,/area/bridge/meeting_room) -"dEa" = (/obj/machinery/light{dir = 1},/turf/simulated/floor/wood,/area/bridge/meeting_room) -"dEb" = (/obj/machinery/alarm{pixel_y = 22},/turf/simulated/floor/wood,/area/bridge/meeting_room) -"dEc" = (/turf/simulated/floor/wood,/area/bridge/meeting_room) -"dEd" = (/obj/machinery/newscaster{pixel_y = 30},/turf/simulated/floor/wood,/area/bridge/meeting_room) -"dEe" = (/obj/machinery/vending/coffee,/obj/machinery/computer/security/telescreen/entertainment{icon_state = "frame"; pixel_x = 32; pixel_y = 0},/turf/simulated/floor/wood,/area/bridge/meeting_room) -"dEf" = (/obj/machinery/door/blast/regular{density = 0; dir = 1; icon_state = "pdoor0"; id = "bridge blast"; name = "Bridge Blast Doors"; opacity = 0},/obj/effect/floor_decal/industrial/hatch/yellow,/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor/tiled,/area/bridge) -"dEg" = (/obj/machinery/door/blast/regular{density = 0; dir = 1; icon_state = "pdoor0"; id = "bridge blast"; name = "Bridge Blast Doors"; opacity = 0},/obj/effect/floor_decal/industrial/hatch/yellow,/obj/structure/disposalpipe/segment,/turf/simulated/floor/tiled,/area/bridge) -"dEh" = (/obj/structure/sign/warning/secure_area,/turf/simulated/wall/r_wall,/area/hallway/primary/thirddeck/central) -"dEi" = (/turf/simulated/wall,/area/hallway/primary/thirddeck/central) -"dEj" = (/obj/structure/sign/deck/third,/turf/simulated/wall,/area/hallway/primary/thirddeck/central) -"dEk" = (/obj/machinery/door/firedoor/border_only,/turf/simulated/floor/tiled,/area/hallway/primary/thirddeck/central) -"dEl" = (/obj/machinery/door/firedoor/glass,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor/tiled,/area/hallway/primary/thirddeck/central) -"dEm" = (/obj/machinery/door/blast/regular{density = 0; dir = 1; icon_state = "pdoor0"; id = "bridge blast"; name = "Bridge Blast Doors"; opacity = 0},/obj/effect/floor_decal/industrial/hatch/yellow,/turf/simulated/floor/tiled,/area/bridge) -"dEn" = (/obj/machinery/door/blast/regular{density = 0; dir = 1; icon_state = "pdoor0"; id = "bridge blast"; name = "Bridge Blast Doors"; opacity = 0},/obj/effect/floor_decal/industrial/hatch/yellow,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor/tiled,/area/bridge) -"dEo" = (/turf/simulated/wall/r_wall,/area/crew_quarters/heads/sc/sd) -"dEp" = (/obj/structure/table/wooden_reinforced,/obj/machinery/atmospherics/unary/vent_pump/on,/obj/machinery/computer/security/telescreen/entertainment{icon_state = "frame"; pixel_x = -32; pixel_y = 0},/obj/item/device/flashlight/lamp/green,/turf/simulated/floor/carpet,/area/crew_quarters/heads/sc/sd) -"dEq" = (/obj/structure/table/wooden_reinforced,/obj/item/weapon/storage/photo_album{pixel_y = -10},/obj/item/device/camera,/obj/machinery/firealarm{pixel_y = 24},/turf/simulated/floor/carpet,/area/crew_quarters/heads/sc/sd) -"dEr" = (/obj/structure/bed/padded,/obj/item/weapon/bedsheet/captain,/turf/simulated/floor/carpet,/area/crew_quarters/heads/sc/sd) -"dEs" = (/obj/structure/closet/wardrobe/captain{name = "station director's wardrobe"},/obj/random/drinkbottle,/obj/machinery/light{dir = 1},/turf/simulated/floor/carpet,/area/crew_quarters/heads/sc/sd) -"dEt" = (/obj/structure/sink{pixel_y = 16},/obj/structure/mirror{pixel_x = 0; pixel_y = 32},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 6},/turf/simulated/floor/tiled/freezer,/area/crew_quarters/heads/sc/sd) -"dEu" = (/obj/structure/table/standard,/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 8},/obj/item/weapon/soap/deluxe,/obj/item/weapon/towel{color = "#FFD700"; name = "gold towel"},/obj/machinery/alarm{pixel_y = 22},/turf/simulated/floor/tiled/freezer,/area/crew_quarters/heads/sc/sd) -"dEv" = (/obj/structure/closet,/obj/item/weapon/weldingtool,/obj/effect/decal/cleanable/dirt,/obj/random/maintenance/clean,/obj/random/maintenance/engineering,/obj/random/maintenance/engineering,/turf/simulated/floor/plating,/area/maintenance/thirddeck/aftstarboard) -"dEw" = (/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/light/small{dir = 4; pixel_y = 0},/obj/machinery/atmospherics/pipe/simple/hidden,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor/plating,/area/maintenance/thirddeck/aftstarboard) -"dEx" = (/turf/simulated/floor/plating,/area/maintenance/thirddeck/aftport) -"dEy" = (/obj/machinery/button/remote/blast_door{id = "heads_meeting"; name = "Security Shutters"; pixel_x = -26; pixel_y = 0},/turf/simulated/floor/wood,/area/bridge/meeting_room) -"dEz" = (/obj/machinery/atmospherics/unary/vent_pump/on{dir = 4},/turf/simulated/floor/carpet,/area/bridge/meeting_room) -"dEA" = (/obj/structure/bed/chair/comfy/blue,/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/turf/simulated/floor/carpet,/area/bridge/meeting_room) -"dEB" = (/obj/structure/bed/chair/comfy/blue,/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 10},/turf/simulated/floor/carpet,/area/bridge/meeting_room) -"dEC" = (/obj/structure/bed/chair/comfy/blue,/turf/simulated/floor/carpet,/area/bridge/meeting_room) -"dED" = (/turf/simulated/floor/carpet,/area/bridge/meeting_room) -"dEE" = (/obj/machinery/power/apc{dir = 4; name = "east bump"; pixel_x = 24},/obj/machinery/light_switch{pixel_x = 36; pixel_y = 0},/obj/structure/cable/green{d2 = 2; icon_state = "0-2"},/turf/simulated/floor/wood,/area/bridge/meeting_room) -"dEF" = (/obj/machinery/door/firedoor/border_only,/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/door/airlock/glass_command{name = "Bridge"; req_access = list(19)},/turf/simulated/floor/tiled,/area/bridge) -"dEG" = (/obj/machinery/door/firedoor/border_only,/obj/structure/disposalpipe/segment,/obj/machinery/door/airlock/glass_command{name = "Bridge"; req_access = list(19)},/turf/simulated/floor/tiled,/area/bridge) -"dEH" = (/turf/simulated/open,/area/hallway/primary/thirddeck/central) -"dEI" = (/obj/effect/floor_decal/industrial/warning{dir = 8},/obj/machinery/light{dir = 1},/turf/simulated/floor/tiled,/area/hallway/primary/thirddeck/central) -"dEJ" = (/obj/machinery/alarm{pixel_y = 22},/turf/simulated/floor/tiled,/area/hallway/primary/thirddeck/central) -"dEK" = (/obj/machinery/vending/snack,/turf/simulated/floor/tiled,/area/hallway/primary/thirddeck/central) -"dEL" = (/obj/machinery/door/firedoor/border_only,/obj/machinery/door/airlock/glass_command{id_tag = "sbridgedoor"; name = "Bridge"; req_access = list(19)},/turf/simulated/floor/tiled,/area/bridge) -"dEM" = (/obj/machinery/door/firedoor/border_only,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/door/airlock/glass_command{id_tag = "sbridgedoor"; name = "Bridge"; req_access = list(19)},/turf/simulated/floor/tiled,/area/bridge) -"dEN" = (/obj/structure/table/wooden_reinforced,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/item/weapon/storage/box/matches,/obj/item/clothing/mask/smokable/cigarette/cigar,/obj/item/weapon/reagent_containers/food/drinks/flask{pixel_x = 8},/obj/random_multi/single_item/captains_spare_id,/obj/item/device/radio/intercom{dir = 8; name = "Station Intercom (General)"; pixel_x = -21},/turf/simulated/floor/carpet,/area/crew_quarters/heads/sc/sd) -"dEO" = (/obj/structure/bed/chair/comfy/brown{dir = 8},/turf/simulated/floor/carpet,/area/crew_quarters/heads/sc/sd) -"dEP" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 6},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 6},/turf/simulated/floor/carpet,/area/crew_quarters/heads/sc/sd) -"dEQ" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{dir = 1},/turf/simulated/floor/carpet,/area/crew_quarters/heads/sc/sd) -"dER" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/door/firedoor/border_only,/obj/machinery/door/airlock{name = "Bathroom"},/turf/simulated/floor/tiled/freezer,/area/crew_quarters/heads/sc/sd) -"dES" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 9},/turf/simulated/floor/tiled/freezer,/area/crew_quarters/heads/sc/sd) -"dET" = (/obj/machinery/light/small{dir = 4},/obj/machinery/atmospherics/unary/vent_pump/on{dir = 8},/turf/simulated/floor/tiled/freezer,/area/crew_quarters/heads/sc/sd) -"dEU" = (/obj/structure/closet/crate,/obj/item/clothing/mask/gas,/obj/item/device/flashlight,/obj/item/device/flashlight,/obj/effect/decal/cleanable/dirt,/obj/random/maintenance/medical,/obj/random/maintenance/medical,/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 6},/turf/simulated/floor/plating,/area/maintenance/thirddeck/aftstarboard) -"dEV" = (/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/simple/hidden,/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 9; pixel_y = 0},/turf/simulated/floor/plating,/area/maintenance/thirddeck/aftstarboard) -"dEW" = (/obj/structure/table/steel,/obj/random/maintenance/engineering,/turf/simulated/floor/plating,/area/maintenance/thirddeck/aftport) -"dEX" = (/obj/machinery/door/firedoor/border_only,/obj/effect/wingrille_spawn/reinforced,/turf/simulated/floor/plating,/area/maintenance/thirddeck/aftport) -"dEY" = (/obj/machinery/door/firedoor/border_only,/obj/effect/wingrille_spawn/reinforced,/obj/machinery/door/blast/shutters{density = 0; dir = 8; icon_state = "shutter0"; id = "heads_meeting"; name = "Meeting Room Window Shutters"; opacity = 0},/obj/structure/cable/green{d2 = 2; icon_state = "0-2"},/obj/structure/cable/green,/turf/simulated/floor/plating,/area/bridge/meeting_room) -"dEZ" = (/obj/structure/bed/chair/comfy/blue{dir = 4},/turf/simulated/floor/carpet,/area/bridge/meeting_room) -"dFa" = (/obj/structure/table/wooden_reinforced,/obj/item/weapon/folder/red,/obj/item/weapon/folder/blue{pixel_x = -2; pixel_y = -2},/turf/simulated/floor/carpet,/area/bridge/meeting_room) -"dFb" = (/obj/structure/table/wooden_reinforced,/obj/item/weapon/paper_bin{pixel_x = -3; pixel_y = 7},/obj/item/weapon/pen,/obj/effect/landmark{name = "blobstart"},/obj/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 8},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 6},/turf/simulated/floor/carpet,/area/bridge/meeting_room) -"dFc" = (/obj/structure/table/wooden_reinforced,/obj/item/weapon/book/manual/security_space_law,/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor/carpet,/area/bridge/meeting_room) -"dFd" = (/obj/structure/bed/chair/comfy/blue{dir = 8},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{dir = 1},/turf/simulated/floor/carpet,/area/bridge/meeting_room) -"dFe" = (/obj/structure/disposalpipe/segment{dir = 4; icon_state = "pipe-c"},/obj/structure/cable/green{d1 = 1; d2 = 4; icon_state = "1-4"},/obj/structure/cable/green{d1 = 2; d2 = 4; icon_state = "2-4"},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor/wood,/area/bridge/meeting_room) -"dFf" = (/obj/machinery/door/firedoor/border_only,/obj/structure/disposalpipe/segment{dir = 4},/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/door/airlock/command{name = "Conference Room"; req_access = list(19)},/turf/simulated/floor/wood,/area/bridge/meeting_room) -"dFg" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/structure/cable/green{d1 = 1; d2 = 8; icon_state = "1-8"},/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/manifold4w/hidden/supply,/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{dir = 4},/obj/effect/floor_decal/industrial/warning{icon_state = "warning"; dir = 9},/turf/simulated/floor/tiled,/area/bridge) -"dFh" = (/obj/structure/disposalpipe/junction{dir = 1; icon_state = "pipe-j2"},/obj/machinery/atmospherics/unary/vent_pump/on{dir = 8},/obj/effect/floor_decal/industrial/warning{dir = 5},/obj/machinery/light{dir = 4},/turf/simulated/floor/tiled,/area/bridge) -"dFi" = (/obj/machinery/ai_status_display,/turf/simulated/wall/r_wall,/area/hallway/primary/thirddeck/central) -"dFj" = (/obj/effect/floor_decal/industrial/warning{dir = 8},/turf/simulated/floor/tiled,/area/hallway/primary/thirddeck/central) -"dFk" = (/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 4},/turf/simulated/floor/tiled,/area/hallway/primary/thirddeck/central) -"dFl" = (/obj/machinery/hologram/holopad,/obj/effect/floor_decal/industrial/outline/grey,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 9},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 5},/turf/simulated/floor/tiled,/area/hallway/primary/thirddeck/central) -"dFm" = (/obj/machinery/atmospherics/unary/vent_pump/on{dir = 8},/turf/simulated/floor/tiled,/area/hallway/primary/thirddeck/central) -"dFn" = (/obj/machinery/vending/cola,/turf/simulated/floor/tiled,/area/hallway/primary/thirddeck/central) -"dFo" = (/obj/machinery/status_display,/turf/simulated/wall/r_wall,/area/hallway/primary/thirddeck/central) -"dFp" = (/obj/machinery/atmospherics/unary/vent_pump/on{dir = 4},/obj/effect/floor_decal/industrial/warning{icon_state = "warning"; dir = 9},/obj/machinery/light{dir = 8; icon_state = "tube1"; pixel_y = 0},/turf/simulated/floor/tiled,/area/bridge) -"dFq" = (/obj/machinery/atmospherics/pipe/manifold4w/hidden/supply,/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{dir = 8},/obj/effect/floor_decal/industrial/warning{dir = 5},/turf/simulated/floor/tiled,/area/bridge) -"dFr" = (/obj/machinery/door/firedoor/border_only,/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/door/airlock/command{name = "Station Director's Quarters"; req_access = list(20)},/turf/simulated/floor/carpet,/area/crew_quarters/heads/sc/sd) -"dFs" = (/obj/machinery/atmospherics/pipe/manifold/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/light,/turf/simulated/floor/carpet,/area/crew_quarters/heads/sc/sd) -"dFt" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/alarm{dir = 1; pixel_y = -22},/turf/simulated/floor/carpet,/area/crew_quarters/heads/sc/sd) -"dFu" = (/obj/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{dir = 4},/turf/simulated/floor/carpet,/area/crew_quarters/heads/sc/sd) -"dFv" = (/obj/structure/closet/secure_closet/captains{name = "station director's locker"},/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 1},/turf/simulated/floor/carpet,/area/crew_quarters/heads/sc/sd) -"dFw" = (/obj/structure/toilet{dir = 1},/turf/simulated/floor/tiled/freezer,/area/crew_quarters/heads/sc/sd) -"dFx" = (/obj/machinery/shower{dir = 1},/obj/structure/curtain/open/shower,/obj/structure/window/reinforced{dir = 8; health = 1e+006},/obj/machinery/door/window/northright,/obj/item/weapon/bikehorn/rubberducky,/turf/simulated/floor/tiled/freezer,/area/crew_quarters/heads/sc/sd) -"dFy" = (/obj/machinery/door/firedoor/border_only,/obj/effect/wingrille_spawn/reinforced,/turf/simulated/floor/plating,/area/maintenance/thirddeck/aftstarboard) -"dFz" = (/obj/structure/closet/crate,/obj/item/stack/cable_coil/random,/obj/item/stack/cable_coil/random,/obj/item/weapon/crowbar,/obj/item/weapon/wirecutters,/obj/random/maintenance/medical,/obj/random/maintenance/medical,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor,/area/maintenance/thirddeck/aftstarboard) -"dFA" = (/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/simple/hidden,/turf/simulated/floor/plating,/area/maintenance/thirddeck/aftstarboard) -"dFB" = (/obj/machinery/power/apc{dir = 8; name = "west bump"; pixel_x = -24},/obj/structure/cable/green,/obj/machinery/atmospherics/pipe/simple/hidden,/turf/simulated/floor/plating,/area/maintenance/thirddeck/aftport) -"dFC" = (/obj/structure/table/steel,/obj/random/tech_supply,/turf/simulated/floor/plating,/area/maintenance/thirddeck/aftport) -"dFD" = (/obj/machinery/door/firedoor/border_only,/obj/effect/wingrille_spawn/reinforced,/obj/machinery/door/blast/shutters{density = 0; dir = 8; icon_state = "shutter0"; id = "heads_meeting"; name = "Meeting Room Window Shutters"; opacity = 0},/obj/structure/cable/green{d2 = 2; icon_state = "0-2"},/obj/structure/cable/green{d2 = 4; icon_state = "0-4"},/turf/simulated/floor/plating,/area/bridge/meeting_room) -"dFE" = (/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor/wood,/area/bridge/meeting_room) -"dFF" = (/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor/carpet,/area/bridge/meeting_room) -"dFG" = (/obj/structure/bed/chair/comfy/blue{dir = 1},/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor/carpet,/area/bridge/meeting_room) -"dFH" = (/obj/structure/bed/chair/comfy/blue{dir = 1},/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/structure/cable/green{d1 = 2; d2 = 4; icon_state = "2-4"},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor/carpet,/area/bridge/meeting_room) -"dFI" = (/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 1},/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor/carpet,/area/bridge/meeting_room) -"dFJ" = (/obj/structure/disposalpipe/segment,/obj/structure/cable/green{d1 = 1; d2 = 8; icon_state = "1-8"},/obj/machinery/camera/network/command{c_tag = "COM - Conference Room"; dir = 8},/turf/simulated/floor/wood,/area/bridge/meeting_room) -"dFK" = (/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{dir = 8},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/effect/floor_decal/industrial/warning{dir = 10},/turf/simulated/floor/tiled,/area/bridge) -"dFL" = (/obj/structure/disposalpipe/segment,/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 8},/obj/effect/floor_decal/industrial/warning{dir = 6},/turf/simulated/floor/tiled,/area/bridge) -"dFM" = (/obj/effect/floor_decal/industrial/warning{icon_state = "warning"; dir = 1},/obj/effect/floor_decal/corner/blue{dir = 10},/obj/machinery/firealarm{dir = 8; pixel_x = -24},/turf/simulated/floor/tiled,/area/hallway/primary/thirddeck/central) -"dFN" = (/obj/effect/floor_decal/industrial/warning/corner{icon_state = "warningcorner"; dir = 1},/obj/effect/floor_decal/corner/blue{dir = 10},/turf/simulated/floor/tiled,/area/hallway/primary/thirddeck/central) -"dFO" = (/obj/effect/floor_decal/corner/blue{dir = 8},/obj/machinery/camera/network/third_deck{c_tag = "Third Deck - Stairwell"; dir = 1},/turf/simulated/floor/tiled,/area/hallway/primary/thirddeck/central) -"dFP" = (/obj/structure/disposalpipe/segment{dir = 4; icon_state = "pipe-c"},/turf/simulated/floor/tiled,/area/hallway/primary/thirddeck/central) -"dFQ" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/effect/floor_decal/corner/blue,/turf/simulated/floor/tiled,/area/hallway/primary/thirddeck/central) -"dFR" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/effect/floor_decal/corner/blue{dir = 10},/obj/machinery/light,/turf/simulated/floor/tiled,/area/hallway/primary/thirddeck/central) -"dFS" = (/obj/machinery/disposal,/obj/structure/disposalpipe/trunk{dir = 8},/obj/effect/floor_decal/corner/blue{dir = 10},/obj/item/device/radio/intercom{dir = 4; name = "Station Intercom (General)"; pixel_x = 21},/turf/simulated/floor/tiled,/area/hallway/primary/thirddeck/central) -"dFT" = (/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 4},/obj/effect/floor_decal/industrial/warning{dir = 10},/turf/simulated/floor/tiled,/area/bridge) -"dFU" = (/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/effect/floor_decal/industrial/warning{dir = 6},/turf/simulated/floor/tiled,/area/bridge) -"dFV" = (/obj/machinery/door/firedoor/border_only,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/door/airlock/command{name = "Station Director's Quarters"; req_access = list(20)},/turf/simulated/floor/carpet,/area/crew_quarters/heads/sc/sd) -"dFW" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor/plating,/area/maintenance/thirddeck/aftstarboard) -"dFX" = (/obj/machinery/power/apc{dir = 4; name = "east bump"; pixel_x = 24},/obj/structure/cable/green,/obj/machinery/atmospherics/pipe/simple/hidden,/turf/simulated/floor/plating,/area/maintenance/thirddeck/aftstarboard) -"dFY" = (/obj/machinery/atmospherics/pipe/simple/hidden,/turf/simulated/floor/plating,/area/maintenance/thirddeck/aftport) -"dFZ" = (/obj/item/frame,/turf/simulated/floor/plating,/area/maintenance/thirddeck/aftport) -"dGa" = (/obj/machinery/door/firedoor/border_only,/obj/effect/wingrille_spawn/reinforced,/obj/machinery/door/blast/shutters{density = 0; dir = 8; icon_state = "shutter0"; id = "heads_meeting"; name = "Meeting Room Window Shutters"; opacity = 0},/obj/structure/cable/green,/turf/simulated/floor/plating,/area/bridge/meeting_room) -"dGb" = (/obj/structure/table/wooden_reinforced,/obj/item/weapon/storage/box/donut,/turf/simulated/floor/wood,/area/bridge/meeting_room) -"dGc" = (/obj/machinery/hologram/holopad,/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor/wood,/area/bridge/meeting_room) -"dGd" = (/obj/structure/disposalpipe/segment,/obj/machinery/firealarm{dir = 4; pixel_x = 24},/turf/simulated/floor/wood,/area/bridge/meeting_room) -"dGe" = (/turf/simulated/wall/r_wall,/area/bridge) -"dGf" = (/obj/machinery/door/firedoor/border_only,/obj/structure/cable/green{d2 = 4; icon_state = "0-4"},/obj/machinery/door/blast/regular{density = 0; dir = 4; icon_state = "pdoor0"; id = "bridge blast"; name = "Bridge Blast Doors"; opacity = 0},/obj/effect/wingrille_spawn/reinforced/polarized{id = "bridge_center"},/turf/simulated/floor/plating,/area/bridge) -"dGg" = (/obj/machinery/door/firedoor/border_only,/obj/structure/cable/green{d2 = 8; icon_state = "0-8"},/obj/structure/cable/green{d2 = 4; icon_state = "0-4"},/obj/machinery/door/blast/regular{density = 0; dir = 4; icon_state = "pdoor0"; id = "bridge blast"; name = "Bridge Blast Doors"; opacity = 0},/obj/effect/wingrille_spawn/reinforced/polarized{id = "bridge_center"},/turf/simulated/floor/plating,/area/bridge) -"dGh" = (/obj/machinery/door/firedoor/glass,/obj/structure/disposalpipe/segment,/obj/structure/cable/green{d1 = 2; d2 = 8; icon_state = "2-8"},/obj/structure/cable/green{d1 = 2; d2 = 4; icon_state = "2-4"},/obj/machinery/door/blast/regular{density = 0; dir = 1; icon_state = "pdoor0"; id = "bridge blast"; name = "Bridge Blast Doors"; opacity = 0},/obj/effect/floor_decal/industrial/hatch/yellow,/obj/machinery/door/airlock/glass_command{name = "Bridge"; req_access = list(19)},/turf/simulated/floor/tiled,/area/bridge) -"dGi" = (/obj/machinery/door/firedoor/border_only,/obj/structure/cable/green{d2 = 8; icon_state = "0-8"},/obj/structure/cable/green{d2 = 4; icon_state = "0-4"},/obj/machinery/door/blast/regular{density = 0; dir = 8; icon_state = "pdoor0"; id = "bridge blast"; name = "Bridge Blast Doors"; opacity = 0},/obj/effect/wingrille_spawn/reinforced/polarized{id = "bridge_center"},/turf/simulated/floor/plating,/area/bridge) -"dGj" = (/obj/machinery/door/firedoor/border_only,/obj/structure/cable/green{d2 = 8; icon_state = "0-8"},/obj/machinery/door/blast/regular{density = 0; dir = 8; icon_state = "pdoor0"; id = "bridge blast"; name = "Bridge Blast Doors"; opacity = 0},/obj/effect/wingrille_spawn/reinforced/polarized{id = "bridge_center"},/turf/simulated/floor/plating,/area/bridge) -"dGk" = (/obj/structure/displaycase,/turf/simulated/floor/wood,/area/crew_quarters/heads/sc/sd) -"dGl" = (/obj/machinery/keycard_auth{pixel_x = 0; pixel_y = 24},/turf/simulated/floor/wood,/area/crew_quarters/heads/sc/sd) -"dGm" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor/wood,/area/crew_quarters/heads/sc/sd) -"dGn" = (/obj/structure/cable/green{d2 = 2; icon_state = "0-2"},/obj/machinery/power/apc{dir = 1; name = "north bump"; pixel_x = 0; pixel_y = 24},/obj/machinery/light_switch{pixel_x = 11; pixel_y = 24},/obj/machinery/camera/network/command{c_tag = "COM - Station Director's Office"; dir = 2},/turf/simulated/floor/wood,/area/crew_quarters/heads/sc/sd) -"dGo" = (/obj/structure/table/wooden_reinforced,/obj/machinery/photocopier/faxmachine{department = "Captain's Office"},/obj/item/device/radio/intercom{dir = 1; name = "Station Intercom (General)"; pixel_y = 21},/turf/simulated/floor/wood,/area/crew_quarters/heads/sc/sd) -"dGp" = (/obj/machinery/computer/card,/obj/random_multi/single_item/captains_spare_id,/obj/machinery/light{dir = 1},/turf/simulated/floor/wood,/area/crew_quarters/heads/sc/sd) -"dGq" = (/obj/machinery/computer/communications,/turf/simulated/floor/wood,/area/crew_quarters/heads/sc/sd) -"dGr" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/meter,/turf/simulated/floor/plating,/area/maintenance/thirddeck/aftstarboard) -"dGs" = (/obj/machinery/atmospherics/pipe/simple/hidden,/turf/simulated/floor/plating,/area/maintenance/thirddeck/aftstarboard) -"dGt" = (/obj/structure/cable/yellow{d2 = 4; icon_state = "0-4"},/obj/machinery/power/solar{id = "aftportsolar"; name = "Port Solar Array"},/turf/simulated/floor/airless{icon_state = "solarpanel"},/area/solar/aftportsolar) -"dGu" = (/obj/structure/cable/yellow{d1 = 2; d2 = 4; icon_state = "2-4"},/obj/structure/cable/yellow{d1 = 2; d2 = 8; icon_state = "2-8"},/turf/simulated/floor/airless,/area/solar/aftportsolar) -"dGv" = (/obj/structure/cable/yellow{d2 = 8; icon_state = "0-8"},/obj/machinery/power/solar{id = "aftportsolar"; name = "Port Solar Array"},/turf/simulated/floor/airless{icon_state = "solarpanel"},/area/solar/aftportsolar) -"dGw" = (/obj/machinery/portable_atmospherics/powered/pump/filled,/turf/simulated/floor/plating,/area/maintenance/thirddeck/aftport) -"dGx" = (/obj/structure/sign/warning/high_voltage,/turf/simulated/wall/r_wall,/area/bridge/meeting_room) -"dGy" = (/obj/structure/table/wooden_reinforced,/obj/item/weapon/hand_labeler,/obj/item/device/retail_scanner/command,/obj/item/device/radio/intercom{name = "Station Intercom (General)"; pixel_y = -21},/turf/simulated/floor/wood,/area/bridge/meeting_room) -"dGz" = (/obj/structure/table/wooden_reinforced,/obj/machinery/recharger{pixel_y = 0},/turf/simulated/floor/wood,/area/bridge/meeting_room) -"dGA" = (/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor/wood,/area/bridge/meeting_room) -"dGB" = (/obj/machinery/light,/turf/simulated/floor/wood,/area/bridge/meeting_room) -"dGC" = (/obj/machinery/papershredder,/turf/simulated/floor/wood,/area/bridge/meeting_room) -"dGD" = (/obj/machinery/disposal,/obj/structure/disposalpipe/trunk{dir = 1},/turf/simulated/floor/wood,/area/bridge/meeting_room) -"dGE" = (/obj/machinery/status_display,/turf/simulated/wall/r_wall,/area/bridge/meeting_room) -"dGF" = (/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/effect/floor_decal/industrial/warning{icon_state = "warning"; dir = 1},/turf/simulated/floor/tiled,/area/bridge) -"dGG" = (/obj/structure/disposalpipe/segment,/obj/effect/floor_decal/industrial/warning{icon_state = "warning"; dir = 1},/turf/simulated/floor/tiled,/area/bridge) -"dGH" = (/obj/item/device/radio/intercom{dir = 1; name = "Station Intercom (General)"; pixel_y = 21},/obj/machinery/camera/network/command{c_tag = "COM - Bridge Port"; dir = 6},/obj/machinery/light{dir = 1},/obj/structure/window/reinforced{dir = 8},/obj/structure/closet/secure_closet/guncabinet/sidearm{anchored = 1},/turf/simulated/floor/tiled,/area/bridge) -"dGI" = (/obj/structure/noticeboard{pixel_y = 27},/obj/effect/floor_decal/corner/blue{dir = 5},/turf/simulated/floor/tiled,/area/bridge) -"dGJ" = (/obj/effect/floor_decal/corner/blue{dir = 5},/turf/simulated/floor/tiled,/area/bridge) -"dGK" = (/obj/effect/floor_decal/corner/blue{dir = 1},/turf/simulated/floor/tiled,/area/bridge) -"dGL" = (/obj/structure/disposalpipe/segment,/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor/tiled,/area/bridge) -"dGM" = (/obj/effect/floor_decal/corner/blue{dir = 4},/turf/simulated/floor/tiled,/area/bridge) -"dGN" = (/obj/structure/closet/fireaxecabinet{pixel_y = 32},/obj/effect/floor_decal/corner/blue{dir = 5},/turf/simulated/floor/tiled,/area/bridge) -"dGO" = (/obj/item/device/radio/intercom{dir = 1; name = "Station Intercom (General)"; pixel_y = 21},/obj/machinery/camera/network/command{c_tag = "COM - Bridge Starboard"},/obj/machinery/light{dir = 1},/obj/structure/window/reinforced{dir = 4},/obj/structure/closet/emcloset,/turf/simulated/floor/tiled,/area/bridge) -"dGP" = (/obj/effect/floor_decal/industrial/warning{icon_state = "warning"; dir = 1},/turf/simulated/floor/tiled,/area/bridge) -"dGQ" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/effect/floor_decal/industrial/warning{icon_state = "warning"; dir = 1},/turf/simulated/floor/tiled,/area/bridge) -"dGR" = (/obj/machinery/ai_status_display,/turf/simulated/wall/r_wall,/area/crew_quarters/heads/sc/sd) -"dGS" = (/obj/structure/filingcabinet,/turf/simulated/floor/wood,/area/crew_quarters/heads/sc/sd) -"dGT" = (/obj/machinery/atmospherics/unary/vent_pump/on{dir = 4},/turf/simulated/floor/wood,/area/crew_quarters/heads/sc/sd) -"dGU" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 9; pixel_y = 0},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor/wood,/area/crew_quarters/heads/sc/sd) -"dGV" = (/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor/wood,/area/crew_quarters/heads/sc/sd) -"dGW" = (/turf/simulated/floor/wood,/area/crew_quarters/heads/sc/sd) -"dGX" = (/obj/structure/bed/chair/office/dark,/obj/effect/landmark/start{name = "Colony Director"},/obj/machinery/button/remote/airlock{desc = "A remote control switch for the Starboard Bridge Doors."; id = "sbridgedoor"; name = "Starboard Bridge Door Control"; pixel_x = 30; pixel_y = -6},/obj/machinery/button/remote/airlock{desc = "A remote control switch for the captain's office."; id = "captaindoor"; name = "Office Door Control"; pixel_x = 30; pixel_y = 6},/turf/simulated/floor/wood,/area/crew_quarters/heads/sc/sd) -"dGY" = (/obj/structure/table/wooden_reinforced,/obj/machinery/requests_console{announcementConsole = 1; department = "Station Director's Desk"; departmentType = 5; name = "Station Administrator RC"; pixel_x = 30; pixel_y = 0},/turf/simulated/floor/wood,/area/crew_quarters/heads/sc/sd) -"dGZ" = (/obj/structure/table/rack{dir = 4},/obj/item/clothing/mask/gas,/obj/random/maintenance/engineering,/obj/random/maintenance/clean,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor/plating,/area/maintenance/thirddeck/aftstarboard) -"dHa" = (/obj/structure/cable/yellow{d2 = 4; icon_state = "0-4"},/obj/machinery/power/solar{id = "aftstarboardsolar"; name = "Starboard Solar Array"},/turf/simulated/floor/airless{icon_state = "solarpanel"},/area/solar/aftstarboardsolar) -"dHb" = (/obj/structure/cable/yellow{d1 = 2; d2 = 4; icon_state = "2-4"},/obj/structure/cable/yellow{d1 = 2; d2 = 8; icon_state = "2-8"},/turf/simulated/floor/airless,/area/solar/aftstarboardsolar) -"dHc" = (/obj/structure/cable/yellow{d2 = 8; icon_state = "0-8"},/obj/machinery/power/solar{id = "aftstarboardsolar"; name = "Starboard Solar Array"},/turf/simulated/floor/airless{icon_state = "solarpanel"},/area/solar/aftstarboardsolar) -"dHd" = (/obj/structure/cable/yellow{d1 = 2; d2 = 4; icon_state = "2-4"},/obj/structure/cable/yellow{d1 = 2; d2 = 8; icon_state = "2-8"},/obj/structure/cable/yellow{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor/airless,/area/solar/aftportsolar) -"dHe" = (/obj/machinery/alarm{dir = 8; icon_state = "alarm0"; pixel_x = 22},/obj/machinery/space_heater,/turf/simulated/floor/plating,/area/maintenance/thirddeck/aftport) -"dHf" = (/obj/machinery/door/firedoor/border_only,/obj/effect/wingrille_spawn/reinforced,/turf/simulated/floor/plating,/area/bridge/meeting_room) -"dHg" = (/obj/machinery/door/firedoor/glass,/obj/effect/wingrille_spawn/reinforced,/turf/simulated/floor/plating,/area/bridge/meeting_room) -"dHh" = (/obj/machinery/door/firedoor/border_only,/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/door/airlock/command{name = "Conference Room"; req_access = list(19)},/turf/simulated/floor/wood,/area/bridge/meeting_room) -"dHi" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/structure/cable/green{d1 = 1; d2 = 4; icon_state = "1-4"},/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor/tiled,/area/bridge) -"dHj" = (/obj/structure/disposalpipe/segment{dir = 1; icon_state = "pipe-c"},/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor/tiled,/area/bridge) -"dHk" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/structure/cable/green{d1 = 2; d2 = 8; icon_state = "2-8"},/turf/simulated/floor/tiled,/area/bridge) -"dHl" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor/tiled,/area/bridge) -"dHm" = (/obj/structure/bed/chair,/obj/structure/disposalpipe/segment{dir = 4},/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor/tiled,/area/bridge) -"dHn" = (/obj/structure/disposalpipe/junction{dir = 8},/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/structure/cable/green{d1 = 2; d2 = 8; icon_state = "2-8"},/obj/structure/cable/green{d1 = 1; d2 = 8; icon_state = "1-8"},/turf/simulated/floor/tiled,/area/bridge) -"dHo" = (/obj/structure/disposalpipe/segment{dir = 2; icon_state = "pipe-c"},/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor/tiled,/area/bridge) -"dHp" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/structure/cable/green{d1 = 2; d2 = 8; icon_state = "2-8"},/turf/simulated/floor/tiled,/area/bridge) -"dHq" = (/obj/structure/table/rack,/obj/structure/window/reinforced,/obj/item/weapon/tank/jetpack/oxygen,/obj/item/clothing/mask/gas,/obj/item/clothing/suit/armor/captain,/obj/item/clothing/head/helmet/space/capspace,/obj/structure/window/basic{dir = 1},/obj/structure/window/reinforced{dir = 8; health = 1e+006},/obj/structure/window/reinforced{dir = 4},/turf/simulated/floor/wood,/area/crew_quarters/heads/sc/sd) -"dHr" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/door/window/southleft{name = "Director's Desk Door"; req_access = list(20)},/turf/simulated/floor/wood,/area/crew_quarters/heads/sc/sd) -"dHs" = (/obj/structure/table/wooden_reinforced,/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/item/weapon/paper_bin{pixel_x = -3; pixel_y = 7},/obj/item/weapon/folder/blue,/obj/item/device/megaphone,/obj/item/weapon/pen/multi,/turf/simulated/floor/wood,/area/crew_quarters/heads/sc/sd) -"dHt" = (/obj/structure/table/wooden_reinforced,/obj/machinery/computer/skills,/turf/simulated/floor/wood,/area/crew_quarters/heads/sc/sd) -"dHu" = (/obj/structure/table/wooden_reinforced,/obj/item/weapon/folder/blue_captain,/obj/item/weapon/stamp/denied{pixel_x = -2; pixel_y = -2},/obj/item/weapon/stamp/captain,/turf/simulated/floor/wood,/area/crew_quarters/heads/sc/sd) -"dHv" = (/obj/structure/table/wooden_reinforced,/obj/item/device/flashlight/lamp/green,/obj/machinery/newscaster/security_unit{pixel_x = 32; pixel_y = 0},/turf/simulated/floor/wood,/area/crew_quarters/heads/sc/sd) -"dHw" = (/obj/machinery/alarm{dir = 4; pixel_x = -22; pixel_y = 0},/obj/machinery/atmospherics/pipe/simple/visible/universal,/turf/simulated/floor/plating,/area/maintenance/thirddeck/aftstarboard) -"dHx" = (/obj/structure/cable/yellow{d1 = 2; d2 = 4; icon_state = "2-4"},/obj/structure/cable/yellow{d1 = 2; d2 = 8; icon_state = "2-8"},/obj/structure/cable/yellow{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor/airless,/area/solar/aftstarboardsolar) -"dHy" = (/obj/structure/closet/emcloset,/turf/simulated/floor/plating,/area/maintenance/thirddeck/aftport) -"dHz" = (/obj/structure/closet,/obj/item/weapon/storage/backpack,/obj/random/maintenance/clean,/obj/random/maintenance/cargo,/obj/random/maintenance/clean,/obj/random/drinkbottle,/turf/simulated/floor/plating,/area/maintenance/thirddeck/aftport) -"dHA" = (/obj/structure/flora/pottedplant{icon_state = "plant-01"; pixel_y = 10; tag = "icon-plant-01"},/obj/structure/table/woodentable,/obj/machinery/alarm{pixel_y = 22},/obj/structure/extinguisher_cabinet{pixel_x = -28; pixel_y = 0},/turf/simulated/floor/wood,/area/bridge/meeting_room) -"dHB" = (/obj/structure/table/woodentable,/obj/machinery/keycard_auth{pixel_x = 0; pixel_y = 24},/obj/item/weapon/storage/box/cups,/turf/simulated/floor/wood,/area/bridge/meeting_room) -"dHC" = (/obj/structure/reagent_dispensers/water_cooler/full,/turf/simulated/floor/wood,/area/bridge/meeting_room) -"dHD" = (/obj/machinery/camera/network/command{c_tag = "COM - Secretary Office"; dir = 2},/turf/simulated/floor/wood,/area/bridge/meeting_room) -"dHE" = (/obj/machinery/door/firedoor/border_only,/obj/machinery/door/airlock/command{name = "Secretary Office"; req_access = list(19)},/turf/simulated/floor/wood,/area/bridge/meeting_room) -"dHF" = (/obj/machinery/computer/guestpass{pixel_y = 28},/turf/simulated/floor/tiled,/area/bridge) -"dHG" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 5},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor/tiled,/area/bridge) -"dHH" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/turf/simulated/floor/tiled,/area/bridge) -"dHI" = (/obj/machinery/atmospherics/unary/vent_pump/on{dir = 8},/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor/tiled,/area/bridge) -"dHJ" = (/obj/structure/table/reinforced,/obj/effect/floor_decal/corner/yellow/full,/obj/item/weapon/folder/yellow,/obj/item/device/flashlight,/obj/item/device/flashlight{pixel_x = 2; pixel_y = 2},/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced,/turf/simulated/floor/tiled/dark,/area/bridge) -"dHK" = (/obj/machinery/computer/atmos_alert,/obj/effect/floor_decal/corner/yellow{dir = 10},/obj/structure/window/reinforced,/turf/simulated/floor/tiled/dark,/area/bridge) -"dHL" = (/obj/machinery/computer/atmos_alert,/obj/effect/floor_decal/corner/yellow/full{tag = "icon-corner_white_full (EAST)"; icon_state = "corner_white_full"; dir = 4},/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced,/turf/simulated/floor/tiled/dark,/area/bridge) -"dHM" = (/obj/machinery/hologram/holopad,/obj/effect/floor_decal/industrial/outline/grey,/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/effect/landmark{name = "lightsout"},/turf/simulated/floor/tiled/dark,/area/bridge) -"dHN" = (/obj/machinery/computer/rcon,/obj/effect/floor_decal/corner/yellow/full,/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced,/turf/simulated/floor/tiled/dark,/area/bridge) -"dHO" = (/obj/machinery/computer/power_monitor,/obj/effect/floor_decal/corner/yellow{dir = 10},/obj/structure/window/reinforced,/turf/simulated/floor/tiled/dark,/area/bridge) -"dHP" = (/obj/structure/table/reinforced,/obj/effect/floor_decal/corner/yellow/full{tag = "icon-corner_white_full (EAST)"; icon_state = "corner_white_full"; dir = 4},/obj/item/weapon/storage/box/lights/mixed,/obj/item/device/multitool,/obj/item/weapon/storage/toolbox/mechanical,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced,/turf/simulated/floor/tiled/dark,/area/bridge) -"dHQ" = (/obj/machinery/atmospherics/unary/vent_pump/on{dir = 4},/turf/simulated/floor/tiled,/area/bridge) -"dHR" = (/obj/structure/disposalpipe/segment{dir = 1; icon_state = "pipe-c"},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/turf/simulated/floor/tiled,/area/bridge) -"dHS" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 9; pixel_y = 0},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/structure/cable/green{d1 = 1; d2 = 4; icon_state = "1-4"},/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor/tiled,/area/bridge) -"dHT" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/requests_console{announcementConsole = 1; department = "Bridge"; departmentType = 5; name = "Bridge RC"; pixel_x = 0; pixel_y = 30},/turf/simulated/floor/tiled,/area/bridge) -"dHU" = (/obj/machinery/door/firedoor/border_only,/obj/structure/disposalpipe/segment{dir = 4},/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/door/airlock/command{id_tag = "captaindoor"; name = "Station Director's Office"; req_access = list(20)},/turf/simulated/floor/wood,/area/crew_quarters/heads/sc/sd) -"dHV" = (/obj/structure/disposalpipe/segment{dir = 2; icon_state = "pipe-c"},/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor/wood,/area/crew_quarters/heads/sc/sd) -"dHW" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 5},/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor/wood,/area/crew_quarters/heads/sc/sd) -"dHX" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/structure/cable/green{d1 = 2; d2 = 8; icon_state = "2-8"},/obj/structure/cable/green{d1 = 1; d2 = 8; icon_state = "1-8"},/turf/simulated/floor/wood,/area/crew_quarters/heads/sc/sd) -"dHY" = (/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 8},/turf/simulated/floor/wood,/area/crew_quarters/heads/sc/sd) -"dHZ" = (/obj/structure/bed/chair{dir = 1},/turf/simulated/floor/wood,/area/crew_quarters/heads/sc/sd) -"dIa" = (/obj/structure/table/woodentable,/obj/item/weapon/melee/chainofcommand,/obj/item/weapon/hand_tele,/obj/item/device/radio/intercom{dir = 4; name = "Station Intercom (General)"; pixel_x = 21},/turf/simulated/floor/wood,/area/crew_quarters/heads/sc/sd) -"dIb" = (/obj/machinery/atmospherics/pipe/tank/air,/turf/simulated/floor/plating,/area/maintenance/thirddeck/aftstarboard) -"dIc" = (/obj/machinery/atmospherics/pipe/tank/air,/obj/effect/floor_decal/industrial/warning/corner{dir = 4},/turf/simulated/floor/plating,/area/maintenance/thirddeck/aftstarboard) -"dId" = (/obj/machinery/atmospherics/valve,/obj/effect/floor_decal/industrial/warning{icon_state = "warning"; dir = 5},/turf/simulated/floor/plating,/area/maintenance/thirddeck/aftstarboard) -"dIe" = (/obj/machinery/door/firedoor/border_only,/obj/machinery/door/airlock/maintenance{name = "Maintenance Access"; req_one_access = list(12,19)},/turf/simulated/floor/plating,/area/bridge/meeting_room) -"dIf" = (/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 4},/turf/simulated/floor/wood,/area/bridge/meeting_room) -"dIg" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor/wood,/area/bridge/meeting_room) -"dIh" = (/obj/machinery/hologram/holopad,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor/wood,/area/bridge/meeting_room) -"dIi" = (/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 5},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 9},/turf/simulated/floor/wood,/area/bridge/meeting_room) -"dIj" = (/obj/machinery/atmospherics/unary/vent_pump/on{dir = 8},/turf/simulated/floor/wood,/area/bridge/meeting_room) -"dIk" = (/obj/item/device/radio/intercom{dir = 4; name = "Station Intercom (General)"; pixel_x = 21},/turf/simulated/floor/wood,/area/bridge/meeting_room) -"dIl" = (/obj/machinery/alarm{dir = 4; icon_state = "alarm0"; pixel_x = -22},/turf/simulated/floor/tiled,/area/bridge) -"dIm" = (/obj/structure/bed/chair,/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 1},/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor/tiled,/area/bridge) -"dIn" = (/turf/simulated/floor/tiled,/area/bridge) -"dIo" = (/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor/tiled,/area/bridge) -"dIp" = (/obj/machinery/firealarm{dir = 4; pixel_x = 24},/turf/simulated/floor/tiled,/area/bridge) -"dIq" = (/obj/structure/disposalpipe/segment,/obj/machinery/firealarm{dir = 8; pixel_x = -24},/turf/simulated/floor/wood,/area/crew_quarters/heads/sc/sd) -"dIr" = (/obj/machinery/hologram/holopad,/turf/simulated/floor/wood,/area/crew_quarters/heads/sc/sd) -"dIs" = (/obj/machinery/papershredder,/obj/machinery/alarm{dir = 8; icon_state = "alarm0"; pixel_x = 24},/turf/simulated/floor/wood,/area/crew_quarters/heads/sc/sd) -"dIt" = (/obj/structure/closet/crate/internals,/obj/item/weapon/tank/emergency/oxygen/engi,/obj/item/weapon/tank/emergency/oxygen/engi,/obj/item/weapon/tank/emergency/oxygen/double,/obj/random/tank,/obj/random/maintenance/research,/obj/random/maintenance/research,/obj/random/maintenance/clean,/obj/random/maintenance/clean,/obj/machinery/atmospherics/pipe/simple/hidden/cyan{dir = 5; icon_state = "intact"; tag = "icon-intact-f (NORTHWEST)"},/turf/simulated/floor/plating,/area/maintenance/thirddeck/aftstarboard) -"dIu" = (/obj/machinery/atmospherics/pipe/manifold/hidden/cyan,/turf/simulated/floor/plating,/area/maintenance/thirddeck/aftstarboard) -"dIv" = (/obj/machinery/atmospherics/pipe/simple/hidden/cyan{dir = 9; icon_state = "intact"; tag = "icon-intact-f (NORTHWEST)"},/obj/machinery/meter,/obj/effect/floor_decal/industrial/warning{icon_state = "warning"; dir = 4},/turf/simulated/floor/plating,/area/maintenance/thirddeck/aftstarboard) -"dIw" = (/obj/machinery/door/firedoor/border_only,/obj/effect/wingrille_spawn/reinforced,/turf/simulated/floor/plating,/area/maintenance/solars/aftportsolar) -"dIx" = (/turf/simulated/wall/r_wall,/area/maintenance/solars/aftportsolar) -"dIy" = (/obj/machinery/door/firedoor/border_only,/obj/machinery/door/airlock/maintenance{name = "Maintenance Access"; req_one_access = list(12,19)},/obj/machinery/atmospherics/pipe/simple/hidden,/turf/simulated/floor/plating,/area/maintenance/thirddeck/aftport) -"dIz" = (/obj/machinery/photocopier,/obj/machinery/button/remote/blast_door{id = "csblast"; name = "Blastdoors"; pixel_x = 0; pixel_y = -24},/turf/simulated/floor/wood,/area/bridge/meeting_room) -"dIA" = (/obj/structure/table/wooden_reinforced,/turf/simulated/floor/wood,/area/bridge/meeting_room) -"dIB" = (/obj/structure/bed/chair/office/dark,/obj/effect/landmark/start{name = "Command Secretary"},/turf/simulated/floor/wood,/area/bridge/meeting_room) -"dIC" = (/obj/structure/bed/chair/office/dark,/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/effect/landmark/start{name = "Command Secretary"},/turf/simulated/floor/wood,/area/bridge/meeting_room) -"dID" = (/obj/structure/filingcabinet,/obj/machinery/firealarm{dir = 1; pixel_y = -24},/turf/simulated/floor/wood,/area/bridge/meeting_room) -"dIE" = (/obj/machinery/ai_status_display,/turf/simulated/wall/r_wall,/area/bridge/meeting_room) -"dIF" = (/obj/machinery/computer/secure_data,/obj/effect/floor_decal/corner/red/full,/turf/simulated/floor/tiled,/area/bridge) -"dIG" = (/obj/structure/table/reinforced,/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/effect/floor_decal/corner/red{dir = 10},/obj/item/weapon/folder/red,/turf/simulated/floor/tiled,/area/bridge) -"dIH" = (/obj/machinery/computer/security,/obj/effect/floor_decal/corner/red/full{dir = 4},/obj/structure/window/reinforced{dir = 4},/turf/simulated/floor/tiled,/area/bridge) -"dII" = (/obj/structure/cable/green,/obj/machinery/power/apc{dir = 2; name = "south bump"; pixel_y = -24},/obj/machinery/light_switch{pixel_x = 11; pixel_y = -24},/obj/effect/floor_decal/corner/blue/full,/turf/simulated/floor/tiled,/area/bridge) -"dIJ" = (/obj/effect/floor_decal/corner/blue{dir = 8},/turf/simulated/floor/tiled,/area/bridge) -"dIK" = (/obj/structure/bed/chair,/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor/tiled,/area/bridge) -"dIL" = (/obj/effect/floor_decal/corner/blue,/turf/simulated/floor/tiled,/area/bridge) -"dIM" = (/obj/machinery/button/remote/blast_door{id = "bridge blast"; name = "Bridge Blastdoors"; pixel_x = 0; pixel_y = -36},/obj/machinery/button/windowtint{id = "bridge_center"; pixel_x = -11; pixel_y = -24},/obj/machinery/keycard_auth{pixel_x = 0; pixel_y = -24},/obj/effect/floor_decal/corner/blue/full{dir = 4},/turf/simulated/floor/tiled,/area/bridge) -"dIN" = (/obj/machinery/computer/crew,/obj/effect/floor_decal/corner/white/full,/obj/structure/window/reinforced{dir = 8; health = 1e+006},/turf/simulated/floor/tiled,/area/bridge) -"dIO" = (/obj/structure/table/reinforced,/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/effect/floor_decal/corner/white{dir = 10},/obj/item/weapon/folder/white,/turf/simulated/floor/tiled,/area/bridge) -"dIP" = (/obj/machinery/computer/med_data,/obj/effect/floor_decal/corner/white/full{tag = "icon-corner_white_full (EAST)"; icon_state = "corner_white_full"; dir = 4},/turf/simulated/floor/tiled,/area/bridge) -"dIQ" = (/obj/machinery/status_display,/turf/simulated/wall/r_wall,/area/crew_quarters/heads/sc/sd) -"dIR" = (/obj/machinery/disposal,/obj/structure/disposalpipe/trunk{dir = 1},/turf/simulated/floor/wood,/area/crew_quarters/heads/sc/sd) -"dIS" = (/obj/structure/bed/chair/comfy/brown{dir = 4},/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor/carpet,/area/crew_quarters/heads/sc/sd) -"dIT" = (/obj/structure/table/woodentable,/obj/item/weapon/book/manual/security_space_law,/obj/item/device/tape/random,/obj/item/device/taperecorder,/turf/simulated/floor/carpet,/area/crew_quarters/heads/sc/sd) -"dIU" = (/obj/structure/table/woodentable,/obj/machinery/recharger,/obj/item/weapon/storage/secure/safe{pixel_x = 5; pixel_y = -26},/turf/simulated/floor/wood,/area/crew_quarters/heads/sc/sd) -"dIV" = (/obj/machinery/door/firedoor/border_only,/obj/machinery/door/airlock/maintenance{name = "Maintenance Access"; req_one_access = list(12,19)},/obj/machinery/atmospherics/pipe/simple/hidden,/turf/simulated/floor/plating,/area/maintenance/thirddeck/aftstarboard) -"dIW" = (/turf/simulated/wall/r_wall,/area/maintenance/solars/aftstarboardsolar) -"dIX" = (/obj/machinery/door/firedoor/border_only,/obj/effect/wingrille_spawn/reinforced,/turf/simulated/floor/plating,/area/maintenance/solars/aftstarboardsolar) -"dIY" = (/obj/structure/cable/yellow,/turf/simulated/floor/airless,/area/solar/aftportsolar) -"dIZ" = (/obj/effect/wingrille_spawn/reinforced,/turf/simulated/floor/plating,/area/maintenance/solars/aftportsolar) -"dJa" = (/obj/machinery/atmospherics/pipe/simple/hidden{dir = 6},/obj/effect/wingrille_spawn/reinforced,/turf/simulated/floor/plating,/area/maintenance/solars/aftportsolar) -"dJb" = (/obj/machinery/atmospherics/pipe/manifold/hidden{dir = 1; icon_state = "map"; tag = "icon-manifold-f (NORTH)"},/obj/effect/wingrille_spawn/reinforced,/turf/simulated/floor/plating,/area/maintenance/solars/aftportsolar) -"dJc" = (/obj/machinery/atmospherics/pipe/manifold/hidden{dir = 1; icon_state = "map"; tag = "icon-manifold-f (NORTH)"},/obj/machinery/door/firedoor/border_only,/obj/effect/wingrille_spawn/reinforced,/turf/simulated/floor/plating,/area/maintenance/solars/aftportsolar) -"dJd" = (/obj/machinery/atmospherics/portables_connector{dir = 8},/obj/effect/floor_decal/industrial/outline/yellow,/obj/machinery/portable_atmospherics/canister/air/airlock,/obj/structure/sign/warning/airlock{pixel_y = 32},/turf/simulated/floor/plating,/area/maintenance/solars/aftportsolar) -"dJe" = (/obj/machinery/power/terminal{dir = 4},/obj/structure/cable/yellow{d2 = 2; icon_state = "0-2"},/obj/machinery/alarm{pixel_y = 22},/obj/effect/floor_decal/industrial/warning{icon_state = "warning"; dir = 8},/obj/item/stack/cable_coil/yellow,/obj/item/stack/cable_coil/yellow,/obj/item/stack/cable_coil/yellow,/turf/simulated/floor/plating,/area/maintenance/solars/aftportsolar) -"dJf" = (/obj/structure/cable{icon_state = "0-2"; d2 = 2},/obj/machinery/power/smes/buildable{charge = 0; RCon_tag = "Solar - Aft Port"},/turf/simulated/floor/plating,/area/maintenance/solars/aftportsolar) -"dJg" = (/turf/simulated/wall,/area/maintenance/solars/aftportsolar) -"dJh" = (/obj/machinery/atmospherics/pipe/simple/hidden,/obj/structure/sign/warning/high_voltage{pixel_x = -32; pixel_y = 0},/obj/effect/floor_decal/industrial/warning/corner{dir = 8},/obj/machinery/camera/network/engineering{c_tag = "ENG - Solar Aft Port Access"; dir = 4},/turf/simulated/floor/plating,/area/maintenance/thirddeck/aftport) -"dJi" = (/obj/item/stack/cable_coil/yellow,/turf/simulated/floor/plating,/area/maintenance/thirddeck/aftport) -"dJj" = (/obj/structure/ladder,/obj/effect/floor_decal/industrial/outline/yellow,/turf/simulated/floor/plating,/area/maintenance/thirddeck/aftport) -"dJk" = (/obj/effect/floor_decal/industrial/warning/corner,/obj/machinery/portable_atmospherics/powered/scrubber,/turf/simulated/floor/plating,/area/maintenance/thirddeck/aftport) -"dJl" = (/obj/structure/table/wooden_reinforced,/obj/machinery/computer/skills,/turf/simulated/floor/wood,/area/bridge/meeting_room) -"dJm" = (/obj/structure/table/wooden_reinforced,/obj/item/weapon/paper_bin{pixel_x = -3; pixel_y = 7},/obj/item/weapon/pen/blue{pixel_y = -5},/obj/item/weapon/pen/red{pixel_y = 5},/obj/item/weapon/pen,/turf/simulated/floor/wood,/area/bridge/meeting_room) -"dJn" = (/obj/structure/table/wooden_reinforced,/obj/machinery/photocopier/faxmachine{department = "Bridge"},/obj/machinery/light,/turf/simulated/floor/wood,/area/bridge/meeting_room) -"dJo" = (/obj/structure/table/wooden_reinforced,/obj/item/weapon/paper_bin{pixel_x = -3; pixel_y = 7},/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/item/weapon/pen/blue{pixel_y = -5},/obj/item/weapon/pen/red{pixel_y = 5},/obj/item/weapon/pen,/turf/simulated/floor/wood,/area/bridge/meeting_room) -"dJp" = (/obj/machinery/door/firedoor/glass,/obj/structure/cable/green{d2 = 4; icon_state = "0-4"},/obj/machinery/door/blast/regular{density = 0; dir = 4; icon_state = "pdoor0"; id = "bridge blast"; name = "Bridge Blast Doors"; opacity = 0},/obj/effect/wingrille_spawn/reinforced,/turf/simulated/floor/plating,/area/bridge) -"dJq" = (/obj/machinery/door/firedoor/border_only,/obj/structure/cable/green{d2 = 8; icon_state = "0-8"},/obj/structure/cable/green{d2 = 4; icon_state = "0-4"},/obj/machinery/door/blast/regular{density = 0; dir = 4; icon_state = "pdoor0"; id = "bridge blast"; name = "Bridge Blast Doors"; opacity = 0},/obj/structure/cable/green,/obj/effect/wingrille_spawn/reinforced,/turf/simulated/floor/plating,/area/bridge) -"dJr" = (/obj/machinery/door/firedoor/glass,/obj/structure/cable/green{d2 = 8; icon_state = "0-8"},/obj/machinery/door/blast/regular{density = 0; dir = 4; icon_state = "pdoor0"; id = "bridge blast"; name = "Bridge Blast Doors"; opacity = 0},/obj/effect/wingrille_spawn/reinforced,/turf/simulated/floor/plating,/area/bridge) -"dJs" = (/obj/structure/table/reinforced,/obj/machinery/light{icon_state = "tube1"; dir = 8},/obj/machinery/newscaster{pixel_y = -30},/obj/item/weapon/storage/secure/briefcase,/obj/effect/floor_decal/corner/blue/full,/turf/simulated/floor/tiled,/area/bridge) -"dJt" = (/obj/structure/table/reinforced,/obj/item/weapon/storage/box/PDAs{pixel_x = 4; pixel_y = 4},/obj/item/weapon/storage/box/ids,/obj/effect/floor_decal/corner/blue{dir = 10},/turf/simulated/floor/tiled,/area/bridge) -"dJu" = (/obj/machinery/computer/card,/obj/effect/floor_decal/corner/blue{dir = 10},/turf/simulated/floor/tiled,/area/bridge) -"dJv" = (/obj/structure/table/reinforced,/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/item/weapon/paper_bin,/obj/item/weapon/folder/red,/obj/item/weapon/folder/blue,/obj/item/weapon/pen,/obj/effect/floor_decal/corner/blue{dir = 10},/obj/machinery/light,/turf/simulated/floor/tiled,/area/bridge) -"dJw" = (/obj/machinery/computer/communications,/obj/effect/floor_decal/corner/blue{dir = 10},/turf/simulated/floor/tiled,/area/bridge) -"dJx" = (/obj/structure/table/reinforced,/obj/item/device/flash,/obj/item/device/flash,/obj/item/device/aicard,/obj/effect/floor_decal/corner/blue{dir = 10},/turf/simulated/floor/tiled,/area/bridge) -"dJy" = (/obj/structure/table/reinforced,/obj/machinery/light{dir = 4},/obj/structure/extinguisher_cabinet{pixel_y = -30},/obj/machinery/recharger{pixel_y = 0},/obj/effect/floor_decal/corner/blue/full{dir = 4},/turf/simulated/floor/tiled,/area/bridge) -"dJz" = (/obj/machinery/door/firedoor/glass,/obj/structure/cable/green{d2 = 4; icon_state = "0-4"},/obj/effect/wingrille_spawn/reinforced,/obj/machinery/door/blast/regular{density = 0; dir = 8; icon_state = "pdoor0"; id = "bridge blast"; name = "Bridge Blast Doors"; opacity = 0},/turf/simulated/floor/plating,/area/bridge) -"dJA" = (/obj/machinery/door/firedoor/border_only,/obj/structure/cable/green{d2 = 8; icon_state = "0-8"},/obj/structure/cable/green{d2 = 4; icon_state = "0-4"},/obj/structure/cable/green,/obj/effect/wingrille_spawn/reinforced,/obj/machinery/door/blast/regular{density = 0; dir = 8; icon_state = "pdoor0"; id = "bridge blast"; name = "Bridge Blast Doors"; opacity = 0},/turf/simulated/floor/plating,/area/bridge) -"dJB" = (/obj/machinery/door/firedoor/glass,/obj/structure/cable/green{d2 = 8; icon_state = "0-8"},/obj/effect/wingrille_spawn/reinforced,/obj/machinery/door/blast/regular{density = 0; dir = 8; icon_state = "pdoor0"; id = "bridge blast"; name = "Bridge Blast Doors"; opacity = 0},/turf/simulated/floor/plating,/area/bridge) -"dJC" = (/obj/machinery/button/remote/blast_door{id = "directorblast"; name = "Security Shutters"; pixel_x = -26; pixel_y = 0},/turf/simulated/floor/wood,/area/crew_quarters/heads/sc/sd) -"dJD" = (/obj/structure/bed/chair/comfy/brown{dir = 4},/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/light,/turf/simulated/floor/carpet,/area/crew_quarters/heads/sc/sd) -"dJE" = (/obj/structure/table/woodentable,/obj/item/weapon/storage/box/donut,/turf/simulated/floor/carpet,/area/crew_quarters/heads/sc/sd) -"dJF" = (/obj/structure/extinguisher_cabinet{pixel_y = -30},/turf/simulated/floor/wood,/area/crew_quarters/heads/sc/sd) -"dJG" = (/obj/structure/lattice,/obj/structure/cable{d1 = 32; d2 = 2; icon_state = "32-2"},/turf/simulated/open,/area/maintenance/thirddeck/aftstarboard) -"dJH" = (/obj/structure/table/rack,/obj/item/clothing/glasses/sunglasses,/obj/item/clothing/suit/storage/hazardvest,/obj/item/device/radio,/obj/random/maintenance/medical,/obj/random/maintenance/medical,/obj/effect/floor_decal/industrial/warning{icon_state = "warning"; dir = 8},/turf/simulated/floor/plating,/area/maintenance/thirddeck/aftstarboard) -"dJI" = (/obj/structure/table/rack,/obj/random/maintenance/clean,/obj/random/maintenance/clean,/obj/random/maintenance/clean,/obj/random/maintenance/clean,/turf/simulated/floor/plating,/area/maintenance/thirddeck/aftstarboard) -"dJJ" = (/obj/machinery/atmospherics/pipe/simple/hidden,/obj/effect/floor_decal/industrial/warning/corner,/obj/structure/sign/warning/high_voltage{pixel_x = 32; pixel_y = 0},/obj/machinery/camera/network/engineering{c_tag = "ENG - Solar Aft Starboard Access"; dir = 8},/turf/simulated/floor/plating,/area/maintenance/thirddeck/aftstarboard) -"dJK" = (/turf/simulated/wall,/area/maintenance/solars/aftstarboardsolar) -"dJL" = (/obj/structure/cable{icon_state = "0-2"; d2 = 2},/obj/machinery/power/smes/buildable{charge = 0; RCon_tag = "Solar - Aft Starboard"},/turf/simulated/floor/plating,/area/maintenance/solars/aftstarboardsolar) -"dJM" = (/obj/machinery/alarm{pixel_y = 22},/obj/machinery/power/terminal{dir = 8},/obj/effect/floor_decal/industrial/warning{icon_state = "warning"; dir = 4},/obj/structure/cable/yellow{d2 = 2; icon_state = "0-2"},/turf/simulated/floor/plating,/area/maintenance/solars/aftstarboardsolar) -"dJN" = (/obj/machinery/atmospherics/portables_connector{dir = 4},/obj/effect/floor_decal/industrial/outline/yellow,/obj/machinery/portable_atmospherics/canister/air/airlock,/obj/structure/sign/warning/airlock{pixel_y = 32},/turf/simulated/floor/plating,/area/maintenance/solars/aftstarboardsolar) -"dJO" = (/obj/machinery/atmospherics/pipe/manifold/hidden{dir = 1; icon_state = "map"; tag = "icon-manifold-f (NORTH)"},/obj/machinery/door/firedoor/border_only,/obj/effect/wingrille_spawn/reinforced,/turf/simulated/floor/plating,/area/maintenance/solars/aftstarboardsolar) -"dJP" = (/obj/machinery/atmospherics/pipe/manifold/hidden{dir = 1; icon_state = "map"; tag = "icon-manifold-f (NORTH)"},/obj/effect/wingrille_spawn/reinforced,/turf/simulated/floor/plating,/area/maintenance/solars/aftstarboardsolar) -"dJQ" = (/obj/machinery/atmospherics/pipe/simple/hidden{dir = 10; icon_state = "intact"; tag = "icon-intact-f (SOUTHWEST)"},/obj/effect/wingrille_spawn/reinforced,/turf/simulated/floor/plating,/area/maintenance/solars/aftstarboardsolar) -"dJR" = (/obj/effect/wingrille_spawn/reinforced,/turf/simulated/floor/plating,/area/maintenance/solars/aftstarboardsolar) -"dJS" = (/obj/structure/cable/yellow,/turf/simulated/floor/airless,/area/solar/aftstarboardsolar) -"dJT" = (/obj/machinery/power/tracker,/obj/structure/cable/yellow{d2 = 4; icon_state = "0-4"},/turf/simulated/floor/airless,/area/solar/aftportsolar) -"dJU" = (/obj/structure/cable/yellow{d2 = 8; icon_state = "0-8"},/turf/simulated/floor/airless,/area/solar/aftportsolar) -"dJV" = (/turf/simulated/floor/airless,/area/solar/aftportsolar) -"dJW" = (/obj/structure/cable/yellow{d2 = 4; icon_state = "0-4"},/turf/simulated/floor/airless,/area/solar/aftportsolar) -"dJX" = (/obj/structure/cable/yellow{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor/airless,/area/solar/aftportsolar) -"dJY" = (/obj/structure/cable/yellow{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/access_button{command = "cycle_exterior"; frequency = 1379; layer = 3.3; master_tag = "aft_port_solar_airlock"; name = "exterior access button"; pixel_x = 25; pixel_y = -25; req_access = list(); req_one_access = list(11,24)},/turf/simulated/floor/airless,/area/solar/aftportsolar) -"dJZ" = (/obj/structure/cable/yellow{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/door/airlock/external{frequency = 1379; icon_state = "door_locked"; id_tag = "aft_port_solar_outer"; locked = 1; name = "Engineering External Access"; req_access = list(11,13)},/turf/simulated/floor/plating,/area/maintenance/solars/aftportsolar) -"dKa" = (/obj/structure/cable/yellow{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/embedded_controller/radio/airlock/airlock_controller{frequency = 1379; id_tag = "aft_port_solar_airlock"; layer = 3.3; pixel_x = 0; pixel_y = 25; req_access = list(13); tag_airpump = "aft_port_solar_pump"; tag_chamber_sensor = "aft_port_solar_sensor"; tag_exterior_door = "aft_port_solar_outer"; tag_interior_door = "aft_port_solar_inner"},/obj/effect/floor_decal/industrial/warning/cee{icon_state = "warningcee"; dir = 8},/obj/machinery/airlock_sensor{frequency = 1379; id_tag = "aft_port_solar_sensor"; layer = 3.3; pixel_x = 0; pixel_y = -25},/obj/machinery/atmospherics/unary/vent_pump/high_volume{dir = 1; frequency = 1379; id_tag = "aft_port_solar_pump"},/turf/simulated/floor/plating,/area/maintenance/solars/aftportsolar) -"dKb" = (/obj/structure/cable/yellow{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/effect/floor_decal/industrial/warning/cee{icon_state = "warningcee"; dir = 4},/obj/machinery/atmospherics/unary/vent_pump/high_volume{dir = 1; frequency = 1379; id_tag = "aft_port_solar_pump"},/obj/machinery/light/small{dir = 1},/turf/simulated/floor/plating,/area/maintenance/solars/aftportsolar) -"dKc" = (/obj/machinery/atmospherics/pipe/simple/hidden{dir = 5; icon_state = "intact"; tag = "icon-intact-f (NORTHEAST)"},/obj/structure/cable/yellow{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/door/airlock/external{frequency = 1379; icon_state = "door_locked"; id_tag = "aft_port_solar_inner"; locked = 1; name = "Engineering External Access"; req_access = list(11,13)},/turf/simulated/floor/plating,/area/maintenance/solars/aftportsolar) -"dKd" = (/obj/machinery/atmospherics/pipe/simple/hidden{dir = 4},/obj/structure/cable/yellow{d1 = 2; d2 = 8; icon_state = "2-8"},/obj/structure/cable/yellow{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/access_button{command = "cycle_interior"; frequency = 1379; layer = 3.3; master_tag = "aft_port_solar_airlock"; name = "interior access button"; pixel_x = -25; pixel_y = 25; req_access = list(); req_one_access = list(11,24)},/turf/simulated/floor/plating,/area/maintenance/solars/aftportsolar) -"dKe" = (/obj/machinery/atmospherics/pipe/simple/hidden{dir = 4},/obj/structure/cable/yellow{d1 = 1; d2 = 8; icon_state = "1-8"},/obj/effect/floor_decal/industrial/warning{icon_state = "warning"; dir = 1},/turf/simulated/floor/plating,/area/maintenance/solars/aftportsolar) -"dKf" = (/obj/machinery/atmospherics/binary/pump/on{dir = 8; target_pressure = 200},/obj/structure/cable{d1 = 1; d2 = 4; icon_state = "1-4"},/obj/structure/cable{d1 = 2; d2 = 4; icon_state = "2-4"},/obj/effect/floor_decal/industrial/warning{icon_state = "warning"; dir = 1},/turf/simulated/floor/plating,/area/maintenance/solars/aftportsolar) -"dKg" = (/obj/machinery/atmospherics/pipe/simple/hidden{dir = 4},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0},/obj/machinery/door/firedoor/border_only,/obj/machinery/door/airlock/engineering{icon_state = "door_closed"; locked = 0; name = "Aft Port Solar Access"; req_access = list(); req_one_access = list(11,24)},/turf/simulated/floor/plating,/area/maintenance/solars/aftportsolar) -"dKh" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/atmospherics/pipe/simple/hidden{dir = 9; icon_state = "intact"; tag = "icon-intact-f (NORTHWEST)"},/obj/effect/floor_decal/industrial/warning{icon_state = "warning"; dir = 8},/turf/simulated/floor/plating,/area/maintenance/thirddeck/aftport) -"dKi" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor/plating,/area/maintenance/thirddeck/aftport) -"dKj" = (/obj/effect/floor_decal/industrial/warning{icon_state = "warning"; dir = 4},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor/plating,/area/maintenance/thirddeck/aftport) -"dKk" = (/obj/structure/lattice,/obj/structure/cable{d1 = 32; d2 = 8; icon_state = "32-8"},/turf/simulated/open,/area/maintenance/thirddeck/aftport) -"dKl" = (/obj/machinery/door/firedoor/glass,/obj/structure/cable/green{d2 = 4; icon_state = "0-4"},/obj/machinery/door/blast/regular{density = 0; dir = 4; icon_state = "pdoor0"; id = "csblast"; name = "Blast Doors"; opacity = 0},/obj/effect/wingrille_spawn/reinforced,/turf/simulated/floor/plating,/area/bridge/meeting_room) -"dKm" = (/obj/machinery/door/firedoor/border_only,/obj/structure/cable/green{d2 = 8; icon_state = "0-8"},/obj/structure/cable/green{d2 = 4; icon_state = "0-4"},/obj/machinery/door/blast/regular{density = 0; dir = 4; icon_state = "pdoor0"; id = "csblast"; name = "Blast Doors"; opacity = 0},/obj/effect/wingrille_spawn/reinforced,/turf/simulated/floor/plating,/area/bridge/meeting_room) -"dKn" = (/obj/machinery/door/firedoor/border_only,/obj/structure/cable/green,/obj/structure/cable/green{d2 = 4; icon_state = "0-4"},/obj/structure/cable/green{d2 = 8; icon_state = "0-8"},/obj/machinery/door/blast/regular{density = 0; dir = 4; icon_state = "pdoor0"; id = "csblast"; name = "Blast Doors"; opacity = 0},/obj/effect/wingrille_spawn/reinforced,/turf/simulated/floor/plating,/area/bridge/meeting_room) -"dKo" = (/obj/machinery/door/firedoor/glass,/obj/structure/cable/green{d2 = 8; icon_state = "0-8"},/obj/machinery/door/blast/regular{density = 0; dir = 4; icon_state = "pdoor0"; id = "csblast"; name = "Blast Doors"; opacity = 0},/obj/effect/wingrille_spawn/reinforced,/turf/simulated/floor/plating,/area/bridge/meeting_room) -"dKp" = (/obj/structure/sign/warning/secure_area,/turf/simulated/wall/r_wall,/area/bridge) -"dKq" = (/obj/machinery/door/firedoor/border_only,/obj/structure/cable/green{d2 = 8; icon_state = "0-8"},/obj/structure/cable/green{d2 = 4; icon_state = "0-4"},/obj/machinery/door/blast/regular{density = 0; dir = 4; icon_state = "pdoor0"; id = "bridge blast"; name = "Bridge Blast Doors"; opacity = 0},/obj/effect/wingrille_spawn/reinforced,/turf/simulated/floor/plating,/area/bridge) -"dKr" = (/obj/machinery/door/firedoor/glass,/obj/structure/cable/green,/obj/structure/cable/green{d2 = 4; icon_state = "0-4"},/obj/structure/cable/green{d2 = 8; icon_state = "0-8"},/obj/machinery/door/blast/regular{density = 0; dir = 4; icon_state = "pdoor0"; id = "bridge blast"; name = "Bridge Blast Doors"; opacity = 0},/obj/effect/wingrille_spawn/reinforced,/turf/simulated/floor/plating,/area/bridge) -"dKs" = (/obj/machinery/door/firedoor/border_only,/obj/structure/cable/green{d2 = 4; icon_state = "0-4"},/obj/structure/cable/green{d2 = 8; icon_state = "0-8"},/obj/machinery/door/blast/regular{density = 0; dir = 4; icon_state = "pdoor0"; id = "bridge blast"; name = "Bridge Blast Doors"; opacity = 0},/obj/effect/wingrille_spawn/reinforced,/turf/simulated/floor/plating,/area/bridge) -"dKt" = (/obj/structure/sign/warning/high_voltage,/turf/simulated/wall/r_wall,/area/crew_quarters/heads/sc/sd) -"dKu" = (/obj/machinery/door/firedoor/glass,/obj/structure/cable/green{d2 = 4; icon_state = "0-4"},/obj/machinery/door/blast/regular{density = 0; dir = 8; icon_state = "pdoor0"; id = "directorblast"; name = "Blast Doors"; opacity = 0},/obj/effect/wingrille_spawn/reinforced,/turf/simulated/floor/plating,/area/crew_quarters/heads/sc/sd) -"dKv" = (/obj/machinery/door/firedoor/border_only,/obj/structure/cable/green{d2 = 8; icon_state = "0-8"},/obj/structure/cable/green{d2 = 4; icon_state = "0-4"},/obj/structure/cable/green,/obj/machinery/door/blast/regular{density = 0; dir = 8; icon_state = "pdoor0"; id = "directorblast"; name = "Blast Doors"; opacity = 0},/obj/effect/wingrille_spawn/reinforced,/turf/simulated/floor/plating,/area/crew_quarters/heads/sc/sd) -"dKw" = (/obj/machinery/door/firedoor/border_only,/obj/structure/cable/green{d2 = 8; icon_state = "0-8"},/obj/structure/cable/green{d2 = 4; icon_state = "0-4"},/obj/machinery/door/blast/regular{density = 0; dir = 8; icon_state = "pdoor0"; id = "directorblast"; name = "Blast Doors"; opacity = 0},/obj/effect/wingrille_spawn/reinforced,/turf/simulated/floor/plating,/area/crew_quarters/heads/sc/sd) -"dKx" = (/obj/machinery/door/firedoor/glass,/obj/structure/cable/green{d2 = 8; icon_state = "0-8"},/obj/machinery/door/blast/regular{density = 0; dir = 8; icon_state = "pdoor0"; id = "directorblast"; name = "Blast Doors"; opacity = 0},/obj/effect/wingrille_spawn/reinforced,/turf/simulated/floor/plating,/area/crew_quarters/heads/sc/sd) -"dKy" = (/obj/effect/floor_decal/industrial/warning/corner{dir = 4},/turf/simulated/floor/plating,/area/maintenance/thirddeck/aftstarboard) -"dKz" = (/obj/effect/floor_decal/industrial/warning{icon_state = "warning"; dir = 1},/obj/structure/cable{d1 = 1; d2 = 4; icon_state = "1-4"},/turf/simulated/floor/plating,/area/maintenance/thirddeck/aftstarboard) -"dKA" = (/obj/effect/floor_decal/industrial/warning/corner{icon_state = "warningcorner"; dir = 1},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor/plating,/area/maintenance/thirddeck/aftstarboard) -"dKB" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor/plating,/area/maintenance/thirddeck/aftstarboard) -"dKC" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/atmospherics/pipe/simple/hidden{dir = 5; icon_state = "intact"; tag = "icon-intact-f (NORTHEAST)"},/obj/effect/floor_decal/industrial/warning{icon_state = "warning"; dir = 4},/turf/simulated/floor/plating,/area/maintenance/thirddeck/aftstarboard) -"dKD" = (/obj/machinery/atmospherics/pipe/simple/hidden{dir = 4},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0},/obj/machinery/door/firedoor/border_only,/obj/machinery/door/airlock/engineering{icon_state = "door_closed"; locked = 0; name = "Aft Starboard Solar Access"; req_access = list(); req_one_access = list(11,24)},/turf/simulated/floor/plating,/area/maintenance/solars/aftstarboardsolar) -"dKE" = (/obj/structure/cable{d1 = 2; d2 = 8; icon_state = "2-8"},/obj/structure/cable{d1 = 1; d2 = 8; icon_state = "1-8"},/obj/machinery/atmospherics/binary/pump/on{dir = 4; target_pressure = 200},/obj/effect/floor_decal/industrial/warning{icon_state = "warning"; dir = 1},/turf/simulated/floor/plating,/area/maintenance/solars/aftstarboardsolar) -"dKF" = (/obj/machinery/atmospherics/pipe/simple/hidden{dir = 4},/obj/effect/floor_decal/industrial/warning{icon_state = "warning"; dir = 1},/obj/structure/cable/yellow{d1 = 1; d2 = 4; icon_state = "1-4"},/turf/simulated/floor/plating,/area/maintenance/solars/aftstarboardsolar) -"dKG" = (/obj/machinery/atmospherics/pipe/simple/hidden{dir = 4},/obj/structure/cable/yellow{d1 = 2; d2 = 4; icon_state = "2-4"},/obj/structure/cable/yellow{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/meter,/obj/machinery/access_button{command = "cycle_interior"; frequency = 1379; layer = 3.3; master_tag = "aft_starboard_solar_airlock"; name = "interior access button"; pixel_x = 25; pixel_y = 25; req_access = list(); req_one_access = list(11,24)},/turf/simulated/floor/plating,/area/maintenance/solars/aftstarboardsolar) -"dKH" = (/obj/machinery/atmospherics/pipe/simple/hidden{dir = 9; icon_state = "intact"; tag = "icon-intact-f (NORTHWEST)"},/obj/structure/cable/yellow{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/door/airlock/external{frequency = 1379; icon_state = "door_locked"; id_tag = "aft_starboard_solar_inner"; locked = 1; name = "Engineering External Access"; req_access = list(11,13)},/turf/simulated/floor/plating,/area/maintenance/solars/aftstarboardsolar) -"dKI" = (/obj/machinery/atmospherics/unary/vent_pump/high_volume{dir = 1; frequency = 1379; id_tag = "aft_starboard_solar_pump"},/obj/structure/cable/yellow{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/light/small{dir = 1},/turf/simulated/floor/plating,/area/maintenance/solars/aftstarboardsolar) -"dKJ" = (/obj/machinery/atmospherics/unary/vent_pump/high_volume{dir = 1; frequency = 1379; id_tag = "aft_starboard_solar_pump"},/obj/structure/cable/yellow{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/embedded_controller/radio/airlock/airlock_controller{frequency = 1379; id_tag = "aft_starboard_solar_airlock"; layer = 3.3; pixel_x = 0; pixel_y = 25; req_access = list(13); tag_airpump = "aft_starboard_solar_pump"; tag_chamber_sensor = "aft_starboard_solar_sensor"; tag_exterior_door = "aft_starboard_solar_outer"; tag_interior_door = "aft_starboard_solar_inner"},/obj/machinery/airlock_sensor{frequency = 1379; id_tag = "aft_starboard_solar_sensor"; layer = 3.3; pixel_x = 0; pixel_y = -25},/turf/simulated/floor/plating,/area/maintenance/solars/aftstarboardsolar) -"dKK" = (/obj/structure/cable/yellow{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/door/airlock/external{frequency = 1379; icon_state = "door_locked"; id_tag = "aft_starboard_solar_outer"; locked = 1; name = "Engineering External Access"; req_access = list(11,13)},/turf/simulated/floor/plating,/area/maintenance/solars/aftstarboardsolar) -"dKL" = (/obj/structure/cable/yellow{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/access_button{command = "cycle_exterior"; frequency = 1379; layer = 3.3; master_tag = "aft_starboard_solar_airlock"; name = "exterior access button"; pixel_x = -25; pixel_y = -25; req_access = list(); req_one_access = list(11,24)},/turf/simulated/floor/airless,/area/solar/aftstarboardsolar) -"dKM" = (/obj/structure/cable/yellow{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor/airless,/area/solar/aftstarboardsolar) -"dKN" = (/obj/structure/cable/yellow{d2 = 8; icon_state = "0-8"},/turf/simulated/floor/airless,/area/solar/aftstarboardsolar) -"dKO" = (/turf/simulated/floor/airless,/area/solar/aftstarboardsolar) -"dKP" = (/obj/structure/cable/yellow{d2 = 4; icon_state = "0-4"},/turf/simulated/floor/airless,/area/solar/aftstarboardsolar) -"dKQ" = (/obj/machinery/power/tracker,/obj/structure/cable/yellow{d2 = 8; icon_state = "0-8"},/turf/simulated/floor/airless,/area/solar/aftstarboardsolar) -"dKR" = (/obj/structure/cable/yellow{d2 = 2; icon_state = "0-2"},/turf/simulated/floor/airless,/area/solar/aftportsolar) -"dKS" = (/obj/structure/cable/yellow,/obj/machinery/power/solar_control{id = "aftportsolar"; name = "Aft Port Solar Control"; track = 0},/turf/simulated/floor/plating,/area/maintenance/solars/aftportsolar) -"dKT" = (/obj/machinery/camera/network/engineering{c_tag = "ENG - Solar Aft Port"; dir = 1},/obj/machinery/light/small,/obj/item/weapon/stool,/turf/simulated/floor/plating,/area/maintenance/solars/aftportsolar) -"dKU" = (/obj/structure/cable,/obj/machinery/power/apc{dir = 2; name = "south bump"; pixel_y = -24},/obj/item/device/radio/intercom{dir = 4; name = "Station Intercom (General)"; pixel_x = 21},/turf/simulated/floor/plating,/area/maintenance/solars/aftportsolar) -"dKV" = (/obj/machinery/light/small{dir = 8},/obj/effect/floor_decal/industrial/warning/corner{icon_state = "warningcorner"; dir = 1},/turf/simulated/floor/plating,/area/maintenance/thirddeck/aftport) -"dKW" = (/obj/effect/floor_decal/industrial/warning/corner{dir = 4},/turf/simulated/floor/plating,/area/maintenance/thirddeck/aftport) -"dKX" = (/obj/effect/floor_decal/industrial/warning{icon_state = "warning"; dir = 1},/turf/simulated/floor/plating,/area/maintenance/thirddeck/aftport) -"dKY" = (/obj/effect/floor_decal/industrial/warning/corner{dir = 4},/turf/simulated/floor/reinforced/airless,/area/thirddeck/roof) -"dKZ" = (/obj/effect/floor_decal/industrial/warning{dir = 1},/turf/simulated/floor/reinforced/airless,/area/thirddeck/roof) -"dLa" = (/obj/effect/floor_decal/industrial/warning/corner{icon_state = "warningcorner"; dir = 1},/turf/simulated/floor/reinforced/airless,/area/thirddeck/roof) -"dLb" = (/obj/structure/sign/warning/high_voltage{pixel_y = 32},/turf/simulated/floor/reinforced/airless,/area/thirddeck/roof) -"dLc" = (/obj/structure/ladder,/obj/effect/floor_decal/industrial/outline/yellow,/turf/simulated/floor/plating,/area/maintenance/thirddeck/aftstarboard) -"dLd" = (/turf/simulated/floor/plating,/area/maintenance/thirddeck/aftstarboard) -"dLe" = (/obj/machinery/light/small{dir = 4; pixel_y = 0},/obj/effect/floor_decal/industrial/warning/corner{icon_state = "warningcorner"; dir = 4},/turf/simulated/floor/plating,/area/maintenance/thirddeck/aftstarboard) -"dLf" = (/obj/structure/cable,/obj/item/device/radio/intercom{dir = 8; name = "Station Intercom (General)"; pixel_x = -21},/obj/machinery/power/apc{dir = 2; name = "south bump"; pixel_y = -24},/obj/structure/table/steel,/obj/item/stack/cable_coil/yellow,/obj/item/stack/cable_coil/yellow,/obj/item/stack/cable_coil/yellow,/obj/item/stack/cable_coil/yellow,/turf/simulated/floor/plating,/area/maintenance/solars/aftstarboardsolar) -"dLg" = (/obj/machinery/light/small,/obj/machinery/camera/network/engineering{c_tag = "ENG - Solar Aft Starboard"; dir = 1},/turf/simulated/floor/plating,/area/maintenance/solars/aftstarboardsolar) -"dLh" = (/obj/structure/cable/yellow,/obj/machinery/power/solar_control{id = "aftstarboardsolar"; name = "Aft Starboard Solar Control"; track = 0},/turf/simulated/floor/plating,/area/maintenance/solars/aftstarboardsolar) -"dLi" = (/obj/structure/cable/yellow{d2 = 2; icon_state = "0-2"},/turf/simulated/floor/airless,/area/solar/aftstarboardsolar) -"dLj" = (/obj/structure/cable/yellow{d1 = 1; d2 = 4; icon_state = "1-4"},/obj/structure/cable/yellow{d1 = 1; d2 = 8; icon_state = "1-8"},/obj/structure/cable/yellow{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor/airless,/area/solar/aftportsolar) -"dLk" = (/obj/structure/table/steel,/obj/random/maintenance/cargo,/obj/random/maintenance/cargo,/obj/random/maintenance/clean,/obj/random/maintenance/clean,/turf/simulated/floor/plating,/area/maintenance/thirddeck/aftport) -"dLl" = (/obj/machinery/alarm{dir = 1; pixel_y = -22},/obj/structure/table/steel,/obj/random/maintenance/cargo,/obj/random/maintenance/cargo,/obj/random/maintenance/clean,/obj/random/maintenance/clean,/turf/simulated/floor/plating,/area/maintenance/thirddeck/aftport) -"dLm" = (/obj/structure/closet/wardrobe/grey,/obj/item/weapon/storage/backpack,/obj/item/weapon/storage/backpack,/obj/random/maintenance/cargo,/obj/random/maintenance/cargo,/obj/random/maintenance/cargo,/turf/simulated/floor/plating,/area/maintenance/thirddeck/aftport) -"dLn" = (/obj/structure/closet/firecloset/full,/obj/random/maintenance/clean,/obj/random/maintenance/clean,/obj/random/maintenance/security,/turf/simulated/floor/plating,/area/maintenance/thirddeck/aftport) -"dLo" = (/obj/structure/table/rack,/obj/item/weapon/extinguisher,/obj/item/clothing/head/hardhat/red,/obj/item/clothing/mask/gas,/obj/item/device/flashlight,/obj/item/clothing/glasses/meson,/obj/random/maintenance/cargo,/turf/simulated/floor,/area/maintenance/thirddeck/aftport) -"dLp" = (/obj/structure/table/rack{dir = 4},/obj/item/weapon/storage/toolbox/mechanical,/obj/random/maintenance/engineering,/obj/random/maintenance/engineering,/obj/random/maintenance/engineering,/obj/random/maintenance/medical,/turf/simulated/floor,/area/maintenance/thirddeck/aftstarboard) -"dLq" = (/obj/machinery/floodlight,/turf/simulated/floor/plating,/area/maintenance/thirddeck/aftstarboard) -"dLr" = (/obj/machinery/alarm{dir = 1; pixel_y = -22},/obj/machinery/portable_atmospherics/powered/scrubber,/turf/simulated/floor/plating,/area/maintenance/thirddeck/aftstarboard) -"dLs" = (/obj/machinery/portable_atmospherics/powered/pump/filled,/turf/simulated/floor/plating,/area/maintenance/thirddeck/aftstarboard) -"dLt" = (/obj/structure/cable/yellow{d1 = 1; d2 = 8; icon_state = "1-8"},/obj/structure/cable/yellow{d1 = 1; d2 = 4; icon_state = "1-4"},/obj/structure/cable/yellow{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor/airless,/area/solar/aftstarboardsolar) -"dLu" = (/obj/structure/cable/yellow{d1 = 1; d2 = 4; icon_state = "1-4"},/obj/structure/cable/yellow{d1 = 1; d2 = 8; icon_state = "1-8"},/turf/simulated/floor/airless,/area/solar/aftportsolar) -"dLv" = (/obj/structure/cable/yellow{d1 = 1; d2 = 8; icon_state = "1-8"},/obj/structure/cable/yellow{d1 = 1; d2 = 4; icon_state = "1-4"},/turf/simulated/floor/airless,/area/solar/aftstarboardsolar) -"dLw" = (/turf/space,/area/syndicate_station/thirddeck) -"dLx" = (/obj/effect/landmark/map_data{height = 3},/turf/space,/area/space) +"dkZ" = (/turf/space,/area/shuttle/shuttle1/seconddeck) +"dla" = (/turf/space,/area/shuttle/shuttle2/seconddeck) +"dlb" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0},/turf/simulated/floor/tiled,/area/hallway/primary/seconddeck/dockhallway) +"dlc" = (/turf/simulated/floor/tiled,/area/hallway/primary/seconddeck/dockhallway) +"dld" = (/obj/structure/closet/emcloset,/turf/simulated/floor/tiled/dark,/area/hallway/primary/seconddeck/dockhallway) +"dle" = (/turf/simulated/wall,/area/storage/primary) +"dlf" = (/turf/simulated/wall,/area/hallway/primary/seconddeck/dockhallway) +"dlg" = (/obj/machinery/power/apc{dir = 1; name = "north bump"; pixel_x = 0; pixel_y = 24},/obj/structure/cable{icon_state = "0-2"; d2 = 2},/turf/simulated/floor/tiled/dark,/area/hallway/primary/seconddeck/dockhallway) +"dlh" = (/turf/simulated/floor/tiled/dark,/area/hallway/primary/seconddeck/dockhallway) +"dli" = (/obj/structure/sign/deck/second,/turf/simulated/wall/r_wall,/area/hallway/primary/seconddeck/dockhallway) +"dlj" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/camera/network/second_deck{c_tag = "Second Deck - Dock Hallway Three"},/turf/simulated/floor/tiled,/area/hallway/primary/seconddeck/dockhallway) +"dlk" = (/obj/item/device/radio/intercom{dir = 1; name = "Station Intercom (General)"; pixel_y = 21},/turf/simulated/floor/tiled/dark,/area/hallway/primary/seconddeck/dockhallway) +"dll" = (/obj/machinery/door/firedoor/border_only,/obj/effect/wingrille_spawn/reinforced,/turf/simulated/floor/plating,/area/hallway/primary/seconddeck/dockhallway) +"dlm" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor/tiled/dark,/area/hallway/primary/seconddeck/dockhallway) +"dln" = (/obj/structure/closet/emcloset,/obj/machinery/atmospherics/pipe/simple/hidden,/turf/simulated/floor/tiled/dark,/area/hallway/primary/seconddeck/dockhallway) +"dlo" = (/obj/machinery/firealarm{dir = 2; layer = 3.3; pixel_x = 0; pixel_y = 26},/obj/machinery/light{icon_state = "tube1"; dir = 8},/turf/simulated/floor/tiled,/area/hallway/primary/seconddeck/dockhallway) +"dlp" = (/obj/structure/closet/emcloset,/turf/simulated/floor/tiled,/area/hallway/primary/seconddeck/dockhallway) +"dlq" = (/obj/machinery/atmospherics/unary/vent_pump/on,/turf/simulated/floor/tiled,/area/hallway/primary/seconddeck/dockhallway) +"dlr" = (/obj/structure/bed/chair,/turf/simulated/floor/tiled,/area/hallway/primary/seconddeck/dockhallway) +"dls" = (/obj/machinery/firealarm{dir = 2; layer = 3.3; pixel_x = 0; pixel_y = 26},/obj/structure/bed/chair,/turf/simulated/floor/tiled,/area/hallway/primary/seconddeck/dockhallway) +"dlt" = (/obj/structure/table/glass,/turf/simulated/floor/tiled,/area/hallway/primary/seconddeck/dockhallway) +"dlu" = (/obj/machinery/atmospherics/unary/vent_pump/on,/obj/structure/bed/chair,/turf/simulated/floor/tiled,/area/hallway/primary/seconddeck/dockhallway) +"dlv" = (/obj/machinery/door/firedoor/border_only,/turf/simulated/floor/tiled,/area/hallway/primary/seconddeck/dockhallway) +"dlw" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor/tiled,/area/hallway/primary/seconddeck/dockhallway) +"dlx" = (/obj/item/weapon/book/codex,/obj/structure/table/glass,/turf/simulated/floor/tiled,/area/hallway/primary/seconddeck/dockhallway) +"dly" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor/tiled,/area/hallway/primary/seconddeck/dockhallway) +"dlz" = (/obj/machinery/atmospherics/pipe/simple/hidden,/turf/simulated/floor/tiled,/area/hallway/primary/seconddeck/dockhallway) +"dlA" = (/obj/machinery/firealarm{dir = 2; layer = 3.3; pixel_x = 0; pixel_y = 26},/obj/machinery/light{dir = 4},/turf/simulated/floor/tiled,/area/hallway/primary/seconddeck/dockhallway) +"dlB" = (/obj/machinery/atmospherics/unary/vent_pump/on{dir = 4},/turf/simulated/floor/tiled,/area/hallway/primary/seconddeck/dockhallway) +"dlC" = (/obj/structure/cable{d1 = 1; d2 = 4; icon_state = "1-4"},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 6},/turf/simulated/floor/tiled,/area/hallway/primary/seconddeck/dockhallway) +"dlD" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/structure/cable{d1 = 2; d2 = 8; icon_state = "2-8"},/obj/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 1},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden{dir = 6},/turf/simulated/floor/tiled,/area/hallway/primary/seconddeck/dockhallway) +"dlE" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{dir = 1},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden{dir = 4},/turf/simulated/floor/tiled,/area/hallway/primary/seconddeck/dockhallway) +"dlF" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/door/firedoor/glass,/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden{dir = 4},/turf/simulated/floor/tiled,/area/hallway/primary/seconddeck/dockhallway) +"dlG" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden{dir = 4},/turf/simulated/floor/tiled,/area/hallway/primary/seconddeck/dockhallway) +"dlH" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/atmospherics/pipe/manifold/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden{dir = 4},/turf/simulated/floor/tiled,/area/hallway/primary/seconddeck/dockhallway) +"dlI" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden{dir = 4},/obj/machinery/hologram/holopad,/obj/effect/floor_decal/industrial/outline/grey,/turf/simulated/floor/tiled,/area/hallway/primary/seconddeck/dockhallway) +"dlJ" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/structure/cable{d1 = 1; d2 = 8; icon_state = "1-8"},/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{dir = 1},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden{dir = 4},/turf/simulated/floor/tiled,/area/hallway/primary/seconddeck/dockhallway) +"dlK" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/structure/cable{d1 = 2; d2 = 8; icon_state = "2-8"},/obj/machinery/atmospherics/pipe/manifold/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden{dir = 4},/turf/simulated/floor/tiled,/area/hallway/primary/seconddeck/dockhallway) +"dlL" = (/obj/machinery/atmospherics/pipe/manifold4w/hidden/supply,/obj/machinery/atmospherics/pipe/manifold4w/hidden/scrubbers,/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/atmospherics/pipe/manifold/hidden{dir = 1; icon_state = "map"; tag = "icon-manifold-f (NORTH)"},/obj/machinery/hologram/holopad,/obj/effect/floor_decal/industrial/outline/grey,/obj/effect/landmark{name = "lightsout"},/turf/simulated/floor/tiled,/area/hallway/primary/seconddeck/dockhallway) +"dlM" = (/obj/structure/cable{d1 = 2; d2 = 8; icon_state = "2-8"},/obj/structure/cable{d1 = 1; d2 = 8; icon_state = "1-8"},/obj/machinery/atmospherics/pipe/manifold4w/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/atmospherics/pipe/manifold/hidden{dir = 1; icon_state = "map"; tag = "icon-manifold-f (NORTH)"},/turf/simulated/floor/tiled,/area/hallway/primary/seconddeck/dockhallway) +"dlN" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 10},/obj/machinery/atmospherics/pipe/simple/hidden{dir = 9; icon_state = "intact"; tag = "icon-intact-f (NORTHWEST)"},/turf/simulated/floor/tiled,/area/hallway/primary/seconddeck/dockhallway) +"dlO" = (/obj/machinery/atmospherics/unary/vent_pump/on{dir = 8},/turf/simulated/floor/tiled,/area/hallway/primary/seconddeck/dockhallway) +"dlP" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/effect/floor_decal/sign/dock/one,/obj/machinery/alarm{dir = 4; icon_state = "alarm0"; pixel_x = -22},/obj/machinery/camera/network/second_deck{c_tag = "Second Deck - Dock Hallway One"; dir = 4},/turf/simulated/floor/tiled,/area/hallway/primary/seconddeck/dockhallway) +"dlQ" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden,/turf/simulated/floor/tiled,/area/hallway/primary/seconddeck/dockhallway) +"dlR" = (/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 1},/turf/simulated/floor/tiled,/area/hallway/primary/seconddeck/dockhallway) +"dlS" = (/obj/machinery/status_display{pixel_x = 0; pixel_y = -32},/turf/simulated/floor/tiled,/area/hallway/primary/seconddeck/dockhallway) +"dlT" = (/obj/structure/extinguisher_cabinet{pixel_y = -30},/turf/simulated/floor/tiled,/area/hallway/primary/seconddeck/dockhallway) +"dlU" = (/obj/machinery/light,/turf/simulated/floor/tiled,/area/hallway/primary/seconddeck/dockhallway) +"dlV" = (/obj/machinery/embedded_controller/radio/docking_port_multi{child_names_txt = "Airlock One;Airlock Two;Airlock Three;Airlock Four"; child_tags_txt = "escape_dock_north_airlock;escape_dock_south_airlock;escape_dock_snorth_airlock;escape_dock_ssouth_airlock"; frequency = 1380; id_tag = "escape_dock"; pixel_y = -25; req_one_access = list(13)},/turf/simulated/floor/tiled,/area/hallway/primary/seconddeck/dockhallway) +"dlW" = (/obj/machinery/alarm{dir = 1; pixel_y = -22},/turf/simulated/floor/tiled,/area/hallway/primary/seconddeck/dockhallway) +"dlX" = (/obj/machinery/camera/network/second_deck{c_tag = "Second Deck - Dock Hallway Two"; dir = 1},/turf/simulated/floor/tiled,/area/hallway/primary/seconddeck/dockhallway) +"dlY" = (/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 1},/obj/machinery/ai_status_display{pixel_y = -32},/obj/item/device/radio/intercom{dir = 4; name = "Station Intercom (General)"; pixel_x = 21},/turf/simulated/floor/tiled,/area/hallway/primary/seconddeck/dockhallway) +"dlZ" = (/obj/machinery/light,/obj/machinery/alarm{dir = 4; icon_state = "alarm0"; pixel_x = -22},/turf/simulated/floor/tiled/dark,/area/hallway/primary/seconddeck/dockhallway) +"dma" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/hidden,/obj/effect/floor_decal/sign/dock/two,/turf/simulated/floor/tiled,/area/hallway/primary/seconddeck/dockhallway) +"dmb" = (/obj/machinery/firealarm{dir = 4; pixel_x = 24},/turf/simulated/floor/tiled/dark,/area/hallway/primary/seconddeck/dockhallway) +"dmc" = (/obj/machinery/ai_status_display{pixel_y = -32},/obj/item/device/radio/intercom{dir = 8; name = "Station Intercom (General)"; pixel_x = -21},/turf/simulated/floor/tiled,/area/hallway/primary/seconddeck/dockhallway) +"dmd" = (/obj/machinery/camera/network/second_deck{c_tag = "Second Deck - Dock Hallway Four"; dir = 1},/turf/simulated/floor/tiled,/area/hallway/primary/seconddeck/dockhallway) +"dme" = (/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 1},/obj/structure/extinguisher_cabinet{pixel_y = -30},/turf/simulated/floor/tiled,/area/hallway/primary/seconddeck/dockhallway) +"dmf" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/effect/floor_decal/sign/dock/three,/obj/machinery/alarm{dir = 8; pixel_x = 22; pixel_y = 0},/obj/machinery/camera/network/second_deck{c_tag = "Second Deck - Dock Hallway Five"; dir = 8},/turf/simulated/floor/tiled,/area/hallway/primary/seconddeck/dockhallway) +"dmg" = (/turf/simulated/wall/r_wall,/area/hallway/secondary/entry/D1) +"dmh" = (/obj/machinery/door/firedoor/border_only,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/door/airlock/glass{name = "Dock"},/turf/simulated/floor/tiled,/area/hallway/secondary/entry/D1) +"dmi" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0},/obj/machinery/door/firedoor/glass,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden,/obj/machinery/door/airlock/glass{name = "Dock"},/turf/simulated/floor/tiled,/area/hallway/secondary/entry/D1) +"dmj" = (/obj/machinery/door/firedoor/glass,/obj/effect/wingrille_spawn/reinforced,/turf/simulated/floor/plating,/area/hallway/primary/seconddeck/dockhallway) +"dmk" = (/turf/simulated/wall/r_wall,/area/hallway/secondary/entry/D2) +"dml" = (/obj/structure/sign/directions/engineering{dir = 1; pixel_y = 10},/obj/structure/sign/directions/cargo{dir = 1},/obj/structure/sign/directions/security{dir = 1; pixel_y = -10},/turf/simulated/wall,/area/hallway/secondary/entry/D2) +"dmm" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0},/obj/machinery/door/firedoor/border_only,/obj/machinery/door/airlock/glass{name = "Dock"},/turf/simulated/floor/tiled,/area/hallway/secondary/entry/D2) +"dmn" = (/obj/machinery/door/firedoor/glass,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/hidden,/obj/machinery/door/airlock/glass{name = "Dock"},/turf/simulated/floor/tiled,/area/hallway/secondary/entry/D2) +"dmo" = (/obj/machinery/door/firedoor/border_only,/obj/machinery/door/airlock/glass{name = "Dock"},/turf/simulated/floor/tiled,/area/hallway/secondary/entry/D2) +"dmp" = (/obj/structure/sign/directions/bridge{dir = 1; pixel_y = 10},/obj/structure/sign/directions/science{dir = 1},/obj/structure/sign/directions/medical{dir = 1; pixel_y = -10},/turf/simulated/wall,/area/hallway/secondary/entry/D2) +"dmq" = (/turf/simulated/wall/r_wall,/area/hallway/secondary/entry/D3) +"dmr" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0},/obj/machinery/door/firedoor/glass,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden,/obj/machinery/door/airlock/glass{name = "Dock"},/turf/simulated/floor/tiled,/area/hallway/secondary/entry/D3) +"dms" = (/obj/machinery/door/firedoor/border_only,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/door/airlock/glass{name = "Dock"},/turf/simulated/floor/tiled,/area/hallway/secondary/entry/D3) +"dmt" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor/tiled,/area/hallway/secondary/entry/D1) +"dmu" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden,/turf/simulated/floor/tiled,/area/hallway/secondary/entry/D1) +"dmv" = (/obj/machinery/door/firedoor/border_only,/obj/effect/wingrille_spawn/reinforced,/turf/simulated/floor/plating,/area/hallway/secondary/entry/D1) +"dmw" = (/obj/machinery/door/firedoor/border_only,/obj/effect/wingrille_spawn/reinforced,/turf/simulated/floor/plating,/area/hallway/secondary/entry/D2) +"dmx" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0},/turf/simulated/floor/tiled,/area/hallway/secondary/entry/D2) +"dmy" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/hidden,/turf/simulated/floor/tiled,/area/hallway/secondary/entry/D2) +"dmz" = (/turf/simulated/floor/tiled,/area/hallway/secondary/entry/D2) +"dmA" = (/obj/machinery/door/firedoor/border_only,/obj/effect/wingrille_spawn/reinforced,/turf/simulated/floor/plating,/area/hallway/secondary/entry/D3) +"dmB" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden,/turf/simulated/floor/tiled,/area/hallway/secondary/entry/D3) +"dmC" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor/tiled,/area/hallway/secondary/entry/D3) +"dmD" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/alarm{dir = 4; icon_state = "alarm0"; pixel_x = -22},/turf/simulated/floor/tiled,/area/hallway/secondary/entry/D1) +"dmE" = (/obj/machinery/door/firedoor/glass,/obj/effect/wingrille_spawn/reinforced,/turf/simulated/floor/plating,/area/hallway/secondary/entry/D1) +"dmF" = (/obj/machinery/door/firedoor/glass,/obj/effect/wingrille_spawn/reinforced,/turf/simulated/floor/plating,/area/hallway/secondary/entry/D2) +"dmG" = (/obj/machinery/door/firedoor/glass,/obj/effect/wingrille_spawn/reinforced,/turf/simulated/floor/plating,/area/hallway/secondary/entry/D3) +"dmH" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/alarm{dir = 8; pixel_x = 22; pixel_y = 0},/turf/simulated/floor/tiled,/area/hallway/secondary/entry/D3) +"dmI" = (/turf/space,/area/shuttle/transport1/station) +"dmJ" = (/obj/structure/sign/warning/docking_area,/obj/effect/wingrille_spawn/reinforced,/turf/simulated/floor/plating,/area/hallway/secondary/entry/D1) +"dmK" = (/obj/effect/wingrille_spawn/reinforced,/turf/simulated/floor/plating,/area/hallway/secondary/entry/D1) +"dmL" = (/obj/structure/closet/emcloset,/obj/machinery/light{icon_state = "tube1"; dir = 8},/obj/effect/floor_decal/industrial/warning/corner{icon_state = "warningcorner"; dir = 8},/turf/simulated/floor/tiled,/area/hallway/secondary/entry/D1) +"dmM" = (/obj/machinery/atmospherics/unary/vent_pump/on{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor/tiled,/area/hallway/secondary/entry/D1) +"dmN" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0},/obj/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden,/turf/simulated/floor/tiled,/area/hallway/secondary/entry/D1) +"dmO" = (/turf/space,/area/shuttle/escape/station) +"dmP" = (/obj/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 8},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/hidden,/turf/simulated/floor/tiled,/area/hallway/secondary/entry/D2) +"dmQ" = (/obj/machinery/atmospherics/unary/vent_pump/on{dir = 8},/obj/machinery/light{dir = 4},/turf/simulated/floor/tiled,/area/hallway/secondary/entry/D2) +"dmR" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0},/obj/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 8},/obj/machinery/atmospherics/pipe/simple/hidden,/turf/simulated/floor/tiled,/area/hallway/secondary/entry/D3) +"dmS" = (/obj/machinery/atmospherics/unary/vent_pump/on{dir = 8},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor/tiled,/area/hallway/secondary/entry/D3) +"dmT" = (/obj/effect/floor_decal/industrial/warning/corner,/obj/structure/closet/emcloset,/obj/machinery/light{dir = 4},/turf/simulated/floor/tiled,/area/hallway/secondary/entry/D3) +"dmU" = (/obj/effect/wingrille_spawn/reinforced,/turf/simulated/floor/plating,/area/hallway/secondary/entry/D3) +"dmV" = (/obj/structure/sign/warning/docking_area,/obj/effect/wingrille_spawn/reinforced,/turf/simulated/floor/plating,/area/hallway/secondary/entry/D3) +"dmW" = (/obj/machinery/shield_diffuser,/obj/effect/floor_decal/industrial/hatch/yellow,/obj/machinery/door/airlock/external{frequency = 1380; icon_state = "door_locked"; id_tag = "s1s_dock_outer"; locked = 1; name = "Dock One External Airlock"; req_access = list(13)},/obj/machinery/access_button{command = "cycle_exterior"; frequency = 1380; master_tag = "s1s_dock_airlock"; name = "exterior access button"; pixel_x = -5; pixel_y = -26; req_one_access = list(13)},/turf/simulated/floor/tiled/dark,/area/hallway/secondary/entry/D1) +"dmX" = (/obj/effect/floor_decal/industrial/warning/cee{icon_state = "warningcee"; dir = 8},/obj/machinery/light/small{dir = 1},/obj/machinery/atmospherics/unary/vent_pump/high_volume{dir = 2; frequency = 1380; id_tag = "s1s_dock_pump"},/turf/simulated/floor/tiled,/area/hallway/secondary/entry/D1) +"dmY" = (/obj/effect/floor_decal/industrial/warning/cee{icon_state = "warningcee"; dir = 4},/obj/machinery/embedded_controller/radio/airlock/docking_port{frequency = 1380; id_tag = "shuttle1_shuttle"; pixel_x = 0; pixel_y = 30; req_one_access = list(13); tag_airpump = "s1s_dock_pump"; tag_chamber_sensor = "s1s_dock_sensor"; tag_exterior_door = "s1s_dock_outer"; tag_interior_door = "s1s_dock_inner"},/obj/machinery/atmospherics/unary/vent_pump/high_volume{dir = 2; frequency = 1380; id_tag = "s1s_dock_pump"},/obj/machinery/airlock_sensor{frequency = 1380; id_tag = "s1s_dock_sensor"; pixel_x = 0; pixel_y = -25},/turf/simulated/floor/tiled,/area/hallway/secondary/entry/D1) +"dmZ" = (/obj/machinery/door/airlock/glass_external{frequency = 1380; icon_state = "door_locked"; id_tag = "s1s_dock_inner"; locked = 1; name = "Dock One Internal Airlock"; req_access = list(13)},/obj/effect/floor_decal/industrial/hatch/yellow,/turf/simulated/floor/tiled/dark,/area/hallway/secondary/entry/D1) +"dna" = (/obj/effect/floor_decal/industrial/warning{dir = 8},/obj/machinery/access_button{command = "cycle_interior"; frequency = 1380; master_tag = "s1s_dock_airlock"; name = "interior access button"; pixel_x = -28; pixel_y = 26; req_one_access = list(13)},/turf/simulated/floor/tiled,/area/hallway/secondary/entry/D1) +"dnb" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/hologram/holopad,/obj/effect/floor_decal/industrial/outline/grey,/turf/simulated/floor/tiled,/area/hallway/secondary/entry/D1) +"dnc" = (/obj/structure/cable,/obj/machinery/power/apc{dir = 4; name = "east bump"; pixel_x = 24},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden,/turf/simulated/floor/tiled,/area/hallway/secondary/entry/D1) +"dnd" = (/obj/structure/cable,/obj/machinery/power/apc{dir = 8; name = "west bump"; pixel_x = -24},/turf/simulated/floor/tiled,/area/hallway/secondary/entry/D2) +"dne" = (/obj/machinery/alarm{dir = 8; pixel_x = 22; pixel_y = 0},/turf/simulated/floor/tiled,/area/hallway/secondary/entry/D2) +"dnf" = (/turf/simulated/shuttle/wall,/area/shuttle/arrival/station) +"dng" = (/obj/structure/shuttle/window,/obj/structure/grille,/turf/simulated/shuttle/plating,/area/shuttle/arrival/station) +"dnh" = (/obj/structure/cable,/obj/machinery/power/apc{dir = 8; name = "west bump"; pixel_x = -24},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden,/turf/simulated/floor/tiled,/area/hallway/secondary/entry/D3) +"dni" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/hologram/holopad,/obj/effect/floor_decal/industrial/outline/grey,/turf/simulated/floor/tiled,/area/hallway/secondary/entry/D3) +"dnj" = (/obj/effect/floor_decal/industrial/warning{icon_state = "warning"; dir = 4},/obj/machinery/access_button{command = "cycle_interior"; frequency = 1380; master_tag = "centcom_dock_airlock"; name = "interior access button"; pixel_x = 28; pixel_y = -26; req_one_access = list(13)},/turf/simulated/floor/tiled,/area/hallway/secondary/entry/D3) +"dnk" = (/obj/machinery/door/airlock/glass_external{frequency = 1380; icon_state = "door_locked"; id_tag = "centcom_dock_inner"; locked = 1; name = "Dock Three Internal Airlock"; req_access = list(13)},/obj/effect/floor_decal/industrial/hatch/yellow,/turf/simulated/floor/tiled/dark,/area/hallway/secondary/entry/D3) +"dnl" = (/obj/effect/floor_decal/industrial/warning/cee{icon_state = "warningcee"; dir = 8},/obj/machinery/embedded_controller/radio/airlock/docking_port{frequency = 1380; id_tag = "centcom_shuttle_dock_airlock"; pixel_x = 0; pixel_y = 30; req_one_access = list(13); tag_airpump = "centcom_dock_pump"; tag_chamber_sensor = "centcom_dock_sensor"; tag_exterior_door = "centcom_dock_outer"; tag_interior_door = "centcom_dock_inner"},/obj/machinery/airlock_sensor{frequency = 1380; id_tag = "centcom_dock_sensor"; pixel_x = 0; pixel_y = -25},/obj/machinery/atmospherics/unary/vent_pump/high_volume{dir = 2; frequency = 1380; id_tag = "centcom_dock_pump"},/turf/simulated/floor/tiled,/area/hallway/secondary/entry/D3) +"dnm" = (/obj/effect/floor_decal/industrial/warning/cee{icon_state = "warningcee"; dir = 4},/obj/machinery/light/small{dir = 1},/obj/machinery/atmospherics/unary/vent_pump/high_volume{dir = 2; frequency = 1380; id_tag = "centcom_dock_pump"},/turf/simulated/floor/tiled,/area/hallway/secondary/entry/D3) +"dnn" = (/obj/machinery/shield_diffuser,/obj/effect/floor_decal/industrial/hatch/yellow,/obj/machinery/access_button{command = "cycle_exterior"; frequency = 1380; master_tag = "centcom_dock_airlock"; name = "exterior access button"; pixel_x = 5; pixel_y = -26; req_one_access = list(13)},/obj/machinery/door/airlock/external{frequency = 1380; icon_state = "door_locked"; id_tag = "centcom_dock_outer"; locked = 1; name = "Dock Three External Airlock"; req_access = list(13)},/turf/simulated/floor/tiled/dark,/area/hallway/secondary/entry/D3) +"dno" = (/obj/machinery/atmospherics/pipe/simple/hidden{dir = 5; icon_state = "intact"; tag = "icon-intact-f (NORTHEAST)"},/obj/effect/wingrille_spawn/reinforced,/turf/simulated/floor/plating,/area/hallway/secondary/entry/D1) +"dnp" = (/obj/machinery/atmospherics/pipe/manifold/hidden,/obj/machinery/door/firedoor/border_only,/obj/effect/wingrille_spawn/reinforced,/turf/simulated/floor/plating,/area/hallway/secondary/entry/D1) +"dnq" = (/obj/machinery/door/firedoor/border_only,/obj/machinery/atmospherics/pipe/simple/hidden{dir = 4},/obj/effect/wingrille_spawn/reinforced,/turf/simulated/floor/plating,/area/hallway/secondary/entry/D1) +"dnr" = (/obj/machinery/atmospherics/pipe/simple/hidden{dir = 4},/obj/effect/floor_decal/industrial/warning/corner{icon_state = "warningcorner"; dir = 1},/turf/simulated/floor/tiled,/area/hallway/secondary/entry/D1) +"dns" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/hidden{dir = 4},/turf/simulated/floor/tiled,/area/hallway/secondary/entry/D1) +"dnt" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/manifold/hidden{dir = 4; icon_state = "map"; tag = "icon-manifold-f (EAST)"},/turf/simulated/floor/tiled,/area/hallway/secondary/entry/D1) +"dnu" = (/turf/simulated/shuttle/wall/hard_corner,/area/shuttle/arrival/station) +"dnv" = (/turf/simulated/shuttle/floor,/area/shuttle/arrival/station) +"dnw" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/manifold/hidden{dir = 8; icon_state = "map"; tag = "icon-manifold-f (WEST)"},/turf/simulated/floor/tiled,/area/hallway/secondary/entry/D3) +"dnx" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/hidden{dir = 4},/turf/simulated/floor/tiled,/area/hallway/secondary/entry/D3) +"dny" = (/obj/effect/floor_decal/industrial/warning/corner{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden{dir = 4},/turf/simulated/floor/tiled,/area/hallway/secondary/entry/D3) +"dnz" = (/obj/machinery/door/firedoor/border_only,/obj/machinery/atmospherics/pipe/simple/hidden{dir = 4},/obj/effect/wingrille_spawn/reinforced,/turf/simulated/floor/plating,/area/hallway/secondary/entry/D3) +"dnA" = (/obj/machinery/atmospherics/pipe/manifold/hidden,/obj/machinery/door/firedoor/border_only,/obj/effect/wingrille_spawn/reinforced,/turf/simulated/floor/plating,/area/hallway/secondary/entry/D3) +"dnB" = (/obj/machinery/atmospherics/pipe/simple/hidden{dir = 9; icon_state = "intact"; tag = "icon-intact-f (NORTHWEST)"},/obj/effect/wingrille_spawn/reinforced,/turf/simulated/floor/plating,/area/hallway/secondary/entry/D3) +"dnC" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden,/turf/simulated/floor/tiled,/area/hallway/secondary/entry/D1) +"dnD" = (/obj/structure/table/standard,/turf/simulated/shuttle/floor,/area/shuttle/arrival/station) +"dnE" = (/obj/structure/bed/chair{dir = 1},/turf/simulated/shuttle/floor,/area/shuttle/arrival/station) +"dnF" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden,/turf/simulated/floor/tiled,/area/hallway/secondary/entry/D3) +"dnG" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden,/obj/machinery/camera/network/second_deck{c_tag = "Second Deck - Dock One Fore"; dir = 8},/turf/simulated/floor/tiled,/area/hallway/secondary/entry/D1) +"dnH" = (/obj/machinery/camera/network/second_deck{c_tag = "Second Deck - Dock Two Fore"; dir = 4},/turf/simulated/floor/tiled,/area/hallway/secondary/entry/D2) +"dnI" = (/obj/machinery/light,/turf/simulated/shuttle/floor,/area/shuttle/arrival/station) +"dnJ" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden,/obj/machinery/camera/network/second_deck{c_tag = "Second Deck - Dock Three Fore"; dir = 4},/turf/simulated/floor/tiled,/area/hallway/secondary/entry/D3) +"dnK" = (/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{dir = 8},/obj/machinery/status_display{density = 0; layer = 4; pixel_x = -32; pixel_y = 0},/turf/simulated/floor/tiled,/area/hallway/secondary/entry/D1) +"dnL" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/item/device/radio/intercom{dir = 4; name = "Station Intercom (General)"; pixel_x = 21},/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 8},/obj/machinery/atmospherics/pipe/simple/hidden,/turf/simulated/floor/tiled,/area/hallway/secondary/entry/D1) +"dnM" = (/obj/machinery/firealarm{dir = 8; pixel_x = -24},/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 4},/turf/simulated/floor/tiled,/area/hallway/secondary/entry/D2) +"dnN" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden,/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{dir = 4},/turf/simulated/floor/tiled,/area/hallway/secondary/entry/D2) +"dnO" = (/obj/item/device/radio/intercom{dir = 4; name = "Station Intercom (General)"; pixel_x = 21},/turf/simulated/floor/tiled,/area/hallway/secondary/entry/D2) +"dnP" = (/obj/machinery/door/unpowered/shuttle,/turf/simulated/shuttle/floor,/area/shuttle/arrival/station) +"dnQ" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden,/obj/item/device/radio/intercom{dir = 8; name = "Station Intercom (General)"; pixel_x = -21},/turf/simulated/floor/tiled,/area/hallway/secondary/entry/D3) +"dnR" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/status_display{density = 0; layer = 4; pixel_x = 32; pixel_y = 0},/turf/simulated/floor/tiled,/area/hallway/secondary/entry/D3) +"dnS" = (/obj/structure/sign/warning/docking_area,/turf/simulated/wall/r_wall,/area/hallway/secondary/entry/D1) +"dnT" = (/obj/machinery/firealarm{dir = 8; pixel_x = -24},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor/tiled,/area/hallway/secondary/entry/D1) +"dnU" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/manifold/hidden{dir = 8; icon_state = "map"; tag = "icon-manifold-f (WEST)"},/obj/machinery/atmospherics/pipe/simple/hidden,/obj/effect/floor_decal/industrial/warning/corner,/obj/machinery/light{dir = 4},/turf/simulated/floor/tiled,/area/hallway/secondary/entry/D1) +"dnV" = (/obj/machinery/atmospherics/pipe/manifold/hidden{dir = 1; icon_state = "map"; tag = "icon-manifold-f (NORTH)"},/obj/effect/wingrille_spawn/reinforced,/obj/machinery/door/firedoor/border_only,/turf/simulated/floor/plating,/area/hallway/secondary/entry/D1) +"dnW" = (/obj/machinery/atmospherics/pipe/simple/hidden{dir = 10; icon_state = "intact"; tag = "icon-intact-f (SOUTHWEST)"},/obj/effect/wingrille_spawn/reinforced,/turf/simulated/floor/plating,/area/hallway/secondary/entry/D1) +"dnX" = (/obj/structure/sign/warning/docking_area,/obj/effect/wingrille_spawn/reinforced,/turf/simulated/floor/plating,/area/hallway/secondary/entry/D2) +"dnY" = (/obj/machinery/atmospherics/pipe/simple/hidden{dir = 6},/obj/effect/wingrille_spawn/reinforced,/turf/simulated/floor/plating,/area/hallway/secondary/entry/D2) +"dnZ" = (/obj/machinery/atmospherics/pipe/manifold/hidden{dir = 1; icon_state = "map"; tag = "icon-manifold-f (NORTH)"},/obj/effect/wingrille_spawn/reinforced,/obj/machinery/door/firedoor/border_only,/turf/simulated/floor/plating,/area/hallway/secondary/entry/D2) +"doa" = (/obj/machinery/door/firedoor/border_only,/obj/machinery/atmospherics/pipe/simple/hidden{dir = 4},/obj/effect/wingrille_spawn/reinforced,/turf/simulated/floor/plating,/area/hallway/secondary/entry/D2) +"dob" = (/obj/effect/floor_decal/industrial/warning/corner{dir = 8},/obj/machinery/atmospherics/pipe/simple/hidden{dir = 4},/obj/machinery/light{icon_state = "tube1"; dir = 8},/turf/simulated/floor/tiled,/area/hallway/secondary/entry/D2) +"doc" = (/obj/machinery/atmospherics/pipe/manifold/hidden{dir = 4; icon_state = "map"; tag = "icon-manifold-f (EAST)"},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor/tiled,/area/hallway/secondary/entry/D2) +"dod" = (/obj/effect/floor_decal/industrial/warning/corner,/turf/simulated/floor/tiled,/area/hallway/secondary/entry/D2) +"doe" = (/obj/effect/wingrille_spawn/reinforced,/turf/simulated/floor/plating,/area/hallway/secondary/entry/D2) +"dof" = (/obj/structure/closet/emcloset,/turf/simulated/shuttle/floor/white,/area/shuttle/arrival/station) +"dog" = (/obj/machinery/light{dir = 1},/turf/simulated/shuttle/floor,/area/shuttle/arrival/station) +"doh" = (/obj/effect/wingrille_spawn/reinforced,/obj/machinery/door/firedoor/border_only,/turf/simulated/floor/plating,/area/hallway/secondary/entry/D3) +"doi" = (/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/effect/floor_decal/industrial/warning/corner{dir = 8},/obj/machinery/atmospherics/pipe/simple/hidden,/obj/machinery/light{icon_state = "tube1"; dir = 8},/turf/simulated/floor/tiled,/area/hallway/secondary/entry/D3) +"doj" = (/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{dir = 4},/obj/machinery/firealarm{dir = 4; pixel_x = 24},/turf/simulated/floor/tiled,/area/hallway/secondary/entry/D3) +"dok" = (/obj/structure/sign/warning/docking_area,/turf/simulated/wall/r_wall,/area/hallway/secondary/entry/D3) +"dol" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/ai_status_display{pixel_x = -32; pixel_y = 0},/turf/simulated/floor/tiled,/area/hallway/secondary/entry/D1) +"dom" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/access_button{command = "cycle_interior"; frequency = 1380; master_tag = "escape_dock_north_airlock"; name = "interior access button"; pixel_x = 26; pixel_y = 26; req_one_access = list(13)},/obj/machinery/atmospherics/pipe/simple/hidden,/obj/effect/floor_decal/industrial/warning{icon_state = "warning"; dir = 4},/turf/simulated/floor/tiled,/area/hallway/secondary/entry/D1) +"don" = (/obj/machinery/door/airlock/glass_external{frequency = 1380; icon_state = "door_locked"; id_tag = "escape_dock_north_inner"; locked = 1; name = "Escape Airlock"; req_access = list(13)},/obj/effect/floor_decal/industrial/hatch/yellow,/turf/simulated/floor/tiled/dark,/area/hallway/secondary/entry/D1) +"doo" = (/obj/machinery/atmospherics/unary/vent_pump/high_volume{dir = 1; frequency = 1380; id_tag = "escape_dock_north_pump"},/obj/effect/floor_decal/industrial/warning{dir = 9},/obj/machinery/light/small{dir = 1},/turf/simulated/floor/tiled,/area/hallway/secondary/entry/D1) +"dop" = (/obj/machinery/atmospherics/unary/vent_pump/high_volume{dir = 1; frequency = 1380; id_tag = "escape_dock_north_pump"},/obj/effect/floor_decal/industrial/warning{icon_state = "warning"; dir = 5},/obj/machinery/embedded_controller/radio/airlock/docking_port_multi{frequency = 1380; id_tag = "escape_dock_north_airlock"; master_tag = "escape_dock"; pixel_y = 30; req_one_access = list(13); tag_airlock_mech_sensor = "escape_dock_north_mech"; tag_airpump = "escape_dock_north_pump"; tag_chamber_sensor = "escape_dock_north_sensor"; tag_exterior_door = "escape_dock_north_outer"; tag_interior_door = "escape_dock_north_inner"; tag_shuttle_mech_sensor = "shuttle_dock_north_mech"},/turf/simulated/floor/tiled/dark,/area/hallway/secondary/entry/D1) +"doq" = (/obj/machinery/door/airlock/external{frequency = 1380; icon_state = "door_locked"; id_tag = "escape_dock_north_outer"; locked = 1; name = "Escape Airlock"; req_access = list(13)},/obj/machinery/shield_diffuser,/obj/effect/floor_decal/industrial/hatch/yellow,/turf/simulated/floor/tiled/dark,/area/hallway/secondary/entry/D1) +"dor" = (/obj/machinery/door/airlock/external{frequency = 1380; icon_state = "door_locked"; id_tag = "escape_dock_north_starboard_outer"; locked = 1; name = "Escape Airlock"; req_access = list(13)},/obj/effect/floor_decal/industrial/hatch/yellow,/obj/machinery/shield_diffuser,/turf/simulated/floor/tiled/dark,/area/hallway/secondary/entry/D2) +"dos" = (/obj/machinery/atmospherics/unary/vent_pump/high_volume{dir = 1; frequency = 1380; id_tag = "escape_dock_north_starboard_pump"},/obj/effect/floor_decal/industrial/warning{dir = 9},/obj/machinery/embedded_controller/radio/airlock/docking_port_multi{frequency = 1380; id_tag = "escape_dock_snorth_airlock"; master_tag = "escape_dock"; pixel_y = 30; req_one_access = list(13); tag_airlock_mech_sensor = "escape_dock_north_starboard_mech"; tag_airpump = "escape_dock_north_starboard_pump"; tag_chamber_sensor = "escape_dock_north_starboard_sensor"; tag_exterior_door = "escape_dock_north_starboard_outer"; tag_interior_door = "escape_dock_north_starboard_inner"; tag_shuttle_mech_sensor = "shuttle_dock_north_starboard_mech"},/turf/simulated/floor/tiled/dark,/area/hallway/secondary/entry/D2) +"dot" = (/obj/machinery/atmospherics/unary/vent_pump/high_volume{dir = 1; frequency = 1380; id_tag = "escape_dock_north_starboard_pump"},/obj/effect/floor_decal/industrial/warning{icon_state = "warning"; dir = 5},/obj/machinery/light/small{dir = 1},/turf/simulated/floor/tiled,/area/hallway/secondary/entry/D2) +"dou" = (/obj/machinery/door/airlock/glass_external{frequency = 1380; icon_state = "door_locked"; id_tag = "escape_dock_north_starboard_inner"; locked = 1; name = "Escape Airlock"; req_access = list(13)},/obj/effect/floor_decal/industrial/hatch/yellow,/turf/simulated/floor/tiled/dark,/area/hallway/secondary/entry/D2) +"dov" = (/obj/effect/floor_decal/industrial/warning{dir = 8},/obj/machinery/access_button{command = "cycle_interior"; frequency = 1380; master_tag = "escape_dock_north_starboard_airlock"; name = "interior access button"; pixel_x = -26; pixel_y = 26; req_one_access = list(13)},/turf/simulated/floor/tiled,/area/hallway/secondary/entry/D2) +"dow" = (/obj/effect/floor_decal/industrial/warning{dir = 4},/turf/simulated/floor/tiled,/area/hallway/secondary/entry/D2) +"dox" = (/obj/machinery/door/airlock/glass_external,/obj/effect/floor_decal/industrial/hatch/yellow,/turf/simulated/floor/tiled/dark,/area/hallway/secondary/entry/D2) +"doy" = (/obj/effect/floor_decal/industrial/warning{dir = 9},/obj/machinery/light/small{dir = 1},/turf/simulated/floor/tiled,/area/hallway/secondary/entry/D2) +"doz" = (/obj/effect/floor_decal/industrial/warning{icon_state = "warning"; dir = 5},/turf/simulated/floor/tiled/dark,/area/hallway/secondary/entry/D2) +"doA" = (/obj/machinery/door/airlock/external{name = "Arrival Airlock"},/obj/effect/floor_decal/industrial/hatch/yellow,/turf/simulated/floor/tiled/dark,/area/hallway/secondary/entry/D2) +"doB" = (/obj/machinery/door/airlock/external{name = "Arrival Airlock"},/obj/effect/floor_decal/industrial/hatch/yellow,/turf/simulated/floor/tiled/dark,/area/hallway/secondary/entry/D3) +"doC" = (/obj/effect/floor_decal/industrial/warning{dir = 9},/turf/simulated/floor/tiled/dark,/area/hallway/secondary/entry/D3) +"doD" = (/obj/effect/floor_decal/industrial/warning{icon_state = "warning"; dir = 5},/obj/machinery/light/small{dir = 1},/turf/simulated/floor/tiled,/area/hallway/secondary/entry/D3) +"doE" = (/obj/machinery/door/airlock/glass_external,/obj/effect/floor_decal/industrial/hatch/yellow,/turf/simulated/floor/tiled/dark,/area/hallway/secondary/entry/D3) +"doF" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/effect/floor_decal/industrial/warning{dir = 8},/obj/machinery/atmospherics/pipe/simple/hidden,/turf/simulated/floor/tiled,/area/hallway/secondary/entry/D3) +"doG" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/ai_status_display{pixel_x = 32; pixel_y = 0},/turf/simulated/floor/tiled,/area/hallway/secondary/entry/D3) +"doH" = (/turf/space,/area/shuttle/shuttle2/arrivals_dock) +"doI" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden,/obj/effect/floor_decal/industrial/warning{icon_state = "warning"; dir = 4},/turf/simulated/floor/tiled,/area/hallway/secondary/entry/D1) +"doJ" = (/obj/machinery/atmospherics/unary/vent_pump/high_volume{dir = 2; frequency = 1380; id_tag = "escape_dock_north_pump"},/obj/effect/floor_decal/industrial/warning{dir = 10},/turf/simulated/floor/tiled,/area/hallway/secondary/entry/D1) +"doK" = (/obj/machinery/atmospherics/unary/vent_pump/high_volume{dir = 2; frequency = 1380; id_tag = "escape_dock_north_pump"},/obj/effect/floor_decal/industrial/warning{dir = 6},/obj/machinery/airlock_sensor{frequency = 1380; id_tag = "escape_dock_north_sensor"; pixel_x = 0; pixel_y = -25},/turf/simulated/floor/tiled/dark,/area/hallway/secondary/entry/D1) +"doL" = (/obj/machinery/access_button{command = "cycle_exterior"; frequency = 1380; master_tag = "escape_dock_north_airlock"; name = "exterior access button"; pixel_x = 4; pixel_y = -26; req_one_access = list(13)},/obj/machinery/door/airlock/external{frequency = 1380; icon_state = "door_locked"; id_tag = "escape_dock_north_outer"; locked = 1; name = "Escape Airlock"; req_access = list(13)},/obj/machinery/shield_diffuser,/obj/effect/floor_decal/industrial/hatch/yellow,/turf/simulated/floor/tiled/dark,/area/hallway/secondary/entry/D1) +"doM" = (/obj/machinery/access_button{command = "cycle_exterior"; frequency = 1380; master_tag = "escape_dock_north_starboard_airlock"; name = "exterior access button"; pixel_x = -4; pixel_y = -26; req_one_access = list(13)},/obj/machinery/door/airlock/external{frequency = 1380; icon_state = "door_locked"; id_tag = "escape_dock_north_starboard_outer"; locked = 1; name = "Escape Airlock"; req_access = list(13)},/obj/effect/floor_decal/industrial/hatch/yellow,/obj/machinery/shield_diffuser,/turf/simulated/floor/tiled/dark,/area/hallway/secondary/entry/D2) +"doN" = (/obj/machinery/atmospherics/unary/vent_pump/high_volume{dir = 2; frequency = 1380; id_tag = "escape_dock_north_starboard_pump"},/obj/effect/floor_decal/industrial/warning{dir = 10},/obj/machinery/airlock_sensor{frequency = 1380; id_tag = "escape_dock_north_starboard_sensor"; pixel_x = 0; pixel_y = -25},/turf/simulated/floor/tiled/dark,/area/hallway/secondary/entry/D2) +"doO" = (/obj/machinery/atmospherics/unary/vent_pump/high_volume{dir = 2; frequency = 1380; id_tag = "escape_dock_north_starboard_pump"},/obj/effect/floor_decal/industrial/warning{dir = 6},/turf/simulated/floor/tiled,/area/hallway/secondary/entry/D2) +"doP" = (/obj/effect/floor_decal/industrial/warning{dir = 8},/turf/simulated/floor/tiled,/area/hallway/secondary/entry/D2) +"doQ" = (/obj/effect/floor_decal/industrial/warning{dir = 10},/turf/simulated/floor/tiled,/area/hallway/secondary/entry/D2) +"doR" = (/obj/effect/floor_decal/industrial/warning{dir = 6},/turf/simulated/floor/tiled/dark,/area/hallway/secondary/entry/D2) +"doS" = (/obj/structure/bed/chair{dir = 8},/obj/structure/window/reinforced{dir = 4; health = 1e+006},/obj/effect/landmark{name = "JoinLate"},/turf/simulated/shuttle/floor/white,/area/shuttle/arrival/station) +"doT" = (/obj/structure/bed/chair{dir = 4},/obj/structure/window/reinforced{dir = 8; health = 1e+006},/obj/effect/landmark{name = "JoinLate"},/turf/simulated/shuttle/floor/white,/area/shuttle/arrival/station) +"doU" = (/obj/effect/floor_decal/industrial/warning{dir = 10},/turf/simulated/floor/tiled/dark,/area/hallway/secondary/entry/D3) +"doV" = (/obj/effect/floor_decal/industrial/warning{dir = 6},/turf/simulated/floor/tiled,/area/hallway/secondary/entry/D3) +"doW" = (/turf/space,/area/shuttle/response_ship/arrivals_dock) +"doX" = (/obj/machinery/door/firedoor/glass,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor/tiled,/area/hallway/secondary/entry/D1) +"doY" = (/obj/machinery/door/firedoor/border_only,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/manifold/hidden{dir = 8; icon_state = "map"; tag = "icon-manifold-f (WEST)"},/obj/effect/floor_decal/industrial/warning/corner{dir = 4},/turf/simulated/floor/tiled,/area/hallway/secondary/entry/D1) +"doZ" = (/obj/machinery/atmospherics/pipe/manifold/hidden,/obj/effect/wingrille_spawn/reinforced,/obj/machinery/door/firedoor/border_only,/turf/simulated/floor/plating,/area/hallway/secondary/entry/D1) +"dpa" = (/obj/machinery/atmospherics/pipe/simple/hidden{dir = 9; icon_state = "intact"; tag = "icon-intact-f (NORTHWEST)"},/obj/effect/wingrille_spawn/reinforced,/turf/simulated/floor/plating,/area/hallway/secondary/entry/D1) +"dpb" = (/obj/machinery/atmospherics/pipe/simple/hidden{dir = 5; icon_state = "intact"; tag = "icon-intact-f (NORTHEAST)"},/obj/effect/wingrille_spawn/reinforced,/turf/simulated/floor/plating,/area/hallway/secondary/entry/D2) +"dpc" = (/obj/machinery/atmospherics/pipe/manifold/hidden,/obj/effect/wingrille_spawn/reinforced,/obj/machinery/door/firedoor/border_only,/turf/simulated/floor/plating,/area/hallway/secondary/entry/D2) +"dpd" = (/obj/machinery/door/firedoor/border_only,/obj/effect/floor_decal/industrial/warning/corner{icon_state = "warningcorner"; dir = 1},/obj/machinery/atmospherics/pipe/simple/hidden{dir = 4},/turf/simulated/floor/tiled,/area/hallway/secondary/entry/D2) +"dpe" = (/obj/machinery/door/firedoor/glass,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/manifold/hidden{dir = 4; icon_state = "map"; tag = "icon-manifold-f (EAST)"},/turf/simulated/floor/tiled,/area/hallway/secondary/entry/D2) +"dpf" = (/obj/machinery/door/firedoor/border_only,/obj/effect/floor_decal/industrial/warning/corner{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden{dir = 4},/turf/simulated/floor/tiled,/area/hallway/secondary/entry/D2) +"dpg" = (/turf/simulated/shuttle/wall/no_join,/area/shuttle/arrival/station) +"dph" = (/obj/structure/bed/chair{dir = 4},/turf/simulated/shuttle/floor/white,/area/shuttle/arrival/station) +"dpi" = (/obj/effect/landmark/start,/turf/simulated/shuttle/floor,/area/shuttle/arrival/station) +"dpj" = (/obj/structure/bed/chair{dir = 8},/turf/simulated/shuttle/floor/white,/area/shuttle/arrival/station) +"dpk" = (/obj/machinery/door/firedoor/border_only,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/manifold/hidden{dir = 4; icon_state = "map"; tag = "icon-manifold-f (EAST)"},/obj/effect/floor_decal/industrial/warning/corner{icon_state = "warningcorner"; dir = 1},/turf/simulated/floor/tiled,/area/hallway/secondary/entry/D3) +"dpl" = (/obj/machinery/door/firedoor/glass,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor/tiled,/area/hallway/secondary/entry/D3) +"dpm" = (/obj/effect/wingrille_spawn/reinforced,/obj/structure/sign/warning/airlock,/turf/simulated/floor/plating,/area/hallway/secondary/entry/D1) +"dpn" = (/obj/machinery/atmospherics/pipe/simple/hidden{dir = 6},/obj/effect/wingrille_spawn/reinforced,/turf/simulated/floor/plating,/area/hallway/secondary/entry/D1) +"dpo" = (/obj/machinery/atmospherics/pipe/manifold/hidden{dir = 1; icon_state = "map"; tag = "icon-manifold-f (NORTH)"},/obj/machinery/door/firedoor/border_only,/obj/effect/wingrille_spawn/reinforced,/turf/simulated/floor/plating,/area/hallway/secondary/entry/D1) +"dpp" = (/obj/machinery/atmospherics/pipe/simple/hidden{dir = 4},/obj/effect/floor_decal/industrial/warning/corner{icon_state = "warningcorner"; dir = 8},/turf/simulated/floor/tiled,/area/hallway/secondary/entry/D1) +"dpq" = (/obj/structure/bed/chair{dir = 8},/turf/simulated/floor/tiled,/area/hallway/secondary/entry/D1) +"dpr" = (/obj/structure/bed/chair{dir = 4},/turf/simulated/floor/tiled,/area/hallway/secondary/entry/D2) +"dps" = (/obj/structure/bed/chair{dir = 8},/turf/simulated/floor/tiled,/area/hallway/secondary/entry/D2) +"dpt" = (/obj/structure/bed/chair{dir = 4},/obj/effect/landmark{name = "JoinLate"},/turf/simulated/shuttle/floor/white,/area/shuttle/arrival/station) +"dpu" = (/obj/structure/bed/chair{dir = 4},/obj/structure/window/reinforced{dir = 8; health = 1e+006},/turf/simulated/shuttle/floor/white,/area/shuttle/arrival/station) +"dpv" = (/obj/structure/bed/chair{dir = 8},/obj/structure/window/reinforced{dir = 4; health = 1e+006},/turf/simulated/shuttle/floor/white,/area/shuttle/arrival/station) +"dpw" = (/obj/structure/bed/chair{dir = 8},/obj/effect/landmark{name = "JoinLate"},/turf/simulated/shuttle/floor/white,/area/shuttle/arrival/station) +"dpx" = (/obj/structure/bed/chair{dir = 4},/turf/simulated/floor/tiled,/area/hallway/secondary/entry/D3) +"dpy" = (/obj/effect/floor_decal/industrial/warning/corner,/obj/machinery/atmospherics/pipe/simple/hidden{dir = 4},/turf/simulated/floor/tiled,/area/hallway/secondary/entry/D3) +"dpz" = (/obj/machinery/atmospherics/pipe/manifold/hidden{dir = 1; icon_state = "map"; tag = "icon-manifold-f (NORTH)"},/obj/machinery/door/firedoor/border_only,/obj/effect/wingrille_spawn/reinforced,/turf/simulated/floor/plating,/area/hallway/secondary/entry/D3) +"dpA" = (/obj/machinery/atmospherics/pipe/simple/hidden{dir = 10; icon_state = "intact"; tag = "icon-intact-f (SOUTHWEST)"},/obj/effect/wingrille_spawn/reinforced,/turf/simulated/floor/plating,/area/hallway/secondary/entry/D3) +"dpB" = (/obj/machinery/shield_diffuser,/obj/machinery/door/airlock/external{frequency = 1380; icon_state = "door_locked"; id_tag = "specops_dock_outer"; locked = 1; name = "Dock One External Airlock"; req_access = list(13)},/obj/machinery/access_button{command = "cycle_exterior"; frequency = 1380; master_tag = "specops_dock_airlock"; name = "exterior access button"; pixel_x = -5; pixel_y = -26; req_one_access = list(13)},/obj/effect/floor_decal/industrial/hatch/yellow,/turf/simulated/floor/tiled/dark,/area/hallway/secondary/entry/D1) +"dpC" = (/obj/effect/floor_decal/industrial/warning/cee{icon_state = "warningcee"; dir = 8},/obj/machinery/atmospherics/unary/vent_pump/high_volume{dir = 1; frequency = 1380; id_tag = "specops_dock_pump"},/obj/machinery/light/small{dir = 1},/turf/simulated/floor/tiled,/area/hallway/secondary/entry/D1) +"dpD" = (/obj/effect/floor_decal/industrial/warning/cee{icon_state = "warningcee"; dir = 4},/obj/machinery/atmospherics/unary/vent_pump/high_volume{dir = 1; frequency = 1380; id_tag = "specops_dock_pump"},/obj/machinery/airlock_sensor{frequency = 1380; id_tag = "specops_dock_sensor"; pixel_x = 0; pixel_y = -25},/obj/machinery/embedded_controller/radio/airlock/docking_port{frequency = 1380; id_tag = "response_shuttle_dock_airlock"; pixel_x = 0; pixel_y = 30; req_one_access = list(13); tag_airpump = "specops_dock_pump"; tag_chamber_sensor = "specops_dock_sensor"; tag_exterior_door = "specops_dock_outer"; tag_interior_door = "specops_dock_inner"},/turf/simulated/floor/tiled,/area/hallway/secondary/entry/D1) +"dpE" = (/obj/machinery/door/airlock/glass_external{frequency = 1380; icon_state = "door_locked"; id_tag = "specops_dock_inner"; locked = 1; name = "Dock One Internal Airlock"; req_access = list(13)},/obj/effect/floor_decal/industrial/hatch/yellow,/turf/simulated/floor/tiled/dark,/area/hallway/secondary/entry/D1) +"dpF" = (/obj/effect/floor_decal/industrial/warning{dir = 8},/obj/machinery/access_button{command = "cycle_interior"; frequency = 1380; master_tag = "specops_dock_airlock"; name = "interior access button"; pixel_x = -28; pixel_y = 26; req_one_access = list(13)},/turf/simulated/floor/tiled,/area/hallway/secondary/entry/D1) +"dpG" = (/obj/machinery/alarm{dir = 8; pixel_x = 22; pixel_y = 0},/turf/simulated/floor/tiled,/area/hallway/secondary/entry/D1) +"dpH" = (/obj/structure/closet/emcloset,/obj/structure/extinguisher_cabinet{pixel_x = -28; pixel_y = 0},/turf/simulated/floor/tiled,/area/hallway/secondary/entry/D2) +"dpI" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/hidden,/obj/machinery/hologram/holopad,/obj/effect/floor_decal/industrial/outline/grey,/turf/simulated/floor/tiled,/area/hallway/secondary/entry/D2) +"dpJ" = (/obj/machinery/alarm{dir = 8; pixel_x = 22; pixel_y = 0},/obj/structure/closet/emcloset,/turf/simulated/floor/tiled,/area/hallway/secondary/entry/D2) +"dpK" = (/obj/structure/bed/chair{dir = 4},/obj/effect/landmark{name = "JoinLate"},/obj/machinery/light{icon_state = "tube1"; dir = 8},/turf/simulated/shuttle/floor/white,/area/shuttle/arrival/station) +"dpL" = (/obj/machinery/hologram/holopad,/obj/effect/landmark{name = "Observer-Start"},/turf/simulated/shuttle/floor,/area/shuttle/arrival/station) +"dpM" = (/obj/structure/bed/chair{dir = 8},/obj/effect/landmark{name = "JoinLate"},/obj/machinery/light{dir = 4; icon_state = "tube1"},/turf/simulated/shuttle/floor/white,/area/shuttle/arrival/station) +"dpN" = (/obj/machinery/alarm{dir = 4; icon_state = "alarm0"; pixel_x = -22},/turf/simulated/floor/tiled,/area/hallway/secondary/entry/D3) +"dpO" = (/obj/effect/floor_decal/industrial/warning{icon_state = "warning"; dir = 4},/obj/machinery/access_button{command = "cycle_interior"; frequency = 1380; master_tag = "s2s_dock_airlock"; name = "interior access button"; pixel_x = 28; pixel_y = -26; req_one_access = list(13)},/turf/simulated/floor/tiled,/area/hallway/secondary/entry/D3) +"dpP" = (/obj/effect/floor_decal/industrial/hatch/yellow,/obj/machinery/door/airlock/glass_external{frequency = 1380; icon_state = "door_locked"; id_tag = "s2s_dock_inner"; locked = 1; name = "Dock Three Internal Airlock"; req_access = list(13)},/turf/simulated/floor/tiled/dark,/area/hallway/secondary/entry/D3) +"dpQ" = (/obj/effect/floor_decal/industrial/warning/cee{icon_state = "warningcee"; dir = 8},/obj/machinery/atmospherics/unary/vent_pump/high_volume{dir = 1; frequency = 1380; id_tag = "s2s_dock_pump"},/obj/machinery/embedded_controller/radio/airlock/docking_port{frequency = 1380; id_tag = "shuttle2_shuttle"; pixel_x = 0; pixel_y = 30; req_one_access = list(13); tag_airpump = "s2s_dock_pump"; tag_chamber_sensor = "s2s_dock_sensor"; tag_exterior_door = "s2s_dock_outer"; tag_interior_door = "s2s_dock_inner"},/obj/machinery/airlock_sensor{frequency = 1380; id_tag = "s2s_dock_sensor"; pixel_x = 0; pixel_y = -25},/turf/simulated/floor/tiled,/area/hallway/secondary/entry/D3) +"dpR" = (/obj/effect/floor_decal/industrial/warning/cee{icon_state = "warningcee"; dir = 4},/obj/machinery/atmospherics/unary/vent_pump/high_volume{dir = 1; frequency = 1380; id_tag = "s2s_dock_pump"},/turf/simulated/floor/tiled,/area/hallway/secondary/entry/D3) +"dpS" = (/obj/machinery/shield_diffuser,/obj/effect/floor_decal/industrial/hatch/yellow,/obj/machinery/door/airlock/external{frequency = 1380; icon_state = "door_locked"; id_tag = "s2s_dock_outer"; locked = 1; name = "Dock Three External Airlock"; req_access = list(13)},/obj/machinery/access_button{command = "cycle_exterior"; frequency = 1380; master_tag = "s2s_dock_airlock"; name = "exterior access button"; pixel_x = 5; pixel_y = 26; req_one_access = list(13)},/turf/simulated/floor/tiled/dark,/area/hallway/secondary/entry/D3) +"dpT" = (/obj/structure/closet/emcloset,/obj/effect/floor_decal/industrial/warning/corner{icon_state = "warningcorner"; dir = 1},/turf/simulated/floor/tiled,/area/hallway/secondary/entry/D1) +"dpU" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/unary/vent_pump/on{dir = 4},/turf/simulated/floor/tiled,/area/hallway/secondary/entry/D1) +"dpV" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 9},/obj/machinery/atmospherics/pipe/simple/hidden,/turf/simulated/floor/tiled,/area/hallway/secondary/entry/D1) +"dpW" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 5},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/hidden,/turf/simulated/floor/tiled,/area/hallway/secondary/entry/D2) +"dpX" = (/obj/machinery/atmospherics/unary/vent_pump/on{dir = 8},/turf/simulated/floor/tiled,/area/hallway/secondary/entry/D2) +"dpY" = (/obj/machinery/atmospherics/pipe/simple/hidden,/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 5},/turf/simulated/floor/tiled,/area/hallway/secondary/entry/D3) +"dpZ" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/unary/vent_pump/on{dir = 8},/turf/simulated/floor/tiled,/area/hallway/secondary/entry/D3) +"dqa" = (/obj/effect/floor_decal/industrial/warning/corner{dir = 4},/obj/structure/closet/emcloset,/turf/simulated/floor/tiled,/area/hallway/secondary/entry/D3) +"dqb" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/light{icon_state = "tube1"; dir = 8},/turf/simulated/floor/tiled,/area/hallway/secondary/entry/D1) +"dqc" = (/obj/machinery/atmospherics/pipe/manifold/hidden{dir = 8; icon_state = "map"; tag = "icon-manifold-f (WEST)"},/obj/effect/floor_decal/industrial/warning/corner,/turf/simulated/floor/tiled,/area/hallway/secondary/entry/D1) +"dqd" = (/obj/effect/floor_decal/industrial/warning/corner{dir = 8},/obj/machinery/atmospherics/pipe/simple/hidden{dir = 4},/turf/simulated/floor/tiled,/area/hallway/secondary/entry/D2) +"dqe" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/manifold/hidden{dir = 4; icon_state = "map"; tag = "icon-manifold-f (EAST)"},/turf/simulated/floor/tiled,/area/hallway/secondary/entry/D2) +"dqf" = (/obj/effect/floor_decal/industrial/warning/corner,/obj/machinery/light{dir = 4},/turf/simulated/floor/tiled,/area/hallway/secondary/entry/D2) +"dqg" = (/obj/effect/floor_decal/industrial/warning/corner{dir = 8},/obj/machinery/atmospherics/pipe/simple/hidden,/turf/simulated/floor/tiled,/area/hallway/secondary/entry/D3) +"dqh" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/light{dir = 4},/turf/simulated/floor/tiled,/area/hallway/secondary/entry/D3) +"dqi" = (/obj/machinery/atmospherics/pipe/simple/hidden,/obj/effect/floor_decal/industrial/warning{icon_state = "warning"; dir = 4},/turf/simulated/floor/tiled,/area/hallway/secondary/entry/D1) +"dqj" = (/obj/machinery/door/airlock/glass_external{frequency = 1380; icon_state = "door_locked"; id_tag = "escape_dock_south_inner"; locked = 1; name = "Escape Airlock"; req_access = list(13)},/obj/effect/floor_decal/industrial/hatch/yellow,/turf/simulated/floor/tiled/dark,/area/hallway/secondary/entry/D1) +"dqk" = (/obj/machinery/atmospherics/unary/vent_pump/high_volume{dir = 1; frequency = 1380; id_tag = "escape_dock_south_pump"},/obj/effect/floor_decal/industrial/warning{dir = 9},/turf/simulated/floor/tiled,/area/hallway/secondary/entry/D1) +"dql" = (/obj/machinery/atmospherics/unary/vent_pump/high_volume{dir = 1; frequency = 1380; id_tag = "escape_dock_south_pump"},/obj/effect/floor_decal/industrial/warning{icon_state = "warning"; dir = 5},/obj/machinery/airlock_sensor{frequency = 1380; id_tag = "escape_dock_south_sensor"; pixel_x = 0; pixel_y = 25},/turf/simulated/floor/tiled/dark,/area/hallway/secondary/entry/D1) +"dqm" = (/obj/machinery/door/airlock/external{frequency = 1380; icon_state = "door_locked"; id_tag = "escape_dock_south_outer"; locked = 1; name = "Escape Airlock"; req_access = list(13)},/obj/machinery/access_button{command = "cycle_exterior"; frequency = 1380; master_tag = "escape_dock_south_airlock"; name = "exterior access button"; pixel_x = 4; pixel_y = 26; req_one_access = list(13)},/obj/machinery/shield_diffuser,/obj/effect/floor_decal/industrial/hatch/yellow,/turf/simulated/floor/tiled/dark,/area/hallway/secondary/entry/D1) +"dqn" = (/obj/machinery/access_button{command = "cycle_exterior"; frequency = 1380; master_tag = "escape_dock_south_starboard_airlock"; name = "exterior access button"; pixel_x = -4; pixel_y = 26; req_one_access = list(13)},/obj/machinery/door/airlock/external{frequency = 1380; icon_state = "door_locked"; id_tag = "escape_dock_south_starboard_outer"; locked = 1; name = "Escape Airlock"; req_access = list(13)},/obj/effect/floor_decal/industrial/hatch/yellow,/obj/machinery/shield_diffuser,/turf/simulated/floor/tiled/dark,/area/hallway/secondary/entry/D2) +"dqo" = (/obj/machinery/atmospherics/unary/vent_pump/high_volume{dir = 1; frequency = 1380; id_tag = "escape_dock_south_starboard_pump"},/obj/effect/floor_decal/industrial/warning{dir = 9},/obj/machinery/airlock_sensor{frequency = 1380; id_tag = "escape_dock_south_starboard_sensor"; pixel_x = 0; pixel_y = 25},/turf/simulated/floor/tiled/dark,/area/hallway/secondary/entry/D2) +"dqp" = (/obj/machinery/atmospherics/unary/vent_pump/high_volume{dir = 1; frequency = 1380; id_tag = "escape_dock_south_starboard_pump"},/obj/effect/floor_decal/industrial/warning{icon_state = "warning"; dir = 5},/turf/simulated/floor/tiled,/area/hallway/secondary/entry/D2) +"dqq" = (/obj/machinery/door/airlock/glass_external{frequency = 1380; icon_state = "door_locked"; id_tag = "escape_dock_south_starboard_inner"; locked = 1; name = "Escape Airlock"; req_access = list(13)},/obj/effect/floor_decal/industrial/hatch/yellow,/turf/simulated/floor/tiled/dark,/area/hallway/secondary/entry/D2) +"dqr" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/hidden,/turf/simulated/floor/tiled,/area/hallway/secondary/entry/D2) +"dqs" = (/obj/effect/floor_decal/industrial/warning{dir = 9},/turf/simulated/floor/tiled,/area/hallway/secondary/entry/D2) +"dqt" = (/obj/effect/floor_decal/industrial/warning{icon_state = "warning"; dir = 5},/turf/simulated/floor/tiled,/area/hallway/secondary/entry/D3) +"dqu" = (/obj/effect/floor_decal/industrial/warning{dir = 8},/obj/machinery/atmospherics/pipe/simple/hidden,/turf/simulated/floor/tiled,/area/hallway/secondary/entry/D3) +"dqv" = (/obj/machinery/access_button{command = "cycle_interior"; frequency = 1380; master_tag = "escape_dock_south_airlock"; name = "interior access button"; pixel_x = 26; pixel_y = -26; req_one_access = list(13)},/obj/machinery/atmospherics/pipe/simple/hidden,/obj/effect/floor_decal/industrial/warning{icon_state = "warning"; dir = 4},/turf/simulated/floor/tiled,/area/hallway/secondary/entry/D1) +"dqw" = (/obj/machinery/atmospherics/unary/vent_pump/high_volume{dir = 2; frequency = 1380; id_tag = "escape_dock_south_pump"},/obj/effect/floor_decal/industrial/warning{dir = 10},/obj/machinery/light/small,/turf/simulated/floor/tiled,/area/hallway/secondary/entry/D1) +"dqx" = (/obj/machinery/atmospherics/unary/vent_pump/high_volume{dir = 2; frequency = 1380; id_tag = "escape_dock_south_pump"},/obj/effect/floor_decal/industrial/warning{dir = 6},/obj/machinery/embedded_controller/radio/airlock/docking_port_multi{frequency = 1380; id_tag = "escape_dock_south_airlock"; master_tag = "escape_dock"; pixel_y = -30; req_one_access = list(13); tag_airlock_mech_sensor = "escape_dock_south_mech"; tag_airpump = "escape_dock_south_pump"; tag_chamber_sensor = "escape_dock_south_sensor"; tag_exterior_door = "escape_dock_south_outer"; tag_interior_door = "escape_dock_south_inner"; tag_shuttle_mech_sensor = "shuttle_dock_south_mech"},/turf/simulated/floor/tiled/dark,/area/hallway/secondary/entry/D1) +"dqy" = (/obj/machinery/door/airlock/external{frequency = 1380; icon_state = "door_locked"; id_tag = "escape_dock_south_outer"; locked = 1; name = "Escape Airlock"; req_access = list(13)},/obj/machinery/shield_diffuser,/obj/effect/floor_decal/industrial/hatch/yellow,/turf/simulated/floor/tiled/dark,/area/hallway/secondary/entry/D1) +"dqz" = (/obj/machinery/door/airlock/external{frequency = 1380; icon_state = "door_locked"; id_tag = "escape_dock_south_starboard_outer"; locked = 1; name = "Escape Airlock"; req_access = list(13)},/obj/effect/floor_decal/industrial/hatch/yellow,/obj/machinery/shield_diffuser,/turf/simulated/floor/tiled/dark,/area/hallway/secondary/entry/D2) +"dqA" = (/obj/machinery/atmospherics/unary/vent_pump/high_volume{dir = 2; frequency = 1380; id_tag = "escape_dock_south_starboard_pump"},/obj/effect/floor_decal/industrial/warning{dir = 10},/obj/machinery/embedded_controller/radio/airlock/docking_port_multi{frequency = 1380; id_tag = "escape_dock_ssouth_airlock"; master_tag = "escape_dock"; pixel_y = -30; req_one_access = list(13); tag_airlock_mech_sensor = "escape_dock_south_starboard_mech"; tag_airpump = "escape_dock_south_starboard_pump"; tag_chamber_sensor = "escape_dock_south_starboard_sensor"; tag_exterior_door = "escape_dock_south_starboard_outer"; tag_interior_door = "escape_dock_south_starboard_inner"; tag_shuttle_mech_sensor = "shuttle_dock_south_starboard_mech"},/turf/simulated/floor/tiled/dark,/area/hallway/secondary/entry/D2) +"dqB" = (/obj/machinery/atmospherics/unary/vent_pump/high_volume{dir = 2; frequency = 1380; id_tag = "escape_dock_south_starboard_pump"},/obj/effect/floor_decal/industrial/warning{dir = 6},/obj/machinery/light/small,/turf/simulated/floor/tiled,/area/hallway/secondary/entry/D2) +"dqC" = (/obj/effect/floor_decal/industrial/warning{dir = 8},/obj/machinery/access_button{command = "cycle_interior"; frequency = 1380; master_tag = "escape_dock_south_starboard_airlock"; name = "interior access button"; pixel_x = -26; pixel_y = -26; req_one_access = list(13)},/turf/simulated/floor/tiled,/area/hallway/secondary/entry/D2) +"dqD" = (/obj/effect/floor_decal/industrial/warning{dir = 10},/obj/machinery/light/small,/turf/simulated/floor/tiled,/area/hallway/secondary/entry/D2) +"dqE" = (/obj/effect/floor_decal/industrial/warning{dir = 6},/obj/machinery/light/small,/turf/simulated/floor/tiled,/area/hallway/secondary/entry/D3) +"dqF" = (/obj/machinery/firealarm{dir = 8; pixel_x = -24},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/camera/network/second_deck{c_tag = "Second Deck - Dock One Aft"; dir = 4},/turf/simulated/floor/tiled,/area/hallway/secondary/entry/D1) +"dqG" = (/obj/effect/floor_decal/industrial/warning/corner{dir = 4},/obj/machinery/atmospherics/pipe/manifold/hidden{dir = 8; icon_state = "map"; tag = "icon-manifold-f (WEST)"},/turf/simulated/floor/tiled,/area/hallway/secondary/entry/D1) +"dqH" = (/obj/effect/floor_decal/industrial/warning/corner{icon_state = "warningcorner"; dir = 1},/obj/machinery/atmospherics/pipe/simple/hidden{dir = 4},/obj/machinery/camera/network/second_deck{c_tag = "Second Deck - Dock Two Aft"; dir = 4},/turf/simulated/floor/tiled,/area/hallway/secondary/entry/D2) +"dqI" = (/obj/effect/floor_decal/industrial/warning/corner{dir = 4},/turf/simulated/floor/tiled,/area/hallway/secondary/entry/D2) +"dqJ" = (/obj/effect/floor_decal/industrial/warning/corner{icon_state = "warningcorner"; dir = 1},/obj/machinery/atmospherics/pipe/simple/hidden,/turf/simulated/floor/tiled,/area/hallway/secondary/entry/D3) +"dqK" = (/obj/machinery/firealarm{dir = 4; pixel_x = 24},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/camera/network/second_deck{c_tag = "Second Deck - Dock Three Aft"; dir = 8},/turf/simulated/floor/tiled,/area/hallway/secondary/entry/D3) +"dqL" = (/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 1},/obj/structure/extinguisher_cabinet{pixel_x = -28; pixel_y = 0},/turf/simulated/floor/tiled,/area/hallway/secondary/entry/D1) +"dqM" = (/obj/item/device/radio/intercom{dir = 4; name = "Station Intercom (General)"; pixel_x = 21},/obj/machinery/atmospherics/pipe/simple/hidden,/turf/simulated/floor/tiled,/area/hallway/secondary/entry/D1) +"dqN" = (/obj/item/device/radio/intercom{dir = 8; name = "Station Intercom (General)"; pixel_x = -21},/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 4},/turf/simulated/floor/tiled,/area/hallway/secondary/entry/D2) +"dqO" = (/obj/machinery/atmospherics/pipe/simple/hidden,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 9},/turf/simulated/floor/tiled,/area/hallway/secondary/entry/D2) +"dqP" = (/obj/machinery/firealarm{dir = 4; pixel_x = 24},/turf/simulated/floor/tiled,/area/hallway/secondary/entry/D2) +"dqQ" = (/obj/structure/shuttle/engine/heater,/obj/structure/window/reinforced{dir = 1},/turf/simulated/floor/airless,/area/shuttle/arrival/station) +"dqR" = (/obj/machinery/atmospherics/pipe/simple/hidden,/obj/item/device/radio/intercom{dir = 8; name = "Station Intercom (General)"; pixel_x = -21},/turf/simulated/floor/tiled,/area/hallway/secondary/entry/D3) +"dqS" = (/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 1},/obj/structure/extinguisher_cabinet{pixel_x = 28; pixel_y = 0},/turf/simulated/floor/tiled,/area/hallway/secondary/entry/D3) +"dqT" = (/obj/effect/floor_decal/sign/dock/one,/turf/simulated/floor/tiled,/area/hallway/secondary/entry/D1) +"dqU" = (/obj/machinery/atmospherics/pipe/simple/hidden,/obj/machinery/light{dir = 4},/turf/simulated/floor/tiled,/area/hallway/secondary/entry/D1) +"dqV" = (/obj/machinery/light{icon_state = "tube1"; dir = 8},/turf/simulated/floor/tiled,/area/hallway/secondary/entry/D2) +"dqW" = (/obj/machinery/atmospherics/pipe/simple/hidden,/obj/effect/floor_decal/sign/dock/two,/turf/simulated/floor/tiled,/area/hallway/secondary/entry/D2) +"dqX" = (/turf/space,/obj/structure/shuttle/engine/propulsion,/turf/simulated/shuttle/plating/airless/carry,/area/shuttle/arrival/station) +"dqY" = (/obj/structure/shuttle/engine/heater,/obj/structure/window/reinforced{dir = 1},/turf/simulated/shuttle/plating/airless,/area/shuttle/arrival/station) +"dqZ" = (/obj/machinery/atmospherics/pipe/simple/hidden,/obj/machinery/light{icon_state = "tube1"; dir = 8},/turf/simulated/floor/tiled,/area/hallway/secondary/entry/D3) +"dra" = (/obj/effect/floor_decal/sign/dock/three,/turf/simulated/floor/tiled,/area/hallway/secondary/entry/D3) +"drb" = (/obj/machinery/door/firedoor/border_only,/obj/machinery/atmospherics/pipe/simple/hidden{dir = 6},/obj/effect/wingrille_spawn/reinforced,/turf/simulated/floor/plating,/area/hallway/secondary/entry/D1) +"drc" = (/obj/effect/floor_decal/industrial/warning,/obj/machinery/atmospherics/pipe/simple/hidden{dir = 4},/obj/machinery/access_button{command = "cycle_interior"; frequency = 1380; master_tag = "trade_shuttle_dock_airlock"; name = "interior access button"; pixel_x = -28; pixel_y = -26; req_access = list(13)},/turf/simulated/floor/tiled,/area/hallway/secondary/entry/D1) +"drd" = (/obj/effect/floor_decal/industrial/warning,/obj/machinery/atmospherics/pipe/manifold/hidden,/turf/simulated/floor/tiled,/area/hallway/secondary/entry/D1) +"dre" = (/obj/machinery/door/firedoor/border_only,/obj/machinery/atmospherics/pipe/simple/hidden{dir = 10; icon_state = "intact"; tag = "icon-intact-f (SOUTHWEST)"},/obj/effect/wingrille_spawn/reinforced,/turf/simulated/floor/plating,/area/hallway/secondary/entry/D1) +"drf" = (/obj/machinery/atmospherics/pipe/simple/hidden,/obj/effect/floor_decal/industrial/warning,/obj/machinery/access_button{command = "cycle_interior"; frequency = 1380; master_tag = "admin_shuttle_dock_airlock"; name = "interior access button"; pixel_x = 26; pixel_y = -26; req_one_access = list(13)},/turf/simulated/floor/tiled,/area/hallway/secondary/entry/D2) +"drg" = (/obj/structure/closet/emcloset,/obj/effect/floor_decal/industrial/warning/corner{dir = 8},/turf/simulated/floor/tiled,/area/hallway/secondary/entry/D2) +"drh" = (/obj/machinery/door/firedoor/border_only,/obj/effect/wingrille_spawn/reinforced,/obj/machinery/atmospherics/pipe/simple/hidden{dir = 6},/turf/simulated/floor/plating,/area/hallway/secondary/entry/D3) +"dri" = (/obj/effect/floor_decal/industrial/warning,/obj/machinery/atmospherics/pipe/manifold/hidden,/turf/simulated/floor/tiled,/area/hallway/secondary/entry/D3) +"drj" = (/obj/effect/floor_decal/industrial/warning,/obj/machinery/atmospherics/pipe/simple/hidden{dir = 4},/obj/machinery/access_button{command = "cycle_interior"; frequency = 1331; master_tag = "nuke_shuttle_dock_airlock"; name = "interior access button"; pixel_x = 26; pixel_y = -26; req_one_access = list(13)},/turf/simulated/floor/tiled,/area/hallway/secondary/entry/D3) +"drk" = (/obj/machinery/door/firedoor/border_only,/obj/machinery/atmospherics/pipe/simple/hidden{dir = 10; icon_state = "intact"; tag = "icon-intact-f (SOUTHWEST)"},/obj/effect/wingrille_spawn/reinforced,/turf/simulated/floor/plating,/area/hallway/secondary/entry/D3) +"drl" = (/obj/machinery/atmospherics/pipe/simple/hidden,/turf/simulated/wall/r_wall,/area/hallway/secondary/entry/D1) +"drm" = (/obj/machinery/door/airlock/glass_external{frequency = 1380; icon_state = "door_locked"; id_tag = "trade_shuttle_dock_inner"; locked = 1; name = "Dock One Internal Airlock"; req_access = list(13)},/obj/effect/floor_decal/industrial/hatch/yellow,/turf/simulated/floor/tiled/dark,/area/hallway/secondary/entry/D1) +"drn" = (/obj/effect/floor_decal/industrial/hatch/yellow,/obj/machinery/door/airlock/glass_external{frequency = 1380; icon_state = "door_locked"; id_tag = "trade_shuttle_dock_inner"; locked = 1; name = "Dock One Internal Airlock"; req_access = list(13)},/turf/simulated/floor/tiled/dark,/area/hallway/secondary/entry/D1) +"dro" = (/obj/machinery/atmospherics/pipe/simple/hidden,/obj/machinery/door/airlock/glass_external{frequency = 1380; icon_state = "door_locked"; id_tag = "admin_shuttle_dock_inner"; locked = 1; name = "Dock Two Internal Airlock"; req_access = list(13)},/obj/effect/floor_decal/industrial/hatch/yellow,/turf/simulated/floor/tiled/dark,/area/hallway/secondary/entry/D2) +"drp" = (/obj/machinery/atmospherics/pipe/simple/hidden,/turf/simulated/wall/r_wall,/area/hallway/secondary/entry/D3) +"drq" = (/obj/effect/floor_decal/industrial/hatch/yellow,/obj/machinery/door/airlock/glass_external{frequency = 1331; icon_state = "door_locked"; id_tag = "nuke_shuttle_dock_inner"; locked = 1; name = "Dock Three Internal Airlock"; req_access = list(13)},/turf/simulated/floor/tiled/dark,/area/hallway/secondary/entry/D3) +"drr" = (/obj/machinery/atmospherics/pipe/manifold/hidden{dir = 8; icon_state = "map"; tag = "icon-manifold-f (WEST)"},/obj/machinery/door/firedoor/border_only,/obj/effect/wingrille_spawn/reinforced,/turf/simulated/floor/plating,/area/hallway/secondary/entry/D1) +"drs" = (/obj/effect/floor_decal/industrial/warning{dir = 9},/obj/machinery/atmospherics/unary/vent_pump/high_volume{dir = 8; frequency = 1380; id_tag = "trade_shuttle_dock_pump"},/turf/simulated/floor/tiled,/area/hallway/secondary/entry/D1) +"drt" = (/obj/effect/floor_decal/industrial/warning{icon_state = "warning"; dir = 5},/obj/machinery/light/small{dir = 4; pixel_y = 0},/obj/machinery/atmospherics/unary/vent_pump/high_volume{dir = 4; frequency = 1380; id_tag = "trade_shuttle_dock_pump"},/turf/simulated/floor/tiled,/area/hallway/secondary/entry/D1) +"dru" = (/obj/machinery/atmospherics/pipe/manifold/hidden{dir = 4; icon_state = "map"; tag = "icon-manifold-f (EAST)"},/obj/machinery/door/firedoor/border_only,/obj/effect/wingrille_spawn/reinforced,/turf/simulated/floor/plating,/area/hallway/secondary/entry/D1) +"drv" = (/obj/effect/floor_decal/industrial/warning{dir = 9},/obj/machinery/atmospherics/unary/vent_pump/high_volume{dir = 4; frequency = 1380; id_tag = "admin_shuttle_dock_pump"},/turf/simulated/floor/tiled,/area/hallway/secondary/entry/D2) +"drw" = (/obj/machinery/atmospherics/pipe/manifold4w/hidden,/obj/effect/floor_decal/industrial/warning{icon_state = "warning"; dir = 1},/turf/simulated/floor/tiled,/area/hallway/secondary/entry/D2) +"drx" = (/obj/effect/floor_decal/industrial/warning{icon_state = "warning"; dir = 5},/obj/machinery/light/small{dir = 4; pixel_y = 0},/obj/machinery/atmospherics/unary/vent_pump/high_volume{dir = 8; frequency = 1380; id_tag = "admin_shuttle_dock_pump"},/turf/simulated/floor/tiled,/area/hallway/secondary/entry/D2) +"dry" = (/obj/machinery/door/firedoor/border_only,/obj/machinery/atmospherics/pipe/manifold/hidden{dir = 8; icon_state = "map"; tag = "icon-manifold-f (WEST)"},/obj/effect/wingrille_spawn/reinforced,/turf/simulated/floor/plating,/area/hallway/secondary/entry/D3) +"drz" = (/obj/effect/floor_decal/industrial/warning{dir = 9},/obj/machinery/light/small{dir = 8},/obj/machinery/atmospherics/unary/vent_pump/high_volume{dir = 8; frequency = 1331; id_tag = "nuke_shuttle_dock_pump"},/turf/simulated/floor/tiled,/area/hallway/secondary/entry/D3) +"drA" = (/obj/effect/floor_decal/industrial/warning{icon_state = "warning"; dir = 5},/obj/machinery/atmospherics/unary/vent_pump/high_volume{dir = 4; frequency = 1331; id_tag = "nuke_shuttle_dock_pump"},/turf/simulated/floor/tiled,/area/hallway/secondary/entry/D3) +"drB" = (/obj/machinery/door/firedoor/border_only,/obj/machinery/atmospherics/pipe/manifold/hidden{dir = 4; icon_state = "map"; tag = "icon-manifold-f (EAST)"},/obj/effect/wingrille_spawn/reinforced,/turf/simulated/floor/plating,/area/hallway/secondary/entry/D3) +"drC" = (/obj/effect/floor_decal/industrial/warning{dir = 10},/obj/machinery/atmospherics/unary/vent_pump/high_volume{dir = 8; frequency = 1380; id_tag = "trade_shuttle_dock_pump"},/obj/machinery/airlock_sensor{frequency = 1380; id_tag = "trade_shuttle_dock_sensor"; pixel_x = -28; pixel_y = 0},/turf/simulated/floor/tiled,/area/hallway/secondary/entry/D1) +"drD" = (/obj/effect/floor_decal/industrial/warning{dir = 6},/obj/machinery/atmospherics/unary/vent_pump/high_volume{dir = 4; frequency = 1380; id_tag = "trade_shuttle_dock_pump"},/obj/machinery/embedded_controller/radio/airlock/docking_port{frequency = 1380; id_tag = "trade_shuttle_dock_airlock"; pixel_x = 28; pixel_y = 0; req_one_access = list(13); tag_airpump = "trade_shuttle_dock_pump"; tag_chamber_sensor = "trade_shuttle_dock_sensor"; tag_exterior_door = "trade_shuttle_dock_outer"; tag_interior_door = "trade_shuttle_dock_inner"},/turf/simulated/floor/tiled,/area/hallway/secondary/entry/D1) +"drE" = (/obj/effect/floor_decal/industrial/warning{dir = 10},/obj/machinery/atmospherics/unary/vent_pump/high_volume{dir = 4; frequency = 1380; id_tag = "admin_shuttle_dock_pump"},/obj/machinery/embedded_controller/radio/airlock/docking_port{frequency = 1380; id_tag = "admin_shuttle_dock_airlock"; pixel_x = -28; pixel_y = 0; req_one_access = list(13); tag_airpump = "admin_shuttle_dock_pump"; tag_chamber_sensor = "admin_shuttle_dock_sensor"; tag_exterior_door = "admin_shuttle_dock_outer"; tag_interior_door = "admin_shuttle_dock_inner"},/turf/simulated/floor/tiled,/area/hallway/secondary/entry/D2) +"drF" = (/obj/machinery/atmospherics/pipe/manifold/hidden,/obj/effect/floor_decal/industrial/warning,/turf/simulated/floor/tiled,/area/hallway/secondary/entry/D2) +"drG" = (/obj/effect/floor_decal/industrial/warning{dir = 6},/obj/machinery/atmospherics/unary/vent_pump/high_volume{dir = 8; frequency = 1380; id_tag = "admin_shuttle_dock_pump"},/obj/machinery/airlock_sensor{frequency = 1380; id_tag = "admin_shuttle_dock_sensor"; pixel_x = 28; pixel_y = 0},/turf/simulated/floor/tiled,/area/hallway/secondary/entry/D2) +"drH" = (/obj/machinery/atmospherics/pipe/simple/hidden{dir = 5; icon_state = "intact"; tag = "icon-intact-f (NORTHEAST)"},/obj/effect/wingrille_spawn/reinforced,/turf/simulated/floor/plating,/area/hallway/secondary/entry/D3) +"drI" = (/obj/effect/floor_decal/industrial/warning{dir = 10},/obj/machinery/airlock_sensor{frequency = 1331; id_tag = "nuke_shuttle_dock_sensor"; pixel_x = -28; pixel_y = 0},/obj/machinery/atmospherics/unary/vent_pump/high_volume{dir = 8; frequency = 1331; id_tag = "nuke_shuttle_dock_pump"},/turf/simulated/floor/tiled,/area/hallway/secondary/entry/D3) +"drJ" = (/obj/effect/floor_decal/industrial/warning{dir = 6},/obj/machinery/embedded_controller/radio/airlock/docking_port{frequency = 1331; id_tag = "nuke_shuttle_dock_airlock"; pixel_x = 28; pixel_y = 0; req_access = list(0); req_one_access = list(13); tag_airpump = "nuke_shuttle_dock_pump"; tag_chamber_sensor = "nuke_shuttle_dock_sensor"; tag_exterior_door = "nuke_shuttle_dock_outer"; tag_interior_door = "nuke_shuttle_dock_inner"},/obj/machinery/atmospherics/unary/vent_pump/high_volume{dir = 4; frequency = 1331; id_tag = "nuke_shuttle_dock_pump"},/turf/simulated/floor/tiled,/area/hallway/secondary/entry/D3) +"drK" = (/obj/machinery/shield_diffuser,/obj/machinery/door/airlock/external{frequency = 1380; icon_state = "door_locked"; id_tag = "trade_shuttle_dock_outer"; locked = 1; name = "Dock One External Access"; req_access = list(13)},/obj/effect/floor_decal/industrial/hatch/yellow,/turf/simulated/floor/tiled/dark,/area/hallway/secondary/entry/D1) +"drL" = (/obj/machinery/access_button{command = "cycle_exterior"; frequency = 1380; master_tag = "admin_shuttle_dock_airlock"; name = "exterior access button"; pixel_x = 28; pixel_y = -6; req_one_access = list(13)},/obj/machinery/shield_diffuser,/obj/effect/floor_decal/industrial/hatch/yellow,/obj/machinery/door/airlock/external{frequency = 1380; icon_state = "door_locked"; id_tag = "trade_shuttle_dock_outer"; locked = 1; name = "Dock One External Access"; req_access = list(13)},/turf/simulated/floor/tiled/dark,/area/hallway/secondary/entry/D1) +"drM" = (/obj/structure/sign/warning/docking_area,/turf/simulated/wall/r_wall,/area/hallway/secondary/entry/D2) +"drN" = (/obj/machinery/shield_diffuser,/obj/machinery/access_button{command = "cycle_exterior"; frequency = 1380; master_tag = "admin_shuttle_dock_airlock"; name = "exterior access button"; pixel_x = 28; pixel_y = -6; req_one_access = list(13)},/obj/machinery/door/airlock/external{frequency = 1380; icon_state = "door_locked"; id_tag = "admin_shuttle_dock_outer"; locked = 1; name = "Dock Two External Airlock"; req_access = list(13)},/obj/effect/floor_decal/industrial/hatch/yellow,/turf/simulated/floor/tiled/dark,/area/hallway/secondary/entry/D2) +"drO" = (/obj/machinery/access_button{command = "cycle_exterior"; frequency = 1331; master_tag = "nuke_shuttle_dock_airlock"; name = "exterior access button"; pixel_x = -28; pixel_y = -6; req_one_access = list(13)},/obj/machinery/door/airlock/external{frequency = 1331; icon_state = "door_locked"; id_tag = "nuke_shuttle_dock_outer"; locked = 1; name = "Dock Three External Airlock"; req_access = list(13)},/obj/machinery/shield_diffuser,/obj/effect/floor_decal/industrial/hatch/yellow,/turf/simulated/floor/tiled/dark,/area/hallway/secondary/entry/D3) +"drP" = (/obj/machinery/shield_diffuser,/obj/effect/floor_decal/industrial/hatch/yellow,/obj/machinery/door/airlock/external{frequency = 1331; icon_state = "door_locked"; id_tag = "nuke_shuttle_dock_outer"; locked = 1; name = "Dock Three External Airlock"; req_access = list(13)},/turf/simulated/floor/tiled/dark,/area/hallway/secondary/entry/D3) +"drQ" = (/turf/space,/area/syndicate_station/arrivals_dock) +"drR" = (/turf/space,/area/shuttle/merchant/away) +"drS" = (/turf/space,/area/shuttle/administration/station) +"drT" = (/turf/simulated/floor/reinforced/airless,/area/thirddeck/roof) +"drU" = (/turf/space,/area/shuttle/response_ship/thirddeck) +"drV" = (/turf/simulated/floor/airless,/area/thirddeck/roof) +"drW" = (/turf/simulated/wall/r_wall,/area/ai) +"drX" = (/obj/structure/table/standard,/obj/item/device/radio/intercom{dir = 1; name = "Station Intercom (General)"; pixel_y = 21},/obj/structure/flora/pottedplant/unusual{name = "Steve"; pixel_y = 15},/obj/item/device/radio/intercom/custom{dir = 8; pixel_x = -21; pixel_y = 0},/obj/item/device/radio/intercom/private{dir = 4; pixel_x = 21; pixel_y = 0},/turf/simulated/floor/greengrid,/area/ai) +"drY" = (/obj/machinery/ai_status_display,/turf/simulated/wall/r_wall,/area/ai) +"drZ" = (/obj/effect/floor_decal/industrial/warning/corner,/obj/machinery/atmospherics/unary/vent_pump/on,/turf/simulated/floor/tiled/dark,/area/ai) +"dsa" = (/obj/effect/floor_decal/industrial/warning,/turf/simulated/floor/tiled/dark,/area/ai) +"dsb" = (/obj/effect/floor_decal/industrial/outline/grey,/obj/machinery/porta_turret/ai_defense,/obj/effect/floor_decal/industrial/warning/corner{dir = 8},/obj/effect/floor_decal/industrial/warning/corner,/turf/simulated/floor/tiled/dark,/area/ai) +"dsc" = (/obj/effect/floor_decal/industrial/warning/corner{dir = 8},/obj/machinery/atmospherics/unary/vent_scrubber/on,/turf/simulated/floor/tiled/dark,/area/ai) +"dsd" = (/obj/machinery/status_display,/turf/simulated/wall/r_wall,/area/ai) +"dse" = (/obj/machinery/porta_turret/ai_defense,/obj/effect/floor_decal/industrial/outline/grey,/obj/effect/floor_decal/industrial/warning/corner,/turf/simulated/floor/tiled/dark,/area/ai) +"dsf" = (/obj/effect/floor_decal/industrial/warning{dir = 6},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor/tiled/dark,/area/ai) +"dsg" = (/turf/simulated/floor/greengrid,/area/ai) +"dsh" = (/obj/effect/floor_decal/industrial/warning/cee,/obj/structure/cable/cyan{d1 = 2; d2 = 4; icon_state = "2-4"},/obj/machinery/hologram/holopad,/turf/simulated/floor/tiled/dark,/area/ai) +"dsi" = (/obj/structure/cable/cyan{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor/greengrid,/area/ai) +"dsj" = (/obj/effect/floor_decal/industrial/warning{dir = 10},/obj/structure/cable/cyan{d1 = 2; d2 = 8; icon_state = "2-8"},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor/tiled/dark,/area/ai) +"dsk" = (/obj/machinery/porta_turret/ai_defense,/obj/effect/floor_decal/industrial/outline/grey,/obj/effect/floor_decal/industrial/warning/corner{dir = 8},/turf/simulated/floor/tiled/dark,/area/ai) +"dsl" = (/turf/space,/area/skipjack_station/thirddeck) +"dsm" = (/obj/machinery/power/solar{id = "foreportsolar"; name = "Port Solar Array"},/obj/structure/cable/yellow{d2 = 4; icon_state = "0-4"},/turf/simulated/floor/airless{icon_state = "solarpanel"},/area/solar/foreportsolar) +"dsn" = (/obj/structure/cable/yellow{d1 = 2; d2 = 4; icon_state = "2-4"},/obj/structure/cable/yellow{d1 = 2; d2 = 8; icon_state = "2-8"},/turf/simulated/floor/airless,/area/solar/foreportsolar) +"dso" = (/obj/structure/cable/yellow{d2 = 8; icon_state = "0-8"},/obj/machinery/power/solar{id = "foreportsolar"; name = "Port Solar Array"},/turf/simulated/floor/airless{icon_state = "solarpanel"},/area/solar/foreportsolar) +"dsp" = (/obj/effect/floor_decal/industrial/warning/corner,/obj/machinery/light{dir = 1},/turf/simulated/floor/tiled/dark,/area/ai) +"dsq" = (/obj/effect/floor_decal/industrial/warning{dir = 6},/obj/structure/cable/green{d1 = 2; d2 = 4; icon_state = "2-4"},/turf/simulated/floor/tiled/dark,/area/ai) +"dsr" = (/obj/machinery/ai_slipper{icon_state = "motion0"},/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor/greengrid,/area/ai) +"dss" = (/obj/machinery/power/terminal{dir = 4},/obj/structure/cable/green{d2 = 8; icon_state = "0-8"},/turf/simulated/floor/greengrid,/area/ai) +"dst" = (/obj/structure/cable/cyan,/obj/machinery/power/smes/buildable{charge = 5e+006; input_attempt = 1; input_level = 200000; output_level = 200000},/obj/machinery/flasher{id = "AI"; pixel_x = 0; pixel_y = -24},/turf/simulated/floor/plating,/area/ai) +"dsu" = (/obj/machinery/ai_slipper{icon_state = "motion0"},/obj/structure/cable/cyan{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor/greengrid,/area/ai) +"dsv" = (/obj/effect/floor_decal/industrial/warning{dir = 10},/turf/simulated/floor/tiled/dark,/area/ai) +"dsw" = (/obj/effect/floor_decal/industrial/warning/corner{dir = 8},/obj/machinery/light{dir = 1},/turf/simulated/floor/tiled/dark,/area/ai) +"dsx" = (/obj/structure/cable/yellow{d2 = 4; icon_state = "0-4"},/obj/machinery/power/solar{id = "forestarboardsolar"; name = "Starboard Solar Array"},/turf/simulated/floor/airless{icon_state = "solarpanel"},/area/solar/forestarboardsolar) +"dsy" = (/obj/structure/cable/yellow{d1 = 2; d2 = 4; icon_state = "2-4"},/obj/structure/cable/yellow{d1 = 2; d2 = 8; icon_state = "2-8"},/turf/simulated/floor/airless,/area/solar/forestarboardsolar) +"dsz" = (/obj/structure/cable/yellow{d2 = 8; icon_state = "0-8"},/obj/machinery/power/solar{id = "forestarboardsolar"; name = "Starboard Solar Array"},/turf/simulated/floor/airless{icon_state = "solarpanel"},/area/solar/forestarboardsolar) +"dsA" = (/obj/structure/cable/yellow{d2 = 4; icon_state = "0-4"},/obj/machinery/power/solar{id = "foreportsolar"; name = "Port Solar Array"},/turf/simulated/floor/airless{icon_state = "solarpanel"},/area/solar/foreportsolar) +"dsB" = (/obj/structure/cable/yellow{d1 = 2; d2 = 4; icon_state = "2-4"},/obj/structure/cable/yellow{d1 = 2; d2 = 8; icon_state = "2-8"},/obj/structure/cable/yellow{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor/airless,/area/solar/foreportsolar) +"dsC" = (/obj/effect/floor_decal/industrial/warning{icon_state = "warning"; dir = 4},/turf/simulated/floor/tiled/dark,/area/ai) +"dsD" = (/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor/greengrid,/area/ai) +"dsE" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor/greengrid,/area/ai) +"dsF" = (/turf/simulated/wall/durasteel,/area/ai) +"dsG" = (/obj/structure/cable/cyan{d1 = 1; d2 = 4; icon_state = "1-4"},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor/greengrid,/area/ai) +"dsH" = (/obj/structure/cable/cyan{d1 = 2; d2 = 8; icon_state = "2-8"},/turf/simulated/floor/greengrid,/area/ai) +"dsI" = (/obj/effect/floor_decal/industrial/warning{icon_state = "warning"; dir = 8},/turf/simulated/floor/tiled/dark,/area/ai) +"dsJ" = (/obj/structure/cable/yellow{d1 = 2; d2 = 4; icon_state = "2-4"},/obj/structure/cable/yellow{d1 = 2; d2 = 8; icon_state = "2-8"},/obj/structure/cable/yellow{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor/airless,/area/solar/forestarboardsolar) +"dsK" = (/obj/effect/landmark{name = "tripai"},/obj/item/device/radio/intercom{dir = 8; name = "Station Intercom (General)"; pixel_x = -21},/obj/item/device/radio/intercom/private{pixel_y = -21},/obj/item/device/radio/intercom/custom{dir = 1; pixel_y = 21},/turf/simulated/floor/greengrid,/area/ai) +"dsL" = (/obj/machinery/porta_turret/ai_defense,/obj/effect/floor_decal/industrial/outline/grey,/obj/effect/floor_decal/industrial/warning/corner,/obj/effect/floor_decal/industrial/warning/corner{dir = 4},/turf/simulated/floor/tiled/dark,/area/ai) +"dsM" = (/obj/effect/floor_decal/industrial/warning,/obj/effect/floor_decal/industrial/warning{icon_state = "warning"; dir = 1},/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/hologram/holopad,/turf/simulated/floor/tiled/dark,/area/ai) +"dsN" = (/obj/effect/floor_decal/industrial/warning,/obj/effect/floor_decal/industrial/warning{icon_state = "warning"; dir = 1},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor/tiled/dark,/area/ai) +"dsO" = (/obj/machinery/door/airlock/hatch{icon_state = "door_locked"; id_tag = null; locked = 1; name = "AI Core"; req_access = list(16)},/turf/simulated/floor/tiled/dark,/area/ai) +"dsP" = (/obj/machinery/ai_slipper{icon_state = "motion0"},/obj/machinery/turretid/stun{check_synth = 1; name = "AI Chamber turret control"; pixel_x = -30; pixel_y = -24},/obj/machinery/flasher{id = "AI"; pixel_x = 24; pixel_y = -25},/obj/machinery/button/remote/blast_door{desc = "A remote control-switch for the AI core maintenance door."; id = "AICore"; name = "AI Maintenance Hatch"; pixel_x = 8; pixel_y = 25; req_access = list(16)},/obj/machinery/light/small{dir = 1},/obj/machinery/camera/xray/command{c_tag = "AI - Core"; dir = 2},/turf/simulated/floor/tiled/dark,/area/ai) +"dsQ" = (/obj/effect/floor_decal/industrial/warning,/obj/effect/floor_decal/industrial/warning{icon_state = "warning"; dir = 1},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor/tiled/dark,/area/ai) +"dsR" = (/obj/effect/floor_decal/industrial/warning,/obj/effect/floor_decal/industrial/warning{icon_state = "warning"; dir = 1},/obj/structure/cable/cyan{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/hologram/holopad,/turf/simulated/floor/tiled/dark,/area/ai) +"dsS" = (/obj/machinery/porta_turret/ai_defense,/obj/effect/floor_decal/industrial/outline/grey,/obj/effect/floor_decal/industrial/warning/corner{dir = 8},/obj/effect/floor_decal/industrial/warning/corner{icon_state = "warningcorner"; dir = 1},/turf/simulated/floor/tiled/dark,/area/ai) +"dsT" = (/obj/effect/landmark{name = "tripai"},/obj/item/device/radio/intercom{dir = 4; name = "Station Intercom (General)"; pixel_x = 21},/obj/item/device/radio/intercom/private{dir = 1; pixel_y = 21},/obj/item/device/radio/intercom/custom{pixel_y = -21},/turf/simulated/floor/greengrid,/area/ai) +"dsU" = (/turf/simulated/wall/r_wall,/area/maintenance/thirddeck/foreport) +"dsV" = (/obj/effect/landmark/start{name = "AI"},/obj/machinery/requests_console{department = "AI"; departmentType = 5; pixel_x = 30; pixel_y = -32},/obj/machinery/newscaster/security_unit{pixel_x = -32; pixel_y = -32},/obj/item/device/radio/intercom/private{dir = 4; pixel_x = 21; pixel_y = -10},/obj/item/device/radio/intercom/custom{dir = 8; pixel_x = -21; pixel_y = -10},/obj/item/device/radio/intercom{broadcasting = 1; name = "Station Intercom (General)"; pixel_y = -21},/turf/simulated/floor/greengrid,/area/ai) +"dsW" = (/obj/structure/cable/cyan{d1 = 2; d2 = 4; icon_state = "2-4"},/obj/structure/cable/cyan{d2 = 4; icon_state = "0-4"},/obj/machinery/power/apc/super/critical{dir = 8; is_critical = 1; name = "west bump"; pixel_x = -24; pixel_y = 0},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor/greengrid,/area/ai) +"dsX" = (/obj/structure/cable/cyan{d1 = 1; d2 = 8; icon_state = "1-8"},/turf/simulated/floor/greengrid,/area/ai) +"dsY" = (/turf/simulated/wall/r_wall,/area/maintenance/thirddeck/forestarboard) +"dsZ" = (/obj/machinery/door/firedoor/border_only,/obj/effect/wingrille_spawn/reinforced,/turf/simulated/floor/plating,/area/maintenance/solars/foreportsolar) +"dta" = (/turf/simulated/wall/r_wall,/area/maintenance/solars/foreportsolar) +"dtb" = (/obj/machinery/space_heater,/turf/simulated/floor/plating,/area/maintenance/thirddeck/foreport) +"dtc" = (/obj/machinery/alarm{pixel_y = 22},/obj/machinery/portable_atmospherics/powered/pump/filled,/turf/simulated/floor/plating,/area/maintenance/thirddeck/foreport) +"dtd" = (/obj/machinery/portable_atmospherics/powered/scrubber,/turf/simulated/floor/plating,/area/maintenance/thirddeck/foreport) +"dte" = (/turf/simulated/floor/plating,/area/maintenance/thirddeck/foreport) +"dtf" = (/obj/structure/closet/crate,/obj/item/weapon/storage/box/lights/mixed,/obj/random/maintenance/security,/obj/random/maintenance/security,/obj/random/maintenance/security,/turf/simulated/floor/plating,/area/maintenance/thirddeck/foreport) +"dtg" = (/obj/structure/cable/green{d1 = 2; d2 = 4; icon_state = "2-4"},/turf/simulated/floor/reinforced/airless,/area/thirddeck/roof) +"dth" = (/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor/reinforced/airless,/area/thirddeck/roof) +"dti" = (/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/wall/r_wall,/area/ai) +"dtj" = (/obj/effect/floor_decal/industrial/warning/corner{dir = 4},/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/light,/obj/machinery/alarm{dir = 4; pixel_x = -23; pixel_y = 0},/turf/simulated/floor/tiled/dark,/area/ai) +"dtk" = (/obj/effect/floor_decal/industrial/warning{dir = 5},/obj/structure/cable/green{d1 = 1; d2 = 8; icon_state = "1-8"},/turf/simulated/floor/tiled/dark,/area/ai) +"dtl" = (/obj/machinery/ai_slipper{icon_state = "motion0"},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor/greengrid,/area/ai) +"dtm" = (/obj/effect/floor_decal/industrial/warning{dir = 9},/turf/simulated/floor/tiled/dark,/area/ai) +"dtn" = (/obj/effect/floor_decal/industrial/warning/corner{icon_state = "warningcorner"; dir = 1},/obj/machinery/light,/obj/machinery/firealarm{dir = 4; pixel_x = 24},/turf/simulated/floor/tiled/dark,/area/ai) +"dto" = (/obj/structure/closet/emcloset,/turf/simulated/floor/plating,/area/maintenance/thirddeck/forestarboard) +"dtp" = (/obj/structure/reagent_dispensers/fueltank,/turf/simulated/floor/plating,/area/maintenance/thirddeck/forestarboard) +"dtq" = (/obj/structure/reagent_dispensers/watertank,/turf/simulated/floor/plating,/area/maintenance/thirddeck/forestarboard) +"dtr" = (/obj/machinery/alarm{pixel_y = 22},/turf/simulated/floor/plating,/area/maintenance/thirddeck/forestarboard) +"dts" = (/obj/structure/firedoor_assembly,/turf/simulated/floor/plating,/area/maintenance/thirddeck/forestarboard) +"dtt" = (/turf/simulated/wall/r_wall,/area/maintenance/solars/forestarboardsolar) +"dtu" = (/obj/machinery/door/firedoor/border_only,/obj/effect/wingrille_spawn/reinforced,/turf/simulated/floor/plating,/area/maintenance/solars/forestarboardsolar) +"dtv" = (/obj/structure/cable/yellow,/turf/simulated/floor/airless,/area/solar/foreportsolar) +"dtw" = (/obj/item/stack/cable_coil/yellow,/turf/simulated/floor/reinforced/airless,/area/thirddeck/roof) +"dtx" = (/obj/effect/wingrille_spawn/reinforced,/turf/simulated/floor/plating,/area/maintenance/solars/foreportsolar) +"dty" = (/obj/structure/cable/yellow{d2 = 2; icon_state = "0-2"},/obj/machinery/power/solar_control{id = "foreportsolar"; name = "Fore Port Solar Control"; track = 0},/turf/simulated/floor/plating,/area/maintenance/solars/foreportsolar) +"dtz" = (/obj/machinery/light/small{dir = 1},/obj/machinery/camera/network/engineering{c_tag = "ENG - Solar Fore Port"; dir = 2},/obj/item/stack/cable_coil/yellow,/turf/simulated/floor/plating,/area/maintenance/solars/foreportsolar) +"dtA" = (/obj/structure/cable{icon_state = "0-2"; d2 = 2},/obj/machinery/power/apc{dir = 1; name = "north bump"; pixel_x = 0; pixel_y = 24},/obj/item/device/radio/intercom{dir = 4; name = "Station Intercom (General)"; pixel_x = 21},/turf/simulated/floor/plating,/area/maintenance/solars/foreportsolar) +"dtB" = (/turf/simulated/wall,/area/maintenance/solars/foreportsolar) +"dtC" = (/obj/machinery/light/small{dir = 8},/obj/effect/floor_decal/industrial/warning/corner{dir = 8},/turf/simulated/floor/plating,/area/maintenance/thirddeck/foreport) +"dtD" = (/obj/structure/ladder,/obj/effect/floor_decal/industrial/outline/yellow,/turf/simulated/floor/plating,/area/maintenance/thirddeck/foreport) +"dtE" = (/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor/reinforced/airless,/area/thirddeck/roof) +"dtF" = (/obj/machinery/porta_turret/ai_defense,/obj/effect/floor_decal/industrial/outline/grey,/obj/effect/floor_decal/industrial/warning/corner{dir = 4},/turf/simulated/floor/tiled/dark,/area/ai) +"dtG" = (/obj/effect/floor_decal/industrial/warning{dir = 5},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 6},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 5},/turf/simulated/floor/tiled/dark,/area/ai) +"dtH" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/turf/simulated/floor/greengrid,/area/ai) +"dtI" = (/obj/effect/floor_decal/industrial/warning/cee{tag = "icon-warningcee (NORTH)"; icon_state = "warningcee"; dir = 1},/obj/machinery/hologram/holopad,/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{dir = 1},/obj/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 1},/turf/simulated/floor/tiled/dark,/area/ai) +"dtJ" = (/obj/effect/floor_decal/industrial/warning{dir = 9},/obj/structure/cable/cyan{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 9},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 10},/turf/simulated/floor/tiled/dark,/area/ai) +"dtK" = (/obj/machinery/porta_turret/ai_defense,/obj/effect/floor_decal/industrial/outline/grey,/obj/effect/floor_decal/industrial/warning/corner{icon_state = "warningcorner"; dir = 1},/turf/simulated/floor/tiled/dark,/area/ai) +"dtL" = (/obj/effect/floor_decal/industrial/warning,/turf/simulated/floor/plating,/area/maintenance/thirddeck/forestarboard) +"dtM" = (/obj/effect/floor_decal/industrial/warning/corner{icon_state = "warningcorner"; dir = 8},/turf/simulated/floor/plating,/area/maintenance/thirddeck/forestarboard) +"dtN" = (/turf/simulated/floor/plating,/area/maintenance/thirddeck/forestarboard) +"dtO" = (/obj/machinery/light/small{dir = 4; pixel_y = 0},/obj/effect/floor_decal/industrial/warning/corner,/turf/simulated/floor/plating,/area/maintenance/thirddeck/forestarboard) +"dtP" = (/turf/simulated/wall,/area/maintenance/solars/forestarboardsolar) +"dtQ" = (/obj/structure/cable{icon_state = "0-2"; d2 = 2},/obj/machinery/power/apc{dir = 1; name = "north bump"; pixel_x = 0; pixel_y = 24},/obj/item/device/radio/intercom{dir = 8; name = "Station Intercom (General)"; pixel_x = -21},/obj/item/stack/cable_coil/yellow,/turf/simulated/floor/plating,/area/maintenance/solars/forestarboardsolar) +"dtR" = (/obj/machinery/light/small{dir = 1},/obj/machinery/camera/network/engineering{c_tag = "ENG - Solar Fore Starboard"; dir = 2},/obj/item/stack/cable_coil/yellow,/obj/item/stack/cable_coil/yellow,/obj/item/weapon/stool,/turf/simulated/floor/plating,/area/maintenance/solars/forestarboardsolar) +"dtS" = (/obj/structure/cable/yellow{d2 = 2; icon_state = "0-2"},/obj/machinery/power/solar_control{id = "forestarboardsolar"; name = "Fore Starboard Solar Control"; track = 0},/turf/simulated/floor/plating,/area/maintenance/solars/forestarboardsolar) +"dtT" = (/obj/effect/wingrille_spawn/reinforced,/turf/simulated/floor/plating,/area/maintenance/solars/forestarboardsolar) +"dtU" = (/obj/structure/cable/yellow,/turf/simulated/floor/airless,/area/solar/forestarboardsolar) +"dtV" = (/obj/machinery/power/tracker,/obj/structure/cable/yellow{d2 = 4; icon_state = "0-4"},/turf/simulated/floor/airless,/area/solar/foreportsolar) +"dtW" = (/obj/structure/cable/yellow{d2 = 8; icon_state = "0-8"},/turf/simulated/floor/airless,/area/solar/foreportsolar) +"dtX" = (/turf/simulated/floor/airless,/area/solar/foreportsolar) +"dtY" = (/obj/structure/cable/yellow{d2 = 4; icon_state = "0-4"},/turf/simulated/floor/airless,/area/solar/foreportsolar) +"dtZ" = (/obj/structure/cable/yellow{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor/airless,/area/solar/foreportsolar) +"dua" = (/obj/structure/cable/yellow{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/access_button{command = "cycle_exterior"; frequency = 1379; layer = 3.3; master_tag = "fore_port_solar_airlock"; name = "exterior access button"; pixel_x = 25; pixel_y = -25; req_access = list(); req_one_access = list(11,24)},/turf/simulated/floor/airless,/area/solar/foreportsolar) +"dub" = (/obj/structure/cable/yellow{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/door/airlock/external{frequency = 1379; icon_state = "door_locked"; id_tag = "fore_port_solar_outer"; locked = 1; name = "Engineering External Access"; req_access = list(11,13)},/turf/simulated/floor/plating,/area/maintenance/solars/foreportsolar) +"duc" = (/obj/structure/cable/yellow{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/effect/floor_decal/industrial/warning/cee{icon_state = "warningcee"; dir = 8},/obj/machinery/embedded_controller/radio/airlock/airlock_controller{frequency = 1379; id_tag = "fore_port_solar_airlock"; layer = 3.3; pixel_x = 0; pixel_y = -25; req_access = list(13); tag_airpump = "fore_port_solar_pump"; tag_chamber_sensor = "fore_port_solar_sensor"; tag_exterior_door = "fore_port_solar_outer"; tag_interior_door = "fore_port_solar_inner"},/obj/machinery/airlock_sensor{frequency = 1379; id_tag = "fore_port_solar_sensor"; layer = 3.3; pixel_x = 0; pixel_y = 25},/obj/machinery/atmospherics/unary/vent_pump/high_volume{dir = 2; frequency = 1379; id_tag = "fore_port_solar_pump"},/turf/simulated/floor/plating,/area/maintenance/solars/foreportsolar) +"dud" = (/obj/structure/cable/yellow{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/effect/floor_decal/industrial/warning/cee{icon_state = "warningcee"; dir = 4},/obj/machinery/atmospherics/unary/vent_pump/high_volume{dir = 2; frequency = 1379; id_tag = "fore_port_solar_pump"},/obj/machinery/light/small,/turf/simulated/floor/plating,/area/maintenance/solars/foreportsolar) +"due" = (/obj/machinery/atmospherics/pipe/simple/hidden{dir = 6},/obj/structure/cable/yellow{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/door/airlock/external{frequency = 1379; icon_state = "door_locked"; id_tag = "fore_port_solar_inner"; locked = 1; name = "Engineering External Access"; req_access = list(11,13)},/turf/simulated/floor/plating,/area/maintenance/solars/foreportsolar) +"duf" = (/obj/machinery/atmospherics/pipe/simple/hidden{dir = 4},/obj/structure/cable/yellow{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/structure/cable/yellow{d1 = 1; d2 = 8; icon_state = "1-8"},/obj/machinery/meter,/obj/machinery/access_button{command = "cycle_interior"; frequency = 1379; layer = 3.3; master_tag = "fore_port_solar_airlock"; name = "interior access button"; pixel_x = -25; pixel_y = 25; req_access = list(); req_one_access = list(11,24)},/turf/simulated/floor/plating,/area/maintenance/solars/foreportsolar) +"dug" = (/obj/machinery/atmospherics/pipe/simple/hidden{dir = 4},/obj/structure/cable/yellow{d1 = 2; d2 = 8; icon_state = "2-8"},/obj/effect/floor_decal/industrial/warning,/turf/simulated/floor/plating,/area/maintenance/solars/foreportsolar) +"duh" = (/obj/structure/cable{d1 = 2; d2 = 4; icon_state = "2-4"},/obj/machinery/atmospherics/binary/pump/on{dir = 8; target_pressure = 200},/obj/structure/cable{d1 = 1; d2 = 4; icon_state = "1-4"},/obj/effect/floor_decal/industrial/warning,/turf/simulated/floor/plating,/area/maintenance/solars/foreportsolar) +"dui" = (/obj/machinery/atmospherics/pipe/simple/hidden{dir = 4},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0},/obj/machinery/door/firedoor/border_only,/obj/machinery/door/airlock/engineering{icon_state = "door_closed"; locked = 0; name = "Fore Port Solar Access"; req_access = list(); req_one_access = list(11,24)},/turf/simulated/floor/plating,/area/maintenance/solars/foreportsolar) +"duj" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/atmospherics/pipe/simple/hidden{dir = 10; icon_state = "intact"; tag = "icon-intact-f (SOUTHWEST)"},/obj/effect/floor_decal/industrial/warning{icon_state = "warning"; dir = 8},/turf/simulated/floor/plating,/area/maintenance/thirddeck/foreport) +"duk" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor/plating,/area/maintenance/thirddeck/foreport) +"dul" = (/obj/effect/floor_decal/industrial/warning/corner,/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor/plating,/area/maintenance/thirddeck/foreport) +"dum" = (/obj/effect/floor_decal/industrial/warning,/obj/structure/cable{d1 = 2; d2 = 8; icon_state = "2-8"},/turf/simulated/floor/plating,/area/maintenance/thirddeck/foreport) +"dun" = (/obj/effect/floor_decal/industrial/warning/corner{icon_state = "warningcorner"; dir = 8},/turf/simulated/floor/plating,/area/maintenance/thirddeck/foreport) +"duo" = (/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor/airless,/area/thirddeck/roof) +"dup" = (/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 1},/turf/simulated/floor/tiled/dark,/area/ai) +"duq" = (/obj/effect/floor_decal/industrial/warning{icon_state = "warning"; dir = 1},/obj/effect/floor_decal/industrial/warning/corner,/turf/simulated/floor/tiled/dark,/area/ai) +"dur" = (/obj/effect/floor_decal/industrial/warning/corner{dir = 4},/obj/effect/floor_decal/industrial/warning/corner{icon_state = "warningcorner"; dir = 1},/obj/effect/floor_decal/industrial/warning,/obj/structure/cable/cyan{d1 = 2; d2 = 4; icon_state = "2-4"},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor/tiled/dark,/area/ai) +"dus" = (/obj/effect/floor_decal/industrial/warning{icon_state = "warning"; dir = 1},/obj/effect/floor_decal/industrial/warning/corner{dir = 8},/obj/structure/cable/cyan{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor/tiled/dark,/area/ai) +"dut" = (/obj/effect/floor_decal/industrial/warning/corner{icon_state = "warningcorner"; dir = 1},/obj/structure/cable/cyan{d1 = 1; d2 = 8; icon_state = "1-8"},/obj/machinery/atmospherics/unary/vent_pump/on{dir = 1},/turf/simulated/floor/tiled/dark,/area/ai) +"duu" = (/obj/structure/lattice,/obj/structure/cable{d1 = 32; d2 = 4; icon_state = "32-4"},/turf/simulated/open,/area/maintenance/thirddeck/forestarboard) +"duv" = (/obj/effect/floor_decal/industrial/warning{dir = 8},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor/plating,/area/maintenance/thirddeck/forestarboard) +"duw" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor/plating,/area/maintenance/thirddeck/forestarboard) +"dux" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/atmospherics/pipe/simple/hidden{dir = 6},/obj/effect/floor_decal/industrial/warning{icon_state = "warning"; dir = 4},/turf/simulated/floor/plating,/area/maintenance/thirddeck/forestarboard) +"duy" = (/obj/machinery/atmospherics/pipe/simple/hidden{dir = 4},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0},/obj/machinery/door/firedoor/border_only,/obj/machinery/door/airlock/engineering{icon_state = "door_closed"; locked = 0; name = "Fore Starboard Solar Access"; req_access = list(); req_one_access = list(11,24)},/turf/simulated/floor/plating,/area/maintenance/solars/forestarboardsolar) +"duz" = (/obj/structure/cable{d1 = 2; d2 = 8; icon_state = "2-8"},/obj/structure/cable{d1 = 1; d2 = 8; icon_state = "1-8"},/obj/machinery/atmospherics/binary/pump/on{dir = 4; target_pressure = 200},/obj/effect/floor_decal/industrial/warning,/turf/simulated/floor/plating,/area/maintenance/solars/forestarboardsolar) +"duA" = (/obj/machinery/atmospherics/pipe/simple/hidden{dir = 4},/obj/effect/floor_decal/industrial/warning,/obj/structure/cable/yellow{d1 = 2; d2 = 4; icon_state = "2-4"},/turf/simulated/floor/plating,/area/maintenance/solars/forestarboardsolar) +"duB" = (/obj/machinery/atmospherics/pipe/simple/hidden{dir = 4},/obj/structure/cable/yellow{d1 = 1; d2 = 4; icon_state = "1-4"},/obj/structure/cable/yellow{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/meter,/obj/machinery/access_button{command = "cycle_interior"; frequency = 1379; layer = 3.3; master_tag = "fore_starboard_solar_airlock"; name = "interior access button"; pixel_x = 25; pixel_y = 25; req_access = list(); req_one_access = list(11,24)},/turf/simulated/floor/plating,/area/maintenance/solars/forestarboardsolar) +"duC" = (/obj/machinery/atmospherics/pipe/simple/hidden{dir = 10; icon_state = "intact"; tag = "icon-intact-f (SOUTHWEST)"},/obj/structure/cable/yellow{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/door/airlock/external{frequency = 1379; icon_state = "door_locked"; id_tag = "fore_starboard_solar_inner"; locked = 1; name = "Engineering External Access"; req_access = list(11,13)},/turf/simulated/floor/plating,/area/maintenance/solars/forestarboardsolar) +"duD" = (/obj/effect/floor_decal/industrial/warning/cee{icon_state = "warningcee"; dir = 8},/obj/structure/cable/yellow{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/light/small,/obj/machinery/atmospherics/unary/vent_pump/high_volume{dir = 2; frequency = 1379; id_tag = "fore_starboard_solar_pump"},/turf/simulated/floor/plating,/area/maintenance/solars/forestarboardsolar) +"duE" = (/obj/effect/floor_decal/industrial/warning/cee{icon_state = "warningcee"; dir = 4},/obj/structure/cable/yellow{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/embedded_controller/radio/airlock/airlock_controller{frequency = 1379; id_tag = "fore_starboard_solar_airlock"; layer = 3.3; pixel_x = 0; pixel_y = -25; req_access = list(13); tag_airpump = "fore_starboard_solar_pump"; tag_chamber_sensor = "fore_starboard_solar_sensor"; tag_exterior_door = "fore_starboard_solar_outer"; tag_interior_door = "fore_starboard_solar_inner"},/obj/machinery/airlock_sensor{frequency = 1379; id_tag = "fore_starboard_solar_sensor"; layer = 3.3; pixel_x = 0; pixel_y = 25},/obj/machinery/atmospherics/unary/vent_pump/high_volume{dir = 2; frequency = 1379; id_tag = "fore_starboard_solar_pump"},/turf/simulated/floor/plating,/area/maintenance/solars/forestarboardsolar) +"duF" = (/obj/structure/cable/yellow{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/door/airlock/external{frequency = 1379; icon_state = "door_locked"; id_tag = "fore_starboard_solar_outer"; locked = 1; name = "Engineering External Access"; req_access = list(11,13)},/turf/simulated/floor/plating,/area/maintenance/solars/forestarboardsolar) +"duG" = (/obj/structure/cable/yellow{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/access_button{command = "cycle_exterior"; frequency = 1379; layer = 3.3; master_tag = "fore_starboard_solar_airlock"; name = "exterior access button"; pixel_x = -25; pixel_y = -25; req_access = list(); req_one_access = list(11,24)},/turf/simulated/floor/airless,/area/solar/forestarboardsolar) +"duH" = (/obj/structure/cable/yellow{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor/airless,/area/solar/forestarboardsolar) +"duI" = (/obj/structure/cable/yellow{d2 = 8; icon_state = "0-8"},/turf/simulated/floor/airless,/area/solar/forestarboardsolar) +"duJ" = (/turf/simulated/floor/airless,/area/solar/forestarboardsolar) +"duK" = (/obj/structure/cable/yellow{d2 = 4; icon_state = "0-4"},/turf/simulated/floor/airless,/area/solar/forestarboardsolar) +"duL" = (/obj/machinery/power/tracker,/obj/structure/cable/yellow{d2 = 8; icon_state = "0-8"},/turf/simulated/floor/airless,/area/solar/forestarboardsolar) +"duM" = (/obj/structure/cable/yellow{d2 = 2; icon_state = "0-2"},/turf/simulated/floor/airless,/area/solar/foreportsolar) +"duN" = (/obj/machinery/atmospherics/pipe/simple/hidden{dir = 5; icon_state = "intact"; tag = "icon-intact-f (NORTHEAST)"},/obj/effect/wingrille_spawn/reinforced,/turf/simulated/floor/plating,/area/maintenance/solars/foreportsolar) +"duO" = (/obj/machinery/atmospherics/pipe/manifold/hidden,/obj/effect/wingrille_spawn/reinforced,/turf/simulated/floor/plating,/area/maintenance/solars/foreportsolar) +"duP" = (/obj/machinery/atmospherics/pipe/manifold/hidden,/obj/machinery/door/firedoor/border_only,/obj/effect/wingrille_spawn/reinforced,/turf/simulated/floor/plating,/area/maintenance/solars/foreportsolar) +"duQ" = (/obj/machinery/atmospherics/portables_connector{dir = 8},/obj/effect/floor_decal/industrial/outline/yellow,/obj/structure/sign/warning/airlock{pixel_y = -32},/obj/machinery/portable_atmospherics/canister/air/airlock,/turf/simulated/floor/plating,/area/maintenance/solars/foreportsolar) +"duR" = (/obj/machinery/power/terminal{dir = 4},/obj/structure/cable/yellow,/obj/effect/floor_decal/industrial/warning{icon_state = "warning"; dir = 8},/obj/machinery/alarm{dir = 1; pixel_y = -22},/obj/structure/table/steel,/obj/item/stack/cable_coil/yellow,/turf/simulated/floor/plating,/area/maintenance/solars/foreportsolar) +"duS" = (/obj/structure/cable,/obj/machinery/power/smes/buildable{charge = 0; RCon_tag = "Solar - Fore Port"},/turf/simulated/floor/plating,/area/maintenance/solars/foreportsolar) +"duT" = (/obj/machinery/atmospherics/pipe/simple/hidden,/obj/structure/sign/warning/high_voltage{pixel_x = -32; pixel_y = 0},/obj/effect/floor_decal/industrial/warning/corner{icon_state = "warningcorner"; dir = 1},/obj/machinery/camera/network/engineering{c_tag = "ENG - Solar Fore Port Access"; dir = 4},/turf/simulated/floor/plating,/area/maintenance/thirddeck/foreport) +"duU" = (/obj/structure/table/rack,/obj/item/weapon/extinguisher,/obj/item/clothing/head/hardhat/red,/obj/item/clothing/mask/gas,/obj/item/device/flashlight,/obj/item/clothing/glasses/meson,/obj/random/maintenance/cargo,/obj/effect/floor_decal/industrial/warning{icon_state = "warning"; dir = 4},/turf/simulated/floor,/area/maintenance/thirddeck/foreport) +"duV" = (/obj/structure/lattice,/obj/structure/cable{d1 = 32; icon_state = "32-1"},/turf/simulated/open,/area/maintenance/thirddeck/foreport) +"duW" = (/obj/structure/cable/cyan{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor/greengrid,/area/ai) +"duX" = (/obj/effect/floor_decal/industrial/warning/corner{icon_state = "warningcorner"; dir = 1},/turf/simulated/floor/plating,/area/maintenance/thirddeck/forestarboard) +"duY" = (/obj/structure/ladder,/obj/effect/floor_decal/industrial/outline/yellow,/turf/simulated/floor/plating,/area/maintenance/thirddeck/forestarboard) +"duZ" = (/obj/machinery/atmospherics/pipe/simple/hidden,/obj/structure/sign/warning/high_voltage{pixel_x = 32; pixel_y = 0},/obj/effect/floor_decal/industrial/warning/corner{icon_state = "warningcorner"; dir = 4},/obj/machinery/camera/network/engineering{c_tag = "ENG - Solar Fore Starboard Access"; dir = 8},/turf/simulated/floor/plating,/area/maintenance/thirddeck/forestarboard) +"dva" = (/obj/structure/cable,/obj/machinery/power/smes/buildable{charge = 0; RCon_tag = "Solar - Fore Starboard"},/turf/simulated/floor/plating,/area/maintenance/solars/forestarboardsolar) +"dvb" = (/obj/machinery/power/terminal{dir = 8},/obj/effect/floor_decal/industrial/warning{icon_state = "warning"; dir = 4},/obj/structure/cable/yellow,/obj/machinery/alarm{dir = 1; pixel_y = -22},/turf/simulated/floor/plating,/area/maintenance/solars/forestarboardsolar) +"dvc" = (/obj/effect/floor_decal/industrial/outline/yellow,/obj/machinery/atmospherics/portables_connector{dir = 4},/obj/machinery/portable_atmospherics/canister/air/airlock,/obj/structure/sign/warning/airlock{pixel_y = -32},/turf/simulated/floor/plating,/area/maintenance/solars/forestarboardsolar) +"dvd" = (/obj/machinery/atmospherics/pipe/manifold/hidden,/obj/machinery/door/firedoor/border_only,/obj/effect/wingrille_spawn/reinforced,/turf/simulated/floor/plating,/area/maintenance/solars/forestarboardsolar) +"dve" = (/obj/machinery/atmospherics/pipe/manifold/hidden,/obj/effect/wingrille_spawn/reinforced,/turf/simulated/floor/plating,/area/maintenance/solars/forestarboardsolar) +"dvf" = (/obj/machinery/atmospherics/pipe/simple/hidden{dir = 9; icon_state = "intact"; tag = "icon-intact-f (NORTHWEST)"},/obj/effect/wingrille_spawn/reinforced,/turf/simulated/floor/plating,/area/maintenance/solars/forestarboardsolar) +"dvg" = (/obj/structure/cable/yellow{d2 = 2; icon_state = "0-2"},/turf/simulated/floor/airless,/area/solar/forestarboardsolar) +"dvh" = (/turf/space,/area/ninja_dojo/thirddeck) +"dvi" = (/obj/structure/cable/yellow{d1 = 1; d2 = 8; icon_state = "1-8"},/obj/structure/cable/yellow{d1 = 1; d2 = 4; icon_state = "1-4"},/obj/structure/cable/yellow{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor/airless,/area/solar/foreportsolar) +"dvj" = (/obj/machinery/door/firedoor/border_only,/obj/machinery/door/airlock/maintenance{name = "Maintenance Access"; req_one_access = list(12,19)},/obj/machinery/atmospherics/pipe/simple/hidden,/turf/simulated/floor/plating,/area/maintenance/thirddeck/foreport) +"dvk" = (/turf/simulated/wall,/area/maintenance/thirddeck/foreport) +"dvl" = (/turf/simulated/wall/r_wall,/area/ai/ai_upload) +"dvm" = (/obj/machinery/door/airlock/vault/bolted{name = "AI core"; req_access = list(16)},/obj/machinery/door/blast/regular{id = "AICore"; name = "AI core maintenance hatch"},/obj/structure/cable/cyan{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor/tiled/dark,/area/ai) +"dvn" = (/obj/structure/sign/warning/lethal_turrets,/turf/simulated/wall/r_wall,/area/ai) +"dvo" = (/obj/structure/sign/kiddieplaque,/turf/simulated/wall/r_wall,/area/ai/ai_upload) +"dvp" = (/turf/simulated/wall,/area/maintenance/thirddeck/forestarboard) +"dvq" = (/obj/machinery/door/firedoor/border_only,/obj/machinery/door/airlock/maintenance{name = "Maintenance Access"; req_one_access = list(12,19)},/obj/machinery/atmospherics/pipe/simple/hidden,/turf/simulated/floor/plating,/area/maintenance/thirddeck/forestarboard) +"dvr" = (/obj/structure/cable/yellow{d1 = 1; d2 = 8; icon_state = "1-8"},/obj/structure/cable/yellow{d1 = 1; d2 = 4; icon_state = "1-4"},/obj/structure/cable/yellow{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor/airless,/area/solar/forestarboardsolar) +"dvs" = (/obj/machinery/atmospherics/pipe/simple/hidden,/turf/simulated/floor/plating,/area/maintenance/thirddeck/foreport) +"dvt" = (/obj/structure/table/standard,/obj/item/weapon/aiModule/freeform,/obj/item/weapon/aiModule/protectStation{pixel_x = -3; pixel_y = 2},/obj/structure/window/reinforced{dir = 4; health = 1e+006},/obj/machinery/status_display{pixel_x = 0; pixel_y = 32},/turf/simulated/floor/bluegrid,/area/ai/ai_upload) +"dvu" = (/obj/effect/floor_decal/industrial/outline/grey,/obj/machinery/porta_turret/ai_defense,/turf/simulated/floor/tiled/dark,/area/ai/ai_upload) +"dvv" = (/obj/machinery/atmospherics/unary/vent_pump/on,/turf/simulated/floor/tiled/dark,/area/ai/ai_upload) +"dvw" = (/obj/machinery/computer/aiupload,/turf/simulated/floor/bluegrid,/area/ai/ai_upload) +"dvx" = (/obj/structure/cable/cyan{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/item/device/radio/intercom/locked/ai_private{dir = 1; pixel_x = -36; pixel_y = 21},/obj/machinery/flasher{id = "AI"; pixel_x = -22; pixel_y = 24},/turf/simulated/floor/tiled/dark,/area/ai/ai_upload) +"dvy" = (/obj/machinery/computer/borgupload,/turf/simulated/floor/bluegrid,/area/ai/ai_upload) +"dvz" = (/obj/machinery/atmospherics/unary/vent_scrubber/on,/obj/machinery/camera/network/command{c_tag = "AI - Upload"; dir = 2},/turf/simulated/floor/tiled/dark,/area/ai/ai_upload) +"dvA" = (/obj/structure/table/standard,/obj/item/weapon/aiModule/nanotrasen,/obj/item/weapon/aiModule/reset{pixel_x = 2; pixel_y = 3; pixel_z = 0},/obj/structure/window/reinforced{dir = 8},/obj/machinery/ai_status_display{pixel_y = 32},/turf/simulated/floor/bluegrid,/area/ai/ai_upload) +"dvB" = (/obj/machinery/atmospherics/pipe/simple/hidden,/turf/simulated/floor/plating,/area/maintenance/thirddeck/forestarboard) +"dvC" = (/obj/effect/floor_decal/industrial/warning/corner,/obj/machinery/atmospherics/pipe/simple/hidden,/turf/simulated/floor/plating,/area/maintenance/thirddeck/foreport) +"dvD" = (/obj/effect/floor_decal/industrial/warning,/turf/simulated/floor/plating,/area/maintenance/thirddeck/foreport) +"dvE" = (/obj/structure/cable/cyan{d1 = 2; d2 = 4; icon_state = "2-4"},/turf/simulated/floor/bluegrid,/area/ai/ai_upload) +"dvF" = (/obj/structure/cable/cyan{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor/bluegrid,/area/ai/ai_upload) +"dvG" = (/obj/structure/cable/cyan{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 5},/turf/simulated/floor/tiled/dark,/area/ai/ai_upload) +"dvH" = (/obj/effect/floor_decal/industrial/outline/grey,/obj/structure/cable/cyan{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/turf/simulated/floor/tiled/dark,/area/ai/ai_upload) +"dvI" = (/obj/structure/cable/cyan{d1 = 1; d2 = 8; icon_state = "1-8"},/obj/structure/cable/cyan{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{dir = 8},/obj/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 4},/obj/machinery/ai_slipper{icon_state = "motion0"},/turf/simulated/floor/tiled/dark,/area/ai/ai_upload) +"dvJ" = (/obj/effect/floor_decal/industrial/outline/grey,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor/tiled/dark,/area/ai/ai_upload) +"dvK" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 9},/turf/simulated/floor/tiled/dark,/area/ai/ai_upload) +"dvL" = (/turf/simulated/floor/bluegrid,/area/ai/ai_upload) +"dvM" = (/obj/effect/floor_decal/industrial/warning/corner{icon_state = "warningcorner"; dir = 8},/obj/machinery/atmospherics/pipe/simple/hidden,/turf/simulated/floor/plating,/area/maintenance/thirddeck/forestarboard) +"dvN" = (/obj/machinery/atmospherics/pipe/manifold/hidden{dir = 8; icon_state = "map"; tag = "icon-manifold-f (WEST)"},/obj/effect/floor_decal/industrial/warning{icon_state = "warning"; dir = 4},/turf/simulated/floor/plating,/area/maintenance/thirddeck/foreport) +"dvO" = (/obj/machinery/portable_atmospherics/canister/air/airlock,/obj/effect/floor_decal/industrial/outline/yellow,/obj/machinery/atmospherics/portables_connector{dir = 8},/obj/machinery/alarm{dir = 8; icon_state = "alarm0"; pixel_x = 22},/turf/simulated/floor/plating,/area/maintenance/thirddeck/foreport) +"dvP" = (/obj/machinery/power/apc{dir = 8; name = "west bump"; pixel_x = -24},/obj/machinery/light_switch{pixel_x = -36; pixel_y = 0},/obj/structure/cable/cyan,/turf/simulated/floor/bluegrid,/area/ai/ai_upload) +"dvQ" = (/obj/effect/floor_decal/industrial/outline/grey,/obj/machinery/porta_turret/ai_defense,/obj/machinery/light,/turf/simulated/floor/tiled/dark,/area/ai/ai_upload) +"dvR" = (/obj/machinery/hologram/holopad,/obj/effect/floor_decal/industrial/outline/grey,/obj/structure/cable/cyan{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor/tiled/dark,/area/ai/ai_upload) +"dvS" = (/obj/machinery/alarm{dir = 8; pixel_x = 22; pixel_y = 0},/turf/simulated/floor/bluegrid,/area/ai/ai_upload) +"dvT" = (/obj/machinery/atmospherics/portables_connector{dir = 4},/obj/effect/floor_decal/industrial/outline/yellow,/obj/machinery/alarm{dir = 4; pixel_x = -22; pixel_y = 0},/obj/machinery/portable_atmospherics/canister/air/airlock,/turf/simulated/floor/plating,/area/maintenance/thirddeck/forestarboard) +"dvU" = (/obj/effect/floor_decal/industrial/warning{icon_state = "warning"; dir = 8},/obj/machinery/atmospherics/pipe/manifold/hidden{dir = 4; icon_state = "map"; tag = "icon-manifold-f (EAST)"},/turf/simulated/floor/plating,/area/maintenance/thirddeck/forestarboard) +"dvV" = (/obj/structure/cable/yellow{d1 = 1; d2 = 8; icon_state = "1-8"},/obj/structure/cable/yellow{d1 = 1; d2 = 4; icon_state = "1-4"},/turf/simulated/floor/airless,/area/solar/foreportsolar) +"dvW" = (/obj/machinery/portable_atmospherics/canister/air/airlock,/obj/effect/floor_decal/industrial/outline/yellow,/obj/machinery/atmospherics/portables_connector{dir = 8},/turf/simulated/floor/plating,/area/maintenance/thirddeck/foreport) +"dvX" = (/obj/structure/table/standard,/obj/item/weapon/aiModule/asimov,/obj/item/weapon/aiModule/freeformcore,/obj/machinery/door/window{base_state = "right"; dir = 4; icon_state = "right"; name = "Core Modules"; req_access = list(20)},/obj/item/weapon/aiModule/corp,/obj/item/weapon/aiModule/paladin,/obj/item/weapon/aiModule/robocop,/obj/structure/window/reinforced{dir = 1},/turf/simulated/floor/bluegrid,/area/ai/ai_upload) +"dvY" = (/obj/item/device/radio/intercom{dir = 8; name = "Station Intercom (General)"; pixel_x = -21},/turf/simulated/floor/bluegrid,/area/ai/ai_upload) +"dvZ" = (/obj/structure/cable/cyan{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/effect/landmark{name = "lightsout"},/turf/simulated/floor/tiled/dark,/area/ai/ai_upload) +"dwa" = (/obj/item/device/radio/intercom/locked/ai_private{dir = 4; pixel_x = 21},/turf/simulated/floor/bluegrid,/area/ai/ai_upload) +"dwb" = (/obj/structure/extinguisher_cabinet{pixel_x = -28; pixel_y = 0},/turf/simulated/floor/bluegrid,/area/ai/ai_upload) +"dwc" = (/obj/structure/table/standard,/obj/item/weapon/aiModule/oxygen,/obj/item/weapon/aiModule/oneHuman,/obj/machinery/door/window{base_state = "left"; dir = 8; icon_state = "left"; name = "High-Risk Modules"; req_access = list(20)},/obj/item/weapon/aiModule/purge,/obj/item/weapon/aiModule/antimov,/obj/item/weapon/aiModule/teleporterOffline,/obj/structure/window/reinforced{dir = 1},/turf/simulated/floor/bluegrid,/area/ai/ai_upload) +"dwd" = (/obj/machinery/atmospherics/portables_connector{dir = 4},/obj/effect/floor_decal/industrial/outline/yellow,/obj/machinery/portable_atmospherics/canister/air/airlock,/turf/simulated/floor/plating,/area/maintenance/thirddeck/forestarboard) +"dwe" = (/obj/structure/cable/yellow{d1 = 1; d2 = 8; icon_state = "1-8"},/obj/structure/cable/yellow{d1 = 1; d2 = 4; icon_state = "1-4"},/turf/simulated/floor/airless,/area/solar/forestarboardsolar) +"dwf" = (/obj/machinery/atmospherics/pipe/manifold/hidden{dir = 8; icon_state = "map"; tag = "icon-manifold-f (WEST)"},/obj/effect/floor_decal/industrial/warning/corner{icon_state = "warningcorner"; dir = 4},/obj/machinery/meter,/turf/simulated/floor/plating,/area/maintenance/thirddeck/foreport) +"dwg" = (/obj/machinery/atmospherics/pipe/simple/hidden{dir = 10; icon_state = "intact"; tag = "icon-intact-f (SOUTHWEST)"},/obj/effect/floor_decal/industrial/warning{icon_state = "warning"; dir = 1},/obj/machinery/floodlight,/turf/simulated/floor/plating,/area/maintenance/thirddeck/foreport) +"dwh" = (/obj/machinery/door/firedoor/border_only,/obj/effect/wingrille_spawn/reinforced,/turf/simulated/floor/plating,/area/maintenance/thirddeck/foreport) +"dwi" = (/turf/simulated/wall/r_wall,/area/ai/ai_server_room) +"dwj" = (/obj/machinery/ai_status_display,/turf/simulated/wall/r_wall,/area/ai/ai_server_room) +"dwk" = (/obj/machinery/door/firedoor/border_only,/obj/structure/cable/cyan{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/door/airlock/highsecurity{name = "AI Upload"; req_access = list(16)},/turf/simulated/floor/tiled/dark,/area/ai/ai_upload) +"dwl" = (/turf/simulated/wall/r_wall,/area/ai/ai_cyborg_station) +"dwm" = (/obj/machinery/status_display,/turf/simulated/wall/r_wall,/area/ai/ai_cyborg_station) +"dwn" = (/obj/machinery/door/firedoor/border_only,/obj/effect/wingrille_spawn/reinforced,/turf/simulated/floor/plating,/area/maintenance/thirddeck/forestarboard) +"dwo" = (/obj/effect/floor_decal/industrial/warning{icon_state = "warning"; dir = 1},/obj/machinery/atmospherics/pipe/simple/hidden{dir = 6},/obj/structure/closet/crate,/obj/random/powercell,/obj/random/powercell,/obj/random/powercell,/obj/random/toolbox,/obj/random/maintenance/clean,/obj/random/maintenance/clean,/turf/simulated/floor/plating,/area/maintenance/thirddeck/forestarboard) +"dwp" = (/obj/effect/floor_decal/industrial/warning/corner{icon_state = "warningcorner"; dir = 1},/obj/machinery/atmospherics/pipe/manifold/hidden{dir = 4; icon_state = "map"; tag = "icon-manifold-f (EAST)"},/obj/machinery/meter,/turf/simulated/floor/plating,/area/maintenance/thirddeck/forestarboard) +"dwq" = (/obj/machinery/power/apc{dir = 8; name = "west bump"; pixel_x = -24},/obj/structure/cable/green{d2 = 2; icon_state = "0-2"},/obj/machinery/atmospherics/pipe/simple/hidden,/turf/simulated/floor/plating,/area/maintenance/thirddeck/foreport) +"dwr" = (/obj/machinery/atmospherics/binary/pump/on{dir = 1; target_pressure = 200},/obj/structure/table/rack,/obj/item/weapon/storage/toolbox/mechanical,/obj/item/weapon/storage/belt/utility,/obj/random/maintenance/security,/obj/random/maintenance/security,/obj/random/maintenance/security,/turf/simulated/floor/plating,/area/maintenance/thirddeck/foreport) +"dws" = (/obj/machinery/message_server,/obj/machinery/camera/network/command{c_tag = "AI - Messaging Server"; dir = 4},/turf/simulated/floor/bluegrid,/area/ai/ai_server_room) +"dwt" = (/obj/machinery/light{dir = 1},/turf/simulated/floor/bluegrid,/area/ai/ai_server_room) +"dwu" = (/obj/machinery/blackbox_recorder,/turf/simulated/floor/bluegrid,/area/ai/ai_server_room) +"dwv" = (/obj/effect/floor_decal/industrial/warning{dir = 9},/obj/item/device/radio/intercom/locked/ai_private{dir = 1; pixel_y = 21},/obj/machinery/alarm{dir = 4; icon_state = "alarm0"; pixel_x = -22; pixel_y = 0},/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 4},/obj/machinery/camera/network/command{c_tag = "AI - Upload Foyer"; dir = 2},/turf/simulated/floor/tiled/dark,/area/ai/ai_upload_foyer) +"dww" = (/obj/effect/floor_decal/industrial/warning{dir = 1},/obj/structure/cable/cyan{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{dir = 4},/obj/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 8},/turf/simulated/floor/tiled/dark,/area/ai/ai_upload_foyer) +"dwx" = (/obj/effect/floor_decal/industrial/warning{icon_state = "warning"; dir = 5},/obj/machinery/turretid/stun{control_area = "\improper AI Upload Chamber"; name = "AI Upload turret control"; pixel_x = 0; pixel_y = 24},/obj/machinery/power/apc{dir = 4; name = "east bump"; pixel_x = 24},/obj/machinery/light_switch{dir = 2; name = "light switch "; pixel_x = 36; pixel_y = 0},/obj/structure/cable/cyan{d2 = 2; icon_state = "0-2"},/obj/machinery/atmospherics/unary/vent_pump/on{dir = 8},/obj/machinery/flasher{id = "AIFoyer"; pixel_x = 0; pixel_y = 36},/turf/simulated/floor/tiled/dark,/area/ai/ai_upload_foyer) +"dwy" = (/obj/machinery/recharge_station,/turf/simulated/floor/bluegrid,/area/ai/ai_cyborg_station) +"dwz" = (/obj/machinery/recharge_station,/obj/machinery/light{dir = 1},/turf/simulated/floor/bluegrid,/area/ai/ai_cyborg_station) +"dwA" = (/obj/structure/table/standard,/obj/item/weapon/phone,/obj/machinery/camera/network/command{c_tag = "AI - Cyborg Station"; dir = 8},/turf/simulated/floor/bluegrid,/area/ai/ai_cyborg_station) +"dwB" = (/obj/machinery/atmospherics/binary/pump/on{dir = 1; target_pressure = 200},/obj/structure/largecrate,/obj/random/maintenance/clean,/obj/random/maintenance/clean,/turf/simulated/floor/plating,/area/maintenance/thirddeck/forestarboard) +"dwC" = (/obj/machinery/power/apc{dir = 4; name = "east bump"; pixel_x = 24},/obj/structure/cable/green{d2 = 2; icon_state = "0-2"},/obj/machinery/atmospherics/pipe/simple/hidden,/turf/simulated/floor/plating,/area/maintenance/thirddeck/forestarboard) +"dwD" = (/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/simple/hidden,/turf/simulated/floor/plating,/area/maintenance/thirddeck/foreport) +"dwE" = (/obj/machinery/atmospherics/pipe/simple/visible/universal,/obj/structure/table/rack{dir = 1},/obj/random/maintenance/engineering,/obj/random/maintenance/engineering,/obj/random/maintenance/clean,/obj/random/maintenance/clean,/turf/simulated/floor/plating,/area/maintenance/thirddeck/foreport) +"dwF" = (/obj/machinery/computer/message_monitor,/obj/machinery/firealarm{dir = 8; pixel_x = -24},/turf/simulated/floor/bluegrid,/area/ai/ai_server_room) +"dwG" = (/obj/structure/bed/chair/office/light{dir = 8},/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 4},/turf/simulated/floor/tiled/dark,/area/ai/ai_server_room) +"dwH" = (/obj/machinery/hologram/holopad,/obj/effect/floor_decal/industrial/outline/grey,/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 6},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor/tiled/dark,/area/ai/ai_server_room) +"dwI" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/structure/cable/cyan{d1 = 2; d2 = 4; icon_state = "2-4"},/turf/simulated/floor/tiled/dark,/area/ai/ai_server_room) +"dwJ" = (/obj/machinery/door/firedoor/border_only,/obj/structure/cable/cyan{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/door/airlock/highsecurity{name = "Messaging Server"; req_access = list(16)},/turf/simulated/floor/tiled/dark,/area/ai/ai_server_room) +"dwK" = (/obj/effect/floor_decal/industrial/warning{dir = 10},/obj/machinery/firealarm{dir = 1; pixel_y = -24},/obj/structure/cable/cyan{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/turf/simulated/floor/tiled/dark,/area/ai/ai_upload_foyer) +"dwL" = (/obj/effect/floor_decal/industrial/warning,/obj/machinery/hologram/holopad,/obj/structure/cable/cyan{d1 = 1; d2 = 4; icon_state = "1-4"},/obj/structure/cable/cyan{d1 = 1; d2 = 8; icon_state = "1-8"},/obj/machinery/atmospherics/pipe/manifold4w/hidden/scrubbers,/obj/machinery/atmospherics/pipe/manifold4w/hidden/supply,/turf/simulated/floor/tiled/dark,/area/ai/ai_upload_foyer) +"dwM" = (/obj/effect/floor_decal/industrial/warning{dir = 6},/obj/structure/cable/cyan{d1 = 1; d2 = 8; icon_state = "1-8"},/obj/structure/cable/cyan{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/light,/turf/simulated/floor/tiled/dark,/area/ai/ai_upload_foyer) +"dwN" = (/obj/machinery/door/firedoor/border_only,/obj/structure/cable/cyan{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/door/airlock/highsecurity{name = "Synthetic Storage Access"; req_access = list(16)},/turf/simulated/floor/tiled/dark,/area/ai/ai_cyborg_station) +"dwO" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/structure/cable/cyan{d1 = 2; d2 = 8; icon_state = "2-8"},/obj/effect/landmark/start{name = "Cyborg"},/turf/simulated/floor/tiled/dark,/area/ai/ai_cyborg_station) +"dwP" = (/obj/machinery/hologram/holopad,/obj/effect/floor_decal/industrial/outline/grey,/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 10},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/effect/landmark/start{name = "Cyborg"},/turf/simulated/floor/tiled/dark,/area/ai/ai_cyborg_station) +"dwQ" = (/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 8},/obj/structure/bed/chair/office/light{dir = 4},/obj/effect/landmark{name = "JoinLateCyborg"},/turf/simulated/floor/tiled/dark,/area/ai/ai_cyborg_station) +"dwR" = (/obj/machinery/computer/aifixer,/obj/machinery/firealarm{dir = 4; pixel_x = 24},/turf/simulated/floor/bluegrid,/area/ai/ai_cyborg_station) +"dwS" = (/obj/machinery/atmospherics/pipe/simple/visible/universal,/obj/structure/largecrate,/obj/random/maintenance/clean,/obj/random/maintenance/clean,/turf/simulated/floor/plating,/area/maintenance/thirddeck/forestarboard) +"dwT" = (/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/simple/hidden,/turf/simulated/floor/plating,/area/maintenance/thirddeck/forestarboard) +"dwU" = (/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 6},/obj/machinery/atmospherics/pipe/simple/hidden,/turf/simulated/floor/plating,/area/maintenance/thirddeck/foreport) +"dwV" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 9; pixel_y = 0},/obj/machinery/meter,/turf/simulated/floor/plating,/area/maintenance/thirddeck/foreport) +"dwW" = (/turf/simulated/wall/r_wall,/area/crew_quarters/heads/sc/hop/quarters) +"dwX" = (/obj/machinery/door/firedoor/border_only,/obj/effect/wingrille_spawn/reinforced,/turf/simulated/floor/plating,/area/crew_quarters/heads/sc/hop/quarters) +"dwY" = (/obj/machinery/door/firedoor/glass,/obj/effect/wingrille_spawn/reinforced,/turf/simulated/floor/plating,/area/crew_quarters/heads/sc/hop/quarters) +"dwZ" = (/turf/simulated/wall/r_wall,/area/maintenance/substation/command) +"dxa" = (/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/wall/r_wall,/area/maintenance/substation/command) +"dxb" = (/obj/structure/closet/crate{name = "Camera Assembly Crate"},/obj/item/weapon/camera_assembly,/obj/item/weapon/camera_assembly,/obj/item/weapon/camera_assembly,/obj/item/weapon/camera_assembly,/turf/simulated/floor/bluegrid,/area/ai/ai_server_room) +"dxc" = (/obj/item/device/radio/intercom{name = "Station Intercom (General)"; pixel_y = -21},/turf/simulated/floor/tiled/dark,/area/ai/ai_server_room) +"dxd" = (/obj/machinery/atmospherics/unary/vent_pump/on{dir = 1},/obj/machinery/alarm{dir = 1; icon_state = "alarm0"; pixel_y = -22},/turf/simulated/floor/tiled/dark,/area/ai/ai_server_room) +"dxe" = (/obj/machinery/power/apc{dir = 4; name = "east bump"; pixel_x = 24},/obj/machinery/light_switch{pixel_x = 36; pixel_y = 0},/obj/structure/cable/cyan,/turf/simulated/floor/tiled/dark,/area/ai/ai_server_room) +"dxf" = (/turf/simulated/wall/r_wall,/area/ai/ai_upload_foyer) +"dxg" = (/obj/machinery/door/firedoor/border_only,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/door/airlock/highsecurity{name = "AI Upload Access"; req_access = list(16)},/turf/simulated/floor/tiled/dark,/area/ai/ai_upload_foyer) +"dxh" = (/obj/machinery/power/apc{dir = 8; name = "west bump"; pixel_x = -24},/obj/machinery/light_switch{pixel_x = -36; pixel_y = 0},/obj/structure/cable/cyan,/turf/simulated/floor/tiled/dark,/area/ai/ai_cyborg_station) +"dxi" = (/obj/machinery/atmospherics/unary/vent_pump/on{dir = 1},/obj/machinery/alarm{dir = 1; icon_state = "alarm0"; pixel_y = -22},/turf/simulated/floor/tiled/dark,/area/ai/ai_cyborg_station) +"dxj" = (/obj/effect/landmark{name = "JoinLateCyborg"},/obj/item/device/radio/intercom{name = "Station Intercom (General)"; pixel_y = -21},/turf/simulated/floor/tiled/dark,/area/ai/ai_cyborg_station) +"dxk" = (/obj/machinery/cryopod/robot{dir = 4},/turf/simulated/floor/bluegrid,/area/ai/ai_cyborg_station) +"dxl" = (/turf/simulated/wall/r_wall,/area/crew_quarters/heads/sc/cmo/quarters) +"dxm" = (/obj/machinery/door/firedoor/border_only,/obj/effect/wingrille_spawn/reinforced,/turf/simulated/floor/plating,/area/crew_quarters/heads/sc/cmo/quarters) +"dxn" = (/obj/machinery/door/firedoor/glass,/obj/effect/wingrille_spawn/reinforced,/turf/simulated/floor/plating,/area/crew_quarters/heads/sc/cmo/quarters) +"dxo" = (/obj/machinery/door/firedoor/border_only,/obj/effect/wingrille_spawn/reinforced,/turf/simulated/floor/plating,/area/crew_quarters/heads/sc/hor/quarters) +"dxp" = (/obj/machinery/door/firedoor/glass,/obj/effect/wingrille_spawn/reinforced,/turf/simulated/floor/plating,/area/crew_quarters/heads/sc/hor/quarters) +"dxq" = (/turf/simulated/wall/r_wall,/area/crew_quarters/heads/sc/hor/quarters) +"dxr" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 5},/obj/machinery/meter,/turf/simulated/floor/plating,/area/maintenance/thirddeck/forestarboard) +"dxs" = (/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/simple/hidden,/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 10},/turf/simulated/floor/plating,/area/maintenance/thirddeck/forestarboard) +"dxt" = (/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden,/obj/machinery/light/small{dir = 8},/turf/simulated/floor/plating,/area/maintenance/thirddeck/foreport) +"dxu" = (/obj/structure/closet/secure_closet/hop2,/turf/simulated/floor/carpet,/area/crew_quarters/heads/sc/hop/quarters) +"dxv" = (/obj/structure/table/standard,/obj/machinery/atmospherics/unary/vent_pump/on,/turf/simulated/floor/carpet,/area/crew_quarters/heads/sc/hop/quarters) +"dxw" = (/obj/structure/table/standard,/obj/item/device/flashlight/lamp/green,/obj/item/device/radio/intercom{dir = 4; name = "Station Intercom (General)"; pixel_x = 21},/turf/simulated/floor/carpet,/area/crew_quarters/heads/sc/hop/quarters) +"dxx" = (/turf/simulated/wall,/area/maintenance/substation/command) +"dxy" = (/obj/structure/cable/green{d2 = 4; icon_state = "0-4"},/obj/structure/cable/green{d2 = 2; icon_state = "0-2"},/obj/machinery/power/apc{dir = 8; name = "west bump"; pixel_x = -24},/obj/structure/table/steel,/obj/machinery/cell_charger,/obj/structure/disposalpipe/segment{dir = 4; icon_state = "pipe-c"},/turf/simulated/floor,/area/maintenance/substation/command) +"dxz" = (/obj/structure/cable/green{d1 = 1; d2 = 8; icon_state = "1-8"},/obj/structure/disposalpipe/segment{dir = 4},/obj/effect/floor_decal/industrial/warning{icon_state = "warning"; dir = 4},/turf/simulated/floor,/area/maintenance/substation/command) +"dxA" = (/obj/structure/lattice,/obj/machinery/atmospherics/pipe/zpipe/down/scrubbers,/obj/machinery/atmospherics/pipe/zpipe/down/supply,/obj/structure/disposalpipe/down{dir = 8},/obj/structure/cable{d1 = 32; d2 = 2; icon_state = "32-2"},/turf/simulated/open,/area/maintenance/substation/command) +"dxB" = (/obj/machinery/status_display,/turf/simulated/wall/r_wall,/area/ai/ai_server_room) +"dxC" = (/obj/structure/sign/warning/secure_area,/turf/simulated/wall/r_wall,/area/ai/ai_server_room) +"dxD" = (/obj/effect/floor_decal/industrial/warning/corner{dir = 4},/turf/simulated/floor/tiled/dark,/area/hallway/primary/thirddeck/central) +"dxE" = (/obj/effect/floor_decal/industrial/warning{icon_state = "warning"; dir = 1},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor/tiled/dark,/area/hallway/primary/thirddeck/central) +"dxF" = (/obj/effect/floor_decal/industrial/warning/corner{dir = 1},/turf/simulated/floor/tiled/dark,/area/hallway/primary/thirddeck/central) +"dxG" = (/obj/structure/sign/warning/lethal_turrets,/turf/simulated/wall/r_wall,/area/ai/ai_cyborg_station) +"dxH" = (/obj/machinery/ai_status_display,/turf/simulated/wall/r_wall,/area/ai/ai_cyborg_station) +"dxI" = (/obj/structure/closet/secure_closet/CMO/wardrobe,/turf/simulated/floor/carpet/blue,/area/crew_quarters/heads/sc/cmo/quarters) +"dxJ" = (/obj/structure/table/standard,/obj/machinery/atmospherics/unary/vent_pump/on,/turf/simulated/floor/carpet/blue,/area/crew_quarters/heads/sc/cmo/quarters) +"dxK" = (/obj/structure/table/standard,/obj/item/device/flashlight/lamp/green,/obj/item/device/radio/intercom{dir = 4; name = "Station Intercom (General)"; pixel_x = 21},/turf/simulated/floor/carpet/blue,/area/crew_quarters/heads/sc/cmo/quarters) +"dxL" = (/turf/simulated/wall,/area/crew_quarters/heads/sc/cmo/quarters) +"dxM" = (/obj/structure/table/standard,/obj/item/device/flashlight/lamp/green,/obj/item/device/radio/intercom{dir = 8; name = "Station Intercom (General)"; pixel_x = -21},/turf/simulated/floor/carpet,/area/crew_quarters/heads/sc/hor/quarters) +"dxN" = (/obj/structure/table/standard,/obj/machinery/atmospherics/unary/vent_pump/on,/turf/simulated/floor/carpet,/area/crew_quarters/heads/sc/hor/quarters) +"dxO" = (/obj/structure/closet/secure_closet/RD/wardrobe,/turf/simulated/floor/carpet,/area/crew_quarters/heads/sc/hor/quarters) +"dxP" = (/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/light/small{dir = 4; pixel_y = 0},/obj/machinery/atmospherics/pipe/simple/hidden,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor/plating,/area/maintenance/thirddeck/forestarboard) +"dxQ" = (/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden,/turf/simulated/floor/plating,/area/maintenance/thirddeck/foreport) +"dxR" = (/obj/structure/closet,/obj/item/weapon/storage/backpack,/obj/random/maintenance/clean,/obj/random/maintenance/cargo,/turf/simulated/floor/plating,/area/maintenance/thirddeck/foreport) +"dxS" = (/obj/structure/cable/green{d2 = 4; icon_state = "0-4"},/obj/machinery/power/apc{dir = 8; name = "west bump"; pixel_x = -24},/obj/machinery/light_switch{pixel_x = -36; pixel_y = -6},/obj/machinery/button/windowtint{id = "hopquarters"; pixel_x = -36; pixel_y = 6},/turf/simulated/floor/carpet,/area/crew_quarters/heads/sc/hop/quarters) +"dxT" = (/obj/structure/bed/chair/office/dark{dir = 1},/obj/structure/cable/green{d1 = 2; d2 = 8; icon_state = "2-8"},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor/carpet,/area/crew_quarters/heads/sc/hop/quarters) +"dxU" = (/obj/structure/table/standard,/obj/machinery/light{dir = 4; icon_state = "tube1"},/obj/item/weapon/paper_bin{pixel_x = -3; pixel_y = 7},/obj/item/weapon/folder/blue_hop,/obj/item/weapon/pen/multi,/obj/machinery/computer/security/telescreen/entertainment{icon_state = "frame"; pixel_x = 32; pixel_y = 0},/turf/simulated/floor/carpet,/area/crew_quarters/heads/sc/hop/quarters) +"dxV" = (/obj/structure/cable/green{d2 = 2; icon_state = "0-2"},/obj/structure/cable/green,/obj/machinery/power/sensor{name = "Powernet Sensor - Command Subgrid"; name_tag = "Command Subgrid"},/obj/machinery/light/small{dir = 8},/obj/structure/disposalpipe/segment,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 6},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 6},/obj/effect/floor_decal/industrial/warning/corner,/turf/simulated/floor,/area/maintenance/substation/command) +"dxW" = (/obj/structure/cable{icon_state = "0-4"; d2 = 4},/obj/machinery/power/terminal,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/effect/floor_decal/industrial/warning,/obj/effect/floor_decal/industrial/warning/corner{icon_state = "warningcorner"; dir = 4},/turf/simulated/floor,/area/maintenance/substation/command) +"dxX" = (/obj/structure/cable{d1 = 1; d2 = 8; icon_state = "1-8"},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 9},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 9; pixel_y = 0},/obj/machinery/alarm{dir = 8; pixel_x = 22; pixel_y = 0},/obj/effect/floor_decal/industrial/warning,/obj/effect/floor_decal/industrial/warning{icon_state = "warning"; dir = 1},/turf/simulated/floor,/area/maintenance/substation/command) +"dxY" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 6},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 6},/turf/simulated/floor/tiled,/area/hallway/primary/thirddeck/central) +"dxZ" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/turf/simulated/floor/tiled,/area/hallway/primary/thirddeck/central) +"dya" = (/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{dir = 1},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/turf/simulated/floor/tiled,/area/hallway/primary/thirddeck/central) +"dyb" = (/obj/machinery/hologram/holopad,/obj/effect/floor_decal/industrial/outline/grey,/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers,/obj/machinery/atmospherics/pipe/manifold/hidden/supply,/turf/simulated/floor/tiled,/area/hallway/primary/thirddeck/central) +"dyc" = (/obj/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 1},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor/tiled,/area/hallway/primary/thirddeck/central) +"dyd" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 10},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 10},/turf/simulated/floor/tiled,/area/hallway/primary/thirddeck/central) +"dye" = (/obj/structure/cable/green{d2 = 4; icon_state = "0-4"},/obj/machinery/power/apc{dir = 8; name = "west bump"; pixel_x = -24},/obj/machinery/light_switch{pixel_x = -36; pixel_y = -6},/obj/machinery/button/windowtint{id = "cmoquarters"; pixel_x = -36; pixel_y = 6},/turf/simulated/floor/carpet/blue,/area/crew_quarters/heads/sc/cmo/quarters) +"dyf" = (/obj/structure/bed/chair/office/dark{dir = 1},/obj/structure/cable/green{d1 = 2; d2 = 8; icon_state = "2-8"},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor/carpet/blue,/area/crew_quarters/heads/sc/cmo/quarters) +"dyg" = (/obj/structure/table/standard,/obj/machinery/light{dir = 4; icon_state = "tube1"},/obj/item/weapon/paper_bin{pixel_x = -3; pixel_y = 7},/obj/item/weapon/folder/white_cmo,/obj/item/weapon/pen/multi,/obj/machinery/computer/security/telescreen/entertainment{icon_state = "frame"; pixel_x = 32; pixel_y = 0},/turf/simulated/floor/carpet/blue,/area/crew_quarters/heads/sc/cmo/quarters) +"dyh" = (/obj/structure/table/standard,/obj/machinery/light{icon_state = "tube1"; dir = 8},/obj/item/weapon/paper_bin{pixel_x = -3; pixel_y = 7},/obj/item/weapon/folder/white_rd,/obj/item/weapon/pen/multi,/obj/machinery/computer/security/telescreen/entertainment{icon_state = "frame"; pixel_x = -32; pixel_y = 0},/turf/simulated/floor/carpet,/area/crew_quarters/heads/sc/hor/quarters) +"dyi" = (/obj/structure/bed/chair/office/dark{dir = 1},/obj/structure/cable/green{d1 = 2; d2 = 4; icon_state = "2-4"},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor/carpet,/area/crew_quarters/heads/sc/hor/quarters) +"dyj" = (/obj/machinery/power/apc{dir = 4; name = "east bump"; pixel_x = 24},/obj/structure/cable/green{d2 = 8; icon_state = "0-8"},/obj/machinery/light_switch{pixel_x = 36; pixel_y = -6},/obj/machinery/button/windowtint{id = "rdquarters"; pixel_x = 36; pixel_y = 6},/turf/simulated/floor/carpet,/area/crew_quarters/heads/sc/hor/quarters) +"dyk" = (/obj/structure/closet/crate,/obj/item/clothing/mask/gas,/obj/item/device/flashlight,/obj/item/device/flashlight,/obj/effect/decal/cleanable/dirt,/obj/random/maintenance/research,/obj/random/maintenance/research,/obj/random/maintenance/cargo,/obj/random/maintenance/cargo,/turf/simulated/floor/plating,/area/maintenance/thirddeck/forestarboard) +"dyl" = (/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/simple/hidden,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor/plating,/area/maintenance/thirddeck/forestarboard) +"dym" = (/obj/machinery/door/firedoor/border_only,/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/door/airlock/maintenance{name = "Maintenance Access"; req_one_access = list(12,19)},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden,/turf/simulated/floor/plating,/area/maintenance/thirddeck/foreport) +"dyn" = (/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 4},/obj/machinery/alarm{dir = 4; pixel_x = -22; pixel_y = 0},/turf/simulated/floor/carpet,/area/crew_quarters/heads/sc/hop/quarters) +"dyo" = (/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 10},/turf/simulated/floor/carpet,/area/crew_quarters/heads/sc/hop/quarters) +"dyp" = (/obj/structure/bed/padded,/obj/item/weapon/bedsheet/hop,/obj/machinery/firealarm{dir = 4; pixel_x = 24},/turf/simulated/floor/carpet,/area/crew_quarters/heads/sc/hop/quarters) +"dyq" = (/obj/structure/cable/green{d1 = 1; d2 = 4; icon_state = "1-4"},/obj/structure/cable/green{d1 = 2; d2 = 4; icon_state = "2-4"},/obj/structure/disposalpipe/segment,/obj/machinery/firealarm{dir = 8; pixel_x = -24},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/effect/floor_decal/industrial/warning{icon_state = "warning"; dir = 4},/turf/simulated/floor,/area/maintenance/substation/command) +"dyr" = (/obj/structure/cable/green{d2 = 4; icon_state = "0-4"},/obj/structure/cable/green{d2 = 8; icon_state = "0-8"},/obj/machinery/power/smes/buildable{charge = 0; RCon_tag = "Substation - Command"},/turf/simulated/floor,/area/maintenance/substation/command) +"dys" = (/obj/machinery/power/breakerbox/activated{RCon_tag = "Command Substation Bypass"},/turf/simulated/floor,/area/maintenance/substation/command) +"dyt" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor/tiled,/area/hallway/primary/thirddeck/central) +"dyu" = (/turf/simulated/floor/tiled,/area/hallway/primary/thirddeck/central) +"dyv" = (/obj/effect/floor_decal/corner/blue,/turf/simulated/floor/tiled,/area/hallway/primary/thirddeck/central) +"dyw" = (/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 1},/obj/effect/floor_decal/corner/blue{dir = 10},/obj/machinery/light,/turf/simulated/floor/tiled,/area/hallway/primary/thirddeck/central) +"dyx" = (/obj/effect/floor_decal/corner/blue{dir = 10},/turf/simulated/floor/tiled,/area/hallway/primary/thirddeck/central) +"dyy" = (/obj/effect/floor_decal/corner/blue{dir = 10},/obj/machinery/camera/network/third_deck{c_tag = "Third Deck - Central Fore"; dir = 1},/turf/simulated/floor/tiled,/area/hallway/primary/thirddeck/central) +"dyz" = (/obj/machinery/firealarm{dir = 1; pixel_y = -24},/obj/effect/floor_decal/corner/blue{dir = 10},/turf/simulated/floor/tiled,/area/hallway/primary/thirddeck/central) +"dyA" = (/obj/machinery/atmospherics/unary/vent_pump/on{dir = 1},/obj/effect/floor_decal/corner/blue{dir = 10},/obj/machinery/light,/turf/simulated/floor/tiled,/area/hallway/primary/thirddeck/central) +"dyB" = (/obj/effect/floor_decal/corner/blue{dir = 8},/turf/simulated/floor/tiled,/area/hallway/primary/thirddeck/central) +"dyC" = (/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 4},/obj/machinery/alarm{dir = 4; pixel_x = -22; pixel_y = 0},/turf/simulated/floor/carpet/blue,/area/crew_quarters/heads/sc/cmo/quarters) +"dyD" = (/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 10},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor/carpet/blue,/area/crew_quarters/heads/sc/cmo/quarters) +"dyE" = (/obj/structure/bed/padded,/obj/item/weapon/bedsheet/medical,/obj/machinery/firealarm{dir = 4; pixel_x = 24},/turf/simulated/floor/carpet/blue,/area/crew_quarters/heads/sc/cmo/quarters) +"dyF" = (/obj/structure/bed/padded,/obj/item/weapon/bedsheet/rd,/obj/machinery/firealarm{dir = 8; pixel_x = -24},/turf/simulated/floor/carpet,/area/crew_quarters/heads/sc/hor/quarters) +"dyG" = (/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 6},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor/carpet,/area/crew_quarters/heads/sc/hor/quarters) +"dyH" = (/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 8},/obj/machinery/alarm{dir = 8; pixel_x = 22; pixel_y = 0},/turf/simulated/floor/carpet,/area/crew_quarters/heads/sc/hor/quarters) +"dyI" = (/obj/machinery/door/firedoor/border_only,/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/door/airlock/maintenance{name = "Maintenance Access"; req_one_access = list(12,19)},/obj/machinery/atmospherics/pipe/simple/hidden,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor/plating,/area/maintenance/thirddeck/forestarboard) +"dyJ" = (/turf/simulated/wall/r_wall,/area/hallway/primary/thirddeck/port) +"dyK" = (/obj/machinery/atmospherics/pipe/simple/hidden{dir = 6},/turf/simulated/wall/r_wall,/area/hallway/primary/thirddeck/port) +"dyL" = (/obj/machinery/atmospherics/pipe/manifold/hidden{dir = 1; icon_state = "map"; tag = "icon-manifold-f (NORTH)"},/turf/simulated/wall/r_wall,/area/hallway/primary/thirddeck/port) +"dyM" = (/obj/machinery/atmospherics/pipe/simple/hidden{dir = 4},/turf/simulated/wall/r_wall,/area/hallway/primary/thirddeck/port) +"dyN" = (/obj/machinery/firealarm{pixel_y = 24},/obj/effect/floor_decal/industrial/warning/corner{dir = 8},/obj/machinery/atmospherics/pipe/simple/hidden{dir = 4},/turf/simulated/floor/tiled,/area/hallway/primary/thirddeck/port) +"dyO" = (/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/manifold/hidden{dir = 4; icon_state = "map"; tag = "icon-manifold-f (EAST)"},/turf/simulated/floor/tiled,/area/hallway/primary/thirddeck/port) +"dyP" = (/obj/machinery/atmospherics/unary/vent_scrubber/on,/turf/simulated/floor/tiled,/area/hallway/primary/thirddeck/port) +"dyQ" = (/obj/machinery/ai_status_display,/turf/simulated/wall/r_wall,/area/hallway/primary/thirddeck/port) +"dyR" = (/obj/machinery/door/firedoor/border_only,/obj/effect/wingrille_spawn/reinforced,/turf/simulated/floor/plating,/area/hallway/primary/thirddeck/port) +"dyS" = (/obj/machinery/door/firedoor/border_only,/obj/effect/wingrille_spawn/reinforced/polarized{id = "hopquarters"},/turf/simulated/floor/plating,/area/crew_quarters/heads/sc/hop/quarters) +"dyT" = (/obj/machinery/door/firedoor/border_only,/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/door/airlock/command{name = "Head of Personnel Quarters"; req_access = list(57)},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor/carpet,/area/crew_quarters/heads/sc/hop/quarters) +"dyU" = (/turf/simulated/wall,/area/crew_quarters/heads/sc/hop/quarters) +"dyV" = (/obj/machinery/door/firedoor/border_only,/obj/structure/disposalpipe/segment,/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/door/airlock/engineering{name = "Command Substation"; req_one_access = list(11,19,24,47)},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor,/area/maintenance/substation/command) +"dyW" = (/obj/machinery/ai_status_display,/turf/simulated/wall/r_wall,/area/maintenance/substation/command) +"dyX" = (/turf/simulated/wall/r_wall,/area/hallway/primary/thirddeck/central) +"dyY" = (/obj/machinery/status_display,/turf/simulated/wall/r_wall,/area/crew_quarters/heads/sc/cmo/quarters) +"dyZ" = (/obj/machinery/door/firedoor/border_only,/obj/effect/wingrille_spawn/reinforced/polarized{id = "cmoquarters"},/turf/simulated/floor/plating,/area/crew_quarters/heads/sc/cmo/quarters) +"dza" = (/obj/machinery/door/firedoor/border_only,/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/door/airlock/command{id_tag = null; name = "CMO's Quarters"; req_access = list(40)},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor/carpet/blue,/area/crew_quarters/heads/sc/cmo/quarters) +"dzb" = (/turf/simulated/wall,/area/crew_quarters/heads/sc/hor/quarters) +"dzc" = (/obj/machinery/door/firedoor/border_only,/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/door/airlock/command{id_tag = null; name = "Research Director Quarters"; req_access = list(30)},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor/carpet,/area/crew_quarters/heads/sc/hor/quarters) +"dzd" = (/obj/machinery/door/firedoor/border_only,/obj/effect/wingrille_spawn/reinforced/polarized{id = "rdquarters"},/turf/simulated/floor/plating,/area/crew_quarters/heads/sc/hor/quarters) +"dze" = (/obj/machinery/door/firedoor/border_only,/obj/effect/wingrille_spawn/reinforced,/turf/simulated/floor/plating,/area/hallway/primary/thirddeck/starboard) +"dzf" = (/obj/machinery/ai_status_display,/turf/simulated/wall/r_wall,/area/hallway/primary/thirddeck/starboard) +"dzg" = (/obj/machinery/atmospherics/unary/vent_scrubber/on,/turf/simulated/floor/tiled,/area/hallway/primary/thirddeck/starboard) +"dzh" = (/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/manifold/hidden{dir = 8; icon_state = "map"; tag = "icon-manifold-f (WEST)"},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor/tiled,/area/hallway/primary/thirddeck/starboard) +"dzi" = (/obj/machinery/firealarm{pixel_y = 24},/obj/effect/floor_decal/industrial/warning/corner,/obj/machinery/atmospherics/pipe/simple/hidden{tag = "icon-intact (EAST)"; icon_state = "intact"; dir = 4},/turf/simulated/floor/tiled,/area/hallway/primary/thirddeck/starboard) +"dzj" = (/obj/machinery/atmospherics/pipe/simple/hidden{tag = "icon-intact (EAST)"; icon_state = "intact"; dir = 4},/turf/simulated/wall/r_wall,/area/hallway/primary/thirddeck/starboard) +"dzk" = (/obj/machinery/atmospherics/pipe/manifold/hidden{dir = 1; icon_state = "map"; tag = "icon-manifold-f (NORTH)"},/turf/simulated/wall/r_wall,/area/hallway/primary/thirddeck/starboard) +"dzl" = (/obj/machinery/atmospherics/pipe/simple/hidden{dir = 10; icon_state = "intact"; tag = "icon-intact-f (SOUTHWEST)"},/turf/simulated/wall/r_wall,/area/hallway/primary/thirddeck/starboard) +"dzm" = (/turf/simulated/wall/r_wall,/area/hallway/primary/thirddeck/starboard) +"dzn" = (/obj/effect/floor_decal/industrial/warning{icon_state = "warning"; dir = 4},/obj/machinery/light/small{dir = 1},/turf/simulated/floor/airless,/area/hallway/primary/thirddeck/port) +"dzo" = (/obj/machinery/door/airlock/external{frequency = 1379; icon_state = "door_locked"; id_tag = "d3_port_outer"; locked = 1; name = "External Airlock Access"; req_access = list(13)},/turf/simulated/floor/tiled/dark,/area/hallway/primary/thirddeck/port) +"dzp" = (/obj/effect/floor_decal/industrial/warning{icon_state = "warning"; dir = 9},/obj/machinery/atmospherics/unary/vent_pump/high_volume{dir = 1; frequency = 1379; id_tag = "d3_port_pump"},/obj/machinery/airlock_sensor{frequency = 1379; id_tag = "d3_port_sensor"; pixel_x = 0; pixel_y = 25},/turf/simulated/floor/tiled,/area/hallway/primary/thirddeck/port) +"dzq" = (/obj/structure/sign/warning/airlock{pixel_y = 32},/obj/effect/floor_decal/industrial/warning{icon_state = "warning"; dir = 5},/obj/machinery/atmospherics/unary/vent_pump/high_volume{dir = 1; frequency = 1379; id_tag = "d3_port_pump"},/turf/simulated/floor/tiled,/area/hallway/primary/thirddeck/port) +"dzr" = (/obj/machinery/door/airlock/glass_external{frequency = 1379; icon_state = "door_locked"; id_tag = "crg_aft__inner"; locked = 1; name = "Internal Airlock Access"; req_access = list(13)},/turf/simulated/floor/tiled/dark,/area/hallway/primary/thirddeck/port) +"dzs" = (/obj/effect/floor_decal/industrial/warning{icon_state = "warning"; dir = 8},/obj/machinery/access_button{command = "cycle_interior"; frequency = 1379; master_tag = "d3_port_airlock"; name = "interior access button"; pixel_x = -25; pixel_y = 26; req_access = list(18)},/turf/simulated/floor/tiled,/area/hallway/primary/thirddeck/port) +"dzt" = (/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden,/turf/simulated/floor/tiled,/area/hallway/primary/thirddeck/port) +"dzu" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor/tiled,/area/hallway/primary/thirddeck/port) +"dzv" = (/obj/machinery/door/firedoor/glass,/obj/machinery/door/airlock/glass{name = "Central Access"},/turf/simulated/floor/tiled,/area/hallway/primary/thirddeck/port) +"dzw" = (/turf/simulated/floor/tiled,/area/hallway/primary/thirddeck/port) +"dzx" = (/obj/effect/floor_decal/corner/blue{dir = 4},/turf/simulated/floor/tiled,/area/hallway/primary/thirddeck/port) +"dzy" = (/obj/machinery/power/apc{dir = 1; name = "north bump"; pixel_x = 0; pixel_y = 24},/obj/structure/cable/green{d2 = 2; icon_state = "0-2"},/obj/effect/floor_decal/corner/blue{dir = 5},/turf/simulated/floor/tiled,/area/hallway/primary/thirddeck/port) +"dzz" = (/obj/effect/floor_decal/corner/blue{dir = 1},/turf/simulated/floor/tiled,/area/hallway/primary/thirddeck/port) +"dzA" = (/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor/tiled,/area/hallway/primary/thirddeck/port) +"dzB" = (/obj/machinery/camera/network/third_deck{c_tag = "Third Deck - Port Hallway One"},/turf/simulated/floor/tiled,/area/hallway/primary/thirddeck/port) +"dzC" = (/obj/machinery/firealarm{pixel_y = 24},/obj/machinery/atmospherics/unary/vent_scrubber/on,/obj/effect/floor_decal/industrial/warning/corner{icon_state = "warningcorner"; dir = 4},/turf/simulated/floor/tiled,/area/hallway/primary/thirddeck/port) +"dzD" = (/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/structure/disposalpipe/segment{dir = 1; icon_state = "pipe-c"},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/effect/floor_decal/industrial/warning{icon_state = "warning"; dir = 1},/turf/simulated/floor/tiled,/area/hallway/primary/thirddeck/port) +"dzE" = (/obj/structure/sign/warning/high_voltage{pixel_y = 32},/obj/structure/disposalpipe/segment{dir = 4},/obj/effect/floor_decal/industrial/warning/corner{icon_state = "warningcorner"; dir = 1},/turf/simulated/floor/tiled,/area/hallway/primary/thirddeck/port) +"dzF" = (/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor/tiled,/area/hallway/primary/thirddeck/port) +"dzG" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/machinery/door/firedoor/glass,/obj/machinery/door/airlock/glass{name = "Central Access"},/turf/simulated/floor/tiled,/area/hallway/primary/thirddeck/port) +"dzH" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 8},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor/tiled,/area/hallway/primary/thirddeck/central) +"dzI" = (/obj/structure/disposalpipe/segment{dir = 2; icon_state = "pipe-c"},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/effect/floor_decal/corner/blue{dir = 6},/turf/simulated/floor/tiled,/area/hallway/primary/thirddeck/central) +"dzJ" = (/obj/machinery/atmospherics/unary/vent_pump/on{dir = 8},/obj/structure/flora/pottedplant/fern,/turf/simulated/floor/tiled/dark,/area/hallway/primary/thirddeck/central) +"dzK" = (/turf/unsimulated/mask,/area/hallway/primary/thirddeck/central) +"dzL" = (/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 4},/obj/structure/flora/pottedplant/stoutbush,/turf/simulated/floor/tiled/dark,/area/hallway/primary/thirddeck/central) +"dzM" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/effect/floor_decal/corner/blue{dir = 9},/turf/simulated/floor/tiled,/area/hallway/primary/thirddeck/central) +"dzN" = (/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor/tiled,/area/hallway/primary/thirddeck/central) +"dzO" = (/obj/machinery/door/firedoor/glass,/obj/machinery/door/airlock/glass{name = "Central Access"},/turf/simulated/floor/tiled,/area/hallway/primary/thirddeck/starboard) +"dzP" = (/turf/simulated/floor/tiled,/area/hallway/primary/thirddeck/starboard) +"dzQ" = (/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor/tiled,/area/hallway/primary/thirddeck/starboard) +"dzR" = (/obj/effect/floor_decal/corner/blue{dir = 4},/turf/simulated/floor/tiled,/area/hallway/primary/thirddeck/starboard) +"dzS" = (/obj/machinery/alarm{pixel_y = 22},/obj/effect/floor_decal/corner/blue{dir = 5},/turf/simulated/floor/tiled,/area/hallway/primary/thirddeck/starboard) +"dzT" = (/obj/effect/floor_decal/corner/blue{dir = 1},/obj/machinery/camera/network/third_deck{c_tag = "Third Deck - Starboard Hallway One"},/turf/simulated/floor/tiled,/area/hallway/primary/thirddeck/starboard) +"dzU" = (/obj/machinery/atmospherics/unary/vent_pump/on,/obj/effect/floor_decal/corner/blue{dir = 4},/turf/simulated/floor/tiled,/area/hallway/primary/thirddeck/starboard) +"dzV" = (/obj/effect/floor_decal/corner/blue{dir = 5},/obj/machinery/light{dir = 1},/turf/simulated/floor/tiled,/area/hallway/primary/thirddeck/starboard) +"dzW" = (/obj/effect/floor_decal/corner/blue{dir = 1},/turf/simulated/floor/tiled,/area/hallway/primary/thirddeck/starboard) +"dzX" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor/tiled,/area/hallway/primary/thirddeck/starboard) +"dzY" = (/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/simple/hidden,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor/tiled,/area/hallway/primary/thirddeck/starboard) +"dzZ" = (/obj/effect/floor_decal/industrial/warning{icon_state = "warning"; dir = 4},/obj/machinery/access_button{command = "cycle_interior"; frequency = 1379; master_tag = "d3_starboard_airlock"; name = "interior access button"; pixel_x = 25; pixel_y = 26; req_access = list(18)},/turf/simulated/floor/tiled,/area/hallway/primary/thirddeck/starboard) +"dAa" = (/obj/machinery/door/airlock/glass_external{frequency = 1379; icon_state = "door_locked"; id_tag = "d3_starboard_inner"; locked = 1; name = "Internal Airlock Access"; req_access = list(13)},/turf/simulated/floor/tiled/dark,/area/hallway/primary/thirddeck/starboard) +"dAb" = (/obj/structure/sign/warning/airlock{pixel_y = 32},/obj/effect/floor_decal/industrial/warning{icon_state = "warning"; dir = 9},/obj/machinery/atmospherics/unary/vent_pump/high_volume{dir = 1; frequency = 1379; id_tag = "d3_starboard_pump"},/turf/simulated/floor/tiled,/area/hallway/primary/thirddeck/starboard) +"dAc" = (/obj/effect/floor_decal/industrial/warning{icon_state = "warning"; dir = 5},/obj/machinery/atmospherics/unary/vent_pump/high_volume{dir = 1; frequency = 1379; id_tag = "d3_starboard_pump"},/obj/machinery/airlock_sensor{frequency = 1379; id_tag = "d3_starboard_sensor"; pixel_x = 0; pixel_y = 25},/turf/simulated/floor/tiled,/area/hallway/primary/thirddeck/starboard) +"dAd" = (/obj/machinery/door/airlock/external{frequency = 1379; icon_state = "door_locked"; id_tag = "d3_starboard_outer"; locked = 1; name = "External Airlock Access"; req_access = list(13)},/turf/simulated/floor/tiled/dark,/area/hallway/primary/thirddeck/starboard) +"dAe" = (/obj/machinery/light/small{dir = 1},/obj/effect/floor_decal/industrial/warning{icon_state = "warning"; dir = 8},/turf/simulated/floor/airless,/area/hallway/primary/thirddeck/starboard) +"dAf" = (/obj/effect/floor_decal/industrial/warning{icon_state = "warning"; dir = 4},/obj/machinery/access_button{command = "cycle_exterior"; frequency = 1379; master_tag = "d3_port_airlock"; name = "exterior access button"; pixel_x = 25; pixel_y = -26; req_access = list(18)},/turf/simulated/floor/airless,/area/hallway/primary/thirddeck/port) +"dAg" = (/obj/effect/floor_decal/industrial/warning{dir = 10},/obj/machinery/embedded_controller/radio/airlock/airlock_controller{frequency = 1379; id_tag = "d3_port_airlock"; pixel_x = 0; pixel_y = -26; req_access = list(18); tag_airpump = "d3_port_pump"; tag_chamber_sensor = "d3_port_sensor"; tag_exterior_door = "d3_port_outer"; tag_interior_door = "d3_port_inner"},/obj/machinery/atmospherics/unary/vent_pump/high_volume{dir = 2; frequency = 1379; id_tag = "d3_port_pump"},/turf/simulated/floor/tiled,/area/hallway/primary/thirddeck/port) +"dAh" = (/obj/effect/floor_decal/industrial/warning{dir = 6},/obj/machinery/atmospherics/unary/vent_pump/high_volume{dir = 2; frequency = 1379; id_tag = "d3_port_pump"},/obj/machinery/light/small,/turf/simulated/floor/tiled,/area/hallway/primary/thirddeck/port) +"dAi" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 6},/obj/effect/floor_decal/industrial/warning{icon_state = "warning"; dir = 8},/turf/simulated/floor/tiled,/area/hallway/primary/thirddeck/port) +"dAj" = (/obj/structure/cable/green{d1 = 1; d2 = 4; icon_state = "1-4"},/obj/structure/cable/green{d1 = 2; d2 = 4; icon_state = "2-4"},/obj/machinery/atmospherics/pipe/manifold/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden,/turf/simulated/floor/tiled,/area/hallway/primary/thirddeck/port) +"dAk" = (/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 5},/obj/machinery/camera/network/third_deck{c_tag = "Third Deck - Port Hallway Two"; dir = 8},/turf/simulated/floor/tiled,/area/hallway/primary/thirddeck/port) +"dAl" = (/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/door/firedoor/border_only,/obj/effect/wingrille_spawn/reinforced,/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor/plating,/area/hallway/primary/thirddeck/port) +"dAm" = (/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor/tiled,/area/hallway/primary/thirddeck/port) +"dAn" = (/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/structure/cable/green{d1 = 1; d2 = 4; icon_state = "1-4"},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor/tiled,/area/hallway/primary/thirddeck/port) +"dAo" = (/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 1},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor/tiled,/area/hallway/primary/thirddeck/port) +"dAp" = (/obj/structure/cable/green{d1 = 1; d2 = 4; icon_state = "1-4"},/obj/structure/cable/green{d1 = 2; d2 = 4; icon_state = "2-4"},/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/atmospherics/pipe/manifold4w/hidden/scrubbers,/obj/machinery/atmospherics/pipe/manifold4w/hidden/supply,/turf/simulated/floor/tiled,/area/hallway/primary/thirddeck/port) +"dAq" = (/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/turf/simulated/floor/tiled,/area/hallway/primary/thirddeck/port) +"dAr" = (/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/turf/simulated/floor/tiled,/area/hallway/primary/thirddeck/port) +"dAs" = (/obj/structure/cable/green{d1 = 1; d2 = 4; icon_state = "1-4"},/obj/structure/cable/green{d1 = 1; d2 = 8; icon_state = "1-8"},/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers,/obj/machinery/atmospherics/pipe/manifold/hidden/supply,/turf/simulated/floor/tiled,/area/hallway/primary/thirddeck/port) +"dAt" = (/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/structure/cable/green{d1 = 2; d2 = 8; icon_state = "2-8"},/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{dir = 1},/obj/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 1},/turf/simulated/floor/tiled,/area/hallway/primary/thirddeck/port) +"dAu" = (/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/light{dir = 4},/turf/simulated/floor/tiled,/area/hallway/primary/thirddeck/port) +"dAv" = (/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/door/firedoor/border_only,/obj/effect/wingrille_spawn/reinforced,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/turf/simulated/floor/plating,/area/hallway/primary/thirddeck/port) +"dAw" = (/obj/structure/cable/green{d1 = 2; d2 = 8; icon_state = "2-8"},/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{dir = 4},/obj/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 4},/obj/machinery/light{dir = 8; icon_state = "tube1"; pixel_y = 0},/turf/simulated/floor/tiled,/area/hallway/primary/thirddeck/central) +"dAx" = (/obj/structure/disposalpipe/segment,/obj/effect/floor_decal/corner/blue{dir = 6},/turf/simulated/floor/tiled,/area/hallway/primary/thirddeck/central) +"dAy" = (/obj/structure/closet/emcloset,/turf/simulated/floor/tiled/dark,/area/hallway/primary/thirddeck/central) +"dAz" = (/obj/effect/floor_decal/corner/blue{dir = 9},/turf/simulated/floor/tiled,/area/hallway/primary/thirddeck/central) +"dAA" = (/obj/structure/cable/green{d1 = 2; d2 = 4; icon_state = "2-4"},/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{dir = 8},/obj/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 8},/obj/machinery/light{dir = 4},/turf/simulated/floor/tiled,/area/hallway/primary/thirddeck/central) +"dAB" = (/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/door/firedoor/border_only,/obj/effect/wingrille_spawn/reinforced,/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor/plating,/area/hallway/primary/thirddeck/starboard) +"dAC" = (/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/light{dir = 8; icon_state = "tube1"; pixel_y = 0},/turf/simulated/floor/tiled,/area/hallway/primary/thirddeck/starboard) +"dAD" = (/obj/structure/cable/green{d1 = 1; d2 = 8; icon_state = "1-8"},/obj/structure/cable/green{d1 = 2; d2 = 8; icon_state = "2-8"},/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/atmospherics/pipe/manifold4w/hidden/scrubbers,/obj/machinery/atmospherics/pipe/manifold4w/hidden/supply,/turf/simulated/floor/tiled,/area/hallway/primary/thirddeck/starboard) +"dAE" = (/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor/tiled,/area/hallway/primary/thirddeck/starboard) +"dAF" = (/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{dir = 1},/turf/simulated/floor/tiled,/area/hallway/primary/thirddeck/starboard) +"dAG" = (/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/atmospherics/pipe/manifold/hidden/supply,/turf/simulated/floor/tiled,/area/hallway/primary/thirddeck/starboard) +"dAH" = (/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/structure/cable/green{d1 = 2; d2 = 8; icon_state = "2-8"},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor/tiled,/area/hallway/primary/thirddeck/starboard) +"dAI" = (/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 9},/obj/machinery/camera/network/third_deck{c_tag = "Third Deck - Starboard Hallway Two"; dir = 4},/turf/simulated/floor/tiled,/area/hallway/primary/thirddeck/starboard) +"dAJ" = (/obj/structure/cable/green{d1 = 2; d2 = 8; icon_state = "2-8"},/obj/structure/cable/green{d1 = 1; d2 = 8; icon_state = "1-8"},/obj/machinery/atmospherics/pipe/simple/hidden,/obj/machinery/atmospherics/pipe/manifold4w/hidden/supply,/turf/simulated/floor/tiled,/area/hallway/primary/thirddeck/starboard) +"dAK" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 10},/obj/effect/floor_decal/industrial/warning{icon_state = "warning"; dir = 4},/turf/simulated/floor/tiled,/area/hallway/primary/thirddeck/starboard) +"dAL" = (/obj/effect/floor_decal/industrial/warning{dir = 10},/obj/machinery/light/small,/obj/machinery/atmospherics/unary/vent_pump/high_volume{dir = 2; frequency = 1379; id_tag = "d3_starboard_pump"},/turf/simulated/floor/tiled,/area/hallway/primary/thirddeck/starboard) +"dAM" = (/obj/effect/floor_decal/industrial/warning{dir = 6},/obj/machinery/atmospherics/unary/vent_pump/high_volume{dir = 2; frequency = 1379; id_tag = "d3_starboard_pump"},/obj/machinery/embedded_controller/radio/airlock/airlock_controller{frequency = 1379; id_tag = "d3_starboard_airlock"; pixel_x = 0; pixel_y = -26; req_access = list(18); tag_airpump = "d3_starboard_pump"; tag_chamber_sensor = "d3_starboard_sensor"; tag_exterior_door = "d3_starboard_outer"; tag_interior_door = "d3_starboard_inner"},/turf/simulated/floor/tiled,/area/hallway/primary/thirddeck/starboard) +"dAN" = (/obj/effect/floor_decal/industrial/warning{icon_state = "warning"; dir = 8},/obj/machinery/access_button{command = "cycle_exterior"; frequency = 1379; master_tag = "d3_starboard_airlock"; name = "exterior access button"; pixel_x = -25; pixel_y = -26; req_access = list(18)},/turf/simulated/floor/airless,/area/hallway/primary/thirddeck/starboard) +"dAO" = (/obj/machinery/atmospherics/pipe/simple/hidden{dir = 5; icon_state = "intact"; tag = "icon-intact-f (NORTHEAST)"},/turf/simulated/wall/r_wall,/area/hallway/primary/thirddeck/port) +"dAP" = (/obj/machinery/atmospherics/pipe/manifold/hidden,/turf/simulated/wall/r_wall,/area/hallway/primary/thirddeck/port) +"dAQ" = (/obj/structure/sign/deck/third,/obj/machinery/atmospherics/pipe/simple/hidden{dir = 4},/turf/simulated/wall/r_wall,/area/hallway/primary/thirddeck/port) +"dAR" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/effect/floor_decal/industrial/warning/corner{icon_state = "warningcorner"; dir = 1},/obj/machinery/atmospherics/pipe/simple/hidden{dir = 4},/obj/machinery/light{dir = 8; icon_state = "tube1"; pixel_y = 0},/turf/simulated/floor/tiled,/area/hallway/primary/thirddeck/port) +"dAS" = (/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/hologram/holopad,/obj/effect/floor_decal/industrial/outline/grey,/obj/machinery/atmospherics/pipe/manifold/hidden{dir = 4; icon_state = "map"; tag = "icon-manifold-f (EAST)"},/turf/simulated/floor/tiled,/area/hallway/primary/thirddeck/port) +"dAT" = (/obj/effect/floor_decal/corner/blue,/turf/simulated/floor/tiled,/area/hallway/primary/thirddeck/port) +"dAU" = (/obj/effect/floor_decal/corner/blue{dir = 10},/obj/machinery/light,/turf/simulated/floor/tiled,/area/hallway/primary/thirddeck/port) +"dAV" = (/obj/machinery/atmospherics/unary/vent_pump/on{dir = 1},/obj/effect/floor_decal/corner/blue{dir = 8},/turf/simulated/floor/tiled,/area/hallway/primary/thirddeck/port) +"dAW" = (/obj/machinery/alarm{dir = 1; icon_state = "alarm0"; pixel_y = -22},/obj/effect/floor_decal/corner/blue{dir = 10},/turf/simulated/floor/tiled,/area/hallway/primary/thirddeck/port) +"dAX" = (/obj/effect/floor_decal/corner/blue{dir = 8},/turf/simulated/floor/tiled,/area/hallway/primary/thirddeck/port) +"dAY" = (/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/structure/cable/green{d1 = 1; d2 = 4; icon_state = "1-4"},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor/tiled,/area/hallway/primary/thirddeck/central) +"dAZ" = (/obj/structure/disposalpipe/segment,/obj/structure/cable/green{d2 = 8; icon_state = "0-8"},/obj/machinery/power/apc{dir = 4; name = "east bump"; pixel_x = 24},/obj/effect/floor_decal/corner/blue{dir = 6},/turf/simulated/floor/tiled,/area/hallway/primary/thirddeck/central) +"dBa" = (/obj/machinery/alarm{dir = 4; icon_state = "alarm0"; pixel_x = -22; pixel_y = 0},/obj/effect/floor_decal/corner/blue{dir = 9},/turf/simulated/floor/tiled,/area/hallway/primary/thirddeck/central) +"dBb" = (/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor/tiled,/area/hallway/primary/thirddeck/central) +"dBc" = (/obj/effect/floor_decal/corner/blue,/turf/simulated/floor/tiled,/area/hallway/primary/thirddeck/starboard) +"dBd" = (/obj/machinery/firealarm{dir = 1; pixel_y = -24},/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 1},/obj/effect/floor_decal/corner/blue{dir = 10},/turf/simulated/floor/tiled,/area/hallway/primary/thirddeck/starboard) +"dBe" = (/obj/effect/floor_decal/corner/blue{dir = 8},/turf/simulated/floor/tiled,/area/hallway/primary/thirddeck/starboard) +"dBf" = (/obj/machinery/power/apc{dir = 2; name = "south bump"; pixel_y = -24},/obj/structure/cable/green,/obj/effect/floor_decal/corner/blue{dir = 10},/turf/simulated/floor/tiled,/area/hallway/primary/thirddeck/starboard) +"dBg" = (/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/hologram/holopad,/obj/effect/floor_decal/industrial/outline/grey,/obj/machinery/atmospherics/pipe/manifold/hidden{dir = 8; icon_state = "map"; tag = "icon-manifold-f (WEST)"},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor/tiled,/area/hallway/primary/thirddeck/starboard) +"dBh" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/effect/floor_decal/industrial/warning/corner{icon_state = "warningcorner"; dir = 4},/obj/machinery/light{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden{tag = "icon-intact (EAST)"; icon_state = "intact"; dir = 4},/turf/simulated/floor/tiled,/area/hallway/primary/thirddeck/starboard) +"dBi" = (/obj/structure/sign/deck/third,/obj/machinery/atmospherics/pipe/simple/hidden{tag = "icon-intact (EAST)"; icon_state = "intact"; dir = 4},/turf/simulated/wall/r_wall,/area/hallway/primary/thirddeck/starboard) +"dBj" = (/obj/machinery/atmospherics/pipe/manifold/hidden,/turf/simulated/wall/r_wall,/area/hallway/primary/thirddeck/starboard) +"dBk" = (/obj/machinery/atmospherics/pipe/simple/hidden{dir = 9; icon_state = "intact"; tag = "icon-intact-f (NORTHWEST)"},/turf/simulated/wall/r_wall,/area/hallway/primary/thirddeck/starboard) +"dBl" = (/turf/simulated/shuttle/wall,/area/shuttle/escape_pod7/station) +"dBm" = (/turf/simulated/shuttle/wall/no_join{base_state = "orange"; icon = 'icons/turf/shuttle_orange.dmi'; icon_state = "orange"},/area/shuttle/escape_pod7/station) +"dBn" = (/obj/structure/shuttle/engine/propulsion/burst{dir = 4},/turf/simulated/shuttle/wall,/area/shuttle/escape_pod7/station) +"dBo" = (/turf/simulated/wall,/area/hallway/primary/thirddeck/port) +"dBp" = (/obj/machinery/atmospherics/unary/vent_pump/on{dir = 1},/obj/effect/floor_decal/industrial/warning/corner{dir = 8},/turf/simulated/floor/tiled,/area/hallway/primary/thirddeck/port) +"dBq" = (/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/simple/hidden,/turf/simulated/floor/tiled,/area/hallway/primary/thirddeck/port) +"dBr" = (/obj/machinery/alarm{dir = 8; pixel_x = 25; pixel_y = 0},/obj/effect/floor_decal/corner/white,/turf/simulated/floor/tiled,/area/hallway/primary/thirddeck/port) +"dBs" = (/turf/simulated/wall/r_wall,/area/crew_quarters/heads/sc/restroom) +"dBt" = (/turf/simulated/wall,/area/crew_quarters/heads/sc/restroom) +"dBu" = (/obj/machinery/door/firedoor/border_only,/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/door/airlock/command{name = "Command Restroom"; req_access = list(19)},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor/tiled/freezer,/area/crew_quarters/heads/sc/restroom) +"dBv" = (/turf/simulated/wall/r_wall,/area/crew_quarters/heads/sc/chief/quarters) +"dBw" = (/turf/simulated/wall,/area/crew_quarters/heads/sc/chief/quarters) +"dBx" = (/obj/machinery/door/firedoor/border_only,/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/door/airlock/command{name = "Chief Engineer Quarters"; req_access = list(56)},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor/carpet,/area/crew_quarters/heads/sc/chief/quarters) +"dBy" = (/obj/machinery/door/firedoor/border_only,/obj/effect/wingrille_spawn/reinforced/polarized{id = "cequarters"},/turf/simulated/floor/plating,/area/crew_quarters/heads/sc/chief/quarters) +"dBz" = (/obj/machinery/status_display,/turf/simulated/wall/r_wall,/area/crew_quarters/heads/sc/chief/quarters) +"dBA" = (/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/camera/network/third_deck{c_tag = "Third Deck - Central Port"; dir = 4},/turf/simulated/floor/tiled,/area/hallway/primary/thirddeck/central) +"dBB" = (/obj/structure/table/glass,/turf/simulated/floor/tiled/dark,/area/hallway/primary/thirddeck/central) +"dBC" = (/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/camera/network/third_deck{c_tag = "Third Deck - Central Starboard"; dir = 8},/turf/simulated/floor/tiled,/area/hallway/primary/thirddeck/central) +"dBD" = (/obj/machinery/ai_status_display,/turf/simulated/wall/r_wall,/area/crew_quarters/heads/sc/hos/quarters) +"dBE" = (/obj/machinery/door/firedoor/border_only,/obj/effect/wingrille_spawn/reinforced/polarized{id = "hosquarters"},/turf/simulated/floor/plating,/area/crew_quarters/heads/sc/hos/quarters) +"dBF" = (/obj/machinery/door/firedoor/border_only,/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/door/airlock/command{id_tag = null; name = "Head of Security Quarters"; req_access = list(58)},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor/carpet,/area/crew_quarters/heads/sc/hos/quarters) +"dBG" = (/turf/simulated/wall,/area/crew_quarters/heads/sc/hos/quarters) +"dBH" = (/turf/simulated/wall/r_wall,/area/crew_quarters/heads/sc/hos/quarters) +"dBI" = (/turf/simulated/wall,/area/crew_quarters/heads/sc/bs) +"dBJ" = (/obj/machinery/door/firedoor/border_only,/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/door/airlock/command{name = "Secretary Quarters"; req_access = list(19)},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor/carpet/blue,/area/crew_quarters/heads/sc/bs) +"dBK" = (/obj/machinery/door/firedoor/border_only,/obj/effect/wingrille_spawn/reinforced/polarized{id = "bsquarters"},/turf/simulated/floor/plating,/area/crew_quarters/heads/sc/bs) +"dBL" = (/turf/simulated/wall/r_wall,/area/crew_quarters/heads/sc/bs) +"dBM" = (/obj/machinery/alarm{dir = 4; icon_state = "alarm0"; pixel_x = -22; pixel_y = 0},/obj/effect/floor_decal/corner/white{dir = 8},/turf/simulated/floor/tiled,/area/hallway/primary/thirddeck/starboard) +"dBN" = (/obj/machinery/atmospherics/unary/vent_pump/on{dir = 1},/obj/effect/floor_decal/industrial/warning/corner,/turf/simulated/floor/tiled,/area/hallway/primary/thirddeck/starboard) +"dBO" = (/turf/simulated/wall,/area/hallway/primary/thirddeck/starboard) +"dBP" = (/obj/structure/shuttle/engine/propulsion/burst{dir = 8},/turf/simulated/shuttle/wall,/area/shuttle/escape_pod8/station) +"dBQ" = (/turf/simulated/shuttle/wall,/area/shuttle/escape_pod8/station) +"dBR" = (/turf/simulated/shuttle/wall/no_join{base_state = "orange"; icon = 'icons/turf/shuttle_orange.dmi'; icon_state = "orange"},/area/shuttle/escape_pod8/station) +"dBS" = (/obj/structure/grille,/obj/structure/window/reinforced/full,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 4; health = 1e+006},/turf/simulated/shuttle/plating,/area/shuttle/escape_pod7/station) +"dBT" = (/obj/structure/bed/chair{dir = 8},/obj/machinery/light{icon_state = "tube1"; dir = 8},/obj/machinery/status_display{density = 0; layer = 4; pixel_x = 0; pixel_y = 32},/obj/machinery/embedded_controller/radio/simple_docking_controller/escape_pod{frequency = 1380; id_tag = "escape_pod_7"; pixel_x = 0; pixel_y = -25; tag_door = "escape_pod_7_hatch"},/turf/simulated/shuttle/floor,/area/shuttle/escape_pod7/station) +"dBU" = (/obj/structure/bed/chair{dir = 8},/obj/item/device/radio/intercom{dir = 1; name = "Station Intercom (General)"; pixel_y = 21},/obj/structure/closet/walllocker/emerglocker{pixel_y = -32},/turf/simulated/shuttle/floor,/area/shuttle/escape_pod7/station) +"dBV" = (/obj/structure/bed/chair{dir = 8},/obj/machinery/vending/wallmed1{name = "NanoMed Wall"; pixel_x = 0; pixel_y = -30},/turf/simulated/shuttle/floor,/area/shuttle/escape_pod7/station) +"dBW" = (/obj/machinery/door/airlock/external{frequency = 1380; icon_state = "door_locked"; id_tag = "escape_pod_7_hatch"; locked = 1; name = "Escape Pod Hatch 7"; req_access = list(13)},/turf/simulated/shuttle/floor,/area/shuttle/escape_pod7/station) +"dBX" = (/obj/machinery/door/airlock/glass_external{frequency = 1380; icon_state = "door_locked"; id_tag = "escape_pod_7_berth_hatch"; locked = 1; name = "Escape Pod 7"; req_access = list(13)},/turf/simulated/floor,/area/hallway/primary/thirddeck/port) +"dBY" = (/obj/effect/floor_decal/industrial/warning{icon_state = "warning"; dir = 8},/obj/machinery/embedded_controller/radio/simple_docking_controller/escape_pod_berth{frequency = 1380; id_tag = "escape_pod_7_berth"; pixel_x = -25; pixel_y = 30; tag_door = "escape_pod_7_berth_hatch"},/turf/simulated/floor/tiled,/area/hallway/primary/thirddeck/port) +"dBZ" = (/obj/effect/floor_decal/corner/white,/obj/effect/floor_decal/corner/red{dir = 4},/turf/simulated/floor/tiled,/area/hallway/primary/thirddeck/port) +"dCa" = (/obj/machinery/recharge_station,/obj/machinery/light/small{dir = 8},/turf/simulated/floor/tiled/freezer,/area/crew_quarters/heads/sc/restroom) +"dCb" = (/obj/machinery/door/airlock{name = "Unit 1"},/turf/simulated/floor/tiled/freezer,/area/crew_quarters/heads/sc/restroom) +"dCc" = (/obj/structure/sink{pixel_y = 16},/obj/structure/mirror{pixel_x = 0; pixel_y = 32},/turf/simulated/floor/tiled/freezer,/area/crew_quarters/heads/sc/restroom) +"dCd" = (/obj/structure/cable/green{d1 = 1; d2 = 4; icon_state = "1-4"},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor/tiled/freezer,/area/crew_quarters/heads/sc/restroom) +"dCe" = (/obj/structure/table/standard,/obj/machinery/power/apc{dir = 1; name = "north bump"; pixel_x = 0; pixel_y = 24},/obj/structure/cable/green{d2 = 8; icon_state = "0-8"},/obj/machinery/light_switch{pixel_x = 11; pixel_y = 24},/obj/item/device/radio/intercom{dir = 4; name = "Station Intercom (General)"; pixel_x = 21},/turf/simulated/floor/tiled/freezer,/area/crew_quarters/heads/sc/restroom) +"dCf" = (/obj/structure/bed/padded,/obj/item/weapon/bedsheet/ce,/obj/machinery/firealarm{dir = 8; pixel_x = -24},/turf/simulated/floor/carpet,/area/crew_quarters/heads/sc/chief/quarters) +"dCg" = (/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 5},/turf/simulated/floor/carpet,/area/crew_quarters/heads/sc/chief/quarters) +"dCh" = (/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 8},/obj/machinery/alarm{dir = 8; pixel_x = 22; pixel_y = 0},/turf/simulated/floor/carpet,/area/crew_quarters/heads/sc/chief/quarters) +"dCi" = (/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{dir = 8},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor/tiled,/area/hallway/primary/thirddeck/central) +"dCj" = (/obj/structure/disposalpipe/segment,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/effect/floor_decal/corner/blue{dir = 6},/turf/simulated/floor/tiled,/area/hallway/primary/thirddeck/central) +"dCk" = (/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 8},/obj/structure/flora/pottedplant/stoutbush,/turf/simulated/floor/tiled/dark,/area/hallway/primary/thirddeck/central) +"dCl" = (/obj/machinery/atmospherics/unary/vent_pump/on{dir = 4},/obj/structure/flora/pottedplant/fern,/turf/simulated/floor/tiled/dark,/area/hallway/primary/thirddeck/central) +"dCm" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/effect/floor_decal/corner/blue{dir = 9},/turf/simulated/floor/tiled,/area/hallway/primary/thirddeck/central) +"dCn" = (/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor/tiled,/area/hallway/primary/thirddeck/central) +"dCo" = (/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 4},/obj/machinery/alarm{dir = 4; pixel_x = -22; pixel_y = 0},/turf/simulated/floor/carpet,/area/crew_quarters/heads/sc/hos/quarters) +"dCp" = (/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 9},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor/carpet,/area/crew_quarters/heads/sc/hos/quarters) +"dCq" = (/obj/structure/bed/padded,/obj/item/weapon/bedsheet/hos,/obj/machinery/firealarm{dir = 4; pixel_x = 24},/turf/simulated/floor/carpet,/area/crew_quarters/heads/sc/hos/quarters) +"dCr" = (/obj/machinery/firealarm{dir = 8; pixel_x = -24},/turf/simulated/floor/carpet/blue,/area/crew_quarters/heads/sc/bs) +"dCs" = (/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 5},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor/carpet/blue,/area/crew_quarters/heads/sc/bs) +"dCt" = (/obj/structure/closet/lawcloset,/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 8},/obj/machinery/alarm{dir = 8; pixel_x = 22; pixel_y = 0},/turf/simulated/floor/carpet/blue,/area/crew_quarters/heads/sc/bs) +"dCu" = (/obj/effect/floor_decal/corner/red{dir = 1},/obj/effect/floor_decal/corner/white{dir = 8},/turf/simulated/floor/tiled,/area/hallway/primary/thirddeck/starboard) +"dCv" = (/obj/effect/floor_decal/industrial/warning{icon_state = "warning"; dir = 4},/obj/machinery/embedded_controller/radio/simple_docking_controller/escape_pod_berth{frequency = 1380; id_tag = "escape_pod_8_berth"; pixel_x = 25; pixel_y = 30; tag_door = "escape_pod_8_berth_hatch"},/turf/simulated/floor/tiled,/area/hallway/primary/thirddeck/starboard) +"dCw" = (/obj/machinery/door/airlock/glass_external{frequency = 1380; icon_state = "door_locked"; id_tag = "escape_pod_8_berth_hatch"; locked = 1; name = "Escape Pod 8"; req_access = list(13)},/turf/simulated/floor,/area/hallway/primary/thirddeck/starboard) +"dCx" = (/obj/machinery/door/airlock/external{frequency = 1380; icon_state = "door_locked"; id_tag = "escape_pod_8_hatch"; locked = 1; name = "Escape Pod Hatch 8"; req_access = list(13)},/turf/simulated/shuttle/floor,/area/shuttle/escape_pod8/station) +"dCy" = (/obj/structure/bed/chair{dir = 4},/obj/machinery/vending/wallmed1{name = "NanoMed Wall"; pixel_x = 0; pixel_y = 30},/turf/simulated/shuttle/floor,/area/shuttle/escape_pod8/station) +"dCz" = (/obj/structure/bed/chair{dir = 4},/obj/item/device/radio/intercom{name = "Station Intercom (General)"; pixel_y = -21},/obj/structure/closet/walllocker/emerglocker{pixel_y = 32},/turf/simulated/shuttle/floor,/area/shuttle/escape_pod8/station) +"dCA" = (/obj/structure/bed/chair{dir = 4},/obj/machinery/light{icon_state = "tube1"; dir = 4},/obj/machinery/status_display{density = 0; layer = 4; pixel_x = 0; pixel_y = -32},/obj/machinery/embedded_controller/radio/simple_docking_controller/escape_pod{frequency = 1380; id_tag = "escape_pod_8"; pixel_x = 0; pixel_y = 25; tag_door = "escape_pod_8_hatch"},/turf/simulated/shuttle/floor,/area/shuttle/escape_pod8/station) +"dCB" = (/obj/structure/grille,/obj/structure/window/reinforced/full,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 4; health = 1e+006},/turf/simulated/shuttle/plating,/area/shuttle/escape_pod8/station) +"dCC" = (/obj/structure/sign/warning/pods{dir = 8},/turf/simulated/wall,/area/hallway/primary/thirddeck/port) +"dCD" = (/obj/effect/floor_decal/industrial/warning/corner{icon_state = "warningcorner"; dir = 1},/turf/simulated/floor/tiled,/area/hallway/primary/thirddeck/port) +"dCE" = (/obj/effect/floor_decal/corner/white,/obj/effect/floor_decal/corner/red{dir = 4},/obj/structure/closet/emcloset,/turf/simulated/floor/tiled,/area/hallway/primary/thirddeck/port) +"dCF" = (/obj/machinery/status_display,/turf/simulated/wall/r_wall,/area/crew_quarters/heads/sc/restroom) +"dCG" = (/obj/machinery/firealarm{dir = 8; pixel_x = -24},/turf/simulated/floor/tiled/freezer,/area/crew_quarters/heads/sc/restroom) +"dCH" = (/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 4},/turf/simulated/floor/tiled/freezer,/area/crew_quarters/heads/sc/restroom) +"dCI" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 5},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 9},/turf/simulated/floor/tiled/freezer,/area/crew_quarters/heads/sc/restroom) +"dCJ" = (/obj/machinery/light{dir = 4; icon_state = "tube1"},/obj/machinery/atmospherics/unary/vent_pump/on{dir = 8},/obj/machinery/computer/security/telescreen/entertainment{icon_state = "frame"; pixel_x = 32; pixel_y = 0},/turf/simulated/floor/tiled/freezer,/area/crew_quarters/heads/sc/restroom) +"dCK" = (/obj/structure/table/standard,/obj/machinery/light{icon_state = "tube1"; dir = 8},/obj/item/weapon/paper_bin{pixel_x = -3; pixel_y = 7},/obj/item/weapon/folder/yellow_ce,/obj/item/weapon/pen/multi,/obj/machinery/computer/security/telescreen/entertainment{icon_state = "frame"; pixel_x = -32; pixel_y = 0},/turf/simulated/floor/carpet,/area/crew_quarters/heads/sc/chief/quarters) +"dCL" = (/obj/structure/bed/chair/office/dark,/obj/structure/cable/green{d1 = 1; d2 = 4; icon_state = "1-4"},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor/carpet,/area/crew_quarters/heads/sc/chief/quarters) +"dCM" = (/obj/machinery/power/apc{dir = 4; name = "east bump"; pixel_x = 24},/obj/structure/cable/green{d2 = 8; icon_state = "0-8"},/obj/machinery/button/windowtint{id = "cequarters"; pixel_x = 36; pixel_y = 6},/obj/machinery/light_switch{pixel_x = 36; pixel_y = -6},/turf/simulated/floor/carpet,/area/crew_quarters/heads/sc/chief/quarters) +"dCN" = (/obj/structure/disposalpipe/segment,/obj/effect/floor_decal/corner/blue{dir = 4},/turf/simulated/floor/tiled,/area/hallway/primary/thirddeck/central) +"dCO" = (/obj/structure/sign/directions/engineering{dir = 1; pixel_y = 10},/obj/structure/sign/directions/cargo{dir = 1},/obj/structure/sign/directions/security{dir = 1; pixel_y = -10},/turf/simulated/wall,/area/hallway/primary/thirddeck/central) +"dCP" = (/obj/structure/sign/directions/bridge{dir = 2; pixel_y = 10},/obj/structure/sign/directions/science{dir = 1},/obj/structure/sign/directions/medical{dir = 1; pixel_y = -10},/turf/simulated/wall,/area/hallway/primary/thirddeck/central) +"dCQ" = (/obj/effect/floor_decal/industrial/warning{icon_state = "warning"; dir = 9},/turf/simulated/floor/tiled/dark,/area/hallway/primary/thirddeck/central) +"dCR" = (/obj/effect/floor_decal/industrial/warning{icon_state = "warning"; dir = 1},/turf/simulated/floor/tiled/dark,/area/hallway/primary/thirddeck/central) +"dCS" = (/obj/effect/floor_decal/industrial/warning{dir = 5},/turf/simulated/floor/tiled/dark,/area/hallway/primary/thirddeck/central) +"dCT" = (/obj/structure/sign/directions/evac{dir = 1},/turf/simulated/wall/r_wall,/area/hallway/primary/thirddeck/central) +"dCU" = (/obj/effect/floor_decal/corner/blue{dir = 1},/turf/simulated/floor/tiled,/area/hallway/primary/thirddeck/central) +"dCV" = (/obj/machinery/power/apc{dir = 8; name = "west bump"; pixel_x = -24},/obj/structure/cable/green{d2 = 4; icon_state = "0-4"},/obj/machinery/light_switch{pixel_x = -36; pixel_y = -6},/obj/machinery/button/windowtint{id = "hosquarters"; pixel_x = -36; pixel_y = 6},/turf/simulated/floor/carpet,/area/crew_quarters/heads/sc/hos/quarters) +"dCW" = (/obj/structure/bed/chair/office/dark,/obj/structure/cable/green{d1 = 1; d2 = 8; icon_state = "1-8"},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor/carpet,/area/crew_quarters/heads/sc/hos/quarters) +"dCX" = (/obj/structure/table/standard,/obj/machinery/light{dir = 4; icon_state = "tube1"},/obj/item/weapon/paper_bin{pixel_x = -3; pixel_y = 7},/obj/item/weapon/folder/red_hos,/obj/item/weapon/pen/multi,/obj/machinery/computer/security/telescreen/entertainment{icon_state = "frame"; pixel_x = 32; pixel_y = 0},/turf/simulated/floor/carpet,/area/crew_quarters/heads/sc/hos/quarters) +"dCY" = (/obj/machinery/light{icon_state = "tube1"; dir = 8},/obj/machinery/computer/security/telescreen/entertainment{icon_state = "frame"; pixel_x = -32; pixel_y = 0},/turf/simulated/floor/carpet/blue,/area/crew_quarters/heads/sc/bs) +"dCZ" = (/obj/structure/bed/chair/office/dark,/obj/structure/cable/green{d1 = 1; d2 = 4; icon_state = "1-4"},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor/carpet/blue,/area/crew_quarters/heads/sc/bs) +"dDa" = (/obj/machinery/power/apc{dir = 4; name = "east bump"; pixel_x = 24},/obj/structure/cable/green{d2 = 8; icon_state = "0-8"},/obj/machinery/button/windowtint{id = "bsoffice"; pixel_x = 36; pixel_y = 6},/obj/machinery/light_switch{pixel_x = 36; pixel_y = -6},/turf/simulated/floor/carpet/blue,/area/crew_quarters/heads/sc/bs) +"dDb" = (/obj/machinery/status_display,/turf/simulated/wall/r_wall,/area/hallway/primary/thirddeck/starboard) +"dDc" = (/obj/effect/floor_decal/corner/red{dir = 1},/obj/effect/floor_decal/corner/white{dir = 8},/obj/structure/closet/emcloset,/turf/simulated/floor/tiled,/area/hallway/primary/thirddeck/starboard) +"dDd" = (/obj/effect/floor_decal/industrial/warning/corner{icon_state = "warningcorner"; dir = 4},/turf/simulated/floor/tiled,/area/hallway/primary/thirddeck/starboard) +"dDe" = (/obj/structure/sign/warning/pods{dir = 4},/turf/simulated/wall,/area/hallway/primary/thirddeck/starboard) +"dDf" = (/turf/simulated/wall/r_wall,/area/maintenance/thirddeck/aftport) +"dDg" = (/obj/machinery/door/firedoor/border_only,/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/door/airlock/maintenance{name = "Maintenance Access"; req_one_access = list(12,19)},/obj/machinery/atmospherics/pipe/simple/hidden,/turf/simulated/floor/plating,/area/maintenance/thirddeck/aftport) +"dDh" = (/turf/simulated/wall,/area/maintenance/thirddeck/aftport) +"dDi" = (/obj/structure/toilet{dir = 4},/obj/machinery/light/small{dir = 8},/turf/simulated/floor/tiled/freezer,/area/crew_quarters/heads/sc/restroom) +"dDj" = (/obj/machinery/door/airlock{name = "Unit 2"},/turf/simulated/floor/tiled/freezer,/area/crew_quarters/heads/sc/restroom) +"dDk" = (/obj/machinery/alarm{dir = 1; icon_state = "alarm0"; pixel_y = -22},/turf/simulated/floor/tiled/freezer,/area/crew_quarters/heads/sc/restroom) +"dDl" = (/obj/machinery/shower{dir = 1},/obj/structure/curtain/open/shower,/turf/simulated/floor/tiled/freezer,/area/crew_quarters/heads/sc/restroom) +"dDm" = (/obj/structure/undies_wardrobe,/obj/structure/window/basic{dir = 8},/turf/simulated/floor/tiled/freezer,/area/crew_quarters/heads/sc/restroom) +"dDn" = (/obj/structure/table/standard,/obj/item/device/flashlight/lamp/green,/obj/item/device/radio/intercom{dir = 8; name = "Station Intercom (General)"; pixel_x = -21},/turf/simulated/floor/carpet,/area/crew_quarters/heads/sc/chief/quarters) +"dDo" = (/obj/structure/table/standard,/obj/machinery/atmospherics/unary/vent_pump/on{dir = 1},/turf/simulated/floor/carpet,/area/crew_quarters/heads/sc/chief/quarters) +"dDp" = (/obj/structure/closet/secure_closet/engineering_chief/wardrobe,/turf/simulated/floor/carpet,/area/crew_quarters/heads/sc/chief/quarters) +"dDq" = (/obj/structure/cable/green{d1 = 1; d2 = 4; icon_state = "1-4"},/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor/tiled,/area/hallway/primary/thirddeck/central) +"dDr" = (/obj/structure/disposalpipe/segment,/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor/tiled,/area/hallway/primary/thirddeck/central) +"dDs" = (/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/effect/floor_decal/corner/blue{dir = 4},/turf/simulated/floor/tiled,/area/hallway/primary/thirddeck/central) +"dDt" = (/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/atmospherics/unary/vent_pump/on,/obj/effect/floor_decal/corner/blue{dir = 5},/obj/machinery/light{dir = 1},/turf/simulated/floor/tiled,/area/hallway/primary/thirddeck/central) +"dDu" = (/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/effect/floor_decal/corner/blue{dir = 1},/turf/simulated/floor/tiled,/area/hallway/primary/thirddeck/central) +"dDv" = (/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor/tiled,/area/hallway/primary/thirddeck/central) +"dDw" = (/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/atmospherics/unary/vent_scrubber/on,/obj/effect/floor_decal/corner/blue{dir = 5},/obj/machinery/light{dir = 1},/turf/simulated/floor/tiled,/area/hallway/primary/thirddeck/central) +"dDx" = (/obj/structure/cable/green{d1 = 1; d2 = 8; icon_state = "1-8"},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor/tiled,/area/hallway/primary/thirddeck/central) +"dDy" = (/obj/structure/closet/secure_closet/hos/wardrobe,/turf/simulated/floor/carpet,/area/crew_quarters/heads/sc/hos/quarters) +"dDz" = (/obj/structure/table/standard,/obj/machinery/atmospherics/unary/vent_pump/on{dir = 1},/turf/simulated/floor/carpet,/area/crew_quarters/heads/sc/hos/quarters) +"dDA" = (/obj/structure/table/standard,/obj/item/device/flashlight/lamp/green,/obj/item/device/radio/intercom{dir = 4; name = "Station Intercom (General)"; pixel_x = 21},/turf/simulated/floor/carpet,/area/crew_quarters/heads/sc/hos/quarters) +"dDB" = (/obj/structure/bed/padded,/obj/item/weapon/bedsheet/blue,/obj/item/device/radio/intercom{dir = 8; name = "Station Intercom (General)"; pixel_x = -21},/turf/simulated/floor/carpet/blue,/area/crew_quarters/heads/sc/bs) +"dDC" = (/obj/structure/table/standard,/obj/item/weapon/paper_bin{pixel_x = -3; pixel_y = 7},/obj/item/weapon/folder/blue,/obj/item/weapon/pen/multi,/obj/machinery/atmospherics/unary/vent_pump/on{dir = 1},/turf/simulated/floor/carpet/blue,/area/crew_quarters/heads/sc/bs) +"dDD" = (/obj/structure/bed/padded,/obj/item/weapon/bedsheet/blue,/turf/simulated/floor/carpet/blue,/area/crew_quarters/heads/sc/bs) +"dDE" = (/turf/simulated/wall/r_wall,/area/maintenance/thirddeck/aftstarboard) +"dDF" = (/turf/simulated/wall,/area/maintenance/thirddeck/aftstarboard) +"dDG" = (/obj/machinery/door/firedoor/border_only,/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/door/airlock/maintenance{name = "Maintenance Access"; req_one_access = list(12,19)},/obj/machinery/atmospherics/pipe/simple/hidden,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor/plating,/area/maintenance/thirddeck/aftstarboard) +"dDH" = (/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/simple/hidden,/turf/simulated/floor/plating,/area/maintenance/thirddeck/aftport) +"dDI" = (/obj/structure/reagent_dispensers/fueltank,/turf/simulated/floor/plating,/area/maintenance/thirddeck/aftport) +"dDJ" = (/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 8},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/effect/floor_decal/industrial/warning,/turf/simulated/floor/tiled,/area/hallway/primary/thirddeck/central) +"dDK" = (/obj/structure/disposalpipe/segment,/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/effect/floor_decal/industrial/warning,/turf/simulated/floor/tiled,/area/hallway/primary/thirddeck/central) +"dDL" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/effect/floor_decal/industrial/warning/corner{dir = 8},/turf/simulated/floor/tiled,/area/hallway/primary/thirddeck/central) +"dDM" = (/obj/machinery/atmospherics/pipe/manifold/hidden/supply,/turf/simulated/floor/tiled,/area/hallway/primary/thirddeck/central) +"dDN" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/turf/simulated/floor/tiled,/area/hallway/primary/thirddeck/central) +"dDO" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 6},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 10},/turf/simulated/floor/tiled,/area/hallway/primary/thirddeck/central) +"dDP" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor/tiled,/area/hallway/primary/thirddeck/central) +"dDQ" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/camera/network/third_deck{c_tag = "Third Deck - Central Aft"; dir = 1},/turf/simulated/floor/tiled,/area/hallway/primary/thirddeck/central) +"dDR" = (/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers,/turf/simulated/floor/tiled,/area/hallway/primary/thirddeck/central) +"dDS" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/effect/floor_decal/industrial/warning/corner,/turf/simulated/floor/tiled,/area/hallway/primary/thirddeck/central) +"dDT" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/effect/floor_decal/industrial/warning,/turf/simulated/floor/tiled,/area/hallway/primary/thirddeck/central) +"dDU" = (/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/effect/floor_decal/industrial/warning,/turf/simulated/floor/tiled,/area/hallway/primary/thirddeck/central) +"dDV" = (/obj/structure/closet,/obj/item/weapon/storage/backpack,/obj/random/maintenance/medical,/obj/random/maintenance/medical,/obj/random/maintenance/medical,/obj/random/firstaid,/turf/simulated/floor/plating,/area/maintenance/thirddeck/aftstarboard) +"dDW" = (/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/simple/hidden,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor/plating,/area/maintenance/thirddeck/aftstarboard) +"dDX" = (/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/simple/hidden,/obj/machinery/light/small{dir = 8},/turf/simulated/floor/plating,/area/maintenance/thirddeck/aftport) +"dDY" = (/obj/structure/reagent_dispensers/watertank,/turf/simulated/floor/plating,/area/maintenance/thirddeck/aftport) +"dDZ" = (/turf/simulated/wall/r_wall,/area/bridge/meeting_room) +"dEa" = (/obj/structure/flora/pottedplant/largebush,/turf/simulated/floor/wood,/area/bridge/meeting_room) +"dEb" = (/obj/structure/extinguisher_cabinet{pixel_y = 30},/turf/simulated/floor/wood,/area/bridge/meeting_room) +"dEc" = (/obj/machinery/light{dir = 1},/turf/simulated/floor/wood,/area/bridge/meeting_room) +"dEd" = (/obj/machinery/alarm{pixel_y = 22},/turf/simulated/floor/wood,/area/bridge/meeting_room) +"dEe" = (/turf/simulated/floor/wood,/area/bridge/meeting_room) +"dEf" = (/obj/machinery/newscaster{pixel_y = 30},/turf/simulated/floor/wood,/area/bridge/meeting_room) +"dEg" = (/obj/machinery/vending/coffee,/obj/machinery/computer/security/telescreen/entertainment{icon_state = "frame"; pixel_x = 32; pixel_y = 0},/turf/simulated/floor/wood,/area/bridge/meeting_room) +"dEh" = (/obj/machinery/door/blast/regular{density = 0; dir = 1; icon_state = "pdoor0"; id = "bridge blast"; name = "Bridge Blast Doors"; opacity = 0},/obj/effect/floor_decal/industrial/hatch/yellow,/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor/tiled,/area/bridge) +"dEi" = (/obj/machinery/door/blast/regular{density = 0; dir = 1; icon_state = "pdoor0"; id = "bridge blast"; name = "Bridge Blast Doors"; opacity = 0},/obj/effect/floor_decal/industrial/hatch/yellow,/obj/structure/disposalpipe/segment,/turf/simulated/floor/tiled,/area/bridge) +"dEj" = (/obj/structure/sign/warning/secure_area,/turf/simulated/wall/r_wall,/area/hallway/primary/thirddeck/central) +"dEk" = (/turf/simulated/wall,/area/hallway/primary/thirddeck/central) +"dEl" = (/obj/structure/sign/deck/third,/turf/simulated/wall,/area/hallway/primary/thirddeck/central) +"dEm" = (/obj/machinery/door/firedoor/border_only,/turf/simulated/floor/tiled,/area/hallway/primary/thirddeck/central) +"dEn" = (/obj/machinery/door/firedoor/glass,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor/tiled,/area/hallway/primary/thirddeck/central) +"dEo" = (/obj/machinery/door/blast/regular{density = 0; dir = 1; icon_state = "pdoor0"; id = "bridge blast"; name = "Bridge Blast Doors"; opacity = 0},/obj/effect/floor_decal/industrial/hatch/yellow,/turf/simulated/floor/tiled,/area/bridge) +"dEp" = (/obj/machinery/door/blast/regular{density = 0; dir = 1; icon_state = "pdoor0"; id = "bridge blast"; name = "Bridge Blast Doors"; opacity = 0},/obj/effect/floor_decal/industrial/hatch/yellow,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor/tiled,/area/bridge) +"dEq" = (/turf/simulated/wall/r_wall,/area/crew_quarters/heads/sc/sd) +"dEr" = (/obj/structure/table/wooden_reinforced,/obj/machinery/atmospherics/unary/vent_pump/on,/obj/machinery/computer/security/telescreen/entertainment{icon_state = "frame"; pixel_x = -32; pixel_y = 0},/obj/item/device/flashlight/lamp/green,/turf/simulated/floor/carpet,/area/crew_quarters/heads/sc/sd) +"dEs" = (/obj/structure/table/wooden_reinforced,/obj/item/weapon/storage/photo_album{pixel_y = -10},/obj/item/device/camera,/obj/machinery/firealarm{pixel_y = 24},/turf/simulated/floor/carpet,/area/crew_quarters/heads/sc/sd) +"dEt" = (/obj/structure/bed/padded,/obj/item/weapon/bedsheet/captain,/turf/simulated/floor/carpet,/area/crew_quarters/heads/sc/sd) +"dEu" = (/obj/structure/closet/wardrobe/captain{name = "station director's wardrobe"},/obj/random/drinkbottle,/obj/machinery/light{dir = 1},/turf/simulated/floor/carpet,/area/crew_quarters/heads/sc/sd) +"dEv" = (/obj/structure/sink{pixel_y = 16},/obj/structure/mirror{pixel_x = 0; pixel_y = 32},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 6},/turf/simulated/floor/tiled/freezer,/area/crew_quarters/heads/sc/sd) +"dEw" = (/obj/structure/table/standard,/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 8},/obj/item/weapon/soap/deluxe,/obj/item/weapon/towel{color = "#FFD700"; name = "gold towel"},/obj/machinery/alarm{pixel_y = 22},/turf/simulated/floor/tiled/freezer,/area/crew_quarters/heads/sc/sd) +"dEx" = (/obj/structure/closet,/obj/item/weapon/weldingtool,/obj/effect/decal/cleanable/dirt,/obj/random/maintenance/clean,/obj/random/maintenance/engineering,/obj/random/maintenance/engineering,/turf/simulated/floor/plating,/area/maintenance/thirddeck/aftstarboard) +"dEy" = (/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/light/small{dir = 4; pixel_y = 0},/obj/machinery/atmospherics/pipe/simple/hidden,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor/plating,/area/maintenance/thirddeck/aftstarboard) +"dEz" = (/turf/simulated/floor/plating,/area/maintenance/thirddeck/aftport) +"dEA" = (/obj/machinery/button/remote/blast_door{id = "heads_meeting"; name = "Security Shutters"; pixel_x = -26; pixel_y = 0},/turf/simulated/floor/wood,/area/bridge/meeting_room) +"dEB" = (/obj/machinery/atmospherics/unary/vent_pump/on{dir = 4},/turf/simulated/floor/carpet,/area/bridge/meeting_room) +"dEC" = (/obj/structure/bed/chair/comfy/blue,/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/turf/simulated/floor/carpet,/area/bridge/meeting_room) +"dED" = (/obj/structure/bed/chair/comfy/blue,/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 10},/turf/simulated/floor/carpet,/area/bridge/meeting_room) +"dEE" = (/obj/structure/bed/chair/comfy/blue,/turf/simulated/floor/carpet,/area/bridge/meeting_room) +"dEF" = (/turf/simulated/floor/carpet,/area/bridge/meeting_room) +"dEG" = (/obj/machinery/power/apc{dir = 4; name = "east bump"; pixel_x = 24},/obj/machinery/light_switch{pixel_x = 36; pixel_y = 0},/obj/structure/cable/green{d2 = 2; icon_state = "0-2"},/turf/simulated/floor/wood,/area/bridge/meeting_room) +"dEH" = (/obj/machinery/door/firedoor/border_only,/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/door/airlock/glass_command{name = "Bridge"; req_access = list(19)},/turf/simulated/floor/tiled,/area/bridge) +"dEI" = (/obj/machinery/door/firedoor/border_only,/obj/structure/disposalpipe/segment,/obj/machinery/door/airlock/glass_command{name = "Bridge"; req_access = list(19)},/turf/simulated/floor/tiled,/area/bridge) +"dEJ" = (/turf/simulated/open,/area/hallway/primary/thirddeck/central) +"dEK" = (/obj/effect/floor_decal/industrial/warning{dir = 8},/obj/machinery/light{dir = 1},/turf/simulated/floor/tiled,/area/hallway/primary/thirddeck/central) +"dEL" = (/obj/machinery/alarm{pixel_y = 22},/turf/simulated/floor/tiled,/area/hallway/primary/thirddeck/central) +"dEM" = (/obj/machinery/vending/snack,/turf/simulated/floor/tiled,/area/hallway/primary/thirddeck/central) +"dEN" = (/obj/machinery/door/firedoor/border_only,/obj/machinery/door/airlock/glass_command{id_tag = "sbridgedoor"; name = "Bridge"; req_access = list(19)},/turf/simulated/floor/tiled,/area/bridge) +"dEO" = (/obj/machinery/door/firedoor/border_only,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/door/airlock/glass_command{id_tag = "sbridgedoor"; name = "Bridge"; req_access = list(19)},/turf/simulated/floor/tiled,/area/bridge) +"dEP" = (/obj/structure/table/wooden_reinforced,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/item/weapon/storage/box/matches,/obj/item/clothing/mask/smokable/cigarette/cigar,/obj/item/weapon/reagent_containers/food/drinks/flask{pixel_x = 8},/obj/random_multi/single_item/captains_spare_id,/obj/item/device/radio/intercom{dir = 8; name = "Station Intercom (General)"; pixel_x = -21},/turf/simulated/floor/carpet,/area/crew_quarters/heads/sc/sd) +"dEQ" = (/obj/structure/bed/chair/comfy/brown{dir = 8},/turf/simulated/floor/carpet,/area/crew_quarters/heads/sc/sd) +"dER" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 6},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 6},/turf/simulated/floor/carpet,/area/crew_quarters/heads/sc/sd) +"dES" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{dir = 1},/turf/simulated/floor/carpet,/area/crew_quarters/heads/sc/sd) +"dET" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/door/firedoor/border_only,/obj/machinery/door/airlock{name = "Bathroom"},/turf/simulated/floor/tiled/freezer,/area/crew_quarters/heads/sc/sd) +"dEU" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 9},/turf/simulated/floor/tiled/freezer,/area/crew_quarters/heads/sc/sd) +"dEV" = (/obj/machinery/light/small{dir = 4},/obj/machinery/atmospherics/unary/vent_pump/on{dir = 8},/turf/simulated/floor/tiled/freezer,/area/crew_quarters/heads/sc/sd) +"dEW" = (/obj/structure/closet/crate,/obj/item/clothing/mask/gas,/obj/item/device/flashlight,/obj/item/device/flashlight,/obj/effect/decal/cleanable/dirt,/obj/random/maintenance/medical,/obj/random/maintenance/medical,/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 6},/turf/simulated/floor/plating,/area/maintenance/thirddeck/aftstarboard) +"dEX" = (/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/simple/hidden,/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 9; pixel_y = 0},/turf/simulated/floor/plating,/area/maintenance/thirddeck/aftstarboard) +"dEY" = (/obj/structure/table/steel,/obj/random/maintenance/engineering,/turf/simulated/floor/plating,/area/maintenance/thirddeck/aftport) +"dEZ" = (/obj/machinery/door/firedoor/border_only,/obj/effect/wingrille_spawn/reinforced,/turf/simulated/floor/plating,/area/maintenance/thirddeck/aftport) +"dFa" = (/obj/machinery/door/firedoor/border_only,/obj/effect/wingrille_spawn/reinforced,/obj/machinery/door/blast/shutters{density = 0; dir = 8; icon_state = "shutter0"; id = "heads_meeting"; name = "Meeting Room Window Shutters"; opacity = 0},/obj/structure/cable/green{d2 = 2; icon_state = "0-2"},/obj/structure/cable/green,/turf/simulated/floor/plating,/area/bridge/meeting_room) +"dFb" = (/obj/structure/bed/chair/comfy/blue{dir = 4},/turf/simulated/floor/carpet,/area/bridge/meeting_room) +"dFc" = (/obj/structure/table/wooden_reinforced,/obj/item/weapon/folder/red,/obj/item/weapon/folder/blue{pixel_x = -2; pixel_y = -2},/turf/simulated/floor/carpet,/area/bridge/meeting_room) +"dFd" = (/obj/structure/table/wooden_reinforced,/obj/item/weapon/paper_bin{pixel_x = -3; pixel_y = 7},/obj/item/weapon/pen,/obj/effect/landmark{name = "blobstart"},/obj/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 8},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 6},/turf/simulated/floor/carpet,/area/bridge/meeting_room) +"dFe" = (/obj/structure/table/wooden_reinforced,/obj/item/weapon/book/manual/security_space_law,/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor/carpet,/area/bridge/meeting_room) +"dFf" = (/obj/structure/bed/chair/comfy/blue{dir = 8},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{dir = 1},/turf/simulated/floor/carpet,/area/bridge/meeting_room) +"dFg" = (/obj/structure/disposalpipe/segment{dir = 4; icon_state = "pipe-c"},/obj/structure/cable/green{d1 = 1; d2 = 4; icon_state = "1-4"},/obj/structure/cable/green{d1 = 2; d2 = 4; icon_state = "2-4"},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor/wood,/area/bridge/meeting_room) +"dFh" = (/obj/machinery/door/firedoor/border_only,/obj/structure/disposalpipe/segment{dir = 4},/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/door/airlock/command{name = "Conference Room"; req_access = list(19)},/turf/simulated/floor/wood,/area/bridge/meeting_room) +"dFi" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/structure/cable/green{d1 = 1; d2 = 8; icon_state = "1-8"},/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/manifold4w/hidden/supply,/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{dir = 4},/obj/effect/floor_decal/industrial/warning{icon_state = "warning"; dir = 9},/turf/simulated/floor/tiled,/area/bridge) +"dFj" = (/obj/structure/disposalpipe/junction{dir = 1; icon_state = "pipe-j2"},/obj/machinery/atmospherics/unary/vent_pump/on{dir = 8},/obj/effect/floor_decal/industrial/warning{dir = 5},/obj/machinery/light{dir = 4},/turf/simulated/floor/tiled,/area/bridge) +"dFk" = (/obj/machinery/ai_status_display,/turf/simulated/wall/r_wall,/area/hallway/primary/thirddeck/central) +"dFl" = (/obj/effect/floor_decal/industrial/warning{dir = 8},/turf/simulated/floor/tiled,/area/hallway/primary/thirddeck/central) +"dFm" = (/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 4},/turf/simulated/floor/tiled,/area/hallway/primary/thirddeck/central) +"dFn" = (/obj/machinery/hologram/holopad,/obj/effect/floor_decal/industrial/outline/grey,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 9},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 5},/turf/simulated/floor/tiled,/area/hallway/primary/thirddeck/central) +"dFo" = (/obj/machinery/atmospherics/unary/vent_pump/on{dir = 8},/turf/simulated/floor/tiled,/area/hallway/primary/thirddeck/central) +"dFp" = (/obj/machinery/vending/cola,/turf/simulated/floor/tiled,/area/hallway/primary/thirddeck/central) +"dFq" = (/obj/machinery/status_display,/turf/simulated/wall/r_wall,/area/hallway/primary/thirddeck/central) +"dFr" = (/obj/machinery/atmospherics/unary/vent_pump/on{dir = 4},/obj/effect/floor_decal/industrial/warning{icon_state = "warning"; dir = 9},/obj/machinery/light{dir = 8; icon_state = "tube1"; pixel_y = 0},/turf/simulated/floor/tiled,/area/bridge) +"dFs" = (/obj/machinery/atmospherics/pipe/manifold4w/hidden/supply,/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{dir = 8},/obj/effect/floor_decal/industrial/warning{dir = 5},/turf/simulated/floor/tiled,/area/bridge) +"dFt" = (/obj/machinery/door/firedoor/border_only,/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/door/airlock/command{name = "Station Director's Quarters"; req_access = list(20)},/turf/simulated/floor/carpet,/area/crew_quarters/heads/sc/sd) +"dFu" = (/obj/machinery/atmospherics/pipe/manifold/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/light,/turf/simulated/floor/carpet,/area/crew_quarters/heads/sc/sd) +"dFv" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/alarm{dir = 1; pixel_y = -22},/turf/simulated/floor/carpet,/area/crew_quarters/heads/sc/sd) +"dFw" = (/obj/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{dir = 4},/turf/simulated/floor/carpet,/area/crew_quarters/heads/sc/sd) +"dFx" = (/obj/structure/closet/secure_closet/captains{name = "station director's locker"},/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 1},/turf/simulated/floor/carpet,/area/crew_quarters/heads/sc/sd) +"dFy" = (/obj/structure/toilet{dir = 1},/turf/simulated/floor/tiled/freezer,/area/crew_quarters/heads/sc/sd) +"dFz" = (/obj/machinery/shower{dir = 1},/obj/structure/curtain/open/shower,/obj/structure/window/reinforced{dir = 8; health = 1e+006},/obj/machinery/door/window/northright,/obj/item/weapon/bikehorn/rubberducky,/turf/simulated/floor/tiled/freezer,/area/crew_quarters/heads/sc/sd) +"dFA" = (/obj/machinery/door/firedoor/border_only,/obj/effect/wingrille_spawn/reinforced,/turf/simulated/floor/plating,/area/maintenance/thirddeck/aftstarboard) +"dFB" = (/obj/structure/closet/crate,/obj/item/stack/cable_coil/random,/obj/item/stack/cable_coil/random,/obj/item/weapon/crowbar,/obj/item/weapon/wirecutters,/obj/random/maintenance/medical,/obj/random/maintenance/medical,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor,/area/maintenance/thirddeck/aftstarboard) +"dFC" = (/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/simple/hidden,/turf/simulated/floor/plating,/area/maintenance/thirddeck/aftstarboard) +"dFD" = (/obj/machinery/power/apc{dir = 8; name = "west bump"; pixel_x = -24},/obj/structure/cable/green,/obj/machinery/atmospherics/pipe/simple/hidden,/turf/simulated/floor/plating,/area/maintenance/thirddeck/aftport) +"dFE" = (/obj/structure/table/steel,/obj/random/tech_supply,/turf/simulated/floor/plating,/area/maintenance/thirddeck/aftport) +"dFF" = (/obj/machinery/door/firedoor/border_only,/obj/effect/wingrille_spawn/reinforced,/obj/machinery/door/blast/shutters{density = 0; dir = 8; icon_state = "shutter0"; id = "heads_meeting"; name = "Meeting Room Window Shutters"; opacity = 0},/obj/structure/cable/green{d2 = 2; icon_state = "0-2"},/obj/structure/cable/green{d2 = 4; icon_state = "0-4"},/turf/simulated/floor/plating,/area/bridge/meeting_room) +"dFG" = (/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor/wood,/area/bridge/meeting_room) +"dFH" = (/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor/carpet,/area/bridge/meeting_room) +"dFI" = (/obj/structure/bed/chair/comfy/blue{dir = 1},/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor/carpet,/area/bridge/meeting_room) +"dFJ" = (/obj/structure/bed/chair/comfy/blue{dir = 1},/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/structure/cable/green{d1 = 2; d2 = 4; icon_state = "2-4"},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor/carpet,/area/bridge/meeting_room) +"dFK" = (/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 1},/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor/carpet,/area/bridge/meeting_room) +"dFL" = (/obj/structure/disposalpipe/segment,/obj/structure/cable/green{d1 = 1; d2 = 8; icon_state = "1-8"},/obj/machinery/camera/network/command{c_tag = "COM - Conference Room"; dir = 8},/turf/simulated/floor/wood,/area/bridge/meeting_room) +"dFM" = (/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{dir = 8},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/effect/floor_decal/industrial/warning{dir = 10},/turf/simulated/floor/tiled,/area/bridge) +"dFN" = (/obj/structure/disposalpipe/segment,/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 8},/obj/effect/floor_decal/industrial/warning{dir = 6},/turf/simulated/floor/tiled,/area/bridge) +"dFO" = (/obj/effect/floor_decal/industrial/warning{icon_state = "warning"; dir = 1},/obj/effect/floor_decal/corner/blue{dir = 10},/obj/machinery/firealarm{dir = 8; pixel_x = -24},/turf/simulated/floor/tiled,/area/hallway/primary/thirddeck/central) +"dFP" = (/obj/effect/floor_decal/industrial/warning/corner{icon_state = "warningcorner"; dir = 1},/obj/effect/floor_decal/corner/blue{dir = 10},/turf/simulated/floor/tiled,/area/hallway/primary/thirddeck/central) +"dFQ" = (/obj/effect/floor_decal/corner/blue{dir = 8},/obj/machinery/camera/network/third_deck{c_tag = "Third Deck - Stairwell"; dir = 1},/turf/simulated/floor/tiled,/area/hallway/primary/thirddeck/central) +"dFR" = (/obj/structure/disposalpipe/segment{dir = 4; icon_state = "pipe-c"},/turf/simulated/floor/tiled,/area/hallway/primary/thirddeck/central) +"dFS" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/effect/floor_decal/corner/blue,/turf/simulated/floor/tiled,/area/hallway/primary/thirddeck/central) +"dFT" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/effect/floor_decal/corner/blue{dir = 10},/obj/machinery/light,/turf/simulated/floor/tiled,/area/hallway/primary/thirddeck/central) +"dFU" = (/obj/machinery/disposal,/obj/structure/disposalpipe/trunk{dir = 8},/obj/effect/floor_decal/corner/blue{dir = 10},/obj/item/device/radio/intercom{dir = 4; name = "Station Intercom (General)"; pixel_x = 21},/turf/simulated/floor/tiled,/area/hallway/primary/thirddeck/central) +"dFV" = (/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 4},/obj/effect/floor_decal/industrial/warning{dir = 10},/turf/simulated/floor/tiled,/area/bridge) +"dFW" = (/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/effect/floor_decal/industrial/warning{dir = 6},/turf/simulated/floor/tiled,/area/bridge) +"dFX" = (/obj/machinery/door/firedoor/border_only,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/door/airlock/command{name = "Station Director's Quarters"; req_access = list(20)},/turf/simulated/floor/carpet,/area/crew_quarters/heads/sc/sd) +"dFY" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor/plating,/area/maintenance/thirddeck/aftstarboard) +"dFZ" = (/obj/machinery/power/apc{dir = 4; name = "east bump"; pixel_x = 24},/obj/structure/cable/green,/obj/machinery/atmospherics/pipe/simple/hidden,/turf/simulated/floor/plating,/area/maintenance/thirddeck/aftstarboard) +"dGa" = (/obj/machinery/atmospherics/pipe/simple/hidden,/turf/simulated/floor/plating,/area/maintenance/thirddeck/aftport) +"dGb" = (/obj/item/frame,/turf/simulated/floor/plating,/area/maintenance/thirddeck/aftport) +"dGc" = (/obj/machinery/door/firedoor/border_only,/obj/effect/wingrille_spawn/reinforced,/obj/machinery/door/blast/shutters{density = 0; dir = 8; icon_state = "shutter0"; id = "heads_meeting"; name = "Meeting Room Window Shutters"; opacity = 0},/obj/structure/cable/green,/turf/simulated/floor/plating,/area/bridge/meeting_room) +"dGd" = (/obj/structure/table/wooden_reinforced,/obj/item/weapon/storage/box/donut,/turf/simulated/floor/wood,/area/bridge/meeting_room) +"dGe" = (/obj/machinery/hologram/holopad,/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor/wood,/area/bridge/meeting_room) +"dGf" = (/obj/structure/disposalpipe/segment,/obj/machinery/firealarm{dir = 4; pixel_x = 24},/turf/simulated/floor/wood,/area/bridge/meeting_room) +"dGg" = (/turf/simulated/wall/r_wall,/area/bridge) +"dGh" = (/obj/machinery/door/firedoor/border_only,/obj/structure/cable/green{d2 = 4; icon_state = "0-4"},/obj/machinery/door/blast/regular{density = 0; dir = 4; icon_state = "pdoor0"; id = "bridge blast"; name = "Bridge Blast Doors"; opacity = 0},/obj/effect/wingrille_spawn/reinforced/polarized{id = "bridge_center"},/turf/simulated/floor/plating,/area/bridge) +"dGi" = (/obj/machinery/door/firedoor/border_only,/obj/structure/cable/green{d2 = 8; icon_state = "0-8"},/obj/structure/cable/green{d2 = 4; icon_state = "0-4"},/obj/machinery/door/blast/regular{density = 0; dir = 4; icon_state = "pdoor0"; id = "bridge blast"; name = "Bridge Blast Doors"; opacity = 0},/obj/effect/wingrille_spawn/reinforced/polarized{id = "bridge_center"},/turf/simulated/floor/plating,/area/bridge) +"dGj" = (/obj/machinery/door/firedoor/glass,/obj/structure/disposalpipe/segment,/obj/structure/cable/green{d1 = 2; d2 = 8; icon_state = "2-8"},/obj/structure/cable/green{d1 = 2; d2 = 4; icon_state = "2-4"},/obj/machinery/door/blast/regular{density = 0; dir = 1; icon_state = "pdoor0"; id = "bridge blast"; name = "Bridge Blast Doors"; opacity = 0},/obj/effect/floor_decal/industrial/hatch/yellow,/obj/machinery/door/airlock/glass_command{name = "Bridge"; req_access = list(19)},/turf/simulated/floor/tiled,/area/bridge) +"dGk" = (/obj/machinery/door/firedoor/border_only,/obj/structure/cable/green{d2 = 8; icon_state = "0-8"},/obj/structure/cable/green{d2 = 4; icon_state = "0-4"},/obj/machinery/door/blast/regular{density = 0; dir = 8; icon_state = "pdoor0"; id = "bridge blast"; name = "Bridge Blast Doors"; opacity = 0},/obj/effect/wingrille_spawn/reinforced/polarized{id = "bridge_center"},/turf/simulated/floor/plating,/area/bridge) +"dGl" = (/obj/machinery/door/firedoor/border_only,/obj/structure/cable/green{d2 = 8; icon_state = "0-8"},/obj/machinery/door/blast/regular{density = 0; dir = 8; icon_state = "pdoor0"; id = "bridge blast"; name = "Bridge Blast Doors"; opacity = 0},/obj/effect/wingrille_spawn/reinforced/polarized{id = "bridge_center"},/turf/simulated/floor/plating,/area/bridge) +"dGm" = (/obj/structure/displaycase,/turf/simulated/floor/wood,/area/crew_quarters/heads/sc/sd) +"dGn" = (/obj/machinery/keycard_auth{pixel_x = 0; pixel_y = 24},/turf/simulated/floor/wood,/area/crew_quarters/heads/sc/sd) +"dGo" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor/wood,/area/crew_quarters/heads/sc/sd) +"dGp" = (/obj/structure/cable/green{d2 = 2; icon_state = "0-2"},/obj/machinery/power/apc{dir = 1; name = "north bump"; pixel_x = 0; pixel_y = 24},/obj/machinery/light_switch{pixel_x = 11; pixel_y = 24},/obj/machinery/camera/network/command{c_tag = "COM - Station Director's Office"; dir = 2},/turf/simulated/floor/wood,/area/crew_quarters/heads/sc/sd) +"dGq" = (/obj/structure/table/wooden_reinforced,/obj/machinery/photocopier/faxmachine{department = "Captain's Office"},/obj/item/device/radio/intercom{dir = 1; name = "Station Intercom (General)"; pixel_y = 21},/turf/simulated/floor/wood,/area/crew_quarters/heads/sc/sd) +"dGr" = (/obj/machinery/computer/card,/obj/random_multi/single_item/captains_spare_id,/obj/machinery/light{dir = 1},/turf/simulated/floor/wood,/area/crew_quarters/heads/sc/sd) +"dGs" = (/obj/machinery/computer/communications,/turf/simulated/floor/wood,/area/crew_quarters/heads/sc/sd) +"dGt" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/meter,/turf/simulated/floor/plating,/area/maintenance/thirddeck/aftstarboard) +"dGu" = (/obj/machinery/atmospherics/pipe/simple/hidden,/turf/simulated/floor/plating,/area/maintenance/thirddeck/aftstarboard) +"dGv" = (/obj/structure/cable/yellow{d2 = 4; icon_state = "0-4"},/obj/machinery/power/solar{id = "aftportsolar"; name = "Port Solar Array"},/turf/simulated/floor/airless{icon_state = "solarpanel"},/area/solar/aftportsolar) +"dGw" = (/obj/structure/cable/yellow{d1 = 2; d2 = 4; icon_state = "2-4"},/obj/structure/cable/yellow{d1 = 2; d2 = 8; icon_state = "2-8"},/turf/simulated/floor/airless,/area/solar/aftportsolar) +"dGx" = (/obj/structure/cable/yellow{d2 = 8; icon_state = "0-8"},/obj/machinery/power/solar{id = "aftportsolar"; name = "Port Solar Array"},/turf/simulated/floor/airless{icon_state = "solarpanel"},/area/solar/aftportsolar) +"dGy" = (/obj/machinery/portable_atmospherics/powered/pump/filled,/turf/simulated/floor/plating,/area/maintenance/thirddeck/aftport) +"dGz" = (/obj/structure/sign/warning/high_voltage,/turf/simulated/wall/r_wall,/area/bridge/meeting_room) +"dGA" = (/obj/structure/table/wooden_reinforced,/obj/item/weapon/hand_labeler,/obj/item/device/retail_scanner/command,/obj/item/device/radio/intercom{name = "Station Intercom (General)"; pixel_y = -21},/turf/simulated/floor/wood,/area/bridge/meeting_room) +"dGB" = (/obj/structure/table/wooden_reinforced,/obj/machinery/recharger{pixel_y = 0},/turf/simulated/floor/wood,/area/bridge/meeting_room) +"dGC" = (/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor/wood,/area/bridge/meeting_room) +"dGD" = (/obj/machinery/light,/turf/simulated/floor/wood,/area/bridge/meeting_room) +"dGE" = (/obj/machinery/papershredder,/turf/simulated/floor/wood,/area/bridge/meeting_room) +"dGF" = (/obj/machinery/disposal,/obj/structure/disposalpipe/trunk{dir = 1},/turf/simulated/floor/wood,/area/bridge/meeting_room) +"dGG" = (/obj/machinery/status_display,/turf/simulated/wall/r_wall,/area/bridge/meeting_room) +"dGH" = (/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/effect/floor_decal/industrial/warning{icon_state = "warning"; dir = 1},/turf/simulated/floor/tiled,/area/bridge) +"dGI" = (/obj/structure/disposalpipe/segment,/obj/effect/floor_decal/industrial/warning{icon_state = "warning"; dir = 1},/turf/simulated/floor/tiled,/area/bridge) +"dGJ" = (/obj/item/device/radio/intercom{dir = 1; name = "Station Intercom (General)"; pixel_y = 21},/obj/machinery/camera/network/command{c_tag = "COM - Bridge Port"; dir = 6},/obj/machinery/light{dir = 1},/obj/structure/window/reinforced{dir = 8},/obj/structure/closet/secure_closet/guncabinet/sidearm{anchored = 1},/turf/simulated/floor/tiled,/area/bridge) +"dGK" = (/obj/structure/noticeboard{pixel_y = 27},/obj/effect/floor_decal/corner/blue{dir = 5},/turf/simulated/floor/tiled,/area/bridge) +"dGL" = (/obj/effect/floor_decal/corner/blue{dir = 5},/turf/simulated/floor/tiled,/area/bridge) +"dGM" = (/obj/effect/floor_decal/corner/blue{dir = 1},/turf/simulated/floor/tiled,/area/bridge) +"dGN" = (/obj/structure/disposalpipe/segment,/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor/tiled,/area/bridge) +"dGO" = (/obj/effect/floor_decal/corner/blue{dir = 4},/turf/simulated/floor/tiled,/area/bridge) +"dGP" = (/obj/structure/closet/fireaxecabinet{pixel_y = 32},/obj/effect/floor_decal/corner/blue{dir = 5},/turf/simulated/floor/tiled,/area/bridge) +"dGQ" = (/obj/item/device/radio/intercom{dir = 1; name = "Station Intercom (General)"; pixel_y = 21},/obj/machinery/camera/network/command{c_tag = "COM - Bridge Starboard"},/obj/machinery/light{dir = 1},/obj/structure/window/reinforced{dir = 4},/obj/structure/closet/emcloset,/turf/simulated/floor/tiled,/area/bridge) +"dGR" = (/obj/effect/floor_decal/industrial/warning{icon_state = "warning"; dir = 1},/turf/simulated/floor/tiled,/area/bridge) +"dGS" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/effect/floor_decal/industrial/warning{icon_state = "warning"; dir = 1},/turf/simulated/floor/tiled,/area/bridge) +"dGT" = (/obj/machinery/ai_status_display,/turf/simulated/wall/r_wall,/area/crew_quarters/heads/sc/sd) +"dGU" = (/obj/structure/filingcabinet,/turf/simulated/floor/wood,/area/crew_quarters/heads/sc/sd) +"dGV" = (/obj/machinery/atmospherics/unary/vent_pump/on{dir = 4},/turf/simulated/floor/wood,/area/crew_quarters/heads/sc/sd) +"dGW" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 9; pixel_y = 0},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor/wood,/area/crew_quarters/heads/sc/sd) +"dGX" = (/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor/wood,/area/crew_quarters/heads/sc/sd) +"dGY" = (/turf/simulated/floor/wood,/area/crew_quarters/heads/sc/sd) +"dGZ" = (/obj/structure/bed/chair/office/dark,/obj/effect/landmark/start{name = "Colony Director"},/obj/machinery/button/remote/airlock{desc = "A remote control switch for the Starboard Bridge Doors."; id = "sbridgedoor"; name = "Starboard Bridge Door Control"; pixel_x = 30; pixel_y = -6},/obj/machinery/button/remote/airlock{desc = "A remote control switch for the captain's office."; id = "captaindoor"; name = "Office Door Control"; pixel_x = 30; pixel_y = 6},/turf/simulated/floor/wood,/area/crew_quarters/heads/sc/sd) +"dHa" = (/obj/structure/table/wooden_reinforced,/obj/machinery/requests_console{announcementConsole = 1; department = "Station Director's Desk"; departmentType = 5; name = "Station Administrator RC"; pixel_x = 30; pixel_y = 0},/turf/simulated/floor/wood,/area/crew_quarters/heads/sc/sd) +"dHb" = (/obj/structure/table/rack{dir = 4},/obj/item/clothing/mask/gas,/obj/random/maintenance/engineering,/obj/random/maintenance/clean,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor/plating,/area/maintenance/thirddeck/aftstarboard) +"dHc" = (/obj/structure/cable/yellow{d2 = 4; icon_state = "0-4"},/obj/machinery/power/solar{id = "aftstarboardsolar"; name = "Starboard Solar Array"},/turf/simulated/floor/airless{icon_state = "solarpanel"},/area/solar/aftstarboardsolar) +"dHd" = (/obj/structure/cable/yellow{d1 = 2; d2 = 4; icon_state = "2-4"},/obj/structure/cable/yellow{d1 = 2; d2 = 8; icon_state = "2-8"},/turf/simulated/floor/airless,/area/solar/aftstarboardsolar) +"dHe" = (/obj/structure/cable/yellow{d2 = 8; icon_state = "0-8"},/obj/machinery/power/solar{id = "aftstarboardsolar"; name = "Starboard Solar Array"},/turf/simulated/floor/airless{icon_state = "solarpanel"},/area/solar/aftstarboardsolar) +"dHf" = (/obj/structure/cable/yellow{d1 = 2; d2 = 4; icon_state = "2-4"},/obj/structure/cable/yellow{d1 = 2; d2 = 8; icon_state = "2-8"},/obj/structure/cable/yellow{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor/airless,/area/solar/aftportsolar) +"dHg" = (/obj/machinery/alarm{dir = 8; icon_state = "alarm0"; pixel_x = 22},/obj/machinery/space_heater,/turf/simulated/floor/plating,/area/maintenance/thirddeck/aftport) +"dHh" = (/obj/machinery/door/firedoor/border_only,/obj/effect/wingrille_spawn/reinforced,/turf/simulated/floor/plating,/area/bridge/meeting_room) +"dHi" = (/obj/machinery/door/firedoor/glass,/obj/effect/wingrille_spawn/reinforced,/turf/simulated/floor/plating,/area/bridge/meeting_room) +"dHj" = (/obj/machinery/door/firedoor/border_only,/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/door/airlock/command{name = "Conference Room"; req_access = list(19)},/turf/simulated/floor/wood,/area/bridge/meeting_room) +"dHk" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/structure/cable/green{d1 = 1; d2 = 4; icon_state = "1-4"},/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor/tiled,/area/bridge) +"dHl" = (/obj/structure/disposalpipe/segment{dir = 1; icon_state = "pipe-c"},/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor/tiled,/area/bridge) +"dHm" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/structure/cable/green{d1 = 2; d2 = 8; icon_state = "2-8"},/turf/simulated/floor/tiled,/area/bridge) +"dHn" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor/tiled,/area/bridge) +"dHo" = (/obj/structure/bed/chair,/obj/structure/disposalpipe/segment{dir = 4},/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor/tiled,/area/bridge) +"dHp" = (/obj/structure/disposalpipe/junction{dir = 8},/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/structure/cable/green{d1 = 2; d2 = 8; icon_state = "2-8"},/obj/structure/cable/green{d1 = 1; d2 = 8; icon_state = "1-8"},/turf/simulated/floor/tiled,/area/bridge) +"dHq" = (/obj/structure/disposalpipe/segment{dir = 2; icon_state = "pipe-c"},/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor/tiled,/area/bridge) +"dHr" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/structure/cable/green{d1 = 2; d2 = 8; icon_state = "2-8"},/turf/simulated/floor/tiled,/area/bridge) +"dHs" = (/obj/structure/table/rack,/obj/structure/window/reinforced,/obj/item/weapon/tank/jetpack/oxygen,/obj/item/clothing/mask/gas,/obj/item/clothing/suit/armor/captain,/obj/item/clothing/head/helmet/space/capspace,/obj/structure/window/basic{dir = 1},/obj/structure/window/reinforced{dir = 8; health = 1e+006},/obj/structure/window/reinforced{dir = 4},/turf/simulated/floor/wood,/area/crew_quarters/heads/sc/sd) +"dHt" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/door/window/southleft{name = "Director's Desk Door"; req_access = list(20)},/turf/simulated/floor/wood,/area/crew_quarters/heads/sc/sd) +"dHu" = (/obj/structure/table/wooden_reinforced,/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/item/weapon/paper_bin{pixel_x = -3; pixel_y = 7},/obj/item/weapon/folder/blue,/obj/item/device/megaphone,/obj/item/weapon/pen/multi,/turf/simulated/floor/wood,/area/crew_quarters/heads/sc/sd) +"dHv" = (/obj/structure/table/wooden_reinforced,/obj/machinery/computer/skills,/turf/simulated/floor/wood,/area/crew_quarters/heads/sc/sd) +"dHw" = (/obj/structure/table/wooden_reinforced,/obj/item/weapon/folder/blue_captain,/obj/item/weapon/stamp/denied{pixel_x = -2; pixel_y = -2},/obj/item/weapon/stamp/captain,/turf/simulated/floor/wood,/area/crew_quarters/heads/sc/sd) +"dHx" = (/obj/structure/table/wooden_reinforced,/obj/item/device/flashlight/lamp/green,/obj/machinery/newscaster/security_unit{pixel_x = 32; pixel_y = 0},/turf/simulated/floor/wood,/area/crew_quarters/heads/sc/sd) +"dHy" = (/obj/machinery/alarm{dir = 4; pixel_x = -22; pixel_y = 0},/obj/machinery/atmospherics/pipe/simple/visible/universal,/turf/simulated/floor/plating,/area/maintenance/thirddeck/aftstarboard) +"dHz" = (/obj/structure/cable/yellow{d1 = 2; d2 = 4; icon_state = "2-4"},/obj/structure/cable/yellow{d1 = 2; d2 = 8; icon_state = "2-8"},/obj/structure/cable/yellow{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor/airless,/area/solar/aftstarboardsolar) +"dHA" = (/obj/structure/closet/emcloset,/turf/simulated/floor/plating,/area/maintenance/thirddeck/aftport) +"dHB" = (/obj/structure/closet,/obj/item/weapon/storage/backpack,/obj/random/maintenance/clean,/obj/random/maintenance/cargo,/obj/random/maintenance/clean,/obj/random/drinkbottle,/turf/simulated/floor/plating,/area/maintenance/thirddeck/aftport) +"dHC" = (/obj/structure/flora/pottedplant{icon_state = "plant-01"; pixel_y = 10; tag = "icon-plant-01"},/obj/structure/table/woodentable,/obj/machinery/alarm{pixel_y = 22},/obj/structure/extinguisher_cabinet{pixel_x = -28; pixel_y = 0},/turf/simulated/floor/wood,/area/bridge/meeting_room) +"dHD" = (/obj/structure/table/woodentable,/obj/machinery/keycard_auth{pixel_x = 0; pixel_y = 24},/obj/item/weapon/storage/box/cups,/turf/simulated/floor/wood,/area/bridge/meeting_room) +"dHE" = (/obj/structure/reagent_dispensers/water_cooler/full,/turf/simulated/floor/wood,/area/bridge/meeting_room) +"dHF" = (/obj/machinery/camera/network/command{c_tag = "COM - Secretary Office"; dir = 2},/turf/simulated/floor/wood,/area/bridge/meeting_room) +"dHG" = (/obj/machinery/door/firedoor/border_only,/obj/machinery/door/airlock/command{name = "Secretary Office"; req_access = list(19)},/turf/simulated/floor/wood,/area/bridge/meeting_room) +"dHH" = (/obj/machinery/computer/guestpass{pixel_y = 28},/turf/simulated/floor/tiled,/area/bridge) +"dHI" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 5},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor/tiled,/area/bridge) +"dHJ" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/turf/simulated/floor/tiled,/area/bridge) +"dHK" = (/obj/machinery/atmospherics/unary/vent_pump/on{dir = 8},/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor/tiled,/area/bridge) +"dHL" = (/obj/structure/table/reinforced,/obj/effect/floor_decal/corner/yellow/full,/obj/item/weapon/folder/yellow,/obj/item/device/flashlight,/obj/item/device/flashlight{pixel_x = 2; pixel_y = 2},/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced,/turf/simulated/floor/tiled/dark,/area/bridge) +"dHM" = (/obj/machinery/computer/atmos_alert,/obj/effect/floor_decal/corner/yellow{dir = 10},/obj/structure/window/reinforced,/turf/simulated/floor/tiled/dark,/area/bridge) +"dHN" = (/obj/machinery/computer/atmos_alert,/obj/effect/floor_decal/corner/yellow/full{tag = "icon-corner_white_full (EAST)"; icon_state = "corner_white_full"; dir = 4},/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced,/turf/simulated/floor/tiled/dark,/area/bridge) +"dHO" = (/obj/machinery/hologram/holopad,/obj/effect/floor_decal/industrial/outline/grey,/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/effect/landmark{name = "lightsout"},/turf/simulated/floor/tiled/dark,/area/bridge) +"dHP" = (/obj/machinery/computer/rcon,/obj/effect/floor_decal/corner/yellow/full,/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced,/turf/simulated/floor/tiled/dark,/area/bridge) +"dHQ" = (/obj/machinery/computer/power_monitor,/obj/effect/floor_decal/corner/yellow{dir = 10},/obj/structure/window/reinforced,/turf/simulated/floor/tiled/dark,/area/bridge) +"dHR" = (/obj/structure/table/reinforced,/obj/effect/floor_decal/corner/yellow/full{tag = "icon-corner_white_full (EAST)"; icon_state = "corner_white_full"; dir = 4},/obj/item/weapon/storage/box/lights/mixed,/obj/item/device/multitool,/obj/item/weapon/storage/toolbox/mechanical,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced,/turf/simulated/floor/tiled/dark,/area/bridge) +"dHS" = (/obj/machinery/atmospherics/unary/vent_pump/on{dir = 4},/turf/simulated/floor/tiled,/area/bridge) +"dHT" = (/obj/structure/disposalpipe/segment{dir = 1; icon_state = "pipe-c"},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/turf/simulated/floor/tiled,/area/bridge) +"dHU" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 9; pixel_y = 0},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/structure/cable/green{d1 = 1; d2 = 4; icon_state = "1-4"},/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor/tiled,/area/bridge) +"dHV" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/requests_console{announcementConsole = 1; department = "Bridge"; departmentType = 5; name = "Bridge RC"; pixel_x = 0; pixel_y = 30},/turf/simulated/floor/tiled,/area/bridge) +"dHW" = (/obj/machinery/door/firedoor/border_only,/obj/structure/disposalpipe/segment{dir = 4},/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/door/airlock/command{id_tag = "captaindoor"; name = "Station Director's Office"; req_access = list(20)},/turf/simulated/floor/wood,/area/crew_quarters/heads/sc/sd) +"dHX" = (/obj/structure/disposalpipe/segment{dir = 2; icon_state = "pipe-c"},/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor/wood,/area/crew_quarters/heads/sc/sd) +"dHY" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 5},/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor/wood,/area/crew_quarters/heads/sc/sd) +"dHZ" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/structure/cable/green{d1 = 2; d2 = 8; icon_state = "2-8"},/obj/structure/cable/green{d1 = 1; d2 = 8; icon_state = "1-8"},/turf/simulated/floor/wood,/area/crew_quarters/heads/sc/sd) +"dIa" = (/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 8},/turf/simulated/floor/wood,/area/crew_quarters/heads/sc/sd) +"dIb" = (/obj/structure/bed/chair{dir = 1},/turf/simulated/floor/wood,/area/crew_quarters/heads/sc/sd) +"dIc" = (/obj/structure/table/woodentable,/obj/item/weapon/melee/chainofcommand,/obj/item/weapon/hand_tele,/obj/item/device/radio/intercom{dir = 4; name = "Station Intercom (General)"; pixel_x = 21},/turf/simulated/floor/wood,/area/crew_quarters/heads/sc/sd) +"dId" = (/obj/machinery/atmospherics/pipe/tank/air,/turf/simulated/floor/plating,/area/maintenance/thirddeck/aftstarboard) +"dIe" = (/obj/machinery/atmospherics/pipe/tank/air,/obj/effect/floor_decal/industrial/warning/corner{dir = 4},/turf/simulated/floor/plating,/area/maintenance/thirddeck/aftstarboard) +"dIf" = (/obj/machinery/atmospherics/valve,/obj/effect/floor_decal/industrial/warning{icon_state = "warning"; dir = 5},/turf/simulated/floor/plating,/area/maintenance/thirddeck/aftstarboard) +"dIg" = (/obj/machinery/door/firedoor/border_only,/obj/machinery/door/airlock/maintenance{name = "Maintenance Access"; req_one_access = list(12,19)},/turf/simulated/floor/plating,/area/bridge/meeting_room) +"dIh" = (/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 4},/turf/simulated/floor/wood,/area/bridge/meeting_room) +"dIi" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor/wood,/area/bridge/meeting_room) +"dIj" = (/obj/machinery/hologram/holopad,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor/wood,/area/bridge/meeting_room) +"dIk" = (/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 5},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 9},/turf/simulated/floor/wood,/area/bridge/meeting_room) +"dIl" = (/obj/machinery/atmospherics/unary/vent_pump/on{dir = 8},/turf/simulated/floor/wood,/area/bridge/meeting_room) +"dIm" = (/obj/item/device/radio/intercom{dir = 4; name = "Station Intercom (General)"; pixel_x = 21},/turf/simulated/floor/wood,/area/bridge/meeting_room) +"dIn" = (/obj/machinery/alarm{dir = 4; icon_state = "alarm0"; pixel_x = -22},/turf/simulated/floor/tiled,/area/bridge) +"dIo" = (/obj/structure/bed/chair,/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 1},/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor/tiled,/area/bridge) +"dIp" = (/turf/simulated/floor/tiled,/area/bridge) +"dIq" = (/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor/tiled,/area/bridge) +"dIr" = (/obj/machinery/firealarm{dir = 4; pixel_x = 24},/turf/simulated/floor/tiled,/area/bridge) +"dIs" = (/obj/structure/disposalpipe/segment,/obj/machinery/firealarm{dir = 8; pixel_x = -24},/turf/simulated/floor/wood,/area/crew_quarters/heads/sc/sd) +"dIt" = (/obj/machinery/hologram/holopad,/turf/simulated/floor/wood,/area/crew_quarters/heads/sc/sd) +"dIu" = (/obj/machinery/papershredder,/obj/machinery/alarm{dir = 8; icon_state = "alarm0"; pixel_x = 24},/turf/simulated/floor/wood,/area/crew_quarters/heads/sc/sd) +"dIv" = (/obj/structure/closet/crate/internals,/obj/item/weapon/tank/emergency/oxygen/engi,/obj/item/weapon/tank/emergency/oxygen/engi,/obj/item/weapon/tank/emergency/oxygen/double,/obj/random/tank,/obj/random/maintenance/research,/obj/random/maintenance/research,/obj/random/maintenance/clean,/obj/random/maintenance/clean,/obj/machinery/atmospherics/pipe/simple/hidden/cyan{dir = 5; icon_state = "intact"; tag = "icon-intact-f (NORTHWEST)"},/turf/simulated/floor/plating,/area/maintenance/thirddeck/aftstarboard) +"dIw" = (/obj/machinery/atmospherics/pipe/manifold/hidden/cyan,/turf/simulated/floor/plating,/area/maintenance/thirddeck/aftstarboard) +"dIx" = (/obj/machinery/atmospherics/pipe/simple/hidden/cyan{dir = 9; icon_state = "intact"; tag = "icon-intact-f (NORTHWEST)"},/obj/machinery/meter,/obj/effect/floor_decal/industrial/warning{icon_state = "warning"; dir = 4},/turf/simulated/floor/plating,/area/maintenance/thirddeck/aftstarboard) +"dIy" = (/obj/machinery/door/firedoor/border_only,/obj/effect/wingrille_spawn/reinforced,/turf/simulated/floor/plating,/area/maintenance/solars/aftportsolar) +"dIz" = (/turf/simulated/wall/r_wall,/area/maintenance/solars/aftportsolar) +"dIA" = (/obj/machinery/door/firedoor/border_only,/obj/machinery/door/airlock/maintenance{name = "Maintenance Access"; req_one_access = list(12,19)},/obj/machinery/atmospherics/pipe/simple/hidden,/turf/simulated/floor/plating,/area/maintenance/thirddeck/aftport) +"dIB" = (/obj/machinery/photocopier,/obj/machinery/button/remote/blast_door{id = "csblast"; name = "Blastdoors"; pixel_x = 0; pixel_y = -24},/turf/simulated/floor/wood,/area/bridge/meeting_room) +"dIC" = (/obj/structure/table/wooden_reinforced,/turf/simulated/floor/wood,/area/bridge/meeting_room) +"dID" = (/obj/structure/bed/chair/office/dark,/obj/effect/landmark/start{name = "Command Secretary"},/turf/simulated/floor/wood,/area/bridge/meeting_room) +"dIE" = (/obj/structure/bed/chair/office/dark,/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/effect/landmark/start{name = "Command Secretary"},/turf/simulated/floor/wood,/area/bridge/meeting_room) +"dIF" = (/obj/structure/filingcabinet,/obj/machinery/firealarm{dir = 1; pixel_y = -24},/turf/simulated/floor/wood,/area/bridge/meeting_room) +"dIG" = (/obj/machinery/ai_status_display,/turf/simulated/wall/r_wall,/area/bridge/meeting_room) +"dIH" = (/obj/machinery/computer/secure_data,/obj/effect/floor_decal/corner/red/full,/turf/simulated/floor/tiled,/area/bridge) +"dII" = (/obj/structure/table/reinforced,/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/effect/floor_decal/corner/red{dir = 10},/obj/item/weapon/folder/red,/turf/simulated/floor/tiled,/area/bridge) +"dIJ" = (/obj/machinery/computer/security,/obj/effect/floor_decal/corner/red/full{dir = 4},/obj/structure/window/reinforced{dir = 4},/turf/simulated/floor/tiled,/area/bridge) +"dIK" = (/obj/structure/cable/green,/obj/machinery/power/apc{dir = 2; name = "south bump"; pixel_y = -24},/obj/machinery/light_switch{pixel_x = 11; pixel_y = -24},/obj/effect/floor_decal/corner/blue/full,/turf/simulated/floor/tiled,/area/bridge) +"dIL" = (/obj/effect/floor_decal/corner/blue{dir = 8},/turf/simulated/floor/tiled,/area/bridge) +"dIM" = (/obj/structure/bed/chair,/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor/tiled,/area/bridge) +"dIN" = (/obj/effect/floor_decal/corner/blue,/turf/simulated/floor/tiled,/area/bridge) +"dIO" = (/obj/machinery/button/remote/blast_door{id = "bridge blast"; name = "Bridge Blastdoors"; pixel_x = 0; pixel_y = -36},/obj/machinery/button/windowtint{id = "bridge_center"; pixel_x = -11; pixel_y = -24},/obj/machinery/keycard_auth{pixel_x = 0; pixel_y = -24},/obj/effect/floor_decal/corner/blue/full{dir = 4},/turf/simulated/floor/tiled,/area/bridge) +"dIP" = (/obj/machinery/computer/crew,/obj/effect/floor_decal/corner/white/full,/obj/structure/window/reinforced{dir = 8; health = 1e+006},/turf/simulated/floor/tiled,/area/bridge) +"dIQ" = (/obj/structure/table/reinforced,/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/effect/floor_decal/corner/white{dir = 10},/obj/item/weapon/folder/white,/turf/simulated/floor/tiled,/area/bridge) +"dIR" = (/obj/machinery/computer/med_data,/obj/effect/floor_decal/corner/white/full{tag = "icon-corner_white_full (EAST)"; icon_state = "corner_white_full"; dir = 4},/turf/simulated/floor/tiled,/area/bridge) +"dIS" = (/obj/machinery/status_display,/turf/simulated/wall/r_wall,/area/crew_quarters/heads/sc/sd) +"dIT" = (/obj/machinery/disposal,/obj/structure/disposalpipe/trunk{dir = 1},/turf/simulated/floor/wood,/area/crew_quarters/heads/sc/sd) +"dIU" = (/obj/structure/bed/chair/comfy/brown{dir = 4},/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor/carpet,/area/crew_quarters/heads/sc/sd) +"dIV" = (/obj/structure/table/woodentable,/obj/item/weapon/book/manual/security_space_law,/obj/item/device/tape/random,/obj/item/device/taperecorder,/turf/simulated/floor/carpet,/area/crew_quarters/heads/sc/sd) +"dIW" = (/obj/structure/table/woodentable,/obj/machinery/recharger,/obj/item/weapon/storage/secure/safe{pixel_x = 5; pixel_y = -26},/turf/simulated/floor/wood,/area/crew_quarters/heads/sc/sd) +"dIX" = (/obj/machinery/door/firedoor/border_only,/obj/machinery/door/airlock/maintenance{name = "Maintenance Access"; req_one_access = list(12,19)},/obj/machinery/atmospherics/pipe/simple/hidden,/turf/simulated/floor/plating,/area/maintenance/thirddeck/aftstarboard) +"dIY" = (/turf/simulated/wall/r_wall,/area/maintenance/solars/aftstarboardsolar) +"dIZ" = (/obj/machinery/door/firedoor/border_only,/obj/effect/wingrille_spawn/reinforced,/turf/simulated/floor/plating,/area/maintenance/solars/aftstarboardsolar) +"dJa" = (/obj/structure/cable/yellow,/turf/simulated/floor/airless,/area/solar/aftportsolar) +"dJb" = (/obj/effect/wingrille_spawn/reinforced,/turf/simulated/floor/plating,/area/maintenance/solars/aftportsolar) +"dJc" = (/obj/machinery/atmospherics/pipe/simple/hidden{dir = 6},/obj/effect/wingrille_spawn/reinforced,/turf/simulated/floor/plating,/area/maintenance/solars/aftportsolar) +"dJd" = (/obj/machinery/atmospherics/pipe/manifold/hidden{dir = 1; icon_state = "map"; tag = "icon-manifold-f (NORTH)"},/obj/effect/wingrille_spawn/reinforced,/turf/simulated/floor/plating,/area/maintenance/solars/aftportsolar) +"dJe" = (/obj/machinery/atmospherics/pipe/manifold/hidden{dir = 1; icon_state = "map"; tag = "icon-manifold-f (NORTH)"},/obj/machinery/door/firedoor/border_only,/obj/effect/wingrille_spawn/reinforced,/turf/simulated/floor/plating,/area/maintenance/solars/aftportsolar) +"dJf" = (/obj/machinery/atmospherics/portables_connector{dir = 8},/obj/effect/floor_decal/industrial/outline/yellow,/obj/machinery/portable_atmospherics/canister/air/airlock,/obj/structure/sign/warning/airlock{pixel_y = 32},/turf/simulated/floor/plating,/area/maintenance/solars/aftportsolar) +"dJg" = (/obj/machinery/power/terminal{dir = 4},/obj/structure/cable/yellow{d2 = 2; icon_state = "0-2"},/obj/machinery/alarm{pixel_y = 22},/obj/effect/floor_decal/industrial/warning{icon_state = "warning"; dir = 8},/obj/item/stack/cable_coil/yellow,/obj/item/stack/cable_coil/yellow,/obj/item/stack/cable_coil/yellow,/turf/simulated/floor/plating,/area/maintenance/solars/aftportsolar) +"dJh" = (/obj/structure/cable{icon_state = "0-2"; d2 = 2},/obj/machinery/power/smes/buildable{charge = 0; RCon_tag = "Solar - Aft Port"},/turf/simulated/floor/plating,/area/maintenance/solars/aftportsolar) +"dJi" = (/turf/simulated/wall,/area/maintenance/solars/aftportsolar) +"dJj" = (/obj/machinery/atmospherics/pipe/simple/hidden,/obj/structure/sign/warning/high_voltage{pixel_x = -32; pixel_y = 0},/obj/effect/floor_decal/industrial/warning/corner{dir = 8},/obj/machinery/camera/network/engineering{c_tag = "ENG - Solar Aft Port Access"; dir = 4},/turf/simulated/floor/plating,/area/maintenance/thirddeck/aftport) +"dJk" = (/obj/item/stack/cable_coil/yellow,/turf/simulated/floor/plating,/area/maintenance/thirddeck/aftport) +"dJl" = (/obj/structure/ladder,/obj/effect/floor_decal/industrial/outline/yellow,/turf/simulated/floor/plating,/area/maintenance/thirddeck/aftport) +"dJm" = (/obj/effect/floor_decal/industrial/warning/corner,/obj/machinery/portable_atmospherics/powered/scrubber,/turf/simulated/floor/plating,/area/maintenance/thirddeck/aftport) +"dJn" = (/obj/structure/table/wooden_reinforced,/obj/machinery/computer/skills,/turf/simulated/floor/wood,/area/bridge/meeting_room) +"dJo" = (/obj/structure/table/wooden_reinforced,/obj/item/weapon/paper_bin{pixel_x = -3; pixel_y = 7},/obj/item/weapon/pen/blue{pixel_y = -5},/obj/item/weapon/pen/red{pixel_y = 5},/obj/item/weapon/pen,/turf/simulated/floor/wood,/area/bridge/meeting_room) +"dJp" = (/obj/structure/table/wooden_reinforced,/obj/machinery/photocopier/faxmachine{department = "Bridge"},/obj/machinery/light,/turf/simulated/floor/wood,/area/bridge/meeting_room) +"dJq" = (/obj/structure/table/wooden_reinforced,/obj/item/weapon/paper_bin{pixel_x = -3; pixel_y = 7},/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/item/weapon/pen/blue{pixel_y = -5},/obj/item/weapon/pen/red{pixel_y = 5},/obj/item/weapon/pen,/turf/simulated/floor/wood,/area/bridge/meeting_room) +"dJr" = (/obj/machinery/door/firedoor/glass,/obj/structure/cable/green{d2 = 4; icon_state = "0-4"},/obj/machinery/door/blast/regular{density = 0; dir = 4; icon_state = "pdoor0"; id = "bridge blast"; name = "Bridge Blast Doors"; opacity = 0},/obj/effect/wingrille_spawn/reinforced,/turf/simulated/floor/plating,/area/bridge) +"dJs" = (/obj/machinery/door/firedoor/border_only,/obj/structure/cable/green{d2 = 8; icon_state = "0-8"},/obj/structure/cable/green{d2 = 4; icon_state = "0-4"},/obj/machinery/door/blast/regular{density = 0; dir = 4; icon_state = "pdoor0"; id = "bridge blast"; name = "Bridge Blast Doors"; opacity = 0},/obj/structure/cable/green,/obj/effect/wingrille_spawn/reinforced,/turf/simulated/floor/plating,/area/bridge) +"dJt" = (/obj/machinery/door/firedoor/glass,/obj/structure/cable/green{d2 = 8; icon_state = "0-8"},/obj/machinery/door/blast/regular{density = 0; dir = 4; icon_state = "pdoor0"; id = "bridge blast"; name = "Bridge Blast Doors"; opacity = 0},/obj/effect/wingrille_spawn/reinforced,/turf/simulated/floor/plating,/area/bridge) +"dJu" = (/obj/structure/table/reinforced,/obj/machinery/light{icon_state = "tube1"; dir = 8},/obj/machinery/newscaster{pixel_y = -30},/obj/item/weapon/storage/secure/briefcase,/obj/effect/floor_decal/corner/blue/full,/turf/simulated/floor/tiled,/area/bridge) +"dJv" = (/obj/structure/table/reinforced,/obj/item/weapon/storage/box/PDAs{pixel_x = 4; pixel_y = 4},/obj/item/weapon/storage/box/ids,/obj/effect/floor_decal/corner/blue{dir = 10},/turf/simulated/floor/tiled,/area/bridge) +"dJw" = (/obj/machinery/computer/card,/obj/effect/floor_decal/corner/blue{dir = 10},/turf/simulated/floor/tiled,/area/bridge) +"dJx" = (/obj/structure/table/reinforced,/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/item/weapon/paper_bin,/obj/item/weapon/folder/red,/obj/item/weapon/folder/blue,/obj/item/weapon/pen,/obj/effect/floor_decal/corner/blue{dir = 10},/obj/machinery/light,/turf/simulated/floor/tiled,/area/bridge) +"dJy" = (/obj/machinery/computer/communications,/obj/effect/floor_decal/corner/blue{dir = 10},/turf/simulated/floor/tiled,/area/bridge) +"dJz" = (/obj/structure/table/reinforced,/obj/item/device/flash,/obj/item/device/flash,/obj/item/device/aicard,/obj/effect/floor_decal/corner/blue{dir = 10},/turf/simulated/floor/tiled,/area/bridge) +"dJA" = (/obj/structure/table/reinforced,/obj/machinery/light{dir = 4},/obj/structure/extinguisher_cabinet{pixel_y = -30},/obj/machinery/recharger{pixel_y = 0},/obj/effect/floor_decal/corner/blue/full{dir = 4},/turf/simulated/floor/tiled,/area/bridge) +"dJB" = (/obj/machinery/door/firedoor/glass,/obj/structure/cable/green{d2 = 4; icon_state = "0-4"},/obj/effect/wingrille_spawn/reinforced,/obj/machinery/door/blast/regular{density = 0; dir = 8; icon_state = "pdoor0"; id = "bridge blast"; name = "Bridge Blast Doors"; opacity = 0},/turf/simulated/floor/plating,/area/bridge) +"dJC" = (/obj/machinery/door/firedoor/border_only,/obj/structure/cable/green{d2 = 8; icon_state = "0-8"},/obj/structure/cable/green{d2 = 4; icon_state = "0-4"},/obj/structure/cable/green,/obj/effect/wingrille_spawn/reinforced,/obj/machinery/door/blast/regular{density = 0; dir = 8; icon_state = "pdoor0"; id = "bridge blast"; name = "Bridge Blast Doors"; opacity = 0},/turf/simulated/floor/plating,/area/bridge) +"dJD" = (/obj/machinery/door/firedoor/glass,/obj/structure/cable/green{d2 = 8; icon_state = "0-8"},/obj/effect/wingrille_spawn/reinforced,/obj/machinery/door/blast/regular{density = 0; dir = 8; icon_state = "pdoor0"; id = "bridge blast"; name = "Bridge Blast Doors"; opacity = 0},/turf/simulated/floor/plating,/area/bridge) +"dJE" = (/obj/machinery/button/remote/blast_door{id = "directorblast"; name = "Security Shutters"; pixel_x = -26; pixel_y = 0},/turf/simulated/floor/wood,/area/crew_quarters/heads/sc/sd) +"dJF" = (/obj/structure/bed/chair/comfy/brown{dir = 4},/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/light,/turf/simulated/floor/carpet,/area/crew_quarters/heads/sc/sd) +"dJG" = (/obj/structure/table/woodentable,/obj/item/weapon/storage/box/donut,/turf/simulated/floor/carpet,/area/crew_quarters/heads/sc/sd) +"dJH" = (/obj/structure/extinguisher_cabinet{pixel_y = -30},/turf/simulated/floor/wood,/area/crew_quarters/heads/sc/sd) +"dJI" = (/obj/structure/lattice,/obj/structure/cable{d1 = 32; d2 = 2; icon_state = "32-2"},/turf/simulated/open,/area/maintenance/thirddeck/aftstarboard) +"dJJ" = (/obj/structure/table/rack,/obj/item/clothing/glasses/sunglasses,/obj/item/clothing/suit/storage/hazardvest,/obj/item/device/radio,/obj/random/maintenance/medical,/obj/random/maintenance/medical,/obj/effect/floor_decal/industrial/warning{icon_state = "warning"; dir = 8},/turf/simulated/floor/plating,/area/maintenance/thirddeck/aftstarboard) +"dJK" = (/obj/structure/table/rack,/obj/random/maintenance/clean,/obj/random/maintenance/clean,/obj/random/maintenance/clean,/obj/random/maintenance/clean,/turf/simulated/floor/plating,/area/maintenance/thirddeck/aftstarboard) +"dJL" = (/obj/machinery/atmospherics/pipe/simple/hidden,/obj/effect/floor_decal/industrial/warning/corner,/obj/structure/sign/warning/high_voltage{pixel_x = 32; pixel_y = 0},/obj/machinery/camera/network/engineering{c_tag = "ENG - Solar Aft Starboard Access"; dir = 8},/turf/simulated/floor/plating,/area/maintenance/thirddeck/aftstarboard) +"dJM" = (/turf/simulated/wall,/area/maintenance/solars/aftstarboardsolar) +"dJN" = (/obj/structure/cable{icon_state = "0-2"; d2 = 2},/obj/machinery/power/smes/buildable{charge = 0; RCon_tag = "Solar - Aft Starboard"},/turf/simulated/floor/plating,/area/maintenance/solars/aftstarboardsolar) +"dJO" = (/obj/machinery/alarm{pixel_y = 22},/obj/machinery/power/terminal{dir = 8},/obj/effect/floor_decal/industrial/warning{icon_state = "warning"; dir = 4},/obj/structure/cable/yellow{d2 = 2; icon_state = "0-2"},/turf/simulated/floor/plating,/area/maintenance/solars/aftstarboardsolar) +"dJP" = (/obj/machinery/atmospherics/portables_connector{dir = 4},/obj/effect/floor_decal/industrial/outline/yellow,/obj/machinery/portable_atmospherics/canister/air/airlock,/obj/structure/sign/warning/airlock{pixel_y = 32},/turf/simulated/floor/plating,/area/maintenance/solars/aftstarboardsolar) +"dJQ" = (/obj/machinery/atmospherics/pipe/manifold/hidden{dir = 1; icon_state = "map"; tag = "icon-manifold-f (NORTH)"},/obj/machinery/door/firedoor/border_only,/obj/effect/wingrille_spawn/reinforced,/turf/simulated/floor/plating,/area/maintenance/solars/aftstarboardsolar) +"dJR" = (/obj/machinery/atmospherics/pipe/manifold/hidden{dir = 1; icon_state = "map"; tag = "icon-manifold-f (NORTH)"},/obj/effect/wingrille_spawn/reinforced,/turf/simulated/floor/plating,/area/maintenance/solars/aftstarboardsolar) +"dJS" = (/obj/machinery/atmospherics/pipe/simple/hidden{dir = 10; icon_state = "intact"; tag = "icon-intact-f (SOUTHWEST)"},/obj/effect/wingrille_spawn/reinforced,/turf/simulated/floor/plating,/area/maintenance/solars/aftstarboardsolar) +"dJT" = (/obj/effect/wingrille_spawn/reinforced,/turf/simulated/floor/plating,/area/maintenance/solars/aftstarboardsolar) +"dJU" = (/obj/structure/cable/yellow,/turf/simulated/floor/airless,/area/solar/aftstarboardsolar) +"dJV" = (/obj/machinery/power/tracker,/obj/structure/cable/yellow{d2 = 4; icon_state = "0-4"},/turf/simulated/floor/airless,/area/solar/aftportsolar) +"dJW" = (/obj/structure/cable/yellow{d2 = 8; icon_state = "0-8"},/turf/simulated/floor/airless,/area/solar/aftportsolar) +"dJX" = (/turf/simulated/floor/airless,/area/solar/aftportsolar) +"dJY" = (/obj/structure/cable/yellow{d2 = 4; icon_state = "0-4"},/turf/simulated/floor/airless,/area/solar/aftportsolar) +"dJZ" = (/obj/structure/cable/yellow{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor/airless,/area/solar/aftportsolar) +"dKa" = (/obj/structure/cable/yellow{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/access_button{command = "cycle_exterior"; frequency = 1379; layer = 3.3; master_tag = "aft_port_solar_airlock"; name = "exterior access button"; pixel_x = 25; pixel_y = -25; req_access = list(); req_one_access = list(11,24)},/turf/simulated/floor/airless,/area/solar/aftportsolar) +"dKb" = (/obj/structure/cable/yellow{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/door/airlock/external{frequency = 1379; icon_state = "door_locked"; id_tag = "aft_port_solar_outer"; locked = 1; name = "Engineering External Access"; req_access = list(11,13)},/turf/simulated/floor/plating,/area/maintenance/solars/aftportsolar) +"dKc" = (/obj/structure/cable/yellow{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/embedded_controller/radio/airlock/airlock_controller{frequency = 1379; id_tag = "aft_port_solar_airlock"; layer = 3.3; pixel_x = 0; pixel_y = 25; req_access = list(13); tag_airpump = "aft_port_solar_pump"; tag_chamber_sensor = "aft_port_solar_sensor"; tag_exterior_door = "aft_port_solar_outer"; tag_interior_door = "aft_port_solar_inner"},/obj/effect/floor_decal/industrial/warning/cee{icon_state = "warningcee"; dir = 8},/obj/machinery/airlock_sensor{frequency = 1379; id_tag = "aft_port_solar_sensor"; layer = 3.3; pixel_x = 0; pixel_y = -25},/obj/machinery/atmospherics/unary/vent_pump/high_volume{dir = 1; frequency = 1379; id_tag = "aft_port_solar_pump"},/turf/simulated/floor/plating,/area/maintenance/solars/aftportsolar) +"dKd" = (/obj/structure/cable/yellow{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/effect/floor_decal/industrial/warning/cee{icon_state = "warningcee"; dir = 4},/obj/machinery/atmospherics/unary/vent_pump/high_volume{dir = 1; frequency = 1379; id_tag = "aft_port_solar_pump"},/obj/machinery/light/small{dir = 1},/turf/simulated/floor/plating,/area/maintenance/solars/aftportsolar) +"dKe" = (/obj/machinery/atmospherics/pipe/simple/hidden{dir = 5; icon_state = "intact"; tag = "icon-intact-f (NORTHEAST)"},/obj/structure/cable/yellow{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/door/airlock/external{frequency = 1379; icon_state = "door_locked"; id_tag = "aft_port_solar_inner"; locked = 1; name = "Engineering External Access"; req_access = list(11,13)},/turf/simulated/floor/plating,/area/maintenance/solars/aftportsolar) +"dKf" = (/obj/machinery/atmospherics/pipe/simple/hidden{dir = 4},/obj/structure/cable/yellow{d1 = 2; d2 = 8; icon_state = "2-8"},/obj/structure/cable/yellow{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/access_button{command = "cycle_interior"; frequency = 1379; layer = 3.3; master_tag = "aft_port_solar_airlock"; name = "interior access button"; pixel_x = -25; pixel_y = 25; req_access = list(); req_one_access = list(11,24)},/turf/simulated/floor/plating,/area/maintenance/solars/aftportsolar) +"dKg" = (/obj/machinery/atmospherics/pipe/simple/hidden{dir = 4},/obj/structure/cable/yellow{d1 = 1; d2 = 8; icon_state = "1-8"},/obj/effect/floor_decal/industrial/warning{icon_state = "warning"; dir = 1},/turf/simulated/floor/plating,/area/maintenance/solars/aftportsolar) +"dKh" = (/obj/machinery/atmospherics/binary/pump/on{dir = 8; target_pressure = 200},/obj/structure/cable{d1 = 1; d2 = 4; icon_state = "1-4"},/obj/structure/cable{d1 = 2; d2 = 4; icon_state = "2-4"},/obj/effect/floor_decal/industrial/warning{icon_state = "warning"; dir = 1},/turf/simulated/floor/plating,/area/maintenance/solars/aftportsolar) +"dKi" = (/obj/machinery/atmospherics/pipe/simple/hidden{dir = 4},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0},/obj/machinery/door/firedoor/border_only,/obj/machinery/door/airlock/engineering{icon_state = "door_closed"; locked = 0; name = "Aft Port Solar Access"; req_access = list(); req_one_access = list(11,24)},/turf/simulated/floor/plating,/area/maintenance/solars/aftportsolar) +"dKj" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/atmospherics/pipe/simple/hidden{dir = 9; icon_state = "intact"; tag = "icon-intact-f (NORTHWEST)"},/obj/effect/floor_decal/industrial/warning{icon_state = "warning"; dir = 8},/turf/simulated/floor/plating,/area/maintenance/thirddeck/aftport) +"dKk" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor/plating,/area/maintenance/thirddeck/aftport) +"dKl" = (/obj/effect/floor_decal/industrial/warning{icon_state = "warning"; dir = 4},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor/plating,/area/maintenance/thirddeck/aftport) +"dKm" = (/obj/structure/lattice,/obj/structure/cable{d1 = 32; d2 = 8; icon_state = "32-8"},/turf/simulated/open,/area/maintenance/thirddeck/aftport) +"dKn" = (/obj/machinery/door/firedoor/glass,/obj/structure/cable/green{d2 = 4; icon_state = "0-4"},/obj/machinery/door/blast/regular{density = 0; dir = 4; icon_state = "pdoor0"; id = "csblast"; name = "Blast Doors"; opacity = 0},/obj/effect/wingrille_spawn/reinforced,/turf/simulated/floor/plating,/area/bridge/meeting_room) +"dKo" = (/obj/machinery/door/firedoor/border_only,/obj/structure/cable/green{d2 = 8; icon_state = "0-8"},/obj/structure/cable/green{d2 = 4; icon_state = "0-4"},/obj/machinery/door/blast/regular{density = 0; dir = 4; icon_state = "pdoor0"; id = "csblast"; name = "Blast Doors"; opacity = 0},/obj/effect/wingrille_spawn/reinforced,/turf/simulated/floor/plating,/area/bridge/meeting_room) +"dKp" = (/obj/machinery/door/firedoor/border_only,/obj/structure/cable/green,/obj/structure/cable/green{d2 = 4; icon_state = "0-4"},/obj/structure/cable/green{d2 = 8; icon_state = "0-8"},/obj/machinery/door/blast/regular{density = 0; dir = 4; icon_state = "pdoor0"; id = "csblast"; name = "Blast Doors"; opacity = 0},/obj/effect/wingrille_spawn/reinforced,/turf/simulated/floor/plating,/area/bridge/meeting_room) +"dKq" = (/obj/machinery/door/firedoor/glass,/obj/structure/cable/green{d2 = 8; icon_state = "0-8"},/obj/machinery/door/blast/regular{density = 0; dir = 4; icon_state = "pdoor0"; id = "csblast"; name = "Blast Doors"; opacity = 0},/obj/effect/wingrille_spawn/reinforced,/turf/simulated/floor/plating,/area/bridge/meeting_room) +"dKr" = (/obj/structure/sign/warning/secure_area,/turf/simulated/wall/r_wall,/area/bridge) +"dKs" = (/obj/machinery/door/firedoor/border_only,/obj/structure/cable/green{d2 = 8; icon_state = "0-8"},/obj/structure/cable/green{d2 = 4; icon_state = "0-4"},/obj/machinery/door/blast/regular{density = 0; dir = 4; icon_state = "pdoor0"; id = "bridge blast"; name = "Bridge Blast Doors"; opacity = 0},/obj/effect/wingrille_spawn/reinforced,/turf/simulated/floor/plating,/area/bridge) +"dKt" = (/obj/machinery/door/firedoor/glass,/obj/structure/cable/green,/obj/structure/cable/green{d2 = 4; icon_state = "0-4"},/obj/structure/cable/green{d2 = 8; icon_state = "0-8"},/obj/machinery/door/blast/regular{density = 0; dir = 4; icon_state = "pdoor0"; id = "bridge blast"; name = "Bridge Blast Doors"; opacity = 0},/obj/effect/wingrille_spawn/reinforced,/turf/simulated/floor/plating,/area/bridge) +"dKu" = (/obj/machinery/door/firedoor/border_only,/obj/structure/cable/green{d2 = 4; icon_state = "0-4"},/obj/structure/cable/green{d2 = 8; icon_state = "0-8"},/obj/machinery/door/blast/regular{density = 0; dir = 4; icon_state = "pdoor0"; id = "bridge blast"; name = "Bridge Blast Doors"; opacity = 0},/obj/effect/wingrille_spawn/reinforced,/turf/simulated/floor/plating,/area/bridge) +"dKv" = (/obj/structure/sign/warning/high_voltage,/turf/simulated/wall/r_wall,/area/crew_quarters/heads/sc/sd) +"dKw" = (/obj/machinery/door/firedoor/glass,/obj/structure/cable/green{d2 = 4; icon_state = "0-4"},/obj/machinery/door/blast/regular{density = 0; dir = 8; icon_state = "pdoor0"; id = "directorblast"; name = "Blast Doors"; opacity = 0},/obj/effect/wingrille_spawn/reinforced,/turf/simulated/floor/plating,/area/crew_quarters/heads/sc/sd) +"dKx" = (/obj/machinery/door/firedoor/border_only,/obj/structure/cable/green{d2 = 8; icon_state = "0-8"},/obj/structure/cable/green{d2 = 4; icon_state = "0-4"},/obj/structure/cable/green,/obj/machinery/door/blast/regular{density = 0; dir = 8; icon_state = "pdoor0"; id = "directorblast"; name = "Blast Doors"; opacity = 0},/obj/effect/wingrille_spawn/reinforced,/turf/simulated/floor/plating,/area/crew_quarters/heads/sc/sd) +"dKy" = (/obj/machinery/door/firedoor/border_only,/obj/structure/cable/green{d2 = 8; icon_state = "0-8"},/obj/structure/cable/green{d2 = 4; icon_state = "0-4"},/obj/machinery/door/blast/regular{density = 0; dir = 8; icon_state = "pdoor0"; id = "directorblast"; name = "Blast Doors"; opacity = 0},/obj/effect/wingrille_spawn/reinforced,/turf/simulated/floor/plating,/area/crew_quarters/heads/sc/sd) +"dKz" = (/obj/machinery/door/firedoor/glass,/obj/structure/cable/green{d2 = 8; icon_state = "0-8"},/obj/machinery/door/blast/regular{density = 0; dir = 8; icon_state = "pdoor0"; id = "directorblast"; name = "Blast Doors"; opacity = 0},/obj/effect/wingrille_spawn/reinforced,/turf/simulated/floor/plating,/area/crew_quarters/heads/sc/sd) +"dKA" = (/obj/effect/floor_decal/industrial/warning/corner{dir = 4},/turf/simulated/floor/plating,/area/maintenance/thirddeck/aftstarboard) +"dKB" = (/obj/effect/floor_decal/industrial/warning{icon_state = "warning"; dir = 1},/obj/structure/cable{d1 = 1; d2 = 4; icon_state = "1-4"},/turf/simulated/floor/plating,/area/maintenance/thirddeck/aftstarboard) +"dKC" = (/obj/effect/floor_decal/industrial/warning/corner{icon_state = "warningcorner"; dir = 1},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor/plating,/area/maintenance/thirddeck/aftstarboard) +"dKD" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor/plating,/area/maintenance/thirddeck/aftstarboard) +"dKE" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/atmospherics/pipe/simple/hidden{dir = 5; icon_state = "intact"; tag = "icon-intact-f (NORTHEAST)"},/obj/effect/floor_decal/industrial/warning{icon_state = "warning"; dir = 4},/turf/simulated/floor/plating,/area/maintenance/thirddeck/aftstarboard) +"dKF" = (/obj/machinery/atmospherics/pipe/simple/hidden{dir = 4},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0},/obj/machinery/door/firedoor/border_only,/obj/machinery/door/airlock/engineering{icon_state = "door_closed"; locked = 0; name = "Aft Starboard Solar Access"; req_access = list(); req_one_access = list(11,24)},/turf/simulated/floor/plating,/area/maintenance/solars/aftstarboardsolar) +"dKG" = (/obj/structure/cable{d1 = 2; d2 = 8; icon_state = "2-8"},/obj/structure/cable{d1 = 1; d2 = 8; icon_state = "1-8"},/obj/machinery/atmospherics/binary/pump/on{dir = 4; target_pressure = 200},/obj/effect/floor_decal/industrial/warning{icon_state = "warning"; dir = 1},/turf/simulated/floor/plating,/area/maintenance/solars/aftstarboardsolar) +"dKH" = (/obj/machinery/atmospherics/pipe/simple/hidden{dir = 4},/obj/effect/floor_decal/industrial/warning{icon_state = "warning"; dir = 1},/obj/structure/cable/yellow{d1 = 1; d2 = 4; icon_state = "1-4"},/turf/simulated/floor/plating,/area/maintenance/solars/aftstarboardsolar) +"dKI" = (/obj/machinery/atmospherics/pipe/simple/hidden{dir = 4},/obj/structure/cable/yellow{d1 = 2; d2 = 4; icon_state = "2-4"},/obj/structure/cable/yellow{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/meter,/obj/machinery/access_button{command = "cycle_interior"; frequency = 1379; layer = 3.3; master_tag = "aft_starboard_solar_airlock"; name = "interior access button"; pixel_x = 25; pixel_y = 25; req_access = list(); req_one_access = list(11,24)},/turf/simulated/floor/plating,/area/maintenance/solars/aftstarboardsolar) +"dKJ" = (/obj/machinery/atmospherics/pipe/simple/hidden{dir = 9; icon_state = "intact"; tag = "icon-intact-f (NORTHWEST)"},/obj/structure/cable/yellow{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/door/airlock/external{frequency = 1379; icon_state = "door_locked"; id_tag = "aft_starboard_solar_inner"; locked = 1; name = "Engineering External Access"; req_access = list(11,13)},/turf/simulated/floor/plating,/area/maintenance/solars/aftstarboardsolar) +"dKK" = (/obj/machinery/atmospherics/unary/vent_pump/high_volume{dir = 1; frequency = 1379; id_tag = "aft_starboard_solar_pump"},/obj/structure/cable/yellow{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/light/small{dir = 1},/turf/simulated/floor/plating,/area/maintenance/solars/aftstarboardsolar) +"dKL" = (/obj/machinery/atmospherics/unary/vent_pump/high_volume{dir = 1; frequency = 1379; id_tag = "aft_starboard_solar_pump"},/obj/structure/cable/yellow{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/embedded_controller/radio/airlock/airlock_controller{frequency = 1379; id_tag = "aft_starboard_solar_airlock"; layer = 3.3; pixel_x = 0; pixel_y = 25; req_access = list(13); tag_airpump = "aft_starboard_solar_pump"; tag_chamber_sensor = "aft_starboard_solar_sensor"; tag_exterior_door = "aft_starboard_solar_outer"; tag_interior_door = "aft_starboard_solar_inner"},/obj/machinery/airlock_sensor{frequency = 1379; id_tag = "aft_starboard_solar_sensor"; layer = 3.3; pixel_x = 0; pixel_y = -25},/turf/simulated/floor/plating,/area/maintenance/solars/aftstarboardsolar) +"dKM" = (/obj/structure/cable/yellow{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/door/airlock/external{frequency = 1379; icon_state = "door_locked"; id_tag = "aft_starboard_solar_outer"; locked = 1; name = "Engineering External Access"; req_access = list(11,13)},/turf/simulated/floor/plating,/area/maintenance/solars/aftstarboardsolar) +"dKN" = (/obj/structure/cable/yellow{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/access_button{command = "cycle_exterior"; frequency = 1379; layer = 3.3; master_tag = "aft_starboard_solar_airlock"; name = "exterior access button"; pixel_x = -25; pixel_y = -25; req_access = list(); req_one_access = list(11,24)},/turf/simulated/floor/airless,/area/solar/aftstarboardsolar) +"dKO" = (/obj/structure/cable/yellow{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor/airless,/area/solar/aftstarboardsolar) +"dKP" = (/obj/structure/cable/yellow{d2 = 8; icon_state = "0-8"},/turf/simulated/floor/airless,/area/solar/aftstarboardsolar) +"dKQ" = (/turf/simulated/floor/airless,/area/solar/aftstarboardsolar) +"dKR" = (/obj/structure/cable/yellow{d2 = 4; icon_state = "0-4"},/turf/simulated/floor/airless,/area/solar/aftstarboardsolar) +"dKS" = (/obj/machinery/power/tracker,/obj/structure/cable/yellow{d2 = 8; icon_state = "0-8"},/turf/simulated/floor/airless,/area/solar/aftstarboardsolar) +"dKT" = (/obj/structure/cable/yellow{d2 = 2; icon_state = "0-2"},/turf/simulated/floor/airless,/area/solar/aftportsolar) +"dKU" = (/obj/structure/cable/yellow,/obj/machinery/power/solar_control{id = "aftportsolar"; name = "Aft Port Solar Control"; track = 0},/turf/simulated/floor/plating,/area/maintenance/solars/aftportsolar) +"dKV" = (/obj/machinery/camera/network/engineering{c_tag = "ENG - Solar Aft Port"; dir = 1},/obj/machinery/light/small,/obj/item/weapon/stool,/turf/simulated/floor/plating,/area/maintenance/solars/aftportsolar) +"dKW" = (/obj/structure/cable,/obj/machinery/power/apc{dir = 2; name = "south bump"; pixel_y = -24},/obj/item/device/radio/intercom{dir = 4; name = "Station Intercom (General)"; pixel_x = 21},/turf/simulated/floor/plating,/area/maintenance/solars/aftportsolar) +"dKX" = (/obj/machinery/light/small{dir = 8},/obj/effect/floor_decal/industrial/warning/corner{icon_state = "warningcorner"; dir = 1},/turf/simulated/floor/plating,/area/maintenance/thirddeck/aftport) +"dKY" = (/obj/effect/floor_decal/industrial/warning/corner{dir = 4},/turf/simulated/floor/plating,/area/maintenance/thirddeck/aftport) +"dKZ" = (/obj/effect/floor_decal/industrial/warning{icon_state = "warning"; dir = 1},/turf/simulated/floor/plating,/area/maintenance/thirddeck/aftport) +"dLa" = (/obj/effect/floor_decal/industrial/warning/corner{dir = 4},/turf/simulated/floor/reinforced/airless,/area/thirddeck/roof) +"dLb" = (/obj/effect/floor_decal/industrial/warning{dir = 1},/turf/simulated/floor/reinforced/airless,/area/thirddeck/roof) +"dLc" = (/obj/effect/floor_decal/industrial/warning/corner{icon_state = "warningcorner"; dir = 1},/turf/simulated/floor/reinforced/airless,/area/thirddeck/roof) +"dLd" = (/obj/structure/sign/warning/high_voltage{pixel_y = 32},/turf/simulated/floor/reinforced/airless,/area/thirddeck/roof) +"dLe" = (/obj/structure/ladder,/obj/effect/floor_decal/industrial/outline/yellow,/turf/simulated/floor/plating,/area/maintenance/thirddeck/aftstarboard) +"dLf" = (/turf/simulated/floor/plating,/area/maintenance/thirddeck/aftstarboard) +"dLg" = (/obj/machinery/light/small{dir = 4; pixel_y = 0},/obj/effect/floor_decal/industrial/warning/corner{icon_state = "warningcorner"; dir = 4},/turf/simulated/floor/plating,/area/maintenance/thirddeck/aftstarboard) +"dLh" = (/obj/structure/cable,/obj/item/device/radio/intercom{dir = 8; name = "Station Intercom (General)"; pixel_x = -21},/obj/machinery/power/apc{dir = 2; name = "south bump"; pixel_y = -24},/obj/structure/table/steel,/obj/item/stack/cable_coil/yellow,/obj/item/stack/cable_coil/yellow,/obj/item/stack/cable_coil/yellow,/obj/item/stack/cable_coil/yellow,/turf/simulated/floor/plating,/area/maintenance/solars/aftstarboardsolar) +"dLi" = (/obj/machinery/light/small,/obj/machinery/camera/network/engineering{c_tag = "ENG - Solar Aft Starboard"; dir = 1},/turf/simulated/floor/plating,/area/maintenance/solars/aftstarboardsolar) +"dLj" = (/obj/structure/cable/yellow,/obj/machinery/power/solar_control{id = "aftstarboardsolar"; name = "Aft Starboard Solar Control"; track = 0},/turf/simulated/floor/plating,/area/maintenance/solars/aftstarboardsolar) +"dLk" = (/obj/structure/cable/yellow{d2 = 2; icon_state = "0-2"},/turf/simulated/floor/airless,/area/solar/aftstarboardsolar) +"dLl" = (/obj/structure/cable/yellow{d1 = 1; d2 = 4; icon_state = "1-4"},/obj/structure/cable/yellow{d1 = 1; d2 = 8; icon_state = "1-8"},/obj/structure/cable/yellow{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor/airless,/area/solar/aftportsolar) +"dLm" = (/obj/structure/table/steel,/obj/random/maintenance/cargo,/obj/random/maintenance/cargo,/obj/random/maintenance/clean,/obj/random/maintenance/clean,/turf/simulated/floor/plating,/area/maintenance/thirddeck/aftport) +"dLn" = (/obj/machinery/alarm{dir = 1; pixel_y = -22},/obj/structure/table/steel,/obj/random/maintenance/cargo,/obj/random/maintenance/cargo,/obj/random/maintenance/clean,/obj/random/maintenance/clean,/turf/simulated/floor/plating,/area/maintenance/thirddeck/aftport) +"dLo" = (/obj/structure/closet/wardrobe/grey,/obj/item/weapon/storage/backpack,/obj/item/weapon/storage/backpack,/obj/random/maintenance/cargo,/obj/random/maintenance/cargo,/obj/random/maintenance/cargo,/turf/simulated/floor/plating,/area/maintenance/thirddeck/aftport) +"dLp" = (/obj/structure/closet/firecloset/full,/obj/random/maintenance/clean,/obj/random/maintenance/clean,/obj/random/maintenance/security,/turf/simulated/floor/plating,/area/maintenance/thirddeck/aftport) +"dLq" = (/obj/structure/table/rack,/obj/item/weapon/extinguisher,/obj/item/clothing/head/hardhat/red,/obj/item/clothing/mask/gas,/obj/item/device/flashlight,/obj/item/clothing/glasses/meson,/obj/random/maintenance/cargo,/turf/simulated/floor,/area/maintenance/thirddeck/aftport) +"dLr" = (/obj/structure/table/rack{dir = 4},/obj/item/weapon/storage/toolbox/mechanical,/obj/random/maintenance/engineering,/obj/random/maintenance/engineering,/obj/random/maintenance/engineering,/obj/random/maintenance/medical,/turf/simulated/floor,/area/maintenance/thirddeck/aftstarboard) +"dLs" = (/obj/machinery/floodlight,/turf/simulated/floor/plating,/area/maintenance/thirddeck/aftstarboard) +"dLt" = (/obj/machinery/alarm{dir = 1; pixel_y = -22},/obj/machinery/portable_atmospherics/powered/scrubber,/turf/simulated/floor/plating,/area/maintenance/thirddeck/aftstarboard) +"dLu" = (/obj/machinery/portable_atmospherics/powered/pump/filled,/turf/simulated/floor/plating,/area/maintenance/thirddeck/aftstarboard) +"dLv" = (/obj/structure/cable/yellow{d1 = 1; d2 = 8; icon_state = "1-8"},/obj/structure/cable/yellow{d1 = 1; d2 = 4; icon_state = "1-4"},/obj/structure/cable/yellow{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor/airless,/area/solar/aftstarboardsolar) +"dLw" = (/obj/structure/cable/yellow{d1 = 1; d2 = 4; icon_state = "1-4"},/obj/structure/cable/yellow{d1 = 1; d2 = 8; icon_state = "1-8"},/turf/simulated/floor/airless,/area/solar/aftportsolar) +"dLx" = (/obj/structure/cable/yellow{d1 = 1; d2 = 8; icon_state = "1-8"},/obj/structure/cable/yellow{d1 = 1; d2 = 4; icon_state = "1-4"},/turf/simulated/floor/airless,/area/solar/aftstarboardsolar) +"dLy" = (/turf/space,/area/syndicate_station/thirddeck) +"dLz" = (/obj/effect/landmark/map_data{height = 3},/turf/space,/area/space) (1,1,1) = {" aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa @@ -10506,57 +10508,57 @@ aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadezdezdezdezdezdezdezdjtdjudhDdgzdjvdjwdjxdjydjzdgydjAdhJdjBdjCdjDdhmdjEdjFdjGdhndhPcMccMbdhQdjHdjIdiAdjJdjKdhSdiCdjLdjmdjMdjNdjOdjodjPdjQdjRdjodjSdeLdjTdjUdevdevdevaafaafaafaadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadezdjVdjWdimdgzdjXdhfdjXdjYdjZdgydkadhJdkbdhJdkcdhmdkddkedkfdhndkgcMccMbdhQdjHdkhdkidkjdkkdhSdkldkmdjmdkndkodkpdjodkqdkrdksdjodktdeLdkudkvdevaaaaaaaaaaaaaaaaagaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadkwdkwdkwdkwdkwaaaaaaaaaaaaaaaaaadezdkxdkydgGdgydkzdkAdkBdjXdkCdkDdkEdkFdkGdkFdkHdhmdhmdhmdhmdkIdkJdkKdkLdkMdkJdkNdkOdkPdkkdkQdhSdkmdjmdkRdkSdkTdjodkUdkVdkWdjodjSdeLdkXdkYdevaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadkwdkwdkwdkwdkwdkwdkwaaaaaaaaaaaadkJdkJdkZdladlbdgydgydgzdgzdgzdgydgydlcdhjdhjdhjdlcdlddledlfdlbdlgdlfdladlhdkZdlidkJdlddljdljdljdljdlddjmdjmdjmdjmdjodjodjodjodjodeLdeLdlkdlldkJdkJaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadkwdkwdkwdkwdkwdkwdkwaaaaaaaaaaaadkJdlmdkZdladladljdlndladlodlpdlqdlpdlrdlrdlpdlsdlpdladkZdladladltdladlodludkZdladltdladladlodladlpdlpdlpdlrdlvdlsdlqdlpdladladlndljdladlwdlxdlydkJaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadkwdkwdkwdkwdkwdkwdkwaaaaaaaaaaaadkJdlzdlAdlBdlCdlDdlEdlEdlFdlEdlEdlCdlGdlEdlEdlFdlEdlEdlHdlEdlEdlDdlEdlIdlJdlHdlEdlDdlEdlEdlFdlEdlEdlCdlEdlEdlGdlFdlEdlEdlCdlEdlEdlDdlCdlKdlLdlMdkJaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadkwdkwdkwdkwdkwdkwdkwaaaaaaaaaaaadkJdkJdlNdlOdlPdltdladlQdlRdlSdladlPdlTdlUdlVdladladlSdlWdkJdlddkJdlXdkZdlYdlPdlZdkJdlddkJdmadlSdladlPdmbdlUdladladladlSdmcdlQdladltdlPdlOdmddkJdkJaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadkwdkwdkwdkwdkwdkwdkwaaaaaaaaaaaaaaadmedmfdmgdmedkJdljdkJdkJdljdmhdljdkJdkJdkJdljdmhdljdkJdkJaaadmidmjdmkdmldmmdmndmiaaadkJdkJdljdmhdljdkJdkJdkJdljdmhdljdkJdkJdljdkJdmodmpdmqdmoaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadkwdkwdkwdkwdkwdkwdkwaaaaaaaaaaaaaaadmedmrdmsdmtaaaaaaaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaaaaaadmudmvdmwdmxdmuaaaaaaaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaaaaaadmydmzdmAdmoaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadkwdkwdkwdkwdkwdkwdkwdkwdkwaaaaaaaaadmtdmedmBdmsdmCaaaaaaaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaaaaaadmDdmvdmwdmxdmDaaaaaaaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaaaaaadmEdmzdmFdmodmyaaaaaaaaadmGdmGdmGdmGdmGdmGdmGdmGdmGdmGdmGdmGaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadkwdkwdkwdkwdkwdkwdkwdkwdkwdmHdmIdmtdmtdmJdmKdmLdmtaaaaaaaafaaaaaadmMdmMdmMdmMdmMdmMdmMaaaaaaaafaaaaaadmudmvdmNdmOdmuaaaaaaaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaaaaaadmydmPdmQdmRdmydmydmSdmTdmGdmGdmGdmGdmGdmGdmGdmGdmGdmGdmGdmGdmGaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadkwdkwdkwdkwdkwdkwdkwdkwdkwdmUdmVdmWdmXdmYdmZdnadmeaaaaaaaafaaadmMdmMdmMdmMdmMdmMdmMdmMdmMaaaaafaaaaaadmidnbdmwdncdmiaaaaaaaafaaaaaadnddnednednednednedndaaaaaaaafaaaaaadmodnfdngdnhdnidnjdnkdnldmGdmGdmGdmGdmGdmGdmGdmGdmGdmGdmGdmGdmGaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadkwdkwdkwdkwdkwdkwdkwdkwdkwdmIdnmdnndnodnpdnqdnrdmtaaaaaaaafaafdmMdmMdmMdmMdmMdmMdmMdmMdmMaafaafaaaaaadmudmxdmwdmxdmuaaaaaaaafaafdnddnsdntdntdntdntdntdnsdndaafaafaaaaaadmydnudnvdnwdnxdnydnzdmSdmGdmGdmGdmGdmGdmGdmGdmGdmGdmGdmGdmGdmGaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadkwdkwdkwdkwdkwdkwdkwdkwdkwaaaaaaaaadmtdmtdmrdnAdmtaaaaaaaafaaadmMdmMdmMdmMdmMdmMdmMdmMdmMaaaaafaaaaaadmudmxdmwdmxdmuaaaaaaaafaaadnednBdnCdnCdntdnCdnCdnBdneaaaaafaaaaaadmydnDdmAdmydmyaaaaaaaaadmGdmGdmGdmGdmGdmGdmGdmGdmGdmGdmGdmGaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadkwdkwdkwaaaaaaaaadkwdkwdkwaaaaaaaaaaaadmtdmrdnEdmtaaaaaaaafaaadmMdmMdmMdmMdmMdmMdmMdmMdmMaaaaafaaaaaadmudnFdmwdmxdmuaaaaaaaafaaadnddntdnGdntdntdntdnGdntdndaaaaafaaaaaadmydnHdmAdmyaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadkwdkwaaaaaaaaaaaaaaadkwdkwaaaaaaaaaaaadmednIdnJdmeaaaaaaaaadmMdmMdmMdmMdmMdmMdmMdmMdmMdmMdmMaaaaaaaaadmidnKdnLdnMdmiaaaaaaaaadnddnsdnddnddnddnNdnddnddnddnsdndaaaaaaaaadmodnOdnPdmoaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadnQdmedmedmedmednRdnSdnodnTdnUdmHdmMdmMdmMdmMdmMdmMdmMdmMdmMdmMdmMdnVdnWdnXdnYdnZdoadobdmudmudocdnVdnddoddntdoedntdntdntdoedntdoddnddmTdmSdofdmydogdohdmodmodmodmodoiaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadmedojdokdoldomdondoodmMdmMdmMdmMdmMdmMdmMdmMdmMdmMdmMdopdoqdordosdotdmwdoudovdowdoxdoydnNdntdntdntdntdntdntdntdntdntdnNdozdoAdoBdoCdoDdoEdmoaaaaaaaaaaaadoFdoFaaaaaaaaaaaaaaadoFdoFaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadmtdmrdoGdoldoHdoIdoJdmMdmMdmMdmMdmMdmMdmMdmMdmMdmMdmMdoKdoLdoMdosdoNdmwdoudovdoOdoPdoydnNdntdntdoQdoRdntdoQdoRdntdntdnNdozdoSdoTdoCdoDdmAdmyaaaaaaaaaaaadoFdoFdoFaaaaaaaaadoFdoFdoFaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadoUdoUdoUdoUdoUdoUdoUdoUdoUdoUdoUaaaaaaaaaaaadmtdmtdoVdoWdnodoXdoYdmIdmMdmMdmMdmMdmMdmMdmMdmMdmMdmMdmMdocdoZdpadnYdpbdpcdpddmudmudocdocdpedpfdntdoQdoRdpgdoQdoRdntdphdpedmSdmSdofdmydpidpjdmydmyaaaaaaaaadoFdoFdoFdoFdoFdoFdoFdoFdoFaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadoUdoUdoUdoUdoUdoUdoUdoUdoUdoUdoUdoUdpkdpldpmdnodpndnqdnrdpodmtaaaaaadmMdmMdmMdmMdmMdmMdmMdmMdmMdmMdmMaaaaaadmudppdmxdmwdmxdpqdmuaaaaaadnedprdntdoQdpsdntdptdoRdntdpudneaaaaaadmydpvdnudnvdpwdnxdpxdpydmSdoFdoFdoFdoFdoFdoFdoFdoFdoFaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadoUdoUdoUdoUdoUdoUdoUdoUdoUdoUdoUdoUdpzdpAdpBdpCdpDdmZdnAdpEdmeaaaaaadmMdmMdmMdmMdmMdmMdmMdmMdmMdmMdmMaaaaaadmidpFdmxdpGdmxdpHdmiaaaaaadnedpIdntdoQdpsdpJdptdoRdntdpKdneaaaaaadmodpLdnDdngdpMdpNdpOdpPdpQdoFdoFdoFdoFdoFdoFdoFdoFdoFaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadoUdoUdoUdoUdoUdoUdoUdoUdoUdoUdoUdoUdmIdmIdmtdmtdpRdpSdpTdpodmtaaaaaadmMdmMdmMdmMdmMdmMdmMdmMdmMdmMdmMaaaaaadmudppdmxdpUdpVdpqdmuaaaaaadnedprdntdoQdpsdntdptdoRdntdpudneaaaaaadmydpvdpWdpXdpYdmydmydmSdmTdoFdoFdoFdoFdoFdoFdoFdoFdoFaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadoUdoUdoUdoUdoUdoUdoUdoUdoUdoUdoUaaaaaaaaaaaadmtdmtdpZdqadnodnTdnUdmIdmMdmMdmMdmMdmMdmMdmMdmMdmMdmMdmMdocdnWdnXdnYdqbdqcdqddmudmudocdocdpedpfdntdoQdoRdntdoQdoRdntdphdpedmSdmSdofdmydqedqfdmydmyaaaaaaaaadoFdoFdoFdoFdoFdoFdoFdoFdoFaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadmtdmrdqgdqhdqidqjdqkdmMdmMdmMdmMdmMdmMdmMdmMdmMdmMdmMdqldqmdqndqodoNdqpdoudovdqqdoxdoydnNdntdntdoQdoRdntdoQdoRdntdntdnNdozdoAdqrdoCdqsdmAdmyaaaaaaaaaaaaaaadoFdoFdoFdoFdoFdoFdoFaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadmedmrdqtdqhdqudqvdqwdmMdmMdmMdmMdmMdmMdmMdmMdmMdmMdmMdqxdqydqzdqodqAdqpdoudovdqBdoPdoydnNdntdntdntdntdntdntdntdntdntdnNdozdoSdqCdoCdqsdmAdmoaaaaaaaaaaaaaaadoFdoFdoFdoFdoFdoFdoFaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadnQdmedmedmedmedqDdqEdnodoXdoYdmHdmMdmMdmMdmMdmMdmMdmMdmMdmMdmMdmMdnVdoZdpadnYdqFdqcdqGdmudmudocdnVdnddoddntdnGdntdntdntdnGdntdoddnddmTdmSdofdmydqHdqIdmodmodmodmodoiaaadoFdoFdoFdoFdoFdoFdoFaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadmedqJdqKdmeaaaaaaaaadmMdmMdmMdmMdmMdmMdmMdmMdmMdmMdmMaaaaaaaaadmidqLdqMdqNdmiaaaaaaaaadnddqOdqOdnsdnddnddnddnsdqOdqOdndaaaaaaaaadmodqPdqQdmoaaaaaaaaaaaaaaadoFdoFdoFdoFdoFdoFdoFaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadmtdqRdqSdmtaaaaaaaaadmMdmMdmMdmMdmMdmMdmMdmMdmMdmMdmMaaaaaaaaadmDdqTdqUdmxdmDaaaaaaaaadnddqVdqVdnddqWdqWdqWdnddqVdqVdndaaaaaaaaadmydqXdqYdmyaaaaaaaaaaaaaaadoFdoFdoFdoFdoFdoFdoFaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadqZdradrbdrcaaaaaaaaadmMdmMdmMdmMdmMdmMdmMdmMdmMdmMdmMaaaaaaaaadmudobdrddredmuaaaaaaaaaaaaaaaaaadnddqVdqVdqVdndaaaaaaaaaaaaaaaaaadrfdrgdrhdriaaaaaaaaaaaaaaadoFdoFdoFdoFdoFdoFdoFaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadrjdrkdrldrjaaaaaaaaadmMdmMdmMdmMdmMdmMdmMdmMdmMdmMdmMaaaaaaaaadmidmudrmdmidmiaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadrndrodrodrnaaaaaaaaaaaaaaaaaadoFdoFdoFdoFdoFaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadrpdrqdrrdrsaaaaaaaaadmMdmMdmMdmMdmMdmMdmMdmMdmMdmMdmMaaaaaaaaadmudrtdrudrvdmuaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadrwdrxdrydrzaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadnmdrAdrBdoYaaaaaaaaaaaaaaaaaadmMdmMdmMdmMdmMaaaaaaaaaaaaaaaaaadocdrCdrDdrEdocaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadrFdrGdrHdnzaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadnQdrIdrJdmeaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadrKdocdrLdmidmiaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadmodrMdrNdoiaaaaaaaaaaaaaaaaaadrOdrOdrOdrOdrOdrOdrOdrOdrOdrOdrOdrOaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadrPdrPdrPdrPaaaaaaaaaaaadrPdrPdrPdrPdrPaaaaaaaaaaaadrQdrQdrQdrQdrQdrQdrQdrQdrQdrQdrQdrQaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadrOdrOdrOdrOaaaaaaaaadrOdrOdrOdrOdrOdrOdrOdrOdrOdrOdrOdrOdrOdrOdrOaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadrPdrPdrPdrPdrPdrPdrPdrPdrPdrPaaaaaaaaaaaaaaadrPdrPdrPdrPdrPdrPaaaaaadrPdrPdrPdrPdrPdrPaaaaaaaaadrQdrQdrQdrQdrQdrQdrQdrQdrQdrQdrQdrQdrQdrQdrQaaaaaaaaaaaaaaaaaaaaaaaadrOdrOdrOdrOdrOdrOdrOdrOdrOdrOdrOdrOdrOdrOdrOdrOdrOdrOdrOdrOdrOdrOdrOdrOdrOdrOaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadrPdrPdrPdrPdrPdrPdrPdrPdrPdrPdrPdrPaaaaaaaaadrPdrPdrPdrPdrPdrPdrPdrPdrPdrPdrPdrPdrPdrPdrPaaaaaadrQdrQdrQdrQdrQdrQdrQdrQdrQdrQdrQdrQdrQdrQdrQdrQdrQaaaaaaaaaaaaaaadrOdrOdrOdrOdrOdrOdrOdrOdrOdrOdrOdrOdrOdrOdrOdrOdrOdrOdrOdrOdrOdrOdrOdrOdrOdrOdrOdrOaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadrPdrPdrPdrPdrPdrPdrPdrPdrPdrPdrPdrPdrPdrPdrPdrPdrPdrPdrPdrPdrPdrPdrPdrPdrPdrPdrPdrPdrPdrPaaadrQdrQdrQdrQdrQdrQdrQdrQdrQdrQdrQdrQdrQdrQdrQdrQdrQdrQaaaaaaaaadrOdrOdrOdrOdrOdrOdrOdrOdrOdrOdrOdrOdrOdrOdrOdrOdrOdrOdrOdrOdrOdrOdrOdrOdrOdrOdrOdrOdrOdrOaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadrPdrPdrPdrPdrPdrPdrPdrPdrPdrPdrPdrPdrPdrPdrPdrPdrPdrPdrPdrPdrPdrPdrPdrPdrPdrPdrPdrPdrPdrPaaadrQdrQdrQdrQdrQdrQdrQdrQdrQdrQdrQdrQdrQdrQdrQdrQdrQdrQaaaaaadrOdrOdrOdrOdrOdrOdrOdrOdrOdrOdrOdrOdrOdrOdrOdrOdrOdrOdrOdrOdrOdrOdrOdrOdrOdrOdrOdrOdrOdrOdrOdrOaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadrPdrPdrPdrPdrPdrPdrPdrPdrPdrPdrPdrPdrPdrPdrPdrPdrPdrPdrPdrPdrPdrPdrPdrPdrPdrPdrPdrPdrPdrPaaadrQdrQdrQdrQdrQdrQdrQdrQdrQdrQdrQdrQdrQdrQdrQdrQdrQdrQaaaaaadrOdrOdrOdrOdrOdrOdrOdrOdrOdrOdrOdrOdrOdrOdrOdrOdrOdrOdrOdrOdrOdrOdrOdrOdrOdrOdrOdrOdrOdrOdrOdrOdrOaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadrPdrPdrPdrPdrPdrPdrPdrPdrPdrPdrPdrPdrPdrPdrPdrPdrPdrPdrPdrPdrPdrPdrPdrPdrPaaaaaadrQdrQdrQdrQdrQdrQdrQdrQdrQdrQdrQdrQdrQaaaaaaaaaaaaaaaaaaaaadrOdrOdrOdrOdrOdrOdrOdrOdrOdrOdrOdrOdrOdrOdrOdrOdrOdrOdrOdrOdrOdrOdrOdrOdrOdrOdrOdrOdrOdrOdrOdrOdrOdrOaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadrPdrPdrPdrPdrPdrPdrPdrPdrPdrPdrPdrPdrPdrPdrPdrPdrPdrPdrPdrPdrPdrPdrPdrPdrPdrPdrPdrPdrPdrPdrPdrPdrPaaaaaaaaaaaadrQdrQdrQdrQdrQdrQdrQdrQdrQdrQdrQdrQaaaaaaaaaaaaaaaaaaaaadrOdrOdrOdrOdrOdrOdrOdrOdrOdrOdrOdrOdrOdrOdrOdrOdrOdrOdrOdrOdrOdrOdrOdrOdrOdrOdrOdrOdrOdrOdrOdrOdrOdrOaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadrPdrPdrPdrPdrPdrPdrPdrPdrPdrPdrPdrPdrPdrPdrPdrPdrPdrPdrPdrPdrPdrPdrPdrPdrPdrPdrPdrPdrPdrPdrPdrPdrPdrPaaaaaaaaadrQdrQdrQdrQdrQdrQdrQdrQdrQdrQdrQdrQdrQaaaaaaaaaaaaaaaaaaaaadrOdrOdrOdrOdrOdrOdrOdrOdrOdrOdrOdrOdrOdrOdrOdrOdrOdrOdrOdrOdrOdrOdrOdrOdrOdrOdrOdrOdrOdrOdrOdrOdrOdrOaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadrPdrPdrPdrPdrPdrPdrPdrPdrPdrPdrPdrPdrPdrPdrPdrPdrPdrPdrPdrPdrPdrPdrPdrPdrPdrPdrPdrPdrPdrPdrPdrPdrPdrPaaaaaaaaadrQdrQdrQdrQdrQdrQdrQdrQdrQdrQdrQdrQdrQdrQdrQdrQdrQdrQaaaaaadrOdrOdrOdrOdrOdrOdrOdrOdrOdrOdrOdrOdrOdrOdrOdrOdrOdrOdrOdrOdrOdrOdrOdrOdrOdrOdrOdrOdrOdrOdrOdrOdrOaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadrPdrPdrPdrPdrPdrPdrPdrPdrPdrPdrPdrPdrPdrPdrPdrPdrPdrPdrPdrPdrPdrPdrPdrPdrPdrPdrPdrPdrPdrPdrPdrPdrPdrPaaaaaaaaadrQdrQdrQdrQdrQdrQdrQdrQdrQdrQdrQdrQdrQdrQdrQdrQdrQdrQaaaaaadrOdrOdrOdrOdrOdrOdrOdrOdrOdrOdrOdrOdrOdrOdrOdrOdrOdrOdrOdrOdrOdrOdrOdrOdrOdrOdrOdrOdrOdrOdrOdrOaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadrPdrPdrPdrPdrPdrPdrPdrPdrPdrPdrPdrPdrPdrPdrPdrPdrPdrPdrPdrPdrPdrPdrPdrPdrPdrPdrPdrPdrPdrPdrPdrPdrPdrPaaaaaaaaadrQdrQdrQdrQdrQdrQdrQdrQdrQdrQdrQdrQdrQdrQdrQdrQdrQdrQaaaaaaaaadrOdrOdrOdrOdrOdrOdrOdrOdrOdrOdrOdrOdrOdrOdrOdrOdrOdrOdrOdrOdrOdrOdrOdrOdrOdrOdrOdrOdrOdrOaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadrPdrPdrPdrPdrPdrPdrPdrPdrPdrPdrPdrPdrPdrPdrPdrPdrPdrPdrPdrPdrPdrPdrPdrPdrPdrPdrPdrPdrPdrPdrPdrPdrPaaaaaaaaaaaadrQdrQdrQdrQdrQdrQdrQdrQdrQdrQdrQdrQdrQdrQdrQdrQdrQaaaaaaaaaaaaaaadrOdrOdrOdrOdrOdrOdrOdrOdrOdrOdrOdrOdrOdrOdrOdrOdrOdrOdrOdrOdrOdrOdrOdrOdrOdrOdrOdrOaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadrPdrPdrPdrPdrPdrPdrPdrPdrPdrPdrPdrPdrPdrPdrPdrPdrPdrPdrPdrPdrPdrPdrPdrPdrPaaaaaaaaaaaadrQdrQdrQdrQdrQdrQdrQdrQdrQdrQdrQdrQdrQdrQdrQaaaaaaaaaaaaaaaaaaaaaaaadrOdrOdrOdrOdrOdrOdrOdrOdrOdrOdrOdrOdrOdrOdrOdrOdrOdrOdrOdrOdrOdrOdrOdrOdrOdrOaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadrPdrPdrPdrPdrPdrPdrPdrPdrPdrPdrPdrPdrPdrPdrPdrPdrPdrPdrPdrPdrPdrPdrPdrPdrPdrPdrPdrPdrPdrPaaaaaaaaaaaadrQdrQdrQdrQdrQdrQdrQdrQdrQdrQdrQdrQaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadrOdrOdrOdrOaaaaaaaaadrOdrOdrOdrOdrOdrOdrOdrOdrOdrOdrOdrOdrOdrOdrOaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadrPdrPdrPdrPdrPdrPdrPdrPdrPdrPdrPdrPdrPdrPdrPdrPdrPdrPdrPdrPdrPdrPdrPdrPdrPdrPdrPdrPdrPdrPaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadrOdrOdrOdrOdrOdrOdrOdrOdrOdrOdrOdrOaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadrPdrPdrPdrPdrPdrPdrPdrPdrPdrPdrPdrPdrPdrPdrPdrPdrPdrPdrPdrPdrPdrPdrPdrPdrPdrPdrPdrPdrPdrPaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadrPdrPdrPdrPdrPdrPdrPdrPdrPdrPdrPdrPaaaaaaaaadrPdrPdrPdrPdrPdrPdrPdrPdrPdrPdrPdrPdrPdrPdrPaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadrPdrPdrPdrPdrPdrPdrPdrPdrPdrPaaaaaaaaaaaaaaadrPdrPdrPdrPdrPdrPaaaaaadrPdrPdrPdrPdrPdrPaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadrPdrPdrPdrPaaaaaaaaaaaadrPdrPdrPdrPdrPaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadkZdkZdkZdkZdkZaaaaaaaaadladlaaaaaaaaaaaaaaaadladlaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadkwdkwdkwdkwdkwdkwdkwaaaaaaaaaaaadkJdkJdlbdlcdlddgydgydgzdgzdgzdgydgydledhjdhjdhjdledlfdlgdlhdlddlidlhdlcdljdlbdlkdkJdlfdlldlldlldlldlfdjmdjmdjmdjmdjodjodjodjodjodeLdeLdlmdlndkJdkJaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadkZdkZdkZdkZdkZdkZdkZaaaaaadladladlaaaaaaaaaadladladlaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadkwdkwdkwdkwdkwdkwdkwaaaaaaaaaaaadkJdlodlbdlcdlcdlldlpdlcdlqdlrdlsdlrdltdltdlrdludlrdlcdlbdlcdlcdlvdlcdlqdlwdlbdlcdlvdlcdlcdlqdlcdlrdlrdlrdltdlxdludlsdlrdlcdlcdlpdlldlcdlydlzdlAdkJaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadkZdkZdkZdkZdkZdkZdkZaaaaaadladladladladladladladladlaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadkwdkwdkwdkwdkwdkwdkwaaaaaaaaaaaadkJdlBdlCdlDdlEdlFdlGdlGdlHdlGdlGdlEdlIdlGdlGdlHdlGdlGdlJdlGdlGdlFdlGdlKdlLdlJdlGdlFdlGdlGdlHdlGdlGdlEdlGdlGdlIdlHdlGdlGdlEdlGdlGdlFdlEdlMdlNdlOdkJaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadkZdkZdkZdkZdkZdkZdkZaaaaaadladladladladladladladladlaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadkwdkwdkwdkwdkwdkwdkwaaaaaaaaaaaadkJdkJdlPdlQdlRdlvdlcdlSdlTdlUdlcdlRdlVdlWdlXdlcdlcdlUdlYdkJdlfdkJdlZdlbdmadlRdmbdkJdlfdkJdmcdlUdlcdlRdmddlWdlcdlcdlcdlUdmedlSdlcdlvdlRdlQdmfdkJdkJaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadkZdkZdkZdkZdkZdkZdkZaaaaaadladladladladladladladladlaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadkwdkwdkwdkwdkwdkwdkwaaaaaaaaaaaaaaadmgdmhdmidmgdkJdlldkJdkJdlldmjdlldkJdkJdkJdlldmjdlldkJdkJaaadmkdmldmmdmndmodmpdmkaaadkJdkJdlldmjdlldkJdkJdkJdlldmjdlldkJdkJdlldkJdmqdmrdmsdmqaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadkZdkZdkZdkZdkZdkZdkZaaaaaadladladladladladladladladlaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadkwdkwdkwdkwdkwdkwdkwaaaaaaaaaaaaaaadmgdmtdmudmvaaaaaaaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaaaaaadmwdmxdmydmzdmwaaaaaaaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaaaaaadmAdmBdmCdmqaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadkZdkZdkZdkZdkZdkZdkZaaaaaadladladladladladladladladlaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadkwdkwdkwdkwdkwdkwdkwdkwdkwaaaaaaaaadmvdmgdmDdmudmEaaaaaaaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaaaaaadmFdmxdmydmzdmFaaaaaaaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaaaaaadmGdmBdmHdmqdmAaaaaaaaaadmIdmIdmIdmIdmIdmIdmIdmIdmIdmIdmIdmIaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadkZdkZdkZdkZdkZdkZdkZdkZdkZaaaaaadladladladladladladlaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadkwdkwdkwdkwdkwdkwdkwdkwdkwdmJdmKdmvdmvdmLdmMdmNdmvaaaaaaaafaaaaaadmOdmOdmOdmOdmOdmOdmOaaaaaaaafaaaaaadmwdmxdmPdmQdmwaaaaaaaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaaaaaadmAdmRdmSdmTdmAdmAdmUdmVdmIdmIdmIdmIdmIdmIdmIdmIdmIdmIdmIdmIdmIaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadkZdkZdkZdkZdkZdkZdkZdkZdkZaaaaaadladladladladladladlaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadkwdkwdkwdkwdkwdkwdkwdkwdkwdmWdmXdmYdmZdnadnbdncdmgaaaaaaaafaaadmOdmOdmOdmOdmOdmOdmOdmOdmOaaaaafaaaaaadmkdnddmydnedmkaaaaaaaafaaaaaadnfdngdngdngdngdngdnfaaaaaaaafaaaaaadmqdnhdnidnjdnkdnldnmdnndmIdmIdmIdmIdmIdmIdmIdmIdmIdmIdmIdmIdmIaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadkZdkZdkZdkZdkZdkZdkZdkZdkZaaaaaadladladladladladladlaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadkwdkwdkwdkwdkwdkwdkwdkwdkwdmKdnodnpdnqdnrdnsdntdmvaaaaaaaafaafdmOdmOdmOdmOdmOdmOdmOdmOdmOaafaafaaaaaadmwdmzdmydmzdmwaaaaaaaafaafdnfdnudnvdnvdnvdnvdnvdnudnfaafaafaaaaaadmAdnwdnxdnydnzdnAdnBdmUdmIdmIdmIdmIdmIdmIdmIdmIdmIdmIdmIdmIdmIaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadkZdkZdkZdkZdkZdkZdkZdkZdkZaaaaaadladladladladladladlaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadkwdkwdkwdkwdkwdkwdkwdkwdkwaaaaaaaaadmvdmvdmtdnCdmvaaaaaaaafaaadmOdmOdmOdmOdmOdmOdmOdmOdmOaaaaafaaaaaadmwdmzdmydmzdmwaaaaaaaafaaadngdnDdnEdnEdnvdnEdnEdnDdngaaaaafaaaaaadmAdnFdmCdmAdmAaaaaaaaaadmIdmIdmIdmIdmIdmIdmIdmIdmIdmIdmIdmIaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadkZdkZdkZdkZdkZdkZdkZdkZdkZaaaaaadladladladladladladlaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadkwdkwdkwaaaaaaaaadkwdkwdkwaaaaaaaaaaaadmvdmtdnGdmvaaaaaaaafaaadmOdmOdmOdmOdmOdmOdmOdmOdmOaaaaafaaaaaadmwdnHdmydmzdmwaaaaaaaafaaadnfdnvdnIdnvdnvdnvdnIdnvdnfaaaaafaaaaaadmAdnJdmCdmAaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadkZdkZdkZaaaaaaaaadkZdkZdkZaaaaaadladladladladladladlaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadkwdkwaaaaaaaaaaaaaaadkwdkwaaaaaaaaaaaadmgdnKdnLdmgaaaaaaaaadmOdmOdmOdmOdmOdmOdmOdmOdmOdmOdmOaaaaaaaaadmkdnMdnNdnOdmkaaaaaaaaadnfdnudnfdnfdnfdnPdnfdnfdnfdnudnfaaaaaaaaadmqdnQdnRdmqaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadkZdkZaaaaaaaaaaaaaaadkZdkZaaaaaaaaadladladladladlaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadnSdmgdmgdmgdmgdnTdnUdnqdnVdnWdmJdmOdmOdmOdmOdmOdmOdmOdmOdmOdmOdmOdnXdnYdnZdoadobdocdoddmwdmwdoednXdnfdofdnvdogdnvdnvdnvdogdnvdofdnfdmVdmUdohdmAdoidojdmqdmqdmqdmqdokaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadmgdoldomdondoodopdoqdmOdmOdmOdmOdmOdmOdmOdmOdmOdmOdmOdordosdotdoudovdmydowdoxdoydozdoAdnPdnvdnvdnvdnvdnvdnvdnvdnvdnvdnPdoBdoCdoDdoEdoFdoGdmqaaaaaaaaaaaadoHdoHaaaaaaaaaaaaaaadoHdoHaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadmvdmtdoIdondoJdoKdoLdmOdmOdmOdmOdmOdmOdmOdmOdmOdmOdmOdoMdoNdoOdoudoPdmydowdoxdoQdoRdoAdnPdnvdnvdoSdoTdnvdoSdoTdnvdnvdnPdoBdoUdoVdoEdoFdmCdmAaaaaaaaaaaaadoHdoHdoHaaaaaaaaadoHdoHdoHaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadoWdoWdoWdoWdoWdoWdoWdoWdoWdoWdoWaaaaaaaaaaaadmvdmvdoXdoYdnqdoZdpadmKdmOdmOdmOdmOdmOdmOdmOdmOdmOdmOdmOdoedpbdpcdoadpddpedpfdmwdmwdoedoedpgdphdnvdoSdoTdpidoSdoTdnvdpjdpgdmUdmUdohdmAdpkdpldmAdmAaaaaaaaaadoHdoHdoHdoHdoHdoHdoHdoHdoHaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadoWdoWdoWdoWdoWdoWdoWdoWdoWdoWdoWdoWdpmdpndpodnqdppdnsdntdpqdmvaaaaaadmOdmOdmOdmOdmOdmOdmOdmOdmOdmOdmOaaaaaadmwdprdmzdmydmzdpsdmwaaaaaadngdptdnvdoSdpudnvdpvdoTdnvdpwdngaaaaaadmAdpxdnwdnxdpydnzdpzdpAdmUdoHdoHdoHdoHdoHdoHdoHdoHdoHaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadoWdoWdoWdoWdoWdoWdoWdoWdoWdoWdoWdoWdpBdpCdpDdpEdpFdnbdnCdpGdmgaaaaaadmOdmOdmOdmOdmOdmOdmOdmOdmOdmOdmOaaaaaadmkdpHdmzdpIdmzdpJdmkaaaaaadngdpKdnvdoSdpudpLdpvdoTdnvdpMdngaaaaaadmqdpNdnFdnidpOdpPdpQdpRdpSdoHdoHdoHdoHdoHdoHdoHdoHdoHaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadoWdoWdoWdoWdoWdoWdoWdoWdoWdoWdoWdoWdmKdmKdmvdmvdpTdpUdpVdpqdmvaaaaaadmOdmOdmOdmOdmOdmOdmOdmOdmOdmOdmOaaaaaadmwdprdmzdpWdpXdpsdmwaaaaaadngdptdnvdoSdpudnvdpvdoTdnvdpwdngaaaaaadmAdpxdpYdpZdqadmAdmAdmUdmVdoHdoHdoHdoHdoHdoHdoHdoHdoHaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadoWdoWdoWdoWdoWdoWdoWdoWdoWdoWdoWaaaaaaaaaaaadmvdmvdqbdqcdnqdnVdnWdmKdmOdmOdmOdmOdmOdmOdmOdmOdmOdmOdmOdoednYdnZdoadqddqedqfdmwdmwdoedoedpgdphdnvdoSdoTdnvdoSdoTdnvdpjdpgdmUdmUdohdmAdqgdqhdmAdmAaaaaaaaaadoHdoHdoHdoHdoHdoHdoHdoHdoHaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadmvdmtdqidqjdqkdqldqmdmOdmOdmOdmOdmOdmOdmOdmOdmOdmOdmOdqndqodqpdqqdoPdqrdowdoxdqsdozdoAdnPdnvdnvdoSdoTdnvdoSdoTdnvdnvdnPdoBdoCdqtdoEdqudmCdmAaaaaaaaaaaaaaaadoHdoHdoHdoHdoHdoHdoHaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadmgdmtdqvdqjdqwdqxdqydmOdmOdmOdmOdmOdmOdmOdmOdmOdmOdmOdqzdqAdqBdqqdqCdqrdowdoxdqDdoRdoAdnPdnvdnvdnvdnvdnvdnvdnvdnvdnvdnPdoBdoUdqEdoEdqudmCdmqaaaaaaaaaaaaaaadoHdoHdoHdoHdoHdoHdoHaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadnSdmgdmgdmgdmgdqFdqGdnqdoZdpadmJdmOdmOdmOdmOdmOdmOdmOdmOdmOdmOdmOdnXdpbdpcdoadqHdqedqIdmwdmwdoednXdnfdofdnvdnIdnvdnvdnvdnIdnvdofdnfdmVdmUdohdmAdqJdqKdmqdmqdmqdmqdokaaadoHdoHdoHdoHdoHdoHdoHaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadmgdqLdqMdmgaaaaaaaaadmOdmOdmOdmOdmOdmOdmOdmOdmOdmOdmOaaaaaaaaadmkdqNdqOdqPdmkaaaaaaaaadnfdqQdqQdnudnfdnfdnfdnudqQdqQdnfaaaaaaaaadmqdqRdqSdmqaaaaaaaaaaaaaaadoHdoHdoHdoHdoHdoHdoHaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadmvdqTdqUdmvaaaaaaaaadmOdmOdmOdmOdmOdmOdmOdmOdmOdmOdmOaaaaaaaaadmFdqVdqWdmzdmFaaaaaaaaadnfdqXdqXdnfdqYdqYdqYdnfdqXdqXdnfaaaaaaaaadmAdqZdradmAaaaaaaaaaaaaaaadoHdoHdoHdoHdoHdoHdoHaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadrbdrcdrddreaaaaaaaaadmOdmOdmOdmOdmOdmOdmOdmOdmOdmOdmOaaaaaaaaadmwdoddrfdrgdmwaaaaaaaaaaaaaaaaaadnfdqXdqXdqXdnfaaaaaaaaaaaaaaaaaadrhdridrjdrkaaaaaaaaaaaaaaadoHdoHdoHdoHdoHdoHdoHaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadrldrmdrndrlaaaaaaaaadmOdmOdmOdmOdmOdmOdmOdmOdmOdmOdmOaaaaaaaaadmkdmwdrodmkdmkaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadrpdrqdrqdrpaaaaaaaaaaaaaaaaaadoHdoHdoHdoHdoHaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadrrdrsdrtdruaaaaaaaaadmOdmOdmOdmOdmOdmOdmOdmOdmOdmOdmOaaaaaaaaadmwdrvdrwdrxdmwaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadrydrzdrAdrBaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadnodrCdrDdpaaaaaaaaaaaaaaaaaaadmOdmOdmOdmOdmOaaaaaaaaaaaaaaaaaadoedrEdrFdrGdoeaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadrHdrIdrJdnBaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadnSdrKdrLdmgaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadrMdoedrNdmkdmkaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadmqdrOdrPdokaaaaaaaaaaaaaaaaaadrQdrQdrQdrQdrQdrQdrQdrQdrQdrQdrQdrQaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadrRdrRdrRdrRaaaaaaaaaaaadrRdrRdrRdrRdrRaaaaaaaaaaaadrSdrSdrSdrSdrSdrSdrSdrSdrSdrSdrSdrSaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadrQdrQdrQdrQaaaaaaaaadrQdrQdrQdrQdrQdrQdrQdrQdrQdrQdrQdrQdrQdrQdrQaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadrRdrRdrRdrRdrRdrRdrRdrRdrRdrRaaaaaaaaaaaaaaadrRdrRdrRdrRdrRdrRaaaaaadrRdrRdrRdrRdrRdrRaaaaaaaaadrSdrSdrSdrSdrSdrSdrSdrSdrSdrSdrSdrSdrSdrSdrSaaaaaaaaaaaaaaaaaaaaaaaadrQdrQdrQdrQdrQdrQdrQdrQdrQdrQdrQdrQdrQdrQdrQdrQdrQdrQdrQdrQdrQdrQdrQdrQdrQdrQaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRaaaaaaaaadrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRaaaaaadrSdrSdrSdrSdrSdrSdrSdrSdrSdrSdrSdrSdrSdrSdrSdrSdrSaaaaaaaaaaaaaaadrQdrQdrQdrQdrQdrQdrQdrQdrQdrQdrQdrQdrQdrQdrQdrQdrQdrQdrQdrQdrQdrQdrQdrQdrQdrQdrQdrQaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRaaadrSdrSdrSdrSdrSdrSdrSdrSdrSdrSdrSdrSdrSdrSdrSdrSdrSdrSaaaaaaaaadrQdrQdrQdrQdrQdrQdrQdrQdrQdrQdrQdrQdrQdrQdrQdrQdrQdrQdrQdrQdrQdrQdrQdrQdrQdrQdrQdrQdrQdrQaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRaaadrSdrSdrSdrSdrSdrSdrSdrSdrSdrSdrSdrSdrSdrSdrSdrSdrSdrSaaaaaadrQdrQdrQdrQdrQdrQdrQdrQdrQdrQdrQdrQdrQdrQdrQdrQdrQdrQdrQdrQdrQdrQdrQdrQdrQdrQdrQdrQdrQdrQdrQdrQaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRaaadrSdrSdrSdrSdrSdrSdrSdrSdrSdrSdrSdrSdrSdrSdrSdrSdrSdrSaaaaaadrQdrQdrQdrQdrQdrQdrQdrQdrQdrQdrQdrQdrQdrQdrQdrQdrQdrQdrQdrQdrQdrQdrQdrQdrQdrQdrQdrQdrQdrQdrQdrQdrQaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRaaaaaadrSdrSdrSdrSdrSdrSdrSdrSdrSdrSdrSdrSdrSaaaaaaaaaaaaaaaaaaaaadrQdrQdrQdrQdrQdrQdrQdrQdrQdrQdrQdrQdrQdrQdrQdrQdrQdrQdrQdrQdrQdrQdrQdrQdrQdrQdrQdrQdrQdrQdrQdrQdrQdrQaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRaaaaaaaaaaaadrSdrSdrSdrSdrSdrSdrSdrSdrSdrSdrSdrSaaaaaaaaaaaaaaaaaaaaadrQdrQdrQdrQdrQdrQdrQdrQdrQdrQdrQdrQdrQdrQdrQdrQdrQdrQdrQdrQdrQdrQdrQdrQdrQdrQdrQdrQdrQdrQdrQdrQdrQdrQaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRaaaaaaaaadrSdrSdrSdrSdrSdrSdrSdrSdrSdrSdrSdrSdrSaaaaaaaaaaaaaaaaaaaaadrQdrQdrQdrQdrQdrQdrQdrQdrQdrQdrQdrQdrQdrQdrQdrQdrQdrQdrQdrQdrQdrQdrQdrQdrQdrQdrQdrQdrQdrQdrQdrQdrQdrQaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRaaaaaaaaadrSdrSdrSdrSdrSdrSdrSdrSdrSdrSdrSdrSdrSdrSdrSdrSdrSdrSaaaaaadrQdrQdrQdrQdrQdrQdrQdrQdrQdrQdrQdrQdrQdrQdrQdrQdrQdrQdrQdrQdrQdrQdrQdrQdrQdrQdrQdrQdrQdrQdrQdrQdrQaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRaaaaaaaaadrSdrSdrSdrSdrSdrSdrSdrSdrSdrSdrSdrSdrSdrSdrSdrSdrSdrSaaaaaadrQdrQdrQdrQdrQdrQdrQdrQdrQdrQdrQdrQdrQdrQdrQdrQdrQdrQdrQdrQdrQdrQdrQdrQdrQdrQdrQdrQdrQdrQdrQdrQaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRaaaaaaaaadrSdrSdrSdrSdrSdrSdrSdrSdrSdrSdrSdrSdrSdrSdrSdrSdrSdrSaaaaaaaaadrQdrQdrQdrQdrQdrQdrQdrQdrQdrQdrQdrQdrQdrQdrQdrQdrQdrQdrQdrQdrQdrQdrQdrQdrQdrQdrQdrQdrQdrQaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRaaaaaaaaaaaadrSdrSdrSdrSdrSdrSdrSdrSdrSdrSdrSdrSdrSdrSdrSdrSdrSaaaaaaaaaaaaaaadrQdrQdrQdrQdrQdrQdrQdrQdrQdrQdrQdrQdrQdrQdrQdrQdrQdrQdrQdrQdrQdrQdrQdrQdrQdrQdrQdrQaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRaaaaaaaaaaaadrSdrSdrSdrSdrSdrSdrSdrSdrSdrSdrSdrSdrSdrSdrSaaaaaaaaaaaaaaaaaaaaaaaadrQdrQdrQdrQdrQdrQdrQdrQdrQdrQdrQdrQdrQdrQdrQdrQdrQdrQdrQdrQdrQdrQdrQdrQdrQdrQaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRaaaaaaaaaaaadrSdrSdrSdrSdrSdrSdrSdrSdrSdrSdrSdrSaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadrQdrQdrQdrQaaaaaaaaadrQdrQdrQdrQdrQdrQdrQdrQdrQdrQdrQdrQdrQdrQdrQaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadrQdrQdrQdrQdrQdrQdrQdrQdrQdrQdrQdrQaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRaaaaaaaaadrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadrRdrRdrRdrRdrRdrRdrRdrRdrRdrRaaaaaaaaaaaaaaadrRdrRdrRdrRdrRdrRaaaaaadrRdrRdrRdrRdrRdrRaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadrRdrRdrRdrRaaaaaaaaaaaadrRdrRdrRdrRdrRaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa @@ -10644,157 +10646,157 @@ aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaadaadaadaafaafaaaaaaaaaaafaaaaaaaaaaaaaagaadaadaadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaeaaaaaaaaaaaaaaaaaaaaaaadaafaaaaafaaaaaaaaaaaaaaaaaaaafaaaaaaaaaaaaaaaaaaaafaaaaafaadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaadaadaadaadaadaagaafaafaadaadaadaaaaagaadaadaadaaaaaaaafaaaaaaaaaaaaaaaaaaaafaaaaaaaaaaaaaaaaaaaafaaaaaaaadaadaadaafaafaadaadaadaGCaafaafaadaadaadaadaadaadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaagaafaaaaaaaaaaafaaaaaaaaaaaaaaaaafaaaaaaaaaaafaaaaaaaaaaaaaafaaaaaaaaadrRdrRdrRdrRdrRdrRdrRaaaaaaaaaaafaaaaaaaaaaaaaafaaaaaaaaaaafaaaaaaaaaaaaaaaaafaaaaaaaaaaadaadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadrRdrRdrRdrRdrRaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadaaaaaaaaaaaaaafaaaaaaaaaaaaaaaaafaaaaaaaaaaafaaaaaaaaaaaadrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRaaaaaaaaaaaaaafaaaaaaaaaaafaaaaaaaaaaaaaaaaafaaaaaaaaaaaaaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadrRdrRdrRdrRdrRdrRdrRdrRdrRaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadaaaaaaaaaaaaaafaaaaaaaaaaaaaaaaafaaaaaaaaaaafaaaaaaaaadrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRaaaaaaaaaaafaaaaaaaaaaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaagaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadaaaaaaaaaaaadrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRaaaaaaaaaaadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadaafaafaafdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRaafaafaadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaTfaadaaaaaaaaadrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRaaaaaaaadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaaaaaaaaadrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRaaaaaaaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaRaaaaaaaaadrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRaaaaaaaaaaaeaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaaaaaaaaadrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRaaaaaaaaaaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaaaaaaaaadrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRaaaaaaaaaaagaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaagaaaaaaaaadrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRaaaaaaaaaaadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadaaaaaaaaadrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRaafaafaafaadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadaafaafaafdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRaaaaaaaaaaadaagaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadaadaadaadaafaagaadaadaadaadaadaadaadaadaadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadaaaaaaaaaaaadrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRaaaaaaaaaaaaaadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadbadcaadaaaaaaaafaaaaaaaafaaaaaaaafaaaaafaaaaaaaadaadaadaagaaaaaaaaaaaaaaaaaaaaaaadaaaaaaaaaaaadrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRaaaaaaaaaaaaaadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadaadaagaaaaaaaaaaaaaafaaaaaaaafaaaaaaaafaaaaafaaaaaaaaaaaaaaaaafaadaaaaaaaaaaaaaaaaaaaadaafaafaafdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRaafaafaafaadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadaadaadaaaaaaaaaaaaaaaaaaaafaaaaaaaafaaaaaaaafaaaaafaaaaaaaaaaaaaaaaaaaadaaaaaaaaaaaaaaaaafaafaaaaaaaaadrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRaaaaaaaaaaadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadrRdrRdrRdrRaaadrRdrRdrRdrRdrRaaadrRdrRdrRdrRaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadaadaaaaaaaaaaaaaaaaaaaaaaaaaafaaaaaaaafaaaaaaaafaaaaafaaaaaaaaaaaaaaaaaabaRaaaaaaaaaaaaaaaaaRaaaaaaaaaaaadrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRaaaaaaaaaaadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadrRdrRdrRdrRaaaaafaaaaaaaaaaafaaadrRdrRdrRdrRaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadaagaadaafaafaafaafaafaafdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRaafdrRdrRdrRdrRaaaaafaafaafaadaaaaaaaaaaaaaadaaaaaaaaaaaadrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRaaaaaaaaaaadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadrRaaaaaaaaaaafaaaaaaaaaaafaaaaaaaaadrRaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadaadaaaaafaaaaaaaaaaaaaaaaaadrRdrRdrRdrRdrRdrRdrRdrRdrRdrRaafdrRdrRdrRdrRaaaaaaaaaaaaaadaaaaaaaaaaaaaadaafaafaafdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRaaaaaaaaaaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadrRaaaaaaaaaaafaaaaaaaaaaafaaaaaaaaadrRaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadaadaaaaaaaafaaaaaaaaaaaaaaaaaadrRdrRdrRdrRdrRdrRdrRdrRdrRdrRaafdrRdrRdrRdrRaaaaaaaaaaaaaadaadaaaaaaaaaaadaaaaaaaaadrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRaaaaaaaaaaaRaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadrRaaaaaaaaaaafaaaaaaaaaaafaaaaaaaaadrRaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadaadaaaaaaaaaaafaaaaaaaaaaaaaaaaaadrRdrRdrRdrRdrRdrRdrRdrRdrRdrRaafdrRdrRdrRdrRaaaaaaaaaaaaaaaaadaaaaaaaaaaaaaaaaaaaaadrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRaaaaaaaaaaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadrRaaaaaaaaaaafaaaaaaaaaaafaaaaaaaaadrRbeYaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadaaaaaaaaaaaaaafaaaaaaaaaaaaaaaaaaaaaaafaafaaaaafaafaaaaafaafaaaaafaaaaafaafaaaaaaaaaaaaaaaaaaaafbaRaaaaaaaaaaaaaaaaaadrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRaaaaaaaaaaagaaaaaaaaaaaaaaaaaadrSdrSdrSdrSdrSdrSdrSdrSdrSdrSdrSaaaaaaaaaaaaaaaaaaaaaaaadrRaaaaaaaaaaafaaaaaaaaaaafaaaaaaaaadrRaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadaaaaaaaaaaaaaafaaaaaaaaaaaaaaadrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRaaaaaaaaaaaaaadaaaaaaaadaaaaaaaaadrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRaaaaaaaaaaadaaaaaaaaaaaaaaaaaadrSdrSdrSdrSdrSdrSdrSdrSdrSdrSdrSdrSaaaaaaaaaaaaaaaaaadrTdrTdrTaafaafaafaaaaaaaaaaafaafaafdrTdrTdrTaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadaaaaaaaaaaaaaafaaaaaaaaaaaadrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRaafaafaafaadaafaaRaadaafaafaafdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRaafaafaafaadaaaaaaaaaaaaaaaaaadrSdrSdrSdrSdrSdrSdrSdrSdrSdrSdrSdrSaaaaaaaaaaaaaaaaaadrRdrRdrRaaaaaaaafaaaaaaaaaaafaaaaaadrRdrRdrRaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadaaaaaaaaaaaaaafaaaaaaaaaaaadrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRaaaaaaaaaaafaaaaaaaaaaaaaaaaaadrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRaaaaaaaaaaadaaaaaaaaaaaaaaaaaadrSdrSdrSdrSdrSdrSdrSdrSdrSdrSdrSdrSaaaaaaaaaaaaaaaaaadrTdrTdrTaafaafaafaaaaaaaaaaafaafaafdrTdrTdrTaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadaafaafaafaafdrRdrRdrRdrRaaadrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRaaaaaaaaaaafaaaaaaaaaaaaaaaaaadrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadrSdrSdrSdrSdrSdrSdrSdrSdrSdrSdrSaaaaaaaaaaaaaaaaaaaaaaaadrRaaaaaaaaaaafaaaaaaaaaaafaaaaaaaaadrRaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadaaaaaaaaaaaadrRdrRdrRdrRaafdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRaaaaaaaaaaafaaaaaaaaaaaaaaaaaaaaadrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRaaaaaaaaaaaaaagaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadrRaaaaaaaaaaafaaaaaaaaaaafaaaaaaaaadrRaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadaaaaaaaaaaaadrRdrRdrRdrRaafdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRaaaaaaaaaaaaaaaaaaaaadrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRaaaaaaaaaaaaaadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadrRaaaaaaaaaaafaaaaaaaaaaafaaaaaaaaadrRaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadcaafaafaafaafdrRdrRdrRdrRaaadrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRaaaaaaaaadrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRaaaaafaafaafaadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadrRaaaaaaaaaaafaaaaaaaaaaafaaaaaaaaadrRaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadrRdrRdrRdrRaafdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRaaaaaadrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRaaaaaaaaaaaaaaRaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadrRaaaaaaaaaaafaaaaaaaaaaafaaaaaaaaadrRaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaagaaaaaaaaaaaadrRdrRdrRdrRaafdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRaaaaaadrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrUdrUdrUdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRaaaaaaaaaaaaaaaaaaaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaaaaaaaaaaafaaaaaaaagaaaaaaaaaaaaaaadrRaaaaaaaaaaafaaaaaaaaaaafaaaaaaaaadrRaaaaadaadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadaafaafaafaafdrRdrRdrRdrRaaadrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrUdrUdrUdrUdrUdrUdrUdrUdrUdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRaaaaaaaaaaaaaaaaafaaaaaaaaaaaaaaadrRdrRdrRdrRdrRdrRdrRdrRaaaaafaaaaaaaafaaaaaaaaaaaaaaadrRaaaaaaaaaaafaaaaaaaaaaafaaaaaaaaadrRaaaaaaaadaaRaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadaaaaaaaaaaaadrRdrRdrRdrRaafdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrUdrUdrUdrUdrVdrUdrUdrUdrUdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRaaaaaaaaaaaaaaaaafaaaaaaaaaaaaaaadrRdrRdrRdrRdrRdrRdrRdrRdrRdrRaaaaaaaafaaaaaaaaaaaaaaadrRaaaaaaaaaaafaaaaaaaaaaafaaaaaaaaadrRaaaaaaaaaaafaagaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadaaaaaaaaaaaadrRdrRdrRdrRaafdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrUdrUdrUdrWdrXdrYdrZdrYdsadsbdrUdrUdrUdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRaaaaaaaaaaaaaaadrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRaaaaaaaaadrRaaaaaaaaaaafaaaaaaaaaaafaaaaaaaaadrRaaaaaaaaaaaaaadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadaafaafaafaafdrRdrRdrRdrRaaadrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrUdrUdrUdscdsddsedsfdsgdshdsidrUdrUdrUdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRaaaaaadrRaaaaaaaaaaafdrRdrRdrRdrRdrRdrRdrRdrRdrRaafaafaafaadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadsjdsjdsjdsjaaaaaaaaadsjaaaaaaaaaaaaaaadsjaaaaaaaaadsjdsjdsjdsjaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadbaaaaaaaaaaaaaaaaaaaaaaaaaaadrRdrRdrRdrRdskdsldsmdrRdskdsldsmdrRdskdsldsmdrRdskdsldsmdrRdskdsldsmdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrUdrUdsndsodspdsqdsrdsedssdstdsudrUdrUdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdsvdswdsxdrRdsvdswdsxdrRdsvdswdsxdrRdsvdswdsxdrRdsvdswdsxdrRdrRdrRaaadrRaaaaaaaaaaaadrRdrRdrRdrRdrRdrRdrRdrRdrRaaaaaaaaaaadaadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadsjdsjdsjdsjaaaaaaaaadsjdsjdsjdsjdsjdsjdsjaaaaaaaaadsjdsjdsjdsjaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaagaaaaafaaaaaaaaaaaaaaaaaadrRdrRdrRdrRdrRdrRdrRdrRdsydszdsmdrRdsydszdsmdrRdsydszdsmdrRdsydszdsmdrRdsydszdsmdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrUdrUdrUdsAdsBdsCdsDdsDdsDdsEdsFdsGdrUdrUdrUdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdsvdsHdsxdrRdsvdsHdsxdrRdsvdsHdsxdrRdsvdsHdsxdrRdsvdsHdsxdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRaaaaaaaaaaadaadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadsjdsjdsjdsjaaaaaadsjdsjdsjdsjdsjdsjdsjdsjdsjaaaaaadsjdsjdsjdsjaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadaadaafaafaaaaaadrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdsydszdsmdrRdsydszdsmdrRdsydszdsmdrRdsydszdsmdrRdsydszdsmdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrUdrUdsIdsJdsKdsLdsMdsNdsMdsOdsPdsQdsRdrUdrUdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdsvdsHdsxdrRdsvdsHdsxdrRdsvdsHdsxdrRdsvdsHdsxdrRdsvdsHdsxdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRaaaaaaaaaaaaaadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadsjdsjdsjdsjaaaaaadsjdsjdsjdsjdsjdsjdsjdsjdsjaaaaaadsjdsjdsjdsjaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaagaadaadaaaaaaaaaaaaaaadrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdsydszdsmdrRdsydszdsmdrRdsydszdsmdrRdsydszdsmdrRdsydszdsmdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdsSdsSdsSdsSdsSdsSdsSdrRdrRdrRdrRdrRdrRdrRdrUdrUdrUdsAdsBdsCdsDdsTdsDdsUdsVdsGdrUdrUdrUdrRdrRdrRdrRdrRdrRdrRdsWdsWdsWdsWdsWdsWdsWdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdsvdsHdsxdrRdsvdsHdsxdrRdsvdsHdsxdrRdsvdsHdsxdrRdsvdsHdsxdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRaafaafaafaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadsjdsjdsjdsjdsjdsjdsjdsjdsjdsjdsjdsjdsjdsjdsjdsjdsjdsjdsjdsjdsjaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadaadaagaafaaaaafaaaaaaaaaaaaaaaaaaaaadrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdsydszdsmdrRdsydszdsmdrRdsydszdsmdrRdsydszdsmdrRdsydszdsmdrRdrRdrRdrRdrRdrRdsXdsYdsYdsYdsYdsZdtadtbdtcdtddsSdrRdrRdrRdrRdrRdtedtfdtfdtgdtgdthdtidtjdsDdsDdsDdssdtkdtldrUdrUdrRdrRdrRdrRdrRdrRdrRdrRdsWdtmdtndtodtpdtqdtrdtrdtrdtrdtsdrRdrRdrRdrRdrRdrRdsvdsHdsxdrRdsvdsHdsxdrRdsvdsHdsxdrRdsvdsHdsxdrRdsvdsHdsxdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRaaaaaaaaaaaRaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadsjdsjdsjdsjdsjdsjdsjdsjdsjdsjdsjdsjdsjdsjdsjdsjdsjdsjdsjdsjdsjaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaaaaaaaafaaaaaaaaaaaaaaaaaaaaadrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdttdrRdrRdrRdttdrRdrRdrRdttdrRdrRdrRdttdrRdrRdrRdttdrRdrRdtudrRdtvdtvdtvdsXdtwdtxdtydtzdtAdtcdtcdtcdtBdsSdrRdrRdrRdrRdrRdtCdrRdrRdrUdrUdrUdtDdtEdtFdtGdtFdtHdtIdrUdrUdrUdrRdrRdrRdrRdrRdrRdrRdrRdsWdtJdtKdtLdtLdtMdtNdtOdtPdtQdtsdtRdtRdtRdrRdrRdrRdrRdtSdrRdrRdrRdtSdrRdrRdrRdtSdrRdrRdrRdtSdrRdrRdrRdtSdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadsjdsjdsjdsjdsjdsjdsjdsjdsjdsjdsjdsjdsjdsjdsjdsjdsjdsjdsjdsjdsjaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadaaaaaaaafaaadrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdtTdtUdtVdtVdtVdtVdtVdtVdtVdtVdtVdtVdtVdtVdtVdtVdtVdtVdtVdtVdtVdtVdtWdtXdtYdtZduadubducdudduedufdugduhduidujdukduldsSaaaaaaaaaaaaaaadumaaaaaadrUdrUdrUdsbdunduodupduqdurdrWdrUdrUdrUaaaaaadrTaaaaaaaaaaaaaaadsWdusdutduuduuduvduwduxduyduzduAduBduCduDduEduFduGduHduHduHduHduHduHduHduHduHduHduHduHduHduHduHduHduHduHduHduHduIduJdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadsjdsjdsjdsjdsjdsjdsjdsjdsjdsjdsjdsjdsjdsjdsjdsjdsjdsjdsjdsjdsjaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaaaaaaaafdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRduKdrRdrRdrRduKdrRdrRdrRduKdrRdrRdrRduKdrRdrRdrRduKdrRdrRdrRdrRdtvduLduMduNduOduPduQdtzduRdtcduSduTdsSdsSaaaaaaaaaaaaaaadumaaaaaaaaaaaadrUdrUdrUdrUduUdrUdrUdrUdrUaaaaaaaaaaaadrTaaaaaaaaaaaaaaadsWdsWduVduWdtLduXdtNduYduZdvadvbdvcdvddtRdrRdrRdrRdrRdvedrRdrRdrRdvedrRdrRdrRdvedrRdrRdrRdvedrRdrRdrRdvedrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadsjdsjdsjdsjdsjdsjdsjdsjdsjdsjdsjdsjdsjdsjdsjdsjdsjdsjdsjdsjdsjaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadvfaaaaaaaaadvfaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadaafaafaafdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdsydvgdsmdrRdsydvgdsmdrRdsydvgdsmdrRdsydvgdsmdrRdsydvgdsmdrRdrRdrRdrRdrRdrRdsXdsYdsYdsYdsSdvhdvidsSdsSdsSaaaaaaaaaaaaaaaaaadtCdrRdrRdrRdvjdvjdvjdvjdrUdvkdvldvmdvjdvjdvjdrRdrRdrRdrRaaaaaaaaaaaaaaaaaadsWdsWdsWdvndvodsWdtrdtrdtrdtsdrRdrRdrRdrRdrRdrRdsvdvpdsxdrRdsvdvpdsxdrRdsvdvpdsxdrRdsvdvpdsxdrRdsvdvpdsxdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadsjdsjdsjdsjdsjdsjdsjdsjdsjdsjdsjdsjdsjdsjdsjdsjdsjdsjdsjdsjdsjaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadvfaaaaaaaaadvfaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadaadaadaafaaaaaadrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdsydvgdsmdrRdsydvgdsmdrRdsydvgdsmdrRdsydvgdsmdrRdsydvgdsmdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdsSdvqdtcdsSaaaaaaaaaaaaaaaaaadrRdrRdtCdrRdrRdrRdvjdvrdvsdvtdvudvvdvwdvxdvsdvydvjdrRdrRdrRdrRdrRdrRaaaaaaaaaaaaaaaaaadsWdtLdvzdsWdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdsvdvpdsxdrRdsvdvpdsxdrRdsvdvpdsxdrRdsvdvpdsxdrRdsvdvpdsxdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadsjdsjdsjdsjdsjdsjdsjdsjdsjdsjdsjdsjdsjdsjdsjdsjdsjdsjdsjdsjdsjdsjdsjaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadvfaaaaaaaaadvfaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadaadaaaaaaaafaaaaaadrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdsydvgdsmdrRdsydvgdsmdrRdsydvgdsmdrRdsydvgdsmdrRdsydvgdsmdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdsSdvAdvBdsSaaaaaaaaaaaaaaadrRdrRdrRdtCdrRdrRdrRdvjdvCdvDdvEdvFdvGdvHdvIdvJdvJdvjdrRdrRdrRdrRdrRdrRdrRaaaaaaaaaaaaaaadsWdtJdvKdsWdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdsvdvpdsxdrRdsvdvpdsxdrRdsvdvpdsxdrRdsvdvpdsxdrRdsvdvpdsxdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadsjdsjdsjdsjdsjdsjdsjdsjdsjdsjdsjdsjdsjdsjdsjdsjdsjdsjdsjdsjdsjdsjdsjaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadvfdvfdvfdvfdvfaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadaadaaaaaaaaaaafaaaaaadrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdsydvgdsmdrRdsydvgdsmdrRdsydvgdsmdrRdsydvgdsmdrRdsydvgdsmdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdsSdvLdvMdsSaaaaaaaaaaaadrRdrRdrRdrRdtCdrRdrRdrRdvjdvNdvJdvOdvJdvPdvJdvOdvJdvQdvjdrRdrRdrRdrRdrRdrRdrRdrRaaaaaaaaaaaadsWdvRdvSdsWdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdsvdvpdsxdrRdsvdvpdsxdrRdsvdvpdsxdrRdsvdvpdsxdrRdsvdvpdsxdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadsjdsjdsjdsjdsjdsjdsjdsjdsjdsjdsjdsjdsjdsjdsjdsjdsjdsjdsjdsjdsjaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadvfdvfdvfdvfdvfdvfdvfdvfdvfaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadaaaaaaaaaaaaaafaaaaaadrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdsydvTdsmdrRdsydvTdsmdrRdsydvTdsmdrRdsydvTdsmdrRdsydvTdsmdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdsSdvLdvUdsSaaaaaaaaadrRdrRdrRdrRdrRdtCdrRdrRdrRdvjdvVdvJdvjdvWdvXdvYdvjdvZdwadvjdrRdrRdrRdrRdrRdrRdrRdrRdrRaaaaaaaaadsWdwbdvSdsWdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdsvdwcdsxdrRdsvdwcdsxdrRdsvdwcdsxdrRdsvdwcdsxdrRdsvdwcdsxdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRaaaaaaaaaaaaaaaaaaaaRaadaadaadaadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadsjdsjdsjdsjdsjdsjdsjdsjdsjdsjdsjdsjdsjaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadvfdvfdvfdvfdvfdvfdvfdvfdvfdvfdvfaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaaaaaaaaaaaaaafdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdsSdwddwedwfaaaaaaaaadrRdrRdrRdrRdrRdtCdrRdrRdwgdwgdwhdwgdwgdvjdwidvjdwjdwjdwkdwjdwjdrRdrRdrRdrRdrRdrRdrRdrRaaaaaaaaadwldwmdwndsWdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRaaaaaaaaaaaaaaaaaaaaaaafaaaaaaaadaagaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadsjdsjdsjdsjdsjdsjdsjdsjdsjdsjdsjdsjdsjaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadvfdvfdvfdvfdvfdvfdvfdvfdvfdvfdvfaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaaaaaaaaaaaadrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdsSdwodwpdwfaaaaaadrRdrRdrRdrRdrRdrRdtCdrRdwgdwgdwqdwrdwsdwgdwtdwudwvdwjdwwdwxdwydwjdwjdrRdrRdrRdrRdrRdrRdrRdrRaaaaaadwldwzdwAdsWdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRaaaaaaaaaaaaaaaaaaaaaaafaaaaaaaaaaadaadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadsjdsjdsjdsjdsjdsjdsjdsjdsjdsjdsjdsjdsjaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadvfdvfdvfdvfdvfdvfdvfdvfdvfdvfdvfaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaaaaaaaaaaaadrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdsSdwBdwCdwfaaaaaadrRdrRdrRdrRdrRdrRdtCdrRdwgdwDdwEdwFdwGdwHdwIdwJdwKdwLdwMdwNdwOdwPdwjdrRdrRdrRdrRdrRdrRdrRdrRaaaaaadwldwQdwRdsWdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRaaaaaaaaaaaaaaaaaaaaaaafaaaaaaaaaaaaaadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadsjdsjdsjdsjdsjdsjdsjdsjdsjdsjdsjdsjdsjaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadvfdvfdvfdvfdvfdvfdvfdvfdvfdvfdvfaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaagaaaaaaaaaaaadrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdsSdwSdwTdsSaaaaaadwUdwVdwWdwVdwXdwXdwYdwXdwXdwZdxadxbdxcdwgdxddxedxddwjdxfdxgdxhdxidxjdxkdxldxkdxjdxmdxndxmdxoaaaaaadsWdxpdxqdsWdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRaaaaaaaaaaaaaadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadsjdsjdsjdsjdsjdsjdsjdsjdsjaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadvfdvfdvfdvfdvfdvfdvfdvfdvfaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadaaaaaaaaaaaadrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdsSdxrdtcdsSaaaaaadwUdxsdxtdxudxvdxwdxxdxydwXdwgdwgdwgdxzdxAdxBdxCdxDdxEdxFdwjdwjdwjdxjdxGdxHdxIdxJdxKdxLdxMdxoaaaaaadsWdtLdxNdsWdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRaafaafaafaadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadsjdsjdsjdsjdsjdsjdsjaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadvfdvfdvfdvfdvfdvfdvfaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadaafaafaafaaadrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdsSdxOdxPdsSaaaaaadwUdxQdxRdxSdxvdxTdxUdxVdwXdxWdxXdxXdxYdxXdxXdxZdxXdxXdyadxXdxXdybdxjdycdyddyedxJdyfdygdyhdxoaaaaaadsWdyidyjdsWdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadvfdvfdvfdvfdvfaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadaaaaaaaaaaaadrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdsSdsSdykdvidsSaaaaaadwUdyldymdyndxvdyodypdyqdwXdyrdysdytdyudyvdywdyxdyvdyvdyydyzdysdyrdxjdyAdyBdyCdxJdyDdyEdyFdxoaaaaaadsWdvndyGdsWdsWdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdyHdyHdyIdyJdyKdyLdyMdyNdyOdyPdyPdwUdyQdyRdySdwXdyTdxvdxvdyUdyrdytdyVdyVdyVdyVdyVdyVdyVdyVdyVdyzdyrdyWdyXdyYdxJdxjdyZdzadzbdxodzcdzcdzddzedzfdzgdzhdzidzjdzkdzkdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdzldzmdzndzodzpdzqdzrdzsdztdzudzvdzwdzxdzydzzdzAdzBdzCdzDdzEdzFdzGdzHdyVdzIdzIdzIdzIdzIdyVdzJdzKdzLdzMdzNdzOdzPdzQdzRdzOdzSdzTdzUdzNdzMdzVdzWdzXdzYdzZdAadAbdAcdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRaaaaaaaaaaadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdAddzmdAedAfdzpdAgdAhdAidAjdAkdAkdAldAmdAndAodApdAqdArdAsdAtdAudAvdAwdyVdzIdzIdzIdzIdzIdyVdAwdAxdAydAzdAAdABdACdADdACdABdAEdAFdACdACdAzdAGdAHdAIdzYdAJdAKdAbdALdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRaaaaaaaaaaadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdyHdyHdAMdANdAOdAPdAQdzudztdzudARdASdATdzydARdAUdAVdzydzudztdAWdAXdyVdyVdzIdzIdzIdzIdzIdyVdyVdAYdAZdzMdzNdzOdBadBbdBcdzOdBadBddBcdzNdzMdzNdBedBfdBgdBhdBidzkdzkdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRaafaafaafaadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdBjdBjdBkdBjdBldBmdBndBodBpdBqdBqdBqdBqdBrdBsdBrdBtdBudBvdBwdBxdBydAvdBzdyVdzIdzIdzIdzIdzIdyVdBzdAxdBAdBBdBCdBDdBEdBFdBGdBHdBIdBJdzcdzcdzkdBKdzWdBLdBMdBNdBOdBPdBOdBOdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRaaaaaaaaaaadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdBQdBRdBSdBTdBUdBVdBWdBodBXdBqdBYdBZdCadCadCbdCcdBudCddCedCfdBtdCgdChdCidyVdzIdzIdzIdzIdzIdyVdCjdCkdCldBFdCmdCndCodBEdCpdCqdCrdBJdrRdrRdzkdCsdzWdCtdCudCvdCwdCxdCydCzdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRaaaaaaaaaaadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaagaaaaaaaaaaaadrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdBjdBjdBkdBjdBldCAdCBdBodCCdCDdBqdBqdCEdCFdCGdCHdBudCIdCJdCKdBtdAZdCLdyVdCMdCNdCOdCPdCQdyVdCRdyVdCSdAZdBFdCTdCUdCVdBEdCWdCXdCYdBJdrRdrRdCZdDadzWdDbdDcdBNdBOdBPdBOdBOdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRaaaaaaaaaaaaaadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadaaaaaaaaaaaadrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdDddDddDddDddDddDddDedDfdBqdDgdDhdDidDjdDjdDkdBudDldDmdDndBtdDodDpdDqdDrdDsdDtdDtdDtdDqdDudDsdDtdDvdBFdDwdDxdDydBEdDzdDAdDBdBJaaaaaadDCdDDdDEdDCdDCdDCdDCdDCdDCdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRaaaaaaaaaaaaaadaaRaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadaafaafaafaaadrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdDddDFdDGdBqdBqdBqdBqdBqdBqdBqdBtdBtdBtdBtdBtdDHdDIdDJdDKdDLdDLdDMdDNdDOdDPdDQdDRdDSdBFdBFdBFdBFdBFdBJdBJdBJdBJaaaaaadDCdDTdDUdDCdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRaaaaaaaaaaadaadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadaaaaaaaaaaaadrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdDddDVdDWdDdaaaaaadDXdDYdDZdEadEbdEcdEddEedDXdEfdEgdEhdEidEjdEkdEldEkdEidEidEhdEmdEndEodEpdEqdErdEsdEodEtdEudEoaaaaaadDCdEvdEwdDCdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRaafaafaafaadaTfaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadaaaaaaaaaaaadrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdDddDFdExdDdaaaaaadDXdEydEzdEAdEBdECdEDdEEdDXdEFdEGdyVdEHdEIdysdyrdysdEJdEKdyVdELdEMdEodENdEOdEPdEQdERdESdETdEoaaaaaadDCdEUdEVdDCdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRaaaaaaaaaaaaaadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadaaaaaaaaaaaadrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdDddDFdEWdEXaaaaaadEYdEcdEZdFadFbdFcdFddFedFfdFgdFhdFidEHdFjdFkdFldFmdysdFndFodFpdFqdFrdFsdFtdFudFvdEodFwdFxdEoaaaaaadFydFzdFAdDCdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRaaaaaaaaaaaaaaaaaaaaaaaaaafaaaaaaaaaaaaaadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaaaaaaaaaaaadrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdDddFBdFCdEXaaaaaadFDdFEdFFdFGdFHdFGdFIdFJdDXdFKdFLdyVdFMdFNdFOdFPdFQdFRdFSdyVdFTdFUdEodEodEodFVdEodEodEodEodEoaaaaaadFydFWdFXdDCdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRaaaaaaaaaaaaaaaaaaaaaaaaaafaaaaaaaaaaagaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaagaaaaaaaaaaafaafdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdDddFYdFZdEXaaaaaadGadGbdEcdEcdGcdEcdEcdGddDXdEFdEGdGedGedGfdGgdGhdGidGjdGedGedELdEMdEodGkdGldGmdGndGodGpdGqdEoaaaaaadFydGrdGsdDCdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRaaaaaaaaaaaaaaaaaaaaaaaaaafaaaaaaaadaadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadaaaaaaaaaaafaaaaaaaaadrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdGtdGudGvdrRdGtdGudGvdrRdGtdGudGvdrRdGtdGudGvdrRdGtdGudGvdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdDddFYdGwdDdaaaaaadGxdGydGzdEcdGAdGBdGCdGDdGEdGFdGGdGHdGIdGJdGKdGLdGMdGJdGNdGOdGPdGQdGRdGSdGTdGUdGVdGWdGXdGYdEoaaaaaadDCdGZdGsdDCdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdHadHbdHcdrRdHadHbdHcdrRdHadHbdHcdrRdHadHbdHcdrRdHadHbdHcdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRaafaafaafaaRaafaaaaaaaagaadaadaadaadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadaadaaaaaaaafaaaaaaaaadrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdGtdHddGvdrRdGtdHddGvdrRdGtdHddGvdrRdGtdHddGvdrRdGtdHddGvdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdDddFYdHedDddDddDXdDXdDXdHfdHgdHhdHgdHfdDXdDXdHidHjdHkdHldHmdHldHndHldHmdHldHldHodHpdEodEodHqdHrdHsdHtdHudHvdEodEodDCdDCdHwdGsdDCdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdHadHxdHcdrRdHadHxdHcdrRdHadHxdHcdrRdHadHxdHcdrRdHadHxdHcdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRaaaaaaaaaaaaaaaaadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadaadaaaaafaaaaaaaaadrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdGtdHddGvdrRdGtdHddGvdrRdGtdHddGvdrRdGtdHddGvdrRdGtdHddGvdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdDddFYdExdHydHzdDXdHAdHBdHCdHDdGAdEcdEcdHEdHFdHGdHHdHIdHJdHKdHLdHMdHNdHOdHPdHQdHRdHSdHTdHUdHVdHWdHXdHYdHZdGWdIadEodIbdIcdIddGsdDCdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdHadHxdHcdrRdHadHxdHcdrRdHadHxdHcdrRdHadHxdHcdrRdHadHxdHcdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRaaaaaaaaaaaaaaaaadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadaadaadaaaaaaaaadrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdGtdHddGvdrRdGtdHddGvdrRdGtdHddGvdrRdGtdHddGvdrRdGtdHddGvdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdDddFYdExdExdExdIedEcdIfdIgdIhdIidIjdIkdDXdIldImdIndIodIndIndIndIodIndIndIndIndIndImdIpdEodIqdGWdGVdIrdGWdGWdIsdEodItdIudIvdGsdDCdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdHadHxdHcdrRdHadHxdHcdrRdHadHxdHcdrRdHadHxdHcdrRdHadHxdHcdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRaaaaaaaaaaaaaadaadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaaaaaaaaadrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdGtdHddGvdrRdGtdHddGvdrRdGtdHddGvdrRdGtdHddGvdrRdGtdHddGvdrRdrRdrRdrRdrRdrRdIwdIxdIxdIxdDddIydDfdDfdDfdDXdIzdIAdIBdEcdICdIAdIDdIEdIFdIGdIHdIIdIJdIndIndIKdIndIndILdIMdINdIOdIPdIQdIRdGWdISdITdEOdGWdIUdEodDDdDDdDDdIVdDCdIWdIWdIWdIXdrRdrRdrRdrRdrRdrRdHadHxdHcdrRdHadHxdHcdrRdHadHxdHcdrRdHadHxdHcdrRdHadHxdHcdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRaaaaaaaaaaafaadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadaafaafaafdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdIYdrRdrRdrRdIYdrRdrRdrRdIYdrRdrRdrRdIYdrRdrRdrRdIYdrRdrRdrRdrRdIZdJadJbdJcdJddJedJfdJgdJhdJidJjdJkdDXdDXdJldJmdJndJodJldDXdDXdJpdJqdJrdGedJsdJtdJudJvdJwdJxdJydGedJzdJAdJBdEodEodJCdJDdJEdEOdJFdEodEodJGdJHdJIdJJdJKdJLdJMdJNdJOdJPdJQdJRdrRdrRdrRdrRdJSdrRdrRdrRdJSdrRdrRdrRdJSdrRdrRdrRdJSdrRdrRdrRdJSdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRaaaaaaaaaaagaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadaaaaaaaaaaaadrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdJTdJUdJVdJVdJVdJVdJVdJVdJVdJVdJVdJVdJVdJVdJVdJVdJVdJVdJVdJVdJVdJVdJWdJXdJYdJZdKadKbdKcdKddKedKfdKgdKhdKidKidKjdKkdDXdDXdKldKmdKndKodGxaaaaaaaaaaaadKpdGedJpdKqdKrdKsdJrdGedGeaaaaaaaaaaaadKtdKudKvdKwdKxdEodEodKydKzdKAdKBdKCdKDdKEdKFdKGdKHdKIdKJdKKdKLdKMdKNdKOdKOdKOdKOdKOdKOdKOdKOdKOdKOdKOdKOdKOdKOdKOdKOdKOdKOdKOdKOdKPdKQdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRaaaaaaaaaaadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaaaaaaaaaaaaaaaaaaaaaaaaaafaaaaaaaaaaaadrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdKRdrRdrRdrRdKRdrRdrRdrRdKRdrRdrRdrRdKRdrRdrRdrRdKRdrRdrRdrRdrRdIZdIZdIZdIwdKSdKTdKUdJgdKVdExdExdKWdKXdDddKYdKZdKZdKZdKZdLadrRdrRdrRdrRdrRdKYdKZdKZdKZdKZdKZdLadLbdrRdrRdrRdrRdKYdKZdKZdKZdKZdLadDCdLcdLddLddLddLedJKdLfdLgdLhdIXdJRdJRdJRdrRdrRdrRdrRdLidrRdrRdrRdLidrRdrRdrRdLidrRdrRdrRdLidrRdrRdrRdLidrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRaaaaaaaaaaadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadaagaafaafaaaaaaaaaaaaaaaaafaaaaaaaaaaaadrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdGtdLjdGvdrRdGtdLjdGvdrRdGtdLjdGvdrRdGtdLjdGvdrRdGtdLjdGvdrRdrRdrRdrRdrRdrRdIwdIxdIxdIxdIxdLkdLldLmdLndLodDddrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdDCdLpdLddLqdLrdLsdIWdIWdIWdIWdIXdrRdrRdrRdrRdrRdrRdHadLtdHcdrRdHadLtdHcdrRdHadLtdHcdrRdHadLtdHcdrRdHadLtdHcdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRaafaafaafaadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaaaaaaaaaaaadrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdGtdLjdGvdrRdGtdLjdGvdrRdGtdLjdGvdrRdGtdLjdGvdrRdGtdLjdGvdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdDddDddDddDddDddDddDddrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdDCdDCdDCdDCdDCdDCdDCdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdHadLtdHcdrRdHadLtdHcdrRdHadLtdHcdrRdHadLtdHcdrRdHadLtdHcdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRaaaaaaaaaaaaaaaaaaaaaaaRaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaagaadaadaaRaadaadaaaaaaaaadrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdGtdLjdGvdrRdGtdLjdGvdrRdGtdLjdGvdrRdGtdLjdGvdrRdGtdLjdGvdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdHadLtdHcdrRdHadLtdHcdrRdHadLtdHcdrRdHadLtdHcdrRdHadLtdHcdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabaRaafaafaafaafaaaaaaaaadrRdrRdrRdrRdrRdrRdrRdrRdGtdLjdGvdrRdGtdLjdGvdrRdGtdLjdGvdrRdGtdLjdGvdrRdGtdLjdGvdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdHadLtdHcdrRdHadLtdHcdrRdHadLtdHcdrRdHadLtdHcdrRdHadLtdHcdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRaaaaaaaaaaaRaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadaaaaaaaaaaafaaaaaaaaaaaadrRdrRdrRdrRdrRdrRdrRdGtdLudGvdrRdGtdLudGvdrRdGtdLudGvdrRdGtdLudGvdrRdGtdLudGvdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdHadLvdHcdrRdHadLvdHcdrRdHadLvdHcdrRdHadLvdHcdrRdHadLvdHcdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRaafaafaafaaRaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadaadaaaaaaaafaaaaaaaaaaaaaafaaaaaaaaaaaaaaaaafaaaaaaaaaaaaaaaaafaaaaaaaaaaaaaaadrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRaaaaaaaaadrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRaaaaaaaaaaagaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaagaadaadaadaaaaaaaaaaaaaafaaaaaaaaaaaaaaaaafaaaaaaaaaaaaaaaaafaaaaaaaaaaaaaaaaaadrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRaaaaaaaaaaaadrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRaaaaaaaaaaadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadaadaaaaaaaaaaaaaafaaaaaaaaaaaaaaaaafaaaaaaaaaaaaaaaaafaaaaaaaaaaaaaaaaaaaaaaafaaaaaaaaaaaaaaaaaaaaaaafaaaaaaaaaaaaaaadrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRaaaaaaaadaadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadaagaadaadaadaagaaRaagaagaadaadaadaadaafaaeaaaaafaagaadaadaadaadaadaaaaaaaafaaaaaaaaaaaaaaaaaaaaaaafaaaaaaaaaaaaaaadrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRaaaaaaaafaaaaaaaaadrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRaaaaaaaadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaafaaaaafaaaaaaaaaaaaaaaaaaaaaaafaaaaaaaaaaaadrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRaaaaaaaaaaaaaaaaafaaaaaaaaadrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRaaaaaaaaaaafaafaafaadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaaRaagaadaafaaaaaaaaaaadaadaadaaaaaaaaaaaadrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRaaaaaaaaaaaaaaaaafaaaaaaaaadrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRaaaaaaaaaaaaaaaaaaaadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadaadaaaaaaaaadrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRaaaaaaaaaaaaaaaaafaaaaaaaaadrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRaaaaaaaaaaaaaaaaaaaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadaafaafaafdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRaaaaaaaaaaaaaaaaafaafaafaafdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRaaaaaaaaaaafaaaaaaaaaaaaaaaaaaaaaaafaaaaaaaaaaaaaaaaagaaRaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadaaaaaaaaadrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRaaaaaaaaaaaaaadaagaaaaaaaaaaaRaaaaaaaaaaaadrRdrRdrRdrRdrRaaaaaaaaaaafaaaaaaaaaaaaaafaaaaaaaaaaaaaaaaaaaaaaafaaaaaaaaaaaaaadaadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRaaaaaaaaaaagaadaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaaaaaaaaaaafaaaaaaaaaaafaaaaaaaaaaaaaafaaaaaaaaaaaaaaaaaaaaaaafaaaaaaaaaaadaadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaRaaaaaaaaadrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRaafaafaafaadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaaaaaaaaaaafaaaaaaaaaaafaaaaaaaafaafaadaadaadaafaaeaagaadaadaadaadaadaadaadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaagaafaafaafdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRaaaaaaaaaaadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaaaaaaaaaaafaaaaadaadaafaadaadaagaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadaaaaaaaaadrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRaaaaaaaaaaadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadaadaagaadaadaadaadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadaaaaaaaaadrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadaafaafaafdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRaaaaaaaaaaadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaaaaaaaaadrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRaafaafaafaadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadaaaaaaaaadrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRaaaaaaaaaaadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadaaaaaaaaadrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRaaaaaaaaaaadaadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadaafaafaafdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRaaaaaaaaaaaaaadaadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadaaaaaaaaadrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRaaaaaaaaaaaaaaaaadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadaaaaaaaaadrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRaafaafaafaadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRaaaaaaaaaaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadLwdLwdLwdLwdLwdLwdLwdLwdLwdLwdLwdLwaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadLwdLwdLwdLwaaaaaaaaadLwdLwdLwdLwdLwdLwdLwdLwdLwdLwdLwdLwdLwdLwdLwaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadLwdLwdLwdLwdLwdLwdLwdLwdLwdLwdLwdLwdLwdLwdLwdLwdLwdLwdLwdLwdLwdLwdLwdLwdLwdLwaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadLwdLwdLwdLwdLwdLwdLwdLwdLwdLwdLwdLwdLwdLwdLwdLwdLwdLwdLwdLwdLwdLwdLwdLwdLwdLwdLwdLwaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadLwdLwdLwdLwdLwdLwdLwdLwdLwdLwdLwdLwdLwdLwdLwdLwdLwdLwdLwdLwdLwdLwdLwdLwdLwdLwdLwdLwdLwdLwaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadLwdLwdLwdLwdLwdLwdLwdLwdLwdLwdLwdLwdLwdLwdLwdLwdLwdLwdLwdLwdLwdLwdLwdLwdLwdLwdLwdLwdLwdLwdLwdLwaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRaaaaaaaaaaaeaaaaaaaaaaaaaaaaaaaaaaaadLwdLwdLwdLwdLwdLwdLwdLwdLwdLwdLwdLwdLwdLwdLwdLwdLwdLwdLwdLwdLwdLwdLwdLwdLwdLwdLwdLwdLwdLwdLwdLwdLwaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRaaaaaaaaaaagaaaaaaaaaaaaaaaaaaaaaaaadLwdLwdLwdLwdLwdLwdLwdLwdLwdLwdLwdLwdLwdLwdLwdLwdLwdLwdLwdLwdLwdLwdLwdLwdLwdLwdLwdLwdLwdLwdLwdLwdLwdLwaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRaafaafaafaadaaaaaaaaaaaaaaaaaaaaaaaadLwdLwdLwdLwdLwdLwdLwdLwdLwdLwdLwdLwdLwdLwdLwdLwdLwdLwdLwdLwdLwdLwdLwdLwdLwdLwdLwdLwdLwdLwdLwdLwdLwdLwaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRaaaaaaaaaaaaaadaaaaaaaaaaaaaaaaaaaaaaaadLwdLwdLwdLwdLwdLwdLwdLwdLwdLwdLwdLwdLwdLwdLwdLwdLwdLwdLwdLwdLwdLwdLwdLwdLwdLwdLwdLwdLwdLwdLwdLwdLwdLwaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRaaaaaaaaaaadaadaaaaaaaaaaaaaaaaaaaaaaaadLwdLwdLwdLwdLwdLwdLwdLwdLwdLwdLwdLwdLwdLwdLwdLwdLwdLwdLwdLwdLwdLwdLwdLwdLwdLwdLwdLwdLwdLwdLwdLwdLwaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRaaaaaaaaaaadaaaaaaaaaaaaaaaaaaaaaaaaaaadLwdLwdLwdLwdLwdLwdLwdLwdLwdLwdLwdLwdLwdLwdLwdLwdLwdLwdLwdLwdLwdLwdLwdLwdLwdLwdLwdLwdLwdLwdLwdLwaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRaaaaaaaaaaadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadLwdLwdLwdLwdLwdLwdLwdLwdLwdLwdLwdLwdLwdLwdLwdLwdLwdLwdLwdLwdLwdLwdLwdLwdLwdLwdLwdLwdLwdLwaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRaafaafaafaadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadLwdLwdLwdLwdLwdLwdLwdLwdLwdLwdLwdLwdLwdLwdLwdLwdLwdLwdLwdLwdLwdLwdLwdLwdLwdLwdLwdLwaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRaaaaaaaaaaaaaaaaagaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadLwdLwdLwdLwdLwdLwdLwdLwdLwdLwdLwdLwdLwdLwdLwdLwdLwdLwdLwdLwdLwdLwdLwdLwdLwdLwaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadLwdLwdLwdLwaaaaaaaaadLwdLwdLwdLwdLwdLwdLwdLwdLwdLwdLwdLwdLwdLwdLwaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadLwdLwdLwdLwdLwdLwdLwdLwdLwdLwdLwdLwaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRaaadrRdrRdrRdrRdrRdrRdrRaaadrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadrRdrRdrRdrRaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadrRdrRdrRdrRdrRaaaaaaaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaaaaaadrRdrRdrRdrRaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadrRdrRdrRdrRdrRaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadrRdrRdrRdrRdrRaaaaaaaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaaaaaadrRdrRdrRdrRdrRaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadrRdrRdrRdrRdrRdrRdrRdrRaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadrRdrRdrRdrRdrRaaaaaaaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaaaaaadrRdrRdrRdrRdrRdrRdrRdrRaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadrRdrRdrRdrRdrRdrRdrRdrRaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadrRdrRdrRdrRdrRaaaaaaaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaaaaaadrRdrRdrRdrRdrRdrRdrRdrRaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadrRdrRdrRdrRdrRdrRdrRdrRaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadrRdrRdrRdrRdrRaaaaaaaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaaaaaadrRdrRdrRdrRdrRdrRdrRdrRaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadrRdrRdrRdrRdrRaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadrRdrRdrRdrRdrRaaaaaaaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaaaaaadrRdrRdrRdrRdrRaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadrRdrRdrRdrRaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadrRdrRdrRdrRdrRaaaaaaaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaaaaaadrRdrRdrRdrRaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadrRdrRdrRdrRaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadrRdrRdrRdrRdrRaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadrRdrRdrRdrRaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadrRdrRdrRdrRdrRdrRdrRaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadrRdrRdrRdrRdrRdrRdrRaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadrRdrRdrRdrRdrRdrRdrRaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadrRdrRdrRdrRdrRdrRdrRaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadrRdrRdrRdrRdrRdrRdrRdrRaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadrRdrRdrRdrRdrRdrRdrRdrRaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadrRdrRdrRdrRdrRdrRdrRdrRdrRaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadrRdrRdrRdrRdrRdrRdrRaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadrRdrRdrRdrRdrRdrRdrRdrRdrRaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadrRdrRdrRdrRdrRdrRdrRdrRdrRaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadrRdrRdrRdrRdrRdrRdrRaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadrRdrRdrRdrRdrRdrRdrRdrRdrRaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadrRdrRdrRdrRdrRdrRdrRdrRdrRaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadrRdrRdrRdrRdrRdrRdrRaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadrRdrRdrRdrRdrRdrRdrRdrRdrRaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadrRdrRdrRdrRdrRdrRdrRdrRaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadrRdrRdrRdrRdrRdrRdrRdrRaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadrRdrRdrRdrRdrRdrRdrRaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadrRdrRdrRdrRdrRdrRdrRaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadrRdrRdrRdrRdrRdrRdrRaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadrRdrRdrRdrRdrRdrRdrRaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadrRdrRdrRdrRdrRdrRdrRdrRdrRdrRdrRaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadrRdrRdrRdrRaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadrRdrRdrRdrRdrRaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadrRdrRdrRdrRaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadrRdrRdrRdrRaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadrRdrRdrRdrRdrRaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadrRdrRdrRdrRaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadrRdrRdrRdrRaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadrRdrRdrRdrRdrRaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadrRdrRdrRdrRaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadrRdrRdrRdrRaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadrRdrRdrRdrRdrRaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadrRdrRdrRdrRaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadrRdrRdrRdrRaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadrRdrRdrRdrRdrRaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadrRdrRdrRdrRaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadrRdrRdrRdrRaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadrRdrRdrRdrRdrRaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadrRdrRdrRdrRaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadrRdrRdrRdrRaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadrRdrRdrRdrRdrRaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadrRdrRdrRdrRaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaagaafaaaaaaaaaaafaaaaaaaaaaaaaaaaafaaaaaaaaaaafaaaaaaaaaaaaaafaaaaaaaaadrTdrTdrTdrTdrTdrTdrTaaaaaaaaaaafaaaaaaaaaaaaaafaaaaaaaaaaafaaaaaaaaaaaaaaaaafaaaaaaaaaaadaadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadrTdrTdrTdrTdrTaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadaaaaaaaaaaaaaafaaaaaaaaaaaaaaaaafaaaaaaaaaaafaaaaaaaaaaaadrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTaaaaaaaaaaaaaafaaaaaaaaaaafaaaaaaaaaaaaaaaaafaaaaaaaaaaaaaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadrTdrTdrTdrTdrTdrTdrTdrTdrTaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadaaaaaaaaaaaaaafaaaaaaaaaaaaaaaaafaaaaaaaaaaafaaaaaaaaadrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTaaaaaaaaaaafaaaaaaaaaaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaagaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadaaaaaaaaaaaadrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTaaaaaaaaaaadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadaafaafaafdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTaafaafaadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaTfaadaaaaaaaaadrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTaaaaaaaadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaaaaaaaaadrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTaaaaaaaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaRaaaaaaaaadrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTaaaaaaaaaaaeaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaaaaaaaaadrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTaaaaaaaaaaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaaaaaaaaadrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTaaaaaaaaaaagaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaagaaaaaaaaadrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTaaaaaaaaaaadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadaaaaaaaaadrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTaafaafaafaadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadaafaafaafdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTaaaaaaaaaaadaagaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadaadaadaadaafaagaadaadaadaadaadaadaadaadaadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadaaaaaaaaaaaadrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTaaaaaaaaaaaaaadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadbadcaadaaaaaaaafaaaaaaaafaaaaaaaafaaaaafaaaaaaaadaadaadaagaaaaaaaaaaaaaaaaaaaaaaadaaaaaaaaaaaadrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTaaaaaaaaaaaaaadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadaadaagaaaaaaaaaaaaaafaaaaaaaafaaaaaaaafaaaaafaaaaaaaaaaaaaaaaafaadaaaaaaaaaaaaaaaaaaaadaafaafaafdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTaafaafaafaadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadaadaadaaaaaaaaaaaaaaaaaaaafaaaaaaaafaaaaaaaafaaaaafaaaaaaaaaaaaaaaaaaaadaaaaaaaaaaaaaaaaafaafaaaaaaaaadrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTaaaaaaaaaaadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadrTdrTdrTdrTaaadrTdrTdrTdrTdrTaaadrTdrTdrTdrTaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadaadaaaaaaaaaaaaaaaaaaaaaaaaaafaaaaaaaafaaaaaaaafaaaaafaaaaaaaaaaaaaaaaaabaRaaaaaaaaaaaaaaaaaRaaaaaaaaaaaadrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTaaaaaaaaaaadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadrTdrTdrTdrTaaaaafaaaaaaaaaaafaaadrTdrTdrTdrTaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadaagaadaafaafaafaafaafaafdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTaafdrTdrTdrTdrTaaaaafaafaafaadaaaaaaaaaaaaaadaaaaaaaaaaaadrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTaaaaaaaaaaadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadrTaaaaaaaaaaafaaaaaaaaaaafaaaaaaaaadrTaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadaadaaaaafaaaaaaaaaaaaaaaaaadrTdrTdrTdrTdrTdrTdrTdrTdrTdrTaafdrTdrTdrTdrTaaaaaaaaaaaaaadaaaaaaaaaaaaaadaafaafaafdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTaaaaaaaaaaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadrTaaaaaaaaaaafaaaaaaaaaaafaaaaaaaaadrTaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadaadaaaaaaaafaaaaaaaaaaaaaaaaaadrTdrTdrTdrTdrTdrTdrTdrTdrTdrTaafdrTdrTdrTdrTaaaaaaaaaaaaaadaadaaaaaaaaaaadaaaaaaaaadrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTaaaaaaaaaaaRaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadrTaaaaaaaaaaafaaaaaaaaaaafaaaaaaaaadrTaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadaadaaaaaaaaaaafaaaaaaaaaaaaaaaaaadrTdrTdrTdrTdrTdrTdrTdrTdrTdrTaafdrTdrTdrTdrTaaaaaaaaaaaaaaaaadaaaaaaaaaaaaaaaaaaaaadrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTaaaaaaaaaaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadrTaaaaaaaaaaafaaaaaaaaaaafaaaaaaaaadrTbeYaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadaaaaaaaaaaaaaafaaaaaaaaaaaaaaaaaaaaaaafaafaaaaafaafaaaaafaafaaaaafaaaaafaafaaaaaaaaaaaaaaaaaaaafbaRaaaaaaaaaaaaaaaaaadrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTaaaaaaaaaaagaaaaaaaaaaaaaaaaaadrUdrUdrUdrUdrUdrUdrUdrUdrUdrUdrUaaaaaaaaaaaaaaaaaaaaaaaadrTaaaaaaaaaaafaaaaaaaaaaafaaaaaaaaadrTaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadaaaaaaaaaaaaaafaaaaaaaaaaaaaaadrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTaaaaaaaaaaaaaadaaaaaaaadaaaaaaaaadrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTaaaaaaaaaaadaaaaaaaaaaaaaaaaaadrUdrUdrUdrUdrUdrUdrUdrUdrUdrUdrUdrUaaaaaaaaaaaaaaaaaadrVdrVdrVaafaafaafaaaaaaaaaaafaafaafdrVdrVdrVaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadaaaaaaaaaaaaaafaaaaaaaaaaaadrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTaafaafaafaadaafaaRaadaafaafaafdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTaafaafaafaadaaaaaaaaaaaaaaaaaadrUdrUdrUdrUdrUdrUdrUdrUdrUdrUdrUdrUaaaaaaaaaaaaaaaaaadrTdrTdrTaaaaaaaafaaaaaaaaaaafaaaaaadrTdrTdrTaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadaaaaaaaaaaaaaafaaaaaaaaaaaadrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTaaaaaaaaaaafaaaaaaaaaaaaaaaaaadrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTaaaaaaaaaaadaaaaaaaaaaaaaaaaaadrUdrUdrUdrUdrUdrUdrUdrUdrUdrUdrUdrUaaaaaaaaaaaaaaaaaadrVdrVdrVaafaafaafaaaaaaaaaaafaafaafdrVdrVdrVaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadaafaafaafaafdrTdrTdrTdrTaaadrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTaaaaaaaaaaafaaaaaaaaaaaaaaaaaadrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadrUdrUdrUdrUdrUdrUdrUdrUdrUdrUdrUaaaaaaaaaaaaaaaaaaaaaaaadrTaaaaaaaaaaafaaaaaaaaaaafaaaaaaaaadrTaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadaaaaaaaaaaaadrTdrTdrTdrTaafdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTaaaaaaaaaaafaaaaaaaaaaaaaaaaaaaaadrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTaaaaaaaaaaaaaagaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadrTaaaaaaaaaaafaaaaaaaaaaafaaaaaaaaadrTaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadaaaaaaaaaaaadrTdrTdrTdrTaafdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTaaaaaaaaaaaaaaaaaaaaadrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTaaaaaaaaaaaaaadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadrTaaaaaaaaaaafaaaaaaaaaaafaaaaaaaaadrTaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadcaafaafaafaafdrTdrTdrTdrTaaadrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTaaaaaaaaadrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTaaaaafaafaafaadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadrTaaaaaaaaaaafaaaaaaaaaaafaaaaaaaaadrTaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadrTdrTdrTdrTaafdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTaaaaaadrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTaaaaaaaaaaaaaaRaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadrTaaaaaaaaaaafaaaaaaaaaaafaaaaaaaaadrTaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaagaaaaaaaaaaaadrTdrTdrTdrTaafdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTaaaaaadrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrWdrWdrWdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTaaaaaaaaaaaaaaaaaaaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaaaaaaaaaaafaaaaaaaagaaaaaaaaaaaaaaadrTaaaaaaaaaaafaaaaaaaaaaafaaaaaaaaadrTaaaaadaadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadaafaafaafaafdrTdrTdrTdrTaaadrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrWdrWdrWdrWdrWdrWdrWdrWdrWdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTaaaaaaaaaaaaaaaaafaaaaaaaaaaaaaaadrTdrTdrTdrTdrTdrTdrTdrTaaaaafaaaaaaaafaaaaaaaaaaaaaaadrTaaaaaaaaaaafaaaaaaaaaaafaaaaaaaaadrTaaaaaaaadaaRaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadaaaaaaaaaaaadrTdrTdrTdrTaafdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrWdrWdrWdrWdrXdrWdrWdrWdrWdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTaaaaaaaaaaaaaaaaafaaaaaaaaaaaaaaadrTdrTdrTdrTdrTdrTdrTdrTdrTdrTaaaaaaaafaaaaaaaaaaaaaaadrTaaaaaaaaaaafaaaaaaaaaaafaaaaaaaaadrTaaaaaaaaaaafaagaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadaaaaaaaaaaaadrTdrTdrTdrTaafdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrWdrWdrWdrYdrZdsadsbdsadscdsddrWdrWdrWdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTaaaaaaaaaaaaaaadrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTaaaaaaaaadrTaaaaaaaaaaafaaaaaaaaaaafaaaaaaaaadrTaaaaaaaaaaaaaadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadaafaafaafaafdrTdrTdrTdrTaaadrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrWdrWdrWdsedsfdsgdshdsidsjdskdrWdrWdrWdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTaaaaaadrTaaaaaaaaaaafdrTdrTdrTdrTdrTdrTdrTdrTdrTaafaafaafaadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadsldsldsldslaaaaaaaaadslaaaaaaaaaaaaaaadslaaaaaaaaadsldsldsldslaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadbaaaaaaaaaaaaaaaaaaaaaaaaaaadrTdrTdrTdrTdsmdsndsodrTdsmdsndsodrTdsmdsndsodrTdsmdsndsodrTdsmdsndsodrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrWdrWdspdsqdsrdssdstdsgdsudsvdswdrWdrWdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdsxdsydszdrTdsxdsydszdrTdsxdsydszdrTdsxdsydszdrTdsxdsydszdrTdrTdrTaaadrTaaaaaaaaaaaadrTdrTdrTdrTdrTdrTdrTdrTdrTaaaaaaaaaaadaadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadsldsldsldslaaaaaaaaadsldsldsldsldsldsldslaaaaaaaaadsldsldsldslaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaagaaaaafaaaaaaaaaaaaaaaaaadrTdrTdrTdrTdrTdrTdrTdrTdsAdsBdsodrTdsAdsBdsodrTdsAdsBdsodrTdsAdsBdsodrTdsAdsBdsodrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrWdrWdrWdsCdsDdsEdsFdsFdsFdsGdsHdsIdrWdrWdrWdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdsxdsJdszdrTdsxdsJdszdrTdsxdsJdszdrTdsxdsJdszdrTdsxdsJdszdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTaaaaaaaaaaadaadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadsldsldsldslaaaaaadsldsldsldsldsldsldsldsldslaaaaaadsldsldsldslaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadaadaafaafaaaaaadrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdsAdsBdsodrTdsAdsBdsodrTdsAdsBdsodrTdsAdsBdsodrTdsAdsBdsodrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrWdrWdsKdsLdsMdsNdsOdsPdsOdsQdsRdsSdsTdrWdrWdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdsxdsJdszdrTdsxdsJdszdrTdsxdsJdszdrTdsxdsJdszdrTdsxdsJdszdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTaaaaaaaaaaaaaadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadsldsldsldslaaaaaadsldsldsldsldsldsldsldsldslaaaaaadsldsldsldslaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaagaadaadaaaaaaaaaaaaaaadrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdsAdsBdsodrTdsAdsBdsodrTdsAdsBdsodrTdsAdsBdsodrTdsAdsBdsodrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdsUdsUdsUdsUdsUdsUdsUdrTdrTdrTdrTdrTdrTdrTdrWdrWdrWdsCdsDdsEdsFdsVdsFdsWdsXdsIdrWdrWdrWdrTdrTdrTdrTdrTdrTdrTdsYdsYdsYdsYdsYdsYdsYdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdsxdsJdszdrTdsxdsJdszdrTdsxdsJdszdrTdsxdsJdszdrTdsxdsJdszdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTaafaafaafaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadsldsldsldsldsldsldsldsldsldsldsldsldsldsldsldsldsldsldsldsldslaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadaadaagaafaaaaafaaaaaaaaaaaaaaaaaaaaadrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdsAdsBdsodrTdsAdsBdsodrTdsAdsBdsodrTdsAdsBdsodrTdsAdsBdsodrTdrTdrTdrTdrTdrTdsZdtadtadtadtadtbdtcdtddtedtfdsUdrTdrTdrTdrTdrTdtgdthdthdtidtidtjdtkdtldsFdsFdsFdsudtmdtndrWdrWdrTdrTdrTdrTdrTdrTdrTdrTdsYdtodtpdtqdtrdtsdttdttdttdttdtudrTdrTdrTdrTdrTdrTdsxdsJdszdrTdsxdsJdszdrTdsxdsJdszdrTdsxdsJdszdrTdsxdsJdszdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTaaaaaaaaaaaRaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadsldsldsldsldsldsldsldsldsldsldsldsldsldsldsldsldsldsldsldsldslaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaaaaaaaafaaaaaaaaaaaaaaaaaaaaadrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdtvdrTdrTdrTdtvdrTdrTdrTdtvdrTdrTdrTdtvdrTdrTdrTdtvdrTdrTdtwdrTdtxdtxdtxdsZdtydtzdtAdtBdtCdtedtedtedtDdsUdrTdrTdrTdrTdrTdtEdrTdrTdrWdrWdrWdtFdtGdtHdtIdtHdtJdtKdrWdrWdrWdrTdrTdrTdrTdrTdrTdrTdrTdsYdtLdtMdtNdtNdtOdtPdtQdtRdtSdtudtTdtTdtTdrTdrTdrTdrTdtUdrTdrTdrTdtUdrTdrTdrTdtUdrTdrTdrTdtUdrTdrTdrTdtUdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadsldsldsldsldsldsldsldsldsldsldsldsldsldsldsldsldsldsldsldsldslaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadaaaaaaaafaaadrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdtVdtWdtXdtXdtXdtXdtXdtXdtXdtXdtXdtXdtXdtXdtXdtXdtXdtXdtXdtXdtXdtXdtYdtZduadubducdudduedufdugduhduidujdukduldumdundsUaaaaaaaaaaaaaaaduoaaaaaadrWdrWdrWdsddupduqdurdusdutdrYdrWdrWdrWaaaaaadrVaaaaaaaaaaaaaaadsYduuduvduwduwduxduyduzduAduBduCduDduEduFduGduHduIduJduJduJduJduJduJduJduJduJduJduJduJduJduJduJduJduJduJduJduJduKduLdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadsldsldsldsldsldsldsldsldsldsldsldsldsldsldsldsldsldsldsldsldslaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaaaaaaaafdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTduMdrTdrTdrTduMdrTdrTdrTduMdrTdrTdrTduMdrTdrTdrTduMdrTdrTdrTdrTdtxduNduOduPduQduRduSdtBduTdteduUduVdsUdsUaaaaaaaaaaaaaaaduoaaaaaaaaaaaadrWdrWdrWdrWduWdrWdrWdrWdrWaaaaaaaaaaaadrVaaaaaaaaaaaaaaadsYdsYduXduYdtNduZdtPdvadvbdvcdvddvedvfdtTdrTdrTdrTdrTdvgdrTdrTdrTdvgdrTdrTdrTdvgdrTdrTdrTdvgdrTdrTdrTdvgdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadsldsldsldsldsldsldsldsldsldsldsldsldsldsldsldsldsldsldsldsldslaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadvhaaaaaaaaadvhaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadaafaafaafdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdsAdvidsodrTdsAdvidsodrTdsAdvidsodrTdsAdvidsodrTdsAdvidsodrTdrTdrTdrTdrTdrTdsZdtadtadtadsUdvjdvkdsUdsUdsUaaaaaaaaaaaaaaaaaadtEdrTdrTdrTdvldvldvldvldrWdvmdvndvodvldvldvldrTdrTdrTdrTaaaaaaaaaaaaaaaaaadsYdsYdsYdvpdvqdsYdttdttdttdtudrTdrTdrTdrTdrTdrTdsxdvrdszdrTdsxdvrdszdrTdsxdvrdszdrTdsxdvrdszdrTdsxdvrdszdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadsldsldsldsldsldsldsldsldsldsldsldsldsldsldsldsldsldsldsldsldslaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadvhaaaaaaaaadvhaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadaadaadaafaaaaaadrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdsAdvidsodrTdsAdvidsodrTdsAdvidsodrTdsAdvidsodrTdsAdvidsodrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdsUdvsdtedsUaaaaaaaaaaaaaaaaaadrTdrTdtEdrTdrTdrTdvldvtdvudvvdvwdvxdvydvzdvudvAdvldrTdrTdrTdrTdrTdrTaaaaaaaaaaaaaaaaaadsYdtNdvBdsYdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdsxdvrdszdrTdsxdvrdszdrTdsxdvrdszdrTdsxdvrdszdrTdsxdvrdszdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadsldsldsldsldsldsldsldsldsldsldsldsldsldsldsldsldsldsldsldsldsldsldslaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadvhaaaaaaaaadvhaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadaadaaaaaaaafaaaaaadrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdsAdvidsodrTdsAdvidsodrTdsAdvidsodrTdsAdvidsodrTdsAdvidsodrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdsUdvCdvDdsUaaaaaaaaaaaaaaadrTdrTdrTdtEdrTdrTdrTdvldvEdvFdvGdvHdvIdvJdvKdvLdvLdvldrTdrTdrTdrTdrTdrTdrTaaaaaaaaaaaaaaadsYdtLdvMdsYdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdsxdvrdszdrTdsxdvrdszdrTdsxdvrdszdrTdsxdvrdszdrTdsxdvrdszdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadsldsldsldsldsldsldsldsldsldsldsldsldsldsldsldsldsldsldsldsldsldsldslaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadvhdvhdvhdvhdvhaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadaadaaaaaaaaaaafaaaaaadrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdsAdvidsodrTdsAdvidsodrTdsAdvidsodrTdsAdvidsodrTdsAdvidsodrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdsUdvNdvOdsUaaaaaaaaaaaadrTdrTdrTdrTdtEdrTdrTdrTdvldvPdvLdvQdvLdvRdvLdvQdvLdvSdvldrTdrTdrTdrTdrTdrTdrTdrTaaaaaaaaaaaadsYdvTdvUdsYdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdsxdvrdszdrTdsxdvrdszdrTdsxdvrdszdrTdsxdvrdszdrTdsxdvrdszdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadsldsldsldsldsldsldsldsldsldsldsldsldsldsldsldsldsldsldsldsldslaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadvhdvhdvhdvhdvhdvhdvhdvhdvhaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadaaaaaaaaaaaaaafaaaaaadrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdsAdvVdsodrTdsAdvVdsodrTdsAdvVdsodrTdsAdvVdsodrTdsAdvVdsodrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdsUdvNdvWdsUaaaaaaaaadrTdrTdrTdrTdrTdtEdrTdrTdrTdvldvXdvLdvldvYdvZdwadvldwbdwcdvldrTdrTdrTdrTdrTdrTdrTdrTdrTaaaaaaaaadsYdwddvUdsYdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdsxdwedszdrTdsxdwedszdrTdsxdwedszdrTdsxdwedszdrTdsxdwedszdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTaaaaaaaaaaaaaaaaaaaaRaadaadaadaadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadsldsldsldsldsldsldsldsldsldsldsldsldslaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadvhdvhdvhdvhdvhdvhdvhdvhdvhdvhdvhaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaaaaaaaaaaaaaafdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdsUdwfdwgdwhaaaaaaaaadrTdrTdrTdrTdrTdtEdrTdrTdwidwidwjdwidwidvldwkdvldwldwldwmdwldwldrTdrTdrTdrTdrTdrTdrTdrTaaaaaaaaadwndwodwpdsYdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTaaaaaaaaaaaaaaaaaaaaaaafaaaaaaaadaagaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadsldsldsldsldsldsldsldsldsldsldsldsldslaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadvhdvhdvhdvhdvhdvhdvhdvhdvhdvhdvhaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaaaaaaaaaaaadrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdsUdwqdwrdwhaaaaaadrTdrTdrTdrTdrTdrTdtEdrTdwidwidwsdwtdwudwidwvdwwdwxdwldwydwzdwAdwldwldrTdrTdrTdrTdrTdrTdrTdrTaaaaaadwndwBdwCdsYdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTaaaaaaaaaaaaaaaaaaaaaaafaaaaaaaaaaadaadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadsldsldsldsldsldsldsldsldsldsldsldsldslaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadvhdvhdvhdvhdvhdvhdvhdvhdvhdvhdvhaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaaaaaaaaaaaadrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdsUdwDdwEdwhaaaaaadrTdrTdrTdrTdrTdrTdtEdrTdwidwFdwGdwHdwIdwJdwKdwLdwMdwNdwOdwPdwQdwRdwldrTdrTdrTdrTdrTdrTdrTdrTaaaaaadwndwSdwTdsYdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTaaaaaaaaaaaaaaaaaaaaaaafaaaaaaaaaaaaaadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadsldsldsldsldsldsldsldsldsldsldsldsldslaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadvhdvhdvhdvhdvhdvhdvhdvhdvhdvhdvhaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaagaaaaaaaaaaaadrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdsUdwUdwVdsUaaaaaadwWdwXdwYdwXdwZdwZdxadwZdwZdxbdxcdxddxedwidxfdxgdxfdwldxhdxidxjdxkdxldxmdxndxmdxldxodxpdxodxqaaaaaadsYdxrdxsdsYdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTaaaaaaaaaaaaaadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadsldsldsldsldsldsldsldsldslaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadvhdvhdvhdvhdvhdvhdvhdvhdvhaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadaaaaaaaaaaaadrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdsUdxtdtedsUaaaaaadwWdxudxvdxwdxxdxydxzdxAdwZdwidwidwidxBdxCdxDdxEdxFdxGdxHdwldwldwldxldxIdxJdxKdxLdxMdxNdxOdxqaaaaaadsYdtNdxPdsYdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTaafaafaafaadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadsldsldsldsldsldsldslaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadvhdvhdvhdvhdvhdvhdvhaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadaafaafaafaaadrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdsUdxQdxRdsUaaaaaadwWdxSdxTdxUdxxdxVdxWdxXdwZdxYdxZdxZdyadxZdxZdybdxZdxZdycdxZdxZdyddxldyedyfdygdxLdyhdyidyjdxqaaaaaadsYdykdyldsYdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadvhdvhdvhdvhdvhaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadaaaaaaaaaaaadrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdsUdsUdymdvkdsUaaaaaadwWdyndyodypdxxdyqdyrdysdwZdytdyudyvdywdyxdyydyzdyxdyxdyAdyBdyudytdxldyCdyDdyEdxLdyFdyGdyHdxqaaaaaadsYdvpdyIdsYdsYdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdyJdyJdyKdyLdyMdyNdyOdyPdyQdyRdyRdwWdySdyTdyUdwZdyVdxxdxxdyWdytdyvdyXdyXdyXdyXdyXdyXdyXdyXdyXdyBdytdyYdyZdzadxLdxldzbdzcdzddxqdzedzedzfdzgdzhdzidzjdzkdzldzmdzmdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdzndzodzpdzqdzrdzsdztdzudzvdzwdzxdzydzzdzAdzBdzCdzDdzEdzFdzGdzHdzIdzJdyXdzKdzKdzKdzKdzKdyXdzLdzMdzNdzOdzPdzQdzRdzSdzTdzQdzUdzVdzWdzPdzOdzXdzYdzZdAadAbdAcdAddAedrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTaaaaaaaaaaadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdAfdzodAgdAhdzrdAidAjdAkdAldAmdAmdAndAodApdAqdArdAsdAtdAudAvdAwdAxdAydyXdzKdzKdzKdzKdzKdyXdAydAzdAAdABdACdADdAEdAFdAEdADdAGdAHdAEdAEdABdAIdAJdAKdAadALdAMdAddANdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTaaaaaaaaaaadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdyJdyJdAOdAPdAQdARdASdzwdzvdzwdATdAUdAVdzAdATdAWdAXdzAdzwdzvdAYdAZdyXdyXdzKdzKdzKdzKdzKdyXdyXdBadBbdzOdzPdzQdBcdBddBedzQdBcdBfdBedzPdzOdzPdBgdBhdBidBjdBkdzmdzmdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTaafaafaafaadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdBldBldBmdBldBndBodBpdBqdBrdBsdBsdBsdBsdBtdBudBtdBvdBwdBxdBydBzdBAdAxdBBdyXdzKdzKdzKdzKdzKdyXdBBdAzdBCdBDdBEdBFdBGdBHdBIdBJdBKdBLdzedzedzmdBMdzYdBNdBOdBPdBQdBRdBQdBQdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTaaaaaaaaaaadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdBSdBTdBUdBVdBWdBXdBYdBqdBZdBsdCadCbdCcdCcdCddCedBwdCfdCgdChdBvdCidCjdCkdyXdzKdzKdzKdzKdzKdyXdCldCmdCndBHdCodCpdCqdBGdCrdCsdCtdBLdrTdrTdzmdCudzYdCvdCwdCxdCydCzdCAdCBdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTaaaaaaaaaaadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaagaaaaaaaaaaaadrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdBldBldBmdBldBndCCdCDdBqdCEdCFdBsdBsdCGdCHdCIdCJdBwdCKdCLdCMdBvdBbdCNdyXdCOdCPdCQdCRdCSdyXdCTdyXdCUdBbdBHdCVdCWdCXdBGdCYdCZdDadBLdrTdrTdDbdDcdzYdDddDedBPdBQdBRdBQdBQdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTaaaaaaaaaaaaaadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadaaaaaaaaaaaadrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdDfdDfdDfdDfdDfdDfdDgdDhdBsdDidDjdDkdDldDldDmdBwdDndDodDpdBvdDqdDrdDsdDtdDudDvdDvdDvdDsdDwdDudDvdDxdBHdDydDzdDAdBGdDBdDCdDDdBLaaaaaadDEdDFdDGdDEdDEdDEdDEdDEdDEdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTaaaaaaaaaaaaaadaaRaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadaafaafaafaaadrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdDfdDHdDIdBsdBsdBsdBsdBsdBsdBsdBvdBvdBvdBvdBvdDJdDKdDLdDMdDNdDNdDOdDPdDQdDRdDSdDTdDUdBHdBHdBHdBHdBHdBLdBLdBLdBLaaaaaadDEdDVdDWdDEdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTaaaaaaaaaaadaadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadaaaaaaaaaaaadrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdDfdDXdDYdDfaaaaaadDZdEadEbdEcdEddEedEfdEgdDZdEhdEidEjdEkdEldEmdEndEmdEkdEkdEjdEodEpdEqdErdEsdEtdEudEqdEvdEwdEqaaaaaadDEdExdEydDEdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTaafaafaafaadaTfaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadaaaaaaaaaaaadrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdDfdDHdEzdDfaaaaaadDZdEAdEBdECdEDdEEdEFdEGdDZdEHdEIdyXdEJdEKdyudytdyudELdEMdyXdENdEOdEqdEPdEQdERdESdETdEUdEVdEqaaaaaadDEdEWdEXdDEdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTaaaaaaaaaaaaaadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadaaaaaaaaaaaadrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdDfdDHdEYdEZaaaaaadFadEedFbdFcdFddFedFfdFgdFhdFidFjdFkdEJdFldFmdFndFodyudFpdFqdFrdFsdFtdFudFvdFwdFxdEqdFydFzdEqaaaaaadFAdFBdFCdDEdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTaaaaaaaaaaaaaaaaaaaaaaaaaafaaaaaaaaaaaaaadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaaaaaaaaaaaadrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdDfdFDdFEdEZaaaaaadFFdFGdFHdFIdFJdFIdFKdFLdDZdFMdFNdyXdFOdFPdFQdFRdFSdFTdFUdyXdFVdFWdEqdEqdEqdFXdEqdEqdEqdEqdEqaaaaaadFAdFYdFZdDEdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTaaaaaaaaaaaaaaaaaaaaaaaaaafaaaaaaaaaaagaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaagaaaaaaaaaaafaafdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdDfdGadGbdEZaaaaaadGcdGddEedEedGedEedEedGfdDZdEHdEIdGgdGgdGhdGidGjdGkdGldGgdGgdENdEOdEqdGmdGndGodGpdGqdGrdGsdEqaaaaaadFAdGtdGudDEdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTaaaaaaaaaaaaaaaaaaaaaaaaaafaaaaaaaadaadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadaaaaaaaaaaafaaaaaaaaadrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdGvdGwdGxdrTdGvdGwdGxdrTdGvdGwdGxdrTdGvdGwdGxdrTdGvdGwdGxdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdDfdGadGydDfaaaaaadGzdGAdGBdEedGCdGDdGEdGFdGGdGHdGIdGJdGKdGLdGMdGNdGOdGLdGPdGQdGRdGSdGTdGUdGVdGWdGXdGYdGZdHadEqaaaaaadDEdHbdGudDEdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdHcdHddHedrTdHcdHddHedrTdHcdHddHedrTdHcdHddHedrTdHcdHddHedrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTaafaafaafaaRaafaaaaaaaagaadaadaadaadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadaadaaaaaaaafaaaaaaaaadrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdGvdHfdGxdrTdGvdHfdGxdrTdGvdHfdGxdrTdGvdHfdGxdrTdGvdHfdGxdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdDfdGadHgdDfdDfdDZdDZdDZdHhdHidHjdHidHhdDZdDZdHkdHldHmdHndHodHndHpdHndHodHndHndHqdHrdEqdEqdHsdHtdHudHvdHwdHxdEqdEqdDEdDEdHydGudDEdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdHcdHzdHedrTdHcdHzdHedrTdHcdHzdHedrTdHcdHzdHedrTdHcdHzdHedrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTaaaaaaaaaaaaaaaaadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadaadaaaaafaaaaaaaaadrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdGvdHfdGxdrTdGvdHfdGxdrTdGvdHfdGxdrTdGvdHfdGxdrTdGvdHfdGxdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdDfdGadEzdHAdHBdDZdHCdHDdHEdHFdGCdEedEedHGdHHdHIdHJdHKdHLdHMdHNdHOdHPdHQdHRdHSdHTdHUdHVdHWdHXdHYdHZdIadIbdGYdIcdEqdIddIedIfdGudDEdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdHcdHzdHedrTdHcdHzdHedrTdHcdHzdHedrTdHcdHzdHedrTdHcdHzdHedrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTaaaaaaaaaaaaaaaaadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadaadaadaaaaaaaaadrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdGvdHfdGxdrTdGvdHfdGxdrTdGvdHfdGxdrTdGvdHfdGxdrTdGvdHfdGxdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdDfdGadEzdEzdEzdIgdEedIhdIidIjdIkdIldImdDZdIndIodIpdIqdIpdIpdIpdIqdIpdIpdIpdIpdIpdIodIrdEqdIsdGYdGXdItdGYdGYdIudEqdIvdIwdIxdGudDEdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdHcdHzdHedrTdHcdHzdHedrTdHcdHzdHedrTdHcdHzdHedrTdHcdHzdHedrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTaaaaaaaaaaaaaadaadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaaaaaaaaadrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdGvdHfdGxdrTdGvdHfdGxdrTdGvdHfdGxdrTdGvdHfdGxdrTdGvdHfdGxdrTdrTdrTdrTdrTdrTdIydIzdIzdIzdDfdIAdDhdDhdDhdDZdIBdICdIDdEedIEdICdIFdIGdIHdIIdIJdIKdILdIpdIpdIMdIpdIpdINdIOdIPdIQdIRdISdITdGYdIUdIVdEQdGYdIWdEqdDFdDFdDFdIXdDEdIYdIYdIYdIZdrTdrTdrTdrTdrTdrTdHcdHzdHedrTdHcdHzdHedrTdHcdHzdHedrTdHcdHzdHedrTdHcdHzdHedrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTaaaaaaaaaaafaadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadaafaafaafdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdJadrTdrTdrTdJadrTdrTdrTdJadrTdrTdrTdJadrTdrTdrTdJadrTdrTdrTdrTdJbdJcdJddJedJfdJgdJhdJidJjdJkdJldJmdDZdDZdJndJodJpdJqdJndDZdDZdJrdJsdJtdGgdJudJvdJwdJxdJydJzdJAdGgdJBdJCdJDdEqdEqdJEdJFdJGdEQdJHdEqdEqdJIdJJdJKdJLdJMdJNdJOdJPdJQdJRdJSdJTdrTdrTdrTdrTdJUdrTdrTdrTdJUdrTdrTdrTdJUdrTdrTdrTdJUdrTdrTdrTdJUdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTaaaaaaaaaaagaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadaaaaaaaaaaaadrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdJVdJWdJXdJXdJXdJXdJXdJXdJXdJXdJXdJXdJXdJXdJXdJXdJXdJXdJXdJXdJXdJXdJYdJZdKadKbdKcdKddKedKfdKgdKhdKidKjdKkdKkdKldKmdDZdDZdKndKodKpdKqdGzaaaaaaaaaaaadKrdGgdJrdKsdKtdKudJtdGgdGgaaaaaaaaaaaadKvdKwdKxdKydKzdEqdEqdKAdKBdKCdKDdKEdKFdKGdKHdKIdKJdKKdKLdKMdKNdKOdKPdKQdKQdKQdKQdKQdKQdKQdKQdKQdKQdKQdKQdKQdKQdKQdKQdKQdKQdKQdKQdKRdKSdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTaaaaaaaaaaadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaaaaaaaaaaaaaaaaaaaaaaaaaafaaaaaaaaaaaadrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdKTdrTdrTdrTdKTdrTdrTdrTdKTdrTdrTdrTdKTdrTdrTdrTdKTdrTdrTdrTdrTdJbdJbdJbdIydKUdKVdKWdJidKXdEzdEzdKYdKZdDfdLadLbdLbdLbdLbdLcdrTdrTdrTdrTdrTdLadLbdLbdLbdLbdLbdLcdLddrTdrTdrTdrTdLadLbdLbdLbdLbdLcdDEdLedLfdLfdLfdLgdJMdLhdLidLjdIZdJTdJTdJTdrTdrTdrTdrTdLkdrTdrTdrTdLkdrTdrTdrTdLkdrTdrTdrTdLkdrTdrTdrTdLkdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTaaaaaaaaaaadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadaagaafaafaaaaaaaaaaaaaaaaafaaaaaaaaaaaadrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdGvdLldGxdrTdGvdLldGxdrTdGvdLldGxdrTdGvdLldGxdrTdGvdLldGxdrTdrTdrTdrTdrTdrTdIydIzdIzdIzdIzdLmdLndLodLpdLqdDfdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdDEdLrdLfdLsdLtdLudIYdIYdIYdIYdIZdrTdrTdrTdrTdrTdrTdHcdLvdHedrTdHcdLvdHedrTdHcdLvdHedrTdHcdLvdHedrTdHcdLvdHedrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTaafaafaafaadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaaaaaaaaaaaadrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdGvdLldGxdrTdGvdLldGxdrTdGvdLldGxdrTdGvdLldGxdrTdGvdLldGxdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdDfdDfdDfdDfdDfdDfdDfdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdDEdDEdDEdDEdDEdDEdDEdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdHcdLvdHedrTdHcdLvdHedrTdHcdLvdHedrTdHcdLvdHedrTdHcdLvdHedrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTaaaaaaaaaaaaaaaaaaaaaaaRaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaagaadaadaaRaadaadaaaaaaaaadrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdGvdLldGxdrTdGvdLldGxdrTdGvdLldGxdrTdGvdLldGxdrTdGvdLldGxdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdHcdLvdHedrTdHcdLvdHedrTdHcdLvdHedrTdHcdLvdHedrTdHcdLvdHedrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabaRaafaafaafaafaaaaaaaaadrTdrTdrTdrTdrTdrTdrTdrTdGvdLldGxdrTdGvdLldGxdrTdGvdLldGxdrTdGvdLldGxdrTdGvdLldGxdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdHcdLvdHedrTdHcdLvdHedrTdHcdLvdHedrTdHcdLvdHedrTdHcdLvdHedrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTaaaaaaaaaaaRaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadaaaaaaaaaaafaaaaaaaaaaaadrTdrTdrTdrTdrTdrTdrTdGvdLwdGxdrTdGvdLwdGxdrTdGvdLwdGxdrTdGvdLwdGxdrTdGvdLwdGxdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdHcdLxdHedrTdHcdLxdHedrTdHcdLxdHedrTdHcdLxdHedrTdHcdLxdHedrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTaafaafaafaaRaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadaadaaaaaaaafaaaaaaaaaaaaaafaaaaaaaaaaaaaaaaafaaaaaaaaaaaaaaaaafaaaaaaaaaaaaaaadrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTaaaaaaaaadrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTaaaaaaaaaaagaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaagaadaadaadaaaaaaaaaaaaaafaaaaaaaaaaaaaaaaafaaaaaaaaaaaaaaaaafaaaaaaaaaaaaaaaaaadrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTaaaaaaaaaaaadrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTaaaaaaaaaaadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadaadaaaaaaaaaaaaaafaaaaaaaaaaaaaaaaafaaaaaaaaaaaaaaaaafaaaaaaaaaaaaaaaaaaaaaaafaaaaaaaaaaaaaaaaaaaaaaafaaaaaaaaaaaaaaadrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTaaaaaaaadaadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadaagaadaadaadaagaaRaagaagaadaadaadaadaafaaeaaaaafaagaadaadaadaadaadaaaaaaaafaaaaaaaaaaaaaaaaaaaaaaafaaaaaaaaaaaaaaadrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTaaaaaaaafaaaaaaaaadrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTaaaaaaaadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaafaaaaafaaaaaaaaaaaaaaaaaaaaaaafaaaaaaaaaaaadrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTaaaaaaaaaaaaaaaaafaaaaaaaaadrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTaaaaaaaaaaafaafaafaadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaaRaagaadaafaaaaaaaaaaadaadaadaaaaaaaaaaaadrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTaaaaaaaaaaaaaaaaafaaaaaaaaadrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTaaaaaaaaaaaaaaaaaaaadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadaadaaaaaaaaadrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTaaaaaaaaaaaaaaaaafaaaaaaaaadrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTaaaaaaaaaaaaaaaaaaaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadaafaafaafdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTaaaaaaaaaaaaaaaaafaafaafaafdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTaaaaaaaaaaafaaaaaaaaaaaaaaaaaaaaaaafaaaaaaaaaaaaaaaaagaaRaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadaaaaaaaaadrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTaaaaaaaaaaaaaadaagaaaaaaaaaaaRaaaaaaaaaaaadrTdrTdrTdrTdrTaaaaaaaaaaafaaaaaaaaaaaaaafaaaaaaaaaaaaaaaaaaaaaaafaaaaaaaaaaaaaadaadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTaaaaaaaaaaagaadaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaaaaaaaaaaafaaaaaaaaaaafaaaaaaaaaaaaaafaaaaaaaaaaaaaaaaaaaaaaafaaaaaaaaaaadaadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaRaaaaaaaaadrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTaafaafaafaadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaaaaaaaaaaafaaaaaaaaaaafaaaaaaaafaafaadaadaadaafaaeaagaadaadaadaadaadaadaadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaagaafaafaafdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTaaaaaaaaaaadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaaaaaaaaaaafaaaaadaadaafaadaadaagaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadaaaaaaaaadrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTaaaaaaaaaaadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadaadaagaadaadaadaadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadaaaaaaaaadrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadaafaafaafdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTaaaaaaaaaaadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaaaaaaaaadrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTaafaafaafaadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadaaaaaaaaadrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTaaaaaaaaaaadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadaaaaaaaaadrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTaaaaaaaaaaadaadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadaafaafaafdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTaaaaaaaaaaaaaadaadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadaaaaaaaaadrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTaaaaaaaaaaaaaaaaadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadaaaaaaaaadrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTaafaafaafaadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTaaaaaaaaaaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadLydLydLydLydLydLydLydLydLydLydLydLyaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadLydLydLydLyaaaaaaaaadLydLydLydLydLydLydLydLydLydLydLydLydLydLydLyaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadLydLydLydLydLydLydLydLydLydLydLydLydLydLydLydLydLydLydLydLydLydLydLydLydLydLyaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadLydLydLydLydLydLydLydLydLydLydLydLydLydLydLydLydLydLydLydLydLydLydLydLydLydLydLydLyaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadLydLydLydLydLydLydLydLydLydLydLydLydLydLydLydLydLydLydLydLydLydLydLydLydLydLydLydLydLydLyaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadLydLydLydLydLydLydLydLydLydLydLydLydLydLydLydLydLydLydLydLydLydLydLydLydLydLydLydLydLydLydLydLyaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTaaaaaaaaaaaeaaaaaaaaaaaaaaaaaaaaaaaadLydLydLydLydLydLydLydLydLydLydLydLydLydLydLydLydLydLydLydLydLydLydLydLydLydLydLydLydLydLydLydLydLyaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTaaaaaaaaaaagaaaaaaaaaaaaaaaaaaaaaaaadLydLydLydLydLydLydLydLydLydLydLydLydLydLydLydLydLydLydLydLydLydLydLydLydLydLydLydLydLydLydLydLydLydLyaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTaafaafaafaadaaaaaaaaaaaaaaaaaaaaaaaadLydLydLydLydLydLydLydLydLydLydLydLydLydLydLydLydLydLydLydLydLydLydLydLydLydLydLydLydLydLydLydLydLydLyaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTaaaaaaaaaaaaaadaaaaaaaaaaaaaaaaaaaaaaaadLydLydLydLydLydLydLydLydLydLydLydLydLydLydLydLydLydLydLydLydLydLydLydLydLydLydLydLydLydLydLydLydLydLyaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTaaaaaaaaaaadaadaaaaaaaaaaaaaaaaaaaaaaaadLydLydLydLydLydLydLydLydLydLydLydLydLydLydLydLydLydLydLydLydLydLydLydLydLydLydLydLydLydLydLydLydLyaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTaaaaaaaaaaadaaaaaaaaaaaaaaaaaaaaaaaaaaadLydLydLydLydLydLydLydLydLydLydLydLydLydLydLydLydLydLydLydLydLydLydLydLydLydLydLydLydLydLydLydLyaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTaaaaaaaaaaadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadLydLydLydLydLydLydLydLydLydLydLydLydLydLydLydLydLydLydLydLydLydLydLydLydLydLydLydLydLydLyaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTaafaafaafaadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadLydLydLydLydLydLydLydLydLydLydLydLydLydLydLydLydLydLydLydLydLydLydLydLydLydLydLydLyaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTaaaaaaaaaaaaaaaaagaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadLydLydLydLydLydLydLydLydLydLydLydLydLydLydLydLydLydLydLydLydLydLydLydLydLydLyaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadLydLydLydLyaaaaaaaaadLydLydLydLydLydLydLydLydLydLydLydLydLydLydLyaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadLydLydLydLydLydLydLydLydLydLydLydLyaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTaaadrTdrTdrTdrTdrTdrTdrTaaadrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadrTdrTdrTdrTaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadrTdrTdrTdrTdrTaaaaaaaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaaaaaadrTdrTdrTdrTaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadrTdrTdrTdrTdrTaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadrTdrTdrTdrTdrTaaaaaaaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaaaaaadrTdrTdrTdrTdrTaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadrTdrTdrTdrTdrTdrTdrTdrTaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadrTdrTdrTdrTdrTaaaaaaaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaaaaaadrTdrTdrTdrTdrTdrTdrTdrTaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadrTdrTdrTdrTdrTdrTdrTdrTaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadrTdrTdrTdrTdrTaaaaaaaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaaaaaadrTdrTdrTdrTdrTdrTdrTdrTaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadrTdrTdrTdrTdrTdrTdrTdrTaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadrTdrTdrTdrTdrTaaaaaaaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaaaaaadrTdrTdrTdrTdrTdrTdrTdrTaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadrTdrTdrTdrTdrTaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadrTdrTdrTdrTdrTaaaaaaaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaaaaaadrTdrTdrTdrTdrTaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadrTdrTdrTdrTaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadrTdrTdrTdrTdrTaaaaaaaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaaaaaadrTdrTdrTdrTaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadrTdrTdrTdrTaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadrTdrTdrTdrTdrTaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadrTdrTdrTdrTaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadrTdrTdrTdrTdrTdrTdrTaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadrTdrTdrTdrTdrTdrTdrTaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadrTdrTdrTdrTdrTdrTdrTaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadrTdrTdrTdrTdrTdrTdrTaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadrTdrTdrTdrTdrTdrTdrTdrTaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadrTdrTdrTdrTdrTdrTdrTdrTaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadrTdrTdrTdrTdrTdrTdrTdrTdrTaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadrTdrTdrTdrTdrTdrTdrTaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadrTdrTdrTdrTdrTdrTdrTdrTdrTaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadrTdrTdrTdrTdrTdrTdrTdrTdrTaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadrTdrTdrTdrTdrTdrTdrTaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadrTdrTdrTdrTdrTdrTdrTdrTdrTaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadrTdrTdrTdrTdrTdrTdrTdrTdrTaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadrTdrTdrTdrTdrTdrTdrTaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadrTdrTdrTdrTdrTdrTdrTdrTdrTaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadrTdrTdrTdrTdrTdrTdrTdrTaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadrTdrTdrTdrTdrTdrTdrTdrTaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadrTdrTdrTdrTdrTdrTdrTaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadrTdrTdrTdrTdrTdrTdrTaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadrTdrTdrTdrTdrTdrTdrTaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadrTdrTdrTdrTdrTdrTdrTaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadrTdrTdrTdrTdrTdrTdrTdrTdrTdrTdrTaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadrTdrTdrTdrTaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadrTdrTdrTdrTdrTaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadrTdrTdrTdrTaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadrTdrTdrTdrTaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadrTdrTdrTdrTdrTaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadrTdrTdrTdrTaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadrTdrTdrTdrTaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadrTdrTdrTdrTdrTaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadrTdrTdrTdrTaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadrTdrTdrTdrTaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadrTdrTdrTdrTdrTaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadrTdrTdrTdrTaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadrTdrTdrTdrTaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadrTdrTdrTdrTdrTaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadrTdrTdrTdrTaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadrTdrTdrTdrTaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadrTdrTdrTdrTdrTaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadrTdrTdrTdrTaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadrTdrTdrTdrTaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadrTdrTdrTdrTdrTaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadrTdrTdrTdrTaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa @@ -10830,5 +10832,5 @@ aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -dLxaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +dLzaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa "} diff --git a/maps/southern_cross/southern_cross.dm b/maps/southern_cross/southern_cross.dm index f6fa6bedaa0..08d52039242 100644 --- a/maps/southern_cross/southern_cross.dm +++ b/maps/southern_cross/southern_cross.dm @@ -3,6 +3,7 @@ #if !defined(USING_MAP_DATUM) #include "southern_cross_areas.dm" + #include "southern_cross_defines.dm" #include "southern_cross_elevator.dm" #include "southern_cross_presets.dm" #include "southern_cross_shuttles.dm" diff --git a/maps/southern_cross/southern_cross_areas.dm b/maps/southern_cross/southern_cross_areas.dm index 36fbc35e2e1..6ec63bb52d6 100644 --- a/maps/southern_cross/southern_cross_areas.dm +++ b/maps/southern_cross/southern_cross_areas.dm @@ -939,7 +939,7 @@ area/crew_quarters/heads/sc/hop/quarters //Shuttle One /area/shuttle/shuttle1 - name = "\improper SEV Torch Hangar Deck" + name = "\improper Hangar Deck" icon_state = "yellow" requires_power = 0 dynamic_lighting = 0 diff --git a/maps/southern_cross/southern_cross_shuttles.dm b/maps/southern_cross/southern_cross_shuttles.dm index a831176b683..b42cebcc821 100644 --- a/maps/southern_cross/southern_cross_shuttles.dm +++ b/maps/southern_cross/southern_cross_shuttles.dm @@ -1,54 +1,11 @@ -//Shuttle Consoles +//ERT Response Shuttle /obj/machinery/computer/shuttle_control/multi/response name = "response shuttle console" shuttle_tag = "Response Operations" req_access = list(access_cent_specops) -/obj/machinery/computer/shuttle_control/multi/shuttle1 - name = "shuttle control console" - shuttle_tag = "shuttle1" - icon_screen = "shuttle" - -/obj/machinery/computer/shuttle_control/multi/shuttle2 - name = "shuttle control console" - shuttle_tag = "shuttle2" - icon_screen = "shuttle" - -/obj/machinery/computer/shuttle_control/centcom - name = "shuttle control console" - req_access = list(access_cent_general) - shuttle_tag = "centcom" - -/obj/machinery/computer/shuttle_control/administration - name = "shuttle control console" - req_access = list(access_cent_general) - shuttle_tag = "administration" - -/obj/machinery/computer/shuttle_control/multi/skipjack - name = "skipjack control console" - req_access = list(access_syndicate) - shuttle_tag = "Skipjack" - -/obj/machinery/computer/shuttle_control/multi/syndicate - name = "mercenary shuttle control console" - req_access = list(access_syndicate) - shuttle_tag = "Mercenary" - -/obj/machinery/computer/shuttle_control/multi/ninja - name = "stealth shuttle control console" - req_access = list(access_syndicate) - shuttle_tag = "Ninja" - -/obj/machinery/computer/shuttle_control/merchant - name = "merchant shuttle control console" - icon_keyboard = "power_key" - icon_screen = "shuttle" - shuttle_tag = "Merchant" - -//ERT Response Shuttle - -datum/shuttle/multi_shuttle/response +/datum/shuttle/multi_shuttle/response name = "Response Operations" warmup_time = 5 origin = /area/shuttle/response_ship/start @@ -68,9 +25,15 @@ datum/shuttle/multi_shuttle/response ) //Shuttle 1 + +/obj/machinery/computer/shuttle_control/multi/shuttle1 + name = "shuttle control console" + shuttle_tag = "Shuttle 1" + icon_screen = "shuttle" + /datum/shuttle/multi_shuttle/shuttle1 - name = "Shuttle1" - warmup_time = 10 + name = "Shuttle 1" + warmup_time = 0 origin = /area/shuttle/shuttle1/start interim = /area/shuttle/shuttle1/transit start_location = "Southern Cross Hangar One" @@ -85,13 +48,20 @@ datum/shuttle/multi_shuttle/response "Southern Cross Docking Port" = "shuttle1_dock_airlocksc", ) announcer = "Southern Cross Docking Computer" - arrival_message = "Attention, shuttle one returning. Clear Hangar Deck One." - departure_message = "Attention, shuttle one departing. Clear Hangar Deck One." + // This look backwards because the code expects an outsider shuttle to be coming in, so we reverse it since the 'home' base is the station. + arrival_message = "Attention, shuttle one departing. Clear Hangar Deck One." + departure_message = "Attention, shuttle one returning. Clear Hangar Deck One." //Shuttle 2 + +/obj/machinery/computer/shuttle_control/multi/shuttle2 + name = "shuttle control console" + shuttle_tag = "Shuttle 2" + icon_screen = "shuttle" + /datum/shuttle/multi_shuttle/shuttle2 - name = "Shuttle2" - warmup_time = 10 + name = "Shuttle 2" + warmup_time = 0 origin = /area/shuttle/shuttle2/start interim = /area/shuttle/shuttle2/transit start_location = "Southern Cross Hangar One" @@ -106,15 +76,21 @@ datum/shuttle/multi_shuttle/response "Southern Cross Docking Port" = "shuttle2_dock_airlocksc", ) announcer = "Southern Cross Docking Computer" - arrival_message = "Attention, shuttle one returning. Clear Hangar Deck Two." - departure_message = "Attention, shuttle one departing. Clear Hangar Deck Two." + // This look backwards because the code expects an outsider shuttle to be coming in, so we reverse it since the 'home' base is the station. + arrival_message = "Attention, shuttle one departing. Clear Hangar Deck Two." + departure_message = "Attention, shuttle one returning. Clear Hangar Deck Two." //Admin +/obj/machinery/computer/shuttle_control/administration + name = "shuttle control console" + req_access = list(access_cent_general) + shuttle_tag = "Administration" + /datum/shuttle/ferry/administration name = "Administration" location = 1 - warmup_time = 10 //want some warmup time so people can cancel. + warmup_time = 0 area_offsite = /area/shuttle/administration/centcom area_station = /area/shuttle/administration/station docking_controller_tag = "admin_shuttle" @@ -123,10 +99,15 @@ datum/shuttle/multi_shuttle/response //Transport +/obj/machinery/computer/shuttle_control/centcom + name = "shuttle control console" + req_access = list(access_cent_general) + shuttle_tag = "Centcom" + /datum/shuttle/ferry/centcom name = "Centcom" location = 1 - warmup_time = 10 + warmup_time = 0 area_offsite = /area/shuttle/transport1/centcom area_station = /area/shuttle/transport1/station docking_controller_tag = "centcom_shuttle" @@ -135,9 +116,16 @@ datum/shuttle/multi_shuttle/response //Merc +/obj/machinery/computer/shuttle_control/multi/syndicate + name = "mercenary shuttle control console" + req_access = list(access_syndicate) + shuttle_tag = "Mercenary" + /datum/shuttle/multi_shuttle/mercenary name = "Mercenary" warmup_time = 0 + can_cloak = TRUE + cloaked = TRUE origin = /area/syndicate_station/start interim = /area/syndicate_station/transit start_location = "Mercenary Ship" @@ -162,9 +150,16 @@ datum/shuttle/multi_shuttle/response //Skipjack +/obj/machinery/computer/shuttle_control/multi/skipjack + name = "skipjack control console" + req_access = list(access_syndicate) + shuttle_tag = "Skipjack" + /datum/shuttle/multi_shuttle/skipjack name = "Skipjack" warmup_time = 0 + can_cloak = TRUE + cloaked = TRUE origin = /area/skipjack_station/start interim = /area/skipjack_station/transit destinations = list( @@ -187,6 +182,13 @@ datum/shuttle/multi_shuttle/response ..() //Ninja Shuttle. + + +/obj/machinery/computer/shuttle_control/multi/ninja + name = "stealth shuttle control console" + req_access = list(access_syndicate) + shuttle_tag = "Ninja" + /datum/shuttle/multi_shuttle/ninja name = "Ninja" warmup_time = 0 @@ -211,9 +213,15 @@ datum/shuttle/multi_shuttle/response //Trade Ship +/obj/machinery/computer/shuttle_control/merchant + name = "merchant shuttle control console" + icon_keyboard = "power_key" + icon_screen = "shuttle" + shuttle_tag = "Merchant" + /datum/shuttle/ferry/merchant name = "Merchant" - warmup_time = 10 + warmup_time = 0 docking_controller_tag = "trade_shuttle" dock_target_station = "trade_shuttle_bay" dock_target_offsite = "trade_shuttle_dock_airlock" @@ -316,7 +324,7 @@ datum/shuttle/multi_shuttle/response /datum/shuttle/ferry/escape_pod/escape_pod_seven name = "Escape Pod 7" location = 0 - warmup_time = 10 + warmup_time = 0 area_station = /area/shuttle/escape_pod7/station area_offsite = /area/shuttle/escape_pod7/centcom area_transition = /area/shuttle/escape_pod7/transit @@ -328,7 +336,7 @@ datum/shuttle/multi_shuttle/response /datum/shuttle/ferry/escape_pod/escape_pod_eight name = "Escape Pod 8" location = 0 - warmup_time = 10 + warmup_time = 0 area_station = /area/shuttle/escape_pod8/station area_offsite = /area/shuttle/escape_pod8/centcom area_transition = /area/shuttle/escape_pod8/transit diff --git a/polaris.dme b/polaris.dme index 00d6194f6f9..c22fd0491fe 100644 --- a/polaris.dme +++ b/polaris.dme @@ -1451,17 +1451,28 @@ #include "code\modules\integrated_electronics\core\helpers.dm" #include "code\modules\integrated_electronics\core\integrated_circuit.dm" #include "code\modules\integrated_electronics\core\pins.dm" +#include "code\modules\integrated_electronics\core\printer.dm" #include "code\modules\integrated_electronics\core\tools.dm" +#include "code\modules\integrated_electronics\core\special_pins\boolean_pin.dm" +#include "code\modules\integrated_electronics\core\special_pins\char_pin.dm" +#include "code\modules\integrated_electronics\core\special_pins\color_pin.dm" +#include "code\modules\integrated_electronics\core\special_pins\dir_pin.dm" +#include "code\modules\integrated_electronics\core\special_pins\list_pin.dm" +#include "code\modules\integrated_electronics\core\special_pins\number_pin.dm" +#include "code\modules\integrated_electronics\core\special_pins\ref_pin.dm" +#include "code\modules\integrated_electronics\core\special_pins\string_pin.dm" #include "code\modules\integrated_electronics\passive\passive.dm" #include "code\modules\integrated_electronics\passive\power.dm" #include "code\modules\integrated_electronics\subtypes\arithmetic.dm" #include "code\modules\integrated_electronics\subtypes\built_in.dm" #include "code\modules\integrated_electronics\subtypes\converters.dm" #include "code\modules\integrated_electronics\subtypes\data_transfer.dm" -#include "code\modules\integrated_electronics\subtypes\input_output.dm" +#include "code\modules\integrated_electronics\subtypes\input.dm" +#include "code\modules\integrated_electronics\subtypes\lists.dm" #include "code\modules\integrated_electronics\subtypes\logic.dm" #include "code\modules\integrated_electronics\subtypes\manipulation.dm" #include "code\modules\integrated_electronics\subtypes\memory.dm" +#include "code\modules\integrated_electronics\subtypes\output.dm" #include "code\modules\integrated_electronics\subtypes\power.dm" #include "code\modules\integrated_electronics\subtypes\reagents.dm" #include "code\modules\integrated_electronics\subtypes\smart.dm" @@ -1931,6 +1942,7 @@ #include "code\modules\projectiles\guns\projectile\revolver.dm" #include "code\modules\projectiles\guns\projectile\shotgun.dm" #include "code\modules\projectiles\guns\projectile\sniper.dm" +#include "code\modules\projectiles\guns\projectile\sniper\collapsible_sniper.dm" #include "code\modules\projectiles\projectile\animate.dm" #include "code\modules\projectiles\projectile\beams.dm" #include "code\modules\projectiles\projectile\bullets.dm" @@ -2231,7 +2243,6 @@ #include "code\unit_tests\integrated_circuits\arithmetic.dm" #include "code\unit_tests\integrated_circuits\circuits.dm" #include "code\unit_tests\integrated_circuits\converter.dm" -#include "code\unit_tests\integrated_circuits\data_transfer.dm" #include "code\unit_tests\integrated_circuits\logic.dm" #include "code\unit_tests\integrated_circuits\trig.dm" #include "code\ZAS\_docs.dm" diff --git a/sound/effects/shuttles/hyperspace_begin.ogg b/sound/effects/shuttles/hyperspace_begin.ogg new file mode 100644 index 00000000000..225e2d98820 Binary files /dev/null and b/sound/effects/shuttles/hyperspace_begin.ogg differ diff --git a/sound/effects/shuttles/hyperspace_end.ogg b/sound/effects/shuttles/hyperspace_end.ogg new file mode 100644 index 00000000000..64fb5214a96 Binary files /dev/null and b/sound/effects/shuttles/hyperspace_end.ogg differ diff --git a/sound/effects/shuttles/hyperspace_progress.ogg b/sound/effects/shuttles/hyperspace_progress.ogg new file mode 100644 index 00000000000..7cc11a864ae Binary files /dev/null and b/sound/effects/shuttles/hyperspace_progress.ogg differ