From 5a5cf6933eb9e592c23ccd671cb916e932f0dc83 Mon Sep 17 00:00:00 2001 From: Matthew J <12817816+ZephyrTFA@users.noreply.github.com> Date: Wed, 7 Jul 2021 06:45:57 -0400 Subject: [PATCH] Rust Component / Wirebrush Rust Remover (#59977) Co-authored-by: Mothblocks <35135081+Mothblocks@users.noreply.github.com> --- code/__DEFINES/tools.dm | 2 + code/__DEFINES/traits.dm | 2 + code/datums/components/rust.dm | 85 ++++++++++++++++++ code/game/atoms.dm | 2 +- code/game/objects/items/debug_items.dm | 5 +- code/game/objects/items/tools/wirebrush.dm | 63 +++++++++++++ code/game/objects/structures/statues.dm | 2 + code/game/turfs/closed/wall/misc_walls.dm | 8 -- code/game/turfs/closed/wall/reinf_walls.dm | 7 +- code/game/turfs/closed/walls.dm | 5 +- code/game/turfs/open/floor/iron_floor.dm | 3 +- code/game/turfs/open/floor/misc_floor.dm | 3 - code/game/turfs/open/floor/plating.dm | 2 +- .../eldritch_cult/knowledge/rust_lore.dm | 4 +- code/modules/research/designs/tool_designs.dm | 21 +++++ code/modules/research/techweb/all_nodes.dm | 2 + icons/obj/tools.dmi | Bin 26568 -> 27002 bytes icons/turf/walls/reinforced_wall.dmi | Bin 3966 -> 15211 bytes icons/turf/walls/wall.dmi | Bin 2871 -> 9585 bytes tgstation.dme | 2 + 20 files changed, 197 insertions(+), 21 deletions(-) create mode 100644 code/datums/components/rust.dm create mode 100644 code/game/objects/items/tools/wirebrush.dm diff --git a/code/__DEFINES/tools.dm b/code/__DEFINES/tools.dm index a1504265fa5..76031d5a383 100644 --- a/code/__DEFINES/tools.dm +++ b/code/__DEFINES/tools.dm @@ -18,6 +18,8 @@ #define TOOL_KNIFE "knife" #define TOOL_BLOODFILTER "bloodfilter" #define TOOL_ROLLINGPIN "rollingpin" +/// Can be used to scrape rust off an any atom; which will result in the Rust Component being qdel'd +#define TOOL_RUSTSCRAPER "rustscraper" // If delay between the start and the end of tool operation is less than MIN_TOOL_SOUND_DELAY, // tool sound is only played when op is started. If not, it's played twice. diff --git a/code/__DEFINES/traits.dm b/code/__DEFINES/traits.dm index ecdf85a398e..8971cfc322f 100644 --- a/code/__DEFINES/traits.dm +++ b/code/__DEFINES/traits.dm @@ -566,6 +566,8 @@ Remember to update _globalvars/traits.dm if you're adding/removing/renaming trai #define HIGHLANDER_TRAIT "highlander" ///generic atom traits +/// Trait from [/datum/component/rust]. Its rusty and should be applying a special overlay to denote this. +#define TRAIT_RUSTY "rust_trait" #define DO_NOT_SPLASH "do_not_splash" // unique trait sources, still defines diff --git a/code/datums/components/rust.dm b/code/datums/components/rust.dm new file mode 100644 index 00000000000..92833de3d80 --- /dev/null +++ b/code/datums/components/rust.dm @@ -0,0 +1,85 @@ +/** + * Adding this component to an Atom will have it automatically render an overlay. + * The overlay can be specified in new as the first and only parameter; it defaults to "rust" if not included. + */ +/datum/component/rust + dupe_mode = COMPONENT_DUPE_UNIQUE + /// Internal variable to store the rust overlay we are using to avoid regenerating it every overlay update call + var/mutable_appearance/rust_overlay + +/turf/closed/wall/rust/New() + var/atom/wall_new = new /turf/closed/wall(src) + wall_new.AddComponent(/datum/component/rust) + +/turf/closed/wall/r_wall/rust/New() + var/atom/wall_new = new /turf/closed/wall/r_wall(src) + wall_new.AddComponent(/datum/component/rust) + +/turf/open/floor/plating/rust/New() + var/atom/wall_new = new /turf/open/floor/plating(src) + wall_new.AddComponent(/datum/component/rust) + +/datum/component/rust/Initialize(rust_iconstate = "rust") + . = ..() + if(!isatom(parent)) + return COMPONENT_INCOMPATIBLE + var/atom/parent_atom = parent + if(!(rust_iconstate in icon_states(parent_atom.icon))) + return COMPONENT_INCOMPATIBLE + + rust_overlay = mutable_appearance(parent_atom.icon, rust_iconstate) + +/datum/component/rust/RegisterWithParent() + RegisterSignal(parent, COMSIG_ATOM_UPDATE_OVERLAYS, .proc/apply_rust_overlay) + RegisterSignal(parent, list(COMSIG_ATOM_SECONDARY_TOOL_ACT(TOOL_WELDER), COMSIG_ATOM_SECONDARY_TOOL_ACT(TOOL_RUSTSCRAPER)), .proc/secondary_tool_act) + RegisterSignal(parent, COMSIG_PARENT_PREQDELETED, .proc/parent_del) + RegisterSignal(parent, COMSIG_PARENT_EXAMINE, .proc/handle_examine) + ADD_TRAIT(parent, TRAIT_RUSTY, src) + +/datum/component/rust/UnregisterFromParent() + UnregisterSignal(parent,\ + list(COMSIG_ATOM_UPDATE_OVERLAYS, COMSIG_ATOM_SECONDARY_TOOL_ACT(TOOL_WELDER), COMSIG_ATOM_SECONDARY_TOOL_ACT(TOOL_RUSTSCRAPER)), COMSIG_PARENT_PREQDELETED) + REMOVE_TRAIT(parent, TRAIT_RUSTY, src) + var/atom/parent_atom = parent + parent_atom.update_icon(UPDATE_OVERLAYS) + +/datum/component/rust/proc/handle_examine(datum/source, mob/user, list/examine_text) + SIGNAL_HANDLER + examine_text += span_notice("[source] is very rusty, you could probably burn or scrape it off.") + +/datum/component/rust/proc/apply_rust_overlay(atom/parent_atom, list/overlays) + SIGNAL_HANDLER + overlays |= rust_overlay + +/datum/component/rust/proc/parent_del() + SIGNAL_HANDLER + qdel(src) + +/datum/component/rust/Destroy() + rust_overlay = null + return ..() + +/// We call this from secondary_tool_act because we sleep with do_after +/datum/component/rust/proc/handle_tool_use(atom/source, mob/user, obj/item/item) + switch(item.tool_behaviour) + if(TOOL_WELDER) + if(item.use(5)) + user.balloon_alert(user, "burning off rust...") + if(!do_after(user, 5 SECONDS * item.toolspeed, parent)) + return + user.balloon_alert(user, "burned off rust") + qdel(src) + return + if(TOOL_RUSTSCRAPER) + user.balloon_alert(user, "scraping off rust...") + if(!do_after(user, 2 SECONDS * item.toolspeed, parent)) + return + user.balloon_alert(user, "scraped off rust") + qdel(src) + return + +/// Because do_after sleeps we register the signal here and defer via an async call +/datum/component/rust/proc/secondary_tool_act(atom/source, mob/user, obj/item/item) + SIGNAL_HANDLER + INVOKE_ASYNC(src, .proc/handle_tool_use, source, user, item) + return COMPONENT_BLOCK_TOOL_ATTACK diff --git a/code/game/atoms.dm b/code/game/atoms.dm index 5f4662cbfcb..ff042c73c5a 100644 --- a/code/game/atoms.dm +++ b/code/game/atoms.dm @@ -1936,7 +1936,7 @@ * Override this if you want custom behaviour in whatever gets hit by the rust */ /atom/proc/rust_heretic_act() - return + AddComponent(/datum/component/rust) /** * Used to set something as 'open' if it's being used as a supplypod diff --git a/code/game/objects/items/debug_items.dm b/code/game/objects/items/debug_items.dm index 61913d89d50..86cbfb48700 100644 --- a/code/game/objects/items/debug_items.dm +++ b/code/game/objects/items/debug_items.dm @@ -66,7 +66,8 @@ "Bonesetter" = image(icon = 'icons/obj/surgery.dmi', icon_state = "bone setter"), "Knife" = image(icon = 'icons/obj/kitchen.dmi', icon_state = "knife"), "Blood Filter" = image(icon = 'icons/obj/surgery.dmi', icon_state = "bloodfilter"), - "Rolling Pin" = image(icon = 'icons/obj/kitchen.dmi', icon_state = "rolling_pin") + "Rolling Pin" = image(icon = 'icons/obj/kitchen.dmi', icon_state = "rolling_pin"), + "Wire Brush" = image(icon = 'icons/obj/tools.dmi', icon_state = "wirebrush"), ) var/tool_result = show_radial_menu(user, src, tool_list, custom_check = CALLBACK(src, .proc/check_menu, user), require_near = TRUE, tooltips = TRUE) if(!check_menu(user)) @@ -110,3 +111,5 @@ tool_behaviour = TOOL_BLOODFILTER if("Rolling Pin") tool_behaviour = TOOL_ROLLINGPIN + if("Wire Brush") + tool_behaviour = TOOL_RUSTSCRAPER diff --git a/code/game/objects/items/tools/wirebrush.dm b/code/game/objects/items/tools/wirebrush.dm new file mode 100644 index 00000000000..cd193cf74a6 --- /dev/null +++ b/code/game/objects/items/tools/wirebrush.dm @@ -0,0 +1,63 @@ +/** + * The wirebrush is a tool whose sole purpose is to remove rust from anything that is rusty. + * Because of the inherent nature of hard countering rust heretics it does it very slowly. + */ +/obj/item/wirebrush + name = "wirebrush" + desc = "A tool that is used to scrub the rust thoroughly off walls. Not for hair!" + icon = 'icons/obj/tools.dmi' + icon_state = "wirebrush" + tool_behaviour = TOOL_RUSTSCRAPER + toolspeed = 1 + +/** + * An advanced form of the wirebrush that trades the safety of the user for instant rust removal. + * If the person using this is unlucky they are going to die painfully. + */ +/obj/item/wirebrush/advanced + name = "advanced wirebrush" + desc = "An advanced wirebrush; uses radiation to almost instantly liquify rust." + icon_state = "wirebrush_adv" + toolspeed = 0.1 + + /// The amount of radiation to give to the user of this tool; regardless of what they did with it. + var/radiation_on_use = 20 + + /// How likely is a critical fail? + var/crit_fail_prob = 1 + + /// The amount of radiation to give to the user if they roll the worst effects. Negative numbers will heal radiation instead! + var/crit_fail_rads = 50 + + /// The amount of damage to take in BOTH Tox and Oxy on critical fail + var/crit_fail_damage = 15 + + /// We only apply damage and force vomit if the user has OVER this many rads + var/crit_fail_rads_threshold = 300 + +/obj/item/wirebrush/advanced/examine(mob/user) + . = ..() + . += span_danger("There is a warning label that indicates extended use of [src] may result in loss of hair, yellowing skin, and death.") + +/obj/item/wirebrush/advanced/pre_attack(atom/A, mob/living/user) + . = ..() + + if(!istype(user)) + return + + if(prob(crit_fail_prob)) + to_chat(user, span_danger("You feel a sharp pain as your entire body grows oddly warm.")) + user.radiation += crit_fail_rads + if(user.radiation > crit_fail_rads_threshold) // If you ignore the warning signs you get punished + user.emote("vomit") + user.adjustToxLoss(crit_fail_damage, forced=TRUE) + user.adjustOxyLoss(crit_fail_damage, forced=TRUE) + return + + user.radiation += radiation_on_use + + if(prob(25)) + user.emote("cough") + +/obj/item/wirebrush/advanced/pre_attack_secondary() + return SECONDARY_ATTACK_CALL_NORMAL diff --git a/code/game/objects/structures/statues.dm b/code/game/objects/structures/statues.dm index e7323cf55a0..8eeb5b920a4 100644 --- a/code/game/objects/structures/statues.dm +++ b/code/game/objects/structures/statues.dm @@ -313,6 +313,8 @@ drop_sound = 'sound/items/handling/screwdriver_drop.ogg' pickup_sound = 'sound/items/handling/screwdriver_pickup.ogg' sharpness = SHARP_POINTY + tool_behaviour = TOOL_RUSTSCRAPER + toolspeed = 3 // You're gonna have a bad time /// Block we're currently carving in var/obj/structure/carving_block/prepared_block diff --git a/code/game/turfs/closed/wall/misc_walls.dm b/code/game/turfs/closed/wall/misc_walls.dm index af5b80b0649..f9b262d474c 100644 --- a/code/game/turfs/closed/wall/misc_walls.dm +++ b/code/game/turfs/closed/wall/misc_walls.dm @@ -83,9 +83,6 @@ smoothing_flags = SMOOTH_BITMASK hardness = 45 -/turf/closed/wall/rust/rust_heretic_act() - ScrapeAway() - /turf/closed/wall/r_wall/rust name = "rusted reinforced wall" desc = "A huge chunk of rusted reinforced metal." @@ -95,11 +92,6 @@ smoothing_flags = SMOOTH_BITMASK hardness = 15 -/turf/closed/wall/r_wall/rust/rust_heretic_act() - if(prob(50)) - return - ScrapeAway() - /turf/closed/wall/mineral/bronze name = "clockwork wall" desc = "A huge chunk of bronze, decorated like gears and cogs." diff --git a/code/game/turfs/closed/wall/reinf_walls.dm b/code/game/turfs/closed/wall/reinf_walls.dm index fbcff87ac79..a323ddf34e3 100644 --- a/code/game/turfs/closed/wall/reinf_walls.dm +++ b/code/game/turfs/closed/wall/reinf_walls.dm @@ -230,9 +230,10 @@ /turf/closed/wall/r_wall/rust_heretic_act() if(prob(50)) return - if(prob(70)) - new /obj/effect/temp_visual/glowing_rune(src) - ChangeTurf(/turf/closed/wall/r_wall/rust) + if(HAS_TRAIT(src, TRAIT_RUSTY)) + ScrapeAway() + return + return ..() /turf/closed/wall/r_wall/syndicate name = "hull" diff --git a/code/game/turfs/closed/walls.dm b/code/game/turfs/closed/walls.dm index 282caf3ae6e..e6fb3889adf 100644 --- a/code/game/turfs/closed/walls.dm +++ b/code/game/turfs/closed/walls.dm @@ -309,8 +309,11 @@ add_overlay(dent_decals) /turf/closed/wall/rust_heretic_act() + if(HAS_TRAIT(src, TRAIT_RUSTY)) + ScrapeAway() + return if(prob(70)) new /obj/effect/temp_visual/glowing_rune(src) - ChangeTurf(/turf/closed/wall/rust) + return ..() #undef MAX_DENT_DECALS diff --git a/code/game/turfs/open/floor/iron_floor.dm b/code/game/turfs/open/floor/iron_floor.dm index 5ae6755cc1a..2d208217ec2 100644 --- a/code/game/turfs/open/floor/iron_floor.dm +++ b/code/game/turfs/open/floor/iron_floor.dm @@ -17,7 +17,8 @@ /turf/open/floor/iron/rust_heretic_act() if(prob(70)) new /obj/effect/temp_visual/glowing_rune(src) - ChangeTurf(/turf/open/floor/plating/rust) + ChangeTurf(/turf/open/floor/plating) + return ..() /turf/open/floor/iron/update_icon_state() diff --git a/code/game/turfs/open/floor/misc_floor.dm b/code/game/turfs/open/floor/misc_floor.dm index 31c85564516..692550c8590 100644 --- a/code/game/turfs/open/floor/misc_floor.dm +++ b/code/game/turfs/open/floor/misc_floor.dm @@ -207,9 +207,6 @@ /turf/open/floor/plating/rust/plasma initial_gas_mix = "plasma=104;TEMP=293.15" -/turf/open/floor/plating/rust/rust_heretic_act() - return - /turf/open/floor/stone name = "stone brick floor" desc = "Odd, really, how it looks exactly like the iron walls yet is stone instead of iron. Now, if that's really more of a complaint about\ diff --git a/code/game/turfs/open/floor/plating.dm b/code/game/turfs/open/floor/plating.dm index 687386bc49d..99f4b875ef2 100644 --- a/code/game/turfs/open/floor/plating.dm +++ b/code/game/turfs/open/floor/plating.dm @@ -95,7 +95,7 @@ /turf/open/floor/plating/rust_heretic_act() if(prob(70)) new /obj/effect/temp_visual/glowing_rune(src) - ChangeTurf(/turf/open/floor/plating/rust) + return ..() /turf/open/floor/plating/make_plating(force = FALSE) return diff --git a/code/modules/antagonists/eldritch_cult/knowledge/rust_lore.dm b/code/modules/antagonists/eldritch_cult/knowledge/rust_lore.dm index d82cf4948ae..63ef9d195fb 100644 --- a/code/modules/antagonists/eldritch_cult/knowledge/rust_lore.dm +++ b/code/modules/antagonists/eldritch_cult/knowledge/rust_lore.dm @@ -262,8 +262,8 @@ edge_turfs = list() var/list/removal_list = list() var/max_dist = 1 - for(var/turfie in turfs) - if(!istype(turfie,/turf/closed/wall/rust) && !istype(turfie,/turf/closed/wall/r_wall/rust) && !istype(turfie,/turf/open/floor/plating/rust)) + for(var/atom/turfie as anything in turfs) + if(!HAS_TRAIT(turfie, TRAIT_RUSTY)) removal_list += turfie max_dist = max(max_dist, get_dist(turfie,centre) +1) turfs -= removal_list diff --git a/code/modules/research/designs/tool_designs.dm b/code/modules/research/designs/tool_designs.dm index ba5d12486ed..f2cbac71291 100644 --- a/code/modules/research/designs/tool_designs.dm +++ b/code/modules/research/designs/tool_designs.dm @@ -268,3 +268,24 @@ materials = list(/datum/material/iron = 2000, /datum/material/silver = 1500, /datum/material/plasma = 500, /datum/material/titanium = 1500) category = list("Tool Designs") departmental_flags = DEPARTMENTAL_FLAG_MEDICAL + +/datum/design/wirebrush + name = "Wirebrush" + desc = "A tool to remove rust from walls." + id = "wirebrush" + build_type = AUTOLATHE | PROTOLATHE | AWAY_LATHE + category = list("initial", "Tools") + materials = list(/datum/material/iron = 200, /datum/material/glass = 200) + build_path = /obj/item/wirebrush + category = list("Equipment") + departmental_flags = DEPARTMENTAL_FLAG_SERVICE + +/datum/design/wirebrush_adv + name = "Advanced Wirebrush" + desc = "An advanced wirebrush." + id = "wirebrush_adv" + build_type = PROTOLATHE | AWAY_LATHE + materials = list(/datum/material/iron = 200, /datum/material/glass = 200, /datum/material/uranium = 200, /datum/material/plasma = 200) + build_path = /obj/item/wirebrush/advanced + category = list("Equipment") + departmental_flags = DEPARTMENTAL_FLAG_SERVICE diff --git a/code/modules/research/techweb/all_nodes.dm b/code/modules/research/techweb/all_nodes.dm index 4f84f54036e..0e8f23e5baa 100644 --- a/code/modules/research/techweb/all_nodes.dm +++ b/code/modules/research/techweb/all_nodes.dm @@ -151,6 +151,7 @@ "tscanner", "welding_helmet", "welding_tool", + "wirebrush", "wirecutters", "wrench", ) @@ -1213,6 +1214,7 @@ "laserscalpel", "mechanicalpinches", "searingtool", + "wirebrush_adv", ) research_costs = list(TECHWEB_POINT_TYPE_GENERIC = 7500) discount_experiments = list(/datum/experiment/scanning/random/material/hard/one = 5000) diff --git a/icons/obj/tools.dmi b/icons/obj/tools.dmi index 5cc32e7af07e65e8190296dad35b16b2e5e98ae1..ebc2ec637a563031021f9ec1ef73cf85fe5b1228 100644 GIT binary patch delta 6814 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 delta 6377 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 diff --git a/icons/turf/walls/reinforced_wall.dmi b/icons/turf/walls/reinforced_wall.dmi index c7b05315d50679b2b92f2da5484d9a2a69b9bfda..35d64734e1493a7246a7247016f5d1d307d2cbdb 100644 GIT binary patch literal 15211 zcmaKT2Q-}B8t#l9T_So55=571i5@{j^dQ=35iNQUWJZbJBBDi)-iaD*h#*>s8qs@i z!(f#l{he0A^r?f2Qw^Stkl(AHF?AY~#2fj|_G)Rc8WATS5;3nC!` zj$9Kitq1;j?5l6&sr=l-+TGsO)854y1oBBQH|TJ9D?%&713CQFTHlpowB7O8jgQR> zW*IMDq2$2*TOHRHwySgFh}WD}Y%%7JOA1$OmfRNE({*F$vPOB|oiN2i63Sdn;y#+m#iOocIA%HB5vgIsoG*oR((a2v^;L~DfII)TOfsY zc!mGZC&En&4^Nvm?$OUKwXHqhACA{djx6yIgn`3poak}8y1zgm4$vcIMSY+2-Hd4u zrblh-@DBk>O9mvt@o(Qg@2wT=-Ob!P{59*xsi~o?Dvw-_*pRo%T(iUmzqzk<@#0u> zXZo9*w5`O+K&JH*t+<|-kM@#o_N%Gg4(4`#IwO2xaZ@PrHgC2N3F4Y!o?y0I>Xk&B z=g-%MPR%@kMcqi%2(n}lA;$+D_{tQGZ#S{bTQ=l!kbnYgYa)OjyStIfoH_l6 zsv$}9XNYwK>I7$x>M2BfA>xb#CQiE|l<}&K%3Ml9+<04PjiDa>!mv=kABQ~X{!7@TM?_h@-K~ z88@$)n3(Xc9PL(QqpKU5qZBx@KeDm06tyK=rcm}YD)zhhqY~K+vRASu5L5_}rHlCr zaOF@~Mh5GdG$k~PN+PX%xkH3}uWLCaErSr$<$041zf;6)zi!Iu;KKjFgT>3s%NN^s z{B_r>)3RZC=U89#RrBlv7;i1QI|)K%hl=5cv(&WVyo$$$+&}?A9PR5!FS@zqKwc78 zKN*W>2BOyq!SQMYOUQsiS}~HXb*Z~)gMs{Sm!+OSW0&6z+7ipj^)mPJ3&Pu04VRY? zx})1Fe6Vu!Fi8H-KZ{g}DGrj!mX+?=8rNb7-LV|r zVkb1l{_Ka8PKwJDS$;q`BDG9V#Jzf4{8LExQ!-$EEBD%E8 z^=XM~4Gaz4JUz$s%1+RI2(fg5sAXk5$L(#igo7g3J@hADFSKlOzYaVED(&1bJ+_~< zd$`;qDAp-TO=98fMF+fI!JDkHwUr{dpD^pIV5`4eocot(9<9t;+%1>Dhl&c-`bxJF z6lK`WD$Kq@XZ0`0TeBx|ZFZ2)fFv-C8{c zPGL6>`7wBU@H*&g^8qxLVjO=fgc0682J^u99)pS?5V(x6EflxGK#fe>Vs8+AXMfr+ z>PH?vN0^H(ZX>(93zbfqCv2vV%QY_c_tBle+Y+T(7{o${AQoF$PO!??B4aLX5Xw|y zn~BrPS^Rs_(j5Z>As&8cvXIkDEQg14?@olDyjf=aF6`rNV z-a>_y!@fYsmNzC#u`WT7NZkkG;jni{m9sq#b!8N>ikCBPG;EC-lXpK~e4Kf!5W1Bm z17C9R35t3?jjNb&FnVULQfCl6x~Q$udo*$y6Eu#sfAQ>ty|1npqWHCbYwRB2!(AjuKq0?LY`;;1ldgrH%H3vtcHw3 z`EtkLG9n944j=dAN8iIWF=gAcVHPC7l1n!_81}2lZKIZ|dK_!6(YfwIgcxd^1zicjtFNzr*Khk2 z_T+OaISVE6NU{F?=g;ah4EmmrXWM-7XZzx0ATE+M4iyAurg3X*SN_ee+Ij9u9nlea zC(Pqf-D)3ejB(1!5QI!69cC7IrBx2%_xT;Vy826m#;x3s73GzsZ4FaSUQ#PYyIEcX zMX>yy#qT|~t{?Cd z<0^XsDdp5 zjs}+U4Y~y1cTN27pOdKE1AEBf++@Kd22iXnoMvq6)xhB3E3{zR;Me`rhRILyL-XN8 zRrDu{&1JrK!m~UN&-0Dr#Ea%h%5LMNLW~S zj=G_hs0jHe(mZXD2tGtC-xK4>jJ=h7iTc1QRC~4yO-#^{19iEvC@Tg`FN6C(M;7yv zEJ!(LPo+3OrB}`{XaM;?eVya7p`ICXW5tgd)x|3QtU=fLnt4c%r;H&WrsfWPaXRzz zY7;?Npa zDB_OrePEspCR=ER;Y);WroNwK1pkfYziEs}L&V1IoCCghj~VN==0LX!vAsw9&T0kq z{A~u`i6%zO4rke@d@?7Gu{szVe2-GJK{9~o(QMZP&j$}nA9kfE!*{nU;d@48Doc2L z6ug@>^czy~?Z3}`{S^B5PrX}W&ts5|F=P)hYiIdx9h6j*Rac{)B*II`j^aztje3dlp;zZ%r;QTn~=GBNyL5oXFEkc5d=1pO6HV`sxpNHAkelt+x zBdmx`TX%KC!FDl1{bY~Q(2VO!vcPrqJKsEOnPnBIAT1TKNMVHN#25>^Vm zI|>HmoxKAKW?hhGyrr0uqkyXs%7$b`Ju(537ZSEe?8;KXWoyGx(9HsSnW4_@!v)>XiR91BZ3^W1 zznF@ZpgqN9Ld1yFmaDW9ARhS2O?v&Ny$3p;|rcrw0ek^sORD@ z6b4;XG(NeV^fTsR>)1S~2Tr!laKUT64)Ou9N8h)GVESVSn`ENs1g=&g0TR5R4i05S zg?wEdjSK;@%=P9b54lRi@tn0};%+YdXU2Nv(WUIemDsRdbCb=<8tiHyjY|+a2oa)m zF>m0H)s4Ol8!FKKc=-Q;R|@0}wP%;$>gH*l`F=g-s}nrwd}#G(0WUCq+lvL`Ua)xN zB9R7gFEgZcG1BFn!_)aY>qX7fPS|ULH&AeNIEe@))?AAGH?dDT+F%mSh_xJwNi)Ua ziz`fN5K)HVZ|aw1d={A2|~(u`4Xe4<)z7>Or$)y%K2ag>~*Wj zsuuUvkK2Rc=Y}SwDtZP4459vQOl2C-la)2O^rOb2&011R$iMlvw+o=<{Ur z38O>QDZ(VipN|OSBg>}O=fcA%g23M(d`A9)yUv$YD7kdmWy*;T3TOXfT7h|Jcb92* zy)JZsm2NXx%NS=11M_C^J{)3A1QwJpU%te`AHiV;S+Es9j#lncwWL4>u-osLozIRP z4)ThQ^in`XJ|XVtQ?W>C*)oIj-*{brk4mzua(#W?IiQT`g2QN+SnfoD6y@Io`ZBWp z-8s}@Q|f~%S?7w!?|v5ogLP|aI9ryybdOqamzqnWN#HnC=|+}|7L9hAdeuKky5X)R zVes0|?+6nedV@)v)N0qj5X3jO4ijuM@gKsS=sapipmN^(Qd_>KWB;hbw&s-#Luf~< z4~xg7UoLMxe>DR`=%#O_=c7*ElxMh6bFBU8HU@R^M(#|y!jUOGj!I~5hsJI*?AZPd+<{zTN1@%4I531 zYuSU(#{2T>(jB4!s+rOsu=S!feM2-@)YiV@Hlc)9(i$SXKTfil6I90VrPg zUnssuoJV(Ef!_w-u{HN<$|{cz7%wm&A8TI@E5+1eRgV%Vj`N`nJ@`Nfo0l@tYuGFF z4>W4nqVnD1{{_hDt&xZh;*^FS*Re|*g39! z;k5A=TfWY0O#3iTmv21CK4$P`J%o+%>IN&b-w4`$V_j=|UJZbh@9k#R3V_6WK}O=g zQShkQeFPWx8xIH(ctDP88RMAe2V+2DJo~Z!r7jB&UL9(2^)q%P;4zW=HN(X{`v<+0KaurdXJq2 zS=iYfp}UP|`DwO?GE|j4!DV^P_coz?mjhQ>2w}ReLTN?;i@8gAe)qhP)fhLC{RPZ9 z%U51Jr!9}v!>yopDVvv`8qovNiod_VXu`qu9!n(OYx8YUzZ`E3Zdt_Lh@$Z*M$zK# z4j1uJb7=Ejiwu^{S8j^b)Z|1rNbznbMp|vzJUft?AJ1Sd@Z+Z%P$BwUTcEoVhzhl& zg|jiN8kW+_Zo|?s#yP8!-Sagj951De%jrfo?}9jJDY=q|8uWyy8Bhe1UjaE55SM#| z_#mTo$<-x0EBiTWJG0-|<=fOuQ5`XyAGe3bg#Y33YZoseZ;**=+qq7+g0-chJ#Xiy zta(Te^jTR@MP*i3`KC*gf<;E+y1CEFZ2=G>mb(k;wfW5Do-=1H z;xHM|-V>Vr)2?N_*L*lK%tMU_9fx;Zo#gQ@z21qkx?{QfByKuXA=bk05FEXm?^|A(g5b-hiAm|Uxxse5eXoeSnNv0t`Z zAAJ}}G$JSO^lUY3%Cn&z5P**ZK``bLI=^T5%baF|jo^Rcm^hrp9Sy|-`d#Pwe!SxF z-y}2U;529geh8IK(U;dNoyN-( zKoZsX1Ub5y@?XY5VXhl3X_wetNd+5ghyP6G>!0Rk&stLsoD%J5SX#`!DUk3l>D_yXInympOF+_u^M z6=Fywey7IWWUL^&25y;}-!M~m|!K$7%TyUFb|J?kO+fR8o)-hH8LITTA`v0A)AvxEAA3@J!Pi&xM#%lYS)uAl8nShG1{5F24SdAt zrDWoQ1hGQVNPOh{%n*PX4q0ReqDGt`+W*qpc6Imm`B5!%ffz)4o=PGtn{D_n{8$F? z!-e)z>#rnBaF-j9ZF(|+s7b>B@&%}|_+H!TVy09lI&kdv)GzyvaD*cpexGd(`Cc7oBn~@C6lYoSjSPL7x3>1Uma3s5Ze{}6M?wEG z|9oyf<}1SrX$+c)NdL5>4LF%99@7%VLrB}*h*ztf)Gp4iHqtn%&coV>N&Bq5vT$JL z02P?w>B>K(sC&AJF`pM^UGXty7UU8s2Y+1KgO;1`GdcF!))Zu*4K7x#wQb|T#)FM9 zfqfW&lx1#TKOm4@2aj*PYBa5gg~#t_zgq#5g(!q*D?*k&oWFS$PNVFV6;d7OkSg`=R&&pgklCCjM<2Lfoj0UmE(CzoRHa z#*zXKBTNtT2Lepih`VdBPnUxL<(SGy9|3>C*e$f{BUAi|*BrV~BoCfvQT~y?@0y zSAww_^fFfO-Iv{EWWL8j*}3cG-4#mrkfvB)z0She+WOL^{LHQ}^gS=Z9Jur!%JJ@{ za>VJFSX_qO3H{@nJNx?$ehQ-of1dcC=>Pc}@2`h!?0{1N+K+BJ4)C>90nEG0cKaR& zs2rM@LCt&>087#g|LTBUAP`tCCF~5X#GVQL!lyvs10#OxeABE-&b#BgOaMS##_>K% zQw9F%p3BLp-yC7uG2%3Xn4oCr?abUzJ|3oBg!KWyZOjy|5e%^XAUqpl}g z@wUFxsGRtEcv!tQ37pnyf;929UdJkmj%pcp>haR{UqpwO z|Dp{qOgTYZ>-N9f94Bt#Yu}?dmlcSr}bD zk7nt((!C5K(A%$;D+rWVA0gg@jD_IOpIgWmmN!}ew`{wsHW_H^yd7L9c$hNyBq#Cx zpsoA>*TyKmC?}_)d_fKx7(tb@zo|sW3%wbg$hKOO1ADs&A`68L3m%Fi60FIl*7`TRz6fY+V;F%M{}P zwdRbstF+X497f@zW%V?zi(~bchC6ETr2oh=5e85R=dO1lV=jg!iKRrZ-@rYoLuKt% zpQp5FTA|7j2{J~TS+)aB1UsvSrep<@2uFpQ%0R#P{#5}aa~B+U0iQmHlb&_5W3&6$ zE5{`xVMaYgP_7oqUKblVl`K(7Ak#7MSty%D5dL*#vI$Z`XusbXzUfwXf(pSIH`_R+oisCbs^V&0{ z*T1{Du?2q0f4xzbO~&WIV&QwZs;cT6F0PYKQu)*f77_yT(+e~<_SXV;=KHyxadjyc ziE*AVpJ>nHrJsda#!Ia9@NuNPtCLUG5OKqFIRkT(sSq<;+HVs1DNSn^Z+Z|p5n3A5|0Q{q>DBD~Wj_V$Y5c1Xb==DEL<;|P9;(nvoVWhh zWEh9H8=NYXotT*6@J|B}ll@1l4K=;(^4 zP`Oy)eSPe8tn?dSbo9@s1s-$tAq`89rL~7%HL(J;+AsgDr7fq)VqBM%l(aOMo@4=m zxEinajT(S?z|cAo3LgQu%%2Fk3I7>u{@stm_Vu43z9f40bb1j)ms*l4iz^B}B6aXD z-%l2t`niG-C17=F5*jfQ=Egea5ABHcO2f_FE$Y2Z0ozOdFMSEHKvCjL7WfHZf&ZSn z0u=ps_8N`qG5ZeXp^2-{^&Q2fSShxqj^3E;6zzS3B_ z0}Qk1G*97AJBGdCCCTag&d{JK)UXWEhe6wE4^Ll=F7x%xF>=_Cx4h*l(gWX{r+`Sa zsRO!Ca0ekeY$l>Zt5Z5z-B_EKax(4Yq#ykc2hRlObPGSMGtl$)xaPB@mxYP$&%}pK zgtAnH(w>r^*p9i?SpeX|NLdcO)4IITkcXv^J*NmFxOIH)Zzqu!85cA7#72y9-1Frd zGi2+aZB3`5$kw0M_K^2*KxitCAVZ0G7~{t~I1*i(~A6VJc&>lSi?-e5Is#_QOF1z;7Ew6D?zZPn!R zrvo<38iFmJqKaWn7%#w>N_u|d36QttzN$mMqIyDl=)v-F(01}DSV=}5C30ULyZvsM zP;tZf+5<$6w_HA3>$aEn%4#w!=DS=6;Px4l+UM&AuKV6M;ghiAXGUse%?rtjJc`rO zJXq+!|8SGp9n5a{LySCk`-)OM^uu~*BwA#k=S!+?*7UL{ch*Xs%J^>fJ46F$?7}Il z^m_B`oSYZ@vkuM^#aP%0X6{t@h{sOv!xZy=z7IWf?7tO~d5Q^>rbB9lWeIga@4p#eQ{F9CJRG2 zGc>tqNf&?Ss+#R@o}%;4uFStVHM@_&UhGf9;P%kzwKdyG**l2mxJsC9@&dAwE15%Rv5;Vh3sPD1qHV600UifGf* z*zNNoJMK(%dLM?nn24emCPGYiF1q$a9ie1mV`I-%x{pzqria}C6%OrR4brlN1~H;; z+>yZ#1eGL`0(u2l<+2&*HTL~)KkObWb*}rQ4@C)cTrv1nist_QNtY^|MX%V&7@ea{ zGL$9Xv$l3?W&YX1gMf#133^)cptACEOM?-9p+t4H!qL!ka4iNz{ZA>eD)|y|Ak&J%GP8%3qW1R$WKq2&4K66|<`#=Olx!d0qlgDR|3Enhcs z7AA`U-syuyOSfT8Od4mMf#fY5y(;W;e#}QnMMZIh&(72V)W>M^j*XL{*3w)Kmb#*1 z`?*^&-xx_lnq+|f37fZQd!8bu^P5TDlM)WZP-toz7tar%$*(e-@B16GGP7t4!Lx_) zIb*ad5&Xyiz|aH4)YJZgF5&!S$Q4;kO-;?&$+XL1p*-da9JA|km<&e~UQWk7s6Exn zRLzUCz2^Ocb$J|PuZ`~E)$nw*jfM)8F)vv@Lz7)v4DNv`F7DO%Dfq5? znEELkby)O>#hY70bU*kij2pjPfLMHi(H@^P&+d6GA5G6=>s|1rqO*<_zR%vm`?B+% z6Hd!TkylGI++SH6$cUO2fsPY>k7Uz^PckNEDFRPj^GNqo7)h};;~Y+x@q8Rgt^StF; zjH!wss6<}{%`oc~Hj>mZfMrlqhBc#$^+^G@Lm1Mw!$dMMs^#n*_376S{4ba%=7q@+ zN=CmM_&?N#igUuUW*n$Oly*hgzjk+rZk=fh!wm5W{99H_2vSRx=xn!s;&Vcr^QRkZ zS5(i*T!q=fcu6kZYgrC11m7-r)2zW*=QbSOkfkB|Yi`a!5dK?+BW-XZcDg`cLJ+zs zL!ZB2cKlk}_aa}Gl27G4zlSF#PKMn93Tirgw4A$=JokzHn+p$wDgOfp?&kVyHdBt_ zxk2qXws%QmMQ8vZ($mue$Ov3tzm8Dj4g%J{E`Yh9J^<9MY+9$UQi7^zl6(Vt6fo9T z(51Duc>FP9#)a(%_gNqnPqU{+=zy}sZ{giny_nsNHvDrxp{{pS_b$suD#NZbq_S@! z<%W)clCj1QPNj-ThIW?k{4*h1S`AIkiG9NPrb5=1mWp~M%JAnP4BFwyu~tsr9=i|6 znIAfjJ~v2Fvuu;?slRJ_0U9(^`cJAe@a`Wm zyuX#yd-`Ys$e7TO6XksPbA6Mjw<0xpFOM68S(4>O9g7w9%JLQ9P69uGN$|3$+)8^{ z=wS2t8G#g~H0y(Ips*{BYhzKQ`-VI;t8zP~+@SxRzXTISXP+2(9@+taskKeRVZWE2 z6p%e1`&2OJ7apjVC2wCA^aCoTb>DPXgKSmk0B-_a*wa`1$a>@QSYi-Cup(&7ZKd}} zegCPuHe4FI$y(udbmvc+lT@I;epLNS8I!3%@(@?@;1-jNa9VG`N@oe0N=2V~g^8qjBa?SNKDL0tET>H*bHEsn1A6{*=4*BYC+LLkO zD^>-n2Q9WWQ>*`r1|*0xB0PU_oCaTwQMnF?QPu6knD2!nCq#%zhM2_FLhRKAa-_`BGY(J&AJGMJlp5zz>I#Uc+mG#8oUX~v+3hC`1+D?T)vR+tbMJ)}$ z$@b&qez8M?PS-ip>tvOcAWKrG5LZJd-Wj0u>A#1H?&jN9hZK}0 zZ2n8BJt2Z`t%R<;XbVwB%33s2!F%wNU8AqRV8daABXG~3qxe497s!sPInqZ9aBe3$ z1bTMN+nVXA>ljhnjT?PO^@L z1m7r)QOel}WIY=`<4$-)i$G-tXW7iZ^O33eczf57KSW9`7+KM~u=#aeijV&AbVpF& z{$tk}`Of=VEUNN(uBV%n>M!DGDl(VGf0EO!G23N)S!ky3{yI)RGe=w$I=@uX7Ve6o z8#zfXYB6m$%%VGhl;g1!-T;LD+xwrG$yBA$A{Sh8Sr;rZ2#MIB*=ZA9UfLtOA^h7w z;iQR;L&N*avKbNr{XhKgRE&Id(e4F@IN6+;@~b_T>ay?+OTxpYbtC)qr9Br-YSj8I zi5<>9QD(fy&SS9*w6hYwhCB`wm2-I)#P=1BTfpr5-6N~kQhkCuSXX+jZAzcC*ZPki zwbzACo;u%fKVj63g>$}f#5ZrS%FyPeO|XLm#hchbV}s|{w~azU{zerrVKx_H!L;T% zF4d3jEMfiqkGm4ETX5;HDKa!!(4XB6;=EQ!~yigXp;;xm2aHcV+Icc{p=Kc*9B3 z^7K3)mG!Ojn}`u+W>TuTZPN@|(&yCo4AM~2lEgyR@@6iTZ2q&CZ5;jCSM+Ot-eY(y-RCJ*a+4b8O+EwV@kmjA>foV6i`Ed zFcV|-#G-0waM5g-C?5XR`6XL~gwRb(`nlVYkj~f#5A($=NJ9uH;Frvk(I@g_yu8;7*+Lz3M{r6L(vqBo6 zkq28h_a;okMFqJhc8qw_bHC>eOW|nFy70SKy9-0ITr1D`8XNFtPK6FDzJ5ZixscF} z7JVU4Gk=hyeOF{8HXPuj%+mPfyNqYX#8Q4D!R=qKY$bA<&!1R(9pOFhxR(Bl)pa+@ z$1SyIAeauXe_i2-nlQ6#I_gRK#3#D}Tu{#o%?}S6ZnTvy{1||B^0*PDZOXilv-;i! z3%>8c_qKA)&AT9?bnEIFmt>G2^4WJF<>eFV9H92?n+|i%Sc1uS7kx|bx`k;R-breM z(d%X9!7k2KSFXVf-NnXCGJ3XJyo%FAGQTS7E}pyWXyuG3~fGJpY)xG9maR#kXYE!8TEb zym@5dvOZB0tG83`Kdwr&Qqy+K%pii_vf1XQV*1 zG3B+T7c+w99qVl&HSX63QH&z>yzlpKEBFA_>}2wZbHN$-?@^~I^s-fE=j{Vn)^KF( zs&bBYbbc-|Eom4{RM%y-$Kj_JLz#6w{v(^7_l1rZ7cKA0@S~=^=id}ciL}-h#Q!=V(3lSos!Vb_LEW}}A-jNg#5;fv_-)UkVadjS>V6Pqze1LF;Pk=G1M3F_2bUj->Qc#A!2^9+Rxc?d};Vkab%D4 zNj}nRT00~v<=6#*6J1;zr3KJE|^=U z`N(IzB?g`~&VdDer~=iuMXMYLmIU(Nc9x`MCUc#rsM@$6JZ$AEk8T@L_n3OZ)T6g#)>7 zhc}}NWCK&Rbc@C#t1w$0ANFUMT8RK>dbn1SJF3eHsHzd~)r|%|+6`LLz+D=(O5I|P z3{7uwIm%{MnIZmI@EfE(YJLsN7Wk$*0FL4}x;NBmZPJmZPr67f{fh-$HfC`66-D|} z@~9DM&$OvTJJWV8D6S)V{l$uHP~%{@Yg^nx2v7KzQnG;x37Rxyw%fu(ukxV&Q$7I+ zhHxj4(y!ps)Y~n^+}L#-mS^@|v{H3=n=A((486?$640*9%*>#B!W}@Y`R=)tP2iuS zk~!Yr5!!)2SvG{%E(kRr2+0Pc?5Le6jDGVib(QirLdtU1jJ_U?y!ih5g`0$)auRa+ z+s`0LBf?RecUR6ApTJdKuhCWP?03-1+6keFbz`n68xpJpUEvmDD%yv4?Pd^>itDUz z4%{aggmk4hslAfHLR5dhA?xBvGD6}}k`g#JKyoCk7ZmCxS6>gEIUVV2P& z;5W6nxzWz0Z_$wKnvP}``s^iOt}k-L?(OEz)Zs4}TsLx4<~2`A4OL8$9%;y@_>W4@TmiomyPnBPWPgWnN zwl_!OqW1Be;!VG|*R!ZR204H-mctV)%ia#{JGn+;O{b*_E<9*&oT?YQkUROB^A(@< zvQHi67C-d5Qab~qtyxcJ;Mv#`BA+DC@RMF%+EP1Vm8ZYEs_0ktQj)q0d9Y+V1MBTM zv3*YXe2drV@SLTVCEm6;*OnZqB|8X z1U_8jqh#VsZ+=`Pp;;xwvV6w`f9XQtV?&0|u{-4}Ljsvoy0nK#smaR~UFCPI^-4D} zXx(CQ(GW27jq1awBfDIi+=HSXvqz#l&gRyuTM(qrlZo%-gKX8=KGc9o_z4H*?kgWn z$mn9FV(DQjyL(qh!h{AgkBpiUl+JF4b5#VXH-#Drz8xzkN->%CS?9CfGzahCH?dO# zFe1y$(L7txpGzM#erv1$%E2bZO0H<0u&&X0Gkbk010o81w>t7Tn*9cST=SC9TmwPl zry~m#!!KLLZJu_{Q^^mc{jRdG;PZ7E<0$yo)lzDqWUXNV|Jcdv%tn5ckfe1EsW-o9 znOs|=xuzM4G5OlOTq8BFsA&zlsDk}v9;r9!2hTcoK1Y);SzhB`eabS!w;brfuH<;F zfwR)GA!ITADA;>^SZ!!2#nN?qPv||)^r2&U1l&s&&n>71t;*UC+r#WFnalR zQO4ei$41rOjjn&XG^Nyb!CfE+eK*3S2lp*ww3$S8#>dQx#<(x%c$sf)fAH%N>%#am zy&Da{cNVx;q3Ay4bTMCUP`V5T0eeT_?I<$8D_|2EzFmC}R_F329+=WHK zKFi;LG6d+ED#gAIp@W4C22V=ydKj6v5zjkQ+`+{uy1MB!L|($wsB^$uB`~mE?fdf@ zVB3jVj9Sgqw=~Qf+Q;llQ@sDs<8XLHFArd>L)EjOPQheYfom9#12+(XFgyz*g*a)D8Buzc^1{6t={23>Yo4J zOF|M`9@f~W94|2KDzUAy8bSe9#djJd{^7;Ezvbe}(-c(K4Di`OtCKyj>1pX%hc)qO z1=z1TG!ddMWxuodwCQcg>hm)Cs1#|9?Aooj9VmD^RjRJdSAzG)2mXc-|zOl8kC)0WKsX>3cUQvyq4Swyr^@sk89L7N`o)buZ1~( zT8{f0C)>H%!qG$8swiQYjq9t1w`5`L6;Fs9lgXr_uM|aiSQvgR8p4uBrIKQ+g)GK} zmS$n3zs{d9^oAJPrOSMcK7Db<>dAH)rMu$?28Uf4XgDFRcY(){F>sJ@<`EXJ16e5* zZoZg+A^Xs3IY2w7*m86wHl-o_mg9H9A2;?s=YH&4dde9&HFD+aX>f{n#;1{wJx*(+ z^c^M^UbZ^^`XN0Mamx8Y(uSZX)e$jMrzx*%qFYW`aLYKf!eyxk-60Nazp{tltxN9* RY@!7{dZ?*fp=1&Ce*g-YlT82s literal 3966 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 H2ABMAZxO!`RDbfT%X(A|HPz0ogq99U&l+b&L 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 XxhEcN%Y%QF3SgjPto>2bDenIO)uN`x literal 2871 zcmZWrc~q0f7N0L6l7JW}i;6aJ2aFW7$|fX{9Vtr@S)>R`aRC%$Ge9I^6Hyde`wA9? z(Av5JQBVW|2?B1Y{i z0RVJ7+@1XZfYc@guxPc4z8U1NR*t^k`MX$ISp@_H*xK6K+uM`LWD14i;qLD2?Cjv+ zu!%%+b#)C640LyQcXV{Lv$Jz|b8~WXqEe|lckZ;Yu~Fx$SJ>)|`i0twe%`wP^-a$K zwM|I%4@z{7Oo)g-9G7@F_9y_fiON@9?KxoCuAM z7`9rRaQ=a3gRs6|h9F(*VN$tsChqdR>v<>YmXs6NQP!F6$HTA|4a%`{gtUV}8bwD=N@aU8u9Hi3ky z^nQVjSGa06Z}K}d20wo$c?H$Okm=bA~!hMj2}e9eTmkdM=BW&XK**jNgD5*4h^c(sFtYd6l}RyfTI8p%mx|v{*G19{{^( zu;2evEJ%*ij1{$Qj@1sAx@cUzALhl{KtyGO)x6i}I`fJ#Xicdhujik5`0%`Udg|gg zR@U$fV(F~Hk^_x zG{V9h6v5zDg+rQ_l3k&b5&#xtGR8e3VsrAM2sC^XwD(Z$8&Rw~7+L^0bOaI>v$FVa zOt(@zpu##_hfj27v4qXdA3qqt+^NLtXWJVMy^cPf`pSWv5d{mSP%^#f8?!nvf&1m0 zU{icFYDo`#iF0k8b)7{T>d)cxB^Qk;^7$CL36b=Vh+@6pi_U}F9-E}b zN!!DAP^RUTL^i!aR~^i<%MioCuf%RA^Cf-jkewA9BD%i6MQ8m|6Uha%h!FZD z;=oBlwYF5Z`^3dD^vd+YXAHhkm)M9@xT}EO=aSOj= zH6b_z8#Vt2Qb5bKJxxo?EIzo;OIMonL{pdlDoVykAX7(Vzg*BO4jc%yz?-yp;lT(x z2=Ye;{~lgznXIBLvLRBdKnG)X>PHo&-s8H`LWZ`1o?HsjceXD<3J5<%A%QZq>Bo%f z4+weLmvpr={Q+1ZrEPu6XC$Ut=7MN^_=L)dc}J6-jI8GMp@SNba~+M5&2Nxu`65(Y z@5@cobC8cQuWu=}ia2>0qNAaE3c8WV8AO9*m4mhwQkLV%tS@Lzn#V(31l~f;m~=8~ zY9ts^caZK!SvB~tJJnS`m7Ey}zMFrpuj#zcsHPkfG!Urq=u#xcxBvK*hmx5X(zh3i zzrCd?!;trS1Ys`7YLx?t`3Zmd&E-oB!QAXk5H;^D{E3X8l7_@+j;=Nm;2cWvB`E7%~Kk6DiNql9kLfz6pe}VYH7@$y24Flp!JPL52Jo z%9CMiZzVwF>sX*&6xNW=8ywbWj-UyyBpLd;twqHvZS@R(dL;cuteC zORRNhZJNEBFE)OVOxR;KUMTp8Q(&P&Zl&hWsQi$C7jnJH;+64%GKjt2I@jw_lmcrC z;sbX-C56Wo+<@1PR)9UsAV?H}S;Yu-!9mFlq1)0m48Vu6ji<4bQ+{WOFKsq8UI#L{ z-q&N?8!T;e9VO-Q_Rd?X1~P9A>aFK8*gNqiQi*401J|~lt)F(N0nBnFH^s!Ri_xvw zUInE1<^S0MlaY&H@3*g~gKFZ*tUZq^#x?z;Z9kHpn)`Zgg9=*Ki#{0Cc#Eo9q!dI+;4=SjTgdW4Q;To_7_f9yAZyp?g6C5@LAesue!kOuvJ@v)ZgVbd0?@@GdMMXWZsiL4?`QPSJYDS5>CE%*ijl%l=nheY(sq z;G)RPA5WkYFutnoV@S))33y70x!shp8oc9Ht0*y|rDYs0^|^JBgw8w9>T+AguN9`N zEpGXmFTKD*UD8Em8Zsp&;zX7XmgO%X4vv*sFlSWRu;RX8X}FX`^~B8$Jl@3eh@~lfuZf;Xb|fqIdW6O8ii(3$vSCYi5UK)n8ewTlIT#@;&{c zS(E9yBk)UwW22#O1DUDcGOvHTiT7G@e^CIibnTf_Y>ZM@LhXr&IgxI7XG}fj9i35< z57$D8JlvrI5|VbZ4cGLj`GEG+RmMcb!~6HdNk{Vpy0sj;3`b5U*Foi7w`~)rxdXNp z{}$Nm$az6o#<*g?(nvV;M!xb`+gQwU;W#m$yXyyOj`clTvYQ%f^m0PgEZ^R?EsT~` zBCc+I91?>gOyeI|aF_U0rkwM+mnZn@+t^#{Y0tS1>1NbeY+;;!+4=**{hpIo8EJ~o zqoP*q@c51d`h73@uf-{6%$xsEO~9Ve2EkUo$w2GDybHBGU)hg}2wa2zhw-&^QFLSL z=Ij#rrp;2LkW4pa|8T))rtUYQ9_v^t9QunE4Xi>kHI-TLm6G4ZPDa-JkyAO=J!?3F z>Py}>7oIumbf#oDq4oZX7(L;8Vm?KNnX}#v{$6Ot>F(YwoL)6<+1irY2UfA?jtU9f zFi>4L!%W8v>7DP&IGQ4Jo7?P#oGVA zm;>twc8|HSU+>?Om!(x*6_Q&VATDoF%y;RLsHy`d);kIrBD>a_Ek00TTECs+!gr(R zE_h1^3rU|