From aaeb5fdf285dd802434f0789254cba937e128962 Mon Sep 17 00:00:00 2001 From: Pooble <90473506+poobsie@users.noreply.github.com> Date: Sun, 22 Mar 2026 18:08:25 -0400 Subject: [PATCH] Skin Masquerade: Epidermal Applicator, Lifelike Quirk, and the Skinmonger Implant (#31185) * adds the epidermal applicator, lifelike quirk, and skinmonger traitor implant * lint * lint * attack chain fix * more linty fixes * more lint * fix some buggy bugs, synthetic skinned body parts recolor to their host * make emp on skinmonger work, fix a skinmonger bug * make bruising / denting examine text not betray the masquerade * burn away synthetic skin with acid * comment / code structure / description tweaks * i sell pharmaceuticals and pharmaceutical accessories * code review comments * oops * god damn it * god damn it (x2) * Update code/modules/surgery/organs/augments_internal.dm Co-authored-by: 1080pCat <96908085+1080pCat@users.noreply.github.com> Signed-off-by: Pooble <90473506+poobsie@users.noreply.github.com> * lower syndi level for implant * Update code/modules/research/designs/medical_designs.dm Co-authored-by: JimKil3 <47290811+JimKil3@users.noreply.github.com> Signed-off-by: Pooble <90473506+poobsie@users.noreply.github.com> * Update code/game/objects/items/tools/epidermal_applicator.dm Co-authored-by: JimKil3 <47290811+JimKil3@users.noreply.github.com> Signed-off-by: Pooble <90473506+poobsie@users.noreply.github.com> * Update code/modules/surgery/organs/organ_external.dm Co-authored-by: JimKil3 <47290811+JimKil3@users.noreply.github.com> Signed-off-by: Pooble <90473506+poobsie@users.noreply.github.com> * Update code/modules/surgery/organs/organ_external.dm Co-authored-by: JimKil3 <47290811+JimKil3@users.noreply.github.com> Signed-off-by: Pooble <90473506+poobsie@users.noreply.github.com> * tweaks for review * Update code/__DEFINES/dcs/datum_signals.dm Co-authored-by: PollardTheDragon <144391971+PollardTheDragon@users.noreply.github.com> Signed-off-by: Pooble <90473506+poobsie@users.noreply.github.com> --------- Signed-off-by: Pooble <90473506+poobsie@users.noreply.github.com> Co-authored-by: 1080pCat <96908085+1080pCat@users.noreply.github.com> Co-authored-by: JimKil3 <47290811+JimKil3@users.noreply.github.com> Co-authored-by: PollardTheDragon <144391971+PollardTheDragon@users.noreply.github.com> --- code/__DEFINES/dcs/datum_signals.dm | 2 + code/datums/uplink_items/uplink_traitor.dm | 10 + .../items/tools/epidermal_applicator.dm | 209 ++++++++++++++++++ code/modules/client/preference/character.dm | 3 + .../preference/quirks/positive_quirks.dm | 44 ++++ .../mob/living/carbon/human/human_defense.dm | 5 + .../mob/living/carbon/human/human_defines.dm | 2 + .../mob/living/carbon/human/human_examine.dm | 66 +++++- .../living/carbon/human/human_update_icons.dm | 2 + .../reagents/chemistry/reagents/toxins.dm | 10 + .../research/designs/medical_designs.dm | 10 + .../surgery/organs/augments_internal.dm | 176 +++++++++++++++ code/modules/surgery/organs/autosurgeon.dm | 40 ++++ code/modules/surgery/organs/organ_external.dm | 81 ++++++- code/modules/surgery/organs/organ_icon.dm | 10 +- code/modules/surgery/robotics.dm | 16 +- icons/obj/surgery.dmi | Bin 45415 -> 43660 bytes paradise.dme | 1 + 18 files changed, 679 insertions(+), 8 deletions(-) create mode 100644 code/game/objects/items/tools/epidermal_applicator.dm diff --git a/code/__DEFINES/dcs/datum_signals.dm b/code/__DEFINES/dcs/datum_signals.dm index c1ca2c4701a..6151c8bd003 100644 --- a/code/__DEFINES/dcs/datum_signals.dm +++ b/code/__DEFINES/dcs/datum_signals.dm @@ -29,6 +29,8 @@ #define COMSIG_BODY_TRANSFER_TO "body_transfer_to" ///called when the mind is initialized (called every time the mob logins) #define COMSIG_MIND_INITIALIZE "mind_initialize" +/// called when character creation robotic limbs are applied +#define COMSIG_HUMAN_ROBOTIC_LIMBS_APPLIED "human_robotic_limbs_applied" // Sent from a surgery step when blood is being splashed. (datum/surgery, mob/user, mob/target, zone, obj/item/tool) #define COMSIG_SURGERY_BLOOD_SPLASH "surgery_blood_splash" diff --git a/code/datums/uplink_items/uplink_traitor.dm b/code/datums/uplink_items/uplink_traitor.dm index 58cbb8bde10..e2e8df793c6 100644 --- a/code/datums/uplink_items/uplink_traitor.dm +++ b/code/datums/uplink_items/uplink_traitor.dm @@ -663,6 +663,16 @@ cost = 40 excludefrom = list(UPLINK_TYPE_NUCLEAR, UPLINK_TYPE_SST) //No, nukies do not get to dodge bullets. +/datum/uplink_item/species_restricted/skinmonger + name = "Skinmonger Autoimplanter" + desc = "A strange implant that continuously fabricates synthetic epidermis, covering up prosthetics. \ + When implanted, the Skinmonger will bond to its host, first covering every limb in synthetic skin, then replacing destroyed skin periodically. \ + IPCs can use this implant to disguise themselves as human. However, it will not cover monitor-shaped heads." + reference = "SKINMON" + item = /obj/item/autosurgeon/organ/syndicate/oneuse/skinmonger + cost = 10 + species = list("Machine") + /datum/uplink_item/badass/syndiecards name = "Syndicate Playing Cards" desc = "A special deck of space-grade playing cards with a mono-molecular edge and metal reinforcement, making them lethal weapons both when wielded as a blade and when thrown. \ diff --git a/code/game/objects/items/tools/epidermal_applicator.dm b/code/game/objects/items/tools/epidermal_applicator.dm new file mode 100644 index 00000000000..f1a95bf5d5a --- /dev/null +++ b/code/game/objects/items/tools/epidermal_applicator.dm @@ -0,0 +1,209 @@ +/obj/item/epidermal_applicator + name = "epidermal applicator" + desc = "A pen-shaped device developed by Zeng-Hu Pharmaceuticals and used to apply synthetic skin to prosthetic limbs." + icon = 'icons/obj/surgery.dmi' + icon_state = "skin_applicator" + origin_tech = "biotech=5;materials=3;engineering=4" + new_attack_chain = TRUE + + /// Current amount of metal stored in the applicator + var/metal_stored = 0 + /// Maximum metal that can be stored + var/max_metal_stored = 5 + /// Metal required per application + var/metal_per_use = 5 + + var/applying = FALSE + +/obj/item/epidermal_applicator/Initialize(mapload) + . = ..() + // Start with empty storage + metal_stored = 0 + +/obj/item/epidermal_applicator/examine(mob/user) + . = ..() + + if(metal_stored >= metal_per_use) + . += SPAN_NOTICE("It is loaded and ready to apply an epidermal layer to a body part.") + else + . += SPAN_NOTICE("It needs [metal_per_use - metal_stored] more metal sheets.") + +/obj/item/epidermal_applicator/proc/is_insertion_ready(mob/user) + if(!user) + return FALSE + return TRUE + +/obj/item/epidermal_applicator/item_interaction(mob/living/user, obj/item/used, list/modifiers) + if(!istype(used, /obj/item/stack/sheet/metal)) + return NONE + + var/space_left = max_metal_stored - metal_stored + if(space_left <= 0) + to_chat(user, SPAN_NOTICE("[src] is already full!")) + return ITEM_INTERACT_COMPLETE + + var/obj/item/stack/sheet/metal/M = used + var/to_load = min(space_left, M.amount) + M.use(to_load) + metal_stored += to_load + + to_chat(user, SPAN_NOTICE("You load [to_load] sheet\s of metal into [src].")) + return ITEM_INTERACT_COMPLETE + +/obj/item/epidermal_applicator/activate_self(mob/user) + . = ..() + attack(user, user, null) + +/obj/item/epidermal_applicator/attack(mob/living/M, mob/living/user, params) + . = ..(M, user, params) + if(.) + return . + + if(!ishuman(M)) + return + + var/def_zone = user.zone_selected + if(!def_zone) + to_chat(user, SPAN_WARNING("You need to select a body part first!")) + return TRUE + + var/mob/living/carbon/human/target = M + var/obj/item/organ/external/affected = target.get_organ(def_zone) + + if(!affected) + to_chat(user, SPAN_WARNING("[target] doesn't have a [parse_zone(def_zone)]!")) + return TRUE + + // Show these identically so it can't be used to test whether a limb is synthetic or not. + if(!affected.is_robotic() || affected.has_synthetic_skin) + to_chat(user, SPAN_WARNING("The [affected.name] doesn't need skin.")) + return TRUE + + // Do not put skin on a monitor. No. + if(ismachineperson(target) && def_zone == BODY_ZONE_HEAD && affected.model) + var/datum/robolimb/R = GLOB.all_robolimbs[affected.model] + if(R && R.is_monitor) + to_chat(user, SPAN_WARNING("The applicator fails to find purchase on your big cube head. Probably for the best.")) + return TRUE + + // Check if we have enough metal + if(metal_stored < metal_per_use) + to_chat(user, SPAN_WARNING("[src] needs [metal_per_use] metal to function.")) + return TRUE + + if(applying) + to_chat(user, SPAN_WARNING("[src] is already in use!")) + return TRUE + + // Start application process + apply_synthetic_skin(target, affected, user, def_zone) + return TRUE + +/obj/item/epidermal_applicator/proc/apply_synthetic_skin(mob/living/carbon/human/target, obj/item/organ/external/affected, mob/living/user, def_zone) + applying = TRUE + + var/chosen_identity = "Unknown" // Default identity + + // Ask for identity choice if applying to head + if(def_zone == BODY_ZONE_HEAD) + var/list/identity_choices = list("Unknown") + var/list/choice_map = list("Unknown" = "Unknown") + + // Add real name option + if(target.dna?.real_name) + var/real_name_choice = "[target.dna.real_name]" + identity_choices += real_name_choice + choice_map[real_name_choice] = target.dna.real_name + + // Check for offhand ID + var/obj/item/offhand_item = user.get_inactive_hand() + var/offhand_id_name = null + if(istype(offhand_item, /obj/item/card/id)) + var/obj/item/card/id/id_card = offhand_item + offhand_id_name = id_card.registered_name + else if(is_pda(offhand_item)) + var/obj/item/pda/pda = offhand_item + offhand_id_name = pda.owner + + // Add ID name option if found + if(offhand_id_name && offhand_id_name != "") + var/id_name_choice = "[offhand_id_name]" + identity_choices += id_name_choice + choice_map[id_name_choice] = offhand_id_name + + // Present choice to user + var/chosen_identity_option = tgui_input_list(user, "Choose facial identity:", "Identity Selection", identity_choices) + if(!chosen_identity_option) + applying = FALSE + return // Cancel if no choice made + + chosen_identity = choice_map[chosen_identity_option] + + user.visible_message( + SPAN_NOTICE("[user] begins applying synthetic skin to [target == user ? "their" : "[target]'s"] [affected.name] with [src]."), + SPAN_NOTICE("You begin applying synthetic skin to [target == user ? "your" : "[target]'s"] [affected.name]...") + ) + + // Play start sound + playsound(get_turf(src), 'sound/effects/spray.ogg', 50, TRUE) + + // 10 second do-after + if(do_after(user, 10 SECONDS, target = target)) + // Play end sound + playsound(get_turf(src), 'sound/effects/spray3.ogg', 50, TRUE) + + // Consume metal + metal_stored -= metal_per_use + + // Apply synthetic skin + affected.has_synthetic_skin = TRUE + + // Apply owner skin color to synthetic skin + if(ishuman(target)) + affected.synthetic_skin_colour = target.skin_colour + + // Set identity if applying to head (we already got the choice above) + if(def_zone == BODY_ZONE_HEAD) + affected.synthetic_skin_identity = chosen_identity + if(ishuman(target)) + target.real_name = chosen_identity + + // Clear force_icon so it unsticks from the robotic sprites + affected.force_icon = null + + // Apply to connected torso parts as well + if(def_zone == BODY_ZONE_CHEST) + var/obj/item/organ/external/groin_limb = target.bodyparts_by_name["groin"] + if(groin_limb && groin_limb.is_robotic() && !groin_limb.has_synthetic_skin) + groin_limb.has_synthetic_skin = TRUE + groin_limb.synthetic_skin_colour = target.skin_colour + groin_limb.force_icon = null + groin_limb.mob_icon = null + groin_limb.compile_icon() + + if(def_zone == BODY_ZONE_PRECISE_GROIN) + var/obj/item/organ/external/chest_limb = target.bodyparts_by_name["chest"] + if(chest_limb && chest_limb.is_robotic() && !chest_limb.has_synthetic_skin) + chest_limb.has_synthetic_skin = TRUE + chest_limb.synthetic_skin_colour = target.skin_colour + chest_limb.force_icon = null + chest_limb.mob_icon = null + chest_limb.compile_icon() + + // Force the organ to completely regenerate its mob_icon + affected.mob_icon = null + affected.compile_icon() + + // Force complete body rebuild to bypass icon cache + target.update_body(rebuild_base = TRUE) + target.UpdateDamageIcon() + + user.visible_message( + SPAN_NOTICE("[user] applies synthetic skin to [target == user ? "their" : "[target]'s"] [affected.name]."), + SPAN_NOTICE("You apply synthetic skin to [target == user ? "your" : "[target]'s"] [affected.name].") + ) + + if(target != user) + to_chat(target, SPAN_NOTICE("You feel a thin layer of synthetic skin form over your [affected.name].")) + + applying = FALSE diff --git a/code/modules/client/preference/character.dm b/code/modules/client/preference/character.dm index 3f24f1b8a88..79d1b0584ac 100644 --- a/code/modules/client/preference/character.dm +++ b/code/modules/client/preference/character.dm @@ -1964,6 +1964,9 @@ if(status == "cybernetic") I.robotize() + // Send signal that robotic limbs have been applied + SEND_SIGNAL(character, COMSIG_HUMAN_ROBOTIC_LIMBS_APPLIED) + character.dna.blood_type = b_type // Wheelchair necessary? diff --git a/code/modules/client/preference/quirks/positive_quirks.dm b/code/modules/client/preference/quirks/positive_quirks.dm index ac1893b7615..edcc2f51516 100644 --- a/code/modules/client/preference/quirks/positive_quirks.dm +++ b/code/modules/client/preference/quirks/positive_quirks.dm @@ -36,6 +36,50 @@ trait_to_apply = TRAIT_GLUTTON species_flags = QUIRK_MACHINE_INCOMPATIBLE +/datum/quirk/lifelike + name = "Lifelike" + desc = "Your prosthetic limbs have been fitted with a synthetic epidermis, making them appear natural. \ + For IPCs, this covers all body parts, making them look human (except monitor-shaped heads). \ + For all others, it covers prosthetic limbs." + cost = 4 + +/datum/quirk/lifelike/apply_quirk_effects(mob/living/carbon/human/target, character) + . = ..(target, character) + // Apply synthetic skin after robotic limbs are applied or the quirk doesn't work very well + RegisterSignal(target, COMSIG_HUMAN_ROBOTIC_LIMBS_APPLIED, PROC_REF(apply_synthetic_skin_on_signal)) + +/datum/quirk/lifelike/proc/apply_synthetic_skin_on_signal(mob/living/carbon/human/target) + SIGNAL_HANDLER // COMSIG_HUMAN_ROBOTIC_LIMBS_APPLIED + + for(var/obj/item/organ/external/limb as anything in target.bodyparts) + if(!limb) + continue + + // Skip monitor heads + if(limb.limb_name == "head" && limb.model) + var/datum/robolimb/R = GLOB.all_robolimbs[limb.model] + if(R && R.is_monitor) + continue + + if(ismachineperson(target) || limb.is_robotic()) + limb.has_synthetic_skin = TRUE + // Apply owner's skin color to synthetic skin + limb.synthetic_skin_colour = target.skin_colour + // Set real identity for head + if(limb.limb_name == "head") + limb.synthetic_skin_identity = target.dna.real_name + // Clear cached limb icon because otherwise it's sticky + limb.force_icon = null + // Force mob icon regeneration + limb.mob_icon = null + limb.compile_icon() + + // Now rebuild appearance + target.update_body(rebuild_base = TRUE) + + // Unregister the signal since we're done with it + UnregisterSignal(target, COMSIG_HUMAN_ROBOTIC_LIMBS_APPLIED) + /obj/item/storage/box/papersack/prepped_meal name = "packed meal" var/list/entree_options = list( diff --git a/code/modules/mob/living/carbon/human/human_defense.dm b/code/modules/mob/living/carbon/human/human_defense.dm index 3070f33a27d..f8d85668010 100644 --- a/code/modules/mob/living/carbon/human/human_defense.dm +++ b/code/modules/mob/living/carbon/human/human_defense.dm @@ -409,6 +409,11 @@ emp_act update_hair() update_fhair() + if(affecting.has_synthetic_skin) + visible_message(SPAN_WARNING("The synthetic skin on [src]'s [affecting.name] bubbles and melts away."), \ + SPAN_WARNING("The synthetic skin on your [affecting.name] bubbles and melts away.")) + affecting.remove_synthetic_skin(TRUE) + UpdateDamageIcon() //MELTING INVENTORY ITEMS// diff --git a/code/modules/mob/living/carbon/human/human_defines.dm b/code/modules/mob/living/carbon/human/human_defines.dm index 4b3e790f906..6ef19c1b14f 100644 --- a/code/modules/mob/living/carbon/human/human_defines.dm +++ b/code/modules/mob/living/carbon/human/human_defines.dm @@ -116,6 +116,8 @@ var/list/quirks = list() /// The cooldown for jumping into a closet or crate COOLDOWN_DECLARE(skittish_cooldown) + /// Cache whether or not an IPC appears human during examine to avoid needless recalculation + var/ipc_masquerade_status /mob/living/carbon/human/fake flags = ABSTRACT diff --git a/code/modules/mob/living/carbon/human/human_examine.dm b/code/modules/mob/living/carbon/human/human_examine.dm index c027ca61f31..f25a8e4af18 100644 --- a/code/modules/mob/living/carbon/human/human_examine.dm +++ b/code/modules/mob/living/carbon/human/human_examine.dm @@ -53,6 +53,12 @@ if(C.species_disguise) displayed_species = C.species_disguise break + + // If an IPC's covered in synthetic skin, they can appear human. + if(calculate_ipc_masquerade_status()) + displayed_species = "Human" + examine_color = "#d1aa2e" + if(skip_jumpsuit && skip_face || HAS_TRAIT(src, TRAIT_NOEXAMINE)) //either obscured or on the nospecies list msg += "!" //omit the species when examining else @@ -122,7 +128,7 @@ continue if(!ismachineperson(src)) - if(E.is_robotic()) + if(E.is_robotic() && !E.has_synthetic_skin) wound_flavor_text["[E.limb_name]"] = "[p_they(TRUE)] [p_have()] a robotic [E.name]!\n" else if(E.status & ORGAN_SPLINTED) @@ -256,5 +262,61 @@ return msg +/mob/living/carbon/human/proc/calculate_ipc_masquerade_status() + if(!ismachineperson(src)) + return FALSE + + var/all_visible_parts_have_skin = TRUE + + for(var/obj/item/organ/external/limb as anything in bodyparts) + if(!limb || !limb.is_robotic()) + continue + + // If it's covered by clothing then it doesn't need to have skin for the masquerade + if(is_bodypart_covered_by_clothing(limb.limb_name)) + continue + + if(!limb.has_synthetic_skin) + return FALSE + + return all_visible_parts_have_skin + /mob/living/carbon/human/examine_get_brute_message() - return !ismachineperson(src) ? "bruising" : "denting" + if(!ismachineperson(src) || calculate_ipc_masquerade_status()) + return "bruising" + + return "denting" + +/// Checks if a body part is covered by clothing +/mob/living/carbon/human/proc/is_bodypart_covered_by_clothing(part_name) + var/bodypart_clothing_bitflag = bodypart_name_to_clothing_bitflag(part_name) + if(!bodypart_clothing_bitflag) + return FALSE + + // Masks + if(bodypart_clothing_bitflag & HEAD) + var/obj/item/clothing/mask/current_mask = wear_mask + if(istype(current_mask) && (current_mask.body_parts_covered & bodypart_clothing_bitflag)) + return TRUE + + // Jumpsuit/uniform + var/chest_groin_arms_legs_bitflag = ARMS | LEGS | UPPER_TORSO | LOWER_TORSO + if(bodypart_clothing_bitflag & chest_groin_arms_legs_bitflag) + if(w_uniform && (w_uniform.body_parts_covered & bodypart_clothing_bitflag)) + return TRUE + if(wear_suit && (wear_suit.body_parts_covered & bodypart_clothing_bitflag)) + return TRUE + + // Gloves + if(bodypart_clothing_bitflag & HANDS) + var/obj/item/clothing/gloves/current_gloves = gloves + if(istype(current_gloves) && (current_gloves.body_parts_covered & bodypart_clothing_bitflag)) + return TRUE + + // Shoes + if(bodypart_clothing_bitflag & FEET) + var/obj/item/clothing/shoes/current_shoes = shoes + if(istype(current_shoes) && (current_shoes.body_parts_covered & bodypart_clothing_bitflag)) + return TRUE + + return FALSE diff --git a/code/modules/mob/living/carbon/human/human_update_icons.dm b/code/modules/mob/living/carbon/human/human_update_icons.dm index e92b634c4a6..9ade814065c 100644 --- a/code/modules/mob/living/carbon/human/human_update_icons.dm +++ b/code/modules/mob/living/carbon/human/human_update_icons.dm @@ -198,6 +198,8 @@ GLOBAL_LIST_EMPTY(damage_icon_parts) base_icon = chest.get_icon(skeleton) for(var/obj/item/organ/external/part in bodyparts) + part.sync_colour_to_human(src) + // We just drew the chest, don't draw it twice. if(part == chest) continue diff --git a/code/modules/reagents/chemistry/reagents/toxins.dm b/code/modules/reagents/chemistry/reagents/toxins.dm index bbf3027b0b5..5c9a1de0470 100644 --- a/code/modules/reagents/chemistry/reagents/toxins.dm +++ b/code/modules/reagents/chemistry/reagents/toxins.dm @@ -348,6 +348,16 @@ if(istype(affecting)) affecting.disfigure() + var/was_skin_removed = FALSE + for(var/obj/item/organ/external/limb in H.bodyparts) + if(limb.has_synthetic_skin) + was_skin_removed = TRUE + limb.remove_synthetic_skin(TRUE) + + if(was_skin_removed) + H.visible_message("The synthetic skin on [H]'s body bubbles and melts away.", \ + "The synthetic skin on your body bubbles and melts away.") + /datum/reagent/acid/reaction_obj(obj/O, volume) if(ismob(O.loc)) //handled in human acid_act() return diff --git a/code/modules/research/designs/medical_designs.dm b/code/modules/research/designs/medical_designs.dm index abac1db0661..26deabf73d6 100644 --- a/code/modules/research/designs/medical_designs.dm +++ b/code/modules/research/designs/medical_designs.dm @@ -71,6 +71,16 @@ build_path = /obj/item/reagent_containers/applicator category = list("Medical") +/datum/design/epidermal_applicator + name = "Epidermal Applicator" + desc = "A pen-shaped device developed by Zeng-Hu Pharmaceuticals and used to apply synthetic skin to prosthetic limbs." + id = "epidermal_applicator" + req_tech = list("biotech" = 5, "materials" = 6, "engineering" = 4) + build_type = PROTOLATHE + materials = list(MAT_METAL = 2000, MAT_GLASS = 1000, MAT_SILVER = 500) + build_path = /obj/item/epidermal_applicator + category = list("Medical") + /datum/design/handheld_defib name = "Handheld Defibrillator" desc = "A smaller defibrillator only capable of treating cardiac arrest." diff --git a/code/modules/surgery/organs/augments_internal.dm b/code/modules/surgery/organs/augments_internal.dm index 878e225907f..03c6b6f0031 100644 --- a/code/modules/surgery/organs/augments_internal.dm +++ b/code/modules/surgery/organs/augments_internal.dm @@ -1094,6 +1094,182 @@ REMOVE_TRAIT(M, TRAIT_IPC_CAN_EAT, "ipc_food[UID()]") return ..() +/obj/item/organ/internal/cyberimp/chest/skinmonger + name = "\improper Skinmonger" + desc = "A strange implant that continuously produces and replaces synthetic skin. \ + Will not apply skin to a monitor-shaped head." + implant_color = "#FFDDAA" + slot = "chest_synthetic_skin" + w_class = WEIGHT_CLASS_TINY + origin_tech = "materials=6;biotech=7;syndicate=1" + augment_icon = "nutripump" + /// Whether regeneration is allowed. This is disabled temporarily by an EMP + var/regeneration_active = TRUE + /// How long to wait after finding a target body part to replace skin on + var/regen_cooldown = 30 SECONDS + /// Whether we're currently regenerating + var/regenerating = FALSE + /// Normally synthetic skin doesn't have memory of the identity we're disguised as. This implant does, though + var/configured_identity = "Unknown" + /// Flag for tracking if we've used up the implant's initial deployment of skin + var/initial_surge_used = FALSE + +/obj/item/organ/internal/cyberimp/chest/skinmonger/insert(mob/living/carbon/M, special = 0) + . = ..() + + if(!initial_surge_used) + apply_full_synthetic_skin(M) + to_chat(M, SPAN_WARNING("In an instant, a surge of skin wraps around you and binds itself to your body!")) + playsound(M, 'sound/surgery/organ2.ogg', 70, TRUE, frequency = 0.8) + initial_surge_used = TRUE + +/obj/item/organ/internal/cyberimp/chest/skinmonger/remove(mob/living/carbon/M, special = 0) + . = ..() + regenerating = FALSE + remove_all_synthetic_skin(M) + +// Called when synthetic skin is removed from any part - starts regeneration cycle +/obj/item/organ/internal/cyberimp/chest/skinmonger/proc/start_regeneration() + if(!regeneration_active || regenerating) + return + + regenerating = TRUE + // Wait before we trigger the first regen. + addtimer(CALLBACK(src, PROC_REF(regenerate_next_part)), regen_cooldown) + +/obj/item/organ/internal/cyberimp/chest/skinmonger/proc/regenerate_next_part() + if(!owner || !regeneration_active || !regenerating) + return + + var/mob/living/carbon/human/H = owner + var/list/unskinned_parts = list() + + // Find all robotic parts without synthetic skin. + for(var/obj/item/organ/external/E in H.bodyparts) + if(!E.is_robotic() || E.has_synthetic_skin) + continue + + // Skip monitor heads + if(E.limb_name == "head" && E.model) + var/datum/robolimb/R = GLOB.all_robolimbs[E.model] + if(R && R.is_monitor) + continue + + unskinned_parts += E + + // If no parts need skin, kill the regen cycle + if(!length(unskinned_parts)) + regenerating = FALSE + return + + // Pick a random part and apply skin + var/obj/item/organ/external/chosen_part = pick(unskinned_parts) + chosen_part.has_synthetic_skin = TRUE + // Apply owner's skin color to synthetic skin + if(ishuman(H)) + chosen_part.synthetic_skin_colour = H.skin_colour + // Set identity for head regeneration + if(chosen_part.limb_name == "head") + var/identity_to_use = configured_identity + chosen_part.synthetic_skin_identity = identity_to_use + if(ishuman(H)) + H.real_name = identity_to_use + + // Chest and lower body tied together for regeneration + if(chosen_part.limb_name == "chest") + var/obj/item/organ/external/groin_limb = H.bodyparts_by_name["groin"] + if(groin_limb && groin_limb.is_robotic() && !groin_limb.has_synthetic_skin) + groin_limb.has_synthetic_skin = TRUE + groin_limb.synthetic_skin_colour = H.skin_colour + groin_limb.force_icon = null + groin_limb.mob_icon = null + groin_limb.compile_icon() + + if(chosen_part.limb_name == "groin") + var/obj/item/organ/external/chest_limb = H.bodyparts_by_name["chest"] + if(chest_limb && chest_limb.is_robotic() && !chest_limb.has_synthetic_skin) + chest_limb.has_synthetic_skin = TRUE + chest_limb.synthetic_skin_colour = H.skin_colour + chest_limb.force_icon = null + chest_limb.mob_icon = null + chest_limb.compile_icon() + + // Refresh sprite + chosen_part.force_icon = null + chosen_part.mob_icon = null + chosen_part.compile_icon() + H.update_body(rebuild_base = TRUE) + + to_chat(H, SPAN_NOTICE("You feel a wave of synthetic skin gush forth and bind to your [chosen_part.name].")) + + // Schedule next regeneration if more parts need skin. Otherwise, we're done + if(length(unskinned_parts) > 1) + addtimer(CALLBACK(src, PROC_REF(regenerate_next_part)), regen_cooldown) + else + regenerating = FALSE + +// One-time application of skin across the entire chassis when the implant is inserted. +/obj/item/organ/internal/cyberimp/chest/skinmonger/proc/apply_full_synthetic_skin(mob/living/carbon/human/target) + if(!ishuman(target)) + return + + var/mob/living/carbon/human/H = target + var/head_skinned = FALSE + for(var/obj/item/organ/external/E in H.bodyparts) + if(!E.is_robotic() || E.has_synthetic_skin) + continue + + // Skip monitor heads + if(E.limb_name == "head" && E.model) + var/datum/robolimb/R = GLOB.all_robolimbs[E.model] + if(R && R.is_monitor) + continue + + E.has_synthetic_skin = TRUE + // Apply owner's skin color to synthetic skin + E.synthetic_skin_colour = H.skin_colour + // Set configured identity for head + if(E.limb_name == "head") + E.synthetic_skin_identity = configured_identity + head_skinned = TRUE + // Clear sprite cache + E.force_icon = null + E.mob_icon = null + E.compile_icon() + + // Apply facial identity if head was skinned + if(head_skinned) + H.real_name = configured_identity + + H.update_body(rebuild_base = TRUE) + +/obj/item/organ/internal/cyberimp/chest/skinmonger/proc/remove_all_synthetic_skin(mob/living/carbon/human/target) + if(!ishuman(target)) + return + + var/mob/living/carbon/human/H = target + for(var/obj/item/organ/external/E in H.bodyparts) + if(E.is_robotic() && E.has_synthetic_skin) + E.remove_synthetic_skin(silent = TRUE) // silent because it spams the user otherwise + + to_chat(H, SPAN_WARNING("You feel your synthetic skin melt away.")) + H.update_body(rebuild_base = TRUE) + +// EMP wipes all synthetic skin and puts the implant on cooldown +/obj/item/organ/internal/cyberimp/chest/skinmonger/emp_act(severity) + . = ..() + + regenerating = FALSE + regeneration_active = FALSE + remove_all_synthetic_skin(owner) + + addtimer(CALLBACK(src, PROC_REF(restart_regeneration)), regen_cooldown) + +/obj/item/organ/internal/cyberimp/chest/skinmonger/proc/restart_regeneration() + if(owner) + regeneration_active = TRUE + start_regeneration() + //BOX O' IMPLANTS /obj/item/storage/box/cyber_implants diff --git a/code/modules/surgery/organs/autosurgeon.dm b/code/modules/surgery/organs/autosurgeon.dm index c702c1c632f..a35d3abceec 100644 --- a/code/modules/surgery/organs/autosurgeon.dm +++ b/code/modules/surgery/organs/autosurgeon.dm @@ -190,4 +190,44 @@ /obj/item/autosurgeon/organ/syndicate/oneuse/syndie_mantis/l starting_organ = /obj/item/organ/internal/cyberimp/arm/syndie_mantis/l +/obj/item/autosurgeon/organ/syndicate/oneuse/skinmonger + starting_organ = /obj/item/organ/internal/cyberimp/chest/skinmonger + +/obj/item/autosurgeon/organ/syndicate/oneuse/skinmonger/attack_self__legacy__attackchain(mob/user) + if(!storedorgan) + return ..() + + // Configure identity before implantation... + var/obj/item/organ/internal/cyberimp/chest/skinmonger/implant = storedorgan + + // Check if they have a monitor head + var/has_monitor_head = FALSE + if(ishuman(user)) + var/mob/living/carbon/human/H = user + var/obj/item/organ/external/head/head_organ = H.bodyparts_by_name["head"] + if(head_organ?.model) + var/datum/robolimb/R = GLOB.all_robolimbs[head_organ.model] + if(R?.is_monitor) + has_monitor_head = TRUE + to_chat(user, SPAN_WARNING("The Skinmonger is confused by your freakishly large head, but attempts to disguise you anyway.")) + + // Only ask for identity if they're a machine person and don't have a monitor head + if(ismachineperson(user) && !has_monitor_head) + if(!implant.configured_identity || implant.configured_identity == "Unknown") + var/chosen_name = tgui_input_text(user, "The Skinmonger generously offers to turn you into someone else. But who?", default = "Unknown", max_length = MAX_NAME_LEN) + if(!chosen_name) + return + + // Allow to appear as "Unknown" (default value) + if(chosen_name != "Unknown") + chosen_name = reject_bad_name(chosen_name, max_length = MAX_NAME_LEN) + if(!chosen_name) + to_chat(user, SPAN_WARNING("The implanter quietly hisses, rejecting your choice.")) + return + + implant.configured_identity = chosen_name + + // ... then implant + return ..() + #undef INFINITE diff --git a/code/modules/surgery/organs/organ_external.dm b/code/modules/surgery/organs/organ_external.dm index 28c408ab219..e51c162c1d6 100644 --- a/code/modules/surgery/organs/organ_external.dm +++ b/code/modules/surgery/organs/organ_external.dm @@ -64,6 +64,12 @@ var/fragile = FALSE ///The level of false skin used to cover robotic organs on the limb. Updated when too damaged, when installed, or when an organ with it is installed. var/augmented_skin_cover_level = 0 + /// Whether this robotic limb has synthetic skin applied + var/has_synthetic_skin = FALSE + /// Stored facial identity for synthetic skin (head only) + var/synthetic_skin_identity = null + /// Stored skin color for synthetic skin + var/synthetic_skin_colour = null // When the limb is not on a person, make sure it faces south so it's always visible. /obj/item/organ/external/setDir() @@ -317,6 +323,10 @@ droplimb(1) //Clean loss, just drop the limb and be done var/mob/living/carbon/owner_old = owner //Need to update health, but need a reference in case the below check cuts off a limb. + + // Check if synthetic skin should be removed from damage + check_synthetic_skin_damage() + //If limb took enough damage, try to cut or tear it off if(owner) if(sharp && !(limb_flags & CANNOT_DISMEMBER)) @@ -578,7 +588,68 @@ Note that amputating the affected organ does in fact remove the infection from t if((brute_dam >= max_damage * (augmented_skin_cover_level / 3) && brute) || (burn_dam >= max_damage * (augmented_skin_cover_level / 3) && burn)) // 66% for level 2, 100% for level 3 break_augmented_skin() -// new damage icon system +/obj/item/organ/external/proc/check_synthetic_skin_damage() + if(!has_synthetic_skin || !is_robotic()) + return + + var/damage_percentage = (brute_dam + burn_dam) / max_damage + if(damage_percentage >= 0.8) + remove_synthetic_skin() + + // Upper body and lower body are tied together + check_connected_limb_skin_damage() + +// Chest and lower body are tied together with synthetic skin. +/obj/item/organ/external/proc/check_connected_limb_skin_damage() + if(!owner || !has_synthetic_skin) + return + + if(limb_name == "chest") + var/damage_percentage = (brute_dam + burn_dam) / max_damage + if(damage_percentage >= 0.8) + var/obj/item/organ/external/groin_limb = owner.bodyparts_by_name["groin"] + if(groin_limb?.has_synthetic_skin) + groin_limb.remove_synthetic_skin() + + if(limb_name == "groin") + var/damage_percentage = (brute_dam + burn_dam) / max_damage + if(damage_percentage >= 0.8) + var/obj/item/organ/external/chest_limb = owner.bodyparts_by_name["chest"] + if(chest_limb?.has_synthetic_skin) + chest_limb.remove_synthetic_skin() + +/obj/item/organ/external/proc/remove_synthetic_skin(silent = FALSE) + if(!has_synthetic_skin) + return + + has_synthetic_skin = FALSE + + // Restore original identity if this is a head + if(limb_name == "head" && owner && ishuman(owner)) + var/mob/living/carbon/human/H = owner + synthetic_skin_identity = null + H.real_name = H.dna.real_name + + // Restore original robotic appearance + if(model) + var/datum/robolimb/R = GLOB.all_robolimbs[model] + if(R) + force_icon = R.icon + + if(ishuman(owner)) + var/mob/living/carbon/human/H = owner + if(!silent) + to_chat(H, SPAN_WARNING("The synthetic skin on your [name] is destroyed!")) + // Force the sprite to update + mob_icon = null + compile_icon() + H.update_body(rebuild_base = TRUE) + H.UpdateDamageIcon() + + var/obj/item/organ/internal/cyberimp/chest/skinmonger/regen = H.get_int_organ(/obj/item/organ/internal/cyberimp/chest/skinmonger) + if(regen) + regen.start_regeneration() + // returns just the brute/burn damage code /obj/item/organ/external/proc/damage_state_text() var/tburn = 0 @@ -627,6 +698,14 @@ Note that amputating the affected organ does in fact remove the infection from t if(limb_flags & CANNOT_DISMEMBER || !owner) return + // Loose limbs should not have any synthetic skin + if(has_synthetic_skin) + remove_synthetic_skin() + if(children) + for(var/obj/item/organ/external/child in children) + if(child.has_synthetic_skin) + child.remove_synthetic_skin() + if(HAS_TRAIT(owner, TRAIT_I_WANT_BRAINS) && !clean) fracture() return diff --git a/code/modules/surgery/organs/organ_icon.dm b/code/modules/surgery/organs/organ_icon.dm index 9b3c239993e..ea38be15d0f 100644 --- a/code/modules/surgery/organs/organ_icon.dm +++ b/code/modules/surgery/organs/organ_icon.dm @@ -23,6 +23,10 @@ /obj/item/organ/external/proc/sync_colour_to_human(mob/living/carbon/human/H) if(is_robotic() && !istype(dna.species, /datum/species/machine)) //machine people get skin color + // For robotic parts with synthetic skin, use stored synthetic skin color + if(has_synthetic_skin && synthetic_skin_colour) + s_col = synthetic_skin_colour + s_tone = null return if(dna.species && H.dna.species && dna.species.name != H.dna.species.name) return @@ -67,7 +71,7 @@ var/icon_file = new_icons[1] var/new_icon_state = new_icons[2] mob_icon = new /icon(icon_file, new_icon_state) - if(!skeletal && !is_robotic()) + if(!skeletal && (!is_robotic() || (is_robotic() && has_synthetic_skin))) if(status & ORGAN_DEAD) mob_icon.ColorTone(COLORTONE_DEAD_EXT_ORGAN) mob_icon.SetIntensity(0.7) @@ -169,8 +173,10 @@ if(skeletal) icon_file = 'icons/mob/human_races/r_skeleton.dmi' - else if(is_robotic()) + else if(is_robotic() && !has_synthetic_skin) icon_file = 'icons/mob/human_races/robotic.dmi' + else if(has_synthetic_skin && dna.species && istype(dna.species, /datum/species/machine)) + icon_file = 'icons/mob/human_races/r_human.dmi' else // Congratulations, you are normal icon_file = icobase diff --git a/code/modules/surgery/robotics.dm b/code/modules/surgery/robotics.dm index 031db43d3ce..202582115b1 100644 --- a/code/modules/surgery/robotics.dm +++ b/code/modules/surgery/robotics.dm @@ -787,11 +787,21 @@ var/new_gender = gender_list[gender_key] var/old_name = target.real_name - target.real_name = new_name + var/identity_type = "core identity parameters" + + // Prioritize replacing a synthetic skin identity over the IPC's actual identity + var/obj/item/organ/external/head = target.bodyparts_by_name["head"] + if(head && head.has_synthetic_skin) + head.synthetic_skin_identity = new_name + target.real_name = new_name + identity_type = "synthetic facial identity" + else + target.real_name = new_name + target.gender = new_gender user.visible_message( - SPAN_NOTICE("[user] edits [old_name]'s identity parameters with [tool]; [target.p_they()] [target.p_are()] now known as [new_name]."), - SPAN_NOTICE("You alter [old_name]'s identity parameters with [tool]; [target.p_they()] [target.p_are()] now known as [new_name]."), + SPAN_NOTICE("[user] edits [old_name]'s [identity_type] with [tool]; [target.p_they()] [target.p_are()] now known as [new_name]."), + SPAN_NOTICE("You alter [old_name]'s [identity_type] with [tool]; [target.p_they()] [target.p_are()] now known as [new_name]."), chat_message_type = MESSAGE_TYPE_COMBAT ) diff --git a/icons/obj/surgery.dmi b/icons/obj/surgery.dmi index ab8c24ac077f48788b9c365da704d3c8530fa2f4..6ebcf6beff022f923515bd8a383345f5c9bb935e 100644 GIT binary patch literal 43660 zcma&N1ymeCw>3HhhY*4XcMBo7YjAgW3GVK0!2`iba0n9IbqE^V-QC?~n7{e%FHi1U z>n&E#G}YbJRi{qvI(yfdNF@bHG!z095D0`OEhVM`0>N|wM-CDKP$DqVNDl(R5qqm? zxr&*&m^xcIx>`BdgFv1?e`$@xEpfjUq*cVI)AUK;wu%-wHk&Y+=)T2)TQIS;`#SJ_ zJN;{RN75AgXne#q*$1*w-vYW9Un+>x&0S+a2UN=sa`$uz?>jzP@uG9`qQ!()snd%< z+R*Df5m=Gw>5rr=(OF6QbuLK#@!q&uX%X?+s#fo~-FD*{0#kglx*mW-ujE~F5{}4_ zR@HV{Ls{(@EF4VmU2xYPyhm~3vW^=7PpNo+AGfMYlCg#ne8z=9niRpO?h z$jxhSrPP^3>T6PA5dVi2)@s*(h*}9lA2(yO@}X_sZmDg&FZ^_qgL1_W&g!+=7E4Ea zrJ`Ss{(LZzL%2V^C#StKRhaAI3EQV26dCR`4o6*amsmv3KP&eo)!}AGtW=OuM+=qu zRc)#F_LuD2x&?Fb1bKQRQk%MR@zPs~klcLcPE**94(l8Se#>W$5FwInEas<-D=+CrL@ zjB?3aY?!(ekgeVWl+dN<#fiw^m`^Gc!P(~*NQCc5Vx-~ncr}RwIiC`D%HJZkoIK*n zBfs5L{P$1f9V3M#r3k}8l8fM>Oa@Uv3C%Ha{}bl?aY}`V0gHA`#za!tz{mMmLaBs} zHPLP}E!SOB&d+D*9Tt}STOSA}FkHc@G7V`iTAFWQ2S3P2ydep$Wo5NI!%XtmKzj0k zXVK5x=&!lEouuB^>Ek~$s^QYJ5xM<`<{EJMK7rON%SPWjM?R_2Rf0_Fk5^TsRe6(l z#|IyMFFQ+U(x`|58xg*@A+0k8%AU7>;Al(}hN{<9I2X^zN7bl zzG{aAWWTl3M)3&zfM0G=8PC0JrDIX5*|^7U^GAFx?1yl7xmnuyZ7yr~z1&>$nQ4aH zfldn<{*a>KWVD*)q+G)19>;(XKc0~~_Q?kw9T>^a3@aP(0_I*1;H%1vYE1+yoRJ)A zbDy3%oSG9yW;hr-JS!IMQva&7fH_HwJ~!DZ(S0g~lt~S=t)z)fnm6m*mH3VLsPv3B z(d8mjgGv%UP`<5$;thm2C?NfB%Tq*JP8-GM+ zvMToRDIu;O$dn(tojAh%)QlCsTaL$K_>tG*9d8uD_lFPkPJctnooYlebZgB%w`VYR zj)bFTr8?lbQu~ca9>u9MS#1h>_hm*H&U420=`mmIZjktYN2trI;Um5AynYgcnEF{Cb-=)62nR(kgn14r52`o2A4!p|ts&Wm}$jRu3H z+X;*}bHH)Fb+{B?c`yQ1oG&BEiJYYp1A&S@N{f9_^ISas<)MW=_t-BKQcS1yrPN6D zOO<$)@m~W|TV;nR8Uw5!nLTQ%Z8W=mmQgHR54~xGE|n}3Y36w})}L5D-Ug$=!&Hy^ zV0?iIyLvKBH%rY6GipO41a`JAfN0%jm zJI25ylla60G{_@fs*U0+T(Q%1t#2(3(@96u0>)vvES85D!}_+`(3T1Y<~F(Z8eP9AnsZ$RwtuD81G)|AMiq##Gk@Oj@P zg8ao!Aj!d9BKEkMe@D7RNE~*&6w`&}*8-GF%O{rGAS2odr`+07kd_jr5`B!EKW`W# zvK+wio3@hscV+)pJrc*k{(a`c=<`HF|90)Mu~(^V)}*m>4mz{+Rss@}1SDDH%F!T4 z7TBSmbrPTAk*88{W{_}Dzp_Liik~aY;!lgr3z~&c+#JPq6u65APJ)KWEjReFa|QyR zEI*8+twmUnCpsHlnWIFZNU!+l&CwuiH!fY>2KhW#|5$AueFZ{D)Qth8mPVlq`p_>j5V4d8`slk!Ij!@zkVDh4ZUkq6}ozm#WUf1{Xu_p`ui z&7NlE47v&pEOzi4vRvKDd|^JQt{ix()ClkwXJ+`qANEku>Y$5`5$|Q!#dpq@6>xHr z=;h>-)KU}=e+}c$It~WsglXSUhBIQOYgRhZ9Aa8H&|GMpW?-(^oP&2&#n}4IW3IvR zzcKTA2ahDryjy1j&cB27Gd1sL??UgI0yOS3`Jh*I9dd0`Egp7K2)nT3%dM?>g%2g_ zS(=pwJBKr6?02UXVx%jyIZeEE+H5^Fieap0;^L~X*c4jl7ObgEP=&tf@}K8?Uw%jI zQn=gW#5hhaza7cV_P=LGF!B zz!br5=weaehH!2H6N(d|01``>P6#~X@FSI;>UASK-2`VUGGx0xvhkPUZ%8Kflf%0T z{wBE|u|B7v3KG8fU*;S2LPINav^D-Zhtx%0KKx<>cO~uHA1m^m}d# zb*R0X>-_wjS({MX>*vp>nx?u<-3o*DK|iQ(mg<>b-#{}{beU!)>(`Nw;#gMpP6Ao0KfrV#%F!WQ39XSfNp%;cNZg-2mosZWpi0cih_cE zWiuW0X2YY%RFf_|cmxSZd$bE=qZ5+bW;U@J%c0+%@(ry!K{j+aDYznp7s_kV+k4IBCj>~^!x?rybkkzb zAer|2e|&K{F1nYT9*d%9B@y7~zy1ZrNo|l3C+>zWUk6FoQpwg@b%k_|yJm3Mm|r&n z=O&vDU^;>VKZ10lbg>U1JC+j&#a!8Ulty7#A&5eKJ40ZXhs(2jctkeObJIt!jEuD> z3|}`JBA-1UCkj8>=kypuN9JSCF{(#HstAUNibBWQ;_nf2zWw=l!D;8uz981Ph}R;- ztn9H+(wA;Zn_1`D;%_lq7W8x<3v!CTAqem)E2)LLp*y&rE|}KrTXdz7^hk)0iwy+Y zEC45<_0>W?3W3;pmzH2hqp^2?K9JDKRYPxlJg0IZ@ZcL!VsC}E=Cv>FSMvPPnQBi0 z#P`dDNxhLk0Vi$o{hPOR;qa$`dCfVpGm0whLz)wn2bTgE>+{3g85OeldVN^<9zHep zJdb*h;qCdp&?n}Ze0zFi2RRvL?=n5n_K-Z$!V53vT2}nt&G@te1!gDF(p9!|8R^Vf znV^q^p?GofL&>hH_tLab_fFBD$LUNW4>|O56(6HyicY}YLjLZ{7x_JjqjVO^QmZ>2 z@-u#T_J^aL^e}OIiy*{Ju+!rlmax_2YLz>1b0v-;BZOWgpV>Di1pQNHJ0$;GcMDhI z>d50v>hu7K;O?B_&J}JpEKCb1n2mIySvqSYY^IVl>{^+U6{@U{CUlCts6)WE(A0qi z&I&AwRJFcaCql-URuOLkOP@%c1%BAmid3I$n596Nu9(&IRwBU_1Zo#dC2s_Bo#wuc zp?v<>qrd%tKpgtgieEzi_=@AhI1elK(0VHBosT^5@Xtwjc|v`^mpUktyfu2hQkh!J z1a{?RE+cgan{05f_M(}f)`F@os(=3t^7d#)Q*47qT!J53cH?PRp`t#zwjV=_Ac5RMo1W+M`1$7&~Gb2396P=u= zu#@WPY(>h0Wx@TZpzQGTYCvFS-Zvn8a2BQDSPR(70Ohtm1l+>}hs4T_AH!F}SJ!p$ zU>Sa@hqhLPUN(06R}~g$3@pxuC)uRWPdf-d-^kUVUhNYYNc}4pTk%UE7Cy9@>K!G$ zW9EAD_+e{m#l{vBRns+wG~+v{JD1ec)01SS%YUyazTpO~yx&TXXTUpq!a+W9PNAN%qiI@0*Vq zb$2jNw1RXk?k7>kDZi~9!=*oy$B(?m8B>zKt;MWA&=1C)dte|ZXWcpOt>&3w@wEs{ zCoi}0cbRTBxkC`v&IF1M#P2I>a|ijNDBi{dDr7Z;8VD+`%H!D{(oT-H69e6-cZSMZ zzrhwqA}@H59{%E4MnuziHY$q&e&fi)5+~;rGMsm`{p}4wL0o~)ImM>xR`Q+@`ul+} z9trg#%XzdfLluZ>dHO00R}91_20%b$?lF(c!CP+4SMW)=^lx{F4{ECfXPt-B?(vRg z=zDWEkSMOF56apoW3&Gj@5%C#6VGkUKpxn~7)p)lA|5n)ld+!t*!-rd;6Mtdip=MC zZ^grY{*zdyUA0DO`ilXPJw(UD;2bWYnfp&x{z{48Ra)fbWQWascf>s{#-;xxdkbt6JuB4)O6~jis9j$y59o2(ksJp!+a1~){$#f$ntczWx6Ts_|FXl zMk`zSX8}weF9inr1s(YFkDchDkdfKEr?V?l`*b_zy9=gvv=nY=_>xh{k>U!1tN~O| zXm|6*iPQ@!3;PFh|D2}#5**LihDMsH$an0}VAl9o?y=N8-L9(hh0w0Me^=nntYO3S z%FySv3Y)dWCx<39gZ8fvsy1kjr_0S|2-XH2zFxoN?o0N~x%SYMRyosT!FeKMdXG4E zAv|~BHaq4<{{y?K&<^Ui#ci(@7|so5M>TwzX{?Cdy&Gm5+Xo{eBDx&Uv+R!kVmORK z7JNE_d2?fJWAGW^X125<6Na1!aY#=_`@$`iL2Q-pJ>zmIAzTiL0hO9tiehP1_oxZ zW~2R11s(<_#ebR8O~Lr@L%Usut z##@Upfk`2xZ`S9bZjj5i(CD9wkP4F~197!F`-3(0xhWBFv<1yxo(|dn9A2=A-_c>( zT37#GLc;@QW7`qN-HjD!vqNwsDGz2nw5kqyG>t_xozJ6!+voO^&)uo|shY*l1u>5t z0`5iQv-MJ_o(STiTN;_I9$!+1A<0gq&3!98JD=W|Jj@(2=MUzWs@hxalh|;d> z;8uQ!$iz*kiVs|mDw6G#1FtAe(J^HFpM6++epHVGO*QDz?C8*N-VnYI5cp9sdLk_| zO1`a;ryX;)-0ae*Un!gV+1$Z1`PHQL9-oxD_s=wp$>F&!rRdxG7Pe(w-K^0Es=%xC z@{1rpKff?*-;IrpMt#lyJXmKvBa>zPIv1Dya4i>8hV&F-x@SjIuEGugEOSPgT*!7u zIm|72DCzUq8BCUetTnsr?N1g)^LM|_QxL)PQS&KMaH*Tm1@4hP8ZbH z-hMDyh$cF@hD{da)tTXWNY!SEkx;h2$=H!g%i3m zU@AkHa$-7;aGti(;{}H$^GMqL&JOjCs{pzK0mkQTYPq zH&!>dwk~~fIrym1ZI;Z^S&dbM>Lx|v;=;p^SDlb3%r1U|o~ zV|wnW!AfhYQ?vw&r-xu}Ztmc(KGfc~Oy++M7XRzzhI2P(&3KzB_EUuXo>ljj=SB!; zqp25dukSB*Q_oR);A}6gsGOXf5U;DUQ!uy3#ix&?5#UUIu=`(j+ns7m90T8u_%;7T0Dys)ehMCb^B=#wbd#bf z(x+AA=WA%3AC-o*l)u)4>qojSxdt^jeU@%-Ni#z%^k11x1*(t6&l!tv2Cx`6o75#1 z&(}7KSj}z7HYEK9_<+BTZTKtlc*qIdC|%AaTwleYzwdR!I`)p>kifqov}40V_Mq(Q zQwi{f(g;H^`DV|C0In>_)z#G$IeKMe7w1-{P z27dQJ&U2A1j?%Rud&QW%|1(@qk))PkxTpbHaAtwvkGG! z7wfD{X8&j(FE{_NnktGcP0OjrEje2XSO^3#QY0dymd#PJ|%e3-Pkm~>K#{r+#|@)WSNjzS#dN6m%-(Zt3CH4 zsm0vi9}@nps*1S=;m}%xKe>V8aNK$%PIUCbzpG--c*i{3(&3&%s>z(pVmWBzp+kByWri$dTz%P#s+S=NG48aB^lTyrgXnwK)+JeY-)+0dNw*mTK6@xBug%f{G z7QIS}OU%!cy=*^Rlo^@z8n4ev!SpwU{_1G!FTuDH=3hT!(UpS>zt9BsUXL_Gt#i*- zn(>^Rl0TeY!+d zTzwe5(;HYIC~6}sa;(=aBicjCUR;ogE$57btDH`hto^-Q*EMAzQa0|AL zwibh4Q2+trL7IEkNDBU()f_dk-n6%?&L;b4Fz;x&WAvl@-V< z|0NJ;)qT7Ln(?X+v_53$w$>fskFx2R&lSL*k`S|V{I#)az9!&KYigp~+|1kOaAe-t zi_h%!9AXm^CWSBS`z`+T)z|mWrWctQ)nu$ybWtjcFe9Z99$qSIpGT|Ns~zba{I<1n zFr{xiKiS8dXswr-8`1l@5e_HEsI0zZ%Ib2oOlHdlXrg_Q&ETF-VWDsl>%>XVw)WM@ z$R^m3C*6#4CJW8RdlB0_#m4mbokN6_Tc(PuaRWPS{_W6Eye};+?HkcsT?!VKY#co` zHA?OTOw(IADRoj|AhkYA&9X;A99p5-x2>nAM>qD|V7ri4Jd^v{mz;`tILZV|Gq{vE ziKD?63w=eErWngjBb%gil||oS3`o%D35gL}5a`5uKlF8`Y5!?k~obi+V}lfYo~`A6$J)zlSK^_)o%HKz2A z9P@~FQbiPd>Vdks&oIVAvPGTFouph;k4sax_N0e3_X!pwAkIJ@00DAk`U+;q)zRy*r`Ueo9b-ru!;3$hkEsh zr_tng}l@dpK6Lj$H(7TsXj47<`w=a)?%y z!!6LB=Wiqyp|s#{v{SCzLaJr;>XfO|aitTBy!_g;H&lgQrYHIGs#u%cQGGNo@_U`8 zQ5)~A?n)mH(3qJvC^##KhiB2{z{`c(0l=d(sna#3%FWrh;^hdx=Bz=nPx0H2e}7pD z2=2G*P+OyY#~~KE+Qd(9)&{XNe*QPT!{tmtP5|-7F`&ZvlbM)hdEKf#LB2i*53HB~ zUpa_DH`?eCXGf4rfa|tPG;xl*!{V7k9a4)N1}y!Ng7_#JN(3faPYi4!z&8@G?3Kt7EMlK8IIr@@7*vzE_3!;r0>lsJ&>(?=?c%x~T&y)Q{dMIQX5vO`t00PP+hU5F zGh#n{7@5-Hgb;^F`OLek$1=yOA{_j5#()28l`U@9b~3|%Rtaw~-7uCp*vzFB$!CBZ zA&+RRtgOxc5QH#sac*wz@%hO-=nL6-CL!lpL(9w6=)C-~`Lyls`%o(zElhj_C6INfk#^^XB*1qj>S7 zf105X*B-BzmzN&cKSW}H{$4`AK-n1uA3q&5kAssg4)!;}d{^zn|GthiVxBvyLM&5# zZEG68?|5+p_RAA~tqs@b{@}9(NM#~S)H;s{hY%lM>q83rU)n5Blji0+e}oIRZ+nEC z*o?Xjug52st&*#3hk2#qqf8aj&Y6-0;v4;68OYsG7V3BJ-ffP>`r-2!7#~g(+3&W# zC&3UkUE*YKuoGoQs>YN@E!@i@V#*4by&uz?`%45iVsUlT)!XIlIfJ|Z#q2eyIgtNst!NJAt-aWu}{HKqjXv4WU^p z(2w}*^Nl79dYtCNAIO9EkY=drIl=e$_j`RY`1$D?j@3bMA!)qc?1%)M+rxf#A9!+L z&pP-CM6s+FY6?B?b|zwo#)H`I>NkYD!{vwt7WcVM%?TIr2zC116$&iAe$Pq>V!oG$ z5&5-N{R>Md#M1DP>ogp7F8~uyBsDVM$9!@bK8{2Pwd-AkhJu)3%@+*Gi?kZ}0Hvhg zN}rvU&B%6yYO2kAy@@j|vy=HA| zm z5to;j9i5%Mjm}ov!B)z|8E?8^l^Ps0K{_zab5}fg3Bo3WGpt9nMS44WVsC&VtHRay zON|U9y5`4T>zKFBm3vb!pX)qMc*R_vz7nwiE3~TR*VCEH7cUbD ze;b`^2wp+rHB}!=mQAh1AfEd+XQ0Vl?Z;_rej8{2@lAuwGs{yXRw~>x0J{*#LRYvQ9Li9*^W=137h(!J z7!%2SQ(i8uAWccmB5jBRz>%nk3Fbga3HJ6*ro7PTV3g9>yB;7K7lRhpV&!HLa~~eN zDxQH=w6AJwYcm~6Z%&IAu{uXaVl@rC!s3Nq((dm)qxSq>z)*-oMGEcuN;q0?K*rK{ zk6IFZe0-S$PVUUduxCn!_{PgCj%NCq+xDdcSSl*Rb{j~l;UU>GWYco8POvfRkJV}& zh@tFF;tyMHeA_W-$3XAuYL*8j#p`^QTYTpt%wz0*<>R_Y<^)X=*3;wv78%*q-K|Or zsdu-L4+&?a|2IbVSupN8#x;&apd0-t&PIoMlwP45Iw+F{{H{x1~GL(z%`Kiw(=zwa&k z_KU33ZeMT;j$V3B2VyCuejdKOol@x+HhA74^>HCejT-gR7o^=?yle4a8G16v`bJQ_ zmO|&ba{<1Bjo_h3h^j!;Cb0|<+`dSe%P0uf58VCix+AYt8yC%wx7*580FzO~JKw?! zW%oa(V{tVKIMmg}A|zFu-ud7Uv2%&_#ISOoqIr{Jb<6Q!qE_dhd5K(j?GcnsC$Of5 z*NO|)T^fr`>6g#?5f$I=ZCl4Hq4RRvZsH&QWUyLYJbY2&jJyB;6(VU)!(G{A_{m!V zhjOfvNqXkmPYf~rN`&$f`0s7#+bk?|-5zdpC5bQy*9VM?Ev*R&$>I{`xcJ)IdP4&+ z@Nb@O8=8?I`h+oR8-x5bDMhqq^foW1OK_t@}-U> z3rMK53hTD^vD;0;1s=^gd{0OixH;mY`}DEv@86)l26v8KvK2dQ&sM3ThPCrXHVRou z0-TY`82ss?((K76`%xFw)#}PJbw?axAI70?hd<92?K8sr3qG2CNnQlGxK#W|O+_?f z9~m0z?(0Kn&CAo#k2UrTWN7J>(L|jodeenD!;51zSX!8&4^h*Mk7z!97)+9`uYSww z#-p}FmG<)|5fF03>@LjDe@{(~nCz*Lpl&QyUSCm*P4TZO-an|ghNnkGi7YtfKuvqf z0{_ag4Vmr)og5!uV`Lj+r=`2$I5A32ZKq6TkIa15nu#uM(2UpE=_@^z*LwUSvO3KA zv9{nqy@+6Sa?VoUn()&vE8P{J936}t>tHj^!5$1FFXimxRi&$`czJc^xf^$ybbYPb z`1+K+9NxVqRvN}L_|j}R)wRWp?IdiI5gY*uJwq4^Unql~SK zf_(mB&Y*W%JuBrI&DzV`Jdk3?YY}R^F74*9y_wJyeVm=AnH&B=Uve^{PU>Dy0CxJOc zm~9I!_R2R(J8Vk(h|-=qs%aKm__1H4j0GDR(*^v6uWSV`kVwiLJ zh)doq-@v6Ka$Vu9|Ibh*U!rKi0N$p|c9<6JV)v(ucYPTejM|!c;EWFF4!)C}uW_R- zW%6|M-S_}!GGAtP^P&`kDrlxbSAut>c!iG`?0m5cbX!nVsu$d5i=6j2w2c$R2)I&l9X%A|!G^Q}hB4d_xb!XrGFi zb#k>e#zwX(H)QAi0lxdZJ;ubCPm0zQKN`xUt0rT}qMm7JHN_?uo)E6p>e;oV38ytf z`%AZtz+E9r7j=Ek;hW|4Ef&?O0=dHqI5Ivyc`x@}!v#L>%MQMwj7(9-`PfLid16D; zVu6DlN-bN=8(G@U>ApYX7p9Vtxv)>Kvt|C?Gw*Z%`H@5Bkr>Q%PGcpV${))>k=&}y zvtO-I(P8j#;u2b}(1-?6&~ZnM3f}NocQa2(;E`&ojPJSgSIm(jaU`lCluhp*O; zj<+dn?J^zL`~(XMzD`2NNbeUcnC)ddD7fwj;^G8xaGwLEhktV(>SnSo6gFfU31_e7 zmA4WC_zdJ~XlrB4H*yJ=bN-cV=Z%(l!}@-H|2g|D9Al{cLReQOQEZgTFwRK{_rk&O zSibha<)Uq{pkPZTMB=()lZUO4P`mTF$V(oPIU2bXLs3SCCN7SVn|qVo?=LC7mEL)! zAAjNigPzf zryG27LYau_u(7@+eZ^V9|8TseH#TIkQcC(SN`Z{=Q}Dzr8n-pVmCHxL;nIx~OZ(u= zEL*vuKK&94jznE?2o7InP?TMW#O7fvAZ@-J2L}20K_Enqybv?rT*Fd~RU&JgJc=1D`#$!zRg>%aoQe!TkVPvO&x!kr{i{my( z*563VRC879b|>6j^ud3Y7n7*U@0XNL9qOES>bH1BD!`8#8sx9x!L!7pHu)VlC%n~~ zbN{Se)GYxT4s_LQn2CuAy)g2ZcC3TZhM(R?so#FEKA&+4u41r67_gps`Q^M;mn4@z zwZM0BD2oZeafOYBtVPDKmOb?9F$$qf_dJ6(ol%b5oNS8N?WT**MLvonYbq1W0FS8s z8<1qLh~J#9%T4rJsh~U2$i?mNWHU+$%#_P!4^af)>j(+a(?sDJct!{WoN!7{-=)@jZCG&y{_V+% zE{KYXdZNi{31zM|%MV`DVvqHzo04*1a8O0g%-?{qy^7ev#?AR;AkWHR>VapI)_Zi{ zD!G-TQL5}vX)I8?%WK0C;T=iWSgY##IrZD6CU3!6CDpBxk;hqe;*r9-YW1(K_4UN# zqoWFjHzg85fFkqNTwh#o=r7Uko_n{bgZByHK1%j2+VO$U5G*_U-?6Ulq{eo?o&;U^ zX-Orrb=)e-!ROu7pQTuXd zdrzR*XDKfCUOU)Z`VregAr_+%2PnamlA`h&I}d=72roB{6p8K>KNK0x8cBw})DHbb z_P(;2V~GyF;f1^*%Plh<2+7s=Yva9JFR{on*}-E-x1A#Jrub+R+|bal`PXX7b#B!n z`(mBX!SVSX!~5n?*Sux7@VD}ux^|lEzKIqaSuwS$abdqRryakcet z&iQAn_o--a)N``>d2z*KTa9LZWO>@%U=9VR(ia_WAv3$(VS@Y(?y>MvI|{}-elV*$ zOY6@yrfm6X2)t2~uZlUaA%X$+BgX%9Fv1cx7$K*cf>oh z0Hyb!JGZk@CWnBWsg;_>;p>jml?764v2KZ2S9EyEIA-TKm`CKGqZYUeC4wc6LC+v z%r+dkRau$beNgE*F8fy!b#48P_r|uij!=cQEa`+QAX#967iOE6##9zc!zqCTXj>rj zZ|{35JPmGm&;5;q=W~dntL|h%zOFN~t#Fg`8;l*qZUz>*2+h{ZY-hD8RUW`{Y(fu- z983c8a~1jv%`UWnTkiZzp!{lKaU`Tk`xw3Xrdih|8o)oEAKn?q&$iBuyZ`Y>vuMT; ze7VZ<_EKW_(lD?^=cf(+>4XCDR#!?0QI~B#>I}6X1JA9+4l=K&)WGm44LwJ4Xc9XG zlRo+3C63DEWRw3E!WTqz`rU6Y-W*nv9yWL?_6BUFD6tOM`BoG$gJUeIIDZZkY<6D) zO8-*tbs8F?k7s6U=LrRR%Y4$jGN~$2+$h(@Mh;3;6)v+aPECY;Xnawk@lc$gc*KHj zaWcB5l-P5>!;(doyI-_iNsqFtXaB4prPd*j!odoT#$$56*cA8m^=tN`j3Ax!M+cIy zba@<&7(i`eg3PlkJ7E5r}wsc`>si9quFh zOgud4$2N0-4}P1-w)O{2OiZxbEvgxwq$ejA0@;6b>OeYXmgmpq@@DbZ+3ZDfr1h0= zbhb2AmPuc2e-d@csX^ng=JoPS?3CygSz;9z0V6D-G zdk&lWTf?O>=19U4))HNq;q2CK;k7P%@m;+o>)19WDfOwsU$bILyi^excYYx|J=rzE4vC}ZIwwYH7Ul6e zzk0XN2c;>Y^4;EgZJr6L($al1iP{!)*N4KF6F(lkNE^;vm#nfoo!%aw4Gl7B)NmMK zZucgal}iM+3iGcu*D7CI%@rUw#1gt(Ocpvr8(lAlGE%cXvoYmPcc{V7Z09xQL?=ee zf2I?Zf)N88FDkE3zv@j@Z;FAg4-R}U;)=c(Zw}#6#AhRagJ93KK6PcZF1NZ-vR4bv z5a~%~zNl0(Jf;wLZIPI*)1GLavZ;I{fv{$wXRX^u67->pnt> zqY?;c?wejPFJe^Z)fX8z`SIT_78ALm5s7yD<3Uy9O3s-c5#OTOtyW`fG^6r=?ovx= zk{DaOd+)vrnyVnP5M5gO8r1OE2=ZLr06*?yb@tDt0#8j&O#+l+q*oRIs*|PY=+w{j zfULR+Kw`7+4$8@512y1{g5g89$K(Tj_ajgR2fWBk@D)3_Ll43!GmWp)+aGJ49@5pcmD?N z_$=*SLPt1lO9^gk%l*cvC@}UwrCBI$3hg@LBH!y{IlOrD18Q-3iar?h9>C6GJ2Jo@ z0%@59uRMT2(v1cSS3)k)-Zf8s<1fnUOI{1j{^lmdvH(94DjG*rmoKl!ZdbBa`-T4C zIPux7SQL$&kJELdqUB@*9$*o!j5m6%&U%gh656H!fK9kxgUN5qRvLI+ad*VCh4HV- z9PH%BUm&2b`ixc}4f(U_bT$CH*4((hT~Y|w$2w@Avzn1yg_Z#ML$m1mfyRFwv~X58 z>J@ula?dt-c|~iFz??@6MgKs_mBOWb!^g|&Aa?c6ffkrpREGZ0eMK0+j_I+(Tq*tytrIa8i zIy!oPwmkF2$2O)Soc#FN>(@fPnBJhU)f(o;QX66>)34bvaQ=fjX7=c>Fk`r4iR?p8 zkgMgIL2LMZp~kAER)l-Q^}@Xp`y|6VNjKM z+ioM3NW<0Yyx}$U=PGM3N&`GtWu;HZs!VBFTJlpp8;ATh?bb+4TqT)|7ufey4FtY|EN6X^AtD;;|7kpDKLszymfMVNu>(&KC)c!iFs;ugkut|L$4rw{m zC@(D)4wsx?2HMBU^u52$MNxK+z09g+*|24hHcAtmA90D@-w;xaNiuSNDPclWGBL*G zpO=5WE&}uSbM%1dlkq>sYn*gVCMW_)P(Vt+GzfONqbZ`T@>QBpY4r38jb|77zv~nK z*Z-I=mdH*+YgHF=lK@3xgwwmR@OAH8Or`&=5(kOy5=~QcGw3~OHj=RYDaVNXzsbi} z@uS(JiZ%HH5HgT}JJ=sR7)aKXvlB;~KLd9g*(?<-|NFzaFAKC_d$oIU8e{I;s+GhM zH*W)TR8L*p{qSr47Zv8A22Qatm6@gB4n9C>iw4Tb8UK@dhB@STPpS$p42J&E9JUSw zu1*B=Pzheet%eS=k*KD}7hVehP|T7;IC2Ml*BROEQxFLV+|iR|noLg5_fCbM_Z_lW z_1n%W?4XmMOUw1hI_kZ?0DosT5+>z!JM5{eYVYZ%HL2fbaCWKO*q?tR*^dkG zdgnv6H05ctk5{#!9oGJzMTxBdvBQ&_OY$A}r-V+}yQ8e0nG&(Q;hj4#ag z6UJ+&3!t)htckTFm-OY+q`z|IrL-|_cLr4uxP{Zt5Z z=Iw~vm*>Z$$~@qg6`OO00rlS=WPrSbvyBa7_GC++3N+}))?mUz=4s=vFg`&=%Ue7yw`1W0X)wG#(=WfKMibK@um z-aJOOsygByA_;40eE^WVr~mBl$Oy3ox}x(f2?f9%&oUbr|{RQ#_%WO7?4NpcxgV0^lQqf`udAggcWN2>PIy*Wl zgOU&s$W$7%!{uZXe1_i48HUlvw>IB^v!`|SnmqNP?WTyHW-4bCH&2J)m%7Kf7-R8l zsHt^=_Sfr4K7#I@$2V~LCP$!l^FhaG4S-tH$`AZuk@6BT@k(lm*YWBjE=L0`3-BOTC{$CR4GAYcerIo?-z)}FnfMn%XYICPbySVjG(sa ztctaLB5&mB8TMG1x`qah_&GJFFlx<_M<>9M5JybFW;6edB5)thaUTxdfxpPoB#_wP zNsJCr1eDg|gA5X4dX9{iHB_-&liuDnfUP4m`9tBiBaCz*9cfu^xCqDdmA_IsbAubN z5$$xX6%okyqayw=nh{g`=_BWtTgHj!NTnfKp%TOX8;C{|wj_K!`eGks&oM>_~U97jU(EIRIj{Vb9rg;fsw^&Di$j-;73+DIz^+>Mw!!-90 z(aYz`*3&aR*ucgwd4CA+dha=wYt?8liN5WkkMPk(Sib^C_bgjx-R^p3$73igdhP~e z?bW}_Uyc;Zw7Vs+^_$Y9#!lryTeeC+2#q4<1TkJY>Z_!=!8)CABZ^0c;5wCV=;T(A zg7~QL$Pqbd7gE+0lAQhv)@=qh1lN)PzCx=yT;W#~BIpB4*YT49)-?>Tn{#!sV9vph z#@<_Kk1EPO1!;Ge8}tS8{Imw;Y^hiRephpSI3ruUWUTgKE$l)1ZJbkUoJak$J$|E^ zz$c%^#UX~FCGx!_k9~@qf82C7^c?RTz(m4SO$-swEnjG1h{w zYa^gr0wnA;v$I!kS5@5)5HTo>ePnBCVV1wGiUaib?Gmzs*x4JhbKmbZmQx}Gccdi` z?qU)&nE2XUlFiB^bBT{B%LwK5n!$9Hj>O!KWD}Bi_$w~JXJim8Vv6nu!k5vN^OvXW ztHriPPbg$;h#%=0psy0DjNDvz*=?L>jH4qE3w#KfgF}7^?!?P4lA7tAj*gDBkNCYx zP=%SyLub`}FtM|O7vJ_z=Z#Ib&w6bYTtb;Nu{TErziAF*&#sIq#R%spriI)Lk|~5| ze6R5y*U8(29x*7lq~}*vn&L*4)UIIW8_&6>0geGK-IpZRDQ}A74A{UTB`s?ze`;*1 zUc(A(OQYM|GQ|m80OGfbv_R_)T%^vJhQC1nB+4KGDF1`8w}6WBi{3_QP(h>xR0ISh zlm=;}88RmVNnUj0( zXFvNn@y3xuimwb7YVBpgnAlEOf2SiZ#{;v^A8cQ35gv#03Ctx~Tw~d{=i6ek9v*e? z$ab;<5Vmz2iV0qBk6K%r z_vOqOJ7o%CAUTc(nV%vNXjOM#AJtIW;UT*fOC4MK@34JbPdkWnxLtkfPcgG@yhy4n zy;U7M>cL8+dcM*-mNaZg*@MI(jHkl0Be`=0`IA{^Myah)V;ogHJmQzMJX}>jm)!e( zZEbRm9j<~DrF+q~wUUjD83cGK3$#>xf-raHmcrw#iBI<@Q%GWU#S_b}I%>nFUzfU| zspMxCj7#Pa%(kjLc?=KBWz3cW-H%!;oQ`8|fMeSAdELeV_#YCbSKO9UHky}H$06@> ztW-sN4t?y%3Ub!a2Q?fn_aR%>nQUqso%gG)X@Q9-Bvcc`;ORpoCI#C@ZveVy7mHk% z&CJx4CbB*D`**di95x;vK%QHH!0dh&$OJj(zI7WQo9Fogy%Uk7CDL3)^Yb1?)80*ou?wdZMxxk>bYV zi+30!xSR_MZQm#%B}5Hh-$dsEla`v6g=;-Vy4m^T?CkfI2L85plv%pCZA*Y@ z{V;P>1nb7#?p~STgzJvf6mC~0$}2v47)nlyL7rPEljorrxL$@%Wnv2-cQ9U*{N{gN z!?mzr3^F?=H}f6ox9Sa^iwqW`uRNQtDT45^?97!iyz~MEt}F>3A)=xQ{_r83R82| zcm#M;Zm^u}0~gB_zkq_i1^r!1n?;%mIzLxOOfrpd$QF~cGVmEW#g5(f>6Uk=rSF_; zj#S}g!|Gyb-Cwg`pkuq~CM6fCfAWTHErvvVNAX%;@OI%TB5lni5;>kK?rV1s(0}@g zVll`&_Pw8q;*~~KFuZUlRg^K}W!?kd3+0slKQeIt+iyjje@vVI^N1O?T49x|Bkvbm=&xW4Tv$g4l}!Vu3vX!iFfb%nz zCeW99N%5n3Uf1#84Lf&!`?N$#`=p&v`u+6KvY4RN4;h!0pa<-|ji>wl^DXJRiqmAdb?# z=~Svb2~Ju613h04vK;8f9Y{>+!MdHVBX6s#CfU=-3>TV!w~FUTPh|%oNpdIX_rETL zja;@F!kVU)(yxBbHg9|jYyLq;SN=0>NN6~|sXVJ}k?!o=RodUb3|x3`t~}Z(xHWUS z1buNw+`%f|`3omp z7H7fDRX-M4`6ruC)~o0X^oFZesdEH@jlH4Uju`8KK6)-?qE^S+!zE`ep zZR~0qeNsXqRVr>i78x%`uoB{KZG~azQX`+q=TxVH>0FMy$2|t#Jz0y-B{85E6@Q1l zUx_cAN~dAdXVmCgXmT(1hyJFpB2UP)W-;)P5=nZ~f8L9x%Jh<@N)_(|>AGHB%kRV` z-n-VV+;T^IxUqEGskVR3dqG(75aTQuf0u(lG&L@jn|~3n-l-gIC-81V?u0U)=`v}! zl8E5G&%DQX|2D$@?l&LdS$65<0}6xoxI_6)AS3B-Yj}m7*7iMdEhC zriyf?K^!~L`#=N!swy$wT7=ChmAl;5VPtPKouk__5mhwu{F+cj#IHP$E0htKI%rRsj`id2O1-qT7Q-&n;KVR^}S)Da>Ur zwS@Yp8Ty;A<}vKdcyu=T+S9p>&p#%TP_%kwsl$d%&4x}gSloLB{ekutVs0I7sN(g4K>;a|rd|TH3ZgH~k9{5F%C*bgBlYd# z`AbZxbLt*2MxWuk%n?mR3Dw|Edz`CBbyPG-XmT9vjfT5RTs#TW@89mEbri|o|M+1` z<2%>!5PMHmkLo#CCTM~r&5y})praP3#XbLf_N*^jr==)Efb1t5VwD@6!+l%>YydkW zp31y!cGsBA9*ptP$HPo#r8D7d(RjvlPi5mN`EI&@hknSoWG*{wIXOlObc8p&IPp~Z z<{PGR++thTIWjXtf#wbw=9i^qLsd=@?oXepxpde2FAEo!s)|_hnr`;z(zM?FxEIv8 zm)V|`S+03$UElpK(;GW9K7_#0iLT^z=PUc{X9QF{46MDGi7HTnF+xVR3NZ5EF5AGv ziV(+cJ*2QzX2lpX|Iv3v)6z(crWJ~p?1SZ+c1>_Wn5ME({=T0dyf*K8h2ciW8=2n zZO3I7nQu=HQ@J}x~A8TOS(+H)icQ$|5z8Xy9@X3455pAlyZ=7lU<9v#n#rd&< z2`!0TYB>S=E?hLwJn5UsLE$Bvaix~So25r%uFuO$=0;x57&2%^j|`8>e$`7}Enuw= ziwzQij_~_l+%|akQLb%nb^`miHv|Q1W)nQ@mgG1ZUnEo5a$n2Co54)k?$kfFZ_Jrt zH+;uM_>2sq^}+1*O2Fxp3`Rej8UpY#=l+CDP=l*GO=nk;Jt>>9Q5BMWoL>;P)&?1= z{0P;0MP>P%ggkn*Hb3aE%G2PdY~~?Tyb|_3(Yc)#dpUuZuj2KGvj32?{tC0F{436l z#`my79yc?mQ0~;T#x!BW-HB9ZW}bftWz&9tq9v9*zjc@redc#Yu>5HQ%2Eq`_m)32 z(MZx}msjesR`?!-yls6pR!j$Y3NlAgX47A!@oma0?&#^e$RPKOzQJbyZMZ_lR(cBY z;J>r!aeb)>VtNf*O*`{4MjU4%8=m0Ae-m}(Z`9;(zcRY}aKiQ(?ykuhA`^CXj|0Xs z`X{PF!C@7>;>>r2kl<@ z#5==?CPiT^wMPemW>fdyeGiYa78I`rtEJOYcG7VH=a~2W*7mUAQ=MH_EY#ccLyP@6 ztK*l=L3)B@(GBTJw_ReHhgbh{XfpMMCK@g3E@@9Wu_5>7x2BVQ(_l2svqFf96Ix|^7M0e)jL7PvrwA=524rjQ$_)@ zK4!Js;L8e?WLkr2YUy6(&>~Z~5rR(H*JHx7O-=`%JNIq&yZ8eNSmHDdSRT?*s>X*l zIgT9L2!4;_-pkoX^g(GHg{)vkFtD~EGsUhBS#`a;SbUT-hh_`5&nLSG)uTMbi&0z1 zrLW}{#S^FL?>;jP{`*uz7*3m*?_LY#HjQ*7SYWo=3&xXGIxjohfp3WX8#ALN z_Miq>MJS?l8w4u=)aqkGwlUt#r+u%pBce!Xj^AXwzOZ>Ja^0G0SDIzZxPZf0ld zugMt^K_~nQCts^rsHNEo?GaI|&A6YZ^TyDmyt;0iOUv?amfV|5Maz?;RXd)`vyYsq zxtioV*V*30N-hhT96Z0t;kVztPhJ8C?4sAYjISMK_HO<|m~=s)$6fCYbl3{YWj;gh ziC&&`DS5$c@r3@IuFK7iK54l9Hu~CAXEV`Ev)l-jC*WcK5`D?<-ois_c%*c+q!pk7 z7Bq*ZtevDeSk_ev!JbXg85h{aREE0!cavY!B7PW7zI53gXQ&wG`OEQCxJ50___d65 z#cAkNcTa}8l4Y4|R>tS~U^CQS2u$MT0Ko#5`RmY1=b2+Pd@2MQ2m-cOmkGKJ9@6s( zrk_N{3H6~cIDhC< z*E(QL*M@9;i0_dP2{)?>U;Lp5A>+zb2DVA(getek=<}A-sHZ$~+6;Q>q~{B*)gkh{ z$rU3e%R{SM1i{3ZFJIP4hZ(Svvf{q1$nnoA4hD1A>GpdI*nM426-r#b1b18mr)5Ul z9bUQd82Br%xp_ZPe_osL2fn6}(QDWyMS1slPH7Y3nxKhPWBRM?Lz>|4FgTOC zl&GM|<5*LLZqSHYOQjEU>jiTS{E&IZz}|iw$n<;-qyVAzb21grk!(p)F!)lN;0Oz;hV}87d4f>{J>dN z;l^a+>u?R+j*?W6+{by9b3%T3YcRxK&~g&ZSeUwEU;fJEq~e}W7qzehMseF+n8#Bg zPOn+4D{>~Y$0}2hxA+h?f@1sy_XCZ5wU#)j$ij$m%{7Y&@=_FrmzSTMm2(ery9c5h z%g8LN}p!B%U5`IHwvk;VP$W5?N)%x`t0yiSi_Uv zvlydydi6(i9yGI#q-$-^-t(UY`P#S5i&Mj1txfV$ExhljvZTz=NwBbtB23{&|mdoO+kvWvz=Y1d`z5CNI^VT+k6F0 zqL=cI|1*g2e*zf(w`+`+3w4fW;PJ8D5cMIGug(WXMkt_AsM%bVB`WgX+e+g;+N`(M z8Bl*&^bm+foIRI&F}azLA3~UR70@>Gjc~$mugNXjKQ*7Z81~14A3N)gu$S zvD~|`b9*{?^v^oe>Z2+v9UUFs{rlrtlE%iyoc7afXjoax1u8c% z*xnEa7uS#SR#-pV%tW{JTa0YwCUVO}Y2)F^0F^gS`zr}X{@5GPjg8**$6F2^21jK) zfY3rforC+O^63H>MhQ9!CgFJoN271DSl`^lXm<`sHvuar>cMrlK`%TNcfs^@-L^!x zI;5tC2lX{XZ#dHtBBj7}#X?KtceVmeH(PG@X5@GmBoDu_to6=0gQ*H5>P<(5`_%`u%4&3+uXc-eH8dDflj7uz zROqY~q(6t`dkbOyB4%fO4R3?cQaNc`=Bn8S@-mQ$HDqPT%eQ~%WM||sEuk3;ZvYO+ zR9aS}k^h!0F$pf0>y{Fq^RkkK#R~%ci){4*VFLp<96|p(FRS5nc?*l5JCj8uv9YmA zsXXDMqiR4UW`3=%NwYPs?Ad35H_qOk;oICvA>B z@;yN0l}j}>dKxFMstlA7w&VMEiuW}v?0&gFO5-OgJgLK%tt<49=cp%53%MHW-#Q8yOO2o zs@_VNUfHy977}KFPYJ;TWV)YyIQ%9nM8o*)l3S0QD93mH>}a(=ns?hK`2%_RZBw<+ zr5)%!ka38*!@wOYQfES?m2qi4Wy@2qem*9lJgImPH0{^*1&AzWX||FUnGZtv3lN`+%$Xv0 zaiy{tTyEm;Us`W5jJ;fai)Mv5dtm>bb01+}8j$DCB^rgJRk#9coyPL1!F_($>eHPO z!3{3{a$f1r1YhF=yV22dXZY;v&zsBiP5jP*T35g;8uau2iMGd?yv|8^BK6!IA@{61JaH<=tY_=@ zJ%JbD23LhTF}7;&di}<0laey8 z-dL!!E_3SVP&wVXI)N(h+o?MP-ZXJAgU{^F)>q9S%hyO8>XaqTxZPEMhiJ+{{9#Py@~R>wNaL;o&(ceF zk9|h8#6wuZz^^g^I6|K_bq_Z`f5jikI~nk41rPnhP9FS`Q3ql|PaSSZ$g~VDjK{Qn zimuJd$V-#dH{*8H37{p9-bJibJh=}(`1(=Z5rvmc#jqEMyT`naq%<#l4+Is5=?NuR zA*IeX?bDlN2ztR8{xDI4o1QJky1Iv*V?DtevR97{gB|C+9>`KqBnF%@51au!C8DV$wES5u>c}+JD z1PT7r(s)Xh^+AJn?PW-*<`spT`*Ki-7#e`4orUM2C%fwbyVLd0m;DcSD7|A5&zwp= ztzjp!Bfm2HA1aki_?}Tn3|*kqmU7!lE(~(nt;e0m(OT~1hh&w-C(gX_q^s*4-$SaIA6?Hv7gr~+-q_bx2nH+wj-H76YuJ~z-)f^mx!a8 z)mtF^VA;ThOG&dZ0`9yS>E?DHw40s3gz zkC?;5-!%UI{v%l~3jrSpIXzt9ENRm#k>&gZjB7$0}r;J@WbFYV)Ms z>ULlED46gm6xp>e2_KPvaisAiN|gumxn02Tzn3c_9AWi12gM(dc~>+Ar)tj17r?>o zKE)29e-S?4!spR0zFuU zQafX~PD*TzGr-S8;kOfIhWh?@PEWxwSY8`9$;(eVX6Ho$)iQ$3osJ-22nH|0yP)gm z37RY?O23Q^*-Fb}UK=`uhrNUzty)OxeSF3nT!1)6{=qS;bH*%}Pqle`wa>aVtu09B zFj0ox)P@LuC@J&fgJ6xq7DXkmmUE!d#-izBS9_OK>#Yd?r>*ZEdqh3xSZ|NbSNfmT zdl<63{sj39Suvl{^}~WJ@9Yg_B_@>pEcN{t9cw+R7EVa2n^|BaDm4?BoYNnD`evc+c8j=ro<;UvWFTY%we$ zWc|M}ZvU@aSK#AsYlQ3J^!yd8VUf~s4d!D@i#n$zX*XwW|Ld<2jhrYOa%qgL zABV}L_D80=x`OaGha_{Yloth^ zqF?R4*lFg48k;Y1MWOCm!VJQTXb>L^-|vCVM?>CE!Q}=NW;_jFF6HN6VX_^2>Vud` zgG3K`8E~1!npa+yM`dFm;DBUcRx$McpV-OKEBbbJ~X{gD3% zR9iitvo{GM`LeS360&9e zkk5CAcogyHFZ!w&C8gCA%6QQOy*x2jj*B=%BZhx{*=qFSld?atCN$^{`? z@+nOwDvkx3PZ+j_{lZ_DH|P6)F+8WA6D3TWMAIa}VmTOAYs~Z21oiF2;kHT@Tp7bf zhvuJKTUQO&7D}meXlV;4AgMIhAH>?n8FikXtM{D?e^8pa@ubzzCQC@LwLU!Nl$l);o$b zHmAT4#^l5Eim|(V(-lQj<{RXIr@Cflw1I?7d{asOV^AZ!Ih3@;6e|Z3(~#ga`>cgl zohtD9|KAw$kJBUKze`mBp7GQEahlgSu&@7LQo9fB{C`rX96XXBaLnOiXVs9M=euKz zT~uUz?9CvZ3O=GJ6}q{-9T7f}Nm{D!NffL79(;=<`TtPX|5SbyYSB@v{myzyP^%P{ z4*VJKwJe&cFzpjLh%BM1v5O#!Mv?v2_U2}8Knz`AQqluQ0|x+r^gB3y(W{dzv*(t> zw@Gv6Ic`q~0Z&xZo}UvY%ybV+*VybzSjo^8h}P%2uMl-Vg_4Z)ZSc+|ir)@**5(`) zH1U@eWCd(B9zD&x2mO+Lab7j}L*xEFL@E@x<+B&(0Ym;S%Kw9~zfZ0F7rk{20G4Et zTLAzgW0`C(zibZ%nS(iyQ|3sz2Z7~Jero)S#+mIXT4yduJw#J+C=8yE5J)JJT);kr zpjC+KavjgFsXck>UXEtJR8Or{R=&mw<@H*Wtu`;F%4#|+<&xHwK)mwioLBx}gXa+~-;0by z#+OB-cYN?WW6OyV&vAi+{Ti3E>{)uF;k%SiwF>E z0(;@IAA#^0)iq7{cCWS$*)xafbAUN?o{`xP@V0>ot=nq$3LvvN{2iM#Dg0FK&Ks{Z z{M4ns7#j&?JJ?Q3qmjC3UXw1AQ0m{OJ(?F#j%m4+$AjCJcB(Rf!&ZFm2gb*&HF&jJWfhs5OX3z#6}%4&TRvI>cvEL=^} zI??EqTSXvHcg4A!v`QCTAn`Wq7U&(Fhxgt=de!@I0T>`uqd*R2=+9bLuw57g+5zRa=`|?@pH?F#EX$s!DG0@Wo{rl;KLh{zvm7Kp2 zm6vPQDP_?*U1Awqg^gxS@9~U?GSL67=1Lv#V8X-XEC5hy#f{>?1jgM$K~5;}b;?>$3gPNC$hVFZNYF^j0%Sd333$!sYefZc{|2s)MKHa%Lu%$4z`m8ZCOy3 zrrM+ZY*6(9d@~5MJCO60SD`+WOtbs!PO6+r#LPiv^Argqtc$TfHCx&)WRMg+nwnca zfbh1!0V`W_1_JLLbcTqnC;qx5C~hlN-7CY~k87kar;2T$ZwK>-eggCNM+QAHWLdSi zCdu6h#9b-t)U5JeLxpQnnewoK@LU^%(6tOme|`a5taAypr*Ln-TJzQmB#cmy)b$+Y zw_DyAUZO}-nn4Gmfm9{Whs~lgC4VQ$h%*G;QCOL0^J8JcpP!!bwx2dIvQ9tfvl<$& zMq`aIh*Yk4Podsr+DdoLZpe?d&}x*+(pyCCwlIzzj%Q|W{`b$H?6KL7dU)11Zfms1 z0(K?-nG=+s6_Ht)k7;W{&XrghYUTW1wS7 zs?@b-1O|UmFzu*?y*#;*JNHSUOxna-d+LYeXw#Q-KjQyjSmUDASy+D@oyRWOpXeU` z)&KVqLIhLlM1JG8tIay_F(A6O-JM0YPUwV|rK9bLwSH`CIz8hOGhUgZdny?`niEHO4-u+i zAc^}(1edGe-Aj^Q*jR7Rv`xlNw}Jod2G+>PGpu&&;;Xf#js)%Lbo2e>C9h>q`8KD? zqARygZkh@8Gw0nv2Ff0$XA>+gT8Zh#JBL8#`6#!M`ywX@EaBD2o)>m20sDuXEb zYaSRHE~33jEA*Y`ziV~B7I3<&qzF9jWfpGK1Y#>4S;trOd@p`rE^rl<+{1C7CJ4+< z)f*d+_nqQTT-llBZ&I-sp-RRT4IWZ)Fm(Qz;auyK7j5ob9b-kJ3{pqf}XVn(} z#86f9yds~$YDv8~-_%ky57JtAp+DDD<=E#LArC`Gm|xMO{FJR0CX%-U3Z6`rSVPqFfy;339HJRh;q9j_>-s=S{d_Qd-zmLCiV zsV{n7U}n}#Rzy^$dx!%Uz=`NweSx-ix?Th84QR93pNgCVs6GFTg5_FK7VZU2zHvbn z_9M+fgrfZ4@%>%=W2=bYx{75GN$wKIsa#RT+BV4_h(w8wzQXl-5Sht0eDc!gt)t>Kl=>T;KUmiOM~rrD&X z`B61@gwUI$NB*3jzlDhiADXHjNAsg4V}MOP=>3$EYBsGjDWi~K;moXzr}{l=dnX-3 zM($$6mPF{K6Z$_S8HDG_R&n`qvtgo*QPoZfjMqFCaT_Z znIQGrH!y(hng+yke+pbo*_(HGQogY6b;Yrnt76#VXahZgjweE+b>tJWkJdTKSV*NW z0B`&DepSE5ZB0*QO8LWjU6f_r%-_HFkeTS~)sJ?>5Z{*%VKJdWY3O(T@Y0|()80K2 z{Aa=mAf;Br9 zI`FWV7#JcKO0~&gSEs+KRej;mw(05;c_E`oLyA2g#&EQ$z2SgCe<{=gNG#VG0K4kt zJ+2AmMNU!CwZe5AGs(i&O(g9tQT6^%)HO*%Z|{ba1sW!hll(D2A^QAK)~{&ACLPayOODOA&HQ^!e|$ryay_w>H{&5gJ{cL=9N&{I z*3>pQlQu=vcsZRE(Z6MgoBQrz=2=tY?*z`~v#lj%tlu*K_M(bsvaxe(K9_=_@e)(J zwp{t~n+53iZ$^nyDqTE!^Z+XBy>E6DcllqM%xy z0i*>lXuvw@hU}n}8{@ctJdqOxRs&?H#|SrXv>7pQ*U^`m{C zTxG~1`j$Uk{cc2-d5N(oHP@7DID3r{q>_hI)ZgYeE!;o*J(o>(dC6#1YR~DYW}Nj8 z!z4pJaG(m#ntkFdzx{A7TPK#<<8h3%&;&iE!IR0Xf$}YN(M|j#QyZ^M&49#cG>T72 z9l+Ps62veddsZ@dbwz=yR@t~se7Qhz{U~pxMKH ze(n82yXwJ5xO+9eT6Qk{r2AYG4~7({i|y*a3UNBl=b?79B8rWM&%;=ysuFpTr(SMX zreII8;UeETR2ns?*`EzZ1TpPHp5sUkZgPOE`_mW?QJBq`#>;6aDLI+xEAa-)C^NqV zx{qolXTN>mss1AM0msVh62h*_4h-Q8%D&Hz3cu*Zr?8Blt=7c@wLCA3|}tqY}-RzK!+7rC3k#&5~{E?IDwb|rVfl*#U3r_K(?__I2izuhnc9|g-jo{#HB|49D z1V@Sa^p|xB*}+Ws6JXyS3w(NW>j59`XrX@N|Ge8mP@>XqHGY&=Y)Pa!r_h>E;`yJS zYKz^>4YI8jnz^}%`-ecTd(-vhC%oqqBBZQ65g231IAg=4WV*cP!rx!!;{1L&MftXO zv}Cf?NEUfqzkpC3NPIPLL8ejM3o-L&K_bqtH02>{l&P7m5v0$Xe~LCzgzbGR5^$N1 z>m0qCgp5WEs_xsVc6rFT?&%YET~SC*`s;)|{ZTxRZ5NbORC?#;bj5!CG*r&Q%d`5Ln7QJAcJHCnYg_6AG42?I!Sg*0-&UUs*3H+K z+m9LB7k6DPFN%r%iZ#=$oygXmiuVI_eNx|lw>)DR1tKa@qQ(uxhWRumyY4)k?c?E` zAP_>82HTE8H#Ot$GT$|sU}Fsv5^pk0E{3!^Gkt~n2U<)IG!BDi%A%5XMsqL;MQ@&?fdd1uIPCH;4Sy)!{v|_ZiptA; zPRe5aZ7$=Zd08xBdBGaF)}`W5#;c}drMD~@tCg|F3M-Q*vyl$xEY|7(Cyni{w2A4? zH8T0Vg55_kn?Twiyj7g%Anq~9)3~@E(obG>HEl`+P*9Ix%5SHye-c*wp^HC6*bebe z^z{;+*2roV@dvfOKd)8mi zA|#HM9%dURL=V|@+bB%rrB{jrCH$!qd}Tt&47LPs8yKp#_typL|EE3_AhD_^|T2Z8kBpn#iu!_d}b)+ zPJbFPTel%(iE`FdC_DCov@M%flmE3BI>!;VCATA6u37fdHkIc@B%adZJm+Un2jUX1 ze$k8KBAKN0PLPA|U%Cq?Cnv2vn^Plt7AW3e8fD}5fR!N*qsk@hl=&Ogs)gfjN3}Aq z;Ge4=k#5*=$>mhWFJ;0Yw$VMAo0Pw?Uf$l7rd>E7xBad6{0>BTUH~`*@z7MsmbtB; zY%DdH}njTuKr(tly~!`eJg z8%O1<9hslSV!KB5=uTYNW4v4W9X{;^ZrQ80`rU z#b@_t!7pnfE{E9{jC6#4t6S|XoyayL?2((rc3>DH#Vf5X*|YbNi`aP%CwTVlAGV`F~s~WPr1}o z(nK|TFojzdv{M?zZI;eTukAh;9~aW!DQx-F4=kneiB(3>}5ykc-hP~_7C%Am@)`5|BJ>g%y_ za3Vk)rqlh2t<+ePgy)kD5T)lmkuf}5%YlKW^n;AthDXic~=I4&n94XMK@@0P3ndb60$NiBh1=(4D*8RPC%9 zxyNn@tChZd<#)FagC@ygVy%u*An40pY)53=c4on6nA*Z+jc;NYDXhR@c%)r~#uc;D z&hma!cYN4giREqqcBD2%K=XSPEt2d@hM#Z5nt7jI$s>ct3wutNc{n-uTSXdVqd$US z9PM&zd*v5@b*4dgXry&H-n=Uw?%FqU###R>3&!i<{7`MZf4TKFqB~0L7X`HuFaX!4 z18DDY=|r7l+8IPj+34n#Zk5!#2X9@;zuK+U-{tj0=;5VSKi3#4SJ#)7=6&l*mGdhm zz)%dyo024Z6LuKsi{}oxbT|2{ho-)-T};4%I3vqU_^hAmlAtt{|fuH9T)? z6xR?nYi6-d)a84vZQsAI>d$b#|HCX7?}2?ZKrvBJ4((H1R4qHuB0!ta6(d!C&~Y*8 zHT*2F`}&!q797a!B_nc;ExMnH@e^P8oRT~&l$O#-p376w zL`E&;eZY6^?OA#n*gdNwp+1bkq?~zku}fimzRn$h%fXd<*hIKHGuDY$J6T?b&N5xM zV&`IpiGk4#P6rwoG;Z@30gdx%d>_+Haf(N|HhbZ2QDrRBo-d+6QR|t+b^9#-!hKz ze{0qt!MKn?wR~f3@d*tLjWV4?>1AmlEfy9QUe_OcIP6kJT|qj)hn~t1aeQff@oGf$ zmJN_ZH|MOgdL|~+QTM5;s=83XWQ(&`3RqyCJRK&6nlE=6g?St%hHNrI92;#@vGT~j z0I?=;o)4*ZKuS`4yhY@mGl=Z}+X(GDp<=NCk>;ljUUxSwbC)aiE}EdAn;9Iq5}!T% zS?2nb@N=A3+q-PU?PZXVeX##~B~ofWhxUa9Y9Jj7&hlypOC-zxlo$1gTK2~{rqMdt zP{#fA$*tBD99*TG$oz>3UhA_?`Y8*9VNgbyorMtO4-b6RJh^iE}Za zQiSFHkQ8zXK*h(YqrpjyAJ0RHG4&FCRx@X^fWSbj^L!@$F$MIXZOw;X(1T4!8~-7J z$?7UCP$&S$Uqw5t_=Sy0Dti)W$gBWmHI#H2xHvUlPJ~mKs;Hq6|FH?L1X7|?*(oQ< z%O#nSnr*D>RDuU)_5<0zEuNzKpu3$%buH9Vpxw%QhwWpP0-*V+_~BRRnd>LeAhg2Z zY}m{cb0kF={NCR5*E@C3ljgix?&>LFpxu|f z6`GX*x%K3t)IFi)6^$3K7tJd-+J2agCtIFH9( zs?5J(q}BLj?m80Dw8rJSgZzjT_iqTumcO)SsS{533kQ)%7272mr@Sr@6A^Q{I{DXQ zjfk$V=La$<_qKz(vHhsYf=^@IRYbQM71++*jr$ z3biQw+Q%dsLkQosm<=o*g&gB;#EYKz8tZ7M^{+mXAt;@KfTdGTP3o{zc!5R(>ro({T+dvWy7AN-?=uU(kNqJ8)Nef49s_ZnxEl0S z$u=1(6KTIA{3da<14q&Vq(N$58FX~)oPJs9S)W-!sSio91NoNYMU2+lwvn{I8_};l z=I09lt78p-oQ1KOrfFF)5dd^1KL+afKm+Olcw^!8wDXC~(wb`b_i=RJAgn+o16H6~ z`@GTr0}}wc8j26!IiG2j>YZ*-_w904`=?MFD8f1Oo{>q05c~oL&ws#Hb=I0afqAuN zl3y4hyX_$5-MLiKx1!djIfzlms9ZG*U2*pzETyjD*oSIAFqhmw-#M9QT1UxnqTXlo zg;L7m9m}|K^nD*}Ew$vL>FRVtSN*2|X(Mx5+FR7biQ+sn-Tyd{rri5y!_c zsA1Mk>TF!NMTUXNM@)?eZvz`n3A}?Mu7A0`CFR{Uk0bknHUed={y=Coqy0c&p*`j9 zY$O&uk3kOImi?$=STKV<*x)}SMUV?2*$a3$Z!f`Ie%lP>ARgNlGFm)j`{isS4w7v7xT6WpIZ{r>NV_rv?)zb_j*V~6MAK6hOAeXfh> z0oPNrMWll8yQ{=c?Iq>OACJyC^!86gsusoAE^kzEfxKUP2lnDjG!#Btr z^E$zxT4f+gKW9VAU?I-{D275e#^neR3$#VwKB2Ctkj(bQL_N&lfo_hoSHPd-fU^tg zA;r+F#u!h7KYn16Fqm9#2s{($&5l`Ph3@Gsa}g?(Q278it^X)1{&zKt*^<+X|7g~7 z)KJ9MuYfY2*DUGdC%;QjH!`Tx+MxFx6+nt8k6o2fP1G`hY1VZU_@~|0PoS{B8_sTT_xqe__4<7M9RhZkdepoDcMXOaKH2Vs~eC0nn=-%>XY6o>-9FY`cdzyxplX)kgoY@ZO`Vk~!aOskTdr187J1SM!Sm(OTH zOrIS<_855k3b8MsA&_`n%MIlce20}+$PUwGl>JeulISzid8y2Y3*|esgNOj_KP72` zENFDq7r0cv-k&EnVrA!&6}qA&i9pLRQcAMCM-1g#{&}|XJXo>&kHcOw2ZsCAX1ySC zP=*+?cXYI(c|#|rO6(f*KsbSrt3n8Xf(62eYVMEN&K%&?BJNUH^n)?SYuAWf9XTm4 zz1w*CO0ap=H+uc-SRGQa4g0~_!T+|O(*0rhkRe{QfKlLpxod*dtwXW`2a`pLw(%$& zua6IF;ODoX70~4NFCXC$*@q9DMY%q%72S}J*F!tbdc?%mt+F`7d$aG6P^O%PntJtO zwy%EkvX)kWaA&Q25MYfdB{t}FKdW~mZ#6rRBAS@+cmn2<%y+0{l;GzDE5{3+p$#Gj ztkH2wtX;iEZ*m$}9eVn0Jg;0w1x(#N+$dNXpX!aJ=qhWNXe`jfXdT+NJpOl=S*|Cu zYvuVxTP}e}KOi!a3Xtftn1Z7AyrPw+#kzL?b~-!kIxaS~3kQL1&3poW3>08w*RHWi zNc;f%XU$%`)|&&!AFYL?^BN%z@;Qe@cO**=~#(10*v$`&-JLlHiLnZ*71A1(V_`9@!7~XWC;EO8bq6 zv}965vq~r#}1bKC& z+bH7l{di@R)i04Mb5~QS{G+Ozjr_}z@|lUssO%5i!z>2B&>ge`2yFofFs+d{sFi7) zJgS6cIuCCPQb>YVM=S5;3^)DEh4-MCt8y>Kjv4jeu)J;gOyTL{L#Wt<`6b-2;JIUJ zDv5$oXwTV&kVM2wkXybH=OG$sZ{owg*SN&jmSzP?hy8sY8ru6;>`Wd}hQVdmK_c+y z&1lrN{QB&;6)Ky2L*Tg>?YD|i51<=sbN&7_ z=LYxj)Zn0^Ck}m2P*4krzEsy5_panu{<;{kl4>|;=T0tRjbJ{Z43W=!0Vus$03Yo< zK0h}8Bc!HteuIv#YjVJheY|;QA612G_RI+%MxUTm5V#H}uU6*2>${(6Gxe34@r5#H zXqv=zL|r*CPeem5=es}XV-W|39l!_qt^D`~;7{~LRXhhFKb?+Dv*~7&wa$mzxq;}& zw$-7j-Z4|`;8rR{#?x%7w(ST|>Vw@`%a8zN6YMa~=Ie$`Jg80P{N7Uxbj&JOlsPJ` z9)*h{*6ViWGEI0y)jRw#bcm6((U4~?fq86FI3Z>0;aa}IRkynJ!SSB-T~Lxc`ktdh zOTuHrneY5kWgL&KJyovTEt)2y67Nk-%b3J;u*m=Qt#`LLQnl#q|4y)}N))^+geUgd z;b2@?Y%hM*a2DYxD*QSDnKuP-@Hne3*BV|#D4a``6<#=Wc9s3OK*xNgp*D9uchpvR z64`%1gB(f|A!iT$ztoF8K2=0K5z`sMT|qjA3pnL#$_8YJz*|b6_Y~qtsLfJ$e?Fxv zm=}Y^8F6`ermSP6?rC|kHOJhO)QKaBev^)W|BuUCc;ule6STgqCEghCG-8v5eB}Sw zRgqV54dc^>j}zJlimj)-s)-jTac2Hk7&_Y3oi$>M^~>Q9!W@+RQeyGdH$_KfwlJI<=$#b!aX8d1AZ!_@0wPpD?O0uXL|K>A9=L{?YpH zrkSbtAh_yU&Cl7$6=)YtRQvb@u2{W3Czwuoe-8oTH&hgpRZ$lKIWH)^S7L+DDh2@1 z0n(a5yrtXsgCQv%jz^Tc>Lb@%Z?ZAosibHEZkbJ9$ozluEWqzMDGW5u167iTrP%4o1935iJSOer?W{#^Ug>Ljjb3x@)OQgWlDn&1V>MKy=?gjz+@wpX%7A7bz;%3h{hHrP|{~S#r{wK;`7e_o5nG?g;JhAnI zf5in5qqDo<-7_TQ>WPlfceh)+w!45vg?N>;=K0Vk6S05*GpM!%>Qlv!i4ZZ1OT3z8 z7RCic?4zo^4XNXFnBg+VWlQbz(M{S-j4=N6GC=}MT&GfNG0~u!~k9*3@9HI%KoM_)ZkTfXSsliX8Vs zFY*AB7qj1DbeVGwi8>9;>WJfGA#g7OB1So7`FU>nJEt9`h=W~)rU%$Fx2-9G`Gb$H zY==;)&_N}WEQJ-p2&QXes4W+)(K5bDz@qI?+1k#dX!_+nFcAddmD7@zPP;w-E(c?2 zmAgAU3s0*ZBryY*c#>SR0AiWX!n zPWpE|Rk4n=1KSMI=>QkJTyS?|L(S-|nh zIEyQ~;n!;=cChFJdvE8_o2v;2v5&CT(eCmpii+Apnv3(=hx}N|Vr}`B^!I59A#^+t z=~gsY_2b8i%FX}xCcr6qFi><+lN8xobASEKxY<|>&Z~P!aT0v3jBZtWCT-^%y%LWh z)gM;Sd19HzzHiBb5AAx3@#z7A(aF;ZTT6YRlw+3TQaeWvNU;>l(#>giJ$y7=&H;eL zn(LCP8|y9Y=uJo_F^*cEr5d9*zkHuc=s!dB5oT?)OJ=Ws5A)QZ@oES=?FGDgyHhnB z8#L5me0ouE5ryt}WF96jm1QJPPngQytect}?s^%6Gi^U66N6u12`f zb)4^ebwb6kMhd_u0xD-5KugBeb5?bQesU%fh=7*^Zuds=Ec1>ei>D%hg|CWRY~Hl% z#3dC*&sYsCE^~4kdKIFPExNOr`E!avB=zWVj>vgS3EUN}VcMBUWzSd5v+}&w0`td>eI#T3j zIOwxzXt*A~0QVb=JKwskdAkYxnep4(s_TEWEy6n=wtk=?+F6$(#>aT>A8 zR*lQJ_6Z=HLZJ%(fE;hvFN)q^GKJ|PatA;wNz%lSnLAnnp|9Wz6xqP03GPUJYnL9t zePo|8$#c|$6_qt*kcWG}Aq?X9T>P_l2kVl&ZC-h~ktH|RZ3dV~$D&zG`~%hb`DsHb z8mhI=D|}hx+PTPYg?8Q!LDp0C4|nmH>sApg9fP8=pvQD6zVJrjD+IW7oVUhI2SLi* zFvtiln;tK5lQG|8@@Fh<=3vltQL1L{GGBTU%OmfLtSP*%Rrxl4|3o)y4{sVcLqmV~ zFX@LU{Dg>l=+ws)J2HD}RQixEal^e9Lyc z_%`TlkTt_)WW5}@$6g`^Z^(j5*mPh{-E^nGF@(_T0r+}gMn*Jnkg8sqVIUmnf-YKA zVj>5jgF^UuZDVTcDVF$7gX!S8hfig&9L9>usVcY0#@%Z^GBnq58V!_LxL<|_skvZW zqOq}~Jh0?Oi9a1%IK$N^umR3H^Tyyd;uD}&6f+92r6D^1hzJ#S&NGez)M$0}EJ;1~ zNGRcSh7)Hpj?toi+DSRiS_@N!=&;8IIllC1TiY zfhM01_{};==@;(tU$E`Uxtc|`=1+~-9$+30kz_Riw1KuD1}Kt)vXU5F1Uyd}QlJDV z1MszX;j2B4)RmLpU&7BM80EktSY!m`)gR~+DdeYGn}7Mo(KdGTum99o-m|)5ADc=u zar-hc2i4K;iGT|Iy1yT`-MQR6EX*q5sa2YR>6fGQ>Gz1!U*7AzA-|sP+FHI{kND)H zNMgWAPUMSNb-J|!i+)sVxU(zS58G+{-ys_RPovgD@r0!Oi>f}y&gjX1AO|U5k2f?- zr84;7b&kn{rN|R7P{Yc_rTpN*gD;;xkvuUDHaT6b#dD0m2ySIb(DBOB4D&jG@rjMH zAF({4ou?Mt!3NJpARfJhLZQ^`(OruQuhkY*PnlkG(P#j{^GFMq&0S^X@btVq^@a=g zD*D4EoM}(=E>6jx=_bmYKNz5aQ&+j}-+vLW#2)D-pP>$ZUFWp%ctO34)uudN+&RIJ z^kLCSlp)D%++g0B48(3G>TiSS&ASsKp#^ji`$>XRb#`abk5oCjy1HZ)6kKv%mg^UV z46ma%j<1m?Jr*|qwi{zIf+i~-8FS%Sy~bh7^Rt;>W>(Q~D5NS81;+GJL)6#sVL6oGXOL`3`B6#7dqsnQ#SVXJwIR3_kv)wetp=QlWkY^Z87>p;Q}E==rXQ z3@pT4=<)l4rAc**{(OJK`HRQ39sIv)CIbIVzJ28M3IXUPh-3$?I>hW$J6Q@7S zY|S(pspr_gn(W?Mmxplce0Q1mC-!3!pIva4s~zW;LbM4dD7`EhH!IVn$r)BuSHB4! ziA%0xOx}$t3k#-7?9pmaq*$`b-&<2jr}jRufLphO)M@Bwoe!f-YEAJ1hPtX3K0$>p zNhyj$Lav(a43+DrS=!sD8`bU}Q%Y}_i5caZ{XRhKPOMXg7@#RTCv{s4^z>`{k82f3 zPByNS{DM*SnZJHRU+^vZW4VOH@W}mJ2Ohp!lKYC#w&f7#>E&`a1@3Ec?BzmUSwdq; z7OIH0@lA}#UCQkVV{h*|waYmns%`78Hp>G?-Bfe0lam+zynOkGJ;cusvK7rDFQwVR zlid%Y{VGU}ggOmBQ#8F;kcHgM>2pdux`T16yiP{n^ZkQ7I{HzrOd!t#Ys)fv%djPz zJw;0ik;AIRi1U5wE5-uqX3v!=cRevK=xg)}__-)Zp#^g7I_py@ElzLr86UFgxK>D+ z3+8<-w2f8ehsbXrW(9fm>XjPAPKa?Qazhv5)*z-mL_tDNSFfhjn9wEj?CsLhM*>AJi(fb0nEKg67wzf9iBJC`_Z^oh9u45c~f%G(Q2bNYNzA#5dp-v3_ zBQ&ib5=%NJI)5+wt$5A$)f5}DK%~Pl0s+_&>e+_jW22D~v0S1QfhI1<6-=JhCY>#O z?`HzdZMN&Zli@R#8EM4;)%(r1&LVNk;DTtZ@82WK5~fSP1}P9%Qo%7nO}kvq#)1hc zS-6Rj{oHCK{ps)v&e1Xb66WJ_-KVTipN5r|@U)5dXOGO!88W&k^zpsyN7BhLUWI7jAf(Mlkf}lItmlFeX&vJc)En zfA>Q^CJtc09;-7={ULICX?C6~_b7t`0L02AE^sIOWlXB@2gMtM)3tER*EHC zYLG$iFTFY4FwHt@KQ65i7rE~h8Y;9!J_pgU<($&r61FLfv;mQ0y5 z9PHh&o9r>0mYe$pjdn#UmYNs`JMpGu>d;l(daE!Hdp6C|7|ex-6km7p<0SUIcM@S@ zVD_A%{Z+BAum20!j?#}>(aWq4TxlSyea5DL4Y+c8=`RtdT}qj;7+PVOal&cj;ap_! zE{U&*u3ob~=9AjY5&A4oIke=FUD}FcLdyN6af%TLg_Mgi=+fR^ylEx-ChQv#>wtaO zvC zI!Fn@EL$0&^tTFXgA;5fT`aE*hUy<|j1VNd8H0tv*6TjrfC;N$vB9;P#_7i{}a zJAB5zj+f}#h7GQ}8gqU07HCm=_BC1O&yE|{a7@Fk&qpWUnkhqwC6CvoloY!9Ss32J zUof0rwonSb%GR9P!?syIWruEZSeTxKF427#wDO3sWSF(?yKeA0m4m`9Yl6|v-tybF zy=Sd+X$sMzk8^hEr%Ek#I?=)-!gXi z(xQwc^X=rjaO?Y1@pgOOF8yGA*3zsdFV z^jJALuQeJ+cA4Lrwf0j#-Da_AMd#i>+n?iX6@;o;SV!{cnfL^_?U(bZCUH3nB{VkO zJ%ASJdmX-HOqe?lz*TLKVJxrYcH23RP>ej?cK=aFL)2SxexG43l!yCB*P(sxhB5?$ z$Roadu{s%9d0O1B{TlxJHr4(7;mTF1k3&*1^V<&nHnvpj^5{vP1k9l zbpKlIE1sU(NY>7_i#-EjZ@;O6j_w#DW!90XrWt*e!@J9b)zeS=CPGa_jzc zeezpxQE9A266@DapCa!(*@A~rdHxuhyWiZzm4NJ;a1Qx|O$6Z|?cJ!BQz?9ilkg$` z{juI_FG@$Z(U+gX&E3AqYtBi{+w5%4>$PiHyv`~a#4%KD6D{G^F5`bpwKK)vA9~5P zA5sF`?J4Pr`}Yf<@|r|nQk`O|y>32fk8aX)x}A=Lc0)W)+}r5gi{gdwpQ}X&E)z_K zxUn7T(?RE8sb!UV>Cv)#_0siMyOV`dC2*k{5i8T?orNf(V)xBF;b%mi)}J}<$N6p@ z*<60B(Q{|e_Me^cOnt-=*<)_^w8u|+-@QtWx_pQj<$%kdI*st>2`|R!h_yAz$o&v$ zQUGd;ShGYLE%IcMrVgu1cir&HlILRiEsH#*%j7=Awk6Ngc5H`+hbuLiM?TXv8mqdx zR@hoS;QYJzoiw`Zfrf^L=V7n#`w|kjy5FX1ejh>PP4QX2hmSW`OEMLR4GX7HebQLj z(=1B|EqPylifvWD>LOg_GbzC=t`)}e{Ku|1RcU5=B3|M^uX=ioAwZ_p4|%!5{F9B| zi4_rWEM-%6%>IRVDAQQzDvgOboU*=UH%_EpkoddUI^Zxkic)&GG^NHjH68HH@>GOz zOM+%KvBdHtp#Gp;ad_jranPzVI8jWM0DGY6<)EG0SsTGFb$r6GJR6Pz=~(KrvuVPV zrf!Wuf|m=c=f2!{N`?M6bj;aGL?WkMWvO+Sawq4U=MEV}rL-ewUpSQK@~@!X-Hsd7 z?WbP0r4o3Oo5+U0_@dXtDqfKByqf@L)M#4#mj-gG#Ujc9PB-^_rtqRA($dAV_ZC6* zWSa*Qr@wC&9%?3#q&MEOi%oQ*oAC(SjMe2y(X8<-uB1lXo$!g^c(IAaZ!$K%^^N*vQw5E8 zn!5*ItsK$tSJ%G|1MBlM|K)bo-}|hWu7^obhlJ7{EbQJ`^H{)n+-sW0?{;!))7cj2 zv`iNCH@N$9>Y8xNBSsTm{-4&YLFyYjsP~k1XYOB`=e_`$w#3Eo?%kXaH6v1YI8Zn} z&HGwkHiJwP|J!S8YA5q`JIbWr_*mUJ|9Z=pwB*-t2BC^$|;$}sPxioR`a^jXU9NI2_^>E{Enh>ii&6O6X zw06>(sgsT8=xH8iBja_N4GK#Wgt$TLBQDH3(^wD%DRZ&LbCI)qW6My?s7IBf>Dw_n+Et~ez(wL`NuU33 zUc+hS)koEa{#%&payd}<<@WM1DQ}c?gf45c1$ti}(0N+AT#4NQt2YH}2S<||FQpYn z@^5bbn?%k3yUGX1NKKDc;+9bALtg5_0vqi?4(=@m9;c@=el4HFsX>kp<8H2M0@hyV z4?!l~{#SfZo$11hIaY=4E7rwAs2n|04T?&4h7NUBR(Yng#&5TJaL(8peSh^J*|+3B hzK;J-{p))5g5^y%S3fRn&kX_|igGHl#V_Cb{~zCUuloQ1 literal 45415 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 diff --git a/paradise.dme b/paradise.dme index e76c1d5bfcd..7e5c9c81ef5 100644 --- a/paradise.dme +++ b/paradise.dme @@ -1445,6 +1445,7 @@ #include "code\game\objects\items\tanks\tank_types.dm" #include "code\game\objects\items\tanks\watertank.dm" #include "code\game\objects\items\tools\crowbar.dm" +#include "code\game\objects\items\tools\epidermal_applicator.dm" #include "code\game\objects\items\tools\hammer.dm" #include "code\game\objects\items\tools\multitool.dm" #include "code\game\objects\items\tools\screwdriver.dm"