diff --git a/code/controllers/voting.dm b/code/controllers/voting.dm
index 9bb2197e6e8..d03aa546f92 100644
--- a/code/controllers/voting.dm
+++ b/code/controllers/voting.dm
@@ -119,8 +119,8 @@ datum/controller/vote
if(winners.len > 1)
if(mode != "gamemode" || ticker.hide_mode == 0) // Here we are making sure we don't announce potential game modes
text = "Vote Tied Between:\n"
- for(var/option in winners)
- text += "\t[option]\n"
+ for(var/option in winners)
+ text += "\t[option]\n"
. = pick(winners)
for(var/key in current_votes)
diff --git a/code/game/jobs/job/captain.dm b/code/game/jobs/job/captain.dm
index 38cb9d10be7..47bcef76158 100644
--- a/code/game/jobs/job/captain.dm
+++ b/code/game/jobs/job/captain.dm
@@ -35,6 +35,9 @@
L.imp_in = H
L.implanted = 1
world << "[H.real_name] is the captain!"
+ var/datum/organ/external/affected = H.organs_by_name["head"]
+ affected.implants += L
+ L.part = affected
return 1
get_access()
@@ -83,4 +86,4 @@
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)
- return 1
+ return 1
\ No newline at end of file
diff --git a/code/game/jobs/job/civilian.dm b/code/game/jobs/job/civilian.dm
index 8d9e0875dc9..ffd32b93721 100644
--- a/code/game/jobs/job/civilian.dm
+++ b/code/game/jobs/job/civilian.dm
@@ -360,6 +360,7 @@
var/obj/item/weapon/implant/loyalty/L = new/obj/item/weapon/implant/loyalty(H)
L.imp_in = H
L.implanted = 1
- return 1
-
-
+ var/datum/organ/external/affected = H.organs_by_name["head"]
+ affected.implants += L
+ L.part = affected
+ return 1
\ No newline at end of file
diff --git a/code/game/jobs/job/security.dm b/code/game/jobs/job/security.dm
index dd04b9cbac7..2a163fc2c8f 100644
--- a/code/game/jobs/job/security.dm
+++ b/code/game/jobs/job/security.dm
@@ -42,6 +42,9 @@
var/obj/item/weapon/implant/loyalty/L = new/obj/item/weapon/implant/loyalty(H)
L.imp_in = H
L.implanted = 1
+ var/datum/organ/external/affected = H.organs_by_name["head"]
+ affected.implants += L
+ L.part = affected
return 1
@@ -162,4 +165,4 @@
else
H.equip_to_slot_or_del(new /obj/item/weapon/storage/box/survival(H.back), slot_in_backpack)
H.equip_to_slot_or_del(new /obj/item/weapon/handcuffs(H), slot_in_backpack)
- return 1
+ return 1
\ No newline at end of file
diff --git a/code/game/machinery/doors/airlock.dm b/code/game/machinery/doors/airlock.dm
index 424e94eee07..f4ea117c397 100644
--- a/code/game/machinery/doors/airlock.dm
+++ b/code/game/machinery/doors/airlock.dm
@@ -1150,7 +1150,7 @@ About the new airlock wires panel:
if(src.isElectrified())
if(src.shock(user, 75))
return
- if(istype(C, /obj/item/device/detective_scanner))
+ if(istype(C, /obj/item/device/detective_scanner) || istype(C, /obj/item/taperoll))
return
src.add_fingerprint(user)
diff --git a/code/game/objects/items/devices/modkit.dm b/code/game/objects/items/devices/modkit.dm
new file mode 100644
index 00000000000..a7c221aa58f
--- /dev/null
+++ b/code/game/objects/items/devices/modkit.dm
@@ -0,0 +1,47 @@
+#define MODKIT_HELMET 1
+#define MODKIT_SUIT 2
+#define MODKIT_FULL 3
+
+/obj/item/device/modkit
+ name = "hardsuit modification kit"
+ desc = "A kit containing all the needed tools and parts to modify a hardsuit for another user."
+ icon_state = "modkit"
+ var/parts = MODKIT_FULL
+ var/from_helmet = /obj/item/clothing/head/helmet/space/rig
+ var/from_suit = /obj/item/clothing/suit/space/rig
+ var/to_helmet = /obj/item/clothing/head/cardborg
+ var/to_suit = /obj/item/clothing/suit/cardborg
+
+/obj/item/device/modkit/afterattack(obj/O, mob/user as mob)
+ var/flag
+ var/to_type
+ if(istype(O,from_helmet))
+ flag = MODKIT_HELMET
+ to_type = to_helmet
+ else if(istype(O,from_suit))
+ flag = MODKIT_SUIT
+ to_type = to_suit
+ else
+ return
+ if(!(parts & flag))
+ user << "This kit has no parts for this modification left."
+ return
+ if(istype(O,to_type))
+ user << "[O] is already modified."
+ return
+ if(!isturf(O.loc))
+ user << "[O] must be safely placed on the ground for modification."
+ return
+ playsound(user.loc, 'sound/items/Screwdriver.ogg', 100, 1)
+ var/N = new to_type(O.loc)
+ user.visible_message("\red [user] opens \the [src] and modifies \the [O] into \the [N].","\red You open \the [src] and modify \the [O] into \the [N].")
+ del(O)
+ parts &= ~flag
+ if(!parts)
+ del(src)
+
+/obj/item/device/modkit/tajaran
+ name = "tajara hardsuit modification kit"
+ desc = "A kit containing all the needed tools and parts to modify a hardsuit for another user. This one looks like it's meant for Tajara."
+ to_helmet = /obj/item/clothing/head/helmet/space/rig/tajara
+ to_suit = /obj/item/clothing/suit/space/rig/tajara
\ No newline at end of file
diff --git a/code/game/objects/items/weapons/stunbaton.dm b/code/game/objects/items/weapons/stunbaton.dm
index 5d6bd479c47..5637f47f983 100644
--- a/code/game/objects/items/weapons/stunbaton.dm
+++ b/code/game/objects/items/weapons/stunbaton.dm
@@ -98,6 +98,7 @@
add_fingerprint(user)
/obj/item/weapon/melee/baton/throw_impact(atom/hit_atom)
+ . = ..()
if (prob(50))
if(istype(hit_atom, /mob/living))
var/mob/living/carbon/human/H = hit_atom
@@ -116,9 +117,6 @@
H.attack_log += "\[[time_stamp()]\] Stunned by thrown [src.name] last touched by ([src.fingerprintslast])"
log_attack("Flying [src.name], last touched by ([src.fingerprintslast]) stunned [H.name] ([H.ckey])" )
- return
- return ..()
-
/obj/item/weapon/melee/baton/emp_act(severity)
switch(severity)
if(1)
diff --git a/code/modules/clothing/spacesuits/rig.dm b/code/modules/clothing/spacesuits/rig.dm
index b075d929167..b4e7318c138 100644
--- a/code/modules/clothing/spacesuits/rig.dm
+++ b/code/modules/clothing/spacesuits/rig.dm
@@ -1,33 +1,3 @@
-//Species modification item.
-
-/obj/item/weapon/modkit/tajaran
- name = "hardsuit modification kit"
- desc = "A kit containing all the needed tools and parts to modify a hardsuit for another species. This one looks like it's meant for Tajara."
- icon = 'icons/obj/custom_items.dmi'
- icon_state = "royce_kit"
-
-/obj/item/clothing/head/helmet/space/rig/attackby(obj/item/I as obj, mob/user as mob)
- if(istype(I,/obj/item/weapon/modkit/tajaran))
- user.drop_item()
- playsound(src.loc, 'sound/items/Screwdriver.ogg', 100, 1)
- user << "\red You painstakingly modify [src] to make it more suitable for a Tajaran user."
- new /obj/item/clothing/head/helmet/space/rig/tajara(user.loc)
- del(I)
- del(src)
- return
- ..()
-
-/obj/item/clothing/suit/space/rig/attackby(obj/item/I as obj, mob/user as mob)
- if(istype(I,/obj/item/weapon/modkit/tajaran))
- user.drop_item()
- playsound(src.loc, 'sound/items/Screwdriver.ogg', 100, 1)
- user << "\red You painstakingly modify [src] to make it more suitable for a Tajaran user."
- new /obj/item/clothing/suit/space/rig/tajara(user.loc)
- del(I)
- del(src)
- return
- ..()
-
//Regular rig suits
/obj/item/clothing/head/helmet/space/rig
name = "engineering hardsuit helmet"
diff --git a/code/modules/mob/living/carbon/human/life.dm b/code/modules/mob/living/carbon/human/life.dm
index b92bd7e7067..6ecc7b6dddf 100644
--- a/code/modules/mob/living/carbon/human/life.dm
+++ b/code/modules/mob/living/carbon/human/life.dm
@@ -202,7 +202,7 @@
if(getBrainLoss() >= 50)
if(10 <= rn && rn <= 12) if(!lying)
src << "\red Your legs won't respond properly, you fall down."
- lying = 1
+ resting = 1
proc/handle_stasis_bag()
// Handle side effects from stasis bag
diff --git a/code/modules/mob/living/silicon/say.dm b/code/modules/mob/living/silicon/say.dm
index 4dac67e8852..7c63628ced4 100644
--- a/code/modules/mob/living/silicon/say.dm
+++ b/code/modules/mob/living/silicon/say.dm
@@ -4,7 +4,7 @@
if (ending == "?")
return "queries, \"[text]\"";
else if (ending == "!")
- return "declares, \"[copytext(text, 1, length(text))]\"";
+ return "declares, \"[text]\"";
return "states, \"[text]\"";
diff --git a/code/modules/paperwork/stamps.dm b/code/modules/paperwork/stamps.dm
index 644eaf646b2..f7046974d97 100644
--- a/code/modules/paperwork/stamps.dm
+++ b/code/modules/paperwork/stamps.dm
@@ -42,7 +42,7 @@
/obj/item/weapon/stamp/cmo
name = "chief medical officer's rubber stamp"
icon_state = "stamp-cmo"
- color = "medical"
+ color = "cmo"
/obj/item/weapon/stamp/denied
name = "\improper DENIED rubber stamp"
diff --git a/code/modules/recycling/sortingmachinery.dm b/code/modules/recycling/sortingmachinery.dm
index 7f3dea0f7a4..9c7bc060297 100755
--- a/code/modules/recycling/sortingmachinery.dm
+++ b/code/modules/recycling/sortingmachinery.dm
@@ -157,7 +157,7 @@
/obj/item/device/destTagger
name = "destination tagger"
desc = "Used to set the destination of properly wrapped packages."
- icon_state = "forensic0"
+ icon_state = "forensic0-old"
var/currTag = 0
//The whole system for the sorttype var is determined based on the order of this list,
//disposals must always be 1, since anything that's untagged will automatically go to disposals, or sorttype = 1 --Superxpdude
diff --git a/icons/obj/device.dmi b/icons/obj/device.dmi
index 003bf5c9f10..271b96484f2 100644
Binary files a/icons/obj/device.dmi and b/icons/obj/device.dmi differ
diff --git a/maps/tgstation2.dmm b/maps/tgstation2.dmm
index b9974f6a5b3..ec829aa1987 100644
--- a/maps/tgstation2.dmm
+++ b/maps/tgstation2.dmm
@@ -6195,7 +6195,7 @@
"cpg" = (/obj/structure/cable,/obj/machinery/power/tracker,/turf/simulated/floor/plating/airless,/area/solar/starboard)
"cph" = (/turf/space,/area/vox_station/southwest_solars)
"cpi" = (/obj/machinery/the_singularitygen{anchored = 0},/turf/simulated/floor/plating,/area/engine/engineering)
-"cpj" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0},/obj/structure/table/reinforced,/obj/machinery/cell_charger,/obj/item/weapon/cell/high{charge = 100; maxcharge = 15000},/obj/item/weapon/cell/high{charge = 100; maxcharge = 15000},/obj/item/weapon/cable_coil{pixel_x = 3; pixel_y = -7},/obj/item/weapon/cable_coil{pixel_x = 3; pixel_y = -7},/obj/item/weapon/modkit/tajaran,/turf/simulated/floor{dir = 8; icon_state = "warning"},/area/ai_monitored/storage/eva)
+"cpj" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0},/obj/structure/table/reinforced,/obj/machinery/cell_charger,/obj/item/weapon/cell/high{charge = 100; maxcharge = 15000},/obj/item/weapon/cell/high{charge = 100; maxcharge = 15000},/obj/item/weapon/cable_coil{pixel_x = 3; pixel_y = -7},/obj/item/weapon/cable_coil{pixel_x = 3; pixel_y = -7},/obj/item/device/modkit/tajaran,/turf/simulated/floor{dir = 8; icon_state = "warning"},/area/ai_monitored/storage/eva)
"cpk" = (/obj/machinery/portable_atmospherics/canister/toxins,/turf/simulated/floor/plating,/area/engine/engineering)
"cpl" = (/obj/machinery/power/emitter,/turf/simulated/floor/plating,/area/engine/engineering)
"cpm" = (/obj/machinery/atmospherics/portables_connector,/obj/machinery/portable_atmospherics/canister/air,/turf/simulated/floor{dir = 2; icon_state = "warning"},/area/engine/engineering)
@@ -9184,7 +9184,7 @@
"duF" = (/obj/structure/rack,/obj/item/clothing/suit/bio_suit/anomaly,/obj/item/clothing/head/bio_hood/anomaly,/obj/item/clothing/mask/breath,/obj/machinery/light/small{dir = 4},/obj/item/clothing/glasses/science,/obj/item/clothing/gloves/latex,/obj/machinery/camera{c_tag = "Research Outpost Hallway Starboard"; dir = 8; network = list("Research","SS13")},/turf/simulated/floor{icon_state = "delivery"; name = "floor"},/area/research_outpost/hallway)
"duG" = (/obj/machinery/atmospherics/pipe/simple{color = "red"; icon_state = "intact-r-f"; level = 1; name = "pipe"},/obj/machinery/firealarm{dir = 8; pixel_x = -24},/turf/simulated/floor{icon_state = "white"},/area/research_outpost/hallway)
"duH" = (/obj/machinery/atmospherics/pipe/simple{color = "blue"; icon_state = "intact-b-f"; level = 1; name = "pipe"},/obj/machinery/light{icon_state = "tube1"; dir = 4},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0},/turf/simulated/floor{dir = 4; icon_state = "whitebluecorner"},/area/research_outpost/hallway)
-"duI" = (/obj/machinery/door/airlock/research{name = "Anomalous Materials"; req_access_txt = "65"},/obj/machinery/door/firedoor/border_only{dir = 1; layer = 2.6; name = "Firelock North"},/obj/machinery/door/firedoor/border_only{layer = 2.6; name = "\improper Firelock South"},/turf/simulated/floor{icon_state = "white"},/area/research_outpost/anomaly)
+"duI" = (/obj/machinery/door/airlock/research{name = "Anomalous Materials"; req_access_txt = "65"},/obj/machinery/door/firedoor/border_only{dir = 1; layer = 2.6; name = "Firelock North"},/obj/machinery/door/firedoor/border_only{layer = 2.6; name = "\improper Firelock South"},/obj/structure/disposalpipe/segment,/turf/simulated/floor{icon_state = "white"},/area/research_outpost/anomaly)
"duJ" = (/obj/structure/window/reinforced{dir = 1},/obj/machinery/power/emitter{anchored = 1; state = 2},/obj/structure/cable,/turf/simulated/floor/plating{dir = 5; icon_state = "warnplate"; nitrogen = 0.01; oxygen = 0.01},/area/research_outpost/anomaly)
"duK" = (/obj/structure/window/reinforced{dir = 1},/obj/machinery/atmospherics/pipe/simple/heat_exchanging/junction,/turf/simulated/floor{dir = 4; icon_state = "whitered"},/area/research_outpost/anomaly)
"duL" = (/obj/machinery/door/window/westleft{dir = 1; name = "Spectroscopy"; req_access_txt = "65"},/turf/simulated/floor{icon_state = "white"},/area/research_outpost/anomaly)
@@ -10171,7 +10171,8 @@
"dNE" = (/obj/structure/window/basic{dir = 1},/obj/structure/table,/obj/item/broken_device,/turf/simulated/shuttle/floor4,/area/shuttle/vox/station)
"dNF" = (/obj/machinery/embedded_controller/radio/airlock_controller{airpump_tag = "vox_east_vent"; exterior_door_tag = "vox_northeast_lock"; frequency = 1331; id_tag = "vox_east_control"; interior_door_tag = "vox_southeast_lock"; pixel_x = -24; req_access_txt = "150"; sensor_tag = "vox_east_sensor"},/turf/simulated/shuttle/plating,/area/shuttle/vox/station)
"dNG" = (/obj/item/clothing/head/collectable/petehat{desc = "It smells faintly of reptile."; name = "fancy leader hat"},/turf/simulated/shuttle/floor{icon_state = "floor4"; oxygen = 0},/area/shuttle/vox/station)
-"dNH" = (/obj/structure/closet/crate,/obj/item/stack/sheet/metal{amount = 50},/obj/item/stack/rods{amount = 50},/obj/item/stack/sheet/glass{amount = 50},/obj/item/weapon/airlock_electronics,/obj/item/weapon/airlock_electronics,/obj/item/weapon/cell/high{charge = 100; maxcharge = 15000},/obj/item/weapon/modkit/tajaran,/turf/simulated/floor/plating,/area/engine/engineering)
+"dNH" = (/obj/structure/closet/crate,/obj/item/stack/sheet/metal{amount = 50},/obj/item/stack/rods{amount = 50},/obj/item/stack/sheet/glass{amount = 50},/obj/item/weapon/airlock_electronics,/obj/item/weapon/airlock_electronics,/obj/item/weapon/cell/high{charge = 100; maxcharge = 15000},/turf/simulated/floor/plating,/area/engine/engineering)
+"dNI" = (/obj/structure/disposalpipe/segment,/turf/simulated/wall/r_wall,/area/research_outpost/anomaly)
(1,1,1) = {"
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
@@ -11256,7 +11257,7 @@ aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadoedoedoedoedoedoedoedoedoedoedoedoedoedoedoedoedpkdoedoedoedoedoedoedpkdpkdoedoedoedoedpkdpkdpkdpkdoedpkdpkdpkdpkdpkdpkdpkdpkdpkdpkdpkdpkdpkdpkdoeaaaaaaaaaaaaaaaaaaaaaaaaaaadoSdpDdpndpEdpFdpGdpHdpIdpJdoTdpKdpKdpKdpKdpLdpvdpMdpNdpOdpddpddpddpddpPdpQdpRdpRdpRdpRdpRdBAdzTdAKaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadofdofdofdofdofdofdofdofdofdofdofdofdofdofdofdofdofaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadpVdpWdpVaaaaaaaaaaaaaaadoedoedoedoedoedoedoedoedoedoedoedoedoedoedoedoedoedoedoedoedoedoedpkdoedoedoedpkdpkdoedpkdpkdpkdoedoedpkdpkdpkdpkdpkdpkdpkdpkdpkdpkdpkdpkdpkdpkdoedpkaaaaaaaaaaaaaaaaaaaaaaaadoSdoTdpXdpYdpYdpZdqadqbdqcdqddqedqfdqgdqhdqidqjdqkdqldqmdpddqndqodpddqpdqqdqrdqsdqtdqudqvdqwdqxdzkaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadofdofdofdofdofdofdofdofdofdofdofdofdofdofdofdofdofaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadqzdqAdqzaafaaaaaaaaadoedoedoedoedoedoedoedoedoedoedoedoedpkdpkdpkdpkdpkdpkdoedoedoedoedoedoedoedpkdpkdpkdpkdpkdoedoedoedpkdpkdpkdpkdpkdpkdpkdpkdpkdpkdpkdpkdpkdpkdpkdpkdpkdpkaaaaaaaaaaaaaaaaaaaaaaaadoSdoTdpXdqBdqBdpZdqadqCdqDdoTdqEdqedqFdqGdqHdqIdqJdqKdqLdqMdqNdqOdqPdqQdqRdpRdqSdqTdqUdqVdqWdqXdzkaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadofdofdofdofdofdofdofdofdofdofdofdofdofdofdofdofdofaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadqYdqZdradrbaafaaaaaadoedoedoedoedoedoedoedpkdoedoedpkdpkdpkdpkdpkdpkdpkdpkdpkdpkdpkdpkdpkdpkdpkdpkdpkdpkdpkdpkdpkdpkdpkdpkdpkdpkdpkdpkdpkdpkdpkdpkdpkdpkdpkdpkdpkdpkdpkdpkdpkaaaaaaaaaaaaaaaaaaaaadogdrcdpDdrddpEdredrfdrgdrhdridoTdrjdqFdrkdrldrmdrndrndrndrodrndrndrndrndrpdrqdpRdrrdqTdrsdrtdrudqxdzkaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadofdofdofdofdofdofdofdofdofdofdofdofdofdofdofdofdofaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadqYdqZdradrbaafaaaaaadoedoedoedoedoedoedoedpkdoedoedpkdpkdpkdpkdpkdpkdpkdpkdpkdpkdpkdpkdpkdpkdpkdpkdpkdpkdpkdpkdpkdpkdpkdpkdpkdpkdpkdpkdpkdpkdpkdpkdpkdpkdpkdpkdpkdpkdpkdpkdpkaaaaaaaaaaaaaaaaaaaaadogdrcdpDdrddpEdredrfdrgdrhdridoTdrjdqFdrkdrldrmdrndNIdrndrodrndrndrndrndrpdrqdpRdrrdqTdrsdrtdrudqxdzkaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadofdofdofdofdofdofdofdofdofdofdofdofdofdofdofdofdofaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadrvdrwdrwdrxdrydrzdqzaafaaaaaadoedoedoedoedpkdpkdpkdoedoedpkdpkdpkdpkdpkdpkdpkdpkdpkdpkdpkdpkdpkdpkdpkdpkdpkdpkdpkdpkdpkdpkdpkdpkdpkdpkdpkdpkdpkdpkdpkdpkdpkdpkdpkdpkdpkdpkdpkdpkdpkdpkdpkaafdrAdrBdoCdoCdoCdrCdrDdoTdrEdrFdrGdpodrHdrIdrJdoTdrKdrLdrMdrNdrOdrPdrQdrRdrSdrTdrUdrVdrndrWdrXdpRdrYdrZdsadrtdpRdCRdDwaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadofdofdofdofdofdofdofdofdofdofdofdofdofdofdofdofdofaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadsddsedsfdsgdshdsidsjaafaafdpkdpkdoedoedpkdpkdpkdpkdpkdpkdpkdpkdpkdpkdpkdpkdpkdpkdpkdpkdpkdpkdpkdpkdpkdpkdpkdpkdpkdpkdpkdpkdpkdpkdpkdpkdpkdpkdpkdpkdpkdpkdpkdpkdpkdpkdpkdpkdpkdpkdskdskdskaafdsldrDaafaafaafaafaafdoTdoTdoTdoTdoTdoTdsmdsndoTdpKdpKdsodspdsqdrndsrdssdrSdstdsudsvdrndswdsxdsydszdsAdsBdsCdpRdsDdsEaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadofdofdofdofdofaaadofdofdofdofdofaaadofdofdofdofdofaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadsFdrwdrwdsGdsHdrzdsIdpkdpkdpkdpkdpkdpkdpkdpkdpkdpkdpkdpkdpkdpkdpkdpkdpkdpkdpkdpkdpkdpkdpkdpkdpkdpkdpkdpkdpkdpkdpkdpkdpkdpkdpkdpkdpkdpkdpkdpkdpkdpkdpkdpkdpkdpkdpkdpkdpkdpkdpkdskdskdskaaaaaadoSdsJdsJdsJdsJdsJdsJdsJdpddsKdoOdsLdsMdsNdsOdsPdsQdsRdsSdsTdsUdrndsVdsWdsXdsYdsZdtadtbdtcdtddtedtedtedtfdtgdthdtidtjdtjdtkaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadofdofdofdofdofaaadofdofdofdofdofaaadofdofdofdofdofaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa