From 5a1a9f5e0268db39834458289271c581ee26e4d5 Mon Sep 17 00:00:00 2001 From: SilencedMP5A5 Date: Mon, 1 Sep 2025 15:19:19 -0400 Subject: [PATCH] Adds an alternative type of plate carrier, and a helmet (#11376) Co-authored-by: Kashargul <144968721+Kashargul@users.noreply.github.com> --- .../preference_setup/loadout/loadout_suit.dm | 7 +- .../clothing/accessories/modular_armor.dm | 260 ++++++++++++++++++ .../modules/datums/supplypacks/security.dm | 72 +++++ .../icons/mob/species/sergal/head.dmi | Bin 0 -> 1832 bytes .../icons/mob/species/tajaran/head.dmi | Bin 0 -> 1832 bytes .../icons/mob/species/unathi/head.dmi | Bin 0 -> 1832 bytes .../icons/mob/species/vulpkanin/head.dmi | Bin 0 -> 1755 bytes modular_chomp/icons/obj/modular_armor.dmi | Bin 0 -> 18792 bytes .../icons/obj/modular_armor_digi.dmi | Bin 0 -> 1003 bytes vorestation.dme | 6 +- 10 files changed, 343 insertions(+), 2 deletions(-) create mode 100644 modular_chomp/code/modules/clothing/accessories/modular_armor.dm create mode 100644 modular_chomp/code/modules/datums/supplypacks/security.dm create mode 100644 modular_chomp/icons/mob/species/sergal/head.dmi create mode 100644 modular_chomp/icons/mob/species/tajaran/head.dmi create mode 100644 modular_chomp/icons/mob/species/unathi/head.dmi create mode 100644 modular_chomp/icons/mob/species/vulpkanin/head.dmi create mode 100644 modular_chomp/icons/obj/modular_armor.dmi create mode 100644 modular_chomp/icons/obj/modular_armor_digi.dmi diff --git a/modular_chomp/code/modules/client/preference_setup/loadout/loadout_suit.dm b/modular_chomp/code/modules/client/preference_setup/loadout/loadout_suit.dm index e7b0763b51..e07cf6e604 100644 --- a/modular_chomp/code/modules/client/preference_setup/loadout/loadout_suit.dm +++ b/modular_chomp/code/modules/client/preference_setup/loadout/loadout_suit.dm @@ -12,7 +12,12 @@ "Blue Plate Carrier" = /obj/item/clothing/suit/armor/pcarrier/blue, "Light Blue Plate Carrier" = /obj/item/clothing/suit/armor/pcarrier/press, "Green Plate Carrier" = /obj/item/clothing/suit/armor/pcarrier/green, - "Tan Plate Carrier" = /obj/item/clothing/suit/armor/pcarrier/tan + "Tan Plate Carrier" = /obj/item/clothing/suit/armor/pcarrier/tan, + "Alternate Black Plate Carrier" = /obj/item/clothing/suit/armor/pcarrier/modarm, + "Alternate Tan Plate Carrier" = /obj/item/clothing/suit/armor/pcarrier/modarm/tan, + "Alternate Green Plate Carrier" = /obj/item/clothing/suit/armor/pcarrier/modarm/green, + "Alternate Navy Plate Carrier" = /obj/item/clothing/suit/armor/pcarrier/modarm/blue, + "Alternate Light Blue Plate Carrier" = /obj/item/clothing/suit/armor/pcarrier/modarm/lightblue ) gear_tweaks += new/datum/gear_tweak/path(pcarriers) diff --git a/modular_chomp/code/modules/clothing/accessories/modular_armor.dm b/modular_chomp/code/modules/clothing/accessories/modular_armor.dm new file mode 100644 index 0000000000..f2c07d3188 --- /dev/null +++ b/modular_chomp/code/modules/clothing/accessories/modular_armor.dm @@ -0,0 +1,260 @@ +///#define ACCESSORY_SLOT_ARMOR_G 0x8000 ///too lazy to move this upstream + +/obj/item/clothing/suit/armor/pcarrier/modarm + name = "modular plate carrier" + desc = "A lightweight, modular plate carrier vest made from armor grade UHMWPE. It can be equipped with armor plates, but provides very little protection of its own." + armor = list(melee = 5, bullet = 5, laser = 0, energy = 0, bomb = 0, bio = 0, rad = 0) + icon = 'modular_chomp/icons/obj/modular_armor.dmi' + icon_override = 'modular_chomp/icons/obj/modular_armor.dmi' + item_icons = 'modular_chomp/icons/obj/modular_armor.dmi' + item_state = "pcarrier" + valid_accessory_slots = (\ + ACCESSORY_SLOT_INSIGNIA\ + |ACCESSORY_SLOT_ARMOR_C\ + |ACCESSORY_SLOT_ARMOR_A\ + |ACCESSORY_SLOT_ARMOR_L\ + |ACCESSORY_SLOT_ARMOR_S\ + |ACCESSORY_SLOT_ARMOR_M\ + |ACCESSORY_SLOT_OVER\ + |ACCESSORY_SLOT_ARMBAND) + restricted_accessory_slots = (\ + ACCESSORY_SLOT_INSIGNIA\ + |ACCESSORY_SLOT_ARMOR_C\ + |ACCESSORY_SLOT_ARMOR_A\ + |ACCESSORY_SLOT_ARMOR_L\ + |ACCESSORY_SLOT_ARMOR_S\ + |ACCESSORY_SLOT_ARMOR_M\ + |ACCESSORY_SLOT_ARMBAND) + blood_overlay_type = "armor" + +/obj/item/clothing/suit/armor/pcarrier/modarm/green + item_state = "pcarrierG" + icon_state = "pcarrierG" + +/obj/item/clothing/suit/armor/pcarrier/modarm/blue + item_state = "pcarrierB" + icon_state = "pcarrierB" + +/obj/item/clothing/suit/armor/pcarrier/modarm/tan + item_state = "pcarrierT" + icon_state = "pcarrierT" + +/obj/item/clothing/suit/armor/pcarrier/modarm/lightblue + item_state = "pcarrierU" + icon_state = "pcarrierU" + +///snowflake armor plates + +/obj/item/clothing/accessory/armor/armorplate/security + name = "security armor plate" + desc = "A plasteel-reinforced synthetic armor plate designed for Nanotrasen security forces. Attaches to a plate carrier." + icon_state = "armor_medium" + slowdown = 0.1 + siemens_coefficient = 0.7 + armor = list(melee = 30, bullet = 30, laser = 45, energy = 25, bomb = 10, bio = 0, rad = 0) + +/obj/item/clothing/accessory/armor/armorplate/security/heavy + name = "heavy security armor plate" + desc = "A plastitanium-reinforced armor plate designed for Nanotrasen security forces. Attaches to a plate carrier." + icon_state = "armor_medium" + slowdown = 0.5 + siemens_coefficient = 0.5 + armor = list(melee = 50, bullet = 50, laser = 55, energy = 35, bomb = 30, bio = 0, rad = 15) + +///armored gloves + +/obj/item/clothing/gloves/handguards_modarm + name = "reinforced gauntlets" + desc = "These armored gauntlets will protect your hands and forearms. Meant to be used with a plate carrier." + icon = 'modular_chomp/icons/obj/modular_armor.dmi' + icon_override = 'modular_chomp/icons/obj/modular_armor.dmi' + icon_state = "handguards_item" + item_state = "handguards" + default_worn_icon = "handguards" + body_parts_covered = HANDS + heat_protection = HANDS + cold_protection = HANDS + overgloves = 1 + punch_force = 3 + slowdown = 0.1 + w_class = ITEMSIZE_NORMAL + armor = list(melee = 30, bullet = 30, laser = 45, energy = 25, bomb = 10, bio = 0, rad = 0) + drop_sound = 'sound/items/drop/boots.ogg' + pickup_sound = 'sound/items/pickup/boots.ogg' + +///armored boots + +/obj/item/clothing/shoes/footguards_modarm + name = "reinforced boots" + desc = "These armored boots will protect your ankles and feet." + icon = 'modular_chomp/icons/obj/modular_armor.dmi' + icon_override = 'modular_chomp/icons/obj/modular_armor.dmi' + icon_state = "footguards_item" + item_state = "footguards" + default_worn_icon = "footguards" + body_parts_covered = FEET + heat_protection = FEET + cold_protection = FEET + armor = list(melee = 30, bullet = 30, laser = 45, energy = 25, bomb = 10, bio = 0, rad = 0) + w_class = ITEMSIZE_NORMAL + slowdown = 0.1 + step_volume_mod = 1.3 + overshoes = 1 + shoes_under_pants = -1 + can_hold_knife = TRUE + drop_sound = 'sound/items/drop/boots.ogg' + pickup_sound = 'sound/items/pickup/boots.ogg' + update_icon_define_digi = 'modular_chomp/icons/obj/modular_armor_digi.dmi' ///this doesn't work, not sure why + +///snowflake leg guards + +/obj/item/clothing/accessory/armor/legguards/modarm + name = "modular leg guards" + desc = "A pair of armored leg pads. Attaches to a plate carrier." + icon = 'modular_chomp/icons/obj/modular_armor.dmi' + icon_override = 'modular_chomp/icons/obj/modular_armor.dmi' + icon_state = "legguards" + item_state = "legguards" + default_worn_icon = "legguards" + gender = PLURAL + body_parts_covered = LEGS + heat_protection = LEGS + cold_protection = LEGS + armor = list(melee = 40, bullet = 40, laser = 40, energy = 25, bomb = 30, bio = 0, rad = 0) + slot = ACCESSORY_SLOT_ARMOR_L + update_icon_define_digi = 'modular_chomp/icons/obj/modular_armor_digi.dmi' ///this doesn't work, not sure why + +/obj/item/clothing/accessory/armor/legguards/modarm/green + icon_state = "legguardsG" + item_state = "legguardsG" + default_worn_icon = "legguardsG" + +/obj/item/clothing/accessory/armor/legguards/modarm/blue + icon_state = "legguardsB" + item_state = "legguardsB" + default_worn_icon = "legguardsB" + +/obj/item/clothing/accessory/armor/legguards/modarm/tan + icon_state = "legguardsT" + item_state = "legguardsT" + default_worn_icon = "legguardsT" + +/obj/item/clothing/accessory/armor/legguards/modarm/lightblue + icon_state = "legguardsU" + item_state = "legguardsU" + default_worn_icon = "legguardsU" + +///snowflake arm guards + +/obj/item/clothing/accessory/armor/armguards/modarm + name = "modular arm guards" + desc = "A pair of arm pads reinforced with armor plating. Attaches to a plate carrier." + icon = 'modular_chomp/icons/obj/modular_armor.dmi' + icon_override = 'modular_chomp/icons/obj/modular_armor.dmi' + icon_state = "armguards" + item_state = "armguards" + default_worn_icon = "armguards" + gender = PLURAL + body_parts_covered = ARMS + heat_protection = ARMS + cold_protection = ARMS + armor = list(melee = 40, bullet = 40, laser = 40, energy = 25, bomb = 30, bio = 0, rad = 0) + slot = ACCESSORY_SLOT_ARMOR_A + +/obj/item/clothing/accessory/armor/armguards/modarm/green + icon_state = "armguardsG" + item_state = "armguardsG" + default_worn_icon = "armguardsG" + +/obj/item/clothing/accessory/armor/armguards/modarm/blue + icon_state = "armguardsB" + item_state = "armguardsB" + default_worn_icon = "armguardsB" + +/obj/item/clothing/accessory/armor/armguards/modarm/tan + icon_state = "armguardsT" + item_state = "armguardsT" + default_worn_icon = "armguardsT" + +/obj/item/clothing/accessory/armor/armguards/modarm/lightblue + icon_state = "armguardsU" + item_state = "armguardsU" + default_worn_icon = "armguardsU" + + +///snowflake groinpad (it's actually a tag because i can't code x_x) + +/obj/item/clothing/accessory/armor/groinpad + name = "modular groin pad" + desc = "A thick kevlar pad, that protects the groin and the buttocks." + icon_override = 'modular_chomp/icons/obj/modular_armor.dmi' + icon = 'modular_chomp/icons/obj/modular_armor.dmi' + icon_state = "groinpad" + item_state = "groinpad" + default_worn_icon = "groinpad" + gender = PLURAL + armor = list(melee = 0, bullet = 0, laser = 0, energy = 0, bomb = 0, bio = 0, rad = 0) + slot = ACCESSORY_SLOT_ARMOR_M + ///slot = ACCESSORY_SLOT_ARMOR_G ///too lazy to move this upstream + +/obj/item/clothing/accessory/armor/groinpad/green + icon_state = "groinpadG" + item_state = "groinpadG" + default_worn_icon = "groinpadG" + +/obj/item/clothing/accessory/armor/groinpad/blue + icon_state = "groinpadB" + item_state = "groinpadB" + default_worn_icon = "groinpadB" + +/obj/item/clothing/accessory/armor/groinpad/tan + icon_state = "groinpadT" + item_state = "groinpadT" + default_worn_icon = "groinpadT" + +/obj/item/clothing/accessory/armor/groinpad/lightblue + icon_state = "groinpadU" + item_state = "groinpadU" + default_worn_icon = "groinpadU" + +///helmet + +/obj/item/clothing/head/helmet/riot/modarm/attack_self(mob/user) + if(icon_state == src::icon_state) + icon_state = "modhelmup" + item_state = "modhelmup" + to_chat(user, span_notice("You raise the visor on the visored helmet.")) + else + icon_state = src::icon_state + item_state = src::item_state + to_chat(user, span_notice("You lower the visor on the visored helmet.")) + update_clothing_icon() + +/obj/item/clothing/head/helmet/riot/modarm/killa + name = "striped visored helmet" + desc = "It's a heavy plasteel visored helmet designed for security work, and light combat. This one has three menacing white stripes." + icon_state = "modhelm_killa" + item_state = "modhelm_killa" + +/obj/item/clothing/head/helmet/riot/modarm/killa/attack_self(mob/user) + if(icon_state == src::icon_state) + icon_state = "modhelm_killaup" + item_state = "modhelm_killaup" + to_chat(user, span_notice("You raise the visor on the visored helmet.")) + else + icon_state = src::icon_state + item_state = src::item_state + to_chat(user, span_notice("You lower the visor on the visored helmet.")) + update_clothing_icon() + + +///presets + +/obj/item/clothing/suit/armor/pcarrier/modarm/full + starting_accessories = list(/obj/item/clothing/accessory/armor/armorplate/medium, /obj/item/clothing/accessory/armor/armguards/modarm, /obj/item/clothing/accessory/armor/legguards/modarm, /obj/item/clothing/accessory/armor/groinpad, /obj/item/clothing/accessory/storage/pouches/large) + +/obj/item/clothing/suit/armor/pcarrier/modarm/sec + starting_accessories = list(/obj/item/clothing/accessory/armor/armorplate/security, /obj/item/clothing/accessory/storage/pouches/large) + +/obj/item/clothing/suit/armor/pcarrier/modarm/full/sec + starting_accessories = list(/obj/item/clothing/accessory/armor/armorplate/security, /obj/item/clothing/accessory/armor/armguards/modarm, /obj/item/clothing/accessory/armor/legguards/modarm, /obj/item/clothing/accessory/armor/groinpad, /obj/item/clothing/accessory/storage/pouches/large) diff --git a/modular_chomp/code/modules/datums/supplypacks/security.dm b/modular_chomp/code/modules/datums/supplypacks/security.dm new file mode 100644 index 0000000000..860b078276 --- /dev/null +++ b/modular_chomp/code/modules/datums/supplypacks/security.dm @@ -0,0 +1,72 @@ +/datum/supply_pack/security/altplatecarrier + name = "Armor - Alt Black modular armor set" + desc = "A full set of armor, including a helmet, and a plate carrier with all of its components." + contains = list( + /obj/item/clothing/suit/armor/pcarrier/modarm, + /obj/item/clothing/accessory/armor/armguards/modarm, + /obj/item/clothing/accessory/armor/legguards/modarm, + /obj/item/clothing/head/helmet/riot/modarm, + /obj/item/clothing/accessory/armor/groinpad, + /obj/item/clothing/shoes/footguards_modarm, + /obj/item/clothing/gloves/handguards_modarm, + /obj/item/clothing/accessory/storage/pouches/large, + ) + cost = 40 + containertype = /obj/structure/closet/crate/secure/gear + containername = "Modular Armor crate" + +/datum/supply_pack/security/altplatecarrier/green + name = "Armor - Alt Green modular armor set" + desc = "A full set of armor, including a helmet, and a plate carrier with all of its components." + contains = list( + /obj/item/clothing/suit/armor/pcarrier/modarm/green, + /obj/item/clothing/accessory/armor/armguards/modarm/green, + /obj/item/clothing/accessory/armor/legguards/modarm/green, + /obj/item/clothing/head/helmet/riot/modarm, + /obj/item/clothing/accessory/armor/groinpad/green, + /obj/item/clothing/shoes/footguards_modarm, + /obj/item/clothing/gloves/handguards_modarm, + /obj/item/clothing/accessory/storage/pouches/large/green, + ) + +/datum/supply_pack/security/altplatecarrier/tan + name = "Armor - Alt Tan modular armor set" + desc = "A full set of armor, including a helmet, and a plate carrier with all of its components." + contains = list( + /obj/item/clothing/suit/armor/pcarrier/modarm/tan, + /obj/item/clothing/accessory/armor/armguards/modarm/tan, + /obj/item/clothing/accessory/armor/legguards/modarm/tan, + /obj/item/clothing/head/helmet/riot/modarm, + /obj/item/clothing/accessory/armor/groinpad/tan, + /obj/item/clothing/shoes/footguards_modarm, + /obj/item/clothing/gloves/handguards_modarm, + /obj/item/clothing/accessory/storage/pouches/large/tan, + ) + +/datum/supply_pack/security/altplatecarrier/blue + name = "Armor - Alt Navy modular armor set" + desc = "A full set of armor, including a helmet, and a plate carrier with all of its components." + contains = list( + /obj/item/clothing/suit/armor/pcarrier/modarm/blue, + /obj/item/clothing/accessory/armor/armguards/modarm/blue, + /obj/item/clothing/accessory/armor/legguards/modarm/blue, + /obj/item/clothing/head/helmet/riot/modarm, + /obj/item/clothing/accessory/armor/groinpad/blue, + /obj/item/clothing/shoes/footguards_modarm, + /obj/item/clothing/gloves/handguards_modarm, + /obj/item/clothing/accessory/storage/pouches/large/navy, + ) + +/datum/supply_pack/security/altplatecarrier/lightblue + name = "Armor - Alt Peacekeeper modular armor set" + desc = "A full set of armor, including a helmet, and a plate carrier with all of its components." + contains = list( + /obj/item/clothing/suit/armor/pcarrier/modarm/lightblue, + /obj/item/clothing/accessory/armor/armguards/modarm/lightblue, + /obj/item/clothing/accessory/armor/legguards/modarm/lightblue, + /obj/item/clothing/head/helmet/riot/modarm, + /obj/item/clothing/accessory/armor/groinpad/lightblue, + /obj/item/clothing/shoes/footguards_modarm, + /obj/item/clothing/gloves/handguards_modarm, + /obj/item/clothing/accessory/storage/pouches/large/blue, + ) diff --git a/modular_chomp/icons/mob/species/sergal/head.dmi b/modular_chomp/icons/mob/species/sergal/head.dmi new file mode 100644 index 0000000000000000000000000000000000000000..8643a3773e96c3b95f4d842369903dd54d7c9f24 GIT binary patch literal 1832 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 literal 0 HcmV?d00001 diff --git a/modular_chomp/icons/obj/modular_armor.dmi b/modular_chomp/icons/obj/modular_armor.dmi new file mode 100644 index 0000000000000000000000000000000000000000..45d76c3f609b489bc6b523fbb021ffbe51b04884 GIT binary patch literal 18792 zcmd742T)Ycw=Ozl$pQkBqo9&Ak|jtEA_|fPR5FON$x&25GDyxzL~_nK=QO}D z^LqUK=Qy?gKf)U8|fss?6v@7}#TtX}KuZ>^p%4K;au97-Gr1cI-qAgc+1p!kA6 z<2#rjry}5oI7l$MYw0-3zWr$GU}5iQVP^}0xTb#^E4S?6zKgju?H~oS51_ z#LRNjUMrmA@#|-rGn0oyO2Nz%ikAit=Us9f7lTH; z$bap6Z0t4D$-6$+J|w9;`aB^qV6@tY$7S96oaZvdVt*7Se!!cF#~FCumi9qfj>SyD z$S3LS_`TwychcGR`@Y>7Hvw~H1PgrLX609Zayi-V*~zYzaJrtkdIl83ZTOL34qp~E z1VRr{lzpn@n!Z2p;i)y=Bm^H63uaFEtQf4qi_IJ>%gw)n@qHY1CaEy<;{M$>dP=G9 z4#)Pzos8eM%CpBzEtsg=t}AiK)KCH@#_|HqxmvI?YkYN!>5ZB1CdA&n4X%6lju(6P zis{F|A2Wx~W)qo#w_YuVr%LY*Ki?X79DY7@*{{C*ZB9TZfhT>3Vdu1kaUKFL;+|so z-j&u0$AK^ee!WKuvYtPB3<?WPROvYiec;_s;gr7;UKQ)KIUme@ z+um(9x0)z^gBkF&{?JjR-0Q|!ZiUOBBC^XeFD^bF6#^YZz|^}YL{kvZ7=$roXl@R# zv=GhX@>b2&W5Uig)MlYdd34fiIP+%R@*Ve9!HrrWE>)K2%Qz^;E*YPVKHl$diV)vw zgyFs6+m>?#n;B$iWDHZifpFH)^M$KNlK3_I%{<$n<#j#R43qjjo(u`Y`a|a@M>9#% zax051utIhbK>|g^RR}~c%Y!-h#%I5K@;;=hS|GP$Hu}~M_Bj8-T>6TcTV3$|U}n&; zxvaiE^~~(-o62eKx4-T|Oh`=fSCRcOXfzM_P>iBmLI%l~M)sm0d?}oiEk%qI;wnZv z#VNw$T>M;zXsK_bfApn-3a?aAL{QIuQ1w8VoqjTgl(lrEBh23^;M=Tps*T3?J3khW?k4nL_&V1T+Heps7k1*Zp^8mw`8eTRLz&G@osL}R?VrrVx}Bdx zI$1gudRlz0)IX0dpvy?($513SnTvC2Au4i>Vg&&eM{o@0Z$1_IA0+vDg18SFcn=?`69owfA)CTXs}gS zP|e&kWFR2z{n}Xyi+Zb)h09I;Pft;Z)J8sk`t_#Un-6Xkih}QbFI%0iT|v)A#NxiU zTvO8~llH9^DugB1=D|)ohIUATx-Y9{x!>*-(~hoT>pY?{ti6|PhXs+kHq(0LNjXv> z{TL$ZaxljJx+3sgL1asA8^2IU0ZF8pfU;R@Z5Kf6nL+Q5kiLoM(w`UAOEI(|FS7I?-S(< z!{gnNYw;7=xGF?Ke0STv!xDTwNaalMr;i(hGIwguXir{A36X6w8pIvXuLRo1HT?(S z?x3-M|3uNaaP-l9qUNhtUo0B!QTF%u6%-Zy+Ki=?lyJZj7em-doLoBsHq*SrLMd;qFyEY*4ecS94ie&c1wL~c5JXcG@IWm{66fn~PYJqoHCD9@k)Y8+_0_R&FTf-pU3u!% zn^91?K9Z?*?Bh*}O$_|`Qy94xMmRV*39uCvrB{s_&2dF;_ogeMTX`|Y-1m+7DdmEa z??*kmkB8}bHY_jfabZ2wb2dJ){8**QD5Ba+iCe-+Mt6H2={UM$!oy%yJOnKnXd{_VE-bR&3LpVP26P9ymx}NM77AnT ztq&j%dgA!I&H-H~eTlg3_xVNqJ0Ux2 zJO`|$5ml-p8GpCcCZEapt6HNwOIftFoj58URR$UbD1zzu;KS^Jx z@GymGI2|p!x(UaYFWW5lTO%p>mK;UiRE8-wItZrWfB5hLdQsaFW!e+%$CGndM@ub8 z*hni0WaQoL;iD19m|5Jyd0Zd)eCPTUuT?-fSzF~y5ZUUD;=2X!Bg)5>Gb z%nQ!(xQL{ykr&&ncq~i^vR2jW{BHh83D>-)5NSyC81R^}+1fJ?=}8N;vi-Sw;#f-6 z>`YZJ(nX8nHe+*CZ`0d&?XJ>zoi^f_AwfI7sXJ6avWSv!>akaLGxzg&_H@bl$&y2; zB;kfb)l;gX4*c5RZGABdSPf%Oir0g*AYz%$vT{yFs8`ePvlM|KWkq)flevnSgwR4y z_62b%({u~AS2Ytnev{|$^+t%gtKi`syCcOUMa1cQ*;E_yQb9!}aCF$?4vUUnN1MeZ zy@((V5PsNd?|Q<(V(O;=+?OTxGhMW(r|Yve1pE_*62EDLmNjFp7#&?bT839v^WswG z=BZk)YWmtuus#CeP#ENIpPBJMU|CrSyUq*B%JnclvY`Hx2~Xqq`sGyHF#;oPv@NHh zZ}tr7z$~(EY}p;@q&=0}+B>>P6?~QkG4Q9z@^QGE@T184!7FJwzt2QS_BEI!J3D<{uKw*buHaT#R=&MPWg$xyan2Z%^oWeChEl03(xI zREf4)3TM&Pv%E{g0l%fAp$VBtqKs_0PTShqyMG}Pq6HyHYAUs`vB6ID)zj0nFWd9V zdEa_@-9(r@yx;PxPfk~C_tX}G5=z7?~`&@2$ zNwj5D-@1e#)t9U0)#{R{iDY1J^5XPz(4>t_A!4`1=<;uaqq_(1zUG(&UH8G{^)f|Kf+-!!T>YR@xa)7cW+OlnDzU3x1vu^ zWZ2FJqx^ukhgSY2rdnG3Fu2;c`(fRB1>{hFeW;RSocm|u4w`KZ@UZ{!!Gy5 za-*2jo}I{0N|M>tW(BOps|=PYk!N5AM-M-R$C)=CIb8?XoqpY#ip6=OkcFO<=5r~o zDUfJHR~mTbve*HG_phd#cFR6m2$u5n2(=B-{D65f6pk?hPXg2Pil&()P?I`~Mpg z=b}p8VR$U}?}O<7#shNr>xx-P`|pI-CB7o@Hn{|x?ww#-{tX8QnM$KmGvl%3+$piL zAO(-WdtwN^;O<2z{C;)qjvXH4Poj42xJgHg#L>^A3v0L9RPl297f876Ol$exRQ21) zZA21FaSBbL0xYUQ;@xrgJu|g>0Qy`4m~wAg)=ph9A>*I2I^I}ye>Hyna7cza@P=IUl_9t8_MyDj&UAi)ik| zR$vw5YyHVbi0{4$(|0ul4V8=Eb0YcxQcaYlzIPYJcK(;G1Mf)URi9ZbsJ^ZZsS8Uc zZ8??q{LoBxxhSr;<9F%|vp!YR7j;9WeSD7`F{kaM)AG*ZA584V-c0jlL!})7Kd3ER zbvax%!suG>+o<1`gdF-Y zz1gqDVrP#a<1l%aM^xGZcb^K^$X~^ZKrz&?!nSIi{N-%-c5+>xH4#qW?P-Pg|yT9rUG~Bhuhy`I#iDXyWj&xdwbRRgqA0^_U6bx zPTf@d;Suy~QSA3-^PyR{7b!=#h{{D;Q;OF@N?}>G0kylx;@+p^9#b>r=EIE6-*6Sw zmAe|5^Ae5_6~VL*dZn%;YK9p$~2!3zK(^TcIOT zSs-o}i763zK1o;^@QDVW?qBWXZv@lq=Y@Wdks3OHui$Cxc93}tZW3IlG|!0WBbQxz z%{%=n{x^uEF6eE4f4NV;2}rhCSao+B(BaM_kVU?DyI>PXzC+6V2uGWF_t+sP5oOEC zm{EWlV%EqzM95GlwET;fN^dI5<3=;-3I0fdf|V$8vK2d@D}%pKS7Uu+qe9sLqV68h zMlxLR<6tvp1L_y~jES0ntD>SiFQ=T~?c29Rbf}Nn*hcyJCm7hQ#Hb1EdV{#~KSDN} zzsnSjNAEVj=_t)I;83-zp3-3;8k@YRt+i5^J)$3 zp*ys9?TDvmqLGXpnD9E=w>Obx_W4mm5r-p@hEiT0qqss`w{@wi=jZO)m_@>k3mvSyjC1WOZ> zm2BFql$84uYgF4%2d4FWJ8l^pJq3(bGybL7#otf8y!a|cUgU3|pASGUggyr1i}$YT zS*z_my5duL7QpYN-j`KyrNm2tZ!bK14DGMzzHOh+%(^lZ=d*GgLcX*m zsm50S2XrIh2Z8{gzc^tDz0`#n%?QOwA69D_!rLwvQN5$fipd;47UfZd;YB^aks>Hg zn~cBMVuz;YbHU0SNy94ku6^o*@a=Tg(d~_3_R82Bxrrx530IVAI z2nnr+IS(HNzBqAA*G6F1MrVJ+!oB8WIuG-5$FCi@sI0v3N=dgs485KnTHW6jd_6|Z zEyr>>vrFrn6N7NZgDdFJ@1i z$RbBqGlLaaMd*|{>6cZ+IuVLHdDsL@u`Sb1SLx{@l4kgx&gSu@l)G3lJdozij+Mmz zonX7f9iS;by!ZR~>sMQddOb^CPLJ2~%-hmQ{z3R!oZ+hV2_v)RmRvMp$MIC#4AbK) zwB&ytYO*^G{AT`594*t)se6s~Qf|7TTBFj@=6UIDDPPKRO*QJB!y#oOC^vNsO|f_) ztj{>e6TP+1BRAKhsm-K6p`_1TqY>W^dZDp%hkj(2?Jz9-;2bkzAc1qp06ozb3AGYM zP(#nI)FpZM>RlK%}n^$&~rZ#{td5|Zid{6z0|icv77=ZCj7k;nD) zdVu?$v7Cr^+5G^U7-HGl&9)xF@*v5__s34i;a`2lp;KSVY95Rn2Xx)H_DH0!7iUFO zh3xxWZ3gJV;mJOK)ZiBCIp61RVfWu%cDf^{LfR~${_(&HboKYK_98vCHoj8RR9 z?35g#2dY4M_6HQERH+1lInC3FvRTNg zzU+R^6yjuX`tqG>&sx#w(ax!Q@LVPeZmUiLip_wt@V>1hwEo)5I;0d=t$_;UL<&$y z+w_M*}xRg3TONWZPDQ3fVWTw+g7kezI(@gXKJ2(EeTr z(iIgw9TqMj)kgz;dcOcHLH!TIrJRyb>!>p;IdY7)y{c;8uy;RM0wZbTR9L4%XypcB z+-De7a3$7Vpzb&Ome6W>R--Kb>el-xU+BIV5xB5^sPm+FpKcrK=kUcW_eVJfu7h3A zjgLsM>a4S@C&F%~M&=Zr75(Pv!9M6UcHPmr9>mq*!_2(7iwj=L5we*x^ECD|^KTSm zK_|9yyRbtBqOMbuh~i*%D_#Yu*QsQ}*0%ap!W}jGnfh~_qA-a`U+hCi1J63yc!dz z34HMMnTU7xN#(dO;-xqN-IX;kS+=7!G^ri(5*=5iJI}pqMDjN+fzA|L3OGsr{r1r+ z$&u!8Gm7^0ar=Yfx;EMgbc$`Lr4Xy#qX=~snd4|9f}g6V+7f-#6W3)dy$U_r4fq&r z)5U3}9fWib@7t%rKMV>wuR*u}-fW4-{|=lMcj``tHveBPjDKtK|5u;K|D6Ybda0rL zYPxF(_r>2RM}FCeY6yMpA$Wy^_dHV<51%@EyeiS{BID5I|GLhlTNPTOTm87$#=^ql z4Hg0Q{V`rbYT;I0UELpF|D{dt&SxsvAryKD$(ZzKJz7!A4%P`%7AO6_jr#bmQyCr# zZJpqkR)Q3yr4(&hNdYMpi$+uZnmwv*W80E<$(ZgT+o75PN6U{+^Y`(2V+Rz&{{X<@ z{|UgIB)O=Mk!=w1%=r1fP0V__qG0i@?Q})Ze5Elh$hZmkQ)t) zplrN|E@|fDT5lXuQN%IH=Q|lTT`!lhHvb*qWRh~k4F^Pd67GNHMYE)6$L-2^awAga zxX%@QZW0PqB?)h7NWnKu&?E^pYA;-mT8RSe&65z5!-+zE*68LSJ18AlQto|w{TwLslG=sv z@88{v4R5){~6iX(Az~jum|oM(L$5g+xNw` zLpCG2Mpq}*vi&cz)UY{!#4nK9^?4A^&loRR>$3YIl`rcSTQ%zab3L!eBLmn}nfjp0 z56vfgzFbh`i~eY5%DsH)rL#bf6rQH}u^5Lv;EDmp^`1kUCAs zZlc(zC3Ag!9e?N8&CTtN*QuOH^PGXpynxB&v4ZWaz5e!%(MRafvOQOV{!@pKAE%)o zw$06pWnRCY_T_5Tpi@`ynJ6_H^oDJvK4l%(peuDgdjc6LMWSmNQyO9t60CD*XQ!+Z zoY@-6{aazn&nRr`&RFf9JJt1^(q9SccJP~4WWB4g@nBH)i-Cmzt_eZqIzI-X3Ynp2; zm?qF+N68R)H?AG{_RqGi7M&&ykUn3tKwLefyO+0q=w2mfEI==&op=;?fbj(q=1^n*V}U3)g<+2d*UF7WRR$TmwAjWddhQi)^`0IAg+ z6arlULd=t)76LZ-5+shoG}<3&{v#G(h4sOMw$h)h9Lk9b`kj*EMq|>#i7Gby2OygRx25M~H|MZsVn^W>)<_yG zqlPAJBIKxiE}f4KEME=mN^TJKA*CWI0W3VV7$ucl@y6A*b4 z&cCH21Z3#yS^`h>)y#2AuF101VO^8g{>8y|vvbaI-JfV@*`A%D>EY*JNKaC{VY!^V`pkl8c$rlXH^MX$KbR!4eF^sjZQ8oV^y9|158A_iJF z!zgiUoU#Dn&Q0_!=A#vp2w(K>BOd4FtNC6N9d|Kkf1nR*c ztOKN^SFNgbfqVCNnovv=0)9gYaYfu-3IIE1`Yi8x+_6t~!&aR>=hnIVmZOMH$t$Sm zFFZ+z@8D(tP)TZq0fwa^{p-Zu=n%*%Yf4U3#M8!OhxR_OCcCIsv!f!~pxEznj;lZL za6jl-l_y*rfZx;}T0oXsd~Px~kZF~^qS8)=Eh6`mFS+OO(k3^3SokHipdpSweEy&avMbDNtb+BvAbkeiZcjX;yA>giEg3sM2?vg}X? zfdHp`d3kx+w6(dFm5icd*pB!8cf$V^1~xM(F)=VdpV_s^a9eu|1a66gJ&^rt|5M?Nzxbpx>3 z+}b))s_2;zh!Tq>QkSTqbNyC0@Gc=ZP{Djlei<9YjBQaPgUQCqa9V+Fw?1Z4XLFwL zl4<+pZHmt?Nqu}1KD;RQoM7Ka4gduzoL3bxH%8Cd;Um>8TS603ryWEsrT1?KNY*!R z)E?8mu-%?9D$6<){gzr}8y+5hZ7}J#5yIqc#B-fCnZ-cv+ij< z3O)I_J5`+kn8R|C@J^%p3v%`ko`MsNI>h`FspQH!D^Tk(%xpH zw$2x$y!r1`JDAd(*_sh_(^Y8&AT_Pt&q!=!AtxtiJyHDHi{%P5mknP0y3!w@4(TY# zd{p~Ew3v$GzR~3mukVu5gzyaOF3ZugiDN{N&H4StUM&M{{Vo>7dN3my?kog9sRPKp>W{b)qw~vMfcMk{=z#*LjgWBXTAc@1Qm0 zB{xcMfh-UV%h7`_+1|i;nPbu-1-OzF#1{*!eA+-K+v9swyKNSYCjR0E#V3`%nBZQQ^C3*~(dZdIYrRBsE{k3aJ#;5TzVo(E zrAK5PovWBcUWNRLzR2OU9FlnAjd^h4th3Jv+;WVNrI|jGH`NVGwst+NJ%e|m7H8hc z_&*K#UcW&*TC|fIXFQZsJ;1`>JVsDN^QbS(yn2SmqnlsrB^!bW`hCa!cP3AXyq>J+ zP1keR*$jJ8c7=gdObGH{Z3n7d1Ihaq;m7>V9TSoFo3JN>GZ%$SZN5rHE}(~$)Wy6H zPM)0z4eUI&pQYqk|Dw+?sP&jw`$u^W@eA8u`@>0W^Eomh0I$SlW=7Y2+(dVP!n8S8V6 zRW>1iO?Fz%e(a3H))Y3N#2n;S96-U+tDg7kv9*47XwPd(`$yAntMCNYeLAMru+6{k zM9*tEp_(SJW`BX%3Ex;yfD$Al1hjMzq$3Mial`qezW@W7w(JM;t?}AhHty%#g_B$A zuM;L@y#Z|Fzd!Q{=+)YG9n3fI*v#-JCMBUll$4c`*Lw?1RLEPPNRTxas2K+rR{%WN z-Y$*r%g{xqiSqMs*~!{u!znaO83F;8>35&rPyIv(JpvYYSsnth?;m&(mu}XXSTst1=%-#Mg5Rh3Y|i0SE9W>NAriXbG-=$= z7gNca>7$4SQ5QqRze6VN3|;W!6Wo2Ip9cc|&%9aK2W3(%GZZKb4dAwX6#-?q|6|-l z{-u*RFKc86QjY;O5J-mtX-%|x&$y7{KZZRCaDsY>q!XgbIaABG4Sko4$M}0V^bU?L)%wlm>R8!RKXGi2Y0& zNQ8mBxKsgr)t9V4piB@*inxa$FCX8B9vT;^1+|lUmf*kX5ZYRR)%f&_TjQn0|EaXbq?x8FwVAEq;9cc z6Qz@rlj~6%mdAiz<-4dcs;nn3ROHvRTdqlWc6Rdf2suI9I|k7LDSdRZ&^J0Hl+NJm zu7^evWTmo%j`?9{_41D;4sZK=R>p_W@b7Iq#W=zgmXSck(^!+1W2=ZB8C3nRum3}y z@vgrD;vqjnU?7PX#T@-H-CGHVHH9HNIF-2sL&t~1rb}K(XiQA<7dJ6l0431V;2UXn zBUZ6^<_axX+0S6|IfOJK_s({WCw~}3fO#?na5v88VVy}71s~?4N69{pU+U^8yjvu< z9HlV>aHQ_6N#cmx=w8OW`JEw34&+~BO+E*kfjRvv1aAZ^?ScjPT;0d#y1L=%>C|BP zn;gv5O*MH4`3~Q7+zq^Yo`cG*a6BP-8~CdNu+zth4PsonVwfzIo{_*M$4do;pd$(wBo;z zNyR?IuC$aqYT#XBf1vtLP8`hMzt3xIqy~l(&}lD!&I)9I|Na=Lml}CJ5O##O0N%Q0 zil}@y;6IY(E$)8yP}E^9)G>>*gE=sE2=5yNglh4?y@X+Uyvj;SvFYi>3dFWHHg5r) zFxBYB7ft6>`vgV>izQpl zK0w}5#3Xzfs^2Kkp|2VRh`Ai-BfIzgJI>~x3>gQ96Ad!*ijSLrazIY)f;(GxG)+m5WLYCq~DAqE#8P-|Kj!kB?U8KfH#HV32yQ*})DT$zffX+ouOuVvicW|iS zS6?e!Vtf4fI&yHcpr8Odf{QhV;*pn4j0WD#M+m^wI+gG6*E)D|X`VQsgShW7D1pWZ zkdDuL-WS-Yw4y?*OZXQ|dz&|l8gmFQ(6S6NCJh*T-?a{d;9NJb+dmf$(pr5FBy#j#1 zt0`c)Pm+(11fq4kZgsMZ=~nszP7bN4tc=UZh!R@#ObGg@5J*l}XMB8Rnt1(eAuEngXk;0(-a znP*QzIvALpjQ}abX;6Q!{0%+r~8qP#Dt-YgkLnB zBxfUyLrF==k$Y2kcjD^JDu|E<5!Et=1YYEKk;g~=_4U6#Me<)aU6w$JvdAXR&CSs+ zmH<|SY^1O`{@1S$^_|9Fj@$yqTyTmx6Kq3GOic1` zETP{qi4B3#<^HTPa+{mW2yPl`X?5B*9zWY|?lQslLF)kfGm5w$^*fINH=}gvC9#+t z4mrH)&!Xx(v}VXl=rd~v%;%)(jBz+b9e%QzDdDB7!qj0rgyHKmzYQduT{Xc6<;9X? zfe*c({_FbsdiMthDJd!55ulbE&t}@e0wxIYOiA#8Dx7qFkDQ(SlP18X0o@BWT~KsmHd zHh-zJgyeqx8j4{!kkk25UI_+IdabJ~Vq)mi$g!;dej#F0=nDHy+~CWZP&l=eiV7Yv zF|oVBh)^sT*QD53$kiwMJRa{QUKDx;29(py!S~0<$8Yp5?7Mn;OyRIAc91J|sLUPW zPls}(_jPTMW{0RXN@yYUfpXGWeZCz%a@*4v{~*=~o0oDGi<1PB#QxeJ=t$?y43}V= z=?*9Gom*9v$nm-Y{hx|1SFUUx%0pz_evC+SA{Xz-KJ<81*at3F{K~3ydzm}^jqh^f zG3bia@bEAYJz&$cVdOurSM7!G($Nu?PDX5PZI!WC0zy$DOTGT{z&og?#I~&c(&{>^ z@0ICQNoD0n1)Do!iG*^(3sB&%c*x3%1){jSGh7zJ2qmEO#r?F=;2Ywy;Kr(!B@vaL zo(`(}@q>UYLazR^3d`8|xFV}R8r`5eWO97G&5ZZl)z-kkKxc+ox));!Gdo(0~ z)emrC1I8YoV2|VeHrVrt_j<%%I-1H+#9&Ak$tmHA@)OqVfx-SVx(%2?%qGLdypoQ# zm}cmJZ7tds?F=?Ms@T%eSZrqV{!DMZJ_^t{wI2*RTCjQu>Y@l?FWT5z=u zi_Q$lA&oPk81U)=hE|!Y6R1h!G8Zw}0taq0O^QlQmNl(QK3konATn;DpW^2{?=H3tk?T3#RM4Uy4 z2=qwV*soojfXs{UY1D)%czT=~O4^wU_lA6cdKsca<0vF&a8%%agEZl_i{4a#5L~^y z5#VY(YR}F*1z}gMhnH57&+?FU&^qkJ-Idf(Q;WvjI(QQ@!V(9)KKWZ2Qig=Qv&jAG z>qYL7ky#>lKrjW>Oc+`g6(=y)NM{N1Z|_@SW;}ebzn@C;2hDJ@->(ouOwnTQ#LdVt zsLX3P{Prfu3&J&3A@{=$EZzmMnWpVej5)`WNFv9$I>W#vE6X86xf<#>4j~ObNspuS zdDuVL+k5xo8n?zeZZ{2VPhl|Fe|=)?-hu0!kv?*g)H$Rtu{Uy)H zAlaka?$juF>(y$=fa+&N3)92k@WIfahN#Ft#}S{MvHD>%1cu7|UkSMWZv+Va&#?RB z$78I(V+A}u|KkYAk}Pb*Ng=uKYgZ14F$|rL(ozrbcOh6v%Kr!%>|yDGq=vwT5#l>7 zhQh&74T0D-&>+eAe{R8vMjs3A*9X@x5ZtM4I@@#-kouSZw0wLZP_5CCIrYpK8o zcveObv@xt>azRLmGVvPFtFfloweuF9EdydEu^MU{FuEMnzwFn){8Yv!;;dzKnUum= zw$tZ$QvIyXW>Vq`@=xiDKCJ6Vrh5ElXVFHZMc^1IKzQvt$Gwr4h4uJcSZ2*S1Aea( zz7bN1A3^6 zhn{hG$K`h>(6p79S1-vU$eAC^EIFLbPZP}}4|bgG`QhRV<*uCOMH$!Q#`D@7UA)-4 zwlWnqD=3umM(5Vg10iLAM)f*xb`qf(85y}}fyU+Q2jsR}w)W|OJd%zd);`n&TsolO zjT1aVy>AZs!Z&Pl=aNXO7b6=)S+0V0A>E4L zVq+tbfKM77dN5O?JRA;2dR_`U*dCa`eSr5xuG@%-qNQcwQb8D1BNrceg3Z&2RX@`e z3=}o{bWtxn#ta5`Uu>i|*tVHMQW)QVync)hLx8p4{Itw@%%s= zwD&;drKu8?E|@sHL9UU{InBWLaoixgo46s&g7{m72;lbGKvG8^fxzG_UNGh0%cx$o zAy4;G|9DFTm~OePkC6ZUi3LjquvZHFs{Qoo(^9MXTASG~Q}59jY3Lv|c8h7w zqik$!q+wj@Fuz&IU86g$D}-bo4}*M>uJwQo=Y}`DpY8Xicr0|))YMvxV(%Y71=C8j zQMDdRa5*D`eWPhagJCewSNi(w`FGYfH~AnbJf@gy@^o!8d^(PR!RLL*_Nv$z2s+@S zhj!0p|!E$n6niECzKh^tnMNYDzm7i-&t}fO-5u0e*i9Bw+b6u+hB0i7wqBy zN&jJI?2$!UXnXDDw-<%^KS7B7z`(o_`ulPn=><$jbg4TO_rPIUfU#3lSS%66_yvJ`v$LHhkgrxUMg{w2(1b*Id@(VGF#>*@dUM#4Rj2OQi1foaLbyBcSaQI*gphA;CEXUW}hp$1-pNc;XI4pZ0;3B(J2 zA%J)?0{5JNrY|#`Yovg0+qOU4Uz=RgF)HiRQpbG$j?5F$h#np0o<)gEiFH zPnoD!M85GzHoTJ6higmBF!XOlM><{u#< z;+qcoTT*dwyBAo)+}eL_|c8wy<-L9J^8R^70x3t#h>0X8IAVpEuzUzH^ zqKpRt>sW;)LGz8rQrE^LS4*ciY-%;U!~>~`2Su!BYg7e}QH%i~2B+E;FNLh9vdv+t zX@ZKgt>*kD1E~Vxott4sKyO%9OP5ZXwg+OXe3RymUqHx5d*d}3#sEYNX-yTdqThuC z3oLX;QK3lv5&%@lQ#m;d5Ss9ApwX%K5D|;x+t|~8jNl-{MfRaLqtyj2Fll!7#ON$y z3E8OPSL6`miQjr3PEHTh;oUu~zn5Z`x%};wyRZZo8wB`6s>*j5N zBBvI0R!L1tNMQ0JEhj#<5!5S1|ElGgHbCa+K^653+{Kf~iV3uP0~46M;#X`cEF?_``Q;nQ{DjuzdVVM%s=|azXh}x+Gz?w_ zU~f}|j_$N%+TM4N!DLdil6uxH3z-*{h6^#7GIBbF?L#3O0E;t`Op7564u zb%`tH|1^Ev|CqkL1%w#NNeggKXfearZx`|MhC>16n3$Z5JP8l1CODIPk4%z>hX_E)HK;)g>0!NMcrSKayHMx%;Nh~cn zArSB{yRHsDFFuf%sFg0NjRsbLLo*L47@?nI1=~D= z6t=7T|S53LPJ*S<3o;Mx*c)t@;#JIAyD(k=X~ef{PMag%X#^rJ_Q zz7`jwL(I&~=s|eZ^z?K)E+i%)Zde>o^RKl{1XTnrAhZ|2WH4k4+qhIuBVHZixFEc) z*aZbS*DwQ>n&VFx9uD^rLgs8)9YxUeIfdp9`njBw`=f-sZ|aYZH*IDS%Hid(<(Dc8 zm>GZQtDoPKK<5T%#uNh7#?zw~q~6Hsyz490*LT@M+|~0RhFdvg4f!i5ytrEnWVy{o z5q2(+C2has1xY&iT^?BL@D1XZ2O`7~eaZO}v2x-*D}zJ(xONu&5XYl^>nmg^+LE&< z_{o&VFAX0!d(+b<)XIEws?}i!9Zu&#!iAF-rL$JBX!SXh6Zh8pvIbxH_peJUDTR-n z*66UO@V$?&;*bTu*`eoM$72^lysLJI=->aTxqtv1v+*a%#H)_3(*zz2_XZgZiUx|3tTQH53c#49!BJA zrTeX%CUDrnE}RBVLbQ1bJW#~GG}7dnl97{J0gdz8IKEQ1q+QJ$gE(Uiiz+M2dVLn% z*D**%MI|zJ%Cn(gUGT(tZ?5h|`6XQwqBQ*y5$i)J=^muj5|&YH%RuIP33z@C!;1ML9LuAJWGD{|{_FX~X~k literal 0 HcmV?d00001 diff --git a/modular_chomp/icons/obj/modular_armor_digi.dmi b/modular_chomp/icons/obj/modular_armor_digi.dmi new file mode 100644 index 0000000000000000000000000000000000000000..37788b46a1ae1e906f2bc29eda55dcd42c45005a GIT binary patch literal 1003 zcmVC0000~P)t-sz`(!? z3JM+`9upH25D*X+78W@beETx{{H^m-QBCJ zt7m6trKP2MdU~0enNChlBO@ah7Z)ENA1*E~m~bnD00001bW%=J06^y0W&i*Hf_hX~ zbVOxyV{&P5bZKvH004NLQ&wy zWJ381DTMcb&$S(>G#a~|o0V28ek|@47Q!*Ks~Nx8`Qw2cRWF zfU3H?#x(9;RcwH&aum?tgKjMHj*z_m(&>QcjC|jU|{-?5j+udQpd&j;4xbqAsz5)%NO;Ogz12~m! z;4B5O&Pjf$Bly?%`}Q;Zw7|ak$Q4CV6h%=KMfv~n{(6x7FZ%uR!U80`@u*0Ut-kl) zAAa~fJ@mX!JpAx@*Z(ni(eKBR;`=a;J?Br;8E~37ztn$tcJr%;e~1bD5awkt!!n1! z1_)uHfD7;A)%oCqm=0@9u)xcA><2IhFWj;B3-&OJ^bQPuoN+%W%RFKOR3RUX2nqvA z{$l7)^8J9*7v<!N0!W zHy`4!7JT@S6-7}LMNt$*Q55BG663m>b&XN*QzAbl-iDp2h)BW?BrG9BXb{DJP{f$P zPg1}&g;Yci5TF7H>!uW+<{6VPBG?IhP~LwgoW3YuAg)lLD4Pxr02<&Ca1~OBryqqO zp9yys2--1Cu($N>(hK*G8?Z_c