diff --git a/baystation12.dme b/baystation12.dme
index 317057caad..086f1dafa3 100644
--- a/baystation12.dme
+++ b/baystation12.dme
@@ -786,7 +786,6 @@
#include "code\modules\clothing\masks\breath.dm"
#include "code\modules\clothing\masks\gasmask.dm"
#include "code\modules\clothing\masks\miscellaneous.dm"
-#include "code\modules\clothing\masks\voice.dm"
#include "code\modules\clothing\shoes\colour.dm"
#include "code\modules\clothing\shoes\magboots.dm"
#include "code\modules\clothing\shoes\miscellaneous.dm"
@@ -796,26 +795,6 @@
#include "code\modules\clothing\spacesuits\miscellaneous.dm"
#include "code\modules\clothing\spacesuits\spacesuits.dm"
#include "code\modules\clothing\spacesuits\syndi.dm"
-#include "code\modules\clothing\spacesuits\rig\rig.dm"
-#include "code\modules\clothing\spacesuits\rig\rig_attackby.dm"
-#include "code\modules\clothing\spacesuits\rig\rig_pieces.dm"
-#include "code\modules\clothing\spacesuits\rig\rig_verbs.dm"
-#include "code\modules\clothing\spacesuits\rig\rig_wiring.dm"
-#include "code\modules\clothing\spacesuits\rig\modules\combat.dm"
-#include "code\modules\clothing\spacesuits\rig\modules\computer.dm"
-#include "code\modules\clothing\spacesuits\rig\modules\modules.dm"
-#include "code\modules\clothing\spacesuits\rig\modules\ninja.dm"
-#include "code\modules\clothing\spacesuits\rig\modules\utility.dm"
-#include "code\modules\clothing\spacesuits\rig\modules\vision.dm"
-#include "code\modules\clothing\spacesuits\rig\suits\alien.dm"
-#include "code\modules\clothing\spacesuits\rig\suits\combat.dm"
-#include "code\modules\clothing\spacesuits\rig\suits\ert.dm"
-#include "code\modules\clothing\spacesuits\rig\suits\light.dm"
-#include "code\modules\clothing\spacesuits\rig\suits\station.dm"
-#include "code\modules\clothing\spacesuits\void\merc.dm"
-#include "code\modules\clothing\spacesuits\void\station.dm"
-#include "code\modules\clothing\spacesuits\void\void.dm"
-#include "code\modules\clothing\spacesuits\void\wizard.dm"
#include "code\modules\clothing\suits\alien.dm"
#include "code\modules\clothing\suits\armor.dm"
#include "code\modules\clothing\suits\bio.dm"
diff --git a/baystation12.int b/baystation12.int
index b82874fded..28f433f0ff 100644
--- a/baystation12.int
+++ b/baystation12.int
@@ -3,4 +3,4 @@
MAP_ICON_TYPE: 0
AUTO_FILE_DIR: OFF
*/
-// END_INTERNALS
+// END_INTERNALS
\ No newline at end of file
diff --git a/code/ATMOSPHERICS/components/binary_devices/dp_vent_pump.dm b/code/ATMOSPHERICS/components/binary_devices/dp_vent_pump.dm
index 43cab4f6ec..632803cd3b 100644
--- a/code/ATMOSPHERICS/components/binary_devices/dp_vent_pump.dm
+++ b/code/ATMOSPHERICS/components/binary_devices/dp_vent_pump.dm
@@ -27,6 +27,8 @@
active_power_usage = 7500 //This also doubles as a measure of how powerful the pump is, in Watts. 7500 W ~ 10 HP
var/last_power_draw = 0
+ connect_types = list(1,2,3) //connects to regular, supply and scrubbers pipes
+
var/on = 0
var/pump_direction = 1 //0 = siphoning, 1 = releasing
@@ -62,7 +64,7 @@
return
overlays.Cut()
-
+
var/vent_icon = "vent"
var/turf/T = get_turf(src)
@@ -71,7 +73,7 @@
if(T.intact && node1 && node2 && node1.level == 1 && node2.level == 1 && istype(node1, /obj/machinery/atmospherics/pipe) && istype(node2, /obj/machinery/atmospherics/pipe))
vent_icon += "h"
-
+
if(!powered())
vent_icon += "off"
else
@@ -88,8 +90,14 @@
if(T.intact && node1 && node2 && node1.level == 1 && node2.level == 1 && istype(node1, /obj/machinery/atmospherics/pipe) && istype(node2, /obj/machinery/atmospherics/pipe))
return
else
- add_underlay(T, node1, turn(dir, -180))
- add_underlay(T, node2, dir)
+ if (node1)
+ add_underlay(T, node1, turn(dir, -180), node1.icon_connect_type)
+ else
+ add_underlay(T, node1, turn(dir, -180))
+ if (node2)
+ add_underlay(T, node2, dir, node2.icon_connect_type)
+ else
+ add_underlay(T, node2, dir)
/obj/machinery/atmospherics/binary/dp_vent_pump/hide(var/i)
update_icon()
@@ -97,7 +105,7 @@
/obj/machinery/atmospherics/binary/dp_vent_pump/process()
..()
-
+
if(stat & (NOPOWER|BROKEN) || !on)
update_use_power(0) //usually we get here because a player turned a pump off - definitely want to update.
last_power_draw = 0
@@ -107,19 +115,19 @@
var/datum/gas_mixture/environment = loc.return_air()
var/power_draw = -1
-
+
//Figure out the target pressure difference
var/pressure_delta = get_pressure_delta(environment)
if(pressure_delta > 0.5)
- if(pump_direction) //internal -> external
+ if(pump_direction) //internal -> external
if (node1 && (environment.temperature || air1.temperature))
var/output_volume = environment.volume * environment.group_multiplier
var/air_temperature = environment.temperature? environment.temperature : air1.temperature
var/transfer_moles = pressure_delta*output_volume/(air_temperature * R_IDEAL_GAS_EQUATION)
-
+
power_draw = pump_gas(src, air1, environment, transfer_moles, active_power_usage)
-
+
if(power_draw >= 0 && network1)
network1.update = 1
else //external -> internal
@@ -127,15 +135,15 @@
var/output_volume = air2.volume + (network2? network2.volume : 0)
var/air_temperature = air2.temperature? air2.temperature : environment.temperature
var/transfer_moles = pressure_delta*output_volume/(air_temperature * R_IDEAL_GAS_EQUATION)
-
+
//limit flow rate from turfs
transfer_moles = min(transfer_moles, environment.total_moles*air2.volume/environment.volume) //group_multiplier gets divided out here
-
+
power_draw = pump_gas(src, environment, air2, transfer_moles, active_power_usage)
-
+
if(power_draw >= 0 && network2)
network2.update = 1
-
+
if (power_draw < 0)
last_power_draw = 0
last_flow_rate = 0
@@ -149,7 +157,7 @@
/obj/machinery/atmospherics/binary/dp_vent_pump/proc/get_pressure_delta(datum/gas_mixture/environment)
var/pressure_delta = DEFAULT_PRESSURE_DELTA
var/environment_pressure = environment.return_pressure()
-
+
if(pump_direction) //internal -> external
if(pressure_checks & PRESSURE_CHECK_EXTERNAL)
pressure_delta = min(pressure_delta, external_pressure_bound - environment_pressure) //increasing the pressure here
@@ -160,9 +168,9 @@
pressure_delta = min(pressure_delta, environment_pressure - external_pressure_bound) //decreasing the pressure here
if(pressure_checks & PRESSURE_CHECK_OUTPUT)
pressure_delta = min(pressure_delta, output_pressure_max - air2.return_pressure()) //increasing the pressure here
-
+
return pressure_delta
-
+
//Radio remote control
@@ -204,6 +212,7 @@
if(..(user, 1))
user << "A small gauge in the corner reads [round(last_flow_rate, 0.1)] L/s; [round(last_power_draw)] W"
+
/obj/machinery/atmospherics/unary/vent_pump/power_change()
var/old_stat = stat
..()
diff --git a/code/WorkInProgress/Cib/meme.dm b/code/WorkInProgress/Cib/meme.dm
index 880f21bad5..cbd536da93 100644
--- a/code/WorkInProgress/Cib/meme.dm
+++ b/code/WorkInProgress/Cib/meme.dm
@@ -292,8 +292,12 @@ mob/living/parasite/meme/verb/Agony()
spawn
// backup the host incase we switch hosts after using the verb
- var/mob/host = src.host
+ var/mob/living/carbon/host = src.host
+ if (host.species && (host.species.flags & NO_PAIN))
+ usr << "Nothing seems to happen."
+ return
+
host.paralysis = max(host.paralysis, 2)
host.flash_weak_pain()
diff --git a/code/WorkInProgress/kilakk/fax.dm b/code/WorkInProgress/kilakk/fax.dm
index 8be1e9679d..bbec494ea4 100644
--- a/code/WorkInProgress/kilakk/fax.dm
+++ b/code/WorkInProgress/kilakk/fax.dm
@@ -183,12 +183,16 @@ var/list/alldepartments = list("Central Command")
var/msg = "\blue CENTCOMM FAX: [key_name(Sender, 1)] (PP) (VV) (SM) (JMP) (CA) (RPLY): Receiving '[sentname]' via secure connection ... view message"
- admins << msg
+ for(var/client/C in admins)
+ if(R_ADMIN & C.holder.rights)
+ C << msg
/proc/Solgov_fax(var/originfax, var/sent, var/sentname, var/mob/Sender)
var/msg = "\blue SOL GOVERNMENT FAX: [key_name(Sender, 1)] (PP) (VV) (SM) (JMP) (CA) (RPLY): Receiving '[sentname]' via secure connection ... view message"
- admins << msg
+ for(var/client/C in admins)
+ if(R_ADMIN & C.holder.rights)
+ C << msg
proc/SendFax(var/sent, var/sentname, var/mob/Sender, var/dpt)
diff --git a/code/controllers/voting.dm b/code/controllers/voting.dm
index 02780f31b6..27b1b7558b 100644
--- a/code/controllers/voting.dm
+++ b/code/controllers/voting.dm
@@ -290,9 +290,9 @@ datum/controller/vote
var/admin = 0
var/trialmin = 0
if(C.holder)
- admin = 1
if(C.holder.rights & R_ADMIN)
- trialmin = 1
+ admin = 1
+ trialmin = 1 // don't know why we use both of these it's really weird, but I'm 2 lasy to refactor this all to use just admin.
voting |= C
. = "
Voting Panel"
diff --git a/code/datums/supplypacks.dm b/code/datums/supplypacks.dm
index 12925ffc61..c11ca32bca 100755
--- a/code/datums/supplypacks.dm
+++ b/code/datums/supplypacks.dm
@@ -450,7 +450,7 @@ var/list/all_supply_groups = list("Operations","Security","Hospitality","Enginee
containertype = /obj/structure/closet/crate
containername = "Wooden planks crate"
group = "Engineering"
-
+
/datum/supply_packs/plastic50
name = "50 plastic sheets"
contains = list(/obj/item/stack/sheet/mineral/plastic)
@@ -980,7 +980,7 @@ var/list/all_supply_groups = list("Operations","Security","Hospitality","Enginee
/obj/item/clothing/under/rank/mailman,
/obj/item/clothing/under/dress/dress_saloon,
/obj/item/clothing/suit/suspenders,
- /obj/item/clothing/suit/storage/labcoat/mad,
+ /obj/item/clothing/suit/storage/toggle/labcoat/mad,
/obj/item/clothing/suit/bio_suit/plaguedoctorsuit,
/obj/item/clothing/under/schoolgirl,
/obj/item/clothing/under/owl,
@@ -1003,7 +1003,7 @@ var/list/all_supply_groups = list("Operations","Security","Hospitality","Enginee
/datum/supply_packs/formal_wear
contains = list(/obj/item/clothing/head/bowler,
/obj/item/clothing/head/that,
- /obj/item/clothing/suit/storage/lawyer/bluejacket,
+ /obj/item/clothing/suit/storage/toggle/lawyer/bluejacket,
/obj/item/clothing/suit/storage/lawyer/purpjacket,
/obj/item/clothing/under/suit_jacket,
/obj/item/clothing/under/suit_jacket/female,
diff --git a/code/defines/procs/records.dm b/code/defines/procs/records.dm
index 3bf23c5941..4e9fbcc9af 100644
--- a/code/defines/procs/records.dm
+++ b/code/defines/procs/records.dm
@@ -39,6 +39,9 @@
data_core.security += R
return R
+/proc/find_security_record(field, value)
+ return find_record(field, value, data_core.security)
+
/proc/find_record(field, value, list/L)
for(var/datum/data/record/R in L)
if(R.fields[field] == value)
diff --git a/code/game/gamemodes/cult/runes.dm b/code/game/gamemodes/cult/runes.dm
index fdbc1e35fd..fb6476bf07 100644
--- a/code/game/gamemodes/cult/runes.dm
+++ b/code/game/gamemodes/cult/runes.dm
@@ -104,9 +104,13 @@ var/list/sacrificed = list()
if(M.stat==2)
continue
usr.say("Mah[pick("'","`")]weyh pleggh at e'ntrath!")
- M.visible_message("\red [M] writhes in pain as the markings below \him glow a bloody red.", \
- "\red AAAAAAHHHH!", \
- "\red You hear an anguished scream.")
+
+ if (M.species && (M.species.flags & NO_PAIN))
+ M.visible_message("\red The markings below [M] glow a bloody red.")
+ else
+ M.visible_message("\red [M] writhes in pain as the markings below \him glow a bloody red.", \
+ "\red AAAAAAHHHH!", \
+ "\red You hear an anguished scream.")
if(is_convertable_to_cult(M.mind) && !jobban_isbanned(M, "cultist"))//putting jobban check here because is_convertable uses mind as argument
// Mostly for the benefit of those who resist, but it makes sense for even those who join to have some.. effect.
diff --git a/code/game/jobs/job/captain.dm b/code/game/jobs/job/captain.dm
index 949ff1660e..a43056fa96 100644
--- a/code/game/jobs/job/captain.dm
+++ b/code/game/jobs/job/captain.dm
@@ -34,7 +34,7 @@ var/datum/announcement/minor/captain_announcement = new(do_newscast = 1)
H.equip_to_slot_or_del(new /obj/item/weapon/storage/box/ids(H), slot_r_hand)
else
H.equip_to_slot_or_del(new /obj/item/weapon/storage/box/ids(H.back), slot_in_backpack)
-
+
var/sound/announce_sound = (ticker.current_state <= GAME_STATE_SETTING_UP)? null : sound('sound/misc/boatswain.ogg', volume=20)
captain_announcement.Announce("All hands, Captain [H.real_name] on deck!", new_sound=announce_sound)
diff --git a/code/game/jobs/job/civilian.dm b/code/game/jobs/job/civilian.dm
index c38ed72ab1..64209f675b 100644
--- a/code/game/jobs/job/civilian.dm
+++ b/code/game/jobs/job/civilian.dm
@@ -352,7 +352,7 @@
if(3) H.equip_to_slot_or_del(new /obj/item/weapon/storage/backpack/satchel_norm(H), slot_back)
if(4) H.equip_to_slot_or_del(new /obj/item/weapon/storage/backpack/satchel(H), slot_back)
H.equip_to_slot_or_del(new /obj/item/clothing/under/rank/internalaffairs(H), slot_w_uniform)
- H.equip_to_slot_or_del(new /obj/item/clothing/suit/storage/internalaffairs(H), slot_wear_suit)
+ H.equip_to_slot_or_del(new /obj/item/clothing/suit/storage/toggle/internalaffairs(H), slot_wear_suit)
H.equip_to_slot_or_del(new /obj/item/clothing/shoes/brown(H), slot_shoes)
H.equip_to_slot_or_del(new /obj/item/clothing/glasses/sunglasses/big(H), slot_glasses)
H.equip_to_slot_or_del(new /obj/item/device/pda/lawyer(H), slot_belt)
diff --git a/code/game/jobs/job/medical.dm b/code/game/jobs/job/medical.dm
index 5356e1102a..085ca17a80 100644
--- a/code/game/jobs/job/medical.dm
+++ b/code/game/jobs/job/medical.dm
@@ -27,7 +27,7 @@
H.equip_to_slot_or_del(new /obj/item/clothing/under/rank/chief_medical_officer(H), slot_w_uniform)
H.equip_to_slot_or_del(new /obj/item/clothing/shoes/brown(H), slot_shoes)
H.equip_to_slot_or_del(new /obj/item/device/pda/heads/cmo(H), slot_belt)
- H.equip_to_slot_or_del(new /obj/item/clothing/suit/storage/labcoat/cmo(H), slot_wear_suit)
+ H.equip_to_slot_or_del(new /obj/item/clothing/suit/storage/toggle/labcoat/cmo(H), slot_wear_suit)
H.equip_to_slot_or_del(new /obj/item/weapon/storage/firstaid/adv(H), slot_l_hand)
H.equip_to_slot_or_del(new /obj/item/device/flashlight/pen(H), slot_s_store)
if(H.backbag == 1)
@@ -62,13 +62,13 @@
switch(H.mind.role_alt_title)
if("Emergency Physician")
H.equip_to_slot_or_del(new /obj/item/clothing/under/rank/medical(H), slot_w_uniform)
- H.equip_to_slot_or_del(new /obj/item/clothing/suit/storage/fr_jacket(H), slot_wear_suit)
+ H.equip_to_slot_or_del(new /obj/item/clothing/suit/storage/toggle/fr_jacket(H), slot_wear_suit)
if("Surgeon")
H.equip_to_slot_or_del(new /obj/item/clothing/under/rank/medical/blue(H), slot_w_uniform)
- H.equip_to_slot_or_del(new /obj/item/clothing/suit/storage/labcoat(H), slot_wear_suit)
+ H.equip_to_slot_or_del(new /obj/item/clothing/suit/storage/toggle/labcoat(H), slot_wear_suit)
H.equip_to_slot_or_del(new /obj/item/clothing/head/surgery/blue(H), slot_head)
if("Virologist")
- H.equip_to_slot_or_del(new /obj/item/clothing/suit/storage/labcoat/virologist(H), slot_wear_suit)
+ H.equip_to_slot_or_del(new /obj/item/clothing/suit/storage/toggle/labcoat/virologist(H), slot_wear_suit)
H.equip_to_slot_or_del(new /obj/item/clothing/under/rank/virologist(H), slot_w_uniform)
H.equip_to_slot_or_del(new /obj/item/clothing/mask/surgical(H), slot_wear_mask)
switch(H.backbag)
@@ -77,7 +77,7 @@
if(4) H.equip_to_slot_or_del(new /obj/item/weapon/storage/backpack/satchel(H), slot_back)
if("Medical Doctor")
H.equip_to_slot_or_del(new /obj/item/clothing/under/rank/medical(H), slot_w_uniform)
- H.equip_to_slot_or_del(new /obj/item/clothing/suit/storage/labcoat(H), slot_wear_suit)
+ H.equip_to_slot_or_del(new /obj/item/clothing/suit/storage/toggle/labcoat(H), slot_wear_suit)
if("Nurse")
if(H.gender == FEMALE)
if(prob(50))
@@ -89,7 +89,7 @@
H.equip_to_slot_or_del(new /obj/item/clothing/under/rank/medical/purple(H), slot_w_uniform)
else
H.equip_to_slot_or_del(new /obj/item/clothing/under/rank/medical(H), slot_w_uniform)
- H.equip_to_slot_or_del(new /obj/item/clothing/suit/storage/labcoat(H), slot_wear_suit)
+ H.equip_to_slot_or_del(new /obj/item/clothing/suit/storage/toggle/labcoat(H), slot_wear_suit)
H.equip_to_slot_or_del(new /obj/item/clothing/shoes/white(H), slot_shoes)
H.equip_to_slot_or_del(new /obj/item/device/pda/medical(H), slot_belt)
H.equip_to_slot_or_del(new /obj/item/weapon/storage/firstaid/adv(H), slot_l_hand)
@@ -123,7 +123,7 @@
H.equip_to_slot_or_del(new /obj/item/clothing/under/rank/chemist(H), slot_w_uniform)
H.equip_to_slot_or_del(new /obj/item/clothing/shoes/white(H), slot_shoes)
H.equip_to_slot_or_del(new /obj/item/device/pda/chemist(H), slot_belt)
- H.equip_to_slot_or_del(new /obj/item/clothing/suit/storage/labcoat/chemist(H), slot_wear_suit)
+ H.equip_to_slot_or_del(new /obj/item/clothing/suit/storage/toggle/labcoat/chemist(H), slot_wear_suit)
switch(H.backbag)
if(1) H.equip_to_slot_or_del(new /obj/item/weapon/storage/box/survival(H), slot_r_hand)
if(2) H.equip_to_slot_or_del(new /obj/item/weapon/storage/backpack/chemistry(H), slot_back)
@@ -153,7 +153,7 @@
H.equip_to_slot_or_del(new /obj/item/clothing/under/rank/geneticist(H), slot_w_uniform)
H.equip_to_slot_or_del(new /obj/item/clothing/shoes/white(H), slot_shoes)
H.equip_to_slot_or_del(new /obj/item/device/pda/geneticist(H), slot_belt)
- H.equip_to_slot_or_del(new /obj/item/clothing/suit/storage/labcoat/genetics(H), slot_wear_suit)
+ H.equip_to_slot_or_del(new /obj/item/clothing/suit/storage/toggle/labcoat/genetics(H), slot_wear_suit)
H.equip_to_slot_or_del(new /obj/item/device/flashlight/pen(H), slot_s_store)
switch(H.backbag)
if(1) H.equip_to_slot_or_del(new /obj/item/weapon/storage/box/survival(H), slot_r_hand)
@@ -188,7 +188,7 @@
H.equip_to_slot_or_del(new /obj/item/device/pda/viro(H), slot_belt)
H.equip_to_slot_or_del(new /obj/item/clothing/mask/surgical(H), slot_wear_mask)
H.equip_to_slot_or_del(new /obj/item/clothing/shoes/white(H), slot_shoes)
- H.equip_to_slot_or_del(new /obj/item/clothing/suit/storage/labcoat/virologist(H), slot_wear_suit)
+ H.equip_to_slot_or_del(new /obj/item/clothing/suit/storage/toggle/labcoat/virologist(H), slot_wear_suit)
H.equip_to_slot_or_del(new /obj/item/device/flashlight/pen(H), slot_s_store)
if(H.backbag == 1)
H.equip_to_slot_or_del(new /obj/item/weapon/storage/box/survival(H), slot_r_hand)
@@ -224,7 +224,7 @@
H.equip_to_slot_or_del(new /obj/item/clothing/under/rank/psych/turtleneck(H), slot_w_uniform)
else
H.equip_to_slot_or_del(new /obj/item/clothing/under/rank/medical(H), slot_w_uniform)
- H.equip_to_slot_or_del(new /obj/item/clothing/suit/storage/labcoat(H), slot_wear_suit)
+ H.equip_to_slot_or_del(new /obj/item/clothing/suit/storage/toggle/labcoat(H), slot_wear_suit)
H.equip_to_slot_or_del(new /obj/item/clothing/shoes/laceup(H), slot_shoes)
H.equip_to_slot_or_del(new /obj/item/device/pda/medical(H), slot_belt)
if(H.backbag == 1)
diff --git a/code/game/jobs/job/science.dm b/code/game/jobs/job/science.dm
index 3a0118e9b8..b18e8b8ec1 100644
--- a/code/game/jobs/job/science.dm
+++ b/code/game/jobs/job/science.dm
@@ -25,7 +25,7 @@
H.equip_to_slot_or_del(new /obj/item/clothing/shoes/brown(H), slot_shoes)
H.equip_to_slot_or_del(new /obj/item/clothing/under/rank/research_director(H), slot_w_uniform)
H.equip_to_slot_or_del(new /obj/item/device/pda/heads/rd(H), slot_belt)
- H.equip_to_slot_or_del(new /obj/item/clothing/suit/storage/labcoat(H), slot_wear_suit)
+ H.equip_to_slot_or_del(new /obj/item/clothing/suit/storage/toggle/labcoat(H), slot_wear_suit)
H.equip_to_slot_or_del(new /obj/item/weapon/clipboard(H), slot_l_hand)
switch(H.backbag)
if(1) H.equip_to_slot_or_del(new /obj/item/weapon/storage/box/survival(H), slot_r_hand)
@@ -58,7 +58,7 @@
H.equip_to_slot_or_del(new /obj/item/clothing/under/rank/scientist(H), slot_w_uniform)
H.equip_to_slot_or_del(new /obj/item/clothing/shoes/white(H), slot_shoes)
H.equip_to_slot_or_del(new /obj/item/device/pda/science(H), slot_belt)
- H.equip_to_slot_or_del(new /obj/item/clothing/suit/storage/labcoat/science(H), slot_wear_suit)
+ H.equip_to_slot_or_del(new /obj/item/clothing/suit/storage/toggle/labcoat/science(H), slot_wear_suit)
switch(H.backbag)
if(1) H.equip_to_slot_or_del(new /obj/item/weapon/storage/box/survival(H), slot_r_hand)
if(2) H.equip_to_slot_or_del(new /obj/item/weapon/storage/backpack/toxins(H), slot_back)
@@ -89,7 +89,7 @@
H.equip_to_slot_or_del(new /obj/item/clothing/under/rank/scientist(H), slot_w_uniform)
H.equip_to_slot_or_del(new /obj/item/clothing/shoes/white(H), slot_shoes)
H.equip_to_slot_or_del(new /obj/item/device/pda/science(H), slot_belt)
- H.equip_to_slot_or_del(new /obj/item/clothing/suit/storage/labcoat/science(H), slot_wear_suit)
+ H.equip_to_slot_or_del(new /obj/item/clothing/suit/storage/toggle/labcoat/science(H), slot_wear_suit)
switch(H.backbag)
if(1) H.equip_to_slot_or_del(new /obj/item/weapon/storage/box/survival(H), slot_r_hand)
if(2) H.equip_to_slot_or_del(new /obj/item/weapon/storage/backpack/toxins(H), slot_back)
@@ -122,7 +122,7 @@
H.equip_to_slot_or_del(new /obj/item/clothing/under/rank/roboticist(H), slot_w_uniform)
H.equip_to_slot_or_del(new /obj/item/clothing/shoes/black(H), slot_shoes)
H.equip_to_slot_or_del(new /obj/item/device/pda/roboticist(H), slot_belt)
- H.equip_to_slot_or_del(new /obj/item/clothing/suit/storage/labcoat(H), slot_wear_suit)
+ H.equip_to_slot_or_del(new /obj/item/clothing/suit/storage/toggle/labcoat(H), slot_wear_suit)
// H.equip_to_slot_or_del(new /obj/item/clothing/gloves/black(H), slot_gloves)
H.equip_to_slot_or_del(new /obj/item/weapon/storage/toolbox/mechanical(H), slot_l_hand)
if(H.backbag == 1)
diff --git a/code/game/jobs/job/silicon.dm b/code/game/jobs/job/silicon.dm
index 5e067d8556..07ceefb8b3 100644
--- a/code/game/jobs/job/silicon.dm
+++ b/code/game/jobs/job/silicon.dm
@@ -21,7 +21,7 @@
flag = CYBORG
department_flag = ENGSEC
faction = "Station"
- total_positions = 0
+ total_positions = 2
spawn_positions = 2
supervisors = "your laws and the AI" //Nodrak
selection_color = "#ddffdd"
diff --git a/code/game/jobs/job_controller.dm b/code/game/jobs/job_controller.dm
index 15a8016b34..465b4ef05d 100644
--- a/code/game/jobs/job_controller.dm
+++ b/code/game/jobs/job_controller.dm
@@ -348,7 +348,7 @@ var/global/datum/controller/occupations/job_master
proc/EquipRank(var/mob/living/carbon/human/H, var/rank, var/joined_late = 0)
- if(!H) return 0
+ if(!H) return null
var/datum/job/job = GetJob(rank)
var/list/spawn_in_storage = list()
@@ -445,8 +445,7 @@ var/global/datum/controller/occupations/job_master
switch(rank)
if("Cyborg")
- H.Robotize()
- return 1
+ return H.Robotize()
if("AI","Clown") //don't need bag preference stuff!
else
switch(H.backbag) //BS12 EDIT
@@ -525,7 +524,7 @@ var/global/datum/controller/occupations/job_master
H.hud_updateflag |= (1 << ID_HUD)
H.hud_updateflag |= (1 << IMPLOYAL_HUD)
H.hud_updateflag |= (1 << SPECIALROLE_HUD)
- return 1
+ return H
proc/spawnId(var/mob/living/carbon/human/H, rank, title)
diff --git a/code/game/machinery/autolathe_datums.dm b/code/game/machinery/autolathe_datums.dm
index 04ce040162..b94f42d0c6 100644
--- a/code/game/machinery/autolathe_datums.dm
+++ b/code/game/machinery/autolathe_datums.dm
@@ -89,7 +89,7 @@
/datum/autolathe/recipe/rglass
name = "reinforced glass sheets"
- path = /obj/item/stack/sheet/rglass
+ path = /obj/item/stack/sheet/glass/reinforced
category = "General"
is_stack = 1
diff --git a/code/game/machinery/computer/ai_core.dm b/code/game/machinery/computer/ai_core.dm
index 5477d950b1..7c1e9d721f 100644
--- a/code/game/machinery/computer/ai_core.dm
+++ b/code/game/machinery/computer/ai_core.dm
@@ -88,8 +88,8 @@
var/obj/item/stack/cable_coil/A = new /obj/item/stack/cable_coil( loc )
A.amount = 5
- if(istype(P, /obj/item/stack/sheet/rglass))
- var/obj/item/stack/sheet/rglass/RG = P
+ if(istype(P, /obj/item/stack/sheet/glass/reinforced))
+ var/obj/item/stack/sheet/glass/reinforced/RG = P
if (RG.get_amount() < 2)
user << "You need two sheets of glass to put in the glass panel."
return
@@ -161,7 +161,7 @@
icon_state = "3b"
else
icon_state = "3"
- new /obj/item/stack/sheet/rglass( loc, 2 )
+ new /obj/item/stack/sheet/glass/reinforced( loc, 2 )
return
if(istype(P, /obj/item/weapon/screwdriver))
@@ -216,4 +216,4 @@
user << "\red ERROR: \black Unable to locate artificial intelligence."
return
- ..()
\ No newline at end of file
+ ..()
diff --git a/code/game/machinery/cryopod.dm b/code/game/machinery/cryopod.dm
index dd94a88bc6..d9c40ce64e 100644
--- a/code/game/machinery/cryopod.dm
+++ b/code/game/machinery/cryopod.dm
@@ -6,9 +6,6 @@
* ~ Zuhayr
*/
-//Used for logging people entering cryosleep and important items they are carrying.
-var/global/list/frozen_crew = list()
-var/global/list/frozen_items = list()
//Main cryopod console.
@@ -20,6 +17,25 @@ var/global/list/frozen_items = list()
circuit = "/obj/item/weapon/circuitboard/cryopodcontrol"
var/mode = null
+ //Used for logging people entering cryosleep and important items they are carrying.
+ var/list/frozen_crew = list()
+ var/list/frozen_items = list()
+
+ var/storage_type = "crewmembers"
+ var/storage_name = "Cryogenic Oversight Control"
+ var/allow_items = 1
+
+/obj/machinery/computer/cryopod/robot
+ name = "robotic storage console"
+ desc = "An interface between crew and the robotic storage systems"
+ icon = 'icons/obj/robot_storage.dmi'
+ icon_state = "console"
+ circuit = "/obj/item/weapon/circuitboard/robotstoragecontrol"
+
+ storage_type = "cyborgs"
+ storage_name = "Robotic Storage Control"
+ allow_items = 0
+
/obj/machinery/computer/cryopod/attack_ai()
src.attack_hand()
@@ -35,12 +51,13 @@ var/global/list/frozen_items = list()
if (!( ticker ))
return
- dat += "
Cryogenic Oversight Control
"
+ dat += "
[storage_name]
"
dat += "Welcome, [user.real_name].
"
dat += "View storage log.
"
- dat += "View objects.
"
- dat += "Recover object.
"
- dat += "Recover all objects.
"
+ if(allow_items)
+ dat += "View objects.
"
+ dat += "Recover object.
"
+ dat += "Recover all objects.
"
user << browse(dat, "window=cryopod_console")
onclose(user, "cryopod_console")
@@ -56,7 +73,7 @@ var/global/list/frozen_items = list()
if(href_list["log"])
- var/dat = "Recently stored crewmembers
"
+ var/dat = "Recently stored [storage_type]
"
for(var/person in frozen_crew)
dat += "[person]
"
dat += "
"
@@ -64,6 +81,7 @@ var/global/list/frozen_items = list()
user << browse(dat, "window=cryolog")
if(href_list["view"])
+ if(!allow_items) return
var/dat = "Recently stored objects
"
for(var/obj/item/I in frozen_items)
@@ -73,6 +91,7 @@ var/global/list/frozen_items = list()
user << browse(dat, "window=cryoitems")
else if(href_list["item"])
+ if(!allow_items) return
if(frozen_items.len == 0)
user << "\blue There is nothing to recover from storage."
@@ -92,6 +111,7 @@ var/global/list/frozen_items = list()
frozen_items -= I
else if(href_list["allitems"])
+ if(!allow_items) return
if(frozen_items.len == 0)
user << "\blue There is nothing to recover from storage."
@@ -111,6 +131,11 @@ var/global/list/frozen_items = list()
build_path = "/obj/machinery/computer/cryopod"
origin_tech = "programming=3"
+/obj/item/weapon/circuitboard/robotstoragecontrol
+ name = "Circuit board (Robotic Storage Console)"
+ build_path = "/obj/machinery/computer/cryopod/robot"
+ origin_tech = "programming=3"
+
//Decorative structures to go alongside cryopods.
/obj/structure/cryofeed
@@ -143,12 +168,23 @@ var/global/list/frozen_items = list()
density = 1
anchored = 1
+ var/base_icon_state = "body_scanner_0"
+ var/occupied_icon_state = "body_scanner_1"
+ var/on_store_message = "has entered long-term storage."
+ var/on_store_name = "Cryogenic Oversight"
+ var/on_enter_occupant_message = "You feel cool air surround you. You go numb as your senses turn inward."
+ var/allow_occupant_types = list(/mob/living/carbon/human, /mob/living/carbon/monkey)
+ var/disallow_occupant_types = list()
+
var/mob/occupant = null // Person waiting to be despawned.
var/orient_right = null // Flips the sprite.
var/time_till_despawn = 18000 // 30 minutes-ish safe period before being despawned.
var/time_entered = 0 // Used to keep track of the safe period.
var/obj/item/device/radio/intercom/announce //
+ var/obj/machinery/computer/cryopod/control_computer
+ var/last_no_computer_message = 0
+
// These items are preserved when the process() despawn proc occurs.
var/list/preserve_items = list(
/obj/item/weapon/hand_tele,
@@ -169,16 +205,64 @@ var/global/list/frozen_items = list()
orient_right = 1
icon_state = "body_scanner_0-r"
-/obj/machinery/cryopod/New()
+/obj/machinery/cryopod/robot
+ name = "robotic storage unit"
+ desc = "A storage unit for robots."
+ icon = 'icons/obj/robot_storage.dmi'
+ icon_state = "pod_0"
+ base_icon_state = "pod_0"
+ occupied_icon_state = "pod_1"
+ on_store_message = "has entered robotic storage."
+ on_store_name = "Robotic Storage Oversight"
+ on_enter_occupant_message = "The storage unit broadcasts a sleep signal to you. Your systems start to shut down, and you enter low-power mode."
+ allow_occupant_types = list(/mob/living/silicon/robot)
+ disallow_occupant_types = list(/mob/living/silicon/robot/drone)
+/obj/machinery/cryopod/robot/right
+ orient_right = 1
+ icon_state = "pod_0-r"
+
+/obj/machinery/cryopod/New()
announce = new /obj/item/device/radio/intercom(src)
if(orient_right)
- icon_state = "body_scanner_0-r"
+ icon_state = "[base_icon_state]-r"
else
- icon_state = "body_scanner_0"
+ icon_state = base_icon_state
+
..()
+/obj/machinery/cryopod/initialize()
+ ..()
+
+ find_control_computer()
+
+/obj/machinery/cryopod/proc/find_control_computer(urgent=0)
+ control_computer = locate(/obj/machinery/computer/cryopod) in src.loc.loc
+
+ // Don't send messages unless we *need* the computer, and less than five minutes have passed since last time we messaged
+ if(!control_computer && urgent && last_no_computer_message + 5*60*10 < world.time)
+ log_admin("Cryopod in [src.loc.loc] could not find control computer!")
+ message_admins("Cryopod in [src.loc.loc] could not find control computer!")
+ last_no_computer_message = world.time
+
+ return control_computer != null
+
+/obj/machinery/cryopod/proc/check_occupant_allowed(mob/M)
+ var/correct_type = 0
+ for(var/type in allow_occupant_types)
+ if(istype(M, type))
+ correct_type = 1
+ break
+
+ if(!correct_type) return 0
+
+ for(var/type in disallow_occupant_types)
+ if(istype(M, type))
+ return 0
+
+ return 1
+
//Lifted from Unity stasis.dm and refactored. ~Zuhayr
/obj/machinery/cryopod/process()
if(occupant)
@@ -187,9 +271,18 @@ var/global/list/frozen_items = list()
return
if(!occupant.client && occupant.stat<2) //Occupant is living and has no client.
+ if(!control_computer)
+ if(!find_control_computer(urgent=1))
+ return
//Drop all items into the pod.
for(var/obj/item/W in occupant)
+ if(istype(W, /obj/item/device/mmi))
+ if(istype(occupant, /mob/living/silicon/robot))
+ var/mob/living/silicon/robot/R = occupant
+ if(R.mmi == W)
+ del(W)
+ continue
occupant.drop_from_inventory(W)
W.loc = src
@@ -215,8 +308,11 @@ var/global/list/frozen_items = list()
if(!preserve)
del(W)
else
- frozen_items += W
- W.loc = null
+ if(control_computer && control_computer.allow_items)
+ control_computer.frozen_items += W
+ W.loc = null
+ else
+ W.loc = src.loc
//Update any existing objectives involving this mob.
for(var/datum/objective/O in all_objectives)
@@ -265,9 +361,9 @@ var/global/list/frozen_items = list()
del(G)
if(orient_right)
- icon_state = "body_scanner_0-r"
+ icon_state = "[base_icon_state]-r"
else
- icon_state = "body_scanner_0"
+ icon_state = base_icon_state
//TODO: Check objectives/mode, update new targets if this mob is the target, spawn new antags?
@@ -275,10 +371,10 @@ var/global/list/frozen_items = list()
occupant.ckey = null
//Make an announcement and log the person entering storage.
- frozen_crew += "[occupant.real_name]"
+ control_computer.frozen_crew += "[occupant.real_name]"
- announce.autosay("[occupant.real_name] has entered long-term storage.", "Cryogenic Oversight")
- visible_message("\blue The crypod hums and hisses as it moves [occupant.real_name] into storage.", 3)
+ announce.autosay("[occupant.real_name] [on_store_message]", "[on_store_name]")
+ visible_message("\blue \The [src] hums and hisses as it moves [occupant.real_name] into storage.", 3)
// Delete the mob.
del(occupant)
@@ -293,17 +389,20 @@ var/global/list/frozen_items = list()
if(istype(G, /obj/item/weapon/grab))
if(occupant)
- user << "\blue The cryo pod is in use."
+ user << "\blue \The [src] is in use."
return
if(!ismob(G:affecting))
return
+ if(!check_occupant_allowed(G:affecting))
+ return
+
var/willing = null //We don't want to allow people to be forced into despawning.
var/mob/M = G:affecting
if(M.client)
- if(alert(M,"Would you like to enter cryosleep?",,"Yes","No") == "Yes")
+ if(alert(M,"Would you like to enter long-term storage?",,"Yes","No") == "Yes")
if(!M || !G || !G:affecting) return
willing = 1
else
@@ -311,7 +410,7 @@ var/global/list/frozen_items = list()
if(willing)
- visible_message("[user] starts putting [G:affecting:name] into the cryo pod.", 3)
+ visible_message("[user] starts putting [G:affecting:name] into \the [src].", 3)
if(do_after(user, 20))
if(!M || !G || !G:affecting) return
@@ -323,11 +422,11 @@ var/global/list/frozen_items = list()
M.client.eye = src
if(orient_right)
- icon_state = "body_scanner_1-r"
+ icon_state = "[occupied_icon_state]-r"
else
- icon_state = "body_scanner_1"
+ icon_state = occupied_icon_state
- M << "\blue You feel cool air surround you. You go numb as your senses turn inward."
+ M << "\blue [on_enter_occupant_message]"
M << "\blue If you ghost, log out or close your client now, your character will shortly be permanently removed from the round."
occupant = M
time_entered = world.time
@@ -349,9 +448,9 @@ var/global/list/frozen_items = list()
return
if(orient_right)
- icon_state = "body_scanner_0-r"
+ icon_state = "[base_icon_state]-r"
else
- icon_state = "body_scanner_0"
+ icon_state = base_icon_state
//Eject any items that aren't meant to be in the pod.
var/list/items = src.contents
@@ -370,11 +469,11 @@ var/global/list/frozen_items = list()
set category = "Object"
set src in oview(1)
- if(usr.stat != 0 || !(ishuman(usr) || ismonkey(usr)))
+ if(usr.stat != 0 || !check_occupant_allowed(usr))
return
if(src.occupant)
- usr << "\blue The cryo pod is in use."
+ usr << "\blue \The [src] is in use."
return
for(var/mob/living/carbon/slime/M in range(1,usr))
@@ -382,7 +481,7 @@ var/global/list/frozen_items = list()
usr << "You're too busy getting your life sucked out of you."
return
- visible_message("[usr] starts climbing into the cryo pod.", 3)
+ visible_message("[usr] starts climbing into \the [src].", 3)
if(do_after(usr, 20))
@@ -390,7 +489,7 @@ var/global/list/frozen_items = list()
return
if(src.occupant)
- usr << "\blue The cryo pod is in use."
+ usr << "\blue \The [src] is in use."
return
usr.stop_pulling()
@@ -400,11 +499,11 @@ var/global/list/frozen_items = list()
src.occupant = usr
if(orient_right)
- icon_state = "body_scanner_1-r"
+ icon_state = "[occupied_icon_state]-r"
else
- icon_state = "body_scanner_1"
+ icon_state = occupied_icon_state
- usr << "\blue You feel cool air surround you. You go numb as your senses turn inward."
+ usr << "\blue [on_enter_occupant_message]"
usr << "\blue If you ghost, log out or close your client now, your character will shortly be permanently removed from the round."
occupant = usr
time_entered = world.time
@@ -426,9 +525,9 @@ var/global/list/frozen_items = list()
occupant = null
if(orient_right)
- icon_state = "body_scanner_0-r"
+ icon_state = "[base_icon_state]-r"
else
- icon_state = "body_scanner_0"
+ icon_state = base_icon_state
return
diff --git a/code/game/machinery/doors/airlock.dm b/code/game/machinery/doors/airlock.dm
index 4f015975fe..bb23176478 100644
--- a/code/game/machinery/doors/airlock.dm
+++ b/code/game/machinery/doors/airlock.dm
@@ -1026,7 +1026,10 @@ About the new airlock wires panel:
S.loc = M.loc
spawn(20)
del(S)
- M.emote("scream")
+ if (iscarbon(M))
+ var/mob/living/carbon/C = M
+ if (!(C.species && (C.species.flags & NO_PAIN)))
+ M.emote("scream")
var/turf/location = src.loc
if(istype(location, /turf/simulated))
location.add_blood(M)
diff --git a/code/game/machinery/doors/airlock_electronics.dm b/code/game/machinery/doors/airlock_electronics.dm
index d9a3efe959..0a22aa0dd9 100644
--- a/code/game/machinery/doors/airlock_electronics.dm
+++ b/code/game/machinery/doors/airlock_electronics.dm
@@ -16,7 +16,7 @@
var/locked = 1
attack_self(mob/user as mob)
- if (!ishuman(user) && !istype(user,/mob/living/silicon/robot/drone))
+ if (!ishuman(user) && !istype(user,/mob/living/silicon/robot))
return ..(user)
var/mob/living/carbon/human/H = user
diff --git a/code/game/machinery/machinery.dm b/code/game/machinery/machinery.dm
index f5a75241c2..eda1710c6c 100644
--- a/code/game/machinery/machinery.dm
+++ b/code/game/machinery/machinery.dm
@@ -362,8 +362,8 @@ Class Procs:
if(id)
perpname = id.registered_name
- var/datum/data/record/R = find_record("name", perpname, data_core.security)
- if(!R || (R.fields["criminal"] == "*Arrest*"))
+ var/datum/data/record/R = find_security_record("name", perpname)
+ if(R && (R.fields["criminal"] == "*Arrest*"))
threatcount += 4
return threatcount
diff --git a/code/game/machinery/suit_storage_unit.dm b/code/game/machinery/suit_storage_unit.dm
index 3e3320a8f5..28affd94a8 100644
--- a/code/game/machinery/suit_storage_unit.dm
+++ b/code/game/machinery/suit_storage_unit.dm
@@ -330,14 +330,18 @@
for(i=0,i<4,i++)
sleep(50)
if(src.OCCUPANT)
- if(src.issuperUV)
- var/burndamage = rand(28,35)
- OCCUPANT.take_organ_damage(0,burndamage)
- OCCUPANT.emote("scream")
- else
- var/burndamage = rand(6,10)
- OCCUPANT.take_organ_damage(0,burndamage)
- OCCUPANT.emote("scream")
+ var/datum/organ/internal/diona/nutrients/rad_organ = locate() in OCCUPANT.internal_organs
+ if (!rad_organ)
+ if(src.issuperUV)
+ var/burndamage = rand(28,35)
+ OCCUPANT.take_organ_damage(0,burndamage)
+ if (!(OCCUPANT.species && (OCCUPANT.species.flags & NO_PAIN)))
+ OCCUPANT.emote("scream")
+ else
+ var/burndamage = rand(6,10)
+ OCCUPANT.take_organ_damage(0,burndamage)
+ if (!(OCCUPANT.species && (OCCUPANT.species.flags & NO_PAIN)))
+ OCCUPANT.emote("scream")
if(i==3) //End of the cycle
if(!src.issuperUV)
if(src.HELMET)
diff --git a/code/game/machinery/telecomms/presets.dm b/code/game/machinery/telecomms/presets.dm
index b4b9b07791..35c2ecdc1f 100644
--- a/code/game/machinery/telecomms/presets.dm
+++ b/code/game/machinery/telecomms/presets.dm
@@ -40,7 +40,7 @@
id = "Hub"
network = "tcommsat"
autolinkers = list("hub", "relay", "c_relay", "s_relay", "m_relay", "r_relay", "science", "medical",
- "supply", "common", "command", "engineering", "security",
+ "supply", "service", "common", "command", "engineering", "security",
"receiverA", "receiverB", "broadcasterA", "broadcasterB")
/obj/machinery/telecomms/hub/preset_cent
@@ -95,7 +95,7 @@
id = "Bus 2"
network = "tcommsat"
freq_listening = list(SUP_FREQ, SRV_FREQ)
- autolinkers = list("processor2", "supply")
+ autolinkers = list("processor2", "supply", "service")
/obj/machinery/telecomms/bus/preset_three
id = "Bus 3"
@@ -167,8 +167,13 @@
/obj/machinery/telecomms/server/presets/supply
id = "Supply Server"
- freq_listening = list(SUP_FREQ, SRV_FREQ)
+ freq_listening = list(SUP_FREQ)
autolinkers = list("supply")
+
+/obj/machinery/telecomms/server/presets/service
+ id = "Service Server"
+ freq_listening = list(SRV_FREQ)
+ autolinkers = list("service")
/obj/machinery/telecomms/server/presets/common
id = "Common Server"
diff --git a/code/game/objects/effects/landmarks.dm b/code/game/objects/effects/landmarks.dm
index 514a5b38f9..dbfd0a9e61 100644
--- a/code/game/objects/effects/landmarks.dm
+++ b/code/game/objects/effects/landmarks.dm
@@ -48,6 +48,10 @@
latejoin_cryo += loc
del(src)
+ if("JoinLateCyborg")
+ latejoin_cyborg += loc
+ del(src)
+
//prisoners
if("prisonwarp")
prisonwarp += loc
@@ -133,7 +137,7 @@
/obj/effect/landmark/costume/madscientist/New()
new /obj/item/clothing/under/gimmick/rank/captain/suit(src.loc)
new /obj/item/clothing/head/flatcap(src.loc)
- new /obj/item/clothing/suit/storage/labcoat/mad(src.loc)
+ new /obj/item/clothing/suit/storage/toggle/labcoat/mad(src.loc)
new /obj/item/clothing/glasses/gglasses(src.loc)
del(src)
diff --git a/code/game/objects/items/devices/radio/radio.dm b/code/game/objects/items/devices/radio/radio.dm
index 814b304496..d68250c815 100644
--- a/code/game/objects/items/devices/radio/radio.dm
+++ b/code/game/objects/items/devices/radio/radio.dm
@@ -135,23 +135,6 @@
A.ai_actual_track(target)
return
- else if (href_list["faketrack"])
- var/mob/target = locate(href_list["track"])
- var/mob/living/silicon/ai/A = locate(href_list["track2"])
- if(A && target)
-
- A:cameraFollow = target
- A << text("Now tracking [] on camera.", target.name)
- if (usr.machine == null)
- usr.machine = usr
-
- while (usr:cameraFollow == target)
- usr << "Target is not on or near any active cameras on the station. We'll check again in 5 seconds (unless you use the cancel-camera verb)."
- sleep(40)
- continue
-
- return
-
else if (href_list["freq"])
var/new_frequency = (frequency + text2num(href_list["freq"]))
if (!freerange || (frequency < 1200 || frequency > 1600))
diff --git a/code/game/objects/items/stacks/sheets/glass.dm b/code/game/objects/items/stacks/sheets/glass.dm
index f65442e462..ee0aa22a70 100644
--- a/code/game/objects/items/stacks/sheets/glass.dm
+++ b/code/game/objects/items/stacks/sheets/glass.dm
@@ -18,6 +18,8 @@
matter = list("glass" = 3750)
origin_tech = "materials=1"
var/created_window = /obj/structure/window/basic
+ var/is_reinforced = 0
+ var/list/construction_options = list("One Direction", "Full Window")
/obj/item/stack/sheet/glass/cyborg
name = "glass"
@@ -32,19 +34,24 @@
/obj/item/stack/sheet/glass/attackby(obj/item/W, mob/user)
..()
- if(istype(W,/obj/item/stack/cable_coil))
- var/obj/item/stack/cable_coil/CC = W
- if (get_amount() < 1 || CC.get_amount() < 5)
- user << "You attach wire to the [name]."
- new /obj/item/stack/light_w(user.loc)
- else if(istype(W, /obj/item/stack/rods))
- var/obj/item/stack/rods/V = W
- if (V.get_amount() >= 1 && get_amount() >= 1)
- var/obj/item/stack/sheet/rglass/RG = new (user.loc)
+ if(!is_reinforced)
+ if(istype(W,/obj/item/stack/cable_coil))
+ var/obj/item/stack/cable_coil/CC = W
+ if (get_amount() < 1 || CC.get_amount() < 5)
+ user << "You attach wire to the [name]."
+ new /obj/item/stack/light_w(user.loc)
+ else if(istype(W, /obj/item/stack/rods))
+ var/obj/item/stack/rods/V = W
+ if (V.get_amount() < 1 || get_amount() < 1)
+ user << "You need one rod and one sheet of glass to make reinforced glass."
+ return
+
+ var/obj/item/stack/sheet/glass/reinforced/RG = new (user.loc)
RG.add_fingerprint(user)
RG.add_to_stacks(user)
var/obj/item/stack/sheet/glass/G = src
@@ -54,20 +61,15 @@
G.use(1)
if (!G && replace)
user.put_in_hands(RG)
- else
- user << "You need one rod and one sheet of glass to make reinforced glass."
- return
- else
- return ..()
/obj/item/stack/sheet/glass/proc/construct_window(mob/user as mob)
if(!user || !src) return 0
if(!istype(user.loc,/turf)) return 0
if(!user.IsAdvancedToolUser())
return 0
- var/title = "Sheet-Glass"
+ var/title = "Sheet-[name]"
title += " ([src.amount] sheet\s left)"
- switch(alert(title, "Would you like full tile glass or one direction?", "One Direction", "Full Window", "Cancel", null))
+ switch(input(title, "What would you like to construct?") as null|anything in construction_options)
if("One Direction")
if(!src) return 1
if(src.loc != user) return 1
@@ -80,7 +82,7 @@
user << "\red There are too many windows in this location."
return 1
directions-=win.dir
- if(!(win.ini_dir in cardinal))
+ if(!(win.dir in cardinal))
user << "\red Can't let you do that."
return 1
@@ -94,112 +96,23 @@
if(!found)
dir_to_set = direction
break
- var/obj/structure/window/W
- W = new created_window( user.loc, 0 )
- W.dir = dir_to_set
- W.ini_dir = W.dir
- W.anchored = 0
+ new created_window( user.loc, dir_to_set, 1 )
src.use(1)
if("Full Window")
if(!src) return 1
if(src.loc != user) return 1
- if(src.amount < 2)
+ if(src.amount < 4)
user << "\red You need more glass to do that."
return 1
if(locate(/obj/structure/window) in user.loc)
user << "\red There is a window in the way."
return 1
- var/obj/structure/window/W
- W = new created_window( user.loc, 0 )
- W.dir = SOUTHWEST
- W.ini_dir = SOUTHWEST
- W.anchored = 0
- src.use(2)
- return 0
-
-
-/*
- * Reinforced glass sheets
- */
-/obj/item/stack/sheet/rglass
- name = "reinforced glass"
- desc = "Glass which seems to have rods or something stuck in them."
- singular_name = "reinforced glass sheet"
- icon_state = "sheet-rglass"
-
- matter = list("metal" = 1875,"glass" = 3750)
-
- origin_tech = "materials=2"
-
-/obj/item/stack/sheet/rglass/cyborg
- name = "reinforced glass"
- desc = "Glass which seems to have rods or something stuck in them."
- singular_name = "reinforced glass sheet"
- icon_state = "sheet-rglass"
-
-/obj/item/stack/sheet/rglass/attack_self(mob/user as mob)
- construct_window(user)
-
-/obj/item/stack/sheet/rglass/proc/construct_window(mob/user as mob)
- if(!user || !src) return 0
- if(!istype(user.loc,/turf)) return 0
- if(!user.IsAdvancedToolUser())
- return 0
- var/title = "Sheet Reinf. Glass"
- title += " ([src.amount] sheet\s left)"
- switch(input(title, "Would you like full tile glass a one direction glass pane or a windoor?") in list("One Direction", "Full Window", "Windoor", "Cancel"))
- if("One Direction")
- if(!src) return 1
- if(src.loc != user) return 1
- var/list/directions = new/list(cardinal)
- var/i = 0
- for (var/obj/structure/window/win in user.loc)
- i++
- if(i >= 4)
- user << "\red There are too many windows in this location."
- return 1
- directions-=win.dir
- if(!(win.ini_dir in cardinal))
- user << "\red Can't let you do that."
- return 1
-
- //Determine the direction. It will first check in the direction the person making the window is facing, if it finds an already made window it will try looking at the next cardinal direction, etc.
- var/dir_to_set = 2
- for(var/direction in list( user.dir, turn(user.dir,90), turn(user.dir,180), turn(user.dir,270) ))
- var/found = 0
- for(var/obj/structure/window/WT in user.loc)
- if(WT.dir == direction)
- found = 1
- if(!found)
- dir_to_set = direction
- break
-
- var/obj/structure/window/W
- W = new /obj/structure/window/reinforced( user.loc, 1 )
- W.state = 0
- W.dir = dir_to_set
- W.ini_dir = W.dir
- W.anchored = 0
- src.use(1)
-
- if("Full Window")
- if(!src) return 1
- if(src.loc != user) return 1
- if(src.amount < 2)
- user << "\red You need more glass to do that."
- return 1
- if(locate(/obj/structure/window) in user.loc)
- user << "\red There is a window in the way."
- return 1
- var/obj/structure/window/W
- W = new /obj/structure/window/reinforced( user.loc, 1 )
- W.state = 0
- W.dir = SOUTHWEST
- W.ini_dir = SOUTHWEST
- W.anchored = 0
- src.use(2)
-
+ new created_window( user.loc, SOUTHWEST, 1 )
+ src.use(4)
if("Windoor")
+ if(!is_reinforced) return 1
+
+
if(!src || src.loc != user) return 1
if(isturf(user.loc) && locate(/obj/structure/windoor_assembly/, user.loc))
@@ -214,31 +127,33 @@
user << "\red You need more glass to do that."
return 1
- var/obj/structure/windoor_assembly/WD
- WD = new /obj/structure/windoor_assembly(user.loc)
- WD.state = "01"
- WD.anchored = 0
+ new /obj/structure/windoor_assembly(user.loc, user.dir, 1)
src.use(5)
- switch(user.dir)
- if(SOUTH)
- WD.dir = SOUTH
- WD.ini_dir = SOUTH
- if(EAST)
- WD.dir = EAST
- WD.ini_dir = EAST
- if(WEST)
- WD.dir = WEST
- WD.ini_dir = WEST
- else//If the user is facing northeast. northwest, southeast, southwest or north, default to north
- WD.dir = NORTH
- WD.ini_dir = NORTH
- else
- return 1
-
return 0
+/*
+ * Reinforced glass sheets
+ */
+/obj/item/stack/sheet/glass/reinforced
+ name = "reinforced glass"
+ desc = "Glass which has been reinforced with metal rods."
+ singular_name = "reinforced glass sheet"
+ icon_state = "sheet-rglass"
+
+ matter = list("metal" = 1875,"glass" = 3750)
+ origin_tech = "materials=2"
+
+ created_window = /obj/structure/window/reinforced
+ is_reinforced = 1
+ construction_options = list("One Direction", "Full Window", "Windoor")
+
+/obj/item/stack/sheet/glass/reinforced/cyborg
+ name = "reinforced glass"
+ desc = "Glass which has been reinforced with metal rods."
+ singular_name = "reinforced glass sheet"
+ icon_state = "sheet-rglass"
/*
* Phoron Glass sheets
@@ -252,9 +167,6 @@
origin_tech = "materials=3;phorontech=2"
created_window = /obj/structure/window/phoronbasic
-/obj/item/stack/sheet/glass/phoronglass/attack_self(mob/user as mob)
- construct_window(user)
-
/obj/item/stack/sheet/glass/phoronglass/attackby(obj/item/W, mob/user)
..()
if( istype(W, /obj/item/stack/rods) )
@@ -277,13 +189,11 @@
*/
/obj/item/stack/sheet/glass/phoronrglass
name = "reinforced phoron glass"
- desc = "Phoron glass which seems to have rods or something stuck in them."
+ desc = "Phoron glass which has been reinforced with metal rods."
singular_name = "reinforced phoron glass sheet"
icon_state = "sheet-phoronrglass"
matter = list("glass" = 7500,"metal" = 1875)
origin_tech = "materials=4;phorontech=2"
created_window = /obj/structure/window/phoronreinforced
-
-/obj/item/stack/sheet/glass/phoronrglass/attack_self(mob/user as mob)
- construct_window(user)
\ No newline at end of file
+ is_reinforced = 1
diff --git a/code/game/objects/structures/coathanger.dm b/code/game/objects/structures/coathanger.dm
index b79588b78f..0d09d57c64 100644
--- a/code/game/objects/structures/coathanger.dm
+++ b/code/game/objects/structures/coathanger.dm
@@ -45,9 +45,9 @@
/obj/structure/coatrack/update_icon()
overlays.Cut()
- if (istype(coat, /obj/item/clothing/suit/storage/labcoat))
+ if (istype(coat, /obj/item/clothing/suit/storage/toggle/labcoat))
overlays += image(icon, icon_state = "coat_lab")
- if (istype(coat, /obj/item/clothing/suit/storage/labcoat/cmo))
+ if (istype(coat, /obj/item/clothing/suit/storage/toggle/labcoat/cmo))
overlays += image(icon, icon_state = "coat_cmo")
if (istype(coat, /obj/item/clothing/suit/storage/det_suit))
overlays += image(icon, icon_state = "coat_det")
\ No newline at end of file
diff --git a/code/game/objects/structures/crates_lockers/closets/job_closets.dm b/code/game/objects/structures/crates_lockers/closets/job_closets.dm
index cccc0e388f..821fd8ef9a 100644
--- a/code/game/objects/structures/crates_lockers/closets/job_closets.dm
+++ b/code/game/objects/structures/crates_lockers/closets/job_closets.dm
@@ -93,7 +93,7 @@
new /obj/item/clothing/under/lawyer/black(src)
new /obj/item/clothing/under/lawyer/red(src)
new /obj/item/clothing/under/lawyer/bluesuit(src)
- new /obj/item/clothing/suit/storage/lawyer/bluejacket(src)
+ new /obj/item/clothing/suit/storage/toggle/lawyer/bluejacket(src)
new /obj/item/clothing/under/lawyer/purpsuit(src)
new /obj/item/clothing/suit/storage/lawyer/purpjacket(src)
new /obj/item/clothing/shoes/brown(src)
diff --git a/code/game/objects/structures/crates_lockers/closets/secure/medical.dm b/code/game/objects/structures/crates_lockers/closets/secure/medical.dm
index bf4aad3f28..0ee184429a 100644
--- a/code/game/objects/structures/crates_lockers/closets/secure/medical.dm
+++ b/code/game/objects/structures/crates_lockers/closets/secure/medical.dm
@@ -91,8 +91,8 @@
new /obj/item/clothing/under/rank/medical(src)
new /obj/item/clothing/under/rank/nurse(src)
new /obj/item/clothing/under/rank/orderly(src)
- new /obj/item/clothing/suit/storage/labcoat(src)
- new /obj/item/clothing/suit/storage/fr_jacket(src)
+ new /obj/item/clothing/suit/storage/toggle/labcoat(src)
+ new /obj/item/clothing/suit/storage/toggle/fr_jacket(src)
new /obj/item/clothing/shoes/white(src)
// new /obj/item/weapon/cartridge/medical(src)
new /obj/item/device/radio/headset/headset_med(src)
@@ -130,8 +130,8 @@
new /obj/item/clothing/under/rank/medical/purple(src)
new /obj/item/clothing/head/surgery/purple(src)
new /obj/item/clothing/under/rank/chief_medical_officer(src)
- new /obj/item/clothing/suit/storage/labcoat/cmo(src)
- new /obj/item/clothing/suit/storage/labcoat/cmoalt(src)
+ new /obj/item/clothing/suit/storage/toggle/labcoat/cmo(src)
+ new /obj/item/clothing/suit/storage/toggle/labcoat/cmoalt(src)
new /obj/item/weapon/cartridge/cmo(src)
new /obj/item/clothing/gloves/latex(src)
new /obj/item/clothing/shoes/brown (src)
diff --git a/code/game/objects/structures/crates_lockers/closets/secure/scientist.dm b/code/game/objects/structures/crates_lockers/closets/secure/scientist.dm
index d530689791..5d6e7c3a0e 100644
--- a/code/game/objects/structures/crates_lockers/closets/secure/scientist.dm
+++ b/code/game/objects/structures/crates_lockers/closets/secure/scientist.dm
@@ -12,7 +12,7 @@
..()
new /obj/item/clothing/under/rank/scientist(src)
//new /obj/item/clothing/suit/labcoat/science(src)
- new /obj/item/clothing/suit/storage/labcoat(src)
+ new /obj/item/clothing/suit/storage/toggle/labcoat(src)
new /obj/item/clothing/shoes/white(src)
// new /obj/item/weapon/cartridge/signal/science(src)
new /obj/item/device/radio/headset/headset_sci(src)
@@ -39,7 +39,7 @@
new /obj/item/clothing/under/rank/research_director(src)
new /obj/item/clothing/under/rank/research_director/rdalt(src)
new /obj/item/clothing/under/rank/research_director/dress_rd(src)
- new /obj/item/clothing/suit/storage/labcoat(src)
+ new /obj/item/clothing/suit/storage/toggle/labcoat(src)
new /obj/item/weapon/cartridge/rd(src)
new /obj/item/clothing/shoes/white(src)
new /obj/item/clothing/shoes/leather(src)
diff --git a/code/game/objects/structures/crates_lockers/closets/wardrobe.dm b/code/game/objects/structures/crates_lockers/closets/wardrobe.dm
index d660cee825..c00f8a9054 100644
--- a/code/game/objects/structures/crates_lockers/closets/wardrobe.dm
+++ b/code/game/objects/structures/crates_lockers/closets/wardrobe.dm
@@ -240,9 +240,9 @@
new /obj/item/clothing/under/rank/scientist(src)
new /obj/item/clothing/under/rank/scientist(src)
new /obj/item/clothing/under/rank/scientist(src)
- new /obj/item/clothing/suit/storage/labcoat(src)
- new /obj/item/clothing/suit/storage/labcoat(src)
- new /obj/item/clothing/suit/storage/labcoat(src)
+ new /obj/item/clothing/suit/storage/toggle/labcoat(src)
+ new /obj/item/clothing/suit/storage/toggle/labcoat(src)
+ new /obj/item/clothing/suit/storage/toggle/labcoat(src)
new /obj/item/clothing/shoes/white(src)
new /obj/item/clothing/shoes/white(src)
new /obj/item/clothing/shoes/white(src)
@@ -261,8 +261,8 @@
..()
new /obj/item/clothing/under/rank/roboticist(src)
new /obj/item/clothing/under/rank/roboticist(src)
- new /obj/item/clothing/suit/storage/labcoat(src)
- new /obj/item/clothing/suit/storage/labcoat(src)
+ new /obj/item/clothing/suit/storage/toggle/labcoat(src)
+ new /obj/item/clothing/suit/storage/toggle/labcoat(src)
new /obj/item/clothing/shoes/black(src)
new /obj/item/clothing/shoes/black(src)
new /obj/item/clothing/gloves/black(src)
@@ -281,8 +281,8 @@
new /obj/item/clothing/under/rank/chemist(src)
new /obj/item/clothing/shoes/white(src)
new /obj/item/clothing/shoes/white(src)
- new /obj/item/clothing/suit/storage/labcoat/chemist(src)
- new /obj/item/clothing/suit/storage/labcoat/chemist(src)
+ new /obj/item/clothing/suit/storage/toggle/labcoat/chemist(src)
+ new /obj/item/clothing/suit/storage/toggle/labcoat/chemist(src)
return
@@ -297,8 +297,8 @@
new /obj/item/clothing/under/rank/geneticist(src)
new /obj/item/clothing/shoes/white(src)
new /obj/item/clothing/shoes/white(src)
- new /obj/item/clothing/suit/storage/labcoat/genetics(src)
- new /obj/item/clothing/suit/storage/labcoat/genetics(src)
+ new /obj/item/clothing/suit/storage/toggle/labcoat/genetics(src)
+ new /obj/item/clothing/suit/storage/toggle/labcoat/genetics(src)
return
@@ -313,8 +313,8 @@
new /obj/item/clothing/under/rank/virologist(src)
new /obj/item/clothing/shoes/white(src)
new /obj/item/clothing/shoes/white(src)
- new /obj/item/clothing/suit/storage/labcoat/virologist(src)
- new /obj/item/clothing/suit/storage/labcoat/virologist(src)
+ new /obj/item/clothing/suit/storage/toggle/labcoat/virologist(src)
+ new /obj/item/clothing/suit/storage/toggle/labcoat/virologist(src)
new /obj/item/clothing/mask/surgical(src)
new /obj/item/clothing/mask/surgical(src)
return
@@ -334,8 +334,8 @@
new /obj/item/clothing/under/rank/medical/purple(src)
new /obj/item/clothing/shoes/white(src)
new /obj/item/clothing/shoes/white(src)
- new /obj/item/clothing/suit/storage/labcoat(src)
- new /obj/item/clothing/suit/storage/labcoat(src)
+ new /obj/item/clothing/suit/storage/toggle/labcoat(src)
+ new /obj/item/clothing/suit/storage/toggle/labcoat(src)
new /obj/item/clothing/mask/surgical(src)
new /obj/item/clothing/mask/surgical(src)
return
diff --git a/code/game/objects/structures/door_assembly.dm b/code/game/objects/structures/door_assembly.dm
index da7549fe34..17e34e4efd 100644
--- a/code/game/objects/structures/door_assembly.dm
+++ b/code/game/objects/structures/door_assembly.dm
@@ -159,7 +159,7 @@ obj/structure/door_assembly
if(do_after(user, 40))
if(!src || !WT.isOn()) return
user << "\blue You welded the glass panel out!"
- new /obj/item/stack/sheet/rglass(src.loc)
+ new /obj/item/stack/sheet/glass/reinforced(src.loc)
glass = 0
else if(!anchored)
user.visible_message("[user] dissassembles the airlock assembly.", "You start to dissassemble the airlock assembly.")
@@ -239,7 +239,7 @@ obj/structure/door_assembly
var/obj/item/stack/sheet/S = W
if (S)
if (S.get_amount() >= 1)
- if(istype(S, /obj/item/stack/sheet/rglass))
+ if(istype(S, /obj/item/stack/sheet/glass/reinforced))
playsound(src.loc, 'sound/items/Crowbar.ogg', 100, 1)
user.visible_message("[user] adds [S.name] to the airlock assembly.", "You start to install [S.name] into the airlock assembly.")
if(do_after(user, 40) && !glass)
@@ -303,4 +303,4 @@ obj/structure/door_assembly
name = "Wired "
if(2)
name = "Near Finished "
- name += "[glass == 1 ? "Window " : ""][istext(glass) ? "[glass] Airlock" : base_name] Assembly"
\ No newline at end of file
+ name += "[glass == 1 ? "Window " : ""][istext(glass) ? "[glass] Airlock" : base_name] Assembly"
diff --git a/code/game/objects/structures/grille.dm b/code/game/objects/structures/grille.dm
index 716fca4503..6d033dd2b7 100644
--- a/code/game/objects/structures/grille.dm
+++ b/code/game/objects/structures/grille.dm
@@ -85,8 +85,8 @@
return
//window placing begin
- else if(istype(W,/obj/item/stack/sheet/rglass) || istype(W,/obj/item/stack/sheet/glass))
- var/obj/item/stack/sheet/ST = W
+ else if(istype(W,/obj/item/stack/sheet/glass))
+ var/obj/item/stack/sheet/glass/ST = W
var/dir_to_set = 1
if(loc == user.loc)
dir_to_set = user.dir
@@ -115,16 +115,10 @@
if(WINDOW.dir == dir_to_set)//checking this for a 2nd time to check if a window was made while we were waiting.
user << "There is already a window facing this way there."
return
+
+ var/wtype = ST.created_window
if (ST.use(1))
- var/obj/structure/window/WD
- if(istype(W, /obj/item/stack/sheet/rglass))
- WD = new/obj/structure/window/reinforced(loc) //reinforced window
- else
- WD = new/obj/structure/window/basic(loc) //normal window
- WD.dir = dir_to_set
- WD.ini_dir = dir_to_set
- WD.anchored = 0
- WD.state = 0
+ var/obj/structure/window/WD = new wtype(loc, dir_to_set, 1)
user << "You place the [WD] on [src]."
WD.update_icon()
return
@@ -193,4 +187,4 @@
visible_message("[user] [attack_verb] the [src]!")
health -= damage
spawn(1) healthcheck()
- return 1
\ No newline at end of file
+ return 1
diff --git a/code/game/objects/structures/morgue.dm b/code/game/objects/structures/morgue.dm
index 538149688c..3db68575c9 100644
--- a/code/game/objects/structures/morgue.dm
+++ b/code/game/objects/structures/morgue.dm
@@ -310,7 +310,13 @@
for(var/mob/living/M in contents)
if (M.stat!=2)
- M.emote("scream")
+ if (!iscarbon(M))
+ M.emote("scream")
+ else
+ var/mob/living/carbon/C = M
+ if (!(C.species && (C.species.flags & NO_PAIN)))
+ C.emote("scream")
+
//Logging for this causes runtimes resulting in the cremator locking up. Commenting it out until that's figured out.
//M.attack_log += "\[[time_stamp()]\] Has been cremated by [user]/[user.ckey]" //No point in this when the mob's about to be deleted
//user.attack_log +="\[[time_stamp()]\] Cremated [M]/[M.ckey]"
diff --git a/code/game/objects/structures/windoor_assembly.dm b/code/game/objects/structures/windoor_assembly.dm
index ac2bac7e1b..915bbbf684 100644
--- a/code/game/objects/structures/windoor_assembly.dm
+++ b/code/game/objects/structures/windoor_assembly.dm
@@ -18,7 +18,6 @@ obj/structure/windoor_assembly
density = 0
dir = NORTH
- var/ini_dir
var/obj/item/weapon/airlock_electronics/electronics = null
//Vars to help with the icon's name
@@ -26,9 +25,17 @@ obj/structure/windoor_assembly
var/secure = "" //Whether or not this creates a secure windoor
var/state = "01" //How far the door assembly has progressed in terms of sprites
-obj/structure/windoor_assembly/New(dir=NORTH)
+obj/structure/windoor_assembly/New(Loc, start_dir=NORTH, constructed=0)
..()
- src.ini_dir = src.dir
+ if(constructed)
+ state = "01"
+ anchored = 0
+ switch(start_dir)
+ if(NORTH, SOUTH, EAST, WEST)
+ dir = start_dir
+ else //If the user is facing northeast. northwest, southeast, southwest or north, default to north
+ dir = NORTH
+
update_nearby_tiles(need_rebuild=1)
obj/structure/windoor_assembly/Del()
@@ -70,7 +77,7 @@ obj/structure/windoor_assembly/Del()
if(do_after(user, 40))
if(!src || !WT.isOn()) return
user << "\blue You dissasembled the windoor assembly!"
- new /obj/item/stack/sheet/rglass(get_turf(src), 5)
+ new /obj/item/stack/sheet/glass/reinforced(get_turf(src), 5)
if(secure)
new /obj/item/stack/rods(get_turf(src), 4)
del(src)
@@ -270,7 +277,6 @@ obj/structure/windoor_assembly/Del()
if(src.state != "01")
update_nearby_tiles(need_rebuild=1)
- src.ini_dir = src.dir
update_icon()
return
diff --git a/code/game/objects/structures/window.dm b/code/game/objects/structures/window.dm
index 4df313fe91..7c7429d76e 100644
--- a/code/game/objects/structures/window.dm
+++ b/code/game/objects/structures/window.dm
@@ -18,7 +18,6 @@
// var/silicate = 0 // number of units of silicate
// var/icon/silicateIcon = null // the silicated icon
-
/obj/structure/window/proc/take_damage(var/damage = 0, var/sound_effect = 1)
var/initialhealth = src.health
src.health = max(0, src.health - damage)
@@ -85,11 +84,16 @@
/obj/structure/window/meteorhit()
shatter()
+//TODO: Make full windows a separate type of window.
+//Once a full window, it will always be a full window, so there's no point
+//having the same type for both.
+/obj/structure/window/proc/is_full_window()
+ return (dir == SOUTHWEST || dir == SOUTHEAST || dir == NORTHWEST || dir == NORTHEAST)
/obj/structure/window/CanPass(atom/movable/mover, turf/target, height=0, air_group=0)
if(istype(mover) && mover.checkpass(PASSGLASS))
return 1
- if(dir == SOUTHWEST || dir == SOUTHEAST || dir == NORTHWEST || dir == NORTHEAST)
+ if(is_full_window())
return 0 //full tile window, you can't move into it!
if(get_dir(loc, target) == dir)
return !density
@@ -245,7 +249,6 @@
dir = turn(dir, 90)
// updateSilicate()
update_nearby_tiles(need_rebuild=1)
- ini_dir = dir
return
@@ -262,7 +265,6 @@
dir = turn(dir, 270)
// updateSilicate()
update_nearby_tiles(need_rebuild=1)
- ini_dir = dir
return
@@ -282,10 +284,15 @@
*/
-/obj/structure/window/New(Loc,re=0)
+/obj/structure/window/New(Loc, start_dir=null, constructed=0)
..()
-// if(re) reinf = re
+ //player-constructed windows
+ if (constructed)
+ anchored = 0
+
+ if (start_dir)
+ dir = start_dir
health = maxhealth
@@ -294,8 +301,6 @@
update_nearby_tiles(need_rebuild=1)
update_nearby_icons()
- return
-
/obj/structure/window/Del()
density = 0
@@ -305,6 +310,7 @@
/obj/structure/window/Move()
+ var/ini_dir = dir
update_nearby_tiles(need_rebuild=1)
..()
dir = ini_dir
@@ -406,7 +412,14 @@
basestate = "rwindow"
maxhealth = 40
reinf = 1
- glasstype = /obj/item/stack/sheet/rglass
+ glasstype = /obj/item/stack/sheet/glass/reinforced
+
+/obj/structure/window/New(Loc, constructed=0)
+ ..()
+
+ //player-constructed windows
+ if (constructed)
+ state = 0
/obj/structure/window/reinforced/tinted
name = "tinted window"
diff --git a/code/global.dm b/code/global.dm
index f6076c600c..07d83a8ca7 100644
--- a/code/global.dm
+++ b/code/global.dm
@@ -129,6 +129,7 @@ var/list/newplayer_start = list()
var/list/latejoin = list()
var/list/latejoin_gateway = list()
var/list/latejoin_cryo = list()
+var/list/latejoin_cyborg = list()
var/list/prisonwarp = list() //prisoners go to these
var/list/holdingfacility = list() //captured people go here
diff --git a/code/modules/admin/admin.dm b/code/modules/admin/admin.dm
index 670d52fced..615eaeb9b5 100644
--- a/code/modules/admin/admin.dm
+++ b/code/modules/admin/admin.dm
@@ -281,7 +281,7 @@ var/global/floorIsLava = 0
I.rank = "N/A"
update_file = 1
dat += "[I.content] by [I.author] ([I.rank]) on [I.timestamp] "
- if(I.author == usr.key || I.author == "Adminbot")
+ if(I.author == usr.key || I.author == "Adminbot" || ishost(usr))
dat += "Remove"
dat += "
"
if(update_file) info << infos
@@ -1141,9 +1141,25 @@ var/global/floorIsLava = 0
if(2)
var/ref_mob = "\ref[M]"
return "[key_name(C, link, name, highlight_special)](?) (PP) (VV) (SM) (JMP) (CA)"
+ if(3)
+ var/ref_mob = "\ref[M]"
+ return "[key_name(C, link, name, highlight_special)](VV)(JMP)"
-
+/proc/ishost(whom)
+ if(!whom)
+ return 0
+ var/client/C
+ var/mob/M
+ if(istype(whom, /client))
+ C = whom
+ if(istype(whom, /mob))
+ M = whom
+ C = M.client
+ if(R_HOST & C.holder.rights)
+ return 1
+ else
+ return 0
//
//
//ALL DONE
diff --git a/code/modules/admin/admin_ranks.dm b/code/modules/admin/admin_ranks.dm
index a9e428953b..5d1f5db452 100644
--- a/code/modules/admin/admin_ranks.dm
+++ b/code/modules/admin/admin_ranks.dm
@@ -37,7 +37,7 @@ var/list/admin_ranks = list() //list of all ranks with associated rights
if("stealth") rights |= R_STEALTH
if("rejuv","rejuvinate") rights |= R_REJUVINATE
if("varedit") rights |= R_VAREDIT
- if("everything","host","all") rights |= R_HOST
+ if("everything","host","all") rights |= (R_HOST | R_BUILDMODE | R_ADMIN | R_BAN | R_FUN | R_SERVER | R_DEBUG | R_PERMISSIONS | R_POSSESS | R_STEALTH | R_REJUVINATE | R_VAREDIT | R_SOUNDS | R_SPAWN | R_MOD| R_MENTOR)
if("sound","sounds") rights |= R_SOUNDS
if("spawn","create") rights |= R_SPAWN
if("mod") rights |= R_MOD
diff --git a/code/modules/admin/verbs/adminhelp.dm b/code/modules/admin/verbs/adminhelp.dm
index 073ad330fa..6825c07df3 100644
--- a/code/modules/admin/verbs/adminhelp.dm
+++ b/code/modules/admin/verbs/adminhelp.dm
@@ -3,7 +3,7 @@
//This is a list of words which are ignored by the parser when comparing message contents for names. MUST BE IN LOWER CASE!
var/list/adminhelp_ignored_words = list("unknown","the","a","an","of","monkey","alien","as")
-/client/verb/adminhelp(msg as text)
+/client/verb/adminhelp()
set category = "Admin"
set name = "Adminhelp"
@@ -15,8 +15,7 @@ var/list/adminhelp_ignored_words = list("unknown","the","a","an","of","monkey","
if(prefs.muted & MUTE_ADMINHELP)
src << "Error: Admin-PM: You cannot send adminhelps (Muted)."
return
- if(src.handle_spam_prevention(msg,MUTE_ADMINHELP))
- return
+
adminhelped = 1 //Determines if they get the message to reply by clicking the name.
@@ -26,6 +25,17 @@ var/list/adminhelp_ignored_words = list("unknown","the","a","an","of","monkey","
src.verbs += /client/verb/adminhelp // 2 minute cool-down for adminhelps
src.verbs += /client/verb/adminhelp // 2 minute cool-down for adminhelps//Go to hell
**/
+ var/msg
+ var/list/type = list ("Gameplay/Roleplay question", "Rule/Gameplay issue", "Bug report")
+ var/selected_type = input("Pick a category.", "Admin Help", null, null) as null|anything in type
+ if(selected_type)
+ msg = input("Please enter your message:", "Admin Help", null, null) as text
+
+ var/selected_upper = uppertext(selected_type)
+
+ if(src.handle_spam_prevention(msg,MUTE_ADMINHELP))
+ return
+
//clean the input msg
if(!msg) return
@@ -33,7 +43,7 @@ var/list/adminhelp_ignored_words = list("unknown","the","a","an","of","monkey","
if(!msg) return
var/original_msg = msg
-
+
//explode the input msg into a list
var/list/msglist = text2list(msg, " ")
@@ -91,11 +101,68 @@ var/list/adminhelp_ignored_words = list("unknown","the","a","an","of","monkey","
if(!mob) return //this doesn't happen
var/ref_mob = "\ref[mob]"
- var/mentor_msg = "\blue HELP: [get_options_bar(mob, 2, 1, 1, 0)][ai_found ? " (CL)" : ""]: [msg]"
- msg = "\blue HELP: [get_options_bar(mob, 2, 1, 1)][ai_found ? " (CL)" : ""]: [msg]"
- //send this msg to all admins
+ var/mentor_msg = "\blue [selected_upper]: [get_options_bar(mob, 0, 0, 1, 0)][ai_found ? " (CL)" : ""]: [msg]"
+ var/dev_msg = "\blue [selected_upper]: [get_options_bar(mob, 3, 0, 1, 0)][ai_found ? " (CL)" : ""]: [msg]"
+ msg = "\blue [selected_upper]: [get_options_bar(mob, 2, 1, 1)][ai_found ? " (CL)" : ""]: [msg]"
+
+
+
var/admin_number_afk = 0
+
+ var/list/mentorholders = list()
+ var/list/debugholders = list()
+ var/list/adminholders = list()
for(var/client/X in admins)
+ if(R_MENTOR & X.holder.rights && !(R_ADMIN & X.holder.rights)) // we don't want to count admins twice. This list should be JUST mentors
+ mentorholders += X
+ if(X.is_afk())
+ admin_number_afk++
+ if(R_DEBUG & X.holder.rights) // Looking for anyone with +Debug which will be admins, developers, and developer mentors
+ debugholders += X
+ if(!(R_ADMIN & X.holder.rights))
+ if(X.is_afk())
+ admin_number_afk++
+ if(R_ADMIN & X.holder.rights) // just admins here please
+ adminholders += X
+ if(X.is_afk())
+ admin_number_afk++
+
+ switch(selected_type)
+ if("Gameplay/Roleplay question")
+ if(mentorholders.len)
+ for(var/client/X in mentorholders) // Mentors get a message without buttons and no character name
+ if(X.prefs.toggles & SOUND_ADMINHELP)
+ X << 'sound/effects/adminhelp.ogg'
+ X << mentor_msg
+ if(adminholders.len)
+ for(var/client/X in adminholders) // Admins get the full monty
+ if(X.prefs.toggles & SOUND_ADMINHELP)
+ X << 'sound/effects/adminhelp.ogg'
+ X << msg
+ if("Rule/Gameplay issue")
+ if(adminholders.len)
+ for(var/client/X in adminholders) // Admins of course get everything in their helps
+ if(X.prefs.toggles & SOUND_ADMINHELP)
+ X << 'sound/effects/adminhelp.ogg'
+ X << msg
+ if("Bug report")
+ if(debugholders.len)
+ for(var/client/X in debugholders)
+ if(R_ADMIN & X.holder.rights) // Admins get every button & special highlights in theirs
+ if(X.prefs.toggles & SOUND_ADMINHELP)
+ X << 'sound/effects/adminhelp.ogg'
+ X << msg
+ else
+ if (R_DEBUG & X.holder.rights) // Just devs or devmentors get non-highlighted names, but they do get JMP and VV for their bug reports.
+ if(X.prefs.toggles & SOUND_ADMINHELP)
+ X << 'sound/effects/adminhelp.ogg'
+ X << dev_msg
+
+
+
+
+
+ /*for(var/client/X in admins)
if((R_ADMIN|R_MOD|R_MENTOR) & X.holder.rights)
if(X.is_afk())
admin_number_afk++
@@ -104,19 +171,19 @@ var/list/adminhelp_ignored_words = list("unknown","the","a","an","of","monkey","
if(X.holder.rights == R_MENTOR)
X << mentor_msg // Mentors won't see coloring of names on people with special_roles (Antags, etc.)
else
- X << msg
+ X << msg*/
//show it to the person adminhelping too
- src << "PM to-Admins: [original_msg]"
+ src << "PM to-Staff ([selected_type]): [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.")
if(admin_number_present <= 0)
if(!admin_number_afk)
- send2adminirc("ADMINHELP from [key_name(src)]: [html_decode(original_msg)] - !!No admins online!!")
+ send2adminirc("[selected_upper] from [key_name(src)]: [html_decode(original_msg)] - !!No admins online!!")
else
- send2adminirc("ADMINHELP from [key_name(src)]: [html_decode(original_msg)] - !!All admins AFK ([admin_number_afk])!!")
+ send2adminirc("[selected_upper] from [key_name(src)]: [html_decode(original_msg)] - !!All admins AFK ([admin_number_afk])!!")
else
- send2adminirc("ADMINHELP from [key_name(src)]: [html_decode(original_msg)]")
+ send2adminirc("[selected_upper] from [key_name(src)]: [html_decode(original_msg)]")
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/adminpm.dm b/code/modules/admin/verbs/adminpm.dm
index bdc93347ff..5e26498a2b 100644
--- a/code/modules/admin/verbs/adminpm.dm
+++ b/code/modules/admin/verbs/adminpm.dm
@@ -43,7 +43,7 @@
if(!istype(C,/client))
if(holder) src << "Error: Private-Message: Client not found."
- else adminhelp(msg) //admin we are replying to left. adminhelp instead
+ else src << "Error: Private-Message: Client not found. They may have lost connection, so try using an adminhelp!"
return
//get message text, limit it's length.and clean/escape html
@@ -53,7 +53,7 @@
if(!msg) return
if(!C)
if(holder) src << "Error: Admin-PM: Client not found."
- else adminhelp(msg) //admin we are replying to has vanished, adminhelp instead
+ else src << "Error: Private-Message: Client not found. They may have lost connection, so try using an adminhelp!"
return
if (src.handle_spam_prevention(msg,MUTE_ADMINHELP))
@@ -78,7 +78,7 @@
else
recieve_color = "maroon"
send_pm_type = holder.rank + " "
- if(!C.holder && holder && holder.fakekey)
+ if(!C.holder && holder && holder.fakekey)
recieve_pm_type = "Admin"
else
recieve_pm_type = holder.rank
diff --git a/code/modules/admin/verbs/adminsay.dm b/code/modules/admin/verbs/adminsay.dm
index a312416ccc..83254f6e0d 100644
--- a/code/modules/admin/verbs/adminsay.dm
+++ b/code/modules/admin/verbs/adminsay.dm
@@ -9,8 +9,12 @@
log_admin("[key_name(src)] : [msg]")
+ var/color = "adminsay"
+ if(ishost(usr))
+ color = "headminsay"
+
if(check_rights(R_ADMIN,0))
- msg = "ADMIN: [key_name(usr, 1)] (JMP): [msg]"
+ msg = "ADMIN: [key_name(usr, 1)] (JMP): [msg]"
for(var/client/C in admins)
if(R_ADMIN & C.holder.rights)
C << msg
diff --git a/code/modules/admin/verbs/atmosdebug.dm b/code/modules/admin/verbs/atmosdebug.dm
index f4e163394c..169d82dba3 100644
--- a/code/modules/admin/verbs/atmosdebug.dm
+++ b/code/modules/admin/verbs/atmosdebug.dm
@@ -6,7 +6,7 @@
src << "Only administrators may use this command."
return
feedback_add_details("admin_verb","CP") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc!
-
+
if(alert("WARNING: This command should not be run on a live server. Do you want to continue?", "Check Piping", "No", "Yes") == "No")
return
@@ -30,11 +30,12 @@
next_turf:
for(var/turf/T in world)
for(var/dir in cardinal)
- var/check = 0
+ var/list/connect_types = list(1 = 0, 2 = 0, 3 = 0)
for(var/obj/machinery/atmospherics/pipe in T)
if(dir & pipe.initialize_directions)
- check++
- if(check > 1)
+ for(var/connect_type in pipe.connect_types)
+ connect_types[connect_type] += 1
+ if(connect_types[1] > 1 || connect_types[2] > 1 || connect_types[3] > 1)
usr << "Overlapping pipe ([pipe.name]) located at [T.x],[T.y],[T.z] ([get_area(T)])"
continue next_turf
usr << "Done"
diff --git a/code/modules/admin/verbs/pray.dm b/code/modules/admin/verbs/pray.dm
index e302809712..48681c93a3 100644
--- a/code/modules/admin/verbs/pray.dm
+++ b/code/modules/admin/verbs/pray.dm
@@ -20,8 +20,9 @@
msg = "\blue \icon[cross] PRAY: [key_name(src, 1)] (?) (PP) (VV) (SM) (JMP) (CA) (SC): [msg]"
for(var/client/C in admins)
- if(C.prefs.toggles & CHAT_PRAYER)
- C << msg
+ if(R_ADMIN & C.holder.rights)
+ if(C.prefs.toggles & CHAT_PRAYER)
+ C << msg
usr << "Your prayers have been received by the gods."
feedback_add_details("admin_verb","PR") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc!
@@ -30,9 +31,13 @@
/proc/Centcomm_announce(var/text , var/mob/Sender , var/iamessage)
var/msg = copytext(sanitize(text), 1, MAX_MESSAGE_LEN)
msg = "\blue CENTCOMM[iamessage ? " IA" : ""]:[key_name(Sender, 1)] (PP) (VV) (SM) (JMP) (CA) (BSA) (RPLY): [msg]"
- admins << msg
+ for(var/client/C in admins)
+ if(R_ADMIN & C.holder.rights)
+ C << msg
/proc/Syndicate_announce(var/text , var/mob/Sender)
var/msg = copytext(sanitize(text), 1, MAX_MESSAGE_LEN)
msg = "\blue ILLEGAL:[key_name(Sender, 1)] (PP) (VV) (SM) (JMP) (CA) (BSA) (RPLY): [msg]"
- admins << msg
+ for(var/client/C in admins)
+ if(R_ADMIN & C.holder.rights)
+ C << msg
diff --git a/code/modules/awaymissions/corpse.dm b/code/modules/awaymissions/corpse.dm
index 8c83cf4878..048ab71ba8 100644
--- a/code/modules/awaymissions/corpse.dm
+++ b/code/modules/awaymissions/corpse.dm
@@ -181,7 +181,7 @@
name = "Scientist"
corpseradio = /obj/item/device/radio/headset/headset_sci
corpseuniform = /obj/item/clothing/under/rank/scientist
- corpsesuit = /obj/item/clothing/suit/storage/labcoat/science
+ corpsesuit = /obj/item/clothing/suit/storage/toggle/labcoat/science
corpseback = /obj/item/weapon/storage/backpack
corpseshoes = /obj/item/clothing/shoes/white
corpseid = 1
diff --git a/code/modules/client/preferences_gear.dm b/code/modules/client/preferences_gear.dm
index c2328fde8a..0cd4a4dd2d 100644
--- a/code/modules/client/preferences_gear.dm
+++ b/code/modules/client/preferences_gear.dm
@@ -475,13 +475,13 @@ var/global/list/gear_datums = list()
/datum/gear/brown_jacket
display_name = "leather jacket, brown"
- path = /obj/item/clothing/suit/storage/brown_jacket
+ path = /obj/item/clothing/suit/storage/toggle/brown_jacket
cost = 3
slot = slot_wear_suit
/datum/gear/brown_jacket_nt
display_name = "leather jacket, NanoTrasen, brown"
- path = /obj/item/clothing/suit/storage/brown_jacket/nanotrasen
+ path = /obj/item/clothing/suit/storage/toggle/brown_jacket/nanotrasen
cost = 3
slot = slot_wear_suit
diff --git a/code/modules/client/preferences_spawnpoints.dm b/code/modules/client/preferences_spawnpoints.dm
index 504a962049..ac0d5447e6 100644
--- a/code/modules/client/preferences_spawnpoints.dm
+++ b/code/modules/client/preferences_spawnpoints.dm
@@ -10,6 +10,17 @@ var/list/spawntypes = list()
var/msg //Message to display on the arrivals computer.
var/list/turfs //List of turfs to spawn on.
var/display_name //Name used in preference setup.
+ var/list/restrict_job = null
+ var/list/disallow_job = null
+
+ proc/check_job_spawning(job)
+ if(restrict_job && !(job in restrict_job))
+ return 0
+
+ if(disallow_job && (job in disallow_job))
+ return 0
+
+ return 1
/datum/spawnpoint/arrivals
display_name = "Arrivals Shuttle"
@@ -30,7 +41,17 @@ var/list/spawntypes = list()
/datum/spawnpoint/cryo
display_name = "Cryogenic Storage"
msg = "has completed cryogenic revival"
+ disallow_job = list("Cyborg")
/datum/spawnpoint/cryo/New()
..()
- turfs = latejoin_cryo
\ No newline at end of file
+ turfs = latejoin_cryo
+
+/datum/spawnpoint/cyborg
+ display_name = "Cyborg Storage"
+ msg = "has been activated from storage"
+ restrict_job = list("Cyborg")
+
+/datum/spawnpoint/cyborg/New()
+ ..()
+ turfs = latejoin_cyborg
\ No newline at end of file
diff --git a/code/modules/clothing/suits/jobs.dm b/code/modules/clothing/suits/jobs.dm
index c3ba549526..88f48aa6ae 100644
--- a/code/modules/clothing/suits/jobs.dm
+++ b/code/modules/clothing/suits/jobs.dm
@@ -141,11 +141,13 @@
sprite_sheets = list("Vox" = 'icons/mob/species/vox/suit.dmi')
//Lawyer
-/obj/item/clothing/suit/storage/lawyer/bluejacket
+/obj/item/clothing/suit/storage/toggle/lawyer/bluejacket
name = "Blue Suit Jacket"
desc = "A snappy dress jacket."
icon_state = "suitjacket_blue_open"
item_state = "suitjacket_blue_open"
+ icon_open = "suitjacket_blue_open"
+ icon_closed = "suitjacket_blue"
blood_overlay_type = "coat"
body_parts_covered = UPPER_TORSO|ARMS
@@ -158,62 +160,31 @@
body_parts_covered = UPPER_TORSO|ARMS
//Internal Affairs
-/obj/item/clothing/suit/storage/internalaffairs
+/obj/item/clothing/suit/storage/toggle/internalaffairs
name = "Internal Affairs Jacket"
desc = "A smooth black jacket."
icon_state = "ia_jacket_open"
item_state = "ia_jacket"
+ icon_open = "ia_jacket_open"
+ icon_closed = "ia_jacket"
blood_overlay_type = "coat"
body_parts_covered = UPPER_TORSO|ARMS
- verb/toggle()
- set name = "Toggle Coat Buttons"
- set category = "Object"
- set src in usr
- if(!usr.canmove || usr.stat || usr.restrained())
- return 0
-
- switch(icon_state)
- if("ia_jacket_open")
- src.icon_state = "ia_jacket"
- usr << "You button up the jacket."
- if("ia_jacket")
- src.icon_state = "ia_jacket_open"
- usr << "You unbutton the jacket."
- else
- usr << "You attempt to button-up the velcro on your [src], before promptly realising how retarded you are."
- return
- update_clothing_icon() //so our overlays update
//Medical
-/obj/item/clothing/suit/storage/fr_jacket
+/obj/item/clothing/suit/storage/toggle/fr_jacket
name = "first responder jacket"
desc = "A high-visibility jacket worn by medical first responders."
icon_state = "fr_jacket_open"
item_state = "fr_jacket"
+ icon_open = "fr_jacket_open"
+ icon_closed = "fr_jacket"
blood_overlay_type = "armor"
allowed = list(/obj/item/stack/medical, /obj/item/weapon/reagent_containers/dropper, /obj/item/weapon/reagent_containers/hypospray, /obj/item/weapon/reagent_containers/syringe, \
/obj/item/device/healthanalyzer, /obj/item/device/flashlight, /obj/item/device/radio, /obj/item/weapon/tank/emergency_oxygen)
body_parts_covered = UPPER_TORSO|ARMS
- verb/toggle()
- set name = "Toggle Jacket Buttons"
- set category = "Object"
- set src in usr
-
- if(!usr.canmove || usr.stat || usr.restrained())
- return 0
-
- switch(icon_state)
- if("fr_jacket_open")
- src.icon_state = "fr_jacket"
- usr << "You button up the jacket."
- if("fr_jacket")
- src.icon_state = "fr_jacket_open"
- usr << "You unbutton the jacket."
- update_clothing_icon() //so our overlays update
-
//Mime
/obj/item/clothing/suit/suspenders
name = "suspenders"
diff --git a/code/modules/clothing/suits/labcoat.dm b/code/modules/clothing/suits/labcoat.dm
index e2e6e2b563..d176574757 100644
--- a/code/modules/clothing/suits/labcoat.dm
+++ b/code/modules/clothing/suits/labcoat.dm
@@ -1,177 +1,104 @@
-/obj/item/clothing/suit/storage/labcoat
+/obj/item/clothing/suit/storage/toggle/labcoat
name = "labcoat"
desc = "A suit that protects against minor chemical spills."
icon_state = "labcoat_open"
item_state = "labcoat" //Is this even used for anything?
+ icon_open = "labcoat_open"
+ icon_closed = "labcoat"
blood_overlay_type = "coat"
body_parts_covered = UPPER_TORSO|ARMS
allowed = list(/obj/item/device/analyzer,/obj/item/stack/medical,/obj/item/weapon/dnainjector,/obj/item/weapon/reagent_containers/dropper,/obj/item/weapon/reagent_containers/syringe,/obj/item/weapon/reagent_containers/hypospray,/obj/item/device/healthanalyzer,/obj/item/device/flashlight/pen,/obj/item/weapon/reagent_containers/glass/bottle,/obj/item/weapon/reagent_containers/glass/beaker,/obj/item/weapon/reagent_containers/pill,/obj/item/weapon/storage/pill_bottle,/obj/item/weapon/paper)
armor = list(melee = 0, bullet = 0, laser = 0,energy = 0, bomb = 0, bio = 50, rad = 0)
sprite_sheets = list("Vox" = 'icons/mob/species/vox/suit.dmi')
- verb/toggle()
- set name = "Toggle Labcoat Buttons"
- set category = "Object"
- set src in usr
-
- if(!usr.canmove || usr.stat || usr.restrained())
- return 0
-
- //Why???
- switch(icon_state)
- if("labcoat_open")
- src.icon_state = "labcoat"
- usr << "You button up the labcoat."
- if("labcoat")
- src.icon_state = "labcoat_open"
- usr << "You unbutton the labcoat."
- if("red_labcoat_open")
- src.icon_state = "red_labcoat"
- usr << "You button up the labcoat."
- if("red_labcoat")
- src.icon_state = "red_labcoat_open"
- usr << "You unbutton the labcoat."
- if("blue_labcoat_open")
- src.icon_state = "blue_labcoat"
- usr << "You button up the labcoat."
- if("blue_labcoat")
- src.icon_state = "blue_labcoat_open"
- usr << "You unbutton the labcoat."
- if("purple_labcoat_open")
- src.icon_state = "purple_labcoat"
- usr << "You button up the labcoat."
- if("purple_labcoat")
- src.icon_state = "purple_labcoat_open"
- usr << "You unbutton the labcoat."
- if("green_labcoat_open")
- src.icon_state = "green_labcoat"
- usr << "You button up the labcoat."
- if("green_labcoat")
- src.icon_state = "green_labcoat_open"
- usr << "You unbutton the labcoat."
- if("orange_labcoat_open")
- src.icon_state = "orange_labcoat"
- usr << "You button up the labcoat."
- if("orange_labcoat")
- src.icon_state = "orange_labcoat_open"
- usr << "You unbutton the labcoat."
- if("labcoat_cmo_open")
- src.icon_state = "labcoat_cmo"
- usr << "You button up the labcoat."
- if("labcoat_cmo")
- src.icon_state = "labcoat_cmo_open"
- usr << "You unbutton the labcoat."
- if("labcoat_cmoalt_open")
- src.icon_state = "labcoat_cmoalt"
- usr << "You button up the labcoat."
- if("labcoat_cmoalt")
- src.icon_state = "labcoat_cmoalt_open"
- usr << "You unbutton the labcoat."
- if("labcoat_gen_open")
- src.icon_state = "labcoat_gen"
- usr << "You button up the labcoat."
- if("labcoat_gen")
- src.icon_state = "labcoat_gen_open"
- usr << "You unbutton the labcoat."
- if("labcoat_chem_open")
- src.icon_state = "labcoat_chem"
- usr << "You button up the labcoat."
- if("labcoat_chem")
- src.icon_state = "labcoat_chem_open"
- usr << "You unbutton the labcoat."
- if("labcoat_vir_open")
- src.icon_state = "labcoat_vir"
- usr << "You button up the labcoat."
- if("labcoat_vir")
- src.icon_state = "labcoat_vir_open"
- usr << "You unbutton the labcoat."
- if("labcoat_tox_open")
- src.icon_state = "labcoat_tox"
- usr << "You button up the labcoat."
- if("labcoat_tox")
- src.icon_state = "labcoat_tox_open"
- usr << "You unbutton the labcoat."
- if("labgreen_open")
- src.icon_state = "labgreen"
- usr << "You button up the labcoat."
- if("labgreen")
- src.icon_state = "labgreen_open"
- usr << "You unbutton the labcoat."
- if ("labcoat_black_open")
- src.icon_state = "labcoat_black"
- usr << "You button up the labcoat."
- if ("labcoat_black")
- src.icon_state = "labcoat_black_open"
- usr << "You unbutton the labcoat."
- else
- usr << "You attempt to button-up the velcro on your [src], before promptly realising how silly you are."
- return
- update_clothing_icon() //so our overlays update
-
-/obj/item/clothing/suit/storage/labcoat/red
+/obj/item/clothing/suit/storage/toggle/labcoat/red
name = "red labcoat"
desc = "A suit that protects against minor chemical spills. This one is red."
icon_state = "red_labcoat_open"
item_state = "red_labcoat"
+ icon_open = "red_labcoat_open"
+ icon_closed = "red_labcoat"
-/obj/item/clothing/suit/storage/labcoat/blue
+/obj/item/clothing/suit/storage/toggle/labcoat/blue
name = "blue labcoat"
desc = "A suit that protects against minor chemical spills. This one is blue."
icon_state = "blue_labcoat_open"
item_state = "blue_labcoat"
+ icon_open = "blue_labcoat_open"
+ icon_closed = "blue_labcoat"
-/obj/item/clothing/suit/storage/labcoat/purple
+/obj/item/clothing/suit/storage/toggle/labcoat/purple
name = "purple labcoat"
desc = "A suit that protects against minor chemical spills. This one is purple."
icon_state = "purple_labcoat_open"
item_state = "purple_labcoat"
+ icon_open = "purple_labcoat_open"
+ icon_closed = "purple_labcoat"
-/obj/item/clothing/suit/storage/labcoat/orange
+/obj/item/clothing/suit/storage/toggle/labcoat/orange
name = "orange labcoat"
desc = "A suit that protects against minor chemical spills. This one is orange."
icon_state = "orange_labcoat_open"
item_state = "orange_labcoat"
+ icon_open = "orange_labcoat_open"
+ icon_closed = "orange_labcoat"
-/obj/item/clothing/suit/storage/labcoat/green
+/obj/item/clothing/suit/storage/toggle/labcoat/green
name = "green labcoat"
desc = "A suit that protects against minor chemical spills. This one is green."
icon_state = "green_labcoat_open"
item_state = "green_labcoat"
+ icon_open = "green_labcoat_open"
+ icon_closed = "green_labcoat"
-/obj/item/clothing/suit/storage/labcoat/cmo
+/obj/item/clothing/suit/storage/toggle/labcoat/cmo
name = "chief medical officer's labcoat"
desc = "Bluer than the standard model."
icon_state = "labcoat_cmo_open"
item_state = "labcoat_cmo"
+ icon_open = "labcoat_cmo_open"
+ icon_closed = "labcoat_cmo"
-/obj/item/clothing/suit/storage/labcoat/cmoalt
+/obj/item/clothing/suit/storage/toggle/labcoat/cmoalt
name = "chief medical officer labcoat"
desc = "A labcoat with command blue highlights."
icon_state = "labcoat_cmoalt_open"
+ icon_open = "labcoat_cmoalt_open"
+ icon_closed = "labcoat_cmoalt"
-/obj/item/clothing/suit/storage/labcoat/mad
+/obj/item/clothing/suit/storage/toggle/labcoat/mad
name = "The Mad's labcoat"
desc = "It makes you look capable of konking someone on the noggin and shooting them into space."
icon_state = "labgreen_open"
item_state = "labgreen"
+ icon_open = "labgreen_open"
+ icon_closed = "labgreen"
-/obj/item/clothing/suit/storage/labcoat/genetics
+/obj/item/clothing/suit/storage/toggle/labcoat/genetics
name = "Geneticist labcoat"
desc = "A suit that protects against minor chemical spills. Has a blue stripe on the shoulder."
icon_state = "labcoat_gen_open"
+ icon_open = "labcoat_gen_open"
+ icon_closed = "labcoat_gen"
-/obj/item/clothing/suit/storage/labcoat/chemist
+/obj/item/clothing/suit/storage/toggle/labcoat/chemist
name = "Chemist labcoat"
desc = "A suit that protects against minor chemical spills. Has an orange stripe on the shoulder."
icon_state = "labcoat_chem_open"
+ icon_open = "labcoat_chem_open"
+ icon_closed = "labcoat_chem"
-/obj/item/clothing/suit/storage/labcoat/virologist
+/obj/item/clothing/suit/storage/toggle/labcoat/virologist
name = "Virologist labcoat"
desc = "A suit that protects against minor chemical spills. Offers slightly more protection against biohazards than the standard model. Has a green stripe on the shoulder."
icon_state = "labcoat_vir_open"
+ icon_open = "labcoat_vir_open"
+ icon_closed = "labcoat_vir"
armor = list(melee = 0, bullet = 0, laser = 0,energy = 0, bomb = 0, bio = 60, rad = 0)
-/obj/item/clothing/suit/storage/labcoat/science
+/obj/item/clothing/suit/storage/toggle/labcoat/science
name = "Scientist labcoat"
desc = "A suit that protects against minor chemical spills. Has a purple stripe on the shoulder."
icon_state = "labcoat_tox_open"
+ icon_open = "labcoat_tox_open"
+ icon_closed = "labcoat_tox"
diff --git a/code/modules/clothing/suits/miscellaneous.dm b/code/modules/clothing/suits/miscellaneous.dm
index 06b913a335..aa530f7567 100644
--- a/code/modules/clothing/suits/miscellaneous.dm
+++ b/code/modules/clothing/suits/miscellaneous.dm
@@ -199,28 +199,6 @@
item_state = "ianshirt"
body_parts_covered = UPPER_TORSO|ARMS
-//Blue suit jacket toggle
-/obj/item/clothing/suit/suit/verb/toggle()
- set name = "Toggle Jacket Buttons"
- set category = "Object"
- set src in usr
-
- if(!usr.canmove || usr.stat || usr.restrained())
- return 0
-
- if(src.icon_state == "suitjacket_blue_open")
- src.icon_state = "suitjacket_blue"
- src.item_state = "suitjacket_blue"
- usr << "You button up the suit jacket."
- else if(src.icon_state == "suitjacket_blue")
- src.icon_state = "suitjacket_blue_open"
- src.item_state = "suitjacket_blue_open"
- usr << "You unbutton the suit jacket."
- else
- usr << "You button-up some imaginary buttons on your [src]."
- return
- update_clothing_icon()
-
//pyjamas
//originally intended to be pinstripes >.>
@@ -401,38 +379,20 @@
icon_state = "leather_jacket_nt"
//This one has buttons for some reason
-/obj/item/clothing/suit/storage/brown_jacket
+/obj/item/clothing/suit/storage/toggle/brown_jacket
name = "leather jacket"
desc = "A brown leather coat."
icon_state = "brown_jacket"
item_state = "brown_jacket"
- var/open_state = "brown_jacket_open"
+ icon_open = "brown_jacket_open"
+ icon_closed = "brown_jacket"
body_parts_covered = UPPER_TORSO|ARMS
-/obj/item/clothing/suit/storage/brown_jacket/nanotrasen
+/obj/item/clothing/suit/storage/toggle/brown_jacket/nanotrasen
desc = "A brown leather coat. The letters NT are proudly displayed on the back."
icon_state = "brown_jacket_nt"
- open_state = "brown_jacket_nt_open"
-
-/obj/item/clothing/suit/storage/brown_jacket/verb/toggle()
- set name = "Toggle Jacket Buttons"
- set category = "Object"
- set src in usr
-
- if(!usr.canmove || usr.stat || usr.restrained())
- return 0
-
- //The inhand sprite (the mob sprite that appears when holding the item in your hand)
- //is unchanged, so update only icon_state, not item_state.
- if(icon_state == open_state)
- usr << "You button up the jacket."
- src.icon_state = initial(icon_state)
-
- else if(icon_state == initial(icon_state))
- usr << "You unbutton the jacket."
- src.icon_state = open_state
-
- update_clothing_icon() //so our overlays update
+ icon_open = "brown_jacket_nt_open"
+ icon_closed = "brown_jacket_nt"
/obj/item/clothing/suit/hoodie
name = "grey hoodie"
diff --git a/code/modules/clothing/suits/storage.dm b/code/modules/clothing/suits/storage.dm
index cb03feb599..5e37fd240f 100644
--- a/code/modules/clothing/suits/storage.dm
+++ b/code/modules/clothing/suits/storage.dm
@@ -26,4 +26,26 @@
/obj/item/clothing/suit/storage/hear_talk(mob/M, var/msg)
pockets.hear_talk(M, msg)
- ..()
\ No newline at end of file
+ ..()
+
+//Jackets with buttons, used for labcoats, IA jackets, First Responder jackets, and brown jackets.
+/obj/item/clothing/suit/storage/toggle
+ var/icon_open
+ var/icon_closed
+ verb/toggle()
+ set name = "Toggle Coat Buttons"
+ set category = "Object"
+ set src in usr
+ if(!usr.canmove || usr.stat || usr.restrained())
+ return 0
+
+ if(icon_state == icon_open) //Will check whether icon state is currently set to the "open" or "closed" state and switch it around with a message to the user
+ icon_state = icon_closed
+ usr << "You button up the coat."
+ else if(icon_state == icon_closed)
+ icon_state = icon_open
+ usr << "You unbutton the coat."
+ else //in case some goofy admin switches icon states around without switching the icon_open or icon_closed
+ usr << "You attempt to button-up the velcro on your [src], before promptly realising how silly you are."
+ return
+ update_clothing_icon() //so our overlays update
\ No newline at end of file
diff --git a/code/modules/clothing/under/chameleon.dm b/code/modules/clothing/under/chameleon.dm
index 82713782dd..87e784c338 100644
--- a/code/modules/clothing/under/chameleon.dm
+++ b/code/modules/clothing/under/chameleon.dm
@@ -120,7 +120,7 @@
New()
..()
var/blocked = list(/obj/item/clothing/suit/chameleon,
- /obj/item/clothing/suit/golem, /obj/item/clothing/suit/suit, /obj/item/clothing/suit/cyborg_suit, /obj/item/clothing/suit/justice,
+ /obj/item/clothing/suit/golem, /obj/item/clothing/suit/cyborg_suit, /obj/item/clothing/suit/justice,
/obj/item/clothing/suit/greatcoat)//Prevent infinite loops and bad suits.
for(var/U in typesof(/obj/item/clothing/suit)-blocked)
var/obj/item/clothing/suit/V = new U
@@ -257,7 +257,7 @@
icon_state = A.icon_state
item_state = A.item_state
item_color = A.item_color
-
+
//so our overlays update.
if (ismob(src.loc))
var/mob/M = src.loc
@@ -464,7 +464,7 @@
icon_state = A.icon_state
item_state = A.item_state
flags_inv = A.flags_inv
-
+
//so our overlays update.
if (ismob(src.loc))
var/mob/M = src.loc
diff --git a/code/modules/customitems/item_defines.dm b/code/modules/customitems/item_defines.dm
index 99d80e7891..30bb19dfb3 100644
--- a/code/modules/customitems/item_defines.dm
+++ b/code/modules/customitems/item_defines.dm
@@ -358,7 +358,7 @@
/obj/item/weapon/reagent_containers/glass/beaker/large/fluff/nashida_bishara_1 //rukral:Nashida Bisha'ra
name = "Nashida's Etched Beaker"
- desc = "The message: 'Please do not be removing this beaker from the chemistry lab. If lost, return to Nashida Bisha'ra' can be seen etched into the side of this 100 unit beaker."
+ desc = "The message: 'Please do not be removing this beaker from the chemistry lab. If lost, return to Nashida Bisha'ra' can be seen etched into the side of this large beaker."
icon = 'icons/obj/chemical.dmi'
icon_state = "beakerlarge"
matter = list("glass" = 5000)
@@ -870,11 +870,13 @@
icon_state = "mitlabcoat"
item_state = "mitlabcoat"
-/obj/item/clothing/suit/storage/labcoat/fluff/epsilon //Devildabeast: Looping Song
+/obj/item/clothing/suit/storage/toggle/labcoat/fluff/epsilon //Devildabeast: Looping Song
name = "e UMi labcoat"
desc = "A suit that protects against minor chemical spills. Has a black stripe on the shoulder. The abbreviation \"e UMi\" is written on the back in bold text."
icon = 'icons/obj/custom_items.dmi'
icon_state = "labcoat_black_open"
+ icon_open = "labcoat_black_open"
+ icon_closed = "labcoat_black"
item_state = "labcoat_black"
/obj/item/clothing/suit/storage/det_suit/fluff/leatherjack //atomicdog92: Seth Sealis
@@ -1415,3 +1417,86 @@
desc = "This cane seems to have 'Ryals' engraved on its handle."
icon_state = "cane"
item_state = "stick"
+
+////////////////////////////// Foxler - Erstatz Vryroxes /////////////////////////////////////////////////
+
+/obj/item/weapon/holder/cat/fluff/bones
+ name = "Bones"
+ desc = "It's Bones! Meow."
+ gender = MALE
+ icon_state = "cat3"
+
+//Use this subtype for spawning in the custom item.
+/obj/item/weapon/holder/cat/fluff/bones/custom_item
+
+/obj/item/weapon/holder/cat/fluff/bones/custom_item/New()
+ if (!contents.len)
+ new/mob/living/simple_animal/cat/fluff/bones (src)
+ ..()
+
+/mob/living/simple_animal/cat/fluff/bones
+ name = "Bones"
+ desc = "That's Bones the cat. He's a laid back, black cat. Meow."
+ gender = MALE
+ icon_state = "cat3"
+ icon_living = "cat3"
+ icon_dead = "cat3_dead"
+ holder_type = /obj/item/weapon/holder/cat/fluff/bones
+ bff_name = "Erstatz Vryroxes"
+
+/mob/living/simple_animal/cat/fluff
+ var/bff_name
+ var/mob/living/carbon/human/bff
+
+/mob/living/simple_animal/cat/fluff/handle_movement_target()
+ if (!bff)
+ for (var/mob/living/carbon/human/M in player_list)
+ if (M.real_name == bff_name)
+ bff = M
+ break
+
+ if (bff)
+ var/follow_dist = 5
+ if (bff.stat >= DEAD || bff.health <= config.health_threshold_softcrit) //danger
+ follow_dist = 1
+ else if (bff.stat || bff.health <= 50) //danger or just sleeping
+ follow_dist = 2
+ var/near_dist = max(follow_dist - 3, 1)
+ var/current_dist = get_dist(src, bff)
+
+ if (movement_target != bff)
+ if (current_dist > follow_dist && !istype(movement_target, /mob/living/simple_animal/mouse) && (bff in oview(src)))
+ //stop existing movement
+ walk_to(src,0)
+ turns_since_scan = 0
+
+ //walk to bff
+ stop_automated_movement = 1
+ movement_target = bff
+ walk_to(src, movement_target, near_dist, 4)
+
+ //already following and close enough, stop
+ else if (current_dist <= near_dist)
+ walk_to(src,0)
+ movement_target = null
+ stop_automated_movement = 0
+
+ if (!(bff && movement_target == bff))
+ ..()
+
+/mob/living/simple_animal/cat/fluff/Life()
+ ..()
+ if (stat || !bff)
+ return
+ if (get_dist(src, bff) <= 1)
+ if (bff.stat >= DEAD || bff.health <= config.health_threshold_softcrit)
+ if (prob((bff.stat < DEAD)? 50 : 15))
+ audible_emote(pick("meows in distress.", "meows anxiously."))
+ else
+ if (prob(5))
+ visible_emote(pick("nuzzles [bff].",
+ "brushes against [bff].",
+ "rubs against [bff].",
+ "purrs."))
+ else if (bff.health <= 50)
+ if (prob(10)) audible_emote("meows anxiously.")
diff --git a/code/modules/mob/emote.dm b/code/modules/mob/emote.dm
index 3e2d037d13..09418b8bb0 100644
--- a/code/modules/mob/emote.dm
+++ b/code/modules/mob/emote.dm
@@ -1,4 +1,6 @@
// All mobs should have custom emote, really..
+//m_type == 1 --> visual.
+//m_type == 2 --> audible
/mob/proc/custom_emote(var/m_type=1,var/message = null)
if(stat || !use_me && usr == src)
diff --git a/code/modules/mob/hear_say.dm b/code/modules/mob/hear_say.dm
index 221863ce3c..05ea07dd01 100644
--- a/code/modules/mob/hear_say.dm
+++ b/code/modules/mob/hear_say.dm
@@ -8,7 +8,19 @@
//Does the speaker have a client? It's either random stuff that observers won't care about (Experiment 97B says, 'EHEHEHEHEHEHEHE')
//Or someone snoring. So we make it where they won't hear it.
return
-
+
+ //make sure the air can transmit speech - hearer's side
+ var/turf/T = get_turf(src)
+ if (T)
+ var/datum/gas_mixture/environment = T.return_air()
+ var/pressure = (environment)? environment.return_pressure() : 0
+ if(pressure < SOUND_MINIMUM_PRESSURE && get_dist(speaker, src) > 1)
+ return
+
+ if (pressure < ONE_ATMOSPHERE*0.4) //sound distortion pressure, to help clue people in that the air is thin, even if it isn't a vacuum yet
+ italics = 1
+ sound_vol *= 0.5 //muffle the sound a bit, so it's like we're actually talking through contact
+
if(sleeping || stat == 1)
hear_sleep(message)
return
diff --git a/code/modules/mob/language.dm b/code/modules/mob/language.dm
index b49374cecd..b9fcefbdde 100755
--- a/code/modules/mob/language.dm
+++ b/code/modules/mob/language.dm
@@ -230,7 +230,7 @@
if(drone_only && !istype(S,/mob/living/silicon/robot/drone))
continue
else if(istype(S , /mob/living/silicon/ai))
- message_start = "[name], [speaker.name]"
+ message_start = "[name], [speaker.name]"
else if (!S.binarycheck())
continue
diff --git a/code/modules/mob/living/carbon/alien/diona/diona.dm b/code/modules/mob/living/carbon/alien/diona/diona.dm
index 3f4bc2105d..a91f55d4b6 100644
--- a/code/modules/mob/living/carbon/alien/diona/diona.dm
+++ b/code/modules/mob/living/carbon/alien/diona/diona.dm
@@ -19,6 +19,7 @@
/mob/living/carbon/alien/diona/New()
..()
+ species = all_species["Diona"]
verbs += /mob/living/carbon/proc/eat_weeds
verbs += /mob/living/carbon/proc/fertilize_plant
verbs += /mob/living/carbon/alien/diona/proc/steal_blood
diff --git a/code/modules/mob/living/carbon/carbon.dm b/code/modules/mob/living/carbon/carbon.dm
index c915b6f7b5..eb96d51512 100644
--- a/code/modules/mob/living/carbon/carbon.dm
+++ b/code/modules/mob/living/carbon/carbon.dm
@@ -499,7 +499,8 @@
if (!( AM.anchored ))
var/t = get_dir(src, AM)
if (istype(AM, /obj/structure/window))
- if(AM:ini_dir == NORTHWEST || AM:ini_dir == NORTHEAST || AM:ini_dir == SOUTHWEST || AM:ini_dir == SOUTHEAST)
+ var/obj/structure/window/W = AM
+ if(W.is_full_window())
for(var/obj/structure/window/win in get_step(AM,t))
now_pushing = 0
return
diff --git a/code/modules/mob/living/carbon/carbon_defines.dm b/code/modules/mob/living/carbon/carbon_defines.dm
index feed242bef..bf72360399 100644
--- a/code/modules/mob/living/carbon/carbon_defines.dm
+++ b/code/modules/mob/living/carbon/carbon_defines.dm
@@ -1,5 +1,6 @@
/mob/living/carbon/
gender = MALE
+ var/datum/species/species //Contains icon generation and language information, set during New().
var/list/stomach_contents = list()
var/list/datum/disease2/disease/virus2 = list()
var/antibodies = 0
diff --git a/code/modules/mob/living/carbon/carbon_powers.dm b/code/modules/mob/living/carbon/carbon_powers.dm
index f4bc6e4d68..7dc0f45087 100644
--- a/code/modules/mob/living/carbon/carbon_powers.dm
+++ b/code/modules/mob/living/carbon/carbon_powers.dm
@@ -72,7 +72,12 @@
if(B.host_brain.ckey)
src << "\red You send a punishing spike of psychic agony lancing into your host's brain."
- B.host_brain << "\red Horrific, burning agony lances through you, ripping a soundless scream from your trapped mind!"
+
+ if (species && (species.flags & NO_PAIN))
+ B.host_brain << "\red You feel a strange sensation as a foreign influence prods your mind."
+ src << "\red It doesn't seem to be as effective as you hoped."
+ else
+ B.host_brain << "\red Horrific, burning agony lances through you, ripping a soundless scream from your trapped mind!"
/mob/living/carbon/proc/spawn_larvae()
set category = "Abilities"
diff --git a/code/modules/mob/living/carbon/human/human.dm b/code/modules/mob/living/carbon/human/human.dm
index 068eef1cac..e631d28679 100644
--- a/code/modules/mob/living/carbon/human/human.dm
+++ b/code/modules/mob/living/carbon/human/human.dm
@@ -6,7 +6,6 @@
icon_state = "body_m_s"
var/list/hud_list[9]
- var/datum/species/species //Contains icon generation and language information, set during New().
var/embedded_flag //To check if we've need to roll for damage on movement while an item is imbedded in us.
/mob/living/carbon/human/New(var/new_loc, var/new_species = null)
diff --git a/code/modules/mob/living/carbon/human/human_damage.dm b/code/modules/mob/living/carbon/human/human_damage.dm
index 2997b182d8..805c7be128 100644
--- a/code/modules/mob/living/carbon/human/human_damage.dm
+++ b/code/modules/mob/living/carbon/human/human_damage.dm
@@ -351,7 +351,7 @@ This function restores all organs.
//Handle other types of damage
if((damagetype != BRUTE) && (damagetype != BURN))
- if(damagetype == HALLOSS)
+ if(damagetype == HALLOSS && !(species && (species.flags & NO_PAIN)))
if ((damage > 25 && prob(20)) || (damage > 50 && prob(60)))
emote("scream")
diff --git a/code/modules/mob/living/carbon/human/human_movement.dm b/code/modules/mob/living/carbon/human/human_movement.dm
index 8b1f467fde..b004132eee 100644
--- a/code/modules/mob/living/carbon/human/human_movement.dm
+++ b/code/modules/mob/living/carbon/human/human_movement.dm
@@ -17,7 +17,8 @@
var/health_deficiency = (100 - health)
if(health_deficiency >= 40) tally += (health_deficiency / 25)
- if(halloss >= 10) tally += (halloss / 10)
+ if (!(species && (species.flags & NO_PAIN)))
+ if(halloss >= 10) tally += (halloss / 10) //halloss shouldn't slow you down if you can't even feel it
var/hungry = (500 - nutrition)/5 // So overeat would be 100 and default level would be 80
if (hungry >= 70) tally += hungry/50
@@ -55,8 +56,7 @@
if (bodytemperature < 283.222)
tally += (283.222 - bodytemperature) / 10 * 1.75
- if(can_stand <= 1)
- tally += 5 //hopping around on one foot is slow
+ tally += 2*stance_damage //damaged/missing feet or legs is slow
if(mRun in mutations)
tally = 0
diff --git a/code/modules/mob/living/carbon/metroid/metroid.dm b/code/modules/mob/living/carbon/metroid/metroid.dm
index b5f9cf970f..47c35b488f 100644
--- a/code/modules/mob/living/carbon/metroid/metroid.dm
+++ b/code/modules/mob/living/carbon/metroid/metroid.dm
@@ -147,7 +147,8 @@
if (!( AM.anchored ))
var/t = get_dir(src, AM)
if (istype(AM, /obj/structure/window))
- if(AM:ini_dir == NORTHWEST || AM:ini_dir == NORTHEAST || AM:ini_dir == SOUTHWEST || AM:ini_dir == SOUTHEAST)
+ var/obj/structure/window/W = AM
+ if(W.is_full_window())
for(var/obj/structure/window/win in get_step(AM,t))
now_pushing = 0
return
diff --git a/code/modules/mob/living/carbon/metroid/powers.dm b/code/modules/mob/living/carbon/metroid/powers.dm
index 15fdb60349..23ca8acbf6 100644
--- a/code/modules/mob/living/carbon/metroid/powers.dm
+++ b/code/modules/mob/living/carbon/metroid/powers.dm
@@ -61,13 +61,15 @@
loc = M.loc
if(prob(15) && M.client && istype(M, /mob/living/carbon))
- M << "[pick("You can feel your body becoming weak!", \
- "You feel like you're about to die!", \
- "You feel every part of your body screaming in agony!", \
- "A low, rolling pain passes through your body!", \
- "Your body feels as if it's falling apart!", \
- "You feel extremely weak!", \
- "A sharp, deep pain bathes every inch of your body!")]"
+ var/mob/living/carbon/C = M
+ if (!(C.species && (C.species.flags & NO_PAIN)))
+ M << "[pick("You can feel your body becoming weak!", \
+ "You feel like you're about to die!", \
+ "You feel every part of your body screaming in agony!", \
+ "A low, rolling pain passes through your body!", \
+ "Your body feels as if it's falling apart!", \
+ "You feel extremely weak!", \
+ "A sharp, deep pain bathes every inch of your body!")]"
if(istype(M, /mob/living/carbon))
Victim.adjustCloneLoss(rand(5,6))
diff --git a/code/modules/mob/living/carbon/monkey/monkey.dm b/code/modules/mob/living/carbon/monkey/monkey.dm
index 9e337e5f80..b955109b28 100644
--- a/code/modules/mob/living/carbon/monkey/monkey.dm
+++ b/code/modules/mob/living/carbon/monkey/monkey.dm
@@ -41,6 +41,9 @@
reagents = R
R.my_atom = src
+ species = all_species[greaterform]
+ add_language(species.language)
+
if(name == initial(name)) //To stop Pun-Pun becoming generic.
name = "[name] ([rand(1, 1000)])"
real_name = name
@@ -78,24 +81,22 @@
/mob/living/carbon/monkey/unathi/New()
- ..()
dna.mutantrace = "lizard"
greaterform = "Unathi"
- add_language("Sinta'unathi")
+ ..()
/mob/living/carbon/monkey/skrell/New()
- ..()
+
dna.mutantrace = "skrell"
greaterform = "Skrell"
- add_language("Skrellian")
+ ..()
/mob/living/carbon/monkey/tajara/New()
- ..()
dna.mutantrace = "tajaran"
greaterform = "Tajara"
- add_language("Siik'tajr")
+ ..()
/mob/living/carbon/monkey/movement_delay()
var/tally = 0
@@ -287,4 +288,4 @@
message = capitalize(trim_left(message))
- ..(message, speaking, verb, alt_name, italics, message_range, used_radios)
\ No newline at end of file
+ ..(message, speaking, verb, alt_name, italics, message_range, used_radios)
diff --git a/code/modules/mob/living/living.dm b/code/modules/mob/living/living.dm
index b4125f6f59..f883ce46ff 100644
--- a/code/modules/mob/living/living.dm
+++ b/code/modules/mob/living/living.dm
@@ -436,7 +436,8 @@
else
if (pulling)
if (istype(pulling, /obj/structure/window))
- if(pulling:ini_dir == NORTHWEST || pulling:ini_dir == NORTHEAST || pulling:ini_dir == SOUTHWEST || pulling:ini_dir == SOUTHEAST)
+ var/obj/structure/window/W = pulling
+ if(W.is_full_window())
for(var/obj/structure/window/win in get_step(pulling,get_dir(pulling.loc, T)))
stop_pulling()
if (pulling)
diff --git a/code/modules/mob/living/say.dm b/code/modules/mob/living/say.dm
index 4ff66b3403..28404b3d8a 100644
--- a/code/modules/mob/living/say.dm
+++ b/code/modules/mob/living/say.dm
@@ -91,22 +91,21 @@ proc/get_radio_key_from_channel(var/channel)
if (speaking.flags & SIGNLANG)
return say_signlang(message, pick(speaking.signlang_verb), speaking)
-
- //make sure the air can transmit speech
- var/datum/gas_mixture/environment = T.return_air()
- if(environment)
- var/pressure = environment.return_pressure()
- if(pressure < SOUND_MINIMUM_PRESSURE)
- italics = 1
- message_range = 1
-
- if (speech_sound)
- sound_vol *= 0.5 //muffle the sound a bit, so it's like we're actually talking through contact
-
+
var/list/listening = list()
var/list/listening_obj = list()
if(T)
+ //make sure the air can transmit speech - speaker's side
+ var/datum/gas_mixture/environment = T.return_air()
+ var/pressure = (environment)? environment.return_pressure() : 0
+ if(pressure < SOUND_MINIMUM_PRESSURE)
+ message_range = 1
+
+ if (pressure < ONE_ATMOSPHERE*0.4) //sound distortion pressure, to help clue people in that the air is thin, even if it isn't a vacuum yet
+ italics = 1
+ sound_vol *= 0.5 //muffle the sound a bit, so it's like we're actually talking through contact
+
var/list/hear = hear(message_range, T)
var/list/hearturfs = list()
diff --git a/code/modules/mob/living/silicon/ai/ai.dm b/code/modules/mob/living/silicon/ai/ai.dm
index 8d62b618e1..dd17550985 100644
--- a/code/modules/mob/living/silicon/ai/ai.dm
+++ b/code/modules/mob/living/silicon/ai/ai.dm
@@ -509,24 +509,7 @@ var/list/ai_verbs_default = list(
else
src << "\red System error. Cannot locate [html_decode(href_list["trackname"])]."
return
-
- else if (href_list["faketrack"])
- var/mob/target = locate(href_list["track"]) in mob_list
- var/mob/living/silicon/ai/A = locate(href_list["track2"]) in mob_list
- if(A && target)
-
- A.cameraFollow = target
- A << text("Now tracking [] on camera.", target.name)
- if (usr.machine == null)
- usr.machine = usr
-
- while (src.cameraFollow == target)
- usr << "Target is not on or near any active cameras on the station. We'll check again in 5 seconds (unless you use the cancel-camera verb)."
- sleep(40)
- continue
-
- return
-
+
return
/mob/living/silicon/ai/meteorhit(obj/O as obj)
diff --git a/code/modules/mob/living/silicon/laws.dm b/code/modules/mob/living/silicon/laws.dm
index 212fc14096..48e9642339 100644
--- a/code/modules/mob/living/silicon/laws.dm
+++ b/code/modules/mob/living/silicon/laws.dm
@@ -27,18 +27,22 @@
laws.clear_supplied_laws()
/mob/living/silicon/proc/statelaws() // -- TLE
- if(stating_laws)
- src << "You are currently stating laws."
- return
- stating_laws = 1
-
var/prefix = ""
switch(lawchannel)
- if(MAIN_CHANNEL) prefix = ";" // Apparently defines are not constant expressions?
+ if(MAIN_CHANNEL) prefix = ";"
if("Binary") prefix = ":b "
else
prefix = get_radio_key_from_channel(lawchannel == "Holopad" ? "department" : lawchannel) + " "
+ dostatelaws(lawchannel, prefix)
+
+/mob/living/silicon/proc/dostatelaws(var/method, var/prefix)
+ if(stating_laws[prefix])
+ src << "[method]: Already stating laws using this communication method."
+ return
+
+ stating_laws[prefix] = 1
+
var/can_state = statelaw("[prefix]Current Active Laws:")
//src.laws_sanity_check()
@@ -71,9 +75,8 @@
number++
if(!can_state)
- src << "Unable to state laws. Communication method unavailable."
-
- stating_laws = 0
+ src << "[method]: Unable to state laws. Communication method unavailable."
+ stating_laws[prefix] = 0
/mob/living/silicon/proc/statelaw(var/law)
if(src.say(law))
@@ -93,10 +96,7 @@
for (var/index = 1, index <= src.laws.ion.len, index++)
var/law = src.laws.ion[index]
-
if (length(law) > 0)
-
-
if (!src.ioncheck[index])
src.ioncheck[index] = "Yes"
list += {"[src.ioncheck[index]] [ionnum()]: [law]
"}
@@ -105,10 +105,8 @@
var/number = 1
for (var/index = 1, index <= src.laws.inherent.len, index++)
var/law = src.laws.inherent[index]
-
if (length(law) > 0)
src.lawcheck.len += 1
-
if (!src.lawcheck[number+1])
src.lawcheck[number+1] = "Yes"
list += {"[src.lawcheck[number+1]] [number]: [law]
"}
diff --git a/code/modules/mob/living/silicon/robot/robot.dm b/code/modules/mob/living/silicon/robot/robot.dm
index a169bda552..159765a84c 100644
--- a/code/modules/mob/living/silicon/robot/robot.dm
+++ b/code/modules/mob/living/silicon/robot/robot.dm
@@ -612,7 +612,8 @@ var/list/robot_verbs_default = list(
if (!AM.anchored)
var/t = get_dir(src, AM)
if (istype(AM, /obj/structure/window))
- if(AM:ini_dir == NORTHWEST || AM:ini_dir == NORTHEAST || AM:ini_dir == SOUTHWEST || AM:ini_dir == SOUTHEAST)
+ var/obj/structure/window/W = AM
+ if(W.is_full_window())
for(var/obj/structure/window/win in get_step(AM,t))
now_pushing = 0
return
diff --git a/code/modules/mob/living/silicon/robot/robot_modules.dm b/code/modules/mob/living/silicon/robot/robot_modules.dm
index c1af68c8df..57cf8b1c62 100644
--- a/code/modules/mob/living/silicon/robot/robot_modules.dm
+++ b/code/modules/mob/living/silicon/robot/robot_modules.dm
@@ -167,7 +167,7 @@
stacktypes = list(
/obj/item/stack/sheet/metal = 50,
/obj/item/stack/sheet/plasteel = 10,
- /obj/item/stack/sheet/rglass = 50,
+ /obj/item/stack/sheet/glass/reinforced = 50,
/obj/item/stack/rods = 50
)
@@ -188,7 +188,7 @@
stacktypes = list(
/obj/item/stack/sheet/metal = 50,
/obj/item/stack/sheet/glass = 50,
- /obj/item/stack/sheet/rglass = 50,
+ /obj/item/stack/sheet/glass/reinforced = 50,
/obj/item/stack/cable_coil = 50,
/obj/item/stack/rods = 15,
/obj/item/stack/tile/plasteel = 15
@@ -217,7 +217,7 @@
M.amount = 50
src.modules += M
- var/obj/item/stack/sheet/rglass/cyborg/R = new /obj/item/stack/sheet/rglass/cyborg(src)
+ var/obj/item/stack/sheet/glass/reinforced/cyborg/R = new (src)
R.amount = 50
src.modules += R
@@ -400,7 +400,7 @@
stacktypes = list(
/obj/item/stack/sheet/wood = 1,
/obj/item/stack/sheet/mineral/plastic = 1,
- /obj/item/stack/sheet/rglass = 5,
+ /obj/item/stack/sheet/glass/reinforced = 5,
/obj/item/stack/tile/wood = 5,
/obj/item/stack/rods = 15,
/obj/item/stack/tile/plasteel = 15,
diff --git a/code/modules/mob/living/silicon/silicon.dm b/code/modules/mob/living/silicon/silicon.dm
index 2490eb1429..93d4438d7b 100644
--- a/code/modules/mob/living/silicon/silicon.dm
+++ b/code/modules/mob/living/silicon/silicon.dm
@@ -6,9 +6,9 @@
var/list/additional_law_channels = list("State")
var/const/MAIN_CHANNEL = "Main Frequency"
var/lawchannel = MAIN_CHANNEL // Default channel on which to state laws
+ var/list/stating_laws = list()// Channels laws are currently being stated on
var/lawcheck[1]
var/ioncheck[1]
- var/stating_laws = 0
var/obj/item/device/radio/common_radio
immune_to_ssd = 1
diff --git a/code/modules/mob/living/simple_animal/borer/borer.dm b/code/modules/mob/living/simple_animal/borer/borer.dm
index 593c41b742..3591523477 100644
--- a/code/modules/mob/living/simple_animal/borer/borer.dm
+++ b/code/modules/mob/living/simple_animal/borer/borer.dm
@@ -7,8 +7,8 @@
speak_emote = list("chirrups")
emote_hear = list("chirrups")
response_help = "pokes"
- response_disarm = "prods the"
- response_harm = "stomps on the"
+ response_disarm = "prods"
+ response_harm = "stomps on"
icon_state = "brainslug"
icon_living = "brainslug"
icon_dead = "brainslug_dead"
diff --git a/code/modules/mob/living/simple_animal/constructs.dm b/code/modules/mob/living/simple_animal/constructs.dm
index ffcc48bd40..444c98ea38 100644
--- a/code/modules/mob/living/simple_animal/constructs.dm
+++ b/code/modules/mob/living/simple_animal/constructs.dm
@@ -79,7 +79,8 @@
if (!( AM.anchored ))
var/t = get_dir(src, AM)
if (istype(AM, /obj/structure/window))
- if(AM:ini_dir == NORTHWEST || AM:ini_dir == NORTHEAST || AM:ini_dir == SOUTHWEST || AM:ini_dir == SOUTHEAST)
+ var/obj/structure/window/W = AM
+ if(W.is_full_window())
for(var/obj/structure/window/win in get_step(AM,t))
now_pushing = 0
return
diff --git a/code/modules/mob/living/simple_animal/friendly/cat.dm b/code/modules/mob/living/simple_animal/friendly/cat.dm
index 4678531947..56f615c77f 100644
--- a/code/modules/mob/living/simple_animal/friendly/cat.dm
+++ b/code/modules/mob/living/simple_animal/friendly/cat.dm
@@ -8,14 +8,14 @@
speak = list("Meow!","Esp!","Purr!","HSSSSS")
speak_emote = list("purrs", "meows")
emote_hear = list("meows","mews")
- emote_see = list("shakes its head", "shivers")
+ emote_see = list("shakes their head", "shivers")
speak_chance = 1
turns_per_move = 5
see_in_dark = 6
meat_type = /obj/item/weapon/reagent_containers/food/snacks/meat
- response_help = "pets the"
- response_disarm = "gently pushes aside the"
- response_harm = "kicks the"
+ response_help = "pets"
+ response_disarm = "gently pushes aside"
+ response_harm = "kicks"
var/turns_since_scan = 0
var/mob/living/simple_animal/mouse/movement_target
min_oxy = 16 //Require atleast 16kPA oxygen
@@ -27,40 +27,45 @@
//MICE!
if((src.loc) && isturf(src.loc))
if(!stat && !resting && !buckled)
- for(var/mob/living/simple_animal/mouse/M in view(1,src))
+ for(var/mob/living/simple_animal/mouse/M in loc)
if(!M.stat)
M.splat()
- emote(pick("\red splats the [M]!","\red toys with the [M]","worries the [M]"))
+ visible_emote(pick("bites \the [M]!","toys with \the [M].","chomps on \the [M]!"))
movement_target = null
stop_automated_movement = 0
break
..()
- for(var/mob/living/simple_animal/mouse/snack in oview(src, 3))
- if(prob(15))
- emote(pick("hisses and spits!","mrowls fiercely!","eyes [snack] hungrily."))
+ for(var/mob/living/simple_animal/mouse/snack in oview(src,5))
+ if(snack.stat < DEAD && prob(15))
+ audible_emote(pick("hisses and spits!","mrowls fiercely!","eyes [snack] hungrily."))
break
if(!stat && !resting && !buckled)
- turns_since_scan++
- if(turns_since_scan > 5)
- walk_to(src,0)
- turns_since_scan = 0
- if((movement_target) && !(isturf(movement_target.loc) || ishuman(movement_target.loc) ))
- movement_target = null
- stop_automated_movement = 0
- if( !movement_target || !(movement_target.loc in oview(src, 3)) )
- movement_target = null
- stop_automated_movement = 0
- for(var/mob/living/simple_animal/mouse/snack in oview(src,3))
- if(isturf(snack.loc) && !snack.stat)
- movement_target = snack
- break
- if(movement_target)
- stop_automated_movement = 1
- walk_to(src,movement_target,0,3)
+ handle_movement_target()
+/mob/living/simple_animal/cat/proc/handle_movement_target()
+ turns_since_scan++
+ if(turns_since_scan > 5)
+ walk_to(src,0)
+ turns_since_scan = 0
+
+ if((movement_target) && !(isturf(movement_target.loc) || ishuman(movement_target.loc) ))
+ movement_target = null
+ stop_automated_movement = 0
+ if( !movement_target || !(movement_target.loc in oview(src, 4)) )
+ movement_target = null
+ stop_automated_movement = 0
+ for(var/mob/living/simple_animal/mouse/snack in oview(src))
+ if(isturf(snack.loc) && !snack.stat)
+ movement_target = snack
+ world << "[src]: mouse located."
+ break
+ if(movement_target)
+ world << "[src]: locking on [movement_target]"
+ stop_automated_movement = 1
+ walk_to(src,movement_target,0,3)
/mob/living/simple_animal/cat/MouseDrop(atom/over_object)
@@ -73,10 +78,16 @@
else
return ..()
+/mob/living/simple_animal/cat/get_scooped(var/mob/living/carbon/grabber)
+ if (stat >= DEAD)
+ return //since the holder icon looks like a living cat
+ ..()
+
//RUNTIME IS ALIVE! SQUEEEEEEEE~
/mob/living/simple_animal/cat/Runtime
name = "Runtime"
desc = "Her fur has the look and feel of velvet, and her tail quivers occasionally."
+ gender = FEMALE
icon_state = "cat"
icon_living = "cat"
icon_dead = "cat_dead"
diff --git a/code/modules/mob/living/simple_animal/friendly/corgi.dm b/code/modules/mob/living/simple_animal/friendly/corgi.dm
index a7b7cbc622..2b632c70f5 100644
--- a/code/modules/mob/living/simple_animal/friendly/corgi.dm
+++ b/code/modules/mob/living/simple_animal/friendly/corgi.dm
@@ -14,9 +14,9 @@
turns_per_move = 10
meat_type = /obj/item/weapon/reagent_containers/food/snacks/meat/corgi
meat_amount = 3
- response_help = "pets the"
- response_disarm = "bops the"
- response_harm = "kicks the"
+ response_help = "pets"
+ response_disarm = "bops"
+ response_harm = "kicks"
see_in_dark = 5
var/obj/item/inventory_head
var/obj/item/inventory_back
@@ -58,7 +58,7 @@
for (var/mob/M in viewers(src, null))
M.show_message("\red [user] gently taps [src] with the [O]. ")
if(prob(15))
- emote("looks at [user] with [pick("an amused","an annoyed","a confused","a resentful", "a happy", "an excited")] expression on \his face")
+ visible_emote("looks at [user] with [pick("an amused","an annoyed","a confused","a resentful", "a happy", "an excited")] expression on \his face")
return
..()
@@ -310,10 +310,10 @@
if(isturf(movement_target.loc) )
UnarmedAttack(movement_target)
else if(ishuman(movement_target.loc) && prob(20))
- custom_emote(1,"stares at the [movement_target] that [movement_target.loc] has with sad puppy eyes.")
+ visible_emote("stares at the [movement_target] that [movement_target.loc] has with sad puppy eyes.")
if(prob(1))
- emote(pick("dances around","chases its tail"))
+ visible_emote(pick("dances around","chases their tail"))
spawn(0)
for(var/i in list(1,2,4,8,4,2,1,2,4,8,4,2,1,2,4,8,4,2))
dir = i
@@ -350,7 +350,8 @@
if (!( AM.anchored ))
var/t = get_dir(src, AM)
if (istype(AM, /obj/structure/window))
- if(AM:ini_dir == NORTHWEST || AM:ini_dir == NORTHEAST || AM:ini_dir == SOUTHWEST || AM:ini_dir == SOUTHEAST)
+ var/obj/structure/window/W = AM
+ if(W.is_full_window())
for(var/obj/structure/window/win in get_step(AM,t))
now_pushing = 0
return
@@ -467,7 +468,7 @@
if(prob(1))
- emote(pick("dances around","chases her tail"))
+ visible_emote(pick("dances around","chases her tail"))
spawn(0)
for(var/i in list(1,2,4,8,4,2,1,2,4,8,4,2,1,2,4,8,4,2))
dir = i
diff --git a/code/modules/mob/living/simple_animal/friendly/crab.dm b/code/modules/mob/living/simple_animal/friendly/crab.dm
index 6eccd808c0..c85f5bc734 100644
--- a/code/modules/mob/living/simple_animal/friendly/crab.dm
+++ b/code/modules/mob/living/simple_animal/friendly/crab.dm
@@ -12,9 +12,9 @@
speak_chance = 1
turns_per_move = 5
meat_type = /obj/item/weapon/reagent_containers/food/snacks/meat
- response_help = "pets the"
- response_disarm = "gently pushes aside the"
- response_harm = "stomps the"
+ response_help = "pets"
+ response_disarm = "gently pushes aside"
+ response_harm = "stomps"
stop_automated_movement = 1
friendly = "pinches"
var/obj/item/inventory_head
diff --git a/code/modules/mob/living/simple_animal/friendly/farm_animals.dm b/code/modules/mob/living/simple_animal/friendly/farm_animals.dm
index ef9731bb0b..b40e6fb819 100644
--- a/code/modules/mob/living/simple_animal/friendly/farm_animals.dm
+++ b/code/modules/mob/living/simple_animal/friendly/farm_animals.dm
@@ -14,9 +14,9 @@
see_in_dark = 6
meat_type = /obj/item/weapon/reagent_containers/food/snacks/meat
meat_amount = 4
- response_help = "pets the"
- response_disarm = "gently pushes aside the"
- response_harm = "kicks the"
+ response_help = "pets"
+ response_disarm = "gently pushes aside"
+ response_harm = "kicks"
faction = "goat"
attacktext = "kicked"
health = 40
@@ -99,9 +99,9 @@
see_in_dark = 6
meat_type = /obj/item/weapon/reagent_containers/food/snacks/meat
meat_amount = 6
- response_help = "pets the"
- response_disarm = "gently pushes aside the"
- response_harm = "kicks the"
+ response_help = "pets"
+ response_disarm = "gently pushes aside"
+ response_harm = "kicks"
attacktext = "kicked"
health = 50
var/datum/reagents/udder = null
@@ -160,9 +160,9 @@
turns_per_move = 2
meat_type = /obj/item/weapon/reagent_containers/food/snacks/meat
meat_amount = 1
- response_help = "pets the"
- response_disarm = "gently pushes aside the"
- response_harm = "kicks the"
+ response_help = "pets"
+ response_disarm = "gently pushes aside"
+ response_harm = "kicks"
attacktext = "kicked"
health = 1
var/amount_grown = 0
@@ -201,9 +201,9 @@ var/global/chicken_count = 0
turns_per_move = 3
meat_type = /obj/item/weapon/reagent_containers/food/snacks/meat
meat_amount = 2
- response_help = "pets the"
- response_disarm = "gently pushes aside the"
- response_harm = "kicks the"
+ response_help = "pets"
+ response_disarm = "gently pushes aside"
+ response_harm = "kicks"
attacktext = "kicked"
health = 10
var/eggsleft = 0
diff --git a/code/modules/mob/living/simple_animal/friendly/mouse.dm b/code/modules/mob/living/simple_animal/friendly/mouse.dm
index f6200a3e7e..c6f3cfb87c 100644
--- a/code/modules/mob/living/simple_animal/friendly/mouse.dm
+++ b/code/modules/mob/living/simple_animal/friendly/mouse.dm
@@ -1,7 +1,7 @@
/mob/living/simple_animal/mouse
name = "mouse"
real_name = "mouse"
- desc = "It's a small, disease-ridden rodent."
+ desc = "It's a small rodent."
icon_state = "mouse_gray"
icon_living = "mouse_gray"
icon_dead = "mouse_gray_dead"
@@ -17,9 +17,9 @@
maxHealth = 5
health = 5
meat_type = /obj/item/weapon/reagent_containers/food/snacks/meat
- response_help = "pets the"
- response_disarm = "gently pushes aside the"
- response_harm = "stamps on the"
+ response_help = "pets"
+ response_disarm = "gently pushes aside"
+ response_harm = "stamps on"
density = 0
var/body_color //brown, gray and white, leave blank for random
layer = MOB_LAYER
@@ -47,7 +47,7 @@
icon_state = "mouse_[body_color]"
wander = 1
else if(prob(5))
- emote("snuffles")
+ audible_emote("snuffles.")
/mob/living/simple_animal/mouse/New()
..()
@@ -110,9 +110,6 @@
/mob/living/simple_animal/mouse/brown/Tom
name = "Tom"
desc = "Jerry the cat is not amused."
- response_help = "pets"
- response_disarm = "gently pushes aside"
- response_harm = "splats"
/mob/living/simple_animal/mouse/can_use_vents()
return
\ No newline at end of file
diff --git a/code/modules/mob/living/simple_animal/friendly/mushroom.dm b/code/modules/mob/living/simple_animal/friendly/mushroom.dm
index ef2eb6cd61..5b4121bedd 100644
--- a/code/modules/mob/living/simple_animal/friendly/mushroom.dm
+++ b/code/modules/mob/living/simple_animal/friendly/mushroom.dm
@@ -10,7 +10,7 @@
maxHealth = 5
health = 5
meat_type = /obj/item/weapon/reagent_containers/food/snacks/hugemushroomslice
- response_help = "pets the"
- response_disarm = "gently pushes aside the"
- response_harm = "whacks the"
+ response_help = "pets"
+ response_disarm = "gently pushes aside"
+ response_harm = "whacks"
harm_intent_damage = 5
\ No newline at end of file
diff --git a/code/modules/mob/living/simple_animal/friendly/slime.dm b/code/modules/mob/living/simple_animal/friendly/slime.dm
index 2a1f9f4347..9674517a4c 100644
--- a/code/modules/mob/living/simple_animal/friendly/slime.dm
+++ b/code/modules/mob/living/simple_animal/friendly/slime.dm
@@ -41,7 +41,8 @@
if (!( AM.anchored ))
var/t = get_dir(src, AM)
if (istype(AM, /obj/structure/window))
- if(AM:ini_dir == NORTHWEST || AM:ini_dir == NORTHEAST || AM:ini_dir == SOUTHWEST || AM:ini_dir == SOUTHEAST)
+ var/obj/structure/window/W = AM
+ if(W.is_full_window())
for(var/obj/structure/window/win in get_step(AM,t))
now_pushing = 0
return
diff --git a/code/modules/mob/living/simple_animal/friendly/tomato.dm b/code/modules/mob/living/simple_animal/friendly/tomato.dm
index 1248e702d2..57c0f4c939 100644
--- a/code/modules/mob/living/simple_animal/friendly/tomato.dm
+++ b/code/modules/mob/living/simple_animal/friendly/tomato.dm
@@ -9,7 +9,7 @@
maxHealth = 15
health = 15
meat_type = /obj/item/weapon/reagent_containers/food/snacks/tomatomeat
- response_help = "prods the"
- response_disarm = "pushes aside the"
- response_harm = "smacks the"
+ response_help = "prods"
+ response_disarm = "pushes aside"
+ response_harm = "smacks"
harm_intent_damage = 5
\ No newline at end of file
diff --git a/code/modules/mob/living/simple_animal/head.dm b/code/modules/mob/living/simple_animal/head.dm
index 9b12edb4ed..227d2bcf04 100644
--- a/code/modules/mob/living/simple_animal/head.dm
+++ b/code/modules/mob/living/simple_animal/head.dm
@@ -12,9 +12,9 @@
speak_chance = 1
turns_per_move = 5
meat_type = /obj/item/weapon/reagent_containers/food/snacks/meat
- response_help = "pets the"
- response_disarm = "gently pushes aside the"
- response_harm = "punches the"
+ response_help = "pets"
+ response_disarm = "gently pushes aside"
+ response_harm = "punches"
var/list/insults = list(
"Man you suck",
"You look like the most retarded douche around",
diff --git a/code/modules/mob/living/simple_animal/hostile/alien.dm b/code/modules/mob/living/simple_animal/hostile/alien.dm
index ab6874276a..447ad6b1c9 100644
--- a/code/modules/mob/living/simple_animal/hostile/alien.dm
+++ b/code/modules/mob/living/simple_animal/hostile/alien.dm
@@ -6,9 +6,9 @@
icon_living = "alienh_running"
icon_dead = "alien_l"
icon_gib = "syndicate_gib"
- response_help = "pokes the"
- response_disarm = "shoves the"
- response_harm = "hits the"
+ response_help = "pokes"
+ response_disarm = "shoves"
+ response_harm = "hits"
speed = -1
meat_type = /obj/item/weapon/reagent_containers/food/snacks/xenomeat
maxHealth = 100
diff --git a/code/modules/mob/living/simple_animal/hostile/bear.dm b/code/modules/mob/living/simple_animal/hostile/bear.dm
index 15786b6751..fa3e8c2385 100644
--- a/code/modules/mob/living/simple_animal/hostile/bear.dm
+++ b/code/modules/mob/living/simple_animal/hostile/bear.dm
@@ -14,9 +14,9 @@
turns_per_move = 5
see_in_dark = 6
meat_type = /obj/item/weapon/reagent_containers/food/snacks/bearmeat
- response_help = "pets the"
- response_disarm = "gently pushes aside the"
- response_harm = "pokes the"
+ response_help = "pets"
+ response_disarm = "gently pushes aside"
+ response_harm = "pokes"
stop_automated_movement_when_pulled = 0
maxHealth = 60
health = 60
@@ -90,7 +90,7 @@
if(HOSTILE_STANCE_ATTACKING)
if(stance_step >= 20) //attacks for 20 ticks, then it gets tired and needs to rest
- custom_emote(1, "is worn out and needs to rest" )
+ custom_emote(1, "is worn out and needs to rest." )
stance = HOSTILE_STANCE_TIRED
stance_step = 0
walk(src, 0) //This stops the bear's walking
diff --git a/code/modules/mob/living/simple_animal/hostile/faithless.dm b/code/modules/mob/living/simple_animal/hostile/faithless.dm
index d69ac01012..14b069a6a1 100644
--- a/code/modules/mob/living/simple_animal/hostile/faithless.dm
+++ b/code/modules/mob/living/simple_animal/hostile/faithless.dm
@@ -6,9 +6,9 @@
icon_dead = "faithless_dead"
speak_chance = 0
turns_per_move = 5
- response_help = "passes through the"
+ response_help = "passes through"
response_disarm = "shoves"
- response_harm = "hits the"
+ response_harm = "hits"
speed = -1
maxHealth = 80
health = 80
@@ -38,7 +38,7 @@
/mob/living/simple_animal/hostile/faithless/FindTarget()
. = ..()
if(.)
- emote("wails at [.]")
+ audible_emote("wails at [.]")
/mob/living/simple_animal/hostile/faithless/AttackingTarget()
. =..()
diff --git a/code/modules/mob/living/simple_animal/hostile/giant_spider.dm b/code/modules/mob/living/simple_animal/hostile/giant_spider.dm
index 3b82b64540..4d0792d789 100644
--- a/code/modules/mob/living/simple_animal/hostile/giant_spider.dm
+++ b/code/modules/mob/living/simple_animal/hostile/giant_spider.dm
@@ -17,9 +17,9 @@
turns_per_move = 5
see_in_dark = 10
meat_type = /obj/item/weapon/reagent_containers/food/snacks/bearmeat
- response_help = "pets the"
- response_disarm = "gently pushes aside the"
- response_harm = "pokes the"
+ response_help = "pets"
+ response_disarm = "gently pushes aside"
+ response_harm = "pokes"
stop_automated_movement_when_pulled = 0
maxHealth = 200
health = 200
diff --git a/code/modules/mob/living/simple_animal/hostile/mimic.dm b/code/modules/mob/living/simple_animal/hostile/mimic.dm
index 6e43df9378..9900249c34 100644
--- a/code/modules/mob/living/simple_animal/hostile/mimic.dm
+++ b/code/modules/mob/living/simple_animal/hostile/mimic.dm
@@ -10,9 +10,9 @@
icon_living = "crate"
meat_type = /obj/item/weapon/reagent_containers/food/snacks/carpmeat
- response_help = "touches the"
- response_disarm = "pushes the"
- response_harm = "hits the"
+ response_help = "touches"
+ response_disarm = "pushes"
+ response_harm = "hits"
speed = 4
maxHealth = 250
health = 250
@@ -39,7 +39,7 @@
/mob/living/simple_animal/hostile/mimic/FindTarget()
. = ..()
if(.)
- emote("growls at [.]")
+ audible_emote("growls at [.]")
/mob/living/simple_animal/hostile/mimic/death()
..()
diff --git a/code/modules/mob/living/simple_animal/hostile/pirate.dm b/code/modules/mob/living/simple_animal/hostile/pirate.dm
index 2ccf788893..e3a4ce4667 100644
--- a/code/modules/mob/living/simple_animal/hostile/pirate.dm
+++ b/code/modules/mob/living/simple_animal/hostile/pirate.dm
@@ -6,9 +6,9 @@
icon_dead = "piratemelee_dead"
speak_chance = 0
turns_per_move = 5
- response_help = "pushes the"
+ response_help = "pushes"
response_disarm = "shoves"
- response_harm = "hits the"
+ response_harm = "hits"
speed = 4
stop_automated_movement_when_pulled = 0
maxHealth = 100
diff --git a/code/modules/mob/living/simple_animal/hostile/retaliate/clown.dm b/code/modules/mob/living/simple_animal/hostile/retaliate/clown.dm
index 2bb2610f66..cdaf72f6bd 100644
--- a/code/modules/mob/living/simple_animal/hostile/retaliate/clown.dm
+++ b/code/modules/mob/living/simple_animal/hostile/retaliate/clown.dm
@@ -1,5 +1,5 @@
/mob/living/simple_animal/hostile/retaliate/clown
- name = "Clown"
+ name = "clown"
desc = "A denizen of clown planet"
icon_state = "clown"
icon_living = "clown"
@@ -7,9 +7,9 @@
icon_gib = "clown_gib"
speak_chance = 0
turns_per_move = 5
- response_help = "pokes the"
- response_disarm = "gently pushes aside the"
- response_harm = "hits the"
+ response_help = "pokes"
+ response_disarm = "gently pushes aside"
+ response_harm = "hits"
speak = list("HONK", "Honk!", "Welcome to clown planet!")
emote_see = list("honks")
speak_chance = 1
diff --git a/code/modules/mob/living/simple_animal/hostile/retaliate/drone.dm b/code/modules/mob/living/simple_animal/hostile/retaliate/drone.dm
index ddbd35d0e3..65f4e6f787 100644
--- a/code/modules/mob/living/simple_animal/hostile/retaliate/drone.dm
+++ b/code/modules/mob/living/simple_animal/hostile/retaliate/drone.dm
@@ -10,9 +10,9 @@
rapid = 1
speak_chance = 5
turns_per_move = 3
- response_help = "pokes the"
- response_disarm = "gently pushes aside the"
- response_harm = "hits the"
+ response_help = "pokes"
+ response_disarm = "gently pushes aside"
+ response_harm = "hits"
speak = list("ALERT.","Hostile-ile-ile entities dee-twhoooo-wected.","Threat parameterszzzz- szzet.","Bring sub-sub-sub-systems uuuup to combat alert alpha-a-a.")
emote_see = list("beeps menacingly","whirrs threateningly","scans its immediate vicinity")
a_intent = "harm"
diff --git a/code/modules/mob/living/simple_animal/hostile/russian.dm b/code/modules/mob/living/simple_animal/hostile/russian.dm
index 8c2a470dcd..b09a6ec548 100644
--- a/code/modules/mob/living/simple_animal/hostile/russian.dm
+++ b/code/modules/mob/living/simple_animal/hostile/russian.dm
@@ -1,5 +1,5 @@
/mob/living/simple_animal/hostile/russian
- name = "Russian"
+ name = "russian"
desc = "For the Motherland!"
icon_state = "russianmelee"
icon_living = "russianmelee"
@@ -7,9 +7,9 @@
icon_gib = "syndicate_gib"
speak_chance = 0
turns_per_move = 5
- response_help = "pokes the"
- response_disarm = "shoves the"
- response_harm = "hits the"
+ response_help = "pokes"
+ response_disarm = "shoves"
+ response_harm = "hits"
speed = 4
stop_automated_movement_when_pulled = 0
maxHealth = 100
diff --git a/code/modules/mob/living/simple_animal/hostile/syndicate.dm b/code/modules/mob/living/simple_animal/hostile/syndicate.dm
index 11a81284f2..6a38202135 100644
--- a/code/modules/mob/living/simple_animal/hostile/syndicate.dm
+++ b/code/modules/mob/living/simple_animal/hostile/syndicate.dm
@@ -1,5 +1,5 @@
/mob/living/simple_animal/hostile/syndicate
- name = "Syndicate Operative"
+ name = "\improper Syndicate operative"
desc = "Death to Nanotrasen."
icon_state = "syndicate"
icon_living = "syndicate"
@@ -7,9 +7,9 @@
icon_gib = "syndicate_gib"
speak_chance = 0
turns_per_move = 5
- response_help = "pokes the"
- response_disarm = "shoves the"
- response_harm = "hits the"
+ response_help = "pokes"
+ response_disarm = "shoves"
+ response_harm = "hits"
speed = 4
stop_automated_movement_when_pulled = 0
maxHealth = 100
diff --git a/code/modules/mob/living/simple_animal/hostile/tree.dm b/code/modules/mob/living/simple_animal/hostile/tree.dm
index b263cd2112..a908af9868 100644
--- a/code/modules/mob/living/simple_animal/hostile/tree.dm
+++ b/code/modules/mob/living/simple_animal/hostile/tree.dm
@@ -9,9 +9,9 @@
speak_chance = 0
turns_per_move = 5
meat_type = /obj/item/weapon/reagent_containers/food/snacks/carpmeat
- response_help = "brushes the"
- response_disarm = "pushes the"
- response_harm = "hits the"
+ response_help = "brushes"
+ response_disarm = "pushes"
+ response_harm = "hits"
speed = -1
maxHealth = 250
health = 250
@@ -40,7 +40,7 @@
/mob/living/simple_animal/hostile/tree/FindTarget()
. = ..()
if(.)
- emote("growls at [.]")
+ audible_emote("growls at [.]")
/mob/living/simple_animal/hostile/tree/AttackingTarget()
. =..()
diff --git a/code/modules/mob/living/simple_animal/kobold.dm b/code/modules/mob/living/simple_animal/kobold.dm
index 3d9515c88b..3e52a40874 100644
--- a/code/modules/mob/living/simple_animal/kobold.dm
+++ b/code/modules/mob/living/simple_animal/kobold.dm
@@ -14,9 +14,9 @@
turns_per_move = 5
see_in_dark = 6
meat_type = /obj/item/weapon/reagent_containers/food/snacks/meat/monkey
- response_help = "pets the"
- response_disarm = "gently pushes aside the"
- response_harm = "kicks the"
+ response_help = "pets"
+ response_disarm = "gently pushes aside"
+ response_harm = "kicks"
minbodytemp = 250
min_oxy = 16 //Require atleast 16kPA oxygen
minbodytemp = 223 //Below -50 Degrees Celcius
diff --git a/code/modules/mob/living/simple_animal/parrot.dm b/code/modules/mob/living/simple_animal/parrot.dm
index 21833161ad..7790f9ecd8 100644
--- a/code/modules/mob/living/simple_animal/parrot.dm
+++ b/code/modules/mob/living/simple_animal/parrot.dm
@@ -44,9 +44,9 @@
turns_per_move = 5
meat_type = /obj/item/weapon/reagent_containers/food/snacks/cracker/
- response_help = "pets the"
- response_disarm = "gently moves aside the"
- response_harm = "swats the"
+ response_help = "pets"
+ response_disarm = "gently moves aside"
+ response_harm = "swats"
stop_automated_movement = 1
universal_speak = 1
@@ -342,7 +342,7 @@
//Search for item to steal
parrot_interest = search_for_item()
if(parrot_interest)
- emote("looks in [parrot_interest]'s direction and takes flight")
+ visible_emote("looks in [parrot_interest]'s direction and takes flight")
parrot_state = PARROT_SWOOP | PARROT_STEAL
icon_state = "parrot_fly"
return
@@ -364,7 +364,7 @@
if(AM)
if(istype(AM, /obj/item) || isliving(AM)) //If stealable item
parrot_interest = AM
- emote("turns and flies towards [parrot_interest]")
+ visible_emote("turns and flies towards [parrot_interest]")
parrot_state = PARROT_SWOOP | PARROT_STEAL
return
else //Else it's a perch
@@ -478,11 +478,11 @@
var/datum/organ/external/affecting = H.get_organ(ran_zone(pick(parrot_dam_zone)))
H.apply_damage(damage, BRUTE, affecting, H.run_armor_check(affecting, "melee"), sharp=1)
- emote(pick("pecks [H]'s [affecting]", "cuts [H]'s [affecting] with its talons"))
+ visible_emote(pick("pecks [H]'s [affecting].", "cuts [H]'s [affecting] with its talons."))
else
L.adjustBruteLoss(damage)
- emote(pick("pecks at [L]", "claws [L]"))
+ visible_emote(pick("pecks at [L].", "claws [L]."))
return
//Otherwise, fly towards the mob!
diff --git a/code/modules/mob/living/simple_animal/shade.dm b/code/modules/mob/living/simple_animal/shade.dm
index ed5f35d55b..c200ef6f70 100644
--- a/code/modules/mob/living/simple_animal/shade.dm
+++ b/code/modules/mob/living/simple_animal/shade.dm
@@ -13,7 +13,7 @@
emote_hear = list("wails","screeches")
response_help = "puts their hand through"
response_disarm = "flails at"
- response_harm = "punches the"
+ response_harm = "punches"
melee_damage_lower = 5
melee_damage_upper = 15
attacktext = "drained the life from"
diff --git a/code/modules/mob/living/simple_animal/simple_animal.dm b/code/modules/mob/living/simple_animal/simple_animal.dm
index 078159c12d..8695741ed8 100644
--- a/code/modules/mob/living/simple_animal/simple_animal.dm
+++ b/code/modules/mob/living/simple_animal/simple_animal.dm
@@ -114,23 +114,23 @@
else
randomValue -= speak.len
if(emote_see && randomValue <= emote_see.len)
- emote(pick(emote_see),1)
+ visible_emote("[pick(emote_see)].")
else
- emote(pick(emote_hear),2)
+ audible_emote("[pick(emote_hear)].")
else
say(pick(speak))
else
if(!(emote_hear && emote_hear.len) && (emote_see && emote_see.len))
- emote(pick(emote_see),1)
+ visible_emote("[pick(emote_see)].")
if((emote_hear && emote_hear.len) && !(emote_see && emote_see.len))
- emote(pick(emote_hear),2)
+ audible_emote("[pick(emote_hear)].")
if((emote_hear && emote_hear.len) && (emote_see && emote_see.len))
var/length = emote_hear.len + emote_see.len
var/pick = rand(1,length)
if(pick <= emote_see.len)
- emote(pick(emote_see),1)
+ visible_emote("[pick(emote_see)].")
else
- emote(pick(emote_hear),2)
+ audible_emote("[pick(emote_hear)].")
//Atmos
@@ -207,9 +207,14 @@
/mob/living/simple_animal/emote(var/act, var/type, var/desc)
if(act)
- if(act == "scream") act = "whimper" //ugly hack to stop animals screaming when crushed :P
..(act, type, desc)
+/mob/living/simple_animal/proc/visible_emote(var/act_desc)
+ custom_emote(1, act_desc)
+
+/mob/living/simple_animal/proc/audible_emote(var/act_desc)
+ custom_emote(2, act_desc)
+
/mob/living/simple_animal/bullet_act(var/obj/item/projectile/Proj)
if(!Proj || Proj.nodamage)
return
@@ -224,9 +229,11 @@
if("help")
if (health > 0)
- for(var/mob/O in viewers(src, null))
- if ((O.client && !( O.blinded )))
- O.show_message("\blue [M] [response_help] [src]")
+ M.visible_message("\blue [M] [response_help] \the [src]")
+
+ if("disarm")
+ M.visible_message("\blue [M] [response_disarm] \the [src]")
+ //TODO: Push the mob away or something
if("grab")
if (M == src)
@@ -242,15 +249,11 @@
G.affecting = src
LAssailant = M
- for(var/mob/O in viewers(src, null))
- if ((O.client && !( O.blinded )))
- O.show_message(text("\red [] has grabbed [] passively!", M, src), 1)
+ M.visible_message("\red [M] has grabbed [src] passively!")
- if("hurt", "disarm")
+ if("hurt")
adjustBruteLoss(harm_intent_damage)
- for(var/mob/O in viewers(src, null))
- if ((O.client && !( O.blinded )))
- O.show_message("\red [M] [response_harm] [src]")
+ M.visible_message("\red [M] [response_harm] \the [src]")
return
diff --git a/code/modules/mob/mob_defines.dm b/code/modules/mob/mob_defines.dm
index d037b6fd31..d1edb9cdcf 100644
--- a/code/modules/mob/mob_defines.dm
+++ b/code/modules/mob/mob_defines.dm
@@ -213,7 +213,7 @@
var/universal_speak = 0 // Set to 1 to enable the mob to speak to everyone -- TLE
var/universal_understand = 0 // Set to 1 to enable the mob to understand everyone, not necessarily speak
- var/can_stand = 2 //Whether this mob have ability to stand
+ var/stance_damage = 0 //Whether this mob's ability to stand has been affected
var/immune_to_ssd = 0
diff --git a/code/modules/mob/new_player/new_player.dm b/code/modules/mob/new_player/new_player.dm
index fa147113b4..0d8fdd7659 100644
--- a/code/modules/mob/new_player/new_player.dm
+++ b/code/modules/mob/new_player/new_player.dm
@@ -302,8 +302,8 @@
job_master.AssignRole(src, rank, 1)
- var/mob/living/carbon/human/character = create_character() //creates the human and transfers vars and mind
- job_master.EquipRank(character, rank, 1) //equips the human
+ var/mob/living/character = create_character() //creates the human and transfers vars and mind
+ character = job_master.EquipRank(character, rank, 1) //equips the human
UpdateFactionList(character)
EquipCustomItems(character)
@@ -315,8 +315,13 @@
S = spawntypes[spawning_at]
if(S && istype(S))
- character.loc = pick(S.turfs)
- join_message = S.msg
+ if(S.check_job_spawning(rank))
+ character.loc = pick(S.turfs)
+ join_message = S.msg
+ else
+ character << "Your chosen spawnpoint ([S.display_name]) is unavailable for your chosen job. Spawning you at the Arrivals shuttle instead."
+ character.loc = pick(latejoin)
+ join_message = "has arrived on the station"
else
character.loc = pick(latejoin)
join_message = "has arrived on the station"
@@ -338,9 +343,9 @@
//Grab some data from the character prefs for use in random news procs.
AnnounceArrival(character, rank, join_message)
-
else
- character.Robotize()
+ AnnounceCyborg(character, rank, join_message)
+
del(src)
proc/AnnounceArrival(var/mob/living/carbon/human/character, var/rank, var/join_message)
@@ -351,6 +356,15 @@
a.autosay("[character.real_name],[rank ? " [rank]," : " visitor," ] [join_message ? join_message : "has arrived on the station"].", "Arrivals Announcement Computer")
del(a)
+ proc/AnnounceCyborg(var/mob/living/character, var/rank, var/join_message)
+ if (ticker.current_state == GAME_STATE_PLAYING)
+ var/obj/item/device/radio/intercom/a = new /obj/item/device/radio/intercom(null)// BS12 EDIT Arrivals Announcement Computer, rather than the AI.
+ if(character.mind.role_alt_title)
+ rank = character.mind.role_alt_title
+ // can't use their name here, since cyborg namepicking is done post-spawn, so we'll just say "A new Cyborg has arrived"/"A new Android has arrived"/etc.
+ a.autosay("A new[rank ? " [rank]" : " visitor" ] [join_message ? join_message : "has arrived on the station"].", "Arrivals Announcement Computer")
+ del(a)
+
proc/LateChoices()
var/mills = world.time // 1/10 of a second, not real milliseconds but whatever
//var/secs = ((mills % 36000) % 600) / 10 //Not really needed, but I'll leave it here for refrence.. or something
diff --git a/code/modules/organs/organ.dm b/code/modules/organs/organ.dm
index 72af3d913a..9acf108130 100644
--- a/code/modules/organs/organ.dm
+++ b/code/modules/organs/organ.dm
@@ -104,16 +104,20 @@
W.germ_level += 1
/mob/living/carbon/human/proc/handle_stance()
- can_stand = 2
+ if (lying || resting)
+ return // don't need to process any of this if they aren't standing anyways
+
+ stance_damage = 0
for (var/organ in list("l_leg","l_foot","r_leg","r_foot"))
var/datum/organ/external/E = organs_by_name[organ]
- if ((E.status & ORGAN_DESTROYED) || E.is_malfunctioning() || (E.is_broken() && !(E.status & ORGAN_SPLINTED)) || !E.is_usable())
- can_stand-- // let it fail even if just foot&leg
+ if (E.status & ORGAN_DESTROYED)
+ stance_damage += 2 // let it fail even if just foot&leg
+ else if (E.is_malfunctioning() || (E.is_broken() && !(E.status & ORGAN_SPLINTED)) || !E.is_usable())
+ stance_damage += 1
// standing is poor
- if(can_stand <= 0)
- Weaken(10)
- if (!(lying || resting))
- if(species && !(species.flags & NO_PAIN))
- emote("scream")
- emote("collapse")
\ No newline at end of file
+ if(stance_damage >= 4 || (stance_damage >= 2 && prob(5)))
+ Weaken(5)
+ if(species && !(species.flags & NO_PAIN))
+ emote("scream")
+ emote("collapse")
\ No newline at end of file
diff --git a/code/modules/organs/organ_external.dm b/code/modules/organs/organ_external.dm
index 6bbf2553c9..c0c2397518 100644
--- a/code/modules/organs/organ_external.dm
+++ b/code/modules/organs/organ_external.dm
@@ -98,7 +98,8 @@
brute -= brute / 2
if(status & ORGAN_BROKEN && prob(40) && brute)
- owner.emote("scream") //getting hit on broken hand hurts
+ if (!(owner.species && (owner.species.flags & NO_PAIN)))
+ owner.emote("scream") //getting hit on broken hand hurts
if(used_weapon)
add_autopsy_data("[used_weapon]", brute + burn)
@@ -648,7 +649,7 @@ Note that amputating the affected organ does in fact remove the infection from t
if(status & ORGAN_ROBOT && !no_explode && sabotaged)
owner.visible_message("\red \The [owner]'s [display_name] explodes violently!",\
"\red Your [display_name] explodes!",\
- "You hear an explosion followed by a scream!")
+ "You hear an explosion!")
explosion(get_turf(owner),-1,-1,2,3)
var/datum/effect/effect/system/spark_spread/spark_system = new /datum/effect/effect/system/spark_spread()
spark_system.set_up(5, 0, owner)
diff --git a/code/modules/power/solar.dm b/code/modules/power/solar.dm
index 46e8f30954..04009c4744 100644
--- a/code/modules/power/solar.dm
+++ b/code/modules/power/solar.dm
@@ -50,7 +50,7 @@ var/list/solars_list = list()
S.glass_type = /obj/item/stack/sheet/glass
S.anchored = 1
S.loc = src
- if(S.glass_type == /obj/item/stack/sheet/rglass) //if the panel is in reinforced glass
+ if(S.glass_type == /obj/item/stack/sheet/glass/reinforced) //if the panel is in reinforced glass
health *= 2 //this need to be placed here, because panels already on the map don't have an assembly linked to
update_icon()
@@ -248,7 +248,7 @@ var/list/solars_list = list()
playsound(src.loc, 'sound/items/Ratchet.ogg', 75, 1)
return 1
- if(istype(W, /obj/item/stack/sheet/glass) || istype(W, /obj/item/stack/sheet/rglass))
+ if(istype(W, /obj/item/stack/sheet/glass))
var/obj/item/stack/sheet/S = W
if(S.use(2))
glass_type = W.type
@@ -557,4 +557,4 @@ var/list/solars_list = list()
var/href = "-[href]=-[Min]'>- [(C?C : 0)] [href]=[Min]'>+[href]=[Max]'>+"
if(Limit) return "[href]=-[Limit]'>-"+rate+"[href]=[Limit]'>+"
- return rate
\ No newline at end of file
+ return rate
diff --git a/code/modules/reagents/Chemistry-Reagents.dm b/code/modules/reagents/Chemistry-Reagents.dm
index 73ba95e802..ef4c8ab451 100644
--- a/code/modules/reagents/Chemistry-Reagents.dm
+++ b/code/modules/reagents/Chemistry-Reagents.dm
@@ -1999,7 +1999,8 @@ datum
if(affecting.take_damage(4*toxpwr, 2*toxpwr))
H.UpdateDamageIcon()
if(prob(meltprob)) //Applies disfigurement
- H.emote("scream")
+ if (!(H.species && (H.species.flags & NO_PAIN)))
+ H.emote("scream")
H.status_flags |= DISFIGURED
else
M.take_organ_damage(min(6*toxpwr, volume * toxpwr)) // uses min() and volume to make sure they aren't being sprayed in trace amounts (1 unit != insta rape) -- Doohl
@@ -2161,7 +2162,7 @@ datum
if ( eyes_covered && mouth_covered )
victim << "\red Your [safe_thing] protects you from the pepperspray!"
return
- else if ( mouth_covered ) // Reduced effects if partially protected
+ else if ( eyes_covered ) // Reduced effects if partially protected
victim << "\red Your [safe_thing] protect you from most of the pepperspray!"
victim.eye_blurry = max(M.eye_blurry, 15)
victim.eye_blind = max(M.eye_blind, 5)
@@ -2170,13 +2171,15 @@ datum
//victim.Paralyse(10)
//victim.drop_item()
return
- else if ( eyes_covered ) // Eye cover is better than mouth cover
- victim << "\red Your [safe_thing] protects your eyes from the pepperspray!"
- victim.emote("scream")
+ else if ( mouth_covered ) // Mouth cover is better than eye cover
+ victim << "\red Your [safe_thing] protects your face from the pepperspray!"
+ if (!(victim.species && (victim.species.flags & NO_PAIN)))
+ victim.emote("scream")
victim.eye_blurry = max(M.eye_blurry, 5)
return
else // Oh dear :D
- victim.emote("scream")
+ if (!(victim.species && (victim.species.flags & NO_PAIN)))
+ victim.emote("scream")
victim << "\red You're sprayed directly in the eyes with pepperspray!"
victim.eye_blurry = max(M.eye_blurry, 25)
victim.eye_blind = max(M.eye_blind, 10)
diff --git a/code/modules/reagents/reagent_containers/food/snacks.dm b/code/modules/reagents/reagent_containers/food/snacks.dm
index 3735aed0cf..20724db1e0 100644
--- a/code/modules/reagents/reagent_containers/food/snacks.dm
+++ b/code/modules/reagents/reagent_containers/food/snacks.dm
@@ -194,8 +194,8 @@
del(src)
return
-/obj/item/weapon/reagent_containers/food/snacks/proc/is_sliceable()
- return (slices_num <= 0 || !slices_num || !slice_path)
+/obj/item/weapon/reagent_containers/food/snacks/proc/is_sliceable()
+ return (slices_num && slice_path && slices_num > 0)
/obj/item/weapon/reagent_containers/food/snacks/Del()
if(contents)
diff --git a/code/modules/reagents/reagent_containers/glass.dm b/code/modules/reagents/reagent_containers/glass.dm
index b969051ef8..925c43e17d 100644
--- a/code/modules/reagents/reagent_containers/glass.dm
+++ b/code/modules/reagents/reagent_containers/glass.dm
@@ -153,12 +153,16 @@
/obj/item/weapon/reagent_containers/glass/beaker
name = "beaker"
- desc = "A beaker. Can hold up to 50 units."
+ desc = "A beaker."
icon = 'icons/obj/chemical.dmi'
icon_state = "beaker"
item_state = "beaker"
matter = list("glass" = 500)
+ New()
+ ..()
+ desc += " Can hold up to [volume] units."
+
on_reagent_change()
update_icon()
@@ -199,7 +203,7 @@
/obj/item/weapon/reagent_containers/glass/beaker/large
name = "large beaker"
- desc = "A large beaker. Can hold up to 100 units."
+ desc = "A large beaker."
icon_state = "beakerlarge"
matter = list("glass" = 5000)
volume = 120
@@ -209,7 +213,7 @@
/obj/item/weapon/reagent_containers/glass/beaker/noreact
name = "cryostasis beaker"
- desc = "A cryostasis beaker that allows for chemical storage without reactions. Can hold up to 60 units."
+ desc = "A cryostasis beaker that allows for chemical storage without reactions."
icon_state = "beakernoreact"
matter = list("glass" = 500)
volume = 60
@@ -218,7 +222,7 @@
/obj/item/weapon/reagent_containers/glass/beaker/bluespace
name = "bluespace beaker"
- desc = "A bluespace beaker, powered by experimental bluespace technology. Can hold up to 300 units."
+ desc = "A bluespace beaker, powered by experimental bluespace technology."
icon_state = "beakerbluespace"
matter = list("glass" = 5000)
volume = 300
@@ -229,7 +233,7 @@
/obj/item/weapon/reagent_containers/glass/beaker/vial
name = "vial"
- desc = "A small glass vial. Can hold up to 25 units."
+ desc = "A small glass vial."
icon_state = "vial"
matter = list("glass" = 250)
volume = 30
diff --git a/code/modules/research/xenoarchaeology/finds/finds.dm b/code/modules/research/xenoarchaeology/finds/finds.dm
index 343e54a3bf..4861a53ffc 100644
--- a/code/modules/research/xenoarchaeology/finds/finds.dm
+++ b/code/modules/research/xenoarchaeology/finds/finds.dm
@@ -235,7 +235,7 @@
possible_spawns += /obj/item/stack/sheet/metal
possible_spawns += /obj/item/stack/sheet/plasteel
possible_spawns += /obj/item/stack/sheet/glass
- possible_spawns += /obj/item/stack/sheet/rglass
+ possible_spawns += /obj/item/stack/sheet/glass/reinforced
possible_spawns += /obj/item/stack/sheet/mineral/phoron
possible_spawns += /obj/item/stack/sheet/mineral/gold
possible_spawns += /obj/item/stack/sheet/mineral/silver
diff --git a/code/setup.dm b/code/setup.dm
index e3192e47ad..e078a77972 100644
--- a/code/setup.dm
+++ b/code/setup.dm
@@ -630,10 +630,9 @@ var/list/liftable_structures = list(\
#define R_SPAWN 4096
#define R_MOD 8192
#define R_MENTOR 16384
+#define R_HOST 32768
-#define R_MAXPERMISSION 16384 //This holds the maximum value for a permission. It is used in iteration, so keep it updated.
-
-#define R_HOST 65535
+#define R_MAXPERMISSION 32768 //This holds the maximum value for a permission. It is used in iteration, so keep it updated.
//Preference toggles
#define SOUND_ADMINHELP 1
diff --git a/code/stylesheet.dm b/code/stylesheet.dm
index 67e13f8e32..2e7427c343 100644
--- a/code/stylesheet.dm
+++ b/code/stylesheet.dm
@@ -20,6 +20,7 @@ em {font-style: normal; font-weight: bold;}
.adminobserver {color: #996600; font-weight: bold;}
.admin {color: #386aff; font-weight: bold;}
.adminsay {color: #9611D4; font-weight: bold;}
+.headminsay {color: #5A0A7F; font-weight: bold;}
.name { font-weight: bold;}
diff --git a/code/unused/hivebot/hive_modules.dm b/code/unused/hivebot/hive_modules.dm
index c0ae3196ca..09a0207ec6 100644
--- a/code/unused/hivebot/hive_modules.dm
+++ b/code/unused/hivebot/hive_modules.dm
@@ -48,7 +48,7 @@
M.amount = 50
src.modules += M
- var/obj/item/stack/sheet/rglass/G = new /obj/item/stack/sheet/rglass(src)
+ var/obj/item/stack/sheet/glass/reinforced/G = new (src)
G.amount = 50
src.modules += G
diff --git a/code/unused/mining/machine_craftlathe_unused.dm b/code/unused/mining/machine_craftlathe_unused.dm
index 0607c14632..564e3a1f71 100644
--- a/code/unused/mining/machine_craftlathe_unused.dm
+++ b/code/unused/mining/machine_craftlathe_unused.dm
@@ -170,7 +170,7 @@ proc/check_craftlathe_recipe(var/list/param_recipe)
CRAFT_ITEMS += new/datum/craftlathe_item("METAL","Metal",1,1,list("","","","","","","","",""),/obj/item/stack/sheet/metal)
CRAFT_ITEMS += new/datum/craftlathe_item("R METAL","Reinforced Metal",1,1,list("","","","","","","","",""),/obj/item/stack/sheet/r_metal)
CRAFT_ITEMS += new/datum/craftlathe_item("GLASS","Glass",1,1,list("","","","","","","","",""),/obj/item/stack/sheet/glass)
- CRAFT_ITEMS += new/datum/craftlathe_item("R GLASS","Reinforced Glass",1,1,list("","","","","","","","",""),/obj/item/stack/sheet/rglass)
+ CRAFT_ITEMS += new/datum/craftlathe_item("R GLASS","Reinforced Glass",1,1,list("","","","","","","","",""),/obj/item/stack/sheet/glass/reinforced)
CRAFT_ITEMS += new/datum/craftlathe_item("GOLD","Gold",1,1,list("","","","","","","","",""),/obj/item/stack/sheet/mineral/gold)
CRAFT_ITEMS += new/datum/craftlathe_item("SILVER","Silver",1,1,list("","","","","","","","",""),/obj/item/stack/sheet/mineral/silver)
CRAFT_ITEMS += new/datum/craftlathe_item("DIAMOND","Diamond",1,1,list("","","","","","","","",""),/obj/item/stack/sheet/mineral/diamond)
@@ -230,4 +230,4 @@ proc/check_craftlathe_recipe(var/list/param_recipe)
- return
\ No newline at end of file
+ return
diff --git a/icons/mob/animal.dmi b/icons/mob/animal.dmi
index 20cb0a702c..3ebd2534d8 100644
Binary files a/icons/mob/animal.dmi and b/icons/mob/animal.dmi differ
diff --git a/icons/mob/custom-synthetic.dmi b/icons/mob/custom-synthetic.dmi
index f45b26ae19..e5d32f2009 100644
Binary files a/icons/mob/custom-synthetic.dmi and b/icons/mob/custom-synthetic.dmi differ
diff --git a/icons/mob/head.dmi b/icons/mob/head.dmi
index b2597cb292..a1cb6613cb 100644
Binary files a/icons/mob/head.dmi and b/icons/mob/head.dmi differ
diff --git a/icons/mob/items_lefthand.dmi b/icons/mob/items_lefthand.dmi
index ddea2d9156..ce4472f3f8 100644
Binary files a/icons/mob/items_lefthand.dmi and b/icons/mob/items_lefthand.dmi differ
diff --git a/icons/mob/items_righthand.dmi b/icons/mob/items_righthand.dmi
index 2990e374cc..2dc3c52abb 100644
Binary files a/icons/mob/items_righthand.dmi and b/icons/mob/items_righthand.dmi differ
diff --git a/icons/obj/objects.dmi b/icons/obj/objects.dmi
index e50759742c..a30feb163e 100644
Binary files a/icons/obj/objects.dmi and b/icons/obj/objects.dmi differ
diff --git a/icons/obj/robot_storage.dmi b/icons/obj/robot_storage.dmi
new file mode 100644
index 0000000000..5a996c01e7
Binary files /dev/null and b/icons/obj/robot_storage.dmi differ
diff --git a/maps/tgstation2.dmm b/maps/tgstation2.dmm
index 90e3171487..91f8b8b794 100644
--- a/maps/tgstation2.dmm
+++ b/maps/tgstation2.dmm
@@ -822,7 +822,7 @@
"apP" = (/obj/machinery/light,/obj/machinery/atmospherics/unary/vent_pump/on{dir = 1},/turf/simulated/floor,/area/security/main)
"apQ" = (/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor,/area/security/main)
"apR" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 1},/turf/simulated/floor/plating,/area/maintenance/dormitory)
-"apS" = (/obj/machinery/atmospherics/pipe/simple/visible{tag = "icon-intact (SOUTHWEST)"; icon_state = "intact"; dir = 10},/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/plating{icon_state = "warnplate"; dir = 1},/area/maintenance/dormitory)
+"apS" = (/obj/machinery/atmospherics/pipe/simple/visible{tag = "icon-intact (SOUTHWEST)"; icon_state = "intact"; dir = 10},/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/plating,/area/maintenance/dormitory)
"apT" = (/obj/structure/table,/obj/item/ashtray/plastic,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor{icon_state = "floorgrime"},/area/security/prison)
"apU" = (/obj/machinery/door/window/eastright{dir = 1; name = "Security Delivery"; req_access_txt = "1"},/obj/structure/window/reinforced{dir = 8},/turf/simulated/floor{icon_state = "delivery"},/area/security/main)
"apV" = (/obj/structure/table,/obj/machinery/vending/wallmed1{pixel_y = -32; req_access_txt = "0"},/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor,/area/security/prison)
@@ -912,7 +912,7 @@
"arB" = (/turf/simulated/shuttle/wall{icon_state = "swall_s9"; dir = 2},/area/shuttle/escape_pod3/station)
"arC" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 8},/turf/simulated/floor/plating,/area/maintenance/security_port)
"arD" = (/obj/machinery/light,/obj/machinery/flasher/portable,/turf/simulated/floor{icon_state = "vault"; dir = 8},/area/security/warden)
-"arE" = (/obj/machinery/atmospherics/pipe/manifold/visible{dir = 4},/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/plating{dir = 2; icon_state = "warnplate"},/area/maintenance/dormitory)
+"arE" = (/obj/machinery/atmospherics/pipe/manifold/visible{dir = 4},/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/plating,/area/maintenance/dormitory)
"arF" = (/obj/machinery/camera{c_tag = "Bar East"; network = list("SS13")},/obj/structure/flora/pottedplant{tag = "icon-plant-22"; icon_state = "plant-22"},/turf/simulated/floor/wood,/area/crew_quarters/bar)
"arG" = (/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/green{d2 = 2; icon_state = "0-2"},/turf/simulated/floor/plating,/area/security/main)
"arH" = (/turf/simulated/shuttle/wall{icon_state = "swall_s10"; dir = 2},/area/shuttle/escape_pod3/station)
@@ -1142,7 +1142,7 @@
"avX" = (/obj/machinery/newscaster{pixel_y = 32},/turf/simulated/floor/wood,/area/crew_quarters/bar)
"avY" = (/turf/simulated/floor/beach/water{tag = "icon-seadeep"; icon_state = "seadeep"},/area/crew_quarters/fitness)
"avZ" = (/obj/machinery/power/apc{dir = 1; name = "north bump"; pixel_x = 0; pixel_y = 24},/obj/machinery/camera{c_tag = "Dormitory Bedroom 1"},/obj/structure/cable/green{d2 = 2; icon_state = "0-2"},/turf/simulated/floor/carpet{tag = "icon-carpet2-0"; icon_state = "carpet2-0"},/area/crew_quarters/sleep/bedrooms/one)
-"awa" = (/obj/machinery/atmospherics/portables_connector{dir = 8},/obj/machinery/portable_atmospherics/canister/air/airlock,/turf/simulated/floor/plating,/area/maintenance/evahallway)
+"awa" = (/obj/structure/stool/bed,/obj/item/weapon/bedsheet/mime,/obj/machinery/light/small{dir = 4},/obj/machinery/alarm{dir = 8; icon_state = "alarm0"; pixel_x = 24},/turf/simulated/floor/wood,/area/crew_quarters/sleep/bedrooms/one)
"awb" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 1},/turf/simulated/floor/plating,/area/crew_quarters/fitness)
"awc" = (/obj/machinery/computer/HolodeckControl,/turf/simulated/floor,/area/crew_quarters/fitness)
"awd" = (/obj/structure/stool/bed/chair{dir = 8},/turf/simulated/floor,/area/crew_quarters/fitness)
@@ -1237,7 +1237,7 @@
"axO" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced,/obj/machinery/door/firedoor/border_only{dir = 2},/turf/simulated/floor/plating,/area/crew_quarters/fitness)
"axP" = (/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)
"axQ" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced,/obj/machinery/door/firedoor/border_only{dir = 2},/turf/simulated/floor/plating,/area/hallway/primary/port)
-"axR" = (/obj/machinery/light/small{dir = 8},/obj/structure/stool/bed,/obj/item/weapon/bedsheet/mime,/obj/machinery/atmospherics/unary/vent_pump/on,/turf/simulated/floor/wood,/area/crew_quarters/sleep/bedrooms/one)
+"axR" = (/obj/structure/sign/securearea{desc = "A warning sign which reads 'EXTERNAL AIRLOCK'"; icon_state = "space"; layer = 4; name = "EXTERNAL AIRLOCK"; pixel_x = 0; pixel_y = 32},/obj/machinery/atmospherics/portables_connector{dir = 1},/obj/machinery/portable_atmospherics/canister/air/airlock,/turf/simulated/floor/plating{dir = 4; icon_state = "warnplatecorner"},/area/maintenance/arrivals)
"axS" = (/obj/structure/cable/yellow{d2 = 2; icon_state = "0-2"},/turf/simulated/floor/airless/catwalk{icon_state = "catwalk3"},/area/solar/auxport)
"axT" = (/obj/machinery/airlock_sensor{frequency = 1379; id_tag = "eva_sensor"; pixel_x = 0; pixel_y = 25},/obj/machinery/atmospherics/unary/vent_pump/high_volume{dir = 4; frequency = 1379; id_tag = "eva_pump"},/turf/simulated/floor/plating{icon_state = "warnplate"; dir = 9},/area/maintenance/evahallway)
"axU" = (/obj/machinery/embedded_controller/radio/airlock/airlock_controller{frequency = 1379; id_tag = "eva_airlock"; name = "EVA Airlock Console"; pixel_y = 25; req_access_txt = "0"; req_one_access_txt = "1;5;11;18;24"; tag_airpump = "eva_pump"; tag_chamber_sensor = "eva_sensor"; tag_exterior_door = "eva_outer"; tag_interior_door = "eva_inner"},/obj/machinery/atmospherics/pipe/manifold/hidden{dir = 4; icon_state = "map"; tag = "icon-manifold-f (EAST)"},/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/plating{icon_state = "warnplate"; dir = 5},/area/maintenance/evahallway)
@@ -1277,7 +1277,7 @@
"ayC" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced,/obj/machinery/door/firedoor/border_only{dir = 2},/turf/simulated/floor/plating,/area/hallway/primary/central_one)
"ayD" = (/obj/machinery/camera{c_tag = "Dormitory Toilets"; dir = 1},/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 1},/turf/simulated/floor{icon_state = "freezerfloor"},/area/crew_quarters/toilet)
"ayE" = (/obj/structure/stool/bed,/obj/item/weapon/bedsheet/mime,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/item/device/radio/intercom{dir = 8; name = "Station Intercom (General)"; pixel_x = -28},/turf/simulated/floor/wood,/area/crew_quarters/sleep/bedrooms/one)
-"ayF" = (/obj/structure/sign/securearea{desc = "A warning sign which reads 'EXTERNAL AIRLOCK'"; icon_state = "space"; layer = 4; name = "EXTERNAL AIRLOCK"; pixel_x = 0; pixel_y = 32},/obj/machinery/atmospherics/portables_connector{dir = 1},/obj/machinery/portable_atmospherics/canister/air/airlock,/turf/simulated/floor/plating{dir = 4; icon_state = "warnplatecorner"},/area/maintenance/arrivals)
+"ayF" = (/obj/machinery/light_switch{pixel_x = 22; pixel_y = 10},/obj/structure/closet/secure_closet/personal,/obj/machinery/firealarm{dir = 1; pixel_y = -24},/turf/simulated/floor/wood,/area/crew_quarters/sleep/bedrooms/one)
"ayG" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced,/obj/machinery/door/firedoor/border_only{dir = 2},/obj/structure/cable/green{d2 = 4; icon_state = "0-4"},/turf/simulated/floor/plating,/area/ai_monitored/storage/eva)
"ayH" = (/obj/structure/reagent_dispensers/fueltank,/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor{dir = 8; icon_state = "warning"},/area/ai_monitored/storage/eva)
"ayI" = (/turf/simulated/floor{icon_state = "neutral"; dir = 6},/area/crew_quarters/sleep)
@@ -1308,7 +1308,7 @@
"azh" = (/obj/machinery/gateway{dir = 1},/turf/simulated/floor{icon_state = "vault"; dir = 8},/area/gateway)
"azi" = (/obj/machinery/gateway{dir = 5},/turf/simulated/floor{icon_state = "vault"; dir = 4},/area/gateway)
"azj" = (/obj/machinery/light{dir = 4},/turf/simulated/floor{icon_state = "dark"},/area/gateway)
-"azk" = (/obj/structure/stool/bed,/obj/item/weapon/bedsheet/mime,/obj/machinery/light/small{dir = 4},/obj/machinery/alarm{dir = 8; icon_state = "alarm0"; pixel_x = 24},/turf/simulated/floor/wood,/area/crew_quarters/sleep/bedrooms/one)
+"azk" = (/obj/structure/rack,/obj/item/clothing/mask/breath,/obj/item/clothing/head/helmet/space/void/security,/obj/item/clothing/shoes/magboots,/obj/item/clothing/suit/space/void/security,/turf/simulated/floor{icon_state = "vault"; dir = 8},/area/ai_monitored/storage/eva)
"azl" = (/obj/machinery/space_heater,/turf/simulated/floor/plating,/area/maintenance/arrivals)
"azm" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor,/area/storage/primary)
"azn" = (/obj/machinery/navbeacon{codes_txt = "delivery;dir=8"; freq = 1400; location = "Tool Storage"},/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor{icon_state = "bot"},/area/storage/primary)
@@ -1317,7 +1317,7 @@
"azq" = (/obj/machinery/access_button{command = "cycle_exterior"; frequency = 1379; master_tag = "solar_tool_airlock"; name = "exterior access button"; pixel_x = -25; pixel_y = -25; req_access_txt = "13"},/obj/structure/cable/yellow{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor/airless/catwalk{icon_state = "catwalk3"},/area/solar/auxport)
"azr" = (/obj/machinery/light/small,/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/plating{icon_state = "warnplate"; dir = 10},/area/maintenance/evahallway)
"azs" = (/obj/machinery/atmospherics/unary/vent_pump/high_volume{dir = 1; frequency = 1379; id_tag = "eva_pump"},/obj/machinery/camera{c_tag = "EVA Airlock"; dir = 1},/turf/simulated/floor/plating{icon_state = "warnplate"; dir = 6},/area/maintenance/evahallway)
-"azt" = (/obj/machinery/light_switch{pixel_x = 22; pixel_y = 10},/obj/structure/closet/secure_closet/personal,/obj/machinery/firealarm{dir = 1; pixel_y = -24},/turf/simulated/floor/wood,/area/crew_quarters/sleep/bedrooms/one)
+"azt" = (/obj/structure/rack{dir = 8; layer = 2.9},/obj/item/clothing/mask/breath,/obj/item/clothing/head/helmet/space/void/medical,/obj/item/clothing/shoes/magboots,/obj/item/clothing/suit/space/void/medical,/turf/simulated/floor{icon_state = "vault"; dir = 8},/area/ai_monitored/storage/eva)
"azu" = (/obj/machinery/alarm{dir = 8; icon_state = "alarm0"; pixel_x = 24},/turf/simulated/floor{icon_state = "bluecorner"},/area/hallway/primary/fore)
"azv" = (/obj/structure/disposalpipe/segment,/obj/machinery/door/airlock/maintenance{name = "Hydroponics Maintenance"; req_access_txt = "35"},/obj/machinery/door/firedoor,/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor/plating,/area/hydroponics)
"azw" = (/obj/machinery/door/airlock/maintenance{name = "Bar Maintenance"; req_access_txt = "0"; req_one_access_txt = "12;25;28"},/obj/structure/disposalpipe/segment,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/door/firedoor,/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor/plating,/area/crew_quarters/bar)
@@ -1379,7 +1379,7 @@
"aAA" = (/turf/simulated/wall/r_wall,/area/maintenance/auxsolarstarboard)
"aAB" = (/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 8},/turf/simulated/floor,/area/hallway/primary/port)
"aAC" = (/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/turf/simulated/floor,/area/hallway/primary/port)
-"aAD" = (/obj/structure/rack,/obj/item/clothing/mask/breath,/obj/item/clothing/head/helmet/space/void/security,/obj/item/clothing/shoes/magboots,/obj/item/clothing/suit/space/void/security,/turf/simulated/floor{icon_state = "vault"; dir = 8},/area/ai_monitored/storage/eva)
+"aAD" = (/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/machinery/atmospherics/portables_connector{dir = 1},/obj/machinery/portable_atmospherics/canister/air/airlock,/turf/simulated/floor/plating,/area/maintenance/auxsolarport)
"aAE" = (/obj/structure/disposalpipe/segment{dir = 4; icon_state = "pipe-c"},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0},/obj/structure/cable{d1 = 2; d2 = 4; icon_state = "2-4"},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 6},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 6},/turf/simulated/floor/plating,/area/maintenance/evahallway)
"aAF" = (/obj/machinery/door/airlock/maintenance{req_access_txt = "12"},/obj/structure/disposalpipe/segment{dir = 4},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/door/firedoor/border_only,/turf/simulated/floor/plating,/area/hallway/primary/fore)
"aAG" = (/obj/structure/cable{d1 = 2; d2 = 8; icon_state = "2-8"},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/structure/cable{d1 = 2; d2 = 4; icon_state = "2-4"},/obj/structure/disposalpipe/junction{icon_state = "pipe-j2"; dir = 4},/turf/simulated/floor,/area/hallway/primary/fore)
@@ -1396,14 +1396,14 @@
"aAR" = (/turf/simulated/wall/r_wall,/area/storage/primary)
"aAS" = (/obj/structure/stool/bed,/obj/item/weapon/bedsheet/mime,/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 1},/obj/machinery/light/small{dir = 8},/turf/simulated/floor/wood,/area/crew_quarters/sleep/bedrooms/one)
"aAT" = (/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor,/area/hallway/primary/port)
-"aAU" = (/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/machinery/atmospherics/portables_connector{dir = 1},/obj/machinery/portable_atmospherics/canister/air/airlock,/turf/simulated/floor/plating,/area/maintenance/auxsolarport)
+"aAU" = (/obj/machinery/light/small{dir = 8},/obj/structure/stool/bed,/obj/item/weapon/bedsheet/mime,/obj/machinery/atmospherics/unary/vent_pump/on,/turf/simulated/floor/wood,/area/crew_quarters/sleep/bedrooms/one)
"aAV" = (/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor,/area/hallway/primary/port)
"aAW" = (/obj/machinery/computer/secure_data/detective_computer,/turf/simulated/floor{icon_state = "vault"; dir = 8},/area/security/nuke_storage)
"aAX" = (/obj/structure/cable/green{d1 = 2; d2 = 8; icon_state = "2-8"},/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor,/area/hallway/primary/port)
"aAY" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor{icon_state = "neutral"; dir = 8},/area/crew_quarters/sleep)
"aAZ" = (/obj/structure/table,/obj/item/weapon/storage/fancy/cigarettes{pixel_y = 2},/turf/simulated/floor,/area/gateway)
"aBa" = (/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/turf/simulated/floor,/area/hallway/primary/port)
-"aBb" = (/obj/structure/rack{dir = 8; layer = 2.9},/obj/item/clothing/mask/breath,/obj/item/clothing/head/helmet/space/void/medical,/obj/item/clothing/shoes/magboots,/obj/item/clothing/suit/space/void/medical,/turf/simulated/floor{icon_state = "vault"; dir = 8},/area/ai_monitored/storage/eva)
+"aBb" = (/obj/machinery/light{icon_state = "tube1"; dir = 4},/obj/structure/table/reinforced,/obj/item/stack/sheet/glass/reinforced{amount = 50},/obj/item/stack/rods{amount = 50},/obj/machinery/camera{c_tag = "EVA East"; dir = 8},/turf/simulated/floor{dir = 4; icon_state = "warning"},/area/ai_monitored/storage/eva)
"aBc" = (/obj/machinery/light{dir = 4},/obj/structure/closet/l3closet/scientist,/obj/structure/window/reinforced{dir = 8},/turf/simulated/floor,/area/gateway)
"aBd" = (/obj/structure/table/woodentable,/obj/item/clothing/glasses/threedglasses,/obj/machinery/atmospherics/unary/vent_pump/on{dir = 1},/turf/simulated/floor,/area/crew_quarters/sleep)
"aBe" = (/obj/structure/stool{pixel_y = 8},/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor,/area/crew_quarters/sleep)
@@ -1733,7 +1733,7 @@
"aHq" = (/obj/structure/table/woodentable,/obj/item/device/paicard,/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor,/area/crew_quarters/sleep)
"aHr" = (/turf/simulated/wall,/area/crew_quarters/sleep)
"aHs" = (/obj/structure/stool{pixel_y = 8},/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/structure/cable/green{d1 = 1; d2 = 4; icon_state = "1-4"},/turf/simulated/floor,/area/crew_quarters/sleep)
-"aHt" = (/obj/machinery/atmospherics/portables_connector{dir = 8},/obj/machinery/portable_atmospherics/canister/air/airlock,/turf/simulated/floor/plating{dir = 4; icon_state = "warnplatecorner"},/area/maintenance/auxsolarstarboard)
+"aHt" = (/obj/machinery/atmospherics/portables_connector,/obj/machinery/portable_atmospherics/canister/air/airlock,/turf/simulated/floor/plating,/area/maintenance/locker)
"aHu" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 5},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 5},/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor{icon_state = "neutral"; dir = 4},/area/crew_quarters/sleep)
"aHv" = (/obj/structure/sink{dir = 4; icon_state = "sink"; pixel_x = 11; pixel_y = 0},/obj/structure/mirror{pixel_x = 28},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor{icon_state = "freezerfloor"},/area/crew_quarters/locker/locker_toilet)
"aHw" = (/obj/structure/disposalpipe/segment,/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/structure/cable/green{d1 = 1; d2 = 4; icon_state = "1-4"},/turf/simulated/floor,/area/crew_quarters/fitness)
@@ -1804,7 +1804,7 @@
"aIJ" = (/obj/structure/stool/bed/chair{dir = 1},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 10},/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{dir = 1},/turf/simulated/floor,/area/bridge)
"aIK" = (/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/green{d2 = 2; icon_state = "0-2"},/turf/simulated/floor/plating,/area/bridge)
"aIL" = (/obj/machinery/light,/turf/simulated/floor{icon_state = "dark"},/area/ai_monitored/storage/eva)
-"aIM" = (/obj/structure/rack{dir = 8; layer = 2.9},/obj/item/weapon/rig/unathi,/obj/item/clothing/mask/breath,/turf/simulated/floor{icon_state = "vault"; dir = 8},/area/ai_monitored/storage/eva)
+"aIM" = (/obj/structure/rack{dir = 8; layer = 2.9},/obj/item/clothing/shoes/magboots,/obj/item/clothing/mask/breath,/obj/item/clothing/suit/space/void/engineering,/obj/item/clothing/head/helmet/space/void/engineering,/turf/simulated/floor{icon_state = "vault"; dir = 8},/area/ai_monitored/storage/eva)
"aIN" = (/obj/machinery/navbeacon{codes_txt = "patrol;next_patrol=Security"; location = "EVA2"},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor{icon_state = "L12"},/area/hallway/primary/central_one)
"aIO" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor{icon_state = "L16"},/area/hallway/primary/central_one)
"aIP" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{dir = 1},/turf/simulated/floor,/area/hallway/primary/central_one)
@@ -2071,7 +2071,7 @@
"aNQ" = (/obj/machinery/power/apc{dir = 2; name = "south bump"; pixel_y = -24},/obj/structure/cable/green{d2 = 4; icon_state = "0-4"},/obj/structure/cable/green{d2 = 8; icon_state = "0-8"},/turf/simulated/floor{dir = 0; icon_state = "blue"},/area/bridge)
"aNR" = (/obj/machinery/light_switch{pixel_x = 27},/turf/simulated/floor{icon_state = "green"; dir = 4},/area/hydroponics)
"aNS" = (/obj/machinery/light_switch{pixel_y = -25},/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor{dir = 0; icon_state = "blue"},/area/bridge)
-"aNT" = (/obj/machinery/light{icon_state = "tube1"; dir = 4},/obj/structure/table/reinforced,/obj/item/stack/sheet/rglass{amount = 50},/obj/item/stack/rods{amount = 50},/obj/machinery/camera{c_tag = "EVA East"; dir = 8},/turf/simulated/floor{dir = 4; icon_state = "warning"},/area/ai_monitored/storage/eva)
+"aNT" = (/obj/structure/rack{dir = 8; layer = 2.9},/obj/item/clothing/shoes/magboots,/obj/item/clothing/suit/space/void/atmos,/obj/item/clothing/mask/breath,/obj/item/clothing/head/helmet/space/void/atmos,/turf/simulated/floor{icon_state = "vault"; dir = 8},/area/ai_monitored/storage/eva)
"aNU" = (/obj/structure/stool/bed,/obj/item/weapon/bedsheet/mime,/obj/machinery/light/small,/turf/simulated/floor/wood,/area/crew_quarters/sleep/bedrooms/two)
"aNV" = (/obj/machinery/bookbinder{pixel_y = 0},/turf/simulated/floor/wood,/area/library)
"aNW" = (/obj/structure/disposalpipe/segment,/turf/simulated/floor/wood,/area/library)
@@ -2086,7 +2086,7 @@
"aOf" = (/obj/machinery/access_button{command = "cycle_interior"; frequency = 1379; master_tag = "solar_chapel_airlock"; name = "interior access button"; pixel_x = 25; pixel_y = 25; req_access_txt = "13"},/obj/machinery/atmospherics/pipe/simple/visible{tag = "icon-intact (NORTHEAST)"; icon_state = "intact"; dir = 5},/obj/effect/decal/cleanable/dirt,/obj/structure/cable/yellow{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/structure/cable/yellow{d1 = 1; d2 = 8; icon_state = "1-8"},/turf/simulated/floor/plating{dir = 1; icon_state = "warnplate"; nitrogen = 0.01; oxygen = 0.01},/area/maintenance/auxsolarstarboard)
"aOg" = (/obj/machinery/power/solar_control{id = "auxsolareast"; name = "Fore Starboard Solar Control"; track = 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},/obj/structure/cable/yellow{d2 = 4; icon_state = "0-4"},/turf/simulated/floor/plating{dir = 8; icon_state = "warnplatecorner"},/area/maintenance/auxsolarstarboard)
"aOh" = (/obj/machinery/camera{c_tag = "Bridge Center"; dir = 1},/obj/machinery/requests_console{announcementConsole = 1; department = "Bridge"; departmentType = 5; name = "Bridge RC"; pixel_y = -30},/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor{dir = 0; icon_state = "blue"},/area/bridge)
-"aOi" = (/obj/structure/rack{dir = 8; layer = 2.9},/obj/item/clothing/shoes/magboots,/obj/item/clothing/mask/breath,/obj/item/clothing/suit/space/void/engineering,/obj/item/clothing/head/helmet/space/void/engineering,/turf/simulated/floor{icon_state = "vault"; dir = 8},/area/ai_monitored/storage/eva)
+"aOi" = (/obj/machinery/atmospherics/portables_connector{dir = 8},/obj/machinery/portable_atmospherics/canister/air/airlock,/turf/simulated/floor/plating{dir = 4; icon_state = "warnplatecorner"},/area/maintenance/auxsolarstarboard)
"aOj" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 8},/turf/simulated/floor/plating,/area/hallway/secondary/entry/fore)
"aOk" = (/obj/machinery/light,/obj/machinery/newscaster{pixel_y = -28},/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor{dir = 0; icon_state = "blue"},/area/bridge)
"aOl" = (/obj/machinery/door_control{id = "bridge blast"; name = "Bridge Blast Door Control"; pixel_x = -1; pixel_y = -24; req_access_txt = "19"},/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/structure/cable/green{d1 = 2; d2 = 8; icon_state = "2-8"},/turf/simulated/floor{dir = 0; icon_state = "blue"},/area/bridge)
@@ -2345,7 +2345,7 @@
"aTe" = (/turf/simulated/floor{icon_state = "whitehall"; dir = 1},/area/bridge)
"aTf" = (/obj/effect/decal/cleanable/dirt,/obj/structure/cable{d1 = 1; d2 = 4; icon_state = "1-4"},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0},/turf/simulated/floor/plating{icon_state = "warnplate"; dir = 1},/area/maintenance/arrivals)
"aTg" = (/turf/simulated/floor{icon_state = "whitehall"; dir = 5},/area/bridge)
-"aTh" = (/obj/structure/rack{dir = 8; layer = 2.9},/obj/item/clothing/shoes/magboots,/obj/item/clothing/suit/space/void/atmos,/obj/item/clothing/mask/breath,/obj/item/clothing/head/helmet/space/void/atmos,/turf/simulated/floor{icon_state = "vault"; dir = 8},/area/ai_monitored/storage/eva)
+"aTh" = (/obj/structure/stool/bed,/obj/item/weapon/bedsheet/mime,/obj/machinery/light/small{dir = 1},/obj/machinery/alarm{pixel_y = 23},/turf/simulated/floor/wood,/area/crew_quarters/sleep/bedrooms/three)
"aTi" = (/obj/machinery/airlock_sensor{frequency = 1380; id_tag = "escape_dock_north_sensor"; pixel_x = 0; pixel_y = -25},/turf/simulated/floor/plating,/area/hallway/secondary/exit)
"aTj" = (/obj/item/weapon/reagent_containers/food/condiment/peppermill{pixel_x = 2; pixel_y = 6},/obj/structure/table/woodentable,/obj/item/weapon/reagent_containers/food/condiment/saltshaker{pixel_x = -2; pixel_y = 4},/turf/simulated/floor/wood,/area/crew_quarters/bar)
"aTk" = (/obj/structure/stool/bed/chair/wood/wings{icon_state = "wooden_chair_wings"; dir = 8},/turf/simulated/floor/wood,/area/crew_quarters/bar)
@@ -2550,7 +2550,7 @@
"aXb" = (/obj/structure/cable{d1 = 2; d2 = 8; icon_state = "2-8"},/turf/simulated/floor/plating,/area/maintenance/evahallway)
"aXc" = (/turf/simulated/wall,/area/hallway/primary/fore)
"aXd" = (/obj/machinery/atmospherics/pipe/simple/visible{icon_state = "intact"; dir = 6},/turf/simulated/wall,/area/maintenance/evahallway)
-"aXe" = (/obj/structure/stool/bed,/obj/item/weapon/bedsheet/mime,/obj/machinery/light/small{dir = 1},/obj/machinery/alarm{pixel_y = 23},/turf/simulated/floor/wood,/area/crew_quarters/sleep/bedrooms/three)
+"aXe" = (/obj/machinery/atmospherics/portables_connector{dir = 8},/obj/machinery/portable_atmospherics/canister/air/airlock,/turf/simulated/floor/plating,/area/maintenance/evahallway)
"aXf" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 8},/obj/machinery/atmospherics/pipe/simple/visible{tag = "icon-intact (SOUTHWEST)"; icon_state = "intact"; dir = 10},/turf/simulated/floor/plating,/area/maintenance/arrivals)
"aXg" = (/obj/structure/plasticflaps{opacity = 1},/obj/machinery/navbeacon{codes_txt = "delivery;dir=2"; freq = 1400; location = "Kitchen"},/obj/machinery/door/firedoor/border_only{dir = 2},/turf/simulated/floor{icon_state = "bot"; dir = 1},/area/maintenance/bar)
"aXh" = (/turf/simulated/floor{icon_state = "neutral"; dir = 1},/area/crew_quarters/fitness)
@@ -3213,10 +3213,10 @@
"bjO" = (/obj/machinery/computer/card,/obj/item/weapon/card/id/captains_spare,/turf/simulated/floor/wood,/area/crew_quarters/captain)
"bjP" = (/obj/structure/table/woodentable,/obj/item/weapon/book/manual/security_space_law,/turf/simulated/floor/wood,/area/crew_quarters/captain)
"bjQ" = (/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers,/turf/simulated/floor{icon_state = "white"},/area/rnd/research)
-"bjR" = (/obj/machinery/meter,/obj/machinery/door_control{id = "mixvent"; name = "Mixing Room Vent Control"; pixel_x = -25; pixel_y = 5; req_access_txt = "7"},/obj/machinery/ignition_switch{id = "mixingsparker"; pixel_x = -25; pixel_y = -5},/obj/machinery/atmospherics/pipe/simple/visible{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 9},/turf/simulated/floor{dir = 4; icon_state = "warnwhitecorner"},/area/rnd/mixing)
+"bjR" = (/obj/structure/rack{dir = 8; layer = 2.9},/obj/item/weapon/rig/unathi,/obj/item/clothing/mask/breath,/turf/simulated/floor{icon_state = "vault"; dir = 8},/area/ai_monitored/storage/eva)
"bjS" = (/turf/simulated/floor/airless,/area/rnd/test_area)
-"bjT" = (/obj/structure/sign/fire{pixel_y = -32},/obj/machinery/atmospherics/binary/pump/on{dir = 8},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 5},/turf/simulated/floor/engine,/area/rnd/mixing)
-"bjU" = (/obj/machinery/atmospherics/pipe/simple/hidden{tag = "icon-intact (EAST)"; icon_state = "intact"; dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/wall/r_wall,/area/rnd/mixing)
+"bjT" = (/obj/item/stack/sheet/glass/reinforced,/obj/effect/decal/cleanable/cobweb,/obj/effect/decal/cleanable/dirt,/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 6},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 6},/turf/simulated/floor/plating,/area/maintenance/locker)
+"bjU" = (/obj/structure/table,/obj/item/weapon/folder/white,/obj/item/weapon/stamp/rd{pixel_x = 3; pixel_y = -2},/obj/item/weapon/paper/monitorkey,/obj/item/device/megaphone,/obj/item/weapon/paper_bin{pixel_x = 1; pixel_y = 9},/obj/item/weapon/pen,/turf/simulated/floor{icon_state = "cafeteria"; dir = 5},/area/crew_quarters/heads/hor)
"bjV" = (/obj/machinery/door/airlock{name = "Unisex Restrooms"; req_access_txt = "0"},/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/door/firedoor/border_only,/turf/simulated/floor{icon_state = "freezerfloor"},/area/crew_quarters/locker/locker_toilet)
"bjW" = (/obj/machinery/lapvend,/turf/simulated/floor,/area/storage/primary)
"bjX" = (/turf/simulated/floor/airless{dir = 4; icon_state = "warning"},/area/rnd/test_area)
@@ -3226,7 +3226,7 @@
"bkb" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/structure/cable{d1 = 2; d2 = 8; icon_state = "2-8"},/obj/structure/cable{d1 = 2; d2 = 4; icon_state = "2-4"},/turf/simulated/floor/plating{icon_state = "warnplate"; dir = 4},/area/maintenance/locker)
"bkc" = (/obj/machinery/light/small{dir = 4},/obj/structure/closet/emcloset,/turf/simulated/floor/plating,/area/maintenance/evahallway)
"bkd" = (/obj/machinery/door/airlock/external{frequency = 1380; icon_state = "door_locked"; id_tag = "escape_pod_5_berth_hatch"; locked = 1; name = "Escape Pod"; req_access_txt = "13"},/turf/simulated/floor/plating,/area/maintenance/cargo)
-"bke" = (/obj/machinery/atmospherics/portables_connector,/obj/machinery/portable_atmospherics/canister/air/airlock,/turf/simulated/floor/plating,/area/maintenance/locker)
+"bke" = (/obj/machinery/atmospherics/portables_connector{dir = 1},/obj/machinery/portable_atmospherics/canister/air/airlock,/turf/simulated/floor/plating,/area/storage/emergency)
"bkf" = (/obj/structure/window/shuttle,/obj/structure/grille,/turf/simulated/shuttle/plating,/area/shuttle/escape_pod5/station)
"bkg" = (/turf/simulated/floor/plating,/area/maintenance/cargo)
"bkh" = (/obj/structure/disposalpipe/segment,/obj/effect/decal/cleanable/dirt,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor/plating,/area/maintenance/cargo)
@@ -3317,7 +3317,7 @@
"blO" = (/obj/structure/rack{dir = 8; layer = 2.9},/obj/item/weapon/stock_parts/manipulator,/obj/item/weapon/stock_parts/matter_bin,/obj/item/weapon/stock_parts/matter_bin,/obj/item/weapon/stock_parts/capacitor,/obj/item/weapon/stock_parts/capacitor,/turf/simulated/floor/plating,/area/storage/tech)
"blP" = (/obj/machinery/alarm{pixel_y = 23},/obj/machinery/atmospherics/unary/vent_scrubber/on,/turf/simulated/floor,/area/crew_quarters/heads/chief)
"blQ" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced,/obj/machinery/door/firedoor/border_only{dir = 2},/obj/structure/window/reinforced{dir = 1},/obj/structure/cable/green{d2 = 2; icon_state = "0-2"},/turf/simulated/floor/plating,/area/hallway/primary/aft)
-"blR" = (/obj/machinery/atmospherics/portables_connector{dir = 1},/obj/machinery/portable_atmospherics/canister/air/airlock,/turf/simulated/floor/plating,/area/storage/emergency)
+"blR" = (/obj/machinery/atmospherics/portables_connector{dir = 8},/obj/machinery/portable_atmospherics/canister/air/airlock,/turf/simulated/floor/plating,/area/maintenance/cargo)
"blS" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor/plating,/area/maintenance/research_starboard)
"blT" = (/turf/simulated/wall,/area/rnd/storage)
"blU" = (/turf/simulated/wall,/area/rnd/misc_lab)
@@ -3338,10 +3338,10 @@
"bmj" = (/obj/machinery/door/firedoor/border_only{dir = 8; name = "Firelock West"},/obj/machinery/door/airlock/research{name = "Toxins Storage"; req_access_txt = "8"},/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor,/area/rnd/research)
"bmk" = (/obj/machinery/atmospherics/pipe/tank/air{dir = 8},/turf/simulated/floor/plating{icon_state = "warnplate"; dir = 1},/area/maintenance/research_starboard)
"bml" = (/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor{icon_state = "white"},/area/rnd/research)
-"bmm" = (/obj/machinery/meter,/obj/machinery/embedded_controller/radio/airlock/airlock_controller{tag_airpump = "tox_airlock_pump"; tag_exterior_door = "tox_airlock_exterior"; id_tag = "tox_airlock_control"; tag_interior_door = "tox_airlock_interior"; pixel_x = -24; pixel_y = 0; tag_chamber_sensor = "tox_airlock_sensor"},/obj/machinery/atmospherics/pipe/simple/visible{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 9; pixel_y = 0},/turf/simulated/floor{dir = 1; icon_state = "warnwhitecorner"},/area/rnd/mixing)
+"bmm" = (/obj/structure/rack,/obj/item/weapon/rig/hazmat,/turf/simulated/floor{icon_state = "cafeteria"; dir = 5},/area/crew_quarters/heads/hor)
"bmn" = (/obj/structure/closet/emcloset,/turf/simulated/floor{dir = 9; icon_state = "warning"},/area/hallway/secondary/entry/aft)
"bmo" = (/turf/simulated/wall,/area/medical/patient_a)
-"bmp" = (/obj/machinery/atmospherics/pipe/simple/hidden{tag = "icon-intact (EAST)"; icon_state = "intact"; dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/turf/simulated/wall/r_wall,/area/rnd/mixing)
+"bmp" = (/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/turf/simulated/floor{icon_state = "white"},/area/rnd/mixing)
"bmq" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 8},/obj/machinery/door/firedoor/border_only,/turf/simulated/floor/plating,/area/hallway/secondary/entry/aft)
"bmr" = (/obj/machinery/space_heater,/turf/simulated/floor/plating,/area/storage/emergency)
"bms" = (/obj/structure/reagent_dispensers/watertank,/turf/simulated/floor/plating,/area/storage/emergency)
@@ -3414,7 +3414,7 @@
"bnH" = (/obj/structure/disposalpipe/segment,/obj/machinery/door/firedoor/border_only,/turf/simulated/floor{dir = 2; icon_state = "yellowcorner"},/area/hallway/primary/aft)
"bnI" = (/turf/simulated/wall/r_wall,/area/maintenance/cargo)
"bnJ" = (/obj/machinery/status_display{layer = 4; pixel_x = 0; pixel_y = 32},/obj/machinery/atmospherics/unary/vent_scrubber/on,/turf/simulated/floor{icon_state = "white"},/area/rnd/research)
-"bnK" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor{dir = 8; icon_state = "warnwhite"},/area/rnd/mixing)
+"bnK" = (/obj/effect/landmark/start{name = "Scientist"},/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/turf/simulated/floor{icon_state = "white"},/area/rnd/mixing)
"bnL" = (/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{dir = 1},/obj/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 1},/turf/simulated/floor{dir = 1; icon_state = "whiteredcorner"},/area/medical/patient_wing)
"bnM" = (/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/manifold/hidden/supply,/obj/machinery/atmospherics/pipe/manifold4w/hidden/scrubbers,/turf/simulated/floor{dir = 1; icon_state = "whitered_b"; tag = "icon-whitered_b (WEST)"},/area/medical/patient_wing)
"bnN" = (/obj/machinery/camera{c_tag = "Medbay Patient Hallway - Port"; dir = 4; network = list("SS13")},/turf/simulated/floor{icon_state = "white"},/area/medical/patient_wing)
@@ -3515,7 +3515,7 @@
"bpE" = (/obj/machinery/firealarm{dir = 8; pixel_x = -24},/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 4},/turf/simulated/floor{dir = 9; icon_state = "blue"},/area/medical/surgeryobs)
"bpF" = (/obj/structure/table,/obj/machinery/cell_charger,/obj/item/weapon/cell/high{charge = 100; maxcharge = 15000},/obj/item/device/radio/intercom{freerange = 0; frequency = 1459; name = "Station Intercom (General)"; pixel_x = 29},/turf/simulated/floor{icon_state = "white"},/area/assembly/robotics)
"bpG" = (/obj/effect/landmark{name = "tripai"},/obj/item/device/radio/intercom{anyai = 1; freerange = 1; listening = 0; name = "Custom Channel"; pixel_x = 0; pixel_y = 20},/obj/item/device/radio/intercom{anyai = 1; broadcasting = 0; freerange = 1; frequency = 1447; name = "Private Channel"; pixel_x = 0; pixel_y = -26},/obj/item/device/radio/intercom{anyai = 1; broadcasting = 1; freerange = 1; listening = 1; name = "Common Channel"; pixel_x = -25; pixel_y = -4},/obj/structure/cable/cyan{d2 = 4; icon_state = "0-4"},/turf/simulated/floor/bluegrid,/area/turret_protected/ai)
-"bpH" = (/obj/machinery/door_control{desc = "A remote control switch for the medbay foyer."; id = "MedbayFoyerPort"; name = "Medbay Doors Control"; normaldoorcontrol = 1; pixel_x = -16; pixel_y = 28; req_access_txt = null},/obj/structure/stool/bed/chair/office/dark{dir = 1},/obj/effect/landmark/start{name = "Medical Doctor"},/turf/simulated/floor{tag = "icon-vault (NORTH)"; icon_state = "vault"; dir = 1},/area/medical/reception)
+"bpH" = (/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 1},/turf/simulated/floor{icon_state = "white"},/area/rnd/mixing)
"bpI" = (/obj/machinery/camera{c_tag = "Engineering EVA Storage"; dir = 1; network = list("SS13")},/obj/machinery/suit_cycler/engineering,/turf/simulated/floor,/area/engine/engine_eva)
"bpJ" = (/obj/machinery/door_control{id = "medprivc"; name = "Privacy Shutters"; pixel_y = -25},/obj/machinery/alarm{dir = 8; icon_state = "alarm0"; pixel_x = 24},/obj/structure/table,/obj/item/weapon/clipboard,/obj/item/weapon/paper_bin,/obj/item/weapon/pen,/obj/machinery/light_switch{dir = 2; name = "light switch "; pixel_x = 0; pixel_y = -36},/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 8},/turf/simulated/floor{dir = 6; icon_state = "whitered"},/area/medical/patient_c)
"bpK" = (/obj/machinery/alarm{dir = 4; icon_state = "alarm0"; pixel_x = -22},/obj/machinery/light/small{dir = 8},/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor{icon_state = "dark"},/area/medical/biostorage)
@@ -3553,7 +3553,7 @@
"bqq" = (/obj/structure/disposalpipe/segment,/obj/structure/extinguisher_cabinet{pixel_x = 25},/turf/simulated/floor/plating,/area/engine/engine_eva_maintenance)
"bqr" = (/obj/effect/landmark{name = "tripai"},/obj/item/device/radio/intercom{anyai = 1; freerange = 1; listening = 0; name = "Custom Channel"; pixel_x = 0; pixel_y = 19},/obj/item/device/radio/intercom{anyai = 1; broadcasting = 0; freerange = 1; frequency = 1447; name = "Private Channel"; pixel_x = 0; pixel_y = -26},/obj/item/device/radio/intercom{anyai = 1; broadcasting = 1; freerange = 1; listening = 1; name = "Common Channel"; pixel_x = 27; pixel_y = -3},/obj/structure/cable/cyan{d2 = 8; icon_state = "0-8"},/turf/simulated/floor/bluegrid,/area/turret_protected/ai)
"bqs" = (/obj/machinery/door/window{base_state = "right"; dir = 8; icon_state = "right"; name = "AI Core Door"; req_access_txt = "16"},/obj/structure/cable/cyan{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor/bluegrid,/area/turret_protected/ai)
-"bqt" = (/obj/machinery/door_control{desc = "A remote control switch for the medbay foyer."; id = "MedbayFoyerStar"; name = "Medbay Doors Control"; normaldoorcontrol = 1; pixel_x = 6; pixel_y = 28},/obj/structure/stool/bed/chair/office/dark{dir = 1},/obj/effect/landmark/start{name = "Medical Doctor"},/turf/simulated/floor{tag = "icon-vault (EAST)"; icon_state = "vault"; dir = 4},/area/medical/reception)
+"bqt" = (/obj/structure/cable/green{d1 = 2; d2 = 8; icon_state = "2-8"},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 6},/turf/simulated/floor{icon_state = "white"},/area/rnd/mixing)
"bqu" = (/obj/machinery/embedded_controller/radio/airlock/docking_port{frequency = 1380; id_tag = "specops_dock_airlock"; pixel_x = 0; pixel_y = 30; req_access_txt = "0"; req_one_access_txt = "13"; tag_airpump = "specops_dock_pump"; tag_chamber_sensor = "specops_dock_sensor"; tag_exterior_door = "specops_dock_outer"; tag_interior_door = "specops_dock_inner"},/obj/machinery/airlock_sensor{frequency = 1380; id_tag = "specops_dock_sensor"; pixel_x = 0; pixel_y = -25},/obj/machinery/atmospherics/unary/vent_pump/high_volume{dir = 4; frequency = 1380; id_tag = "specops_dock_pump"},/turf/simulated/floor/plating,/area/hallway/secondary/entry/aft)
"bqv" = (/obj/machinery/door/airlock/external{frequency = 1380; icon_state = "door_locked"; id_tag = "specops_dock_outer"; locked = 1; name = "Docking Port Airlock"; req_access = null; req_access_txt = "13"},/turf/simulated/floor/plating,/area/hallway/secondary/entry/aft)
"bqw" = (/obj/machinery/access_button{command = "cycle_interior"; frequency = 1380; master_tag = "specops_dock_airlock"; name = "interior access button"; pixel_x = -30; pixel_y = 25; req_access_txt = "0"; req_one_access_txt = "13"},/obj/machinery/atmospherics/pipe/manifold/hidden{dir = 4; icon_state = "map"; tag = "icon-manifold-f (EAST)"},/turf/simulated/floor,/area/hallway/secondary/entry/aft)
@@ -3678,7 +3678,7 @@
"bsL" = (/obj/machinery/light{dir = 4},/obj/machinery/firealarm{dir = 4; pixel_x = 24},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor,/area/hallway/secondary/entry/aft)
"bsM" = (/obj/item/weapon/screwdriver,/obj/effect/decal/cleanable/dirt,/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor/plating,/area/maintenance/locker)
"bsN" = (/obj/machinery/door/airlock/external{frequency = 1379; icon_state = "door_locked"; id_tag = "toxin_test_inner"; locked = 1; name = "Engineering External Access"; req_access = null; req_access_txt = "13"},/obj/machinery/atmospherics/pipe/simple/visible{dir = 4},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0},/turf/simulated/floor/plating,/area/maintenance/research_starboard)
-"bsO" = (/obj/item/stack/sheet/rglass,/obj/effect/decal/cleanable/cobweb,/obj/effect/decal/cleanable/dirt,/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 6},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 6},/turf/simulated/floor/plating,/area/maintenance/locker)
+"bsO" = (/obj/item/device/transfer_valve{pixel_x = -5},/obj/item/device/transfer_valve{pixel_x = -5},/obj/item/device/transfer_valve{pixel_x = 0},/obj/item/device/transfer_valve{pixel_x = 0},/obj/item/device/transfer_valve{pixel_x = 5},/obj/item/device/transfer_valve{pixel_x = 5},/obj/structure/table,/obj/machinery/atmospherics/pipe/simple/hidden/universal,/turf/simulated/floor{dir = 1; icon_state = "whitepurple"},/area/rnd/mixing)
"bsP" = (/obj/structure/closet/crate,/obj/item/weapon/coin/silver,/turf/simulated/floor/plating,/area/storage/emergency)
"bsQ" = (/obj/structure/shuttle/engine/propulsion/burst{dir = 4},/turf/space,/area/shuttle/research/station)
"bsR" = (/obj/structure/window/reinforced{dir = 1},/obj/structure/shuttle/engine/heater{dir = 8},/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced,/turf/simulated/floor/plating/airless,/area/shuttle/research/station)
@@ -3800,7 +3800,7 @@
"bvd" = (/obj/machinery/status_display{density = 0; layer = 4; pixel_x = -32; pixel_y = 0},/obj/machinery/light{icon_state = "tube1"; dir = 8},/turf/simulated/floor,/area/hallway/primary/central_one)
"bve" = (/mob/living/simple_animal/mouse,/turf/simulated/floor/plating,/area/maintenance/research_starboard)
"bvf" = (/obj/machinery/sparker{dir = 2; id = "mixingsparker"; pixel_x = 25},/obj/machinery/atmospherics/unary/vent_pump{dir = 4; external_pressure_bound = 0; external_pressure_bound_default = 0; icon_state = "map_vent_in"; initialize_directions = 1; internal_pressure_bound = 4000; internal_pressure_bound_default = 4000; on = 1; pressure_checks = 2; pressure_checks_default = 2; pump_direction = 0},/turf/simulated/floor/engine/vacuum,/area/rnd/mixing)
-"bvg" = (/obj/effect/decal/cleanable/blood/oil/streak{amount = 0},/turf/simulated/floor/plating,/area/maintenance/research_starboard)
+"bvg" = (/obj/machinery/atmospherics/pipe/simple/hidden/cyan,/turf/simulated/wall/r_wall,/area/rnd/mixing)
"bvh" = (/obj/machinery/firealarm{dir = 8; pixel_x = -24},/obj/machinery/atmospherics/pipe/simple/visible,/turf/simulated/floor{icon_state = "floorgrime"},/area/maintenance/incinerator)
"bvi" = (/obj/machinery/atmospherics/pipe/simple/visible,/turf/simulated/floor{icon_state = "floorgrime"},/area/maintenance/incinerator)
"bvj" = (/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 1},/turf/simulated/floor,/area/hallway/secondary/entry/aft)
@@ -3866,7 +3866,7 @@
"bwr" = (/obj/structure/disposalpipe/segment,/obj/machinery/firealarm{dir = 4; layer = 3.3; pixel_x = 26},/turf/simulated/floor,/area/crew_quarters/heads/chief)
"bws" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 1},/obj/machinery/door/firedoor/border_only{dir = 2},/obj/structure/cable/green,/obj/structure/cable/green{d2 = 2; icon_state = "0-2"},/turf/simulated/floor/plating,/area/hallway/primary/aft)
"bwt" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 4},/obj/machinery/door/firedoor/border_only{dir = 2},/turf/simulated/floor/plating,/area/rnd/research)
-"bwu" = (/obj/machinery/door_control{desc = "A remote control switch for the medbay foyer."; id = "MedbayFoyerPort"; name = "Medbay Doors Control"; normaldoorcontrol = 1; pixel_x = -24; pixel_y = 26; req_access_txt = null},/obj/machinery/computer/guestpass{pixel_x = -28},/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 4},/turf/simulated/floor{tag = "icon-whiteblue (NORTHWEST)"; icon_state = "whiteblue"; dir = 9},/area/medical/medbay)
+"bwu" = (/obj/machinery/keycard_auth{pixel_x = -24; pixel_y = 0},/obj/machinery/door_control{desc = "A remote control-switch for engine core."; id = "EngineVent"; name = "Engine Ventillatory Control"; pixel_x = -24; pixel_y = 10; req_access_txt = "10"},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/door_control{desc = "A remote control-switch for the engine core airlock hatch bolts."; id = "engine_access_hatch"; name = "Engine Hatch Bolt Control"; normaldoorcontrol = 1; pixel_x = -24; pixel_y = -10; req_access_txt = "10"; specialfunctions = 4},/turf/simulated/floor,/area/crew_quarters/heads/chief)
"bwv" = (/obj/structure/table/reinforced,/obj/machinery/faxmachine{department = "Chief Engineer's Office"},/turf/simulated/floor,/area/crew_quarters/heads/chief)
"bww" = (/obj/structure/table/reinforced,/obj/item/weapon/clipboard,/obj/item/clothing/glasses/meson{pixel_y = 4},/obj/item/weapon/cell/high{charge = 100; maxcharge = 15000},/obj/item/weapon/cell/high{charge = 100; maxcharge = 15000},/obj/item/clothing/glasses/welding/superior,/obj/item/weapon/storage/fancy/cigarettes,/obj/item/weapon/book/manual/supermatter_engine,/turf/simulated/floor{dir = 8; icon_state = "neutralfull"},/area/crew_quarters/heads/chief)
"bwx" = (/obj/structure/cable{d1 = 1; d2 = 4; icon_state = "1-4"},/obj/structure/cable{d1 = 2; d2 = 4; icon_state = "2-4"},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor,/area/hallway/primary/central_two)
@@ -4174,9 +4174,9 @@
"bCn" = (/obj/machinery/atmospherics/portables_connector{dir = 1},/obj/machinery/portable_atmospherics/canister/oxygen,/turf/simulated/floor{icon_state = "delivery"},/area/medical/sleeper)
"bCo" = (/obj/item/device/radio/intercom{dir = 4; name = "Station Intercom (General)"; pixel_x = 27},/obj/structure/disposalpipe/segment,/turf/simulated/floor,/area/quartermaster/qm)
"bCp" = (/obj/structure/table,/obj/item/device/t_scanner,/turf/simulated/floor/plating,/area/maintenance/engineering)
-"bCq" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor{icon_state = "white"},/area/rnd/mixing)
+"bCq" = (/obj/structure/sign/nosmoking_2{pixel_x = -32},/obj/machinery/camera{c_tag = "Toxins Lab"; dir = 4; network = list("SS13","Research")},/turf/simulated/floor{icon_state = "white"},/area/rnd/mixing)
"bCr" = (/obj/machinery/hologram/holopad,/turf/simulated/floor{icon_state = "white"},/area/rnd/mixing)
-"bCs" = (/obj/item/device/transfer_valve{pixel_x = -5},/obj/item/device/transfer_valve{pixel_x = -5},/obj/item/device/transfer_valve{pixel_x = 0},/obj/item/device/transfer_valve{pixel_x = 0},/obj/item/device/transfer_valve{pixel_x = 5},/obj/item/device/transfer_valve{pixel_x = 5},/obj/structure/table,/turf/simulated/floor{dir = 1; icon_state = "whitepurple"},/area/rnd/mixing)
+"bCs" = (/obj/machinery/airlock_sensor{id_tag = "tox_airlock_sensor"; master_tag = "tox_airlock_control"; pixel_y = 24},/obj/machinery/light/small{dir = 1},/obj/machinery/atmospherics/binary/pump/on{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/cyan,/turf/simulated/floor/engine,/area/rnd/mixing)
"bCt" = (/turf/simulated/wall,/area/hallway/primary/aft)
"bCu" = (/obj/item/device/radio/intercom{dir = 4; name = "Station Intercom (General)"; pixel_x = 27},/turf/simulated/floor{dir = 2; icon_state = "redcorner"},/area/hallway/primary/central_three)
"bCv" = (/obj/structure/dispenser,/turf/simulated/floor{dir = 5; icon_state = "whitepurple"},/area/rnd/mixing)
@@ -4233,7 +4233,7 @@
"bDu" = (/obj/machinery/iv_drip,/obj/machinery/power/apc{dir = 4; name = "east bump"; pixel_x = 24},/obj/structure/cable/green{d2 = 8; icon_state = "0-8"},/turf/simulated/floor{dir = 6; icon_state = "whitered"},/area/medical/patient_b)
"bDv" = (/obj/structure/cable/green{d1 = 2; d2 = 4; icon_state = "2-4"},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 10},/turf/simulated/floor{dir = 3; icon_state = "whitered"},/area/medical/patient_b)
"bDw" = (/obj/machinery/dna_scannernew,/obj/machinery/light_switch{dir = 2; name = "light switch "; pixel_x = 0; pixel_y = -22},/turf/simulated/floor{dir = 2; icon_state = "whitepurple"},/area/medical/genetics_cloning)
-"bDx" = (/obj/structure/sign/nosmoking_2{pixel_x = -32},/obj/machinery/camera{c_tag = "Toxins Lab"; dir = 4; network = list("SS13","Research")},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor{icon_state = "white"},/area/rnd/mixing)
+"bDx" = (/obj/machinery/meter,/obj/machinery/embedded_controller/radio/airlock/airlock_controller{tag_airpump = "tox_airlock_pump"; tag_exterior_door = "tox_airlock_exterior"; id_tag = "tox_airlock_control"; tag_interior_door = "tox_airlock_interior"; pixel_x = -24; pixel_y = 0; tag_chamber_sensor = "tox_airlock_sensor"},/obj/machinery/atmospherics/pipe/simple/visible{dir = 4},/turf/simulated/floor{dir = 1; icon_state = "warnwhitecorner"},/area/rnd/mixing)
"bDy" = (/obj/machinery/firealarm{dir = 8; pixel_x = -24},/turf/simulated/floor{dir = 5; icon_state = "whitehall"},/area/rnd/research)
"bDz" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor,/area/janitor)
"bDA" = (/obj/structure/disposalpipe/segment{dir = 4; icon_state = "pipe-c"},/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor,/area/janitor)
@@ -4380,7 +4380,7 @@
"bGl" = (/turf/simulated/floor{dir = 9; icon_state = "whitehall"},/area/rnd/research)
"bGm" = (/obj/machinery/door/firedoor/border_only{dir = 8; name = "Firelock West"},/obj/machinery/door/poddoor{density = 0; icon_state = "pdoor0"; id = "Biohazard"; name = "Biohazard Shutter"; opacity = 0},/obj/machinery/door/airlock/research{name = "Toxins Launch Room Access"; req_access_txt = "8"},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/turf/simulated/floor{icon_state = "white"},/area/rnd/mixing)
"bGn" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 8},/obj/machinery/door/firedoor/border_only{dir = 2},/turf/simulated/floor/plating,/area/rnd/mixing)
-"bGo" = (/obj/structure/cable/green{d1 = 2; d2 = 8; icon_state = "2-8"},/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{dir = 1},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/turf/simulated/floor{icon_state = "white"},/area/rnd/mixing)
+"bGo" = (/turf/simulated/floor{dir = 8; icon_state = "warnwhite"},/area/rnd/mixing)
"bGp" = (/turf/simulated/shuttle/wall{icon_state = "swall3"; dir = 2},/area/shuttle/mining/station)
"bGq" = (/obj/structure/table,/turf/simulated/shuttle/floor,/area/shuttle/mining/station)
"bGr" = (/obj/machinery/portable_atmospherics/canister,/obj/machinery/light{dir = 1},/turf/simulated/floor/engine,/area/rnd/misc_lab)
@@ -4392,10 +4392,10 @@
"bGx" = (/obj/machinery/door_control{id = "medprivb"; name = "Privacy Shutters"; pixel_y = 25},/obj/machinery/alarm{dir = 8; icon_state = "alarm0"; pixel_x = 24},/obj/structure/table,/obj/item/weapon/clipboard,/obj/item/weapon/paper_bin,/obj/item/weapon/pen,/obj/machinery/light_switch{dir = 2; name = "light switch "; pixel_x = 0; pixel_y = 36},/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 8},/turf/simulated/floor{dir = 5; icon_state = "whitered"},/area/medical/patient_b)
"bGy" = (/obj/machinery/power/apc{dir = 1; name = "north bump"; pixel_x = 0; pixel_y = 24},/obj/structure/cable/green{d2 = 4; icon_state = "0-4"},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/structure/cable/green{d2 = 8; icon_state = "0-8"},/turf/simulated/floor,/area/crew_quarters/heads/hop)
"bGz" = (/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor{icon_state = "white"},/area/rnd/mixing)
-"bGA" = (/obj/effect/landmark/start{name = "Scientist"},/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor{icon_state = "white"},/area/rnd/mixing)
+"bGA" = (/obj/structure/sign/fire{pixel_y = -32},/obj/machinery/atmospherics/binary/pump/on{dir = 8},/obj/machinery/atmospherics/pipe/simple/hidden/cyan,/turf/simulated/floor/engine,/area/rnd/mixing)
"bGB" = (/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/atmospherics/unary/vent_pump/on{dir = 4},/turf/simulated/floor{icon_state = "white"},/area/rnd/mixing)
-"bGC" = (/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 1},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 6},/turf/simulated/floor{icon_state = "white"},/area/rnd/mixing)
-"bGD" = (/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/turf/simulated/floor{icon_state = "white"},/area/rnd/mixing)
+"bGC" = (/obj/machinery/meter,/obj/machinery/door_control{id = "mixvent"; name = "Mixing Room Vent Control"; pixel_x = -25; pixel_y = 5; req_access_txt = "7"},/obj/machinery/ignition_switch{id = "mixingsparker"; pixel_x = -25; pixel_y = -5},/obj/machinery/atmospherics/pipe/simple/visible{dir = 4},/turf/simulated/floor{dir = 4; icon_state = "warnwhitecorner"},/area/rnd/mixing)
+"bGD" = (/obj/effect/decal/cleanable/blood/oil/streak{amount = 0},/obj/machinery/atmospherics/pipe/simple/hidden/universal,/turf/simulated/floor/plating,/area/maintenance/research_starboard)
"bGE" = (/obj/machinery/portable_atmospherics/powered/pump,/obj/structure/window/reinforced{dir = 4},/turf/simulated/floor{dir = 2; icon_state = "whitepurple"},/area/rnd/mixing)
"bGF" = (/turf/simulated/wall,/area/storage/tech)
"bGG" = (/obj/structure/extinguisher_cabinet{pixel_x = -24},/turf/simulated/floor{dir = 5; icon_state = "whitehall"},/area/rnd/research)
@@ -4405,7 +4405,7 @@
"bGK" = (/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor{dir = 9; icon_state = "whitehall"},/area/rnd/research)
"bGL" = (/obj/machinery/door/airlock/glass_research{name = "Toxins Lab"; req_access_txt = "8"},/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/door/firedoor/border_only,/turf/simulated/floor{icon_state = "white"},/area/rnd/research)
"bGM" = (/obj/machinery/portable_atmospherics/powered/scrubber,/obj/structure/disposalpipe/segment,/turf/simulated/floor{dir = 2; icon_state = "whitepurple"},/area/rnd/mixing)
-"bGN" = (/obj/machinery/door_control{desc = "A remote control switch for the medbay foyer."; id = "MedbayFoyerStar"; name = "Medbay Doors Control"; normaldoorcontrol = 1; pixel_x = 24; pixel_y = 26},/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 8},/turf/simulated/floor{tag = "icon-whiteblue (NORTH)"; icon_state = "whiteblue"; dir = 1},/area/medical/medbay2)
+"bGN" = (/obj/structure/stool/bed/chair/office/dark{dir = 1},/obj/effect/landmark/start{name = "Chief Medical Officer"},/obj/machinery/door_control{desc = "A remote control-switch for shutters."; id = "cmooffice"; name = "CMO Privacy Shutters"; pixel_x = 38; pixel_y = 21},/obj/machinery/door_control{desc = "A remote control switch for the CMO's office."; id = "cmodoor"; name = "CMO Office Door Control"; normaldoorcontrol = 1; pixel_x = 28; pixel_y = 21},/obj/machinery/door_control{desc = "A remote control-switch for shutters."; id = "virologyquar"; name = "Virology Emergency Lockdown Control"; pixel_x = -15; pixel_y = 38; req_access_txt = "5"},/obj/machinery/door_control{desc = "A remote control-switch for shutters."; id = "medbayquar"; name = "Medbay Emergency Lockdown Control"; pixel_x = -15; pixel_y = 30; req_access_txt = "5"},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor{icon_state = "white"},/area/crew_quarters/heads/cmo)
"bGO" = (/obj/structure/reagent_dispensers/fueltank,/obj/machinery/light{dir = 1},/turf/simulated/floor/engine,/area/rnd/misc_lab)
"bGP" = (/mob/living/simple_animal/cat/Runtime,/turf/simulated/floor{icon_state = "white"},/area/crew_quarters/heads/cmo)
"bGQ" = (/turf/simulated/floor{tag = "icon-whiteblue (WEST)"; icon_state = "whiteblue"; dir = 8},/area/crew_quarters/heads/cmo)
@@ -4570,12 +4570,12 @@
"bJT" = (/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/sign/securearea{desc = "A warning sign which reads 'SERVER ROOM'."; name = "SERVER ROOM"; pixel_y = -32},/obj/machinery/atmospherics/pipe/simple/hidden{dir = 4; icon_state = "intact"; tag = "icon-intact-f (EAST)"},/turf/simulated/floor/plating,/area/server)
"bJU" = (/obj/machinery/atmospherics/pipe/simple/hidden{tag = "icon-intact (EAST)"; icon_state = "intact"; dir = 4},/turf/simulated/floor/bluegrid{icon_state = "dark"; name = "Server Walkway"; nitrogen = 500; oxygen = 0; temperature = 80},/area/server)
"bJV" = (/obj/machinery/atmospherics/pipe/simple/hidden{dir = 9; icon_state = "intact"; tag = "icon-intact-f (NORTHWEST)"},/turf/simulated/floor{icon_state = "dark"},/area/server)
-"bJW" = (/obj/structure/table,/obj/item/weapon/folder/white,/obj/item/weapon/stamp/rd{pixel_x = 3; pixel_y = -2},/obj/item/weapon/paper/monitorkey,/obj/item/device/megaphone,/obj/item/weapon/paper_bin{pixel_x = 1; pixel_y = 9},/obj/item/weapon/pen,/turf/simulated/floor{icon_state = "cafeteria"; dir = 5},/area/crew_quarters/heads/hor)
+"bJW" = (/obj/machinery/door_control{desc = "A remote control switch for the medbay foyer."; id = "MedbayFoyerStar"; name = "Medbay Doors Control"; normaldoorcontrol = 1; pixel_x = 24; pixel_y = 26},/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 8},/turf/simulated/floor{tag = "icon-whiteblue (NORTH)"; icon_state = "whiteblue"; dir = 1},/area/medical/medbay2)
"bJX" = (/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor,/area/quartermaster/office)
"bJY" = (/obj/machinery/requests_console{department = "Science"; departmentType = 2; name = "Science Requests Console"; pixel_x = 30; pixel_y = 0},/obj/machinery/atmospherics/pipe/simple/visible{tag = "icon-intact (NORTHWEST)"; icon_state = "intact"; dir = 9},/turf/simulated/floor{icon_state = "white"},/area/rnd/mixing)
"bJZ" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor{icon_state = "bot"},/area/quartermaster/office)
"bKa" = (/obj/machinery/hologram/holopad,/turf/simulated/floor,/area/quartermaster/office)
-"bKb" = (/obj/machinery/atmospherics/portables_connector{dir = 1},/obj/machinery/portable_atmospherics/canister/air/airlock,/turf/simulated/floor{icon_state = "white"},/area/rnd/docking)
+"bKb" = (/obj/machinery/door_control{desc = "A remote control switch for the medbay foyer."; id = "MedbayFoyerPort"; name = "Medbay Doors Control"; normaldoorcontrol = 1; pixel_x = -24; pixel_y = 26; req_access_txt = null},/obj/machinery/computer/guestpass{pixel_x = -28},/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 4},/turf/simulated/floor{tag = "icon-whiteblue (NORTHWEST)"; icon_state = "whiteblue"; dir = 9},/area/medical/medbay)
"bKc" = (/obj/structure/table,/obj/item/clothing/glasses/hud/health,/obj/item/clothing/glasses/hud/health,/obj/item/clothing/glasses/hud/health,/obj/item/clothing/glasses/hud/health,/obj/item/clothing/glasses/hud/health,/obj/item/device/flashlight/pen,/obj/item/device/flashlight/pen,/obj/item/device/flashlight/pen,/obj/item/device/flashlight/pen,/obj/item/device/flashlight/pen,/obj/machinery/power/apc{dir = 1; name = "north bump"; pixel_x = 0; pixel_y = 24},/obj/structure/cable/green{d2 = 2; icon_state = "0-2"},/turf/simulated/floor{tag = "icon-whiteblue (NORTHWEST)"; icon_state = "whiteblue"; dir = 9},/area/medical/medbay3)
"bKd" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{dir = 8},/turf/simulated/floor{tag = "icon-whiteblue (NORTHWEST)"; icon_state = "whiteblue"; dir = 9},/area/medical/medbay2)
"bKe" = (/obj/structure/closet/secure_closet/medical3,/obj/machinery/alarm{pixel_y = 25},/obj/machinery/atmospherics/unary/vent_pump/on,/turf/simulated/floor{tag = "icon-whiteblue (NORTHEAST)"; icon_state = "whiteblue"; dir = 5},/area/medical/medbay3)
@@ -4714,7 +4714,7 @@
"bMH" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor{icon_state = "cafeteria"; dir = 5},/area/crew_quarters/heads/hor)
"bMI" = (/turf/simulated/floor{icon_state = "cafeteria"; dir = 5},/area/crew_quarters/heads/hor)
"bMJ" = (/obj/machinery/computer/area_atmos,/turf/simulated/floor{icon_state = "cafeteria"; dir = 5},/area/crew_quarters/heads/hor)
-"bMK" = (/obj/structure/rack,/obj/item/weapon/rig/hazmat,/turf/simulated/floor{icon_state = "cafeteria"; dir = 5},/area/crew_quarters/heads/hor)
+"bMK" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers,/turf/simulated/floor/plating,/area/maintenance/research_starboard)
"bML" = (/obj/machinery/computer/area_atmos,/obj/machinery/light_switch{pixel_y = 28},/turf/simulated/floor{icon_state = "bot"},/area/rnd/storage)
"bMM" = (/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor{icon_state = "warningcorner"; dir = 2},/area/rnd/storage)
"bMN" = (/obj/machinery/atmospherics/pipe/simple/hidden{dir = 10; icon_state = "intact"; tag = "icon-intact-f (SOUTHWEST)"},/obj/structure/cable/green{d1 = 1; d2 = 4; icon_state = "1-4"},/turf/simulated/floor{icon_state = "dark"},/area/server)
@@ -4855,7 +4855,7 @@
"bPs" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/structure/disposalpipe/segment{dir = 4},/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/turf/simulated/floor{icon_state = "white"},/area/rnd/research)
"bPt" = (/obj/structure/disposalpipe/segment{dir = 2; icon_state = "pipe-c"},/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/structure/cable/green{d1 = 2; d2 = 8; icon_state = "2-8"},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 4},/turf/simulated/floor{icon_state = "white"},/area/rnd/research)
"bPu" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 8},/turf/simulated/floor/plating,/area/medical/medbay3)
-"bPv" = (/obj/machinery/light{dir = 8},/obj/machinery/atmospherics/portables_connector{dir = 8},/obj/machinery/portable_atmospherics/canister/air/airlock,/turf/simulated/floor{dir = 8; icon_state = "brown"},/area/quartermaster/miningdock)
+"bPv" = (/obj/structure/rack{dir = 8; layer = 2.9},/obj/item/clothing/shoes/magboots,/obj/item/clothing/mask/breath,/obj/item/weapon/rig/ce,/turf/simulated/floor{dir = 8; icon_state = "neutralfull"},/area/crew_quarters/heads/chief)
"bPw" = (/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor{icon_state = "white"},/area/rnd/research)
"bPx" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/structure/cable/green{d1 = 2; d2 = 4; icon_state = "2-4"},/turf/simulated/floor{icon_state = "white"},/area/rnd/research)
"bPy" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor{icon_state = "white"},/area/rnd/research)
@@ -5047,7 +5047,7 @@
"bTc" = (/obj/structure/disposalpipe/segment,/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor{dir = 4; icon_state = "whiteblue"; tag = "icon-whitehall (WEST)"},/area/medical/medbay)
"bTd" = (/turf/simulated/floor{icon_state = "white_1"},/area/medical/medbay)
"bTe" = (/obj/structure/grille,/turf/simulated/wall/r_wall,/area/atmos)
-"bTf" = (/obj/structure/stool/bed/chair/office/dark{dir = 1},/obj/effect/landmark/start{name = "Chief Medical Officer"},/obj/machinery/door_control{desc = "A remote control-switch for shutters."; id = "cmooffice"; name = "CMO Privacy Shutters"; pixel_x = 38; pixel_y = 21},/obj/machinery/door_control{desc = "A remote control switch for the CMO's office."; id = "cmodoor"; name = "CMO Office Door Control"; normaldoorcontrol = 1; pixel_x = 28; pixel_y = 21},/obj/machinery/door_control{desc = "A remote control-switch for shutters."; id = "virologyquar"; name = "Virology Emergency Lockdown Control"; pixel_x = -15; pixel_y = 38; req_access_txt = "5"},/obj/machinery/door_control{desc = "A remote control-switch for shutters."; id = "medbayquar"; name = "Medbay Emergency Lockdown Control"; pixel_x = -15; pixel_y = 30; req_access_txt = "5"},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor{icon_state = "white"},/area/crew_quarters/heads/cmo)
+"bTf" = (/obj/machinery/light{dir = 8},/obj/machinery/atmospherics/portables_connector{dir = 8},/obj/machinery/portable_atmospherics/canister/air/airlock,/turf/simulated/floor{dir = 8; icon_state = "brown"},/area/quartermaster/miningdock)
"bTg" = (/obj/structure/table,/obj/item/weapon/storage/belt/utility,/obj/item/clothing/gloves/latex,/turf/simulated/floor{icon_state = "white"},/area/rnd/lab)
"bTh" = (/obj/machinery/autolathe,/turf/simulated/floor{icon_state = "white"},/area/rnd/lab)
"bTi" = (/obj/structure/disposalpipe/segment{dir = 8; icon_state = "pipe-c"},/turf/simulated/wall,/area/quartermaster/office)
@@ -5369,13 +5369,13 @@
"bZm" = (/obj/machinery/computer/drone_control,/turf/simulated/floor/plating{dir = 2; icon_state = "warnplate"},/area/engine/drone_fabrication)
"bZn" = (/obj/machinery/door/airlock/maintenance_hatch{frequency = 1379; icon_state = "door_closed"; id_tag = "engine_airlock_interior"; locked = 0; name = "Engine Airlock Interior"; req_access_txt = "10"},/turf/simulated/floor/plating,/area/engine/engine_room)
"bZo" = (/obj/machinery/door/airlock/command{name = "Captain's Quarters"; req_access = null; req_access_txt = "20"},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor/carpet,/area/crew_quarters/captain)
-"bZp" = (/turf/simulated/floor/plating{icon_state = "warnplate"; dir = 1},/area/engine/drone_fabrication)
+"bZp" = (/obj/structure/rack{dir = 8; layer = 2.6},/obj/item/clothing/shoes/magboots,/obj/item/clothing/mask/breath,/obj/item/clothing/head/helmet/space/void/engineering,/obj/machinery/light{dir = 1},/obj/structure/window/reinforced{dir = 8},/obj/machinery/door/window/southleft{name = "Engineering Hardsuits"; req_access_txt = "11"},/obj/item/clothing/suit/space/void/engineering,/turf/simulated/floor,/area/engine/engine_eva)
"bZq" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 8},/turf/simulated/floor/plating,/area/maintenance/locker)
"bZr" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 4},/turf/simulated/floor/plating,/area/maintenance/locker)
"bZs" = (/obj/structure/disposalpipe/segment,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor{icon_state = "white"},/area/medical/reception)
"bZt" = (/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/door/firedoor/border_only{dir = 2},/turf/simulated/shuttle/plating,/area/rnd/docking)
"bZu" = (/obj/structure/table/reinforced,/obj/item/weapon/storage/box/syringes,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 10},/turf/simulated/floor{icon_state = "white"},/area/medical/chemistry)
-"bZv" = (/obj/machinery/atmospherics/portables_connector{dir = 8},/obj/machinery/portable_atmospherics/canister/air/airlock,/turf/simulated/floor/plating,/area/maintenance/cargo)
+"bZv" = (/obj/machinery/atmospherics/portables_connector{dir = 1},/obj/machinery/portable_atmospherics/canister/air/airlock,/turf/simulated/floor{icon_state = "white"},/area/rnd/docking)
"bZw" = (/obj/machinery/computer/shuttle_control/research,/turf/simulated/floor{dir = 4; icon_state = "whitebluecorner"},/area/rnd/docking)
"bZx" = (/obj/machinery/light/small{dir = 4},/obj/machinery/atmospherics/unary/vent_pump/high_volume{dir = 8; frequency = 1380; id_tag = "research_dock_pump"},/obj/machinery/embedded_controller/radio/airlock/docking_port{frequency = 1380; id_tag = "research_dock_airlock"; pixel_x = 25; pixel_y = 0; req_access_txt = "0"; req_one_access_txt = "13;65"; tag_airpump = "research_dock_pump"; tag_chamber_sensor = "research_dock_sensor"; tag_exterior_door = "research_dock_outer"; tag_interior_door = "research_dock_inner"},/turf/simulated/floor{dir = 6; icon_state = "warning"},/area/rnd/docking)
"bZy" = (/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/door/firedoor/border_only{dir = 2},/obj/machinery/atmospherics/pipe/simple/hidden{dir = 4; icon_state = "intact"; tag = "icon-intact-f (EAST)"},/turf/simulated/shuttle/plating,/area/rnd/docking)
@@ -5469,7 +5469,7 @@
"cbi" = (/obj/machinery/requests_console{department = "Science"; departmentType = 2; name = "Science Requests Console"; pixel_x = -30; pixel_y = 0},/turf/simulated/floor{icon_state = "white"},/area/rnd/lab)
"cbj" = (/obj/machinery/camera{c_tag = "Research Division Access"; dir = 2; network = list("SS13","Research")},/obj/structure/sink{dir = 4; icon_state = "sink"; pixel_x = 11; pixel_y = 0},/turf/simulated/floor{icon_state = "warnwhite"; dir = 5},/area/rnd/research)
"cbk" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 10},/turf/simulated/floor{icon_state = "white"},/area/rnd/research)
-"cbl" = (/obj/machinery/airlock_sensor{id_tag = "tox_airlock_sensor"; master_tag = "tox_airlock_control"; pixel_y = 24},/obj/machinery/light/small{dir = 1},/obj/machinery/atmospherics/binary/pump/on{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 6},/turf/simulated/floor/engine,/area/rnd/mixing)
+"cbl" = (/obj/item/clothing/shoes/magboots,/obj/item/clothing/mask/breath,/obj/item/clothing/head/helmet/space/void/engineering,/obj/machinery/door/window/southleft{name = "Engineering Hardsuits"; req_access_txt = "11"},/obj/structure/rack{dir = 8; layer = 2.6},/obj/item/clothing/suit/space/void/engineering,/turf/simulated/floor,/area/engine/engine_eva)
"cbm" = (/obj/machinery/door/firedoor/border_only{dir = 4; name = "hazard door east"},/obj/machinery/door/airlock/glass_research{name = "Robotics Lab"; req_access_txt = "29"},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/turf/simulated/floor{icon_state = "white"},/area/assembly/robotics)
"cbn" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/turf/simulated/floor{icon_state = "white"},/area/assembly/robotics)
"cbo" = (/obj/structure/stool/bed/chair{dir = 8},/obj/item/device/radio/intercom{broadcasting = 0; listening = 1; name = "Station Intercom (General)"; pixel_y = 20},/turf/simulated/shuttle/floor,/area/shuttle/escape_pod5/station)
@@ -5496,10 +5496,10 @@
"cbJ" = (/obj/machinery/atmospherics/pipe/simple/visible/green{tag = "icon-intact (NORTHEAST)"; icon_state = "intact"; dir = 5},/turf/simulated/floor,/area/atmos)
"cbK" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0},/turf/simulated/wall/r_wall,/area/engine/engine_smes)
"cbL" = (/obj/structure/cable{d1 = 2; d2 = 4; icon_state = "2-4"},/obj/structure/table,/obj/item/stack/cable_coil,/obj/item/stack/cable_coil{pixel_x = 3; pixel_y = 3},/obj/item/weapon/storage/box/lights/mixed,/obj/structure/cable{d1 = 2; d2 = 8; icon_state = "2-8"},/turf/simulated/floor,/area/engine/engine_smes)
-"cbM" = (/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 1},/obj/structure/grille,/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor/plating,/area/engine/engine_airlock)
+"cbM" = (/obj/machinery/atmospherics/pipe/simple/hidden/universal{dir = 4},/turf/simulated/floor{icon_state = "hydrofloor"},/area/rnd/xenobiology/xenoflora)
"cbN" = (/obj/structure/table,/obj/machinery/microwave{pixel_x = -3; pixel_y = 6},/turf/simulated/floor{icon_state = "white"},/area/medical/virology)
"cbO" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0},/turf/simulated/wall/r_wall,/area/engine/engine_monitoring)
-"cbP" = (/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 1},/obj/structure/grille,/obj/structure/cable{d1 = 1; d2 = 8; icon_state = "1-8"},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor/plating,/area/engine/engine_airlock)
+"cbP" = (/obj/structure/rack{dir = 8; layer = 2.9},/obj/item/clothing/shoes/magboots,/obj/item/clothing/suit/space/void/atmos,/obj/item/clothing/mask/breath,/obj/item/clothing/head/helmet/space/void/atmos,/obj/machinery/door/window/northright{name = "Atmospherics Hardsuits"; req_access_txt = "24"},/turf/simulated/floor,/area/engine/engine_eva)
"cbQ" = (/obj/machinery/door/airlock/maintenance_hatch{frequency = 1379; icon_state = "door_closed"; id_tag = "engine_airlock_exterior"; locked = 0; name = "Engine Airlock Exterior"; req_access_txt = "10"},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0},/turf/simulated/floor/plating,/area/engine/engine_airlock)
"cbR" = (/obj/machinery/hologram/holopad,/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0},/obj/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{dir = 8},/turf/simulated/floor,/area/engine/engine_monitoring)
"cbS" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/turf/simulated/floor,/area/engine/engine_monitoring)
@@ -5515,7 +5515,7 @@
"ccc" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 8},/turf/simulated/floor/plating,/area/maintenance/starboardsolar)
"ccd" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 1},/turf/simulated/floor/plating,/area/maintenance/starboardsolar)
"cce" = (/turf/simulated/shuttle/wall{icon_state = "swall_s5"; dir = 2},/area/shuttle/escape_pod5/station)
-"ccf" = (/obj/machinery/embedded_controller/radio/airlock/advanced_airlock_controller{id_tag = "engine_room_airlock"; name = "Engine Room Airlock"; pixel_x = -24; tag_airpump = "engine_airlock_pump"; tag_chamber_sensor = "eng_al_c_snsr"; tag_exterior_door = "engine_airlock_exterior"; tag_exterior_sensor = "eng_al_ext_snsr"; tag_interior_door = "engine_airlock_interior"; tag_interior_sensor = "eng_al_int_snsr"},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 5},/turf/simulated/floor/plating{icon_state = "warnplate"; dir = 9},/area/engine/engine_airlock)
+"ccf" = (/obj/structure/rack{dir = 8; layer = 2.9},/obj/item/clothing/shoes/magboots,/obj/item/clothing/suit/space/void/atmos,/obj/item/clothing/mask/breath,/obj/item/clothing/head/helmet/space/void/atmos,/obj/structure/window/reinforced{dir = 8},/obj/machinery/door/window/northleft{name = "Atmospherics Hardsuits"; req_access_txt = "24"},/turf/simulated/floor,/area/engine/engine_eva)
"ccg" = (/obj/structure/stool/bed/chair/office/dark,/obj/effect/landmark/start{name = "Station Engineer"},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor,/area/engine/engine_monitoring)
"cch" = (/obj/structure/table/reinforced,/obj/machinery/door_control{desc = "A remote control-switch for the engine control room blast doors."; id = "EngineBlast"; name = "Engine Room Blast Doors"; pixel_x = 0; pixel_y = -3; req_access_txt = "10"},/obj/machinery/door_control{desc = "A remote control-switch for the engine charging port."; id = "EngineEmitterPort"; name = "Engine Charging Port"; pixel_x = -6; pixel_y = 7; req_access_txt = "10"},/obj/machinery/door_control{desc = "A remote control-switch for the engine emitter."; id = "EngineEmitter"; name = "Engine Emitter"; normaldoorcontrol = 2; pixel_x = 6; pixel_y = 7; req_access_txt = "10"},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor,/area/engine/engine_monitoring)
"cci" = (/obj/structure/stool/bed/chair/office/dark,/obj/effect/landmark/start{name = "Station Engineer"},/turf/simulated/floor,/area/engine/engine_monitoring)
@@ -5765,7 +5765,7 @@
"cgS" = (/obj/machinery/hologram/holopad,/turf/simulated/floor{icon_state = "white"},/area/medical/reception)
"cgT" = (/obj/machinery/light/small{dir = 4},/turf/simulated/floor/plating,/area/maintenance/medbay)
"cgU" = (/obj/structure/closet/emcloset,/turf/simulated/floor/plating,/area/maintenance/medbay)
-"cgV" = (/obj/machinery/light{dir = 1},/turf/simulated/floor/plating{icon_state = "warnplate"; dir = 9},/area/engine/drone_fabrication)
+"cgV" = (/obj/machinery/cryopod/robot/right,/turf/simulated/floor/plating,/area/engine/drone_fabrication)
"cgW" = (/obj/machinery/ai_status_display{layer = 4; pixel_y = 32},/obj/machinery/light{dir = 1},/turf/simulated/floor/plating{icon_state = "warnplate"; dir = 5},/area/engine/drone_fabrication)
"cgX" = (/obj/structure/window/reinforced{dir = 8},/obj/structure/table/reinforced,/obj/machinery/door_control{id = "xenobio5"; name = "Containment Blast Doors"; pixel_x = 0; pixel_y = 4; req_access_txt = "55"},/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor{dir = 1; icon_state = "warning"},/area/rnd/xenobiology)
"cgY" = (/obj/structure/window/reinforced{dir = 4},/obj/machinery/disposal,/obj/structure/disposalpipe/trunk,/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor{dir = 1; icon_state = "warning"},/area/rnd/xenobiology)
@@ -5783,7 +5783,7 @@
"chk" = (/obj/item/device/radio/intercom{name = "Station Intercom (General)"; pixel_y = 25},/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor,/area/engine/engine_hallway)
"chl" = (/obj/machinery/light{dir = 1},/obj/structure/cable/green{d1 = 2; d2 = 4; icon_state = "2-4"},/obj/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 1},/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{dir = 1},/turf/simulated/floor,/area/engine/engine_hallway)
"chm" = (/obj/machinery/computer/drone_control,/turf/simulated/floor/plating,/area/engine/drone_fabrication)
-"chn" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 8},/turf/simulated/floor/plating,/area/engine/drone_fabrication)
+"chn" = (/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/engine/drone_fabrication)
"cho" = (/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor{icon_state = "white"},/area/medical/reception)
"chp" = (/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor,/area/engine/engine_hallway)
"chq" = (/obj/machinery/portable_atmospherics/canister/sleeping_agent,/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 5},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 5},/turf/simulated/floor{icon_state = "bot"; dir = 1},/area/atmos)
@@ -5937,14 +5937,14 @@
"cki" = (/obj/machinery/atmospherics/pipe/simple/visible/yellow{dir = 4},/turf/simulated/floor,/area/atmos)
"ckj" = (/obj/structure/cable/green{d1 = 1; d2 = 4; icon_state = "1-4"},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor,/area/engine/engine_monitoring)
"ckk" = (/obj/machinery/door/airlock/external{frequency = 1380; icon_state = "door_locked"; id_tag = "research_dock_inner"; locked = 1; name = "Shuttle Airlock"; req_access_txt = "13"},/turf/simulated/floor{icon_state = "white"},/area/rnd/docking)
-"ckl" = (/obj/machinery/atmospherics/pipe/simple/visible/yellow{dir = 6},/turf/simulated/floor/plating,/area/engine/engine_room)
+"ckl" = (/obj/machinery/computer/cryopod/robot{pixel_y = 30},/turf/simulated/floor/plating{icon_state = "warnplate"; dir = 1},/area/engine/drone_fabrication)
"ckm" = (/turf/simulated/floor,/area/engine/engine_monitoring)
"ckn" = (/obj/machinery/shower{icon_state = "shower"; dir = 8},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 4},/turf/simulated/floor,/area/engine/engine_airlock)
"cko" = (/obj/machinery/light/small{dir = 4},/obj/structure/cable{d1 = 1; d2 = 8; icon_state = "1-8"},/turf/simulated/floor/plating{dir = 2; icon_state = "warnplate"},/area/engine/engine_waste)
"ckp" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 5},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 9},/turf/simulated/floor,/area/engine/engine_airlock)
"ckq" = (/obj/machinery/door_control{desc = "A remote control-switch for the engine control room blast doors."; id = "EngineEmitterPortWest"; name = "Engine Room Blast Doors"; pixel_x = 0; pixel_y = 25; req_access_txt = "10"},/turf/simulated/floor/plating{dir = 1; icon_state = "warnplatecorner"},/area/engine/engine_room)
"ckr" = (/obj/machinery/light{dir = 8; icon_state = "tube1"; pixel_y = 0},/obj/machinery/light_switch{pixel_x = -27; pixel_y = 0},/obj/machinery/airlock_sensor/airlock_exterior{id_tag = "eng_al_ext_snsr"; layer = 3.3; master_tag = "engine_room_airlock"; pixel_y = -22; req_access_txt = "10"},/obj/structure/table,/obj/item/weapon/book/manual/supermatter_engine,/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{dir = 8},/turf/simulated/floor,/area/engine/engine_airlock)
-"cks" = (/obj/item/device/radio/intercom{name = "Station Intercom (General)"; pixel_y = 22},/obj/machinery/light{tag = "icon-tube1 (NORTH)"; icon_state = "tube1"; dir = 1},/turf/simulated/floor/plating,/area/engine/engine_room)
+"cks" = (/obj/machinery/light{dir = 1},/obj/effect/landmark{name = "JoinLateCyborg"},/turf/simulated/floor/plating{icon_state = "warnplate"; dir = 9},/area/engine/drone_fabrication)
"ckt" = (/turf/simulated/floor{dir = 1; icon_state = "blue"},/area/medical/morgue)
"cku" = (/obj/machinery/alarm{dir = 1; icon_state = "alarm0"; pixel_y = -22},/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 1},/turf/simulated/floor{icon_state = "white"},/area/medical/virology)
"ckv" = (/obj/machinery/door/firedoor,/obj/machinery/door/airlock/medical{name = "Mental Health"; req_access_txt = "0"},/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor{icon_state = "white"},/area/medical/medbay4)
@@ -5970,7 +5970,7 @@
"ckP" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/turf/simulated/floor{icon_state = "freezerfloor"},/area/medical/surgery2)
"ckQ" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 9},/turf/simulated/floor{icon_state = "freezerfloor"},/area/medical/surgery2)
"ckR" = (/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/wall,/area/quartermaster/office)
-"ckS" = (/obj/machinery/atmospherics/pipe/simple/visible/yellow{dir = 4},/turf/simulated/floor/plating,/area/engine/engine_room)
+"ckS" = (/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 1},/obj/structure/grille,/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0},/obj/machinery/atmospherics/pipe/simple/hidden/universal,/turf/simulated/floor/plating,/area/engine/engine_airlock)
"ckT" = (/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 10},/turf/simulated/floor{icon_state = "freezerfloor"},/area/medical/surgery2)
"ckU" = (/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor{icon_state = "white"},/area/rnd/xenobiology)
"ckV" = (/obj/item/device/radio/intercom{freerange = 0; frequency = 1459; name = "Station Intercom (General)"; pixel_x = 29},/turf/simulated/floor{icon_state = "white"},/area/rnd/xenobiology)
@@ -6057,7 +6057,7 @@
"cmy" = (/obj/machinery/light{dir = 1},/obj/machinery/computer/centrifuge,/obj/item/weapon/storage/secure/safe{pixel_x = 5; pixel_y = 29},/turf/simulated/floor{icon_state = "white"},/area/medical/virology)
"cmz" = (/obj/machinery/disposal,/obj/structure/disposalpipe/trunk,/obj/item/device/radio/intercom{broadcasting = 0; name = "Station Intercom (General)"; pixel_y = 26},/turf/simulated/floor{icon_state = "white"},/area/medical/virology)
"cmA" = (/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor{icon_state = "freezerfloor"},/area/medical/surgery)
-"cmB" = (/obj/machinery/atmospherics/pipe/simple/visible/yellow,/turf/simulated/floor/plating,/area/engine/engine_room)
+"cmB" = (/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 1},/obj/structure/grille,/obj/structure/cable{d1 = 1; d2 = 8; icon_state = "1-8"},/obj/machinery/atmospherics/pipe/simple/hidden/universal,/turf/simulated/floor/plating,/area/engine/engine_airlock)
"cmC" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor,/area/medical/surgeryprep)
"cmD" = (/obj/machinery/door/poddoor{density = 0; icon_state = "pdoor0"; id = "xenobio2"; name = "Containment Blast Doors"; opacity = 0},/obj/machinery/door/window/northleft{base_state = "right"; dir = 8; icon_state = "right"; name = "Containment Pen"; req_access_txt = "55"},/turf/simulated/floor/engine,/area/rnd/xenobiology)
"cmE" = (/obj/machinery/door/window/northleft{dir = 4; name = "Containment Pen"; req_access_txt = "55"},/turf/simulated/floor{dir = 4; icon_state = "warning"},/area/rnd/xenobiology)
@@ -6111,7 +6111,7 @@
"cnA" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/meter,/turf/simulated/floor/plating,/area/maintenance/research_port)
"cnB" = (/obj/machinery/disposal,/obj/structure/disposalpipe/trunk{dir = 1},/obj/machinery/alarm{dir = 1; icon_state = "alarm0"; pixel_y = -22},/turf/simulated/floor{icon_state = "cafeteria"; dir = 5},/area/engine/break_room)
"cnC" = (/obj/machinery/newscaster{pixel_x = 31; pixel_y = 3},/turf/simulated/floor{dir = 2; icon_state = "yellowcorner"},/area/hallway/primary/aft)
-"cnD" = (/obj/machinery/atmospherics/pipe/simple/visible/yellow,/obj/machinery/atmospherics/pipe/simple/visible/cyan{dir = 4; icon_state = "intact"; tag = "icon-intact (EAST)"},/turf/simulated/floor/plating,/area/engine/engine_room)
+"cnD" = (/obj/machinery/embedded_controller/radio/airlock/advanced_airlock_controller{id_tag = "engine_room_airlock"; name = "Engine Room Airlock"; pixel_x = -24; tag_airpump = "engine_airlock_pump"; tag_chamber_sensor = "eng_al_c_snsr"; tag_exterior_door = "engine_airlock_exterior"; tag_exterior_sensor = "eng_al_ext_snsr"; tag_interior_door = "engine_airlock_interior"; tag_interior_sensor = "eng_al_int_snsr"},/obj/machinery/atmospherics/pipe/simple/hidden{dir = 5; icon_state = "intact"; tag = "icon-intact-f (NORTHEAST)"},/turf/simulated/floor/plating{icon_state = "warnplate"; dir = 9},/area/engine/engine_airlock)
"cnE" = (/obj/machinery/atmospherics/pipe/manifold4w/visible/cyan,/turf/simulated/floor/plating,/area/engine/engine_room)
"cnF" = (/obj/machinery/atmospherics/unary/vent_pump/on{dir = 4},/turf/simulated/floor,/area/engine/atmos_monitoring)
"cnG" = (/obj/structure/window/reinforced{dir = 1},/obj/machinery/door/window/brigdoor{dir = 8; name = "Engine Waste"; req_access = null; req_access_txt = "0"; req_one_access_txt = "10;24"},/obj/machinery/atmospherics/portables_connector,/obj/machinery/portable_atmospherics/canister/empty/oxygen,/turf/simulated/floor/plating{icon_state = "platebot"; nitrogen = 0.01; oxygen = 0.01},/area/engine/engine_waste)
@@ -6307,7 +6307,7 @@
"cro" = (/obj/structure/sink{icon_state = "sink"; dir = 8; pixel_x = -12; pixel_y = 2},/obj/machinery/access_button{command = "cycle_interior"; frequency = 1379; master_tag = "virology_airlock_control"; name = "Virology Access Button"; pixel_x = 8; pixel_y = -28; req_access_txt = "39"},/obj/machinery/alarm{dir = 4; icon_state = "alarm0"; pixel_x = -22; pixel_y = 0},/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 4},/turf/simulated/floor{dir = 10; icon_state = "warnwhite"},/area/medical/virology)
"crp" = (/obj/structure/table/reinforced,/obj/machinery/door_control{id = "xenobio2"; name = "Containment Blast Doors"; pixel_x = 0; pixel_y = 4; req_access_txt = "55"},/obj/structure/window/reinforced{dir = 1},/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor{dir = 4; icon_state = "warning"},/area/rnd/xenobiology)
"crq" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 1},/turf/simulated/floor/plating,/area/medical/virology)
-"crr" = (/obj/machinery/keycard_auth{pixel_x = -24; pixel_y = 0},/obj/machinery/door_control{desc = "A remote control-switch for engine core."; id = "EngineVent"; name = "Engine Ventillatory Control"; pixel_x = -24; pixel_y = 10; req_access_txt = "10"},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/door_control{desc = "A remote control-switch for the engine core airlock hatch bolts."; id = "engine_access_hatch"; name = "Engine Hatch Bolt Control"; normaldoorcontrol = 1; pixel_x = -24; pixel_y = -10; req_access_txt = "10"; specialfunctions = 4},/turf/simulated/floor,/area/crew_quarters/heads/chief)
+"crr" = (/obj/structure/closet/emcloset,/obj/machinery/atmospherics/pipe/simple/hidden{dir = 9; icon_state = "intact"; tag = "icon-intact-f (NORTHWEST)"},/turf/simulated/floor/plating{icon_state = "warnplate"; dir = 5},/area/engine/engine_airlock)
"crs" = (/obj/structure/table,/obj/item/device/camera{name = "Autopsy Camera"; pixel_x = -2; pixel_y = 7},/obj/item/weapon/paper_bin{pixel_y = -6},/obj/item/weapon/pen/red{pixel_x = -1; pixel_y = -9},/obj/item/weapon/pen/blue{pixel_x = 3; pixel_y = -5},/turf/simulated/floor{dir = 9; icon_state = "blue"},/area/medical/morgue)
"crt" = (/obj/machinery/door/window/southright{dir = 1; name = "Virology Isolation Room One"; req_access_txt = "39"},/obj/machinery/atmospherics/pipe/simple/hidden/purple,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor{dir = 1; icon_state = "whitegreen"},/area/medical/virology)
"cru" = (/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/structure/cable/green{d1 = 1; d2 = 8; icon_state = "1-8"},/turf/simulated/floor{icon_state = "white"},/area/rnd/xenobiology)
@@ -6318,7 +6318,7 @@
"crz" = (/obj/machinery/computer/station_alert,/turf/simulated/floor,/area/hallway/primary/aft)
"crA" = (/obj/structure/urinal{pixel_y = 32},/obj/effect/landmark{name = "blobstart"},/turf/simulated/floor{icon_state = "freezerfloor"},/area/crew_quarters/sleep/engi_wash)
"crB" = (/obj/structure/stool/bed/chair{dir = 8},/obj/structure/disposalpipe/segment,/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/simple/hidden/purple,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor{icon_state = "white"},/area/rnd/xenobiology)
-"crC" = (/obj/structure/rack{dir = 8; layer = 2.9},/obj/item/clothing/shoes/magboots,/obj/item/clothing/mask/breath,/obj/item/weapon/rig/ce,/turf/simulated/floor{dir = 8; icon_state = "neutralfull"},/area/crew_quarters/heads/chief)
+"crC" = (/obj/machinery/light{tag = "icon-tube1 (NORTH)"; icon_state = "tube1"; dir = 1},/turf/simulated/floor/plating,/area/engine/engine_room)
"crD" = (/obj/machinery/light{dir = 4; icon_state = "tube1"},/obj/structure/table/reinforced,/obj/machinery/door_control{id = "chemcounter"; name = "Pharmacy Counter Lockdown Control"; pixel_y = 25},/obj/machinery/reagentgrinder,/turf/simulated/floor{icon_state = "white"},/area/medical/chemistry)
"crE" = (/obj/machinery/smartfridge/secure/extract,/turf/simulated/floor{dir = 2; icon_state = "whitecorner"},/area/rnd/xenobiology)
"crF" = (/obj/structure/table,/obj/machinery/firealarm{dir = 2; pixel_y = 24},/obj/item/weapon/storage/box/cups{pixel_x = 0; pixel_y = 0},/turf/simulated/floor{tag = "icon-whiteblue (NORTH)"; icon_state = "whiteblue"; dir = 1},/area/medical/reception)
@@ -6372,7 +6372,7 @@
"csB" = (/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 5},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor/plating,/area/maintenance/research_port)
"csC" = (/obj/structure/disposalpipe/segment,/obj/machinery/atmospherics/pipe/simple/hidden/purple{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/turf/simulated/floor{icon_state = "white"},/area/medical/virology)
"csD" = (/obj/machinery/atmospherics/pipe/manifold/hidden/purple,/obj/machinery/atmospherics/pipe/manifold/hidden/supply,/turf/simulated/floor{icon_state = "white"},/area/medical/virology)
-"csE" = (/obj/structure/rack{dir = 8; layer = 2.6},/obj/item/clothing/shoes/magboots,/obj/item/clothing/mask/breath,/obj/item/clothing/head/helmet/space/void/engineering,/obj/machinery/light{dir = 1},/obj/structure/window/reinforced{dir = 8},/obj/machinery/door/window/southleft{name = "Engineering Hardsuits"; req_access_txt = "11"},/obj/item/clothing/suit/space/void/engineering,/turf/simulated/floor,/area/engine/engine_eva)
+"csE" = (/obj/structure/cable/yellow{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/atmospherics/pipe/simple/visible/cyan{dir = 4; icon_state = "intact"; tag = "icon-intact (EAST)"},/obj/item/device/radio/intercom{name = "Station Intercom (General)"; pixel_y = -29},/turf/simulated/floor/plating{dir = 2; icon_state = "warnplate"},/area/engine/engine_room)
"csF" = (/obj/machinery/camera{c_tag = "Virology Starboard"; dir = 8; network = list("RD"); pixel_y = -22},/obj/machinery/atmospherics/pipe/simple/hidden/purple{dir = 10},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 10},/turf/simulated/floor{icon_state = "white"},/area/medical/virology)
"csG" = (/obj/structure/table,/obj/item/weapon/circular_saw,/obj/item/weapon/scalpel{pixel_y = 12},/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 8},/turf/simulated/floor,/area/rnd/xenobiology)
"csH" = (/obj/machinery/disposal,/obj/structure/disposalpipe/trunk{dir = 8},/obj/structure/sign/deathsposal{pixel_x = 0; pixel_y = -32},/obj/machinery/atmospherics/pipe/simple/hidden/purple{dir = 4},/turf/simulated/floor{icon_state = "whitehall"; dir = 1},/area/rnd/xenobiology)
@@ -6380,7 +6380,7 @@
"csJ" = (/obj/structure/disposalpipe/segment,/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/simple/hidden/purple{dir = 5},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 9; pixel_y = 0},/turf/simulated/floor{icon_state = "white"},/area/rnd/xenobiology)
"csK" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/machinery/vending/wallmed1{name = "Emergency NanoMed"; pixel_x = 0; pixel_y = -32; req_access_txt = "0"},/obj/machinery/atmospherics/pipe/simple/hidden/purple{dir = 4},/turf/simulated/floor,/area/rnd/xenobiology)
"csL" = (/obj/structure/disposalpipe/segment{dir = 4; icon_state = "pipe-c"},/obj/machinery/atmospherics/pipe/simple/hidden/purple{dir = 4},/turf/simulated/floor{icon_state = "white"},/area/rnd/xenobiology)
-"csM" = (/obj/item/clothing/shoes/magboots,/obj/item/clothing/mask/breath,/obj/item/clothing/head/helmet/space/void/engineering,/obj/machinery/door/window/southleft{name = "Engineering Hardsuits"; req_access_txt = "11"},/obj/structure/rack{dir = 8; layer = 2.6},/obj/item/clothing/suit/space/void/engineering,/turf/simulated/floor,/area/engine/engine_eva)
+"csM" = (/obj/structure/rack,/obj/item/clothing/shoes/magboots,/obj/item/clothing/suit/space/void/merc,/obj/item/clothing/mask/gas/syndicate,/obj/item/clothing/head/helmet/space/void/merc,/turf/unsimulated/floor{icon_state = "dark"},/area/syndicate_mothership)
"csN" = (/obj/machinery/atmospherics/unary/vent_pump/on{dir = 4},/turf/simulated/floor{icon_state = "white"},/area/rnd/xenobiology)
"csO" = (/obj/machinery/power/apc{dir = 1; name = "north bump"; pixel_x = 0; pixel_y = 24},/obj/structure/cable{d2 = 8; icon_state = "0-8"},/turf/simulated/floor{icon_state = "floorgrime"},/area/maintenance/incinerator)
"csP" = (/obj/machinery/suit_cycler/mining,/turf/simulated/floor,/area/mine/eva)
@@ -6704,7 +6704,7 @@
"cyV" = (/obj/machinery/atmospherics/unary/vent_pump/on{dir = 1},/turf/simulated/floor{icon_state = "blue"; dir = 6},/area/medical/surgeryobs)
"cyW" = (/turf/simulated/floor/engine/nitrogen{dir = 4; icon_state = "warnplate"; name = "plating"},/area/engine/engine_room)
"cyX" = (/turf/simulated/floor/plating{icon_state = "warnplate"; dir = 8},/area/engine/engine_room)
-"cyY" = (/obj/machinery/door_control{desc = "A remote control-switch for Surgery."; id = "Surgery"; name = "Surgery"; normaldoorcontrol = 1; pixel_x = -24; pixel_y = 8},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor{dir = 9; icon_state = "blue"},/area/medical/surgeryprep)
+"cyY" = (/obj/machinery/door_control{desc = "A remote control switch for the medbay foyer."; id = "MedbayFoyerStar"; name = "Medbay Doors Control"; normaldoorcontrol = 1; pixel_x = 6; pixel_y = 28},/obj/structure/stool/bed/chair/office/dark{dir = 1},/obj/effect/landmark/start{name = "Medical Doctor"},/turf/simulated/floor{tag = "icon-vault (EAST)"; icon_state = "vault"; dir = 4},/area/medical/reception)
"cyZ" = (/turf/simulated/floor/holofloor{dir = 10; icon_state = "green"},/area/holodeck/source_basketball)
"cza" = (/obj/structure/holohoop{dir = 1},/turf/simulated/floor/holofloor{dir = 2; icon_state = "green"},/area/holodeck/source_basketball)
"czb" = (/turf/simulated/floor/holofloor{dir = 6; icon_state = "green"},/area/holodeck/source_basketball)
@@ -7344,7 +7344,7 @@
"cLl" = (/obj/structure/stool/bed/chair{dir = 4},/turf/unsimulated/floor{icon_state = "carpet"; dir = 2},/area/centcom/control)
"cLm" = (/obj/structure/table/woodentable,/turf/unsimulated/floor{icon_state = "carpet"; dir = 2},/area/centcom/control)
"cLn" = (/obj/effect/landmark{name = "Marauder Exit"},/turf/unsimulated/floor{name = "plating"},/area/centcom)
-"cLo" = (/obj/machinery/porta_turret,/turf/unsimulated/floor{icon_state = "vault"; dir = 1},/area/centcom)
+"cLo" = (/obj/structure/table/reinforced,/obj/item/stack/sheet/glass{amount = 50},/obj/item/stack/sheet/glass{amount = 50},/obj/item/stack/sheet/glass{amount = 50},/obj/item/stack/sheet/glass{amount = 50},/obj/item/stack/sheet/metal{amount = 50; pixel_x = 2; pixel_y = 2},/obj/item/stack/sheet/metal{amount = 50; pixel_x = 2; pixel_y = 2},/obj/item/stack/sheet/metal{amount = 50; pixel_x = 2; pixel_y = 2},/obj/item/stack/sheet/metal{amount = 50; pixel_x = 2; pixel_y = 2},/obj/item/stack/sheet/plasteel{amount = 50},/obj/item/stack/sheet/plasteel{amount = 50},/obj/item/stack/sheet/plasteel{amount = 50},/obj/item/stack/sheet/plasteel{amount = 50},/obj/item/stack/sheet/glass/reinforced{amount = 50},/obj/item/stack/sheet/glass/reinforced{amount = 50},/obj/item/stack/sheet/glass/reinforced{amount = 50},/obj/item/weapon/storage/briefcase/inflatable{pixel_x = 3; pixel_y = 3},/obj/item/weapon/storage/briefcase/inflatable{pixel_x = 3; pixel_y = 3},/obj/item/weapon/storage/briefcase/inflatable{pixel_x = 3; pixel_y = 3},/obj/item/weapon/storage/briefcase/inflatable{pixel_x = 3; pixel_y = 3},/turf/unsimulated/floor{icon_state = "dark"},/area/centcom)
"cLp" = (/obj/structure/table/reinforced,/obj/item/device/pda/ert,/obj/item/device/pda/ert,/obj/item/device/pda/ert,/obj/item/device/pda/ert,/obj/item/device/pda/ert,/obj/item/device/pda/ert,/obj/item/device/pda/ert,/turf/unsimulated/floor{icon_state = "vault"; dir = 1},/area/centcom/specops)
"cLq" = (/obj/machinery/door/window{dir = 1; name = "Cell"; req_access_txt = "150"},/obj/item/device/radio/intercom{desc = "Talk through this. Evilly"; freerange = 1; frequency = 1213; name = "Syndicate Intercom"; pixel_x = -32; subspace_transmission = 1; syndie = 1},/turf/simulated/shuttle/floor{icon_state = "floor6"},/area/syndicate_station/start)
"cLr" = (/turf/unsimulated/floor{icon_state = "vault"; dir = 9},/area/centcom)
@@ -7467,8 +7467,8 @@
"cNE" = (/obj/machinery/door/firedoor,/obj/machinery/door/airlock/medical{name = "Operating Theatre 1"; req_access_txt = "45"},/turf/simulated/floor,/area/medical/surgeryprep)
"cNF" = (/turf/simulated/floor{icon_state = "blue"; dir = 8},/area/medical/surgeryprep)
"cNG" = (/turf/simulated/floor/plating,/area/maintenance/research_port)
-"cNH" = (/obj/machinery/chem_dispenser/meds,/turf/unsimulated/floor{icon_state = "vault"; dir = 8},/area/centcom)
-"cNI" = (/obj/structure/rack{dir = 8; layer = 2.9},/obj/item/clothing/shoes/magboots,/obj/item/clothing/suit/space/void/atmos,/obj/item/clothing/mask/breath,/obj/item/clothing/head/helmet/space/void/atmos,/obj/machinery/door/window/northright{name = "Atmospherics Hardsuits"; req_access_txt = "24"},/turf/simulated/floor,/area/engine/engine_eva)
+"cNH" = (/obj/structure/table/reinforced,/obj/item/device/flash,/obj/item/device/flash,/obj/item/device/flash,/obj/item/device/flash,/obj/item/weapon/melee/baton/loaded,/obj/item/weapon/melee/baton/loaded,/obj/item/weapon/melee/baton/loaded,/obj/item/weapon/melee/baton/loaded,/obj/item/weapon/storage/belt/security/tactical,/obj/item/weapon/storage/belt/security/tactical,/obj/item/weapon/storage/belt/security/tactical,/obj/item/weapon/storage/belt/security/tactical,/obj/item/taperoll/police,/turf/unsimulated/floor{icon_state = "vault"; dir = 1},/area/centcom/specops)
+"cNI" = (/obj/structure/rack,/obj/item/clothing/shoes/magboots,/obj/item/clothing/tie/storage/black_vest,/obj/item/clothing/shoes/magboots,/obj/item/clothing/tie/storage/black_vest,/obj/item/weapon/rig/ert/security,/turf/unsimulated/floor{icon_state = "vault"; dir = 1},/area/centcom)
"cNJ" = (/obj/item/weapon/mop,/obj/structure/mopbucket,/turf/unsimulated/floor{icon_state = "vault"; dir = 1},/area/centcom/specops)
"cNK" = (/obj/structure/reagent_dispensers/watertank,/obj/item/weapon/reagent_containers/glass/bucket{amount_per_transfer_from_this = 50},/turf/unsimulated/floor{icon_state = "vault"; dir = 1},/area/centcom/specops)
"cNL" = (/obj/machinery/telecomms/relay/preset/centcom,/turf/unsimulated/floor{icon_state = "grimy"},/area/centcom/creed)
@@ -7498,7 +7498,7 @@
"cOj" = (/obj/machinery/vending/coffee,/turf/unsimulated/floor{icon_state = "dark"},/area/centcom/control)
"cOk" = (/obj/structure/shuttle/engine/propulsion{icon_state = "propulsion"; dir = 4},/turf/space,/area/shuttle/specops/centcom)
"cOl" = (/obj/structure/window/reinforced{dir = 4},/obj/structure/shuttle/engine/heater{icon_state = "heater"; dir = 8},/turf/unsimulated/floor,/area/shuttle/specops/centcom)
-"cOm" = (/obj/structure/table/reinforced,/obj/item/device/radio/intercom{broadcasting = 0; dir = 1; frequency = 1443; listening = 1; name = "Spec Ops Intercom"; pixel_y = 28},/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/shuttle/specops/centcom)
+"cOm" = (/obj/structure/rack,/obj/item/clothing/shoes/magboots,/obj/item/weapon/rig/ert/engineer,/obj/item/clothing/tie/storage/brown_vest,/obj/item/clothing/shoes/magboots,/obj/item/clothing/tie/storage/brown_vest,/turf/unsimulated/floor{icon_state = "vault"; dir = 1},/area/centcom)
"cOn" = (/obj/structure/lattice,/obj/structure/grille,/obj/structure/lattice,/turf/space,/area/space)
"cOo" = (/obj/structure/rack,/obj/item/clothing/mask/breath,/obj/item/clothing/mask/breath,/obj/item/clothing/mask/breath,/obj/item/clothing/mask/breath,/obj/item/clothing/mask/breath,/obj/item/clothing/mask/breath,/obj/item/clothing/mask/breath,/obj/item/clothing/mask/breath,/turf/unsimulated/floor{icon_state = "vault"; dir = 1},/area/centcom)
"cOp" = (/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/shuttle/specops/centcom)
@@ -7538,7 +7538,7 @@
"cOX" = (/turf/simulated/wall,/area/maintenance/engi_engine)
"cOY" = (/turf/simulated/shuttle/floor,/area/shuttle/escape/centcom)
"cOZ" = (/obj/structure/stool/bed/chair{dir = 4},/turf/simulated/shuttle/floor,/area/shuttle/escape/centcom)
-"cPa" = (/obj/structure/rack{dir = 8; layer = 2.9},/obj/item/clothing/shoes/magboots,/obj/item/clothing/suit/space/void/atmos,/obj/item/clothing/mask/breath,/obj/item/clothing/head/helmet/space/void/atmos,/obj/structure/window/reinforced{dir = 8},/obj/machinery/door/window/northleft{name = "Atmospherics Hardsuits"; req_access_txt = "24"},/turf/simulated/floor,/area/engine/engine_eva)
+"cPa" = (/obj/machinery/door_control{desc = "A remote control switch for the medbay foyer."; id = "MedbayFoyerPort"; name = "Medbay Doors Control"; normaldoorcontrol = 1; pixel_x = -16; pixel_y = 28; req_access_txt = null},/obj/structure/stool/bed/chair/office/dark{dir = 1},/obj/effect/landmark/start{name = "Medical Doctor"},/turf/simulated/floor{tag = "icon-vault (NORTH)"; icon_state = "vault"; dir = 1},/area/medical/reception)
"cPb" = (/turf/unsimulated/beach/sand{tag = "icon-desert"; icon_state = "desert"},/area/centcom/ferry)
"cPc" = (/turf/unsimulated/floor{tag = "icon-whitehall (EAST)"; icon_state = "whitehall"; dir = 4},/area/centcom/holding)
"cPd" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 8},/turf/simulated/floor/plating,/area/maintenance/engi_engine)
@@ -7623,7 +7623,7 @@
"cQE" = (/obj/structure/table/woodentable{dir = 5},/obj/machinery/chem_dispenser/beer,/turf/unsimulated/floor{icon_state = "grimy"},/area/centcom/holding)
"cQF" = (/obj/structure/table/woodentable{dir = 5},/obj/item/weapon/book/manual/barman_recipes,/obj/item/weapon/reagent_containers/glass/rag,/turf/unsimulated/floor{icon_state = "grimy"},/area/centcom/holding)
"cQG" = (/obj/structure/table/woodentable{dir = 5},/obj/machinery/chem_dispenser/soda,/turf/unsimulated/floor{icon_state = "grimy"},/area/centcom/holding)
-"cQH" = (/obj/structure/sign/securearea{desc = "A warning sign which reads 'EXTERNAL AIRLOCK'"; icon_state = "space"; layer = 4; name = "EXTERNAL AIRLOCK"; pixel_x = 0; pixel_y = -32},/obj/machinery/atmospherics/portables_connector{dir = 8},/obj/machinery/portable_atmospherics/canister/air/airlock,/turf/simulated/floor/plating{dir = 1; icon_state = "warnplatecorner"},/area/maintenance/starboardsolar)
+"cQH" = (/obj/machinery/door_control{desc = "A remote control-switch for Surgery."; id = "Surgery"; name = "Surgery"; normaldoorcontrol = 1; pixel_x = -24; pixel_y = 8},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor{dir = 9; icon_state = "blue"},/area/medical/surgeryprep)
"cQI" = (/turf/unsimulated/floor{dir = 8; icon_state = "whitegreen"},/area/centcom/holding)
"cQJ" = (/obj/machinery/atmospherics/tvalve/digital/bypass{dir = 1; icon_state = "map_tvalve0"; state = 0},/turf/simulated/floor{icon_state = "floorgrime"},/area/maintenance/incinerator)
"cQK" = (/obj/machinery/power/terminal,/obj/structure/cable{icon_state = "0-4"; d2 = 4},/turf/simulated/floor/plating,/area/maintenance/substation/engineering)
@@ -8502,7 +8502,7 @@
"dhz" = (/obj/machinery/access_button{command = "cycle_interior"; frequency = 1379; master_tag = "solar_xeno_airlock"; name = "interior access button"; pixel_x = -25; pixel_y = -25; req_access_txt = "10;13"},/obj/machinery/atmospherics/pipe/manifold/visible{dir = 8},/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{dir = 2; icon_state = "warnplate"},/area/maintenance/starboardsolar)
"dhA" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 1},/obj/machinery/door/firedoor/border_only{dir = 2},/turf/simulated/floor/plating,/area/mine/west_outpost)
"dhB" = (/obj/machinery/power/solar_control{id = "starboardsolar"; name = "Aft Starboard Solar Control"; track = 0},/obj/structure/cable/yellow{d2 = 4; icon_state = "0-4"},/turf/simulated/floor/plating{dir = 2; icon_state = "warnplatecorner"},/area/maintenance/starboardsolar)
-"dhC" = (/obj/machinery/atmospherics/portables_connector{dir = 8},/obj/machinery/portable_atmospherics/canister/air/airlock,/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0},/turf/simulated/floor/plating{dir = 1; icon_state = "warnplatecorner"},/area/maintenance/engi_shuttle)
+"dhC" = (/obj/structure/sign/securearea{desc = "A warning sign which reads 'EXTERNAL AIRLOCK'"; icon_state = "space"; layer = 4; name = "EXTERNAL AIRLOCK"; pixel_x = 0; pixel_y = -32},/obj/machinery/atmospherics/portables_connector{dir = 8},/obj/machinery/portable_atmospherics/canister/air/airlock,/turf/simulated/floor/plating{dir = 1; icon_state = "warnplatecorner"},/area/maintenance/starboardsolar)
"dhD" = (/obj/structure/table,/obj/machinery/firealarm{dir = 8; pixel_x = -24},/obj/item/stack/medical/advanced/bruise_pack,/obj/item/weapon/retractor,/turf/simulated/floor{icon_state = "white"},/area/medical/surgery)
"dhE" = (/obj/structure/table,/obj/machinery/firealarm{dir = 4; pixel_x = 24},/obj/item/stack/medical/advanced/bruise_pack,/obj/item/weapon/retractor,/turf/simulated/floor{icon_state = "white"},/area/medical/surgery2)
"dhF" = (/obj/effect/decal/cleanable/dirt,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor/plating{dir = 1; icon_state = "warnplatecorner"},/area/maintenance/engineering)
@@ -8567,7 +8567,7 @@
"diM" = (/obj/item/weapon/inflatable_duck,/turf/unsimulated/beach/sand{tag = "icon-desert"; icon_state = "desert"},/area/centcom/ferry)
"diN" = (/turf/space/transit/east/shuttlespace_ew11,/area/space)
"diO" = (/obj/machinery/door/airlock/external{frequency = 1380; icon_state = "door_locked"; id_tag = "centcom_dock_airlock"; locked = 1; name = "Arrivals Airlock"; req_access_txt = "13"},/turf/unsimulated/floor{icon_state = "vault"; dir = 5},/area/centcom/evac)
-"diP" = (/obj/machinery/door/airlock/hatch{icon_state = "door_locked"; id_tag = "engine_access_hatch"; locked = 1; req_access_txt = "10"},/obj/machinery/atmospherics/pipe/simple/visible/yellow,/turf/simulated/floor/plating,/area/engine/engine_room)
+"diP" = (/obj/structure/rack,/obj/item/clothing/shoes/magboots,/obj/item/clothing/tie/storage/brown_vest,/obj/item/clothing/shoes/magboots,/obj/item/clothing/tie/storage/brown_vest,/obj/item/weapon/rig/ert/engineer,/turf/unsimulated/floor{icon_state = "vault"; dir = 1},/area/centcom)
"diQ" = (/obj/machinery/door/airlock/external{frequency = 1380; icon_state = "door_locked"; id_tag = "centcom_shuttle_hatch"; locked = 1; name = "Shuttle Hatch"; req_access_txt = "13"},/turf/simulated/shuttle/floor,/area/shuttle/transport1/centcom)
"diR" = (/obj/machinery/embedded_controller/radio/simple_docking_controller{frequency = 1380; id_tag = "centcom_shuttle"; pixel_x = 0; pixel_y = -25; req_access_txt = "0"; req_one_access_txt = "0"; tag_door = "centcom_shuttle_hatch"},/turf/simulated/shuttle/floor,/area/shuttle/transport1/centcom)
"diS" = (/obj/machinery/embedded_controller/radio/simple_docking_controller{frequency = 1380; id_tag = "centcom_dock"; name = "docking port controller"; pixel_x = 25; pixel_y = 0; req_access_txt = "0"; req_one_access_txt = "13"; tag_door = "centcom_dock_airlock"},/turf/unsimulated/floor{dir = 6; icon_state = "warning"},/area/centcom/evac)
@@ -8576,10 +8576,10 @@
"diV" = (/obj/machinery/door/airlock/external{frequency = 1380; glass = 1380; icon_state = "door_locked"; id_tag = "centcom_shuttle_bay_door"; locked = 1; name = "Transport Airlock"},/turf/unsimulated/floor{icon_state = "vault"; dir = 5},/area/centcom/ferry)
"diW" = (/obj/machinery/computer/shuttle_control{req_access = null; req_access_txt = "101"; shuttle_tag = "Centcom"},/turf/simulated/shuttle/floor,/area/shuttle/transport1/centcom)
"diX" = (/obj/structure/table/reinforced,/obj/item/device/megaphone,/obj/item/clothing/glasses/sunglasses/sechud,/obj/item/weapon/storage/box/trackimp,/obj/item/weapon/storage/box/cdeathalarm_kit,/turf/unsimulated/floor{icon_state = "vault"; dir = 8},/area/centcom/specops)
-"diY" = (/obj/machinery/computer/shuttle_control/specops,/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/shuttle/specops/centcom)
+"diY" = (/obj/structure/table/reinforced,/obj/item/weapon/storage/box/flashbangs,/obj/item/weapon/handcuffs,/obj/item/device/flash,/obj/item/weapon/melee/baton/loaded,/obj/item/weapon/storage/belt/security/tactical,/turf/unsimulated/floor{icon_state = "vault"; dir = 8},/area/centcom)
"diZ" = (/obj/machinery/computer/shuttle_control/emergency,/turf/simulated/shuttle/floor,/area/shuttle/escape/centcom)
"dja" = (/obj/machinery/door/airlock/external{frequency = 1380; icon_state = "door_locked"; id_tag = "specops_shuttle_fore_hatch"; locked = 1; name = "Forward Docking Hatch"; req_access_txt = "13"},/turf/simulated/shuttle/plating,/area/shuttle/specops/centcom)
-"djb" = (/obj/machinery/embedded_controller/radio/simple_docking_controller{frequency = 1380; id_tag = "specops_shuttle_fore"; name = "forward docking hatch controller"; pixel_x = 0; pixel_y = -25; req_access_txt = "0"; req_one_access_txt = "0"; tag_door = "specops_shuttle_fore_hatch"},/obj/machinery/recharger/wallcharger{pixel_x = 4; pixel_y = 32},/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/shuttle/specops/centcom)
+"djb" = (/obj/structure/rack,/obj/item/clothing/shoes/magboots,/obj/item/clothing/tie/storage/black_vest,/obj/item/weapon/rig/ert,/turf/unsimulated/floor{icon_state = "vault"; dir = 1},/area/centcom)
"djc" = (/obj/structure/table,/obj/item/weapon/storage/firstaid/fire,/obj/item/weapon/extinguisher,/obj/item/device/radio/intercom{dir = 8; name = "Station Intercom (General)"; pixel_x = -28},/obj/machinery/embedded_controller/radio/simple_docking_controller{frequency = 1380; id_tag = "escape_shuttle"; pixel_x = 8; pixel_y = 25; req_access_txt = "0"; req_one_access_txt = "13"; tag_door = "escape_shuttle_hatch"},/turf/simulated/shuttle/floor,/area/shuttle/escape/centcom)
"djd" = (/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers,/obj/machinery/atmospherics/pipe/manifold/hidden/supply,/turf/simulated/floor/plating,/area/maintenance/research_port)
"dje" = (/obj/structure/cable{d2 = 2; icon_state = "0-2"; pixel_y = 0},/obj/machinery/power/smes/buildable{charge = 0},/turf/simulated/floor/plating,/area/maintenance/portsolar)
@@ -8710,12 +8710,12 @@
"dlz" = (/turf/space/transit/east/shuttlespace_ew15,/area/space)
"dlA" = (/obj/machinery/door/airlock/maintenance_hatch,/turf/simulated/floor/plating/airless,/area/constructionsite/hallway/aft)
"dlB" = (/turf/space/transit/east/shuttlespace_ew1,/area/space)
-"dlC" = (/obj/machinery/door/airlock/hatch{icon_state = "door_locked"; id_tag = "engine_access_hatch"; locked = 1; req_access_txt = "10"},/obj/machinery/atmospherics/pipe/simple/visible/cyan,/turf/simulated/floor/plating,/area/engine/engine_room)
+"dlC" = (/obj/machinery/atmospherics/portables_connector,/obj/machinery/portable_atmospherics/canister/air/airlock,/turf/simulated/floor{dir = 9; icon_state = "warning"},/area/tcommsat/entrance)
"dlD" = (/obj/machinery/atmospherics/pipe/simple/hidden,/turf/simulated/floor{icon_state = "cafeteria"; dir = 5},/area/djstation)
"dlE" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor/plating{dir = 1; icon_state = "warnplate"; nitrogen = 0.01; oxygen = 0.01},/area/maintenance/research_port)
"dlF" = (/obj/machinery/door/airlock/maintenance_hatch,/turf/simulated/wall,/area/constructionsite/hallway/aft)
"dlG" = (/obj/machinery/door/airlock/highsecurity{icon_state = "door_closed"; locked = 0; name = "AI Upload Access"; req_access_txt = "16"},/turf/simulated/floor/plating/airless,/area/constructionsite/hallway/aft)
-"dlH" = (/obj/machinery/atmospherics/tvalve/mirrored/digital{dir = 4},/obj/structure/cable/yellow{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor/plating{dir = 2; icon_state = "warnplate"},/area/engine/engine_room)
+"dlH" = (/obj/machinery/chem_dispenser/meds,/obj/item/weapon/reagent_containers/glass/beaker/large,/turf/unsimulated/floor{icon_state = "vault"; dir = 8},/area/centcom)
"dlI" = (/obj/effect/step_trigger/teleporter/random{affect_ghosts = 1; name = "escapeshuttle_leave"; teleport_x = 25; teleport_x_offset = 245; teleport_y = 25; teleport_y_offset = 245; teleport_z = 6; teleport_z_offset = 6},/turf/space/transit/east/shuttlespace_ew6,/area/space)
"dlJ" = (/turf/space/transit/east/shuttlespace_ew7,/area/space)
"dlK" = (/obj/machinery/access_button{command = "cycle_interior"; frequency = 1380; master_tag = "engineering_station_airlock"; name = "interior access button"; pixel_x = 30; pixel_y = -25; req_access_txt = "0"; req_one_access_txt = "13;32"},/obj/machinery/atmospherics/pipe/simple/hidden,/turf/simulated/floor{icon_state = "cafeteria"; dir = 5},/area/djstation)
@@ -8725,7 +8725,7 @@
"dlO" = (/obj/machinery/computer/mech_bay_power_console,/turf/simulated/floor/plating,/area/djstation)
"dlP" = (/turf/simulated/floor/mech_bay_recharge_floor,/area/djstation)
"dlQ" = (/turf/space/transit/east/shuttlespace_ew12,/area/space)
-"dlR" = (/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/machinery/atmospherics/portables_connector,/obj/machinery/portable_atmospherics/canister/air/airlock,/turf/simulated/floor/plating{dir = 1; icon_state = "warnplatecorner"},/area/maintenance/portsolar)
+"dlR" = (/obj/machinery/atmospherics/portables_connector{dir = 4},/obj/machinery/portable_atmospherics/canister/air/airlock,/turf/simulated/floor{icon_state = "cafeteria"; dir = 5},/area/djstation)
"dlS" = (/turf/space/transit/east/shuttlespace_ew8,/area/space)
"dlT" = (/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 8},/turf/unsimulated/wall{icon_state = "iron3"},/area/space)
"dlU" = (/obj/structure/window/reinforced{dir = 8},/turf/unsimulated/wall{icon_state = "iron3"},/area/space)
@@ -8756,7 +8756,7 @@
"dmt" = (/obj/item/weapon/extinguisher,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor/plating,/area/djstation)
"dmu" = (/obj/machinery/power/smes,/obj/structure/cable{d2 = 2; icon_state = "0-2"; pixel_y = 0},/turf/simulated/floor/plating,/area/djstation)
"dmv" = (/obj/structure/table,/obj/item/weapon/crowbar,/obj/item/stack/cable_coil{pixel_x = 3; pixel_y = -7},/obj/item/clothing/gloves/yellow,/obj/item/device/assembly/prox_sensor{pixel_x = -8; pixel_y = 4},/obj/item/clothing/glasses/night,/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/syndicate_mothership)
-"dmw" = (/obj/structure/rack,/obj/item/clothing/shoes/magboots,/obj/item/clothing/suit/space/void/merc,/obj/item/clothing/mask/gas/syndicate,/obj/item/clothing/head/helmet/space/void/merc,/turf/unsimulated/floor{icon_state = "dark"},/area/syndicate_mothership)
+"dmw" = (/obj/structure/rack,/obj/item/clothing/shoes/magboots,/obj/item/clothing/tie/storage/black_vest,/obj/item/clothing/shoes/magboots,/obj/item/clothing/tie/storage/black_vest,/obj/item/weapon/rig/ert/medical,/turf/unsimulated/floor{icon_state = "vault"; dir = 1},/area/centcom/specops)
"dmx" = (/obj/structure/table,/obj/item/weapon/storage/box/gloves{pixel_x = 3; pixel_y = 4},/obj/item/weapon/storage/box/masks,/obj/item/weapon/reagent_containers/spray/cleaner,/turf/unsimulated/floor{icon_state = "floor"},/area/centcom/holding)
"dmy" = (/obj/structure/table/reinforced,/obj/item/weapon/storage/belt/medical,/obj/item/weapon/storage/belt/medical,/obj/item/weapon/storage/belt/medical,/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/hypospray,/obj/item/weapon/reagent_containers/hypospray,/obj/item/weapon/reagent_containers/hypospray,/obj/item/weapon/storage/box/syringes,/obj/item/device/flash,/obj/item/device/flash,/turf/unsimulated/floor{icon_state = "vault"; dir = 1},/area/centcom)
"dmz" = (/obj/structure/cable{d1 = 1; d2 = 4; icon_state = "1-4"},/turf/simulated/floor/plating,/area/djstation)
@@ -8899,7 +8899,7 @@
"dpg" = (/obj/effect/step_trigger/thrower{affect_ghosts = 1; name = "thrower_leftnostop"},/turf/space/transit/east/shuttlespace_ew5,/area/space)
"dph" = (/obj/effect/step_trigger/thrower{affect_ghosts = 1; direction = 2; name = "thrower_throwdownside"; nostop = 1; stopper = 0; tiles = 0},/turf/space/transit/north/shuttlespace_ns3,/area/space)
"dpi" = (/obj/mecha/medical/odysseus/loaded,/turf/unsimulated/floor{icon_state = "delivery"; dir = 6},/area/centcom/specops)
-"dpj" = (/obj/structure/rack,/obj/item/clothing/shoes/magboots,/obj/item/clothing/tie/storage/black_vest,/obj/item/clothing/shoes/magboots,/obj/item/clothing/tie/storage/black_vest,/obj/item/weapon/rig/ert/security,/turf/unsimulated/floor{icon_state = "vault"; dir = 1},/area/centcom)
+"dpj" = (/obj/machinery/porta_turret{check_records = 0; on = 0},/turf/unsimulated/floor{icon_state = "vault"; dir = 1},/area/centcom)
"dpk" = (/obj/structure/transit_tube{icon_state = "N-S"},/turf/simulated/floor/plating/airless/asteroid,/area/mine/explored)
"dpl" = (/obj/machinery/mass_driver{dir = 4; id = "research"},/turf/simulated/floor/plating/airless/asteroid,/area/mine/explored)
"dpm" = (/obj/effect/step_trigger/thrower{affect_ghosts = 1; direction = 8; name = "thrower_escapeshuttletop(left)"; tiles = 0},/turf/space/transit/north/shuttlespace_ns3,/area/space)
@@ -9063,7 +9063,7 @@
"dso" = (/turf/simulated/wall/r_wall,/area/research_outpost/sample)
"dsp" = (/obj/machinery/vending/cigarette,/turf/unsimulated/floor{tag = "icon-cult"; name = "plating"; icon_state = "cult"},/area/syndicate_mothership)
"dsq" = (/turf/simulated/floor{icon_state = "warning"},/area/research_outpost/maintstore1)
-"dsr" = (/obj/machinery/telecomms/relay/preset/station,/obj/machinery/atmospherics/pipe/simple/hidden,/turf/simulated/floor/bluegrid{icon_state = "dark"; name = "Mainframe Floor"; nitrogen = 100; oxygen = 0; temperature = 80},/area/tcommsat/chamber)
+"dsr" = (/obj/machinery/embedded_controller/radio/simple_docking_controller{frequency = 1380; id_tag = "specops_shuttle_port"; name = "port docking hatch controller"; pixel_x = 0; pixel_y = 25; req_access_txt = "0"; req_one_access_txt = "0"; tag_door = "specops_shuttle_port_hatch"},/obj/structure/stool/bed/chair,/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/shuttle/specops/centcom)
"dss" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor{dir = 1; icon_state = "warning"},/area/tcommsat/entrance)
"dst" = (/obj/structure/rack,/obj/item/clothing/shoes/magboots,/obj/item/clothing/suit/space/syndicate/black/blue,/obj/item/clothing/mask/breath,/obj/item/clothing/head/helmet/space/syndicate/black/blue,/turf/unsimulated/floor{icon_state = "dark"},/area/syndicate_mothership)
"dsu" = (/obj/structure/rack,/obj/item/clothing/shoes/magboots,/obj/item/clothing/suit/space/syndicate/black/engie,/obj/item/clothing/mask/breath,/obj/item/clothing/head/helmet/space/syndicate/black/engie,/turf/unsimulated/floor{icon_state = "dark"},/area/syndicate_mothership)
@@ -9294,7 +9294,7 @@
"dwL" = (/obj/structure/mirror{dir = 4; pixel_x = -32; pixel_y = 0},/obj/structure/sink{icon_state = "sink"; dir = 8; pixel_x = -12; pixel_y = 2},/turf/unsimulated/floor{icon_state = "freezerfloor"; dir = 2},/area/syndicate_mothership)
"dwM" = (/obj/structure/disposalpipe/segment{dir = 4; icon_state = "pipe-c"},/turf/simulated/wall/r_wall,/area/research_outpost/power)
"dwN" = (/obj/structure/extinguisher_cabinet{pixel_x = -5; pixel_y = 30},/turf/simulated/floor,/area/mine/living_quarters)
-"dwO" = (/obj/structure/rack,/obj/item/clothing/shoes/magboots,/obj/item/weapon/rig/ert/engineer,/obj/item/clothing/tie/storage/brown_vest,/obj/item/clothing/shoes/magboots,/obj/item/clothing/tie/storage/brown_vest,/turf/unsimulated/floor{icon_state = "vault"; dir = 1},/area/centcom)
+"dwO" = (/obj/machinery/atmospherics/portables_connector{dir = 1},/obj/machinery/portable_atmospherics/canister/air/airlock,/turf/simulated/floor/plating,/area/djstation)
"dwP" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 1},/obj/machinery/door/firedoor/border_only{dir = 2},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 10},/turf/simulated/floor/plating,/area/atmos)
"dwQ" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 1},/turf/simulated/floor/plating/airless,/area/mine/abandoned)
"dwR" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced,/turf/simulated/floor/plating/airless,/area/mine/abandoned)
@@ -9450,11 +9450,11 @@
"dzL" = (/obj/structure/stool/bed/chair{dir = 4},/obj/item/device/radio/intercom{desc = "Talk through this. Evilly"; freerange = 1; frequency = 1213; name = "Syndicate Intercom"; pixel_x = -32; subspace_transmission = 1; syndie = 1},/turf/simulated/shuttle/floor{icon_state = "floor6"},/area/syndicate_station/start)
"dzM" = (/obj/machinery/atmospherics/pipe/manifold/visible,/turf/simulated/floor/plating,/area/djstation)
"dzN" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0},/obj/structure/cable{d1 = 2; d2 = 4; icon_state = "2-4"},/obj/structure/cable{d1 = 1; d2 = 4; icon_state = "1-4"},/turf/simulated/floor/plating/airless,/area/djstation/solars)
-"dzO" = (/obj/structure/rack,/obj/item/clothing/shoes/magboots,/obj/item/clothing/tie/storage/brown_vest,/obj/item/clothing/shoes/magboots,/obj/item/clothing/tie/storage/brown_vest,/obj/item/weapon/rig/ert/engineer,/turf/unsimulated/floor{icon_state = "vault"; dir = 1},/area/centcom)
+"dzO" = (/obj/machinery/computer/security/telescreen{desc = ""; name = "Spec. Ops. Monitor"; network = list("ERT"); pixel_y = 30},/obj/machinery/computer/shuttle_control/specops,/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/shuttle/specops/centcom)
"dzP" = (/obj/structure/cable{d1 = 2; d2 = 4; icon_state = "2-4"},/obj/structure/cable{d1 = 1; d2 = 4; icon_state = "1-4"},/turf/simulated/floor/plating/airless,/area/djstation/solars)
"dzQ" = (/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/shuttle/constructionsite/site)
"dzR" = (/obj/machinery/airlock_sensor{frequency = 1380; id_tag = "engineering_station_sensor"; pixel_x = -25; pixel_y = 8},/obj/machinery/atmospherics/pipe/simple/visible{tag = "icon-intact (NORTHEAST)"; icon_state = "intact"; dir = 5},/turf/simulated/floor/plating,/area/djstation)
-"dzS" = (/obj/structure/rack,/obj/item/clothing/shoes/magboots,/obj/item/clothing/tie/storage/black_vest,/obj/item/weapon/rig/ert,/turf/unsimulated/floor{icon_state = "vault"; dir = 1},/area/centcom)
+"dzS" = (/obj/machinery/portable_atmospherics/powered/pump/filled,/turf/unsimulated/floor{icon_state = "vault"; dir = 1},/area/centcom)
"dzT" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor,/area/research_outpost/gearstore)
"dzU" = (/obj/structure/closet/hydrant{pixel_x = -32},/obj/structure/cable{d1 = 1; d2 = 4; icon_state = "1-4"},/obj/machinery/atmospherics/unary/vent_pump/on{dir = 1},/turf/simulated/floor/plating,/area/research_outpost/maintstore2)
"dzV" = (/obj/machinery/navbeacon{codes_txt = "patrol;next_patrol=CHE"; location = "AIE"},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor,/area/hallway/primary/central_three)
@@ -9647,7 +9647,7 @@
"dDA" = (/obj/machinery/door/window{base_state = "right"; dir = 4; icon_state = "right"; name = "Brig"; req_access_txt = "150"},/turf/simulated/shuttle/floor{icon_state = "floor6"},/area/syndicate_station/start)
"dDB" = (/obj/machinery/light{icon_state = "tube1"; dir = 4},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0},/obj/machinery/door/firedoor/border_only{dir = 4; name = "Firelock"},/turf/simulated/floor{dir = 4; icon_state = "whitebluecorner"},/area/research_outpost/hallway)
"dDC" = (/obj/machinery/door/window{base_state = "left"; dir = 8; icon_state = "left"; name = "Preparation"; req_access_txt = "150"},/turf/simulated/shuttle/floor{icon_state = "floor6"},/area/syndicate_station/start)
-"dDD" = (/obj/structure/table/reinforced,/obj/item/weapon/storage/box/flashbangs,/obj/item/weapon/handcuffs,/obj/item/device/flash,/obj/item/weapon/melee/baton/loaded,/obj/item/weapon/storage/belt/security,/turf/unsimulated/floor{icon_state = "vault"; dir = 8},/area/centcom)
+"dDD" = (/obj/structure/stool/bed/chair{dir = 4},/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/shuttle/specops/centcom)
"dDE" = (/obj/machinery/door/firedoor/border_only{dir = 4; name = "Firelock"},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor{icon_state = "white"},/area/research_outpost/hallway)
"dDF" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor{icon_state = "white"},/area/research_outpost/hallway)
"dDG" = (/obj/machinery/telecomms/allinone{intercept = 1},/turf/simulated/shuttle/floor{icon_state = "floor6"},/area/syndicate_station/start)
@@ -9679,7 +9679,7 @@
"dEg" = (/obj/structure/sign/science{desc = "A warning sign which reads 'ANOMALOUS MATERIALS'"; name = "\improper ANOMALOUS MATERIALS"; pixel_x = 32},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0},/obj/machinery/atmospherics/unary/vent_pump/on{dir = 8},/turf/simulated/floor{dir = 8; icon_state = "barber"},/area/research_outpost/hallway)
"dEh" = (/obj/machinery/door/window{dir = 1; name = "Surgery"; req_access_txt = "150"},/turf/simulated/shuttle/floor{icon_state = "floor3"},/area/syndicate_station/start)
"dEi" = (/obj/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 8},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor{dir = 4; icon_state = "whitebluecorner"},/area/research_outpost/hallway)
-"dEj" = (/obj/structure/rack,/obj/item/clothing/shoes/magboots,/obj/item/clothing/tie/storage/black_vest,/obj/item/clothing/shoes/magboots,/obj/item/clothing/tie/storage/black_vest,/obj/item/weapon/rig/ert/medical,/turf/unsimulated/floor{icon_state = "vault"; dir = 1},/area/centcom/specops)
+"dEj" = (/obj/machinery/embedded_controller/radio/simple_docking_controller{frequency = 1380; id_tag = "specops_shuttle_fore"; name = "forward docking hatch controller"; pixel_x = 0; pixel_y = -25; req_access_txt = "0"; req_one_access_txt = "0"; tag_door = "specops_shuttle_fore_hatch"},/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/shuttle/specops/centcom)
"dEk" = (/obj/structure/window/reinforced{dir = 1},/obj/structure/table,/obj/item/weapon/bonesetter,/obj/item/weapon/bonegel,/turf/simulated/shuttle/floor{icon_state = "floor3"},/area/syndicate_station/start)
"dEl" = (/turf/simulated/floor{icon_state = "vault"; dir = 5},/area/research_outpost/longtermstorage)
"dEm" = (/turf/simulated/floor{icon_state = "bot"; dir = 1},/area/research_outpost/longtermstorage)
@@ -10039,7 +10039,7 @@
"dLc" = (/obj/structure/stool/bed,/obj/item/weapon/bedsheet/hos,/turf/unsimulated/floor{icon_state = "grimy"},/area/syndicate_mothership)
"dLd" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/turf/simulated/floor{dir = 4; icon_state = "warning"},/area/research_outpost/hallway)
"dLe" = (/turf/simulated/floor,/area/mine/eva)
-"dLf" = (/obj/machinery/portable_atmospherics/powered/pump/filled,/turf/unsimulated/floor{icon_state = "vault"; dir = 1},/area/centcom)
+"dLf" = (/obj/machinery/light{dir = 1},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/washing_machine,/turf/simulated/floor{icon_state = "cafeteria"; dir = 2},/area/research_outpost/hallway)
"dLg" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor/plating,/area/research_outpost/power)
"dLh" = (/obj/machinery/light{icon_state = "tube1"; dir = 4},/obj/structure/sign/securearea{desc = "A warning sign which reads 'RADIOACTIVE AREA'"; icon_state = "radiation"; name = "RADIOACTIVE AREA"; pixel_x = 32; pixel_y = 0},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/structure/cable{d1 = 2; d2 = 8; icon_state = "2-8"},/obj/machinery/atmospherics/unary/vent_scrubber/on,/turf/simulated/floor{dir = 4; icon_state = "whitepurple"},/area/research_outpost/hallway)
"dLi" = (/obj/machinery/status_display{layer = 4; pixel_x = 0; pixel_y = 32},/obj/machinery/light/small{dir = 1},/obj/machinery/atmospherics/unary/vent_pump/high_volume{dir = 2; frequency = 1379; id_tag = "mining_east_pump"},/turf/simulated/floor{icon_state = "floorgrime"},/area/mine/eva)
@@ -10488,7 +10488,7 @@
"dTJ" = (/obj/machinery/alarm{frequency = 1441; pixel_y = 22},/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 8},/turf/simulated/floor{icon_state = "white"},/area/research_outpost/sample)
"dTK" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced,/obj/machinery/door/firedoor/border_only{dir = 2},/obj/machinery/atmospherics/pipe/simple/visible/purple,/turf/simulated/floor/plating,/area/research_outpost/atmos)
"dTL" = (/obj/structure/disposaloutlet{dir = 4},/obj/structure/disposalpipe/trunk{dir = 8},/turf/simulated/floor/plating/airless,/area/space)
-"dTM" = (/obj/structure/cable{d2 = 8; icon_state = "0-8"},/obj/machinery/atmospherics/pipe/simple/hidden{dir = 10; icon_state = "intact"; tag = "icon-intact-f (SOUTHWEST)"},/obj/machinery/power/apc{dir = 4; name = "east bump"; pixel_x = 24},/turf/simulated/floor,/area/tcommsat/computer)
+"dTM" = (/obj/machinery/computer/communications,/obj/item/device/radio/intercom{broadcasting = 0; dir = 1; frequency = 1443; listening = 1; name = "Spec Ops Intercom"; pixel_y = -28},/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/shuttle/specops/centcom)
"dTN" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0},/obj/machinery/atmospherics/pipe/simple/hidden{dir = 4; icon_state = "intact"; tag = "icon-intact-f (EAST)"},/turf/simulated/floor,/area/tcommsat/computer)
"dTO" = (/obj/structure/window/shuttle,/obj/structure/grille,/turf/simulated/shuttle/plating,/area/centcom/evac)
"dTP" = (/obj/structure/extinguisher_cabinet{pixel_x = 0; pixel_y = -30},/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor,/area/hallway/primary/starboard)
@@ -10523,7 +10523,7 @@
"dUs" = (/obj/machinery/door/firedoor/border_only{dir = 4; name = "Firelock"},/obj/machinery/door/airlock{id_tag = "rbath"; name = "Bathroom"},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor{icon_state = "showroomfloor"},/area/research_outpost/hallway)
"dUt" = (/obj/structure/cable,/obj/machinery/power/apc{dir = 2; name = "south bump"; pixel_y = -24},/turf/simulated/floor,/area/mine/eva)
"dUu" = (/obj/machinery/camera{c_tag = "Mech Bay"; dir = 4},/obj/item/device/radio/intercom{dir = 8; name = "Station Intercom (General)"; pixel_x = -28},/turf/simulated/floor,/area/assembly/chargebay)
-"dUv" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 4},/obj/structure/cable{d2 = 8; icon_state = "0-8"},/obj/machinery/atmospherics/pipe/simple/hidden{dir = 5; icon_state = "intact"; tag = "icon-intact-f (NORTHEAST)"},/turf/simulated/floor/plating,/area/tcommsat/chamber)
+"dUv" = (/obj/structure/cable{d2 = 8; icon_state = "0-8"},/obj/machinery/power/apc{dir = 4; name = "east bump"; pixel_x = 24},/obj/machinery/atmospherics/pipe/simple/hidden{dir = 10; icon_state = "intact"; tag = "icon-intact-f (SOUTHWEST)"},/turf/simulated/floor,/area/tcommsat/computer)
"dUw" = (/obj/structure/morgue{tag = "icon-morgue1 (WEST)"; icon_state = "morgue1"; dir = 8},/turf/simulated/floor{icon_state = "blue"; dir = 6},/area/medical/morgue)
"dUx" = (/obj/machinery/door_control{id = "rbath"; name = "Door Bolt Control"; normaldoorcontrol = 1; pixel_x = 0; pixel_y = -25; req_access_txt = "0"; specialfunctions = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 5},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor{icon_state = "showroomfloor"},/area/research_outpost/hallway)
"dUy" = (/obj/structure/cable{d1 = 2; d2 = 4; icon_state = "2-4"},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/turf/simulated/floor{icon_state = "cafeteria"; dir = 2},/area/research_outpost/hallway)
@@ -10534,11 +10534,11 @@
"dUD" = (/obj/machinery/door/airlock/atmos{name = "Outpost Atmospherics"; req_access_txt = "0"; req_one_access_txt = "65;10;24"},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0},/obj/machinery/atmospherics/pipe/simple/hidden/universal{dir = 4},/turf/simulated/floor/plating,/area/research_outpost/atmos)
"dUE" = (/obj/structure/table,/obj/machinery/bunsen_burner,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor{icon_state = "white"},/area/research_outpost/sample)
"dUF" = (/obj/structure/window/reinforced{dir = 4},/obj/structure/filingcabinet/medical{pixel_y = 0},/turf/simulated/floor{icon_state = "blue"; dir = 4},/area/medical/reception)
-"dUG" = (/obj/machinery/atmospherics/portables_connector,/obj/machinery/portable_atmospherics/canister/air/airlock,/turf/simulated/floor{dir = 9; icon_state = "warning"},/area/tcommsat/entrance)
+"dUG" = (/obj/machinery/door/airlock/hatch{icon_state = "door_locked"; id_tag = "engine_access_hatch"; locked = 1; req_access_txt = "10"},/obj/machinery/atmospherics/pipe/simple/visible/yellow,/turf/simulated/floor/plating,/area/engine/engine_room)
"dUH" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor{dir = 8; icon_state = "warning"},/area/research_outpost/maintstore1)
"dUI" = (/obj/machinery/artifact_analyser,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{dir = 4},/turf/simulated/floor/bluegrid,/area/research_outpost/anomaly)
"dUJ" = (/obj/structure/window/reinforced{dir = 8},/obj/machinery/computer/crew,/turf/simulated/floor{icon_state = "blue"; dir = 8},/area/medical/reception)
-"dUK" = (/obj/structure/table,/obj/item/clothing/head/helmet/space/void/engineering,/obj/item/clothing/suit/space/void/engineering,/turf/simulated/floor/plating,/area/djstation)
+"dUK" = (/obj/machinery/door/airlock/hatch{icon_state = "door_locked"; id_tag = "engine_access_hatch"; locked = 1; req_access_txt = "10"},/obj/machinery/atmospherics/pipe/simple/visible/cyan,/turf/simulated/floor/plating,/area/engine/engine_room)
"dUL" = (/obj/structure/table,/obj/item/device/radio{anchored = 1; broadcasting = 0; canhear_range = 1; frequency = 1487; icon = 'icons/obj/items.dmi'; icon_state = "red_phone"; listening = 1; name = "Reception Emergency Phone"},/turf/simulated/floor,/area/medical/reception)
"dUM" = (/obj/structure/window/shuttle{icon_state = "window2"},/obj/structure/grille,/turf/simulated/shuttle/plating,/area/centcom/evac)
"dUN" = (/obj/structure/table,/obj/item/weapon/flame/lighter/random,/obj/item/weapon/crowbar,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor{icon_state = "white"},/area/research_outpost/anomaly)
@@ -10554,7 +10554,7 @@
"dUX" = (/obj/structure/table,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 8},/obj/item/weapon/storage/box/cups,/obj/item/weapon/storage/box/cups{pixel_x = 2; pixel_y = 5},/turf/simulated/floor{dir = 9; icon_state = "blue"},/area/medical/reception)
"dUY" = (/obj/structure/table,/obj/machinery/door/window/northright{name = "Medbay Lobby"; req_access_txt = "5"},/obj/item/weapon/reagent_containers/spray/cleaner{pixel_x = -5},/turf/simulated/floor{dir = 1; icon_state = "blue"},/area/medical/reception)
"dUZ" = (/obj/machinery/door/airlock/glass{name = "Central Access"},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor,/area/hallway/primary/central_two)
-"dVa" = (/obj/structure/sign/securearea{desc = "A warning sign which reads 'SERVER ROOM'."; name = "SERVER ROOM"; pixel_y = 0},/obj/machinery/atmospherics/pipe/simple/hidden{dir = 10; icon_state = "intact"; tag = "icon-intact-f (SOUTHWEST)"},/turf/simulated/wall/r_wall,/area/tcommsat/chamber)
+"dVa" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 4},/obj/structure/cable{d2 = 8; icon_state = "0-8"},/obj/machinery/atmospherics/pipe/simple/hidden,/turf/simulated/floor/plating,/area/tcommsat/chamber)
"dVb" = (/obj/machinery/meter,/obj/machinery/light/small,/obj/machinery/atmospherics/pipe/simple/visible/cyan{dir = 4; icon_state = "intact"; tag = "icon-intact (EAST)"},/turf/simulated/floor/plating,/area/research_outpost/atmos)
"dVc" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0},/obj/machinery/door/firedoor/border_only{dir = 4; name = "Firelock"},/obj/machinery/door/airlock/research{name = "Spectrometry Lab"; req_access_txt = "65"},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor{icon_state = "white"},/area/research_outpost/spectro)
"dVd" = (/obj/machinery/atmospherics/pipe/simple/visible/purple{dir = 5},/turf/simulated/floor/plating,/area/research_outpost/atmos)
@@ -10945,7 +10945,7 @@
"ecy" = (/obj/structure/lattice,/obj/item/weapon/shard{icon_state = "medium"},/turf/space,/area/space)
"ecz" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{dir = 1},/turf/simulated/floor{icon_state = "white"},/area/rnd/xenobiology)
"ecA" = (/obj/machinery/door/firedoor/border_only{dir = 4; name = "Firelock"},/obj/machinery/door/airlock/glass_research{name = "Outpost Primary Access"; req_access_txt = "65"},/turf/simulated/floor,/area/research_outpost/entry)
-"ecB" = (/obj/machinery/atmospherics/portables_connector{dir = 4},/obj/machinery/portable_atmospherics/canister/air/airlock,/turf/simulated/floor{icon_state = "cafeteria"; dir = 5},/area/djstation)
+"ecB" = (/obj/structure/window/reinforced{dir = 5},/obj/machinery/door/firedoor/border_only{dir = 4; name = "Firelock"},/turf/simulated/floor/wood,/area/research_outpost/med)
"ecC" = (/turf/simulated/floor/plating/airless,/area/engine/engine_eva_maintenance)
"ecD" = (/obj/machinery/door/firedoor/border_only{dir = 2},/obj/machinery/door/airlock/external{frequency = 1380; icon_state = "door_locked"; id_tag = "research_outpost_hatch"; locked = 1; name = "Research Outpost Docking Hatch"; req_access_txt = "13"},/turf/simulated/floor/plating,/area/research_outpost/entry)
"ecE" = (/obj/structure/transit_tube{icon_state = "E-SW"},/obj/structure/lattice,/turf/space,/area/space)
@@ -10985,7 +10985,7 @@
"edm" = (/obj/machinery/atmospherics/pipe/simple/hidden{dir = 6},/obj/machinery/access_button{command = "cycle_interior"; frequency = 1380; master_tag = "engineering_dock_airlock"; name = "interior access button"; pixel_x = -30; pixel_y = -25; req_access_txt = "0"; req_one_access_txt = "13;11;24"},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0},/turf/simulated/floor/plating{dir = 2; icon_state = "warnplate"},/area/maintenance/engi_shuttle)
"edn" = (/obj/machinery/conveyor{dir = 9; id = "anotempload"},/turf/simulated/floor/plating{icon_state = "warnplate"; dir = 5},/area/research_outpost/tempstorage)
"edo" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0},/turf/simulated/floor/plating{dir = 2; icon_state = "warnplatecorner"},/area/maintenance/engi_shuttle)
-"edp" = (/obj/machinery/atmospherics/portables_connector{dir = 1},/obj/machinery/portable_atmospherics/canister/air/airlock,/turf/simulated/floor/plating,/area/djstation)
+"edp" = (/obj/machinery/atmospherics/portables_connector{dir = 8},/obj/machinery/portable_atmospherics/canister/air/airlock,/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0},/turf/simulated/floor/plating{dir = 1; icon_state = "warnplatecorner"},/area/maintenance/engi_shuttle)
"edq" = (/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/engine/engine_smes)
"edr" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced,/turf/simulated/floor/plating,/area/maintenance/engi_shuttle)
"eds" = (/obj/structure/window/reinforced{dir = 1},/obj/machinery/door/window/westleft{base_state = "right"; icon_state = "right"},/turf/simulated/floor/plating{icon_state = "warnplate"; dir = 9},/area/research_outpost/tempstorage)
@@ -11000,7 +11000,7 @@
"edB" = (/obj/machinery/camera{c_tag = "SMES"; dir = 8; network = list("SS13","Supermatter")},/obj/machinery/atmospherics/unary/vent_pump/on{dir = 8},/turf/simulated/floor,/area/engine/engine_smes)
"edC" = (/obj/structure/table/reinforced,/obj/machinery/camera{c_tag = "Engine Monitoring Room"; dir = 4; network = list("SS13","Supermatter")},/obj/machinery/firealarm{dir = 8; pixel_x = -24},/turf/simulated/floor,/area/engine/engine_monitoring)
"edD" = (/obj/machinery/portable_atmospherics/hydroponics/soil,/obj/structure/window/reinforced{dir = 8},/turf/simulated/floor/grass,/area/research_outpost/maintstore1)
-"edE" = (/obj/structure/closet/emcloset,/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 9},/turf/simulated/floor/plating{icon_state = "warnplate"; dir = 5},/area/engine/engine_airlock)
+"edE" = (/obj/machinery/telecomms/server/presets/service,/turf/simulated/floor{dir = 1; icon_state = "vault"; name = "Mainframe floor"; nitrogen = 100; oxygen = 0; temperature = 80},/area/tcommsat/chamber)
"edF" = (/obj/machinery/power/apc{dir = 1; name = "north bump"; pixel_x = 0; pixel_y = 24},/obj/structure/cable{d2 = 2; icon_state = "0-2"; pixel_y = 0},/obj/machinery/atmospherics/binary/pump/on{dir = 8; name = "Filter to Waste"; target_pressure = 4500},/turf/simulated/floor/plating,/area/research_outpost/atmos)
"edG" = (/obj/machinery/atmospherics/binary/dp_vent_pump/high_volume{dir = 8; frequency = 1379; id = "engine_airlock_pump"},/turf/simulated/floor/plating,/area/engine/engine_airlock)
"edH" = (/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/space,/area/space)
@@ -11016,7 +11016,7 @@
"edR" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 9},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 5},/obj/structure/cable/cyan{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor/plating,/area/engine/engine_room)
"edS" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/turf/simulated/floor/plating,/area/engine/engine_room)
"edT" = (/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/structure/cable/yellow{d1 = 2; d2 = 8; icon_state = "2-8"},/turf/simulated/floor/airless/catwalk{icon_state = "catwalk3"},/area/solar/port)
-"edU" = (/obj/machinery/atmospherics/pipe/simple/visible/yellow,/obj/machinery/meter{frequency = 1443; id = "engine_cooling"; name = "Engine Cooling"},/turf/simulated/floor/plating,/area/engine/engine_room)
+"edU" = (/obj/machinery/telecomms/relay/preset/station,/turf/simulated/floor/bluegrid{icon_state = "dark"; name = "Mainframe Floor"; nitrogen = 100; oxygen = 0; temperature = 80},/area/tcommsat/chamber)
"edV" = (/obj/machinery/atmospherics/pipe/manifold/visible/cyan{dir = 8},/turf/simulated/floor/plating,/area/engine/engine_room)
"edW" = (/obj/machinery/atmospherics/unary/outlet_injector{dir = 4; icon_state = "map_injector"; on = 1},/obj/structure/window/reinforced/tinted{dir = 4; health = 1000; icon_state = "twindow"; name = "hardened window"; opacity = 0},/turf/simulated/floor/engine{name = "Outpost O2"; nitrogen = 0; oxygen = 5000},/area/research_outpost/atmos)
"edX" = (/obj/machinery/atmospherics/unary/outlet_injector{dir = 8; icon_state = "map_injector"; on = 1},/obj/structure/window/reinforced/tinted{dir = 8; health = 1000; icon_state = "twindow"; name = "hardened window"; opacity = 0},/turf/simulated/floor/engine{name = "Outpost N2"; nitrogen = 20000; oxygen = 0},/area/research_outpost/atmos)
@@ -11026,7 +11026,7 @@
"eeb" = (/obj/machinery/atmospherics/unary/vent_pump{dir = 8; external_pressure_bound = 0; external_pressure_bound_default = 0; frequency = 1441; icon_state = "map_vent_in"; initialize_directions = 1; internal_pressure_bound = 4000; internal_pressure_bound_default = 4000; on = 1; pressure_checks = 2; pressure_checks_default = 2; pump_direction = 0},/obj/structure/window/reinforced/tinted{dir = 8; health = 1000; icon_state = "twindow"; name = "hardened window"; opacity = 0},/obj/structure/window/reinforced/tinted{dir = 1; health = 1000; icon_state = "twindow"; name = "hardened window"; opacity = 0},/turf/simulated/floor/engine{name = "Outpost N2"; nitrogen = 20000; oxygen = 0},/area/research_outpost/atmos)
"eec" = (/obj/machinery/door/firedoor/border_only{dir = 4; name = "Firelock"},/obj/machinery/door/airlock/research{name = "Anomalous Materials Sample Preparation"; req_access_txt = "65"},/turf/simulated/floor{icon_state = "white"},/area/research_outpost/anomaly)
"eed" = (/obj/structure/cable/yellow,/turf/simulated/floor/airless/catwalk{icon_state = "catwalk3"},/area/solar/port)
-"eee" = (/obj/machinery/light{dir = 1},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/washing_machine,/turf/simulated/floor{icon_state = "cafeteria"; dir = 2},/area/research_outpost/hallway)
+"eee" = (/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/machinery/atmospherics/portables_connector,/obj/machinery/portable_atmospherics/canister/air/airlock,/turf/simulated/floor/plating{dir = 1; icon_state = "warnplatecorner"},/area/maintenance/portsolar)
"eef" = (/obj/machinery/atmospherics/unary/vent_pump{dir = 1; external_pressure_bound = 0; external_pressure_bound_default = 0; frequency = 1441; icon_state = "map_vent_in"; initialize_directions = 1; internal_pressure_bound = 4000; internal_pressure_bound_default = 4000; on = 1; pressure_checks = 2; pressure_checks_default = 2; pump_direction = 0},/obj/structure/window/reinforced/tinted{dir = 4; health = 1000; icon_state = "twindow"; name = "hardened window"; opacity = 0},/obj/structure/window/reinforced/tinted{dir = 1; health = 1000; icon_state = "twindow"; name = "hardened window"; opacity = 0},/turf/simulated/floor/engine{name = "Outpost O2"; nitrogen = 0; oxygen = 5000},/area/research_outpost/atmos)
"eeg" = (/obj/structure/closet/wardrobe/black,/obj/machinery/light/small{dir = 8},/turf/simulated/floor/plating{dir = 1; icon_state = "warnplatecorner"},/area/maintenance/engi_engine)
"eeh" = (/obj/structure/cable/yellow{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor/airless/catwalk{icon_state = "catwalk12"},/area/solar/port)
@@ -11102,9 +11102,9 @@
"efz" = (/obj/machinery/alarm{dir = 8; icon_state = "alarm0"; pixel_x = 24},/turf/simulated/floor/plating,/area/maintenance/engi_engine)
"efA" = (/obj/machinery/turretid/stun{ailock = 1; control_area = "\improper Telecoms Foyer"; desc = "A firewall prevents AIs from interacting with this device."; name = "Telecoms Foyer turret control"; pixel_y = 29; req_access = list(61)},/turf/simulated/floor,/area/tcommsat/entrance)
"efB" = (/obj/structure/rack{dir = 8; layer = 2.9},/obj/item/device/analyzer/plant_analyzer,/obj/item/device/healthanalyzer,/obj/item/device/analyzer,/obj/item/device/analyzer,/turf/simulated/floor/plating,/area/storage/tech)
-"efC" = (/obj/structure/window/reinforced{dir = 5},/obj/machinery/door/firedoor/border_only{dir = 4; name = "Firelock"},/turf/simulated/floor/wood,/area/research_outpost/med)
+"efC" = (/obj/machinery/atmospherics/pipe/simple/hidden{dir = 10; icon_state = "intact"; tag = "icon-intact-f (SOUTHWEST)"},/turf/simulated/floor/bluegrid{icon_state = "dark"; name = "Mainframe Floor"; nitrogen = 100; oxygen = 0; temperature = 80},/area/tcommsat/chamber)
"efD" = (/obj/machinery/atmospherics/pipe/manifold/visible{dir = 8},/turf/simulated/floor/plating,/area/djstation)
-"efE" = (/obj/structure/window/reinforced{dir = 5},/obj/machinery/door/firedoor/border_only{dir = 4; name = "Firelock"},/turf/simulated/floor/wood,/area/research_outpost/entry)
+"efE" = (/obj/machinery/atmospherics/portables_connector{dir = 1},/obj/machinery/portable_atmospherics/canister/air/airlock,/turf/simulated/floor{dir = 10; icon_state = "warning"},/area/mine/production)
"efF" = (/obj/machinery/atmospherics/pipe/manifold/visible{dir = 1},/turf/simulated/floor/plating,/area/djstation)
"efG" = (/obj/machinery/atmospherics/pipe/manifold/visible{dir = 1},/obj/machinery/meter,/obj/machinery/alarm{frequency = 1441; pixel_y = 22},/turf/simulated/floor/plating,/area/djstation)
"efH" = (/obj/machinery/atmospherics/pipe/manifold/visible{dir = 1},/obj/machinery/light/small{dir = 1},/turf/simulated/floor/plating,/area/djstation)
@@ -11114,7 +11114,7 @@
"efL" = (/obj/machinery/shieldgen,/turf/unsimulated/floor{icon_state = "vault"; dir = 1},/area/centcom)
"efM" = (/obj/structure/table/reinforced,/obj/item/mecha_parts/mecha_equipment/weapon/energy/ion,/obj/item/mecha_parts/mecha_equipment/weapon/energy/taser,/obj/item/mecha_parts/mecha_equipment/anticcw_armor_booster,/obj/item/mecha_parts/mecha_equipment/antiproj_armor_booster,/turf/unsimulated/floor{icon_state = "vault"; dir = 1},/area/centcom/specops)
"efN" = (/obj/structure/table/reinforced,/obj/item/weapon/storage/box/handcuffs,/obj/item/clothing/glasses/sunglasses/sechud{pixel_y = 3},/obj/item/clothing/glasses/sunglasses/sechud{pixel_y = 3},/obj/item/clothing/glasses/sunglasses/sechud{pixel_y = 3},/obj/item/clothing/glasses/sunglasses/sechud{pixel_y = 3},/obj/item/clothing/glasses/thermal,/obj/item/clothing/glasses/thermal,/obj/item/clothing/glasses/night{pixel_x = -1; pixel_y = -3},/obj/item/clothing/glasses/night{pixel_x = -1; pixel_y = -3},/obj/item/clothing/glasses/night{pixel_x = -1; pixel_y = -3},/obj/item/clothing/glasses/night,/obj/item/weapon/storage/box/handcuffs,/turf/unsimulated/floor{icon_state = "vault"; dir = 1},/area/centcom/specops)
-"efO" = (/obj/structure/table/reinforced,/obj/item/stack/sheet/glass{amount = 50},/obj/item/stack/sheet/glass{amount = 50},/obj/item/stack/sheet/glass{amount = 50},/obj/item/stack/sheet/glass{amount = 50},/obj/item/stack/sheet/metal{amount = 50; pixel_x = 2; pixel_y = 2},/obj/item/stack/sheet/metal{amount = 50; pixel_x = 2; pixel_y = 2},/obj/item/stack/sheet/metal{amount = 50; pixel_x = 2; pixel_y = 2},/obj/item/stack/sheet/metal{amount = 50; pixel_x = 2; pixel_y = 2},/obj/item/stack/sheet/plasteel{amount = 50},/obj/item/stack/sheet/plasteel{amount = 50},/obj/item/stack/sheet/plasteel{amount = 50},/obj/item/stack/sheet/plasteel{amount = 50},/obj/item/weapon/storage/briefcase/inflatable{pixel_x = 3; pixel_y = 3},/obj/item/weapon/storage/briefcase/inflatable{pixel_x = 3; pixel_y = 3},/obj/item/weapon/storage/briefcase/inflatable,/obj/item/weapon/storage/briefcase/inflatable,/obj/item/stack/sheet/rglass{amount = 50},/obj/item/stack/sheet/rglass{amount = 50},/obj/item/stack/sheet/rglass{amount = 50},/turf/unsimulated/floor{icon_state = "dark"},/area/centcom)
+"efO" = (/obj/machinery/atmospherics/pipe/simple/hidden{dir = 5; icon_state = "intact"; tag = "icon-intact-f (NORTHEAST)"},/turf/simulated/floor/bluegrid{icon_state = "dark"; name = "Mainframe Floor"; nitrogen = 100; oxygen = 0; temperature = 80},/area/tcommsat/chamber)
"efP" = (/obj/structure/rack,/obj/item/weapon/storage/box/flashbangs,/obj/item/weapon/storage/box/flashbangs,/obj/item/weapon/storage/box/emps,/obj/item/weapon/grenade/smokebomb,/obj/item/weapon/grenade/smokebomb,/obj/item/weapon/grenade/smokebomb,/obj/item/weapon/grenade/smokebomb,/obj/item/weapon/grenade/smokebomb,/obj/item/weapon/grenade/smokebomb,/obj/item/weapon/grenade/smokebomb,/turf/unsimulated/floor{icon_state = "vault"; dir = 1},/area/centcom)
"efQ" = (/obj/machinery/atmospherics/unary/vent_pump{dir = 2; external_pressure_bound = 140; external_pressure_bound_default = 140; icon_state = "map_vent_out"; on = 1; pressure_checks = 0; pressure_checks_default = 0},/turf/simulated/floor/plating/airless,/area/research_outpost/atmos)
"efR" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 8},/obj/machinery/door/firedoor/border_only{dir = 2},/obj/structure/window/reinforced,/turf/simulated/floor/plating,/area/rnd/docking)
@@ -11205,7 +11205,7 @@
"ehy" = (/obj/machinery/atmospherics/pipe/tank/air{dir = 8; initialize_directions = 0; level = 1},/turf/simulated/floor/plating,/area/mine/north_outpost)
"ehz" = (/obj/effect/decal/cleanable/dirt,/obj/item/device/radio/intercom{name = "Station Intercom (General)"; pixel_y = -29},/turf/simulated/floor{icon_state = "floorgrime"},/area/mine/north_outpost)
"ehA" = (/obj/machinery/door/firedoor/border_only{dir = 2},/obj/effect/decal/cleanable/dirt,/turf/simulated/floor{dir = 8; icon_state = "loadingarea"},/area/mine/north_outpost)
-"ehB" = (/obj/item/weapon/table_parts,/obj/item/weapon/rack_parts,/obj/item/stack/sheet/rglass{amount = 8},/obj/item/stack/rods{amount = 6},/turf/simulated/floor{icon_state = "floorgrime"},/area/mine/north_outpost)
+"ehB" = (/obj/structure/table,/obj/item/clothing/head/helmet/space/void/engineering,/obj/item/clothing/suit/space/void/engineering,/turf/simulated/floor/plating,/area/djstation)
"ehC" = (/obj/structure/plasticflaps/mining,/obj/machinery/conveyor{backwards = 2; dir = 2; forwards = 1; id = "mining_north"},/turf/simulated/floor{icon_state = "floorgrime"},/area/mine/north_outpost)
"ehD" = (/obj/machinery/light/small{dir = 1},/turf/simulated/floor/plating/airless{icon_state = "asteroidplating"},/area/mine/explored)
"ehE" = (/obj/structure/sign/securearea{desc = "A warning sign which reads 'MOVING PARTS'."; name = "\improper MOVING PARTS"; pixel_y = 32},/obj/machinery/conveyor_switch{id = "mining_nort"; pixel_y = 10},/turf/simulated/floor/airless{icon_state = "asteroidwarning"; dir = 1},/area/mine/explored)
@@ -11229,7 +11229,7 @@
"ehW" = (/obj/structure/table/reinforced,/obj/item/mecha_parts/mecha_equipment/tool/sleeper,/obj/item/mecha_parts/mecha_equipment/tool/sleeper,/obj/item/mecha_parts/mecha_equipment/tool/syringe_gun,/turf/unsimulated/floor{icon_state = "vault"; dir = 1},/area/centcom/specops)
"ehX" = (/obj/structure/rack,/obj/item/clothing/suit/armor/vest/ert/security,/obj/item/clothing/suit/armor/vest/ert/security,/obj/item/clothing/suit/armor/vest/ert/security,/obj/item/clothing/suit/armor/vest/ert/security,/obj/item/clothing/head/helmet/ert/security,/obj/item/clothing/head/helmet/ert/security,/obj/item/clothing/head/helmet/ert/security,/obj/item/clothing/head/helmet/ert/security,/obj/item/weapon/storage/backpack/ert/security,/obj/item/weapon/storage/backpack/ert/security,/obj/item/weapon/storage/backpack/ert/security,/obj/item/weapon/storage/backpack/ert/security,/turf/unsimulated/floor{icon_state = "vault"; dir = 1},/area/centcom/specops)
"ehY" = (/obj/structure/rack,/obj/item/weapon/tank/jetpack/oxygen,/obj/item/weapon/tank/jetpack/oxygen,/obj/item/weapon/tank/jetpack/oxygen,/turf/unsimulated/floor{icon_state = "vault"; dir = 8},/area/centcom)
-"ehZ" = (/obj/structure/table/reinforced,/obj/item/device/flash,/obj/item/device/flash,/obj/item/device/flash,/obj/item/device/flash,/obj/item/weapon/melee/baton/loaded,/obj/item/weapon/melee/baton/loaded,/obj/item/weapon/melee/baton/loaded,/obj/item/weapon/melee/baton/loaded,/obj/item/weapon/storage/belt/security,/obj/item/weapon/storage/belt/security,/obj/item/weapon/storage/belt/security,/obj/item/weapon/storage/belt/security,/obj/item/taperoll/police,/turf/unsimulated/floor{icon_state = "vault"; dir = 1},/area/centcom/specops)
+"ehZ" = (/obj/item/weapon/table_parts,/obj/item/weapon/rack_parts,/obj/item/stack/sheet/glass/reinforced{amount = 8},/obj/item/stack/rods{amount = 6},/turf/simulated/floor{icon_state = "floorgrime"},/area/mine/north_outpost)
"eia" = (/obj/machinery/vending/security,/turf/unsimulated/floor{icon_state = "vault"; dir = 8},/area/centcom)
"eib" = (/obj/structure/table/reinforced,/obj/item/clothing/glasses/meson,/obj/item/clothing/glasses/meson,/obj/item/clothing/glasses/meson,/obj/item/clothing/glasses/meson,/obj/item/weapon/storage/belt/utility/full,/obj/item/weapon/storage/belt/utility/full,/obj/item/weapon/storage/belt/utility/full,/obj/item/weapon/storage/belt/utility/full,/obj/item/clothing/gloves/yellow,/obj/item/clothing/gloves/yellow,/obj/item/clothing/gloves/yellow,/obj/item/clothing/gloves/yellow,/obj/item/weapon/grenade/chem_grenade/metalfoam,/obj/item/weapon/grenade/chem_grenade/metalfoam,/obj/item/taperoll/engineering,/obj/item/clothing/glasses/welding/superior,/obj/item/clothing/glasses/welding/superior,/obj/item/clothing/glasses/welding/superior,/obj/item/clothing/glasses/welding/superior,/obj/item/clothing/glasses/welding/superior,/turf/unsimulated/floor{icon_state = "dark"},/area/centcom)
"eic" = (/obj/machinery/vending/assist,/turf/unsimulated/floor{icon_state = "vault"; dir = 1},/area/centcom)
@@ -11239,10 +11239,7 @@
"eig" = (/obj/structure/rack,/obj/item/weapon/plastique,/obj/item/weapon/plastique,/obj/item/weapon/plastique,/obj/item/weapon/plastique,/obj/item/weapon/plastique,/obj/item/weapon/plastique,/turf/unsimulated/floor{icon_state = "vault"; dir = 1},/area/centcom)
"eih" = (/obj/structure/rack,/obj/item/ammo_magazine/c9mm,/obj/item/ammo_magazine/c9mm,/obj/item/ammo_magazine/c9mm,/obj/item/ammo_magazine/c9mm,/obj/item/ammo_magazine/c9mm,/obj/item/ammo_magazine/c9mm,/obj/item/ammo_magazine/c9mm,/obj/item/ammo_magazine/c9mm,/obj/item/ammo_magazine/c9mm,/obj/item/weapon/gun/projectile/automatic,/obj/item/weapon/gun/projectile/automatic,/obj/item/weapon/gun/projectile/automatic,/turf/unsimulated/floor{icon_state = "vault"; dir = 1},/area/centcom)
"eii" = (/obj/machinery/door/poddoor{icon_state = "pdoor1"; id = "ASSAULT"; name = "Assault Weapon Storage"; p_open = 0},/turf/unsimulated/floor{icon_state = "vault"; dir = 8},/area/centcom/specops)
-"eij" = (/obj/machinery/camera{c_tag = "Spec. Ops. Shuttle"; dir = 2; network = list("ERT")},/obj/structure/stool/bed/chair,/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/shuttle/specops/centcom)
-"eik" = (/obj/machinery/embedded_controller/radio/simple_docking_controller{frequency = 1380; id_tag = "specops_shuttle_port"; name = "port docking hatch controller"; pixel_x = 0; pixel_y = 25; req_access_txt = "0"; req_one_access_txt = "0"; tag_door = "specops_shuttle_port_hatch"},/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/shuttle/specops/centcom)
-"eil" = (/obj/machinery/computer/security/telescreen{desc = ""; name = "Spec. Ops. Monitor"; network = list("ERT"); pixel_y = 30},/obj/structure/stool/bed/chair{dir = 4},/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/shuttle/specops/centcom)
-"eim" = (/obj/machinery/computer/communications,/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/shuttle/specops/centcom)
+"eij" = (/obj/structure/rack,/obj/item/clothing/suit/space/void/mining,/obj/item/clothing/mask/breath,/obj/item/clothing/head/helmet/space/void/mining,/obj/item/weapon/mining_scanner,/turf/simulated/floor,/area/mine/eva)
"ein" = (/obj/machinery/computer/prisoner{name = "Implant Management"},/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/shuttle/specops/centcom)
"eio" = (/obj/structure/table/reinforced,/obj/item/device/megaphone,/obj/item/device/megaphone,/obj/item/device/megaphone,/obj/item/device/megaphone,/turf/unsimulated/floor{icon_state = "vault"; dir = 1},/area/centcom/specops)
"eip" = (/obj/structure/rack,/obj/item/weapon/storage/backpack/security,/obj/item/clothing/under/syndicate/combat,/obj/item/clothing/shoes/galoshes,/obj/item/clothing/head/bio_hood/janitor,/obj/item/clothing/suit/bio_suit/janitor,/obj/item/clothing/gloves/purple,/obj/item/clothing/glasses/science,/obj/item/weapon/storage/backpack/security,/obj/item/clothing/under/syndicate/combat,/obj/item/clothing/shoes/galoshes,/obj/item/clothing/head/bio_hood/janitor,/obj/item/clothing/suit/bio_suit/janitor,/obj/item/clothing/gloves/purple,/obj/item/clothing/glasses/science,/obj/item/weapon/reagent_containers/spray/cleaner{pixel_x = 6; pixel_y = 3},/obj/item/weapon/reagent_containers/spray/cleaner{pixel_x = 6; pixel_y = 3},/obj/item/weapon/reagent_containers/spray/plantbgone,/obj/item/weapon/reagent_containers/spray/plantbgone,/obj/item/weapon/storage/box/lights/mixed,/obj/item/weapon/storage/box/lights/mixed,/obj/item/weapon/grenade/chem_grenade/cleaner,/obj/item/weapon/grenade/chem_grenade/cleaner,/obj/item/weapon/grenade/chem_grenade/cleaner,/turf/unsimulated/floor{icon_state = "vault"; dir = 1},/area/centcom/specops)
@@ -11261,9 +11258,8 @@
"eiC" = (/obj/machinery/power/emitter,/turf/unsimulated/floor{icon_state = "vault"; dir = 1},/area/centcom)
"eiD" = (/obj/structure/table/reinforced,/obj/item/weapon/circuitboard/aiupload,/obj/item/weapon/circuitboard/borgupload,/obj/item/weapon/circuitboard/smes,/obj/item/weapon/aiModule/nanotrasen,/obj/item/weapon/aiModule/reset,/obj/item/weapon/aiModule/freeformcore,/obj/item/weapon/aiModule/protectStation,/obj/item/weapon/aiModule/quarantine,/obj/item/weapon/aiModule/paladin,/obj/item/weapon/aiModule/robocop,/obj/item/weapon/aiModule/safeguard,/turf/unsimulated/floor{icon_state = "vault"; dir = 1},/area/centcom)
"eiE" = (/obj/machinery/recharger/wallcharger{pixel_x = 4; pixel_y = 32},/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/shuttle/specops/centcom)
-"eiF" = (/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced,/obj/structure/grille,/obj/machinery/door/firedoor/border_only{dir = 2},/obj/machinery/camera{c_tag = "Research Outpost Expedition Airlock"; dir = 4; network = list("Research","SS13")},/turf/simulated/floor/plating,/area/research_outpost/gearstore)
-"eiG" = (/obj/structure/rack,/obj/item/clothing/suit/space/void/mining,/obj/item/clothing/mask/breath,/obj/item/clothing/head/helmet/space/void/mining,/obj/item/weapon/mining_scanner,/turf/simulated/floor,/area/mine/eva)
-"eiH" = (/obj/machinery/atmospherics/portables_connector{dir = 1},/obj/machinery/portable_atmospherics/canister/air/airlock,/turf/simulated/floor{dir = 10; icon_state = "warning"},/area/mine/production)
+"eiF" = (/obj/structure/window/reinforced{dir = 5},/obj/machinery/door/firedoor/border_only{dir = 4; name = "Firelock"},/turf/simulated/floor/wood,/area/research_outpost/entry)
+"eiG" = (/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced,/obj/structure/grille,/obj/machinery/door/firedoor/border_only{dir = 2},/obj/machinery/camera{c_tag = "Research Outpost Expedition Airlock"; dir = 4; network = list("Research","SS13")},/turf/simulated/floor/plating,/area/research_outpost/gearstore)
(1,1,1) = {"
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
@@ -11363,21 +11359,21 @@ aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadVoahbdVoaaaaaaaaaaaaaaaaaaaaaaaDaaeanYanRanRanRanRaoaaocaobaofaofaofaofasDaaeaaDaaaaaaaaaaaaaaeaaaaaaaaaaaaaaaaaaagCagBagAagXagyagzagxagwagvaguagtagsagVaaBaaBagWagTagUasEaaBagPaaPagQagSagMagNagOaVHagJasFagLaXcaiaaiaaiaaiaaiaahpasSasGatcatcatfatfatCatlatKatHatHatMaihaihaiRaiiauhatWaiSaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaDaaeahcahcahcahcahcaaealUaaeahcahcahcahcahcaaeaaDaaaaaaaaaaaaaaaaaaaaaaaaajiajiajiajiajiajiajiaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaeaRzaWiaRzaaaaaaaaaaaaaaaaaaaaaaaDaaeajJajJajJajJajJaaealXaaeajJajJajJajJajJaaeaaDaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaVEagBajSagXaiTajKaeFaVFaVGahrajMaWUahNaVTaVTaVUaZpaaBabxaaBaVYaaPaWdaWcbyUbcKaWgaVHaVIausaVLaXcauJauwauwauKauMauKauRauQavcavcavcavcavcavcavcavcavcasSavdahhaibahnaVPaVQaVOaaeavsavgavgavtavgavgavuaaeaaaaaaaaaaamaaaaaaaaaaaeaaaaaaaaaalUaaaaaaaaaaaeaaaaaaaaaaamaaaaaaaaaaaaaaaaaaaaaaaaajiajiajiajiajiajiajiaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaasjaPXaslaaaasmaPYasoaaaaaeaSTavzaSTaaaaaaaaaaaaaaaaaaaaaaamaaaaaaaaaaaeaaaaaaaaaalXaaaaaaaaaaaeaaaaaaaaaaamaaaaaaaaaaafaaaaaaaaaaaaaaaaaaaaaakhaWraWsagXagXagXaeFaeFaeFaeFaaPaaPaaPaaPaaPbataaBaaxavJagRaWwaaPaaPaaPaaiaaiaaiaVHaKWavLaWxaXcaVyavcavcavcavcaHravNaHraGVaPHavPavOaNpavQaRQaOParTbgtasPasPasPasPasPasPasPasPaWjasRasRasRasRasRaWjasPaaaaaaaaaaaDaaeaiNaiNaiNaiNaiNaaealUaaeaiNaiNaiNaiNaiNaaeaaDaaaaaaaaaaaaaaaaaaaaaaaaaaaajiajiajiajiajiaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaavRasTbdJasTavRasVbdPasVavRaaeaSTavSaXfaaaaaaaaaaaaaaaaaaaaaaaDaaeahqahqahqahqahqaaealXaaeahqahqahqahqahqaaeaaDaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaeaXdawaakOaXbaRBakhaaeaaeaaPavTbdSabgbbBbbobbCaaBajkaaBabxagRaWXaQFaXaaWYaWWbbNefgaVHatzavUaWQaXcaVyavWaxRavZawgaHrawzaAvaGVaPHaPCaXwawPawBaOGaOParTaWLaWKaJsavYaRgaKkaXhaRxasPaWIasRasRasRasRasRaWjasPaaeaaaaaaaamaaeamIamKamKamKamKanlamYanGanAanAanAanAanHaaeaaDaaaaaaaaaaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaavRasTbdJasTavRasVbdPasVavRaaeaSTavSaXfaaaaaaaaaaaaaaaaaaaaaaaDaaeahqahqahqahqahqaaealXaaeahqahqahqahqahqaaeaaDaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaeaXdaXeakOaXbaRBakhaaeaaeaaPavTbdSabgbbBbbobbCaaBajkaaBabxagRaWXaQFaXaaWYaWWbbNefgaVHatzavUaWQaXcaVyavWaAUavZawgaHrawzaAvaGVaPHaPCaXwawPawBaOGaOParTaWLaWKaJsavYaRgaKkaXhaRxasPaWIasRasRasRasRasRaWjasPaaeaaaaaaaamaaeamIamKamKamKamKanlamYanGanAanAanAanAanHaaeaaDaaaaaaaaaaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaawXasTatIasTawXasVatJasVawXaPIaXAaXzaXDaXBaXBaXCaPIaPIaaeaaaaaDaaeanYanRanRanRanRaoaaocaobaofaofaofaofasDaaeaaDaaaaaaaaaaaaaaaaaaaaaaaaakhakhakhaXxakhakhajSaRBakhaaaaaaaaPbfPaaPaXybeBbewaaPbegbebaaBaXqaXsaXsaXuaXtaXsaXrbeNbeCaVHawYavUaQBaXcawZavWaxcaxbawgaHraxkauiaGVaPHaPCaXwaOEaXjaxnaOParTaXlaXmaJsavYavYaKkaYjaMmaTsaXiasRasRasRasRasRaXnasPasPasPaaaaamaaaahcahcahcahcahcaaealUaaeahcahcahcahcahcaaaaaAaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaawXauzaWOauBawXauCaWuauEawXaQaaxKaxCayFaPLaPOaPZaPGaPIaaaaaaaaAaaaajJajJajJajJajJaaeaxSaaeajJajJajJajJajJaaaaaDaaaaaaaaaaaaaaaaaaaaaaaaaQlaQeaxTaxUaQuaxVaQnaQcakhaaaaaaaaPaaPaaPaQdaOQaOFaaPaORaOWaQSaQZaQTaQLaQFaQPaQOaQRaOtaOzaVHaxXavUaxYaXcaVyavWayEayvazkaHrayJauiaGVaGVaGVaQxaGWaPzaGVaGVarTaPxaPqaJsavYavYaKkaSBaJCaKiaPBasRasRasRasRasRaGUaVxaVwavraaaaamaaaaaeaaaaaeaaeaaaaaaayUaaaaaaaaeaaaaaaaaeaaaaaDaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaawXauzaWOauBawXauCaWuauEawXaQaaxKaxCaxRaPLaPOaPZaPGaPIaaaaaaaaAaaaajJajJajJajJajJaaeaxSaaeajJajJajJajJajJaaaaaDaaaaaaaaaaaaaaaaaaaaaaaaaQlaQeaxTaxUaQuaxVaQnaQcakhaaaaaaaaPaaPaaPaQdaOQaOFaaPaORaOWaQSaQZaQTaQLaQFaQPaQOaQRaOtaOzaVHaxXavUaxYaXcaVyavWayEayvawaaHrayJauiaGVaGVaGVaQxaGWaPzaGVaGVarTaPxaPqaJsavYavYaKkaSBaJCaKiaPBasRasRasRasRasRaGUaVxaVwavraaaaamaaaaaeaaaaaeaaeaaaaaaayUaaaaaaaaeaaaaaaaaeaaaaaDaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaawXayVayXayWawXayVayXayWawXaRwazeayYazoazoazoayYazpaRzaaaaaaaaDaaaaaeaaaaaeaaeaaaaaaazqaaaaaaaaeaaaaaaaaeaaaaaDaaeaaaaaaaaeaaeaaaaaaaaeaRDaQeazrazsaQuazxaRBazyakhaaeaaLaQjaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaVHazCavUaSlaXcaVyavWazGazFazIazHazRazQazSatBaSPaSeaRfaReaRfazTavVaRaaRcaKPaviaviaKPaSFaKXaLaawbasRasRasRasRasRawbawcawdaweaaaaamaamaaDaaaaaaaaeaaaaaaaiQaaaaaeaaeaaeaaeaaDaaDaaDaaeaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaaaaaaaaaaaaaaaavRawXazVazUavRawXazWazUavRawXazXawXawXawXawXawXazYaSTaaaaaaaaDaaDaaDaaaaaaaaeaaaawjaTSawjaaeaaeaaeaaeaaDaaDaaDaaeakhakhakhakhaTQaTJaTJaTKakhakhakhakhazZaRBaRBakhaTCaTFakhakhaTxaTBaAEaAgaAgaAgaAgaAgaAgaAgaAgaTtaAgaAgaAgaAgaAgaAFaAHaAGaAIaAFaAJavWaASaAMaztaHraAYawLawLawLaBdawMaBgaBeawLaBFaBKaBGaSKaSLayMayMayMaSRaMmaMqawUasRasRasRasRasRawUawVawdaweaaaaaaaaaaaeaaeaaaaaeaaaaaaaBVaaaaaaaaeaaaaaaaaeaaaaaaaaeaaeaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaaaaaaaaaaaaaaaavRawXazVazUavRawXazWazUavRawXazXawXawXawXawXawXazYaSTaaaaaaaaDaaDaaDaaaaaaaaeaaaawjaTSawjaaeaaeaaeaaeaaDaaDaaDaaeakhakhakhakhaTQaTJaTJaTKakhakhakhakhazZaRBaRBakhaTCaTFakhakhaTxaTBaAEaAgaAgaAgaAgaAgaAgaAgaAgaTtaAgaAgaAgaAgaAgaAFaAHaAGaAIaAFaAJavWaASaAMayFaHraAYawLawLawLaBdawMaBgaBeawLaBFaBKaBGaSKaSLayMayMayMaSRaMmaMqawUasRasRasRasRasRawUawVawdaweaaaaaaaaaaaeaaeaaaaaeaaaaaaaBVaaaaaaaaeaaaaaaaaeaaaaaaaaeaaeaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaBXaBWaCAaBWaDHaBWaDKaBWaDOaDLaEdaDVaDVaDVaEeawXaEnaSTaaaaaeaaeaaaaaaaaaaaaaaeaaaaxgaEPaKgaaeaaaaaeaaaaaaaaaaaaaaaakhaEQaFkaEVaFkaFkaFkaFkaFlaFkaFkaFqaFuaEVaYraFOaAgaAgaAgaAgaAgaAgaFQaUwaxraxraxraxraxsaxraxraUpaxraxsaxraxraxraVHaFWaSiayAaVHavcavWaGaaFYaGaaHraGkaSEaHkaHcaTbaHqaTbaHsaSEaHuaTWaHwaUeaUfaUeaUeaUiaUgaMGaMHaJwasRasRasRasRasRaJxaUhaUkaxOaaaaaaaaaaaaaaeaaaaaeaaaaxPaTTaxPaaaaaeaaaaaaaaeaaaaaaaaaaaeaaeaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaHQaHxaIfaIeaIpaInaIQaIvaITaIQaJpaJgaIQaIQaJqawXaJMaXAaaeaaeaaaaaaaaaaaaaaaaaeaybaycbezbdBayfaaaaaeaaaaaaaaaaaaaaaakhbeAakhaYabeFbeEbeEbeEbeGbeEbeEbeEbeHaYaasLaylaylaylaylaylaylaylaYibeIaxrayoaypayqayrbeJbeRbeOaPdaywayxaypaADaVHayzaSiayAaVHaJOaJNaKaaJRaKyaHraAYawLawLawLawLawObfoaKBbeDayIavVbdHbfnbfnbfnbfnbeXaMmaMmbavbflasRasRasRasRasRbfqasPasPasPaaaaaaaaaaaeaaeaaeaaeaaaaySaKJaySaaaaaeaaaaaaaaeaaaaaaaaaaaaaaeaaeaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaeaaeawXaKMaKRaKMaLeaIfaIfaLnaKMaKRaKMaLoaLqaLpaLrawXaJMaPIaPIbfXaXBaXBaXBaXBaXCaPIazbbggbftaAUazbakhakhaTCbfuaTFakhakhakhbeAbfvaYaaaaaaeaaaaaeaaaaaeaaaaaeaaaaYaasLaylazfazgazhaziazjaylaYiaRBaxraBbaBbayGbfHaYfbfMbfLaYfbfJbfVaypaADaVHayzaSiayAaVHaLvaLsaLsaLsaLEaLAaLLaLHaMhaMgaMrazzazAazBazBaMxazBasPbgpbgqbglbgmbfwbgobgjasPbgkasRasRasRasRasRbgiasPaaeaaaaaaaaaaaaaaeaaeaaaaaeazLazMbgrazOazPaaeaaaaaaaaeaaaaaaaaaaaaaaaaaeaaeaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaeaMUavRaMVayXaMWaNaaMYaNcaNbaMWayXaNeaNdaNgaNfaNjaNhaNnazoazoazoazoazoazoaNrbgWbgYazbaAfbgQbgNazbbgLaNwaFkaFkaFkaFkaFkaNyaNxbgRaYaaaeaAkaAkaAkaAkaAkaAkaAkaaeaYaasLaylaAlaAmaAnaAoaAlaylaYibkcaxraxraxraxrboXaAraZVbgyaAraNTbguaypaVvaVHayzaSiaAuaVHaNUaJNaOcaObaOdaHraAYauiaHrazBazBazBazBazBbhcbhdbhfazBasPasPasPasPbfxasPasPasPbgiasRasRasRasRasRbgiasPaaaaaaaaaaafaaaaOeaOeaOeaOeaAAaOgaOfaHtaAAaaeaaaaaaaaeaaaaaaaaaaaaaaaaaaaaeaaeaaaaaaaaaaaaaaeaaeaaeaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaHQaKRaOjaOoaOoaOoaOoaOvaKRaHQaaaaNgaOwaOxaNhaAKaAKaAKaAKaAKaAKaAKaJMbhObhRazbbhNbhIbhHazbaAPbhGaAPaAPaAPaAPaAPaAPaAPaAPaARaaaaAkbhAbhCbhDbhEaAWaAkaaaaYaasLaylaAlbqMbhFbqBaAlaylblqakhaxraOiaThayGbhrbhqbhybhxbhwaPaaxraxraxraVHayzaSiazuaVHaPnaPnaPnaPpaPnaHraPyauiaHraBibhiaBjbinazBbhcbiqbhfazBaBlaBmbiiaBobeVaYDaYBaaebilbigbigbigbigbigbihaaeaaaaaaaaaaaaaaaaOeaPFaPAaPJaAAaBubifbibaAAaaeaaaaaaaQbaQbaQbaQbaQbaQmaQfaQbaQbaQbaQbaQbaQbaQbaQpaQvaQvaQvaQAaaeaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaaaaaaaaaaaaaaaaBHaBIaBJaBIaBIaDRaDSaBIaBIaBJaBMaBNaNgaQCaQDaNhaXGaXHaBSaBTaBUaXFaAKaJMaXEaPIazbazbaXKaBYaARaBZaXLaCbaCcaCdaCeaCfaCgaXJaCiaARaaeaAkaQEaCkaXXaXYaQXaAkaaeaYaasLaylaXMaXPaXVaXWaXSaylaYiaYhaxrayoaypaCtaCuaAraYdaYcaYfaYeaYgaBfaBfaVHayzaSiayAaVHaRbaQYaXeaRdaRhaHraRvaRoaHraYoaYpaYpaYzaYAaYpaYxaYwazBaYuaYvaYEaRAaRKaYDaYBaaaaaeaaaaaeaaaaaeaaaaaeaaaaaaaaaaaaaaaaaaaOeaRRaRNaRTaAAaYIaYJaYKaAAaYGaYHaQbaQbaRVaRUaRUaRUaRUaRUaSfaSaaSpaSpaSpaSpaSpaSpaSpaSvaSxaSwaaeaaaaaeaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaHQaHxaIfaIeaIpaInaIQaIvaITaIQaJpaJgaIQaIQaJqawXaJMaXAaaeaaeaaaaaaaaaaaaaaaaaeaybaycbezbdBayfaaaaaeaaaaaaaaaaaaaaaakhbeAakhaYabeFbeEbeEbeEbeGbeEbeEbeEbeHaYaasLaylaylaylaylaylaylaylaYibeIaxrayoaypayqayrbeJbeRbeOaPdaywayxaypazkaVHayzaSiayAaVHaJOaJNaKaaJRaKyaHraAYawLawLawLawLawObfoaKBbeDayIavVbdHbfnbfnbfnbfnbeXaMmaMmbavbflasRasRasRasRasRbfqasPasPasPaaaaaaaaaaaeaaeaaeaaeaaaaySaKJaySaaaaaeaaaaaaaaeaaaaaaaaaaaaaaeaaeaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaeaaeawXaKMaKRaKMaLeaIfaIfaLnaKMaKRaKMaLoaLqaLpaLrawXaJMaPIaPIbfXaXBaXBaXBaXBaXCaPIazbbggbftaADazbakhakhaTCbfuaTFakhakhakhbeAbfvaYaaaaaaeaaaaaeaaaaaeaaaaaeaaaaYaasLaylazfazgazhaziazjaylaYiaRBaxraztaztayGbfHaYfbfMbfLaYfbfJbfVaypazkaVHayzaSiayAaVHaLvaLsaLsaLsaLEaLAaLLaLHaMhaMgaMrazzazAazBazBaMxazBasPbgpbgqbglbgmbfwbgobgjasPbgkasRasRasRasRasRbgiasPaaeaaaaaaaaaaaaaaeaaeaaaaaeazLazMbgrazOazPaaeaaaaaaaaeaaaaaaaaaaaaaaaaaeaaeaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaeaMUavRaMVayXaMWaNaaMYaNcaNbaMWayXaNeaNdaNgaNfaNjaNhaNnazoazoazoazoazoazoaNrbgWbgYazbaAfbgQbgNazbbgLaNwaFkaFkaFkaFkaFkaNyaNxbgRaYaaaeaAkaAkaAkaAkaAkaAkaAkaaeaYaasLaylaAlaAmaAnaAoaAlaylaYibkcaxraxraxraxrboXaAraZVbgyaAraBbbguaypaVvaVHayzaSiaAuaVHaNUaJNaOcaObaOdaHraAYauiaHrazBazBazBazBazBbhcbhdbhfazBasPasPasPasPbfxasPasPasPbgiasRasRasRasRasRbgiasPaaaaaaaaaaafaaaaOeaOeaOeaOeaAAaOgaOfaOiaAAaaeaaaaaaaaeaaaaaaaaaaaaaaaaaaaaeaaeaaaaaaaaaaaaaaeaaeaaeaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaHQaKRaOjaOoaOoaOoaOoaOvaKRaHQaaaaNgaOwaOxaNhaAKaAKaAKaAKaAKaAKaAKaJMbhObhRazbbhNbhIbhHazbaAPbhGaAPaAPaAPaAPaAPaAPaAPaAPaARaaaaAkbhAbhCbhDbhEaAWaAkaaaaYaasLaylaAlbqMbhFbqBaAlaylblqakhaxraIMaNTayGbhrbhqbhybhxbhwaPaaxraxraxraVHayzaSiazuaVHaPnaPnaPnaPpaPnaHraPyauiaHraBibhiaBjbinazBbhcbiqbhfazBaBlaBmbiiaBobeVaYDaYBaaebilbigbigbigbigbigbihaaeaaaaaaaaaaaaaaaaOeaPFaPAaPJaAAaBubifbibaAAaaeaaaaaaaQbaQbaQbaQbaQbaQmaQfaQbaQbaQbaQbaQbaQbaQbaQpaQvaQvaQvaQAaaeaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaaaaaaaaaaaaaaaaBHaBIaBJaBIaBIaDRaDSaBIaBIaBJaBMaBNaNgaQCaQDaNhaXGaXHaBSaBTaBUaXFaAKaJMaXEaPIazbazbaXKaBYaARaBZaXLaCbaCcaCdaCeaCfaCgaXJaCiaARaaeaAkaQEaCkaXXaXYaQXaAkaaeaYaasLaylaXMaXPaXVaXWaXSaylaYiaYhaxrayoaypaCtaCuaAraYdaYcaYfaYeaYgaBfaBfaVHayzaSiayAaVHaRbaQYaThaRdaRhaHraRvaRoaHraYoaYpaYpaYzaYAaYpaYxaYwazBaYuaYvaYEaRAaRKaYDaYBaaaaaeaaaaaeaaaaaeaaaaaeaaaaaaaaaaaaaaaaaaaOeaRRaRNaRTaAAaYIaYJaYKaAAaYGaYHaQbaQbaRVaRUaRUaRUaRUaRUaSfaSaaSpaSpaSpaSpaSpaSpaSpaSvaSxaSwaaeaaaaaeaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaBHaBMaBIaDbaDcaDcaDdaDeaDfaDgaDhaDcaDcaDiaDjaSyaQCaSzaNhbgsaSCaSGaSDaSGaSJaSOaSNaYZaZbaYUaSVaTfaTaaTmaZBaZDaDzaDzaDzaDAaDzaDzaZubjWaARaaaaAkaZnaCkaZqaXYaZtaAkaaaaYaasLaylaZibjoaZjbjoaZkaylaYiaZWaxraxraxraxraDMaAraZVaypaAraCwaCxaypaCyaVHaZRaZSaZQaVHaTpaTnaTnaTnaTraTqaTIaTuaTOaZPaZIazBazBazBazBazBazBbabaTPaFHbaeaBobaibagaYBaYBaYBaYBaYBaYBaYBaYBaYBaYGaYHaYBaYBaYGaZXaOeaTUaTRaTVaAAaAAbakaEmaAAbaXaUbaUlaRUaUmaQbaQbaQbaQbaQbaUEaUAaEuaEuaEuaEuaEuaEuaEyaEybahaEyaEyaEyaEyaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaDiaEBaECaEDaDcaEEaDcaEEaDcaEEaDcaEEaDcaEFaEGaUFaQCaSzaNhbaKaUGaEKaELaEMaENaAKaUHaULaUJaUPaUNaURaUQaAPaESaDzaDzaDzaDzaDzaDzaDzaZubbsaARaaeaAkaXZbbDbbzbbAbbyaAkaaeaYaasLaylbbwbbxaZjaUTbbvaylbaTbaSaxraFnaypayGbaQaYfayNaypaAraCwbaPaypaDQaVHbbqbbraFtaVHaUVaQYaVcaQYaVdaHraVhaVeaHrbaVbaWazBbciazBbchazBbckazBbcjaFHbcpaBoaVkaVibcuaVmaVmaVnbcvaViaViaViaViaViaVoaViaViaViaVsaVraVzaVtaVDaVAaVNaVJaVSaVRbbObbTaQbaQbaWpaQbaGfaGgaGhaEsaEubbVaEuaGjbbZaXkbcaaxZaGoaIbbcfbcbbcgaGtaGuaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaJGaJGaJGaJGaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaateaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaXoaDcaDcaBJaDcaEEaDcaEEaGxaEEaWqaEEaDcaEFaEGaUFaQCaWyaWvaWvaWEaWGaWFaWGaWvaWvaWHaWJaWvaWMbcPbdGbdFaAPaGObdEbdDaDzaDzbdyaDzbdCbdAaGOaARaaaaAkaAkaWRaWSaWRaAkaAkaaaaYaasLaylbdtbdwbdrbjobdsaylbdqbdoaxraHbaypaFoaCuaArbdnaYcaYfbdmbdlaypaHdasMatDasOatSasMasMasMasMasMatFauWavqauZauWbdfaAxazBaHmazBaHnazBaHoazBbeoaFHbeqbesbagbeUbeVbeuaYBaYBaWTaYBaYBaXgaYBbagbejbagbagbagbelbekaXIaXvaXvaXvaYnaYbaXvaYqaYtaYsaEsaHObdWaYCaHRaHSaHTaEsaHUbdYaEuaHWbdKbdIaHZaxZaIaaIbawAaIcaEyaEyaEyaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaJGaJGaJGaJGaJGaJGaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaDiaIdaECaEDaDcaEEaDcaEEaDcaEEaDcaEEaDcaEFaEGaUFaQCaYLaYFaYNaYMaYOaYOaYQaYPaYXaYRaZdaZcaZeaBRazlazlaAPaGOazmaCaaIqaBOaGOaIraIsaznaIuayLaaaaaeaaaayTaZfayTaaaaaeaaaayLasLaylaAZayZazdazcaBcaylaZhaZgaxrachaypayGayHayKayNaypayPayQayRaILaIMasMawGavwaxlazDazEaxmaaaaaaauWaxoaxqaxpauWayDaAxaAxaAxaHCaAxaAxaAxazBaBoaZvaBoaBoaBoaBoazwaBoaJdaytaysaZyaJhaJiaJjaJkaynaJjaJjaJjaJjaJjazvaJjaJjaJjaJjaJjaJjaJjaJjbaiaEsaykayjaAiaBraBpaygaEsayiayhaEuayaaydayeaHZaFGaIaaIbawAaIbaJDaJEaJFaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaJGaJGaJGaJGaJGaJGaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaDiaIdaECaEDaDcaEEaDcaEEaDcaEEaDcaEEaDcaEFaEGaUFaQCaYLaYFaYNaYMaYOaYOaYQaYPaYXaYRaZdaZcaZeaBRazlazlaAPaGOazmaCaaIqaBOaGOaIraIsaznaIuayLaaaaaeaaaayTaZfayTaaaaaeaaaayLasLaylaAZayZazdazcaBcaylaZhaZgaxrachaypayGayHayKayNaypayPayQayRaILbjRasMawGavwaxlazDazEaxmaaaaaaauWaxoaxqaxpauWayDaAxaAxaAxaHCaAxaAxaAxazBaBoaZvaBoaBoaBoaBoazwaBoaJdaytaysaZyaJhaJiaJjaJkaynaJjaJjaJjaJjaJjazvaJjaJjaJjaJjaJjaJjaJjaJjbaiaEsaykayjaAiaBraBpaygaEsayiayhaEuayaaydayeaHZaFGaIaaIbawAaIbaJDaJEaJFaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaJGaJGaJGaJGaJGaJGaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaJHaJIaBIaDbaDcaDcaDcaJJaDcaDcaJKaDcaDcaDiaJLaZzaQCaZCaZAaZGaZEaZGaZGaZGaZGaZGaZHaZLaWvaPRaPRaPRaPRaPRaxvaxxaxyaxzaxzaxzaxzaxAaxDaxEayLaxFaxGaxGaxHaxLaxJaxGaxGaxMayLaFVayLayLaxQaxWaxQasMasMatFaFzasMasMasMasMaxBaxuayBayyaAaayCasMasMasMasMaAbavwaAcaAcaAqaAdaBqaBnauWaBsaBvaBtauWauWauWauWauWauWauWauWazBazBaKwawNaKxaIZawKawJaymaKCaJdawHaxiaKHaKHaxjaJjayOawWaxwaxeaxfaxhawSayuawQawRaxeaxhaxfaxeawyaJjbaiaEsawxaJraxdaxaaJuawwaEsawuawsawEawFawCawDaZMaEuaEyawrawAaIbaLiaLjaLkaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaJGaJGaJGaJGaJGaJGaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaJHaBIaBJaBIaBIaDRaDSaBIaBIaBJaJIaLmaNgaZNaZCaZOaZTaZTaZUaZTbaaaWvbafbacaZLbajaLuaDyaLzaCVaLyaLzaCUaLzaLzaLzaCZaLzaLzaCYaLBaLCaLFaCWaCPaLFaCOaLFaLFaLFaLFaLIazaaCTaLKaLzaCSaAQaBxaBwaBzaByaBzaBAaBCaBBaBEaBEaCzaCvaCBaCvaCRaCQaMsaDaaDmaDlaDoaDnaDpaAcaAcaAcaDsaDqaDuaDtaDwaDvaEgaDxaElaEjaEWauWaMlaCFaCCaMoaMnaMpaCpaCoaDNaCraJdaCqaClaChaChaCjaJjaCnaCmaBLaBLaBLaBLaBPaDIbamaDEbasaCLaCLaCNaCMaJjbaiaEsaHPbfKaCXaDFaHPaHPaEsaMOaCKaEuaCGaCHaCIaCJaEuaIbaIbawAaIbaEyaEyaEyaaaaaeaaaaaaaaaaaaaaaaaaaaaaaaaJGaJGaJGaJGaJGaJGaJGaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabaubaxbawbazbazbazbazbaCbaxbauaaaaNgbaEbaNbaHbaUbaRbbcbbcbbeaWvbbfbacbbibbhbbnbbkbbtbbpaANaANaABaACaACaACbbuaATaATbbEaAOaAQaANaANbbFaBabbLbbGaAVaAVaAXaAVaxNaBaaBaaBaaBhaNmaGyaFmaAcaGGaGHaGHaGHaGHaGHaGHaGHaGHaGIaGHaHgaHfaMkaHBaIgaHDaINaIhaIOaGHaIPaGHaIUaISaIVaISaISaISaISaISaISaKpaKraFIaudaudaudaAeaudaudazJaMiaCsazKaJdazNaKHaApaAsaAtaJjaDratraSgaSgaSgaSgaSgbbSaAhaAjatvaSgaSgaAwaNRaJjbaiaEsaNVaHPaHPaNWaHPaNXaEsaEuaEuaEuaEuaEuaEuaAzaEuaIbaIbawAaIbaNZaAyaEyaaaaaeaaaaaaaaaaaaaaaaaaaaaaJGaJGaJGaJGaJGaJGaJGaJGaJGaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
@@ -11391,44 +11387,44 @@ aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaVlaVlaVlaVlaVlaVlaVlaVlaVlaVlaVlaVlaVlbjubjsbjybjxbjJbiuaFsaFsaFsaFsaFsaEpaFsaNuaDPaMuaMtaDBaYyaYyaYyaYybjVaYyaLDaRnaLMaUKaWZaWZaLGaLJaPEaEtbjZbjYbkkbkbbkqbklbkuaLfaLfaYSaYSaYSaYSaYSaYTatFaZmaYYbcmaZobdgbcnaLSaZaaPWaZlaMdaMfaLZaPWaPWaPWaPWaPWaLQaPWaPWaPWaLOaLNaLUaZlaPWaZaaLSbdibdkbdjbffbeiaLYaPUaQoaQoaQoaQoaQoaFHaFFaQoaMBaQoaZraZraZraZraZsaMyaMzaMAaRXaRXaRXaZwaZxasfaMvaMwbkvaKdavyaKTauaaVjbcqbkzbkOaMZaMXaMTbkPaMTaMTaMTaMTaMTaMMaMNaMKaMLaMRaMSaMPaMQaMFaMIaMDaMEaMJaSsaEJaZJaKQaSsbusaYmaaeaaaaJGaJGaJGaJGaJGaJGaJGaJGaJGaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaVlaVlaVlaVlaVlaVlaVlaVlaVlaVlaVlaVlaVlbkUbkRbitbkVblbbiuaFfaFwaFsaFyaFeaEpaFsaFjaDPaFcaFdaDBaYyaZYaZZaFvaFxaYyaFXbadaFPaPEaDGaDJaErblcaPEaEtblDbalbalblEbalbalbalbalbanbaobaobaobapbaobaqatFboHbjvbpcasMasMasMbaAbaAbaAbayblLbaybaAbaBbaBbaBbaBbaBaFrbaBbaBbaBbaDbaDblVbaDaPWaPWaPWbqlbqlbqlbffbeiaLYauWbaFbaGaBlaUDaQobaIaFFbaJaFEbaLaZraZrbhWbaObcqbcqbcqaWPbaMbaMbaMbcqbcqbcqaFLaFMaFJaFKavyaKTaKTaKVbcqblWaZFbaYbcqbaZaFAbbbaWmbmabbabbdaFCaHPaEyaIbaQMaFBbbgaQMaQNaIbaIbaEyaFDaSsaEJaSsaKQbblbbmaYmaaeaFpaJGaJGaJGaJGaJGaJGaJGaJGaJGaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaVlaVlaVlaVlaVlaVlaVlaVlaVlaVlaVlaVlaCDbmcbmnbmdbmubmqaFfaFhaFgaFfaFeaEpaDUaDTaDPaDDaDCaDBaYyaYyaYybcJaEvaYyaEwbadaEqaPEaDGaDJaErbmyaPEaEtblDbalaEoaBkbbHbbHbbIbalbbJbbKaEkbbMbarbarbaratFaAcaYYbcmasMbbPbbQbbRbmzaEhaEiaEfbbWbaAbaBbbXbmAbmHbmBaEcbmIbcdbaBbaDbceaDZaDYaDXaDWaEbaEabjtbqlbrHbqnbrIauWbcqbcqbcqbcqaEZaEYaFbaFabcqbcqaEXbcqbcqbcqbcqaEUaERaETbcrbcrbcrbcsaKObcqaKKbmJbmMaKNaKIaKIaKIaKhbcqblWaZFaEObcqbcqbcqbcqbcqbcqbcqbcqbcqbcqbcqaEIaJtaEHaExaEAaEIaJtbcqaPtbcBaSsaEJaSsaKQaWAbcDbcEaTMaWDaJGaJGaJGaJGaJGaJGaJGaJGaJGaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabmRbmQbnxbnvbitbnAbnAbnAbnAbnAbnAbnOboabnAaDPaDPaDPaDPaDPaJmaDPaDPaDPbkebkeaFRaYyaZYbcIbcJaHvaYybcLbcMbcLaPEaDGaDJaErbmyaPEaEtblDbalbToaScbcQbbHbcQbalbbJbcRbPhbcSbcTbcUbcVatFbtfbrJbcmbtgbcYbgCbdabdbbdbaHyaHzaHAbaAbaBbdebobbogbdhbbXaNPaHYbaBbaDboiaHNaHMaHXbfhaHGaHFaLgbqlbuFbuDaLYaKlbdubdvaZFaZFaIjaZFaIiaZFaZFaZFaZFbgGaZFaZFaZFaZFaBDaZFaZFaZFaZFaZFaZFbdvaZFaZFaIkaIlaIlaImaIlaIlaIobonaZFaBDaItaJybgGaZFaIxaZFaZFaZFaIyaIzaIAaIBaZFaICaZFaIDaZFaZFbdzaIEaIFaSsaEJaSsaHLaHKaHJaJYaPcaHHaJGaJGaJGaJGaJGaJGaJGaJGaJGaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabdQbdQbdQbdQbdQbdQbdQbdQbdQbdQbdQbdQaaaaaeboqbhBbosboOboNboPboPboPboPboPboRboSaFNaFUaFTaFSaFRaYyaYyaYybdXaEvaYyaPEaPEaPEaPEaDGaHhaFZbpfaPEaGbbphbalaJfaJlbpqbcQbeebalbbJbefbPhbcSbcSbcSbehatFbvdaMabcmbvqaGvaGwaGraGsaGpaGqaGlaGmbaAbaBberbprbetbetbetaNPbevbaBbaDbexaGibclbdpbeyaGeaGdaGcbqlbwybwxbwJbwIaGKaGEaGDaGDaGMaGLaGNaGzaGzaGzaGPaGzaGzaGzaGzaGzaGAaGBaGBaGBaGCaGDaGDaGEaGDaGDaGFaGBaGBaHiaGzaHeaHpaHlaGzaHjaGDaGDaGDaGDaGDaGDaGDaGDaGDaGDaGDaGDaGDaGRaGPaGQaGzaGXaGSaGTaHaaHaaGYaGZaKQaStbeLaTMaTMaTNaJGaJGaJGaJGaJGaJGaJGaJGaJGaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabdQbdQbdQbdQbdQbdQbdQbdQbdQbdQbdQbdQbdQbijbiebpxbpwbpzbnAbePbePbeQbePbePbePbUVaNlaNlaNlaNlaDBaYyaZYbeSbeTaHvaYybVdbVebVdaPEaPEaPEaPEbpAaPEbVcblDbalbTpcnLbcQbRAbVabalbbJbarbUXbcSbcSbcSbfeatFbwKaMabcmbxHblvbgCbembfibfjbepbVtbhZbaAbpGbpSbpRbetbpTbetbobbqsbqrbaDbfrbVibVjbVgbVgbVgbVhbVfbqlbxJbxIbyybyxcxRdPwdPxdTPbmZcFsbVFcegceibVGbVHctbctbctaaZFaZFaZFaZFaZFbfDbVwbEuaZFctcbVybVxbVBaZFbfDbfybVIbVJbdzaZFaZFbVKaZFaZFcejbfOaZFbfDaZFaZFaZFaZFaZFaZFaZFaZFaZFaBDaZFaZFbdzbfQbfRbfSbfTbfUcGxcGybfWaaeaaaaaeaJGaJGaJGaJGaJGaJGaJGaJGaJGaaaaaaaaaaaaaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabdQbdQbdQbdQbdQbdQbdQbdQbdQbdQbdQbdQbdQbqvbqubqzbqwbqEbnAbfYbfZbgabgabgbbgcbqYbqUbrabrabrjbrhaYyaYyaYybcJbUgaYyaNlaNlaNlaNlbUfaEtaEtbrBbUdbUcbrGbUCbMpbYMbUqbUBbUjbalbTKbarbUibcSbKabcSbgzbyzbyAaMabcmasMbUsbUrbUubUtbUobUnbUpbfkbaAbaBbgFbsfbsBbshbsCbsfbgKbaBbaDbaDbUybUDbgObgPbclbUwbUxbqlbyCbyBbyDbqlbTqbTqbTqbTqbTqbTqbcqbcqbUMbUNbUJbUKbUNbUMbcqbcqbcqbcqbcqbcqbcqbcqbcqbcqbUObcqbcqbcqbcqbcqbcqcuObcqaZFaZFbURbhkbhkbTqbTqbTqbTqbTqbhmbhnbhnbhobhnaZFbhnbhobUSbhnbhpbTqcuRcuRcuRcvMaPtcBhaPtaPtaaaaaaaaaaJGaJGaJGaJGaJGaJGaJGaJGaJGaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabdQbdQbdQbdQbdQbdQbdQbdQbdQbdQbdQbdQbdQbkUbkRbpxbpwbsLbnAbhtbePbhubhvbePbePbePauUbSSbSRbSRbRuaYyaZYbhzbcJbTzaYybsObsMbtdbsZbtobtebtebtpbtebtebtqbalaFibLsbbHbLwbTtbUCbTibarbTjbcSbcSbTkbhUbyEbyAaMabyHasMbTbbTbbTbbTbbTbbTbbtxbTbbaAbaBbtHbtEbtVbtMbtVbtWbunbaBbaDbaDbimbuCbiobipbclaGdbSVbqlbffaLXaLYbqlcqlcqncqSbTncrDcrGcrMcrFcqUcqVbTTbTUcqVbTOcpscoYcmTbTMbTNcmUcpMckbcrscpNbTRbTPbTScktcktclSbktbSibTqbTqbTJbTqbTLbTLbTqbiVbiWbiXbTqbTEbTFbTEbTqbhmbhnbhpbTqbTDbTIbTDbTqbThbTgbNtbTHbTGblRbhgaaaaaaaaaaaaaJGaJGaJGaJGaJGaJGaJGaJGaJGaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabdQbdQbdQbdQbdQbdQbdQbdQbdQbdQbdQbdQaaacbCbuQbuRbmdbvjbnAbjibePbjjbjkbjlbRxbePbRybRobRrbRsbRuaYyaYyaYyaYyaYyaYybSebSdbScbSbbvnbalbalbalbalbalbalbalbShbalbalbalbMVbalbSgbRFbSfbcSbcSbcSbjAbyzbyAaMabyJasMbRPbRObRRbRQbREbLrbRKbRIaaebaBbRMbRLbRUbvrbRWbRYbRZbaBaaebaDbjNbRSbjObjPbclaGdbRTbqlbyLbyKaLYbyMcqOcgPbSwbSxbSKbSLbSGbSIchochocgRcgScjtcjtbSOciEciDbSNbSMciAckcckbcjDbSQbSPcgecjvcjucgecgfbktbSibiSbkwbkxcgdbSlbkAbkBbkCbkDbkCbSjbkFbSsbkHbTqbcqbSrbSmbTqbSzbSEbSDbSvbNHbSAbNtbSubkSbkTbhgaaaaaaaaaaafaJGaJGaJGaJGaJGaJGaJGaJGaJGaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabmRbmQbnxbnvbitbnAbnAbnAbnAbnAbnAbnOboabnAaDPaDPaDPaDPaDPaJmaDPaDPaDPaHtaHtaFRaYyaZYbcIbcJaHvaYybcLbcMbcLaPEaDGaDJaErbmyaPEaEtblDbalbToaScbcQbbHbcQbalbbJbcRbPhbcSbcTbcUbcVatFbtfbrJbcmbtgbcYbgCbdabdbbdbaHyaHzaHAbaAbaBbdebobbogbdhbbXaNPaHYbaBbaDboiaHNaHMaHXbfhaHGaHFaLgbqlbuFbuDaLYaKlbdubdvaZFaZFaIjaZFaIiaZFaZFaZFaZFbgGaZFaZFaZFaZFaBDaZFaZFaZFaZFaZFaZFbdvaZFaZFaIkaIlaIlaImaIlaIlaIobonaZFaBDaItaJybgGaZFaIxaZFaZFaZFaIyaIzaIAaIBaZFaICaZFaIDaZFaZFbdzaIEaIFaSsaEJaSsaHLaHKaHJaJYaPcaHHaJGaJGaJGaJGaJGaJGaJGaJGaJGaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabdQbdQbdQbdQbdQbdQbdQbdQbdQbdQaaaaaeboqbhBbosboOboNboPboPboPboPboPboRboSaFNaFUaFTaFSaFRaYyaYyaYybdXaEvaYyaPEaPEaPEaPEaDGaHhaFZbpfaPEaGbbphbalaJfaJlbpqbcQbeebalbbJbefbPhbcSbcSbcSbehatFbvdaMabcmbvqaGvaGwaGraGsaGpaGqaGlaGmbaAbaBberbprbetbetbetaNPbevbaBbaDbexaGibclbdpbeyaGeaGdaGcbqlbwybwxbwJbwIaGKaGEaGDaGDaGMaGLaGNaGzaGzaGzaGPaGzaGzaGzaGzaGzaGAaGBaGBaGBaGCaGDaGDaGEaGDaGDaGFaGBaGBaHiaGzaHeaHpaHlaGzaHjaGDaGDaGDaGDaGDaGDaGDaGDaGDaGDaGDaGDaGDaGRaGPaGQaGzaGXaGSaGTaHaaHaaGYaGZaKQaStbeLaTMaTMaTNaJGaJGaJGaJGaJGaJGaJGaJGaJGaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabdQbdQbdQbdQbdQbdQbdQbdQbdQbdQbdQbijbiebpxbpwbpzbnAbePbePbeQbePbePbePbUVaNlaNlaNlaNlaDBaYyaZYbeSbeTaHvaYybVdbVebVdaPEaPEaPEaPEbpAaPEbVcblDbalbTpcnLbcQbRAbVabalbbJbarbUXbcSbcSbcSbfeatFbwKaMabcmbxHblvbgCbembfibfjbepbVtbhZbaAbpGbpSbpRbetbpTbetbobbqsbqrbaDbfrbVibVjbVgbVgbVgbVhbVfbqlbxJbxIbyybyxcxRdPwdPxdTPbmZcFsbVFcegceibVGbVHctbctbctaaZFaZFaZFaZFaZFbfDbVwbEuaZFctcbVybVxbVBaZFbfDbfybVIbVJbdzaZFaZFbVKaZFaZFcejbfOaZFbfDaZFaZFaZFaZFaZFaZFaZFaZFaZFaBDaZFaZFbdzbfQbfRbfSbfTbfUcGxcGybfWaaeaaaaaeaJGaJGaJGaJGaJGaJGaJGaJGaJGaaaaaaaaaaaaaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabdQbdQbdQbdQbdQbdQbdQbdQbdQbdQbdQbqvbqubqzbqwbqEbnAbfYbfZbgabgabgbbgcbqYbqUbrabrabrjbrhaYyaYyaYybcJbUgaYyaNlaNlaNlaNlbUfaEtaEtbrBbUdbUcbrGbUCbMpbYMbUqbUBbUjbalbTKbarbUibcSbKabcSbgzbyzbyAaMabcmasMbUsbUrbUubUtbUobUnbUpbfkbaAbaBbgFbsfbsBbshbsCbsfbgKbaBbaDbaDbUybUDbgObgPbclbUwbUxbqlbyCbyBbyDbqlbTqbTqbTqbTqbTqbTqbcqbcqbUMbUNbUJbUKbUNbUMbcqbcqbcqbcqbcqbcqbcqbcqbcqbcqbUObcqbcqbcqbcqbcqbcqcuObcqaZFaZFbURbhkbhkbTqbTqbTqbTqbTqbhmbhnbhnbhobhnaZFbhnbhobUSbhnbhpbTqcuRcuRcuRcvMaPtcBhaPtaPtaaaaaaaaaaJGaJGaJGaJGaJGaJGaJGaJGaJGaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabdQbdQbdQbdQbdQbdQbdQbdQbdQbdQbdQbkUbkRbpxbpwbsLbnAbhtbePbhubhvbePbePbePauUbSSbSRbSRbRuaYyaZYbhzbcJbTzaYybjTbsMbtdbsZbtobtebtebtpbtebtebtqbalaFibLsbbHbLwbTtbUCbTibarbTjbcSbcSbTkbhUbyEbyAaMabyHasMbTbbTbbTbbTbbTbbTbbtxbTbbaAbaBbtHbtEbtVbtMbtVbtWbunbaBbaDbaDbimbuCbiobipbclaGdbSVbqlbffaLXaLYbqlcqlcqncqSbTncrDcrGcrMcrFcqUcqVbTTbTUcqVbTOcpscoYcmTbTMbTNcmUcpMckbcrscpNbTRbTPbTScktcktclSbktbSibTqbTqbTJbTqbTLbTLbTqbiVbiWbiXbTqbTEbTFbTEbTqbhmbhnbhpbTqbTDbTIbTDbTqbThbTgbNtbTHbTGbkebhgaaaaaaaaaaaaaJGaJGaJGaJGaJGaJGaJGaJGaJGaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabdQbdQbdQbdQbdQbdQbdQbdQbdQbdQaaacbCbuQbuRbmdbvjbnAbjibePbjjbjkbjlbRxbePbRybRobRrbRsbRuaYyaYyaYyaYyaYyaYybSebSdbScbSbbvnbalbalbalbalbalbalbalbShbalbalbalbMVbalbSgbRFbSfbcSbcSbcSbjAbyzbyAaMabyJasMbRPbRObRRbRQbREbLrbRKbRIaaebaBbRMbRLbRUbvrbRWbRYbRZbaBaaebaDbjNbRSbjObjPbclaGdbRTbqlbyLbyKaLYbyMcqOcgPbSwbSxbSKbSLbSGbSIchochocgRcgScjtcjtbSOciEciDbSNbSMciAckcckbcjDbSQbSPcgecjvcjucgecgfbktbSibiSbkwbkxcgdbSlbkAbkBbkCbkDbkCbSjbkFbSsbkHbTqbcqbSrbSmbTqbSzbSEbSDbSvbNHbSAbNtbSubkSbkTbhgaaaaaaaaaaafaJGaJGaJGaJGaJGaJGaJGaJGaJGaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabmRbmQbnxbnvbkRbvubvubvubvLbvubvWbikbwcbwkbnAbkWbkXbkYbkZblacaHcaGaJaaEtaEtaEtbwmbrabwqbrabrabrabrabwFbZXbZXbZZbwSbalbljblkcrwblmblnbloboAbZVblrblschfckRbTibgAbSfbcSbcSbZWbaratFbyAbztbzubxabxdbxcbxcbxfbxCbxhbxRcazbzmbaBbaBbaBbaBbznbaBbaBbaBbaBaaebaDcaqbRScahcajcaecafcadbqlbzEaLXaLYbqldVHdVIdVJcaXcaVbgUcUZbZscjtcjtcjtcjtcjtcjtbZNcaLcaQbSNcaUcaScaJckbdVwbZDcaKcgecjvcjucgedVLbktbSibiScbtbLZbLZcbpcbqcbmcbncbncbncbrcbncbhcbgbhlcbfcbkcbjbNtcbibNHcbdcbabXbbXfbNtbmPbkSbmsbhgaaaaaaaaaaaaaaaaJGaJGaJGaJGaJGaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaateaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabzwbzHbzBbzRbzObzYbzYbAjbAibApbnAbmSbmTbkZbmUbePbePbePaNlbZqbZrbYsbYtbYsbYsbYsbYtbYsaNlaNlbalbalbalbYubalblpblpblpblpblpblpboAbIwbnbbVobndbYwbYJbYLbYHbYIbqfbYFbYxbzFbzWbzVbAAbAzbABcwZbYSbTscDdbUkbRKbRIbAIbACbnybnzbBgbBdbnCbnzbnDbACaaebaDbnFbZobnFbaDbaDbaDbBobqlbzZaLXaLYbyMcqOcgPbZzbZAbZubgUdUSbZsdUXdUYdUVdUWdVnbZObZNbZMcmTdVpbZRbZQbZIckbbZGbZDbSPcgecjvcjucgecgfbktbSibiSdTXbnYdTYbXPbkxbocbodboebofbZSbpDbZTbohbhlbZUbsqchDbNtbVZbVAbVzbXBbVVbVXbNtbmPbkSborbhgaaaaaaaaaaaaaaeaaeaaeaaeaaeaaeaaeaaeaaeaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaaaaaaaaaaaaaaaaaaaaabzwbBCbBybBGbBEbBEbBEbBNbBEbBEbnAbotboubovbkZbePaaaaaaaaaaaeaaebowbowbowbowbowbowbowaaaaaaboxbXzbXybXAboBblpblpblpblpblpblpbXobXrbXsbqebXtbXvbPNboFbarbarbXwbarbarbAabAcbAbbAdbOxbXibTbbTbbTbbTbbTbbBQbTbbAIbCfbCUbCSbCXbCWbCXbCSbDbbCZaaebnFboVbXdbXabXcbXebnFbDdauWbAeaXObAfbqlbWmcqnbYlbYnbYjbixdUObYkdUJbpHdULbVWbqtdUFbYibYfcmTckbbYebYcbXYckbdUCbYbbXWbXVdUzdUzbXUdUwbktbSibiSdUubkxbkxbXPbXQbXNbXObXLbXMbXIbXJbXHbpFbhlbXGbXFbXEbNtbUYbUTbUPbXBbNHbUIbNtbSubkSbpMbhgaaaaaaaaaaaaaaebpNbpObMebpObMebpObpQaaeaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaaaaaaaaaaaaaaaaaaaaabzwbBCbBybBGbBEbBEbBEbBNbBEbBEbnAbotboubovbkZbePaaaaaaaaaaaeaaebowbowbowbowbowbowbowaaaaaaboxbXzbXybXAboBblpblpblpblpblpblpbXobXrbXsbqebXtbXvbPNboFbarbarbXwbarbarbAabAcbAbbAdbOxbXibTbbTbbTbbTbbTbbBQbTbbAIbCfbCUbCSbCXbCWbCXbCSbDbbCZaaebnFboVbXdbXabXcbXebnFbDdauWbAeaXObAfbqlbWmcqnbYlbYnbYjbixdUObYkdUJcPadULbVWcyYdUFbYibYfcmTckbbYebYcbXYckbdUCbYbbXWbXVdUzdUzbXUdUwbktbSibiSdUubkxbkxbXPbXQbXNbXObXLbXMbXIbXJbXHbpFbhlbXGbXFbXEbNtbUYbUTbUPbXBbNHbUIbNtbSubkSbpMbhgaaaaaaaaaaaaaaebpNbpObMebpObMebpObpQaaeaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaceTbmcbDnbDnbDobvubEFbmRbmQbFibEFbnAbpUbpVbpWbpXbePaaaaaaaaaaaaaaabowbowbowbowbowbowbowaaaaaabpYbpZblpbWrbWqbWqbWqbWqbWqbWtbWubWqbWsbWxbWybWvbWwbWzbWAbarbqjbcSbWCbWBbBabBfbFnbCubOxbOxbInbGtbFubGRbGybTrbInbHvbGUbWbbWabWcbHGbWebWgbWhbHObHQbWkbWnbWobqFbaDbqGbnFbHSauWbCzbeibCBbqldUjdUkbWPdUibWObixdUebWNbWLbWMbWKbWKbWVbWUbWTbWSdUpbPZbWRbHJbPZbPZbPZbPZbWQbPZbPZbPZbktbktbktbSibiSdTXbnYdTYbWDbWEbrcbrdbrebrebrebpDbKEbrfbrgbtCbWJbWIbNtbUEbUzbWGbWHbNHbUvbNtbWFbmrbhgbhgaaaaaaaaaaaaaaebrobrpbrqbrrbrrbrsbroaaeaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabrtbrtbrtbrtbrtbrtbrtbrtbrtbrtbrtbrtaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabowbowbowbowbowbowbowbrubrvbrwbrxblpbIyblpbZKbZKbZKccZbIvbIwblpblpbnbbqgbqTbMlbJXbrCbrDbrEbcSbcSbMkbCCbBfbFnbIibHYbIpbIkbIqbMrbMqbJNbRbbInaaebrQbMnbnzbqybIUbqybnzbMDbrUaaebnFbMBbMCbMvbaDbrZbnFbDdauWbDSbeiaLYbqlbLFbLGbLHbLIbLKbIVbJfbJabIVbLDbPubWfbLDbPZbLNbLMbPZbPZbLPbLObQFbJhbQIbQHbLSbLQbQVbPZbLWbLYbLUbLVbiSbMabLZbLZbMbbMcbkBbsFbrebrebrebpDbKEbsHbtCbStbMfbMdbtCbNEbMibNJbMhbNHbMjbNtbmPbsPbhgaaaaaaaaaaaaaaaaaebsQbsRbrqbrrbrqcfLbMeaaeaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabrtbrtbrtbrtbrtbrtbrtbrtbrtbrtbrtbrtbrtbrtbrtaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabowbowbowbowbowbowbowcfDbsUcfDbsVbsWbIyblpblpblpbJjblpbIvbIwbsXbalbalbsYbcSbndbJXbtabtbbLebSWbSWbKZbFcbFpbFobIhbBabLBbJobJmbJNbDNbCHbHWbInaaebrUbrUbJpbCSbJqbnzbJwbrUbrUaaebtvbtvbtvbtvbtvbtvbtvbJEbqlbKubyBbyDbqlbKvbMmbMmbHMbCGbIVbwubJPbKfbKcbKBbKCbKebHJbKdbGNbKlbKkbKjbKmbKmbKnbKqbKmbKsbKrbKzbKxbKDbKAbKRbKQcuBbrbbKVbKWbKXbKYbkBbzPbkCbkCbucbpDbKEbuebuqbUAbKHbKGbuqbKIbKMbKLbKObGwbtCbtCbKPbhgbhgbRDbSpbSpbSpbSqbKSbrobrrbrqbrrbrrcfjbroaaeaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabrtbrtbrtbrtbrtbrtbrtbrtbrtbrtbrtbrtbrtbrtbrtaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabowbowbowbowbowbowbowcfDbsUcfDbsVbsWbIyblpblpblpbJjblpbIvbIwbsXbalbalbsYbcSbndbJXbtabtbbLebSWbSWbKZbFcbFpbFobIhbBabLBbJobJmbJNbDNbCHbHWbInaaebrUbrUbJpbCSbJqbnzbJwbrUbrUaaebtvbtvbtvbtvbtvbtvbtvbJEbqlbKubyBbyDbqlbKvbMmbMmbHMbCGbIVbKbbJPbKfbKcbKBbKCbKebHJbKdbJWbKlbKkbKjbKmbKmbKnbKqbKmbKsbKrbKzbKxbKDbKAbKRbKQcuBbrbbKVbKWbKXbKYbkBbzPbkCbkCbucbpDbKEbuebuqbUAbKHbKGbuqbKIbKMbKLbKObGwbtCbtCbKPbhgbhgbRDbSpbSpbSpbSqbKSbrobrrbrqbrrbrrcfjbroaaeaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabrtbrtbrtbrtbrtbrtbrtbrtbrtbrtbrtbrtbrtbrtbrtbrtbrtaaaaaaaaaaaaaaaaaaaafaaaaaaaaabowbowbowbowbowbowbowcdKbutcdKbuublpbIyblpbrybrybrybrybIvbIwbuvbuwbalbuxbcSbndbJXbuybuzbJZbcSbKabcSbLbbLubBebLAbLzbLBbKTbJObJNbJNbJNbJMbInbOpbOpbOpbrUbLfbIUbLfbrUcdacdacdabtvbJQbuVbuWbuXbuYbJSbJRbqlbLTaLXaLYbqlbJcbJdbJebJgbJnbLibLkbLjbLpbLobJkbJlbLvbJvbJybJxbJtbJrbJubJtbJFbLxbJHbJGbJCbJBbJDbPZbICbIDbIAbIBbiSbvybIzbMgbvBbvBbkBbvCbvDbvEbkBbIEbIMbvGbSobSnbIKbIIbIHbIFbIFbJbbIZbIXbIWbIPbIObINbJIbJJbJLbXpbXpbZcbZtbvXbpObMeccRbMebpObvZaaeaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabrtbrtbrtbrtbrtbrtbrtbrtbrtbrtbrtbrtbrtbrtbrtbrtbrtbrtaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabowbowbowbowbowbowbowbwabrvbwbbXSblpbIyblpblpblpblpblpbIvbIwbuvbwdbalbwebcSbIxbIubcSbItbPhbcSbcSbrFbBabBfbBebLAbLzbLBbInbIsbIlbImbIlbIobInbwpbLybIrbOpbrUbLLbrUcdabIjbLXbXubtvbIbbIcbIdbIebIfbIfbIgbNpbLTaLXaLYbqlbSkbLRbLRbHMbvNbIVbMtbMsbIVbMubHNbHNbMPbPZbHxbHrbPZbPZbPZbPZbPZbPZbHKbPZbPZbHJbHIbPZbAqbAqbAqbHobiSbtCbuqbuqbuqbuqbuqbuqbuqbuqbuqbGwbHcbHbbHebSnbGZbGlbHabsabsabsabHibRpbRlbRibHhbHgbHZbRBbRtbRwbRtbIabRCbRDbSpbSqbRHbKSbRJaaaaaeaaaaaaaaaaaaaaaaaaaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabrtbrtbrtbrtbrtbrtbrtbrtbrtbrtbrtbrtbrtbrtbrtbrtbrtbrtaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabowbowbowbowbowbowbowcdKbutcdKbxubxvbQQblpblpblpbxvblpbIvbIwbuvbQSbalbQRbcSbndbJXbcSbgAbQTbcSbcSbxGbCCbBfbBebNqbCCbNsbInbQWbMZbRdbRcbRbbInbRabNfbNjbNhbNlbNkbNobNmbNUbNubRebtvbRnbycbycbydbyebyfbQEbqlbNxbNwbNybqlbymbQhbQibQjcarbOkbOmbOlbKfcbccbebHNbQlbHJbzzbQmbHJceEceJcqebDccckbNbccEbAqbQkbOYcpybRvcbbbAqbQsbQubQwbPGbQtbPwbPwbOobQobQpbQrbOqbQqbQMbQLbQpbQKbQPbGlbQObQNbQxbtCbtCbtCbtCbtCbQJbQDbywbRDbSqbRCefSefTefUefVckkctpdKtefRaaaaaaaaeaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabrtbrtbrtbrtbrtbrtbrtbrtbrtbrtbrtbrtbrtbrtbrtbrtbrtbrtaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabowbowbowbowbowbowbowcoMbzdcoMbPQbzfbzgbzgbzgbzgbzgbzhbPKbPLbuvbzjbalbzkbPIbPJbPPbzobPNbPObzqbzrbarbAadSVbBebNAbNzbLBbInbPXbPWbQbbIlbQcbInbRGbPYbQabOpbPSbPTbOrcdabPRcoOcoXbtvbzKbzLbzMbzNbyebyfbPVbqlbDSaLXaLYbNBbPjbOubzGbPibEpbOybOBbOzbIVbLDbLDbOCbLDbPZbCbbPcbXqbODbZBbPdbDcbOVbNbbOTbLJbPabOYbOXbAybOFbPCbPDbPEbPFbPGbPHbPwbPwbPxbPybPzbPybPybPAbOLbPpbPsbPrbPtbGlbwtbJWbPlbPkbPnbPmbPobzlbzbbNXbBcaaeaaebRCcaocapcamcanbZycalbZxbRCaaaaaaaaeaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabrtbrtbrtbrtbrtbrtbrtbrtbrtbrtbrtbrtbrtaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabowbowbowbowbowbowbowbAKbALbAMbalbalbANbrvbrvbrvbAObalbalbAPbAQbARbalbASbASbASbOQbASbAUbORbAWbAXbAYbAabBfbBebNDbNCbAabOxbOxbOxbOxbOxbOObOxbOxbOxbOxbOxbOxbOPbOxbOxbOxbOxbOxbOxbOxbOxbqlbqlbqlbqlbqlbqlbDSaLXaLYbNBbOtbOubBxbOvbOnbOZbPfbPebPqbPgbPBbHNbPMbOKbONbOMbOHbOGbOJbOIbQdbPUbQfbOEbQUbQnbQXbOAbQYbNVbAqbNNbSJbtCbtCbtCbtCbtCbNMbtCbtCbtCbuqbNLbuqbuqbZhbSnbGZbGlbwtbOjbOibOhbOfbOebObbzlbzbbNXbNKaaaaaabRCbKbbZwbRCbZtbRCbRCbZtbRCaaaaaaaaeaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabrtbrtbrtbrtbrtbrtbrtbrtbrtbrtbrtbrtaaaaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabowbowbowbowbowbowbowaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabYZaaeaaaaaaaaaaaabASbChbNFbNIbCkbAUbNGbCmbEZbCobAabBfbBebLAbLubRNbQgbSCbSybSHbSFbTVbTlbULbUHbULbVvbVDbVCbVLbVEbLubXgbLubXhbLubLbbYBbYqbYEbYDbYYbYVbDSaLXbNyauWbymbSBbSBbSBbymbIVbRfbQZbRhbRgbRkbRjbRmbRXbNgbmKbHJbRzbRVbNebDcbNbbNabMWbMUbMTbAybMRbEKbNrbAqcuCblubzCbPbbXXbXxbXDbMNbMObOSbELbMLbMMbOcblTbuqbDybGZbGlbrWbMKbMHbMGbMJbMIbMEbzlbzbbMFbywbywbywbRCbRCbRCbRCaaaaaaaaeaaaaaaaaaaaaaaeaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaeaaeaaeaaeaaeaaaaaaaaaaaaaaeaaeaaeaaeaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaateaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabrtbrtbrtbrtbrtbrtbrtbrtbrtbrtbrtbrtbrtbrtbrtbrtbrtbrtaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabowbowbowbowbowbowbowcoMbzdcoMbPQbzfbzgbzgbzgbzgbzgbzhbPKbPLbuvbzjbalbzkbPIbPJbPPbzobPNbPObzqbzrbarbAadSVbBebNAbNzbLBbInbPXbPWbQbbIlbQcbInbRGbPYbQabOpbPSbPTbOrcdabPRcoOcoXbtvbzKbzLbzMbzNbyebyfbPVbqlbDSaLXaLYbNBbPjbOubzGbPibEpbOybOBbOzbIVbLDbLDbOCbLDbPZbCbbPcbXqbODbZBbPdbDcbOVbNbbOTbLJbPabOYbOXbAybOFbPCbPDbPEbPFbPGbPHbPwbPwbPxbPybPzbPybPybPAbOLbPpbPsbPrbPtbGlbwtbjUbPlbPkbPnbPmbPobzlbzbbNXbBcaaeaaebRCcaocapcamcanbZycalbZxbRCaaaaaaaaeaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabrtbrtbrtbrtbrtbrtbrtbrtbrtbrtbrtbrtbrtaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabowbowbowbowbowbowbowbAKbALbAMbalbalbANbrvbrvbrvbAObalbalbAPbAQbARbalbASbASbASbOQbASbAUbORbAWbAXbAYbAabBfbBebNDbNCbAabOxbOxbOxbOxbOxbOObOxbOxbOxbOxbOxbOxbOPbOxbOxbOxbOxbOxbOxbOxbOxbqlbqlbqlbqlbqlbqlbDSaLXaLYbNBbOtbOubBxbOvbOnbOZbPfbPebPqbPgbPBbHNbPMbOKbONbOMbOHbOGbOJbOIbQdbPUbQfbOEbQUbQnbQXbOAbQYbNVbAqbNNbSJbtCbtCbtCbtCbtCbNMbtCbtCbtCbuqbNLbuqbuqbZhbSnbGZbGlbwtbOjbOibOhbOfbOebObbzlbzbbNXbNKaaaaaabRCbZvbZwbRCbZtbRCbRCbZtbRCaaaaaaaaeaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabrtbrtbrtbrtbrtbrtbrtbrtbrtbrtbrtbrtaaaaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabowbowbowbowbowbowbowaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabYZaaeaaaaaaaaaaaabASbChbNFbNIbCkbAUbNGbCmbEZbCobAabBfbBebLAbLubRNbQgbSCbSybSHbSFbTVbTlbULbUHbULbVvbVDbVCbVLbVEbLubXgbLubXhbLubLbbYBbYqbYEbYDbYYbYVbDSaLXbNyauWbymbSBbSBbSBbymbIVbRfbQZbRhbRgbRkbRjbRmbRXbNgbmKbHJbRzbRVbNebDcbNbbNabMWbMUbMTbAybMRbEKbNrbAqcuCblubzCbPbbXXbXxbXDbMNbMObOSbELbMLbMMbOcblTbuqbDybGZbGlbrWbmmbMHbMGbMJbMIbMEbzlbzbbMFbywbywbywbRCbRCbRCbRCaaaaaaaaeaaaaaaaaaaaaaaeaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaeaaeaaeaaeaaeaaaaaaaaaaaaaaeaaeaaeaaeaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaateaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabrtbrtbrtbrtbrtbrtbrtbrtbrtbrtbrtbrtbrtaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabowbowbowbowbowbowbowaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabASbDCbDDbyObDFbDGbyPbDIbyNbDKbAabBfbZacaxcawcawcaWcfOcfNcjdcgkcfOcaWcawcawcawclFcvvcsxdzVdzjcawcawcawdAJcfOcfNdUZdAQeboebnebpebnebrebqbCBauWbEbbzGbEpbEpbzIbSabOBbSTbSXbSUbLDbynbSYbzybzzbzAbPZbHqbHsbHFbDcbDhbDkbDwbDEbAgbAybzDbEKbAgbAqcdicdjbzCbEqbEobEybEtbHnbHjbHpbELbzvbzpbEmbEmbuqbyQbyTbyVbyRbySbyYbyZbyWbyWbzebzlbzbbzcbywbzSbzUbzTbywaaeaaeaaeaaeaaeaaeaaeaaaaaaaaeaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaeaaebEPbEQbEQbFgbtybtybjBbjBbjBbjBbEOaaeaaeaaaaaaaaaaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabrtbrtbrtbrtbrtbrtbrtbrtbrtbrtbrtbrtbrtbrtbrtbrtbrtbrtaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabowbowbowbowbowaaaaaaaaaaaaaaaaaaaaaaaabERbESbBTbESbEUaaaaaaaaabASbASbEVbEWbyObEWbEXbFdbEZbAhbFbbAaebtbBfebAebubLuebDbLubLbbSHebEbLuebFebIebHebNebLbLAbLuebPbvKbULebQbULbULebYebWecgecdeciechbeiecjaLYaLYaLYauWbFmbBxbFlbETbBxbTabTdbTcbTmbAHbAFbAEbAJbAVbzzbmKbAZbFQbFGbDcbDcbHfbHfbHfbAqbEGbBbbEAbElbEkbAqcdkcdnbzCbFRbJKbJUbJTbJVbFVbFXbELbAmbAlbEmbEmbuqbSnbAnbGlbtCbAobArbAtbAubAwbAxbzlbTvbTubTwbTwbTwbTxbBcaaaaaaaaaaaaaaeaaaaaaaaaaaaaaeaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaeaaeaaebGjbmNbGhbmNbtybjBbjBbjSbmLbjSbjBbjBaaeaaeaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabrtbrtbrtbrtbrtbrtbrtbrtbrtbrtbrtbrtbrtbrtbrtbrtbrtbrtaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabGpbGqbEHbEIbGpbGsbTybGubASbDZbwHbwGbwAbwzbwCbwBbwDbwDbwEbAabAabAabUQbAabAabAabAabAabAabAabAabAabAabAabAabAaecmeclecpbAabAabAabAabAabTAbAaauWauWauWauWbNiauWaxoaBsecvauWbzXbBxbBxbwXbxebTCbTWbTQbIVbwYbxbbwZbwQbPZbwRbTXbwMbwNbwObwPbwTbwVbwWbEMbEKbAgbAybAybATbAgbAqboobhQbhQbhQbhQbhQbhQbhQbhQbhQbhQbBRbxkbBqbBqbuqbxibxgbFjbtCbjfbjfbjfbFCbFDbFybjfbjfbjfbjfbjfbxmbxlbxnbTYbTYbTYbTYbTYbTYbTYbTYbTYbTYbTYbTYbTYbTYbTYbTYbTYbTYbTYbTYbTYbTYbTYbxXbmNbmNbtnbjBbjBbjSbjSbBSbjSbjSbjBbjBaaeaaeaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabrtbrtbrtbrtbrtbrtbrtbrtbrtbrtbrtbrtbrtbrtbrtbrtbrtbrtaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabBTbHBbHCbHBbBTbHDbFSbFMbFPbPvbHHbEWbxrbxpbAUbxobHLbxtbFLbAUbxxbxybnqbkiaaaaaaaaaaaabGFbGfbHRbxwbHTblObQCbCtbxEbHXbBYbCtbxKbxFbxMbxLbxAbxzbLqbxBbTZbkLbxDbmvbmvbmvbmvbymbBmbBlbBlbBkbymbUabUebUbbubbxbbxObxNbykbxPbyibyjbygbyhbxZbyabyqbyrbwWbGebAybAybypbAgbAgbGebAqboobhQbGkbGrbCxbUUbCMbHEbGObGvbhQbCLbysbDpbDpbuqbyubytbGlbGwbDjbDMbDObDTbGMbGEbDsbDHbDJbDXbjfbywbyvbywbngbngbngbngbngaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaeaaaaaabxYbjBbxXbjBbjBbjSbjSbjSbjSbjSbjSbjSbjBbjBaaeaaeaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabrtbrtbrtbrtbrtbrtbrtbrtbrtbrtbrtbrtbrtbrtbrtbrtbrtbrtaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabBTbHBbHCbHBbBTbHDbFSbFMbFPbTfbHHbEWbxrbxpbAUbxobHLbxtbFLbAUbxxbxybnqbkiaaaaaaaaaaaabGFbGfbHRbxwbHTblObQCbCtbxEbHXbBYbCtbxKbxFbxMbxLbxAbxzbLqbxBbTZbkLbxDbmvbmvbmvbmvbymbBmbBlbBlbBkbymbUabUebUbbubbxbbxObxNbykbxPbyibyjbygbyhbxZbyabyqbyrbwWbGebAybAybypbAgbAgbGebAqboobhQbGkbGrbCxbUUbCMbHEbGObGvbhQbCLbysbDpbDpbuqbyubytbGlbGwbDjbDMbDObDTbGMbGEbDsbDHbDJbDXbjfbywbyvbywbngbngbngbngbngaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaeaaaaaabxYbjBbxXbjBbjBbjSbjSbjSbjSbjSbjSbjSbjBbjBaaeaaeaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabrtbrtbrtbrtbrtbrtbrtbrtbrtbrtbrtbrtbrtbrtbrtbrtbrtaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabGpbHBbHBbHBbNvbNnbEWbOgbNdbNcbEWbEWbEsbJibAUbAUbAUbAUbAUbAUbEgbEhbEebEfaaabEdbnmbnmbErbJsbHVbEnbEjbHVbEibCtbDRbDQbDPbCtbDLbDBbDAbDzbEcbDYbDWbGHbGHbkLbDVbDUcjhbClbFtbymbzXbFvbBxbBxbFkbUlbOmbUmbIVbFqbFsbFrbENbPZbEYbFabPZbFebFfbFhbEEbEJbwWbAqbAqbAqbAqbAqbAqbAqbAqbpjbhQbKFbUGbUFbCxbCxbCxbCxbEDbhQbKtbAlbKpbKpbuqbSnbECbOWbEBbKgbKgbKgbKgbKhbIYbIYbKibKobJYbjfbEzbBJbEvbngbExbEwbJAbJzaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaebtybjBbptbpubpubjSbjSbjSbjSbjSbjSbjSbjSbjBbjBaaeaaeaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabrtbrtbrtbrtbrtbrtbrtbrtbrtbrtbrtbrtbrtbrtbrtaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabBTbHCbHCbHCbBTbKKbQvbQebKNbOUbEWbEWbFYbFWbFUbFxbFxbFxbFxbFxbFxbFzbFAbBtaaabCObLabFwbLcbLdbHVbFEbFBbHUbLgbCtbFHbYpbFIbCtbLlbLmbLnbFFbFObFNbFTbGHbFJbClbFKbmvbClbClbGSbymbFmbCgbFlbETbBxbUWbVbbTcbVkbGQbGPbTfbGWbGXbzzbmKbGYbFebFhbFhbEEbGTbwWbKwbVlbGVbmobKybVmbGxbkybpjbhQbCxbCxbLEbCxbCxbCxbCxbRqbhQbLCbAlbHPbHPbuqbGGbGJbGKbGLbGzbGzbGzbGzbGAbGzbGBbGCbGDbGobGmbGibGgbGdbGcbGbbGabFZbKJaaeaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabVnaaaaaeaaaaaabjBbjBbkQbjSbjSbjSbjSbjSbjSbjSbjSbjSbjSbjSbjBbjBaaeaaeaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabrtbrtbrtbrtbrtbrtbrtbrtbrtbrtbrtbrtaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaaaaaaaaaaaaaaaaaabGpbMwbMxbMybGpbMzbTybGubASbASbMAbMAbMAbASbASbkibBhbBhbkgbkgbkgbkgbnqbBtaaabBzbBubBwcdrbBDbBAbBBbVsbVpbVpbVMbBnbBjbBibCtbGHbGHbGHbGHbGHbVNbGHbGHbBsbBrbBpbmvbClbCjbCpbymbEbbCgbBxbCibHdbUWbVObSTbVQbCcbCebCdbCabLtbCbbtKbLhbBWbBXbBZbVUbBUbwWbBVbBMbBObmobBPbCEbCDbkybpjbhQbhQbhQbLEbCxbCxbCxbhQbhQbhQbCAbCybHPbHPbuqbCwbmlbGlbGwbHAbHybHzbHtbHubCsbCvbCqbCrbBIbjfbBKbBJbBLbngbHlbHkbBHbGnaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaebjBbjSbjSbjSbjSbjSbjSbjXbjSbHmbjSbjSbjSbjSbjSbjBbjBaaeaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabNObESbNPbESbNQbMoaaeaaaaaabASbNRbNSbNTbASaaabkibCKbCJbCIbCFbCFbCFbCNbBtaaabCObNWbCPbNYbNZbHVbMQbCQbMSbOdbCtbCRbqLbCTbVYbWdbWdbWdbWibWibWjbCYbClbClbClboJbmvbmvbmvbmvbymbymbDfbHwbDebymbWpbWXbWWbWZbWYbWpbXjbXmbXkbYzbXnbWpbwWbwWbwWbwWbwWbwWbDmbDibDlbmobDgbDvbDubkybpjbhQblzbYGbYAbIRbIQbITbISblzblUbDtbDrbOcblTbuqbDybmlbOabtCbjfbjfbjfbjfbjfbjfbjfbDxbIYbDabjfbnfcfdbnfbngbMYbIJbIGbngaaeaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaeaaaaaabjBbulbulbulbulbulbulbILbjSbuPbulbHmbjSbjSbjSbjSbjBaaeaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaebnIbkibkibkibkibkgbnubnqbntaaabnnbnmbnmbnkbnlbHVbHVbnibHVbnhbCtbkpbkobnHbCtbgXbgXbgXbgXbgXbgXbgXbgXbnGbnBbZebYObZkbZibmvbymblCbmwbvJbmxbvMbZlbZYbZFcaccabcatbZYcavcaucaAcaycaEbmVbmWbmibmXbmYbidbnabncbnabmoblYbmbblYbkybpjbhQbmecaIcaFbmhbmgbplbmfbDqblUbuqbmjbuqbuqbuZbsabmlbsabvaaaebjcblZbvfbswcblbmpbmmbmtbnEbjfbriblSbpPbngbnwbnjbnjbolaaLaaLaaaaaaaaaaaaaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabombmNbmNbmNbmNbmNbmNbmNcbvbmLbjSbjSbjSbjSbmObmLbEOaaeaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacaBcaCcaCcaDbpbbkiboZbkgbpabkiaaaaaaaaaaaabGFbQybQzbQAbQBefBbHVbCtboWboUbBYbCtbgXbmEbmGbmFbmCcbFbmDbgXccbccbccbccbccbboJbnZbnXcclboMbpkboLboQccNcdlccWcdscdmcdscducdscdycdDcdAcdGbokbojbokbozboCbrkboyboGboIboDboEbnMbnLcefcedbnQbnPbnSbnRbicbnTbnUbicbicbiabnWbnVbvYbnJbsabsabmlbsabwtaaebjcbjdcekbopcelboKbnKboYcepbjfbrXblSblXbngbngbngbngbngaaeaaeaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaeaaaaaabjBbpubpubpubpubpubpubpvbjSbptbpubkabjSbjSbjSbjSbjBaaeaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabkfbrKcbobrPbkgbkdbkjbkgbkhbkiaaMaaaaaaaaabGFbGFbGFbGFbGFbGFbCtbCtbkpbkobkmbCtbCtceqbgwbgxbgxbgwbgvbgXceWceuceuceYccbbisbymbymbqxbirbrlbfEbiAceZcfWcflcfYcfXcgacfZcgccgbcghcggcgibiFbiIbiJbiIbjgbjhbjnbiZbjabjbbjeblybjwblxblwblubqDbqDbjqbjIbjHbjGbjFbjEbjCbjzcgjbjMbjQbjLbjMcgmbjKbrWaaebjcbjdbszbswbjTbjUbjRcgnbjmbjfblXblSbnebmkbnfaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaebjBbjSbjSbjSbjSbjSbjSbjXbjSbkabjSbjSbjSbjSbjSbjBbjBaaeaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaccecaCcaCcaDblBblAbZvbkibpibkiblJcgtcgDblJblJblKcgGblMblNblPblQecQblGblFblHbllblIbgwbugbjDbiNbiMchecgLchwchiciBchTccbbkMbkLbkKbkJbkIbiTbiTbldciFcjbciPbWpbWpcjCcjcbWpbWpckvcjQckwbidbnNbksbhebiKbkGbiKbiGbiHbkEbiHbiGbliblxbooblubknbkrblhbtYbtTbltbkNbhQbhQbtCbtCbtCbtCbtCblgbleblfbtCbjfbjfbjfbjfbjfbjfbjfbjfbjfbjfbjfbpdboTbpgbpebnfaaaaaeaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaeaaaaaabjBbjBbkQbjSbjSbjSbjSbjSbjSbjSbjSbjSbjSbjSbjBbjBaaeaaeaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaamaambCVaamaamaamaamaamaaaaaaaaaaaaaaaaaaaaeaaeaaabxWbxTbxTbxTbxVbxTbxTbupburblJbuockzblJbuIbuJbuGbuHckAbuEbuAbuBbuObuMbuLbxUbuKbgwbugbwLbxjbiMclnbgXclwclwclwclwclwbtQbkLbymbCnbvlbtSbtRbtIclDcnwcnpbWpbtNbtPbtObuibiDbujbukbumbwUbhebksaJzbiKbtUbtXbiGbtZbuabufbiGbtcblxbpjblublubsIbsIbsIbsIbsIbsIblubuScovcnAcowbvkbtCbtCbtFbtCbtCbvsbuUbvcbuTblXbvgblXblXbvebtlbtkcpwcpabtjbnfbnfbnfaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaebtybjBbuPbulbulbjSbjSbjSbjSbjSbjSbjSbjSbjBbjBaaeaaeaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaamaaaaaaaaaaaaaaeaaeaaaaaaaaaaaaaaaaaaaaaaaaaaaaaeaaeecwecxbsKcrecqfbthcrfbwnbwoblJbwlcrhblJblJcrrbwvbwwcribwrbwsbAkblGblFblHbwibwgbgwbgwbwhbwjbgwcrlbgXcrncrmclwcrAclwboJbqZbqZbqZbqZbqZbqZbqZbWpcrQcrHbWpbrAbwfbqJbtDbiDbvTbvUbvVbwUbhebksbhebiKbvObvPbiGbvSbvQbvRbiGbvAbGIcrUcrWbKUbvIbvHbsrbvtbvvbqhcsmcshcsybBFcsBcshctsbvobvpeczctWctScuacuacuacuacuacuacuacuacuacuabvFbvzbvxbvwcucbnfbnfbnfbnfaaaaaeaaaaaaaaaaajaajaajaaeaaaaaaaaeaaaaaaaaeaaaaaabxYbjBbxXbjBbjBbjSbjSbjSbjSbjSbjSbjSbjBbjBaaeaaeaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaamaaaaaaaaaaaaaaaaaeaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaeecCecCbsKcuHcukbthcuKbqpbqqblJcrCcwzcwacwJcwAcwXcwKcxabqHbqAbqCbqNbqLbqKbqIbqSbqQbqPbqObqVbqXcxdcxccxxcxeczecyRclwboJbqZbpEbqWbqRbpCbpBbpycBpcCKcBycCNbppbpscCTbsmbiDbsnbsobsibwUbhebksbhebiKbpKbpLbiGbrOcCVbpJbiGbqiblxblxbsTblxbqbbqcbqbbqbbqbbqabsSbybbybbxSbqobybbudecGbqkecHbuddfTbyobxsbxqdfTdfTdfTdfTbylbxsbxqdfTdfTblXbsGcDfbsNcDpcDobsEcExcEycEycEycEycEycEycEycEycEycEycEycEycEycEycEycEybpmbpnbpnbpobjBbjBbjSbjSbqmbjSbjSbjBbjBaaeaaeaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabrtbrtbrtbrtbrtbrtbrtbrtbrtbrtbrtbrtbrtbrtbrtaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabBTbHCbHCbHCbBTbKKbQvbQebKNbOUbEWbEWbFYbFWbFUbFxbFxbFxbFxbFxbFxbFzbFAbBtaaabCObLabFwbLcbLdbHVbFEbFBbHUbLgbCtbFHbYpbFIbCtbLlbLmbLnbFFbFObFNbFTbGHbFJbClbFKbmvbClbClbGSbymbFmbCgbFlbETbBxbUWbVbbTcbVkbGQbGPbGNbGWbGXbzzbmKbGYbFebFhbFhbEEbGTbwWbKwbVlbGVbmobKybVmbGxbkybpjbhQbCxbCxbLEbCxbCxbCxbCxbRqbhQbLCbAlbHPbHPbuqbGGbGJbGKbGLbGzbGBbmpbmpbnKbpHbmpbmpbmpbqtbGmbGibGgbGdbGcbGbbGabFZbKJaaeaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabVnaaaaaeaaaaaabjBbjBbkQbjSbjSbjSbjSbjSbjSbjSbjSbjSbjSbjSbjBbjBaaeaaeaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabrtbrtbrtbrtbrtbrtbrtbrtbrtbrtbrtbrtaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaaaaaaaaaaaaaaaaaabGpbMwbMxbMybGpbMzbTybGubASbASbMAbMAbMAbASbASbkibBhbBhbkgbkgbkgbkgbnqbBtaaabBzbBubBwcdrbBDbBAbBBbVsbVpbVpbVMbBnbBjbBibCtbGHbGHbGHbGHbGHbVNbGHbGHbBsbBrbBpbmvbClbCjbCpbymbEbbCgbBxbCibHdbUWbVObSTbVQbCcbCebCdbCabLtbCbbtKbLhbBWbBXbBZbVUbBUbwWbBVbBMbBObmobBPbCEbCDbkybpjbhQbhQbhQbLEbCxbCxbCxbhQbhQbhQbCAbCybHPbHPbuqbCwbmlbGlbGwbHAbHybHzbHtbHubsObCvbIYbCrbBIbjfbBKbBJbBLbngbHlbHkbBHbGnaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaebjBbjSbjSbjSbjSbjSbjSbjXbjSbHmbjSbjSbjSbjSbjSbjBbjBaaeaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabNObESbNPbESbNQbMoaaeaaaaaabASbNRbNSbNTbASaaabkibCKbCJbCIbCFbCFbCFbCNbBtaaabCObNWbCPbNYbNZbHVbMQbCQbMSbOdbCtbCRbqLbCTbVYbWdbWdbWdbWibWibWjbCYbClbClbClboJbmvbmvbmvbmvbymbymbDfbHwbDebymbWpbWXbWWbWZbWYbWpbXjbXmbXkbYzbXnbWpbwWbwWbwWbwWbwWbwWbDmbDibDlbmobDgbDvbDubkybpjbhQblzbYGbYAbIRbIQbITbISblzblUbDtbDrbOcblTbuqbDybmlbOabtCbjfbjfbjfbjfbjfbvgbjfbCqbIYbDabjfbnfcfdbnfbngbMYbIJbIGbngaaeaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaeaaaaaabjBbulbulbulbulbulbulbILbjSbuPbulbHmbjSbjSbjSbjSbjBaaeaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaebnIbkibkibkibkibkgbnubnqbntaaabnnbnmbnmbnkbnlbHVbHVbnibHVbnhbCtbkpbkobnHbCtbgXbgXbgXbgXbgXbgXbgXbgXbnGbnBbZebYObZkbZibmvbymblCbmwbvJbmxbvMbZlbZYbZFcaccabcatbZYcavcaucaAcaycaEbmVbmWbmibmXbmYbidbnabncbnabmoblYbmbblYbkybpjbhQbmecaIcaFbmhbmgbplbmfbDqblUbuqbmjbuqbuqbuZbsabmlbsabvaaaebjcblZbvfbswbCsbswbDxbmtbnEbjfbriblSbpPbngbnwbnjbnjbolaaLaaLaaaaaaaaaaaaaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabombmNbmNbmNbmNbmNbmNbmNcbvbmLbjSbjSbjSbjSbmObmLbEOaaeaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacaBcaCcaCcaDbpbbkiboZbkgbpabkiaaaaaaaaaaaabGFbQybQzbQAbQBefBbHVbCtboWboUbBYbCtbgXbmEbmGbmFbmCcbFbmDbgXccbccbccbccbccbboJbnZbnXcclboMbpkboLboQccNcdlccWcdscdmcdscducdscdycdDcdAcdGbokbojbokbozboCbrkboyboGboIboDboEbnMbnLcefcedbnQbnPbnSbnRbicbnTbnUbicbicbiabnWbnVbvYbnJbsabsabmlbsabwtaaebjcbjdcekbopcelboKbGoboYcepbjfbrXblSblXbngbngbngbngbngaaeaaeaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaeaaaaaabjBbpubpubpubpubpubpubpvbjSbptbpubkabjSbjSbjSbjSbjBaaeaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabkfbrKcbobrPbkgbkdbkjbkgbkhbkiaaMaaaaaaaaabGFbGFbGFbGFbGFbGFbCtbCtbkpbkobkmbCtbCtceqbgwbgxbgxbgwbgvbgXceWceuceuceYccbbisbymbymbqxbirbrlbfEbiAceZcfWcflcfYcfXcgacfZcgccgbcghcggcgibiFbiIbiJbiIbjgbjhbjnbiZbjabjbbjeblybjwblxblwblubqDbqDbjqbjIbjHbjGbjFbjEbjCbjzcgjbjMbjQbjLbjMcgmbjKbrWaaebjcbjdbszbswbGAbswbGCcgnbjmbjfblXblSbnebmkbnfaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaebjBbjSbjSbjSbjSbjSbjSbjXbjSbkabjSbjSbjSbjSbjSbjBbjBaaeaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaccecaCcaCcaDblBblAblRbkibpibkiblJcgtcgDblJblJblKcgGblMblNblPblQecQblGblFblHbllblIbgwbugbjDbiNbiMchecgLchwchiciBchTccbbkMbkLbkKbkJbkIbiTbiTbldciFcjbciPbWpbWpcjCcjcbWpbWpckvcjQckwbidbnNbksbhebiKbkGbiKbiGbiHbkEbiHbiGbliblxbooblubknbkrblhbtYbtTbltbkNbhQbhQbtCbtCbtCbtCbtCblgbleblfbtCbjfbjfbjfbjfbjfbvgbjfbjfbjfbjfbjfbpdboTbpgbpebnfaaaaaeaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaeaaaaaabjBbjBbkQbjSbjSbjSbjSbjSbjSbjSbjSbjSbjSbjSbjBbjBaaeaaeaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaamaambCVaamaamaamaamaamaaaaaaaaaaaaaaaaaaaaeaaeaaabxWbxTbxTbxTbxVbxTbxTbupburblJbuockzblJbuIbuJbuGbuHckAbuEbuAbuBbuObuMbuLbxUbuKbgwbugbwLbxjbiMclnbgXclwclwclwclwclwbtQbkLbymbCnbvlbtSbtRbtIclDcnwcnpbWpbtNbtPbtObuibiDbujbukbumbwUbhebksaJzbiKbtUbtXbiGbtZbuabufbiGbtcblxbpjblublubsIbsIbsIbsIbsIbsIblubuScovcnAcowbvkbtCbtCbtFbtCbtCbvsbuUbvcbuTblXbGDblXblXbvebtlbtkcpwcpabtjbnfbnfbnfaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaebtybjBbuPbulbulbjSbjSbjSbjSbjSbjSbjSbjSbjBbjBaaeaaeaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaamaaaaaaaaaaaaaaeaaeaaaaaaaaaaaaaaaaaaaaaaaaaaaaaeaaeecwecxbsKcrecqfbthcrfbwnbwoblJbwlcrhblJblJbwubwvbwwcribwrbwsbAkblGblFblHbwibwgbgwbgwbwhbwjbgwcrlbgXcrncrmclwcrAclwboJbqZbqZbqZbqZbqZbqZbqZbWpcrQcrHbWpbrAbwfbqJbtDbiDbvTbvUbvVbwUbhebksbhebiKbvObvPbiGbvSbvQbvRbiGbvAbGIcrUcrWbKUbvIbvHbsrbvtbvvbqhcsmcshcsybBFcsBcshctsbvobvpeczctWctScuacuacuacuabMKcuacuacuacuacuabvFbvzbvxbvwcucbnfbnfbnfbnfaaaaaeaaaaaaaaaaajaajaajaaeaaaaaaaaeaaaaaaaaeaaaaaabxYbjBbxXbjBbjBbjSbjSbjSbjSbjSbjSbjSbjBbjBaaeaaeaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaamaaaaaaaaaaaaaaaaaeaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaeecCecCbsKcuHcukbthcuKbqpbqqblJbPvcwzcwacwJcwAcwXcwKcxabqHbqAbqCbqNbqLbqKbqIbqSbqQbqPbqObqVbqXcxdcxccxxcxeczecyRclwboJbqZbpEbqWbqRbpCbpBbpycBpcCKcBycCNbppbpscCTbsmbiDbsnbsobsibwUbhebksbhebiKbpKbpLbiGbrOcCVbpJbiGbqiblxblxbsTblxbqbbqcbqbbqbbqbbqabsSbybbybbxSbqobybbudecGbqkecHbuddfTbyobxsbxqdfTdfTdfTdfTbylbxsbxqdfTdfTblXbsGcDfbsNcDpcDobsEcExcEycEycEycEycEycEycEycEycEycEycEycEycEycEycEycEybpmbpnbpnbpobjBbjBbjSbjSbqmbjSbjSbjBbjBaaeaaeaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaamaaeaaaaaaaaaaaaaaeaaeaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabsgbsgbsgbsgbsgbsgbsgbsjbsscvgcvgcvgcvgcvgbstbsubsvbsvbsvbsAbuNblGblFblHbtsblIbttbslbtucECbspbtGbgXcHMcEKclwcHTclwbrNbqZbzxbzsbzsbzsbrMbrLbWpcIncHYbWpbrAbqJbrzbtDbiDbtAbtBbtzbwUbhebksbtJbiKbrmbrnbiGbiGbiGbiGbiGbsecIHblxbsTblxbrYbsdbrYbqdbsbbscbtibybcJabBvbrVctibudbuhbrRbrSbudbrTbADbADbADbAGbzJbzQbAsbAvbzibzabyXdfTcMgcLFcNTbnfbnfbnfbnfaaaaaeaaaaaaaaaaajaajaajaaeaaaaaaaaeaaaaaaaaeaaeaaebtrbtwbtmbtnbtybjBbjBbjSbmLbjSbjBbjBaaeaaeaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaamaaeaaeaaaaaaaaaaaeaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaeaaebsgctYctZcOfctXcRbbsgcufcvZdgkdgjcwYcsEcsMcsMbuKcBVcBVcBUcBZbAkblGblFblHcnCbuKcnzcRScnBcVhcnxcnybgXcWqcWiclwcWtclwboJbqZdZLdZOdZOdZOcyVbqZdYtcyYczmdYtczHdZRczodZHbiDdZGbtBcrVbwUcylcxUbxQbiKcyIcypbiKcONcdnbidcBbcugcuDcRdcRecRdcuSbqccvGbqdcvFcvEbsTbybcBrcAEcAEczIcALcAHcAMcAHcAOcANcCQcCPcCPcCRdfQdfQdgBcCUdgodgodgndfTbYUcxPbYWbYUaaaaaaaaaaaeaaeaaeaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaeaaecrLbEQbEQbFgbtybtybjBbjBbjBbjBbEOaaeaaeaaaaaaaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaamaaaaaeaaeaaebTebTebTebTebTebTebTebTebTebTebTebTebTeaaaaaacnmcnjcnjcnjcnlcWxbsgcqqcpdcnWcnQcEzcnnctVctRctIctHctCctBctActzcujcWCcuhcuibCtbgXbgXbgXbgXbgXbgXbgXclwclwclwclwclwboJbqZbqZdZrdZscuobqZbqZcupcutcuxdYtbiDbiDbiDbiDbiDbwUdZydZzbwUcqXcuycqXbiKcuAcuzbiKcJLcNGbiddZVbidearblxbsTblxcWKcuEctubqbcttcvEbsTbybcvKcvLcvLcvPcvOcvNcvUcvTcvRcvQcvWdgWcBDcBzdgicBJdfQdfQdfQdfRdfSdfTculcumcunbYUaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaeaaeaaeaaeaaeaaaaaaaaaaaaaaeaaeaaeaaeaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaamaaeaaeaaaaaaaaaaaeaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaeaaebsgctYctZcOfctXcRbbsgcufcvZdgkdgjcwYbZpcblcblbuKcBVcBVcBUcBZbAkblGblFblHcnCbuKcnzcRScnBcVhcnxcnybgXcWqcWiclwcWtclwboJbqZdZLdZOdZOdZOcyVbqZdYtcQHczmdYtczHdZRczodZHbiDdZGbtBcrVbwUcylcxUbxQbiKcyIcypbiKcONcdnbidcBbcugcuDcRdcRecRdcuSbqccvGbqdcvFcvEbsTbybcBrcAEcAEczIcALcAHcAMcAHcAOcANcCQcCPcCPcCRdfQdfQdgBcCUdgodgodgndfTbYUcxPbYWbYUaaaaaaaaaaaeaaeaaeaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaeaaecrLbEQbEQbFgbtybtybjBbjBbjBbjBbEOaaeaaeaaaaaaaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaamaaaaaeaaeaaebTebTebTebTebTebTebTebTebTebTebTebTebTeaaaaaacnmcnjcnjcnjcnlcWxbsgcqqcpdcnWcnQcEzcnnctVctRctIctHctCctBctActzcujcWCcuhcuibCtbgXbgXbgXbgXbgXbgXbgXclwclwclwclwclwboJbqZbqZdZrdZscuobqZbqZcupcutcuxdYtbiDbiDbiDbiDbiDbwUdZydZzbwUcqXcuycqXbiKcuAcuzbiKcJLcNGbiddZVbidearblxbsTblxcWKcuEctubqbcttcvEbsTbybcvKcvLcvLcvPcvOcvNcvUcvTcvRcvQcvWcbMcBDcBzdgicBJdfQdfQdfQdfRdfSdfTculcumcunbYUaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaeaaeaaeaaeaaeaaaaaaaaaaaaaaeaaeaaeaaeaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaamaaaaaaaaaaaabTecnScqacnSbTecnOcpYcnObTecnMcpZcnMbTeaaaaaacBvcnjcnjcnlcnlcWMbsgcDacxbcvgdcVddhcFHcFlcFkcFnbYpbYpcFobYpbAkblGcEUblHcpCcBscEZcpucpEcpucEPbskcBIcCncWrcCEcCJbskboJbEaeaxbMXbMXcNicNkcNEcNFcmCcNDcNmcNscNleaeeaeeaudXBbwUbwUbwUcLscKZcLubiKbiKbiKbiKcNGcNGbidcWPbidcIfblxbsTblxcWUcDxcDxcERcEScFpcUBbybcJCcGecGecFXcGlcGjcFTcFRcFVcFUcGtcGmdfQdfQcWZdhndfQdhpdfQdfRdghdfTcFKcFMcFJbYUaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaamaaaaaaaaaaaabTecnScnRcnSbTecnOcnPcnObTecnMcnNcnMbTeaaaaaacBvcnjcnlcnlcnlcYCcXdcYGcvYcvgclOcClbpIcPacNIcBscoycoEcoDdgFbAkblGdaHcuhdaRdcHdcBdeCdeCdeCdeEdeZdeKdfNcBqcBmcBnbskboJbEaeabbMXbOscEpeaaeageahcEscEtcEqeadcEreafeaeeandXBdfXdgadfZcEBdgGcEBdgHdgRdgRdgYdgRdhabidbidbidbidblxcRfblxdhodhdcDzcDJcDybqhcUBbybdgPdgQdgQdgQccQbudcEebuddgTcDKcEfdgMdgMdgXdgWdgWdgVdgMdgMcDndgOdfTdhBdhzcQHbYUaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaamaaaaaaaaaaaabTecnScnRcnSbTecnOcnPcnObTecnMcnNcnMbTeaaaaaacBvcnjcnlcnlcnlcYCcXdcYGcvYcvgclOcClbpIccfcbPcBscoycoEcoDdgFbAkblGdaHcuhdaRdcHdcBdeCdeCdeCdeEdeZdeKdfNcBqcBmcBnbskboJbEaeabbMXbOscEpeaaeageahcEscEtcEqeadcEreafeaeeandXBdfXdgadfZcEBdgGcEBdgHdgRdgRdgYdgRdhabidbidbidbidblxcRfblxdhodhdcDzcDJcDybqhcUBbybdgPdgQdgQdgQccQbudcEebuddgTcDKcEfdgMdgMdgXdgWdgWdgVdgMdgMcDndgOdfTdhBdhzdhCbYUaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaamaaaaaaaaaaaabTecFfcnicFebTecFdcnfcFcbTecFbcnccEVbTeaaaaaecBvdeMcnjcnlcnlcnlbsgdaTcZgdaGdaGdaLdaGdaGdaGdaGcrzbYpcrxcrybAkcWIcWLcWQcWTcWFcWGcWHcWHcWHcQkbskcQKcPBcPVcFIcDedhLdhFbEadhObMXdcMdcKdcLdbGdbNdbkdbBdcCdcEdbSdbUeaedbhdXBcmIcqzdXFdbjdbidhMdXFdfJddEddFblxdhRdgRdgRdgRdgRdgRdjddhZdlEdkQdgRdgRdgRdgRdpbbybcFwcFxcFvdhTbuddcNdcQdcOdfTdhVcFrcFrcFrdhPcvudhQdhScFrcFrcFrdhYdfTdhXddxcccccdaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaamaaaaaaaaeaaebTecqocdMcqpbTecdWcdMcdXbTecdLcdMcdNbTeaaaaaecFqcnjcnjcnlcnldpYbsgcWDcHWcGvcGudBXdfUcROcROcRCcRqcRpcEIcsubAkcRYcRZcRQcqJcBscqCcqCcqHcCmcVibskcKYcKWcJUdaWdqMdbgdrmbEadhDbMXcVRcVSeaPbEaeaFcmCeaHdYteaIcVCcVQeaedhEdXBcmIcqzdXFeaQcWmeaQdXFaaaaaaaaablxblxblxddUddEddEddFblxblxblxblxblxblxbudbudbudbudbudbudbudbudbuddPHckXcWBdfTdfTbZPbOwcdqdfTdfTdfTdfTcoTbOwcdqdfTdfTccSdrwccSaaeaaaaaaaaaaaaaaeaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaateaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabCVaaeaaeaaeaaaaaecHGaaecHGaaecsaaaecrZaaecsaaaecrZaaeaaeaaabsgcZLcZMcnlcnldrycWEdJqdfMdaGdfPdJpdaGdaGdfVdaGdaGdfWcBsdaGdfGdfldfodfzdfGdaGcaOcaOcaOcGqdfIcaOcjXcjXcjXcjXcjXcjXdsIbEaebRdibcVRdgJebObEaeaFcmCebMdXBebKdgIcVQdiaebGdXBcmIcqzdXFdgCdgxdgtdXFaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaeaaaaaaaaaaaabudcnbcmXcmYdgrdgscfIdgpcfcdgqdgldgbdgmctqaaaaaaaaeaaeaaaaaaaaaaaaaaaaaaaaaaaecebdgLcebaaeaaaaaaaaaaaaaaeaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
@@ -11445,21 +11441,21 @@ aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaactvctvctvctvctvctvctvctvctvaaaaaaaaaaaaaaaaaaaaaaaaaafaaaaaaaaaaaaaaaciHaaeaaeaaeaamaaeaaeaaeaaeceebSZcctccucqbcfnccJdXrcqAcfoccDccIcqucfnbSZbSZcqtceVceUdYkdXRdYzdYubZgbYPbYPbYPbWlbQGceSbQGbQGcdUcePchEceOcaYcaTcdJcaTcaOccrccqcpUccnccmcaPcaOcVUcVTcVTcfbcfacfKcfJcfMbTBbVSbnsbnrbVScQJbnpbnobTBeaAeakceLaaaaaaaaaaaaaaaaaabVucfucfPcfQdWPdWQcfSdWNcaZcfUcfVcfvdWMcfucftcfwbVuaaaaaaaaaaaaccQbudcdcccTccTcVVcWecfzcfxcfycfFcfGcfAcfEcfHcfIcdxaaaaaaciHaaecfqcfqcfqcfqcfqaaadDdaaecfqcfqcfqcfqcfqaaaciHaaacmdaaaaaacmdaaaaaacmdcmdcmdcmdcmdcmdcmdaaaaaacmdaaaaaacmdaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaactvctvctvctvctvctvctvaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaciHeaOaaaaaaaaaaamaaaaaaaaaeaTdvqdwHdvqdwGeckeblectecsecIeblectecsecIecJecteblectecsectecKbQGbQGcgxcdfcdgcdhceabQGcgvcgwbQGbQGbQGbQGbQGcddcrgcgucrgcaOcaOcaOcaOcaOcaOcaOcaOcWpcVTcVTcgocglcVFbClcgQbTBbsJbsDecTecNecUbYdbsybTBecWecVceLaaaaaaaaaaaaaaaaaabVubXKcgIcfwcaZccKcgKdXbcaZcgJdXadWUdWTchdchcdWXbVuaaeaaeaaaaaaaaaaaaciMaaabudcWucdCcgZcdIcgYcdCcgXcdFcgYcdCchabudaaaaaabCVaaaaaeaaaaaeaaaaaeaaadDdaaaaaeaaaaaeaaeaaeaaeciHaaacmdcmdcmdcmdaaacmdcmdcmdcmdcmdcmdcmdcmdcmdaaacmdcmdcmdcmdaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaateaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaactvctvctvctvctvaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaciHciQecXecXecXecYedaedaedaecXedaedbedaedcedaedbedaedcedaedbedaedcedaecXedaedbedaedcedaeddaaabQGchqchtchychzcffcmgedfedeedkchgchlchpchjchkchpchOchpchNchUchSchRchJchJchIchFchCchMchMchKcWycVFbClchZbTBbTBbVPcoicohcoibVPcojbTBceLciiceLaaaaaaaaaaaaaaaaaabVucaZcimdWPcaZdXicincWzcaZceQceRceXcthbYXciobYTbZJaaaaaaaaaaaaaaaaaactyaaebudcWAcficitcfcciscfecircfcciqcfsciubudaaaaaaciHaaachWchWchWchWchWaaedDdaaechWchWchWchWchWaaeciHaaacmdcmdcmdcmdaaacmdcmdcmdcmdcmdcmdcmdcmdcmdaaacmdcmdcmdcmdaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaactvctvctvctvctvaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaciHaaeaaeaaaaaaaamaaaaaaaaaaaebTecdXcdMcdWbTecdXcdMcdWbTecdNcdMcdLbTeaaabTecdNcdMcdLbTeaaaaaabQGbQGcfRcfRcfRcfRcfRciNcfRcgpciOciyceociLceoceocizceoceociwceociycixcdPciJcWRedledoedmdhCciCcVFcjhcjfcjecjibVPctGbYdctFbVPctEaaeecPecOecPaaaaaaaaaaaaaaaaaabVucjacexbXKciVciUbXKciZcbNcgOaaeaaaciXaaLciQclJaaaaaaaaaaafaaaaaaaaaaaaaaabudcWSccCccCcfccgsccCccCcfccgsccCccCbudaaeaaeciHaaedNWdNYdNYdNYdNYdORdOPdSHdOSdOSdOSdOSdTTaaeciHaaacmdcmdcmdcmdaaacmdcmdcmdcmdcmdcmdcmdcmdcmdaaacmdcmdcmdcmdaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaactvctvctvctvctvctvctvctvctvctvctvctvctvaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaciHaaaaaeaaeaaaaamaaaaaaaaaaaabTectJcgMctKbTectNchPctObTectLcemctMbTeaaabTectQbVqctPbTeaaaaaaaaachnbZdcgVbZpchbcgWcjmdDUcrjcrjcjkedqcgEcdYcehcjpcdYcehcgEbYocjocjnbYocgpcgpcVFcVvcWWcWVedrcVFbmvcjrcjqcjsbVPcoicqmcoibVPctEaaeaaaaaeaaaaaaaaaaaaaaaaaaaaabVucjacjzcjxcjycjycjxcfvdXybVuaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabudcWXccCccCcfcchQccCccCcfcchQccCccCbudaaaaaaciHaaecfqcfqcfqcfqcfqaaadDdaaacfqcfqcfqcfqcfqaaaciHaaacmdcmdcmdcmdcmdcmdcmdcmdcmdcmdcmdcmdcmdcmdcmdcmdcmdcmdcmdaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaactvctvctvctvctvaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaciHaaeaaeaaaaaaaamaaaaaaaaaaaebTecdXcdMcdWbTecdXcdMcdWbTecdNcdMcdLbTeaaabTecdNcdMcdLbTeaaaaaabQGbQGcfRcfRcfRcfRcfRciNcfRcgpciOciyceociLceoceocizceoceociwceociycixcdPciJcWRedledoedmedpciCcVFcjhcjfcjecjibVPctGbYdctFbVPctEaaeecPecOecPaaaaaaaaaaaaaaaaaabVucjacexbXKciVciUbXKciZcbNcgOaaeaaaciXaaLciQclJaaaaaaaaaaafaaaaaaaaaaaaaaabudcWSccCccCcfccgsccCccCcfccgsccCccCbudaaeaaeciHaaedNWdNYdNYdNYdNYdORdOPdSHdOSdOSdOSdOSdTTaaeciHaaacmdcmdcmdcmdaaacmdcmdcmdcmdcmdcmdcmdcmdcmdaaacmdcmdcmdcmdaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaactvctvctvctvctvctvctvctvctvctvctvctvctvaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaciHaaaaaeaaeaaaaamaaaaaaaaaaaabTectJcgMctKbTectNchPctObTectLcemctMbTeaaabTectQbVqctPbTeaaaaaaaaachncgVckscklchbcgWcjmdDUcrjcrjcjkedqcgEcdYcehcjpcdYcehcgEbYocjocjnbYocgpcgpcVFcVvcWWcWVedrcVFbmvcjrcjqcjsbVPcoicqmcoibVPctEaaeaaaaaeaaaaaaaaaaaaaaaaaaaaabVucjacjzcjxcjycjycjxcfvdXybVuaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabudcWXccCccCcfcchQccCccCcfcchQccCccCbudaaaaaaciHaaecfqcfqcfqcfqcfqaaadDdaaacfqcfqcfqcfqcfqaaaciHaaacmdcmdcmdcmdcmdcmdcmdcmdcmdcmdcmdcmdcmdcmdcmdcmdcmdcmdcmdaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaactvctvctvctvctvctvctvctvctvctvctvctvctvctvctvaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaeaaeaamaaaaaaaaaaaabTecfBcgNcfBbTechVciechVbTebUhcesbUhbTeaaabTebUhbUhbVrbTeaaaaaaaaabYmcifbXTchmdYKcigcjmbYKcrjcjJcjKcjLbYrceDcakcjEcewcjFbYrcjGcjIcjHbYoaaaaaecVFedveducXaaaeaaabmvbClbClbCjbVPctUcpoctTbVPctEaaeaaeaaaaaaaaaaaaaaaaaaaaaaaabVucjOcjPdVQciGciGdVQbXKdVSbVuaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabudccCccCccCcfccihccCccCcfccihccCccCbudaafaaaciHaaaaaaaaeaaeaaeaaaaaaedwaaeaaaaaaaaeaaeaaaaaaciHaaacmdcmdcmdcmdcmdcmdcmdcmdcmdcmdcmdcmdcmdcmdcmdcmdcmdcmdcmdaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaactvctvctvctvctvctvctvctvctvctvctvctvctvctvctvaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaeaaAaaaaaaaaaaaebTecfBceGcfBbTechVcijchVbTebUhceIbUhbTeaaabTebUhbUhbUhbTeaaaaaaaaabYmbXZcikbYNbXZcigcjTcivcrjcjRcjWckabYrcjUckmckjckeckdbYrckrckpcknbYoaaaaaacVFedyedxcXbaaaaaabmvbClbClbmvbVPcrJcrJcrJbVPcubctmaaaaaaaaaaaaaaaaaaaaaaaaaaabVudVTckubXKbXKbXKbXKbXKdVUbVuaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaccQbudbudbudbudbudbudbudbudciKciKciKccQaaaaaaciHciHciHciHciHaaaaaaaaadyPaaaaaaaaaciHciHciHbCVciHaaacmdcmdcmdcmdcmdcmdcmdcmdcmdcmdcmdcmdcmdcmdcmdcmdcmdcmdcmdaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaactvctvctvctvctvctvctvctvctvctvctvctvctvctvctvaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaamaaaaaaaaaaaebTebTebTebTebTebTebTebTebTebTebTebTebTeaaabYybTebTebTebTeaaaaaaaaabYmcVjbXTbXZbXZbYacbHcbIcbKcbLcbycbAcbEcbGcbScbRcbVcbTcbOcbMcbQcbPbYoaaeaaaedzcVvcVucVFciWaaabmvcbwbClcbxciIaaeaaeaaeaaaciMaaeaaeaaaaaaaaaaaaaaaaaaaaaaaabZJbVubVubXCdVZdVQdVQdVQdVYbXCaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabXlbXlbXlaaaaaaaaaaaaaaaaaaaaaaaaaaaciHaaeedAaaeciHaaaaaaaaaaaaaaaaaaaaacmdcmdcmdcmdcmdcmdcmdcmdcmdcmdcmdcmdcmdcmdcmdcmdcmdcmdcmdaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaactvctvctvctvctvctvctvctvctvctvctvctvctvctvctvaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaamaaaaaaaaeaaeaaaaaaaaaaaaaaaaaaaaaaaeaaeaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabYmbYQbXTbYNbXZcigbXRbYKcrjccoccjedBbYredCccicchccgbYvbYrccfedGedEbYoaaLcVGcVGcVGcVGcVGcVGcVGbmvcbZcbYccaaaeaaaaaaaaeedHciXaaeaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabYCciGciGciGciGciGbYCaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaciHaaaaaeaaaciHaaaaaaaaaaaaaaaaaacmdcmdcmdcmdcmdcmdcmdcmdcmdcmdcmdcmdcmdcmdcmdcmdcmdcmdcmdcmdcmdaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaactvctvctvctvctvctvctvctvctvctvctvctvctvctvctvaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaamaaaaaaaaaaaebTebTebTebTebTebTebTebTebTebTebTebTebTeaaabYybTebTebTebTeaaaaaaaaabYmcVjbXTbXZbXZbYacbHcbIcbKcbLcbycbAcbEcbGcbScbRcbVcbTcbOckScbQcmBbYoaaeaaaedzcVvcVucVFciWaaabmvcbwbClcbxciIaaeaaeaaeaaaciMaaeaaeaaaaaaaaaaaaaaaaaaaaaaaabZJbVubVubXCdVZdVQdVQdVQdVYbXCaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabXlbXlbXlaaaaaaaaaaaaaaaaaaaaaaaaaaaciHaaeedAaaeciHaaaaaaaaaaaaaaaaaaaaacmdcmdcmdcmdcmdcmdcmdcmdcmdcmdcmdcmdcmdcmdcmdcmdcmdcmdcmdaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaactvctvctvctvctvctvctvctvctvctvctvctvctvctvctvaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaamaaaaaaaaeaaeaaaaaaaaaaaaaaaaaaaaaaaeaaeaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabYmbYQbXTbYNbXZcigbXRbYKcrjccoccjedBbYredCccicchccgbYvbYrcnDedGcrrbYoaaLcVGcVGcVGcVGcVGcVGcVGbmvcbZcbYccaaaeaaaaaaaaeedHciXaaeaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabYCciGciGciGciGciGbYCaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaciHaaaaaeaaaciHaaaaaaaaaaaaaaaaaacmdcmdcmdcmdcmdcmdcmdcmdcmdcmdcmdcmdcmdcmdcmdcmdcmdcmdcmdcmdcmdaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaactvctvctvctvctvctvctvctvctvctvctvctvctvctvctvaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaaaaaaaaaaaaaaaaaaaamaaaaaeaaeaaaaaaaaaaaaaaaaaaaaaaaaaaaaaeaaaaaaaaaaaacjgaaaaaaaaaaaaaaaaaaaaaaaabZbbZdbZfbZmdYLccAccvbYKcrjccwccxccycczcjjccGccFccHcjwbYrcjAedIcjBbYoaaacVGcVGcVGcVGcVGcVGcVGedKccsccpbmvaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabVubYXbYRbYRbYRbYTbVuaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaciHciHciHciHciHaaaaaaaaaaaaaaaaaacmdcmdcmdcmdcmdcmdcmdcmdcmdcmdcmdcmdcmdcmdcmdcmdcmdcmdcmdcmdcmdaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaactvctvctvctvctvctvctvctvctvctvctvctvctvctvctvaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaamaaeaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaeaaaaaaaaaaaaaaaaaaaaeaaaaaaaaaaaaaaaaaaaaacfRcfRcfRcfRcfRcjSbZjbZjbZjbZjedLbZjccUccMccPccMccLbZjbZjbZnbZjbZjbZjcVGcVGcVGcVGcVGcVGcVGaaeaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacmdcmdcmdcmdaaaaaacmdcmdcmdcmdcmdcmdcmdaaaaaacmdcmdcmdcmdaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaactvctvctvctvctvctvctvctvctvctvctvctvctvctvctvctvctvaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaAaaaaaaaaeaaeaaaaaeaaeaaaaaaaaeaaeaaeaaaaaaaaaaaaaaaaaaaaaaaacjYcaacaacaaclQclMclRclzclVcjZckoctkckqcksccXcdbcdecyUcCucBEcCucCucBocklckSckWbZEbZjcVGcVGcVGcVGcVGcVGcVGaaeaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacmdcmdcmdcmdcmdcmdcmdaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaactvctvctvctvctvctvctvctvctvctvctvctvctvctvctvctvctvaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaamaaacdzedMcdwaaacdzedMcdwaaacdzedMcdwaaeaaeaaaaaaaaaaaaaaeaaecmpcaacaacaaclQclMcmucmtcmWclAcnGcnrcyXbZCcdvcPScdtedNedSedRcdpcdpcdocmBbZHclkbZLbZjcVGcVGcVGcVGcVGcVGcVGaaeaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaaaaaaaaaaaaaaaaaaaaaaaacmdcmdcmdcmdcmdcmdcmdaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaactvctvctvctvctvctvctvctvctvctvctvctvctvctvctvctvctvaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaamaaacdzedTcdwaaacdzedTcdwaaacdzedTcdwaaeaaeaaeaaeaaaaaacmnaaacjYcaacaacaaclQclMcolcoecRicotcRJcRIcSfcagcdBdyNcagefhcmGcEGcmObZCbZCedUedVcmPcmQbZjeeaaaeaaDaaeaaeaaeaaeaaeaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacmdcmdcmdcmdcmdcmdcmdaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaactvctvctvctvctvctvctvctvctvctvctvctvctvctvctvctvctvaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaDaaecdzedTcdwaaacdzedTcdwaaecdzedTcdwaaeaaaaaaaaeaaecdEaaaaaacmpcaacaacaaclQclMeflefkefnefmefocRIcSfcagcdBefpefrefqefscEJeftcascascnDcnEcmPcQNbZjaaaaaaaaDaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacmdcmdcmdcmdcmdcmdcmdaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaactvctvctvctvctvctvctvctvctvctvctvctvctvctvctvctvctvaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaeaaacdzedTcdwaaecdzedTcdwaaacdzedTcdwaaaaaaaaaaaaaaeaaeaaaaaaaaaaaaaaaaaaaaecjVclzefucSJefvefwctkcPDbZCdmsdmndmfdlWdlhdlidlbdlcdlxdlHdlqcmPcRDbZjaaaaaaaaDaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacmdcmdcmdcmdcmdcmdcmdaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaactvctvctvctvctvctvctvctvctvctvctvctvctvctvctvctvctvaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaamaamaaDaaeaaacdzedTcdwaaecdzedTcdwaaacdzedTcdwaaeaaaaaaaaaaaaaaeaaecjMcjNcjNcjNcjNcOGcOGcOGcOGcOGcOxcOGbZjbZCbZCdkRbZjbZjbZjdiPcPWdlCbZjbZjbZjdkVcRccPSbZjaaeaaabCVaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacmdcmdcmdcmdcmdaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaactvctvctvctvctvctvctvctvctvctvctvctvctvctvctvctvctvaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaamaaaaaeaaaaaeaaeeedaaeaaeaaeeedaaeaaaaaeeedaaeaaaaaaaaaaaaaaackBckCckDdlRdktdjecPqeegdgEdigdicdihdpKdicbZjcOWbZCdhrdhidhmcIGcLCcLDcLBcIGdhhdhidhybZCcFabZjaaaaaaaaDaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaactvctvctvctvctvctvctvctvctvctvctvctvctvctvctvctvctvaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaAaaaaaaaaeaaeaaaaaeaaeaaaaaaaaeaaeaaeaaaaaaaaaaaaaaaaaaaaaaaacjYcaacaacaaclQclMclRclzclVcjZckoctkckqcrCccXcdbcdecyUcCucBEcCucCucBobZCbZHckWbZEbZjcVGcVGcVGcVGcVGcVGcVGaaeaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacmdcmdcmdcmdcmdcmdcmdaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaactvctvctvctvctvctvctvctvctvctvctvctvctvctvctvctvctvaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaamaaacdzedMcdwaaacdzedMcdwaaacdzedMcdwaaeaaeaaaaaaaaaaaaaaeaaecmpcaacaacaaclQclMcmucmtcmWclAcnGcnrcyXbZCcdvcPScdtedNedSedRcdpcdpcdobZCedVclkbZLbZjcVGcVGcVGcVGcVGcVGcVGaaeaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaaaaaaaaaaaaaaaaaaaaaaaacmdcmdcmdcmdcmdcmdcmdaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaactvctvctvctvctvctvctvctvctvctvctvctvctvctvctvctvctvaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaamaaacdzedTcdwaaacdzedTcdwaaacdzedTcdwaaeaaeaaeaaeaaaaaacmnaaacjYcaacaacaaclQclMcolcoecRicotcRJcRIcSfcagcdBdyNcagefhcmGcEGcmObZCbZCbZCedVcmPcmQbZjeeaaaeaaDaaeaaeaaeaaeaaeaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacmdcmdcmdcmdcmdcmdcmdaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaactvctvctvctvctvctvctvctvctvctvctvctvctvctvctvctvctvaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaDaaecdzedTcdwaaacdzedTcdwaaecdzedTcdwaaeaaaaaaaaeaaecdEaaaaaacmpcaacaacaaclQclMeflefkefnefmefocRIcSfcagcdBefpefrefqefscEJeftcascascascnEcmPcQNbZjaaaaaaaaDaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacmdcmdcmdcmdcmdcmdcmdaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaactvctvctvctvctvctvctvctvctvctvctvctvctvctvctvctvctvaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaeaaacdzedTcdwaaecdzedTcdwaaacdzedTcdwaaaaaaaaaaaaaaeaaeaaaaaaaaaaaaaaaaaaaaecjVclzefucSJefvefwctkcPDbZCdmsdmndmfdlWdlhdlidlbdlcdlxcsEdlqcmPcRDbZjaaaaaaaaDaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacmdcmdcmdcmdcmdcmdcmdaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaactvctvctvctvctvctvctvctvctvctvctvctvctvctvctvctvctvaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaamaamaaDaaeaaacdzedTcdwaaecdzedTcdwaaacdzedTcdwaaeaaaaaaaaaaaaaaeaaecjMcjNcjNcjNcjNcOGcOGcOGcOGcOGcOxcOGbZjbZCbZCdkRbZjbZjbZjdUGcPWdUKbZjbZjbZjdkVcRccPSbZjaaeaaabCVaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacmdcmdcmdcmdcmdaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaactvctvctvctvctvctvctvctvctvctvctvctvctvctvctvctvctvaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaamaaaaaeaaaaaeaaeeedaaeaaeaaeeedaaeaaaaaeeedaaeaaaaaaaaaaaaaaackBckCckDeeedktdjecPqeegdgEdigdicdihdpKdicbZjcOWbZCdhrdhidhmcIGcLCcLDcLBcIGdhhdhidhybZCcFabZjaaaaaaaaDaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaactvctvctvctvctvctvctvctvctvctvctvctvctvctvctvctvctvaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaDaaeeejeeheeleekeemeekeekeekeemeekeekeekeemeekeeoeeheeheeheepdideeqdhNeerdhGdhsclEeesdyKdyKdyKdyMefyefzbZjbZCbZCdhrdhidhmcwIcyWcKrcKQcwIdhhdhidhybZCcyhbZjaaaaaaaaDaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaactvctvctvctvctvaaactvctvctvctvctvaaactvctvctvctvctvaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaamaaaaaeaaaaaeaaeeetaaeaaaaaeeetaaeaaaaaeeetaaeaaaaaaaaaaaaaaackBckCcmfeeDcmhdhlcjNeeEdyOdicdicdyQdyQdyRbZjbZCbZCdhqdhidhmctocyWcJFctDctodhhdhidhebZCbZCbZjaaaaaaaaDaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaactvctvctvctvctvaaactvctvctvctvctvaaactvctvctvctvctvaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaamaamaaDaaeaaecdzeeFcdwaaacdzeeFcdwaaacdzeeFcdwaaeaaaaaaaaaaaaaaeaaedgZcjNcjNcjNcjNcOXcPddfHdfHdgDcOXcOXbZjbZjctkbZjbZjbZjbZjbZjctlbZjbZjbZjbZjbZjctkbZjbZjaaeaaeaaDaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
@@ -11635,10 +11631,10 @@ aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaeeJaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadqLdqLaaaaaaaaaaaaaaaaaaaaaaaacCFdzLdsLdxlcCFdyWcEgdzkdzldzldzldzEcDrcDrcDrcDrcDrcBtdzHdzGcDXcDXcDXcDXcDXcDXcDXdzIcBtdqLdqLdqLdqLdqLdqLdqL
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacFYcFYcFYcFYcFYcFYcFYcFYcFYcFYcFYcFYcFYcFYcFYcFYcFYcFYcFYcFYcFYcFYaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaeeJaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadqLdqLdqLaaaaaaaaaaaadsjcCFcCFcCFcCFdwidsLdxlcCFcCFdxMcCFdskaaaaaacBtcBtdxNdrKdtYcBtcBtcBtcBtdxodxBcDXcDXcDXdxndxncBtcBtdqLdqLdqLdqLdqLdqLdqL
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacFZcGacGbcGbcGbcGbcGbcGbcGbcGbcGbcGbcGbcGbcGbcGbcGbcGbcGbcGbcGbcFYaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaeeJaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadqLdqLdqLdqLaaaaaaaaadsjcCFdyidxOdxQcCFdwidsLdxlcCFdyjeeMdylcCFdskaaaaaaaaaaaaaaaaaaaaadqLdqLcBtcBtcBtdvDdywdvDcBtcBtcBtdqLdqLdqLdqLdqLdqLdqLdqL
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacFZcGacGbcGbcGbcGccGdcGdcGdcGddixdixcGdcGdcGdcGdcGfcGbcGbcGbcGbcFYaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaeeJaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadqLdqLdqLdqLaaaaaaaaadBTdCAdyidCDdyicCFcCFdCEcCFcCFdyjdCGdCOdDacCFaaaaaaaaaaaaaaaaaaaaaaaadqLdqLdqLcBtdmwcDXdmwcBtdqLdqLdqLdqLdqLdqLdqLdqLdqLdqL
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacFZcGacGbcGbcGccGgcGhcGidCccGddiwcGkcGddCwdCscGdcGdcGdcGfcGbcGbcFYaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaeeJaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadqLdqLdqLdqLdqLaaaaaaaaacCFcCFdBTcLqdBTcCFdsLdsLdCacCFcEQdCbcEQcCFcCFaaaaaaaaaaaaaaaaaaaaaaaaaaadqLdqLcBtdmwcDXdmwcBtdqLdqLdqLdqLdqLdqLdqLdqLdqLdqL
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacFZcGacGbcGccGdcGncGncGncGncGdcGocGocGdcGncGncGpdBQcGdcGdcGfcGbcGrcGrcGrcGrcGraaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaeeJaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadqLdqLdqLdqLaaaaaaaaaaaacCFclZdsLdsLdBLcCFdsLdsLdsLcCFdBxdAOdBlddPcCFaaaaaaaaaaaaaaaaaaaaDaaaaaedqLdqLcBtdmwcDXdmwcBtdqLdqLdqLdqLdqLdqLdqLdqLdqLdqL
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacFZcGacGccGdcGdcGsdADclXdAHcGdcGncGncGwcGncGncGncGndiudivcGdcGbcGrcGzcGAcGBcGrcGrcGrcGrcGrcGCcGDcGDcGEcGrcGraaaaaaaaaaaaaaaaaaaaaaaacGFcGFcGFcGFcGFcGFcGFcGFcGFcGFcGFaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaeeJaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadqLdqLdqLdqLaaaaaaaaaaaacCFdAmdsLdsLdsLdAgdsLdsLdsLdAbdsLdsLdsLdzYcCFaaaaaaaaaaaaaaaaaaaaDaaedqLdqLdqLcBtdmwcDXdmwcBtdqLdqLdqLdqLdqLdqLdqLdqLdqLdqL
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacFZcGacGbcGbcGbcGccGdcGdcGdcGddixdixcGdcGdcGdcGdcGfcGbcGbcGbcGbcFYaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaeeJaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadqLdqLdqLdqLaaaaaaaaadBTdCAdyidCDdyicCFcCFdCEcCFcCFdyjdCGdCOdDacCFaaaaaaaaaaaaaaaaaaaaaaaadqLdqLdqLcBtcsMcDXcsMcBtdqLdqLdqLdqLdqLdqLdqLdqLdqLdqL
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacFZcGacGbcGbcGccGgcGhcGidCccGddiwcGkcGddCwdCscGdcGdcGdcGfcGbcGbcFYaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaeeJaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadqLdqLdqLdqLdqLaaaaaaaaacCFcCFdBTcLqdBTcCFdsLdsLdCacCFcEQdCbcEQcCFcCFaaaaaaaaaaaaaaaaaaaaaaaaaaadqLdqLcBtcsMcDXcsMcBtdqLdqLdqLdqLdqLdqLdqLdqLdqLdqL
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacFZcGacGbcGccGdcGncGncGncGncGdcGocGocGdcGncGncGpdBQcGdcGdcGfcGbcGrcGrcGrcGrcGraaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaeeJaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadqLdqLdqLdqLaaaaaaaaaaaacCFclZdsLdsLdBLcCFdsLdsLdsLcCFdBxdAOdBlddPcCFaaaaaaaaaaaaaaaaaaaaDaaaaaedqLdqLcBtcsMcDXcsMcBtdqLdqLdqLdqLdqLdqLdqLdqLdqLdqL
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacFZcGacGccGdcGdcGsdADclXdAHcGdcGncGncGwcGncGncGncGndiudivcGdcGbcGrcGzcGAcGBcGrcGrcGrcGrcGrcGCcGDcGDcGEcGrcGraaaaaaaaaaaaaaaaaaaaaaaacGFcGFcGFcGFcGFcGFcGFcGFcGFcGFcGFaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaeeJaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadqLdqLdqLdqLaaaaaaaaaaaacCFdAmdsLdsLdsLdAgdsLdsLdsLdAbdsLdsLdsLdzYcCFaaaaaaaaaaaaaaaaaaaaDaaedqLdqLdqLcBtcsMcDXcsMcBtdqLdqLdqLdqLdqLdqLdqLdqLdqLdqL
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacFZcGacGGcGHcGIcGncGJcGJcGJcGdcGncGncGdcGKcGLcGMcGNcGOcGPcGdcGbcGrcGQcGAcGAcGRcGScGTcGUcGVcygcGUcGXcGYcGZcGrcGrcGrcGrcGrcGrcGrcGrcGrcGrcHacHbcHbcHbcHbcHbcHbcHbcHccHdaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaeeJaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadqLdqLdqLaaaaaaaaaaaaaaacCFdDydsLdsLdsLdDAdsLdsLdsLdDCdsLdsLdsLcLGcCFaaaaaaaaaaaaaaaaaabCVaaadqLdqLdqLcBtcBtcBtcBtcBtdqLdqLdqLdqLdqLdqLdqLdqLdqLdqL
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacFZcGacHecGHcGncGncGncGncGncGwcGncGncGdcGdcGdcGdcGdcGdcGdcHfdiCcGrcGrcGrcGrcGrcGScGXcGUcyfcHhcGUcGXcGXcGXcHicHjcHjcHjcHjcHjcHjcHjcHjcHkcHacHlcHmcHmcHmcHmcHmcHncHccHdaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaeeJaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadqLdqLaaaaaaaaaaaaaaadsjcCFcCFcCFcCFcCFcCFdsLdsLdsLcCFcCFcCFcCFcCFcCFdskaaaaaaaaaaaaaaaaaDaaeaaedqLdqLdqLdqLdqLdqLdqLdqLdqLdqLdqLdqLdqLdqLdqLdqLdqL
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacFZcGacHocGdcHpcGncHpcGncHpcGdcGncGncGndiBcHqcGbcGbcGbcGbcGbcHrdizcHjcHjcHjcHicGXcGXcGXcGXcGXcGXcGXcGXcGXcHicHjcHjcHjcHjcHjcHjcHjcHjcHkcHacHscHtcHtcHtcHtcHtcHscHccHdaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaeeJaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacCFcEWcEXcEYdDxdDtcCFdDjdsLdsLcCFdDsdDsdDsdDndDncCFaaaaaaaaaaaaaaaaaDaaaaaaaaedqLdqLdqLdqLdqLdqLdqLdqLdqLdqLdqLdqLdqLdqLdqLdqL
@@ -11655,26 +11651,26 @@ aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacFYeidcFYaaaaaaaaaaaacFYeiBeizeiAcJHcJHcFYcJfcJjcIQcJfcJkcIQcJlcJmcIQcJfcJjcIQcJncIRdRcdRbdRadQZcJqcGrcIScITcIScGrcJrcJscJtcJucJucIRaaaaaacGFcHbcHbcHbcHbcHbcHbcHbcHbcHccHdaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaeeJaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadqLdqLdqLdqLdqLdqLdqLdqLdqLdqL
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacFYeiicFYcFYcFYcFYcFYcFYefLcJEcJEcJEeiCcFYcJGcJmcIQcJGcJgcIQcJGcJjcIQcJGcJicIQcJncIRcJIcJJcJJcJJcJJcGrcIScITcIScGrcJucJucJucJucJucIRaaaaaacJKcJKcJKcJKcJKcJKcJKcJKcJKcJKcJKcIRcIRcIRcIRcIRcIRcIRcIRcIRcIRaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaeeJaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadqLdqLdqLdqLdqLdqLdqLdqLdqL
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacIPcIPcIPcIPcIPcFYcLteieeigeihcJceifcFYeiDcJEcJEcJEeiCcFYcIQcIQcIQcIQcIQcIQcIQcIQcIQcIQcIQcIQcJncIRcJIcJJcJJcJJcJJcGrcGrcIKcGrcGrcJucJucJucJucJucIRcJKcJKcJKcJKcJKcJKcJNcJOcJPcIRcJQcJQcJQcIRcJQcJQcJQcJQcJQcJQcJQcJQcIRaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaeeJaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadqLdqLdqLdqLdqLdqLdqLdqL
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacIXcIPcIPcIPcIPcIPcIPcIPcIPcIPcIPcIPcIPcIPcIPcIPcIPcIPcIPcIPcIPcIYcIZcJbcJTdmScLtcJEcJEcJEcJEefPcFYefOcJEcJEcJEehVcFYcJYcJicIQcJfcJicIQcJZcJjcIQcJfcJmcIQcJncIRcKadQYdPKcKccKdcIRcKecKecKecIRcJucJucJucJucJucIRcKfcKgcKfcKhcKicJKcKjcKjcKjcKkcJQcJQcJQcKkcJQcKlcKmcKlcJQcKncKocKpcIRaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaeeJaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadqLdqLdqLdqLdqLdqLdqL
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacIXcIPcIPcIPcIPcIPcIPcIPcIPcIPcIPcIPcIPcIPcIPcIPcIPcIPcIPcIPcIPcIYcIZcJbcJTdmScLtcJEcJEcJEcJEefPcFYcLocJEcJEcJEehVcFYcJYcJicIQcJfcJicIQcJZcJjcIQcJfcJmcIQcJncIRcKadQYdPKcKccKdcIRcKecKecKecIRcJucJucJucJucJucIRcKfcKgcKfcKhcKicJKcKjcKjcKjcKkcJQcJQcJQcKkcJQcKlcKmcKlcJQcKncKocKpcIRaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaeeJaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadqLdqLdqLdqLdqLdqLdqL
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacJvcJwcJwcJwcJwcJwcJwcJwcJwcJwcJwcJwcJwcJwcJxcJycJwcJwcJwcJzcJxcJAcJBcJDefMcFYefNcJEcJEcJEcJEcJVcFYeeBcJEcJEcJEefjcFYcJGcJjcJhcJGcJjcIQcJGcJXcIQcJGcKtcIQcJncIRcKucIRcKvcKwcKxcIRcJJcJJcJJcIRcKvcKwcKycIRcKzcIRcKAcKBcKAcKBcKAcJKcIRcIRcIRcIRcJQcJQcJQcIRcKCcKDcKlcKEcKCcKFcKGcKGcIRaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaeeJaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadqLdqLaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadqLdqLdqLdqLdqLdqL
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacIXcIPcIPcIPcIPcIPcIPcIPcIPcIPcIPcIPcIPcIPcIPcIPcIPcIPcIPcIPcIPcIPcIPcIPcIPcFYehZcJEcJEcJEcJEeiacFYeibcJEcJEeiccFYcFYcFYcIPcIPcIPcIPcIPcIPcIPcIPcIPcIPcIPcJncIRcJJcJJcKKcKbcKbcKbcKbcKbcKbcKbcKbcKbcKLcJJcJJcKMcKAcKAcKAcKAcKAcJKcKNcKjcJNcIRcJQcJQcJQcIRcKOcKOcKPcKOcKOcKFcKGcKGcIRaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaeeJaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadqLdqLdqLdqLaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadqLdqLdqLdqLdqL
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacIXcIPcIPcIPcIPcIPcIPcIPcIPcIPcIPcIPcIPcIPcIPcIPcIPcIPcIPcIPcIPcIYdpicJDehWcFYehXdpjdpjdvmcJEcFYcFYehYcJEcJEcKScFYefJefKcFYdmUdmUdmUdmUdmUdmUdmTcLacLbcIPcJncIRcJJcJJcLccLdcLecLecLecLecLecLecLecLfcJIcJJcJJcJKcLgcLhcLicLjcLkcJKcLlcKjcJOcIRcJQcJQcJQcIRcLmcLmcKjcLmcLmcKFcKGcKGcIRaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaeeOaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadqLdqLdqLdqLdqLaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadqLdqLdqLdqLdqL
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacIXcIPcIPcIPcIPcIPcIPcIPcIPcIPcIPcIPcIPcIPcIPcIPcIPcIPcIPcIPcIPcIPcIPcIPcIPcFYcNHcJEcJEcJEcJEeiacFYeibcJEcJEeiccFYcFYcFYcIPcIPcIPcIPcIPcIPcIPcIPcIPcIPcIPcJncIRcJJcJJcKKcKbcKbcKbcKbcKbcKbcKbcKbcKbcKLcJJcJJcKMcKAcKAcKAcKAcKAcJKcKNcKjcJNcIRcJQcJQcJQcIRcKOcKOcKPcKOcKOcKFcKGcKGcIRaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaeeJaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadqLdqLdqLdqLaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadqLdqLdqLdqLdqL
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacIXcIPcIPcIPcIPcIPcIPcIPcIPcIPcIPcIPcIPcIPcIPcIPcIPcIPcIPcIPcIPcIYdpicJDehWcFYehXcNIcNIdvmcJEcFYcFYehYcJEcJEcKScFYefJefKcFYdmUdmUdmUdmUdmUdmUdmTcLacLbcIPcJncIRcJJcJJcLccLdcLecLecLecLecLecLecLecLfcJIcJJcJJcJKcLgcLhcLicLjcLkcJKcLlcKjcJOcIRcJQcJQcJQcIRcLmcLmcKjcLmcLmcKFcKGcKGcIRaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaeeOaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadqLdqLdqLdqLdqLaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadqLdqLdqLdqLdqL
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacJvcJwcJwcJwcJwcJwcJwcJwcJwcJwcJwcJwcJwcJwcJRcJycJwcJwcJwcJzcJRcJScJBcJDdmCcFYcIPcFYcFYcFYcJEcFYdmEcJEcJEcJEcKTcFYcKXcLrcMxdmPdmPdmPdmPdmPdmPdmBcIPcIPcIPcIPcIPcJJcJJcLccLvcLwcJJcLxcLycLzcJJcLwcLvcJIcJJcJJcJKcJKcJKcJKcJKcJKcJKcLlcKjcJOcIRcJQcJQcJQcIRcLAcLAcKjcLAcLAcKFcKGcKGcIRaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaeeJaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadqLdqLdqLdqLdqLdqLaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadqLdqLdqLdqL
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacIXcIPcIPcIPcIPcIPcIPcIPcIPcIPcIPcIPcIPcIPcIPcIPcIPcIPcIPcIPcIPcIYcKqcJDcOwcFYdiXcOLcOvcFYcJEcFYdwOdzOcJEcJEcKUcFYcKXdvmcIPcLHcLIcLIcLIcLJcLIcLKcIPcLLcLLcLLcIPcJJcJJcLMcLNcLOcLPcLQcLRcLScLTcLUcLNcLVcJJcJJcIRcLWcLWcLWcLWcLWcIRcIRcKkcIRcIRcIRcKkcIRcIRcKjcKjcKjcKjcKjcKFcKGcKGcIRaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaeeJaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadqLdqLdqLdqLdqLdqLdqLaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadqLdqL
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacLncGbcGbcGbcGbcGbcGbcGbcGbcGbcGbcGbcGbcGbdptcGacGbcGbcGbcHrdptdprdpqdvmdFmcFYdDDcJEdFAcFYcLXcFYcFYcFYcLYcFYcFYcFYcKXcLrcLZcMacMacMacMacMacMacMacMbcMacMacMacMbcJJcJJcJJcMccJJcJJcMdcJJcMdcJJcJJcMccJJcJJcJJcMecJQcJQcJQcJQcJQcMecJQcJQcJQcJQcJQcJQcJQcMecLAcLAcLAcLAcLAcKFcKGcKGcIRaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaeeJaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadqLdqLdqLdqLdqLdqLdqLdqLdqLaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadqL
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacJMcFYcFYcFYcFYcFYcFYcFYcFYcFYcFYcFYcFYcFYcFYcFYcFYcFYcFYcFYcFYdmDdmLdvmdmQcFYdngcLtdzScFYcJEcMhcJEcMicJEcMjdoWdoWcJEcMkcIPcMlcMmcMmcMncMocMpcMqcIPcMrcMrcMrcIPcJJcJJcKKcMscMtcLPcMucJJcMvcLTcMwcMscKLcJJcJJcMecJQcJQcJQcJQcJQcMecJQcJQcJQcJQcJQcJQcJQcMecLAcLAcLAcLAcLAcIRcKkcKkcIRcIRcIRcIRcIRaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaeeJaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadqLdqLdqLdqLdqLdqLdqLdqLdqLaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacIXcIPcIPcIPcIPcIPcIPcIPcIPcIPcIPcIPcIPcIPcIPcIPcIPcIPcIPcIPcIPcIYcKqcJDcOwcFYdiXcOLcOvcFYcJEcFYcOmdiPcJEcJEcKUcFYcKXdvmcIPcLHcLIcLIcLIcLJcLIcLKcIPcLLcLLcLLcIPcJJcJJcLMcLNcLOcLPcLQcLRcLScLTcLUcLNcLVcJJcJJcIRcLWcLWcLWcLWcLWcIRcIRcKkcIRcIRcIRcKkcIRcIRcKjcKjcKjcKjcKjcKFcKGcKGcIRaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaeeJaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadqLdqLdqLdqLdqLdqLdqLaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadqLdqL
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacLncGbcGbcGbcGbcGbcGbcGbcGbcGbcGbcGbcGbcGbdptcGacGbcGbcGbcHrdptdprdpqdvmdFmcFYdiYcJEdFAcFYcLXcFYcFYcFYcLYcFYcFYcFYcKXcLrcLZcMacMacMacMacMacMacMacMbcMacMacMacMbcJJcJJcJJcMccJJcJJcMdcJJcMdcJJcJJcMccJJcJJcJJcMecJQcJQcJQcJQcJQcMecJQcJQcJQcJQcJQcJQcJQcMecLAcLAcLAcLAcLAcKFcKGcKGcIRaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaeeJaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadqLdqLdqLdqLdqLdqLdqLdqLdqLaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadqL
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacJMcFYcFYcFYcFYcFYcFYcFYcFYcFYcFYcFYcFYcFYcFYcFYcFYcFYcFYcFYcFYdmDdmLdvmdmQcFYdngcLtdjbcFYcJEcMhcJEcMicJEcMjdoWdoWcJEcMkcIPcMlcMmcMmcMncMocMpcMqcIPcMrcMrcMrcIPcJJcJJcKKcMscMtcLPcMucJJcMvcLTcMwcMscKLcJJcJJcMecJQcJQcJQcJQcJQcMecJQcJQcJQcJQcJQcJQcJQcMecLAcLAcLAcLAcLAcIRcKkcKkcIRcIRcIRcIRcIRaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaeeJaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadqLdqLdqLdqLdqLdqLdqLdqLdqLaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacLncGbcGbcGbcGbcGbcGbcGbcGbcGbcGbcGbcGbcGbcKHcGacGbcGbcGbcHrcKHcKVcKJdvmcLrcKIcLtcJEcJEcKscJEcMycJEcKXcKXcMzcMzcKXcKXcMkcIPcMAcMAcMAcMBcMCcMBcMDcIPcIPcIPcIPcIPcJJcJJcLccLNcMEcJJcMdcJJcMdcJJcMEcLNcJIcJJcJJcIRcMFcMGcMGcMGcMHcIRcIRcMIcIRcIRcIRcKkcIRcIRcIRcMJcMJcMJcIRcIRcJQcJQcJQcMKcJQcMLcIRaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaeeJaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadqLdqLdqLdqLdqLdqLdqLdqLdqLaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacJMcFYcFYcFYcFYcFYcFYcFYcFYcFYcFYcFYcFYcFYcFYcFYcFYcFYcFYcFYcFYcFYcFYdvmcJWcFYcFYcFYcFYcFYcMMcFYcJecKXcMNcJdcMOcMPcKXcMkcIPcIPcMQcMRcMScMTcMUcMVcMQaaaaaaaaacIRcJJcJJcLccIRcIRcMWcMXcJJcMYcMZcIRcIRcJIcJJcJJcIRaaaaaaaaaaaaaaacIRcNacNbcIRcKjcNccKjcKjcNdcNecNfcNfcNfcNgcIRcJQcJQcKmcKmcJQcJQcNhaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaeeJaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadqLdqLdqLdqLdqLaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacFYcFYcFYcFYcNHcNzdEjdEjcJEcFYcLocKXcMNcMOcMOcMPcKXcOocNJcNKcMQcNpcNqcNrczYcNtcMQaaaaaaaaacIRcJJcJJcLccIRcIRcKvcKwcKwcKwcKycIRcIRcJIcJJcJJcIRaaaaaaaaaaaaaaacIRcNbcNbcIRcNucNucNucKjcNdcNfcNfcNfcNfcNvcIRcJQcNwcKlcKlcNxcJQcNyaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaeeJaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacFYdmycJEcJEcJEcJEcJEcJEcFYcLocJEcJEdmBdmBcKXcKXcKXcKXcLpcMQcNAcNrcNrcNrcNrcMQaaaaaaaaacIRcJJcJJcLMcJpcJpcJpcJpcJpcJpcJpcJpcJpcLVcJJcJJcIRaaaaaaaaaaaaaaacIRcNBcNbcIRcNucNCcNucKjcNdcNdcNdcNdcNdcNdcIRcJQcNwcKlcKlcNxcJQcNyaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaeeJaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacFYdmycJEcJEcJEcJEcJEeiscFYdLfcJEcJEdppcJEcJEeireiqeipeiocMQcNrcNrcNrcNrcNLcMQcIRcIRcIRcIRcIRcIRdaQcIRcIRcJJcJJcJJcJJcJJcIRcIRcIRcIRcIRcIRaaaaaaaaaaaaaaacIRcNNcNbcIRcKNcKjcKjcKjcNdaaaaaaaaaaaaaaacIRcJQcNwcKlcKlcNxcJQcNyaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaeeJaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacFYeiteiteiueiveiyeixeiwcFYdLfdpndpncFYdpxdpxcFYcFYcFYcFYcMQcNrcNPcNQcNRcNScMQdRydRYdRYdRydRHdRXcJJdRzcIRcIRcIRcOacIRcIRdolaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacIRcIRcIRcIRcIRcIRcIRcIRcNdaaaaaaaaaaaaaaacNUcJQcNwcKlcKlcNxcJQcNyaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaeeSeeJeeJeeJeeJeeJeeJeeJeeJeeJeeJeeJeeJeeJeeJeeJeeJeeJeeJeeJeeJeeJeeOeeJeeJeeJeeJeeJeeJeeJeeJeeJeeJeeJeeJeeJeeJeeJeeJeeJeeJeeJeeJeeJeeJeeJeeJeeJeeJeeJeeJeeJeeJeeJeeJeeJeeJeeJeeJeeJ
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacFYcFYcFYcFYdlHcNzdmwdmwcJEcFYdpjcKXcMNcMOcMOcMPcKXcOocNJcNKcMQcNpcNqcNrczYcNtcMQaaaaaaaaacIRcJJcJJcLccIRcIRcKvcKwcKwcKwcKycIRcIRcJIcJJcJJcIRaaaaaaaaaaaaaaacIRcNbcNbcIRcNucNucNucKjcNdcNfcNfcNfcNfcNvcIRcJQcNwcKlcKlcNxcJQcNyaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaeeJaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacFYdmycJEcJEcJEcJEcJEcJEcFYdpjcJEcJEdmBdmBcKXcKXcKXcKXcLpcMQcNAcNrcNrcNrcNrcMQaaaaaaaaacIRcJJcJJcLMcJpcJpcJpcJpcJpcJpcJpcJpcJpcLVcJJcJJcIRaaaaaaaaaaaaaaacIRcNBcNbcIRcNucNCcNucKjcNdcNdcNdcNdcNdcNdcIRcJQcNwcKlcKlcNxcJQcNyaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaeeJaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacFYdmycJEcJEcJEcJEcJEeiscFYdzScJEcJEdppcJEcJEeireiqeipeiocMQcNrcNrcNrcNrcNLcMQcIRcIRcIRcIRcIRcIRdaQcIRcIRcJJcJJcJJcJJcJJcIRcIRcIRcIRcIRcIRaaaaaaaaaaaaaaacIRcNNcNbcIRcKNcKjcKjcKjcNdaaaaaaaaaaaaaaacIRcJQcNwcKlcKlcNxcJQcNyaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaeeJaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacFYeiteiteiueiveiyeixeiwcFYdzSdpndpncFYdpxdpxcFYcFYcFYcFYcMQcNrcNPcNQcNRcNScMQdRydRYdRYdRydRHdRXcJJdRzcIRcIRcIRcOacIRcIRdolaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacIRcIRcIRcIRcIRcIRcIRcIRcNdaaaaaaaaaaaaaaacNUcJQcNwcKlcKlcNxcJQcNyaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaeeSeeJeeJeeJeeJeeJeeJeeJeeJeeJeeJeeJeeJeeJeeJeeJeeJeeJeeJeeJeeJeeJeeOeeJeeJeeJeeJeeJeeJeeJeeJeeJeeJeeJeeJeeJeeJeeJeeJeeJeeJeeJeeJeeJeeJeeJeeJeeJeeJeeJeeJeeJeeJeeJeeJeeJeeJeeJeeJeeJ
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacFYcFYcFYcFYcFYcFYcFYcFYcFYcFYcFYcFYcNVcNWcNWcNVaaaaaaaaacMQcNrcNXcNYcNZcNYcMQdRydRZdRZdRydRJdRCcJJdRzcIRcJocLVcJJcLMcOhcIRaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacObcJQcJQcOccOccJQcJQcObaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacOdcOecOecOecOecOecOedjfdjfcOecOecOgaaacMQcNrcNrcNrcNrcNrcMQdRydRYdRYdRydRRdRCcJJdRzcIRcJIcJJcJJcJJcLccIRaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacOBdXUdXTcOFaaaaaaaaaaaaaaaaaaaaaaaaaaacIRcOicJQcJQcJQcJQcOjcIRaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacOkcOlcOmdiYeijcOqeikcOpcOpeiEeiEcOecOgcMQcMQcMQcMQcMQcMQcMQdRydRydRydRydRBdRCcJJdRzcIRdRAcORdRAdRDdRAcIRaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacOBdaCdiZdROdaFcOFaaaaaaaaaaaaaaaaaaaaaaaacIRcIRcIRcIRcIRcIRcIRcIRaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacOkcOleilcOpcOpcOpcOpcOpcOpcOpcOpdjbdjaaaaaaaaaaaaaaaaaaacIRdREdRydREdRydRHdRCcJJdRFdRGcJIcJJdRIcJJcMvcNdaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacOVdjccOMcOMdaJcOVaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacOkcOleimeincOHcOHcOHcOHcOHcOpcOpcOecOIaaaaaaaaaaaaaaaaaacIRdREdRydREdRydRJdRCcJJdRFdRGcKacJJcLxdRLcMXcNdaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadXIcOYcOYcOYcOMdXIaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacOQcOecOecOecOecOecOecOecOecOecOecOIaaaaaaaaaaaaaaaaaaaaacIRdREdRydREdRydRRdRQcMEdRTcOydRAdRSdRVdRWdRAcNdaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacOVcZpcOYcOZdaNcOVdaMaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacOdcOecOecOecOedjfdjfcOecOecOgaaacMQcNrcNrcNrcNrcNrcMQdRydRYdRYdRydRRdRCcJJdRzcIRcJIcJJcJJcJJcLccIRaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacOBdXUdXTcOFaaaaaaaaaaaaaaaaaaaaaaaaaaacIRcOicJQcJQcJQcJQcOjcIRaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacOkcOldzOcOqdsrcOpcOpeiEeiEcOecOgcMQcMQcMQcMQcMQcMQcMQdRydRydRydRydRBdRCcJJdRzcIRdRAcORdRAdRDdRAcIRaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacOBdaCdiZdROdaFcOFaaaaaaaaaaaaaaaaaaaaaaaacIRcIRcIRcIRcIRcIRcIRcIRaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacOkcOldDDcOpcOpcOpcOpcOpcOpdEjdjaaaaaaaaaaaaaaaaaaacIRdREdRydREdRydRHdRCcJJdRFdRGcJIcJJdRIcJJcMvcNdaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacOVdjccOMcOMdaJcOVaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacOkcOldTMeincOHcOHcOHcOHcOHcOecOIaaaaaaaaaaaaaaaaaacIRdREdRydREdRydRJdRCcJJdRFdRGcKacJJcLxdRLcMXcNdaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadXIcOYcOYcOYcOMdXIaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacOQcOecOecOecOecOecOecOecOecOIaaaaaaaaaaaaaaaaaaaaacIRdREdRydREdRydRRdRQcMEdRTcOydRAdRSdRVdRWdRAcNdaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacOVcZpcOYcOZdaNcOVdaMaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacOycOycOycOycOycOycOycOycOycOycOycOycOycOycOycOycOycOycOycOycOycOycOycOycOycOycOydRncJJcJJdRmcLccNdcNdcNdaaaaaaaaaaaaaaaaaaaaacOBdTBcPrdXIcSocPpdTBcPpcOFaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacPgcPicPicPicPicPicPicPicPicPicPicPicPicPicPjcPhdiUdiTdRsdRrdRrdRrdRrdRrcOycPkcMscPlcJJcJJcPmcLccMscPkcNdaaaaaaaaaaaaaaaaaaaaacOVdaicOYcZrdYscRPdajcRPcOVaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacPgcPicPicPtcPucPvcPtcPucPudYldYhdYmcPucPxcPycPhcPicPidiVdRrdRrdRrdRrdRrcOycPkcLvcPlcJJcJJcJJcLccLvcPkcNdcNdcNdcNdcNdcNdaaaaaacOVcPLcOYcOYdancRWcRWdakcOVaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
@@ -11899,17 +11895,17 @@ aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaciHaalcYWcYYcYYcYYcZndpGdpFcZqdpHcZscZtcYXcZmcZudnScZwcZmcZxcYXdEHcYXcZzcZmcZmcZmcZmcZmcYXaalaalciHaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaciHaalcYWcYZcYYcYZcZAdqhdqfdqecZDcZEcZFcYXcZGcZmcZHcZmcZmdbRcYXdEHcYXcZJcZmcZmcZmcZmcZmcYXaalaalaaeaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaciHaalcYWcYZcYYcYZcYZdqddqcdpRcZNcZOcZPdpVdpSdpZcZmcZmcZTdbucYXdELcYXdpQdbydbpcZYcZZdaacYXaalaalciHaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaciHaalcYWcYZcYYcYZcZAdcPdtMdqydqxdqxdqxdqtdqsdUgdUadTNdTMdaldaldalcYXdamdqmdqndaodapdaqdardTQdTQdTZdTIdTLaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaciHaalcYWcYZcYYcYZcZAdcPdtMdqydqxdqxdqxdqtdqsdUgdUadTNdUvdaldaldalcYXdamdqmdqndaodapdaqdardTQdTQdTZdTIdTLaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaciHciHciHciHciHciHciHciHciHbCVciHciHciHciHciHciHciHciHciHciHciHaalcYWcYZcYYcYZcZAdcndawdaxdaydaydaycYXdcmdTHdaBcZmdbTdaDdaEdalcYXcYXcYXdqlcYXcYXcYXcYXaalaalciHciHciHciHciHciHciHciHciHciHciHciHciHciHciHciHciHbCVciHciHciHciHaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaciHaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaeciHaalcYWcYYeeYcYYdaIdcncZtdaldaldaldaldalddjdaKddgdaKdUvdVadaOdaPdaldaldaIdqIdaScYYeeYcYYcYWaalciHciHciHaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaciHaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaciHaaedUodUodUodUodUodUodUodUodUodUodUodUodUodUodUodUoaaaaaaciHaalcYWcYZcYYcYZcZAdcTdcSdaldaVdaVdaVdgUdcUdaYdaZdaVdaVddbdbbdaVdaVdaldaIdqIcZFcYZcYYcYZcYWaalciHciHaaaaaedUodUodUodUodUodUodUodUodUodUodUodUodUodUodUodUoaaaciHaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaciHaaaaaLaaLaaLaaLaaLaaLaaLaaLaaLaaLaaLaaLaaLaaLaaLaaLaaLaaaciHaalcYWcYZcYYcYZcZAdqQddHdaldaVdbbdbbdbbddBdbbdbfdbbdbbddBdbbdbbdaVdaldaIdqIcZFdqSdcrdcscYWaalaalciHaaeaaLaaLaaLaaLaaLaaLaaLaaLaaLaaLaaLaaLaaLaaLaaLaaLaaLaaeciHaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaciHaaadUodUodUodUodUodUodUodUodUodUodUodUodUodUodUodUoaaLaaaciHaalcYWcYZcYYcYZcZAddwddrdaldaVdbldbbdbbddBdbbdbmdbbdbbddBdbndbodaVdaldqPdqKcZFdcgdbqdqOdbscYWaalciHaaaaaLdUodUodUodUodUodUodUodUodUodUodUodUodUodUodUodUoaaaciHaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaciHaaaaaaaaaaaaaaaaaaaaeaaaaaaaaaaaaaaeaaaaaaaaaaaaaaaaaLdVxciHaalcYWcYZcYYcYZcZAdqIdbvdaldaVdbbdbbdbbddBdbwdbmdbxdbbddBdbbdbbdaVdaldsRdrOdbAdrSdbCdrFdbEcYWaalciHdVEaaLaaaaaaaaaaaaaaaaaeaaaaaaaaaaaaaaeaaaaaaaaaaaaaaaaaaciHaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaciHaaaaaaaaaaaaaaaaaaaaeaaaaaaaaaaaaaaeaaaaaaaaaaaaaaaaaLdVodVvaalcYWcYYcYYcYYdaIdcndbHdaldbIdbJdbKdbLddbdaVdbMdaVdaVdsrdbOdbPdbQdaldradsNdtMefdeeZdrbdbVcYWaaldVvdVoaaLaaaaaaaaaaaaaaaaaeaaaaaaaaaaaaaaeaaaaaaaaaaaaaaaaaaciHaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaciHaaaaaaaaaaaaaaaaaaaaeaaaaaaaaaaaaaaeaaaaaaaaaaaaaaaaaLaaaciHaalcYWcYZcYYcYZcZAdcncZFdaldaVdbWdbXdbbddBdbYdbmdbZdbbddBdcadcbdaVdalcZAdqIdccdcddbDdcedcfcYWaalciHaaaaaLaaaaaaaaaaaaaaaaaeaaaaaaaaaaaaaaeaaaaaaaaaaaaaaaaaaciHaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaciHaaadUodUodUodUodUodUodUodUodUodUodUodUodUodUodUodUoaaLaaaciHaalcYWcYZcYYcYZcZAdqIcZFdaldaVdbbdbbdbbddBdbbdbmdbbdbbddBdbbdbbdaVdalcZAdqIcZFdcgdchdcidcjcYWaalciHaaaaaLdUodUodUodUodUodUodUodUodUodUodUodUodUodUodUodUoaaaciHaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaciHaaaaaLaaLaaLaaLaaLaaLaaLaaLaaLaaLaaLaaLaaLaaLaaLaaLaaLaaaciHaalcYWcYZcYYcYZcZAdcncZFdaldaVdckdclduIdWHdbbdbfdbbdbbddBdcodcpdaVdalcZAdqIcZFdcqdcrdcscYWaalaalciHaaeaaLaaLaaLaaLaaLaaLaaLaaLaaLaaLaaLaaLaaLaaLaaLaaLaaLaaeciHaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaciHaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaeciHaalcYWcYYeeYcYYdaIdcncZtdaldaldaldaldalddjdaKddgdaKdVadaPdaOdaPdaldaldaIdqIdaScYYeeYcYYcYWaalciHciHciHaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaciHaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaciHaaedUodUodUodUodUodUodUodUodUodUodUodUodUodUodUodUoaaaaaaciHaalcYWcYZcYYcYZcZAdcTdcSdaldaVdaVdaVdgUdcUdaYdaZdaVddbdaVdbbdaVdaVdaldaIdqIcZFcYZcYYcYZcYWaalciHciHaaaaaedUodUodUodUodUodUodUodUodUodUodUodUodUodUodUodUoaaaciHaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaciHaaaaaLaaLaaLaaLaaLaaLaaLaaLaaLaaLaaLaaLaaLaaLaaLaaLaaLaaaciHaalcYWcYZcYYcYZcZAdqQddHdaldaVdbbdbbdbbddBdbbdbfdbbddBdbbdbbdbbdaVdaldaIdqIcZFdqSdcrdcscYWaalaalciHaaeaaLaaLaaLaaLaaLaaLaaLaaLaaLaaLaaLaaLaaLaaLaaLaaLaaLaaeciHaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaciHaaadUodUodUodUodUodUodUodUodUodUodUodUodUodUodUodUoaaLaaaciHaalcYWcYZcYYcYZcZAddwddrdaldaVdbledEdbbddBdbbdbmdbbddBdbbdbndbodaVdaldqPdqKcZFdcgdbqdqOdbscYWaalciHaaaaaLdUodUodUodUodUodUodUodUodUodUodUodUodUodUodUodUoaaaciHaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaciHaaaaaaaaaaaaaaaaaaaaeaaaaaaaaaaaaaaeaaaaaaaaaaaaaaaaaLdVxciHaalcYWcYZcYYcYZcZAdqIdbvdaldaVdbbdbbdbbddBdbwdbmdbxddBdbbdbbdbbdaVdaldsRdrOdbAdrSdbCdrFdbEcYWaalciHdVEaaLaaaaaaaaaaaaaaaaaeaaaaaaaaaaaaaaeaaaaaaaaaaaaaaaaaaciHaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaciHaaaaaaaaaaaaaaaaaaaaeaaaaaaaaaaaaaaeaaaaaaaaaaaaaaaaaLdVodVvaalcYWcYYcYYcYYdaIdcndbHdaldbIdbJdbKdbLddbdaVdbMdaVddbedUdbPdbOdbQdaldradsNdtMefdeeZdrbdbVcYWaaldVvdVoaaLaaaaaaaaaaaaaaaaaeaaaaaaaaaaaaaaeaaaaaaaaaaaaaaaaaaciHaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaciHaaaaaaaaaaaaaaaaaaaaeaaaaaaaaaaaaaaeaaaaaaaaaaaaaaaaaLaaaciHaalcYWcYZcYYcYZcZAdcncZFdaldaVdbWdbXdbbddBdbYdbmdbZddBdbbdcbdcadaVdalcZAdqIdccdcddbDdcedcfcYWaalciHaaaaaLaaaaaaaaaaaaaaaaaeaaaaaaaaaaaaaaeaaaaaaaaaaaaaaaaaaciHaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaciHaaadUodUodUodUodUodUodUodUodUodUodUodUodUodUodUodUoaaLaaaciHaalcYWcYZcYYcYZcZAdqIcZFdaldaVdbbdbbdbbddBdbbdbmdbbddBdbbdbbdbbdaVdalcZAdqIcZFdcgdchdcidcjcYWaalciHaaaaaLdUodUodUodUodUodUodUodUodUodUodUodUodUodUodUodUoaaaciHaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaciHaaaaaLaaLaaLaaLaaLaaLaaLaaLaaLaaLaaLaaLaaLaaLaaLaaLaaLaaaciHaalcYWcYZcYYcYZcZAdcncZFdaldaVdckdclduIdWHdbbdbfdbbefOefCdcodcpdaVdalcZAdqIcZFdcqdcrdcscYWaalaalciHaaeaaLaaLaaLaaLaaLaaLaaLaaLaaLaaLaaLaaLaaLaaLaaLaaLaaLaaeciHaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaciHaaedUodUodUodUodUodUodUodUodUodUodUodUodUodUodUodUoaaaaaaciHaalcYWcYZcYYcYZcZAdcncZFdaldaVdaVdaVdWCdaVdaVdcudaVdaVdWGdaVdaVdaVdalcZAdqIcZFcYZcYYcYZcYWaalciHciHaaaaaedUodUodUodUodUodUodUodUodUodUodUodUodUodUodUodUoaaaciHaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaciHaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaciHciHaalcYWcYYeeYcYYdaIdqIcZtdaldaldaldaldaldaldaldcwdaldaldaldaldaldaldaldaIdqIcZtcYYeeYcYYcYWaalciHciHciHaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaciHaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaciHciHciHciHciHciHciHciHciHciHciHciHbCVciHciHciHciHciHciHciHciHaalcYWcYZcYYcYZcZAdqIdcydczcZPcZPdcAeffdjCdsWefedthdtmefxdcAcZPcZPdcIdcJdqIcZFcYZcYYcYZcYWaalciHciHciHciHciHciHciHbCVciHciHciHciHciHciHciHciHciHciHbCVciHciHciHaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
@@ -11922,7 +11918,7 @@ aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaciHciHaalaalaalaalaalaalaalaalaalaalaalddfdsidssddGddfaalaalaalaalaalaalaalaalaalaalaalciHciHaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaciHciHciHciHciHciHciHciHciHciHciHddfddfdrXdshddJddfddfciHciHciHciHciHciHciHciHciHciHciHaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaciHaaLaaLciHciHddfddfdrUdrVdrWddydiLddfddfciHciHaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaLaaLaaLddfddfddOdUGddQddqddqddqddqddRddfciHaaeaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaLaaLaaLddfddfddOdlCddQddqddqddqddqddRddfciHaaeaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaLaaLdWhddTdkBdtedtlddqddqddXddqddqddYddfciHaaeaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaLaaLdVKddDddfddfdeadebddqddqddqddqddRddfciHciHaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaciHaaLaaLciHciHddfddfdecdeddeddeddeeddfddfciHciHaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
@@ -12137,7 +12133,7 @@ aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadtndtndtndtndtndttdtwdtvdttdtLdtOdttdtndtndtndtndeDdeDdtEdeDdeDdeDaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaeaaaaaeaaeaaLaaeaaLaaLaaeaaeaaLaaeaaeaaLdkJdkEdkDdkCdkCdkHaaedkJdkEdkEdkDdkPdkCdkCdkCdkDdkDaaeaaeaaedkXdkYdkZdkYdkXaaeaaeaaedkDdkDdkPdkCdkPdkPdkDdkEdkEdkJaaedkHdkCdkPdkDdkEdkJaaeaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaedtndzfdzfdzfdzfdzgdYxdYydYCdYBdYDdzgdzfdzfdzfdzfdeDdmJdvQdmKdzideDdeDdeDaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaeaaeaaeaaeaaeaaeaaLaaeaaeaaLaaLaaLaaLaaLaaLaaLaaLaaLaaLaaLdkJdkEdkDdkCdkCdkDdkJdkJdkEdkDdkDdkPdkCdkCdkCdkDaaeaaeaaedkXdkXdkXdlYdkXdkXdkXaaeaaeaaedkDdkPdkPdkCdkPdkDdkDdkEdkJdkJdkDdkPdkCdkDdkEdkJaaeaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaedtndzPdzNdzNdzNdzDdYNdeHdYMdYIdYEdzDdzJdzJdzJdzFdeDdmJefDdwddzMdzKdmrdmRaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaeaaLaaLaaLaaLaaLaaLaaLaaLaaLaaLaaLaaLaaLaaLaaLaaLaaLaaLdkJdkEdkDdkCdkCdkDdkEdkEdkEdkDdkPdkPdkCdkCdkDdkDaaeaaedkXdkXdlZdlZdkYdlZdlZdkXdkXaaeaaedkDdkDdkPdkCdkPdkPdkDdkEdkEdkEdkDdkPdkPdkDdkEdkJaaeaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaedtndxhdxhdxhdxhdttdmtdeHdmudeHdymdttdxhdxhdxhdxhdeDdUKdvQdeHdypdeDdeDdeDaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaeaajaaeaaeaaeaaeaaeaajaajaajaajaajaaeaaLaaeaaLaaeaaLaaeaaLaaeaaLdkJdkJdkJdkJdkJdkJdkJdkJdkJdkJdkJdkEdkDdkCdkCdkDdkIdkDdkDdkDdkPdkPdkPdkPdkDdkXdkXdkXdkXdkYdlZdkYdkYdkYdlZdkYdkXdkXdkXdkXdkDdkPdkPdkCdkPdkDdkDdkDdkIdkDdkPdkPdkDdkJdkJaajaajaajaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaedtndxhdxhdxhdxhdttdmtdeHdmudeHdymdttdxhdxhdxhdxhdeDehBdvQdeHdypdeDdeDdeDaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaeaajaaeaaeaaeaaeaaeaajaajaajaajaajaaeaaLaaeaaLaaeaaLaaeaaLaaeaaLdkJdkJdkJdkJdkJdkJdkJdkJdkJdkJdkJdkEdkDdkCdkCdkDdkIdkDdkDdkDdkPdkPdkPdkPdkDdkXdkXdkXdkXdkYdlZdkYdkYdkYdlZdkYdkXdkXdkXdkXdkDdkPdkPdkCdkPdkDdkDdkDdkIdkDdkPdkPdkDdkJdkJaajaajaajaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaedtndzedzadzadzadySdeSdyZdyTdeHdmzdySdyrdyrdyrdufdeDdoVefDdwddwddyXdmrdmAaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaLaaeaaLaaLaaLaaLaaLaaLaaLaaLaaLaaLaaLaaLaaLdkEdkEdkEdkEdkEdkEdkEdkEdkEdkEdkEdkEdkDdkCdkCdkPdkPdkPdkPdkPdkPdkCdkPdkPdkDdkYdkYdkYdkXdlZdlZdkYdkZdkYdlZdlZdkXdkYdkYdkYdkDdkPdkPdkCdkPdkPdkPdkPdkCdkPdkPdkCdkDdkEdkEaaLaaLaaLaaLaaLaaLaaLaaLaaLaaLaaLaaLaaaaaaaaeaaaaaeaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaedtndxhdxhdxhdxhdxCdmldeRdxHdYqdeTdxCdxhdxhdxhdxhdeDdmmdvQdeHdxFdeDdeDdeDaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaeaaeaaeaaeaaeaaeaaeaaeaaeaaLaaLaaLaaLaaLaaeaaeaaLaaLaaeaaLaaeaaLaaeaaLaaeaaLaaeaaLdlwdkEdlwdkEdkEdkEdkEdkEdkEdkEdkEdkEdkDdkPdkPdkPdkPdkPdkPdkPdkCdkPdkPdkPdmgdkZdkZdkZdmhdkYdkYdkYdkZdkYdkYdkYdmidkZdkZdkZdmjdkCdkPdkCdkCdkCdkCdkCdkCdkPdkPdkPdkDdkEdkEaaLaaLaaLaaLaaLaaLaaLaaLaaLaaeaaLaaeaaLaaeaaLaaLaaLaaeaaLaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadeDdeDdeDdeDdeDdeDdeDdeDdeDdxKdeDdeDdeDdeDdeDdeDdeDdeDdmpefDdwddwddxJdmrdmqaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaeaaeaaeaaeaaLaaLaaLaaLaaLaaLaaLaaeaaLaaeaaLaaLaaLaaLaaLdkEdkEdkEdlwdkEdkEdkEdkEdkEdkEdkEdkEdkDdkCdkCdkPdkCdkCdkCdkCdkCdkCdkCdkCdkDdkYdkYdkYdkXdlZdlZdkYdkZdkYdlZdlZdkXdmodmodmodkDdkPdkPdkCdkPdkPdkPdkPdkPdkPdkCdkCdkDdkEdkEaaLaaLaaLaaLaaLaaLaaLaaLaaLaaLaaLaaLaaLaaLaaLaaLaaeaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
@@ -12146,8 +12142,8 @@ aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaedfjdfbdfcdvSdlXdfcdfjdfvdfndvMdeXdeXdfddvOdffdfgdfhdeDdlNdlPdlOdvQdeDdvRdvRdeDdeDaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaeaaaaaaaaeaaedkJdlwdltdlrdlrdltdkJdkJdkEdltdltdlsdlvdlsdlvdltaaeaaeaaedkXdkXdkXdlYdkXdkXdkXaaeaaeaaedltdlsdlsdlrdlsdltdltdkEdkJdkJdltdlrdlrdltdkEdkJaaeaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaedfjdfkdfcdvUdfudfcdfrdfvdvVdwadvudvudvZdwbdfedfedfpdeDdeHdeHdeHdvQdeDdeDdeDdeDaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaeaaaaaaaaeaaedkJdlwdltdlrdlrdluaaedkJdkEdkEdltdlsdlsdlsdlsdltdltaaeaaeaaedkXdkYdkZdkYdkXaaeaaeaaedltdltdlsdlsdlrdlsdltdkEdkEdkJaaedludlrdlrdltdkEdkJaaeaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaedfrdfsdftdvAdvsdvsdvtdvudvudvkdeXdeXdfidvfdvedvedvjdeDdlNdlPdlOdvpdfiaaeaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaeaaeaaeaaeaaeaaedkJdlwdltdlrdlrdluaaedkJdkEdkEdltdlsdlvdlsdlvdlsdltdltaaeaaedkXdkYdkZdkYdkXaaeaaedltdltdlsdlsdlsdlsdlsdltdkEdkEdkJaaedludlsdlrdltdkEdkJaaeaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaedeDdfCdeDdvKdeDdeDdeDdeDdeDecBdXHdfEdfqdfedfedfgdfhdeDdlVdYjdYidXOdeJaaeaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaeaaaaaaaaeaaedkJdlwdltdlrdlsdluaaedkJdkEdkEdltdltdlsdlsdlsdlsdlsdltdltdltdkXdkYdkZdkYdkXdltdltdltdlsdlrdlrdlrdlsdltdltdkEdkEdkJaaedludlsdlsdltdkEdkJaaeaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaeciMdeDduHdeDefIdeDefIdeDduGdlDdeXdfqdfedfedfedfpdeDdXkdfddeDedpdeDaaeaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaeaaaaaaaaeaaedkJdlwdltdlrdlsdluaaedkJdkEdkEdkEdlFdlvdlsdlvdlsdlvdlsdlrdltdltdltdlGdltdltdltdlsdlsdlrdlrdlrdlsdlsdlAdkEdkEdkEdkJaaedludlrdlsdltdkEdkJaaeaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaedeDdfCdeDdvKdeDdeDdeDdeDdeDdlRdXHdfEdfqdfedfedfgdfhdeDdlVdYjdYidXOdeJaaeaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaeaaaaaaaaeaaedkJdlwdltdlrdlsdluaaedkJdkEdkEdltdltdlsdlsdlsdlsdlsdltdltdltdkXdkYdkZdkYdkXdltdltdltdlsdlrdlrdlrdlsdltdltdkEdkEdkJaaedludlsdlsdltdkEdkJaaeaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaeciMdeDduHdeDefIdeDefIdeDduGdlDdeXdfqdfedfedfedfpdeDdXkdfddeDdwOdeDaaeaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaeaaaaaaaaeaaedkJdlwdltdlrdlsdluaaedkJdkEdkEdkEdlFdlvdlsdlvdlsdlvdlsdlrdltdltdltdlGdltdltdltdlsdlsdlrdlrdlrdlsdlsdlAdkEdkEdkEdkJaaedludlrdlsdltdkEdkJaaeaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaciMdeDduKdeDdfDdeDdfDdeDdlLdlKdeXdeJdfydlMdfAdfBdeDdXsdXpdeDdeDdeDaaeaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaeaaeaaeaaeaaeaaedkJdlwdltdlrdlsdluaaedkJdkJdkJdkJdltdltdlsdlsdlsdlsdlrdlrdlrdlrdlrdlrdlrdlrdlrdlrdlrdlrdlrdlsdlsdltdltdkJdkJdkJdkJaaedludlrdlsdltdkEdkJaaeaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaciMdeDduqdusdfFdfFdupdeDdeDdundfddeDdlddlodlpdeFdeDdlmdlndeDaaeaaeaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaeaaaaaaaaeaaedkJdlwdltdlrdlsdluaaeaaeaaeaaeaaeaaedltdltdlvdlsdlvdlsdlrdlrdlrdlrdlrdlrdlrdlrdlrdlrdlrdlsdlsdltdltaaeaaeaaeaaeaaeaaedludlrdlsdltdkEdkJaaeaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaactydeDdeDdeDdeDdeDdeDdeDdeDefWdlydeDaaeaaeaaeaaedeDdutdfddeDaaeaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaeaaaaaaaaeaaedkJdlwdltdlrdlsdluaaeaaaaaeaaaaaeaaeaaedltdlAdltdlsdlrdlrdlrdlrdlrdlrdlrdlrdlrdlrdlrdlrdltdlAdltaaeaaeaaeaaaaaeaaaaaedludlrdlsdltdkEdkJaaeaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
@@ -12355,8 +12351,8 @@ aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaeaaedvGdvHdvIdvcdsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsaduDaaaaaaecudvddvddvddvddvddvddvddvJdVrdvLdVsdvLdvLdVudVydvLdVCdVBdVAdVzeendvXdVMdVDdVRdVPdVOdVNdVWdVVdvzdsUdWedWfegkdvzdtxdtIdBvdBvaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadqUdqUdqUdqUdqUdqUdqUdqUdqUdqUdqUdqUdqUdqUdqUdqUdqUaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaeaaeecydwmdwndwodvcdsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsaaaaaaaaaaaaaecudvddvddvddvddvddvddvddwpdDFdwrdwsdDHdwudEVdwvdwYdEedrDdEidEgdrDdwAdwBdEddwDdwEdEbdtJdDTdDIdDZdDWdEAdEKegldwMdpvdpwdBvdBvaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadqUdqUdqUdqUdqUdqUdqUdqUdqUdqUdqUdqUdqUdqUdqUdqUdqUaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaeaaedwQdwRdwSdvcdwTdwUdvcdvcdvcdvcdsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsaaaaaaaaaaaaaaaaaaaecudvddvddvddvddvddvddvddwVdDFdwrdwsdDHdxxdpodwvdwYdwZdrDdDEdDBdrDecrdtJdtJdtJdtJecqdtJdDzdDvdvzdDwdDudxiecodxkdpkdpldCidCiaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadqUdqUdqUdqUdqUaaadqUdqUdqUdqUdqUaaadqUdqUdqUdqUdqUaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaeecMdxpdxqdxrdxsdxtdszduBdxudvcdxvdxwdvcdsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsaaaaaaaaaaaaaaaaaaaecudvddvddvddvddvddvddvddrTdIQdJGdILdDHdxydpJdwvdxzdxAdrDdKPdKOdLbdKUeeedLddKcdrDdKAdKsdKIdKBdvzdKJdLgdxPecLdxRdpkdBvdBvdBvaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadqUdqUdqUdqUdqUaaadqUdqUdqUdqUdqUaaadqUdqUdqUdqUdqUaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaedxSdxTdxpdxUdxVdxWdxXdxYdxudxZdxwdyadxvdvcdsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsaaaaaaaaaaaaaaaaaaaegmdycdyddyeecDdycdyddygdyhdEWecAefEefCefCdrDdrDdrDdrDdrDdICdwqdIKdxEdrEdxGdGudrDdyqdFRdHidHgdrDdGwdFFdpDdpCdyzdyAdyBdrDdyCecEeaKeaKeaKeaKeaKeaKecFebJaaaaaaaaaaaaaaaaaaaaaaaadqUdqUdqUdqUdqUaaaaaaaaaaaaaaaaaaaaadqUdqUdqUdqUdqUaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaeecMdxpdxqdxrdxsdxtdszduBdxudvcdxvdxwdvcdsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsaaaaaaaaaaaaaaaaaaaecudvddvddvddvddvddvddvddrTdIQdJGdILdDHdxydpJdwvdxzdxAdrDdKPdKOdLbdKUdLfdLddKcdrDdKAdKsdKIdKBdvzdKJdLgdxPecLdxRdpkdBvdBvdBvaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadqUdqUdqUdqUdqUaaadqUdqUdqUdqUdqUaaadqUdqUdqUdqUdqUaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaedxSdxTdxpdxUdxVdxWdxXdxYdxudxZdxwdyadxvdvcdsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsaaaaaaaaaaaaaaaaaaaegmdycdyddyeecDdycdyddygdyhdEWecAeiFecBecBdrDdrDdrDdrDdrDdICdwqdIKdxEdrEdxGdGudrDdyqdFRdHidHgdrDdGwdFFdpDdpCdyzdyAdyBdrDdyCecEeaKeaKeaKeaKeaKeaKecFebJaaaaaaaaaaaaaaaaaaaaaaaadqUdqUdqUdqUdqUaaaaaaaaaaaaaaaaaaaaadqUdqUdqUdqUdqUaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaedgdxSdyFdxSdxqdxqdwTdyGdxVdvcdwodyHdvcdxwdyIdvcdsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsaaaaaaaaaaaaaaaaaaadyJdOydyLegpegoegndyLdOodOxdOLdyLedhdOFdOCdyUdOAdOBdyVdyUegqdwqdzbdzcdzddNUdOcdrDdzhdOkdObdNXdrDdvzdOndvzdrDdrDdzmdzndzodzpdzqdzrdzrdzsdzrdzrdzrdztecZaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaeaaedzudzvdxqdzwdzxdxqdvIdzydxWdzzdzAdzBdvcdvcdvcdvcdvcdvcdsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadqTdqTdqTdqTdqTdqTdqTdqTdqTdqTdqTdqTdqTaaaaaaaaaaaaaaadzCdMWdATdATdATdATdMJdMMdMOdNqdNDdNGdNKegrdyUegsdNldMkdMjdMidMhdMgdMedvLdvLdMHdMudvLdvLdModMndMmdMldLDdLMdLzegtdvLdvLdLhdLndMadMddzrdLZdLRdAodApdzrebBaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaeaaedAqdArdAsdxqdzxdAtdxUdAudxVdAvdvcdAwdAxdvcdAydxudAzdAAdvcdsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadqTdqTdqTdqTdqTdqTdqTdqTdqTdqTdqTdqTdqTdqTdqTaaaaaaaaaaaadABdACdyLdyLdPPdyLdPRdAFdyLdPVdyLdPSdPTegudyUdNledsedtdAPdPXdPWdQddQadQhdQedQldQidQvdQndQldQidQidQxdQAdQCdQNdQOdQPdQRdQSdRkdRldRodRpdRPdRUdBmdBndzrebBaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
@@ -12370,7 +12366,7 @@ aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadsadsadsadsadsadsadsadsadsadsadsadsadvcdFddvcdxudAwdGldzydtWdxUdxudvcdxVdwodvcdGmdGndGndGodvcdGpdsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadqTdBvdBvdCidCidCidoPdCidCidCidCidCidCidCidCidGqdGraaeaaaaaaaaaaaaaaaaaaaaeaaeaaedDbdDbdGsdGtdDbdDbdGvdxLdGvdDbdoOdGTdCidCidCidCidBMdBMdBMdBOdBOdBOdBOdBRdBRdBRdBRdBUdBUdBUdBUdBUdFHdFHdGydGzdrndrndGAdFbdqTdqTdsadsadsaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadsadsadsadsadsadsadsadsadsadsadsadsadvcdFddvcdAwduBdzBdxudxVdwodzBdvcdFddvcdvcdAydtbdGndGBdGCdGpdGpdsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadqTdBvdoFdoJdCidoUdoFdoKdCidCidCidCidCidCidCidCidGDdGEaaaaaaaaaaaaaaaaaedGFdGGdGHdGIdGJdoSdoRdoQdDbdGPdFSegIdDbegHdGTdCidCidCidCidGRdGSdGTdqTdqTdqTdqTdqTdqTdqTdqTdqTdqTdqTdqTdqTdqTdrldGUdFbdGVdqTdqTdqTdqTdqTdsadsadsadsaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadsadsadsadsadsadsadsadsadsadsadsadsadsadvcdFddvcdvcdvcdvcdvcdvcdvcdvcdvcdFddvcdAydtbdAzdtbdGodGWdGpdGpdsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadqTdBvdoFdCidCidCidoFdoKdCidCidCidCidCidCidCidGXdGYdGZdHadHadHadHadHadHadHbdHcdHddHedHedoLdFrdFrdDbdvPdwWdwzdDbegJdCidCidCidCidCidFidHkdHldqTdqTdsadsadsadsadsadsadqTdqTdqTdqTdqTdrldGUdFbdHmdGpdHmdqTdqTdqTdqTdsadsadsadsaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadHndHndHndHndHndHndHndHndHndHndHndHndHndHndHndHnaaaaaaaaaaaaaaadHndsadsadsadsadsadsadsadsadsadsadsadsadsadsadvcdFddFddFddFddFddFddFddFddFddFddFddvcdAydAzdAzdAzdAAdvcdGpdGpdGpdsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadqTdBvdCidCidCidCidoMdoNdCidCidCidCidCidCidCidCidHodHpdHpdHpdHpdHpdHpdHpdHpdHodCidCidCidCidCidCidDbeiFdZCdGvdDbegKdCidCidCidCidCidHsdHtdHudrndrndrndrndHvdrndrndrndrndrndHwdHxdHydHzdFbdGpdGpdGpdHmdBwdqTdsadsadsadsadsadsaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadHndHndHndHndHndHndHndHndHndHndHndHndHndHndHndHnaaaaaaaaaaaaaaadHndsadsadsadsadsadsadsadsadsadsadsadsadsadsadvcdFddFddFddFddFddFddFddFddFddFddFddvcdAydAzdAzdAzdAAdvcdGpdGpdGpdsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadqTdBvdCidCidCidCidoMdoNdCidCidCidCidCidCidCidCidHodHpdHpdHpdHpdHpdHpdHpdHpdHodCidCidCidCidCidCidDbeiGdZCdGvdDbegKdCidCidCidCidCidHsdHtdHudrndrndrndrndHvdrndrndrndrndrndHwdHxdHydHzdFbdGpdGpdGpdHmdBwdqTdsadsadsadsadsadsaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadHndHndHndHndHndHndHndHndHndHndHndHndHndHndHndHndHndHndHndHndHndHndHndHndsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadvcdvcdvcdvcdvcdvcdvcdvcdvcdvcdvcdvcdvcdvcdFNdHAdHBdvcdvcdGpdGpdGpdGpdsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadqTdBvdCidCidCidCidCidCidCidCidCidCidCidCidCidGXdHddHCdHDdHDdHDdHDdHDdHDdHDdGXdHddCidCidCidCidCidCidHEegLdHGdHHdHIdHJdCidCidCidCidGTdGTdGTdqTdqTdsadsadsadsadsadsadsadsadHKdHLdHMdHNdGpdHmdGpdGpdHmdqTdqTdqTdsadsadsadsadsadsaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadHndHndHndHndHndHndHndHndHndHndHndHndHndHndHndHndHndHndHndHndHndHndHndHndHndHndsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadGpdGpdGpdvcdGndGndAzdvcdGpdGpdGpdGpdGpdsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadqTdBvdoFdoJdCidCidCidCidCidCidCidCidCidCiaaaaaaaaaaaaaaaaaaaaaaaadBvdBvdBvdBvdBvdBvdBvdBvdCidCidCidCidCidCidHEdHOdHGdCidCidCidBvdBvdqTdqTdqTdqTdsadsadsadsadsadsadsadBwdHmdGpdHPdGpdHmdGpdGpdGpdqTdqTdqTdqTdqTdsadsadsadsadsaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadHndHndHndHndHndHndHndHndHndHndHndHndHndHndHndHndHndHndHndHndHndHndHndHndHndHndHndsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadGpdGpdGpdvcdHQdHRdHQdvcdGpdGpdGpdGpdGpdsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadqTdBvdoFdCidCidCidCidCidCidCidCidCidCidCiaaaaaaaaaaaaaaaaaaaaaaaadBvdBvdBvdqTdqTdqTdqTdBvdBvdBvdCidCidCidCidCidHSdCidCidCidCidBvdqTdqTdqTdsadsadsadsadsadsadsadsadsadsadsadsadBwdsadGpdGVdsadqTdsadsadqTdqTdqTdqTdsadsadsadsaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
@@ -12384,7 +12380,7 @@ aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadHndHndHndHndHndH
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadHndHndHndHndHndHndHndHndHndHndHndHndHVdHVdHndHndHndHndHndHndHndHndHndHndHndHndHndHndHndHndHndHndsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadGpdGpdGpdGpdGpdGpdsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsaaaaaaaaaaaaaaaaaaaaaaaaaaaadsadsadsadsadsadsadsadqTdqTdBvdCidCidCidHSdCidCidCidCidIeegPegOegRegQegVegUegXegWegMegSegTegMdsadsadsadsadsadsadsadsadsadsadqTdqTdqTdsadsadsadsadqTdqTdqTdqTdqTaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadHndHndHndHndHndHndHndHndHndHndHndHndHVdHVdHndHndHndHndHndHndHndHVdHVdHVdHndHndHndHndHndHndHndHndHndsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadGpdGpdGpdsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsaaaaaaaaaaaaaaaaaaaaaaaaadsadsadsadsadsadsadsadqTdqTdBvdBvdCidCidHSdCidCidCidCiehcegZegYehbehaehhehgehjehieheehdehfegMdsadsadsadsadsadsadsadsadsadsadsadsadqTdqTdsadsadsadsadqTdqTdqTdqTaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadHndHndHndHndHndHndHndHndHndHndHndHndHndHndHndHndHndHndHndHndHndHVdHVdHVdHVdHndHndHndHndHndHndHndHndHndHndsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsaaaaaaaaaadqTaaaaaaaaaaaadsadsadsadsadsadsadsadqTdqTdqTdBvdCidCidHSdCidCidCidCiegMegMegMegMegMegMehmehoehnegMehkehlegMdsadsadsadsadsadsadsadsadsadsadsadsadsadsadqTdqTdsadsadsadqTdqTdqTaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadHndHndHndHndHndHndHndHndHndHndHndHndHndHndHndHndHndHndHndHndHndHVdHVdHVdHVdHndHndHndHndHndHndHndHndHndHndsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsaaaaaaaaaadsadsadsaaaaaaadsadsadsadsadsadsadsadsadsadqTdBvdCidCidIadIcehuehtehtehvehqehpehsehrehAehzehgehBehxehwehyegMdsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadqTdqTdqTdsadsadqTdqTaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadHndHndHndHndHndHndHndHndHndHndHndHndHndHndHndHndHndHndHndHndHndHVdHVdHVdHVdHndHndHndHndHndHndHndHndHndHndsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsaaaaaaaaaadsadsadsaaaaaaadsadsadsadsadsadsadsadsadsadqTdBvdCidCidIadIcehuehtehtehvehqehpehsehrehAehzehgehZehxehwehyegMdsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadqTdqTdqTdsadsadqTdqTaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadHndHndHndHndHndHndHndHndHVdHndHndHndHndHndHndHndHndHndHndHndHndHndHVdHVdHVdHVdHndHndHndHndHndHndHndHndHndHndHndsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsaaaaaaaaaadsadsadsaaaaaaaaaadsadsadsadsadsadsadsadsadqTdBvdCidCidCidCidHSdCidCiegMegMegMegMehCegMegMegMegMegMegMegMegMdsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadqTdqTdqTdqTdqTaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadHndHndHndHndHndHndHndHndHVdHVdHVdHndHndHndHndHndHndHndHndHndHndHndHndHndHVdHVdHVdHndHndHndHndHndHndHndHndHndHndHndHndsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsaaaaaaaaaaaaaaaaaaaaaaaaaaaadsadsadsadsadsadsadsadsadqTdBvdBvdCidCidCidHSdCidCidCidCiehDehEdMCdMCduDdsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadqTdqTdqTdqTaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadHndHndHndHndHndHndHndHndHVdHVdHVdHndHndHndHndHndHndHndHndHndHndHndHndHndHVdHVdHVdHndHndHndHndHndHndHndHndHndHndHndHndsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadsadsadsadsadsadsadsadqTdqTdBvdCidCidIedHIdHJdCidCidCidCidCidCidCiduDdsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadqTdqTaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
@@ -12474,7 +12470,7 @@ aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadHndHndH
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadHndHVdHVdHVdHVdHVdHVdHVdHVdHndHndHndHndHndHndHndHVdHVdHVdHVdHVdHVdHndHndHndHndHndHndHndHndHndCidCidCidCidCidCidCidCidJjdJkdJldCidCidCidBvdqTdqTdqTdqTdqTdsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadqTdqTdqTdBvdBvdBvdBvdBvdBvdBvdqTdqTdqTdqTdqTdqTdqTdqTdsadsadsadsadsadsadsadsadsadsadIPdJmdIPdIPdIPdIPdIPdIPdMvdJndCidCidCidCidCidCidCidCidCidCidCiaaaaaaaaaaaaaaaaaaaaaaaaaaadqTdqTdqTdqTdqTdDQdysdMCdytdytdyudCidIedHIdHJdCidCidCidCidCidCidCidGpdGpdBvdqTdqTdqTdqTdsadsadsadsadsadsadsadsadsadsadsadsadsadsaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadHndHndHVdHVdHVdHVdHVdHVdHndHndHndHndHndHndHndHVdHVdHVdHVdHVdHVdHndHndHndHndCidCidJodJodJodJodJodJodhxdhAdhwdJodJodJodJodJodCidCidCidBvdqTdqTdqTdqTdqTdqTdsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadqTdqTdqTdqTdBvdBvdCidCidCidCidCidBvdBvdBvdBvdBvdqTdqTdqTdqTdqTdqTdqTdsadsadsadsadIPdIPdIPdIPdJsdJtdJudIPdITdJvdIPdRxdIPdIPdIPdJwdJxdJydIPdCidCidCidCidCidCiaaaaaaaaaaaaaaaaaaaaaaaaaaadqTdqTdqTdBvdDQdyndFpdyodyodOsdCidHEdHOdHGdCidCidCidCidCidCidCidCidCidBvdBvdqTdqTdqTdsadsadsadsadsadsadsadsadsadsadsadqTdsadsaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadHndHndHVdHVdHVdHVdHVdHVdHndHndHndHndHndHndHndHVdHVdHVdHVdHVdHndHndBvdCidCidCidJodJzdwgdJBdJCdJDdLSdLLdMfdMcdNJdMwehFdJLdHJdCidCidBvdBvdBvdBvdqTdqTdqTdqTdqTdqTdsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadqTdqTdqTdBvdBvdCidCidCidCidCidCidCidCidCidCidBvdBvdBvdBvdBvdqTdqTdqTdqTdsadsadsadIPdJMdJNdJOdJPdJNdJNdIPdIXdIYdJQdMvdIPdJRdJSdJTdXLdJTdJedCidCidCidCidCidCidCiaaaaaaaaaaaaaaaaaaaaaaaaaaadBvdBvdBvdDQdwydNbdwkdwkdHGdCidCidJUdJVdJWdJXdJVdJVdCidCidCidCidCidCidBvdqTdqTdqTdsadsadsadsadsadsadsadsadsadsadsadqTdsaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadHndHndHndHVdHVdHVdHndHndHndHndHndHndHndHndHVdHVdHVdHndHndqTdBvdCidCidCidJodJYdJAdJZdKadJAdJAdJAdJAdMxdMydMEdMNeeKdKgdCidCidCidCidCidBvdBvdBvdqTdqTdqTdqTdqTdqTdqTdsadsadsadsadsadsadsadsadsadsadsadsadqTdqTdBvdBvdDQdCidCidCidCidCidCidCidCidCidCidCidCidCidCidCidBvdBvdqTdqTdqTdqTdqTdqTdIPdTwdJNdKidTxdKkdKldIPdIPdIPdIPdMvdIPdJRdKmdKmdMIdKmdJidCidCidCidCidCidCidCiaaaaaaaaaaaaaaaaaaaaaaaaaaadCidCidCidCidCidCidCidCidCidCidCidJUeiGeiGeiGcsPdJVdCidKqdCidCidCidEudDQdBvdqTdqTdsadsadsadsadsadsadsadsadsadsadqTdqTdsaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadHndHndHndHVdHVdHVdHndHndHndHndHndHndHndHndHVdHVdHVdHndHndqTdBvdCidCidCidJodJYdJAdJZdKadJAdJAdJAdJAdMxdMydMEdMNeeKdKgdCidCidCidCidCidBvdBvdBvdqTdqTdqTdqTdqTdqTdqTdsadsadsadsadsadsadsadsadsadsadsadsadqTdqTdBvdBvdDQdCidCidCidCidCidCidCidCidCidCidCidCidCidCidCidBvdBvdqTdqTdqTdqTdqTdqTdIPdTwdJNdKidTxdKkdKldIPdIPdIPdIPdMvdIPdJRdKmdKmdMIdKmdJidCidCidCidCidCidCidCiaaaaaaaaaaaaaaaaaaaaaaaaaaadCidCidCidCidCidCidCidCidCidCidCidJUeijeijeijcsPdJVdCidKqdCidCidCidEudDQdBvdqTdqTdsadsadsadsadsadsadsadsadsadsadqTdqTdsaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadHndHndHVdHVdHVdHndHndHndHndHndHndHndHndHndHndHndHndHndqTdBvdCidCidCidJodKrdXNdXMdXPdMpdXMdXMdXQdMUdNJdNMdMVdhbdHGdCidCidCidCidCidCidCidBvdBvdBvdBvdqTdqTdqTdqTdqTdqTdsadsadsadsadsadsadsadsadsadqTdqTdBvdBvdCidJfdCidCidCidCidCidCidCidCidCidCidCidCidCidCidCidCidBvdBvdBvdBvdqTdqTdqTdIPdKwdJNdKxehHdKydXSehIehGdYpdZDdYcdIPdJRdKmdKDdMIdwIdJndCidCidCidCidCidCiaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadCidCidCidCidCidKFdKFdKGdKHdJUdYvdLedLeehJdJVdJVdJVdJVdCidCidCidCidBvdBvdqTdqTdsadsadsadsadsadsadsadsadsadqTdsaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadHndHndHndHndHndHndHndHndHndHndHndHndHndHndHndsadsadBvdBvdCidCidJodKMdJAdJAdJCdYAdJAdJAehKdJodJodJodJodJodJodIedHJdCidCidCidCidCidCidCidCidBvdBvdBvdqTdqTdqTdqTdqTdsadsadsadsadsadsadsadqTdqTdqTdBvdCidCidCidCidCidCidCidCidCidCidCidIedHJdCidCidCidCidCidCidCidCidCidBvdBvdqTdqTdIPdIPdIPdIPdIPdIPdIPdKSdYGdYFdKSdYGdIPdIPdIPdIPdwJdIPdIPdIPdKWdKXdCidCiaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadCidCidKYdKHeePdYJdYHdMRdMLdMLdMLdYQdANdLiehLdLkdHJdCidCidCidDPdBvdqTdqTdsadsadsadsadsadsadsadqTdqTdqTdsaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadHndHndHndHndHndHndHndHndHndHndHndsadsadqTdBvdCidCidJodLlehMdLmdKadYWdLodLpdJAdhfdhcdLsehNdLudLvdIkdIldIcdIcdIcdIcdIcdIbdCidCidCidCidBvdBvdBvdqTdqTdqTdqTdqTdsadsadsadqTdqTdqTdqTdBvdBvdCidCidIhdIcdIcdIcdIcdIcdIcdIcdIcdIkdIldIcdIcdIcdIcdIbdCidCidCidCidCidBvdqTdqTdqTdqTdqTdIPdLwdLxdLydKmdKmdMvdKmdKmdKzdRudwNdLCdMIdZadQodQodPIdLEdJxdJydLFdLGdLGdLGdLGdLGdLGdLGdLHdLHdLHdLHdLHdLHdLHdKGdLIdLJdLKdLadYZdYYdMTdMKdLNdLNdLPdLOdNZdPGeeQdLUdCidCidCidDPdBvdqTdqTdsadsadsadsadsadsadqTdqTdqTdsadsaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
@@ -12486,7 +12482,7 @@ aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadsadsadsadqTdBvdCidCidCidCidCidCidCidCidCidBvdBvdBvdqTdqTdqTdqTdqTdqTdqTdqTdBvdBvdBvdCidCidCidCidCidIadIbdCidCidIedHJdCidCidIhdIcdIcdIcdIcdIcdIidCidBvdqTdqTdqTdqTdsadsadsadqTdqTdBvdBvdBvdCidCidCidCidCidCidCidHEdHGdCidCidCidHSdCidCidCidCidIPdIPdIPdIPdIPdIPdOhdOidOjeaVdNHdIPdNheeXdNhdIPdCidCidCidCidCidCiaaaaaaaaeaaaaaaaaaaaedOadOadOadOadOaaaeaaadKYdKHdLaeaYeaXdKFdKFdKFdKFdKFdKFdOpdOqdKFdCidCidCidCidCidBvdqTdqTdsadsadsadqTdqTdqTdqTdsadsadsadsaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadsadsadsadsadBvdBvdBvdBvdCidCidCidCidBvdBvdBvdqTdqTdqTdqTdqTdqTdqTdqTdqTdqTdqTdqTdBvdBvdBvdCidHUdCidCidIadIcdIcdIkdIldIcdIcdIidCidCidCidCidCidCidCidBvdqTdqTdqTdsadsadsadsadsadqTdqTdqTdBvdBvdBvdBvdCidCidCidCidCidCidCidCidCidIadIcdIcdIbdCidCidCidCidCidCidIPdIPdIPdIPdIPdIPdIPdFpdOrdOsdOtdCidCidCidCidCiaaaaaaaaaaaeaaaaaaaaaaaedOadOadOadOadOadOudLIdOvdOwebaebddQbebcebbebiebhebgebfdOEdOqdKFdCidCidCidCidBvdBvdqTdqTdsadsadqTdqTdqTdqTdsadsadsadsadsaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadsadsadsadsadsadqTdBvdBvdBvdBvdBvdBvdqTdqTdqTdqTdqTdqTdqTdsadsadsadsadqTdqTdqTdqTdqTdBvdBvdDQdBvdCidCidCidCidHEdHGdCidCidCidCidHUdCidBvdBvdBvdBvdBvdqTdqTdsadsadsadsadsadsadsadqTdqTdqTdqTdqTdBvdBvdBvdBvdBvdBvdBvdBvdCidCidCidCidCidHSdCidCidCidCidCidCidCidCidHEdYwdOGdOGdOGdOGdOHdHGdCidCidCidCidCidCiaaeaaeaaeaaeaaeaaeaaeaaedOadOadOadOadOadxDdxmefaefbdLaeaYdLadLadLadOKdLadLaebjdOMdONdKFdCidCidCidCidBvdqTdqTdqTdsadsadqTdqTdqTdsadsadsadsadsaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadsadsadsadsadsadsadqTdqTdqTdqTdqTdqTdqTdqTdqTdsadsadsadsadsadsadsadsadsadqTdqTdqTdqTdqTdqTdBvdBvdCidCidCidCidCidCidCidCidCidDQdBvdBvdqTdqTdqTdqTdqTdsadsadsadsadsadsadsadsadqTdqTdqTdqTdqTdqTdqTdqTdqTdqTdqTdqTdBvdBvdCidCidCidCidHSdCidCidCidCidCidCidCidCidCidCidCidCidCidCidCidCidCidCidCidCidCidCidCiaaaaaaaaaaaaaaaaaaaaedOadOadOadOadOadKGdLIdOOeiHdLaeaYdLadLadLaebkdLadLadLadOTdOUdKFdCidCidCidIddDQdqTdqTdqTdsadqTdqTdqTdqTdsadsadsadsadsaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadsadsadsadsadsadsadqTdqTdqTdqTdqTdqTdqTdqTdqTdsadsadsadsadsadsadsadsadsadqTdqTdqTdqTdqTdqTdBvdBvdCidCidCidCidCidCidCidCidCidDQdBvdBvdqTdqTdqTdqTdqTdsadsadsadsadsadsadsadsadqTdqTdqTdqTdqTdqTdqTdqTdqTdqTdqTdqTdBvdBvdCidCidCidCidHSdCidCidCidCidCidCidCidCidCidCidCidCidCidCidCidCidCidCidCidCidCidCidCiaaaaaaaaaaaaaaaaaaaaedOadOadOadOadOadKGdLIdOOefEdLaeaYdLadLadLaebkdLadLadLadOTdOUdKFdCidCidCidIddDQdqTdqTdqTdsadqTdqTdqTdqTdsadsadsadsadsaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadsadsadsadsadqTdsadsadqTdqTdqTdqTdsadsadsadsadsadsadsadsadsadsadsadsadsadsadqTdqTdqTdqTdqTdqTdBvdBvdBvdCidCidCidBvdBvdBvdBvdBvdqTdqTdqTdqTdqTdsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadqTdqTdqTdqTdqTdBvdCidCidCidCidIadIcdIcdIcdIcdIcdIcdIcdIcdIcdIcdIcdIcdIcdIcdIcdIcdIcdIbdCidCidCidCidCidCiaaaaaaaaaaaaaaaaaedOadOadOadOadOaefcaaadNpdKHdyfeaYdLadLadLadOWdOzdLadLadOpdOXdKFdCidCidCidCidBvdqTdqTdqTdqTdqTdqTdqTdsadsadsadsadsadsaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadqTdqTdqTdqTdqTdqTdBvdBvdBvdBvdBvdqTdqTdqTdqTdqTdqTdqTdsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadqTdqTdqTdqTdqTdBvdBvdBvdCidCidCidCidCidCidCidCidCidCidCidCidCidCidCidCidCidCidCidCidHSdCidIedHJdCidCidCidGTdGTaaaaaaaaaaaedOadOadOadOadOaaaeaaaaaadOYdOYehUdQbdQbebfdPcdPddPedPfdOMdOqdKFdCidCidCidCidBvdqTdqTdqTdqTdsadqTdqTdsadsadsadsadsaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadqTdqTdqTdqTdqTdqTdqTdqTdqTdqTdqTdqTdqTdqTdqTdsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadqTdqTdqTdqTdqTdqTdBvdBvdBvdCidCidCidCidCidCidCidCidCidCidCidCidCidCidCidCidCidCidIadIcdIkdIldIcdIcdIcdPgdPheeIeeIeeIeeIeeIeeIeeIeeIeeIeeIeeIeeIdPjdPkdPldLadLadLadPmdPndPodPpdPqdPrdKFdCidCidBvdBvdBvdqTdqTdsadsadsadqTdsadsadsadsadsadsaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa