From b5e7f7d204a0f0f67be20f963f0fc79421688eb9 Mon Sep 17 00:00:00 2001 From: Chinsky Date: Sat, 16 Mar 2013 15:28:46 +0400 Subject: [PATCH 01/29] Running around with fractures would damage internal organs inside of fractured areas. --- code/modules/organs/organ.dm | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/code/modules/organs/organ.dm b/code/modules/organs/organ.dm index e0d73cfdbb0..44464c53267 100644 --- a/code/modules/organs/organ.dm +++ b/code/modules/organs/organ.dm @@ -80,6 +80,13 @@ if(E.status & ORGAN_BROKEN && !(E.status & ORGAN_SPLINTED && prob(10)) ) broken = 1 + //Moving around with fractured ribs won't do you any good + if (broken && internal_organs && prob(15)) + if (!lying && world.timeofday - l_move_time < 15) + var/datum/organ/internal/I = pick(E.internal_organs) + custom_pain("You feel broken bones moving in your [E.display_name]!", 1) + I.take_damage(rand(3,5)) + //Special effects for limbs. if(E.name in list("l_hand","l_arm","r_hand","r_arm")) var/obj/item/c_hand //Getting what's in this hand From f9b0ba7a49f5ae9ed51495334cb008d33d682cbd Mon Sep 17 00:00:00 2001 From: Chinsky Date: Sun, 26 May 2013 06:38:38 +0400 Subject: [PATCH 02/29] Added lids for bottles and beakers. Click on vessel in hand to put lid on / take it off. Lids prevent use of syringes and spilling. --- .../reagents/reagent_containers/glass.dm | 19 ++++++++++++++++++ .../reagent_containers/glass/bottle.dm | 7 +++++++ html/changelog.html | 7 +++++++ icons/obj/chemical.dmi | Bin 29905 -> 30294 bytes 4 files changed, 33 insertions(+) diff --git a/code/modules/reagents/reagent_containers/glass.dm b/code/modules/reagents/reagent_containers/glass.dm index c01ef1a7a3e..553b5953c32 100644 --- a/code/modules/reagents/reagent_containers/glass.dm +++ b/code/modules/reagents/reagent_containers/glass.dm @@ -43,8 +43,23 @@ usr << "\blue [R.volume] units of [R.name]" else usr << "\blue Nothing." + if (!is_open_container()) + usr << "\blue Airtight lid seals it completely." + + attack_self() + ..() + if (is_open_container()) + usr << "You put the lid on \the [src]." + flags ^= OPENCONTAINER + else + usr << "You take the lid off \the [src]." + flags |= OPENCONTAINER + update_icon() afterattack(obj/target, mob/user , flag) + if (!is_open_container()) + return + for(var/type in src.can_be_placed_into) if(istype(target, type)) return @@ -149,6 +164,10 @@ filling.icon += mix_color_from_reagents(reagents.reagent_list) overlays += filling + if (!is_open_container()) + var/image/lid = image(icon, src, "lid_[initial(icon_state)]") + overlays += lid + /obj/item/weapon/reagent_containers/glass/beaker/large name = "large beaker" desc = "A large beaker. Can hold up to 100 units." diff --git a/code/modules/reagents/reagent_containers/glass/bottle.dm b/code/modules/reagents/reagent_containers/glass/bottle.dm index 0b03e21d95c..c4beb0a8f91 100644 --- a/code/modules/reagents/reagent_containers/glass/bottle.dm +++ b/code/modules/reagents/reagent_containers/glass/bottle.dm @@ -17,6 +17,13 @@ if(!icon_state) icon_state = "bottle[rand(1,20)]" + update_icon() + overlays.Cut() + + if (!is_open_container()) + var/image/lid = image(icon, src, "lid_bottle") + overlays += lid + /obj/item/weapon/reagent_containers/glass/bottle/inaprovaline name = "inaprovaline bottle" desc = "A small bottle. Contains inaprovaline - used to stabilize patients." diff --git a/html/changelog.html b/html/changelog.html index 7698458200e..8aefc995b04 100644 --- a/html/changelog.html +++ b/html/changelog.html @@ -58,6 +58,13 @@ Stuff which is in development and not yet visible to players or just code relate should be listed in the changelog upon commit though. Thanks. --> +
+

26th May 2013

+

Chinsky updated:

+
    +
  • Lids! Click beaker/bottle in hand to put them on/off. Prevent spilling
  • +
+

25th May 2013

diff --git a/icons/obj/chemical.dmi b/icons/obj/chemical.dmi index 751e3ec7c03b1d8242000445af5eb74a9fa6e47b..313a90b3053931370e6c76a8f84a810bc05ac2d0 100644 GIT binary patch delta 11459 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 delta 11067 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 Date: Tue, 28 May 2013 03:12:58 +0400 Subject: [PATCH 03/29] Added new item - hailer. Use in hand to make it say HALT! SECURITY! Should help in asking people to halt while running. --- baystation12.dme | 230 +-------------------- code/game/objects/items/devices/whistle.dm | 21 ++ sound/voice/halt.ogg | Bin 0 -> 10448 bytes 3 files changed, 25 insertions(+), 226 deletions(-) create mode 100644 code/game/objects/items/devices/whistle.dm create mode 100644 sound/voice/halt.ogg diff --git a/baystation12.dme b/baystation12.dme index 79f0e2de777..ef839733bc9 100644 --- a/baystation12.dme +++ b/baystation12.dme @@ -6,235 +6,14 @@ // BEGIN_FILE_DIR #define FILE_DIR . #define FILE_DIR "code" -#define FILE_DIR "code/__HELPERS" -#define FILE_DIR "code/ATMOSPHERICS" -#define FILE_DIR "code/ATMOSPHERICS/components" -#define FILE_DIR "code/ATMOSPHERICS/components/binary_devices" -#define FILE_DIR "code/ATMOSPHERICS/components/trinary_devices" -#define FILE_DIR "code/ATMOSPHERICS/components/unary" -#define FILE_DIR "code/controllers" -#define FILE_DIR "code/datums" -#define FILE_DIR "code/datums/diseases" -#define FILE_DIR "code/datums/diseases/advance" -#define FILE_DIR "code/datums/diseases/advance/symptoms" -#define FILE_DIR "code/datums/helper_datums" -#define FILE_DIR "code/datums/spells" -#define FILE_DIR "code/defines" -#define FILE_DIR "code/defines/obj" -#define FILE_DIR "code/defines/procs" -#define FILE_DIR "code/FEA" -#define FILE_DIR "code/game" -#define FILE_DIR "code/game/area" -#define FILE_DIR "code/game/gamemodes" -#define FILE_DIR "code/game/gamemodes/autotraitor" -#define FILE_DIR "code/game/gamemodes/blob" -#define FILE_DIR "code/game/gamemodes/blob/blobs" -#define FILE_DIR "code/game/gamemodes/changeling" -#define FILE_DIR "code/game/gamemodes/cult" -#define FILE_DIR "code/game/gamemodes/epidemic" -#define FILE_DIR "code/game/gamemodes/events" -#define FILE_DIR "code/game/gamemodes/events/holidays" -#define FILE_DIR "code/game/gamemodes/extended" -#define FILE_DIR "code/game/gamemodes/malfunction" -#define FILE_DIR "code/game/gamemodes/meme" -#define FILE_DIR "code/game/gamemodes/meteor" -#define FILE_DIR "code/game/gamemodes/nuclear" -#define FILE_DIR "code/game/gamemodes/revolution" -#define FILE_DIR "code/game/gamemodes/sandbox" -#define FILE_DIR "code/game/gamemodes/traitor" -#define FILE_DIR "code/game/gamemodes/wizard" -#define FILE_DIR "code/game/jobs" -#define FILE_DIR "code/game/jobs/job" -#define FILE_DIR "code/game/machinery" -#define FILE_DIR "code/game/machinery/atmoalter" -#define FILE_DIR "code/game/machinery/bots" -#define FILE_DIR "code/game/machinery/camera" -#define FILE_DIR "code/game/machinery/computer" -#define FILE_DIR "code/game/machinery/doors" -#define FILE_DIR "code/game/machinery/embedded_controller" -#define FILE_DIR "code/game/machinery/kitchen" -#define FILE_DIR "code/game/machinery/pipe" -#define FILE_DIR "code/game/machinery/telecomms" -#define FILE_DIR "code/game/magic" -#define FILE_DIR "code/game/mecha" -#define FILE_DIR "code/game/mecha/combat" -#define FILE_DIR "code/game/mecha/equipment" -#define FILE_DIR "code/game/mecha/equipment/tools" -#define FILE_DIR "code/game/mecha/equipment/weapons" -#define FILE_DIR "code/game/mecha/medical" -#define FILE_DIR "code/game/mecha/working" -#define FILE_DIR "code/game/objects" -#define FILE_DIR "code/game/objects/closets" -#define FILE_DIR "code/game/objects/closets/secure" -#define FILE_DIR "code/game/objects/effects" -#define FILE_DIR "code/game/objects/effects/decals" -#define FILE_DIR "code/game/objects/effects/decals/Cleanable" -#define FILE_DIR "code/game/objects/effects/spawners" -#define FILE_DIR "code/game/objects/items" -#define FILE_DIR "code/game/objects/items/devices" -#define FILE_DIR "code/game/objects/items/devices/PDA" -#define FILE_DIR "code/game/objects/items/devices/radio" -#define FILE_DIR "code/game/objects/items/robot" -#define FILE_DIR "code/game/objects/items/stacks" -#define FILE_DIR "code/game/objects/items/stacks/sheets" -#define FILE_DIR "code/game/objects/items/stacks/tiles" -#define FILE_DIR "code/game/objects/items/weapons" -#define FILE_DIR "code/game/objects/items/weapons/grenades" -#define FILE_DIR "code/game/objects/items/weapons/implants" -#define FILE_DIR "code/game/objects/items/weapons/melee" -#define FILE_DIR "code/game/objects/items/weapons/storage" -#define FILE_DIR "code/game/objects/items/weapons/tanks" -#define FILE_DIR "code/game/objects/storage" -#define FILE_DIR "code/game/objects/structures" -#define FILE_DIR "code/game/objects/structures/crates_lockers" -#define FILE_DIR "code/game/objects/structures/crates_lockers/closets" -#define FILE_DIR "code/game/objects/structures/crates_lockers/closets/secure" -#define FILE_DIR "code/game/objects/structures/stool_bed_chair_nest" -#define FILE_DIR "code/game/structure" -#define FILE_DIR "code/game/turfs" -#define FILE_DIR "code/game/turfs/simulated" -#define FILE_DIR "code/game/turfs/space" -#define FILE_DIR "code/game/turfs/unsimulated" -#define FILE_DIR "code/game/vehicles" -#define FILE_DIR "code/game/verbs" -#define FILE_DIR "code/js" -#define FILE_DIR "code/modules" -#define FILE_DIR "code/modules/admin" -#define FILE_DIR "code/modules/admin/DB ban" -#define FILE_DIR "code/modules/admin/permissionverbs" -#define FILE_DIR "code/modules/admin/verbs" -#define FILE_DIR "code/modules/assembly" -#define FILE_DIR "code/modules/awaymissions" -#define FILE_DIR "code/modules/awaymissions/maploader" -#define FILE_DIR "code/modules/client" -#define FILE_DIR "code/modules/clothing" -#define FILE_DIR "code/modules/clothing/glasses" -#define FILE_DIR "code/modules/clothing/gloves" -#define FILE_DIR "code/modules/clothing/head" -#define FILE_DIR "code/modules/clothing/masks" -#define FILE_DIR "code/modules/clothing/shoes" -#define FILE_DIR "code/modules/clothing/spacesuits" -#define FILE_DIR "code/modules/clothing/suits" -#define FILE_DIR "code/modules/clothing/under" -#define FILE_DIR "code/modules/clothing/under/jobs" -#define FILE_DIR "code/modules/customitems" -#define FILE_DIR "code/modules/destilery" -#define FILE_DIR "code/modules/DetectiveWork" -#define FILE_DIR "code/modules/events" -#define FILE_DIR "code/modules/flufftext" -#define FILE_DIR "code/modules/food" -#define FILE_DIR "code/modules/genetics" -#define FILE_DIR "code/modules/icon generation" -#define FILE_DIR "code/modules/library" -#define FILE_DIR "code/modules/liquid" -#define FILE_DIR "code/modules/maps" -#define FILE_DIR "code/modules/mining" -#define FILE_DIR "code/modules/mob" -#define FILE_DIR "code/modules/mob/dead" -#define FILE_DIR "code/modules/mob/dead/observer" -#define FILE_DIR "code/modules/mob/living" -#define FILE_DIR "code/modules/mob/living/blob" -#define FILE_DIR "code/modules/mob/living/carbon" -#define FILE_DIR "code/modules/mob/living/carbon/alien" -#define FILE_DIR "code/modules/mob/living/carbon/alien/humanoid" -#define FILE_DIR "code/modules/mob/living/carbon/alien/humanoid/caste" -#define FILE_DIR "code/modules/mob/living/carbon/alien/larva" -#define FILE_DIR "code/modules/mob/living/carbon/alien/special" -#define FILE_DIR "code/modules/mob/living/carbon/brain" -#define FILE_DIR "code/modules/mob/living/carbon/human" -#define FILE_DIR "code/modules/mob/living/carbon/metroid" -#define FILE_DIR "code/modules/mob/living/carbon/monkey" -#define FILE_DIR "code/modules/mob/living/silicon" -#define FILE_DIR "code/modules/mob/living/silicon/ai" -#define FILE_DIR "code/modules/mob/living/silicon/ai/freelook" -#define FILE_DIR "code/modules/mob/living/silicon/decoy" -#define FILE_DIR "code/modules/mob/living/silicon/pai" -#define FILE_DIR "code/modules/mob/living/silicon/robot" -#define FILE_DIR "code/modules/mob/living/simple_animal" -#define FILE_DIR "code/modules/mob/living/simple_animal/friendly" -#define FILE_DIR "code/modules/mob/living/simple_animal/hostile" -#define FILE_DIR "code/modules/mob/living/simple_animal/hostile/retaliate" -#define FILE_DIR "code/modules/mob/new_player" -#define FILE_DIR "code/modules/organs" -#define FILE_DIR "code/modules/paperwork" -#define FILE_DIR "code/modules/power" -#define FILE_DIR "code/modules/power/antimatter" -#define FILE_DIR "code/modules/power/singularity" -#define FILE_DIR "code/modules/power/singularity/particle_accelerator" -#define FILE_DIR "code/modules/projectiles" -#define FILE_DIR "code/modules/projectiles/ammunition" -#define FILE_DIR "code/modules/projectiles/guns" -#define FILE_DIR "code/modules/projectiles/guns/energy" -#define FILE_DIR "code/modules/projectiles/guns/projectile" -#define FILE_DIR "code/modules/projectiles/projectile" -#define FILE_DIR "code/modules/reagents" -#define FILE_DIR "code/modules/reagents/reagent_containers" -#define FILE_DIR "code/modules/reagents/reagent_containers/food" -#define FILE_DIR "code/modules/reagents/reagent_containers/food/drinks" -#define FILE_DIR "code/modules/reagents/reagent_containers/food/drinks/bottle" -#define FILE_DIR "code/modules/reagents/reagent_containers/food/snacks" -#define FILE_DIR "code/modules/reagents/reagent_containers/glass" -#define FILE_DIR "code/modules/reagents/reagent_containers/glass/bottle" -#define FILE_DIR "code/modules/recycling" -#define FILE_DIR "code/modules/research" -#define FILE_DIR "code/modules/research/xenoarchaeology" -#define FILE_DIR "code/modules/research/xenoarchaeology/artifact" -#define FILE_DIR "code/modules/research/xenoarchaeology/artifact/effects" -#define FILE_DIR "code/modules/research/xenoarchaeology/finds" -#define FILE_DIR "code/modules/research/xenoarchaeology/machinery" -#define FILE_DIR "code/modules/research/xenoarchaeology/tools" -#define FILE_DIR "code/modules/scripting" -#define FILE_DIR "code/modules/scripting/AST" -#define FILE_DIR "code/modules/scripting/AST/Operators" -#define FILE_DIR "code/modules/scripting/Implementations" -#define FILE_DIR "code/modules/scripting/Interpreter" -#define FILE_DIR "code/modules/scripting/Parser" -#define FILE_DIR "code/modules/scripting/Scanner" -#define FILE_DIR "code/modules/security levels" -#define FILE_DIR "code/modules/surgery" #define FILE_DIR "code/TriDimension" -#define FILE_DIR "code/unused" -#define FILE_DIR "code/unused/beast" -#define FILE_DIR "code/unused/computer2" -#define FILE_DIR "code/unused/disease2" -#define FILE_DIR "code/unused/gamemodes" -#define FILE_DIR "code/unused/hivebot" -#define FILE_DIR "code/unused/mining" -#define FILE_DIR "code/unused/optics" -#define FILE_DIR "code/unused/pda2" -#define FILE_DIR "code/unused/powerarmor" -#define FILE_DIR "code/unused/spacecraft" #define FILE_DIR "code/WorkInProgress" -#define FILE_DIR "code/WorkInProgress/AI_Visibility" -#define FILE_DIR "code/WorkInProgress/animusstation" -#define FILE_DIR "code/WorkInProgress/Apples" #define FILE_DIR "code/WorkInProgress/Cael_Aislinn" -#define FILE_DIR "code/WorkInProgress/Cael_Aislinn/Economy" #define FILE_DIR "code/WorkInProgress/Cael_Aislinn/Jungle" #define FILE_DIR "code/WorkInProgress/Cael_Aislinn/Rust" #define FILE_DIR "code/WorkInProgress/Cael_Aislinn/ShieldGen" #define FILE_DIR "code/WorkInProgress/Cael_Aislinn/Supermatter" -#define FILE_DIR "code/WorkInProgress/carn" -#define FILE_DIR "code/WorkInProgress/Chinsky" -#define FILE_DIR "code/WorkInProgress/Cib" -#define FILE_DIR "code/WorkInProgress/Cib/amorph" -#define FILE_DIR "code/WorkInProgress/Mini" -#define FILE_DIR "code/WorkInProgress/Mloc" -#define FILE_DIR "code/WorkInProgress/organs" -#define FILE_DIR "code/WorkInProgress/Ported" -#define FILE_DIR "code/WorkInProgress/Ported/Abi79" -#define FILE_DIR "code/WorkInProgress/Ported/Bureaucracy" -#define FILE_DIR "code/WorkInProgress/Ported/Spawners" -#define FILE_DIR "code/WorkInProgress/Sigyn" -#define FILE_DIR "code/WorkInProgress/Sigyn/Department Sec" -#define FILE_DIR "code/WorkInProgress/Sigyn/Softcurity" -#define FILE_DIR "code/WorkInProgress/SkyMarshal" #define FILE_DIR "code/WorkInProgress/Susan" -#define FILE_DIR "code/WorkInProgress/Tastyfish" -#define FILE_DIR "code/WorkInProgress/virus2" -#define FILE_DIR "code/WorkInProgress/virus2/Disease2" -#define FILE_DIR "code/WorkInProgress/Wrongnumber" -#define FILE_DIR "code/ZAS" #define FILE_DIR "html" #define FILE_DIR "icons" #define FILE_DIR "icons/48x48" @@ -257,9 +36,6 @@ #define FILE_DIR "icons/turf" #define FILE_DIR "icons/vending_icons" #define FILE_DIR "icons/xenoarch_icons" -#define FILE_DIR "interface" -#define FILE_DIR "maps" -#define FILE_DIR "maps/RandomZLevels" #define FILE_DIR "sound" #define FILE_DIR "sound/AI" #define FILE_DIR "sound/ambience" @@ -278,7 +54,8 @@ #define FILE_DIR "sound/voice/Serithi" #define FILE_DIR "sound/weapons" #define FILE_DIR "tools" -#define FILE_DIR "tools/Redirector" +#define FILE_DIR "tools/AddToChangelog" +#define FILE_DIR "tools/AddToChangelog/AddToChangelog" // END_FILE_DIR // BEGIN_PREFERENCES #define DEBUG @@ -718,6 +495,7 @@ #include "code\game\objects\items\devices\transfer_valve.dm" #include "code\game\objects\items\devices\uplinks.dm" #include "code\game\objects\items\devices\violin.dm" +#include "code\game\objects\items\devices\whistle.dm" #include "code\game\objects\items\devices\PDA\cart.dm" #include "code\game\objects\items\devices\PDA\chatroom.dm" #include "code\game\objects\items\devices\PDA\PDA.dm" @@ -1013,7 +791,7 @@ #include "code\modules\DetectiveWork\detective_work.dm" #include "code\modules\DetectiveWork\evidence.dm" #include "code\modules\DetectiveWork\footprints_and_rag.dm" -#include "code\modules\detectivework\scanner.dm" +#include "code\modules\DetectiveWork\scanner.dm" #include "code\modules\events\alien_infestation.dm" #include "code\modules\events\blob.dm" #include "code\modules\events\brand_intelligence.dm" diff --git a/code/game/objects/items/devices/whistle.dm b/code/game/objects/items/devices/whistle.dm new file mode 100644 index 00000000000..c735f40264f --- /dev/null +++ b/code/game/objects/items/devices/whistle.dm @@ -0,0 +1,21 @@ +/obj/item/device/hailer + name = "hailer" + desc = "Used by obese officers to save their breath for running." + icon_state = "voice0" + item_state = "flashbang" //looks exactly like a flash (and nothing like a flashbang) + w_class = 1.0 + flags = FPRINT | TABLEPASS| CONDUCT + + var/spamcheck = 0 + + +/obj/item/device/hailer/attack_self(mob/living/carbon/user as mob) + if (spamcheck) + return + + playsound(get_turf(src), 'sound/voice/halt.ogg', 100, 1, vary = 0) + user.visible_message("[user]'s [name] rasps, \"Halt! Security!\"") + + spamcheck = 1 + spawn(20) + spamcheck = 0 \ No newline at end of file diff --git a/sound/voice/halt.ogg b/sound/voice/halt.ogg new file mode 100644 index 0000000000000000000000000000000000000000..4885bc19483ec39e7ee03a97ae06542c7620d87d GIT binary patch literal 10448 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 Qfd9UELD>HD)&(j37v??a8~^|S literal 0 HcmV?d00001 From c84ce517e30ecf3b6a64f83cda00ffe857bb8da5 Mon Sep 17 00:00:00 2001 From: Chinsky Date: Tue, 28 May 2013 18:16:11 +0400 Subject: [PATCH 04/29] Changed way substitute tools are handled. Now all tools have chance of success. Proper ones have 100. If tool has less than 100 chance of success, it can fail the step. --- code/modules/surgery/appendix.dm | 14 ++++++--- code/modules/surgery/bones.dm | 25 +++++++++------ code/modules/surgery/braincore.dm | 51 ++++++++++++++++++++++--------- code/modules/surgery/eye.dm | 28 ++++++++++++----- code/modules/surgery/face.dm | 28 ++++++++++++----- code/modules/surgery/generic.dm | 34 +++++++++++++++------ code/modules/surgery/implant.dm | 29 +++++++++++------- code/modules/surgery/other.dm | 6 ++-- code/modules/surgery/ribcage.dm | 39 +++++++++++++++++------ code/modules/surgery/robolimbs.dm | 23 +++++++++----- code/modules/surgery/surgery.dm | 28 +++++++---------- 11 files changed, 206 insertions(+), 99 deletions(-) diff --git a/code/modules/surgery/appendix.dm b/code/modules/surgery/appendix.dm index 027e323c576..54a26427fcf 100644 --- a/code/modules/surgery/appendix.dm +++ b/code/modules/surgery/appendix.dm @@ -18,8 +18,11 @@ return 1 /datum/surgery_step/appendectomy/cut_appendix - required_tool = /obj/item/weapon/scalpel - allowed_tools = list(/obj/item/weapon/shard, /obj/item/weapon/kitchenknife) + allowed_tools = list( + /obj/item/weapon/scalpel = 100, \ + /obj/item/weapon/kitchenknife = 75, \ + /obj/item/weapon/shard = 50, \ + ) min_duration = 70 max_duration = 90 @@ -45,8 +48,11 @@ groin.createwound(CUT, 50, 1) /datum/surgery_step/appendectomy/remove_appendix - required_tool = /obj/item/weapon/hemostat - allowed_tools = list(/obj/item/weapon/wirecutters) + allowed_tools = list( + /obj/item/weapon/hemostat = 100, \ + /obj/item/weapon/wirecutters = 75, \ + /obj/item/weapon/kitchen/utensil/fork = 20 + ) min_duration = 60 max_duration = 80 diff --git a/code/modules/surgery/bones.dm b/code/modules/surgery/bones.dm index e0eaab854ff..75e3b6e0997 100644 --- a/code/modules/surgery/bones.dm +++ b/code/modules/surgery/bones.dm @@ -4,9 +4,10 @@ ////////////////////////////////////////////////////////////////// /datum/surgery_step/glue_bone - priority = 2 - required_tool = /obj/item/weapon/bonegel - allowed_tools = list(/obj/item/weapon/screwdriver) + allowed_tools = list( + /obj/item/weapon/bonegel = 100, \ + /obj/item/weapon/screwdriver = 75 + ) can_infect = 1 blood_level = 1 @@ -37,8 +38,10 @@ "\red Your hand slips, smearing [tool] in the incision in [target]'s [affected.display_name]!") /datum/surgery_step/set_bone - required_tool = /obj/item/weapon/bonesetter - allowed_tools = list(/obj/item/weapon/wrench) + allowed_tools = list( + /obj/item/weapon/bonesetter = 100, \ + /obj/item/weapon/wrench = 75 \ + ) min_duration = 60 max_duration = 70 @@ -72,8 +75,10 @@ affected.createwound(BRUISE, 5) /datum/surgery_step/mend_skull - required_tool = /obj/item/weapon/bonesetter - allowed_tools = list(/obj/item/weapon/wrench) + allowed_tools = list( + /obj/item/weapon/bonesetter = 100, \ + /obj/item/weapon/wrench = 75 \ + ) min_duration = 60 max_duration = 70 @@ -102,8 +107,10 @@ h.disfigured = 1 /datum/surgery_step/finish_bone - required_tool = /obj/item/weapon/bonegel - allowed_tools = list(/obj/item/weapon/screwdriver) + allowed_tools = list( + /obj/item/weapon/bonegel = 100, \ + /obj/item/weapon/screwdriver = 75 + ) can_infect = 1 blood_level = 1 diff --git a/code/modules/surgery/braincore.dm b/code/modules/surgery/braincore.dm index b1a43d5a55f..16a7fb08d96 100644 --- a/code/modules/surgery/braincore.dm +++ b/code/modules/surgery/braincore.dm @@ -10,7 +10,10 @@ return target_zone == "head" && hasorgans(target) /datum/surgery_step/brain/saw_skull - required_tool = /obj/item/weapon/circular_saw + allowed_tools = list( + /obj/item/weapon/circular_saw = 100, \ + /obj/item/weapon/hatchet = 75 + ) min_duration = 50 max_duration = 70 @@ -31,11 +34,14 @@ fail_step(mob/living/user, mob/living/carbon/human/target, target_zone, obj/item/tool) user.visible_message("\red [user]'s hand slips, cracking [target]'s skull with \the [tool]!" , \ "\red Your hand slips, cracking [target]'s skull with \the [tool]!" ) - target.apply_damage(10, BRUTE, "head") + target.apply_damage(max(10, tool.force), BRUTE, "head") /datum/surgery_step/brain/cut_brain - required_tool = /obj/item/weapon/scalpel - allowed_tools = list(/obj/item/weapon/shard, /obj/item/weapon/kitchenknife) + allowed_tools = list( + /obj/item/weapon/scalpel = 100, \ + /obj/item/weapon/kitchenknife = 75, \ + /obj/item/weapon/shard = 50, \ + ) min_duration = 80 max_duration = 100 @@ -59,7 +65,10 @@ target.apply_damage(50, BRUTE, "head", 1) /datum/surgery_step/brain/saw_spine - required_tool = /obj/item/weapon/circular_saw + allowed_tools = list( + /obj/item/weapon/circular_saw = 100, \ + /obj/item/weapon/hatchet = 75 + ) min_duration = 50 max_duration = 70 @@ -103,8 +112,11 @@ ////////////////////////////////////////////////////////////////// /datum/surgery_step/brain/bone_chips - required_tool = /obj/item/weapon/hemostat - allowed_tools = list(/obj/item/weapon/wirecutters, /obj/item/weapon/kitchen/utensil/fork) + allowed_tools = list( + /obj/item/weapon/hemostat = 100, \ + /obj/item/weapon/wirecutters = 75, \ + /obj/item/weapon/kitchen/utensil/fork = 20 + ) min_duration = 80 max_duration = 100 @@ -129,8 +141,10 @@ target.apply_damage(30, BRUTE, "head", 1) /datum/surgery_step/brain/hematoma - required_tool = /obj/item/weapon/FixOVein - allowed_tools = list(/obj/item/weapon/cable_coil) + allowed_tools = list( + /obj/item/weapon/FixOVein , \ + /obj/item/weapon/cable_coil + ) min_duration = 90 max_duration = 110 @@ -165,8 +179,11 @@ return istype(target, /mob/living/carbon/slime/) && target.stat == 2 /datum/surgery_step/slime/cut_flesh - required_tool = /obj/item/weapon/scalpel - allowed_tools = list(/obj/item/weapon/shard, /obj/item/weapon/kitchenknife) + allowed_tools = list( + /obj/item/weapon/scalpel = 100, \ + /obj/item/weapon/kitchenknife = 75, \ + /obj/item/weapon/shard = 50, \ + ) min_duration = 30 max_duration = 50 @@ -188,8 +205,11 @@ "\red Your hand slips, tearing [target]'s flesh with \the [tool]!") /datum/surgery_step/slime/cut_innards - required_tool = /obj/item/weapon/scalpel - allowed_tools = list(/obj/item/weapon/shard, /obj/item/weapon/kitchenknife) + allowed_tools = list( + /obj/item/weapon/scalpel = 100, \ + /obj/item/weapon/kitchenknife = 75, \ + /obj/item/weapon/shard = 50, \ + ) min_duration = 30 max_duration = 50 @@ -211,7 +231,10 @@ "\red Your hand slips, tearing [target]'s innards with \the [tool]!") /datum/surgery_step/slime/saw_core - required_tool = /obj/item/weapon/circular_saw + allowed_tools = list( + /obj/item/weapon/circular_saw = 100, \ + /obj/item/weapon/hatchet = 75 + ) min_duration = 50 max_duration = 70 diff --git a/code/modules/surgery/eye.dm b/code/modules/surgery/eye.dm index 8f100aee173..9f11b48c78f 100644 --- a/code/modules/surgery/eye.dm +++ b/code/modules/surgery/eye.dm @@ -15,8 +15,11 @@ return target_zone == "eyes" /datum/surgery_step/eye/cut_open - required_tool = /obj/item/weapon/scalpel - allowed_tools = list(/obj/item/weapon/shard, /obj/item/weapon/kitchenknife) + allowed_tools = list( + /obj/item/weapon/scalpel = 100, \ + /obj/item/weapon/kitchenknife = 75, \ + /obj/item/weapon/shard = 50, \ + ) min_duration = 90 max_duration = 110 @@ -41,8 +44,10 @@ affected.createwound(CUT, 10) /datum/surgery_step/eye/lift_eyes - required_tool = /obj/item/weapon/retractor - allowed_tools = list(/obj/item/weapon/kitchen/utensil/fork) + allowed_tools = list( + /obj/item/weapon/retractor = 100, \ + /obj/item/weapon/kitchen/utensil/fork = 50 + ) min_duration = 30 max_duration = 40 @@ -67,8 +72,11 @@ target.apply_damage(10, BRUTE, affected) /datum/surgery_step/eye/mend_eyes - required_tool = /obj/item/weapon/hemostat - allowed_tools = list(/obj/item/weapon/cable_coil, /obj/item/device/assembly/mousetrap) + allowed_tools = list( + /obj/item/weapon/hemostat = 100, \ + /obj/item/weapon/cable_coil = 75, \ + /obj/item/device/assembly/mousetrap = 10 //I don't know. Don't ask me. But I'm leaving it because hilarity. + ) min_duration = 80 max_duration = 100 @@ -93,8 +101,12 @@ target.apply_damage(10, BRUTE, affected) /datum/surgery_step/eye/cauterize - required_tool = /obj/item/weapon/cautery - allowed_tools = list(/obj/item/weapon/weldingtool, /obj/item/clothing/mask/cigarette, /obj/item/weapon/lighter) + allowed_tools = list( + /obj/item/weapon/cautery = 100, \ + /obj/item/clothing/mask/cigarette = 75, \ + /obj/item/weapon/lighter = 50, \ + /obj/item/weapon/weldingtool = 25 + ) min_duration = 70 max_duration = 100 diff --git a/code/modules/surgery/face.dm b/code/modules/surgery/face.dm index 90ce1d81349..e215487d0b7 100644 --- a/code/modules/surgery/face.dm +++ b/code/modules/surgery/face.dm @@ -15,8 +15,11 @@ return target_zone == "mouth" /datum/surgery_step/generic/cut_face - required_tool = /obj/item/weapon/scalpel - allowed_tools = list(/obj/item/weapon/shard, /obj/item/weapon/kitchenknife) + allowed_tools = list( + /obj/item/weapon/scalpel = 100, \ + /obj/item/weapon/kitchenknife = 75, \ + /obj/item/weapon/shard = 50, \ + ) min_duration = 90 max_duration = 110 @@ -42,8 +45,11 @@ target.losebreath += 10 /datum/surgery_step/face/mend_vocal - required_tool = /obj/item/weapon/hemostat - allowed_tools = list(/obj/item/weapon/cable_coil, /obj/item/device/assembly/mousetrap) + allowed_tools = list( + /obj/item/weapon/hemostat = 100, \ + /obj/item/weapon/cable_coil = 75, \ + /obj/item/device/assembly/mousetrap = 10 //I don't know. Don't ask me. But I'm leaving it because hilarity. + ) min_duration = 70 max_duration = 90 @@ -67,8 +73,10 @@ target.losebreath += 10 /datum/surgery_step/face/fix_face - required_tool = /obj/item/weapon/retractor - allowed_tools = list(/obj/item/weapon/kitchen/utensil/fork) + allowed_tools = list( + /obj/item/weapon/retractor = 100, \ + /obj/item/weapon/crowbar = 55, \ + /obj/item/weapon/kitchen/utensil/fork = 75) min_duration = 80 max_duration = 100 @@ -93,8 +101,12 @@ target.apply_damage(10, BRUTE, affected) /datum/surgery_step/face/cauterize - required_tool = /obj/item/weapon/cautery - allowed_tools = list(/obj/item/weapon/weldingtool, /obj/item/clothing/mask/cigarette, /obj/item/weapon/lighter) + allowed_tools = list( + /obj/item/weapon/cautery = 100, \ + /obj/item/clothing/mask/cigarette = 75, \ + /obj/item/weapon/lighter = 50, \ + /obj/item/weapon/weldingtool = 25 + ) min_duration = 70 max_duration = 100 diff --git a/code/modules/surgery/generic.dm b/code/modules/surgery/generic.dm index d9cdb79d0bf..5694a595b0b 100644 --- a/code/modules/surgery/generic.dm +++ b/code/modules/surgery/generic.dm @@ -20,8 +20,11 @@ return 1 /datum/surgery_step/generic/cut_open - required_tool = /obj/item/weapon/scalpel - allowed_tools = list(/obj/item/weapon/shard, /obj/item/weapon/kitchenknife) + allowed_tools = list( + /obj/item/weapon/scalpel = 100, \ + /obj/item/weapon/kitchenknife = 75, \ + /obj/item/weapon/shard = 50, \ + ) min_duration = 90 max_duration = 110 @@ -53,8 +56,11 @@ affected.createwound(CUT, 10) /datum/surgery_step/generic/clamp_bleeders - required_tool = /obj/item/weapon/hemostat - allowed_tools = list(/obj/item/weapon/cable_coil, /obj/item/device/assembly/mousetrap) + allowed_tools = list( + /obj/item/weapon/hemostat = 100, \ + /obj/item/weapon/cable_coil = 75, \ + /obj/item/device/assembly/mousetrap = 20 + ) min_duration = 40 max_duration = 60 @@ -84,8 +90,11 @@ affected.createwound(CUT, 10) /datum/surgery_step/generic/retract_skin - required_tool = /obj/item/weapon/retractor - allowed_tools = list(/obj/item/weapon/crowbar,/obj/item/weapon/kitchen/utensil/fork) + allowed_tools = list( + /obj/item/weapon/retractor = 100, \ + /obj/item/weapon/crowbar = 75, \ + /obj/item/weapon/kitchen/utensil/fork = 50 + ) min_duration = 30 max_duration = 40 @@ -135,8 +144,12 @@ target.apply_damage(12, BRUTE, affected) /datum/surgery_step/generic/cauterize - required_tool = /obj/item/weapon/cautery - allowed_tools = list(/obj/item/weapon/weldingtool, /obj/item/clothing/mask/cigarette, /obj/item/weapon/lighter) + allowed_tools = list( + /obj/item/weapon/cautery = 100, \ + /obj/item/clothing/mask/cigarette = 75, \ + /obj/item/weapon/lighter = 50, \ + /obj/item/weapon/weldingtool = 25 + ) min_duration = 70 max_duration = 100 @@ -167,7 +180,10 @@ target.apply_damage(3, BURN, affected) /datum/surgery_step/generic/cut_limb - required_tool = /obj/item/weapon/circular_saw + allowed_tools = list( + /obj/item/weapon/circular_saw = 100, \ + /obj/item/weapon/hatchet = 75 + ) min_duration = 110 max_duration = 160 diff --git a/code/modules/surgery/implant.dm b/code/modules/surgery/implant.dm index 1a64f37cf2b..238bbc0a418 100644 --- a/code/modules/surgery/implant.dm +++ b/code/modules/surgery/implant.dm @@ -31,8 +31,11 @@ return "" /datum/surgery_step/cavity/make_space - required_tool = /obj/item/weapon/surgicaldrill - allowed_tools = list(/obj/item/weapon/pen,/obj/item/stack/rods) + allowed_tools = list( + /obj/item/weapon/surgicaldrill = 100, \ + /obj/item/weapon/pen = 75, \ + /obj/item/stack/rods = 50 + ) min_duration = 60 max_duration = 80 @@ -62,8 +65,12 @@ /datum/surgery_step/cavity/close_space priority = 2 - required_tool = /obj/item/weapon/cautery - allowed_tools = list(/obj/item/weapon/weldingtool, /obj/item/clothing/mask/cigarette, /obj/item/weapon/lighter) + allowed_tools = list( + /obj/item/weapon/cautery = 100, \ + /obj/item/clothing/mask/cigarette = 75, \ + /obj/item/weapon/lighter = 50, \ + /obj/item/weapon/weldingtool = 25 + ) min_duration = 60 max_duration = 80 @@ -93,7 +100,7 @@ /datum/surgery_step/cavity/place_item priority = 0 - required_tool = /obj/item + allowed_tools = list(/obj/item = 100) min_duration = 80 max_duration = 100 @@ -136,8 +143,11 @@ ////////////////////////////////////////////////////////////////// /datum/surgery_step/cavity/implant_removal - required_tool = /obj/item/weapon/hemostat - allowed_tools = list(/obj/item/weapon/wirecutters, /obj/item/weapon/kitchen/utensil/fork) + allowed_tools = list( + /obj/item/weapon/hemostat = 100, \ + /obj/item/weapon/wirecutters = 75, \ + /obj/item/weapon/kitchen/utensil/fork = 20 + ) min_duration = 80 max_duration = 100 @@ -159,8 +169,6 @@ find_prob +=60 else find_prob +=40 - if (isright(tool)) - find_prob +=20 if (prob(find_prob)) user.visible_message("\blue [user] takes something out of incision on [target]'s [affected.display_name] with \the [tool].", \ "\blue You take something out of incision on [target]'s [affected.display_name]s with \the [tool]." ) @@ -189,8 +197,7 @@ affected.createwound(CUT, 20) if (affected.implants.len) var/fail_prob = 10 - if (!isright(tool)) - fail_prob += 30 + fail_prob += 100 - tool_quality(tool) if (prob(fail_prob)) var/obj/item/weapon/implant/imp = affected.implants[1] user.visible_message("\red Something beeps inside [target]'s [affected.display_name]!") diff --git a/code/modules/surgery/other.dm b/code/modules/surgery/other.dm index d75bb538f3d..fd49b26b0e8 100644 --- a/code/modules/surgery/other.dm +++ b/code/modules/surgery/other.dm @@ -6,8 +6,10 @@ /datum/surgery_step/fix_vein priority = 2 - required_tool = /obj/item/weapon/FixOVein - allowed_tools = list(/obj/item/weapon/cable_coil) + allowed_tools = list( + /obj/item/weapon/circular_saw = 100, \ + /obj/item/weapon/hatchet = 75 + ) can_infect = 1 blood_level = 1 diff --git a/code/modules/surgery/ribcage.dm b/code/modules/surgery/ribcage.dm index 591d6ab0f47..0ebe07a0199 100644 --- a/code/modules/surgery/ribcage.dm +++ b/code/modules/surgery/ribcage.dm @@ -10,7 +10,10 @@ return target_zone == "chest" /datum/surgery_step/ribcage/saw_ribcage - required_tool = /obj/item/weapon/circular_saw + allowed_tools = list( + /obj/item/weapon/circular_saw = 100, \ + /obj/item/weapon/hatchet = 75 + ) min_duration = 50 max_duration = 70 @@ -41,8 +44,11 @@ /datum/surgery_step/ribcage/retract_ribcage - required_tool = /obj/item/weapon/retractor - allowed_tools = list(/obj/item/weapon/crowbar) + allowed_tools = list( + /obj/item/weapon/retractor = 100, \ + /obj/item/weapon/crowbar = 75, \ + /obj/item/weapon/kitchen/utensil/fork = 20 + ) min_duration = 30 max_duration = 40 @@ -77,8 +83,12 @@ affected.fracture() /datum/surgery_step/ribcage/close_ribcage - required_tool = /obj/item/weapon/retractor - allowed_tools = list(/obj/item/weapon/crowbar) + allowed_tools = list( + /obj/item/weapon/retractor = 100, \ + /obj/item/weapon/crowbar = 75, \ + /obj/item/weapon/kitchen/utensil/fork = 20 + ) + min_duration = 20 max_duration = 40 @@ -112,7 +122,10 @@ target.rupture_lung() /datum/surgery_step/ribcage/mend_ribcage - required_tool = /obj/item/weapon/bonegel + allowed_tools = list( + /obj/item/weapon/bonegel = 100, \ + /obj/item/weapon/screwdriver = 75 + ) min_duration = 20 max_duration = 40 @@ -127,7 +140,6 @@ target.custom_pain("Something hurts horribly in your chest!",1) ..() - end_step(mob/living/user, mob/living/carbon/human/target, target_zone, obj/item/tool) var/msg = "\blue [user] applied \the [tool] to [target]'s ribcage." var/self_msg = "\blue You applied \the [tool] to [target]'s ribcage." @@ -139,7 +151,11 @@ // ALIEN EMBRYO SURGERY // ////////////////////////////////////////////////////////////////// /datum/surgery_step/ribcage/remove_embryo - required_tool = /obj/item/weapon/hemostat + allowed_tools = list( + /obj/item/weapon/hemostat = 100, \ + /obj/item/weapon/wirecutters = 75, \ + /obj/item/weapon/kitchen/utensil/fork = 20 + ) blood_level = 2 min_duration = 80 @@ -171,8 +187,11 @@ // CHEST INTERNAL ORGAN SURGERY // ////////////////////////////////////////////////////////////////// /datum/surgery_step/ribcage/fix_chest_internal - required_tool = /obj/item/weapon/scalpel - allowed_tools = list(/obj/item/weapon/shard, /obj/item/weapon/kitchenknife) + allowed_tools = list( + /obj/item/weapon/scalpel = 100, \ + /obj/item/weapon/kitchenknife = 75, \ + /obj/item/weapon/shard = 50, \ + ) min_duration = 70 max_duration = 90 diff --git a/code/modules/surgery/robolimbs.dm b/code/modules/surgery/robolimbs.dm index 94d07eb3e24..9b8f42e4d76 100644 --- a/code/modules/surgery/robolimbs.dm +++ b/code/modules/surgery/robolimbs.dm @@ -20,8 +20,11 @@ /datum/surgery_step/limb/cut - required_tool = /obj/item/weapon/scalpel - allowed_tools = list(/obj/item/weapon/shard, /obj/item/weapon/kitchenknife) + allowed_tools = list( + /obj/item/weapon/scalpel = 100, \ + /obj/item/weapon/kitchenknife = 75, \ + /obj/item/weapon/shard = 50, \ + ) min_duration = 80 max_duration = 100 @@ -48,8 +51,10 @@ /datum/surgery_step/limb/mend - required_tool = /obj/item/weapon/retractor - allowed_tools = list(/obj/item/weapon/kitchen/utensil/fork) + allowed_tools = list( + /obj/item/weapon/retractor = 100, \ + /obj/item/weapon/crowbar = 75, \ + /obj/item/weapon/kitchen/utensil/fork = 50) min_duration = 80 max_duration = 100 @@ -80,8 +85,12 @@ /datum/surgery_step/limb/prepare - required_tool = /obj/item/weapon/cautery - allowed_tools = list(/obj/item/weapon/weldingtool, /obj/item/clothing/mask/cigarette, /obj/item/weapon/lighter) + allowed_tools = list( + /obj/item/weapon/cautery = 100, \ + /obj/item/clothing/mask/cigarette = 75, \ + /obj/item/weapon/lighter = 50, \ + /obj/item/weapon/weldingtool = 25 + ) min_duration = 60 max_duration = 70 @@ -115,7 +124,7 @@ /datum/surgery_step/limb/attach - required_tool = /obj/item/robot_parts + allowed_tools = list(/obj/item/robot_parts = 100) can_infect = 0 min_duration = 80 diff --git a/code/modules/surgery/surgery.dm b/code/modules/surgery/surgery.dm index 62b9afb52c0..2d8db6670cf 100644 --- a/code/modules/surgery/surgery.dm +++ b/code/modules/surgery/surgery.dm @@ -2,10 +2,8 @@ /datum/surgery_step var/priority = 0 //steps with higher priority would be attempted first - // type path referencing the required tool for this step - var/required_tool = null - // type path referencing tools that can be used as substitude for this step + // type path referencing tools that can be used for this step, and how well are they suited for it var/list/allowed_tools = null // duration of the step @@ -17,16 +15,11 @@ //How much blood this step can get on surgeon. 1 - hands, 2 - full body. var/blood_level = 0 - //is it is a required surgical tool for this step - proc/isright(obj/item/tool) - return (istype(tool,required_tool)) - - //is it is an accepted replacement tool for this step - proc/isacceptable(obj/item/tool) - if (allowed_tools) - for (var/T in allowed_tools) - if (istype(tool,T)) - return 1 + //returns how well tool is suited for this step + proc/tool_quality(obj/item/tool) + for (var/T in allowed_tools) + if (istype(tool,T)) + return allowed_tools[T] return 0 // checks whether this step can be applied with the given user and target @@ -69,10 +62,11 @@ proc/do_surgery(mob/living/M, mob/living/user, obj/item/tool) if (user.a_intent == "harm") //check for Hippocratic Oath return 0 for(var/datum/surgery_step/S in surgery_steps) - if( (S.isright(tool) || S.isacceptable(tool)) && \ - S.can_use(user, M, user.zone_sel.selecting, tool)) //check if tool is right or close enough and if this step is possible - S.begin_step(user, M, user.zone_sel.selecting, tool) //start on it - if(do_mob(user, M, rand(S.min_duration, S.max_duration))) //if user did nto move or changed hands + //check if tool is right or close enough and if this step is possible + if( S.tool_quality(tool) && S.can_use(user, M, user.zone_sel.selecting, tool)) + S.begin_step(user, M, user.zone_sel.selecting, tool) //start on it + //We had proper tools! (or RNG smiled.) and User did not move or change hands. + if( prob(S.tool_quality(tool)) && do_mob(user, M, rand(S.min_duration, S.max_duration))) S.end_step(user, M, user.zone_sel.selecting, tool) //finish successfully else //or S.fail_step(user, M, user.zone_sel.selecting, tool) //malpractice~ From 9ab9631ae6d8d5e498f20100350f72209b6f30ad Mon Sep 17 00:00:00 2001 From: Chinsky Date: Tue, 28 May 2013 18:27:40 +0400 Subject: [PATCH 05/29] Since organ processing interval is so big, sets bleeding manually so hemostat step would work. --- code/modules/surgery/generic.dm | 1 + 1 file changed, 1 insertion(+) diff --git a/code/modules/surgery/generic.dm b/code/modules/surgery/generic.dm index 5694a595b0b..7d7de430bfd 100644 --- a/code/modules/surgery/generic.dm +++ b/code/modules/surgery/generic.dm @@ -45,6 +45,7 @@ user.visible_message("\blue [user] has made an incision on [target]'s [affected.display_name] with \the [tool].", \ "\blue You have made an incision on [target]'s [affected.display_name] with \the [tool].",) affected.open = 1 + affected.status |= ORGAN_BLEEDING affected.createwound(CUT, 1) if (target_zone == "head") target.brain_op_stage = 1 From f367d7de199969a5fb5054de44faa5618092f487 Mon Sep 17 00:00:00 2001 From: fauxtada Date: Wed, 29 May 2013 20:24:29 -0700 Subject: [PATCH 06/29] Bar / Holodeck / Theatre / Hydroponics Revamp - http://baystation12.net/forums/viewtopic.php?f=20&t=7692 - Added six new fields to the holodeck. Theatre, Meeting Hall, Picnic Area, Snow Field, Space Walk, and Desert. - Added a Hydroponics Pasture that houses animals for botany. The Chef and Botanists have access to this area. - Theatre was removed from the bar, replaced with bar. Chef was given an area to lay food out on, and more tables were added for sitting at. Had to move some disposal pipes around and the nav beacons. *crosses fingers* They probably work? - Removed dispatcher uniform from closet, since it is being used as a general replacement security uniform. And that made Chinsky mad... - Fixed airless tiles under airlocks. - Replaced duplicate medical records computer behind medbay desk with Nanomed Plus. - Pun Pun now has a different monkey sprite from the rest. --- code/game/area/Space Station 13 areas.dm | 18 + .../machinery/computer/HolodeckControl.dm | 11 + .../crates_lockers/closets/wardrobe.dm | 2 - icons/mob/monkey.dmi | Bin 21495 -> 23252 bytes icons/turf/floors.dmi | Bin 291132 -> 295019 bytes maps/tgstation.2.1.0.0.1.dmm | 504 ++++++++++-------- 6 files changed, 316 insertions(+), 219 deletions(-) diff --git a/code/game/area/Space Station 13 areas.dm b/code/game/area/Space Station 13 areas.dm index 6c9e8c6902f..0908a0f4427 100755 --- a/code/game/area/Space Station 13 areas.dm +++ b/code/game/area/Space Station 13 areas.dm @@ -867,6 +867,24 @@ proc/process_ghost_teleport_locs() /area/holodeck/source_wildlife name = "\improper Holodeck - Wildlife Simulation" +/area/holodeck/source_meetinghall + name = "\improper Holodeck - Meeting Hall" + +/area/holodeck/source_theatre + name = "\improper Holodeck - Theatre" + +/area/holodeck/source_picnicarea + name = "\improper Holodeck - Picnic Area" + +/area/holodeck/source_snowfield + name = "\improper Holodeck - Snow Field" + +/area/holodeck/source_desert + name = "\improper Holodeck - Desert" + +/area/holodeck/source_space + name = "\improper Holodeck - Space" + diff --git a/code/game/machinery/computer/HolodeckControl.dm b/code/game/machinery/computer/HolodeckControl.dm index a4e017f3dde..cfb61b50424 100644 --- a/code/game/machinery/computer/HolodeckControl.dm +++ b/code/game/machinery/computer/HolodeckControl.dm @@ -32,6 +32,12 @@ dat += "((Basketball Court))
" dat += "((Thunderdome Court))
" dat += "((Beach))
" + dat += "((Desert))
" + dat += "((Space))
" + dat += "((Picnic Area))
" + dat += "((Snow Field))
" + dat += "((Theatre))
" + dat += "((Meeting Hall))
" // dat += "((Shutdown System))
" dat += "Please ensure that only holographic weapons are used in the holodeck if a combat simulation has been loaded.
" @@ -417,6 +423,11 @@ if(isrobot(user)) return +/obj/structure/table/holotable/wood + name = "table" + desc = "A square piece of wood standing on four wooden legs. It can not move." + icon = 'icons/obj/structures.dmi' + icon_state = "wood_table" /obj/item/clothing/gloves/boxing/hologlove diff --git a/code/game/objects/structures/crates_lockers/closets/wardrobe.dm b/code/game/objects/structures/crates_lockers/closets/wardrobe.dm index dd3bb5a6b33..4f7b6183a09 100644 --- a/code/game/objects/structures/crates_lockers/closets/wardrobe.dm +++ b/code/game/objects/structures/crates_lockers/closets/wardrobe.dm @@ -26,8 +26,6 @@ new /obj/item/clothing/under/rank/security2(src) new /obj/item/clothing/under/rank/security2(src) new /obj/item/clothing/under/rank/security2(src) - new /obj/item/clothing/under/rank/dispatch(src) - new /obj/item/clothing/under/rank/dispatch(src) new /obj/item/clothing/shoes/jackboots(src) new /obj/item/clothing/shoes/jackboots(src) new /obj/item/clothing/shoes/jackboots(src) diff --git a/icons/mob/monkey.dmi b/icons/mob/monkey.dmi index c02028628cedf3c218b1732f7fb6d0b8ce4fc4aa..437ba085b15aaccb370d7cacd426ea925f2be92a 100644 GIT binary patch delta 3716 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 I)DOb{11LEqJ^%m! delta 1945 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 delta 16455 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 diff --git a/maps/tgstation.2.1.0.0.1.dmm b/maps/tgstation.2.1.0.0.1.dmm index 81ca4844dc8..a9fcddce2ee 100644 --- a/maps/tgstation.2.1.0.0.1.dmm +++ b/maps/tgstation.2.1.0.0.1.dmm @@ -667,7 +667,7 @@ "amQ" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0; tag = ""},/turf/simulated/floor/plating/airless,/area/solar/auxport) "amR" = (/turf/simulated/wall,/area) "amS" = (/obj/structure/sign/vacuum,/turf/simulated/wall,/area) -"amT" = (/obj/machinery/door/airlock/external{name = "External Construction Airlock"; req_access_txt = "32"},/turf/space,/area) +"amT" = (/obj/machinery/door/airlock/external{name = "External Construction Airlock"; req_access_txt = "32"},/turf/simulated/floor/plating,/area) "amU" = (/obj/structure/sign/vacuum,/turf/simulated/wall,/area/security/brig) "amV" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/turf/simulated/floor{dir = 8; icon_state = "neutralfull"},/area/security/brig) "amW" = (/obj/structure/stool/bed/chair,/turf/simulated/floor{dir = 8; icon_state = "neutralfull"},/area/security/brig) @@ -1044,11 +1044,11 @@ "aud" = (/obj/machinery/power/apc{dir = 8; name = "Fitness Room APC"; pixel_x = -24; pixel_y = 0},/obj/structure/cable{icon_state = "0-4"; d2 = 4},/obj/structure/disposalpipe/segment,/turf/simulated/floor{icon_state = "neutral"; dir = 8},/area/crew_quarters/fitness) "aue" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0; tag = ""},/obj/structure/cable{d1 = 2; d2 = 8; icon_state = "2-8"; tag = ""},/turf/simulated/floor{dir = 2; icon_state = "whitecorner"},/area/crew_quarters/fitness) "auf" = (/obj/machinery/atmospherics/unary/vent_scrubber{dir = 4; icon_state = "off"; on = 1; scrub_N2O = 0; scrub_Toxins = 0},/turf/simulated/floor{icon_state = "whitehall"; dir = 2},/area/crew_quarters/fitness) -"aug" = (/obj/machinery/atmospherics/pipe/manifold{color = "red"; dir = 4; icon_state = "manifold-r-f"; initialize_directions = 11; level = 1; name = "pipe manifold"},/turf/simulated/floor{icon_state = "whitehall"; dir = 2},/area/crew_quarters/fitness) -"auh" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 5},/turf/simulated/floor{icon_state = "whitehall"; dir = 2},/area/crew_quarters/fitness) -"aui" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/turf/simulated/floor{icon_state = "whitehall"; dir = 2},/area/crew_quarters/fitness) -"auj" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 10},/turf/simulated/floor{tag = "icon-escapecorner (WEST)"; icon_state = "escapecorner"; dir = 8},/area/crew_quarters/fitness) -"auk" = (/obj/machinery/light{dir = 1},/turf/simulated/floor{icon_state = "red"; dir = 4},/area/crew_quarters/fitness) +"aug" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/obj/structure/disposalpipe/segment{dir = 8; icon_state = "pipe-c"},/turf/simulated/floor{dir = 5; icon_state = "green"},/area/hydroponics) +"auh" = (/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor{dir = 1; icon_state = "green"},/area/hydroponics) +"aui" = (/obj/machinery/computer/security/telescreen/entertainment{pixel_x = -32},/obj/structure/stool{pixel_y = 8},/turf/simulated/floor/wood,/area/crew_quarters/bar) +"auj" = (/obj/machinery/camera{c_tag = "Bar East"; network = list("Tcomsat")},/turf/simulated/floor/wood,/area/crew_quarters/bar) +"auk" = (/obj/structure/noticeboard{pixel_y = 32},/turf/simulated/floor/wood,/area/crew_quarters/bar) "aul" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced,/obj/machinery/atmospherics/pipe/simple/supply/hidden{req_access_txt = "0"},/turf/simulated/floor/plating,/area/crew_quarters/fitness) "aum" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 4},/obj/machinery/atmospherics/pipe/simple/supply/hidden{req_access_txt = "0"},/turf/simulated/floor/plating,/area/crew_quarters/fitness) "aun" = (/turf/simulated/floor/plating,/obj/structure/shuttle/engine/propulsion/burst,/turf/simulated/shuttle/wall{tag = "icon-swall_f5"; icon_state = "swall_f5"; dir = 2},/area/shuttle/escape_pod1/station) @@ -1088,12 +1088,12 @@ "auV" = (/obj/machinery/door/airlock{id_tag = "Dorm6"; name = "Cabin 2"},/turf/simulated/floor/wood,/area/crew_quarters/sleep) "auW" = (/obj/machinery/alarm{dir = 4; pixel_x = -23; pixel_y = 0},/obj/structure/disposalpipe/segment,/turf/simulated/floor{icon_state = "neutral"; dir = 8},/area/crew_quarters/fitness) "auX" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0; tag = ""},/turf/simulated/floor{icon_state = "white"},/area/crew_quarters/fitness) -"auY" = (/obj/machinery/door/window/eastright{base_state = "left"; dir = 8; icon_state = "left"; name = "Fitness Ring"},/obj/structure/window/reinforced{dir = 1},/turf/simulated/floor{icon_state = "freezerfloor"},/area/crew_quarters/fitness) -"auZ" = (/obj/structure/window/reinforced{dir = 1},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/turf/simulated/floor{icon_state = "freezerfloor"},/area/crew_quarters/fitness) -"ava" = (/obj/structure/window/reinforced{dir = 1},/turf/simulated/floor{icon_state = "freezerfloor"},/area/crew_quarters/fitness) -"avb" = (/obj/structure/window/reinforced{dir = 1},/obj/machinery/door/window/eastright{base_state = "left"; icon_state = "left"; name = "Fitness Ring"},/turf/simulated/floor{icon_state = "freezerfloor"},/area/crew_quarters/fitness) -"avc" = (/obj/machinery/atmospherics/pipe/manifold{color = "blue"; dir = 8; icon_state = "manifold-b-f"; initialize_directions = 11; level = 1; name = "pipe manifold"},/turf/simulated/floor{icon_state = "white"},/area/crew_quarters/fitness) -"avd" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/turf/simulated/floor{icon_state = "red"; dir = 4},/area/crew_quarters/fitness) +"auY" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 5},/obj/structure/stool{pixel_y = 8},/turf/simulated/floor/wood,/area/crew_quarters/bar) +"auZ" = (/obj/structure/disposalpipe/segment,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/obj/machinery/door/airlock/glass{name = "Hydroponics Pasture"; req_access_txt = "28"},/turf/simulated/floor{tag = "icon-cafeteria (NORTHEAST)"; icon_state = "cafeteria"; dir = 5},/area/crew_quarters/kitchen) +"ava" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 8},/turf/simulated/floor/plating,/area/crew_quarters/kitchen) +"avb" = (/obj/machinery/disposal,/obj/machinery/firealarm{dir = 2; pixel_y = 24},/obj/structure/disposalpipe/trunk{dir = 4},/turf/simulated/floor{icon_state = "grimy"},/area/crew_quarters/bar) +"avc" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 1},/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor/plating,/area/crew_quarters/kitchen) +"avd" = (/obj/structure/disposalpipe/segment{dir = 8; icon_state = "pipe-c"},/turf/simulated/floor{tag = "icon-cafeteria (NORTHEAST)"; icon_state = "cafeteria"; dir = 5},/area/crew_quarters/kitchen) "ave" = (/obj/machinery/door/firedoor/border_only{dir = 8; name = "Firelock West"},/obj/machinery/door/airlock/glass{name = "Holodeck Door"},/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 9},/turf/simulated/floor,/area/crew_quarters/fitness) "avf" = (/obj/machinery/door/firedoor/border_only{dir = 8; name = "Firelock West"},/obj/machinery/door/airlock/glass{name = "Holodeck Door"},/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 5},/turf/simulated/floor,/area/crew_quarters/fitness) "avg" = (/obj/item/device/radio/intercom{broadcasting = 0; listening = 1; name = "Station Intercom (General)"; pixel_y = 20},/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/obj/machinery/light/small{dir = 1},/turf/simulated/floor,/area/crew_quarters/fitness) @@ -1132,12 +1132,12 @@ "avN" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 8},/turf/simulated/floor/plating,/area/crew_quarters/fitness) "avO" = (/obj/structure/disposalpipe/segment,/turf/simulated/floor{icon_state = "neutral"; dir = 8},/area/crew_quarters/fitness) "avP" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0; tag = ""},/turf/simulated/floor{icon_state = "whitehall"; dir = 4},/area/crew_quarters/fitness) -"avQ" = (/obj/structure/window/reinforced{dir = 8},/turf/simulated/floor/beach/water,/area/crew_quarters/fitness) -"avR" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/turf/simulated/floor/beach/water,/area/crew_quarters/fitness) +"avQ" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden,/obj/structure/disposalpipe/segment{dir = 1; icon_state = "pipe-c"},/turf/simulated/floor{dir = 9; icon_state = "green"},/area/hydroponics) +"avR" = (/obj/machinery/atmospherics/pipe/simple{color = "blue"; icon_state = "intact-b-f"; level = 1; name = "pipe"},/obj/structure/grille,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced,/turf/simulated/floor/plating,/area/crew_quarters/kitchen) "avS" = (/turf/simulated/floor/beach/water,/area/crew_quarters/fitness) -"avT" = (/obj/structure/window/reinforced{dir = 4},/turf/simulated/floor/beach/water,/area/crew_quarters/fitness) +"avT" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced,/turf/simulated/floor/plating,/area/crew_quarters/kitchen) "avU" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden{req_access_txt = "0"},/turf/simulated/floor{tag = "icon-whitehall (WEST)"; icon_state = "whitehall"; dir = 8},/area/crew_quarters/fitness) -"avV" = (/obj/structure/stool/bed/chair{dir = 4},/turf/simulated/floor{icon_state = "red"; dir = 4},/area/crew_quarters/fitness) +"avV" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced,/turf/simulated/floor/plating,/area/crew_quarters/kitchen) "avW" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 1},/turf/simulated/floor/plating,/area/crew_quarters/fitness) "avX" = (/obj/machinery/computer/HolodeckControl,/turf/simulated/floor,/area/crew_quarters/fitness) "avY" = (/obj/structure/stool/bed/chair{dir = 8},/turf/simulated/floor,/area/crew_quarters/fitness) @@ -1180,8 +1180,8 @@ "awJ" = (/obj/structure/table/woodentable,/obj/item/weapon/coin/silver,/turf/simulated/floor,/area/crew_quarters/sleep) "awK" = (/obj/machinery/door/firedoor/border_only{dir = 8; name = "Firelock West"},/obj/machinery/door/airlock/glass{name = "Fitness"},/turf/simulated/floor,/area/crew_quarters/fitness) "awL" = (/obj/structure/disposalpipe/segment,/turf/simulated/floor,/area/crew_quarters/fitness) -"awM" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0; tag = ""},/obj/machinery/hologram/holopad,/turf/simulated/floor{icon_state = "whitehall"; dir = 4},/area/crew_quarters/fitness) -"awN" = (/obj/structure/stool/bed/chair{dir = 4},/turf/simulated/floor{icon_state = "green"; dir = 4},/area/crew_quarters/fitness) +"awM" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/obj/machinery/requests_console{department = "Hydroponics"; departmentType = 2; pixel_x = 0; pixel_y = 30},/obj/structure/disposalpipe/segment{dir = 4; icon_state = "pipe-c"},/turf/simulated/floor{icon_state = "dark"},/area/hydroponics) +"awN" = (/turf/simulated/floor/grass,/obj/structure/disposalpipe/segment,/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/turf/simulated/floor{tag = "icon-siding8 (NORTH)"; icon_state = "siding8"; dir = 1},/area/hydroponics) "awO" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced,/turf/simulated/floor/plating,/area/crew_quarters/fitness) "awP" = (/obj/structure/table,/obj/item/weapon/paper{desc = ""; info = "Brusies sustained in the holodeck can be healed simply by sleeping."; name = "Holodeck Disclaimer"},/turf/simulated/floor,/area/crew_quarters/fitness) "awQ" = (/obj/structure/cable{icon_state = "0-2"; d2 = 2},/obj/machinery/access_button{command = "cycle_exterior"; frequency = 1379; master_tag = "solar_chapel_airlock"; name = "exterior access button"; pixel_x = -25; pixel_y = -25; req_access_txt = "10;13"},/turf/simulated/floor/plating/airless,/area/solar/auxstarboard) @@ -1222,12 +1222,12 @@ "axz" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; tag = ""},/obj/machinery/door/firedoor/border_only{dir = 8; name = "Firelock West"},/obj/machinery/door/airlock/glass{name = "Fitness"},/turf/simulated/floor,/area/crew_quarters/fitness) "axA" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; tag = ""},/obj/structure/disposalpipe/segment,/turf/simulated/floor,/area/crew_quarters/fitness) "axB" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0; tag = ""},/obj/structure/cable{d1 = 2; d2 = 8; icon_state = "2-8"; tag = ""},/turf/simulated/floor{icon_state = "whitehall"; dir = 4},/area/crew_quarters/fitness) -"axC" = (/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 8},/turf/simulated/floor/beach/water,/area/crew_quarters/fitness) -"axD" = (/obj/structure/window/reinforced,/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 5},/turf/simulated/floor/beach/water,/area/crew_quarters/fitness) -"axE" = (/obj/structure/window/reinforced,/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/turf/simulated/floor/beach/water,/area/crew_quarters/fitness) -"axF" = (/obj/structure/window/reinforced,/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/obj/structure/window/reinforced{dir = 4},/turf/simulated/floor/beach/water,/area/crew_quarters/fitness) -"axG" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden{req_access_txt = "0"},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/turf/simulated/floor{tag = "icon-whitehall (WEST)"; icon_state = "whitehall"; dir = 8},/area/crew_quarters/fitness) -"axH" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/turf/simulated/floor{icon_state = "green"; dir = 4},/area/crew_quarters/fitness) +"axC" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/obj/structure/flora/ausbushes/fullgrass,/turf/simulated/floor/grass,/area/hydroponics) +"axD" = (/obj/machinery/atmospherics/unary/vent_pump{dir = 4; on = 1},/obj/structure/table,/obj/item/weapon/reagent_containers/glass/bucket,/obj/item/weapon/reagent_containers/glass/bucket,/turf/simulated/floor{icon_state = "hydrofloor"},/area/hydroponics) +"axE" = (/obj/machinery/door/airlock{name = "Kitchen cold room"; req_access_txt = "28"},/obj/structure/disposalpipe/segment,/turf/simulated/floor{icon_state = "showroomfloor"},/area/crew_quarters/kitchen) +"axF" = (/obj/machinery/atmospherics/pipe/simple{color = "blue"; icon_state = "intact-b-f"; level = 1; name = "pipe"},/obj/structure/disposalpipe/segment,/turf/simulated/floor{icon_state = "dark"},/area/hydroponics) +"axG" = (/turf/simulated/floor/grass,/area/hydroponics) +"axH" = (/obj/machinery/atmospherics/pipe/manifold{color = "blue"; dir = 4; icon_state = "manifold-b-f"; initialize_directions = 11; level = 1; name = "pipe manifold"},/mob/living/simple_animal/chicken{name = "Commander Clucky"},/turf/simulated/floor/grass,/area/hydroponics) "axI" = (/obj/machinery/door/firedoor/border_only{dir = 8; name = "Firelock West"},/obj/machinery/door/airlock/glass{name = "Holodeck Door"},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 10},/turf/simulated/floor,/area/crew_quarters/fitness) "axJ" = (/obj/machinery/door/firedoor/border_only{dir = 8; name = "Firelock West"},/obj/machinery/door/airlock/glass{name = "Holodeck Door"},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 6},/turf/simulated/floor,/area/crew_quarters/fitness) "axK" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/obj/machinery/light/small,/turf/simulated/floor,/area/crew_quarters/fitness) @@ -1285,7 +1285,7 @@ "ayK" = (/turf/simulated/floor{icon_state = "whitehall"; dir = 1},/area/crew_quarters/fitness) "ayL" = (/obj/machinery/atmospherics/unary/vent_pump{dir = 4; on = 1},/turf/simulated/floor{icon_state = "whitehall"; dir = 1},/area/crew_quarters/fitness) "ayM" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 9},/turf/simulated/floor{dir = 1; icon_state = "whitecorner"},/area/crew_quarters/fitness) -"ayN" = (/obj/machinery/camera{c_tag = "Fitness Room South"; dir = 1},/obj/machinery/light,/turf/simulated/floor{icon_state = "green"; dir = 4},/area/crew_quarters/fitness) +"ayN" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden,/obj/structure/table/reinforced,/turf/simulated/floor{icon_state = "grimy"},/area/crew_quarters/bar) "ayO" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 1},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/turf/simulated/floor/plating,/area/crew_quarters/fitness) "ayP" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 4},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/turf/simulated/floor/plating,/area/crew_quarters/fitness) "ayQ" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 8},/turf/simulated/floor/plating,/area/maintenance/auxsolarstarboard) @@ -1325,8 +1325,8 @@ "azy" = (/turf/simulated/wall,/area/crew_quarters/toilet) "azz" = (/obj/machinery/door/airlock{name = "Unisex Showers"; req_access_txt = "0"},/turf/simulated/floor{icon_state = "freezerfloor"},/area/crew_quarters/toilet) "azA" = (/obj/structure/cable{d1 = 1; d2 = 4; icon_state = "1-4"; tag = ""},/obj/machinery/light,/obj/structure/table,/obj/item/stack/medical/bruise_pack,/obj/item/stack/medical/bruise_pack{pixel_x = 10; pixel_y = 2},/obj/item/stack/medical/ointment{pixel_y = 4},/turf/simulated/floor{dir = 10; icon_state = "neutral"},/area/crew_quarters/fitness) -"azB" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/obj/structure/disposalpipe/segment{dir = 1; icon_state = "pipe-c"},/turf/simulated/floor{icon_state = "neutral"},/area/crew_quarters/fitness) -"azC" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/obj/structure/disposalpipe/segment{dir = 4},/obj/machinery/light_switch{pixel_y = -25},/turf/simulated/floor{icon_state = "neutral"},/area/crew_quarters/fitness) +"azB" = (/obj/structure/table/reinforced,/obj/item/weapon/reagent_containers/glass/rag,/turf/simulated/floor{icon_state = "grimy"},/area/crew_quarters/bar) +"azC" = (/obj/machinery/atmospherics/pipe/manifold{color = "red"; dir = 4; icon_state = "manifold-r-f"; initialize_directions = 11; level = 1; name = "pipe manifold"},/obj/structure/table/reinforced,/obj/item/weapon/paper_bin,/obj/item/weapon/pen/blue{pixel_x = 2; pixel_y = 6},/obj/item/weapon/pen/blue{pixel_x = -3; pixel_y = 2},/turf/simulated/floor{icon_state = "grimy"},/area/crew_quarters/bar) "azD" = (/obj/machinery/firealarm{dir = 1; pixel_y = -24},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor{icon_state = "neutral"},/area/crew_quarters/fitness) "azE" = (/obj/structure/cable{d1 = 2; d2 = 8; icon_state = "2-8"; tag = ""},/obj/structure/disposalpipe/segment{dir = 2; icon_state = "pipe-c"},/turf/simulated/floor{icon_state = "neutral"},/area/crew_quarters/fitness) "azF" = (/obj/structure/reagent_dispensers/water_cooler,/turf/simulated/floor{icon_state = "neutral"; dir = 6},/area/crew_quarters/fitness) @@ -1411,9 +1411,9 @@ "aBg" = (/obj/structure/sink{icon_state = "sink"; dir = 8; pixel_x = -12; pixel_y = 2},/obj/structure/mirror{pixel_x = -28},/obj/machinery/light{dir = 1},/turf/simulated/floor{icon_state = "freezerfloor"},/area/crew_quarters/toilet) "aBh" = (/obj/structure/urinal{pixel_y = 32},/turf/simulated/floor{icon_state = "freezerfloor"},/area/crew_quarters/toilet) "aBi" = (/obj/effect/landmark{name = "xeno_spawn"; pixel_x = -1},/obj/item/weapon/bikehorn/rubberducky,/turf/simulated/floor{icon_state = "freezerfloor"},/area/crew_quarters/toilet) -"aBj" = (/obj/structure/rack,/obj/effect/landmark/costume,/turf/simulated/floor,/area/crew_quarters/theatre) -"aBk" = (/obj/machinery/camera{c_tag = "Theatre Storage"},/obj/structure/mirror{pixel_y = 28},/turf/simulated/floor,/area/crew_quarters/theatre) -"aBl" = (/turf/simulated/wall,/area/crew_quarters/theatre) +"aBj" = (/obj/machinery/atmospherics/unary/vent_scrubber{dir = 4; icon_state = "off"; on = 1; scrub_N2O = 0; scrub_Toxins = 0},/obj/structure/table/reinforced,/turf/simulated/floor{icon_state = "grimy"},/area/crew_quarters/bar) +"aBk" = (/obj/item/weapon/reagent_containers/food/condiment/peppermill{pixel_x = 2; pixel_y = 6},/obj/structure/table/woodentable,/obj/item/weapon/reagent_containers/food/condiment/saltshaker{pixel_x = -2; pixel_y = 4},/turf/simulated/floor/wood,/area/crew_quarters/bar) +"aBl" = (/obj/structure/disposalpipe/segment{dir = 4; icon_state = "pipe-c"},/obj/structure/stool/bed/chair/wood/wings,/turf/simulated/floor/wood,/area/crew_quarters/bar) "aBm" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/obj/structure/disposalpipe/segment,/turf/simulated/floor/plating,/area/maintenance/fsmaint2) "aBn" = (/turf/simulated/wall,/area/maintenance/fsmaint2) "aBo" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 8},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 5},/turf/simulated/floor/plating,/area/crew_quarters/fitness) @@ -1482,9 +1482,9 @@ "aCz" = (/obj/machinery/atmospherics/unary/vent_pump{on = 1},/turf/simulated/floor{icon_state = "freezerfloor"},/area/crew_quarters/toilet) "aCA" = (/obj/machinery/light/small,/turf/simulated/floor{icon_state = "freezerfloor"},/area/crew_quarters/toilet) "aCB" = (/obj/machinery/atmospherics/unary/vent_scrubber{on = 1; scrub_N2O = 0; scrub_Toxins = 0},/turf/simulated/floor{icon_state = "freezerfloor"},/area/crew_quarters/toilet) -"aCC" = (/obj/machinery/requests_console{department = "Theatre"; departmentType = 0; name = "theatre RC"; pixel_x = -32; pixel_y = 0},/turf/simulated/floor,/area/crew_quarters/theatre) -"aCD" = (/turf/simulated/floor,/area/crew_quarters/theatre) -"aCE" = (/obj/machinery/door/airlock/maintenance{name = "Theatre Maintenance"; req_access_txt = "46"},/turf/simulated/floor/plating,/area/crew_quarters/theatre) +"aCC" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/structure/stool/bed/chair/wood/wings,/turf/simulated/floor/wood,/area/crew_quarters/bar) +"aCD" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/obj/structure/disposalpipe/segment{dir = 8; icon_state = "pipe-c"},/obj/structure/stool/bed/chair/wood/wings{tag = "icon-wooden_chair_wings (EAST)"; icon_state = "wooden_chair_wings"; dir = 4},/turf/simulated/floor/wood,/area/crew_quarters/bar) +"aCE" = (/obj/machinery/door/firedoor/border_only{dir = 8; name = "Firelock West"},/obj/machinery/door/airlock/glass{name = "Kitchen"; req_access_txt = "28"},/turf/simulated/floor{tag = "icon-cafeteria (NORTHEAST)"; icon_state = "cafeteria"; dir = 5},/area/crew_quarters/kitchen) "aCF" = (/obj/structure/cable{icon_state = "0-4"; d2 = 4},/obj/machinery/power/apc{dir = 8; name = "Fore Starboard Solar APC"; pixel_x = -25; pixel_y = 3},/turf/simulated/floor/plating,/area/maintenance/auxsolarstarboard) "aCG" = (/obj/structure/cable{icon_state = "0-4"; d2 = 4},/obj/structure/cable{d2 = 8; icon_state = "0-8"},/obj/structure/cable{icon_state = "0-2"; d2 = 2},/turf/simulated/floor/plating,/area/maintenance/auxsolarstarboard) "aCH" = (/obj/machinery/camera{c_tag = "Fore Starboard Solars"; dir = 1},/obj/structure/cable{d2 = 8; icon_state = "0-8"},/obj/machinery/power/smes{charge = 0},/turf/simulated/floor/plating,/area/maintenance/auxsolarstarboard) @@ -1555,10 +1555,10 @@ "aDU" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/turf/simulated/wall,/area/crew_quarters/toilet) "aDV" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/obj/machinery/atmospherics/pipe/simple/supply/hidden,/turf/simulated/wall,/area/crew_quarters/toilet) "aDW" = (/obj/machinery/atmospherics/pipe/manifold{color = "red"; icon_state = "manifold-r-f"; level = 1; name = "pipe manifold"},/turf/simulated/wall,/area/crew_quarters/toilet) -"aDX" = (/obj/structure/rack,/obj/effect/landmark/costume,/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/obj/machinery/light/small{dir = 8},/turf/simulated/floor,/area/crew_quarters/theatre) -"aDY" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/turf/simulated/floor,/area/crew_quarters/theatre) -"aDZ" = (/obj/structure/rack,/obj/effect/landmark/costume,/obj/machinery/atmospherics/pipe/manifold{color = "red"; dir = 1; icon_state = "manifold-r-f"; level = 1; name = "pipe manifold"},/turf/simulated/floor,/area/crew_quarters/theatre) -"aEa" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/turf/simulated/wall,/area/crew_quarters/theatre) +"aDX" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced,/turf/simulated/floor/plating,/area/crew_quarters/kitchen) +"aDY" = (/obj/structure/closet/secure_closet/freezer/fridge,/turf/simulated/floor{tag = "icon-cafeteria (NORTHEAST)"; icon_state = "cafeteria"; dir = 5},/area/crew_quarters/kitchen) +"aDZ" = (/obj/machinery/vending/dinnerware,/obj/item/device/radio/intercom{pixel_y = 25},/obj/machinery/camera{c_tag = "Kitchen"; dir = 2},/turf/simulated/floor{icon_state = "cafeteria"; dir = 2},/area/crew_quarters/kitchen) +"aEa" = (/obj/structure/closet/secure_closet/freezer/kitchen,/obj/structure/extinguisher_cabinet{pixel_x = 27; pixel_y = 0},/turf/simulated/floor{tag = "icon-cafeteria (NORTHEAST)"; icon_state = "cafeteria"; dir = 5},/area/crew_quarters/kitchen) "aEb" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 10},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/obj/structure/disposalpipe/segment,/turf/simulated/floor/plating,/area/maintenance/fsmaint2) "aEc" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced,/turf/simulated/floor/plating,/area/maintenance/fsmaint2) "aEd" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced,/turf/simulated/floor/plating,/area/maintenance/fsmaint2) @@ -1634,8 +1634,8 @@ "aFv" = (/obj/structure/toilet{pixel_y = 8},/obj/machinery/light/small{dir = 8},/obj/effect/landmark{name = "blobstart"},/obj/machinery/atmospherics/pipe/manifold{color = "blue"; icon_state = "manifold-b-f"; level = 1; name = "pipe manifold"},/turf/simulated/floor{icon_state = "freezerfloor"},/area/crew_quarters/toilet) "aFw" = (/obj/machinery/light/small{dir = 8},/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/obj/machinery/recharge_station,/turf/simulated/floor{icon_state = "freezerfloor"},/area/crew_quarters/toilet) "aFx" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 10},/turf/simulated/wall,/area/crew_quarters/toilet) -"aFy" = (/obj/machinery/alarm{dir = 4; icon_state = "alarm0"; pixel_x = -22},/obj/machinery/atmospherics/unary/vent_pump{on = 1},/turf/simulated/floor,/area/crew_quarters/theatre) -"aFz" = (/obj/item/device/radio/intercom{pixel_x = 25},/obj/machinery/atmospherics/unary/vent_scrubber{dir = 1; on = 1; scrub_N2O = 0; scrub_Toxins = 0},/turf/simulated/floor,/area/crew_quarters/theatre) +"aFy" = (/obj/structure/table,/obj/machinery/microwave{pixel_x = -3; pixel_y = 6},/obj/machinery/atmospherics/pipe/simple{color = "blue"; icon_state = "intact-b-f"; level = 1; name = "pipe"},/obj/machinery/light{dir = 1},/turf/simulated/floor{icon_state = "cafeteria"; dir = 2},/area/crew_quarters/kitchen) +"aFz" = (/obj/structure/table,/obj/item/weapon/book/manual/hydroponics_beekeeping,/obj/item/device/eftpos{eftpos_name = "Botany EFTPOS scanner"},/obj/item/weapon/paper/hydroponics,/turf/simulated/floor{icon_state = "hydrofloor"},/area/hydroponics) "aFA" = (/obj/machinery/atmospherics/pipe/manifold{color = "red"; dir = 8; icon_state = "manifold-r-f"; initialize_directions = 11; level = 1; name = "pipe manifold"},/obj/structure/cable{d1 = 1; d2 = 4; icon_state = "1-4"; tag = ""},/obj/structure/disposalpipe/segment{dir = 1; icon_state = "pipe-c"},/turf/simulated/floor/plating,/area/maintenance/fsmaint2) "aFB" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/obj/structure/disposalpipe/segment{dir = 4},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/turf/simulated/floor/plating,/area/maintenance/fsmaint2) "aFC" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/obj/structure/disposalpipe/junction{tag = "icon-pipe-j1 (EAST)"; icon_state = "pipe-j1"; dir = 4},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; tag = ""},/obj/structure/cable{d1 = 2; d2 = 4; icon_state = "2-4"; tag = ""},/turf/simulated/floor/plating,/area/maintenance/fsmaint2) @@ -1644,9 +1644,9 @@ "aFF" = (/obj/machinery/atmospherics/pipe/simple{color = "red"; dir = 4; icon_state = "intact-r-f"; level = 1; name = "pipe"},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; tag = ""},/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor/plating,/area/maintenance/fsmaint2) "aFG" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; tag = ""},/obj/structure/disposalpipe/sortjunction{dir = 4; icon_state = "pipe-j1s"; sortType = 20; tag = "icon-pipe-j1s (EAST)"},/obj/machinery/atmospherics/pipe/manifold{color = "red"; dir = 1; icon_state = "manifold-r-f"; level = 1; name = "pipe manifold"},/obj/structure/cable{d1 = 2; d2 = 4; icon_state = "2-4"; tag = ""},/turf/simulated/floor/plating,/area/maintenance/fsmaint2) "aFH" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; tag = ""},/obj/structure/disposalpipe/segment{dir = 4},/obj/machinery/atmospherics/pipe/simple{color = "red"; dir = 4; icon_state = "intact-r-f"; level = 1; name = "pipe"},/turf/simulated/floor/plating,/area/maintenance/fsmaint2) -"aFI" = (/obj/machinery/atmospherics/pipe/simple{color = "red"; dir = 4; icon_state = "intact-r-f"; level = 1; name = "pipe"},/obj/structure/disposalpipe/segment{dir = 4},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; tag = ""},/obj/structure/cable{d1 = 2; d2 = 4; icon_state = "2-4"; tag = ""},/turf/simulated/floor/plating,/area/maintenance/fsmaint2) +"aFI" = (/obj/machinery/power/apc{dir = 1; name = "Hydroponics APC"; pixel_y = 24},/obj/structure/cable{d2 = 8; icon_state = "0-8"},/obj/structure/table,/obj/item/weapon/reagent_containers/spray/plantbgone{pixel_x = 8; pixel_y = 8},/obj/item/weapon/reagent_containers/spray/plantbgone{pixel_x = 13; pixel_y = 5},/obj/item/weapon/reagent_containers/spray/plantbgone{pixel_x = 0; pixel_y = 3},/turf/simulated/floor{icon_state = "hydrofloor"},/area/hydroponics) "aFJ" = (/obj/machinery/atmospherics/pipe/simple{color = "red"; dir = 4; icon_state = "intact-r-f"; level = 1; name = "pipe"},/obj/structure/disposalpipe/segment{dir = 4},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_y = 0; tag = ""},/turf/simulated/floor/plating,/area/maintenance/fsmaint2) -"aFK" = (/obj/structure/disposalpipe/segment{dir = 2; icon_state = "pipe-c"},/obj/machinery/atmospherics/pipe/simple{color = "red"; dir = 4; icon_state = "intact-r-f"; level = 1; name = "pipe"},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; tag = ""},/turf/simulated/floor/plating,/area/maintenance/fsmaint2) +"aFK" = (/obj/machinery/alarm{pixel_y = 24},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/obj/machinery/atmospherics/unary/vent_scrubber{dir = 8; on = 1; scrub_Toxins = 0},/obj/machinery/camera{c_tag = "Hydroponics Storage"},/obj/structure/closet/crate/hydroponics,/obj/item/weapon/reagent_containers/glass/bucket,/obj/item/weapon/screwdriver,/obj/item/weapon/shovel/spade,/obj/item/weapon/wrench,/turf/simulated/floor{icon_state = "hydrofloor"},/area/hydroponics) "aFL" = (/obj/structure/cable{d1 = 2; d2 = 8; icon_state = "2-8"; tag = ""},/obj/machinery/atmospherics/pipe/simple{color = "red"; dir = 4; icon_state = "intact-r-f"; level = 1; name = "pipe"},/obj/structure/closet,/turf/simulated/floor/plating,/area/maintenance/fsmaint2) "aFM" = (/obj/machinery/atmospherics/pipe/simple{color = "red"; dir = 4; icon_state = "intact-r-f"; level = 1; name = "pipe"},/turf/simulated/wall,/area/maintenance/fsmaint2) "aFN" = (/obj/machinery/atmospherics/pipe/simple{color = "red"; dir = 4; icon_state = "intact-r-f"; level = 1; name = "pipe"},/obj/structure/reagent_dispensers/fueltank,/turf/simulated/floor/plating,/area/maintenance/fsmaint2) @@ -1721,22 +1721,22 @@ "aHe" = (/obj/machinery/door/airlock{name = "Unit 2"},/turf/simulated/floor{icon_state = "freezerfloor"},/area/crew_quarters/toilet) "aHf" = (/obj/machinery/door/airlock{name = "Unit B"},/turf/simulated/floor{icon_state = "freezerfloor"},/area/crew_quarters/toilet) "aHg" = (/obj/machinery/atmospherics/pipe/manifold{color = "blue"; dir = 8; icon_state = "manifold-b-f"; level = 1; name = "pipe manifold"},/turf/simulated/wall,/area/crew_quarters/toilet) -"aHh" = (/obj/structure/rack,/obj/effect/landmark/costume,/obj/machinery/atmospherics/pipe/manifold{color = "blue"; icon_state = "manifold-b-f"; level = 1; name = "pipe manifold"},/obj/item/device/violin,/turf/simulated/floor,/area/crew_quarters/theatre) -"aHi" = (/obj/machinery/atmospherics/pipe/simple{color = "blue"; dir = 4; icon_state = "intact-b-f"; level = 1; name = "pipe"},/turf/simulated/floor,/area/crew_quarters/theatre) -"aHj" = (/obj/structure/rack,/obj/effect/landmark/costume,/obj/machinery/atmospherics/pipe/simple{color = "blue"; dir = 4; icon_state = "intact-b-f"; level = 1; name = "pipe"},/turf/simulated/floor,/area/crew_quarters/theatre) -"aHk" = (/obj/machinery/atmospherics/pipe/manifold{color = "blue"; dir = 1; icon_state = "manifold-b-f"; level = 1; name = "pipe manifold"},/turf/simulated/wall,/area/crew_quarters/theatre) -"aHl" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/obj/machinery/atmospherics/pipe/simple{color = "blue"; dir = 4; icon_state = "intact-b-f"; level = 1; name = "pipe"},/obj/structure/reagent_dispensers/watertank,/turf/simulated/floor/plating,/area/maintenance/fsmaint2) -"aHm" = (/obj/machinery/atmospherics/pipe/simple{color = "blue"; dir = 4; icon_state = "intact-b-f"; level = 1; name = "pipe"},/obj/structure/reagent_dispensers/fueltank,/turf/simulated/floor/plating,/area/maintenance/fsmaint2) +"aHh" = (/obj/machinery/atmospherics/pipe/simple{color = "blue"; icon_state = "intact-b-f"; level = 1; name = "pipe"},/obj/structure/closet/secure_closet/freezer/meat,/turf/simulated/floor{icon_state = "showroomfloor"},/area/crew_quarters/kitchen) +"aHi" = (/obj/item/device/radio/intercom{pixel_y = 25},/obj/machinery/camera{c_tag = "Bar North"; dir = 2},/obj/machinery/atmospherics/unary/vent_pump{dir = 1; on = 1},/obj/structure/table/reinforced,/obj/item/weapon/book/manual/barman_recipes,/turf/simulated/floor{icon_state = "grimy"},/area/crew_quarters/bar) +"aHj" = (/obj/structure/reagent_dispensers/beerkeg,/obj/machinery/requests_console{announcementConsole = 0; department = "Bar"; departmentType = 2; name = "Bar RC"; pixel_x = 0; pixel_y = 30},/turf/simulated/floor{icon_state = "grimy"},/area/crew_quarters/bar) +"aHk" = (/obj/structure/window/reinforced{dir = 4},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/obj/structure/table/reinforced,/obj/item/weapon/reagent_containers/food/drinks/flask/barflask,/obj/item/weapon/reagent_containers/food/drinks/flask/barflask,/turf/simulated/floor{icon_state = "grimy"},/area/crew_quarters/bar) +"aHl" = (/obj/structure/disposalpipe/segment,/turf/simulated/floor{icon_state = "grimy"},/area/crew_quarters/bar) +"aHm" = (/obj/machinery/light_switch{pixel_y = 28},/obj/machinery/light{dir = 1},/obj/machinery/vending/boozeomat,/turf/simulated/floor{icon_state = "grimy"},/area/crew_quarters/bar) "aHn" = (/obj/machinery/atmospherics/pipe/simple{color = "blue"; dir = 4; icon_state = "intact-b-f"; level = 1; name = "pipe"},/obj/structure/disposalpipe/segment,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/turf/simulated/floor/plating,/area/maintenance/fsmaint2) "aHo" = (/obj/machinery/atmospherics/pipe/simple{color = "blue"; dir = 4; icon_state = "intact-b-f"; level = 1; name = "pipe"},/turf/simulated/floor/plating,/area/maintenance/fsmaint2) -"aHp" = (/obj/machinery/atmospherics/pipe/simple{color = "blue"; dir = 4; icon_state = "intact-b-f"; level = 1; name = "pipe"},/turf/simulated/wall,/area/crew_quarters/bar) -"aHq" = (/obj/machinery/atmospherics/pipe/manifold{color = "blue"; dir = 1; icon_state = "manifold-b-f"; level = 1; name = "pipe manifold"},/turf/simulated/wall,/area/crew_quarters/bar) -"aHr" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/obj/machinery/atmospherics/pipe/simple{color = "blue"; dir = 4; icon_state = "intact-b-f"; level = 1; name = "pipe"},/obj/structure/disposalpipe/segment,/obj/machinery/door/airlock/maintenance{name = "Bar Storage Maintenance"; req_access_txt = "25"},/turf/simulated/floor/plating,/area/crew_quarters/bar) -"aHs" = (/obj/machinery/atmospherics/pipe/simple{color = "blue"; dir = 4; icon_state = "intact-b-f"; level = 1; name = "pipe"},/obj/machinery/navbeacon{codes_txt = "delivery;dir=2"; freq = 1400; location = "Bar"},/obj/structure/plasticflaps{opacity = 1},/turf/simulated/floor{icon_state = "bot"; dir = 1},/area/crew_quarters/bar) +"aHp" = (/obj/machinery/atmospherics/unary/vent_pump{dir = 4; on = 1},/turf/simulated/floor{icon_state = "hydrofloor"},/area/hydroponics) +"aHq" = (/obj/machinery/atmospherics/pipe/simple{color = "blue"; icon_state = "intact-b-f"; level = 1; name = "pipe"},/obj/machinery/hydroponics/soil,/turf/simulated/floor/grass,/area/hydroponics) +"aHr" = (/obj/machinery/hydroponics/soil,/turf/simulated/floor/grass,/area/hydroponics) +"aHs" = (/obj/item/device/radio/intercom{pixel_y = 25},/obj/structure/flora/ausbushes/grassybush,/turf/simulated/floor/grass,/area/hydroponics) "aHt" = (/obj/machinery/atmospherics/pipe/simple{color = "blue"; dir = 4; icon_state = "intact-b-f"; level = 1; name = "pipe"},/obj/structure/disposalpipe/segment,/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/turf/simulated/floor/plating,/area/maintenance/fsmaint2) "aHu" = (/obj/machinery/atmospherics/pipe/manifold{color = "blue"; dir = 1; icon_state = "manifold-b-f"; level = 1; name = "pipe manifold"},/turf/simulated/floor/plating,/area/maintenance/fsmaint2) -"aHv" = (/obj/machinery/atmospherics/pipe/simple{color = "blue"; dir = 4; icon_state = "intact-b-f"; level = 1; name = "pipe"},/obj/machinery/power/apc{dir = 2; name = "Bar Maintenance APC"; pixel_y = -24},/obj/structure/cable,/turf/simulated/floor/plating,/area/maintenance/fsmaint2) -"aHw" = (/obj/machinery/atmospherics/pipe/simple{color = "blue"; dir = 4; icon_state = "intact-b-f"; level = 1; name = "pipe"},/obj/structure/disposalpipe/segment{dir = 1; icon_state = "pipe-c"},/turf/simulated/floor/plating,/area/maintenance/fsmaint2) +"aHv" = (/obj/structure/window/reinforced{dir = 8},/turf/simulated/floor{icon_state = "hydrofloor"},/area/hydroponics) +"aHw" = (/obj/machinery/door/window/eastright{tag = "icon-right"; name = "Hydroponics Delivery"; icon_state = "right"; dir = 2; req_access_txt = "35"},/turf/simulated/floor{icon_state = "delivery"},/area/hydroponics) "aHx" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/machinery/atmospherics/pipe/simple{color = "blue"; dir = 4; icon_state = "intact-b-f"; level = 1; name = "pipe"},/obj/structure/cable{d1 = 1; d2 = 4; icon_state = "1-4"; tag = ""},/turf/simulated/floor/plating,/area/maintenance/fsmaint2) "aHy" = (/obj/machinery/atmospherics/pipe/manifold{color = "blue"; dir = 1; icon_state = "manifold-b-f"; level = 1; name = "pipe manifold"},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; tag = ""},/obj/structure/disposalpipe/sortjunction{dir = 4; icon_state = "pipe-j1s"; sortType = 21; tag = "icon-pipe-j1s (EAST)"},/obj/structure/cable{d1 = 2; d2 = 4; icon_state = "2-4"; tag = ""},/turf/simulated/floor/plating,/area/maintenance/fsmaint2) "aHz" = (/obj/machinery/atmospherics/pipe/simple{color = "blue"; dir = 4; icon_state = "intact-b-f"; level = 1; name = "pipe"},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; tag = ""},/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor/plating,/area/maintenance/fsmaint2) @@ -1812,19 +1812,19 @@ "aIR" = (/obj/structure/extinguisher_cabinet{pixel_x = 27; pixel_y = 0},/obj/machinery/light{dir = 4; icon_state = "tube1"},/turf/simulated/floor{icon_state = "neutral"; dir = 4},/area/hallway/primary/central) "aIS" = (/obj/machinery/camera{c_tag = "Dormitory Toilets"; dir = 1},/turf/simulated/floor{icon_state = "freezerfloor"},/area/crew_quarters/toilet) "aIT" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden,/turf/simulated/wall,/area/crew_quarters/toilet) -"aIU" = (/obj/machinery/door/airlock{name = "Theatre Backstage"; req_access_txt = "46"},/turf/simulated/floor,/area/crew_quarters/theatre) -"aIV" = (/obj/machinery/atmospherics/pipe/simple{color = "blue"; icon_state = "intact-b-f"; level = 1; name = "pipe"},/turf/simulated/wall,/area/crew_quarters/theatre) -"aIW" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/turf/simulated/wall,/area/crew_quarters/theatre) +"aIU" = (/obj/structure/disposalpipe/segment,/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/obj/structure/window/reinforced{dir = 8},/obj/machinery/alarm{pixel_y = 22},/obj/machinery/camera{c_tag = "Hydroponics Pasture"},/obj/structure/flora/ausbushes/grassybush,/turf/simulated/floor/grass,/area/hydroponics) +"aIV" = (/obj/structure/disposalpipe/segment,/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 5},/turf/simulated/floor{icon_state = "showroomfloor"},/area/crew_quarters/kitchen) +"aIW" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/turf/simulated/floor{icon_state = "showroomfloor"},/area/crew_quarters/kitchen) "aIX" = (/turf/simulated/wall,/area/crew_quarters/bar) "aIY" = (/obj/machinery/door/airlock/maintenance{name = "Bar Maintenance"; req_access_txt = "12"},/obj/structure/disposalpipe/segment,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/turf/simulated/floor/plating,/area/crew_quarters/bar) -"aIZ" = (/obj/machinery/atmospherics/pipe/simple{color = "blue"; icon_state = "intact-b-f"; level = 1; name = "pipe"},/obj/item/weapon/reagent_containers/food/drinks/shaker,/obj/item/weapon/gun/projectile/shotgun/doublebarrel,/obj/structure/table/woodentable,/obj/item/weapon/storage/secure/safe{pixel_x = -22; pixel_y = 0},/turf/simulated/floor/wood,/area/crew_quarters/bar) -"aJa" = (/obj/structure/disposalpipe/segment,/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/turf/simulated/floor/wood,/area/crew_quarters/bar) -"aJb" = (/obj/structure/sink/kitchen{pixel_y = 28},/turf/simulated/floor/wood,/area/crew_quarters/bar) -"aJc" = (/obj/structure/sign/poster{pixel_x = 0; pixel_y = 0},/turf/simulated/wall,/area/crew_quarters/bar) -"aJd" = (/obj/machinery/door/window/southleft{base_state = "left"; dir = 2; icon_state = "left"; name = "Bar Delivery"; req_access_txt = "25"},/turf/simulated/floor{icon_state = "delivery"},/area/crew_quarters/bar) +"aIZ" = (/obj/machinery/atmospherics/unary/vent_scrubber{dir = 8; on = 1; scrub_Toxins = 0},/turf/simulated/floor{icon_state = "showroomfloor"},/area/crew_quarters/kitchen) +"aJa" = (/obj/structure/disposalpipe/segment,/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/turf/simulated/wall,/area/hydroponics) +"aJb" = (/obj/machinery/camera{c_tag = "Bar Storage"},/obj/machinery/chem_master/condimaster{name = "CondiMaster Neo"; pixel_x = -5},/obj/structure/window/reinforced{dir = 4},/turf/simulated/floor{icon_state = "showroomfloor"},/area/crew_quarters/kitchen) +"aJc" = (/obj/machinery/door/window/southleft{base_state = "left"; dir = 2; icon_state = "left"; name = "Kitchen Delivery"; req_access_txt = "28"},/turf/simulated/floor{icon_state = "delivery"},/area/crew_quarters/kitchen) +"aJd" = (/obj/structure/disposalpipe/segment,/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/turf/simulated/floor{icon_state = "showroomfloor"},/area/crew_quarters/kitchen) "aJe" = (/turf/simulated/wall,/area/crew_quarters/kitchen) -"aJf" = (/obj/machinery/door/airlock/maintenance{name = "Kitchen Maintenance"; req_access_txt = "28"},/obj/structure/disposalpipe/segment,/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/turf/simulated/floor/plating,/area/crew_quarters/kitchen) -"aJg" = (/obj/machinery/navbeacon{codes_txt = "delivery;dir=2"; freq = 1400; location = "Kitchen"},/obj/structure/plasticflaps{opacity = 1},/obj/machinery/atmospherics/pipe/simple{color = "blue"; icon_state = "intact-b-f"; level = 1; name = "pipe"},/turf/simulated/floor{icon_state = "bot"; dir = 1},/area/crew_quarters/kitchen) +"aJf" = (/obj/machinery/light/small{dir = 1},/obj/structure/closet/crate{desc = "It's a storage unit for kitchen clothes and equipment."; name = "Kitchen Crate"},/obj/item/clothing/head/chefhat,/obj/item/clothing/under/rank/chef,/obj/item/weapon/storage/box/mousetraps{pixel_x = 5; pixel_y = 5},/obj/item/weapon/storage/box/mousetraps,/obj/item/clothing/under/waiter,/obj/item/clothing/under/waiter,/obj/item/clothing/under/sundress,/obj/item/device/eftpos{eftpos_name = "Kitchen EFTPOS scanner"},/turf/simulated/floor{icon_state = "showroomfloor"},/area/crew_quarters/kitchen) +"aJg" = (/obj/machinery/atmospherics/pipe/simple{color = "blue"; icon_state = "intact-b-f"; level = 1; name = "pipe"},/obj/structure/sink/kitchen{pixel_y = 28},/turf/simulated/floor{icon_state = "showroomfloor"},/area/crew_quarters/kitchen) "aJh" = (/obj/machinery/navbeacon{codes_txt = "delivery;dir=2"; freq = 1400; location = "Hydroponics"},/obj/structure/plasticflaps{opacity = 1},/turf/simulated/floor{icon_state = "bot"; dir = 1},/area/hydroponics) "aJi" = (/turf/simulated/wall,/area/hydroponics) "aJj" = (/obj/structure/disposalpipe/segment,/obj/machinery/door/airlock/maintenance{name = "Hydroponics Maintenance"; req_access_txt = "35"},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/obj/machinery/atmospherics/pipe/simple{color = "blue"; icon_state = "intact-b-f"; level = 1; name = "pipe"},/turf/simulated/floor/plating,/area/hydroponics) @@ -1887,33 +1887,33 @@ "aKo" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 4},/turf/simulated/floor/plating,/area/hallway/primary/central) "aKp" = (/obj/machinery/vending/snack,/turf/simulated/floor{icon_state = "dark"},/area/hallway/primary/central) "aKq" = (/turf/simulated/floor{icon_state = "neutral"; dir = 4},/area/hallway/primary/central) -"aKr" = (/obj/machinery/light_switch{pixel_y = 28},/obj/machinery/light{dir = 1},/obj/machinery/power/apc{dir = 8; name = "Theatre APC"; pixel_x = -25},/obj/structure/cable{icon_state = "0-2"; d2 = 2},/turf/simulated/floor{tag = "icon-cult"; icon_state = "cult"; dir = 2},/area/crew_quarters/theatre) -"aKs" = (/turf/simulated/floor{tag = "icon-cult"; icon_state = "cult"; dir = 2},/area/crew_quarters/theatre) -"aKt" = (/obj/machinery/alarm{dir = 2; pixel_y = 24},/turf/simulated/floor{tag = "icon-cult"; icon_state = "cult"; dir = 2},/area/crew_quarters/theatre) -"aKu" = (/obj/item/device/radio/intercom{pixel_y = 25},/obj/machinery/camera{c_tag = "Theatre Stage"; dir = 2},/obj/machinery/atmospherics/unary/vent_pump{dir = 1; on = 1},/turf/simulated/floor{tag = "icon-cult"; icon_state = "cult"; dir = 2},/area/crew_quarters/theatre) -"aKv" = (/obj/structure/window/reinforced{dir = 4},/obj/machinery/light{dir = 1},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/turf/simulated/floor{tag = "icon-cult"; icon_state = "cult"; dir = 2},/area/crew_quarters/theatre) +"aKr" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/turf/simulated/wall,/area/crew_quarters/bar) +"aKs" = (/obj/machinery/atmospherics/pipe/simple{color = "blue"; icon_state = "intact-b-f"; level = 1; name = "pipe"},/turf/simulated/wall,/area/crew_quarters/bar) +"aKt" = (/obj/machinery/door/airlock{name = "Theatre Backstage"; req_access_txt = "46"},/obj/structure/disposalpipe/segment,/turf/simulated/floor,/area/crew_quarters/bar) +"aKu" = (/obj/machinery/door/window{dir = 4; name = "Theatre Stage"; req_access_txt = "0"},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/turf/simulated/floor{icon_state = "grimy"},/area/crew_quarters/bar) +"aKv" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 5},/obj/structure/kitchenspike,/turf/simulated/floor{icon_state = "showroomfloor"},/area/crew_quarters/kitchen) "aKw" = (/obj/machinery/power/apc{dir = 1; name = "Bar APC"; pixel_y = 24},/obj/structure/cable{icon_state = "0-4"; d2 = 4},/obj/structure/stool/bed/chair/comfy/brown{tag = "icon-comfychair_brown (EAST)"; icon_state = "comfychair_brown"; dir = 4},/turf/simulated/floor/carpet,/area/crew_quarters/bar) -"aKx" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/obj/structure/cable{d1 = 1; d2 = 8; icon_state = "1-8"; tag = ""},/obj/structure/disposalpipe/segment,/turf/simulated/floor/carpet,/area/crew_quarters/bar) +"aKx" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden,/turf/simulated/floor{icon_state = "grimy"},/area/crew_quarters/bar) "aKy" = (/obj/machinery/firealarm{dir = 2; pixel_y = 24},/obj/structure/stool/bed/chair/comfy/brown{dir = 8},/turf/simulated/floor/carpet,/area/crew_quarters/bar) -"aKz" = (/obj/machinery/reagentgrinder,/obj/structure/table/woodentable,/obj/machinery/atmospherics/pipe/simple{color = "blue"; icon_state = "intact-b-f"; level = 1; name = "pipe"},/obj/structure/sign/securearea{desc = "Under the painting a plaque reads: 'While the meat grinder may not have spared you, fear not. Not one part of you has gone to waste... You were delicious.'"; icon_state = "monkey_painting"; name = "Mr. Deempisi portrait"; pixel_x = -28; pixel_y = 4},/turf/simulated/floor/wood,/area/crew_quarters/bar) -"aKA" = (/obj/structure/disposalpipe/segment,/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 5},/turf/simulated/floor/wood,/area/crew_quarters/bar) +"aKz" = (/obj/structure/sink{icon_state = "sink"; dir = 8; pixel_x = -12; pixel_y = 2},/turf/simulated/floor{icon_state = "grimy"},/area/crew_quarters/bar) +"aKA" = (/obj/machinery/atmospherics/pipe/simple{color = "blue"; icon_state = "intact-b-f"; level = 1; name = "pipe"},/turf/simulated/floor/grass,/area/hydroponics) "aKB" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/turf/simulated/floor/wood,/area/crew_quarters/bar) -"aKC" = (/obj/machinery/atmospherics/unary/vent_scrubber{dir = 8; on = 1; scrub_Toxins = 0},/obj/machinery/light/small{dir = 1},/obj/machinery/camera{c_tag = "Bar Storage"},/turf/simulated/floor/wood,/area/crew_quarters/bar) +"aKC" = (/mob/living/simple_animal/cow{name = "Betsy"},/turf/simulated/floor/grass,/area/hydroponics) "aKD" = (/turf/simulated/floor/wood,/area/crew_quarters/bar) -"aKE" = (/obj/structure/closet/secure_closet/freezer/meat,/turf/simulated/floor{icon_state = "showroomfloor"},/area/crew_quarters/kitchen) -"aKF" = (/obj/structure/disposalpipe/segment,/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/turf/simulated/floor{icon_state = "showroomfloor"},/area/crew_quarters/kitchen) -"aKG" = (/obj/structure/window/reinforced{dir = 4},/obj/machinery/camera{c_tag = "Kitchen Cold Room"},/obj/machinery/chem_master/condimaster{name = "CondiMaster Neo"; pixel_x = -5},/turf/simulated/floor{icon_state = "showroomfloor"},/area/crew_quarters/kitchen) -"aKH" = (/obj/machinery/door/window/southleft{base_state = "left"; dir = 2; icon_state = "left"; name = "Kitchen Delivery"; req_access_txt = "28"},/obj/machinery/atmospherics/pipe/simple{color = "blue"; icon_state = "intact-b-f"; level = 1; name = "pipe"},/obj/structure/window/reinforced{dir = 8},/turf/simulated/floor{icon_state = "delivery"},/area/crew_quarters/kitchen) -"aKI" = (/obj/machinery/door/window/eastright{name = "Hydroponics Delivery"; req_access_txt = "35"},/turf/simulated/floor{icon_state = "delivery"},/area/hydroponics) +"aKE" = (/obj/structure/flora/ausbushes/sparsegrass,/turf/simulated/floor/grass,/area/hydroponics) +"aKF" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 1},/turf/simulated/floor/plating,/area/hydroponics) +"aKG" = (/obj/machinery/atmospherics/pipe/simple{color = "blue"; icon_state = "intact-b-f"; level = 1; name = "pipe"},/obj/structure/disposalpipe/segment,/obj/machinery/door/firedoor/border_only,/obj/machinery/door/airlock/glass{name = "Hydroponics"; req_access_txt = "35"},/turf/simulated/floor,/area/hydroponics) +"aKH" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/turf/simulated/floor{icon_state = "showroomfloor"},/area/crew_quarters/kitchen) +"aKI" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/obj/machinery/gibber,/turf/simulated/floor{icon_state = "showroomfloor"},/area/crew_quarters/kitchen) "aKJ" = (/turf/simulated/floor{icon_state = "hydrofloor"},/area/hydroponics) -"aKK" = (/obj/machinery/atmospherics/unary/vent_pump{dir = 4; on = 1},/obj/structure/sink{pixel_y = 30},/turf/simulated/floor{icon_state = "hydrofloor"},/area/hydroponics) +"aKK" = (/obj/machinery/atmospherics/unary/vent_pump{dir = 8; layer = 2.4; level = 2; on = 1},/obj/structure/closet/crate/freezer,/turf/simulated/floor{icon_state = "showroomfloor"},/area/crew_quarters/kitchen) "aKL" = (/obj/structure/cable{d1 = 1; d2 = 4; icon_state = "1-4"; tag = ""},/obj/structure/disposalpipe/segment,/obj/machinery/atmospherics/pipe/manifold{color = "blue"; dir = 4; icon_state = "manifold-b-f"; initialize_directions = 11; level = 1; name = "pipe manifold"},/turf/simulated/floor{icon_state = "hydrofloor"},/area/hydroponics) "aKM" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/obj/structure/closet/secure_closet/hydroponics,/turf/simulated/floor{icon_state = "hydrofloor"},/area/hydroponics) "aKN" = (/obj/item/device/radio/intercom{pixel_y = 25},/obj/structure/closet/secure_closet/hydroponics,/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/turf/simulated/floor{icon_state = "hydrofloor"},/area/hydroponics) "aKO" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/obj/machinery/atmospherics/pipe/manifold{color = "red"; dir = 8; icon_state = "manifold-r-f"; initialize_directions = 11; level = 1; name = "pipe manifold"},/obj/structure/closet/secure_closet/hydroponics,/turf/simulated/floor{icon_state = "hydrofloor"},/area/hydroponics) -"aKP" = (/obj/machinery/alarm{pixel_y = 24},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/obj/machinery/atmospherics/unary/vent_scrubber{dir = 8; on = 1; scrub_Toxins = 0},/obj/machinery/camera{c_tag = "Hydroponics Storage"},/turf/simulated/floor{icon_state = "hydrofloor"},/area/hydroponics) -"aKQ" = (/obj/machinery/power/apc{dir = 1; name = "Hydroponics APC"; pixel_y = 24},/obj/structure/cable{d2 = 8; icon_state = "0-8"},/turf/simulated/floor{icon_state = "hydrofloor"},/area/hydroponics) -"aKR" = (/obj/structure/table,/obj/item/weapon/book/manual/hydroponics_pod_people,/obj/item/weapon/paper/hydroponics,/obj/item/device/eftpos{eftpos_name = "Botany EFTPOS scanner"},/obj/item/weapon/book/manual/hydroponics_beekeeping,/turf/simulated/floor{icon_state = "hydrofloor"},/area/hydroponics) +"aKP" = (/obj/structure/disposalpipe/segment,/turf/simulated/floor{icon_state = "showroomfloor"},/area/crew_quarters/kitchen) +"aKQ" = (/obj/structure/closet/crate/freezer,/turf/simulated/floor{icon_state = "hydrofloor"},/area/hydroponics) +"aKR" = (/turf/simulated/floor/grass,/obj/structure/disposalpipe/segment,/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/turf/simulated/floor{tag = "icon-siding8 (NORTH)"; icon_state = "siding8"; dir = 1},/area/hydroponics) "aKS" = (/obj/structure/disposalpipe/segment,/obj/machinery/atmospherics/pipe/manifold{color = "red"; dir = 8; icon_state = "manifold-r-f"; initialize_directions = 11; level = 1; name = "pipe manifold"},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/turf/simulated/floor/plating,/area/maintenance/fsmaint2) "aKT" = (/obj/machinery/atmospherics/pipe/simple{color = "blue"; icon_state = "intact-b-f"; level = 1; name = "pipe"},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/turf/simulated/wall,/area/library) "aKU" = (/obj/machinery/atmospherics/unary/vent_scrubber{dir = 8; on = 1; scrub_Toxins = 0},/obj/machinery/light{dir = 8},/obj/machinery/alarm{dir = 4; icon_state = "alarm0"; pixel_x = -22},/turf/simulated/floor/wood,/area/library) @@ -1979,28 +1979,28 @@ "aMc" = (/obj/machinery/light{dir = 1},/turf/simulated/floor,/area/hallway/primary/central) "aMd" = (/obj/machinery/firealarm{dir = 2; pixel_y = 24},/turf/simulated/floor,/area/hallway/primary/central) "aMe" = (/obj/machinery/alarm{pixel_y = 23},/turf/simulated/floor,/area/hallway/primary/central) -"aMf" = (/obj/structure/device/piano{icon_state = "piano"; name = "space piano"},/turf/simulated/floor{tag = "icon-cult"; icon_state = "cult"; dir = 2},/area/crew_quarters/theatre) -"aMg" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden,/obj/structure/stool{pixel_y = 8},/turf/simulated/floor{tag = "icon-cult"; icon_state = "cult"; dir = 2},/area/crew_quarters/theatre) -"aMh" = (/obj/structure/cable{d1 = 1; d2 = 4; icon_state = "1-4"; tag = ""},/turf/simulated/floor{tag = "icon-cult"; icon_state = "cult"; dir = 2},/area/crew_quarters/theatre) -"aMi" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; tag = ""},/turf/simulated/floor{tag = "icon-cult"; icon_state = "cult"; dir = 2},/area/crew_quarters/theatre) -"aMj" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; tag = ""},/obj/structure/window/reinforced{dir = 4},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/turf/simulated/floor{tag = "icon-cult"; icon_state = "cult"; dir = 2},/area/crew_quarters/theatre) -"aMk" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; tag = ""},/obj/structure/stool/bed/chair/comfy/brown{tag = "icon-comfychair_brown (EAST)"; icon_state = "comfychair_brown"; dir = 4},/turf/simulated/floor/carpet,/area/crew_quarters/bar) +"aMf" = (/turf/simulated/floor{tag = "icon-asteroid (NORTH)"; icon_state = "asteroid"; dir = 1},/turf/simulated/floor{tag = "icon-siding2 (NORTH)"; icon_state = "siding2"; dir = 1},/turf/simulated/floor{tag = "icon-siding1 (NORTH)"; icon_state = "siding1"; dir = 1},/area/hydroponics) +"aMg" = (/obj/machinery/door/window/eastright{base_state = "left"; dir = 8; icon_state = "left"; name = "Hydroponics Pasture"; req_access_txt = "35"},/turf/simulated/floor{icon_state = "hydrofloor"},/area/hydroponics) +"aMh" = (/turf/simulated/floor{tag = "icon-asteroid (NORTH)"; icon_state = "asteroid"; dir = 1},/turf/simulated/floor{tag = "icon-siding2 (NORTH)"; icon_state = "siding2"; dir = 1},/obj/machinery/atmospherics/pipe/simple{color = "blue"; icon_state = "intact-b-f"; level = 1; name = "pipe"},/turf/simulated/floor{tag = "icon-siding1 (NORTH)"; icon_state = "siding1"; dir = 1},/area/hydroponics) +"aMi" = (/obj/structure/extinguisher_cabinet{pixel_x = -5; pixel_y = -31},/obj/machinery/light,/turf/simulated/floor{icon_state = "hydrofloor"},/area/hydroponics) +"aMj" = (/obj/machinery/atmospherics/pipe/simple{color = "blue"; icon_state = "intact-b-f"; level = 1; name = "pipe"},/obj/structure/disposalpipe/segment,/turf/simulated/floor{icon_state = "hydrofloor"},/area/hydroponics) +"aMk" = (/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor{icon_state = "showroomfloor"},/area/crew_quarters/kitchen) "aMl" = (/obj/structure/cable{d1 = 1; d2 = 8; icon_state = "1-8"; tag = ""},/obj/structure/disposalpipe/segment,/turf/simulated/floor/carpet,/area/crew_quarters/bar) "aMm" = (/obj/structure/stool/bed/chair/comfy/brown{dir = 8},/turf/simulated/floor/carpet,/area/crew_quarters/bar) -"aMn" = (/obj/machinery/alarm{dir = 4; icon_state = "alarm0"; pixel_x = -22},/obj/machinery/light/small{dir = 8},/obj/structure/reagent_dispensers/beerkeg,/obj/machinery/atmospherics/unary/vent_pump{dir = 1; on = 1},/turf/simulated/floor/wood,/area/crew_quarters/bar) -"aMo" = (/obj/structure/disposalpipe/segment,/obj/effect/landmark{name = "xeno_spawn"; pixel_x = -1},/turf/simulated/floor/wood,/area/crew_quarters/bar) -"aMp" = (/obj/machinery/atmospherics/unary/vent_scrubber{dir = 4; icon_state = "off"; on = 1; scrub_N2O = 0; scrub_Toxins = 0},/turf/simulated/floor{icon_state = "showroomfloor"},/area/crew_quarters/kitchen) -"aMq" = (/obj/structure/disposalpipe/segment,/obj/machinery/atmospherics/pipe/manifold{color = "red"; dir = 4; icon_state = "manifold-r-f"; initialize_directions = 11; level = 1; name = "pipe manifold"},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/turf/simulated/floor{icon_state = "showroomfloor"},/area/crew_quarters/kitchen) +"aMn" = (/obj/structure/disposalpipe/segment{dir = 2; icon_state = "pipe-c"},/turf/simulated/floor{icon_state = "showroomfloor"},/area/crew_quarters/kitchen) +"aMo" = (/obj/effect/landmark{name = "xeno_spawn"; pixel_x = -1},/obj/structure/disposalpipe/segment{dir = 1; icon_state = "pipe-c"},/turf/simulated/floor{icon_state = "showroomfloor"},/area/crew_quarters/kitchen) +"aMp" = (/turf/simulated/floor{tag = "icon-asteroid (NORTH)"; icon_state = "asteroid"; dir = 1},/turf/simulated/floor{tag = "icon-siding2 (NORTH)"; icon_state = "siding2"; dir = 1},/obj/structure/disposalpipe/segment,/obj/machinery/atmospherics/pipe/manifold{color = "red"; dir = 4; icon_state = "manifold-r-f"; initialize_directions = 11; level = 1; name = "pipe manifold"},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/turf/simulated/floor{tag = "icon-siding1 (NORTH)"; icon_state = "siding1"; dir = 1},/area/hydroponics) +"aMq" = (/obj/machinery/atmospherics/unary/vent_scrubber{dir = 4; icon_state = "off"; on = 1; scrub_N2O = 0; scrub_Toxins = 0},/obj/structure/sink{icon_state = "sink"; dir = 8; pixel_x = -12; pixel_y = 2},/turf/simulated/floor{icon_state = "hydrofloor"},/area/hydroponics) "aMr" = (/turf/simulated/floor{icon_state = "showroomfloor"},/area/crew_quarters/kitchen) -"aMs" = (/obj/machinery/atmospherics/pipe/simple{color = "blue"; icon_state = "intact-b-f"; level = 1; name = "pipe"},/turf/simulated/floor{icon_state = "showroomfloor"},/area/crew_quarters/kitchen) -"aMt" = (/obj/structure/closet/crate/hydroponics,/obj/item/weapon/shovel/spade,/obj/item/weapon/wrench,/obj/item/weapon/screwdriver,/obj/item/weapon/reagent_containers/glass/bucket,/turf/simulated/floor{icon_state = "hydrofloor"},/area/hydroponics) -"aMu" = (/obj/machinery/atmospherics/pipe/simple{color = "blue"; icon_state = "intact-b-f"; level = 1; name = "pipe"},/obj/structure/disposalpipe/segment{dir = 1; icon_state = "pipe-c"},/turf/simulated/floor{icon_state = "hydrofloor"},/area/hydroponics) -"aMv" = (/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor{icon_state = "hydrofloor"},/area/hydroponics) -"aMw" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/structure/extinguisher_cabinet{pixel_x = -5; pixel_y = -31},/obj/machinery/light,/turf/simulated/floor{icon_state = "hydrofloor"},/area/hydroponics) -"aMx" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 5},/obj/machinery/firealarm{dir = 1; pixel_y = -24},/turf/simulated/floor{icon_state = "hydrofloor"},/area/hydroponics) -"aMy" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor{icon_state = "hydrofloor"},/area/hydroponics) -"aMz" = (/obj/structure/disposalpipe/segment{dir = 2; icon_state = "pipe-c"},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 10},/turf/simulated/floor{icon_state = "hydrofloor"},/area/hydroponics) -"aMA" = (/obj/structure/table,/obj/item/weapon/reagent_containers/spray/plantbgone{pixel_x = 0; pixel_y = 3},/obj/item/weapon/reagent_containers/spray/plantbgone{pixel_x = 8; pixel_y = 8},/obj/item/weapon/reagent_containers/spray/plantbgone{pixel_x = 13; pixel_y = 5},/turf/simulated/floor{icon_state = "hydrofloor"},/area/hydroponics) +"aMs" = (/obj/structure/stool/bed/chair/comfy/brown{tag = "icon-comfychair_brown (EAST)"; icon_state = "comfychair_brown"; dir = 4},/turf/simulated/floor/carpet,/area/crew_quarters/bar) +"aMt" = (/obj/structure/window/reinforced{dir = 4},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/obj/structure/table/reinforced,/obj/item/clothing/head/that{pixel_x = 4; pixel_y = 6},/obj/item/weapon/lighter/zippo,/turf/simulated/floor{icon_state = "grimy"},/area/crew_quarters/bar) +"aMu" = (/obj/machinery/alarm{dir = 4; icon_state = "alarm0"; pixel_x = -22},/obj/machinery/light/small{dir = 8},/obj/machinery/atmospherics/pipe/simple/supply/hidden,/obj/structure/kitchenspike,/turf/simulated/floor{icon_state = "showroomfloor"},/area/crew_quarters/kitchen) +"aMv" = (/obj/structure/disposalpipe/segment{dir = 4},/mob/living/carbon/monkey{tag = "icon-punpun1"; name = "Pun Pun"; icon_state = "punpun1"},/turf/simulated/floor{icon_state = "grimy"},/area/crew_quarters/bar) +"aMw" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden,/obj/structure/table/reinforced,/obj/item/weapon/packageWrap,/obj/item/weapon/pen/blue{pixel_x = 0; pixel_y = 4},/obj/machinery/firealarm{dir = 2; pixel_y = 24},/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor{icon_state = "grimy"},/area/crew_quarters/bar) +"aMx" = (/obj/machinery/disposal,/obj/structure/disposalpipe/trunk{dir = 4},/turf/simulated/floor{icon_state = "grimy"},/area/crew_quarters/bar) +"aMy" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/turf/simulated/floor{icon_state = "hydrofloor"},/area/hydroponics) +"aMz" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 5},/obj/machinery/firealarm{dir = 1; pixel_y = -24},/turf/simulated/floor{icon_state = "hydrofloor"},/area/hydroponics) +"aMA" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 10},/turf/simulated/floor{icon_state = "hydrofloor"},/area/hydroponics) "aMB" = (/obj/machinery/atmospherics/pipe/manifold{color = "blue"; dir = 8; icon_state = "manifold-b-f"; level = 1; name = "pipe manifold"},/turf/simulated/wall,/area/library) "aMC" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/turf/simulated/floor/wood,/area/library) "aMD" = (/obj/structure/stool/bed/chair/office/dark{dir = 1},/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/turf/simulated/floor/wood,/area/library) @@ -2045,21 +2045,21 @@ "aNq" = (/turf/simulated/floor{desc = ""; icon_state = "L14"},/area/hallway/primary/central) "aNr" = (/turf/simulated/floor{icon_state = "L16"},/area/hallway/primary/central) "aNs" = (/obj/machinery/navbeacon{codes_txt = "patrol;next_patrol=EVA2"; location = "Dorm"},/turf/simulated/floor,/area/hallway/primary/central) -"aNt" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden,/turf/simulated/floor{tag = "icon-cult"; icon_state = "cult"; dir = 2},/area/crew_quarters/theatre) -"aNu" = (/obj/machinery/door/window{dir = 4; name = "Theatre Stage"; req_access_txt = "0"},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/turf/simulated/floor{tag = "icon-cult"; icon_state = "cult"; dir = 2},/area/crew_quarters/theatre) +"aNt" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 8},/turf/simulated/floor/plating,/area/crew_quarters/kitchen) +"aNu" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/obj/structure/stool/bed/chair/wood/wings{tag = "icon-wooden_chair_wings (EAST)"; icon_state = "wooden_chair_wings"; dir = 4},/turf/simulated/floor/wood,/area/crew_quarters/bar) "aNv" = (/turf/simulated/floor/carpet,/area/crew_quarters/bar) "aNw" = (/obj/structure/disposalpipe/segment,/turf/simulated/floor/carpet,/area/crew_quarters/bar) "aNx" = (/obj/machinery/light/small{dir = 4},/obj/machinery/computer/security/telescreen/entertainment{pixel_x = 32},/obj/structure/table/woodentable,/obj/item/ashtray/bronze{pixel_x = -1; pixel_y = 1},/turf/simulated/floor/carpet,/area/crew_quarters/bar) -"aNy" = (/obj/structure/closet/secure_closet/bar{req_access_txt = "25"},/turf/simulated/floor/wood,/area/crew_quarters/bar) +"aNy" = (/obj/structure/disposalpipe/segment,/obj/structure/table/woodentable,/obj/item/weapon/dice,/turf/simulated/floor/wood,/area/crew_quarters/bar) "aNz" = (/obj/structure/disposalpipe/segment,/turf/simulated/floor/wood,/area/crew_quarters/bar) "aNA" = (/obj/machinery/vending/cola,/turf/simulated/floor/wood,/area/crew_quarters/bar) "aNB" = (/obj/machinery/vending/coffee,/turf/simulated/floor/wood,/area/crew_quarters/bar) -"aNC" = (/obj/effect/landmark{name = "blobstart"},/obj/structure/closet/gmcloset{icon_closed = "black"; icon_state = "black"; name = "formal wardrobe"},/obj/item/device/eftpos{eftpos_name = "Bar EFTPOS scanner"},/turf/simulated/floor/wood,/area/crew_quarters/bar) -"aND" = (/obj/structure/kitchenspike,/obj/machinery/light/small{dir = 8},/turf/simulated/floor{icon_state = "showroomfloor"},/area/crew_quarters/kitchen) -"aNE" = (/obj/structure/closet/crate{desc = "It's a storage unit for kitchen clothes and equipment."; name = "Kitchen Crate"},/obj/item/clothing/head/chefhat,/obj/item/clothing/under/rank/chef,/obj/item/weapon/storage/box/mousetraps{pixel_x = 5; pixel_y = 5},/obj/item/weapon/storage/box/mousetraps,/obj/item/clothing/under/waiter,/obj/item/clothing/under/waiter,/obj/machinery/light/small{dir = 4},/obj/machinery/alarm{dir = 8; icon_state = "alarm0"; pixel_x = 24},/obj/item/clothing/under/sundress,/obj/item/device/eftpos{eftpos_name = "Kitchen EFTPOS scanner"},/turf/simulated/floor{icon_state = "showroomfloor"},/area/crew_quarters/kitchen) +"aNC" = (/obj/structure/table/woodentable,/obj/item/device/camera,/turf/simulated/floor/wood,/area/crew_quarters/bar) +"aND" = (/obj/structure/table/woodentable,/obj/item/clothing/head/cakehat,/turf/simulated/floor/wood,/area/crew_quarters/bar) +"aNE" = (/obj/structure/table/woodentable,/obj/item/weapon/dice/d20,/turf/simulated/floor/wood,/area/crew_quarters/bar) "aNF" = (/obj/machinery/atmospherics/pipe/simple{color = "blue"; icon_state = "intact-b-f"; level = 1; name = "pipe"},/turf/simulated/wall,/area/hydroponics) "aNG" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 8},/turf/simulated/floor/plating,/area/hydroponics) -"aNH" = (/obj/machinery/door/firedoor/border_only,/obj/machinery/door/airlock/glass{name = "Hydroponics"; req_access_txt = "35"},/obj/structure/disposalpipe/segment,/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/turf/simulated/floor,/area/hydroponics) +"aNH" = (/obj/structure/disposalpipe/segment,/obj/structure/table/woodentable,/obj/item/device/taperecorder{pixel_y = 0},/turf/simulated/floor/wood,/area/crew_quarters/bar) "aNI" = (/obj/machinery/bookbinder{pixel_y = 0},/turf/simulated/floor/wood,/area/library) "aNJ" = (/obj/structure/disposalpipe/segment,/turf/simulated/floor/wood,/area/library) "aNK" = (/obj/machinery/photocopier,/turf/simulated/floor/wood,/area/library) @@ -2105,21 +2105,21 @@ "aOy" = (/obj/machinery/light,/turf/simulated/floor{dir = 8; icon_state = "bluecorner"},/area/hallway/primary/central) "aOz" = (/obj/structure/sign/securearea{desc = "A warning sign which reads 'HIGH VOLTAGE'"; icon_state = "shock"; name = "HIGH VOLTAGE"; pixel_y = -32},/turf/simulated/floor{dir = 8; icon_state = "bluecorner"},/area/hallway/primary/central) "aOA" = (/obj/machinery/door/firedoor/border_only{dir = 8; name = "Firelock West"},/turf/simulated/floor{dir = 8; icon_state = "bluecorner"},/area/hallway/primary/central) -"aOB" = (/obj/structure/window/reinforced,/turf/simulated/floor{tag = "icon-cult"; icon_state = "cult"; dir = 2},/area/crew_quarters/theatre) -"aOC" = (/obj/structure/window/reinforced,/obj/machinery/atmospherics/pipe/simple/supply/hidden,/turf/simulated/floor{tag = "icon-cult"; icon_state = "cult"; dir = 2},/area/crew_quarters/theatre) -"aOD" = (/obj/structure/window/reinforced,/obj/machinery/atmospherics/unary/vent_scrubber{dir = 4; icon_state = "off"; on = 1; scrub_N2O = 0; scrub_Toxins = 0},/turf/simulated/floor{tag = "icon-cult"; icon_state = "cult"; dir = 2},/area/crew_quarters/theatre) -"aOE" = (/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 4},/obj/machinery/atmospherics/pipe/manifold{color = "red"; dir = 4; icon_state = "manifold-r-f"; initialize_directions = 11; level = 1; name = "pipe manifold"},/turf/simulated/floor{tag = "icon-cult"; icon_state = "cult"; dir = 2},/area/crew_quarters/theatre) +"aOB" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 1},/turf/simulated/floor/plating,/area/crew_quarters/kitchen) +"aOC" = (/obj/machinery/disposal,/obj/structure/disposalpipe/trunk{dir = 8},/obj/machinery/alarm{dir = 8; icon_state = "alarm0"; pixel_x = 24},/turf/simulated/floor{tag = "icon-cafeteria (NORTHEAST)"; icon_state = "cafeteria"; dir = 5},/area/crew_quarters/kitchen) +"aOD" = (/obj/machinery/door/firedoor/border_only{dir = 4; name = "Firelock East"},/obj/machinery/door/airlock/glass{name = "Kitchen"; req_access_txt = "28"},/turf/simulated/floor{tag = "icon-cafeteria (NORTHEAST)"; icon_state = "cafeteria"; dir = 5},/area/crew_quarters/kitchen) +"aOE" = (/obj/structure/stool/bed/chair/wood/wings{tag = "icon-wooden_chair_wings (NORTH)"; icon_state = "wooden_chair_wings"; dir = 1},/turf/simulated/floor/wood,/area/crew_quarters/bar) "aOF" = (/obj/machinery/vending/cigarette{pixel_x = 0; pixel_y = 0},/turf/simulated/floor/carpet,/area/crew_quarters/bar) -"aOG" = (/obj/machinery/door/airlock{name = "Bar Storage"; req_access_txt = "25"},/obj/structure/disposalpipe/segment,/turf/simulated/floor{icon_state = "wood"},/area/crew_quarters/bar) -"aOH" = (/obj/structure/kitchenspike,/turf/simulated/floor{icon_state = "showroomfloor"},/area/crew_quarters/kitchen) -"aOI" = (/obj/machinery/atmospherics/unary/vent_pump{dir = 4; on = 1},/turf/simulated/floor{icon_state = "showroomfloor"},/area/crew_quarters/kitchen) -"aOJ" = (/obj/machinery/atmospherics/pipe/manifold{color = "blue"; dir = 4; icon_state = "manifold-b-f"; initialize_directions = 11; level = 1; name = "pipe manifold"},/turf/simulated/floor{icon_state = "showroomfloor"},/area/crew_quarters/kitchen) -"aOK" = (/obj/machinery/gibber,/turf/simulated/floor{icon_state = "showroomfloor"},/area/crew_quarters/kitchen) +"aOG" = (/obj/structure/disposalpipe/segment,/obj/structure/stool/bed/chair/wood/wings{tag = "icon-wooden_chair_wings (NORTH)"; icon_state = "wooden_chair_wings"; dir = 1},/turf/simulated/floor/wood,/area/crew_quarters/bar) +"aOH" = (/obj/structure/table/reinforced,/obj/item/weapon/reagent_containers/food/snacks/pie,/turf/simulated/floor{icon_state = "grimy"},/area/crew_quarters/bar) +"aOI" = (/turf/simulated/floor{icon_state = "freezerfloor"},/area/crew_quarters/fitness) +"aOJ" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/turf/simulated/floor{icon_state = "red"; dir = 4},/area/crew_quarters/fitness) +"aOK" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/turf/simulated/floor{icon_state = "freezerfloor"},/area/crew_quarters/fitness) "aOL" = (/obj/structure/sink{icon_state = "sink"; dir = 8; pixel_x = -12; pixel_y = 2},/turf/simulated/floor{icon_state = "dark"},/area/hydroponics) -"aOM" = (/obj/machinery/atmospherics/pipe/simple{color = "blue"; icon_state = "intact-b-f"; level = 1; name = "pipe"},/obj/machinery/requests_console{department = "Hydroponics"; departmentType = 2; pixel_x = 0; pixel_y = 30},/turf/simulated/floor{icon_state = "dark"},/area/hydroponics) +"aOM" = (/obj/machinery/atmospherics/pipe/manifold{color = "blue"; dir = 1; icon_state = "manifold-b-f"; level = 1; name = "pipe manifold"},/turf/simulated/floor{icon_state = "white"},/area/crew_quarters/fitness) "aON" = (/obj/machinery/hydroponics,/turf/simulated/floor{icon_state = "dark"},/area/hydroponics) "aOO" = (/obj/machinery/hydroponics,/obj/machinery/camera{c_tag = "Hydroponics North"; dir = 2},/turf/simulated/floor{icon_state = "dark"},/area/hydroponics) -"aOP" = (/obj/structure/disposalpipe/segment{dir = 1; icon_state = "pipe-c"},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/turf/simulated/floor{icon_state = "dark"},/area/hydroponics) +"aOP" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 5},/turf/simulated/floor{icon_state = "freezerfloor"},/area/crew_quarters/fitness) "aOQ" = (/obj/machinery/disposal,/obj/structure/disposalpipe/trunk{dir = 8},/turf/simulated/floor{icon_state = "dark"},/area/hydroponics) "aOR" = (/obj/structure/bookcase{name = "bookcase (Religious)"},/turf/simulated/floor/wood,/area/library) "aOS" = (/turf/simulated/floor/carpet,/area/library) @@ -2173,21 +2173,21 @@ "aPO" = (/obj/machinery/door/poddoor{density = 0; icon_state = "pdoor0"; id = "bridge blast"; name = "Bridge Blast Doors"; opacity = 0},/obj/structure/grille,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 4},/obj/structure/cable{d2 = 8; icon_state = "0-8"},/turf/simulated/floor/plating,/area/bridge) "aPP" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 8},/turf/simulated/floor/plating,/area/hallway/primary/central) "aPQ" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 4},/turf/simulated/floor/plating,/area/hallway/primary/central) -"aPR" = (/obj/machinery/computer/security/telescreen/entertainment{pixel_x = -32},/obj/structure/table/woodentable,/obj/item/device/camera{pixel_x = -2; pixel_y = -2},/turf/simulated/floor/wood,/area/crew_quarters/bar) -"aPS" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden,/obj/structure/table/woodentable,/turf/simulated/floor/wood,/area/crew_quarters/bar) -"aPT" = (/obj/structure/table/woodentable,/turf/simulated/floor/wood,/area/crew_quarters/bar) -"aPU" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 5},/obj/structure/table/woodentable,/turf/simulated/floor/wood,/area/crew_quarters/bar) +"aPR" = (/obj/structure/stool/bed/chair{dir = 4},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/turf/simulated/floor{icon_state = "red"; dir = 4},/area/crew_quarters/fitness) +"aPS" = (/obj/structure/stool/bed/chair{dir = 4},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/turf/simulated/floor{icon_state = "green"; dir = 4},/area/crew_quarters/fitness) +"aPT" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 5},/turf/simulated/floor{icon_state = "green"; dir = 4},/area/crew_quarters/fitness) +"aPU" = (/obj/machinery/atmospherics/pipe/manifold{color = "red"; icon_state = "manifold-r-f"; level = 1; name = "pipe manifold"},/turf/simulated/floor{icon_state = "whitehall"; dir = 2},/area/crew_quarters/fitness) "aPV" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 10},/obj/structure/disposalpipe/segment,/turf/simulated/floor/wood,/area/crew_quarters/bar) -"aPW" = (/obj/machinery/disposal,/obj/structure/disposalpipe/trunk{dir = 4},/obj/item/device/radio/intercom{pixel_y = 25},/turf/simulated/floor{icon_state = "grimy"},/area/crew_quarters/bar) +"aPW" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden,/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/turf/simulated/floor{icon_state = "whitehall"; dir = 2},/area/crew_quarters/fitness) "aPX" = (/obj/structure/disposalpipe/segment{dir = 8; icon_state = "pipe-c"},/turf/simulated/floor{icon_state = "grimy"},/area/crew_quarters/bar) -"aPY" = (/obj/machinery/firealarm{dir = 4; pixel_x = 24},/obj/structure/table/reinforced,/obj/item/weapon/reagent_containers/food/drinks/flask/barflask,/obj/item/weapon/reagent_containers/food/drinks/flask/barflask,/obj/item/weapon/reagent_containers/food/drinks/flask/barflask,/obj/item/weapon/packageWrap,/obj/item/weapon/pen/blue{pixel_x = 0; pixel_y = 4},/turf/simulated/floor{icon_state = "grimy"},/area/crew_quarters/bar) -"aPZ" = (/obj/machinery/vending/dinnerware,/turf/simulated/floor{tag = "icon-cafeteria (NORTHEAST)"; icon_state = "cafeteria"; dir = 5},/area/crew_quarters/kitchen) -"aQa" = (/obj/machinery/door/airlock{name = "Kitchen cold room"; req_access_txt = "28"},/obj/structure/disposalpipe/segment,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/turf/simulated/floor{icon_state = "showroomfloor"},/area/crew_quarters/kitchen) -"aQb" = (/obj/machinery/atmospherics/pipe/simple{color = "blue"; icon_state = "intact-b-f"; level = 1; name = "pipe"},/turf/simulated/wall,/area/crew_quarters/kitchen) +"aPY" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/turf/simulated/floor{icon_state = "whitehall"; dir = 2},/area/crew_quarters/fitness) +"aPZ" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/turf/simulated/floor{tag = "icon-escapecorner (WEST)"; icon_state = "escapecorner"; dir = 8},/area/crew_quarters/fitness) +"aQa" = (/obj/machinery/light{dir = 1},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 10},/turf/simulated/floor{icon_state = "red"; dir = 4},/area/crew_quarters/fitness) +"aQb" = (/obj/machinery/light/small{dir = 8},/obj/item/weapon/storage/secure/safe{pixel_x = -22; pixel_y = 0},/turf/simulated/floor/wood,/area/crew_quarters/bar) "aQc" = (/obj/machinery/hydroponics,/obj/machinery/light{icon_state = "tube1"; dir = 8},/turf/simulated/floor{icon_state = "dark"},/area/hydroponics) -"aQd" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden,/turf/simulated/floor{dir = 9; icon_state = "green"},/area/hydroponics) -"aQe" = (/turf/simulated/floor{dir = 1; icon_state = "green"},/area/hydroponics) -"aQf" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/turf/simulated/floor{dir = 5; icon_state = "green"},/area/hydroponics) +"aQd" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/obj/structure/disposalpipe/junction,/turf/simulated/floor/plating,/area/maintenance/fsmaint2) +"aQe" = (/obj/machinery/door/airlock/maintenance{name = "Theatre Maintenance"; req_access_txt = "46"},/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor/plating,/area/crew_quarters/bar) +"aQf" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/obj/structure/sign/poster{pixel_x = 0; pixel_y = 0},/turf/simulated/wall,/area/crew_quarters/toilet) "aQg" = (/obj/machinery/hydroponics,/obj/machinery/light{dir = 4; icon_state = "tube1"},/turf/simulated/floor{icon_state = "dark"},/area/hydroponics) "aQh" = (/obj/structure/disposalpipe/segment,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/turf/simulated/floor/plating,/area/maintenance/fsmaint2) "aQi" = (/obj/machinery/light/small{dir = 8},/turf/simulated/floor/wood,/area/library) @@ -2254,22 +2254,22 @@ "aRr" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 8},/turf/simulated/floor/plating,/area/hallway/primary/central) "aRs" = (/obj/machinery/light{dir = 4; icon_state = "tube1"},/turf/simulated/floor,/area/hallway/primary/central) "aRt" = (/obj/machinery/status_display{density = 0; layer = 4; pixel_x = 0; pixel_y = 0},/turf/simulated/wall,/area/crew_quarters/bar) -"aRu" = (/obj/machinery/light{icon_state = "tube1"; dir = 8},/obj/structure/stool{pixel_y = 8},/turf/simulated/floor/wood,/area/crew_quarters/bar) +"aRu" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/obj/structure/disposalpipe/segment,/turf/simulated/floor/wood,/area/crew_quarters/bar) "aRv" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden,/obj/structure/stool{pixel_y = 8},/turf/simulated/floor/wood,/area/crew_quarters/bar) "aRw" = (/obj/structure/stool{pixel_y = 8},/turf/simulated/floor/wood,/area/crew_quarters/bar) "aRx" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/obj/structure/disposalpipe/segment,/turf/simulated/floor/wood,/area/crew_quarters/bar) -"aRy" = (/obj/structure/table/reinforced,/obj/structure/noticeboard{pixel_y = 32},/turf/simulated/floor{icon_state = "grimy"},/area/crew_quarters/bar) +"aRy" = (/obj/machinery/atmospherics/pipe/manifold{color = "red"; dir = 1; icon_state = "manifold-r-f"; level = 1; name = "pipe manifold"},/obj/structure/closet/gmcloset{icon_closed = "black"; icon_state = "black"; name = "formal wardrobe"},/obj/item/device/eftpos{eftpos_name = "Bar EFTPOS scanner"},/turf/simulated/floor/wood,/area/crew_quarters/bar) "aRz" = (/turf/simulated/floor{icon_state = "grimy"},/area/crew_quarters/bar) -"aRA" = (/obj/machinery/light{dir = 4; icon_state = "tube1"},/turf/simulated/floor{icon_state = "grimy"},/area/crew_quarters/bar) -"aRB" = (/obj/machinery/vending/boozeomat,/turf/simulated/floor{icon_state = "grimy"},/area/crew_quarters/bar) +"aRA" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/turf/simulated/wall,/area/crew_quarters/bar) +"aRB" = (/obj/machinery/alarm{dir = 4; icon_state = "alarm0"; pixel_x = -22},/obj/machinery/atmospherics/unary/vent_pump{on = 1},/turf/simulated/floor/wood,/area/crew_quarters/bar) "aRC" = (/turf/simulated/floor{tag = "icon-cafeteria (NORTHEAST)"; icon_state = "cafeteria"; dir = 5},/area/crew_quarters/kitchen) "aRD" = (/obj/structure/sink/kitchen{pixel_y = 28},/turf/simulated/floor{tag = "icon-cafeteria (NORTHEAST)"; icon_state = "cafeteria"; dir = 5},/area/crew_quarters/kitchen) -"aRE" = (/obj/structure/extinguisher_cabinet{pixel_x = -5; pixel_y = 30},/turf/simulated/floor{icon_state = "cafeteria"; dir = 2},/area/crew_quarters/kitchen) +"aRE" = (/obj/item/device/radio/intercom{pixel_x = 25},/obj/machinery/atmospherics/unary/vent_scrubber{dir = 1; on = 1; scrub_N2O = 0; scrub_Toxins = 0},/obj/structure/window/reinforced,/obj/structure/closet/secure_closet/bar{req_access_txt = "25"},/turf/simulated/floor/wood,/area/crew_quarters/bar) "aRF" = (/obj/structure/disposalpipe/segment,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/turf/simulated/floor{tag = "icon-cafeteria (NORTHEAST)"; icon_state = "cafeteria"; dir = 5},/area/crew_quarters/kitchen) -"aRG" = (/obj/item/device/radio/intercom{pixel_y = 25},/obj/machinery/camera{c_tag = "Kitchen"; dir = 2},/obj/structure/closet/secure_closet/freezer/fridge,/turf/simulated/floor{tag = "icon-cafeteria (NORTHEAST)"; icon_state = "cafeteria"; dir = 5},/area/crew_quarters/kitchen) -"aRH" = (/obj/structure/table,/obj/machinery/microwave{pixel_x = -3; pixel_y = 6},/obj/machinery/atmospherics/pipe/simple{color = "blue"; icon_state = "intact-b-f"; level = 1; name = "pipe"},/obj/machinery/alarm{pixel_y = 24},/obj/machinery/light{dir = 1},/turf/simulated/floor{icon_state = "cafeteria"; dir = 2},/area/crew_quarters/kitchen) +"aRG" = (/obj/structure/disposalpipe/segment{dir = 2; icon_state = "pipe-c"},/obj/machinery/atmospherics/pipe/simple{color = "red"; dir = 4; icon_state = "intact-r-f"; level = 1; name = "pipe"},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; tag = ""},/obj/structure/cable{d1 = 2; d2 = 4; icon_state = "2-4"; tag = ""},/turf/simulated/floor/plating,/area/maintenance/fsmaint2) +"aRH" = (/obj/machinery/atmospherics/pipe/simple{color = "red"; dir = 4; icon_state = "intact-r-f"; level = 1; name = "pipe"},/obj/structure/disposalpipe/segment{dir = 4},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; tag = ""},/turf/simulated/floor/plating,/area/maintenance/fsmaint2) "aRI" = (/obj/structure/table,/obj/machinery/microwave{pixel_x = -3; pixel_y = 6},/turf/simulated/floor{icon_state = "cafeteria"; dir = 2},/area/crew_quarters/kitchen) -"aRJ" = (/obj/structure/closet/secure_closet/freezer/kitchen,/turf/simulated/floor{tag = "icon-cafeteria (NORTHEAST)"; icon_state = "cafeteria"; dir = 5},/area/crew_quarters/kitchen) +"aRJ" = (/obj/machinery/atmospherics/pipe/simple{color = "blue"; dir = 4; icon_state = "intact-b-f"; level = 1; name = "pipe"},/turf/simulated/wall,/area/crew_quarters/kitchen) "aRK" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden,/turf/simulated/floor{icon_state = "green"; dir = 8},/area/hydroponics) "aRL" = (/turf/simulated/floor,/area/hydroponics) "aRM" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/turf/simulated/floor{icon_state = "green"; dir = 4},/area/hydroponics) @@ -2328,10 +2328,10 @@ "aSN" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden,/turf/simulated/floor/wood,/area/crew_quarters/bar) "aSO" = (/obj/structure/disposalpipe/segment{dir = 4; icon_state = "pipe-c"},/turf/simulated/floor/wood,/area/crew_quarters/bar) "aSP" = (/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor/wood,/area/crew_quarters/bar) -"aSQ" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/obj/structure/disposalpipe/segment{dir = 8; icon_state = "pipe-c"},/turf/simulated/floor/wood,/area/crew_quarters/bar) +"aSQ" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/obj/machinery/atmospherics/pipe/simple{color = "blue"; dir = 4; icon_state = "intact-b-f"; level = 1; name = "pipe"},/obj/structure/disposalpipe/segment,/obj/machinery/door/airlock/maintenance{name = "Bar Storage Maintenance"; req_access_txt = "25"},/turf/simulated/floor/plating,/area/crew_quarters/kitchen) "aSR" = (/obj/structure/table/reinforced,/turf/simulated/floor{icon_state = "grimy"},/area/crew_quarters/bar) -"aSS" = (/mob/living/carbon/monkey{name = "Pun Pun"},/turf/simulated/floor{icon_state = "grimy"},/area/crew_quarters/bar) -"aST" = (/obj/machinery/door/firedoor/border_only{dir = 8; name = "Firelock West"},/obj/machinery/door/airlock/glass{name = "Kitchen"; req_access_txt = "28"},/turf/simulated/floor{icon_state = "bar"},/area/crew_quarters/kitchen) +"aSS" = (/obj/machinery/atmospherics/pipe/simple{color = "blue"; dir = 4; icon_state = "intact-b-f"; level = 1; name = "pipe"},/obj/structure/plasticflaps{opacity = 1},/obj/machinery/navbeacon{codes_txt = "delivery;dir=2"; freq = 1400; location = "Kitchen"},/turf/simulated/floor{icon_state = "bot"; dir = 1},/area/crew_quarters/kitchen) +"aST" = (/obj/machinery/atmospherics/pipe/simple{color = "blue"; dir = 4; icon_state = "intact-b-f"; level = 1; name = "pipe"},/obj/structure/disposalpipe/segment{dir = 1; icon_state = "pipe-c"},/obj/machinery/power/apc{dir = 2; name = "Bar Maintenance APC"; pixel_y = -24},/obj/structure/cable,/turf/simulated/floor/plating,/area/maintenance/fsmaint2) "aSU" = (/obj/structure/cable{d1 = 2; d2 = 4; icon_state = "2-4"; tag = ""},/turf/simulated/floor{tag = "icon-cafeteria (NORTHEAST)"; icon_state = "cafeteria"; dir = 5},/area/crew_quarters/kitchen) "aSV" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/turf/simulated/floor{tag = "icon-cafeteria (NORTHEAST)"; icon_state = "cafeteria"; dir = 5},/area/crew_quarters/kitchen) "aSW" = (/obj/structure/cable{d1 = 1; d2 = 8; icon_state = "1-8"; tag = ""},/obj/structure/disposalpipe/segment{dir = 1; icon_state = "pipe-c"},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/turf/simulated/floor{tag = "icon-cafeteria (NORTHEAST)"; icon_state = "cafeteria"; dir = 5},/area/crew_quarters/kitchen) @@ -2405,11 +2405,11 @@ "aUm" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden,/obj/structure/stool/bed/chair/wood/wings{tag = "icon-wooden_chair_wings (EAST)"; icon_state = "wooden_chair_wings"; dir = 4},/turf/simulated/floor/wood,/area/crew_quarters/bar) "aUn" = (/obj/structure/table/woodentable,/obj/item/candle,/turf/simulated/floor/wood,/area/crew_quarters/bar) "aUo" = (/obj/structure/stool/bed/chair/wood/wings{tag = "icon-wooden_chair_wings (WEST)"; icon_state = "wooden_chair_wings"; dir = 8},/turf/simulated/floor/wood,/area/crew_quarters/bar) -"aUp" = (/obj/structure/stool/bed/chair/wood/wings{tag = "icon-wooden_chair_wings (EAST)"; icon_state = "wooden_chair_wings"; dir = 4},/obj/structure/disposalpipe/segment,/turf/simulated/floor/wood,/area/crew_quarters/bar) +"aUp" = (/obj/machinery/atmospherics/pipe/manifold{color = "blue"; icon_state = "manifold-b-f"; level = 1; name = "pipe manifold"},/obj/structure/sign/securearea{desc = "Under the painting a plaque reads: 'While the meat grinder may not have spared you, fear not. Not one part of you has gone to waste... You were delicious.'"; icon_state = "monkey_painting"; name = "Mr. Deempisi portrait"; pixel_x = -28; pixel_y = 4},/turf/simulated/floor/wood,/area/crew_quarters/bar) "aUq" = (/obj/structure/table/woodentable,/obj/item/weapon/kitchen/utensil/fork,/turf/simulated/floor/wood,/area/crew_quarters/bar) "aUr" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/turf/simulated/floor/wood,/area/crew_quarters/bar) "aUs" = (/obj/effect/landmark/start{name = "Bartender"},/turf/simulated/floor{icon_state = "grimy"},/area/crew_quarters/bar) -"aUt" = (/obj/machinery/requests_console{department = "Bar"; departmentType = 2; pixel_x = 30; pixel_y = 0},/obj/item/weapon/book/manual/barman_recipes,/obj/machinery/camera{c_tag = "Bar"; dir = 8; network = list("SS13")},/obj/structure/table/reinforced,/turf/simulated/floor{icon_state = "grimy"},/area/crew_quarters/bar) +"aUt" = (/obj/machinery/atmospherics/pipe/simple{color = "blue"; dir = 4; icon_state = "intact-b-f"; level = 1; name = "pipe"},/obj/structure/disposalpipe/segment,/turf/simulated/floor/wood,/area/crew_quarters/bar) "aUu" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/obj/machinery/atmospherics/unary/vent_scrubber{dir = 4; icon_state = "off"; on = 1; scrub_N2O = 0; scrub_Toxins = 0},/turf/simulated/floor{tag = "icon-cafeteria (NORTHEAST)"; icon_state = "cafeteria"; dir = 5},/area/crew_quarters/kitchen) "aUv" = (/obj/structure/table,/obj/item/weapon/reagent_containers/food/snacks/mint,/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/turf/simulated/floor{icon_state = "cafeteria"; dir = 2},/area/crew_quarters/kitchen) "aUw" = (/obj/structure/table,/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 9},/turf/simulated/floor{icon_state = "cafeteria"; dir = 2},/area/crew_quarters/kitchen) @@ -2479,7 +2479,7 @@ "aVI" = (/obj/machinery/camera{c_tag = "Bridge East Entrance"; dir = 2},/turf/simulated/floor{dir = 1; icon_state = "blue"},/area/hallway/primary/central) "aVJ" = (/obj/machinery/hologram/holopad,/turf/simulated/floor/wood,/area/crew_quarters/bar) "aVK" = (/obj/structure/table/woodentable,/obj/item/weapon/reagent_containers/food/condiment/saltshaker{pixel_x = -2; pixel_y = 4},/obj/item/weapon/reagent_containers/food/condiment/peppermill{pixel_x = 2; pixel_y = 6},/turf/simulated/floor/wood,/area/crew_quarters/bar) -"aVL" = (/obj/structure/table/reinforced,/obj/item/weapon/reagent_containers/food/snacks/pie,/obj/machinery/door/firedoor/border_only{dir = 8; name = "Firelock West"},/turf/simulated/floor{tag = "icon-cafeteria (NORTHEAST)"; icon_state = "cafeteria"; dir = 5},/area/crew_quarters/kitchen) +"aVL" = (/obj/machinery/atmospherics/pipe/simple{color = "blue"; dir = 4; icon_state = "intact-b-f"; level = 1; name = "pipe"},/obj/machinery/door/window/southleft{tag = "icon-left (WEST)"; name = "Bar Delivery"; icon_state = "left"; dir = 8; req_access_txt = "25"; base_state = "left"},/turf/simulated/floor{icon_state = "delivery"},/area/crew_quarters/bar) "aVM" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/turf/simulated/floor{tag = "icon-cafeteria (NORTHEAST)"; icon_state = "cafeteria"; dir = 5},/area/crew_quarters/kitchen) "aVN" = (/obj/structure/table,/obj/item/weapon/reagent_containers/food/condiment/enzyme{layer = 5},/obj/item/weapon/packageWrap,/turf/simulated/floor{icon_state = "cafeteria"; dir = 2},/area/crew_quarters/kitchen) "aVO" = (/obj/structure/table,/obj/item/weapon/storage/box/donkpockets{pixel_x = 3; pixel_y = 3},/obj/item/weapon/reagent_containers/glass/beaker{pixel_x = 5},/turf/simulated/floor{icon_state = "cafeteria"; dir = 2},/area/crew_quarters/kitchen) @@ -2570,10 +2570,10 @@ "aXv" = (/obj/structure/disposalpipe/segment{dir = 2; icon_state = "pipe-c"},/turf/simulated/floor,/area/hallway/primary/central) "aXw" = (/obj/item/device/radio/intercom{dir = 4; name = "Station Intercom (General)"; pixel_x = 27},/turf/simulated/floor,/area/hallway/primary/central) "aXx" = (/obj/machinery/light{icon_state = "tube1"; dir = 8},/turf/simulated/floor/wood,/area/crew_quarters/bar) -"aXy" = (/obj/structure/table/reinforced,/obj/item/clothing/head/cakehat,/turf/simulated/floor{icon_state = "grimy"},/area/crew_quarters/bar) -"aXz" = (/obj/structure/table/reinforced,/obj/item/weapon/paper_bin,/obj/item/weapon/pen/blue{pixel_x = -3; pixel_y = 2},/obj/item/weapon/pen/blue{pixel_x = 2; pixel_y = 6},/turf/simulated/floor{icon_state = "grimy"},/area/crew_quarters/bar) -"aXA" = (/obj/machinery/door/window/southright{name = "Bar Door"; req_access_txt = "0"; req_one_access_txt = "25;28"},/turf/simulated/floor{icon_state = "grimy"},/area/crew_quarters/bar) -"aXB" = (/obj/structure/table/reinforced,/obj/machinery/computer/security/telescreen/entertainment{pixel_x = 32},/obj/item/clothing/head/that{pixel_x = 4; pixel_y = 6},/obj/item/weapon/lighter/zippo,/turf/simulated/floor{icon_state = "grimy"},/area/crew_quarters/bar) +"aXy" = (/obj/machinery/atmospherics/pipe/manifold{color = "blue"; dir = 1; icon_state = "manifold-b-f"; level = 1; name = "pipe manifold"},/obj/machinery/navbeacon{codes_txt = "delivery;dir=2"; freq = 1400; location = "Bar"},/obj/structure/plasticflaps{opacity = 1},/turf/simulated/floor{icon_state = "bot"; dir = 1},/area/crew_quarters/bar) +"aXz" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/obj/machinery/atmospherics/pipe/simple{color = "blue"; dir = 4; icon_state = "intact-b-f"; level = 1; name = "pipe"},/turf/simulated/floor/plating,/area/maintenance/fsmaint2) +"aXA" = (/obj/machinery/atmospherics/pipe/simple{color = "blue"; dir = 4; icon_state = "intact-b-f"; level = 1; name = "pipe"},/obj/effect/landmark{name = "blobstart"},/turf/simulated/floor/plating,/area/maintenance/fsmaint2) +"aXB" = (/obj/machinery/atmospherics/pipe/manifold{color = "blue"; dir = 1; icon_state = "manifold-b-f"; level = 1; name = "pipe manifold"},/turf/simulated/wall,/area/crew_quarters/kitchen) "aXC" = (/obj/effect/landmark/start{name = "Chef"},/turf/simulated/floor{tag = "icon-cafeteria (NORTHEAST)"; icon_state = "cafeteria"; dir = 5},/area/crew_quarters/kitchen) "aXD" = (/obj/machinery/atmospherics/pipe/simple{color = "blue"; icon_state = "intact-b-f"; level = 1; name = "pipe"},/turf/simulated/floor{tag = "icon-cafeteria (NORTHEAST)"; icon_state = "cafeteria"; dir = 5},/area/crew_quarters/kitchen) "aXE" = (/obj/structure/table,/obj/machinery/reagentgrinder,/obj/machinery/requests_console{department = "Kitchen"; departmentType = 2; pixel_x = 30; pixel_y = 0},/turf/simulated/floor{icon_state = "cafeteria"; dir = 2},/area/crew_quarters/kitchen) @@ -2645,12 +2645,12 @@ "aYS" = (/obj/structure/disposalpipe/segment,/turf/simulated/floor{dir = 8; icon_state = "bluecorner"},/area/hallway/primary/central) "aYT" = (/obj/machinery/atmospherics/unary/vent_pump{dir = 1; on = 1},/turf/simulated/floor/wood,/area/crew_quarters/bar) "aYU" = (/turf/simulated/floor{icon_state = "wood"},/area/crew_quarters/bar) -"aYV" = (/obj/machinery/door/firedoor/border_only{dir = 4; name = "Firelock East"},/obj/machinery/door/airlock{name = "Kitchen"; req_access_txt = "28"},/turf/simulated/floor{icon_state = "bar"},/area/crew_quarters/kitchen) +"aYV" = (/obj/machinery/camera{c_tag = "Fitness Room South"; dir = 1},/obj/machinery/light,/obj/machinery/hologram/holopad,/turf/simulated/floor{icon_state = "green"; dir = 4},/area/crew_quarters/fitness) "aYW" = (/obj/machinery/light_switch{pixel_y = -25},/turf/simulated/floor{tag = "icon-cafeteria (NORTHEAST)"; icon_state = "cafeteria"; dir = 5},/area/crew_quarters/kitchen) "aYX" = (/obj/machinery/power/apc{dir = 2; name = "Kitchen APC"; pixel_y = -24},/obj/structure/cable,/obj/machinery/light,/turf/simulated/floor{tag = "icon-cafeteria (NORTHEAST)"; icon_state = "cafeteria"; dir = 5},/area/crew_quarters/kitchen) "aYY" = (/obj/machinery/atmospherics/unary/vent_pump{dir = 1; on = 1},/turf/simulated/floor{tag = "icon-cafeteria (NORTHEAST)"; icon_state = "cafeteria"; dir = 5},/area/crew_quarters/kitchen) "aYZ" = (/obj/structure/disposalpipe/segment{dir = 1; icon_state = "pipe-c"},/obj/machinery/door_control{id = "kitchen"; name = "Kitchen Shutters Control"; pixel_x = -1; pixel_y = -24; req_access_txt = "28"},/turf/simulated/floor{tag = "icon-cafeteria (NORTHEAST)"; icon_state = "cafeteria"; dir = 5},/area/crew_quarters/kitchen) -"aZa" = (/obj/machinery/disposal,/obj/structure/disposalpipe/trunk{dir = 8},/turf/simulated/floor{tag = "icon-cafeteria (NORTHEAST)"; icon_state = "cafeteria"; dir = 5},/area/crew_quarters/kitchen) +"aZa" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/obj/structure/disposalpipe/segment{dir = 4},/obj/machinery/light_switch{pixel_y = -25},/obj/structure/table,/obj/item/weapon/reagent_containers/food/drinks/sillycup{pixel_x = -2; pixel_y = 0},/obj/item/weapon/reagent_containers/food/drinks/sillycup{pixel_x = 3; pixel_y = 3},/turf/simulated/floor{icon_state = "neutral"},/area/crew_quarters/fitness) "aZb" = (/obj/structure/reagent_dispensers/watertank,/turf/simulated/floor,/area/hydroponics) "aZc" = (/obj/item/weapon/reagent_containers/glass/bucket,/turf/simulated/floor,/area/hydroponics) "aZd" = (/obj/machinery/hydroponics,/turf/simulated/floor{dir = 1; icon_state = "green"},/area/hydroponics) @@ -2712,7 +2712,7 @@ "bah" = (/obj/machinery/door/airlock/command{name = "Captain's Office"; req_access = null; req_access_txt = "20"},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/obj/structure/disposalpipe/segment,/turf/simulated/floor/wood,/area/crew_quarters/captain) "bai" = (/obj/machinery/computer/arcade,/turf/simulated/floor/wood,/area/crew_quarters/bar) "baj" = (/obj/item/device/radio/intercom{pixel_y = -30},/turf/simulated/floor/wood,/area/crew_quarters/bar) -"bak" = (/obj/machinery/newscaster{pixel_y = -28},/turf/simulated/floor/wood,/area/crew_quarters/bar) +"bak" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/obj/structure/disposalpipe/segment{dir = 1; icon_state = "pipe-c"},/obj/structure/table,/obj/item/weapon/reagent_containers/food/drinks/sillycup{pixel_x = -1; pixel_y = -1},/obj/item/weapon/reagent_containers/food/drinks/sillycup{pixel_x = 4; pixel_y = 3},/turf/simulated/floor{icon_state = "neutral"},/area/crew_quarters/fitness) "bal" = (/obj/machinery/light,/obj/machinery/firealarm{dir = 1; pixel_y = -24},/turf/simulated/floor/wood,/area/crew_quarters/bar) "bam" = (/obj/machinery/disposal,/obj/structure/disposalpipe/trunk{dir = 1},/turf/simulated/floor/wood,/area/crew_quarters/bar) "ban" = (/obj/machinery/light,/turf/simulated/floor/wood,/area/crew_quarters/bar) @@ -3120,7 +3120,7 @@ "bhZ" = (/turf/simulated/floor{icon_state = "white"},/area/medical/medbay) "bia" = (/obj/structure/stool/bed/chair,/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/turf/simulated/floor{icon_state = "white"},/area/medical/medbay) "bib" = (/obj/structure/stool/bed/chair,/turf/simulated/floor{icon_state = "white"},/area/medical/medbay) -"bic" = (/obj/structure/stool/bed/chair,/obj/structure/noticeboard{pixel_x = 30; pixel_y = 0},/turf/simulated/floor{icon_state = "white"},/area/medical/medbay) +"bic" = (/obj/structure/table/woodentable,/obj/item/weapon/reagent_containers/food/drinks/shaker,/obj/item/weapon/gun/projectile/shotgun/doublebarrel,/turf/simulated/floor/wood,/area/crew_quarters/bar) "bid" = (/obj/structure/filingcabinet/filingcabinet,/obj/machinery/status_display{density = 0; layer = 4; pixel_x = 0; pixel_y = 32},/turf/simulated/floor{dir = 8; icon_state = "barber"},/area/medical/cmo) "bie" = (/obj/machinery/computer/crew,/obj/machinery/requests_console{announcementConsole = 1; department = "Chief Medical Officer's Desk"; departmentType = 5; name = "Chief Medical Officer RC"; pixel_x = 0; pixel_y = 32},/turf/simulated/floor{dir = 8; icon_state = "barber"},/area/medical/cmo) "bif" = (/obj/machinery/computer/med_data,/obj/machinery/alarm{frequency = 1439; pixel_y = 23},/turf/simulated/floor{dir = 8; icon_state = "barber"},/area/medical/cmo) @@ -3543,7 +3543,7 @@ "bqg" = (/obj/machinery/door/firedoor/border_only,/obj/machinery/door/airlock/glass_medical{id_tag = "MedbayFoyer"; name = "Medbay"; req_access_txt = "5"},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/turf/simulated/floor{icon_state = "white"},/area/medical/medbay) "bqh" = (/obj/machinery/door/firedoor/border_only,/obj/machinery/door/airlock/glass_medical{id_tag = "MedbayFoyer"; name = "Medbay"; req_access_txt = "5"},/turf/simulated/floor{icon_state = "white"},/area/medical/medbay) "bqi" = (/obj/machinery/atmospherics/pipe/simple{dir = 4},/obj/structure/grille,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 8},/turf/simulated/floor/plating,/area/medical/medbay) -"bqj" = (/obj/machinery/computer/med_data,/turf/simulated/floor{icon_state = "white"},/area/medical/medbay) +"bqj" = (/obj/machinery/camera{c_tag = "Bar Storage"},/obj/structure/table/woodentable,/obj/machinery/reagentgrinder,/turf/simulated/floor/wood,/area/crew_quarters/bar) "bqk" = (/obj/machinery/alarm{dir = 1; icon_state = "alarm0"; pixel_y = -22},/obj/machinery/requests_console{announcementConsole = 0; department = "Medbay"; departmentType = 1; name = "Medbay RC"; pixel_x = 30; pixel_y = 0; pixel_z = 0},/obj/machinery/light,/obj/machinery/atmospherics/pipe/manifold{color = "blue"; dir = 8; icon_state = "manifold-b-f"; initialize_directions = 11; level = 1; name = "pipe manifold"},/obj/machinery/computer/crew,/turf/simulated/floor{icon_state = "white"},/area/medical/medbay) "bql" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/turf/simulated/wall/r_wall,/area/medical/cmo) "bqm" = (/obj/structure/table,/obj/item/weapon/cartridge/medical{pixel_x = -2; pixel_y = 6},/obj/item/weapon/cartridge/medical{pixel_x = 6; pixel_y = 3},/obj/item/weapon/cartridge/medical,/obj/item/weapon/cartridge/chemistry{pixel_y = 2},/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/turf/simulated/floor{dir = 8; icon_state = "barber"},/area/medical/cmo) @@ -3612,7 +3612,7 @@ "brx" = (/obj/structure/table,/obj/item/weapon/hand_labeler,/obj/item/weapon/packageWrap,/turf/simulated/floor{dir = 4; icon_state = "whiteyellowfull"; tag = "icon-whitehall (WEST)"},/area/medical/chemistry) "bry" = (/obj/structure/stool/bed/roller,/obj/machinery/door_control{desc = "A remote control switch for the medbay foyer."; id = "MedbayFoyer"; name = "Medbay Exit Button"; normaldoorcontrol = 1; pixel_x = 0; pixel_y = 26; range = 3},/obj/structure/extinguisher_cabinet{pixel_x = -24},/turf/simulated/floor{icon_state = "white"},/area/medical/medbay) "brz" = (/obj/machinery/atmospherics/pipe/simple{dir = 4},/obj/structure/grille,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced,/turf/simulated/floor/plating,/area/medical/medbay) -"brA" = (/obj/machinery/status_display,/turf/simulated/wall,/area/medical/medbay) +"brA" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_y = 0; tag = ""},/obj/machinery/door/airlock/external{frequency = 1379; icon_state = "door_locked"; id_tag = "toxin_test_outer"; locked = 1; name = "Engineering External Access"; req_access = null; req_access_txt = "10;13"},/turf/simulated/floor/plating,/area/maintenance/asmaint2) "brB" = (/obj/machinery/door/firedoor/border_only,/obj/machinery/door/airlock/medical{name = "Medbay Reception"; req_access_txt = "5"},/turf/simulated/floor{icon_state = "white"},/area/medical/medbay) "brC" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden,/turf/simulated/wall,/area/medical/medbay) "brD" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 8},/turf/simulated/floor/plating,/area/medical/cmo) @@ -5170,7 +5170,7 @@ "bVv" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_y = 0; tag = ""},/obj/machinery/atmospherics/pipe/simple{dir = 4; icon_state = "intact"; level = 2},/obj/machinery/door/airlock/external{frequency = 1379; icon_state = "door_locked"; id_tag = "toxin_test_inner"; locked = 1; name = "Engineering External Access"; req_access = null; req_access_txt = "13"},/turf/simulated/floor/plating,/area/maintenance/asmaint2) "bVw" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_y = 0; tag = ""},/obj/structure/sign/securearea{desc = "A warning sign which reads 'EXTERNAL AIRLOCK'"; icon_state = "space"; layer = 4; name = "EXTERNAL AIRLOCK"; pixel_x = 0; pixel_y = -32},/obj/machinery/atmospherics/unary/vent_pump/high_volume{dir = 8; frequency = 1379; id_tag = "toxin_test_pump"},/obj/machinery/airlock_sensor{frequency = 1379; id_tag = "toxin_test_sensor"; pixel_x = 0; pixel_y = 16},/turf/simulated/floor/plating,/area/maintenance/asmaint2) "bVx" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_y = 0; tag = ""},/obj/machinery/embedded_controller/radio/airlock_controller{airpump_tag = "toxin_test_pump"; exterior_door_tag = "toxin_test_outer"; frequency = 1379; id_tag = "toxin_test_airlock"; interior_door_tag = "toxin_test_inner"; pixel_x = 0; pixel_y = 25; req_access_txt = "13"; sensor_tag = "toxin_test_sensor"},/turf/simulated/floor/plating,/area/maintenance/asmaint2) -"bVy" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_y = 0; tag = ""},/obj/machinery/door/airlock/external{frequency = 1379; icon_state = "door_locked"; id_tag = "toxin_test_outer"; locked = 1; name = "Engineering External Access"; req_access = null; req_access_txt = "10;13"},/turf/simulated/floor/plating/airless,/area/maintenance/asmaint2) +"bVy" = (/obj/machinery/door/airlock/external{name = "Shuttle Airlock"; req_access_txt = "47"},/turf/simulated/floor/plating,/area/medical/research{name = "Research Division"}) "bVz" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_y = 0; tag = ""},/obj/machinery/access_button{command = "cycle_exterior"; frequency = 1379; master_tag = "toxin_test_airlock"; name = "exterior access button"; pixel_x = -20; pixel_y = -20; req_access_txt = "13"},/turf/simulated/floor/plating/airless,/area) "bVA" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_y = 0; tag = ""},/turf/simulated/floor/plating/airless,/area) "bVB" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_y = 0; tag = ""},/obj/machinery/door/airlock/external{name = "Toxins Test Chamber"; req_access_txt = "0"},/turf/simulated/floor/plating/airless,/area/toxins/test_area) @@ -9524,7 +9524,7 @@ "dBh" = (/turf/space,/area/mine/unexplored) "dBi" = (/obj/machinery/door/airlock/external{name = "Mining Bridge"; req_access_txt = "54"},/turf/simulated/floor/airless{dir = 5; icon_state = "asteroidfloor"; tag = "icon-asteroidfloor"},/area/mine/explored) "dBj" = (/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 1},/turf/simulated/floor/airless,/area/mine/explored) -"dBk" = (/obj/machinery/door/airlock/external{frequency = 1379; icon_state = "door_locked"; id_tag = "research_outer"; locked = 1; name = "Research Outpost External Access"; req_access = null; req_access_txt = "10;13"},/turf/simulated/floor/airless{dir = 5; icon_state = "asteroidfloor"; tag = "icon-asteroidfloor"},/area/research_outpost/gearstore) +"dBk" = (/obj/structure/stool/bed/chair,/obj/machinery/status_display{density = 0; layer = 4; pixel_x = 32; pixel_y = 0},/turf/simulated/floor{icon_state = "white"},/area/medical/medbay) "dBl" = (/obj/structure/disposalpipe/segment,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced,/turf/simulated/floor/plating,/area/mine/explored) "dBm" = (/obj/structure/sign/securearea{desc = "A warning sign which reads 'VACUUM'"; icon_state = "space"; layer = 4; name = "VACUUM"; pixel_x = 0; pixel_y = -32},/obj/machinery/door/window/westleft,/turf/simulated/floor/plating/airless{icon_state = "asteroidplating"; tag = ""},/area/mine/explored) "dBn" = (/obj/structure/transit_tube{tag = "icon-D-NE"; icon_state = "D-NE"},/turf/simulated/floor{icon_state = "delivery"; name = "floor"},/area/mine/explored) @@ -9668,7 +9668,7 @@ "dDV" = (/obj/machinery/access_button{command = "cycle_interior"; frequency = 1379; master_tag = "mining_west_airlock"; name = "interior access button"; pixel_x = 25; pixel_y = 25; req_access_txt = null},/turf/simulated/floor,/area/mine/west_outpost) "dDW" = (/obj/machinery/door/airlock/external{frequency = 1379; icon_state = "door_locked"; id_tag = "mining_west_inner"; locked = 1; name = "Mining External Access"; req_access = null; req_access_txt = null},/turf/simulated/floor,/area/mine/west_outpost) "dDX" = (/turf/simulated/floor{icon_state = "floorgrime"},/area/mine/west_outpost) -"dDY" = (/obj/machinery/door/airlock/external{frequency = 1379; icon_state = "door_locked"; id_tag = "mining_west_outer"; locked = 1; name = "Mining External Access"; req_access = null; req_access_txt = "10;13"},/turf/simulated/floor/airless{dir = 5; icon_state = "asteroidfloor"; tag = "icon-asteroidfloor"},/area/mine/west_outpost) +"dDY" = (/turf/simulated/floor/holofloor{tag = "icon-cult"; icon_state = "cult"; dir = 2},/area/holodeck/source_theatre) "dDZ" = (/obj/machinery/access_button{command = "cycle_exterior"; frequency = 1379; master_tag = "mining_west_airlock"; name = "exterior access button"; pixel_x = -25; pixel_y = -25; req_access_txt = null},/turf/simulated/floor/airless{tag = "icon-asteroidwarning (EAST)"; icon_state = "asteroidwarning"; dir = 4},/area/mine/explored) "dEa" = (/obj/structure/table,/obj/item/weapon/reagent_containers/food/drinks/beer,/obj/item/weapon/reagent_containers/food/drinks/beer,/turf/simulated/floor{icon_state = "bar"},/area/mine/living_quarters) "dEb" = (/obj/structure/stool/bed/chair{dir = 4},/turf/simulated/floor{icon_state = "bar"},/area/mine/living_quarters) @@ -9760,7 +9760,7 @@ "dFJ" = (/obj/machinery/door/airlock/external{frequency = 1379; icon_state = "door_locked"; id_tag = "mining_east_inner"; locked = 1; name = "Mining External Access"; req_access = null; req_access_txt = null},/turf/simulated/floor,/area/mine/eva) "dFK" = (/turf/simulated/floor{icon_state = "floorgrime"},/area/mine/eva) "dFL" = (/turf/simulated/floor{dir = 4; icon_state = "warning"},/area/mine/eva) -"dFM" = (/obj/machinery/door/airlock/external{frequency = 1379; icon_state = "door_locked"; id_tag = "mining_east_outer"; locked = 1; name = "Mining External Access"; req_access = null; req_access_txt = "10;13"},/turf/simulated/floor/airless{dir = 5; icon_state = "asteroidfloor"; tag = "icon-asteroidfloor"},/area/mine/eva) +"dFM" = (/turf/simulated/floor/holofloor/grass,/obj/structure/flora/ausbushes/brflowers,/turf/simulated/floor/holofloor{tag = "icon-wood_siding2 (EAST)"; icon_state = "wood_siding2"; dir = 4},/area/holodeck/source_picnicarea) "dFN" = (/obj/machinery/access_button{command = "cycle_exterior"; frequency = 1379; master_tag = "mining_east_airlock"; name = "exterior access button"; pixel_x = -25; pixel_y = -25; req_access_txt = null},/turf/simulated/floor/airless{tag = "icon-asteroidwarning (EAST)"; icon_state = "asteroidwarning"; dir = 4},/area/mine/explored) "dFO" = (/obj/machinery/atmospherics/pipe/simple,/turf/simulated/wall,/area/mine/west_outpost) "dFP" = (/obj/structure/sign/securearea{desc = "A warning sign which reads 'HIGH VOLTAGE'"; icon_state = "shock"; name = "HIGH VOLTAGE"},/turf/simulated/wall,/area/mine/west_outpost) @@ -9882,7 +9882,7 @@ "dIb" = (/obj/machinery/power/port_gen/pacman{anchored = 1},/obj/structure/cable{d2 = 8; icon_state = "0-8"},/turf/simulated/floor/plating,/area/mine/living_quarters) "dIc" = (/obj/machinery/atmospherics/portables_connector{dir = 4},/obj/machinery/portable_atmospherics/canister/air,/turf/simulated/floor/plating,/area/mine/living_quarters) "dId" = (/obj/machinery/atmospherics/pipe/manifold,/obj/structure/reagent_dispensers/fueltank,/turf/simulated/floor/plating,/area/mine/living_quarters) -"dIe" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/obj/machinery/door/airlock/external{frequency = 1379; icon_state = "door_locked"; id_tag = "mining_west_outer"; locked = 1; name = "Mining External Access"; req_access = null; req_access_txt = null},/turf/simulated/floor/airless{dir = 5; icon_state = "asteroidfloor"; tag = "icon-asteroidfloor"},/area/mine/living_quarters) +"dIe" = (/turf/simulated/floor/holofloor{tag = "icon-asteroid"; icon_state = "asteroid"; dir = 2},/area/holodeck/source_desert) "dIf" = (/obj/machinery/atmospherics/unary/vent_pump{dir = 4; layer = 2.4; on = 1},/turf/simulated/floor,/area/mine/production) "dIg" = (/obj/structure/disposalpipe/segment,/obj/machinery/atmospherics/pipe/simple{dir = 4; level = 1},/turf/simulated/floor,/area/mine/production) "dIh" = (/obj/machinery/atmospherics/pipe/manifold{dir = 4},/obj/machinery/camera{c_tag = "Shuttle Airlock"; dir = 8; network = list("MINE")},/obj/machinery/conveyor_switch/oneway{id = "mining_internal"; name = "mining conveyor"},/obj/machinery/light{dir = 4},/turf/simulated/floor,/area/mine/production) @@ -9941,6 +9941,76 @@ "dJi" = (/obj/machinery/conveyor{dir = 8; id = "mining_internal"},/obj/machinery/mineral/output,/turf/simulated/floor{icon_state = "floorgrime"},/area/mine/production) "dJj" = (/obj/machinery/mineral/stacking_machine,/turf/simulated/floor{icon_state = "floorgrime"},/area/mine/production) "dJk" = (/obj/machinery/conveyor{tag = "icon-conveyor0 (SOUTHWEST)"; icon_state = "conveyor0"; dir = 10; id = "mining_internal"},/obj/machinery/mineral/input,/turf/simulated/floor{dir = 8; icon_state = "loadingarea"; tag = "loading"},/area/mine/production) +"dJl" = (/turf/simulated/floor/holofloor{tag = "icon-asteroid2 (EAST)"; icon_state = "asteroid2"; dir = 4},/area/holodeck/source_desert) +"dJm" = (/turf/simulated/floor/holofloor/grass,/obj/structure/flora/ausbushes/ywflowers,/turf/simulated/floor/holofloor{tag = "icon-wood_siding2 (EAST)"; icon_state = "wood_siding2"; dir = 4},/area/holodeck/source_picnicarea) +"dJn" = (/turf/simulated/floor/holofloor{tag = "icon-rampbottom"; icon_state = "rampbottom"; dir = 2},/area/holodeck/source_theatre) +"dJo" = (/turf/simulated/floor/holofloor{tag = "icon-wood (EAST)"; icon_state = "wood"; dir = 4},/turf/simulated/floor/holofloor{tag = "icon-siding1"; icon_state = "siding1"; dir = 2},/area/holodeck/source_theatre) +"dJp" = (/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/holofloor{tag = "icon-asteroid"; icon_state = "asteroid"; dir = 2},/area/holodeck/source_picnicarea) +"dJq" = (/obj/structure/flora/ausbushes/sparsegrass,/turf/simulated/floor/holofloor{tag = "icon-asteroid"; icon_state = "asteroid"; dir = 2},/area/holodeck/source_desert) +"dJr" = (/turf/simulated/floor/holofloor{tag = "icon-asteroid11 (EAST)"; icon_state = "asteroid11"; dir = 4},/area/holodeck/source_desert) +"dJs" = (/turf/simulated/floor/holofloor{tag = "icon-asteroid7"; icon_state = "asteroid7"; dir = 2},/area/holodeck/source_desert) +"dJt" = (/obj/structure/table/woodentable,/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/holofloor{tag = "icon-asteroid"; icon_state = "asteroid"; dir = 2},/area/holodeck/source_picnicarea) +"dJu" = (/obj/structure/stool,/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/holofloor{tag = "icon-asteroid"; icon_state = "asteroid"; dir = 2},/area/holodeck/source_picnicarea) +"dJv" = (/turf/simulated/floor/holofloor/grass,/obj/structure/flora/ausbushes/grassybush,/turf/simulated/floor/holofloor{tag = "icon-wood_siding5"; icon_state = "wood_siding5"; dir = 2},/area/holodeck/source_picnicarea) +"dJw" = (/turf/simulated/floor/holofloor/grass,/obj/structure/flora/ausbushes/grassybush,/turf/simulated/floor/holofloor{tag = "icon-wood_siding9"; icon_state = "wood_siding9"; dir = 2},/area/holodeck/source_picnicarea) +"dJx" = (/turf/simulated/floor/holofloor{tag = "icon-carpet6-2 (EAST)"; icon_state = "carpet6-2"; dir = 4},/area/holodeck/source_theatre) +"dJy" = (/turf/simulated/floor/holofloor{tag = "icon-wood (EAST)"; icon_state = "wood"; dir = 4},/area/holodeck/source_theatre) +"dJz" = (/turf/simulated/floor/holofloor{tag = "icon-carpet10-8 (EAST)"; icon_state = "carpet10-8"; dir = 4},/area/holodeck/source_theatre) +"dJA" = (/turf/simulated/floor/holofloor{tag = "icon-carpet14-10 (EAST)"; icon_state = "carpet14-10"; dir = 4},/area/holodeck/source_theatre) +"dJB" = (/turf/simulated/floor/holofloor{tag = "icon-asteroid5"; icon_state = "asteroid5"; dir = 2},/area/holodeck/source_desert) +"dJC" = (/turf/simulated/floor/holofloor/grass,/obj/structure/flora/ausbushes/grassybush,/turf/simulated/floor/holofloor{tag = "icon-wood_siding6"; icon_state = "wood_siding6"; dir = 2},/area/holodeck/source_picnicarea) +"dJD" = (/obj/structure/stool,/turf/simulated/floor/holofloor{tag = "icon-carpet7-3 (EAST)"; icon_state = "carpet7-3"; dir = 4},/area/holodeck/source_theatre) +"dJE" = (/turf/simulated/floor/holofloor/grass,/obj/structure/flora/ausbushes/grassybush,/turf/simulated/floor/holofloor{tag = "icon-wood_siding10"; icon_state = "wood_siding10"; dir = 2},/area/holodeck/source_picnicarea) +"dJF" = (/obj/structure/stool,/turf/simulated/floor/holofloor{tag = "icon-carpet11-12 (EAST)"; icon_state = "carpet11-12"; dir = 4},/area/holodeck/source_theatre) +"dJG" = (/obj/structure/stool,/turf/simulated/floor/holofloor{tag = "icon-carpet15-15 (EAST)"; icon_state = "carpet15-15"; dir = 4},/area/holodeck/source_theatre) +"dJH" = (/turf/simulated/floor/holofloor{tag = "icon-asteroid6"; icon_state = "asteroid6"; dir = 2},/area/holodeck/source_desert) +"dJI" = (/obj/structure/flora/ausbushes/fullgrass,/turf/simulated/floor/holofloor/grass,/area/holodeck/source_picnicarea) +"dJJ" = (/obj/structure/flora/ausbushes/sparsegrass,/turf/simulated/floor/holofloor/grass,/area/holodeck/source_picnicarea) +"dJK" = (/obj/effect/landmark/costume,/obj/structure/rack,/turf/simulated/floor/holofloor{tag = "icon-cult"; icon_state = "cult"; dir = 2},/area/holodeck/source_theatre) +"dJL" = (/obj/structure/rack,/obj/item/clothing/under/dress/dress_saloon,/obj/item/clothing/head/hairflower,/turf/simulated/floor/holofloor{tag = "icon-cult"; icon_state = "cult"; dir = 2},/area/holodeck/source_theatre) +"dJM" = (/turf/simulated/floor/holofloor{tag = "icon-asteroid8 (EAST)"; icon_state = "asteroid8"; dir = 4},/area/holodeck/source_desert) +"dJN" = (/obj/structure/flora/ausbushes/ywflowers,/turf/simulated/floor/holofloor/grass,/area/holodeck/source_picnicarea) +"dJO" = (/obj/structure/flora/ausbushes/brflowers,/turf/simulated/floor/holofloor/grass,/area/holodeck/source_picnicarea) +"dJP" = (/obj/structure/flora/ausbushes/fullgrass,/turf/simulated/floor/holofloor{tag = "icon-asteroid"; icon_state = "asteroid"; dir = 2},/area/holodeck/source_desert) +"dJQ" = (/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 1},/turf/unsimulated/wall{tag = "icon-iron12"; icon_state = "iron12"},/area) +"dJR" = (/turf/simulated/floor/holofloor{tag = "icon-grimy"; icon_state = "grimy"; dir = 2},/area/holodeck/source_meetinghall) +"dJS" = (/turf/simulated/floor/holofloor{tag = "icon-snow"; icon_state = "snow"},/area/holodeck/source_snowfield) +"dJT" = (/turf/simulated/floor/holofloor{tag = "icon-1 (NORTHEAST)"; icon_state = "1"; dir = 5},/area/holodeck/source_space) +"dJU" = (/turf/simulated/floor/holofloor{tag = "icon-17 (NORTHEAST)"; icon_state = "17"; dir = 5},/area/holodeck/source_space) +"dJV" = (/turf/simulated/floor/holofloor{tag = "icon-22 (NORTHEAST)"; icon_state = "22"; dir = 5},/area/holodeck/source_space) +"dJW" = (/obj/structure/flora/grass/both,/turf/simulated/floor/holofloor{tag = "icon-snow"; icon_state = "snow"},/area/holodeck/source_snowfield) +"dJX" = (/turf/simulated/floor/holofloor{tag = "icon-carpet4-0 (EAST)"; icon_state = "carpet4-0"; dir = 4},/area/holodeck/source_meetinghall) +"dJY" = (/turf/simulated/floor/holofloor{tag = "icon-carpet8-0 (EAST)"; icon_state = "carpet8-0"; dir = 4},/area/holodeck/source_meetinghall) +"dJZ" = (/turf/simulated/floor/holofloor{tag = "icon-carpetsymbol (SOUTHEAST)"; icon_state = "carpetsymbol"; dir = 6},/area/holodeck/source_meetinghall) +"dKa" = (/obj/structure/flora/tree/pine,/turf/simulated/floor/holofloor{tag = "icon-snow"; icon_state = "snow"},/area/holodeck/source_snowfield) +"dKb" = (/obj/structure/table/woodentable,/turf/simulated/floor/holofloor{tag = "icon-grimy"; icon_state = "grimy"; dir = 2},/area/holodeck/source_meetinghall) +"dKc" = (/turf/simulated/floor/holofloor{tag = "icon-carpet2-0 (EAST)"; icon_state = "carpet2-0"; dir = 4},/area/holodeck/source_theatre) +"dKd" = (/turf/simulated/floor/holofloor{tag = "icon-carpet3-0 (EAST)"; icon_state = "carpet3-0"; dir = 4},/area/holodeck/source_theatre) +"dKe" = (/turf/simulated/floor/holofloor/grass,/obj/structure/flora/ausbushes/brflowers,/turf/simulated/floor/holofloor{tag = "icon-wood_siding1"; icon_state = "wood_siding1"; dir = 2},/area/holodeck/source_picnicarea) +"dKf" = (/turf/simulated/floor/holofloor/grass,/obj/structure/flora/ausbushes/ywflowers,/turf/simulated/floor/holofloor{tag = "icon-wood_siding1"; icon_state = "wood_siding1"; dir = 2},/area/holodeck/source_picnicarea) +"dKg" = (/turf/simulated/floor/holofloor{tag = "icon-asteroid1 (EAST)"; icon_state = "asteroid1"; dir = 4},/area/holodeck/source_desert) +"dKh" = (/turf/simulated/floor/holofloor{tag = "icon-asteroid3 (EAST)"; icon_state = "asteroid3"; dir = 4},/area/holodeck/source_desert) +"dKi" = (/obj/structure/stool,/turf/simulated/floor/holofloor{tag = "icon-carpet5-1 (EAST)"; icon_state = "carpet5-1"; dir = 4},/area/holodeck/source_theatre) +"dKj" = (/turf/simulated/floor/holofloor{tag = "icon-carpet1-0 (EAST)"; icon_state = "carpet1-0"; dir = 4},/area/holodeck/source_theatre) +"dKk" = (/obj/structure/stool,/turf/simulated/floor/holofloor{tag = "icon-carpet9-4 (EAST)"; icon_state = "carpet9-4"; dir = 4},/area/holodeck/source_theatre) +"dKl" = (/obj/structure/stool,/turf/simulated/floor/holofloor{tag = "icon-carpet13-5 (EAST)"; icon_state = "carpet13-5"; dir = 4},/area/holodeck/source_theatre) +"dKm" = (/obj/structure/flora/grass/green,/turf/simulated/floor/holofloor{tag = "icon-snow"; icon_state = "snow"},/area/holodeck/source_snowfield) +"dKn" = (/obj/structure/flora/tree/dead,/turf/simulated/floor/holofloor{tag = "icon-snow"; icon_state = "snow"},/area/holodeck/source_snowfield) +"dKo" = (/obj/structure/stool,/turf/simulated/floor/holofloor{tag = "icon-carpet13-0 (EAST)"; icon_state = "carpet13-0"; dir = 4},/area/holodeck/source_meetinghall) +"dKp" = (/obj/structure/stool,/turf/simulated/floor/holofloor{tag = "icon-carpet9-0 (EAST)"; icon_state = "carpet9-0"; dir = 4},/area/holodeck/source_meetinghall) +"dKq" = (/obj/structure/stool,/turf/simulated/floor/holofloor{tag = "icon-carpet5-0 (EAST)"; icon_state = "carpet5-0"; dir = 4},/area/holodeck/source_meetinghall) +"dKr" = (/obj/structure/flora/grass/brown,/turf/simulated/floor/holofloor{tag = "icon-snow"; icon_state = "snow"},/area/holodeck/source_snowfield) +"dKs" = (/obj/structure/stool,/turf/simulated/floor/holofloor{tag = "icon-carpet15-0 (EAST)"; icon_state = "carpet15-0"; dir = 4},/area/holodeck/source_meetinghall) +"dKt" = (/obj/structure/stool,/turf/simulated/floor/holofloor{tag = "icon-carpet11-0 (EAST)"; icon_state = "carpet11-0"; dir = 4},/area/holodeck/source_meetinghall) +"dKu" = (/obj/structure/stool,/turf/simulated/floor/holofloor{tag = "icon-carpet7-0 (EAST)"; icon_state = "carpet7-0"; dir = 4},/area/holodeck/source_meetinghall) +"dKv" = (/obj/structure/stool,/turf/simulated/floor/holofloor{tag = "icon-carpet14-0 (EAST)"; icon_state = "carpet14-0"; dir = 4},/area/holodeck/source_meetinghall) +"dKw" = (/obj/structure/stool,/turf/simulated/floor/holofloor{tag = "icon-carpet10-0 (EAST)"; icon_state = "carpet10-0"; dir = 4},/area/holodeck/source_meetinghall) +"dKx" = (/obj/structure/stool,/turf/simulated/floor/holofloor{tag = "icon-carpet6-0 (EAST)"; icon_state = "carpet6-0"; dir = 4},/area/holodeck/source_meetinghall) +"dKy" = (/obj/machinery/door/airlock/external{frequency = 1379; icon_state = "door_locked"; id_tag = "research_outer"; locked = 1; name = "Research Outpost External Access"; req_access = null; req_access_txt = "10;13"},/turf/simulated/floor/plating,/area/research_outpost/gearstore) +"dKz" = (/obj/machinery/door/airlock/external{frequency = 1379; icon_state = "door_locked"; id_tag = "mining_west_outer"; locked = 1; name = "Mining External Access"; req_access = null; req_access_txt = "10;13"},/turf/simulated/floor/plating,/area/mine/west_outpost) +"dKA" = (/obj/machinery/door/airlock/external{frequency = 1379; icon_state = "door_locked"; id_tag = "mining_east_outer"; locked = 1; name = "Mining External Access"; req_access = null; req_access_txt = "10;13"},/turf/simulated/floor/plating,/area/mine/eva) +"dKB" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/obj/machinery/door/airlock/external{frequency = 1379; icon_state = "door_locked"; id_tag = "mining_west_outer"; locked = 1; name = "Mining External Access"; req_access = null; req_access_txt = null},/turf/simulated/floor/plating,/area/mine/living_quarters) +"dKC" = (/obj/machinery/door/airlock/external{name = "Mining Shuttle Airlock"; req_access_txt = "48"},/turf/simulated/floor/plating,/area/mine/production) (1,1,1) = {" aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa @@ -10041,47 +10111,47 @@ aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabarmarnarmaaaaaaaaaaaaaaaaaaaaaaluaabapeapeapeapeapeaabaoDaabapeapeapeapeapeaabaluaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabaacapfaroaoIapfarparqarrarsartaruaqTarvarwarxaryarzarAarBarCapoarDalsarEarFarGarGarGarGarGarHarGarGarGarIarJarKarLarMarNarOarParQarRarSarTalsaabarUarVarVarWarVarVarXaaaaaaaaaaaaaaaalvaaaaaaaaaaabaaaaaaaaaaowaaaaaaaaaaabaaaaaaaaaalvaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaarYarZasaaaaasbascasdaaaaabaseaqQaseaaaaaaaaaaaaaaaaaaaaaalvaaaaaaaaaaabaaaaaaaaaaoDaaaaaaaaaaabaaaaaaaaaalvaaaaaaaaaaagaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabapfapfapfapfaoIapfasfasgashasiasjaskaqTaslasmasmasmarzasnasoaspasqasralsassastasuasuasuasuasvastasuaswasuastasuasuaswasuasxasyaszasAasBasCasDasDasDasEasFasFasFasFasFasEasDaaaaaaaaaaaaaluaabanOanOanOanOanOaabaowaabanOanOanOanOanOaabaluaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaasGasHasIasHasGasJasKasJasGaabaseasLasMaaaaaaaaaaaaaaaaaaaaaaluaabanQanQanQanQanQaabaoDaabanQanQanQanQanQaabaluaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabaabapfasNasOapfaoIapfasPasQasRasSasTasUaqTasVasmasWasWarzasmasoapiapoasXalsasYasZataatbatcatdateatfatdatgathatiatdatjatkatlatmatnatoatpatqatratsattasDasEasFasFasFasFasFasEasDaabaaaaaaaaaalvaabaotaouaouaouaouaovaowaoxaoyaoyaoyaoyaozaabaluaaaaaaaaaaagaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaatuasHatvasHatuasJatwasJatuatxatyatzatAatBatBatCatxatxaabaaaaluaabaoAaoBaoBaoBaoBaoCaoDaoEaoFaoFaoFaoFaoGaabaluaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabaabaabapfatDatEatFatGatHatIatJatKatLatMatNaqTatOatPatQatRatSatTasoapiapoarDalsasYasZatUatVatcatdatWatXatdatYatZauaatdaubatZaucasDaudaueaufaugauhauiaujaukaulasFasFasFasFasFaumasDasDasDaaaaaaalvaaaapdapdapdapdapdaabaowaabapdapdapdapdapdaaaalUaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaatuaunauoaupatuauqaurausatuaqQaqQautauuauvauwauxauyatxaaaaaaalUaaaapeapeapeapeapeaabaoDaabapeapeapeapeapeaaaaluaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabaabaacapfauzaoHapfauAapfauBauCauDauEauFauGaqTauHauIauJauJauKauLauMauNauOauPauQauRauSatUatbatcatdauTatXatdatdauUatdatdatdauVatdasDauWauXauYauZavaavbavcavdaveasFasFasFasFasFavfavgavhaviaaaaaaalvaaaaabaaaaabaabaaaaaaaowaaaaaaaabaaaaaaaabaaaaluaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaatuavjavkavlatuavjavkavlatuavmavnavoavoavoavoavpavqarmaaaaaaaluaaaaabaaaaabaabaaaaaaavraaaaaaaabaaaaaaaabaaaaluaabaaaaaaaabaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabaabaabaacapfapfapfapfauAapfavsavtavtavuavtavvavtavwavxavxavxavxavyavzavAapoavBalsavCastavDatbavEavFauTavGavHavIavJavJavKavLavJavMavNavOavPavQavRavSavTavUavVavWasFasFasFasFasFavWavXavYavZaaaaaaalvalvaluaaaaaaaabaaaaaaaowaaaaabaabaabaabalualualuaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaagaaaaaaaaaaaaaaaasGatuawaawbasGatuawaawbasGatxawcatxatxatxatxatxawdaseaaaaaaalualualuaaaaaaaabaaaaweawfaweaabaabaabaabalualualuaabapfapfapfapfawgawhawhawhawhawhawhawhawiapfapfawjawkawlapfawmaoHawnawoawpawqawqawqawrawqawsawqawtawuawvawvawwawwawxawyawzawAaqjawBawCawDawEawFatdauTawGawGawHawIawIawJawHawGawGawKawLawMavQavRavSavTavUawNawOasFasFasFasFasFawOawPavYavZaaaaaaaaaaaaaabaabaaaaabaaaaaaawQaaaaaaaabaaaaaaaabaaaaaaaabaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaawRawSawSawSawTawSawSawSawUawVawWawUawUawUawXatxawYaseaaaaabaabaaaaaaaaaaaaaabaaaawZaxaaxbaabaaaaabaaaaaaaaaaaaaaaapfaoHaoHaxcaoHaoHaoHaoHaoHaoHaoHaoHaxdaxeaxfaxgaxgaxgaxgaxgaxgaxhaxiaxjaxkaxkaxkaxkaxlaxmaxkaxnaxoaxlaxkaxkaxkaxkaxpaxqaxraxsaxtauSatdatdatdatdatWaxuawGawHawIaxvawIaxwaxxaxyaxzaxAaxBaxCaxDaxEaxFaxGaxHaxIasFasFasFasFasFaxJaxKaxLaxMaaaaaaaaaaaaaaaaabaaaaabaaaaxNaxOaxNaaaaabaaaaaaaabaaaaaaaaaaabaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaxPaxQaxRaxSaxTaxRaxRaxUaxSaxRaxVaxWaxXaxXaxYatxawYatyaabaabaaaaaaaaaaaaaaaaabaxZayaaybaycaydaaaaabaaaaaaaaaaaaaaaapfaoHapfayeayfaygaygaygaygaygaygaygayhayeayiayjayjayjayjayjayjayjaykaylaxkaymaynayoaypayqayraysaytayuayvaynaywaxkayxapoayyalsayzasZataatbatcatdauTayAayBaxyaxyayCayDayEayFayGavNayHayIayJayKayKayLayMayNayOasFasFasFasFasFayPasDasDasDaaaaaaaaaaaaaabaabaabaabaaaayQayRayQaaaaabaaaaaaaabaaaaaaaaaaaaaabaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabaabatuawRaySawRayTaxRaxRayUawRaySawRayVaxQaxTayWatxawYatxatxayXatBatBatBatBatCatxayYayZazaazbayYapfapfawjawkawlapfapfapfaoHaroayeaaaaabaaaaabaaaaabaaaaabaaaayeayiayjazcazdazeazfazgayjaykaoHaxkazhazhaziazjazkazlazmaznazoazpazqazqaxkayxapoazralsayzasZatUatbatcatdatWazsaztazuazvazwazxazyazyazzazyasDazAazBazCazDazEazFasDazGasFasFasFasFasFazGasDaabaaaaaaaaaaaaaaaaabaabaaaaabazHazIazJazKazLaabaaaaaaaabaaaaaaaaaaaaaaaaabaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaatuasHatvasHatuasJatwasJatuatxatyatzatAatBatBatCatxatxaabaaaaluaabaoAaoBaoBaoBaoBaoCaoDaoEaoFaoFaoFaoFaoGaabaluaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabaabaabapfatDatEatFatGatHatIatJatKatLatMatNaqTatOatPatQatRatSatTasoapiapoarDalsasYasZatUatVatcatdatWatXatdatYatZauaatdaubatZaucasDaudaueaufaPUaPWaPYaPZaQaaulasFasFasFasFasFaumasDasDasDaaaaaaalvaaaapdapdapdapdapdaabaowaabapdapdapdapdapdaaaalUaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaatuaunauoaupatuauqaurausatuaqQaqQautauuauvauwauxauyatxaaaaaaalUaaaapeapeapeapeapeaabaoDaabapeapeapeapeapeaaaaluaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabaabaacapfauzaoHapfauAapfauBauCauDauEauFauGaqTauHauIauJauJauKauLauMauNauOauPauQauRauSatUatbatcatdauTatXatdatdauUatdatdatdauVatdasDauWauXaOIaOIaOPaOKaOMaOJaveasFasFasFasFasFavfavgavhaviaaaaaaalvaaaaabaaaaabaabaaaaaaaowaaaaaaaabaaaaaaaabaaaaluaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaatuavjavkavlatuavjavkavlatuavmavnavoavoavoavoavpavqarmaaaaaaaluaaaaabaaaaabaabaaaaaaavraaaaaaaabaaaaaaaabaaaaluaabaaaaaaaabaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabaabaabaacapfapfapfapfauAapfavsavtavtavuavtavvavtavwavxavxavxavxavyavzavAapoavBalsavCastavDatbavEavFauTavGavHavIavJavJavKavLavJavMavNavOavPavSavSavSavSavUaPRavWasFasFasFasFasFavWavXavYavZaaaaaaalvalvaluaaaaaaaabaaaaaaaowaaaaabaabaabaabalualualuaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaagaaaaaaaaaaaaaaaasGatuawaawbasGatuawaawbasGatxawcatxatxatxatxatxawdaseaaaaaaalualualuaaaaaaaabaaaaweawfaweaabaabaabaabalualualuaabapfapfapfapfawgawhawhawhawhawhawhawhawiapfapfawjawkawlapfawmaoHawnawoawpawqawqawqawrawqawsawqawtawuawvawvawwawwawxawyawzawAaqjawBawCawDawEawFatdauTawGawGawHawIawIawJawHawGawGawKawLavPavSavSavSavSavUaPSawOasFasFasFasFasFawOawPavYavZaaaaaaaaaaaaaabaabaaaaabaaaaaaawQaaaaaaaabaaaaaaaabaaaaaaaabaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaawRawSawSawSawTawSawSawSawUawVawWawUawUawUawXatxawYaseaaaaabaabaaaaaaaaaaaaaabaaaawZaxaaxbaabaaaaabaaaaaaaaaaaaaaaapfaoHaoHaxcaoHaoHaoHaoHaoHaoHaoHaoHaxdaxeaxfaxgaxgaxgaxgaxgaxgaxhaxiaxjaxkaxkaxkaxkaxlaxmaxkaxnaxoaxlaxkaxkaxkaxkaxpaxqaxraxsaxtauSatdatdatdatdatWaxuawGawHawIaxvawIaxwaxxaxyaxzaxAaxBavSavSavSavSavUaPTaxIasFasFasFasFasFaxJaxKaxLaxMaaaaaaaaaaaaaaaaabaaaaabaaaaxNaxOaxNaaaaabaaaaaaaabaaaaaaaaaaabaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaxPaxQaxRaxSaxTaxRaxRaxUaxSaxRaxVaxWaxXaxXaxYatxawYatyaabaabaaaaaaaaaaaaaaaaabaxZayaaybaycaydaaaaabaaaaaaaaaaaaaaaapfaoHapfayeayfaygaygaygaygaygaygaygayhayeayiayjayjayjayjayjayjayjaykaylaxkaymaynayoaypayqayraysaytayuayvaynaywaxkayxapoayyalsayzasZataatbatcatdauTayAayBaxyaxyayCayDayEayFayGavNayHayIayJayKayKayLayMaYVayOasFasFasFasFasFayPasDasDasDaaaaaaaaaaaaaabaabaabaabaaaayQayRayQaaaaabaaaaaaaabaaaaaaaaaaaaaabaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabaabatuawRaySawRayTaxRaxRayUawRaySawRayVaxQaxTayWatxawYatxatxayXatBatBatBatBatCatxayYayZazaazbayYapfapfawjawkawlapfapfapfaoHaroayeaaaaabaaaaabaaaaabaaaaabaaaayeayiayjazcazdazeazfazgayjaykaoHaxkazhazhaziazjazkazlazmaznazoazpazqazqaxkayxapoazralsayzasZatUatbatcatdatWazsaztazuazvazwazxazyazyazzazyasDazAbakaZaazDazEazFasDazGasFasFasFasFasFazGasDaabaaaaaaaaaaaaaaaaabaabaaaaabazHazIazJazKazLaabaaaaaaaabaaaaaaaaaaaaaaaaabaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabazMasGazNavkazOazPazQazRazSazOavkazTazUasGazVazWatxazXazYazYazYazYazYazYavqazZaAaayYaAbaAcaAdayYaAeaoHaoHaoHaoHaoHaoHaoHaoHaAfayeaabaAgaAgaAgaAgaAgaAgaAgaabayeayiayjaAhaAiaAjaAkaAhayjaykaAlaxkaxkaxkaxkaAmaAnaynaAoaAnaApaxkaxkaxkaxkayxapoaAqalsayzasZatUatbatcatdauTaArazyazyazyazyazyazyaAsaAtaAuazyasDasDasDasDaAvasDasDazGasFasFasFasFasFazGasDaaaaaaaaaaaaaagaaaaaaaaaaaaaabaAwaAxaAyaAzaAwaabaaaaaaaabaaaaaaaaaaaaaaaaaaaabaabaaaaaaaaaaaaaabaabaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaagaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaxPaySaAAaABaABaABaABaACaySaxPaADasGaAEaAFaAGaAGaAGaAGaAGaAGaAGaAGawdaAHaAaayYaAIaAJaAKayYaALaAMaALaALaALaALaALaALaALaALaANaaaaAgaAOaAPaAQaARaASaAgaaaayeayiayjaAhaATaAUaAVaAhayjaykapfaxkaAWaAXaziaAYaAZazlaBaaAZaBbaBcaBdaBdaxkayxapoayyalsaBeastavDatbavEaBfauTaArazyaBgaAtaBhaBhazyaAsaBiaAuazyaBjaBkaBjaBlaBmaBnaabaBoaBpaBpaBpaBpaBpaBqaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabaAwaBraBsaBtaAwaabaaaaaaaBuaBvaBvaBvaBvaBwaBxaBvaBvaBvaBvaByaByaBvaBzaBAaBBaBCaBDaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaagaaaaaaaaaaaaaaaaBEaBFaBGaBFaBFaBHaBIaBFaBFaBGaBJaBKasGayTaBLaBMaBNaBOaBPaBQaBRaBSaAGawdaBTatxayYayYaBUaBVaANaBWaBXaBYaBZaCaaCbaCcaCdaCeaCfaANaabaAgaCgaChaCiaCjaCkaAgaabayeayiayjaClaCmaCnaCmaCoayjaykaCpaxkaynaynaCqaCraAnaCsaAoaAnaCtaCuaynaywaxkayxapoayyalsayzawCawDaCvawFatdaCwaCxazyaCyaAtaAtaAtazzaCzaCAaCBazyaCCaCDaCDaCEaBmaBnaaaaabaaaaabaaaaabaaaaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabaAwaCFaCGaCHaAwaBnaCIaCJaCKaCLaCMaCMaCMaCMaCMaCMaCNaCOaCOaCPaCQaCRaCOaCOaCSaCTaCUaabaaaaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaBEaBJaBFaCVaCWaCWaCXaCYaCZaDaaDbaCWaCWaDcaDdawRayTaDeaAGaDfaDgaDhaDiaDhaDjaDkaDlaDmaqQaDnaDoaDpazYaDqaDraDsaDtaDtaDtaDuaDtaDtaDvaBXaANaaaaAgaDwaDxaDyaCjaDzaAgaaaayeayiayjaDAaDBaDCaDDaDEayjaykaDFaxkaxkaxkaxkaDGaAnaynaDHaAZaDIazpaDJaDKaxkaDLasqaDMalsayzaDNaDOaDOaDOaDOaDPaDQaDRaDSaDTaDUaDUaDUaDVaDUaDWaDUaDXaDYaDZaEaaEbaBnaBnaBnaBnaBnaBnaBnaBnaBnaBnaCIaCJaBnaBnaBnaCIaEcaEdaBnaBnaAwaAwaEeaEfaAwaEgaEhaEiaEjaEkaElaElaElaElaElaEgaEmaEnaEnaEoaEpaEqaEnaEraEsaEtaEraEraEraEraaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaDcaEuaEvaEwaCWaExaCWaExaCWaExaCWaExaCWaEyaEzazOayTaEAaAGaEBaECaEDaEEaEFaEGaAGaEHaEIazYaEJazYaEKaqQaALaELaDvaDtaDtaDtaDtaDtaDtaEMaENaEOaEPaEQaERaESaETaEUaEVaAgaabayeaEWaEXaEYaEZaFaaFbaFcaEXaFdaFeaxkaFfaynaziaFgaAZazlaFhaAnaFiaxkaxkaxkaxkaFjaFkaFlalsaFmariariariaFnaFoaFpaFqaFraFsaFtaFraFuaFraFvaFraFwaFxaFyaCDaFzaBlaFAaFBaFCaFDaFDaFBaFEaFFaFFaFFaFFaFFaFGaFHaFFaFIaFJaFKaFLaFMaFNaFOaFPaFQaFRaFRaFRaFSaFTaFUaFVaElaFWaFXaFYaElaEnaFZaEnaGaaGbaGcaGdaGeaGfaGgaGhaGiaGjaGkaGlaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaGmaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaGnaCWaCWaBGaCWaExaCWaExaGoaExaCWaExaCWaEyaEzazOayTaGpaAGaGqaGraGsaGtaGsaBMaBMaGuaGvaGwaGxaGyaGxaGxaGzaGAaGBaGCaGCaGCaGDaGCaGCaGEaGFaANaaaaGGaAgaGHaGIaGHaAgaAgaaaayeaGJayjaGKaGLaGMaGNaGOaGPaGQaGRaxkaGSaynaGTaCraAnaynaAoaAnaCtaGUaxkaxkaxkaGVaGWaGXalsaGYalsalsalsaGZalsaHaaHbazyaHcaAtazyaHdazyaHeazyaHfaHgaHhaHiaHjaHkaHlaHmaHnaHoaHpaHqaHraHpaHpaHsaBvaHoaHtaHoaHuaHvaHoaHwaHxaHyaHzaHzaHAaHBaHCaHDaHzaHEaHFaHGaHHaHIaHJaHKaHLaElaHMaHNaEnaHOaHPaHQaHRaGeaHSaHTaGhaHUaEraEraEraaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaDcaHVaEvaEwaCWaExaCWaExaCWaExaCWaExaCWaEyaEzazOaHWaHXaHYaHZaIaaIaaIaaHXaIbaIcaHXaIdaIeaqQaIfauyauyaALaIgaIhaBXaIiaIjaIkaIlaImaInaIoaANaaaaIpaaaaIqaIraIqaaaaabaaaayeaGJayjaIsaItaIuaIvaIwayjaIxaoHaxkaIyaynaziaIzaIAazlaIBaICaIDaIEaIFaIGaIHaIIaIJaIKaILaIMaINaaaaaaaIOaIPaIQaIRazyaISaAtaAtaAtaCAaAtaAtaAtaITaBlaIUaBlaIVaIWaIXaIYaIXaIXaIZaJaaJbaJcaJdaJeaJeaJfaJeaJgaJeaJhaJiaJiaJjaJiaJiaJkaJiaJiaJiaJiaJlaJmaHHaJnaJoaJpaJqaJraElaJsaJtaJuaJvaJwaJxaHRaJyaHSaHTaGhaHTaJzaJAaJBaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaJCaJCaJCaJCaJCaJCaJCaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaJDaJEaBFaCVaCWaCWaCWaJFaCWaCWaJGaCWaCWaDcaJHaxPayTaxRaJIaJJaJJaJJaJJaJJaJJaJJaJKaJLatxatxaJMatxatxaALaJNaJOaJPaJQaJQaJQaJQaJRaJSaJTaANaJUaJVaJWaJXaJYaJZaJWaJWaKaayeaKbayjayjayjaKcaKdayjayjaKeaKfaxkaxkaxkaxkaKgaKhaGTaGTaKiaKjaIFaIFaKkaIJaIJaIJaIJaIJaKlaKmaKnaKoaIOaKpaIQaKqazyazyazyazyazyazyazyazyazyaITaKraKsaKtaKuaKvaKwaKxaKyaIXaKzaKAaKBaKCaKDaJeaKEaKFaKGaKHaJeaKIaKJaKKaKLaKMaKNaKOaKPaKQaKRaJiaKSaKTaKUaJnaKVaJpaJqaKWaElaKXaKYaKZaLaaLbaHRaHRaEnaEraLcaGhaHTaLdaLeaLfaaaaaaaaaaaaaaaaaaaaaaaaaaaaJCaJCaJCaJCaJCaJCaJCaJCaJCaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaJDaBFaBGaBFaBFaLgaBIaBFaBFaBGaJEaLhasGaLiaxRawRaLjaLjaLkaLjaLlatuaLmaLnaJLaLoaLpaLqaLraLsaLtaLuaLvaLuaLuaLuaLuaLuaLuaLuaLwaLxaLyaLzaLAaLAaLBaLCaLAaLAaLAaLDaLEaLFaLGaLAaLHaLIaLJaLKaLLaIJaLMaLNaIJaIKaILaILaILaILaILaILaLOaLPaLQaLRaLSaLTaLUaLVaLWaIJaIJaIJaLXaLYaLZaLYaMaaMbaMcaMdaIJaMeaIJaBlaMfaMgaMhaMiaMiaMiaMjaMkaMlaMmaIXaMnaMoaKDaKDaKDaJeaMpaMqaMraMsaJeaJiaMtaKJaMuaMvaMwaMxaMyaMzaMAaJiaJlaMBaMCaMCaMDaMEaMCaMFaElaMGaMHaEnaMIaMJaHRaHRaEnaMKaMLaMMaHTaEraEraEraaaaabaaaaaaaaaaaaaaaaaaaaaaJCaJCaJCaJCaJCaJCaJCaJCaJCaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaawRaySaMNaABaABaABaABaMOaySawRaADasGaAEaMPazOaMQaMRaMSaMSaMTatuaMUaLnaMVaMWaLpaMXaMYaMZaNaaNbaNcaLuaLuaLuaLuaLuaLuaLuaLwaNdaNeaLuaLuaLuaNfaNgaLuaLuaLuaLuaNhaLuaLuaLuaNiaNdaLpaLKaIJaIJaIJaIJaIJaIJaIJaIJaIJaIJaIJaIJaNjaNkaNlaNmaNnaNoaNpaNqaNraIJaIJaIJaLKaIJaIJaIJaIJaIJaIJaIJaIJaNsaIJaBlaKsaNtaKsaKsaKsaKsaNuaNvaNwaNxaIXaNyaNzaNAaNBaNCaJeaNDaKFaMraMsaNEaJeaJiaJiaNFaJiaJiaJiaNGaNHaNGaJiaJlaJmaNIaHHaHHaNJaHHaNKaElaEnaEnaEnaEnaEnaEnaNLaEnaHTaHTaGhaHTaNMaNNaEraaaaabaaaaaaaaaaaaaaaaaaaaaaJCaJCaJCaJCaJCaJCaJCaJCaJCaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabaabazMasGazOavkazOaNOaNPaNQaNRazOavkaNSaNTasGayTaxRazOaNUaNVaMSaMSaMTatuaNWaLnaJLaMWaLpaNXaNYaNZaNZaNZaOaaObaOcaNZaOdaNZaNZaOeaOfaOgaOhaNZaOiaOjaOkaOlaOmaOnaOoaOpaOqaOraOraOsaOtaNdaLpaLKaIJaOuaIJaOvaOvaOvaOvaOvaOvaOvaOvaOwaOxaOvaOvaOvaOvaOyaOvaOvaOvaOvaOvaOzaOAaOvaOvaOvaOvaOvaOvaOvaIJaIJaIJaBlaOBaOCaOBaOBaOBaODaOEaNvaNwaOFaIXaIXaOGaIXaIXaIXaJeaOHaKFaOIaOJaOKaJeaJiaOLaOMaONaOOaONaONaOPaOQaJiaJlaJmaORaORaOSaOTaOUaOUaOVaElaOWaOXaOYaEraOZaPaaPbaHTaHTaPcaPdaEraPeaEraPfaPfaPfaaaaaaaaaaaaaaaaaaaJCaJCaJCaJCaJCaJCaJCaJCaJCaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabaabatuaxPaySaxPayTaxRaxRayUaxPaySaxPaPgawSaPhaxRaxPaPiaPiaLkaPiaLlatuaPjaLnaJLaPkaPkaPlaPmaPkaPnaPnaPnaPnaPnaPoaPpaPnaPnaPnaPnaPnaPqaPraPsaPraPtaPuaPvaLuaLvaPwaPxaPyaPzaLvaLuaPAaPBaPBaIJaIJaIKaPCaKnaKnaPDaPDaPDaPDaPEaPFaPGaPHaPIaPJaPJaPKaPLaPJaPMaPNaPOaPFaPPaPDaPDaPDaPDaKnaKnaPQaIIaIJaIJaIXaPRaPSaPTaPTaPTaPTaPUaKBaPVaKDaIXaPWaPXaPYaJeaPZaJeaJeaQaaJeaQbaJeaJeaJiaQcaQdaQeaQeaQeaQeaQfaQgaJiaQhaJmaQiaHHaOSaOTaHHaHHaQjaElaQkaQlaQmaEraQnaQoaQpaQqaQqaQraQpaQsaQtaEraQuaQvaPfaQwaQxaQyaabaaaaaaaJCaJCaJCaJCaJCaJCaJCaJCaJCaaaaaaaaaaaaaagaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaGmaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaawRaQzaxRaQAaPhaxRaxRaQBaQAaxRaQzaPhaxRaxRaxRaQCaQDaQDaQDaQDaQDaQDaQDaQEaQFaPkaQGaQHaQIaQJaQKaQLaQMaQNaQOaQPaQQaQRaQSaQTaQUaQVaQWaQXaQYaQZaPtaRaaPvaPvaRbaPvaRcaPBaPBaRdaReaPBaPBaPBaRfaIJaIKaRgaaaaaaaaaaaaaaaaaaaaaaPFaRhaRiaRjaRkaRlaRmaRlaRnaRoaRpaRqaPFaaaaaaaaaaaaaaaaaaaaaaRraIIaIJaRsaRtaRuaRvaRwaRwaRwaRwaRwaKDaRxaRwaRyaRzaRAaRBaJeaRCaRDaREaRFaRGaRHaRIaRJaJeaONaRKaRLaRLaRLaRLaRMaRNaJiaJlaJmaROaROaOSaOTaRPaRPaRQaElaElaRRaElaEraRSaPaaPdaRTaRTaPcaPdaEraEraEraRUaRVaRWaRXaRYaRZaabaabaaaaJCaJCaJCaJCaJCaJCaJCaJCaJCaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaagaaaaaaaaaaaaaaaaaaaxPaSaaSbaSaaSaaSaaSaaSaaSaaSbaSaaSaaScaxRaxRaSdaxRaxRaSeaxRaSfaSgaShaSiaSjaPkaQGaSkaSlaPnaSmaQPaQPaQPaQPaQPaQQaSnaQPaQPaQPaQVaPqaSoaSpaSqaPtaRaaPvaSraSsaStaSuaPBaSvaSwaSxaSyaSzaSAaIJaIJaIKaRgaaaaaaaaaaaaaPFaPFaPFaPFaSBaSCaSDaSEaSFaSGaSHaSIaSJaSKaSLaPFaPFaPFaPFaaaaaaaaaaaaaRraIIaIJaIJaSMaKDaSNaKDaKDaKDaSOaSPaSPaSQaRwaSRaRzaSSaRzaSTaRCaSUaSVaSWaSXaSYaSZaRCaTaaTbaTcaRLaTdaTeaRLaTfaONaJiaJlaJmaQiaHHaOSaOTaHHaHHaHHaTgaThaHHaTiaEraTjaTkaTlaRTaRTaTmaTlaTnaEraToaTpaTpaTpaTpaTqaTraQxaQxaTsaJCaJCaJCaJCaJCaJCaJCaJCaJCaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaasGasGaTtaTuaTuaTuaTuaTuaTuaTuazUasGatuaTvaTwaTxaTxaTxaTyaTxaTxaTxaTzaTxaTzaPkaQGaTAaTBaPnaTCaQPaQPaTDaTEaTFaTGaTDaQPaQPaQPaTHaPqaTIaTJaTKaPtaTLaPvaTMaTNaTOaTPaPBaTQaTRaTSaSxaTTaTUaIJaIJaIKaKmaPEaTVaTWaPFaPFaTXaTYaTZaUaaUbaUbaUcaUdaUbaUcaUdaUbaUeaUfaUgaUhaUiaPFaPFaTWaTVaUjaUkaIIaIJaIJaIXaUlaUmaUnaUoaKDaUpaUqaUoaUraRwaSRaUsaRzaUtaJeaRCaUuaUvaUwaUxaUyaUzaRCaUAaUBaUCaRLaUDaUEaRLaUFaUGaJiaJlaJmaUHaUHaOSaOTaUIaHHaHHaUJaHHaUKaULaEraUMaUNaUOaRTaRTaUPaUOaUQaEraURaTpaTpaTpaTpaTpaUSaUTaUUaUVaJCaJCaJCaJCaJCaJCaJCaJCaJCaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaUWaUWaUWaUWaUWaUWaUWaUWaUWaUWaUWaUWaabaUXazPaxTaxRaUYaUZaVaaVbaVcaVdaVeaVfaVgaVhaViaVjaVkaVlaPnaVmaQPaQPaTDaTFaVnaVoaTDaQPaQPaQPaQVaPqaPtaPtaVpaPtaVqaVraVraVraVraVsaVtaVuaSxaSxaSxaSxaTUaIJaIJaIKaILaILaVvaVwaVxaPFaVyaSGaUbaVzaUbaUbaUbaUbaVAaUbaVBaUbaVCaVDaVDaVEaVFaPFaVGaVwaVHaVIaILaIIaIJaIJaSMaKDaSNaKDaKDaVJaUpaVKaUoaUraRwaSRaRzaRzaRzaVLaRCaVMaVNaVOaVPaVQaUzaVRaJeaONaUCaVSaRLaRLaRLaUFaONaJiaVTaJmaElaElaVUaOTaVVaVWaHHaVXaVYaKVaVZaWaaWbaWcaWdaWeaWeaWfaWgaWhaWaaWiaWjaTpaTpaTpaTqaWkaQxaQxaWlaJCaJCaJCaJCaJCaJCaJCaJCaJCaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaUWaUWaUWaUWaUWaUWaUWaUWaUWaUWaUWaUWaUWaWmaWnaWoayTaWpaWqaWraWsaWtaWuaWvaWwaWxaWsaWyaWzaWAaWBaWCaPnaWDaQPaWEaWFaWGaWGaWHaWGaWGaWGaWIaWJaWKaQGaWLaWMaWNaWOaQGaQGaWPaPkaWQaPBaWRaWSaWTaWUaWUaWVaIJaIJaIJaIJaIJaWWaWXaWYaWZaXaaXbaUbaXcaXdaXeaXfaXgaXhaXiaXjaXkaXlaXmaXaaXnaXoaXpaXqaXraXsaXtaXuaXvaIJaXwaIXaXxaUmaUnaUoaKDaUpaUqaUoaUraRwaXyaXzaXAaXBaJeaRCaVMaRCaXCaRCaXDaUzaXEaJeaQcaUCaRLaRLaRLaRLaUFaQgaJiaXFaXGaXHaXIaXJaXKaXLaXLaXLaXLaXLaXLaXMaXNaXOaRTaRTaRTaRTaRTaRTaXPaXQaXRaTpaTpaTpaTpaTqaRZaaaaabaabaJCaJCaJCaJCaJCaJCaJCaJCaJCaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaUWaUWaUWaUWaUWaUWaUWaUWaUWaUWaUWaUWaUWaySavkaySaxRaXSaTzaXTaXUaXVaXVaXVaXVaXWaXXaTxaXYaXZaYaaYbaYcaYcaYcaYdaYcaYeaYfaYgaYhaYiaYiaYjaQVaYkaYlaYmaYnaYoaYpaYqaYqaYraYsaYtaYuaYvaYwaYwaYwaYxaPBaYyaIJaYzaYAaYBaYCaYDaYEaYFaYGaYHaYIaYJaPFaPFaPFaPFaPFaPFaYKaYLaYMaYNaXdaYOaYPaPFaYEaYDaYQaYRaYAaYSaIJaIJaSMaKDaYTaKDaKDaKDaNzaKDaKDaUraKDaYUaYUaYUaYUaYVaYWaYXaRCaRCaRCaYYaYZaZaaJeaZbaZcaRLaZdaZdaZeaZcaZfaJiaZgaZhaZiaZjaOSaOSaOSaOSaZkaOSaOSaOSaZlaXQaRTaRTaRTaRTaRTaRTaRTaXPaXQaXRaTpaTpaZmaTpaZnaRZaabaabaaaaJCaJCaJCaJCaJCaJCaJCaJCaJCaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaUWaUWaUWaUWaUWaUWaUWaUWaUWaUWaUWaUWaUWaZoaZpaWoayTaZqaZraZsaZtaZuaZvaZwaXVaZxaZyaTxaZzaZAaYaaYbaZBaZCaZDaZEaYcaZFaZGaZHaPnaZIaZJaZKaZLaPnaZMaZNaZOaZOaZOaZOaZPaZOaZOaZQaZRaZRaZRaZSaZRaZTaZUaZVaZWaZXaZYaZZaZZaZZaZZbaababbacbabbadbaebaebaebaebaebaebaebaebafbagbagbahbagbagbagbagbagbagbagaYSaIJaIJaIXbaibajbakbalaKDbamaKDbanbaoaKDaYUbapbaqbaraJeaJeaJebasbatbatbataJeaJeaJebauaRLaRLbavbawbaxbayaNGaJibazaZhbaAaElbaBbaCbaDaVWbaEbaCbaFaVWbaGaErbaHaHTbaIaRTaRTbaIaHTbaJaErbaKbaLbaMaTpaTpaTqaRZaaaaabaabaJCaJCaJCaJCaJCaJCaJCaJCaJCaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaxPaySaAAaABaABaABaABaACaySaxPaADasGaAEaAFaAGaAGaAGaAGaAGaAGaAGaAGawdaAHaAaayYaAIaAJaAKayYaALaAMaALaALaALaALaALaALaALaALaANaaaaAgaAOaAPaAQaARaASaAgaaaayeayiayjaAhaATaAUaAVaAhayjaykapfaxkaAWaAXaziaAYaAZazlaBaaAZaBbaBcaBdaBdaxkayxapoayyalsaBeastavDatbavEaBfauTaArazyaBgaAtaBhaBhazyaAsaBiaAuazyaNBbqjbicaIXaBmaBnaabaBoaBpaBpaBpaBpaBpaBqaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabaAwaBraBsaBtaAwaabaaaaaaaBuaBvaBvaBvaBvaBwaBxaBvaBvaBvaBvaByaByaBvaBzaBAaBBaBCaBDaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaagaaaaaaaaaaaaaaaaBEaBFaBGaBFaBFaBHaBIaBFaBFaBGaBJaBKasGayTaBLaBMaBNaBOaBPaBQaBRaBSaAGawdaBTatxayYayYaBUaBVaANaBWaBXaBYaBZaCaaCbaCcaCdaCeaCfaANaabaAgaCgaChaCiaCjaCkaAgaabayeayiayjaClaCmaCnaCmaCoayjaykaCpaxkaynaynaCqaCraAnaCsaAoaAnaCtaCuaynaywaxkayxapoayyalsayzawCawDaCvawFatdaCwaCxazyaCyaAtaAtaAtazzaCzaCAaCBazyaQbaSOaSPaQeaQdaBnaaaaabaaaaabaaaaabaaaaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabaAwaCFaCGaCHaAwaBnaCIaCJaCKaCLaCMaCMaCMaCMaCMaCMaCNaCOaCOaCPaCQaCRaCOaCOaCSaCTaCUaabaaaaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaBEaBJaBFaCVaCWaCWaCXaCYaCZaDaaDbaCWaCWaDcaDdawRayTaDeaAGaDfaDgaDhaDiaDhaDjaDkaDlaDmaqQaDnaDoaDpazYaDqaDraDsaDtaDtaDtaDuaDtaDtaDvaBXaANaaaaAgaDwaDxaDyaCjaDzaAgaaaayeayiayjaDAaDBaDCaDDaDEayjaykaDFaxkaxkaxkaxkaDGaAnaynaDHaAZaDIazpaDJaDKaxkaDLasqaDMalsayzaDNaDOaDOaDOaDOaDPaDQaDRaDSaDTaDUaDUaDUaDVaDUaDWaQfaKBaRuaRyaRAaEbaBnaBnaBnaBnaBnaBnaBnaBnaBnaBnaCIaCJaBnaBnaBnaCIaEcaEdaBnaBnaAwaAwaEeaEfaAwaEgaEhaEiaEjaEkaElaElaElaElaElaEgaEmaEnaEnaEoaEpaEqaEnaEraEsaEtaEraEraEraEraaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaDcaEuaEvaEwaCWaExaCWaExaCWaExaCWaExaCWaEyaEzazOayTaEAaAGaEBaECaEDaEEaEFaEGaAGaEHaEIazYaEJazYaEKaqQaALaELaDvaDtaDtaDtaDtaDtaDtaEMaENaEOaEPaEQaERaESaETaEUaEVaAgaabayeaEWaEXaEYaEZaFaaFbaFcaEXaFdaFeaxkaFfaynaziaFgaAZazlaFhaAnaFiaxkaxkaxkaxkaFjaFkaFlalsaFmariariariaFnaFoaFpaFqaFraFsaFtaFraFuaFraFvaFraFwaFxaRBaNzaREaIXaFAaFBaFCaFDaFDaFBaFEaFFaFFaFFaFFaFFaFGaFHaFFaRHaFJaRGaFLaFMaFNaFOaFPaFQaFRaFRaFRaFSaFTaFUaFVaElaFWaFXaFYaElaEnaFZaEnaGaaGbaGcaGdaGeaGfaGgaGhaGiaGjaGkaGlaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaGmaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaGnaCWaCWaBGaCWaExaCWaExaGoaExaCWaExaCWaEyaEzazOayTaGpaAGaGqaGraGsaGtaGsaBMaBMaGuaGvaGwaGxaGyaGxaGxaGzaGAaGBaGCaGCaGCaGDaGCaGCaGEaGFaANaaaaGGaAgaGHaGIaGHaAgaAgaaaayeaGJayjaGKaGLaGMaGNaGOaGPaGQaGRaxkaGSaynaGTaCraAnaynaAoaAnaCtaGUaxkaxkaxkaGVaGWaGXalsaGYalsalsalsaGZalsaHaaHbazyaHcaAtazyaHdazyaHeazyaHfaHgaUpaUtaVLaXyaXzaHoaHnaXAaRJaXBaSQaRJaRJaSSaBvaHoaHtaHoaHuaHoaHoaSTaHxaHyaHzaHzaHAaHBaHCaHDaHzaHEaHFaHGaHHaHIaHJaHKaHLaElaHMaHNaEnaHOaHPaHQaHRaGeaHSaHTaGhaHUaEraEraEraaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaDcaHVaEvaEwaCWaExaCWaExaCWaExaCWaExaCWaEyaEzazOaHWaHXaHYaHZaIaaIaaIaaHXaIbaIcaHXaIdaIeaqQaIfauyauyaALaIgaIhaBXaIiaIjaIkaIlaImaInaIoaANaaaaIpaaaaIqaIraIqaaaaabaaaayeaGJayjaIsaItaIuaIvaIwayjaIxaoHaxkaIyaynaziaIzaIAazlaIBaICaIDaIEaIFaIGaIHaIIaIJaIKaILaIMaINaaaaaaaIOaIPaIQaIRazyaISaAtaAtaAtaCAaAtaAtaAtaITaIXaKtaIXaKsaKraIXaIYaIXaJeaJgaJdaJfaJbaJcaJiaJhaJaaJiaNFaJiaJiaJiaJiaJjaJiaJiaJkaJiaJiaJiaJiaJlaJmaHHaJnaJoaJpaJqaJraElaJsaJtaJuaJvaJwaJxaHRaJyaHSaHTaGhaHTaJzaJAaJBaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaJCaJCaJCaJCaJCaJCaJCaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaJDaJEaBFaCVaCWaCWaCWaJFaCWaCWaJGaCWaCWaDcaJHaxPayTaxRaJIaJJaJJaJJaJJaJJaJJaJJaJKaJLatxatxaJMatxatxaALaJNaJOaJPaJQaJQaJQaJQaJRaJSaJTaANaJUaJVaJWaJXaJYaJZaJWaJWaKaayeaKbayjayjayjaKcaKdayjayjaKeaKfaxkaxkaxkaxkaKgaKhaGTaGTaKiaKjaIFaIFaKkaIJaIJaIJaIJaIJaKlaKmaKnaKoaIOaKpaIQaKqazyazyazyazyazyazyazyazyazyaITaHmaHlaHjaHiaHkaKwaMlaKyaJeaHhaIVaIWaIZaMraJiaHwaIUaHraHqaHraHsaHvaHpaKLaKMaKNaKOaFKaFIaFzaJiaKSaKTaKUaJnaKVaJpaJqaKWaElaKXaKYaKZaLaaLbaHRaHRaEnaEraLcaGhaHTaLdaLeaLfaaaaaaaaaaaaaaaaaaaaaaaaaaaaJCaJCaJCaJCaJCaJCaJCaJCaJCaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaJDaBFaBGaBFaBFaLgaBIaBFaBFaBGaJEaLhasGaLiaxRawRaLjaLjaLkaLjaLlatuaLmaLnaJLaLoaLpaLqaLraLsaLtaLuaLvaLuaLuaLuaLuaLuaLuaLuaLwaLxaLyaLzaLAaLAaLBaLCaLAaLAaLAaLDaLEaLFaLGaLAaLHaLIaLJaLKaLLaIJaLMaLNaIJaIKaILaILaILaILaILaILaLOaLPaLQaLRaLSaLTaLUaLVaLWaIJaIJaIJaLXaLYaLZaLYaMaaMbaMcaMdaIJaMeaIJaIXaMxaMwaMvaPXaRzaRzaMtaMsaNwaMmaJeaMuaMoaMkaMkaMnaJiaMqaMpaMfaMhaMfaMfaMgaKJaMjaKJaMiaMzaMyaMAaKJaJiaJlaMBaMCaMCaMDaMEaMCaMFaElaMGaMHaEnaMIaMJaHRaHRaEnaMKaMLaMMaHTaEraEraEraaaaabaaaaaaaaaaaaaaaaaaaaaaJCaJCaJCaJCaJCaJCaJCaJCaJCaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaawRaySaMNaABaABaABaABaMOaySawRaADasGaAEaMPazOaMQaMRaMSaMSaMTatuaMUaLnaMVaMWaLpaMXaMYaMZaNaaNbaNcaLuaLuaLuaLuaLuaLuaLuaLwaNdaNeaLuaLuaLuaNfaNgaLuaLuaLuaLuaNhaLuaLuaLuaNiaNdaLpaLKaIJaIJaIJaIJaIJaIJaIJaIJaIJaIJaIJaIJaNjaNkaNlaNmaNnaNoaNpaNqaNraIJaIJaIJaLKaIJaIJaIJaIJaIJaIJaIJaIJaNsaIJaIXaKzaKxaRzaUsaRzaRzaKuaNvaNwaNxaJeaKvaKHaKIaKKaKPaJiaKQaKRaxGaKAaKCaKEaJiaKFaKGaKFaJiaJiaJiaJkaJiaJiaJlaJmaNIaHHaHHaNJaHHaNKaElaEnaEnaEnaEnaEnaEnaNLaEnaHTaHTaGhaHTaNMaNNaEraaaaabaaaaaaaaaaaaaaaaaaaaaaJCaJCaJCaJCaJCaJCaJCaJCaJCaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabaabazMasGazOavkazOaNOaNPaNQaNRazOavkaNSaNTasGayTaxRazOaNUaNVaMSaMSaMTatuaNWaLnaJLaMWaLpaNXaNYaNZaNZaNZaOaaObaOcaNZaOdaNZaNZaOeaOfaOgaOhaNZaOiaOjaOkaOlaOmaOnaOoaOpaOqaOraOraOsaOtaNdaLpaLKaIJaOuaIJaOvaOvaOvaOvaOvaOvaOvaOvaOwaOxaOvaOvaOvaOvaOyaOvaOvaOvaOvaOvaOzaOAaOvaOvaOvaOvaOvaOvaOvaIJaIJaIJaIXazBayNaSRaSRaSRaBjazCaNvaNwaOFaJeaJeaJeaJeaJeaxEaJiaxDawNaxCaxHaxGaxGaJiaOLaxFaONaOOaONaONawMaOQaJiaJlaJmaORaORaOSaOTaOUaOUaOVaElaOWaOXaOYaEraOZaPaaPbaHTaHTaPcaPdaEraPeaEraPfaPfaPfaaaaaaaaaaaaaaaaaaaJCaJCaJCaJCaJCaJCaJCaJCaJCaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabaabatuaxPaySaxPayTaxRaxRayUaxPaySaxPaPgawSaPhaxRaxPaPiaPiaLkaPiaLlatuaPjaLnaJLaPkaPkaPlaPmaPkaPnaPnaPnaPnaPnaPoaPpaPnaPnaPnaPnaPnaPqaPraPsaPraPtaPuaPvaLuaLvaPwaPxaPyaPzaLvaLuaPAaPBaPBaIJaIJaIKaPCaKnaKnaPDaPDaPDaPDaPEaPFaPGaPHaPIaPJaPJaPKaPLaPJaPMaPNaPOaPFaPPaPDaPDaPDaPDaKnaKnaPQaIIaIJaIJaIXauiaRvaRwaRwaRwaRwauYaKBaPVaKDaukaujaSRavbavcavdaJeaJeauZavaavRavTavVaJiaQcavQauhauhauhauhaugaQgaJiaQhaJmaQiaHHaOSaOTaHHaHHaQjaElaQkaQlaQmaEraQnaQoaQpaQqaQqaQraQpaQsaQtaEraQuaQvaPfaQwaQxaQyaabaaaaaaaJCaJCaJCaJCaJCaJCaJCaJCaJCaaaaaaaaaaaaaagaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaGmaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaawRaQzaxRaQAaPhaxRaxRaQBaQAaxRaQzaPhaxRaxRaxRaQCaQDaQDaQDaQDaQDaQDaQDaQEaQFaPkaQGaQHaQIaQJaQKaQLaQMaQNaQOaQPaQQaQRaQSaQTaQUaQVaQWaQXaQYaQZaPtaRaaPvaPvaRbaPvaRcaPBaPBaRdaReaPBaPBaPBaRfaIJaIKaRgaaaaaaaaaaaaaaaaaaaaaaPFaRhaRiaRjaRkaRlaRmaRlaRnaRoaRpaRqaPFaaaaaaaaaaaaaaaaaaaaaaRraIIaIJaRsaRtaXxaSNaKDaKDaKDaKDaKDaVJaRxaKDaKDaKDaSRaRzaDXaRCaRDaDZaRFaDYaFyaRIaEaaJeaONaRKaRLaRLaRLaRLaRMaRNaJiaJlaJmaROaROaOSaOTaRPaRPaRQaElaElaRRaElaEraRSaPaaPdaRTaRTaPcaPdaEraEraEraRUaRVaRWaRXaRYaRZaabaabaaaaJCaJCaJCaJCaJCaJCaJCaJCaJCaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaagaaaaaaaaaaaaaaaaaaaxPaSaaSbaSaaSaaSaaSaaSaaSaaSbaSaaSaaScaxRaxRaSdaxRaxRaSeaxRaSfaSgaShaSiaSjaPkaQGaSkaSlaPnaSmaQPaQPaQPaQPaQPaQQaSnaQPaQPaQPaQVaPqaSoaSpaSqaPtaRaaPvaSraSsaStaSuaPBaSvaSwaSxaSyaSzaSAaIJaIJaIKaRgaaaaaaaaaaaaaPFaPFaPFaPFaSBaSCaSDaSEaSFaSGaSHaSIaSJaSKaSLaPFaPFaPFaPFaaaaaaaaaaaaaRraIIaIJaIJaSMaKDaUmaBkaUoaKDaBlaCCaSPaCDaUqaUoaKDaSRaRzaCEaRCaSUaSVaSWaSXaSYaSZaRCaTaaTbaTcaRLaTdaTeaRLaTfaONaJiaJlaJmaQiaHHaOSaOTaHHaHHaHHaTgaThaHHaTiaEraTjaTkaTlaRTaRTaTmaTlaTnaEraToaTpaTpaTpaTpaTqaTraQxaQxaTsaJCaJCaJCaJCaJCaJCaJCaJCaJCaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaasGasGaTtaTuaTuaTuaTuaTuaTuaTuazUasGatuaTvaTwaTxaTxaTxaTyaTxaTxaTxaTzaTxaTzaPkaQGaTAaTBaPnaTCaQPaQPaTDaTEaTFaTGaTDaQPaQPaQPaTHaPqaTIaTJaTKaPtaTLaPvaTMaTNaTOaTPaPBaTQaTRaTSaSxaTTaTUaIJaIJaIKaKmaPEaTVaTWaPFaPFaTXaTYaTZaUaaUbaUbaUcaUdaUbaUcaUdaUbaUeaUfaUgaUhaUiaPFaPFaTWaTVaUjaUkaIIaIJaIJaIXaUlaUmaUqaUoaKDaNHaNEaKDaNuaNDaUoaKDaSRaRzaOBaRCaUuaUvaUwaUxaUyaUzaRCaUAaUBaUCaRLaUDaUEaRLaUFaUGaJiaJlaJmaUHaUHaOSaOTaUIaHHaHHaUJaHHaUKaULaEraUMaUNaUOaRTaRTaUPaUOaUQaEraURaTpaTpaTpaTpaTpaUSaUTaUUaUVaJCaJCaJCaJCaJCaJCaJCaJCaJCaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaUWaUWaUWaUWaUWaUWaUWaUWaUWaUWaUWaUWaabaUXazPaxTaxRaUYaUZaVaaVbaVcaVdaVeaVfaVgaVhaViaVjaVkaVlaPnaVmaQPaQPaTDaTFaVnaVoaTDaQPaQPaQPaQVaPqaPtaPtaVpaPtaVqaVraVraVraVraVsaVtaVuaSxaSxaSxaSxaTUaIJaIJaIKaILaILaVvaVwaVxaPFaVyaSGaUbaVzaUbaUbaUbaUbaVAaUbaVBaUbaVCaVDaVDaVEaVFaPFaVGaVwaVHaVIaILaIIaIJaIJaSMaKDaSNaKDaKDaKDaNyaNCaKDaNuaVKaUoaKDaSRaRzaNtaRCaVMaVNaVOaVPaVQaUzaVRaJeaONaUCaVSaRLaRLaRLaUFaONaJiaVTaJmaElaElaVUaOTaVVaVWaHHaVXaVYaKVaVZaWaaWbaWcaWdaWeaWeaWfaWgaWhaWaaWiaWjaTpaTpaTpaTqaWkaQxaQxaWlaJCaJCaJCaJCaJCaJCaJCaJCaJCaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaUWaUWaUWaUWaUWaUWaUWaUWaUWaUWaUWaUWaUWaWmaWnaWoayTaWpaWqaWraWsaWtaWuaWvaWwaWxaWsaWyaWzaWAaWBaWCaPnaWDaQPaWEaWFaWGaWGaWHaWGaWGaWGaWIaWJaWKaQGaWLaWMaWNaWOaQGaQGaWPaPkaWQaPBaWRaWSaWTaWUaWUaWVaIJaIJaIJaIJaIJaWWaWXaWYaWZaXaaXbaUbaXcaXdaXeaXfaXgaXhaXiaXjaXkaXlaXmaXaaXnaXoaXpaXqaXraXsaXtaXuaXvaIJaXwaIXaXxaUmaUnaUoaKDaOGaOEaKDaNuaUqaUoaKDaSRaOHaDXaRCaVMaRCaXCaRCaXDaUzaXEaJeaQcaUCaRLaRLaRLaRLaUFaQgaJiaXFaXGaXHaXIaXJaXKaXLaXLaXLaXLaXLaXLaXMaXNaXOaRTaRTaRTaRTaRTaRTaXPaXQaXRaTpaTpaTpaTpaTqaRZaaaaabaabaJCaJCaJCaJCaJCaJCaJCaJCaJCaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaUWaUWaUWaUWaUWaUWaUWaUWaUWaUWaUWaUWaUWaySavkaySaxRaXSaTzaXTaXUaXVaXVaXVaXVaXWaXXaTxaXYaXZaYaaYbaYcaYcaYcaYdaYcaYeaYfaYgaYhaYiaYiaYjaQVaYkaYlaYmaYnaYoaYpaYqaYqaYraYsaYtaYuaYvaYwaYwaYwaYxaPBaYyaIJaYzaYAaYBaYCaYDaYEaYFaYGaYHaYIaYJaPFaPFaPFaPFaPFaPFaYKaYLaYMaYNaXdaYOaYPaPFaYEaYDaYQaYRaYAaYSaIJaIJaSMaKDaYTaKDaKDaKDaNzaKDaKDaUraKDaYUaYUaYUaYUaODaYWaYXaRCaRCaRCaYYaYZaOCaJeaZbaZcaRLaZdaZdaZeaZcaZfaJiaZgaZhaZiaZjaOSaOSaOSaOSaZkaOSaOSaOSaZlaXQaRTaRTaRTaRTaRTaRTaRTaXPaXQaXRaTpaTpaZmaTpaZnaRZaabaabaaaaJCaJCaJCaJCaJCaJCaJCaJCaJCaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaUWaUWaUWaUWaUWaUWaUWaUWaUWaUWaUWaUWaUWaZoaZpaWoayTaZqaZraZsaZtaZuaZvaZwaXVaZxaZyaTxaZzaZAaYaaYbaZBaZCaZDaZEaYcaZFaZGaZHaPnaZIaZJaZKaZLaPnaZMaZNaZOaZOaZOaZOaZPaZOaZOaZQaZRaZRaZRaZSaZRaZTaZUaZVaZWaZXaZYaZZaZZaZZaZZbaababbacbabbadbaebaebaebaebaebaebaebaebafbagbagbahbagbagbagbagbagbagbagaYSaIJaIJaIXbaiaNAaNBbalaKDbamaKDbanbaobajaYUbapbaqbaraJeaJeaJebasbatbatbataJeaJeaJebauaRLaRLbavbawbaxbayaNGaJibazaZhbaAaElbaBbaCbaDaVWbaEbaCbaFaVWbaGaErbaHaHTbaIaRTaRTbaIaHTbaJaErbaKbaLbaMaTpaTpaTqaRZaaaaabaabaJCaJCaJCaJCaJCaJCaJCaJCaJCaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaUWaUWaUWaUWaUWaUWaUWaUWaUWaUWaUWaUWaabaxPbaNaPhbaOaTzbaPbaPbaQbaRbaSbaQbaTbaPaTxbaUbaVbaWbaXbaYbaYbaZbbabaYbbbaZGbbcaPnaZIaZJbbdbbeaPnbbfaZNaZObbgbbhbbhbbhbbiaZObbjbbkbblbbmaZUaZUaZUaZUaIJaIJbbnbbobbpbbqbbrbbsbbtbbubbvbbwbadbaebbxbbybbzbbAbbBbbCbbDbafbagbbEbbFbbGbbHbbIbbJbbKbbLbagbbMbbNbbNaIXaIXaIXaIXaIXbbOaSMbbObbPaIXaIXaRtaIXaIXaIXbbQbbRbbRbbRbbRbbRbbRbbSbbRbbQaNGbbTbbTbbUaZiaZiaZiaZibbQbazbbVbaAaElaElaElaElaElbbWaElaElaElaElaErbbXbbYbbZbbZbbZbbZbcaaEraErbcbaTpbccaTpaTpaTqaTraQxaQxaWlaJCaJCaJCaJCaJCaJCaJCaJCaJCaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaazMasGbcdaABaWoatuatuatuatuatuatubcebaOaTzaTxaTxaTxaTxaTxaTxaTxaTxaTxbcfaQGaYaaYbaZBbcgbchbciaYcbcjbckbclaPnaZIaZJbcmbcnaPnbbfaZNaZObbhbcobcobbhbcoaZObbjbcpbcqbcqbcrbcsbctaZUbcuaIJaYzbcvbcwbcxbcybczbczbcybcAbcBbadbaebcCbcDbcEbcFbcGbcHbcIbcJbcKbcLbcMbbLbcNbcObcPbbLbcQbagaYSbcRaIJbcSbcTbcUaZiaZiaZiaZiaZiaZiaZibcVaZiaZiaZiaZibcWaZiaZiaZiaZiaZiaZiaZiaZibcXaZiaZiaZiaZiaZiaZiaZiaZibcYbcZbdabdbbdcbdbbddbdbbdebdfbdgbdbbdhbdbbdibdjbdbbdbbdbbdbbdbbdbbdkbdlbdmbdnbccaTpaTpaTpaUVbdoaUUaUVaJCaJCaJCaJCaJCaJCaJCaJCaJCaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabdpbdpbdpbdpbdpbdpbdpbdpbdpbdpaaaaabbdqazPaxTbdrbdsbdtbdtbdtbdtbdtbdtbdubdvaPkaWPaQGaYaaYbaYcaYcbdwbdxaYcaPnaPnbdyaPnaZIbdzbcmbdAaPnbbfaZNaZObdBbdCbbhbcobdDaZObbjbdEbcqbcqbcqbdFbdGaZUbdHaIJaYzbdIbdJbdKbdLbdMbdNbdObcAbdPbadbaebdQbdRbdSbdSbdSbdTbdUbaebdVbdWbbLbbLbcNbdXbcPbbLbdYbagbdZaIJaIJbcSbcTbcUaZiaZiaZiaZiaZiaZiaZibeaaZiaZiaZiaZiaZiaZibebbdbbdbbdbbdbbdbbdbbecbdbbdbbdbbdbbdbbdbbdbbedbeebefbegaZiaZiaZiaZiaZiaZhaZiaZiaZiaZiaZiaZiaZiaZiaZiaZiaZiaZibehbcYbeiaTpaTpbccaTpaTpbejaWkaQxaQxaTsaJCaJCaJCaJCaJCaJCaJCaJCaJCaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabdpbdpbdpbdpbdpbdpbdpbdpbdpbdpbdpaWmaWnaWoayTbekbelbembembenbembembembeoaPkaPkaPkaPkaYaaYbaZBbepbeqberaYcbesbetbeuaPnaPnaPnaPnbevaPnbbfaZNaZObewbbhbcobexbeyaZObbjaZUbezbcqbcqbeAbeBaZUbeCaIJaYzbeDbeEbdKbdLbeFbeGbdObcAbeHbadbeIbeJbeKbdSbeLbdSbcDbeMbeNbdVbeObePbeQbeRbeRbeSbbLbeTbagaYSbeUaIJbcSbcTbcUaZibeVaZibeWbeXbeXbeXbeYbeXbeXbeXbeZaZiaZiaZiaZibfaaZibeVbfbbfcbfdaZiaZiaZibfebffbfgbfhbfibfjbfkaZiaZiaZiaZiaZibflbfmbfaaZiaZiaZiaZiaZiaZiaZiaZiaZiaZiaZiaZibcYbfnbfobfpbfqbfrbfsbftbfuaabaaaaabaJCaJCaJCaJCaJCaJCaJCaJCaJCaaaaaaaaaaaaaagaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabdpbdpbdpbdpbdpbdpbdpbdpbdpbdpbdpaySavkaySaxRbfvbembfwbfxbfybfybfzbfAbfBbfCbfCbfCbfCbfDbfEbfFbfFbfGbfHbfFbfIbfIbfJbfIbfKbfLbfLbfMbfLbfNbfObfPbfQbfRbfRbfSbfTbfPbfUbfVbfWbcqbcqbeAbfXbfYbeCaIJaYzbfZbgabgbbcybcybcybcybcAbgcbadbaebgdbgebgfbggbghbgebgibaebdVbgjbgkbglbgmbgnbgobgpbgqbagbgraGWaGWbgsbgsbgsbgsbgsbgsbgsbgtbgubgubgvbgwbgxbgtbgybgybgybgybgybgybgzbgzbgzbgAbgzbgzbgzbgBbgCbflbgDbgEbgFbgGbgHaZiaZibgIbgIbgJbgJbgJbgJbgJbgKbgLbgLbgMbgLaZibgLbgMbgLbgLbgNbgObgObgObgObgPbgQbgRaQxbgSaaaaaaaaaaJCaJCaJCaJCaJCaJCaJCaJCaJCaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabdpbdpbdpbdpbdpbdpbdpbdpbdpbdpbdpaZoaZpaWoayTbgTbembgUbembgVbgWbembembemaQGbgXbgYbgYbgZaYcaZBbhabchbhbaYcbhcbhdbhebhebhfbhgbhhbhibhjbhhbhkbhlbhmbhnbhmbhmbhobhpbhqbhrbhsbcqbcqbhtbhubhvbeCaIJbhwbfZbhxbhybhzbhAbhBbhCbhDbadbadbaebhEbhFbhGbhHbhIbhJbhKbaebdVbhLbhMbhNbhObhPbgobbLbhQbagaYSaIJbhRbgsbhSbhTbhUbhVbhWbhXbhYbhZbhZbiabibbibbicbgybidbiebifbigbgybihbiibijbikbilbimbinbiobipbiobiobiobiqbirbisbitbisbiubiubgJbivbiwbixbgJbiybizbiybgJbgKbgLbgNbgObiAbiBbiAbgObiCbiDbgObiEbgQaaaaabaaaaaaaaaaaaaJCaJCaJCaJCaJCaJCaJCaJCaJCaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabdpbdpbdpbdpbdpbdpbdpbdpbdpbdpbdpaZoaZpaWoayTbgTbembgUbembgVbgWbembembemaQGbgXbgYbgYbgZaYcaZBbhabchbhbaYcbhcbhdbhebhebhfbhgbhhbhibhjbhhbhkbhlbhmbhnbhmbhmbhobhpbhqbhrbhsbcqbcqbhtbhubhvbeCaIJbhwbfZbhxbhybhzbhAbhBbhCbhDbadbadbaebhEbhFbhGbhHbhIbhJbhKbaebdVbhLbhMbhNbhObhPbgobbLbhQbagaYSaIJbhRbgsbhSbhTbhUbhVbhWbhXbhYbhZbhZbiabibbibdBkbgybidbiebifbigbgybihbiibijbikbilbimbinbiobipbiobiobiobiqbirbisbitbisbiubiubgJbivbiwbixbgJbiybizbiybgJbgKbgLbgNbgObiAbiBbiAbgObiCbiDbgObiEbgQaaaaabaaaaaaaaaaaaaJCaJCaJCaJCaJCaJCaJCaJCaJCaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabdpbdpbdpbdpbdpbdpbdpbdpbdpbdpaaaaaaazObaNaPhbiFbembiGbembiHbiIbiJbiKbembiLaQGbiMaQGbiNaYcaYcaYcaYcaYcaYcbiObiPbiQaQGbiRaZOaZOaZObiSaZOaZOaZObiTaZOaZOaZOaZObiUbiVbiWbiXbcqbcqbeAbiYbfYbeCaIJbiZbfZbjabhybadbadbadbadbjbbadbjcbjdbjebjfbbxbjgbbxbjhbjibjjbjkbhLbjlbbLbjmbjnbgobjobbLbjpbjqbjrbjsbgsbjtbjubjvbjwbjxbjybjzbjAbhZbjBbhZbhZbjCbjDbjEbjFbjGbjHbgybjIbjJbjKbjJbjLbjMbgzbjNbjObjPbjQbgEbjRbjSbjTbjUbjVbjWbjXbjYbjZbkabjZbkbbkcbkdbkebgJbkfbkgbkhbgObkibkjbkkbklbkmbknbgObiEbgQaaaaabaaaaaaaaaaaaaJCaJCaJCaJCaJCaJCaJCaJCaJCaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaazMasGbcdaABaZpaTuaTuaTuaABaTubkoayTaxRaxRbembkpbkqbkrbiJbksbktbkubkvbkvbkvbkvbkwbkxbkxbkxbhhbhhbhhbkybkzbkzbkzbkAaZObkBbkCbkDbkEbkFbkGbkHbkIbkJbkKbkLbkMbkNbkObkPbkQbkRbkSbkTbkTbkUbjrbkVbkWbkXbkYbkZblablbblcbldbleblfbjjbjjbjjbjjblgbjjbjjbjjbjjblhblibljblkbllblmblnbloblpblqblraIJaIJbgsblsbltblubjwblvblwbjzblxblyblzblyblyblAblBblCblDblEblFbgyblGbjJblHbjJbjLblIbgzblJblKblLblMbgEbjRblNblOblPblPblQblRblSblTblTblTblUblVblWblXblYblZbmabmbbmcbmdbmebkmbmfbmgbmhbgObiEbmiaabaabaaaaaaaaaaaaaaaaJCaJCaJCaJCaJCaJCaJCaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaGmaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabmjbmkavkaySawSawSawSaPhaxRaxRbembmlbmmbiJbmnbembembemaPkbmobmpbmqbmrbmqbmqbmqbmrbmqaPkaPkaZOaZOaZObmsaZObkHbkHbmtbkHbkHbkHbkHbkHbmubmvbmwbmxbmybmzbmzbmzbmAbmBbmCbmDbmEbmFbmGbmHbmIbmIbmJbmKbmLbmMbmNbmObmPbmQbmRbmSbmTbmUbmVbmSbmWbmQbmXbhLbmYbmZbmYbagbagbagbnabdVbnbaIJaIJbgsbncbndbnebjwbnfbngbjzbjBbhZbnhbnibnjbnkbgybnlbnmbnnbnobgyblGbnpbjJbjJbjLbjMbgzbgEbgEbgEbgEbgEbjRbjSbnqbnrbnsbntbnubnvbnwbnxbnybnybnzbjZbnAbgJbnBbnCbnDbgObnEbnFbnGbnHbnIbnJbgObiEbnKaaaaabaaaaagaaaaaaaabaabaabaabaabaabaabaabaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaagaaaaaaaaaaaaaaaaaaaaabmjavkavkaySaxQaxQaxQbnLaxQaxQbembnMbnNbnObiJbemaaaaaaaaaaabaabbnPbnPbnPbnPbnPbnPbnPaaaaaabnQbnRbnSbnTbnUbkHbkHbkHbkHbkHbkHbkHbkHbnVbiXbcqbnWbnXbnYaZUaZUbnZbkNaZUaZUboabobbocbodboebofbofbogbofbohboibofabHbojbokbmSbolbmUbolbmSbombojbmXbonboobeRbopboqborbosbotboubovaIJbowboxboybozbnebjwboAbhXboBbjBbhZboCboDbhZboEbgybjEboFboGboHbgyboIboJboKboLboMboLboNboOboOboOboOboOboPbjSboQbjUbjUbntboRboSboTboUboVboVboWboXboYbgJboZbnCbpabgObpbbpcbpdbnHbkmbpebgObiEbpfaaaaabaaaaaaaaaaaaaabbpgbphbpibphbpibphbpjaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaxPaySaySbpkaTubplazMasGbpmbplbembpnbpobppbgWbemaaaaaaaaaaaaaaabnPbnPbnPbnPbnPbnPbnPaaaaaabpqbprbkHbpsbptbptbptbptbptbpubptbptbptbpvbpwbpxbpybpzbpAaZUbpBbeAbpCbpDbpEbeCbpFbpGbodbodbofbpHbpIbpJbpKbpLbofbpMbpNbpObpPbpQbpRbpQbpSbpTbpUbpVbonbpWbeRbpXbagbpYbmYbpZbqabovaIJaIJbgsbqbbqcbnebqdbqebhXbqfbqgbqhbqibqjbhZbqkbqlbqmbqnbqobqpbgybgzbqqbgzbgzbqrbqrbqrbqrbqrbqrbqrbqrbjRbjSbnqbnrbnsbqsbqtbqubqvbqwbqwbqwboWbjZbqxbqybqzbkgbqAbgObqBbqCbqDbqEbkmbqFbgObiEbgQbgQaabaaaaaaaaaaaaaabbqGbqHbqIbqJbqJbqKbqGaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabqLbqLbqLbqLbqLbqLbqLbqLbqLbqLbqLbqLaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabnPbnPbnPbnPbnPbnPbnPbqMbqNbqObqPbkHbkHbkHbqQbqQbqQbqQbnTbkHbkHbkHbmubqRbcqbqSbqTbqUbqVbqWbeAbcqbqXbqYbeCbpFbqZbrabrbbrcbrdbrebrfbrgbrhbofabHbribrjbmSbpQbrkbpQbmSbrlbrmbmXbrnbrobrpbrqbagbrrbmYbrsbqabovaIJbrtbgsbrubrvbnebrwbrxbhXbrybjBbhZbrzbrAbrBbrCbgybrDbrEbrFbrGbgybrHbrIbrJbrKbrLbrMbrNbrObrPbrQbrRbrSbiqbirbrTbrUbrVbrWbrXbjYbrYbqwbqwbqwbrZbjZbsabgJbsbbsbbscbgObsdbsebsfbsgbkmbshbgObiEbsibgQaabaaaaaaaaaaaaaabbsjbskbqIbqJbqIbslbpiaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaxPaySaySbpkaTubplazMasGbpmbplbembpnbpobppbgWbemaaaaaaaaaaaaaaabnPbnPbnPbnPbnPbnPbnPaaaaaabpqbprbkHbpsbptbptbptbptbptbpubptbptbptbpvbpwbpxbpybpzbpAaZUbpBbeAbpCbpDbpEbeCbpFbpGbodbodbofbpHbpIbpJbpKbpLbofbpMbpNbpObpPbpQbpRbpQbpSbpTbpUbpVbonbpWbeRbpXbagbpYbmYbpZbqabovaIJaIJbgsbqbbqcbnebqdbqebhXbqfbqgbqhbqibzjbhZbqkbqlbqmbqnbqobqpbgybgzbqqbgzbgzbqrbqrbqrbqrbqrbqrbqrbqrbjRbjSbnqbnrbnsbqsbqtbqubqvbqwbqwbqwboWbjZbqxbqybqzbkgbqAbgObqBbqCbqDbqEbkmbqFbgObiEbgQbgQaabaaaaaaaaaaaaaabbqGbqHbqIbqJbqJbqKbqGaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabqLbqLbqLbqLbqLbqLbqLbqLbqLbqLbqLbqLaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabnPbnPbnPbnPbnPbnPbnPbqMbqNbqObqPbkHbkHbkHbqQbqQbqQbqQbnTbkHbkHbkHbmubqRbcqbqSbqTbqUbqVbqWbeAbcqbqXbqYbeCbpFbqZbrabrbbrcbrdbrebrfbrgbrhbofabHbribrjbmSbpQbrkbpQbmSbrlbrmbmXbrnbrobrpbrqbagbrrbmYbrsbqabovaIJbrtbgsbrubrvbnebrwbrxbhXbrybjBbhZbrzbqfbrBbrCbgybrDbrEbrFbrGbgybrHbrIbrJbrKbrLbrMbrNbrObrPbrQbrRbrSbiqbirbrTbrUbrVbrWbrXbjYbrYbqwbqwbqwbrZbjZbsabgJbsbbsbbscbgObsdbsebsfbsgbkmbshbgObiEbsibgQaabaaaaaaaaaaaaaabbsjbskbqIbqJbqIbslbpiaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabqLbqLbqLbqLbqLbqLbqLbqLbqLbqLbqLbqLbqLbqLbqLaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabnPbnPbnPbnPbnPbnPbnPbsmbsnbsmbsobspbkHbkHbkHbkHbkHbkHbnTbkHbsqaZOaZObsrbcqbcqbssbstbsubsvbeAbcqbcqbswaIJbpFbsxbsybszbsAbsBbsCbsDbsEbsFbofabHbrmbrmbsGbsHbsIbmSbsJbsKbsLbsMbsNbsObsObsObsObsObsObsPbsQbsRaGWbsSbsTbsUbsVbsWbsXbhXbhXbsYbjBbhZbhZbhZbhZbsZbtabhZbtbbhZbtcbtdbtebtfbhZbtgbthbtibtjbtkbtlbtmbtnbqrbtobtpbtqbtqbtrbtsbttbjYbtubjZbjZbtvbtwbjZbtxbjYbtybtzbtAbtBbtCbtDbtEbtFbtGbgObgObtHbgQbgQbtIbtJbtJbtJbtKbkfbqGbqJbqIbqJbqJbqKbqGaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabqLbqLbqLbqLbqLbqLbqLbqLbqLbqLbqLbqLbqLbqLbqLbqLbqLaaaaaaaaaaaaaaaaaaaagaaaaaaaaabnPbnPbnPbnPbnPbnPbnPbtLbtMbtLbtNbkHbkHbkHbqQbqQbqQbqQbnTbkHbtObtPaZObtQbcqbcqbssbtRbtSbsvbtTbtUbpxbtVbtWbtXbovaRrbszbtYbtZbuabubbucbudbuebufbugbuhbuibujbrkbujbsKbukbulbulbsNbumbunbuobupbuqburbusbutbuuaXubuvbuwbuxbuybuzbuAbuBbuCbuDbuEbuDbuFbuDbuDbuGbuHbuDbuHbuDbuDbuDbuIbuJbuKbuLbthbuMbtjbuNbuNbuObuPbqrbjRbjSbuQbuRbuSbuTbuTbjYbuUbuVbuWbjYbuXbjZbuYbuZbvabvbbvcbvdbvebvfbvgbvhbvibsbbkgbvjbvkbvlbvmbvnbvnbvnbvnbvobvpbphbpibvqbpibphbvraabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabqLbqLbqLbqLbqLbqLbqLbqLbqLbqLbqLbqLbqLbqLbqLbqLbqLbqLaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabnPbnPbnPbnPbnPbnPbnPbvsbqNbvtbvubkHbkHbkHbkHbkHbkHbkHbnTbkHbtObvvaZObvwbdFbcqbvxbpxbvybpxbvzbcqbqXbpEbeCaIJbovaRrbszbofbvAbvBbvCbvDbvEbogbvFbvGbvHbvIbsLbvJbvKbvLbvMbvNbvObsNbvPbvQbvRbvSbvTbvTbvUbvVbvWaIJbvXbvYbvZbwabhZbwbbwcbwdbwebwfbwebwgbwebwhbwibtebwjbtebtebwkbwlbwmbwmbwnbwobwpbwqbtjbwrbwsbtmbuPbqrbgFbjSbisbwtbwubwtbwtbjYbjYbjYbjYbjYbwvbwwbwxbwybwzbwAbwBbwCbwCbwDbwEbnCbwFbwGbwHbvjbnCbvlbwIbnCbwJbnCbwKbkfbtIbtJbtKbwLbkfaaaaaaaabaaaaaaaaaaaaaaaaaaaagaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabqLbqLbqLbqLbqLbqLbqLbqLbqLbqLbqLbqLbqLbqLbqLbqLbqLbqLaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabnPbnPbnPbnPbnPbnPbnPbvsbqNbvtbvubkHbkHbkHbkHbkHbkHbkHbnTbkHbtObvvaZObvwbdFbcqbvxbpxbvybpxbvzbcqbqXbpEbeCaIJbovaRrbszbofbvAbvBbvCbvDbvEbogbvFbvGbvHbvIbsLbvJbvKbvLbvMbvNbvObsNbvPbvQbvRbvSbvTbvTbvUbvVbvWaIJbvXbvYbvZbwabhZbwbbwcbwdbwebwfbwebwgbwebwhbwibtebwjbtebtebwkbwlbwmbwmbwnbwobwpbwqbtjbwrbwsbtmbuPbqrbgFbjSbisbwtbwubwtbwtbjYbjYbjYbjYbjYbwvbwwbwxbwybwzbwAbwBbwCbwCbwDbwEbnCbwFbwGbwHbvjbnCbvlbwIbnCbwJbnCbwKbkfbtIbtJbtKbVybkfaaaaaaaabaaaaaaaaaaaaaaaaaaaagaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabqLbqLbqLbqLbqLbqLbqLbqLbqLbqLbqLbqLbqLbqLbqLbqLbqLbqLaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabnPbnPbnPbnPbnPbnPbnPbtLbtMbtLbwMbwNbkHbkHbwObwPbwQbwPbwRbwPbwSbwTbfPbwUbwVbkQbwWbkQbwXbkRbwVbwYbwZbqYbeCaIJbxabxbbxcbofbxdbxebxfbxgbxhbogbxibxjbxkbxlbxmbxnbxobxpbxqbxrbxsbxtbxubxvbxvbxwbxxbxybxzbsQbxAaIJbxBbgtbqfbxCbhZbxDbxEbxFbxGbxHbxIbxJbxKbxFbxGbxLbxLbxGbxFbxMbgubwmbxNbuNbuNbxObthbtjbxPbxQbxRbxSbqrbxTbxUbxVbxWbxXbwCbwCbxYbxZbwCbyabybbycbydbyebwCbyfbygbyhbyibyjbykbylbylbylbylbylbtHbymbgQbtIbtKbkfbnCbvnbynbyobwLbypbyqbyraaaaaaaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabqLbqLbqLbqLbqLbqLbqLbqLbqLbqLbqLbqLbqLbqLbqLbqLbqLbqLaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabnPbnPbnPbnPbnPbnPbnPbysbytbysbyubyvbywbywbywbywbywbyxbyybkHbtObyzaZObyAbyBbyCbyDbyEbnXbyFbyGbyHaZUaZUbyIaIJbyJbyKbszbofbyLbyMbyNbvBbyObogbyPbyQbyRbySbyTbyUbyVbyWbyXbyYbyZbsNbzabzbbzcbzdbxxbxybxzbsQbzeaIJbzfbzgbzhbzibhZbxDbzjbxFbzkbzlbzmbznbzobxFbzpbzqbzqbzrbxFbzsbhZbwmbztbuNbzubzvbzwbzxbzybzzbzzbzAbzBbzCbzDbzEbzFbzGbvebvebzHbvebzIbvebvfbvebvebvebvebzJbzKbzLbzMbzNbzObzPbzQbzRbzSbylbiEbzTbmiaabaabbkfbzUbvnbyobyobvobzVbzWbzXaaaaaaaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabqLbqLbqLbqLbqLbqLbqLbqLbqLbqLbqLbqLbqLaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabnPbnPbnPbnPbnPbnPbnPbzYbzZbAaaZOaZObAbbqNbqNbqNbAcaZOaZObAdbAebAfaZObAgbAgbAgbAhbAgbAibAjbAkbAlbAmbAibeCaIJbAnbAoaTVbofbuebApbAqbAqbArbAsbAtbAtbAubAtbAvbAwbAxbAybAzbAzbAzbAAbsObsObsObsObsObsObsObsQbzeaIJbABbxFbxFbACbADbAEbxFbxFbAFbAGbAHbAIbAIbAJbAKbALbAMbAKbANbzsbhZbwmbAObAPbAQbARbASbATbAUbARbARbAVbAWbAXbAYbAZbAZbAZbAZbAZbBabAZbAZbBbbBcbBdbBebBebBfbBgbvjbBhbzMbBibBjbBkbBlbBmbBnbylbiEbzTbpfaaaaaabkfbBobBpbkfbvobkfbkfbvobkfaaaaaaaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa @@ -10100,7 +10170,7 @@ aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabaabaabbRdbRebRfbRgbRgbRhbRibRjbRkbRlbRmbRnbRobRnbRpbRkbRqbRrbRsbRtbRubRvbRwbRwbRxbRybQqbRzbQsbQtbRAbQvbRBbRCbRDbREbRFbRGbRFbRHbRIbRJaabbRKbRKbRKbRKbRKaaabFNbRLbRMbOjbOkbOlbOjbRNbRObRPbRQbRNbOlbOlbOlbOlbOlbRRbRSbGlbRTbRUbRVbRWbRXbRYbRZbGlbGlbqzbSabqzbqzbqzbSbbScbSdbqzbGsbGsbGsbGsbGsbSebGsbGsbGsbGsbGsbQcbGxbSfbRcbgQaaaaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabaaaaaabDWbDWbLgbFqbFqbFqbFqbFqbFqbFqbFqbFqbFqbFqbDWbDWaabaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabSgaaaaabaabbShbShbShbShbShbShbShbShbSibSjbRkbSkbRlbRlbRnbSlbRpbRkbSmbSnbRsbSobSpbQnbSqbQnbSrbSsbStbSubSvbSwbRFbQvbSxbRCbSybSzbSAbSBbSCbSDbSEbSFbSGbSHbSIbSJbSKbRKaaabFNbSLbSMbSNbSObSPbSQbSRbSSbSTbSUbSRbSRbSVbSWbSRbSRbSXbGkbGlbGlbGlbGlbGlbGlbSYbGlbGlbSZbTabTbbTcbTdbqzbSabTebTfbqzbTgbThbTibTjbTkbQcbzTbzTbTlbzTbzTbQcbGxbTmbgQbgQbgQaabaabaabaabaabaabaabaabaabaabaabaabaabaabaabaabaabaabaabaabbDVbDWbNGbNEbNEbFqbFqbFqbFqbFqbFqbFqbFqbDWbDWaabaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabTnbTobTpbTqbTqbTqbTrbTsbTtbTubTvbTwbTxbShbTybSjbRkbTzbRlbRmbRlbRnbTAbRkbTBbSnbRsbRtbTCbQnbQnbQnbTDbTEbTFbTGbTHbRFbTIbTJbRFbTKbSybSzbTLbTMbTMbTNbTObTPaabbTQbTRbSKbTSbRKaabbFNbTTbTUbFNaaaaabaaabTVbTWbTXbTYbTVaabaabaaaaabbFNbTZbUabOlbOlbOlbOlbOlbOlbOjbOlbOlbOlbOlbOkbUbbOlbRNbUcbUdbUebUfbUgbUgbUgbUgbUhbUibUgbUgbUgbUgbUgbUjbUkbUlbUmbUnbgQbgQbgQbgQaaaaabaaaaaaaaaamRamRamRaabaaaaaaaabaaaaaaaabaaaaaabHZbDWbGzbDWbDWbFqbFqbFqbFqbFqbFqbFqbDWbDWaabaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabUobUobUobUobUobUpbUqbUrbUsbUsbUtbShbUubUvbUwbUxbUybUzbRlbRlbUAbRkbUBbUCbUDbUEbUEbUFbUGbQnbUHbUIbUJbUKbULbRFbQvbRFbUMbUNbUObUPbUQbURbUSbUTbUUbUVbUWbSHbUXbSKbSKbRKaabbFNbTcbTcbFNaaaaabaaabUYbUZbVabVbbUYaabaabaaaaabbFNbVcbVdbVebVfbKjbVgbVgbVhbVibVjbVkbSRbSRbSVbSWbSRbSRbVlbVmbVnbVobVobVpbVqbVqbVrbVobVobVpbVqbVqbVrbVobVsbzTbVtbVubVvbVwbVxbVybVzbVAbVAbVAbVAbVAbVAbVAbVAbVAbVAbVAbVAbVAbVAbVAbVAbVBbVCbVCbVDbDWbDWbFqbFqbVEbFqbFqbDWbDWaabaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabUobUobUobUobUobUpbUqbUrbUsbUsbUtbShbUubUvbUwbUxbUybUzbRlbRlbUAbRkbUBbUCbUDbUEbUEbUFbUGbQnbUHbUIbUJbUKbULbRFbQvbRFbUMbUNbUObUPbUQbURbUSbUTbUUbUVbUWbSHbUXbSKbSKbRKaabbFNbTcbTcbFNaaaaabaaabUYbUZbVabVbbUYaabaabaaaaabbFNbVcbVdbVebVfbKjbVgbVgbVhbVibVjbVkbSRbSRbSVbSWbSRbSRbVlbVmbVnbVobVobVpbVqbVqbVrbVobVobVpbVqbVqbVrbVobVsbzTbVtbVubVvbVwbVxbrAbVzbVAbVAbVAbVAbVAbVAbVAbVAbVAbVAbVAbVAbVAbVAbVAbVAbVBbVCbVCbVDbDWbDWbFqbFqbVEbFqbFqbDWbDWaabaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaagaaaaabaabbVFbVGbVHbVIbVHbVJbVKbVLbVMbVMbVNbShbVObIhbRkbVPbRlbVQbRlbRlbRlbVRbTBbSnbRsbVSbPkbVTbVUbVVbVWbVXbQqbVYbVZbRFbQvbRFbWabVUbWbbWcbWdbWebWfbWgbWfbWhaabbRKbRKbRKbRKbRKaabbFNbFNbWibFNaabaabaabbWjbWkbWlbWmbWjaabaaaaaaaabbFNbFNbFNbFNbFNbWnbFNbFNbWobWpbWqbFNbFNaaaaaaaaaaaabWrbWsbWtbWubWraaaaaaaaaaabaaaaaaaaaaaaaaaaaaaaaaaabgQbWvbWwbWxbgQbgQbgQbgQaaaaabaaaaaaaaaamRamRamRaabaaaaaaaabaaaaaaaabaabaabbWybWzbWAbGAbDVbDWbDWbFqbFrbFqbDWbDWaabaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbVFbWBbWCbWDbWEbUrbWFbUrbWGbUrbWHbWIbWJbWKbRkbWLbRlbVQbRlbRlbWMbRkbWNbWObRsbWPbPkbQnbWQbWRbSvbWSbQqbWTbUMbWUbWVbWWbWXbWYbWZbXabXbbXcbSAbXdbXebXfbSGbSHbXgbXhbXhbRKaabaabbTcbXibTcaaaaabaaabXjbXkbXlbXmbXjaabaaaaaaaabaaaaaaaaabFNbXnbXobXpbFNaaaaabaaaaaaaabaaaaaaaaaaaabXqbXrbXsbXtbXqaaaaaaaaaaabaaaaaaaaaaaaaaaaaaaaaaaabXubXubXvbXwbXuaaaaaaaaaaabaabaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabaabbXxbDTbDTbDUbDVbDVbDWbDWbDWbDWbDXaabaabaaaaaaaagaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabaabaabbVFbXybXzbXAbXzbXBbXCbXDbXEbXFbXGbShbLnbIhbRkbXHbRlbXIbXJbXKbXLbRkbXMbSnbRsbXNbXObXPbXQbRIbXRbXSbXTbRIbXUbXVbXWbRIbXXbXYbXZbYabYbbRFbYcbYdbYebTPaabbTQbYfbYgbYhbRKaabaaaaaaaaaaaaaaaaaaaaabYibTVbYjbYkbYiaabaabaabaabaabaabaaabFNbYlbYmbTcbFNaaaaabaaaaaaaabaaaaaaaaaaaabYnbYobYpbYqbYnaaaaaaaaaaabaaaaaaaaaaaaaaaaaaaaaaaabXubYrbYsbYtbXuaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabaabaabaabaabaaaaaaaaaaaaaabaabaabaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa @@ -10201,29 +10271,29 @@ aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa "} (1,1,2) = {" -cqBcqCcqDcqEcqFcqGcqHcqIcqBcqJcqKcqLcqMcqNcqOcqPcqHcqGcqKcqDcqEcqIcqLcqFcqNcqJcqPcqQcqRcqScqTcqUcqVcqWcqXcqYcqZcracrbcrccrdcrecrfcrgcrhcricrjcrkcrlcqXcqYcqZcracrbcrccrdcrecrfcrgcrmaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacrncrocrocrocrocrocrpcrocrocrocrocrocrpcrocrocrocrocrocrpcrocrocrocrocrocrq -cqKcrrcrscrtcrucrvcrwcrxcrycrzcrAcrBcrCcrDcrEcrFcrwcrvcrAcrscrtcrxcrBcrucrDcrzcqCcqUcqVcqWcrGcrHcrIcrJcrbcrKcrLcrMcqQcqRcqScqTcqUcqVcqWcrGcrHcrIcrJcrNcrKcrLcrMcqQcqRcqScqTcqUcrkcrmaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacrOcrPcrPcrPcrPcrPcrQcrRcrRcrRcrRcrRcrQcrScrScrScrScrScrQcrTcrUcrUcrUcrVcrW -cqNcrucrzcrCcrxcrEcrscrwcrAcrvcrDcrycrFcrtcrBcrrcrscrEcrDcrzcrCcrwcrycrxcrtcrvcqFcqRcqScqTcqUcqVcqWcrGcqYcrIcrJcrNcrKcrLcrMcqQcqRcqScqScqTcqUcqVcrGcrHcrIcrJcrNcrKcrLcrMcqQcqRcrhcrmaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacrOcrPcrXcrPcrXcrPcrQcrRcrRcrRcrRcrRcrQcrScrYcrScrYcrScrQcrZcsacsacsacsbcrW -cqEcrxcrvcrFcrwcrBcrzcrscrDcrEcrtcrAcrrcrCcrycrucrzcrBcrtcrvcrFcrscrAcrwcrCcrEcqIcrGcrHcrIcrJcrNcrKcrLcrecqQcqRcqScqTcqUcqVcqWcrGcrHcqWcrGcrHcrIcrLcrMcqQcqRcqScqTcqUcqVcqWcrGcqYcrmaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacrOcrPcrPcrPcrPcrPcrQcrRcrRcrRcrRcrRcrQcrScrScrScrScrScrQcrZcsacsacsacsbcrW -cqMcrwcrEcrrcrscrycrvcrzcrtcrBcrCcrDcrucrFcrAcrxcrvcrycrCcrEcrrcrzcrDcrscrFcrBcqHcrLcrMcqQcqRcqScqTcqUcrkcqWcrGcrHcrIcrJcrNcrKcrLcrMcqTcqUcqVcqWcqUcqVcqWcrGcrHcrIcrJcrNcrKcrLcrecrmaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacrOcrPcrPcrPcrPcrPcrQcrRcrRcrRcrRcrRcrQcrScrScrScrScrScrQcrZcsacsacsacsbcrW -cqPcrscrBcrucrzcrAcrEcrvcrCcrycrFcrtcrxcrrcrDcrwcrEcrAcrFcrBcrucrvcrtcrzcrrcrycqDcrGcrHcrIcrJcrNcrKcrLcrecqQcqRcqScqTcqUcqVcqWcrGcrHcrIcrJcrNcrKcrLcrMcqQcqRcqScqTcqUcqVcqWcrGcqYcrmaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacrOcrPcrPcrXcrPcrPcrQcrRcrRcrRcrRcrRcrQcrScrScrScrScrScrQcrZcsacsacsacsbcrW -cqCcrzcrycrxcrvcrDcrBcrEcrFcrAcrrcrCcrwcrucrtcrscrBcrDcrrcrycrxcrEcrCcrvcrucrAcqJcqScqTcqUcqVcqWcrGcrHcqZcrJcrNcrKcrLcrMcqQcqRcqScqTcqQcqRcqScqTcrHcrIcrJcrNcrKcrLcrMcqQcqRcqScricrmaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacrOcrPcrPcrXcrPcrPcrQcrRcrRcrRcrRcrRcrQcrScrScrScrScrScrQcsccsacsacsacsdcrW -cqFcrvcrAcrwcrEcrtcrycrBcrrcrDcrucrFcrscrxcrCcrzcrycrtcrucrAcrwcrBcrFcrEcrxcrDcqGcrNcrKcrLcrMcqQcqRcqScricqUcqVcqWcrGcrHcrIcrJcrNcsecsfcsgcshcsicsjcqTcqUcqVcqWcrGcrHcrIcrJcrNcrccrmaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacrOcrPcrPcrPcrPcrPcrQcrRcrRcrRcrRcrRcrQcrScrScrScrScrScrQcsccsacsacsacsdcrW -cqIcrEcrDcrscrBcrCcskcrycrucslcsmcsncsocspcsqcsrcsscstcrxcrDcsucrycrrcrBcrwcrtcqOcrMcqQcqRcqScqTcqUcqVcrlcrGcrHcrIcrJcrNcrKcrLcrMcsgcsvcswcsxcsycszcqWcrGcrHcrIcrJcrNcrKcrLcrMcrfcrmaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacrOcrPcrPcrPcrPcrPcrQcrRcrRcrRcrRcrRcrQcrScrScrScrScrScrQcsccsacsacsacsdcrW -cqHcrBcrtcrzcrycsAcrDcrAcrxcspcsBcsCcsDcsEcsFcsGcsHcsIcrwcrtcrzcskcrucrycrscrCcqLcrIcrJcrNcrKcrLcrMcqQcrgcqScqTcqUcqVcqWcrGcrHcrIcsJcsKcsLcsMcsvcsNcqRcqScqTcqUcqVcqWcrGcrHcrIcracrmaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacrOcrPcrXcrPcrXcrPcrQcrRcrRcrRcrRcrRcrQcrScrYcrScrYcrScrQcsccsacsacsacsdcrW -cqDcrycrCcrvcrAcrrcrtcrDcsOcsGcsHcsPcsQcsRcsDcsCcsScsTcsUcrCcrvcrDcrxcrAcrzcrFcqBcqTcqUcqVcqWcrGcrHcrIcracrNcrKcrLcrMcqQcqRcqScqTcsfcsLcsMcsvcswcsVcrJcrNcrKcrLcrMcqQcqRcqScqTcrjcrmaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacrOcrPcrPcrPcrPcrPcrQcrRcrRcrRcrRcrRcrQcrScrScrScrScrScrQcsWcsXcsXcsXcsYcrW -cqJcrAcrFcrEcrDcrucrCcrtcsUcsCcsScsZcsBctacsQcsPctbcsFctccrFcrEcrtcrwcrDcrvcrrcqKcrHcrIcrJcrNcrKcrLcrMcrfcqRcqScqTcqUcqVcqWcrGcrHctdctectfctgcsfctfcqQcqRcqScqTcqUcqVcqWcrGcrHcqZcrmaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacthctictictictictictjctictictictictictjctictictictictictjctictictictictictk -cqGcrDcrrcrBcrtcrxcrFcrCctccsPctbcsTcsHcsGcsBcsZcsEcsDctlcrrcrBcrCcrscrtcrEcrucqNcqRcqScqTcqUcqVcqWcrGcqYcrIcrJcrNcrKcrLcrMcqQcqRcqVcqTcqUcqVcqWcrJcrHcrIcrJcrNcrKcrLcrMcqQcqRcrhcrmaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacrOctmctmctnctoctocrQctpctpctpctpctpcrQctqctrctrctrctscrQcttctuctuctuctvcrW -cqOcrtcrucrycrCcrwcrrcrFctlcsZcsEcsFcsScsCcsHcsTcsRcsQctwcrucrycrFcrzcrCcrBcrxcqEcqVcqWcrGcrHcrIcrJcrNcrccrLcrMcqQcqRcqScqTcqUcqVcqScrIcrJcrNcrKcrGcrKcrLcrMcqQcqRcqScqTcqUcqVcrlcrmaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacrOctxctxctyctzctzcrQctpctActpctBctpcrQctCctDctDctDctEcrQctFctGctGctGctHcrW -cqLcrCcrxcrAcrFcrscrucrrctwcsTcsRcsDctbcsPcsScsFctacsBctIcrxcrAcrrcrvcrFcrycrwcqMcrJcrNcrKcrLcrMcqQcqRcrhcqTcqUcqVcqWcrGcrHcrIcrJctecsectJctdctKcshcqScqTcqUcqVcqWcrGcrHcrIcrJcrbcrmaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacrOctxctLctLctLctzcrQctpctpctpctpctpcrQctCctDctDctDctEcrQctFctGctGctGctHcrW -cqBcrFcrwcrDcrrcrzcrxcructIcsFctacsQcsEcsZctbcsDcsGcsHctMcrwcrDcrucrEcrrcrAcrscqPcrKcrLcrMcqQcqRcqScqTcrjcqVcqWcrGcrHcrIcrJcrNcrKcshctNctOctPctQctRcqUcqVcqWcrGcrHcrIcrJcrNcrKcrdcrmaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacrOctxctyctyctyctzcrQctpctpctpctpctpcrQctCctDctDctDctEcrQctFctGctGctGctHcrW -cqKcrrcrscrtcrucrvcrwcrxctMcsDcsGcsBcsRcsTcsEcsQcsCcsSctScrscrtcrxcrBcrucrDcrzcqCcqWcrGcrHcrIcrJcrNcrKcrdcrMcqQcqRcqScqTcqUcqVcqWctTctUctVctWctXctYcrLcrMcqQcqRcqScqTcqUcqVcqWcqXcrmaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacrOctZcuacuacuacubcrQctpcucctpctpctpcrQcudcuecuecuecufcrQctFctGctGctGctHcrW -cqNcrucrzcrCcrxcrEcrscrwctScsQcsCcsHctacsFcsRcsBcsPctbcugcrzcrCcrwcrycrxcrtcrvcqFcrNcrKcrLcrMcqQcqRcqScricqUcqVcqWcrGcrHcrIcrJcrNctfcuhcuicujctUcukcqTcqUcqVcqWcrGcrHcrIcrJcrNcrccrmaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacrOculcumcumcumcuncrQctpctpctpcuoctpcrQcupcuqcuqcuqcurcrQcusctGctGctGcutcrW -cqEcrxcrvcrFcrwcrBcrzcrscugcsBcsPcsScsGcsDctacsHcsZcsEcuucrvcrFcrscrAcrwcrCcrEcqIcqScqTcqUcqVcqWcrGcrHcqZcrJcrNcrKcrLcrMcqQcqRcqScsictTcuvcsectJctdcrIcrJcrNcrKcrLcrMcqQcqRcqScricrmaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacrOcuwctycuxctycuycrQctpctpctpctpctpcrQcuzctDctDctDcuAcrQcusctGctGctGcutcrW -cqMcrwcrEcrrcrscrycrvcrzcuucsHcsZctbcsCcsQcsGcsScsTcsRcuBcrEcrrcrzcrDcrscrFcrBcqHcrIcrJcrNcrKcrLcrMcqQcrgcqScqTcqUcqVcqWcrGcrHcrIcrJcrNcrKcrLcrMcqQcqRcqScqTcqUcqVcqWcrGcrHcrIcracrmaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacrOcuwcuCcuCcuCcuycrQcuDcuDcuDcuDcuDcrQcuzctDctDctDcuAcrQcusctGctGctGcutcrW -cqPcrscrBcrucrzcrAcrEcrvcuBcsScsTcsEcsPcsBcsCctbcsFctacuEcrBcrucrvcrtcrzcrrcrycqDcqUcqVcqWcrGcrHcrIcrJcrbcrKcrLcrMcqQcqRcqScqTcqUcqVcqWcrGcrHcrIcrJcrNcrKcrLcrMcqQcqRcqScqTcqUcrkcrmaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacrOcuwcuwctycuycuycrQcuFcuFcuFcuFcuFcrQcuzctDctDctDcuAcrQcusctGctGctGcutcrW -cqCcrzcrycrxcrvcrDcrBcrEcuEctbcsFcsRcsZcsHcsPcsEcsDcsGcuGcrycrxcrEcrCcrvcrucrAcqJcrMcqQcqRcqScqTcqUcqVcrlcrGcrHcrIcrJcrNcrKcrLcrMcqQcqRcqScqTcqUcqVcqWcrGcrHcrIcrJcrNcrKcrLcrMcrfcrmaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacrOcuHcuHcuIcuJcuJcrQcuKcuKcuKcuKcuKcrQcuLcuMcuMcuMcuNcrQcuOcuPcuPcuPcuQcrW -cqFcrvcrAcrwcrEcrtcrycrBcuGcsEcsDctacsTcsScsZcsRcsQcsCcuRcrAcrwcrBcrFcrEcrxcrDcqGcrKcrLcrMcqQcqRcqScqTcrjcqVcqWcrGcrHcrIcrJcrNcrKcrLcrMcqQcqRcqScqTcqUcqVcqWcrGcrHcrIcrJcrNcrKcrdcrmaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacuScuTcuTcuTcuTcuTcuUcuTcuTcuTcuTcuTcuUcuTcuTcuTcuTcuTcuUcuTcuTcuTcuTcuTcuV +cqBcqCcqDcqEcqFcqGcqHcqIcqBcqJcqKcqLcqMcqNcqOcqPcqHcqGcqKcqDcqEcqIcqLcqFcqNcqJcqPcqQcqRcqScqTcqUcqVcqWcqXcqYcqZcracrbcrccrdcrecrfcrgcrhcricrjcrkcrlcqXcqYcqZcracrbcrccrdcrecrfcrgcrmaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacrncrocrocrocrocrocrpcrocrocrocrocrocrpcrocrocrocrocrocrpcrocrocrocrocrocrpcrocrocrocrocrocrpcrocrocrocrocrocrpcrocrocrocrocrocrq +cqKcrrcrscrtcrucrvcrwcrxcrycrzcrAcrBcrCcrDcrEcrFcrwcrvcrAcrscrtcrxcrBcrucrDcrzcqCcqUcqVcqWcrGcrHcrIcrJcrbcrKcrLcrMcqQcqRcqScqTcqUcqVcqWcrGcrHcrIcrJcrNcrKcrLcrMcqQcqRcqScqTcqUcrkcrmaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacrOdIedIedJHdIedIecrQdJIdJJdJIdJJdJIcrQdJLdJKdJKdJKdJKcrQcrPcrPcrPcrPcrPcrQcrRcrRcrRcrRcrRcrQcrScrScrScrScrScrQcrTcrUcrUcrUcrVcrW +cqNcrucrzcrCcrxcrEcrscrwcrAcrvcrDcrycrFcrtcrBcrrcrscrEcrDcrzcrCcrwcrycrxcrtcrvcqFcqRcqScqTcqUcqVcqWcrGcqYcrIcrJcrNcrKcrLcrMcqQcqRcqScqScqTcqUcqVcrGcrHcrIcrJcrNcrKcrLcrMcqQcqRcrhcrmaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacrOdIedJPdIedIedJMcrQdJNdJOdJNdJOdJNcrQdDYdDYdDYdDYdDYcrQcrPcrXcrPcrXcrPcrQcrRcrRcrRcrRcrRcrQcrScrYcrScrYcrScrQcrZcsacsacsacsbcrW +cqEcrxcrvcrFcrwcrBcrzcrscrDcrEcrtcrAcrrcrCcrycrucrzcrBcrtcrvcrFcrscrAcrwcrCcrEcqIcrGcrHcrIcrJcrNcrKcrLcrecqQcqRcqScqTcqUcqVcqWcrGcrHcqWcrGcrHcrIcrLcrMcqQcqRcqScqTcqUcqVcqWcrGcqYcrmaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacrOdIedJldIedIedIecrQdFMdJmdFMdJmdFMcrQdDYdDYdDYdDYdDYcrQcrPcrPcrPcrPcrPcrQcrRcrRcrRcrRcrRcrQcrScrScrScrScrScrQcrZcsacsacsacsbcrW +cqMcrwcrEcrrcrscrycrvcrzcrtcrBcrCcrDcrucrFcrAcrxcrvcrycrCcrEcrrcrzcrDcrscrFcrBcqHcrLcrMcqQcqRcqScqTcqUcrkcqWcrGcrHcrIcrJcrNcrKcrLcrMcqTcqUcqVcqWcqUcqVcqWcrGcrHcrIcrJcrNcrKcrLcrecrmaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacrOdIedIedJqdJrdIecrQdJpdJpdJpdJpdJpcrQdJodJodJodJodJncrQcrPcrPcrPcrPcrPcrQcrRcrRcrRcrRcrRcrQcrScrScrScrScrScrQcrZcsacsacsacsbcrW +cqPcrscrBcrucrzcrAcrEcrvcrCcrycrFcrtcrxcrrcrDcrwcrEcrAcrFcrBcrucrvcrtcrzcrrcrycqDcrGcrHcrIcrJcrNcrKcrLcrecqQcqRcqScqTcqUcqVcqWcrGcrHcrIcrJcrNcrKcrLcrMcqQcqRcqScqTcqUcqVcqWcrGcqYcrmaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacrOdJsdIedIedIedIecrQdJvdJudJtdJudJwcrQdJydJxdJAdJzdJycrQcrPcrPcrXcrPcrPcrQcrRcrRcrRcrRcrRcrQcrScrScrScrScrScrQcrZcsacsacsacsbcrW +cqCcrzcrycrxcrvcrDcrBcrEcrFcrAcrrcrCcrwcrucrtcrscrBcrDcrrcrycrxcrEcrCcrvcrucrAcqJcqScqTcqUcqVcqWcrGcrHcqZcrJcrNcrKcrLcrMcqQcqRcqScqTcqQcqRcqScqTcrHcrIcrJcrNcrKcrLcrMcqQcqRcqScricrmaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacrOdIedJsdIedIedJBcrQdJCdJudJtdJudJEcrQdJydJDdJGdJFdJycrQcrPcrPcrXcrPcrPcrQcrRcrRcrRcrRcrRcrQcrScrScrScrScrScrQcsccsacsacsacsdcrW +cqFcrvcrAcrwcrEcrtcrycrBcrrcrDcrucrFcrscrxcrCcrzcrycrtcrucrAcrwcrBcrFcrEcrxcrDcqGcrNcrKcrLcrMcqQcqRcqScricqUcqVcqWcrGcrHcrIcrJcrNcsecsfcsgcshcsicsjcqTcqUcqVcqWcrGcrHcrIcrJcrNcrccrmaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacrOdIedJPdJsdIedJqcrQdJpdJpdJpdJpdJpcrQdKcdJDdJGdJFdKccrQcrPcrPcrPcrPcrPcrQcrRcrRcrRcrRcrRcrQcrScrScrScrScrScrQcsccsacsacsacsdcrW +cqIcrEcrDcrscrBcrCcskcrycrucslcsmcsncsocspcsqcsrcsscstcrxcrDcsucrycrrcrBcrwcrtcqOcrMcqQcqRcqScqTcqUcqVcrlcrGcrHcrIcrJcrNcrKcrLcrMcsgcsvcswcsxcsycszcqWcrGcrHcrIcrJcrNcrKcrLcrMcrfcrmaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacrOdIedIedIedJsdIecrQdKedKfdKedKfdKecrQdKddJDdJGdJFdKdcrQcrPcrPcrPcrPcrPcrQcrRcrRcrRcrRcrRcrQcrScrScrScrScrScrQcsccsacsacsacsdcrW +cqHcrBcrtcrzcrycsAcrDcrAcrxcspcsBcsCcsDcsEcsFcsGcsHcsIcrwcrtcrzcskcrucrycrscrCcqLcrIcrJcrNcrKcrLcrMcqQcrgcqScqTcqUcqVcqWcrGcrHcrIcsJcsKcsLcsMcsvcsNcqRcqScqTcqUcqVcqWcrGcrHcrIcracrmaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacrOdIedKgdIedIedJscrQdJNdJOdJNdJOdJNcrQdKddJDdJGdJFdKdcrQcrPcrXcrPcrXcrPcrQcrRcrRcrRcrRcrRcrQcrScrYcrScrYcrScrQcsccsacsacsacsdcrW +cqDcrycrCcrvcrAcrrcrtcrDcsOcsGcsHcsPcsQcsRcsDcsCcsScsTcsUcrCcrvcrDcrxcrAcrzcrFcqBcqTcqUcqVcqWcrGcrHcrIcracrNcrKcrLcrMcqQcqRcqScqTcsfcsLcsMcsvcswcsVcrJcrNcrKcrLcrMcqQcqRcqScqTcrjcrmaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacrOdJqdIedKhdIedJPcrQdJIdJJdJIdJJdJIcrQdKjdKidKldKkdKjcrQcrPcrPcrPcrPcrPcrQcrRcrRcrRcrRcrRcrQcrScrScrScrScrScrQcsWcsXcsXcsXcsYcrW +cqJcrAcrFcrEcrDcrucrCcrtcsUcsCcsScsZcsBctacsQcsPctbcsFctccrFcrEcrtcrwcrDcrvcrrcqKcrHcrIcrJcrNcrKcrLcrMcrfcqRcqScqTcqUcqVcqWcrGcrHctdctectfctgcsfctfcqQcqRcqScqTcqUcqVcqWcrGcrHcqZcrmaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacthdJQdJQdJQdJQdJQctjdJQdJQdJQdJQdJQctjdJQdJQdJQdJQdJQctjctictictictictictjctictictictictictjctictictictictictjctictictictictictk +cqGcrDcrrcrBcrtcrxcrFcrCctccsPctbcsTcsHcsGcsBcsZcsEcsDctlcrrcrBcrCcrscrtcrEcrucqNcqRcqScqTcqUcqVcqWcrGcqYcrIcrJcrNcrKcrLcrMcqQcqRcqVcqTcqUcqVcqWcrJcrHcrIcrJcrNcrKcrLcrMcqQcqRcrhcrmaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacrOdJTdJUdJVdJTdJUcrQdJSdJSdJSdJSdJScrQdJRdJRdJRdJRdJRcrQctmctmctnctoctocrQctpctpctpctpctpcrQctqctrctrctrctscrQcttctuctuctuctvcrW +cqOcrtcrucrycrCcrwcrrcrFctlcsZcsEcsFcsScsCcsHcsTcsRcsQctwcrucrycrFcrzcrCcrBcrxcqEcqVcqWcrGcrHcrIcrJcrNcrccrLcrMcqQcqRcqScqTcqUcqVcqScrIcrJcrNcrKcrGcrKcrLcrMcqQcqRcqScqTcqUcqVcrlcrmaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacrOdJUdJVdJTdJUdJVcrQdJSdJWdJSdJSdJScrQdJRdJXdJZdJYdJRcrQctxctxctyctzctzcrQctpctActpctBctpcrQctCctDctDctDctEcrQctFctGctGctGctHcrW +cqLcrCcrxcrAcrFcrscrucrrctwcsTcsRcsDctbcsPcsScsFctacsBctIcrxcrAcrrcrvcrFcrycrwcqMcrJcrNcrKcrLcrMcqQcqRcrhcqTcqUcqVcqWcrGcrHcrIcrJctecsectJctdctKcshcqScqTcqUcqVcqWcrGcrHcrIcrJcrbcrmaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacrOdJVdJTdJUdJVdJTcrQdJSdJSdJSdKadJScrQdJRdKbdKbdKbdJRcrQctxctLctLctLctzcrQctpctpctpctpctpcrQctCctDctDctDctEcrQctFctGctGctGctHcrW +cqBcrFcrwcrDcrrcrzcrxcructIcsFctacsQcsEcsZctbcsDcsGcsHctMcrwcrDcrucrEcrrcrAcrscqPcrKcrLcrMcqQcqRcqScqTcrjcqVcqWcrGcrHcrIcrJcrNcrKcshctNctOctPctQctRcqUcqVcqWcrGcrHcrIcrJcrNcrKcrdcrmaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacrOdJTdJUdJVdJTdJUcrQdJSdJSdJSdJSdJScrQdJRdJRdJRdJRdJRcrQctxctyctyctyctzcrQctpctpctpctpctpcrQctCctDctDctDctEcrQctFctGctGctGctHcrW +cqKcrrcrscrtcrucrvcrwcrxctMcsDcsGcsBcsRcsTcsEcsQcsCcsSctScrscrtcrxcrBcrucrDcrzcqCcqWcrGcrHcrIcrJcrNcrKcrdcrMcqQcqRcqScqTcqUcqVcqWctTctUctVctWctXctYcrLcrMcqQcqRcqScqTcqUcqVcqWcqXcrmaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacrOdJUdJVdJTdJUdJVcrQdJSdJSdJSdKmdJScrQdJRdKxdKvdKwdJRcrQctZcuacuacuacubcrQctpcucctpctpctpcrQcudcuecuecuecufcrQctFctGctGctGctHcrW +cqNcrucrzcrCcrxcrEcrscrwctScsQcsCcsHctacsFcsRcsBcsPctbcugcrzcrCcrwcrycrxcrtcrvcqFcrNcrKcrLcrMcqQcqRcqScricqUcqVcqWcrGcrHcrIcrJcrNctfcuhcuicujctUcukcqTcqUcqVcqWcrGcrHcrIcrJcrNcrccrmaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacrOdJVdJTdJUdJVdJTcrQdJSdKndJSdJSdJScrQdJRdKudKsdKtdJRcrQculcumcumcumcuncrQctpctpctpcuoctpcrQcupcuqcuqcuqcurcrQcusctGctGctGcutcrW +cqEcrxcrvcrFcrwcrBcrzcrscugcsBcsPcsScsGcsDctacsHcsZcsEcuucrvcrFcrscrAcrwcrCcrEcqIcqScqTcqUcqVcqWcrGcrHcqZcrJcrNcrKcrLcrMcqQcqRcqScsictTcuvcsectJctdcrIcrJcrNcrKcrLcrMcqQcqRcqScricrmaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacrOdJTdJUdJVdJTdJUcrQdJSdJSdJSdJSdJWcrQdJRdKudKsdKtdJRcrQcuwctycuxctycuycrQctpctpctpctpctpcrQcuzctDctDctDcuAcrQcusctGctGctGcutcrW +cqMcrwcrEcrrcrscrycrvcrzcuucsHcsZctbcsCcsQcsGcsScsTcsRcuBcrEcrrcrzcrDcrscrFcrBcqHcrIcrJcrNcrKcrLcrMcqQcrgcqScqTcqUcqVcqWcrGcrHcrIcrJcrNcrKcrLcrMcqQcqRcqScqTcqUcqVcqWcrGcrHcrIcracrmaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacrOdJUdJVdJTdJUdJVcrQdKrdJSdJSdJSdJScrQdJRdKudKsdKtdJRcrQcuwcuCcuCcuCcuycrQcuDcuDcuDcuDcuDcrQcuzctDctDctDcuAcrQcusctGctGctGcutcrW +cqPcrscrBcrucrzcrAcrEcrvcuBcsScsTcsEcsPcsBcsCctbcsFctacuEcrBcrucrvcrtcrzcrrcrycqDcqUcqVcqWcrGcrHcrIcrJcrbcrKcrLcrMcqQcqRcqScqTcqUcqVcqWcrGcrHcrIcrJcrNcrKcrLcrMcqQcqRcqScqTcqUcrkcrmaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacrOdJVdJTdJUdJVdJTcrQdJSdKmdJSdKndJScrQdJRdKqdKodKpdJRcrQcuwcuwctycuycuycrQcuFcuFcuFcuFcuFcrQcuzctDctDctDcuAcrQcusctGctGctGcutcrW +cqCcrzcrycrxcrvcrDcrBcrEcuEctbcsFcsRcsZcsHcsPcsEcsDcsGcuGcrycrxcrEcrCcrvcrucrAcqJcrMcqQcqRcqScqTcqUcqVcrlcrGcrHcrIcrJcrNcrKcrLcrMcqQcqRcqScqTcqUcqVcqWcrGcrHcrIcrJcrNcrKcrLcrMcrfcrmaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacrOdJTdJUdJVdJTdJUcrQdJSdJSdJSdJSdKrcrQdJRdJRdJRdJRdJRcrQcuHcuHcuIcuJcuJcrQcuKcuKcuKcuKcuKcrQcuLcuMcuMcuMcuNcrQcuOcuPcuPcuPcuQcrW +cqFcrvcrAcrwcrEcrtcrycrBcuGcsEcsDctacsTcsScsZcsRcsQcsCcuRcrAcrwcrBcrFcrEcrxcrDcqGcrKcrLcrMcqQcqRcqScqTcrjcqVcqWcrGcrHcrIcrJcrNcrKcrLcrMcqQcqRcqScqTcqUcqVcqWcrGcrHcrIcrJcrNcrKcrdcrmaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacuScuTcuTcuTcuTcuTcuUcuTcuTcuTcuTcuTcuUcuTcuTcuTcuTcuTcuUcuTcuTcuTcuTcuTcuUcuTcuTcuTcuTcuTcuUcuTcuTcuTcuTcuTcuUcuTcuTcuTcuTcuTcuV cqIcrEcrDcrscrBcrCcrAcrycuRcsRcsQcsGcsFctbcsTctacsBcsPcuWcrDcrscrycrrcrBcrwcrtcqOcqVcqWcrGcrHcrIcrJcrNcrccrLcrMcqQcqRcqScqTcqUcqVcqWcrGcrHcrIcrJcrNcrKcrLcrMcqQcqRcqScqTcqUcqVcrlcrmaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa cqHcrBcrtcrzcrycrFcrDcrAcuWctacsBcsCcsDcsEcsFcsGcsHcsZcsOcrtcrzcrAcrucrycrscrCcqLcrHcrIcrJcrNcrKcrLcrMcrfcqRcqScqTcqUcqVcqWcrGcrHcrIcrJcrNcrKcrLcrMcqQcqRcqScqTcqUcqVcqWcrGcrHcqZcrmaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa cqDcrycrCcrvcrAcrrcrtcrDcsOcsGcsHcsPcsQcsRcsDcsCcsScsTcsUcrCcrvcrDcrxcrAcrzcrFcqBcqTcqUcqVcqWcrGcrHcrIcracrbcrccrdcrecrfcrgcrhcricrjcrkcrlcqXcqYcqZcracrbcrccrdcrecrfcrgcrhcricrjcrmaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa @@ -11047,7 +11117,7 @@ aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadlxdlxdlxdlxdlxdlxdlxdlxdlxdlxdlxdlxdoVdyXdoVdrqdurdAedtsdnMdrSdrqdoVdrTdqedoVdAfdAgdAgdAhdoVdAidlxdlxdlxdlxdlxdlxdlxdlxdlxdlxdlxdlxdlxdlxdlxdlxdlxdlxdlxdlxdlxdlxdlxdlxdlxdlxdlxdkrdvqdvqdwcdwcdwcdwcdwcdwcdwcdwcdwcdwcdwcdwcdAjdAkdAlaaaaaaaaaaaaaaaaaaaabaabaabdwTdwTdAmdAndwTdAodApdAqdApdwTdArdwcdwcdwcdwcdwcdvFdvFdvFdvIdvIdvIdvIdvLdvLdvLdvLdvOdvOdvOdvOdvOdzxdzxdAsdAtdkLdkLdAudyVdkrdkrdlxdlxdlxaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadlxdlxdlxdlxdlxdlxdlxdlxdlxdlxdlxdlxdoVdyXdoVdurdovdtvdrqdrTdqedtvdoVdyXdoVdoVdutdmNdAgdAvdAwdAidAidlxdlxdlxdlxdlxdlxdlxdlxdlxdlxdlxdlxdlxdlxdlxdlxdlxdlxdlxdlxdlxdlxdlxdlxdlxdlxdkrdvqdvqdwcdwcdwcdwcdwcdwcdwcdwcdwcdwcdwcdwcdAxdAydAzaaaaaaaaaaaaaaaaabdAAdABdACdADdAEdAFdAGdAHdAIdAJdAKdALdwTdArdwcdwcdwcdwcdwcdAMdANdAOdkrdkrdkrdkrdkrdkrdkrdkrdkrdkrdkrdkrdkrdkrdkJdAPdyVdAQdkrdkrdkrdkrdkrdlxdlxdlxdlxaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadlxdlxdlxdlxdlxdlxdlxdlxdlxdlxdlxdlxdlxdoVdyXdoVdoVdoVdoVdoVdoVdoVdoVdoVdyXdoVdutdmNduudmNdAhdARdAidAidlxdlxdlxdlxdlxdlxdlxdlxdlxdlxdlxdlxdlxdlxdlxdlxdlxdlxdlxdlxdlxdlxdlxdlxdlxdlxdkrdvqdwcdwcdwcdwcdwcdwcdwcdwcdwcdwcdwcdwcdwcdASdATdAUdAVdAVdAVdAVdAVdAVdAWdAXdAYdAZdAZdBadBbdBbdwTdBcdBddBedwTdArdwcdwcdwcdwcdwcdAjdAydBfdkrdkrdlxdlxdlxdlxdlxdlxdkrdkrdkrdkrdkrdkJdAPdyVdBgdAidBgdkrdkrdkrdkrdlxdlxdlxdlxaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadBhdBhdBhdBhdBhdBhdBhdBhdBhdBhdBhdBhdBhdBhdBhdBhaaaaaaaaaaaaaaadBhdlxdlxdlxdlxdlxdlxdlxdlxdlxdlxdlxdlxdlxdlxdoVdyXdyXdyXdyXdyXdyXdyXdyXdyXdyXdyXdoVdutduuduuduuduvdoVdAidAidAidlxdlxdlxdlxdlxdlxdlxdlxdlxdlxdlxdlxdlxdlxdlxdlxdlxdlxdlxdlxdlxdlxdlxdlxdlxdkrdvqdwcdwcdwcdwcdwcdwcdwcdwcdwcdwcdwcdwcdwcdwcdBidBjdBjdBjdBjdBjdBjdBjdBjdBidwcdwcdwcdwcdwcdwcdwTdApdBkdApdwTdBldwcdwcdwcdwcdwcdBmdBndBodkLdkLdkLdkLdBpdkLdkLdkLdkLdkLdBqdBrdBsdBtdyVdAidAidAidBgdwddkrdlxdlxdlxdlxdlxdlxaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadBhdBhdBhdBhdBhdBhdBhdBhdBhdBhdBhdBhdBhdBhdBhdBhaaaaaaaaaaaaaaadBhdlxdlxdlxdlxdlxdlxdlxdlxdlxdlxdlxdlxdlxdlxdoVdyXdyXdyXdyXdyXdyXdyXdyXdyXdyXdyXdoVdutduuduuduuduvdoVdAidAidAidlxdlxdlxdlxdlxdlxdlxdlxdlxdlxdlxdlxdlxdlxdlxdlxdlxdlxdlxdlxdlxdlxdlxdlxdlxdkrdvqdwcdwcdwcdwcdwcdwcdwcdwcdwcdwcdwcdwcdwcdwcdBidBjdBjdBjdBjdBjdBjdBjdBjdBidwcdwcdwcdwcdwcdwcdwTdApdKydApdwTdBldwcdwcdwcdwcdwcdBmdBndBodkLdkLdkLdkLdBpdkLdkLdkLdkLdkLdBqdBrdBsdBtdyVdAidAidAidBgdwddkrdlxdlxdlxdlxdlxdlxaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadBhdBhdBhdBhdBhdBhdBhdBhdBhdBhdBhdBhdBhdBhdBhdBhdBhdBhdBhdBhdBhdBhdBhdBhdlxdlxdlxdlxdlxdlxdlxdlxdlxdlxdlxdlxdlxdlxdlxdlxdoVdoVdoVdoVdoVdoVdoVdoVdoVdoVdoVdoVdoVdoVdzDdBudBvdoVdoVdAidAidAidAidlxdlxdlxdlxdlxdlxdlxdlxdlxdlxdlxdlxdlxdlxdlxdlxdlxdlxdlxdlxdlxdlxdlxdlxdkrdvqdwcdwcdwcdwcdwcdwcdwcdwcdwcdwcdwcdwcdwcdASdAYdBwdBxdBxdBxdBxdBxdBxdBxdASdAYdwcdwcdwcdwcdwcdwcdBydBzdBAdBBdBCdBDdwcdwcdwcdwcdAOdAOdAOdkrdkrdlxdlxdlxdlxdlxdlxdlxdlxdBEdBFdBGdBHdAidBgdAidAidBgdkrdkrdkrdlxdlxdlxdlxdlxdlxaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadBhdBhdBhdBhdBhdBhdBhdBhdBhdBhdBhdBhdBhdBhdBhdBhdBhdBhdBhdBhdBhdBhdBhdBhdBhdBhdlxdlxdlxdlxdlxdlxdlxdlxdlxdlxdlxdlxdlxdlxdlxdlxdlxdlxdlxdlxdlxdlxdlxdlxdlxdlxdlxdAidAidAidoVdAgdAgduudoVdAidAidAidAidAidlxdlxdlxdlxdlxdlxdlxdlxdlxdlxdlxdlxdlxdlxdlxdlxdlxdlxdlxdlxdlxdlxdlxdlxdkrdvqdwcdwcdwcdwcdwcdwcdwcdwcdwcdwcdwcdwcaaaaaaaaaaaaaaaaaaaaaaaadvqdvqdvqdvqdvqdvqdvqdvqdwcdwcdwcdwcdwcdwcdBydBIdBAdwcdwcdwcdvqdvqdkrdkrdkrdkrdlxdlxdlxdlxdlxdlxdlxdwddBgdAidBJdAidBgdAidAidAidkrdkrdkrdkrdkrdlxdlxdlxdlxdlxaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadBhdBhdBhdBhdBhdBhdBhdBhdBhdBhdBhdBhdBhdBhdBhdBhdBhdBhdBhdBhdBhdBhdBhdBhdBhdBhdBhdlxdlxdlxdlxdlxdlxdlxdlxdlxdlxdlxdlxdlxdlxdlxdlxdlxdlxdlxdlxdlxdlxdlxdlxdlxdlxdlxdAidAidAidoVdBKdBLdBKdoVdAidAidAidAidAidlxdlxdlxdlxdlxdlxdlxdlxdlxdlxdlxdlxdlxdlxdlxdlxdlxdlxdlxdlxdlxdlxdlxdlxdkrdvqdwcdwcdwcdwcdwcdwcdwcdwcdwcdwcdwcdwcaaaaaaaaaaaaaaaaaaaaaaaadvqdvqdvqdkrdkrdkrdkrdvqdvqdvqdwcdwcdwcdwcdwcdBMdwcdwcdwcdwcdvqdkrdkrdkrdlxdlxdlxdlxdlxdlxdlxdlxdlxdlxdlxdlxdwddlxdAidAQdlxdkrdlxdlxdkrdkrdkrdkrdlxdlxdlxdlxaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa @@ -11151,18 +11221,18 @@ aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadBhdBhdB aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadBhdBPdBPdBPdBPdBPdBPdBPdBPdBhdBhdBhdBhdBhdBhdBhdBPdBPdBPdBPdBPdBPdBhdBhdBhdBhdBhdBhdBhdBhdBhdwcdwcdwcdwcdwcdwcdwcdwcdDcdDddDedwcdwcdwcdvqdkrdkrdkrdkrdkrdlxdlxdlxdlxdlxdlxdlxdlxdlxdlxdlxdlxdlxdlxdlxdlxdlxdlxdlxdlxdlxdlxdkrdkrdkrdvqdvqdvqdvqdvqdvqdvqdkrdkrdkrdkrdkrdkrdkrdkrdlxdlxdlxdlxdlxdlxdlxdlxdlxdlxdCIdDfdCIdCIdCIdCIdCIdCIdCOdDgdwcdwcdwcdwcdwcdwcdwcdwcdwcdwcdwcaaaaaaaaaaaaaaaaaaaaaaaaaaadkrdkrdkrdkrdkrdvqdvqdwcdCYdwcdwcdwcdBYdBCdBDdwcdwcdwcdwcdwcdwcdwcdAidAidvqdkrdkrdkrdkrdlxdlxdlxdlxdlxdlxdlxdlxdlxdlxdlxdlxdlxdlxaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadBhdBhdBPdBPdBPdBPdBPdBPdBhdBhdBhdBhdBhdBhdBhdBPdBPdBPdBPdBPdBPdBhdBhdBhdBhdwcdwcdDhdDhdDhdDhdDhdDhdDidDjdDkdDhdDhdDhdDhdDhdwcdwcdwcdvqdkrdkrdkrdkrdkrdkrdlxdlxdlxdlxdlxdlxdlxdlxdlxdlxdlxdlxdlxdlxdlxdlxdlxdlxdlxdkrdkrdkrdkrdvqdvqdwcdwcdwcdwcdwcdvqdvqdvqdvqdvqdkrdkrdkrdkrdkrdkrdkrdlxdlxdlxdlxdCIdCIdCIdCIdDldDmdDndCIdCMdDodCIdCUdCIdCIdCIdDpdDqdDrdCIdwcdwcdwcdwcdwcdwcaaaaaaaaaaaaaaaaaaaaaaaaaaadkrdkrdkrdvqdvqdwcdwcdwcdwcdwcdwcdBydBIdBAdwcdwcdwcdwcdwcdwcdwcdwcdwcdvqdvqdkrdkrdkrdlxdlxdlxdlxdlxdlxdlxdlxdlxdlxdlxdkrdlxdlxaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadBhdBhdBPdBPdBPdBPdBPdBPdBhdBhdBhdBhdBhdBhdBhdBPdBPdBPdBPdBPdBhdBhdvqdwcdwcdwcdDhdDsdDtdDudDvdDwdDxdDydDzdDAdDBdDCdDDdDEdBDdwcdwcdvqdvqdvqdvqdkrdkrdkrdkrdkrdkrdlxdlxdlxdlxdlxdlxdlxdlxdlxdlxdlxdlxdlxdlxdlxdlxdkrdkrdkrdvqdvqdwcdwcdwcdwcdwcdwcdwcdwcdwcdwcdvqdvqdvqdvqdvqdkrdkrdkrdkrdlxdlxdlxdCIdDFdDGdDHdDIdDGdDGdCIdCQdCRdDJdCOdCIdDKdDLdDMdDMdDMdCXdwcdwcdwcdwcdwcdwcdwcaaaaaaaaaaaaaaaaaaaaaaaaaaadvqdvqdvqdwcdwcdwcdwcdwcdwcdwcdwcdDNdDOdDPdDQdDOdDOdwcdwcdwcdwcdwcdwcdvqdkrdkrdkrdlxdlxdlxdlxdlxdlxdlxdlxdlxdlxdlxdkrdlxaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadBhdBhdBhdBPdBPdBPdBhdBhdBhdBhdBhdBhdBhdBhdBPdBPdBPdBhdBhdkrdvqdwcdwcdwcdDhdDRdDtdDSdDTdDtdDUdDtdDtdDVdDWdDXdDDdDYdDZdwcdwcdwcdwcdwcdvqdvqdvqdkrdkrdkrdkrdkrdkrdkrdlxdlxdlxdlxdlxdlxdlxdlxdlxdlxdlxdlxdkrdkrdvqdvqdyndwcdwcdwcdwcdwcdwcdwcdwcdwcdwcdwcdwcdwcdwcdwcdvqdvqdkrdkrdkrdkrdkrdkrdCIdEadDGdEbdEcdEddEedCIdCIdCIdCIdCOdCIdDKdEfdEfdEfdEgdDbdwcdwcdwcdwcdwcdwcdwcaaaaaaaaaaaaaaaaaaaaaaaaaaadwcdwcdwcdwcdwcdwcdwcdwcdwcdwcdwcdDNdEhdEhdEhdEidDOdwcdEjdwcdwcdwcdzcdyndvqdkrdkrdlxdlxdlxdlxdlxdlxdlxdlxdlxdlxdkrdkrdlxaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadBhdBhdBhdBPdBPdBPdBhdBhdBhdBhdBhdBhdBhdBhdBPdBPdBPdBhdBhdkrdvqdwcdwcdwcdDhdDRdDtdDSdDTdDtdDUdDtdDtdDVdDWdDXdDDdKzdDZdwcdwcdwcdwcdwcdvqdvqdvqdkrdkrdkrdkrdkrdkrdkrdlxdlxdlxdlxdlxdlxdlxdlxdlxdlxdlxdlxdkrdkrdvqdvqdyndwcdwcdwcdwcdwcdwcdwcdwcdwcdwcdwcdwcdwcdwcdwcdvqdvqdkrdkrdkrdkrdkrdkrdCIdEadDGdEbdEcdEddEedCIdCIdCIdCIdCOdCIdDKdEfdEfdEfdEgdDbdwcdwcdwcdwcdwcdwcdwcaaaaaaaaaaaaaaaaaaaaaaaaaaadwcdwcdwcdwcdwcdwcdwcdwcdwcdwcdwcdDNdEhdEhdEhdEidDOdwcdEjdwcdwcdwcdzcdyndvqdkrdkrdlxdlxdlxdlxdlxdlxdlxdlxdlxdlxdkrdkrdlxaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadBhdBhdBPdBPdBPdBhdBhdBhdBhdBhdBhdBhdBhdBhdBhdBhdBhdBhdkrdvqdwcdwcdwcdDhdEkdDtdDtdEldDtdDUdDtdDtdDtdEmdEndEodDEdBAdwcdwcdwcdwcdwcdwcdwcdvqdvqdvqdvqdkrdkrdkrdkrdkrdkrdlxdlxdlxdlxdlxdlxdlxdlxdlxdkrdkrdvqdvqdwcdCYdwcdwcdwcdwcdwcdwcdwcdwcdwcdwcdwcdwcdwcdwcdwcdwcdvqdvqdvqdvqdkrdkrdkrdCIdEpdDGdEqdDGdErdDGdEsdEgdEtdEudEvdCIdDKdEfdEwdEfdExdDgdwcdwcdwcdwcdwcdwcaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadwcdwcdwcdwcdwcdEydEydEzdEAdDNdEBdECdEDdEEdDOdDOdDOdDOdwcdwcdwcdwcdvqdvqdkrdkrdlxdlxdlxdlxdlxdlxdlxdlxdlxdkrdlxaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadBhdBhdBhdBhdBhdBhdBhdBhdBhdBhdBhdBhdBhdBhdBhdlxdlxdvqdvqdwcdwcdDhdEFdDtdEGdEHdEIdEJdEKdDtdDhdDhdDhdDhdDhdDhdBYdBDdwcdwcdwcdwcdwcdwcdwcdwcdvqdvqdvqdkrdkrdkrdkrdkrdlxdlxdlxdlxdlxdlxdlxdkrdkrdkrdvqdwcdwcdwcdwcdwcdwcdwcdwcdwcdwcdwcdBYdBDdwcdwcdwcdwcdwcdwcdwcdwcdwcdvqdvqdkrdkrdCIdCIdCIdCIdCIdCIdCIdELdEMdENdELdEMdCIdCIdCIdCIdCIdEOdCIdCIdEPdEQdwcdwcaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadwcdwcdERdEAdESdETdEUdEVdEWdEXdEYdEZdFadFbdFcdFddBDdwcdwcdwcdyodvqdkrdkrdlxdlxdlxdlxdlxdlxdlxdkrdkrdkrdlxaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadBhdBhdBhdBhdBhdBhdBhdBhdBhdBhdBhdlxdlxdkrdvqdwcdwcdDhdFedDtdFfdDTdFgdFhdFidDtdFjdFkdFldFmdFndFodCedCfdBWdBWdBWdBWdBWdBVdwcdwcdwcdwcdvqdvqdvqdkrdkrdkrdkrdkrdlxdlxdlxdkrdkrdkrdkrdvqdvqdwcdwcdCbdBWdBWdBWdBWdBWdBWdBWdBWdCedCfdBWdBWdBWdBWdBVdwcdwcdwcdwcdwcdvqdkrdkrdkrdkrdkrdCIdFpdFqdFrdEfdExdFsdEgdExdEsdFtdFudFvdEgdExdEfdEfdFwdFxdDqdDrdFydFzdFzdFzdFzdFzdFzdFzdFAdFAdFAdFAdFAdFAdFAdEzdFBdFCdFDdETdFEdFFdFGdFHdEXdEXdFIdFJdFKdFLdFMdFNdwcdwcdwcdyodvqdkrdkrdlxdlxdlxdlxdlxdlxdkrdkrdkrdlxdlxaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadBhdBhdBhdBhdBhdBhdBhdBhdBhdBhdBhdlxdlxdkrdvqdwcdwcdDhdFedDtdFfdDTdFgdFhdFidDtdFjdFkdFldFmdFndFodCedCfdBWdBWdBWdBWdBWdBVdwcdwcdwcdwcdvqdvqdvqdkrdkrdkrdkrdkrdlxdlxdlxdkrdkrdkrdkrdvqdvqdwcdwcdCbdBWdBWdBWdBWdBWdBWdBWdBWdCedCfdBWdBWdBWdBWdBVdwcdwcdwcdwcdwcdvqdkrdkrdkrdkrdkrdCIdFpdFqdFrdEfdExdFsdEgdExdEsdFtdFudFvdEgdExdEfdEfdFwdFxdDqdDrdFydFzdFzdFzdFzdFzdFzdFzdFAdFAdFAdFAdFAdFAdFAdEzdFBdFCdFDdETdFEdFFdFGdFHdEXdEXdFIdFJdFKdFLdKAdFNdwcdwcdwcdyodvqdkrdkrdlxdlxdlxdlxdlxdlxdkrdkrdkrdlxdlxaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadBhdBhdBhdBhdlxdlxdkrdvqdwcdwcdDhdDhdDhdDhdDhdFOdFPdFQdDhdDhdFRdDhdDhdDhdDhdBydBAdwcdwcdwcdwcdwcdBMdwcdwcdwcdwcdvqdwcdvqdvqdkrdkrdkrdkrdkrdkrdkrdkrdkrdkrdvqdvqdwcdwcdwcdBMdwcdwcdwcdwcdwcdwcdwcdwcdBydBAdwcdwcdwcdwcdBMdwcdwcdwcdwcdwcdvqdvqdyndvqdvqdkrdCIdCIdCIdCIdFSdExdFTdFUdFVdEudFWdFXdFXdFYdFYdFZdFXdGadGbdFXdGbdGcdGcdGcdGcdGcdGcdGcdGcdGddGddGddGddGddGddGddGedGfdGedGgdGfdGhdGidGjdGkdGldGmdGndGodGpdGqdFddBAdwcdwcdwcdwcdvqdvqdkrdkrdlxdlxdlxdlxdlxdkrdkrdkrdlxdlxaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadBhdBhdlxdlxdkrdvqdvqdwcdwcdwcdwcdwcdDhdGrdGsdGtdGudDhdGvdGwdzjdwcdwcdwcdwcdwcdBOdwcdwcdwcdBUdBWdBWdBVdwcdwcdwcdwcdvqdkrdkrdkrdkrdkrdkrdkrdkrdkrdkrdvqdwcdwcdCbdBWdCcdwcdwcdwcdwcdvqdwcdwcdBOdwcdwcdwcdwcdwcdwcdBMdwcdwcdwcdwcdwcdwcdwcdCYdwcdvqdvqdvqdvqdvqdCIdEfdGxdGydGzdGzdGydGAdGBdGCdGzdGzdGDdGBdGEdGFdGGdGHdGIdGIdGIdGIdGIdGIdGIdGIdGJdGJdGJdGJdGJdGJdGKdGLdGMdGNdGOdGPdGQdGRdGSdEydEydEydEydEydEydEydEydGTdGUdGVdGUdzjdyodvqdkrdkrdlxdlxdlxdlxdkrdkrdkrdkrdlxdlxaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadlxdlxdkrdvqdvqdwcdwcdwcdwcdDhdGWdGXdGYdGZdDhdwcdwcdwcdwcdwcdwcdvqdvqdyndvqdwcdwcdwcdwcdwcdBMdwcdwcdwcdwcdwcdvqdkrdkrdkrdkrdkrdvqdvqdvqdvqdvqdwcdCbdCcdwcdwcdwcdvqdvqdvqdvqdvqdvqdyndwcdwcdwcdwcdwcdwcdBMdwcdwcdwcdwcdwcdwcdwcdwcdwcdwcdwcdvqdvqdCIdCIdHadHbdHadCIdCIdHcdHddHedCIdCIdHadHfdHgdCIdHhdwcdwcdwcaaaaaaaaaaaaaabaaaaaaaaaaabaaaaaaaaaaaaaaaaabaaadHidEAdETdHjdHkdHldHmdHndHndHodEydHpdHqdHrdHsdHsdHsdHsdzjdwcdvqdkrdkrdlxdlxdlxdlxdkrdkrdkrdlxdlxdlxaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadlxdlxdlxdkrdvqdvqdwcdwcdwcdDhdDhdDhdDhdDhdDhdwcdwcdvqdvqdvqdvqdvqdkrdkrdvqdvqdwcdwcdwcdwcdBMdwcdwcdwcdwcdwcdwcdvqdvqdvqdvqdvqdvqdwcdwcdwcdwcdwcdBMdwcdwcdvqdvqdvqdkrdkrdkrdkrdkrdvqdwcdwcdwcdwcdwcdwcdBMdwcdwcdwcdBYdBDdwcdwcdwcdwcdwcdwcdwcdvqdCIdHtdHudHvdHudCIdHwdHxdHydHzdHAdCIdHBdHCdHDdCIdwcdwcdwcdwcdwcdwcaaaaaaaabaaaaaaaaaaabaabaabaabaabaabaabaabaabdEydHEdHFdGidEydEydEydEydHGdEydHHdEydEydHIdzjdzjdzjdzjdwcdvqdkrdkrdlxdlxdlxdkrdkrdlxdlxdlxdlxdlxaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadlxdlxdkrdkrdvqdwcdwcdwcdwcdwcdwcdwcdwcdwcdwcdwcdvqdkrdkrdkrdkrdkrdkrdkrdvqdvqdwcdwcdwcdBUdBWdBWdBWdBVdwcdwcdwcdwcdwcdwcdwcdwcdwcdwcdwcdwcdwcdBMdwcdvqdvqdkrdkrdkrdkrdkrdkrdkrdvqdvqdwcdwcdwcdwcdwcdBUdBWdBWdBWdCedCfdBWdBWdBWdBVdwcdwcdwcdwcdCIdHJdHKdHLdHMdCIdHNdHOdHOdHPdHAdCIdHQdHRdHSdCIdwcdwcdwcdwcdwcdwcaabaabaabaabaabaabaabdHTdHTdHTdHTdHTaabaaaaaadEydHUdHVdGidHWdHXdHYdHndHndHZdHndHodEydwcdwcdwcdwcdwcdvqdvqdkrdkrdlxdlxdkrdkrdkrdlxdlxdlxdlxdlxaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadlxdlxdlxdkrdvqdwcdwcdwcdwcdwcdwcdwcdwcdwcdvqdvqdvqdkrdkrdkrdkrdkrdkrdkrdkrdvqdvqdvqdwcdwcdwcdwcdwcdBUdBVdwcdwcdBYdBDdwcdwcdCbdBWdBWdBWdBWdBWdCcdwcdvqdkrdkrdkrdkrdlxdlxdlxdkrdkrdvqdvqdvqdwcdwcdwcdwcdwcdwcdwcdBydBAdwcdwcdwcdBMdwcdwcdwcdwcdCIdCIdCIdCIdCIdCIdIadIbdIcdIddHAdCIdHadIedHadCIdwcdwcdwcdwcdwcdwcaaaaaaaabaaaaaaaaaaabdHTdHTdHTdHTdHTaabaaadERdEAdIfdIgdIhdEydEydEydEydEydEydIidIjdEydwcdwcdwcdwcdwcdvqdkrdkrdlxdlxdlxdkrdkrdkrdkrdlxdlxdlxdlxaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadlxdlxdlxdkrdvqdwcdwcdwcdwcdwcdwcdwcdwcdwcdvqdvqdvqdkrdkrdkrdkrdkrdkrdkrdkrdvqdvqdvqdwcdwcdwcdwcdwcdBUdBVdwcdwcdBYdBDdwcdwcdCbdBWdBWdBWdBWdBWdCcdwcdvqdkrdkrdkrdkrdlxdlxdlxdkrdkrdvqdvqdvqdwcdwcdwcdwcdwcdwcdwcdBydBAdwcdwcdwcdBMdwcdwcdwcdwcdCIdCIdCIdCIdCIdCIdIadIbdIcdIddHAdCIdHadKBdHadCIdwcdwcdwcdwcdwcdwcaaaaaaaabaaaaaaaaaaabdHTdHTdHTdHTdHTaabaaadERdEAdIfdIgdIhdEydEydEydEydEydEydIidIjdEydwcdwcdwcdwcdwcdvqdkrdkrdlxdlxdlxdkrdkrdkrdkrdlxdlxdlxdlxaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadlxdlxdlxdlxdvqdvqdvqdvqdwcdwcdwcdwcdvqdvqdvqdkrdkrdkrdkrdkrdkrdkrdkrdkrdkrdkrdkrdvqdvqdvqdwcdBOdwcdwcdBUdBWdBWdCedCfdBWdBWdCcdwcdwcdwcdwcdwcdwcdwcdvqdkrdkrdkrdlxdlxdlxdlxdlxdkrdkrdkrdvqdvqdvqdvqdwcdwcdwcdwcdwcdwcdwcdwcdwcdBUdBWdBWdBVdwcdwcdwcdwcdwcdwcdCIdCIdCIdCIdCIdCIdCIdIkdIldImdIndwcdwcdwcdwcdwcaaaaaaaaaaabaaaaaaaaaaabdHTdHTdHTdHTdHTdIodFBdIpdIqdETdIrdGidIsdItdIudIvdIwdIxdIydIjdEydwcdwcdwcdwcdvqdvqdkrdkrdlxdlxdkrdkrdkrdkrdlxdlxdlxdlxdlxaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadlxdlxdlxdlxdlxdkrdvqdvqdvqdvqdvqdvqdkrdkrdkrdkrdkrdkrdkrdlxdlxdlxdlxdkrdkrdkrdkrdkrdvqdvqdyndvqdwcdwcdwcdwcdBydBAdwcdwcdwcdwcdBOdwcdvqdvqdvqdvqdvqdkrdkrdlxdlxdlxdlxdlxdlxdlxdkrdkrdkrdkrdkrdvqdvqdvqdvqdvqdvqdvqdvqdwcdwcdwcdwcdwcdBMdwcdwcdwcdwcdwcdwcdwcdwcdBydIzdIAdIAdIAdIAdIBdBAdwcdwcdwcdwcdwcdwcaabaabaabaabaabaabaabaabdHTdHTdHTdHTdHTdICdETdICdETdETdIrdGidETdETdIDdETdETdIEdIFdIGdEydwcdwcdwcdwcdvqdkrdkrdkrdlxdlxdkrdkrdkrdlxdlxdlxdlxdlxaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadlxdlxdlxdlxdlxdkrdvqdvqdvqdvqdvqdvqdkrdkrdkrdkrdkrdkrdkrdlxdlxdlxdlxdkrdkrdkrdkrdkrdvqdvqdyndvqdwcdwcdwcdwcdBydBAdwcdwcdwcdwcdBOdwcdvqdvqdvqdvqdvqdkrdkrdlxdlxdlxdlxdlxdlxdlxdkrdkrdkrdkrdkrdvqdvqdvqdvqdvqdvqdvqdvqdwcdwcdwcdwcdwcdBMdwcdwcdwcdwcdwcdwcdwcdwcdBydIzdIAdIAdIAdIAdIBdBAdwcdwcdwcdwcdwcdwcaabaabaabaabaabaabaabaabdHTdHTdHTdHTdHTdKCdETdICdETdETdIrdGidETdETdIDdETdETdIEdIFdIGdEydwcdwcdwcdwcdvqdkrdkrdkrdlxdlxdkrdkrdkrdlxdlxdlxdlxdlxaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadlxdlxdlxdlxdlxdlxdkrdkrdkrdkrdkrdkrdkrdkrdkrdlxdlxdlxdlxdlxdlxdlxdlxdlxdkrdkrdkrdkrdkrdkrdvqdvqdwcdwcdwcdwcdwcdwcdwcdwcdwcdyndvqdvqdkrdkrdkrdkrdkrdlxdlxdlxdlxdlxdlxdlxdlxdkrdkrdkrdkrdkrdkrdkrdkrdkrdkrdkrdkrdvqdvqdwcdwcdwcdwcdBMdwcdwcdwcdwcdwcdwcdwcdwcdwcdwcdwcdwcdwcdwcdwcdwcdwcdwcdwcdwcdwcdwcdwcaaaaaaaaaaaaaaaaaaaabdHTdHTdHTdHTdHTdEzdFBdIHdIIdETdIrdIJdGPdGPdIKdGPdGPdILdIMdINdEydwcdwcdwcdBXdyndkrdkrdkrdlxdkrdkrdkrdkrdlxdlxdlxdlxdlxaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadlxdlxdlxdlxdkrdlxdlxdkrdkrdkrdkrdlxdlxdlxdlxdlxdlxdlxdlxdlxdlxdlxdlxdlxdlxdkrdkrdkrdkrdkrdkrdvqdvqdvqdwcdwcdwcdvqdvqdvqdvqdvqdkrdkrdkrdkrdkrdlxdlxdlxdlxdlxdlxdlxdlxdlxdlxdlxdlxdlxdlxdlxdlxdlxdlxdkrdkrdkrdkrdkrdvqdwcdwcdwcdwcdBUdBWdBWdBWdBWdBWdBWdBWdBWdBWdBWdBWdBWdBWdBWdBWdBWdBWdBVdwcdwcdwcdwcdwcdwcaaaaaaaaaaaaaaaaabdHTdHTdHTdHTdHTaabaaadHidEAdIOdIrdGidETdETdIPdItdETdETdIidIQdEydwcdwcdwcdwcdvqdkrdkrdkrdkrdkrdkrdkrdlxdlxdlxdlxdlxdlxaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadlxdlxdlxdlxdlxdlxdlxdlxdlxdlxdlxdlxdlxdlxdlxdlxdlxdlxdlxdlxdlxdlxdlxdlxdlxdlxdkrdkrdkrdkrdkrdkrdvqdvqdvqdvqdvqdkrdkrdkrdkrdkrdkrdkrdlxdlxdlxdlxdlxdlxdlxdlxdlxdlxdlxdlxdlxdlxdlxdlxdlxdlxdlxdlxdkrdkrdkrdkrdkrdvqdvqdvqdwcdwcdwcdwcdwcdwcdwcdwcdwcdwcdwcdwcdwcdwcdwcdwcdwcdwcdwcdwcdBMdwcdBYdBDdwcdwcdwcdAOdAOaaaaaaaaaaabdHTdHTdHTdHTdHTaabaaaaaadIRdIRdISdITdGPdIUdIVdIWdIXdIYdIFdIjdEydwcdwcdwcdwcdvqdkrdkrdkrdkrdlxdkrdkrdlxdlxdlxdlxdlxaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa From 1a51aefaac8684143a02203cb50e2acd2c4c3f4d Mon Sep 17 00:00:00 2001 From: Chinsky Date: Sat, 1 Jun 2013 04:05:33 +0400 Subject: [PATCH 07/29] Fixes #2922 Putting gun away now properly lowers aim. Prevents gun from going off if it's not in active hand. --- code/modules/projectiles/targeting.dm | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/code/modules/projectiles/targeting.dm b/code/modules/projectiles/targeting.dm index 5480b83d847..a2aaa9dc163 100644 --- a/code/modules/projectiles/targeting.dm +++ b/code/modules/projectiles/targeting.dm @@ -25,6 +25,13 @@ user.client.remove_gun_icons() return ..() +/obj/item/weapon/gun/equipped(var/mob/user, var/slot) + if (slot != slot_l_hand && slot != slot_r_hand) + stop_aim() + if (user.client) + user.client.remove_gun_icons() + return ..() + //Removes lock fro mall targets /obj/item/weapon/gun/proc/stop_aim() if(target) @@ -69,6 +76,7 @@ if(!istype(M)) return if(src != M.equipped()) stop_aim() + return M.last_move_intent = world.time if(load_into_chamber()) var/firing_check = in_chamber.check_fire(T,usr) //0 if it cannot hit them, 1 if it is capable of hitting, and 2 if a special check is preventing it from firing. From 793f472a4f2cccf067673c37b32a1ed690391ce0 Mon Sep 17 00:00:00 2001 From: Chinsky Date: Sat, 1 Jun 2013 04:11:16 +0400 Subject: [PATCH 08/29] Should fix quite a few of false positives on gun targeting. Allows mob to click on turfs with empty hand. --- code/game/atoms.dm | 10 +++++++++- code/modules/projectiles/targeting.dm | 2 +- 2 files changed, 10 insertions(+), 2 deletions(-) diff --git a/code/game/atoms.dm b/code/game/atoms.dm index 99b56c346e0..f8001dbdc2b 100644 --- a/code/game/atoms.dm +++ b/code/game/atoms.dm @@ -550,8 +550,16 @@ its easier to just keep the beam vertical. /atom/Click(location,control,params) //world << "atom.Click() on [src] by [usr] : src.type is [src.type]" - if(!istype(src,/obj/item/weapon/gun)) + var/acting_bad = 1 //Check for gun targeting code. + if (istype(src,/obj/item/weapon/gun)) //Allow people to lower weapon + acting_bad = 0 + if (istype(src, /turf) && istype(usr,/mob/living/carbon/human)) //Allow people to turn around + var/mob/living/carbon/human/H = usr + if (!H.equipped()) + acting_bad = 0 + if(acting_bad) usr.last_target_click = world.time + if(usr.client.buildmode) build_click(usr, usr.client.buildmode, location, control, params, src) return diff --git a/code/modules/projectiles/targeting.dm b/code/modules/projectiles/targeting.dm index a2aaa9dc163..6507a2f66a1 100644 --- a/code/modules/projectiles/targeting.dm +++ b/code/modules/projectiles/targeting.dm @@ -163,7 +163,7 @@ mob/living/proc/Targeted(var/obj/item/weapon/gun/I) //Self explanitory. targeted_by += I I.lock_time = world.time + 20 //Target has 2 second to realize they're targeted and stop (or target the opponent). src << "((\red Your character is being targeted. They have 2 seconds to stop any click or move actions. \black While targeted, they may \ - drag and drop items in or into the map, speak, and click on interface buttons. Clicking on the map, their items \ + drag and drop items in or into the map, speak, and click on interface buttons. Clicking on the map objects (floors and walls are fine), their items \ (other than a weapon to de-target), or moving will result in being fired upon. \red The aggressor may also fire manually, \ so try not to get on their bad side.\black ))" From 1030ddd8dbb3216bae1553b9112a0ad4d0935588 Mon Sep 17 00:00:00 2001 From: Chinsky Date: Sat, 1 Jun 2013 04:34:04 +0400 Subject: [PATCH 09/29] Whoopsie! So awkward. --- code/modules/mob/living/carbon/human/human_damage.dm | 1 - 1 file changed, 1 deletion(-) diff --git a/code/modules/mob/living/carbon/human/human_damage.dm b/code/modules/mob/living/carbon/human/human_damage.dm index 38c5f9d59ab..8346d753198 100644 --- a/code/modules/mob/living/carbon/human/human_damage.dm +++ b/code/modules/mob/living/carbon/human/human_damage.dm @@ -88,7 +88,6 @@ if (getCloneLoss() < 1) for (var/datum/organ/external/O in organs) - world << "[O.display_name]!" if (O.status & ORGAN_MUTATED) O.unmutate() src << "Your [O.display_name] is shaped normally again." From 73578cb9cd0fcbbc206f957802bc90f8b0ac3d03 Mon Sep 17 00:00:00 2001 From: Chinsky Date: Sat, 1 Jun 2013 06:31:15 +0400 Subject: [PATCH 10/29] Fixes #2926 Now master alarm in area polls all other alarms and sets area alert level to highest out of them. So no more green alarms opening lockdowns until they turn red too. --- code/game/machinery/alarm.dm | 77 ++++++++++++++++++++---------------- 1 file changed, 43 insertions(+), 34 deletions(-) diff --git a/code/game/machinery/alarm.dm b/code/game/machinery/alarm.dm index f31746de802..1945be11a65 100644 --- a/code/game/machinery/alarm.dm +++ b/code/game/machinery/alarm.dm @@ -135,30 +135,7 @@ if(!istype(location)) return//returns if loc is not simulated var/datum/gas_mixture/environment = location.return_air() - var/partial_pressure = R_IDEAL_GAS_EQUATION*environment.temperature/environment.volume - - var/list/current_settings = TLV["pressure"] - var/environment_pressure = environment.return_pressure() - var/pressure_dangerlevel = get_danger_level(environment_pressure, current_settings) - - current_settings = TLV["oxygen"] - var/oxygen_dangerlevel = get_danger_level(environment.oxygen*partial_pressure, current_settings) - - current_settings = TLV["carbon dioxide"] - var/co2_dangerlevel = get_danger_level(environment.carbon_dioxide*partial_pressure, current_settings) - - current_settings = TLV["plasma"] - var/plasma_dangerlevel = get_danger_level(environment.toxins*partial_pressure, current_settings) - - current_settings = TLV["other"] - var/other_moles = 0.0 - for(var/datum/gas/G in environment.trace_gases) - other_moles+=G.moles - var/other_dangerlevel = get_danger_level(other_moles*partial_pressure, current_settings) - - current_settings = TLV["temperature"] - var/temperature_dangerlevel = get_danger_level(environment.temperature, current_settings) - + var/temperature_dangerlevel = get_danger_level(environment.temperature, TLV["temperature"]) //Handle temperature adjustment here. if(temperature_dangerlevel || regulating_temperature) //If it goes too far, we should adjust ourselves back before stopping. @@ -194,18 +171,14 @@ "You hear a click as a faint electronic humming stops.") - var/old_danger_level = danger_level - danger_level = max(pressure_dangerlevel, - oxygen_dangerlevel, - co2_dangerlevel, - plasma_dangerlevel, - other_dangerlevel, - temperature_dangerlevel) + danger_level = overall_danger_level() + log_debug("Processing [name] : level - [danger_level]") - if (old_danger_level != danger_level) - apply_danger_level(danger_level) + if (alarm_area.master_air_alarm == src) + refresh_danger_level() + update_icon() - if (mode==AALARM_MODE_CYCLE && environment_pressure level) + level = AA.danger_level + apply_danger_level(level) + proc/air_doors_close(manual) var/area/A = get_area(src) if(!A.master.air_doors_activated) From 4749d6016dd278a9546867fe24963c5e59746143 Mon Sep 17 00:00:00 2001 From: Chinsky Date: Sat, 1 Jun 2013 08:23:38 +0400 Subject: [PATCH 11/29] Made syringe gun work with aiming system. --- code/modules/projectiles/gun.dm | 6 + code/modules/projectiles/targeting.dm | 4 +- code/modules/reagents/syringe_gun.dm | 157 ++++++++++++++------------ 3 files changed, 90 insertions(+), 77 deletions(-) diff --git a/code/modules/projectiles/gun.dm b/code/modules/projectiles/gun.dm index 3377baf8f2d..4aa930167ee 100644 --- a/code/modules/projectiles/gun.dm +++ b/code/modules/projectiles/gun.dm @@ -143,6 +143,12 @@ else user.update_inv_r_hand() +/obj/item/weapon/gun/proc/can_fire() + return load_into_chamber() + +/obj/item/weapon/gun/proc/can_hit(var/mob/living/target as mob, var/mob/living/user as mob) + return in_chamber.check_fire(target,user) + /obj/item/weapon/gun/proc/click_empty(mob/user = null) if (user) user.visible_message("*click click*", "\red *click*") diff --git a/code/modules/projectiles/targeting.dm b/code/modules/projectiles/targeting.dm index 6507a2f66a1..fa982c1de7d 100644 --- a/code/modules/projectiles/targeting.dm +++ b/code/modules/projectiles/targeting.dm @@ -78,8 +78,8 @@ stop_aim() return M.last_move_intent = world.time - if(load_into_chamber()) - var/firing_check = in_chamber.check_fire(T,usr) //0 if it cannot hit them, 1 if it is capable of hitting, and 2 if a special check is preventing it from firing. + if(can_fire()) + var/firing_check = can_hit(T,usr) //0 if it cannot hit them, 1 if it is capable of hitting, and 2 if a special check is preventing it from firing. if(firing_check > 0) if(firing_check == 1) Fire(T,usr, reflex = 1) diff --git a/code/modules/reagents/syringe_gun.dm b/code/modules/reagents/syringe_gun.dm index 30b1e66658b..eaa372bd45d 100644 --- a/code/modules/reagents/syringe_gun.dm +++ b/code/modules/reagents/syringe_gun.dm @@ -15,93 +15,100 @@ var/max_syringes = 1 m_amt = 2000 - examine() - set src in view() - ..() - if (!(usr in view(2)) && usr!=src.loc) return - usr << "\blue [syringes.len] / [max_syringes] syringes." +/obj/item/weapon/gun/syringe/examine() + set src in view() + ..() + if (!(usr in view(2)) && usr!=src.loc) return + usr << "\blue [syringes.len] / [max_syringes] syringes." - attackby(obj/item/I as obj, mob/user as mob) - if(istype(I, /obj/item/weapon/reagent_containers/syringe)) - var/obj/item/weapon/reagent_containers/syringe/S = I - if(S.mode != 2)//SYRINGE_BROKEN in syringes.dm - if(syringes.len < max_syringes) - user.drop_item() - I.loc = src - syringes += I - user << "\blue You put the syringe in [src]." - user << "\blue [syringes.len] / [max_syringes] syringes." - else - usr << "\red [src] cannot hold more syringes." +/obj/item/weapon/gun/syringe/attackby(obj/item/I as obj, mob/user as mob) + if(istype(I, /obj/item/weapon/reagent_containers/syringe)) + var/obj/item/weapon/reagent_containers/syringe/S = I + if(S.mode != 2)//SYRINGE_BROKEN in syringes.dm + if(syringes.len < max_syringes) + user.drop_item() + I.loc = src + syringes += I + user << "\blue You put the syringe in [src]." + user << "\blue [syringes.len] / [max_syringes] syringes." else - usr << "\red This syringe is broken!" - - - afterattack(obj/target, mob/user , flag) - if(!isturf(target.loc) || target == user) return - - if(syringes.len) - spawn(0) fire_syringe(target,user) + usr << "\red [src] cannot hold more syringes." else - usr << "\red [src] is empty." + usr << "\red This syringe is broken!" - proc - fire_syringe(atom/target, mob/user) - if (locate (/obj/structure/table, src.loc)) - return - else - var/turf/trg = get_turf(target) - var/obj/effect/syringe_gun_dummy/D = new/obj/effect/syringe_gun_dummy(get_turf(src)) - var/obj/item/weapon/reagent_containers/syringe/S = syringes[1] - if((!S) || (!S.reagents)) //ho boy! wot runtimes! - return - S.reagents.trans_to(D, S.reagents.total_volume) - syringes -= S - del(S) - D.icon_state = "syringeproj" - D.name = "syringe" - playsound(user.loc, 'sound/items/syringeproj.ogg', 50, 1) - for(var/i=0, i<6, i++) - if(!D) break - if(D.loc == trg) break - step_towards(D,trg) +/obj/item/weapon/gun/syringe/afterattack(obj/target, mob/user , flag) + if(!isturf(target.loc) || target == user) return + ..() - if(D) - for(var/mob/living/carbon/M in D.loc) - if(!istype(M,/mob/living/carbon)) continue - if(M == user) continue - //Syringe gun attack logging by Yvarov - var/R - if(D.reagents) - for(var/datum/reagent/A in D.reagents.reagent_list) - R += A.id + " (" - R += num2text(A.volume) + ")," - if (istype(M, /mob)) - M.attack_log += "\[[time_stamp()]\] [user]/[user.ckey] shot [M]/[M.ckey] with a syringegun ([R])" - user.attack_log += "\[[time_stamp()]\] [user]/[user.ckey] shot [M]/[M.ckey] with a syringegun ([R])" - log_attack("[user] ([user.ckey]) shot [M] ([M.ckey]) with a syringegun ([R])") +/obj/item/weapon/gun/syringe/can_fire() + return syringes.len - else - M.attack_log += "\[[time_stamp()]\] UNKNOWN SUBJECT (No longer exists) shot [M]/[M.ckey] with a syringegun ([R])" - log_attack("UNKNOWN shot [M] ([M.ckey]) with a syringegun ([R])") +/obj/item/weapon/gun/syringe/can_hit(var/mob/living/target as mob, var/mob/living/user as mob) + return 1 //SHOOT AND LET THE GOD GUIDE IT (probably will hit a wall anyway) - if(D.reagents) - D.reagents.trans_to(M, 15) - M.visible_message("[M] is hit by the syringe!") +/obj/item/weapon/gun/syringe/Fire(atom/target as mob|obj|turf|area, mob/living/user as mob|obj, params, reflex = 0) + if(syringes.len) + spawn(0) fire_syringe(target,user) + else + usr << "\red [src] is empty." - del(D) - break - if(D) - for(var/atom/A in D.loc) - if(A == user) continue - if(A.density) del(D) +/obj/item/weapon/gun/syringe/proc/fire_syringe(atom/target, mob/user) + if (locate (/obj/structure/table, src.loc)) + return + else + var/turf/trg = get_turf(target) + var/obj/effect/syringe_gun_dummy/D = new/obj/effect/syringe_gun_dummy(get_turf(src)) + var/obj/item/weapon/reagent_containers/syringe/S = syringes[1] + if((!S) || (!S.reagents)) //ho boy! wot runtimes! + return + S.reagents.trans_to(D, S.reagents.total_volume) + syringes -= S + del(S) + D.icon_state = "syringeproj" + D.name = "syringe" + playsound(user.loc, 'sound/items/syringeproj.ogg', 50, 1) - sleep(1) + for(var/i=0, i<6, i++) + if(!D) break + if(D.loc == trg) break + step_towards(D,trg) - if (D) spawn(10) del(D) + if(D) + for(var/mob/living/carbon/M in D.loc) + if(!istype(M,/mob/living/carbon)) continue + if(M == user) continue + //Syringe gun attack logging by Yvarov + var/R + if(D.reagents) + for(var/datum/reagent/A in D.reagents.reagent_list) + R += A.id + " (" + R += num2text(A.volume) + ")," + if (istype(M, /mob)) + M.attack_log += "\[[time_stamp()]\] [user]/[user.ckey] shot [M]/[M.ckey] with a syringegun ([R])" + user.attack_log += "\[[time_stamp()]\] [user]/[user.ckey] shot [M]/[M.ckey] with a syringegun ([R])" + log_attack("[user] ([user.ckey]) shot [M] ([M.ckey]) with a syringegun ([R])") - return + else + M.attack_log += "\[[time_stamp()]\] UNKNOWN SUBJECT (No longer exists) shot [M]/[M.ckey] with a syringegun ([R])" + log_attack("UNKNOWN shot [M] ([M.ckey]) with a syringegun ([R])") + + if(D.reagents) + D.reagents.trans_to(M, 15) + M.visible_message("[M] is hit by the syringe!") + + del(D) + break + if(D) + for(var/atom/A in D.loc) + if(A == user) continue + if(A.density) del(D) + + sleep(1) + + if (D) spawn(10) del(D) + + return /obj/item/weapon/gun/syringe/rapidsyringe name = "rapid syringe gun" From 5d84360ee5553766d3ac35d03a2c689e56dba265 Mon Sep 17 00:00:00 2001 From: Chinsky Date: Sat, 1 Jun 2013 08:28:39 +0400 Subject: [PATCH 12/29] Mixed derp merge of changelog. --- html/changelog.html | 24 ++++++++++-------------- 1 file changed, 10 insertions(+), 14 deletions(-) diff --git a/html/changelog.html b/html/changelog.html index e2110ac7632..0ae9dc8d71f 100644 --- a/html/changelog.html +++ b/html/changelog.html @@ -60,19 +60,6 @@ should be listed in the changelog upon commit though. Thanks. -->

-

May 28th, 2013

-

VitrescentTortoise updated:

-
    -
  • Wizard's forcewall now works.
  • -
-
    -
  • Xenoarchaeology picksets can now hold everything they started with.
  • -
-
- -
-<<<<<<< HEAD -=======

31.05.2013

Segrain updated:

    @@ -100,7 +87,16 @@ should be listed in the changelog upon commit though. Thanks. -->
->>>>>>> 4794fc4d1e80df9c343ecec209cd677c08c88b7d +

May 28th, 2013

+

VitrescentTortoise updated:

+
    +
  • Wizard's forcewall now works.
  • +
+
    +
  • Xenoarchaeology picksets can now hold everything they started with.
  • +
+
+

28th May 2013

Erthilo updated:

    From 6de8060545452c9be14c8298cd3df883e9e9f8f3 Mon Sep 17 00:00:00 2001 From: Chinsky Date: Sat, 1 Jun 2013 08:34:31 +0400 Subject: [PATCH 13/29] Added hailers to the Sec closets. --- .../objects/structures/crates_lockers/closets/secure/security.dm | 1 + 1 file changed, 1 insertion(+) diff --git a/code/game/objects/structures/crates_lockers/closets/secure/security.dm b/code/game/objects/structures/crates_lockers/closets/secure/security.dm index f6ad799900d..413333f397c 100644 --- a/code/game/objects/structures/crates_lockers/closets/secure/security.dm +++ b/code/game/objects/structures/crates_lockers/closets/secure/security.dm @@ -186,6 +186,7 @@ new /obj/item/weapon/gun/energy/taser(src) new /obj/item/clothing/glasses/sunglasses/sechud(src) new /obj/item/taperoll/police(src) + new /obj/item/device/hailer return From 5de37def3dc7003b60f6f6658622c03488867b79 Mon Sep 17 00:00:00 2001 From: Chinsky Date: Sat, 1 Jun 2013 09:08:45 +0400 Subject: [PATCH 14/29] Moved blood compatibility check to the related file. --- .../DetectiveWork/footprints_and_rag.dm | 18 ----------------- code/modules/organs/blood.dm | 20 ++++++++++++++++++- 2 files changed, 19 insertions(+), 19 deletions(-) diff --git a/code/modules/DetectiveWork/footprints_and_rag.dm b/code/modules/DetectiveWork/footprints_and_rag.dm index 5f8918c9074..7671dc543aa 100644 --- a/code/modules/DetectiveWork/footprints_and_rag.dm +++ b/code/modules/DetectiveWork/footprints_and_rag.dm @@ -10,24 +10,6 @@ var/transfer_blood = 0 var/mob/living/carbon/human/bloody_hands_mob -proc/blood_incompatible(donor,receiver) - if(!donor || !receiver) return 0 - var - donor_antigen = copytext(donor,1,lentext(donor)) - receiver_antigen = copytext(receiver,1,lentext(receiver)) - donor_rh = (findtext(donor,"+")>0) - receiver_rh = (findtext(receiver,"+")>0) - if(donor_rh && !receiver_rh) return 1 - switch(receiver_antigen) - if("A") - if(donor_antigen != "A" && donor_antigen != "O") return 1 - if("B") - if(donor_antigen != "B" && donor_antigen != "O") return 1 - if("O") - if(donor_antigen != "O") return 1 - //AB is a universal receiver. - return 0 - /obj/item/weapon/reagent_containers/glass/rag name = "damp rag" diff --git a/code/modules/organs/blood.dm b/code/modules/organs/blood.dm index 6e3ac4feda4..882582e4a35 100644 --- a/code/modules/organs/blood.dm +++ b/code/modules/organs/blood.dm @@ -218,4 +218,22 @@ var/const/BLOOD_VOLUME_SURVIVE = 122 for(var/datum/reagent/blood/D in container.reagent_list) if(D.data["donor"] == src) return D - return res \ No newline at end of file + return res + +proc/blood_incompatible(donor,receiver) + if(!donor || !receiver) return 0 + var + donor_antigen = copytext(donor,1,lentext(donor)) + receiver_antigen = copytext(receiver,1,lentext(receiver)) + donor_rh = (findtext(donor,"+")>0) + receiver_rh = (findtext(receiver,"+")>0) + if(donor_rh && !receiver_rh) return 1 + switch(receiver_antigen) + if("A") + if(donor_antigen != "A" && donor_antigen != "O") return 1 + if("B") + if(donor_antigen != "B" && donor_antigen != "O") return 1 + if("O") + if(donor_antigen != "O") return 1 + //AB is a universal receiver. + return 0 \ No newline at end of file From 0b9c9042524c45625b53b55f8497538808e32f61 Mon Sep 17 00:00:00 2001 From: Chinsky Date: Sat, 1 Jun 2013 10:56:59 +0400 Subject: [PATCH 15/29] DRY BLOOD FOR THE BLOOD GOD. Blood will now dry up in around half an hour. Also moved blood drip define out of disposals. WTF. --- .../effects/decals/Cleanable/humans.dm | 22 ++++++++++++++++++- code/modules/recycling/disposal.dm | 10 --------- 2 files changed, 21 insertions(+), 11 deletions(-) diff --git a/code/game/objects/effects/decals/Cleanable/humans.dm b/code/game/objects/effects/decals/Cleanable/humans.dm index 516c0d74ca4..29f02fedfa7 100644 --- a/code/game/objects/effects/decals/Cleanable/humans.dm +++ b/code/game/objects/effects/decals/Cleanable/humans.dm @@ -1,3 +1,4 @@ +#define DRYING_TIME 5 * 60*10 //for 1 unit of depth in puddle (amount var) /obj/effect/decal/cleanable/blood name = "blood" desc = "It's red and gooey. Perhaps it's the chef's cooking?" @@ -11,6 +12,7 @@ var/list/viruses = list() blood_DNA = list() var/datum/disease2/disease/virus2 = null + var/amount = 5 /obj/effect/decal/cleanable/blood/Del() for(var/datum/disease/D in viruses) @@ -26,9 +28,20 @@ for(var/obj/effect/decal/cleanable/blood/B in src.loc) if(B != src) del(B) + spawn(DRYING_TIME * (amount+1)) + dry() + +/obj/effect/decal/cleanable/blood/proc/dry() + name = "dried [src]" + desc = "It's dark red and crusty. Someone is not doing their job." + var/icon/I = icon(icon,icon_state) + I.SetIntensity(0.5) + icon = I + amount = 0 /obj/effect/decal/cleanable/blood/splatter random_icon_states = list("gibbl1", "gibbl2", "gibbl3", "gibbl4", "gibbl5") + amount = 2 /obj/effect/decal/cleanable/blood/tracks icon_state = "tracks" @@ -36,6 +49,13 @@ gender = PLURAL random_icon_states = null +/obj/effect/decal/cleanable/blood/drip + name = "drips of blood" + desc = "It's red." + gender = PLURAL + icon = 'drip.dmi' + icon_state = "1" + /obj/effect/decal/cleanable/blood/gibs name = "gibs" desc = "They look bloody and gruesome." @@ -89,4 +109,4 @@ icon = 'blood.dmi' icon_state = "mucus" random_icon_states = list("mucus") - var/datum/disease2/disease/virus2 = null + var/datum/disease2/disease/virus2 = null diff --git a/code/modules/recycling/disposal.dm b/code/modules/recycling/disposal.dm index 32781e99ed6..9f7d9f9c8ee 100644 --- a/code/modules/recycling/disposal.dm +++ b/code/modules/recycling/disposal.dm @@ -1328,13 +1328,3 @@ dirs = alldirs.Copy() src.streak(dirs) - -/obj/effect/decal/cleanable/blood/drip - name = "drips of blood" - desc = "It's red." - gender = PLURAL - density = 0 - anchored = 1 - layer = 2 - icon = 'drip.dmi' - icon_state = "1" From 89fff29db1af147e91d94235ed447ba6a07e6b73 Mon Sep 17 00:00:00 2001 From: Chinsky Date: Sat, 1 Jun 2013 12:24:43 +0400 Subject: [PATCH 16/29] Showed that huge proc in /atom what polymorphism' is. Now instead of huge condition line it's handled where it was supposed to be handled. --- .../datums/diseases/advance/symptoms/vomit.dm | 2 +- code/game/atoms.dm | 81 +------------------ code/game/objects/items.dm | 40 ++++++++- code/game/turfs/simulated.dm | 31 ++++++- code/modules/mob/living/carbon/human/human.dm | 13 ++- 5 files changed, 82 insertions(+), 85 deletions(-) diff --git a/code/datums/diseases/advance/symptoms/vomit.dm b/code/datums/diseases/advance/symptoms/vomit.dm index 79a3d82c7c4..1f62065ef99 100644 --- a/code/datums/diseases/advance/symptoms/vomit.dm +++ b/code/datums/diseases/advance/symptoms/vomit.dm @@ -89,6 +89,6 @@ Bonus if(brute_dam < 50) M.adjustBruteLoss(3) - var/turf/pos = get_turf(M) + var/turf/simulated/pos = get_turf(M) pos.add_blood_floor(M) playsound(pos, 'sound/effects/splat.ogg', 50, 1) \ No newline at end of file diff --git a/code/game/atoms.dm b/code/game/atoms.dm index 99bf21d9c5d..1d7d4bce3a6 100644 --- a/code/game/atoms.dm +++ b/code/game/atoms.dm @@ -420,6 +420,7 @@ its easier to just keep the beam vertical. //returns 1 if made bloody, returns 0 otherwise /atom/proc/add_blood(mob/living/carbon/human/M as mob) + .=1 if (!( istype(M, /mob/living/carbon/human) )) return 0 if (!istype(M.dna, /datum/dna)) @@ -431,55 +432,6 @@ its easier to just keep the beam vertical. if(!blood_DNA || !istype(blood_DNA, /list)) //if our list of DNA doesn't exist yet (or isn't a list) initialise it. blood_DNA = list() - //adding blood to items - if (istype(src, /obj/item)&&!istype(src, /obj/item/weapon/melee/energy))//Only regular items. Energy melee weapon are not affected. - var/obj/item/O = src - - //if we haven't made our blood_overlay already - if( !O.blood_overlay ) - var/icon/I = new /icon(O.icon, O.icon_state) - I.Blend(new /icon('icons/effects/blood.dmi', rgb(255,255,255)),ICON_ADD) //fills the icon_state with white (except where it's transparent) - I.Blend(new /icon('icons/effects/blood.dmi', "itemblood"),ICON_MULTIPLY) //adds blood and the remaining white areas become transparant - - //not sure if this is worth it. It attaches the blood_overlay to every item of the same type if they don't have one already made. - for(var/obj/item/A in world) - if(A.type == O.type && !A.blood_overlay) - A.blood_overlay = I - - //apply the blood-splatter overlay if it isn't already in there - if(!blood_DNA.len) - O.overlays += O.blood_overlay - - //if this blood isn't already in the list, add it - - if(blood_DNA[M.dna.unique_enzymes]) - return 0 //already bloodied with this blood. Cannot add more. - blood_DNA[M.dna.unique_enzymes] = M.dna.b_type - return 1 //we applied blood to the item - - //adding blood to turfs - else if (istype(src, /turf/simulated)) - var/turf/simulated/T = src - - //get one blood decal and infect it with virus from M.viruses - for(var/obj/effect/decal/cleanable/blood/B in T.contents) - if(!B.blood_DNA[M.dna.unique_enzymes]) - B.blood_DNA[M.dna.unique_enzymes] = M.dna.b_type - /*for(var/datum/disease/D in M.viruses) - var/datum/disease/newDisease = D.Copy(1) - B.viruses += newDisease - newDisease.holder = B*/ - return 1 //we bloodied the floor - - //if there isn't a blood decal already, make one. - var/obj/effect/decal/cleanable/blood/newblood = new /obj/effect/decal/cleanable/blood(T) - newblood.blood_DNA[M.dna.unique_enzymes] = M.dna.b_type - /*for(var/datum/disease/D in M.viruses) - var/datum/disease/newDisease = D.Copy(1) - newblood.viruses += newDisease - newDisease.holder = newblood*/ - return 1 //we bloodied the floor - //adding blood to humans else if (istype(src, /mob/living/carbon/human)) var/mob/living/carbon/human/H = src @@ -499,37 +451,6 @@ its easier to just keep the beam vertical. if(toxvomit) this.icon_state = "vomittox_[pick(1,4)]" - /*for(var/datum/disease/D in M.viruses) - var/datum/disease/newDisease = D.Copy(1) - this.viruses += newDisease - newDisease.holder = this*/ - -// Only adds blood on the floor -- Skie -/atom/proc/add_blood_floor(mob/living/carbon/M as mob) - if( istype(M, /mob/living/carbon/monkey) || istype(M, /mob/living/carbon/human)) - if( istype(src, /turf/simulated) ) - var/turf/simulated/source1 = src - var/obj/effect/decal/cleanable/blood/this = new /obj/effect/decal/cleanable/blood(source1) - this.blood_DNA[M.dna.unique_enzymes] = M.dna.b_type - /*for(var/datum/disease/D in M.viruses) - var/datum/disease/newDisease = D.Copy(1) - this.viruses += newDisease - newDisease.holder = this*/ - - else if( istype(M, /mob/living/carbon/alien )) - if( istype(src, /turf/simulated) ) - var/turf/simulated/source2 = src - var/obj/effect/decal/cleanable/xenoblood/this = new /obj/effect/decal/cleanable/xenoblood(source2) - this.blood_DNA["UNKNOWN BLOOD"] = "X*" - /*for(var/datum/disease/D in M.viruses) - var/datum/disease/newDisease = D.Copy(1) - this.viruses += newDisease - newDisease.holder = this*/ - - else if( istype(M, /mob/living/silicon/robot )) - if( istype(src, /turf/simulated) ) - var/turf/simulated/source2 = src - new /obj/effect/decal/cleanable/oil(source2) /atom/proc/clean_blood() src.germ_level = 0 diff --git a/code/game/objects/items.dm b/code/game/objects/items.dm index 8556b15abcf..78cf9617fd3 100644 --- a/code/game/objects/items.dm +++ b/code/game/objects/items.dm @@ -338,8 +338,8 @@ M.take_organ_damage(power) if (prob(33)) // Added blood for whacking non-humans too - var/turf/location = M.loc - if (istype(location, /turf/simulated)) + var/turf/simulated/location = M.loc + if (istype(location)) location.add_blood_floor(M) if("fire") if (!(COLD_RESISTANCE in M.mutations)) @@ -700,3 +700,39 @@ if(istype(src, /obj/item/clothing/gloves)) var/obj/item/clothing/gloves/G = src G.transfer_blood = 0 + + +/obj/item/add_blood(mob/living/carbon/human/M as mob) + if (!..()) + return 0 + + if(istype(src, /obj/item/weapon/melee/energy)) + return + + //if we haven't made our blood_overlay already + if( !blood_overlay ) + generate_blood_overlay() + + //apply the blood-splatter overlay if it isn't already in there + if(!blood_DNA.len) + overlays += blood_overlay + + //if this blood isn't already in the list, add it + + if(blood_DNA[M.dna.unique_enzymes]) + return 0 //already bloodied with this blood. Cannot add more. + blood_DNA[M.dna.unique_enzymes] = M.dna.b_type + return 1 //we applied blood to the item + +/obj/item/proc/generate_blood_overlay() + if(blood_overlay) + return + + var/icon/I = new /icon(icon, icon_state) + I.Blend(new /icon('icons/effects/blood.dmi', rgb(255,255,255)),ICON_ADD) //fills the icon_state with white (except where it's transparent) + I.Blend(new /icon('icons/effects/blood.dmi', "itemblood"),ICON_MULTIPLY) //adds blood and the remaining white areas become transparant + + //not sure if this is worth it. It attaches the blood_overlay to every item of the same type if they don't have one already made. + for(var/obj/item/A in world) + if(A.type == type && !A.blood_overlay) + A.blood_overlay = I \ No newline at end of file diff --git a/code/game/turfs/simulated.dm b/code/game/turfs/simulated.dm index 73bacff124f..0fb777c6b4c 100644 --- a/code/game/turfs/simulated.dm +++ b/code/game/turfs/simulated.dm @@ -72,4 +72,33 @@ playsound(src.loc, 'sound/misc/slip.ogg', 50, 1, -3) M.Weaken(10) - ..() \ No newline at end of file + ..() + +//returns 1 if made bloody, returns 0 otherwise +/turf/simulated/add_blood(mob/living/carbon/human/M as mob) + if (!..()) + return 0 + + for(var/obj/effect/decal/cleanable/blood/B in contents) + if(!B.blood_DNA[M.dna.unique_enzymes]) + B.blood_DNA[M.dna.unique_enzymes] = M.dna.b_type + return 1 //we bloodied the floor + + //if there isn't a blood decal already, make one. + var/obj/effect/decal/cleanable/blood/newblood = new /obj/effect/decal/cleanable/blood(src) + newblood.blood_DNA[M.dna.unique_enzymes] = M.dna.b_type + return 1 //we bloodied the floor + + +// Only adds blood on the floor -- Skie +/turf/simulated/proc/add_blood_floor(mob/living/carbon/M as mob) + if( istype(M, /mob/living/carbon/monkey) || istype(M, /mob/living/carbon/human)) + var/obj/effect/decal/cleanable/blood/this = new /obj/effect/decal/cleanable/blood(src) + this.blood_DNA[M.dna.unique_enzymes] = M.dna.b_type + + else if( istype(M, /mob/living/carbon/alien )) + var/obj/effect/decal/cleanable/xenoblood/this = new /obj/effect/decal/cleanable/xenoblood(src) + this.blood_DNA["UNKNOWN BLOOD"] = "X*" + + else if( istype(M, /mob/living/silicon/robot )) + new /obj/effect/decal/cleanable/oil(src) \ No newline at end of file diff --git a/code/modules/mob/living/carbon/human/human.dm b/code/modules/mob/living/carbon/human/human.dm index a73e6c21910..e0a54658d7f 100644 --- a/code/modules/mob/living/carbon/human/human.dm +++ b/code/modules/mob/living/carbon/human/human.dm @@ -1084,4 +1084,15 @@ if (germs == 2500) world << "Reached stage 3 in [ticks] ticks" world << "Mob took [tdamage] tox damage" -*/ \ No newline at end of file +*/ +//returns 1 if made bloody, returns 0 otherwise + +/mob/living/carbon/human/add_blood(mob/living/carbon/human/M as mob) + if (!..()) + return 0 + //if this blood isn't already in the list, add it + if(blood_DNA[M.dna.unique_enzymes]) + return 0 //already bloodied with this blood. Cannot add more. + blood_DNA[M.dna.unique_enzymes] = M.dna.b_type + src.update_inv_gloves() //handles bloody hands overlays and updating + return 1 //we applied blood to the item \ No newline at end of file From 3bbb25074973854d92c8d4f3be343f1f7b112d52 Mon Sep 17 00:00:00 2001 From: Chinsky Date: Sat, 1 Jun 2013 14:30:05 +0400 Subject: [PATCH 17/29] Added bloody footprints. --- .../effects/decals/Cleanable/humans.dm | 37 ++++++++++++++++++- code/game/turfs/simulated.dm | 25 +++++++++++++ .../DetectiveWork/footprints_and_rag.dm | 7 ++-- code/modules/mob/living/carbon/human/human.dm | 8 +++- 4 files changed, 72 insertions(+), 5 deletions(-) diff --git a/code/game/objects/effects/decals/Cleanable/humans.dm b/code/game/objects/effects/decals/Cleanable/humans.dm index 29f02fedfa7..172eca9ae97 100644 --- a/code/game/objects/effects/decals/Cleanable/humans.dm +++ b/code/game/objects/effects/decals/Cleanable/humans.dm @@ -27,15 +27,40 @@ if(src.loc && isturf(src.loc)) for(var/obj/effect/decal/cleanable/blood/B in src.loc) if(B != src) + if (B.blood_DNA) + blood_DNA |= B.blood_DNA.Copy() del(B) spawn(DRYING_TIME * (amount+1)) dry() +/obj/effect/decal/cleanable/blood/HasEntered(mob/living/carbon/human/perp) + if (!istype(perp)) + return + if(amount < 1) + return + + if(perp.shoes) + perp.shoes:track_blood = max(amount,perp.shoes:track_blood) //Adding blood to shoes + if(!perp.shoes.blood_overlay) + perp.shoes.generate_blood_overlay() + if(!perp.shoes.blood_DNA) + perp.shoes.blood_DNA = list() + perp.shoes.overlays += perp.shoes.blood_overlay + perp.update_inv_shoes(1) + perp.shoes.blood_DNA |= blood_DNA.Copy() + else + perp.track_blood = max(amount,perp.track_blood) //Or feet + if(!perp.feet_blood_DNA) + perp.feet_blood_DNA = list() + perp.feet_blood_DNA |= blood_DNA.Copy() + + amount-- + /obj/effect/decal/cleanable/blood/proc/dry() name = "dried [src]" desc = "It's dark red and crusty. Someone is not doing their job." var/icon/I = icon(icon,icon_state) - I.SetIntensity(0.5) + I.SetIntensity(0.7) icon = I amount = 0 @@ -43,11 +68,20 @@ random_icon_states = list("gibbl1", "gibbl2", "gibbl3", "gibbl4", "gibbl5") amount = 2 +/obj/effect/decal/cleanable/blood/footprints + name = "bloody footprints" + desc = "Whoops..." + icon='icons/effects/footprints.dmi' + icon_state = "blood1" + amount = 0 + random_icon_states = null + /obj/effect/decal/cleanable/blood/tracks icon_state = "tracks" desc = "They look like tracks left by wheels." gender = PLURAL random_icon_states = null + amount = 0 /obj/effect/decal/cleanable/blood/drip name = "drips of blood" @@ -55,6 +89,7 @@ gender = PLURAL icon = 'drip.dmi' icon_state = "1" + amount = 0 /obj/effect/decal/cleanable/blood/gibs name = "gibs" diff --git a/code/game/turfs/simulated.dm b/code/game/turfs/simulated.dm index 0fb777c6b4c..16d88a0ea0b 100644 --- a/code/game/turfs/simulated.dm +++ b/code/game/turfs/simulated.dm @@ -34,6 +34,31 @@ else playsound(src, "clownstep", 20, 1) + var/list/bloodDNA = null + if(H.shoes) + var/obj/item/clothing/shoes/S = H.shoes + if(S.track_blood && S.blood_DNA) + bloodDNA = S.blood_DNA + S.track_blood-- + else + if(H.track_blood && H.feet_blood_DNA) + bloodDNA = H.feet_blood_DNA + H.track_blood-- + + if (bloodDNA) + var/obj/effect/decal/cleanable/blood/footprints/here = new(src) + here.icon_state = "blood1" + here.dir = H.dir + here.blood_DNA |= bloodDNA.Copy() + var/turf/simulated/from = get_step(H,reverse_direction(H.dir)) + if(from) + var/obj/effect/decal/cleanable/blood/footprints/there = new(from) + there.icon_state = "blood2" + there.dir = H.dir + there.blood_DNA |= bloodDNA.Copy() + + bloodDNA = null + switch (src.wet) if(1) if(istype(M, /mob/living/carbon/human)) // Added check since monkeys don't have shoes diff --git a/code/modules/DetectiveWork/footprints_and_rag.dm b/code/modules/DetectiveWork/footprints_and_rag.dm index 7671dc543aa..6a1fd7abffe 100644 --- a/code/modules/DetectiveWork/footprints_and_rag.dm +++ b/code/modules/DetectiveWork/footprints_and_rag.dm @@ -1,15 +1,16 @@ /mob - var/bloody_hands = 0 var/mob/living/carbon/human/bloody_hands_mob - var/track_blood - var/mob/living/carbon/human/track_blood_mob + var/track_blood = 0 + var/list/feet_blood_DNA var/track_blood_type /obj/item/clothing/gloves var/transfer_blood = 0 var/mob/living/carbon/human/bloody_hands_mob +/obj/item/clothing/shoes/ + var/track_blood = 0 /obj/item/weapon/reagent_containers/glass/rag name = "damp rag" diff --git a/code/modules/mob/living/carbon/human/human.dm b/code/modules/mob/living/carbon/human/human.dm index e0a54658d7f..f20f5955d58 100644 --- a/code/modules/mob/living/carbon/human/human.dm +++ b/code/modules/mob/living/carbon/human/human.dm @@ -1095,4 +1095,10 @@ return 0 //already bloodied with this blood. Cannot add more. blood_DNA[M.dna.unique_enzymes] = M.dna.b_type src.update_inv_gloves() //handles bloody hands overlays and updating - return 1 //we applied blood to the item \ No newline at end of file + return 1 //we applied blood to the item + +/mob/living/carbon/human/clean_blood() + .=..() + if(istype(feet_blood_DNA, /list) && feet_blood_DNA.len) + del(feet_blood_DNA) + return 1 \ No newline at end of file From d4495d45030cb79f678a0f2c7cf6b494880bf983 Mon Sep 17 00:00:00 2001 From: Chinsky Date: Sat, 1 Jun 2013 14:35:11 +0400 Subject: [PATCH 18/29] Updated changelog. --- html/changelog.html | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/html/changelog.html b/html/changelog.html index 0ae9dc8d71f..a92bcc133ca 100644 --- a/html/changelog.html +++ b/html/changelog.html @@ -58,6 +58,14 @@ Stuff which is in development and not yet visible to players or just code relate should be listed in the changelog upon commit though. Thanks. --> +
    +

    1.06.2013

    +

    Chinsky updated:

    +
      +
    • Bloody footprints! Now stepping in the puddle will dirty your shoes/feet and make you leave bloody footprints for a bit.
    • +
    • Blood now dries up after some time. Puddles take ~30 minutes, small things 5 minutes.
    • +
    +

    31.05.2013

    From 88f5a2a3b55118d80f69de1d0ea1ca8180a6b92a Mon Sep 17 00:00:00 2001 From: Chinsky Date: Sat, 1 Jun 2013 17:20:13 +0400 Subject: [PATCH 19/29] Added this sound as emote to borgs. --- code/modules/mob/living/silicon/robot/emote.dm | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/code/modules/mob/living/silicon/robot/emote.dm b/code/modules/mob/living/silicon/robot/emote.dm index 86d4e5d2f46..4fa8a543b98 100644 --- a/code/modules/mob/living/silicon/robot/emote.dm +++ b/code/modules/mob/living/silicon/robot/emote.dm @@ -198,6 +198,15 @@ m_type = 2 else src << "You are not THE LAW, pal." + + if("halt") + if (istype(module,/obj/item/weapon/robot_module/security)) + message = "[src]'s speakers skreech, \"Halt! Security!\"." + + playsound(src.loc, 'sound/voice/halt.ogg', 50, 0) + m_type = 2 + else + src << "You are not security." else src << text("Invalid Emote: []", act) if ((message && src.stat == 0)) From 275003afa879a79c9af6a64ba87aac31107e236f Mon Sep 17 00:00:00 2001 From: Chinsky Date: Sat, 1 Jun 2013 18:20:59 +0400 Subject: [PATCH 20/29] Fixed indentation. --- code/modules/organs/organ.dm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/code/modules/organs/organ.dm b/code/modules/organs/organ.dm index 44464c53267..b97ddfabfd7 100644 --- a/code/modules/organs/organ.dm +++ b/code/modules/organs/organ.dm @@ -82,7 +82,7 @@ //Moving around with fractured ribs won't do you any good if (broken && internal_organs && prob(15)) - if (!lying && world.timeofday - l_move_time < 15) + if (!lying && world.timeofday - l_move_time < 15) var/datum/organ/internal/I = pick(E.internal_organs) custom_pain("You feel broken bones moving in your [E.display_name]!", 1) I.take_damage(rand(3,5)) From f728fedccddd1c234b2e5cc42e5f753eb0937d52 Mon Sep 17 00:00:00 2001 From: Chinsky Date: Sat, 1 Jun 2013 18:25:26 +0400 Subject: [PATCH 21/29] Set wound update accuracy to 1. In profiler results organ processing was like in the bottom. Time to bump it up. Changed healing speed. For some reason untreated wounds did not heal at all previously. Now they do at the speed of 0.2 health per tick for one organ. If wound is treated, 0.3 bonus is added, so overall organs can be healed up to 0.5 per tick with first aid. If wound damage is over 20, 0.2 natural regeneration doesn't happen. --- code/modules/organs/organ_external.dm | 30 +++++++++++++++++---------- 1 file changed, 19 insertions(+), 11 deletions(-) diff --git a/code/modules/organs/organ_external.dm b/code/modules/organs/organ_external.dm index 8e646c830f6..ff4388d438d 100644 --- a/code/modules/organs/organ_external.dm +++ b/code/modules/organs/organ_external.dm @@ -42,7 +42,7 @@ var/germ_level = 0 // how often wounds should be updated, a higher number means less often - var/wound_update_accuracy = 20 // update every 20 ticks(roughly every minute) + var/wound_update_accuracy = 1 /datum/organ/external/New(var/datum/organ/external/P) if(P) @@ -305,7 +305,7 @@ parent.germ_level += round(GERM_TRANSFER_AMOUNT) */ -//Updating wounds. Handles wound natural healing, internal bleedings and infections +//Updating wounds. Handles wound natural I had some free spachealing, internal bleedings and infections /datum/organ/external/proc/update_wounds() for(var/datum/wound/W in wounds) // wounds can disappear after 10 minutes at the earliest @@ -320,21 +320,29 @@ if(prob(1 * wound_update_accuracy)) owner.custom_pain("You feel a stabbing pain in your [display_name]!",1) - if(W.bandaged || W.salved) - // slow healing - var/amount = 0.2 - if(W.is_treated()) - amount += 10 - // amount of healing is spread over all the wounds - W.heal_damage((wound_update_accuracy * amount * W.amount * config.organ_regeneration_multiplier) / (20*owner.number_wounds+1)) + // slow healing + var/heal_amt = 0.2 + if (W.damage > 20) //this thing's edges are not in day's travel of each other, what healing? + heal_amt = 0 + + if(W.is_treated()) + heal_amt += 0.3 + + //we only update wounds once in [wound_update_accuracy] ticks so have to emulate realtime + heal_amt = heal_amt * wound_update_accuracy + //configurable regen speed woo, no-regen hardcore or instaheal hugbox, choose your destiny + heal_amt = heal_amt * config.organ_regeneration_multiplier + // amount of healing is spread over all the wounds + heal_amt = heal_amt / (wounds.len + 1) + // making it look prettier on scanners + heal_amt = round(heal_amt,0.1) + W.heal_damage(heal_amt) // Salving also helps against infection if(W.germ_level > 0 && W.salved && prob(2)) W.germ_level = 0 W.disinfected = 1 - - // sync the organ's damage with its wounds src.update_damages() From f5e716d3ac78e3ec1cf6dc7f6cf4d734439f75eb Mon Sep 17 00:00:00 2001 From: Chinsky Date: Sat, 1 Jun 2013 18:32:14 +0400 Subject: [PATCH 22/29] Updated changelog --- html/changelog.html | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/html/changelog.html b/html/changelog.html index 4560a80749d..788953dbd7e 100644 --- a/html/changelog.html +++ b/html/changelog.html @@ -58,6 +58,15 @@ Stuff which is in development and not yet visible to players or just code relate should be listed in the changelog upon commit though. Thanks. --> +
    +

    1.06.2013

    +

    Chinsky updated:

    +
      +
    • Untreated wounds now heal. No more toe stubs spamming you with pain messages for the rest of the shift.
    • +
    • On the other side, everything is healed slowly. Maximum you cna squeeze out of first aid is 0.5 health per tick per organ. Lying down makes it faster too, by 1.5x factor.
    • +
    +
    +

    11/03/2013

    Chinsky updated:

    From 19a4de4f56fbb311812492ff41ceeb8a53bbf27a Mon Sep 17 00:00:00 2001 From: Chinsky Date: Sat, 1 Jun 2013 18:38:04 +0400 Subject: [PATCH 23/29] Forgot I commited ribs thing, adding changelog entry. --- html/changelog.html | 1 + 1 file changed, 1 insertion(+) diff --git a/html/changelog.html b/html/changelog.html index 50b67cdf8b2..98192401cdd 100644 --- a/html/changelog.html +++ b/html/changelog.html @@ -64,6 +64,7 @@ should be listed in the changelog upon commit though. Thanks. -->
    • Untreated wounds now heal. No more toe stubs spamming you with pain messages for the rest of the shift.
    • On the other side, everything is healed slowly. Maximum you cna squeeze out of first aid is 0.5 health per tick per organ. Lying down makes it faster too, by 1.5x factor.
    • +
    • Fractured ribs and skull will now damage internal organs once in a while, if you run around. Either get someone to roll you around, or move carefully. [does NOT cause internal bleeding].
    From c46b9b8be6905c980b69e0b15cab1d3f755a1391 Mon Sep 17 00:00:00 2001 From: Chinsky Date: Sat, 1 Jun 2013 18:41:15 +0400 Subject: [PATCH 24/29] Fixes debuglog spam. --- code/game/machinery/alarm.dm | 1 - 1 file changed, 1 deletion(-) diff --git a/code/game/machinery/alarm.dm b/code/game/machinery/alarm.dm index 1945be11a65..4d7a32b04f3 100644 --- a/code/game/machinery/alarm.dm +++ b/code/game/machinery/alarm.dm @@ -172,7 +172,6 @@ danger_level = overall_danger_level() - log_debug("Processing [name] : level - [danger_level]") if (alarm_area.master_air_alarm == src) refresh_danger_level() From caba54c87c316f23d70c658d67a16a2969de5a26 Mon Sep 17 00:00:00 2001 From: Mloc Date: Sat, 1 Jun 2013 17:17:20 +0200 Subject: [PATCH 25/29] Updated readme. --- README.md | 79 ++++++++++++++++++++++--------------------------------- 1 file changed, 32 insertions(+), 47 deletions(-) diff --git a/README.md b/README.md index d016900cc37..661c7de6fde 100644 --- a/README.md +++ b/README.md @@ -4,54 +4,40 @@ --- +### GETTING THE CODE +The simplest way to obtain the code is using the github .zip feature. + +Click [here](https://github.com/Baystation12/Baystation12/archive/master.zip) to get the latest code as a .zip file, then unzip it to wherever you want. + +The more complicated and easier to update method is using git. You'll need to download git or some client from [here](http://git-scm.com/). When that's installed, right click in any folder and click on "Git Bash". When that opens, type in: + + git clone git@github.com:Baystation12/Baystation12.git + +(hint: hold down ctrl and press insert to paste into git bash) + +This will take a while to download, but it provides an easier method for updating. + ### INSTALLATION -First-time installation should be fairly straightforward. First, you'll need -BYOND installed. You can get it from http://www.byond.com/. Once you've done -that, extract the game files to wherever you want to keep them. This is a -sourcecode-only release, so the next step is to compile the server files. -Open baystation12.dme by double-clicking it, open the Build menu, and click -compile. This'll take a little while, and if everything's done right you'll get -a message like this: +First-time installation should be fairly straightforward. First, you'll need BYOND installed. You can get it from [here](http://www.byond.com/). + +This is a sourcecode-only release, so the next step is to compile the server files. Open baystation12.dme by double-clicking it, open the Build menu, and click compile. This'll take a little while, and if everything's done right you'll get a message like this: saving baystation12.dmb (DEBUG mode) baystation12.dmb - 0 errors, 0 warnings -If you see any errors or warnings, something has gone wrong - possibly a corrupt -download or the files extracted wrong. +If you see any errors or warnings, something has gone wrong - possibly a corrupt download or the files extracted wrong, or a code issue on the main repo. Ask on IRC. -It could be an issue with the current version of the code, either. Ask on IRC -or wait for a fix. +Once that's done, open up the config folder. You'll want to edit config.txt to set the probabilities for different gamemodes in Secret and to set your server location so that all your players don't get disconnected at the end of each round. It's recommended you don't turn on the gamemodes with probability 0, as they have various issues and aren't currently being tested, so they may have unknown and bizarre bugs. -Once that's done, open up the config folder. You'll want to edit config.txt to -set the probabilities for different gamemodes in Secret and to set your server -location so that all your players don't get disconnected at the end of each -round. It's recommended you don't turn on the gamemodes with probability 0, -except Extended, as they have various issues and aren't currently being tested, -so they may have unknown and bizarre bugs. Extended is essentially no mode, and -isn't in the Secret rotation by default as it's just not very fun. - -You'll also want to edit admins.txt to remove the default admins and add your -own. "Game Master" is the highest level of access, and the other recommended -admin level for now is "Game Admin". The format is: +You'll also want to edit admins.txt to remove the default admins and add your own. "Game Master" is the highest level of access, and the other recommended admin levels for now are "Game Admin" and "Moderator". The format is: byondkey - Rank -where the BYOND key must be in lowercase and the admin rank must be properly -capitalised. There are a bunch more admin ranks, but these two should be -enough for most servers, assuming you have trustworthy admins. +where the BYOND key must be in lowercase and the admin rank must be properly capitalised. There are a bunch more admin ranks, but these two should be enough for most servers, assuming you have trustworthy admins. -Additionally, you can set up moderators in moderators.txt, with this format: - - byondkey - -Moderators have access to player notes and a few other low-level commands. - -Finally, to start the server, run Dream Daemon and enter the path to your -compiled baystation12.dmb file. Make sure to set the port to the one you -specified in the config.txt, and set the Security box to 'Trusted'. Then press -GO and the server should start up and be ready to join. +Finally, to start the server, run Dream Daemon and enter the path to your compiled baystation12.dmb file. Make sure to set the port to the one you specified in the config.txt, and set the Security box to 'Trusted'. Then press GO and the server should start up and be ready to join. --- @@ -60,25 +46,24 @@ GO and the server should start up and be ready to join. To update an existing installation, first back up your /config and /data folders as these store your server configuration, player preferences and banlist. -Then, extract the new files (preferably into a clean directory, but updating in -place should work fine), copy your /config and /data folders back into the new -install, overwriting when prompted except if we've specified otherwise, and -recompile the game. Once you start the server up again, you should be running -the new version. +If you used the zip method, you'll need to download the zip file again and unzip it somewhere else, and then copy the /config and /data folders over. + +If you used the git method, you simply need to type this in to git bash: + + git pull + +When this completes, copy over your /data and /config folders again, just in case. + +When you have done this, you'll need to recompile the code, but then it should work fine. --- ### SQL Setup -The SQL backend for the library and stats tracking requires a -MySQL server. Your server details go in /config/dbconfig.txt, and the SQL -schema is in /SQL/tgstation_schema.sql. More detailed setup instructions are -coming soon, for now ask in our IRC channel. +The SQL backend for the library and stats tracking requires a MySQL server. Your server details go in /config/dbconfig.txt, and the SQL schema is in /SQL/tgstation_schema.sql. More detailed setup instructions arecoming soon, for now ask in our IRC channel. --- ### IRC Bot Setup -Included in the repo is an IRC bot capable of relaying adminhelps to a specified -IRC channel/server (thanks to Skibiliano). Instructions for bot setup are -included in the /bot/ folder along with the bot/relay script itself. +Included in the repo is an IRC bot capable of relaying adminhelps to a specified IRC channel/server (thanks to Skibiliano). Instructions for bot setup are included in the /bot/ folder along with the bot/relay script itself. From af8e3a9192dbc7d474b32bed4b90015ce2e8f21a Mon Sep 17 00:00:00 2001 From: cib Date: Sat, 1 Jun 2013 18:11:24 +0200 Subject: [PATCH 26/29] Fixed the issue of missing when hitting yourself. --- code/modules/mob/living/carbon/human/human_defense.dm | 2 ++ 1 file changed, 2 insertions(+) diff --git a/code/modules/mob/living/carbon/human/human_defense.dm b/code/modules/mob/living/carbon/human/human_defense.dm index 34a57cd9316..3c18f21398b 100644 --- a/code/modules/mob/living/carbon/human/human_defense.dm +++ b/code/modules/mob/living/carbon/human/human_defense.dm @@ -114,6 +114,8 @@ emp_act if(!I || !user) return 0 var/target_zone = get_zone_with_miss_chance(user.zone_sel.selecting, src) + if(user == src) // Attacking yourself can't miss + target_zone = user.zone_sel.selecting if(!target_zone) visible_message("\red [user] misses [src] with \the [I]!") return From 91fd698ee8d2c57561d452df8349813b44b345aa Mon Sep 17 00:00:00 2001 From: Asanadas Date: Sat, 1 Jun 2013 13:40:54 -0400 Subject: [PATCH 27/29] Sandbox is silly and not RP. This is an RP server and all --- baystation12.dme | 2 -- 1 file changed, 2 deletions(-) diff --git a/baystation12.dme b/baystation12.dme index bd0d1a256d3..52ef844ae7d 100644 --- a/baystation12.dme +++ b/baystation12.dme @@ -255,8 +255,6 @@ #include "code\game\gamemodes\nuclear\pinpointer.dm" #include "code\game\gamemodes\revolution\revolution.dm" #include "code\game\gamemodes\revolution\rp_revolution.dm" -#include "code\game\gamemodes\sandbox\h_sandbox.dm" -#include "code\game\gamemodes\sandbox\sandbox.dm" #include "code\game\gamemodes\traitor\traitor.dm" #include "code\game\gamemodes\wizard\rightandwrong.dm" #include "code\game\gamemodes\wizard\soulstone.dm" From dd0e13c8fd410ecd2f37ade6e964b4b368718d1b Mon Sep 17 00:00:00 2001 From: Mloc Date: Sat, 1 Jun 2013 21:11:41 +0100 Subject: [PATCH 28/29] Compile fix. Signed-off-by: Mloc --- code/modules/mob/living/login.dm | 2 -- 1 file changed, 2 deletions(-) diff --git a/code/modules/mob/living/login.dm b/code/modules/mob/living/login.dm index 33d5cfc7b31..10c0746dc65 100644 --- a/code/modules/mob/living/login.dm +++ b/code/modules/mob/living/login.dm @@ -8,8 +8,6 @@ //Round specific stuff like hud updates if(ticker && ticker.mode) switch(ticker.mode.name) - if("sandbox") - CanBuild() if("revolution") if((mind in ticker.mode.revolutionaries) || (src.mind in ticker.mode:head_revolutionaries)) ticker.mode.update_rev_icons_added(src.mind) From 5bcb4f4bcb6d24ca920f9f23e46efff97539f11c Mon Sep 17 00:00:00 2001 From: VitrescentTortoise Date: Sat, 1 Jun 2013 16:19:48 -0700 Subject: [PATCH 29/29] Added hidden fingerprint to crayon drawings. --- code/game/objects/effects/decals/crayon.dm | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/code/game/objects/effects/decals/crayon.dm b/code/game/objects/effects/decals/crayon.dm index 8300a0f7448..226fcdcf456 100644 --- a/code/game/objects/effects/decals/crayon.dm +++ b/code/game/objects/effects/decals/crayon.dm @@ -5,7 +5,6 @@ layer = 2.1 anchored = 1 - examine() set src in view(2) ..() @@ -32,4 +31,6 @@ shadeOverlay.Blend(shade,ICON_ADD) overlays += mainOverlay - overlays += shadeOverlay \ No newline at end of file + overlays += shadeOverlay + + add_hiddenprint(usr) \ No newline at end of file