From 38984e8ef3958fb4d5a57c20d45d0aca87fdb764 Mon Sep 17 00:00:00 2001 From: CHOMPStation2 <58959929+CHOMPStation2@users.noreply.github.com> Date: Wed, 25 Oct 2023 17:13:25 -0700 Subject: [PATCH] [MIRROR] VerySoft Fluff Item! (#7133) Co-authored-by: Casey Co-authored-by: Nadyr <41974248+Darlantanis@users.noreply.github.com> --- .../loadout/loadout_fluffitems_vr.dm | 17 ++++---- code/modules/clothing/glasses/glasses.dm | 1 + .../mob/living/carbon/human/update_icons.dm | 40 +++++++++++------- .../vore/fluffstuff/custom_clothes_vr.dm | 12 +++++- icons/inventory/eyes/item_vr.dmi | Bin 1998 -> 6323 bytes icons/inventory/eyes/mob_vr.dmi | Bin 10087 -> 10206 bytes 6 files changed, 45 insertions(+), 25 deletions(-) diff --git a/code/modules/client/preference_setup/loadout/loadout_fluffitems_vr.dm b/code/modules/client/preference_setup/loadout/loadout_fluffitems_vr.dm index 469192f02e..487e728fed 100644 --- a/code/modules/client/preference_setup/loadout/loadout_fluffitems_vr.dm +++ b/code/modules/client/preference_setup/loadout/loadout_fluffitems_vr.dm @@ -1326,15 +1326,9 @@ /datum/gear/fluff/harmony_id path = /obj/item/weapon/card/id/event/polymorphic/itg - display_name = "Harmony's ITG-ID card" + display_name = "ITG-ID card" ckeywhitelist = list("verysoft") - character_name = list("Harmony") - -/datum/gear/fluff/shinerunner_id - path = /obj/item/weapon/card/id/event/polymorphic/itg - display_name = "Shine-Runner's ITG-ID card" - ckeywhitelist = list("verysoft") - character_name = list("Shine-Runner") + character_name = null /datum/gear/fluff/dessa_hat path = /obj/item/clothing/head/fluff/giantbow/dessa @@ -1347,6 +1341,13 @@ ..() gear_tweaks += gear_tweak_free_color_choice +/datum/gear/fluff/casey_glasses + path = /obj/item/clothing/glasses/big_round + display_name = "Big Round Glasses" + slot = slot_glasses + ckeywhitelist = list("verysoft") + character_name = null + // W CKEYS /datum/gear/fluff/sthasha_bracer path = /obj/item/clothing/accessory/bracer/fluff/xander_sthasha diff --git a/code/modules/clothing/glasses/glasses.dm b/code/modules/clothing/glasses/glasses.dm index 3b290a05f5..2940b9902e 100644 --- a/code/modules/clothing/glasses/glasses.dm +++ b/code/modules/clothing/glasses/glasses.dm @@ -34,6 +34,7 @@ BLIND // can't see anything SPECIES_TESHARI = 'icons/inventory/eyes/mob_teshari.dmi', SPECIES_VOX = 'icons/inventory/eyes/mob_vox.dmi' ) + var/glasses_layer_above = FALSE /obj/item/clothing/glasses/update_clothing_icon() if (ismob(src.loc)) diff --git a/code/modules/mob/living/carbon/human/update_icons.dm b/code/modules/mob/living/carbon/human/update_icons.dm index 754e6a9f04..5c9c7f5895 100644 --- a/code/modules/mob/living/carbon/human/update_icons.dm +++ b/code/modules/mob/living/carbon/human/update_icons.dm @@ -87,20 +87,21 @@ var/global/list/damage_icon_parts = list() //see UpdateDamageIcon() #define EARS_LAYER 24 //Both ear-slot items (combined image) #define EYES_LAYER 25 //Mob's eyes (used for glowing eyes) #define FACEMASK_LAYER 26 //Mask-slot item -#define HEAD_LAYER 27 //Head-slot item -#define HANDCUFF_LAYER 28 //Handcuffs, if the human is handcuffed, in a secret inv slot -#define LEGCUFF_LAYER 29 //Same as handcuffs, for legcuffs -#define L_HAND_LAYER 30 //Left-hand item -#define R_HAND_LAYER 31 //Right-hand item -#define WING_LAYER 32 //Wings or protrusions over the suit. -#define VORE_BELLY_LAYER 33 //CHOMPStation edit - Move this and everything after up if things are added. -#define VORE_TAIL_LAYER 34 //CHOMPStation edit - Move this and everything after up if things are added. -#define TAIL_UPPER_LAYER_ALT 35 //Modified tail-sprite layer. Tend to be larger. -#define MODIFIER_EFFECTS_LAYER 36 //Effects drawn by modifiers -#define FIRE_LAYER 37 //'Mob on fire' overlay layer -#define MOB_WATER_LAYER 38 //'Mob submerged' overlay layer -#define TARGETED_LAYER 39 //'Aimed at' overlay layer -#define TOTAL_LAYERS 39 //CHOMPStation edit. <---- KEEP THIS UPDATED, should always equal the highest number here, used to initialize a list. +#define GLASSES_LAYER_ALT 27 //So some glasses can appear on top of hair and things +#define HEAD_LAYER 28 //Head-slot item +#define HANDCUFF_LAYER 29 //Handcuffs, if the human is handcuffed, in a secret inv slot +#define LEGCUFF_LAYER 30 //Same as handcuffs, for legcuffs +#define L_HAND_LAYER 31 //Left-hand item +#define R_HAND_LAYER 32 //Right-hand item +#define WING_LAYER 33 //Wings or protrusions over the suit. +#define VORE_BELLY_LAYER 34 //CHOMPStation edit - Move this and everything after up if things are added. +#define VORE_TAIL_LAYER 35 //CHOMPStation edit - Move this and everything after up if things are added. +#define TAIL_UPPER_LAYER_ALT 36 //Modified tail-sprite layer. Tend to be larger. +#define MODIFIER_EFFECTS_LAYER 37 //Effects drawn by modifiers +#define FIRE_LAYER 38 //'Mob on fire' overlay layer +#define MOB_WATER_LAYER 39 //'Mob submerged' overlay layer +#define TARGETED_LAYER 40 //'Aimed at' overlay layer +#define TOTAL_LAYERS 40 //CHOMPStation edit. <---- KEEP THIS UPDATED, should always equal the highest number here, used to initialize a list. ////////////////////////////////// //These two are only used for gargoyles currently @@ -774,13 +775,20 @@ var/global/list/damage_icon_parts = list() //see UpdateDamageIcon() return remove_layer(GLASSES_LAYER) + remove_layer(GLASSES_LAYER_ALT) if(!glasses || hide_glasses) // CHOMPEdit - Add "|| hide_glasses" for glasses hiding return //Not wearing glasses, no need to update anything. - overlays_standing[GLASSES_LAYER] = glasses.make_worn_icon(body_type = species.get_bodytype(src), slot_name = slot_gloves_str, default_icon = INV_EYES_DEF_ICON, default_layer = GLASSES_LAYER) + var/glasses_layer = GLASSES_LAYER + if(istype(glasses, /obj/item/clothing/glasses)) + var/obj/item/clothing/glasses/our_glasses = glasses + if(our_glasses.glasses_layer_above) + glasses_layer = GLASSES_LAYER_ALT - apply_layer(GLASSES_LAYER) + overlays_standing[glasses_layer] = glasses.make_worn_icon(body_type = species.get_bodytype(src), slot_name = slot_gloves_str, default_icon = INV_EYES_DEF_ICON, default_layer = glasses_layer) + + apply_layer(glasses_layer) /mob/living/carbon/human/update_inv_ears() if(QDESTROYING(src)) diff --git a/code/modules/vore/fluffstuff/custom_clothes_vr.dm b/code/modules/vore/fluffstuff/custom_clothes_vr.dm index fe5baf6641..218e388d7b 100644 --- a/code/modules/vore/fluffstuff/custom_clothes_vr.dm +++ b/code/modules/vore/fluffstuff/custom_clothes_vr.dm @@ -2683,4 +2683,14 @@ End CHOMP Removal*/ /obj/item/clothing/suit/storage/toggle/labcoat/fluff/parrizjacket name = "pink crop bomber" desc = "A pink crop bomber jacket that is just barely able to zip up at the front. It has a small Virgo Orbital Research Establishment patch on each shoulder." - icon_state = "parriz_jacket" */ //Chomp REMOVE END + icon_state = "parriz_jacket" + +//verysoft: Casey Brown +/obj/item/clothing/glasses/big_round + name = "big round blue glasses" + desc = "A set of glasses! They are big, round, and very reflective, catching the light and obscuring the eyes!" + icon = 'icons/inventory/eyes/item_vr.dmi' + icon_override = 'icons/inventory/eyes/mob_vr.dmi' + icon_state = "bigroundglasses" + slot_flags = SLOT_EYES | SLOT_EARS + glasses_layer_above = TRUE */ //Chomp REMOVE END diff --git a/icons/inventory/eyes/item_vr.dmi b/icons/inventory/eyes/item_vr.dmi index cc158df7ad6f2c0e4ca83f7ae51b4e6ffb5c7d2f..bf46a541b61226d0de3b3f1aa8712077f47b5feb 100644 GIT binary patch literal 6323 zcmdT}cU)6>whvh1+F(Z!#G%Yg5Cs$!0jUuYAtFSOCM_r`0zyzgS_;YlDpCwhX&Hrp zkrEry6GxF=9-#>c5eNhb5R(AmLdv_ivv2mz&g|#SzQ6X5+~l5n?yr2$Ip1^6FL%${ zT5j8{xETV0Y(rR`w1+^Xj<0<-Z3HFlDWqrM*HWZ|OUTK~!QMA~gF<}Kfe=V|PWuC! zgm;Hz<2suu3Jb3FSx=&xEi~vc;@EFeU$oO@n(GgWS4}EQP-N8Xh27G-!^4m8uWaIf zIO1kr-4Y(3bZsd5$4f^iXIm9fx7QyYEjj6yCjOY>tZeq~ZE>f~amSs7ZR9eVG@HGc za*pm67msR|#GjKxDL_LW?;0bgo!GrqD(2)Y{qUXAZ!Db4$9C>w>h1a_FejXIaX@a% zz}YiSUYlIZA4lw7PyViOS9Or0N|Iw#T~|Uy8Ei{TEg>}WaB$LY;^{^r7M+ zY2ygqrRA{%?YP`PJokhA`&4!0&06ePX0o12Wk1su|JRkNu6!f;OVswsv#GH)x5 zpUYtu78btK^&b>W<{E{CjMd+D4`HO|y~-t%$;(uA+Z-!3T6Zu(=Hr_Z$PbAmwcdOF zetsI5t3&8eQ45Ofianidy0Qa72lx!f7t7TR`jS%#Dk73?&ansnf@RN*eany2{Zu}I zqkVZK5xP_4^_vWeDi}C7!fXHjgB#3#Dte~B&`onuVN@(~eVOeEg7}1fML* zRu(p5A5G%LZLGmBD;tNyXW{}S%r`LK*&1(dC>w9MEEI4UjD?R?RaKXh1L~0KbIR7H zK(QLlTT0JQc&OB^!nSwjoW?GcbNR{-2>Tbyb<5Qx5^4FmZ>gRlUj-}h7#^%Zn#oSZ zbNU*@BFlR>I(+A*yA35xKRlYGti8>#DPGRUpI!8Ur^4hU^PDmE%REVSD4UscPImnY zO~pwKf#-=XVupVLx^BrS9qXD1*Z~x-Vi!i=-Ge%_gC8Kpeyu9(D`&f)z94Y!uC8<{ zmX^jrr7xfe1;x%3KL!;wlZ2 zN32}E@Jfv1y?8vCi6nME7TO@_np*^H`P2`OC-LJ8oDeNZENpt}9X2wGM~TmpG)*&R z9H?&u##KR5I2jcGc<{alU>GURc&leMux?^m?i@Gd3YzF6xuR2_5@sv z|L71S12z%H>8m<`S7hjyeku?K0Gg4PM{x-H8=+i)sifm9UuFV51I|V$FbA^DJK-6U z6RBImV2DPZVx*WX%sM7DDTY18<#C>A|-8rmL@uIB#Pn zEjNVk!w16vJ1ON>{9%HyLHc`mE(Z5k#n#t(dyQ+c@oTsM&L~H5uXFjAJ~t1}`+{^y z*Sjl9EsP!z1nleQ5mNv~>l4Kr&|ZVU^L!fNE05>rTFsu0K-BxP=$eTdTIH)M_KDxdTOyl!eSxcpJtk z`f71E=WHlH)tJ{TdC7bwebQ|X7k>}KL^+mOl7N`h0Rq$ZCJqM$x*xG0YGh8D29g0KkajduOW)><;YI^6!!T42qvj;Wqy}Ek~z?3nfb+gccfd|9BeEzxeY?(*Rn`fr@J^F$7 zwP{O({#6AL3pyDkuRWynw%=IOVpjRQkFVhTSFFrPe;iafEx4>$9W4My#&%a%p)U=c z^h`Ec(FIv%4-xweR7@!-q$$Jo^)uO%HM;?3@)4S@z6Lc0DifEjkDi|#ZOv0>cQP6h z_w*invnB;+?(wJ8_4NzmeLtAIeJX4z>YQ#NCCjb9MU8m&tWjB%m1Hcq){nlb-Ogwg zC4;}0Kjx#lX?cc4s+&S4=#5!MSTh+kqib=Q-XxhM`{kfav4K-SjjhNsN0Qi0+Y^Zs zJE(QwnG5Llc6hr0PItkSPE_DTk-BA@QZE63QTP|HN}On=ko|;vYMi4Nw$pH4N{^y)D$e4hDl_3?C^FC7a?)Cyq3^L^X4ksEI|?(mo1`(g~N; zvRL=iS|<(}4lNiX2@YfjW=?|kDwU$TX^f3wWWqp%?a4hM#DRf<%Oq+EB%kCrKEg=s zH1*J{+$LlE6ofx(#Q;m`{A#f^iRMb>^vcz?x`Wfr>i8a@i>0lR>EB<5@I&e4i-qNG zqZZ?d_isqFHE6b9_j?@#@i88^dJYV#G+5osAR3OVZ_An~erp%pF|FUb=YI%jiGy>I zHw}kVkr~?5U|Y*)TWlzuv-3*k?f7Raa6>0XJiI!Hh%;acFZTA6F#(pBZ;U35=;}$1 zG9**{u(`qV$^~%Sv=SGm)V>!MnzX4EoTo&Fr9%JFZ=%=bBA6}MG;s`U`fzD_T6Z51 zG2PFPv=}E8+&vKtl)H%#0l3Xt2hg)O;p+{;#JPnwBX;+eE-30h*2a9n8BmDF+ zSwN{E+39@ObdbZrMEE5IQhGx_hb;-`S{<`6Z zt%juUZyY}Mxo_KWuRZQT0k^y(7Q=In!m+(wk-E;-fCXV~6!?_#=hGAFrDvn*ygucI zpL-}bz4uIt*8$9;^iCFKGFIMm6KQ1g^C4cU;jGlDbxC^O&g?Bzf}Mn?1~3KLYdQdn zh>o1Cpe~l0#rGDBZ$3nyZ|pB#+_rnsrCA+5C$#G%%cBZkoO04S4yknJ(td^<`j;HB zR-*j-3X0a%FWe8tcNicDtO!EEY0~#Bcg%nQyTMEr#agAp_HU9-KTRrJZR_Y*TCgNE zs}nK2S8bh`4GOWzn*nAj5~p6}S3byXXiTs?fymmY^`=hrRv3Vw?h^31s+BDyXzS7_!%5#I z3jMg#&xc?1wkurO>`i7`&n0ux8&Xc;s@%7yntCI=Q_@aT(}V^{MRQj`l=L`TSby%b z+2X5NHE@Z|Do(hIQm2ZK6>;CNK4(BP`Hc_FBwbe#%QDq~qTnzOl?lfryQ_cXk1Ie@I;E{9(Y6B0wGnb!0H6Qgkq z!qAh54>7L%(d7A2UT&}g+1@ zw(1=UAB!UFTz~5{$-WzV#m6VOZfg<vHkpUlOeedp9T8B!_i;7_EDQuMv7SrdZ&#y%mm1xML5VbAf8^sL-6N zu(6$Hm$TKVt^zTDo~hn0pJCseX{dtAeW^wwNIbcZf=J%A9!nO(bnc0Vpf_OdSF~oN zoyL_fhdd0qAJ#%GaLd|%pG43O73YMuWb}mM#`b^tY32M9VQqafn)naW*NmaGlBsVo z@y4Cq2E7>%pYh&{EG!eQnr=HQO5hc#)zYgW^a)mpxi9x?tmT5Jl^8WU7WXFUXS7ay`3-ACp6gdb$cI`JLdfFK!n1BJhODtKoWp@W!KdxX_i|5vul9ua;8()((;cLTTIcroj_f|NUG@#M}FSz^e;uSu} zDTA-#M1?IH#Rc+qAa6l?J6~q5`7PcB(A@PIj8L^<6DZsh4uz)%ZJ)2+%83iM_3=0$ zdHKX7`b4%#bS}>rS$082wG@M>c7Ha}4x2Sgb6rxUx1sYSNo7mN=^dGaohb7*ii3t> zjgJpz;PNrh?EP7sobCxi5n+%fj>;|YI{XR>Q!`h3s!;1ZR4Uqp_ z8;mx(=PVI=A$PVPEb+cj8zBYNkP+>ht)RmdssDC(1`12w5+tY|Y9N|x7^2x~E z-+s;A8Nee7B>#)uSN7n*oJ*aIMnKMg-^bqG1~!2KU9Jdv-%7vw(SvKLy+IKAH@Yqo zdN!mu;wrqGj^Ig$xBfsIR@gqHNr=;t^c@zazOf>V^n@xM)Y^6cMKI05@9W4o+9T|n zO{gY~#|G^K=3c68Q=^?*QX8h9xlmI4o3t&yx8Y;tcGK<~+r|8qZ-NICTlvOSalv1X z?qvkZe4fo)3&G6ZT4+!q75e#To-bI3W?GlG`iu*2gA5*m6>r|9(~j1cT$Q;LX$9Di z3)d3-oYI((G${0O$d)_~m$~ZRvMfRm#|(buVZVpKj(Z~#5A#mO&;^-51t5NBoj3u@ z`X%|c#Q(=z)3yS8Op*edw(-b>dGs7W&`B%(kKR4Z3BDdqnPcpyWq-071nMpo zVY@rIhvbpFB>uhY6vsgrw$sr z!#+1}>h-sN{+i-`w^|n5>->=rf~bHYbYkl_j34Q!I#%1il+0UgxBY?UiZPs37kIXC z^rH$7Wwfj^&|>Zhu&hWNyTkxMo?FL)dm7Wj#3wIst>KajwGt7&y86FhTZILof*hEh4!gxjiT$qs(i zowKvo$})dWG^BN06fxx0_G?tG_;OwjNtFaXDuX~x=G+ee=vpo&u)DBs z6a>_-xF7+X&2fAtkOV5(-raEQoWeO;RM2TMX5+xRGp{iDgaq+0du^rlL}{5DgITA5 z`-ZgMJ!oU1wMIpHAoO`P^I7lA(?%~v{EqbsN;sK6IJEv`1n+%dy{oD`ijAjMSt{P^}`_UH7TbDw+Od){-Od+&MP_st3k zKC;1Vn;8HA8-fD;Ljk~uWU#d;B(f4rxrexmA;-c3T3cJGRBB*gppTD_r>Cd4xA%!J zVG;>BT!h2niU52}OpJ4z5?_ShvSkYZbX~Nx?ED-68f3u41hx~vAJ|8sQ0(mNU;tka z>?{J%SAlK7jT?@RjxH`P_V)IEetvOraR>`zILiScHA)T*CIh6Yf%C{lc_oaR>>ryH z&A3QUzL=N*0BI%UQ*=hk(gK-2_i++))CJSiB_r2TT>ph1f9otew&xYV$iDsbAU+h| zhyU~TlDBy;^1`;0D|fo>-Q$GE1!QsYyXqg>?vDAnz39~4d&Oo^(Yv#8!N(nGml81R z98t0J+O-(dZAG-Z)KlM4^GXhdxb@b}RTfmHZ7wznASYSxJ@o4X6ldW0Ey7OO`cuq_VoBme5K85b*Y_jd-Fe&=I$+qGh>-YD$_2TW1*>VZTYSY`+ z_)xR&AByVwN7eYu^qQVRV7hOi^q+-?F9U#yLy-TWu(T4@D3>u5xbbEbGit{s>-MZ0 zVq+;2=7o=5EmFU;`mDY@3l?H_E^fW{x~`%45jpfEGOO|O^yLZ|5^(l2o6pyu)~?^Sag43HC*pX);aD4Ptd2RxuAawb>f1Y8 z3L|W|QvpiK!~%yeN+-+ibWnW@70m~5&(S$k#V4fm;1WX@qg39R*NK^K+E|_Tg4RKs zdil}U{SQYHWAg=;bFp*FPt)pps?T5N@_6m}rEr`UovQz3Y6WU6J^iezQ`tE>i{XuU zykHEjX8fiRXe%nxe4k{x3MEiFO(+=kamEl8Rq|qL^I4&&E<;4qoYS$MjlqM9YO9>^ zAx*xB&3nv%X5|u(AWUZI)_IjXUz0kQ(b7WZ)B0&qLq>&<1IO08{+)ozp6UkFcPr%Y z%Y1JJ)C5Q6J|?Qnj49#? zi?A_SW`xZ5_oZjqEGYb~t9p;SvpEx7Nf|t~|F4o1N|_&FFk^X!elVPo(fxzpGxkUv zu_sg5|3iEs-(BjE7-7K~j8C;CHYW@|A7;JY1xd8}A9o27EN?eu3aDd+$>*3~&5L8f z@#)JG#oe^hb>E1HO{wO?Ry4QPud5<1r`8k|=|b>$?S02ok@p8(hq%f9Wsatymw0nl zBvQ1@PRYO0&M%%4u|GK4YUCaz56TPButU`T2AOQLA;e(a;(b}7<3P@bk9kI^(if}W9v>alTy9jQ)>rng zVl^#)#Qm~pbqptzJdX6@eQ>Xt@Pr{H@RvHuk|5U{Ol<^ew-D$G|Q0X8-ROeLF6ZH z+7$6GM)rVZ?|ZZbs$qrGVRQy+n*f~TLaEOQ1p=m@5I+^Xh9o1}Ndxq$e$7$2 z%<8WkjvtFiymbS5p89-aG1T^jJIFa)1#&9Dv6RmV(I7rL-AnNz=>Q2iTCuKj1ReR1 z_?t!V44Ut_xwF*hk^a7IWLo->v~(|?xj(-tf|t&3M!@0|S~{^3Oc77NGQgN>+7A*{ zQ#UeM^n*6$4`h}W%5%?QXmwnYqlh@U!Ic3wM`BIm##&@QD}ico>9p>d0PSpgP|P~3 zX09OM@k!=Z=zFzX$#>EqpjcfUKjU1hRuG(PH5xhgR=fhc)`vZ?r^i@8eBZI6`-v4l z{YJ}4WU*@P%2MFw37{JUH=r6cu-wv>!EPPba+E;#NSeOZZhUeDsr8+q;7{0qrF@B@ zKSPtWWtGb)TiZt`_GTRx|G|`jdm~1h^5NNb&!vf0$m$t&niao*8ZF7|HsZCm z6zq7&a9dL(U6&R962seMEzYK3-@f{Yh@j7)g#TZAgi-C3(t=&`W+Kq^oyw&EtYhgD z&ngPRH8Q8g&sH+|BzAAo$Hi!Y&}27wWM84!uD2gi;7Z0NK%$toBrTajMzls~VEXsT zR2atdiQIt^SvU0bj(UnUa)j_kmap1B<&^zVI|*zR(9?T)oLkKtE{P@;)ZA`i$F+Q5w2H-Qp=(&Q4vru6(K~HAR$Bv0g@O(NOI2m2d&<|x$oVXH?O^S<}u@po;el z5DFD_i+&A*f4J+Di~e%ATgOPBG{0&a`|yW?mAlI9X-%7pMb5H=pCCZX*bu+_ z&PG>1zc#Z%r}H&FnXmVA`mw3onpWbOlJu4_E#){3SH}kl zJ}t=N1! z`u3&eEmulCuY4Kd+t+_I(h2v{4^#g<&89G$om4^5&@CKpD`X=wh?1#fl!xBj*7XGn z)h^B?n4nO{s+}L8P}jDC8FmEmmqbht)y5139E%&L)^|XWsmRHUtgJ%b#Kd=H?Ke|> z&tzD25GVS5`tUidUvVO2PcAdN^_l=|Sw_$ont{$-)vg`8A1OJZB=~A5lmq zFx^WZsee2)Hoz5{~nYOAcjsUHNg!c0-dQdR+>8p@^;Bp`8;y$6Bby zMQ?(484$Og5O7NL_LLQhkqb;58A}{bna>7)(dZ1>7*LnjR{%*;9Qyr++qa0x^UWND zjS%BrVPg~yb`3;@wXppFE|CfGteuIolc)3%sm)QWs1WC#6>gZ@O~uu~)9a9(L^ZB8hytJ4OLBIMQ5p$V>r1v%_J`!EkMT<&qt1{ootol{`g0|uPUf%rQ3;Drf#)5)iP*Fw53cAd zKmu2C13ZJSBPI=Sj6#vv>Bgp19R;Vmxxyuix$0cSXkUImhTQK!6zrC@RetKKuP@{v z3e^?CDLF`qbhwSU5e}PRlfuwM*a*F}$MCL+3 z50+{!efcC;a)CO3WlOTIR^10dh3C{z^#`g4i`ISi+2*@}8Y9cQ8kY7`!V5QjtF{z1 ze|@2K#`OSY$uiW{sVdli3kntFuwp&xt1muWiTXTKb@(7S?XP#iRW=@ew;gMCq0XKB zzdfyYP<9tgBxY7@>d!bR=nkpMqvj-qchl*899uRam8ww3qNT)kY`TJrotM=}IS~w~ zU`LmS_XA6lPD1wxUE>>B7Y-ItSxj1Ojx}N8=c@>Vp}X+$Ky!k6iTrt{ssG(F^E-or z{zh+;5zkue$LrE*Pn+btdKS}kq6hpQ>D1slv}cp9x`uvIUteF8bU2a|7mjZ@nxp?p zd-En_o$DMef6P>bZb!l-%9`ppg4;NfmX>enHM9viuW)j48w-{_EpA6zI{Pf$h77?m zvJ2X-(58C3h5T+PwZT?a1F~;V)(`UWqqNy@qV`-L;j6-5>kKnbfdiQIExb-Zmu8I=pzW zZmGG2g&VsZkBbYIh3MKu?Q(T<;|xc#Nr(H=EIpgPe2V&5-zI99$+)%0G;J*rY*=ig zcf+hQT`iIVIDiy`(Eo0?mDnAK$?J_@!Tf zmSl(&Fc3K5$C|2e@W`8d)cVW3f`>)NN~cNHBQe_-m?!K;ykCp4Uh!B*b5|~Uj|_JP z<3ibHYr0!TDJX6UB^`xRQW06da3PGqY#E2{Equ-}zgwM+R860Ymu31-mS7OY^ZU6D z;#V7kvExM5I3-K!OaR$h)g)U5C&sd)* zY$4jIb31!V#w(2FoL`D}uxnvbVM%^s0Q00>%V>D!?Y=X8(0Y0bb#|aTh_2d=4C`Ql z`t-(eB$jY$+(O^H+(V3Y@%pJm-<_1$(T)@fzpCgA9lTjzw8VVQ$az+wxJW<&m5KUl!%E@9!uPI8)BqJ0Ay`I zB&O_v@G=uE<^=v$ZB~x%=2xCv3jP|y z1?HG;jiq`V>uwLSihQ4iS`;7mlu-byIIW93 zbZ`-{9kc?4p%J1&$l+Fh+70LpzK4L>*(x^grOuhlV`vJnmUUF#-|^+){`)Mmem1## z$1>CTm$_sc*pMe=Q_z}Ow(2YE*Hwq92Yz=GKd12NQy0dn7kgd8Aq&hr1A`_-w`n-Q zRSskuezwT95N@DGqaATQfBULED>78{@7+PZhm=QlIGul@HC5 z6=Z$PQCv;%hR!lwexZ`!E9Cm;aNg1BTBRHUDoPI z<2m87(<{9mEYq2-u{bfb3_@e4*>r#>EBV^1KxHPQQv-En{#?ar5+`Q8VuQ_c>{X-l zZAjG6WMz%vjM^aG^J;yTBGN)eZmYq~e#I{Gys`)n-BwhFhIpjlce7R zD?d$TWdG9p>KWb7^zxm=f`WeAIpBvpJ#T4qr+)e6m%4%icX#)iAV)CaD|ZrEELKYK zZE(6E!n&Z~a-w^+MpsvtAv>X2rerC@Ptq491Cp_0;KRO0KCV1RQFKrgS@qL({Nn9y z#h$e>lF7bT;0NX{I>^;~mA-oyGAXi5OCt z0I(w2W*CfeFIzq$ZIWsrvl@uBQ97b?dU+%8Wli!&Sj8jcR7}jmrDE^Kg+>jmVz#rd z(5=MYE^hwCCAXcpCWVRp9^^@X{=&DMvFAJ^*J9fFfz=u`^wZH=z%`DpMb_xprCGyqOPmj0<>Ng`6Zqw*4eU;3j6EUT`6B7U00Ts%? z_3VL`2Z*5KzBBG$Yylewhtg>>EuJkymU9rm9iiPt{f z$O=T$Br7aKXSfgv2sI?jV*@uf+8?#r_FrJp-T~~rFEqzYS%g_-*9`|bxVSj4*$4JY zQ*)nli%1l*W9Lps!TdIhZoGL`K)DED9NN^jmoXfiPCs7jm0LJ_&0ouJZL zFuPF&Pdof?um>Fi*9H<@zY|Fu!qhyADbQC$_fnv$-PzX=S1~{k5d5$~F12V$RjHbP zMNhMgbLK(n$@2L1%f$5fjF`fQog<}FU$d-SRcm%++21V^tx8?V zyGat4GvYnPMq3fW^w%v$So|`cf4014!s$C$lQWnAQ`C8sz$$qk(#Zj-Dyb?yCU9=8V3K9FMZV(A|oX8y;SEcOeF399#zqV2$e1K}<% zrT6desua4vqhNlr;Ah9Y!_|X=UkkPw7%cMkoh_H$y}grLTU#sMQZd*pKBK;%;H4zS zkYc>JG@^8b<|AT{D1e{1q)p6Kv#@SDY?bXejEH}?L&7uBG2?10i6a!mGgm))UQ?6j z(Z+{s_0M=F0s14SbCglmw#k4G4YAVw9SA*5&QY-{b74viKUU>jA z*5Y|rCHEyTW3lp&galyi0EdFGRE$}+;CRndPo{sp$VWn(!X-;NCwht5Y|lnY?1kx88RYA`Z5c&f{>9vXAiQSY$UPncD`2x-^PUx1BKCYJ6%G!e4J@cSx1b;~FDF)gC97vplng5r8dw+t|~m^NS0%efHUB#aX=| zS>4%kA|fJUoX2J(Dm!;X4z#KZ!Yl#_ZH}mz;;3C-Z+^9v`Q)ngQUyTkZzyUi`(iDS zzqb&o^wEmF-?v-F<3cC6XLJ)WOs}OPv|ws~2iD+3dB9h2ZZ-xeuP3w$bS6!?Vk%J5 zk$F>-0Co^32zSe(y9^L)R;hj7x5s#tvxFux{1#TtN)ra7Cd``|(Are6Lj^DH4lks8pm zG%M|z^Ll^SNT)EMCo=LI7$l{CU&ExS`NlH+&M;MHyjgUGUwQ3x17HX55(^RQolFD| z-vUj}x_z4E<>ja4=nZdKpQ@-fjRkesS>qG4;F0;89@tjZMfp#CtWamGCBNl-QCx1~Pm6K)L+KYlKl zdp-qjMzzRgrP>aDbNIT8&h@N4eu8G2B8%?VV2YfyVGf8&OLJ+NNGQoFhjO~5SFF(m zjVb_SZk=5jzc=0k^gMR=Fzi*{>ROvI$Qy)sw*}FuhYGveEzG{C5 zd57jfk^gRs{`5xk-G;MX??Qy{9M!?IHmbT~aVh8Oe5~`|XRXA=-F~;(yU!A#2uSaU zIEy|}Ck7iGqq5Mdj#EYdRAGjq+Co)<-oD5_^#G9mb+EYj@EwNd2=o!l#S-$9*fB87 zH`W&;3Qb4G$I+#*HpoNHuwf2zivN8)pw=DbhUQo)Y!+M-w;votznN z0`Jkl=$*cYL0n~+UtI9*uWHAR)!OT^Z$di&$Foxum+C+p`JhO=Iqv_wg?=})_Yvp4 znSO8Fet%kE%m5yQlyFe0EDo@e3>xOo)~(C4FKuu7-zRJ^=;|BD_eXB*H91!3^IqAj z08Pt4)f@l2Ky)_ZM}<7J%IZd`x+?hkF&_k3M#^wmjV!bKIt(wE(ycNH@Lt_SVC^hf z?rF%`45W(qAuG^4cQ~j-p7FxZC|xyA^Xa`8%So@Id|;tUhMjt_4OP-3JpBy_VFInG zqFEs+Q=Q`>Cbt5y<@aCz8s^Zc!$EBUrW!>Ujgx65wlXsIw`qfI&r=W2<2)4bDqi{m~^M<+uiGdzlqcJ*Xb3pH_3pz zqD{eyqT~+fb?huy)5arnTIGgSwo;WhckAjEp@j-nH%Bk)$g+Rn!HgoPvqj4d$C8pGJtX4z@pz-RWW=Ba+KcGWvX__q@|5e zMTn2ol}sh_dz7k-#Ers^B$GKnOxqt(pX?c#ns+SrDfFq|iZoAw)8A5QSAS_t`IM=j zLtMzT&SDIT7O@2~a%cnu`?37H(~)^GR1sbsMD@ERL!a^Vl-8gV=3P6N89*>+HRm9xdKZL^uI8g*SjPCCO5AkT)6Xm9-T@z{yi@F8;eq zNCYNq3!=%$X;H{oR6TUt3(+rw+mPGD52MS~R4FKLF(G-&Gkk;nfQ_%d>uk+(C*iwo z)&sqa9@e%$1T&LN5#W%)&>r6nSYNrn2jrI%wE5BrG(j2NMb!cVgd&+1FmX1ZcB4E zW(gkEc&qtNH!4bgt1GaQ|9?TV<(GcYF5s{%cRkrMJ3E`_R+X<5iHShd3^fpYUR1eC zfPl)eUl05$Jyxj1KC8(9B`g#7`{(*BcGq;9Dy=^B0R zxM#_^af;I$iw(u{uwnn2{CKym5w$+gwa{#O6YBm)wg2Gt`zqyTRZ{|ipNm{B zm+uE&5nUHaq!98qJ3GZovi_05gys^#-H=&uEi@^y{{d1q(XZ(|he+x8oeek5bWjlw zt6;6m#N`3zSRE?%Pq&I&H#7K8AU!^{-;&w2>L!Qr0<(AuP36w&;EUmcE#Tu H`{6$Ulng@G literal 10087 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 g8UESLX%DKrQsqmY&@|2u2fp_2v9+RqbNu`N1lY