From 741706e9e3ee911a38c7d558cfe7e3ffbcee0f59 Mon Sep 17 00:00:00 2001 From: EmperorJon Date: Mon, 30 May 2016 19:19:45 +0100 Subject: [PATCH] Underwear + setup merges (#1812) * Manually merges 12595 and 12461. * Moron Jon 2: Moron Boogaloo * Makes Yosh happier --- code/_helpers/_global_objects.dm | 1 + code/datums/underwear/bottom.dm | 157 ++++-------------- code/datums/underwear/socks.dm | 82 ++++----- code/datums/underwear/top.dm | 109 +++--------- code/datums/underwear/undershirts.dm | 117 +++---------- code/datums/underwear/underwear.dm | 14 +- .../game/objects/structures/under_wardrobe.dm | 36 +++- .../preference_setup/general/04_equipment.dm | 50 +++++- .../preference_setup/loadout/gear_tweaks.dm | 8 +- code/modules/client/preferences.dm | 12 +- .../mob/living/carbon/human/human_defines.dm | 1 + .../mob/living/carbon/human/update_icons.dm | 74 +++++---- icons/mob/human.dmi | Bin 46876 -> 26738 bytes polaris.dme | 1 + 14 files changed, 263 insertions(+), 399 deletions(-) create mode 100644 code/_helpers/_global_objects.dm diff --git a/code/_helpers/_global_objects.dm b/code/_helpers/_global_objects.dm new file mode 100644 index 00000000000..4cbbcf33147 --- /dev/null +++ b/code/_helpers/_global_objects.dm @@ -0,0 +1 @@ +var/datum/gear_tweak/color/gear_tweak_free_color_choice = new() \ No newline at end of file diff --git a/code/datums/underwear/bottom.dm b/code/datums/underwear/bottom.dm index 04e2c426227..7f91a186081 100644 --- a/code/datums/underwear/bottom.dm +++ b/code/datums/underwear/bottom.dm @@ -2,144 +2,55 @@ name = "None" always_last = TRUE -/datum/category_item/underwear/bottom/briefs_white - name = "Briefs, white" - icon_state = "b1" +/datum/category_item/underwear/bottom/briefs + name = "Briefs" + icon_state = "briefs" + has_color = TRUE -/datum/category_item/underwear/bottom/briefs_white/is_default(var/gender) +/datum/category_item/underwear/bottom/briefs/is_default(var/gender) return gender != FEMALE -/datum/category_item/underwear/bottom/briefs_grey - name = "Briefs, grey" - icon_state = "b2" - -/datum/category_item/underwear/bottom/briefs_green - name = "Briefs, green" - icon_state = "b3" - -/datum/category_item/underwear/bottom/briefs_blue - name = "Briefs, blue" - icon_state = "b4" - -/datum/category_item/underwear/bottom/briefs_black - name = "Briefs, black" - icon_state = "b5" - -/datum/category_item/underwear/bottom/panties_noback - name = "Panties, noback" - icon_state = "b6" - /datum/category_item/underwear/bottom/boxers_loveheart name = "Boxers, Loveheart" - icon_state = "b7" + icon_state = "boxers_loveheart" -/datum/category_item/underwear/bottom/boxers_black - name = "Boxers, black" - icon_state = "b8" - -/datum/category_item/underwear/bottom/boxers_grey - name = "Boxers, grey" - icon_state = "b9" +/datum/category_item/underwear/bottom/boxers + name = "Boxers" + icon_state = "boxers" + has_color = TRUE /datum/category_item/underwear/bottom/boxers_green_and_blue name = "Boxers, green & blue striped" - icon_state = "b10" + icon_state = "boxers_green_and_blue" -/datum/category_item/underwear/bottom/panties_red - name = "Panties, red" - icon_state = "b11" +/datum/category_item/underwear/bottom/panties + name = "Panties" + icon_state = "panties" + has_color = TRUE -/datum/category_item/underwear/bottom/panties_white - name = "Panties, white" - icon_state = "b12" - -/datum/category_item/underwear/bottom/panties_white/is_default(var/gender) +/datum/category_item/underwear/bottom/panties/is_default(var/gender) return gender == FEMALE -/datum/category_item/underwear/bottom/panties_yellow - name = "Panties, yellow" - icon_state = "b13" +/datum/category_item/underwear/bottom/lacy_thong + name = "Lacy thong" + icon_state = "lacy_thong" -/datum/category_item/underwear/bottom/panties_blue - name = "Panties, blue" - icon_state = "b14" +/datum/category_item/underwear/bottom/lacy_thong_alt + name = "Lacy thong, alt" + icon_state = "lacy_thong_alt" + has_color = TRUE -/datum/category_item/underwear/bottom/panties_light_black - name = "Panties, light-black" - icon_state = "b15" +/datum/category_item/underwear/bottom/panties_alt + name = "Panties, alt" + icon_state = "panties_alt" + has_color = TRUE + +/datum/category_item/underwear/bottom/compression_shorts + name = "Compression shorts" + icon_state = "compression_shorts" + has_color = TRUE /datum/category_item/underwear/bottom/thong name = "Thong" - icon_state = "b16" - -/datum/category_item/underwear/bottom/panties_black - name = "Panties, black" - icon_state = "b17" - -/datum/category_item/underwear/bottom/panties_white_alt - name = "Bra, white alt" - icon_state = "b18" - -/datum/category_item/underwear/bottom/compression_shorts_black - name = "Compression shorts, black" - icon_state = "b19" - -/datum/category_item/underwear/bottom/compression_shorts_white - name = "Compression shorts, white" - icon_state = "b20" - -/datum/category_item/underwear/bottom/compression_shorts_baby_blue - name = "Compression shorts, baby-blue" - icon_state = "b21" - -/datum/category_item/underwear/bottom/panties_green - name = "Panties, green" - icon_state = "b22" - -/datum/category_item/underwear/bottom/compression_shorts_pink - name = "Compression shorts, pink" - icon_state = "b23" - -/datum/category_item/underwear/bottom/thong_violet - name = "Thong, violet" - icon_state = "b24" - -/datum/category_item/underwear/bottom/thong_alt - name = "Thong, alt" - icon_state = "b25" - -/datum/category_item/underwear/bottom/thong_violet_alt - name = "Thong, violet alt" - icon_state = "b26" - -/datum/category_item/underwear/bottom/alt_thong_black - name = "Alt. thong, black" - icon_state = "b27" - -/datum/category_item/underwear/bottom/alt_thong_blue - name = "Alt. thong, blue" - icon_state = "b28" - -/datum/category_item/underwear/bottom/alt_thong_green - name = "Alt. thong, green" - icon_state = "b29" - -/datum/category_item/underwear/bottom/alt_thong_purple - name = "Alt. thong, purple" - icon_state = "b30" - -/datum/category_item/underwear/bottom/alt_thong_red - name = "Alt. thong, red" - icon_state = "b31" - -/datum/category_item/underwear/bottom/alt_thong_teal - name = "Alt. thong, teal" - icon_state = "b32" - -/datum/category_item/underwear/bottom/alt_thong_violet - name = "Alt. thong, violet" - icon_state = "b33" - -/datum/category_item/underwear/bottom/alt_thong_white - name = "Alt. thong, white" - icon_state = "b34" \ No newline at end of file + icon_state = "thong" + has_color = TRUE \ No newline at end of file diff --git a/code/datums/underwear/socks.dm b/code/datums/underwear/socks.dm index ab33162e041..fc1c96ce538 100644 --- a/code/datums/underwear/socks.dm +++ b/code/datums/underwear/socks.dm @@ -2,57 +2,49 @@ always_last = TRUE name = "None" -/datum/category_item/underwear/socks/white_normal - name = "Normal, white" - icon_state = "white_norm" +/datum/category_item/underwear/socks/normal + name = "Normal" + icon_state = "socks_norm" + has_color = TRUE -/datum/category_item/underwear/socks/white_short - name = "Short, white" - icon_state = "white_short" +/datum/category_item/underwear/socks/short + name = "Short" + icon_state = "socks_short" + has_color = TRUE -/datum/category_item/underwear/socks/white_knee - name = "Knee, white" - icon_state = "white_knee" +/datum/category_item/underwear/socks/thigh + name = "Thigh" + icon_state = "socks_thigh" + has_color = TRUE -/datum/category_item/underwear/socks/white_thigh - name = "Thigh, white" - icon_state = "white_thigh" +/datum/category_item/underwear/socks/knee + name = "Knee" + icon_state = "socks_knee" + has_color = TRUE -/datum/category_item/underwear/socks/black_normal - name = "Normal, black" - icon_state = "black_norm" +/datum/category_item/underwear/socks/striped_knee + name = "Knee, striped" + icon_state = "striped_knee" + has_color = TRUE -/datum/category_item/underwear/socks/black_short - name = "Short, black" - icon_state = "black_short" - -/datum/category_item/underwear/socks/black_knee - name = "Knee, black" - icon_state = "black_knee" - -/datum/category_item/underwear/socks/black_thigh - name = "Thigh, black" - icon_state = "black_thigh" - -/datum/category_item/underwear/socks/thin_knee - name = "Knee, thin" - icon_state = "thin_knee" - -/datum/category_item/underwear/socks/thin_thigh - name = "Thigh, thin" - icon_state = "thin_thigh" +/datum/category_item/underwear/socks/striped_thigh + name = "Thigh, striped" + icon_state = "striped_thigh" + has_color = TRUE /datum/category_item/underwear/socks/pantyhose name = "Pantyhose" icon_state = "pantyhose" -/datum/category_item/underwear/socks/striped_thigh - name = "Thigh, striped" - icon_state = "striped_thigh" +/datum/category_item/underwear/socks/thin_thigh + name = "Thigh, thin" + icon_state = "thin_thigh" + has_color = TRUE -/datum/category_item/underwear/socks/striped_knee - name = "Knee, striped" - icon_state = "striped_knee" +/datum/category_item/underwear/socks/thin_knee + name = "Knee, thin" + icon_state = "thin_knee" + has_color = TRUE /datum/category_item/underwear/socks/rainbow_thigh name = "Thigh, rainbow" @@ -64,12 +56,4 @@ /datum/category_item/underwear/socks/fishnet name = "Fishnet" - icon_state = "fishnet" - -/datum/category_item/underwear/socks/thinwhite_thigh - name = "Thigh, thin white" - icon_state = "thinwhite_thigh" - -/datum/category_item/underwear/socks/thinwhite_knee - name = "Knee, thin white" - icon_state = "thinwhite_knee" \ No newline at end of file + icon_state = "fishnet" \ No newline at end of file diff --git a/code/datums/underwear/top.dm b/code/datums/underwear/top.dm index 4e23a702958..8640e77da90 100644 --- a/code/datums/underwear/top.dm +++ b/code/datums/underwear/top.dm @@ -5,102 +5,39 @@ /datum/category_item/underwear/top/none/is_default(var/gender) return gender != FEMALE -/datum/category_item/underwear/top/bra_red - name = "Bra, red" - icon_state = "t1" - -/datum/category_item/underwear/top/bra_white +/datum/category_item/underwear/top/bra is_default = TRUE - name = "Bra, white" - icon_state = "t2" + name = "Bra" + icon_state = "bra" + has_color = TRUE -/datum/category_item/underwear/top/bra_white/is_default(var/gender) +/datum/category_item/underwear/top/bra/is_default(var/gender) return gender == FEMALE -/datum/category_item/underwear/top/bra_yellow - name = "Bra, yellow" - icon_state = "t3" +/datum/category_item/underwear/top/sports_bra + name = "Sports bra" + icon_state = "sports_bra" + has_color = TRUE -/datum/category_item/underwear/top/bra_blue - name = "Bra, blue" - icon_state = "t4" - -/datum/category_item/underwear/top/bra_black - name = "Bra, black" - icon_state = "t5" +/datum/category_item/underwear/top/sports_bra_alt + name = "Sports bra, alt" + icon_state = "sports_bra_alt" + has_color = TRUE /datum/category_item/underwear/top/lacy_bra name = "Lacy bra" - icon_state = "t6" - -/datum/category_item/underwear/top/sports_bra_black - name = "Sports bra, black" - icon_state = "t7" - -/datum/category_item/underwear/top/sports_bra_white - name = "Sports bra, white" - icon_state = "t8" - -/datum/category_item/underwear/top/sports_bra_black_alt - name = "Sports bra, black alt" - icon_state = "t9" - -/datum/category_item/underwear/top/sports_bra_white_alt - name = "Sports bra, white alt" - icon_state = "t10" - -/datum/category_item/underwear/top/bra_baby_blue - name = "Bra, baby blue" - icon_state = "t11" - -/datum/category_item/underwear/top/bra_green - name = "Bra, green" - icon_state = "t12" - -/datum/category_item/underwear/top/bra_pink - name = "Bra, pink" - icon_state = "t13" - -/datum/category_item/underwear/top/bra_violet - name = "Bra, violet" - icon_state = "t14" + icon_state = "lacy_bra" /datum/category_item/underwear/top/lacy_bra_alt name = "Lacy bra, alt" - icon_state = "t15" + icon_state = "lacy_bra_alt" + has_color = TRUE -/datum/category_item/underwear/top/bra_lacy_violet - name = "Lacy bra, violet" - icon_state = "t16" +/datum/category_item/underwear/top/lacy_bra_alt_stripe + name = "Lacy bra, alt, stripe" + icon_state = "lacy_bra_alt_stripe" -/datum/category_item/underwear/top/halterneck_bra_black - name = "Halterneck bra, black" - icon_state = "t17" - -/datum/category_item/underwear/top/halterneck_bra_blue - name = "Halterneck bra, blue" - icon_state = "t18" - -/datum/category_item/underwear/top/halterneck_bra_green - name = "Halterneck bra, green" - icon_state = "t19" - -/datum/category_item/underwear/top/halterneck_bra_purple - name = "Halterneck bra, purple" - icon_state = "t20" - -/datum/category_item/underwear/top/halterneck_bra_red - name = "Halterneck bra, red" - icon_state = "t21" - -/datum/category_item/underwear/top/halterneck_bra_teal - name = "Halterneck bra, teal" - icon_state = "t22" - -/datum/category_item/underwear/top/halterneck_bra_violet - name = "Halterneck bra, violet" - icon_state = "t23" - -/datum/category_item/underwear/top/halterneck_bra_white - name = "Halterneck bra, white" - icon_state = "t24" \ No newline at end of file +/datum/category_item/underwear/top/halterneck_bra + name = "Halterneck bra" + icon_state = "halterneck_bra" + has_color = TRUE \ No newline at end of file diff --git a/code/datums/underwear/undershirts.dm b/code/datums/underwear/undershirts.dm index f1149dabb70..33886f997d7 100644 --- a/code/datums/underwear/undershirts.dm +++ b/code/datums/underwear/undershirts.dm @@ -3,74 +3,25 @@ name = "None" always_last = TRUE -/datum/category_item/underwear/undershirt/tank_top_white - name = "Tank top, white" - icon_state = "u1" +/datum/category_item/underwear/undershirt/shirt + name = "Shirt" + icon_state = "undershirt" + has_color = TRUE -/datum/category_item/underwear/undershirt/tank_top_white_alt - name = "Tank top, white alt" - icon_state = "tank_white_s" +/datum/category_item/underwear/undershirt/tank_top + name = "Tank top" + icon_state = "tanktop" + has_color = TRUE -/datum/category_item/underwear/undershirt/tank_top_black - name = "Tank top, black" - icon_state = "u2" - -/datum/category_item/underwear/undershirt/tank_top_red - name = "Tank top, red" - icon_state = "tank_red_s" +/datum/category_item/underwear/undershirt/tank_top_alt + name = "Tank top, alt" + icon_state = "tanktop_alt" + has_color = TRUE /datum/category_item/underwear/undershirt/tank_top_fire name = "Tank top, fire" icon_state = "tank_fire_s" -/datum/category_item/underwear/undershirt/shirt_black - name = "Shirt, black" - icon_state = "u3" - -/datum/category_item/underwear/undershirt/shirt_black_alt - name = "Shirt, black alt" - icon_state = "shirt_black_s" - -/datum/category_item/underwear/undershirt/shirt_white - name = "Shirt, white" - icon_state = "u4" - -/datum/category_item/underwear/undershirt/shirt_white_alt - name = "Shirt, white alt" - icon_state = "shirt_white_s" - -/datum/category_item/underwear/undershirt/shirt_grey - name = "Shirt, grey" - icon_state = "shirt_grey_s" - -/datum/category_item/underwear/undershirt/shirt_blue - name = "Shirt, blue" - icon_state = "blueshirt_s" - -/datum/category_item/underwear/undershirt/shirt_blue_alt - name = "Shirt, blue alt" - icon_state = "shirt_blue_s" - -/datum/category_item/underwear/undershirt/shirt_red - name = "Shirt, red" - icon_state = "redshirt_s" - -/datum/category_item/underwear/undershirt/shirt_red_alt - name = "Shirt, red alt" - icon_state = "shirt_red_s" - -/datum/category_item/underwear/undershirt/shirt_yellow - name = "Shirt, yellow" - icon_state = "yellowshirt_s" - -/datum/category_item/underwear/undershirt/shirt_green - name = "Shirt, green" - icon_state = "greenshirt_s" - -/datum/category_item/underwear/undershirt/shirt_green_alt - name = "Shirt, green alt" - icon_state = "shirt_green_s" - /datum/category_item/underwear/undershirt/shirt_heart name = "Shirt, heart" icon_state = "lover_s" @@ -80,44 +31,18 @@ icon_state = "shirt_nano_s" /datum/category_item/underwear/undershirt/shirt_love_nt - name = "Shirt, I<3NT" + name = "Shirt, I<3NT" icon_state = "lover_s" -/datum/category_item/underwear/undershirt/shortsleeve_shirt_white - name = "Shortsleeve shirt, white" - icon_state = "whiteshortsleeve_s" +/datum/category_item/underwear/undershirt/shortsleeve_shirt + name = "Shortsleeve shirt" + icon_state = "shortsleeve" + has_color = TRUE -/datum/category_item/underwear/undershirt/shortsleeve_shirt_purple - name = "Shortsleeve shirt, purple" - icon_state = "purpleshortsleeve_s" - -/datum/category_item/underwear/undershirt/shortsleeve_shirt_blue - name = "Shortsleeve shirt, blue" - icon_state = "blueshortsleeve_s" - -/datum/category_item/underwear/undershirt/shortsleeve_shirt_green - name = "Shortsleeve shirt, green" - icon_state = "greenshortsleeve_s" - -/datum/category_item/underwear/undershirt/shortsleeve_shirt_black - name = "Shortsleeve shirt, black" - icon_state = "blackshortsleeve_s" - -/datum/category_item/underwear/undershirt/polo_shirt_blue - name = "Polo shirt, blue" - icon_state = "bluepolo_s" - -/datum/category_item/underwear/undershirt/polo_shirt_red - name = "Polo shirt, red" - icon_state = "redpolo_s" - -/datum/category_item/underwear/undershirt/polo_shirt_white - name = "Polo shirt, white" - icon_state = "whitepolo_s" - -/datum/category_item/underwear/undershirt/polo_shirt_grey_yellow - name = "Polo shirt, grey and yellow" - icon_state = "grayyellowpolo_s" +/datum/category_item/underwear/undershirt/polo_shirt + name = "Polo shirt" + icon_state = "polo" + has_color = TRUE /datum/category_item/underwear/undershirt/sport_shirt_green name = "Sport shirt, green" diff --git a/code/datums/underwear/underwear.dm b/code/datums/underwear/underwear.dm index 8b73dbddbb8..d14ddea1339 100644 --- a/code/datums/underwear/underwear.dm +++ b/code/datums/underwear/underwear.dm @@ -41,6 +41,12 @@ datum/category_group/underwear/dd_SortValue() var/is_default = FALSE // Should this entry be considered the default for its type? var/icon = 'icons/mob/human.dmi' // Which icon to get the underwear from var/icon_state // And the particular item state + var/list/tweaks = list() // Underwear customizations. + var/has_color = FALSE + +/datum/category_item/underwear/New() + if(has_color) + tweaks += gear_tweak_free_color_choice /datum/category_item/underwear/dd_SortValue() if(always_last) @@ -50,7 +56,11 @@ datum/category_group/underwear/dd_SortValue() /datum/category_item/underwear/proc/is_default(var/gender) return is_default -/datum/category_item/underwear/proc/apply_to_icon(var/icon/I) +/datum/category_item/underwear/proc/generate_image(var/list/metadata) if(!icon_state) return - I.Blend(new /icon('icons/mob/human.dmi', icon_state), ICON_OVERLAY) \ No newline at end of file + + var/image/I = image(icon = 'icons/mob/human.dmi', icon_state = icon_state) + for(var/datum/gear_tweak/gt in tweaks) + gt.tweak_item(I, metadata && metadata["[gt]"] ? metadata["[gt]"] : gt.get_default()) + return I \ No newline at end of file diff --git a/code/game/objects/structures/under_wardrobe.dm b/code/game/objects/structures/under_wardrobe.dm index 2ded3ef17e8..d510c488e1f 100644 --- a/code/game/objects/structures/under_wardrobe.dm +++ b/code/game/objects/structures/under_wardrobe.dm @@ -17,11 +17,31 @@ for(var/datum/category_group/underwear/UWC in global_underwear.categories) var/datum/category_item/underwear/UWI = H.all_underwear[UWC.name] var/item_name = UWI ? UWI.name : "None" - dat += "[UWC.name]: [item_name] (Remove)
" + dat += "[UWC.name]: [item_name]" + if(UWI) + for(var/datum/gear_tweak/gt in UWI.tweaks) + dat += " [gt.get_contents(get_metadata(H, UWC.name, gt))]" + dat += " (Remove)
" dat = jointext(dat) H << browse(dat, "window=wardrobe;size=400x200") +/obj/structure/undies_wardrobe/proc/get_metadata(var/mob/living/carbon/human/H, var/underwear_category, var/datum/gear_tweak/gt) + var/metadata = H.all_underwear_metadata[underwear_category] + if(!metadata) + metadata = list() + H.all_underwear_metadata[underwear_category] = metadata + + var/tweak_data = metadata["[gt]"] + if(!tweak_data) + tweak_data = gt.get_default() + metadata["[gt]"] = tweak_data + return tweak_data + +/obj/structure/undies_wardrobe/proc/set_metadata(var/mob/living/carbon/human/H, var/underwear_category, var/datum/gear_tweak/gt, var/new_metadata) + var/list/metadata = H.all_underwear_metadata[underwear_category] + metadata["[gt]"] = new_metadata + /obj/structure/undies_wardrobe/proc/human_who_can_use_underwear(var/mob/living/carbon/human/H) if(!istype(H) || !H.species || !(H.species.appearance_flags & HAS_UNDERWEAR)) return FALSE @@ -50,6 +70,18 @@ if(selected_underwear && CanUseTopic(H, default_state)) H.all_underwear[UWC.name] = selected_underwear . = TRUE + else if(href_list["underwear"] && href_list["tweak"]) + var/underwear = href_list["underwear"] + if(!(underwear in H.all_underwear)) + return + var/datum/gear_tweak/gt = locate(href_list["tweak"]) + if(!gt) + return + var/new_metadata = gt.get_metadata(usr, get_metadata(H, underwear, gt), "Wardrobe Underwear Selection") + if(new_metadata) + set_metadata(H, underwear, gt, new_metadata) + . = TRUE + if(.) - H.update_body(1) + H.update_underwear() interact(H) \ No newline at end of file diff --git a/code/modules/client/preference_setup/general/04_equipment.dm b/code/modules/client/preference_setup/general/04_equipment.dm index b7758a6fa95..8c53b9e7f81 100644 --- a/code/modules/client/preference_setup/general/04_equipment.dm +++ b/code/modules/client/preference_setup/general/04_equipment.dm @@ -1,5 +1,6 @@ /datum/preferences var/list/all_underwear + var/list/all_underwear_metadata /datum/category_item/player_setup_item/general/equipment name = "Clothing" @@ -7,11 +8,13 @@ /datum/category_item/player_setup_item/general/equipment/load_character(var/savefile/S) S["all_underwear"] >> pref.all_underwear + S["all_underwear_metadata"] >> pref.all_underwear_metadata S["backbag"] >> pref.backbag S["pdachoice"] >> pref.pdachoice /datum/category_item/player_setup_item/general/equipment/save_character(var/savefile/S) S["all_underwear"] << pref.all_underwear + S["all_underwear_metadata"] << pref.all_underwear_metadata S["backbag"] << pref.backbag S["pdachoice"] << pref.pdachoice @@ -27,15 +30,21 @@ pref.all_underwear[WRC.name] = WRI.name break + if(!istype(pref.all_underwear_metadata)) + pref.all_underwear_metadata = list() + for(var/underwear_category in pref.all_underwear) var/datum/category_group/underwear/UWC = global_underwear.categories_by_name[underwear_category] if(!UWC) - pref.all_underwear -= UWC + pref.all_underwear -= underwear_category else var/datum/category_item/underwear/UWI = UWC.items_by_name[pref.all_underwear[underwear_category]] if(!UWI) - pref.all_underwear -= UWC + pref.all_underwear -= underwear_category + for(var/underwear_metadata in pref.all_underwear_metadata) + if(!(underwear_metadata in pref.all_underwear)) + pref.all_underwear_metadata -= underwear_metadata pref.backbag = sanitize_integer(pref.backbag, 1, backbaglist.len, initial(pref.backbag)) pref.pdachoice = sanitize_integer(pref.pdachoice, 1, pdachoicelist.len, initial(pref.pdachoice)) @@ -44,12 +53,35 @@ . += "Equipment:
" for(var/datum/category_group/underwear/UWC in global_underwear.categories) var/item_name = pref.all_underwear[UWC.name] ? pref.all_underwear[UWC.name] : "None" - . += "[UWC.name]: [item_name]
" + . += "[UWC.name]: [item_name]" + var/datum/category_item/underwear/UWI = UWC.items_by_name[item_name] + if(UWI) + for(var/datum/gear_tweak/gt in UWI.tweaks) + . += " [gt.get_contents(get_metadata(UWC.name, gt))]" + + . += "
" . += "Backpack Type: [backbaglist[pref.backbag]]
" . += "PDA Type: [pdachoicelist[pref.pdachoice]]
" return jointext(.) +/datum/category_item/player_setup_item/general/equipment/proc/get_metadata(var/underwear_category, var/datum/gear_tweak/gt) + var/metadata = pref.all_underwear_metadata[underwear_category] + if(!metadata) + metadata = list() + pref.all_underwear_metadata[underwear_category] = metadata + + var/tweak_data = metadata["[gt]"] + if(!tweak_data) + tweak_data = gt.get_default() + metadata["[gt]"] = tweak_data + return tweak_data + +/datum/category_item/player_setup_item/general/equipment/proc/set_metadata(var/underwear_category, var/datum/gear_tweak/gt, var/new_metadata) + var/list/metadata = pref.all_underwear_metadata[underwear_category] + metadata["[gt]"] = new_metadata + + /datum/category_item/player_setup_item/general/equipment/OnTopic(var/href,var/list/href_list, var/mob/user) if(href_list["change_backpack"]) var/new_backbag = input(user, "Choose your character's style of bag:", "Character Preference", backbaglist[pref.backbag]) as null|anything in backbaglist @@ -72,4 +104,16 @@ pref.all_underwear[UWC.name] = selected_underwear.name return TOPIC_REFRESH_UPDATE_PREVIEW + else if(href_list["underwear"] && href_list["tweak"]) + var/underwear = href_list["underwear"] + if(!(underwear in pref.all_underwear)) + return TOPIC_NOACTION + var/datum/gear_tweak/gt = locate(href_list["tweak"]) + if(!gt) + return TOPIC_NOACTION + var/new_metadata = gt.get_metadata(usr, get_metadata(underwear, gt)) + if(new_metadata) + set_metadata(underwear, gt, new_metadata) + return TOPIC_REFRESH_UPDATE_PREVIEW + return ..() \ No newline at end of file diff --git a/code/modules/client/preference_setup/loadout/gear_tweaks.dm b/code/modules/client/preference_setup/loadout/gear_tweaks.dm index 820c95f3248..e8b1a56d621 100644 --- a/code/modules/client/preference_setup/loadout/gear_tweaks.dm +++ b/code/modules/client/preference_setup/loadout/gear_tweaks.dm @@ -17,8 +17,6 @@ * Color adjustment */ -var/datum/gear_tweak/color/gear_tweak_free_color_choice = new() - /datum/gear_tweak/color var/list/valid_colors @@ -32,10 +30,10 @@ var/datum/gear_tweak/color/gear_tweak_free_color_choice = new() /datum/gear_tweak/color/get_default() return valid_colors ? valid_colors[1] : COLOR_GRAY -/datum/gear_tweak/color/get_metadata(var/user, var/metadata) +/datum/gear_tweak/color/get_metadata(var/user, var/metadata, var/title = "Character Preference") if(valid_colors) - return input(user, "Choose an item color.", "Character Preference", metadata) as null|anything in valid_colors - return input(user, "Choose an item color.", "Global Preference", metadata) as color|null + return input(user, "Choose a color.", title, metadata) as null|anything in valid_colors + return input(user, "Choose a color.", title, metadata) as color|null /datum/gear_tweak/color/tweak_item(var/obj/item/I, var/metadata) if(valid_colors && !(metadata in valid_colors)) diff --git a/code/modules/client/preferences.dm b/code/modules/client/preferences.dm index d72cb29a087..665ea5836c1 100644 --- a/code/modules/client/preferences.dm +++ b/code/modules/client/preferences.dm @@ -344,10 +344,17 @@ datum/preferences I.robotize() character.all_underwear.Cut() + character.all_underwear_metadata.Cut() + for(var/underwear_category_name in all_underwear) - var/underwear_item_name = all_underwear[underwear_category_name] var/datum/category_group/underwear/underwear_category = global_underwear.categories_by_name[underwear_category_name] - character.all_underwear[underwear_category_name] = underwear_category.items_by_name[underwear_item_name] + if(underwear_category) + var/underwear_item_name = all_underwear[underwear_category_name] + character.all_underwear[underwear_category_name] = underwear_category.items_by_name[underwear_item_name] + if(all_underwear_metadata[underwear_category_name]) + character.all_underwear_metadata[underwear_category_name] = all_underwear_metadata[underwear_category_name] + else + all_underwear -= underwear_category_name if(backbag > 4 || backbag < 1) backbag = 1 //Same as above @@ -361,6 +368,7 @@ datum/preferences character.force_update_limbs() character.update_mutations(0) character.update_body(0) + character.update_underwear(0) character.update_hair(0) character.update_icons() diff --git a/code/modules/mob/living/carbon/human/human_defines.dm b/code/modules/mob/living/carbon/human/human_defines.dm index cec1328f735..13f4f2f25a2 100644 --- a/code/modules/mob/living/carbon/human/human_defines.dm +++ b/code/modules/mob/living/carbon/human/human_defines.dm @@ -34,6 +34,7 @@ var/synthetic //If they are a synthetic (aka synthetic torso) var/list/all_underwear = list() + var/list/all_underwear_metadata = list() var/backbag = 2 //Which backpack type the player has chosen. Nothing, Satchel or Backpack. var/pdachoice = 1 //Which PDA type the player has chosen. Default, Slim, or Old. diff --git a/code/modules/mob/living/carbon/human/update_icons.dm b/code/modules/mob/living/carbon/human/update_icons.dm index 5f28fbf0e82..43123eab0a0 100644 --- a/code/modules/mob/living/carbon/human/update_icons.dm +++ b/code/modules/mob/living/carbon/human/update_icons.dm @@ -109,29 +109,30 @@ Please contact me on #coderbus IRC. ~Carn x #define MUTATIONS_LAYER 1 #define DAMAGE_LAYER 2 #define SURGERY_LEVEL 3 //bs12 specific. -#define UNIFORM_LAYER 4 -#define ID_LAYER 5 -#define SHOES_LAYER 6 -#define GLOVES_LAYER 7 -#define BELT_LAYER 8 -#define SUIT_LAYER 9 -#define TAIL_LAYER 10 //bs12 specific. this hack is probably gonna come back to haunt me -#define GLASSES_LAYER 11 -#define BELT_LAYER_ALT 12 -#define SUIT_STORE_LAYER 13 -#define BACK_LAYER 14 -#define HAIR_LAYER 15 //TODO: make part of head layer? -#define EARS_LAYER 16 -#define FACEMASK_LAYER 17 -#define HEAD_LAYER 18 -#define COLLAR_LAYER 19 -#define HANDCUFF_LAYER 20 -#define LEGCUFF_LAYER 21 -#define L_HAND_LAYER 22 -#define R_HAND_LAYER 23 -#define FIRE_LAYER 24 //If you're on fire -#define TARGETED_LAYER 25 //BS12: Layer for the target overlay from weapon targeting system -#define TOTAL_LAYERS 25 +#define UNDERWEAR_LAYER 4 +#define UNIFORM_LAYER 5 +#define ID_LAYER 6 +#define SHOES_LAYER 7 +#define GLOVES_LAYER 8 +#define BELT_LAYER 9 +#define SUIT_LAYER 10 +#define TAIL_LAYER 11 //bs12 specific. this hack is probably gonna come back to haunt me +#define GLASSES_LAYER 12 +#define BELT_LAYER_ALT 13 +#define SUIT_STORE_LAYER 14 +#define BACK_LAYER 15 +#define HAIR_LAYER 16 //TODO: make part of head layer? +#define EARS_LAYER 17 +#define FACEMASK_LAYER 18 +#define HEAD_LAYER 19 +#define COLLAR_LAYER 20 +#define HANDCUFF_LAYER 21 +#define LEGCUFF_LAYER 22 +#define L_HAND_LAYER 23 +#define R_HAND_LAYER 24 +#define FIRE_LAYER 25 //If you're on fire +#define TARGETED_LAYER 26 //BS12: Layer for the target overlay from weapon targeting system +#define TOTAL_LAYERS 26 ////////////////////////////////// /mob/living/carbon/human @@ -148,8 +149,12 @@ Please contact me on #coderbus IRC. ~Carn x if (icon_update) icon = stand_icon - for(var/image/I in overlays_standing) - overlays += I + for(var/entry in overlays_standing) + if(istype(entry, /image)) + overlays += entry + else if(istype(entry, /list)) + for(var/inner_entry in entry) + overlays += inner_entry if(lying && !species.prone_icon) //Only rotate them if we're not drawing a specific icon for being prone. var/matrix/M = matrix() @@ -318,18 +323,24 @@ var/global/list/damage_icon_parts = list() //END CACHED ICON GENERATION. stand_icon.Blend(base_icon,ICON_OVERLAY) - //Underwear - if(species.appearance_flags & HAS_UNDERWEAR) - for(var/category in all_underwear) - var/datum/category_item/underwear/UW = all_underwear[category] - UW.apply_to_icon(stand_icon) - if(update_icons) update_icons() //tail update_tail_showing(0) +//UNDERWEAR OVERLAY +/mob/living/carbon/human/proc/update_underwear(var/update_icons=1) + overlays_standing[UNDERWEAR_LAYER] = null + + if(species.appearance_flags & HAS_UNDERWEAR) + overlays_standing[UNDERWEAR_LAYER] = list() + for(var/category in all_underwear) + var/datum/category_item/underwear/UWI = all_underwear[category] + overlays_standing[UNDERWEAR_LAYER] += UWI.generate_image(all_underwear_metadata[category]) + + if(update_icons) update_icons() + //HAIR OVERLAY /mob/living/carbon/human/proc/update_hair(var/update_icons=1) //Reset our hair @@ -424,6 +435,7 @@ var/global/list/damage_icon_parts = list() update_mutations(0) update_body(0) + update_underwear(0) update_hair(0) update_inv_w_uniform(0) update_inv_wear_id(0) diff --git a/icons/mob/human.dmi b/icons/mob/human.dmi index e3b924ee2c7501b9e39934508c68c595a27c9eae..4ed82dd5ed2b9ade04369034ee072d56b8ced1d0 100644 GIT binary patch literal 26738 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 S02m(vfoba9Dg4Xk@BalS literal 46876 zcmd43by!qy*ET#zOP6$r3WzikN(u-fEg+rJNT<|*lt_tmNrQAr$I#tK#}JZ3H_R~e zZT#K${XFmceaG|Pcf7BM&Yr#Zb?sQ!igTT7jbWBj?t?%e0{J&G??9k?D|i2J zuz({|%N@ADj=7hHwyTV}%Liv`M^|eHdl1MoEj?-2ew_zDX!KYeXWv(CZZ3ntStnQf z&seJz)6B0Y+A;WHQLA;(z{#^;gK7@AN1yo2gz=N)&fy!QJ4*CMDpT?A+d z@1a!)E%w-Bz7g3XX~UxB9}Ko?2-20Mp`IJ;^B`&HW0o-glNcd7_{EPjS?Az@!^0z? zNn~(oc>0Mr_cSlsWG71mPqTd8a`U6WhH+_TvsvHfclU(1*5mJ?|1qUkujO^RkkQI* zwN{Sh_Q^kYStXNZzMscvy4+iS<&0~snN9dw>qMN3&G#8apq|7exo;PKATTedNSY7! zp79El%JaiJ@o3LX**+Wpv>l_XPmafOQ9hfnlvw)EsQ@&&_frp#Z=H1O>4V|t1JKjY z;uW03#IXoHw}o;+7OXj5;s7>1A?=TW#`X?ydgrFfZwmz7i&buD>gF)10IOFX5>AS( z9&=dV^#qgKiX(O0D>%amtKn!LEJC^0zQq?R`mmEa40bIrAJ-`QaFVK+uNA%#O$h7d z+v*7xN7$JNRbN@k708R)H~Ej-*pOD%HIks}uUI7hd@#B{+Q6mS2{3(YHWeUaDBMyEpk!qTnm{K?ogNUWRFueOt z54!t?^KcTE#_^w{&%Y<^fy7JV=)ryDhqejg=8BfLW?ek-XR%AD{%I9ie06yV>RSk6 zwlm)(iAM?jkZWP&c%}qm(ut)2zC2i(hlAO7SRaL$!N6-|8Ny7<5abO^2=<#riwMiM zja6mtI8+flhd#Y!JnW)N1X6z`QB#4x+(989*4~PW+0?}sn0c&}u|9e{GlydIy)>Du z+hfSJ@Z|l?_-cC=ywb99qj=@Yh$5gBOcI)zG8uUkz0y%@C#5(=me&-by7KySEpa-M`#trI2hJh5GyZw`L;O;9TLfGr_k$ANfnsv#doa z6}N(npmt?C_5vlpTYvuNl7yhvYLcvP9dgh|xo%hhzbcn#&`DjsiA{|aNA_PKjZn+d z7B=I(-vp}L_@L6aBxb`LlEA*>tv3Q$Y}OeV4$xv$CrD6;)8?kQdRS+4?gUtrE80dAO{xAy_`&zkm@A97yHG;xhCO zV*I2)-yFY?%yJC-pAA^RO2Vppjr@fkfaMx+NwBsfyP*NSM#eSa3S%#~g+I}>Z!*=I zBk(}RdOZ-PSvr~C{z=`lg54{J!7EC;bqMFW(RV>)KLS}mC8>L#cuzRIWC&k>x9JP8 z!4Mf?=6q7Ck3D$}caWnprpFq?jlrDmUvBYM(-YxCIzP~T;=B{yJX%vzGuz}*{>~2D z@K*~dpS4vR>#O03f{1_{-!E8tj!#|DJW(F?tF@13;&gkNizGK@NGnRd5*+l z6m@cq)zxSn&!g%Gx2x`E`aZt8(WuYng?9(zqQRZu)?m!RckA0*Xa5 zhQT_Bmsr-wTWkV5aND*#6xi{~RSOsA@r9t8JPrjf4wk|J`I}NZ#P}`&Z*)Rqmc^ZF zWZdPyTNGf}W_2X|(~YU6}qTyZr%%H2uJNU{;jcoU93s>sbKL z>JNkzIbz4h^8~LZ$w3EP6a}_#=iRtz!0ZKbq^J#Y@z??av9R#CNXa z%tPp**aQy$a3Hw@*U)pKiARy!hxQW}mlEj^R0qajh_#SLHoSRL*1{Jbt58|M^B z2U{0zK$Q3!;|}ZAe)D!~9M*vP<`ly!mIO3f*;X|9jaQOZxtz@u)~!DHA-XY}gL3m7 zdNtduQZp1FrdqIhFC(8?m8{;hTHA57No4y`q-Q?^*kDs((VtDRj;UJ+o2nI8_58|m zh`l2(d4}nk2QQX%Y2SSg*>W^9eD1AFBl_$f-6R#0j*T1Jc$Tp;?y)>>7n21+V^5Tu z#frz_vfZrhvD?EbPu6DKSlKj1ESe)+(~Mi=K7KOvafV!P3uXZ^ydSIP<^nc^pQR*d zKEAf`+GA;cZX^z3>Xe{-svsUYwCB&~`y%RWH87+8%&-4FX;z>@7G9gQ@@a0yn;RVyA!bZ^r?b+1O&2&wn)C{Q1m?D;yC*4peXWQn-Pe-Y>W?S zO}H+xos5a90goI)vVAGlp)V>;yYH81S9a*C1d}M$w$gLYhd{fohn-T3g$^nveu-xl`01l6@ z8hzjl^OVTGim|>SV;r3oHzd}2#sOWRV zgyQjVSoo{UD{lnmbo7ub9jf>i4k^g)NZTd|0etjNSanQ5;yozl;gN}mad?r?Hy|2Wt2nfzhE9wSy1)q=EwlMDPSBW=$B91%X zuZgx^UaTKAZ5RlwNZY?ZEo#|PH;Pw63P+d3VCQq9LwTm%%&v3$*Et41AVXIEFiHWW z9<_nZ-YYSoFLI#BI&O@|JY4g(2PzM>Ml4NJ4oTGab7;R~m^oD6haVnOW*W;k6tnoK zybf--pHtB4BE{h`88moms3Kz&O8sC{&yQ*Z2mu=Xky1(aAkVch);Jrb2_HNl>;z?^ zWiYj;Y>mwrMlWCb+18xb%;+6@L*bk^^RRV79D81J`{4R(JWz<&NY8_$#5M8o)b@~$ z(z0G-R_#-|E_B|m0Ha<-48R*XSv+nri~KHL*LfU$cP>SxHBaAC^ltMJv98=om*3#R z_s3LBNYRn`R%ZRM7O6c8K{*cRf{-5?p+IOzqZGAB76QyG?Z5HG9ggt7kcG?luM zY<{H~pzrQ1Xa2;-)|PiGM()>;OqKh-ZgZo3dd(;h8#L`ZLgk;s`!~wua0srn`{q~! z>dyG7z8d~Q?qJ*g=u|ypZqCc7oOXJK_v8%D)q_8!>OzoRddTFq`FZxfY{??0+vYtP zJ!mCit1qQqJcIv!Pv<(fBdMWzfEQ4s#@a!U(KT~_IF)T?U^_SB2; zKz5Yyl2q~Dul)ovJH2;dS5?<$7;HCsVK`gMY0tF__#LgP6)B@6r7Q=b*{W8a9QL;+ zpsnkX*P<^s*B(qtmT6ZqAAI${&FvycV|XDkQro%&+!mpjm76DDU z#+2T;nz;)(Rxdv$6YwGd-NQ;D)Prr)pnf=J2t4{yM$3EWNO4-op>$_K@HJCsyn@C< zU?-QNOe(iw`Xw%4SFds#9#{t#Gwn`bYB`g}y#bdTLQ-!&tp1(>g4#EsNA7&NQtBW1 z9b`AzPSe>~>h6?s&Eo1Cf7=BuNqRnR^E=XEo|D~1x9y7fyuIa?g|Rr2sBmewX#?3L zhXyDGOvN*$-D&ea>tn)^&wTPh$E0SP3bfE>_6C9R}`bNE_*!~wyRyjHC|~? z|IOGBW;T3}nGdpN@kR}cng9Kw)@RY%%$2Btw}8IVPqXY;X9oFbn_&6e>+=9yeoC~) zXheO+uM#@5p|8~UOeXZFh&ZU@HEAMTnFSu<1;&ijyA4K3nB`+7)E9C0rN)FMkWIZ0 z3--y3#L`=7@>J~S!1xTfxa8LGV$V`GJlG++K;E23ilAi(|?VHsCD> zfXfsypza`KhY#TMa(bXjryD_&L#)bnMe@&)>?BYyD5n*5FB;NzKGalC^NsD4OBtl$ zi%Pe*QFN8g{raM4|K>xoU%ZRiA+RLG{27b-TA_DV`kU;j+fdLuJw4m=b^!8}roM_j z684fR!vP`@U_I-efm!OMd7i4FscuQq`>e#u!)PF?D&9rJ@`B{-e=qHY@g4R8HD34 z)JBSY=r? zTD}FYizjKO@6Ip5KmyXWWc+C>-D3@itg5Q2{(3dSmz74MOGQCi^q4)5O4_GrkfmC=LJKIPj!_k=Z)W7(?B-LVeHuLY9nNHYw zc55rc>({TH2HjTAz1#*?|MbV^TpR+Q7Ah*ybIZ&2FFCbHqydS{O-`==6q=&~qGP7T zj(U&eZEHQcj_!NqMg1|!kA&O5O490~PV0p}rh3%ra;0_zZp~ZuWme@nH*u>3>F+MA ztemL5em1b!)9{VUu`7T^mg*;odt`oueEiuU+rP0@_!22S9uD|<3=mAL*J$aANMMGE zYBy=@5CDr*Hf2t32=m+HR+Rm&$m(+>AM=O9P3=F!eTqp_S}%}mA#a_?%v4l}Kr5{? zhMlK%OCfS8DMw4#_SN`SDk`Htp=x=kC2Z51Ui&73Vvs0!!LAI(Dm7GFWjn)Fyf0~8 zSSvRU1g)ALV?d$qT(}tdn}_llAw0x5R8vz^M_w%nxZLdQpJ!mN-P{E31^7=ODQ}dw z$FSE3%4T2!64(7Irsum;Y~0+vB|6m_gCC|#bnbR`r;3mJRs2W|%V)lBIV*!a$u@AP;4M!Scx({;5is4HY3>j|y;%RImJ1Hb$h&y|ESC;&O^P=nB-T}>GNvH$&cUgGEu zEK}^&27l5?UW#5wc`=&gM+7|AJqprz%q@ca_Cggx#IO_6`NqXgU(oQkOfeNWD+7SE ztCvQ>t@PtF$})kRKpK+y$Knh~P3{5-c}}@hA8&&%`p=K-mLq9lTcHHyJpNGc0|C0G zeL)2Lp7G|;gc@YMwspmOv|AAcNE8dd*Tr~UcIG^Nw#HT~&Ay6+^&YK|y{jA42z+~< z+ROIzdc+a#LCUFh{N_fI$#@S6fpTzj*UeuXLd&}m12=V0KN02_oMyvv!Q1X|N?KNx zAHVoUt1X5*=Bh0#joa^~iFvwD2i=eQ%OHGBvf#!U z5&$?ZA6qVDWO^HfLV5()-f>!+KAo(-SUxT4-1g(+s5e>np`) zNo|VJ1Mbn)tja z_pd%nPB_QV#miiC3q1)7Z~CeP-}m9IZOBWO-KlQj{r0Ofb0uyz%%+3Rce>)TxlJe zYOlsi?SvZpzqFTqda+5HiH34q8>WX>%eoHL@=?^p-tUztoFDIqM)TK9Xde~y zy}ev9Ws4|rC5pfV7roYMy?OZM`3y6FBe?v4CrF3d3G+N_u3xR% zH_bS?o-x1kCss|fmP<*6C#w?f`Pr*Y6?S^>7;qk2SgHveUTK#YG)<=*2Y(}a_I%|} z)t$nKUYTYCF2ro-HEFW)I=2d55>9;0QU7$}I>=Zo=&24E-E^6exTkBiBUmxngRr=zk(3No>#y+On{gS+ftE}=<3U%eyKk1S3nMX%4Pg}z| z^B1|C|I@?(6&CfH$6vmMNurCtVz~(ttIOyT(mW%J(bdMvaZxRJ3~Jk^`+Y*L_^Jvn zF?SQTa%Hsa#VB|yqnPLo68t!8to-L`bP+>0SFN|4xp_y#VNSI8S1}3--Cm=(&)b^- zL#5s1URpbmDld*3`wh4KQyZ(~ofipHJbp6$wD?n>>#4KV9W^%EJO%O(z&pIB6QBme z*Y~6}O|M!%*cIXZ?RW2pvMb;8nSMZ3N~ofXJ5AKkH8_5^tnny1fBXfN(8jzf95?E#W~ss?@cO4&vsQ_A*4blY(&$7~tG3aMBHN!%0)i_H>SCmGreDSh zc8m-y(GyMRNM6|_j(hra$;%GU^NN?}!pNIs`}K^Ez9N%$2%@-zd!5ur00uyth^6d~ zWz{_CB2#&+&tiMH)I`a~*?s#qC+6Z)J)?bDG5Yi6h!^j{Y^Eiw`t05}PZ}C|i;9ZA z)1&{3q{N!`C;Q7%W|RDfuKc^ecWkDtRU7W#apO1y!v9R5$wFiOOK-|NdcN}aOORC% zR@xom8AKd8_W$$6z6;J7QPI%wrKY5)zI*ri&EtFJGvPNkUgQ)M4+R9KR7rAIB88TD z1_uX$(2mwNL3vnQTIu#y(WKB5M&2*Hn)w-avEKGsFW`;H3IWIx3c9DDcK#%K{uuhs+;n-E zSIJn$sM$f(zlf894je3cG5cY&tqsJ-&+oJ|@gz4lH?zE)XlG}~6LH)de{m}WxmMyA z5utthw6Zy7jPkH^mB;U@lhGMLv3Bk?tjhMhXld*8A!!)fKK$as-Q{9$PP@ts7YH71 zh-evRVW%~Wmm(r0I2gjnKhmAK`1L$(0F3!rUM?puA7o-P@823{XJ-);E?>tvInbM*6Z0?Caa9b}X_rlbu+O5v z-Lw)y#rC&)oy#F}e#VYC^;7}A4PU8vI`MMz?xnY@c`5TY=5yjZ8e0#!a@SAsK}{Rp zqjL<^v9L2-m+I8)+jlNwjVi88FpV*W+)exzLy((`HvZ%9#9*E_Ko;9Dn6!mO{(n8M z4}1YC2tEpAq`DA{?hRB(z2KW z)eH;>0N|W_1RzMy7DLWC%dEqovc1bzUw8@kb)kB}kjP;(nb49enSH~?gDW5Lsgt8? zpZbjiJ;zBUq16$Q!!BS@i6`JxRW&QS+X8x$jwx7tteGx!q%Y(2N=ri2+EUbhdCap$Vb8=&e`x$Uxg#y!S@;W5f1Ma4aRy_aj(_^4fXO|bc zWUq?@7D<^7b0lSJZLX7Km*qaBye|I0E8La;nGtyuDl1GU3j{#(j>*Z%nD5`SpTIfJ z(#PU&kr#CkyYpjp6*2P%fGG(HQGWXL2@t<3XLLja{-2GFyF-AodF~ee^CHAJ7!iQo z!KgTfJOFff7wV@rMF8aZ34tpi!xe zK9v=E%E2K6fXB*9pn{N>%{)k6{AX}#ij9M#OQ93jD9fnDOW-~p-m&`5A5}~tdQssb zyYcMTv*T029UW5m1O!T6sj`}yQ@LPyvyMAoprMi5a<+bF`VNp=cNpn!HwJVTu8_^eD&^ZFbk+J5ku2*1??%BU$dA+n?RzUhK3#Q@lJF^TqXkPYj@-Hcha1s z3v1DPpZ6;GHQXsuWFSYU$9Q=!(TUz9A6=~TqL($C<(MkOhei8%|ZM{RFde2k4jfcnoXNVHxLJEZtQpzN=3u>$AM z%wwP7d$_v`cC7N$ejGoQuo_I@yhDRXq@Qi_E`D<+p!WI|#%Loy#EM(?a&mLKO3KTH zNPVYYKc^8uGd@^s0Qn0od!py%<-J}1SzOHT&~pAB)OLNkg$81Xo}Z8i0ML5)*RNxX zixIEGAFOI96FzWrTm4x94`ou= z6;w#amzT>#VQF6g50IRmo}MJ;E%@%;yI(!Tk+Mp2XSFpo$#!;j1H*NhWo08ngM-qB zhClKwqvbI>KoAX$pcCm(Qx?xzLu@I*{Nn(Vy>o`jU@)uk{*V-tyAW#-j==q2Q*i8MXk93J>E z+vryO!evwO<6`~z1W-~-1d{Qb*G5sD>&GBTeWPs|DrI_K$lVMvF?tXW@W%#0#;Kl_ z@%=lW4T9UC(N*W>FF+9|$3f@7FTbr;_6<<>rH(N`&sQ*#HEYAh0@@q^!=3$Q9Xmngez0gg;021aohNYj z^1AtXoY>o8M|O}au?!E}t;Pr@mg)=r+|wfq;yq;@s#q*jH}adx<9-z3;pZoQa(enO zqVnzLaH{1_Kkqh+n3&iIm6Dvb*<}2Sj_e~O z_*YcE6085a7XZMbeHh;?87k|Z;4M54dRz0IcVSSYLmV?>F@fXH&4;P&v7~`|F=VXZ z3cyS#%FDMOOchtIjy(*L%Bttj^k8Qnf)y3T{a#%Jqi$J1Ko~c(wA9;Qb)?Et#Q{}V zjxw0Lyz@hzW(c(yayJ`t11er}vAk?3!%PDFMeJ%p-sMC5ZoN+DEHec5>_96300jYM z#CI=Qw}3QM3G_vV83Zcu+_SSk9^xNOnlbd|ENj@L(Fd4>_wWS=NaSRJ%6cG?c-ssF z>1Ga>pg7xK0BhFV6&iR*5^7I9h_9~O-Jp^9<#8qgtrUNsZPD3}8s zU+{bQJT!XV2*6~IW6*w^;43I75ES5-kG&Ve_Q>AH^EH?xj>;=&B~5zgCxEC`GJ19<3&^;%O1V=Vj<3&lCV_FDf$%%&Z)|Mb0W=WEq4hf7*%$N|tqpS4 ztqco6=_sP#F1Z@<`g7sGUhrSv|5AHPBD@@xWku-NOuy4g8h`R=h(`Q~gFv|MS#GvX z_*2Eh`Sa1_**~vRJeIe$HL9KyPo`~z@h?(n>J3q|y=Qqglpc#aeg0UsfXdZ+frNMa z_nm@2tlI0m$>;JlaZFSERu;M<+?@$W6TL?gsO)>4C8AenFHi?~WtQs0{lV`fo$*#G z^Zu9T=hWO36v-LZHc~EXB=6nblI5Zq1VG02uY*4ss$J+Y8QtK8b~+_H(kI??adDwP z2R`Cq67aq1o||)+(%km_)1~ooUUu5j&jwBI)UcUyAz(x)8PN-dDc(hwQL$;b5Y%Uq zFXOMm$4`9Ng#rf$&LPP2a@zR#ctFN^xLwLPLC7Cs-WB#sFE`e~0PLdizS!eEgrNKu zod-FEKb<`O;~CdWeAE$p$=Wu-mFsolpJy;_xp9>ea{$59zVX{TJ-(QQO@JnD8PPH? zFsu%%iKy;`RRhc5=eDHpQ%7m%M%v(38UcP*}W?Ipk{~dUDGT>F(`(s%v0fV({fD7kJ6vKOa*&b+RZ(r-jMK8K-p&x}$NSIw%h`Y43 zL`6r}1&B7Hz5SJ|her-@FfcGstEM#_@H9A&((r*t{T1H=lC-pB^*hU9TwQ4o+}_*k zYIK7|jEpGLiFy)C+>A$$&CPw%ge?GUWxv#Ae{Ws@(-=d$Fw56vd1G&ME*qXPbB_1~<~xBgG&{Qn!I0iNl< zu@Ul3X-4yvA3|~e9imt5-^6~n12I4z4q5?Xh6c?bz`QDfl6XJ#u%%Zf7;xUWmm&~8 zXBQVNZiwoCfC^~$QjC*xnEVhM8$0rNUUQdKDz7!Ov~(E5zqz?NH>ySQEIi6rML~f- z-IcVacnmuYg>>C!m39zy?XCvQ00!66(Xo!0DSIbD!hXK*v^|!B)42BOdLywE34xV0 zMg04kVubX%WUB=dw}rSMBjib9e2@COcc%9weSL559xgH%=p_>?n8 zT4{=A%6gBPL9_B-5UWmnu!sNIv%wovK&RPxKle|2e3ec-rhoQ;$(@;LO^rf9S2v}> z^Vk&Tu-|gIT%F(xXbL7V94_+dB$xEjw}b?X2b7dKclqziB|Ii3CICn^FalqJBuz{n z($LVv(Ztl&3Z6E?%Fsc->gx3N8;6s8_(*XuK%m3s)2Nf!&t|kMzkWUE=jSK$_4R$9 zdQ}4Z^NgE&G>M%>KT5hQU&?Z+(QWhl6NPUH4+eDr3^}A*`*DsBzt^9PRhfQbV?Zs~1bQTHcT|Qoi{GPx0IMo-U$W2_r|usf#sty5aF$8N zt$3%lw$ff+F9CXj zM_8DuZpe;|;|vamk3*qEpgZP6P7d4I#bte-kB=`d`3P8%>iT*rAa06h5P?bp!9aa# z8oz{R$(araq<1n?s;9ym@4Xl;ay7q|WCGx@+Xckj03KBCih)g0h`GDL*VU!{Ce$XmzuvEf0rs-VS^71m^ z#G%k=Rkk2NU|G&FVY`+V7P>bbW|n4V+B%NMkIq7e1163S4-e%4k^@)>P}`I*1Kyku za6S{zM00x(FW8Y)RG z2L}iB>xxE3j2)|vY1a%?RFWPZLKed*0)Ovake8PQygYz7fi*}Nzqs~!qoPtb5AXtj z++z|FHdFkV0c|R#uNQ1`;pOEe8|lVIPIE3aJ~(bATmD82=$)`vBl5OKYv3fBo@;AvZt2F+bxAU^#$gwFCK; ze=%J2LDltzrznu$(YW2)V{t#_L_$4Vmg~)d${+w_od#K|Zslo@jCsBo^H`<3DPd-h z|D;GexvT1zQ3>-=6K$iThB65;4{) zW8~ihmhHVhI}TQ$m4kzvoLp%9aShr1;IZ-X0DuOaK@r~iL28zeNMyYNSds(I^j2+t zVPW+WZZK6xhL7cRb!5`Fsow43z~TGK$%&VcQM^RSC<&ak|GP{VXg6}(8SH~|a}C2J zr>iXUH32eoY-uTSdV0FP3Xl5Jr)(5SV)*D*buBGnsN54eT|K?hcX2==4p#JyT`G%s z*$c+WpD1xDfh=I2y1Ke05#{NC2!H+hm6?j}*02k!3LnBSbApZ5Ta73Zme zp&=ni7?~UiRA28lApesS=fR*uD8xt!OZ1=IIOHl!HfMl;ER48OnYTg7+PaWet+Oy2 zUwYbO;A+5*eNeKiwmX^!!T#?d{VOY(4@WBCH#fxiSaP@3lp91RUiJpx8R_Vr%aqoP zQDW(tiQoEx(^`w1gPNN~bF#8bG?GI{x76)#%>R%kRj$2j*Iq9Vtn87{dF+kQdCNCfpyLB|C zG7O87`o)#9rUO2Jmj;2PrKJJ?&S2j0`Z}=rhu#L2$C6v(L*@G5)>)4j-v?S&LBJz@ z;|5<3-XVFp_)mb(P;b~tj8QP|`8vo6)TAF8S&IO2dNVvAbqf^@`dz{?7=&J_=*dK! zBw8$HhXRzV>Wuw61q{hitp6nKUw-O{3c zgot&5DOoh7VI%my*?!x&H1lGzaX{0qsh^}baGPzcNn5#!wg4(rKU=Vjr%Y8mTn#Z* zdMG@o)w~JXin@OQ?b4mf`3Yo(<&+9W^TAomh8(`ulz-;bSO#GXLJnw2VljKcUeOS?n#oVxQDW#207yRq&JB-bqwBbg{t$CoFJG4(EA&r_Qf=OC z`w;+Hj}nQndQKxG5>99~EOJo)$R6Rgh{LXZGg0PsvW_9a9z{+|;{ zZ@sFDsf=e+DQ|_qEa++|_P0zxpe+6Pk&hp}(V>IfqeDeV7&+;Uczs*V7SKOBT32=a z(jlli2hO6Xh7w;QJ|E4-$j{7d8|Z4zTVmU-ZcU0l>p zlK>m0zUQMVD;EOHjSiNsIRhnvezRpMs!^VncIv8!jZuDZL?W(phYt4{SS5fVN=ZriW&MO~9LjGw^2@&Mw>;30lE-NntMuwsK<%+g{&j+-RArqJVXPl% zegxa4s-0IsN-L0BnjlEKGxZi2I$b9iVWf2yXa^U}%8vNIjS;y)$0JJ%VKTxswz&E%kYqc|x%3k@n z2^CxFFf)-Sq-iSej$+k=mgOlp6m>cK8TDcKH`w~*xc2C}*K9A;xb7&$Yy0{5B>OM12-xES(jsj|zOrNk#oQ~qx0mS~d1g`Ali1^@$C`TSkK)B6rTx4&c zVD+zgWC%!N36jYDbsSZ@8BC;`WbbPvxJt2}2kIKau5`yHR%fg#iaW9u2|+lGhye1P3z)9!iTX-3-XGj_Hmlf79|Vihq^xN&fS@ zv1zy-pf^8oDL3_^EUPLN`}`M(ya1}~G@v zN7#nm9QKFa*~oIBD$&Ike>-~2_>g*?C?aVw>d2$wpj;rKnGzG|Z5*^R9OMsl|Y+u8jT~Vg1U9VaVZ`oJ7PZoWV1=; zf38FIYL3o`^G0&$h_KdGFN2cvt1s#`MaVaFAgseAx6i%SxrU3FNW;2z(pwJoh_Pkk;}R3s_k5vW`BST? zol+}rj12ROP!b&Lhv!~3k&rO}&wdBEFB-BPu;!-F+>O*Dpr*DaM+G&DLIDV2-SoQ( z@nRRC6@U^*QmGE^5kh`QEYb0|e;snDIuGvIEl;=`ZUl~^MAC5w@xJe0w7t(M#$?gD zk@SZQL#Uw_Y6Iv56aG&g@LEmQqo4%i48GIUkG@%zw~eo)5jg95E2A<25@a1z#ks;W zmOE&?fa*NXV5;w*5mAT$lm!Q!eJI0|{^L$hvSaAKrt(`xKJ*JZHb_bj51wlv?$Lf? zjakj{@4E(t@sy$6X$R01<&exB<5uMY->=idUcH51K5HUx0+a!0oMJo)IJmMDWClW= zl98Wcuo)e&!7tR&xx+#4_1xTQ0DL(MHxi_F#;R>@)|W?tsd^+>S+PN5`Wm@Xd{LX( z%xMGt?S&>vlKWSKie?B+ShNt5z0$JIjq2dIqBoNd9gK8!N$ZbOklHj<$I;wWnWogS z6j2y>@N}l`zm0;9k$mM(c9wtRR7O-Zlu^Q6HR5j1HKJMOFlrCuSzI@Xer1m3SCJ<& zVm9#PA@HU=I;S2lZkS;oErBBC!1?~19es$m=pL`4Ai6|WDo-fC$n+B{CgcjYB}mf{ ztJa~Zv2h+KWcPmF%IKPdw*~{Kg`z5lYInaIIPy!eP%K}PX{G4LB1&?|(cR6hJGl+0 zWoI3Fp;XR~DS^6NR%@$auxpwuKmp!QP5Bjx(lBj4o{3Z!ed$&}o4qJ4h;n}M)jn-) zyijC`c!QzpI&o0Vb)7s~d1)tv?eg0&L_aED#Q3CbOsRQ`m z)Ugz;xP7g)^xx}J++hwN3fEJaO%~XoUZcWC0ZuJELT3J&->vc$STk z_eL7`>sVh*nfSJB*{cL->`s7wAP0nX61@RS$4@06+nJyW@x$k;o*BIi-o|a|AE52) zT*VDuuub3REs{)xMnmk^!P~v(PQD@@k)v--T+P!i-QfF>ksi((Dzxk29j6C^OzEn>O>?(}Gl9 z$|rAYOlkTd*Zew)H8hSokgP`-Lz>0$5qznIT^hw`iRajQjcDDqRuy@)miHGImH`^V zhyRBUF=>yS+pX;#?d~mBcK^>DOB!KU5&SMa9YNso|LpW}Milg1iR=KI-YZr<{~}8! zG*f<`FZktjf&VYYo|IaWzQ+;n7TD8y7$j?c6;!+XqMppoXuH?qv6@~e$Ee`?bG-0f z@i%55%~8pFT^3ifzexv=26%Dord%9Z=Uc~Ao+V+jiBrZ|raGkrn^*brtg@QS$8gu| z)*pW?p~_Efoisl%>)~0t0eZgZP*-H5M8l6N;P}|N;WjoA#7Vr_gT)5RxE}4n#e8cNGzC<#+ry!MgmQV;3sycl9DaoDjRtyMhtjv^K)G{G_kxAM zu8h$&dp6^Bw&vvn9WDD3^1D|M;;XOJ;-s|TDL68IAFc?}zCQM@$ZDRMm^Vl_XSh8? zfk22qs{#Y2#5bUC=~^FaLKkRCF7KGp`YiK*kkS4^U8;_b&h(a2s-VsqP+|V{GQX}) zD~v?3wpE?3rKM5=VV3M@(z@ZP(f#hYT#alQh|7XMDB{J7Q6$z{rWmoMhg6{~>mn8$ zpg+Kv@0ETn$r*{3z6p_Ah)~Ab8%Ry5(!Z|O7;&gw392MRBZ)53=F$)|=7O~IpXl)Y zaQO^&I7c;w=DbzBn$tQE(n|F1os!U?SF`Czy+D;V?Dou}^bC4DO0@lF!~DOO0mF{K1XUYI+X7dQ(pNDCwhbf$;xA*7}&k#a%Xf4__%*Vw4`Xe!P2^(?n?S z=Q%?%80S(z`=o zB~{Rl&&%8U;a^PT=IBU#S5f>2P64%gg5yUK4)5PT0P4L=K=mGAP5%RIFodYg{b-50 zmc7xB2Wf~RsMIPIEBzLWnQwz+=GV_w2-^61*pod@zx)s*#GD;I%z86)^=E6Nn^S~5 zOj}liL%oz6QZ%6=W2>i^X6R?ga0l0H%4hyXYKnWYTL>mVSHkq%&osD~#pojSHbYvM zd@_V*ut5oP56W3b&UNyA+!|)s<<+`l0$UP}4c$IGc)yf{2@sy|boVOH_MCpU+54qJ z!y}z8ic0Fu0YP#;VoxZXPBhZoVP*Eo6;kH*)_efmSAJDaECF~-iaWI(^a<5f0fFvY zc*j5xTp&s0Nz>6;xkE333N!+c-7i3x`@AsN>`U=Q4p+rhn0E{FMG{DYa0I>Q?>8o`%EQ@ z%62C}d#lPKvDcLH(*oiXo04!D@=!4xD!?yk4`IXJj8|P`^8ZqhP)^t5S&7A?lg){ksjU zg|JhMgzzg_@|0|!2j!YLa;T|@OnioeD{nca>mL5(47yELXfzxR`n_DF_x z?D)zO+f(mx;X7Wmbi+{ycqF6dkxvN9^1=500WRQy(n{#4!2oh(eh#6;3{g?k=z2V4 zS6_<8d99$zvp_rO`RD@KkJ5}x7{Tc{Y^BpxDpycOSX8S)MWI*3;x1d*hUnQD)Ugam zLwj%CYPY~pM8d=#*IsJ($`7o%*DEK=5e50gVas*WT9C~4gT8Z}_?pVE4-e6*v*SI(d z)H)F0g^HzTh&K1UiBlr1`2n&h{~BFfx?1&?m!*i&M$Cj79FUd{{B$a6tWuq4A$)pp zcG;ZTan5yD5TYzQQ}{ravN5vGKuZh7`nvih zo_MjJo3C?z8&uVpHeRUX9C-Ep6|;dR@N)u;g+WG*WTUJ@GuKkVZh_egyKv`kW=yVl zcKhrXMy=zj_LM^6FH4KxK@G7Dfv1iw-95vc`_%2}bvv=T&)qHbL(KjjRh^(O2iKtg z;2oZRtPYxUowvYvs3lRg^J^4Gs?6`t1X+W4nj(?eq;&>Kkp5CcV!#jkFSNYeiA3jt zp01V|KpO##2iDb5C((Z)*dke%i#fv(b)cC!<~JEpD76ZUKD#SLrU+c$_F3l+_(JDV zGAqMBY+s7gKuB>HFxVA7N)Rt385KGi!AizS(MU6v?pvFW(0}0n@%ktPD^DjDYGfgc!Az8Z{rTf9w>Ds;-0C4y+)D2a zRty2k5HeV*q1TH*o6OS*lkAaPCQ2h%tLv&X0AG>#b&n`VWKqcQVJM~>W@Pmkd8uFbt ze11A~JpPN3|8!#g-_gYXKO*D*#@g9`{PS$#G8uFf8#+T}|B;)deA&Ak7i7z&-)5{C zpBMjL&Ez1J9~GS&oK^o#%c0l_g zarWG7RnegC8_mELsOl5zziz2dc08^Uj~he z7x*QSA{awvR{B`#gtt3ZK?NdrZ@eH1w0s*yzngp%u`}t9CX1WhQVt4qUwA5Fmb5O* zEq;M%ilpcsckcFQP9|Blv+c=idb(%3`!bkMFDbWObZqilZ^{+FEAA-#p~D#jdfFn* z8_ohxTz)}88N;?{V`Gyf4-)`18AU(-J{HK7Us4hwJpp{3Ps^SiX1Y26yxYS{UMooj zJs*2a-p{zDCT3Dod`*qjlwPy=G&B!LO@9x7LZ$dBsEa-&xd!h~o<3lDgg^a3dV)x- zc&sQr0yhYkV%-bO%fv$;D4o89aXlwZj-aA2dRfpBCHmj1^Z z%m|b*H#Z;M7DQ0oX4|--GWftfbEYooneRRl(B|`*)D=69lc~o_fIrh6#4-aP>Jg^% zN*i6%n9+1f=*;$#H-oAaS z09tn{@V2RGs_%p+mYE4SX{^EMd1RHAVx+R!xWx}KH4^)jJ9~Pboa&hHhB)WuikGQz za-@Hq92+x8a{Y{0)azY7cV8}uor!uAJyLc-*rqRM2SmD|$^$c#(~ZJiO%!inI-X!{!KjL1k0tYnKs!ztD5tiXQKem3d-Fopbei?D7 z9Orz*)vM*s4F!J@q=bIzhS7QxHjZrmSiL znG7o%cfNczmF`Pi5H{1jfv8;4-S8&vT~$5$!pZ3$5L#plymnabLY@6G>kjQY{5|$8 z=;>rv_o>zO&(aD(IGRV#8xTI*UN`)eag3uT;*%52jy%AHypoUyrJFN7@;mjD=lrdX zHnq9F&hTZnA=dqQJCtoVRs7irYS!o*2;-bg{}-+3l#~zF9g$YJavN}{=lkYtM-|W1 zd{5%#Q|~_&6|pHQDgrmC&)$T072h-?SOzFJydHdRI3LdA$7k4}`>(coy}La#Q#TG0 zCrRE$6=iqu=fY?7VDd~CgdNX@h&P4~Dhft8N)M~opeZ_Gtz|e2m zHX4~I2dH4jJ@G?*87+a_;#0nfQs2u-Y7G~v1Fht2?h4dUET-h$2cPHMm0%)=>{W@6 zhDrT6xRc~MG@|Rbd(S`kFq_-iZ?7us+Q~Z_3`8TouR>I^6B>PqH!83=-23u!DGIR* z^O@xRIDo24Xv?E#CPFueG zJBUnL=t(`>vL0n)_7;A>{luM%5&_MTNh082g#gp74b0ik6%_+#0+SII@`7z`cQ?rX zAESSTfnbH%5I&c4!zcl}zPZ|Kgw7uNQ?<0swc7w3jtkPN&fLAJ@FpaLgj|{k+#9gf z>~5UC;odtXa_8J!T%2z$c`Z*zUVEPb2fX(qdak{AF?DR_``z&`Ie4iAT(q__QRRH$C@% zA~WCB=ko?8|8DwL)mj$kS6&>;Wc8hJ{Ym6w?$tKvT76I;okM?xS90z;8g;V#xW72}0EZnwXoumoW zhiF+Y5bR8^Fn@oOczsx~ubdHImVU+CG{h{FbmW;aRyY0NiskXI&A#$*C4y)tnl*v@ z22iOAcfk3bkC~aUDsUvhiu6+TKuS^Za!3(CdHgO4d2erRfc^$=L9BW#nLovb@n){` zz12a!wWdB(j*=>4cdDrpP^#bP=T9VG5uqiM$%1U159MlcUnyoV9_I2iBI2c-lV*3HDW&7 zl2762eS3yU&nitZluq1HF_P7hcCtwYO~DW2&0N-Me*W4N3L5d=76Be^YZ z?oI%~reMM3g4B!@82-V!r>s`MCDFosjm*F5X^!v19cJSn>$o1_#)ohE2EAO3m&)QC ze-3c-zK%}BESmGuW$}TZKc^h7g_z?r4j-ARz`HCn=!iU>5-WZc`ew~U-MZ(5vN_e} zB|Kh5%VZ}lsPlm6HAO71SJmlO;MjP@vWbJ$?5qyTzdirwL8-%ZQsnHm@%v})vAMY- zz1>W_{z1Od!4lQ9L#9hXyZs{bqj#Wv0b$xcPhtfEuYhIi2K_A`q#iZ-Dp^v8zj3?m zuk6xN^r4qbl~%hePgzF@e08Izj=cpjD53Nt9m74n9(jj^a-ohhhQ@f#%+jM&Dz&ro z#ht5j_im0{UBq4@dhKaFQmPl9Y4gluV)8{8+djABOs=a#Gl1gi+)xZNeLhg}Y3)z8 zOxWL4D*E^Db9WTXY%8nMrI@EGU{DW(^%@j4-C=l5yDkaTTVMIeo@}K#axu=7-O0+)Ozi*uO60 zAq~ybnMc9SXnpgTG+H_>FzV_6_sDX?`oX>HdW6&8wZqbV&HV_@Vmuph%WH>%rkmH> zwGc;_7ka?iSES=HY2{~cT0wx>yCy*px!95KX|SaGeB%Afdjls5JAI-$e0Y8@hSVOF zG9Inxkzi4sI3a&qM9Wlu*5*?l-;7A-bNef=>56PVdcpIG-x|zseOi+rn0!O72-;H` z;@iNdvzF6W)<4#sGUZ1#N~m|=ib_I0WmS6D_Yg=7C#f0J?5=dzUBx$+t`F*((-Y~o ze_vvm1d)9Q@qSWM!oqoC=%=h^bx!9)qB){Eq$z6rb#--qEUwX_8Am9KJ6f~n5yb)l zi}5ZA3P9Y7DB8?uAQ0Mp5AzVZE=XsoSCiW)jF2)JPVbSvq&-ps!B99*W>)l5gna#PQIxpTo z9<{u?==KUN=Jw#`>Sv8lf!|75Lo?JgTw}Hl{Z(6H`Y<~9hn&pEmoaYrCt^k|d(n{+ zKROd`u$eYLDEBNICRy7??K+`CIF772}0$m5tOlHxHfjo$tcDM$mgc@ov0U zH@Tcl-EHFX%g$a-9!bPxq*qhs=l`~S_4<29YxN-P{H0SFzMiUF4T0p{%6SR7VKvS- z%had?`Qy{cMp)^xhT}4MVhFdg-8%Wlz5hfF;}!OoQQ+9O!J|i?Kv;sOmzM(wS#oe# z!t<3n?cbZX8ypEGUm(iVTy5`AWP_Rb!?k?!}@K>nqONIA;!s_vhvu+8l-&T zek}V6KA>vC_v`9D!sm)4Mu;;zgRk^k;Pb%;e zj^9ca{MR+K8+~R8LZz>yuK0?rNi9qNM9@lAQM7rwVJ;YinCl(~B^(cJzjZXOTgSwu zF+)bI8&-KKT7P+=NWWHjlYSUH((G5`9R5TbpBWq_1sO}#Gp7mnYS)R=c^8AZ19^T&0<8%MVt?9GaKR>z7jHS%{xDbm}({x%fE0?32UrD-R+ z9|mtMk8&u0V(P^IO!0_jNdvC?qHrPSQIDv^v6rlQ^#^13W8|FnwTgE36{m}xX61+# zWr6HDzx-*L`N)U-bVqrojRW4An3MP|oe)#vkhu2itvvs~fcu*3$%UPyQGo zUyJuSe`%~r<=%^lOOzinX@*s1(61C0p&QGrpX}{hibe4+$M_o0GIIo+k^KR(7Vvj^huWi^Vi7V7LP$^(1Y>h3vi6Lw7`OEV1stUvhYo zkeFv}ZeAcsZ!Y47_Q*SL!8h#?wo4#596s5ak&l!+W8MDSS{JfPs={>|@BUMDEg4Hy zf#C+I6wauz7l){nU2iT-UE?!dUs6WBQbfH8m+sqFU5w`^s8x5yrNxfms}I%)sIYd( z)%|BVUoUM^V7LjZ)q5@Ur>LO-iUcZWFEPNx`}e&-yPfA%RDC7fNP#kh2#@cBXrX)H zB}Wjh`iR;MTpD(Ykl08Itv4*S&sEeVaV`{isTZY4Ts8Prd@9g#NZgUsjIi+kQa3-$ zQ%@XHq0)9FUL5>WkTrFYI;1Y> zOs1x!qvMyBV0;j7@L`v&KCkq`%HWCyqQ`rOPTA%V0?P1}I&IOvwfY%m07oKS z@9Ftd?2c1chlh&)xDS|4R z5aL~bPMq*<)bb@+I20F6Jnh;O3v`OUR;aB)Cx#LArC`O!MBDSfJ`1nv)lN`->`WPt z@wJYJruopg4Hoij3GOL-b15aGfUllnt@1<$m2Bi*O6+T z5BQ@j@+2(WD&**Mv308SE{a%b=}&dr^N(=jdi=(|cj%;cjd=T4n)HTyPb`$aB!r$d z?b@Rfv4$y*YLyS(I`8;x7rwr3wr!KHuxBGio8=m%K#dfY=@@8W6Y05gwA#cL;b7*B ze9_|EQ*^TO!^472h6vzz?)2pc2B?CChWYr|g0d+)MC05{*5FeFyB|lbB>&Ryk*ps# ziqmAR;KcYxpCTj0q;j*dh}bX{Ymw0oPh4r$+aliZje{nbkZf;mqFZU{6L5Yj%&!)$=Ko& zYCwp0EkM`za94Z7H?0UyPm!&Tgn47wyN1z-NN3m+3;2xxf1cg5=i%gUnn{?~F5X|@ z%AMm($oIv=(c%yz!894;!x3#MPc1}NVbRC7^fwpxmZy-mL-YaS!NeB&V1*!#MW|(_ ziukn2XWk@LNIWJsQ&SXOBA>bEz0kCKpR1Gh$#~tX;L}Ygn_A%K(Mh#0HFU*j#HOG{ zS_S3P6J-Za3Ze=5sz6YW96eA--*rxr-#cY)ruG=I8#;eLqCa(@Qs^F=FWp>3WtgDR}Hb!G<~XRo{+|JJN^@3 ztzdi}lXFn>umDT~#s%Q>k0vqwiMM5^+AH%bhz6vJ&;GjscTv<;{?XdaQdZ(T>+{)m zR6h*iAG*6j3IR+Jc6NlK0-JMk=LWKnNUBusHOGfpw_%!U;x$!178+B_)mQAAU*mMP zQrE%P1w2-!-wAj@cj2V@8A=Ur_Q61&Cm8*bU???DHMdBsqoH0Oap2*g@c?<+-(qRm z>s)L#1%;h1z*N&5?R{{}F_Gz#vIzqK^9fj4_q)(|L3cC+$yy@USjsoGVF zHUVz{f3!itbPEoSy=N6pGFZG&Q#6!cLaS7Y@-C>5B@$5;Ra)sC4TFXVr79sIqpc53 zgV@z2nI)ABi@StP(~o1TBj5Er?Dl6^G=H4A`u*%eI zKeKQH(Oc>6!T4F{`%uq9`%()^n480RdTCgqxc=hG;nDrU$lHc*?=?;n<$<^8O$RqTCEw1_Sejef?mHS;(bpvP9z* zUk47Eh3er2aeQT0(ejGExt-l;DLIU|HMp41oRIU-TCeA!Ur|rU@EnY%zdeS~_I9!l zp`WEjmn&)VdX06v;nu7iDVz}SCUv84_=nGiTb&74)9xro25Pu|_Gx0hiB4h5F5fS( zrJI+C#N!PSqoA^$J@UR+mX$oqko)dL zldA^J4La+|DuxjFYM5VxO9-#2uEY0{OX&ftXJjd!1+>MSUt?&o(V=1F_g9jm2T}Y7 zo!`d?HyJFtsx_p~ZUF%-w+ePRMg?S}3F8a3u>8NY;A`qH3gJh0BosuK9Iq{R&v6rY&5cdo+s z-f>j&PU2G`-i;qpClEM|{W3WsnfTN+oFb8EH1|UGKItZEgiyFbgg(nC#DSM)ho0Vyg z(U$4I`*SbJW{j5>#L(Q@GEFDeL3hoT&=z9^mYb+!Egc+l%L^+AsnliH)`#gz^EX6e z*Q&6ZC2az$W*LY?<75w!R0$vgA=^Cb4q0D)S#^BO(@>->13OEJ^2%PMczcSZz%(Wt z%lO4x&V6t~wnj>c=1>1nafa{B9&~+|TiuU(sPhh$m6_>x%Xhtcd14^_x(~+Z3JH&Z z#a2TGkmdC8T)GO)IepZKAOtBc4+!@XpyX#LxkeabVEPkcyU?Ijg`GSHT$An*C1w4s z&jq{^HL#$>QxP@v+}^3xmUE9-1TuoDn^B3rdj91XT?9Q&vUqOIbv@@A&M3aG5BN0i>sQf&ysDv*L5FZ9+G z8+KPmAz_1RUobMNMTwJXUpAGim!mYpWEL!+;Gsh5Bq-ja2B}zon@(6%vLi`Y_*;*b zQS*9^sjjCtDY>qM9c(HiN(fQnH7ODrWL}Z{-x2iTnet0j&Aa~T)a`700^%1Z&G9Lf zo*B!t(cN9zlXR8=YcDtF4`jU8_#eIuxrCrr5aO@c;d|0cTl$0w<*n+y3=^OTJ3dU+ zGt3h(tGlht^V4p#RFCQ!1n&n2HF3iA7l+WkzK_Gd{2J zFI|$|{56yU=73Lv{A^k0<72zSP2OY)8FH1p{zjA0;QpP46z_}@MF~nG^4hM9SNLOs zLW3vc5)T*WSWSV+FA1;N2J5{u`o^$@shVt+pT2hb!E;OLWtl34hf%bMUOej4Li#S0 z{o#0>5#s4!?kmartF!(Kj9V0AKWZuZv-!^G`FcTv4_9Q($p=lq;2vWq4q!jn;gO>+ z6zK)YYe?}kS0p$`9Kz?ynU6jvXJ&gD{*G!L>HF}#icijmp?q5FweR#*WAS7XZrDV9 zN8QaqSvh?^ukZFhMnH?IS04I8nVFksHjSvC+mL4}nZVHq`JnxYeq8xs#a9Eeyh^*5 zGky-g`U_1%BNq2<)(76A0yPFYboIs-sY<^6YyBg-gKI-1UDX`u*~oz*6eZaU@##*c z-;P+i{Aax@4ZBOv!zL)P9sY2tgfkf?>+G+y={8$Qj<4N@l$M*cwwY#N%k2{v=N8SC z{PGF(*O~bfj$#dd?W+B5i!oe@+atSMn~7g|Sm-G%G_9neA-o)J^7QYe(u=k|9K#FO zm7nlmRz=8U(kJ17N?A8rJvnn#=QEP`n^PT*tMf2Kf1TpS(25^y#JnbB7WgSA>)|QYF`3 z(a=S_tV>pKPdSbXycL@pCu&&H-bJD>#`p9l#SAD7;eD0`HQy5?hKWt zgtXt+*xggz?YwqbV>7jVr*qMH>_Hc&U4c*e3|3yPlbPL&e&gpBy~9V{6==|Fuh`=xpLoF_b2$xODn zY3P!$#ozloBZb1Cdf78w1>}}?>0O_K=p3lT@=rm^tfXj!C1Oihqhx&)adHZK(ruQ{ ze=d&H0U61TLQrO7a)^egyIjYaeka1kZUd@1ZCO0c31(&Wc@y$#7IavbU{BS*C3L?} zfzb&W`&Z)4%yK+uVGoAN5Aw8%=U5rr&LF&$5Ahl_xWAu^o^xcB`-?-Dr)|sDyzO^s z%!4HtCF%l(z7nPDvyeQPv`PVYoV^4wQy&|xia8ar&gk&30dJ`DGS}t05yw7TWo{fJ23)Tu*Hp!#IyXsmgHNe{xEr@$!(bc z@q(#T;bD`W)oQfOsO82ZCZ3ZlC5C%|Ijejd7gP$&3&!#^){+||IbcKzf!qocF?lsIN(Coq1SK9znIwP)8A}%tBYLu3P>a|F-ExxAjHa&wsNAkr=N@7l-?Ev?pgPf0+V-YVepFypYapAS9bU})fD5TgG zSFSGxA6S?Fo@n;+eMF}Wqj(ij0}X{5A$MND_fT=QtMdMBu{)r>R1oHl^(_MVBy1HS zt3+C2n#}aIlJ(qqF#TkRt%jF{g{3}RSw=VXCB!A|JRD+Xx&_(61xcjtNKCGEqT!dy&#j%oq4*!MU~{u+(EYB&!0eV6x6>gp_X+t+U>1s z$)Xa^a_3cpF8|^JH8D$bc$GO(BVng?@jJ-~osquj240$=U`M3)-(t>Gv7}F8PVgyrVm>c zWBlx){yVyfNgw7`Emg($$!P^5=x*oXw{+V2WWq9X85=&6Fl=bPzfR8>m=)~h>{B9B zBuz=U=3VfubfRs3$6-XK^pJ;DWW~&0d!u%bsGrQMm`b{E+j_+O_I}>{5xexj79LAB z@Ds0<$y$x33)eD=p@;%)z|m)z6^Nqg&D?`6)o>&`==C~qFa=GQ;u9}!r}oB#h55-e zv`Ctwy>m;=!Ia@yc5A_KNcfjk(OX0$YAKg|lqm{)q?UQ^=BcC-iZ+zoKQj})Q#(aq zMO?m!8>3g|R_~Zo{ft9%GPEu@$)XBMmnHW8J{E55*eo5mI`{J96zngv4XnSN$?h|E zIx{$-h-DTGd8K2g&v7-2xL|HqR9t+c>E!t~$^w~_wwbhZgPVsbD0)4d*A**`nJ!AZ z0cJ@C>a@_YWbwM+GnzN<-gD)sXB)fQ<2own-^?BuQr*fNI=-y{ z=Sny)Pn)(;09fc-fIp-%wWi7pL*95OL*@C`T|gJWZXw>OYof+2eQsQD*%_&`K=2#V zhp!oIQ@@@pDwUmjyg`Kel5EluG?HP31)OAKetwh2nu`9hTDJC`Y{DWCJmu%Kyj;46 z0su7@!Ne3EK&9PPQKOsmv}iRqQMP&ja$z8N(m@9UO9;@HUBbikt6;rfKzI#7y;rDX zs4hwy^nu<|;RQLYWvJr@(cH#P51mU-_m{kO*Hh?>Es@zw=CNa(X> z{Glk)7;1=dGmW)W{3_PmjzYQ03q!G9OKFF6Q?z@|o5`bEc(eRwKSNtzppP)ILtndm zV+Ok;`+1|=jPn1tOY&~m{0%;ydgzPWuaw8j^D9r=@bVRqa7(W7j@hiXjNgXT0^$va znYjXcYpyH0Lx6fCeGZd~x?oLfB(bH<9g#L)b%#lTKuJrmF^2?im2cVt+CwG3?fl5| ziZLm{DGF{`BHBrxn*8@n(vPOd+f`r7l)0x9%7u96fEgn`Vv2JtzM9cEafKW2@_VS8PqT8YP#c@~U>?jhYI>AeIzzjK25A$9R$2tgP?7 zNs@PC<}{>Y03ptdx!>ZKc9cYy2A9Aj0X$OkC6SCO(w^NEW{!jbJeTZN^ER{S z@DGaxWb=i}CB9P?KX*7H3X|mSWh6e;QOJH)|FB9f)r@xY7;PgyCpTN&Mterx1(1QN zUxt*eKUxk)zk}}gnEJ+CM8MHpo;b0{{5?RWs3CmEfF6<#E=B95i*6Z zg2@zgxA%|B>G-ezeZ@TITniX3oelUv8J9(Fnb~Q%)5MCQ>FeJ4L%>PK4~UOqcclp+ zCUQ?IB4Uu@~U7G*VvLT9jpg8}l2!`JPj za@ZUk9GaE&h<80JMb^)1^;^0p1F3ggYfy_Rt8cID5Oem(rrKK6b^ty@n)(+@26M;n zDnOk0#K^`jpjxkK8HyZnE<7ppJTgxwKl2jmr~W8wqMp$~2!lUd780 zt+yMP87xK8w!I&PbZ$r(`TEv@wUq_BpfmP)oX_jIV3s4=AQ-HVFF2q0dZ919NCg&N z-)oOfS2ptBTQl&*`OGd|7owecM3E2fOHwm8xBXDvyj57$J5{QZnwmN^K7K<3q%Y7? z%|#*~It~|0%E8a@dcr?u@=zK<9cK%fcT?B3t48|R;7!p& ziDdo&T2*y*uCt@F^AK2CdQlZrO4KEk1TvE@{_<6p8tpM*&n736K35(FSM6(;`j}62 zp5Jvms`-@^e+tc5lW~;u6c@l>7IOXi^_K@6r}|(@elma^@%Q5*k`-9i0Bz=deYYA_ z(5c>$poOWM{Xunx7IKrlppC?Z^w{oosXPPx&lh6EU+RLZWl-QNmZly^56rqJLjhM< zf*|rDmSmN@TL+kR{g81ZHQMNEH1zHfX)2~8N>G=4e%xi2as&mpx3@O|F9k!CuiE65 z1B#upV6_x=3~sSc5~O5Qk|=u^#6Afo4Y{#zMuZ03+oW)c2bWPPdoXvJI-bN?+ypO) z3T+lytfI;Fv)@&%Xgs zV54ocH2Y%eUXU|jJk;qy!d?t^C2$!^V<2?O;3}9m=nPfU7#YCcS9t}o;a0sx9iOrr zBTcVtAbiAMR@fZIgobJNK?sOS25!DhEHcZ?Jkv{{jG-}cswsV_9Jap%2kwsLhE_-Y zpnRP%d+xXCqhfTJu@C)b`M>T*|F3np?x=bOj!oV$E}s((RL#xJU1+$h2%+q>%Hn$0 zbuDsvqxq$$fRd@;BSvz&xiK9Tu}`sNX?)%lllrPooEQJ7-LZ?;Z!m;r#n4LGxt~al z!@@5h>Q8ah#!>+F$htV=&RzFw4EhB$xJUX{+YT?ed=I1YUM{v9;W6a!+2ULOv)0M@ zkH-R}mG;l*KPP=wGKuxROls$B9Mu_WiRF~j$y5W5gfj!%Gg>IIWUy8Bw7fn7Q4T!V z&f8rbGun#ggbu&_)O`C0rvPQ;0eTN8daB$4qBm|d_ItSu%7Rof?T6O!aPq1}E)Ym5 zbbL0D80d72-b)mVY^~F`*Q5dSg(J-bzwm}m!RxZ&r&~RbcK-)Y-o1Psa);wv{wCuo ze;y?TW<)~1Bcmc=(5SFRz(Fw~DlYy|c66F7XAURLI|8(V)6@~$>X7Z!2u3%EtkZ!g zB>}Z=V1?@Fpf3aHp;^W0=z{m&v9c;N3J0~Bf{l<5TatI!v7jq&ei#SUodg7%Xuuwt zmO`=s?E7`3h18~pWgWuV$4ITE2`kT z=s_lS@7ETuzMnc&dv@nkP(CrxfEzJ&O+)Ds{u79UiGT1*>^5M<_UZ}$U>}oHQrhSc zh?n#$0X_Do0-T8byIg6^^l45+lEVjQxt7O-(B+L(xKSO>p%!S6mkXG)wHU(Fysb{h zL!adKkSB2Q;h^=$&vd|iFnnY8={4H!wDc5`_}Wv2Q6IVHmO#YzFLnE7tBDU|%~^oO zUNh!6zful)twCaT#I;+{5cd5LQ~1Njm|N=Ug2>lAuHhn_aC(E%UgMrtj8`M69_;a* z3UX;%N2*v=J}j&5$`2SiKPGT~8Na&gcCfvudw9Jj-RasQX7;`&94ciV|4isP>AxY- zvK2eVyRu>M7<~H?vb<8tjH2$2sbcALGI^<#xn?3jol2BnqI{0yYg3yH+?%j%bB6x% z#G2;;&c%nKE?RLX1R6kPOH}Ai^PE1cDy|#m=KE?sq`c37kMR>31iz{57A#C$s|&$pr=dRx*%?tm6GSC%R(D?98?T>$~M5-Kb%(#lJjC;<0Y zo?PB1Ai&N;tjMI^aK16X?qQkQHE*)vN{f_-Cg$ij=T!2t#vnwr9+^Rznrj*tyP~4g z1PzOSOMGAN4L%4NTpgUp#-P?1(^|{50Udyv)@(ldq{0s4f~$c+-_zT*i|#$&080?9 zz_olGYjC-pgmJ1&qjOvMeC|kD28@_{PygEd&L%Mzz`8;rWTFB=wh4O@ydsv8mH=#5 z7(5&_V4*%d&a#!Sw`wAQjGK0!&e}BEh9I*0IQe8DbSiFP%EVElKz0OI%@G;^EIfqb zM*yLinr4*%3;~Ht=6_#7ddz(@Z5+%L5g&Rpd5!pA@>E292=H>`*&u-%D$(94XW_r4 zocfXW%JsT0n?+69)|X`=ru@j4p(Y&X%%5>K$L*?eLpQA?21af*i*W2Ssq9nNm&S>c z5*nkM3(F2lUYBN{>XTx&0rA7A3A|cK$arGiN%p}@uNC2f=aWy*wA*UMjLwkttV=s= zi>}|am8S1Jr;+cHS|rEJ*4$yT5A>{@s;j#vnyt4}iVh#dxkL-8mWEbD0wHj6$<-No z_JQ7yO*Xor7J`|zs&=}e9`?_)XTOvLOQw=|1#1KC7bM60Rx0L%YScOOmI7)=y~8d1 ztE7j1uMRylM;_+sxbMJdiDDNA_Cgn_+4}StO4Wnhn%u!^`G~^@;EMo?X0PP+eX$gg zl^@Kr(d+pj+m5xd@VZ;W>W`7Zq!?@AF7T-78;PW*q3IL|%UXHlShZQ~E~0NwBCx+l z=1)zhugfp-W@Q9NDxqqW%)*|rQjE&d?eXr39ozu9{#3zi{=UUs*Xo9vGUjvoENUip zx3U@6g8}OQtw3)=2a(6r2iSdQl>xL3(W5giW=s5Wcy7Tdod!Ch++5H z{Zp+pVrJ8EY?cE34+i4FO#vMt&4xkaQbd z8CvQUFR9@{QDQ9#;)}>C%|t6(8b`Y&F&@F)>0O?8Wxh)pk}rJ?*KCb5yEQ z(&$@PYLd+aLS5mm2sjTt`yrx_)fMpL%^d|a`<{xLQ3hS54(?x|N?}1r;%=$f@aZA$BFqX4VK$^w|ka?cQSUEHT}zj<#~6-x}58JGr79=q)m1`UPO8=JMWC!YB}sa zCi_JyJ`J5Xr7$U8u1Hs1);PycK$Lnd(Xmh)v%S$VIU`a`8nWxSU48eC`>T%c_v8pD zJJl9#qdIuxGO?68#w92%vC=GYO_n9Y*%SgI@Kh4N`~_h0_hG~b0Z_WW`{OJ4UsYU1 zT;PmU-H$ms8CAOfHPQYC_gjvf<3@FNOIX9jQ2|m3yQ+J?9A|*a8l93^@}Dm-7Nica zQjJvixBxIdKw}I;i^e}2vV@?RWv5d952&&=J)NBF@G+~DCAJc~80g z-}tur{qTFtV{GuR+0iEz20Ot&_He^S7z6i&e?3m);mcNlrOoT-j6oKwb-X}5b-LHO zdZ#lkb=*ldXH6N&oZY=!IdZ!HKd}JmdSlbTvYo!JDcE#@_^+zXiO8G1o`VBHN>$P& zvwHPIU(@95P=*SZL=Xg)f9m{d(SqPS18Z(hg@~8#9m$f$p490 zr=(G{LK<&T7&U-m{za`-Ydo&rp6C6=0&!Zn!*2iGANh{&{8*KifG+5%@X0^82w>U-$c2vu>G^-!bhQsLDE*UR2)N4&RE|HNgS~|V zPsFdYHg*_5%6o%41meozvLD%{r^+I@d5wBbJmWL{FE~=I7=T4>6W5`h*`+)$R>OJt zjAq{{L9Pz4*M^xvH;!FJ+J4JsD8@%3+KKd)c!ZM-k`V3~g_{zkkBrpvssltzw*AIU z>B>xUr_Dmr(&!V2tt+;K+8;GRMgPIP%Zn8MO`k^0kv6&Nl*;7hxigUdVW!Y(W#h2( z8G)5)soi}aMRBGqX=2iz6fwageTb`Ln5F6hte3QItgA3^51F}oKuK(GwxlG>;lcdWDQN-PvmxAJSn?~YLgPf6 z$@4LCx|s44+*=GF5Dvfff%pp4N7*E$@$6 zaG^=M7`Fgg&3at*`gpY4gd=QhWnNSadaUozf*Rz>ztF{N0E-KtJaZO|emvtG3T=kp%g^2L;*;G@NGxbKONJnt3yO<->zjbh1|;Fw za(W(0TwYqzn{5H2N7>Vr1lQN=sH^9kW-+HuGco;4w2KjBnMmO3h-DO7)2vT}1FI(j z>^dJPPx3hQ6!1vfjxYI6mgr^Sb|6As#70xQ-Xtqe`fE~*J`|ccx^M{rvNmy|Ga>l> zJ#KNc7vYkeJl6f~M_w_EkDrV@H}^#}3d7rk76*cLF#BUS{O|YYMQJIC-t?gA z+%Gu;8U_Bc4(4dX9kZ#|{RB9<&+)?}%(LLXmd3P?`K-Npvlej`{2EjD#2qhcK@!f~fO z8Iq!WohrbRb>*O61#^-7{r?oq(Qy|w9CkZ$27QQs_i+wO+C1Cx`gAt&6~8 z+~nqs#Kj&9IfTsGfB6#lJUJdqFatPxs_t{6Q21|gM<46R!ABRHQUiWL7QEj}7WfDB zuHSco*B-yt#HjQtcDkOG$u5Lv!))-PeBCs!Pz|}+J5|Qp#P44_W7Y9GhOk^Wv6r97 z^iR5A@$C3q?`-58d;YTU-}7|oGQ4}wsl7dc3TUg&m7G_{3aJ0g&_?Hy234EA4gnqh zW51)@wOTx!AL+>CYMaE2xeX-TB<84tef4zE5_^v{`b?3qPT~j7koH0M0HFo&lX07n zd1!oNbn#{UZGIRYWt>8iw5Lm)V#$?UKKndI3!gZeC#$(SIf@xMCXSWQ?+9fPOkgaQi z-Dj`^vPAjx%ZHX|Ae7K}y3xo%m$nmBwWD`~$HTmh-VcCe*G^;*9xZ|gJ@N$nAr37jzM?F(u?m^H{y*eq~|nu zfsn_ubkt6%Q^!VGjb7Gf8ZJULIGCD-U2CT4mDV^9Z*d~DV(N*)Z)*rr5Nm+xN9qbz z*z017ZRlDz@V&$H_SWQW(LnLZ#T~F4(A21!F?yt!(~}uJ6z!ci(&lpqxa60@#u(O* zrT}>H4LW)Wo~2FBJ@IP9c`qF=g#iPX>&mV-%$~c`qzAKqxzjQoDaC{P{^)*xA&sho zrW}msD0W%SpOmTNqOqWrGIZ4uc>Rw)ukY5eITCsAQUlp%!siq|tC3=fB0+334_9 zfpNGLwUL#yS+UHiiT3rP6Gc})B!5_(AUFA%f|bkbKEK(ag%+zx!}@IhoW91D`_N&# zgG%OvG!B^|0xPPh2p8(MSa^K^Yt6{iwn~CsMm*x!r;vydk_9FLqk#E_5Cy}P-$SF( zhP)e}f53dcY>SNN9=z_SEKYDBmlsSmpAQOZ&lwtuIBcYDke*oQ(moZ7In~n+Y}cnl zYf|1@hk3LafGqJ#Iqlh@$8~+Dajg7{`_$8^=$iEu8yu8LrEXVe84~!4W6gazFG&=c zl6&;Y71`!}O4&7Ti)Qoz4O&Ds;o@1q@@&zloM3)(x#QYQ%v!VyaEks%>Tg_ z#la_+1Js0t{z8Ky?I%y341?2u^Yw%b|6=~vpJV9XSU7!RDqqfb57KL@E2M{}*@mqv zA^|b2<3ew8lS@t4{bnF{9HB%32bm7YNn+cZ}ybU3Q*S&b8}eE#!-t-sDASJrwY z(qBcv)}3`UlNw*23ez|iS(g!fy!nLduOPDQgZI?q*y%#nYm%4OvKEi~fqCPeGn zdzbXLOnS@xfFdDM#HU#&tn9d`z2m1v^EvEn7BlDICvDH#e5=L&FS*s#yENkp+dwqk z$$ddNtqJ6*kvJO`IDm=jn1$|jm=8{cwLQbD5YpV6MKl;;8+P>93F77sAn~TKMuYcy zGk%vX>Z>cu??O^|+p{o6aW zRu_2x9PJs0D>5w6MAPaWR03P>o4p+HIl>^?-sh-|Q#gx^x~(8>7V8YZe5203(RrS; z9>}=gs$47h42a67!-rYVpF3L1ev!#??%@1j-B_qKs@f-gKxl#&Nz|CaH;(7 zv}OKZ&8s99-wiMl+JM@F`+QMhp%iVEL9^Vbip|wYwYBX_ORh(GE*nZTP8f1{Px|Iv z18I-yo9gO}=^LDMOJ^X_0t_kGoJvAd0250pgOG6ub*G*OTn#Wuk&>-=U zW{lJjmq1TE$TOPS-Q8V02E^-1N36JG$Au*Pr)PL@_L zZQ4zVB_di5b0^i{;ifTh1sMRKSIlaE>hF{X7UdjHl{Zypou-t;eBW~>greY!-`}?1 z^Qt|LK&9RVDrs;0NHsa4FFlRQtUPHz$tpEgW_?VE@?!HAm&q*@UG{=GX2?l=-8=s` z!QYg4x*4Vn{9_QqgU7R%l+8j>c+?Bp7w$>hqR91$#z}2aHRa{qkYVrbc|mc3N4r6G z-(GXn0IZAwNst;ruk9IQUi|FupHUfr)l$a*^-+q9eGE9ooi@ZsII9sWQczo4tFDT4 zc;W1<6Zntt{-xeCsOeo82DB6;&|(CWRPc&COaoa|u7lR+sjK#VcsDZqEwraMy(`32 z6V_~wohHPyF5&82KbIM+gZB7ty2%T}+gE*R$anPu#&t4Q|G(zGJF3ZU%R7pK3W%sL z9Z>{q2qMy?!~$5bB7$_K_s~0uiZoFX5RfiXl$Ow2fG9|l5_;&NBMG4g0;J4|?>lS0 zxp(fYZ)VM!JAWkW$=P|@KKt42*=PS|70%;P-|@4@p=Bia5oPjCf_KwBRWogo;YF{F zku~Bnw431a~Ud>`L0Wx8X!Ug3OW+4+5S$)nivr)#u(j`=;8sk9CI_lMid+b`Er z>l?VZ+r#bRu2SL$wIutO7&tdx!xgsHGGx6KmOzgGc z4i5ami1P&>5wzL%u_<<5fxT9rj1}-|(Bj)+5+kT7U$)|9z$l-p(_Q;CWu_JsCS*oo z-2$$|mAnD%;f`qhug?#J1KQi>hAN|Fu^Y-%&MO5gBu8D9I3{NX6Jn~8UD_rQ5SVEp zu7~|1d!H%`scLIuYsWFCYQ3;KLICrw95rB1qn=7w=9>3YKq&;;Rt2*5KGzD9@CSxL z!rL^e)KX;7uKB}!5zy)^#@gDG7caWPk4OQjxEuAsCe&EI7S0K_yMdf&w_{ob#B4zl zc#I87xjH8+MPH3JMtk~1pSmv(T5o4to-PB6TM%0xcGYEP zL&MCs6EcaI=nC-<FmdG9v^d%Z(j`O&{kgLS_fEZ4t;DtHJ*oU8?gCc<8S@A{pJi?)0oqk zJqjY8u&kdcD^JF2Ac+3wBn-V?{{7NVms3h%9cU8{6vTZBF5vHYQS_hnXcm z!9lN|ETp9k{6c@t{rq|IO&Qmw|Cz4oxY*c)Cz77wVA3fbgKgO#;a0;TezhNL zRzu9vp#xPmpt7v~T7U}N9(;%o?CQ>eGg7M@W_5IRQ@X$zq;CP8Y2xNq>;;1Fkh;4S z;aMt=WMD^VQApM=59AaA_|T#%ie}F|3e+w2Pfa+jlD> z)kwFnuSE2$vrjA#zuZwbZvJx4OlB^vMS|KRB?}a}#T%dIH5K4~h0t6u+8Z2xus|1#yHdxxqcE7f`5Cu zGSRl#Vd2y}@ht}O+nd6cP8?&**R9ZXTau=iR+}@nVUM5+LL!f z>50N#q@fvR=H_PD?8t_I#jOO8JZdTFM}yQ6GR|yIM39*E7F{N8MA*yJRUZ9q_Wj4Ujh+X`-tXoo#NUO4kBo1x$*L~?w#t0+)Y5_4@uH-ODCYcvC<=63=!5}e zYq?zWc)V@(Wgc1ZqjX#9qr>3!7U!=n1&dF%6=sR8y4E8Yl(eBE^QZ2ns^P|ii$ZpL zAnLFyusZ5kJF&fFvbfj@W)pD3ls+-}u=HR{=D$ToSh*Vj?0pT?iy4$VC6`WNfXjyh zEbV)RQ11?Jam1WC*TWh<7`6WM!x?#u|Gj~{m3Ns4^TruoVxs*L!6gY(>rkrHH<+`O zw-a3Iww&yNUv_%p>Xx%V6*?hGx?FWPN(aAMM$euN(Zw<%A8|4d0-~;6kS@XA!ygic z5#|}{^(2L9t$zPz-zgFXvRq8POf@i)V@&Xhe)l!%Ed)0%vVR2e@aMpX;b{zC!RY#C z7Jx(W|1}`9)g(Imi|2-z>vhPBVfe<-oxFnF>6GE(eRvQWWBg3I&8_AJ_w>7U)92hELfic}PQ8(W}PE3%NW}qh}cj=P1HdYglS%Q_@ewE*rBAh*QMk$?SZCCed zzjcW!uWsIxXRd?4=H>|OyV9?!9K-0{zEn*oeXY#19I0?&5x{0j%gF=%YBW&rEbx@L zz!<8Sn3$|mF%vrnY!l@fHg^_b-3C!P&vVthwMCFL}d@=kXg&`K)ZK;^lV{Fr$8eOg=cBIS#!D~JC4myHA^vs&b((t3Mn6@@VTNm zA`J_lwxDQ8$HZjuqKWqB39{+?Jy3_a;59IqgxS|D z&qC@3w*=fw%P8psN%l52%S`7!!N*fh_E?8j?JpNs`tZRh1u=;fAFJc`i^sie(pF>|!*SB_`9XOK5t$;zXtQ0%%v4^gil%c+$_G z{81U~(s-+YR1oI}L|u+5&jksY{%>VD<5OT`w2a6P4EOI0z?sfBup%M-7!~?vl?^3u z+ipGh=bM6aQt)w(OaW@6-fdVFO@{Zab5{JunANN!d;cUM=y^E)l0^|fj@c_P*1NUY z#DtcqVa3dI5FD+>%0LUitastzG%o9^-mb1R(8cohPwHoMdV0MtC+MpHkWJBTgudKI zbK6WPIw>nmJ%~}n#o@9K04P0kmML$25TL9*^@4}?RM+*8M|Uee*wh}`6wKmSCvyJC zZd4Gzg)_w`jkIXFw}^)YE{|+0Bx4Ssa+N>X$0mbx(Sx}U%m2zXlFvMHZith6BXh3%1!$R+o7Oq<0 zI9nzMnO3=HD|rw;gkS6?gf*Ep_R&Kc%w^o{UPm)reM3L*UvLao`YGXm>9yHxWjX)s z*Tm(n_k-QtQ3i9u4&F=|04#`&<;i76b^^+tc_6;;p-Z0z#Z7&Of@WuDb&jY#09I0@ z6S{2uG{QZpmyA>Ji-4NgNxVBBWr5i6`nrD+J?+E@EFP!(I7bRPzyn*46}^pcpWtOd zZm8yrcuU4^*Ro4(Ruq=WdklNZ8UPK{ahaH>K3lVSdvh%JhIM;4=;io`SZut4U-xb* zG>=+XLSvy^_%r9C#lGx}8Xj37fQ6Q`Y20-E^p;SYN9uc28miSZ;_VUd|C^Lk5 z+zJqol4n8?>;)i#wce>QYdA248I&2Il$DfZ^xqhEpG)=Mn(Gh$adYJtewKHD;bySg}q8;Nj35ljl32_|8F0X&8a?fgEyDtanhDfUhOL zB}%AJ%+#Y^wwi5+|Mgm)_hHOU!e%KE#GVEeCTYaJY_Zaiv0ZX&wnq&Cdveaxwse>cR6oVoux&hEG{s@;c z7v4c@?d$aM)?4L(<0o%{9-N=za#8%c4}4L@Edk?VEfq81+8(2xgj* z-qC4OjL+Kp%Z%%#$fSe|i*03dSC%z2L72-KW=_h!T%#$$X%$~`*?Xgv7&Yf|^J<2)?mo|`DPpg9X3>IFRntgxF6TAMsvm-#027w%vzomXv z=g>`sJ-W{phDOxC#_FZS42pl@(wp;Dsf{{m+|C%u-Jw;hr(fMpRZ4#dpZf)ENres# zc5b!5H?p8Ej6`OAv~QPD1yL|@yIPZ^+1R;!kP>#}RNM4)hR;&XX0>E}d1y0es4Ry0 zDP^vfssLU={w%6iS=g~QHq8)l22n>fSnrY0H+$_7pn@`VIZq?~eplh=#yH+=))7o% zGFc7w(hnApf)!Lo-eFhm8y(ovMM?KPH>A@AQ&jqB-`-&w5BgU%b|O+Qt?F#nxL7tX zFtXCt@=cg0m^(=CXhn>vU=j4S>cXj?MfXst_P_jde;++HS$UGYUCHK2mGd0$k)zMY zuxH`0eT^|5G{<2A%r$Rgt6hh(O$_e96{kVel$31mB`H2*e$>^+;5&{nF$4LA<va=ZG*-vbnyKAk+Fz1f! z@TWH=AAkmu?G_)6kWJ28lo{^a@EN|JdqTx$6uW6{s`$|St5II?k|T6xOHUpR>sRjF zda2a8Rj0un$&xH>q|&){Z5Df_CZTv|J%!PC%?e$Ls9s-mGeM=Im#VyA2#K|-7J)A> zJJ+|BeC9{zbQT%S&7p&pZq}o20B7a{=ofnj!3y7+j^<28S&yDS9UUE=Rb0INB{nlN z(}UMRU8retr#7^gtJ*~<_sz*vY~rB$FXz%D0aJ~fgJq71Ds;+Jk$KZWesF)O{;RjL zxatAI>L5TN4-J)+lxzn5=VE6T-5#rN=*?|+b}uX-hOnqTby|8F7N(74+%{bwXWEbn z*zn%-q4Hdg20~eS)gQwV1ENNqJX#W0Ot@ys5-NpJO9&k?jOW@ZWF`5=dXc%63K)A& zo`ZUcoTqIUa0ZIHHlw$1W^s+z*CP7KdM>AB*z9!ea_D2(KOz^#=x>q^TwC+y>rG)i zx@zMILuj6L5fjDQ9&Axk7TGZ893tm|2HEojLe$ENiyO#k4ADeHL=*r@@L9*xiH@VY zMjlgmxGR0uvewDuu+UJ>7ovU1D~j)C03=F$KgO4w1IGItgDPF7G-t^~eG`*dU|9|J zVH0wf&uep5h>Gqk1$Ag?)8f8m=0*iTYR`&BVH17xB?QRCJ|q5Cala%FT1-M*R8vm; zN$$FtEqG)EO6$D8HED`?ah)oCr$!i`He<@SMX73juu=bYi{xKQ(ooum*Sqi1b;KAg zq2#08Mu!~?)A2GVDJ>CB9ySKc^0>_1NeR>9FhXg9O)pB%%~CRC!38kK?%3^P_9ku@ zUo8Q~`1|b0R`S*slV?cS>A)#70*L~5refOS%ArTv_g)cymx04(vrSm2k~FZBlb_eu z*KhjRG=K2*%~&Smy4TW0T0o1$+0wYUI7ijC4yw`d4y$&93DBAvTCWsxHm*(o0Nl=j~;b0DigZnOv`8 zGa_c*(eu#Ak=~inrS~eMVP*a7!p7*bOjAhSDJ5RfzOBx$i3?C%%H}#dVn|wiXgqZT z+`CxiIn;?!79?3aE4OMUEzMxm0^I~PLhJ5$e>LiGmjv+4@&Kd?)i24T@mgbRCi?zQ z0NOM&*$_@dj%x2x;a4QKT;`}kG745~$Yx8U=yFenv82iaOTWT=3&RfGJofPvcVf#8 zEsR=q3~~33cS175WscF)QYE7SwaydQT4&yK?q!ykKm>cV87G-VaG(0Pe=h;l*uxyZ z!o7>RYW{&bgt=(`=s%IUPv0#mX)#a=uYCHysweRg0s=sgI+d!T1^0oBB^|<;ImJ%oF808JrY-hPw%m%fqhdBUPCE9y3k@yk{KX+J{%@1y29_(JssLJ z@er#);jBv^yEF0n)-n5t?0)YR0R zK&SlZdG!qYf#m=?)h9;qg3M}`QUHC9tJi?EmT2ocS)}B<-SF66Wr1pyz~|GGah+m_ zN|9wyuqX=ysBwMpQr?`}dH&~3jg1LrCqB1#e5X>YLw^N56$B94XpJB3)Ke_Z^T`us z)eO&rlbJWw*RK_Dj)L1&A8A8egz$!FIr=b2LXw(=f9>Sj$9al(EtTV2eP-ZqlDZ3d z3wPkVy!#xLu(o7Iw>}W`gNCPI@xg`?MM}m+TL;J<<@#5qHq{ zp->B$VB047_Y>V$VHNJ3ty`5trhAK!{H#5V{l(;Bqz{7j?bX$%pA};#v|GX_pI9B( zTilhr9PIlIG@3sL*mMz0eAHDH`!W-NT0BzYrBt-LY9ds!prY5~SPf;r$Q z**?yNsD6|fv7Thn(ob9(IEkQ43FjA;E|;$sS~HZOP!!LV#7N^%o5FCB(wFBPC`T&G zhnWJrqMh*{Q2Z|Mt7$l`%l@goSxUWRpdrHG`ycYuu#sUBkXw_ZH|%zm@DB!s@}MaX z&sB(W?2cZ`#Uc&`r_ijAHkForAj7f2yD6)yMO1*0llkS#4a?2pA~KvZ5mHoLou{j( zKE0^W+Kn%~k#$Ncu`4bjaXzdy3*5^HO=8F82V$F+gI+jt5|%)@kHPwL%&!b=bq>(V z9BR;b$?y$1fRh02w0m~lyB|EHx5{e8Do29um%p+&QwVW&&0o=8zmgloIib(4c|F=8 z;FfD8d#cm^mZhuiEJ0C~?F3zEVw>f88(8_HXw~ zS40NET7#G04mfjF+$0Cx;f@Sz(BS6gKO6U0R~+bhLO8Fnv8ZS~#@qJpeIw-PI#Bz? zqtLGbNgiBf0sB`67e$)!bdRfanwR*NJ6*v}`gm58sHp2Wims_%gz;=03yGj_LeJMN5d{Z)^QWC=v9A zfPf~?%`FyRebJd81;e>a4Xb-4Z8 zd@Pfep_9zQmVc%l`G@ALD|ojz-yW-cbBlBPzWilAlzkTR^oicNIGC54o10bsRKAG_ zq-;0JNDB6g9Vo0J=~3_~4(II(FqB_sd-l}?Xzc^CdUu304zu1+6@=H1e-SIdEBpbKL=<1Qq!L#V$MmeUw>YSB$ zXU@;Zx9mU>=Hq*i9CABT8_fW~c!bSweI5!#MMy~sC)={sQ{G(~JEIQtHTvMU_HP~E^}LXO{&^?t9h}=mmVsn(mMw5Qgrd@a zYvY}B7{;&%eb=R|OqPlmj!FHHe*D$?8p=EM6D-=gQ0?#0H@k^2pt|ipVKjb9+3j?Dn^eB)KQl-lu&nJb zUhI;7XTB1^Bm>;WnkOrp2%)A|FbJoi9)v6Ko0uO!o<6X5ieTC1u5}YMUDLxEz~XSh z%XxbzN|>tQ4=W^}9{cmZAttMM_KO*sMuABZ{Cg_M>BL(QwX`#}Wsp3O`Plc8g94a^wZ53wq=vfzR97%06fRwsJLU#4)Y95~K74%Pvv3AKpnoD@d#E(90?GBMwAB6g^JdT<>%IR7{>OZF3ltd|&gr^6TJapMnNDbN{IBaX5tI7@PkDm6Nkn|DnHpABQvAH~9Zj zOuZemwhzXpkEbFrkwJ%mcln&>ktEOC@a0iS^7;1hbKNS+bYOUmUM*Q=!))n$uUNQw zQTLAnt?^vcr_Otu^U{(vzF=9f;RbbbDPiRfH%v-bn=kWANR5J#H=x0jDoBJ4cr&*KlPGVAO^hEdfAtUTj1yxY6{!@hIR(YQX?`9S?GKc@_ cgS^h*v086@eZbfV90YPp