From 2a3ada511e058d38e6ddc832657d2e44a32ce43c Mon Sep 17 00:00:00 2001 From: lolman360 Date: Sun, 23 Aug 2020 16:51:55 +1000 Subject: [PATCH] It's all codersprites? Always has been. --- .../crafting/recipes/recipes_clothing.dm | 10 ++ code/game/objects/items/storage/belt.dm | 17 ++- code/modules/smithing/anvil.dm | 34 +++--- code/modules/smithing/finished_items.dm | 113 +++++++++++++----- code/modules/smithing/furnace.dm | 21 +++- code/modules/smithing/smithed_items.dm | 54 +++++++-- icons/obj/clothing/belts.dmi | Bin 13239 -> 13508 bytes icons/obj/smith.dmi | Bin 3268 -> 14133 bytes 8 files changed, 180 insertions(+), 69 deletions(-) diff --git a/code/datums/components/crafting/recipes/recipes_clothing.dm b/code/datums/components/crafting/recipes/recipes_clothing.dm index 2a24c0b451..8c02d96dec 100644 --- a/code/datums/components/crafting/recipes/recipes_clothing.dm +++ b/code/datums/components/crafting/recipes/recipes_clothing.dm @@ -263,6 +263,16 @@ time = 30 category = CAT_CLOTHING +/datum/crafting_recipe/twinsheath + name = "Twin Sword Sheath" + result = /obj/item/storage/belt/sabre/twin + reqs = list(/obj/item/stack/sheet/wood = 3, + /obj/item/stack/sheet/leather = 8) + tools = list(TOOL_WIRECUTTER) + time = 70 + category = CAT_CLOTHING + + /datum/crafting_recipe/durathread_reinforcement_kit name = "Durathread Reinforcement Kit" result = /obj/item/armorkit diff --git a/code/game/objects/items/storage/belt.dm b/code/game/objects/items/storage/belt.dm index 3c554aa58e..76f87adc6a 100755 --- a/code/game/objects/items/storage/belt.dm +++ b/code/game/objects/items/storage/belt.dm @@ -492,7 +492,7 @@ icon_state = "grenadebeltnew" item_state = "security" rad_flags = RAD_PROTECT_CONTENTS | RAD_NO_CONTAMINATE - + /obj/item/storage/belt/grenade/ComponentInitialize() . = ..() var/datum/component/storage/STR = GetComponent(/datum/component/storage) @@ -815,3 +815,18 @@ attack_verb = list("bashed", "slashes", "prods", "pokes") fitting_swords = list(/obj/item/melee/rapier) starting_sword = /obj/item/melee/rapier + +/obj/item/storage/belt/sabre/twin + name = "twin sheath" + desc = "Two sheaths. One is capable of holding a katana (or bokken) and the other a wakizashi. You could put two wakizashis in if you really wanted to. Now you can really roleplay as a samurai." + icon_state = "twinsheath" + item_state = "quiver" //this'll do. + w_class = WEIGHT_CLASS_BULKY + var/list/fitting_swords = list(/obj/item/melee/smith/wakizashi, /obj/item/melee/smith/twohand/katana, /obj/item/melee/bokken) + starting_sword = null + +/obj/item/storage/belt/sabre/twin/ComponentInitialize() + . = ..() + var/datum/component/storage/STR = GetComponent(/datum/component/storage) + STR.max_items = 2 + STR.max_w_class = WEIGHT_CLASS_BULKY + WEIGHT_CLASS_NORMAL //katana and waki. diff --git a/code/modules/smithing/anvil.dm b/code/modules/smithing/anvil.dm index 9bec834e29..c0f951879d 100644 --- a/code/modules/smithing/anvil.dm +++ b/code/modules/smithing/anvil.dm @@ -7,12 +7,13 @@ #define RECIPE_LARGEPICK "ddbp" //draw draw bend punch #define RECIPE_SHOVEL "dfup" //draw fold upset punch #define RECIPE_HAMMER "sfp" //shrink fold punch -#define RECIPE_AXE "ufp" //upset fold punch #define RECIPE_SMALLKNIFE "sdd" //shrink draw draw #define RECIPE_SHORTSWORD "dff" //draw fold fold +#define RECIPE_SCIMITAR "dfb" //draw fold bend #define RECIPE_BROADSWORD "dfufd" //draw fold upset fold draw +#define RECIPE_ZWEIHANDER "udfsf" //upset draw fold shrink fold #define RECIPE_KATANA "fffff" //fold fold fold fold fold @@ -23,6 +24,7 @@ #define RECIPE_JAVELIN "dbf" //draw bend fold #define RECIPE_HALBERD "duffp" //draw upset fold fold punch #define RECIPE_GLAIVE "usfp" //upset shrink fold punch +#define RECIPE_PIKE "ddbf" //draw draw bend fold /obj/structure/anvil name = "anvil" @@ -39,8 +41,7 @@ var/outrightfailchance = 1 //todo: document this shit var/stepsdone = "" var/rng = FALSE - var/list/smithrecipes = list(RECIPE_AXE = /obj/item/smithing/axehead, - RECIPE_HAMMER = /obj/item/smithing/hammerhead, + var/list/smithrecipes = list(RECIPE_HAMMER = /obj/item/smithing/hammerhead, RECIPE_SCYTHE = /obj/item/smithing/scytheblade, RECIPE_SHOVEL = /obj/item/smithing/shovelhead, RECIPE_COGHEAD = /obj/item/smithing/cogheadclubhead, @@ -48,11 +49,14 @@ RECIPE_LARGEPICK = /obj/item/smithing/pickaxehead, RECIPE_SMALLPICK = /obj/item/smithing/prospectingpickhead, RECIPE_SHORTSWORD = /obj/item/smithing/shortswordblade, + RECIPE_SCIMITAR = /obj/item/smithing/scimitarblade, RECIPE_SMALLKNIFE = /obj/item/smithing/knifeblade, RECIPE_BROADSWORD = /obj/item/smithing/broadblade, + RECIPE_ZWEIHANDER = /obj/item/smithing/zweiblade, + RECIPE_KATANA = /obj/item/smithing/katanablade, RECIPE_HALBERD = /obj/item/smithing/halberdhead, RECIPE_GLAIVE = /obj/item/smithing/glaivehead, - RECIPE_KATANA = /obj/item/smithing/katanablade) + RECIPE_PIKE = /obj/item/smithing/pikehead) /obj/structure/anvil/Initialize() ..() @@ -172,7 +176,6 @@ /obj/structure/anvil/debugsuper name = "super ultra epic anvil of debugging." desc = "WOW. A DEBUG ITEM STRUCTURE. EPIC." - icon = 'icons/obj/smith.dmi' icon_state = "anvil" anvilquality = 10 outrightfailchance = 0 @@ -180,8 +183,6 @@ /obj/structure/anvil/obtainable name = "anvil" desc = "Base class of anvil. This shouldn't exist, but is useable." - icon = 'icons/obj/smith.dmi' - icon_state = "anvil" anvilquality = 0 outrightfailchance = 5 rng = TRUE @@ -189,7 +190,6 @@ /obj/structure/anvil/obtainable/table name = "table anvil" desc = "A slightly reinforced table. Good luck." - icon = 'icons/obj/smith.dmi' icon_state = "anvil" anvilquality = -2 @@ -206,38 +206,32 @@ name = "slab of bronze" desc = "A big block of bronze. Useable as an anvil." custom_materials = list(/datum/material/bronze=8000) - icon = 'icons/obj/smith.dmi' - icon_state = "anvil" + icon_state = "ratvaranvil" anvilquality = -1 /obj/structure/anvil/obtainable/sandstone name = "sandstone brick anvil" desc = "A big block of sandstone. Useable as an anvil." custom_materials = list(/datum/material/sandstone=8000) - icon = 'icons/obj/smith.dmi' - icon_state = "anvil" + icon_state = "sandvil" anvilquality = -1 /obj/structure/anvil/obtainable/basalt name = "basalt brick anvil" desc = "A big block of basalt. Useable as an anvil, better than sandstone. Igneous!" - icon = 'icons/obj/smith.dmi' - icon_state = "anvil" + icon_state = "sandvilnoir" anvilquality = -0.5 /obj/structure/anvil/obtainable/basic name = "anvil" desc = "An anvil. It's got wheels bolted to the bottom." - icon = 'icons/obj/smith.dmi' - icon_state = "anvil" anvilquality = 0 /obj/structure/anvil/obtainable/ratvar name = "brass anvil" desc = "A big block of what appears to be brass. Useable as an anvil, if whatever's holding the brass together lets you." custom_materials = list(/datum/material/bronze=8000) - icon = 'icons/obj/smith.dmi' - icon_state = "anvil" + icon_state = "ratvaranvil" anvilquality = 1 /obj/structure/anvil/obtainable/ratvar/attackby(obj/item/I, mob/user) @@ -251,11 +245,11 @@ desc = "An anvil made of a strange, runic metal." custom_materials = list(/datum/material/runedmetal=8000) icon = 'icons/obj/smith.dmi' - icon_state = "anvil" + icon_state = "evil" anvilquality = 1 /obj/structure/anvil/obtainable/narsie/attackby(obj/item/I, mob/user) - if(iscultistr(user)) + if(iscultist(user)) return ..() else to_chat(user, "That is not yours to use!") diff --git a/code/modules/smithing/finished_items.dm b/code/modules/smithing/finished_items.dm index 1c8711aa2b..8f0bb99036 100644 --- a/code/modules/smithing/finished_items.dm +++ b/code/modules/smithing/finished_items.dm @@ -1,29 +1,3 @@ -//TODO: OBTAILABILITY, ANVIL TYPES, HAMMER TYPES, INGOTS - -/* -sords: -broadsword [x] -gladius [x] -dirk [x] -zweihander [x] -sabre -rapier -scimitar -katana [x] - -polearms: -halberd [x] -glaive [x] -javelin [x] -pike - -misc: -blacksmith's hammer [x] -scythe [x] -axe -coghead club -pickaxes [x] -*/ /obj/item/melee/smith name = "base class obj/item/melee/smith" //tin. handles overlay and quality and shit. @@ -32,6 +6,9 @@ pickaxes [x] icon_state = "mace_greyscale" item_state = "mace_greyscale" material_flags = MATERIAL_COLOR | MATERIAL_AFFECT_STATISTICS + total_mass = TOTAL_MASS_MEDIEVAL_WEAPON //yeah ok + slot_flags = ITEM_SLOT_BELT + w_class = WEIGHT_CLASS_NORMAL force = 10 lefthand_file = 'icons/mob/inhands/weapons/melee_lefthand.dmi' righthand_file = 'icons/mob/inhands/weapons/melee_righthand.dmi' @@ -55,7 +32,7 @@ pickaxes [x] /obj/item/melee/smith/twohand item_flags = NEEDS_PERMIT //it's a bigass sword/spear. beepsky is going to give you shit for it. wielded_mult = 1.75 - + w_class = WEIGHT_CLASS_BULKY /obj/item/melee/smith/twohand/ComponentInitialize() . = ..() @@ -125,6 +102,7 @@ pickaxes [x] name = "halberd" icon_state = "halberd" overlay_state = "spearhandle" + slot_flags = ITEM_SLOT_BACK /obj/item/melee/smith/twohand/halberd/ComponentInitialize() . = ..() @@ -135,6 +113,7 @@ pickaxes [x] icon_state = "javelin" overlay_state = "longhandle" wielded_mult = 1.5 + slot_flags = ITEM_SLOT_BACK /obj/item/melee/smith/twohand/javelin/ComponentInitialize() @@ -145,17 +124,24 @@ pickaxes [x] name = "glaive" icon_state = "glaive" overlay_state = "longhandle" + slot_flags = ITEM_SLOT_BACK /obj/item/melee/smith/twohand/glaive/ComponentInitialize() . = ..() AddComponent(/datum/component/jousting) + + +/obj/item/melee/smith/twohand/pike + name = "pike" + icon_state = "pike" + overlay_state = "longhandle" + reach = 2 //yeah ok + slot_flags = ITEM_SLOT_BACK + ////////////////////////// // Other Melee // /////////////////////////// -/obj/item/melee/smith/axe - name = "axe" - item_flags = NEEDS_PERMIT /obj/item/melee/smith/hammer//blacksmithing, not warhammer. name = "hammer" @@ -169,7 +155,9 @@ pickaxes [x] /obj/item/melee/smith/cogheadclub name = "coghead club" + icon_state = "coghead" item_flags = NEEDS_PERMIT + overlay_state = "stick" /obj/item/melee/smith/shortsword name = "gladius" @@ -177,11 +165,37 @@ pickaxes [x] icon_state = "gladius" overlay_state = "gladiushilt" +/obj/item/melee/smith/shortsword/scimitar + name = "scimitar" + icon_state = "scimitar" + overlay_state = "scimitarhilt" + +/obj/item/melee/smith/wakizashi + name = "wakizashi" + item_flags = NEEDS_PERMIT | ITEM_CAN_PARRY + icon_state = "waki" + overlay_state = "wakihilt" + block_parry_data = /datum/block_parry_data/waki + +/datum/block_parry_data/waki //like longbokken but worse reflect + parry_stamina_cost = 6 + parry_time_windup = 0 + parry_time_active = 15 //decent window + parry_time_spindown = 0 + parry_time_perfect = 2 + parry_time_perfect_leeway = 0.75 + parry_imperfect_falloff_percent = 7.5 + parry_efficiency_to_counterattack = 100 + parry_efficiency_considered_successful = 80 + parry_efficiency_perfect = 120 + parry_failed_stagger_duration = 3 SECONDS + parry_data = list(PARRY_COUNTERATTACK_MELEE_ATTACK_CHAIN = 1.9) + /obj/item/melee/smith/twohand/broadsword name = "broadsword" icon_state = "broadsword" overlay_state = "broadhilt" - force = 11 + force = 9 wielded_mult = 1.8 /obj/item/melee/smith/twohand/zweihander @@ -189,7 +203,7 @@ pickaxes [x] icon_state = "zweihander" overlay_state = "zweihilt" force = 4 - wielded_mult = 3 + wielded_mult = 3 //affected more by quality. a -1 is 25% less damage, a +1 is 25% more. These bonuses are tripled when wielded. /obj/item/melee/smith/twohand/katana name = "katana" @@ -198,7 +212,40 @@ pickaxes [x] force = 7 wielded_mult = 2 item_flags = ITEM_CAN_PARRY | UNIQUE_RENAME //want to name your katana "DEMON BLADE" or some shit? go ahead, idiot. - block_parry_data = /datum/block_parry_data/captain_saber + block_parry_data = /datum/block_parry_data/captain_saber //todo + +/obj/item/melee/smith/sabre + name = "sabre" + icon_state = "sabre" + overlay_state = "sabrehilt" + armour_penetration = 15 + force = 9 + hitsound = 'sound/weapons/rapierhit.ogg' + item_flags = NEEDS_PERMIT | ITEM_CAN_PARRY + block_parry_data = /datum/block_parry_data/captain_saber //yeah this is fine i guess + +/obj/item/melee/smith/sabre/rapier + name = "rapier" + icon_state = "rapier" + overlay_state = "rapierhilt" + force = 6 //less force, stronger parry + armour_penetration = 30 + block_parry_data = /datum/block_parry_data/smithrapier + +/datum/block_parry_data/smithrapier //parry into riposte. i am pretty sure this is going to be nearly fucking impossible to land. + parry_stamina_cost = 12 //dont miss + parry_time_active = 4 + parry_time_perfect = 2 + parry_time_perfect_leeway = 2 + parry_failed_stagger_duration = 3 SECONDS + parry_failed_clickcd_duration = 3 SECONDS + parry_time_windup = 0 + parry_time_spindown = 0 + parry_imperfect_falloff_percent = 0 + parry_efficiency_to_counterattack = 100 + parry_efficiency_considered_successful = 120 + parry_efficiency_perfect = 120 + parry_data = list(PARRY_COUNTERATTACK_MELEE_ATTACK_CHAIN = 4) //unique hammers /obj/item/melee/smith/hammer/toolbox diff --git a/code/modules/smithing/furnace.dm b/code/modules/smithing/furnace.dm index 4cc647353c..ee1d6a1b93 100644 --- a/code/modules/smithing/furnace.dm +++ b/code/modules/smithing/furnace.dm @@ -2,7 +2,7 @@ name = "furnace" desc = "A furnace." icon = 'icons/obj/smith.dmi' - icon_state = "anvil" + icon_state = "furnace0" density = TRUE anchored = TRUE var/debug = FALSE //debugging only @@ -25,8 +25,11 @@ return TRUE if(reagents.remove_reagent(/datum/reagent/fuel, fueluse)) working = TRUE + if(icon_state == "furnace0") + icon_state = "furnace1" else working = FALSE + icon_state = "furnace0" /obj/structure/furnace/attackby(obj/item/I, mob/user) if(istype(I, /obj/item/ingot)) @@ -44,9 +47,23 @@ default_unfasten_wrench(user, I, 5) return TRUE +/obj/structure/furnace/attackby(obj/item/W, mob/user, params) + if(W.reagents) + W.reagents.trans_to(src, 250) + else + return ..() + +/obj/structure/furnace/plunger_act(obj/item/plunger/P, mob/living/user, reinforced) + to_chat(user, "You start furiously plunging [name].") + if(do_after(user, 30, target = src)) + to_chat(user, "You finish plunging the [name].") + reagents.reaction(get_turf(src), TOUCH) //splash on the floor + reagents.clear_reagents() + /obj/structure/furnace/infinite name = "fuelless furnace" debug = TRUE + icon_state = "ratfurnace" /obj/structure/furnace/infinite/ratvar @@ -55,4 +72,4 @@ /obj/structure/furnace/infinite/narsie name = "rune furnace" - desc = "A runed furnace. Powered by... something, but seems otherwise safe."//todo:sprites + desc = "A runed furnace. Powered by... something, but seems otherwise safe." diff --git a/code/modules/smithing/smithed_items.dm b/code/modules/smithing/smithed_items.dm index 8fa8e8e167..e078871b2e 100644 --- a/code/modules/smithing/smithed_items.dm +++ b/code/modules/smithing/smithed_items.dm @@ -124,18 +124,6 @@ mat = mat.name finalitem.name = "[qualname] [mat] [finalitem.name]" finalitem.forceMove(get_turf(src)) - qdel(src) - - -/obj/item/smithing/axehead - name = "smithed axe head" - finalitem = /obj/item/melee/smith/axe - - -/obj/item/smithing/axehead/startfinish() - finalitem = new /obj/item/melee/smith/axe(src) - finalitem.force += quality - ..() /obj/item/smithing/hammerhead name = "smithed hammer head" @@ -176,6 +164,7 @@ /obj/item/smithing/cogheadclubhead name = "smithed coghead club head" finalitem = /obj/item/melee/smith/cogheadclub + icon_state = "coghead" /obj/item/smithing/cogheadclubhead/startfinish() finalitem = new /obj/item/melee/smith/cogheadclub(src) @@ -196,6 +185,19 @@ finalitem = finalforreal ..() +/obj/item/smithing/pikehead + name = "smithed pike head" + finalitem = /obj/item/melee/smith/twohand/pike + icon_state = "pike" + +/obj/item/smithing/pikehead/startfinish() + var/obj/item/melee/smith/twohand/pike/finalforreal = new /obj/item/melee/smith/twohand/pike(src) + finalforreal.force += quality + finalforreal.wield_force = finalforreal.force*finalforreal.wielded_mult + finalforreal.AddComponent(/datum/component/two_handed, force_unwielded=finalforreal.force, force_wielded=finalforreal.wield_force, icon_wielded="[icon_state]") + finalforreal.throwforce = finalforreal.force/10 //its a pike not a javelin + finalitem = finalforreal + ..() /obj/item/smithing/pickaxehead name = "smithed pickaxe head" @@ -233,7 +235,7 @@ /obj/item/smithing/shortswordblade - name = "smithed shortsword blade" + name = "smithed gladius blade" finishingitem = /obj/item/swordhandle finalitem = /obj/item/melee/smith/shortsword icon_state = "gladius" @@ -243,6 +245,18 @@ finalitem.force += quality ..() +/obj/item/smithing/scimitarblade + name = "smithed scimitar blade" + finishingitem = /obj/item/swordhandle + finalitem = /obj/item/melee/smith/shortsword/scimitar + icon_state = "scimitar" + +/obj/item/smithing/shortswordblade/startfinish() + finalitem = new /obj/item/melee/smith/shortsword/scimitar(src) + finalitem.force += quality + ..() + + /obj/item/smithing/knifeblade name = "smithed knife blade" finishingitem = /obj/item/swordhandle @@ -268,6 +282,20 @@ finalitem = finalforreal ..() +/obj/item/smithing/zweiblade + name = "smithed zweihander blade" + finishingitem = /obj/item/swordhandle + finalitem = /obj/item/melee/smith/twohand/zweihander + icon_state = "zweihander" + +/obj/item/smithing/zweiblade/startfinish() + var/obj/item/melee/smith/twohand/zweihander/finalforreal = new /obj/item/melee/smith/twohand/zweihander(src) + finalforreal.force += quality + finalforreal.wield_force = finalforreal.force*finalforreal.wielded_mult + finalforreal.AddComponent(/datum/component/two_handed, force_unwielded=finalforreal.force, force_wielded=finalforreal.wield_force, icon_wielded="[icon_state]") + finalitem = finalforreal + ..() + /obj/item/smithing/halberdhead name = "smithed halberd head" finalitem = /obj/item/melee/smith/twohand/halberd diff --git a/icons/obj/clothing/belts.dmi b/icons/obj/clothing/belts.dmi index c106bd12fcfd9e39ad4d5b4edd7a756e0d00ffb3..1a98872463e35d2e90654f007135675470d21af1 100644 GIT binary patch literal 13508 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 diff --git a/icons/obj/smith.dmi b/icons/obj/smith.dmi index e2a303112c383a3d67c372780f06b8b93a1a3d60..0af21125927745304449f77ffc8db7dc2349ce22 100644 GIT binary patch literal 14133 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 E2gNgoEC2ui literal 3268 zcmV;#3_J6QP)GdPftxb6--P_rKP1Q6cjc#HdRqZ_x;0OkadL5TfPr0TYD!K@H8nMdo}hk>j&^o(OiW6XtFBR1 zRT(N4W@cosudT$w!i9x{t*@^nHzUx}(u$Oog@Ap)#l@bUogg3}2L}f@I5WbVOxyV{&P5bZKvH004NLjg`%A!Y~ZS&+SuG za77caU3Zy=CJy5jCex&iM;cd&X@RF-MyF{zfPIUlU;L53?aZr}&D(ZYy}obD!N!CX zs^{wIVObU<8g|)uT$hEj*gBq!#K1NmXAlPTv$8N4Q?^%S(M0I%bpEA|p}~O3StFu} zu|C|Q3P+rJ`c7iKT&z}$KNlVNy^V5!+QYe{XhrY<3<2bXM~a4;Mg$#nosA;adcZ-> zu7lcsI0(keZ0apUCF?1)O7s&3>oF(`*XHUdvO~`zxsL?q`uaLl<@7RIR6#0lJ$TD3 z7o9aXcuXpvKdeG@Fp)@>XM_V>AO{yo18uA5;QGiOlAPh>PF3_Yiz*aDOA2N3mVwhv zW$rDS+@ZPeBUlT_f$0wQ)U?CX2(w>2^5j8?>Lwll;Yp=ESrLB7QP&g@yTo0m$ zXRF1R!xQOyjQrDmW*115ndh0^XP069*3+$&1DEXr^(3{I+9bik6U)chb0X2UZ14;+^UNe57i6GH&05_oF4{ku+ z1g7;bCj%uvWkAOt#(?51z57i0)nllj3~2d{4K%NX6b1tDI~so6fS%v@{XiCrA9H@? zB< zGr%QhkoeIG==F0xtgs|mkhAS*VGX0scA zTYr%1HJ!g`g)*=~-b7Ov*l@AgLcYz74CeC}t&j$Mct7x)@wCmrMr^%iAQvHjNCQG_ z!i%kMtzNb)2+?e$%?wf2e>elwB9GpH|E(`V{>RKB(9($`R1ExWC0Pfp zzIp+~JHx?DG$i3v7#JMX87LZ^;b3McI-I~N3>4gwt4=GXiv|`f^A7_5psP$Pra`0w z;J0YNtA9QJ&=BdsHvgboD!9rt$?uR34rXiyPyxEHjvpKVzvJKzZ1Wdn7tp2`CBKx` zfn|P(|G@zl$x(EC2l^(6H~!J}dq4gMO86=Id<$mtLDa(6KT0JT{{%lYLa`_<*l>Wa z-$UO;Cw^RD}Wzhs%8S|8J{UltA(Wc=9X4_p62_Fka39Y56iFfo1} zinsoU$s9C4p6(uwwf={X9Kkbi`Aa4Ds2hwah|0&xBO_P_*7zyBD+p0?gJKzL82Hf) zRQ;mk6AYq$^tjAb6s^jmOn$unONUD(*Za@WcpMB<{8W5U>Fy!d|4%8FtB7M|f}fhd zNdAHwQ`P&T;-6Xng@Wq}_=->X@WYRv!){QbNJW0WLw$bY#y0ktDay}x5~z&T^>4nY z?H^W`mkmVoD>rCIrJ*5a``hM!m)XGf`QK$3X!Enw=6}Qah4SWv$g~6egz!5ADD47% z)(*?vz)#&FfN3}IC%gW6JIq-8a^o(W-}nvzrFiw9N^t#q*R77jzJZvx!|~8!r2MxI4$ne-{KU$&yys@)-xOmDK6ZxyNr2aX+1LR?=p6z_hDii0e#&%twgWtV z%E!uO>I_)?8l>-mOwH2vuf{HIUT{JaR7I7zmFp8v08{h$7b z;Q#o<$JFbinixNIaw2TuYPCvU-gN$r$id?mbDZ(<;G#CfoVZX?^l%pKFuO zo;};u)phRNIrRMFGJ-<$pRZo{qKf7?^W_=n2HND$KL1LaW@KQ(pa&p=5V~*yb0GN< zVf;o0CQhDW@t?m44iEzzev!#!(&=<6g?+dH9RNo}RlNlK&-6;GH~;aEnYmk6i7T^teUkME5;tz%nsu)I3(GP; zuTP7=0q{?sK(n(`*XFKjADs;R-_C2(V($T!%D@0+;hGT6+%0YL{I~y}*CtNK%MbVq z3kzU@%<0_J1(8MmP5cD|17hmNP33WW{9E`7Mh3)`a!S_nFV^DaZ^1V-08zC47{Y(M zHZ6N_T>P1V7JMUqxHeTBoY!rTU98>l9H6HRzyGZ=HWmk^7(ZpLQdw9Chz|pi zX~x>p-6i?Y?L{otD8^4WPGEc?&w6s|Bf`?&X)anM^rMrtV z{5kyP(MXAc3OeweT4??e;E#WYH>KL0(EQ~x*1dO3i(&aknKwvSR+)T2)h?Ii@rSLE zT@n5aB|CiHbS3@iPJQ_t`YSATx_2*Xl5hh4T$pnAzWZ)hI0#+;-+#|>aR0#%q07Fa zzI?BifBE4yXJq}-ZOIZCsTz>N8f6JOg&j8cG%G3MdOZ)1}@6+=CfBD(! z^VPK&9Xwt6k?8>Vk^cMB^4i*JoDLrRyz}LYC{i>5_4J-RI{t6h6D;u_ zlV2g~=}Gy%VElwyFRSbII(%cEkbHVl!1@oM7a;J^U|ERt_frOwgs;D-H&_Ou{r!}I z1pL5Wf5~eAd+%^1|9bspz43zE2`s6;4)y;M{?rrd01SBijl>#gtV{m&1RIboAiMDk z+bH4G-FVqpPcXme?rt<1>+6Z-mkzv%%r-__$