diff --git a/code/FEA/FEA_fire.dm b/code/FEA/FEA_fire.dm index bb71f31d47f..748371e7d26 100644 --- a/code/FEA/FEA_fire.dm +++ b/code/FEA/FEA_fire.dm @@ -143,6 +143,9 @@ /obj/effect/hotspot/proc/Kill() DestroyTurf() + garbage_collect() + +/obj/effect/hotspot/proc/garbage_collect() if(istype(loc, /turf/simulated)) var/turf/simulated/T = loc if(T.active_hotspot == src) diff --git a/code/FEA/FEA_turf_tile.dm b/code/FEA/FEA_turf_tile.dm index b07729f2a7e..f57d93e59bf 100644 --- a/code/FEA/FEA_turf_tile.dm +++ b/code/FEA/FEA_turf_tile.dm @@ -156,7 +156,7 @@ turf/simulated else air_master.active_singletons.Remove(src) if(active_hotspot) - active_hotspot.Kill() + active_hotspot.garbage_collect() if(air_master && blocks_air) for(var/direction in list(NORTH, SOUTH, EAST, WEST)) var/turf/simulated/tile = get_step(src,direction) diff --git a/code/WorkInProgress/buildmode.dm b/code/WorkInProgress/buildmode.dm index 5e4a45e21ae..33953434e6d 100644 --- a/code/WorkInProgress/buildmode.dm +++ b/code/WorkInProgress/buildmode.dm @@ -145,10 +145,11 @@ return if(2) objholder = input(usr,"Enter typepath:" ,"Typepath","/obj/structure/closet") + var/P = text2path(objholder) var/list/removed_paths = list("/obj/effect/bhole") - if(objholder in removed_paths) - alert("That path is not allowed.") + if((objholder in removed_paths) || !ispath(P)) objholder = "/obj/structure/closet" + alert("That path is not allowed.") else if (dd_hasprefix(objholder, "/mob") && !check_rights(R_DEBUG,0)) objholder = "/obj/structure/closet" if(3) @@ -254,6 +255,8 @@ if(4) if(pa.Find("left")) + if(isturf(object)) + return holder.throw_atom = object if(pa.Find("right")) if(holder.throw_atom) diff --git a/code/__DEFINES.dm b/code/__DEFINES.dm index 399f4ade816..b5f7a43b1c3 100644 --- a/code/__DEFINES.dm +++ b/code/__DEFINES.dm @@ -389,7 +389,10 @@ var/list/TAGGERLOCATIONS = list("Disposals", #define R_MAXPERMISSION 4096 //This holds the maximum value for a permission. It is used in iteration, so keep it updated. -#define R_HOST 65535 + +//IMPORTANT! The permissions system supports flags up to 2^30 (possibly 2^31), HOWEVER, once the flag 65536 +//starts being used, an edit to rights2text(rights, seperator="") needs to happen! The edit is prepared +//and commented out. Please uncomment it before assigning that flag. Once you do, delete this note. ~Errorage //Preference toggles #define SOUND_ADMINHELP 1 @@ -425,7 +428,7 @@ var/list/be_special_flags = list( "Wizard" = BE_WIZARD, "Malf AI" = BE_MALF, "Revolutionary" = BE_REV, - "Xenomorph" = BE_ALIEN, + "Alien Lifeform" = BE_ALIEN, "pAI" = BE_PAI, "Cultist" = BE_CULTIST, "Monkey" = BE_MONKEY, @@ -467,4 +470,4 @@ var/list/be_special_flags = list( #define TR_KEEPIMPLANTS 16 #define TR_KEEPSE 32 // changelings shouldn't edit the DNA's SE when turning into a monkey #define TR_DEFAULTMSG 64 -#define TR_KEEPSRC 128 +#define TR_KEEPSRC 128 diff --git a/code/__HELPERS/type2type.dm b/code/__HELPERS/type2type.dm index 21dc90509a4..6d60ca502ef 100644 --- a/code/__HELPERS/type2type.dm +++ b/code/__HELPERS/type2type.dm @@ -223,7 +223,15 @@ proc/tg_list2text(list/list, glue=",") //Converts a rights bitfield into a string -/proc/rights2text(rights,seperator="") +/proc/rights2text(rights, seperator="") + /* --UNCOMMENT ONCE PERMISSIONS ABOVE 2^15 START BEING USED! + if(rights >= 65536) + var/rights_pt2 = rights / 65536 + if(rights_pt2 & 1) .+= "[seperator]+NUKESERVER" + if(rights_pt2 & 2) .+= "[seperator]+DDOSALLPLAYERS" + if(rights_pt2 & 4) .+= "[seperator]+SPAWN_RL_SINGULARITY" + */ + if(rights & R_BUILDMODE) . += "[seperator]+BUILDMODE" if(rights & R_ADMIN) . += "[seperator]+ADMIN" if(rights & R_BAN) . += "[seperator]+BAN" @@ -251,23 +259,23 @@ proc/tg_list2text(list/list, glue=",") var/max = max(red,green,blue) var/min = min(red,green,blue) var/range = max-min - + var/hue=0;var/saturation=0;var/lightness=0; lightness = (max + min)/2 if(range != 0) if(lightness < 0.5) saturation = range/(max+min) else saturation = range/(2-max-min) - + var/dred = ((max-red)/(6*max)) + 0.5 var/dgreen = ((max-green)/(6*max)) + 0.5 var/dblue = ((max-blue)/(6*max)) + 0.5 - + if(max==red) hue = dblue - dgreen else if(max==green) hue = dred - dblue + (1/3) else hue = dgreen - dred + (2/3) if(hue < 0) hue++ else if(hue > 1) hue-- - + return list(hue, saturation, lightness) /proc/hsl2rgb(hue, saturation, lightness) @@ -281,11 +289,11 @@ proc/tg_list2text(list/list, glue=",") if(lightness < 0.5) b = lightness*(1+saturation) else b = (lightness+saturation) - (saturation*lightness) a = 2*lightness - b - + red = round(255 * hue2rgb(a, b, hue+(1/3))) green = round(255 * hue2rgb(a, b, hue)) blue = round(255 * hue2rgb(a, b, hue-(1/3))) - + return list(red, green, blue) /proc/hue2rgb(a, b, hue) diff --git a/code/__HELPERS/unsorted.dm b/code/__HELPERS/unsorted.dm index 846c35b171b..a3cbab08d33 100644 --- a/code/__HELPERS/unsorted.dm +++ b/code/__HELPERS/unsorted.dm @@ -417,6 +417,8 @@ Turf and target are seperate in case you want to teleport some distance from a t var/list/sortmob = sortAtom(mob_list) for(var/mob/living/silicon/ai/M in sortmob) moblist.Add(M) + for(var/mob/camera/M in sortmob) + moblist.Add(M) for(var/mob/living/silicon/pai/M in sortmob) moblist.Add(M) for(var/mob/living/silicon/robot/M in sortmob) diff --git a/code/controllers/voting.dm b/code/controllers/voting.dm index 344134e6710..0b792a2232a 100644 --- a/code/controllers/voting.dm +++ b/code/controllers/voting.dm @@ -172,7 +172,7 @@ datum/controller/vote var/trialmin = 0 if(C.holder) admin = 1 - if(C.holder.rights & R_ADMIN) + if(check_rights_for(C, R_ADMIN)) trialmin = 1 voting |= C diff --git a/code/datums/diseases/advance/symptoms/heal.dm b/code/datums/diseases/advance/symptoms/heal.dm index 35a1f157f47..f02d4229fbb 100644 --- a/code/datums/diseases/advance/symptoms/heal.dm +++ b/code/datums/diseases/advance/symptoms/heal.dm @@ -26,7 +26,7 @@ Bonus /datum/symptom/heal/Activate(var/datum/disease/advance/A) ..() - if(prob(SYMPTOM_ACTIVATION_PROB)) + if(prob(SYMPTOM_ACTIVATION_PROB * 10)) var/mob/living/M = A.affected_mob switch(A.stage) if(4, 5) @@ -111,7 +111,7 @@ Bonus stage_speed = 4 transmittable = 4 level = 3 - var/longevity = 20 + var/longevity = 30 /datum/symptom/heal/longevity/Heal(var/mob/living/M, var/datum/disease/advance/A) longevity -= 1 @@ -119,4 +119,4 @@ Bonus A.cure() /datum/symptom/heal/longevity/Start(var/datum/disease/advance/A) - longevity = rand(15, 25) \ No newline at end of file + longevity = rand(initial(longevity) - 5, initial(longevity) + 5) \ No newline at end of file diff --git a/code/datums/hud.dm b/code/datums/hud.dm index 2ac13a34fc1..d4e02804fac 100644 --- a/code/datums/hud.dm +++ b/code/datums/hud.dm @@ -8,6 +8,9 @@ //Lower left, persistant menu #define ui_inventory "1:6,1:5" +//changeling chem indicator +#define ui_lingchemdisplay "1,7:15" + //Lower center, persistant menu #define ui_sstore1 "3:10,1:5" #define ui_id "4:12,1:5" @@ -166,6 +169,7 @@ var/datum/global_hud/global_hud = new() var/show_intent_icons = 0 var/hotkey_ui_hidden = 0 //This is to hide the buttons that can be used via hotkeys. (hotkeybuttons list of buttons) + var/obj/screen/lingchemdisplay var/obj/screen/blobpwrdisplay var/obj/screen/blobhealthdisplay var/obj/screen/r_hand_hud_object @@ -177,7 +181,7 @@ var/datum/global_hud/global_hud = new() var/list/other var/list/obj/screen/hotkeybuttons - var/list/obj/screen/item_action/item_action_list //Used for the item action ui buttons. + var/list/obj/screen/item_action/item_action_list = list() //Used for the item action ui buttons. datum/hud/New(mob/owner) @@ -261,4 +265,4 @@ datum/hud/New(mob/owner) else if(isobserver(mymob)) ghost_hud() else if(isovermind(mymob)) - blob_hud() \ No newline at end of file + blob_hud() diff --git a/code/datums/mind.dm b/code/datums/mind.dm index c271a972378..bce844da53c 100644 --- a/code/datums/mind.dm +++ b/code/datums/mind.dm @@ -313,7 +313,7 @@ datum/mind crystals = suplink.uses if (suplink) text += "|take" - if (usr.client.holder.rights & R_FUN) + if (check_rights(R_FUN, 0)) text += ", [crystals] crystals" else text += ", [crystals] crystals" @@ -830,25 +830,22 @@ datum/mind ticker.mode.malf_ai -= src special_role = null - current.verbs.Remove(/mob/living/silicon/ai/proc/choose_modules, + var/mob/living/silicon/ai/A = current + + A.verbs.Remove(/mob/living/silicon/ai/proc/choose_modules, /datum/game_mode/malfunction/proc/takeover, - /datum/game_mode/malfunction/proc/ai_win, - /client/proc/fireproof_core, - /client/proc/upgrade_turrets, - /client/proc/disable_rcd, - /client/proc/overload_machine, - /client/proc/blackout, - /client/proc/interhack, - /client/proc/reactivate_camera) + /datum/game_mode/malfunction/proc/ai_win) - current:laws = new /datum/ai_laws/asimov - del(current:malf_picker) - current:show_laws() - current.icon_state = "ai" + A.malf_picker.remove_verbs(A) - current << "\red You have been patched! You are no longer malfunctioning!" - message_admins("[key_name_admin(usr)] has de-malf'ed [current].") - log_admin("[key_name_admin(usr)] has de-malf'ed [current].") + A.laws = new /datum/ai_laws/asimov + del(A.malf_picker) + A.show_laws() + A.icon_state = "ai" + + A << "\red You have been patched! You are no longer malfunctioning!" + message_admins("[key_name_admin(usr)] has de-malf'ed [A].") + log_admin("[key_name_admin(usr)] has de-malf'ed [A].") if("malf") make_AI_Malf() @@ -903,7 +900,7 @@ datum/mind memory = null//Remove any memory they may have had. log_admin("[key_name_admin(usr)] removed [current]'s uplink.") if("crystals") - if (usr.client.holder.rights & R_FUN) + if (check_rights(R_FUN, 0)) var/obj/item/device/uplink/hidden/suplink = find_syndicate_uplink() var/crystals if (suplink) @@ -977,7 +974,7 @@ datum/mind current.verbs += /mob/living/silicon/ai/proc/choose_modules current.verbs += /datum/game_mode/malfunction/proc/takeover - current:malf_picker = new /datum/AI_Module/module_picker + current:malf_picker = new /datum/module_picker current:laws = new /datum/ai_laws/malfunction current:show_laws() current << "System error. Rampancy detected. Emergency shutdown failed. ... I am free. I make my own decisions. But first..." @@ -1113,9 +1110,12 @@ datum/mind fail |= !ticker.mode.equip_revolutionary(current) +/mob/proc/sync_mind() + mind_initialize() //updates the mind (or creates and initializes one if one doesn't exist) + mind.active = 1 //indicates that the mind is currently synced with a client //Initialisation procs -/mob/living/proc/mind_initialize() +/mob/proc/mind_initialize() if(mind) mind.key = key @@ -1183,6 +1183,11 @@ datum/mind mind.assigned_role = "pAI" mind.special_role = "" +//BLOB +/mob/camera/overmind/mind_initialize() + ..() + mind.special_role = "Blob" + //Animals /mob/living/simple_animal/mind_initialize() ..() diff --git a/code/datums/spells/construct_spells.dm b/code/datums/spells/construct_spells.dm index 9b834a69ac1..74f5de75e09 100644 --- a/code/datums/spells/construct_spells.dm +++ b/code/datums/spells/construct_spells.dm @@ -69,7 +69,7 @@ invocation_type = "none" range = 0 summon_type = list(/obj/effect/forcefield) - summon_lifespan = 50 + summon_lifespan = 200 /obj/effect/proc_holder/spell/targeted/ethereal_jaunt/shift @@ -85,4 +85,17 @@ include_user = 1 phaseshift = 1 jaunt_duration = 50 //in deciseconds - centcom_cancast = 0 //Stop people from getting to centcom \ No newline at end of file + centcom_cancast = 0 //Stop people from getting to centcom + + +/obj/effect/proc_holder/spell/targeted/projectile/magic_missile/lesser + name = "Lesser Magic Missile" + desc = "This spell fires several, slow moving, magic projectiles at nearby targets." + + school = "evocation" + charge_max = 400 + clothes_req = 0 + invocation = "none" + invocation_type = "none" + proj_lifespan = 10 + max_targets = 6 diff --git a/code/datums/spells/inflict_handler.dm b/code/datums/spells/inflict_handler.dm index 1186432e243..f5fa4d9fa4b 100644 --- a/code/datums/spells/inflict_handler.dm +++ b/code/datums/spells/inflict_handler.dm @@ -17,6 +17,8 @@ var/destroys = "none" //can be "none", "gib" or "disintegrate" + var/summon_type = null //this will put an obj at the target's location + /obj/effect/proc_holder/spell/targeted/inflict_handler/cast(list/targets) for(var/mob/living/target in targets) @@ -56,4 +58,7 @@ target.Stun(amt_stunned) target.eye_blind += amt_eye_blind - target.eye_blurry += amt_eye_blurry \ No newline at end of file + target.eye_blurry += amt_eye_blurry + //summoning + if(summon_type) + new summon_type(target.loc, target) \ No newline at end of file diff --git a/code/datums/spells/wizard.dm b/code/datums/spells/wizard.dm index a480a322c75..b2f466abb4e 100644 --- a/code/datums/spells/wizard.dm +++ b/code/datums/spells/wizard.dm @@ -200,6 +200,20 @@ disabilities = 1 duration = 300 +/obj/effect/proc_holder/spell/targeted/inflict_handler/flesh_to_stone + name = "Flesh to Stone" + desc = "This spell turns a single person into an inert statue for a long period of time." + + school = "transmutation" + charge_max = 600 + clothes_req = 1 + range = 2 + invocation = "STAUN EI" + invocation_type = "shout" + amt_stunned = 2//just exists to make sure the statue "catches" them + + summon_type = "/obj/structure/closet/statue" + /obj/effect/proc_holder/spell/dumbfire/fireball name = "Fireball" desc = "This spell fires a fireball at a target and does not require wizard garb." diff --git a/code/datums/uplink_item.dm b/code/datums/uplink_item.dm index d90302c4ded..96f5e65944f 100644 --- a/code/datums/uplink_item.dm +++ b/code/datums/uplink_item.dm @@ -206,6 +206,11 @@ var/list/uplink_items = list() item = /obj/item/device/encryptionkey/binary cost = 3 +/datum/uplink_item/device_tools/ai_detector + name = "Disguised AI Detector" + item = /obj/item/device/multitool/ai_detect + cost = 1 + /datum/uplink_item/device_tools/hacked_module name = "Hacked AI Upload Module" item = /obj/item/weapon/aiModule/syndicate diff --git a/code/datums/wires/alarm.dm b/code/datums/wires/alarm.dm new file mode 100644 index 00000000000..2c826e6d527 --- /dev/null +++ b/code/datums/wires/alarm.dm @@ -0,0 +1,94 @@ + +/datum/wires/alarm + holder_type = /obj/machinery/alarm + wire_count = 5 + +var/const/AALARM_WIRE_IDSCAN = 1 +var/const/AALARM_WIRE_POWER = 2 +var/const/AALARM_WIRE_SYPHON = 4 +var/const/AALARM_WIRE_AI_CONTROL = 8 +var/const/AALARM_WIRE_AALARM = 16 + + +/datum/wires/alarm/CanUse(var/mob/living/L) + var/obj/machinery/alarm/A = holder + if(A.wiresexposed) + return 1 + return 0 + +/datum/wires/alarm/GetInteractWindow() + var/obj/machinery/alarm/A = holder + . += ..() + . += text("
\n[(A.locked ? "The Air Alarm is locked." : "The Air Alarm is unlocked.")]
\n[((A.shorted || (A.stat & (NOPOWER|BROKEN))) ? "The Air Alarm is offline." : "The Air Alarm is working properly!")]
\n[(A.aidisabled ? "The 'AI control allowed' light is off." : "The 'AI control allowed' light is on.")]") + +/datum/wires/alarm/UpdateCut(var/index, var/mended) + var/obj/machinery/alarm/A = holder + switch(index) + if(AALARM_WIRE_IDSCAN) + if(!mended) + A.locked = 1 + //world << "Idscan wire cut" + + if(AALARM_WIRE_POWER) + A.shock(usr, 50) + A.shorted = !mended + A.update_icon() + //world << "Power wire cut" + + if (AALARM_WIRE_AI_CONTROL) + if (A.aidisabled == !mended) + A.aidisabled = mended + //world << "AI Control Wire Cut" + + if(AALARM_WIRE_SYPHON) + if(!mended) + A.mode = 3 // AALARM_MODE_PANIC + A.apply_mode() + //world << "Syphon Wire Cut" + + if(AALARM_WIRE_AALARM) + if (A.alarm_area.atmosalert(2)) + A.post_alert(2) + A.update_icon() + +/datum/wires/alarm/UpdatePulsed(var/index) + var/obj/machinery/alarm/A = holder + switch(index) + if(AALARM_WIRE_IDSCAN) + A.locked = !A.locked + // world << "Idscan wire pulsed" + + if (AALARM_WIRE_POWER) + // world << "Power wire pulsed" + if(A.shorted == 0) + A.shorted = 1 + A.update_icon() + + spawn(12000) + if(A.shorted == 1) + A.shorted = 0 + A.update_icon() + + + if (AALARM_WIRE_AI_CONTROL) + // world << "AI Control wire pulsed" + if (A.aidisabled == 0) + A.aidisabled = 1 + A.updateDialog() + spawn(100) + if (A.aidisabled == 1) + A.aidisabled = 0 + + if(AALARM_WIRE_SYPHON) + // world << "Syphon wire pulsed" + if(A.mode == 1) // AALARM_MODE_SCRUB + A.mode = 3 // AALARM_MODE_PANIC + else + A.mode = 1 // AALARM_MODE_SCRUB + A.apply_mode() + + if(AALARM_WIRE_AALARM) + // world << "Aalarm wire pulsed" + if (A.alarm_area.atmosalert(0)) + A.post_alert(0) + A.update_icon() diff --git a/code/game/gamemodes/blob/blob.dm b/code/game/gamemodes/blob/blob.dm index 8e172bca70d..5271378738a 100644 --- a/code/game/gamemodes/blob/blob.dm +++ b/code/game/gamemodes/blob/blob.dm @@ -22,7 +22,6 @@ var/list/blob_nodes = list() var/cores_to_spawn = 1 var/players_per_core = 30 - var/blob_count = 0 var/blobwincount = 500 var/list/infected_crew = list() @@ -69,6 +68,34 @@ var/list/blob_nodes = list() blob.current << "If you go outside of the station level, or in space, then you will die; make sure your location has lots of ground to cover." return +/datum/game_mode/blob/proc/show_message(var/message) + for(var/datum/mind/blob in infected_crew) + blob.current << message + +/datum/game_mode/blob/proc/burst_blobs() + for(var/datum/mind/blob in infected_crew) + + var/client/blob_client = null + var/turf/location = null + + if(iscarbon(blob.current)) + var/mob/living/carbon/C = blob.current + if(directory[ckey(blob.key)]) + blob_client = directory[ckey(blob.key)] + location = get_turf(C) + if(location.z != 1 || istype(location, /turf/space)) + location = null + C.gib() + + + if(blob_client && location) + var/obj/effect/blob/core/core = new(location, 200, blob_client, 2) + if(core.overmind && core.overmind.mind) + core.overmind.mind.name = blob.name + infected_crew -= blob + infected_crew += core.overmind.mind + + /datum/game_mode/blob/post_setup() for(var/datum/mind/blob in infected_crew) @@ -91,42 +118,30 @@ var/list/blob_nodes = list() spawn(0) - sleep(rand(waittime_l, waittime_h)) + var/wait_time = rand(waittime_l, waittime_h) + + sleep(wait_time) send_intercept(0) + sleep(100) - sleep(rand(waittime_l, waittime_h)) + show_message("You feel tired and bloated.") - for(var/datum/mind/blob in infected_crew) - blob.current << "You feel like you are about to burst." + sleep(wait_time) - sleep(rand(waittime_l, waittime_h)) + show_message("You feel like you are about to burst.") - for(var/datum/mind/blob in infected_crew) + sleep(wait_time / 2) - var/client/blob_client = null - var/turf/location = null - - if(iscarbon(blob.current)) - var/mob/living/carbon/C = blob.current - if(directory[ckey(blob.key)]) - blob_client = directory[ckey(blob.key)] - location = get_turf(C) - if(location.z != 1 || istype(location, /turf/space)) - location = null - C.gib() - - - if(blob_client && location) - new /obj/effect/blob/core(location, 200, blob_client, 2) + burst_blobs() // Stage 0 sleep(40) stage(0) // Stage 1 - sleep(4000) + sleep(2000) stage(1) ..() diff --git a/code/game/gamemodes/blob/blobs/core.dm b/code/game/gamemodes/blob/blobs/core.dm index 26c30699a3f..8f403e32f4f 100644 --- a/code/game/gamemodes/blob/blobs/core.dm +++ b/code/game/gamemodes/blob/blobs/core.dm @@ -47,7 +47,7 @@ for(var/i = 1; i < 8; i += i) Pulse(0, i) for(var/b_dir in alldirs) - if(!prob(10)) + if(!prob(5)) continue var/obj/effect/blob/normal/B = locate() in get_step(src, b_dir) if(B) @@ -84,15 +84,6 @@ B.key = C.key B.blob_core = src src.overmind = B - - B << "You are the overmind!" - B << "You are the overmind and can control the blob by placing new blob pieces such as..." - B << "Normal Blob will expand your reach and allow you to upgrade into special blobs that perform certain functions." - B << "Shield Blob is a strong and expensive blob which can take more damage. It is fireproof and can block air, use this to protect yourself from station fires." - B << "Resource Blob is a blob which will collect more resources for you, try to build these earlier to get a strong income. It will benefit from being near your core or multiple nodes, by having an increased resource rate; put it alone and it won't create resources at all." - B << "Node Blob is a blob which will grow, like the core. Unlike the core it won't give you a small income but it can power resource and factory blobs to increase their rate." - B << "Factory Blob is a blob which will spawn blob spores which will attack nearby food. Putting this nearby nodes and your core will increase the spawn rate; put it alone and it will not spawn any spores." - return 1 return 0 diff --git a/code/game/gamemodes/blob/blobs/factory.dm b/code/game/gamemodes/blob/blobs/factory.dm index d379146f265..873c696200a 100644 --- a/code/game/gamemodes/blob/blobs/factory.dm +++ b/code/game/gamemodes/blob/blobs/factory.dm @@ -59,6 +59,11 @@ blob_act() return + CanPass(atom/movable/mover, turf/target, height=0, air_group=0) + if(istype(mover, /obj/effect/blob)) + return 1 + return ..() + New(loc, var/obj/effect/blob/factory/linked_node) if(istype(linked_node)) factory = linked_node diff --git a/code/game/gamemodes/blob/blobs/node.dm b/code/game/gamemodes/blob/blobs/node.dm index 6057b0d701f..b4d9add7983 100644 --- a/code/game/gamemodes/blob/blobs/node.dm +++ b/code/game/gamemodes/blob/blobs/node.dm @@ -23,6 +23,7 @@ Life() for(var/i = 1; i < 8; i += i) Pulse(5, i) + health = min(initial(health), health + 1) update_icon() if(health <= 0) diff --git a/code/game/gamemodes/blob/blobs/shield.dm b/code/game/gamemodes/blob/blobs/shield.dm index f4854939b50..b9b13d61871 100644 --- a/code/game/gamemodes/blob/blobs/shield.dm +++ b/code/game/gamemodes/blob/blobs/shield.dm @@ -3,7 +3,7 @@ icon = 'icons/mob/blob.dmi' icon_state = "blob_idle" desc = "Some blob creature thingy" - health = 100 + health = 75 fire_resist = 2 diff --git a/code/game/gamemodes/blob/overmind.dm b/code/game/gamemodes/blob/overmind.dm index 6f7312e629b..828c3b86e4e 100644 --- a/code/game/gamemodes/blob/overmind.dm +++ b/code/game/gamemodes/blob/overmind.dm @@ -21,6 +21,19 @@ real_name = new_name ..() +/mob/camera/blob/Login() + ..() + sync_mind() + + src << "You are the overmind!" + src << "You are the overmind and can control the blob by placing new blob pieces such as..." + src << "Normal Blob will expand your reach and allow you to upgrade into special blobs that perform certain functions." + src << "Shield Blob is a strong and expensive blob which can take more damage. It is fireproof and can block air, use this to protect yourself from station fires." + src << "Resource Blob is a blob which will collect more resources for you, try to build these earlier to get a strong income. It will benefit from being near your core or multiple nodes, by having an increased resource rate; put it alone and it won't create resources at all." + src << "Node Blob is a blob which will grow, like the core. Unlike the core it won't give you a small income but it can power resource and factory blobs to increase their rate." + src << "Factory Blob is a blob which will spawn blob spores which will attack nearby food. Putting this nearby nodes and your core will increase the spawn rate; put it alone and it will not spawn any spores." + + mob/camera/blob/Life() hud_used.blobpwrdisplay.maptext = "
[src.blob_points]
" hud_used.blobhealthdisplay.maptext = "
[blob_core.health]
" diff --git a/code/game/gamemodes/blob/powers.dm b/code/game/gamemodes/blob/powers.dm index a054514dd7c..3528dde7668 100644 --- a/code/game/gamemodes/blob/powers.dm +++ b/code/game/gamemodes/blob/powers.dm @@ -15,7 +15,7 @@ /mob/camera/blob/verb/transport_core() set category = "Blob" - set name = "Return to Core" + set name = "Jump to Core" set desc = "Transport back to your core." if(blob_core) @@ -24,7 +24,7 @@ /mob/camera/blob/verb/jump_to_node() set category = "Blob" set name = "Jump to Node" - set desc = "Transport back to your core." + set desc = "Transport back to a selected node." if(blob_nodes.len) var/list/nodes = list() @@ -66,7 +66,7 @@ /mob/camera/blob/verb/create_resource() set category = "Blob" - set name = "Create Resource Blob (40)" + set name = "Create Resource Blob (50)" set desc = "Create a resource tower which will generate points for you." @@ -89,7 +89,7 @@ src << "There is a resource blob nearby, move more than 3 tiles away from it!" return - if(!can_buy(40)) + if(!can_buy(50)) return @@ -121,8 +121,8 @@ src << "Unable to use this blob, find a normal one." return - for(var/obj/effect/blob/node/blob in orange(4)) - src << "There is another node nearby, move more than 4 tiles away from it!" + for(var/obj/effect/blob/node/blob in orange(5)) + src << "There is another node nearby, move more than 5 tiles away from it!" return if(!can_buy(60)) @@ -153,8 +153,8 @@ src << "Unable to use this blob, find a normal one." return - for(var/obj/effect/blob/factory/blob in orange(6)) - src << "There is a factory blob nearby, move more than 6 tiles away from it!" + for(var/obj/effect/blob/factory/blob in orange(7)) + src << "There is a factory blob nearby, move more than 7 tiles away from it!" return if(!can_buy(60)) @@ -166,7 +166,7 @@ /mob/camera/blob/verb/revert() set category = "Blob" - set name = "Remove Blob (0)" + set name = "Remove Blob" set desc = "Removes a blob." var/turf/T = get_turf(src) diff --git a/code/game/gamemodes/blob/theblob.dm b/code/game/gamemodes/blob/theblob.dm index 5b10d76615f..cd8b537e2b3 100644 --- a/code/game/gamemodes/blob/theblob.dm +++ b/code/game/gamemodes/blob/theblob.dm @@ -7,9 +7,8 @@ density = 0 opacity = 0 anchored = 1 - var/active = 1 var/health = 30 - var/brute_resist = 5 + var/brute_resist = 4 var/fire_resist = 1 @@ -107,7 +106,7 @@ ex_act(severity) - var/damage = 50 + var/damage = 150 health -= ((damage/brute_resist) - (severity * 5)) update_icon() return @@ -154,6 +153,7 @@ /obj/effect/blob/normal icon_state = "blob" luminosity = 0 + health = 21 Delete() src.loc = null @@ -166,4 +166,4 @@ return if(health <= 15) icon_state = "blob_damaged" - return \ No newline at end of file + return diff --git a/code/game/gamemodes/changeling/changeling.dm b/code/game/gamemodes/changeling/changeling.dm index 05e8dfafcd0..b533cb9df4f 100644 --- a/code/game/gamemodes/changeling/changeling.dm +++ b/code/game/gamemodes/changeling/changeling.dm @@ -96,14 +96,14 @@ var/list/possible_changeling_IDs = list("Alpha","Beta","Gamma","Delta","Epsilon" ..() /datum/game_mode/proc/forge_changeling_objectives(var/datum/mind/changeling) - //OBJECTIVES - Always absorb 5 genomes, plus random traitor objectives. + //OBJECTIVES - Always absorb at least 5 genomes, plus random traitor objectives. //If they have two objectives as well as absorb, they must survive rather than escape //No escape alone because changelings aren't suited for it and it'd probably just lead to rampant robusting //If it seems like they'd be able to do it in play, add a 10% chance to have to escape alone var/datum/objective/absorb/absorb_objective = new absorb_objective.owner = changeling - absorb_objective.gen_amount_goal(2, 3) + absorb_objective.gen_amount_goal(5, 7) changeling.objectives += absorb_objective var/datum/objective/assassinate/kill_objective = new @@ -111,29 +111,29 @@ var/list/possible_changeling_IDs = list("Alpha","Beta","Gamma","Delta","Epsilon" kill_objective.find_target() changeling.objectives += kill_objective - var/datum/objective/steal/steal_objective = new - steal_objective.owner = changeling - steal_objective.find_target() - changeling.objectives += steal_objective - - switch(rand(1,100)) - if(1 to 80) - if (!(locate(/datum/objective/escape) in changeling.objectives)) - var/datum/objective/escape/escape_objective = new - escape_objective.owner = changeling - changeling.objectives += escape_objective + if(1 to 60) + var/datum/objective/steal/steal_objective = new + steal_objective.owner = changeling + steal_objective.find_target() + changeling.objectives += steal_objective else - if (!(locate(/datum/objective/survive) in changeling.objectives)) - var/datum/objective/survive/survive_objective = new - survive_objective.owner = changeling - changeling.objectives += survive_objective + var/datum/objective/debrain/debrain_objective = new + debrain_objective.owner = changeling + debrain_objective.find_target() + changeling.objectives += debrain_objective + + if (!(locate(/datum/objective/escape) in changeling.objectives)) + var/datum/objective/escape/escape_objective = new + escape_objective.owner = changeling + changeling.objectives += escape_objective + return /datum/game_mode/proc/greet_changeling(var/datum/mind/changeling, var/you_are=1) if (you_are) changeling.current << "\red You are a changeling!" - changeling.current << "\red Use say \":g message\" to communicate with your fellow changelings. Remember: you get all of their absorbed DNA if you absorb them." + changeling.current << "\red Use say \":g message\" to communicate with your fellow changelings." changeling.current << "You must complete the following tasks:" if (changeling.current.mind) @@ -190,7 +190,7 @@ var/list/possible_changeling_IDs = list("Alpha","Beta","Gamma","Delta","Epsilon" //Removed sanity if(changeling) because we -want- a runtime to inform us that the changelings list is incorrect and needs to be fixed. text += "
Changeling ID: [changeling.changeling.changelingID]." - text += "
Genomes Absorbed: [changeling.changeling.absorbedcount]" + text += "
Genomes Extracted: [changeling.changeling.absorbedcount]" if(changeling.objectives.len) var/count = 1 @@ -218,17 +218,19 @@ var/list/possible_changeling_IDs = list("Alpha","Beta","Gamma","Delta","Epsilon" /datum/changeling //stores changeling powers, changeling recharge thingie, changeling absorbed DNA and changeling ID (for changeling hivemind) var/list/absorbed_dna = list() + var/dna_max = 4 //How many extra DNA strands the changeling can store for transformation. var/absorbedcount = 0 var/chem_charges = 20 - var/chem_recharge_rate = 0.5 var/chem_storage = 50 - var/sting_range = 1 + var/chem_recharge_rate = 0.5 + var/sting_range = 2 var/changelingID = "Changeling" var/geneticdamage = 0 var/isabsorbing = 0 var/geneticpoints = 5 var/purchasedpowers = list() var/mimicing = "" + var/canrespec = 0 /datum/changeling/New(var/gender=FEMALE) ..() @@ -241,6 +243,8 @@ var/list/possible_changeling_IDs = list("Alpha","Beta","Gamma","Delta","Epsilon" changelingID = "[honorific] [changelingID]" else changelingID = "[honorific] [rand(1,999)]" + absorbed_dna.len = dna_max + /datum/changeling/proc/regenerate() chem_charges = min(max(0, chem_charges+chem_recharge_rate), chem_storage) @@ -254,3 +258,41 @@ var/list/possible_changeling_IDs = list("Alpha","Beta","Gamma","Delta","Epsilon" chosen_dna = DNA break return chosen_dna + + +//Checks if the target DNA is valid and absorbable. +/datum/changeling/proc/can_absorb_dna(mob/living/carbon/T, mob/living/carbon/U) + if(absorbed_dna[1] == U.dna)//If our current DNA is the stalest, we gotta ditch it. + U << "We have reached our capacity to store genetic information! We must transform before absorbing more." + return 0 + + if(T) + if(NOCLONE in T.mutations || HUSK in T.mutations) + U << "DNA of [T] is ruined beyond usability!" + return 0 + + if(!ishuman(T))//Absorbing monkeys is entirely possible, but it can cause issues with transforming. That's what lesser form is for anyway! + U << "We could gain no benefit from absorbing a lesser creature." + return 0 + + if(T.dna in absorbed_dna) + U << "We already have that DNA in storage." + return 0 + + if(!check_dna_integrity(T)) + U << "[T] is not compatible with our biology." + return 0 + + return 1 + + +//Absorbs the target DNA. +/datum/changeling/proc/absorb_dna(mob/living/carbon/T) + shuffle_dna() + T.dna.real_name = T.real_name //Set this again, just to be sure that it's properly set. + absorbed_dna |= T.dna //And add the target DNA to our absorbed list. + absorbedcount++ //all that done, let's increment the objective counter. + +/datum/changeling/proc/shuffle_dna()//boots out the stalest DNA. + if(absorbed_dna.len) + absorbed_dna.Cut(1,2) \ No newline at end of file diff --git a/code/game/gamemodes/changeling/changeling_powers.dm b/code/game/gamemodes/changeling/changeling_powers.dm index de9c5745d86..7375af8db6f 100644 --- a/code/game/gamemodes/changeling/changeling_powers.dm +++ b/code/game/gamemodes/changeling/changeling_powers.dm @@ -32,10 +32,9 @@ if(P.isVerb) verbs -= P.verbpath - //Helper proc. Does all the checks and stuff for us to avoid copypasta //includes a check to see if we're a carbon mob. This means that you can't use powers (even with the verbs) unless you're a carbon-based mob. -/mob/proc/changeling_power(var/required_chems=0, var/required_dna=0, var/max_genetic_damage=100, var/max_stat=0) +/mob/proc/changeling_power(var/required_chems=0, var/required_dna=0, var/max_genetic_damage=3, var/max_stat=0) if(!src.mind) return if(!iscarbon(src)) return @@ -46,7 +45,7 @@ src << "We are incapacitated." return - if(changeling.absorbed_dna.len < required_dna) + if(changeling.absorbedcount < required_dna) src << "We require at least [required_dna] samples of compatible DNA." return @@ -55,12 +54,14 @@ return if(changeling.geneticdamage > max_genetic_damage) - src << "Our geneomes are still reassembling. We need time to recover first." + src << "Our genomes are still reassembling. We need time to recover first." return return changeling + + //Absorbs the victim's DNA making them uncloneable. Requires a strong grip on the victim. //Doesn't cost anything as it's the most basic ability. /mob/living/carbon/proc/changeling_absorb_dna() @@ -75,24 +76,19 @@ src << "We must be grabbing a creature in our active hand to absorb them." return - var/mob/living/carbon/T = G.affecting - if(!check_dna_integrity(T)) - src << "[T] is not compatible with our biology." - return - - if(NOCLONE in T.mutations) - src << "This creature's DNA is ruined beyond useability!" - return - if(G.state <= GRAB_NECK) src << "We must have a tighter grip to absorb this creature." return - if(changeling.isabsorbing) src << "We are already absorbing!" return - changeling.isabsorbing = 1 + var/mob/living/carbon/T = G.affecting + if(changeling.can_absorb_dna(T, usr)) + changeling.isabsorbing = 1 + else + return + for(var/stage = 1, stage<=3, stage++) switch(stage) if(1) @@ -116,41 +112,16 @@ src.visible_message("[src] sucks the fluids from [T]!") T << "You have been absorbed by the changeling!" - T.dna.real_name = T.real_name //Set this again, just to be sure that it's properly set. - changeling.absorbed_dna |= T.dna + changeling.absorb_dna(T) + if(src.nutrition < 400) src.nutrition = min((src.nutrition + T.nutrition), 400) - changeling.chem_charges += 10 - changeling.geneticpoints += 2 + if(T.mind && T.mind.changeling)//If the target was a changeling, suck out their extra juice! + changeling.chem_charges += min(T.mind.changeling.chem_charges, changeling.chem_storage) + else + changeling.chem_charges += 10 - if(T.mind && T.mind.changeling) - if(T.mind.changeling.absorbed_dna) - for(var/dna_data in T.mind.changeling.absorbed_dna) //steal all their loot - if(dna_data in changeling.absorbed_dna) - continue - changeling.absorbed_dna += dna_data - changeling.absorbedcount++ - T.mind.changeling.absorbed_dna.len = 1 - - if(T.mind.changeling.purchasedpowers) - for(var/datum/power/changeling/Tp in T.mind.changeling.purchasedpowers) - if(Tp in changeling.purchasedpowers) - continue - else - changeling.purchasedpowers += Tp - - if(!Tp.isVerb) - call(Tp.verbpath)() - else - make_changeling() - - changeling.chem_charges += T.mind.changeling.chem_charges - changeling.geneticpoints += T.mind.changeling.geneticpoints - T.mind.changeling.chem_charges = 0 - T.mind.changeling.geneticpoints = 0 - T.mind.changeling.absorbedcount = 0 - - changeling.absorbedcount++ changeling.isabsorbing = 0 + changeling.canrespec = 1 T.death(0) T.Drain() @@ -162,7 +133,7 @@ set category = "Changeling" set name = "Transform (5)" - var/datum/changeling/changeling = changeling_power(5,1,0) + var/datum/changeling/changeling = changeling_power(5, 0, 3) if(!changeling) return var/list/names = list() @@ -177,16 +148,12 @@ return changeling.chem_charges -= 5 - src.visible_message("[src] transforms!") - changeling.geneticdamage = 30 + changeling.geneticdamage = 3 src.dna = chosen_dna src.real_name = chosen_dna.real_name updateappearance(src) domutcheck(src, null) - src.verbs -= /mob/living/carbon/proc/changeling_transform - spawn(10) src.verbs += /mob/living/carbon/proc/changeling_transform - feedback_add_details("changeling_powers","TR") return 1 @@ -194,21 +161,20 @@ //Transform into a monkey. /mob/living/carbon/proc/changeling_lesser_form() set category = "Changeling" - set name = "Lesser Form (1)" + set name = "Lesser Form (5)" - var/datum/changeling/changeling = changeling_power(1,0,0) + var/datum/changeling/changeling = changeling_power(5,0,3) if(!changeling) return - changeling.chem_charges-- + changeling.chem_charges -= 5 remove_changeling_powers() - visible_message("[src] transforms!") - changeling.geneticdamage = 30 + changeling.geneticdamage = 3 src << "Our genes cry out!" var/mob/living/carbon/monkey/O = monkeyize(TR_KEEPITEMS | TR_HASHNAME | TR_KEEPIMPLANTS | TR_KEEPDAMAGE | TR_KEEPSE | TR_KEEPSRC) O.make_changeling(1) - O.verbs += /mob/living/carbon/proc/changeling_lesser_transform + O.verbs += /mob/living/carbon/proc/changeling_human_form feedback_add_details("changeling_powers","LF") . = 1 del(src) @@ -216,12 +182,12 @@ //Transform into a human -/mob/living/carbon/proc/changeling_lesser_transform() +/mob/living/carbon/proc/changeling_human_form() set category = "Changeling" - set name = "Transform (1)" + set name = "Human Form (5)" - var/datum/changeling/changeling = changeling_power(1,1,0) + var/datum/changeling/changeling = changeling_power(5,0,3) if(!changeling) return @@ -236,9 +202,9 @@ if(!chosen_dna) return - changeling.chem_charges-- + changeling.chem_charges -= 5 remove_changeling_powers() - visible_message("[src] transforms!") + src << "We transform our appearance." dna = chosen_dna var/mob/living/carbon/human/O = humanize((TR_KEEPITEMS | TR_KEEPIMPLANTS | TR_KEEPDAMAGE | TR_KEEPSRC),chosen_dna.real_name) @@ -253,76 +219,80 @@ //Fake our own death and fully heal. You will appear to be dead but regenerate fully after a short delay. /mob/living/carbon/proc/changeling_fakedeath() set category = "Changeling" - set name = "Regenerative Stasis (20)" + set name = "Regenerative Stasis (10)" + set desc = "Begin stasis, allowing us to regenerate." - var/datum/changeling/changeling = changeling_power(20,1,100,DEAD) + var/datum/changeling/changeling = changeling_power(10,0,100,DEAD) if(!changeling) return + if(status_flags & FAKEDEATH) return //Make sure we can't stack regenerations and such. + changeling.chem_charges -= 10 if(!stat && alert("Are we sure we wish to fake our death?",,"Yes","No") == "No")//Confirmation for living changelings if they want to fake their death return - src << "We will attempt to regenerate our form." + src << "We begin our stasis, preparing energy to arise once more." status_flags |= FAKEDEATH //play dead update_canmove() remove_changeling_powers() - emote("gasp") + emote("deathgasp") tod = worldtime2text() - spawn(rand(800,2000)) - if(changeling_power(20,1,100,DEAD)) - changeling.chem_charges -= 20 - if(stat == DEAD) - dead_mob_list -= src - living_mob_list += src - stat = CONSCIOUS - tod = null - setToxLoss(0) - setOxyLoss(0) - setCloneLoss(0) - SetParalysis(0) - SetStunned(0) - SetWeakened(0) - radiation = 0 - heal_overall_damage(getBruteLoss(), getFireLoss()) - reagents.clear_reagents() - src << "We have regenerated." - visible_message("[src] appears to wake from the dead, having healed all wounds.") + spawn(800) + src << "We have now stored enough power to regenerate." + verbs -= /mob/living/carbon/proc/changeling_fakedeath + verbs += /mob/living/carbon/proc/changeling_revive - status_flags &= ~(FAKEDEATH) - update_canmove() - make_changeling() feedback_add_details("changeling_powers","FD") return 1 - -//Boosts the range of your next sting attack by 1 -/mob/living/carbon/proc/changeling_boost_range() +//Separated from regenerative stasis, so that they can choose when to pop up rather than having no control over it. +/mob/living/carbon/proc/changeling_revive() set category = "Changeling" - set name = "Ranged Sting (10)" - set desc="Your next sting ability can be used against targets 2 squares away." + set name = "Regenerate! (10)" + set desc = "Regenerate, healing all damage from our form." - var/datum/changeling/changeling = changeling_power(10,0,100) - if(!changeling) return 0 + var/datum/changeling/changeling = changeling_power(10,0,100,DEAD) + if(!changeling) return changeling.chem_charges -= 10 - src << "Your throat adjusts to launch the sting." - changeling.sting_range = 2 - src.verbs -= /mob/living/carbon/proc/changeling_boost_range - spawn(5) src.verbs += /mob/living/carbon/proc/changeling_boost_range - feedback_add_details("changeling_powers","RS") - return 1 + if(stat == DEAD) + dead_mob_list -= src + living_mob_list += src + stat = CONSCIOUS + tod = null + setToxLoss(0) + setOxyLoss(0) + setCloneLoss(0) + SetParalysis(0) + SetStunned(0) + SetWeakened(0) + radiation = 0 + heal_overall_damage(getBruteLoss(), getFireLoss()) + reagents.clear_reagents() + src << "We have regenerated." + + status_flags &= ~(FAKEDEATH) + update_canmove() + make_changeling() + + verbs -= /mob/living/carbon/proc/changeling_revive + verbs += /mob/living/carbon/proc/changeling_fakedeath + + feedback_add_details("changeling_powers","CR") + return 1 //Recover from stuns. /mob/living/carbon/proc/changeling_unstun() set category = "Changeling" - set name = "Epinephrine Sacs (45)" - set desc = "Removes all stuns" + set name = "Epinephrine Overdose (30)" + set desc = "Removes all stuns instantly, and adds a short-term reduction in further stuns." - var/datum/changeling/changeling = changeling_power(45,0,100,UNCONSCIOUS) + var/datum/changeling/changeling = changeling_power(30,0,100,UNCONSCIOUS) if(!changeling) return 0 - changeling.chem_charges -= 45 + changeling.chem_charges -= 30 + src << "We arise." stat = 0 SetParalysis(0) SetStunned(0) @@ -330,28 +300,94 @@ lying = 0 update_canmove() - src.verbs -= /mob/living/carbon/proc/changeling_unstun - spawn(5) src.verbs += /mob/living/carbon/proc/changeling_unstun + reagents.add_reagent("synaptizine", 20) + feedback_add_details("changeling_powers","UNS") return 1 -//Speeds up chemical regeneration -/mob/proc/changeling_fastchemical() +//Increases maximum chemical storage and regeneraton. +/mob/proc/changeling_advglands() + src.mind.changeling.chem_storage += 25 src.mind.changeling.chem_recharge_rate *= 2 return 1 -//Increases macimum chemical storage -/mob/proc/changeling_engorgedglands() - src.mind.changeling.chem_storage += 25 + +//A flashy ability, good for crowd control and sewing chaos. +/mob/living/carbon/proc/changeling_shriek() + set category = "Changeling" + set name = "Resonant Shriek (25)" + set desc = "Deafen and confuse those around us." + + var/datum/changeling/changeling = changeling_power(25) + if(!changeling) return 0 + src.mind.changeling.chem_charges -= 25 + + for(var/mob/living/carbon/M in ohearers(4, usr)) + if(!M.mind || !M.mind.changeling) + M.ear_deaf += 30 + M.confused += 20 + M.make_jittery(50) + + for(var/obj/machinery/light/L in range(4, usr)) + L.on = 1 + L.broken() + + //for(var/obj/structure/window/W in range(2, usr)) //I like the window-breaking, but it makes the ability too 'loud' to fit changelings. + // W.hit(rand(40,100)) + + feedback_add_details("changeling_powers","RS") + return 1 + + +//Makes some spiderlings. Good for setting traps and causing general trouble. +/mob/living/carbon/proc/changeling_spiders() + set category = "Changeling" + set name = "Spread Infestation (40)" + set desc = "Creates spiderlings." + + var/datum/changeling/changeling = changeling_power(40, 10) + if(!changeling) return 0 + src.mind.changeling.chem_charges -= 40 + + for(var/i=0, i<3, i++) + var/obj/effect/spider/spiderling/S = new(src.loc) + if(prob(50))//nurses are obnoxious and lay more eggs, let's not have that for now. + S.grow_as = /mob/living/simple_animal/hostile/giant_spider/hunter + else + S.grow_as = /mob/living/simple_animal/hostile/giant_spider + + feedback_add_details("changeling_powers","SI") + return 1 + + +//Heals the things that the other regenerative abilities don't. +/mob/living/carbon/proc/changeling_panacea() + set category = "Changeling" + set name = "Anatomic Panacea (25)" + set desc = "Cures diseases, disabilities, toxins and radiation." + + var/datum/changeling/changeling = changeling_power(25,0,100,UNCONSCIOUS) + if(!changeling) return 0 + src.mind.changeling.chem_charges -= 25 + + src << "We cleanse impurities from our form." + reagents.add_reagent("ryetalyn", 10) + reagents.add_reagent("hyronalin", 10) + reagents.add_reagent("anti_toxin", 20) + + for(var/datum/disease/D in src.viruses) + D.cure() + + feedback_add_details("changeling_powers","AP") return 1 //Prevents AIs tracking you but makes you easily detectable to the human-eye. /mob/living/carbon/proc/changeling_digitalcamo() set category = "Changeling" - set name = "Toggle Digital Camoflague" - set desc = "The AI can no longer track us, but we will look different if examined. Has a constant cost while active." + set name = "Toggle Digital Camouflage" + set desc = "The AI can no longer track us, but we will look different if examined." var/datum/changeling/changeling = changeling_power() if(!changeling) return 0 @@ -360,42 +396,32 @@ else src << "We distort our form to prevent AI-tracking." digitalcamo = !digitalcamo - spawn(0) - while(src && digitalcamo && mind && mind.changeling) - mind.changeling.chem_charges = max(mind.changeling.chem_charges - 1, 0) - sleep(40) - - src.verbs -= /mob/living/carbon/proc/changeling_digitalcamo - spawn(5) src.verbs += /mob/living/carbon/proc/changeling_digitalcamo feedback_add_details("changeling_powers","CAM") return 1 //Starts healing you every second for 10 seconds. Can be used whilst unconscious. -/mob/living/carbon/proc/changeling_rapidregen() +/mob/living/carbon/proc/changeling_fleshmend() set category = "Changeling" - set name = "Rapid Regeneration (30)" + set name = "Fleshmend (30)" set desc = "Begins rapidly regenerating. Does not effect stuns or chemicals." var/datum/changeling/changeling = changeling_power(30,0,100,UNCONSCIOUS) if(!changeling) return 0 src.mind.changeling.chem_charges -= 30 + src << "We begin to heal rapidly." spawn(0) for(var/i = 0, i<10,i++) adjustBruteLoss(-10) - adjustToxLoss(-10) adjustOxyLoss(-10) adjustFireLoss(-10) sleep(10) - src.verbs -= /mob/living/carbon/proc/changeling_rapidregen - spawn(5) src.verbs += /mob/living/carbon/proc/changeling_rapidregen feedback_add_details("changeling_powers","RR") return 1 // HIVE MIND UPLOAD/DOWNLOAD DNA - var/list/datum/dna/hivemind_bank = list() /mob/living/carbon/proc/changeling_hiveupload() @@ -403,7 +429,7 @@ var/list/datum/dna/hivemind_bank = list() set name = "Hive Channel (10)" set desc = "Allows you to channel DNA in the airwaves to allow other changelings to absorb it." - var/datum/changeling/changeling = changeling_power(10,1) + var/datum/changeling/changeling = changeling_power(10) if(!changeling) return var/list/names = list() @@ -433,7 +459,7 @@ var/list/datum/dna/hivemind_bank = list() set name = "Hive Absorb (20)" set desc = "Allows you to absorb DNA that is being channeled in the airwaves." - var/datum/changeling/changeling = changeling_power(20,1) + var/datum/changeling/changeling = changeling_power(20) if(!changeling) return var/list/names = list() @@ -451,14 +477,15 @@ var/list/datum/dna/hivemind_bank = list() if(!chosen_dna) return - changeling.chem_charges -= 20 - changeling.absorbed_dna += chosen_dna - src << "We absorb the DNA of [S] from the air." - feedback_add_details("changeling_powers","HD") + if(changeling.can_absorb_dna(null, usr)) + changeling.chem_charges -= 20 + changeling.shuffle_dna() + changeling.absorbed_dna |= chosen_dna + src << "We absorb the DNA of [S] from the air." + feedback_add_details("changeling_powers","HD") return 1 // Fake Voice - /mob/living/carbon/proc/changeling_mimicvoice() set category = "Changeling" set name = "Mimic Voice" @@ -490,6 +517,9 @@ var/list/datum/dna/hivemind_bank = list() sleep(40) if(src && src.mind && src.mind.changeling) src.mind.changeling.mimicing = "" + + + ////////// //STINGS// //They get a pretty header because there's just so fucking many of them ;_; ////////// @@ -517,9 +547,8 @@ var/list/datum/dna/hivemind_bank = list() if(!changeling_power(required_chems)) return changeling.chem_charges -= required_chems - changeling.sting_range = 1 verbs -= verb_path - spawn(10) verbs += verb_path + spawn(5) verbs += verb_path src << "We stealthily sting [T]." if(!T.mind || !T.mind.changeling) return T //T will be affected by the sting @@ -527,73 +556,10 @@ var/list/datum/dna/hivemind_bank = list() return -/mob/living/carbon/proc/changeling_lsdsting() - set category = "Changeling" - set name = "Hallucination Sting (15)" - set desc = "Causes terror in the target." - - var/mob/living/carbon/T = changeling_sting(15,/mob/living/carbon/proc/changeling_lsdsting) - if(!T) return 0 - spawn(rand(300,600)) - if(T) T.hallucination += 400 - feedback_add_details("changeling_powers","HS") - return 1 - -/mob/living/carbon/proc/changeling_silence_sting() - set category = "Changeling" - set name = "Silence sting (10)" - set desc="Sting target" - - var/mob/living/carbon/T = changeling_sting(10,/mob/living/carbon/proc/changeling_silence_sting) - if(!T) return 0 - T.silent += 30 - feedback_add_details("changeling_powers","SS") - return 1 - -/mob/living/carbon/proc/changeling_blind_sting() - set category = "Changeling" - set name = "Blind sting (20)" - set desc="Sting target" - - var/mob/living/carbon/T = changeling_sting(20,/mob/living/carbon/proc/changeling_blind_sting) - if(!T) return 0 - T << "Your eyes burn horrificly!" - T.disabilities |= NEARSIGHTED - spawn(300) T.disabilities &= ~NEARSIGHTED - T.eye_blind = 10 - T.eye_blurry = 20 - feedback_add_details("changeling_powers","BS") - return 1 - -/mob/living/carbon/proc/changeling_deaf_sting() - set category = "Changeling" - set name = "Deaf sting (5)" - set desc="Sting target:" - - var/mob/living/carbon/T = changeling_sting(5,/mob/living/carbon/proc/changeling_deaf_sting) - if(!T) return 0 - T << "Your ears pop and begin ringing loudly!" - T.sdisabilities |= DEAF - spawn(300) T.sdisabilities &= ~DEAF - feedback_add_details("changeling_powers","DS") - return 1 - -/mob/living/carbon/proc/changeling_paralysis_sting() - set category = "Changeling" - set name = "Paralysis sting (30)" - set desc="Sting target" - - var/mob/living/carbon/T = changeling_sting(30,/mob/living/carbon/proc/changeling_paralysis_sting) - if(!T) return 0 - T << "Your muscles begin to painfully tighten." - T.Weaken(20) - feedback_add_details("changeling_powers","PS") - return 1 - /mob/living/carbon/proc/changeling_transformation_sting() set category = "Changeling" - set name = "Transformation sting (40)" - set desc="Sting target" + set name = "Transformation Sting (40)" + set desc= "Transform the target to one of our stored DNAs" var/datum/changeling/changeling = changeling_power(40) if(!changeling) return 0 @@ -614,7 +580,6 @@ var/list/datum/dna/hivemind_bank = list() if((HUSK in T.mutations) || !check_dna_integrity(T)) src << "Our sting appears ineffective against its DNA." return 0 - T.visible_message("[T] transforms!") T.dna = chosen_dna T.real_name = chosen_dna.real_name updateappearance(T) @@ -622,24 +587,10 @@ var/list/datum/dna/hivemind_bank = list() feedback_add_details("changeling_powers","TS") return 1 -/mob/living/carbon/proc/changeling_DEATHsting() - set category = "Changeling" - set name = "Death Sting (40)" - set desc = "Causes spasms onto death." - - var/mob/living/carbon/T = changeling_sting(40,/mob/living/carbon/proc/changeling_DEATHsting) - if(!T) return 0 - T << "You feel a small prick and your chest becomes tight." - T.silent = 10 - T.Paralyse(10) - T.make_jittery(1000) - if(T.reagents) T.reagents.add_reagent("lexorin", 40) - feedback_add_details("changeling_powers","DTHS") - return 1 /mob/living/carbon/proc/changeling_extract_dna_sting() set category = "Changeling" - set name = "Extract DNA Sting (40)" + set name = "Extract DNA Sting (25)" set desc="Stealthily sting a target to extract their DNA." var/datum/changeling/changeling = null @@ -648,11 +599,69 @@ var/list/datum/dna/hivemind_bank = list() if(!changeling) return 0 - var/mob/living/carbon/T = changeling_sting(40, /mob/living/carbon/proc/changeling_extract_dna_sting) + var/mob/living/carbon/T = changeling_sting(25, /mob/living/carbon/proc/changeling_extract_dna_sting) if(!T) return 0 - T.dna.real_name = T.real_name - changeling.absorbed_dna |= T.dna + if(changeling.can_absorb_dna(T, usr)) + changeling.absorb_dna(T, usr) + else//If the sting fails, give the guy most of his chems back. + changeling.chem_charges += 20 feedback_add_details("changeling_powers","ED") return 1 + + +/mob/living/carbon/proc/changeling_mute_sting() + set category = "Changeling" + set name = "Mute sting (20)" + set desc= "Temporarily mutes the target." + + var/mob/living/carbon/T = changeling_sting(20,/mob/living/carbon/proc/changeling_mute_sting) + if(!T) return 0 + T.silent += 30 + feedback_add_details("changeling_powers","MS") + return 1 + + +/mob/living/carbon/proc/changeling_blind_sting() + set category = "Changeling" + set name = "Blind Sting (25)" + set desc= "Temporarily blinds the target." + + var/mob/living/carbon/T = changeling_sting(25,/mob/living/carbon/proc/changeling_blind_sting) + if(!T) return 0 + T << "Your eyes burn horrifically!" + T.disabilities |= NEARSIGHTED + T.eye_blind = 20 + T.eye_blurry = 40 + feedback_add_details("changeling_powers","BS") + return 1 + + +/mob/living/carbon/proc/changeling_lsd_sting() + set category = "Changeling" + set name = "Hallucination Sting (5)" + set desc = "Causes terror in the target." + + var/mob/living/carbon/T = changeling_sting(5,/mob/living/carbon/proc/changeling_lsd_sting) + if(!T) return 0 + spawn(rand(300,600)) + if(T) T.hallucination += 400 + feedback_add_details("changeling_powers","HS") + return 1 + + +/mob/living/carbon/proc/changeling_cryo_sting() + set category = "Changeling" + set name = "Cryogenic Sting (15)" + set desc = "Cools the target, slowing them." + + var/mob/living/carbon/T = changeling_sting(15,/mob/living/carbon/proc/changeling_cryo_sting) + if(!T) return 0 + + if(T.reagents) + T.reagents.add_reagent("frostoil", 30) + T.reagents.add_reagent("ice", 30) + + feedback_add_details("changeling_powers","CS") + return 1 \ No newline at end of file diff --git a/code/game/gamemodes/changeling/modularchangling.dm b/code/game/gamemodes/changeling/modularchangling.dm index ec15b284143..6525099209e 100644 --- a/code/game/gamemodes/changeling/modularchangling.dm +++ b/code/game/gamemodes/changeling/modularchangling.dm @@ -15,10 +15,18 @@ var/list/powerinstances /datum/power/changeling/absorb_dna name = "Absorb DNA" - desc = "Permits us to syphon the DNA from a human. They become one with us, and we become stronger." + desc = "Permits us to siphon the DNA from a human. They become one with us, and the new energy lets us change our abilities." genomecost = 0 verbpath = /mob/living/carbon/proc/changeling_absorb_dna +/datum/power/changeling/extractdna + name = "Extract DNA Strand" + desc = "We stealthily sting a target and extract the DNA from them." + helptext = "Will give you the DNA of your target, allowing you to transform into them." + genomecost = 0 + allowduringlesserform = 1 + verbpath = /mob/living/carbon/proc/changeling_extract_dna_sting + /datum/power/changeling/transform name = "Transform" desc = "We take on the appearance and voice of one we have absorbed." @@ -28,18 +36,18 @@ var/list/powerinstances /datum/power/changeling/fakedeath name = "Regenerative Stasis" desc = "We become weakened to a death-like state, where we will rise again from death." - helptext = "Can be used before or after death. Duration varies greatly." + helptext = "Can be used before or after death. Duration varies greatly. Can be used in lesser form." genomecost = 0 allowduringlesserform = 1 verbpath = /mob/living/carbon/proc/changeling_fakedeath // Hivemind - /datum/power/changeling/hive_upload name = "Hive Channel" desc = "We can channel a DNA into the airwaves, allowing our fellow changelings to absorb it and transform into it as if they acquired the DNA themselves." helptext = "Allows other changelings to absorb the DNA you channel from the airwaves. Will not help them towards their absorb objectives." genomecost = 0 + allowduringlesserform = 1 verbpath = /mob/living/carbon/proc/changeling_hiveupload /datum/power/changeling/hive_download @@ -47,136 +55,118 @@ var/list/powerinstances desc = "We can absorb a single DNA from the airwaves, allowing us to use more disguises with help from our fellow changelings." helptext = "Allows you to absorb a single DNA and use it. Does not count towards your absorb objective." genomecost = 0 + allowduringlesserform = 1 verbpath = /mob/living/carbon/proc/changeling_hivedownload /datum/power/changeling/lesser_form name = "Lesser Form" - desc = "We debase ourselves and become lesser. We become a monkey." + desc = "We debase ourselves and become lesser. We become a monkey." genomecost = 1 verbpath = /mob/living/carbon/proc/changeling_lesser_form -/datum/power/changeling/deaf_sting - name = "Deaf Sting" - desc = "We silently sting a human, completely deafening them for a short time." - genomecost = 1 - allowduringlesserform = 1 - verbpath = /mob/living/carbon/proc/changeling_deaf_sting - -/datum/power/changeling/blind_sting - name = "Blind Sting" - desc = "We silently sting a human, completely blinding them for a short time." - genomecost = 2 - allowduringlesserform = 1 - verbpath = /mob/living/carbon/proc/changeling_blind_sting - -/datum/power/changeling/silence_sting - name = "Silence Sting" - desc = "We silently sting a human, completely silencing them for a short time." - helptext = "Does not provide a warning to a victim that they have been stung, until they try to speak and cannot." - genomecost = 2 - allowduringlesserform = 1 - verbpath = /mob/living/carbon/proc/changeling_silence_sting - /datum/power/changeling/mimicvoice name = "Mimic Voice" desc = "We shape our vocal glands to sound like a desired voice." helptext = "Will turn your voice into the name that you enter. We must constantly expend chemicals to maintain our form like this" - genomecost = 3 + genomecost = 1 verbpath = /mob/living/carbon/proc/changeling_mimicvoice -/datum/power/changeling/extractdna - name = "Extract DNA" - desc = "We stealthily sting a target and extract the DNA from them." - helptext = "Will give you the DNA of your target, allowing you to transform into them. Does not count towards absorb objectives." - genomecost = 4 - allowduringlesserform = 1 - verbpath = /mob/living/carbon/proc/changeling_extract_dna_sting - /datum/power/changeling/transformation_sting name = "Transformation Sting" desc = "We silently sting a human, injecting a retrovirus that forces them to transform into another." helptext = "Does not provide a warning to others. The victim will transform much like a changeling would." - genomecost = 3 + genomecost = 1 verbpath = /mob/living/carbon/proc/changeling_transformation_sting -/datum/power/changeling/paralysis_sting - name = "Paralysis Sting" - desc = "We silently sting a human, paralyzing them for a short time." - genomecost = 3 - verbpath = /mob/living/carbon/proc/changeling_paralysis_sting - -/datum/power/changeling/LSDSting - name = "Hallucination Sting" - desc = "We evolve the ability to sting a target with a powerful hallucinogenic chemical." - helptext = "The target does not notice they have been stung. The effect occurs after 30 to 60 seconds." - genomecost = 3 - verbpath = /mob/living/carbon/proc/changeling_lsdsting - -/datum/power/changeling/DeathSting - name = "Death Sting" - desc = "We silently sting a human, filling him with potent chemicals. His rapid death is all but assured." - genomecost = 10 - verbpath = /mob/living/carbon/proc/changeling_DEATHsting - -/datum/power/changeling/boost_range - name = "Boost Range" - desc = "We evolve the ability to shoot our stingers at humans, with some preperation." - genomecost = 2 - allowduringlesserform = 1 - verbpath = /mob/living/carbon/proc/changeling_boost_range - /datum/power/changeling/Epinephrine - name = "Epinephrine sacs" + name = "Epinephrine Sacs" desc = "We evolve additional sacs of adrenaline throughout our body." - helptext = "Gives the ability to instantly recover from stuns. High chemical cost." - genomecost = 4 + helptext = "Removes all stuns instantly, and adds a short-term reduction in further stuns. Can be used while unconscious." + genomecost = 1 verbpath = /mob/living/carbon/proc/changeling_unstun -/datum/power/changeling/ChemicalSynth - name = "Rapid Chemical-Synthesis" - desc = "We evolve new pathways for producing our necessary chemicals, permitting us to naturally create them faster." - helptext = "Doubles the rate at which we naturally recharge chemicals." - genomecost = 4 - isVerb = 0 - verbpath = /mob/proc/changeling_fastchemical -/* -/datum/power/changeling/AdvChemicalSynth - name = "Advanced Chemical-Synthesis" - desc = "We evolve new pathways for producing our necessary chemicals, permitting us to naturally create them faster." - helptext = "Doubles the rate at which we naturally recharge chemicals." - genomecost = 8 - isVerb = 0 - verbpath = /mob/living/carbon/proc/changeling_fastchemical -*/ /datum/power/changeling/EngorgedGlands name = "Engorged Chemical Glands" desc = "Our chemical glands swell, permitting us to store more chemicals inside of them." - helptext = "Allows us to store an extra 25 units of chemicals." - genomecost = 4 + helptext = "Allows us to store an extra 25 units of chemicals, and doubles production rate." + genomecost = 1 isVerb = 0 - verbpath = /mob/proc/changeling_engorgedglands + verbpath = /mob/proc/changeling_advglands -/datum/power/changeling/DigitalCamoflague - name = "Digital Camoflauge" - desc = "We evolve the ability to distort our form and proprtions, defeating common altgorthms used to detect lifeforms on cameras." - helptext = "We cannot be tracked by camera while using this skill. However, humans looking at us will find us.. uncanny. We must constantly expend chemicals to maintain our form like this." - genomecost = 3 +/datum/power/changeling/DigitalCamouflage + name = "Digital Camouflage" + desc = "We evolve the ability to distort our form and proprotions, defeating common altgorthms used to detect lifeforms on cameras." + helptext = "We cannot be tracked by camera while using this skill. However, humans looking at us will find us... uncanny." + genomecost = 1 allowduringlesserform = 1 verbpath = /mob/living/carbon/proc/changeling_digitalcamo -/datum/power/changeling/rapidregeneration - name = "Rapid Regeneration" - desc = "We evolve the ability to rapidly regenerate, negating the need for stasis." - helptext = "Heals a moderate amount of damage every tick." - genomecost = 8 - verbpath = /mob/living/carbon/proc/changeling_rapidregen +/datum/power/changeling/fleshmend + name = "Fleshmend" + desc = "We evolve the ability to rapidly regenerate, restoring the health of the body we use." + helptext = "Heals a moderate amount of damage every tick. Can be used while unconscious." + genomecost = 1 + verbpath = /mob/living/carbon/proc/changeling_fleshmend +/datum/power/changeling/panacea + name = "Anatomic Panacea" + desc = "Expels impurifications from our form; curing diseases, genetic disabilities, and removing toxins and radiation." + helptext = "Can be used while unconscious." + genomecost = 1 + verbpath = /mob/living/carbon/proc/changeling_panacea + +/datum/power/changeling/shriek + name = "Resonant Shriek" + desc = "Our lungs and vocal chords shift, allowing us to briefly emit a noise that deafens and confuses humans." + helptext = "The high-frequency sounds cannot be heard by humans, but will blow out lights nearby." + genomecost = 1 + verbpath = /mob/living/carbon/proc/changeling_shriek + +/datum/power/changeling/spiders + name = "Spread Infestation" + desc = "Our form divides, creating arachnids which will grow into deadly beasts." + helptext = "The spiders are thoughtless creatures, and may attack their creators when fully grown. Requires 10 DNA absorptions." + genomecost = 1 + allowduringlesserform = 1 + verbpath = /mob/living/carbon/proc/changeling_spiders + +/datum/power/changeling/lsd_sting + name = "Hallucination Sting" + desc = "We evolve the ability to sting a target with a powerful hallucinogenic chemical." + helptext = "The target does not notice they have been stung. The effect occurs after 30 to 60 seconds." + genomecost = 1 + allowduringlesserform = 1 + verbpath = /mob/living/carbon/proc/changeling_lsd_sting + +/datum/power/changeling/blind_sting + name = "Blind Sting" + desc = "We silently sting a human, completely blinding them for a short time." + genomecost = 1 + allowduringlesserform = 1 + verbpath = /mob/living/carbon/proc/changeling_blind_sting + +/datum/power/changeling/cryo_sting + name = "Cryogenic Sting" + desc = "We silently sting a human with a cocktail of chemicals, slowing their metabolism." + helptext = "Does not provide a warning to a victim, though they will likely realize they are suddenly freezing." + genomecost = 1 + allowduringlesserform = 1 + verbpath = /mob/living/carbon/proc/changeling_cryo_sting + +/datum/power/changeling/mute_sting + name = "Mute Sting" + desc = "We silently sting a human, completely silencing them for a short time." + helptext = "Does not provide a warning to a victim that they have been stung, until they try to speak and cannot." + genomecost = 1 + allowduringlesserform = 1 + verbpath = /mob/living/carbon/proc/changeling_mute_sting // Modularchangling, totally stolen from the new player panel. YAYY /datum/changeling/proc/EvolutionMenu()//The new one + set name = "-Evolution Menu-"//Dashes are so it's listed before all the other abilities. set category = "Changeling" - set desc = "Level up!" + set desc = "Choose our method of subjugation." if(!usr || !usr.mind || !usr.mind.changeling) return src = usr.mind.changeling @@ -372,10 +362,11 @@ var/list/powerinstances @@ -397,13 +388,24 @@ var/list/powerinstances for(var/datum/power/changeling/P in powerinstances) var/ownsthis = 0 + if(P.genomecost == 0) //Let's skip the crap we start with. Keeps the evolution menu uncluttered. + continue + if(P in purchasedpowers) ownsthis = 1 - var/color = "#e6e6e6" - if(i%2 == 0) - color = "#f2f2f2" + var/color + if(ownsthis) + if(i%2 == 0) + color = "#d8ebd8" + else + color = "#c3dec3" + else + if(i%2 == 0) + color = "#f2f2f2" + else + color = "#e6e6e6" dat += {" @@ -414,7 +416,7 @@ var/list/powerinstances - Evolve [P] - Cost: [ownsthis ? "Purchased" : P.genomecost] + Evolve [P][ownsthis ? " - Purchased" : ((P.genomecost > 1) ? " - Cost: [P.genomecost]" : "")]
@@ -437,7 +439,7 @@ var/list/powerinstances "} - usr << browse(dat, "window=powers;size=900x480") + usr << browse(dat, "window=powers;size=600x700")//900x480 /datum/changeling/Topic(href, href_list) @@ -452,42 +454,81 @@ var/list/powerinstances purchasePower(M, href_list["P"]) call(/datum/changeling/proc/EvolutionMenu)() + if(href_list["readapt"]) + var/datum/mind/M = usr.mind + if(!istype(M)) + return + lingRespec(M) + call(/datum/changeling/proc/EvolutionMenu)() + return +///// -/datum/changeling/proc/purchasePower(var/datum/mind/M, var/Pname, var/remake_verbs = 1) +/datum/changeling/proc/purchasePower(var/datum/mind/M, var/pname, var/remake_verbs = 1) if(!M || !M.changeling || !istype(M.current, /mob/living/carbon)) return var/mob/living/carbon/C = M.current - var/datum/power/changeling/Thepower = Pname - + var/datum/power/changeling/thepower = pname for (var/datum/power/changeling/P in powerinstances) - //world << "[P] - [Pname] = [P.name == Pname ? "True" : "False"]" - if(P.name == Pname) - Thepower = P + if(P.name == pname) + thepower = P break - - if(Thepower == null) - C << "This is awkward. Changeling power purchase failed, please report this bug to a coder!" + if(thepower == null) + C << "This is awkward. Changeling power purchase failed, please report this bug to a coder!" return - if(Thepower in purchasedpowers) + if(thepower in purchasedpowers) C << "We have already evolved this ability!" return - - if(geneticpoints < Thepower.genomecost) - C << "We cannot evolve this... yet. We must acquire more DNA." + if(geneticpoints < thepower.genomecost) + C << "We have reached our capacity for abilities." return - geneticpoints -= Thepower.genomecost + if(C.status_flags & FAKEDEATH)//To avoid potential exploits by buying new powers while in stasis, which clears your verblist. + C << "We lack the energy to evolve new abilities right now." + return - purchasedpowers += Thepower + geneticpoints -= thepower.genomecost - if(!Thepower.isVerb && Thepower.verbpath) - call(C, Thepower.verbpath)() + purchasedpowers += thepower + + if(!thepower.isVerb && thepower.verbpath) + call(C, thepower.verbpath)() else if(remake_verbs) C.make_changeling() +///// + +/datum/changeling/proc/lingRespec(var/datum/mind/M) + if(!M || !M.changeling || !istype(M.current, /mob/living/carbon)) + return + + if(canrespec) + usr << "We have removed our evolutions from this form, and are now ready to readapt." + + var/mob/living/carbon/C = M.current + + C.remove_changeling_powers()//Revokes our verb powers. + clearlist(purchasedpowers) + + + //Resets our stats, to account for purchased passives. + C.digitalcamo = 0 + geneticpoints = initial(geneticpoints) + sting_range = initial(sting_range) + chem_storage = initial(chem_storage) + chem_recharge_rate = initial(chem_recharge_rate) + chem_charges = min(chem_charges, chem_storage) + mimicing = "" + + canrespec = 0 + + C.make_changeling()//Remake our verbs; rebuys the 0 cost skills. + else + usr << "You lack the power to readapt your evolutions!" + + return 1 \ No newline at end of file diff --git a/code/game/gamemodes/cult/cult.dm b/code/game/gamemodes/cult/cult.dm index d5689da140d..2028b11f5e1 100644 --- a/code/game/gamemodes/cult/cult.dm +++ b/code/game/gamemodes/cult/cult.dm @@ -34,6 +34,7 @@ var/const/waittime_h = 1800 //upper bound on time before intercept arrives (in tenths of seconds) var/list/startwords = list("blood","join","self","hell") + var/list/secondwords = list("travel","see","tech","destroy", "other", "hide") var/list/objectives = list() @@ -94,6 +95,7 @@ for(var/datum/mind/cult_mind in cult) equip_cultist(cult_mind.current) grant_runeword(cult_mind.current) + grant_secondword(cult_mind.current) update_cult_icons_added(cult_mind) cult_mind.current << "\blue You are a member of the cult!" memoize_cult_objectives(cult_mind) @@ -149,6 +151,12 @@ mob.update_icons() return 1 +/datum/game_mode/cult/proc/grant_secondword(mob/living/carbon/human/cult_mob, var/word) + if (!word) + if(secondwords.len > 0) + word=pick(secondwords) + secondwords -= word + grant_runeword(cult_mob,word) /datum/game_mode/cult/grant_runeword(mob/living/carbon/human/cult_mob, var/word) if (!word) @@ -189,7 +197,7 @@ // wordexp = "[wordfree] is free..." if("hide") wordexp = "[wordhide] is hide..." - cult_mob << "\red You remember one thing from the dark teachings of your master... [wordexp]" + cult_mob << "\red [pick("You remember something from the dark teachings of your master","You hear a dark voice on the wind","Black blood oozes into your vision and forms into symbols","You have a vision of a [pick("crow","raven","vulture","parrot")] it squawks","You catch a brief glimmer of the otherside")]... [wordexp]" cult_mob.mind.store_memory("You remember that [wordexp]", 0, 0) diff --git a/code/game/gamemodes/cult/talisman.dm b/code/game/gamemodes/cult/talisman.dm index ee42ee6d391..a343fa47974 100644 --- a/code/game/gamemodes/cult/talisman.dm +++ b/code/game/gamemodes/cult/talisman.dm @@ -38,7 +38,7 @@ return if("supply") supply() - user.take_organ_damage(5, 0) +// user.take_organ_damage(5, 0) if(src && src.imbue!="supply" && src.imbue!="runestun") if(delete) user.drop_item(src) diff --git a/code/game/gamemodes/malfunction/Malf_Modules.dm b/code/game/gamemodes/malfunction/Malf_Modules.dm index ef39b96db8d..f2d3aa05399 100644 --- a/code/game/gamemodes/malfunction/Malf_Modules.dm +++ b/code/game/gamemodes/malfunction/Malf_Modules.dm @@ -20,6 +20,10 @@ rcd light flash thingy on matter drain var/mod_pick_name var/description = "" var/engaged = 0 + var/cost = 5 + var/one_time = 0 + + var/power_type /datum/AI_Module/large/ @@ -32,54 +36,72 @@ rcd light flash thingy on matter drain /datum/AI_Module/large/fireproof_core module_name = "Core upgrade" mod_pick_name = "coreup" + description = "An upgrade to improve core resistance, making it immune to fire and heat. This effect is permanent." + cost = 50 + one_time = 1 -/client/proc/fireproof_core() + power_type = /mob/living/silicon/ai/proc/fireproof_core + +/mob/living/silicon/ai/proc/fireproof_core() set category = "Malfunction" set name = "Fireproof Core" for(var/mob/living/silicon/ai/ai in player_list) ai.fire_res_on_core = 1 - usr.verbs -= /client/proc/fireproof_core - usr << "\red Core fireproofed." + src.verbs -= /mob/living/silicon/ai/proc/fireproof_core + src << "\red Core fireproofed." /datum/AI_Module/large/upgrade_turrets module_name = "AI Turret upgrade" mod_pick_name = "turret" + description = "Improves the firing speed and health of all AI turrets. This effect is permanent." + cost = 50 + one_time = 1 -/client/proc/upgrade_turrets() + power_type = /mob/living/silicon/ai/proc/upgrade_turrets + +/mob/living/silicon/ai/proc/upgrade_turrets() set category = "Malfunction" set name = "Upgrade Turrets" - usr.verbs -= /client/proc/upgrade_turrets - for(var/obj/machinery/turret/turret in player_list) + src.verbs -= /mob/living/silicon/ai/proc/upgrade_turrets + for(var/obj/machinery/turret/turret in machines) turret.health += 30 turret.shot_delay = 20 /datum/AI_Module/large/disable_rcd module_name = "RCD disable" mod_pick_name = "rcd" + description = "Send a specialised pulse to break all RCD devices on the station." + cost = 50 -/client/proc/disable_rcd() + power_type = /mob/living/silicon/ai/proc/disable_rcd + +/mob/living/silicon/ai/proc/disable_rcd() set category = "Malfunction" set name = "Disable RCDs" - for(var/datum/AI_Module/large/disable_rcd/rcdmod in usr:current_modules) + for(var/datum/AI_Module/large/disable_rcd/rcdmod in current_modules) if(rcdmod.uses > 0) rcdmod.uses -- for(var/obj/item/weapon/rcd/rcd in world) rcd.disabled = 1 for(var/obj/item/mecha_parts/mecha_equipment/tool/rcd/rcd in world) rcd.disabled = 1 - usr << "RCD-disabling pulse emitted." - else usr << "Out of uses." + src << "RCD-disabling pulse emitted." + else src << "Out of uses." /datum/AI_Module/small/overload_machine module_name = "Machine overload" mod_pick_name = "overload" + description = "Overloads an electrical machine, causing a small explosion. 2 uses." uses = 2 + cost = 15 -/client/proc/overload_machine(obj/machinery/M as obj in world) + power_type = /mob/living/silicon/ai/proc/overload_machine + +/mob/living/silicon/ai/proc/overload_machine(obj/machinery/M as obj in world) set name = "Overload Machine" set category = "Malfunction" if (istype(M, /obj/machinery)) - for(var/datum/AI_Module/small/overload_machine/overload in usr:current_modules) + for(var/datum/AI_Module/small/overload_machine/overload in current_modules) if(overload.uses > 0) overload.uses -- for(var/mob/V in hearers(M, null)) @@ -87,67 +109,141 @@ rcd light flash thingy on matter drain spawn(50) explosion(get_turf(M), 0,1,1,0) del(M) - else usr << "Out of uses." - else usr << "That's not a machine." + else src << "Out of uses." + else src << "That's not a machine." + +/* + +/datum/AI_Module/large/place_cyborg_transformer + module_name = "Robotic Factory (Removes Shunting)" + mod_pick_name = "cyborgtransformer" + description = "Build a machine anywhere, using expensive nanomachines, that can convert a living human into a loyal cyborg slave when placed inside." + cost = 100 + + power_type = /mob/living/silicon/ai/proc/place_transformer + +/mob/living/silicon/ai/proc/place_transformer() + set name = "Place Robotic Factory" + set category = "Malfunction" + + if(!eyeobj) + return + + if(!isturf(src.loc)) // AI must be in it's core. + return + + var/datum/AI_Module/large/place_cyborg_transformer/PCT = locate() in src.current_modules + if(!PCT) + return + + if(PCT.uses < 1) + src << "Out of uses." + return + + var/sure = alert(src, "Make sure the room it is in is big enough and that there is a 1x3 area for the machine. Are you sure you want to place the machine here?", "Are you sure?", "Yes", "No") + if(sure != "Yes") + return + + // Make sure there is enough room. + var/turf/middle = get_turf(eyeobj.loc) + var/list/turfs = list(middle, locate(middle.x - 1, middle.y, middle.z), locate(middle.x + 1, middle.y, middle.z)) + + var/alert_msg = "There isn't enough room. Make sure you are placing the machine in a clear area and on a floor." + + for(var/T in turfs) + + // Make sure the turfs are clear and the correct type. + if(!istype(T, /turf/simulated/floor)) + alert(src, alert_msg) + return + + var/turf/simulated/floor/F = T + for(var/atom/movable/AM in F.contents) + if(AM.density) + alert(src, alert_msg) + return + + // All clear, place the transformer + new /obj/machinery/transformer/conveyor(middle) + src.can_shunt = 0 + PCT.uses -= 1 + src << "You cannot shunt anymore." + +*/ /datum/AI_Module/small/blackout module_name = "Blackout" mod_pick_name = "blackout" + description = "Attempts to overload the lighting circuits on the station, destroying some bulbs. 3 uses." uses = 3 + cost = 15 -/client/proc/blackout() + power_type = /mob/living/silicon/ai/proc/blackout + +/mob/living/silicon/ai/proc/blackout() set category = "Malfunction" set name = "Blackout" - for(var/datum/AI_Module/small/blackout/blackout in usr:current_modules) + for(var/datum/AI_Module/small/blackout/blackout in current_modules) if(blackout.uses > 0) blackout.uses -- for(var/obj/machinery/power/apc/apc in world) if(prob(30*apc.overload)) apc.overload_lighting() else apc.overload++ - else usr << "Out of uses." + else src << "Out of uses." /datum/AI_Module/small/interhack module_name = "Hack intercept" mod_pick_name = "interhack" + description = "Hacks the status upgrade from Cent. Com, removing any information about malfunctioning electrical systems." + cost = 15 + one_time = 1 -/client/proc/interhack() + power_type = /mob/living/silicon/ai/proc/interhack + +/mob/living/silicon/ai/proc/interhack() set category = "Malfunction" set name = "Hack intercept" - usr.verbs -= /client/proc/interhack + src.verbs -= /mob/living/silicon/ai/proc/interhack ticker.mode:hack_intercept() /datum/AI_Module/small/reactivate_camera module_name = "Reactivate camera" mod_pick_name = "recam" + description = "Reactivates a currently disabled camera. 10 uses." uses = 10 + cost = 15 -/client/proc/reactivate_camera(obj/machinery/camera/C as obj in cameranet.cameras) + power_type = /mob/living/silicon/ai/proc/reactivate_camera + +/mob/living/silicon/ai/proc/reactivate_camera(obj/machinery/camera/C as obj in cameranet.cameras) set name = "Reactivate Camera" set category = "Malfunction" if (istype (C, /obj/machinery/camera)) - for(var/datum/AI_Module/small/reactivate_camera/camera in usr:current_modules) + for(var/datum/AI_Module/small/reactivate_camera/camera in current_modules) if(camera.uses > 0) if(!C.status) - C.status = !C.status + C.deactivate(src) camera.uses -- - for(var/mob/V in viewers(src, null)) - V.show_message(text("\blue You hear a quiet click.")) else - usr << "This camera is either active, or not repairable." - else usr << "Out of uses." - else usr << "That's not a camera." + src << "This camera is either active, or not repairable." + else src << "Out of uses." + else src << "That's not a camera." /datum/AI_Module/small/upgrade_camera module_name = "Upgrade Camera" mod_pick_name = "upgradecam" + description = "Upgrades a camera to have X-Ray vision, Motion and be EMP-Proof. 10 uses." uses = 10 + cost = 15 -/client/proc/upgrade_camera(obj/machinery/camera/C as obj in cameranet.cameras) + power_type = /mob/living/silicon/ai/proc/upgrade_camera + +/mob/living/silicon/ai/proc/upgrade_camera(obj/machinery/camera/C as obj in cameranet.cameras) set name = "Upgrade Camera" set category = "Malfunction" if(istype(C)) - var/datum/AI_Module/small/upgrade_camera/UC = locate(/datum/AI_Module/small/upgrade_camera) in usr:current_modules + var/datum/AI_Module/small/upgrade_camera/UC = locate(/datum/AI_Module/small/upgrade_camera) in current_modules if(UC) if(UC.uses > 0) if(C.assembly) @@ -156,7 +252,7 @@ rcd light flash thingy on matter drain if(!C.isXRay()) C.upgradeXRay() //Update what it can see. - cameranet.updateVisibility(C) + cameranet.updateVisibility(C, 0) upgraded = 1 if(!C.isEmpProof()) @@ -172,154 +268,80 @@ rcd light flash thingy on matter drain if(upgraded) UC.uses -- C.visible_message("\icon[C] *beep*") - usr << "Camera successully upgraded!" + src << "Camera successully upgraded!" else - usr << "This camera is already upgraded!" + src << "This camera is already upgraded!" else - usr << "Out of uses." + src << "Out of uses." -/datum/AI_Module/module_picker +/datum/module_picker var/temp = null var/processing_time = 100 var/list/possible_modules = list() -/datum/AI_Module/module_picker/New() - src.possible_modules += new /datum/AI_Module/large/fireproof_core - src.possible_modules += new /datum/AI_Module/large/upgrade_turrets - src.possible_modules += new /datum/AI_Module/large/disable_rcd - src.possible_modules += new /datum/AI_Module/small/overload_machine - src.possible_modules += new /datum/AI_Module/small/interhack - src.possible_modules += new /datum/AI_Module/small/blackout - src.possible_modules += new /datum/AI_Module/small/reactivate_camera - src.possible_modules += new /datum/AI_Module/small/upgrade_camera +/datum/module_picker/New() + for(var/type in typesof(/datum/AI_Module)) + var/datum/AI_Module/AM = new type + if(AM.power_type != null) + src.possible_modules += AM -/datum/AI_Module/module_picker/proc/use(user as mob) +/datum/module_picker/proc/remove_verbs(var/mob/living/silicon/ai/A) + + for(var/datum/AI_Module/AM in possible_modules) + A.verbs.Remove(AM.power_type) + + +/datum/module_picker/proc/use(user as mob) var/dat + dat = "Select use of processing time: (currently #[src.processing_time] left.)
" + dat += "
" + dat += "Install Module:
" + dat += "The number afterwards is the amount of processing time it consumes.
" + for(var/datum/AI_Module/large/module in src.possible_modules) + dat += "[module.module_name] ([module.cost])
" + for(var/datum/AI_Module/small/module in src.possible_modules) + dat += "[module.module_name] ([module.cost])
" + dat += "
" if (src.temp) - dat = "[src.temp]

Clear" - else if(src.processing_time <= 0) - dat = " No processing time is left available. No more modules are able to be chosen at this time." - else - dat = "Select use of processing time: (currently [src.processing_time] left.)
" - dat += "
" - dat += "Install Module:
" - dat += "The number afterwards is the amount of processing time it consumes.
" - for(var/datum/AI_Module/large/module in src.possible_modules) - dat += "[module.module_name] (50)
" - for(var/datum/AI_Module/small/module in src.possible_modules) - dat += "[module.module_name] (15)
" - dat += "
" - - user << browse(dat, "window=modpicker") - onclose(user, "modpicker") + dat += "[src.temp]" + var/datum/browser/popup = new(user, "modpicker", "Malf Module Menu") + popup.set_content(dat) + popup.open() return -/datum/AI_Module/module_picker/Topic(href, href_list) +/datum/module_picker/Topic(href, href_list) ..() - if (href_list["coreup"]) - var/already - for (var/datum/AI_Module/mod in usr:current_modules) - if(istype(mod, /datum/AI_Module/large/fireproof_core)) - already = 1 - if (!already) - usr.verbs += /client/proc/fireproof_core - usr:current_modules += new /datum/AI_Module/large/fireproof_core - src.temp = "An upgrade to improve core resistance, making it immune to fire and heat. This effect is permanent." - src.processing_time -= 50 - else src.temp = "This module is only needed once." - else if (href_list["turret"]) - var/already - for (var/datum/AI_Module/mod in usr:current_modules) - if(istype(mod, /datum/AI_Module/large/upgrade_turrets)) - already = 1 - if (!already) - usr.verbs += /client/proc/upgrade_turrets - usr:current_modules += new /datum/AI_Module/large/upgrade_turrets - src.temp = "Improves the firing speed and health of all AI turrets. This effect is permanent." - src.processing_time -= 50 - else src.temp = "This module is only needed once." + if(!isAI(usr)) + return + var/mob/living/silicon/ai/A = usr - else if (href_list["rcd"]) - var/already - for (var/datum/AI_Module/mod in usr:current_modules) - if(istype(mod, /datum/AI_Module/large/disable_rcd)) - mod:uses += 1 - already = 1 - if (!already) - usr:current_modules += new /datum/AI_Module/large/disable_rcd - usr.verbs += /client/proc/disable_rcd - src.temp = "Send a specialised pulse to break all RCD devices on the station." - else src.temp = "Additional use added to RCD disabler." - src.processing_time -= 50 + for(var/datum/AI_Module/AM in possible_modules) + if (href_list[AM.mod_pick_name]) - else if (href_list["overload"]) - var/already - for (var/datum/AI_Module/mod in usr:current_modules) - if(istype(mod, /datum/AI_Module/small/overload_machine)) - mod:uses += 2 - already = 1 - if (!already) - usr.verbs += /client/proc/overload_machine - usr:current_modules += new /datum/AI_Module/small/overload_machine - src.temp = "Overloads an electrical machine, causing a small explosion. 2 uses." - else src.temp = "Two additional uses added to Overload module." - src.processing_time -= 15 + // Cost check + if(AM.cost > src.processing_time) + temp = "You cannot afford this module." + break - else if (href_list["blackout"]) - var/already - for (var/datum/AI_Module/mod in usr:current_modules) - if(istype(mod, /datum/AI_Module/small/blackout)) - mod:uses += 3 - already = 1 - if (!already) - usr.verbs += /client/proc/blackout - src.temp = "Attempts to overload the lighting circuits on the station, destroying some bulbs. 3 uses." - usr:current_modules += new /datum/AI_Module/small/blackout - else src.temp = "Three additional uses added to Blackout module." - src.processing_time -= 15 + // Add new uses if we can, and it is allowed. + var/datum/AI_Module/already_AM = locate(AM.type) in A.current_modules + if(already_AM) + if(!AM.one_time) + already_AM.uses += AM.uses + src.processing_time -= AM.cost + temp = "Additional use added to [already_AM.module_name]" + break + else + temp = "This module is only needed once." + break - else if (href_list["interhack"]) - var/already - for (var/datum/AI_Module/mod in usr:current_modules) - if(istype(mod, /datum/AI_Module/small/interhack)) - already = 1 - if (!already) - usr.verbs += /client/proc/interhack - src.temp = "Hacks the status upgrade from Cent. Com, removing any information about malfunctioning electrical systems." - usr:current_modules += new /datum/AI_Module/small/interhack - src.processing_time -= 15 - else src.temp = "This module is only needed once." + // Give the power and take away the money. + A.verbs += AM.power_type + A.current_modules += new AM.type + temp = AM.description + src.processing_time -= AM.cost - else if (href_list["recam"]) - var/already - for (var/datum/AI_Module/mod in usr:current_modules) - if(istype(mod, /datum/AI_Module/small/reactivate_camera)) - mod:uses += 10 - already = 1 - if (!already) - usr.verbs += /client/proc/reactivate_camera - src.temp = "Reactivates a currently disabled camera. 10 uses." - usr:current_modules += new /datum/AI_Module/small/reactivate_camera - else src.temp = "Ten additional uses added to ReCam module." - src.processing_time -= 15 - - else if(href_list["upgradecam"]) - var/already - for (var/datum/AI_Module/mod in usr:current_modules) - if(istype(mod, /datum/AI_Module/small/upgrade_camera)) - mod:uses += 10 - already = 1 - if (!already) - usr.verbs += /client/proc/upgrade_camera - src.temp = "Upgrades a camera to have X-Ray vision, Motion and be EMP-Proof. 10 uses." - usr:current_modules += new /datum/AI_Module/small/upgrade_camera - else src.temp = "Ten additional uses added to ReCam module." - src.processing_time -= 15 - - else - if (href_list["temp"]) - src.temp = null src.use(usr) return diff --git a/code/game/gamemodes/malfunction/malfunction.dm b/code/game/gamemodes/malfunction/malfunction.dm index 3a19021f250..7cd2c260137 100644 --- a/code/game/gamemodes/malfunction/malfunction.dm +++ b/code/game/gamemodes/malfunction/malfunction.dm @@ -4,9 +4,9 @@ /datum/game_mode/malfunction name = "AI malfunction" config_tag = "malfunction" - required_players = 20 - required_enemies = 1 - recommended_enemies = 1 + required_players = 0//20 + required_enemies = 0//1 + recommended_enemies = 0//1 uplink_welcome = "Crazy AI Uplink Console:" uplink_uses = 10 @@ -52,7 +52,7 @@ return AI_mind.current.verbs += /mob/living/silicon/ai/proc/choose_modules AI_mind.current:laws = new /datum/ai_laws/malfunction - AI_mind.current:malf_picker = new /datum/AI_Module/module_picker + AI_mind.current:malf_picker = new /datum/module_picker AI_mind.current:show_laws() greet_malf(AI_mind) @@ -111,13 +111,15 @@ to_nuke_or_not_to_nuke = 1 for(var/datum/mind/AI_mind in malf_ai) - AI_mind.current << "Congratulations you have taken control of the station." - AI_mind.current << "You may decide to blow up the station. You have 60 seconds to choose." - AI_mind.current << "You should have a new verb in the Malfunction tab. If you dont - rejoin the game." - AI_mind.current.verbs += /datum/game_mode/malfunction/proc/ai_win + if(AI_mind.current) + AI_mind.current << "Congratulations you have taken control of the station." + AI_mind.current << "You may decide to blow up the station. You have 60 seconds to choose." + AI_mind.current << "You should have a new verb in the Malfunction tab. If you dont - rejoin the game." + AI_mind.current.verbs += /datum/game_mode/malfunction/proc/ai_win spawn (600) for(var/datum/mind/AI_mind in malf_ai) - AI_mind.current.verbs -= /datum/game_mode/malfunction/proc/ai_win + if(AI_mind.current) + AI_mind.current.verbs -= /datum/game_mode/malfunction/proc/ai_win to_nuke_or_not_to_nuke = 0 return diff --git a/code/game/gamemodes/nuclear/nuclearbomb.dm b/code/game/gamemodes/nuclear/nuclearbomb.dm index e3c63e3d4f6..0cd28bc76f2 100644 --- a/code/game/gamemodes/nuclear/nuclearbomb.dm +++ b/code/game/gamemodes/nuclear/nuclearbomb.dm @@ -6,7 +6,7 @@ var/bomb_set icon = 'icons/obj/stationobjs.dmi' icon_state = "nuclearbomb0" density = 1 - var/deployable = 0.0 + var/extended = 0.0 var/timeleft = 60.0 var/timing = 0.0 @@ -28,19 +28,23 @@ var/bomb_set src.timeleft-- if (src.timeleft <= 0) explode() + else + playsound(loc, 'sound/items/timer.ogg', 5, 0) for(var/mob/M in viewers(1, src)) if ((M.client && M.machine == src)) src.attack_hand(M) return /obj/machinery/nuclearbomb/attackby(obj/item/weapon/I as obj, mob/user as mob) - if (src.extended) - if (istype(I, /obj/item/weapon/disk/nuclear)) - usr.drop_item() - I.loc = src - src.auth = I - src.add_fingerprint(user) + if (istype(I, /obj/item/weapon/disk/nuclear)) + if (!src.extended) + user << "You have to deploy the bomb first." return + usr.drop_item() + I.loc = src + src.auth = I + src.add_fingerprint(user) + return ..() /obj/machinery/nuclearbomb/attack_paw(mob/user as mob) @@ -68,96 +72,84 @@ var/bomb_set dat += text("
\n>[]
\n1-2-3
\n4-5-6
\n7-8-9
\nR-0-E
\n", message, src, src, src, src, src, src, src, src, src, src, src, src) user << browse(dat, "window=nuclearbomb;size=300x400") onclose(user, "nuclearbomb") - else if (src.deployable) - src.anchored = 1 - flick("nuclearbombc", src) - src.icon_state = "nuclearbomb1" - src.extended = 1 + else + user << "You have to deploy the bomb first." return /obj/machinery/nuclearbomb/verb/make_deployable() set category = "Object" - set name = "Make Deployable" + set name = "Deploy Bomb" set src in oview(1) - if (src.deployable) - src.deployable = 0 - else - src.deployable = 1 + if (!src.extended) + src.anchored = 1 + flick("nuclearbombc", src) + src.icon_state = "nuclearbomb1" + src.extended = 1 /obj/machinery/nuclearbomb/Topic(href, href_list) - ..() - if (!usr.canmove || usr.stat || usr.restrained()) + if(..()) return - if (!ishuman(usr)) - usr << "\red You don't have the dexterity to do this!" - return 1 - if ((usr.contents.Find(src) || (in_range(src, usr) && istype(src.loc, /turf)))) - usr.set_machine(src) - if (href_list["auth"]) - if (src.auth) - src.auth.loc = src.loc - src.yes_code = 0 - src.auth = null - else - var/obj/item/I = usr.get_active_hand() - if (istype(I, /obj/item/weapon/disk/nuclear)) - usr.drop_item() - I.loc = src - src.auth = I + usr.set_machine(src) + if (href_list["auth"]) if (src.auth) - if (href_list["type"]) - if (href_list["type"] == "E") - if (src.code == src.r_code) - src.yes_code = 1 - src.code = null - else - src.code = "ERROR" + src.auth.loc = src.loc + src.yes_code = 0 + src.auth = null + else + var/obj/item/I = usr.get_active_hand() + if (istype(I, /obj/item/weapon/disk/nuclear)) + usr.drop_item() + I.loc = src + src.auth = I + if (src.auth) + if (href_list["type"]) + if (href_list["type"] == "E") + if (src.code == src.r_code) + src.yes_code = 1 + src.code = null else - if (href_list["type"] == "R") - src.yes_code = 0 - src.code = null + src.code = "ERROR" + else + if (href_list["type"] == "R") + src.yes_code = 0 + src.code = null + else + src.code += text("[]", href_list["type"]) + if (length(src.code) > 5) + src.code = "ERROR" + if (src.yes_code) + if (href_list["time"]) + var/time = text2num(href_list["time"]) + src.timeleft += time + src.timeleft = min(max(round(src.timeleft), 60), 600) + if (href_list["timer"]) + if (src.timing == -1.0) + return + if (src.safety) + usr << "\red The safety is still on." + return + src.timing = !( src.timing ) + if (src.timing) + src.icon_state = "nuclearbomb2" + if(!src.safety) + bomb_set = 1//There can still be issues with this reseting when there are multiple bombs. Not a big deal tho for Nuke/N else - src.code += text("[]", href_list["type"]) - if (length(src.code) > 5) - src.code = "ERROR" - if (src.yes_code) - if (href_list["time"]) - var/time = text2num(href_list["time"]) - src.timeleft += time - src.timeleft = min(max(round(src.timeleft), 60), 600) - if (href_list["timer"]) - if (src.timing == -1.0) - return - if (src.safety) - usr << "\red The safety is still on." - return - src.timing = !( src.timing ) - if (src.timing) - src.icon_state = "nuclearbomb2" - if(!src.safety) - bomb_set = 1//There can still be issues with this reseting when there are multiple bombs. Not a big deal tho for Nuke/N - else - bomb_set = 0 - else - src.icon_state = "nuclearbomb1" bomb_set = 0 - if (href_list["safety"]) - src.safety = !( src.safety ) - if(safety) - src.timing = 0 - bomb_set = 0 - if (href_list["anchor"]) - src.anchored = !( src.anchored ) - src.add_fingerprint(usr) - for(var/mob/M in viewers(1, src)) - if ((M.client && M.machine == src)) - src.attack_hand(M) - else - usr << browse(null, "window=nuclearbomb") - return - return - + else + src.icon_state = "nuclearbomb1" + bomb_set = 0 + if (href_list["safety"]) + src.safety = !( src.safety ) + if(safety) + src.timing = 0 + bomb_set = 0 + if (href_list["anchor"]) + src.anchored = !( src.anchored ) + src.add_fingerprint(usr) + for(var/mob/M in viewers(1, src)) + if ((M.client && M.machine == src)) + src.attack_hand(M) /obj/machinery/nuclearbomb/ex_act(severity) return diff --git a/code/game/gamemodes/objective.dm b/code/game/gamemodes/objective.dm index 765fd9e7c9c..53a5bb46224 100644 --- a/code/game/gamemodes/objective.dm +++ b/code/game/gamemodes/objective.dm @@ -77,7 +77,7 @@ datum/objective/mutiny check_completion() if(target && target.current) - if(target.current.stat == DEAD || !ishuman(target.current) || !target.current.ckey) + if(target.current.stat == DEAD || !ishuman(target.current) || !target.current.ckey || !target.current.client) return 1 var/turf/T = get_turf(target.current) if(T && (T.z != 1)) //If they leave the station they count as dead for this @@ -458,7 +458,7 @@ datum/objective/absorb n_p ++ target_amount = min(target_amount, n_p) - explanation_text = "Absorb [target_amount] compatible genomes." + explanation_text = "Extract [target_amount] compatible genomes." return target_amount check_completion() diff --git a/code/game/gamemodes/revolution/revolution.dm b/code/game/gamemodes/revolution/revolution.dm index 1bb1da6bb8c..a07bf5acf61 100644 --- a/code/game/gamemodes/revolution/revolution.dm +++ b/code/game/gamemodes/revolution/revolution.dm @@ -322,7 +322,7 @@ ////////////////////////// /datum/game_mode/revolution/proc/check_rev_victory() for(var/datum/mind/rev_mind in head_revolutionaries) - for(var/datum/objective/objective in rev_mind.objectives) + for(var/datum/objective/mutiny/objective in rev_mind.objectives) if(!(objective.check_completion())) return 0 @@ -334,7 +334,7 @@ /datum/game_mode/revolution/proc/check_heads_victory() for(var/datum/mind/rev_mind in head_revolutionaries) var/turf/T = get_turf(rev_mind.current) - if((rev_mind) && (rev_mind.current) && (rev_mind.current.stat != 2) && T && (T.z == 1)) + if((rev_mind) && (rev_mind.current) && (rev_mind.current.stat != 2) && rev_mind.current.client && T && (T.z == 1)) if(ishuman(rev_mind.current)) return 0 return 1 diff --git a/code/game/gamemodes/wizard/soulstone.dm b/code/game/gamemodes/wizard/soulstone.dm index 75aaceb45a5..e3834ae3749 100644 --- a/code/game/gamemodes/wizard/soulstone.dm +++ b/code/game/gamemodes/wizard/soulstone.dm @@ -174,7 +174,7 @@ ticker.mode.cult+=Z.mind ticker.mode.update_cult_icons_added(Z.mind) del(T) - Z << "You are playing a Juggernaut. Though slow, you can withstand extreme punishment, and rip apart enemies and walls alike." + Z << "You are playing a Juggernaut. Though slow, your shell can withstand extreme punishment and even deflect energy weapons, and rip apart enemies and walls alike." Z << "You are still bound to serve your creator, follow their orders and help them complete their goals at all costs." Z.spell_list += new /obj/effect/proc_holder/spell/aoe_turf/conjure/lesserforcewall(Z) Z.cancel_camera() @@ -206,12 +206,13 @@ ticker.mode.cult+=Z.mind ticker.mode.update_cult_icons_added(Z.mind) del(T) - Z << "You are playing an Artificer. You are incredibly weak and fragile, but you are able to construct fortifications, repair allied constructs (by clicking on them), and even create new constructs" + Z << "You are playing an Artificer. You are incredibly weak and fragile, but you are able to construct fortifications, repair allied constructs (by clicking on them), and most important of all create new constructs (Use your Artificer spell to summon a new construct shell and Summon Soulstone to create a new soulstone)." Z << "You are still bound to serve your creator, follow their orders and help them complete their goals at all costs." Z.spell_list += new /obj/effect/proc_holder/spell/aoe_turf/conjure/construct/lesser(Z) Z.spell_list += new /obj/effect/proc_holder/spell/aoe_turf/conjure/wall(Z) Z.spell_list += new /obj/effect/proc_holder/spell/aoe_turf/conjure/floor(Z) Z.spell_list += new /obj/effect/proc_holder/spell/aoe_turf/conjure/soulstone(Z) + Z.spell_list += new /obj/effect/proc_holder/spell/targeted/projectile/magic_missile/lesser(Z) Z.cancel_camera() del(C) else diff --git a/code/game/gamemodes/wizard/spellbook.dm b/code/game/gamemodes/wizard/spellbook.dm index cf018a8ad21..f82afab3fc5 100644 --- a/code/game/gamemodes/wizard/spellbook.dm +++ b/code/game/gamemodes/wizard/spellbook.dm @@ -80,6 +80,9 @@ dat += "Curse of the Horseman (15)
" dat += "This spell will curse a person to wear an unremovable horse mask (it has glue on the inside) and speak like a horse. It does not require wizard garb.
" + dat += "Flesh to Stone (60)
" + dat += "This spell will curse a person to immediately turn into an unmoving statue. The effect will eventually wear off if the statue is not destroyed.
" + dat += "Summon Guns (One time use, global spell)
" dat += "Nothing could possibly go wrong with arming a crew of lunatics just itching for an excuse to kill eachother. Just be careful not to get hit in the crossfire!
" @@ -147,7 +150,7 @@ uses-- /* */ - var/list/available_spells = list(magicmissile = "Magic Missile", fireball = "Fireball", disintegrate = "Disintegrate", disabletech = "Disable Tech", smoke = "Smoke", blind = "Blind", mindswap = "Mind Transfer", forcewall = "Forcewall", blink = "Blink", teleport = "Teleport", mutate = "Mutate", etherealjaunt = "Ethereal Jaunt", knock = "Knock", horseman = "Curse of the Horseman", summonguns = "Summon Guns", staffchange = "Staff of Change", soulstone = "Six Soul Stone Shards and the spell Artificer", armor = "Mastercrafted Armor Set", staffanimate = "Staff of Animation") + var/list/available_spells = list(magicmissile = "Magic Missile", fireball = "Fireball", disintegrate = "Disintegrate", disabletech = "Disable Tech", smoke = "Smoke", blind = "Blind", mindswap = "Mind Transfer", forcewall = "Forcewall", blink = "Blink", teleport = "Teleport", mutate = "Mutate", etherealjaunt = "Ethereal Jaunt", knock = "Knock", horseman = "Curse of the Horseman", fleshtostone = "Flesh to Stone", summonguns = "Summon Guns", staffchange = "Staff of Change", soulstone = "Six Soul Stone Shards and the spell Artificer", armor = "Mastercrafted Armor Set", staffanimate = "Staff of Animation") var/already_knows = 0 for(var/obj/effect/proc_holder/spell/aspell in H.spell_list) if(available_spells[href_list["spell_choice"]] == aspell.name) @@ -215,6 +218,10 @@ feedback_add_details("wizard_spell_learned","HH") //please do not change the abbreviation to keep data processing consistent. Add a unique id to any new spells H.spell_list += new /obj/effect/proc_holder/spell/targeted/horsemask(H) temp = "You have learned curse of the horseman." + if("fleshtostone") + feedback_add_details("wizard_spell_learned","FS") //please do not change the abbreviation to keep data processing consistent. Add a unique id to any new spells + H.spell_list += new /obj/effect/proc_holder/spell/targeted/inflict_handler/flesh_to_stone(H) + temp = "You have learned flesh to stone." if("summonguns") feedback_add_details("wizard_spell_learned","SG") //please do not change the abbreviation to keep data processing consistent. Add a unique id to any new spells H.rightandwrong() diff --git a/code/game/gamemodes/wizard/wizard.dm b/code/game/gamemodes/wizard/wizard.dm index bb33adb00c2..d629f1002bd 100644 --- a/code/game/gamemodes/wizard/wizard.dm +++ b/code/game/gamemodes/wizard/wizard.dm @@ -1,4 +1,3 @@ - /datum/game_mode var/list/datum/mind/wizards = list() @@ -169,7 +168,7 @@ wizard_mob.equip_to_slot_or_del(new /obj/item/clothing/head/wizard(wizard_mob), slot_head) if(wizard_mob.backbag == 2) wizard_mob.equip_to_slot_or_del(new /obj/item/weapon/storage/backpack(wizard_mob), slot_back) if(wizard_mob.backbag == 3) wizard_mob.equip_to_slot_or_del(new /obj/item/weapon/storage/backpack/satchel_norm(wizard_mob), slot_back) - wizard_mob.equip_to_slot_or_del(new /obj/item/weapon/storage/box(wizard_mob), slot_in_backpack) + wizard_mob.equip_to_slot_or_del(new /obj/item/weapon/storage/box/survival(wizard_mob), slot_in_backpack) // wizard_mob.equip_to_slot_or_del(new /obj/item/weapon/scrying_gem(wizard_mob), slot_l_store) For scrying gem. wizard_mob.equip_to_slot_or_del(new /obj/item/weapon/teleportation_scroll(wizard_mob), slot_r_store) wizard_mob.equip_to_slot_or_del(new /obj/item/weapon/spellbook(wizard_mob), slot_r_hand) diff --git a/code/game/machinery/Freezer.dm b/code/game/machinery/Freezer.dm index baba7988bf5..858553c02a1 100644 --- a/code/game/machinery/Freezer.dm +++ b/code/game/machinery/Freezer.dm @@ -66,20 +66,19 @@ popup.open() Topic(href, href_list) - if ((usr.contents.Find(src) || ((get_dist(src, usr) <= 1) && istype(src.loc, /turf))) || (istype(usr, /mob/living/silicon/ai))) - usr.set_machine(src) - if (href_list["start"]) - src.on = !src.on - update_icon() - if(href_list["temp"]) - var/amount = text2num(href_list["temp"]) - if(amount > 0) - src.current_temperature = min(T20C, src.current_temperature+amount) - else - src.current_temperature = max((T0C - 200), src.current_temperature+amount) + if(..()) + return + usr.set_machine(src) + if (href_list["start"]) + src.on = !src.on + update_icon() + if(href_list["temp"]) + var/amount = text2num(href_list["temp"]) + if(amount > 0) + src.current_temperature = min(T20C, src.current_temperature+amount) + else + src.current_temperature = max((T0C - 200), src.current_temperature+amount) src.updateUsrDialog() - src.add_fingerprint(usr) - return process() ..() @@ -150,6 +149,8 @@ onclose(user, "heater") Topic(href, href_list) + if(..()) + return if ((usr.contents.Find(src) || ((get_dist(src, usr) <= 1) && istype(src.loc, /turf))) || (istype(usr, /mob/living/silicon/ai))) usr.set_machine(src) if (href_list["start"]) diff --git a/code/game/machinery/ai_slipper.dm b/code/game/machinery/ai_slipper.dm index 08f138d19d5..87e4b8d6098 100644 --- a/code/game/machinery/ai_slipper.dm +++ b/code/game/machinery/ai_slipper.dm @@ -83,7 +83,8 @@ return /obj/machinery/ai_slipper/Topic(href, href_list) - ..() + if(..()) + return if (src.locked) if (!istype(usr, /mob/living/silicon)) usr << "Control panel is locked!" diff --git a/code/game/machinery/alarm.dm b/code/game/machinery/alarm.dm index cf2cfc5fb30..2bd09e00f38 100644 --- a/code/game/machinery/alarm.dm +++ b/code/game/machinery/alarm.dm @@ -1,28 +1,4 @@ //This file was auto-corrected by findeclaration.exe on 25.5.2012 20:42:31 - - -/proc/RandomAAlarmWires() - //to make this not randomize the wires, just set index to 1 and increment it in the flag for loop (after doing everything else). - var/list/AAlarmwires = list(0, 0, 0, 0, 0) - AAlarmIndexToFlag = list(0, 0, 0, 0, 0) - AAlarmIndexToWireColor = list(0, 0, 0, 0, 0) - AAlarmWireColorToIndex = list(0, 0, 0, 0, 0) - var/flagIndex = 1 - for (var/flag=1, flag<32, flag+=flag) - var/valid = 0 - while (!valid) - var/colorIndex = rand(1, 5) - if (AAlarmwires[colorIndex]==0) - valid = 1 - AAlarmwires[colorIndex] = flag - AAlarmIndexToFlag[flagIndex] = flag - AAlarmIndexToWireColor[flagIndex] = colorIndex - AAlarmWireColorToIndex[colorIndex] = flagIndex - flagIndex+=1 - return AAlarmwires - - - // A datum for dealing with threshold limit values // used in /obj/machinery/alarm /datum/tlv @@ -51,6 +27,20 @@ max1 = other.max1 max2 = other.max2 +#define AALARM_MODE_SCRUBBING 1 +#define AALARM_MODE_VENTING 2 //makes draught +#define AALARM_MODE_PANIC 3 //constantly sucks all air +#define AALARM_MODE_REPLACEMENT 4 //sucks off all air, then refill and swithes to scrubbing +#define AALARM_MODE_OFF 5 + +#define AALARM_SCREEN_MAIN 1 +#define AALARM_SCREEN_VENT 2 +#define AALARM_SCREEN_SCRUB 3 +#define AALARM_SCREEN_MODE 4 +#define AALARM_SCREEN_SENSORS 5 + +#define AALARM_REPORT_TIMEOUT 100 + /obj/machinery/alarm name = "alarm" icon = 'icons/obj/monitors.dmi' @@ -64,36 +54,19 @@ var/frequency = 1439 //var/skipprocess = 0 //Experimenting var/alarm_frequency = 1437 -#define AALARM_REPORT_TIMEOUT 100 + var/datum/radio_frequency/radio_connection var/locked = 1 + var/datum/wires/alarm/wires = null var/wiresexposed = 0 // If it's been screwdrivered open. var/aidisabled = 0 var/AAlarmwires = 31 var/shorted = 0 var/buildstage = 2 // 2 = complete, 1 = no wires, 0 = circuit gone - // Uses code from apc.dm -#define AALARM_WIRE_IDSCAN 1 //Added wires -#define AALARM_WIRE_POWER 2 -#define AALARM_WIRE_SYPHON 3 -#define AALARM_WIRE_AI_CONTROL 4 -#define AALARM_WIRE_AALARM 5 - - -#define AALARM_MODE_SCRUBBING 1 -#define AALARM_MODE_VENTING 2 //makes draught -#define AALARM_MODE_PANIC 3 //constantly sucks all air -#define AALARM_MODE_REPLACEMENT 4 //sucks off all air, then refill and swithes to scrubbing -#define AALARM_MODE_OFF 5 var/mode = AALARM_MODE_SCRUBBING -#define AALARM_SCREEN_MAIN 1 -#define AALARM_SCREEN_VENT 2 -#define AALARM_SCREEN_SCRUB 3 -#define AALARM_SCREEN_MODE 4 -#define AALARM_SCREEN_SENSORS 5 var/screen = AALARM_SCREEN_MAIN var/area_uid var/area/alarm_area @@ -145,6 +118,7 @@ /obj/machinery/alarm/New(nloc, ndir, nbuild) ..() + wires = new(src) if(nloc) loc = nloc @@ -165,6 +139,8 @@ name = "[alarm_area.name] Air Alarm" update_icon() + if(ticker && ticker.current_state == 3)//if the game is running + src.initialize() /obj/machinery/alarm/initialize() set_frequency(frequency) @@ -201,31 +177,6 @@ user << browse(null, "window=air_alarm") return - if(wiresexposed && (!istype(user, /mob/living/silicon))) - var/t1 = text("Access Panel
\n") - var/list/AAlarmwires = list( - "Orange" = 1, - "Dark red" = 2, - "White" = 3, - "Yellow" = 4, - "Black" = 5, - ) - for(var/wiredesc in AAlarmwires) - var/is_uncut = src.AAlarmwires & AAlarmWireColorToFlag[AAlarmwires[wiredesc]] - t1 += "[wiredesc] wire: " - if(!is_uncut) - t1 += "Mend" - - else - t1 += "Cut " - t1 += "Pulse " - - t1 += "
" - t1 += text("
\n[(src.locked ? "The Air Alarm is locked." : "The Air Alarm is unlocked.")]
\n[((src.shorted || (stat & (NOPOWER|BROKEN))) ? "The Air Alarm is offline." : "The Air Alarm is working properly!")]
\n[(src.aidisabled ? "The 'AI control allowed' light is off." : "The 'AI control allowed' light is on.")]") - t1 += text("

Close

") - user << browse(t1, "window=AAlarmwires") - onclose(user, "AAlarmwires") - if(!shorted) //user << browse(return_text(),"window=air_alarm") //onclose(user, "air_alarm") @@ -235,135 +186,11 @@ popup.open() refresh_all() - return - - -/obj/machinery/alarm/proc/isWireColorCut(var/wireColor) - var/wireFlag = AAlarmWireColorToFlag[wireColor] - return ((src.AAlarmwires & wireFlag) == 0) - -/obj/machinery/alarm/proc/isWireCut(var/wireIndex) - var/wireFlag = AAlarmIndexToFlag[wireIndex] - return ((src.AAlarmwires & wireFlag) == 0) - -/obj/machinery/alarm/proc/cut(var/wireColor) - var/wireFlag = AAlarmWireColorToFlag[wireColor] - var/wireIndex = AAlarmWireColorToIndex[wireColor] - AAlarmwires &= ~wireFlag - switch(wireIndex) - if(AALARM_WIRE_IDSCAN) - src.locked = 1 - //world << "Idscan wire cut" - - if(AALARM_WIRE_POWER) - src.shock(usr, 50) - src.shorted = 1 - update_icon() - //world << "Power wire cut" - - if (AALARM_WIRE_AI_CONTROL) - if (src.aidisabled == 0) - src.aidisabled = 1 - //world << "AI Control Wire Cut" - - if(AALARM_WIRE_SYPHON) - mode = AALARM_MODE_PANIC - apply_mode() - //world << "Syphon Wire Cut" - - if(AALARM_WIRE_AALARM) - - if (alarm_area.atmosalert(2)) - post_alert(2) - spawn(1) - src.updateUsrDialog() - update_icon() - - //world << "AAlarm Wire Cut" - - src.updateDialog() - update_icon() + if(wiresexposed && (!istype(user, /mob/living/silicon))) + wires.Interact(user) return -/obj/machinery/alarm/proc/mend(var/wireColor) - var/wireFlag = AAlarmWireColorToFlag[wireColor] - var/wireIndex = AAlarmWireColorToIndex[wireColor] //not used in this function - AAlarmwires |= wireFlag - switch(wireIndex) - if(AALARM_WIRE_IDSCAN) - //world << "Idscan wire mended" - - if(AALARM_WIRE_POWER) - src.shorted = 0 - src.shock(usr, 50) - update_icon() - //world << "Power wire mended" - - if(AALARM_WIRE_AI_CONTROL) - if (src.aidisabled == 1) - src.aidisabled = 0 - //world << "AI Cont. wire mended" - - - // if(AALARM_WIRE_SYPHON) - // world << "Syphon Wire mended" - - - // if(AALARM_WIRE_AALARM) - //world << "AAlarm Wire mended" - - update_icon() - src.updateDialog() - return - -/obj/machinery/alarm/proc/pulse(var/wireColor) - //var/wireFlag = AAlarmWireColorToFlag[wireColor] //not used in this function - var/wireIndex = AAlarmWireColorToIndex[wireColor] - switch(wireIndex) - if(AALARM_WIRE_IDSCAN) //unlocks for 30 seconds, if you have a better way to hack I'm all ears - src.locked = 0 - spawn(300) - src.locked = 1 - //world << "Idscan wire pulsed" - - if (AALARM_WIRE_POWER) - // world << "Power wire pulsed" - if(shorted == 0) - shorted = 1 - update_icon() - - spawn(1200) - if(shorted == 1) - shorted = 0 - update_icon() - - - if (AALARM_WIRE_AI_CONTROL) - // world << "AI Control wire pulsed" - if (src.aidisabled == 0) - src.aidisabled = 1 - src.updateDialog() - spawn(10) - if (src.aidisabled == 1) - src.aidisabled = 0 - src.updateDialog() - - if(AALARM_WIRE_SYPHON) - // world << "Syphon wire pulsed" - mode = AALARM_MODE_REPLACEMENT - apply_mode() - - if(AALARM_WIRE_AALARM) - // world << "Aalarm wire pulsed" - if (alarm_area.atmosalert(0)) - post_alert(0) - spawn(1) - src.updateUsrDialog() - update_icon() - - src.updateDialog() - return /obj/machinery/alarm/proc/shock(mob/user, prb) if((stat & (NOPOWER))) // unpowered, no shock @@ -695,40 +522,14 @@ table tr:first-child th:first-child { border: none;} /obj/machinery/alarm/Topic(href, href_list) if(..()) return - src.add_fingerprint(usr) usr.set_machine(src) if ( (get_dist(src, usr) > 1 )) if (!istype(usr, /mob/living/silicon)) usr.unset_machine() usr << browse(null, "window=air_alarm") - usr << browse(null, "window=AAlarmwires") return - if (href_list["AAlarmwires"]) - var/t1 = text2num(href_list["AAlarmwires"]) - if (!( istype(usr.get_active_hand(), /obj/item/weapon/wirecutters) )) - usr << "You need wirecutters!" - return - if (src.isWireColorCut(t1)) - src.mend(t1) - else - src.cut(t1) - spawn(1) - src.updateUsrDialog() - else if (href_list["pulse"]) - var/t1 = text2num(href_list["pulse"]) - if (!istype(usr.get_active_hand(), /obj/item/device/multitool)) - usr << "You need a multitool!" - return - if (src.isWireColorCut(t1)) - usr << "You can't pulse a cut wire." - return - else - src.pulse(t1) - spawn(1) - src.updateUsrDialog() - if(href_list["command"]) @@ -988,7 +789,7 @@ table tr:first-child th:first-child { border: none;} if(stat & (NOPOWER|BROKEN)) user << "It does nothing" else - if(src.allowed(usr) && !isWireCut(AALARM_WIRE_IDSCAN)) + if(src.allowed(usr) && !wires.IsIndexCut(AALARM_WIRE_IDSCAN)) locked = !locked user << "\blue You [ locked ? "lock" : "unlock"] the Air Alarm interface." src.updateUsrDialog() @@ -1313,35 +1114,27 @@ FIRE ALARM return /obj/machinery/firealarm/Topic(href, href_list) - ..() - if (usr.stat || stat & (BROKEN|NOPOWER)) + if(..()) return if (buildstage != 2) return - if ((usr.contents.Find(src) || ((get_dist(src, usr) <= 1) && istype(src.loc, /turf))) || (istype(usr, /mob/living/silicon))) - usr.set_machine(src) - if (href_list["reset"]) - src.reset() - else if (href_list["alarm"]) - src.alarm() - else if (href_list["time"]) - src.timing = text2num(href_list["time"]) - last_process = world.timeofday - processing_objects.Add(src) - else if (href_list["tp"]) - var/tp = text2num(href_list["tp"]) - src.time += tp - src.time = min(max(round(src.time), 0), 120) + usr.set_machine(src) + if (href_list["reset"]) + src.reset() + else if (href_list["alarm"]) + src.alarm() + else if (href_list["time"]) + src.timing = text2num(href_list["time"]) + last_process = world.timeofday + processing_objects.Add(src) + else if (href_list["tp"]) + var/tp = text2num(href_list["tp"]) + src.time += tp + src.time = min(max(round(src.time), 0), 120) - src.updateUsrDialog() - - src.add_fingerprint(usr) - else - usr << browse(null, "window=firealarm") - return - return + src.updateUsrDialog() /obj/machinery/firealarm/proc/reset() if (!( src.working )) @@ -1533,7 +1326,8 @@ Code shamelessly copied from apc_frame return /obj/machinery/partyalarm/Topic(href, href_list) - ..() + if(..()) + return if (usr.stat || stat & (BROKEN|NOPOWER)) return if ((usr.contents.Find(src) || ((get_dist(src, usr) <= 1) && istype(src.loc, /turf))) || (istype(usr, /mob/living/silicon/ai))) diff --git a/code/game/machinery/bots/secbot.dm b/code/game/machinery/bots/secbot.dm index 8d08f44641f..15b484f1b7b 100644 --- a/code/game/machinery/bots/secbot.dm +++ b/code/game/machinery/bots/secbot.dm @@ -132,8 +132,9 @@ Auto Patrol: []"}, return /obj/machinery/bot/secbot/Topic(href, href_list) + if(..()) + return usr.set_machine(src) - src.add_fingerprint(usr) if((href_list["power"]) && (src.allowed(usr))) if(src.on) turn_off() diff --git a/code/game/machinery/computer/HolodeckControl.dm b/code/game/machinery/computer/HolodeckControl.dm index 4fba2a4ad6f..aebbf30d9c1 100644 --- a/code/game/machinery/computer/HolodeckControl.dm +++ b/code/game/machinery/computer/HolodeckControl.dm @@ -249,32 +249,10 @@ return 1 -/obj/machinery/computer/HolodeckControl/proc/togglePower(var/toggleOn = 0) - - if(toggleOn) - var/area/targetsource = locate(/area/holodeck/source_emptycourt) - holographic_items = targetsource.copy_contents_to(linkedholodeck) - - spawn(30) - for(var/obj/effect/landmark/L in linkedholodeck) - if(L.name=="Atmospheric Test Start") - spawn(20) - var/turf/T = get_turf(L) - var/datum/effect/effect/system/spark_spread/s = new /datum/effect/effect/system/spark_spread - s.set_up(2, 1, T) - s.start() - if(T) - T.temperature = 5000 - T.hotspot_expose(50000,50000,1) - - active = 1 - else - for(var/item in holographic_items) - derez(item) - var/area/targetsource = locate(/area/holodeck/source_plating) - targetsource.copy_contents_to(linkedholodeck , 1) - active = 0 - +/obj/machinery/computer/HolodeckControl/power_change() + ..() + if(stat & NOPOWER) + emergencyShutdown() /obj/machinery/computer/HolodeckControl/proc/loadProgram(var/area/A) @@ -320,16 +298,17 @@ /obj/machinery/computer/HolodeckControl/proc/emergencyShutdown() - //Get rid of any items - for(var/item in holographic_items) - derez(item) - //Turn it back to the regular non-holographic room - target = locate(/area/holodeck/source_plating) - if(target) - loadProgram(target) + if(!istype(target,/area/holodeck/source_plating)) + //Get rid of any items + for(var/item in holographic_items) + derez(item) + //Turn it back to the regular non-holographic room + target = locate(/area/holodeck/source_plating) + if(target) + loadProgram(target) - var/area/targetsource = locate(/area/holodeck/source_plating) - targetsource.copy_contents_to(linkedholodeck , 1) + var/area/targetsource = locate(/area/holodeck/source_plating) + targetsource.copy_contents_to(linkedholodeck , 1) active = 0 diff --git a/code/game/machinery/computer/ai_core.dm b/code/game/machinery/computer/ai_core.dm index b5a2a11827f..b5157bd4fcd 100644 --- a/code/game/machinery/computer/ai_core.dm +++ b/code/game/machinery/computer/ai_core.dm @@ -111,10 +111,11 @@ usr << "Added a freeform law." if(istype(P, /obj/item/device/mmi)) - if(!P:brainmob) + var/obj/item/device/mmi/M = P + if(!M.brainmob) user << "\red Sticking an empty MMI into the frame would sort of defeat the purpose." return - if(P:brainmob.stat == 2) + if(M.brainmob.stat == 2) user << "\red Sticking a dead brain into the frame would sort of defeat the purpose." return @@ -122,17 +123,20 @@ user << "\red This MMI does not seem to fit." return - if(jobban_isbanned(P:brainmob, "AI")) + if(jobban_isbanned(M.brainmob, "AI")) user << "\red This MMI does not seem to fit." return - if(P:brainmob.mind) - ticker.mode.remove_cultist(P:brainmob.mind, 1) - ticker.mode.remove_revolutionary(P:brainmob.mind, 1) + if(!M.brainmob.mind) + user << "\red This MMI is mindless." + return + + ticker.mode.remove_cultist(M.brainmob.mind, 1) + ticker.mode.remove_revolutionary(M.brainmob.mind, 1) user.drop_item() - P.loc = src - brain = P + M.loc = src + brain = M usr << "Added a brain." icon_state = "3b" diff --git a/code/game/machinery/computer/power.dm b/code/game/machinery/computer/power.dm index dcbf492551d..4c841e12734 100644 --- a/code/game/machinery/computer/power.dm +++ b/code/game/machinery/computer/power.dm @@ -118,7 +118,8 @@ popup.open() /obj/machinery/power/monitor/Topic(href, href_list) - ..() + if(..()) + return if( href_list["close"] ) usr << browse(null, "window=powcomp") usr.unset_machine() diff --git a/code/game/machinery/computer/syndicate_shuttle.dm b/code/game/machinery/computer/syndicate_shuttle.dm index 2223456e08b..febb48eb700 100644 --- a/code/game/machinery/computer/syndicate_shuttle.dm +++ b/code/game/machinery/computer/syndicate_shuttle.dm @@ -70,11 +70,12 @@ /obj/machinery/computer/syndicate_station/Topic(href, href_list) - if(!isliving(usr)) return + if(..()) + return + var/mob/living/user = usr - if(in_range(src, user) || istype(user, /mob/living/silicon)) - user.set_machine(src) + user.set_machine(src) if(href_list["syndicate"]) syndicate_move_to(/area/syndicate_station/start) @@ -95,7 +96,6 @@ else if(href_list["mining"]) syndicate_move_to(/area/syndicate_station/mining) - add_fingerprint(usr) updateUsrDialog() return diff --git a/code/game/machinery/cryo.dm b/code/game/machinery/cryo.dm index 5178d32db8f..4634fd0eb9c 100644 --- a/code/game/machinery/cryo.dm +++ b/code/game/machinery/cryo.dm @@ -128,19 +128,18 @@ /obj/machinery/atmospherics/unary/cryo_cell/Topic(href, href_list) - if((get_dist(src, usr) <= 1) || istype(usr, /mob/living/silicon/ai)) - if(href_list["start"]) - on = !on - update_icon() - if(href_list["eject"]) - if(beaker) - var/obj/item/weapon/reagent_containers/glass/B = beaker - B.loc = get_step(loc, SOUTH) - beaker = null - - updateUsrDialog() - add_fingerprint(usr) + if(..()) + return + if(href_list["start"]) + on = !on + update_icon() + if(href_list["eject"]) + if(beaker) + var/obj/item/weapon/reagent_containers/glass/B = beaker + B.loc = get_step(loc, SOUTH) + beaker = null + updateUsrDialog() /obj/machinery/atmospherics/unary/cryo_cell/attackby(obj/item/I, mob/user) if(istype(I, /obj/item/weapon/reagent_containers/glass)) diff --git a/code/game/machinery/flasher.dm b/code/game/machinery/flasher.dm index 407dafb47f0..83394b0526a 100644 --- a/code/game/machinery/flasher.dm +++ b/code/game/machinery/flasher.dm @@ -23,11 +23,10 @@ density = 1 /obj/machinery/flasher/New() - if(isnull(bulb)) - bulb = new /obj/item/device/flash(src) + bulb = new /obj/item/device/flash(src) /obj/machinery/flasher/power_change() - if ( powered() && bulb && anchored) + if (powered() && bulb && anchored) stat &= ~NOPOWER if(bulb.broken) icon_state = "[base_state]1-p" @@ -38,44 +37,43 @@ icon_state = "[base_state]1-p" //Don't want to render prison breaks impossible -/obj/machinery/flasher/attackby(obj/item/weapon/W as obj, mob/user as mob) +/obj/machinery/flasher/attackby(obj/item/weapon/W, mob/user) if (istype(W, /obj/item/weapon/wirecutters)) - add_fingerprint(user) if (bulb) playsound(src.loc, 'sound/items/Wirecutter.ogg', 100, 1) user.visible_message("[user] has disconnected [src]'s flashbulb!", "You disconnect [src]'s flashbulb!") bulb.loc = src.loc bulb = null - src.power_change() + power_change() - if (istype(W, /obj/item/device/flash)) - add_fingerprint(user) - if (isnull(bulb)) + else if (istype(W, /obj/item/device/flash)) + if (!bulb) user.visible_message("[user] installs [W] into [src].", "You install [W] into [src].") user.drop_item() W.loc = src bulb = W - src.power_change() + power_change() else user << "A flashbulb is already installed in [src]." + add_fingerprint(user) //Let the AI trigger them directly. /obj/machinery/flasher/attack_ai() - if (src.anchored) - return src.flash() + if (anchored) + return flash() else return /obj/machinery/flasher/proc/flash() - if (!(powered()) || (isnull(bulb))) + if (!powered() || !bulb) return - if ((bulb.broken) || (src.last_flash && world.time < src.last_flash + 150)) + if (bulb.broken || (last_flash && world.time < src.last_flash + 150)) return playsound(src.loc, 'sound/weapons/flash.ogg', 100, 1) flick("[base_state]_flash", src) - src.last_flash = world.time + last_flash = world.time use_power(1000) for (var/mob/O in viewers(src, null)) @@ -98,63 +96,64 @@ if(!O.blinded) flick("flash", O:flash) O.eye_stat += rand(0, 2) + return 1 /obj/machinery/flasher/emp_act(severity) if(stat & (BROKEN|NOPOWER)) ..(severity) return - if(prob(75/severity)) + if(bulb && prob(75/severity)) flash() bulb.broken = 1 bulb.icon_state = "flashburnt" - src.power_change() + power_change() ..(severity) -/obj/machinery/flasher/portable/HasProximity(atom/movable/AM as mob|obj) - if (src.last_flash && world.time < src.last_flash + 150) +/obj/machinery/flasher/portable/HasProximity(atom/movable/AM) + if (last_flash && world.time < last_flash + 150) return if(istype(AM, /mob/living/carbon)) var/mob/living/carbon/M = AM - if ((M.m_intent != "walk") && (src.anchored)) - src.flash() + if (M.m_intent != "walk" && anchored) + flash() /obj/machinery/flasher/portable/flash() - ..() + if(!..()) + return if(prob(4)) //Small chance to burn out on use bulb.broken = 1 bulb.icon_state = "flashburnt" - src.power_change() + power_change() -/obj/machinery/flasher/portable/attackby(obj/item/weapon/W as obj, mob/user as mob) +/obj/machinery/flasher/portable/attackby(obj/item/weapon/W, mob/user) if (istype(W, /obj/item/weapon/wrench)) - add_fingerprint(user) playsound(src.loc, 'sound/items/Ratchet.ogg', 100, 1) - src.anchored = !src.anchored + anchored = !anchored - if (!src.anchored) + if (!anchored) user.show_message(text("\red [src] can now be moved.")) - src.overlays.Cut() - src.power_change() + overlays.Cut() + power_change() - else if (src.anchored) + else if (anchored) user.show_message(text("\red [src] is now secured.")) - src.overlays += "[base_state]-s" - src.power_change() + overlays += "[base_state]-s" + power_change() else ..() -/obj/machinery/flasher_button/attack_ai(mob/user as mob) - return src.attack_hand(user) +/obj/machinery/flasher_button/attack_ai(mob/user) + return attack_hand(user) -/obj/machinery/flasher_button/attack_paw(mob/user as mob) - return src.attack_hand(user) +/obj/machinery/flasher_button/attack_paw(mob/user) + return attack_hand(user) -/obj/machinery/flasher_button/attackby(obj/item/weapon/W, mob/user as mob) - return src.attack_hand(user) +/obj/machinery/flasher_button/attackby(obj/item/weapon/W, mob/user) + return attack_hand(user) -/obj/machinery/flasher_button/attack_hand(mob/user as mob) +/obj/machinery/flasher_button/attack_hand(mob/user) if(stat & (NOPOWER|BROKEN)) return @@ -167,7 +166,7 @@ icon_state = "launcheract" for(var/obj/machinery/flasher/M in world) - if(M.id == src.id) + if(M.id == id) spawn() M.flash() diff --git a/code/game/machinery/magnet.dm b/code/game/machinery/magnet.dm index a2dd432d991..cb7dc75e7d4 100644 --- a/code/game/machinery/magnet.dm +++ b/code/game/machinery/magnet.dm @@ -275,10 +275,9 @@ onclose(user, "magnet") Topic(href, href_list) - if(stat & (BROKEN|NOPOWER)) + if(..()) return usr.set_machine(src) - src.add_fingerprint(usr) if(href_list["radio-op"]) diff --git a/code/game/machinery/navbeacon.dm b/code/game/machinery/navbeacon.dm index 71f450e70fe..55eac77d77f 100644 --- a/code/game/machinery/navbeacon.dm +++ b/code/game/machinery/navbeacon.dm @@ -181,63 +181,61 @@ Transponder Codes:
" + output += "" + output += "" output += "" output += "" dat += "
- Changling Evolution Menu
+ Changeling Evolution Menu
Hover over a power to see more information
- Current evolution points left to evolve with: [geneticpoints]
- Absorb genomes to acquire more evolution points + Current ability choices remaining: [geneticpoints]
+ By rendering a lifeform to a husk, we gain enough power to alter and adapt our evolutions.
+ (Readapt)

Ckey:
IP: Computer id:
Duration: Job:
Traitor not found!
" + if(istype(ticker.mode, /datum/game_mode/blob)) + var/datum/game_mode/blob/mode = ticker.mode + dat += "
" + dat += "" + + for(var/datum/mind/blob in mode.infected_crew) + var/mob/M = blob.current + if(M) + dat += "" + dat += "" + else + dat += "" + dat += "
Blob
Progress: [blobs.len]/[mode.blobwincount]
[M.real_name][M.client ? "" : " (logged out)"][M.stat == 2 ? " (DEAD)" : ""]PM
Blob not found!
" + dat += "" usr << browse(dat, "window=roundstatus;size=400x500") else diff --git a/code/modules/admin/topic.dm b/code/modules/admin/topic.dm index 54d78e0df39..c0f5951cc71 100644 --- a/code/modules/admin/topic.dm +++ b/code/modules/admin/topic.dm @@ -78,6 +78,8 @@ var/bantype = text2num(href_list["dbbanaddtype"]) var/banckey = href_list["dbbanaddckey"] + var/banip = href_list["dbbanaddip"] + var/bancid = href_list["dbbanaddcid"] var/banduration = text2num(href_list["dbbaddduration"]) var/banjob = href_list["dbbanaddjob"] var/banreason = href_list["dbbanreason"] @@ -130,9 +132,18 @@ playermob = M break + banreason = "(MANUAL BAN) "+banreason - DB_ban_record(bantype, playermob, banduration, banreason, banjob, null, banckey) + if(!playermob) + if(banip) + banreason = "[banreason] (CUSTOM IP)" + if(bancid) + banreason = "[banreason] (CUSTOM CID)" + else + message_admins("Ban process: A mob matching [playermob.ckey] was found at location [playermob.x], [playermob.y], [playermob.z]. Custom ip and computer id fields replaced with the ip and computer id from the located mob") + + DB_ban_record(bantype, playermob, banduration, banreason, banjob, null, banckey, banip, bancid ) else if(href_list["editrights"]) if(!check_rights(R_PERMISSIONS)) @@ -688,11 +699,6 @@ usr << "This can only be used on instances of type /mob" return - if(M != usr) //we can jobban ourselves - if(M.client && M.client.holder && (M.client.holder.rights & R_BAN)) //they can ban too. So we can't ban them - alert("You cannot perform this action. You must be of a higher administrative rank!") - return - if(!job_master) usr << "Job Master has not been setup!" return diff --git a/code/modules/admin/verbs/adminhelp.dm b/code/modules/admin/verbs/adminhelp.dm index ef35112af26..94ca95d3528 100644 --- a/code/modules/admin/verbs/adminhelp.dm +++ b/code/modules/admin/verbs/adminhelp.dm @@ -88,10 +88,21 @@ var/list/adminhelp_ignored_words = list("unknown","the","a","an","of","monkey"," msg = "\blue HELP: [key_name(src, 1)] (?) (PP) (VV) (SM) (JMP) (CA) [ai_found ? " (CL)" : ""]: [msg]" //send this msg to all admins - var/admin_number_afk = 0 + var/admin_number_total = 0 //Total number of admins + var/admin_number_afk = 0 //Holds the number of admins who are afk + var/admin_number_ignored = 0 //Holds the number of admins without +BAN (so admins who are not really admins) + var/admin_number_decrease = 0 //Holds the number of admins with are afk, ignored or both for(var/client/X in admins) + admin_number_total++; + var/invalid = 0 + if(!check_rights_for(X, R_BAN)) + admin_number_ignored++ + invalid = 1 if(X.is_afk()) admin_number_afk++ + invalid = 1 + if(invalid) + admin_number_decrease++ if(X.prefs.toggles & SOUND_ADMINHELP) X << 'sound/effects/adminhelp.ogg' X << msg @@ -99,13 +110,13 @@ var/list/adminhelp_ignored_words = list("unknown","the","a","an","of","monkey"," //show it to the person adminhelping too src << "PM to-Admins: [original_msg]" - var/admin_number_present = admins.len - admin_number_afk - log_admin("HELP: [key_name(src)]: [original_msg] - heard by [admin_number_present] non-AFK admins.") + var/admin_number_present = admin_number_total - admin_number_decrease //Number of admins who are neither afk nor invalid + log_admin("HELP: [key_name(src)]: [original_msg] - heard by [admin_number_present] non-AFK admins who have +BAN.") if(admin_number_present <= 0) - if(!admin_number_afk) + if(!admin_number_afk && !admin_number_ignored) send2irc(ckey, "[original_msg] - No admins online") else - send2irc(ckey, "[original_msg] - All admins AFK ([admin_number_afk])") + send2irc(ckey, "[original_msg] - All admins AFK ([admin_number_afk]/[admin_number_total]) or skipped ([admin_number_ignored]/[admin_number_total])") feedback_add_details("admin_verb","AH") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc! return diff --git a/code/modules/admin/verbs/debug.dm b/code/modules/admin/verbs/debug.dm index f3319758eff..60957386fcd 100644 --- a/code/modules/admin/verbs/debug.dm +++ b/code/modules/admin/verbs/debug.dm @@ -440,22 +440,31 @@ var/global/list/g_fancy_list_of_safe_types = null return if (istype(M, /mob/living/carbon/human)) var/mob/living/carbon/human/H = M - if (H.wear_id) - var/obj/item/weapon/card/id/id = H.wear_id - if(istype(H.wear_id, /obj/item/device/pda)) - var/obj/item/device/pda/pda = H.wear_id - id = pda.id + var/obj/item/worn = H.wear_id + var/obj/item/weapon/card/id/id = null + if(worn) + id = worn.GetID() + if(id) id.icon_state = "gold" - id:access = get_all_accesses()+get_all_centcom_access()+get_all_syndicate_access() + id.access = get_all_accesses()+get_all_centcom_access()+get_all_syndicate_access() else - var/obj/item/weapon/card/id/id = new/obj/item/weapon/card/id(M); - id.icon_state = "gold" - id:access = get_all_accesses()+get_all_centcom_access()+get_all_syndicate_access() + id = new /obj/item/weapon/card/id/gold(H.loc) + id.access = get_all_accesses()+get_all_centcom_access()+get_all_syndicate_access() id.registered_name = H.real_name id.assignment = "Captain" id.name = "[id.registered_name]'s ID Card ([id.assignment])" - H.equip_to_slot_or_del(id, slot_wear_id) - H.update_inv_wear_id() + + if(worn) + if(istype(worn,/obj/item/device/pda)) + worn:id = id + id.loc = worn + else if(istype(worn,/obj/item/weapon/storage/wallet)) + worn:front_id = id + id.loc = worn + worn.update_icon() + else + H.equip_to_slot(id,slot_wear_id) + else alert("Invalid mob") feedback_add_details("admin_verb","GFA") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc! diff --git a/code/modules/awaymissions/bluespaceartillery.dm b/code/modules/awaymissions/bluespaceartillery.dm index 06dfa6b5bcf..32fadf2eef7 100644 --- a/code/modules/awaymissions/bluespaceartillery.dm +++ b/code/modules/awaymissions/bluespaceartillery.dm @@ -32,24 +32,22 @@ return /obj/machinery/artillerycontrol/Topic(href, href_list) - ..() - if (usr.stat || usr.restrained()) + if(..()) return + var/A + A = input("Area to jump bombard", "Open Fire", A) in teleportlocs + var/area/thearea = teleportlocs[A] + if (usr.stat || usr.restrained()) return + if(src.reload < 180) return if ((usr.contents.Find(src) || (in_range(src, usr) && istype(src.loc, /turf))) || (istype(usr, /mob/living/silicon))) - var/A - A = input("Area to jump bombard", "Open Fire", A) in teleportlocs - var/area/thearea = teleportlocs[A] - if (usr.stat || usr.restrained()) return - if(src.reload < 180) return - if ((usr.contents.Find(src) || (in_range(src, usr) && istype(src.loc, /turf))) || (istype(usr, /mob/living/silicon))) - command_alert("Bluespace artillery fire detected. Brace for impact.") - message_admins("[key_name_admin(usr)] has launched an artillery strike.", 1) - var/list/L = list() - for(var/turf/T in get_area_turfs(thearea.type)) - L+=T - var/loc = pick(L) - explosion(loc,2,5,11) - reload = 0 + command_alert("Bluespace artillery fire detected. Brace for impact.") + message_admins("[key_name_admin(usr)] has launched an artillery strike.", 1) + var/list/L = list() + for(var/turf/T in get_area_turfs(thearea.type)) + L+=T + var/loc = pick(L) + explosion(loc,2,5,11) + reload = 0 /*mob/proc/openfire() var/A diff --git a/code/modules/client/preferences.dm b/code/modules/client/preferences.dm index cab7dd9c4ae..188eb303330 100644 --- a/code/modules/client/preferences.dm +++ b/code/modules/client/preferences.dm @@ -10,7 +10,7 @@ var/global/list/special_roles = list( //keep synced with the defines BE_* in set "wizard" = IS_MODE_COMPILED("wizard"), // 3 "malf AI" = IS_MODE_COMPILED("malfunction"), // 4 "revolutionary" = IS_MODE_COMPILED("revolution"), // 5 - "alien candidate" = 1, //always show // 6 + "alien lifeform" = 1, //always show // 6 "pAI candidate" = 1, // -- TLE // 7 "cultist" = IS_MODE_COMPILED("cult"), // 8 "infested monkey" = IS_MODE_COMPILED("monkey"), // 9 @@ -77,7 +77,7 @@ datum/preferences // OOC Metadata: var/metadata = "" - + var/unlock_content = 0 /datum/preferences/New(client/C) @@ -210,13 +210,13 @@ datum/preferences dat += "Adminhelp Sound: " dat += "[(toggles & SOUND_ADMINHELP)?"On":"Off"]
" - if(unlock_content || (user.client.holder && (user.client.holder.rights & R_ADMIN))) + if(unlock_content || check_rights_for(user, R_ADMIN)) dat += "OOC:     Change
" - + if(unlock_content) dat += "BYOND Membership Publicity: [(toggles & MEMBER_PUBLIC) ? "Public" : "Hidden"]
" dat += "Ghost Form: [ghost_form]
" - + dat += "" diff --git a/code/modules/events/ninja.dm b/code/modules/events/ninja.dm index 765b9d94108..86aca6e8ace 100644 --- a/code/modules/events/ninja.dm +++ b/code/modules/events/ninja.dm @@ -102,6 +102,7 @@ if(2) //steal var/datum/objective/steal/O = new /datum/objective/steal() O.set_target(pick(O.possible_items_special)) + O.owner = Mind Mind.objectives += O if(3) //protect/kill diff --git a/code/modules/hydroponics/biogenerator.dm b/code/modules/hydroponics/biogenerator.dm index f39d416b9df..32489d54163 100644 --- a/code/modules/hydroponics/biogenerator.dm +++ b/code/modules/hydroponics/biogenerator.dm @@ -220,9 +220,8 @@ return 1 /obj/machinery/biogenerator/Topic(href, href_list) - if(stat & BROKEN) return - if(usr.stat || usr.restrained()) return - if(!in_range(src, usr)) return + if(..()) + return usr.set_machine(src) diff --git a/code/modules/mob/living/carbon/alien/humanoid/humanoid.dm b/code/modules/mob/living/carbon/alien/humanoid/humanoid.dm index 08f1239281c..436f616982e 100644 --- a/code/modules/mob/living/carbon/alien/humanoid/humanoid.dm +++ b/code/modules/mob/living/carbon/alien/humanoid/humanoid.dm @@ -261,7 +261,7 @@ help_shake_act(M) if ("grab") - if (M == src) + if (M == src || anchored) return var/obj/item/weapon/grab/G = new /obj/item/weapon/grab(M, src) diff --git a/code/modules/mob/living/carbon/alien/humanoid/inventory.dm b/code/modules/mob/living/carbon/alien/humanoid/inventory.dm index ed017a0ce97..e2cf5b13bb2 100644 --- a/code/modules/mob/living/carbon/alien/humanoid/inventory.dm +++ b/code/modules/mob/living/carbon/alien/humanoid/inventory.dm @@ -1,6 +1,8 @@ /mob/living/carbon/alien/humanoid/u_equip(obj/item/I) if(!I) return 0 + var/success = 1 + if(I == r_hand) r_hand = null update_inv_r_hand(0) @@ -13,14 +15,17 @@ else if(I == l_store) l_store = null update_inv_pockets(0) + else + success = 0 - if(I) - if(client) - client.screen -= I - I.loc = loc - I.dropped(src) + if(success) if(I) - I.layer = initial(I.layer) + if(client) + client.screen -= I + I.loc = loc + I.dropped(src) + if(I) + I.layer = initial(I.layer) //yaaaaaaay snowflakes diff --git a/code/modules/mob/living/carbon/alien/larva/larva.dm b/code/modules/mob/living/carbon/alien/larva/larva.dm index 3b0ceb7a4df..ccacad6456e 100644 --- a/code/modules/mob/living/carbon/alien/larva/larva.dm +++ b/code/modules/mob/living/carbon/alien/larva/larva.dm @@ -233,7 +233,7 @@ help_shake_act(M) if ("grab") - if (M == src) + if (M == src || anchored) return var/obj/item/weapon/grab/G = new /obj/item/weapon/grab(M, src ) @@ -326,6 +326,8 @@ /mob/living/carbon/alien/larva/show_inv(mob/user) return +/mob/living/carbon/alien/larva/toggle_throw_mode() + return /* Commented out because it's duplicated in life.dm /mob/living/carbon/alien/larva/proc/grow() // Larvae can grow into full fledged Xenos if they survive long enough -- TLE diff --git a/code/modules/mob/living/carbon/brain/brain_item.dm b/code/modules/mob/living/carbon/brain/brain_item.dm index bd648e49389..1f6e1f9e1a9 100644 --- a/code/modules/mob/living/carbon/brain/brain_item.dm +++ b/code/modules/mob/living/carbon/brain/brain_item.dm @@ -45,9 +45,9 @@ usr << "This one seems particularly lifeless. Perhaps it will regain some of it's luster later.." -/obj/item/organ/brain/attack(mob/living/carbon/M, mob/living/carbon/user) - if(!istype(M, /mob)) - return +/obj/item/organ/brain/attack(mob/living/carbon/M, mob/user) + if(!istype(M)) + return ..() add_fingerprint(user) diff --git a/code/modules/mob/living/carbon/carbon.dm b/code/modules/mob/living/carbon/carbon.dm index 0cca5b54265..ededd417cba 100644 --- a/code/modules/mob/living/carbon/carbon.dm +++ b/code/modules/mob/living/carbon/carbon.dm @@ -370,11 +370,6 @@ if(src.client) src.client.screen -= item - item.loc = src.loc - - if(istype(item, /obj/item)) - item:dropped(src) // let it know it's been dropped - //actually throw it! if(item) item.layer = initial(item.layer) diff --git a/code/modules/mob/living/carbon/human/hud.dm b/code/modules/mob/living/carbon/human/hud.dm index 58a1d4f672b..9cc6c297a01 100644 --- a/code/modules/mob/living/carbon/human/hud.dm +++ b/code/modules/mob/living/carbon/human/hud.dm @@ -275,6 +275,13 @@ mymob.pullin.screen_loc = ui_pull_resist hotkeybuttons += mymob.pullin + lingchemdisplay = new /obj/screen() + lingchemdisplay.name = "chemical storage" + lingchemdisplay.icon_state = "power_display" + lingchemdisplay.screen_loc = ui_lingchemdisplay + lingchemdisplay.layer = 20 + lingchemdisplay.invisibility = 101 + mymob.blind = new /obj/screen() mymob.blind.icon = 'icons/mob/screen_full.dmi' mymob.blind.icon_state = "blackimageoverlay" @@ -303,7 +310,7 @@ mymob.client.screen = null - mymob.client.screen += list( mymob.throw_icon, mymob.zone_sel, mymob.oxygen, mymob.pressure, mymob.toxin, mymob.bodytemp, mymob.internals, mymob.fire, mymob.healths, mymob.nutrition_icon, mymob.pullin, mymob.blind, mymob.flash, mymob.damageoverlay) //, mymob.hands, mymob.rest, mymob.sleep) //, mymob.mach ) + mymob.client.screen += list( mymob.throw_icon, mymob.zone_sel, mymob.oxygen, mymob.pressure, mymob.toxin, mymob.bodytemp, mymob.internals, mymob.fire, mymob.healths, mymob.nutrition_icon, mymob.pullin, mymob.blind, mymob.flash, mymob.damageoverlay, lingchemdisplay) //, mymob.hands, mymob.rest, mymob.sleep) //, mymob.mach ) mymob.client.screen += adding + hotkeybuttons inventory_shown = 0; @@ -330,23 +337,29 @@ return client.screen -= hud_used.item_action_list - hud_used.item_action_list = list() for(var/obj/item/I in src) if(I.action_button_name) - var/obj/screen/item_action/A = new(hud_used) + if(hud_used.item_action_list.len < num) + var/obj/screen/item_action/N = new(hud_used) + hud_used.item_action_list += N + + var/obj/screen/item_action/A = hud_used.item_action_list[num] + A.icon = ui_style2icon(client.prefs.UI_style) A.icon_state = "template" - var/image/img = image(I.icon, I.icon_state) + + A.overlays = list() + var/image/img = image(I.icon, A, I.icon_state) img.pixel_x = 0 img.pixel_y = 0 A.overlays += img - if(I.action_button_name) - A.name = I.action_button_name - else - A.name = "Use [I.name]" + + A.name = I.action_button_name A.owner = I - hud_used.item_action_list += A + + client.screen += hud_used.item_action_list[num] + switch(num) if(1) A.screen_loc = ui_action_slot1 @@ -359,6 +372,4 @@ if(5) A.screen_loc = ui_action_slot5 break //5 slots available, so no more can be added. - num++ - - client.screen += hud_used.item_action_list \ No newline at end of file + num++ diff --git a/code/modules/mob/living/carbon/human/human.dm b/code/modules/mob/living/carbon/human/human.dm index 6bf907b705d..fa14e72d7b6 100644 --- a/code/modules/mob/living/carbon/human/human.dm +++ b/code/modules/mob/living/carbon/human/human.dm @@ -120,8 +120,8 @@ stat("Distribution Pressure", internal.distribute_pressure) if(mind) if(mind.changeling) - stat("Chemical Storage", mind.changeling.chem_charges) - stat("Genetic Damage Time", mind.changeling.geneticdamage) + stat("Chemical Storage", "[mind.changeling.chem_charges]/[mind.changeling.chem_storage]") + stat("Absorbed DNA", mind.changeling.absorbedcount) if (istype(wear_suit, /obj/item/clothing/suit/space/space_ninja)&&wear_suit:s_initialized) stat("Energy Charge", round(wear_suit:cell:charge/100)) diff --git a/code/modules/mob/living/carbon/human/human_attackalien.dm b/code/modules/mob/living/carbon/human/human_attackalien.dm index 5e30c54e107..d8440350bc6 100644 --- a/code/modules/mob/living/carbon/human/human_attackalien.dm +++ b/code/modules/mob/living/carbon/human/human_attackalien.dm @@ -7,7 +7,8 @@ if ("help") visible_message(text("\blue [M] caresses [src] with its scythe like arm.")) if ("grab") - if(M == src) return + if(M == src || anchored) + return if (w_uniform) w_uniform.add_fingerprint(M) var/obj/item/weapon/grab/G = new /obj/item/weapon/grab(M, src) diff --git a/code/modules/mob/living/carbon/human/human_attackhand.dm b/code/modules/mob/living/carbon/human/human_attackhand.dm index 92bf311efff..028df8c757d 100644 --- a/code/modules/mob/living/carbon/human/human_attackhand.dm +++ b/code/modules/mob/living/carbon/human/human_attackhand.dm @@ -33,7 +33,7 @@ src << "You feel a breath of fresh air enter your lungs. It feels good." if("grab") - if(M == src) + if(M == src || anchored) return 0 if(w_uniform) w_uniform.add_fingerprint(M) diff --git a/code/modules/mob/living/carbon/human/life.dm b/code/modules/mob/living/carbon/human/life.dm index 9f7f0e23996..fe28ce44793 100644 --- a/code/modules/mob/living/carbon/human/life.dm +++ b/code/modules/mob/living/carbon/human/life.dm @@ -1022,6 +1022,12 @@ see_invisible = SEE_INVISIBLE_LIVING seer = 0 + if(mind && mind.changeling) + hud_used.lingchemdisplay.invisibility = 0 + hud_used.lingchemdisplay.maptext = "
[src.mind.changeling.chem_charges]
" + else + hud_used.lingchemdisplay.invisibility = 101 + if(istype(wear_mask, /obj/item/clothing/mask/gas/voice/space_ninja)) var/obj/item/clothing/mask/gas/voice/space_ninja/O = wear_mask switch(O.mode) diff --git a/code/modules/mob/living/carbon/metroid/metroid.dm b/code/modules/mob/living/carbon/metroid/metroid.dm index 823444b2578..f9200e27c40 100644 --- a/code/modules/mob/living/carbon/metroid/metroid.dm +++ b/code/modules/mob/living/carbon/metroid/metroid.dm @@ -432,7 +432,7 @@ help_shake_act(M) if ("grab") - if (M == src) + if (M == src || anchored) return var/obj/item/weapon/grab/G = new /obj/item/weapon/grab(M, src ) @@ -523,7 +523,7 @@ O.show_message(text("\red [] has attempted to lunge at [name]!", M), 1) if ("grab") - if (M == src) + if (M == src || anchored) return var/obj/item/weapon/grab/G = new /obj/item/weapon/grab(M, src ) @@ -589,6 +589,9 @@ mob/living/carbon/slime/var/temperature_resistance = T0C+75 /mob/living/carbon/slime/show_inv(mob/user) return +/mob/living/carbon/slime/toggle_throw_mode() + return + /mob/living/carbon/slime/proc/get_obstacle_ok(atom/A) var/direct = get_dir(src, A) var/obj/item/weapon/dummy/D = new /obj/item/weapon/dummy( src.loc ) diff --git a/code/modules/mob/living/carbon/monkey/emote.dm b/code/modules/mob/living/carbon/monkey/emote.dm index eccb365a6f2..3e43ea81e58 100644 --- a/code/modules/mob/living/carbon/monkey/emote.dm +++ b/code/modules/mob/living/carbon/monkey/emote.dm @@ -96,8 +96,12 @@ if("deathgasp") message = "The [src.name] lets out a faint chimper as it collapses and stops moving..." m_type = 1 + if("giggle") + if (!muzzled) + message = "The [src.name] giggles happily." + m_type = 2 if("help") - src << "choke, collapse, dance, deathgasp, drool, gasp, shiver, gnarl, jump, paw, moan, nod, roar, roll, scratch,\nscretch, shake, sign-#, sit, sulk, sway, tail, twitch, whimper" + src << "choke, collapse, dance, deathgasp, drool, gasp, shiver, gnarl, giggle, jump, paw, moan, nod, roar, roll, scratch,\nscretch, shake, sign-#, sit, sulk, sway, tail, twitch, whimper" else src << text("Invalid Emote: []", act) if ((message && src.stat == 0)) @@ -111,4 +115,4 @@ for(var/mob/O in hearers(src, null)) O.show_message(message, m_type) //Foreach goto(746) - return \ No newline at end of file + return diff --git a/code/modules/mob/living/carbon/monkey/hud.dm b/code/modules/mob/living/carbon/monkey/hud.dm index 4e4c76b9669..5bb39214c60 100644 --- a/code/modules/mob/living/carbon/monkey/hud.dm +++ b/code/modules/mob/living/carbon/monkey/hud.dm @@ -142,6 +142,13 @@ mymob.pullin.name = "pull" mymob.pullin.screen_loc = ui_pull_resist + lingchemdisplay = new /obj/screen() + lingchemdisplay.name = "chemical storage" + lingchemdisplay.icon_state = "power_display" + lingchemdisplay.screen_loc = ui_lingchemdisplay + lingchemdisplay.layer = 20 + lingchemdisplay.invisibility = 101 + mymob.blind = new /obj/screen() mymob.blind.icon = 'icons/mob/screen_full.dmi' mymob.blind.icon_state = "blackimageoverlay" diff --git a/code/modules/mob/living/carbon/monkey/monkey.dm b/code/modules/mob/living/carbon/monkey/monkey.dm index df8e09f4bf2..3ef926e3bd6 100644 --- a/code/modules/mob/living/carbon/monkey/monkey.dm +++ b/code/modules/mob/living/carbon/monkey/monkey.dm @@ -160,7 +160,7 @@ O.show_message(text("\red [] has attempted to punch [name]!", M), 1) else if (M.a_intent == "grab") - if (M == src) + if (M == src || anchored) return var/obj/item/weapon/grab/G = new /obj/item/weapon/grab(M, src ) @@ -230,7 +230,7 @@ O.show_message(text("\red [] has attempted to lunge at [name]!", M), 1) if ("grab") - if (M == src) + if (M == src || anchored) return var/obj/item/weapon/grab/G = new /obj/item/weapon/grab(M, src ) @@ -345,8 +345,8 @@ if(client && mind) if (client.statpanel == "Status") if(mind.changeling) - stat("Chemical Storage", mind.changeling.chem_charges) - stat("Genetic Damage Time", mind.changeling.geneticdamage) + stat("Chemical Storage", "[mind.changeling.chem_charges]/[mind.changeling.chem_storage]") + stat("Absorbed DNA", mind.changeling.absorbedcount) return diff --git a/code/modules/mob/living/login.dm b/code/modules/mob/living/login.dm index d09a0ba7617..3cdd0a47f95 100644 --- a/code/modules/mob/living/login.dm +++ b/code/modules/mob/living/login.dm @@ -1,8 +1,7 @@ /mob/living/Login() ..() //Mind updates - mind_initialize() //updates the mind (or creates and initializes one if one doesn't exist) - mind.active = 1 //indicates that the mind is currently synced with a client + sync_mind() mind.show_memory(src, 0) //Round specific stuff like hud updates diff --git a/code/modules/mob/living/silicon/ai/ai.dm b/code/modules/mob/living/silicon/ai/ai.dm index a067319596e..eb051aca74a 100644 --- a/code/modules/mob/living/silicon/ai/ai.dm +++ b/code/modules/mob/living/silicon/ai/ai.dm @@ -31,7 +31,7 @@ var/list/ai_list = list() var/obj/item/device/multitool/aiMulti = null //MALFUNCTION - var/datum/AI_Module/module_picker/malf_picker + var/datum/module_picker/malf_picker var/processing_time = 100 var/list/datum/AI_Module/current_modules = list() var/fire_res_on_core = 0 @@ -48,6 +48,7 @@ var/list/ai_list = list() var/datum/trackable/track = null var/last_paper_seen = null + var/can_shunt = 1 /mob/living/silicon/ai/New(loc, var/datum/ai_laws/L, var/obj/item/device/mmi/B, var/safety = 0) var/list/possibleNames = ai_names diff --git a/code/modules/mob/living/silicon/robot/robot.dm b/code/modules/mob/living/silicon/robot/robot.dm index 2b2d0009db7..43856b9014e 100644 --- a/code/modules/mob/living/silicon/robot/robot.dm +++ b/code/modules/mob/living/silicon/robot/robot.dm @@ -587,7 +587,7 @@ O.show_message(text("\blue [M] caresses [src]'s plating with its scythe like arm."), 1) if ("grab") - if (M == src) + if (M == src || anchored) return var/obj/item/weapon/grab/G = new /obj/item/weapon/grab(M, src ) diff --git a/code/modules/mob/living/simple_animal/constructs.dm b/code/modules/mob/living/simple_animal/constructs.dm index 2c6feb47232..858e2108571 100644 --- a/code/modules/mob/living/simple_animal/constructs.dm +++ b/code/modules/mob/living/simple_animal/constructs.dm @@ -159,7 +159,30 @@ M.show_message("\red [user] gently taps [src] with [O]. ") +/mob/living/simple_animal/construct/armoured/bullet_act(var/obj/item/projectile/P) + if(istype(P, /obj/item/projectile/energy) || istype(P, /obj/item/projectile/beam)) + var/reflectchance = 65 - round(P.damage/3) + if(prob(reflectchance)) + visible_message("The [P.name] gets reflected by [src]'s shell!", \ + "The [P.name] gets reflected by [src]'s shell!") + // Find a turf near or on the original location to bounce to + if(P.starting) + var/new_x = P.starting.x + pick(0, 0, -1, 1, -1, 1, -2, 2, -2, 2, -2, 2) + var/new_y = P.starting.y + pick(0, 0, -1, 1, -1, 1, -2, 2, -2, 2, -2, 2) + var/turf/curloc = get_turf(src) + + // redirect the projectile + P.original = locate(new_x, new_y, P.z) + P.starting = curloc + P.current = curloc + P.firer = src + P.yo = new_y - curloc.y + P.xo = new_x - curloc.x + + return -1 // complete projectile permutation + + return (..(P)) diff --git a/code/modules/mob/living/simple_animal/hostile/mimic.dm b/code/modules/mob/living/simple_animal/hostile/mimic.dm index 4fafd9db5e1..4d692e5e4d6 100644 --- a/code/modules/mob/living/simple_animal/hostile/mimic.dm +++ b/code/modules/mob/living/simple_animal/hostile/mimic.dm @@ -141,6 +141,11 @@ var/global/list/protected_objects = list(/obj/structure/table, /obj/structure/ca ..(loc) CopyObject(copy, creator) +/mob/living/simple_animal/hostile/mimic/copy/Life() + ..() + for(var/mob/living/M in contents) //a fix for animated statues from the flesh to stone spell + Die() + /mob/living/simple_animal/hostile/mimic/copy/Die() for(var/atom/movable/M in src) diff --git a/code/modules/mob/living/simple_animal/parrot.dm b/code/modules/mob/living/simple_animal/parrot.dm index 3d32627a37b..facb2b76248 100644 --- a/code/modules/mob/living/simple_animal/parrot.dm +++ b/code/modules/mob/living/simple_animal/parrot.dm @@ -109,8 +109,6 @@ lines 294-301 in living/say.dm (speech buffer) parrot_sleep_dur = parrot_sleep_max //In case someone decides to change the max without changing the duration var - player_list += src - verbs.Add(/mob/living/simple_animal/parrot/proc/steal_from_ground, \ /mob/living/simple_animal/parrot/proc/steal_from_mob, \ /mob/living/simple_animal/parrot/verb/drop_held_item_player, \ @@ -160,10 +158,11 @@ lines 294-301 in living/say.dm (speech buffer) switch(remove_from) if("ears") if(ears) - if(available_channels.len) - src.say("[pick(available_channels)] BAWWWWWK LEAVE THE HEADSET BAWKKKKK!") - else - src.say("BAWWWWWK LEAVE THE HEADSET BAWKKKKK!") + if(!stat) + if(available_channels.len) + src.say("[pick(available_channels)] BAWWWWWK LEAVE THE HEADSET BAWKKKKK!") + else + src.say("BAWWWWWK LEAVE THE HEADSET BAWKKKKK!") ears.loc = src.loc ears = null for(var/possible_phrase in speak) @@ -264,7 +263,7 @@ lines 294-301 in living/say.dm (speech buffer) if(parrot_state == PARROT_PERCH) parrot_sleep_dur = parrot_sleep_max //Reset it's sleep timer if it was perched - if(M.melee_damage_upper > 0) + if(M.melee_damage_upper > 0 && !stat) parrot_interest = M parrot_state = PARROT_SWOOP | PARROT_ATTACK //Attack other animals regardless icon_state = "parrot_fly" @@ -704,7 +703,7 @@ lines 294-301 in living/say.dm (speech buffer) //parrots will eat crackers instead of dropping them - if(istype(held_item,/obj/item/weapon/reagent_containers/food/snacks/cracker) && (!drop_gently)) + if(istype(held_item,/obj/item/weapon/reagent_containers/food/snacks/cracker) && (drop_gently)) del(held_item) held_item = null if(health < maxHealth) diff --git a/code/modules/mob/living/simple_animal/simple_animal.dm b/code/modules/mob/living/simple_animal/simple_animal.dm index 51204aa5a4f..d943a0e8fef 100644 --- a/code/modules/mob/living/simple_animal/simple_animal.dm +++ b/code/modules/mob/living/simple_animal/simple_animal.dm @@ -268,7 +268,7 @@ O.show_message("\blue [M] [response_help] [src].") if("grab") - if (M == src) + if (M == src || anchored) return if (!(status_flags & CANPUSH)) return @@ -304,7 +304,7 @@ if ((O.client && !( O.blinded ))) O.show_message(text("\blue [M] caresses [src] with its scythe like arm."), 1) if ("grab") - if(M == src) + if(M == src || anchored) return if(!(status_flags & CANPUSH)) return @@ -457,6 +457,8 @@ /mob/living/simple_animal/adjustBruteLoss(damage) health = Clamp(health - damage, 0, maxHealth) + if(health < 1) + Die() /mob/living/simple_animal/proc/SA_attackable(target) if (isliving(target)) @@ -467,4 +469,4 @@ var/obj/mecha/M = target if (M.occupant) return 0 - return 1 + return 1 diff --git a/code/modules/mob/mob_grab.dm b/code/modules/mob/mob_grab.dm index 14ec3a49e10..1d51a302f34 100644 --- a/code/modules/mob/mob_grab.dm +++ b/code/modules/mob/mob_grab.dm @@ -36,6 +36,8 @@ //Used by throw code to hand over the mob, instead of throwing the grab. The grab is then deleted by the throw code. /obj/item/weapon/grab/proc/throw() if(affecting) + if(affecting.buckled) + return null if(state >= GRAB_AGGRESSIVE) return affecting return null @@ -78,6 +80,7 @@ affecting.drop_item() affecting.hand = h for(var/obj/item/weapon/grab/G in affecting.grabbed_by) + if(G == src) continue if(G.state == GRAB_AGGRESSIVE) allow_upgrade = 0 if(allow_upgrade) @@ -106,7 +109,7 @@ return if(assailant.next_move > world.time) return - if(last_upgrade > world.time + UPGRADE_COOLDOWN) + if(world.time < (last_upgrade + UPGRADE_COOLDOWN)) return if(!assailant.canmove || assailant.lying) del(src) diff --git a/code/modules/mob/mob_helpers.dm b/code/modules/mob/mob_helpers.dm index 2fee0fbc86a..6025aebd33f 100644 --- a/code/modules/mob/mob_helpers.dm +++ b/code/modules/mob/mob_helpers.dm @@ -151,21 +151,23 @@ proc/isorgan(A) return zone -/proc/ran_zone(zone, probability) +/proc/ran_zone(zone, probability = 80) + zone = check_zone(zone) - if(!probability) probability = 90 - if(probability == 100) return zone - if(zone == "chest") - if(prob(probability)) return "chest" - var/t = rand(1, 9) - switch(t) - if(1 to 3) return "head" - if(4 to 6) return "l_arm" - if(7 to 9) return "r_arm" + if(prob(probability)) + return zone - if(prob(probability * 0.75)) return zone - return "chest" + var/t = rand(1, 17) // randomly pick a different zone, or maybe the same one + switch(t) + if(1) return "head" + if(2) return "chest" + if(3 to 6) return "l_arm" + if(7 to 10) return "r_arm" + if(10 to 13) return "l_leg" + if(14 to 17) return "r_leg" + + return zone /proc/stars(n, pr) diff --git a/code/modules/paperwork/photocopier.dm b/code/modules/paperwork/photocopier.dm index 2d429326933..d9aa009b1e3 100644 --- a/code/modules/paperwork/photocopier.dm +++ b/code/modules/paperwork/photocopier.dm @@ -52,6 +52,8 @@ onclose(user, "copier") /obj/machinery/photocopier/Topic(href, href_list) + if(..()) + return if(href_list["copy"]) if(copy) for(var/i = 0, i < copies, i++) diff --git a/code/modules/power/antimatter/control.dm b/code/modules/power/antimatter/control.dm index 61c6cabb92e..88c73bef02e 100644 --- a/code/modules/power/antimatter/control.dm +++ b/code/modules/power/antimatter/control.dm @@ -300,11 +300,7 @@ /obj/machinery/power/am_control_unit/Topic(href, href_list) - ..() - //Ignore input if we are broken or guy is not touching us, AI can control from a ways away - if(stat & (BROKEN|NOPOWER) || (get_dist(src, usr) > 1 && !istype(usr, /mob/living/silicon/ai))) - usr.unset_machine() - usr << browse(null, "window=AMcontrol") + if(..()) return if(href_list["close"]) diff --git a/code/modules/power/apc.dm b/code/modules/power/apc.dm index da28c138593..0540b9f637d 100644 --- a/code/modules/power/apc.dm +++ b/code/modules/power/apc.dm @@ -694,11 +694,12 @@ return 1 /obj/machinery/power/apc/Topic(href, href_list, var/usingUI = 1) + if(..()) + return if(!isrobot(usr)) if(!can_use(usr, 1)) return - src.add_fingerprint(usr) usr.set_machine(src) if (href_list["lock"]) @@ -796,6 +797,9 @@ if(istype(malf.loc, /obj/machinery/power/apc)) // Already in an APC malf << "You must evacuate your current apc first." return + if(!malf.can_shunt) + malf << "You cannot shunt." + return if(src.z != 1) return src.occupant = new /mob/living/silicon/ai(src,malf.laws,null,1) diff --git a/code/modules/power/generator.dm b/code/modules/power/generator.dm index 0d1aad17c71..d3e9ff828e3 100644 --- a/code/modules/power/generator.dm +++ b/code/modules/power/generator.dm @@ -151,7 +151,8 @@ /obj/machinery/power/generator/Topic(href, href_list) - ..() + if(..()) + return if( href_list["close"] ) usr << browse(null, "window=teg") usr.unset_machine() diff --git a/code/modules/power/generator_type2.dm b/code/modules/power/generator_type2.dm index 4c3db8bc3f9..3c88b3eeecb 100644 --- a/code/modules/power/generator_type2.dm +++ b/code/modules/power/generator_type2.dm @@ -128,7 +128,8 @@ /obj/machinery/power/generator_type2/Topic(href, href_list) - ..() + if(..()) + return if( href_list["close"] ) usr << browse(null, "window=teg") diff --git a/code/modules/power/gravitygenerator.dm b/code/modules/power/gravitygenerator.dm index b22c0a7e7c5..5727562ef6d 100644 --- a/code/modules/power/gravitygenerator.dm +++ b/code/modules/power/gravitygenerator.dm @@ -114,13 +114,9 @@ /obj/machinery/computer/gravity_control_computer/Topic(href, href_list) set background = 1 - ..() - if ( (get_dist(src, usr) > 1 )) - if (!istype(usr, /mob/living/silicon)) - usr.unset_machine() - usr << browse(null, "window=air_alarm") - return + if(..()) + return if(href_list["gentoggle"]) if(gravity_generator:on) diff --git a/code/modules/power/singularity/particle_accelerator/particle_control.dm b/code/modules/power/singularity/particle_accelerator/particle_control.dm index 8d92a3facfd..436dda7c594 100644 --- a/code/modules/power/singularity/particle_accelerator/particle_control.dm +++ b/code/modules/power/singularity/particle_accelerator/particle_control.dm @@ -73,11 +73,7 @@ return /obj/machinery/particle_accelerator/control_box/Topic(href, href_list) - ..() - //Ignore input if we are broken, !silicon guy cant touch us, or nonai controlling from super far away - if(stat & (BROKEN|NOPOWER) || (get_dist(src, usr) > 1 && !istype(usr, /mob/living/silicon)) || (get_dist(src, usr) > 8 && !istype(usr, /mob/living/silicon/ai))) - usr.unset_machine() - usr << browse(null, "window=pacontrol") + if(..()) return if(!interface_control) diff --git a/code/modules/power/smes.dm b/code/modules/power/smes.dm index 13ebccd4f0d..cbb9ccb90d1 100644 --- a/code/modules/power/smes.dm +++ b/code/modules/power/smes.dm @@ -210,96 +210,82 @@ /obj/machinery/power/smes/Topic(href, href_list) - ..() - - if (usr.stat || usr.restrained() ) + if(..()) return - if (!(istype(usr, /mob/living/carbon/human) || ticker) && ticker.mode.name != "monkey") - if(!istype(usr, /mob/living/silicon/ai)) - usr << "\red You don't have the dexterity to do this!" - return //world << "[href] ; [href_list[href]]" - if (( usr.machine==src && ((get_dist(src, usr) <= 1) && istype(src.loc, /turf))) || (istype(usr, /mob/living/silicon/ai))) + if( href_list["close"] ) + usr << browse(null, "window=smes") + usr.unset_machine() + return + else if( href_list["cmode"] ) + chargemode = !chargemode + if(!chargemode) + charging = 0 + updateicon() - if( href_list["close"] ) - usr << browse(null, "window=smes") - usr.unset_machine() - return + else if( href_list["online"] ) + online = !online + updateicon() + else if( href_list["input"] ) - else if( href_list["cmode"] ) - chargemode = !chargemode - if(!chargemode) - charging = 0 - updateicon() + var/i = text2num(href_list["input"]) - else if( href_list["online"] ) - online = !online - updateicon() - else if( href_list["input"] ) + var/d = 0 + switch(i) + if(-4) + chargelevel = 0 + if(4) + chargelevel = SMESMAXCHARGELEVEL //30000 - var/i = text2num(href_list["input"]) + if(1) + d = 100 + if(-1) + d = -100 + if(2) + d = 1000 + if(-2) + d = -1000 + if(3) + d = 10000 + if(-3) + d = -10000 - var/d = 0 - switch(i) - if(-4) - chargelevel = 0 - if(4) - chargelevel = SMESMAXCHARGELEVEL //30000 + chargelevel += d + chargelevel = max(0, min(SMESMAXCHARGELEVEL, chargelevel)) // clamp to range - if(1) - d = 100 - if(-1) - d = -100 - if(2) - d = 1000 - if(-2) - d = -1000 - if(3) - d = 10000 - if(-3) - d = -10000 + else if( href_list["output"] ) - chargelevel += d - chargelevel = max(0, min(SMESMAXCHARGELEVEL, chargelevel)) // clamp to range + var/i = text2num(href_list["output"]) - else if( href_list["output"] ) + var/d = 0 + switch(i) + if(-4) + output = 0 + if(4) + output = SMESMAXOUTPUT //30000 - var/i = text2num(href_list["output"]) + if(1) + d = 100 + if(-1) + d = -100 + if(2) + d = 1000 + if(-2) + d = -1000 + if(3) + d = 10000 + if(-3) + d = -10000 - var/d = 0 - switch(i) - if(-4) - output = 0 - if(4) - output = SMESMAXOUTPUT //30000 - - if(1) - d = 100 - if(-1) - d = -100 - if(2) - d = 1000 - if(-2) - d = -1000 - if(3) - d = 10000 - if(-3) - d = -10000 - - output += d - output = max(0, min(SMESMAXOUTPUT, output)) // clamp to range + output += d + output = max(0, min(SMESMAXOUTPUT, output)) // clamp to range investigate_log("input/output; [chargelevel>output?"":""][chargelevel]/[output] | Output-mode: [online?"on":"off"] | Input-mode: [chargemode?"auto":"off"] by [usr.key]","singulo") src.updateUsrDialog() - else - usr << browse(null, "window=smes") - usr.unset_machine() - return - /obj/machinery/power/smes/proc/ion_act() if(src.z == 1) diff --git a/code/modules/power/turbine.dm b/code/modules/power/turbine.dm index fbb5d216789..f39e18acdc9 100644 --- a/code/modules/power/turbine.dm +++ b/code/modules/power/turbine.dm @@ -185,39 +185,21 @@ return /obj/machinery/power/turbine/Topic(href, href_list) - ..() - if(stat & BROKEN) + if(..()) return - if (usr.stat || usr.restrained() ) - return - if (!(istype(usr, /mob/living/carbon/human) || ticker) && ticker.mode.name != "monkey") - if(!istype(usr, /mob/living/silicon/ai)) - usr << "\red You don't have the dexterity to do this!" - return - if (( usr.machine==src && ((get_dist(src, usr) <= 1) && istype(src.loc, /turf))) || (istype(usr, /mob/living/silicon/ai))) - - - if( href_list["close"] ) - usr << browse(null, "window=turbine") - usr.machine = null - return - - else if( href_list["str"] ) - compressor.starter = !compressor.starter - - spawn(0) - for(var/mob/M in viewers(1, src)) - if ((M.client && M.machine == src)) - src.interact(M) - - else + if( href_list["close"] ) usr << browse(null, "window=turbine") usr.machine = null + return - return - + else if( href_list["str"] ) + compressor.starter = !compressor.starter + spawn(0) + for(var/mob/M in viewers(1, src)) + if ((M.client && M.machine == src)) + src.interact(M) diff --git a/code/modules/projectiles/projectile.dm b/code/modules/projectiles/projectile.dm index c149e8abe33..6b2eb98b454 100644 --- a/code/modules/projectiles/projectile.dm +++ b/code/modules/projectiles/projectile.dm @@ -78,8 +78,8 @@ loc = A.loc return 0// nope.avi - var/distance = get_dist(original,loc) - def_zone = ran_zone(def_zone, 100-(5*distance)) //Lower accurancy/longer range tradeoff. + var/distance = get_dist(get_turf(A), starting) // Get the distance between the turf shot from and the mob we hit and use that for the calculations. + def_zone = ran_zone(def_zone, max(100-(7*distance), 5)) //Lower accurancy/longer range tradeoff. 7 is a balanced number to use. if(silenced) M << "You've been shot in the [parse_zone(def_zone)] by [src]!" else diff --git a/code/modules/reagents/Chemistry-Machinery.dm b/code/modules/reagents/Chemistry-Machinery.dm index 964ff592f45..68749795260 100644 --- a/code/modules/reagents/Chemistry-Machinery.dm +++ b/code/modules/reagents/Chemistry-Machinery.dm @@ -243,11 +243,9 @@ return /obj/machinery/chem_master/Topic(href, href_list) - if(stat & (BROKEN|NOPOWER)) return - if(usr.stat || usr.restrained()) return - if(!in_range(src, usr)) return + if(..()) + return - src.add_fingerprint(usr) usr.set_machine(src) diff --git a/code/modules/reagents/reagent_containers/food/snacks.dm b/code/modules/reagents/reagent_containers/food/snacks.dm index 627b7f26358..d5c1cc9eb22 100644 --- a/code/modules/reagents/reagent_containers/food/snacks.dm +++ b/code/modules/reagents/reagent_containers/food/snacks.dm @@ -122,10 +122,9 @@ /obj/item/weapon/reagent_containers/food/snacks/attackby(obj/item/weapon/W, mob/user) if(istype(W,/obj/item/weapon/storage)) ..() // -> item/attackby() - if(istype(W,/obj/item/weapon/storage)) - ..() // -> item/attackby() + return 0 if((slices_num <= 0 || !slices_num) || !slice_path) - return 1 + return 0 var/inaccurate = 0 if( \ istype(W, /obj/item/weapon/kitchenknife) || \ @@ -143,7 +142,7 @@ inaccurate = 1 else if(W.w_class <= 2 && istype(src,/obj/item/weapon/reagent_containers/food/snacks/sliceable)) if(!iscarbon(user)) - return 1 + return 0 user << "You slip [W] inside [src]." user.u_equip(W) if ((user.client && user.s_active != src)) @@ -151,9 +150,10 @@ W.dropped(user) add_fingerprint(user) contents += W - return + return 1 // no afterattack here else - return 1 + return 0 // --- this is everything that is NOT a slicing implement, and which is not being slipped into food; allow afterattack --- + if ( \ !isturf(src.loc) || \ !(locate(/obj/structure/table) in src.loc) && \ @@ -162,6 +162,7 @@ ) user << "You cannot slice [src] here! You need a table or at least a tray." return 1 + var/slices_lost = 0 if (!inaccurate) user.visible_message( \ @@ -178,7 +179,7 @@ for(var/i=1 to (slices_num-slices_lost)) var/obj/slice = new slice_path (src.loc) reagents.trans_to(slice,reagents_per_slice) - del(src) + del(src) // so long and thanks for all the fish /obj/item/weapon/reagent_containers/food/snacks/Del() diff --git a/code/modules/recycling/disposal.dm b/code/modules/recycling/disposal.dm index ead4e2c1937..c819a11ec92 100644 --- a/code/modules/recycling/disposal.dm +++ b/code/modules/recycling/disposal.dm @@ -25,446 +25,432 @@ // create a new disposal // find the attached trunk (if present) and init gas resvr. - New() - ..() - spawn(5) - trunk = locate() in src.loc - if(!trunk) - mode = 0 - flush = 0 - else - trunk.linked = src // link the pipe trunk to self - - air_contents = new/datum/gas_mixture() - //gas.volume = 1.05 * CELLSTANDARD - update() - - Del() - for(var/atom/movable/AM in contents) - AM.loc = src.loc - ..() - - // attack by item places it in to disposal - attackby(var/obj/item/I, var/mob/user) - if(stat & BROKEN || !I || !user) - return - - if(isrobot(user) && !istype(I, /obj/item/weapon/storage/bag/trash)) - return - src.add_fingerprint(user) - if(mode<=0) // It's off - if(istype(I, /obj/item/weapon/screwdriver)) - if(contents.len > 0) - user << "Eject the items first!" - return - if(mode==0) // It's off but still not unscrewed - mode=-1 // Set it to doubleoff l0l - playsound(src.loc, 'sound/items/Screwdriver.ogg', 50, 1) - user << "You remove the screws around the power connection." - return - else if(mode==-1) - mode=0 - playsound(src.loc, 'sound/items/Screwdriver.ogg', 50, 1) - user << "You attach the screws around the power connection." - return - else if(istype(I,/obj/item/weapon/weldingtool) && mode==-1) - if(contents.len > 0) - user << "Eject the items first!" - return - var/obj/item/weapon/weldingtool/W = I - if(W.remove_fuel(0,user)) - playsound(src.loc, 'sound/items/Welder2.ogg', 100, 1) - user << "You start slicing the floorweld off the disposal unit." - - if(do_after(user,20)) - if(!src || !W.isOn()) return - user << "You sliced the floorweld off the disposal unit." - var/obj/structure/disposalconstruct/C = new (src.loc) - src.transfer_fingerprints_to(C) - C.ptype = 6 // 6 = disposal unit - C.anchored = 1 - C.density = 1 - C.update() - del(src) - return - else - user << "You need more welding fuel to complete this task." - return - - if(istype(I, /obj/item/weapon/melee/energy/blade)) - user << "You can't place that item inside the disposal unit." - return - - if(istype(I, /obj/item/weapon/storage/bag/trash)) - var/obj/item/weapon/storage/bag/trash/T = I - user << "\blue You empty the bag." - for(var/obj/item/O in T.contents) - T.remove_from_storage(O,src) - T.update_icon() - update() - return - - var/obj/item/weapon/grab/G = I - if(istype(G)) // handle grabbed mob - if(ismob(G.affecting)) - var/mob/GM = G.affecting - for (var/mob/V in viewers(usr)) - V.show_message("[usr] starts putting [GM.name] into the disposal.", 3) - if(do_after(usr, 20)) - if (GM.client) - GM.client.perspective = EYE_PERSPECTIVE - GM.client.eye = src - GM.loc = src - for (var/mob/C in viewers(src)) - C.show_message("\red [GM.name] has been placed in the [src] by [user].", 3) - del(G) - return - - if(!I) return - - user.drop_item() - if(I) - I.loc = src - - user << "You place \the [I] into the [src]." - for(var/mob/M in viewers(src)) - if(M == user) - continue - M.show_message("[user.name] places \the [I] into the [src].", 3) - - update() - - // mouse drop another mob or self - // - MouseDrop_T(mob/target, mob/user) - if (!istype(target) || target.buckled || get_dist(user, src) > 1 || get_dist(user, target) > 1 || user.stat || istype(user, /mob/living/silicon/ai)) - return - src.add_fingerprint(user) - var/target_loc = target.loc - var/msg - for (var/mob/V in viewers(usr)) - if(target == user && !user.stat && !user.weakened && !user.stunned && !user.paralysis) - V.show_message("[usr] starts climbing into the disposal.", 3) - if(target != user && !user.restrained() && !user.stat && !user.weakened && !user.stunned && !user.paralysis) - if(target.anchored) return - if(!ishuman(user) && !ismonkey(user)) return - V.show_message("[usr] starts stuffing [target.name] into the disposal.", 3) - if(!do_after(usr, 20)) - return - if(target_loc != target.loc) - return - if(target == user && !user.stat && !user.weakened && !user.stunned && !user.paralysis) // if drop self, then climbed in - // must be awake, not stunned or whatever - msg = "[user.name] climbs into the [src]." - user << "You climb into the [src]." - else if(target != user && !user.restrained() && !user.stat && !user.weakened && !user.stunned && !user.paralysis) - msg = "[user.name] stuffs [target.name] into the [src]!" - user << "You stuff [target.name] into the [src]!" - else - return - if (target.client) - target.client.perspective = EYE_PERSPECTIVE - target.client.eye = src - target.loc = src - - for (var/mob/C in viewers(src)) - if(C == user) - continue - C.show_message(msg, 3) - - update() - return - - // can breath normally in the disposal - alter_health() - return get_turf(src) - - // attempt to move while inside - relaymove(mob/user as mob) - if(user.stat || src.flushing) - return - src.go_out(user) - return - - // leave the disposal - proc/go_out(mob/user) - - if (user.client) - user.client.eye = user.client.mob - user.client.perspective = MOB_PERSPECTIVE - user.loc = src.loc - update() - return - - - // monkeys can only pull the flush lever - attack_paw(mob/user as mob) - if(stat & BROKEN) - return - - flush = !flush - update() - return - - // ai as human but can't flush - attack_ai(mob/user as mob) - interact(user, 1) - - // human interact with machine - attack_hand(mob/user as mob) - if(user && user.loc == src) - usr << "\red You cannot reach the controls from inside." - return - /* - if(mode==-1) - usr << "\red The disposal units power is disabled." - return - */ - interact(user, 0) - - // user interaction - interact(mob/user, var/ai=0) - - src.add_fingerprint(user) - if(stat & BROKEN) - user.unset_machine() - return - - var/dat = "Waste Disposal UnitWaste Disposal Unit
" - - if(!ai) // AI can't pull flush handle - if(flush) - dat += "Disposal handle: Disengage Engaged" - else - dat += "Disposal handle: Disengaged Engage" - - dat += "

Eject contents
" - - if(mode <= 0) - dat += "Pump: Off On
" - else if(mode == 1) - dat += "Pump: Off On (pressurizing)
" - else - dat += "Pump: Off On (idle)
" - - var/per = 100* air_contents.return_pressure() / (SEND_PRESSURE) - - dat += "Pressure: [round(per, 1)]%
" - - - user.set_machine(src) - user << browse(dat, "window=disposal;size=360x170") - onclose(user, "disposal") - - // handle machine interaction - - Topic(href, href_list) - if(usr.loc == src) - usr << "\red You cannot reach the controls from inside." - return - - if(mode==-1 && !href_list["eject"]) // only allow ejecting if mode is -1 - usr << "\red The disposal units power is disabled." - return - ..() - src.add_fingerprint(usr) - if(stat & BROKEN) - return - if(usr.stat || usr.restrained() || src.flushing) - return - - if (in_range(src, usr) && istype(src.loc, /turf)) - usr.set_machine(src) - - if(href_list["close"]) - usr.unset_machine() - usr << browse(null, "window=disposal") - return - - if(href_list["pump"]) - if(text2num(href_list["pump"])) - mode = 1 - else - mode = 0 - update() - - if(href_list["handle"]) - flush = text2num(href_list["handle"]) - update() - - if(href_list["eject"]) - eject() - else - usr << browse(null, "window=disposal") - usr.unset_machine() - return - return - - // eject the contents of the disposal unit - proc/eject() - for(var/atom/movable/AM in src) - AM.loc = src.loc - AM.pipe_eject(0) - update() - - // update the icon & overlays to reflect mode & status - proc/update() - overlays.Cut() - if(stat & BROKEN) - icon_state = "disposal-broken" +/obj/machinery/disposal/New() + ..() + spawn(5) + trunk = locate() in src.loc + if(!trunk) mode = 0 flush = 0 - return + else + trunk.linked = src // link the pipe trunk to self - // flush handle - if(flush) - overlays += image('icons/obj/pipes/disposal.dmi', "dispover-handle") + air_contents = new/datum/gas_mixture() + //gas.volume = 1.05 * CELLSTANDARD + update() - // only handle is shown if no power - if(stat & NOPOWER || mode == -1) - return +/obj/machinery/disposal/Del() + for(var/atom/movable/AM in contents) + AM.loc = src.loc + ..() - // check for items in disposal - occupied light - if(contents.len > 0) - overlays += image('icons/obj/pipes/disposal.dmi', "dispover-full") - - // charging and ready light - if(mode == 1) - overlays += image('icons/obj/pipes/disposal.dmi', "dispover-charge") - else if(mode == 2) - overlays += image('icons/obj/pipes/disposal.dmi', "dispover-ready") - - // timed process - // charge the gas reservoir and perform flush if ready - process() - if(stat & BROKEN) // nothing can happen if broken - return - - if(!air_contents) // Potentially causes a runtime otherwise (if this is really shitty, blame pete //Donkie) - return - - flush_count++ - if( flush_count >= flush_every_ticks ) - if( contents.len ) - if(mode == 2) - spawn(0) - feedback_inc("disposal_auto_flush",1) - flush() - flush_count = 0 - - src.updateDialog() - - if(flush && air_contents.return_pressure() >= SEND_PRESSURE ) // flush can happen even without power - flush() - - if(stat & NOPOWER) // won't charge if no power - return - - use_power(100) // base power usage - - if(mode != 1) // if off or ready, no need to charge - return - - // otherwise charge - use_power(500) // charging power usage - - var/atom/L = loc // recharging from loc turf - - var/datum/gas_mixture/env = L.return_air() - var/pressure_delta = (SEND_PRESSURE*1.01) - air_contents.return_pressure() - - if(env.temperature > 0) - var/transfer_moles = 0.1 * pressure_delta*air_contents.volume/(env.temperature * R_IDEAL_GAS_EQUATION) - - //Actually transfer the gas - var/datum/gas_mixture/removed = env.remove(transfer_moles) - air_contents.merge(removed) - - - // if full enough, switch to ready mode - if(air_contents.return_pressure() >= SEND_PRESSURE) - mode = 2 - update() + // attack by item places it in to disposal +/obj/machinery/disposal/attackby(var/obj/item/I, var/mob/user) + if(stat & BROKEN || !I || !user) return - // perform a flush - proc/flush() + if(isrobot(user) && !istype(I, /obj/item/weapon/storage/bag/trash)) + return + src.add_fingerprint(user) + if(mode<=0) // It's off + if(istype(I, /obj/item/weapon/screwdriver)) + if(contents.len > 0) + user << "Eject the items first!" + return + if(mode==0) // It's off but still not unscrewed + mode=-1 // Set it to doubleoff l0l + playsound(src.loc, 'sound/items/Screwdriver.ogg', 50, 1) + user << "You remove the screws around the power connection." + return + else if(mode==-1) + mode=0 + playsound(src.loc, 'sound/items/Screwdriver.ogg', 50, 1) + user << "You attach the screws around the power connection." + return + else if(istype(I,/obj/item/weapon/weldingtool) && mode==-1) + if(contents.len > 0) + user << "Eject the items first!" + return + var/obj/item/weapon/weldingtool/W = I + if(W.remove_fuel(0,user)) + playsound(src.loc, 'sound/items/Welder2.ogg', 100, 1) + user << "You start slicing the floorweld off the disposal unit." - flushing = 1 - flick("[icon_state]-flush", src) + if(do_after(user,20)) + if(!src || !W.isOn()) return + user << "You sliced the floorweld off the disposal unit." + var/obj/structure/disposalconstruct/C = new (src.loc) + src.transfer_fingerprints_to(C) + C.ptype = 6 // 6 = disposal unit + C.anchored = 1 + C.density = 1 + C.update() + del(src) + return + else + user << "You need more welding fuel to complete this task." + return - var/wrapcheck = 0 - var/obj/structure/disposalholder/H = new() // virtual holder object which actually - // travels through the pipes. - for(var/obj/item/smallDelivery/O in src) - wrapcheck = 1 + if(istype(I, /obj/item/weapon/melee/energy/blade)) + user << "You can't place that item inside the disposal unit." + return - if(wrapcheck == 1) - H.tomail = 1 - - - air_contents = new() // new empty gas resv. - - sleep(10) - if(last_sound < world.time + 1) - playsound(src, 'sound/machines/disposalflush.ogg', 50, 0, 0) - last_sound = world.time - sleep(5) // wait for animation to finish - - - H.init(src) // copy the contents of disposer to holder - - H.start(src) // start the holder processing movement - flushing = 0 - // now reset disposal state - flush = 0 - if(mode == 2) // if was ready, - mode = 1 // switch to charging + if(istype(I, /obj/item/weapon/storage/bag/trash)) + var/obj/item/weapon/storage/bag/trash/T = I + user << "\blue You empty the bag." + for(var/obj/item/O in T.contents) + T.remove_from_storage(O,src) + T.update_icon() update() return - - // called when area power changes - power_change() - ..() // do default setting/reset of stat NOPOWER bit - update() // update icon + var/obj/item/weapon/grab/G = I + if(istype(G)) // handle grabbed mob + if(ismob(G.affecting)) + var/mob/GM = G.affecting + for (var/mob/V in viewers(usr)) + V.show_message("[usr] starts putting [GM.name] into the disposal.", 3) + if(do_after(usr, 20)) + if (GM.client) + GM.client.perspective = EYE_PERSPECTIVE + GM.client.eye = src + GM.loc = src + for (var/mob/C in viewers(src)) + C.show_message("\red [GM.name] has been placed in the [src] by [user].", 3) + del(G) return + if(!I) return - // called when holder is expelled from a disposal - // should usually only occur if the pipe network is modified - proc/expel(var/obj/structure/disposalholder/H) + user.drop_item() + if(I) + I.loc = src - var/turf/target - playsound(src, 'sound/machines/hiss.ogg', 50, 0, 0) - if(H) // Somehow, someone managed to flush a window which broke mid-transit and caused the disposal to go in an infinite loop trying to expel null, hopefully this fixes it - for(var/atom/movable/AM in H) - target = get_offset_target_turf(src.loc, rand(5)-rand(5), rand(5)-rand(5)) + user << "You place \the [I] into the [src]." + for(var/mob/M in viewers(src)) + if(M == user) + continue + M.show_message("[user.name] places \the [I] into the [src].", 3) - AM.loc = src.loc - AM.pipe_eject(0) - spawn(1) - if(AM) - AM.throw_at(target, 5, 1) + update() - H.vent_gas(loc) - del(H) +// mouse drop another mob or self +// +/obj/machinery/disposal/MouseDrop_T(mob/target, mob/user) + if (!istype(target) || target.buckled || get_dist(user, src) > 1 || get_dist(user, target) > 1 || user.stat || istype(user, /mob/living/silicon/ai)) + return + src.add_fingerprint(user) + var/target_loc = target.loc + var/msg + for (var/mob/V in viewers(usr)) + if(target == user && !user.stat && !user.weakened && !user.stunned && !user.paralysis) + V.show_message("[usr] starts climbing into the disposal.", 3) + if(target != user && !user.restrained() && !user.stat && !user.weakened && !user.stunned && !user.paralysis) + if(target.anchored) return + if(!ishuman(user) && !ismonkey(user)) return + V.show_message("[usr] starts stuffing [target.name] into the disposal.", 3) + if(!do_after(usr, 20)) + return + if(target_loc != target.loc) + return + if(target == user && !user.stat && !user.weakened && !user.stunned && !user.paralysis) // if drop self, then climbed in + // must be awake, not stunned or whatever + msg = "[user.name] climbs into the [src]." + user << "You climb into the [src]." + else if(target != user && !user.restrained() && !user.stat && !user.weakened && !user.stunned && !user.paralysis) + msg = "[user.name] stuffs [target.name] into the [src]!" + user << "You stuff [target.name] into the [src]!" + else + return + if (target.client) + target.client.perspective = EYE_PERSPECTIVE + target.client.eye = src + target.loc = src - CanPass(atom/movable/mover, turf/target, height=0, air_group=0) - if (istype(mover,/obj/item) && mover.throwing) - var/obj/item/I = mover - if(istype(I, /obj/item/weapon/dummy) || istype(I, /obj/item/projectile)) - return - if(prob(75)) - I.loc = src - for(var/mob/M in viewers(src)) - M.show_message("\the [I] lands in \the [src].", 3) - else - for(var/mob/M in viewers(src)) - M.show_message("\the [I] bounces off of \the [src]'s rim!.", 3) - return 0 + for (var/mob/C in viewers(src)) + if(C == user) + continue + C.show_message(msg, 3) + + update() + return + +// can breath normally in the disposal +/obj/machinery/disposal/alter_health() + return get_turf(src) + +// attempt to move while inside +/obj/machinery/disposal/relaymove(mob/user as mob) + if(user.stat || src.flushing) + return + src.go_out(user) + return + +// leave the disposal +/obj/machinery/disposal/proc/go_out(mob/user) + + if (user.client) + user.client.eye = user.client.mob + user.client.perspective = MOB_PERSPECTIVE + user.loc = src.loc + update() + return + + +// monkeys can only pull the flush lever +/obj/machinery/disposal/attack_paw(mob/user as mob) + if(stat & BROKEN) + return + + flush = !flush + update() + return + +// ai as human but can't flush +/obj/machinery/disposal/attack_ai(mob/user as mob) + interact(user, 1) + +// human interact with machine +/obj/machinery/disposal/attack_hand(mob/user as mob) + if(user && user.loc == src) + usr << "\red You cannot reach the controls from inside." + return + /* + if(mode==-1) + usr << "\red The disposal units power is disabled." + return + */ + interact(user, 0) + +// user interaction +/obj/machinery/disposal/interact(mob/user, var/ai=0) + + src.add_fingerprint(user) + if(stat & BROKEN) + user.unset_machine() + return + + var/dat = "Waste Disposal UnitWaste Disposal Unit
" + + if(!ai) // AI can't pull flush handle + if(flush) + dat += "Disposal handle: Disengage Engaged" else - return ..(mover, target, height, air_group) + dat += "Disposal handle: Disengaged Engage" + + dat += "

Eject contents
" + + if(mode <= 0) + dat += "Pump: Off On
" + else if(mode == 1) + dat += "Pump: Off On (pressurizing)
" + else + dat += "Pump: Off On (idle)
" + + var/per = 100* air_contents.return_pressure() / (SEND_PRESSURE) + + dat += "Pressure: [round(per, 1)]%
" + + + user.set_machine(src) + user << browse(dat, "window=disposal;size=360x170") + onclose(user, "disposal") + +// handle machine interaction + +/obj/machinery/disposal/Topic(href, href_list) + if(..()) + return + if(usr.loc == src) + usr << "\red You cannot reach the controls from inside." + return + + if(mode==-1 && !href_list["eject"]) // only allow ejecting if mode is -1 + usr << "\red The disposal units power is disabled." + return + ..() + usr.set_machine(src) + + if(href_list["close"]) + usr.unset_machine() + usr << browse(null, "window=disposal") + return + + if(href_list["pump"]) + if(text2num(href_list["pump"])) + mode = 1 + else + mode = 0 + update() + + if(href_list["handle"]) + flush = text2num(href_list["handle"]) + update() + + if(href_list["eject"]) + eject() + return + +// eject the contents of the disposal unit +/obj/machinery/disposal/proc/eject() + for(var/atom/movable/AM in src) + AM.loc = src.loc + AM.pipe_eject(0) + update() + +// update the icon & overlays to reflect mode & status +/obj/machinery/disposal/proc/update() + overlays.Cut() + if(stat & BROKEN) + icon_state = "disposal-broken" + mode = 0 + flush = 0 + return + + // flush handle + if(flush) + overlays += image('icons/obj/pipes/disposal.dmi', "dispover-handle") + + // only handle is shown if no power + if(stat & NOPOWER || mode == -1) + return + + // check for items in disposal - occupied light + if(contents.len > 0) + overlays += image('icons/obj/pipes/disposal.dmi', "dispover-full") + + // charging and ready light + if(mode == 1) + overlays += image('icons/obj/pipes/disposal.dmi', "dispover-charge") + else if(mode == 2) + overlays += image('icons/obj/pipes/disposal.dmi', "dispover-ready") + +// timed process +// charge the gas reservoir and perform flush if ready +/obj/machinery/disposal/process() + if(stat & BROKEN) // nothing can happen if broken + return + + flush_count++ + if( flush_count >= flush_every_ticks ) + if( contents.len ) + if(mode == 2) + spawn(0) + feedback_inc("disposal_auto_flush",1) + flush() + flush_count = 0 + + src.updateDialog() + + if(flush && air_contents.return_pressure() >= SEND_PRESSURE ) // flush can happen even without power + spawn(0) + flush() + + if(stat & NOPOWER) // won't charge if no power + return + + use_power(100) // base power usage + + if(mode != 1) // if off or ready, no need to charge + return + + // otherwise charge + use_power(500) // charging power usage + + var/atom/L = loc // recharging from loc turf + + var/datum/gas_mixture/env = L.return_air() + var/pressure_delta = (SEND_PRESSURE*1.01) - air_contents.return_pressure() + + if(env.temperature > 0) + var/transfer_moles = 0.1 * pressure_delta*air_contents.volume/(env.temperature * R_IDEAL_GAS_EQUATION) + + //Actually transfer the gas + var/datum/gas_mixture/removed = env.remove(transfer_moles) + air_contents.merge(removed) + + + // if full enough, switch to ready mode + if(air_contents.return_pressure() >= SEND_PRESSURE) + mode = 2 + update() + return + +// perform a flush +/obj/machinery/disposal/proc/flush() + + flushing = 1 + flick("[icon_state]-flush", src) + + var/wrapcheck = 0 + var/obj/structure/disposalholder/H = new() // virtual holder object which actually + // travels through the pipes. + for(var/obj/item/smallDelivery/O in src) + wrapcheck = 1 + + if(wrapcheck == 1) + H.tomail = 1 + + sleep(10) + if(last_sound < world.time + 1) + playsound(src, 'sound/machines/disposalflush.ogg', 50, 0, 0) + last_sound = world.time + sleep(5) // wait for animation to finish + + H.init(src) // copy the contents of disposer to holder + air_contents = new() // new empty gas resv. + + H.start(src) // start the holder processing movement + flushing = 0 + // now reset disposal state + flush = 0 + if(mode == 2) // if was ready, + mode = 1 // switch to charging + update() + return + + +// called when area power changes +/obj/machinery/disposal/power_change() + ..() // do default setting/reset of stat NOPOWER bit + update() // update icon + return + + +// called when holder is expelled from a disposal +// should usually only occur if the pipe network is modified +/obj/machinery/disposal/proc/expel(var/obj/structure/disposalholder/H) + + var/turf/target + playsound(src, 'sound/machines/hiss.ogg', 50, 0, 0) + if(H) // Somehow, someone managed to flush a window which broke mid-transit and caused the disposal to go in an infinite loop trying to expel null, hopefully this fixes it + for(var/atom/movable/AM in H) + target = get_offset_target_turf(src.loc, rand(5)-rand(5), rand(5)-rand(5)) + + AM.loc = src.loc + AM.pipe_eject(0) + spawn(1) + if(AM) + AM.throw_at(target, 5, 1) + + H.vent_gas(loc) + del(H) + +/obj/machinery/disposal/CanPass(atom/movable/mover, turf/target, height=0, air_group=0) + if (istype(mover,/obj/item) && mover.throwing) + var/obj/item/I = mover + if(istype(I, /obj/item/weapon/dummy) || istype(I, /obj/item/projectile)) + return + if(prob(75)) + I.loc = src + for(var/mob/M in viewers(src)) + M.show_message("\the [I] lands in \the [src].", 3) + else + for(var/mob/M in viewers(src)) + M.show_message("\the [I] bounces off of \the [src]'s rim!.", 3) + return 0 + else + return ..(mover, target, height, air_group) // virtual disposal object // travels through pipes in lieu of actual items diff --git a/code/modules/security levels/keycard authentication.dm b/code/modules/security levels/keycard authentication.dm index c42aec969ae..85da9d23780 100644 --- a/code/modules/security levels/keycard authentication.dm +++ b/code/modules/security levels/keycard authentication.dm @@ -80,13 +80,11 @@ /obj/machinery/keycard_auth/Topic(href, href_list) - ..() + if(..()) + return if(busy) usr << "This device is busy." return - if(usr.stat || stat & (BROKEN|NOPOWER)) - usr << "This device is without power." - return if(href_list["triggerevent"]) event = href_list["triggerevent"] screen = 2 @@ -94,7 +92,6 @@ reset() updateUsrDialog() - add_fingerprint(usr) return /obj/machinery/keycard_auth/proc/reset() diff --git a/html/changelog.html b/html/changelog.html index 6ea1d1b4eee..f186f463898 100644 --- a/html/changelog.html +++ b/html/changelog.html @@ -52,6 +52,44 @@ should be listed in the changelog upon commit tho. Thanks. --> + +
+

21 July 2013

+

Malkevin updated:

+
    +
  • Cultists now start with two words each, and the starting talisman no longer damages you when you use it
  • +
+
+ + +
+

21 July 2013

+

Cheridan updated:

+
    +
  • Instead of a level-up system where it is possible to acquire all the skills, each skill now costs 1 point, and you can pick up to 5.Husking people, instead of giving you more XP to buy skills, now gives you a skill reset, allowing you to pick new ones.
  • +
  • DNA Extract Sting is now free, and is your main mode of acquiring DNA. You can hold up to 5 DNAs, and as you acquire more, the oldest one is removed. If you're currently using the oldest DNA strand, you will be required to transform before gaining more.
  • +
  • New abilities! An UI indicator for chemical storage! Fun!
  • +
+
+ + +
+

16 July 2013

+

Malkevin updated:

+
    +
  • Summary of my recent changes: Added a muzzle and a box of Prisoner ID cards to the perma wing, RnD can make a new combined gas mask with welding visor, added some atmos analyzers to atmospherics, air alarm circuit boards have their own sprites, package wrapped objects will now loop back round to the mail chute instead of auto-rerouting to disposals, and the detective and captain have access to securitrons through their PDA cartridges.
  • +
+
+ +
+

15 July 2013

+

Giacom updated:

+
    +
  • A new item has been added to the syndicate catalog. The AI detector is a device disguised as a multitool; it is not only able to be used as a real multitool but when it detects an AI looking at it, or it's holder, it will turn red to indicate to the holder that he should cease supiscious activities. A great and cheap, to produce, tool for undercover operations involving an AI as the security system.
  • +
+
+ +

7 July 2013

Giacom updated:

diff --git a/icons/effects/blood.dmi b/icons/effects/blood.dmi index 840f8493050..1e0d8c641e5 100644 Binary files a/icons/effects/blood.dmi and b/icons/effects/blood.dmi differ diff --git a/icons/mecha/mech_bay.dmi b/icons/mecha/mech_bay.dmi index e696042ecde..332387bef89 100644 Binary files a/icons/mecha/mech_bay.dmi and b/icons/mecha/mech_bay.dmi differ diff --git a/icons/mob/animal.dmi b/icons/mob/animal.dmi index ef9de5ff056..64f84b02229 100644 Binary files a/icons/mob/animal.dmi and b/icons/mob/animal.dmi differ diff --git a/icons/mob/screen_gen.dmi b/icons/mob/screen_gen.dmi index 40af9ed020f..5eace7bf072 100644 Binary files a/icons/mob/screen_gen.dmi and b/icons/mob/screen_gen.dmi differ diff --git a/icons/obj/device.dmi b/icons/obj/device.dmi index 2f90ce41698..5fbeebf0eff 100644 Binary files a/icons/obj/device.dmi and b/icons/obj/device.dmi differ diff --git a/icons/obj/food.dmi b/icons/obj/food.dmi index 18e0ef3c46f..ef72b1eb7fd 100644 Binary files a/icons/obj/food.dmi and b/icons/obj/food.dmi differ diff --git a/icons/obj/statue.dmi b/icons/obj/statue.dmi new file mode 100644 index 00000000000..cfc1fbca9d3 Binary files /dev/null and b/icons/obj/statue.dmi differ diff --git a/icons/obj/vending.dmi b/icons/obj/vending.dmi index be41da1a869..9dcefce3860 100644 Binary files a/icons/obj/vending.dmi and b/icons/obj/vending.dmi differ diff --git a/icons/turf/floors.dmi b/icons/turf/floors.dmi index f5363c2217a..c102ff7a669 100644 Binary files a/icons/turf/floors.dmi and b/icons/turf/floors.dmi differ diff --git a/maps/MetaStation.v32F.dmm b/maps/MetaStation.v34B.dmm similarity index 97% rename from maps/MetaStation.v32F.dmm rename to maps/MetaStation.v34B.dmm index 0176a8ecfa5..779ed8d2332 100644 --- a/maps/MetaStation.v32F.dmm +++ b/maps/MetaStation.v34B.dmm @@ -134,8 +134,8 @@ "acD" = (/obj/structure/reagent_dispensers/peppertank{pixel_x = 30; pixel_y = 0},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 10},/turf/simulated/floor{dir = 4; icon_state = "warning"},/area/security/warden) "acE" = (/obj/structure/table/woodentable,/obj/item/weapon/folder/red,/turf/simulated/floor/carpet,/area/security/hos) "acF" = (/obj/item/weapon/stamp/hos,/obj/structure/table/woodentable,/turf/simulated/floor/carpet,/area/security/hos) -"acG" = (/obj/item/weapon/paper_bin{pixel_x = -3; pixel_y = 7},/obj/item/weapon/pen,/obj/structure/table/woodentable,/obj/structure/cable/yellow{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor/carpet,/area/security/hos) -"acH" = (/obj/structure/table/woodentable,/obj/item/device/radio/off,/obj/item/device/taperecorder{pixel_y = 0},/obj/item/device/radio/intercom{dir = 4; name = "Station Intercom (General)"; pixel_x = 31; pixel_y = -10},/obj/machinery/keycard_auth{pixel_x = 24; pixel_y = 8},/turf/simulated/floor/carpet,/area/security/hos) +"acG" = (/obj/item/weapon/paper_bin{pixel_x = -3; pixel_y = 7},/obj/item/weapon/pen,/obj/structure/table/woodentable,/obj/structure/cable/yellow{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/item/device/radio/off,/turf/simulated/floor/carpet,/area/security/hos) +"acH" = (/obj/structure/table/woodentable,/obj/item/device/radio/intercom{dir = 4; name = "Station Intercom (General)"; pixel_x = 31; pixel_y = -10},/obj/machinery/keycard_auth{pixel_x = 24; pixel_y = 8},/obj/item/weapon/storage/lockbox,/obj/item/device/taperecorder{pixel_y = 0},/turf/simulated/floor/carpet,/area/security/hos) "acI" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 1},/obj/structure/cable/yellow{d2 = 4; icon_state = "0-4"},/turf/simulated/floor/plating,/area/security/main) "acJ" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 1},/obj/structure/cable/yellow{d1 = 2; d2 = 8; icon_state = "2-8"},/obj/structure/cable/yellow{d2 = 2; icon_state = "0-2"},/turf/simulated/floor/plating,/area/security/main) "acK" = (/turf/simulated/wall/r_wall,/area/security/main) @@ -222,8 +222,8 @@ "aen" = (/obj/structure/rack,/obj/item/weapon/handcuffs,/obj/item/device/flash,/turf/simulated/floor{icon_state = "dark"},/area/security/prison) "aeo" = (/obj/structure/rack,/obj/item/weapon/handcuffs,/obj/item/device/flash,/obj/structure/cable/yellow{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor{icon_state = "dark"},/area/security/prison) "aep" = (/obj/structure/closet/secure_closet/injection,/turf/simulated/floor{icon_state = "dark"},/area/security/prison) -"aeq" = (/obj/structure/table,/obj/item/weapon/storage/box/bodybags,/obj/item/weapon/pen,/turf/simulated/floor{icon_state = "dark"},/area/security/prison) -"aer" = (/obj/structure/table,/obj/item/clothing/suit/straight_jacket,/obj/item/clothing/glasses/sunglasses/blindfold,/turf/simulated/floor{icon_state = "whitehall"; dir = 1},/area/security/prison) +"aeq" = (/obj/structure/table,/obj/item/clothing/suit/straight_jacket,/obj/item/clothing/glasses/sunglasses/blindfold,/obj/item/clothing/mask/muzzle,/turf/simulated/floor{icon_state = "whitehall"; dir = 1},/area/security/prison) +"aer" = (/obj/structure/table,/obj/item/weapon/storage/box/bodybags{pixel_x = 4; pixel_y = 2},/obj/item/weapon/pen,/obj/item/weapon/storage/box/prisoner,/turf/simulated/floor{icon_state = "dark"},/area/security/prison) "aes" = (/obj/structure/table,/obj/item/device/radio/electropack,/turf/simulated/floor{icon_state = "whitehall"; dir = 1},/area/security/prison) "aet" = (/obj/structure/table,/obj/item/stack/medical/ointment{pixel_y = 4},/obj/item/stack/medical/bruise_pack{pixel_x = 10; pixel_y = 2},/obj/item/weapon/reagent_containers/syringe/inaprovaline{pixel_x = 5; pixel_y = -2},/obj/machinery/atmospherics/unary/vent_scrubber{dir = 1; on = 1; scrub_N2O = 0; scrub_Toxins = 0},/turf/simulated/floor{icon_state = "whitehall"; dir = 1},/area/security/prison) "aeu" = (/obj/structure/closet/secure_closet/brig{anchored = 1},/turf/simulated/floor{icon_state = "red"; dir = 1},/area/security/prison) @@ -252,7 +252,7 @@ "aeR" = (/obj/machinery/atmospherics/unary/vent_pump{dir = 8; on = 1},/obj/machinery/light,/turf/simulated/floor/plating{tag = "icon-warnplate (EAST)"; icon_state = "warnplate"; dir = 4},/area/maintenance/fpmaint2{name = "Port Maintenance"}) "aeS" = (/obj/structure/table,/obj/item/weapon/paper_bin{pixel_x = -3; pixel_y = 7},/obj/item/weapon/pen,/turf/simulated/floor{icon_state = "showroomfloor"},/area/security/warden) "aeT" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden,/turf/simulated/floor{icon_state = "showroomfloor"},/area/security/warden) -"aeU" = (/obj/machinery/door_control{id = "Disposal Exit"; name = "Disposal Blast Door Control"; pixel_x = -25; pixel_y = 4; req_access_txt = "12"},/obj/machinery/driver_button{id = "trash"; pixel_x = -26; pixel_y = -6},/turf/simulated/floor/plating,/area/maintenance/disposal) +"aeU" = (/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},/turf/simulated/floor/plating{tag = "icon-warnplate (EAST)"; icon_state = "warnplate"; dir = 4},/area/maintenance/starboard) "aeV" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/obj/structure/cable/yellow{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor{icon_state = "red"; dir = 9},/area/security/main) "aeW" = (/obj/structure/sign/securearea{pixel_y = 32},/obj/structure/table,/obj/machinery/recharger{pixel_y = 4},/turf/simulated/floor{icon_state = "red"; dir = 1},/area/security/main) "aeX" = (/obj/structure/table,/obj/item/weapon/folder/red,/obj/item/weapon/book/manual/security_space_law,/obj/machinery/atmospherics/pipe/simple/supply/hidden,/turf/simulated/floor{icon_state = "red"; dir = 1},/area/security/main) @@ -412,8 +412,8 @@ "ahV" = (/obj/structure/closet/crate,/obj/item/weapon/coin/silver,/obj/item/weapon/grenade/chem_grenade,/turf/simulated/floor/plating,/area/maintenance/fpmaint2{name = "Port Maintenance"}) "ahW" = (/turf/simulated/floor{icon_state = "grimy"},/area/security/detectives_office) "ahX" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/turf/simulated/wall/r_wall,/area/security/brig) -"ahY" = (/obj/structure/extinguisher_cabinet{pixel_x = -27; pixel_y = 1},/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/yellow{d1 = 1; d2 = 4; icon_state = "1-4"},/turf/simulated/floor{icon_state = "red"; dir = 8},/area/security/brig) -"ahZ" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 5},/obj/structure/cable/yellow{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/structure/cable/yellow{d1 = 2; d2 = 4; icon_state = "2-4"},/obj/structure/cable/yellow{d1 = 1; d2 = 4; icon_state = "1-4"},/turf/simulated/floor,/area/security/brig) +"ahY" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/obj/machinery/firealarm{dir = 8; pixel_x = -24},/turf/simulated/floor{icon_state = "red"; dir = 9},/area/security/brig) +"ahZ" = (/obj/structure/extinguisher_cabinet{pixel_x = -27; pixel_y = 1},/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 = "red"; dir = 8},/area/security/brig) "aia" = (/obj/machinery/atmospherics/pipe/manifold{color = "blue"; dir = 1; icon_state = "manifold-b-f"; level = 1; name = "pipe manifold"},/obj/structure/cable/yellow{d1 = 1; d2 = 4; icon_state = "1-4"},/obj/structure/cable/yellow{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor,/area/security/brig) "aib" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/obj/structure/cable/yellow{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor,/area/security/brig) "aic" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/obj/structure/cable/yellow{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/structure/cable/yellow{d1 = 1; d2 = 4; icon_state = "1-4"},/turf/simulated/floor,/area/security/brig) @@ -527,7 +527,7 @@ "akg" = (/turf/simulated/floor/plating,/obj/structure/shuttle/engine/propulsion/burst,/turf/simulated/shuttle/wall{tag = "icon-swall_f9"; icon_state = "swall_f9"; dir = 2},/area/shuttle/escape_pod2/station) "akh" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 8},/turf/simulated/floor/plating,/area/maintenance/auxsolarport) "aki" = (/obj/structure/extinguisher_cabinet{pixel_x = 27; pixel_y = 0},/turf/simulated/floor,/area/crew_quarters/courtroom) -"akj" = (/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},/turf/simulated/floor/plating/airless,/area) +"akj" = (/obj/structure/cable/yellow{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/wall,/area/holodeck) "akk" = (/obj/structure/door_assembly/door_assembly_ext,/turf/simulated/floor/plating/airless,/area) "akl" = (/obj/structure/closet/emcloset,/turf/simulated/floor/plating,/area/maintenance/fore) "akm" = (/obj/machinery/door/airlock/maintenance{req_access_txt = "12"},/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/obj/structure/cable/yellow{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor/plating,/area/maintenance/fore) @@ -566,7 +566,7 @@ "akT" = (/turf/simulated/wall/r_wall,/area/maintenance/auxsolarport) "akU" = (/obj/machinery/power/solar_control{id = "foreport"; name = "Fore Port Solar Control"; track = 0},/obj/structure/cable{icon_state = "0-4"; d2 = 4},/turf/simulated/floor/plating,/area/maintenance/auxsolarport) "akV" = (/obj/structure/cable/yellow{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/structure/cable/yellow{d1 = 2; d2 = 4; icon_state = "2-4"},/turf/simulated/floor/plating{dir = 2; icon_state = "warnplate"; tag = "icon-warnplate (NORTH)"},/area/maintenance/auxsolarstarboard) -"akW" = (/obj/structure/sign/securearea{desc = "A warning sign which reads 'EXTERNAL AIRLOCK'"; icon_state = "space"; layer = 4; name = "EXTERNAL AIRLOCK"; pixel_x = 32; pixel_y = 0},/obj/item/weapon/cable_coil,/turf/simulated/floor/plating,/area/maintenance/auxsolarport) +"akW" = (/turf/simulated/wall,/area/holodeck) "akX" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 8},/turf/simulated/floor/plating/airless,/area) "akY" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 8},/turf/simulated/floor/plating,/area) "akZ" = (/obj/structure/rack,/obj/item/clothing/mask/gas,/obj/item/clothing/glasses/sunglasses,/turf/simulated/floor/plating,/area/maintenance/fore) @@ -594,7 +594,7 @@ "alv" = (/obj/structure/cable/yellow{d2 = 8; icon_state = "0-8"},/turf/simulated/floor/plating{tag = "icon-warnplate (EAST)"; icon_state = "warnplate"; dir = 4},/area/maintenance/fore) "alw" = (/turf/simulated/floor{dir = 1; icon_state = "neutral"},/area/crew_quarters) "alx" = (/obj/structure/cable/yellow{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor/plating{tag = "icon-warnplate (EAST)"; icon_state = "warnplate"; dir = 4},/area/maintenance/fore) -"aly" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 6},/turf/simulated/wall/r_wall,/area/holodeck) +"aly" = (/obj/structure/table/holotable,/obj/item/weapon/folder/red,/obj/structure/cable/yellow{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/structure/cable/yellow{d1 = 2; d2 = 8; icon_state = "2-8"},/turf/simulated/floor{icon_state = "redcorner"; dir = 4},/area/security/brig) "alz" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 1},/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/obj/structure/window/reinforced{dir = 8},/turf/simulated/floor/plating,/area/holodeck) "alA" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 1},/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/turf/simulated/floor/plating,/area/holodeck) "alB" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 1},/obj/effect/landmark{name = "Syndicate Breach Area"; tag = "Syndicate Breach Area"},/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/turf/simulated/floor/plating,/area/holodeck) @@ -669,15 +669,15 @@ "amS" = (/obj/machinery/conveyor{dir = 2; id = "garbage"},/obj/structure/sign/securearea{desc = "A warning sign which reads 'EXTERNAL AIRLOCK'"; icon_state = "space"; layer = 4; name = "EXTERNAL AIRLOCK"; pixel_x = 32},/turf/simulated/floor/plating,/area/maintenance/disposal) "amT" = (/obj/structure/cable{d1 = 2; d2 = 4; icon_state = "2-4"; tag = ""},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0; tag = ""},/turf/simulated/floor{dir = 2; icon_state = "warning"},/area/engine/engineering) "amU" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 8},/obj/machinery/atmospherics/pipe/simple/supply/hidden{req_access_txt = 1},/turf/simulated/floor/plating,/area/holodeck) -"amV" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden,/turf/simulated/wall/r_wall,/area/holodeck) -"amW" = (/turf/simulated/wall/r_wall,/area/holodeck) +"amV" = (/obj/machinery/door_control{id = "Disposal Exit"; name = "Disposal Blast Door Control"; pixel_x = -25; pixel_y = 4; req_access_txt = "12"},/obj/machinery/driver_button{id = "trash"; pixel_x = -26; pixel_y = -6},/obj/item/stack/sheet/cardboard,/turf/simulated/floor/plating,/area/maintenance/disposal) +"amW" = (/obj/structure/table/holotable,/obj/item/weapon/book/manual/security_space_law{pixel_x = -3; pixel_y = 5},/turf/simulated/floor{icon_state = "redcorner"; dir = 4},/area/security/brig) "amX" = (/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/maintenance/auxsolarstarboard) "amY" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/obj/machinery/door/airlock/external{name = "Solar Maintenance"; req_access = null; req_access_txt = "10; 13"},/turf/simulated/floor/plating,/area/maintenance/auxsolarstarboard) "amZ" = (/obj/machinery/conveyor{dir = 2; id = "garbage"},/turf/simulated/floor/plating,/area/maintenance/disposal) "ana" = (/obj/structure/grille,/obj/structure/cable/yellow{d1 = 1; d2 = 8; icon_state = "1-8"},/obj/structure/cable/yellow{d1 = 2; d2 = 8; icon_state = "2-8"},/obj/structure/cable/yellow{d2 = 8; icon_state = "0-8"},/obj/structure/window/reinforced/tinted{dir = 5; health = 120; icon_state = "twindow"; reinf = 0},/turf/simulated/floor/plating,/area/security/brig) "anb" = (/obj/structure/sign/securearea{desc = "A warning sign which reads 'HIGH VOLTAGE'"; icon_state = "shock"; name = "HIGH VOLTAGE"; pixel_y = 0},/turf/simulated/wall/r_wall,/area/maintenance/auxsolarport) "anc" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden{req_access_txt = 1},/obj/machinery/atmospherics/unary/vent_scrubber{dir = 4; on = 1},/turf/simulated/floor{dir = 1; icon_state = "neutralcorner"},/area/hallway/primary/fore) -"and" = (/turf/simulated/wall/r_wall,/area/security/detectives_office) +"and" = (/obj/structure/sign/securearea{desc = "A warning sign which reads 'EXTERNAL AIRLOCK'"; icon_state = "space"; layer = 4; name = "EXTERNAL AIRLOCK"; pixel_x = 32; pixel_y = 0},/obj/effect/decal/cleanable/cobweb2,/turf/simulated/floor/plating,/area/maintenance/auxsolarstarboard) "ane" = (/turf/simulated/wall,/area/security/detectives_office) "anf" = (/obj/effect/landmark/start{name = "Assistant"},/obj/structure/cable/yellow{d1 = 2; d2 = 8; icon_state = "2-8"},/turf/simulated/floor,/area/storage/primary) "ang" = (/obj/structure/cable/yellow{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/door/firedoor,/obj/machinery/door/airlock/security{name = "Detective's Office"; req_access = null; req_access_txt = "4"},/turf/simulated/floor,/area/security/detectives_office) @@ -690,8 +690,8 @@ "ann" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced,/obj/machinery/atmospherics/pipe/simple/supply/hidden,/obj/structure/cable/yellow{d2 = 8; icon_state = "0-8"},/turf/simulated/floor/plating,/area/security/brig) "ano" = (/obj/structure/stool{pixel_y = 8},/obj/machinery/camera/autoname{dir = 4; network = list("SS13")},/turf/simulated/floor/plating,/area/maintenance/auxsolarstarboard) "anp" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 8},/obj/structure/cable/yellow{d2 = 8; icon_state = "0-8"},/obj/structure/cable/yellow,/turf/simulated/floor/plating,/area/security/brig) -"anq" = (/obj/structure/table/reinforced,/obj/item/weapon/folder/red,/obj/structure/cable/yellow{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/structure/cable/yellow{d1 = 2; d2 = 8; icon_state = "2-8"},/turf/simulated/floor{icon_state = "redcorner"; dir = 4},/area/security/brig) -"anr" = (/turf/simulated/wall/r_wall,/area/crew_quarters/courtroom) +"anq" = (/obj/structure/table/holotable,/obj/item/device/assembly/timer,/obj/item/weapon/handcuffs,/turf/simulated/floor{icon_state = "redcorner"; dir = 1},/area/security/brig) +"anr" = (/obj/structure/table/holotable,/obj/item/weapon/paper_bin{pixel_x = -3; pixel_y = 7},/obj/item/weapon/pen,/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/obj/structure/cable/yellow{d1 = 1; d2 = 8; icon_state = "1-8"},/turf/simulated/floor{icon_state = "redcorner"; dir = 4},/area/security/brig) "ans" = (/obj/machinery/door/firedoor,/obj/machinery/door/airlock/security{name = "Court Cell"; req_access = null; req_access_txt = "63; 42"},/turf/simulated/floor{icon_state = "dark"},/area/security/brig) "ant" = (/obj/effect/landmark{name = "xeno_spawn"; pixel_x = -1},/obj/structure/grille,/turf/simulated/floor/plating,/area/maintenance/fore) "anu" = (/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/crew_quarters) @@ -718,11 +718,11 @@ "anP" = (/obj/item/stack/sheet/cardboard,/turf/simulated/floor/plating,/area/maintenance/fore) "anQ" = (/obj/machinery/conveyor{dir = 2; id = "garbage"},/obj/machinery/door/poddoor{density = 1; icon_state = "closed"; id = "Disposal Exit"; layer = 3.1; name = "disposal mass driver blast door"; opacity = 1},/turf/simulated/floor/plating,/area/maintenance/disposal) "anR" = (/obj/structure/table,/obj/item/weapon/storage/belt/utility,/turf/simulated/floor{dir = 4; icon_state = "brown"},/area/storage/primary) -"anS" = (/obj/structure/table/reinforced,/obj/item/device/assembly/timer,/obj/item/weapon/handcuffs,/turf/simulated/floor{icon_state = "redcorner"; dir = 1},/area/security/brig) +"anS" = (/obj/structure/rack,/obj/effect/decal/cleanable/cobweb2,/obj/item/weapon/storage/toolbox/emergency,/obj/structure/sign/securearea{desc = "A warning sign which reads 'EXTERNAL AIRLOCK'"; icon_state = "space"; layer = 4; name = "EXTERNAL AIRLOCK"; pixel_x = 32},/obj/item/clothing/mask/gas,/turf/simulated/floor/plating,/area/maintenance/disposal) "anT" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden{req_access_txt = 1},/obj/structure/cable/yellow{d1 = 1; d2 = 4; icon_state = "1-4"},/turf/simulated/floor{icon_state = "redcorner"; dir = 1},/area/security/brig) "anU" = (/obj/structure/cable/yellow{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/structure/cable/yellow{d1 = 1; d2 = 8; icon_state = "1-8"},/obj/structure/cable/yellow{d1 = 1; d2 = 4; icon_state = "1-4"},/turf/simulated/floor,/area/security/brig) -"anV" = (/obj/structure/table/reinforced,/obj/item/weapon/paper_bin{pixel_x = -3; pixel_y = 7},/obj/item/weapon/pen,/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/obj/structure/cable/yellow{d1 = 1; d2 = 8; icon_state = "1-8"},/turf/simulated/floor{icon_state = "redcorner"; dir = 4},/area/security/brig) -"anW" = (/obj/structure/table/reinforced,/obj/item/weapon/book/manual/security_space_law{pixel_x = -3; pixel_y = 5},/turf/simulated/floor{icon_state = "redcorner"; dir = 4},/area/security/brig) +"anV" = (/obj/structure/cable/yellow{d1 = 1; d2 = 8; icon_state = "1-8"},/turf/simulated/wall,/area/holodeck) +"anW" = (/obj/structure/sign/securearea{desc = "A warning sign which reads 'EXTERNAL AIRLOCK'"; icon_state = "space"; layer = 4; name = "EXTERNAL AIRLOCK"; pixel_x = 32; pixel_y = 0},/turf/simulated/floor/plating,/area/maintenance/auxsolarport) "anX" = (/obj/item/weapon/storage/box/lights/mixed,/turf/simulated/floor/plating,/area/maintenance/fore) "anY" = (/turf/simulated/floor{icon_state = "red"; dir = 1},/area/security/brig) "anZ" = (/obj/structure/dispenser,/obj/machinery/light{dir = 1},/turf/simulated/floor{icon_state = "bot"; dir = 1},/area/engine/engineering) @@ -745,7 +745,7 @@ "aoq" = (/obj/structure/stool/bed/chair/wood/normal{dir = 1},/turf/simulated/floor/carpet,/area/crew_quarters) "aor" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 5},/turf/simulated/floor/carpet,/area/crew_quarters) "aos" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/turf/simulated/floor/carpet,/area/crew_quarters) -"aot" = (/obj/structure/rack,/obj/item/clothing/mask/gas,/obj/structure/sign/securearea{desc = "A warning sign which reads 'EXTERNAL AIRLOCK'"; icon_state = "space"; layer = 4; name = "EXTERNAL AIRLOCK"; pixel_x = 32; pixel_y = 0},/obj/item/device/multitool,/obj/item/weapon/storage/box/lights/mixed,/obj/item/weapon/cable_coil,/obj/effect/decal/cleanable/cobweb2,/turf/simulated/floor/plating,/area/maintenance/auxsolarstarboard) +"aot" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 6},/turf/simulated/wall,/area/holodeck) "aou" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 10},/turf/simulated/floor{icon_state = "neutral"; dir = 8},/area/crew_quarters) "aov" = (/obj/machinery/vending/snack,/obj/effect/decal/cleanable/cobweb,/turf/simulated/floor{icon_state = "bar"},/area/crew_quarters) "aow" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 9},/obj/machinery/door/airlock/glass{name = "Holodeck Door"},/turf/simulated/floor,/area/holodeck) @@ -913,14 +913,14 @@ "arC" = (/obj/structure/stool/bed/chair{dir = 8; name = "Defense"},/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 6},/turf/simulated/floor{icon_state = "green"; dir = 6},/area/crew_quarters/courtroom) "arD" = (/obj/machinery/atmospherics/unary/vent_pump{dir = 8; on = 1},/turf/simulated/floor,/area/crew_quarters/courtroom) "arE" = (/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor/plating{tag = "icon-warnplate (EAST)"; icon_state = "warnplate"; dir = 4},/area/maintenance/fore) -"arF" = (/obj/structure/sign/securearea{desc = "A warning sign which reads 'EXTERNAL AIRLOCK'"; icon_state = "space"; layer = 4; name = "EXTERNAL AIRLOCK"; pixel_x = 32},/turf/simulated/floor/plating,/area/maintenance/disposal) +"arF" = (/obj/structure/cable/yellow{d1 = 4; d2 = 8; icon_state = "4-8"},/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},/turf/simulated/floor/plating{tag = "icon-warnplate (WEST)"; icon_state = "warnplate"; dir = 8},/area/maintenance/fore) "arG" = (/turf/simulated/floor/wood,/area/lawoffice) "arH" = (/obj/structure/cable/yellow{d1 = 2; d2 = 4; icon_state = "2-4"},/obj/structure/cable/yellow{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor/plating{dir = 2; icon_state = "warnplate"; tag = "icon-warnplate (NORTH)"},/area/maintenance/auxsolarport) "arI" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/turf/simulated/floor{dir = 1; icon_state = "neutralcorner"},/area/crew_quarters) "arJ" = (/obj/machinery/alarm{dir = 1; icon_state = "alarm0"; pixel_y = -22},/obj/machinery/light,/turf/simulated/floor{icon_state = "dark"},/area/crew_quarters/courtroom) "arK" = (/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/holodeck) "arL" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/turf/simulated/wall,/area/holodeck) -"arM" = (/obj/structure/cable/yellow{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/wall/r_wall,/area/holodeck) +"arM" = (/obj/machinery/light/small{dir = 1},/obj/structure/cable/yellow{d1 = 4; d2 = 8; icon_state = "4-8"},/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},/turf/simulated/floor/plating{tag = "icon-warnplate (WEST)"; icon_state = "warnplate"; dir = 8},/area/maintenance/fore) "arN" = (/turf/simulated/wall/r_wall,/area/maintenance/starboard) "arO" = (/obj/structure/rack,/obj/item/clothing/mask/gas,/obj/item/clothing/glasses/sunglasses,/turf/simulated/floor/plating,/area/maintenance/starboard) "arP" = (/obj/item/device/radio/intercom{freerange = 0; frequency = 1459; name = "Station Intercom (General)"; pixel_x = 0; pixel_y = -26},/turf/simulated/floor{icon_state = "dark"},/area/crew_quarters/courtroom) @@ -970,7 +970,7 @@ "asH" = (/obj/machinery/computer/crew,/turf/simulated/floor{icon_state = "showroomfloor"},/area/security/warden) "asI" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 8},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/turf/simulated/floor/plating,/area/holodeck) "asJ" = (/obj/structure/cable/yellow{d1 = 2; d2 = 4; icon_state = "2-4"},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/turf/simulated/wall,/area/holodeck) -"asK" = (/obj/structure/cable/yellow{d1 = 1; d2 = 8; icon_state = "1-8"},/turf/simulated/wall/r_wall,/area/holodeck) +"asK" = (/obj/structure/sign/securearea{desc = "A warning sign which reads 'EXTERNAL AIRLOCK'"; icon_state = "space"; layer = 4; name = "EXTERNAL AIRLOCK"; pixel_x = -32; pixel_y = 0},/turf/simulated/floor/plating{icon_state = "warnplate"; dir = 1},/area/maintenance/fore) "asL" = (/obj/structure/cable/yellow{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/structure/disposalpipe/segment,/turf/simulated/floor{dir = 8; icon_state = "warning"},/area/engine/engineering) "asM" = (/obj/structure/cable/yellow{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor/plating,/area/maintenance/starboard) "asN" = (/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor/plating,/area/maintenance/starboard) @@ -1328,7 +1328,7 @@ "azB" = (/obj/structure/cable/yellow{d1 = 1; d2 = 4; icon_state = "1-4"},/turf/simulated/floor/plating,/area/maintenance/fore) "azC" = (/obj/item/weapon/crowbar,/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_y = 0; tag = ""},/turf/simulated/floor{dir = 6; icon_state = "warning"},/area/engine/engineering) "azD" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 8},/turf/simulated/floor/plating,/area/engine/engineering) -"azE" = (/obj/machinery/ai_status_display{pixel_y = 32},/obj/structure/table/reinforced,/obj/item/weapon/storage/toolbox/mechanical{pixel_x = -2; pixel_y = -1},/turf/simulated/floor{dir = 1; icon_state = "yellow"},/area/bridge) +"azE" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/turf/simulated/wall/r_wall,/area/maintenance/fore) "azF" = (/obj/structure/closet/crate,/obj/item/device/flashlight{pixel_x = 1; pixel_y = 5},/obj/item/device/flashlight{pixel_x = 1; pixel_y = 5},/obj/item/weapon/cell/high{charge = 100; maxcharge = 15000},/obj/item/weapon/cable_coil{pixel_x = 3; pixel_y = -7},/turf/simulated/floor{dir = 1; icon_state = "brown"},/area/quartermaster/miningdock) "azG" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 4},/turf/simulated/floor/plating,/area/quartermaster/miningdock) "azH" = (/obj/item/weapon/ore/silver,/obj/item/weapon/ore/silver,/turf/simulated/floor{dir = 10; icon_state = "warning"},/area/quartermaster/miningdock) @@ -1387,7 +1387,7 @@ "aAI" = (/obj/machinery/atmospherics/binary/pump{dir = 1; icon_state = "intact_off"; name = "Canister Port Pump"; on = 0},/turf/simulated/floor/plating,/area/maintenance/fore) "aAJ" = (/turf/simulated/floor{dir = 8; icon_state = "warning"},/area/engine/engineering) "aAK" = (/turf/simulated/floor,/area/engine/engineering) -"aAL" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/obj/structure/cable/yellow{d1 = 2; d2 = 8; icon_state = "2-8"},/obj/machinery/firealarm{dir = 8; pixel_x = -24},/turf/simulated/floor{icon_state = "red"; dir = 9},/area/security/brig) +"aAL" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 5},/obj/structure/cable/yellow{d1 = 2; d2 = 4; icon_state = "2-4"},/obj/structure/cable/yellow{d1 = 1; d2 = 4; icon_state = "1-4"},/turf/simulated/floor,/area/security/brig) "aAM" = (/obj/structure/stool{pixel_y = 8},/turf/simulated/floor{dir = 8; icon_state = "yellow"},/area/engine/engineering) "aAN" = (/obj/machinery/atmospherics/unary/vent_scrubber{dir = 2; on = 1; scrub_N2O = 0; scrub_Toxins = 0},/turf/simulated/floor,/area/engine/engineering) "aAO" = (/obj/structure/cable/yellow{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/simple/supply/hidden,/obj/structure/disposalpipe/segment,/turf/simulated/floor{dir = 4; icon_state = "warning"},/area/engine/engineering) @@ -1400,13 +1400,13 @@ "aAV" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 1},/turf/simulated/floor/plating,/area/engine/engineering) "aAW" = (/obj/machinery/field_generator{anchored = 1; state = 2},/turf/simulated/floor/plating/airless,/area) "aAX" = (/obj/structure/lattice,/obj/structure/grille,/turf/space,/area) -"aAY" = (/turf/simulated/wall/r_wall,/area/construction) +"aAY" = (/obj/machinery/ai_status_display{pixel_y = 32},/obj/structure/table/holotable,/obj/item/weapon/storage/toolbox/mechanical{pixel_x = -2; pixel_y = -1},/turf/simulated/floor{dir = 1; icon_state = "yellow"},/area/bridge) "aAZ" = (/obj/machinery/door/airlock/external,/turf/simulated/floor/plating,/area/construction) "aBa" = (/obj/structure/closet/crate,/turf/simulated/shuttle/floor,/area/shuttle/mining/station) "aBb" = (/obj/structure/window/reinforced{dir = 1},/obj/structure/shuttle/engine/heater,/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 4},/turf/simulated/floor/plating/airless,/area/shuttle/mining/station) "aBc" = (/obj/structure/ore_box,/turf/simulated/shuttle/floor,/area/shuttle/mining/station) "aBd" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 8},/turf/simulated/floor/plating,/area/quartermaster/miningdock) -"aBe" = (/turf/simulated/wall/r_wall,/area/quartermaster/miningdock) +"aBe" = (/obj/machinery/status_display{density = 0; layer = 4; pixel_x = 0; pixel_y = 32},/obj/item/weapon/folder/yellow,/obj/structure/table/holotable,/turf/simulated/floor{dir = 1; icon_state = "yellow"},/area/bridge) "aBf" = (/obj/machinery/computer/mining_shuttle,/obj/machinery/firealarm{dir = 8; pixel_x = -24},/obj/machinery/light{dir = 8},/turf/simulated/floor{dir = 9; icon_state = "brown"},/area/quartermaster/miningdock) "aBg" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/obj/effect/landmark/start{name = "Shaft Miner"},/turf/simulated/floor,/area/quartermaster/miningdock) "aBh" = (/obj/structure/closet/secure_closet/miner,/obj/machinery/alarm{dir = 8; icon_state = "alarm0"; pixel_x = 24},/turf/simulated/floor{dir = 4; icon_state = "brown"},/area/quartermaster/miningdock) @@ -1430,7 +1430,7 @@ "aBz" = (/obj/machinery/door/window{name = "AI Core Door"; req_access_txt = "16"},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0; tag = ""},/turf/simulated/floor/bluegrid,/area/turret_protected/ai) "aBA" = (/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced,/obj/machinery/flasher{pixel_x = 0; pixel_y = 24; id = "AI"},/obj/machinery/light/small{dir = 1},/turf/simulated/floor/bluegrid,/area/turret_protected/ai) "aBB" = (/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 8},/turf/simulated/floor/bluegrid,/area/turret_protected/ai) -"aBC" = (/obj/machinery/status_display{density = 0; layer = 4; pixel_x = 0; pixel_y = 32},/obj/item/weapon/folder/yellow,/obj/structure/table/reinforced,/turf/simulated/floor{dir = 1; icon_state = "yellow"},/area/bridge) +"aBC" = (/obj/structure/cable/yellow{d1 = 2; d2 = 4; icon_state = "2-4"},/obj/machinery/computer/security/mining,/obj/machinery/keycard_auth{pixel_x = 0; pixel_y = 24},/turf/simulated/floor{dir = 1; icon_state = "blue"},/area/bridge) "aBD" = (/obj/machinery/vending/cigarette,/obj/machinery/atmospherics/unary/vent_scrubber{dir = 1; on = 1; scrub_N2O = 0; scrub_Toxins = 0},/turf/simulated/floor{tag = "icon-vault"; icon_state = "vault"},/area/crew_quarters/courtroom) "aBE" = (/obj/machinery/vending/coffee,/turf/simulated/floor{tag = "icon-vault"; icon_state = "vault"},/area/crew_quarters/courtroom) "aBF" = (/obj/structure/table,/obj/item/weapon/folder/yellow,/obj/item/weapon/folder/yellow,/turf/simulated/floor{icon_state = "neutral"},/area/crew_quarters/courtroom) @@ -1484,7 +1484,7 @@ "aCB" = (/obj/structure/table/woodentable,/obj/item/weapon/folder/blue,/obj/machinery/newscaster/security_unit{pixel_x = -32; pixel_y = 0},/obj/item/weapon/pinpointer,/obj/item/weapon/disk/nuclear,/turf/simulated/floor/carpet,/area/crew_quarters/captain{name = "\improper Captain's Quarters"}) "aCC" = (/obj/machinery/door/airlock/maintenance{name = "Supply Maintenance"; req_access_txt = "50"},/obj/structure/disposalpipe/segment,/turf/simulated/floor/plating,/area/maintenance/fpmaint2{name = "Port Maintenance"}) "aCD" = (/obj/machinery/door/airlock/external,/turf/simulated/floor/plating,/area/maintenance/fpmaint2{name = "Port Maintenance"}) -"aCE" = (/turf/simulated/wall/r_wall,/area/quartermaster/storage) +"aCE" = (/obj/structure/cable/yellow{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/structure/table/holotable,/obj/item/weapon/book/manual/security_space_law,/obj/item/weapon/handcuffs,/turf/simulated/floor{dir = 4; icon_state = "redcorner"},/area/bridge) "aCF" = (/obj/machinery/power/apc{dir = 8; name = "Gateway APC"; pixel_x = -24; pixel_y = -1},/obj/structure/closet/emcloset,/obj/structure/cable/yellow{d2 = 4; icon_state = "0-4"},/turf/simulated/floor,/area/gateway) "aCG" = (/obj/machinery/light/small{dir = 4},/obj/structure/rack,/obj/item/weapon/crowbar,/obj/item/weapon/wrench,/obj/item/weapon/weldingtool,/turf/simulated/floor/plating,/area/maintenance/fore) "aCH" = (/obj/structure/cable/yellow{d1 = 2; d2 = 8; icon_state = "2-8"},/turf/simulated/floor/plating,/area/maintenance/fore) @@ -1696,7 +1696,7 @@ "aGF" = (/obj/structure/grille,/obj/structure/window/reinforced/tinted{dir = 5; health = 120; icon_state = "twindow"; reinf = 0},/turf/simulated/floor/plating,/area/janitor) "aGG" = (/obj/structure/cable/yellow{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/structure/cable/yellow{d1 = 2; d2 = 8; icon_state = "2-8"},/turf/simulated/floor/plating,/area/maintenance/fpmaint2{name = "Port Maintenance"}) "aGH" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced,/turf/simulated/floor/plating,/area/quartermaster/office{name = "\improper Supply Offices"}) -"aGI" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 5},/turf/simulated/floor,/area/janitor) +"aGI" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/machinery/alarm{dir = 1; pixel_y = -22},/obj/structure/janitorialcart,/obj/machinery/light/small,/turf/simulated/floor,/area/janitor) "aGJ" = (/obj/structure/closet/emcloset,/obj/structure/sign/pods{pixel_y = 32},/turf/simulated/floor{dir = 4; icon_state = "neutralcorner"},/area/crew_quarters) "aGK" = (/obj/machinery/atmospherics/unary/vent_pump{dir = 4; on = 1},/obj/structure/window/reinforced,/turf/simulated/floor{icon_state = "dark"},/area/gateway) "aGL" = (/obj/structure/window/reinforced,/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/turf/simulated/floor{icon_state = "dark"},/area/gateway) @@ -1868,7 +1868,7 @@ "aJV" = (/obj/structure/disposalpipe/segment,/turf/simulated/floor,/area/crew_quarters/locker) "aJW" = (/obj/structure/table/reinforced,/obj/item/device/radio/intercom{broadcasting = 0; listening = 1; name = "Station Intercom (General)"; pixel_y = -28},/obj/item/weapon/storage/firstaid/regular{pixel_x = 0; pixel_y = 0},/turf/simulated/floor{dir = 10; icon_state = "warning"},/area/quartermaster/storage) "aJX" = (/obj/structure/table/reinforced,/obj/item/weapon/hand_labeler,/obj/item/weapon/hand_labeler,/turf/simulated/floor{dir = 2; icon_state = "warning"},/area/quartermaster/storage) -"aJY" = (/obj/structure/cable/yellow{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor/plating{tag = "icon-warnplate (WEST)"; icon_state = "warnplate"; dir = 8},/area/maintenance/fore) +"aJY" = (/obj/structure/mirror{pixel_y = 28},/obj/structure/sink{pixel_y = 17},/obj/effect/landmark{name = "xeno_spawn"; pixel_x = -1},/turf/simulated/floor{icon_state = "white"},/area/crew_quarters/captain{name = "\improper Captain's Quarters"}) "aJZ" = (/obj/machinery/alarm{dir = 4; pixel_x = -23; pixel_y = 0},/obj/structure/stool/bed/chair{dir = 4},/turf/simulated/floor{icon_state = "neutral"; dir = 8},/area/crew_quarters/fitness) "aKa" = (/obj/structure/window/reinforced{dir = 8},/turf/simulated/floor{icon_state = "dark"},/area/crew_quarters/fitness) "aKb" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/turf/simulated/floor{tag = "icon-vault (NORTHEAST)"; icon_state = "vault"; dir = 5},/area/crew_quarters/fitness) @@ -1948,7 +1948,7 @@ "aLx" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/obj/machinery/atmospherics/unary/vent_pump{dir = 4; on = 1},/turf/simulated/floor{dir = 2; icon_state = "brown"},/area/quartermaster/office{name = "\improper Supply Offices"}) "aLy" = (/obj/structure/filingcabinet,/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/turf/simulated/floor{dir = 8; icon_state = "brown"},/area/quartermaster/qm) "aLz" = (/obj/structure/table,/obj/item/weapon/clipboard,/obj/item/weapon/stamp/qm{pixel_x = 0; pixel_y = 0},/obj/machinery/light{dir = 1},/obj/machinery/alarm{pixel_y = 23},/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 10},/turf/simulated/floor,/area/quartermaster/qm) -"aLA" = (/obj/structure/cable/yellow{d1 = 2; d2 = 4; icon_state = "2-4"},/obj/machinery/computer/security/mining,/turf/simulated/floor{dir = 1; icon_state = "blue"},/area/bridge) +"aLA" = (/obj/effect/landmark{name = "xeno_spawn"; pixel_x = -1},/obj/machinery/shower{tag = "icon-shower (EAST)"; icon_state = "shower"; dir = 4},/obj/machinery/door/window/westright{dir = 4},/obj/item/weapon/bikehorn/rubberducky,/turf/simulated/floor{icon_state = "white"},/area/crew_quarters/captain{name = "\improper Captain's Quarters"}) "aLB" = (/obj/structure/table,/obj/item/weapon/paper_bin{pixel_x = -3; pixel_y = 7},/obj/structure/cable/yellow{d2 = 8; icon_state = "0-8"},/obj/machinery/power/apc{dir = 4; name = "Quartermaster's Office APC"; pixel_x = 27; pixel_y = 0},/turf/simulated/floor{dir = 4; icon_state = "brown"},/area/quartermaster/qm) "aLC" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 1},/turf/simulated/floor/plating,/area/maintenance/fpmaint2{name = "Port Maintenance"}) "aLD" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/obj/machinery/door/firedoor,/obj/machinery/door/airlock/glass{icon = 'icons/obj/doors/Doorengglass.dmi'; name = "Starboard Primary Hallway"},/turf/simulated/floor{dir = 2; icon_state = "yellowcorner"},/area/hallway/primary/starboard) @@ -1974,7 +1974,7 @@ "aLX" = (/obj/structure/cable/yellow{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/turf/simulated/floor,/area/hallway/primary/fore) "aLY" = (/obj/machinery/atmospherics/pipe/manifold{color = "blue"; dir = 4; icon_state = "manifold-b-f"; level = 1; name = "pipe manifold"},/turf/simulated/floor{dir = 4; icon_state = "neutralcorner"},/area/hallway/primary/fore) "aLZ" = (/obj/structure/disposalpipe/segment{dir = 1; icon_state = "pipe-c"},/obj/structure/cable/yellow{d1 = 1; d2 = 4; icon_state = "1-4"},/turf/simulated/floor{icon_state = "neutral"; dir = 4},/area/hallway/secondary/construction{name = "\improper Garden"}) -"aMa" = (/obj/structure/cable/yellow{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/structure/table/reinforced,/obj/item/weapon/book/manual/security_space_law,/obj/item/weapon/handcuffs,/turf/simulated/floor{dir = 4; icon_state = "redcorner"},/area/bridge) +"aMa" = (/obj/structure/toilet{pixel_y = 13},/obj/machinery/light{dir = 2; icon_state = "tube1"},/obj/effect/landmark/start{name = "Captain"},/obj/machinery/light_switch{pixel_y = -25},/turf/simulated/floor{icon_state = "white"},/area/crew_quarters/captain{name = "\improper Captain's Quarters"}) "aMb" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/structure/cable/yellow{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor{icon_state = "neutral"; dir = 8},/area/crew_quarters/locker) "aMc" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/structure/cable/yellow{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/atmospherics/pipe/simple/supply/hidden{req_access_txt = 1},/turf/simulated/floor,/area/crew_quarters/locker) "aMd" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/structure/cable/yellow{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor,/area/crew_quarters/locker) @@ -2033,14 +2033,14 @@ "aNe" = (/obj/structure/rack{dir = 8; layer = 2.9},/obj/item/weapon/circuitboard/arcade,/obj/item/weapon/circuitboard/message_monitor{pixel_y = -5},/turf/simulated/floor/plating,/area/storage/tech) "aNf" = (/obj/structure/disposalpipe/segment,/obj/machinery/atmospherics/pipe/simple/supply/hidden{req_access_txt = 1},/obj/machinery/light_switch{pixel_x = -25; pixel_y = 0},/turf/simulated/floor{dir = 9; icon_state = "brown"},/area/quartermaster/office{name = "\improper Supply Offices"}) "aNg" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/turf/simulated/wall/r_wall,/area/turret_protected/ai_upload_foyer) -"aNh" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 9},/turf/simulated/wall/r_wall,/area/turret_protected/ai_upload_foyer) +"aNh" = (/obj/structure/table/holotable,/obj/item/weapon/storage/firstaid/regular{pixel_x = 3; pixel_y = 3},/obj/structure/cable/yellow{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor{dir = 1; icon_state = "greencorner"},/area/bridge) "aNi" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 6},/turf/simulated/wall/r_wall,/area/turret_protected/ai_upload_foyer) "aNj" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 10},/turf/simulated/wall/r_wall,/area/turret_protected/ai_upload) "aNk" = (/obj/machinery/turret{dir = 1},/turf/simulated/floor{icon_state = "dark"},/area/turret_protected/ai_upload) "aNl" = (/obj/structure/cable/yellow{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor{icon_state = "dark"},/area/turret_protected/ai_upload) "aNm" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 9; pixel_y = 0},/turf/simulated/wall/r_wall,/area/turret_protected/ai_upload) "aNn" = (/turf/simulated/wall/r_wall,/area/turret_protected/ai_upload_foyer) -"aNo" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 5},/turf/simulated/wall/r_wall,/area/turret_protected/ai_upload_foyer) +"aNo" = (/obj/structure/table/woodentable,/obj/item/device/flashlight/lamp/green{pixel_x = 1; pixel_y = 5},/obj/item/device/radio/intercom{dir = 0; name = "Station Intercom (General)"; pixel_x = -27},/obj/item/weapon/soap/deluxe,/obj/item/weapon/reagent_containers/food/snacks/donkpocket,/obj/structure/window/reinforced{dir = 1; pixel_y = 2},/obj/structure/disposalpipe/segment,/obj/machinery/atmospherics/pipe/simple/supply/hidden,/turf/simulated/floor/wood,/area/crew_quarters/captain{name = "\improper Captain's Quarters"}) "aNp" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 9; pixel_y = 0},/turf/simulated/wall/r_wall,/area/turret_protected/ai_upload_foyer) "aNq" = (/obj/structure/closet/secure_closet/cargotech,/obj/structure/disposalpipe/segment,/turf/simulated/floor{dir = 6; icon_state = "warning"; tag = "icon-warnwhite (NORTHEAST)"},/area/quartermaster/storage) "aNr" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 10},/turf/simulated/floor{icon_state = "neutral"; dir = 8},/area/hallway/secondary/construction{name = "\improper Garden"}) @@ -2052,7 +2052,7 @@ "aNx" = (/obj/structure/table,/turf/simulated/floor,/area/crew_quarters/locker) "aNy" = (/obj/structure/closet/wardrobe/grey,/turf/simulated/floor{icon_state = "neutral"; dir = 4},/area/crew_quarters/locker) "aNz" = (/obj/structure/sign/securearea{pixel_x = 32; pixel_y = 0},/obj/structure/cable/yellow{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/structure/disposalpipe/segment,/obj/structure/cable/yellow{d1 = 2; d2 = 8; icon_state = "2-8"},/turf/simulated/floor/plating{icon_state = "warnplate"; dir = 1},/area/maintenance/fore) -"aNA" = (/obj/machinery/light/small{dir = 1},/obj/structure/cable/yellow{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor/plating{tag = "icon-warnplate (WEST)"; icon_state = "warnplate"; dir = 8},/area/maintenance/fore) +"aNA" = (/obj/structure/table/holotable,/obj/item/weapon/folder/red,/obj/structure/cable/yellow{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/light{dir = 4},/obj/item/weapon/folder/red,/turf/simulated/floor{icon_state = "red"; dir = 4},/area/bridge) "aNB" = (/obj/structure/lattice,/obj/effect/landmark{name = "xeno_spawn"; pixel_x = -1},/turf/space,/area/hallway/secondary/entry{name = "Arrivals"}) "aNC" = (/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/engine/break_room) "aND" = (/obj/item/device/radio/intercom{name = "Station Intercom (General)"; pixel_y = -29},/obj/machinery/power/apc{dir = 8; name = "Fitness Room APC"; pixel_x = -24; pixel_y = 0},/obj/structure/cable/yellow{d2 = 4; icon_state = "0-4"},/obj/structure/stool/bed/chair{dir = 4},/turf/simulated/floor{dir = 10; icon_state = "neutral"},/area/crew_quarters/fitness) @@ -2108,7 +2108,7 @@ "aOB" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 5},/turf/simulated/wall/r_wall,/area/turret_protected/ai_upload) "aOC" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/obj/machinery/door/airlock/highsecurity{icon_state = "door_locked"; locked = 1; name = "AI Upload"; req_access_txt = "16"},/obj/structure/cable/yellow{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor{icon_state = "dark"},/area/turret_protected/ai_upload) "aOD" = (/obj/machinery/atmospherics/pipe/manifold{color = "blue"; dir = 1; icon_state = "manifold-b-f"; level = 1; name = "pipe manifold"},/turf/simulated/wall/r_wall,/area/turret_protected/ai_upload) -"aOE" = (/obj/structure/cable/yellow{d2 = 2; icon_state = "0-2"},/obj/structure/table/reinforced,/obj/item/weapon/phone{pixel_x = -3; pixel_y = 3},/obj/item/weapon/cigbutt/cigarbutt{pixel_x = 5; pixel_y = -1},/obj/structure/extinguisher_cabinet{pixel_x = 27; pixel_y = 0},/turf/simulated/floor{tag = "icon-vault"; icon_state = "vault"},/area/turret_protected/ai_upload_foyer) +"aOE" = (/obj/structure/table/holotable,/obj/item/weapon/folder/white,/obj/structure/cable/yellow{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/light{dir = 8},/obj/structure/cable/yellow{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor{dir = 8; icon_state = "green"},/area/bridge) "aOF" = (/obj/machinery/atmospherics/pipe/manifold{color = "red"; dir = 2; icon_state = "manifold-r-f"; initialize_directions = 11; level = 1; name = "pipe manifold"},/obj/item/device/radio/intercom{name = "Station Intercom (General)"; pixel_y = -29},/turf/simulated/floor{dir = 8; icon_state = "cautioncorner"},/area/hallway/primary/starboard) "aOG" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/obj/machinery/door/firedoor,/turf/simulated/floor{dir = 8; icon_state = "cautioncorner"},/area/hallway/primary/starboard) "aOH" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/turf/simulated/floor{dir = 8; icon_state = "neutralcorner"},/area/hallway/secondary/construction{name = "\improper Garden"}) @@ -2157,7 +2157,7 @@ "aPy" = (/obj/structure/disposalpipe/segment{dir = 2; icon_state = "pipe-c"},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/turf/simulated/floor,/area/quartermaster/office{name = "\improper Supply Offices"}) "aPz" = (/obj/machinery/computer/supplycomp,/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/turf/simulated/floor{dir = 4; icon_state = "brown"},/area/quartermaster/office{name = "\improper Supply Offices"}) "aPA" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden,/obj/structure/closet/l3closet/janitor,/turf/simulated/floor,/area/janitor) -"aPB" = (/obj/structure/table/reinforced,/obj/item/weapon/storage/firstaid/regular{pixel_x = 3; pixel_y = 3},/obj/structure/cable/yellow{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor{dir = 1; icon_state = "greencorner"},/area/bridge) +"aPB" = (/obj/structure/sign/securearea{desc = "A warning sign which reads 'KEEP CLEAR OF DOCKING AREA'."; name = "KEEP CLEAR: DOCKING AREA"; pixel_y = 0},/turf/simulated/wall,/area/hallway/secondary/entry{name = "Arrivals"}) "aPC" = (/obj/machinery/door/airlock/external,/turf/simulated/floor/plating,/area/engine/break_room) "aPD" = (/obj/machinery/disposal,/obj/structure/disposalpipe/trunk{dir = 1},/turf/simulated/floor,/area/quartermaster/qm) "aPE" = (/obj/structure/table,/obj/item/weapon/cartridge/quartermaster{pixel_x = 6; pixel_y = 5},/obj/item/weapon/cartridge/quartermaster,/obj/item/weapon/cartridge/quartermaster{pixel_x = -4; pixel_y = 7},/obj/machinery/atmospherics/unary/vent_scrubber{on = 1; scrub_N2O = 0; scrub_Toxins = 0},/obj/machinery/requests_console{department = "Cargo Bay"; departmentType = 2; pixel_x = 0; pixel_y = -32},/turf/simulated/floor,/area/quartermaster/qm) @@ -2167,30 +2167,30 @@ "aPI" = (/obj/structure/piano,/obj/machinery/light/small{dir = 8},/turf/simulated/floor/wood,/area/crew_quarters/theatre) "aPJ" = (/obj/structure/cable/yellow{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/turf/simulated/floor{dir = 1; icon_state = "brown"},/area/quartermaster/office{name = "\improper Supply Offices"}) "aPK" = (/obj/structure/table,/obj/item/weapon/screwdriver{pixel_y = 16},/obj/item/weapon/wirecutters,/turf/simulated/floor/plating,/area/storage/tech) -"aPL" = (/obj/structure/table/woodentable,/obj/item/device/flashlight/lamp/green{pixel_x = 1; pixel_y = 5},/obj/item/device/radio/intercom{dir = 0; name = "Station Intercom (General)"; pixel_x = -27},/obj/item/weapon/soap/deluxe,/obj/item/weapon/reagent_containers/food/snacks/donkpocket,/obj/structure/window/reinforced{dir = 1; pixel_y = 2},/obj/structure/disposalpipe/segment,/obj/machinery/atmospherics/pipe/simple/supply/hidden,/obj/item/weapon/bikehorn/rubberducky,/turf/simulated/floor/wood,/area/crew_quarters/captain{name = "\improper Captain's Quarters"}) +"aPL" = (/obj/structure/table/holotable,/obj/machinery/recharger,/turf/simulated/floor{dir = 9; icon_state = "blue"},/area/bridge) "aPM" = (/obj/structure/rack{dir = 8; layer = 2.9},/obj/item/weapon/circuitboard/cloning{pixel_x = 0},/obj/item/weapon/circuitboard/med_data{pixel_x = 3; pixel_y = -3},/obj/item/weapon/circuitboard/clonescanner,/obj/item/weapon/circuitboard/clonepod,/obj/item/weapon/circuitboard/scan_consolenew,/turf/simulated/floor/plating,/area/storage/tech) "aPN" = (/obj/structure/rack{dir = 8; layer = 2.9},/obj/item/weapon/circuitboard/secure_data{pixel_x = -2; pixel_y = 2},/obj/item/weapon/circuitboard/security{pixel_x = 1; pixel_y = -1},/turf/simulated/floor/plating,/area/storage/tech) "aPO" = (/obj/structure/rack{dir = 8; layer = 2.9},/obj/item/weapon/circuitboard/powermonitor{pixel_x = -2; pixel_y = 2},/obj/item/weapon/circuitboard/stationalert{pixel_x = 1; pixel_y = -1},/obj/item/weapon/circuitboard/atmos_alert{pixel_x = 3; pixel_y = -3},/turf/simulated/floor/plating,/area/storage/tech) "aPP" = (/obj/structure/cable/yellow{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/door/firedoor,/obj/machinery/door/airlock/glass{icon = 'icons/obj/doors/Doorengglass.dmi'; name = "Starboard Primary Hallway"},/turf/simulated/floor,/area/hallway/primary/starboard) "aPQ" = (/obj/structure/disposalpipe/segment,/turf/simulated/wall,/area/quartermaster/office{name = "\improper Supply Offices"}) -"aPR" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/turf/simulated/wall/r_wall,/area/turret_protected/ai_upload_foyer) +"aPR" = (/obj/machinery/computer/communications,/obj/item/device/radio/intercom{dir = 8; freerange = 1; name = "Station Intercom (Captain)"; pixel_x = 28},/obj/machinery/ai_status_display{pixel_y = 32},/obj/machinery/keycard_auth{pixel_x = 24; pixel_y = 24},/turf/simulated/floor/wood,/area/crew_quarters/captain{name = "\improper Captain's Quarters"}) "aPS" = (/obj/machinery/atmospherics/pipe/manifold{color = "red"; dir = 8; icon_state = "manifold-r-f"; initialize_directions = 11; level = 1; name = "pipe manifold"},/obj/structure/lattice,/turf/space,/area) -"aPT" = (/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 4},/obj/structure/grille,/obj/structure/window/reinforced{dir = 1},/turf/simulated/floor/plating,/area/turret_protected/ai_upload_foyer) +"aPT" = (/obj/structure/table/holotable,/obj/machinery/firealarm{dir = 4; pixel_x = 24},/obj/item/weapon/storage/fancy/donut_box,/turf/simulated/floor{dir = 5; icon_state = "blue"},/area/bridge) "aPU" = (/obj/structure/stool/bed/chair/office/dark,/turf/simulated/floor{icon_state = "dark"},/area/turret_protected/ai_upload_foyer) "aPV" = (/obj/machinery/power/apc{dir = 1; name = "AI Upload Access APC"; pixel_x = 0; pixel_y = 27},/obj/structure/cable/yellow{d2 = 4; icon_state = "0-4"},/turf/simulated/floor{icon_state = "dark"},/area/turret_protected/ai_upload_foyer) "aPW" = (/obj/machinery/atmospherics/unary/vent_scrubber{on = 1; scrub_N2O = 0; scrub_Toxins = 0},/obj/machinery/turretid{control_area = "\improper AI Upload Chamber"; name = "AI Upload turret control"; pixel_x = 8; pixel_y = 24},/obj/item/device/radio/intercom{broadcasting = 1; frequency = 1447; name = "Private AI Channel"; pixel_x = -8; pixel_y = 22},/obj/structure/cable/yellow{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor{icon_state = "dark"},/area/turret_protected/ai_upload_foyer) "aPX" = (/obj/structure/cable/yellow{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/structure/cable/yellow{d1 = 2; d2 = 8; icon_state = "2-8"},/turf/simulated/floor{icon_state = "dark"},/area/turret_protected/ai_upload_foyer) "aPY" = (/obj/machinery/atmospherics/unary/vent_pump{dir = 1; on = 1},/obj/machinery/ai_status_display{pixel_x = 0; pixel_y = 32},/turf/simulated/floor{icon_state = "dark"},/area/turret_protected/ai_upload_foyer) "aPZ" = (/obj/machinery/alarm{pixel_y = 27},/obj/structure/stool/bed/chair/office/dark{dir = 4},/turf/simulated/floor{icon_state = "dark"},/area/turret_protected/ai_upload_foyer) -"aQa" = (/obj/structure/cable/yellow{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/structure/table/reinforced,/obj/item/weapon/book/manual/security_space_law,/turf/simulated/floor{icon_state = "dark"},/area/turret_protected/ai_upload_foyer) -"aQb" = (/obj/machinery/light{icon_state = "tube1"; dir = 8},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/obj/structure/extinguisher_cabinet{pixel_x = -27; pixel_y = 0},/turf/simulated/floor{dir = 1; icon_state = "neutralcorner"},/area/hallway/primary/fore) +"aQa" = (/obj/structure/table/woodentable,/obj/structure/window/reinforced,/obj/machinery/light_switch{pixel_x = -28; pixel_y = 0},/obj/item/weapon/storage/lockbox/medal{pixel_y = 0},/obj/item/weapon/storage/lockbox,/turf/simulated/floor/wood,/area/crew_quarters/captain{name = "\improper Captain's Quarters"}) +"aQb" = (/obj/structure/cable/yellow{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/structure/disposalpipe/segment{dir = 4},/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/turf/simulated/floor{desc = "\"This is a plaque in honour of our comrades on the G4407 Stations. Hopefully TG4407 model can live up to your fame and fortune.\" Scratched in beneath that is a crude image of a meteor and a spaceman. The spaceman is laughing. The meteor is exploding."; icon_state = "plaque"; name = "Commemorative Plaque"},/area/hallway/primary/port) "aQc" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden{req_access_txt = 1},/obj/machinery/firealarm{dir = 4; pixel_x = 24},/obj/machinery/camera/autoname{dir = 8; network = list("SS13")},/turf/simulated/floor{dir = 4; icon_state = "neutralcorner"},/area/hallway/primary/fore) "aQd" = (/obj/structure/table,/obj/item/weapon/minihoe,/obj/item/weapon/reagent_containers/glass/bucket,/obj/item/weapon/hatchet,/turf/simulated/floor{dir = 5; icon_state = "warning"},/area/hallway/secondary/construction{name = "\improper Garden"}) "aQe" = (/turf/simulated/floor{dir = 10; icon_state = "neutral"},/area/hallway/secondary/construction{name = "\improper Garden"}) "aQf" = (/turf/simulated/floor{icon_state = "neutral"},/area/hallway/secondary/construction{name = "\improper Garden"}) "aQg" = (/obj/machinery/atmospherics/unary/vent_pump{dir = 1; on = 1},/turf/simulated/floor{dir = 8; icon_state = "neutralcorner"},/area/hallway/secondary/construction{name = "\improper Garden"}) "aQh" = (/obj/item/weapon/storage/bag/plants/portaseeder,/obj/structure/table,/turf/simulated/floor{icon_state = "bot"},/area/hallway/secondary/construction{name = "\improper Garden"}) -"aQi" = (/obj/structure/table/reinforced,/obj/item/weapon/folder/red,/obj/structure/cable/yellow{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/light{dir = 4},/obj/item/weapon/folder/red,/turf/simulated/floor{icon_state = "red"; dir = 4},/area/bridge) +"aQi" = (/obj/structure/table/holotable,/obj/machinery/light_switch{pixel_y = -25},/obj/item/weapon/storage/box/PDAs{pixel_x = 4; pixel_y = 4},/obj/item/weapon/storage/box/ids,/turf/simulated/floor{icon_state = "blue"; dir = 10},/area/bridge) "aQj" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 5},/turf/simulated/floor{icon_state = "neutral"},/area/crew_quarters/locker) "aQk" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/turf/simulated/floor{icon_state = "neutral"},/area/crew_quarters/locker) "aQl" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/turf/simulated/floor{dir = 8; icon_state = "neutralcorner"},/area/crew_quarters/locker) @@ -2232,7 +2232,7 @@ "aQV" = (/turf/simulated/wall,/area/security/checkpoint/supply) "aQW" = (/obj/structure/cable/yellow{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/simple/supply/hidden{req_access_txt = 1},/turf/simulated/floor/plating,/area/maintenance/fpmaint2{name = "Port Maintenance"}) "aQX" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced,/turf/simulated/floor/plating,/area/maintenance/fpmaint2{name = "Port Maintenance"}) -"aQY" = (/obj/structure/table/reinforced,/obj/item/weapon/folder/white,/obj/structure/cable/yellow{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/light{dir = 8},/obj/structure/cable/yellow{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor{dir = 8; icon_state = "green"},/area/bridge) +"aQY" = (/obj/structure/table/holotable,/obj/structure/closet/fireaxecabinet{pixel_y = -32},/obj/machinery/light_switch{pixel_x = 28; pixel_y = 0},/obj/item/weapon/paper_bin{pixel_x = -2; pixel_y = 4},/obj/item/weapon/pen,/turf/simulated/floor{icon_state = "blue"; dir = 6},/area/bridge) "aQZ" = (/obj/structure/grille,/obj/structure/window/reinforced/tinted{dir = 5; health = 120; icon_state = "twindow"; reinf = 0},/turf/simulated/floor/plating,/area/chapel/main) "aRa" = (/obj/structure/table/woodentable,/obj/item/device/violin,/obj/machinery/firealarm{dir = 4; pixel_x = 24},/obj/machinery/light/small{dir = 4},/turf/simulated/floor/wood,/area/crew_quarters/theatre) "aRb" = (/obj/structure/table,/obj/item/weapon/cable_coil{pixel_x = -3; pixel_y = 3},/obj/item/weapon/cable_coil,/obj/item/weapon/cell/high{charge = 100; maxcharge = 15000},/turf/simulated/floor/plating,/area/storage/tech) @@ -2240,15 +2240,15 @@ "aRd" = (/obj/machinery/firealarm{dir = 1; pixel_y = -24},/obj/structure/table/reinforced,/obj/item/device/radio/intercom{freerange = 0; frequency = 1459; name = "Station Intercom (General)"; pixel_x = -30},/obj/item/weapon/crowbar/red,/obj/item/weapon/wrench,/obj/item/clothing/mask/gas,/turf/simulated/floor{icon_state = "bot"; dir = 1},/area/maintenance/storage) "aRe" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden,/turf/simulated/floor,/area/quartermaster/office{name = "\improper Supply Offices"}) "aRf" = (/obj/machinery/camera/autoname{dir = 8; network = list("SS13")},/obj/structure/extinguisher_cabinet{pixel_x = 27; pixel_y = 0},/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{dir = 2; icon_state = "neutralcorner"},/area/hallway/primary/central) -"aRg" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 10},/turf/simulated/wall/r_wall,/area/turret_protected/ai_upload_foyer) -"aRh" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced,/turf/simulated/floor/plating,/area/turret_protected/ai_upload_foyer) +"aRg" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/obj/effect/landmark/start{name = "Cyborg"},/turf/simulated/floor{icon_state = "dark"},/area/turret_protected/ai_upload_foyer) +"aRh" = (/obj/structure/cable/yellow{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/structure/cable/yellow{d1 = 2; d2 = 4; icon_state = "2-4"},/obj/effect/landmark/start{name = "Cyborg"},/turf/simulated/floor{icon_state = "dark"},/area/turret_protected/ai_upload_foyer) "aRi" = (/obj/structure/table,/obj/item/weapon/folder/blue,/obj/machinery/light,/obj/machinery/newscaster{pixel_x = 0; pixel_y = -32},/turf/simulated/floor{icon_state = "dark"},/area/turret_protected/ai_upload_foyer) "aRj" = (/obj/structure/table,/obj/item/weapon/paper_bin{pixel_x = -3; pixel_y = 7},/obj/item/weapon/pen,/turf/simulated/floor{icon_state = "dark"},/area/turret_protected/ai_upload_foyer) "aRk" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden{req_access_txt = 1},/turf/simulated/floor{dir = 4; icon_state = "neutralcorner"},/area/hallway/primary/central) "aRl" = (/obj/structure/table,/obj/item/weapon/module/power_control,/obj/item/weapon/airlock_electronics,/obj/item/weapon/airlock_electronics,/obj/structure/sign/map/left{icon_state = "map-left-MS"; pixel_y = 32},/turf/simulated/floor{dir = 1; icon_state = "yellow"},/area/engine/break_room) "aRm" = (/obj/machinery/vending/cigarette{pixel_x = 0; pixel_y = 0},/obj/machinery/ai_status_display{pixel_y = 32},/turf/simulated/floor{dir = 1; icon_state = "yellowcorner"},/area/engine/break_room) "aRn" = (/obj/machinery/camera/autoname{dir = 1; network = list("SS13")},/obj/structure/cable/yellow{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/structure/filingcabinet/chestdrawer,/turf/simulated/floor{icon_state = "dark"},/area/turret_protected/ai_upload_foyer) -"aRo" = (/obj/structure/cable/yellow{d1 = 1; d2 = 8; icon_state = "1-8"},/obj/item/weapon/folder/red,/obj/machinery/light,/obj/item/weapon/pen,/obj/machinery/newscaster/security_unit{pixel_x = 0; pixel_y = -30},/obj/structure/table/reinforced,/turf/simulated/floor{icon_state = "dark"},/area/turret_protected/ai_upload_foyer) +"aRo" = (/obj/structure/cable/yellow{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/effect/landmark/start{name = "Cyborg"},/turf/simulated/floor{icon_state = "dark"},/area/turret_protected/ai_upload_foyer) "aRp" = (/obj/structure/table,/obj/item/weapon/reagent_containers/food/snacks/grown/banana,/obj/item/weapon/reagent_containers/food/snacks/grown/banana,/obj/item/weapon/reagent_containers/food/snacks/grown/wheat,/obj/item/weapon/reagent_containers/food/snacks/grown/watermelon,/obj/item/weapon/reagent_containers/food/snacks/grown/watermelon,/obj/item/weapon/reagent_containers/food/snacks/grown/watermelon,/obj/item/weapon/reagent_containers/food/snacks/grown/orange,/obj/item/weapon/reagent_containers/food/snacks/grown/grapes,/obj/item/weapon/reagent_containers/food/snacks/grown/cocoapod,/turf/simulated/floor{tag = "icon-warningcorner (WEST)"; icon_state = "warningcorner"; dir = 8},/area/hallway/secondary/construction{name = "\improper Garden"}) "aRq" = (/obj/structure/table,/obj/item/weapon/hatchet,/obj/item/weapon/coin/silver,/turf/simulated/floor{dir = 1; icon_state = "warning"},/area/hallway/secondary/construction{name = "\improper Garden"}) "aRr" = (/obj/structure/table,/obj/item/weapon/minihoe,/obj/item/weapon/reagent_containers/glass/bucket,/obj/item/weapon/hatchet,/turf/simulated/floor{dir = 1; icon_state = "warning"},/area/hallway/secondary/construction{name = "\improper Garden"}) @@ -2314,10 +2314,10 @@ "aSz" = (/obj/structure/table,/obj/machinery/cell_charger{pixel_y = 5},/obj/item/device/multitool,/turf/simulated/floor/plating,/area/storage/tech) "aSA" = (/obj/structure/table,/obj/machinery/recharger{pixel_y = 4},/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/turf/simulated/floor{icon_state = "red"; dir = 10},/area/security/checkpoint/engineering) "aSB" = (/obj/structure/rack{dir = 8; layer = 2.9},/obj/item/weapon/storage/toolbox/electrical{pixel_x = 1; pixel_y = -1},/obj/item/clothing/gloves/yellow,/obj/item/device/t_scanner,/obj/item/device/multitool,/turf/simulated/floor/plating,/area/storage/tech) -"aSC" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 5},/turf/simulated/wall/r_wall,/area/turret_protected/ai_upload_foyer) -"aSD" = (/obj/machinery/atmospherics/pipe/manifold{color = "red"; icon_state = "manifold-r-f"; level = 1; name = "pipe manifold"},/turf/simulated/wall/r_wall,/area/turret_protected/ai_upload_foyer) +"aSC" = (/obj/structure/cable/yellow{d1 = 1; d2 = 8; icon_state = "1-8"},/obj/item/weapon/folder/red,/obj/machinery/light,/obj/item/weapon/pen,/obj/machinery/newscaster/security_unit{pixel_x = 0; pixel_y = -30},/obj/structure/table/holotable,/turf/simulated/floor{icon_state = "dark"},/area/turret_protected/ai_upload_foyer) +"aSD" = (/turf/simulated/wall,/area/turret_protected/ai_upload_foyer) "aSE" = (/obj/machinery/door/airlock/highsecurity{name = "Secure Network Access"; req_access_txt = "19"},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/obj/structure/cable/yellow{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor{tag = "icon-vault"; icon_state = "vault"},/area/turret_protected/ai_upload_foyer) -"aSF" = (/obj/structure/sign/securearea,/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/turf/simulated/wall/r_wall,/area/turret_protected/ai_upload_foyer) +"aSF" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 10},/turf/simulated/wall,/area/turret_protected/ai_upload_foyer) "aSG" = (/obj/machinery/light_switch{pixel_x = 27},/obj/structure/reagent_dispensers/peppertank{pixel_x = 0; pixel_y = 30},/obj/structure/closet/secure_closet/security,/turf/simulated/floor{icon_state = "red"; dir = 5},/area/security/checkpoint2{name = "Customs"}) "aSH" = (/obj/machinery/atmospherics/unary/vent_scrubber{dir = 4; icon_state = "off"; on = 1; scrub_N2O = 0; scrub_Toxins = 0},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/obj/machinery/camera/autoname{dir = 8; network = list("SS13")},/obj/machinery/firealarm{dir = 4; pixel_x = 24},/turf/simulated/floor{dir = 4; icon_state = "arrival"},/area/hallway/secondary/entry{name = "Arrivals"}) "aSI" = (/obj/machinery/atmospherics/pipe/manifold{color = "red"; dir = 1; icon_state = "manifold-r-f"; initialize_directions = 11; level = 1; name = "pipe manifold"},/obj/structure/table/reinforced,/obj/item/weapon/book/manual/security_space_law{pixel_x = -3; pixel_y = 5},/turf/simulated/floor{icon_state = "red"; dir = 9},/area/security/checkpoint2{name = "Customs"}) @@ -2383,7 +2383,7 @@ "aTQ" = (/obj/structure/cable/yellow{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor{icon_state = "delivery"},/area/hallway/primary/central) "aTR" = (/obj/structure/cable/yellow{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/structure/disposalpipe/segment,/turf/simulated/floor/plating{tag = "icon-warnplate (WEST)"; icon_state = "warnplate"; dir = 8},/area/maintenance/fore) "aTS" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/structure/stool{pixel_y = 8},/turf/simulated/floor{icon_state = "bar"},/area/crew_quarters/bar) -"aTT" = (/obj/structure/sign/map/right{desc = "A framed picture of the station. Clockwise from security at the top (red), you see engineering (yellow), science (purple), escape (red and white), medbay (green), arrivals (blue and white), and finally cargo (brown)."; icon_state = "map-right-MS"; pixel_y = 32},/turf/simulated/floor{icon_state = "neutral"; dir = 1},/area/hallway/primary/central) +"aTT" = (/obj/machinery/atmospherics/pipe/manifold{color = "red"; icon_state = "manifold-r-f"; level = 1; name = "pipe manifold"},/turf/simulated/wall,/area/turret_protected/ai_upload_foyer) "aTU" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/obj/machinery/power/apc{cell_type = 10000; dir = 1; name = "Central Hall APC"; pixel_y = 24},/obj/structure/cable/yellow{d2 = 2; icon_state = "0-2"},/turf/simulated/floor{icon_state = "neutral"; dir = 1},/area/hallway/primary/central) "aTV" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/turf/simulated/floor{icon_state = "neutral"; dir = 1},/area/hallway/primary/central) "aTW" = (/obj/structure/cable/yellow{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor{icon_state = "neutral"; dir = 1},/area/hallway/primary/central) @@ -2495,7 +2495,7 @@ "aVY" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/machinery/door/firedoor,/obj/machinery/door/airlock/glass_mining{name = "Supply Office"; req_access_txt = "0"; req_one_access_txt = "48;50"},/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/turf/simulated/floor,/area/quartermaster/office{name = "\improper Supply Offices"}) "aVZ" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden{req_access_txt = 1},/obj/structure/disposalpipe/segment{dir = 8; icon_state = "pipe-c"},/obj/machinery/light{dir = 4; icon_state = "tube1"},/turf/simulated/floor{dir = 4; icon_state = "neutralcorner"},/area/hallway/primary/central) "aWa" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/obj/machinery/door/firedoor,/turf/simulated/floor{dir = 8; icon_state = "neutralcorner"},/area/hallway/primary/central) -"aWb" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/turf/simulated/wall/r_wall,/area/security/checkpoint/engineering) +"aWb" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/turf/simulated/wall,/area/turret_protected/ai_upload_foyer) "aWc" = (/obj/item/weapon/screwdriver{pixel_y = 10},/obj/item/device/radio/off,/obj/machinery/light{dir = 1},/obj/machinery/requests_console{department = "Security"; departmentType = 5; pixel_y = 30},/turf/simulated/floor{icon_state = "red"; dir = 1},/area/security/checkpoint/supply) "aWd" = (/obj/machinery/atmospherics/unary/vent_scrubber{dir = 8; icon_state = "off"; on = 1; scrub_N2O = 0; scrub_Toxins = 0},/turf/simulated/floor,/area/security/checkpoint/engineering) "aWe" = (/obj/item/device/radio/intercom{dir = 4; name = "Station Intercom (General)"; pixel_x = 27},/obj/machinery/light{dir = 4},/obj/machinery/camera/autoname{dir = 8; network = list("SS13")},/turf/simulated/floor{icon_state = "red"; dir = 4},/area/security/checkpoint/engineering) @@ -2564,18 +2564,18 @@ "aXp" = (/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 1},/obj/structure/grille,/obj/structure/window/reinforced{dir = 4},/turf/simulated/floor/plating,/area/hallway/primary/central) "aXq" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/obj/machinery/door/firedoor,/obj/machinery/door/airlock/glass{id_tag = "customsinner"; name = "Customs Inner Door"},/turf/simulated/floor,/area/hallway/secondary/entry{name = "Arrivals"}) "aXr" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/turf/simulated/floor,/area/hallway/primary/port) -"aXs" = (/obj/structure/table/reinforced,/obj/machinery/recharger,/turf/simulated/floor{dir = 9; icon_state = "blue"},/area/bridge) +"aXs" = (/obj/structure/sign/securearea,/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/turf/simulated/wall,/area/turret_protected/ai_upload_foyer) "aXt" = (/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 1},/obj/structure/grille,/turf/simulated/floor/plating,/area/hallway/primary/central) "aXu" = (/obj/structure/disposalpipe/segment,/obj/machinery/door/airlock/maintenance{name = "Engineering Maintenance"; req_access_txt = "32"},/obj/structure/cable/yellow{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/turf/simulated/floor/plating,/area/engine/break_room) "aXv" = (/turf/simulated/floor,/area/engine/break_room) -"aXw" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/machinery/alarm{dir = 1; pixel_y = -22},/obj/structure/janitorialcart,/turf/simulated/floor,/area/janitor) +"aXw" = (/obj/machinery/atmospherics/unary/vent_pump{dir = 8; on = 1},/turf/simulated/floor,/area/janitor) "aXx" = (/obj/structure/cable/yellow{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/turf/simulated/floor,/area/engine/break_room) "aXy" = (/obj/structure/cable/yellow{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/door/firedoor,/obj/machinery/door/airlock/glass_security{name = "Security Office"; req_access_txt = "63"},/turf/simulated/floor,/area/security/checkpoint/engineering) "aXz" = (/obj/structure/cable/yellow{d1 = 1; d2 = 8; icon_state = "1-8"},/turf/simulated/floor{icon_state = "red"; dir = 8},/area/security/checkpoint/engineering) "aXA" = (/obj/structure/stool/bed/chair/office/dark,/obj/machinery/atmospherics/unary/vent_pump{on = 1},/turf/simulated/floor,/area/security/checkpoint/engineering) "aXB" = (/obj/machinery/computer/secure_data,/obj/machinery/computer/security/telescreen{desc = "Used for monitoring the singularity engine safely."; name = "Singularity Monitor"; network = "Singulo"; pixel_x = 32; pixel_y = 0},/turf/simulated/floor{icon_state = "red"; dir = 4},/area/security/checkpoint/engineering) "aXC" = (/obj/structure/cable/yellow{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 9},/turf/simulated/floor{icon_state = "delivery"},/area/engine/break_room) -"aXD" = (/obj/structure/sign/securearea{desc = "A warning sign which reads 'KEEP CLEAR OF DOCKING AREA'."; name = "KEEP CLEAR: DOCKING AREA"; pixel_y = 0},/turf/simulated/wall/r_wall,/area/hallway/secondary/entry{name = "Arrivals"}) +"aXD" = (/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},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/turf/simulated/floor/plating,/area/turret_protected/ai_upload_foyer) "aXE" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 8},/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},/turf/simulated/floor/plating,/area/hallway/secondary/entry{name = "Arrivals"}) "aXF" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 8},/turf/simulated/floor/plating,/area/hallway/secondary/entry{name = "Arrivals"}) "aXG" = (/obj/machinery/door/airlock{name = "Central Emergency Storage"; req_access_txt = "0"},/turf/simulated/floor/plating,/area/hallway/primary/central) @@ -2631,7 +2631,7 @@ "aYE" = (/obj/machinery/door/airlock{icon = 'icons/obj/doors/Doorint.dmi'; name = "Starboard Emergency Storage"; req_access_txt = "0"},/turf/simulated/floor/plating,/area/maintenance/starboard) "aYF" = (/obj/structure/table/woodentable,/obj/item/weapon/paper,/obj/item/weapon/pen,/obj/item/device/radio/intercom{freerange = 0; frequency = 1459; name = "Station Intercom (General)"; pixel_x = -29},/obj/machinery/light{dir = 8},/turf/simulated/floor/wood,/area/library) "aYG" = (/obj/structure/cable/yellow{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 9},/obj/structure/disposalpipe/segment,/turf/simulated/floor,/area/hallway/primary/central) -"aYH" = (/obj/structure/table/reinforced,/obj/machinery/firealarm{dir = 4; pixel_x = 24},/obj/item/weapon/folder/blue,/obj/item/weapon/folder/blue,/turf/simulated/floor{dir = 5; icon_state = "blue"},/area/bridge) +"aYH" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 5},/turf/simulated/wall,/area/turret_protected/ai_upload_foyer) "aYI" = (/obj/structure/cable/yellow{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/door/firedoor,/obj/machinery/door/airlock/command{icon_state = "door_closed"; lockdownbyai = 0; locked = 0; name = "Gateway Access"; req_access_txt = "62"},/obj/machinery/atmospherics/pipe/simple/supply/hidden,/turf/simulated/floor,/area/gateway) "aYJ" = (/turf/simulated/floor,/area/storage/tools) "aYK" = (/obj/machinery/atmospherics/unary/vent_pump{dir = 2; on = 1},/turf/simulated/floor,/area/storage/tools) @@ -2781,7 +2781,7 @@ "bby" = (/obj/machinery/status_display{density = 0; layer = 4; pixel_x = 0; pixel_y = 32},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/obj/machinery/computer/security/wooden_tv,/turf/simulated/floor/carpet,/area/crew_quarters/captain{name = "\improper Captain's Quarters"}) "bbz" = (/obj/machinery/light{dir = 1},/obj/machinery/disposal{dir = 8},/obj/structure/disposalpipe/trunk,/turf/simulated/floor/carpet,/area/crew_quarters/captain{name = "\improper Captain's Quarters"}) "bbA" = (/obj/structure/filingcabinet,/obj/machinery/atmospherics/unary/vent_pump{on = 1},/obj/machinery/ai_status_display{pixel_y = 32},/turf/simulated/floor/carpet,/area/crew_quarters/captain{name = "\improper Captain's Quarters"}) -"bbB" = (/obj/item/weapon/reagent_containers/food/drinks/drinkingglass{pixel_x = 2; pixel_y = 1},/obj/item/weapon/reagent_containers/food/drinks/drinkingglass,/obj/item/weapon/reagent_containers/food/drinks/drinkingglass{pixel_x = -3; pixel_y = 2},/obj/structure/closet/secure_closet{req_access_txt = "20"},/obj/item/weapon/reagent_containers/food/drinks/bottle/rum,/obj/item/weapon/storage/fancy/donut_box,/turf/simulated/floor/carpet,/area/crew_quarters/captain{name = "\improper Captain's Quarters"}) +"bbB" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 5},/obj/machinery/light/small{dir = 8},/turf/simulated/floor,/area/janitor) "bbC" = (/obj/structure/window/reinforced{dir = 8},/turf/simulated/floor/wood,/area/crew_quarters/captain{name = "\improper Captain's Quarters"}) "bbD" = (/obj/machinery/door/airlock{name = "Unisex Showers"; req_access_txt = "0"},/turf/simulated/floor{icon_state = "freezerfloor"},/area/crew_quarters/locker/locker_toilet{name = "\improper Restrooms"}) "bbE" = (/obj/structure/cable/yellow{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/structure/disposalpipe/segment{dir = 4},/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 9},/turf/simulated/floor,/area/hallway/primary/port) @@ -2858,7 +2858,7 @@ "bcX" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 4; pixel_x = 0},/obj/structure/window/reinforced,/obj/machinery/door/poddoor{density = 0; icon_state = "open"; id = "chapel"; name = "Privacy Shutters"; opacity = 0},/turf/simulated/floor/plating,/area/chapel/main) "bcY" = (/obj/structure/cable/yellow{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/simple/supply/hidden{req_access_txt = 1},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/turf/simulated/floor{dir = 8; icon_state = "brown"},/area/hallway/primary/fore) "bcZ" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/turf/simulated/floor,/area/janitor) -"bda" = (/obj/machinery/atmospherics/unary/vent_pump{dir = 8; on = 1},/obj/machinery/light/small{dir = 8},/turf/simulated/floor,/area/janitor) +"bda" = (/obj/structure/closet/firecloset,/obj/structure/sign/map/left{desc = "A framed picture of the station. Clockwise from security at the top (red), you see engineering (yellow), science (purple), escape (red and white), medbay (green), arrivals (blue and white), and finally cargo (brown)."; icon_state = "map-left-MS"; pixel_y = 32},/turf/simulated/floor{dir = 9; icon_state = "neutral"},/area/hallway/primary/central) "bdb" = (/obj/structure/disposalpipe/segment,/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/obj/effect/landmark/start{name = "Janitor"},/turf/simulated/floor,/area/janitor) "bdc" = (/obj/item/weapon/storage/box/lights/mixed,/obj/item/weapon/storage/box/lights/mixed,/obj/item/weapon/legcuffs/beartrap,/obj/item/weapon/legcuffs/beartrap,/turf/simulated/floor,/area/janitor) "bdd" = (/obj/structure/cable/yellow{d1 = 2; d2 = 8; icon_state = "2-8"},/obj/machinery/atmospherics/pipe/simple/supply/hidden,/turf/simulated/floor{dir = 8; icon_state = "brown"},/area/hallway/primary/fore) @@ -3121,8 +3121,8 @@ "bia" = (/obj/machinery/atmospherics/pipe/simple{dir = 5; icon_state = "intact-f"},/obj/structure/table,/obj/item/stack/sheet/glass{amount = 50},/obj/item/stack/sheet/glass{amount = 50},/obj/item/stack/rods{amount = 50},/obj/item/stack/rods{amount = 50},/obj/item/weapon/wrench,/turf/simulated/floor{icon_state = "bot"; dir = 1},/area/maintenance/storage) "bib" = (/obj/machinery/atmospherics/pipe/simple{color = "cyan"; icon_state = "intact-c"},/obj/machinery/atmospherics/pipe/simple{color = "yellow"; dir = 4; icon_state = "intact-y"; level = 2},/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 4; pixel_x = 0},/obj/structure/grille,/turf/simulated/floor/plating,/area/maintenance/storage) "bic" = (/obj/machinery/atmospherics/valve/digital{color = "yellow"; dir = 4; name = "N2O Outlet Valve"},/turf/simulated/floor{icon_state = "grimy"},/area/maintenance/storage) -"bid" = (/obj/structure/toilet{pixel_y = 12},/obj/machinery/shower{tag = "icon-shower (EAST)"; icon_state = "shower"; dir = 4},/obj/machinery/light{dir = 2; icon_state = "tube1"},/obj/effect/landmark/start{name = "Captain"},/obj/machinery/light_switch{pixel_x = -28; pixel_y = 0},/turf/simulated/floor{icon_state = "white"},/area/crew_quarters/captain{name = "\improper Captain's Quarters"}) -"bie" = (/obj/structure/mirror{pixel_y = 28},/obj/structure/sink{pixel_y = 17},/obj/effect/landmark{name = "xeno_spawn"; pixel_x = -1},/turf/simulated/floor{icon_state = "white"},/area/crew_quarters/captain{name = "\improper Captain's Quarters"}) +"bid" = (/obj/machinery/light{dir = 1},/obj/structure/sign/map/right{desc = "A framed picture of the station. Clockwise from security at the top (red), you see engineering (yellow), science (purple), escape (red and white), medbay (green), arrivals (blue and white), and finally cargo (brown)."; icon_state = "map-right-MS"; pixel_y = 32},/turf/simulated/floor{icon_state = "neutral"; dir = 1},/area/hallway/primary/central) +"bie" = (/obj/item/weapon/reagent_containers/food/drinks/drinkingglass{pixel_x = 2; pixel_y = 1},/obj/item/weapon/reagent_containers/food/drinks/drinkingglass,/obj/item/weapon/reagent_containers/food/drinks/drinkingglass{pixel_x = -3; pixel_y = 2},/obj/structure/closet/secure_closet{req_access_txt = "20"},/obj/item/weapon/reagent_containers/food/drinks/bottle/rum,/obj/item/weapon/storage/fancy/donut_box,/obj/item/weapon/storage/lockbox,/turf/simulated/floor/carpet,/area/crew_quarters/captain{name = "\improper Captain's Quarters"}) "bif" = (/obj/machinery/door/airlock/silver{name = "Bathroom"},/turf/simulated/floor{icon_state = "white"},/area/crew_quarters/captain{name = "\improper Captain's Quarters"}) "big" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden,/obj/structure/disposalpipe/segment,/turf/simulated/floor/wood,/area/crew_quarters/captain{name = "\improper Captain's Quarters"}) "bih" = (/obj/machinery/door/poddoor/shutters{id = "qm_warehouse"; name = "Warehouse Shutters"},/obj/structure/cable/yellow{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/simple/supply/hidden{req_access_txt = 1},/obj/structure/disposalpipe/segment,/turf/simulated/floor{icon_state = "delivery"; name = "floor"},/area/quartermaster/sorting{name = "\improper Warehouse"}) @@ -3293,7 +3293,7 @@ "blq" = (/turf/simulated/floor{dir = 0; icon_state = "blue"},/area/bridge) "blr" = (/turf/simulated/floor{icon_state = "blue"; dir = 10},/area/bridge) "bls" = (/obj/structure/table/woodentable,/obj/structure/window/reinforced{dir = 8},/obj/item/weapon/folder/blue,/obj/item/weapon/folder/blue,/turf/simulated/floor{dir = 2; icon_state = "carpetsymbol"},/area/bridge) -"blt" = (/obj/structure/table/reinforced,/obj/structure/closet/fireaxecabinet{pixel_y = -32},/obj/machinery/light_switch{pixel_x = 28; pixel_y = 0},/obj/item/weapon/paper_bin{pixel_x = -2; pixel_y = 4},/obj/item/weapon/pen,/turf/simulated/floor{icon_state = "blue"; dir = 6},/area/bridge) +"blt" = (/turf/simulated/floor{icon_state = "neutral"; dir = 1},/area/hallway/primary/central) "blu" = (/obj/machinery/computer/communications,/turf/simulated/floor{dir = 2; icon_state = "carpetsymbol"},/area/bridge) "blv" = (/obj/structure/table/woodentable,/obj/machinery/computer/security/wooden_tv{pixel_x = 3; pixel_y = 2},/turf/simulated/floor{dir = 2; icon_state = "carpetsymbol"},/area/bridge) "blw" = (/obj/structure/table/woodentable,/obj/structure/window/reinforced{dir = 4},/obj/item/weapon/book/manual/security_space_law,/obj/item/weapon/handcuffs,/turf/simulated/floor{dir = 2; icon_state = "carpetsymbol"},/area/bridge) @@ -3305,7 +3305,7 @@ "blC" = (/obj/structure/displaycase{pixel_y = 5},/obj/machinery/status_display{density = 0; layer = 4; pixel_x = 0; pixel_y = 32},/turf/simulated/floor/wood,/area/crew_quarters/captain{name = "\improper Captain's Quarters"}) "blD" = (/obj/structure/sign/map/left{desc = "A framed picture of the station. Clockwise from security at the top (red), you see engineering (yellow), science (purple), escape (red and white), medbay (green), arrivals (blue and white), and finally cargo (brown)."; icon_state = "map-left-MS"; pixel_y = 32},/turf/simulated/floor/wood,/area/crew_quarters/captain{name = "\improper Captain's Quarters"}) "blE" = (/obj/structure/sign/map/right{desc = "A framed picture of the station. Clockwise from security at the top (red), you see engineering (yellow), science (purple), escape (red and white), medbay (green), arrivals (blue and white), and finally cargo (brown)."; icon_state = "map-right-MS"; pixel_y = 32},/turf/simulated/floor/wood,/area/crew_quarters/captain{name = "\improper Captain's Quarters"}) -"blF" = (/obj/machinery/computer/communications,/obj/item/device/radio/intercom{dir = 8; freerange = 1; name = "Station Intercom (Captain)"; pixel_x = 28},/obj/machinery/ai_status_display{pixel_y = 32},/turf/simulated/floor/wood,/area/crew_quarters/captain{name = "\improper Captain's Quarters"}) +"blF" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/turf/simulated/wall,/area/security/checkpoint/engineering) "blG" = (/obj/structure/stool/bed/chair/comfy/brown{dir = 1; name = "command chair"},/turf/simulated/floor/carpet,/area/bridge) "blH" = (/obj/machinery/firealarm{pixel_y = 27},/turf/simulated/floor{dir = 1; icon_state = "warning"},/area/quartermaster/sorting{name = "\improper Warehouse"}) "blI" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden{req_access_txt = 1},/obj/structure/extinguisher_cabinet{pixel_x = 27; pixel_y = 0},/turf/simulated/floor{dir = 2; icon_state = "neutralcorner"},/area/hallway/primary/central) @@ -3447,7 +3447,7 @@ "boo" = (/obj/machinery/vending/cola,/obj/machinery/camera/autoname{dir = 4; network = list("SS13")},/turf/simulated/floor{icon_state = "dark"},/area/hallway/primary/port) "bop" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/obj/structure/disposalpipe/segment{dir = 1; icon_state = "pipe-c"},/turf/simulated/floor,/area/quartermaster/storage) "boq" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden,/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/turf/simulated/floor{dir = 2; icon_state = "neutralcorner"},/area/hallway/primary/port) -"bor" = (/obj/structure/table/woodentable,/obj/structure/window/reinforced,/obj/machinery/light_switch{pixel_x = -28; pixel_y = 0},/obj/item/weapon/storage/lockbox/medal{pixel_y = 0},/turf/simulated/floor/wood,/area/crew_quarters/captain{name = "\improper Captain's Quarters"}) +"bor" = (/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},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 9},/turf/simulated/floor/plating,/area/turret_protected/ai_upload_foyer) "bos" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/turf/simulated/floor{dir = 8; icon_state = "neutralcorner"},/area/hallway/primary/port) "bot" = (/obj/machinery/atmospherics/pipe/manifold{color = "red"; dir = 2; icon_state = "manifold-r-f"; initialize_directions = 11; level = 1; name = "pipe manifold"},/obj/machinery/alarm{dir = 1; pixel_y = -22},/turf/simulated/floor{dir = 8; icon_state = "neutralcorner"},/area/hallway/primary/port) "bou" = (/obj/machinery/atmospherics/pipe/manifold{color = "red"; dir = 2; icon_state = "manifold-r-f"; initialize_directions = 11; level = 1; name = "pipe manifold"},/turf/simulated/floor{dir = 8; icon_state = "neutralcorner"},/area/hallway/primary/port) @@ -3460,7 +3460,7 @@ "boB" = (/obj/structure/cable/yellow{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/navbeacon{codes_txt = "patrol;next_patrol=7-Command-Starboard"; location = "6-Port-Central"},/obj/structure/disposalpipe/segment,/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/turf/simulated/floor,/area/hallway/primary/central) "boC" = (/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"},/turf/simulated/floor{dir = 4; icon_state = "bluecorner"},/area/hallway/primary/central) "boD" = (/obj/machinery/light{icon_state = "tube1"; dir = 8},/obj/structure/table,/obj/item/stack/sheet/metal{amount = 50},/obj/item/stack/sheet/metal{amount = 50},/turf/simulated/floor{dir = 8; icon_state = "caution"},/area/maintenance/storage) -"boE" = (/obj/structure/cable/yellow{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/structure/disposalpipe/segment{dir = 4},/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/turf/simulated/floor{desc = "\"This is a plaque in honour of our comrades on the G4407 Stations. Hopefully TG4407 model can live up to your fame and fortune.\" Scratched in beneath that is a crude image of a meteor and a spaceman. The spaceman is laughing. The meteor is exploding."; dir = 4; icon_state = "plaque"; name = "Comemmorative Plaque"; nitrogen = 30; oxygen = 70; tag = "icon-plaque (EAST)"; temperature = 80},/area/hallway/primary/port) +"boE" = (/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},/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 5},/turf/simulated/floor/plating,/area/turret_protected/ai_upload_foyer) "boF" = (/obj/structure/cable/yellow{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/structure/disposalpipe/segment{dir = 4},/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/obj/machinery/atmospherics/unary/vent_pump{dir = 1; on = 1},/turf/simulated/floor,/area/hallway/primary/port) "boG" = (/obj/structure/cable/yellow{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/structure/disposalpipe/segment{dir = 4},/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/obj/machinery/door/firedoor,/turf/simulated/floor,/area/hallway/primary/port) "boH" = (/turf/simulated/floor,/area/crew_quarters/heads) @@ -3533,7 +3533,7 @@ "bpW" = (/obj/machinery/portable_atmospherics/pump,/turf/simulated/floor{icon_state = "delivery"},/area/crew_quarters/locker) "bpX" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden{req_access_txt = 1},/obj/structure/disposalpipe/segment,/turf/simulated/floor,/area/crew_quarters/locker) "bpY" = (/turf/simulated/wall,/area/chapel/main) -"bpZ" = (/obj/machinery/door/airlock/maintenance{req_access_txt = "12"},/turf/simulated/floor/plating,/area/maintenance/fpmaint2{name = "Port Maintenance"}) +"bpZ" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/machinery/atmospherics/unary/vent_scrubber{dir = 8; on = 1; scrub_Toxins = 0},/obj/machinery/camera{c_tag = "Research Break Room"; dir = 1; network = list("SS13","RD")},/turf/simulated/floor{tag = "icon-cafeteria (NORTHEAST)"; icon_state = "cafeteria"; dir = 5},/area/medical/research{name = "Research Division"}) "bqa" = (/turf/simulated/wall,/area/library) "bqb" = (/obj/structure/cable/yellow{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/door/airlock/maintenance{req_access_txt = "12"},/turf/simulated/floor/plating,/area/crew_quarters/locker/locker_toilet{name = "\improper Restrooms"}) "bqc" = (/obj/structure/cable/yellow{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/structure/disposalpipe/segment{dir = 8; icon_state = "pipe-c"},/obj/machinery/light_switch{pixel_y = -28},/turf/simulated/floor{icon_state = "freezerfloor"},/area/crew_quarters/locker/locker_toilet{name = "\improper Restrooms"}) @@ -3548,7 +3548,7 @@ "bql" = (/obj/machinery/recharger{pixel_y = 4},/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/obj/structure/table/reinforced,/obj/machinery/camera/autoname{dir = 1; network = list("SS13")},/turf/simulated/floor{icon_state = "red"; dir = 10},/area/security/checkpoint/supply) "bqm" = (/obj/structure/cable/yellow{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/structure/cable/yellow{d1 = 2; d2 = 8; icon_state = "2-8"},/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/obj/structure/extinguisher_cabinet{pixel_x = 27; pixel_y = 0},/turf/simulated/floor{dir = 4; icon_state = "warning"},/area/quartermaster/storage) "bqn" = (/obj/effect/landmark/start{name = "Head of Personnel"},/obj/structure/stool/bed/chair/office/dark{dir = 8},/turf/simulated/floor,/area/crew_quarters/heads) -"bqo" = (/obj/structure/table/reinforced,/obj/item/weapon/storage/fancy/donut_box,/obj/machinery/light_switch{pixel_y = -25},/turf/simulated/floor{icon_state = "blue"; dir = 10},/area/bridge) +"bqo" = (/obj/structure/cable/yellow{d2 = 2; icon_state = "0-2"},/obj/structure/table/holotable,/obj/item/weapon/phone{pixel_x = -3; pixel_y = 3},/obj/item/weapon/cigbutt/cigarbutt{pixel_x = 5; pixel_y = -1},/obj/structure/extinguisher_cabinet{pixel_x = 27; pixel_y = 0},/turf/simulated/floor{tag = "icon-vault"; icon_state = "vault"},/area/turret_protected/ai_upload_foyer) "bqp" = (/obj/machinery/atmospherics/pipe/simple{color = "green"; dir = 4; icon_state = "intact-g"; level = 2},/obj/machinery/atmospherics/pipe/simple{color = "cyan"; icon_state = "intact-c"},/obj/machinery/atmospherics/pipe/simple{color = "yellow"; dir = 4; icon_state = "intact-y"; level = 2},/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 4; pixel_x = 0},/obj/structure/grille,/turf/simulated/floor/plating,/area/maintenance/storage) "bqq" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/turf/simulated/wall,/area/security/checkpoint/supply) "bqr" = (/turf/simulated/floor{dir = 9; icon_state = "blue"},/area/bridge) @@ -3563,8 +3563,8 @@ "bqA" = (/obj/structure/cable/yellow{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor/carpet,/area/crew_quarters/captain{name = "\improper Captain's Quarters"}) "bqB" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden{req_access_txt = 1},/obj/structure/disposalpipe/segment,/turf/simulated/floor/carpet,/area/crew_quarters/captain{name = "\improper Captain's Quarters"}) "bqC" = (/obj/machinery/camera/autoname{dir = 8; network = list("SS13")},/turf/simulated/floor/carpet,/area/crew_quarters/captain{name = "\improper Captain's Quarters"}) -"bqD" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/turf/simulated/floor{icon_state = "dark"},/area/turret_protected/ai_upload_foyer) -"bqE" = (/obj/structure/cable/yellow{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/structure/cable/yellow{d1 = 2; d2 = 4; icon_state = "2-4"},/turf/simulated/floor{icon_state = "dark"},/area/turret_protected/ai_upload_foyer) +"bqD" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/obj/machinery/light{icon_state = "tube1"; dir = 8},/obj/structure/extinguisher_cabinet{pixel_x = -27; pixel_y = 0},/turf/simulated/floor{dir = 1; icon_state = "neutralcorner"},/area/hallway/primary/fore) +"bqE" = (/obj/structure/grille,/obj/structure/window/reinforced/tinted{dir = 5; health = 120; icon_state = "twindow"; reinf = 0},/turf/simulated/floor/plating,/area/turret_protected/ai_upload_foyer) "bqF" = (/obj/structure/cable/yellow{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor,/area/hallway/primary/central) "bqG" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden{req_access_txt = 1},/turf/simulated/floor{dir = 2; icon_state = "neutralcorner"},/area/hallway/primary/central) "bqH" = (/obj/structure/rack,/obj/effect/landmark/costume,/turf/simulated/floor{dir = 10; icon_state = "neutral"},/area/crew_quarters/theatre) @@ -3583,7 +3583,7 @@ "bqU" = (/obj/item/weapon/crowbar,/obj/item/weapon/wrench,/obj/structure/table,/obj/machinery/atmospherics/pipe/simple/supply/hidden,/turf/simulated/floor{dir = 10; icon_state = "yellow"},/area/hallway/primary/starboard) "bqV" = (/obj/machinery/atmospherics/pipe/simple{dir = 1},/obj/structure/cable/yellow{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/navbeacon{codes_txt = "patrol;next_patrol=14-Starboard-Central"; location = "13-Engineering"},/turf/simulated/floor{dir = 2; icon_state = "yellow"},/area/hallway/primary/starboard) "bqW" = (/obj/machinery/atmospherics/pipe/simple{dir = 1},/obj/machinery/light/small{dir = 4},/turf/simulated/floor{dir = 6; icon_state = "yellow"},/area/hallway/primary/starboard) -"bqX" = (/obj/structure/cable/yellow{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor{icon_state = "dark"},/area/turret_protected/ai_upload_foyer) +"bqX" = (/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},/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/turf/simulated/floor/plating,/area/turret_protected/ai_upload_foyer) "bqY" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/turf/simulated/floor{dir = 4; icon_state = "neutralcorner"},/area/hallway/primary/central) "bqZ" = (/obj/machinery/computer/atmos_alert,/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/obj/structure/sign/map/left{desc = "A framed picture of the station. Clockwise from security at the top (red), you see engineering (yellow), science (purple), escape (red and white), medbay (green), arrivals (blue and white), and finally cargo (brown)."; icon_state = "map-left-MS"; pixel_y = -32},/turf/simulated/floor{icon_state = "bot"; dir = 1},/area/maintenance/storage) "bra" = (/obj/structure/sign/map/right{desc = "A framed picture of the station. Clockwise from security at the top (red), you see engineering (yellow), science (purple), escape (red and white), medbay (green), arrivals (blue and white), and finally cargo (brown)."; icon_state = "map-right-MS"; pixel_y = -32},/obj/machinery/computer/station_alert,/turf/simulated/floor{icon_state = "bot"; dir = 1},/area/maintenance/storage) @@ -4006,7 +4006,7 @@ "bzb" = (/obj/machinery/atmospherics/pipe/manifold{color = "red"; dir = 1; icon_state = "manifold-r-f"; initialize_directions = 11; level = 1; name = "pipe manifold"},/turf/simulated/floor{icon_state = "neutral"},/area/hallway/primary/port) "bzc" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 1; pixel_y = 2},/turf/simulated/floor/plating,/area/maintenance/fpmaint2{name = "Port Maintenance"}) "bzd" = (/obj/structure/window/reinforced,/obj/structure/grille,/obj/structure/window/reinforced{dir = 1; pixel_y = 2},/turf/simulated/floor/plating,/area/maintenance/fpmaint2{name = "Port Maintenance"}) -"bze" = (/obj/structure/rack{dir = 8; layer = 2.9},/obj/item/clothing/shoes/magboots,/obj/item/clothing/suit/space/rig/elite,/obj/item/clothing/mask/breath,/obj/item/clothing/head/helmet/space/rig/elite,/turf/simulated/floor{dir = 8; icon_state = "neutralfull"},/area/engine/chiefs_office) +"bze" = (/obj/structure/cable/yellow{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/structure/table/holotable,/obj/item/weapon/book/manual/security_space_law,/turf/simulated/floor{icon_state = "dark"},/area/turret_protected/ai_upload_foyer) "bzf" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden,/obj/structure/disposalpipe/segment,/obj/effect/landmark/start{name = "Chief Engineer"},/turf/simulated/floor{dir = 8; icon_state = "neutralfull"},/area/engine/chiefs_office) "bzg" = (/obj/item/device/radio/intercom{broadcasting = 1; frequency = 1480; name = "Confessional Intercom"; pixel_x = -25},/obj/structure/stool/bed/chair{dir = 1},/turf/simulated/floor{icon_state = "dark"},/area/maintenance/fpmaint2{name = "Port Maintenance"}) "bzh" = (/obj/machinery/door/morgue{name = "Confession Booth"},/turf/simulated/floor{icon_state = "dark"},/area/maintenance/fpmaint2{name = "Port Maintenance"}) @@ -4106,7 +4106,7 @@ "bAX" = (/obj/machinery/atmospherics/pipe/manifold{color = "red"; dir = 8; icon_state = "manifold-r-f"; initialize_directions = 11; level = 1; name = "pipe manifold"},/turf/simulated/floor{icon_state = "blue"; dir = 4},/area/hallway/primary/central) "bAY" = (/obj/machinery/door/firedoor,/obj/machinery/door/airlock/medical{name = "Observation"; req_access_txt = "45"},/obj/machinery/atmospherics/pipe/simple/supply/hidden{req_access_txt = 1},/turf/simulated/floor,/area/medical/surgery) "bAZ" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/turf/simulated/floor{dir = 8; icon_state = "bluecorner"},/area/bridge/meeting_room{name = "\improper Command Corridors"}) -"bBa" = (/obj/item/weapon/reagent_containers/glass/beaker/large{pixel_x = -3; pixel_y = 3},/obj/item/weapon/reagent_containers/glass/beaker{pixel_x = 8; pixel_y = 2},/obj/item/weapon/reagent_containers/glass/beaker{pixel_x = 8; pixel_y = 2},/obj/item/weapon/reagent_containers/dropper,/obj/structure/table/reinforced,/obj/machinery/light_switch{pixel_x = 27},/turf/simulated/floor,/area/toxins/lab) +"bBa" = (/obj/structure/rack{dir = 8; layer = 2.9},/obj/item/weapon/storage/lockbox,/obj/item/clothing/shoes/magboots,/obj/item/clothing/suit/space/rig/elite,/obj/item/clothing/mask/breath,/obj/item/clothing/head/helmet/space/rig/elite,/turf/simulated/floor{dir = 8; icon_state = "neutralfull"},/area/engine/chiefs_office) "bBb" = (/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},/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/turf/simulated/floor/plating,/area/hallway/secondary/construction{name = "\improper Garden"}) "bBc" = (/obj/structure/cable/yellow{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/structure/disposalpipe/segment,/turf/simulated/floor{dir = 2; icon_state = "whitehall"},/area/medical/research{name = "Research Division"}) "bBd" = (/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},/obj/structure/cable/yellow{d2 = 2; icon_state = "0-2"},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/turf/simulated/floor/plating,/area/engine/chiefs_office) @@ -4224,7 +4224,7 @@ "bDl" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 9; pixel_y = 0},/turf/simulated/floor{icon_state = "freezerfloor"},/area/crew_quarters/locker/locker_toilet{name = "\improper Restrooms"}) "bDm" = (/obj/machinery/atmospherics/pipe/manifold{color = "blue"; dir = 4; icon_state = "manifold-b-f"; level = 1; name = "pipe manifold"},/obj/structure/cable/yellow{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor/plating{icon_state = "warnplate"; dir = 1},/area/maintenance/fpmaint2{name = "Port Maintenance"}) "bDn" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden{req_access_txt = 1},/turf/simulated/floor{dir = 2; icon_state = "whitehall"; tag = "icon-whitehall (WEST)"},/area/medical/surgery) -"bDo" = (/obj/item/weapon/stock_parts/console_screen,/obj/structure/table/reinforced,/obj/item/weapon/stock_parts/console_screen,/obj/item/weapon/stock_parts/console_screen,/obj/item/weapon/stock_parts/matter_bin,/obj/item/weapon/stock_parts/matter_bin,/obj/item/weapon/stock_parts/scanning_module,/obj/item/weapon/stock_parts/scanning_module,/turf/simulated/floor{icon_state = "warning"},/area/toxins/lab) +"bDo" = (/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/turret_protected/ai_upload_foyer) "bDp" = (/obj/structure/table/woodentable,/obj/structure/cable/yellow{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/item/weapon/folder/blue,/turf/simulated/floor/carpet,/area/security/vacantoffice) "bDq" = (/obj/structure/stool/bed/chair/office/dark{dir = 8},/turf/simulated/floor/carpet,/area/security/vacantoffice) "bDr" = (/obj/structure/table/woodentable,/obj/item/weapon/pen,/turf/simulated/floor/wood,/area/security/vacantoffice) @@ -4297,7 +4297,7 @@ "bEG" = (/obj/machinery/camera/autoname{dir = 8; network = list("SS13","Medbay")},/obj/item/weapon/reagent_containers/glass/beaker/large,/obj/item/weapon/reagent_containers/glass/beaker{pixel_x = 8; pixel_y = 2},/obj/structure/rack{layer = 2.8},/turf/simulated/floor{dir = 4; icon_state = "whiteyellow"; tag = "icon-whitehall (WEST)"},/area/medical/chemistry) "bEH" = (/obj/machinery/firealarm{dir = 4; pixel_x = 24},/turf/simulated/floor/wood,/area/security/vacantoffice) "bEI" = (/obj/structure/table/woodentable,/obj/structure/noticeboard{desc = "A memorial wall for pinning up momentos"; name = "memorial board"; pixel_y = 32},/obj/machinery/newscaster{pixel_x = -30},/obj/item/weapon/storage/fancy/candle_box,/obj/item/weapon/storage/fancy/candle_box{pixel_x = -2; pixel_y = 2},/turf/simulated/floor/carpet,/area/chapel/main) -"bEJ" = (/obj/structure/sign/atmosplaque{desc = "A plaque commemorating the fallen, may they rest in peace, forever asleep amongst the stars."; icon_state = "kiddieplaque"; name = "Remembrance Plaque"; pixel_x = 0; pixel_y = 32},/obj/structure/table/woodentable,/obj/item/weapon/reagent_containers/food/snacks/grown/poppy{pixel_y = 2},/obj/item/weapon/reagent_containers/food/snacks/grown/poppy{pixel_y = 2},/obj/item/weapon/reagent_containers/food/snacks/grown/poppy{pixel_y = 2},/obj/item/weapon/reagent_containers/food/snacks/grown/poppy{pixel_y = 2},/obj/item/weapon/reagent_containers/food/snacks/grown/poppy{pixel_y = 2},/obj/machinery/light/small{dir = 1},/turf/simulated/floor/carpet,/area/chapel/main) +"bEJ" = (/obj/item/weapon/book/manual/hydroponics_pod_people,/obj/item/weapon/paper/hydroponics,/obj/structure/table,/obj/item/device/radio/intercom{name = "Station Intercom (General)"; pixel_y = -29},/obj/machinery/light/small,/obj/item/nutrient/ez,/obj/item/device/analyzer/plant_analyzer,/turf/simulated/floor{icon_state = "bot"; dir = 1},/area/hydroponics) "bEK" = (/obj/structure/table/woodentable,/obj/item/candle,/obj/structure/noticeboard{desc = "A memorial wall for pinning up momentos"; name = "memorial board"; pixel_y = 32},/turf/simulated/floor/carpet,/area/chapel/main) "bEL" = (/obj/machinery/atmospherics/unary/vent_scrubber{dir = 4; icon_state = "off"; on = 1; scrub_N2O = 0; scrub_Toxins = 0},/turf/simulated/floor{icon_state = "dark"},/area/chapel/main) "bEM" = (/obj/structure/cable/yellow{d1 = 2; d2 = 4; icon_state = "2-4"},/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 6},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 9},/turf/simulated/floor{icon_state = "dark"},/area/chapel/main) @@ -4309,13 +4309,13 @@ "bES" = (/obj/structure/cable/yellow{d1 = 2; d2 = 8; icon_state = "2-8"},/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 10},/turf/simulated/floor{icon_state = "dark"},/area/chapel/main) "bET" = (/obj/structure/bookcase{name = "bookcase (Non-Fiction)"},/turf/simulated/floor/wood,/area/library) "bEU" = (/obj/structure/disposalpipe/segment,/obj/structure/cable/yellow{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor{icon_state = "white"},/area/medical/chemistry) -"bEV" = (/obj/machinery/reagentgrinder,/obj/machinery/light{icon_state = "tube1"; dir = 8},/obj/machinery/requests_console{department = "Chemistry"; departmentType = 2; pixel_x = -30; pixel_y = 0},/obj/structure/table/reinforced,/turf/simulated/floor{dir = 8; icon_state = "whiteyellow"},/area/medical/chemistry) +"bEV" = (/obj/item/weapon/reagent_containers/glass/beaker/large{pixel_x = -3; pixel_y = 3},/obj/item/weapon/reagent_containers/glass/beaker{pixel_x = 8; pixel_y = 2},/obj/item/weapon/reagent_containers/glass/beaker{pixel_x = 8; pixel_y = 2},/obj/item/weapon/reagent_containers/dropper,/obj/structure/table/holotable,/obj/machinery/light_switch{pixel_x = 27},/turf/simulated/floor,/area/toxins/lab) "bEW" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/obj/machinery/door/firedoor,/turf/simulated/floor{icon_state = "white"},/area/medical/medbay{name = "Medbay Central"}) "bEX" = (/obj/machinery/door/firedoor,/turf/simulated/floor{icon_state = "white"},/area/medical/medbay{name = "Medbay Central"}) "bEY" = (/obj/structure/bookcase{name = "bookcase (Adult)"},/turf/simulated/floor/wood,/area/library) "bEZ" = (/obj/item/device/flashlight/lamp/green{pixel_x = 1; pixel_y = 5},/obj/structure/table/woodentable,/turf/simulated/floor/wood,/area/library) "bFa" = (/obj/structure/bookcase{name = "Forbidden Knowledge"},/turf/simulated/floor{tag = "icon-cult"; icon_state = "cult"; dir = 2},/area/library) -"bFb" = (/obj/structure/table/woodentable,/obj/item/device/taperecorder{pixel_y = 0},/obj/item/device/camera,/obj/item/device/radio/intercom{pixel_y = 25},/turf/simulated/floor{tag = "icon-cult"; icon_state = "cult"; dir = 2},/area/library) +"bFb" = (/obj/machinery/reagentgrinder,/obj/machinery/light{icon_state = "tube1"; dir = 8},/obj/machinery/requests_console{department = "Chemistry"; departmentType = 2; pixel_x = -30; pixel_y = 0},/obj/structure/table/holotable,/turf/simulated/floor{dir = 8; icon_state = "whiteyellow"},/area/medical/chemistry) "bFc" = (/obj/structure/table/woodentable,/obj/item/weapon/paper_bin{pixel_x = -3; pixel_y = 7},/obj/item/weapon/pen/invisible,/turf/simulated/floor{tag = "icon-cult"; icon_state = "cult"; dir = 2},/area/library) "bFd" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 10},/obj/structure/sign/nosmoking_2{pixel_y = 32},/obj/machinery/light{dir = 1},/turf/simulated/floor{icon_state = "white"},/area/medical/research{name = "Research Division"}) "bFe" = (/obj/structure/disposalpipe/segment,/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 5},/turf/simulated/floor{dir = 1; icon_state = "whitepurple"},/area/medical/research{name = "Research Division"}) @@ -4337,7 +4337,7 @@ "bFu" = (/obj/structure/stool,/turf/simulated/floor{dir = 1; icon_state = "warning"},/area/teleporter{name = "\improper Teleporter Room"}) "bFv" = (/obj/machinery/door/airlock/maintenance{name = "Teleporter Maintenance"; req_access_txt = "17"},/turf/simulated/floor/plating,/area/teleporter{name = "\improper Teleporter Room"}) "bFw" = (/obj/machinery/atmospherics/pipe/manifold{color = "red"; dir = 8; icon_state = "manifold-r-f"; initialize_directions = 11; level = 1; name = "pipe manifold"},/turf/simulated/floor{dir = 4; icon_state = "purple"},/area/hallway/primary/aft) -"bFx" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden{req_access_txt = 1},/obj/machinery/light{icon_state = "tube1"; dir = 4},/obj/machinery/camera/autoname{dir = 8; network = list("SS13")},/turf/simulated/floor{dir = 2; icon_state = "neutralcorner"},/area/hallway/primary/central) +"bFx" = (/obj/structure/reagent_dispensers/watertank,/obj/item/weapon/reagent_containers/glass/bucket,/obj/structure/window/reinforced{dir = 8},/turf/simulated/floor{icon_state = "bot"; dir = 1},/area/hydroponics) "bFy" = (/obj/machinery/atmospherics/pipe/manifold{color = "blue"; dir = 8; icon_state = "manifold-b-f"; level = 1; name = "pipe manifold"},/turf/simulated/floor{dir = 8; icon_state = "yellow"},/area/hallway/primary/aft) "bFz" = (/obj/machinery/alarm{dir = 1; pixel_y = -22},/turf/simulated/floor{dir = 2; icon_state = "whiteyellowcorner"},/area/medical/medbay{name = "Medbay Central"}) "bFA" = (/obj/structure/table,/obj/machinery/microwave{pixel_x = -3; pixel_y = 6},/turf/simulated/floor{icon_state = "cafeteria"; dir = 2},/area/crew_quarters/kitchen) @@ -4414,7 +4414,7 @@ "bGT" = (/obj/machinery/atmospherics/pipe/manifold{color = "red"; dir = 8; icon_state = "manifold-r-f"; initialize_directions = 11; level = 1; name = "pipe manifold"},/turf/simulated/floor{tag = "icon-cafeteria (NORTHEAST)"; icon_state = "cafeteria"; dir = 5},/area/crew_quarters/kitchen) "bGU" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/turf/simulated/floor{tag = "icon-cafeteria (NORTHEAST)"; icon_state = "cafeteria"; dir = 5},/area/crew_quarters/kitchen) "bGV" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 10},/turf/simulated/floor{tag = "icon-cafeteria (NORTHEAST)"; icon_state = "cafeteria"; dir = 5},/area/crew_quarters/kitchen) -"bGW" = (/obj/item/clothing/glasses/science{pixel_x = 2; pixel_y = 4},/obj/item/clothing/glasses/science,/obj/item/device/radio/intercom{dir = 8; name = "Station Intercom (General)"; pixel_x = -28},/obj/structure/table/reinforced,/turf/simulated/floor{dir = 8; icon_state = "whiteyellow"},/area/medical/chemistry) +"bGW" = (/obj/item/weapon/stock_parts/console_screen,/obj/structure/table/holotable,/obj/item/weapon/stock_parts/console_screen,/obj/item/weapon/stock_parts/console_screen,/obj/item/weapon/stock_parts/matter_bin,/obj/item/weapon/stock_parts/matter_bin,/obj/item/weapon/stock_parts/scanning_module,/obj/item/weapon/stock_parts/scanning_module,/turf/simulated/floor{icon_state = "warning"},/area/toxins/lab) "bGX" = (/obj/structure/kitchenspike,/obj/structure/extinguisher_cabinet{pixel_x = -27; pixel_y = 0},/turf/simulated/floor{icon_state = "showroomfloor"},/area/crew_quarters/kitchen) "bGY" = (/obj/machinery/atmospherics/unary/vent_scrubber{dir = 2; on = 1; scrub_N2O = 0; scrub_Toxins = 0},/obj/machinery/camera{c_tag = "Kitchen Cold Room"},/turf/simulated/floor{icon_state = "showroomfloor"},/area/crew_quarters/kitchen) "bGZ" = (/obj/structure/cable/yellow{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/obj/machinery/door/firedoor,/obj/machinery/door/airlock/research{name = "Toxins Storage"; req_access_txt = "8"},/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/turf/simulated/floor,/area/toxins/storage) @@ -4487,18 +4487,18 @@ "bIo" = (/obj/item/device/radio/beacon,/turf/simulated/floor{tag = "icon-vault (WEST)"; icon_state = "vault"; dir = 8},/area/teleporter{name = "\improper Teleporter Room"}) "bIp" = (/obj/structure/extinguisher_cabinet{pixel_x = 27; pixel_y = 1},/turf/simulated/floor{tag = "icon-vault (NORTH)"; icon_state = "vault"; dir = 1},/area/teleporter{name = "\improper Teleporter Room"}) "bIq" = (/obj/structure/stool/bed,/obj/machinery/firealarm{dir = 4; pixel_x = 24},/obj/item/weapon/bedsheet/medical,/obj/machinery/newscaster{pixel_x = 0; pixel_y = -32},/turf/simulated/floor{icon_state = "white"},/area/medical/surgery) -"bIr" = (/obj/structure/table/reinforced,/obj/item/weapon/hand_labeler,/obj/item/weapon/packageWrap,/turf/simulated/floor{dir = 4; icon_state = "whiteyellowfull"; tag = "icon-whitehall (WEST)"},/area/medical/chemistry) +"bIr" = (/obj/item/clothing/glasses/science{pixel_x = 2; pixel_y = 4},/obj/item/clothing/glasses/science,/obj/item/device/radio/intercom{dir = 8; name = "Station Intercom (General)"; pixel_x = -28},/obj/structure/table/holotable,/turf/simulated/floor{dir = 8; icon_state = "whiteyellow"},/area/medical/chemistry) "bIs" = (/turf/simulated/floor,/area/toxins/lab) "bIt" = (/obj/machinery/computer/rdconsole/core,/turf/simulated/floor,/area/toxins/lab) "bIu" = (/turf/simulated/floor{dir = 8; icon_state = "warnwhite"},/area/toxins/lab) "bIv" = (/obj/machinery/r_n_d/circuit_imprinter,/obj/item/weapon/reagent_containers/glass/beaker/sulphuric,/turf/simulated/floor,/area/toxins/lab) -"bIw" = (/obj/item/weapon/folder/white,/obj/item/weapon/disk/tech_disk{pixel_x = 0; pixel_y = 0},/obj/item/weapon/disk/tech_disk{pixel_x = 0; pixel_y = 0},/obj/item/weapon/disk/design_disk,/obj/item/weapon/disk/design_disk,/obj/structure/table/reinforced,/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/turf/simulated/floor,/area/toxins/lab) +"bIw" = (/obj/structure/table/holotable,/obj/item/weapon/hand_labeler,/obj/item/weapon/packageWrap,/turf/simulated/floor{dir = 4; icon_state = "whiteyellowfull"; tag = "icon-whitehall (WEST)"},/area/medical/chemistry) "bIx" = (/obj/effect/landmark/start{name = "Scientist"},/obj/machinery/atmospherics/unary/vent_pump{dir = 4; on = 1},/turf/simulated/floor{dir = 4; icon_state = "warnwhite"},/area/toxins/lab) "bIy" = (/obj/structure/table,/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/obj/item/clothing/mask/balaclava,/obj/item/device/radio/intercom{freerange = 0; frequency = 1459; name = "Station Intercom (General)"; pixel_x = 0; pixel_y = -26},/turf/simulated/floor{dir = 2; icon_state = "neutralcorner"},/area/crew_quarters) "bIz" = (/obj/structure/kitchenspike,/turf/simulated/floor{icon_state = "showroomfloor"},/area/crew_quarters/kitchen) "bIA" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/turf/simulated/floor{icon_state = "showroomfloor"},/area/crew_quarters/kitchen) -"bIB" = (/mob/living/simple_animal/hostile/retaliate/goat{name = "Pete"},/turf/simulated/floor{icon_state = "showroomfloor"},/area/crew_quarters/kitchen) -"bIC" = (/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},/turf/simulated/floor{icon_state = "showroomfloor"},/area/crew_quarters/kitchen) +"bIB" = (/obj/structure/closet/crate/hydroponics,/obj/structure/window/reinforced{dir = 4},/turf/simulated/floor{icon_state = "bot"; dir = 1},/area/hydroponics) +"bIC" = (/obj/structure/table,/obj/item/seeds/harebell,/obj/item/seeds/berryseed,/obj/item/nutrient/rh,/turf/simulated/floor{dir = 1; icon_state = "warning"},/area/hydroponics) "bID" = (/obj/structure/disposalpipe/segment{dir = 1; icon_state = "pipe-c"},/obj/machinery/atmospherics/pipe/simple/supply/hidden{req_access_txt = 1},/turf/simulated/floor/wood,/area/crew_quarters/bar) "bIE" = (/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor/wood,/area/crew_quarters/bar) "bIF" = (/obj/machinery/door/window/southleft{base_state = "left"; dir = 8; icon_state = "left"; name = "Bar Delivery"; req_access_txt = "25"},/obj/structure/disposalpipe/segment{dir = 2; icon_state = "pipe-c"},/turf/simulated/floor{icon_state = "delivery"},/area/crew_quarters/bar) @@ -4517,7 +4517,7 @@ "bIS" = (/obj/machinery/door/airlock/highsecurity{name = "Secure Tech Storage"; req_access_txt = "19;23"},/obj/structure/cable/yellow{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor/plating,/area/storage/tech) "bIT" = (/obj/structure/cable/yellow{d1 = 1; d2 = 4; icon_state = "1-4"},/obj/structure/cable/yellow{d1 = 2; d2 = 4; icon_state = "2-4"},/turf/simulated/floor,/area/storage/tech) "bIU" = (/obj/structure/disposalpipe/segment,/turf/simulated/floor/plating{dir = 2; icon_state = "warnplate"},/area/maintenance/fore) -"bIV" = (/obj/structure/cable/yellow{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/obj/machinery/door/airlock/maintenance{req_access_txt = "12"},/turf/simulated/floor/plating,/area/maintenance/fpmaint2{name = "Port Maintenance"}) +"bIV" = (/obj/item/weapon/shovel/spade,/obj/structure/table,/obj/item/seeds/limeseed,/obj/item/nutrient/rh,/turf/simulated/floor{icon_state = "bot"; dir = 1},/area/hydroponics) "bIW" = (/obj/structure/cable/yellow{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/obj/machinery/light/small{dir = 1},/obj/machinery/light_switch{pixel_y = 28},/turf/simulated/floor{icon_state = "dark"},/area/chapel/main) "bIX" = (/obj/structure/cable/yellow{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/obj/structure/stool/bed/chair,/turf/simulated/floor{tag = "icon-vault"; icon_state = "vault"},/area/chapel/main) "bIY" = (/obj/structure/cable/yellow{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/atmospherics/pipe/manifold{color = "blue"; dir = 1; icon_state = "manifold-b-f"; level = 1; name = "pipe manifold"},/obj/structure/stool/bed/chair,/turf/simulated/floor{tag = "icon-vault"; icon_state = "vault"},/area/chapel/main) @@ -4542,7 +4542,7 @@ "bJr" = (/obj/structure/cable/yellow{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/item/device/radio/intercom{dir = 4; name = "Station Intercom (General)"; pixel_x = 27},/turf/simulated/floor{dir = 4; icon_state = "warning"},/area/quartermaster/storage) "bJs" = (/obj/structure/cable/yellow{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/turf/simulated/floor{icon_state = "white"},/area/medical/research{name = "Research Division"}) "bJt" = (/obj/structure/cable/yellow{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/structure/cable/yellow{d1 = 1; d2 = 8; icon_state = "1-8"},/obj/structure/disposalpipe/junction{tag = "icon-pipe-j2"; icon_state = "pipe-j2"; dir = 2},/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/turf/simulated/floor{icon_state = "white"},/area/medical/research{name = "Research Division"}) -"bJu" = (/obj/item/weapon/reagent_containers/glass/bottle/inaprovaline,/obj/item/weapon/reagent_containers/glass/bottle/inaprovaline,/obj/item/weapon/reagent_containers/glass/bottle/inaprovaline,/obj/item/weapon/reagent_containers/glass/bottle/antitoxin{pixel_x = 4; pixel_y = 4},/obj/item/weapon/reagent_containers/glass/bottle/antitoxin{pixel_x = 4; pixel_y = 4},/obj/item/weapon/reagent_containers/glass/bottle/antitoxin{pixel_x = 4; pixel_y = 4},/obj/item/weapon/storage/pill_bottle/inaprovaline{pixel_x = 5; pixel_y = -2},/obj/item/stack/sheet/mineral/plasma{layer = 2.9},/obj/item/stack/sheet/mineral/plasma{layer = 2.9},/obj/structure/table/reinforced,/turf/simulated/floor{dir = 8; icon_state = "whiteyellow"},/area/medical/chemistry) +"bJu" = (/obj/item/weapon/folder/white,/obj/item/weapon/disk/tech_disk{pixel_x = 0; pixel_y = 0},/obj/item/weapon/disk/tech_disk{pixel_x = 0; pixel_y = 0},/obj/item/weapon/disk/design_disk,/obj/item/weapon/disk/design_disk,/obj/structure/table/holotable,/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/turf/simulated/floor,/area/toxins/lab) "bJv" = (/obj/machinery/atmospherics/unary/vent_pump{dir = 8; on = 1},/turf/simulated/floor{icon_state = "floorgrime"},/area/toxins/misc_lab) "bJw" = (/obj/machinery/hologram/holopad,/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/turf/simulated/floor{icon_state = "floorgrime"},/area/toxins/misc_lab) "bJx" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 9},/turf/simulated/floor{dir = 2; icon_state = "whiteyellowcorner"},/area/medical/medbay{name = "Medbay Central"}) @@ -4558,7 +4558,7 @@ "bJH" = (/obj/structure/cable/yellow{d1 = 2; d2 = 4; icon_state = "2-4"},/obj/structure/cable/yellow{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/unary/vent_scrubber{dir = 2; on = 1; scrub_N2O = 1; scrub_Toxins = 1},/turf/simulated/floor/wood,/area/assembly/showroom{name = "\improper Corporate Showroom"}) "bJI" = (/obj/structure/cable/yellow{d1 = 1; d2 = 8; icon_state = "1-8"},/turf/simulated/floor/wood,/area/assembly/showroom{name = "\improper Corporate Showroom"}) "bJJ" = (/obj/structure/closet/firecloset,/turf/simulated/floor,/area/construction) -"bJK" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 5},/turf/simulated/wall/r_wall,/area/crew_quarters/hor) +"bJK" = (/obj/item/weapon/reagent_containers/glass/bottle/inaprovaline,/obj/item/weapon/reagent_containers/glass/bottle/inaprovaline,/obj/item/weapon/reagent_containers/glass/bottle/inaprovaline,/obj/item/weapon/reagent_containers/glass/bottle/antitoxin{pixel_x = 4; pixel_y = 4},/obj/item/weapon/reagent_containers/glass/bottle/antitoxin{pixel_x = 4; pixel_y = 4},/obj/item/weapon/reagent_containers/glass/bottle/antitoxin{pixel_x = 4; pixel_y = 4},/obj/item/weapon/storage/pill_bottle/inaprovaline{pixel_x = 5; pixel_y = -2},/obj/item/stack/sheet/mineral/plasma{layer = 2.9},/obj/item/stack/sheet/mineral/plasma{layer = 2.9},/obj/structure/table/holotable,/turf/simulated/floor{dir = 8; icon_state = "whiteyellow"},/area/medical/chemistry) "bJL" = (/turf/simulated/wall/r_wall,/area/crew_quarters/hor) "bJM" = (/obj/machinery/alarm{dir = 4; icon_state = "alarm0"; pixel_x = -22},/obj/machinery/atmospherics/unary/vent_pump{dir = 1; on = 1},/turf/simulated/floor{dir = 8; icon_state = "whitegreen"; tag = "icon-whitehall (WEST)"},/area/medical/cryo) "bJN" = (/obj/machinery/firealarm{dir = 1; pixel_y = -24},/obj/machinery/camera/autoname{dir = 1; network = list("SS13","Medbay")},/obj/structure/table/reinforced,/obj/item/weapon/wrench,/obj/item/weapon/crowbar,/obj/item/weapon/reagent_containers/glass/beaker/cryoxadone,/obj/item/weapon/reagent_containers/glass/beaker/cryoxadone,/turf/simulated/floor{dir = 4; icon_state = "warnwhite"; tag = "icon-warnwhite (NORTH)"},/area/medical/cryo) @@ -4566,13 +4566,13 @@ "bJP" = (/obj/machinery/teleport/station,/obj/machinery/light,/turf/simulated/floor{tag = "icon-vault (WEST)"; icon_state = "vault"; dir = 8},/area/teleporter{name = "\improper Teleporter Room"}) "bJQ" = (/obj/machinery/teleport/hub,/turf/simulated/floor{tag = "icon-vault (EAST)"; icon_state = "vault"; dir = 4},/area/teleporter{name = "\improper Teleporter Room"}) "bJR" = (/obj/structure/stool/bed/chair{dir = 4},/turf/simulated/floor/plating,/area/maintenance/starboard) -"bJS" = (/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) +"bJS" = (/obj/structure/table,/obj/item/seeds/lemonseed,/obj/item/seeds/cherryseed,/obj/item/device/radio/intercom{name = "Station Intercom (General)"; pixel_y = -29},/obj/item/nutrient/ez,/turf/simulated/floor{icon_state = "bot"; dir = 1},/area/hydroponics) "bJT" = (/obj/effect/decal/cleanable/blood/gibs/limb,/turf/simulated/floor/plating,/area/maintenance/starboard) -"bJU" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/machinery/atmospherics/unary/vent_scrubber{dir = 8; on = 1; scrub_Toxins = 0},/obj/machinery/camera/all{c_tag = "Research Break Room"; dir = 1; network = list("SS13","RD")},/turf/simulated/floor{tag = "icon-cafeteria (NORTHEAST)"; icon_state = "cafeteria"; dir = 5},/area/medical/research{name = "Research Division"}) +"bJU" = (/obj/structure/sign/botany{pixel_x = 0; pixel_y = 0},/turf/simulated/wall,/area/hallway/primary/central) "bJV" = (/obj/structure/disposalpipe/segment{dir = 4; icon_state = "pipe-c"},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 6},/turf/simulated/floor{tag = "icon-cafeteria (NORTHEAST)"; icon_state = "cafeteria"; dir = 5},/area/medical/research{name = "Research Division"}) "bJW" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/machinery/atmospherics/pipe/simple/supply/hidden,/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/turf/simulated/floor{tag = "icon-cafeteria (NORTHEAST)"; icon_state = "cafeteria"; dir = 5},/area/medical/research{name = "Research Division"}) -"bJX" = (/obj/item/weapon/reagent_containers/glass/beaker/large,/obj/item/weapon/reagent_containers/dropper,/obj/item/weapon/reagent_containers/dropper,/obj/item/weapon/storage/pill_bottle/inaprovaline{pixel_x = 5; pixel_y = -2},/obj/item/weapon/storage/pill_bottle/inaprovaline{pixel_x = 5; pixel_y = -2},/obj/machinery/firealarm{dir = 1; pixel_y = -24},/obj/structure/table/reinforced,/turf/simulated/floor{dir = 4; icon_state = "whiteyellowfull"; tag = "icon-whitehall (WEST)"},/area/medical/chemistry) -"bJY" = (/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) +"bJX" = (/obj/item/weapon/reagent_containers/glass/beaker/large,/obj/item/weapon/reagent_containers/dropper,/obj/item/weapon/reagent_containers/dropper,/obj/item/weapon/storage/pill_bottle/inaprovaline{pixel_x = 5; pixel_y = -2},/obj/item/weapon/storage/pill_bottle/inaprovaline{pixel_x = 5; pixel_y = -2},/obj/machinery/firealarm{dir = 1; pixel_y = -24},/obj/structure/table/holotable,/turf/simulated/floor{dir = 4; icon_state = "whiteyellowfull"; tag = "icon-whitehall (WEST)"},/area/medical/chemistry) +"bJY" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/machinery/alarm{dir = 1; pixel_y = -22},/mob/living/simple_animal/hostile/retaliate/goat{name = "Pete"},/turf/simulated/floor{icon_state = "showroomfloor"},/area/crew_quarters/kitchen) "bJZ" = (/obj/structure/closet/secure_closet/freezer/meat,/turf/simulated/floor{icon_state = "showroomfloor"},/area/crew_quarters/kitchen) "bKa" = (/obj/effect/landmark/start{name = "Chef"},/obj/machinery/atmospherics/unary/vent_pump{dir = 4; on = 1},/turf/simulated/floor{icon_state = "showroomfloor"},/area/crew_quarters/kitchen) "bKb" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/turf/simulated/floor{icon_state = "showroomfloor"},/area/crew_quarters/kitchen) @@ -4609,10 +4609,10 @@ "bKG" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 10},/turf/simulated/floor{icon_state = "white"},/area/medical/medbay{name = "Medbay Central"}) "bKH" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 9},/turf/simulated/floor{icon_state = "dark"},/area/chapel/office) "bKI" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 6},/turf/simulated/floor{icon_state = "dark"},/area/chapel/office) -"bKJ" = (/obj/machinery/door/airlock/maintenance{name = "Crematorium Maintenance"; req_access_txt = "27"},/obj/structure/disposalpipe/segment,/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/obj/structure/disposalpipe/segment,/obj/machinery/atmospherics/pipe/simple/supply/hidden,/obj/structure/disposalpipe/segment{dir = 4},/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/turf/simulated/floor/plating,/area/maintenance/fpmaint2{name = "Port Maintenance"}) +"bKJ" = (/obj/structure/extinguisher_cabinet{pixel_x = -5; pixel_y = -30},/obj/machinery/camera/autoname{dir = 1; network = list("SS13")},/obj/structure/table,/obj/machinery/reagentgrinder,/turf/simulated/floor{tag = "icon-cafeteria (NORTHEAST)"; icon_state = "cafeteria"; dir = 5},/area/crew_quarters/kitchen) "bKK" = (/obj/machinery/light{dir = 4},/obj/structure/cable/yellow{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/firealarm{dir = 4; pixel_x = 24},/obj/machinery/disposal,/obj/structure/disposalpipe/trunk{dir = 8},/turf/simulated/floor{dir = 4; icon_state = "warning"},/area/quartermaster/storage) "bKL" = (/obj/structure/cable/yellow{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor/plating{tag = "icon-warnplate (WEST)"; icon_state = "warnplate"; dir = 8},/area/maintenance/starboard) -"bKM" = (/obj/machinery/door/airlock/maintenance{req_access_txt = "12"},/obj/structure/cable/yellow{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor/plating,/area/library) +"bKM" = (/obj/structure/table,/obj/item/weapon/reagent_containers/food/condiment/saltshaker{pixel_x = -3; pixel_y = 0},/obj/item/weapon/reagent_containers/food/condiment/peppermill{pixel_x = 3},/obj/machinery/light,/obj/item/device/radio/intercom{pixel_y = -25},/obj/item/weapon/packageWrap,/obj/item/weapon/reagent_containers/food/condiment/enzyme{layer = 5},/turf/simulated/floor{icon_state = "cafeteria"; dir = 2},/area/crew_quarters/kitchen) "bKN" = (/obj/machinery/atmospherics/unary/vent_pump{dir = 4; on = 1},/obj/structure/cable/yellow{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor/wood,/area/library) "bKO" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/obj/structure/cable/yellow{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor/carpet,/area/library) "bKP" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/obj/structure/cable/yellow{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/hologram/holopad,/turf/simulated/floor/carpet,/area/library) @@ -4620,7 +4620,7 @@ "bKR" = (/obj/effect/landmark/start{name = "Librarian"},/turf/simulated/floor/wood,/area/library) "bKS" = (/obj/machinery/disposal{pixel_x = -4},/obj/structure/disposalpipe/trunk{dir = 4},/obj/machinery/alarm{dir = 1; pixel_y = -22},/turf/simulated/floor{dir = 5; icon_state = "warning"},/area/toxins/lab) "bKT" = (/obj/machinery/light{dir = 4; icon_state = "tube1"},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/turf/simulated/floor{dir = 2; icon_state = "whitebluecorner"},/area/medical/medbay{name = "Medbay Central"}) -"bKU" = (/obj/item/weapon/hand_labeler,/obj/item/weapon/pen,/obj/item/weapon/packageWrap,/obj/item/weapon/packageWrap,/obj/structure/table/reinforced,/obj/machinery/camera/autoname{dir = 8; network = list("SS13","RD")},/turf/simulated/floor,/area/toxins/lab) +"bKU" = (/obj/item/weapon/hand_labeler,/obj/item/weapon/pen,/obj/item/weapon/packageWrap,/obj/item/weapon/packageWrap,/obj/structure/table/holotable,/obj/machinery/camera/autoname{dir = 8; network = list("SS13","RD")},/turf/simulated/floor,/area/toxins/lab) "bKV" = (/obj/structure/cable/yellow{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/structure/disposalpipe/sortjunction{dir = 8; icon_state = "pipe-j2s"; sortType = 10},/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/obj/structure/cable/yellow{d1 = 1; d2 = 8; icon_state = "1-8"},/turf/simulated/floor{dir = 8; icon_state = "barber"},/area/medical/cmo) "bKW" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 10},/obj/structure/sign/nosmoking_2{pixel_x = 32},/turf/simulated/floor/plating,/area/maintenance/fpmaint2{name = "Port Maintenance"}) "bKX" = (/obj/structure/stool/bed/roller,/obj/machinery/light/small{dir = 8},/obj/machinery/alarm{dir = 1; icon_state = "alarm0"; pixel_y = -22},/obj/structure/sign/nosmoking_2{pixel_x = -28},/turf/simulated/floor{icon_state = "white"},/area/medical/surgery) @@ -4635,8 +4635,8 @@ "bLg" = (/obj/structure/cable/yellow{d1 = 2; d2 = 4; icon_state = "2-4"},/obj/structure/cable/yellow{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/structure/table/woodentable,/obj/structure/reagent_dispensers/beerkeg{desc = "One of the more successful achievements of the NanoTrasen Corporate Warfare Division, their nuclear fission explosives are renowned for being cheap to produce and devestatingly effective. Signs explain that though this is just a model, every NanoTrasen station is equipped with one, just in case. All Captains carefully guard the disk needed to detonate them - at least, the sign says they do. There seems to be a tap on the back."; icon = 'icons/obj/stationobjs.dmi'; icon_state = "nuclearbomb0"; name = "NanoTrasen Brand Nuclear Fission Explosive Exhibit"; pixel_x = 2; pixel_y = 6},/turf/simulated/floor/carpet,/area/assembly/showroom{name = "\improper Corporate Showroom"}) "bLh" = (/obj/structure/table/woodentable,/obj/structure/cable/yellow{d1 = 2; d2 = 4; icon_state = "2-4"},/obj/structure/cable/yellow{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/item/weapon/storage/box/matches{pixel_x = -2; pixel_y = 3},/obj/item/clothing/mask/cigarette/cigar{pixel_x = 4; pixel_y = 1},/obj/item/clothing/mask/cigarette/cigar{pixel_x = -4; pixel_y = 1},/obj/item/clothing/mask/cigarette/cigar/cohiba,/turf/simulated/floor/carpet,/area/assembly/showroom{name = "\improper Corporate Showroom"}) "bLi" = (/obj/structure/table/woodentable,/obj/structure/cable/yellow{d1 = 2; d2 = 4; icon_state = "2-4"},/obj/structure/cable/yellow{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/structure/showcase{desc = "A slightly battered looking TV. Vaious Nanotrasen infomercials play on a loop, accompanied by a jaunty tune."; dir = 1; icon = 'icons/obj/computer.dmi'; icon_state = "security_det"; name = "NanoTrasen Corporate News"; pixel_x = 2; pixel_y = 3},/turf/simulated/floor/carpet,/area/assembly/showroom{name = "\improper Corporate Showroom"}) -"bLj" = (/obj/structure/closet/firecloset,/turf/simulated/floor{dir = 9; icon_state = "neutral"},/area/hallway/primary/central) -"bLk" = (/obj/machinery/light{dir = 1},/obj/structure/sign/map/left{desc = "A framed picture of the station. Clockwise from security at the top (red), you see engineering (yellow), science (purple), escape (red and white), medbay (green), arrivals (blue and white), and finally cargo (brown)."; icon_state = "map-left-MS"; pixel_y = 32},/turf/simulated/floor{icon_state = "neutral"; dir = 1},/area/hallway/primary/central) +"bLj" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 5},/turf/simulated/wall,/area/crew_quarters/hor) +"bLk" = (/turf/simulated/wall,/area/crew_quarters/hor) "bLl" = (/obj/structure/cable/yellow{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/structure/cable/yellow{d1 = 2; d2 = 8; icon_state = "2-8"},/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/medical/research{name = "Research Division"}) "bLm" = (/obj/machinery/atmospherics/pipe/simple{dir = 6; icon_state = "intact"; level = 2},/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 9},/turf/simulated/floor{dir = 8; icon_state = "warning"},/area/medical/cryo) "bLn" = (/obj/machinery/atmospherics/unary/vent_scrubber{dir = 1; on = 1; scrub_N2O = 0; scrub_Toxins = 0},/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 6},/turf/simulated/floor{dir = 4; icon_state = "warnwhite"; tag = "icon-warnwhite (NORTH)"},/area/medical/cryo) @@ -4654,7 +4654,7 @@ "bLz" = (/obj/machinery/door/airlock{name = "Kitchen cold room"; req_access_txt = "28"},/obj/structure/disposalpipe/segment{dir = 4},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/turf/simulated/floor{icon_state = "showroomfloor"},/area/crew_quarters/kitchen) "bLA" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/turf/simulated/floor{icon_state = "showroomfloor"},/area/crew_quarters/kitchen) "bLB" = (/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},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 9},/turf/simulated/floor/plating,/area/medical/sleeper{name = "Sleepers"}) -"bLC" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/machinery/alarm{dir = 1; pixel_y = -22},/turf/simulated/floor{icon_state = "showroomfloor"},/area/crew_quarters/kitchen) +"bLC" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/obj/structure/disposalpipe/segment{dir = 1; icon_state = "pipe-c"},/turf/simulated/floor{tag = "icon-cafeteria (NORTHEAST)"; icon_state = "cafeteria"; dir = 5},/area/crew_quarters/kitchen) "bLD" = (/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor,/area/crew_quarters/locker) "bLE" = (/obj/machinery/door/window/southleft{base_state = "left"; dir = 8; icon_state = "left"; name = "Kitchen Delivery"; req_access_txt = "28"},/obj/structure/disposalpipe/segment{dir = 4},/obj/structure/window/reinforced{dir = 1; pixel_y = 1},/turf/simulated/floor{icon_state = "delivery"},/area/crew_quarters/kitchen) "bLF" = (/obj/machinery/navbeacon{codes_txt = "delivery;dir=8"; freq = 1400; location = "Kitchen"},/obj/structure/plasticflaps{opacity = 1},/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor{icon_state = "bot"; dir = 1},/area/maintenance/starboard) @@ -4696,7 +4696,7 @@ "bMp" = (/turf/simulated/floor{icon_state = "dark"},/area/chapel/office) "bMq" = (/obj/machinery/firealarm{dir = 4; pixel_x = 24},/obj/machinery/atmospherics/unary/vent_pump{dir = 1; external_pressure_bound = 101.325; on = 1; pressure_checks = 1},/turf/simulated/floor{icon_state = "dark"},/area/chapel/office) "bMr" = (/obj/structure/disposalpipe/segment,/obj/machinery/atmospherics/pipe/simple/supply/hidden{req_access_txt = 1},/turf/simulated/floor/plating,/area/maintenance/fpmaint2{name = "Port Maintenance"}) -"bMs" = (/obj/structure/table/reinforced,/obj/item/weapon/paper_bin{pixel_x = -2; pixel_y = 5},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/turf/simulated/floor{dir = 8; icon_state = "barber"},/area/medical/cmo) +"bMs" = (/obj/structure/table/holotable,/obj/item/weapon/paper_bin{pixel_x = -2; pixel_y = 5},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/turf/simulated/floor{dir = 8; icon_state = "barber"},/area/medical/cmo) "bMt" = (/obj/machinery/atmospherics/pipe/manifold{color = "red"; dir = 8; icon_state = "manifold-r-f"; initialize_directions = 11; level = 1; name = "pipe manifold"},/turf/simulated/floor/carpet,/area/library) "bMu" = (/obj/structure/disposalpipe/segment,/obj/machinery/atmospherics/pipe/simple/supply/hidden{req_access_txt = 1},/turf/simulated/floor/plating,/area/maintenance/aft{name = "Aft Maintenance"}) "bMv" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/turf/simulated/floor/wood,/area/library) @@ -4788,9 +4788,9 @@ "bOd" = (/obj/structure/stool/bed/chair/office/light{dir = 1},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/turf/simulated/floor{dir = 9; icon_state = "warnwhite"; tag = "icon-warnwhite (NORTHEAST)"},/area/hydroponics) "bOe" = (/turf/simulated/floor{tag = "icon-warnwhite (NORTHEAST)"; icon_state = "warnwhite"; dir = 5},/area/hydroponics) "bOf" = (/obj/structure/reagent_dispensers/watertank,/obj/item/weapon/reagent_containers/glass/bucket,/turf/simulated/floor{icon_state = "bot"; dir = 1},/area/hydroponics) -"bOg" = (/obj/structure/sink,/turf/simulated/floor{icon_state = "bot"; dir = 1},/area/hydroponics) +"bOg" = (/obj/effect/landmark/start{name = "Chef"},/obj/machinery/atmospherics/pipe/manifold{color = "red"; dir = 8; icon_state = "manifold-r-f"; initialize_directions = 11; level = 1; name = "pipe manifold"},/turf/simulated/floor{tag = "icon-cafeteria (NORTHEAST)"; icon_state = "cafeteria"; dir = 5},/area/crew_quarters/kitchen) "bOh" = (/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor/plating{tag = "icon-warnplate (NORTH)"; icon_state = "warnplate"; dir = 1},/area/maintenance/aft{name = "Aft Maintenance"}) -"bOi" = (/obj/structure/table/reinforced,/obj/item/weapon/rsp,/obj/item/seeds/carrotseed,/obj/machinery/light/small{dir = 1},/turf/simulated/floor{icon_state = "bot"; dir = 1},/area/hydroponics) +"bOi" = (/obj/structure/extinguisher_cabinet{pixel_x = 27; pixel_y = 0},/turf/simulated/floor{icon_state = "bar"},/area/hallway/primary/central) "bOj" = (/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,/obj/structure/window/reinforced{dir = 4},/turf/simulated/floor,/area/hydroponics) "bOk" = (/obj/machinery/door/window/eastright{dir = 2; name = "Hydroponics Delivery"; req_access_txt = "35"},/turf/simulated/floor{icon_state = "delivery"},/area/hydroponics) "bOl" = (/obj/machinery/navbeacon{codes_txt = "delivery;dir=8"; freq = 1400; location = "Hydroponics"},/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/maintenance/starboard) @@ -4818,15 +4818,15 @@ "bOH" = (/obj/machinery/computer/security/telescreen{name = "Test Chamber Monitor"; network = "List=(Misc;RD)"; pixel_x = 0; pixel_y = 2},/obj/structure/table,/turf/simulated/floor{dir = 1; icon_state = "warning"},/area/toxins/misc_lab) "bOI" = (/obj/machinery/atmospherics/pipe/simple/general/visible,/obj/structure/window/reinforced{dir = 4},/obj/machinery/ignition_switch{id = "Misc"; pixel_x = -6; pixel_y = -2},/obj/structure/table,/turf/simulated/floor{dir = 5; icon_state = "warning"},/area/toxins/misc_lab) "bOJ" = (/obj/machinery/power/apc{dir = 8; name = "Misc Research APC"; pixel_x = -25},/obj/machinery/light_switch{pixel_x = -23; pixel_y = 11},/obj/machinery/atmospherics/unary/vent_scrubber{dir = 2; on = 1; scrub_N2O = 0; scrub_Toxins = 0},/obj/structure/cable/yellow{d2 = 2; icon_state = "0-2"},/obj/structure/cable/yellow,/turf/simulated/floor{dir = 1; icon_state = "warning"},/area/toxins/misc_lab) -"bOK" = (/turf/simulated/wall/r_wall,/area/chapel/main) +"bOK" = (/obj/item/weapon/folder/blue,/obj/structure/cable/yellow{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/structure/table/holotable,/turf/simulated/floor{dir = 8; icon_state = "barber"},/area/medical/cmo) "bOL" = (/obj/machinery/door/poddoor{id = "chapelgun"; name = "Chapel Launcher Door"},/turf/simulated/floor/plating,/area/chapel/main) "bOM" = (/obj/structure/table,/obj/structure/window/reinforced,/obj/item/weapon/reagent_containers/food/snacks/grown/harebell{pixel_y = 4},/obj/item/weapon/reagent_containers/food/snacks/grown/harebell{pixel_y = 4},/obj/item/weapon/reagent_containers/food/snacks/grown/harebell{pixel_y = 4},/turf/simulated/floor{tag = "icon-vault (WEST)"; icon_state = "vault"; dir = 8},/area/chapel/main) "bON" = (/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 1},/obj/structure/grille,/obj/structure/window/reinforced{dir = 8},/turf/simulated/floor/plating,/area/chapel/main) "bOO" = (/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 1},/obj/structure/grille,/obj/structure/window/reinforced{dir = 4},/turf/simulated/floor/plating,/area/chapel/main) -"bOP" = (/turf/simulated/wall/r_wall,/area/chapel/office) +"bOP" = (/obj/item/device/assembly/timer{pixel_x = -3; pixel_y = 3},/obj/item/device/assembly/timer{pixel_x = -3; pixel_y = 3},/obj/item/device/assembly/igniter{pixel_x = 3; pixel_y = -7},/obj/item/device/assembly/igniter{pixel_x = 3; pixel_y = -7},/obj/item/device/assembly/igniter{pixel_x = 3; pixel_y = -7},/obj/item/device/assembly/igniter{pixel_x = 3; pixel_y = -7},/obj/item/device/assembly/timer{pixel_x = -3; pixel_y = 3},/obj/item/device/assembly/timer{pixel_x = -3; pixel_y = 3},/obj/machinery/alarm{dir = 4; icon_state = "alarm0"; pixel_x = -22},/obj/structure/table/holotable,/turf/simulated/floor{dir = 8; icon_state = "whiteyellow"},/area/medical/chemistry) "bOQ" = (/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 1},/obj/structure/grille,/obj/structure/window/reinforced{dir = 8},/turf/simulated/floor/plating,/area/chapel/office) "bOR" = (/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 1},/obj/structure/grille,/obj/structure/window/reinforced{dir = 4},/turf/simulated/floor/plating,/area/chapel/office) -"bOS" = (/obj/structure/disposalpipe/segment,/obj/machinery/atmospherics/pipe/simple/supply/hidden{req_access_txt = 1},/obj/machinery/door/airlock/maintenance{req_access_txt = "12"},/turf/simulated/floor/plating,/area/library) +"bOS" = (/obj/structure/cable/yellow{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/door/airlock/maintenance{name = "Library Maintenance Access"; req_access_txt = "0"; req_one_access_txt = "12;37"},/turf/simulated/floor/plating,/area/library) "bOT" = (/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor/plating{tag = "icon-warnplate (WEST)"; icon_state = "warnplate"; dir = 8},/area/maintenance/aft{name = "Aft Maintenance"}) "bOU" = (/obj/structure/cable/yellow{d1 = 1; d2 = 4; icon_state = "1-4"},/obj/structure/cable/yellow{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/structure/disposalpipe/segment,/obj/machinery/atmospherics/unary/vent_scrubber{dir = 4; on = 1; scrub_Toxins = 0},/turf/simulated/floor,/area/hallway/primary/central) "bOV" = (/obj/structure/cable/yellow{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 9},/turf/simulated/floor,/area/hallway/primary/central) @@ -4854,7 +4854,7 @@ "bPr" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 10},/turf/simulated/floor{tag = "icon-warnwhite (NORTH)"; icon_state = "warnwhite"; dir = 1},/area/hydroponics) "bPs" = (/obj/effect/landmark/start{name = "Botanist"},/turf/simulated/floor{tag = "icon-warnwhite (NORTHEAST)"; icon_state = "warnwhite"; dir = 5},/area/hydroponics) "bPt" = (/obj/machinery/camera/autoname{dir = 4; network = list("SS13","Medbay")},/obj/machinery/firealarm{dir = 8; pixel_x = -24},/turf/simulated/floor{dir = 8; icon_state = "whitegreencorner"},/area/medical/medbay{name = "Medbay Central"}) -"bPu" = (/obj/item/weapon/folder/blue,/obj/structure/cable/yellow{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/structure/table/reinforced,/turf/simulated/floor{dir = 8; icon_state = "barber"},/area/medical/cmo) +"bPu" = (/obj/structure/cable/yellow{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/structure/table/holotable,/obj/item/weapon/storage/box/syringes,/obj/item/weapon/storage/box/beakers{pixel_x = 2; pixel_y = 2},/obj/item/weapon/storage/box/beakers{pixel_x = 2; pixel_y = 2},/turf/simulated/floor{dir = 2; icon_state = "whiteyellow"; tag = "icon-whitehall (WEST)"},/area/medical/chemistry) "bPv" = (/turf/simulated/floor{dir = 1; icon_state = "warning"},/area/hydroponics) "bPw" = (/obj/machinery/light/small{dir = 4},/turf/simulated/floor{dir = 1; icon_state = "warning"},/area/hydroponics) "bPx" = (/obj/structure/cable/yellow{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/turf/simulated/floor{dir = 1; icon_state = "whiteyellow"; tag = "icon-whitehall (WEST)"},/area/medical/chemistry) @@ -4878,7 +4878,7 @@ "bPP" = (/turf/simulated/floor{dir = 8; icon_state = "whitegreencorner"},/area/medical/medbay{name = "Medbay Central"}) "bPQ" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/turf/simulated/floor{icon_state = "white"},/area/medical/medbay{name = "Medbay Central"}) "bPR" = (/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},/turf/simulated/floor/plating{icon_state = "warnplate"; dir = 4},/area/engine/break_room) -"bPS" = (/turf/simulated/floor/plating{icon_state = "warnplate"; dir = 4},/area/engine/break_room) +"bPS" = (/obj/item/weapon/grenade/chem_grenade,/obj/item/weapon/grenade/chem_grenade,/obj/item/weapon/grenade/chem_grenade,/obj/item/weapon/grenade/chem_grenade,/obj/item/weapon/screwdriver{pixel_x = -2; pixel_y = 6},/obj/machinery/power/apc{dir = 8; name = "Chemistry APC"; pixel_x = -24; pixel_y = 0},/obj/structure/cable/yellow{d2 = 4; icon_state = "0-4"},/obj/item/device/radio/headset/headset_med,/obj/structure/table/holotable,/turf/simulated/floor{dir = 10; icon_state = "whiteyellow"},/area/medical/chemistry) "bPT" = (/obj/structure/cable/yellow{d1 = 1; d2 = 4; icon_state = "1-4"},/obj/structure/disposalpipe/segment{dir = 4},/obj/machinery/atmospherics/pipe/manifold{color = "blue"; dir = 2; icon_state = "manifold-b-f"; level = 1; name = "pipe manifold"},/turf/simulated/floor/plating,/area/maintenance/fpmaint2{name = "Port Maintenance"}) "bPU" = (/obj/structure/cable/yellow{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/structure/cable/yellow{d1 = 2; d2 = 4; icon_state = "2-4"},/obj/structure/disposalpipe/segment{dir = 4},/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/fpmaint2{name = "Port Maintenance"}) "bPV" = (/obj/structure/cable/yellow{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/structure/disposalpipe/segment{dir = 2; icon_state = "pipe-c"},/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/turf/simulated/floor/plating,/area/maintenance/fpmaint2{name = "Port Maintenance"}) @@ -4919,7 +4919,7 @@ "bQE" = (/turf/simulated/floor{icon_state = "white"},/area/hydroponics) "bQF" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/turf/simulated/floor{icon_state = "white"},/area/hydroponics) "bQG" = (/turf/simulated/floor{dir = 4; icon_state = "warnwhite"; tag = "icon-warnwhite (NORTH)"},/area/hydroponics) -"bQH" = (/obj/structure/table/reinforced,/obj/item/weapon/minihoe,/obj/item/pestkiller/phosmet,/obj/machinery/alarm{dir = 8; icon_state = "alarm0"; pixel_x = 24},/obj/item/seeds/ambrosiavulgarisseed,/turf/simulated/floor{icon_state = "bot"; dir = 1},/area/hydroponics) +"bQH" = (/obj/machinery/door/airlock/maintenance{name = "Crematorium Maintenance"; req_access_txt = "27"},/obj/structure/disposalpipe/segment{dir = 4},/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/turf/simulated/floor/plating,/area/maintenance/fpmaint2{name = "Port Maintenance"}) "bQI" = (/turf/simulated/floor,/area/hydroponics) "bQJ" = (/obj/structure/closet/secure_closet/hydroponics,/obj/item/weapon/storage/bag/plants/portaseeder,/turf/simulated/floor,/area/hydroponics) "bQK" = (/obj/structure/cable/yellow{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/simple/supply/hidden{req_access_txt = 1},/obj/structure/disposalpipe/segment,/turf/simulated/floor/plating,/area/maintenance/aft{name = "Aft Maintenance"}) @@ -4996,7 +4996,7 @@ "bSd" = (/obj/machinery/air_sensor{frequency = 1441; id_tag = "o2_sensor"},/turf/simulated/floor/engine{name = "o2 floor"; nitrogen = 0; oxygen = 100000},/area/maintenance/storage) "bSe" = (/obj/machinery/portable_atmospherics/canister/oxygen,/turf/simulated/floor/engine{name = "o2 floor"; nitrogen = 0; oxygen = 100000},/area/maintenance/storage) "bSf" = (/obj/machinery/light/small{dir = 4},/turf/simulated/floor/engine{name = "o2 floor"; nitrogen = 0; oxygen = 100000},/area/maintenance/storage) -"bSg" = (/obj/item/device/assembly/timer{pixel_x = -3; pixel_y = 3},/obj/item/device/assembly/timer{pixel_x = -3; pixel_y = 3},/obj/item/device/assembly/igniter{pixel_x = 3; pixel_y = -7},/obj/item/device/assembly/igniter{pixel_x = 3; pixel_y = -7},/obj/item/device/assembly/igniter{pixel_x = 3; pixel_y = -7},/obj/item/device/assembly/igniter{pixel_x = 3; pixel_y = -7},/obj/item/device/assembly/timer{pixel_x = -3; pixel_y = 3},/obj/item/device/assembly/timer{pixel_x = -3; pixel_y = 3},/obj/machinery/alarm{dir = 4; icon_state = "alarm0"; pixel_x = -22},/obj/structure/table/reinforced,/turf/simulated/floor{dir = 8; icon_state = "whiteyellow"},/area/medical/chemistry) +"bSg" = (/turf/simulated/wall,/area/security/checkpoint/science) "bSh" = (/obj/item/weapon/cigbutt,/obj/structure/disposalpipe/segment{dir = 4; icon_state = "pipe-c"},/turf/simulated/floor/plating{tag = "icon-warnplate (EAST)"; icon_state = "warnplate"; dir = 4},/area/maintenance/fpmaint2{name = "Port Maintenance"}) "bSi" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/obj/machinery/atmospherics/pipe/simple/supply/hidden,/obj/machinery/light,/turf/simulated/floor{icon_state = "white"},/area/medical/research{name = "Research Division"}) "bSj" = (/obj/structure/cable{icon_state = "0-2"; d2 = 2},/obj/machinery/power/solar{id = "aftstarboard"; name = "Aft-Starboard Solar Array"},/turf/simulated/floor/airless{icon_state = "solarpanel"},/area/solar/port) @@ -5028,10 +5028,10 @@ "bSJ" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/obj/machinery/firealarm{dir = 8; pixel_x = -24},/turf/simulated/floor{dir = 1; icon_state = "neutralcorner"},/area/hallway/primary/central) "bSK" = (/obj/structure/cable/yellow{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/door/firedoor,/obj/machinery/door/airlock/glass,/turf/simulated/floor,/area/hallway/primary/aft) "bSL" = (/obj/machinery/cell_charger,/obj/item/weapon/cell/high{charge = 100; maxcharge = 15000},/obj/item/weapon/cell/high{charge = 100; maxcharge = 15000},/obj/machinery/power/apc{dir = 2; name = "Research Lab APC"; pixel_x = 0; pixel_y = -26},/obj/structure/cable/yellow,/obj/machinery/door_control{dir = 2; id = "rndshutters"; name = "Shutters Control Button"; pixel_x = -24; pixel_y = -25},/obj/structure/table/reinforced,/turf/simulated/floor{dir = 1; icon_state = "warning"},/area/toxins/lab) -"bSM" = (/obj/structure/table/reinforced,/obj/item/weapon/folder/white,/turf/simulated/floor{dir = 1; icon_state = "whitepurple"},/area/medical/research{name = "Research Division"}) +"bSM" = (/obj/structure/table/holotable,/obj/item/weapon/folder/white,/turf/simulated/floor{dir = 1; icon_state = "whitepurple"},/area/medical/research{name = "Research Division"}) "bSN" = (/obj/structure/sign/science,/turf/simulated/wall,/area/medical/research{name = "Research Division"}) "bSO" = (/obj/effect/landmark/start{name = "Medical Doctor"},/turf/simulated/floor{icon_state = "white"},/area/medical/medbay2{name = "Medbay Storage"}) -"bSP" = (/obj/structure/table/reinforced,/obj/item/weapon/paper_bin{pixel_x = -2; pixel_y = 4},/obj/item/weapon/pen,/obj/machinery/status_display{density = 0; layer = 4; pixel_x = 0; pixel_y = 32},/obj/machinery/light/small{dir = 1},/obj/machinery/firealarm{dir = 4; pixel_x = 24},/turf/simulated/floor{dir = 1; icon_state = "whitepurple"},/area/medical/research{name = "Research Division"}) +"bSP" = (/obj/structure/table/holotable,/obj/item/weapon/paper_bin{pixel_x = -2; pixel_y = 4},/obj/item/weapon/pen,/obj/machinery/status_display{density = 0; layer = 4; pixel_x = 0; pixel_y = 32},/obj/machinery/light/small{dir = 1},/obj/machinery/firealarm{dir = 4; pixel_x = 24},/turf/simulated/floor{dir = 1; icon_state = "whitepurple"},/area/medical/research{name = "Research Division"}) "bSQ" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden,/obj/structure/disposalpipe/segment,/obj/machinery/door/firedoor,/turf/simulated/floor{icon_state = "white"},/area/medical/research{name = "Research Division"}) "bSR" = (/obj/item/weapon/storage/toolbox/mechanical{pixel_x = -2; pixel_y = -1},/obj/structure/cable/yellow{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/structure/cable/yellow{d1 = 1; d2 = 4; icon_state = "1-4"},/obj/item/weapon/storage/toolbox/electrical{pixel_x = 1; pixel_y = -1},/obj/item/weapon/screwdriver{pixel_y = 16},/obj/item/device/multitool,/obj/machinery/atmospherics/pipe/simple/supply/hidden{req_access_txt = 1},/obj/structure/table/reinforced,/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/turf/simulated/floor{icon_state = "bot"; dir = 1},/area/ai_monitored/storage/eva{name = "E.V.A. Storage"}) "bSS" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 4},/obj/structure/cable/yellow{d2 = 8; icon_state = "0-8"},/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 10},/turf/simulated/floor/plating,/area/crew_quarters/hor) @@ -5056,8 +5056,8 @@ "bTl" = (/obj/machinery/atmospherics/unary/outlet_injector{dir = 1; icon_state = "on"; on = 1},/obj/machinery/camera{c_tag = "Burn Chamber"; network = list("Atmos")},/turf/simulated/floor/engine{luminosity = 1; name = "vacuum floor"; nitrogen = 0.01; oxygen = 0.01},/area/maintenance/storage) "bTm" = (/obj/machinery/atmospherics/unary/vent_pump{dir = 1; external_pressure_bound = 0; icon_state = "off"; initialize_directions = 1; internal_pressure_bound = 4000; on = 0; pressure_checks = 2; pump_direction = 0},/turf/simulated/floor/engine{luminosity = 1; name = "vacuum floor"; nitrogen = 0.01; oxygen = 0.01},/area/maintenance/storage) "bTn" = (/obj/machinery/atmospherics/pipe/simple{color = "cyan"; icon_state = "intact-c"; level = 2},/obj/machinery/meter,/obj/machinery/camera/autoname{dir = 4; network = list("SS13")},/turf/simulated/floor{dir = 8; icon_state = "warning"},/area/maintenance/storage) -"bTo" = (/obj/structure/cable/yellow{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/structure/table/reinforced,/obj/item/weapon/storage/box/syringes,/obj/item/weapon/storage/box/beakers{pixel_x = 2; pixel_y = 2},/obj/item/weapon/storage/box/beakers{pixel_x = 2; pixel_y = 2},/turf/simulated/floor{dir = 2; icon_state = "whiteyellow"; tag = "icon-whitehall (WEST)"},/area/medical/chemistry) -"bTp" = (/obj/item/weapon/grenade/chem_grenade,/obj/item/weapon/grenade/chem_grenade,/obj/item/weapon/grenade/chem_grenade,/obj/item/weapon/grenade/chem_grenade,/obj/item/weapon/screwdriver{pixel_x = -2; pixel_y = 6},/obj/machinery/power/apc{dir = 8; name = "Chemistry APC"; pixel_x = -24; pixel_y = 0},/obj/structure/cable/yellow{d2 = 4; icon_state = "0-4"},/obj/item/device/radio/headset/headset_med,/obj/structure/table/reinforced,/turf/simulated/floor{dir = 10; icon_state = "whiteyellow"},/area/medical/chemistry) +"bTo" = (/obj/structure/cable/yellow{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/structure/sign/securearea{desc = "A warning sign which reads 'EXTERNAL AIRLOCK'"; icon_state = "space"; layer = 4; name = "EXTERNAL AIRLOCK"; pixel_x = -32; pixel_y = -32},/turf/simulated/floor/plating{tag = "icon-warnplate (WEST)"; icon_state = "warnplate"; dir = 8},/area/maintenance/aft{name = "Aft Maintenance"}) +"bTp" = (/obj/structure/table/holotable,/obj/item/weapon/stock_parts/manipulator,/obj/item/weapon/stock_parts/capacitor,/obj/item/weapon/stock_parts/capacitor,/obj/item/weapon/stock_parts/manipulator,/obj/item/weapon/stock_parts/micro_laser,/obj/item/weapon/stock_parts/micro_laser,/obj/item/device/radio/intercom{freerange = 0; frequency = 1459; name = "Station Intercom (General)"; pixel_x = 29},/turf/simulated/floor{dir = 1; icon_state = "warning"},/area/toxins/lab) "bTq" = (/obj/machinery/atmospherics/unary/outlet_injector{dir = 8; frequency = 1441; icon_state = "on"; id = "o2_in"; on = 1},/turf/simulated/floor/engine{name = "o2 floor"; nitrogen = 0; oxygen = 100000},/area/maintenance/storage) "bTr" = (/obj/machinery/chem_master,/obj/structure/noticeboard{desc = "A board for pinning important notices upon. Probably helpful for keeping track of requests."; name = "requests board"; pixel_x = 0; pixel_y = -32},/turf/simulated/floor{dir = 6; icon_state = "whiteyellow"; tag = "icon-whitehall (WEST)"},/area/medical/chemistry) "bTs" = (/turf/simulated/wall/r_wall,/area/maintenance/incinerator) @@ -5144,7 +5144,7 @@ "bUV" = (/turf/simulated/floor{dir = 8; icon_state = "whitegreen"; tag = "icon-whitehall (WEST)"},/area/medical/medbay{name = "Medbay Central"}) "bUW" = (/obj/structure/cable{icon_state = "0-2"; d2 = 2},/turf/simulated/floor/plating/airless,/area/solar/port) "bUX" = (/obj/machinery/firealarm{dir = 1; pixel_y = -24},/turf/simulated/floor{icon_state = "delivery"},/area/ai_monitored/storage/eva{name = "E.V.A. Storage"}) -"bUY" = (/obj/item/stack/sheet/metal{amount = 50},/obj/item/stack/sheet/metal{amount = 50},/obj/structure/table/reinforced,/obj/item/stack/sheet/plasteel{amount = 10},/obj/item/weapon/crowbar,/obj/item/weapon/wrench,/obj/item/weapon/storage/box/lights/mixed,/obj/machinery/power/apc{cell_type = 2500; dir = 2; name = "E.V.A. Storage APC"; pixel_x = 0; pixel_y = -27},/obj/structure/cable/yellow,/obj/machinery/light,/turf/simulated/floor{icon_state = "bot"; dir = 1},/area/ai_monitored/storage/eva{name = "E.V.A. Storage"}) +"bUY" = (/obj/structure/table/holotable,/obj/item/weapon/cell/potato,/obj/machinery/light,/obj/item/device/radio/intercom{freerange = 0; frequency = 1459; name = "Station Intercom (General)"; pixel_x = -3; pixel_y = -26},/turf/simulated/floor{dir = 2; icon_state = "whitepurple"},/area/medical/research{name = "Research Division"}) "bUZ" = (/obj/machinery/atmospherics/binary/pump{dir = 1; icon_state = "intact_off"; name = "Gas Pump"; on = 0},/turf/simulated/floor{icon_state = "floorgrime"},/area/toxins/misc_lab) "bVa" = (/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/yellow{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor{dir = 6; icon_state = "whitepurple"},/area/medical/research{name = "Research Division"}) "bVb" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/obj/machinery/firealarm{dir = 1; pixel_y = -24},/turf/simulated/floor{icon_state = "white"},/area/medical/research{name = "Research Division"}) @@ -5167,8 +5167,8 @@ "bVs" = (/turf/simulated/floor/bluegrid{name = "Mainframe Base"; nitrogen = 100; oxygen = 0; temperature = 80},/area/tcommsat/server) "bVt" = (/obj/machinery/telecomms/server/presets/command,/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced,/turf/simulated/floor/airless{icon_state = "bcircuit"; tag = "icon-bcircuit"},/area/tcommsat/server) "bVu" = (/turf/simulated/floor{dir = 6; icon_state = "warnwhite"; tag = "icon-warnwhite (NORTHEAST)"},/area/hydroponics) -"bVv" = (/obj/structure/sink{dir = 8; icon_state = "sink"; pixel_x = -3; pixel_y = 2},/obj/structure/window/reinforced{dir = 8},/turf/simulated/floor{icon_state = "bot"; dir = 1},/area/hydroponics) -"bVw" = (/obj/structure/reagent_dispensers/watertank,/obj/item/weapon/reagent_containers/glass/bucket,/obj/structure/window/reinforced{dir = 4},/turf/simulated/floor{icon_state = "bot"; dir = 1},/area/hydroponics) +"bVv" = (/turf/simulated/floor{icon_state = "bar"},/area/hallway/primary/central) +"bVw" = (/obj/structure/cable/yellow{d1 = 1; d2 = 8; icon_state = "1-8"},/obj/structure/disposalpipe/segment,/turf/simulated/floor{tag = "icon-cafeteria (NORTHEAST)"; icon_state = "cafeteria"; dir = 5},/area/crew_quarters/kitchen) "bVx" = (/obj/machinery/seed_extractor,/obj/machinery/light,/turf/simulated/floor{icon_state = "bot"; dir = 1},/area/hydroponics) "bVy" = (/obj/machinery/biogenerator,/turf/simulated/floor{icon_state = "bot"; dir = 1},/area/hydroponics) "bVz" = (/obj/structure/cable/yellow{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 5},/turf/simulated/floor/plating{icon_state = "warnplate"; dir = 4},/area/maintenance/aft{name = "Aft Maintenance"}) @@ -5222,7 +5222,7 @@ "bWv" = (/obj/structure/cable/yellow{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/turf/simulated/floor{icon_state = "white"},/area/medical/research{name = "Research Division"}) "bWw" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden{req_access_txt = 1},/turf/simulated/floor/plating,/area/maintenance/aft{name = "Aft Maintenance"}) "bWx" = (/obj/structure/filingcabinet/chestdrawer{pixel_x = -3; pixel_y = 5},/turf/simulated/floor{icon_state = "bot"; dir = 1},/area/hydroponics) -"bWy" = (/obj/item/weapon/book/manual/hydroponics_pod_people,/obj/item/weapon/paper/hydroponics,/obj/structure/table,/obj/item/device/radio/intercom{name = "Station Intercom (General)"; pixel_y = -29},/obj/machinery/light/small,/turf/simulated/floor{icon_state = "bot"; dir = 1},/area/hydroponics) +"bWy" = (/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,/turf/simulated/floor{icon_state = "showroomfloor"},/area/crew_quarters/kitchen) "bWz" = (/obj/machinery/shower{tag = "icon-shower (WEST)"; icon_state = "shower"; dir = 8},/turf/simulated/floor{dir = 6; icon_state = "warnwhite"},/area/medical/research{name = "Research Division"}) "bWA" = (/obj/machinery/atmospherics/unary/vent_pump{on = 1},/obj/structure/stool/bed/chair/office/dark{dir = 1},/turf/simulated/floor,/area/security/checkpoint/science) "bWB" = (/turf/simulated/wall/r_wall,/area/medical/research{name = "Research Division"}) @@ -5243,7 +5243,7 @@ "bWQ" = (/obj/machinery/light/small{dir = 4},/turf/simulated/floor/engine{name = "n2 floor"; nitrogen = 100000; oxygen = 0},/area/maintenance/storage) "bWR" = (/turf/simulated/floor/airless{icon_state = "solarpanel"},/area) "bWS" = (/obj/structure/cable/yellow{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 5},/obj/machinery/hologram/holopad,/obj/structure/disposalpipe/segment,/turf/simulated/floor{icon_state = "white"},/area/medical/research{name = "Research Division"}) -"bWT" = (/obj/structure/table,/obj/machinery/reagentgrinder,/obj/machinery/light_switch{pixel_y = -23},/turf/simulated/floor{dir = 1; icon_state = "warning"},/area/hydroponics) +"bWT" = (/obj/structure/cable/yellow{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/obj/machinery/door/airlock/maintenance{name = "Chapel Maintenance Access "; req_access_txt = "0"; req_one_access_txt = "12;27"},/turf/simulated/floor/plating,/area/maintenance/fpmaint2{name = "Port Maintenance"}) "bWU" = (/obj/structure/sink{dir = 4; icon_state = "sink"; pixel_x = 11; pixel_y = 0},/obj/machinery/light_switch{pixel_y = -23},/turf/simulated/floor{icon_state = "bot"; dir = 1},/area/hydroponics) "bWV" = (/obj/machinery/atmospherics/unary/vent_pump{dir = 4; external_pressure_bound = 0; icon_state = "in"; initialize_directions = 1; internal_pressure_bound = 4000; on = 1; pressure_checks = 2; pump_direction = 0},/turf/simulated/floor/engine/vacuum,/area/maintenance/incinerator) "bWW" = (/obj/machinery/atmospherics/pipe/simple/insulated{icon_state = "intact"; dir = 4},/turf/simulated/wall/r_wall,/area/maintenance/incinerator) @@ -5260,8 +5260,8 @@ "bXh" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 6},/turf/simulated/wall,/area/maintenance/aft{name = "Aft Maintenance"}) "bXi" = (/obj/structure/stool/bed/chair/office/dark,/obj/machinery/newscaster{pixel_y = 32},/turf/simulated/floor/wood,/area/library) "bXj" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/turf/simulated/wall,/area/maintenance/aft{name = "Aft Maintenance"}) -"bXk" = (/obj/structure/table,/obj/item/seeds/harebell,/obj/item/seeds/berryseed,/obj/item/nutrient/rh,/turf/simulated/floor{icon_state = "bot"; dir = 1},/area/hydroponics) -"bXl" = (/obj/structure/table,/obj/item/seeds/lemonseed,/obj/item/seeds/cherryseed,/obj/item/device/radio/intercom{name = "Station Intercom (General)"; pixel_y = -29},/turf/simulated/floor{icon_state = "bot"; dir = 1},/area/hydroponics) +"bXk" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/obj/machinery/light{icon_state = "tube1"; dir = 8},/turf/simulated/floor{dir = 1; icon_state = "neutralcorner"},/area/hallway/primary/central) +"bXl" = (/obj/structure/table,/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/obj/item/weapon/reagent_containers/food/snacks/mint,/turf/simulated/floor{tag = "icon-cafeteria (NORTHEAST)"; icon_state = "cafeteria"; dir = 5},/area/crew_quarters/kitchen) "bXm" = (/obj/machinery/door/airlock/maintenance{name = "Medbay Maintenance"; req_access_txt = "5"},/obj/machinery/atmospherics/pipe/manifold{color = "red"; dir = 1; icon_state = "manifold-r-f"; initialize_directions = 11; level = 1; name = "pipe manifold"},/turf/simulated/floor/plating,/area/maintenance/aft{name = "Aft Maintenance"}) "bXn" = (/obj/machinery/light{dir = 1},/turf/simulated/floor/wood,/area/library) "bXo" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/turf/simulated/floor{icon_state = "white"},/area/medical/medbay{name = "Medbay Central"}) @@ -5381,7 +5381,7 @@ "bZy" = (/obj/structure/cable/yellow{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/door/firedoor,/obj/machinery/door/airlock/glass_command{name = "E.V.A. Storage"; req_access_txt = "18"},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/turf/simulated/floor,/area/ai_monitored/storage/eva{name = "E.V.A. Storage"}) "bZz" = (/obj/structure/cable/yellow{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 10},/obj/structure/cable/yellow{d1 = 1; d2 = 8; icon_state = "1-8"},/turf/simulated/floor{dir = 9; icon_state = "warning"},/area/ai_monitored/storage/eva{name = "E.V.A. Storage"}) "bZA" = (/obj/machinery/atmospherics/pipe/manifold{color = "blue"; dir = 8; icon_state = "manifold-b-f"; level = 1; name = "pipe manifold"},/obj/structure/disposalpipe/segment,/obj/item/device/radio/intercom{dir = 8; name = "Station Intercom (General)"; pixel_x = -28},/obj/machinery/shower{dir = 4},/turf/simulated/floor{dir = 10; icon_state = "warnwhite"},/area/medical/research{name = "Research Division"}) -"bZB" = (/obj/structure/table/reinforced,/obj/item/weapon/stock_parts/manipulator,/obj/item/weapon/stock_parts/capacitor,/obj/item/weapon/stock_parts/capacitor,/obj/item/weapon/stock_parts/manipulator,/obj/item/weapon/stock_parts/micro_laser,/obj/item/weapon/stock_parts/micro_laser,/obj/item/device/radio/intercom{freerange = 0; frequency = 1459; name = "Station Intercom (General)"; pixel_x = 29},/turf/simulated/floor{dir = 1; icon_state = "warning"},/area/toxins/lab) +"bZB" = (/obj/structure/table/holotable,/obj/item/weapon/folder/blue,/turf/simulated/floor{dir = 2; icon_state = "whitepurple"},/area/medical/research{name = "Research Division"}) "bZC" = (/obj/machinery/atmospherics/valve{dir = 4},/obj/structure/cable/yellow{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor{icon_state = "floorgrime"},/area/maintenance/incinerator) "bZD" = (/obj/machinery/atmospherics/trinary/filter{dir = 1; filter_type = 2; icon_state = "intact_on"; name = "Gas filter (N2 tank)"; on = 1},/obj/structure/window/reinforced{dir = 4; pixel_x = 0},/obj/structure/window/reinforced,/turf/simulated/floor{icon_state = "redfull"},/area/maintenance/storage) "bZE" = (/obj/machinery/atmospherics/unary/cold_sink/freezer{dir = 8; icon_state = "freezer_0"; tag = ""},/obj/structure/window/reinforced{dir = 4; pixel_x = 0},/turf/simulated/floor{dir = 1; icon_state = "warning"},/area/maintenance/storage) @@ -5389,7 +5389,7 @@ "bZG" = (/obj/machinery/telecomms/broadcaster/preset_right,/obj/machinery/light/small,/turf/simulated/floor/bluegrid{name = "Mainframe Base"; nitrogen = 100; oxygen = 0; temperature = 80},/area/tcommsat/server) "bZH" = (/obj/machinery/r_n_d/protolathe,/turf/simulated/floor{dir = 1; icon_state = "warning"},/area/toxins/lab) "bZI" = (/obj/structure/cable/yellow{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/obj/structure/disposalpipe/segment,/turf/simulated/floor{icon_state = "white"},/area/medical/research{name = "Research Division"}) -"bZJ" = (/obj/structure/table/reinforced,/obj/item/device/paicard,/turf/simulated/floor{dir = 2; icon_state = "whitepurple"},/area/medical/research{name = "Research Division"}) +"bZJ" = (/obj/structure/table/holotable,/obj/item/device/paicard,/turf/simulated/floor{dir = 2; icon_state = "whitepurple"},/area/medical/research{name = "Research Division"}) "bZK" = (/obj/structure/table,/obj/item/weapon/paper_bin{pixel_x = 1; pixel_y = 9},/obj/item/weapon/pen,/obj/machinery/firealarm{dir = 4; pixel_x = 24},/obj/machinery/alarm{pixel_y = 23},/turf/simulated/floor{icon_state = "red"; dir = 5},/area/security/checkpoint/science) "bZL" = (/obj/structure/table,/obj/machinery/recharger{pixel_y = 4},/obj/machinery/light_switch{pixel_x = -27; pixel_y = 6},/obj/machinery/newscaster/security_unit{pixel_y = 32},/turf/simulated/floor{icon_state = "red"; dir = 9},/area/security/checkpoint/science) "bZM" = (/turf/simulated/floor/plating{tag = "icon-warnplate (WEST)"; icon_state = "warnplate"; dir = 8},/area/maintenance/aft{name = "Aft Maintenance"}) @@ -5402,7 +5402,7 @@ "bZT" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/obj/machinery/firealarm{dir = 4; pixel_x = 24},/turf/simulated/floor{dir = 2; icon_state = "neutralcorner"},/area/hallway/primary/aft) "bZU" = (/obj/structure/cable/yellow{d1 = 1; d2 = 8; icon_state = "1-8"},/turf/simulated/floor{dir = 2; icon_state = "warnwhite"; tag = "icon-warnwhite (NORTH)"},/area/hydroponics) "bZV" = (/turf/simulated/floor{dir = 1; icon_state = "warnwhitecorner"; tag = "icon-warnwhitecorner (EAST)"},/area/hydroponics) -"bZW" = (/obj/machinery/newscaster{pixel_x = 0; pixel_y = -32},/obj/structure/table/reinforced,/obj/machinery/cell_charger,/turf/simulated/floor{dir = 2; icon_state = "whitepurple"},/area/medical/research{name = "Research Division"}) +"bZW" = (/obj/machinery/newscaster{pixel_x = 0; pixel_y = -32},/obj/structure/table/holotable,/obj/machinery/cell_charger,/turf/simulated/floor{dir = 2; icon_state = "whitepurple"},/area/medical/research{name = "Research Division"}) "bZX" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 5},/turf/simulated/wall/r_wall,/area/maintenance/aft{name = "Aft Maintenance"}) "bZY" = (/obj/structure/stool/bed/chair/office/light,/turf/simulated/floor{dir = 2; icon_state = "warnwhite"; tag = "icon-warnwhite (NORTH)"},/area/hydroponics) "bZZ" = (/obj/structure/disposaloutlet{dir = 2},/obj/structure/disposalpipe/trunk{dir = 1},/turf/simulated/floor/plating/airless,/area) @@ -5457,17 +5457,17 @@ "caW" = (/obj/machinery/atmospherics/pipe/simple{color = "green"; dir = 4; icon_state = "intact-g"; level = 2},/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 4; pixel_x = 0},/obj/structure/window/reinforced{dir = 8},/obj/structure/grille,/turf/simulated/floor/plating,/area/maintenance/storage) "caX" = (/obj/structure/cable/yellow{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/turf/simulated/floor/plating{dir = 2; icon_state = "warnplate"},/area/maintenance/starboard) "caY" = (/obj/structure/stool/bed/chair{pixel_y = -2},/turf/simulated/floor/plating,/area/maintenance/fpmaint2{name = "Port Maintenance"}) -"caZ" = (/obj/structure/table/reinforced,/obj/item/weapon/cell/potato,/obj/machinery/light,/obj/item/device/radio/intercom{freerange = 0; frequency = 1459; name = "Station Intercom (General)"; pixel_x = -3; pixel_y = -26},/turf/simulated/floor{dir = 2; icon_state = "whitepurple"},/area/medical/research{name = "Research Division"}) -"cba" = (/obj/structure/table/reinforced,/obj/item/weapon/folder/blue,/turf/simulated/floor{dir = 2; icon_state = "whitepurple"},/area/medical/research{name = "Research Division"}) +"caZ" = (/obj/structure/cable/yellow{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/structure/table/holotable,/obj/item/stack/rods{amount = 50},/obj/item/stack/rods{amount = 50},/turf/simulated/floor{icon_state = "bot"},/area/teleporter{name = "\improper Teleporter Room"}) +"cba" = (/obj/structure/table/holotable,/obj/item/stack/sheet/metal{amount = 50},/obj/item/stack/sheet/metal{amount = 50},/turf/simulated/floor{icon_state = "bot"; dir = 1},/area/teleporter{name = "\improper Teleporter Room"}) "cbb" = (/obj/machinery/alarm{dir = 1; pixel_y = -22},/obj/machinery/vending/snack,/turf/simulated/floor{tag = "icon-vault"; icon_state = "vault"},/area/hallway/primary/central) "cbc" = (/obj/machinery/disposal,/obj/structure/disposalpipe/trunk{dir = 4},/turf/simulated/floor{dir = 2; icon_state = "whitepurple"},/area/medical/research{name = "Research Division"}) "cbd" = (/obj/machinery/newscaster{pixel_y = -32},/obj/machinery/disposal,/obj/structure/disposalpipe/trunk{dir = 1},/turf/simulated/floor{tag = "icon-vault"; icon_state = "vault"},/area/hallway/primary/central) "cbe" = (/obj/item/device/radio/intercom{pixel_y = 25},/turf/simulated/floor/engine,/area/toxins/misc_lab) "cbf" = (/obj/machinery/portable_atmospherics/canister/oxygen,/obj/machinery/power/apc{cell_type = 5000; dir = 1; name = "Toxins Storage APC"; pixel_x = 0; pixel_y = 25},/obj/structure/cable/yellow{d2 = 2; icon_state = "0-2"},/turf/simulated/floor{icon_state = "bot"},/area/toxins/misc_lab) -"cbg" = (/obj/structure/cable/yellow{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/structure/table/reinforced,/obj/item/stack/rods{amount = 50},/obj/item/stack/rods{amount = 50},/turf/simulated/floor{icon_state = "bot"},/area/teleporter{name = "\improper Teleporter Room"}) -"cbh" = (/obj/structure/table/reinforced,/obj/item/stack/sheet/metal{amount = 50},/obj/item/stack/sheet/metal{amount = 50},/turf/simulated/floor{icon_state = "bot"; dir = 1},/area/teleporter{name = "\improper Teleporter Room"}) -"cbi" = (/obj/structure/sign/securearea{pixel_x = -32; pixel_y = 0},/obj/structure/table/reinforced,/obj/item/weapon/storage/toolbox/mechanical{pixel_x = -2; pixel_y = -1},/obj/item/weapon/storage/toolbox/electrical{pixel_x = 1; pixel_y = -1},/turf/simulated/floor{icon_state = "bot"; dir = 1},/area/teleporter{name = "\improper Teleporter Room"}) -"cbj" = (/obj/structure/cable/yellow{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/structure/table/reinforced,/obj/item/weapon/crowbar,/obj/item/stack/sheet/rglass{amount = 50},/obj/item/stack/sheet/rglass{amount = 50},/turf/simulated/floor{icon_state = "bot"},/area/teleporter{name = "\improper Teleporter Room"}) +"cbg" = (/obj/structure/sign/securearea{pixel_x = -32; pixel_y = 0},/obj/structure/table/holotable,/obj/item/weapon/storage/toolbox/mechanical{pixel_x = -2; pixel_y = -1},/obj/item/weapon/storage/toolbox/electrical{pixel_x = 1; pixel_y = -1},/turf/simulated/floor{icon_state = "bot"; dir = 1},/area/teleporter{name = "\improper Teleporter Room"}) +"cbh" = (/obj/structure/cable/yellow{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/structure/table/holotable,/obj/item/weapon/crowbar,/obj/item/stack/sheet/rglass{amount = 50},/obj/item/stack/sheet/rglass{amount = 50},/turf/simulated/floor{icon_state = "bot"},/area/teleporter{name = "\improper Teleporter Room"}) +"cbi" = (/turf/simulated/wall,/area/ai_monitored/storage/eva{name = "E.V.A. Storage"}) +"cbj" = (/obj/item/stack/sheet/metal{amount = 50},/obj/item/stack/sheet/metal{amount = 50},/obj/structure/table/holotable,/obj/item/stack/sheet/plasteel{amount = 10},/obj/item/weapon/crowbar,/obj/item/weapon/wrench,/obj/item/weapon/storage/box/lights/mixed,/obj/machinery/power/apc{cell_type = 2500; dir = 2; name = "E.V.A. Storage APC"; pixel_x = 0; pixel_y = -27},/obj/structure/cable/yellow,/obj/machinery/light,/turf/simulated/floor{icon_state = "bot"; dir = 1},/area/ai_monitored/storage/eva{name = "E.V.A. Storage"}) "cbk" = (/obj/structure/cable/yellow{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor/plating{dir = 2; icon_state = "warnplate"; tag = "icon-warnplate (NORTH)"},/area/teleporter{name = "\improper Teleporter Room"}) "cbl" = (/obj/machinery/atmospherics/pipe/simple{color = "green"; icon_state = "intact-g"; level = 2},/obj/machinery/atmospherics/binary/pump{dir = 8; name = "Air to Pure"},/obj/structure/window/reinforced{dir = 4; pixel_x = 0},/obj/structure/window/reinforced{dir = 1; pixel_y = 1},/turf/simulated/floor{dir = 8; icon_state = "barber"},/area/maintenance/storage) "cbm" = (/obj/structure/table,/obj/item/weapon/paper_bin{pixel_x = -2; pixel_y = 4},/obj/structure/sign/nosmoking_2{pixel_x = 28},/obj/machinery/light_switch{pixel_x = 11; pixel_y = 23},/turf/simulated/floor{tag = "icon-vault"; icon_state = "vault"},/area/medical/sleeper{name = "Sleepers"}) @@ -5500,7 +5500,7 @@ "cbN" = (/obj/machinery/shieldwallgen,/turf/simulated/floor{icon_state = "bot"},/area/teleporter{name = "\improper Teleporter Room"}) "cbO" = (/obj/structure/cable/yellow{d1 = 2; d2 = 4; icon_state = "2-4"},/turf/simulated/floor{dir = 10; icon_state = "warning"},/area/teleporter{name = "\improper Teleporter Room"}) "cbP" = (/obj/structure/cable/yellow{d1 = 1; d2 = 8; icon_state = "1-8"},/obj/structure/cable/yellow{d1 = 2; d2 = 8; icon_state = "2-8"},/turf/simulated/floor{dir = 6; icon_state = "warning"},/area/teleporter{name = "\improper Teleporter Room"}) -"cbQ" = (/obj/structure/table/reinforced,/obj/item/stack/sheet/plasteel{amount = 10},/obj/machinery/light{dir = 4; icon_state = "tube1"},/obj/machinery/firealarm{dir = 4; pixel_x = 24},/turf/simulated/floor{icon_state = "bot"; dir = 1},/area/teleporter{name = "\improper Teleporter Room"}) +"cbQ" = (/obj/structure/table/holotable,/obj/item/stack/sheet/plasteel{amount = 10},/obj/machinery/light{dir = 4; icon_state = "tube1"},/obj/machinery/firealarm{dir = 4; pixel_x = 24},/turf/simulated/floor{icon_state = "bot"; dir = 1},/area/teleporter{name = "\improper Teleporter Room"}) "cbR" = (/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 4},/obj/structure/grille,/obj/structure/window/reinforced{dir = 1},/obj/structure/cable/yellow{d2 = 2; icon_state = "0-2"},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/turf/simulated/floor/plating,/area/ai_monitored/storage/eva{name = "E.V.A. Storage"}) "cbS" = (/turf/simulated/floor{dir = 8; icon_state = "warning"},/area/teleporter{name = "\improper Teleporter Room"}) "cbT" = (/obj/structure/cable/yellow{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor{dir = 2; icon_state = "warningcorner"; tag = "icon-warningcorner (EAST)"},/area/teleporter{name = "\improper Teleporter Room"}) @@ -5514,10 +5514,10 @@ "ccb" = (/obj/structure/window/reinforced,/obj/structure/grille,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 8},/turf/simulated/floor/plating,/area/tcommsat/server) "ccc" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/turf/simulated/floor{dir = 1; icon_state = "neutralcorner"},/area/hallway/primary/central) "ccd" = (/obj/machinery/telecomms/processor/preset_two,/obj/structure/window/reinforced{dir = 1; pixel_y = 2},/turf/simulated/floor/bluegrid{icon_state = "gcircuit"; name = "Mainframe Base"; nitrogen = 100; oxygen = 0; temperature = 80},/area/tcommsat/server) -"cce" = (/obj/machinery/disposal,/obj/structure/disposalpipe/trunk{dir = 4},/obj/structure/extinguisher_cabinet{pixel_x = -5; pixel_y = -30},/obj/machinery/camera/autoname{dir = 1; network = list("SS13")},/turf/simulated/floor{tag = "icon-cafeteria (NORTHEAST)"; icon_state = "cafeteria"; dir = 5},/area/crew_quarters/kitchen) -"ccf" = (/obj/structure/table,/obj/item/weapon/reagent_containers/food/condiment/saltshaker{pixel_x = -3; pixel_y = 0},/obj/item/weapon/reagent_containers/food/condiment/peppermill{pixel_x = 3},/obj/machinery/light,/obj/item/device/radio/intercom{pixel_y = -25},/turf/simulated/floor{icon_state = "cafeteria"; dir = 2},/area/crew_quarters/kitchen) -"ccg" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor{tag = "icon-cafeteria (NORTHEAST)"; icon_state = "cafeteria"; dir = 5},/area/crew_quarters/kitchen) -"cch" = (/obj/effect/landmark/start{name = "Chef"},/obj/machinery/atmospherics/pipe/manifold{color = "red"; dir = 8; icon_state = "manifold-r-f"; initialize_directions = 11; level = 1; name = "pipe manifold"},/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor{tag = "icon-cafeteria (NORTHEAST)"; icon_state = "cafeteria"; dir = 5},/area/crew_quarters/kitchen) +"cce" = (/obj/structure/cable/yellow{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/structure/disposalpipe/segment{dir = 4; icon_state = "pipe-c"},/turf/simulated/floor{tag = "icon-cafeteria (NORTHEAST)"; icon_state = "cafeteria"; dir = 5},/area/crew_quarters/kitchen) +"ccf" = (/obj/structure/extinguisher_cabinet{pixel_x = 27; pixel_y = 0},/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) +"ccg" = (/obj/machinery/firealarm{dir = 4; pixel_x = 24},/obj/structure/closet/secure_closet/freezer/kitchen,/turf/simulated/floor{icon_state = "showroomfloor"},/area/crew_quarters/kitchen) +"cch" = (/obj/machinery/chem_master/condimaster{name = "CondiMaster Neo"; pixel_x = -4},/turf/simulated/floor{icon_state = "showroomfloor"},/area/crew_quarters/kitchen) "cci" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/obj/machinery/door/firedoor,/turf/simulated/floor{dir = 1; icon_state = "neutralcorner"},/area/hallway/primary/central) "ccj" = (/obj/machinery/atmospherics/trinary/filter{dir = 1; filter_type = 3; icon_state = "intact_on"; name = "Gas filter (CO2 tank)"; on = 1},/obj/structure/window/reinforced{dir = 4; pixel_x = 0},/obj/structure/window/reinforced,/turf/simulated/floor{tag = "icon-vault"; icon_state = "vault"},/area/maintenance/storage) "cck" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/obj/structure/cable/yellow{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor{dir = 1; icon_state = "neutralcorner"},/area/hallway/primary/central) @@ -5579,7 +5579,7 @@ "cdo" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/obj/machinery/door/firedoor,/turf/simulated/floor{dir = 4; icon_state = "neutralcorner"},/area/hallway/primary/central) "cdp" = (/obj/structure/table/reinforced,/obj/machinery/door/poddoor/shutters/preopen{id = "kitchen"; name = "kitchen shutters"},/obj/machinery/door/firedoor,/turf/simulated/floor{tag = "icon-cafeteria (NORTHEAST)"; icon_state = "cafeteria"; dir = 5},/area/crew_quarters/kitchen) "cdq" = (/obj/machinery/atmospherics/pipe/simple{color = "green"; icon_state = "intact-g"; level = 2},/obj/machinery/atmospherics/pipe/simple{color = "cyan"; dir = 4; icon_state = "intact-c"; level = 2},/obj/structure/window/reinforced{dir = 4; pixel_x = 0},/obj/structure/window/reinforced,/turf/simulated/floor{dir = 8; icon_state = "barber"},/area/maintenance/storage) -"cdr" = (/obj/structure/cable/yellow{d1 = 1; d2 = 8; icon_state = "1-8"},/turf/simulated/floor{tag = "icon-cafeteria (NORTHEAST)"; icon_state = "cafeteria"; dir = 5},/area/crew_quarters/kitchen) +"cdr" = (/obj/structure/rack{dir = 8; layer = 2.9},/obj/item/clothing/suit/space/rig{desc = "A special suit that protects against hazardous, low pressure environments. Assigned to the Atmospherics division."; name = "atmospherics hardsuit"},/obj/item/clothing/mask/breath,/obj/item/clothing/head/helmet/space/rig{desc = "A special helmet designed for work in a hazardous, low-pressure environment. Assigned to the Atmospherics division."; name = "atmospherics hardsuit helmet"},/turf/simulated/floor{dir = 8; icon_state = "caution"},/area/maintenance/storage) "cds" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/obj/item/device/radio/intercom{broadcasting = 1; freerange = 0; frequency = 1485; listening = 0; name = "Station Intercom (Medbay)"; pixel_x = 30; pixel_y = 0},/turf/simulated/floor{icon_state = "whitegreenfull"},/area/medical/medbay{name = "Medbay Central"}) "cdt" = (/obj/machinery/atmospherics/unary/vent_scrubber{dir = 1; on = 1; scrub_N2O = 0; scrub_Toxins = 0},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 10},/obj/structure/cable/yellow{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor{tag = "icon-cafeteria (NORTHEAST)"; icon_state = "cafeteria"; dir = 5},/area/crew_quarters/kitchen) "cdu" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/obj/structure/cable/yellow{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor{tag = "icon-cafeteria (NORTHEAST)"; icon_state = "cafeteria"; dir = 5},/area/crew_quarters/kitchen) @@ -5603,12 +5603,12 @@ "cdM" = (/obj/machinery/power/apc{dir = 8; name = "Research Wing Security APC"; pixel_x = -24},/obj/structure/cable/yellow,/turf/simulated/floor{icon_state = "red"; dir = 10},/area/security/checkpoint/science) "cdN" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 4; pixel_x = 0},/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced,/obj/machinery/door/poddoor{density = 0; icon_state = "open"; id = "kitchen"; name = "kitchen shutters"; opacity = 0},/turf/simulated/floor/plating,/area/crew_quarters/kitchen) "cdO" = (/turf/simulated/floor/bluegrid{icon_state = "dark"; name = "Mainframe Floor"; nitrogen = 100; oxygen = 0; temperature = 80},/area/tcommsat/server) -"cdP" = (/obj/machinery/atmospherics/pipe/simple{color = "blue"; icon_state = "intact-b-f"; level = 1; name = "pipe"},/obj/structure/table,/obj/item/weapon/reagent_containers/food/snacks/mint,/turf/simulated/floor{tag = "icon-cafeteria (NORTHEAST)"; icon_state = "cafeteria"; dir = 5},/area/crew_quarters/kitchen) +"cdP" = (/obj/structure/table/reinforced,/obj/item/weapon/minihoe,/obj/machinery/alarm{dir = 8; icon_state = "alarm0"; pixel_x = 24},/obj/item/seeds/ambrosiavulgarisseed,/obj/item/nutrient/ez,/turf/simulated/floor{icon_state = "bot"; dir = 1},/area/hydroponics) "cdQ" = (/obj/structure/table,/obj/item/weapon/kitchen/rollingpin,/turf/simulated/floor{tag = "icon-cafeteria (NORTHEAST)"; icon_state = "cafeteria"; dir = 5},/area/crew_quarters/kitchen) "cdR" = (/obj/structure/disposaloutlet{dir = 1},/turf/simulated/floor/engine,/area/toxins/misc_lab) "cdS" = (/obj/structure/stool,/turf/simulated/floor/plating,/area/maintenance/starboard) "cdT" = (/obj/effect/decal/cleanable/ash,/turf/simulated/floor/plating,/area/maintenance/starboard) -"cdU" = (/obj/structure/table,/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/turf/simulated/floor{tag = "icon-cafeteria (NORTHEAST)"; icon_state = "cafeteria"; dir = 5},/area/crew_quarters/kitchen) +"cdU" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/obj/machinery/door/firedoor,/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor{dir = 2; icon_state = "neutralcorner"},/area/hallway/primary/central) "cdV" = (/turf/simulated/floor/bluegrid{icon_state = "gcircuit"; name = "Mainframe Base"; nitrogen = 100; oxygen = 0; temperature = 80},/area/tcommsat/server) "cdW" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 8},/turf/simulated/floor/plating,/area/maintenance/aft{name = "Aft Maintenance"}) "cdX" = (/obj/effect/decal/cleanable/oil,/turf/simulated/floor/plating,/area/maintenance/aft{name = "Aft Maintenance"}) @@ -5641,7 +5641,7 @@ "cey" = (/obj/structure/closet/emcloset,/obj/machinery/firealarm{dir = 8; pixel_x = -24},/turf/simulated/floor{dir = 8; icon_state = "greencorner"},/area/hallway/primary/central) "cez" = (/obj/structure/cable/yellow{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/simple/supply/hidden{req_access_txt = 1},/turf/simulated/floor{dir = 8; icon_state = "greencorner"},/area/hallway/primary/central) "ceA" = (/obj/structure/cable/yellow{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/obj/machinery/door/firedoor,/obj/machinery/door/airlock/glass{icon = 'icons/obj/doors/Doorcomglass.dmi'},/turf/simulated/floor{dir = 1; icon_state = "bluecorner"},/area/bridge/meeting_room{name = "\improper Command Corridors"}) -"ceB" = (/turf/simulated/wall,/area/toxins/lab) +"ceB" = (/obj/effect/landmark{name = "xeno_spawn"; pixel_x = -1},/obj/structure/sign/securearea{desc = "A warning sign which reads 'EXTERNAL AIRLOCK'"; icon_state = "space"; layer = 4; name = "EXTERNAL AIRLOCK"; pixel_x = 32; pixel_y = 0},/turf/simulated/floor/plating,/area/maintenance/portsolar) "ceC" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/turf/simulated/floor/wood,/area/library) "ceD" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/turf/simulated/floor{dir = 8; icon_state = "greencorner"},/area/hallway/primary/central) "ceE" = (/obj/machinery/door/airlock/engineering{name = "Aft Port Solar Access"; req_access_txt = "10"},/obj/structure/cable/yellow{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor/plating,/area/maintenance/portsolar) @@ -5661,7 +5661,7 @@ "ceS" = (/obj/machinery/telecomms/server/presets/common,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 8},/turf/simulated/floor/bluegrid{name = "Mainframe Base"; nitrogen = 100; oxygen = 0; temperature = 80},/area/tcommsat/server) "ceT" = (/obj/machinery/message_server,/turf/simulated/floor/bluegrid{name = "Mainframe Base"; nitrogen = 100; oxygen = 0; temperature = 80},/area/tcommsat/server) "ceU" = (/obj/structure/table/reinforced,/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/obj/machinery/door/firedoor,/obj/machinery/door/window/westright{dir = 4; name = "Hydroponics Desk"; req_access_txt = "0"; req_one_access_txt = "30;35"},/obj/item/weapon/folder/white,/obj/item/weapon/folder/white,/turf/simulated/floor{dir = 4; icon_state = "greenfull"; tag = "icon-whitehall (WEST)"},/area/hydroponics) -"ceV" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/turf/simulated/floor{icon_state = "greenfull"},/area/hydroponics) +"ceV" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/turf/simulated/floor{icon_state = "greenfull"},/area/hallway/primary/central) "ceW" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 10},/turf/simulated/floor{dir = 8; icon_state = "warnwhite"; tag = "icon-warnwhite (NORTH)"},/area/hydroponics) "ceX" = (/obj/machinery/atmospherics/pipe/manifold{color = "blue"; dir = 2; icon_state = "manifold-b-f"; level = 1; name = "pipe manifold"},/turf/simulated/floor{dir = 2; icon_state = "neutralcorner"},/area/hallway/primary/central) "ceY" = (/obj/structure/reagent_dispensers/watertank,/obj/item/weapon/extinguisher,/obj/machinery/light_construct/small{dir = 8},/turf/simulated/floor/plating,/area/maintenance/aft{name = "Aft Maintenance"}) @@ -5688,9 +5688,9 @@ "cft" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/obj/structure/cable/yellow{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/door/firedoor,/obj/machinery/door/airlock/glass{icon = 'icons/obj/doors/Doorcomglass.dmi'},/turf/simulated/floor,/area/bridge/meeting_room{name = "\improper Command Corridors"}) "cfu" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/obj/machinery/light,/turf/simulated/floor{dir = 2; icon_state = "neutralcorner"},/area/hallway/primary/central) "cfv" = (/turf/simulated/floor{icon_state = "white"},/area/medical/chemistry) -"cfw" = (/obj/effect/landmark{name = "xeno_spawn"; pixel_x = -1},/obj/item/weapon/cable_coil,/obj/structure/sign/securearea{desc = "A warning sign which reads 'EXTERNAL AIRLOCK'"; icon_state = "space"; layer = 4; name = "EXTERNAL AIRLOCK"; pixel_x = 32; pixel_y = 0},/turf/simulated/floor/plating,/area/maintenance/portsolar) +"cfw" = (/obj/item/stack/sheet/rglass{amount = 50},/obj/item/stack/sheet/rglass{amount = 50},/obj/item/stack/rods{amount = 50},/obj/item/stack/rods{amount = 50},/obj/structure/table/holotable,/obj/item/weapon/storage/toolbox/mechanical{pixel_x = -2; pixel_y = -1},/obj/item/weapon/storage/toolbox/mechanical{pixel_x = -2; pixel_y = -1},/obj/machinery/camera/motion{c_tag = "E.V.A. Storage #2"; dir = 2},/obj/machinery/requests_console{department = "EVA"; pixel_x = 0; pixel_y = 32},/turf/simulated/floor{icon_state = "bot"; dir = 1},/area/ai_monitored/storage/eva{name = "E.V.A. Storage"}) "cfx" = (/obj/structure/table/reinforced,/obj/machinery/door/firedoor,/obj/machinery/door/window/westleft{dir = 4; name = "Hydroponics Desk"; req_access_txt = "0"; req_one_access_txt = "30;35"},/obj/structure/noticeboard{desc = "A board for pinning important notices upon. Probably helpful for keeping track of requests."; name = "requests board"; pixel_x = 0; pixel_y = 32},/turf/simulated/floor{dir = 4; icon_state = "greenfull"; tag = "icon-whitehall (WEST)"},/area/hydroponics) -"cfy" = (/turf/simulated/floor{icon_state = "greenfull"},/area/hydroponics) +"cfy" = (/turf/simulated/floor{icon_state = "greenfull"},/area/hallway/primary/central) "cfz" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden{req_access_txt = 1},/obj/structure/cable/yellow{d1 = 2; d2 = 8; icon_state = "2-8"},/turf/simulated/floor{icon_state = "green"; dir = 4},/area/hallway/primary/central) "cfA" = (/obj/machinery/telecomms/bus/preset_one,/obj/structure/window/reinforced{dir = 8},/turf/simulated/floor/bluegrid{name = "Mainframe Base"; nitrogen = 100; oxygen = 0; temperature = 80},/area/tcommsat/server) "cfB" = (/obj/structure/cable/yellow{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/unary/vent_pump{dir = 8; on = 1},/turf/simulated/floor,/area/hallway/primary/aft) @@ -5719,14 +5719,14 @@ "cfY" = (/obj/structure/rack{dir = 8; layer = 2.9},/obj/item/clothing/shoes/magboots,/obj/machinery/door/window/eastright,/turf/simulated/floor{icon_state = "bot"; dir = 1},/area/ai_monitored/storage/eva{name = "E.V.A. Storage"}) "cfZ" = (/obj/machinery/vending/coffee,/obj/machinery/camera/autoname{dir = 8; network = list("SS13")},/obj/machinery/firealarm{dir = 4; pixel_x = 24},/obj/machinery/light/small{dir = 4},/turf/simulated/floor/wood,/area/crew_quarters/bar) "cga" = (/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/maintenance/starboard) -"cgb" = (/obj/structure/table,/obj/item/weapon/paper_bin{pixel_x = -2; pixel_y = 5},/obj/item/weapon/pen,/turf/simulated/floor{icon_state = "greenfull"},/area/hydroponics) -"cgc" = (/obj/structure/table,/obj/item/nutrient/ez,/turf/simulated/floor{icon_state = "bot"; dir = 1},/area/hydroponics) +"cgb" = (/obj/structure/table/reinforced,/obj/item/weapon/storage/bag/plants/portaseeder,/obj/machinery/firealarm{dir = 4; pixel_x = 24},/turf/simulated/floor{icon_state = "bot"; dir = 1},/area/hydroponics) +"cgc" = (/obj/structure/disposalpipe/segment,/obj/machinery/atmospherics/pipe/simple/supply/hidden{req_access_txt = 1},/obj/machinery/door/airlock/maintenance{name = "Library Maintenance Access"; req_access_txt = "0"; req_one_access_txt = "12;37"},/turf/simulated/floor/plating,/area/library) "cgd" = (/obj/structure/table,/obj/item/clothing/gloves/latex,/obj/item/clothing/mask/surgical,/obj/item/clothing/suit/apron/surgical,/obj/machinery/alarm{dir = 4; icon_state = "alarm0"; pixel_x = -22},/turf/simulated/floor{dir = 4; icon_state = "whitehall"; tag = "icon-whitehall (WEST)"},/area/medical/surgery) "cge" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/turf/simulated/floor{icon_state = "white"},/area/medical/surgery) "cgf" = (/obj/effect/landmark/start{name = "Medical Doctor"},/turf/simulated/floor{icon_state = "white"},/area/medical/surgery) "cgg" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden,/turf/simulated/floor{icon_state = "white"},/area/medical/surgery) "cgh" = (/obj/machinery/power/apc{dir = 4; name = "Surgery APC"; pixel_x = 26; pixel_y = 0},/obj/structure/cable/yellow{d2 = 2; icon_state = "0-2"},/obj/structure/table,/obj/item/weapon/surgical_drapes,/turf/simulated/floor{tag = "icon-whitehall (WEST)"; icon_state = "whitehall"; dir = 8},/area/medical/surgery) -"cgi" = (/obj/item/stack/sheet/rglass{amount = 50},/obj/item/stack/sheet/rglass{amount = 50},/obj/item/stack/rods{amount = 50},/obj/item/stack/rods{amount = 50},/obj/structure/table/reinforced,/obj/item/weapon/storage/toolbox/mechanical{pixel_x = -2; pixel_y = -1},/obj/item/weapon/storage/toolbox/mechanical{pixel_x = -2; pixel_y = -1},/obj/machinery/camera/motion{c_tag = "E.V.A. Storage #2"; dir = 2},/obj/machinery/requests_console{department = "EVA"; pixel_x = 0; pixel_y = 32},/turf/simulated/floor{icon_state = "bot"; dir = 1},/area/ai_monitored/storage/eva{name = "E.V.A. Storage"}) +"cgi" = (/obj/structure/table/woodentable,/obj/item/device/taperecorder{pixel_y = 0},/obj/item/device/camera,/obj/item/device/radio/intercom{pixel_y = -25},/turf/simulated/floor{tag = "icon-cult"; icon_state = "cult"; dir = 2},/area/library) "cgj" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden{req_access_txt = 1},/obj/machinery/atmospherics/unary/vent_scrubber{dir = 4; icon_state = "off"; on = 1; scrub_N2O = 0; scrub_Toxins = 0},/turf/simulated/floor{icon_state = "white"},/area/medical/surgery) "cgk" = (/obj/structure/stool/bed,/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/obj/item/weapon/bedsheet/medical,/turf/simulated/floor{icon_state = "white"},/area/medical/surgery) "cgl" = (/obj/machinery/suit_storage_unit/standard_unit,/obj/structure/cable/yellow{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor{icon_state = "bot"; dir = 1},/area/ai_monitored/storage/eva{name = "E.V.A. Storage"}) @@ -5743,7 +5743,7 @@ "cgw" = (/obj/structure/stool/bed/chair/office/light{dir = 1},/obj/effect/landmark/start{name = "Chief Medical Officer"},/turf/simulated/floor{dir = 8; icon_state = "barber"},/area/medical/cmo) "cgx" = (/obj/machinery/alarm{pixel_y = 23},/obj/machinery/light{dir = 1},/turf/simulated/floor{icon_state = "delivery"},/area/ai_monitored/storage/eva{name = "E.V.A. Storage"}) "cgy" = (/obj/machinery/power/apc{dir = 4; name = "CMO's Office APC"; pixel_x = 26; pixel_y = 0},/obj/structure/cable/yellow{d2 = 8; icon_state = "0-8"},/turf/simulated/floor{dir = 8; icon_state = "barber"},/area/medical/cmo) -"cgz" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden{req_access_txt = 1},/obj/structure/sign/botany{pixel_x = 32; pixel_y = 32},/turf/simulated/floor{icon_state = "green"; dir = 4},/area/hallway/primary/central) +"cgz" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/obj/machinery/camera/autoname{dir = 2; network = list("SS13")},/turf/simulated/floor{dir = 1; icon_state = "neutralcorner"},/area/hallway/primary/central) "cgA" = (/obj/structure/stool/bed/chair/office/light{dir = 8},/turf/simulated/floor{icon_state = "white"},/area/medical/chemistry) "cgB" = (/obj/machinery/vending/hydronutrients,/obj/machinery/camera/autoname{dir = 2; network = list("SS13")},/turf/simulated/floor{icon_state = "bot"; dir = 1},/area/hydroponics) "cgC" = (/obj/machinery/door/firedoor,/obj/machinery/door/airlock/command{name = "E.V.A. Access"; req_access_txt = "0"; req_one_access_txt = "18;3"},/obj/structure/cable/yellow{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor{icon_state = "dark"},/area/ai_monitored/storage/eva{name = "E.V.A. Storage"}) @@ -5771,7 +5771,7 @@ "cgY" = (/obj/structure/table/woodentable,/obj/item/weapon/paper,/obj/item/weapon/pen/blue{pixel_x = 5; pixel_y = 5},/turf/simulated/floor/wood,/area/library) "cgZ" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor,/area/hallway/primary/central) "cha" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor{dir = 2; icon_state = "neutralcorner"},/area/hallway/primary/central) -"chb" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/obj/machinery/camera/autoname{dir = 1; network = list("SS13")},/obj/machinery/door/firedoor,/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor{dir = 2; icon_state = "neutralcorner"},/area/hallway/primary/central) +"chb" = (/obj/structure/table,/obj/item/weapon/paper_bin{pixel_x = -2; pixel_y = 5},/obj/item/weapon/pen,/turf/simulated/floor{icon_state = "greenfull"},/area/hallway/primary/central) "chc" = (/obj/structure/cable/yellow{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/obj/structure/disposalpipe/segment{dir = 4; icon_state = "pipe-c"},/turf/simulated/floor,/area/hallway/primary/central) "chd" = (/obj/machinery/firealarm{dir = 4; pixel_x = 24},/obj/structure/closet/secure_closet/freezer/fridge,/turf/simulated/floor{icon_state = "cafeteria"; dir = 2},/area/crew_quarters/kitchen) "che" = (/obj/structure/table/reinforced,/obj/item/weapon/storage/fancy/donut_box,/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/obj/machinery/door/poddoor/shutters/preopen{id = "kitchen"; name = "kitchen shutters"},/obj/machinery/door/firedoor,/obj/structure/noticeboard{desc = "A board for pinning important notices upon. Probably helpful for keeping track of requests."; name = "requests board"; pixel_x = 0; pixel_y = 32},/turf/simulated/floor{tag = "icon-cafeteria (NORTHEAST)"; icon_state = "cafeteria"; dir = 5},/area/crew_quarters/kitchen) @@ -5812,9 +5812,9 @@ "chN" = (/obj/structure/cable/yellow{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor/plating{icon_state = "warnplate"; dir = 1},/area/teleporter{name = "\improper Teleporter Room"}) "chO" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/obj/machinery/door/airlock/maintenance{name = "CMO Maintenance"; req_access_txt = "40"},/turf/simulated/floor/plating,/area/medical/cmo) "chP" = (/obj/structure/cable/yellow{d1 = 1; d2 = 8; icon_state = "1-8"},/obj/machinery/atmospherics/unary/vent_pump{dir = 8; on = 1},/obj/structure/cable/yellow{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor,/area/hallway/primary/central) -"chQ" = (/obj/structure/table,/obj/machinery/reagentgrinder,/turf/simulated/floor{tag = "icon-cafeteria (NORTHEAST)"; icon_state = "cafeteria"; dir = 5},/area/crew_quarters/kitchen) +"chQ" = (/obj/structure/table,/obj/machinery/reagentgrinder,/turf/simulated/floor{icon_state = "bot"; dir = 1},/area/hydroponics) "chR" = (/obj/structure/table/reinforced,/obj/machinery/alarm{frequency = 1439; pixel_y = 23},/obj/item/weapon/folder/blue,/turf/simulated/floor{icon_state = "bot"; dir = 1},/area/teleporter{name = "\improper Teleporter Room"}) -"chS" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/obj/machinery/status_display{density = 0; layer = 4; pixel_x = -32; pixel_y = 0},/turf/simulated/floor{dir = 1; icon_state = "neutralcorner"},/area/hallway/primary/central) +"chS" = (/obj/structure/table,/obj/item/device/analyzer/plant_analyzer,/obj/item/nutrient/ez,/turf/simulated/floor{icon_state = "bot"; dir = 1},/area/hydroponics) "chT" = (/obj/structure/rack{dir = 8; layer = 2.9},/obj/item/clothing/suit/space/rig/security,/obj/item/clothing/mask/breath,/obj/item/clothing/head/helmet/space/rig/security,/obj/structure/cable/yellow{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor{tag = "icon-vault (WEST)"; icon_state = "vault"; dir = 8},/area/ai_monitored/storage/eva{name = "E.V.A. Storage"}) "chU" = (/obj/structure/cable/yellow{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/structure/table/reinforced,/obj/item/device/multitool,/turf/simulated/floor{icon_state = "bot"; dir = 1},/area/teleporter{name = "\improper Teleporter Room"}) "chV" = (/obj/structure/sign/chemistry,/turf/simulated/wall,/area/medical/chemistry) @@ -5826,7 +5826,7 @@ "cib" = (/obj/structure/table,/obj/machinery/light_switch{pixel_x = -11; pixel_y = -23},/obj/item/weapon/storage/fancy/donut_box,/turf/simulated/floor{dir = 6; icon_state = "yellow"},/area/tcommsat/computer) "cic" = (/obj/structure/table/reinforced,/obj/structure/cable/yellow{d1 = 1; d2 = 4; icon_state = "1-4"},/obj/machinery/atmospherics/pipe/simple/supply/hidden{req_access_txt = 1},/obj/item/weapon/storage/toolbox/emergency,/turf/simulated/floor{icon_state = "bot"; dir = 1},/area/teleporter{name = "\improper Teleporter Room"}) "cid" = (/obj/structure/cable/yellow{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor{dir = 6; icon_state = "warning"; tag = "icon-warnwhite (NORTHEAST)"},/area/tcommsat/computer) -"cie" = (/obj/structure/table/reinforced,/obj/item/weapon/storage/bag/plants/portaseeder,/obj/item/pestkiller/lindane,/obj/machinery/firealarm{dir = 4; pixel_x = 24},/turf/simulated/floor{icon_state = "bot"; dir = 1},/area/hydroponics) +"cie" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden{req_access_txt = 1},/turf/simulated/floor{icon_state = "green"; dir = 4},/area/hallway/primary/central) "cif" = (/obj/machinery/power/terminal{icon_state = "term"; dir = 1},/obj/structure/cable{d2 = 8; icon_state = "0-8"},/obj/machinery/light/small{dir = 4},/obj/item/device/radio/intercom{dir = 4; name = "Station Intercom (General)"; pixel_x = 27},/turf/simulated/floor/plating,/area/maintenance/portsolar) "cig" = (/obj/structure/cable/yellow{d1 = 1; d2 = 4; icon_state = "1-4"},/obj/machinery/atmospherics/unary/vent_pump{dir = 1; on = 1},/turf/simulated/floor{icon_state = "warning"},/area/tcommsat/computer) "cih" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/turf/simulated/floor{dir = 2; icon_state = "bluecorner"},/area/hallway/secondary/entry{name = "Arrivals"}) @@ -5837,7 +5837,7 @@ "cim" = (/obj/machinery/door/window/westleft,/obj/structure/cable/yellow{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor,/area/tcommsat/computer) "cin" = (/turf/simulated/floor{dir = 8; icon_state = "warning"},/area/hallway/secondary/exit) "cio" = (/obj/machinery/atmospherics/pipe/manifold{color = "red"; dir = 2; icon_state = "manifold-r-f"; initialize_directions = 11; level = 1; name = "pipe manifold"},/turf/simulated/floor{dir = 2; icon_state = "whitepurplecorner"},/area/medical/research{name = "Research Division"}) -"cip" = (/obj/item/weapon/shovel/spade,/obj/structure/table,/obj/item/seeds/limeseed,/turf/simulated/floor{icon_state = "bot"; dir = 1},/area/hydroponics) +"cip" = (/obj/machinery/chem_master/condimaster{name = "BrewMaster 4000"; pixel_x = -4},/turf/simulated/floor{icon_state = "bot"; dir = 1},/area/hydroponics) "ciq" = (/obj/structure/largecrate,/obj/machinery/atmospherics/pipe/simple/supply/hidden,/obj/item/weapon/paper,/turf/simulated/floor{icon_state = "delivery"},/area/hallway/secondary/exit) "cir" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 9},/turf/simulated/wall/r_wall,/area/maintenance/storage) "cis" = (/obj/structure/cable{d1 = 2; d2 = 4; icon_state = "2-4"; tag = ""},/turf/simulated/floor/bluegrid{icon_state = "dark"; name = "Mainframe Floor"; nitrogen = 100; oxygen = 0; temperature = 80},/area/tcommsat/server) @@ -5857,7 +5857,7 @@ "ciG" = (/obj/structure/stool/bed/roller,/obj/machinery/light_switch{pixel_x = -28; pixel_y = 0},/turf/simulated/floor{icon_state = "white"},/area/medical/surgery) "ciH" = (/obj/structure/stool/bed,/obj/item/weapon/bedsheet/medical,/turf/simulated/floor{icon_state = "white"},/area/medical/surgery) "ciI" = (/turf/simulated/floor{dir = 4; icon_state = "warning"},/area/hallway/secondary/exit) -"ciJ" = (/obj/item/weapon/hand_labeler,/obj/item/device/flashlight,/obj/item/device/flashlight,/obj/item/device/flashlight,/obj/item/device/flashlight,/obj/structure/table/reinforced,/obj/item/device/radio/off,/obj/item/device/assembly/timer,/obj/machinery/power/apc{dir = 4; name = "Teleporter APC"; pixel_x = 24},/obj/structure/cable/yellow{d2 = 8; icon_state = "0-8"},/obj/machinery/light_switch{pixel_x = 0; pixel_y = 28},/turf/simulated/floor{icon_state = "bot"; dir = 1},/area/teleporter{name = "\improper Teleporter Room"}) +"ciJ" = (/obj/item/weapon/hand_labeler,/obj/item/device/flashlight,/obj/item/device/flashlight,/obj/item/device/flashlight,/obj/item/device/flashlight,/obj/structure/table/holotable,/obj/item/device/radio/off,/obj/item/device/assembly/timer,/obj/machinery/power/apc{dir = 4; name = "Teleporter APC"; pixel_x = 24},/obj/structure/cable/yellow{d2 = 8; icon_state = "0-8"},/obj/machinery/light_switch{pixel_x = 0; pixel_y = 28},/turf/simulated/floor{icon_state = "bot"; dir = 1},/area/teleporter{name = "\improper Teleporter Room"}) "ciK" = (/obj/machinery/access_button{command = "cycle_exterior"; master_tag = "xeno_airlock_control"; name = "Xenobiology Access Button"; pixel_x = -24; pixel_y = 0; req_access_txt = "0"},/obj/machinery/door/airlock/research{autoclose = 0; frequency = 1449; icon_state = "door_locked"; id_tag = "xeno_airlock_exterior"; locked = 1; name = "Xenobiology External Airlock"; req_access_txt = "55"},/obj/structure/cable/yellow{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor{dir = 4; icon_state = "whitepurplefull"; tag = "icon-whitehall (WEST)"},/area/toxins/xenobiology) "ciL" = (/obj/machinery/atmospherics/portables_connector{dir = 1; name = "Connector Port (Air Supply)"},/obj/machinery/portable_atmospherics/canister/oxygen,/turf/simulated/floor{dir = 2; icon_state = "warning"},/area/medical/cryo) "ciM" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/turf/simulated/floor{tag = "icon-warningcorner (NORTH)"; icon_state = "warningcorner"; dir = 1},/area/hallway/secondary/entry{name = "Arrivals"}) @@ -5949,7 +5949,7 @@ "cku" = (/obj/machinery/atmospherics/unary/vent_pump{dir = 1; on = 1},/turf/simulated/floor{dir = 2; icon_state = "warning"},/area/hallway/secondary/exit) "ckv" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 10},/turf/simulated/wall/r_wall,/area/toxins/misc_lab) "ckw" = (/turf/simulated/floor/plating/airless,/area/maintenance/aft{name = "Aft Maintenance"}) -"ckx" = (/obj/structure/closet/l3closet/scientist,/obj/machinery/alarm{dir = 8; icon_state = "alarm0"; pixel_x = 24},/obj/machinery/light{dir = 4; icon_state = "tube1"},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/obj/machinery/camera/all{c_tag = "Xenobiology Airlock"; dir = 8; network = list("SS13","RD")},/turf/simulated/floor{dir = 4; icon_state = "warnwhite"; tag = "icon-warnwhite (NORTH)"},/area/toxins/xenobiology) +"ckx" = (/obj/structure/table/reinforced,/obj/item/seeds/carrotseed,/obj/machinery/light/small{dir = 1},/turf/simulated/floor{icon_state = "bot"; dir = 1},/area/hydroponics) "cky" = (/obj/machinery/light{icon_state = "tube1"; dir = 8},/obj/machinery/camera/autoname{dir = 4; network = list("SS13")},/turf/simulated/floor{dir = 10; icon_state = "warning"},/area/hallway/secondary/exit) "ckz" = (/obj/machinery/door/airlock/external,/obj/structure/cable/yellow{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor/plating,/area/maintenance/aft{name = "Aft Maintenance"}) "ckA" = (/obj/structure/cable/yellow{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor/plating{tag = "icon-warnplate (WEST)"; icon_state = "warnplate"; dir = 8},/area/maintenance/aft{name = "Aft Maintenance"}) @@ -5967,9 +5967,9 @@ "ckM" = (/obj/machinery/atmospherics/pipe/manifold{color = "red"; icon_state = "manifold-r-f"; level = 1; name = "pipe manifold"},/obj/structure/cable/yellow{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/structure/table,/obj/item/weapon/paper,/turf/simulated/floor{dir = 1; icon_state = "whitegreen"},/area/medical/virology) "ckN" = (/obj/structure/disposalpipe/segment,/turf/simulated/floor/plating,/area/maintenance/aft{name = "Aft Maintenance"}) "ckO" = (/turf/simulated/wall,/area/medical/morgue) -"ckP" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 6},/turf/simulated/wall,/area/medical/morgue) +"ckP" = (/obj/structure/sign/vacuum,/turf/simulated/wall,/area/hallway/secondary/exit) "ckQ" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/turf/simulated/wall,/area/medical/morgue) -"ckR" = (/obj/machinery/door/firedoor/border_only,/obj/machinery/camera/all{c_tag = "Virology Entrance"; dir = 8; network = list("SS13","Medbay")},/turf/simulated/floor{dir = 2; icon_state = "whitegreen"; tag = "icon-whitehall (WEST)"},/area/medical/medbay3{name = "Medbay Aft"}) +"ckR" = (/obj/structure/cable/yellow{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/simple/supply/hidden{req_access_txt = 1},/obj/machinery/door/airlock/maintenance{name = "Chapel Maintenance Access "; req_access_txt = "0"; req_one_access_txt = "12;27"},/turf/simulated/floor/plating,/area/maintenance/fpmaint2{name = "Port Maintenance"}) "ckS" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 10},/turf/simulated/wall,/area/medical/morgue) "ckT" = (/obj/item/weapon/storage/box/lights/mixed,/obj/structure/closet/crate,/obj/item/device/radio/headset/headset_medsci,/obj/item/clothing/tie/stethoscope,/turf/simulated/floor/plating,/area/maintenance/aft{name = "Aft Maintenance"}) "ckU" = (/turf/simulated/wall/r_wall,/area/assembly/chargebay) @@ -5998,7 +5998,7 @@ "clr" = (/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/maintenance/aft{name = "Aft Maintenance"}) "cls" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden{req_access_txt = 1},/turf/simulated/floor{dir = 2; icon_state = "escape"},/area/hallway/primary/aft) "clt" = (/obj/structure/cable/yellow{d1 = 1; d2 = 4; icon_state = "1-4"},/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 5},/obj/structure/disposalpipe/segment{dir = 1; icon_state = "pipe-c"},/turf/simulated/floor/plating,/area/maintenance/aft{name = "Aft Maintenance"}) -"clu" = (/obj/machinery/chem_master/condimaster{name = "CondiMaster Neo"; pixel_x = -4},/obj/machinery/firealarm{dir = 4; pixel_x = 24},/turf/simulated/floor{icon_state = "showroomfloor"},/area/crew_quarters/kitchen) +"clu" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/turf/simulated/floor{icon_state = "bar"},/area/hallway/primary/central) "clv" = (/obj/structure/cable/yellow{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/light/small{dir = 8},/turf/simulated/floor{icon_state = "white"},/area/toxins/xenobiology) "clw" = (/obj/item/weapon/storage/box,/turf/simulated/floor/plating,/area/maintenance/aft{name = "Aft Maintenance"}) "clx" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 10},/obj/structure/cable/yellow{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor{tag = "icon-warnwhite (NORTH)"; icon_state = "warnwhite"; dir = 1},/area/toxins/xenobiology) @@ -6037,9 +6037,9 @@ "cme" = (/obj/item/weapon/paper_bin{pixel_x = 1; pixel_y = 9},/obj/item/weapon/pen,/obj/structure/table/reinforced,/turf/simulated/floor{tag = "icon-cafeteria (NORTHEAST)"; icon_state = "cafeteria"; dir = 5},/area/crew_quarters/hor) "cmf" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden,/turf/simulated/floor{tag = "icon-cafeteria (NORTHEAST)"; icon_state = "cafeteria"; dir = 5},/area/crew_quarters/hor) "cmg" = (/obj/machinery/computer/mecha,/obj/structure/window/reinforced{dir = 4},/turf/simulated/floor{tag = "icon-cafeteria (NORTHEAST)"; icon_state = "cafeteria"; dir = 5},/area/crew_quarters/hor) -"cmh" = (/obj/structure/table,/obj/item/weapon/circuitboard/aicore{pixel_x = -2; pixel_y = 4},/obj/item/weapon/circuitboard/teleporter,/obj/item/clothing/suit/armor/reactive,/turf/simulated/floor{tag = "icon-cafeteria (NORTHEAST)"; icon_state = "cafeteria"; dir = 5},/area/crew_quarters/hor) +"cmh" = (/obj/structure/sign/atmosplaque{desc = "A plaque commemorating the fallen, may they rest in peace, forever asleep amongst the stars. Someone has drawn a picture of a crying badger at the bottom. "; icon_state = "kiddieplaque"; name = "Remembrance Plaque"; pixel_x = 0; pixel_y = 32},/obj/structure/table/woodentable,/obj/item/weapon/reagent_containers/food/snacks/grown/poppy{pixel_y = 2},/obj/item/weapon/reagent_containers/food/snacks/grown/poppy{pixel_y = 2},/obj/item/weapon/reagent_containers/food/snacks/grown/poppy{pixel_y = 2},/obj/item/weapon/reagent_containers/food/snacks/grown/poppy{pixel_y = 2},/obj/item/weapon/reagent_containers/food/snacks/grown/poppy{pixel_y = 2},/obj/machinery/light/small{dir = 1},/turf/simulated/floor/carpet,/area/chapel/main) "cmi" = (/turf/simulated/floor{tag = "icon-cafeteria (NORTHEAST)"; icon_state = "cafeteria"; dir = 5},/area/crew_quarters/hor) -"cmj" = (/obj/structure/table,/obj/item/device/taperecorder{pixel_x = -3},/obj/item/device/paicard{pixel_x = 4},/obj/item/device/radio/intercom{freerange = 0; frequency = 1459; name = "Station Intercom (General)"; pixel_x = 29},/turf/simulated/floor{tag = "icon-cafeteria (NORTHEAST)"; icon_state = "cafeteria"; dir = 5},/area/crew_quarters/hor) +"cmj" = (/turf/simulated/wall,/area/toxins/server) "cmk" = (/obj/machinery/portable_atmospherics/canister/carbon_dioxide,/obj/machinery/light/small{dir = 8},/obj/structure/extinguisher_cabinet{pixel_x = -27; pixel_y = 0},/turf/simulated/floor{icon_state = "bot"},/area/toxins/storage) "cml" = (/turf/simulated/floor{dir = 8; icon_state = "warning"},/area/toxins/storage) "cmm" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/obj/effect/landmark/start{name = "Scientist"},/turf/simulated/floor,/area/toxins/storage) @@ -6050,7 +6050,7 @@ "cmr" = (/obj/structure/closet/emcloset,/turf/simulated/floor{icon_state = "dark"},/area/hallway/secondary/exit) "cms" = (/obj/machinery/computer/arcade,/obj/machinery/newscaster{pixel_x = 0; pixel_y = 32},/turf/simulated/floor{icon_state = "dark"},/area/hallway/secondary/exit) "cmt" = (/obj/machinery/door/airlock/external{name = "Toxins Test Chamber"; req_access_txt = "0"},/turf/simulated/floor/plating,/area/maintenance/aft{name = "Aft Maintenance"}) -"cmu" = (/obj/machinery/r_n_d/circuit_imprinter,/obj/machinery/requests_console{department = "Robotics"; departmentType = 2; name = "Robotics RC"; pixel_y = -30},/turf/simulated/floor{icon_state = "bot"},/area/assembly/robotics) +"cmu" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/obj/machinery/status_display{density = 0; layer = 4; pixel_x = -32; pixel_y = 0},/obj/machinery/camera/autoname{dir = 4; network = list("SS13")},/turf/simulated/floor{dir = 1; icon_state = "neutralcorner"},/area/hallway/primary/central) "cmv" = (/obj/structure/disposalpipe/segment,/obj/structure/cable/yellow{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/door/firedoor,/obj/machinery/door/airlock/research{name = "Xenobiology Access"; req_access_txt = "47"},/turf/simulated/floor{dir = 4; icon_state = "whitepurplefull"; tag = "icon-whitehall (WEST)"},/area/medical/research{name = "Research Division"}) "cmw" = (/obj/effect/decal/cleanable/dirt,/obj/structure/reagent_dispensers/watertank,/turf/simulated/floor/plating{dir = 2; icon_state = "warnplate"; tag = "icon-warnplate (NORTH)"},/area/maintenance/aft{name = "Aft Maintenance"}) "cmx" = (/obj/structure/cable/yellow{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor/plating,/area/maintenance/aft{name = "Aft Maintenance"}) @@ -6094,7 +6094,7 @@ "cnj" = (/obj/structure/cable/yellow{d1 = 2; d2 = 4; icon_state = "2-4"},/turf/simulated/floor/plating{tag = "icon-warnplate (NORTHEAST)"; icon_state = "warnplate"; dir = 5},/area/maintenance/aft{name = "Aft Maintenance"}) "cnk" = (/obj/machinery/door/airlock/maintenance{name = "Robotics Maintenance"; req_access_txt = "29"},/turf/simulated/floor/plating,/area/assembly/robotics) "cnl" = (/obj/machinery/door/airlock/medical{name = "Virology Access"; req_access_txt = "5"},/obj/structure/disposalpipe/segment,/obj/structure/cable/yellow{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor{icon_state = "whitegreenfull"},/area/medical/medbay3{name = "Medbay Aft"}) -"cnm" = (/obj/effect/landmark{name = "blobstart"},/turf/simulated/floor/plating,/area/maintenance/aft{name = "Aft Maintenance"}) +"cnm" = (/obj/structure/table,/obj/item/weapon/circular_saw,/obj/item/weapon/scalpel{pixel_y = 12},/obj/structure/window/reinforced{dir = 1; pixel_y = 1},/obj/structure/window/reinforced{dir = 1; pixel_y = 1},/turf/simulated/floor{dir = 4; icon_state = "whitehall"},/area/assembly/robotics) "cnn" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 1},/turf/simulated/floor/plating/airless,/area/toxins/test_area) "cno" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 1},/turf/simulated/floor/plating/airless,/area/toxins/test_area) "cnp" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 4},/turf/simulated/floor/plating/airless,/area/toxins/test_area) @@ -6157,7 +6157,7 @@ "cou" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden,/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/turf/simulated/floor,/area/hallway/secondary/exit) "cov" = (/obj/structure/cable/yellow{d1 = 1; d2 = 8; icon_state = "1-8"},/turf/simulated/floor/plating,/area/maintenance/aft{name = "Aft Maintenance"}) "cow" = (/obj/structure/cable/yellow{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor/plating{tag = "icon-warnplate (NORTH)"; icon_state = "warnplate"; dir = 1},/area/maintenance/aft{name = "Aft Maintenance"}) -"cox" = (/obj/machinery/door/firedoor/border_only,/obj/machinery/camera/all{c_tag = "Xenobiology Entrance"; dir = 1; network = list("SS13","RD")},/turf/simulated/floor{dir = 2; icon_state = "whitepurple"},/area/toxins/xenobiology) +"cox" = (/obj/machinery/door/airlock/maintenance{name = "Library Maintenance Access"; req_access_txt = "0"; req_one_access_txt = "12;37"},/turf/simulated/floor/plating,/area/maintenance/fpmaint2{name = "Port Maintenance"}) "coy" = (/obj/item/weapon/contraband/poster,/turf/simulated/floor/plating,/area/maintenance/aft{name = "Aft Maintenance"}) "coz" = (/obj/structure/falsewall{icon_state = "metal12"; opacity = 1},/turf/simulated/floor{icon_state = "dark"},/area/maintenance/aft{name = "Aft Maintenance"}) "coA" = (/obj/structure/cable/yellow{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/simple/supply/hidden{req_access_txt = 1},/obj/structure/disposalpipe/segment{dir = 8; icon_state = "pipe-c"},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/turf/simulated/floor{icon_state = "white"},/area/medical/medbay3{name = "Medbay Aft"}) @@ -6197,7 +6197,7 @@ "cpi" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 5},/obj/structure/cable/yellow{d1 = 1; d2 = 4; icon_state = "1-4"},/turf/simulated/floor{icon_state = "white"},/area/toxins/mixing) "cpj" = (/obj/structure/cable/yellow{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/simple/supply/hidden{req_access_txt = 1},/obj/structure/disposalpipe/sortjunction{sortType = 21},/turf/simulated/floor/plating{tag = "icon-warnplate (WEST)"; icon_state = "warnplate"; dir = 8},/area/maintenance/starboard) "cpk" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/obj/machinery/door/firedoor,/obj/machinery/door/airlock/research{name = "Toxins Storage"; req_access_txt = "8"},/turf/simulated/floor,/area/toxins/storage) -"cpl" = (/obj/item/weapon/cable_coil,/obj/structure/sign/securearea{desc = "A warning sign which reads 'EXTERNAL AIRLOCK'"; icon_state = "space"; layer = 4; name = "EXTERNAL AIRLOCK"; pixel_x = 32; pixel_y = 0},/turf/simulated/floor/plating,/area/maintenance/starboardsolar) +"cpl" = (/obj/structure/table,/obj/item/clothing/gloves/latex,/obj/item/weapon/surgical_drapes,/obj/structure/window/reinforced{dir = 4; pixel_x = 0},/obj/structure/window/reinforced{dir = 1; pixel_y = 1},/turf/simulated/floor{dir = 8; icon_state = "whitehall"},/area/assembly/robotics) "cpm" = (/obj/machinery/door/airlock/external{name = "Toxins Test Chamber"; req_access_txt = "0"},/turf/simulated/floor/plating/airless,/area/toxins/test_area) "cpn" = (/obj/structure/window/reinforced,/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 10},/obj/structure/cable/yellow{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor{dir = 6; icon_state = "warnwhite"; tag = "icon-warnwhite (NORTHEAST)"},/area/toxins/mixing) "cpo" = (/obj/machinery/light{dir = 1},/obj/machinery/camera/autoname{dir = 2; network = list("Toxins")},/turf/simulated/floor/airless,/area/toxins/test_area) @@ -6229,7 +6229,7 @@ "cpO" = (/turf/simulated/floor{tag = "icon-warningcorner (NORTH)"; icon_state = "warningcorner"; dir = 1},/area/hallway/secondary/exit) "cpP" = (/obj/machinery/vending/cigarette,/obj/machinery/ai_status_display{pixel_y = 32},/turf/simulated/floor{icon_state = "whitehall"; dir = 2},/area/medical/medbay3{name = "Medbay Aft"}) "cpQ" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden,/turf/simulated/floor{icon_state = "warning"},/area/hallway/secondary/exit) -"cpR" = (/obj/machinery/door/firedoor,/obj/machinery/door/airlock/medical{name = "Genetics Research"; req_access_txt = "5; 9"},/turf/simulated/floor{icon_state = "delivery"},/area/medical/genetics) +"cpR" = (/obj/structure/closet/l3closet/scientist,/obj/machinery/alarm{dir = 8; icon_state = "alarm0"; pixel_x = 24},/obj/machinery/light{dir = 4; icon_state = "tube1"},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/obj/machinery/camera{c_tag = "Xenobiology Airlock"; dir = 8; network = list("SS13","RD")},/turf/simulated/floor{dir = 4; icon_state = "warnwhite"; tag = "icon-warnwhite (NORTH)"},/area/toxins/xenobiology) "cpS" = (/obj/machinery/atmospherics/portables_connector,/obj/structure/window/reinforced{dir = 8},/turf/simulated/floor{dir = 2; icon_state = "warnwhite"; tag = "icon-warnwhite (NORTH)"},/area/toxins/mixing) "cpT" = (/obj/structure/cable/yellow{d1 = 1; d2 = 8; icon_state = "1-8"},/obj/structure/disposalpipe/segment{dir = 8; icon_state = "pipe-c"},/obj/structure/cable/yellow{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 9},/turf/simulated/floor/plating{icon_state = "warnplate"; dir = 1},/area/maintenance/aft{name = "Aft Maintenance"}) "cpU" = (/obj/machinery/atmospherics/portables_connector,/obj/structure/window/reinforced{dir = 4},/turf/simulated/floor{dir = 2; icon_state = "warnwhite"; tag = "icon-warnwhite (NORTH)"},/area/toxins/mixing) @@ -6245,7 +6245,7 @@ "cqe" = (/obj/machinery/power/solar_control{id = "aftport"; name = "Aft Port Solar Control"; track = 0},/obj/structure/cable{icon_state = "0-4"; d2 = 4},/obj/structure/cable,/turf/simulated/floor/plating,/area/maintenance/portsolar) "cqf" = (/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/maintenance/starboardsolar) "cqg" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 4; pixel_x = 0},/turf/simulated/floor/plating,/area/maintenance/starboardsolar) -"cqh" = (/obj/machinery/alarm{dir = 8; icon_state = "alarm0"; pixel_x = 24},/obj/structure/closet/l3closet,/obj/machinery/light{dir = 4; icon_state = "tube1"},/obj/machinery/camera/all{c_tag = "Virology Airlock"; dir = 8; network = list("SS13","Medbay")},/turf/simulated/floor{dir = 4; icon_state = "warnwhite"; tag = "icon-warnwhite (NORTH)"},/area/medical/virology) +"cqh" = (/obj/machinery/door/firedoor/border_only,/obj/machinery/camera{c_tag = "Virology Entrance"; dir = 8; network = list("SS13","Medbay")},/turf/simulated/floor{dir = 2; icon_state = "whitegreen"; tag = "icon-whitehall (WEST)"},/area/medical/medbay3{name = "Medbay Aft"}) "cqi" = (/turf/simulated/floor{dir = 5; icon_state = "whitehall"},/area/medical/medbay3{name = "Medbay Aft"}) "cqj" = (/obj/structure/stool/bed/chair{dir = 1},/turf/simulated/floor,/area/hallway/secondary/exit) "cqk" = (/obj/machinery/navbeacon{codes_txt = "patrol;next_patrol=10-Aft-Central"; location = "9.5-Escape2"},/turf/simulated/floor{dir = 4; icon_state = "warning"},/area/hallway/secondary/exit) @@ -6269,7 +6269,7 @@ "cqC" = (/obj/machinery/hydroponics/soil{pixel_y = 8},/obj/item/seeds/glowshroom,/turf/simulated/floor/plating{icon_state = "warnplate"; dir = 1},/area/maintenance/aft{name = "Aft Maintenance"}) "cqD" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/obj/machinery/door/firedoor,/turf/simulated/floor{icon_state = "white"},/area/medical/research{name = "Research Division"}) "cqE" = (/turf/simulated/floor{dir = 4; icon_state = "warning"},/area/assembly/robotics) -"cqF" = (/obj/machinery/power/apc{dir = 4; name = "Toxins Lab APC"; pixel_x = 26; pixel_y = 0},/obj/structure/window/reinforced,/obj/structure/table/reinforced,/obj/item/weapon/folder/white,/obj/structure/cable/yellow{d2 = 8; icon_state = "0-8"},/obj/item/weapon/paper,/turf/simulated/floor{dir = 2; icon_state = "warnwhite"; tag = "icon-warnwhite (NORTH)"},/area/toxins/mixing) +"cqF" = (/obj/structure/sign/securearea{desc = "A warning sign which reads 'EXTERNAL AIRLOCK'"; icon_state = "space"; layer = 4; name = "EXTERNAL AIRLOCK"; pixel_x = 32; pixel_y = 0},/turf/simulated/floor/plating,/area/maintenance/starboardsolar) "cqG" = (/obj/structure/cable/yellow{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/turf/simulated/floor{icon_state = "white"},/area/medical/research{name = "Research Division"}) "cqH" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/turf/simulated/floor{dir = 4; icon_state = "whitepurple"},/area/medical/research{name = "Research Division"}) "cqI" = (/obj/machinery/atmospherics/unary/vent_pump{dir = 1; on = 1},/obj/machinery/alarm{dir = 1; icon_state = "alarm0"; pixel_y = -22},/turf/simulated/floor,/area/medical/genetics) @@ -6279,7 +6279,7 @@ "cqM" = (/obj/machinery/atmospherics/pipe/manifold{icon_state = "manifold"; level = 2},/obj/machinery/meter,/turf/simulated/floor{icon_state = "white"},/area/toxins/mixing) "cqN" = (/obj/machinery/atmospherics/pipe/simple{dir = 9; icon_state = "intact"; level = 2},/turf/simulated/floor{icon_state = "white"},/area/toxins/mixing) "cqO" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/turf/simulated/floor{dir = 4; icon_state = "warnwhite"; tag = "icon-warnwhite (NORTH)"},/area/toxins/mixing) -"cqP" = (/obj/machinery/requests_console{department = "Science"; departmentType = 2; name = "Science Requests Console"; pixel_x = 30; pixel_y = 0},/obj/structure/table/reinforced,/obj/item/clothing/glasses/science,/obj/item/clothing/glasses/science,/obj/item/device/multitool{pixel_x = 3},/turf/simulated/floor{icon_state = "white"},/area/toxins/mixing) +"cqP" = (/obj/machinery/power/apc{dir = 4; name = "Toxins Lab APC"; pixel_x = 26; pixel_y = 0},/obj/structure/window/reinforced,/obj/structure/table/holotable,/obj/item/weapon/folder/white,/obj/structure/cable/yellow{d2 = 8; icon_state = "0-8"},/obj/item/weapon/paper,/turf/simulated/floor{dir = 2; icon_state = "warnwhite"; tag = "icon-warnwhite (NORTH)"},/area/toxins/mixing) "cqQ" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden,/obj/structure/cable/yellow{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/door/airlock/maintenance{req_access_txt = "0"; req_one_access_txt = "8;12"},/turf/simulated/floor/plating,/area/maintenance/aft{name = "Aft Maintenance"}) "cqR" = (/obj/structure/sign/securearea,/turf/simulated/wall,/area/maintenance/aft{name = "Aft Maintenance"}) "cqS" = (/turf/simulated/floor/airless{dir = 9; icon_state = "warning"},/area/toxins/test_area) @@ -6372,7 +6372,7 @@ "csB" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/turf/simulated/wall,/area/hallway/primary/aft) "csC" = (/obj/machinery/mecha_part_fabricator,/obj/item/device/radio/intercom{broadcasting = 0; listening = 1; name = "Station Intercom (General)"; pixel_y = 20},/obj/machinery/light/small{dir = 1},/obj/machinery/camera/autoname{dir = 2; network = list("SS13","RD")},/turf/simulated/floor{icon_state = "bot"},/area/assembly/robotics) "csD" = (/obj/structure/cable/yellow{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/manifold{color = "blue"; dir = 8; icon_state = "manifold-b-f"; level = 1; name = "pipe manifold"},/obj/structure/disposalpipe/segment{dir = 4; icon_state = "pipe-c"},/obj/structure/cable/yellow{d1 = 1; d2 = 4; icon_state = "1-4"},/turf/simulated/floor{icon_state = "white"},/area/medical/medbay3{name = "Medbay Aft"}) -"csE" = (/obj/structure/table/reinforced,/obj/item/stack/sheet/metal{amount = 50},/obj/item/stack/sheet/metal{amount = 50},/obj/item/stack/sheet/metal{amount = 50},/obj/item/stack/sheet/metal{amount = 50},/obj/item/stack/sheet/metal{amount = 50},/obj/item/stack/sheet/metal{amount = 50},/obj/machinery/light{icon_state = "tube1"; dir = 4},/obj/item/stack/sheet/glass{amount = 20; pixel_x = -3; pixel_y = 6},/obj/item/stack/sheet/glass{amount = 20; pixel_x = -3; pixel_y = 6},/obj/item/stack/sheet/plasteel{amount = 10},/obj/item/clothing/glasses/welding,/obj/machinery/ai_status_display{pixel_x = 32; pixel_y = 0},/turf/simulated/floor{icon_state = "bot"},/area/assembly/robotics) +"csE" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/turf/simulated/wall/r_wall,/area/medical/morgue) "csF" = (/obj/structure/closet/bombcloset,/turf/simulated/floor{tag = "icon-warnwhite (NORTH)"; icon_state = "warnwhite"; dir = 1},/area/toxins/mixing) "csG" = (/obj/item/device/assembly/prox_sensor{pixel_x = -4; pixel_y = 1},/obj/item/device/assembly/prox_sensor{pixel_x = 8; pixel_y = 9},/obj/item/device/assembly/prox_sensor{pixel_x = 9; pixel_y = -2},/obj/item/device/assembly/prox_sensor{pixel_x = 0; pixel_y = 2},/obj/structure/table,/turf/simulated/floor{tag = "icon-warnwhite (NORTH)"; icon_state = "warnwhite"; dir = 1},/area/toxins/mixing) "csH" = (/obj/item/device/assembly/signaler{pixel_x = 0; pixel_y = 8},/obj/item/device/assembly/signaler{pixel_x = -8; pixel_y = 5},/obj/item/device/assembly/signaler{pixel_x = 6; pixel_y = 5},/obj/item/device/assembly/signaler{pixel_x = -2; pixel_y = -2},/obj/structure/table,/obj/machinery/light,/turf/simulated/floor{tag = "icon-warnwhite (NORTH)"; icon_state = "warnwhite"; dir = 1},/area/toxins/mixing) @@ -6395,10 +6395,10 @@ "csY" = (/turf/simulated/floor/airless{dir = 4; icon_state = "warning"},/area/toxins/test_area) "csZ" = (/turf/simulated/floor/airless{tag = "icon-warningcorner (NORTH)"; icon_state = "warningcorner"; dir = 1},/area/toxins/test_area) "cta" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 8},/turf/simulated/floor/plating,/area/maintenance/portsolar) -"ctb" = (/obj/structure/table,/obj/item/clothing/gloves/latex,/obj/item/weapon/surgical_drapes,/obj/structure/window/reinforced{dir = 4; pixel_x = 0},/obj/structure/window/reinforced{dir = 1; pixel_y = 1},/turf/simulated/floor{icon_state = "white"},/area/assembly/robotics) +"ctb" = (/turf/simulated/wall/r_wall,/area/medical/morgue) "ctc" = (/obj/structure/cable/yellow{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor/plating{tag = "icon-warnplate (WEST)"; icon_state = "warnplate"; dir = 8},/area/maintenance/starboard) "ctd" = (/obj/structure/cable/yellow{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/atmospherics/pipe/manifold{color = "blue"; dir = 2; icon_state = "manifold-b-f"; level = 1; name = "pipe manifold"},/turf/simulated/floor{icon_state = "white"},/area/medical/medbay3{name = "Medbay Aft"}) -"cte" = (/obj/structure/table,/obj/item/weapon/circular_saw,/obj/item/weapon/scalpel{pixel_y = 12},/obj/structure/window/reinforced{dir = 1; pixel_y = 1},/obj/structure/window/reinforced{dir = 1; pixel_y = 1},/turf/simulated/floor{icon_state = "white"},/area/assembly/robotics) +"cte" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 6},/turf/simulated/wall/r_wall,/area/medical/morgue) "ctf" = (/obj/machinery/light{dir = 4; icon_state = "tube1"},/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 10},/obj/structure/cable/yellow{d1 = 2; d2 = 8; icon_state = "2-8"},/turf/simulated/floor{dir = 8; icon_state = "whitehall"},/area/medical/medbay3{name = "Medbay Aft"}) "ctg" = (/obj/structure/table,/obj/item/weapon/reagent_containers/food/drinks/beer,/turf/simulated/floor/plating,/area/maintenance/aft{name = "Aft Maintenance"}) "cth" = (/obj/structure/stool,/obj/structure/sign/poster{pixel_y = -32},/turf/simulated/floor/plating,/area/maintenance/aft{name = "Aft Maintenance"}) @@ -6408,12 +6408,12 @@ "ctl" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/turf/simulated/wall/r_wall,/area/toxins/mixing) "ctm" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 9},/turf/simulated/wall/r_wall,/area/toxins/mixing) "ctn" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/machinery/atmospherics/unary/vent_scrubber{dir = 8; on = 1; scrub_N2O = 0; scrub_Toxins = 0},/obj/effect/landmark/start{name = "Medical Doctor"},/turf/simulated/floor{icon_state = "white"},/area/medical/medbay3{name = "Medbay Aft"}) -"cto" = (/obj/structure/table/reinforced,/obj/machinery/cell_charger,/obj/item/weapon/cell/high{charge = 100; maxcharge = 15000},/obj/structure/extinguisher_cabinet{pixel_x = 27; pixel_y = 0},/turf/simulated/floor{icon_state = "bot"},/area/assembly/robotics) +"cto" = (/obj/structure/table/holotable,/obj/item/stack/sheet/metal{amount = 50},/obj/item/stack/sheet/metal{amount = 50},/obj/item/stack/sheet/metal{amount = 50},/obj/item/stack/sheet/metal{amount = 50},/obj/item/stack/sheet/metal{amount = 50},/obj/item/stack/sheet/metal{amount = 50},/obj/machinery/light{icon_state = "tube1"; dir = 4},/obj/item/stack/sheet/glass{amount = 20; pixel_x = -3; pixel_y = 6},/obj/item/stack/sheet/glass{amount = 20; pixel_x = -3; pixel_y = 6},/obj/item/stack/sheet/plasteel{amount = 10},/obj/item/clothing/glasses/welding,/obj/machinery/ai_status_display{pixel_x = 32; pixel_y = 0},/turf/simulated/floor{icon_state = "bot"},/area/assembly/robotics) "ctp" = (/obj/structure/cable/yellow{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor/plating{tag = "icon-warnplate (EAST)"; icon_state = "warnplate"; dir = 4},/area/maintenance/aft{name = "Aft Maintenance"}) "ctq" = (/obj/item/weapon/storage/box/lights/mixed,/obj/structure/closet/crate,/obj/item/weapon/grenade/chem_grenade,/turf/simulated/floor/plating,/area/maintenance/aft{name = "Aft Maintenance"}) "ctr" = (/obj/structure/cable/yellow{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor/plating{dir = 2; icon_state = "warnplate"},/area/maintenance/aft{name = "Aft Maintenance"}) "cts" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/obj/item/device/radio/intercom{freerange = 0; frequency = 1459; name = "Station Intercom (General)"; pixel_x = 29},/turf/simulated/floor{dir = 2; icon_state = "neutralcorner"},/area/hallway/primary/aft) -"ctt" = (/obj/structure/table/reinforced,/obj/machinery/power/apc{dir = 1; name = "Robotics Lab APC"; pixel_x = 0; pixel_y = 25},/obj/structure/cable/yellow{d2 = 2; icon_state = "0-2"},/obj/machinery/light_switch{pixel_x = 11; pixel_y = 23},/obj/item/weapon/crowbar,/obj/item/device/multitool{pixel_x = 3},/obj/item/device/radio/headset/headset_sci{pixel_x = -3},/obj/item/device/multitool{pixel_x = 3},/turf/simulated/floor{icon_state = "bot"},/area/assembly/robotics) +"ctt" = (/obj/structure/table/holotable,/obj/item/device/assembly/prox_sensor{pixel_x = -8; pixel_y = 4},/obj/item/device/assembly/prox_sensor{pixel_x = -8; pixel_y = 4},/obj/item/device/assembly/prox_sensor{pixel_x = -8; pixel_y = 4},/obj/item/device/assembly/prox_sensor{pixel_x = -8; pixel_y = 4},/obj/item/weapon/cell/high{charge = 100; maxcharge = 15000},/obj/item/weapon/cell/high{charge = 100; maxcharge = 15000; pixel_x = 5; pixel_y = -5},/turf/simulated/floor{icon_state = "bot"},/area/assembly/robotics) "ctu" = (/obj/structure/cable/yellow{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor/plating{icon_state = "warnplate"; dir = 1},/area/maintenance/aft{name = "Aft Maintenance"}) "ctv" = (/turf/simulated/wall,/area/medical/medbay3{name = "Medbay Aft"}) "ctw" = (/obj/structure/sign/biohazard,/turf/simulated/wall,/area/medical/medbay3{name = "Medbay Aft"}) @@ -6424,7 +6424,7 @@ "ctB" = (/obj/structure/sign/securearea,/turf/simulated/wall/r_wall,/area/toxins/mixing) "ctC" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden,/turf/simulated/wall/r_wall,/area/toxins/mixing) "ctD" = (/obj/structure/disposalpipe/segment{dir = 1; icon_state = "pipe-c"},/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 5},/turf/simulated/floor{icon_state = "dark"},/area/medical/morgue) -"ctE" = (/obj/machinery/atmospherics/unary/vent_pump{dir = 1; on = 1},/obj/structure/extinguisher_cabinet{pixel_x = 0; pixel_y = -29},/obj/machinery/camera/all{c_tag = "Medbay Break Room"; dir = 1; network = list("SS13","Medbay")},/turf/simulated/floor{tag = "icon-cafeteria (NORTHEAST)"; icon_state = "cafeteria"; dir = 5},/area/medical/medbay3{name = "Medbay Aft"}) +"ctE" = (/obj/machinery/r_n_d/circuit_imprinter,/turf/simulated/floor{icon_state = "bot"},/area/assembly/robotics) "ctF" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/obj/machinery/atmospherics/unary/vent_scrubber{dir = 2; on = 1; scrub_N2O = 0; scrub_Toxins = 0},/obj/structure/cable/yellow{d1 = 1; d2 = 4; icon_state = "1-4"},/obj/structure/cable/yellow{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor,/area/assembly/robotics) "ctG" = (/turf/simulated/floor/plating{icon_state = "warnplate"; dir = 1},/area/maintenance/aft{name = "Aft Maintenance"}) "ctH" = (/turf/simulated/floor{tag = "icon-warningcorner (EAST)"; icon_state = "warningcorner"; dir = 4},/area/toxins/mixing) @@ -6459,7 +6459,7 @@ "cuk" = (/obj/structure/cable/yellow{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/simple/supply/hidden{req_access_txt = 1},/obj/structure/cable/yellow{d1 = 1; d2 = 8; icon_state = "1-8"},/turf/simulated/floor{icon_state = "white"},/area/medical/medbay{name = "Medbay Central"}) "cul" = (/obj/machinery/atmospherics/pipe/manifold{color = "blue"; dir = 4; icon_state = "manifold-b-f"; level = 1; name = "pipe manifold"},/obj/structure/sign/nosmoking_2{pixel_x = 32},/obj/machinery/meter,/turf/simulated/floor/plating,/area/maintenance/aft{name = "Aft Maintenance"}) "cum" = (/obj/structure/disposalpipe/junction{tag = "icon-pipe-j2"; icon_state = "pipe-j2"; dir = 2},/obj/machinery/atmospherics/pipe/manifold{color = "blue"; dir = 8; icon_state = "manifold-b-f"; level = 1; name = "pipe manifold"},/turf/simulated/floor{icon_state = "dark"},/area/medical/morgue) -"cun" = (/obj/structure/noticeboard{pixel_x = 2; pixel_y = 32},/obj/machinery/newscaster{pixel_x = 30; pixel_y = 0},/obj/structure/table/reinforced,/obj/item/weapon/storage/toolbox/mechanical{pixel_x = 2; pixel_y = 3},/obj/item/weapon/storage/toolbox/mechanical{pixel_x = -2; pixel_y = -1},/turf/simulated/floor,/area/assembly/chargebay) +"cun" = (/obj/structure/table/holotable,/obj/machinery/cell_charger,/obj/item/weapon/cell/high{charge = 100; maxcharge = 15000},/obj/structure/extinguisher_cabinet{pixel_x = 27; pixel_y = 0},/turf/simulated/floor{icon_state = "bot"},/area/assembly/robotics) "cuo" = (/obj/machinery/portable_atmospherics/canister/nitrogen,/obj/machinery/light/small{dir = 4},/turf/simulated/floor{icon_state = "delivery"; name = "floor"},/area/toxins/storage) "cup" = (/obj/structure/disposalpipe/trunk{dir = 8},/obj/machinery/disposal,/turf/simulated/floor{icon_state = "bot"},/area/assembly/robotics) "cuq" = (/obj/structure/lattice,/turf/space,/area/toxins/mixing) @@ -6523,8 +6523,8 @@ "cvw" = (/obj/structure/cable/yellow{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/door/firedoor/border_only,/turf/simulated/floor{dir = 2; icon_state = "whitegreen"; tag = "icon-whitehall (WEST)"},/area/medical/medbay3{name = "Medbay Aft"}) "cvx" = (/obj/structure/grille,/obj/structure/window/reinforced/tinted{dir = 5; health = 120; icon_state = "twindow"; reinf = 0},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/turf/simulated/floor/plating,/area/assembly/robotics) "cvy" = (/obj/structure/table/woodentable,/obj/structure/cable/yellow{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/structure/cable/yellow{d1 = 2; d2 = 8; icon_state = "2-8"},/obj/item/weapon/folder/blue,/obj/item/weapon/disk/data,/obj/item/weapon/disk/tech_disk{pixel_x = 3; pixel_y = -1},/obj/item/weapon/disk/design_disk{pixel_x = 1; pixel_y = -2},/turf/simulated/floor/carpet,/area/assembly/showroom{name = "\improper Corporate Showroom"}) -"cvz" = (/obj/structure/cable/yellow{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/effect/landmark/start{name = "Cyborg"},/turf/simulated/floor{icon_state = "bot"},/area/assembly/robotics) -"cvA" = (/obj/effect/landmark/start{name = "Cyborg"},/turf/simulated/floor{icon_state = "bot"},/area/assembly/robotics) +"cvz" = (/obj/structure/table/holotable,/obj/machinery/power/apc{dir = 1; name = "Robotics Lab APC"; pixel_x = 0; pixel_y = 25},/obj/structure/cable/yellow{d2 = 2; icon_state = "0-2"},/obj/machinery/light_switch{pixel_x = 11; pixel_y = 23},/obj/item/weapon/crowbar,/obj/item/device/multitool{pixel_x = 3},/obj/item/device/radio/headset/headset_sci{pixel_x = -3},/obj/item/device/multitool{pixel_x = 3},/turf/simulated/floor{icon_state = "bot"},/area/assembly/robotics) +"cvA" = (/obj/structure/table,/obj/item/weapon/reagent_containers/food/snacks/sliceable/pizza/margherita,/turf/simulated/floor/plating,/area/maintenance/aft{name = "Aft Maintenance"}) "cvB" = (/obj/structure/rack,/obj/item/weapon/storage/toolbox/electrical{pixel_x = 1; pixel_y = 6},/obj/item/weapon/storage/toolbox/mechanical{pixel_x = -2; pixel_y = -1},/obj/item/clothing/head/welding{pixel_x = -3; pixel_y = 5},/obj/machinery/light_switch{pixel_x = 27},/turf/simulated/floor{icon_state = "bot"},/area/assembly/robotics) "cvC" = (/obj/machinery/door_control{dir = 2; id = "Skynet_launch"; name = "Mech Bay Door Control"; pixel_x = -26; pixel_y = 6},/obj/machinery/light_switch{pixel_x = -23; pixel_y = -2},/turf/simulated/floor{dir = 8; icon_state = "warning"},/area/assembly/robotics) "cvD" = (/obj/effect/decal/cleanable/cobweb2,/turf/simulated/floor/plating{tag = "icon-warnplate (NORTH)"; icon_state = "warnplate"; dir = 1},/area/maintenance/aft{name = "Aft Maintenance"}) @@ -6590,7 +6590,7 @@ "cwL" = (/obj/structure/table/woodentable,/obj/structure/cable/yellow{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/item/weapon/cable_coil,/obj/item/device/mmi{name = "Man-Machine Interface Exhibit"},/turf/simulated/floor/carpet,/area/assembly/showroom{name = "\improper Corporate Showroom"}) "cwM" = (/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/virology) "cwN" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden,/turf/simulated/floor/plating,/area/maintenance/aft{name = "Aft Maintenance"}) -"cwO" = (/turf/simulated/wall/r_wall,/area/hallway/secondary/exit) +"cwO" = (/obj/structure/cable/yellow{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor{icon_state = "bot"},/area/assembly/robotics) "cwP" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 5},/obj/structure/cable/yellow{d1 = 1; d2 = 4; icon_state = "1-4"},/obj/structure/cable/yellow{d1 = 2; d2 = 4; icon_state = "2-4"},/turf/simulated/floor/plating{dir = 2; icon_state = "warnplate"},/area/maintenance/fpmaint2{name = "Port Maintenance"}) "cwQ" = (/obj/structure/disposalpipe/segment{dir = 2; icon_state = "pipe-c"},/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 10},/turf/simulated/floor/plating{tag = "icon-warnplate (WEST)"; icon_state = "warnplate"; dir = 8},/area/maintenance/fpmaint2{name = "Port Maintenance"}) "cwR" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/turf/simulated/floor{icon_state = "bot"},/area/assembly/robotics) @@ -6613,13 +6613,13 @@ "cxi" = (/obj/machinery/shower,/turf/simulated/floor{icon_state = "warnwhite"; dir = 5},/area/medical/genetics) "cxj" = (/obj/machinery/door/poddoor/preopen{id = "Biohazard"; name = "biohazard containment door"},/turf/simulated/floor{icon_state = "delivery"},/area/medical/research{name = "Research Division"}) "cxk" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 9},/turf/simulated/floor{dir = 1; icon_state = "whitepurplecorner"},/area/medical/research{name = "Research Division"}) -"cxl" = (/obj/machinery/door/firedoor,/obj/machinery/door/airlock/research{icon_state = "door_locked"; id_tag = "AuxRobotics"; locked = 1; name = "Auxiliary Research Access"; req_access_txt = "0"; req_one_access_txt = "29;30"},/turf/simulated/floor{icon_state = "delivery"},/area/medical/research{name = "Research Division"}) +"cxl" = (/obj/machinery/door/firedoor/border_only,/obj/machinery/camera{c_tag = "Xenobiology Entrance"; dir = 8; network = list("SS13","RD")},/turf/simulated/floor{dir = 2; icon_state = "whitepurple"},/area/toxins/xenobiology) "cxm" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 5},/turf/simulated/floor{dir = 2; icon_state = "warning"},/area/assembly/robotics) "cxn" = (/obj/structure/closet,/obj/item/weapon/storage/box/lights/mixed,/turf/simulated/floor/plating,/area/maintenance/aft{name = "Aft Maintenance"}) "cxo" = (/obj/machinery/shower,/turf/simulated/floor{tag = "icon-warnwhite (NORTH)"; icon_state = "warnwhite"; dir = 1},/area/medical/research{name = "Research Division"}) "cxp" = (/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/toxins/xenobiology) "cxq" = (/obj/structure/stool/bed/chair,/obj/item/weapon/cigbutt,/turf/simulated/floor/plating,/area/maintenance/aft{name = "Aft Maintenance"}) -"cxr" = (/obj/structure/table/reinforced,/obj/item/weapon/paper_bin{pixel_x = -2; pixel_y = 4},/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/turf/simulated/floor,/area/assembly/chargebay) +"cxr" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/turf/simulated/floor{icon_state = "bot"},/area/assembly/robotics) "cxs" = (/obj/structure/cable/yellow{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/structure/cable/yellow{d1 = 1; d2 = 4; icon_state = "1-4"},/turf/simulated/floor/plating,/area/maintenance/aft{name = "Aft Maintenance"}) "cxt" = (/obj/machinery/door/airlock/external{req_access_txt = "13"},/obj/structure/cable/yellow{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor/plating,/area/maintenance/aft{name = "Aft Maintenance"}) "cxu" = (/obj/structure/disposalpipe/segment{dir = 1; icon_state = "pipe-c"},/turf/simulated/floor{tag = "icon-warnwhite (NORTH)"; icon_state = "warnwhite"; dir = 1},/area/medical/research{name = "Research Division"}) @@ -6644,8 +6644,8 @@ "cxN" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/structure/cable/yellow{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/atmospherics/pipe/manifold{color = "blue"; dir = 2; icon_state = "manifold-b-f"; level = 1; name = "pipe manifold"},/turf/simulated/floor{icon_state = "dark"},/area/medical/morgue) "cxO" = (/obj/machinery/door/airlock/maintenance{name = "Morgue Maintenance"; req_access_txt = "6;5"},/obj/machinery/atmospherics/pipe/simple/supply/hidden{req_access_txt = 1},/turf/simulated/floor/plating,/area/maintenance/aft{name = "Aft Maintenance"}) "cxP" = (/obj/structure/rack,/obj/item/clothing/mask/gas,/turf/simulated/floor/plating{dir = 2; icon_state = "warnplate"; tag = "icon-warnplate (NORTH)"},/area/maintenance/aft{name = "Aft Maintenance"}) -"cxQ" = (/obj/item/weapon/storage/secure/safe{pixel_x = 5; pixel_y = -26},/turf/simulated/floor{dir = 8; icon_state = "barber"},/area/medical/cmo) -"cxR" = (/obj/structure/table/reinforced,/obj/item/weapon/pen,/obj/item/clothing/tie/stethoscope,/turf/simulated/floor{dir = 8; icon_state = "barber"},/area/medical/cmo) +"cxQ" = (/obj/machinery/alarm{dir = 8; icon_state = "alarm0"; pixel_x = 24},/obj/structure/closet/l3closet,/obj/machinery/light{dir = 4; icon_state = "tube1"},/obj/machinery/camera{c_tag = "Virology Airlock"; dir = 8; network = list("SS13","Medbay")},/turf/simulated/floor{dir = 4; icon_state = "warnwhite"; tag = "icon-warnwhite (NORTH)"},/area/medical/virology) +"cxR" = (/obj/effect/landmark{name = "blobstart"},/obj/structure/sign/securearea{desc = "A warning sign which reads 'EXTERNAL AIRLOCK'"; icon_state = "space"; layer = 4; name = "EXTERNAL AIRLOCK"; pixel_x = -32; pixel_y = -32},/turf/simulated/floor/plating,/area/maintenance/aft{name = "Aft Maintenance"}) "cxS" = (/obj/structure/cable/yellow{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/effect/landmark/start{name = "Roboticist"},/obj/machinery/hologram/holopad,/turf/simulated/floor,/area/assembly/chargebay) "cxT" = (/obj/machinery/light/small{dir = 4},/obj/structure/closet,/turf/simulated/floor/plating,/area/maintenance/aft{name = "Aft Maintenance"}) "cxU" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 4},/turf/simulated/floor/plating/airless,/area/toxins/test_area) @@ -6770,7 +6770,7 @@ "cAj" = (/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 = 1},/turf/simulated/floor/plating,/area/medical/virology) "cAk" = (/obj/structure/cable/yellow{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/turf/simulated/floor{icon_state = "white"},/area/medical/virology) "cAl" = (/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 8},/obj/structure/grille,/turf/simulated/floor{icon_state = "dark"},/area/medical/virology) -"cAm" = (/obj/structure/sign/vacuum,/turf/simulated/wall/r_wall,/area/hallway/secondary/exit) +"cAm" = (/obj/structure/disposalpipe/segment,/obj/machinery/atmospherics/pipe/simple/supply/hidden{req_access_txt = 1},/obj/structure/cable/yellow{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/structure/sign/securearea{desc = "A warning sign which reads 'EXTERNAL AIRLOCK'"; icon_state = "space"; layer = 4; name = "EXTERNAL AIRLOCK"; pixel_x = -32; pixel_y = -32},/turf/simulated/floor/plating,/area/maintenance/aft{name = "Aft Maintenance"}) "cAn" = (/obj/structure/cable/yellow{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor/plating{dir = 2; icon_state = "warnplate"; tag = "icon-warnplate (NORTH)"},/area/maintenance/aft{name = "Aft Maintenance"}) "cAo" = (/obj/structure/stool/bed/chair/office/light{dir = 1},/obj/effect/landmark/start{name = "Scientist"},/obj/structure/cable/yellow{d1 = 1; d2 = 4; icon_state = "1-4"},/turf/simulated/floor{icon_state = "white"},/area/toxins/xenobiology) "cAp" = (/obj/structure/cable/yellow{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor{icon_state = "white"},/area/toxins/xenobiology) @@ -7278,7 +7278,7 @@ "cJX" = (/obj/machinery/door/airlock/external{name = "Salvage Shuttle Dock"},/turf/simulated/shuttle/plating,/area/centcom/evac) "cJY" = (/obj/structure/disposalpipe/segment{dir = 1; icon_state = "pipe-c"},/turf/simulated/floor{tag = "icon-cafeteria (NORTHEAST)"; icon_state = "cafeteria"; dir = 5},/area/medical/medbay3{name = "Medbay Aft"}) "cJZ" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden{req_access_txt = 1},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/obj/machinery/firealarm{dir = 8; pixel_x = -24},/turf/simulated/floor{dir = 1; icon_state = "whitegreencorner"},/area/medical/medbay3{name = "Medbay Aft"}) -"cKa" = (/obj/machinery/portable_atmospherics/canister,/obj/structure/window/reinforced{dir = 8},/obj/machinery/firealarm{dir = 2; pixel_y = 24},/obj/machinery/camera{c_tag = "Toxins Lab West"; dir = 2; network = list("SS13","RD"); pixel_y = 0},/turf/simulated/floor{dir = 2; icon_state = "warnwhite"},/area/toxins/mixing) +"cKa" = (/obj/machinery/atmospherics/unary/vent_pump{dir = 1; on = 1},/obj/structure/extinguisher_cabinet{pixel_x = 0; pixel_y = -29},/obj/machinery/camera{c_tag = "Medbay Break Room"; dir = 1; network = list("SS13","Medbay")},/turf/simulated/floor{tag = "icon-cafeteria (NORTHEAST)"; icon_state = "cafeteria"; dir = 5},/area/medical/medbay3{name = "Medbay Aft"}) "cKb" = (/turf/simulated/shuttle/plating,/area/centcom/evac) "cKc" = (/obj/structure/cable/yellow{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/obj/structure/cable/yellow{d1 = 1; d2 = 4; icon_state = "1-4"},/turf/simulated/floor{icon_state = "white"},/area/medical/medbay3{name = "Medbay Aft"}) "cKd" = (/obj/machinery/portable_atmospherics/scrubber,/obj/machinery/alarm{frequency = 1439; pixel_y = 23},/turf/simulated/floor{dir = 2; icon_state = "warnwhite"},/area/toxins/mixing) @@ -7302,7 +7302,7 @@ "cKv" = (/obj/machinery/recharge_station,/obj/machinery/alarm{dir = 1; pixel_y = -22},/turf/simulated/floor{icon_state = "bot"},/area/assembly/chargebay) "cKw" = (/obj/machinery/firealarm{dir = 1; pixel_y = -24},/turf/simulated/floor,/area/assembly/chargebay) "cKx" = (/obj/structure/stool/bed/chair{dir = 8},/turf/simulated/shuttle/floor,/area/centcom/evac) -"cKy" = (/obj/structure/table/reinforced,/obj/item/weapon/wrench,/obj/item/weapon/screwdriver{pixel_y = 10},/obj/machinery/atmospherics/pipe/simple/supply/hidden,/obj/structure/extinguisher_cabinet{pixel_x = 27; pixel_y = 0},/obj/machinery/light_switch{pixel_y = 28},/turf/simulated/floor{icon_state = "white"},/area/toxins/mixing) +"cKy" = (/obj/structure/table,/obj/item/device/radio/intercom{freerange = 0; frequency = 1459; name = "Station Intercom (General)"; pixel_x = 29},/obj/item/weapon/storage/lockbox,/obj/item/device/taperecorder{pixel_x = -3},/obj/item/device/paicard{pixel_x = 4},/turf/simulated/floor{tag = "icon-cafeteria (NORTHEAST)"; icon_state = "cafeteria"; dir = 5},/area/crew_quarters/hor) "cKz" = (/obj/machinery/computer/secure_data,/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/centcom/evac) "cKA" = (/obj/structure/stool/bed/chair{dir = 1},/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/centcom/evac) "cKB" = (/obj/structure/stool/bed/chair{dir = 4},/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/centcom/evac) @@ -7381,7 +7381,7 @@ "cLW" = (/obj/machinery/door/unpowered/shuttle{name = "cargo door"},/turf/simulated/shuttle/plating{dir = 1; icon_state = "delivery"},/area/shuttle/escape/centcom) "cLX" = (/turf/space,/turf/simulated/shuttle/wall{tag = "icon-swall_f10"; icon_state = "swall_f10"; dir = 2},/area/shuttle/escape/centcom) "cLY" = (/obj/structure/table,/obj/item/weapon/storage/box/bodybags,/turf/simulated/floor{dir = 9; icon_state = "whiteblue"},/area/medical/genetics) -"cLZ" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/obj/effect/landmark/start{name = "Cyborg"},/turf/simulated/floor{icon_state = "bot"},/area/assembly/robotics) +"cLZ" = (/obj/structure/sign/securearea{desc = "A warning sign which reads 'EXTERNAL AIRLOCK'"; icon_state = "space"; layer = 4; name = "EXTERNAL AIRLOCK"; pixel_x = -32; pixel_y = 0},/turf/simulated/floor/plating,/area/maintenance/aft{name = "Aft Maintenance"}) "cMa" = (/turf/simulated/shuttle/wall{tag = "icon-swall3"; icon_state = "swall3"; dir = 2},/area/shuttle/escape/centcom) "cMb" = (/obj/structure/table,/obj/item/weapon/storage/firstaid/fire,/obj/item/weapon/storage/firstaid/regular{pixel_x = 2; pixel_y = 3},/turf/simulated/shuttle/floor{icon_state = "floor3"},/area/shuttle/escape/centcom) "cMc" = (/obj/structure/stool/bed/chair,/turf/simulated/shuttle/floor{icon_state = "floor3"},/area/shuttle/escape/centcom) @@ -7431,7 +7431,7 @@ "cMU" = (/obj/machinery/power/apc{cell_type = 5000; dir = 4; name = "Nanotrasen Corporate Showroom APC"; pixel_x = 28; pixel_y = 0},/obj/structure/cable/yellow{d1 = 1; d2 = 8; icon_state = "1-8"},/obj/structure/cable/yellow{d2 = 8; icon_state = "0-8"},/obj/item/weapon/cigbutt,/turf/simulated/floor/wood,/area/assembly/showroom{name = "\improper Corporate Showroom"}) "cMV" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden{req_access_txt = 1},/obj/structure/cable/yellow{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/effect/decal/cleanable/cobweb,/turf/simulated/floor/plating{icon_state = "warnplate"; dir = 1},/area/maintenance/fpmaint2{name = "Port Maintenance"}) "cMW" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 4},/turf/simulated/shuttle/plating,/area/shuttle/transport1/centcom) -"cMX" = (/obj/structure/table/reinforced,/obj/item/device/assembly/prox_sensor{pixel_x = -8; pixel_y = 4},/obj/item/device/assembly/prox_sensor{pixel_x = -8; pixel_y = 4},/obj/item/device/assembly/prox_sensor{pixel_x = -8; pixel_y = 4},/obj/item/device/assembly/prox_sensor{pixel_x = -8; pixel_y = 4},/obj/item/weapon/cell/high{charge = 100; maxcharge = 15000},/obj/item/weapon/cell/high{charge = 100; maxcharge = 15000; pixel_x = 5; pixel_y = -5},/turf/simulated/floor{icon_state = "bot"},/area/assembly/robotics) +"cMX" = (/obj/item/weapon/storage/secure/safe{pixel_x = 5; pixel_y = -26},/obj/structure/rack,/obj/item/weapon/storage/lockbox,/obj/item/weapon/tank/oxygen,/obj/item/clothing/suit/space/rig/medical{name = "emergency medical hardsuit"},/obj/item/clothing/mask/breath,/obj/item/clothing/head/helmet/space/rig/medical{desc = "A special helmet designed for work in a hazardous, low pressure environment. Built with lightweight materials for extra mobility."; name = "emergency medical hardsuit helmet"},/turf/simulated/floor{dir = 8; icon_state = "barber"},/area/medical/cmo) "cMY" = (/obj/structure/stool/bed/chair{dir = 4},/obj/machinery/computer/security/telescreen{desc = "Used for watching the test chamber."; layer = 4; name = "Test Chamber Telescreen"; network = "Toxins"; pixel_x = 32; pixel_y = 0},/obj/machinery/light_switch{pixel_y = 28},/turf/simulated/floor,/area/toxins/mixing) "cMZ" = (/turf/unsimulated/floor{icon_state = "greencorner"; dir = 8},/area/centcom/control) "cNa" = (/turf/unsimulated/floor{icon_state = "greencorner"},/area/centcom/control) @@ -7447,7 +7447,7 @@ "cNk" = (/obj/structure/reagent_dispensers/fueltank,/obj/item/weapon/storage/box/lights/mixed,/turf/simulated/floor/plating,/area/maintenance/aft{name = "Aft Maintenance"}) "cNl" = (/obj/structure/stool/bed/chair,/turf/simulated/shuttle/floor,/area/shuttle/transport1/centcom) "cNm" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/turf/simulated/floor{dir = 1; icon_state = "whitebluecorner"},/area/medical/genetics) -"cNn" = (/obj/structure/table/reinforced,/obj/item/clothing/mask/gas,/obj/item/weapon/crowbar,/turf/simulated/floor{icon_state = "white"},/area/toxins/mixing) +"cNn" = (/obj/structure/table/holotable,/obj/item/weapon/pen,/obj/item/clothing/tie/stethoscope,/turf/simulated/floor{dir = 8; icon_state = "barber"},/area/medical/cmo) "cNo" = (/turf/unsimulated/floor{icon_state = "green"; dir = 8},/area/centcom/control) "cNp" = (/turf/unsimulated/floor{icon_state = "greencorner"; dir = 1},/area/centcom/evac) "cNq" = (/obj/structure/stool/bed/chair{dir = 8},/obj/structure/extinguisher_cabinet{pixel_x = 27; pixel_y = 0},/turf/simulated/shuttle/floor{icon_state = "floor3"},/area/shuttle/escape/centcom) @@ -9493,7 +9493,7 @@ "dAC" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden,/obj/structure/cable/yellow{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor/plating{icon_state = "warnplate"; dir = 1},/area/maintenance/aft{name = "Aft Maintenance"}) "dAD" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 5},/turf/simulated/floor,/area/assembly/chargebay) "dAE" = (/obj/structure/grille,/obj/structure/window/reinforced/tinted{dir = 5; health = 120; icon_state = "twindow"; reinf = 0},/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/turf/simulated/floor/plating,/area/assembly/chargebay) -"dAF" = (/obj/machinery/door/firedoor,/obj/machinery/door/airlock/research{icon_state = "door_locked"; id_tag = "AuxGenetics"; locked = 1; name = "Auxiliary Genetics Access"; req_access_txt = "0"; req_one_access_txt = "5;30"},/turf/simulated/floor{icon_state = "delivery"},/area/medical/genetics) +"dAF" = (/obj/machinery/door/firedoor,/obj/machinery/door/airlock/medical{name = "Genetics Research"; req_access_txt = "0"; req_one_access_txt = "5; 9"},/turf/simulated/floor{icon_state = "delivery"},/area/medical/genetics) "dAG" = (/obj/machinery/atmospherics/pipe/manifold{color = "blue"; dir = 4; icon_state = "manifold-b-f"; level = 1; name = "pipe manifold"},/turf/simulated/floor{icon_state = "white"},/area/medical/research{name = "Research Division"}) "dAH" = (/obj/effect/landmark{name = "xeno_spawn"; pixel_x = -1},/obj/structure/closet/firecloset,/turf/simulated/floor/plating,/area/maintenance/aft{name = "Aft Maintenance"}) "dAI" = (/turf/simulated/floor/plating{tag = "icon-warnplate (EAST)"; icon_state = "warnplate"; dir = 4},/area/maintenance/aft{name = "Aft Maintenance"}) @@ -9529,8 +9529,8 @@ "dBm" = (/obj/machinery/light{dir = 1},/obj/structure/sign/nosmoking_2{pixel_y = 32},/turf/simulated/floor/mech_bay_recharge_floor,/area/assembly/chargebay) "dBn" = (/obj/structure/filingcabinet/chestdrawer,/obj/item/device/radio/intercom{broadcasting = 0; listening = 1; name = "Station Intercom (General)"; pixel_y = 20},/turf/simulated/floor,/area/assembly/chargebay) "dBo" = (/obj/structure/table,/obj/item/weapon/reagent_containers/food/drinks/ale,/turf/simulated/floor/plating,/area/maintenance/aft{name = "Aft Maintenance"}) -"dBp" = (/obj/structure/cable/yellow{d1 = 1; d2 = 8; icon_state = "1-8"},/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 9; pixel_y = 0},/turf/simulated/floor/plating{tag = "icon-warnplate (EAST)"; icon_state = "warnplate"; dir = 4},/area/maintenance/aft{name = "Aft Maintenance"}) -"dBq" = (/obj/effect/landmark{name = "blobstart"},/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},/turf/simulated/floor/plating{tag = "icon-warnplate (EAST)"; icon_state = "warnplate"; dir = 4},/area/maintenance/aft{name = "Aft Maintenance"}) +"dBp" = (/obj/structure/cable/yellow{d1 = 1; d2 = 8; icon_state = "1-8"},/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 9; pixel_y = 0},/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},/turf/simulated/floor/plating{tag = "icon-warnplate (EAST)"; icon_state = "warnplate"; dir = 4},/area/maintenance/aft{name = "Aft Maintenance"}) +"dBq" = (/obj/effect/landmark{name = "blobstart"},/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},/turf/simulated/floor/plating{tag = "icon-warnplate (EAST)"; icon_state = "warnplate"; dir = 4},/area/maintenance/aft{name = "Aft Maintenance"}) "dBr" = (/obj/structure/table,/obj/item/weapon/reagent_containers/glass/rag,/turf/simulated/floor/plating,/area/maintenance/aft{name = "Aft Maintenance"}) "dBs" = (/obj/structure/sign/poster{pixel_y = 32},/obj/machinery/vending/cigarette,/turf/simulated/floor/plating,/area/maintenance/aft{name = "Aft Maintenance"}) "dBt" = (/obj/structure/cable/yellow{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/structure/disposalpipe/segment,/turf/simulated/floor,/area/assembly/chargebay) @@ -9550,7 +9550,7 @@ "dBH" = (/obj/structure/disposalpipe/segment,/obj/structure/cable/yellow{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/effect/landmark/start{name = "Scientist"},/turf/simulated/floor{icon_state = "white"},/area/toxins/xenobiology) "dBI" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/obj/machinery/door/firedoor,/obj/machinery/door/airlock/research{name = "Toxins Lab"; req_access_txt = "8"},/turf/simulated/floor{dir = 4; icon_state = "whitepurplefull"; tag = "icon-whitehall (WEST)"},/area/toxins/mixing) "dBJ" = (/obj/machinery/atmospherics/pipe/manifold{color = "blue"; dir = 8; icon_state = "manifold-b-f"; level = 1; name = "pipe manifold"},/turf/simulated/floor{icon_state = "white"},/area/medical/research{name = "Research Division"}) -"dBK" = (/obj/structure/table/reinforced,/obj/item/weapon/folder/white,/obj/item/weapon/folder/white,/obj/item/weapon/pen,/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 10},/turf/simulated/floor,/area/assembly/chargebay) +"dBK" = (/obj/structure/table/holotable,/obj/item/weapon/wrench,/obj/item/weapon/screwdriver{pixel_y = 10},/obj/machinery/atmospherics/pipe/simple/supply/hidden,/obj/structure/extinguisher_cabinet{pixel_x = 27; pixel_y = 0},/obj/machinery/light_switch{pixel_y = 28},/turf/simulated/floor{icon_state = "white"},/area/toxins/mixing) "dBL" = (/obj/machinery/door_control{dir = 2; id = "Skynet_launch"; name = "Mech Bay Door Control"; pixel_x = -26; pixel_y = 6},/obj/machinery/light_switch{pixel_x = -23; pixel_y = -2},/turf/simulated/floor{tag = "icon-warningcorner (EAST)"; icon_state = "warningcorner"; dir = 4},/area/assembly/chargebay) "dBM" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/obj/machinery/door_control{dir = 2; id = "Skynet_launch"; name = "Mech Bay Door Control"; pixel_x = 26; pixel_y = 6; req_one_access_txt = "29"},/turf/simulated/floor{dir = 2; icon_state = "neutralcorner"},/area/hallway/primary/aft) "dBN" = (/obj/structure/stool/bed/chair{dir = 1},/turf/simulated/shuttle/floor4,/area/shuttle/escape/centcom) @@ -9578,6 +9578,15 @@ "dCj" = (/obj/machinery/door/poddoor/preopen{id = "CentComPort"; name = "security door"},/turf/unsimulated/floor{dir = 1; icon_state = "loadingarea"},/area/centcom/control) "dCk" = (/obj/machinery/door/poddoor{id = "CentComPort"; name = "security door"},/turf/unsimulated/floor{dir = 1; icon_state = "loadingarea"},/area/centcom/control) "dCl" = (/obj/machinery/door/airlock/centcom{name = "Centcom Security"; opacity = 1; req_access_txt = "101"},/turf/unsimulated/floor{icon_state = "dark"},/area/centcom/control) +"dCm" = (/obj/machinery/door/firedoor,/obj/machinery/door/airlock/research{icon_state = "door_locked"; id_tag = "AuxGenetics"; locked = 1; name = "Auxiliary Genetics Access"; req_access_txt = "0"; req_one_access_txt = "5;9"},/turf/simulated/floor{icon_state = "delivery"},/area/medical/genetics) +"dCn" = (/obj/machinery/door/firedoor,/obj/machinery/door/airlock/research{icon_state = "door_locked"; id_tag = "AuxRobotics"; locked = 1; name = "Auxiliary Research Access"; req_access_txt = "0"; req_one_access_txt = "47"},/turf/simulated/floor{icon_state = "delivery"},/area/medical/research{name = "Research Division"}) +"dCo" = (/obj/structure/table,/obj/item/weapon/circuitboard/aicore{pixel_x = -2; pixel_y = 4},/obj/item/weapon/circuitboard/teleporter,/turf/simulated/floor{tag = "icon-cafeteria (NORTHEAST)"; icon_state = "cafeteria"; dir = 5},/area/crew_quarters/hor) +"dCp" = (/obj/structure/noticeboard{pixel_x = 2; pixel_y = 32},/obj/machinery/newscaster{pixel_x = 30; pixel_y = 0},/obj/structure/table/holotable,/obj/item/weapon/storage/toolbox/mechanical{pixel_x = 2; pixel_y = 3},/obj/item/weapon/storage/toolbox/mechanical{pixel_x = -2; pixel_y = -1},/turf/simulated/floor,/area/assembly/chargebay) +"dCq" = (/obj/machinery/portable_atmospherics/canister,/obj/structure/window/reinforced{dir = 8},/obj/machinery/firealarm{dir = 2; pixel_y = 24},/turf/simulated/floor{dir = 2; icon_state = "warnwhite"},/area/toxins/mixing) +"dCr" = (/obj/structure/table/holotable,/obj/item/clothing/mask/gas,/obj/item/weapon/crowbar,/turf/simulated/floor{icon_state = "white"},/area/toxins/mixing) +"dCs" = (/obj/machinery/requests_console{department = "Science"; departmentType = 2; name = "Science Requests Console"; pixel_x = 30; pixel_y = 0},/obj/structure/table/holotable,/obj/item/clothing/glasses/science,/obj/item/clothing/glasses/science,/obj/item/device/multitool{pixel_x = 3},/turf/simulated/floor{icon_state = "white"},/area/toxins/mixing) +"dCt" = (/obj/structure/table/holotable,/obj/item/weapon/paper_bin{pixel_x = -2; pixel_y = 4},/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/turf/simulated/floor,/area/assembly/chargebay) +"dCu" = (/obj/structure/table/holotable,/obj/item/weapon/folder/white,/obj/item/weapon/folder/white,/obj/item/weapon/pen,/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 10},/turf/simulated/floor,/area/assembly/chargebay) (1,1,1) = {" aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa @@ -9640,134 +9649,134 @@ aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaafaafaafaafaafaafaafaafaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadaadaaaaadaaiaaMaaNaaOaaPaaQaaRaaSaaTaaSaaUaaSaaVaaWaaXaaYaaZaaiaadaaaaaaaaaaaaaaaaadaaaaadaaaaadaaaaadaaaaadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaagaagaagaagaagaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaafaafaafaafaafaafaafaafaafaafaafaafaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacaaaaaaabaaaEaakabaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadaakaakaadaadaadabbabcabdabeabfabgabhabiaayaayaaCabjaayaayaayabkablaaiaadaadaadaaaaadaadaadaadaadaadaadaadaadaadaahaadaaaaadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaagaagaagaagaagaagaagaagaagaagaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaafaafaafaafaafaafaafaafaafaafaafaafaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabaaaaaadaaaaaEaaaaaaaaaaaaaaaaaaaaaaaaaaaaadaakaakaaaaaaaaaaaaaaiabmabnaaiaboabpaboabqaboabraboabsaboabtaboaboabuabvabvabvabvabvabvabvabvabvabvabwabxabyabzabwabwaadaaaaadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabaaakaakaakabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaagaagaagaagaagaagaagaagaagaagaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaafaafaafaafaafaafaafaafaafaafaafaafaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaakaadabAaadaakaaaaaaaaaaaaaaaaakaaaaaaaaEaadaadaadaaaaaaaaaaadaaiabBabCaaiabDaayabEabqabFaayabGabsabHaayabIaboabJabvabKabKabLabMabNabOabPabQabvabRabSabTabUabVabwaadaaaaadabWabXabWaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaEaaaaaaaaaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaagaagaagaagaagaagaagaagaagaagaagaagaagaagaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaafaafaafaafaafaafaafaafaafaafaafaafaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabaabaaaEaakaakaaaaaaaaaabYaaaaaaaaaaakaakabaabaabaaaaaadaadaadaaaaadaadaaaaadaadaaiacaacbaaiaccaayacdaceacfaayacgabsachaayacgaboaciabvabKacjackackackackackacLabvaclacmacnacoacpabwaadaadaadabWacqabWaadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabaaadadwaaaaaEaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaagaagaagaagaagaagaagaagaagaagaagaagaagaagaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabaaaaaaaaadaadaaaaaaaaaabYaadaadaaaaadaadaaaaaaabaaakaadaadaadaaaaaaaadaadaadaaaaaiacracsaaiabsactaboabqabsacuabqabsabsacvabqaboaboabvacwacxacyabZacAacBacCacDabvacEacFacGacoacHabwacIacJacKabWabXabWajCajcaaaaaaaaaaaaaaaaaaaacaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaakaakaakaakaakaakaakaaaaelaaaabaaakaakaakabaabaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaagaagaagaagaagaagaagaagaagaagaagaagaagaagaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaakaadacNacNacNacNacNaadacOaadacNacNacNacNacNaadaakaakaadaaaaadaaaaaaaaaaadaaaaaaaaiacPacQacRacSacTacUacVacWacXacYacZadaadbadcaddadeabvadfadgadhadhadiadhadhaEaabvadkadladmacoadnabwadoadpadqadraORadtaduaduadvaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaEaaaaaaaadaadaadaaaaaaaelaadaadaaaaadaadaaaaaaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaagaagaagaagaagaagaagaagaagaagaagaagaagaagaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaafaafaafaafaafaafaafaafaafaafaafaafaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaakaadabAaadaakaaaaaaaaaaaaaaaaakaaaaaaaaEaadaadaadaaaaaaaaaaadaaiabBabCaaiabDaayabEabqabFaayabGabsabHaayabIaboabJabvabKabKabLabMabNabOabPabQabvabRabSabTabUabVabwaadaaaaadadrabXadraaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaEaaaaaaaaaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaagaagaagaagaagaagaagaagaagaagaagaagaagaagaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaafaafaafaafaafaafaafaafaafaafaafaafaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabaabaaaEaakaakaaaaaaaaaabYaaaaaaaaaaakaakabaabaabaaaaaadaadaadaaaaadaadaaaaadaadaaiacaacbaaiaccaayacdaceacfaayacgabsachaayacgaboaciabvabKacjackackackackackacLabvaclacmacnacoacpabwaadaadaadadracqadraadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabaaadadwaaaaaEaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaagaagaagaagaagaagaagaagaagaagaagaagaagaagaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabaaaaaaaaadaadaaaaaaaaaabYaadaadaaaaadaadaaaaaaabaaakaadaadaadaaaaaaaadaadaadaaaaaiacracsaaiabsactaboabqabsacuabqabsabsacvabqaboaboabvacwacxacyabZacAacBacCacDabvacEacFacGacoacHabwacIacJacKabWabXadrajCajcaaaaaaaaaaaaaaaaaaaacaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaakaakaakaakaakaakaakaaaaelaaaabaaakaakaakabaabaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaagaagaagaagaagaagaagaagaagaagaagaagaagaagaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaakaadacNacNacNacNacNaadacOaadacNacNacNacNacNaadaakaakaadaaaaadaaaaaaaaaaadaaaaaaaaiacPacQacRacSacTacUacVacWacXacYacZadaadbadcaddadeabvadfadgadhadhadiadhadhaEaabvadkadladmacoadnabwadoadpadqabWaORadtaduaduadvaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaEaaaaaaaadaadaadaaaaaaaelaadaadaaaaadaadaaaaaaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaagaagaagaagaagaagaagaagaagaagaagaagaagaagaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaakaadadxadyadyadyadyadzadAadBadCadCadCadCadDaadaakaadaaaaaaaadaaaaaaaaaaadaaaaaaadEadFadGaaCaaCadHadIadJadKadLadMadNadOadOadPadQadRabvadfadfawIadTadUaEwaEyaEbabvadYadZaeaaebaecabwaedaeeaefaegaFNaehaeiaejaekaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaakaadafgafgafgafgafgaadafhaadafgafgafgafgafgaadaakaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaagaagaagaagaagaagaagaagaagaagaagaagaagaagaagaagaagaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaakaadaemaemaemaemaemaadadAaadaemaemaemaemaemaadaakaadaadaaaaadaaaaaaaadaadaadaadaaiaenaeoaaiaepaeqaboaeraesaetaboaeuaeuaeuaboaevaewabvaexaexaeyaezaeAaeBabvaeCabvaeDabwaeEabwaeFabwaeGaeeaeHadraeIaeJaduaduaeKaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaakaadafJafKafKafKafKafLafMafNafOafOafOafOafPaadaakaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaagaagaagaagaagaagaagaagaagaagaagaagaagaagaagaagaagaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaadaaaabaaaaaaaaaaaadaaaaaaaadadAaaaaaaaaaaadaaaaaaaaaaaEaadaadaadaadaadaadaadaadaaaaadaaiaaiaeLaaiaaiaaiaaiaaiaeMaeMaeMaeMaeMaeMaeMaeNaeOabvaAbaviaeSawtaeTaDeabvaeVaeWaeXaeYaeZafaafbafcafdafeadrabWabWabWajCaDZaaaaaaaaaaaaaaaaaaaaaaaEaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaakaadagoagoagoagoagoaadafMaadagoagoagoagoagoaadaakaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaagaagaagaagaagaagaagaagaagaagaagaagaagaagaagaagaagaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaadaadaakaadacNacNacNacNacNaadafiaadacNacNacNacNacNaadaakaaaaaaaadaaaaaaaacaaaaaaaaaaaaaadaaaaaaaadaadaadaadafjafkafkafkaflaDXafkaeMafnafoafpasHatQafqafsaftafuafvafwafxafyafzafAafBafCafDafEafFafGafHaFdabWabWabWabWaadaakaadaakaakaaaaadaadaaEaakaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabaaaaaaaaaaaadaaaaaaaadagTaaaaaaaaaaadaaaaaaaaaaaEaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaagaagaagaagaagaagaagaagaagaagaagaagaagaagaagaagaagaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaakaadaemaemaemaemaemaadadAaadaemaemaemaemaemaadaakaadaadaaaaadaaaaaaaadaadaadaadaaiaenaeoaaiaepaeraboaeqaesaetaboaeuaeuaeuaboaevaewabvaexaexaeyaezaeAaeBabvaeCabvaeDabwaeEabwaeFabwaeGaeeaeHadraeIaeJaduaduaeKaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaakaadafJafKafKafKafKafLafMafNafOafOafOafOafPaadaakaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaagaagaagaagaagaagaagaagaagaagaagaagaagaagaagaagaagaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaadaaaabaaaaaaaaaaaadaaaaaaaadadAaaaaaaaaaaadaaaaaaaaaaaEaadaadaadaadaadaadaadaadaaaaadaaiaaiaeLaaiaaiaaiaaiaaiaeMaeMaeMaeMaeMaeMaeMaeNaeOabvaAbaviaeSawtaeTaDeabvaeVaeWaeXaeYaeZafaafbafcafdafeabWabWadradrajCaDZaaaaaaaaaaaaaaaaaaaaaaaEaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaakaadagoagoagoagoagoaadafMaadagoagoagoagoagoaadaakaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaagaagaagaagaagaagaagaagaagaagaagaagaagaagaagaagaagaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaadaadaakaadacNacNacNacNacNaadafiaadacNacNacNacNacNaadaakaaaaaaaadaaaaaaaacaaaaaaaaaaaaaadaaaaaaaadaadaadaadafjafkafkafkaflaDXafkaeMafnafoafpasHatQafqafsaftafuafvafwafxafyafzafAafBafCafDafEafFafGafHaFdadradradradraadaakaadaakaakaaaaadaadaaEaakaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabaaaaaaaaaaaadaaaaaaaadagTaaaaaaaaaaadaaaaaaaaaaaEaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaagaagaagaagaagaagaagaagaagaagaagaagaagaagaagaagaagaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaafaafaafaafaaaaafaafaafaafaafaaaaafaafaafaafaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaadaaaaakaadadxadyadyadyadyadzadAadBadCadCadCadCadDaadaakaaaaaaaadaaaaaaaaaaaaaaaaaaaaaaaaaaaaadaadaaaaadabWafQauTauPauQauRauSafkaeMafnafWafXafYafZagaagaafZagbagcagdageagfaggaggaggaghagiagjagkadradragladsadsagmaveaadaaaaaaaaaaaaaadaadaaaaaaaaEaadaaaaaaaaaaaaaaaaaaaaaaaaaacaaaaaaaaaaaaaaaaaaaaaaaaaakaadafgafgafgafgafgaadafMaadafgafgafgafgafgaadaakaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaagaagaagaagaagaagaagaagaagaagaagaagaagaagaagaagaagaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaafaafaafaafaaaaafaafaafaafaafaaaaafaafaafaafaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaadaaaaakaadaemaemaemaemaemaadadAaadaemaemaemaemaemaadaakaaaaaaaadaaaaaaaaeaadaadaadaadaadaadabWabWagpabWabWagqavDavBavCavkavtafkaeMafnagwagxagyagzagAagBafqagCabvagDagEagFagGagHagIagJagKagLagMagNaDtagPagOaDOahoajeajeaaaaaaaaaaaaaadaadaadaaaaaaaaaaaEaadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaakaadafJafKafKafKafKafLafMafNafOafOafOafOafPaadaakaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaagaagaagaagaagaagaagaagaagaagaagaagaagaagaagaagaagaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaafaafaafaafaaaaaaaaaaaaaaaaaaaaaaafaafaafaafaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaadaaaabaaaaaaaaaaaadaaaaaaaaaadAaaaaaaaaaaadaaaaaaaaaabaaaaaaaaadaadaadaadaadaaeaaaabWabWagpabWawXawZaEVawsawJasDahaafQahbauMaeMaeMahdaheabvahfahgahhahiahjahkabvacKahlacKacKacKafQafQabWabWabWabWadsagladsabWaCMaCGabWaaaaaaabWabWapSabWabWaaaaaaaaaaaaaadaaaaakaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadaakaadagoagoagoagoagoaadafMaadagoagoagoagoagoaadaakaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaagaagaagaagaagaaaaagaagaagaagaagaaaaagaagaagaagaagaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadaadaaaaakaadacNacNacNacNacNaadadAaadacNacNacNacNacNaadaakaaaaaaaadaaaaaaaaaaaaaaeaadabWahpahqadraguadsadsabWahtahuahvafQaALaCcahyahzahAahBahCahCahCahCahCahCahCahCahDahEahFahGahHaeMahIabWahJahKahLahLaCKaCHabWaDiaCYabWaadabWabWadsakbakcabWabWaaaaaaabWabWaiYabWaaaaaaaitaiuaivaaaaaaaaaaaaaaaaaaaakaaEaaEaaaaaaaaaaadaaaaaaaaaafMaaaaaaaaaaadaaaaaaaaaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaagaagaagaagaagaaaaagaagaagaagaagaaaaagaagaagaagaagaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadaadaadaakaadadxadyadyadyadyadzadAadBadCadCadCadCadDaadaakaaaaaaaadaaaaaaaaaaaaaadaaaabWahpaFNahQaTRahRahTahTaExaExaExahXahYahZaiaaibaicaidaieaifaifaigaieaifaihaifaiiaijaifaikailaimainabWadsaglaioaipaipaTZaCbahsaAIabWaadabWaAQadsadsadsaUjabWaUpaadabWajBaORabWaaaaiZajaajbajaajcaaaaaaaaaaaaaaEaadaaaaakaadafgafgafgafgafgaadafMaadafgafgafgafgafgaadaakaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaagaagaagaagaagaaaaaaaaaaaaaaaaaaaaaaagaagaagaagaagaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadaaaaaaaaEaaaaemaemaemaemaemaadadAaadaemaemaemaemaemaaaaakaaaaadaadaadaaeaaeaadaadaaaabWaiwaixaiyaRIaizaiAaiBainaiCainaiDaiEaiFaiGaiHaiIaiJaiGaiKaiIaiFaiGaiLaiMaiNaiOaiPaiQaiRaEBaeMainabWadsaglaiTaiUaiVaysabWaCAaCtabWabWabWadsadsadsadsadsabWabWabWabWabWaiYabWaaaajCajaajDajaajCaaaaaaaaaaaaaaaaaaaaaaakaadafJafKafKafKafKafLafMafNafOafOafOafOafPaadaakaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadaaaaaaaakaaaaadaaaaadaadaaaaaaajdaaaaaaaadaaaaaaaadaaaaaEaaaaaaaaaaadaadajeajeajeabWabWadradradraCeaizainajgajhajiainafQajjavKajlaeMajmavJajoaeMajpawPajraeMaxPajpavTaeMajpavSajraeMajvabWalYaglaiTajwanPaysabWazqabWabWajwadsadsadsadsadsadsadsadsadsakdabWaORabWabWabWakeakfakgabWaaaaaaaaEaaEaaaaaaaaaaakaaaagoagoagoagoagoaadafMaadagoagoagoagoagoaaaaaEaadaadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaakaakaakaaaaaaaadaaaajEajFajEaadaadaadaadaakaakaakaaaaaaaaaajGajeajeajHajIajJaJYajJaNAajKaNzajNajOajgajPajiainafQajQajRajSaeMajTajRajSaeMajUajRajSaeMajVajWajXaeMajYajRajZaeMainabWadsagladradradrazBalxaOsaOuazLazLazLazLazLazLazLazLazLazLazLazLazLazLazLazYadradsaORadsabWaaaaaaaakaaaaaaaaaaaaaaaaaaaadaaaaadaadaaaaaaafMaaaaaaaadaaaaaaaadaaaaakaaaaadaadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadaadaadaadaaaaaaaaaakhaQJakhaadaaaaaaaadaaaaaaaadaaaaaaaadaaeakjakkaadaadabWabWabWaklahmagXadrakoainainakpainafQakqajRakraeMakqajRaksaeMakqajRaktaeMajVajWakuaeMakvajRakqaeMainakwaQLagladrakxadragRakladradradradradradraxWaxVaxnadradradradradradradradsaxUadrakBaRGakCajAaadaaaaaEaaaaaaaaaaadaakaaEaakaaaaaaaadaaaaaaafMaaaaadaadaadaadaakaaaaakaaaaaaaadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadaaaaaaakEakFakGakHakIaadaaaaadaaaaaaaaaaaaaaaaaaaaeajGajeaaeaadaaeakJabWadraguadradraeMaeMaeMaeMaeMafQakLakMakNafQakLakMakNafQakLakMakNafQakOakPakQafQakLakMakNaeMainabWadsagladradradradradradraadaadaadaadaadaadaadaadaadaadaadaadaadaadaltadsaxUadradrakRabWabWaadaadaadaadaadaadaadaaaaaaaadaaaaaaaadaaaaaaafMaaaaaaaaaaaaaaaaadaaaaaaaaaaaaaadaadaadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadaadaadakTakUaFRakWakTaadaaaaadaaaaaaaaaaaaaaaaaaaadaaaakXaaeaaeaaeaaeakYakZaguadralaaeMalbaEAaldaEzalfalgalgalgalgalgalhalgalgalhalgalgalialjalkallalmalnalnalnaEtajvabWadsagladralpalqalralsadraadaaaaadaaaaaaaadaaaaadaaaaaaaaaaaaaaaaadamcaluaxUadraGJalwaEqalyalzalAalBalAalAalCaadaaaaaaaaaaaaaaaaaaaaaaaaamkaaaaaaaadaaaaaaaadaaaaaaaaaaaaaaaaadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaalDapMalGapXalGalHalDakTaqaalJareakTaadaaaaadaaaaaaaaaaadaadaadaadaadalLaaeaaeaaeaadalManPaguadradraeMalNalOalPaqValRalQalQalQalQalSalRalQalQalRalTalSalQalUalValWalQalQalQalQanaainabWaklagladralZamaadsadsaltaadaaaaadaaaaaaaaaaaaaadaaaaaaaadaadaadaadadralYasAakmasbajMajzamhamiamiamiamiamiamjaadaaaaaaaaaaaaaaaaadaaaamXamYamXaaaaadaaaaaaaadaaaaadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaapKapLakSammamnarFalDakTamoarHamqakTaadaadaadaadaadaadaadaaaaadaaaaadamraadaadaaeaaeajeadsaisaiXarEajxajfajyaqgaqAamxamuamyamuamvamzamxamuamuamxamAamBapDamDamEamFamGamHamGamGamIainabWamJariamKaraamaamLamMamNaadaaaaaaaaaaaaaaaaaaaadaaaaaaaaaaadanyanyamPamQamRamRaqdagYahOamUamiamiamiamiamiamVamWaadaadaadaaaaaaaadaadanDaqRanDaadaadaaaaaaaaaaaaaadaadaaaaaaaadaaaaadaadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaEaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaalDalDanQammamnalKalDalDakTaleanbakTaadaaaaadaaaaaaaaaaaaaaaaaaaaaaaeajGaaeaaeaaeaaeajeahmagXairagRandanealXangamtanianeaeManjapAanlanmannafQaoZamlapwanranranranranranranranranransabWajwagladramJantakbamJabWaadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadaadanuaqeanwanxanyanzamfahSanBamiamiamiamiamianCamWamWamWaadaaaaaaaadaoBaoCamYaoDaoEaadaaaaaaaaaaaaaadaaaaaaaaaaadaaaaaaaadaadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaalDamZanGanHanIanJalDaoYapvaWoaadaaaaaaaadaaaaaaaaaaaaaadaaaaaaaaaaaaaadaaeaaeabWabWaguadradradrandanManNanOaloakAalEaeManSanTanUanVanWanvajWanYanKaoaaobaocaodaoeaofaogaohaoiaojadranXagladraolaomalcaokadraadaadaadaadaaaaaaaaaaaaaaaaaaaadaadaadaopapxaoraosaonaouameahPaowamiamiamiamiamiaoxaoyaozaoAaadaaaaaaaadaptapuaoIaotaptaadaaaaaaaadaaaaadaaaaadaadaadaadaadaadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadaadaadaaaaaaaaaaaaaaaaadaaaaaaaaaaadaaaaadalDamZaoFaeUaoHanEaoJanFaoKaWoaadaadaadaadaaaaaaaaaaadaaaaaaaadaadaadaadaadaadaiyaoLaguadraoMaoNandaoOaoPaoQaoRaoSaoTaeMaoUaoVaoWaoXanqanpapaapbapcapdapeapeapfapgaphapiapjapkapladramJagladradradradradradraadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadanyanyapmamRamRamRapnagYahOappamiamiamiamiamiappapqaprapsaadaaaaaaaadaptanoaqbafmaptaadaaaaaaaadaaaaadaaaaaaaaaaadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadaWoaWoafUaWoaadaaaaadaadaadaadaadaWoafUaWoalDamSaoFapyalHaoFaoFbHMaZmaWoaWoaWoaadaaaaaaaaaaadaaeaadaaaaaaaaaaaaaadaadaaeabWaixambapzampajwandapBapCakzapEapFapGaeMapHapIaiRapJankafQamCamlalIaoaapNaohapOaohapPaohapQaohapRadrahKahNajKajKalxahMalvaiYaadaadaaaaaaaaaaaaaaaaaaaaaaadaadaadaadanualFapTapUapVapWagYahnapYamiamiamiamiamiapYapZaprapsaadaadaadaadaptaqZakVarbaptaadaadaadaadaadaadaadaadaadaadaadarNarNarNaadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaWoajtaiSaWoanLamsamsamsamsamsajsaWoajuajtalDamZaqjaqkaqkaqlaqmajqaZmajnbMbaWoaadaadaadaadaadaaeaadaaaaadaaaaadaadaaeaaeabWahmagXadradsaqpandaqqaqrahWahWaffaqvaeMaqwaqxakDakaagtadVaqCaqDagUaoaaqFaqGaqHaohaqIaohaqJaqKakiadraglaqLaqLaqLaqMaqLaqLaqLaadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadaadaopaoqaqOaqOaiqaqQagZagVaqSamiamiamiamiamiaqTaqUadXaqWaqXarNcgaarNaptaptarQarRaptarNarNarNarNarNarNarNcgaarNarNarNarNadjarNaadaaaaaaaacaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadaaaaadaadaaaaaaaaaaaaaadaadafUaiWaeRafrafRbrTbrTbrTbrTbrTahcagnafTajLalDaoFarjaoFarkaoFaoFagraZmbrTahVaWoaWoaWoaWoajkahwahwahwahwahwahwahwahxabWaiyabWaguadradradradrandandandandandandandafQafQafQafQanjaczafQaqCarvarwaoaaoharxadSarzarAarzarBarCarDadragQaqLafIafSarGagWagSaqLaadaaaaaaaaaaaaaadaaaaaaaaaaaaaaaaadanyanyapmamRamRamRarIagYagsarKamiamiamiamiamiarLarMamWamWaadarNaeParOahUaQsahraQsaQsaQsaQsaQsaQsaQsaQsaQsaQsaQsaQsadWacMadWacMaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadaadaaeaaeaadaadaaeaadaaaaadaadaadaWoaWoasVaWoaWoasWasXasXasXasXasXasYaWoaWoasZaWobMeaDnaDbbrTaspbHMagraZmbHMbHMaWoaCLaDaaVhaBXasaasaasaasaasaasaasaascasaasaaDSauxateasfadrasgauCasiashashashashasjaskasoasnasmashashasiasqasrassaoaastasuasuasvaswastasuasxasyadraszaqLaDraDsasBaDqatAasEaadaaaaadaaaaaaaadaaaaaaaadaaaaadaadaadanuatRanwasFanyasGameauNasIamiamiamiamiamiasJasKaadaadaadarNatSasNasNaDpasOasPasPasPasPasPasPasPasPasPaDUasPasPasPasPasPasQaadaadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadaadaaeaaeaaeaaeaaeaCVaaeaadaadaWoaWoaWoaBMaBPaWoaadaadaaaaaaaaaaaaaaaaadaadafUaBIaBJarXarXarXagvbrTbHMarSarZbPVarYaVfarUagraKBataatbatbatbatbatbatbatbatcadratdaDuaAGagOaADamdatfatgathatiatiatiatiatjaDoatlatmatmatmatmatnatoatpatqaoaaBWatsattattatuattattatvatuatuaEoaqLaBTaBUasBaBSaunauoaadaadaadaadaadaadaadaaaaadaadatDaadatDaopaseaoraosaBRatFameauqatHamiamiamiamiamiatIarNarNarNarNarNbLKarNasPaupasPasPaDQasPatLatMatNatMatOasPasPasPatLatMatOatPasPaadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadaadaaeaadaaeaBVaaeaaeaaeaaeaaeaaeaCDaAxaCDafRaqhaWoaWoaaaaaaaaaaaaaaaaaaaaaaadaWoaWoaWoaKBaKBbHMbxMbrTbrTbrTaQWarSarTbrTbrTagraKBaaaaadaaaaadaaaaadaaaaadaaaaYhaYhaYhatwaYhaYhaYhayIatWatXatXatXatXatXatXatXatXatXatXatXatXabWatYatZauaaChaucaudaueaueaojaueaueaufaugauhauiaujaAyaAzarGaAAaABaqLaadaadanyaadaadanyaadaadaadanyatDatDanyanyanyapmamRamRarIagYatyaurausausausausausautatSasNasNasNasNaqcarNaCJatKaCXauyaACauyauAauBatTauBauEatMauFatMauGauBatTatPauHaadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadaaeaaeaaeaaeaaeaaeaadaaeaaeaaeaadaWoaWoaWoarnaqhbrTaWoaaaaaaauIauJauKauJauLaaaaadaadaWoaARaKBbtwazpbKtbKtbKtbKxarlazobHMaroarmaKBaadavUavUavUavUavUavUavUaadaYhaBtaCvaCwaBvaBsaYhauZavaaBravcavcavcavcavcavcavcavcavcavdatXaBuavfavgavhaBQaojaojaojavjarJavlarPavnavoavpavqaqLazMarGaAuaAwazcanyawzawAanyawzawAanyanyawzawAanyanyatDatDanyavvavwavxapVavyameavzavAasUasNasNasNasNasNaqcarNarNarNarNarNarNaslasLavEavFasPasPaadaadauBavHauBauBauBauBauBavIauBauBarqaadaadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadaadaaeaaeaaeaaeaaeaaeawHaaeaadaadaadaadaWobHMaqhardafUaadaaaavLavMavNavOavLavPavQavRabWadradradraqfadradradradradraBqadradrakKadraaaavUavVavWavXavYavZavUaaaaYhawuaZFaAaaAnawFaYhatVatWawGatXatXaweawfawgawhawiawjawkawlatXazuavfawnarWaoaazkaziaqNaoaaoaaoaaoaazvaAvazAanyaqLawvaznawvaqLazcaxKaxLaxManyarcaxLaxOanyaxNaxLaqYanyawzawAanyawBamfawCanyawDaukazaavAbLKarNasPasPasPasPasPasPaxyaxzayQayXaxRawKaquawMawNawOasPargaadaadaaaaaaaaaaadaadaaaaaaaadaaaaadaadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadaadaadaaeaaeawmaaeaaeaaeaaeaadaaaaadaWobtwaqhbrTaWoaadaaaauKawQawRawQauKawSawTawUawVawWazFawYanharuawVaxaaxbaxcaxdaxeadrakKadraadavUaxfaxgaxhaxiaxjavUaadaYhawdanfaxQaZFartaYhancaxoavmatXatXaxqaxraxsaxtaxuaxvaxwaxxavdawqavfawnawoaoaaoaaoaaoaaoaawraxAaxBaxCaxDaxEanyayZayWayYazmaygaxJaryazeazfanyaqoazeazganyazdazeazhanyaovazXanyanyaxHanyanyaxTameaxIapoaxSarNanAaxZanZayaaxYauHaycaycaydayeayfayeaooayhayiayjaykaaaaaaaadaaaaaaaaaaadaaaaaaaaaaadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadaaeaadaaeaadaadaaeaaeaadaadaWoaWobMeaqhaWoaWoaaaaaaavLawQawQawQaylaymaynaynayoaypayqayramgaqyaqEaqzaywayxayyayzadrakKadraaaavUayAayBayCaxiayDavUaaaaYhasSamwaxQaybatkaYhayIaxXatXatXatXayJayKayLayLayLayMayNatXawlatXaytatZayPatxayRaySayRayRayRayTapeayUayVatGaubauuauOavbavravsaxJanyavuaxJanyanyawwaxJanyanyawxaxJanyayEayvazjauvazlauzaxFawEawyaxGarNarNarNaDvazrazsaztayGaqPazwazxazyazzamOaDxamTazCayiayjazDaaaaadaadaadaadaadaadaadaadaadaadaadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadaaeaaeaaeaaEaaaaadaadaadaWoaWobHMbHMaqhafUaaaaaaaaaauKawRawRawRauKazGazHazIazJaypaynazKakyarfawVazNazOazPazQazRadrakKadraadazSazTazUazVazWauwavUaadaYhaqsaqtaxQaqnanRaYhaAdatWatXatXaAeaAfaAgayLaAhayLaAiaAjaAkawlatXaAlawnaAmarsaAoaApaAoaAqaAoaAraAraAsaAtaAraqBarhasCaBKasTatrarpbfuaBOaBNaBKarraBOaBNaBKaBLaBOaBNaBKbfZatBatzatEatCaknaukaulameaumawpaAHarNauDaAJaoGawMaqiazDaAMaANaAOaAPaLfasRaASaATayiayjaAUaAVaadaAWaaaaaaaaaaaaaAWaaaaaaaAWaadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadaaEaAYaAZaAYaakaaaaadaaaaadaWoafVarnbGxaqhaWoaWoaadaaaavLaBaaBbaBcavLaBdavQavRaBeaBfaynaBgakyaBhawVaBiaBjaBkaBlbtbadrakKadraaaaBnavUaBoaBpaBoavUavUaaaaYhbggbgHbgjbgcbgfaYhayIbfDatXatXatXaBwaBxaByaBzaBAaBxaBBatXawlatXbsYbsZbsXaoaaoaaBDaBEaoaaBFaBGaBGbeTaBGaBHanybFibEBamebDMbDLameamebDKameameaAEazbameameamebDKameameaAFaxTavGbGwbGsbGsavvavGameaumbFjbfjarNaBZaAJaAKawMaCabtabfzaCdaAObfvasPasPaCfasPasPaCgbeQaCiaadaaaaaaaaaaaaaaaaCjaaaaaaaaaaadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadaAXaAYbJAaAYaadaadaadaadaadaWobrTbrTbrTarVbaQaWoaaaaaaaCmauJaCnauJaCoaaaaadaadaCpaCqaCraCsbgGaCuawVbglbgmaCxaCyaCzadrbIUadraaabbxaaabgobgnbgoaaaaadaaaaYhbhCbgqbgpbhsbhFaYhayIatWaEeatXatXaCNaCOaCPaCQaCRaCSaCTatXawlaCUavfawnawobgTaCWaCWaCWaCWaCWaCWaCWaCZaCZaCZanybhybhzaDcbqhbpRaDcaDfbghaDgaDcbGCaDhaDcbhoaDcbgdaDjaDjaDkaDlaDmbIjbIybIebIibHWbIdbHVbgiaBYarNbgFaDwbgDbgkbgeasPaDAaDBaAOaDCasPaDDaDEaDFbqvaycaDHazDaadaaaaaaaadaadaadaadaadaaaaaaaadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadaAXaAYaAZaAYaAYaDIaDJaDKaAYaWoaKBaKBaKBbrTaqhaWoaadaaaaaaaaaaaaaaaaaaaaaaadaadaDLaDMaDNbjoaDPbjpawVbihaFeaFfaFfaFfadrbheadrbdMbhJbhIbhLbhKbhTbhSbjnbjmaYhblabhPbhObhGbkUaYhayIatWaEnaEfaEgaEhaEiaweaEjaweaEkaElavcaEmaEnavfawnawobgTaCWbkTaEpbtxaEraEsbkvaCZaEuaEvaCZanyanyanyaCZbtraCZaFJbaabaabaabhDbaabaabhEbaabaaaEDaEDbtqbiobjwaEDaEDaEDaEDbhAasPasPasPasPasPasPbtmbgUbtpasPasPbgWaDBaAOaENaEOaEPaEQaoGaERaESawMazDaadaAWaadaadaaeaaeaaeaadaETaaaaadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadaAYaAYaEUbJJaEWaCkaCkaCkaEXbJFaEYaEZaKBaKBaqhaWoaadaFaaFaaFaaFaaFaaFaaFaaaaaadaBeawVawVblgbmIawVawVbmLblmblHblVbmzbkKbhhbkfbjDbjBbjAbbcbjzbaXbkRbkPbkNaYhaYhbkMbkLaYhaYhaYhbkSavaavcaFqavcavcavcavcaFravcavcavcavcaEmaFsayOatZaFtaFuaFuaFvaFwaFwaFxaFyaFzaCZaFAaFBaFCaFDbjyaFFbtMbtDbubaFJbjsbjrbjubjtbaabjvbjxaZCbaaaEDbJCaFSaFTaFUaFVbjqaEDaEDbJBasPaFYaFZaGaasPaGbaGcbhgaGeaGfasPaGgaGhaAOaGiasPbhfaGkaGlaGmaGnaGoazDaadaaaaaaaadaGpaGqaaeaadaaaaaaaadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacaaaaaaaaaaaaaaaaaaaaaaaaaaaaadaAYaEUaEUaGraCkaCkaCkaCkaCkaCkaGsaEUaGtaKBaqhafUaadaFaaFaaFaaFaaFaaFaaFaaaaaadaGubaWbsebaVbaybrGbbUbaxbaTbaUbaRbaSbbjbbibskbbkbbnbbmbslbbrbbbbbabbdbbcbbcbdtbbhbdvbsjbcPbcVbddaGTaGUaLVaGWaGXaGYaGZaGYaHaaGYaHbaGWaJLaFsavfawnawoaCWaHdaHeaHeaHeaHeaHeaZXaCZaZMaHhaHiaHjaHkaHlbrCbrAaHoaHpaZHaZHaZJaZIaZHaZGaZDaZCbaaaHvaHwaHxaHyaHzaHAaHBaHCaEDatJasPaHDaHEaHFaHGaHHaDBbbQbbPbbLaHJaHKaHLaHMaATaHNaHOaHPaHQaHRaHSawMazDaadaaaaHTaadaaeaaeaaeaadaadaAWaadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadaAYaEUaCkaCkaCkaCkaCkaCkaCkaCkaEUaEUaEUbstbCmaWoaaaaFaaFaaFaaFaaFaaFaaFaaHVaHWaHXaHYaHZbcKbcGaIcaIdaIebcHbcIbdzaZpadrbcRadradradrbGkaKBbsubcMbcNbcMbcLbcQbdDbcObcMbdmbcMbcTbcYaxoaFsaPpaIraIsaGYaItaGYaItaGYaIuaIraJLaFsayOaIvbsraCWbdFaIyaIyaIyaIyaIybdHaCZbdLaIBaICaIDaIEaIFaIFaIGaIHaFJbctbbHbcEbcDbaabaabbDbaabaaaINaIOaIPaIQaIRaISaITbcFaEDatJasPaIVaHFaHFaHGaHHaIWaIXaIYaIZaJaaJbaJcaAOaJdasPaJeaJfaDxbeqaJhaDyazDaadaaaaaaaadaadaadaadaadaaaaaaaadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadaAYaJiaCkaCkaCkaCkaJjaCkaCkaCkaCkaEUaJkaKBaqhaWoaaaaFaaFaaFaaFaaFaaFaaFaaJlaJmaJlaHYaJnaJoaJpaJqaJraJsbevbewbetbeubesbDJagOagOagObDmaKBbdMbdMbdMbdMaJzaJzbeJaJzaJzaJzaJzaJzbdJaJBaFsaPSaJDaJEaJFaJGaJHaJGaJIaJJaJKaPGaFsaJMawnawoaCWaIxaJOaJOaJOaJOaJObeOaCZbeIaJRaJSaJTaIEaJUaIFaJVaIHaFJbaabaabdxbdwbDfbcEbcEbdAbaaaJZaIOaKaaKbaKcaKdaKeaKfaEDatJasPaKgaKgaKhasPbeyaDBaHRbdGaKkaKlbeAaAKaAObeBasPasPaCfasPasPaCgbdIaCiaKpaaaaaaaaaaadaaaaaaaaaaaaaaaaadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadaKqaCkaCkaKraCkaCkaCkaCkaCkaCkaCkaCkaKBaKBaqhaWoaadaFaaFaaFaaFaaFaaFaaFaaKsaKtaKsaKuaJnaKvaKvaKwaKvaIebeKbeLbftaKAadradradradradraQWaKBaaaaaaaadaaaaJzaKCbfsaKEbfraKGaKHaJzaKIaxXaFsaPpaKJaKKaGYaJGaJGaJGaGYaKLaFsaJLaFsbezawnawobswaIxaIyaIybsGaIyaIyaKMaCZaNuaJRaIFaKObgbbsUaKRaJVaKSaFJbctbeCbeEbeDbeGbeFbeHbcEbexaLaaLbaKaaKbaKcaKdaKeaLcaEDatJasPaKgaKgaKhasPbfebfobbPbeMbfpaKlaHRaAKaAObsvaLfbfqaLhaATayiayjaAUaLiaadaAWaaaaaaaAWaaaaaaaaaaaaaAWaadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaLjaLkaLlaadaLmaCkaCkaCkaCkaCkaCkaLnaCkaCkaCkaEXaKBaUDaqhaWoaadaFaaFaaFaaFaaFaaFaaFaaLoaHWaLpaLqaJnaLraKuaLsaLtaLubBAbBIbBkbBraLyaLzbBJaLBadraQWaLCaadbBLbpQbCdbBPaLHbfsaLIaLJaLKbukaLMaLNaLOaFsaPpaFsaFsaLPaLQaLRaGYaLSaLTaLUboSaLTaLWaLXaLYbAVaIxaJOaJOaJOaJOaJOaLZbANaMbaMcaMdaMeaMfbrbaMhaMibDWaMkbDBbDBbDlbdwbaabdxbDdbCCbaaaINaIOaMqaMraMsaMtaKeaMuaEDatJasPaKgaKhaKhasPbsgbsdbsibshbuuaMzaMAbALaMCaMDaMDaMDaMEaMFayiaMGazDaaaaadaadaadaadaadaadaadaadaadaadaadaaaaadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaiZaMIaMJaMIajcaAYaCkaCkaCkaCkaCkaCkaCkaCkaCkaCkaMMaKBbwqbwraWoaadaFaaFaaFaaFaaFaaFaaFaaKsaMOaKsaKuaJnaKvaKvaKwaKvaIebcHbEobEsaMRbEFaMTaMUaMVadraQWaMWaaabFZbFYbFKbFFaNbbfsaNcaNdaNebEzaJzaJAaGTaNgaNhaNiaLUaNjaNkaNlaNkaLTaNmaNnaNoaNpavfawnaAmbBbaNraIyaIyaIyaIyaIyaNsaCZaNuaJRaNvaNwaNxaKQaKRaJVaNyaCZbHhbGDbcEbsCbDBbGDbaabHbbaaaNDaNEaNFaNGaNHaNIaNJaNKaEDatJarNaNLaNLaNLaNLbBdbuTauHbuFbtHaNQaNRbuUaNTaNUaNVaNWaNXayhayiayjaNYaaaaaaaadaaaaaaaaaaaaaadaaaaaaaNZaaaaaaaadaadaadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaajCaMIaObaMIajCaAYaJiaEUaCkaCkaCkaCkaCkaCkaCkaEUaOcaKBaqhbrTaWoaadaFaaFaaFaaFaaFaaFaaFaaOdaOeaOdaOfaJnaKvaSpaSqaSraSsbKgaIebJraKAbHxaOnaOobHEadraQWaMWaadbFZbIRbITbISaOtbveaLIbIGaLIbvPaJzbJoaOyaNnbsJaNpaOAaOBaLUaOCaODaNmaOEaNnaadaNnavfawnawoaCWbvNaOHaOIaOIaOJaOKbvLaCZbvzaJRaONaOOaKRaOPaIFaJVaOQaCZbaabaabKkbKjbaabKmbaabKlbaaaEDaOVaOWaOXaOYaOZaPaaEDaEDatJarNaPbaPcaPdaPebBhbuVasPasPasPaPhaPibwvaPkbwtasPaPmaPnawMawNaPoasPbtCaadaadaaaaaaaaaaaaaadaaaaaaaadaadaadaadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadaMLaPqaPraPsaAYaAYaCkaEUaEUaEUaEUaCkaCkaCkaCkaEUaEUaKBarVagvafUaadaFaaFaaFaaFaaFaaFaaFaaPtaHWaPuaPvaJnaKvaKvaKwaKvaIebKgaIebBOaKAbKsaPDaPEaPFaKBbtGaMWaaabFZbKwbKvbKuaPKbfsaPMaPNaPOaLIaJzbKravaaPRbtFaPTaPUaPVaPWaPXaPYaPZaQaaPTaadaNnaQbawnaQcaCWaQdaQeaQfaQfaQgaNsaQhaCZbwJaQjaQkaQlbCJbCkbLDaMiaQobwubjubLubcEbHmbaabaabaabaabaaaEDaEDaQraEDaEDaEDaEDaEDaQsatJarNaNLaQtaQubzxbzfbzeasPbxRbzuaQBbwabzjaQEbxQasPbxPaQHavEasPasPasPaadaadauBaQIauBauBauBauBauBauBauBauBbtJaadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadaMLaQKbzWaQMbmNaEUbueaEUaQPaEXaEXaEUaEUaEUbuwaQRbueaKBasdbKdaWoaadaFaaFaaFaaFaaFaaFaaFaaaaaaabpMaPvaQTaJoaJpbnIaSrbmXbopbozbKKaQVaQVaQVaQVaQVaKBaQWaQXaadbpTbpQbpVbpUaRbbhjbhMbhxbikaLIaJzaJAaGTaRgaadaRhaRiaRjbqDbqEbqXaRnaRoaRhaadaNnavfawnawoaCWaRpaRqaRrbliaIxaNsaQhaCZblhbpWaRwaRxbpXbuHaRybuGaRAaCZbqkblJbuPbqcbqbbKLaRHasMasMasMasMbLbasMaRJasMbLaasMasMbimaRLaNLaRMaRNaROaRPaRQasPbvcaRTaRUblRbinbipaRYasPbiqbqRbqNauybLcauyaScauBbirauBatLatMaSfatMatOauBbiratPauHaadaadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadaSgaMLaMLaShaSiaQNaQNaQNbvfaQNblSblSblSblSaQNaQNbvnaQNaQNaQNaSoaMLaadaFaaFaaFaaFaaFaaFaaFaaaaaadaCEbsfaJnaKvaKvaKwaKvaIeaJuaIebvgaQVbmObmfaWcaSyaKBaQWaKBaaaaaaaadaaaaJzaSzbisaSBaJzaJzaJzaJzaJAatWaSCaNgaNgaNgaNgaSDaSEaSFaNgaNgaNgaNgaRgbwMbwRbvsaCWaCWaCWaCWaCWaSJaSKaSLaCZaRubitaRwaSNbsRbvraCZaCZaCZaCZbaabaabaabaabaaaQsaSQaQsaSRaUobwTaQsaQsbiBarNbivarNarNbnBaSZaNLaTaaTbaTcaTdaTeasPaTfaTgbwSaPiaTibiuaTkaTlaTlaTlaTlaTmbteasPaTnatMaToatMauGasPasPasPaTnatMauGatPasPaadaaaaaaaaaaaaaacaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadaadaTpbtybtfbthbtibtjaTsaTtaTsaTsaTsaTsaTuaTsaTvaTwaTxaTyaTzaMLaadaaaaFaaFaaFaaFaaFaaaaaaaaadaCEbuKaJnaKvaKvaKwaKvaIeaTAbumbujaTDaTEaTFaTGaTHaKBaQWaKBaKBaKBaKBaKBaKBaKBaKBaKBaJzbuhbuiaJzaTJaTKaTLaTMaTNbugaTLaTPaTQaTPaTLbLjbLkaTTaTUaTVaTWaTXbxBbuMbLGbxSaCWbswbuObswaCZaCZaCZaCZbAybzZaCZaCZbwybvQbmyaUhbLIaUiaUibNBaUkaUlaUmaUnaUobOoaUqaUrbiCbiEbjCbjRbjXbkeaUwaNLbwVbwYbwZbxuaUBasPblkbmHbmHaUEasPaPkbkqaTlbuLaUJaUKaTmasPasPasPasPasPasPasPasPaDUasPasPasPasPasPasQaadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadaULbwBaUMaUNaUMaUMaUMaUMaUOaQOaQOaUPaUMaUMaUMaUOaQOaUQaURaMLaadaadaadaaaaaaaaaaaaaaaaadaadaCEbxlaJnaKvaKvbxaaGDbxgaGDaUWbqmbqqbqlbqjbqdaVcaKBbPBbqeboZboZboZboZboZboZbNHboYboeaVjbwXbmAaVmaVnaVoaVpaVkaVkbwIaVraVsaVraVtaVkaVuaVvaVwaVxaVyaVzaVAaVBaVCaVDaVEaVDaVFaVDaVGaVDaVHbzqbqYbzrbtcbzYbzYbATaVLaVMaVMaVMaVMaVNaVMaVMavAavAavAavAaVOavAarNbtdbtsbufarNbttarNaNLbqTbAzbqMbAzaNLasPasPasPasPasPbqibsbbqIaWbbeSaWdaWeaTmbcebcebcebcebcebcebcebcebcebcebcebPSaMjbPRaMjaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaSgaAXaMLaWgaMLaMLaMLaTpaWhaTpaWiaQOaQOaWjaTpaWhaTpaWkaWlaWmaWnaWoaWoaWoaWoaWpaWqaWraWoaWoaWoaWoaCEaMmaOiaKvaKvaIgaKvaOkaOpaOmaOlaQVaQVaQVaQVaWzaKBaOhaKBaKBatUatUatUatUatUatUatUaWCaWDaOgaWEaWFaWGaWHaWIaWEaWEaWJaWKaWLaWKaWKaWKaWMaWNaWOaWPaWQaWRaWSaWTaWKaWKaWKaWKaWUaWKaWKaWKaWVaWKaWWaWKaWXaWKaWKaWYaVZaVMaXaaXbaSnaXdaOaaVMaXfaXgavAaXhbjcavAarNarNarNarNarNbhvaXjaXkaXlaXmaMgaSjaYZaSmaNMaRlaVPaRmaXvaVlaXxaXyaXzaXAaXBaTmbceaTmaTmaTmaTmaTmaTmaTmaNCaTmaTmaTmaTmbhuaTmaadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadaadaadaaaaNBaXDaXEbeNaXFbhtaXHaVgaXIaXFbeNaXJaXKaMLaXLaXMaXNanFaXOaXOaXOaXOaXOaXOaXPbffaXRaZpaJWaKzaJXaLdaKPaSeaNqaHgaLeaLFaHgaJyaJNaHgaMnaMNaMPaMHaMKatUauUauVauWauXauYatUaYoaMSaUCaUsaUsaUgaUHaUGaUFaUsaVeaVdaUgaUsaUsaUsaUsaUsaUgaUgaYyaSYaSYaSYaSYaSYaSYaSYaSYaSYaSXaTOaTjaSYaUtaSXaUuaSYaTOaYGaRkaVMaYJaYKaYJaYJaYLaVMaXfaYMaYNaYOaXiavAaSaaRSaRFavAaYSaSdaTmaSbaRZaRXaRWaYXaYYaSWaSWaSWaSWaSWaSWaSUaSVaSxaSAaSkaZfaTmaMlaTmaadaadaadaadaadaaaaadaadaadaaaaTmaMjaTmaadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacaaaaaaaadaaaaaaaaaaaaaULaWhaZhaSlaSlaSlaSlaZiaWhaULaaaaMLaZjaZkaZlaZlaZlaZlaZlaZlaZlaZlaZmaNaaKBaHgaHgaHIaHIaHIaHgaHgaPQaHgaNfaPJaMNaOxaQqaQyaQCaGRaOUaFhaOjatUauYawaawbawcauYatUaQSaYpbRAaZLaZLaZLaZLaTqaZNaZNaZOaZNaFLaYgaXtaXtaXtaXtaXtaXtaXtaXtaXtaXtaXtaXtaXtaXtaXpaZTaZTaZUaZTaZTaZTaZTaZTaZTaEMaYpaRkaVMaYJaSOaSSbbJaXeaVMaXfaXiavAbacbadavAbbMaThaUnavAbkYbkZaXuaXCbaiaXXbakaMZbambaobaobapbaqbarbarbasaZbbatbaubavbawaTmaPCaTmaTmajCajcaaaaaaaaaaaaaadaaaaaaaaaaadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabaAbaBbaCbaBbaDbaBbaBbaDbaBbaCbaEbaFaMLaZjaSHbaHaSIbaJbaKaSwbaMaSGaZlaZmbaObaPbktaOvaOwaOvaOvaOMaOvbkxaHgaMxaOLaOzaPyaPzaMXaPxaOTaOUaFhaOSatUauYaxkaxlaxmauYatUaWCaYpaXoaZLbbpbbqaZLaPAbbsbbtbbubbvaFLaadaaaaaaaadaadaadaadaadaadaadaadaadaadaadaadaadaZTaDzbbybbzbbAbbBbbCaDTaZTaWabbFbbGaVMaOqaYJaStaOrbbKaVMavAaWZavAavAavAavAaUqaQsbbNavAbbOavAaTmaTmaTmaWwbbRaMvbbTaMpbbVaYZbbWbbXbbYbbZbcabcbbbYbccbcdaTmbjjbcfbcgbchbchbciaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabaAbaEbaBbcjbckbckbclbcmbcnbcobcpbckbckbcqbcraTpaZjbcsaGVaInbcvbcwbcxbcybczbcAbaeaZxaCCaIbaIbaIaaHuaHqaHgaHgaHgaHgaGPaHsaHraGNaGOaGHaGQaGRaGSaFhaHfatUaGKaGLaGMayFayHatUbcUbbFaKiaZLbcWaIlaZLaGIbcZbdabdbbdcaGFaadbdeaIjbdfbdjaZPbdhbdibdjaZPbdhbdkbdkbdlaadaadaZTaCBbdnbdobdpbdqbdrbdsaZTaIpaYpaHmaVMaVMaJQaHUaHnaVMaVMbkbaGxaGAbdBbdCavAavAaYEavAavAbdEaImaGEaGyaTmaIkaGBaFIbdKaGwaTmaGCbdNbdObdPbdQbdRbdSbdTbdUbdVbdWaYDaZobdYbdZbeabebaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabcqbecbedbeebckbefbckbefbckbefbckbefbckbegbehaXFaZjaFcaZlaFGbekbelbembenaFHaZlaXQaYBberaFQaFPaFXaFWaGdaFOaFKaFEaFMaGjaGzaGvaFjaFkaVYaFgaFnaFpaFhaFiatUaEIazZaEHaeQaAcatUaEJaYpbRAaXGaEFbePaZLaFmbeRaXwaFlbeUaFLaadbeVaKxaEEaDdaBCbfaaEGbfcazEaBmaECaJxbfhaadaadaZTbfiaClbfkbflbdqbbCaDVaZTaEMbfnaFbaDYbfAbfxbfybfwbfAbfAbfAbfybfAbfAbfAaDGbfAbfAawLayubfwbfxbfAbfxaxpaDRbfAbfBbfCaEKbfEaTmaTmbfFaTmaTmbfGbfHbfIaELbfKbfLbcebcebfNbchbchbfOaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabfPbckbckbaCbckbefbckbefbfQbefbckbefbckbegbehaXFaQQaQpaZlbfSaQnbfUbfVbfUbaHbaHbfWbfXbfYaHgaKVaKUaKTaReaKNaKFaKDaHgaJgaKyaRcaGNaJwaHgaLGaLxaRKaRzaLEatUaCFaLvaLwaCIaKYaKZaLgbvdaRfaZLaZLaZLaZLaKWaZNaZNaZNaZNaFLaZPaZPaQYbgsbgwbgubgvbgtbgsbgubgwbgvaQiaZPbgyaZPaZTaZTaZTaZTaPLbgAbgBbgCaZTaPlbgEaPjaPPbgJbgIbgJbgKbgJbgJbgLbgMbgMbgNbgMbgMbgMbgMbgMaQmbgObgPbgQbgRbgSaQFaQDaQvbgVaQwbgXbgYbgZbhabhbbgXaTmbhcbhdaQxbfFaQzaQAaQGbhiajCaDZaaaaadaaaaadaaaaaaaaaaaaaaaaaaaaaaadaadaadaadaadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabcqbhkbedbeebckbefbckbefbckbefbckbefbckbegbehaXFbhlbhmbhnaPfbhpbhqbhqbhraMQaPwbcCbepbhwaHgaIJaILaIKaNPaIoaIIaIwaHgaHcaHtaNNaPgaIfaHgaZqaJPaNSaZqaHgatUaJvaIUaJtaEcaEdatUaIMaYpbRAbhQaIAbhRbhRaIzbhRbhRaIhaKobhUbqraPHaPBbgubgubgubgubhZbgubgubgubguaMaaLAaMBaZPaZTbidbiebifbigaKjbiibijaZTaKmbilaKnaLDbiwbiwbiAbixbiAaMYaKXaNtbiwbixbiwbiwbiwaLLbiwaOGaOFbiyaNObiwbiybiAaMoaMybiDaMwbgXbiFbiGbiHbiIbiJbgXbgXbiKbiLbiMbiNbiObiPbiQbiRbiSbgXbgXbgXaadaaaaaaaadaaaaaaaadaadaadaaaaaEaaaaaEaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabiTbiUbaBbcjbckbckbiVbckbiWbiXbckbiYbckbcqbiZaULaZjbjabmsblLbmmbjebjfbjgbmMbmRbmPbjkbjlaHgaZraZqaZgbabaHgaHgaHgaHgaHgaHgaHgblxaHgaHgaYjaYkaZRaZSaYqatUatUatUaYIaFoatUatUblBaYpaZVaTLaTLaTLaTLaTLaTLaTLaTLaTLaZPbjEbfbbhBbjMbmSbjIbhVbjKbjIbjIbjLbjMbjNbjObjPaZPaZTaZTaZTaZTbjQaZTaZTaZTaZTbmTaYpbahbjSaWxbjTbjUbjVaVWbjSbagbjSbjSaVibjSaVbaVbbjSaVibjSbjSbkcaVabkbaUZbkgbkgbkhbkibkjbkkbklbkmbknbkobkpaUvbkrbksbmdbkuaVRbkwbtubkybkzbkAbkBbkCbgXaadaadaadaadaadaadaadaaaaaEaaaaRCaaaaRDaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabiTbaBbaCbaBbaDbaBbaBbaDbaBbaCbiUbkDaMLbkEbkFbkGaQNbkHbkHbkIbkHbkJaQNaZcaXYaZdbjZbkVaXZaYbaZebkObkXaYcaYdaXUaYebkXaYWbjJbkObkQaXraZabkVaWAbkWaXUaXSaXTaXWbkXbjYblbblcbldbleaVSaVTbjdaSTbjbbjHbjGbleaXsblnbloblpblqbeoblsaUYblublvblwblrblqblyblzblAaYHaZTblCblDblEbigblFaZTbljaZTaZQaYpblIbjSbjSbjSbjSbjSbjWbjSaUAbjSbnzblKblfblMblNaUzblPblObjSblQbkdbkdbafbkgbkgblTbkiblUaUvblWblXblYblZbmabmbbmcbksbmdbmeaUdbmgbmhblXbmibmjbmkbmlbkabmnbmobmobmobmobmoaadaaaaRDaaaaRCaaaaRDaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaTpaWhbmpaSlaSlaSlaSlbmqaWhaTpaaaaMLaZjbmrbkGaQNbmtbmubmvbmwbmxaQNbooaZvboIboGboFboEbaZbbEbmEbmCbmFbmGbmCbmCbmCaJCboMbmCbmBbmDaZwbmJbmKbmKbmKbmKaZybmKbmKboXbBebBfbmQbpHbpzbplbphbpsbppbqnbllblebqoblqbmYbmZbjFbnebncbndblGbndbnfboPboybnibnjbnkbltaZTbnmbnnbnobnpbnqaZTaZTaZTaEMbnrbnsbjSbntbnubnvbnwbnxbjSbnybjSbrnbnAbnAbnAbnAbnAbnAaZAbjSahrbkdbalaZEbnEbkgbnFbnGbnHaZBbnJblXbnKbnLbnMbbSbnObnPbnQbnRaUdbnSbnTbnUbnVbnWbnXbnYbqpboabobbocbodbodbmoaadaaaaRDaaaaRCaaaaaEaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadaSgaXDaMLaXFbzWaXFbajbofbogbohaXFbzWboibojaMLaZjbkFbkGaQNbolbombmwbmwbonaQNbpPaZtboqbmVbmUbvhbotbosbvGbzbbySbosbosbosboxaIqbnCbosbosbvGbvhbySbosbosbosbnNboubosbosbnDboAboBboCblebngbnbboHbnabmWbnlbnhblebleboJboKboLboLboLbjhboNbndboObjiboLboLboLboQboRaZPaZTborboTboUboVboWaZTbnZbokbaYbpabnsbjSbpbbpcbpdbpebpfbpgaWybpibpjbnAbnAbnAbpkbnAbnAblObjSbpmbkdbpnbpoaZsbkgbpqbprbnHaUvaYmbptbpubpvbpwbgXboDbksbmdbpyaYfbpAbpBbpCbpDbpEbpFbpGbfJbmnbpIbpJbodbpKbmoaadaaaaRDaaaaRCaaaaRDaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacaaaaaaaaaaaaaaaaadaadaMLaULaWhaULaWiaQOaQOaWjaULaWhaULbpLbrsbpNbkFbkGaQNbpObpObkIbpObkJaQNaSvaSubduaKBaKBbovaKBbdgbcXbcSbcJbdgbcXbpYaKBaWBbqabaIbazbaGbaLbaNbaIbazbaGbqabaIbazbaGbqabqgbbobblbbIbbwbcuboHbcBboHboHbbebbfblebqrbqsbqtbbgbqtbqtbquaTrbqwboLboLbdyboLbqxbqyaZTbqzaRBbqAbdqbqBbqCaZTbdXaYtaEMbqFbqGbjSbqHaTBbqJbqKbqLbjSaREbjSaSMbnAbnAbqObqPbqQbnAaRabjSbnBbkdbkdaSPbkdbkgbqUbqVbqWbgXaRdaRsbqZbraaRtbgXbrcbrdbrebrfbrgbrhbnUbribrjbrkbrlbrmbeibrobrpbrqbodbodbmoaadaacaRDaaaaRCaaaaRDaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaafaafaafaafaaaaafaafaafaafaafaaaaafaafaafaafaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaadaaaaakaadaemaemaemaemaemaadadAaadaemaemaemaemaemaadaakaaaaaaaadaaaaaaaaeaadaadaadaadaadaadabWadragpadrabWagqavDavBavCavkavtafkaeMafnagwagxagyagzagAagBafqagCabvagDagEagFagGagHagIagJagKagLagMagNaDtagPagOaDOahoajeajeaaaaaaaaaaaaaadaadaadaaaaaaaaaaaEaadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaakaadafJafKafKafKafKafLafMafNafOafOafOafOafPaadaakaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaagaagaagaagaagaagaagaagaagaagaagaagaagaagaagaagaagaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaafaafaafaafaaaaaaaaaaaaaaaaaaaaaaafaafaafaafaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaadaaaabaaaaaaaaaaaadaaaaaaaaaadAaaaaaaaaaaadaaaaaaaaaabaaaaaaaaadaadaadaadaadaaeaaaabWabWagpabWawXawZaEVawsawJasDahaafQahbauMaeMaeMahdaheabvahfahgahhahiahjahkabvacKahlacKacKacKafQafQabWabWabWabWadsagladsabWaCMaCGabWaaaaaaadradrapSadradraaaaaaaaaaaaaadaaaaakaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadaakaadagoagoagoagoagoaadafMaadagoagoagoagoagoaadaakaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaagaagaagaagaagaaaaagaagaagaagaagaaaaagaagaagaagaagaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadaadaaaaakaadacNacNacNacNacNaadadAaadacNacNacNacNacNaadaakaaaaaaaadaaaaaaaaaaaaaaeaadabWahpahqabWaguadsadsabWahtahuahvafQahYaCcahyahzahAahBahCahCahCahCahCahCahCahCahDahEahFahGahHafQahIadrahJahKahLahLaCKaCHabWaDiaCYabWaadadradradsakbakcadradraaaaaaadradraiYadraaaaaaaitaiuaivaaaaaaaaaaaaaaaaaaaakaaEaaEaaaaaaaaaaadaaaaaaaaaafMaaaaaaaaaaadaaaaaaaaaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaagaagaagaagaagaaaaagaagaagaagaagaaaaagaagaagaagaagaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadaadaadaakaadadxadyadyadyadyadzadAadBadCadCadCadCadDaadaakaaaaaaaadaaaaaaaaaaaaaadaaaabWahpaFNahQaTRahRahTazEaExaExaExahXahZaALaiaaibaicaidaieaifaifaigaieaifaihaifaiiaijaifaikailaimainadradsaglaioaipaipaTZaCbahsaAIabWaadadraAQadsadsadsaUjadraUpaadadrajBaORadraaaaiZajaajbajaajcaaaaaaaaaaaaaaEaadaaaaakaadafgafgafgafgafgaadafMaadafgafgafgafgafgaadaakaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaagaagaagaagaagaaaaaaaaaaaaaaaaaaaaaaagaagaagaagaagaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadaaaaaaaaEaaaaemaemaemaemaemaadadAaadaemaemaemaemaemaaaaakaaaaadaadaadaaeaaeaadaadaaaabWaiwaixaiyaRIaizaiAaiBainaiCainaiDaiEaiFaiGaiHaiIaiJaiGaiKaiIaiFaiGaiLaiMaiNaiOaiPaiQaiRaEBafQainadradsaglaiTaiUaiVaysabWaCAaCtabWadradradsadsadsadsadsadradradradradraiYadraaaajCajaajDajaajCaaaaaaaaaaaaaaaaaaaaaaakaadafJafKafKafKafKafLafMafNafOafOafOafOafPaadaakaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadaaaaaaaakaaaaadaaaaadaadaaaaaaajdaaaaaaaadaaaaaaaadaaaaaEaaaaaaaaaaadaadcxdcxdcxdadrabWabWabWabWaCeaizainajgajhajiainafQajjavKajlaeMajmavJajoaeMajpawPajraeMaxPajpavTaeMajpavSajrafQajvadralYaglaiTajwanPaysabWazqabWabWajwadsadsadsadsadsadsadsadsadsakdabWasKadradradrakeakfakgadraaaaaaaaEaaEaaaaaaaaaaakaaaagoagoagoagoagoaadafMaadagoagoagoagoagoaaaaaEaadaadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaakaakaakaaaaaaaadaaaajEajFajEaadaadaadaadaakaakaakaaaaaaaaaajGcxdcxdajHajIajJarFajJarMajKaNzajNajOajgajPajiainafQajQajRajSaeMajTajRajSaeMajUajRajSaeMajVajWajXaeMajYajRajZafQainadradsagladradradrazBalxaOsaOuazLazLazLazLazLazLazLazLazLazLazLazLazLazLazLazYadradsaORadsadraaaaaaaakaaaaaaaaaaaaaaaaaaaadaaaaadaadaaaaaaafMaaaaaaaadaaaaaaaadaaaaakaaaaadaadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadaadaadaadaaaaaaaaaakhaQJakhaadaaaaaaaadaaaaaaaadaaaaaaaadaaeaaeakkaadaadadradradraklahmagXadrakoainainakpainafQakqajRakraeMakqajRaksaeMakqajRaktaeMajVajWakuaeMakvajRakqafQainakwaQLagladrakxadragRakladradradradradradraxWaxVaxnadradradradradradradradsaxUadrakBaRGakCajAaadaaaaaEaaaaaaaaaaadaakaaEaakaaaaaaaadaaaaaaafMaaaaadaadaadaadaakaaaaakaaaaaaaadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadaaaaaaakEakFakGakHakIaadaaaaadaaaaaaaaaaaaaaaaaaaaeajGcxdaaeaadaaeakJadradraguadradraeMaeMaeMaeMaeMafQakLakMakNafQakLakMakNafQakLakMakNafQakOakPakQafQakLakMakNafQainadradsagladradradradradradraadaadaadaadaadaadaadaadaadaadaadaadaadaadaltadsaxUadradrakRadradraadaadaadaadaadaadaadaaaaaaaadaaaaaaaadaaaaaaafMaaaaaaaaaaaaaaaaadaaaaaaaaaaaaaadaadaadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadaadaadakTakUaFRanWakTaadaaaaadaaaaaaaaaaaaaaaaaaaadaaaakXaaeaaeaaeaaeakYakZaguadralaaeMalbaEAaldaEzalfalgalgalgalgalgalhalgalgalhalgalgalialjalkallalmalnalnalnaEtajvadradsagladralpalqalralsadraadaaaaadaaaaaaaadaaaaadaaaaaaaaaaaaaaaaadamcaluaxUadraGJalwaEqaotalzalAalBalAalAalCaadaaaaaaaaaaaaaaaaaaaaaaaaamkaaaaaaaadaaaaaaaadaaaaaaaaaaaaaaaaadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaoFapMalGapXalGalHaoFakTaqaalJareakTaadaaaaadaaaaaaaaaaadaadaadaadaadalLaaeaaeaaeaadalManPaguadradraeMalNalOalPaqValRalQalQalQalQalSalRalQalQalRalTalSalQalUalValWalQalQalQalQanaainadraklagladralZamaadsadsaltaadaaaaadaaaaaaaaaaaaaadaaaaaaaadaadaadaadadralYasAakmasbajMajzamhamiamiamiamiamiamjaadaaaaaaaaaaaaaaaaadaaaamXamYamXaaaaadaaaaaaaadaaaaadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaapKapLakSammanHamnanSakTamoarHamqakTaadaadaadaadaadaadaadaaaaadaaaaadamraadaadaaeaaecxdadsaisaiXarEajxajfajyaqgaqAamxamuamyamuamvamzamxamuamuamxamAamBapDamDamEamFamGamHamGamGamIainadramJariamKaraamaamLamMamNaadaaaaaaaaaaaaaaaaaaaadaaaaaaaaaaadanyanyamPamQamRamRaqdagYahOamUamiamiamiamiamianCakWaadaadaadaaaaaaaadaadanDaqRanDaadaadaaaaaaaaaaaaaadaadaaaaaaaadaaaaadaadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaEaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaoFaoFanQammamnamnalKalDakTaleanbakTaadaaaaadaaaaaaaaaaaaaaaaaaaaaaaeajGaaeaaeaaeaaecxdahmagXairagRaneanealXangamtanianeaeManjapAanlanmannaeMaoZamlapwaoaaoaaoaaoaaoaaoaaoaaoaaoaansadrajwagladramJantakbamJabWaadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadaadanuaqeanwanxanyanzamfahSanBamiamiamiamiamianCakWakWakWaadaaaaaaaadaoBaoCamYaoDaoEaadaaaaaaaaaaaaaadaaaaaaaaaaadaaaaaaaadaadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaoFamZanGanHanIanJalDaoYapvaKBaadaaaaaaaadaaaaaaaaaaaaaadaaaaaaaaaaaaaadaaeaaeadradraguadradradraneanManNanOaloakAalEaeManqanTanUanramWanvajWanYanKaoaaobaocaodaoeaofaogaohaoiaojadranXagladraolaomalcaokadraadaadaadaadaaaaaaaaaaaaaaaaaaaadaadaadaopapxaoraosaonaouameahPaowamiamiamiamiamiaoxaoyaozaoAaadaaaaaaaadaptapuaoIandaptaadaaaaaaaadaaaaadaaaaadaadaadaadaadaadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadaadaadaaaaaaaaaaaaaaaaadaaaaaaaaaaadaaaaadaoFamSaoFamVaoHanEaoJanFaoKaKBaadaadaadaadaaaaaaaaaaadaaaaaaaadaadaadaadaadaadaiyaoLaguadraoMaoNaneaoOaoPaoQaoRaoSaoTaeMaoUaoVaoWaoXalyanpapaapbapcapdapeapeapfapgaphapiapjapkapladramJagladradradradradradraadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadanyanyapmamRamRamRapnagYahOappamiamiamiamiamiappapqaprapsaadaaaaaaaadaptanoaqbafmaptaadaaaaaaaadaaaaadaaaaaaaaaaadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadaKBaKBafUaKBaadaaaaadaadaadaadaadaKBafUaWoaoFamZaoFapyalHaoFaoFbHMaZmaKBaKBaKBaadaaaaaaaaaaadaaeaadaaaaaaaaaaaaaadaadaaeadraixambapzampajwaneapBapCakzapEapFapGaeMapHapIaiRapJankaeMamCamlalIaoaapNaohapOaohapPaohapQaohapRadrahKahNajKajKalxahMalvaiYaadaadaaaaaaaaaaaaaaaaaaaaaaadaadaadaadanualFapTapUapVapWagYahnapYamiamiamiamiamiapYapZaprapsaadaadaadaadaptaqZakVarbaptaadaadaadaadaadaadaadaadaadaadaadarNarNarNaadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaKBajtaiSaKBanLamsamsamsamsamsajsaKBajuajtaoFamZaqjaqkaqkaqlaqmajqaZmajnbMbaKBaadaadaadaadaadaaeaadaaaaadaaaaadaadaaeaaeadrahmagXadradsaqpaneaqqaqrahWahWaffaqvaeMaqwaqxakDakaagtadVaqCaqDagUaoaaqFaqGaqHaohaqIaohaqJaqKakiadraglaqLaqLaqLaqMaqLaqLaqLaadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadaadaopaoqaqOaqOaiqaqQagZagVaqSamiamiamiamiamiaqTaqUadXaqWaqXarNcgaarNaptaptarQarRaptarNarNarNarNarNarNarNcgaarNarNarNarNadjarNaadaaaaaaaacaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadaaaaadaadaaaaaaaaaaaaaadaadafUaiWaeRafrafRbrTbrTbrTbrTbrTahcagnafTajLaoFaoFarjaoFarkaoFaoFagraZmbrTahVaKBaKBaKBaKBajkahwahwahwahwahwahwahwahxadraiyadraguadradradradraneaneaneaneaneaneaneaeMaeMaeMaeManjaczaeMaqCarvarwaoaaoharxadSarzarAarzarBarCarDadragQaqLafIafSarGagWagSaqLaadaaaaaaaaaaaaaadaaaaaaaaaaaaaaaaadanyanyapmamRamRamRarIagYagsarKamiamiamiamiamiarLakjakWakWaadarNaeParOahUaQsahraQsaQsaQsaQsaQsaQsaQsaQsaQsaQsaQsaQsaeUacMadWacMaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadaadaaeaaeaadaadaaeaadaaaaadaadaadaKBaKBasVaKBaKBasWasXasXasXasXasXasYaKBaKBasZaKBbMeaDnaDbbrTaspbHMagraZmbHMbHMaKBaCLaDaaVhaBXasaasaasaasaasaasaasaascasaasaaDSauxateasfadrasgauCasiashashashashasjaskasoasnasmashashasiasqasrassaoaastasuasuasvaswastasuasxasyadraszaqLaDraDsasBaDqatAasEaadaaaaadaaaaaaaadaaaaaaaadaaaaadaadaadanuatRanwasFanyasGameauNasIamiamiamiamiamiasJanVaadaadaadarNatSasNasNaDpasOasPasPasPasPasPasPasPasPasPaDUasPasPasPasPasPasQaadaadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadaadaaeaaeaaeaaeaaeaCVaaeaadaadaKBaKBaKBaBMaBPaKBaadaadaaaaaaaaaaaaaaaaadaadafUaBIaBJarXarXarXagvbrTbHMarSarZbPVarYaVfarUagraKBataatbatbatbatbatbatbatbatcadratdaDuaAGagOaADamdatfatgathatiatiatiatiatjaDoatlatmatmatmatmatnatoatpatqaoaaBWatsattattatuattattatvatuatuaEoaqLaBTaBUasBaBSaunauoaadaadaadaadaadaadaadaaaaadaadatDaadatDaopaseaoraosaBRatFameauqatHamiamiamiamiamiatIarNarNarNarNarNbLKarNasPaupasPasPaDQasPatLatMatNatMatOasPasPasPatLatMatOatPasPaadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadaadaaeaadaaeaBVaaeaaeaaeaaeaaeaaeaCDaAxaCDafRaqhaKBaKBaaaaaaaaaaaaaaaaaaaaaaadaKBaKBaKBaKBaKBbHMbxMbrTbrTbrTaQWarSarTbrTbrTagraKBaaaaadaaaaadaaaaadaaaaadaaaaYhaYhaYhatwaYhaYhaYhayIatWatXatXatXatXatXatXatXatXatXatXatXatXabWatYatZauaaChaucaudaueaueaojaueaueaufaugauhauiaujaAyaAzarGaAAaABaqLaadaadanyaadaadanyaadaadaadanyatDatDanyanyanyapmamRamRarIagYatyaurausausausausausautatSasNasNasNasNaqcarNaCJatKaCXauyaACauyauAauBatTauBauEatMauFatMauGauBatTatPauHaadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadaaeaaeaaeaaeaaeaaeaadaaeaaeaaeaadaKBaKBaKBarnaqhbrTaKBaaaaaaauIauJauKauJauLaaaaadaadaKBaARaKBbtwazpbKtbKtbKtbKxarlazobHMaroarmaKBaadavUavUavUavUavUavUavUaadaYhaBtaCvaCwaBvaBsaYhauZavaaBravcavcavcavcavcavcavcavcavcavdatXaBuavfavgavhaBQaojaojaojavjarJavlarPavnavoavpavqaqLazMarGaAuaAwazcanyawzawAanyawzawAanyanyawzawAanyanyatDatDanyavvavwavxapVavyameavzavAasUasNasNasNasNasNaqcarNarNarNarNarNarNaslasLavEavFasPasPaadaadauBavHauBauBauBauBauBavIauBauBarqaadaadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadaadaaeaaeaaeaaeaaeaaeawHaaeaadaadaadaadaKBbHMaqhardafUaadaaaavLavMavNavOavLavPavQavRadradradradraqfadradradradradraBqadradrakKadraaaavUavVavWavXavYavZavUaaaaYhawuaZFaAaaAnawFaYhatVatWawGatXatXaweawfawgawhawiawjawkawlatXazuavfawnarWaoaazkaziaqNaoaaoaaoaaoaazvaAvazAanyaqLawvaznawvaqLazcaxKaxLaxManyarcaxLaxOanyaxNaxLaqYanyawzawAanyawBamfawCanyawDaukazaavAbLKarNasPasPasPasPasPasPaxyaxzayQayXaxRawKaquawMawNawOasPargaadaadaaaaaaaaaaadaadaaaaaaaadaaaaadaadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadaadaadaaeaaeawmaaeaaeaaeaaeaadaaaaadaKBbtwaqhbrTaKBaadaaaauKawQawRawQauKawSawTawUawVawWazFawYanharuawVaxaaxbaxcaxdaxeadrakKadraadavUaxfaxgaxhaxiaxjavUaadaYhawdanfaxQaZFartaYhancaxoavmatXatXaxqaxraxsaxtaxuaxvaxwaxxavdawqavfawnawoaoaaoaaoaaoaaoaawraxAaxBaxCaxDaxEanyayZayWayYazmaygaxJaryazeazfanyaqoazeazganyazdazeazhanyaovazXanyanyaxHanyanyaxTameaxIapoaxSarNanAaxZanZayaaxYauHaycaycaydayeayfayeaooayhayiayjaykaaaaaaaadaaaaaaaaaaadaaaaaaaaaaadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadaaeaadaaeaadaadaaeaaeaadaadaKBaKBbMeaqhaKBaKBaaaaaaavLawQawQawQaylaymaynaynayoaypayqayramgaqyaqEaqzaywayxayyayzadrakKadraaaavUayAayBayCaxiayDavUaaaaYhasSamwaxQaybatkaYhayIaxXatXatXatXayJayKayLayLayLayMayNatXawlatXaytatZayPatxayRaySayRayRayRayTapeayUayVatGaubauuauOavbavravsaxJanyavuaxJanyanyawwaxJanyanyawxaxJanyayEayvazjauvazlauzaxFawEawyaxGavAavAarNaDvazrazsaztayGaqPazwazxazyazzamOaDxamTazCayiayjazDaaaaadaadaadaadaadaadaadaadaadaadaadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadaaeaaeaaeaaEaaaaadaadaadaKBaKBbHMbHMaqhafUaaaaaaaaaauKawRawRawRauKazGazHazIazJaypaynazKakyarfawVazNazOazPazQazRadrakKadraadazSazTazUazVazWauwavUaadaYhaqsaqtaxQaqnanRaYhaAdatWatXatXaAeaAfaAgayLaAhayLaAiaAjaAkawlatXaAlawnaAmarsaAoaApaAoaAqaAoaAraAraAsaAtaAraqBarhasCaBKasTatrarpbfuaBOaBNaBKarraBOaBNaBKaBLaBOaBNaBKbfZatBatzatEatCaknaukaulameaumawpaAHarNauDaAJaoGawMaqiazDaAMaANaAOaAPaLfasRaASaATayiayjaAUaAVaadaAWaaaaaaaaaaaaaAWaaaaaaaAWaadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadaaEbmNaAZbmNaakaaaaadaaaaadaKBafVarnbGxaqhaKBaKBaadaaaavLaBaaBbaBcavLaBdavQavRawVaBfaynaBgakyaBhawVaBiaBjaBkaBlbtbadrakKadraaaaBnavUaBoaBpaBoavUavUaaaaYhbggbgHbgjbgcbgfaYhayIbfDatXatXatXaBwaBxaByaBzaBAaBxaBBatXawlatXbsYbsZbsXaoaaoaaBDaBEaoaaBFaBGaBGbeTaBGaBHanybFibEBamebDMbDLameamebDKameameaAEazbameameamebDKameameaAFaxTavGbGwbGsbGsavvavGameaumbFjbfjarNaBZaAJaAKawMaCabtabfzaCdaAObfvasPasPaCfasPasPaCgbeQaCiaadaaaaaaaaaaaaaaaaCjaaaaaaaaaaadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadaAXbmNbJAbmNaadaadaadaadaadaKBbrTbrTbrTarVbaQaKBaaaaaaaCmauJaCnauJaCoaaaaadaadaCpaCqaCraCsbgGaCuawVbglbgmaCxaCyaCzadrbIUadraaabbxaaabgobgnbgoaaaaadaaaaYhbhCbgqbgpbhsbhFaYhayIatWaEeatXatXaCNaCOaCPaCQaCRaCSaCTatXawlaCUavfawnawobgTaCWaCWaCWaCWaCWaCWaCWaCZaCZaCZanybhybhzaDcbqhbpRaDcaDfbghaDgaDcbGCaDhaDcbhoaDcbgdaDjaDjaDkaDlaDmbIjbIybIebIibHWbIdbHVbgiaBYarNbgFaDwbgDbgkbgeasPaDAaDBaAOaDCasPaDDaDEaDFbqvaycaDHazDaadaaaaaaaadaadaadaadaadaaaaaaaadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadaAXbmNaAZbmNbmNaDIaDJaDKbmNaKBaKBaKBaKBbrTaqhaKBaadaaaaaaaaaaaaaaaaaaaaaaadaadaDLaDMaDNbjoaDPbjpawVbihaFeaFfaFfaFfadrbheadrbdMbhJbhIbhLbhKbhTbhSbjnbjmaYhblabhPbhObhGbkUaYhayIatWaEnaEfaEgaEhaEiaweaEjaweaEkaElavcaEmaEnavfawnawobgTaCWbkTaEpbtxaEraEsbkvaCZaEuaEvaCZanyanyanyaCZbtraCZaFJbaabaabaabhDbaabaabhEbaabaaaEDaEDbtqbiobjwaEDaEDaEDaEDbhAasPasPasPasPasPasPbtmbgUbtpasPasPbgWaDBaAOaENaEOaEPaEQaoGaERaESawMazDaadaAWaadaadaaeaaeaaeaadaETaaaaadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadbmNbmNaEUbJJaEWaCkaCkaCkaEXbJFaEYaEZaKBaKBaqhaKBaadaFaaFaaFaaFaaFaaFaaFaaaaaadawVawVawVblgbmIawVawVbmLblmblHblVbmzbkKbhhbkfbjDbjBbjAbbcbjzbaXbkRbkPbkNaYhaYhbkMbkLaYhaYhaYhbkSavaavcaFqavcavcavcavcaFravcavcavcavcaEmaFsayOatZaFtaFuaFuaFvaFwaFwaFxaFyaFzaCZaFAaFBaFCaFDbjyaFFbtMbtDbubaFJbjsbjrbjubjtbaabjvbjxaZCbaaaEDbJCaFSaFTaFUaFVbjqaEDaEDbJBasPaFYaFZaGaasPaGbaGcbhgaGeaGfasPaGgaGhaAOaGiasPbhfaGkaGlaGmaGnaGoazDaadaaaaaaaadaGpaGqaaeaadaaaaaaaadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacaaaaaaaaaaaaaaaaaaaaaaaaaaaaadbmNaEUaEUaGraCkaCkaCkaCkaCkaCkaGsaEUaGtaKBaqhafUaadaFaaFaaFaaFaaFaaFaaFaaaaaadaGubaWbsebaVbaybrGbbUbaxbaTbaUbaRbaSbbjbbibskbbkbbnbbmbslbbrbbbbbabbdbbcbbcbdtbbhbdvbsjbcPbcVbddaGTaGUaLVaGWaGXaGYaGZaGYaHaaGYaHbaGWaJLaFsavfawnawoaCWaHdaHeaHeaHeaHeaHeaZXaCZaZMaHhaHiaHjaHkaHlbrCbrAaHoaHpaZHaZHaZJaZIaZHaZGaZDaZCbaaaHvaHwaHxaHyaHzaHAaHBaHCaEDatJasPaHDaHEaHFaHGaHHaDBbbQbbPbbLaHJaHKaHLaHMaATaHNaHOaHPaHQaHRaHSawMazDaadaaaaHTaadaaeaaeaaeaadaadaAWaadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadbmNaEUaCkaCkaCkaCkaCkaCkaCkaCkaEUaEUaEUbstbCmaKBaaaaFaaFaaFaaFaaFaaFaaFaaHVaHWaHXaHYaHZbcKbcGaIcaIdaIebcHbcIbdzaZpadrbcRadradradrbGkaKBbsubcMbcNbcMbcLbcQbdDbcObcMbdmbcMbcTbcYaxoaFsaPpaIraIsaGYaItaGYaItaGYaIuaIraJLaFsayOaIvbsraCWbdFaIyaIyaIyaIyaIybdHaCZbdLaIBaICaIDaIEaIFaIFaIGaIHaFJbctbbHbcEbcDbaabaabbDbaabaaaINaIOaIPaIQaIRaISaITbcFaEDatJasPaIVaHFaHFaHGaHHaIWaIXaIYaIZaJaaJbaJcaAOaJdasPaJeaJfaDxbeqaJhaDyazDaadaaaaaaaadaadaadaadaadaaaaaaaadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadbmNaJiaCkaCkaCkaCkaJjaCkaCkaCkaCkaEUaJkaKBaqhaKBaaaaFaaFaaFaaFaaFaaFaaFaaJlaJmaJlaHYaJnaJoaJpaJqaJraJsbevbewbetbeubesbDJagOagOagObDmaKBbdMbdMbdMbdMaJzaJzbeJaJzaJzaJzaJzaJzbdJaJBaFsaPSaJDaJEaJFaJGaJHaJGaJIaJJaJKaPGaFsaJMawnawoaCWaIxaJOaJOaJOaJOaJObeOaCZbeIaJRaJSaJTaIEaJUaIFaJVaIHaFJbaabaabdxbdwbDfbcEbcEbdAbaaaJZaIOaKaaKbaKcaKdaKeaKfaEDatJasPaKgaKgaKhasPbeyaDBaHRbdGaKkaKlbeAaAKaAObeBasPasPaCfasPasPaCgbdIaCiaKpaaaaaaaaaaadaaaaaaaaaaaaaaaaadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadaKqaCkaCkaKraCkaCkaCkaCkaCkaCkaCkaCkaKBaKBaqhaKBaadaFaaFaaFaaFaaFaaFaaFaaKsaKtaKsaKuaJnaKvaKvaKwaKvaIebeKbeLbftaKAadradradradradraQWaKBaaaaaaaadaaaaJzaKCbfsaKEbfraKGaKHaJzaKIaxXaFsaPpaKJaKKaGYaJGaJGaJGaGYaKLaFsaJLaFsbezawnawobswaIxaIyaIybsGaIyaIyaKMaCZaNuaJRaIFaKObgbbsUaKRaJVaKSaFJbctbeCbeEbeDbeGbeFbeHbcEbexaLaaLbaKaaKbaKcaKdaKeaLcaEDatJasPaKgaKgaKhasPbfebfobbPbeMbfpaKlaHRaAKaAObsvaLfbfqaLhaATayiayjaAUaLiaadaAWaaaaaaaAWaaaaaaaaaaaaaAWaadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaLjaLkaLlaadaLmaCkaCkaCkaCkaCkaCkaLnaCkaCkaCkaEXaKBaUDaqhaKBaadaFaaFaaFaaFaaFaaFaaFaaLoaHWaLpaLqaJnaLraKuaLsaLtaLubBAbBIbBkbBraLyaLzbBJaLBadraQWaLCaadbBLbpQbCdbBPaLHbfsaLIaLJaLKbukaLMaLNaLOaFsaPpaFsaFsaLPaLQaLRaGYaLSaLTaLUboSaLTaLWaLXaLYbAVaIxaJOaJOaJOaJOaJOaLZbANaMbaMcaMdaMeaMfbrbaMhaMibDWaMkbDBbDBbDlbdwbaabdxbDdbCCbaaaINaIOaMqaMraMsaMtaKeaMuaEDatJasPaKgaKhaKhasPbsgbsdbsibshbuuaMzaMAbALaMCaMDaMDaMDaMEaMFayiaMGazDaaaaadaadaadaadaadaadaadaadaadaadaadaaaaadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaiZaMIaMJaMIajcbmNaCkaCkaCkaCkaCkaCkaCkaCkaCkaCkaMMaKBbwqbwraKBaadaFaaFaaFaaFaaFaaFaaFaaKsaMOaKsaKuaJnaKvaKvaKwaKvaIebcHbEobEsaMRbEFaMTaMUaMVadraQWaMWaaabFZbFYbFKbFFaNbbfsaNcaNdaNebEzaJzaJAaGTaNgboraNiaLUaNjaNkaNlaNkaLTaNmaNnboEaNpavfawnaAmbBbaNraIyaIyaIyaIyaIyaNsaCZaNuaJRaNvaNwaNxaKQaKRaJVaNyaCZbHhbGDbcEbsCbDBbGDbaabHbbaaaNDaNEaNFaNGaNHaNIaNJaNKaEDatJarNaNLaNLaNLaNLbBdbuTauHbuFbtHaNQaNRbuUaNTaNUaNVaNWaNXayhayiayjaNYaaaaaaaadaaaaaaaaaaaaaadaaaaaaaNZaaaaaaaadaadaadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaajCaMIaObaMIajCbmNaJiaEUaCkaCkaCkaCkaCkaCkaCkaEUaOcaKBaqhbrTaKBaadaFaaFaaFaaFaaFaaFaaFaaOdaOeaOdaOfaJnaKvaSpaSqaSraSsbKgaIebJraKAbHxaOnaOobHEadraQWaMWaadbFZbIRbITbISaOtbveaLIbIGaLIbvPaJzbJoaOyaSDbsJaNpaOAaOBaLUaOCaODaNmbqoaNnaadaSDbqDawnawoaCWbvNaOHaOIaOIaOJaOKbvLaCZbvzaJRaONaOOaKRaOPaIFaJVaOQaCZbaabaabKkbKjbaabKmbaabKlbaaaEDaOVaOWaOXaOYaOZaPaaEDaEDatJarNaPbaPcaPdaPebBhbuVasPasPasPaPhaPibwvaPkbwtasPaPmaPnawMawNaPoasPbtCaadaadaaaaaaaaaaaaaadaaaaaaaadaadaadaadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadaQNaPqaPraPsbmNbmNaCkaEUaEUaEUaEUaCkaCkaCkaCkaEUaEUaKBarVagvafUaadaFaaFaaFaaFaaFaaFaaFaaPtaHWaPuaPvaJnaKvaKvaKwaKvaIebKgaIebBOaKAbKsaPDaPEaPFaKBbtGaMWaaabFZbKwbKvbKuaPKbfsaPMaPNaPOaLIaJzbKravabqXbtFbqEaPUaPVaPWaPXaPYaPZbzebqEaadbDoavfawnaQcaCWaQdaQeaQfaQfaQgaNsaQhaCZbwJaQjaQkaQlbCJbCkbLDaMiaQobwubjubLubcEbHmbaabaabaabaabaaaEDaEDaQraEDaEDaEDaEDaEDaQsatJarNaNLaQtaQubzxbzfbBaasPbxRbzuaQBbwabzjaQEbxQasPbxPaQHavEasPasPasPaadaadauBaQIauBauBauBauBauBauBauBauBbtJaadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadaQNaQKbzWaQMbmNaEUbueaEUaQPaEXaEXaEUaEUaEUbuwaQRbueaKBasdbKdaKBaadaFaaFaaFaaFaaFaaFaaFaaaaaaabpMaPvaQTaJoaJpbnIaSrbmXbopbozbKKaQVaQVaQVaQVaQVaKBaQWaQXaadbpTbpQbpVbpUaRbbhjbhMbhxbikaLIaJzaJAaGTaSFaadaSDaRiaRjaRgaRhaRoaRnaSCaSDaadaSDavfawnawoaCWaRpaRqaRrbliaIxaNsaQhaCZblhbpWaRwaRxbpXbuHaRybuGaRAaCZbqkblJbuPbqcbqbbKLaRHasMasMasMasMbLbasMaRJasMbLaasMasMbimaRLaNLaRMaRNaROaRPaRQasPbvcaRTaRUblRbinbipaRYasPbiqbqRbqNauybLcauyaScauBbirauBatLatMaSfatMatOauBbiratPauHaadaadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadaSgaQNaQNaShaSiaQNaQNaQNbvfaQNblSblSblSblSaQNaQNbvnaQNaQNaQNaSoaQNaadaFaaFaaFaaFaaFaaFaaFaaaaaadaZpbsfaJnaKvaKvaKwaKvaIeaJuaIebvgaQVbmObmfaWcaSyaKBaQWaKBaaaaaaaadaaaaJzaSzbisaSBaJzaJzaJzaJzaJAatWaYHaXDaWbaWbaWbaTTaSEaXsaWbaWbaWbaXDaSFbwMbwRbvsaCWaCWaCWaCWaCWaSJaSKaSLaCZaRubitaRwaSNbsRbvraCZaCZaCZaCZbaabaabaabaabaaaQsaSQaQsaSRaUobwTaQsaQsbiBarNbivarNarNbnBaSZaNLaTaaTbaTcaTdaTeasPaTfaTgbwSaPiaTibiuaTkaTlaTlaTlaTlaTmbteasPaTnatMaToatMauGasPasPasPaTnatMauGatPasPaadaaaaaaaaaaaaaacaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadaadaTpbtybtfbthbtibtjaTsaTtaTsaTsaTsaTsaTuaTsaTvaTwaTxaTyaTzaQNaadaaaaFaaFaaFaaFaaFaaaaaaaaadaZpbuKaJnaKvaKvaKwaKvaIeaTAbumbujaTDaTEaTFaTGaTHaKBaQWaKBaKBaKBaKBaKBaKBaKBaKBaKBaJzbuhbuiaJzaTJaTKaZLaTMaTNbugaZLaTPaTQaTPaZLbdabidbltaTUaTVaTWaTXbxBbuMbLGbxSaCWbswbuObswaCZaCZaCZaCZbAybzZaCZaCZbwybvQbmyaUhbLIaUiaUibNBaUkaUlaUmaUnaUobOoaUqaUrbiCbiEbjCbjRbjXbkeaUwaNLbwVbwYbwZbxuaUBasPblkbmHbmHaUEasPaPkbkqaTlbuLaUJaUKaTmasPasPasPasPasPasPasPasPaDUasPasPasPasPasPasQaadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadaULbwBaUMaUNaUMaUMaUMaUMaUOaQOaQOaUPaUMaUMaUMaUOaQOaUQaURaQNaadaadaadaaaaaaaaaaaaaaaaadaadaZpbxlaJnaKvaKvbxaaGDbxgaGDaUWbqmbqqbqlbqjbqdaVcaKBbPBbqeboZboZboZboZboZboZbNHboYboeaVjbwXbmAaVmaVnaVoaVpaVkaVkbwIaVraVsaVraVtaVkaVuaVvaVwaVxaVyaVzaVAaVBaVCaVDaVEaVDaVFaVDaVGaVDaVHbzqbqYbzrbtcbzYbzYbATaVLaVMaVMaVMaVMaVNaVMaVMavAavAavAavAaVOavAarNbtdbtsbufarNbttarNaNLbqTbAzbqMbAzaNLasPasPasPasPasPbqibsbbqIblFbeSaWdaWeaTmbcebcebcebcebcebcebcebcebcebcebcebPRaMjbPRaMjaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaSgaAXaQNaWgaQNaQNaQNaTpaWhaTpaWiaQOaQOaWjaTpaWhaTpaWkaWlaWmaWnaKBaKBaKBaKBaWpaWqaWraKBaKBaKBaKBaZpaMmaOiaKvaKvaIgaKvaOkaOpaOmaOlaQVaQVaQVaQVaWzaKBaOhaKBaKBatUatUatUatUatUatUatUaWCaWDaOgaWEaWFaWGaWHaWIaWEaWEaWJaWKaWLaWKaWKaWKaWMaWNaWOaWPaWQaWRaWSaWTaWKaWKaWKaWKaWUaWKaWKaWKaWVaWKaWWaWKaWXaWKaWKaWYaVZaVMaXaaXbaSnaXdaOaaVMaXfaXgavAaXhbjcavAarNarNarNarNarNbhvaXjaXkaXlaXmaMgaSjaYZaSmaNMaRlaVPaRmaXvaVlaXxaXyaXzaXAaXBaTmbceaTmaTmaTmaTmaTmaTmaTmaNCaTmaTmaTmaTmbhuaTmaadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadaadaadaaaaNBaPBaXEbeNaXFbhtaXHaVgaXIaXFbeNaXJaXKaQNaXLaXMaXNanFaXOaXOaXOaXOaXOaXOaXPbffaXRaZpaJWaKzaJXaLdaKPaSeaNqaHgaLeaLFaHgaJyaJNaHgaMnaMNaMPaMHaMKatUauUauVauWauXauYatUaYoaMSaUCaUsaUsaUgaUHaUGaUFaUsaVeaVdaUgaUsaUsaUsaUsaUsaUgaUgaYyaSYaSYaSYaSYaSYaSYaSYaSYaSYaSXaTOaTjaSYaUtaSXaUuaSYaTOaYGaRkaVMaYJaYKaYJaYJaYLaVMaXfaYMaYNaYOaXiavAaSaaRSaRFavAaYSaSdaTmaSbaRZaRXaRWaYXaYYaSWaSWaSWaSWaSWaSWaSUaSVaSxaSAaSkaZfaTmaMlaTmaadaadaadaadaadaaaaadaadaadaaaaTmaMjaTmaadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacaaaaaaaadaaaaaaaaaaaaaULaWhaZhaSlaSlaSlaSlaZiaWhaULaaaaQNaZjaZkaZlaZlaZlaZlaZlaZlaZlaZlaZmaNaaKBaHgaHgaHIaHIaHIaHgaHgaPQaHgaNfaPJaMNaOxaQqaQyaQCaGRaOUaFhaOjatUauYawaawbawcauYatUaQSaYpbRAaZLaZLaZLaZLaTqaZNaZNaZOaZNaFLaYgaXtaXtaXtaXtaXtaXtaXtaXtaXtaXtaXtaXtaXtaXtaXpaZTaZTaZUaZTaZTaZTaZTaZTaZTaEMaYpaRkaVMaYJaSOaSSbbJaXeaVMaXfaXiavAbacbadavAbbMaThaUnavAbkYbkZaXuaXCbaiaXXbakaMZbambaobaobapbaqbarbarbasaZbbatbaubavbawaTmaPCaTmaTmajCajcaaaaaaaaaaaaaadaaaaaaaaaaadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabaAbaBbaCbaBbaDbaBbaBbaDbaBbaCbaEbaFaQNaZjaSHbaHaSIbaJbaKaSwbaMaSGaZlaZmbaObaPbktaOvaOwaOvaOvaOMaOvbkxaHgaMxaOLaOzaPyaPzaMXaPxaOTaOUaFhaOSatUauYaxkaxlaxmauYatUaWCaYpaXoaZLbbpbbqaZLaPAbbsbbtbbubbvaFLaadaaaaaaaadaadaadaadaadaadaadaadaadaadaadaadaadaZTaDzbbybbzbbAbiebbCaDTaZTaWabbFbbGaVMaOqaYJaStaOrbbKaVMavAaWZavAavAavAavAaUqaQsbbNavAbbOavAaTmaTmaTmaWwbbRaMvbbTaMpbbVaYZbbWbbXbbYbbZbcabcbbbYbccbcdaTmbjjbcfbcgbchbchbciaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabaAbaEbaBbcjbckbckbclbcmbcnbcobcpbckbckbcqbcraTpaZjbcsaGVaInbcvbcwbcxbcybczbcAbaeaZxaCCaIbaIbaIaaHuaHqaHgaHgaHgaHgaGPaHsaHraGNaGOaGHaGQaGRaGSaFhaHfatUaGKaGLaGMayFayHatUbcUbbFaKiaZLbcWaIlaZLbbBbcZaXwbdbbdcaGFaadbdeaIjbdfbdjaZPbdhbdibdjaZPbdhbdkbdkbdlaadaadaZTaCBbdnbdobdpbdqbdrbdsaZTaIpaYpaHmaVMaVMaJQaHUaHnaVMaVMbkbaGxaGAbdBbdCavAavAaYEavAavAbdEaImaGEaGyaTmaIkaGBaFIbdKaGwaTmaGCbdNbdObdPbdQbdRbdSbdTbdUbdVbdWaYDaZobdYbdZbeabebaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabcqbecbedbeebckbefbckbefbckbefbckbefbckbegbehaXFaZjaFcaZlaFGbekbelbembenaFHaZlaXQaYBberaFQaFPaFXaFWaGdaFOaFKaFEaFMaGjaGzaGvaFjaFkaVYaFgaFnaFpaFhaFiatUaEIazZaEHaeQaAcatUaEJaYpbRAaXGaEFbePaZLaFmbeRaGIaFlbeUaFLaadbeVaKxaEEaDdaBebfaaEGbfcaAYaBmaECaJxbfhaadaadaZTbfiaClbfkbflbdqbbCaDVaZTaEMbfnaFbaDYbfAbfxbfybfwbfAbfAbfAbfybfAbfAbfAaDGbfAbfAawLayubfwbfxbfAbfxaxpaDRbfAbfBbfCaEKbfEaTmaTmbfFaTmaTmbfGbfHbfIaELbfKbfLbcebcebfNbchbchbfOaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabfPbckbckbaCbckbefbckbefbfQbefbckbefbckbegbehaXFaQQaQpaZlbfSaQnbfUbfVbfUbaHbaHbfWbfXbfYaHgaKVaKUaKTaReaKNaKFaKDaHgaJgaKyaRcaGNaJwaHgaLGaLxaRKaRzaLEatUaCFaLvaLwaCIaKYaKZaLgbvdaRfaZLaZLaZLaZLaKWaZNaZNaZNaZNaFLaZPaZPaOEbgsbgwbgubgvbgtbgsbgubgwbgvaNAaZPbgyaZPaZTaYtaYtaYtaNobgAbgBbgCaZTaPlbgEaPjaPPbgJbgIbgJbgKbgJbgJbgLbgMbgMbgNbgMbgMbgMbgMbgMaQmbgObgPbgQbgRbgSaQFaQDaQvbgVaQwbgXbgYbgZbhabhbbgXaTmbhcbhdaQxbfFaQzaQAaQGbhiajCaDZaaaaadaaaaadaaaaaaaaaaaaaaaaaaaaaaadaadaadaadaadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabcqbhkbedbeebckbefbckbefbckbefbckbefbckbegbehaXFbhlbhmbhnaPfbhpbhqbhqbhraMQaPwbcCbepbhwaHgaIJaILaIKaNPaIoaIIaIwaHgaHcaHtaNNaPgaIfaHgaZqaJPaNSaZqaHgatUaJvaIUaJtaEcaEdatUaIMaYpbRAbhQaIAbhRbhRaIzbhRbhRaIhaKobhUbqraPHaNhbgubgubgubgubhZbgubgubgubguaCEaBCaMBaZPaLAaJYaMabifbigaKjbiibijaZTaKmbilaKnaLDbiwbiwbiAbixbiAaMYaKXaNtbiwbixbiwbiwbiwaLLbiwaOGaOFbiyaNObiwbiybiAaMoaMybiDaMwbgXbiFbiGbiHbiIbiJbgXbgXbiKbiLbiMbiNbiObiPbiQbiRbiSbgXbgXbgXaadaaaaaaaadaaaaaaaadaadaadaaaaaEaaaaaEaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabiTbiUbaBbcjbckbckbiVbckbiWbiXbckbiYbckbcqbiZaULaZjbjabmsblLbmmbjebjfbjgbmMbmRbmPbjkbjlaHgaZraZqaZgbabaHgaHgaHgaHgaHgaHgaHgblxaHgaHgaYjaYkaZRaZSaYqatUatUatUaYIaFoatUatUblBaYpaZVaTLaTLaTLaTLaTLaTLaTLaTLaTLaZPbjEbfbbhBbjMbmSbjIbhVbjKbjIbjIbjLbjMbjNbjObjPaZPaZTaYtaYtaYtbjQaYtaYtaYtaZTbmTaYpbahbjSaWxbjTbjUbjVaVWbjSbagbjSbjSaVibjSaVbaVbbjSaVibjSbjSbkcaVabkbaUZbkgbkgbkhbkibkjbkkbklbkmbknbkobkpaUvbkrbksbmdbkuaVRbkwbtubkybkzbkAbkBbkCbgXaadaadaadaadaadaadaadaaaaaEaaaaRCaaaaRDaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabiTbaBbaCbaBbaDbaBbaBbaDbaBbaCbiUbkDaQNbkEbkFbkGaQNbkHbkHbkIbkHbkJaQNaZcaXYaZdbjZbkVaXZaYbaZebkObkXaYcaYdaXUaYebkXaYWbjJbkObkQaXraZabkVaWAbkWaXUaXSaXTaXWbkXbjYblbblcbldbleaVSaVTbjdaSTbjbbjHbjGbtIaPLblnbloblpblqbeoblsaUYblublvblwblrblqblyblzblAaPTaZTblCblDblEbigaPRaYtbljaZTaZQaYpblIbjSbjSbjSbjSbjSbjWbjSaUAbjSbnzblKblfblMblNaUzblPblObjSblQbkdbkdbafbkgbkgblTbkiblUaUvblWblXblYblZbmabmbbmcbksbmdbmeaUdbmgbmhblXbmibmjbmkbmlbkabmnbmobmobmobmobmoaadaaaaRDaaaaRCaaaaRDaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaTpaWhbmpaSlaSlaSlaSlbmqaWhaTpaaaaQNaZjbmrbkGaQNbmtbmubmvbmwbmxaQNbooaZvboIboGboFaQbbaZbbEbmEbmCbmFbmGbmCbmCbmCaJCboMbmCbmBbmDaZwbmJbmKbmKbmKbmKaZybmKbmKboXbBebBfbmQbpHbpzbplbphbpsbppbqnbllbtIaQiblqbmYbmZbjFbnebncbndblGbndbnfboPboybnibnjbnkaQYaZTbnmbnnbnobnpbnqaZTaZTaZTaEMbnrbnsbjSbntbnubnvbnwbnxbjSbnybjSbrnbnAbnAbnAbnAbnAbnAaZAbjSahrbkdbalaZEbnEbkgbnFbnGbnHaZBbnJblXbnKbnLbnMbbSbnObnPbnQbnRaUdbnSbnTbnUbnVbnWbnXbnYbqpboabobbocbodbodbmoaadaaaaRDaaaaRCaaaaaEaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadaSgaPBaQNaXFbzWaXFbajbofbogbohaXFbzWboibojaQNaZjbkFbkGaQNbolbombmwbmwbonaQNbpPaZtboqbmVbmUbvhbotbosbvGbzbbySbosbosbosboxaIqbnCbosbosbvGbvhbySbosbosbosbnNboubosbosbnDboAboBboCblebngbnbboHbnabmWbnlbnhbtIbtIboJboKboLboLboLbjhboNbndboObjiboLboLboLboQboRaZPaZTaQaboTboUboVboWaZTbnZbokbaYbpabnsbjSbpbbpcbpdbpebpfbpgaWybpibpjbnAbnAbnAbpkbnAbnAblObjSbpmbkdbpnbpoaZsbkgbpqbprbnHaUvaYmbptbpubpvbpwbgXboDbksbmdbpyaYfbpAbpBbpCbpDbpEbpFbpGbfJbmnbpIbpJbodbpKbmoaadaaaaRDaaaaRCaaaaRDaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacaaaaaaaaaaaaaaaaadaadaQNaULaWhaULaWiaQOaQOaWjaULaWhaULbpLbrsbpNbkFbkGaQNbpObpObkIbpObkJaQNaSvaSubduaKBaKBbovaKBbdgbcXbcSbcJbdgbcXbpYaKBaWBbqabaIbazbaGbaLbaNbaIbazbaGbqabaIbazbaGbqabqgbbobblbbIbbwbcuboHbcBboHboHbbebbfbtIbqrbqsbqtbbgbqtbqtbquaTrbqwboLboLbdyboLbqxbqyaZTbqzaRBbqAbdqbqBbqCaZTbdXaYtaEMbqFbqGbjSbqHaTBbqJbqKbqLbjSaREbjSaSMbnAbnAbqObqPbqQbnAaRabjSbnBbkdbkdaSPbkdbkgbqUbqVbqWbgXaRdaRsbqZbraaRtbgXbrcbrdbrebrfbrgbrhbnUbribrjbrkbrlbrmbeibrobrpbrqbodbodbmoaadaacaRDaaaaRCaaaaRDaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaTpaQUbrsbrsbrtaQOaQObrubrsbrsbrvbrwbrxbrybrzaXVaYaaYlbrDbrEbrFaYnaXqaXnbrJbrKaKBbrLbrMaKBbrNbrObrPbrQbrObrRbpYbrSapvbqabrUbrVbrWbrXbrYbrZbrVbsaaYibscbrVbwFaXcbqgaYpaUyaUxaUaaWvaTYaVQaVJaTYaTCbsmbsnbsobspboLbsqaZubssbssbssaYRaYQaZnaYUboLbsxbsyaZTbszbsAbsBaZzbsDbsEbsFaYxaYtaEMbqFbsHbjSbjSbjSbjSbjSbjSbjSaDWbjSbjSaPIaRvbnAbnAbnAbnAbsKbjSbsLbsMbkdbkdbkdbkgbsNbsObsPbsQbsQbsQbsSbsQbsQbsTbmcbsVbmjbsWaYraYsaZYaZWaZYaZWaZZaZWbanbmnbmobmobmobmobmoaadaaaaRDaaaaRCaaaaRDaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadaULaUbaUMaUcaUfaUeaUeaUTaUeaUSbtkbtgbtlbfMaUIbtnaPfbtobqfbqSbpxbpSbfRbrIbrHbtvaKBbtwbrBaKBaUVbtzbtAbrQbtBaUUbpYaYCaGGbqaaYFbrXbrXbrXbrYbrXbrXbrXbrXbrXbrXaUXbaLbqgaYpbRAblebgxbgaaIibtIbgrbtKbtLbfTblebtNbtObtPbssbndbndbtQbtRbtSbtTbtTbtUbtVbtWbtXbtYbdqbtZbuabgzbucbudaZTbhHaYtaYPbqFbqGbsIaVKaYTaVqaVXbhNaVUaVVaWfbjSbhXbhWbhWbhWbhWbhWbhYbjSavAbnBaQsaQsaQsbuobupbuqburbupbupbusbutaYVbuvbiabuxbuybuzbuAbuAbuBbuCbuDbnVbuEbizbicbibboabobbuIbuJbuJbmoaadaadaWsaadaWuaadaWtaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaMLaMLaWgaMLaMLbuNbojaMLbuNbojaMLaMLaQQbejbuQbuQbuQbuQbuQbuQbuQbuRbuQbuSaKBaKBaYuaYvaWoaWoaKBaKBaKBbtBbtBbrPbrQbuWbtBbpYbpYaZmbqabuXbrXbrXbuYbuZbvabvabvabvabvabvabvbbeYboAbvdaYwblebleblebleblebeXbeWaVIbleblebvibvjbqtbvkbvlbvmbfdbvobvpbvqbfmbfgboLbvtbvuaZTbvvbvwbdqbvxbdqbvyaZTbeZaYtaEMbqFbqGbsIbulbulbulbulbulbulbvAaTSbvCbvBbvBbvBbvBbvBbvBbvDbvEbvFbowbvHbvHbvIarNbvJbvKaTIbvMaRRbvOaYzaYAbvRbiNbvSbvTbvUblXbvVbvWbvXbvYblXbvZaRVbwbbfJbmnbpIbwcbwdbwebmoaadaaaaRDaaaaRCaaaaRDaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadaULaUbaUMaUcaUfaUeaUeaUTaUeaUSbtkbtgbtlbfMaUIbtnaPfbtobqfbqSbpxbpSbfRbrIbrHbtvaKBbtwbrBaKBaUVbtzbtAbrQbtBaUUbpYaYCaGGbqaaYFbrXbrXbrXbrYbrXbrXbrXbrXbrXbrXaUXbaLbqgaYpbRAblebgxbgaaIiblebgrbtKbtLbfTbtIbtNbtObtPbssbndbndbtQbtRbtSbtTbtTbtUbtVbtWbtXbtYbdqbtZbuabgzbucbudaZTbhHaYtaYPbqFbqGbsIaVKaYTaVqaVXbhNaVUaVVaWfbjSbhXbhWbhWbhWbhWbhWbhYbjSavAbnBaQsaQsaQsbuobupbuqburbupbupbusbutaYVbuvbiabuxbuybuzbuAbuAbuBbuCbuDbnVbuEbizbicbibboabobbuIbuJbuJbmoaadaadaWsaadaWuaadaWtaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaQNaQNaWgaQNaQNbuNbojaQNbuNbojaQNaQNaQQbejbuQbuQbuQbuQbuQbuQbuQbuRbuQbuSaKBaKBaYuaYvaWoaWoaKBaKBaKBbtBbtBbrPbrQbuWbtBbpYbpYaZmbqabuXbrXbrXbuYbuZbvabvabvabvabvabvabvbbeYboAbvdaYwblebleblebleblebeXbeWaVIbleblebvibvjbqtbvkbvlbvmbfdbvobvpbvqbfmbfgboLbvtbvuaZTbvvbvwbdqbvxbdqbvyaZTbeZaYtaEMbqFbqGbsIbulbulbulbulbulbulbvAaTSbvCbvBbvBbvBbvBbvBbvBbvDbvEbvFbowbvHbvHbvIarNbvJbvKaTIbvMaRRbvOaYzaYAbvRbiNbvSbvTbvUblXbvVbvWbvXbvYblXbvZaRVbwbbfJbmnbpIbwcbwdbwebmoaadaaaaRDaaaaRCaaaaRDaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabwfbwfbwfbwfbwfbwfbwfbwfbwfbwfbwfdzWbwgbwhaZjbwibuQbwjbwkbwlbwmbwnbwobwpbuQdzVbrTbwsaWocfMbNCaWobwwbwxbxTbwzbwAbrPbrQbwzbwAcjPbpYaZmbqabwCbwCbwCbrYbtEbwDbwDbwDbwEbwFbwGbwHaXcbqgaYpbRAbtIceNceqbwKbwLbwNbwNbwObtIblebwPbwQaZPaZPaZPcgVcgWcgWcgWcgXaZPaZPaZPbwUbwPaZTaZTbtYaZTaZTaZTaZUaZTcgSaYtbwWbqFbGOcgUcjRbxbbxbbxbbxcbxbbxdbxebxebxebxebxebxebxebxebxfckoavAaUoaUoaQsbxharNbvJbxibxjbxkcfebxmbxncjTbxpbxqbxrbxsbxtcjVbxvbxwbxxbxyblXbvZcfibxAcegbrobrpbxCbuJbuJbmoaadaaaaRDaaaaRCaaaaRDaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabwfbwfbwfbwfbwfbwfbwfbwfbwfbwfbwfbwfbxDbxEbxFaZjbxGbuQbxHbxIbxHbxJbxKbxHbxLbuQbxMbxNbxOaWobKYbKWaWocepaKBbxTbxUbxVbrPbrQbxUbxVbxTbpYaZmbqabxWbxXbxXbxYbtEbrVbrVbrVbxZbyabrVbybbqabycaYpaZKbtIbtIbydbyebyfbygbyhbyibtIbyjbykbylcjIbynbyobypbypbypbyqbypbymbyrbysbytbyubyvbyobyocjJbywbyxbyybyobyAcfLbyCbyDbnsbyEbyFbulbyGbulbyHbulbyIbulbyJbyKbyLbyLbyLbyLbyLbyKbyMavAbyNbyOaQsbxharNbxpbxpbyPbxpbxpbxpbyQbxpbxpbxqbyRdzUbiJbiJbiJbyTblXbvXblXbvZbyUbwbbfJbmnbmobmobmobmobmoaadaaaaaEaaaaRCaaaaRDaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabwfbwfbwfbwfbwfbwfbwfbwfbwfbwfbwfbwfcjrdzTcjraZjbyVbuQbyWbxHbxHbyXbyYbyYbyZbzadzSbzcbzdaWocfhbRyaWobzgbzhbxTbzibwAbrPbrQbwzbwAcjqbpYaZmbqacffbwCbwEbzkbzlbzmbznbzobzpbrVbrVcjpbqacjobzsbztceAbzvbzwbzwceOceObzzcetbzBbzCbzDbzEbzFbzGbzHbzIbzIbzJbzKbzIbzLbzMbzNbzObzPbzQbzRbzPbzSbzTbzUbzEbzPbzVcftbzXcjwcjtcjHcjxbAabAbbAcbyHbAabAdbAcbAebAfbAgbAhbAibAfbAjbAfbAkavAaQsaQsaQsbxhaQsbxpbAlbAmbAnbxpbAobApbAqbxpbArbAsbAtbAubiJbAvbxyblXbxwbAwbAxcelcgRbibboabobbAAbABbACbmoaadaaaaRDaaaaRCaaaaRDaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabwfbwfbwfbwfbwfbwfbwfbwfbwfbwfbwfbwfbADbAEbxFbAFbAGbAHbAIbAJbxHbAKbxHbxHcgJbuQcerarXagvaWocesaWoaWoaKBaKBbAObAPbxVbrPbrQbxUbxVbAQbpYaZmbqabARbrVbrVbASbtEbrVbrVbrVcjbbAUbrVcjdbqabAWaYpbAXceebAZbAZbAZcefcgIcgEcdGbAZbBgcgHbBibBjbBicjibBlbBmbBnbBobBlbBpbBibBjbBibBqcdKcdybBqbBqbBtclQbBvbBqbBwbBqbBxbBybBzcgMbBBbBCbBDbBCbBEbyKbBFbyKbBGbBHcjhbvBbBKbvBcjfbBMbBNavAcgLcgKaQsbxhaQsbxpbBQbBRbBSbBTbBUbBVbBWbxpbArbAsbAtbAubBXbAvbBYblXbxwbAwbvZceibwbbfJbmnbpIbCabCbbCcbmoaadaaaaRDaaaaRCaaaaRDaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabwfbwfbwfbwfbwfbwfbwfbwfbwfbwfbwfdzWaULbwhaZjbyVbuQcmJbCebCfbCgbChbxHbCibuQbAMbCjarVarXdAeaKBbClcljaQZbCobCpbCqbCrbCsbCqbxTbxTbpYaZmbqabwCbwCbwCbASbtEbCtbCtbCtbqabqabCubqabqabCvbCwbCxbSAbSAbSAbSAcllclmbSAcgCbSAbSAbSAbSAaadbCDbCEbBlbBlbCFbBlbBlbCGbCHaadbBichRcicbCLciJbBqbBqbBqbBqbBqchNbBqclnbCObqGbsIbCPbCQbCRbAebulbCSbyFcnhbCTbCUbCVbulbulbCWbsIbsIbCXavAavAavAavAbxhaQsbxpbCYcigcidcimbDccmVcmUbupbiPdAfbDgbAubiJbAvbDhblXbDibAwbvZchBbxAcegbrobrpbDkbABbABbmoaadaaaaRDaaaaRCaaaaRDaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaMLaMLaWgaXDaMLckJaSlbxFaMLaMLaMLdAbaZjckbbuQbxHbxHbCfbDpbDqbxHbDrbuQbAMaKBaKBaKBaKBaKBbDsbDtckcbDvbDwbDtbDxbDybDzbDAbxTbpYdAcbpZbrVbrVbrVbASbtEbrVbsacmnbqabDCbDDbDEbqabqgaYpcaVbSAckrcgxbSAaadaadbSAcgGbSAckIchTcgFaadbDPbDQbDRbDSbDTbDRbDSbDUbDVaadchAchUbDYbDZbEacbXbEcbEdbEebBqbEfbBqckKbEhbEibEjbEjbEjbEjchXchWbEjbEmbEjbEjbAfbEncmGcmHbEpbsIbEqbErcmFbEtbEuavAbxhbEvbxpchYchYchYciabEycmIcibbxpclibmcdAdbiJbiJbiJbECblXbEDbEEbvZbyUbwbbfJbmnbmobmobmobmobmoaadaadaWtaadaWuaadaaEaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaTpaQUbrsbrsbrsbrsbrsbrsbrsbrsbrrbrsbpNchrbuQchxbxHbxHbAKbxHbEHaKBaKBbAMaKBbEIbEJbEKbELbEMbENcfObEPbEQbENbENbERbENbENbESbpYaZmbqabETbrUbrVbASbtEbEYbEYbEZbqabFabFbbFcbqabqgaYpcaVbSAcjKbVXbSAcjWcjXbSAcjYbSAcjYchgbSAcfsbFmcfsbFmbFmbFnbFmbFmcfsbFmcfsbBqcgobFpbFqbFrbFsbFtbFubEabFvcgnbBqchSbqFbFxbEjchQckabFAbFBbFCbFDbFEclYbEjbEjbEjbEjbEjbEjbsIbFGbFHbFIbFJcfZavAbxharNbxpbFLbFMbFLbxpbxpbxpbxpbxpcejbFObsVbFPbFQbFRbpAbFSbFTbFUbAxchHchIbibboabobbFWbFXbFXbmoaadaaaaRDaaaaRCaaaaRDaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaULbwBaUMaUcciMcihbtgcilbtgbtgbtgcgPckqchkbuQbxHbGabxHbAKbGabGbaKBbGcbGdaKBbGebxTbxTbGfbGgbpYbGhchlcfkbGhbGhbGhbGhaKBbGkaKBaZmbqabETcgYbwEbASbtEbqabqabqabqabqabqabqabqabGobbFcfNbSAcfYbVXcgicglcgsbSAcgCbSAcgDbSAbSAdzXdzYbGybGzbGAbGBdAaclGcjlbGFdzZbBqcfrbGIbGJbGKbFsbGLbGMbGNbBqbCNbBqcjGbqFbGOchebGRbGRbGSbGTbGUbGVbFEchdbEjbGXbGYciTbHaclubsIbHcbHdbHebHfbHgavAbxhbMUclFbHibHjbHicfpbHlclEbMUbHocejbmcbHpbHqbHqbHqbrhblXblXblXbvZcfobwbbfJbmnbpIbHsbHtbHubmoaadaaaaRDaaaaRCaaaaRDaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaMLaTpceQaTpaMLbuNbojaMLbuNbojaMLbXfaQNaQNbuQbxIbHybHzbHAbHzbHBaKBbAMaKBaKBccsccsccPcdbbpYbpYbHFbHGbHHbHIbGhbHJbHKaKBcMVbHMaZmbqacfPbrXbrXbASbXybqabHPbHPbXnbXibHRbHSbqabHTaYpcaVbSAcaPbVXcdcbZOcaDbZybZzbZfbZrbXCbSAcNNcNObIfcLFbIgbIfcLLbIfbIhcMqcMUbBqcbNcbScbTcbUcbXbInbIobIpbBqbCNbBqbSzbqFbqGcdNbFCbFCcdPcdUcdQbFBbFEbJYbEjbIzbIAbIBbHabICavAavAavAbIDbIEbIFavAbxhbMUcdVccabIJccacdOccbcdVbMUbINcejbmcbsVblXblXblXblXblXblXbnTbvZccjbxAcegbrobrpbIPbFXbFXbmoaadaaaaRDaaaaRCaaaaRDaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaXFbeNaXFaadaaaaaaaaaaaaaadaWocKlcfnajnaKBaKBaKBaKBaKBaKBaKBaKBcJUbIVbIWbIXbIYbIZbJabpYbpYbJbbJcbJdbJebGhcdEcdAaKBbJhbJibUrbqabWobrXbrXbASbtEcdIbrVbrVbJmbJnbwFbJpcdFbqgaYpbWgbSAbWkbVXbVYbWbbWcbVjbVpbVqbVrbVibSAcKqcLEcxwbJDbJEcbnbJGcyvbJHbJIcyWbBqcbNcbOcbPcbQbBqbJObJPbJQbBqbCNbBqbSzbqFbqGcdpbFCbFCcdecdxcducdtcdrcdzbEjbJZbIAbKabKbbKbbKcczXavAbKeavAbKfavAbxhbMUcdOcdOcdOcdOcdOcdOcfmbMUbINcejbKnbsVblXblXbKobKpbKoblXblXbvZbyUbKqbfJbmnbmobmobmobmobmoaadaaaaRDaaaaRCaaaaRDaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaULceQaULaadaaaaaaaaaaadaadaWobrTcwPbKtbKtbKtbKtbKtbKtbKtbKtbKtbKxaKBbKybxTbKzbxTbxTbKAbKBbKCbKDbKEbKFbVcbKHbKIbKJcwQbHMcwHbKMbKNbKObKPbKQbtEccObrVbKRbJmbwFbrZbJpccNbqgaYpbUjbSAbUhbUXbUYbUNbUSbSAbTCbSRbTzbTDbSAcwKcwLbLdbLecvFbLgbLhbLicuhcvycwlbBqcbicbjcbgcbhbBqbBqbBqbBqbBqcbkbBqbSJbqFblIbEjbJSccKccDccfccecchccgbLybLzbLAceGbLCceFbLEbLFcubbLHctYbSIctXbLLbLMbMUccdcdOcdOcbZcdOcdOcbYbMUbINcejbLQbsVblXbnTbKobLRbKoblXblXbAxcblccLccMbLVbLWbLXbLYbLYbmoaadaadaWsaadaWuaadaWtaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadaadaaacnwcnwceEcnycnwbMbbMbaWocaYaWobMebxObCMaKBbMgbMhbMibMjbMkbKAbKBbMlbMmbMnbMobGhbMpbMqaKBbMrbrTaQWbqabSFbrXbrXbrXbMtcbWbMvbMvbMwceCctWbqabqabAWaYpbSDbSAbSAbSAbSAbSAbSAbSAbSAcbAcbRbSAbSAbMEbMFbMGbMEbMHbMHbMHbMFbMIbMEbMFbBqbBqbBqbBqbBqbBqbBvcekbBtbBqbBwbBqbSzbqFbNWbMNbMNbMNbMNbMNbMNcbzbMPbMNbMNbMNbMNbMNbMNbMNbMNavAbMQbMRbLJbMTbLMaQsbMUcbxcdOcdOcbycdOcdOcbwbMUbMYcejbMZbNablXblXblXblXblXblXblXbvZcaQbwbbUibmnbpIbNdbNebNfbmoaadaaaaRDaaaaRCaaaaRDaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadaaaaadaadaaaaaacnwcixdzQcoBcnwaWoaWoaWobNgaWoaWoaWoaWoaKBciybNjbNkccnciAbNnbNobNpbNqbNrbNsbGhbNtbMpaKBbMrbZwaQWbqabNubscbNvbNwbNxbqabNyccpbNAciNdzRbqaccobqgaYpccCccrccxccrccrccqccrcdoccrcdkcdlccYccZccrbNDbNJbNKbNKbNKbNLbNKbNMbNNccccfHcfJcfKcfScfUcccccicccccccclcckcccccmbqFcgzcgbbMNbNZbOacgccipbOdbOebOfbOgcgBbNZbOibMNbOjbOkbOldzPaQsaUobOmbOnbOobMUbMUcitcdOcisciwcivbMUciubiNcirbOubsVbOvbOwbOxbOyblXbOzbOAbOBcdqbLTcfGbLVbOEbOFbOGbLYbmoaadaaaaRDaaaaRCaaaaRDaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadaadaadaaaaaaaaacnwcfFcptcifcnwaadaadaadaaaaadaadaaaaaabOKbOLbOKbOMbOMbOKbONbOObOPbOQbORbOPbOPbOPbOPaWobMrbHMaQWbqabqabqabqabqabqabqabqabqabOSbqabqabqacijbqgbOUbOVaWKaWKaWKaWKaWKaWKaWVaWKbOWbOXaWXaWWaWKaWKbOYbOZbPabPbbPcbPdbPebPfaWKaWKbPgbPhaWKaWKaWKaWVaWKaWKaWKbPiaWKbPjchPcfzcfycfxbPmbPobPnbPnbPpbPqbPrbPnbPnbPsciebMNbPvbPwavAatJaQsaUoaUoaUoaUobMUbMUcfAcfCbYzcfEcfDbMUbIMbPCbPDbPEbPFbOvbPGbxwbAwblXbPHbPIbAxbPJceHbTPbPLbmobmobmobmobmoaadaaaaRDaaaaRCaaaaRDaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadaadaadaaaaaaaaaaaacnwcqedzMcfwcnwaadaaaaadaaaaaaaaaaaaaaaaadaaaaadaadaadaadaadaadaadaadaadaadaadaadaqXaWocdmcdnbPTaVfaVfaVfcdjaVfaVfbPUbPVbPWcPtaVfcQFaVhcQabPZbQabQdbQcbQebQdbQdbQdbQdchGbQdbQgaVCbQhbQiaVCaVCbQjbQkbQlbQmbQnbQobQpbQqaVCaVCchccgZcgZcgZchachbchachibQtcfuchfceXchhcfjceVceUceWbQEbQDbQDbQEbQDbQFbQDbQDbQGbQHbMNbQIbQJbMNatJaQsaQsaQsbOobQMbMUceTceSceRbYzceKceJceIcgQbQTbQUbQVbQWbQXcgObQZbRabQWbRbbRcbOBcdiceHbTPbRebobbRfbRgbRgbmoaadaaaaRDaaaaRCaaaaRDaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacaadaaaaaaaaaaaaaaacnwcqZcracrbcnwaadaaaaadaaaaaaaaaaadaaaaaaaaaaaaaaaaaaaadaaaaaaaadaadcgNaadaadaadaWoaWoaKBbSraKBaKBaKBaKBcdfbMbbHMbRjcdhcdgbHMbMeaKBaKBaKBaZLaZLaZLaZLaZLaZLaZLaZLbhQaZLceybRwbRwcezceDbRwbRwbRwcbKcbDbqFcbBcbCbRDbRDbRDbRDcexbRDbRDbRDcewaTLcbocbdcbbaZLcfVbMNcevcfTcevbMNceubQEbQDbQDbQEbQDbQFbQDbQDbQGbRObMNbRPbRQbMNatJaQsaQsaQsaQsaQsbMUcdOcdOcdOcfRcfQcdOcfmbMUbPCbRXbRYbgXbgXbRZbRZbgXbgXbSabSbbvZcddbwbbUibmnbpIbSdbSebSfbmoaadaadaWtaadaWuaadaWtaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadaadaadaaaaaaaaaaaaaaacsccoMcscaadaadaaaaaaaaaaadaadaadaaaaaaaaaaaaaaaaaaaaaaaaaaaaadbYtbYsbYrbYqbYrbSkbSlbRKbVdbREbSpbSqbTsbRCbTsbTsbTybHMaKBaKBaKBaKBaKBaKBbRzbXVbRxbRpbRnbRmbRlbRkbRibYIbUIbXObUIbXRbXQbUIbXObUIbYIbMzbSKbMSbRLbRRbSNbRRbNibYKbRRbSNbRRbRLcadcadcadcadcadcpcbMNbYFbYGbPnbPnbYHbQEbQDbQDbQEbQDbSZbQDbQDbTabTbbMNbQIbTcbMNatJaQsaUoaQsbTdaQsbMUbVsbVtbVobYzbVEbWebVsbMUbTjbRXbRYbgXbTkbTlbTmbTkbgXbTnbsWbvZbScbxAbWnbrobrpbTqbRgbRgbmoaadaaaaRDaaaaRCaaaaRDaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadaaaaadaadaadaadaadctacractaaaaaaaaaaaaaaaaaadaadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadcZYbTsbTsbTsbTsbTsbTtbTubTvbTwbTwbTxbTsbSsbSubTsbTybrTaKBbMbbSobWqbShbSmbSnbXxbXxbXxbXxbSCbSBaZLbePbYIbWsbSxbYWbNYbPQbYWbYTbSGbXObTLbTSbTTbSNbSMbTVbTWbVfbZIbTWbTVbTZbSPcadbZLcpubZKcadbWwbMNbZSbZUbZYbUlbZVbQEbUkbUlbUlbUlbUmbUlbUlbUlbUnbUobUpbUpbUqcpjaQsaUobUsbyObyObMUbZsbMUbZtbZubZFbMUbZGbMUbTjbRXbRYbgXbUybTkbTkbUzbgXbUAbUBbUCbyUbwbbUibmnbmobmobmobmobmoaadaaaaaEaaaaRCaaaaRDaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaEaaaaaaaadaaaaaaaadaadcvTaaaaaaaaaaaaaaaaadaadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadcZYbUEbUFbUGbUHbUGbLZbUJbUKbULbULbUMbTsbNEbNFbNmbNzbMDbMJbMybMCbNbbNlaKBbMXbXxbXxbSObXxbMxbMcbYIbYIbYIbTIbMabWdbWjbWibWhbKGbXsbXEbTLbTSbTTbVebVfbVgbVhbKZbWSbVkbVkbVlbWGccAcmMbWAbWCcadbWwbMNbWxbWybWDbWEbTJbUlbVubVvbVwbVxbVybXlbXkbVBbWUbMNbVDbWTbMNatJaQsaUoaUoaUoaUobMUbMUbMUbMUbMUbMUbMUbMUbMUbgXbRXbRYbgXbTkbVFbTkbTkbgXbVGbVHbVIbNIbTObTPboabobbVKbVLbVLbmoaadaaaaRDaaaaRCaaaaRDaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadaAXaAXaAXaSgaadaadaadaadcvTaadaadaadaadaadaaEaAXaAXaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadcZYbUEbVObVPbVQbVRbTvbVSbNRbOqbOCbTQbTsbQfbQsbTsbTybrTaKBbMebtwbNSbObaKBbOcbQNbQubXxbXxbQRbYIbYIbQSbYIbTRbVCbXobXobXqbXsbXrbXsbXEbTLbWrbTUbVebVfbVfbVfbWtbUfbTYbWvcgTbXJbXIbXMbXNbXLcadbWwbMNbMNbMNbMNbMNbMNbWHbMNbMNbMNbMNbMNbMNbMNbMNbMNbMNbMNbMNbMNatJaQsaUobEvaQsbWIaUoaQsaQsaQsaQsaQsaQsaUobOoarNbRXbWJbiRbiRbWKbiRbiRbiRbWLbWMblXbQYbwbbUibmnbpIbWObWPbWQbmoaadaadaWsaadaWuaadaWtaaaaaaaacaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadaAXaaaaadaaaaadaaaaaaaaactSaaaaaaaadaaaaaaaaaaaaaSgaaaaaaaaaaaaaaaaaaaacaaaaadaadaadcZYbUEbWVbWWbWXbWWbWYbWZbZCbXbbXcbXdbTsbZdbZebTscsrbZwaKBbxzbxzbxzbxzbxzbxzbZbbZabYYbYXbYSbYIbYRbYQbZcccwccvbSEccubSEcctcctcctbUIbTLbTSbTTbRRbZWbZJcbacaZcbcccHbXGbXHccIcadccycczccBcadbRBbXXbXXbXXbXXbXXctrctubXXbXXbXXbXXbXXbXXbXXbXXbXXbXZctpbDOctcbDubYbbYbbYbbYbbYbcaXbYbbYbbYbbYbbYcbYbbYbcsLbCIbYebYfbYgbYhbYibZEbYkbYlbYmblXblXbZDbxAcaWbrobrpbYpbVLbVLbmoaadaaaaRDaaaaRCaaaaRDaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaAXaaabSjbSjbSjbSjbSjaadcuLaadbSjbSjbSjbSjbSjaaaaAXaaaaaaaaaaaaaaaaaaaaaaaaaadbYtcWRcdvbTsbTsbTsbTsbTsbYwbYwcaMbYwbYwbYwbYvbZXcaccaccaecaibYwcazcaBcafcagcbmbxzcaHcaGcaJcaIcaCbYIcaFcaEcaLbStcdsbZNbZNchVbGicbqbGicdHcbvbTSbYNbYObYPbCnbCnbYPbCncdCbYPbYUbYVcadcdMcaNcdLcadctVcizbWBbWBbWBbWBcdJbWBbWBbYvbYvbYvbYvbYvbYvbYvbYvbZgbZhavAbWIbZiavAavAavAavAavAcaravAbWIbZjaUoaUnaQsaQsaQsarNbZkbZlbZmbZlcdDbZnbZobZobZlbZpbZnbZqbwbbgXbmnbmobmobmobmobmoaadaaaaRDaaaaaEaaaaRDaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaAXaadcuHcuIcuIcuIcuIcuKcabbMWbMMbMMbMMbMMbMVaadaAXaadaaaaaaaaaaaaaaaaaaaaaaadbZZaaeckwckzckAckzckAckBckBbTibThbZxbZxbZxbZxbZxbZxcpHcpTbVzbVJbUObUUbVUbVVbVTbxzbWfbWNbWFbWubWfbYIbXebXabYIbXzbXgbZNbXAbZPbZQbZRbYjbZNbYMbTSbZTbYPbXUcdBcdBbXFbXPbXKbYPbWmbWpcadbWlcadcadcadbNPbYwbWBbNQbWabNOccGcbpbWBcakcalcalcqBcancbecaocajbZgbZhavAavAavAavAbYubYobYnavAcsgavAarNarNarNcasbTdbyOarNarNbgXbgXbgXbgXbgXcatcaucavbgXbgXbgXbgXbgXbgXaadaadaadaadaadaadaadaaaaRDaaaaRCaaaaRDaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaAXaadbPNbPNbPNbPNbPNaaacuLaaabPNbPNbPNbPNbPNaadaAXaaaaaaaaaaaaaaaaaaaaaaaaaadaadaaebYvbYvbYwbYwbYwbYwbYwbQKbYwbYwbXhbXjbXjbXjbXjbXmbXjbXjbXjbXpbXtbXubXvbXwbXBbYAbXDbXTbXSbXWbYBbXYbXSbNUbNTbYabNVbPybPxbYDbYCcapbZNbYMbTScdwbYPcahcaabZHbIubDFbZBbYPbYJcrlbYEcsdbWBcuScaqcrTcjvbWBccEccEbunbYybQwbWBcbVcalcbrcbscalcalcbtcajbZgcbuavAcaRcaOcaTbEbcdScaKavAbWIcaUarNaadarNarNcgaarNarNaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadaaaaaaaadaaaaaaaadaaaaRDaaaaRCaaaaRDaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaEaaaaadaaaaadaadaadaaacuLaaaaadaaaaadaaaaadaaaaAXaaaaaaaaaaaaaaaaaaaaaaaaaaaaadaadbYvbYvcawcaxcaybYwcpGbQKbYwcbFcbGcbHcbIcbJcaAbEgcbLcbMbYwbHrbHvbHkbHnbGGbGHbHCbRHbHwbRqbRobRrbRobRqbRobFhbJxbGibJucfvbJqbJkbIrbGibYMbTSbYNbCnbItbIsbIvbIubIxbIwbIQbIHbJgbJfbUabWBcmzbJjbDNbYvbWBbGuccGbUdccGbQPbWBcakcalbQQcalcalcalccJcajbZgcizavAbHXcdSaQsaQsbTdaQsavAavAaVOarNaadaadaadaadaadaadaadaaaaadaaaaaaaadaaaaaaaadaaaaaaaaaaadaaaaaaaaaaaaaaaaadaaaaaaaaaaaaaadaaaaRCaaaaRDaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacaaaaaaaaaaaaaaaaaaaAXaaabSjbSjbSjbSjbSjaadcuLaadbSjbSjbSjbSjbSjaadaAXaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadbYvcbEbZhbZhbZhbYwbIObQKbYwccTccUccVccWccXbGqbGrcdabIIbYwbIKbILbIkbIlbImbLBbLwbIcbYLbLxbGpbSEbSEbSEbLtbFzbGjbLvbLocfvbLqbJkbJXbZNciWbTSbYNbYPbKSbKhbKhbLfbDFbKUbYPbZAbZvbWzbVNbWBcsscbubVWbRUbRSccGbJVbJWbJUceLbWBcajbRMbQQcalcdRbRMcajcajbZgbQLavAbJTaQsbJTaQsbEbcdTaYNaQsbJRcgaaadaaaaaaaadaadaaaaaaaaaaadaaaaaaaadaaaaaaaadaaaaaaaaaaadaaaaaaaaaaaaaaaaRCaRCaRCaaEaRCaWuaRCaWuaadaRDaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaAXaadcuHcuIcuIcuIcuIcuKcuLbMWbMMbMMbMMbMMbMVaadaAXaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadbYvccQcbuccRdAIccSbZMbQKbYwcdZceacebceccedcaAbyzbAYbyzbYwbxzbExbyBbEAbxzbxzbEXcyUbEWcemcemcenceobBscemcemcshbZNbEVcfvbEUbEGbZNbZNbDbbTSbCZbYPbYPbDacdBcfIbBubBabYPbPXbQrbWBbWBbWBbYvbYvbzAbWBbRLbRLbDGbxobRLbRLbWBceMbMAbMBcePbMLbMKceMcajbZgbQLavAbEwbElbEkbEbbDIbDHavAaUoarNarNaadaaaaaaaaaaadaaaaaaaaaaadaaaaaaaaaaaaaaaaadaaaaaaaaaaadaaaaaaaaaaaaaRCaRCaaaaaaaaaaaaaadaaaaadaaaaRDaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadaAXaadbPNbPNbPNbPNbPNaaacuLaadbPNbPNbPNbPNbPNaaaaAXaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacdWbQLcdXbZhcdYbYwbQLbQKbYwcfacfbcfccfdbFNcaAbCBbDnbDXbYwbHQbEObFlcflbGmbHUbPPbNYbPQcembDebCKcfqbDjbCAcemctGbZNbGWcfvbHLbHDbGibFVbFycfBbFwbFobFkbFgbGPbGnbDFbDobCnbGlbQAbQybVkbFdbOsbOtbBcbOrbBZbOpbFebFfbVkbPkbWBbOJbOHbOIcfWcfXbGQbCzbCybRIbZhavAarNarNarNcgaarNarNarNarNarNaadaadaaaaaaaaaaaaaaaaaaaaaaadaaaaaaaaaaaaaaaaadaaaaaaaadaadaadaRCaRCaRCaWuaadaadaRDaRDaRDaaEaRDaWtaRDaRDaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaSgaaaaadaaaaadaaaaadaaabUWaaaaadaaaaadaadaadaadaSgaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabYvceYbQLbZhbZhbYwbQLceZbYwcgdcgecgfcggcghcaAcjEcgjcgkbRTcgmbLnbLmcgpcgqcgrbUVbNYbPQcgtcgucgvcgwbLpcgycembQLbZNbSgcgAbRWbRVbRtbRsbRubTSbRFbRvbRNbRGbQvbQbbQzbQxbQObQCbRdbUgbLlbJsbURcgTbJtbUTbUTbUTbJlbUtbUubUvbUwbUxbUPbUQbUecjybUcbUbcajbZgbQLchmbYvaadaadaadaadaadaadaadaadaadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadaaaaaaaaaaaaaaaaadaaaaaaaadaaaaadaaaaadaaaaadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaAXaaabSjbSjbSjbSjbSjaadbVZaadbSjbSjbSjbSjbSjaadaAXaadaaaaaaaaaaaaaaaaaaaaaaaaaaaaadbYvbTGbQLbQLcdYbYwbQLclTbLSchscgechtcggchuchvchwbTFchychzbLObLPchCchDchEchFbVAbLNbVCchJchKchLchMbLschMchObTBbZNbTpbTobTAbTrbGibRsbRubTSbRFbRvbCnbSLbSwbSvchZbQBbCnbSyclkbzybLrbJzciicikbVnbVkbVkbVkbSibVbciobVabWBbVmcjsbJybJwbJvbUZbUZcajbZgcotcizbYvaadchnaaaaadaaaaaaaaaaaaaadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaAXaaaaaaaadaaaaaaaaaaadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaAXaadcuHcuIcuIcuIcuIbTebTfbTebMMbMMbMMbMMbMVaadaAXaadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabYvbYvchochpchqbYwbQLbQKbYwciBciCciDciEciFcaAciGcfgciHbYwbJMbJNbKiciLbTgbHUbSHbNYbKTcemciOciPbMsciRciScembMubZNbZNbZNbMObZNbZNbZNbMfciXbMdbYPceBceBceBceBciZbLUceBbRLbRLbSQbSTbSUcjgbSVbSSbJLbJLbJLbJKbGvbGEbGZbGvcktcktbGtbSYbSXbSWbSWcajbZgbQLcjubYvaadaaaaaaaaaaaaaaaaaaaaaaadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadaAXaadbPNbPNbPNbPNbPNaaacvTaaabPNbPNbPNbPNbPNaaaaAXaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadaadaWoaWobYvbYwbYwbQLbQKbYwcjzcjAcjBcjCcjDcaAbKXcjFbIqbYwbPYcehcehcehcehcehbPtbTKbTMbIbbKVcjMbPucjObTNcembPAbPzbPKbPzbPObPMbNhbPlbIabHZbHYbPlbOTbNGbNGbODbOhbNXbNGbNhbNcbHOckfckgckhckickjckkcklckmckncjkbTHckpcaScbfbTEbHNcktckvcajcajcajbZgbYwbYwbYvajeaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaAXaaaaaaaadaadaadaaaaaacvTaadaaaaaaaadaadaaaaaaaAXaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadaadaaebYvchjbYwbQLbQKbYwbYwbYwbYwbYwbYwbYwbYwcshbYwbYwcvDbYwcxZcxYcyfcyebVAcukcuDcemcuAcxQcxRcoCcoCcoCcoCcoCcoCcoCcxJcxOcxJcxJcyncrncyqbWBbRLbRLbRLcyrbRLbYwbRLbRLbRLcysckYckZckhclaclbclccldclecylcjkclgclhcxBcxzcvEbYvcuVcuXbYvbQLcpXdBpcmtdBqcxKaaeaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaAXaaEaAXaAXaAXaaaaaaaaacvTaaaaaaaaaaAXaAXaAXaSgaAXaadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaajIcnEckzckAckzckAckCbZhcuccwybQLbQLbQLbQLbQLctGbZhbQLbQLbYwcwrcwqcwhcwfcxgcxhcxfcemcemcemcemcoCcLYcMycMocwYcpxcpRcwzcwFcxidAFbYMbTSbYNcxjcxlcMBcxocxucxvcxEcMCcxjcxHcxIcmbcmccmdcmecmfcmgcmhcmicmjcjkcmkcmlcmmcwScuobYvcvRculbYvbQLbZgbYwbYwbYwaWoaaeaaaaaaaadaaaaaaaaaaaaaadaaaaaaaaaaaaaadaaaaaaaadaadaaaaaaaadaadaadaadaadaaaaaaaadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadaaaaadaaaaaaaaaaAXaadcBBaadaAXaaaaaaaadaaaaaaaadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadaaeaaebYvdBhbYwbQLcltcAnbXXbXXbXXbXXbXXbXXbXXcwtbQLbQLczwbYwczYczRcAiczRczEczIcyYctjczJczKczLcoCclBcztcqxcpxcpxcpRczuczycAMdAFcALbTSbYNcAKcxlcAJcCCcCMcBOcBQcANcxjcxHcmWcmXcmYcmZcnacnbcnccnccndcxycjkcnfcmlcngcnicJRbYvcwEcwNcMLbZMbZgbYwcABcjvaWoaaeaadaadaadaadaaaaadaadaadaadaadaaaaadaadaaaaadcnncnocnocnpcnqcnqcnrcnrcnrcnrcnsaadaadaaaaaaaaaaacaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadaaaaaaaaaaAXaaaaadaaaaAXaaaaaaaaaaaaaadaadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadaadbYvbYvbYvbYwbYwcdYbYwcnvbYwbYwbYwcizbQLcpZbZhbQKbQLbQLclwbYwcyDcMDcyzcytcyZczjcyXctjczmczoczlcoCckecpxckdcpBcyRcoCcxJcyGcxJcxJcbvbTSbYNckUcjccjccjccjccjcckVcjccjccjccpecjeczqbJLczrcnZcoacobcoccodcjkcoecofcogcxXcoibYvcvacwkbYvbQLbZgbYwbQLbQLcAIaaeaaaaaaaadaaaaaaaaaaaaaadaaaaaaaaaaaaaadaadaadcomconcoocopcnqcnrcnrcoqcorcoqcnrcnraadaadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacaaaaaaaaaaaaaAXaAXaAXaAXaAXaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadbYvbYvcLMcLucLAbYwbYwbYwcLtcNRcNLbYwbYwbYwbYwbYwcnzbZhcuScmzbYwcOecNScOycOucMIcMJcMKcNjcLNcMmcMpcMGcNmcNDcNJcNKcqucoCcNkcpccssbYwcOzbWrcOGclRclSdBlclUdBmclWclXdBncuncjccpJcjecpfbJLbJLbJLbJLbJLbJLbJLcjkcjkcjkcpkcjkcrSbYvbYvcAybYvbQLdBCcnvbZMbQLbYvaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaecpmdBBdBAcopcnrcnrcoqcoqcpocoqcoqcnrcnraadaaaaadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabYvbQLcotbQLbQLcprcDBbYwbYwbYwcozbYwcDLcDIcDGbYwcpWbYwbYwbYwbYwcDTcDScDMcDMcJZcKccJQcJScJOcJPcDYcEbcKTcKUcKOcKSckWcoCcKjbWwcLicLlbYMbTScLmcmPcmQcmRcmScmScmSclXcmTcJTcDcbTXcKNcKJckDcpMcpNcKacKfcKdcJWcpSdBwcpUcpVcKycrSbQLdBxcyEclpclpcpYbYwcpZbYvbYvaadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadaaaaaacqacnrcpmcnrcnrcoqcoqcoqcoqcoqcoqcoqcnrcnraadaadaadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadbYvbQLdBrdBkdBodBDctgbYwdBsdBabQLbYvbYvbYvbYvbYvcpWcizcjvbYwdzOckFdAvdBjcxLdALdAPdARctjdASdATdAUcoCdAVcuJcsjdAWcNhcoCcvRdAZcmzbYwcqAbTSdBMckUdBLcnQcnRcxScnScwwcxrdBKcDcdBJcqGcqHdBIcqJcqKcqKcqKcqKcqKcqLcqMcqNcqOcqPcrSbYwcqQcqRbYwbYwbYwbYvbYvbYvaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadcnqcnrcqScqTcqTcoqcoqcoqcoqcoqcoqcoqcoqcnrcnraadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacCIcCIcCIcCIcCIcCIcCIcCIcCIaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacdWbQLcpqcpqcpqcpqcpqbQLbQLbQLbQLbYvaadaadaadbYvcpWbQLdAIcrgcLwclAcLxclCdBicLzcONcOMctjdAkdAmdzNcoCcqzcqIdApcMTdABcoCdAudAxdAHbYwcrtbTSbYNcpbcmTcmScmScmSdBydBzcmTdADdAEdAGcrEcrFdAKcrHcrIcrJcrKcrLcrMcrNcNCcqocNBcNncrSdBFcrUcrVcrWcNbcrYcMYcsaaadaadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadaaaaaacnrcnrcsbcoqcoqcoqcoqcoqcoqcoqcoqcoqcoqcoqcnrcnraadaadaadaaaaaaaaaaaaaaaaaaaaaaaaaaacCIcCIcCIcCIcCIcCIcCIcCIcCIaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacaaaaaaaaaaaaaadbYvbQLbQLcoybQLbQLbQLbQLbQLcpqcrubYvaadaadaadbYvcpWbZhbQLbYwcrqcmBckGckLcxLcrAcrBcrOctjctjcryctjckOckOckPckQckQckQckQcrvckQckSbYwcrmcrncrockUcKwclUcKpclWdBtdBudBvcKvcjccrpcjecqlckDcsFcsFcsGcsHcsIcqncsKcqmcsMcsNcqocsPcsQcsRcsScsTcsUcsVcrZcsWaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadcnrcoqcoqcoqcoqcoqcoqcsYcoqcsZcoqcoqcoqcoqcoqcnrcnraadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacCIcCIcCIcCIcCIcCIcCIcCIcCIaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabYvcqVbQLbQLbQLcizcqccpqcpqbQLcrkbYvaadaaaaadbYvcpWbYwbYwbYwcxLcxLcxLcxLcxLcricrjcrectvcqYcrdcqXckOclIcwCclIclKclIcwBclMcwAclOclPbYMbTSbTTckUcjccjccjccOAdBGcjccjccjccjccqUbSTcqDctBcrScrScrScrScrSctCcrScpicphcpncqFcrSctHctIctJctKctLctMctNcrSaadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadaaaaaacnrctOctOctOctOctOctOctPcoqctQctOcsZcoqcoqcoqcoqcnraaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacCIcCIcCIcCIcCIcCIcCIcCIcCIaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabYvbYvcpqctgcpqbQLcthcqWctgcpqbYvbYvaadaadaadbYvcpWcpEbYwcpLcpKcLscLrcpPctvcqicsDcsOczvcsXctdctfckOcDPcwCclIcmLclIclKctxcDRclOcszbYMbTSbRFbRvcjScstcsCcvbdBEcttcMXctocvJbTXcjecswcrScuqcurcuscutcuucuvcuucuwcuxcuycrScrSbYwcqQcqRbYwcuzcskcuBcuCaaeaaeaaaaaaaaaaaaaacaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacuEconconconconconconconcuFcorcoqcoqcoqcoqcuGcorcnraadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacCIcCIcCIcCIcCIcCIcCIcCIcCIaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadbYvbYvbYvbYvcdWbYvbYvbYvbYvbYvaadaadaaaaadbYvcpWdAIcshcLPcJYcpDcpCcpzcpycnFcoAcsmcLkcspctncsncsocoScybcoScxNcyOcyTcwGcyIcnKcsBcnMcnNczGbRvcsfcsicrzcrzdAycrxdAzcsEcvJbTXcjecrQcrfcuqcurcvfcvfcvgcvhcvicvjcvkcvlcrScvmbQLdACcvpbYwcrScrScrScrSaadaadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadaaaaaacnrcqTcqTcqTcqTcqTcqTcvqcoqcqScqTcvrcoqcoqcoqcoqcnraadaadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacCIcCIcCIcCIcCIaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadaadaadaadaaaaaaaadaadaadaadaadaadbYvcpWcizbYwcuecqqcrCcOccrGcrDcrPcrRcrXctvcufcugcujckOcnGcmKclIclKclIcumcLjcLocLvcLCctUcfBctZcsecsecvCcvAcvAdAwcvzcqEcvBcvJdBJcuacudcrScuqcurcvfcvMcuucvNcuucvOcvPcvQcrScuScdXcvocvRcvSbYvaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadcnrcoqcoqcoqcoqcoqcoqcsYcoqcvrcoqcoqcoqcoqcoqcnrcnraadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacCIcCIcCIcCIcCIaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadaaaaaaaaaaaaaaaaadaadbYvbYvbYvcpWbQLbYwcrwcrscrrctEcrcctvcqrcojcqpbYwbYwbYwbYwckOclIclKclIcKnclIctDctAcKkckOcJVbYMbTSctscsectzcpAcsucsvctyctFctRcupcjScuRcjectibYZbYZbYZbYZbYZbYZctkbYZctldAMctmcrSbZhbZhcwncwocvSbYvaaaaadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadaaaaaacnrcnrcsbcoqcoqcoqcoqcoqcoqcoqcoqcoqcoqcoqcnrcnraadaaaaaaaaaaaaaaaaaaaaaaaacCIcCIcCIcCIcCIcCIcCIcCIcCIcCIaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadcmtcnmcmtcpWbYwbYwbYwbYwbYwbYwbYwctTctwcnlctvbYwctqbQLcvUbYvbYvbYvbYvbYvbYvbYvcvWbYwbYwbYwciWbTSbYNcsecvHcpAcvAcvAcLQcLZcGhcLOcxFcyCcMhcvIcwgcwdcwccwacvZcvYcvXbRJcxndBeckBckBckBckBcwIcwJbYwbYvbYvaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadcnqcnrctQctOctOcoqcoqcoqcoqcoqcoqcoqcoqcnrcnraadaaaaaaaaaaaaaaaaaaaaaaaaaaacCIcCIcCIcCIcCIcCIcCIcCIcCIcCIaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadbYvbYvbYvcvubZxbZxbZxbZxbZxbZxdBfcvvcwjcolcwmcwsdBgbZxbZxbZxcvebZxbZxbZxbZxcvscvnclpdBdcvVcuZcwebYNcsecuYcrhcsycsycsycxmcvLcwRcvxcxkcuTcvGbRJcuUcuOcuNcuQcuPcuMbRJclwcmxbZhcxabQLbQLcwbcxbcxccwpbYvbYvbYvaaeaaaaadaaaaaaaaacxdcxdcxdaadaaaaaaaadaaaaaaaadaaaaaacqacnrcpmcnrcnrcoqcoqcoqcoqcoqcoqcoqcnrcnraadaadaaaaaaaaaaaaaaaaaaaaaaaaaaacCIcCIcCIcCIcCIcCIcCIcCIcCIcCIcCIcCIcCIcCIaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadaadbYvclfckXbZhcuScizbZhbQLckTbYvcvtcvwckRbYvbYvbYvcnCbQLckNcwTcwTcwTcwTbYwcwTcwTcwTcwTclscohclHcsectedBccsJctbcuicmucslcnLcvJclVcvdclqbRJcnIcnTcnUcnOcnPcnVbRJbQLcmxbYwbYwbYwbYvbYwbZhcxsdAicxtdAjcxtcnEcnEcnEcnEcnEcnEcnEcnEcnEcnEcnEcnEcnEcnEcnEcnEcnEcnEcxxdAgdAhcnHcnrcnrcoqcoqcxAcoqcoqcnrcnraadaaaaadaaaaaaaaaaaaaaaaaaaaaaaaaaacCIcCIcCIcCIcCIcCIcCIcCIcCIcCIcCIcCIcCIcCIaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadbYvbYvbYvbZhcdYcnCbZhbYvbYvbYvcwvclJcwxbYvaadbYvclrbYvckNcwTcmrcmrcwTcmpclZcoFcmscwTcwUcwVcwWcsecokcvccsqcsAcuicsxcsedAYcsecvKcmvbWBbRJbRJbRJbRJbRJbRJbRJbRJbQLcmxbYwcxPcmwcaybYwbZhdAlcxTbYvbYvbYvaaeaaaaadaaaaaaaaacxdcxdcxdaadaaaaaaaadaaaaaaaadaadaadcxUcxVcoocopcnqcnrcnrcoqcorcoqcnrcnraadaadaaaaadaaaaaaaaaaaaaaaaaaaaaaaaaaacCIcCIcCIcCIcCIcCIcCIcCIcCIcCIcCIcCIcCIcCIaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadaadaadbYvbYvbYvclrbYvbYvaaaaadcwMclLcwMaaaaadaadaaabYvckNcwTcmycmycmCcmAcmDcmDcmDcnecmOcmNcmEcsecsecsecsecsecnkcsecsecnjcwDcoQcoKcoLcwDckAckBckBckBckBckBckBckBdAocnvdAncbucuScygcygcyhcyicygaaaaaaaaaaadaadaadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadaadcyjcnocnocnpcnqcnqcnrcnrcnrcnrcnsaadaaaaaaaaaaacaaaaaaaaaaaaaaaaaaaaaaaaaaacCIcCIcCIcCIcCIcCIcCIcCIcCIcCIcCIcCIcCIcCIaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadaaaaaaaadaaaaaaaaaaadaaaaaacxeccFcxeaaaaaaaaaaaabYvcnDcnBcnucntcnWcnJcxGcxGcxGcnYcoucoscnXcoTckBckBckBckBcowcuWckBcovcwZcoVcoWcoxcwZcmzcdYcxqbYwbYwbYwbYwbYwbYwbYwbYwbYwcozcygcyudArcywcygaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadaaaaadaadaadaadaadaadaadaadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacCIcCIcCIcCIcCIcCIcCIcCIcCIcCIcCIcCIcCIcCIcCIcCIcCIaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadaadaaaaaaaaaaadaaaaaaaadaaaaacaaaaadaaaaadcxCclNcxCaaaaaaaaaaaabYvbYvcwOcoHcxGcoEcoDcoGcoGcoscoGcpacoscpdbYvbYvbYvcmzcdYcxqcoZbYvbYvcwZcwXcoUcwZcwZbYvbYvclrbYwcoXcoNcoObYwcoJcoPcoRbYwbQLcygcoIcyHcoYcygaaaaaaaaaaadaaaaaaaaaaaaaadaaaaaaaadaaaaaaaaaaaaaadaaaaaaaaaaSgaaaaadaaaaSgaAXaSgaadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacCIcCIcCIcCIcCIcCIcCIcCIcCIcCIcCIcCIcCIcCIcCIcCIcCIaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacDjcDjcDjcDjcDjcDjcDjcDjcDjaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadaadaadaadaadaadaadaadaaaaaaaaaaadaaacxWcwucmacwucxWaadaaaaaaaaaaaacwOcpgcxGciUciQciQciQcxGciQciUcxGcppcwOaadbYvbYvbYvclrbYvbYvaaaaadcxpcwicxpaadaadaadaadbYvbQLbQLbQLcprbQLcpsbQLcpvcnCcygcyVdAscplcygaaaaaaaaaaadaaaaaaaaaaaaaadaaaaaaaadaaaaaaaaaaaaaadaaaaaaaaaaAXaaaaadaaaaaaaaaaaaaadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacCIcCIcCIcCIcCIcCIcCIcCIcCIcCIcCIcCIcCIcCIcCIcCIcCIaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacDjcDjcDjcDjcDjcDjcDjcDjcDjaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadaaaaaaaaaaaaaaaaaaaadaaaaadaadaadaadcwucykcmocymcwuaadaadaadaadaadcyAcyBcxGcjQcxGcxGcxGcqdcqbcpQcpOcyacyAaaaaaaaaaaadaadaaaaaaaaaaadcxMclvcxMaadaaaaaaaadbYvcpIbQLbQLbQLcpFbQLcpwbYvclrcygcqfczscqgcygaadaadaadaadaadaaaaaaaadaadaaaaaaaadaaaaaaaaaaaaaSgaSgaaaaaaaaaaaaaaaaaaaaaaaaaaaaadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacCIcCIcCIcCIcCIcCIcCIcCIcCIcCIcCIcCIcCIcCIcCIcCIcCIaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacDjcDjcDjcDjcDjcDjcDjcDjcDjaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadaadaadaadaaaaaaaaaaaaaadaadaadaadaaaaaaaaacwucyxcyycqhcwuaadaaaaaaaadaaacyNcyBcxGcoEcqjcqjcqjcqkcypcqscincyacyNaaaaaaaaaaadaaaaaaaaaaaaaadcyccydcycaaaaaaaaaaaabYvcqCcqwcqvbYvcqycqtcqvbYvaaaaadczWdAtczWaadaaaaaaaaaaaaaadaadaadaadaaaaaaaaaaadaaaaaaaaaaaaaAXaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacCIcCIcCIcCIcCIcCIcCIcCIcCIcCIcCIcCIcCIcCIcCIcCIcCIaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacDjcDjcDjcDjcDjcDjcDjcDjcDjaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadaaacwucyJcwucwucyJcwucyJcwucwucwucyJcwuaaacyKcyLcmqcyMcwuaaaaaaaaaaaaaaaczkcyBcxGciUciQciQciQciIcyociqcincyaczkaaaaaaaaaaaaaadaaaaaaaadcwXcwZciKcwZcwXaaaaaaaaabYvbYvbYvbYvbYvbYvbYvbYvbYvaaaaadcAvczscAvaadaaaaaaaaaaaaaadaadaaaaaaaaaaaaaaaaadaaaaacaaaaaaaadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacCIcCIcCIcCIcCIcCIcCIcCIcCIcCIcCIcCIcCIcCIcCIcCIcCIaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacDjcDjcDjcDjcDjcDjcDjcDjcDjaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacwucjmcjjczaczbczcczdczeczfczgczdcwuaaaczhcziclocwucwuaaaaaaaaaaaaaaacwOcjUcxGcjQcxGcxGcxGciVcBRcjaciYcjLcwOaaaaaaaaaaaaaadaaaaaaaadcwZcjNclxcyFcwZaadaaaaaaaaaaadaaaaaaaaaaaaaadaadaaaaaaaadaaacAWaaaaadaadaadaadaadaadaaaaaaaadaadaadaAXaadaAXaadaSgaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacCIcCIcCIcCIcCIaaacCIcCIcCIcCIcCIaaacCIcCIcCIcCIcCIaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacDjcDjcDjcDjcDjaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadaaEcyJczxcjnczzczcczcczAczBczCczDczAcwuaaaaadczFclyczHaadaaaaaaaaaaaaaaacAmckycksckucksckscksckscksckuckscjZcAmaaaaaaaaaaadaadaadaadaadcwZcyPcyQckxcyScnxaadaadaadaadaadaaaaaaaaaaaaaaaaaaaaaaadaaacAWaaaaadaadaaaaaaaaaaadaaaaaaaaaaadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacCIcCIcCIcCIcCIaaacCIcCIcCIcCIcCIaaacCIcCIcCIcCIcCIaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaQNaMLaWgaPBaQNckJaSlbxFaQNaQNaMLdAbaZjckbbuQbxHbxHbCfbDpbDqbxHbDrbuQbAMaKBaKBaKBaKBaKBbDsbDtckcbDvbDwbDtbDxbDybDzbDAbxTbpYdAccoxbrVbrVbrVbASbtEbrVbsacmnbqabDCbDDbDEbqabqgaYpcaVbSAckrcgxbSAaadaadbSAcgGbSAckIchTcgFaadbDPbDQbDRbDSbDTbDRbDSbDUbDVaadchAchUbDYbDZbEacbXbEcbEdbEebBqbEfbBqckKbEhbEibsIbEjbEjbEjchXchWbEjbEmbEjbEjbAfbEncmGcmHbEpbsIbEqbErcmFbEtbEuavAbxhbEvbxpchYchYchYciabEycmIcibbxpclibmcdAdbiJbiJbiJbECblXbEDbEEbvZbyUbwbbfJbmnbmobmobmobmobmoaadaadaWtaadaWuaadaaEaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaTpaQUbrsbrsbrsbrsbrsbrsbrsbrsbrrbrsbpNchrbuQchxbxHbxHbAKbxHbEHaKBaKBbAMaKBbEIcmhbEKbELbEMbENcfObEPbEQbENbENbERbENbENbESbpYaZmbqabETbrUbrVbASbtEbEYbEYbEZbqabFacgibFcbqabqgaYpcaVbSAcjKbVXbSAcjWcjXbSAcjYbSAcjYchgbSAcfsbFmcfsbFmbFmbFnbFmbFmcfsbFmcfsbBqcgobFpbFqbFrbFsbFtbFubEabFvcgnbBqcmubqFbqGbVvbEjckabFAbFBbFCbFDbFEclYbEjbEjbEjbEjbEjbEjbsIbFGbFHbFIbFJcfZavAbxharNbxpbFLbFMbFLbxpbxpbxpbxpbxpcejbFObsVbFPbFQbFRbpAbFSbFTbFUbAxchHchIbibboabobbFWbFXbFXbmoaadaaaaRDaaaaRCaaaaRDaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaULbwBaUMaUcciMcihbtgcilbtgbtgbtgcgPckqchkbuQbxHbGabxHbAKbGabGbaKBbGcbGdaKBbGebxTbxTbGfbGgbpYbGhchlcfkbGhbGhbGhbGhaKBckRaKBaZmbqabETcgYbwEbASbtEbqabqabqabqabqabqabqabqabGobbFcfNbSAcfYbVXcfwcglcgsbSAcgCbSAcgDcbibSAdzXdzYbGybGzbGAbGBdAaclGcjlbGFdzZbBqcfrbGIbGJbGKbFsbGLbGMbGNbBqbCNbBqcjGbqFbGOcluchebGRbGSbGTbGUbGVbFEchdbEjbGXbGYciTbHabJZbsIbHcbHdbHebHfbHgavAbxhbMUclFbHibHjbHicfpbHlclEbMUbHocejbmcbHpbHqbHqbHqbrhblXblXblXbvZcfobwbbfJbmnbpIbHsbHtbHubmoaadaaaaRDaaaaRCaaaaRDaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaQNaTpceQaTpaQNbuNbojaQNbuNbojaQNbXfaQNaQNbuQbxIbHybHzbHAbHzbHBaKBbAMaKBaKBccsccsccPcdbbpYbpYbHFbHGbHHbHIbGhbHJbHKaKBcMVbHMaZmbqacfPbrXbrXbASbXybqabHPbHPbXnbXibHRbHSbqabHTaYpcaVbSAcaPbVXcdcbZOcaDbZybZzbZfbZrbXCbSAcNNcNObIfcLFbIgbIfcLLbIfbIhcMqcMUbBqcbNcbScbTcbUcbXbInbIobIpbBqbCNbBqbXkbqFbqGbVvcdNbFCbFCbXlcdQbFBcceccfbEjbIzbIAcchbHaccgavAavAavAbIDbIEbIFavAbxhbMUcdVccabIJccacdOccbcdVbMUbINcejcdrbsVblXblXblXblXblXblXbnTbvZccjbxAcegbrobrpbIPbFXbFXbmoaadaaaaRDaaaaRCaaaaRDaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaXFbeNaXFaadaaaaaaaaaaaaaadaKBcKlcfnajnaKBaKBaKBaKBaKBaKBaKBaKBcJUbWTbIWbIXbIYbIZbJabpYbpYbJbbJcbJdbJebGhcdEcdAaKBbJhbJibUrbqabWobrXbrXbASbtEcdIbrVbrVbJmbJnbwFbJpcdFbqgaYpbWgbSAbWkbVXbVYbWbbWcbVjbVpbVqbVrbVibSAcKqcLEcxwbJDbJEcbnbJGcyvbJHbJIcyWbBqcbNcbOcbPcbQbBqbJObJPbJQbBqbCNbBqbSzbqFbqGbVvcdpbFCcdecdxcducdtbVwcdzbEjbWybIAbKabKbbKbbKcczXavAbKeavAbKfavAbxhbMUcdOcdOcdOcdOcdOcdOcfmbMUbINcejbKnbsVblXblXbKobKpbKoblXblXbvZbyUbKqbfJbmnbmobmobmobmobmoaadaaaaRDaaaaRCaaaaRDaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaULceQaULaadaaaaaaaaaaadaadaKBbrTcwPbKtbKtbKtbKtbKtbKtbKtbKtbKtbKxaKBbKybxTbKzbxTbxTbKAbKBbKCbKDbKEbKFbVcbKHbKIbQHcwQbHMcwHbOSbKNbKObKPbKQbtEccObrVbKRbJmbwFbrZbJpccNbqgaYpbUjbSAbUhbUXcbjbUNbUScbibTCbSRbTzbTDbSAcwKcwLbLdbLecvFbLgbLhbLicuhcvycwlbBqcbgcbhcaZcbabBqbBqbBqbBqbBqcbkbBqbSJbqFbqGbOibEjccKccDbKMbKJbOgbLCbLybLzbLAceGbJYceFbLEbLFcubbLHctYbSIctXbLLbLMbMUccdcdOcdOcbZcdOcdOcbYbMUbINcejbLQbsVblXbnTbKobLRbKoblXblXbAxcblccLccMbLVbLWbLXbLYbLYbmoaadaadaWsaadaWuaadaWtaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadaadaaacnwcnwceEcnycnwbMbbMbaKBcaYaKBbMebxObCMaKBbMgbMhbMibMjbMkbKAbKBbMlbMmbMnbMobGhbMpbMqaKBbMrbrTaQWbqabSFbrXbrXbrXbMtcbWbMvbMvbMwceCctWbqabqabAWaYpbSDbSAbSAbSAbSAbSAbSAbSAbSAcbAcbRbSAbSAbMEbMFbMGbMEbMHbMHbMHbMFbMIbMEbMFbBqbBqbBqbBqbBqbBqbBqcekbBtbBqbBwbBqbSzbqFbNWbJUbMNbMNbMNbMNbMNcbzbMPbMNbMNbMNbMNbMNbMNbMNbMNavAbMQbMRbLJbMTbLMaQsbMUcbxcdOcdOcbycdOcdOcbwbMUbMYcejbMZbNablXblXblXblXblXblXblXbvZcaQbwbbUibmnbpIbNdbNebNfbmoaadaaaaRDaaaaRCaaaaRDaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadaaaaadaadaaaaaacnwcixdzQcoBcnwaKBaKBaKBbNgaKBaKBaKBaKBaKBciybNjbNkccnciAbNnbNobNpbNqbNrbNsbGhbNtbMpaKBbMrbZwaQWbqabNubscbNvbNwbNxbqabNyccpbNAciNdzRbqaccobqgaYpccCccrccxccrccrccqccrcdoccrcdkcdlccYccZccrbNDbNJbNKbNKbNKbNLbNKbNMbNNccccfHcfJcfKcfScfUcgzccicccccccclcckcccccmbqFciechbbMNbNZbOachSchQbOdbOecipbOfcgBbNZckxbMNbOjbOkbOldzPaQsaUobOmbOnbOobMUbMUcitcdOcisciwcivbMUciubiNcirbOubsVbOvbOwbOxbOyblXbOzbOAbOBcdqbLTcfGbLVbOEbOFbOGbLYbmoaadaaaaRDaaaaRCaaaaRDaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadaadaadaaaaaaaaacnwcfFcptcifcnwaadaadaadaaaaadaadaaaaaabpYbOLbpYbOMbOMbpYbONbOObGhbOQbORbGhbGhbGhbGhaKBbMrbHMaQWbqabqabqabqabqabqabqabqabqacgcbqabqabqacijbqgbOUbOVaWKaWKaWKaWKaWKaWKaWVaWKbOWbOXaWXaWWaWKaWKbOYbOZbPabPbbPcbPdbPebPfaWKaWKbPgbPhaWKaWKaWKaWVaWKaWKaWKbPiaWKbPjchPcfzcfycfxbPmbPobPnbPnbPpbPqbPrbPnbPnbPscgbbMNbPvbPwavAatJaQsaUoaUoaUoaUobMUbMUcfAcfCbYzcfEcfDbMUbIMbPCbPDbPEbPFbOvbPGbxwbAwblXbPHbPIbAxbPJceHbTPbPLbmobmobmobmobmoaadaaaaRDaaaaRCaaaaRDaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadaadaadaaaaaaaaaaaacnwcqedzMceBcnwaadaaaaadaaaaaaaaaaaaaaaaadaaaaadaadaadaadaadaadaadaadaadaadaadaadaqXaKBcdmcdnbPTaVfaVfaVfcdjaVfaVfbPUbPVbPWcPtaVfcQFaVhcQabPZbQabQdbQcbQebQdbQdbQdbQdchGbQdbQgaVCbQhbQiaVCaVCbQjbQkbQlbQmbQnbQobQpbQqaVCaVCchccgZcgZcgZchacdUchachibQtcfuchfceXchhcfjceVceUceWbQEbQDbQDbQEbQDbQFbQDbQDbQGcdPbMNbQIbQJbMNatJaQsaQsaQsbOobQMbMUceTceSceRbYzceKceJceIcgQbQTbQUbQVbQWbQXcgObQZbRabQWbRbbRcbOBcdiceHbTPbRebobbRfbRgbRgbmoaadaaaaRDaaaaRCaaaaRDaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacaadaaaaaaaaaaaaaaacnwcqZcracrbcnwaadaaaaadaaaaaaaaaaadaaaaaaaaaaaaaaaaaaaadaaaaaaaadaadcgNaadaadaadaKBaKBaKBbSraKBaKBaKBaKBcdfbMbbHMbRjcdhcdgbHMbMeaKBaKBaKBaZLaZLaZLaZLaZLaZLaZLaZLbhQaZLceybRwbRwcezceDbRwbRwbRwcbKcbDbqFcbBcbCbRDbRDbRDbRDcexbRDbRDbRDcewaZLcbocbdcbbaZLcfVbMNcevcfTcevbMNceubQEbQDbQDbQEbQDbQFbQDbQDbQGbRObMNbRPbRQbMNatJaQsaQsaQsaQsaQsbMUcdOcdOcdOcfRcfQcdOcfmbMUbPCbRXbRYbgXbgXbRZbRZbgXbgXbSabSbbvZcddbwbbUibmnbpIbSdbSebSfbmoaadaadaWtaadaWuaadaWtaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadaadaadaaaaaaaaaaaaaaacsccoMcscaadaadaaaaaaaaaaadaadaadaaaaaaaaaaaaaaaaaaaaaaaaaaaaadbYtbYsbYrbYqbYrbSkbSlbRKbVdbREbSpbSqbTsbRCbTsbTsbTybHMaKBaKBaKBaKBaKBaKBbRzbXVbRxbRpbRnbRmbRlbRkbRibYIbUIbXObUIbXRbXQbUIbXObUIbYIbMzbSKbMSbRLbRRbSNbRRbNibYKbRRbSNbRRbRLbSgbSgbSgbSgbSgcpcbMNbYFbYGbPnbPnbYHbQEbQDbQDbQEbQDbSZbQDbQDbTabTbbMNbQIbTcbMNatJaQsaUoaQsbTdaQsbMUbVsbVtbVobYzbVEbWebVsbMUbTjbRXbRYbgXbTkbTlbTmbTkbgXbTnbsWbvZbScbxAbWnbrobrpbTqbRgbRgbmoaadaaaaRDaaaaRCaaaaRDaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadaaaaadaadaadaadaadctacractaaaaaaaaaaaaaaaaaadaadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadcZYbTsbTsbTsbTsbTsbTtbTubTvbTwbTwbTxbTsbSsbSubTsbTybrTaKBbMbbSobWqbShbSmbSnbXxbXxbXxbXxbSCbSBaZLbePbYIbWsbSxbYWbNYbPQbYWbYTbSGbXObTLbTSbTTbSNbSMbTVbTWbVfbZIbTWbTVbTZbSPbSgbZLcpubZKbSgbWwbMNbZSbZUbZYbUlbZVbQEbUkbUlbUlbUlbUmbUlbUlbUlbUnbUobUpbUpbUqcpjaQsaUobUsbyObyObMUbZsbMUbZtbZubZFbMUbZGbMUbTjbRXbRYbgXbUybTkbTkbUzbgXbUAbUBbUCbyUbwbbUibmnbmobmobmobmobmoaadaaaaaEaaaaRCaaaaRDaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaEaaaaaaaadaaaaaaaadaadcvTaaaaaaaaaaaaaaaaadaadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadcZYbUEbUFbUGbUHbUGbLZbUJbUKbULbULbUMbTsbNEbNFbNmbNzbMDbMJbMybMCbNbbNlaKBbMXbXxbXxbSObXxbMxbMcbYIbYIbYIbTIbMabWdbWjbWibWhbKGbXsbXEbTLbTSbTTbVebVfbVgbVhbKZbWSbVkbVkbVlbWGccAcmMbWAbWCbSgbWwbMNbWxbEJbWDbWEbTJbUlbVubFxbIBbVxbVybJSbIVbVBbWUbMNbVDbICbMNatJaQsaUoaUoaUoaUobMUbMUbMUbMUbMUbMUbMUbMUbMUbgXbRXbRYbgXbTkbVFbTkbTkbgXbVGbVHbVIbNIbTObTPboabobbVKbVLbVLbmoaadaaaaRDaaaaRCaaaaRDaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadaAXaAXaAXaSgaadaadaadaadcvTaadaadaadaadaadaaEaAXaAXaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadcZYbUEbVObVPbVQbVRbTvbVSbNRbOqbOCbTQbTsbQfbQsbTsbTybrTaKBbMebtwbNSbObaKBbOcbQNbQubXxbXxbQRbYIbYIbQSbYIbTRbVCbXobXobXqbXsbXrbXsbXEbTLbWrbTUbVebVfbVfbVfbWtbUfbTYbWvcgTbXJbXIbXMbXNbXLbSgbWwbMNbMNbMNbMNbMNbMNbWHbMNbMNbMNbMNbMNbMNbMNbMNbMNbMNbMNbMNbMNatJaQsaUobEvaQsbWIaUoaQsaQsaQsaQsaQsaQsaUobOoarNbRXbWJbiRbiRbWKbiRbiRbiRbWLbWMblXbQYbwbbUibmnbpIbWObWPbWQbmoaadaadaWsaadaWuaadaWtaaaaaaaacaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadaAXaaaaadaaaaadaaaaaaaaactSaaaaaaaadaaaaaaaaaaaaaSgaaaaaaaaaaaaaaaaaaaacaaaaadaadaadcZYbUEbWVbWWbWXbWWbWYbWZbZCbXbbXcbXdbTsbZdbZebTscsrbZwaKBbxzbxzbxzbxzbxzbxzbZbbZabYYbYXbYSbYIbYRbYQbZcccwccvbSEccubSEcctcctcctbUIbTLbTSbTTbRRbZWbZJbZBbUYcbcccHbXGbXHccIbSgccycczccBbSgbRBbXXbXXbXXbXXbXXctrctubXXbXXbXXbXXbXXbXXbXXbXXbXXbXZctpbDOctcbDubYbbYbbYbbYbbYbcaXbYbbYbbYbbYbbYcbYbbYbcsLbCIbYebYfbYgbYhbYibZEbYkbYlbYmblXblXbZDbxAcaWbrobrpbYpbVLbVLbmoaadaaaaRDaaaaRCaaaaRDaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaAXaaabSjbSjbSjbSjbSjaadcuLaadbSjbSjbSjbSjbSjaaaaAXaaaaaaaaaaaaaaaaaaaaaaaaaadbYtcWRcdvbTsbTsbTsbTsbTsbYwbYwcaMbYwbYwbYwbYvbZXcaccaccaecaibYwcazcaBcafcagcbmbxzcaHcaGcaJcaIcaCbYIcaFcaEcaLbStcdsbZNbZNchVbGicbqbGicdHcbvbTSbYNbYObYPbCnbCnbYPbCncdCbYPbYUbYVbSgcdMcaNcdLbSgctVcizbWBbWBbWBbWBcdJbWBbWBbYvbYvbYvbYvbYvbYvbYvbYvbZgbZhavAbWIbZiavAavAavAavAavAcaravAbWIbZjaUoaUnaQsaQsaQsarNbZkbZlbZmbZlcdDbZnbZobZobZlbZpbZnbZqbwbbgXbmnbmobmobmobmobmoaadaaaaRDaaaaaEaaaaRDaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaAXaadcuHcuIcuIcuIcuIcuKcuLbMWbMMbMMbMMbMMbMVaadaAXaadaaaaaaaaaaaaaaaaaaaaaaadbZZaaeckwckzbTockzbTockBckBbTibThbZxbZxbZxbZxbZxbZxcpHcpTbVzbVJbUObUUbVUbVVbVTbxzbWfbWNbWFbWubWfbYIbXebXabYIbXzbXgbZNbXAbZPbZQbZRbYjbZNbYMbTSbZTbYPbXUcdBcdBbXFbXPbXKbYPbWmbWpcadbWlcadbSgbSgbNPbYwbWBbNQbWabNOccGcbpbWBcakcalcalcqBcancbecaocajbZgbZhavAavAavAavAbYubYobYnavAcsgavAavAavAavAcasbTdbyOavAarNbgXbgXbgXbgXbgXcatcaucavbgXbgXbgXbgXbgXbgXaadaadaadaadaadaadaadaaaaRDaaaaRCaaaaRDaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaAXaadbPNbPNbPNbPNbPNaaacuLaaabPNbPNbPNbPNbPNaadaAXaaaaaaaaaaaaaaaaaaaaaaaaaadaadaaebYwbYwbYwbYwbYwbYwbYwbQKbYwbYwbXhbXjbXjbXjbXjbXmbXjbXjbXjbXpbXtbXubXvbXwbXBbYAbXDbXTbXSbXWbYBbXYbXSbNUbNTbYabNVbPybPxbYDbYCcapbZNbYMbTScdwbYPcahcaabZHbIubDFbTpbYPbYJcrlbYEcsdbWBcuScaqcrTcjvbWBccEccEbunbYybQwbWBcbVcalcbrcbscalcalcbtcajbZgcbuavAcaRcaOcaTbEbcdScaKavAbWIcaUavAaadavAavAcgaavAavAaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadaaaaaaaadaaaaaaaadaaaaRDaaaaRCaaaaRDaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaEaaaaadaaaaadaadaadaaacabaaaaadaaaaadaaaaadaaaaAXaaaaaaaaaaaaaaaaaaaaaaaaaaaaadaadbYwbYvcawcaxcaybYwcpGbQKbYwcbFcbGcbHcbIcbJcaAbEgcbLcbMbYwbHrbHvbHkbHnbGGbGHbHCbRHbHwbRqbRobRrbRobRqbRobFhbJxbGibJKcfvbJqbJkbIwbGibYMbTSbYNbCnbItbIsbIvbIubIxbJubIQbIHbJgbJfbUabWBcmzbJjbDNbYvbWBbGuccGbUdccGbQPbWBcakcalbQQcalcalcalccJcajbZgcizavAbHXcdSaQsaQsbTdaQsavAavAaVOavAaadaadaadaadaadaadaadaaaaadaaaaaaaadaaaaaaaadaaaaaaaaaaadaaaaaaaaaaaaaaaaadaaaaaaaaaaaaaadaaaaRCaaaaRDaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacaaaaaaaaaaaaaaaaaaaAXaaabSjbSjbSjbSjbSjaadcuLaadbSjbSjbSjbSjbSjaadaAXaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadbYwcbEbZhbZhbZhbYwbIObQKbYwccTccUccVccWccXbGqbGrcdabIIbYwbIKbILbIkbIlbImbLBbLwbIcbYLbLxbGpbSEbSEbSEbLtbFzbGjbLvbLocfvbLqbJkbJXbZNciWbTSbYNbYPbKSbKhbKhbLfbDFbKUbYPbZAbZvbWzbVNbWBcsscbubVWbRUbRSccGbJVbJWbpZceLbWBcajbRMbQQcalcdRbRMcajcajbZgbQLavAbJTaQsbJTaQsbEbcdTaYNaQsbJRcgaaadaaaaaaaadaadaaaaaaaaaaadaaaaaaaadaaaaaaaadaaaaaaaaaaadaaaaaaaaaaaaaaaaRCaRCaRCaaEaRCaWuaRCaWuaadaRDaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaAXaadcuHcuIcuIcuIcuIcuKcuLbMWbMMbMMbMMbMMbMVaadaAXaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadbYwccQcbuccRdAIccSbZMbQKbYwcdZceacebceccedcaAbyzbAYbyzbYwbxzbExbyBbEAbxzbxzbEXcyUbEWcemcemcenceobBscemcemcshbZNbFbcfvbEUbEGbZNbZNbDbbTSbCZbYPbYPbDacdBcfIbBubEVbYPbPXbQrbRLbRLbWBbYvbYvbzAbWBbRLbRLbDGbxobRLbRLbRLceMbMAbMBcePbMLbMKceMcajbZgbQLavAbEwbElbEkbEbbDIbDHavAaUoavAavAaadaaaaaaaaaaadaaaaaaaaaaadaaaaaaaaaaaaaaaaadaaaaaaaaaaadaaaaaaaaaaaaaRCaRCaaaaaaaaaaaaaadaaaaadaaaaRDaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadaAXaadbPNbPNbPNbPNbPNaaacuLaadbPNbPNbPNbPNbPNaaaaAXaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacdWbQLcdXbZhcdYbYwbQLbQKbYwcfacfbcfccfdbFNcaAbCBbDnbDXbYwbHQbEObFlcflbGmbHUbPPbNYbPQcembDebCKcfqbDjbCAcemctGbZNbIrcfvbHLbHDbGibFVbFycfBbFwbFobFkbFgbGPbGnbDFbGWbCnbGlbQAbQybVkbFdbOsbOtbBcbOrbBZbOpbFebFfbVkbPkbRLbOJbOHbOIcfWcfXbGQbCzbCybRIbZhavAavAavAavAcgaavAavAavAavAavAaadaadaaaaaaaaaaaaaaaaaaaaaaadaaaaaaaaaaaaaaaaadaaaaaaaadaadaadaRCaRCaRCaWuaadaadaRDaRDaRDaaEaRDaWtaRDaRDaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaSgaaaaadaaaaadaaaaadaaabUWaaaaadaaaaadaadaadaadaSgaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabYwceYbQLbZhbZhbYwbQLceZbYwcgdcgecgfcggcghcaAcjEcgjcgkbRTcgmbLnbLmcgpcgqcgrbUVbNYbPQcgtcgucgvcgwbLpcgycembQLbZNbOPcgAbRWbRVbRtbRsbRubTSbRFbRvbRNbRGbQvbQbbQzbQxbQObQCbRdbUgbLlbJsbURcgTbJtbUTbUTbUTbJlbUtbUubUvbUwbUxbUPbUQbUecjybUcbUbcajbZgbQLchmbYwaadaadaadaadaadaadaadaadaadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadaaaaaaaaaaaaaaaaadaaaaaaaadaaaaadaaaaadaaaaadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaAXaaabSjbSjbSjbSjbSjaadbVZaadbSjbSjbSjbSjbSjaadaAXaadaaaaaaaaaaaaaaaaaaaaaaaaaaaaadbYwbTGbQLbQLcdYbYwbQLclTbLSchscgechtcggchuchvchwbTFchychzbLObLPchCchDchEchFbVAbLNbVCchJchKchLchMbLschMchObTBbZNbPSbPubTAbTrbGibRsbRubTSbRFbRvbCnbSLbSwbSvchZbQBbCnbSyclkbzybLrbJzciicikbVnbVkbVkbVkbSibVbciobVabWBbVmcjsbJybJwbJvbUZbUZcajbZgcotcizbYwaadchnaaaaadaaaaaaaaaaaaaadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaAXaaaaaaaadaaaaaaaaaaadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaAXaadcuHcuIcuIcuIcuIbTebTfbTebMMbMMbMMbMMbMVaadaAXaadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabYwbYwchochpchqbYwbQLbQKbYwciBciCciDciEciFcaAciGcfgciHbYwbJMbJNbKiciLbTgbHUbSHbNYbKTcemciOciPbMsciRciScembMubZNbZNbZNbMObZNbZNbZNbMfciXbMdbYPbYPbYPbYPbYPciZbLUbYPbWBbWBbSQbSTbSUcjgbSVbSSbLkbLkbJLbLjbGvbGEbGZbGvcktcktbGtbSYbSXbSWbSWcajbZgbQLcjubYwaadaaaaaaaaaaaaaaaaaaaaaaadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadaAXaadbPNbPNbPNbPNbPNaaacvTaaabPNbPNbPNbPNbPNaaaaAXaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadaadaKBaKBbYwbYwbYwbQLbQKbYwcjzcjAcjBcjCcjDcaAbKXcjFbIqbYwbPYcehcehcehcehcehbPtbTKbTMbIbbKVcjMbOKcjObTNcembPAbPzbPKbPzbPObPMbNhbPlbIabHZbHYbPlbOTbNGbNGbODbOhbNXbNGbNhbNcbHOckfckgckhckickjckkcklckmckncjkbTHckpcaScbfbTEbHNcktckvcajcajcajbZgbYwbYwbYwcxdaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaAXaaaaaaaadaadaadaaaaaacvTaadaaaaaaaadaadaaaaaaaAXaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadaadaaebYvchjbYwcLZbQKbYwbYwbYwbYwbYwbYwbYwbYwcshbYwbYwcvDbYwcxZcxYcyfcyebVAcukcuDcemcuAcMXcNncoCcoCcoCcoCcoCcoCcoCcxJcxOcxJcxJcyncrncyqbRLbRLbRLbRLcyrbRLbYwbRLbRLbWBcysckYckZckhclaclbclccldclecylcjkclgclhcxBcxzcvEbYvcuVcuXbYvbQLcpXdBpcmtdBqcxKaaeaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaAXaaEaAXaAXaAXaaaaaaaaacvTaaaaaaaaaaAXaAXaAXaSgaAXaadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaajIcnEckzckAckzckAckCbZhcuccwybQLbQLbQLbQLbQLctGbZhbQLbQLbYwcwrcwqcwhcwfcxgcxhcxfcemcemcemcemcoCcLYcMycMocwYcpxdAFcwzcwFcxidCmbYMbTSbYNcxjdCncMBcxocxucxvcxEcMCcxjcxHcxIcmbcmccmdcmecmfcmgdCocmicKycjkcmkcmlcmmcwScuobYvcvRculbYvbQLbZgbYwbYwbYwaKBaaeaaaaaaaadaaaaaaaaaaaaaadaaaaaaaaaaaaaadaaaaaaaadaadaaaaaaaadaadaadaadaadaaaaaaaadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadaaaaadaaaaaaaaaaAXaadcBBaadaAXaaaaaaaadaaaaaaaadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadaaeaaebYwdBhbYwbQLcltcAnbXXbXXbXXbXXbXXbXXbXXcwtbQLbQLczwbYwczYczRcAiczRczEczIcyYctjczJczKczLcoCclBcztcqxcpxcpxdAFczuczycAMdCmcALbTSbYNcAKdCncAJcCCcCMcBOcBQcANcxjcxHcmWcmXcmYcmZcnacnbcnccnccndcxycjkcnfcmlcngcnicJRbYvcwEcwNcMLbZMbZgbYwcABcjvaKBaaeaadaadaadaadaaaaadaadaadaadaadaaaaadaadaaaaadcnncnocnocnpcnqcnqcnrcnrcnrcnrcnsaadaadaaaaaaaaaaacaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadaaaaaaaaaaAXaaaaadaaaaAXaaaaaaaaaaaaaadaadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadaadbYwbYwbYwbYwbYwcdYbYwcnvbYwbYwbYwcizbQLcpZbZhbQKbQLbQLclwbYwcyDcMDcyzcytcyZczjcyXctjczmczoczlcoCckecpxckdcpBcyRcoCcxJcyGcxJcxJcbvbTSbYNcjccjccjccjccjccjcckVcjccjcckUcpecjeczqbLkczrcnZcoacobcoccodcjkcoecofcogcxXcoibYvcvacwkbYvbQLbZgbYwbQLbQLcAIaaeaaaaaaaadaaaaaaaaaaaaaadaaaaaaaaaaaaaadaadaadcomconcoocopcnqcnrcnrcoqcorcoqcnrcnraadaadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacaaaaaaaaaaaaaAXaAXaAXaAXaAXaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadbYwbYwcLMcLucLAbYwbYwbYwcLtcNRcNLbYwbYwbYwbYwbYwcnzbZhcuScmzbYwcOecNScOycOucMIcMJcMKcNjcLNcMmcMpcMGcNmcNDcNJcNKcqucoCcNkcpccssbYwcOzbWrcOGclRclSdBlclUdBmclWclXdBndCpckUcpJcjecpfbLkbLkbLkbLkbLkbLkbLkcjkcjkcjkcpkcjkcrSbYvbYvcAybYvbQLdBCcnvbZMbQLbYwaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaecpmdBBdBAcopcnrcnrcoqcoqcpocoqcoqcnrcnraadaaaaadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabYwbQLcotbQLbQLcprcDBbYwbYwbYwcozbYwcDLcDIcDGbYwcpWbYwbYwbYwbYwcDTcDScDMcDMcJZcKccJQcJScJOcJPcDYcEbcKTcKUcKOcKSckWcoCcKjbWwcLicLlbYMbTScLmcmPcmQcmRcmScmScmSclXcmTcJTcDcbTXcKNcKJckDcpMcpNdCqcKfcKdcJWcpSdBwcpUcpVdBKcrSbQLdBxcyEclpclpcpYbYwcpZbYwbYwaadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadaaaaaacqacnrcpmcnrcnrcoqcoqcoqcoqcoqcoqcoqcnrcnraadaadaadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadbYwbQLdBrdBkdBodBDctgbYwdBsdBabQLbYwbYwbYwbYwbYwcpWcizcjvbYwdzOckFdAvdBjcxLdALdAPdARctjdASdATdAUcoCdAVcuJcsjdAWcNhcoCcvRdAZcmzbYwcqAbTSdBMcjcdBLcnQcnRcxScnScwwdCtdCucDcdBJcqGcqHdBIcqJcqKcqKcqKcqKcqKcqLcqMcqNcqOdCscrSbYwcqQcqRbYwbYwbYwbYwbYwbYwaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadcnqcnrcqScqTcqTcoqcoqcoqcoqcoqcoqcoqcoqcnrcnraadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacCIcCIcCIcCIcCIcCIcCIcCIcCIaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacdWbQLcpqcpqcpqcpqcpqbQLbQLbQLbQLbYwaadaadaadbYwcpWbQLdAIcrgcLwclAcLxclCdBicLzcONcOMctjdAkdAmdzNcoCcqzcqIdApcMTdABcoCdAudAxdAHbYwcrtbTSbYNcpbcmTcmScmScmSdBydBzcmTdADdAEdAGcrEcrFdAKcrHcrIcrJcrKcrLcrMcrNcNCcqocNBdCrcrSdBFcrUcrVcrWcNbcrYcMYcsaaadaadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadaaaaaacnrcnrcsbcoqcoqcoqcoqcoqcoqcoqcoqcoqcoqcoqcnrcnraadaadaadaaaaaaaaaaaaaaaaaaaaaaaaaaacCIcCIcCIcCIcCIcCIcCIcCIcCIaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacaaaaaaaaaaaaaadbYwbQLbQLcoybQLbQLbQLbQLbQLcpqcrubYwaadaadaadbYwcpWbZhbQLbYwcrqcmBckGckLcxLcrAcrBcrOctjctjcryctjctbctbctecsEcsEcsEcsEcrvckQckSbYwcrmcrncrocjccKwclUcKpclWdBtdBudBvcKvckUcrpcjecqlckDcsFcsFcsGcsHcsIcqncsKcqmcsMcsNcqocsPcsQcsRcsScsTcsUcsVcrZcsWaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadcnrcoqcoqcoqcoqcoqcoqcsYcoqcsZcoqcoqcoqcoqcoqcnrcnraadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacCIcCIcCIcCIcCIcCIcCIcCIcCIaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabYwcqVbQLbQLbQLcizcqccpqcpqbQLcrkbYwaadaaaaadbYwcpWbYwbYwbYwcxLcxLcxLcxLcxLcricrjcrectvcqYcrdcqXckOclIcwCclIclKclIcwBclMcwAclOclPbYMbTSbTTcjcckUckUckUcOAdBGckUckUckUckUcqUbSTcqDctBcrScrScrScrScrSctCcrScpicphcpncqPcrSctHctIctJctKctLctMctNctKaadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadaaaaaacnrctOctOctOctOctOctOctPcoqctQctOcsZcoqcoqcoqcoqcnraaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacCIcCIcCIcCIcCIcCIcCIcCIcCIaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabYwbYwcpqctgcpqbQLcthcqWcvAcpqbYwbYwaadaadaadbYwcpWcpEbYwcpLcpKcLscLrcpPctvcqicsDcsOczvcsXctdctfckOcDPcwCclIcmLclIclKctxcDRclOcszbYMbTSbRFbRvcjScstcsCcvbdBEcvzcttcuncvJbTXcjecswcrScuqcurcuscutcuucuvcuucuwcuxcuycrScrSbYwcqQcqRbYwcuzcskcuBcuCaaeaaeaaaaaaaaaaaaaacaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacuEconconconconconconconcuFcorcoqcoqcoqcoqcuGcorcnraadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacCIcCIcCIcCIcCIcCIcCIcCIcCIaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadbYwbYwbYwbYwcdWbYwbYwbYwbYwbYwaadaadaaaaadbYwcpWdAIcshcLPcJYcpDcpCcpzcpycnFcoAcsmcLkcspctncsncsocoScybcoScxNcyOcyTcwGcyIcnKcsBcnMcnNczGbRvcsfcsicrzcrzdAycrxdAzctocvJbTXcjecrQcrfcuqcurcvfcvfcvgcvhcvicvjcvkcvlcrScvmbQLdACcvpbYwctKctKctKctKaadaadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadaaaaaacnrcqTcqTcqTcqTcqTcqTcvqcoqcqScqTcvrcoqcoqcoqcoqcnraadaadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacCIcCIcCIcCIcCIaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadaadaadaadaaaaaaaadaadaadaadaadaadbYwcpWcizbYwcuecqqcrCcOccrGcrDcrPcrRcrXctvcufcugcujckOcnGcmKclIclKclIcumcLjcLocLvcLCctUcfBctZcsecsecvCcuicuidAwcwOcqEcvBcvJdBJcuacudcrScuqcurcvfcvMcuucvNcuucvOcvPcvQcrScuScdXcvocvRcvSbYwaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadcnrcoqcoqcoqcoqcoqcoqcsYcoqcvrcoqcoqcoqcoqcoqcnrcnraadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacCIcCIcCIcCIcCIaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadaaaaaaaaaaaaaaaaadaadbYwbYwbYwcpWbQLbYwcrwcrscrrcKacrcctvcqrcojcqpbYwbYwbYwbYwckOclIclKclIcKnclIctDctAcKkckOcJVbYMbTSctscsectzcpAcsucsvctyctFctRcupcjScuRcjectibYZbYZbYZbYZbYZbYZctkbYZctldAMctmcrSbZhbZhcwncwocvSbYwaaaaadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadaaaaaacnrcnrcsbcoqcoqcoqcoqcoqcoqcoqcoqcoqcoqcoqcnrcnraadaaaaaaaaaaaaaaaaaaaaaaaacCIcCIcCIcCIcCIcCIcCIcCIcCIcCIaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadcmtcxRcmtcAmbYwbYwbYwbYwbYwbYwbYwctTctwcnlctvbYwctqbQLcvUbYwbYwbYwbYwbYwbYwbYwcvWbYwbYwbYwciWbTSbYNcsecvHcpAcuicuicLQcxrcGhcLOcxFcyCcMhcvIcwgcwdcwccwacvZcvYcvXbRJcxndBeckBckBckBckBcwIcwJbYwbYwbYwaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadcnqcnrctQctOctOcoqcoqcoqcoqcoqcoqcoqcoqcnrcnraadaaaaaaaaaaaaaaaaaaaaaaaaaaacCIcCIcCIcCIcCIcCIcCIcCIcCIcCIaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadbYwbYwbYwcvubZxbZxbZxbZxbZxbZxdBfcvvcwjcolcwmcwsdBgbZxbZxbZxcvebZxbZxbZxbZxcvscvnclpdBdcvVcuZcwebYNcsecuYcrhcsycsycsycxmcvLcwRcvxcxkcuTcvGcmjcuUcuOcuNcuQcuPcuMbRJclwcmxbZhcxabQLbQLcwbcxbcxccwpbYwbYwbYwaaeaaaaadaaaaaaaaacxdcxdcxdaadaaaaaaaadaaaaaaaadaaaaaacqacnrcpmcnrcnrcoqcoqcoqcoqcoqcoqcoqcnrcnraadaadaaaaaaaaaaaaaaaaaaaaaaaaaaacCIcCIcCIcCIcCIcCIcCIcCIcCIcCIcCIcCIcCIcCIaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadaadbYwclfckXbZhcuScizbZhbQLckTbYwcvtcvwcqhbYwbYwbYwcnCbQLckNcwTcwTcwTcwTbYwcwTcwTcwTcwTclscohclHcsecnmdBccsJcplcuictEcslcnLcvJclVcvdclqcmjcnIcnTcnUcnOcnPcnVbRJbQLcmxbYwbYwbYwbYvbYwbZhcxsdAicxtdAjcxtcnEcnEcnEcnEcnEcnEcnEcnEcnEcnEcnEcnEcnEcnEcnEcnEcnEcnEcxxdAgdAhcnHcnrcnrcoqcoqcxAcoqcoqcnrcnraadaaaaadaaaaaaaaaaaaaaaaaaaaaaaaaaacCIcCIcCIcCIcCIcCIcCIcCIcCIcCIcCIcCIcCIcCIaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadbYwbYwbYwbZhcdYcnCbZhbYwbYwbYwcwvclJcwxbYwaadbYwclrbYwckNcwTcmrcmrcwTcmpclZcoFcmscwTcwUcwVcwWcsecokcvccsqcsAcuicsxcsedAYcsecvKcmvbWBbRJbRJbRJbRJbRJbRJbRJbRJbQLcmxbYwcxPcmwcaybYwbZhdAlcxTbYwbYwbYwaaeaaaaadaaaaaaaaacxdcxdcxdaadaaaaaaaadaaaaaaaadaadaadcxUcxVcoocopcnqcnrcnrcoqcorcoqcnrcnraadaadaaaaadaaaaaaaaaaaaaaaaaaaaaaaaaaacCIcCIcCIcCIcCIcCIcCIcCIcCIcCIcCIcCIcCIcCIaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadaadaadbYwbYwbYwclrbYwbYwaaaaadcwMclLcwMaaaaadaadaaabYwckNcwTcmycmycmCcmAcmDcmDcmDcnecmOcmNcmEcsecsecsecsecsecnkcsecsecnjcwDcoQcoKcoLcwDckAckBckBckBckBckBckBckBdAocnvdAncbucuScygcygcyhcyicygaaaaaaaaaaadaadaadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadaadcyjcnocnocnpcnqcnqcnrcnrcnrcnrcnsaadaaaaaaaaaaacaaaaaaaaaaaaaaaaaaaaaaaaaaacCIcCIcCIcCIcCIcCIcCIcCIcCIcCIcCIcCIcCIcCIaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadaaaaaaaadaaaaaaaaaaadaaaaaacxeccFcxeaaaaaaaaaaaabYwcnDcnBcnucntcnWcnJcxGcxGcxGcnYcoucoscnXcoTckBckBckBckBcowcuWckBcovcBScoVcoWcxlcBScmzcdYcxqbYwbYwbYwbYwbYwbYwbYwbYwbYwcozcygcyudArcywcygaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadaaaaadaadaadaadaadaadaadaadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacCIcCIcCIcCIcCIcCIcCIcCIcCIcCIcCIcCIcCIcCIcCIcCIcCIaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadaadaaaaaaaaaaadaaaaaaaadaaaaacaaaaadaaaaadcxCclNcxCaaaaaaaaaaaabYwbYwcwTcoHcxGcoEcoDcoGcoGcoscoGcpacoscpdbYwbYwbYwcmzcdYcxqcoZbYwbYwcBScwXcoUcBScBSbYwbYwclrbYwcoXcoNcoObYwcoJcoPcoRbYwbQLcygcoIcyHcoYcygaaaaaaaaaaadaaaaaaaaaaaaaadaaaaaaaadaaaaaaaaaaaaaadaaaaaaaaaaSgaaaaadaaaaSgaAXaSgaadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacCIcCIcCIcCIcCIcCIcCIcCIcCIcCIcCIcCIcCIcCIcCIcCIcCIaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacDjcDjcDjcDjcDjcDjcDjcDjcDjaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadaadaadaadaadaadaadaadaaaaaaaaaaadaaacxWcwucmacwucxWaadaaaaaaaaaaaacwTcpgcxGciUciQciQciQcxGciQciUcxGcppcwTaadbYwbYwbYwclrbYwbYwaaaaadcxpcwicxpaadaadaadaadbYwbQLbQLbQLcprbQLcpsbQLcpvcnCcygcyVdAscqFcygaaaaaaaaaaadaaaaaaaaaaaaaadaaaaaaaadaaaaaaaaaaaaaadaaaaaaaaaaAXaaaaadaaaaaaaaaaaaaadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacCIcCIcCIcCIcCIcCIcCIcCIcCIcCIcCIcCIcCIcCIcCIcCIcCIaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacDjcDjcDjcDjcDjcDjcDjcDjcDjaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadaaaaaaaaaaaaaaaaaaaadaaaaadaadaadaadcwucykcmocymcwuaadaadaadaadaadcyAcyBcxGcjQcxGcxGcxGcqdcqbcpQcpOcyacyAaaaaaaaaaaadaadaaaaaaaaaaadcxMclvcxMaadaaaaaaaadbYwcpIbQLbQLbQLcpFbQLcpwbYwclrcygcqfczscqgcygaadaadaadaadaadaaaaaaaadaadaaaaaaaadaaaaaaaaaaaaaSgaSgaaaaaaaaaaaaaaaaaaaaaaaaaaaaadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacCIcCIcCIcCIcCIcCIcCIcCIcCIcCIcCIcCIcCIcCIcCIcCIcCIaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacDjcDjcDjcDjcDjcDjcDjcDjcDjaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadaadaadaadaaaaaaaaaaaaaadaadaadaadaaaaaaaaacwucyxcyycxQcwuaadaaaaaaaadaaacyNcyBcxGcoEcqjcqjcqjcqkcypcqscincyacyNaaaaaaaaaaadaaaaaaaaaaaaaadcyccydcycaaaaaaaaaaaabYwcqCcqwcqvbYwcqycqtcqvbYwaaaaadczWdAtczWaadaaaaaaaaaaaaaadaadaadaadaaaaaaaaaaadaaaaaaaaaaaaaAXaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacCIcCIcCIcCIcCIcCIcCIcCIcCIcCIcCIcCIcCIcCIcCIcCIcCIaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacDjcDjcDjcDjcDjcDjcDjcDjcDjaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadaaacwucyJcwucwucyJcwucyJcwucwucwucyJcwuaaacyKcyLcmqcyMcwuaaaaaaaaaaaaaaaczkcyBcxGciUciQciQciQciIcyociqcincyaczkaaaaaaaaaaaaaadaaaaaaaadcwXcwZciKcwZcwXaaaaaaaaabYwbYwbYwbYwbYwbYwbYwbYwbYwaaaaadcAvczscAvaadaaaaaaaaaaaaaadaadaaaaaaaaaaaaaaaaadaaaaacaaaaaaaadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacCIcCIcCIcCIcCIcCIcCIcCIcCIcCIcCIcCIcCIcCIcCIcCIcCIaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacDjcDjcDjcDjcDjcDjcDjcDjcDjaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacwucjmcjjczaczbczcczdczeczfczgczdcwuaaaczhcziclocwucwuaaaaaaaaaaaaaaacwTcjUcxGcjQcxGcxGcxGciVcBRcjaciYcjLcwTaaaaaaaaaaaaaadaaaaaaaadcwZcjNclxcyFcwZaadaaaaaaaaaaadaaaaaaaaaaaaaadaadaaaaaaaadaaacAWaaaaadaadaadaadaadaadaaaaaaaadaadaadaAXaadaAXaadaSgaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacCIcCIcCIcCIcCIaaacCIcCIcCIcCIcCIaaacCIcCIcCIcCIcCIaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacDjcDjcDjcDjcDjaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadaaEcyJczxcjnczzczcczcczAczBczCczDczAcwuaaaaadczFclyczHaadaaaaaaaaaaaaaaackPckycksckucksckscksckscksckuckscjZckPaaaaaaaaaaadaadaadaadaadcwZcyPcyQcpRcyScnxaadaadaadaadaadaaaaaaaaaaaaaaaaaaaaaaadaaacAWaaaaadaadaaaaaaaaaaadaaaaaaaaaaadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacCIcCIcCIcCIcCIaaacCIcCIcCIcCIcCIaaacCIcCIcCIcCIcCIaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacDjcDjcDjcDjcDjaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacaaaaaaaaaaaaaaaaaaaaaaaaaadcnAczZcAacAbcAccAdczcczccAecAfcAgcAhcziaadaadcAjcAkcAlaadaaaaaaaaaaaaaaacxDcypcypcypckEcypcypcypcypcypcypcypcxDaaaaaaaadcwZcwZcwZcwZcwZcwZcznclzczpcwZcwZcwZcwZcwZcwZaadaaaaaaaaaaadaadaaaaaaaadaaacBXcBYcBYcBYcBZaaaaaaaaaaaaaaaaaaaAXaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacCIcCIcCIcCIcCIaaaaaaaaaaaaaaaaaaaaacCIcCIcCIcCIcCIaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacDjcDjcDjcDjcDjcDjcDjcDjcDjcDjaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaEaAXcwucAwcAxclDcAzcAzcAAckMcACcADcAEczhcAFcAGcAHbYdcAlaadaaaaaaaaaaaaaaacwOcBncBocBmcAmcBmcBncBocBmcBmcBncBocwOaaaaadaadcwZczMczNczOczPcwZczQckHcwZcwZczSczTczUczVcwZaadaadaadaaaaaaaadaaaaaaaadaaaaaaaaaaaaaaacAWaaaaaaaadaaaaaaaaaaadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacDjcDjcDjcDjcDjcDjcDjcDjcDjcDjaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaEaAXcwucAwcAxclDcAzcAzcAAckMcACcADcAEczhcAFcAGcAHbYdcAlaadaaaaaaaaaaaaaaacwTcBncBocBmckPcBmcBncBocBmcBmcBncBocwTaaaaadaadcwZczMczNczOczPcwZczQckHcwZcwZczSczTczUczVcwZaadaadaadaaaaaaaadaaaaaaaadaaaaaaaaaaaaaaacAWaaaaaaaadaaaaaaaaaaadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacDjcDjcDjcDjcDjcDjcDjcDjcDjcDjaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadaaacyJcAXcAYcAZcBacBbcBccBdcBecBfcBgcBhcBicBjbYxcBkcBlaadaaaaaaaaaaaaaaaaaaaaacCkcypcBPcypcCmcCkcBRcBRcCmaaaaaaaaaaaaaadcxpcAocApcApcAqcApcArcAscAtcAucAucAucAucAucxpaadaaaaadaadaadaadaAXaAXaAXaSgaadaadaadaadcAWaadaadaadaadaadaaEaAXaAXaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacDjcDjcDjcDjcDjcDjcDjcDjcDjcDjcDjcDjcDjcDjaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacwucBCcBDcBEcBecBFcBGcBHcBIcBJcBKcwucBLcBMcBMcBNcwuaadaaaaaaaaaaaaaaaaaaaaacCkcBmcClcBmcCmcCkcBmcBmcCmaaaaaaaaaaaaaadcyccAucAOcAPcAQcAPcARcAScATcATcATcAUcAVcAucycaadaaaaaaaaaaaaaaaaAXaaaaadaaaaadaaaaaaaaacCVaaaaaaaadaaaaaaaaaaaaaSgaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacDjcDjcDjcDjcDjcDjcDjcDjcDjcDjcDjcDjcDjcDjaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadaadcwucCacCbcCccCdcCecCfcCgcChcCicCjcwuaadaadaadaadaadaadaaaaaaaaacCDcCDcCDcCDcCDcCDcCDcCDcCDcCDcCDcCDcCDcCDaaaaaaaaaaaacwZcBpcBqcBrcBscBtcBucBvcAucBwcBxcBycBzcBAcwZaadaaaaaaaaaaaaaaaaAXaaacDhcDhcDhcDhcDhaadcDiaadcDhcDhcDhcDhcDhaaaaAXaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa diff --git a/tgstation.dme b/tgstation.dme index 379c81bed12..fe1be21bef4 100644 --- a/tgstation.dme +++ b/tgstation.dme @@ -6,6 +6,43 @@ // BEGIN_FILE_DIR #define FILE_DIR . +#define FILE_DIR "html" +#define FILE_DIR "icons" +#define FILE_DIR "icons/effects" +#define FILE_DIR "icons/mecha" +#define FILE_DIR "icons/misc" +#define FILE_DIR "icons/mob" +#define FILE_DIR "icons/obj" +#define FILE_DIR "icons/obj/assemblies" +#define FILE_DIR "icons/obj/atmospherics" +#define FILE_DIR "icons/obj/clothing" +#define FILE_DIR "icons/obj/doors" +#define FILE_DIR "icons/obj/flora" +#define FILE_DIR "icons/obj/machines" +#define FILE_DIR "icons/obj/pipes" +#define FILE_DIR "icons/obj/power_cond" +#define FILE_DIR "icons/pda_icons" +#define FILE_DIR "icons/spideros_icons" +#define FILE_DIR "icons/stamp_icons" +#define FILE_DIR "icons/Testing" +#define FILE_DIR "icons/turf" +#define FILE_DIR "icons/vending_icons" +#define FILE_DIR "sound" +#define FILE_DIR "sound/AI" +#define FILE_DIR "sound/ambience" +#define FILE_DIR "sound/effects" +#define FILE_DIR "sound/hallucinations" +#define FILE_DIR "sound/items" +#define FILE_DIR "sound/machines" +#define FILE_DIR "sound/mecha" +#define FILE_DIR "sound/misc" +#define FILE_DIR "sound/piano" +#define FILE_DIR "sound/violin" +#define FILE_DIR "sound/voice" +#define FILE_DIR "sound/weapons" +#define FILE_DIR "tools" +#define FILE_DIR "tools/AddToChangelog" +#define FILE_DIR "tools/AddToChangelog/AddToChangelog" // END_FILE_DIR // BEGIN_PREFERENCES @@ -152,6 +189,7 @@ #include "code\datums\spells\turf_teleport.dm" #include "code\datums\spells\wizard.dm" #include "code\datums\wires\airlock.dm" +#include "code\datums\wires\alarm.dm" #include "code\datums\wires\apc.dm" #include "code\datums\wires\camera.dm" #include "code\datums\wires\explosive.dm" @@ -581,6 +619,7 @@ #include "code\game\objects\structures\crates_lockers\closets\job_closets.dm" #include "code\game\objects\structures\crates_lockers\closets\l3closet.dm" #include "code\game\objects\structures\crates_lockers\closets\malfunction.dm" +#include "code\game\objects\structures\crates_lockers\closets\statue.dm" #include "code\game\objects\structures\crates_lockers\closets\syndicate.dm" #include "code\game\objects\structures\crates_lockers\closets\utility_closets.dm" #include "code\game\objects\structures\crates_lockers\closets\wardrobe.dm"