From b45ab007f385dc759ff6a6954267831c018479f2 Mon Sep 17 00:00:00 2001 From: fallcon Date: Wed, 8 May 2024 14:03:37 -0500 Subject: [PATCH 01/17] sorting human files --- .../hostile/{ => human}/cat_butcher.dm | 0 .../hostile/{ => human}/dark_wizard.dm | 0 .../hostile/{ => human}/frontiersman.dm | 0 .../simple_animal/hostile/human/human.dm | 31 +++++++++++++++++++ .../hostile/{ => human}/nanotrasen.dm | 0 .../hostile/{ => human}/pirate.dm | 0 .../hostile/{ => human}/skeleton.dm | 0 .../hostile/{ => human}/survivors.dm | 0 .../hostile/{ => human}/syndicate.dm | 0 shiptest.dme | 17 +++++----- 10 files changed, 40 insertions(+), 8 deletions(-) rename code/modules/mob/living/simple_animal/hostile/{ => human}/cat_butcher.dm (100%) rename code/modules/mob/living/simple_animal/hostile/{ => human}/dark_wizard.dm (100%) rename code/modules/mob/living/simple_animal/hostile/{ => human}/frontiersman.dm (100%) create mode 100644 code/modules/mob/living/simple_animal/hostile/human/human.dm rename code/modules/mob/living/simple_animal/hostile/{ => human}/nanotrasen.dm (100%) rename code/modules/mob/living/simple_animal/hostile/{ => human}/pirate.dm (100%) rename code/modules/mob/living/simple_animal/hostile/{ => human}/skeleton.dm (100%) rename code/modules/mob/living/simple_animal/hostile/{ => human}/survivors.dm (100%) rename code/modules/mob/living/simple_animal/hostile/{ => human}/syndicate.dm (100%) diff --git a/code/modules/mob/living/simple_animal/hostile/cat_butcher.dm b/code/modules/mob/living/simple_animal/hostile/human/cat_butcher.dm similarity index 100% rename from code/modules/mob/living/simple_animal/hostile/cat_butcher.dm rename to code/modules/mob/living/simple_animal/hostile/human/cat_butcher.dm diff --git a/code/modules/mob/living/simple_animal/hostile/dark_wizard.dm b/code/modules/mob/living/simple_animal/hostile/human/dark_wizard.dm similarity index 100% rename from code/modules/mob/living/simple_animal/hostile/dark_wizard.dm rename to code/modules/mob/living/simple_animal/hostile/human/dark_wizard.dm diff --git a/code/modules/mob/living/simple_animal/hostile/frontiersman.dm b/code/modules/mob/living/simple_animal/hostile/human/frontiersman.dm similarity index 100% rename from code/modules/mob/living/simple_animal/hostile/frontiersman.dm rename to code/modules/mob/living/simple_animal/hostile/human/frontiersman.dm diff --git a/code/modules/mob/living/simple_animal/hostile/human/human.dm b/code/modules/mob/living/simple_animal/hostile/human/human.dm new file mode 100644 index 000000000000..cc65663181db --- /dev/null +++ b/code/modules/mob/living/simple_animal/hostile/human/human.dm @@ -0,0 +1,31 @@ +/mob/living/simple_animal/hostile/human + name = "Whitesands Inhabitant" + desc = "If you can read this, yell at a coder!" + icon = 'icons/mob/simple_human.dmi' + icon_state = "survivor_base" + icon_living = "survivor_base" + icon_dead = null + icon_gib = "syndicate_gib" + mob_biotypes = MOB_ORGANIC|MOB_HUMANOID + minbodytemp = 180 + unsuitable_atmos_damage = 15 + atmos_requirements = list("min_oxy" = 1, "max_oxy" = 0, "min_tox" = 0, "max_tox" = 0, "min_co2" = 0, "max_co2" = 999, "min_n2" = 0, "max_n2" = 0) + speak_chance = 20 + turns_per_move = 5 + response_help_continuous = "pushes" + response_help_simple = "push" + speed = 0 + maxHealth = 100 + health = 100 + harm_intent_damage = 5 + melee_damage_lower = 10 + melee_damage_upper = 10 + attack_verb_continuous = "punches" + attack_verb_simple = "punch" + attack_sound = 'sound/weapons/punch1.ogg' + a_intent = INTENT_HARM + unsuitable_atmos_damage = 15 + speak_emote = list("groans") + loot = list(/obj/effect/mob_spawn/human/corpse/damaged) + del_on_death = TRUE + faction = list("hermit") diff --git a/code/modules/mob/living/simple_animal/hostile/nanotrasen.dm b/code/modules/mob/living/simple_animal/hostile/human/nanotrasen.dm similarity index 100% rename from code/modules/mob/living/simple_animal/hostile/nanotrasen.dm rename to code/modules/mob/living/simple_animal/hostile/human/nanotrasen.dm diff --git a/code/modules/mob/living/simple_animal/hostile/pirate.dm b/code/modules/mob/living/simple_animal/hostile/human/pirate.dm similarity index 100% rename from code/modules/mob/living/simple_animal/hostile/pirate.dm rename to code/modules/mob/living/simple_animal/hostile/human/pirate.dm diff --git a/code/modules/mob/living/simple_animal/hostile/skeleton.dm b/code/modules/mob/living/simple_animal/hostile/human/skeleton.dm similarity index 100% rename from code/modules/mob/living/simple_animal/hostile/skeleton.dm rename to code/modules/mob/living/simple_animal/hostile/human/skeleton.dm diff --git a/code/modules/mob/living/simple_animal/hostile/survivors.dm b/code/modules/mob/living/simple_animal/hostile/human/survivors.dm similarity index 100% rename from code/modules/mob/living/simple_animal/hostile/survivors.dm rename to code/modules/mob/living/simple_animal/hostile/human/survivors.dm diff --git a/code/modules/mob/living/simple_animal/hostile/syndicate.dm b/code/modules/mob/living/simple_animal/hostile/human/syndicate.dm similarity index 100% rename from code/modules/mob/living/simple_animal/hostile/syndicate.dm rename to code/modules/mob/living/simple_animal/hostile/human/syndicate.dm diff --git a/shiptest.dme b/shiptest.dme index 8111e833cfef..b45fc8d2a21a 100644 --- a/shiptest.dme +++ b/shiptest.dme @@ -2689,13 +2689,10 @@ #include "code\modules\mob\living\simple_animal\hostile\bear.dm" #include "code\modules\mob\living\simple_animal\hostile\bees.dm" #include "code\modules\mob\living\simple_animal\hostile\carp.dm" -#include "code\modules\mob\living\simple_animal\hostile\cat_butcher.dm" #include "code\modules\mob\living\simple_animal\hostile\clown.dm" #include "code\modules\mob\living\simple_animal\hostile\cockroach.dm" -#include "code\modules\mob\living\simple_animal\hostile\dark_wizard.dm" #include "code\modules\mob\living\simple_animal\hostile\eyeballs.dm" #include "code\modules\mob\living\simple_animal\hostile\faithless.dm" -#include "code\modules\mob\living\simple_animal\hostile\frontiersman.dm" #include "code\modules\mob\living\simple_animal\hostile\giant_spider.dm" #include "code\modules\mob\living\simple_animal\hostile\goose.dm" #include "code\modules\mob\living\simple_animal\hostile\headcrab.dm" @@ -2706,16 +2703,11 @@ #include "code\modules\mob\living\simple_animal\hostile\mecha_pilot.dm" #include "code\modules\mob\living\simple_animal\hostile\mimic.dm" #include "code\modules\mob\living\simple_animal\hostile\mushroom.dm" -#include "code\modules\mob\living\simple_animal\hostile\nanotrasen.dm" #include "code\modules\mob\living\simple_animal\hostile\netherworld.dm" -#include "code\modules\mob\living\simple_animal\hostile\pirate.dm" #include "code\modules\mob\living\simple_animal\hostile\regalrat.dm" -#include "code\modules\mob\living\simple_animal\hostile\skeleton.dm" #include "code\modules\mob\living\simple_animal\hostile\space_dragon.dm" #include "code\modules\mob\living\simple_animal\hostile\statue.dm" #include "code\modules\mob\living\simple_animal\hostile\stickman.dm" -#include "code\modules\mob\living\simple_animal\hostile\survivors.dm" -#include "code\modules\mob\living\simple_animal\hostile\syndicate.dm" #include "code\modules\mob\living\simple_animal\hostile\tree.dm" #include "code\modules\mob\living\simple_animal\hostile\venus_human_trap.dm" #include "code\modules\mob\living\simple_animal\hostile\wizard.dm" @@ -2726,6 +2718,15 @@ #include "code\modules\mob\living\simple_animal\hostile\gorilla\emotes.dm" #include "code\modules\mob\living\simple_animal\hostile\gorilla\gorilla.dm" #include "code\modules\mob\living\simple_animal\hostile\gorilla\visuals_icons.dm" +#include "code\modules\mob\living\simple_animal\hostile\human\cat_butcher.dm" +#include "code\modules\mob\living\simple_animal\hostile\human\dark_wizard.dm" +#include "code\modules\mob\living\simple_animal\hostile\human\frontiersman.dm" +#include "code\modules\mob\living\simple_animal\hostile\human\human.dm" +#include "code\modules\mob\living\simple_animal\hostile\human\nanotrasen.dm" +#include "code\modules\mob\living\simple_animal\hostile\human\pirate.dm" +#include "code\modules\mob\living\simple_animal\hostile\human\skeleton.dm" +#include "code\modules\mob\living\simple_animal\hostile\human\survivors.dm" +#include "code\modules\mob\living\simple_animal\hostile\human\syndicate.dm" #include "code\modules\mob\living\simple_animal\hostile\jungle\_jungle_mobs.dm" #include "code\modules\mob\living\simple_animal\hostile\jungle\leaper.dm" #include "code\modules\mob\living\simple_animal\hostile\jungle\mega_arachnid.dm" From aa0cf93e8f0d27a2e5f130041219b4783bce5f29 Mon Sep 17 00:00:00 2001 From: fallcon Date: Wed, 8 May 2024 14:09:19 -0500 Subject: [PATCH 02/17] removes old code goofballs --- .../simple_animal/hostile/human/syndicate.dm | 29 ------------------ icons/mob/simple_human.dmi | Bin 114418 -> 101142 bytes 2 files changed, 29 deletions(-) diff --git a/code/modules/mob/living/simple_animal/hostile/human/syndicate.dm b/code/modules/mob/living/simple_animal/hostile/human/syndicate.dm index b98d14128e12..81755a7358b1 100644 --- a/code/modules/mob/living/simple_animal/hostile/human/syndicate.dm +++ b/code/modules/mob/living/simple_animal/hostile/human/syndicate.dm @@ -314,32 +314,3 @@ /mob/living/simple_animal/hostile/viscerator/Initialize() . = ..() AddComponent(/datum/component/swarming) - -/mob/living/simple_animal/hostile/syndicate/melee/sword/space/oldcode - melee_damage_lower = 20 - melee_damage_upper = 20 - icon = 'icons/mob/simple_human.dmi' - icon_state = "oldcode_syndicate_csaber" - icon_living = "oldcode_syndicate_csaber" - name = "Syndicate Spaceman" - desc = "Death to IS-Nanotrasen." - maxHealth = 170 - health = 170 - armour_penetration = 20 - light_color = LIGHT_COLOR_BLUE - sord = /obj/effect/light_emitter/blue_energy_sword - projectile_deflect_chance = 10 - -/mob/living/simple_animal/hostile/syndicate/ranged/space/oldcode - icon = 'icons/mob/simple_human.dmi' - icon_state = "oldcode_syndicate_gun" - icon_living = "oldcode_syndicate_gun" - name = "Syndicate Spaceman" - desc = "Death to IS-Nanotrasen." - maxHealth = 170 - health = 170 - -/obj/effect/light_emitter/blue_energy_sword - set_luminosity = 2 - set_cap = 2.5 - light_color = LIGHT_COLOR_BLUE diff --git a/icons/mob/simple_human.dmi b/icons/mob/simple_human.dmi index 8cbc0f841bcbfad17db8fa5c80f0ee69b69c53f5..3503151cd688a73f6ecc59cd36840f77db55f0d9 100644 GIT binary patch literal 101142 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 z zIp1Lj)4Q1AB6JJLpKo{3#C+ogG`@p@A$2=i0^)M~vSI$U7U*=;>a&qC8 zi4E~UQ{$}gq{+VH5^~wlf`l3cM~s(^{GHt#+33GXV3pZW5^r|u@!RIR(u5SSXO=a& zY6Ltx-eZX%_+34+xZDj}16%cY?!DM$>@Z;zYcm1rg){xxuH9^7dS8q8;I_=%Q5TC1 z4~4ymHe(Z2ds5Qz7YjfaNfu4DZB-jUDWhWWU1tCTY>Ih+C!qhy();kR$hWq?U`bf+ zTFjN=n6kkXTd%P9(Cl+Ce}Yd002rlCypD`PXZ z1#%jTqtH1K*8S&`iwv8GKha(d4e{LR7^?zE$d4etbCalUdJ>gH?yQptIxkewd7bF! zFNUATtEGNf#hn-7v7$%MG3M;*M>u*L_M0oB=CN2QQ+KqMYZErI>)njGh z4v1@AzDeReu0i-t%0ZVM0j(gLU*-<^j}Q8X6VZ&4&#(7Va3HC#Mn zx@X-{0i`vWzdAKWM&U4t*xt=ZAoM6QyMMpeq1JXf`;W~%G0LaMzY4T+_D+=OC?4>r z{ssM}9muKkKSflU)AXMq7#zHWu+!;>%mA$NSfTyySE@w85c}`q2_sa0tM}ptIZk@b zI+5Wi2b{=0c<5iQf1dwokQ!(Xb4(tlYoqDBd+G7+W@$d7VwpQ!15J;Y5LiM zPl$PJ-);#yijgeUimj=Of5w+}2lA}!EBYh^KAdCX6RLc%w{(F;fCKyX?d}skJ|)m{ z1lv2vr^v_#7C6mah$Ha@1(hi%R^xEOkroE>^RF&)kg#&Q#V^UC*2 z@=vP6ysh6h8B8Q9fAh9NS(U5DMnqfDzbjj2MNdMqoLBjbaj~EF^o3zhQ77qT`mR!7 zw=dy5fm{lnN-hKd5dpq z-TdN_CEx0&;o`Z^=t)PxEfZbckL`l5Cx*Tq&4~wy3xVA9;*&lEp#8=nHX5ocsl(am z^=89$I`_$^mR@UHT2ze#Kn>cZw&qHuEr+o31vgoYU=mOK-5J@<-Nu*1WcRFjG!v&4 zI}-31^at;z$&sQb8js#WYdYF}HvbNvw!>ul)=z~r&ocx@XK+n)+_VlVmf|)|8Dv2l z+l#e!-@8S`M_48?Tf;e=nYpn86YfuBVYIUNAhoDzta~^tOO!)$(7IM!SeNC;_grrt z&#NTXa>a`Y1t~I3@UiAbasSwuAoIRzl}sqru#AMrgKX}yyxtsS1U-H$-Jc3OF@5<3 zuUl}OEd%<>cc~+(u(&Zd$<8Xw%(dcvykq{FbHFpuPTQOv6K;5K7a_m9D_#O4Z*KpM z#`mWu1{(ORw%?AfxZ-I&gVB{MEb+QkZz_~jHV;E5hoDD0nBPpF9egHUjX( z*dFN@LdP1AP^(Uw8ECa?9YW`{Z!7w?_G#je9}m4Z(>#O-u|PHGte0#+$7S;IP~Z@# zn+273&+Y=tD2TtIKQa%J3ONW3n42>!ONGPOP))yzMdcll`uI#ynYn0tTo6U(g)*_< zdQ?Sqi5H0?uA7#UCSxvXSXO1Pw=%Qw3#ZkCDxZt(%;QV*$QAhkF5H_EczHNpr$o>H7& z(kub)M&%tt7{m^FceGGR5Sh}DGBhLzlqUNc9p;i?yZW$Zjqibq%_CujPr7Ms+d*Ro zEZawQr9x=XEF?%cdw2TS?H3^d`>VkdI%JY{Ntt)Nl4?$U-)utM5M5gs9xG8qI8hGZ z=c)9gRYvt;6WTCAG)uc1XEd5rQvh$L@u#eM`L={gu)exFl%C2tHmSMa)5Rb|N| z5cmj8peDX#dY@?#m)@l1d<3y<`6X-=9z2-bKh$@XX*P=wKjGtxN3s8~UzBEmg5BrR zGR@&teVS{0S6Po~e%Vv9El)3ZH*`!IAK0+{M5bERV5ydd9wP-=}j9 zZMn7}!9f8RND>q&N-Eeu3IrlJ4Pob`)ZJVr=WO26lJH-5eu*1yCJRi?Z8@U8X&)5wvx*@4rc^YB9!Pwn>RtqImR{Ikz@iFfq zYCoRM81XF)_a8u;l{mvHTuqG{27B$d9D=hjHGlMc^)Qp)O)~jVegOx}#GAAtcM%K- zAFR4Akizrl`a~zE+e0yIzD-$K?Vp5@d?PU%F^@z+aNCe2oU!Io|BDF&hUbHRv8onL zdpq(D>he&aVOq~GaTSaR{M&{WhZg63=e%)PdvGdX+~EuL3rK5qrDktYG*$@2Z`RCj zD-4(xzzg(SZ8>Z~TUf71|LKlCu#By3@yHv^x5oB$8ViZhqjw&dD81`T$fSdl_*%W> z6_h5wK2hP@9=P?!C2FI!G~pU00>;i1cnt6$($8qoQZz3vsNnTqzo<$2qx2$#LC4f{ ziHlXS5=9yREBZID-eq_EB9bj<>AqfhNMX@>K4Bofxg%_|b+dRKb7VA}Q z4MNdXrGtUYK70H?DLMo1+*K7#Z>bQ0v$~Kh_`i)_G#hPCiX~*)1_NW`k&uwpOA%1q zmHg1G*z(bCN@fF}7UBqBuNC*;h$y=)1+hXr;N_C1@2?8E=oWDL{i5&p9wlwDBK^f~ zd*6vj#Uq7*43}Bj1i$-Y#x@M8PF#I8-bbTBi*ND$2cN|=WRA61JH0PTe0p}+Z+F{M zY`cfpKOKf(+3d);XI9;cAg-xt5=XJ2&tmuUDK__y1J(O8L13&zDxOMEZh zrF3p^GAw7N%UZ&7@O_W785JFs8Ro^t!6}|HLF3o9D{JFlNcJ})<75{H==gp+)7rMj zZ=^l~AFK_qF?~h{DMIV8VR?BUT1$&;Dh(oBTfphB#?6Us|9QubUrxSW9us!G4^k`A z0|-uNp9$2J$`Wj*#UZXil0THlNdbR!u(-MvnQ(uiB z_c9a6dT7hdB%CtoU~VHgF3?|*IBM68JL8|v`MYzm)ru{bQQ`%qkH@Q>2Ix$`i#l79v{9BJ!VTi)y>Nhn&LB}+ z7!SyHw2;g(9f!2R@v}YDlXu+$p>1f4)fpL{JB7sQRS~T?YvR1d%D5vI`pma_4W}OT zYx>vb++5t9b}BZxe(J#i@#1yYS*PV6^4OZX-ccqWH3ke`Sam3A>8taS_V+)+RKLi+ zIHk5LWp|-vVfop#o>3XDq&mCMlYysr?SIpT9P| z_I0_&VzQXU42&%H({J0m+phuvnqG{v1}wFdeQ5OPYC7&A7I+D~@k#4qAzrDy>MWK? zxh(Vi(8m$d)92|7ig{(x*(oMRywK^CsT`mo;cZWJ=H-x0{FKNevj2u!bCO zTMt8m7L~HI%4IHYjw_cD3aNsU)0--)){65dip4E5HBA20w9KkCNxa&7z53R+rJHm( zdT{Jai?c|M!No+reL}SyT&nDk=dJV9&of%YH1ec$N-JBsapCZNj}*Cvqk9x? z+F!#&65=(>y*O|yROSy`N-U|>y?tS--v};01fUnK3d))K6m=#S8_C^^3xi~qK z`DFH)_+EWA0pa4{4e_jFq~7w`|NCW7xc8iAW3!gCxVdX95Jb3c=4u=Ik_gvTYx}-p zOr|BvA#fqlq60Lq$2MNa_xT76IPW+f>rhjlSi*G84din7J^LA8fY&^d42SL>Z+#_I z_jYX{KQ&$2@0~}nzgT!#RYdd0D=A;m|M!=e_1As50|?z?lc4?pTM_hV`|vG!+Y#lo zD`M=P_wULyGUjKYF9~l~X;KlgymPI+PSb5AC%?K#s&r#m945e(1$n=~{vWjKV#YGQMX zLVAmOIaXZnx-p8WZBhwxw$JS6u6Kq+6bA9U!S9aj5TqdTTaykKd()o*#+u^2+3o&> z+MXz_BWt`+lv8tj$`;o%F|=C-~U)=WA}O(X>N2VO~lX zFMwlAre5{EdRSxihmZC7R4=xj>V5DU9m{h!54FtCMg6XeLFA*o@X{X!Z|Cmh1v6#u zW$+-1Etc7cw^zv*a(XxfJ4*0=qRb-NC(5l0S8SSOM+d3@>Zlc=G6xg7&-T(lwY19`B|cZ5PtEXt$Z1 z_UaEl%4Mii%h#IICdHAzW{r$ej`{rNZ1oWKRh*_sEENq~iR*Er%xy|iA%Iq2qx%He zE841}kXWdKj|a9AhR&Z(Tu!%_{3Fl#p8PP!kJdCc=G|XxP4JfR(S6FO;xv14WbjFF zG=F$AGUk0v#h1obUAsHAHfBM$eI$sok!RQ9h-05(RFvA=D8FwrCvbi!buG71?SKT% zx<5NGF_vW1=2DOLJHTad@m&#Xv1VfrR7cmGnqJ@Hkuo%?8`O54n3(v=`PH2ad_+Z= z^xs37iY}3n3YKm!qj&5`rD*2d`1@9K*B$r6EdX)dGp3vKrI1s6@}^TAX$5ddL>qR% z;Me=|1vyobk`}K0Hrq(>TJWmC<0TMUvTEiNt50pcR42# z_cQ8^_W1IXpA!0txG|j6=h11d=rJ!M?~`3+^O8r9bO)5v$UE;sw2v#R6_y6M221bc ze-4RP*m*PtU->2kvr{`>rKhrYFvj8qD3?f->2q9LfXzP zy}HWVd@dWI&i{zCQq72&TLv^vEk*3vrk>0m@W8V$OB0ylKkwUDY@sFyo$p<*sxu&+ zuE8;!LWvLZ|7OQ`&8*b_#kxb>mU``T5TDG1@c?@FFvf(pscC*{X1NB9N_g{`9dSdN z{M-RK7`+vp;kTjgbW`0QgSM(-$@@0JD}iqFXc<||1;NCbi5V#z3ma2rW@fflqahnc z3%ceE+pvBus~Hf1f7P^VnvvaH`*M-?yLMnCOlmeK6BMFa;!HLxW=)zi+-SjKr+xG5_L};1`VGqY|hrxKO6r z?`3Y!c)KjdSoY}aVoTv^&z&1Fy;!ImIpjt#m$FS?z1vCuX!TdjDelPwa}NK0dPMn& z5K8Dt0D9M#(5{P>qjCa2z4MLEb^)aC_5cF@?*j-HpajYxS-=AW=RqB)SSoi!aHTCq zQlcvveH=%tW&45vSF!4Q%n?B;^n;CLZdcbdYGIzWZ3Ai0dH8jap*UK_aN-cnpsnKy63$S8~l)M@m(nNEk0dUbj zmes)#rUC+ldw{yYl+8A{zkGg{)pR-4iqq`>D(8%;zi*^(!6fWg=jDeyTj54dl~ znrui|GB_d_;CCBO*74BFcgj~fNUJaZ-jk-%F$ne#diC!I@b6>Wo?D);5R#zEoJjRi zYQ=w?SA0{qq1^V|Zm#Z{n#DDe(hnY_z8g86j#c7Weo0L=^(OU|n89^gku0oa*2D>& z*BjKS2KVV&t~l7@ONI3Q>Dzs5IE+D6<^N%bYIOy@NA>j<*BV}k`sBh@0OQ4~y`4%j z5iz%&_!FeTZSR2Cf1FRr@Z|`kU{XgK4`Gvh>RPQ=Jab-p@YM)xPk!1Ply{ed8g;F zNxMwy^5!%}sMW8cdCshn7P;fwj++@lSvJ44qIAZ0W^&fX6fQVM^^ZL2R*ptxi*3qf z>;9Tn!*mPcd2Z>EmREI^PrjKm0bOq(u(q?$yoy(~wzgSUk@@2G`K`;19(@9Xtoe%M zRjs5fNToaIT*8Twq92RM;ao=&Q&sCMSwih>0}2LXYGABdiCO~4&w42 zXo*)sTs*l^f`^)=JOAC=2Qp&!D|)t>n3#OOGW&1t8`Uo<`8zs;4$hX(*7-r0&G8H^ zZEb8}5s@QS87}|!5X)W9Q!t}7qnM-2waHj;`ahhgoQ~M`67QP{L(rG<_#X-7T@zH`~J@4ex9@VzCL{$JY=IaOFEko-rZX! zySC;(#*|!g-4vdtzH1(+lEGS{@PGyyOkw?JHZobr=oxlK@EJ4IJo|Q*)VEIbY#h3f zV;}A2LST8Z1MC8utE!kES1)>ddUM>}wP_hCUi{HB=XmyO=WNyG6-QN7GG82T@f!9e zBQ98di2HDG$C`)C*S%E-;j@ASdz^W!AzA!(=vwgPF7R~%L3)_diN}%#&xYZP%&?1E z-W178^#emN<#y5ibI?(5Nm0=*pG^|$3FS4GXDd%S23oyx_>AY#qXfVpm0Gf91^;4y zzRYonGN`BN=PPIkADiX-^wH-eB4OP^GJv#h(l_);XY(YN=>F0<-vMZtG&ruJHYBkw;tg!K$77*;PJA3i9Hi_fiJ=iCsitk6GheU`_?-RK;EiJ|{tgeAB^Qb?cl0H0T8=%3n*O;{ zcYe81I!A-T_?!+HGd{xqo=7uy$yA3gednA7M+Rf&!je->=(7E`s;1@mIW!-*iKwZ% zKJ!3Jy6>$GypeJ3mYlV>tsdy1qo!6^kU<)+Z4zM4_n^+*jFglwaf5U0WZQ(%t*IZN z1tlfxvR%c~bx#vy%oz4Cf`OC z`7N5htsdqr!9XeB<~q_aImE>th=0%@8$pj6KbI^BHVIB^xzjUpm~=_gqr*kqw0KWA_NguCL|rBbg8?g{E-zm*}HjU(G2v|>DPPp&j+qz z7(CkLBx5m450cccy6^v{2=@v2?Y!>o{afv$vj~Vzd+@LCFSe%Y>Cb5DH*ILo)H`7p zUMqS%3z%C4NAa6?X|`_-3%Q-VHx@0d1=DQ~B%U#RXy_k?C!#bN-j5*ayiC@*kEPMg-6MP%N$Fj3Ws-w?CZCX*67rgnWFO+EKM?WRo|<%0`y z6!W><7inM4lw=x!j{G=|7jfl)4zf_;w_g{~{V<0_MMOmBJ64H!$O9djJB?>xJ5wDd zDdLqZ;C3eid+C)MZhx|1Ulhx_jMpM&qU024kffpq19_Vp34}bj&KF zQc&|WB;?7tk=yni$aAAb{)!1NB2z(IrF+d4V0PLJ4+dG*Q4fXK8kLv+cqFV$H%^RE zm$f%K{gBQ@iA?_HYYLO+!i?GFLz=CLqfV)`NNZ_Fzs9HGgSElYUtz1Ju&~A8gqqr8 z=heRV8$$cfmx=5T`YpX_!ZG%-==*F0tE&~ zFQJOsC<`XQu$CJ@z3$TW6`|&23o+;o7c_u~(=4K2LKCTFMQ`3y+qNohR6Y zKeQ2>e9X%IXd+plhroq$Wfqz(?gT3{7G*cTT4b#hwa)Oh1`Oj=T z6rk6$8wLf%#cQX`nMv}sn^(uHzIo3bm>_lSBImhn$TriNxP;Ozhr;3qqhH@EV%FSt zz5C@`F8^{y?`xjo=RX`BD4_eeGoG}q>?f6h55_jmHh&j?=00wtyKuB9VE$QgjiHCW zk-}Z4{m|D=og9;+K17j}r0?^7=!K8Vz$LCBdB4TPa8KbqLL`}^nq^a()D@gZB3xoR zEx8;eNN%DgdgUFIXG+%vs%1bx2_!U(eV6iT!)EUIfWtvDxs`9(M>1uM<7Ma zQrP9N0o==Px+468H!8C3SqfN-bgLZ5%ZnRYgkZ?@kqJ#+>%bAH+4!3Yl1Rx`GQTBO7;!Sfea!#iiMWx2D40y)uH>`N6Nh2}>7ckRyvY^0 zucywz(6vxQX?+&=3<<9kNK<#E!y+>?PN=i@I~7&cFBZ0M8TB3%w@}8+3s+%dd1YkH1Tse{x|R{J7X2iA^**%AgoI$m+CB#WUAqXW zZ~))&)QQZV)j4$#_Q<3We6P6ptTARmPHaD#9cY!gYvNv$hAh=RAJT@7bq8*^XY59& zgO0FT$4uN^&9v#XO?zsbSU7XKv~5%*)n1AYH{%i~?i<#nD1j?a%f#yS#F>MTsW_nT zD+0vSp!QM;e0fWn$g2R+LkjVBUs1q`J(Yzi3J3Cq5a93ZE5%c z=xczf>Brvp%3O^RBct4B*S+Vj-M6%xfa;Trydc=>Ye~jyQ?aEl@gJWQ*)PumXwMy! z^wuy7rPSxz1R6sMq#k#e^^!?EdluX5H1L1`v}AjX`O_;h5}O0zS;Fax8pw?8$PFj` z#mtiir~gPI5Epyxv-oijcZeg@m4~+xeHAS-b{b&>qJw;B8;LM!{i;BLlL@AXbkH_n zVB(rQoJ)%Np7MdP?i|r0LV#aftH*U0u{ek5xF#Vc$gBL4O#RL}C)9H{Qd32RAvcnH z#ZA)}W7oUuFpvt+N|!I>u|(XUwvadKRje}iUb7nC|1EgVHjCEs-714S|HNFEy8lY6 zOtipTYmE0%WZaI9!Fc0=+TuGGtA5b@T@HE(Sg`)Y0i|yN6LZHNIKSdA!EDN^hjb3^ zs<7B`n9XwjU4F|kdpvB`hz|<*OTwpU*~TQ$x`7gF5%?jtEObGk_HJtmt3co5ny@OqDrpNa4D(G zb0rY0o6cJt8qiROim;gZa{c;MWtzSU1jshCpkPf^H6g>N7`Xi1pnPEK)Ey~Y8xw`{ zmfKjYy?nUY-3alI$6uGbZgxY1dP$aeeE}-iFAn@yAOio@?gZDd;{MDYq5Z0j?G2G0 zr~Fkg`zdg#ZVluRY;E6HF%||CI-i(Z1A#vQb>6pBkPR4{Hk*+37-lxQjV#eyH z_GvF{>JD-bn2lOtbL?$|x6a+ZxUO)&SiuB(cD41{+rWc2HYtUt+`;#kKJ4?|qvb&K z$8Q-1Te>^T+RUZ1t(1o|6SH>H1ab^CXg=h&9RYybXLKdH!VSMrNFw1vROFSm9d2q% z#<%{#3&=v8kfisdH>4KD&pByURiZ} zFP}^4vAB)Hkyg*o$+olK=cSn4em)m^gro*TF;XC35Owa3#+p|W(X~60gC?+5m@@w`6A& z0LZKf4mkU7-GVpQreVtmQa~oOIGjfJ4}oIZ&JzCJdFi$Hbe)X>5*Au(zy?GK>j`i% zsIX*LjT%zcF(JtiA2nTukz0pHF^(>Ok{Teu8R`1UNg zN;K%{x~*bojRTRAqN0|IOVzx)fx&m@FM2tLpdO^p#a@L9cD`;z1If(HwE{)TX%RSt ztJm;>pJ!HWYiqQL6}Dq$`ndNNP->I>W%f<({--(0YUJ8W{T?*5^_VE~FVjl~I~I2D zG^0=L636Bj-C5KA)xL{PDcT>Ijs#OnIxjjuGyA7bAg#GC>xO_NHA21xq@@~7Q@CpL z+-t9wmLIr=hMdOU97|ls@~|f}tGKNQ{tJyUro)Q|1|U434hMjY1HNP1x8R9647~1( z-tI>0K90I;CF_AR@qqN^{AujE-8+@gRLEv6&yyQD$L0wUvDLSUHs?$E`0x@kWV#oJ zs7#^H_)5=P9)NOxpS{KPK*KyAUt9-)@V*6JEpMDtC3#p_{uuhr&qiot3-o#oZ!-_% zZ0C2l5I?(^^h+zFSt*}(r*`j9*828{0QRN-KVVlXL-roRWK{%UiMNe~1kpqdnj#?} z{6du78|GjnY^kKB^OHrmQ@_9_lqI=}tVVXce;V}Z_MtU7D2kZgd6{G$ePr0%ca~q@j1$g4qf&8A7@uVS zZrelq1Xr5f^DD!3Bi3sfF@vkrCZAWuWl)7rDV)-CeZ!Y22=V|IlL< zs7`PoWemD7##O91?47?i18K{nAPFk0k6UN1;n&k?u445uSg~4%)Uq>gTg&-B_SCkV zl?W<%-Crl5xMlH`>9B+N{zt41uLWqE-L>3Pcr4Y23dZg#Kk3b#;$-8z*z|a%K#Nh$ zO=Qn<2H!?1iEpo%<+vh*H@4@Qk8aab{%!cl=+Xh4(B8c)8OYmZ9nN?AxIg!ga>|cP zf3^Un@N_0#nF~g!VtJ)qeywE(H3}i^u1^L{c)w977G3V=Es57@|4vV{^%2-#c6rA_ zheX#dS`poU1}lgNRIM)j@hPxhp0gnM&4^D(4LtHs??Y?zz&s>0kRJ%%9Qkfo1l#LF&&ugq3%eyMgGG!VBu;jsKM`mbrwMSpXC0 z?|Fgm0pZFmTO^>cu~jLkW-7ZTgbhMg80HGzGlSE`)az)zWYupye9IR@jdldVG3i@D)gc`XdZ z!!d2zD`TO$$gf(p?Y{i@G3Z=HyOxTSlH>l!iQsTWgqv%aVmmnUcnzADn$jrm6#CC= z38mR&A}}*A=7sym+?o>$1fxbOm6perewE3%>bDw1m%Y394*IM0AZlt1S(#c!JH3a$d!(QgHpmV$C~5=pCdE<>&XPyzHozI)#dW>s4B&b z8gAeB_x+IVKGgRt@}}Hw3i4}%x$TU4E99>96w&@=evXExh+FRbZv*l_MC;MKgE&|3 zWnhoCzH1EUR)y&O*4C(y&kjSPJfRwPTMvmy%Qefz!@bqhvOX6(^^L(V*N9(^wjTFs zO#dXqD5Z;QemRe?Cb#Oph&S#AY9Py6Kr7Oz9X#BuE=a7mS3mTPczjm_uhQvyzZ?Bi zc7UZ8{V{Vn13GYNk}e+hq-dvyZzwu^V<4~Nky1~p8-p;TvBqqj!{qO%dx9Tyi6V%$ zr`p-#laf?!>Kt;@2bhT%TtqE+pg|#_mU$XEgA8nctj+Ja`Blt3w4M9~q`a4vH7LI% z9FG4Mqp=V7i&!|=8uP{By{b_65%O%?&B*w!fq%&|W`w!_r-Hi9E;fBA1Gv{>f{nSxf56{vKJvboL5$xg|4#cWEe3kekj=kby^3?rzKN? zz7^?|;|gAH46OW9YI@Z*G6s?=Xh^Fa+ZlJPx3lM2>{#LVN4J#cX?6yT#<&PhsKsI& z80m19h%C@cwHmXq?f3VZo}8^YP!subZz=L`!jto>N4n zeoI#TZ~8-?)wfKEv{L-v@z2*s7fzKAF`t<=%|dFWIEZf7$nAKNNctNB)94q zCO8M6Gum)R45bW20#v`$hWqJr@Nn)|R^WdG+JOM@7S+2#IEGkV>j?X-Rj+F4|GPpWdvg}=!|A)W@tFOGK*^h95?I2 zQV%2eS`^}SK+-m;v}2T-przFf~0uD;x}>b%D6vd{P3ru9eTNjr;G==@cTBp3oB zS@hzk(h^k;QjcCAt_8{BxJT0~LeRs}dpkdDx&`W*9;R+X97>m?OMUtaU{mHcBNRBRe?c%`=n$)V1F8mP6=svIkkvrxbp9SX3#7z;i>YAB z=inVcO!2d^1vO%h@XM}^hT+0b15d&D=mtHVTlrHP!w%qiNl$yPf7CY@W2wj1;6h4B z%J>z*p0+p;4LD)uhK9cAook)8@vlKIUN1n8&KkyR(IoLI&A20q17yGw&Ms4@%qZZt zDmIYnqM}0V@l^osn3~>3gKEc5b*Rs7LI?KIAppz8!89LsVG;cXycBfh>0n>qs=Kux zig=TpOb_$3mp;Q7vlTFeKpdiIfr>i|2M2lop*tQuzZl&oO==^=(e^}S1esxfq~@+6 zjcqgYm^qihW8py99Cg(l98f)%ySwGz|6(r35x%(0KEIEvL&TWjRSDf}n`K?~73SC8 z4n9-~h7G+Myb8uD8jM1>i<;LPM;Qa;#-c7Y>2?B$t^zcDiezYTE0P5hzY z%y2ehA_fSqHZ&C#gJY$K&LADBT5@t&M)i&X`2T9Ibjpm^Z$vUA)DypPlm(J0$@o{& zwhlo6VyGyFVUl!r-hA@(>ls|g_OtV*iKbY}EazzsBY^DW-CaW$nXzAfZNpq(F^5HoUc-Vf*AI{!|ycU7&qt5_I(N@r+=8(h6IB>O9M zG^8s!U+TNZlL5>@#VQ9Dr76L2W=KIYVsFJu|y`TlT*{e!SoOp|nHrOafxc-2CkjoZ$`dO}c)MT+gN+kwZ?0OJI z%i(B_ZlFBe&jxf`(q?g_s@(CNaFaUYI!RC#Zk{exq`kfker`n%ytpQkB_|hc9fG|{ zzL}DdF*u4Bi|$TFpE|I}La#d(KVIxTu+J}s^ah;l&DISTxwOTgA8dg%0b#k_itkDV z?5#|?nVA_9`Z22xO~tOdp-wfAc0`lzk--r|NkU)CFxAyr)$aZIt}DO!i3(~rmAozv zX7}9~Kv6WvvmV^4JJx(o*1DlZ;Lj+Wu367S81%V&;pVN`yM*vx4|0=zrmejr2Y`AeDy{v)v zJeI=Id59uq3YfPX1t>JLW402T8>;ft?zM-vx5Va%HguW0J?xfba=Y}vTG8+q{(!N) zl(LUD=DR?Z;Qo~sS-g_iE1j$j!DMf-kYdRA1!;#5mN zUdC}J_MP`${EK$}(TRNyjlLJ--X~{mWuI4gFCc#Y?O+oMcLBZoB%JqKmF+yPG(^D6 zG!+&n3oH5~amWw-A0P!H_9)r?d5es8S*xnf&hB-mj<&Y^Fh9StchinAi38sIx&J^Q ztTYPRNMPZ98I4hM;*Y<>oJoR1nC{8aa{hfXiK*yg-sGZZ-)R8sPG$#C)=stRLw}`E zQo<=176Eq_T@Se${VxDhUIOqT@&W2v=*EUm;q>%$VtP8W_vO6D_IC}4n%REZGovlO z1844pH^@>LxhlQLm)OaYU19PX(R04M1?nRO%uG7($?2)QXvM7iSw1HCLIkn@-C+dC zp&Af>r}r!p&lE`HPa(yMt?>j*z6cT6cR`;lp*9k;`vXc2z$oUYkC!=$g@I+Mf9;@a zQxM=nsJlJ*5bSwoL$38FooUWEv#}5H_!WsH#4)KW%B_!9rxa>Pby$7!Sf!8;6pc5x zu5G^YH#zb1XFNq>C=@E;alpuz!HnP{W49<+znDE-A}hS7hQ}D8uvI9GGh}&R0ifR1-^7ZeTJ)iqK!bO}~_Eh*CMsF{Z#d-| zTD+;+2q{QN)RI-L6g{-OQ-Y;U8q#~o{H#4lb`++*)JR^_(bDSEGcXL_>dy4Upkt2~ zN`ld1*9vXep?1am1TRtr^~d0;bXUOx184Z~@}@^(U!xeMtb70dt-f_hZV$qrukDUO zV-2yGgJ>_WhFNC6|IsG1)U*kx{L4#k-%um|>5y)dnI3#EeW%P_?3?c=;WJt!`EOkJ zQJL|@JC^(IWkrn~m%87cMn0*f!~xVVBeiz3bCrbk zJFiycNh?NV9pzy;kZ~U--i7}XmlovP{x)BaBGY$S<}Vv8;1iI&oO3l~0##IE*lC!; zqF@nZO*^z^pW|#YWTm^W^J9)HkV@vYbgzGL^WRVZJ0)7ddOf@MB;9j`urF67=_BA3 zLIw?q;1}dfhFoGNfq4C6N+-FV3IJK5H!B&U4(X3LIl~sbHkqP>KuA7%S(y^(#y2bg z9!IuT_o%5=eG2(>R@rWV0@rkafB*d;ngT5R-F9UM>l+)5`$$~GC`$_)h!IXJs{|dA zhl(+Ysn>MGL^lkd;V(V4z-MA+et96Vi9XZ8r%!k6+0r29IrrcKwK4Yn2R7v(DC?*y zn$nLxWl;keNvo))f+x??kRPPqi-M!DHxIj0ZxwFeuseO2*0~8Zr8hYOVd-{Iu2zhL z#wbI@gyjL&*2R_k{5`-`ppRTu3|n2nQQdxjiA~+Y7@)YmSxKjK-+X4_x_SNIG#)*g zEvz|nF=p{L_JtM08_`h85xKH`sS+Dhgm^oCCAu}RfLIl)Qc|dA2nyN)gl#B&943^k z4QhNIZN14S=AeL5q+o5_VM^#{5*xvc{(e6a-tmS982a33aA82NdMWA)2gldO?=~Ob zhn$}WA&8Y4I+EzXI;oJhi$T*OUH9g9-+PF!EpthhX`(;ov)4!dVxRA*i#gzeF}T4T zp5DajL>>)kh7*#k)%H*}EKv9sK(**v1NEWB4sZWen&E#&Z*jH<+C#YkLI&nJ4~g6E zTkfeJK2!42NqH;cQ*y{#_x-2y{)2D>`jkGs zyNSv=e?Jhp9W}K!qL>1hJlLD!7JB@3*db&fF-U~>(VqGGvA`(m655^p6SWAv?R3o?`$tcD^rZi+dd{B=w$R%F8?KF9Q8s}OB} z3Cg@#k4r5a`#)@bbzD>J!}msa2m(?gL`p(H8U`XINQi_W3ft@TTx2s z7^ReSOLuni!i<`=5$#)gM>2;&!jOGS%NJ4;@K_lZ*ZoV5S2R)lZ>0nI2= zaZHxZ={jW4U`+G5FK)1cb6d`~dKytXf$VvwBuFj`i`&O#&zo%v?vt$RLuqO*G_@jv7d1p(SL5DyU_YmYYBFub(9C?OQ6{sQ?&kPVab z2{xd*{(;-RyOu?VhEUDbdirD`I%{TU+f!O%4 z$CDO4s&s+3s2ytnx@epI-2xK&;3GxoC+~?!vK#Ioz~$EcJ@LbROQ)#V!j2C1`lM-U zD}kF}LsEyMf7#!gQ$eVV9POleLmj;fzkApdAlK57BIKqzcpPnbA^)vH;Orl5F&?xq zkl8F%y%#OuPu?{>Sw@ItTu@4DJWc81dpIKh zZMO3kqoy)%TeowJ6tK(xxdCptW;wVbd-nsv^s|^U+(%em56CcMsVUnA4)UKr?C)`a z9#Od0f_?Gg#a%jv_5`jN#!|ED z6d%WFhh+ZzDHaa&FDSwNZZMxn?9I>W^c+3A2WBu8>ybVlp8DZ0!^Q^U2BG)Pol0MQ z{^$^y%pFurlqsjQGvt`vERYK0@7{Ra>RO65$M;t}C}|ybxy6PWL37yt5F^%VF4n?%NfbNyuyyrg zOA@L!a_1MfiCJtT&=^;uGY>Q6NR-aEo{$qm^zp;j5nT+8ngy6H=ruU7? z5t%+~cRq;}y!YJw8$00K{3qeO9Dh9Hq)UW9k)~x}U_bQFA5E^K9b6(jIo9bx`j^q= z4A`sTHQvf`{Dmh03wTsQ9!E5=9dDrcH6=ek{{UzYQ_)pyrNtoYwHT0Vy5%?ig&zT7 zm?kn|fMlX)7(_KZ*Ii1Bd{q8kKx3-%Z@t;=pP$V9b|121uCzpt$atc@{P=NGjp^GHcV85-M zqDPT(>e!ja_+y+}svF6^>4p#C&GqviPDJv=%bpeV97MpJ&Lh>14`SyFE*SYHV>1|` zRAe{yRsTG}bBXleBjV7X3}gEF{8U;Yf19frfqF!B8syu80|pXLRHhv0lD5?Yy12mu zoPvU9j}2bajaB%@Mn@MQh?cDBswWq0hU{Dk{|ll8xYa!5G!0nFk3s}!{*!iD3K2Ha zIJ`~5ge89dQyQnEySV0J-jw$B<=6+hkFK{S1>dDtOkLk?!6K}}8BP}M0=j}#v`EYn zu`zzHN5Ztl`MEO|Zj1YNO$gl(Q7nva{`qnPu?_JjUYquacNdrYvD_9QIxy|^O83W; zHaKm@MYmA1PL#_Sk>REF`yNlvbc1Wl-%%Aa&^!%F(gq_2F#Kd$iI3I|N9wY7_ z>ACs(u@}SlJH0g>HtCjdH!!X0aV-us;+U&zI@DDVAlXiV`I=JROdv)wBlGESiK>SW z2hsD_dl8(S-|IUlAxO>s_K!kVT35e?pw=bze@9@nCFkT;=z@Wu?XU3P0vg4OUA{{2 zqzu3nYL7aXA<~gOM_gDJQSipolL*m)HYa13pVM%9FdiW*^L0bCLZ*t@l(n1McOkA+LhS{Am@AojL-Q=Ou+q5PV zS~Ze~|4ys_$QIlF0i@gQHlP=$(B7@BZy!-x+SqbkFCA@FCN7)R1en_0r3nbmB#rxwWtEV;aPIqmAzhW|g0PO@4PpH~h%hU1>p*n%#&0o$dAE zRy%jN8*s^e{IDNc=p>)14(J>`t*Rvai{>3Y_gJP{(I__q>i^2S*K2(=p|gij#XsP;vx3Qw-yGh|~K6sEL=DTWpMiDBFzyoH6;wgRPaQmF-I2h=o)HM_(b$-xS0zO_Gy1$)(G)z@7f{6Vbz5s^USxfuol1tXS=J? zjDhxtl^=pX-!27&>n|L)@??zMuSkl9UZRv;W>)3QfJ7iEmR3_VbP}00v+6t{pM#Wg z6yu_uQ6z+#s1}K1r}h|X%HXyR%UrkD&4-XkSLt`E6VN#d=iqkJtDocZ1+1W<(@)~L z2tzT(tLkd;p02J1`=N`Xs?YRl9rZE1he}p$vOdRw$OWR_dwNcueA@BB88-xoxSq5_lsYa zwy~g*=v^njCzgaaJ`Xs&U-diOQcoiEcYzK%$#)NQ|3T>E);m@d8-+Xh!cT-h^E|wl zO0q0{aTt@1pb_i6vK&6%_yL3W@uLA*vj~v;)mfm?l#b0~l>`Akj~qA<*;93q_NDId zL&j5t>I59pzpgT#)sDL^)Sk2rDO)3sfur-M1J;EGwW+eJFj}~v$J(!AEPY(TkAt=d zFhI_1fi@JKxcA9O)t<5@t;6ZSPkX-&56VVgc=(31>>!(3#&&$|MWV=cPfm>3Eb|9!y$|Jd{1)1H#SxGmNm>g zaY9)zoNzi4ZiJxu5cv*X-%@Ha>g!T*s#+$Gn4I@PHb9asUz-lW$LP6zT@slcj18RU zy<{1Q)}BxazdEx_lyd~%Ca)7;%(yp!?75U|z&PE#$yh5j!&V+c0wzA*5EDLMp{h_t z1P~QAjmt()w-h(tk!?#4{&HDtG*RlypCbzxA0X$84aC<3rZi)PZ8(9N# zFRO!Fl?uOe|0n1OuS0?A&W2~(W3po0L*w_!UdT7^ukqgdQZs+H^Uj{JWC-oEaQeETd;8agN#8P?Vu4VM%$ZAEv?*5R0dIUXXEOe3xgL!q z5zfgVa=-`FkrD>-C;rOw%hxcxm@qnaBc?_DRu*Gl!{d&14wk<06+x@OgQcn8lnp{d z$0#rM|y@9#GrQwY@C5I3C+YsjKi z0IhQmPYSnqZ7y=-jBr3Ma&34K-6_XcM)rab4-CZ|#y)Kx%#wk)e$By9woJG#w4N$EBlA%kt_*dm2MLNe$ zQZKNbUzs%;c92Sd6>fillLCXc?#+&)f&Ndo$65E zD{d^mE#B^_?d{MXj)elnAEE0i!?4NS=wm|E2yCtU&!5rf@E3%??GKYMM=Z90d!}*7 zB_EDJo?^gW9ERJBm)P8)^XfxFXTs&((|zD&>Ho1yz{C6c5iJTmkrKB}G7w%m+Y6Al zP1Efx=CuXEnU@pcQV^(t5?ZRD!w(2G+2xl4oC&%1W$SidpyA)S6@<`N{^UBc$X_h1 znN14*hkRDMMt~z2T}AL)<)J<%yc|FQ-pz zgaSPYi+fAV-?xod6%6alMy#f>Vaxlk559yMJRq2wKXCg@5018zq6iuGbAcQILLU~Ebb5a|#3YB}hpv|1GcscCI*=M_dF zUMst!n#PB{ai^*Q=`vpZ>!>_#P-F8rOw3(j?%L^@v$vQsps2KZeD~qyi~V}xtt%!N z{MD4rXJ~~M=%c8K-Syahu#C$;V*kW6a$)ChYYU&2K0@T%tNhXMlowWn%W81MiDm-r+*|cHO8+fr>M6?>#KGFv6LWtT%2;|>2knkSc+b@}*9`pZwexs6U zC_zrca1#j|h`}pD?3#1=U!TU->Qq8syvev+#)3T@q87%ck!N<1BzuIGOwx5v5*em=osn z3%Hnn@p=i&UoFTY{<-1X44m5(3&WeYFi=MM3J?V&9I6Uf(1#ynzao;+vPBYA%I&scrV0)m##iY>02blfFA)WvqL zQ>^~8_I62cP^oQ)d}P>+gKYX9m9T3`Co*X~cHf_Pe1cPpS5|h94ahL+>?_5_k2&c$ zIFLOYd%5Bjn6qZSWp_W%k{>3Zk|#h1{&EN}7GnKJ@cuOebfgT(-4C@+`ikMU-ohov zR9ib6V!+P)Tv7-?(}pX5o-M6Y# z#w`S}Su`UG7MueeDqTg2;fJM0{N27JG-_*WXU1r4o$dZOq&M%J?KU{v@$xL=jl8x- zKMf3&D8Lj)B3eKsWW+akz_}!(1_CC-D~1V;EO|h^5I%(geN*%R5>@{K*hI%}f58q_ zIVHfH@g9yFJhOZ%)xddQ@3nusDYMCey2y_oZ(%m(op}m&JLj)gg8VB$uCrO!>kz_p z%#p2^oNhIo1$Lvh^ZN?Vq5*$#Sv}JKT3VcgdUNFyHa6`GzDCIIS4^si-8 z=E+du!P8C!VYy5!3B{;#XQ;p^-HXQs)ADSZ+Lpjpd7td@B!oAu>KyQp=ti4?0K>%_c;07WYQQr#1VMN4cHmgpUJ(RR8bGFR4L=avrn4P6SaoWNUxEqX|MJiXA?S|^98F<$PE`Al=newdZ6UbCO-Tpebo;`6J zXq>0rl3fYQ<`xj>%Mti*ym1NpSrLvKOaq`m@5_`T6zRcW@O7j!@(TUAWOD89bgnfg zn;_o*!u8OW!mn--Y05vVR~o7{wRA`S3wq~(Jr2|U|09DZ7ksJz7Z_x4N0GK%{sH77DnGD?w^1ft#x15kKJF`B)U(`+ zU@XsXB<4`39zARDh&*-b=(VqOQgZTEf9wLTqAK?lM0}>(p@lFqK%db0#2IDJN~u3= zj@wM^{pMfj>nsbGZeRxQe&l3jqCm;_ZGFX(&8i7A8hY%%cw^ju@J3uf4s;cpE2EYF zqpEZO{7WWw!8JoovH)C=(3x;pw2>THHYAYMqyoKYjlBpJnusvl$7Q;i0|Ahe zW&UY45`;Xq@|rcA#9o}uzMN*HCP`12n>~C7Z|b{rw6cF}aIwY)1bt`+W`F-4Js!pV zi{M-9em5JX_JbG!qCh-zTtFeW*H+*IqSF1aLC@W2r~IWVi+o~^-P5C#4TVHD1y{eF z{Xn4bxN%MeYjq_TYdgsT(xw^`oI@tAhtO>rZF>-c5H!&-e`ZUx-p}RP&wA}W#)6s; z*!KL-CXXt{Ht4PjMhWP#zTaKOxU4G=3L3yP&)-q?qu2EyMQK z76#%6!-460d`F55h^8s2so~sJuu{Q$Oh64*)HRuIHm;)3pPpzv+r(D=^(il__Vo9B zCUdS|l8Yefx{o75b4v{o^5O)+a4>KI8XMCf$vu?ec;}tKWH`=FH4yzv}F7 zdzv_ps7)#VWezjZ-Arm4ng9z|l+~NWBRK%w^KVznPqV%gQlnngo^lI}8W6Xx0u6JsCKK6a!-(5pkPWt=?+fzRPVM*}o5o zg({2&Wn|^E=sr)=;gvG)_X?J5qKaz@EazRr5C&RQ-M<$3#fHVF6|+{m6-tp5KNpIP z^dkHmh}rMY86Py~lJqbLE5`FK;0tAz-RK;<)}dhJvog!aj-U40ttZR57PL3s&x`cu zY#RieZ=c^WqL6|oly|wgKbv1ug{f%J5&(hNZI+Nli@>m=%Uvn{INV?UxGlZe_c6^K zbz)a@+l)c6&^y{^{%7h;;5*>Q}Ht1 zuLeOd-ia)xU@|F^9DJ1>{$;QN&$YF(jr9PN5Y!0-wEFDn2}CW@9i#&eC)AqFyH%j7 z9ms$g+G@$XbYVGP3>3J~y%<_|%U^r_>47DIGN3Ei`9oK4=_2z~TUJTKwdW5cB#z|O zN2&Wo+iZ!ggL5E5*@ZB&ID8RB@h+kl?4nkxj5CX3Cr%r{RdQMaC(xEFsjV8STqRZO z1PaxJJB$y$1g*#1gW?Jta3%bRjK`M1PXE;6K3u@-ZkZ&^hc>qr{G{9lIWKnhRtF%b z>U3kI_4lO6La!#3JZq?27duB&1bn7OCni+0CK=SVW#hC;48G@vv-+y-xI`V-_6s!| zBq=B;AYOL6dw2}>w+FZj!#OfadJ1yuU+ONp{7te@Z)#x%2vRG={W#)EMHP^UlBbtB z@Nt36qisWM)WDNV$seN?blhYW<0=gO;lkH32MxAFEZ`_?bn2B5I)mGBJ>g>?Jpp++ z_iOg|jXIuCp0m;};Uxx;HG4h038Ftn!_q+YW{gn6>5UAR78~j~S>E`kvtWStO6@%h zN$>K56MlaFFHKDuuM6mi?!1xyq5KPRd^xIP`#(@uM9T&r`99-np^ zfnm=iO8j1PQ*m|R={PQsx%lr)J}_-pI9}_cLA~GZ&)W)Pm44wEFaY=8(sN%ABVXEA zQjHlT6>40l)C|LrqmSn;O@Tr#t7m)UBjjlNVmJewp^?!}M)T{?I^RJmh|R<6+r33^ zvy#T< z6h3$FbssH0c_@n;1(%c3PThg_4h1cKZq59g0EZOBe0w``f6i}{A9kI4aHiXueK25T zs4da#mp8f0us(KP-;1=L5JYVbz_sAstGD^eimBEmp&;)Co@?$c&Q+;8-!Sl@!y1^o zwhm@+hc)zD+?`5J^3o;aVYtV>t1*xMc;+aUGgkJ|@t$`_9;$P05Ltz>xUP_%OB-2t zAHgPm+u8nljoa`{@7GV!KMj))Z4UB%duA6Nl(w^h=`7wz3=R#kM?o{UiI9j<#_&G*rko7J7<7YHG&WHxt(wA;p4+neb?LlOPca|ZN1ExVr$JRsZAt@9A{vcxz z(ZdXBk0(1WJGYP3QSDRahtK{pW-s#{;PAsGbUeR3cXWRXwrstPAKH2yCOZLY| zfWW5bhKAgbV}FwsRXYX7)3dW4+;=Ag=MwK|X1>v^GMjgiq*c9J(T%Y~bFTEdHcJ@U z`8~oe;EJn#7ic<-O@{D!JNp`A9lvLY@p>Gkj==*=gGZN~3aYCO7V$Q6ux+Hu?{I6) zdZ6c5?F*~w-%ZHegBM?Tv>nO2$VyUaeVbrIM;m-?V0V!^5t5@Euns(B0CB;O`fXjb zNCO`(?ChmlF1KaNK9bJ>Q!H+*5WKigu(BmhT+$Oq7T@Ci7%q*+yRP7uOtb8QN0dxpVGkdZ=bk**vVGzF;2qry z`!{boJi?B=_ShtU!)U!7>O^gx8LCPIl>Ue#@wyj52Rf6)L})h}F$cr^ueC@Q(m<4W z&u|vI#!mf7WiU%U$x4J(6KB8E>yZHiBq}Bbv0ym4h7jABzEnIH2(M_ka z^>Ko9!Bn)C04lvUDxzT4MSfX@msx`fIrU-1Wg}QOwJdL-Xc^IlM#pOF*i=llx23eK z-Ailo_0IIZlw=NVlV_KD7Ls@2mQ!u8?MioDzz=HNm_}_WkOwrezaJM!f5NSukvsL{ z_0U9(X>R_B!V`6^!uoN($a!{_y#>qF@Xf)thRr`yKYGTh@rH+oi+^YwJ%R)zX2LN( zFSNcN{t+EWZNY5@k`Ck77Z&A)OaAN+&JgLom~&s57d-qzP7wu-vVUPUmO2V|^`%3f zuEK|pR^39=3qDZy+NN>Jl~VLGYGHTWL0v_&4PK;0!~x63I0GH)F!07ZlL_BVIHoc5 zQ8-ai`$bK4_0XXk8iWiuHETP;88a>>RG4Aur}#DtmO)14diHd2m6PG$b6x7u#x9tnvEX^>@lr^o90BcJl9 z5*-SMRyUxLh@XU0Ua8(=S{$`l=k^NucGvg=xi)Q{d(yRVYC47Cp|@@dJ<0HSe|kki z#4!Q$6R9eKB6jv!=GO%DhB4JgOqGvbckPitn3x?Lu7fJR!U>qc46Dz-un9wlv&k}K zA{S5g>G!x~z+K#uV9>?S4>;y7DJ!j;Dr)q#z)&!0ICG>^EW?bR3m5icf7-oBj2#;~ z+shrbi=ew!BOGoI8+}oZ$&v|t?#yF-M2_T(m9cgBTIAzKZ)=Phs|P`fo(>!hv}8*R zwMt9=iXv*g1AI!p3g&~#A#`f!1U zAU%Pgn(olhJyr+Y7_YfNla(Q$XO<2AEo60+5Wm4z;Que;BlU#kz@Y4@g6v5;a z#`F%(2_j2fH9~QotoKvQrRpTMI!~UO?(Go2zb{!Qype8Zf zXOSCrDd^40_-RbYCLu8q5~L5b37Tzqoso$6nfi1N_y} z6&a&TD-p3Q0+~UqwC}{>nS&>MYw_ zbayGmQaUaL7-Cd}FvU>Xkz8LlQaT$gjp?ZiZy?-vJP{TR$c|`)s@+d9K=aB0_6nhz z%uW#3Jg1H7nvsWZ-VVm4WB<5u67iMv>d;ygM1*(KGHDq z4UB6C`cv&EJ}ni{uOu0oxl9wcn8_W{yUqk&?dIbX3a1O!ay&c6-CINcT>v@brJfrP zL!+PsTVO!6{`L;MfNYZg7!pQ>Se*E~SM19Boa7oz|i4STodc0@e zdleNPRsQ!vL}di*tV$6103`hKEDEY5HJ=2NHp#3tb54S64z~&OlcrWu{r=rKSV5!u z@Bs!PXWGG~DICF!0Z_aMcKlh&Pw(u1nj1XL3v=SW231m}0_llZ{ofYJ9)R#E^~?Mr`{k zy;(G2Za=Wp%bFk+F1K~rfA)E(mtFB#r!;d9RSZp#K(L%6lg){nY zKvW3Of6k(?Ro~#AIC1iRG0{JCwxPl^DL_s_7K>HY`S{zWeZFW!{^7| z0`g#8Q}4=a%jeKC`Az~Gv8XJ8z^67WlEI>;_4j3DZ{e*kxGVf2arWrLEn-Gg;GCXt zcoi{8k$w~1v+G|3y zk(NW)-cuf2|1$Gvqa4?H(?7!du$=MJ_mnI{_4WWkb&=nfyFvU=?ITw+@2^Yxu8gRf zkQ}%u89LSp9gFWTW=--`@II{oW{GT@sKYj7NtNl9)N2W5wju)XQm9g``mW=WQF==0 zwiJ=A*yY%QPc2zg|0!PCr^q7Z&FGS%cpgs+3G-e~jZ}3GocrKpsvSEsXhAa9M1fx$0)XjK-p1H) zH`n)fxj}CyrMow7KYdViCvV`8n)$Dsdl@TiQDc_H-lP9rR)wFMcvH5fTSSNc-nNEl zK_l-NHgZAf+ViOWg^>XM4w1jpMZ$F+W<<#M=YZpVg|tBPpGW53x-9(JNxYM=MTsiYzn1T1-+kVcB=Z zuy=v?1@H@!|MOpEd#!LzP<0d(m>*PeS{_<|dO;zCREU)8-{y@Jc#AkzaC%#Hc>cUT zsYN3-lTNia`On=Q$EHNzV;k$c!%bcS+&gl8Wr<*>BQVp-kRF{Z6Z4%4gE%_g4- zg*-cjKP|;0N*q6b!C(&RERYt|Y5fiB>w~-1yf@R4hxJjW$u8nKFKR!HD5{+#ezo8I z1VK9Y?d5R_NyWK4SBnTpJwk~S{$_j2qXe(^AUL>nCQ}o@pp<|&=#0f=Y~d)_BeBDu z$LU4(IKB$Ght69o&>{OZthTo42;$B;9_0kzpE+ut;jTK_Oqc9T2b~49-uZOQ*E&R> z|2ZcST#2u>ajfRm(j08Fiqr*15t#Y8#qu~?;`hi7;i?IN_TfK)Xcs`4Do3h>-D{U3 zR1m?So#fPx14p$xGY^x_o4uMvcJ>pH=UC0#^A|aK1jNYJxw(CRlYZ*AI*jlgm*)99 z9Na zeC+`Ubzn-Z|AAcsK~ z@ZK+{J?{g%24wJ%J`-FDC!3~zn-o9Xb-7q=E;uE`%^l-cSAV!X1zeBLzX^^N>OB0| zZY}#=^AvcP6;8Kb+bSByOA=iB_7Rxa{j6%?F7z;MEtH2EC$WWN5j|gX;?lKym7kCv z6r53>8DEDTcNjF2c|9eTr5PXy7kH~3rntKatr#|8a3~lW$4S`B`c)_oC*Q=%oE=%$ z+CO?dlUWMiFf8@nc2)!8HQvRbjNWVD$f8T!gOt8kUCB9~^q*y< zHyzpsrRM?3L)X(6RI)+28v3s+6)2vo;JVQd)52()KFeu06STh_2(mahT}%hvd}G4e z#6^`VS>Luy%nzCN4gN(rt6rUkNc)%A`HJ-x;R}?rR*TUD_Rj}%)XR5+$Ryy6CTcM? zlWyh={sEFVA`F>EDk`$A*@4|4mz;i4!qwx}I*q|~O)RG06^K^NbMW3v+qXeEFB?W= zAhNV}o6tif%_DYwFg4?d2jA*?>)Je-w?^miGgQf zUqboHXpJR7oF0}@cqT~XMSpK$zPet>@k1c&+csIFhme(iP~StvkPu{6h{A8Y40EVo z4i?RgGo#qa>90&xhuY1{T(>Q1fx;emziLnFo&}$*s|U4B>o*_x?|eDP`Yx-3gHG5e z`|S3|>lWFS^JT8)^dANYs`HYq#LpWwu^%>%T*5oGI27mwvR5AhhDU`^vG7H-8=A|eG^92d8EY4IcEnA zI)Q9)%)(VHAuCPih4h^x904~1Rgv^vj1FebK!QlJ$^gg6In;5yk^`7%0>G#b!C_CGt56vi=cV0vWWOs71>rjCCNTJ~zO?+=U=5&__ z?AjmB1p7HELrN*f)fQO(@fzqx_FY+z;_$-af8a#T15l9v`c| zxhx4%1D!p{F*})-YdUfo6M$P!1fv?01uP115eC(_-h-S2|D;QeXw0I)Yzd3DcM)*P z1JR4~gm&v!f-xZB#3Q>j&%la3;*-LkoHn-FnzXyfE#-J(b&j0@q08rbQ1kY=%B2-wh~i3SnO5o+F$lx&_my{L@3t#`hsZYp-h$jDQV%=gsS$Xg(+8p}H|e~; z*P9ud$KmRwZfJNX^>SGVXFSOK{wB0WLOBF2l>sJaKM9QSd3otkiWP`qfO9cN;DL;{ z;T=RErk7E|onn$zhn;5k-*KAKpYs}LMNqFb{rC;LWC{#3rt@ik;IwtjSQBDlRH01Z z*PD*`OU3yH9Nf3eP|MV=d$6DM8;16?zJM@Uy}JB~7v8YP+xU3MB8OI7F8E$J{z#E8 z!Tl(B7Z5WQzjrlHQ>1J$*u!LlF|ps`@m8V3x4t*h+I}haP{8aZjCo7@YT#wzZR(&z zUa24UAIfZd%2c*DBgKSy4ZLOAfG&WC}n>QR^sPX4vf zf60#T7TSP8MCpDM(o0Rmx(q1&ImHGOi#`SPH!bmMEk?sw$EOeIe#5hcg4W)uH35(I z75m%+I{g;Z?kZ5C0g8i%TrgIo2EVybtZ}}6WIoZ*!nONC^uRsit6x&Jyw;ryJ6xoU<%j>TC8<-_qRTBHx=Jg=<_JoeV1FeA3 zC;ldo87-d_+u>>SNyUKziK!1w09*GMufEP5pA?nAV$#&{$;TO0#^>s2F;AN*aaWvnE*finr&Fc>TT+MDtYc3kaKrR-Y$1U5b( z`X_sP=jvV@FslQxiG$Lh9y?EBV&dnfrUL!#RErEcf@-+Wt0cKP%gfKdH8`0(#s=;y zp~h`qkJMn?pUI!$eUd37!JVOb5L`S`KNej|Dk&7nmoADSyC#@r^9dfP#CKMGmKpc! z3qA{ThhBGgVf5^*yO?-b57S?}2d5+B6KBKkcD@{Guq<`{NvRqo#+`o%AdA2P?N3WUEtY8$ z$$o-v7(v-A-0`N%6qu1o&@EgtU-Z_Mw>KP@xa7)v!Wb{`@8B*Gg5L@0c!d}g_M@OgjaPa;FT zHAc*rpC|EbUslt`c=}8KeAcZi)XTLRdV;nBCx)oClHVy+Q6)*sr0k^@c>^{<2_2~y2q~ZR zY<}CLD45JfZJS{q$m!Dk25e~k3Th_ti1-t%D1h}o)keeKKF#gC72bv+@1stn)p=Eb z6-vEFj7IWwyUT4rbJ;(P^G89Ceq{v3RdaybH?bqc$Dx{~8}oZ?E%X?d;gde7KMxsi zjb}r!s4_o9VDHMXU@*%oiF7$~9C_5-fD123!v$q?MHw6*8=y|?y>i&o?lMZ`WWFp$ow`0uI5 zr|V6x$IX_DkUw~-X@gI-u^ZY;f#2&vte+o_xG!_dt2fVM1koPj%#rfgh-23c(@o_@ zw?K;9yRwgIlyG>tB@vm&q=nN1DPr$BlAV;C`=|{ zX(O5vI{Zy$rT;Ts>e3HxT_20OlRd|5y|Ttf6%s=E)7rE>m#%mD-p$G6_kr%7wzQOm zqJ{#V@$<9sC&?GT&Hq^y`DJZZNi5(Ep8y{zHPT1C{KK5I`*Sz6lXjZT&^m-MO(mR= z&v6U8{{6vo@4%v!{JE{ly&!ugChI5o(Y2WVm_bHnc+HX`-mK6Ki0L7-(e%QTC$5U z1_j%S&}kJlk}8j4`)oFwqqkR58h`gbHl)er(K&8M{3(e8Mr{mY2uupy~NX$vm%OB-JO%}pUQmKq(DH-dISf` z$mM~uYKX4ktNVRs;wB@l3Oq*o>%F#)uM)dbUQo)bb>ES4ZPtt-%O&LdX+o&ZLhPM? zK@w_JIC%LIpE{k!o#=sUi44Gs4tJG66*4s_v_DNs0>F7{#8`NzvR(fni;HXmJWTj4bS zfUdHp;QE3lJ7Z}sclY6O>qxtWIel7Dxr{UB{t18SXSt&!yotu3!tp1O{trC7;$d+T zX!(GI!XyeAa4K%J4bAY(gtnapcr*>BdHf0Y{jncRui*8}6ZDniwALZ^ntsejLidq2 z(WPJv!~i?#7P|5V)9@9`En5ulr=K6C+Oj{&35hT~9Yi|ggpELt7*&7`S7+0i)2EsM z!e76sLdC*Ao_|QC?uFK<0pow0brdNA^L-O+do&s-cOsMy%#xI~xmfBVFhN+zvy+g! z$Mer3KSJdiFqW}8j&?zkYX-u5S5pICBm04eF(bq*#AVoRhJamup&|W`HTMCWiX;SG zVVKz&AkgPAYV>{gR+?(FxH{(ZG5*2;RVQ~^Q4!CCpfmmT{lMy@kDX8MBv#ttYd-95 zWKTQ0Z^Rbkb>cZPgCgjzv>A#B=(PK2g*QE{XA9p41xRCMd84t(0((fpi$Owp84@WD zKi@B60%>hO^uE;Ae%dpxLu?7@4_7KcIKJpS566qVaz-ABW*CE$)JN)Wkz}T;>3-DX zX|8+OpW-v3XRD?B{la8hC=s9#Y~ESEJ-b^!IHanV^5@n%$Hd%@XQ(}8*Fg1Ci4mEP z+#*6xD&W9;Z3imvp))+Olym;&CeWV{jLq$qQxkz(o2t(7d~J=Pk1TBAX5Y2-HNr^?sV zX^o8=1AZ|>xg9(`L?qeB^g7LzWgthjb)IyB@iYib3%T|9!87|jA+Ah$DGw2JKusd& zNYMzUw)-Th{c5AgX)mV}Sxi2!M=5t#*7s*e^D`4JzQ2~YqkmTXOeZi9V7u=(+~|lD zw-Rqb%}YFpe@Bis*@P$LV*@6FF{1aRzQe^p@>q>?x=`kA)OpGYe35Y+Th0%DHS4oe z(TomJhQ&LD9GW^W-?F%-#y8K7W!0MxJehHNh~=TM@>!FK9g4CNLh1LduO2h3bn5g| z6=M&I%${6U#es1T%)RIRTsf4144E(_ML;&rCH27>`6r6N=fQ+ZXAY8%L*xf%@CzWF zpLF(YTV(OQ?L#7G)8v#d{5};IOqpD58c;jO{Btz!MyZ?f31@fR(UYjWu0K}wRo^}Y z(lYSvEejv4N6tbJ?d$?;*jz&hn!1;=tS&-}K54N1_Snftq1K12tZ>(5Y`#65i59>8hW9O>HD$CWy2u&)>ew_ zD-d=KottzY;YtQl>9lWRqmThTaYilr&kSQVW{3L~Sa(j*@9@iR8B2k9uD9BP=?@}O zb@(D8vbWmTi9$DsXuBAF30e1+P*V!gYk>UWV7BD(Ht4erPI(*b%Fi7aMTljyP zI_tQm!oU4*Od6RWrKAGV4H5!Fx?7M2K|zoPX$At)Vi3|@A|OafI6^vg2uOEJY$G-o zzv=h;JiljuZfED5`##%w-RE;%*ZXratdo9ptmmCBYkj()8-K4G>9_N-oVL1I!sbKx zJpA3>*q&Z`vm05zm%Iu%Gjs0)!P1m3XMaYlyabHozj#SQB~n-PZkX~>8R|_A(>Q`? zEAu4k4Jb$f>iBXeihB$>@v{bqIJN9U$>0I?lz_T57bmMT5{so6;DD-PCx)v+Ih1Pk zk^KC_2*{937UK0fExZHM#Ry8+tUZk|5A0g z7ten(s6kxbv6ojN7<9hd3eIfeViN)SryiAx!lP%g?*jJvawo-W>WR%Eu^%;IKLYnt6N!P8A z_Q2ZT3>!PdXQB4pX`8U!CA3uFjo{KN7*MNdXY_>5a{a|7gRiKmd-NeBz)+ahZyi}U zlfjumsd$J*kllPuWozp!g~Rz>t<_7Z*fpv>o0}c_+aXbnY=|Tqg=hQl->P#KUdA7Q zXK02ylU=hVQ%uVn38i|KTJr6PqrJZWFs}A+w@A!hu%hkcnu*GpX0RVyGv<%kK$K3C z+>`t+6-rYf9tFX?J9#2(XyDE6NtfH{s1{>n==GnJ*WHS=JJ2w0pzUhe{Tuo*l6%CF zKlyj9>`}*v_BV)=fk2yGH;f!^n+;0@))18WU(k z!{A4__<+fr$ftVm1lf*dm-)nC04mr+eLYOrE+-syBjn@2%L_>K<7NglR7O{3>$Cw*gaN3GLVh9kadBxZ34n zLQA4v*x|4hhVvm6DQ85B}$So}K|*lBR42J@o_ZdQ92jn5Yf4B-`jeFZ-DVd&0ke7hg(Kb1_4uyLP2D-Td4 zy*3aBNb91VCKS#gzBtRpBLz_#~(>KBtE zMtY-M^zbYhT!5#BgqNOf>rS$W5>Ec@55iqE8^IitP= z#8!nnqFBhT>k-}S={x?MF0OVUgLf@TYikVr&8jo?b{_MMp1DV)r3{Tzuye3uFkGuy&vzn~*u8siF4@>{wk*CQ~TpKvb zkTs<9hT-AS_cwGOr4h@y_TgG!MY)Ah6msQvQCn={w6%i=l7nb6T8#g5_O`tF`xtm5 zEr5V4hnS*|UN$%k>>_8lTX6BEip8F~u<-LWRH+4HI z49nwdYKWFb7mS@sR0aA(MK`JXQ%&+)9xXoe(7hequy8MihkU0OIr`}=4C;6g$b4l^ z8%9ApV+a1jD=!%u*1vMV8}jO9?36~ec%4nFp{y5CC?mpvh%4&kg8#k6#o)D40G}FK z$<+bV!CSB5ZJFG7!cV{de6;clvgw8^{C06hh@4yh>ga%51_l-=whedQLCO!)a@Jm! zd3API7(sQL@IM!$?9ui-T|Pm-f2oC)^}>$2fg@=tWyrU!gsK1$bHS+8=xFJUL#uhd z=4(mG$$KiQFWM>?XUJR34DC4#3{T2mG}f3441boA$tbwFdGY4b(!Nb4j2F#u;(13G zG5dPyZsyFiv3-EFQXqn-nVcM+UBIDxd{mKV*AcL>$gjj2vcm2AxV04?p7E{DoGG13Sy^=Rlan$@%GNN8ot7 z{Tcc|fS{GTQb04Cj8DZtvC{-Yu`Aya(`eEf=bllPlRrBp+6t7$)ATO_IHJ^shb4mr z!N#ZM`gz(!l;3MvwuKMZ2Du?V@E==ucp=_kWyBYI^Qq9&^`mbiA)*n1-LPDF+ z(FaxpO&p|U9~y-0uBHGCx$0*N;=Q~)8{27tDAc#~f~>a=)c~a~@p44ZWJnKUHExP^ z3`hie0KAlE%*bugcX;kt=j}M#&VJ^VoW}wL=eKGsOamWekjfI2<`m!>WQsQV&oe=i z_gmD+&r=q#oSu=Zp);^r4B<~9Mak+7_}-`k?5zD$tY))LsC z1LRJh?at442-n5Oky+)#Zw4!~s%(?gTN`%St3JkD@&cwM_b4Yo&um%J#a{5atm^KB z#!2D|CaA;03(|=)|5+t8?2J%xyiP!B;>6ZmnK$I{xUgYtrg~&qevh_UrIsHadSeC7ry>U(dsll z8@(KVJQ^?wDkCiXIZuSikL!k@LeY>vU-%5%B8o~(T2%qcX*f;?O!Ky6QDD6BPD81d z#*k$yqET}FAhemp`@Pg;Q{+beix{UG4GhjZQjHm35B(Fy6vr5n8X)x=FOs`b0_STg zOn$aYz|6o*2)PnW`-H?_X2W9B2)(wejDgdpR(sNaMIjeKdlKx`Ey8S{LlGxoEepY+ z8|@SN1W>@4nc?O8%0WGn4rQ)>^@X#KotiT zo&M`sVw96118^9cy5Br&4uZp1A`SEUI0ixNN?z0(w2_Dt(DZh(nB*F7g0^nS`^|@F zHUw}ml!@d#vd}QpkiXC&@*Iy+4}8Ge+}vXFF!;Rz4n(?xs4ng6R3Wuand^YxG*^y6 z10R>m@;GFW!kA9Z&(Fh7z7O^%c-(#V8dUo+_8X5c7O^vvh?6o^R_9T_E=U{)o`?(n z86Yj^((@UV^@jx&!G`EHYRK$EsM(tLJNF#S038bcI{ zyK96Q04`{haf)hmTYn zDYEn!Ay;pTw<5n0|4Ow`$EE{Vk7wi^2VHIL*OQi(mS%;Pu**M6sq(Y+OFTgx z&wic1oZYz#<;TASUGDJ74qc=^!4bAvmD5*1gjVL<_3|JK0i@4lz|&hrAM@1V1>O;M z%J#U_W3x!7jKOWEZGD|4`cP@~Mdzj68fg}z?TH)b6hchN!*~38$m-VC@2qV0m6{po zeUnt!a6mISLt4NrlM206%td8JZQfYgey_ z;T1IazPXKnHwfJzVjbacZYlP2k4oq%ZORiIcu9?qMozQRs4x?``_s~aeTLFUj^r9r zJ%^v-v?G*%ozB4;UwaJS79;R2AtA6L$2}I!h9?iA+FI9Sd2?J}yoJc{&g{1@V|A<0 z#R-teeU3DBt~qML;fj50HaIkzdQ~k=$*@vtx#b5zEsNtgLr{;XO=?tY=%omWu`nt! z*WNTAdaZVqgXhkD_|u2FH`)+8CxRDRD@ZJ47iwWxS-ygHaJtgGZUJKa>=O0&?;LzQ zyA0u@f;AqqW+=N%3lcKKQP7Cpm4egBf&w*}@&`>sqvwa}>V_$(_MD3^zB?Ke`v>*@ zRl-gIdY7R%kh-9x;Z_wp$^FmvD-!MPBJn;4|nOM2Feor~HJXZ)nJDho(Z-AHZM4c1{8M|PmsTNo@ zDXHnVOjZ{$a4NRt&HIk$Q3r0oT@zsOqb+gPbK&c((S-SYqvT9sxF@X~h;5ZBjUr13 z8o1KhnDK#>2IsJX0bh7rV`H85dTlcwS&LW0WU)!+Y1Q~6TUz^Z)+A@v9)-V7deJI+ zib6u8>l{s?(K92?IWsY1pgyXACOf99Vl1|0%rBYt;_p}3Ve0w-KB(kU37<|bJ$-f7 zjLcab%iC4O#rG$;AAjp*VtWN>YRZ8SD7a~y|18%z-{!_X|Cyayzs^w$1MXKo8yh@}Uv`m(}1UiovQCtlfTQ+jF}-KplXk?`rS* zpXTk!i9B^JO>yDX!c2X0s~X&niOC+H<~cozQ{s}{CsRwFkp}lOR6l0J)wzfHv*H84 z0Upvhg7An}f!bX;;8GWzMTiTSTLCbn z&7gd@PM14n&-JhDHH#oMM%*J2A({%QbAQ};;WWeQ$2?TD(Vu+Zr@Txi9i29HyES}z z)naH-!0D|pW|uSLUhve-=Ki#Us7lo2OF9I9->1;~xMx0UFEcIvKEGx*c?0P@P;Lq|0h=~3Ekf!ytv`MzRBmlmmT3ks5b}Z%uX3b%PCX&z1O!*Yj zcV1}%K7J+jS+HL4a2M)w@5COn3pUHO1QurcpuU_Rea;dM+Pv?fqL|A~kDuX8@X@4= zcVXLfG#o0jED&1r!aE#bTY?`FYV#wSpo8R(>Sd>Gtq)e-Ai&{7+|c+++5_By75>IK z;+u&)+Z&VdwQ59KCNGUJS$45lR z#EcG*jnpTebAk-QxjF-J6oa4!d_rh{wS~P$CY0Vj=b9wx9<{UxjZ?5*;O9|H+16VQ zXrAQJWodhK#+?T#%;Gx=TkFpfkWfnekR-HMEtU<_D!l1RZ!c$Ec@(^Mh})3Y=An;w z4l`bf-w1|?VX9ti1{mn)s~>y%d%8%Eg1UjGmF$x(Sq^gEMzpR-j*AapygLLQOn_>w zm0J*;5x&EFRss8~COOS6z&P?hl#>h*^=_$ENCyvG3@6TEue9a7m( zmCDjbGo*=T^A#%`>()vj|5YDLXruTYaXA)T-2@b+g*@Y0q4Hf`dVo$RQ{?qbbo(x- zhS2p%W}Y3@dzr@*gnZmrXUrP1xA&ATu7%Bzy4~(3JMYj|xO+wx8%P zMF3aVn06T9sj?MQ!=trK5k9&;+L7nPLNjqKVshiRU$NzA-`WtdUQly@qeRA!i)n58 z@Ek|fKpGW}uQQ4eMNKLd&)CQ-N_|kX$e((j&KB481r9Ge`X<~bJ>g&rpS$V*qQRqBM zdK^_ROyJ&I;U~{p$RWYA1U-onhh!bZbB6ZD zzP^j;&fs2jy8J$`k$edjBMg)j_{2l;i~V;BF!A@JSU}x-ss)bwrM1{8IB*q~5fX`B zk7x38qER8@Uln;zN;f#?G6qM0-P9Dv%5OhZWz+ZDUsdL0=kN{`k&#z5C*hAh8Q7`J zRhubi6nO;Wo5VA8ZAp!p;ZA4(lTJmA0%Eev?bVcTEMQ&6OTy=8o@dj{ECS$!lLId% zgki2kU$t&`rm$@TpelX3ZE;`eS!60td}#ZGtpt?!NCRxb_;Js7n`o6c1yQ;Z4uDzo}Kq_;{yW56kwM%B% zZ;0y8*eB(E#rp%OZq}O;qkLn~FPCrONi2q$pt#>r%;RC0iybEx?+P;@~BeQMhF49ro+j zS}$Ru+d?)eG-)_oULPlDmX|P^ZBf7(tMVhviS@ z<|LDLb4j(9NpKwTwzMzf=G#`ykfTa@lEHQw(x~eSG+iW{4CY<#?`4V?7bSO<*Gg! zoSa1eR12MkO3P#ev{q@w7QzZw*TcO%+<%l|7f6geH@C7Ni@2BKjXythUtxs;E_x`O z`jvxvu;N(7rB@xy({|U!CJ$uhFptWGjBgtI>n%tceX^|U5r@u@{Ca9kShhRK;?D>f zl{}eVbgtkwJXP2Pd}`HWxc%x&{odEB{@)}p-&U`1VFN0JN*%HQ(l?Kx%3Jot1e(cr*IG-^{h1 zDBn5u?=gDlRCD`K>+O1Xug@5sXQmHxpI|IOh(5}yWXiI{tEtjb{YDeld2c&!RF#;+ zs*6_j497nykaL;(wRFDWD$N|=G|qwo(Dl#Gh@qH+TBz#?^u;vECKHSG<3NSTH`l_g z=$XaNl9{-W#Oy85E6(|ol@mHj1K+p0u1Ge}b17xv-Dbz4W|_hjNggv=8_5Ed18(tp zzQqsg6721|N=D=V3^?(hw%R*9k@jb6NC2qtjR2Dt>1RhMyS1ubb0(V9nu3r4=^})n9n3YP&zqzXu_MBvqGVZotR27Iu1T*dWMANMDBjIi` zx`lsNeprnI)`4jyWie-oQYBpL&3S*_hE-tqW#Vn4yWTR)njDZ~=C@{*)U@Sr($d+$ zn;~>YuSJr`q^0nEdn+^Ht|Ft5_NY2q+x^dW__Lod|E)rG_1LYc4lJ@;&c|sy&IiV_ zGy-!`>>A^ItV{2)>}(qsg71K3;C(q}&3<^jPCa|ox)L}{fxszJq!qf}t=pa7ZTLY* zXRxOjT)f)7!L&FI;=T4bitZ(7K*W1YQQ}Pq+T(Eh}tOS=0=V}AFQf42!XQbBF$v4yP(w_RwtBE;Jof6isM{NEP-v#@~ z(!64lWtGIHDp|ME936nB#kwlb9L!|6z$wq_Y69I;qNTd!u0HRaMo*l?;(`P+rIpPm&&TVgdl>WBm&r{oNDTsM+eC_F~ z7l4+4l$Kj17HxMcK+n4Y{;k&&tE+d(R^8${_FCiD5TxJfyR9k*-EVP)MFquGYmQts zE`%R|WQcWKJzC*`nA8xZQyFESPc*ubUGO@6*_1rLPeqahF$~({2YKDI{&nxBmJCJz zMpccT!N?{eY(S2tv0#9+`*TlEE#dnQm?Ysl6?-az7@>qJr9)XF?&ACG$mjT-7!*>{ zg^XXJEN>FlE;GWq0HtXcuktybC6KJXPwiydYbCcqzc{0Oc*k|^q!j?5{fty}>r6S( z4xyDS+WBB!Iu0%>)VV>mbw;jub=&-TgxeRYED`b9AEfH!uV#`+z1tY~pW-;>L!9)9 z*=+2U`L8yRjmfC%Q6UqhL;%_dF)~G7H;aItQdz%OLiqamHNAh-dbn+)&s=}fMvgqI z(ndZLv5%Xu;vUj8{E}p6=HJz%Q~SH+PL34!{aDP(La2TLBJ6g3PH$g{tx-|TYFx$P zsesmMM^0qerz|nc5jms0*}p|h;cwlbrNjFN8M6cQ5Ksnf9+-^kwxqqcJugwieB9qh z`=%go1bcz3Eq>WzO|7g(DCl`O1ruSxT+nE$5mfyAO6HwSP+rHV*lXUu9hb)z`1_E;k__gqS;|$p%jR`YbZ5;lqbJ zcNB7Xp~gV{Nk{Ta3AFO|e~SI97?Aa{dGTdftOxQ=nfA<=yq0%`op+Q{SSf1)GaxG3PA=N>VtX{o*YtbVNz|8!d?A1@A&g&B@IDX!Z z-N#PlP7-xgC=u(FMyps$ID9Jq=z6WM#^`lc2Q!iZ)&Z(DcYI?(txwzh&{|~kscU55 zLE+=>5E)p3amBCYIgl3I8{D@=U72;ZCdhU~;&{yZ>A{@4hsWk0)XB>Xj(Vllc6)4# zv6a;wYhc0lR%iDko)f&13Gn~M>~<`~F8UUzdp49G>oE+tmo^bZvnv~V-WT(Zt@$*+ z`7CSag+c9AP)amN5)+k~@Qln)QjYOzlV<@;MOL-fTz7lCskK`h8CM1DC#cIWCflcS;s26_#LSpI3S62L?KSu8 zEQl!7pgEp1O-Iq0wZsCoh*T8vjmgE9ODi%t{`1S`E6DzSjYR1_3V-G}r8(k}Q(Uk; zlwLuDN^%UuXN{Rd*c65r9N(Z-G&tHLTs(G~{shIH&9Yky7!7+0kwp0qml5;< zuJDhs3b=D|)30;z_|HD>*NTAuq2@V;cURw!`kxNtr$A?R07%rSFGt32clY=21tkSi z_m8J(FKL_;q5qU5Ewz^o-yrj7$UL_6R*VH!R0~jHnD3q={q!wmm}TJ_t!6G~scA-T zC0hP>X-`^~_r&_oZ@HMqY{%Ho+hdZCw_K*&hKmd#MBjaB|6k4#tg>y8gb@4#rbmpt z&5EAd+z(z4F>dp_p`d0wH?kCoRz z%{DvCA5HKUQ0|HDo>)0o4;ZB*S*C}5{kxYmVyBxV7@dTOx9=97tcBe|Zj@Vcgpn9U zZ0VR>zV~lJbTi2!oF~?4Zf#IQaLskc#7p_lDH4y*_XDVp`l|}aWYMp&ntMD1Jgqs6 z0zSh3V0_ZoswWw>Tu&_QB_IoYNW^huZ@?omqg*MUc>4VIj{8FCg#eY6TI-8vQK~Pc z?9#34k8Sy5vwNLMc5z*t#sjQod#SFX@Cr_YiVN8Y6(T{Z(s1`eqjUHvTz~ERHhOi0 zB)-?!+D4?#LDZLE_U#+ z_aF|IUQKw;EV-8J!vhW~y7ycV)QHc2Y(%1%*~QpSzB4&sEZk^tCi7ZCbzvm@hkfh^ zah*us=kjkj!FLZJ)nsfPJffm)B_t)ch!}8pqT_`4*}v!})7ddf0U#hCP?2;=WgXG0 z_`>Ip+ z3%U~9b<(lTWBhG3=)1#Gq#;A3QkS<3tg&&;xeNVs5qsfkQJ&c8R_$5jjlaL5+)Xrk z4}7zQ&OcCX+59fW`5%58BocKTa0Q@wPQ;qabQN?wK=ptw^uNa2-^1r+QOtoYY!(CAxfAMYZC8V zE$GvWM-~8({`^z#u>23JuDqxATlHr6Hu>@P8@|vOBzs;SGf|(cyYhElh|VeEd6(Y`72Mb46#GMGhex|UT| zQdh>@a-p;@2|Hlz=IX1}%QUuXdExMuRB|sh*W1obb%;`IF>#*bRPt*`iS^%NV^|Vr zT!F07DX1!Vo%^kuYIuSz0Js@b*==ikd5ii-{YQqg|M}r(;fb(Y|g zL~>UE5kdB9rU7m$2T%+O+K-R*)YzmFeE9J8gmaqn*9v9`=+>nG`S{8s3k5DB1S9l^ zHNaMvk3w!P#CW#JIV$a>)0t#UEVl_Jr@}PYRyP~&A_K7xUsmh^3wNNI%w{$NbPWt{ z7arX@&L!XI?8GG;(Q?TVmmGCbqC2ubHuKyXLIjCTdj9eEejlvdB47P%Z~tijhH+C{ zUZb)$9TdjV{^0M#sr1*T=CIzD;|vy6lLM9~?>cV#5~&2B4G>B)RviESDBk4KpNc`# z!7pliJXb4JO9kK)l{~1z1&)>CVdwrGIuylBsDyjbi?Meah(7CF`fQxG&9r4QE;b z07tCT$tT}J$UR`LwRfvHKAe5PT1YLnIu1^j4~|ssHjMglnS7vdQ?*EIUYrW*pqr%a z>KFZmcex=%%C0N)0a%xsh8Pdnu43OFigCG=AU5_a5+Bc%&HrjwU<5{$CuF7cIs84> z3kOv#_sHs}dRHcUkSDf^4#Si7;z%{+AMW?v;e!wI#Kb_NX3nNG`fq_T{Mm z1fPi0{}_T~aYS2;kEOfdPi?Yb0Ce((Vn{{ulZiYX?^u{#?vrIh4cDaDwf;bf+Yy29 z#LcaXN=wyJo)7v5jqklh%O4WW%iBwmuqf0;x1r}{#_sWPr9#R5kg)-K{lR-?DrR@R z$`Fm?IsPAjJ5QY9n)7T|>bQv5i>L8tDOYNvy^UZx2GiE=9KK1+#*`BDGMFMo18tAh zFK1WDx9IA}Cd2ZeQq6Wl)qL0RLL#*ce;o1`HFVx_i)>D@>T*n6pFm=AXqSTPNpaqV zbh_h=G{SJ+CF#cDZFsq}_?m+yey|M${iLKH;H>={+%Y@t?CR=Yu~r9e zPQg%$idkriUt*QN(VT+Jo+|_67!{u9Iw}iN?R^kzr{R2;1arPav+W^$zut z#DYcM%bRT;^elx5-1?&ZwX(fLRl%@=(kU_kb!a74P@^z>&dokhmd-B$dtQ#ZkPYIX z!!G^IPk$?w-OEQa9@?Fdenbs24{f$$Fujed+&Elx)RIJ<4 zrIxvO>ncu$0!FfBVodjw_eSDM{ge+Rt|kg~M*O*WMTyhGsGH~}HREl<_Ny9T8bj5A z{m{Nc-U>J$IBAE;{=;?6mq6}sjl0#*fqYhP8Pu^8PO9kQv;tZ=15^>} z_=o^ZW;6=s+>N;V;6b`goe%U{?aO7|jC;Ma!Q{RKv^u-5J#in!MBBo$L!6 zOMixQh%kxtO!jdMKyFKB(!Vp?{YfnBHpl*mqX`8J6rL4*3~$(<6@lLlsJ?VU8GrX3 zHA?(G4cTe1COnY&{mqlJykIW4gPS~HY*MWzEnlB4E5jmrrrz|f(wYEHsxA=cK}n2J zp=aCi?0x{p0Ex!sQI9INT6)f&kQnU-9ucyhQ{9M>5X2FQ*>XCzgACFuWgv;yV!YVv zpB$Q;yijc=vBuZXJ~#33kbJDC8?QK|Eyu-y=9FoSI)F!@oXHZm9Y@8B&!@@Rt00 z0tRo(%Q`Lc;HrcnDVDB1vq!sg4gTp2oXSs#g~19D{UmU?{R)FGC#o-0RberLT<+M4 zpkn+iFBm^>RnFwE-RL@7wby$prcf>}5r+8!kU+1QvbD7=bWX>A!KKh4YXrCnx9IJPFGo zS!4jju@sz;RL<@iG(#Q(z4C^w_&xuPZ*K+67S}mxJHDx?z#R`@$-QO%#l^+zHBq4? zR0EP@_x#2OS+2BU9?)}g3xcoyj8*dtu+BMfv$jyQ>oiwO&F}K#?OyE_ixlcgdBk~> z2bS(Nd|Rphb62u^?t*4#YfG1z$3fy zjX%pjURjL(amkHMp7DD0?Df>n!zoC7?oaX7uVa2a08%g_sM(?eN4pxt0xC*RJjLVR zH6flLS9BxXDD~nGg~#(f$15}N8K25WJq!q;D%H@iEfX;|NOdhfJ`ixSbuWA~o_y|& zc{mA9CwP6eLAgQMS!7r%3yE!5p33gIMHPAA-u7m)Y-;Vj&<^UI<~F`tVD2NT6x z05OM+_Rt_tU%ayWVGlMe<0{9`nV76mG|3aPfzMzgbrB9T&kiIqB8-kb+Ev zC$c&+h~H%n9wYgC1lBy{eOFpMr@UOL1a`eMvEkHjOEU8e90{#{)s54QWHB@>tTF69 z7a^c}kISvSwC_j;fx9VHsLj)^eG-XJ5sIumtA8nCXP=Cjy{U^^5K0RrHZ~>xZ>nAC+&{$7ik=X+x3uC!o27*tY?Q=|+cCU$XJ{`p6x7@iV}fC*M**@Z0h|tAn#`n-7NQUkE(*3DwsK zVdv$|Rdaa_`$)D#wj|B>J%W!*Qc&BEWWTC%5KCdB$m&X(6dr!M>zftw60X)zMsEHb z@MB4+yfD?@wlU;^w58*(k&l_FklQzdzbX)jv`EiWXB8Hj9h88MpMqT=NoVK02FI*L z6GaRI=+ zZnK*QD@;u@gal{6OR17W8aX7Z>)Oa?l=VAKXTUX5Mz+Px4AtPfT7%XMPGgR@PS`K;?2JM+1^0|Y4deJn{)8en;shpe)xkM zQ>~PJFGjZYI5YHW4dfUjnhw@)oC?<^7^C@_(brarEks6&XK!=SJl0bi5+4FvO-TZ- zRT!~JXYvcnwF*kjUfICz_(6UF9MeA4eU>bWO5}xfX>aR{rLG$#>f*}A(CwgZ&*IjR%`_odOXgbUA zEx0LRV%7R5EYo;@#ca<)O%K;W6jn~bCUQXWp-UTYb!}S_dTWNs}_-2(_MFu{!1FLyAISemC&HP ztVc04o;_+0UYYB~FUIV!a_^wf6~E7!4Fg9x=gDU4=Rl*=qIVvZ{aJfjS>dt*E}$u19*4HC;Z9R z*E(WF#w(w1>jmfXAKo~PY$Q*a;p;Ua7P#7s4s-!xiUkp0>MYq}(n@KGa}8*F^#>)I zGM30h{v%Zy6#5`iSDajq$Q4LO7c*Cy5ZvylvxP^=4ucf=q4M8q&i4jw(M@n^!OEU7i_kv`7R z?j+d|3xn}hSwsg|_Kj^jyxh=q_HLI3q+2hDi z*4r`A0QA*=JyR~D`#uBahBh}hjqR4EhMcjf{v%>qz2NY0pL;Av+5P-8y4Y2GeiQCF16rQQZ^J8D zW3}%gN+#6)XRqB)$%};e;v>B_!k<0+nEH8sqv+eDUe6+A1dI4$vdsrZuo7FkL`9zh zi58F8_dh{X>9eSp|M$4Xfq-D2U)}_0SWwWyU79$cd59Rox`>)!7`01e-$RUU z9moL=;m^pq7}NXKrt%FdTU+?m*VguCJ61N(B1uKqMzjI|@F(Dmg~$&mtKLB=MMPrp z(hT`K5QmqA8?f@@Jv1ufcY`!K5D9dfJ>-aD2^qj3aT!b7dv4Z>vK$R{w_sk%0MC(j z3b)SFXQBA;x(I5-!8T~B;G+^i0>PFh2xstr-!iBjP$T1m-a`Ba0_G|YYogRX%1kzA z-2V6Fp>}e|&Z9i3pW&YQ7^eSxyI&SKQy`h?J;D)n#$qqh2GcjY125j#gj* z{E_Y;=SrGvIw`B(y-ex%-y^ih#f$#iUHelquIJhDdL7f`gI^CgI}D!pj*7kWCIdJY zHl72%1t0>{v**Q{uTCllL|g;})hX{}W@s2kE`0~vshlW{yx4bK?KzdCqAH6c__QTby z6%)+U9*b>91DbeiK-c>Dw7lr{|6qyz-v7SE7e?tAI%@muZb!fk1Im9>mHDwI>S#++ZcqOsAtazNpRWJJzQy4P0fcG&hL2XRe2Xy6I`KSV6xj> zI2Eg%PbxIpjMSG7R_iv>d@P^6*&9mI-k*ya8mOhneiN%P!Dd> z`!h3^Tr;bdJxqPMlYh;mHq%R|u z6Na>@y%O0hq^Mq5K}V{rdibd;*I0&^zV51BP^G!}ZAA6k49_OBV+d970fwj?EXAPKDuG!%t-aF}+tzG?+9CI_u&sdPj zmiVZviQ=D-vDoq5EkO*ykW<4lMBQyPmZR%8ZGqo^x`#g@UhLzqj;k|v$0H&?@~`7P z{1w}Qg_zEQc{_1&t{wX*L*QI-wnMV5y5at*&1z=Eil4;(&7@$|Hf4?Ihr#vZ5c{!>G)S1A0xqT|NAE;q@TD^$B~E zGi@c^pXGBPz4;(D;nijJU>HXjblPJHbqVGZ%|=8VFNC&5ZtR|&_#i5lXTznh^9lT* z4}r(;0b?OwiNlfzZf+sr;TZb*`m!?JHw$_b_J8c*(&wc$HEg%Hx3qrU8_+U5 z;M`-s+2%OF`Rt?qDL*4+;Rgc1iIQ+_zm;3=B+q&pzwD%*)I<5}43&RbosS0c{o@w? zkIPw|&v*OSmA-D|{xU7We>aki1>h|om`6)L2;|j(4?IH*Vm2%pqF)n{5LZ0X&?#h5 z-^Cro0Yf%g9o}5=d!`{dB(4}LA@teVS*Y)G*v1ZpYn1&Vr`?K_wUXvPj{k6_la!=_6qui=RHw-|4-%A^mO8MH zD|X9{F2qF@(?q+)9@+6&Ah-XdJF!@GlO{ECAh-T&?Poghjb%yU`Re56y=xDr@373_ zJHOuEZ$7{FAOJUKZ90JxjTj`$J8?fDRneYR=;hVhDW z`Fy|p*mv~6ev%t`#fhdf1r0etwm*(ZSqyw;~u5eBO_N>I5D? zxM1htAY3jO9cvBPIy%AzJl*~py35HfyuG}S)I$PvtH=R$Jv|(NotyiWv$KHz{T{_= zD;FmxCa}A=mtS6v&8!qd7?=IR<2^JhEiF7C0008Q!^6$puSFp~qTn1P02vvXdq}O7 zov-JicXG079Ci{12!m=z@~T!bB*v%UdTCFohn1gF!Oj%`By=cPi0Ew;oY?uw(`bUd zc+cgPsc(WPsc~c;{nc6rrMy&~X;uN*Qk2y;)jsDsJaCc;$O2Em!^8VOhz0!CuC%Dd4Bc&ZM{laZ2yA6u8WW-d6nV3n*cwRO-x3l67KwE#SxU+}xDGz$2^=JAqXlXe*9W^J}XqzGgoF)5J0I`8= zu#LtZ?V52BZSTae6+9Y<-5b{Sox1Yj&Si~EsFw-$Vw%2xu2~9Q*~+RH{oT|T>*{3p zjP8CQz;v=xI$gjFJ-`xn7Fhvgh2FWYGAMP!<}d}B?)nwYM4j;tI0a!x)@@uMCUO&f8s;qbqI?Y~l+Islk{gKjK^U(OUp z-pMdah$${)e!z^P{X*yz8IQzYhEgW03;?o4oIxdNxEY6|n9(tzZ?sSWaw?=e!sxC; zub%}!evAbq#Q{JEJBqBOx8Q#TXXbrs-!gJyXoffb_qXccV~F{RUHJPO%}<{iT|;x^ z3TAsit*l{q)8i^uGxQLyJJ{XUM!gC13`+3*2}`T1Q=@*Ue!lZT z{#4_D74aT!d7IS)`}rKAg+M<=htrb~bF;xs!HxT-u{{4Z4Fe5b+MhoCmx~6)3fM2U zwH)U`n@sr#1hh9J16zOoa$~xj!Y4ztXtLTNLRe9>ktL78UKb^|$sA~zZBg$r050w7 z-Jd^ysu;Y(<8`i<6wcGLZYTic=~wjwHT=mHU(c@-w;w4O z_%Vq;pV#=fqUHEo@F1h0yp1zzOAi0)SZzE60ev#B!@P=o>tJ6d$N?ln6Ur^Jp%6XX zqbshXx4@2U2m@8S8%O+os;q1O`t#?{(*+$lRCT#^;i96DYo>q&#-9Fu1#$Qwh0*oO z&TvQwYGs>6_OjU!(p$X)H&#qWHiO!u;gWU}lW8KSad~rd^E@6r%odAh8vZM%J`ZRa z_IEm1H3HUpdON!~c}0&0l>km7VoQH^^V2-sh~vclVRK(p){KRf_42{7z(JmI7MpLF z{Yt^`BGR@FGTt7PaJG5LyF;?*KBCaAj1u0|MIr1%r2Q!?8eOUzS}j*Y0mu3r1)2G) zs2`$*#w*+``Z6UY1(QYhdR)fdsrt#1NTxg^`?r@nbUjex+`oV)PgUicDid%Yt?ep| zIU@BHDaTN7JH_V+c@8bW6b@1i08Fq0x->4VT5-1K4~5o>RADIch6ka*w|V;X_*XB4283=z)YpN>l_PB=I?IAbl$dNq^pTp!w9^!Jg*$Z__vdDhN8 zJky~K%h}nPQrw9VFuwjXoBq;_JmaNVs-k3YV`F1qbYB*K^x$Te(SSuZ7U=-(zMV0a zt*tFS@RxZ9Pq;^#X=6)VwPEqJe!m#@oxHcmy5i9)(Eq-KNTneNiXvr;c#(}c0y<_F zhlhT9dIslB3Rc(6E9K=x6(juIVQH=i=;>VS3AF?ynFlGLu$AlF`VvEh?-}c6zU%g# z6qGW|tGT*Mjmx#?wkj9NIFsxwnC<{`&&S;*NzT!Csn&$nSRDDs^j@9#lCl|e#;}^mq zqX-5jA?UPG67A&R;FZx2;R9Y(#Krmxy@PNj~&vTJz(rlYiszli+gxEo z7k}3#pem5im=d!?@&u*j{WE>-fn3m%TN60%#s*J+$3)DRX@uHGK;ZXmNo5IiFYXdS z8b&oVG>D2AgVM58=gLPyR1D+mye3|#)CmSBU=RPC%0&k9*NEjX2X`aIzBeE$Tactd zd$zH$A?|za5&YYr^A5iRDBW7I=IdEqU9}tZ@$u}Y^K623_|4o{Q-^cR;V$t zi$2HhsJgMxpJGH|1X?6?v9h8@9W$~P*AL_4W)`j^-fh`Cxi$#aet4rk`*8XPEr0m_ z4=nTT0HVEsV(WB+0ZafA=h4kB#0&uynK{?OeaG>*n@kV0yKgw`TodGpK;0HufflU3 z?qLM2a6-f z7u-F$w!c^lQ}6EY?_@ZVe=R%UQ&OHon)a>7Y;A1?4aC#9u-+MF{901I7?)SaUhyarkoIb9cq-DRhZ_#S{IA?4fwV;|4=C(8``}235{=72^x+5`+ zP}7g@#8c}5SLhC|o5Bz7vi%A$Q!`Mj}c|Rzxh9GyuDumSIA`j?aH$JGe5u(<< zeciDt3!B5UBV1)A+n?%=e%b7s!B`pkMnp*occ@tFj5-3LcE&S&bijZCfJ)7-S$?s0 zX_5W{QB8l}M~irYrDir)?vek(U&Yg2_lB3m-)zKO@b6j@CV&oS=ivyj)k0GeHV{e2 zKb+EyxD5*6>w*T+%({_PYmtG&JtGml;Fh6zRtGt+z=bN2PjcFDRpRuQQl_omA^Scw z?s%c9e@IQbx6W)h!5yyYBR^jxDX@vS6>=GJc^6qq$I3Rx>t3=m%Do}otisL;{biA2d-hy)aU3D~f2@ZgzR zK&oJf6dR2hrq=p82}-7Xr)}XDionY(@xnC1(SckhlPjG8wrWLhtiW&*3^8Rc&0iv_ zU%l${f-*CGmRT?f?_gz=uX$dPn${hU36$CAl~z^~BgegKf1g*$ziLdgQ!KwE;oAcmX>aLAULNg+2t=^~8>-<&stoxZ;@A#Wu^HMnFuXHw7^pp7j0-+xV3osg*Y5}MX1-5{`| z4>TJ1Ut7_K58g!&m)jrkJL-1GwJI3!&V2v`N(q$K?n2cUk`Ci<`FFbb5^C=&kubPs zHpIxZFASlewGFEwiQoB*-F@@QHwzs}>LfJU2hrM^_F`?*P)FxEDhIbRQYnG8rEJu? z^3RJ2TZT&p@i>+fFAQMD?LwKGe)&Gk@j}Jv9mPGa&ugCzB=I<)N2tax0-TLEMP|ij z9_TC<+Z%|2;RG#VXpyKdE+~EfjJAILR#KBqtzUaP^j!s1A2S^CFHrA(XB>LdEW>h8 z19Amam_F@ow9G!_S7Ws4SJ48VDvU$x!syO*%pa;b`?GZB>c0GHKfkyc9xVUVtx|{c zUlk+c$9>?~RK(Z!@o6kw$X0Sp%i@WbPp`1`%%1P(G3S%{G5xO}cfbMUQR(6_p0Mmo zPFY2ER>{iYPA69wz<_DD+Jv{-WKR-=Ob**u*Vhc`>yt-uP*anB_Q5;sx;IUL9b>Ps z>whWohYx8riQc!C0+CW+k|} zSq$IXH|&}?h;0us^fU}kJA_6X^nggpZle`LZ$~7N=ViW^ICPvSE(-5tJ6GCoA#ZrI zyPF0d?h@hy4yB6;AcKL5N^|(Y;obhbm>wxtHtO?cv@yu^S|m8ww||s3 z9=^(UF70K$@y>IncNK3yjNgg)Qpe+VNn{lB=*+H2@fj6d>Dv=Y!5IPsL4O^5B6e}AF_bziMMk=#z~`_3nYHp z52%%JWUi|Gx|B^1`3QH^oG1Qk@A=>OP(vu_8}j~3rFdbcS1M&X^V=}E?`iQ%#FXf$ zUF%uz@Y8m+e#cfV;ByF3wu zvW}h}Ao$+1m$je-^&=(07n)#v9}WKtY7{fd10?=owQfE%(T+~!8tHyVk83Jg&W<#) z%hmXo=p(&4%g;na$R@|k?XIsByuBqCQ*ycm$m3Dda&o5Z!LE8isHXam^Q_CzGNExfWb(snD`c9waq2wZP`4YO4OQ;cdG&tU{jt=|Wm8QUxU1#yRZT!=JD4eSbY$-67h=@`| zjO-mnLB!;Y9xn7dFFa!IOPP3f3!N&(1Pcv0cMl1U6^?tv{fnnvH3F}N&{ny0p zLm@-E*VItti;zM zxr(DfVAWK^%zWnaee`@Tz+6x|AXZY$&5M3xhI_*cvFkE zrI_0_us1n?y;AOCJ(irf;(XbiM~2`by~)BWNyeK50As{(I>8`$n%m~v*iXZM8JKggY_Z5qeU&udWl?(&(>J z!Fli(d7a3Qc!0{{VQ4qs0T}=|v>zMpaNG?|WC%U~eV6R>yQ%&3dC_w;`^!0(virdi zl@|oc86=l{MnUgO`X4jnvHUMCZj{^J6R1hF=Wq296hAX436HPYKGQFmdj>{j;$v9} z-&p->v@4MSz82=+L(do)2|@QzYriUL^6dKqz#u-7#bWQ#sI@2Gu694jbukF5T=9$A z8hW|yctmpHfV!eo9{^oR*3joOU6qV>&qY($)<6LP%4G80ylw-7akn0kf!LfLtK9ah z4_#tM)aay^@~%as(m#yBoddW|3|fy%E6M^VmQmWiV}Ik>?^!h+6zN~sh>YY3*hZoJ z+jv-7Zu{iZ(X|ez-wrSUnnj#zcUxvlT{l7|5BbUWh_f8Rx0Sly7odS}@!7ymDaQnX z8Csc3sqZPHK)|)j3&360ixcQsv|1%C;1{K>_AZv3R5`e5$`^6Ue>Ue9oJ&H3kBq3u+n?};;o~XU*l@mi zqXl?&cOa(Zec^*O=m*ZYa{-h_KA+9m>HR#j&iRYyHR1FH{}obQTqgVAD2$^h^nJS+ z^1Oz8MY&%X@w=8{Y@j9Y|T8@9B_4-OJdP5UQvSVXYNcpu>TtVjcytsaVf4E+071C50H{?6Nhf;fGl%PU;x`A5>J&};GEbobnC5g` ztym=DX#30z>@^rA#m)4DBi1$*ntUvtk#7>{}nV80-KL+ z)Fp}2{Hk(q1-yp1i78$XUs=Wwx19M$7+uNPx2I=6&%oOeb-T-9K*dWK&Dz>~9 zlgKj1Uw<>aN(RDT-*mI-ZNA#}mE_~4fxywX198&W*mnkF=u3y1J@_a=dfoFs4mJ!k z9Tb#26)-R zn*=*QIY93K_`AMHG5JY!WHcv#k=%-#GRY33;FrOcMOz|VPIAc5qM+}cjZm;Z9Z1r7BUEzoBajk z&BdcQxWp3vIEj=?LalN#oN_y+={YOQl^IK|JU57I6k%xmqMBrj>hwH3g{o9*!hZ7Q z(nrzh?ak8K9);E>$46Xz_}(4Q|E~o=2@3V8@rd0;$+h{C#77nEfFo?U?Fj1vFTqVN zUUhBkmgr#_`P>pE?_Y79u6kR2Ma;)dtpIt-YD&W7@9LJ8S62Er@~LjT;Z&pz2li%W z;kJv^y~yi(X}U0N`qsY4V4?sDW7UE;+RV_9u6klf)Dy@7=6RS{SaR;}O``%C1!m1n z|2-N&k&NLd^$FS8vG%J?CSaOKNiIMN#uj$4U6S2hbF*E{rg+p60x8`#^T^uMz!hR* zV$<`Okg2>mBw1x+4r$9)$wx-BaoMA)c!NO#6auqPv*sPdwM0G2bUB+^U>Nv)wUZ;T zfvu~O0b@-Mmb~hTlh=AT+iPGHF{cxQKh>Wr@n;6zMo35jm_M%B8M>%%85Oep_G?-O z-}6FV(`Y)eQOoZ5Mmv-Uh}A`D2CS~@>rBVgg0ajlYAO=_8@-hCvWDaU)tQvj9s1@L zj5lbbi7?aJeX;%GK+JcV^I8`tydX}=j4C_Nw%T-|w;qlcfBdtN1qW!lkqKd)yrauq zQUG%uWYI^xT&x)kg<9N!eLlmp;XZ*5fb||Y{HGTSAZ6=H43U7W7asV>q7LColXof)%b$BU3|BCIs{1>i8BOpt z#iBv@#nstel=DhSZ?+iV|jm>=iWGW*{n8a?uUW{B!}h^P2%T?ZE@*;b#qt--s}=s8zJU z=M{MdZu1VBJhs)dHnU&}f8ecs1pWS1~^zlDC|VV$QXZ!V?&Oho4Pb|E{`ZR$R>vHhU?(QfwN z-Ng;FAR8Odu_=b|A@lWJUKd*rT3lLUN#6qTX5{F1v`&IEyyMRW^x=09wD)aVOf1y& zkJmr~^G3dbL7?0hIs70?K4Lf#U3T`jOn-F8&Rc#Gy@9~^f_fogi#IRZ-OzdUkv?;G z35BO~F);VxK#hN^Io*Atga(owtj{_A(ImJ!JrqlD^q1ynrR$vBq*n^V>#HI$8`&tZ z;_34_9-tHyv?Kg+xy+I+5Y`8w6aziyjtmRtUb$e_8|mPfc~U@D$p*Wx;6E^m3NBfr zNwS(q^yTXSr+Prf;ddw)_<8TOaSZIMdiY#jf(j-^8Tk_ubD4yG6Cgi%WZe;{HVD1Z zd2ED&_K0Xf0$^vIPFJMYzvjoM6=z(!SXV1?Mj(4=3g}`uZN)C5=f;Z2#@sin%20j< zo4)Nb|NRC-Xqiy)KLXZ>Up+zX+=4*l*XcD@orleBQd#hB+I&2RbY?Nko=tav%=5T0 z987MpBI4&*aJkQCFynkX4kiB*OYGWNf9zQ{zD^(-AZ5nShanhYaofD zcU!o1tkx}iFcl^d{pNM@6>4u2FayNtZspUySEZ_f9;$>67SzYz|S3HE1Wu+ z82dzOkcLdtJVs$)xO$%KlWCq+u)_dGD^Fb@kzOBRjHwN7LR1oZoe|IEO6Pv<^aP^3 zg>v-u4Lg}^o3&_+TAhQp0ALJdvOkfLm#cFTCFkeNd5`;)CV|QHA1j;O`K-<=BuJ6F z(bjR%Z8!AKVqz15?mbe&-UQD9=Hf=3gWmjWy`%5C9PY&;t{!;xg0+LQVf^()RS#Wx z=>O~Wle=K^^ywuSy0CCQsZok!W*w|cqL`l8sor|{0 ze07p~Eoby-w0R?AzfVg755~CFnLvP|or)LkFKxUy!AWL`Q(0MMU-CA0*;s#L{o#xT z>5oF1ERBp9MZYgh>sJc-7hv*2TT5HF5{dMxz(CSzGw63s`q&{ z@S3xKxuUN47c}C88`z=hpNcjAYbhOJVp>~;0sNMKQ3XvdS&}XVi-`545y?7)#uoPW z4>JYvVi9NAJ4@Tl(BA`fT^s?@wZSbHW#!ev5>stRHWdfYn<6bxxE){>B{UL5D*owFFjMZ zMvT0)3QM+y6|PRC);IO8J&y08WVq6Zb*+ASY2gIBJiLlf`#gQU0g?Vb_PokaDJ+JX zHfYs;Q`=HXfue zO}InPp_)ztQN7fliMe=)MCc5J)sB3I`R_oof4qJJ^A%31DC^`DhI29KpaXpm2_O2u zHF#6a-4_=A8jrY|0fK+nbLI3kk*Ni)43#4ldRm&(g7h4j;2{)8TtQ7o>X%C7ixR91 z1|alC+~-#NqVtCx$QmR6jRiflo0IhGv-BcXb2}GwFR8(Z; zqt2>Tx-8R(h>a#O1Uo#1m(Ub*J42}^-&E?{l+$sYic}ajX3kc=nzeG=o;9Y}?mDcf z+A5WD^TG@8gh~iWQSEf|NFW>Is^a%DNHyfN_>3W)_lCdGG8do$6S4h;6z;n5XB)rUtPbknCBC{)mT<|YSsKYMA3*zoQPoP~b; z=6Z7x7+zDNZusFNK7o;1v6RWmLy^9zgZ&o{fd38xs$}ks49Jub^C>5H=OGH5lJE0~ z{#AducVF?`+NiT+GAE=!o}vQYg4B#%=z9dwn2xTfOjq(@J)0*qWWC^(|84%DDm6e2 zq+kzskij(g#bl&OfIObLo?okUUZZ6#_pxe!zh`DXH^8*Eu&{XO)=m>f9Zc zzd;BCth~YnArf#XNal0!KmCd9jGPI57*dxr2hYS4c?4-*BwOq$Sek{~*yCLd5JfrS_A^kFfTjl0YH4YEUsYXr*S~J* zV+4p+zAvfht*AqpTtI-IXcyU_g}HY=GlaEx)GVL4WcT*R%gA+*VS93sdO|PQF!$7? zzY<%#DH`RvpMU)tya}P#?I`S37lnKeR$! zy>Y7YaDwaLf2Co`42X5#ml>=$T5TPj@ScBsQEG57&FWfaHPxe+ACRVxPucE3c zdIvi^0Mq_<*D?o%B2HrO?#@88yUyX0rLM$R%A2EK#p*}R zLucTSu2dFn`r|E{xWrO^-6sM)HjKBQ;pM#os?aCfyZP_QulyG0TFvA43U+?9GSplq z`ne_!%Gbcqdcb!Z`1ZT??0Ce^93Cwmy-m3-KRDvao6lFcGmv-*hW z=bMys{_w3=I6!mF4GQVoeSI?JI_Kp?9t{lcsD&?fl3}ytN`~6li)`eQ2G-R;OqC<9 zclgkUb(V8H?O*r1D)aUX{u(qsK{0@QDCRzCK)j#>XhD+!R7Fo}mNQw8X*t~`<3wLt z6QmD1HKZGX0$TI!u z@NqtsBfyv0{Ko~or$5by@^IKha?3fhwA>A-=j>{58hGk z9z=p9*zc@8H%80XAL@I-IUYLdclQgzRXzNVLC77MXu6XvSMvGwIZ~I{TkX=hR_G~9 z(U*7z*~}{hX);YfAq?ook$XAKYZ%XX8$RDLl-HFfO;O{Qm&g1(yVbCy82I?H>p8&3 zuS`(I_N4lxQJ(B6uS233cx1e-rM|Uk+e{DuPvQ*1p=y8l#SKu0gN$(7fCO|IY{i#s zx4}iS5?bX<^7i>(dxF&TCT0A8{TjrY8yeo(+BV0%yb3wlcFDgeI#7v~^Und#8PwGF zY0Gh1=~KG2Kor!|Yb%h|5VujF5qfpS-GwB*wt`}TC6ETY@{Wna3biHSi_xvoeG5|Z zbA&8tOS^B*O!b~&av8VL;qj9iQLJKf9B!NH1=cb`vPhSW@iQm{36F4+%Zv6fpoWco zRY=l?^zw{vPKX@Q%p36%4Kpnn3vC$$`OLS%_}Kv1S%IbjQqhlwN1Vu~y9mw}&Ch*I zX8D?|M4V$B9Gk>Ng0DYkyq_kyOY}iD^Kbi?`n1hff-@MNudU-NUUw)f~ntTD} zAT=2}_aG4Se#qcLhS-h!M1E=7uBu?U?bm@(O;-zaXW2xX45TrBIaA z3W&4utH&M}8kTjN*WoZBKJ%WzCaarG6M&KYWdOszHv5i*E;)!Ll&BB5?&Mo@434Dd z-d=N*$P-P!%lZ*hAkQw+P5E@VR$s;^-aj$D)E?v|NmrAsGW{RF_uwp&)uA8_S}htx zf22%(L|40u!6(?hr*FqgAU*1tDy8ear`PA*oQI>$)Fg_T{7bK!+Z{&)7b^X~e^dKH9#fM5r#1?;o>3kjv^E_k~(zTSRJLuxpN z1hB7Bb6-A)om$LIXO|(GP8*qL6u+7>u+hH}u~k#%Z_0lm`r*Az@KRGXcaNP1UO=lM z&$??)M$X$mqAxj{uoZp7H_xyq{ES{Ms!=dSEuyQ8I>yli@SpL~XRDV*af_mX<<8)- zo&otgd|w&meLScn-c$?8SbOJa_9qU(+~`|`4(dQvAP*hfJHNQ(|MU1GCz#wdqP3KV zJBWnisJp^6H6cOvQ;p$d#&1OXFNjBoKFr_dvlnd&&e+rUt-8Vj~b_4(rgFL^wvXwC7zf?^E0Id~jLgbLJFzU5#rGh}+ zDp4YKK0dyk(^Cia{hC^m)B5ExG7ydYMak`nqMNkU(vq>zot8#{g^f)-g@=U|s8rAk zR*#P`Kwz`g>eQ>kOW~XQua9L|SWuU#I)Dey$=)u%2V;ACJaE?}Nyl+?z!s{fb)g={)$LwBz_DX|^tE=|{4_sCLh1jAZnZEDoo>95duH27iaY=gLoD zHN*iUdnnH-Hf}*;S_7|?Sz;b%G)T$QXgU@R%47q}iJxsal=5{4rD;13#A&H+1B~sJ z*s%+f=m!)jBCp3bOUp^2u^-ew{o21PM795{G#s)sU9Y3Qw8A*B`tBSJcohLW(T;=htVN1f5n zZiB@!6WZVk^72pkW(-udjdjoP{AD@L!@!3jzPz z^)>Rf^>q_kfHY+{@Hf=kje#&gNsGw*R1Py5Q%rms^kkso%N9gYymNkRZ*R|B%WQo( z$$Hm_ev_;9nNOeX#S5B+g#}D(Y{BF9Tf0AHh}h%JrTCNlbwHNe$yEKDg#WG&cMBi= z5ZCFUzMGn29kc)UfCw_s?z}*XQ3lxADpH`Ph8LK!s!FmEeKh%SjT+YrOORt?Nk79l;f$lyYtEl})uLLl$y>SgGcS7KDgj4~t57Yrr@lUPTWlCf5cHC=1pZxz$5pmO&6-61|Rg_Y-+nS0Q~pdJh|}G$i0Ur#RZt z4h!MqUOI<$`vY~aHf7wH;SV1)s67iQXrF$)SpZy&25cFlJ@oVUws3pB8I6E*NpLx$ykS3lz*AfevtfsAHSjxiQ+lclS^yhAHZR^GLE4Hf9X^| zXy|;|sgJY!Q;DECqS-zy(Fy^xUh`r$Au_WzxLgMU{wM$DEd|O? zTMb@n!rJ$dZwm|p90LptvO+>dhqk6sZqHW3tMr<8dNCMY85=XUx*dK@^A7=k2pAI8 zo!;HqI`#2uXwS4RYK)(J{^D`n@64KZzs;dM|E0FCT;ywh@uSYFYmOdAh{AD9O@zk_ z-h;1a@UzZ4LkAUEMrUWLi{=W%bYi4AbAUWh=Plw(+QsTRUU@3U#Z@tgsOnrVtzGC* zT|=Q@8xgRI*R9&0n2e?gj!FTaDyypOzqC3(a#h&iLXmogTZil(J+xty%PjBZ-q~L| zc*znsmgtv(g(`~i$D3K}(%43Vn%8-`-;b!1o9(dv#&rkcBLkA%Q_%me zlYP^!c%4B##d^H(XgCR_SDW0`K7P7?@bdD~mz4z~qoSC~%Cc3}iOI+m!6f!uTH3H; zNH|HSVLbfNVAUQrxR>1BzB5N(eRPb}AQ~|w&7qa*M6|tK_~OnU*GwjvQ?;dpVwxO& z7xU<+Wki6XceQwg-==|p|N63Iw8QLc#0g*SDzd)DhN~_@)|VO7%ah;3Vn38~Z_`Kb zVd{q={aODf)_l3XL|=zk)r+t^75@^PTXR5-0vEL4==0MPLVcr!*tZj{f^5BgUuLXa z_9NuWBSC!R^JH7|S|NQqsfh)MGQ9ZD!tVfzwY!{JAfZc-lMmu}r4bPfeCk#5;Wzx< zBMIfd15%redFhULn%CraUA)3w9SNka2|tu+LNA6H@TQJAx;6id;G3OJZ8QtC9bUVI(r=_Y>#)jVC$dt`qsiWz`ApMGuZl3_qZBL@;CquLOhmp zsft!d*Rc4yzArlvj#Nd;ni&v<|{4W8Bsl1Bde9xpElm*!hqYG(T>x!oYYR$LoCB z;?4&AnxumtJVOMqEAYrjvU)hj+$q@2&G$9hPter(1dsI{ZK|3H_mfy{$HsU0|2F`=RaonxP4E#TkRr-4SES8rKxp4Jtpnn?7fl6F2 zCkpa5_QkBC!MYDsHHE)mo)3m0CZiAZ#DppV3surZW5jU|?_8XmfF8>|5wtxUn;qB0 zit%v?J~cIDKvdK{=v^h0gS{jv2?y9Ch-AotMz#onn zpjPvcGzz5K?SG-3H5~S+0DRana+fPvwZ`#(jp?-G)%)Ux+PXTD)8)ht(}?>)xbdX2 z1joOl?xzhlFBATQw~L?|cl??B8NKD5iSQ1I?@KHF#aa4m-{a+s*?wY*%AgwaM$^{T zR!__(?Hko-=yfLfeoG*^MZ&6zZ=J>u78e-Mvn-o8CfGilzN_kh0%b6PXR+IJDTq|v82jOUK<{m(UfNO|rv zJXDo_a*ywmK3wm2-u+*^9p3fF1z?<#7yikLXZ1ZyN0=nhnVhBPM@ITey;L#mJ z{(7^21MDtF)*@5FcqC)qzc&iPhtpwmg;_E_>*pvvbXShd)bDJW;+T~Qbdn)I2RN$A zO4qY%ZSU^h-Zv}ZvJn`HBhm;&c}xzBW+@*!r99q8WWx<- zGC)s2kga8?HiYsgeGBxpHR$hQ4+3i73?K)~4id6g@!H@Y+RJ;L)<8b%MBIfy+3Ryk zL75xcsp)ny*IO3T_U}ON|E~quJaH9(wRbMjiS#is(Mr7xdzqOUP#OB?NOlvU{mES5;!C`d9UE6nyVpw&jt|tyhi)S3sVTYx7}$;sOi2=V)DTZk z@ozWBi(`H_oPvUa+@BB-5r5TH#^;cdW~86O!6fTfwYMG~6H_<;hpn#;i|UKoJwtbw zbO{Iu2uQUQA|TQYq5{$)T|;+?G}7JO%-qfIyWjomJ`WF^IdkT4 zX79CEz3*BZ+NXoEzJ5jHvHxpcH}%0lLUn12HX4G843hPkrS#=&7;Tp5`@r=ASA=vr zI_#_~K4|2AAJ@CX_xJY^3V^!(6Bj~UvGR5?fpNP{9DvX<`4whC(I^bE*-LC3aURPn z8pRD%){+ftKYv|{4lyzo)pX}GD-%bv6rz#RUPDDNYy=7knfpC4Z$Z=94@6VwvMPb; zGfC0(Iv;*G%R-QR@xGV(4t;{OsZ5}J9y_34P&w$ZmxxHy^NM7QwQ&EG#lhS2Wmv_+ zrQMSQP}CiJu+(V*DmlCQ`!S*I$#U!kz&;{FQ@McM7Cosvc|zWEzngy*DCCn&$+4%A{x`JUW$$mJfF44-~7XG-gjuM zqxaTHJUVjUa+yoqZ#~gryKlveub}h=hYyH77v2qh-^5#9-U#+h!emq^LyaOGKh=lV zK;P&yB5IHElWsaRvlmK=`4k-?l(BQdA`=CTd|H}ip8ZArpI*8J=qF4}ygMmER?{5k z;EV~wc;Er9?DY+{LGWDuqwBTYjHP$tL`Iz&En^3<^Siqk#~bG1j;l zoONbC$o61m}$2gO%eUxK?vBTCr--eg(=yvT|}Pg3EYPFm z)d@{80zNv&o`Gu6_XZ@g?Ql*`?EQUV99d|8<-Yr`Ky|&K`FZo(fN7?NfCih6U(kZe zNhc1!@y8i*+JTcLR($DENHZ}c{MRff{l45ARlH}~&j_L(ijaac7Cms!A!e>8ssf%} zAc_T*09^5^1dPIAxFyfJv5mm!l29@bg42-CyxfiBk;b#fwHCcwM@}_Ij0lT z(`?)lhNYoXGo-Z?5IexUzKHCjRsmWRa)vB7^~~*DA|DeX&njW8#~e^VpWj%0>0DU< zllCF?k-iq)#Qf$GI>1h{3(It)6BFT~olM>sg}a$p6abKk(STnO&t9(kPDoVjMiv1; zrt)_jW(7>7i?Z5lTsiMeVQA_A?cHB*ORFk6L(+SjbuT^tj%{j2>Nc0;<;gze6~fFO z8J+iwCj)b!kjqWpQw0XQyDib&Bs+9qfaiPqlVhBo&*p6H3! z`Nyb+{BeBP$C8r3*ZdQ`1#nf>v}SC!AIQ@7o4zUdD}#IEVf>F94`DM>U!OaM5HaA@ z%rLxh`%Z#W7O46hYkHj$g7s|MF8mw9ag?>_G5pb-NOO_MpBiVvhA~D@H~zNb2g8%H z`2wsNd`NR@BCGoybNQVA;gH@l+czJ-QmUyz&_#R+Ml+LJDj#y7p!!}D`z2Qb6!I|O$g(t{y?@C54?-Mb_BMl8eZ z#;_!;X=tftj6iaLN-h!pp1~U5_^pW4z-Kdn*<>VS@TGs85MtLC>!6K$!gm&8yh{jG z3*Lpf>xz_?RWz&JWl}0%Y|LM7wV^Yjn=qK1@1gK3!mUu)rq0jiqFVqo(HUdH&shbQOro+_%jzo(T#dmeP+<)67Od-{jkGB=eWc~ zwx&`|&-lbd{7wUTk9f0fKOoQqL^Q$8upmu?=lG8G=aS;$FZ7kr%I8p}pMq^TIXSuP zY$2k&!k?7eSuos+vhwvmII=!1UVN`l1Q&tqCPy;#{5o71Yl8m-^!S7X!L6HT*Uxe= z2P&D&%btdpd$pstL`zmTlaoK{l=6{|@mduAQGatsh^dXUaE++poF<%BvM1}>M}f`x z%{jE4NJ;!TxB~U69LwB>*_q$8rC}N4nYOkQ>gH^zmtT~bn;XyDFvm1WT zjyqafS}};^xHt@hCO=1Kck-z5OmFH3LD;Po!<1{!x5?1+b+|trBC$Zjl#7dtQWt0P zNv$xDd1>Yc>Uik86jY!mB^!tyxIY!5;b=SBD}V7fXRfQq`uEzYX%y!ngIX zX5OMR>TV4+|BEw^y3gPtsi~>i>nri(6wsX(+i+J494TjI+Iptqeq7L&O^9&8;qXQC zK@HERsWNx4{bfGcq5kongE?u6o1wnF)7hLq{AWP{DHBul2V!2bYM889iGq_;*`sS> z2n@2ZNqW}knEdxe=amLK1~A;!lO@1d%lmI(Z~R#sM$1Yh9|WJu#f zdHJj3%wlz2B$SjNK&3=?U;rq*CG%2yKn%6DwapJ@E9@U13!e{^G$Fb3ne0y)RiJs+ zVqE+M8;vACM!dI>`4@6T(p+yr1w)q09PdTDJMW=mX9VR+AVbs5m;{q;xLv@pLoJB_ zFsrw&o6CogjRt=3+_%o!5};;G3ax!OOp0ke*eYpSJe_v1zPtkH0w<)Yr-!ZFIcAr% zILPY`(=^2cl~XnaZ?brK-UkJt+gC4OEn6PpBMjD9vm=^=6apO&mmja6cyZPHE^Myy zKK-DnLJJMuoEX$_2V-?-r`QsoEu9Q~stUb!Y|tcvg07|RQf324Fsxh~e*VtejRvAf z%-7QPjt|F~eXxclZH+fM(N zCGI^gt^nlbbDh@}NuZO+-!~6|Lin7Ngd?h_Cw9Dr?eFi;5sCP6_lb&<5|*tU{m{fW zWgVS3N8X1IpL2mPnwaK4Q|-hK6c24A7HB(h+m|N_s8BXRL9&gFjoX<8I03kAEGgu* z^YJ6zdu`rpdwY9FXXn7WI!U0s?&726trM12wwS!3v=sCsO-t1Ce?emiOo%$aIG@?u z1mmzz7qBBXsPMdh(&@rbsEL)SNRpj59Vcv7v>zXFIGf08Adft2LNy!h1|8$)b9Az? zebxNI-QF)c*SCDe#K@?QMYPO>mI#vZ)zxCW|0?k5_Nviy)zjrwRB#}_b)z0;W+|z( zFn@~<)`F1(*oC|@b$v#%Rm`RTeOsDI-OiGLFWm%*rgYO&G5it@I0CG$Bpp#v2)!-6 z7gNFdUBu&TL(}AkttUw$EL3JiW*^FO*homZcXSE3k-PTS#Em~|$)1mfTm`hh+O-E< zk4@_#qr@JfvU7Bwta30R0JyMNsK3xut4#dzhgTGD1 zR|f|2vD%9NF?R*6R|8{sIH>7Yl?N?gj=iLH-uV4jb7X32`t4$n#?7eG87rKFI5t+cA)8P%v z5w&mj)f<|30?`%!DUJtL3F58%Niemc^LiZnTkX%26w|pTxcV$7=WD~1)3kt;wWS#4 zRF^MDKIvydYd2mE4ke=2q1~2&leS9!@Km<>%4z%5p|=mnzx8*s-zBvbwTSioWi2Ns zGBxcc_U;$f&W?orOGarkvTPDt!8A!fi94SgZ3LLHns`z=I%}GKcfOwznA{KeoHdY{ z@J`}7-Ifgf;)wdQq|6l=5Y+TbqUF9`1!G$@`4zmjb`Hk@vz+1isKLfIa)X+{gjVo- zIX=LAw~9Yrm6Vz~lq{Hyk1y)&O;u&(A~;`_-(rnM>zb!y+d5_=-14S^l}j^FIayY! z2Nb`=ve*H6!@$Jzo7>%2)a4T=p$Pjee&=(yWg3IrdoukZT|QZm+|w)=CHLYtb{d8P z_5z+zQD-;SkVYI9BdUrG!X*9o1sdJ@<#~JR&`$azxeSciQ_!*KH|$}dBWu{`$5Mn; z!HRh^;wLZda;UNoNqh=||0S1#8~CSH={lO~T|3Ph{uM3%r#8oJ5T^MqOuMGK+)YH2 zJDy!ynjz?P@;g|W`i(x~Yo4|ubP4=sQOC!w5Mq9w`OnA*rb~+t^8I_*z{QbVPyjfP zyNHO0cnrjho15Elp#_s(+!+Ha2nGPe^_`tZMn-gJlPkT63f%D@C5RW-hjTvZaJL_> z^wwC|+1cG*0oE7+7J3xDcpyGC-)#U71hDO2Y8gS_`&Z6CS zN#>24_H)|_pe#wLb<&x`3VDH1;C-~l&%CigTgXrbDRfoydzG-yb}N6VPKq!A@j8|1HZo_$m-=(`_8Y?sq->_kw+2Ch;SEj4261`@wz+tMWTYr0v_>>}*)EdY6sxS8xCX z8%zwyAbdRl)#w3^1l8I6;|9CJ zIAHE>SN%afvt6Z__bD$l|M3H+jm^;4Ia9{W6GIZ+@v!O%jKAaKY+RboF+8|ImzQ1% z<;A28ePS)k*|#5ct|8Fl<&||)W4QGjBrF9ff9Uj#!Uj`Q+xkWPFNvqq(@?wUOfP0< z*lnf>0#DI2ck%6%j!%eLbr=OV3QGJ*sHZ-q5xxvOgl%`o3geK_{k<6J53@-QgMEMY z_@#x#i!%M8$!@-?oFa!>#zYA=FCR}&8mb6P(B!b({zKi;U~g~hY=ieLjM1>}oqcgH zQ$9ODKHJe7x!fH)gUV2x6~fF68tlieNQ7&=6q)Bg=)ke}3vnmy-iG5MRqoSl!lN_b$?n5RAPOs;q>$fjMu8 zT3X@~5=S$vFpO+#Q{4ToTTqi_R+lwR;A2JWBtb9$vEOI{3R5U_LQ!~Xu;pOE8L0CcW zVH1pyM^-1G-<<`oVoy-P{fQuk9O@t@AWWSd+Cf1?(p!pCwdy=-OR<;~2q2%nXZF6DT z%Gvxp$ANbFxwpc!^c%LXY)Ax*go&qyggYcq#a)^p8-sXR27C^BybowVO=@yc;1Cms zw!Z}V93oa$N|KM6fdjCvieo1QQdgw%tCiO}Iy%|)^~M5?5#SF!CFS$HLa80gCnFPL z&i8%QMa&4O2_dh(ZOqqtUM~yDj#fDqHsH2v^r-rp$7$$4GIQoq3G>*twwTfc>P$(g znj6mZ^2Z-s@8NzRhKu+6G(VA7Wbiu?cPiIV`>^RkorZ=61@bi$;NhV`$0y=%#U&&p zR=h9YUHWEU@MC44*VWc?^oh=&DPdrV)m|I-%0At%$soIWObj1h6Sv>)jJ1Ku^z5b3H2YzrlyLCe+i5(-0bR z3^El)1jfE6FZozVnxr7}e>Z0lR2Z6sAUW)~>3TOT-N8I-aKjHUATTHCa^4NC{yqF5 z4P86=BfXLPvdP`s$N!RFT34}6L`6g_rAZ@*u%Y?Dz-lpN+HD}-{XvxmM?$B^ExHAi zhF8^aRAWm^3n?Y#3WZO2BxnQ%U{9yiVc7PKpA=%srou4YHWN>K05(3Nhvdl3o=nP(&=D_kK?};Eoc4`!w{)xK3zG+5MPD@e zQX^(f@qwlN#ft8DS^R!LDwt6xVShHm+;NKA#+I@wiz#s|>3p0Zzz~G4e_218`>@znaX$8tJpYnomJlC!N9y&A~78fDN z&PMfVT}`Y=G+U8@kU-z5Ga>O{ECCx5qc2rtmD9wzN}t>vSnDA+o~gm@hEviHC$|1r zwK@=Gb6)wZ!mb{ZHT1dHGVEiN5=8(xr$!)2i#U@E4$IJ+3VqG_iR>r|mF)9KB{rFh zW%8=boX*kHa3}eFJv}|4qt*VU%K1-WI!{Zx%>}Zw+m17fvtDV4o9rb{>A#v||5jV; zr4&!9cH`}@NMZWWO(DN;H7#;WQFikh8|yMl$13O`HJ#0pCWHiX`YC2P#o+y~#>;in zEzM%-OlhkpT_L3HSY(+h4pP$XyMnQqxJUp1MajRueRgqT z?mr$Dd+Q`vMdfQLd{{*yvONj!%6o5qv@-qEvR07{+rglOVP8G&(<0WOcQyJe9IqERA;vJG7*zf_bwp)GyPmU+4icX!D=s|uuB;0V7Srd=R{ysf zb^P1c(|QkHvn1pc+;sI1Ke*CW2nDI;yWMZo+pTA<$zha$Ymz zpl8YTM#}S)KLuCd;VYuDN!zS{D1+CueCUi!tES{tihHhhqU>b2!RvTyM?hmISAL*{}TrxpGppDCdc?EejQPGKy6t{0z)8peG<% z1A{x-NktsPq=GsRQ#dTsdNd*sP4E(Qmf!{dwSs{`Wkp4dZjDGZ+*difr4QJmGInJB zep);|hQ~*K-Sk&`L3@VKeduOkpf2TgGx^K>a!PabFJWvqyA730fLclKpls*f>1q`M zI8eOWWh*W^b0N2*+!@WJ49wZbh=>RAY}fzx{FK4^(3%?x09{NbD&A5jd4Dy^I`p2H@WaUK37Al{dk2;akHD?j;c~UREZhNW#Ue@Bk@Zs*~ z$C!gEUH%CowiB{1dt@-7Tqnnryl#Exhm{U)Cy){?(_bR9#O^O%&mNH||6qpT-Lk4OWbszD zFhaidgyqWz4A#eYu?27{o_*8}qI}FPZprdq|8xBMspQK8?Xd1a5W>HlU=Hy0|D8{F zk+0P?IGnXvsO!2$Tng)W_~A7>Jd`kG60*dBFg%b5MNZXpc>1}L^|ui!ahA4j+&^Rc z01(|^sVZ9Nrk~N09{+=nCXn`-1RD_(l7z$zxV)6962Zrm;BA@c1pU17Ki8zP1sha5 zvc&YR%rrdt{_OAQXuqdA)GDxyyxLQ?wdDooz4YxkAMi$VnwpsIb-!6Zkv6BnLT4p- zx1afa(_?PQORrc@$s#rz-za`~M&bsXLa%h7KDofwU(4Lw>%1?zEF;`dIPN}E&EL|H68NYd|GtX1GCGm9lV zU&4-CmU?FTdEx>EMi?P7VaSy@*!6q~XYha#?w58uQ1|ZLTR=-DhF?3@5>fR0FBhQW z9jkrK3e}AJwB7k>RTCk^b?=^>nHkg6w1l}xnOwB!8Ee)M&djI`LtJuS^(>?7tuwpK z`RHd8lgJ&bs;O7CS#l6UVn(oZWu9UBJNie@H<293{L&*|XQZ0|pFej378 zPFck_sBBVBG>mueH-nWT&$qm{V@`4bRp%!rw(Yq)0t%E2o0NWdv^L9YHYALEAKF=s z#~x^C3W&n)ZPMtZkA7slrfC0(Yqztry(<^=Z=tQdBi8ji$o`8qMFGce)|6tlw7zBr z@NHoe59|y#Dyz1{I-gujPb;KvQ@AKgLF%b2=~4zk6=dBQrpSiG`1pl*J=5m8y+%p4 zI+~D}hQl5n^ne^&KPj=mqEl(ugegw;uDw^*eN(^0-=d`=ANxHY*G=!Kt8?bRa4wAe z*w%?=g{q?wCd0MixgMQGM)(-g+dfxvxh`%-xGp#iC>8X_xQ1j#WHO>SvWi9m%1_*8 z3W`RURnM+;u6J!g6xppK`ip#+`|Si?bR+dNuE`renU>b?w<5D>oY3};-07$1_EjF< z!oqBg1K-_(I+vv-<1Z94QB3fGd+M*tpnp?RpRB`DqbT)FXR`rKN=QSF4sb#t!U@tzlb<8G2W zG2(+r&PeUGe>_9x;>aSRj2N+ek=Nc9nwe(xBPD{lgQ_htmGDaDXG^^>y>?2ceWgqJx5p7o-7Cz($hj_PD2EuRHcO{#}J?cwly ze`T-YEsFfMG-G=Xr)`jFdUhq4C0=L5eb;;R=_KQxjp~k)d=KGFiGd@OvGJivX^EE? zb$_pYB)K^ENBxk}Dd-3@qd~JhK6gP{8DJ%CMU+XP(t%9r-3Chn7))+P+B-IpSO(rC z)z+50`DUL<9wMLhPru;5o6Exm_Q`OvJ2?dLKd}T6zwVRcXGe95&m0dQJbxD!{^aJ` z++@`|eb^8u@=UGfe)S-8#h?$Ge?$63>e@prEc zj!zAThFRP7)Rk*P}@P;j(TC8n$# z`l4Js1X^GFuuYa3b(EVmpuf#`F+BVt*A$XHzjDVmq?)z80S23__MWn>qS>6WW zVlK>QE3EHsvQC@&Xz9#G!Y^c66m8@mvOgoZlp&WHo_MhiXQw|MfmEM~e2NOw$R zp&~C_T;TTLd!f$mk-U3&F34u5vXj-v#Yk;9!-JZG69vDNxQ&)pPfzi!fmfss(YK0F|R`BM~; z#uOVX2Z%BC7==klg>XQ&d41jSn<*hNv4^TZ9V6qwKv1c_5=SiVfQC!Jk@$w0M0C4| za4>)-aR>JB$|w8&3H8?yLna&tiLLI*PuJJild`az)TU%x1 zNSkw4tF4*b)+QH(#Ky^nlI+Pzp)WcOc{`EbK>F#gyppE#wGU`!_z=jJwVYi`E^QrO zdkcdeCrr0nKrs27dm$w8#eDxe2F13$ctSlGNx-qRWMP@PdfzPf_wQd%yE|~0BK9{l zOc^;4vL1Lk6fnih?sIu{e71q=AIM2_5f^H&QLOPR z@FMd;ld=NTs$hYG$1Y~_{KLre0lJb;pU4P^!zHgo#P8wOp1QN={*YiGCL#(^&sA`K z_Jylnf}!qTE_l*+7Z-pTfrZeO`c02CT1ZO1n(I;3+CFc$h*lF*+QB6vQZn_Eu_mrC zP&o(Bvp0fDEr8EE%J^tM!_FkJx;qikuLHge#p7NTcsBUK&S z_BQQEM$^cuW$%CXe?g3nu}*-exV?{qfY_c7df&%Yexf}RY+(_M$Ry3(zE9N~ zY;lck%H&H8$x@R93~N@{82w?;nA4#g8c$&omB52E-F6lk&v~f$8}s_*5xH>u+j+Xz zc<&OGzm0y#R(FIt*&1BZJCo|WIZ+}R@^s`3fATcQETCz`sR{CLyZfW;G=641zW5ye zT5_L_u#PmTqJ(&Q_TT%5_{9fU4=Wq$(CM1W8UGAT!W|e1Vf)(Zv1B@TnD7m}o3Lq^=zvVS>#6=d>>vu{BKQ6QO2&iELF? zF33lGLKe$owgZX1D?^wV5P`YinTz`n9_Yx8bvx6!`x_|2zo>~j`d9jqqJGv5BW7O4 zwj|I}js>}Cn|-F}(8%aQ+g(D!_Kv+mYG1Ly)5dBERE9c(SFOa4^VQ}3JZ$r{PtDN> z*xFav-$FxkT3*U|os08L(Q_`k!&1EZpj2BtP!Q*K?u;f8$Sy3`IBEGoalqWZN7Xi;%g)Z#QcA1IRB~Y7$ny@c={B z=~+&B5oxr{C09B4nDbG;Xv7=k6Hf~JerFjDLc$M?k7fi_j4Bd_QP#v-cO{8o$F6S7 zf)aj8askS)0Mim{kN~*DNc-NjMA_L{(9qCuzVn=oON_*@sJc#T_+OJTPYS3^3l0tr zYotp6mjivifko$wE^F3wC)*iQLQ=B*+p76(K7KM>vj)xg#)@A0P}~~3LW|e_R*rlx z{e@1NE>=@_2HfsbW2jgblAneE>meum^3WLLF*{A=!F z=Fj~DNRjW2uV(mTqO6i8;%r}Eb!q7D#h@a3bOOwNqV)atbQLk!5uSRyU6t=qH-i^@?fO_t5_Mu699UE?Os?rWAd945@A+VJYr+8W zJXbyJ61^|8DFAenv7!aYn|b*p33Y0K<0GzdN>vtDgY#qSg^{^jl&BVJI-cMnnO1*) zN^1h^vSx`anVxgkBxJ4%ZI33*<_zT{(YjHZAv*LcNOWs)0qfxW9%EQy?1Z_$)Im2X zRCsh|MWTono#jq)p6nyNQ+#DevSOairZX-IV3i+yo z1~i{ykuEv}_UtLO8D^C#wI()2?s_jfo4st_M zq$^lV)SfY19}GP7{5rWvd6TJ%%L(^$5f%C8E@^CcAdHhV#*VnY!0%$n^u>)-3R3sQ zc3xd!;S+%Y30izfULE>>Az=!iw|$(yoV$5o%`?>rI^2(pjp2) zejqAK78hKsCkKd5d82RS#*}WYftlI3*!`QWEm}+-f4rYT1;{rQUV-4(6wl>g??7Aq z_EU9KmTdU?JCZy#fG4Y?S}^f7tIgl%T_z?ZeDNT_h~SMO$SxujhzOVdM_8rli?=uO{FJPTYOP@Ig?E`OgtlkYr zL)fT#Jf(_gAzg@ie@WD1DL>9}_#}4#1zyh&P-*Ple3gc7G4*3tLiLP7xzgZtL6U-( ziEvjB4>sgX*%L7%-KSv(|+eEjdHQTZe879eqexBx>#pDHH(8k=%pOCY&A^ ziW3k=W&^j0kZ{VtqjMPV78|i1%=j?+rXAp}5X7l5X5Kv^7D7cie=8+jU9wM(FiTuv z9J%bbG~Zk5pNu=1+4I3k-TblxX_N|r@mQn zz9T3&!k3TSDJmMG^HLl^x!+ZAH-jIXQ@bJdjNWJFzrUMIK3F2o`&0vQv_W71@2>rb zZ^iuji;1I$4(=TJzHEJ()R#f`I;OXbN;R)=qL)J#BMo^ZcEkm&{t)hgUFb;YwxjFH zzj+q_ByL}5){i5@fWYw}8y%knuE0}=wr(V>Yele)vrWEWRQ=Kb$l#Av-EWupb)A|3 z*8wyJ7#3I#&6DNUoPEyU?_<;$hs1KeC4rk$e!5*MPyoP|v$EwP{Jh`!jJ=i9H(>)} zt7&Eyoh94-sFa%2w8ar1+BGiTaF5^HwtTD%-b;xIBu=PP;+D?&dRGt%SWNOZG+0l z1nSSf>=~f>oIlSByZaPXogVD|wtjEx;6R-=Liu)90;qHhNLJO5c5GrVc`ANy!B=Av zUDn79pppka^XX!=fY1~q@+nzZ@QkCWJkeen8Juv-)B4xI6|NcJ=O9ufE8`E+VgO>} z`?WINFF-*3J=LqP8qTUp;)i&E1@L833a;jeV8<0wGP1yy7AZv~CBz_{#>~fbA)X5H zrGU!9#}-FgnnOo7qXY0EJO<$}Xb7SwWbHE4jtBWs9_RrF2To986LR>0);T#_1`^Ji zvo7d&b212YH2{yY>+0w%me@xAn3asPJz&8-_Ab9i>^I)jY##6|KdlmZaBvXVhwV5D z2h;!;x5&hFWd1$cZv)9eLe_6EMly>fn|#Z1aCeJE!G>HfI#GK7_B*g$DdgzTLasSD z?wjRf#4X6C^$nwE(Ln@M^G|}7>WER^r`N@v%%kS6*_0PCY@3fpkLp^%qlg)+tWq|m7`0!{zlI2KXs$b34_^+GTSl4og}efz(1&d4;;2pEdEZcCg@)O zfB|WPu4(X&7Qj0+jAieNFf~n0Z*`oP_x-f{(DbtbhSIOkXuBq*=<03%!X7wzib9}V zxn+M}prf;s|LqOforsizBDhu8UCqlO$OpG76}eK^c&sl+-)v0 z@-K>`nX?L@y#3$||2PF{w`2P}K7Td`LdGKeG$g_5Krp7i zcYtH`)J6sb)xHheyyk|uAU$W3ppsQFY2F?dyCZZ946nqeoRM!yqp&uQ+~NwGZ~NRLmJRw~h0Bg!=IA9XmJ$ zv!s9#1i>OO|LpI--qHvPo&5SGQE!g?=JimPXtGuN;P{-S5St7OQEO`}juj0?Xb;I9 zZiQ;2)Tfq{V>qfPk+__6J1+R=BKzc6!7e`skEEmBrO6G(V?K%b8}@Ed)i-au1b z#w*h(`V`8Fj%OgF8?r80oE}7L$bmcuv}|WOv0v|q z@8$?kaVdrI*gY)vNgtMxf*J&8+^i$WlI65`|v zE3&l{N#(k%+Y}gbI7vbFb>W=(A>KTaRq4`GM|N133Qz1)OYY?TW0CiO2mnKEh z`^(FtfxYa8CMLRW>>M1F!6rAwk@&LJtXL1i9|sb{018F^ZVUHYU-#l1lSkw4-xMGI zz$pCubGTZec>g&i?jpg$CGqo)AW6B0Z)D6O{7%qr=_7tP=7Sm1kp9}(>{tjF#HpUq zX1C;bE?Ke_u9Wp3)>zOU7>Kr;7C-(hE>`){J$nz-w{(B4H=^F9y-J{zM4HWjdEm3^u2&fZo` z0tnUBsL0mi`f6{m`VcTmLne2ZRkw-jhi&S&f$oQAUhRT(926j*E&JjHOL925w3_!|ywX!mEa+eIZAR@qV^u<7$IL&&M*CT(uwWj?Z9;e0S$B^Tu*AG;v%H1K; zkjnyAR>Y@IIA7ritQPS36d+ay{7o28*SBZE=T|wo4$xs&m%*G6=G=w0eIwGTOf~m1 zDxu0P;j&JiHI|L+;QWl(K~V`!(+b|m8(~5SK}cxeH(JaUJV22{StHl6j?}PE=@U7; z7(0sr@!+b)qJHos3T>&$n~3P7hHj5i@EiESq! zwP$2THQ#cV&i4i6e;WcbtT-y1B`L`OsQvNXk5z~X6yF-reM56?I2!&p+I~|VYiqIo zk>HkG=wZqo&sv*HZ1PO(0FY^bsR9i{Let>>ejUW^71XBt9_*VW=-uakfpm^hx3p#g%#l(;nUr$d> zIr?n;0eTS~oA|#SnF3~KO);>3Q8wEKLXF5BPL12MAorKzcoU|wu$o>y0t?VP&Q-St z%PMp@?E901TZ9-8dGu>t@BMbax$uvTjU`>jym=*f2Zx3H*qR0__%rThZ%`0Rtg1C7 zhUN|R>Pk$k)Q#jPC3XK~osV6blX2q*7`v`qVV{E8gLiycg0u1sA`tWDxrb3DV zWLN60tp^Ii3hepI{$pGFRNCQFRh!I0@BcuT1GmhTONPO|WE^A#a4dqI0fw27@^I3c zGcmbO?9XJ+q@6Gga86slef#zqbc#sJSh39ds{e3Uh22KYD)B|0(Ug-sZJ2VBtkmnB z4c!<6ing>&%12rK-Hb*3ApjB;vcH(L6+Zl&kMbtEsh=6$ZHRYAtE9-2{vW2FhhlK)%hO%ge=2D5 zN=C2z&9zS2-nM;KZ4Mhq%ZDMMg}(88(g)PupiPOR${Bt1!OR!8`vXYwg{>g+ zmhus=`eEGETkSJ51U-{yPrF}odYS_kzq})){np9DS)vC1bRgdQhd;P@qN^gwzyW+I!+%O|-xK|`1P zeZ6e=85mTetYgpj)8Xy8*zh%a0sjpq|Ht!P>z}iVH1zsXMWa;|mT~a$(GivV7bqj_ zD{L4q+*AoJ>z%b^-Rdv!7&wn$w$j zG8&ZS$NrJ`HI#@+d~ENfC#pF=D$WE!Z%ZuD5$O)Z7CUDX;$oRTQh`)# z%|A>Q5748)I3!pFdyZacS7X64N6U?5y*IC6i7b!?Ln2A}w)7(q!ffrRhw_o<4A^kv zJY;nLRvvG%idETiAKi$^;kPgjH&Vy2e)tdKb^-k6vnVWgLk3v<0vvvhAnHk@>w>TT z`ua3$G=RjMUA}3(h+%v}eRw%CDra+JlCExN!RB)Evp@{{a-(^$;aQm)_E@tY0JfZ_ zXa5*ufaBc3^vh!cA=IWZ8ErG5irU#){`&JL>?!vnXP@g&Cnd$jR_krDNdW;k@amg0$l8qZs zkNG;xg2~hG4+GK(Z&P5S;jf5@VEIl)E)D^XQXx0v&e}w`{qM9lbactED*_)47m}yn z(Hp2`ikpyz#{M@IfdkUXeCiLQ7s|%%2;eyTSjEOv<{qc>hF6<5aN~{d5C-(@c@#@t zipWEPRjm>yZJNHEyw@(4Udz+VxK=uE@{xY$6D!gTp_Jr_U)wL#0_qZmbkx@izBT2Z zt=>CrFIb?(=s&&$8>UbiGmPrg1Kus)8QfRHXgQH?22X7M@TgCf9Vp&%@KDP^i zAU86^k?(I1pC4y_)ceHTn~Ty@_Aj#~k@t^QNE8|!or%=me?&?L0HOGi>3SbcKY;qC zj^s9J_{;cQY7mxr>HA!IXU@eR6(FxQB%v@sX0OFFG^vzcz6C8+hPG^b_ww9t(MvLt`J~3-sac{A@-yMGGB*tS01KJRZ9)eSQSGJ1TQYNi z89vs~z=m$A#ki_meg9#JtUIp-*x1;>8`0)k4&aiS)s(l6mw)f=TD|ttL9m3W<}1!# zUj!c2p*O76xU8{qap7PSGst`BQBR&OMtnWAzwXxPTBD?_2A{hP)LhmE9U#im0=24%jaO0s^sys!7`!YfHg}XD|P34b#v2s9z=ySd-yR+*F!t-0Mz3j}#q(Nfn!Gi|^w2{y}Aa@uZ{Gq=Fug{lbHE6`1 z4TBEP9yf1G8WM)QMQI42HV;La8v~#8<4i56RJHZ9rs-mKBk6qBm^bM}Q8z*N(%l!5 z|1h`T9x$S~2^H`x(xRW!Ht1m`q60BlvoQ0xxf8Khg571$mNHdKa=>ZHCp3FGS&azdR(`r#}gi-9BUmTG)aCN-(LfM2s>0Lt3+ehBZ zMIR>1ibxD%d9si$2nu)=pVar>;%YhYRsqF)9ad0Ih!ym{;F=@oS^jb(TQFP7C%Bkc z($$mn0Gew=+efn^D{Vlc)U5}zP`&XZb${w@iQM;RYDvtT!t1*AqW@gUXTA5NIlYZ{ zD9f)ogEUYj2}nlJ#N>Wc^o>q%q;~#K~CMy{cg$3|_tR zwf0qFVzf8?1M%?oLFe}SLCZpZ>c{8Rfl4st#poD9znm$eIXR(dtH8g#zX8`J(l=7H zbaX5+Dw<~t@cpgv%+8YCcQnwDXXT&R-hP^j#Ujsxu8VP z%hX+s#P;}7-6q^cvCwsWih6oJqv3wd2vHeg_xJz4H{N&yhQKY)*=L`<*P3&#x$@tj ziA=rAg9@M}-ejSb1yxr-TwumeJ3Pn{PVRyiVMZI~yMN|uix~8NqQJD`n6iLmVf01{ zyzI@Gzg~%#QT;IQN3#&c7EVq|nehvdHJJ&f zkdc!IMnvExt8nc3focwPdx0;=BAqf0&{Uiev;w^U<;xc`r&YWUon7z$=7oY!jPTkD zpyg=3SbQh>H?ISm1EN77Oz+=!o;0m_nm_8Li36BaB1Vbe;FFj+QAWo_haLp#V@EL?apulgRN3-$fK2BU(%2gkR z9B-o8zhg4T~=7Qgv=j=|2#Gi7WYr2 z8J|}R%gf8d@A8h%xD`7zS2Z`ah@U5gRsMenOrZ%Q4<@nN-KT(K6ENRa$YiJbAJqEt zo0<;L4m=e`UWBWMLRWH*@a?;F01me(NRvOF|I$zPmenz9;Pi zx2lLvP*Vz;J#@3z-?)#{2024vAfoQ(9$?zopg-Wm{FD~?Y&K1`~RpsUq!Oi0T z$h|#r%H`=P?qvGs?oCg?oJM?y*}=-LhRpI;GOlo2G&NV9wq5cNz^-$vb_HQ! zex#$V{ed&Xm!gs;p!KyN+j2L#p_Fh;F;|e7$-_wVw#&PPIn`g6dS}LP(p19-zKUd* zmpe`)mVx4$nXhY=dz+|-@gNH4svj!zH-;VaDD#CrQ&QNVq zO_IHbe|CKI^z@*Bh&##$Dt09WZw@@QsReG`f029-)5%$^qg2x+Y3tTv zT+_}I3XjH|&7cBAX=V!^H0!G{c6SVpYGRU-HOG}^5VmDS7k&xb&qfp%Kd_&ztFER7 zC)k#OLRi@@G#dS-zG(Rzb?{V!joJ4=Ztntg?g_Ec;QsNi^M^6#_zed%c`L z)~^e8HC{QxniaeMV`Q(L+ZL)Z%2=d()9N>_-YjNNw&6==3?^{z2n|~-2Xwt-nrj-e zgem#N55r4noG_RPR;I7AlVlV(hH23}1-!w9INiEhw0+?RiLOc1TNkf`wES1CJ@E^( zu`g=oNOTO0_cm#AZ(UUVSy1SI0*APG?&{VI3Q6Q$rajMs%jpwEzU;0$N6lX1oTGSb z_ScajU#^{g{^6=c`Xb-|a7w-|o)uFppbA9#e>>8sB~+5WVuxV{D||aTdYM42@S3ef z*Wa$*F>pxnUk5RRFepoi26Pq(-A^ZLo$h$pgP}!R00H_w3osn`7*SDCPk?{Wf08@~ z^hE#?TCxS?S}USrY@jy?_{L2kN8LqrEafv2c@eZt$7k zm}qJ~woYk6A+KkhLgfPi4u1#m|DbH%FvZo~UDaDk7^=nddi(aCUX4A|c_S#$FsQa| zfx9D_CyHub~E02$TCixowYo?P29PN}Dj; zOeK!G_X~|QO|@oLe#|TH}6ItA6C-q{>;X*kYJ>_VGEcM zDdCi_#L7^!>b~;L+|NE$?OHHg-Ne{)q1&s)Y(5?;;Z)_3yYFwdR9SakMV9xZgKYZL zplXfn!4Rq9aYgfwb+eBKVFyqAxq59%CLe-z#Lb0iS!dAnso|To9C3A5l2|96rZv4+ zl8(wOQEkCLxbEUTh1_*cVcX+N5%W`L(cj94OI#4so1_6Q{i7lIR}xO@JW{ZmK`OZ@ z>nk-3kHMPnIG(?1Vn$JNv5T?@jc*EW81K=*Q+~ypCaWRl){M8RHQ4TopeHg2RA3Mg z*C}aeP^RpOo@hF*Z2$^1kO6n2jR!^a53a*or~>v_4q)BK2F!{dJ$h8G`#{unlT5qR zaBByl_#JhRgh?DL%q&x#3m7L4l;CuO+sMrnx@nlB&&ObZG*wmo+s2s=OlnASb8}UB z;)-_pq&<1aX4UooEzQ*{Pu`Ir`xnLnRX-BG{g7vX2Tq%j!PgkxdcZx5;NfHKn5VcY zsHCzH6ng*4Fh+ub;r%D1l+~fs77{i&bhMkgs$9Naq5zznAt)y&*DUrXz0l~g;rguL zD5L$-m*)i6awj>zNCwLBJBn05rJMv58*FS!C9~s^{dZ&Bck{fQY952LlH81%*B(3H zn-LfOay@5aOKn=l5|qG-!r#CN?;3VsqDopAqt?SS;2kk_w;&S7e`!0+3|-0aoYPrE zT{Vpun{;+`WK~t&A|@sV1|5;3NA(~|166FY*?(Ahc}akV6VN^vpk_zM2;GU5^vz zEztbstWhmrGB6@^?!(@Ql5t}4CI_-({~uD?_^c}&Ww&8+bF>q(v=rzmHU*S8_EV#O zOl0CdJb~x=UrVl;J8RFWxR&{?> zVt@7Q>856mR*I1y6r1~a!DU}yDr~e|iilFbr_|M*1CtGq!F0*c;`i4XW(#Of=6~qn zDj{YLfwwCD?Fs*jgES4X>0S-(@}s)?N5`S$$%rp zCI)=b+vjYZ3oSGA`q9Yfr^}Bkhct38Uy^4buFv( z@72;G^C=~gNCIB|8=LljJofbk=Niq(C8jMQ86KW)@6zM|DVXF zYpKGf??Os8e!s#@9!c>gsJWt{!OYEV6@#1hrb91JHEUY z{I^h}A1v=r6cjK)eRyi))#XM;Hqc=J=1szV$8>!tL+v4b?C9&d6!|RmMPSK<1xcQ6 zn*fKJ5i>!J2wkn2kQLyBbrle$5V9=-Ka-{*TV~vJ{afK9R0r z-i67s)N`}53umgeA{YFrH<_?yxx4wMIS-$q3SMqEd&xZ!yowKl2L!!DE{~(pNco3)QDkZMo-N**#Ho~XQ7!ufk zX3zV!yJ=8=*&;mp#UBP~Y*;&V)B2wZF;z>_?Cx!k27mS5Xuf*IZu3BuMT3h9l);wk zPOi|$hRuASh8|E8R_gEe?=BjJH_k5Y)vsfO&&>KeR1YrP!oIu|^;;*hiUxAjXyNJY z)21ogF!`)SZ|Ktly`Y)}|Cz!Vf}>+jB21OANTIjgPB`1o(>g=;e6MbylQ8?qUzq*- zeTyiLlml~rldxG9J2`X)1GJ^%Z<>_>FOAN=%az?(my!fGQDv|!A3WQc$)+omjchCT z8$6%axb&oZ>>koLQCzLXUfX0}h9H~+WQX?=>T1ly zemr;6y;{PStXxq9OCoq}`1)~`?(ulmluMaGmtzBqmhYoeRDt}Ywiw4hl;F^%#hm!6 zgO{A>4a^GYs3L1ln)W|WyboD@qKk`rIDy%t`{_JTBWecD9OXWe9*<6ie>RXhg2ci9 zdSz+=^Kv)-xfA%Sv{yRd9C;$?k=lgOdIErL2Kf33Azij?m9<7*-Dy;?Hl z7M#ZNh#>%9-1i{dWKm?nBzzriuhiwq`fosZwqf@aUzl2CXs-pcxk|R_=!&qG(Mj+| zW~S!WA!;_}`*&%xQ`}V7gFGZ0euf2^4t#l((7hTF;-apj-F$H3Q7L{Wdxh_JY4hv!ymtU`A%FR`&joodr121%>oZs#tw4t)-mYU{7|eNop7 zpy0B#B^VcY7<3GX=YKtTZDrL4hP-IZeC)dxI)wqnqyeC$LNDbI#MS7a7#*YOdy8Lr z`v{13pB(|Ulmb0P(5CfSjdFZ`Zob9X3lX;S+|QO;sQRO)3i9fDdOcHE&5e3Y=yduR8k#S>N{rmOd?$ zw$r`7VkL}il{FDLQ!gLzXLkYf>_jLO*K8_w-`%e3+ck5mKwzp2 z^tT`&=?vu~?&f(e!ti5rODEwXjh!orkX(Zn(=VJkQl1Mntx642Lx-!VS zZFb_~$Zd7uEc8`O2Nl~*JK>~qCE9nSc!*I`a}gaZd>prK-3l7RmP!*Z)~mn)iY0df z!I1HcfA7;jg_$he*v%e))ggblqZ`QjIAM+Y%-afB2lJ<>ps{y;etrl@_kwXr<$;qz zZ7nSjvw>yz0yTAgR$I`EK%Fo7(^-beS<2R7#}Tv!d{&ox{II&=qd~93*v|oHZkPJn z-A^;x_I96q?ipSG(zaQj&fEJ^r{7ckfgmC;Y*s+=4{TMidDhfaw)6Pf!jr@*3}$IM zXze{;Hqo#sxzXIMW zvdExCKC;a0iqYG@UzBz2&DH-fZNXr7SdiYiLOu4Eek8;b%W-~sa#}U%M+SjLV+jp@ z5}NOMnydd)SOEAEWNMw{Ycm+dS26+u@6$ybn9ug+`clWYT&dTXXle1_fzX7Hce0?^ z`wW?OdD-9q*Bc&G8?LTo7FA$SV4udQ>dKl?XX8^(RbBc-zp@(Uvn=?BX_|^uUO}_z zoW?JUaBL}2&D`d_iS)3Fiz!`kqsN2|_ddGEwSh-E<97Mvcu(8^-dmsg>GRXg^V*a! zzaqdy?_rd&uo@P0(O8bD^?lpZcPs;7aOJ!E4w=8BJLmUZRVxA~nn*o@kfV7ovN3%) zsm8{~mls(E45Z?Jqnx7pWgW(=El$<0j4Ni&WMIeCvVU?dRZoWWuLXsW`%9{N#h8wB zu9#B4DY0fG#D6#>dZi&1`B0%LNu__@35-Ai4_c2WKAVI*VQ>BR85MNR;t8RyCYl!4 z*TY_BE5#_;dXE&OD9XXYy{_2(d`+XqT zh?yig`%OVf`8Kf!3-qobI{9puFLVJkXj>q@ye}=C?(X3c{)8PZ0M*fRt9wos8u^t?swO5gt!Xy5hL! z2OyGGFRdg-0(%3t8!F^_&G;F1oR9$}PXmHY4?|u->rp5$63d|^B+lF|76R=ryk2_B8uyB!QiQAu&Uml#v;Y}?);W`55qK3J2x12;4eWt;%fKYNB6;H3v z@9)={)9>+wg>JoN#$$OSd_6YQUovp;(mpv|_`ns%>W=>SdAZhjs6wur(cLGRBWIaE zd1v!pltN`qbT!$?e6@@`Kuz#lV>=6-h@|{VLHVdWJpSR9z6hAPj}-=Mwjq~p=7@{K zWS%;Pf7~0QOXbR>I&9qBgn-6~Y5TL~8WA1s()%5L7EsL7yl$0WPXQ_hdHZU3Knb)S z7OX9B``y3{S(4k5`gV*+tVxN`H;N^Qm&l8UbYn$z6kfjOR%h&8IUD%)EpzG+Oi!|e zIG*pc)#FmCpurup%-=F+-g`1Uj=^FNcDqg9&^(hhAhka2vd0#Y$f>5ElW37Y6i@^E zi6}2Qd0#5A$n~VLq;I9GeRr5$HcR~pr%GzX&nN;22*vV4&EM5YVov5 ztd{O-Mt^CDt_XRfd*Q&rN#i~#g$3BcS&&$9e^m*%=;$#pPo(_QD8Tou79lz56AWP?oS+gS7u~kx$cZ@jFLXMI=)(X zdsSvo6F2|E0vCAwq-a5~<7cj*1y4j=oD$HNkCzxIJIvPp*;7V!9X*4pnr{O@D$0G_3n zI`OUw)ZF&hrwsbz0jX!&`}ct(A1Kzl2AOehljf-054|n$=WY_za~y(Cxwy6#%GZRX zFX7=i$>T8)T{F6#bvfx7%?C(LASi4@9JG;IgWe&P7>lR-r2n1F!u)@yGT7T|o+_h9 z9v`q9@bl--)V&aVxT@-4=EU0Ss$;7IpB1Qw-B2KV{YciQw~cx776j1D?8Ziio~Q4h zU;&w+lkG$L6dT0Njk0a>BlOzxV5EBzEaDg`U8Xz#TEPRUgAT;NqGz=(x$0295ASnh zB`yy=F<|npw_4UzbdBN9{~Ot-SD5A2Yx;bL&r{(*@Jc{P=s@3e>SnlX>G)GX*Gm*5 zoC8JyRO7=?x%1ky1_0PX(3d_44XvC7D!?Gcmk*)#uCDCj;+UsuPoBtv&Rmc^%VS{~2$&*g*VWNMhOKI{%#wwg zy^~HSn=c90Lt8*i3`6qu5KxG6ctK>WhRnY7A`nUHudYtU?70Z@Jss1rwzs#`iAvRm zKs!NDOWWBRO6asX%vM=ljj>pL8~s0QoHn_fZaDdvcZ)$(ihn>_1d2V>3pM-W;jB+` zU#&|FUa*n0@9*voAl{V0c5VGLQNe1$C{StLtYhLA8cImB3`~y$RXDaqRjGi}<#2z1z)!+bR^Yik4#vA>E z9I*WhH3^O^V~Xs`2jN;;w>0mMm0#@AW0c1Qz;t6^uRf-TfOvuKGw3htqHl(t7CVQH zEzQ_6ru9U&PApR1REy;p$zVUpTx(VoVJ(v>lWE>2olUu_Fx&Oj-Qsl$sKIEeI>zlM zJOYYx7kdRD;bdZAA>G~$2xq_&eTeTk_sh+-JrJ{2$C;_M@KE$7)=Msqz8CY6y?ygH z#l@qWK3rzc0N@B04BVYSJFa8t`(mZV#UO177hNMICVu0Yot-_f-vJ5$mph3c4@)Jx z??1+B8j2+z7?PIFK;{MAa~LSr^AkRq{yRL}tVf5w3BUqVcSXADtG6NM766o^CqQt+ zme_NZX7lb{D?suLmjmpuq2C*Ztq#wFmvA5w9&AI9OCi*lk%5CQ#7B$qt4!VRTgU%B zzuNB;Td8n!(AiV!*ml4-Mg2tLgFLp(Q_f?42 z5aF2N=NMcmQVbggJi$a1vA-}@10AfbWkCi;Pf!0~q^|wybosZ1v-{BMSd!McS8wg z?^lu

G&fyK{!f9PMEW{u~~=G326;vu$qi_SICn44heZfjZ@@uw83u z%_zUimJA?wIwF}GkmxUuQl#vH=)*wn)TT#pAc(-ifKAWLynOY_d6W}2-!BH;Nx`x{ zx0Hp-y-(kH-&~#Q*1PkV``l3n*$}$W1sss>Z|_IH0Z%tbkO|Hr{lO)*a+SuFo8OC1 zzR}=b@$UV2PjwA-V}U%`_nkZor8E0_d&}LnwFgg3Kt;%?{u{LrN#Kd-zCZs0bMa$_DJVt&6oe@Tq$37zo+UJ8 z!t%Y|tpO_UHq&DvoS-==V0&Md2NGc5J?1ndb#A&lUDaO)uopHUDXOch1Clo^nxtls zKW;|T@U?bz;VNa5gEQ!WqpnS60ns&C`Ia(K8n{6NRgYLGDE0~AIFF5uRRoOz0XO_$ z9N;=|X$@xT1{S}^D?OY{6>Wq2{a+qMbG-2faVCe+1L_rE?~7goFON4;1mD`)GCFx3 zTuBtjgrk>1k1AyQCFZ(_?7aWA-TEwdSp&wI7;h^7*Ng))-Fz3O5Z&Y72d#vY4PF(` zgGkLWml)s9Ut$E}-e(B@{{-A_C{Jx#%tb+lwR*42H& zr&}H{<)i`*1VFzLv9TTCK(2EEbvuE1JhSy0^xd>R^Q+S5QQ@Ezwwn$C#U8#_TlpXv z&g3EhGXmF?IUIPF-wBPE{wDB-V9}b6ih6|WLA&W0XxJA=LPUfGfu)o7;R}Ta)D}SY z1j2<*Frk|BrVzg!7*d){77!lAUFD4PqQzqn!U1eS|EFXS-1bwan!s<|;BiYkQChm9 znIz+^spdau(P6Ib}3Nc zMjzYxc1E588P4LL{B-nPmFLA$_)Cx7F9WV$5hUW4+t=ep^_FJwpqVT%qX1%L4RYI< zIGna6>vI`XWL%nDfbIh&@Gx*%wjk|snX9s)p8L4dAR0BJ1jiL%yfMNzh8x3mHr3D_ zRDb;vUr!cg*rw*1VH2YqM^rc8ZQ}8nH1+6kA+{-fzgp)&0k)|#H=}d+#33+Kajq=u zFxH=#084LRt*auU0dC$^XR%-P^{{{x+J`pd54_n|%x#eXD>2{x#Df*qX_~LAfts^Ympi<6D0q3;~8+S!kw1M@tJpN(R2W;Fv(YlOj-~N+S*w z?t}C+E+(cjLOz_Zl@xNYpM)YGk9hF%lkxEI+>A6`?@90@+8mKs`E}HCSpv(;IxS)?HVEiorhI97W)#zWUknVpt6L73@ zWz>-LHBl2{jgKz8`xaQPW9M^Cy>5Jlrj8NuPy^CW_09Hp$=@%JY^Uzc@TZHrqq zUp4NyRAa!bj!7*?OG1{W|H4lRv_)L!@5IX%YMvQf$UUG2FtWf#G5li3cT@`;0?p3|&ECq1n#J zmTU6Ij}OhgqrPoAIg14a2RmIJy=i}}EVN;N>qbXXvc=Nd?exu)U}ZKL8Tey_?c|6_ z(I3;TkzDJyZ{_^`8#NfyA8|zq-T;I(9qjYBImEv#pYFHG4#||Ex=(QfK$nA^xq49R zd86aUNTeLcNH>0-+95N$KNSpWWb!(Uw6!}$jdgIaZB?sz+O`7AfBW9*yZl(J2Rfca z0k`Go&FwKAlQ+_~z@mEuP>A8G`7Y0}(NGc)qkY|oj*7O+173IF4J&`OyqXv=+KqZTU%L;(A7T$djZMro(J7K9w9%5DR zPX_inAIJauIp#A_^AnlLWxH^Q&unrz8F5ikH+i+c(8Th&sOY7hcGNBlJf@2oK6`nE z>A8HEWDiGOSezdn2^yA`;*`NzJa6hoSs*mnywVlFvJXeqcTm)f561Z!f=Cg)Hj4tE zI`H%&6%t6yB-)$2jxF;KNJD@M31(1ZkG70Yc{sxG9uWUiubNlqchcj*?6Lqe#d9f? zCd_RpkOt%5ZkVbk%1`pB`wmFZE{^*6K)rB#zxdtf=72MoD;kq8)Lcdz{{b6i&>%b3 zTD!_+|E=rkq;53d`I(`-y3~ighW~aKw-L>{*2^ zHOsuu+M4F>`t)(&T5!(JrhZ3#=S=6f1J}WF;F+@5(m8})y@%?M+yKo<=dgAEG24-X5&_j2tsXhWw6!eeI_7c{ea8_459r44ZVP@O3V zo<-M5T90m%vr>JlsGwv{Plq4?vqBF>W=_0!=6^E~Qa_MAI@@hqmwulC8oX`uk?HP8 z=l!upJgNn zL;zb3^R4$pS2-`R&{8;)mk^;Uvc`Ji7e4BqxprwoFaC@I^}Bb$P(1~(TgMP%ly zLUlvKnAB88G${cz^?*qR{E9qC7Jq4#e9oqB|n1K(Pfa*N@x6irYsq|-`R|!7A48>x9{x=w3CP$0gJ_4)H0&<@B&CD8_#x38mgzGne*1Krhu2nWFwSzBH{zMA?YxcS(9APZ!Q#K#~0=Smj+7=V6v z|A>H77FzvnpND+5rUhk!oX7o3*K^F5uk?eo)FcDrWsny*FGfkKaO}3!dauDP37Y3T ze(Wh)Db9qUc$?~T(o&>WQMtvndw3o6>QZLu>^xp3O#VGynzlujf{%|x2N+JZQjbp{ zS#|vl(!;Z_Ay$Oo?#`WDpu?}>@!w9`w=D_TQ1KVG97=zomMTgPdP0P#bG`nAW$A{h zf6c}^()ZXK2Ko_@09zu^>6-u$B4FXDof8(Vq*Dht@b1cr(4tqGYF8npii%2(;%)N3 z@2Wa>44nb8;RLD<@{cQ6a{fQ4E2H1VEdp#K1A}O+P>jnuFLkbdRj{K7p3_E5P|MKJ zK7$Lx!5+y&9jUIbA69wd`Z4JfD`*D8%fsX5IV0?@H+>&7_f@3qd%U~3Z=O8Q2nCf; zW-jDR6t^PLH%rj%Kox0*SGXWrK`s4rAhj*Q>s})WsJpQO9zFvCBFj!{d^iB6+Rc9$Nl~@IuI0o* z4MT_hX?{))ct^*ZK^Fd+Fg(6Mx3%r=wu}PxVSqtH(Arp0L_`cfYUsNwbnLlOQY^#J zeiqS4E7U##Be2x`UQkf`797O+&jiWDB)sqy1Pm7w zf`Cj*9+=`B2ao;-wkl|Af6A_*r|vEiw)J=a#SKi9mw)=s$b*L!@A4ahnzfh;t3e0? zZEL{yvuDrkkjefkSD!zAdc`gS9o$S+)Jlj=y(PVGfch}<>Y0dqX?uMw&}Q> zNCXK4@PQ_m6Bd#uHZxk$3uI*BxF@>^D;qI$UO8{z%TUh&ef?^ec*oIN0%*soml*E@ zTvldBr0tTjR&c@4$zh>!ZZGOzS6-7+_R>Q^s|}wV!?;b;f!+JY0N$DaMHDTYrN^^A0&5(eRnwp|CbsKnc)}umpS^fD4J)wT!vX?i@8uAw&{K zsXamRZWIc%ss4k5|6#IZoI2dV01hZx7d?QXbi}c}2UKo9C+^)9$JF0A`ub%Ms6GWz z9T~tl(RmH9Y}t%u5E1vAjXeNa2P;2+0v+lLpwqr(X9MA@BSGSf?6U&+U}$w6N-G*TpSeRB;wb%>V_ z@Ex?YlAe3wgD0#(v;$%VgO44KrV|Db*y*z?e*R1jU+}I|IKnJ0EmZ=g%K)U^_u?l`8W%l6xK*4!#^N9L$s>{?fPm!-I(9chjPm0EN z`ws!}Ui%Tgm#UIS#7+S_^Yb^=MYQd~l9R+@&)(HD%)zYQd#qMI7lIcZRKy$EwUso( zEBa8D#})DW4*{x~^5j{n3g0~*`JUyB1?Bgj$r$g`q&tT~*P0K*M0JCqN=q z8L1wjT=kao&4jCY^|rGyeph7 zBoHu$5!h;HhqW=WZfCo{VX!FRV5d{$)px%G*Ciekk6lapR6FZfdB`%-oIs8^eIPBdLXB za*M8qQx&}TFpW_X2JmHsi6oM25^jf$Z5SX5cY9NY`Q0|0UA0+MQ72$E$vI!PP9vcm zpEZ(l@!kuLfj43a*Obz&L)DSbV`Ayl2(ggE=gdv)#4um3YuWo%x5h zH~huS0WSsNj8g6-&0?7Z5pjvK3%vuXzT?A1v1B-2*||MXx3myy_l3u;FTq!yu#@#0 ztl?fMk+0GBaG?Z0oQF zh4`4^cy>%_1>Xz1Mi!8vLdZ=!x`>>=3Cb}_0U3PgH$nlze==w9NlrPF-ux+GR6TA2 z2Ws#p>p*85fO_<)X@;#zznmdLe|DIJn*Ejp~ zlF~Y>J={rHWo=;^JF6WRJRrKpX*4vR)MRY;c#T^~_C5};+*fPOMnO#Psz0q;)eq^& zm^ha-|94?QV-Y@-gW!0~Z-&tjnU>A1^Q^1q_8ypqpidq#v@g;y>-@Q_7?`|I zxR%PmFJUTm#prKi!+qj7Ko-(692Wka&m5dA;E@C~(*CSC+6{7Bs~~PYGdJO0k7{B+ zt6J`CH(8oa)v=vEP(M|qC9)%#8_j~6za@?3gfIJw4CmDNrCV$o)F;RHiH<2%KBTjC z{#uFivC})SuR|74_*)~oe94vCBn9WABd-_#ce1D$Qi?z0fAFCTM{V9}WAW&mFLyl4 zb8l(fFM59{ciUPwdI=q7UG*^hMd1?7K_MZ+L^7C69!2BE0@8wX7 zXqor$A4mb6(mQ*3@1(!uX$MI7;aQstx#)bxj~;P;XJOh6^ItH&UP_CinwIDzEESOl zLoVG8{FO`5^PhMNy&5B!yHZ!^L!NUG2C7&xW4!G#B;^w!_4M>MU9UR-P`jM&wfmc$ zRE^ZL&MWh-ixkA~Uf$P1E=mPqMKrwBd1LG&zBi#vo=6r_Yr=vJ{ngqcV?A=8gp}3& zPI03&9lfjGUnZ>lE0S?!#z>@Q`Fh@a0<|}p1mQ|y)aG>sGh3E&k75p&JrH#d1Auci z@;UsP=AFe~=}I?ObMQmcu(YMX3Dw*=B5BwtLz6*cy!MfWAD8XiIHgt8Po|J&@3$Z} z9Sghj^o=UG>t$~fG%q)3BE;bW(4xnP5#GUZ$9_(|Xw}kAjO(*vICZ>Qbo<)13k>>~ z-@$KrkBuDLah_06n;8@GOdbsX=E|*ItP4}z(w0=&Fi72?$5CJaRXB%*52#+eh~;%c zK*PhjYIH<)2j`>#hRpbNk`zcJEP1AZC90S7Ais`d(C%W?kdi8i#nk>7>F*Bai?wyJ z$L6`!xlI7bEnHRP$#_3keS0wxnv;^9;?lwSkDT=gN6h5atJWz6^!jb2lN+qQ+?KO7 zrWDen$m@0MzW6%~CJvGPW-Xmug=E8!U-y|lSjKg({nQ@p4KP9q;LCAIzZ`O`*j?(y zKf3zrl>cuChc4R0;}Ic4c0cz>oijBOOpzBp{f=$#+i$=Aq#{35$iVA_wDphVf?j65 z;@Abl1l984zB*&jj2C>X!=S0YJ#F|3^pkpflKZ{y!WSi-D(*%gpGCH9f|Ba&wLmvH z6@y!MTTc&ks&^4n?v@`j@Pcx4YZeEW{h{CIbHNVCufg!0>6VXO`5FHIPJV)B>e)JA zTtQ+%CuF&}5idRHh#BysF95)c;bOZa5VQAdl7Z4iE{`ZWk8dv?P9}}gpd@=E$tnc% z|6Gmp;ssyne}l+4XaaLwcCor?x#tH-;uPpcdR~$F*5&|k3 z%8Y-1(Y~L=@9r*NG>TUE0_ry5S+1z(0c-nha$jFRayq)6NJ?WsB^l}I;j59d814%I zK{@{h(A}q;06Wn9mS_$e6mrSQ$$^gpADVgsCHT}- zR|}@vcJWb1vytHe*6Jiod-6*U~=A^eJ~ShW|~uiZoPK2Ln0Xsjwc#=52N)>%rWUF0<&6&XEK~yME-4l8pDG3qVNT0e@i_;R&Q5r+P+gfm|IC39ICzp zE&yJmk0cg(_9FK!Oejdvc=FdiH2zwu8@mL%I1R30ORLYJ*y6ZA^|-3q<%36|<}*-z zh5>!iyiXge#3<=W23oA5wW($g>Hp*ip5pq4}{P=`!LGJ@J3;%h{orr6nb6fKih5_m|EE_>6%;Uk)}du8=!mxB;|V zS@V@Mh}XEG)}$q^#I~VA+;rPxyhQ14v4cmR6(5!NmrHIa*G-{YA)5n;A zIhdM3?7ZL78*D?Qz244i6@=F1eM2s#L{{oD2My+FBfJkm36@H8#r|MNZNkFx#(WAb z&5;3Z1xtroL*h$j_QzHl-0eqX`C_+)n|daL)Bo}$q?J{8mGn%mxcVEQ$FXJ*Z!`&~ zeH|VqFh2(c{BoeL{q|b@`~_yZp9k-|bKVZM&RJ6M3fJuz@bWi7kQEr65$8I_w6yga z89-PF3JKA5Sv;f%UYk9(YBN()_;rSR4>|kSfk{Hlu~je@3@5my5CKf=T|thcnjswv zwh6%M0iS@Di3u9--}B}=t)Lk2;_}i-obo>@W* zhs>qTz|bxIFGMOuWw}-HL%$?zF}{Y|1;Y(krz>ZFV{~pibfy(FRevWpz74~&Z}u~B zkUji8#A@V6eMMK1dHs&qe~&Vn;3<26Hy8u!39$)$a(@p8(i7Kr0bn?9NrqopAKU24 zefZqJ1#u#54JZB$19_IhSX9g)bL!zo0Qv$KRGT2jK~MZr{8lG^d!qFLPwISnasHAD z+%C-$C}?r1gyHDAEfDl|0&p6X`TaY=xM~5QXtcDn08<(Q3@o3l&dMeanCR;h)EUOz zT!U`3G-`?+6J|f)x`AC@<%S)&<`` zxe9w-rC-v)-(gByi5u|y;Hgnk9NqEB=859R2T_-vu2)~WXts0_NV?57?V0Mn719izkR-Bl|^@8SE8&E57W|^$AZA;|9Mr~K9>3ZH$g4X z6Xf;hyt>CkL4g5OrD!{TQ~d=nO8wz!^K)~=;IV{+1oE0zyF+d&f*n9C5QGMSsI28; z>e3ktESrG4H2*QVehI3N*HP>1>t@Hg7Ma%xN7d_=!IORIoC0KFJ22KH_~{r+!Da!z zYlI_JBVR*Iv`(qO#O9ciN*YD5cyifuhK!|;^0X^VQAIMzRw4$+a1&2DD7nejzf?QK zg72sNJT8mJ1Z|$=WLcgQI!92BPuu1`{@!Pu_ZQDTskvx$Zi}$x;Ocxy^)Cx#`MZH2 zYa&!sKVMn)30Fbq{^9;F)RNhuW(;zOdi|ICZ|b4h3dSR^E4e*kUu4tT4vu`_MF9lC z0+yl1g)`P=9hPQ~TzxQ5VoRL5GE&6kSuGI+Nz1dOpPjn>BsnzUk@67v0y2?O)drDw zM6dpK{pf`r)>wbWaz}D#vLqW02!#sXS~D+`C|Cdn{Di@wK@Jw6Z|9E$0{TZl_xcM= z>Bz_%8ej8MNF7kl4=?ARw5)T^O}$o0m*xGO{r!7X-QX8^j;bCj8NbCg;67-%9L5zW z?_e8*XJu*^rI^t-+g3=?I+H-xZrsg=O9XeN!Pax`$1bg+NCb_BYP^Rp(dIfbh-1(Z ztxAKxuMaD_GD|M)rgk4BXmb==m-GeO=zhMW-B&M8kcv8rJC1OTZl`tF;O*(zc8HXC z0S{tM#8+~Fhg6O&E5MoZP`)%u8Ilpz5xQLPpA>6qwjpYtVNAu(x~CA;{BBiZc&v+2 z3)HUz=V|?pSRvWV#H8*5hwQ_YVznmoTT#9o3jhEK)(b_PK*Ei`SMm< zwQygkJE#D|k>Z$0+$W{MJS4>ymT^L|o5W>;*d;^5>Ridw`ve=Y`fKT662ky@+hym7 zL-?VvuzY?+@iAC%fzv$B8eJu>>;o!=O^2Z71r}hIoCk9uZ2y&%rNh88LK&QR@UooI;Gp3*yV&9j^`L07W^`G*E8EGAY8Clxhhcktz&KBiFN(E;A54uNn< z0v0>UPQwY&SR2-uLhitLE0MF1b7;wVQ@k{j%Upn>KBjh-LutOWME5it#c+0${q0); zsQ(xNnlk)!&t-f@3Ga_y$QuMAdAm4Gx&`=CZ~dhcNF$Di9 z9&B?|!-3C;tusrEq@rHUBsVV&Uv#JA( z0C8icev9ok@3C@jlbjY7o`te)Fb~-caguVT4(@#Q6p z-inUY{X34MGANswA@NP-N~kgIi@b?}Ia6tU-Duva3?o`%!>s-`=_)HF0gUbHc7r8SVgfj+Ik z)8~D^#;l6obYh1smz5L+XONy-{K!!$-d&=9y+a4JZ76$XMcQNh3P2EcrRrbOYAPOl zR+YEgx1D5(Mj}U^uCoT*0fn*w6rHyjH(nNztQw+DdIY~vbpFzW$HxhGBai9cNlQn- zc{8GqiFZXcU0}o27>^z`YiIvI#LS#IwfEU^o?krg;u24UX;+S^U2Sj!(}%_E?X2}`PP8u>UTOwZ zv^p^Cbc=TvbbHzLI4t=EXP@u9Iu^Q8eY50)^N)tblXbW&J?NEMl{c1B9NBuxkp<&x z%}9krmT`~};SV|r>{A+F=hus_0cM2Y^zRs{oX+5|p1)UPK?4EPrHUWjPeY9vPoKF>PGV1oo;U**&H z8w=Gb7i6L=oVMkc$IYAr>Y89qz3;{=VzAG18*Oz& z!2Z2tcK|7zL266<-76f-EHu!roJzZ`rGafJh`no=_ww=`D*j^Z-e8pOQxNnBxH#5Z z-2Xsh@9F;Ok5Sny-%H14)JH!+QofQkmtL~JPbz+}v_vG1IFgZ*%a^zR_+rr{?J~5d zx;OUxhG}NG%jL%pl`JC9?mALTE#d;G=>a~+i+bl$=#4pbmQQ7ba|6PzbFAQ>tX!U9 z(T}5-NSc}|Zb-l92R)kOly$$p_NULDGB3XHianQGS~9!iJ>XcKTVS z?anXu^}h8a2ZXYYqaGB}V{k>+xd?ZdDtqyb=21w)%C=C02;KF(FBPTeCzXfq{Tm*L zQo~MKN07gsh-VN&+UxYZ~8p_y%O|VkEW$W0yNK>Rbj(PkH6>Vo&Spa6uq6$1f|NL{-f4gah??BmGTazPe5apV}e#+LTb@OpLdqPLB1 z(i&_KM;9bP`M7^2`X=%5|b(q!9B z4bI-j(c{$!y?>qem0-bw^*GcHg>0JG&?M@_J7nx;cHbbNP241` zDw&Q=G9oq;OgB9dq=N4IREB^2A8oWgt`f(OPI-KT^v5DC^O;}j!@@q3=-*Q{lUgPO zq{pt%p`^?yl#)cVliHkDbS+M3VI(BSeHE=~E@IDDenznx_Bz5oa(|ww#Ax+xv&KhI zLD1oFq-2$*P*R*hib@1-@tvP2@ncfRj&#!$VM8f_bU*s><$2G>T($p-6N@;c`Wj~r z4l;FS3K_@9N?~APPAH5A5J~uZv474FiYKFwSaW8MB{y92rQQL&&}U|Y?}gdKNFeb> zhH-_~Fqo14(t{Y;^>}=Ok65(iJfYV)^At&1*NzA13Km8NCEr)8Dm9->a1S%9Gy&|T z2+SCo^lNbNX}siAH1;v9Gqa9*7HD`x5rPooBYPK&6wo4WYIamJd1{uU%X z>lx-&w~9E}TQT%@xf&)+G{Z4g7)$pG0|ICbbyq%Tb8PV9pMhf>7KL7NKTs?TFXx7_YNzlJuTnx$H#k#1TV2uZg`Qck${Ewb{c?aD-Z3Gt<<&uJtXEhHFeKr#6&0CMVujUOi={HRTsF{jC-D{v? zzUU5N$M<~t9EWp(AmwB`s~y{-ox;nCyCpiu_{$vprL?*)6N@s{^PcHHCKJKD45BDK zEOLL}#*jZtV(?!x*!j@tiy^(T5F$jK$a~0Tk8AeF!0bjSop(9!*!D84wDOS}<7}jw zc99DJI8DGh9#*s3X6E6*b!N$~35%iB!Lz=vNburmWv00C408BVP7sF&^TAK-rkRz8 zABrE+lXnRs@|LBbfS>wD)C_YpTR5b$^2fpczkfgHHHsZCqp3X|hLR<#8v0bYsx7@( z&S$X3*4nxK;{cj+q zOoInyTcal*=GBg0t;zFB=l|VaJZy(RjIA!{o_+Mid_=Z}B{ZCXl@{%KHrH%IW5Ug4 z*gR9!I;pxE5_(~&zh~Pe5VF!#NF)37#DpUKdJK`sm3HS410DwFIpPvbtDW}g3lJar zcFTEh{BOeIOjsboE_4zKO*C)WyC~if$#x|nqyhzfb#evLUlNUw{A9g@0-8 z*q(O{x_=#w-#yX_$OaG*^127~hRdV0i6@S=mLe&}s#lCvuiff1D6zesAM&d-&+}Nn za4d$99z=OwI_;dbt?}7^GFBx8AhUIu?Jun)ShCooL9e^ibB|;*x;KE1Fh?rwSk&2W z{7M9M?=b`tO=|T0Lz=P zk>1sM^x|MP&xU?^u$bUdufy;f3;hC}r|&dZel*ztq=nIH>F~(KFvQ-+>Do(zI#MI8 zt9Y0&;#_Qgo8Vetr10_^h8C_mQ5}%KJfqBn7(x%v8wJ808xVaRx`9WEb|(floRw3h zse}rzE~X!he%yK6z(wiL{&h~S*a<)a}2uR4} zQw7HvN0LS_En#{tE$J!vKOGF{V!Qs*1qiGgc3(_%K0!LK>`|MwN&WR7f3&QLHPKf* z(MC0uYruQ*zG znI*LL`Ehvp#+w#BR%vxd>@!8eZ?2VgDF4AmcA>^d{~L!f2Z(VGFtbO2D5Y?AgHah| zIa0}lSUPkC-reqEQF6O`3laI($Om5qqk{>;-|aZj&^jcXzOB7o&F~#&g-Rc_I1SXt zAI)+!(`NMfa63fbrM8BliHKC8NIc^st_MgcHZ1)Ms24a!YvO<=t>Rr-mLWy(N^%{m zN;MGaJ@HC4V%B_G^}dzkh#l^y&K?ECjTY6JUh-KorxX zIAdQev=TF(259aC4w$U-ii(l#u4`o7{8M`8%pxlEK}6HrB~(h9?#(PW1iL-t>M{f> zl;|ukjdRNaeG@0Zt^BN${WI*qN?~3ljxYr5xT96)c&JYGbd z^`gVJ%khaNAb9YJQ?%*Ry+qGh$kgmVs+kw-s_n4(ehch>ScMPAFx`0wl< z%b4L~_!YB$@|XITb2_X#>U41O6%o&Q{t8>(umaX*+WX*UQdNAjo_sEUd~OO2LRY`QGOKfZc`4`T zx8ifbn1Br;%4>7hFZgD!ZeMwr@IawZU}E=+QJIN^7izPhFG}6oa&PWi4ATP^6MSAQ zc86$|ADd*OWP@&QZv4IR1h8}E|DN2FUkK?$4rv8Nupp3o;!D)SNTt!{4|w}P|0gl? z8Ox@jB})i#@y+fR6lZI6zho9 z5ePI1ZXLLWH>J$D5(V-Lc+2{XWjuD-PB2Hhmnk&mZdMD<)Cq;`7?Ab)Zkhj)8XIT| zbD_Z|%*dFlGe1!k+P;_R{degUJ@aV7%57f~xsb}IKTRogiMen``%-TK`BrF?a>9Cu zBoxz5y=)_R@GryjeD1^nCAC1KGJm|VXW%T#VvDypt8SZbx1wTeHXwN)Nk~~waZjED z`ZyqDyf89E(ibBLFd$}Tza~)w#ru`yxD}*`up|g27>@hqQcuo`hA0L19#8}B2e{WD zrQ8>{DB$*L3O4%9j`*w&GlV6Og@7ZNZtpk8%cDyqeP;KDbmfIn@Ot_0Uo{SQ1KJ0P znD(2WDg;A7Hu*mb@?v}i^k&ROGJt9j(pifM$<>_6Ri}vL2cJ-jj*c%1;gK9bs>9Le zclGnzmje1qx%t!>ARI!;L4bIWtC>!Z&ZVZQi37RkVJurLuI8Wqukr%&Mo?mc5U^*N z?Xj0qKJB=sL9Z&WGgc3FV=9o|D3x>M9qmgH(HnG-6)%LYa`zJ-)k1ZC2@2qO{P;c9 zUw9Nv7iQ;T80b?*jLFSrb@VBzr{mrJN`)dH#Ox zf`Ajr!ysABA~%~02VP&EY_t;rqjHPHd|72yO_!5QWB#g*NQ+b@8Oh{#?zl8%TCZ z_1qE<^o#dSm@5A00FI)-m1&O@;g;@VPlAL8o08}DC`#dTBU-&vRSv&*zZZ^ldw*dj+@j5lXr`wwBsgA#h zv5m|}VMzaq1)umgU1kFq;$~K?fUOKNHKBvF6LyDc)=lrQ22!n?np?Y9R_L=3#1tyI z=Ze&jzD$Y1L=Y3$!D|_6yAG?$v((W*sCar`t$N2117xE4JIIo#5Em6ib0%l3YFLqw zovi|J3y`O=zOhlSycM{TL|{b&!vAT>XYH_{H@*|5&se#~br!MQNwz zvtH1DKBkCRUEhlW>Nk~Ve?gdN61e^~wjrdSaOnnoxWi#>UAwpbQFZ9**z0 zNX!6;+12Lg7p3wua)6)S=bJjxTD~uWmE3WjhpmuQ0Y&TUJY(wH+d>jmFK3v&51*aE zbtC+3_5MQ50T>9ZdO-5pVL4!w28scJKs@E-4AFenkQQf~N4fU$e{li80a2vuK4s^{ zgHqu>Trv*|uNt>De(?}My`1RZDk^#}434_g2!4H+bnPD-D+X8v@Z?Q<;Wfwz?4|)a z{C|SCE5rtEo=%k( zUh*Y*XcGtvKq940XON}zrzi{B*KGSM%otgaBn=f69XmP|`)}$=c&Z@&SAv7u@kl&i z@h%*=Y;P1bxNU4-EwYaIvb28*rR~Yj~>N^XJc{567j?}#C^ zKs;rA_4`>>S=lNL=v_7kIirB!F1kRZ@e2Mn;l| zmH@Kz@82gmW8iGnmW!XAoz3IzA%$jK&xm$j)CWn;lGsb)D->z=YOFXM|H3Lj33>Z@ zkRF2igyr@1T_+U+v}RDU0N2ZDwmezuWgsq9EHeEb$yDu*n6B>h$>!wKu%@E}!LwkH zBn#lxl}4Sh+l?Q7I12stIe04!*`n7464X`ZfT|pNbQDxg0Lw5Y@XP{?zwdikp-to_ zt<8HU#N0WS@h<$)?_R@uV}CU-gh&B&ko)CsE0 zN^V+F+DEZ=W>J$slLB`LU^YLb8HpkQ*ZB4f-}6BcD6H4O_y+aK8Ur@A#M(FeU~Exh z4#)1fx5TL2cXrgq?x^VdgG-or`>^}_sU^ta{qg?}e40Ua4iE2Bb%UJ)*i@8cTlK2P zlow3NM_?eTJlEu4B)*O8=YBb#i6=mXIT7fGPfQPafwnKMyl)Ygh>ueTtFaDTCb&VP z`VM3DmD(kQv|jF;oI(GwCw4D9ug*iG$=r27L)%r|XP|d)89DV}L{^{CqwG)9S5Jkq zR}0Pk`5>qVthC&e_B!omxga1zWe;$9Gx*x6Zew_nlDV#qEYT>Q&?r_Z!eL#dy-Rb0 zd=SbxO3%o9m%(aMrupmvk6eI#Q=q#R=Ym!Pc69i2=t?Vj0b2XXAG4^FA#%bsN^!ja zUQ>rZG$x0_4=eibZy?Lpa}b_*yYNY4*!Jco3Xh!cJ}(2GZ1?v>Uk9eq90>qYB0b#Q z`7SX7sz!5;`qcCnI#^A{UEJfm>P)nWRv!h0vt3H^mS!kuluf@8$Z8mI?+%4s*X)Ud z^5aPbE;&bjw;Z~NOIcUbCQvlO*sF?An(CrX&iFI`%_DRFF3G#BfV{I#^3@M_fS;l$ zCoP?umxlt0PcZSPbKt-4T`(X(%u4@zeEf%?#c4YzgIGaqsyEP|9vl4$2@`lY-(iiv z9M2oyWA`V+23p-g;;&>}PWgqgCrx{NE}0CwKX)V?M4UUX&2V?n6=omcWCDuIsfVFJv-#%5PwxhGaud|=2$acJeC6b6dG z4$W|b{g-CD@|v0xWZmWAxSGC4$5CKO?C+wHJymNG! zg6sOKzR50!=9y_itcC+wdwmMDE9K9rNmhotsaKpnN2KBO|6t*HIT!Hbmux@+GZVUe z_)NjMZF|e~Kl_qtH{?^Tan6Qdx@kU^JA<;6scEhAB_C+%zeb=VZ>OfEJ)2hr4h$4g z7VcYyKZonTkkAE<}Y=)y(_fdDPYt?kzu9dnSW~Jn6U{=Wc?3tp@*n#^x z&LxAlFYK97A@n$i{&+%(dxRw?kqqRQvR5G(7k&i%21tCoy}y0?mg?*m)%)|Saz>BO zOr=G?JuA}-S3?iPs@{4`^zT~pT~iS=GeH9`=dmmp4q{9U&hvQYyXeq_+illq{bfsI zyf^_cTU!G*cMP=2J#+HW(Gp~$|UZ#_N3^8LxUZ^;oIKZgp)An z(Un>V@(H0ho_(V&JW#<86|8+vgy^ap6JsZMMSGu*X>6gv|N3^a@H8h35O+?ZW7yyh zZoIHQB(Q-cH}b!>n7)?VbJg!~#t8WHNB_P*T|BS^b_Z(%iL6=&*ev(iw26V;0Hiuv zdvwW+Yx-IhPtdY1EjgJ2D6A^WU0RQkTLPT}x5eUHE67fyF>GtPzP^6-z(`wL&c>$1 z69Mq9K(vVi((djTv@ZKbz>N6%&-09t!lI&*Un@uE63ah| zt$QCRQYe|>LA_5H^PfK3dQzgZJ{BnVTY;R|(0i9ziwjYk?-S!D;V31Yqd+khI7{vRS*HA$Nc-qJiU^T4&KyttQ_$ix?$6PIyX}_c~ z{9iq~r_*ma8I#>z6DIzs9{B|1_idE#{(H#RRSN2-?8P-LExH5UnZtcSW0YA)-%rRl z*OXj(vZZjisth84Ff3%_KCL~3&hJcZVR7O2^R!L}J{jN|;8D>cBsE_>DMV>UKN5!A zWY-2#>P?`C%uc*?g`X=Zi0G>Sgd(<~wP5qwy4tM`UeW;$psr1-J=*_=%0ho+dz?e% zxWQn>mu9brfc&D}wQoN>wMgdH`&B)ups6`kue?3E`wo7-&S{Q#h5{>b^<)Fr*Qk?kx`^&@TZ94D#WFm6vSeLdL zwdpOBkM2}e@GWJ;X$B!1CDI7_mnvn%efi_~v)iPcD3x(sI8ko><# z6&{wQ0_Jo$`1o4SP@H>hDw7BtKF(GD2n&I;NLy*AfV#-S`&L@2NaZd}4Swk8SXQWp z=2qSQm=Wbqk|utZ@#z-Q=c1f`^yEbv*0;v+TmQQ-Gx!Z*U-+nAt7^wphMh|87+Z@L zw_{dYZ1Wa+&CvJ#sMbpdus ze~8}`6KfiX`~6HkLq^=5UgSg~L9c?Lp@iG5!YaD7^g=)Ymo6@BZEejRt z8)R_Eu~ajCN*9L}BU|u~S0JJHew%AS_JL`$#>I$7dulPro`5HvllFB=N%M(5 zSPXJ~>|R2c4;sinE~8)Od^lhp2HF8&KF(L0bZ5q)K;dS6-qni-z_BeMgG?4Q4xM#Q zN#`Onv1@U+e_udIZwMrj1|s+9m>BSdug{QddJuCjDGqLKN;h4s1T{554i)=u$lcTYb+^EF8T+8h~PqAFy&}l;F zm^T@kU=faK@6IvACtWZZ3ep3A)#pIVLm>R~+S>G|V$K6A;wEQ(*aoIGY8f;BDY2;N zTa#`5f%$}%mX?wLMO<%iWLP*MO_9}a$w*~y?S>m~?z_9Y(k=0R&0;$Cj{*NC&mgE>n>hOVWf5xeJ9CYp7pB~v80W4Ivrmsy09_$Lic9kp@or}~2 zw}+6xJLM-33ie!FxC6JK_nrRjI|jt>4N}>bE8$YN+$Ma4j(HtgI#9qmGnJA;V`#w4 z5_YpS+)a<{q;ZrhLg55YI=c6p0emuFQ+R8A&q0s>dd!wDcRD03-@-UG?0d4~V8`bs zM}a4Qz4<0dtPgfr`8%oZO0oR1{cf7C!ZN+i)5J3d&6YHLRM8G@G8v1?>fnm+k9r#~ zGH?4jSMw?+z6^c6u&<3#PaMwZD^-Y$I~9VU7VW#Xr)DHWy3S+$ohL~Io$}PERFO0? zg#IZDjsCpFIF6R3+y{u*)VED(h#S&ie)>&sIdK*j2MHM61~*%OXRtt=R$U8E7Vf#_ zrcdtB$|AkJDgw7?qzooAucsmxkK7)*ziLK#2P_B&NWih26kAeAfzgyIIx^%N0EXxJ4Ey^4oyIO8$`k`E@uw9#7E*s zL4^dtgW%h3aXMNMp#9Xzc6i$nXDBS;`YAiKWe87a`0V9uXn#R-43ZvY=e}T`)SU>y z{yo1$O=}-%Xj$G`2nWCMdD+Pdh{I6vT9K7%;|6gZN}7fFj+*Ev^qFQKezqPrINUL= zBJ!U)Uvw@rh%zTc;UAz}CX(M*B=RdoEnM6Isxx_FgdO809qa2Ddq6Yv=|5+cqjQb| zyn)E0lDUh&R}w(Vrl0lv`V|Q|buOEJSZx_Uwz%@@Q7tRafJfVCsd~qGBq>JMxC;W&;0wQ?T*#^28MsuYcx~jVF=Ts z3!K_EK;$$crNPg=v3j@UBg)TwG)w>C=ruN| z)V1|>zti$@>#Ol7Zm##Qe#aU5s!dtji_tlJbjWf3&euS;0o9O1+%E#;8_3>G@q$JO zP;|+7sRx5Z4lTdr3O@7m@C5uYe!In_^5zX07<)DCNEE;;0f*%`BUU+VY3JET?=el~ z74kec6{qj+6h>jd$qb7sZ_4N?W8WaYDu1ZAOXlH5Zpp}lk ze&(t6Vc)82GZ-+{m!SEWn3!KghRnFo-hWNaF;LdIx#i6mN%Zv0A+lxfU(x>W1xg}3 zP?0)rsCdu5<$ihq{v6_s*fKEaFtZ<}YubH7>`!9sVO)FNqKUNK+L;=y#Gl^Xt@lw( zL6v&n72%PP7R*Ce2~jRr3~S!$yZB~cuEt?>x~vmFmR=3CGn$2DR(SULZCv%07O!I% z5(R|Uksk?e+@)-iKfM;8byYrA%%N};?Q_kYUnA0f30?0H~52rZwCfj zrRQgFk6vGkgL7VsLzmRo@rq|v>8SGkuK9tyJ;*ti>DJSys$8TWtn>A}oJHM2qH<%u z_QVc2w4V3(FmxBTV5dw>$r>H6y|b5K4G!zaDlP4hK#zaQ%|66VL88 zqxDW?&U&{S>L7XsE>TK8k$juMZazgjzWK^Ic)Gl72$Is!;RRRtLS#dGLnhTO$|Ma8 zUmk`Nh5nTO(?aB`P~-ZgLzpVLk&59I!_cwxJsL#-PZ#7EK0(eHF!J~$87bE38Y1tF zx4t(YKwP-cWcyjwfA-{3o?ca_oQw7{AmY!*jNft1SE~rAnV2vSs=y9PPm^U2#%0Pb z!b9;X!?(#&`qt>99xA5$ZVU@@;lw{MzG(eX(lHE7&CGg%99B`00&Nqt&PTtX@5lq- zZOo>w^#prYm&mlwijR#k@(bKHwmFGuGAhx_*@VR%B0#n*jM*xc(g0wt&KV9p^E_TL za8WxYM>kxl51AGC_?VaXVPzVs1!31Bq3E}b>xjf7_M|+t-ZH_rZIQER8kmnIJav^w z_2?FVg)M12^{|qXKa?%>`4ZjnvO^O=zPtz}n2M`|J5@4Pe)>bHjTs+i8q1<#D1$SlD_&(e$7s~hcfcb zkblnW;eJynu= zD6D}CVbQ=n4}F2~8Ids@GZ0x^8qqyn;#!>~S#1}IfB3K#)^lE_$PVc`Bt1IuJ~Vy9 zQo=|kZ_xIhu#0rI>hyBi2K&P`uEd9Lyva&xQcQ4j+?%+4SAO@zgpAOpj(DZca=FBZ z_(W*m=4qdZe|@0($}QGF_EFM-`*6(!j)Th_+e`ksp(SOD)<<&`hYeY}l#eG=vepL< zUZDtjHw4c7!o56P)<@|#ZFGs0q4PgI`mGo>#-KpV{oala+iEO{}`9)6kF}1!>h6VuXDzT=69>92dP89?;n-A zJy~KlyOB5CE>f`Z+_};6x0A;WcEetM%z>U^7N7cr^S$ir@W|M%iD{)ZN!*t{;=v&h z&v*je1}4l0w!xLCdTu}#Rom|Z;5^SMXO zsa`I#4>ev16XgIfj+1a_P`HBW9WdQVd0V2y0$IfCVSt$jmMYgB;50UwtIL; z#~s)8^>4A>ud4$GWE${k5zB}tXkC((D;6U1W03AzC^wSspJxxYtABq>8*Wc{kX6z1 zLYCLLCV_@ch)HS0&^FtbuF%RRi@)sMkKQQjP6Pw*Y)g_=z(SR{{NB-WzUB0@+QP4m z2`2}d8p`ej(MHzpUw%m<)Uk=1{>;c}YjZ!;Bgs=fz>BewT#AZ!MxnL+J^_-JQSH^N z+gEpe%N}kkS|w(Sh%2bAL0K46w9)#Xk<^0$snY`%z*^ol_jMZ`KOJQa-V>&Jll0_*$*7<#G+zDrkw8oihrSN`zqptN5R1<(Kx^C z;--D2-Ne(|?OOdpf|AlK-}QFuEQv8-)>vTsu42u*j5?!R#YI)%Wmwi;h2{N6Ao{E( zL6~dFZ7$*6_nqZcSo%IKXd3KGDEjSh7B`2Y)53PJmGYN2O!iu^t{rE?tkjMeH&A57 z{+$1vuh^q2T;9lg!V$p>Bl?)aJ?VYUR}q6xE6kmB#Xm3fLHCjH-mH(+=g|B485rlH zkma(d_r{RDgko2ac0<*$W<8zkX_8U2f-5gYkU<>4rACe&amb5uNJxvw! zE8yndGrBkzL=xs&+}LycZ`dF&%cig%v%HgYa^eMdTB%m}OqCJ$;O*H3O4D9t>pc?_ z81;xP`X2wlDoyTAd>BK8$a0u;yCX3$xMTX-D`kz1`g`Sh_+z2$FZ-KKh!gF$mwctd zL9F}_i5Xxt#I#~rV!M~Ovl%vb9+Z%(=B3hWab&QHFT$-gx7jXiM`4(;uqwpIw0r}4 zMht1E8Qk63f5OBOJiYkRrKBZxb0}HEMbZLM7S*h;A!qWJk1G=a8T%GiKP7!uTuK!9 z)o11;fs=wQrlLt)l&RlF`w9Mir=fAuXgxG;E6wQY=hNDY|}TKvTqzhEezpS`Y4{DY-JJ$f+znP8#~5h(fh^& zZ);!`f1esSJTB^qdKvSpSFac(uRuhHVsCE`XHuH)pS!xgemVS|hDHGgHwTC25)_#3 zn1XWk^Yg>Q$G?tl{WCe)4YEBox$cs9w`YS!+0xpo<$$jPZq%not&NS^CuaorhFKu3 zNn&cMJb>$MlLA0V^1>HaKx{$HzaS~Rs&ac|@Df7wI`;)PA(&b0&N*|>>&!>P|7n+I z2dmn?SmP>)t$NtFt}x16xGh}PGD@12^y94(4JCfj;A!Jx+}nA3?Ovlg`?#k^9)8lS zqN1WeM0tI@@@HD9Cy2%qrd%RYs~EX+h)0B+BGWCkL-E|n^Koi-izE%rFjE7H;K`{e zY2ap6Y*3<@)-<-Cp{@G~4vaWwF(lFZ$z?kCl>5Z%t!X0Ebn`|23aaDpN7FCC!ii33qP7StM{^d-FvV)J1_kt8kWz8xj}?MYg&hpuYVCXhPyD#iYfPyQBen zdU|Lia7l0Y#L|+oon2Wi2Z(Gc$boO5p`qd7E1040gP5XvS+9OWfh&Go<0Yip=$Ik= zZE~WLjtW=NeDizE&?}}Yh_q*0d)T8QyQ%8)6J)8=E7LX7@DlN@8Y}3aj1(ILRE5}3 zr|qB0$WF^8x^bUQNJtG1(<8Crz*t#-l9b^~2ThlsxpETE2t`aKxDY&}opm%Kj21%8 z*j+e5*+(niwpg78Xm_lcc8^USn2|y}_vdpMzapr3PjFuBT@3FDVxM-pTpLlM^JAy#Cl;{X=Lz^Z( zhx^(b#&DK#8f+U(XGa1LMAg)izQTIt?jQ8XaGwsvymqJ|+(8Eggj}(ZH~O;Ly03w0gwZO!9lmQ%dVU#ZOI5ohj;*3?lj} zS;8_N9sb&JRA^Mae>_G!%~Zu&dkhA=(Md&*)*u05rAz0 zPs_hRtz~Ww%rAtDmWJMO`3%JyTzhh3m82YwM!J7Z>1FCW4PCFmNnZt!M;2_q2<5l%HQMIVEh8wn?Q##f23-Uu4?Z=7SXy-ki3p zb!KorY2lNMR^eifl;)@4A%6DJkP(q_X-C&Gt+#9eqEKfuo)#$VLf`G-VJN2kOW z65DYr2K zW?Gn=JO0cqR?JYaGec{QR_~1ee&O!#BRJ_`xRnnEwiIaP(+9IA3#-o)kUzGlXx-Tr zc7^bS9)TZgl3K{`=E^!(9X$3#SxBlfvoYw+#ZhlI&LL}c54K03rpKM56&c%BL*P|T zL|CKcPZZy4yMp|kNW2_Mq>T~U8*sA%vv4P&B`S5iu91hiw87@&WMn*id_O_T@1UTd z!mnRHfBwt}vcrsB$G*Qf+S@ZTHxCAu!ysNzQeJ+xi*}4`f$hHd?zmk$`QAi?(X(FYU}^=;>|TT4k`D~zvMO|`$tW|F_-Z-cT~057R6T_ZALeb4v;QZFFT=@ z@xwA&^~+5^3VcSQvxEkA-AWRZkzUjAJ1C-N-l}uVZ>syD#`C20PVM5ppHy?N(ouG~ zayhu;wkn&q+$|L&XV^TTpFOCicWZWN@@kh{FMUBoVaETnKR$ zrBEXsYPIIv8u2?gAzn*9Tt!YTKe2Gmm9ga(67C?>RQ$|tyW?zaB-Ks@qRuRFNV+QL zezcmi=e|#U)0(xD_6q4>SdyV(oQ)5K{y@^KAj15t>@D~tHJpxBs)of~uiyQNeay`1 zvI!lcfTT>0eE)c9Qm4>;*w23#acYY~1OYrw%Y^e1=A*t>@ka{{N?r)09CWElB_p(2jd5JXpv4Xj| zkS9DEB5(v5`&2UW_Vvb{9- zE)KECci7Orw=H37_JY(W%V2IRh1o(-z94w1LJ3FNKNa5X&7h{My*XaF+bO8q63=Np zO*=-;N5rvuY0lyuuzMf3K0k!5R_HaLzYpE#Shx^OD_WfUmRKnO`zvmNVLY(*n)k6- z#K*T2$oJIG4#o+H`I3vhkj9$KI4e7C!N_u16!%PWa%uD9=+3z7~G38v!3p*nHU zC1iDq?ah#`79;+#=P1AQc^3nyL#E(Z^(;E28off$e_I%TmQd_Kd+HvgS={%TNLUf{ zKhtPInJ)O(g>GB`!sx*GgC_>?K4-BF-x00GwWIJax@%i|PwW`6bOJYyxUUN7N;5SP zuTq*6tnbiMe4?>qLTfb%K_&Q_g-!iI2GPSI0S2lECOR!DCFlWXEM1xoX!j^Vl^60| zIsM6B?j!A)=uxB)CNko*54oa}l}-kyUpzU}=Ok0s#*vSl8DCgXXp=LSppk7_O{0W% zk_XgI@G}O0bWEV^Yji)R>Zbe6IJGVf_UYZj|3^Bl$$v6wb3D$s^Wkt`XBX!ts{>tN z8qcIcISlMK1f8!QE&Ci%k=|{>hh>&I>C)1u%k`T-=aaL)Z?(j?8ug8KYU`GPxslp8 zW&jWVl2;g;=oHRgdcWu~n)>ts2O#wRtIf{L3BSq!ZkAT`@9uU@8;~}XQ)ibKe3axGV6u70ajv}dCAGrb_DNCz zmGyw6fCi01#C&9jg7@v$h8oFqrlN12gU)FY06=Bx|G~N*CJuiM8@u{Th{Bf2rCV=p z7>8QCo^#SOOP&+f_-&G~KO@M4nc+A54kKq9UkQF1_d6JLI!-am(J0RG*;M7*&m0ik z(CzF9&(NXsLmAKm0}tf~h_T8$lCDCfix zx5kxlRxQY&;%xZ#XwE$g@nr^i*|e%xiMcFkqoht>R4gi(?~!C2P~q*)UcFzSNu z^{WO3$}PM}H#gonFE|Z!14b-+tzX=S$6;=X&%BcP6GFIj%f5J6rJPlJnR>A@DUKn_ z%F2X*6E#3nVZz6HG&F@yjTJ8e=8u6{qEN!YJ+@8l82Fd~Jht@OcI#`39Br*cAUwhp zA3ZEMXpmmC)3L2!RxGn9X_&FPUdsDedZl_6HDT*zWkm~~F{L&CM1i=*!x#xSZ;lEA zR*EwGjP6)2jdr>#(xRakrY>_JmRB#F37U_30Wl9HIjNcxH`uPN?s@FfigyZ)9)_0B zj#gddDNjN+pz@R`!=hJX03{fkH1d(xLM+n)cPCCRGU(B&M!hMRl;D%|*{V!{dFf@t{dc>YXIiu61Q%Bc;%rzV}q`6YfJc) z?e4!r7FO0U06yq0F6?Ak)xo5_Zh$<3;aMulYVh0j2!f%}Q$)Gm2*k?w@Qe|`rWyUY~e^^7@?Kxu`fu1 z)~GQR`t`q@dT2kPz%1$~E_WLPNKYvl5VD@b9{C#Z9um4o72rDO5H~hcrDp zK7=<+caJF4lZRwrvlB2DV!#|lE^mfBU7Us%%l)}T=dghNOF8+zu1`flvP2m4}U zCozE1-=p`ZF*VWnhJB_r0MLI8h=yR2^`3*`51O*8ySwx0hJwl5uIBeN)h*V;p+zGi z^v(5y6_dlQx^yMHS6TY43-W$`qD4iUip<89e)nw-J!L4w*iH(lS>F>{y0otG3L0C8 z(bax6b-Le|V^^f)tJeyZbgfG&`|smE)BTtU9okI4H0UgMQJzIVLY7UM?KV5dpi0q- zYFC13z?Y*XeC^$(w_-Ll{C9~zf4z5KcaVROXgNn~oAAtdd1(3!d3{4wjx*c?UkI2ElyN4 zE63xc(H7P4SiFMLc^Q|~*!$9NSZN=z>-5RE%8&GOJ{FkGl*rKt_TYw!PYmpV=~#Tz zO`u;CLjPZo)~9Dv7DXnm5=H33+3{&VQs$qd=d{n zi3Og;1N$$Gf0<^5VZozOonv+Z&Rx72i{Qsbpiz0@eKG!%AtHRi{x=c%4L+$HQZIx* zQh9JD9%@dD;IQ0RTyi5a1ayJtF}u`^xtgf?1!iewH@CMTVA5T~qzwd+-rUU1-j(S^ z9@5jt$108D6bD-`O<@0gYs^Dl;I96c6tFEZJ?pc3bfkTby5UFCkm23WTR8FIUr(wZ z>|E+-leAH7vGaGlqMwKOHJiXtQ_Z5H$%oexaBhPZrtMTELgnaeB6X|Gdp2;6$a~@hOs`58BTKk9PSvP}_HOuJndWH}P)fY>m;D3<- z_3~iP4?&D{8^UqVx2`wreto{{1S`_m)CQ3n*NqvA=t8QO%dJUykIPohElU9_ z2apt1m_kybRv*^Psx6+?gd9LR#aS!byl}GgL z3E=>Y-n@91H#aqmYhN<2suGp?J;LUlk|YAU0FM&8`$E}Ew?>1&4SV&)UgJr3w+iD6 z6Z2Ft=4G*-R!-ebH2)xIf0}lVSI-J!48ZjU61sp8Lz1#_u<~(yVuFv46PbS!F+Y{; zp)*Jxy?fQUm|t{JVKi)mT9~$zc;|z$h?NvBI$<6J`&&ik+S;rfpOIet0FfMMLbss% zGimGpMrptz{K)x(k4GfOcS(I2Q9NqUYfiU1)m+wimcov5etxd8_3@=*WE^U)xy;M5 zNFXAWh21mR0c0{Ard)2C#t~+iRkq-Bfj#)t=JccjcW$bS@(}IdL3St4OQK zgWKVI~Y8A zP7+}3tAZn2dUXVH4UN!M4Z-lisd-BtzP=|<{9k;FCyPX##vQf4L>T471d9tz@=g(o zrgTCBY;)1-+}e8Ax(KR@MDIMzCQ4s${#$cYFPA+8ieD9uifs?loBQdCSJB>~N3k5Y zAEPjmFy^Ux%U#FxnA_q9LXpt?QL2fn&Jgnlx3_F5ll72$NbYhgXHGka4T}5ZCC!t9 zcD%5uP)PR4v{V33;VN?VgYW$nwciKUoE%&}3anzvie88rDhz|iDiTtujUXC(cEo?! zAvV?0vd&jO71m_s9KPBRq-$ZU>Mk1 zrPOGb=vXeb|CeWd?QCn0HzEE)5gFftw(_QUEBi2`s=(FF)TQT-DX!c3k8#yschEPN za-G{jb0Oyr0_Vq|RP1P<4C0yOgr&C%v*AUpCiRGLd<~&V76u^tN(S`v`p2J;u<2i{ z%CnZPDdME}w3~+Im7&uIbj&ZezHdRdrmg7oKm=C+^&D=L+Ne(3;AWBI}Dkvg?0+K^Ymw-rjO83Yx^WD7vz0cm~?7h#q zuJ2ObS4Nq6p8L6Tt@T?gdqUO>b~@g4G2DPtQ2Y6b!56EZ#mm4;*xR?1oR@-*50TA( zn#lIy3j(P5x3Qkh4_p17jpG!5#yP%h>c3Xy0M$x<&{W>`{;o7NS_uzk?%>y5A~q0( zPJEArdsj!tXx_tJgvzF)~5TJ3j61R1;EM`0)M%PAve2dvG(}>XbQG) z2kD__rsqEoKy=*cYt(U?DzON}QTi+kO`BJVm|lmMqZC+Y502OPq$y-{%&nD``jpQW z7-@DzQB6qn`j^e{zrk)&B9=U{EVoO&v^UJjY|O8xc%HoL7q}k@9^;od|08n(aMg2k zA}<7NY3%`w1Cr7@Y(bK>(BkoBYbyvJiFnkX@jzd{Ac*W*+yW#miENx*o?lY2s@XW7 z1Eq@KT~4K;W01`>)f6ZiOTw}qyl@4K2I1#(`!B$^PRHwm?trclB(34h4`JaHFt|N+ z;jPm&yZ{cq3fh)buTu5T&=0jqY92<2lPsLuOiF2#P232%!|ALnfJvH6z}P(98mx5) za&U3@7f`E%?3|oQ=PAq5fRB#t#yqEa_zGTmtq>*} zp07;0pD*tq7LZhnD|COYD@B@8y?YwaUV0*~~_D7CG#md(AJ`yLCE zT7ZAZ=j8G^-8Ozp`pV`%ZX}XXF6vr-bFINqWE%WPxp?-XW;uIhMht@SU*s_)qbN>EzMcUX+VutV63se*J96ug8*~A%( zAeP6W>sEMdhTi3I8#RX53%z!j7z{{Ks0FhX&uS7Bqa|LA&v zvPXAOvG_*oGfei5<@PP^%ZUO3L6SP*=t4E}fQR@EO=dFMHcUhbgm`gA^#?d5ZMTS^ zVL>Z4%%4raRsG#bJ_trOg@iPJ0mN=P(SjdR{->K;obWaV=5Q2P|4){7oQay zU(fBaeZRxZ#g|LomluvjDjjjY$tk0gKi>4g+k-EYF>~4@$Zg$Cr1KtPk`b3+8NKTc z?^RDU(KPrrJ~eD#qt(y(4l6Hwo01ajFTAs|1D{^%zO?p$k|5zFU-grSKe&h9uTR!~ zMEH_Tzv{DV;VOBGx%q#UmAu?334Ew)@Grr^KcWK~be0K(%_=cY*Z;1JjUucX=StJR zfxfY~=f0|?P0u@#5AKn*wpMi4FKo|UhVT>kJ4Yt zcc(x2T!V^`W~Ic)^l!+H&Al0h<;Y-b&e(3l|89fjqw-vozBGpYQwJ^NJZ>kZIkkk$Bzt*x(^>Jpj9^?Nb2;uri!nLHBLj#f8vHfO@>STP}CPJZNVj5zy z>9!We|0LIt!%wGVH7d8;OnNBS(UE92z*zZ&#d62vkez8NR+7CAOVU_%}@X+7tDay%Te8`0xu)Pvk+f2V6sF$o$J!&WgQVM$k z-X9{4-IhiJg~!g#llycwHm6txw-l~5HUNfw?BNdTUa>4*m=q;Tl2P8gcjBNP=fGYT zOvcL!eyw=`l}u|lU!DCS{rR`CuFSmV1^3@;}QT zuAgg6b_MX^k^d32^PPcT=p&b?C(koA?d6p+clYqKuMwFU;{P^!fshT*`#O9Ovuz2| zrVo_V1pcD3n$hB2Dc*e^|LxRQv_z|TC%^wG1}!fQ%14f?rIk>(VB=bTkd{HhRhLc9 zB=8PzQ@=dxt#LUBP74{wl7kkFF69TV&#~`f-uabMD=Gw=~)Zb2}Y-c z)hw1*z&Zv=zHa`vy{kWi-%yQWd_UblZP9SSTbK%$0=mI!WVS~2FA9Ywd?wQ$uFIxE~dbz)JfT=|N&p z+(QKQ({p$vzS!K?m&xu`cOScVU2U-`>o(Fq&U^`j4YS6qJ~OC(v+}pw=5V^FY`bz% z?!#ytl(i7|eHS5UQ=6MjD2}m_pOGDhGBW=6*}`Y(dba)N&UZZ>M6$TyquQOOlgB`x z4Mo#=(pxr?& z*IOTbV(Dx=8CdjHgwFNxN>QPaIm-W%oOfpTBO`XUU$9yr{11l=-~rhL1&5tyuLiA} z)#ScMNG_!Hajd_c`_3rP`F$YNRhO_H_}U6{ia*bA{lNcq{}T7@8FK@B$Ea^EUWwLg zkXv?FS9kpzpD_>Rc~Mg zGoHaHb53>N0RM9TqyFq3bYbjX*Xb`FUAmJ#nSWQpeq9ojq>jUHPZN&-6!^0ytLz;+ z_@XjdAwSofk|V2I8X6SL`5KE@-U$9ul2^)zlP)CMi^w+Wa>zq{58#iA{ydqnlPql6`pL+5>J^auK#(6==Bpw`tT7z9!Np`rLG$Kb3Uw1y4 zNlK4JvcBB#X}G1cH8DFu&?=}(L3go3XFRO~@scvGSQ=6S>N@1)GGEvw;(wX&+-WY9!Bvp`A*g!m01&%|8U2=G)Ubb%=CP0aY;a(ngV|^~F<>d+Q<`0? zaI|g{xJbv^Ohdi8U(SkFypM85pY?yd3=W=)N4~oe&V6GHCm)Q)pFNtbHExqqU@_`= z!pS2a%T^l2R*H3Bg$9zD^ve)PuzQpu=6vkVi*bD}A|K(Z#3Rc$zPlgu6y>@*xS;@- z&+WCTxL;b)Jhy)Y-Y+#^j|r)Mm@yi-95ypOgYo;(_~`U+rF4l@N?dtBUjICrvp{q^ z?DMw4=IYRP28wYO+cb#%#F-I%UuClIU}18hOno*8+bh2)3X?@ z40d|60W1A#s6*HtZrE{*AHR9E+QSwlWcgoyWmMROpu&SVkVigzWZrsVq1v(c{TRJ& z0T~>Sr!NBA?Bjc;aeogZNI!NH))W*#!aNy02RfEdB+0XdKp!9&-Qw2vO`*!sRSRH& z4)5Td8$H^cePi8p6CCuFK4SNTVj_D$v-r%tlvjn-QOY0u-*{nTYStvutB?*(yV^FE z#SNC6(6h@~P5Dp4;)c?wV1V-{Ml=`S40ne8)zdyed%_rJx-HZnrAD-mpYv$5njzYnlD?tckChRL#FyeN@vnt6@>_?jisIvJGB$;w(#qq7bI z5-%&JtECr__wL7 z5qgj9L!{x<9UO%08uC2U%C?=!1@L`(PZqSCPzEH-iX7oaSUVyCb`93Uck{E#PP)F& zK6%O!q@@?PSe0kvG-(+8`*fU{LX0Csx*y~29iUsP8N-1=jZL~ihfXoEfc08!Z+C^55%+V4j|PzMz%H*;%yo=068*3!5lc&UI=53v(ZI<>S`ueC8s6)OxftWex`=#K`FxSo00GNv z%mg%Thf`|P6G>DILn+3;2=ur?C*vz5dQTKq@$A|0{?4ZP$ngR_{rkTNMMS7_<>K-5 zZ@RfTrZm}yp(a!Ho%dD#aDAV3P;(JWdlz&UG%bT{$vTP!xrhf{bJm~+S(_6ok;Hhv z&2)_^w5(rQRE2eR+ss#f>W1&Zes?_8nOSMF4GBssfr3NQ9MCHo1pw zJ{Zcid_CkL-I{bm1XbPavrYfO7Sn_B?bZ)vWv%WK zeEpu1sHejlK(-VU8%vuAx7?y*Oxx?xvvgC^iOVs4*O3oGHPk(62-{$Q*?vHR0!*up z9RQ?ec01v2qd`B%k~%v(4UC#1flVh1nlpiLW3auc`2OL+I!GrD-8p{tB_;;v1Zh+K zUEdOX&DQQJObo-&Sh&x?8sa>B&}2toWA69H;8i-_OF%@#{Tut)kbZxSRbJR^*ckBI zE2(m={rMgTh+TWXngtIqa*asua=oK(v-vkxwiHN}ryKW{7vq!D7t!e{#@fVQ_V1jB zvh@kbP6&V)KrQ;Ycb#40+Ur6!BCY+FS_z4}sg6|CdgcOONB^zPJEXE-=TYOFAZ%Y2 zGQYm0O+(ainj|_tn*a^Mdri_44%JXlzIcGpj@PRu=enoLMA42kG|3kAn@+AAJi->E zl73j*N1)nxz)2LaJAM0gl<4gPOo`dXBuXv;?sUi#mfBmQt#k%T2SK5>k&zL1m}|eI z2yh)%2e!mcU%|xC56D_bqxiL`v%(M8no+CEtfR}_P8$;^CtOVuct`L)lS2_aHy^<( zD%uf?&Jtw-3W8bATez#p{2rCvW7sx%)Q>2=(HGR4nsa8K{+&%NY?#9B;MO!hWPC|a#*C4<`CC-BC78Oko88E3^_5_zXs>y;=Qk{bM zBQo(P;?BJxRgj4;M%pl;QQn~iCVp{xWj_=p)=NgDr!%PW&b+-iyf6F#Mnls32jQRJ{h56=#)9d!9tpF2B zzJE_EpbFVz^R$WgmxLo;_dGNE@2JO@`%e#Gy8)g)Q|=pcG!@mupjI)|A-fJD2}Jw% zW!(k1E+DPn)Th=&DcV149nc;NfJW3cu`c)nvSa~y4VrVnO=ssnGpip=re--N8o)=V zy-5d*DrP~N;lFCdtv$XpeM+33e%Lls97u(7Td;e?Bz=E|gro>ivhTKJiAXceWiL1s za@T@C1O^5cb+0U)PTFjY%y{Z8D>B|3BEF9=5zEAOCw-~MOQVKhHgxUAQ~C`HRCslA z{SjdM77w2Ro1L7~u4lKAq|H|nm2i{{s7Y3kQwUIT?ajfNU0t{)c(DM%8-lnbl;X+u zs;;gE1^M&aVBfD!sSECQKWU@GMJy#ZSFYT__BIlOneHhj7&P_EB^viyL3ylN@#tM3 zT?G}%(J?W+aGXduh1XBf&Hto%43@~%yXV93-T8W=Vx z)*7NrCX&tl4uukxenFIZ_}>lm9Zk%%Zbh0Cf)Y(P7s*qynlrn0c29+KEt??Pmv*!P z&IIlYRSpZ?`^?i=WHv@sdL*bL3y3v|XtR=~6`b~%CpV~g1P$KPdcNOpXE~p}I9>1p zWaF3pisI#D*u~^(Y3I-19_oL*mPRzV7mf|>g-PqlgD){2BiA2`N@7*~L)2}hd;v~? z5B|K$p1}#lwD(lJCQb90%fl~}HactmqG!+RUMZ7M5}aV2DZ}3j#&!$0QpUhbxID<(yervt$d{YjmGYQMZ%{ zq0Q!>0-vgEL9(0jLko+xYJPir`vWk;AkyAvUBKSIR8Hog3h*^Q_~;Q%nr)V$4vY*M z8X7SBqJRT`%JIf976ghA3h5e%crN}N-?$s9%2fQIG&LnfT_{J^Rw6*DVtH>tQX8ST z5Jqg`rZ~<^Js`m_?n(@P59LZfC-IS09Uil|6g`B!LqBYluw08*kFC!eEgS2VbXbPs zIu`!aK+q7vk*9t1y;VHE6WwUMrK5 zX#g!!+z8}QERs7M^5;NkDBzoLKXVu&*#H-UzBtb4rabsgqfX!-5_Cbw0*zp9W;=PF zj;NBpE;p@QZjHcta&D2Cdav5hU^L|PhS>Bi)cMN{fsutS?vuA_yTQwfc~`(jKLNn? zixZ|cr?U9a_js+%!Qph+S)|H^TZi#jRc2`~>jQFf!=Gf_Fx!tE7_GzZ{>6tjRrWab zUJ>Ot-b#AD9UjVey^SK@Hi9hggwrW^>!d`&6)MBcDz3czq}tK5E=UZeVqGp3JSJ*t zEStPz9i$Z&G0YuboRUx&aY+Rsqg0gNT1wF-6Kl4oSlmb?V&~;y0=X(LR5iUhc`4cW z;HzR7FBvvi3_w%9k()9*JLvDm@V(_od&I{x%4&-&M$fgJ!dSXImwj?ST2ML^9X8M3 z9$gQAt3~MZRLfpRjAmxX%+bxKx^ZXe4chGc8Vjcn%7|g_g5JE=o1R8h)N#Nd+D4sdscVdua}XxOb#XeNXjT;Ht(_i``cWtg?bizHdO?l77;_6V0*6Ud z%N<4UCj$<+lt8@mBu}v>kmIOSSqYFceSIX2@{%^IFVStQMsbfiENJWx&fTVZ_D?0) zYA&(K-go}Cr9Il2J;1u>#xyXYnQLt{F9n0R7n*%=!Y|&g(<^wKm}UHu*&Kgt=KfW+ z_5`9kl?eJzG#ca+WC1ytD5zN00iIkO>BprMsW8yNvxb)N{fZCw zh3Z6|eDHvR1=AlD9*nY|KFD}ZhYY;|eXN-h%Bnw1Ct%4_>9Pjn1uSN%!;6nLWrH+ix3*dnDyj+hi>CbF~j% z{W+=dYgpF68?3#Pl_X2V7>ZT|mIeFb`}IgMbp4iSUPt|FL_p?D)|j*I3yN2PeQv@Y z1D)+NVuK|-B>uOrZY$tTY4y^Lcs0+i1ecGBoRj>`Oz=hkiaHg(J1}eC~6FKY(5ywpk;=kC*?t({|WDOZ4b$(?!kQJbr=kqf(s;()#xv z)sP0%JWDsB_=BtPc2|8jED1gaT^8)c;qO$+y)cV)5V^1XiVq#3ey>WK7tz)6b!ytQ`DY9kwQ`VOyTX%Bu&IZI&0zyg4VR}n4++17uV6C7iYS* z1mWQHd1b)|Y}Q%S=5&yuB+zV#sF4>aqmDaq@J zE8rD{eI8OCk3OVy@4uP~J=nTX4uw0Rx)05f?1YL*FMWdccbXEDSH9kgP}=ppKctcL z0<^{4<4Z6u#CdToQolw$C3k0V@G4uv?4wwDl?#+~fsLuJ)So`32j5@6T$`jdxn#D! z&;L(T2p+@1y-Z+}z0HWMh}_pYetKx4iq!%wW<|L5Afad`dJve{N&T3xm*qg$6@7Ew3Tm$%< zbC?ys_2S!GBao29PT?kfD$~MnsZ7}+6iwDX@CsM>sAE@{F2)Xg;tvLT`e!p@_rs1T=&IAXT}Y={ zw-l?t`imLAEuB*$8AYEE5teNt+43Y&Y|CAIo6<3Y<5-n3LX<8f_SZ$_*^r7jLNb%8mJ+5twa6S~?>lg{lJXH$Att-3t!_YI$$ssGFR!=Ax z%3L(~v%jD}<)EVnB-aTAF?&0Oh=l2r%07LHF3empv@jNI!goQhN6>_-wWAryYX8gOG;b zEZn%<KjIn$B?#zmsiGfLEAybh=U^>O9qf^_1 zT}FaF#$Mirl`dwAaFK8E2qP0alXU;cLH>RFFwQ}`6)5Dg0*NcY*;0(2*tLB7frasY z+HD@r1l=#xSF%SED>xw*}2QT!#1)rVF@CI&*0kK6F zK8Vq+#5tA-&yG(LhmIw_ppFBULCmpOo4pz=^EaHi^#e$^)36np1_n;oPrb`N;vgWk z7n?^m!pOt~n3c+?TNxf6(${YbWBxE7e22wsth-!G#tzfw)i)VuQB!EY@4L>$)^W`SuBN_WSqm8;~m7nPogO%U~*&zz|RbdT(HGf)ERHULl)D_zDcYm1pqE zz8-R|qG;)uVTa$-q^b%D(}b39Zw=iEGkit_GwHDe+cZ3k6Mvge)4DJ>xg*6%dDw>x ztbnyjt1!jCZlu>2A9kEC3>7db)q2LOS~w8vjz7}rbq{YOxFhJIs_}$vK4hQXBY}Kv znU9yZ{nw0u{X%`9+zv2)0=B}y^6*q~sP6 zDQPjt7uw#$E#cHfZPbL4lqM8{dRGH3G8PuS@ZKC$R8AVQwtp@>kd;(RODireP6_OV z7)dmhBr(8DGQ6NxE?Tt}1_|CL6FxD*Uo8ZX{GjDZ znV@9X_1=O6n(=~7o`G!JlCM~0vLURtsIk2Aa^zAzx@%)Tt^d2K437)RC6#-}t z5E1#nspkeMsV0E1pjM}^OJ2{hxVA;~gX{5=tkj>aSJ|UxpUXdbM^R%Zl65fP(B-nj ztFpVso?F)6x^x52U4j8(1tR#RrHDHTV07QtSc$8!%M9>#uq0qjwL|x!=rm|mI-s}2|o1cy*-(EIe?~F z8Ww`sMuds{)QE)S(M^5}&`qW#Pt*qjHd|3buR*z&ozc&H&rj@^e(ic@mnTDuxk`FI zgNYNx-=+iFA2&(=HmH%WzM=!e6Kh#7PZ57 z5i~mIpj=#V9>9uh6T-&Kk)%Y&AK#K=5X^45;z6%f%GJ)%G6-z>^tTz?ALUCxWE$aM zTDV#74Y}%L@(o~hjQlw*tE|+FpMUX9jnzR4v+kXYElZw=VzrGuUCgx)gk1DdD%WAZ zjY)A?8UC@PKga&_;E{uqC%H3jfW9sj+exa4Fm17obQZ5GIdG(pvSSzPYxTzEd};|)+q3N8#x=etZy z7gyz#MR0h2^1#(=FuQG3azqOY6OGn;E4;m+-DK|Uc}2X6%#^}q)BFm;EE=f(ws-k@*~^w5=RihU0st$3vN{h z$Ty+Krk)wW4xNM~Mg|Axu5_&OUKSkZX#wvQZt%Nx03`ZHsHCRd*D%pA*a7Pc%H6Vn zF^!$dzP>(vQ`7GJffR90Iwoi*so%?Y@PSvV`l)?yb_x%g8hBP;ZT|VQ0v}_e^+*zT zA)ah|vJciqZ&$(;?Qgqp9+`iOac28a6{ANP%DWF7mEGMx*>uA|0#k1?aQ!PK+;>{s z-)m}07eul=Tf~6rO_ZN#w=JX|7tUBANX@#*a!O*>=)1FSQDZF84^-8$a&b~%IS>hP zF{+#J#Xw~Vzgi~a!-L-~YOpHpVndYMuXT~RJsExCyb2fkN94WVQeBc^0~kO*~o{@SBhQq+3;`ZiCZ;vtzY*qjMRw{ zC>yFnYPze^ZMt_UIrIGaUy0P0_O_cADK0~pUF=s|7&s(SnDG(+FA3+S;ph*Ev6a`0O=qxQZnCqZK zb?I5VU;qaoHEL+BUlow=xXk*a@kI zb#8i+^23Tk+$O5*NZ`Sb>g1qocT)IH`yx3R4{G6v)34n10b8J(rKK<)H)!+lL&XaY z=Ywg5?lko1x1ZlGi(;9B@S%fQpJ9yehlsJ`f{nHErZtu_CezUs{3z%HBKQVo88`ZG z2RbQ(ayGHjzmZAnjOJEZxZsoJzw+`|Cu2}}Y~36&F+;>@mIR6poNvRX3>mz@EN=09 z<^{#BE)w{HJYMLBL3*gx6J-9vM&>e7@)P1?uB_stX4h*`=zDs> zG`*WG_b-RuYzi*CS5~huRI8Z5AVWTVO|3a}z(jUSnDSTHB@CL7xij5qLPt>)#))aw%4Swjtor8}rq0qYNfbie707Dz|_sAtMzMF?@VnSiq3;Qu}je#LTY0T9*d9#M|mw6X&-n_ZAMqzoO!ktl|C?t0o=>v8C&~$hk^fGnqSo5tExH_VTcvWT$ zn8XZi8;xdQcB9-6QOJ^-WXOWUhgdS-DoTozcISgKajFEx?+&s!|7uEbS_o-W@pTsy z2+*5P+Xtq)AP${tK;Ptud3Xf#bxu)hfY!Q-}_oGd* z|9SA2!86X41!DF9Fs5!xlGVh-lQC?a&vyddJ0F6xYH~fn=+9YPjKGmM8FD~y_=VYZJ$1S3tl=<4mSesw)k9#>oW=v2WzA4T43Zrxxwj(1}&TTav6=&%0dk~-Rh%=0ThwE5;j4isi5 zRH*mTvO;ncFGs5$I10|=r`tmb;{Ly5+YeSbQfnFoQG3ZFcjl1mcomifW*nPzYlXBI zmk`Lb@#3!7I;PJY0(@Bo0S{9KLI47?H zr&FRebbTZI`9z&yqyh&9`gD@CU{n73c!hP4hyErGMU(x||J1Ft0Kp7{J@T<)`4~Zn z1&Hv71P6VvUtFLG{CtEdIwA?FR#~TcFMd9IUal~@t-rKyKOI1wcl7#w@9gZ>HxEDW zmyVLKaM`+vE@|B>qJhD@f{lBzf8sdpP_a=7E|meOrOYVXgSzvi;Tve+om+4S{A;Q5 z(XR_FV?RxvNsqW0+w;redOx0``}%D~dsu3|+@zpGB(dSi(fVH9d^h+CXh7tYCtvSD z+pXuHh{dA1Ekm(=Og&&ee+YwtlOJd`(W7Ldq}RFV_UD9%qXpoX<7r`)i}fgEFK1&g zs$kFoUmF_KX2P30q*97m6fC*hT(43rL@txnfJV09QIYV zB!<$nXyvAkDSQrhQ+v>qX%A6z(44@ED!N%{}IAt@;+E^^*cu}2G? zeE3ZXg9nEN11}R@;d`~ax4^rG!~!qxfdw0sf*{jY&@mQk&}yLk46V}_uL~OkZOjxy zO02g*{N-`VWS#_i0x^^0bB52^3(qUg!P`NFrukoXxE{gC11nzj9 zvP*Jx;#KgXaK1MqV$=5L1M?d}6!5$`5o<+heGFW1^h(jixUhlC{UNFpl%AeP&)wa$ zl{-Wi7(dTGM;WKoFQyt&#&2Exagja7_!!(?K$K%ir~<&A^V4V6c#t&0yi@43E@Zz+mcQ|GB_TAmDy~0nf|C0jxTl41lRIk1>7l+J~Z6WdxR7|v8Gt@Nr z0ILc3RWSrVyINpXc>BDjoC!?hAElS*SX?>~0kD=i&{0m*Ilm)dk7Z=RlJyxP+uz0> zf?po*u3&i>UTl0uY~Sg%p{6F8$iZ{rP$lC3`)eBtv6i`Ic9TloU_z9VI8eh*tR!E~3H) zM(AZIV}1_w8Lys1kka9Mz98?NJH!oxTaIG%4<0_0nd!v`=k}rO`zSxWu!L6!E=0aI zKa@=IK3RDn6Fubz#o55u614v8V{M3Pkth%icKHF4>Yy2g@p3rz7 zWs+7q46fzP&tdS)Z&~JHFaF(79D5NE5qDHq$K2(WNPdUq>gJtm@N0hogMiH%4q6;T z$t;6&_VcXe-IGS$N=}gUJ2~k-Q!411+7kI_Qd}_laRI_x^cu^)28{qLkIspQ>*Yar z@~)88Q7Y#AG<)YmVOp{ggYQF4N2RAeM2=$3=2h5!Qo#lpx}l5x6mSNM<2| z{s0hKZP2L!R+I@=l^dD7T#5;0>uNgYv(I&O64{Z1`k!Jwyy))J3dH|nmYF%TTI*eJ z6)#`iZ9Ty}NMkYho%_!?{Cth{rh;2}4(~;J@?T%kzp&(tPdWD#k}%1%>2U6=F$YEt z5=Y$Xi^_eu|08S!pswCY3UejOiAb+tB7puiH8mZABFZEyFu#= z#{@$4*v0=RbSwa)UAe79*j_|%IoyEI>j`maIk?T5MHj;c4v*lhDMaP7mMUNWmu%G9L_Z*6Fz`8SrfdAcWoZ8 zriQ)!=TDUNvCzyJF>aLMh_QtQ!?+m8)uA9K$9S$n{wg$|eGTy=gaQE2;R!*s{~f|i zJF8wE>qDKPNI`@8uMl&_e}z5{k19^yD8tLd_Mf9MMRvgBo&6YiNG0 zI|#C)%%`@Dl$nIvBTFEb-xr9uyX6QJ*>!Bt*c!gA)(ej z|NRBKl@Wpu4yfI`m#}(v8YJKA;S!G3TFAuvX~v<09$SzUpzgh&%R5j^yr??AV0V2? zmx2D{dWp{R$mQvE%{`o+WavoYyhU;+wCQ3w;oAYacO?Qzi52cG#Rz-VaTjR3sJcpwh0Sp=) z$UgDRHVa*H4SsS3*FiAe>sF<-@FrHG3MZ!AuZODtY!^)a;S9a;{*3g#6ug>=Hy6_j zTglCy@7u$QlNv>!4zM9oAddAf^TLkgzJuRDthB|M-Wa?gTM#oK3Zk3Q{Ci>r@A>`%b+E6Nm=jhzN zJ4H}dT}`1;Jj%2EHifH|1;aA;V&~ooDa4|KH2v<$5iaSqOO;u-pxHCF??6O?S_cIL zN;91AUJbwut~r#79}C7L(69JOWiOK7Hh5HJB)j^DLsE1Gyy^Nj53nYNNG|ZhXSTO* z)p!We^%R4iL}huB6tt|f zpY6>x-dv^%D?EWth&r0;9PbnGzRb-!!u#7eo@eVKUZ7j~{6hi z4(8t#9khfUb=1&$g{r88Gz(b7S|{LuN=$tU*HY=M-5JTyu@9MP+G_H4MoUj-gn zL-#{*zPRX7f<=f*DF=Ul3a6X)h1mBJjuB)JC36&W{v-3J3#R)^G({s@xjR3_v`RbFc1LcSR2bBNaDm3nqIsbo# z@+sHW4ULSVE9$H|TYQc$+OHRZnuo++rxJmC9P0g-$Ed)j<1I@gQ&T*57yxY5J{Ym{ z@DKnv5gfuJWg0LZ$ETtLJ@PxYoJMA5__oylh2^WD7vJ~#=l>5_{=apK(jwJir<8TC zrduzC8R2YBV|QaQs~aC}bZdv_ zPP)rmFo>^d90h)7Tb8xADpE9-8)-nW3Di;@OI{Zq_x`n6Xh42IMcCbC3pW{(FtmNe0){DRS(j*AQk+twr!Z~O_?+F zZeH~a-(|#JG&INn2Bt*qZGK$ehP2g1#Izt_Aga3(FrfXtxrAcPWK1vS0NGj0ka@C~ zL-<>SiU6=yJvxwPeD?K5zP0zflStMV_br1EJ5fnCb3|`y*vxA%E&%-1QClwpBS&E6 zf@^OzhB$)Vhnk12jAW{s!A*|l7J|(OqN2j(`3pr<;u)v!4~|6*h1~mknwpPEJ->dt z@%@#+)TW`egM)+aAj`JuPTEjhOV1yAD4{DdaaIZv=Z>IWkFeW34FUquVl_|ohwQI} z86##4n7$eJ{AeN+yQ9P}U}LTd#in z_<>n{Ph3hWPF2=OpT+)xiF?kd0#tDKc~!^qZ(3JhUn;9swIC^H8;Mcu)~P47bMMP# z3}o~hoFmm=-&i*i9gltg^6r7j^%h_7Q>}(TpQ0fPPDafVkY%s5!kXoGAE|*&p>&USgwQfHW{yDC!#j{toc(M*#n>@3}6} z2hp7NSMAn}Qj!BBp#U<1n|>@h!}tst5T6jYKB?p2uVXAv{uC3$BiVG;R_kMkVu%Zc zq=L`*fkCxh%|mi}`Wt!HgvPlPfX6;S$G=SS-+s-=U&T+j)U*j+Qlc)6)~!@`ap87p zxY~t`3=C92zst`*p9^3K|C5Yvg*K3amfyn*3)w(xtrXgE|0*siQ8Pe|TZ0^q(vG;> zOZ8fV`Rj0YF-8W7PaUmL_hQh>g8r~Htma`QcFN+-N1?1_Fq%)p)( zZSIOvc}&t>Tv3q(GNJ&5Mv(O7p#nhbJv=-Tf4|iCFR0djRT ze59<6E=521CVOb>v!{ab(a%?D5-JMNWvhg46JJ}0=;6JeMBQ*6MZ5%sg zyKUW!UERzBBQyM&MWGh)@$i@qS4JxzDgc6C{L;s=zHwhUBt#Cjq!ssP-ZRSl7Ll^WVq{vR;C{%v~MrMGyQMyAGL?T2d8qdV$A? z$qj0tqF*6`V|%=N+O-acG=fQ{QO63wHl4B#Z~c6XGN$>R4Qomrzqvi*uD^ zXUF{W@jc2~qDnv+tO8|ck!;Brt%iE?&)IT_O|u&@y!aw&#DBE{01s@@bS1-gB8li; zoB~F4=?!6p)YBN74}CThCKJVg5ddN4xV48E-vWFW_iY$EhBo}*LYb)TB9f1)~(8H$J zoj(nVG|a%Gfi_BgtHyu+j06F|Y8o2t?h^NgV0OLsm=Jvu?%G;@0UQRU*W_Ei0a~|N zgtKGGN-HXgn@@J9)8?51D(X`{Q`4-8!y14tMq|`;RRxZ|h%W z5kTBRIfc@U!^6Fm(5tCD9t0p#zANDQ(zM3kB$(W-V*4sPwo%aS03H0Y@Wg=j;OH>O z()fIBuU92-SpHn;-7$GJkDZt-D2Kal&Zuwcgb! zPq%wvc6ROj^R_F$EJ6Z6^9bXsjcqTWy2e;+SkrsgJERUoYrx$x@bWd-u1T+LUGO>3 zB`b%U)j&Wu5iOGilB>Z(((b!%@27tUw7}WJ*0zA<>I%!nMGj{528~2oj!#T1^^A%* zu9r$rO}dCl0d?n!Ct!9IO#^QL<*e>wgU&<;@I&BfHD^3Yqoa*~h_W*0w*P_fNv%d2 zCcS+5^q7|R!^rEO7%}9lnP9nwgsLLwK0j@cdhvTIVE801|$$*tEedb!|jq$h>BE6%BBw9?DbsrRaq#+ zjb5b;+d0(Dz#&{bm7HHBTvN*bdfob~tE;b+oVJQ^;**lOzG01k@%9Y1Zw>sT@nrpX zlz_pUr;QGQdC110W^V14Zvzhi{`vPv3TQ?Aq=0TGKx#YJk(-fRDx~PNVO0?9ifPBC zd&{Jr;$~5fHfR)IiwU>3w~zSlyuBa=tA&43Fm9o;0l+sPZ&yr{&z4)A?INpk_hcK;}!X%#v2y(Qm1`y7HstSN*yj zxx}HYxrkw9CD}TJJ-oO9EA~aiz>|0yE{a4I?m35!dKSlyi(@CK6{gih6Aq${KeayT zDJ1V~-#M>NHFUz{=jCMwHZLG%&xr^JC;EZ+gUR|n!bG=N`lvRLI*<%UomL_}!THz( z>uq@xnU@oO^4b$^{Q$%8pT3k9_^yApGk12}DVUg&fUqO{XNM3G5Ls1*iAn~r-w~(w z+ZYDK8=?Jgvc7b64=bjxKcwE|dhGeR5>mYfu74MyV^+X?6u7!=Fbx5b^i6QKFXNE+ zUXC6^S8}0p;1`^b(tf)C{LQ*=--JNcJ!?fpg{?Ua*!^8>7AIrUXRP;u^BzzqjsN<^ zE+dou@1+SyVwp1VJhX=L6-gnG@EvQvDN?dnIn2j;O6-@Yk*BMzP1EMS7d|zMA(7;! z*Ycq6dQ%4!^tNL~w)O7M|39++0xGKRdjN(n-JQ}UNJ)1LC7`5)beAA0NC+}C(n$A! zD2TMQ#848_(jhI4fYeYk@8$V@|Mji)zOz^i+&cH{efHjGw`palX=PWoNa?tZyVFj< zbt<*rts&Wmj|+fo-3}P64ThlC5|KRBL;j9=T)X(|S2xGQhh#q_n(3miARemnA#g7A z3=ew@KotrJsj7Oc+MHx?F~1^V=PYrFNl&!O7m|}kY2NbsiNQ@(j*Q>q+WF=}``a#0 zc?9mwhOur5D|WMNEmSJ4iSZiZ3nuokfiebUj13J9mZd%109dU*dH`&>?zP&9)`U~I z5$5bfV+us_+QbB$#5kj>TK|Gd9Jl}Zv=Ig|I-t3G^{UqR_-YKwWIG3xI4OFlR9%F2 zZY%h`kpw(%5nfRX?H>@;#dz?~##pt}!;;|2Yq?C>#{Qmk6zMei;wDJob$xdFQ zDi(^TDT|;;v;mu{KQ$3j&?f`&RFCP*2$YH*=wjtzSHHl(49UCY` zgJm%spy4_Vt1>F%dKZlREXz$tb*KF3O+AHATutTx&}*RiCk1K^`5a7mpop92L4{Z= zvUGKebVoW1Lo`!@#5(8ekJ5;{T!Om3$vh-_)ruGl5pET^d)8Bb3N-U5XD05f2+f)`Pe|U78rt}9_~N#l;qs*A!&>?=uFQ>alWA=?%KLcR;zvmw^Xl#u=-GX|b!kK)e1xOq_ z?TC6^4StL@n#<-om*z z4OH<|10nNcVDi8b&wsX32?$8L3iw=Gv&WzA!MxNlcW+Yi^d!ac^Bh8cFaLYgTt~By zVSGEtoUK2iXo59v_}MV;P+`{gm3jB6i7LJZD+E!l=u{nbnZ~U$y{fy~hB+D>&GMl2GzXzXi*Q1=)m1;)T(B zg&3ylaorXl8{x>2P!jl(8=5{JA2Z7Uql@i-GyLNQ3bj2%X9TaztPU$AS!`I8FaQ=w zv>2JiI;tSd)3!*{*0)m7wIKg9mGST-5S=+u)}I~3T}RUr%_cft(S@Z`XQR$-R>X+9 zp2f|Hw}bg4QqW+tOzV@m(=F|wEdQt_ns{A(xRcHLJdInyKSmwu(B{@BtdR~uqE7oYoDgsj*TwIuDfP|N!9|DG1^2c^Fn=TfaU)8x`mzG8SnEjh zcXAz7mj5+ThN>NrF0ojsWYpDHPt^xq)4J-()TS7=uQwG#L2l}Xo=4%Uvi08G=#lBo zM+TR5C`C!v=76%wM~ql3nV2atw0`ZWV_02X%4g9(&pq0`F&7)FvZ)sTatu>&pUudq z0YG^M%`=yN`oY`MXIsqXgSQx&9%u@aGPLh5S<`NVD4l`}S68U4{NF6xiMArMePnM$ zU<@gavk(g4xE}Vgni|vdHL_QT@QD?_>N}y$V#;@^qp%MBe%S{Ml_|aA(A&I9_emwV z#zQ&>ajQMd#}^6{vzXqR1(UwD{ruk1HM(Od5Ab=F}GX~VU^DTY{aqvaH^LTTh zLgZPC!#YdnbtHYV?XW`49N9#YZX^4cre9ZtSKB%Rfr<#O;(2gaG>ppFfG6Gm{rk}= zP3C=~3Y!z}QHcC?B9Ve9O1r7`S=~Nt@HdHEB+CCE7Ay=Hse*E%PBsY;W`3~#JK1SK zlFgf=Jc0JFdk9bEz^;UvJ+W%;a#y6qlPnn&tGTSvuFX;Bk9ooM^_FLw5Hq4p*Ee5@ z0ATTt%iw`NH;)dh#bBYJX$+ki`vNbXYC>FLy^i!jW`$ZQOnex}ZLFyQP@u{yMdelI zvQ#25ntdhTV&EUP;<`1X&m<*DAF>nLnx8s+cT+Nf$j4TAVwqk)wk5=CbK@~3qK&67 zva1K`&<%1+ClLez&^tv}x45$sn!Rqy8$GJ!e9wmNG4 zBO>CW5~tS%9>sc_eHUaii#R9~al|3Zw4k@E)@2wU|yeTHz;QK=kVD)4xf z{n%>9*G6#lD}01ku^`NPxS1AQz0!sf-%He<1*}6n9?>QB#~+WHYW`lmg?^J;x#-#b z7wJxejZyV|`HIF@W!Mj)}DEcEQhZ$Ufon9(KS{AomFLgAas(=iymhOL&Gm8Wz1m_ z#u(f0x#TD7UFW|&`K6vE4Gqbq0ZW}LzS*sxgx(X6KgF4UO6#3rrZ#)@*~uvs40-%C z9<8P$IFcz{>k`0vvD@;n`C>P&_H~zRQ2DN~%iF%=<<;ab;vi<-7+o~RbJ$dmt%n4m zMU&_XE8)`=SqsJuZR2ID6Fv-iP02^ND)}hQDS(dR zV{r!q+N2ngcKePF8yA3eAW8Hae_wP$(Xy^LuYN>66SnGEO;0&G)xH%dWt`;v7e|ne z3CPd?!|VvyLamwOWPc;k8p4oaQncCI)Q66wZJtHGeyX+jG%GahO381&(W#Le2Z@fd zJT^Ssygj$4M5X_1(1|f2ExQZEsVa(!V0%?b7CowYaoYUK5?fx@56@d9)w8PD$mgcp z2V~f+mq%P)EW8xm^j%;7MA8P`DBrG}p2r^#t}GS~K~wQP@xLmgWuw&HQA39@Kw~0j$Hh|H3!! zbY;8pwDcb*F3`IT0h@-sX^!nMRpHpu@`|)I)iMf+t+tS=dkwoLT+?_3x=rLmhwdJA$FL6(flr* z3{^79(IE}(Y$@x}_wIzcOl@8ms(xzs3TaxL^LgMmrqz=rPITua5F6Z4fbjSW+t|ES z-g+tMp*+ezhKlS}S}#Av$;*|N6~i&txt%p5&&xw)u~YSpWH-s8w&%(J|EJZ#4&{Kt zj^_i1-n1CMFFWEz8+Q{l-S1oX0+6kJ=-qjyN_J1>_UJzc=;e$M4{G>yzqt+W*q-$|{=& zNbfo3m!YGsoW>t+rayEipeU;LNbi%;&%Ba;V{eB&b~+E8%YxR7evByc(8sKpzYLdq zO!r;eYnE%QUdoz(xC@q3&GsU99eXL`L=j32NX?3# zD&FY^S7RyX%e|~kT%8cp&*f3<{WlI6&D*|*`6$m@UQ8_A zPXSz+Wo2bR9@i(dkfC?-pY2Qoq-WaqGsB*%uJ*62E+1LI4P=W&b{57Z*V&W>$z@g! zFCrdcZ%e-i3n9c}qisv$l7Cz}k|&p8_WHouEH3(Yf35x3r5N3}&s(zEKYBlQ^v5p7 zVBD-o#|{L%MY1Kixpuc@IOfT|A%;}k5<;}JdQN^4JnHZy^V{6QrVRT1Ay)%G$JBEZ zQ98ggwK0^zlqb0u@sC36(bOkvQBln2`!81EZg&1Rzl)pYd>Bk3-!ioNU`6#g264$* z)R%_*kY;r55C_!!CF!nlKDczmejR(fu2CK*G(HhtFJok*tmWPLj#U;5Eu%&-%UjrM zOH)p`aXBjT$~TV;ii^Jtjr1fj+TA``{)De)pN9S%Bm9w@TYtIL zazuk%`+H}2yy4v);^qm;10BRi%CAr~pQxy?-R3al?4^y45_!hs+$32yVdU#|zSknD zV5H2-^Q?l9X@b*}Djs}h#wvw3a4HKhaMxQBy#o)A>Z>k`><3U{Sudlmm|W#%k1tkq zlt=oCKHXO6cVPY^`(;6T{K|rQ>u%+@Zaf9ytd+`J7lvizjq}{wDjQjOVwKb|D-{|R zgSE*eOQt`GP`j6$zI_W>f(9HjJq=!Fm7w;E zv-~cw>W30zurogDh>ZWm`Q^r+oiMX7s4GdF)>^*y6}h^ax}RdF&n-OXJE=(b z9|;5>i!HBN($lH+jz1yo7hJejIx#ho0n^j&zrg<#8G5u)6sNnez1PeopCYC2nBN_W z%hP&l#esST9MLtaqBW$`^kX%YF=-W~92i$UX9Umq775P+A)5h+a@f&qRNqNwqT2DK zn^0)Z>t8GM^w~K+?%i=mmMvi!1I9shwfXP?k!SeU`lQ2GKdBisG!*?Zu&vt1BTysb zEI-y1ULf=RrPvt-)MyZHsE^WEWDzVWHpfo=v`k5aPwt}AABk?V+PV_P#CYu_8rXEO zlB6@wu8yvoPg&A;9x5yACMFd>%Z!0bh{yh7c>T-Xma;5H{qZ=PZ9IKy9$86eY=C!d z5%gb)e@em+dP67l#$7s0S*fZ{?^B}Y;@|OK{>qEyKDINAVR~SLzxn6O$!o~$mEMP( z_o;sH(98(T$-tcYd+LGv6;!JZ(-#nHa=QR~&`~1evM60+7zzlHeZ~jw zNEJe)_J25_&WPJtOaR~GSs%=&4&gE^hLlzA7i-S5@g730e%=`P2~UM2!Y@29k$p_m zmz+BP;If_TD*`ynXcJ<%V2RnYL)Eq=SO_fs)79__=x3T5LxFiYrs12z0RRvum$LH0 z`yu+NIEqlrh_n25_u{DJmi}!8=FtLtaZd?=-0Qw^B-=n z3s%<3U??<_1Ai6KzDvn6fXyyIHHuSxK+x&plrqP4269ekOyF1!_W6RgX!>Q#!J61irAPVUl=%?~5lU5KR@s|t0f&;s8ufAo;}=Szc-DWD`CThn00nX9%I#$)iaBf;ZXja9$Rq>GHue$Q>|An8|8<@7-#UjWC(uv2 zKVVK)I+S`6PFiNj-E&%3Bv<$_is{fk;mbD&^(*Bke~u`@>mkQppI82XNb|HYBD)Cc zN~Dkx@wA!UJZl2YDf(1g08q-KEjiNR2cAZq2`q8xPS{!e?MbV@-Fel71_YlqES7xw zGv}vYyG`KxeDWU%{i0Kdg!S3)=;MQ>K~9_;uJmeDEOW=BjGfw@+A@B?-}f)qz4gEc zxs4r6j45=sHbF7mb?qDE;?mi2t$K!Bb)Kr=4inOg8TiOo-+scBQ3YpopfUYWtlhbX zR0KNV4gwsx;$S*lY0aJ-T=*VsSv_JS>O2EVzqZnY6i2fuLU9FYV`4F%M<_Wn_SUdb zazND74lRG1UfGGL)mQNGE+b^0C2HuPy)bUWm8TkIiWySnjg5WxjM7k@^~q@;%~ zxNSw-?|nspvOXWI-uh0yTTyY^4-ou`i{zG+f1Y4t{ETc#10xkIyX0{9=bwbzH8-M6H11A=1(>Eo6Z^K4kjCdAX&*wivT9=has$BC#Sn zXrImD?bMOYF}mLCORlCZ{B%pz&Md=z=v#!iy@`y{IEwkut&akuoI1Y0AIc0%Ut7upXv&ZALvSlhR^`663&{&YG&j7$bF~k zwUb5uni6MEcNc2dq`0Cnf?00wE-*QZl)%B9@0&0=sgx9!#aFu6Hv9Uf+>=56KRc~< zDh@ReK{*WXm$={sh4FC>^CkLx2Cy<4YUzh+8v?kS<)jnxVr>D1%__CFQBMn2UUsyZe&((ZXFgfHyc47@UK&t6mVmfG z6R4dgY2v5S4OLZaCZ2>eJ=76j34B~tsHF}Z_-3hC^2V~o)r?7Nq}r^+n()^8K^#d9fSIE*~qI}ttE88APP9kD0SW=8qXauy=U#n^OYcSmE6S93l<&)4auL~(N*cN_V0 zQ#K7^5IV#>Tc|cWV1+WA7I^MqeNw#=pmnC@Wt!C1g@mJS9V+xh5Du3{R~ru9~#rgY6P- z-_e%uptnM@vhj@7J~l58s$T8`2cx!gUgy|=xxGn4S=b%P5TK2Py_QPEkC+`76vTU` z;`p_;awq~yM67(CO&2AK0d2U8o%K!T(f2FiDt6A3q6y0C~U=&Li<) zHa`6J4ZtE{-dRii;>>WO+tIP+vm`}P?F3@+hS}yON7KNU)@#c}ZrLndVE*+d!(5&@ zi*r*~9*fAjvKUFPVk+2MA34tDO;h;tGcrGJgRgM!z%NJxRQgBwq6QjH|LD<;=GF}k z(d;5+C#?M@Ob5Rcbrv|^McwHu(HYa>`1AsUMa-kX>F-r|ziF-W7EOwrOczr4K_KU9 z0KFw^FFxSwBvkQky==jtOP-!0DlrQ;3*xR|9)h9^-7yVj@%#1Oy98uIc#fcsGJ%DKUfZ4R80tp)|J|Po*Le zt*ci5+EU5N!86WvcBE7sq!pYg?*n2T`(#h)OQc$D!=TWsc+W5&hHjf@?=O;+@PJ^JU35 zSFA66se_piH5FK-F~b%8Lj@6G(qH z8#9<0MMTA&A8X740Nch#ufN6E_N9-!?#f}QX((fYp?f}Ae;qu0eWNHP7y)T|W9O$N z`VrEq@oiY={Z}n2*E1(S8}JZvX@=-eC#mDzUE%blMh6AmG;B}j+{)xSjv8ota9%Wq z-ziZnpOzQhO?K5MAJO}S)y9?__F(H{4S#Vl;zs6Bmq)26K2;n803uECG^|;K9Zl>V zI0_LnZoNr5EYi*n=TW7;wY{QlePgk$BRO<1-Ep&4?xNuP`_6^PEJwC%m5>dkMCzB)uA8y>-1DCqWNCidMKa#Y0 z_frR|JH&aCuBvy-5A<#M<+GuE5GYs)ruev}HpD@6JxB$!3I~TB%)_kzBXM|z#uEINZa*se1or&-ZHqbJ{DOB>O%>hv`d@K@ zwa$+o*N_&Po*aL{D0c>0hR*Hl>v!atcS7P(adg6y2b$jfeo?kyl+D!A9t3Opz(Bzo% znn-!rq0i5+>95HVR!oVIliDGy{`j;JEJh9`x~@_Yy|h^n0fYfCA47W{BMhZ zYwtGbq7yj|{$_8t)bPg)bt_|EWf~_`PSrQ+X#Y1L#aZqjc5YTmLh`X^{ft#lQpaf; zN8|8P(0tUZPS#St}GVHoW@z6Gz49ke!E^c&vN>wuFb{$g$csg3>rj@gK`9j?~Oz z($aEp-it@13}m7GzK6C+9hU{0*_|bg#CdTsiW=q&U>u~pw!wy}GxyC#`LYLQJ*g!R zze6d-wBRM70&HOW*Z;)=6zQ^*H_;@WU1~hV3)%A^`3jkaKHP!76l(!R=E2d*SFEeH ze_K~A-BgGPzk+UFkAmo9S(6|&eA(J48|cL~-lL6F>)m~?w+WxCaeg8=ZV%2W{B4QY zv-va75>cO>n16uJ_yM!JV?3LNX2=pw8KJW8PRrpv_lH3cx!A=SAU>Lo%w(jm#S}1M z_WiJdX-9u;QB-K{>nkK8=o!po2%2zJef?J2k_4Z8ngonZZwv@xhvRnlDh`t~qTy=Hjb5~KZKHPbPoSWy);g1$(pBFzR{I!8GKIcu- z2fl27{{|v~9$}_SI;y6|K5yHV-7Lv~ON$O1crd0IM9+qY&0X)jbY-CJ1mpaWykb-> zs_g%wqmIuuKXEKo<6zbHUc&zFD9p{#zCZfBj`;;Ss&HO)x0+AR zA+Uwk#OdC}7s}ALy34Xb6Il$Zu{keme8a(B%J}_SZcty+ZvQM9I0Mv5+vAz5ga9 zZ~x#d1|#o;#02}@1v&23ey)d|p>JXWqu$NxzRrf7I2j=QH8%{f($J2(%MkbBIEKiVD z?!l{FGq5ex`ofwhuB9i*V9v6R{2iB+NlwkFH=(TW@2BELj+-0 zxmuiATAVmCdDEl4-HrLJjKWac{;f*0n&6EsszcPDEgUA-yZk>WR81iI%AF%Nkb^oh zu*gVZ0*;GO-2Hy=Y#V)S!1y)t$d?8P@YfqRQFGm9ii#d&OpGDgACR;fAg?+WYzfcT zdlJ^Y%`Sij;N*V7JPBQ1!bqWwAS)7ZtrXmW;;B8Y-`ATL6Q_8tNx+-p#Y#I zio!Xbd_m=_uE^K90eOjj;%E1YE9B~%A2(eyBQPg}8u17k*$P@r&-F*N!jtQ-HvHc( zdY{~k)$KYwxvdqr?H`+%TNs4n>UBi)m+#ZsL^z;?gPXqT3A=|Ky?C*H<21H#OmHY= zX~7kPts{5JU}kDbTsOF>i-FNh_@%y$;r`f7tC1Di?Z&#ph<#^RHC-(lRm^gSfO-Fms#S6`w!l4m|yi@cvMSBxyv7 zqTqi2P@mcu2D)ASx(_AJZ0BB{8DliH0*OYmLNgz{EN@YFKeo|AP`Q>bBH~t{mcKZ& zz^?+Lv1fHs7h4h?Q4;VIG1A3PJOG}hxfyYL3r<31zU;OKEP(E72{pH~TcL|f7x-V! zwukFs#PU)&&1{AMa^s=W%JdH>Nh{vCXk-KPJd!Fe6aQ24gx?#fAoVp4u`0`s_+S5C zBa4srx--8~?Yuoy^FOP?L;Y)q;-|&lSan?LgeEPE740`LuW8KVBU=Xh4c8uFe?c-Z z8QeJ|$JQ(dQ1J6^i1k~0+Y^G{A!^}(KrkvmTu6!vS)^D)Xhv3?s0=TniGA-moT%OX zWj|RIpF=>w{L@A^PP;O-vDw1IB&9(OrVm-~Y2PqF+g8ToXy4?0`XCq+jF*`lI5*&i z%}V75!V)ayndtdMGWas`koX#MzJ+JZ{~|uo)a&%xaI4Izzz(f57tDEKihxwJtT+(W z*D4O33S22-9iN`2%AK4Ul>mCcs7EsyEEyN@-^l(AgxH({Z0p4n!41Sox2vI&kJ(Iv!HHfaDFz$WZfl?fG;votVQJ5 ztCWS~HArwa|B|tzcg5jPEwBpJ+5Muq`C0Jh{me^-Gv@LAlcf(D%>j2jb#|AQjei%! z0EM-M1`WFWyD5>eT8?6gT+JX>0Qmf8pP>r=_KF;MpK(P&pTIhH+}m0<-9X&oh!^h&D|pCwpCK@ zK?9icAtM~UN(1rPZ# z)6!v`1<2(l#L*)Bj{Rk>mV9n>HY|VD`t0>TSnw527E`u@(S{pLrSKEU%TofBz4s`M zyfrPv#IeBTrzNT{qbZJ>2d{cvMve>Vp)$ z2jWG~Wm2r^4VyT~3q8;OJ?z-R0WA290Du{Z2n0up=-6%KXn>&W5ln4vDNs{KxCy)? z0g}_iV60hMs%aV38@cO0MoB@X#S998K(a+{W<8dMqj+HrsCdf>?<<0H}KKw&t>ttAzFzIt`dHc8S=G`xJ zG*5vpeN@0e7m3~l^aJLXr_Z`a;{6!U1ishNTvt8Lb+oQ+etLQY$^+_yZH~J_JwkL| z9&U%HTRJ&LAWlKZIT%OrBQE)|<`83WVtW&3VJLdkNoqc7)TjixW`IFShM(Kvk+Pes zrTYAiME8!_{_Y-7TU49HW=`E;t5vU^aaO{FrjzUFs8Tx=@(yf}Cu=Z>_tJGdmI+h# zeAwIdce-hZ@2eGb0Qmj;_ai=D>dGJcwH8TrU{a7^?#RyHzp7wz5m^5o09J0dB)pDS z73FuXPG$_{!Aj-QCM4v^jFO%J>cRts4YVcjq~rJcf}xuEhLNt8j`*m%a1o;k5LgpV zoI*9+xL;FK=W5H+AS-hV+%7h0u>4MWgOoVjC$wW8B-~e#b0&rZmVh@JKvwG%{ESWN}JKh{a|(%=J=W?8{PS&$Vlu?H*`hYsjXi+m))4!U1bAZWoh z+hKcqE`WmPs$hzk*A6rBb~qC`CeSf$)rWnIW}+EECH+o-vxE%*3=Itje*Oe~k=rzc zz)}IWr0ZHEG+sBtroTil$nzf$czbgG!5;#v*9mj#Grg=zWKlLlxMT3-1U(xkL)P3c z@mUgY~dlISsUpQ#UM9i&4D;T=KDZMygQDEKQ7J1R> zB~5Ofd&OhF?ymDS`J7!q1S=C$T=JfBTUR`T@na)mqM^%4oGUpGYDGsHpR?Us~O8Me=b+)eyEw%d98I6D#jS$tlxQ_qJPC8b0VQq2QJsUIZDPbWGvqy#; zozYOo_mb#ohqLP+s;7E@bHjfy&0Kh`K_oo;+f}@{rh;}Pzf$)hS7A#XRiwj@AdxnM z)8k6^jUZMXQ(&MJoFGUXx@86*Pg8GX>To>4C3W4p?|t)v+{hCb@I83lkyj%4m8mg) zH9W~jd?nw4i*u>Hx_sYUE>q%ygQo?_((#0C{D*wI`@&jAf;U5i$nyv6*<+E%GpI`$ zxCqlnxPvR*wzheQgXXWlR;A{)`$yW>I3aOjV%ktBSlYk#JVB*IZRGr{n zf}n?qpba;n`}eH;{yhQ;BC8u5^BZLszRlBPK`F@Nc*Ohq*k*JHwsn71yK80@MKLw6 z64lxxeGEqwW$&1;^zFa_EUe`EZ3IvE$wuaif|4nlCg|fk>rMqi>>tLp4O3R%tUo;i z2^=rKgJv*C64#9Vzy@jo?kf$1v5g2AE~t}@K`@YOl`v)Q5Vs(ZU^5W7t;wX;@PuS zE;yu&nU7>Ksf7Ur$32b+U;aPYN110wWk}IG0mg20{~*9kvz(Ebo0mwGlP5`jH z{6RqAspWzNwxw~+*^FcnTLxQV?Z|9}b9lV_Q1J6}PgWLfuZr;%P+0Uddi>Z22ddt} zO*KyteoP8WGF{Y79@_O_e4vK%l)S!aDXgh1c2+b)2m#$HwRW?X;zC}4$mBDQpV$n+ zq9T>OsD%PtyG$zR-6hx6hJy=>5H|xew4%R8FVC?IWDT5wd~=uT*zWZv2rpo?3d7o) zv2#9klev9U<>+ULuoy$ZJI>JtIJpDHJ7`k2N?S$7cVBfm^<_9 zF)O|f-~dyzFF)jD^kleIY*y1O{3{!SjLgiKtG;+EWM=+6k#~D+{mAd(!Yxw+#{2jU zQ>dP|-g7hW2ZSZh!Lw0GNpojfsI!)lgM4WUcjs2GM(B9uHkHgB$&Z*)xZs^Y2}BFE z-X%(jJ2}o*qDF{Iw0*tOIxGzqbVH@Cr*7kOFxuO=0L%QbFX`5UVWd)#D;+1iTX8z_ zLpdXk2P<%9e*RP5qYqu~!11C)@Q;HE9{WL$cE$MxB3DC0DzIS}SiC^Bvd4SuM^`%J zQ-o&;PUltI$U>Ck9Uox*_7e?-zCM^+r3TX2&lz{?YV+1rBwq+)>%}*%^Yix+c*^Pu z91OW)11B#df3BH-lSYquy4F157^=Mz_f7Qi2|!ui=A`xuz{E)AH<>CDJf7mwh+C$svfKm;cANuKK1WcLna6GQP-9U$F0b2x@PRt44 zxZejOqOm`1(_mx?yvGGeZ6d%d=|dO2x?X?L(0Ck=VT2kMStz(`=abMEd*YLqGr{u2 zz0co=^B?{{#wrijaV7cjSbZXkc+ZmFv-sGi$_-zfDs$;1s zIbSqjOJCF)!taP*V7=x?haohDmaks%1J-<#z9+;*M-g2Zit77R(ScJsgSzK~I+C7I zIwMX|eFed7XP*;*kRG_S!{onJ;@)Sd*(2j|2U5uYP_LnbBEA@|3{@zh+H&Hm`S8^| z6Un^i9@aSDi(9JsR-c~pcI+D(V$EDjLR9v*jl6vJjl7E+MLOK|5IaNk)X2z)T~<2Y z3a8su*!FEN5D1;JDErZ5$a7$3k5=$GtRfK)2ztD?Jky zp!BKKp$7j6CSQh)rlux~2yybrH7l1qxzqPM1ZVm4II8Tm$*c=_+*%Qu@g0R?@Z~Ol z*&4n;QK`%A?yYz!2|>>BGnIJ?ddTs>cAC9IT|a=8`w*@+twkUAEGyn<6CFO*7P zkpbq2bs%Qhg2%}){rT%#G(b=gU33b*&nKfhrT*07EpJno8lIPYrZ zX+hiGg-WuZo#4gn>>bnxkg(eolL^_S$le8h1xb^ES_3tzfKR`^vP*^mQer03&(|{k zbKxLQQfU0X$qW4hjxmzqYU8- ziAmxPu$e_zH7iiBRk!L5Ej~N2+$nI^!Z3K${78~RoHFJottK${fh-E%5y)5rn9Y=~ zPN|tg(^2N@T%??~fc7h*&E~s?hJ=yZbC7_-Vgp;a)@>Pr1?*b337O~{)~xWU8zara zQa$ZUBR|$o$Ci~nmF?&Nq9Nw~UsIaqYUQ&p11%kCa~2=uZcjgm60+XKPCh)=B?B>sh*p%jL+LBQ>73yOGTj6mgGkb|`(qKO{Mc>_rZ`ae>8vTKnH*Tt63ga#4D5emT1WPjoBK~3HkG_*M zj6(-ium`8~PeJw+e-xaO2mvRif~{(2JH@;Agq0x8#>FM&vh|IpZra%q;px7-xsvmh zw0T7^!6Z9&)*&6I`WlHRmIt`eAk1oK&QeE!I%e?q-(MOMNQCoF`nfnj+KFxCEv^Cn zxGXfvx4gYd(aJP1@seT|okJ~~CFehi?06`iT-IVVufcTkoeD^PNrQ{kS&211w-7US zzz=4WuqJf(8!3`M#M0++KoRa18@z10+9I1JT$K@19{dcdDM<%1+H~jpL z3xYupBE_TOIK_{`*f|q|@kAqYlqxsAG%UT=-DZ_9=mSBPRN0R;u@^+8UU#!*mEX;H z2%LS-m4!PGxaeb`h4gxszr0@Da7D4`KcM(=(TB-i1_jE+gqOLLRQkAW#$zP#7nr~? zbh(@)88AXXdUM~!8Kd@WR@8i5{i4ovk z1JBeqGp`#=D`a75yUbbDku;l}#U_wf8_>GJ_hC!+qN2OHexEZS9q*2c<1Q3il|UhN zKq)ggdkvQaO{2H}G$$cjWTs7Qi(_3cjU%EhhC@80R5OjlFj%)&w( zgYv1Cc?HYr&YB=bq_;XlTSG)jz4h^8=j`g!OOd? z{DZh}|IVQU8x*NP)Y?xj)l|iA>4ou}7^k2S^?2fQJG`HZlWaJl|FpSf>;d&J7@<0a zt!92mKbk!5aS3;QhiaV68_u>;Sl`!9=ZewzKH6&dv|~r*yuC`tTlw|N7f>h3MaaM= z$jC=Ri;Rg_28Dru=j7z+LXtu88u9kG5eB+kG%R9V)0{iPpj^9kqyeaMFqFw6O(yVB zk!OD5D<;EdN83jNtuld53jx=eFQ8+;AfA=;1Bhd{~wTfVq;@n3zXwoSd#ISek{D4GB5iR z@H2L(3tLz)SF;&3CasXKKVDiU=$yxvtz!A{x_M~isEV<}7~fwC5!qJsyxa|+%`glC zwMdUGkMUn5v;@~%N?3(3XDn98a+Wo+%~Q1MPUGm+U8`2zZRbGIGE-6?t$$d>nQaE9 zpaU`h!+}&H`4{G|KX`$}z`4;K<;n!P>HHq;(qLc#?Ofue}UZ&X7B?E+==1mmV*@;~{U(!7)k1wt) zY*^u%wM%S11=w=#0$6z!G2UMegM-@fNYXbK7*buH$Nt&!bHs6e!%~j^tmOd-TJ{#F zD-o-H!KWbKHE$SvDV(@VstCK1?Ml%&P7Xx<{q~EQd>A!DYNS;h<1~BGne6^JP^cyY370Py+1ZAYI{bVI=S2oSL8TWU@3prz_;>(Ih(Ow~ zW1SZ3AG`?myTjQlzaPv@oSCi8=Z?$r+=}?7-CSpQ)@GAnieqaSFPs#{ z_XOI65wbD;hVa487QWu!?xv+%%x+DRRq~J8EBmQCuvO5yUp#raU@yzTl9Hmo12s{Q zxUQ5F4>EwRtXht*Jotj_=z6_F0=T?EpYpcjr^~GuhemE!nYVTxoWZtc|Biu14jNd{ zOy%Px0r@Mw-1PJx)jZ9U&>R7SX)wsWyV$dRIlhC{eJ!`6$i%!_LYa)|$EgOMTU`tp z_5<*tGZnQKG+nvdeppVyczEe2+h#IcnV;Zl`~c5#zD`eH$JtV^*&KdyLaJV;O%uL^j_LwV*0wZQ5v>qD+-7zXI)CXw~O=1qS_oh9IDcC_Ru zEb`jex&zqT&Gw*@ZQJ*16yzpEZR|0E)>+r3W-_o1FyfFN{<@y3E( zoOciJiho8Ctimk#>~qS)mBXvgVRs^}>*t$S7G3F99X@Y@;TT0s1@dtqaKODMWh}0I zEk$zrm)^Xc`NZ_4^!MRt!(zZvft26w9gFb~}K(JdalriQD=7zc#t>(xy1 zZl^|%4=kRS{}F!j_QSV)RPIec@(%qfIcv<@ryM-yluu$`8q=O=Yie3MI>uI`;ferO zDjN~rj*c!SE@&4MklH6d>40e{(|x2(cnPHJ{OdGc&}3Z=wss;$)vJ&8ZtrZg<~owS z#Vo1{3qukTVm71>t|A-xKXV@7MT`-4_AwLOjn1F8e)naC^QEsmSaLyQ5n#AV#>Dj; z@dAY?X#tHRwXFi8TL7CIk#FPZ__Kt1mDh5ez~)S+J~=0K4|4C#Mk!7}MA)M(>NuHS z&1?!tf)*_0FswlH7T-{^nTXJ<{99_CTM?1hh;FO7YnDwe@h{VOkFS1UuIcj>*EkZ* z;wyZAWZnh7Mz?JwDo5-}m#4Um>2h^O8W0iDr+wgcm%{IBNr?N3_Ci256YuG>BS3!d z?}>ZN$Y*O?+ptTV!S|p3pQgS#E~@5x_%7Wooq~iQpwhK;OQ{H=lpx(o!_wXO5F#aM zQUZd=E+O3^2uPQJbhGTf!}I*!&*!`U+`F@LXHU(!Gv}N+rw@2vlM2qiAE zE@1^_cFo-ulgsxoYmNo+45~J^O>UT_2`1=t6&{=`{bD`EOmKy`Au=*=H;Z{>5O4P| zJF*fH{K%wFQ;$mW_V^ObO(PiY&T$}g8e3$j9zQIy=FjrwAwJ?fTIfMRjG*zflhgvCPoULYxFKcTT zU!b1uZmat_IUd&8r=%n#lYT|8_ zoHxw<_oNl}&Gk5>mMD^Y6uYCynhqDewvrM1am72(za+6>Iu8&d61{OFa{R}JC>|#n zYM=pW3RysYo^XAoQ>_-C{Sekn*c*a^_;IcqH`Mk8$br}c+Ra7*xTMGj2%B4(Av4MW zw*bGz5Y|p@=Q3@r(8V-sZ+ma5vVkWdTjNBmv0KsLa>Wjnns9z$fs8TipLY!(KX)e3 z|79~FT!Y`5k{vqAO3iyMD1c0I0@xV>9)}n<7*}2 zHjv`Ln+JrpuTAr004%T=cJyEcnO%!qSz}jKyO!@{BCp|Qgc9>xhe6PzB!c+>tJ|l) zhapwcfeV~Q_Jgpw66K)#(K-Wy8o0adDTnEfd5rsQ-9@m#*4jh;)-XS_2#GlI_lRg6 zy{lOtJT}K2FDom{^s=6rPy6fR6H};@qRZngo`KH?u9viO3qJf?n;k)|l+fttsAvaE zs=eM9>0m%b6&f!|F)>l(z@P?x$loyf5LK`1347|g`uaLOb3cdM*Uf+(M}Pd7TbU`G zA#p}Js8@7K<~7d|!c2o!PUbRh4DmvmBU4@%~uneI~c?wfdIk5&F1lMCtdG>sJ5_5P7N+&5WL1h!0*-d+L zInVr-{1le>lwxkr+6TOKWvx$353&lw1;FLwE580nWJ16@^p2z5T^}A5a1Q=Bgtu2R z=PgyR+6z(a-Zgl4h?psL6C3E*KeC+qCYiPgy^HUdF}AmXzK z2{MMIrKL@(xI|N7=3p^1NR9<8TL}0H64SM7|0YD*_R@RzX54ZvYNGbbG%_4+qz9K_ zez)a8t#194j0^%Rsx%(~;9j|=AP@pP&RNf{U0d&=-A!KOx^?TGqoZ843!BrQ{0Lq_ zoQVM5VF32@ME^|h1Uy!w?o;|0RynvAg?9xt#Q!$DFiunT<4rmMc?$FJ^hD4onZWW$ zJ()`SwNR6X{6d%M2C6#WxY_@kQ>N$Nkwxqcbb%dpz;yM=S%law1 zPgEdju6Q|F7t2X5IZ${XMXOSq6(O__U_ae(OIn|XIfzdw5455E@IakQTAErWmwMu} z#MGqMcAJjEaK24MtDWB9n!ok*7hJ&+Y;QksrnqvU+=|7vI6R} z9d!#u05x6r<;yFM5R-I2^2AM<5M^nyo8deX4-~3nFSWM)0WqmRkgQn9?Hjh^d2|+q zSLq!!trvyH>%{$f`F`#9A{KN4owaD#6r>rWD)4wM>$87EO^;F>Ys!-_&8sWR9{A;W zLoQRWkN4$8Wd3hKgd91v5QBWED0NVHk{1_l=0$A~{~K6^?? zqpvBuTfCoo&)LBN)?6{Mi24F7BCzJO_(1E2g)@67k|!G&{E>qqwO+h9fW{%({;I(m zSJ3(N+Hi{mny^&-wAnm>GD=<(6~JF}a>Z0E-Khcm-7J{=T;W=%~EJJTXbQBjeUhhkDY zt)T?Ec(-Ci-noqu;(rz2A=2L0N9NzsAIKSb*^TQd*26;G=*DrV{eAt-F<{@MpeyU-xo8!)`Ngtc^u~+B;Ff+lV#A3SLpV>BPw6DB?9}moSOfi zk@GMy>h8b3gvrZ|OCh0n2r*p2m`UKKSbvZOi~U{s)$|*CzMg9`$B9ciI}8C=cc4XTT)K<0ZrDbR)A9*LA}`y! z+cPiygIIt{6aA8XI+yks^~=jn^=~G3GX&Mjz=S%a1B@Q}t|8$x={*9DP6?;&bDyG{ zi&#+n3Z^v4L^sxA7UqLroX1PjoCS}- zCC!nAC}7e*MBnM+va^}Qe8lg9#DvZn;-tBzsHKc?U#GSU-PxSKH9k5qHIIhiBrnAM{pQPuC`PtBx|?~<{ac~GbM4&K6d>{4`o zVS)(j+J!!fUCKWu9vU2^ytQykv5@uF(2_@Qk+064LM2S`w^SNmNiHE=S~@mkm)`k1 zMS_@wauovJLCLmA+Pd7lk{yizOD8i*_NYReJ*OY2g>u@-4cxo|VOmeppD3Hkzf{k8*W1|ogVUlq}Be{Hc0%i=t_%cx64POhSA z!%8#8%o?~PPPbaz;w&1|qmcsqT{LVF*=|Ai2_;t4HPiMOKE1Q#Zo@r&oln*K4!&3Q z9aFkZozh`fs8_su+>wM=8->h&oQopNCI}~fDs$I(1*`;kZv>XWTP{B%vpCO5cM!$=z3on4pv;s%Sc3YJQVD4VoNPbM5pc9FG@P|>LwLH<=FO-?yPLY_K0xDv z4DUcLtym^rS~~Sh3DJx1lM%d;AI!<(hqDJrBHo@qY4+ubSNC z>HMKVz&2jx5}- z>JrHPIW6k!#`QZ%lsL2gCwO5ii?%WYFR1E*iJYFc>Y`YPND;XMFglce4t~f#BKQ&K-?WpB7N*EOuE>~`m4%9>*>(CG4hzF|xfmY|I;2K8TRW0~ zH-%n?yE4y7Y^B8I3=smTe z7z`vBR_8YV$5(c~KSz>#uO?q@!UEgFvDt%*fgo4m4G^`?Z_$ehHskr6!@Nfr@yxfJ zp{R&^JNM4yn4c>n5hYVNatN&nEi)b;C2q7rwKI)0v&6c7(e)~hYL zf08OndHRPF7%#Ebr#W>{rRzLAVRbFAaK=FWYdi)OVN^uiiWp-L8L2b zA>Zwt5^ApqVH@}JK_#la>E3)Jpa>D3&5C(YzZT z*S$jqYI}pC3rkqSkk~yB#>9@uVBVV`k06?npv80h2Hlhj#)9OEgxi7?sF$O7jg7ce zcC}EdM@&pY`0x-#Eic8Nv*Gnk_FB`#c->B}4+bl%UZmE(({xkCE{ogZHfrg0v0PqZ z7mXT)o3~Y{Y1@BMbKvyPj4_5cGsHT6jujekRC-iThQiaPX`;lrUbM`}y!B(5$A{ET z?jkOHPxBL&A%Nj=k)u!86j`jSm(35>&y~gOih!X)gSa@3%BRk+4`F zqtq>W=}pt%NUlpD4_{W4_U;681tatMS5r5tR~iWVUNR0qgX&dNgp9> zmJX_&aAK-PY1#8{rrBBSjrh$BhuQ=-&8^jO)gS5$J1{-Cc+86u5BS!IG5J;F7qWF4zYj=(l}>4j?gP z6y!<@k4{gSJ+yB;e{M%z_CPqeDrU&BHX-QNbWWI0gUjUEq@79HuO@f3s1p`bfX>!-9U6ppfj8+g(1h&8+iKhZipi z=OYF0G(%L!fBeIyHfzxt#SwhccWENlF4euYKD_DFZtVkBWKQYLF+K8^sVT;Jf-y)>J>YJ5g$T67Ui-$5h}&x z%?FQL=n@?<2zM>%#Jodlj6%ek3mh^hk~ibqcS{Ylc}hgViyXzKvhh<(~AQH z_jT^!xj7MOtTt}zo|z|CA*nf#pnAWJTvff> z>d#4DCoNly$dF{5u?RyG&zpsobW(Z@>Paagd2@%Pb?rL-$9gciB5fm<`UYZD4%og= z;8Of1?`j{Jqn#N%*MW^(t7fIrK_ugbNR`lhmw%G4GWvH~*T^VMzi$2|fy*;)uw4A^ zjE3AZZBw(d*1cxi+f{>wLL|TX6-5aExlCJCvztg+`sLtgZ}hNSA?WvNU@6?dBrSG< z-2u0JC77Z@4Dzsn1Rs(I2hJ8*tk9v-tmpUc)$^`VlQXW0Uf)_uyPfX4;u(nf20VEBe3zg z)X|6MnatLIkju9r;3%L2)4O@JnBz@BB~LnnsRW1Ph{O^p9V5cIb)h?$eC)@;i8^~* z$>X(0s@A?f&k1&jR*vG&UZj`>ZJ}N6VqUzbj=YgAg_sr+KnhtBAY{ggiW)N4nAuoW z&4%2rBclM?hev@-H5_DdX`L!7V`p<)+M5;rFAaMo8~}_*K?4{qxgvEFfs7-gt|>_vh%z zE^QsF`~Q#>-@K-oT=SGnNM4v~`OT~IN7vfl7IlU_D8XTqpNXPu-Fb*#r7&6unnJgg z@}?)w)7RM7*_Xk#78uM;1`b6sFs}FzK0f}I%Hvx%A!qoyKNovj9c=x*zZxY@S6zFQ z3+`u;_bh}P9Uj1Rm#oE#myndS$Q(dUzVcVo(OFgN88@)=nmqsH7Didkp|sRUA@-_% zY0B}Ix<<(~shr@g$ln(KL;}(lcj8}Hxv|7OuXlOH+!S_(7|;qzYSYNmP67g$HEKuJ z%?dzI4j3F>R+8y*s{Hs%J@ixd>e+5u?uC!8>ni?FIFBFM!a{7a^Qj`9As*6?Ea4db z9@CZE#2HU_uy zLS`tfUmQkANa*!#_u-(0;A#||oW{#HZMRv1!#4b;i^F!aWvjyrDTz>ypXeJ+v>aT{ zo}Q}QeDZ0hF1GG+&Hv`wMIK$bt9>fZ-Hr9Cf}+>)o{__F$fn#z!aH@dI3lIyO4z>N zNBg{Mfg|Ku9aW54%@JH*cR*=<~`VFj$5lBy6!I64)po_{--JRC;e;)HdiRwo1kuZjEeK(W5pYb2Ihe zeY8d11)|}!BJ@D5A{n>@z~Lca-xDNcCxn*H&Q7z_mpnW?^pfI|U!wz4N-PzSeQ0!* z?P@gT+5hx?2?JKD6rzDVc~Zs3P|a8Q`}c$Q&KwvZ{2$?@^*B)4S<|uD#O`VMiE}+1 zUH0@Qgc_}QYFo^hs(U5?U&)NhCjhQZN@03(h%w6QWb0Qrw?@)#r>45P>3-fk-ul&sbwj)vQ*GbCEkT1mI&J!$K-6puk}i} z5Q$dHHD!}k<&^zVPGIV3Wd~@iXk6$ zeVZ7d(8`ReNk2EG{}b75fY;u9>n8|+ZfzU(p9Ifr;QZ%vEHE)W#lke}ReHZwEAv3$ Oqot;&`dQgB?Ee9wO3ohu From 9a1b19213bd93cdede9f3c4d7ccee93d65f33410 Mon Sep 17 00:00:00 2001 From: fallcon Date: Thu, 9 May 2024 08:56:18 -0500 Subject: [PATCH 03/17] baseline human --- .../simple_animal/hostile/human/human.dm | 27 ++++++++++++------- 1 file changed, 18 insertions(+), 9 deletions(-) diff --git a/code/modules/mob/living/simple_animal/hostile/human/human.dm b/code/modules/mob/living/simple_animal/hostile/human/human.dm index cc65663181db..2824ef5ccb37 100644 --- a/code/modules/mob/living/simple_animal/hostile/human/human.dm +++ b/code/modules/mob/living/simple_animal/hostile/human/human.dm @@ -1,22 +1,21 @@ /mob/living/simple_animal/hostile/human - name = "Whitesands Inhabitant" - desc = "If you can read this, yell at a coder!" + name = "crazed human" + desc = "A crazed human, they cannot be reasoned with" icon = 'icons/mob/simple_human.dmi' icon_state = "survivor_base" icon_living = "survivor_base" icon_dead = null icon_gib = "syndicate_gib" mob_biotypes = MOB_ORGANIC|MOB_HUMANOID - minbodytemp = 180 - unsuitable_atmos_damage = 15 - atmos_requirements = list("min_oxy" = 1, "max_oxy" = 0, "min_tox" = 0, "max_tox" = 0, "min_co2" = 0, "max_co2" = 999, "min_n2" = 0, "max_n2" = 0) + speak_chance = 20 + speak_emote = list("groans") + turns_per_move = 5 - response_help_continuous = "pushes" - response_help_simple = "push" speed = 0 maxHealth = 100 health = 100 + harm_intent_damage = 5 melee_damage_lower = 10 melee_damage_upper = 10 @@ -24,8 +23,18 @@ attack_verb_simple = "punch" attack_sound = 'sound/weapons/punch1.ogg' a_intent = INTENT_HARM - unsuitable_atmos_damage = 15 - speak_emote = list("groans") + response_help_continuous = "pushes" + response_help_simple = "push" + loot = list(/obj/effect/mob_spawn/human/corpse/damaged) del_on_death = TRUE + + atmos_requirements = list("min_oxy" = 5, "max_oxy" = 0, "min_tox" = 0, "max_tox" = 1, "min_co2" = 0, "max_co2" = 5, "min_n2" = 0, "max_n2" = 0) + unsuitable_atmos_damage = 15 + minbodytemp = 180 + status_flags = CANPUSH + del_on_death = 1 + + footstep_type = FOOTSTEP_MOB_SHOE + faction = list("hermit") From 8cd2b84e0d48dd3c131100f94847a987599300db Mon Sep 17 00:00:00 2001 From: fallcon Date: Thu, 9 May 2024 09:00:34 -0500 Subject: [PATCH 04/17] no evil wizards --- .../hostile/bosses/paperwizard.dm | 135 ------------------ .../hostile/human/dark_wizard.dm | 41 ------ .../living/simple_animal/hostile/wizard.dm | 82 ----------- shiptest.dme | 2 - 4 files changed, 260 deletions(-) delete mode 100644 code/modules/mob/living/simple_animal/hostile/human/dark_wizard.dm delete mode 100644 code/modules/mob/living/simple_animal/hostile/wizard.dm diff --git a/code/modules/mob/living/simple_animal/hostile/bosses/paperwizard.dm b/code/modules/mob/living/simple_animal/hostile/bosses/paperwizard.dm index 57d6f2fc325f..fb9c8ac1b1f8 100644 --- a/code/modules/mob/living/simple_animal/hostile/bosses/paperwizard.dm +++ b/code/modules/mob/living/simple_animal/hostile/bosses/paperwizard.dm @@ -1,138 +1,3 @@ -//Paper Wizard Boss -/mob/living/simple_animal/hostile/boss/paper_wizard - name = "Mjor the Creative" - desc = "A wizard with a taste for the arts." - mob_biotypes = MOB_HUMANOID - boss_abilities = list(/datum/action/boss/wizard_summon_minions, /datum/action/boss/wizard_mimic) - faction = list("hostile","stickman") - del_on_death = TRUE - icon = 'icons/mob/simple_human.dmi' - icon_state = "paperwizard" - ranged = 1 - environment_smash = ENVIRONMENT_SMASH_NONE - minimum_distance = 3 - retreat_distance = 3 - obj_damage = 0 - melee_damage_lower = 10 - melee_damage_upper = 20 - health = 1000 - maxHealth = 1000 - loot = list(/obj/effect/temp_visual/paperwiz_dying) - projectiletype = /obj/projectile/temp - projectilesound = 'sound/weapons/emitter.ogg' - attack_sound = 'sound/hallucinations/growl1.ogg' - var/list/copies = list() - - footstep_type = FOOTSTEP_MOB_SHOE - - -//Summon Ability -//Lets the wizard summon his art to fight for him -/datum/action/boss/wizard_summon_minions - name = "Summon Minions" - icon_icon = 'icons/mob/actions/actions_minor_antag.dmi' - button_icon_state = "art_summon" - usage_probability = 40 - boss_cost = 30 - boss_type = /mob/living/simple_animal/hostile/boss/paper_wizard - needs_target = FALSE - say_when_triggered = "Rise, my creations! Jump off your pages and into this realm!" - var/static/summoned_minions = 0 - -/datum/action/boss/wizard_summon_minions/Trigger() - if(summoned_minions <= 6 && ..()) - var/list/minions = list( - /mob/living/simple_animal/hostile/stickman, - /mob/living/simple_animal/hostile/stickman/ranged, - /mob/living/simple_animal/hostile/stickman/dog) - var/list/directions = GLOB.cardinals.Copy() - for(var/i in 1 to 3) - var/minions_chosen = pick_n_take(minions) - new minions_chosen (get_step(boss,pick_n_take(directions)), 1) - summoned_minions += 3; - - -//Mimic Ability -//Summons mimics of himself with magical papercraft -//Hitting a decoy hurts nearby people excluding the wizard himself -//Hitting the wizard himself destroys all decoys -/datum/action/boss/wizard_mimic - name = "Craft Mimicry" - icon_icon = 'icons/mob/actions/actions_minor_antag.dmi' - button_icon_state = "mimic_summon" - usage_probability = 30 - boss_cost = 40 - boss_type = /mob/living/simple_animal/hostile/boss/paper_wizard - say_when_triggered = "" - -/datum/action/boss/wizard_mimic/Trigger() - if(..()) - var/mob/living/target - if(!boss.client) //AI's target - target = boss.target - else //random mob - var/list/threats = boss.PossibleThreats() - if(threats.len) - target = pick(threats) - if(target) - var/mob/living/simple_animal/hostile/boss/paper_wizard/wiz = boss - var/directions = GLOB.cardinals.Copy() - for(var/i in 1 to 3) - var/mob/living/simple_animal/hostile/boss/paper_wizard/copy/C = new (get_step(target,pick_n_take(directions))) - wiz.copies += C - C.original = wiz - C.say("My craft defines me, you could even say it IS me!") - wiz.say("My craft defines me, you could even say it IS me!") - wiz.forceMove(get_step(target,pick_n_take(directions))) - wiz.minimum_distance = 1 //so he doesn't run away and ruin everything - wiz.retreat_distance = 0 - else - boss.atb.refund(boss_cost) - -/mob/living/simple_animal/hostile/boss/paper_wizard/copy - desc = "'Tis a ruse!" - health = 1 - maxHealth = 1 - alpha = 200 - boss_abilities = list() - melee_damage_lower = 1 - melee_damage_upper = 5 - minimum_distance = 0 - retreat_distance = 0 - ranged = 0 - loot = list() - var/mob/living/simple_animal/hostile/boss/paper_wizard/original - -//Hit a fake? eat pain! -/mob/living/simple_animal/hostile/boss/paper_wizard/copy/adjustHealth(amount, updating_health = TRUE, forced = FALSE) - if(amount > 0) //damage - if(original) - original.minimum_distance = 3 - original.retreat_distance = 3 - original.copies -= src - for(var/c in original.copies) - qdel(c) - for(var/mob/living/L in range(5,src)) - if(L == original || istype(L, type)) - continue - L.adjustBruteLoss(50) - qdel(src) - else - . = ..() - -//Hit the real guy? copies go bai-bai -/mob/living/simple_animal/hostile/boss/paper_wizard/adjustHealth(amount, updating_health = TRUE, forced = FALSE) - . = ..() - if(. > 0)//damage - minimum_distance = 3 - retreat_distance = 3 - for(var/copy in copies) - qdel(copy) - -/mob/living/simple_animal/hostile/boss/paper_wizard/copy/examine(mob/user) - . = ..() - qdel(src) //I see through your ruse! - //fancy effects /obj/effect/temp_visual/paper_scatter name = "scattering paper" diff --git a/code/modules/mob/living/simple_animal/hostile/human/dark_wizard.dm b/code/modules/mob/living/simple_animal/hostile/human/dark_wizard.dm deleted file mode 100644 index 5c3e60c8377b..000000000000 --- a/code/modules/mob/living/simple_animal/hostile/human/dark_wizard.dm +++ /dev/null @@ -1,41 +0,0 @@ -/mob/living/simple_animal/hostile/dark_wizard - name = "Dark Wizard" - desc = "Killing amateurs since the dawn of times." - icon = 'icons/mob/simple_human.dmi' - icon_state = "dark_wizard" - icon_living = "dark_wizard" - move_to_delay = 10 - projectiletype = /obj/projectile/temp/earth_bolt - projectilesound = 'sound/magic/ethereal_enter.ogg' - ranged = TRUE - ranged_message = "earth bolts" - ranged_cooldown_time = 20 - maxHealth = 50 - health = 50 - harm_intent_damage = 5 - obj_damage = 20 - melee_damage_lower = 5 - melee_damage_upper = 5 - attack_verb_continuous = "staves" - a_intent = INTENT_HARM - speak_emote = list("chants") - attack_sound = 'sound/weapons/bladeslice.ogg' - aggro_vision_range = 9 - turns_per_move = 5 - gold_core_spawnable = HOSTILE_SPAWN - faction = list(ROLE_WIZARD) - footstep_type = FOOTSTEP_MOB_SHOE - weather_immunities = list("lava","ash") - minbodytemp = 0 - maxbodytemp = INFINITY - atmos_requirements = list("min_oxy" = 0, "max_oxy" = 0, "min_tox" = 0, "max_tox" = 0, "min_co2" = 0, "max_co2" = 0, "min_n2" = 0, "max_n2" = 0) - loot = list(/obj/effect/decal/remains/human) - del_on_death = TRUE - -/obj/projectile/temp/earth_bolt - name = "earth bolt" - icon_state = "declone" - damage = 4 - damage_type = BURN - flag = "energy" - temperature = -100 // closer to the old temp loss diff --git a/code/modules/mob/living/simple_animal/hostile/wizard.dm b/code/modules/mob/living/simple_animal/hostile/wizard.dm deleted file mode 100644 index 0d97a1f18869..000000000000 --- a/code/modules/mob/living/simple_animal/hostile/wizard.dm +++ /dev/null @@ -1,82 +0,0 @@ -/mob/living/simple_animal/hostile/wizard - name = "Space Wizard" - desc = "EI NATH?" - icon = 'icons/mob/simple_human.dmi' - icon_state = "wizard" - icon_living = "wizard" - icon_dead = "wizard_dead" - mob_biotypes = MOB_ORGANIC|MOB_HUMANOID - speak_chance = 0 - turns_per_move = 3 - speed = 0 - maxHealth = 100 - health = 100 - harm_intent_damage = 5 - melee_damage_lower = 5 - melee_damage_upper = 5 - attack_verb_continuous = "punches" - attack_verb_simple = "punch" - attack_sound = 'sound/weapons/punch1.ogg' - a_intent = INTENT_HARM - atmos_requirements = list("min_oxy" = 5, "max_oxy" = 0, "min_tox" = 0, "max_tox" = 1, "min_co2" = 0, "max_co2" = 5, "min_n2" = 0, "max_n2" = 0) - unsuitable_atmos_damage = 15 - faction = list(ROLE_WIZARD) - status_flags = CANPUSH - - retreat_distance = 3 //out of fireball range - minimum_distance = 3 - del_on_death = 1 - loot = list(/obj/effect/mob_spawn/human/corpse/wizard, - /obj/item/staff) - - var/obj/effect/proc_holder/spell/aimed/fireball/fireball = null - var/obj/effect/proc_holder/spell/targeted/turf_teleport/blink/blink = null - var/obj/effect/proc_holder/spell/targeted/projectile/magic_missile/mm = null - - var/next_cast = 0 - - footstep_type = FOOTSTEP_MOB_SHOE - -/mob/living/simple_animal/hostile/wizard/Initialize() - . = ..() - fireball = new /obj/effect/proc_holder/spell/aimed/fireball - fireball.clothes_req = 0 - fireball.human_req = 0 - fireball.player_lock = 0 - AddSpell(fireball) - implants += new /obj/item/implant/exile(src) - - mm = new /obj/effect/proc_holder/spell/targeted/projectile/magic_missile - mm.clothes_req = 0 - mm.human_req = 0 - mm.player_lock = 0 - AddSpell(mm) - - blink = new /obj/effect/proc_holder/spell/targeted/turf_teleport/blink - blink.clothes_req = 0 - blink.human_req = 0 - blink.player_lock = 0 - blink.outer_tele_radius = 3 - AddSpell(blink) - -/mob/living/simple_animal/hostile/wizard/handle_automated_action() - . = ..() - if(target && next_cast < world.time) - if((get_dir(src,target) in list(SOUTH,EAST,WEST,NORTH)) && fireball.cast_check(0,src)) //Lined up for fireball - src.setDir(get_dir(src,target)) - fireball.perform(list(target), user = src) - next_cast = world.time + 10 //One spell per second - return . - if(mm.cast_check(0,src)) - mm.choose_targets(src) - next_cast = world.time + 10 - return . - if(blink.cast_check(0,src)) //Spam Blink when you can - blink.choose_targets(src) - next_cast = world.time + 10 - return . - -/mob/living/simple_animal/hostile/wizard/planet - weather_immunities = list("lava","ash") - minbodytemp = 0 - maxbodytemp = INFINITY diff --git a/shiptest.dme b/shiptest.dme index 16c95afe61e2..880ba9696e15 100644 --- a/shiptest.dme +++ b/shiptest.dme @@ -2715,7 +2715,6 @@ #include "code\modules\mob\living\simple_animal\hostile\stickman.dm" #include "code\modules\mob\living\simple_animal\hostile\tree.dm" #include "code\modules\mob\living\simple_animal\hostile\venus_human_trap.dm" -#include "code\modules\mob\living\simple_animal\hostile\wizard.dm" #include "code\modules\mob\living\simple_animal\hostile\wumborian_fugu.dm" #include "code\modules\mob\living\simple_animal\hostile\zombie.dm" #include "code\modules\mob\living\simple_animal\hostile\bosses\boss.dm" @@ -2724,7 +2723,6 @@ #include "code\modules\mob\living\simple_animal\hostile\gorilla\gorilla.dm" #include "code\modules\mob\living\simple_animal\hostile\gorilla\visuals_icons.dm" #include "code\modules\mob\living\simple_animal\hostile\human\cat_butcher.dm" -#include "code\modules\mob\living\simple_animal\hostile\human\dark_wizard.dm" #include "code\modules\mob\living\simple_animal\hostile\human\frontiersman.dm" #include "code\modules\mob\living\simple_animal\hostile\human\human.dm" #include "code\modules\mob\living\simple_animal\hostile\human\nanotrasen.dm" From 217586a20638eb6a52e37482b0229b6e97497022 Mon Sep 17 00:00:00 2001 From: fallcon Date: Thu, 9 May 2024 10:11:07 -0500 Subject: [PATCH 05/17] regex --- code/modules/mob/living/simple_animal/hostile/human/human.dm | 1 + tools/UpdatePaths/Scripts/human_hostile.txt | 1 + 2 files changed, 2 insertions(+) create mode 100644 tools/UpdatePaths/Scripts/human_hostile.txt diff --git a/code/modules/mob/living/simple_animal/hostile/human/human.dm b/code/modules/mob/living/simple_animal/hostile/human/human.dm index 2824ef5ccb37..d4c64de5e6d3 100644 --- a/code/modules/mob/living/simple_animal/hostile/human/human.dm +++ b/code/modules/mob/living/simple_animal/hostile/human/human.dm @@ -16,6 +16,7 @@ maxHealth = 100 health = 100 + robust_searching = 1 harm_intent_damage = 5 melee_damage_lower = 10 melee_damage_upper = 10 diff --git a/tools/UpdatePaths/Scripts/human_hostile.txt b/tools/UpdatePaths/Scripts/human_hostile.txt new file mode 100644 index 000000000000..682bdb424ae4 --- /dev/null +++ b/tools/UpdatePaths/Scripts/human_hostile.txt @@ -0,0 +1 @@ +/mob/living/simple_animal/hostile/pirate/@SUBTYPES: /mob/living/simple_animal/hostile/human/pirate/@SUBTYPES From 52f007da50dd97a0bae93d8a806cde375bf45066 Mon Sep 17 00:00:00 2001 From: fallcon Date: Thu, 9 May 2024 10:21:17 -0500 Subject: [PATCH 06/17] regex --- tools/UpdatePaths/Scripts/human_hostile.txt | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/tools/UpdatePaths/Scripts/human_hostile.txt b/tools/UpdatePaths/Scripts/human_hostile.txt index 682bdb424ae4..5e702ed0114b 100644 --- a/tools/UpdatePaths/Scripts/human_hostile.txt +++ b/tools/UpdatePaths/Scripts/human_hostile.txt @@ -1 +1,8 @@ -/mob/living/simple_animal/hostile/pirate/@SUBTYPES: /mob/living/simple_animal/hostile/human/pirate/@SUBTYPES +/mob/living/simple_animal/hostile/pirate/@SUBTYPES: /mob/living/simple_animal/hostile/human/pirate/@SUBTYPES {@OLD} +/mob/living/simple_animal/hostile/frontier/@SUBTYPES: /mob/living/simple_animal/hostile/human/frontier/@SUBTYPES {@OLD} +/mob/living/simple_animal/hostile/nanotrasen/@SUBTYPES: /mob/living/simple_animal/hostile/human/nanotrasen/@SUBTYPES {@OLD} +/mob/living/simple_animal/hostile/skeleton/@SUBTYPES: /mob/living/simple_animal/hostile/human/skeleton/@SUBTYPES {@OLD} +/mob/living/simple_animal/hostile/asteroid/whitesands/@SUBTYPES: /mob/living/simple_animal/hostile/human/hermit/@SUBTYPES {@OLD} +/mob/living/simple_animal/hostile/cat_butcherer/@SUBTYPES: /mob/living/simple_animal/hostile/human/cat_butcherer/@SUBTYPES {@OLD} +/mob/living/simple_animal/hostile//@SUBTYPES: /mob/living/simple_animal/hostile/human//@SUBTYPES {@OLD} +/mob/living/simple_animal/hostile//@SUBTYPES: /mob/living/simple_animal/hostile/human//@SUBTYPES {@OLD} From 964931319e339ae974e9e6555c194abec7016990 Mon Sep 17 00:00:00 2001 From: fallcon Date: Thu, 9 May 2024 11:32:04 -0500 Subject: [PATCH 07/17] var name --- code/modules/awaymissions/corpse.dm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/code/modules/awaymissions/corpse.dm b/code/modules/awaymissions/corpse.dm index 40932634cfa4..11358938bd47 100644 --- a/code/modules/awaymissions/corpse.dm +++ b/code/modules/awaymissions/corpse.dm @@ -30,7 +30,7 @@ var/mob_color //Change the mob's color var/assignedrole var/show_flavour = TRUE - var/banType = ROLE_LAVALAND + var/ban_type = ROLE_LAVALAND var/ghost_usable = TRUE /// Weakref to the mob this spawner created - just if you needed to do something with it. var/datum/weakref/spawned_mob_ref @@ -42,7 +42,7 @@ if(!uses) to_chat(user, "This spawner is out of charges!") return - if(is_banned_from(user.key, banType)) + if(is_banned_from(user.key, ban_type)) to_chat(user, "You are jobanned!") return if(!allow_spawn(user)) From c5d255f9105b4c06005e7ba3eff6bbd28ad9c6cc Mon Sep 17 00:00:00 2001 From: FalloutFalcon Date: Tue, 14 May 2024 18:49:56 -0500 Subject: [PATCH 08/17] removes paper mob stuff --- code/modules/clothing/suits/wiz_robe.dm | 33 ---------- .../hostile/bosses/paperwizard.dm | 36 ----------- .../living/simple_animal/hostile/stickman.dm | 61 ------------------- code/modules/projectiles/projectile/magic.dm | 2 - shiptest.dme | 2 - tools/UpdatePaths/Scripts/human_hostile.txt | 2 - 6 files changed, 136 deletions(-) delete mode 100644 code/modules/mob/living/simple_animal/hostile/bosses/paperwizard.dm delete mode 100644 code/modules/mob/living/simple_animal/hostile/stickman.dm diff --git a/code/modules/clothing/suits/wiz_robe.dm b/code/modules/clothing/suits/wiz_robe.dm index 8bc5646f2218..3453f25a3454 100644 --- a/code/modules/clothing/suits/wiz_robe.dm +++ b/code/modules/clothing/suits/wiz_robe.dm @@ -146,39 +146,6 @@ armor = list("melee" = 0, "bullet" = 0, "laser" = 0, "energy" = 0, "bomb" = 0, "bio" = 0, "rad" = 0, "fire" = 0, "acid" = 0) resistance_flags = FLAMMABLE -/obj/item/clothing/suit/wizrobe/paper - name = "papier-mache robe" // no non-latin characters! - desc = "A robe held together by various bits of clear-tape and paste." - icon_state = "wizard-paper" - item_state = "wizard-paper" - var/robe_charge = TRUE - actions_types = list(/datum/action/item_action/stickmen) - - -/obj/item/clothing/suit/wizrobe/paper/ui_action_click(mob/user, action) - stickmen() - - -/obj/item/clothing/suit/wizrobe/paper/verb/stickmen() - set category = "Object" - set name = "Summon Stick Minions" - set src in usr - if(!isliving(usr)) - return - if(!robe_charge) - to_chat(usr, "The robe's internal magic supply is still recharging!") - return - - usr.say("Rise, my creation! Off your page into this realm!", forced = "stickman summoning") - playsound(src.loc, 'sound/magic/summon_magic.ogg', 50, TRUE, TRUE) - var/mob/living/M = new /mob/living/simple_animal/hostile/stickman(get_turf(usr)) - var/list/factions = usr.faction - M.faction = factions - src.robe_charge = FALSE - sleep(30) - src.robe_charge = TRUE - to_chat(usr, "The robe hums, its internal magic supply restored.") - /obj/item/clothing/suit/space/hardsuit/shielded/wizard name = "battlemage armour" desc = "Not all wizards are afraid of getting up close and personal." diff --git a/code/modules/mob/living/simple_animal/hostile/bosses/paperwizard.dm b/code/modules/mob/living/simple_animal/hostile/bosses/paperwizard.dm deleted file mode 100644 index fb9c8ac1b1f8..000000000000 --- a/code/modules/mob/living/simple_animal/hostile/bosses/paperwizard.dm +++ /dev/null @@ -1,36 +0,0 @@ -//fancy effects -/obj/effect/temp_visual/paper_scatter - name = "scattering paper" - desc = "Pieces of paper scattering to the wind." - layer = ABOVE_OPEN_TURF_LAYER - icon = 'icons/effects/effects.dmi' - icon_state = "paper_scatter" - anchored = TRUE - duration = 5 - randomdir = FALSE - -/obj/effect/temp_visual/paperwiz_dying - name = "craft portal" - desc = "A wormhole sucking the wizard into the void. Neat." - layer = ABOVE_OPEN_TURF_LAYER - icon = 'icons/effects/effects.dmi' - icon_state = "paperwiz_poof" - anchored = TRUE - duration = 18 - randomdir = FALSE - -/obj/effect/temp_visual/paperwiz_dying/Initialize() - . = ..() - visible_message("The wizard cries out in pain as a gate appears behind him, sucking him in!") - playsound(get_turf(src),'sound/magic/mandswap.ogg', 50, TRUE, TRUE) - playsound(get_turf(src),'sound/hallucinations/wail.ogg', 50, TRUE, TRUE) - -/obj/effect/temp_visual/paperwiz_dying/Destroy() - for(var/mob/M in range(7,src)) - shake_camera(M, 7, 1) - var/turf/T = get_turf(src) - playsound(T,'sound/magic/summon_magic.ogg', 50, TRUE, TRUE) - new /obj/effect/temp_visual/paper_scatter(T) - new /obj/item/clothing/suit/wizrobe/paper(T) - new /obj/item/clothing/head/collectable/paper(T) - return ..() diff --git a/code/modules/mob/living/simple_animal/hostile/stickman.dm b/code/modules/mob/living/simple_animal/hostile/stickman.dm deleted file mode 100644 index 1eb03b07650c..000000000000 --- a/code/modules/mob/living/simple_animal/hostile/stickman.dm +++ /dev/null @@ -1,61 +0,0 @@ -/mob/living/simple_animal/hostile/stickman - name = "Angry Stick Man" - desc = "A being from a realm with only 2 dimensions. At least it's trying to stay faced towards you." - icon_state = "stickman" - icon_living = "stickman" - icon_dead = "stickman_dead" - icon_gib = "syndicate_gib" - mob_biotypes = MOB_HUMANOID - gender = MALE - speak_chance = 0 - turns_per_move = 5 - speed = 0 - stat_attack = HARD_CRIT - robust_searching = 1 - environment_smash = ENVIRONMENT_SMASH_NONE - maxHealth = 100 - health = 100 - harm_intent_damage = 5 - obj_damage = 0 - melee_damage_lower = 10 - melee_damage_upper = 10 - attack_verb_continuous = "punches" - attack_verb_simple = "punch" - attack_sound = 'sound/weapons/punch1.ogg' - a_intent = INTENT_HARM - atmos_requirements = list("min_oxy" = 5, "max_oxy" = 0, "min_tox" = 0, "max_tox" = 1, "min_co2" = 0, "max_co2" = 5, "min_n2" = 0, "max_n2" = 0) - unsuitable_atmos_damage = 15 - faction = list("hostile","stickman") - check_friendly_fire = 1 - status_flags = CANPUSH - var/datum/action/boss/wizard_summon_minions/changesummons = /datum/action/boss/wizard_summon_minions - var/summoned_by_wizard = 0 - -/mob/living/simple_animal/hostile/stickman/ranged - ranged = 1 - retreat_distance = 5 - minimum_distance = 5 - icon_state = "stickmanranged" - icon_living = "stickmanranged" - casingtype = /obj/item/ammo_casing/c45 - projectilesound = 'sound/misc/bang.ogg' - loot = list(/obj/item/gun/ballistic/automatic/pistol/stickman) - - -/mob/living/simple_animal/hostile/stickman/dog - name = "Angry Stick Dog" - desc = "Stickman's best friend, if he could see him at least." - icon_state = "stickdog" - icon_living = "stickdog" - icon_dead = "stickdog_dead" - mob_biotypes = MOB_BEAST - -/mob/living/simple_animal/hostile/stickman/Initialize(mapload, wizard_summoned) - . = ..() - new /obj/effect/temp_visual/paper_scatter(src) - summoned_by_wizard = wizard_summoned - -/mob/living/simple_animal/hostile/stickman/death() - ..() - if(summoned_by_wizard == 1) - changesummons.summoned_minions -- diff --git a/code/modules/projectiles/projectile/magic.dm b/code/modules/projectiles/projectile/magic.dm index 458c19d053da..6ca85ca933ec 100644 --- a/code/modules/projectiles/projectile/magic.dm +++ b/code/modules/projectiles/projectile/magic.dm @@ -237,8 +237,6 @@ /mob/living/simple_animal/hostile/asteroid/goliath/beast, /mob/living/simple_animal/hostile/headcrab, /mob/living/simple_animal/hostile/morph, - /mob/living/simple_animal/hostile/stickman, - /mob/living/simple_animal/hostile/stickman/dog, /mob/living/simple_animal/hostile/megafauna/dragon/lesser, /mob/living/simple_animal/hostile/gorilla, /mob/living/simple_animal/parrot, diff --git a/shiptest.dme b/shiptest.dme index 880ba9696e15..41a4132a9850 100644 --- a/shiptest.dme +++ b/shiptest.dme @@ -2712,13 +2712,11 @@ #include "code\modules\mob\living\simple_animal\hostile\regalrat.dm" #include "code\modules\mob\living\simple_animal\hostile\space_dragon.dm" #include "code\modules\mob\living\simple_animal\hostile\statue.dm" -#include "code\modules\mob\living\simple_animal\hostile\stickman.dm" #include "code\modules\mob\living\simple_animal\hostile\tree.dm" #include "code\modules\mob\living\simple_animal\hostile\venus_human_trap.dm" #include "code\modules\mob\living\simple_animal\hostile\wumborian_fugu.dm" #include "code\modules\mob\living\simple_animal\hostile\zombie.dm" #include "code\modules\mob\living\simple_animal\hostile\bosses\boss.dm" -#include "code\modules\mob\living\simple_animal\hostile\bosses\paperwizard.dm" #include "code\modules\mob\living\simple_animal\hostile\gorilla\emotes.dm" #include "code\modules\mob\living\simple_animal\hostile\gorilla\gorilla.dm" #include "code\modules\mob\living\simple_animal\hostile\gorilla\visuals_icons.dm" diff --git a/tools/UpdatePaths/Scripts/human_hostile.txt b/tools/UpdatePaths/Scripts/human_hostile.txt index 5e702ed0114b..63cacb1675ad 100644 --- a/tools/UpdatePaths/Scripts/human_hostile.txt +++ b/tools/UpdatePaths/Scripts/human_hostile.txt @@ -4,5 +4,3 @@ /mob/living/simple_animal/hostile/skeleton/@SUBTYPES: /mob/living/simple_animal/hostile/human/skeleton/@SUBTYPES {@OLD} /mob/living/simple_animal/hostile/asteroid/whitesands/@SUBTYPES: /mob/living/simple_animal/hostile/human/hermit/@SUBTYPES {@OLD} /mob/living/simple_animal/hostile/cat_butcherer/@SUBTYPES: /mob/living/simple_animal/hostile/human/cat_butcherer/@SUBTYPES {@OLD} -/mob/living/simple_animal/hostile//@SUBTYPES: /mob/living/simple_animal/hostile/human//@SUBTYPES {@OLD} -/mob/living/simple_animal/hostile//@SUBTYPES: /mob/living/simple_animal/hostile/human//@SUBTYPES {@OLD} From 6686dcba9f0cef9c3a6989a71a6da471c4b4d933 Mon Sep 17 00:00:00 2001 From: FalloutFalcon Date: Tue, 14 May 2024 19:16:35 -0500 Subject: [PATCH 09/17] stuff --- .../BeachRuins/beach_ancient_ruin.dmm | 1 + .../BeachRuins/beach_fishing_hut.dmm | 14 +-- .../BeachRuins/beach_pirate_crash.dmm | 6 +- .../BeachRuins/beach_treasure_cove.dmm | 8 +- .../icemoon_surface_corporate_rejects.dmm | 26 +++--- .../icemoon_underground_abandoned_newcops.dmm | 2 +- .../icemoon_underground_abandoned_village.dmm | 4 +- .../icemoon_underground_brazillianlab.dmm | 32 +++---- .../JungleRuins/jungle_cavecrew.dmm | 22 ++--- .../RandomRuins/JungleRuins/jungle_pirate.dmm | 12 +-- .../JungleRuins/jungle_syndicate.dmm | 10 +-- .../lavaland_surface_ashwalker_shrine.dmm | 6 +- .../lavaland_surface_biodome_winter.dmm | 2 +- .../lavaland_surface_comm_outpost.dmm | 2 +- .../RockRuins/rockplanet_budgetcuts.dmm | 22 ++--- .../RockRuins/rockplanet_dangerpod.dmm | 2 +- .../RockRuins/rockplanet_miningexpedition.dmm | 2 +- .../whitesands_surface_camp_combination.dmm | 30 +++---- .../whitesands_surface_camp_drugstore.dmm | 2 +- .../whitesands_surface_camp_saloon.dmm | 32 +++---- .../whitesands_surface_chokepoint.dmm | 8 +- .../whitesands_surface_onlyaspoonful.dmm | 8 +- .../whitesands_surface_pubbyslopcrash.dmm | 16 ++-- .../whitesands_surface_starfurycrash.dmm | 20 ++--- .../RandomRuins/SpaceRuins/provinggrounds.dmm | 42 ++++----- .../wasteplanet_abandoned_mechbay.dmm | 28 +++--- .../wasteplanet_fortress_of_solitide.dmm | 4 +- .../WasteRuins/wasteplanet_pandora.dmm | 6 +- code/controllers/subsystem/traumas.dm | 2 +- code/datums/mapgen/planetary/SandGenerator.dm | 6 +- code/game/machinery/computer/arcade.dm | 4 +- code/game/mecha/mecha.dm | 4 +- .../structures/icemoon/cave_entrance.dm | 90 +++++++++---------- code/game/objects/structures/spawner.dm | 4 +- .../awaymissions/mission_code/spacebattle.dm | 4 +- .../hostile/human/cat_butcher.dm | 20 +---- .../hostile/human/frontiersman.dm | 48 ++++------ .../simple_animal/hostile/human/human.dm | 2 +- .../simple_animal/hostile/human/nanotrasen.dm | 67 +++++++++----- .../simple_animal/hostile/human/pirate.dm | 37 +++----- .../simple_animal/hostile/human/skeleton.dm | 22 ++--- .../simple_animal/hostile/human/survivors.dm | 42 ++------- .../simple_animal/hostile/human/syndicate.dm | 83 +++++++---------- .../simple_animal/hostile/mecha_pilot.dm | 42 ++++----- code/modules/ruins/lavaland_ruin_code.dm | 2 +- .../ruins/spaceruin_code/forgottenship.dm | 42 --------- tools/UpdatePaths/Scripts/human_hostile.txt | 1 + 47 files changed, 388 insertions(+), 503 deletions(-) diff --git a/_maps/RandomRuins/BeachRuins/beach_ancient_ruin.dmm b/_maps/RandomRuins/BeachRuins/beach_ancient_ruin.dmm index be52f6a67f46..00da7d5c7a20 100644 --- a/_maps/RandomRuins/BeachRuins/beach_ancient_ruin.dmm +++ b/_maps/RandomRuins/BeachRuins/beach_ancient_ruin.dmm @@ -374,6 +374,7 @@ }, /obj/item/gun/energy/lasercannon{ pixel_y = 5; + }, /obj/item/gun/energy/lasercannon, /obj/effect/turf_decal/industrial/hatch, diff --git a/_maps/RandomRuins/BeachRuins/beach_fishing_hut.dmm b/_maps/RandomRuins/BeachRuins/beach_fishing_hut.dmm index 4aaff2b5a160..84fabfbe5ff7 100644 --- a/_maps/RandomRuins/BeachRuins/beach_fishing_hut.dmm +++ b/_maps/RandomRuins/BeachRuins/beach_fishing_hut.dmm @@ -667,7 +667,7 @@ /area/overmap_encounter/planetoid/beachplanet/explored) "Bg" = ( /obj/effect/turf_decal/corner/opaque/pink/diagonal, -/mob/living/simple_animal/hostile/pirate/melee{ +/mob/living/simple_animal/hostile/human/pirate/melee{ faction = list("beach","pirate") }, /turf/open/floor/plastic, @@ -827,7 +827,7 @@ /area/ruin/beach) "Gt" = ( /obj/effect/turf_decal/corner/opaque/lightgrey/diagonal, -/mob/living/simple_animal/hostile/cat_butcherer{ +/mob/living/simple_animal/hostile/human/cat_butcherer{ atmos_requirements = list("min_oxy"=0,"max_oxy"=0,"min_tox"=0,"max_tox"=0,"min_co2"=0,"max_co2"=0,"min_n2"=0,"max_n2"=0); desc = "A profession carp butcher, gone mad due to carptoxin exposure. There seems to be something in their pocket..."; faction = list("beach","pirate"); @@ -853,7 +853,7 @@ "GP" = ( /obj/structure/chair/sofa/brown/right/directional/south, /obj/effect/decal/cleanable/cobweb, -/mob/living/simple_animal/hostile/pirate/melee{ +/mob/living/simple_animal/hostile/human/pirate/melee{ faction = list("beach","pirate") }, /turf/open/floor/carpet, @@ -1045,7 +1045,7 @@ /obj/structure/chair/plastic{ dir = 8 }, -/mob/living/simple_animal/hostile/pirate/ranged{ +/mob/living/simple_animal/hostile/human/pirate/ranged{ faction = list("beach","pirate") }, /turf/open/floor/wood/ebony, @@ -1135,7 +1135,7 @@ /area/ruin/beach) "Rh" = ( /obj/structure/chair/sofa/brown/corner/directional/south, -/mob/living/simple_animal/hostile/pirate/melee{ +/mob/living/simple_animal/hostile/human/pirate/melee{ faction = list("beach","pirate") }, /turf/open/floor/carpet, @@ -1250,7 +1250,7 @@ pixel_x = 4; layer = 2.9 }, -/mob/living/simple_animal/hostile/pirate/ranged{ +/mob/living/simple_animal/hostile/human/pirate/ranged{ faction = list("beach","pirate") }, /turf/open/floor/wood/ebony, @@ -1333,7 +1333,7 @@ /turf/open/water/beach, /area/overmap_encounter/planetoid/beachplanet/explored) "ZJ" = ( -/mob/living/simple_animal/hostile/pirate/melee{ +/mob/living/simple_animal/hostile/human/pirate/melee{ faction = list("beach","pirate") }, /turf/open/floor/wood, diff --git a/_maps/RandomRuins/BeachRuins/beach_pirate_crash.dmm b/_maps/RandomRuins/BeachRuins/beach_pirate_crash.dmm index 3cdd90e5e1cb..e47ffa92a5e9 100644 --- a/_maps/RandomRuins/BeachRuins/beach_pirate_crash.dmm +++ b/_maps/RandomRuins/BeachRuins/beach_pirate_crash.dmm @@ -385,7 +385,7 @@ }, /area/overmap_encounter/planetoid/beachplanet/explored) "jE" = ( -/mob/living/simple_animal/hostile/pirate/ranged{ +/mob/living/simple_animal/hostile/human/pirate/ranged{ environment_smash = 0; faction = list("pirate","mining") }, @@ -522,7 +522,7 @@ /obj/structure/cable{ icon_state = "1-4" }, -/mob/living/simple_animal/hostile/pirate/melee{ +/mob/living/simple_animal/hostile/human/pirate/melee{ environment_smash = 0; faction = list("pirate","mining") }, @@ -1508,7 +1508,7 @@ /turf/open/floor/plating/asteroid/sand/lit, /area/overmap_encounter/planetoid/cave/explored) "Vc" = ( -/mob/living/simple_animal/hostile/pirate/melee{ +/mob/living/simple_animal/hostile/human/pirate/melee{ environment_smash = 0; faction = list("pirate","mining") }, diff --git a/_maps/RandomRuins/BeachRuins/beach_treasure_cove.dmm b/_maps/RandomRuins/BeachRuins/beach_treasure_cove.dmm index 7943cf93372e..e97a926aec6b 100644 --- a/_maps/RandomRuins/BeachRuins/beach_treasure_cove.dmm +++ b/_maps/RandomRuins/BeachRuins/beach_treasure_cove.dmm @@ -417,7 +417,7 @@ }, /obj/effect/decal/cleanable/dirt/dust, /obj/effect/decal/cleanable/dirt/dust, -/mob/living/simple_animal/hostile/pirate/ranged/space, +/mob/living/simple_animal/hostile/human/pirate/ranged/space, /turf/open/floor/wood, /area/ruin/beach/treasure_cove) "oR" = ( @@ -970,12 +970,12 @@ dir = 8 }, /obj/effect/decal/cleanable/dirt/dust, -/mob/living/simple_animal/hostile/pirate/melee, +/mob/living/simple_animal/hostile/human/pirate/melee, /turf/open/floor/plating/dirt/jungle/lit, /area/ruin/beach/treasure_cove) "EU" = ( /obj/effect/decal/cleanable/dirt/dust, -/mob/living/simple_animal/hostile/pirate/melee, +/mob/living/simple_animal/hostile/human/pirate/melee, /turf/open/floor/plating/dirt/jungle/lit, /area/ruin/beach/treasure_cove) "Gm" = ( @@ -1301,7 +1301,7 @@ /obj/structure/chair/wood{ dir = 8 }, -/mob/living/simple_animal/hostile/pirate/ranged, +/mob/living/simple_animal/hostile/human/pirate/ranged, /turf/open/floor/carpet/red, /area/ruin/beach/treasure_cove) "SX" = ( diff --git a/_maps/RandomRuins/IceRuins/icemoon_surface_corporate_rejects.dmm b/_maps/RandomRuins/IceRuins/icemoon_surface_corporate_rejects.dmm index 28a963ed476a..0fac07bbb493 100644 --- a/_maps/RandomRuins/IceRuins/icemoon_surface_corporate_rejects.dmm +++ b/_maps/RandomRuins/IceRuins/icemoon_surface_corporate_rejects.dmm @@ -518,7 +518,7 @@ /obj/machinery/atmospherics/pipe/simple/supply/hidden/layer4{ dir = 9 }, -/mob/living/simple_animal/hostile/nanotrasen/ranged/assault{ +/mob/living/simple_animal/hostile/human/nanotrasen/ranged/assault{ desc = "No longer a member of Nanotrasen's more militaristic forces. Seems grumpy."; faction = list("DeserterNT"); name = "Benny Bleighch" @@ -566,7 +566,7 @@ /turf/open/floor/vault, /area/ruin/unpowered/corprejectrooms) "or" = ( -/mob/living/simple_animal/hostile/nanotrasen/elite{ +/mob/living/simple_animal/hostile/human/nanotrasen/elite{ desc = "A former major player for Nanotrasen militaristic needs. He doesn't seem like someone who'd want to talk over tea."; faction = list("DeserterNT"); name = "Sam the Sharp" @@ -780,7 +780,7 @@ /area/ruin/unpowered/corprejectrooms) "tb" = ( /obj/effect/turf_decal/corner/opaque/white/diagonal, -/mob/living/simple_animal/hostile/nanotrasen/ranged/smg{ +/mob/living/simple_animal/hostile/human/nanotrasen/ranged/smg{ desc = "An officer no longer part of Nanotrasen's private security force, he seems rather unpleased to meet you."; faction = list("DeserterNT"); name = "Rebecca Slouch" @@ -1064,7 +1064,7 @@ /obj/structure/cable/blue{ icon_state = "4-9" }, -/mob/living/simple_animal/hostile/nanotrasen/ranged/smg{ +/mob/living/simple_animal/hostile/human/nanotrasen/ranged/smg{ desc = "An officer no longer part of Nanotrasen's private security force, he seems rather unpleased to meet you."; faction = list("DeserterNT"); name = "Gloria the Glorious" @@ -1106,7 +1106,7 @@ /obj/structure/chair{ dir = 8 }, -/mob/living/simple_animal/hostile/nanotrasen/screaming{ +/mob/living/simple_animal/hostile/human/nanotrasen/screaming{ desc = "An officer no longer part of Nanotrasen's private security force, he seems rather unpleased to meet you."; faction = list("DeserterNT"); name = "Jimmy Firecracker" @@ -1879,7 +1879,7 @@ /obj/structure/cable/blue{ icon_state = "4-9" }, -/mob/living/simple_animal/hostile/nanotrasen/ranged/smg{ +/mob/living/simple_animal/hostile/human/nanotrasen/ranged/smg{ desc = "An officer no longer part of Nanotrasen's private security force, he seems rather unpleased to meet you."; faction = list("DeserterNT"); name = "Todd Clorox" @@ -1902,7 +1902,7 @@ /obj/machinery/atmospherics/pipe/simple/supply/hidden/layer4{ dir = 4 }, -/mob/living/simple_animal/hostile/nanotrasen/elite{ +/mob/living/simple_animal/hostile/human/nanotrasen/elite{ desc = "A former major player for Nanotrasen militaristic needs. He doesn't seem like someone who'd want to talk over tea."; faction = list("DeserterNT"); name = "Max the Maniac" @@ -1927,7 +1927,7 @@ /area/ruin/unpowered/corprejectrooms) "Rp" = ( /obj/effect/turf_decal/corner/opaque/white/diagonal, -/mob/living/simple_animal/hostile/nanotrasen/ranged/assault{ +/mob/living/simple_animal/hostile/human/nanotrasen/ranged/assault{ desc = "No longer a member of Nanotrasen's more militaristic forces. Seems grumpy."; faction = list("DeserterNT"); name = "Gordon Lary" @@ -2003,7 +2003,7 @@ /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer2{ dir = 4 }, -/mob/living/simple_animal/hostile/nanotrasen/ranged/assault{ +/mob/living/simple_animal/hostile/human/nanotrasen/ranged/assault{ desc = "No longer a member of Nanotrasen's more militaristic forces. Seems grumpy."; faction = list("DeserterNT"); name = "Gary Larson" @@ -2086,7 +2086,7 @@ /obj/machinery/atmospherics/pipe/simple/supply/hidden/layer4{ dir = 4 }, -/mob/living/simple_animal/hostile/nanotrasen/ranged/assault{ +/mob/living/simple_animal/hostile/human/nanotrasen/ranged/assault{ desc = "No longer a member of Nanotrasen's more militaristic forces. Seems grumpy."; faction = list("DeserterNT"); name = "Nancy Drew" @@ -2094,7 +2094,7 @@ /turf/open/floor/mineral/plastitanium/red, /area/ruin/unpowered/corprejectrooms) "Us" = ( -/mob/living/simple_animal/hostile/nanotrasen/ranged/smg{ +/mob/living/simple_animal/hostile/human/nanotrasen/ranged/smg{ desc = "An officer no longer part of Nanotrasen's private security force, he seems rather unpleased to meet you."; faction = list("DeserterNT"); name = "Larry Liessahl" @@ -2231,7 +2231,7 @@ /obj/structure/cable/blue{ icon_state = "0-4" }, -/mob/living/simple_animal/hostile/nanotrasen/screaming{ +/mob/living/simple_animal/hostile/human/nanotrasen/screaming{ desc = "An officer no longer part of Nanotrasen's private security force, he seems rather unpleased to meet you."; faction = list("DeserterNT"); name = "Wendy Wallaby" @@ -2286,7 +2286,7 @@ /obj/structure/cable/blue{ icon_state = "4-5" }, -/mob/living/simple_animal/hostile/nanotrasen/screaming{ +/mob/living/simple_animal/hostile/human/nanotrasen/screaming{ desc = "An officer no longer part of Nanotrasen's private security force, he seems rather unpleased to meet you."; faction = list("DeserterNT"); name = "Wetzel the Pretzel" diff --git a/_maps/RandomRuins/IceRuins/icemoon_underground_abandoned_newcops.dmm b/_maps/RandomRuins/IceRuins/icemoon_underground_abandoned_newcops.dmm index bf034757b5a2..149f4a579542 100644 --- a/_maps/RandomRuins/IceRuins/icemoon_underground_abandoned_newcops.dmm +++ b/_maps/RandomRuins/IceRuins/icemoon_underground_abandoned_newcops.dmm @@ -1028,7 +1028,7 @@ /area/ruin/powered) "Wp" = ( /obj/effect/decal/cleanable/dirt, -/mob/living/simple_animal/hostile/syndicate/ranged/shotgun/space, +/mob/living/simple_animal/hostile/human/syndicate/ranged/shotgun/space, /turf/open/floor/plasteel/freezer, /area/ruin/powered) "Ws" = ( diff --git a/_maps/RandomRuins/IceRuins/icemoon_underground_abandoned_village.dmm b/_maps/RandomRuins/IceRuins/icemoon_underground_abandoned_village.dmm index 946d28dc1a13..6f4fa46c3d62 100644 --- a/_maps/RandomRuins/IceRuins/icemoon_underground_abandoned_village.dmm +++ b/_maps/RandomRuins/IceRuins/icemoon_underground_abandoned_village.dmm @@ -101,7 +101,7 @@ "la" = ( /obj/effect/decal/cleanable/blood/gibs/up, /obj/effect/mob_spawn/human/corpse/assistant, -/mob/living/simple_animal/hostile/skeleton/eskimo{ +/mob/living/simple_animal/hostile/human/skeleton/eskimo{ name = "Village Hunter" }, /turf/open/floor/plating/asteroid/snow/icemoon, @@ -486,7 +486,7 @@ /area/ruin/powered) "PQ" = ( /obj/effect/decal/cleanable/blood/splatter, -/mob/living/simple_animal/hostile/frontier/ranged/trooper, +/mob/living/simple_animal/hostile/human/frontier/ranged/trooper, /obj/effect/decal/cleanable/dirt, /turf/open/floor/wood, /area/ruin/powered) diff --git a/_maps/RandomRuins/IceRuins/icemoon_underground_brazillianlab.dmm b/_maps/RandomRuins/IceRuins/icemoon_underground_brazillianlab.dmm index 7fde87854827..4954a9a5aaf4 100644 --- a/_maps/RandomRuins/IceRuins/icemoon_underground_brazillianlab.dmm +++ b/_maps/RandomRuins/IceRuins/icemoon_underground_brazillianlab.dmm @@ -55,7 +55,7 @@ /turf/open/floor/plating/asteroid/snow/icemoon, /area/overmap_encounter/planetoid/cave/explored) "ct" = ( -/mob/living/simple_animal/hostile/asteroid/whitesands/ranged/hunter{ +/mob/living/simple_animal/hostile/human/hermit/ranged/hunter{ faction = list("brazillian") }, /turf/open/floor/wood{ @@ -88,7 +88,7 @@ /area/ruin/unpowered) "fB" = ( /obj/structure/chair/stool/bar, -/mob/living/simple_animal/hostile/asteroid/whitesands/survivor{ +/mob/living/simple_animal/hostile/human/hermit/survivor{ desc = " A wild-eyed figure, wearing tattered mining equipment and boasting a malformed body."; faction = list("brazillian") }, @@ -101,7 +101,7 @@ /turf/open/floor/plating/asteroid/snow/icemoon, /area/ruin/unpowered) "gH" = ( -/mob/living/simple_animal/hostile/asteroid/whitesands/ranged/gunslinger{ +/mob/living/simple_animal/hostile/human/hermit/ranged/gunslinger{ faction = list("brazillian") }, /turf/open/floor/carpet/green{ @@ -117,7 +117,7 @@ "hp" = ( /obj/item/stack/cable_coil, /obj/effect/decal/cleanable/dirt, -/mob/living/simple_animal/hostile/asteroid/whitesands/ranged/hunter{ +/mob/living/simple_animal/hostile/human/hermit/ranged/hunter{ faction = list("brazillian") }, /turf/open/floor/wood{ @@ -128,7 +128,7 @@ /turf/closed/wall/mineral/wood/nonmetal, /area/overmap_encounter/planetoid/cave/explored) "ht" = ( -/mob/living/simple_animal/hostile/asteroid/whitesands/ranged/hunter{ +/mob/living/simple_animal/hostile/human/hermit/ranged/hunter{ faction = list("brazillian") }, /turf/open/floor/plating/asteroid/snow/icemoon, @@ -177,7 +177,7 @@ /obj/structure/chair/wood{ dir = 1 }, -/mob/living/simple_animal/hostile/asteroid/whitesands/survivor{ +/mob/living/simple_animal/hostile/human/hermit/survivor{ desc = " A wild-eyed figure, wearing tattered mining equipment and boasting a malformed body."; faction = list("brazillian") }, @@ -341,7 +341,7 @@ /turf/open/floor/plating/asteroid/snow/icemoon, /area/overmap_encounter/planetoid/cave/explored) "qS" = ( -/mob/living/simple_animal/hostile/asteroid/whitesands/survivor{ +/mob/living/simple_animal/hostile/human/hermit/survivor{ desc = "The greatest chef this side of the wastes."; faction = list("brazillian"); health = 150; @@ -475,7 +475,7 @@ /obj/structure/bed, /obj/structure/curtain, /obj/effect/decal/cleanable/dirt, -/mob/living/simple_animal/hostile/asteroid/whitesands/survivor{ +/mob/living/simple_animal/hostile/human/hermit/survivor{ desc = " A wild-eyed figure, wearing tattered mining equipment and boasting a malformed body."; faction = list("brazillian") }, @@ -535,7 +535,7 @@ /turf/open/floor/plating/asteroid/snow/icemoon, /area/overmap_encounter/planetoid/cave/explored) "zy" = ( -/mob/living/simple_animal/hostile/asteroid/whitesands/survivor{ +/mob/living/simple_animal/hostile/human/hermit/survivor{ desc = " A wild-eyed figure, wearing tattered mining equipment and boasting a malformed body."; faction = list("brazillian") }, @@ -545,7 +545,7 @@ /obj/structure/chair/wood{ dir = 8 }, -/mob/living/simple_animal/hostile/asteroid/whitesands/ranged/hunter{ +/mob/living/simple_animal/hostile/human/hermit/ranged/hunter{ faction = list("brazillian") }, /turf/open/floor/wood{ @@ -635,7 +635,7 @@ /area/ruin/unpowered) "CI" = ( /obj/structure/flora/junglebush/c, -/mob/living/simple_animal/hostile/asteroid/whitesands/ranged/hunter{ +/mob/living/simple_animal/hostile/human/hermit/ranged/hunter{ faction = list("brazillian") }, /turf/open/floor/plating/grass/jungle{ @@ -775,7 +775,7 @@ "JM" = ( /obj/structure/bed, /obj/structure/curtain, -/mob/living/simple_animal/hostile/asteroid/whitesands/ranged/hunter{ +/mob/living/simple_animal/hostile/human/hermit/ranged/hunter{ faction = list("brazillian") }, /obj/effect/turf_decal/corner/opaque/green/border, @@ -827,7 +827,7 @@ /obj/structure/chair/stool/bar{ dir = 4 }, -/mob/living/simple_animal/hostile/asteroid/whitesands/survivor{ +/mob/living/simple_animal/hostile/human/hermit/survivor{ desc = " A wild-eyed figure, wearing tattered mining equipment and boasting a malformed body."; faction = list("brazillian") }, @@ -895,7 +895,7 @@ }, /area/ruin/unpowered) "NR" = ( -/mob/living/simple_animal/hostile/asteroid/whitesands/survivor{ +/mob/living/simple_animal/hostile/human/hermit/survivor{ desc = " A wild-eyed figure, wearing tattered mining equipment and boasting a malformed body."; faction = list("brazillian") }, @@ -1070,7 +1070,7 @@ }, /area/ruin/unpowered) "Ux" = ( -/mob/living/simple_animal/hostile/asteroid/whitesands/ranged/hunter{ +/mob/living/simple_animal/hostile/human/hermit/ranged/hunter{ faction = list("brazillian") }, /turf/open/floor/plating/grass/jungle{ @@ -1205,7 +1205,7 @@ }, /area/ruin/unpowered) "Yy" = ( -/mob/living/simple_animal/hostile/asteroid/whitesands/survivor{ +/mob/living/simple_animal/hostile/human/hermit/survivor{ desc = " A wild-eyed figure, wearing tattered mining equipment and boasting a malformed body."; faction = list("brazillian") }, diff --git a/_maps/RandomRuins/JungleRuins/jungle_cavecrew.dmm b/_maps/RandomRuins/JungleRuins/jungle_cavecrew.dmm index 928318c23ffe..9798d8e4f0de 100644 --- a/_maps/RandomRuins/JungleRuins/jungle_cavecrew.dmm +++ b/_maps/RandomRuins/JungleRuins/jungle_cavecrew.dmm @@ -658,7 +658,7 @@ dir = 4; name = "tactical swivel chair" }, -/mob/living/simple_animal/hostile/frontier/ranged/officer/neutured, +/mob/living/simple_animal/hostile/human/frontier/ranged/officer/neutured, /turf/open/floor/plasteel/dark, /area/ruin/jungle/cavecrew/bridge) "iE" = ( @@ -1342,7 +1342,7 @@ /obj/structure/cable{ icon_state = "1-8" }, -/mob/living/simple_animal/hostile/frontier/ranged/trooper/heavy/neutered, +/mob/living/simple_animal/hostile/human/frontier/ranged/trooper/heavy/neutered, /turf/open/floor/plasteel/patterned/brushed, /area/ruin/jungle/cavecrew/security) "pB" = ( @@ -1432,7 +1432,7 @@ /area/ruin/jungle/cavecrew/hallway) "rN" = ( /obj/effect/decal/cleanable/dirt/dust, -/mob/living/simple_animal/hostile/frontier/ranged/trooper/neutered, +/mob/living/simple_animal/hostile/human/frontier/ranged/trooper/neutered, /turf/open/floor/plating/dirt/old, /area/ruin/powered) "rQ" = ( @@ -1832,7 +1832,7 @@ /obj/structure/railing/corner{ dir = 8 }, -/mob/living/simple_animal/hostile/frontier/ranged/trooper/skm/neutured, +/mob/living/simple_animal/hostile/human/frontier/ranged/trooper/skm/neutured, /turf/open/floor/plasteel/stairs{ dir = 1 }, @@ -2354,7 +2354,7 @@ /obj/effect/turf_decal/spline/fancy/opaque/black{ dir = 8 }, -/mob/living/simple_animal/hostile/frontier/ranged/neutered, +/mob/living/simple_animal/hostile/human/frontier/ranged/neutered, /turf/open/floor/plasteel, /area/ruin/jungle/cavecrew/hallway) "CN" = ( @@ -2365,7 +2365,7 @@ dir = 9 }, /obj/effect/decal/cleanable/dirt/dust, -/mob/living/simple_animal/hostile/frontier, +/mob/living/simple_animal/hostile/human/frontier, /obj/structure/cable{ icon_state = "4-8" }, @@ -2570,7 +2570,7 @@ /turf/open/floor/plating/dirt/jungle, /area/overmap_encounter/planetoid/cave/explored) "Fw" = ( -/mob/living/simple_animal/hostile/frontier/ranged/mosin/neutered, +/mob/living/simple_animal/hostile/human/frontier/ranged/mosin/neutered, /turf/open/floor/plating/dirt/jungle, /area/ruin/powered) "Fy" = ( @@ -2797,7 +2797,7 @@ dir = 4; layer = 3.1 }, -/mob/living/simple_animal/hostile/frontier/ranged/neutered, +/mob/living/simple_animal/hostile/human/frontier/ranged/neutered, /turf/open/water/jungle, /area/ruin/jungle/cavecrew/cargo) "II" = ( @@ -3208,7 +3208,7 @@ /obj/structure/cable{ icon_state = "2-5" }, -/mob/living/simple_animal/hostile/frontier/ranged/trooper/rifle/neutered, +/mob/living/simple_animal/hostile/human/frontier/ranged/trooper/rifle/neutered, /turf/open/floor/plasteel, /area/ruin/jungle/cavecrew/hallway) "MW" = ( @@ -3391,7 +3391,7 @@ /obj/structure/cable{ icon_state = "1-2" }, -/mob/living/simple_animal/hostile/frontier/ranged/neutered, +/mob/living/simple_animal/hostile/human/frontier/ranged/neutered, /turf/open/floor/plating, /area/ruin/powered) "Pg" = ( @@ -4092,7 +4092,7 @@ /turf/open/floor/plating/dirt/jungle, /area/ruin/powered) "Xx" = ( -/mob/living/simple_animal/hostile/frontier/ranged/mosin/neutered, +/mob/living/simple_animal/hostile/human/frontier/ranged/mosin/neutered, /obj/effect/decal/cleanable/dirt, /turf/open/floor/plasteel/tech, /area/ship/storage) diff --git a/_maps/RandomRuins/JungleRuins/jungle_pirate.dmm b/_maps/RandomRuins/JungleRuins/jungle_pirate.dmm index 83f17d9f7026..739244a8b282 100644 --- a/_maps/RandomRuins/JungleRuins/jungle_pirate.dmm +++ b/_maps/RandomRuins/JungleRuins/jungle_pirate.dmm @@ -124,7 +124,7 @@ /obj/structure/railing{ dir = 4 }, -/mob/living/simple_animal/hostile/pirate/ranged, +/mob/living/simple_animal/hostile/human/pirate/ranged, /turf/open/floor/wood, /area/ruin/unpowered) "qL" = ( @@ -209,11 +209,11 @@ /turf/open/floor/wood, /area/ruin/unpowered) "DH" = ( -/mob/living/simple_animal/hostile/pirate/ranged/space, +/mob/living/simple_animal/hostile/human/pirate/ranged/space, /turf/open/floor/carpet/red, /area/ruin/unpowered) "DS" = ( -/mob/living/simple_animal/hostile/pirate/ranged, +/mob/living/simple_animal/hostile/human/pirate/ranged, /turf/open/floor/wood, /area/overmap_encounter/planetoid/jungle/explored) "DV" = ( @@ -270,7 +270,7 @@ /turf/open/floor/wood, /area/ruin/unpowered) "LT" = ( -/mob/living/simple_animal/hostile/pirate/melee, +/mob/living/simple_animal/hostile/human/pirate/melee, /obj/structure/chair/wood, /obj/effect/decal/cleanable/dirt, /turf/open/floor/wood, @@ -355,7 +355,7 @@ /turf/open/floor/plating/dirt/jungle/lit, /area/overmap_encounter/planetoid/jungle/explored) "UX" = ( -/mob/living/simple_animal/hostile/pirate/melee, +/mob/living/simple_animal/hostile/human/pirate/melee, /turf/open/floor/wood, /area/ruin/unpowered) "Vf" = ( @@ -391,7 +391,7 @@ /turf/open/floor/carpet/red, /area/ruin/unpowered) "XA" = ( -/mob/living/simple_animal/hostile/pirate/melee, +/mob/living/simple_animal/hostile/human/pirate/melee, /obj/effect/decal/cleanable/dirt, /turf/open/floor/wood, /area/ruin/unpowered) diff --git a/_maps/RandomRuins/JungleRuins/jungle_syndicate.dmm b/_maps/RandomRuins/JungleRuins/jungle_syndicate.dmm index ebd333289382..4ecf5ee382b1 100644 --- a/_maps/RandomRuins/JungleRuins/jungle_syndicate.dmm +++ b/_maps/RandomRuins/JungleRuins/jungle_syndicate.dmm @@ -123,7 +123,7 @@ /turf/open/floor/plating/rust, /area/ruin/jungle/syndifort) "ef" = ( -/mob/living/simple_animal/hostile/syndicate{ +/mob/living/simple_animal/hostile/human/syndicate{ desc = "God dammit Jerry! Why the fuck are you barricading yourself in with all of our weapon supplies?"; name = "Jerry"; unsuitable_atmos_damage = 0 @@ -180,7 +180,7 @@ /turf/open/floor/plating/grass/jungle/lit, /area/overmap_encounter/planetoid/jungle/explored) "fS" = ( -/mob/living/simple_animal/hostile/syndicate{ +/mob/living/simple_animal/hostile/human/syndicate{ unsuitable_atmos_damage = 0 }, /obj/effect/decal/cleanable/dirt/dust, @@ -533,7 +533,7 @@ /turf/open/floor/mineral/plastitanium/red, /area/ruin/jungle/syndifort) "rg" = ( -/mob/living/simple_animal/hostile/syndicate/space, +/mob/living/simple_animal/hostile/human/syndicate/space, /obj/structure/cable{ icon_state = "1-2" }, @@ -1102,7 +1102,7 @@ /area/overmap_encounter/planetoid/jungle/explored) "HR" = ( /obj/structure/chair/plastic, -/mob/living/simple_animal/hostile/syndicate/ranged{ +/mob/living/simple_animal/hostile/human/syndicate/ranged{ unsuitable_atmos_damage = 0 }, /turf/open/floor/plating/dirt/jungle/lit, @@ -1365,7 +1365,7 @@ /area/ruin/jungle/syndifort) "Qs" = ( /obj/structure/cable, -/mob/living/simple_animal/hostile/syndicate{ +/mob/living/simple_animal/hostile/human/syndicate{ unsuitable_atmos_damage = 0 }, /obj/machinery/light/directional/north, diff --git a/_maps/RandomRuins/LavaRuins/lavaland_surface_ashwalker_shrine.dmm b/_maps/RandomRuins/LavaRuins/lavaland_surface_ashwalker_shrine.dmm index 5001fd7a1831..b3d7e439a805 100644 --- a/_maps/RandomRuins/LavaRuins/lavaland_surface_ashwalker_shrine.dmm +++ b/_maps/RandomRuins/LavaRuins/lavaland_surface_ashwalker_shrine.dmm @@ -394,7 +394,7 @@ /turf/open/floor/plating/ashplanet/ash, /area/overmap_encounter/planetoid/lava/explored) "pJ" = ( -/mob/living/simple_animal/hostile/nanotrasen/ranged/smg, +/mob/living/simple_animal/hostile/human/nanotrasen/ranged/smg, /turf/open/floor/wood, /area/overmap_encounter/planetoid/lava/explored) "pT" = ( @@ -645,7 +645,7 @@ /area/overmap_encounter/planetoid/lava/explored) "yJ" = ( /obj/structure/stone_tile/slab, -/mob/living/simple_animal/hostile/nanotrasen/ranged/assault, +/mob/living/simple_animal/hostile/human/nanotrasen/ranged/assault, /turf/open/floor/plating/asteroid/basalt/lava_land_surface, /area/overmap_encounter/planetoid/lava/explored) "zG" = ( @@ -1064,7 +1064,7 @@ /area/overmap_encounter/planetoid/lava/explored) "Ty" = ( /obj/structure/stone_tile/slab/cracked, -/mob/living/simple_animal/hostile/nanotrasen/ranged, +/mob/living/simple_animal/hostile/human/nanotrasen/ranged, /turf/open/floor/plating/asteroid/basalt/lava_land_surface, /area/overmap_encounter/planetoid/lava/explored) "TX" = ( diff --git a/_maps/RandomRuins/LavaRuins/lavaland_surface_biodome_winter.dmm b/_maps/RandomRuins/LavaRuins/lavaland_surface_biodome_winter.dmm index 0f7efcf3f2ad..8c50d67b06e6 100644 --- a/_maps/RandomRuins/LavaRuins/lavaland_surface_biodome_winter.dmm +++ b/_maps/RandomRuins/LavaRuins/lavaland_surface_biodome_winter.dmm @@ -139,7 +139,7 @@ /turf/open/floor/wood, /area/ruin/powered/snow_biodome) "aH" = ( -/mob/living/simple_animal/hostile/skeleton/eskimo, +/mob/living/simple_animal/hostile/human/skeleton/eskimo, /turf/open/floor/wood, /area/ruin/powered/snow_biodome) "aI" = ( diff --git a/_maps/RandomRuins/LavaRuins/lavaland_surface_comm_outpost.dmm b/_maps/RandomRuins/LavaRuins/lavaland_surface_comm_outpost.dmm index 91b482df849f..44988210b7e4 100644 --- a/_maps/RandomRuins/LavaRuins/lavaland_surface_comm_outpost.dmm +++ b/_maps/RandomRuins/LavaRuins/lavaland_surface_comm_outpost.dmm @@ -211,7 +211,7 @@ }, /area/ruin/unpowered/syndicate_outpost) "Ts" = ( -/mob/living/simple_animal/hostile/syndicate/ranged{ +/mob/living/simple_animal/hostile/human/syndicate/ranged{ dir = 8; health = 125; name = "Syndicate Radio Operative" diff --git a/_maps/RandomRuins/RockRuins/rockplanet_budgetcuts.dmm b/_maps/RandomRuins/RockRuins/rockplanet_budgetcuts.dmm index 505ae3600d31..fa8958c51cba 100644 --- a/_maps/RandomRuins/RockRuins/rockplanet_budgetcuts.dmm +++ b/_maps/RandomRuins/RockRuins/rockplanet_budgetcuts.dmm @@ -35,7 +35,7 @@ /turf/open/floor/plastic, /area/ruin/rockplanet/nanotrasen) "aQ" = ( -/mob/living/simple_animal/hostile/nanotrasen, +/mob/living/simple_animal/hostile/human/nanotrasen, /obj/machinery/door/firedoor, /obj/effect/turf_decal/siding/white{ dir = 1 @@ -339,7 +339,7 @@ /turf/open/floor/engine, /area/ruin/rockplanet/nanotrasen) "ff" = ( -/mob/living/simple_animal/hostile/nanotrasen/ranged/smg, +/mob/living/simple_animal/hostile/human/nanotrasen/ranged/smg, /obj/effect/turf_decal/siding/white{ dir = 4 }, @@ -1347,7 +1347,7 @@ /obj/effect/decal/cleanable/dirt/dust, /obj/effect/decal/cleanable/oil, /obj/machinery/light/small/broken/directional/north, -/mob/living/simple_animal/hostile/pirate/ranged/space, +/mob/living/simple_animal/hostile/human/pirate/ranged/space, /turf/open/floor/plating, /area/ruin/rockplanet/nanotrasen) "vz" = ( @@ -1462,7 +1462,7 @@ /obj/effect/turf_decal/siding/wood{ dir = 4 }, -/mob/living/simple_animal/hostile/nanotrasen, +/mob/living/simple_animal/hostile/human/nanotrasen, /turf/open/floor/wood{ icon_state = "wood-broken7" }, @@ -1728,7 +1728,7 @@ /turf/open/floor/plasteel/white, /area/ruin/rockplanet/nanotrasen) "CJ" = ( -/mob/living/simple_animal/hostile/pirate/melee/space, +/mob/living/simple_animal/hostile/human/pirate/melee/space, /turf/open/floor/plating{ icon_state = "panelscorched" }, @@ -1767,7 +1767,7 @@ /turf/open/floor/plasteel, /area/ruin/rockplanet/nanotrasen) "Dt" = ( -/mob/living/simple_animal/hostile/pirate/ranged/space, +/mob/living/simple_animal/hostile/human/pirate/ranged/space, /obj/effect/decal/cleanable/dirt, /obj/effect/decal/cleanable/dirt, /obj/structure/cable{ @@ -2036,7 +2036,7 @@ /obj/effect/turf_decal/corner/opaque/red/border{ dir = 8 }, -/mob/living/simple_animal/hostile/nanotrasen/ranged, +/mob/living/simple_animal/hostile/human/nanotrasen/ranged, /turf/open/floor/plasteel/dark, /area/ruin/rockplanet/nanotrasen) "Hs" = ( @@ -2069,7 +2069,7 @@ }, /area/ruin/rockplanet/nanotrasen) "Ie" = ( -/mob/living/simple_animal/hostile/pirate/melee/space, +/mob/living/simple_animal/hostile/human/pirate/melee/space, /turf/open/floor/plating{ icon_state = "platingdmg1" }, @@ -2697,7 +2697,7 @@ /turf/open/floor/plasteel/rockvault, /area/ruin/rockplanet/nanotrasen) "Vn" = ( -/mob/living/simple_animal/hostile/nanotrasen/ranged, +/mob/living/simple_animal/hostile/human/nanotrasen/ranged, /obj/effect/turf_decal/industrial/warning{ dir = 1 }, @@ -2835,7 +2835,7 @@ /turf/open/floor/plating/dirt/jungle/lit, /area/overmap_encounter/planetoid/rockplanet/explored) "Ze" = ( -/mob/living/simple_animal/hostile/nanotrasen/ranged/smg, +/mob/living/simple_animal/hostile/human/nanotrasen/ranged/smg, /obj/effect/turf_decal/corner/transparent/purple/border{ dir = 1 }, @@ -2908,7 +2908,7 @@ /obj/structure/railing{ dir = 8 }, -/mob/living/simple_animal/hostile/nanotrasen/ranged/assault, +/mob/living/simple_animal/hostile/human/nanotrasen/ranged/assault, /turf/open/floor/plasteel/dark, /area/ruin/rockplanet/nanotrasen) "ZZ" = ( diff --git a/_maps/RandomRuins/RockRuins/rockplanet_dangerpod.dmm b/_maps/RandomRuins/RockRuins/rockplanet_dangerpod.dmm index dd6bb43fd913..cf91b07b4072 100644 --- a/_maps/RandomRuins/RockRuins/rockplanet_dangerpod.dmm +++ b/_maps/RandomRuins/RockRuins/rockplanet_dangerpod.dmm @@ -8,7 +8,7 @@ /turf/open/floor/pod/dark, /area/overmap_encounter/planetoid/rockplanet/explored) "h" = ( -/mob/living/simple_animal/hostile/skeleton/plasmaminer/jackhammer, +/mob/living/simple_animal/hostile/human/skeleton/plasmaminer/jackhammer, /obj/effect/decal/cleanable/blood/old, /turf/open/floor/pod/dark, /area/overmap_encounter/planetoid/rockplanet/explored) diff --git a/_maps/RandomRuins/RockRuins/rockplanet_miningexpedition.dmm b/_maps/RandomRuins/RockRuins/rockplanet_miningexpedition.dmm index 088015c83b13..83e80f79a4a3 100644 --- a/_maps/RandomRuins/RockRuins/rockplanet_miningexpedition.dmm +++ b/_maps/RandomRuins/RockRuins/rockplanet_miningexpedition.dmm @@ -114,7 +114,7 @@ /turf/open/floor/plating/asteroid/rockplanet/lit, /area/overmap_encounter/planetoid/rockplanet/explored) "sP" = ( -/mob/living/simple_animal/hostile/skeleton/plasmaminer, +/mob/living/simple_animal/hostile/human/skeleton/plasmaminer, /turf/open/floor/plating/asteroid/rockplanet/lit, /area/overmap_encounter/planetoid/rockplanet/explored) "tN" = ( diff --git a/_maps/RandomRuins/SandRuins/whitesands_surface_camp_combination.dmm b/_maps/RandomRuins/SandRuins/whitesands_surface_camp_combination.dmm index f8b569cebdf4..f59cff023b4a 100644 --- a/_maps/RandomRuins/SandRuins/whitesands_surface_camp_combination.dmm +++ b/_maps/RandomRuins/SandRuins/whitesands_surface_camp_combination.dmm @@ -89,7 +89,7 @@ }, /area/overmap_encounter/planetoid/sand/explored) "eq" = ( -/mob/living/simple_animal/hostile/asteroid/whitesands/survivor, +/mob/living/simple_animal/hostile/human/hermit/survivor, /turf/open/floor/plating/asteroid/whitesands{ light_range = 2 }, @@ -157,7 +157,7 @@ /area/ruin) "fO" = ( /obj/structure/chair/plastic, -/mob/living/simple_animal/hostile/asteroid/whitesands/survivor{ +/mob/living/simple_animal/hostile/human/hermit/survivor{ faction = list("adobe") }, /turf/open/floor/plating/asteroid/whitesands{ @@ -360,7 +360,7 @@ }, /area/overmap_encounter/planetoid/sand/explored) "nx" = ( -/mob/living/simple_animal/hostile/asteroid/whitesands/survivor{ +/mob/living/simple_animal/hostile/human/hermit/survivor{ dir = 4; faction = list("adobe") }, @@ -425,7 +425,7 @@ "oB" = ( /obj/effect/decal/cleanable/dirt, /obj/effect/decal/cleanable/blood/old, -/mob/living/simple_animal/hostile/asteroid/whitesands/ranged/hunter{ +/mob/living/simple_animal/hostile/human/hermit/ranged/hunter{ faction = list("saloon"); name = "Whitesands Bartender" }, @@ -592,7 +592,7 @@ /turf/open/floor/concrete, /area/ruin) "we" = ( -/mob/living/simple_animal/hostile/asteroid/whitesands/survivor, +/mob/living/simple_animal/hostile/human/hermit/survivor, /turf/open/floor/plating/asteroid/whitesands/dried{ light_range = 2 }, @@ -678,14 +678,14 @@ }, /area/overmap_encounter/planetoid/sand/explored) "zB" = ( -/mob/living/simple_animal/hostile/asteroid/whitesands/survivor{ +/mob/living/simple_animal/hostile/human/hermit/survivor{ dir = 1; faction = list("adobe") }, /turf/open/floor/concrete, /area/ruin) "AC" = ( -/mob/living/simple_animal/hostile/asteroid/whitesands/ranged/gunslinger{ +/mob/living/simple_animal/hostile/human/hermit/ranged/gunslinger{ dir = 4; faction = list("adobe") }, @@ -704,7 +704,7 @@ /turf/open/floor/wood, /area/ruin) "AR" = ( -/mob/living/simple_animal/hostile/asteroid/whitesands/ranged/hunter, +/mob/living/simple_animal/hostile/human/hermit/ranged/hunter, /turf/open/floor/plating/asteroid/whitesands{ light_range = 2 }, @@ -782,14 +782,14 @@ /area/ruin) "Ed" = ( /obj/item/chair/stool/bar, -/mob/living/simple_animal/hostile/asteroid/whitesands/survivor{ +/mob/living/simple_animal/hostile/human/hermit/survivor{ dir = 1; faction = list("saloon") }, /turf/open/floor/wood, /area/ruin) "Ef" = ( -/mob/living/simple_animal/hostile/asteroid/whitesands/ranged/hunter{ +/mob/living/simple_animal/hostile/human/hermit/ranged/hunter{ dir = 4; faction = list("adobe") }, @@ -939,7 +939,7 @@ /obj/structure/chair/plastic{ dir = 4 }, -/mob/living/simple_animal/hostile/asteroid/whitesands/survivor{ +/mob/living/simple_animal/hostile/human/hermit/survivor{ dir = 4; faction = list("adobe") }, @@ -1189,7 +1189,7 @@ /turf/open/floor/concrete, /area/ruin) "TH" = ( -/mob/living/simple_animal/hostile/asteroid/whitesands/ranged/hunter{ +/mob/living/simple_animal/hostile/human/hermit/ranged/hunter{ faction = list("adobe") }, /turf/open/floor/concrete, @@ -1200,7 +1200,7 @@ /area/ruin) "UT" = ( /obj/structure/chair/stool/bar, -/mob/living/simple_animal/hostile/asteroid/whitesands/survivor{ +/mob/living/simple_animal/hostile/human/hermit/survivor{ dir = 1; faction = list("saloon") }, @@ -1209,7 +1209,7 @@ "Vq" = ( /obj/structure/chair/stool/bar, /obj/effect/decal/cleanable/dirt, -/mob/living/simple_animal/hostile/asteroid/whitesands/survivor{ +/mob/living/simple_animal/hostile/human/hermit/survivor{ dir = 8; faction = list("saloon") }, @@ -1253,7 +1253,7 @@ /area/overmap_encounter/planetoid/sand/explored) "Ws" = ( /obj/structure/chair/stool/bar, -/mob/living/simple_animal/hostile/asteroid/whitesands/survivor{ +/mob/living/simple_animal/hostile/human/hermit/survivor{ dir = 8; faction = list("saloon") }, diff --git a/_maps/RandomRuins/SandRuins/whitesands_surface_camp_drugstore.dmm b/_maps/RandomRuins/SandRuins/whitesands_surface_camp_drugstore.dmm index 4bf53b738636..7f69ca337c00 100644 --- a/_maps/RandomRuins/SandRuins/whitesands_surface_camp_drugstore.dmm +++ b/_maps/RandomRuins/SandRuins/whitesands_surface_camp_drugstore.dmm @@ -80,7 +80,7 @@ /turf/open/floor/wood, /area/ruin/unpowered) "n" = ( -/mob/living/simple_animal/hostile/asteroid/whitesands/survivor{ +/mob/living/simple_animal/hostile/human/hermit/survivor{ dir = 4 }, /turf/open/floor/wood{ diff --git a/_maps/RandomRuins/SandRuins/whitesands_surface_camp_saloon.dmm b/_maps/RandomRuins/SandRuins/whitesands_surface_camp_saloon.dmm index b17207b75020..400a710091b4 100644 --- a/_maps/RandomRuins/SandRuins/whitesands_surface_camp_saloon.dmm +++ b/_maps/RandomRuins/SandRuins/whitesands_surface_camp_saloon.dmm @@ -243,7 +243,7 @@ }, /obj/effect/turf_decal/siding/wood, /obj/structure/chair/stool/bar, -/mob/living/simple_animal/hostile/asteroid/whitesands/survivor, +/mob/living/simple_animal/hostile/human/hermit/survivor, /turf/open/floor/wood, /area/ruin/whitesands/saloon) "gC" = ( @@ -328,7 +328,7 @@ "ih" = ( /obj/effect/decal/cleanable/dirt, /obj/effect/decal/cleanable/blood/old, -/mob/living/simple_animal/hostile/asteroid/whitesands/ranged/hunter{ +/mob/living/simple_animal/hostile/human/hermit/ranged/hunter{ name = "Hermit Bartender" }, /turf/open/floor/wood{ @@ -499,7 +499,7 @@ /obj/effect/turf_decal/siding/wood{ dir = 1 }, -/mob/living/simple_animal/hostile/asteroid/whitesands/survivor{ +/mob/living/simple_animal/hostile/human/hermit/survivor{ dir = 1 }, /turf/open/floor/wood, @@ -615,7 +615,7 @@ /obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ dir = 6 }, -/mob/living/simple_animal/hostile/asteroid/whitesands/survivor{ +/mob/living/simple_animal/hostile/human/hermit/survivor{ dir = 1 }, /turf/open/floor/wood, @@ -654,7 +654,7 @@ /obj/structure/chair/stool/bar{ dir = 1 }, -/mob/living/simple_animal/hostile/asteroid/whitesands/survivor{ +/mob/living/simple_animal/hostile/human/hermit/survivor{ dir = 1 }, /turf/open/floor/wood{ @@ -666,7 +666,7 @@ dir = 8 }, /obj/item/chair/stool/bar, -/mob/living/simple_animal/hostile/asteroid/whitesands/survivor{ +/mob/living/simple_animal/hostile/human/hermit/survivor{ dir = 8 }, /turf/open/floor/wood, @@ -744,7 +744,7 @@ /obj/effect/turf_decal/siding/wood{ dir = 8 }, -/mob/living/simple_animal/hostile/asteroid/whitesands/ranged/hunter{ +/mob/living/simple_animal/hostile/human/hermit/ranged/hunter{ dir = 8 }, /turf/open/floor/wood{ @@ -756,7 +756,7 @@ dir = 1 }, /obj/effect/decal/cleanable/dirt, -/mob/living/simple_animal/hostile/asteroid/whitesands/survivor{ +/mob/living/simple_animal/hostile/human/hermit/survivor{ dir = 1 }, /turf/open/floor/wood{ @@ -981,7 +981,7 @@ /area/ruin/whitesands/saloon) "DT" = ( /obj/structure/chair/wood, -/mob/living/simple_animal/hostile/asteroid/whitesands/survivor{ +/mob/living/simple_animal/hostile/human/hermit/survivor{ name = "Robert"; desc = "This fellow seems relatively sane and normal"; faction = list("neutral") @@ -1114,7 +1114,7 @@ /obj/structure/chair/stool/bar{ dir = 8 }, -/mob/living/simple_animal/hostile/asteroid/whitesands/survivor{ +/mob/living/simple_animal/hostile/human/hermit/survivor{ dir = 8 }, /turf/open/floor/wood, @@ -1148,7 +1148,7 @@ }, /area/ruin/whitesands/saloon) "Ie" = ( -/mob/living/simple_animal/hostile/asteroid/whitesands/survivor{ +/mob/living/simple_animal/hostile/human/hermit/survivor{ dir = 1 }, /turf/open/floor/plating/asteroid/whitesands/lit, @@ -1389,7 +1389,7 @@ /obj/structure/chair/stool/bar{ dir = 8 }, -/mob/living/simple_animal/hostile/asteroid/whitesands/survivor{ +/mob/living/simple_animal/hostile/human/hermit/survivor{ dir = 8 }, /turf/open/floor/wood, @@ -1421,7 +1421,7 @@ /turf/open/floor/wood, /area/ruin/whitesands/saloon) "QV" = ( -/mob/living/simple_animal/hostile/asteroid/whitesands/ranged/hunter{ +/mob/living/simple_animal/hostile/human/hermit/ranged/hunter{ name = "Hermit Bartender"; dir = 4 }, @@ -1497,7 +1497,7 @@ /area/ruin/whitesands/saloon) "Ua" = ( /obj/structure/chair/stool/bar, -/mob/living/simple_animal/hostile/asteroid/whitesands/survivor{ +/mob/living/simple_animal/hostile/human/hermit/survivor{ dir = 8 }, /turf/open/floor/wood{ @@ -1525,7 +1525,7 @@ /obj/structure/sign/poster/official/cohiba_robusto_ad{ pixel_y = 32 }, -/mob/living/simple_animal/hostile/asteroid/whitesands/survivor, +/mob/living/simple_animal/hostile/human/hermit/survivor, /turf/open/floor/wood{ icon_state = "wood-broken7" }, @@ -1641,7 +1641,7 @@ /obj/structure/chair/stool/bar{ dir = 1 }, -/mob/living/simple_animal/hostile/asteroid/whitesands/survivor{ +/mob/living/simple_animal/hostile/human/hermit/survivor{ dir = 1 }, /turf/open/floor/wood, diff --git a/_maps/RandomRuins/SandRuins/whitesands_surface_chokepoint.dmm b/_maps/RandomRuins/SandRuins/whitesands_surface_chokepoint.dmm index 5d63a30bf22b..d4fa2737cd38 100644 --- a/_maps/RandomRuins/SandRuins/whitesands_surface_chokepoint.dmm +++ b/_maps/RandomRuins/SandRuins/whitesands_surface_chokepoint.dmm @@ -26,7 +26,7 @@ "g" = ( /obj/structure/bed, /obj/item/bedsheet/hos, -/mob/living/simple_animal/hostile/nanotrasen/ranged{ +/mob/living/simple_animal/hostile/human/nanotrasen/ranged{ atmos_requirements = list("min_oxy"=5,"max_oxy"=0,"min_tox"=0,"max_tox"=0,"min_co2"=0,"max_co2"=999,"min_n2"=0,"max_n2"=0); damage_coeff = list("brute"=1,"fire"=1,"toxin"=1,"clone"=1,"stamina"=0,"oxygen"=0); name = "\improper Nanotrasen Stranded Security Officer" @@ -34,7 +34,7 @@ /turf/open/floor/plating/asteroid/whitesands/dried, /area/ruin) "h" = ( -/mob/living/simple_animal/hostile/nanotrasen/ranged{ +/mob/living/simple_animal/hostile/human/nanotrasen/ranged{ atmos_requirements = list("min_oxy"=5,"max_oxy"=0,"min_tox"=0,"max_tox"=0,"min_co2"=0,"max_co2"=999,"min_n2"=0,"max_n2"=0); damage_coeff = list("brute"=1,"fire"=1,"toxin"=1,"clone"=1,"stamina"=0,"oxygen"=0); dir = 4; @@ -46,7 +46,7 @@ /obj/structure/chair/wood{ dir = 8 }, -/mob/living/simple_animal/hostile/nanotrasen/ranged{ +/mob/living/simple_animal/hostile/human/nanotrasen/ranged{ atmos_requirements = list("min_oxy"=5,"max_oxy"=0,"min_tox"=0,"max_tox"=0,"min_co2"=0,"max_co2"=999,"min_n2"=0,"max_n2"=0); damage_coeff = list("brute"=1,"fire"=1,"toxin"=1,"clone"=1,"stamina"=0,"oxygen"=0); dir = 8; @@ -93,7 +93,7 @@ /turf/open/floor/plating/asteroid/whitesands, /area/ruin) "v" = ( -/mob/living/simple_animal/hostile/nanotrasen/ranged{ +/mob/living/simple_animal/hostile/human/nanotrasen/ranged{ atmos_requirements = list("min_oxy"=5,"max_oxy"=0,"min_tox"=0,"max_tox"=0,"min_co2"=0,"max_co2"=999,"min_n2"=0,"max_n2"=0); damage_coeff = list("brute"=1,"fire"=1,"toxin"=1,"clone"=1,"stamina"=0,"oxygen"=0); dir = 8; diff --git a/_maps/RandomRuins/SandRuins/whitesands_surface_onlyaspoonful.dmm b/_maps/RandomRuins/SandRuins/whitesands_surface_onlyaspoonful.dmm index f74a8895976a..f84ccaf6c8ef 100644 --- a/_maps/RandomRuins/SandRuins/whitesands_surface_onlyaspoonful.dmm +++ b/_maps/RandomRuins/SandRuins/whitesands_surface_onlyaspoonful.dmm @@ -65,7 +65,7 @@ /area/ruin/powered) "ew" = ( /obj/effect/decal/cleanable/dirt/dust, -/mob/living/simple_animal/hostile/asteroid/whitesands/survivor, +/mob/living/simple_animal/hostile/human/hermit/survivor, /turf/open/floor/plastic, /area/ruin/powered) "eH" = ( @@ -155,7 +155,7 @@ /turf/open/floor/plastic, /area/ruin/powered) "hw" = ( -/mob/living/simple_animal/hostile/asteroid/whitesands/ranged/hunter, +/mob/living/simple_animal/hostile/human/hermit/ranged/hunter, /turf/open/floor/plastic, /area/ruin/powered) "hA" = ( @@ -318,7 +318,7 @@ pixel_y = 9 }, /obj/effect/decal/cleanable/blood/tracks, -/mob/living/simple_animal/hostile/asteroid/whitesands/ranged/gunslinger, +/mob/living/simple_animal/hostile/human/hermit/ranged/gunslinger, /turf/open/floor/plastic, /area/ruin/powered) "wr" = ( @@ -439,7 +439,7 @@ /turf/open/floor/plastic, /area/ruin/powered) "EC" = ( -/mob/living/simple_animal/hostile/asteroid/whitesands/ranged/hunter, +/mob/living/simple_animal/hostile/human/hermit/ranged/hunter, /turf/open/floor/plating/asteroid/whitesands, /area/overmap_encounter/planetoid/sand/explored) "Fi" = ( diff --git a/_maps/RandomRuins/SandRuins/whitesands_surface_pubbyslopcrash.dmm b/_maps/RandomRuins/SandRuins/whitesands_surface_pubbyslopcrash.dmm index 209709f2599b..e664dfec8d96 100644 --- a/_maps/RandomRuins/SandRuins/whitesands_surface_pubbyslopcrash.dmm +++ b/_maps/RandomRuins/SandRuins/whitesands_surface_pubbyslopcrash.dmm @@ -804,7 +804,7 @@ /obj/effect/decal/fakelattice{ icon_state = "lattice-2" }, -/mob/living/simple_animal/hostile/asteroid/whitesands/survivor{ +/mob/living/simple_animal/hostile/human/hermit/survivor{ dir = 1; faction = list("adobe"); desc = " A wild-eyed figure, wearing tattered mining equipment and boasting a malformed body, twisted by the heavy metals and high background radiation of the sandworlds. Their helmet also seems to be filled with vomit" @@ -1003,7 +1003,7 @@ /turf/open/floor/plasteel/tech, /area/ruin/whitesands/pubbycrash/engine_room) "xc" = ( -/mob/living/simple_animal/hostile/asteroid/whitesands/survivor{ +/mob/living/simple_animal/hostile/human/hermit/survivor{ dir = 4 }, /turf/open/floor/plating/asteroid/whitesands/lit, @@ -1145,7 +1145,7 @@ }, /obj/effect/decal/cleanable/dirt/dust, /obj/machinery/light/directional/west, -/mob/living/simple_animal/hostile/asteroid/whitesands/survivor{ +/mob/living/simple_animal/hostile/human/hermit/survivor{ dir = 1; faction = list("saloon") }, @@ -1744,7 +1744,7 @@ /obj/effect/turf_decal/spline/fancy/opaque/black{ dir = 1 }, -/mob/living/simple_animal/hostile/asteroid/whitesands/survivor{ +/mob/living/simple_animal/hostile/human/hermit/survivor{ faction = list("saloon") }, /turf/open/floor/plasteel/dark, @@ -1777,7 +1777,7 @@ /obj/effect/turf_decal/ntspaceworks_small/left{ dir = 4 }, -/mob/living/simple_animal/hostile/asteroid/whitesands/survivor{ +/mob/living/simple_animal/hostile/human/hermit/survivor{ dir = 4; faction = list("saloon") }, @@ -1946,7 +1946,7 @@ /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, /obj/machinery/atmospherics/pipe/simple/supply/hidden, /obj/effect/decal/cleanable/vomit/old, -/mob/living/simple_animal/hostile/asteroid/whitesands/survivor{ +/mob/living/simple_animal/hostile/human/hermit/survivor{ dir = 1; faction = list("saloon") }, @@ -1969,7 +1969,7 @@ /obj/machinery/atmospherics/pipe/simple/supply/hidden{ dir = 1 }, -/mob/living/simple_animal/hostile/asteroid/whitesands/survivor{ +/mob/living/simple_animal/hostile/human/hermit/survivor{ dir = 4; faction = list("adobe"); desc = " A wild-eyed figure, wearing tattered mining equipment and boasting a malformed body, twisted by the heavy metals and high background radiation of the sandworlds. Their helmet also seems to be filled with vomit" @@ -2060,7 +2060,7 @@ /turf/open/floor/plating/asteroid/whitesands/dried, /area/overmap_encounter/planetoid/cave/explored) "Qo" = ( -/mob/living/simple_animal/hostile/asteroid/whitesands/ranged, +/mob/living/simple_animal/hostile/human/hermit/ranged, /turf/open/floor/plating/asteroid/whitesands/dried, /area/overmap_encounter/planetoid/cave/explored) "Qu" = ( diff --git a/_maps/RandomRuins/SandRuins/whitesands_surface_starfurycrash.dmm b/_maps/RandomRuins/SandRuins/whitesands_surface_starfurycrash.dmm index bc8616028058..9e00376a8953 100644 --- a/_maps/RandomRuins/SandRuins/whitesands_surface_starfurycrash.dmm +++ b/_maps/RandomRuins/SandRuins/whitesands_surface_starfurycrash.dmm @@ -147,7 +147,7 @@ /obj/effect/turf_decal/industrial/traffic{ dir = 4 }, -/mob/living/simple_animal/hostile/syndicate/ranged/smg/space, +/mob/living/simple_animal/hostile/human/syndicate/ranged/smg/space, /turf/open/floor/engine{ initial_gas_mix = "ws_atmos" }, @@ -224,7 +224,7 @@ }, /area/overmap_encounter/planetoid/cave/explored) "mv" = ( -/mob/living/simple_animal/hostile/syndicate/ranged/space, +/mob/living/simple_animal/hostile/human/syndicate/ranged/space, /turf/open/floor/plating/asteroid/whitesands, /area/overmap_encounter/planetoid/cave/explored) "mP" = ( @@ -395,15 +395,15 @@ }, /area/overmap_encounter/planetoid/cave/explored) "wS" = ( -/mob/living/simple_animal/hostile/syndicate/ranged/smg/space, +/mob/living/simple_animal/hostile/human/syndicate/ranged/smg/space, /turf/open/floor/plating{ icon_state = "platingdmg2"; initial_gas_mix = "ws_atmos" }, /area/overmap_encounter/planetoid/cave/explored) "xr" = ( -/mob/living/simple_animal/hostile/syndicate/ranged/smg/space, -/mob/living/simple_animal/hostile/syndicate/ranged/space, +/mob/living/simple_animal/hostile/human/syndicate/ranged/smg/space, +/mob/living/simple_animal/hostile/human/syndicate/ranged/space, /turf/open/floor/plating{ icon_state = "platingdmg2"; initial_gas_mix = "ws_atmos" @@ -467,7 +467,7 @@ }, /area/overmap_encounter/planetoid/cave/explored) "Bt" = ( -/mob/living/simple_animal/hostile/syndicate/ranged/shotgun/space, +/mob/living/simple_animal/hostile/human/syndicate/ranged/shotgun/space, /turf/open/floor/plating{ icon_state = "platingdmg1"; initial_gas_mix = "ws_atmos" @@ -546,7 +546,7 @@ }, /area/overmap_encounter/planetoid/cave/explored) "Eu" = ( -/mob/living/simple_animal/hostile/syndicate/ranged/space/stormtrooper, +/mob/living/simple_animal/hostile/human/syndicate/ranged/space/stormtrooper, /turf/open/floor/plating{ icon_state = "panelscorched"; initial_gas_mix = "ws_atmos" @@ -632,7 +632,7 @@ }, /area/overmap_encounter/planetoid/cave/explored) "KR" = ( -/mob/living/simple_animal/hostile/syndicate/ranged/shotgun/space, +/mob/living/simple_animal/hostile/human/syndicate/ranged/shotgun/space, /turf/open/floor/plating/asteroid/whitesands, /area/overmap_encounter/planetoid/cave/explored) "KT" = ( @@ -645,7 +645,7 @@ }, /area/overmap_encounter/planetoid/cave/explored) "Md" = ( -/mob/living/simple_animal/hostile/syndicate/ranged/space, +/mob/living/simple_animal/hostile/human/syndicate/ranged/space, /turf/open/floor/plating{ initial_gas_mix = "ws_atmos" }, @@ -880,7 +880,7 @@ /area/overmap_encounter/planetoid/cave/explored) "Xh" = ( /obj/item/stack/tile/plasteel, -/mob/living/simple_animal/hostile/syndicate/ranged/space, +/mob/living/simple_animal/hostile/human/syndicate/ranged/space, /turf/open/floor/plating/asteroid/whitesands/dried, /area/overmap_encounter/planetoid/cave/explored) "XR" = ( diff --git a/_maps/RandomRuins/SpaceRuins/provinggrounds.dmm b/_maps/RandomRuins/SpaceRuins/provinggrounds.dmm index 7577cdeb99f5..83e662b69ad0 100644 --- a/_maps/RandomRuins/SpaceRuins/provinggrounds.dmm +++ b/_maps/RandomRuins/SpaceRuins/provinggrounds.dmm @@ -115,7 +115,7 @@ /turf/open/floor/plasteel/tech/techmaint, /area/ruin/space/has_grav/syndicircle/research) "du" = ( -/mob/living/simple_animal/hostile/syndicate/civilian{ +/mob/living/simple_animal/hostile/human/syndicate/civilian{ name = "Syndicate Researcher" }, /turf/open/floor/mineral/plastitanium/red, @@ -232,7 +232,7 @@ /turf/open/floor/plating/asteroid/snow/atmosphere, /area/ruin/space/has_grav/syndicircle/winter) "gz" = ( -/mob/living/simple_animal/hostile/syndicate/ranged/smg{ +/mob/living/simple_animal/hostile/human/syndicate/ranged/smg{ name = "REDFOR operative" }, /turf/open/floor/plating/asteroid/snow/atmosphere, @@ -309,7 +309,7 @@ /obj/structure/flippedtable{ dir = 4 }, -/mob/living/simple_animal/hostile/nanotrasen/ranged/smg{ +/mob/living/simple_animal/hostile/human/nanotrasen/ranged/smg{ name = "BLUFOR operative" }, /turf/open/floor/plasteel/tech, @@ -422,7 +422,7 @@ /turf/open/floor/mineral/plastitanium, /area/ruin/space/has_grav/syndicircle/halls) "lX" = ( -/mob/living/simple_animal/hostile/syndicate/ranged/infiltrator{ +/mob/living/simple_animal/hostile/human/syndicate/ranged/infiltrator{ name = "REDFOR operative" }, /turf/open/floor/plasteel/tech/techmaint, @@ -465,7 +465,7 @@ /area/ruin/space/has_grav/syndicircle/winter) "na" = ( /obj/structure/flippedtable, -/mob/living/simple_animal/hostile/nanotrasen/ranged/smg{ +/mob/living/simple_animal/hostile/human/nanotrasen/ranged/smg{ name = "BLUFOR operative" }, /obj/structure/cable{ @@ -497,7 +497,7 @@ /turf/open/floor/plating, /area/ruin/space/has_grav/syndicircle/winter) "ov" = ( -/mob/living/simple_animal/hostile/syndicate/civilian{ +/mob/living/simple_animal/hostile/human/syndicate/civilian{ name = "Syndicate Researcher" }, /obj/structure/cable{ @@ -561,7 +561,7 @@ /turf/closed/wall/mineral/plastitanium/nodiagonal, /area/ruin/space/has_grav/syndicircle/winter) "qv" = ( -/mob/living/simple_animal/hostile/syndicate/ranged/shotgun{ +/mob/living/simple_animal/hostile/human/syndicate/ranged/shotgun{ name = "REDFOR operative" }, /turf/open/floor/plating/ice, @@ -610,7 +610,7 @@ /obj/effect/turf_decal/ntlogo{ dir = 1 }, -/mob/living/simple_animal/hostile/syndicate/ranged/smg/space{ +/mob/living/simple_animal/hostile/human/syndicate/ranged/smg/space{ name = "REDFOR commando" }, /turf/open/floor/mineral/titanium/white, @@ -693,7 +693,7 @@ /obj/effect/turf_decal/ntlogo{ dir = 4 }, -/mob/living/simple_animal/hostile/syndicate/ranged/smg/space{ +/mob/living/simple_animal/hostile/human/syndicate/ranged/smg/space{ name = "REDFOR commando" }, /turf/open/floor/mineral/titanium/white, @@ -1222,7 +1222,7 @@ /obj/structure/cable{ icon_state = "4-8" }, -/mob/living/simple_animal/hostile/syndicate, +/mob/living/simple_animal/hostile/human/syndicate, /turf/open/floor/mineral/plastitanium, /area/ruin/space/has_grav/syndicircle/halls) "Fv" = ( @@ -1247,7 +1247,7 @@ /turf/open/floor/plasteel/tech/techmaint, /area/ruin/space/has_grav/syndicircle/research) "FM" = ( -/mob/living/simple_animal/hostile/syndicate/civilian{ +/mob/living/simple_animal/hostile/human/syndicate/civilian{ name = "Syndicate Researcher" }, /turf/open/floor/mineral/plastitanium, @@ -1304,7 +1304,7 @@ /turf/open/space/basic, /area/ruin/space/has_grav/syndicircle/halls) "HC" = ( -/mob/living/simple_animal/hostile/syndicate/civilian{ +/mob/living/simple_animal/hostile/human/syndicate/civilian{ name = "Syndicate Researcher" }, /obj/structure/cable{ @@ -1507,7 +1507,7 @@ /area/ruin/space/has_grav/syndicircle/training) "MP" = ( /obj/effect/decal/cleanable/dirt, -/mob/living/simple_animal/hostile/syndicate/ranged/smg/space{ +/mob/living/simple_animal/hostile/human/syndicate/ranged/smg/space{ name = "REDFOR commando" }, /obj/item/storage/backpack/duffelbag/syndie/c4, @@ -1608,7 +1608,7 @@ /turf/open/floor/plating/dirt/jungle/wasteland, /area/ruin/space/has_grav/syndicircle/training) "Rj" = ( -/mob/living/simple_animal/hostile/syndicate, +/mob/living/simple_animal/hostile/human/syndicate, /turf/open/floor/mineral/plastitanium, /area/ruin/space/has_grav/syndicircle/halls) "Rs" = ( @@ -1670,7 +1670,7 @@ /obj/structure/chair/comfy/shuttle{ dir = 8 }, -/mob/living/simple_animal/hostile/nanotrasen/ranged{ +/mob/living/simple_animal/hostile/human/nanotrasen/ranged{ name = "BLUFOR operative" }, /turf/open/floor/mineral/titanium, @@ -1705,7 +1705,7 @@ dir = 4 }, /obj/effect/decal/cleanable/dirt, -/mob/living/simple_animal/hostile/nanotrasen/ranged{ +/mob/living/simple_animal/hostile/human/nanotrasen/ranged{ name = "BLUFOR operative" }, /turf/open/floor/mineral/titanium, @@ -1756,7 +1756,7 @@ /turf/open/floor/mineral/plastitanium/red, /area/ruin/space/has_grav/syndicircle/halls) "UA" = ( -/mob/living/simple_animal/hostile/syndicate, +/mob/living/simple_animal/hostile/human/syndicate, /turf/open/floor/mineral/plastitanium/red, /area/ruin/space/has_grav/syndicircle/halls) "UI" = ( @@ -1794,7 +1794,7 @@ /obj/structure/chair/comfy/shuttle{ dir = 4 }, -/mob/living/simple_animal/hostile/nanotrasen/ranged{ +/mob/living/simple_animal/hostile/human/nanotrasen/ranged{ name = "BLUFOR operative" }, /turf/open/floor/mineral/titanium, @@ -1931,7 +1931,7 @@ /turf/open/floor/mineral/plastitanium, /area/ruin/space/has_grav/syndicircle/halls) "XW" = ( -/mob/living/simple_animal/hostile/syndicate/melee/space{ +/mob/living/simple_animal/hostile/human/syndicate/melee/space{ name = "REDFOR commando" }, /turf/open/space, @@ -1950,7 +1950,7 @@ /area/ruin/space/has_grav/syndicircle/escape) "Yr" = ( /obj/structure/chair/comfy/shuttle, -/mob/living/simple_animal/hostile/syndicate/mecha_pilot/no_mech/nanotrasen{ +/mob/living/simple_animal/hostile/human/syndicate/mecha_pilot/no_mech/nanotrasen{ name = "BLUFOR Pilot" }, /turf/open/floor/mineral/titanium/blue, @@ -2027,7 +2027,7 @@ /area/ruin/space/has_grav/syndicircle/halls) "ZU" = ( /obj/effect/decal/cleanable/dirt, -/mob/living/simple_animal/hostile/syndicate/ranged/smg/space{ +/mob/living/simple_animal/hostile/human/syndicate/ranged/smg/space{ name = "REDFOR commando" }, /turf/open/floor/plating/asteroid/airless, diff --git a/_maps/RandomRuins/WasteRuins/wasteplanet_abandoned_mechbay.dmm b/_maps/RandomRuins/WasteRuins/wasteplanet_abandoned_mechbay.dmm index 20301b381145..31c53d09a82e 100644 --- a/_maps/RandomRuins/WasteRuins/wasteplanet_abandoned_mechbay.dmm +++ b/_maps/RandomRuins/WasteRuins/wasteplanet_abandoned_mechbay.dmm @@ -480,7 +480,7 @@ /area/ruin/wasteplanet/abandoned_mechbay/bay1) "fe" = ( /obj/effect/decal/cleanable/dirt/dust, -/mob/living/simple_animal/hostile/syndicate/melee{ +/mob/living/simple_animal/hostile/human/syndicate/melee{ name = "Syndicate Mech Pilot" }, /turf/open/floor/concrete/slab_1, @@ -1376,7 +1376,7 @@ dir = 4 }, /obj/effect/decal/cleanable/plastic, -/mob/living/simple_animal/hostile/syndicate/ranged/shotgun, +/mob/living/simple_animal/hostile/human/syndicate/ranged/shotgun, /turf/open/floor/plasteel/dark, /area/ruin/wasteplanet/abandoned_mechbay/mechlab) "pA" = ( @@ -1499,7 +1499,7 @@ /obj/structure/cable{ icon_state = "1-2" }, -/mob/living/simple_animal/hostile/syndicate{ +/mob/living/simple_animal/hostile/human/syndicate{ name = "Syndicate Engineer"; desc = "Death to bad mechanics." }, @@ -1558,7 +1558,7 @@ /area/ruin/wasteplanet/abandoned_mechbay/bay1) "rT" = ( /obj/structure/chair/sofa/brown/right/directional/south, -/mob/living/simple_animal/hostile/syndicate{ +/mob/living/simple_animal/hostile/human/syndicate{ name = "Syndicate Engineer"; desc = "Death to bad mechanics." }, @@ -1779,7 +1779,7 @@ /obj/machinery/camera/autoname{ dir = 4 }, -/mob/living/simple_animal/hostile/syndicate/ranged/smg/space, +/mob/living/simple_animal/hostile/human/syndicate/ranged/smg/space, /turf/open/floor/plasteel/tech/techmaint, /area/ruin/wasteplanet/abandoned_mechbay/crewquarters) "uM" = ( @@ -1907,7 +1907,7 @@ /obj/structure/cable{ icon_state = "1-2" }, -/mob/living/simple_animal/hostile/syndicate/ranged/shotgun, +/mob/living/simple_animal/hostile/human/syndicate/ranged/shotgun, /turf/open/floor/plasteel/dark, /area/ruin/wasteplanet/abandoned_mechbay/mechlab) "vS" = ( @@ -2047,7 +2047,7 @@ /obj/structure/cable{ icon_state = "0-4" }, -/mob/living/simple_animal/hostile/syndicate{ +/mob/living/simple_animal/hostile/human/syndicate{ name = "Syndicate Launderer"; desc = "Death to Dirty Laundry?" }, @@ -2180,7 +2180,7 @@ dir = 8 }, /obj/machinery/light/floor, -/mob/living/simple_animal/hostile/syndicate/ranged/smg/space, +/mob/living/simple_animal/hostile/human/syndicate/ranged/smg/space, /obj/machinery/door/firedoor/border_only{ dir = 8 }, @@ -2473,7 +2473,7 @@ pixel_y = 19 }, /obj/structure/curtain, -/mob/living/simple_animal/hostile/syndicate/civilian{ +/mob/living/simple_animal/hostile/human/syndicate/civilian{ desc = "Can an armored mook not shower in peace?" }, /turf/open/floor/carpet/blue, @@ -2722,7 +2722,7 @@ dir = 1 }, /obj/effect/decal/cleanable/dirt, -/mob/living/simple_animal/hostile/syndicate/melee{ +/mob/living/simple_animal/hostile/human/syndicate/melee{ name = "Syndicate Mech Pilot" }, /turf/open/floor/plasteel/tech/techmaint, @@ -2770,7 +2770,7 @@ /area/overmap_encounter/planetoid/cave/explored) "Hj" = ( /obj/machinery/light/dim/directional/south, -/mob/living/simple_animal/hostile/syndicate/melee{ +/mob/living/simple_animal/hostile/human/syndicate/melee{ name = "Syndicate Mech Pilot" }, /turf/open/floor/plasteel/tech/techmaint, @@ -3015,7 +3015,7 @@ }, /obj/effect/decal/cleanable/dirt/dust, /obj/machinery/light/directional/south, -/mob/living/simple_animal/hostile/syndicate/melee{ +/mob/living/simple_animal/hostile/human/syndicate/melee{ name = "Syndicate Mech Pilot" }, /turf/open/floor/plasteel/dark, @@ -3056,7 +3056,7 @@ /obj/effect/turf_decal/industrial/warning{ dir = 8 }, -/mob/living/simple_animal/hostile/syndicate{ +/mob/living/simple_animal/hostile/human/syndicate{ name = "Syndicate Engineer"; desc = "Death to bad mechanics." }, @@ -3375,7 +3375,7 @@ }, /obj/effect/decal/cleanable/dirt, /obj/item/radio/intercom/directional/west, -/mob/living/simple_animal/hostile/syndicate{ +/mob/living/simple_animal/hostile/human/syndicate{ name = "Syndicate Engineer"; desc = "Death to bad mechanics." }, diff --git a/_maps/RandomRuins/WasteRuins/wasteplanet_fortress_of_solitide.dmm b/_maps/RandomRuins/WasteRuins/wasteplanet_fortress_of_solitide.dmm index 73735c65542b..6aa83a87ca32 100644 --- a/_maps/RandomRuins/WasteRuins/wasteplanet_fortress_of_solitide.dmm +++ b/_maps/RandomRuins/WasteRuins/wasteplanet_fortress_of_solitide.dmm @@ -2100,7 +2100,7 @@ /obj/structure/chair/wood{ dir = 8 }, -/mob/living/simple_animal/hostile/frontier{ +/mob/living/simple_animal/hostile/human/frontier{ dir = 8 }, /turf/open/floor/wood, @@ -5549,7 +5549,7 @@ /turf/open/floor/plating, /area/ruin/powered) "Zo" = ( -/mob/living/simple_animal/hostile/cat_butcherer{ +/mob/living/simple_animal/hostile/human/cat_butcherer{ dir = 4 }, /obj/effect/decal/cleanable/blood, diff --git a/_maps/RandomRuins/WasteRuins/wasteplanet_pandora.dmm b/_maps/RandomRuins/WasteRuins/wasteplanet_pandora.dmm index b6298e29f39d..a880d2947ae2 100644 --- a/_maps/RandomRuins/WasteRuins/wasteplanet_pandora.dmm +++ b/_maps/RandomRuins/WasteRuins/wasteplanet_pandora.dmm @@ -659,7 +659,7 @@ /turf/open/floor/mineral/titanium/white, /area/ruin/wasteplanet) "Bb" = ( -/mob/living/simple_animal/hostile/skeleton{ +/mob/living/simple_animal/hostile/human/skeleton{ desc = "A villager resurrected by the power of an unknown deity, eternally seeking vengeance for its people." }, /turf/open/floor/plating/dirt/old/waste, @@ -791,7 +791,7 @@ /turf/open/indestructible/hierophant/waste, /area/ruin/wasteplanet) "Fc" = ( -/mob/living/simple_animal/hostile/skeleton{ +/mob/living/simple_animal/hostile/human/skeleton{ desc = "A villager resurrected by the power of an unknown deity, eternally seeking vengeance for its people." }, /turf/open/floor/wood/waste, @@ -1378,7 +1378,7 @@ /turf/open/indestructible/hierophant/waste, /area/ruin/wasteplanet) "Xq" = ( -/mob/living/simple_animal/hostile/skeleton{ +/mob/living/simple_animal/hostile/human/skeleton{ desc = "A villager resurrected by the power of an unknown deity, eternally seeking vengeance for its people." }, /turf/open/floor/plating/grass/wasteplanet, diff --git a/code/controllers/subsystem/traumas.dm b/code/controllers/subsystem/traumas.dm index d60eff11f391..8e3cc4a371af 100644 --- a/code/controllers/subsystem/traumas.dm +++ b/code/controllers/subsystem/traumas.dm @@ -41,7 +41,7 @@ SUBSYSTEM_DEF(traumas) "spiders" = typecacheof(list(/mob/living/simple_animal/hostile/poison/giant_spider)), "security" = typecacheof(list(/mob/living/simple_animal/bot/secbot)), "lizards" = typecacheof(list(/mob/living/simple_animal/hostile/lizard)), - "skeletons" = typecacheof(list(/mob/living/simple_animal/hostile/skeleton)), + "skeletons" = typecacheof(list(/mob/living/simple_animal/hostile/human/skeleton)), "snakes" = typecacheof(list(/mob/living/simple_animal/hostile/retaliate/poison/snake)), "robots" = typecacheof(list(/mob/living/silicon/robot, /mob/living/silicon/ai, /mob/living/simple_animal/drone, /mob/living/simple_animal/bot, /mob/living/simple_animal/hostile/swarmer)), diff --git a/code/datums/mapgen/planetary/SandGenerator.dm b/code/datums/mapgen/planetary/SandGenerator.dm index 442daa0c7705..91fad1430a47 100644 --- a/code/datums/mapgen/planetary/SandGenerator.dm +++ b/code/datums/mapgen/planetary/SandGenerator.dm @@ -103,7 +103,7 @@ /mob/living/simple_animal/hostile/asteroid/goliath/beast/random = 50, /mob/living/simple_animal/hostile/asteroid/basilisk/whitesands = 40, /mob/living/simple_animal/hostile/asteroid/hivelord/legion/random = 30, - /mob/living/simple_animal/hostile/asteroid/whitesands/survivor/random = 25, + /mob/living/simple_animal/hostile/human/hermit/survivor/random = 25, ) /datum/biome/sand/wasteland @@ -135,7 +135,7 @@ ) mob_spawn_chance = 1 mob_spawn_list = list( - /mob/living/simple_animal/hostile/asteroid/whitesands/survivor/random = 1, + /mob/living/simple_animal/hostile/human/hermit/survivor/random = 1, ) /datum/biome/sand/grass/dead @@ -169,7 +169,7 @@ /mob/living/simple_animal/hostile/asteroid/goliath/beast/random = 40, /mob/living/simple_animal/hostile/asteroid/basilisk/whitesands = 30, /mob/living/simple_animal/hostile/asteroid/hivelord/legion/random = 20, - /mob/living/simple_animal/hostile/asteroid/whitesands/survivor/random = 40, + /mob/living/simple_animal/hostile/human/hermit/survivor/random = 40, ) /datum/biome/sand/acid //plains diff --git a/code/game/machinery/computer/arcade.dm b/code/game/machinery/computer/arcade.dm index b665a36bcf32..d7f80fc45680 100644 --- a/code/game/machinery/computer/arcade.dm +++ b/code/game/machinery/computer/arcade.dm @@ -867,7 +867,7 @@ GLOBAL_LIST_INIT(arcade_prize_pool, list( say("WEEWOO! WEEWOO! Spaceport security en route!") playsound(src, 'sound/items/weeoo1.ogg', 100, FALSE) for(var/i, i<=3, i++) - var/mob/living/simple_animal/hostile/syndicate/ranged/smg/orion/O = new/mob/living/simple_animal/hostile/syndicate/ranged/smg/orion(get_turf(src)) + var/mob/living/simple_animal/hostile/human/syndicate/ranged/smg/orion/O = new/mob/living/simple_animal/hostile/human/syndicate/ranged/smg/orion(get_turf(src)) O.target = usr @@ -1242,7 +1242,7 @@ GLOBAL_LIST_INIT(arcade_prize_pool, list( newgame() obj_flags |= EMAGGED -/mob/living/simple_animal/hostile/syndicate/ranged/smg/orion +/mob/living/simple_animal/hostile/human/syndicate/ranged/smg/orion name = "spaceport security" desc = "Premier corporate security forces for all spaceports found along the Orion Trail." faction = list("orion") diff --git a/code/game/mecha/mecha.dm b/code/game/mecha/mecha.dm index d2c712d32ea8..88c2ca721da2 100644 --- a/code/game/mecha/mecha.dm +++ b/code/game/mecha/mecha.dm @@ -831,7 +831,7 @@ //An actual AI (simple_animal mecha pilot) entering the mech -/obj/mecha/proc/aimob_enter_mech(mob/living/simple_animal/hostile/syndicate/mecha_pilot/pilot_mob) +/obj/mecha/proc/aimob_enter_mech(mob/living/simple_animal/hostile/human/syndicate/mecha_pilot/pilot_mob) if(pilot_mob && pilot_mob.Adjacent(src)) if(occupant) return @@ -841,7 +841,7 @@ pilot_mob.forceMove(src) GrantActions(pilot_mob)//needed for checks, and incase a badmin puts somebody in the mob -/obj/mecha/proc/aimob_exit_mech(mob/living/simple_animal/hostile/syndicate/mecha_pilot/pilot_mob) +/obj/mecha/proc/aimob_exit_mech(mob/living/simple_animal/hostile/human/syndicate/mecha_pilot/pilot_mob) if(occupant == pilot_mob) occupant = null if(pilot_mob.mecha == src) diff --git a/code/game/objects/structures/icemoon/cave_entrance.dm b/code/game/objects/structures/icemoon/cave_entrance.dm index 07ecef04afac..0ec3f36e5e70 100644 --- a/code/game/objects/structures/icemoon/cave_entrance.dm +++ b/code/game/objects/structures/icemoon/cave_entrance.dm @@ -312,18 +312,18 @@ GLOBAL_LIST_INIT(ore_probability, list( playsound(loc,'sound/ambience/ambiholy.ogg', 100, FALSE, 50, TRUE, TRUE) if(prob(30)) new /obj/item/reagent_containers/glass/bottle/potion/flight(loc) - new /mob/living/simple_animal/hostile/skeleton/templar(loc) + new /mob/living/simple_animal/hostile/human/skeleton/templar(loc) else new /obj/item/clothing/neck/memento_mori(loc) - new /mob/living/simple_animal/hostile/skeleton(loc) - new /mob/living/simple_animal/hostile/skeleton/templar(loc) + new /mob/living/simple_animal/hostile/human/skeleton(loc) + new /mob/living/simple_animal/hostile/human/skeleton/templar(loc) if(prob(35)) new /obj/item/storage/box/holy_grenades(loc) - new /mob/living/simple_animal/hostile/skeleton/templar(loc) - new /mob/living/simple_animal/hostile/skeleton/templar(loc) + new /mob/living/simple_animal/hostile/human/skeleton/templar(loc) + new /mob/living/simple_animal/hostile/human/skeleton/templar(loc) if(prob(40)) new /obj/item/claymore(loc) - new /mob/living/simple_animal/hostile/skeleton/templar(loc) + new /mob/living/simple_animal/hostile/human/skeleton/templar(loc) if(prob(45)) new /obj/item/gun/ballistic/bow(loc) new /obj/item/storage/bag/quiver(loc) @@ -332,38 +332,38 @@ GLOBAL_LIST_INIT(ore_probability, list( new /obj/item/ammo_casing/caseless/arrow/bronze(loc) new /obj/item/ammo_casing/caseless/arrow/bronze(loc) new /obj/item/ammo_casing/caseless/arrow/bronze(loc) - new /mob/living/simple_animal/hostile/skeleton/templar(loc) - new /mob/living/simple_animal/hostile/skeleton(loc) + new /mob/living/simple_animal/hostile/human/skeleton/templar(loc) + new /mob/living/simple_animal/hostile/human/skeleton(loc) if(prob(30)) new /obj/item/stack/sheet/mineral/wood/fifty(loc) - new /mob/living/simple_animal/hostile/skeleton(loc) - new /mob/living/simple_animal/hostile/skeleton(loc) + new /mob/living/simple_animal/hostile/human/skeleton(loc) + new /mob/living/simple_animal/hostile/human/skeleton(loc) if(prob(35)) new /obj/item/staff/bostaff(loc) - new /mob/living/simple_animal/hostile/skeleton(loc) - new /mob/living/simple_animal/hostile/skeleton(loc) + new /mob/living/simple_animal/hostile/human/skeleton(loc) + new /mob/living/simple_animal/hostile/human/skeleton(loc) if(prob(45)) new /obj/item/disk/design_disk/adv/cleric_mace(loc) - new /mob/living/simple_animal/hostile/skeleton(loc) - new /mob/living/simple_animal/hostile/skeleton(loc) + new /mob/living/simple_animal/hostile/human/skeleton(loc) + new /mob/living/simple_animal/hostile/human/skeleton(loc) if(prob(25)) new /obj/item/shield/riot/roman(loc) - new /mob/living/simple_animal/hostile/skeleton(loc) + new /mob/living/simple_animal/hostile/human/skeleton(loc) if(prob(55)) new /obj/item/clothing/suit/armor/riot/knight/blue(loc) new /obj/item/clothing/head/helmet/knight/blue(loc) - new /mob/living/simple_animal/hostile/skeleton(loc) - new /mob/living/simple_animal/hostile/skeleton(loc) + new /mob/living/simple_animal/hostile/human/skeleton(loc) + new /mob/living/simple_animal/hostile/human/skeleton(loc) if(prob(35)) new /obj/item/disk/design_disk/adv/knight_gear(loc) - new /mob/living/simple_animal/hostile/skeleton(loc) - new /mob/living/simple_animal/hostile/skeleton(loc) + new /mob/living/simple_animal/hostile/human/skeleton(loc) + new /mob/living/simple_animal/hostile/human/skeleton(loc) new /obj/item/instrument/trombone(loc) new /obj/item/stack/sheet/bone(loc) new /obj/item/stack/sheet/bone(loc) new /obj/item/stack/sheet/bone(loc) new /obj/item/stack/sheet/bone(loc) - new /mob/living/simple_animal/hostile/skeleton/templar(loc) + new /mob/living/simple_animal/hostile/human/skeleton/templar(loc) new /turf/open/floor/mineral/silver(loc) if(4)//syndicate incursion. Again, high-quality loot at low chances, this time with excessive levels of danger visible_message("Radio chatter echoes out from the portal. Red-garbed figures step through, weapons raised.") @@ -372,74 +372,74 @@ GLOBAL_LIST_INIT(ore_probability, list( if(prob(35)) if(prob(15)) new /obj/item/clothing/suit/space/hardsuit/syndi/elite(loc) - new /mob/living/simple_animal/hostile/syndicate/ranged/smg/space(loc) + new /mob/living/simple_animal/hostile/human/syndicate/ranged/smg/space(loc) else if(prob(50)) new /obj/item/clothing/suit/space/hardsuit/syndi(loc) - new /mob/living/simple_animal/hostile/syndicate/ranged/smg/space(loc) + new /mob/living/simple_animal/hostile/human/syndicate/ranged/smg/space(loc) else new /obj/item/clothing/suit/space/hardsuit/syndi(loc) - new /mob/living/simple_animal/hostile/syndicate/ranged/smg/space(loc) - new /mob/living/simple_animal/hostile/syndicate/ranged/smg/space(loc) + new /mob/living/simple_animal/hostile/human/syndicate/ranged/smg/space(loc) + new /mob/living/simple_animal/hostile/human/syndicate/ranged/smg/space(loc) if(prob(25))//the real prize new /obj/effect/spawner/lootdrop/donkpockets(loc) new /obj/effect/spawner/lootdrop/donkpockets(loc) new /obj/effect/spawner/lootdrop/donkpockets(loc) if(prob(35)) new /obj/item/clothing/shoes/magboots/syndie(loc) - new /mob/living/simple_animal/hostile/syndicate/ranged/smg/space(loc) + new /mob/living/simple_animal/hostile/human/syndicate/ranged/smg/space(loc) if(prob(25)) new /obj/item/gun/ballistic/automatic/pistol/suppressed(loc) new /obj/item/ammo_box/magazine/ - new /mob/living/simple_animal/hostile/syndicate/melee/sword(loc) + new /mob/living/simple_animal/hostile/human/syndicate/melee/sword(loc) if(prob(25)) new /obj/item/gun/ballistic/automatic/pistol/tec9(loc) new /obj/item/ammo_box/magazine/tec9(loc) new /obj/item/ammo_box/magazine/tec9(loc) - new /mob/living/simple_animal/hostile/syndicate/melee/sword(loc) + new /mob/living/simple_animal/hostile/human/syndicate/melee/sword(loc) if(prob(35)) new /obj/item/clothing/gloves/rapid(loc) - new /mob/living/simple_animal/hostile/syndicate/melee/sword/space(loc) - new /mob/living/simple_animal/hostile/syndicate/ranged/smg/space(loc) + new /mob/living/simple_animal/hostile/human/syndicate/melee/sword/space(loc) + new /mob/living/simple_animal/hostile/human/syndicate/ranged/smg/space(loc) if(prob(35)) new /obj/item/wrench/combat(loc) new /obj/item/storage/toolbox/syndicate(loc) - new /mob/living/simple_animal/hostile/syndicate/melee/sword/space(loc) + new /mob/living/simple_animal/hostile/human/syndicate/melee/sword/space(loc) if(prob(35)) new /obj/item/storage/fancy/cigarettes/cigpack_syndicate(loc) if(prob(35)) new /obj/item/borg/upgrade/transform/assault(loc) - new /mob/living/simple_animal/hostile/syndicate/ranged/smg(loc) + new /mob/living/simple_animal/hostile/human/syndicate/ranged/smg(loc) if(prob(25)) - new /mob/living/simple_animal/hostile/syndicate/ranged/smg(loc) - new /mob/living/simple_animal/hostile/syndicate/ranged/smg/space(loc) + new /mob/living/simple_animal/hostile/human/syndicate/ranged/smg(loc) + new /mob/living/simple_animal/hostile/human/syndicate/ranged/smg/space(loc) if(prob(25)) - new /mob/living/simple_animal/hostile/syndicate/melee/sword/space(loc) - new /mob/living/simple_animal/hostile/syndicate/ranged/smg/space(loc) + new /mob/living/simple_animal/hostile/human/syndicate/melee/sword/space(loc) + new /mob/living/simple_animal/hostile/human/syndicate/ranged/smg/space(loc) if(prob(25)) - new /mob/living/simple_animal/hostile/syndicate/melee/sword(loc) + new /mob/living/simple_animal/hostile/human/syndicate/melee/sword(loc) new /obj/item/storage/backpack/duffelbag/syndie/c4(loc) if(prob(35)) new /obj/item/storage/belt/military(loc) - new /mob/living/simple_animal/hostile/syndicate/ranged/smg(loc) + new /mob/living/simple_animal/hostile/human/syndicate/ranged/smg(loc) if(prob(35)) new /obj/item/kinetic_crusher/syndie_crusher(loc) - new /mob/living/simple_animal/hostile/syndicate/ranged/smg(loc) - new /mob/living/simple_animal/hostile/syndicate/ranged/smg/space(loc) + new /mob/living/simple_animal/hostile/human/syndicate/ranged/smg(loc) + new /mob/living/simple_animal/hostile/human/syndicate/ranged/smg/space(loc) if(prob(25)) new /obj/item/card/id/syndicate/anyone(loc) if(prob(35)) new /obj/item/clothing/glasses/thermal/syndi(loc) - new /mob/living/simple_animal/hostile/syndicate/melee/sword(loc) + new /mob/living/simple_animal/hostile/human/syndicate/melee/sword(loc) if(prob(35)) new /obj/item/reagent_containers/hypospray(loc) - new /mob/living/simple_animal/hostile/syndicate/ranged/shotgun(loc) - new /mob/living/simple_animal/hostile/syndicate/melee/sword(loc) + new /mob/living/simple_animal/hostile/human/syndicate/ranged/shotgun(loc) + new /mob/living/simple_animal/hostile/human/syndicate/melee/sword(loc) if(prob(25)) new /obj/item/card/emag(loc) - new /mob/living/simple_animal/hostile/syndicate/melee/sword(loc) - new /mob/living/simple_animal/hostile/syndicate/ranged/smg/space(loc) - new /mob/living/simple_animal/hostile/syndicate/melee/sword/space(loc) + new /mob/living/simple_animal/hostile/human/syndicate/melee/sword(loc) + new /mob/living/simple_animal/hostile/human/syndicate/ranged/smg/space(loc) + new /mob/living/simple_animal/hostile/human/syndicate/melee/sword/space(loc) new /turf/open/floor/mineral/plastitanium/red(loc) if(5)//;HELP BLOB IN MEDICAL visible_message("You hear a robotic voice saying something about a \"Delta-level biohazard\".") diff --git a/code/game/objects/structures/spawner.dm b/code/game/objects/structures/spawner.dm index 9773221f0c22..a5369a547d39 100644 --- a/code/game/objects/structures/spawner.dm +++ b/code/game/objects/structures/spawner.dm @@ -59,7 +59,7 @@ GLOBAL_LIST_INIT(astroloot, list( icon = 'icons/obj/device.dmi' icon_state = "syndbeacon" spawn_text = "warps in from" - mob_types = list(/mob/living/simple_animal/hostile/syndicate/ranged) + mob_types = list(/mob/living/simple_animal/hostile/human/syndicate/ranged) faction = list(ROLE_SYNDICATE) /obj/structure/spawner/skeleton @@ -68,7 +68,7 @@ GLOBAL_LIST_INIT(astroloot, list( max_integrity = 150 max_mobs = 15 spawn_time = 150 - mob_types = list(/mob/living/simple_animal/hostile/skeleton) + mob_types = list(/mob/living/simple_animal/hostile/human/skeleton) spawn_text = "climbs out of" faction = list("skeleton") diff --git a/code/modules/awaymissions/mission_code/spacebattle.dm b/code/modules/awaymissions/mission_code/spacebattle.dm index dee4def256b0..efe429b86b73 100644 --- a/code/modules/awaymissions/mission_code/spacebattle.dm +++ b/code/modules/awaymissions/mission_code/spacebattle.dm @@ -41,11 +41,11 @@ name = "Hidden Chamber" icon_state = "awaycontent10" -/mob/living/simple_animal/hostile/syndicate/ranged/spacebattle +/mob/living/simple_animal/hostile/human/syndicate/ranged/spacebattle loot = list(/obj/effect/mob_spawn/human/corpse/syndicatesoldier, /obj/item/gun/ballistic/automatic/smg/c20r, /obj/item/shield/energy) -/mob/living/simple_animal/hostile/syndicate/melee/spacebattle +/mob/living/simple_animal/hostile/human/syndicate/melee/spacebattle deathmessage = "falls limp as they release their grip from the energy weapons, activating their self-destruct function!" loot = list(/obj/effect/mob_spawn/human/corpse/syndicatesoldier) diff --git a/code/modules/mob/living/simple_animal/hostile/human/cat_butcher.dm b/code/modules/mob/living/simple_animal/hostile/human/cat_butcher.dm index 8da384aaca4b..80c2ee22f3ef 100644 --- a/code/modules/mob/living/simple_animal/hostile/human/cat_butcher.dm +++ b/code/modules/mob/living/simple_animal/hostile/human/cat_butcher.dm @@ -1,41 +1,27 @@ -/mob/living/simple_animal/hostile/cat_butcherer +/mob/living/simple_animal/hostile/human/cat_butcherer name = "Cat Surgeon" desc = "Feline genemod physiological modification surgery is outlawed in Nanotrasen-controlled sectors. This doctor doesn't seem to care, and thus, is wanted for several warcrimes." - icon = 'icons/mob/simple_human.dmi' icon_state = "cat_butcher" icon_living = "cat_butcher" - icon_dead = "syndicate_dead" - icon_gib = "syndicate_gib" projectiletype = /obj/projectile/bullet/dart/tranq projectilesound = 'sound/items/syringeproj.ogg' ranged = 1 ranged_message = "fires the syringe gun at" ranged_cooldown_time = 30 speak_chance = 0 - turns_per_move = 5 - speed = 0 stat_attack = HARD_CRIT - robust_searching = 1 - maxHealth = 100 - health = 100 - harm_intent_damage = 5 melee_damage_lower = 15 melee_damage_upper = 15 attack_verb_continuous = "slashes at" attack_verb_simple = "slash at" attack_sound = 'sound/weapons/circsawhit.ogg' - a_intent = INTENT_HARM - mob_biotypes = MOB_ORGANIC|MOB_HUMANOID loot = list(/obj/effect/mob_spawn/human/corpse/cat_butcher, /obj/item/circular_saw, /obj/item/gun/syringe) atmos_requirements = list("min_oxy" = 5, "max_oxy" = 0, "min_tox" = 0, "max_tox" = 1, "min_co2" = 0, "max_co2" = 5, "min_n2" = 0, "max_n2" = 0) - unsuitable_atmos_damage = 15 faction = list("hostile") check_friendly_fire = 1 - status_flags = CANPUSH - del_on_death = 1 var/impatience = 0 -/mob/living/simple_animal/hostile/cat_butcherer/CanAttack(atom/the_target) +/mob/living/simple_animal/hostile/human/cat_butcherer/CanAttack(atom/the_target) if(iscarbon(target)) var/mob/living/carbon/human/C = target if(C.getorgan(/obj/item/organ/ears/cat) && C.getorgan(/obj/item/organ/tail/cat) && C.has_trauma_type(/datum/brain_trauma/severe/pacifism))//he wont attack his creations @@ -45,7 +31,7 @@ return FALSE return ..() -/mob/living/simple_animal/hostile/cat_butcherer/AttackingTarget() +/mob/living/simple_animal/hostile/human/cat_butcherer/AttackingTarget() if(iscarbon(target)) var/mob/living/carbon/human/L = target if(!L.getorgan(/obj/item/organ/ears/cat) && L.stat >= UNCONSCIOUS) //target doesnt have cat ears diff --git a/code/modules/mob/living/simple_animal/hostile/human/frontiersman.dm b/code/modules/mob/living/simple_animal/hostile/human/frontiersman.dm index 213cd8c2b822..2404a763363c 100644 --- a/code/modules/mob/living/simple_animal/hostile/human/frontiersman.dm +++ b/code/modules/mob/living/simple_animal/hostile/human/frontiersman.dm @@ -1,36 +1,20 @@ -/mob/living/simple_animal/hostile/frontier +/mob/living/simple_animal/hostile/human/frontier name = "Frontiersman" desc = "A frontiersman! A terrorist that would probably kill everyone without mercy." - icon = 'icons/mob/simple_human.dmi' icon_state = "frontiersmanmelee" icon_living = "frontiersmanmelee" icon_dead = "frontiersmanmelee_dead" - icon_gib = "syndicate_gib" - mob_biotypes = MOB_ORGANIC|MOB_HUMANOID speak_chance = 0 - turns_per_move = 5 - speed = 0 - maxHealth = 100 - health = 100 harm_intent_damage = 5 melee_damage_lower = 15 melee_damage_upper = 15 - attack_verb_continuous = "punches" - attack_verb_simple = "punch" - attack_sound = 'sound/weapons/punch1.ogg' a_intent = INTENT_HARM loot = list(/obj/effect/mob_spawn/human/corpse/frontier, /obj/item/kitchen/knife) atmos_requirements = list("min_oxy" = 5, "max_oxy" = 0, "min_tox" = 0, "max_tox" = 1, "min_co2" = 0, "max_co2" = 5, "min_n2" = 0, "max_n2" = 0) - unsuitable_atmos_damage = 15 faction = list(FACTION_ANTAG_FRONTIERSMEN) - status_flags = CANPUSH - del_on_death = 1 - footstep_type = FOOTSTEP_MOB_SHOE - - -/mob/living/simple_animal/hostile/frontier/ranged +/mob/living/simple_animal/hostile/human/frontier/ranged icon_state = "frontiersmanranged" icon_living = "frontiersmanranged" loot = list(/obj/effect/mob_spawn/human/corpse/frontier/ranged, @@ -41,10 +25,10 @@ projectilesound = 'sound/weapons/gun/revolver/shot.ogg' casingtype = /obj/item/ammo_casing/a357 -/mob/living/simple_animal/hostile/frontier/ranged/neutered +/mob/living/simple_animal/hostile/human/frontier/ranged/neutered loot = list(/obj/effect/mob_spawn/human/corpse/frontier/ranged) -/mob/living/simple_animal/hostile/frontier/ranged/mosin +/mob/living/simple_animal/hostile/human/frontier/ranged/mosin icon_state = "frontiersmanrangedrifle" icon_living = "frontiersmanrangedrifle" loot = list(/obj/effect/mob_spawn/human/corpse/frontier/ranged, @@ -52,10 +36,10 @@ casingtype = /obj/item/ammo_casing/a8_50r projectilesound = 'sound/weapons/gun/rifle/mosin.ogg' -/mob/living/simple_animal/hostile/frontier/ranged/mosin/neutered +/mob/living/simple_animal/hostile/human/frontier/ranged/mosin/neutered loot = list(/obj/effect/mob_spawn/human/corpse/frontier/ranged) -/mob/living/simple_animal/hostile/frontier/ranged/trooper +/mob/living/simple_animal/hostile/human/frontier/ranged/trooper icon_state = "frontiersmanrangedelite" icon_living = "frontiersmanrangedelite" maxHealth = 170 @@ -65,10 +49,10 @@ loot = list(/obj/effect/mob_spawn/human/corpse/frontier/ranged/trooper, /obj/item/gun/ballistic/shotgun/brimstone) -/mob/living/simple_animal/hostile/frontier/ranged/trooper/neutered +/mob/living/simple_animal/hostile/human/frontier/ranged/trooper/neutered loot = list(/obj/effect/mob_spawn/human/corpse/frontier/ranged/trooper) -/mob/living/simple_animal/hostile/frontier/ranged/trooper/skm +/mob/living/simple_animal/hostile/human/frontier/ranged/trooper/skm icon_state = "frontiersmanrangedak47" icon_living = "frontiersmanrangedak47" projectilesound = 'sound/weapons/gun/rifle/skm.ogg' @@ -78,10 +62,10 @@ loot = list(/obj/effect/mob_spawn/human/corpse/frontier/ranged/trooper, /obj/item/gun/ballistic/automatic/assault/skm) -/mob/living/simple_animal/hostile/frontier/ranged/trooper/skm/neutured +/mob/living/simple_animal/hostile/human/frontier/ranged/trooper/skm/neutured loot = list(/obj/effect/mob_spawn/human/corpse/frontier/ranged/trooper) -/mob/living/simple_animal/hostile/frontier/ranged/trooper/rifle +/mob/living/simple_animal/hostile/human/frontier/ranged/trooper/rifle icon_state = "frontiersmanrangedmosin" icon_living = "frontiersmanrangedmosin" @@ -90,10 +74,10 @@ casingtype = /obj/item/ammo_casing/a8_50r projectilesound = 'sound/weapons/gun/rifle/mosin.ogg' -/mob/living/simple_animal/hostile/frontier/ranged/trooper/rifle/neutered +/mob/living/simple_animal/hostile/human/frontier/ranged/trooper/rifle/neutered loot = list(/obj/effect/mob_spawn/human/corpse/frontier/ranged/trooper) -/mob/living/simple_animal/hostile/frontier/ranged/trooper/heavy +/mob/living/simple_animal/hostile/human/frontier/ranged/trooper/heavy icon_state = "frontiersmanrangedminigun" icon_living = "frontiersmanrangedminigun" projectilesound = 'sound/weapons/laser4.ogg' @@ -105,10 +89,10 @@ projectiletype = /obj/projectile/beam/weak/penetrator loot = list(/obj/effect/mob_spawn/human/corpse/frontier/ranged/trooper/heavy) -/mob/living/simple_animal/hostile/frontier/ranged/trooper/heavy/neutered +/mob/living/simple_animal/hostile/human/frontier/ranged/trooper/heavy/neutered loot = list(/obj/effect/mob_spawn/human/corpse/frontier/ranged/trooper/heavy/gunless) -/mob/living/simple_animal/hostile/frontier/ranged/officer +/mob/living/simple_animal/hostile/human/frontier/ranged/officer name = "Frontiersman Officer" icon_state = "frontiersmanofficer" icon_living = "frontiersmanofficer" @@ -119,10 +103,10 @@ loot = list(/obj/effect/mob_spawn/human/corpse/frontier/ranged/officer, /obj/item/gun/ballistic/automatic/pistol/APS) -/mob/living/simple_animal/hostile/frontier/ranged/officer/neutured +/mob/living/simple_animal/hostile/human/frontier/ranged/officer/neutured loot = list(/obj/effect/mob_spawn/human/corpse/frontier/ranged/officer) -/mob/living/simple_animal/hostile/frontier/ranged/officer/Aggro() +/mob/living/simple_animal/hostile/human/frontier/ranged/officer/Aggro() ..() summon_backup(15) say(pick("Help!!", "They're right here!!", "Don't let me die!!")) diff --git a/code/modules/mob/living/simple_animal/hostile/human/human.dm b/code/modules/mob/living/simple_animal/hostile/human/human.dm index d4c64de5e6d3..e08d917e7b78 100644 --- a/code/modules/mob/living/simple_animal/hostile/human/human.dm +++ b/code/modules/mob/living/simple_animal/hostile/human/human.dm @@ -34,7 +34,7 @@ unsuitable_atmos_damage = 15 minbodytemp = 180 status_flags = CANPUSH - del_on_death = 1 + del_on_death = TRUE footstep_type = FOOTSTEP_MOB_SHOE diff --git a/code/modules/mob/living/simple_animal/hostile/human/nanotrasen.dm b/code/modules/mob/living/simple_animal/hostile/human/nanotrasen.dm index 4417e68e2ec1..224890874d37 100644 --- a/code/modules/mob/living/simple_animal/hostile/human/nanotrasen.dm +++ b/code/modules/mob/living/simple_animal/hostile/human/nanotrasen.dm @@ -1,47 +1,30 @@ -/mob/living/simple_animal/hostile/nanotrasen +/mob/living/simple_animal/hostile/human/nanotrasen name = "\improper Nanotrasen Private Security Officer" desc = "An officer part of Nanotrasen's private security force, he seems rather unpleased to meet you." - icon = 'icons/mob/simple_human.dmi' icon_state = "nanotrasen" icon_living = "nanotrasen" - icon_dead = null - icon_gib = "syndicate_gib" - mob_biotypes = MOB_ORGANIC|MOB_HUMANOID speak_chance = 0 - turns_per_move = 5 - speed = 0 stat_attack = HARD_CRIT - robust_searching = 1 - maxHealth = 100 - health = 100 - harm_intent_damage = 5 melee_damage_lower = 10 melee_damage_upper = 15 - attack_verb_continuous = "punches" - attack_verb_simple = "punch" - attack_sound = 'sound/weapons/punch1.ogg' - a_intent = INTENT_HARM loot = list(/obj/effect/mob_spawn/human/corpse/nanotrasensoldier) atmos_requirements = list("min_oxy" = 5, "max_oxy" = 0, "min_tox" = 0, "max_tox" = 1, "min_co2" = 0, "max_co2" = 5, "min_n2" = 0, "max_n2" = 0) unsuitable_atmos_damage = 15 faction = list(ROLE_DEATHSQUAD) check_friendly_fire = TRUE - status_flags = CANPUSH - del_on_death = TRUE dodging = TRUE - footstep_type = FOOTSTEP_MOB_SHOE -/mob/living/simple_animal/hostile/nanotrasen/screaming +/mob/living/simple_animal/hostile/human/nanotrasen/screaming icon_state = "nanotrasen" icon_living = "nanotrasen" -/mob/living/simple_animal/hostile/nanotrasen/screaming/Aggro() +/mob/living/simple_animal/hostile/human/nanotrasen/screaming/Aggro() ..() summon_backup(15) say("411 in progress, requesting backup!") -/mob/living/simple_animal/hostile/nanotrasen/ranged +/mob/living/simple_animal/hostile/human/nanotrasen/ranged icon_state = "nanotrasenranged" icon_living = "nanotrasenranged" ranged = 1 @@ -51,9 +34,49 @@ projectilesound = 'sound/weapons/gun/pistol/shot_alt.ogg' -/mob/living/simple_animal/hostile/nanotrasen/ranged/smg +/mob/living/simple_animal/hostile/human/nanotrasen/ranged/smg icon_state = "nanotrasenrangedsmg" icon_living = "nanotrasenrangedsmg" rapid = 3 casingtype = /obj/item/ammo_casing/c46x30mm projectilesound = 'sound/weapons/gun/smg/shot.ogg' + +/mob/living/simple_animal/hostile/human/nanotrasen/ranged/assault + name = "Nanotrasen Assault Officer" + desc = "A Nanotrasen Assault Officer. Prepare to die, if you've been found near Syndicate property." + icon_state = "nanotrasenrangedassault" + icon_living = "nanotrasenrangedassault" + icon_dead = null + icon_gib = "syndicate_gib" + ranged = TRUE + rapid = 4 + rapid_fire_delay = 1 + rapid_melee = 1 + retreat_distance = 2 + minimum_distance = 4 + casingtype = /obj/item/ammo_casing/c46x30mm + projectilesound = 'sound/weapons/gun/general/heavy_shot_suppressed.ogg' + loot = list(/obj/effect/mob_spawn/human/corpse/nanotrasenassaultsoldier) + +/mob/living/simple_animal/hostile/human/nanotrasen/elite + name = "Nanotrasen Elite Assault Officer" + desc = "Pray for your life, syndicate. Run while you can." + icon = 'icons/mob/simple_human.dmi' + icon_state = "nanotrasen_ert" + icon_living = "nanotrasen_ert" + maxHealth = 150 + health = 150 + melee_damage_lower = 13 + melee_damage_upper = 18 + ranged = TRUE + rapid = 3 + rapid_fire_delay = 5 + rapid_melee = 3 + retreat_distance = 0 + minimum_distance = 1 + atmos_requirements = list("min_oxy" = 0, "max_oxy" = 0, "min_tox" = 0, "max_tox" = 0, "min_co2" = 0, "max_co2" = 0, "min_n2" = 0, "max_n2" = 0) + minbodytemp = 0 + projectiletype = /obj/projectile/beam/laser + projectilesound = 'sound/weapons/laser.ogg' + loot = list(/obj/effect/gibspawner/human) + faction = list(ROLE_DEATHSQUAD) diff --git a/code/modules/mob/living/simple_animal/hostile/human/pirate.dm b/code/modules/mob/living/simple_animal/hostile/human/pirate.dm index b0bc7941fd69..082184b1eb26 100644 --- a/code/modules/mob/living/simple_animal/hostile/human/pirate.dm +++ b/code/modules/mob/living/simple_animal/hostile/human/pirate.dm @@ -1,35 +1,18 @@ -/mob/living/simple_animal/hostile/pirate +/mob/living/simple_animal/hostile/human/pirate name = "Pirate" desc = "Does what he wants cause a pirate is free." - icon = 'icons/mob/simple_human.dmi' icon_state = "piratemelee" icon_living = "piratemelee" icon_dead = "pirate_dead" - mob_biotypes = MOB_ORGANIC|MOB_HUMANOID speak_chance = 0 - turns_per_move = 5 - response_help_continuous = "pushes" - response_help_simple = "push" - speed = 0 - maxHealth = 100 - health = 100 - harm_intent_damage = 5 - melee_damage_lower = 10 - melee_damage_upper = 10 - attack_verb_continuous = "punches" - attack_verb_simple = "punch" - attack_sound = 'sound/weapons/punch1.ogg' - a_intent = INTENT_HARM atmos_requirements = list("min_oxy" = 5, "max_oxy" = 0, "min_tox" = 0, "max_tox" = 1, "min_co2" = 0, "max_co2" = 5, "min_n2" = 0, "max_n2" = 0) unsuitable_atmos_damage = 15 speak_emote = list("yarrs") loot = list(/obj/effect/mob_spawn/human/corpse/pirate, /obj/item/melee/transforming/energy/sword/saber/pirate) - del_on_death = 1 faction = list("pirate") - -/mob/living/simple_animal/hostile/pirate/melee +/mob/living/simple_animal/hostile/human/pirate/melee name = "Pirate Swashbuckler" icon_state = "piratemelee" icon_living = "piratemelee" @@ -44,7 +27,7 @@ footstep_type = FOOTSTEP_MOB_SHOE -/mob/living/simple_animal/hostile/pirate/melee/space +/mob/living/simple_animal/hostile/human/pirate/melee/space name = "Space Pirate Swashbuckler" icon_state = "piratespace" icon_living = "piratespace" @@ -53,23 +36,23 @@ minbodytemp = 0 speed = 1 -/mob/living/simple_animal/hostile/pirate/melee/space/Initialize() +/mob/living/simple_animal/hostile/human/pirate/melee/space/Initialize() . = ..() ADD_TRAIT(src, TRAIT_SPACEWALK, INNATE_TRAIT) -/mob/living/simple_animal/hostile/pirate/melee/Initialize() +/mob/living/simple_animal/hostile/human/pirate/melee/Initialize() . = ..() sord = new(src) -/mob/living/simple_animal/hostile/pirate/melee/Destroy() +/mob/living/simple_animal/hostile/human/pirate/melee/Destroy() QDEL_NULL(sord) return ..() -/mob/living/simple_animal/hostile/pirate/melee/Initialize() +/mob/living/simple_animal/hostile/human/pirate/melee/Initialize() . = ..() set_light(2) -/mob/living/simple_animal/hostile/pirate/ranged +/mob/living/simple_animal/hostile/human/pirate/ranged name = "Pirate Gunner" icon_state = "pirateranged" icon_living = "pirateranged" @@ -84,7 +67,7 @@ loot = list(/obj/effect/mob_spawn/human/corpse/pirate/ranged, /obj/item/gun/energy/laser) -/mob/living/simple_animal/hostile/pirate/ranged/space +/mob/living/simple_animal/hostile/human/pirate/ranged/space name = "Space Pirate Gunner" icon_state = "piratespaceranged" icon_living = "piratespaceranged" @@ -93,6 +76,6 @@ minbodytemp = 0 speed = 1 -/mob/living/simple_animal/hostile/pirate/ranged/space/Initialize() +/mob/living/simple_animal/hostile/human/pirate/ranged/space/Initialize() . = ..() ADD_TRAIT(src, TRAIT_SPACEWALK, INNATE_TRAIT) diff --git a/code/modules/mob/living/simple_animal/hostile/human/skeleton.dm b/code/modules/mob/living/simple_animal/hostile/human/skeleton.dm index 477233566f35..678f8987b5fa 100644 --- a/code/modules/mob/living/simple_animal/hostile/human/skeleton.dm +++ b/code/modules/mob/living/simple_animal/hostile/human/skeleton.dm @@ -1,20 +1,16 @@ -/mob/living/simple_animal/hostile/skeleton +/mob/living/simple_animal/hostile/human/skeleton name = "reanimated skeleton" desc = "A real bonefied skeleton, doesn't seem like it wants to socialize." - icon = 'icons/mob/simple_human.dmi' icon_state = "skeleton" icon_living = "skeleton" icon_dead = "skeleton" gender = NEUTER mob_biotypes = MOB_UNDEAD|MOB_HUMANOID - turns_per_move = 5 speak_emote = list("rattles") emote_see = list("rattles") - a_intent = INTENT_HARM maxHealth = 40 health = 40 speed = 1 - harm_intent_damage = 5 melee_damage_lower = 15 melee_damage_upper = 15 minbodytemp = 0 @@ -25,18 +21,14 @@ attack_sound = 'sound/hallucinations/growl1.ogg' atmos_requirements = list("min_oxy" = 0, "max_oxy" = 0, "min_tox" = 0, "max_tox" = 0, "min_co2" = 0, "max_co2" = 0, "min_n2" = 0, "max_n2" = 0) unsuitable_atmos_damage = 10 - robust_searching = 1 stat_attack = HARD_CRIT faction = list("skeleton") see_in_dark = 8 lighting_alpha = LIGHTING_PLANE_ALPHA_MOSTLY_INVISIBLE deathmessage = "collapses into a pile of bones!" - del_on_death = 1 loot = list(/obj/effect/decal/remains/human) - footstep_type = FOOTSTEP_MOB_SHOE - -/mob/living/simple_animal/hostile/skeleton/eskimo +/mob/living/simple_animal/hostile/human/skeleton/eskimo name = "undead eskimo" desc = "The reanimated remains of some poor traveler." icon_state = "eskimo" @@ -54,7 +46,7 @@ /obj/item/clothing/suit/hooded/wintercoat) -/mob/living/simple_animal/hostile/skeleton/templar +/mob/living/simple_animal/hostile/human/skeleton/templar name = "undead templar" desc = "The reanimated remains of a holy templar knight." icon_state = "templar" @@ -76,7 +68,7 @@ /obj/item/clothing/head/helmet/chaplain, /obj/item/claymore/weak{name = "holy sword"}) -/mob/living/simple_animal/hostile/skeleton/ice +/mob/living/simple_animal/hostile/human/skeleton/ice name = "ice skeleton" desc = "A reanimated skeleton protected by a thick sheet of natural ice armor. Looks slow, though." speed = 5 @@ -86,7 +78,7 @@ color = rgb(114,228,250) loot = list(/obj/effect/decal/remains/human{color = rgb(114,228,250)}) -/mob/living/simple_animal/hostile/skeleton/plasmaminer +/mob/living/simple_animal/hostile/human/skeleton/plasmaminer name = "shambling miner" desc = "A plasma-soaked miner, their exposed limbs turned into a grossly incandescent bone seemingly made of plasma." icon_state = "plasma_miner" @@ -104,7 +96,7 @@ deathmessage = "collapses into a pile of bones, their suit dissolving among the plasma!" loot = list(/obj/effect/decal/remains/plasma) -/mob/living/simple_animal/hostile/skeleton/plasmaminer/jackhammer +/mob/living/simple_animal/hostile/human/skeleton/plasmaminer/jackhammer desc = "A plasma-soaked miner, their exposed limbs turned into a grossly incandescent bone seemingly made of plasma. They seem to still have their mining tool in their hand, gripping tightly." icon_state = "plasma_miner_tool" icon_living = "plasma_miner_tool" @@ -119,6 +111,6 @@ attack_sound = 'sound/weapons/sonic_jackhammer.ogg' loot = list(/obj/effect/decal/remains/plasma, /obj/item/pickaxe/drill/jackhammer) -/mob/living/simple_animal/hostile/skeleton/plasmaminer/Initialize() +/mob/living/simple_animal/hostile/human/skeleton/plasmaminer/Initialize() . = ..() set_light(2) diff --git a/code/modules/mob/living/simple_animal/hostile/human/survivors.dm b/code/modules/mob/living/simple_animal/hostile/human/survivors.dm index d5759431d65a..34f9241310f6 100644 --- a/code/modules/mob/living/simple_animal/hostile/human/survivors.dm +++ b/code/modules/mob/living/simple_animal/hostile/human/survivors.dm @@ -1,38 +1,14 @@ -/mob/living/simple_animal/hostile/asteroid/whitesands +/mob/living/simple_animal/hostile/human/hermit name = "Whitesands Inhabitant" desc = "If you can read this, yell at a coder!" - icon = 'icons/mob/simple_human.dmi' icon_state = "survivor_base" icon_living = "survivor_base" - icon_dead = null - icon_gib = "syndicate_gib" - mob_biotypes = MOB_ORGANIC - minbodytemp = 180 - unsuitable_atmos_damage = 15 atmos_requirements = list("min_oxy" = 1, "max_oxy" = 0, "min_tox" = 0, "max_tox" = 0, "min_co2" = 0, "max_co2" = 999, "min_n2" = 0, "max_n2" = 0) - speak_chance = 20 - turns_per_move = 5 - response_help_continuous = "pushes" - response_help_simple = "push" - speed = 0 - maxHealth = 100 - health = 100 - harm_intent_damage = 5 - melee_damage_lower = 10 - melee_damage_upper = 10 - attack_verb_continuous = "punches" - attack_verb_simple = "punch" - attack_sound = 'sound/weapons/punch1.ogg' - a_intent = INTENT_HARM - unsuitable_atmos_damage = 15 - speak_emote = list("groans") loot = list( /obj/effect/mob_spawn/human/corpse/damaged/whitesands ) - del_on_death = 1 - faction = list("hermit") -/mob/living/simple_animal/hostile/asteroid/whitesands/survivor/death(gibbed) +/mob/living/simple_animal/hostile/human/hermit/survivor/death(gibbed) move_force = MOVE_FORCE_DEFAULT move_resist = MOVE_RESIST_DEFAULT pull_force = PULL_FORCE_DEFAULT @@ -41,19 +17,19 @@ visible_message("You notice a glimmering nugget of shiny metal.") ..() -/mob/living/simple_animal/hostile/asteroid/whitesands/survivor +/mob/living/simple_animal/hostile/human/hermit/survivor name = "Hermit Wanderer" desc =" A wild-eyed figure, wearing tattered mining equipment and boasting a malformed body, twisted by the heavy metals and high background radiation of the sandworlds." -/mob/living/simple_animal/hostile/asteroid/whitesands/survivor/random/Initialize() +/mob/living/simple_animal/hostile/human/hermit/survivor/random/Initialize() . = ..() if(prob(35)) - new /mob/living/simple_animal/hostile/asteroid/whitesands/ranged/hunter(loc) + new /mob/living/simple_animal/hostile/human/hermit/ranged/hunter(loc) if(prob(10)) - new /mob/living/simple_animal/hostile/asteroid/whitesands/ranged/gunslinger(loc) + new /mob/living/simple_animal/hostile/human/hermit/ranged/gunslinger(loc) return INITIALIZE_HINT_QDEL -/mob/living/simple_animal/hostile/asteroid/whitesands/ranged +/mob/living/simple_animal/hostile/human/hermit/ranged icon_state = "survivor_hunter" icon_living = "survivor_hunter" projectiletype = null @@ -64,14 +40,14 @@ retreat_distance = 5 minimum_distance = 5 -/mob/living/simple_animal/hostile/asteroid/whitesands/ranged/hunter +/mob/living/simple_animal/hostile/human/hermit/ranged/hunter name = "Hermit Hunter" desc ="A wild-eyed figure. Watch out- he has a gun, and he remembers just enough of his old life to use it!" loot = list( /obj/effect/mob_spawn/human/corpse/damaged/whitesands/hunter, ) -/mob/living/simple_animal/hostile/asteroid/whitesands/ranged/gunslinger +/mob/living/simple_animal/hostile/human/hermit/ranged/gunslinger name = "Hermit Soldier" desc = "The miner's rebellion, though mostly underground, recieved a few good weapon shipments from an off-sector source. You should probably start running." icon_state = "survivor_gunslinger" diff --git a/code/modules/mob/living/simple_animal/hostile/human/syndicate.dm b/code/modules/mob/living/simple_animal/hostile/human/syndicate.dm index 81755a7358b1..46ec15db982a 100644 --- a/code/modules/mob/living/simple_animal/hostile/human/syndicate.dm +++ b/code/modules/mob/living/simple_animal/hostile/human/syndicate.dm @@ -14,43 +14,24 @@ light_color = COLOR_SOFT_RED -/mob/living/simple_animal/hostile/syndicate +/mob/living/simple_animal/hostile/human/syndicate name = "Syndicate Operative" desc = "Death to Nanotrasen." - icon = 'icons/mob/simple_human.dmi' icon_state = "syndicate" icon_living = "syndicate" - icon_dead = "syndicate_dead" - icon_gib = "syndicate_gib" - mob_biotypes = MOB_ORGANIC|MOB_HUMANOID speak_chance = 0 - turns_per_move = 5 - speed = 0 stat_attack = HARD_CRIT - robust_searching = 1 - maxHealth = 100 - health = 100 - harm_intent_damage = 5 - melee_damage_lower = 10 - melee_damage_upper = 10 - attack_verb_continuous = "punches" - attack_verb_simple = "punch" - attack_sound = 'sound/weapons/punch1.ogg' - a_intent = INTENT_HARM loot = list(/obj/effect/mob_spawn/human/corpse/syndicatesoldier) atmos_requirements = list("min_oxy" = 5, "max_oxy" = 0, "min_tox" = 0, "max_tox" = 1, "min_co2" = 0, "max_co2" = 5, "min_n2" = 0, "max_n2" = 0) - unsuitable_atmos_damage = 15 faction = list(FACTION_ANTAG_SYNDICATE) check_friendly_fire = 1 status_flags = CANPUSH - del_on_death = 1 dodging = TRUE rapid_melee = 2 - footstep_type = FOOTSTEP_MOB_SHOE ///////////////Melee//////////// -/mob/living/simple_animal/hostile/syndicate/space +/mob/living/simple_animal/hostile/human/syndicate/space icon_state = "syndicate_space" icon_living = "syndicate_space" name = "Syndicate Commando" @@ -60,19 +41,19 @@ minbodytemp = 0 speed = 1 -/mob/living/simple_animal/hostile/syndicate/space/Initialize() +/mob/living/simple_animal/hostile/human/syndicate/space/Initialize() . = ..() ADD_TRAIT(src, TRAIT_SPACEWALK, INNATE_TRAIT) set_light(4) -/mob/living/simple_animal/hostile/syndicate/space/stormtrooper +/mob/living/simple_animal/hostile/human/syndicate/space/stormtrooper icon_state = "syndicate_stormtrooper" icon_living = "syndicate_stormtrooper" name = "Syndicate Stormtrooper" maxHealth = 250 health = 250 -/mob/living/simple_animal/hostile/syndicate/melee //dude with a knife and no shields +/mob/living/simple_animal/hostile/human/syndicate/melee //dude with a knife and no shields melee_damage_lower = 15 melee_damage_upper = 15 icon_state = "syndicate_knife" @@ -84,7 +65,7 @@ status_flags = 0 var/projectile_deflect_chance = 0 -/mob/living/simple_animal/hostile/syndicate/melee/space +/mob/living/simple_animal/hostile/human/syndicate/melee/space icon_state = "syndicate_space_knife" icon_living = "syndicate_space_knife" name = "Syndicate Commando" @@ -95,12 +76,12 @@ speed = 1 projectile_deflect_chance = 50 -/mob/living/simple_animal/hostile/syndicate/melee/space/Initialize() +/mob/living/simple_animal/hostile/human/syndicate/melee/space/Initialize() . = ..() ADD_TRAIT(src, TRAIT_SPACEWALK, INNATE_TRAIT) set_light(4) -/mob/living/simple_animal/hostile/syndicate/melee/space/stormtrooper +/mob/living/simple_animal/hostile/human/syndicate/melee/space/stormtrooper icon_state = "syndicate_stormtrooper_knife" icon_living = "syndicate_stormtrooper_knife" name = "Syndicate Stormtrooper" @@ -108,7 +89,7 @@ health = 250 projectile_deflect_chance = 50 -/mob/living/simple_animal/hostile/syndicate/melee/sword +/mob/living/simple_animal/hostile/human/syndicate/melee/sword melee_damage_lower = 30 melee_damage_upper = 30 icon_state = "syndicate_sword" @@ -122,21 +103,21 @@ var/obj/effect/light_emitter/red_energy_sword/sord projectile_deflect_chance = 50 -/mob/living/simple_animal/hostile/syndicate/melee/sword/Initialize() +/mob/living/simple_animal/hostile/human/syndicate/melee/sword/Initialize() . = ..() set_light(2) -/mob/living/simple_animal/hostile/syndicate/melee/sword/Destroy() +/mob/living/simple_animal/hostile/human/syndicate/melee/sword/Destroy() QDEL_NULL(sord) return ..() -/mob/living/simple_animal/hostile/syndicate/melee/bullet_act(obj/projectile/Proj) +/mob/living/simple_animal/hostile/human/syndicate/melee/bullet_act(obj/projectile/Proj) if(prob(projectile_deflect_chance)) visible_message("[src] blocks [Proj] with its shield!") return BULLET_ACT_BLOCK return ..() -/mob/living/simple_animal/hostile/syndicate/melee/sword/space +/mob/living/simple_animal/hostile/human/syndicate/melee/sword/space icon_state = "syndicate_space_sword" icon_living = "syndicate_space_sword" name = "Syndicate Commando" @@ -147,17 +128,17 @@ speed = 1 projectile_deflect_chance = 50 -/mob/living/simple_animal/hostile/syndicate/melee/sword/space/Initialize() +/mob/living/simple_animal/hostile/human/syndicate/melee/sword/space/Initialize() . = ..() ADD_TRAIT(src, TRAIT_SPACEWALK, INNATE_TRAIT) sord = new(src) set_light(4) -/mob/living/simple_animal/hostile/syndicate/melee/sword/space/Destroy() +/mob/living/simple_animal/hostile/human/syndicate/melee/sword/space/Destroy() QDEL_NULL(sord) return ..() -/mob/living/simple_animal/hostile/syndicate/melee/sword/space/stormtrooper +/mob/living/simple_animal/hostile/human/syndicate/melee/sword/space/stormtrooper icon_state = "syndicate_stormtrooper_sword" icon_living = "syndicate_stormtrooper_sword" name = "Syndicate Stormtrooper" @@ -167,7 +148,7 @@ ///////////////Guns//////////// -/mob/living/simple_animal/hostile/syndicate/ranged +/mob/living/simple_animal/hostile/human/syndicate/ranged ranged = 1 retreat_distance = 5 minimum_distance = 5 @@ -179,11 +160,11 @@ dodging = FALSE rapid_melee = 1 -/mob/living/simple_animal/hostile/syndicate/ranged/infiltrator //shuttle loan event +/mob/living/simple_animal/hostile/human/syndicate/ranged/infiltrator //shuttle loan event projectilesound = 'sound/weapons/gun/smg/shot_suppressed.ogg' loot = list(/obj/effect/mob_spawn/human/corpse/syndicatesoldier) -/mob/living/simple_animal/hostile/syndicate/ranged/space +/mob/living/simple_animal/hostile/human/syndicate/ranged/space icon_state = "syndicate_space_pistol" icon_living = "syndicate_space_pistol" name = "Syndicate Commando" @@ -193,30 +174,30 @@ minbodytemp = 0 speed = 1 -/mob/living/simple_animal/hostile/syndicate/ranged/space/Initialize() +/mob/living/simple_animal/hostile/human/syndicate/ranged/space/Initialize() . = ..() ADD_TRAIT(src, TRAIT_SPACEWALK, INNATE_TRAIT) set_light(4) -/mob/living/simple_animal/hostile/syndicate/ranged/space/stormtrooper +/mob/living/simple_animal/hostile/human/syndicate/ranged/space/stormtrooper icon_state = "syndicate_stormtrooper_pistol" icon_living = "syndicate_stormtrooper_pistol" name = "Syndicate Stormtrooper" maxHealth = 250 health = 250 -/mob/living/simple_animal/hostile/syndicate/ranged/smg +/mob/living/simple_animal/hostile/human/syndicate/ranged/smg rapid = 2 icon_state = "syndicate_smg" icon_living = "syndicate_smg" casingtype = /obj/item/ammo_casing/c45 projectilesound = 'sound/weapons/gun/smg/shot.ogg' -/mob/living/simple_animal/hostile/syndicate/ranged/smg/pilot //caravan ambush ruin +/mob/living/simple_animal/hostile/human/syndicate/ranged/smg/pilot //caravan ambush ruin name = "Syndicate Salvage Pilot" loot = list(/obj/effect/mob_spawn/human/corpse/syndicatesoldier) -/mob/living/simple_animal/hostile/syndicate/ranged/smg/space +/mob/living/simple_animal/hostile/human/syndicate/ranged/smg/space icon_state = "syndicate_space_smg" icon_living = "syndicate_space_smg" name = "Syndicate Commando" @@ -226,19 +207,19 @@ minbodytemp = 0 speed = 1 -/mob/living/simple_animal/hostile/syndicate/ranged/smg/space/Initialize() +/mob/living/simple_animal/hostile/human/syndicate/ranged/smg/space/Initialize() . = ..() ADD_TRAIT(src, TRAIT_SPACEWALK, INNATE_TRAIT) set_light(4) -/mob/living/simple_animal/hostile/syndicate/ranged/smg/space/stormtrooper +/mob/living/simple_animal/hostile/human/syndicate/ranged/smg/space/stormtrooper icon_state = "syndicate_stormtrooper_smg" icon_living = "syndicate_stormtrooper_smg" name = "Syndicate Stormtrooper" maxHealth = 250 health = 250 -/mob/living/simple_animal/hostile/syndicate/ranged/shotgun +/mob/living/simple_animal/hostile/human/syndicate/ranged/shotgun rapid = 2 rapid_fire_delay = 6 minimum_distance = 3 @@ -246,7 +227,7 @@ icon_living = "syndicate_shotgun" casingtype = /obj/item/ammo_casing/shotgun/buckshot //buckshot (up to 72.5 brute) fired in a two-round burst -/mob/living/simple_animal/hostile/syndicate/ranged/shotgun/space +/mob/living/simple_animal/hostile/human/syndicate/ranged/shotgun/space icon_state = "syndicate_space_shotgun" icon_living = "syndicate_space_shotgun" name = "Syndicate Commando" @@ -256,12 +237,12 @@ minbodytemp = 0 speed = 1 -/mob/living/simple_animal/hostile/syndicate/ranged/shotgun/space/Initialize() +/mob/living/simple_animal/hostile/human/syndicate/ranged/shotgun/space/Initialize() . = ..() ADD_TRAIT(src, TRAIT_SPACEWALK, INNATE_TRAIT) set_light(4) -/mob/living/simple_animal/hostile/syndicate/ranged/shotgun/space/stormtrooper +/mob/living/simple_animal/hostile/human/syndicate/ranged/shotgun/space/stormtrooper icon_state = "syndicate_stormtrooper_shotgun" icon_living = "syndicate_stormtrooper_shotgun" name = "Syndicate Stormtrooper" @@ -270,13 +251,13 @@ ///////////////Misc//////////// -/mob/living/simple_animal/hostile/syndicate/civilian +/mob/living/simple_animal/hostile/human/syndicate/civilian minimum_distance = 10 retreat_distance = 10 obj_damage = 0 environment_smash = ENVIRONMENT_SMASH_NONE -/mob/living/simple_animal/hostile/syndicate/civilian/Aggro() +/mob/living/simple_animal/hostile/human/syndicate/civilian/Aggro() ..() summon_backup(15) say("GUARDS!!") diff --git a/code/modules/mob/living/simple_animal/hostile/mecha_pilot.dm b/code/modules/mob/living/simple_animal/hostile/mecha_pilot.dm index cf8a32af157c..2a60b3c52fc2 100644 --- a/code/modules/mob/living/simple_animal/hostile/mecha_pilot.dm +++ b/code/modules/mob/living/simple_animal/hostile/mecha_pilot.dm @@ -18,7 +18,7 @@ Featuring: */ -/mob/living/simple_animal/hostile/syndicate/mecha_pilot +/mob/living/simple_animal/hostile/human/syndicate/mecha_pilot name = "Syndicate Mecha Pilot" desc = "Death to Nanotrasen. This variant comes in MECHA DEATH flavour." wanted_objects = list() @@ -36,15 +36,15 @@ Featuring: var/smoke_chance = 20 //Chance to deploy smoke for crowd control var/retreat_chance = 40 //Chance to run away -/mob/living/simple_animal/hostile/syndicate/mecha_pilot/no_mech +/mob/living/simple_animal/hostile/human/syndicate/mecha_pilot/no_mech spawn_mecha_type = null search_objects = 2 -/mob/living/simple_animal/hostile/syndicate/mecha_pilot/no_mech/Initialize() +/mob/living/simple_animal/hostile/human/syndicate/mecha_pilot/no_mech/Initialize() . = ..() wanted_objects = typecacheof(/obj/mecha/combat, TRUE) -/mob/living/simple_animal/hostile/syndicate/mecha_pilot/nanotrasen //nanotrasen are syndies! no it's just a weird path. +/mob/living/simple_animal/hostile/human/syndicate/mecha_pilot/nanotrasen //nanotrasen are syndies! no it's just a weird path. name = "\improper Nanotrasen Mecha Pilot" desc = "Death to the Syndicate. This variant comes in MECHA DEATH flavour." icon_living = "nanotrasen" @@ -52,7 +52,7 @@ Featuring: faction = list("nanotrasen") spawn_mecha_type = /obj/mecha/combat/marauder/loaded -/mob/living/simple_animal/hostile/syndicate/mecha_pilot/no_mech/nanotrasen +/mob/living/simple_animal/hostile/human/syndicate/mecha_pilot/no_mech/nanotrasen name = "\improper Nanotrasen Mecha Pilot" desc = "Death to the Syndicate. This variant comes in MECHA DEATH flavour." icon_living = "nanotrasen" @@ -60,7 +60,7 @@ Featuring: faction = list("nanotrasen") -/mob/living/simple_animal/hostile/syndicate/mecha_pilot/Initialize() +/mob/living/simple_animal/hostile/human/syndicate/mecha_pilot/Initialize() . = ..() if(spawn_mecha_type) var/obj/mecha/M = new spawn_mecha_type (get_turf(src)) @@ -68,7 +68,7 @@ Featuring: INVOKE_ASYNC(src, PROC_REF(enter_mecha), M) -/mob/living/simple_animal/hostile/syndicate/mecha_pilot/proc/enter_mecha(obj/mecha/M) +/mob/living/simple_animal/hostile/human/syndicate/mecha_pilot/proc/enter_mecha(obj/mecha/M) if(!M) return 0 LoseTarget() //Target was our mecha, so null it out @@ -93,7 +93,7 @@ Featuring: mecha.lights_action.Activate() -/mob/living/simple_animal/hostile/syndicate/mecha_pilot/proc/exit_mecha(obj/mecha/M) +/mob/living/simple_animal/hostile/human/syndicate/mecha_pilot/proc/exit_mecha(obj/mecha/M) if(!M) return 0 @@ -116,7 +116,7 @@ Featuring: walk(M,0)//end any lingering movement loops, to prevent the haunted mecha bug //Checks if a mecha is valid for theft -/mob/living/simple_animal/hostile/syndicate/mecha_pilot/proc/is_valid_mecha(obj/mecha/M) +/mob/living/simple_animal/hostile/human/syndicate/mecha_pilot/proc/is_valid_mecha(obj/mecha/M) if(!M) return 0 if(M.occupant) @@ -128,7 +128,7 @@ Featuring: return 1 -/mob/living/simple_animal/hostile/syndicate/mecha_pilot/proc/mecha_face_target(atom/A) +/mob/living/simple_animal/hostile/human/syndicate/mecha_pilot/proc/mecha_face_target(atom/A) if(mecha) var/dirto = get_dir(mecha,A) if(mecha.dir != dirto) //checking, because otherwise the mecha makes too many turn noises @@ -136,7 +136,7 @@ Featuring: -/mob/living/simple_animal/hostile/syndicate/mecha_pilot/proc/mecha_reload() +/mob/living/simple_animal/hostile/human/syndicate/mecha_pilot/proc/mecha_reload() if(mecha) for(var/equip in mecha.equipment) var/obj/item/mecha_parts/mecha_equipment/ME = equip @@ -144,7 +144,7 @@ Featuring: ME.rearm() -/mob/living/simple_animal/hostile/syndicate/mecha_pilot/proc/get_mecha_equip_by_flag(flag = MECHA_RANGED) +/mob/living/simple_animal/hostile/human/syndicate/mecha_pilot/proc/get_mecha_equip_by_flag(flag = MECHA_RANGED) . = list() if(mecha) for(var/equip in mecha.equipment) @@ -156,7 +156,7 @@ Featuring: //Pick a ranged weapon/tool //Fire it -/mob/living/simple_animal/hostile/syndicate/mecha_pilot/OpenFire(atom/A) +/mob/living/simple_animal/hostile/human/syndicate/mecha_pilot/OpenFire(atom/A) if(mecha) mecha_reload() mecha_face_target(A) @@ -171,7 +171,7 @@ Featuring: ..() -/mob/living/simple_animal/hostile/syndicate/mecha_pilot/AttackingTarget() +/mob/living/simple_animal/hostile/human/syndicate/mecha_pilot/AttackingTarget() if(mecha) var/list/possible_weapons = get_mecha_equip_by_flag(MECHA_MELEE) if(possible_weapons.len) @@ -198,7 +198,7 @@ Featuring: return target.attack_animal(src) -/mob/living/simple_animal/hostile/syndicate/mecha_pilot/handle_automated_action() +/mob/living/simple_animal/hostile/human/syndicate/mecha_pilot/handle_automated_action() if(..()) if(!mecha) for(var/obj/mecha/combat/C in range(src,vision_range)) @@ -245,12 +245,12 @@ Featuring: -/mob/living/simple_animal/hostile/syndicate/mecha_pilot/death(gibbed) +/mob/living/simple_animal/hostile/human/syndicate/mecha_pilot/death(gibbed) if(mecha) mecha.aimob_exit_mech(src) ..() -/mob/living/simple_animal/hostile/syndicate/mecha_pilot/gib() +/mob/living/simple_animal/hostile/human/syndicate/mecha_pilot/gib() if(mecha) mecha.aimob_exit_mech(src) ..() @@ -258,7 +258,7 @@ Featuring: //Yes they actually try and pull this shit //~simple animals~ -/mob/living/simple_animal/hostile/syndicate/mecha_pilot/CanAttack(atom/the_target) +/mob/living/simple_animal/hostile/human/syndicate/mecha_pilot/CanAttack(atom/the_target) if(ismecha(the_target)) var/obj/mecha/M = the_target if(mecha) @@ -275,19 +275,19 @@ Featuring: . = ..() -/mob/living/simple_animal/hostile/syndicate/mecha_pilot/EscapeConfinement() +/mob/living/simple_animal/hostile/human/syndicate/mecha_pilot/EscapeConfinement() if(mecha && loc == mecha) return 0 ..() -/mob/living/simple_animal/hostile/syndicate/mecha_pilot/Move(NewLoc,Dir=0,step_x=0,step_y=0) +/mob/living/simple_animal/hostile/human/syndicate/mecha_pilot/Move(NewLoc,Dir=0,step_x=0,step_y=0) if(mecha && loc == mecha) return mecha.relaymove(src, Dir) return ..() -/mob/living/simple_animal/hostile/syndicate/mecha_pilot/Goto(target, delay, minimum_distance) +/mob/living/simple_animal/hostile/human/syndicate/mecha_pilot/Goto(target, delay, minimum_distance) if(mecha) walk_to(mecha, target, minimum_distance, mecha.step_in) else diff --git a/code/modules/ruins/lavaland_ruin_code.dm b/code/modules/ruins/lavaland_ruin_code.dm index 1115224a6733..7f050c3ac5e5 100644 --- a/code/modules/ruins/lavaland_ruin_code.dm +++ b/code/modules/ruins/lavaland_ruin_code.dm @@ -75,7 +75,7 @@ /obj/effect/mob_spawn/human/lavaland_syndicate/comms/space/Initialize() . = ..() if(prob(90)) //only has a 10% chance of existing, otherwise it'll just be a NPC syndie. - new /mob/living/simple_animal/hostile/syndicate/ranged(get_turf(src)) + new /mob/living/simple_animal/hostile/human/syndicate/ranged(get_turf(src)) return INITIALIZE_HINT_QDEL /datum/outfit/lavaland_syndicate/comms diff --git a/code/modules/ruins/spaceruin_code/forgottenship.dm b/code/modules/ruins/spaceruin_code/forgottenship.dm index def148f22239..57b9f64bf60f 100644 --- a/code/modules/ruins/spaceruin_code/forgottenship.dm +++ b/code/modules/ruins/spaceruin_code/forgottenship.dm @@ -81,45 +81,3 @@ GLOBAL_VAR_INIT(fscpassword, generate_password()) area_flags = NOTELEPORT | UNIQUE_AREA //Cybersun hardsuit - -//Special NT NPCs - -/mob/living/simple_animal/hostile/nanotrasen/ranged/assault - name = "Nanotrasen Assault Officer" - desc = "A Nanotrasen Assault Officer. Prepare to die, if you've been found near Syndicate property." - icon_state = "nanotrasenrangedassault" - icon_living = "nanotrasenrangedassault" - icon_dead = null - icon_gib = "syndicate_gib" - ranged = TRUE - rapid = 4 - rapid_fire_delay = 1 - rapid_melee = 1 - retreat_distance = 2 - minimum_distance = 4 - casingtype = /obj/item/ammo_casing/c46x30mm - projectilesound = 'sound/weapons/gun/general/heavy_shot_suppressed.ogg' - loot = list(/obj/effect/mob_spawn/human/corpse/nanotrasenassaultsoldier) - -/mob/living/simple_animal/hostile/nanotrasen/elite - name = "Nanotrasen Elite Assault Officer" - desc = "Pray for your life, syndicate. Run while you can." - icon = 'icons/mob/simple_human.dmi' - icon_state = "nanotrasen_ert" - icon_living = "nanotrasen_ert" - maxHealth = 150 - health = 150 - melee_damage_lower = 13 - melee_damage_upper = 18 - ranged = TRUE - rapid = 3 - rapid_fire_delay = 5 - rapid_melee = 3 - retreat_distance = 0 - minimum_distance = 1 - atmos_requirements = list("min_oxy" = 0, "max_oxy" = 0, "min_tox" = 0, "max_tox" = 0, "min_co2" = 0, "max_co2" = 0, "min_n2" = 0, "max_n2" = 0) - minbodytemp = 0 - projectiletype = /obj/projectile/beam/laser - projectilesound = 'sound/weapons/laser.ogg' - loot = list(/obj/effect/gibspawner/human) - faction = list(ROLE_DEATHSQUAD) diff --git a/tools/UpdatePaths/Scripts/human_hostile.txt b/tools/UpdatePaths/Scripts/human_hostile.txt index 63cacb1675ad..297ba2df7bb9 100644 --- a/tools/UpdatePaths/Scripts/human_hostile.txt +++ b/tools/UpdatePaths/Scripts/human_hostile.txt @@ -4,3 +4,4 @@ /mob/living/simple_animal/hostile/skeleton/@SUBTYPES: /mob/living/simple_animal/hostile/human/skeleton/@SUBTYPES {@OLD} /mob/living/simple_animal/hostile/asteroid/whitesands/@SUBTYPES: /mob/living/simple_animal/hostile/human/hermit/@SUBTYPES {@OLD} /mob/living/simple_animal/hostile/cat_butcherer/@SUBTYPES: /mob/living/simple_animal/hostile/human/cat_butcherer/@SUBTYPES {@OLD} +/mob/living/simple_animal/hostile/syndicate/@SUBTYPES:: /mob/living/simple_animal/hostile/human/syndicate/@SUBTYPES {@OLD} From a8cab83e51194b0f0fe66b04f97c07c01c22ade4 Mon Sep 17 00:00:00 2001 From: FalloutFalcon Date: Tue, 14 May 2024 19:20:10 -0500 Subject: [PATCH 10/17] small var stuff --- code/modules/mob/living/simple_animal/hostile/hostile.dm | 2 +- .../mob/living/simple_animal/hostile/human/cat_butcher.dm | 4 ++-- .../mob/living/simple_animal/hostile/human/frontiersman.dm | 2 -- .../mob/living/simple_animal/hostile/human/nanotrasen.dm | 2 -- code/modules/mob/living/simple_animal/hostile/human/pirate.dm | 1 - .../mob/living/simple_animal/hostile/human/syndicate.dm | 3 +-- 6 files changed, 4 insertions(+), 10 deletions(-) diff --git a/code/modules/mob/living/simple_animal/hostile/hostile.dm b/code/modules/mob/living/simple_animal/hostile/hostile.dm index 526763e875b7..70ce3f665bab 100644 --- a/code/modules/mob/living/simple_animal/hostile/hostile.dm +++ b/code/modules/mob/living/simple_animal/hostile/hostile.dm @@ -30,7 +30,7 @@ var/ranged_cooldown = 0 //What the current cooldown on ranged attacks is, generally world.time + ranged_cooldown_time var/ranged_cooldown_time = 30 //How long, in deciseconds, the cooldown of ranged attacks is var/ranged_ignores_vision = FALSE //if it'll fire ranged attacks even if it lacks vision on its target, only works with environment smash - var/check_friendly_fire = 0 // Should the ranged mob check for friendlies when shooting + var/check_friendly_fire = FALSE // Should the ranged mob check for friendlies when shooting var/retreat_distance = null //If our mob runs from players when they're too close, set in tile distance. By default, mobs do not retreat. var/minimum_distance = 1 //Minimum approach distance, so ranged mobs chase targets down, but still keep their distance set in tiles to the target, set higher to make mobs keep distance diff --git a/code/modules/mob/living/simple_animal/hostile/human/cat_butcher.dm b/code/modules/mob/living/simple_animal/hostile/human/cat_butcher.dm index 80c2ee22f3ef..0e265fc3b531 100644 --- a/code/modules/mob/living/simple_animal/hostile/human/cat_butcher.dm +++ b/code/modules/mob/living/simple_animal/hostile/human/cat_butcher.dm @@ -5,7 +5,7 @@ icon_living = "cat_butcher" projectiletype = /obj/projectile/bullet/dart/tranq projectilesound = 'sound/items/syringeproj.ogg' - ranged = 1 + ranged = TRUE ranged_message = "fires the syringe gun at" ranged_cooldown_time = 30 speak_chance = 0 @@ -18,7 +18,7 @@ loot = list(/obj/effect/mob_spawn/human/corpse/cat_butcher, /obj/item/circular_saw, /obj/item/gun/syringe) atmos_requirements = list("min_oxy" = 5, "max_oxy" = 0, "min_tox" = 0, "max_tox" = 1, "min_co2" = 0, "max_co2" = 5, "min_n2" = 0, "max_n2" = 0) faction = list("hostile") - check_friendly_fire = 1 + check_friendly_fire = TRUE var/impatience = 0 /mob/living/simple_animal/hostile/human/cat_butcherer/CanAttack(atom/the_target) diff --git a/code/modules/mob/living/simple_animal/hostile/human/frontiersman.dm b/code/modules/mob/living/simple_animal/hostile/human/frontiersman.dm index 2404a763363c..040b6b26ae2a 100644 --- a/code/modules/mob/living/simple_animal/hostile/human/frontiersman.dm +++ b/code/modules/mob/living/simple_animal/hostile/human/frontiersman.dm @@ -5,10 +5,8 @@ icon_living = "frontiersmanmelee" icon_dead = "frontiersmanmelee_dead" speak_chance = 0 - harm_intent_damage = 5 melee_damage_lower = 15 melee_damage_upper = 15 - a_intent = INTENT_HARM loot = list(/obj/effect/mob_spawn/human/corpse/frontier, /obj/item/kitchen/knife) atmos_requirements = list("min_oxy" = 5, "max_oxy" = 0, "min_tox" = 0, "max_tox" = 1, "min_co2" = 0, "max_co2" = 5, "min_n2" = 0, "max_n2" = 0) diff --git a/code/modules/mob/living/simple_animal/hostile/human/nanotrasen.dm b/code/modules/mob/living/simple_animal/hostile/human/nanotrasen.dm index 224890874d37..6c1676d202ab 100644 --- a/code/modules/mob/living/simple_animal/hostile/human/nanotrasen.dm +++ b/code/modules/mob/living/simple_animal/hostile/human/nanotrasen.dm @@ -5,11 +5,9 @@ icon_living = "nanotrasen" speak_chance = 0 stat_attack = HARD_CRIT - melee_damage_lower = 10 melee_damage_upper = 15 loot = list(/obj/effect/mob_spawn/human/corpse/nanotrasensoldier) atmos_requirements = list("min_oxy" = 5, "max_oxy" = 0, "min_tox" = 0, "max_tox" = 1, "min_co2" = 0, "max_co2" = 5, "min_n2" = 0, "max_n2" = 0) - unsuitable_atmos_damage = 15 faction = list(ROLE_DEATHSQUAD) check_friendly_fire = TRUE dodging = TRUE diff --git a/code/modules/mob/living/simple_animal/hostile/human/pirate.dm b/code/modules/mob/living/simple_animal/hostile/human/pirate.dm index 082184b1eb26..df10cfa6a2b4 100644 --- a/code/modules/mob/living/simple_animal/hostile/human/pirate.dm +++ b/code/modules/mob/living/simple_animal/hostile/human/pirate.dm @@ -6,7 +6,6 @@ icon_dead = "pirate_dead" speak_chance = 0 atmos_requirements = list("min_oxy" = 5, "max_oxy" = 0, "min_tox" = 0, "max_tox" = 1, "min_co2" = 0, "max_co2" = 5, "min_n2" = 0, "max_n2" = 0) - unsuitable_atmos_damage = 15 speak_emote = list("yarrs") loot = list(/obj/effect/mob_spawn/human/corpse/pirate, /obj/item/melee/transforming/energy/sword/saber/pirate) diff --git a/code/modules/mob/living/simple_animal/hostile/human/syndicate.dm b/code/modules/mob/living/simple_animal/hostile/human/syndicate.dm index 46ec15db982a..35f2f448e89c 100644 --- a/code/modules/mob/living/simple_animal/hostile/human/syndicate.dm +++ b/code/modules/mob/living/simple_animal/hostile/human/syndicate.dm @@ -24,8 +24,7 @@ loot = list(/obj/effect/mob_spawn/human/corpse/syndicatesoldier) atmos_requirements = list("min_oxy" = 5, "max_oxy" = 0, "min_tox" = 0, "max_tox" = 1, "min_co2" = 0, "max_co2" = 5, "min_n2" = 0, "max_n2" = 0) faction = list(FACTION_ANTAG_SYNDICATE) - check_friendly_fire = 1 - status_flags = CANPUSH + check_friendly_fire = TRUE dodging = TRUE rapid_melee = 2 From 9d20beab6ec37d85a390302d9ac992e8255eeac7 Mon Sep 17 00:00:00 2001 From: FalloutFalcon Date: Tue, 14 May 2024 19:26:03 -0500 Subject: [PATCH 11/17] tiny --- .../mob/living/simple_animal/hostile/human/human.dm | 2 +- .../mob/living/simple_animal/hostile/human/syndicate.dm | 9 --------- 2 files changed, 1 insertion(+), 10 deletions(-) diff --git a/code/modules/mob/living/simple_animal/hostile/human/human.dm b/code/modules/mob/living/simple_animal/hostile/human/human.dm index e08d917e7b78..633bd40090e8 100644 --- a/code/modules/mob/living/simple_animal/hostile/human/human.dm +++ b/code/modules/mob/living/simple_animal/hostile/human/human.dm @@ -16,7 +16,7 @@ maxHealth = 100 health = 100 - robust_searching = 1 + robust_searching = TRUE harm_intent_damage = 5 melee_damage_lower = 10 melee_damage_upper = 10 diff --git a/code/modules/mob/living/simple_animal/hostile/human/syndicate.dm b/code/modules/mob/living/simple_animal/hostile/human/syndicate.dm index 35f2f448e89c..0b7b4b6d9bc9 100644 --- a/code/modules/mob/living/simple_animal/hostile/human/syndicate.dm +++ b/code/modules/mob/living/simple_animal/hostile/human/syndicate.dm @@ -1,12 +1,3 @@ -/* - CONTENTS - LINE 10 - BASE MOB - LINE 52 - SWORD AND SHIELD - LINE 164 - GUNS - LINE 267 - MISC -*/ - - ///////////////Base mob//////////// /obj/effect/light_emitter/red_energy_sword //used so there's a combination of both their head light and light coming off the energy sword set_luminosity = 2 From d75dfe1281347cdee0f48428d97080285a1ab40a Mon Sep 17 00:00:00 2001 From: FalloutFalcon Date: Tue, 14 May 2024 19:27:32 -0500 Subject: [PATCH 12/17] how did that happen --- _maps/RandomRuins/BeachRuins/beach_ancient_ruin.dmm | 1 - 1 file changed, 1 deletion(-) diff --git a/_maps/RandomRuins/BeachRuins/beach_ancient_ruin.dmm b/_maps/RandomRuins/BeachRuins/beach_ancient_ruin.dmm index 00da7d5c7a20..be52f6a67f46 100644 --- a/_maps/RandomRuins/BeachRuins/beach_ancient_ruin.dmm +++ b/_maps/RandomRuins/BeachRuins/beach_ancient_ruin.dmm @@ -374,7 +374,6 @@ }, /obj/item/gun/energy/lasercannon{ pixel_y = 5; - }, /obj/item/gun/energy/lasercannon, /obj/effect/turf_decal/industrial/hatch, From 887e42b3a4ec791177a8e83b37b686578ba61847 Mon Sep 17 00:00:00 2001 From: fallcon Date: Wed, 15 May 2024 07:22:31 -0500 Subject: [PATCH 13/17] script name --- tools/UpdatePaths/Scripts/2972_human_hostile.txt | 7 +++++++ 1 file changed, 7 insertions(+) create mode 100644 tools/UpdatePaths/Scripts/2972_human_hostile.txt diff --git a/tools/UpdatePaths/Scripts/2972_human_hostile.txt b/tools/UpdatePaths/Scripts/2972_human_hostile.txt new file mode 100644 index 000000000000..297ba2df7bb9 --- /dev/null +++ b/tools/UpdatePaths/Scripts/2972_human_hostile.txt @@ -0,0 +1,7 @@ +/mob/living/simple_animal/hostile/pirate/@SUBTYPES: /mob/living/simple_animal/hostile/human/pirate/@SUBTYPES {@OLD} +/mob/living/simple_animal/hostile/frontier/@SUBTYPES: /mob/living/simple_animal/hostile/human/frontier/@SUBTYPES {@OLD} +/mob/living/simple_animal/hostile/nanotrasen/@SUBTYPES: /mob/living/simple_animal/hostile/human/nanotrasen/@SUBTYPES {@OLD} +/mob/living/simple_animal/hostile/skeleton/@SUBTYPES: /mob/living/simple_animal/hostile/human/skeleton/@SUBTYPES {@OLD} +/mob/living/simple_animal/hostile/asteroid/whitesands/@SUBTYPES: /mob/living/simple_animal/hostile/human/hermit/@SUBTYPES {@OLD} +/mob/living/simple_animal/hostile/cat_butcherer/@SUBTYPES: /mob/living/simple_animal/hostile/human/cat_butcherer/@SUBTYPES {@OLD} +/mob/living/simple_animal/hostile/syndicate/@SUBTYPES:: /mob/living/simple_animal/hostile/human/syndicate/@SUBTYPES {@OLD} From 1593f4e2ab35fc3e32c47a1efa24d0ed8b34c2ba Mon Sep 17 00:00:00 2001 From: fallcon Date: Wed, 15 May 2024 07:22:43 -0500 Subject: [PATCH 14/17] script. name. --- tools/UpdatePaths/Scripts/human_hostile.txt | 7 ------- 1 file changed, 7 deletions(-) delete mode 100644 tools/UpdatePaths/Scripts/human_hostile.txt diff --git a/tools/UpdatePaths/Scripts/human_hostile.txt b/tools/UpdatePaths/Scripts/human_hostile.txt deleted file mode 100644 index 297ba2df7bb9..000000000000 --- a/tools/UpdatePaths/Scripts/human_hostile.txt +++ /dev/null @@ -1,7 +0,0 @@ -/mob/living/simple_animal/hostile/pirate/@SUBTYPES: /mob/living/simple_animal/hostile/human/pirate/@SUBTYPES {@OLD} -/mob/living/simple_animal/hostile/frontier/@SUBTYPES: /mob/living/simple_animal/hostile/human/frontier/@SUBTYPES {@OLD} -/mob/living/simple_animal/hostile/nanotrasen/@SUBTYPES: /mob/living/simple_animal/hostile/human/nanotrasen/@SUBTYPES {@OLD} -/mob/living/simple_animal/hostile/skeleton/@SUBTYPES: /mob/living/simple_animal/hostile/human/skeleton/@SUBTYPES {@OLD} -/mob/living/simple_animal/hostile/asteroid/whitesands/@SUBTYPES: /mob/living/simple_animal/hostile/human/hermit/@SUBTYPES {@OLD} -/mob/living/simple_animal/hostile/cat_butcherer/@SUBTYPES: /mob/living/simple_animal/hostile/human/cat_butcherer/@SUBTYPES {@OLD} -/mob/living/simple_animal/hostile/syndicate/@SUBTYPES:: /mob/living/simple_animal/hostile/human/syndicate/@SUBTYPES {@OLD} From 1c273fa0dae93d66d31e024eb0dc52d1c192cef0 Mon Sep 17 00:00:00 2001 From: FalloutFalcon Date: Fri, 24 May 2024 02:01:58 -0500 Subject: [PATCH 15/17] oop --- code/modules/mob/living/simple_animal/hostile/human/skeleton.dm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/code/modules/mob/living/simple_animal/hostile/human/skeleton.dm b/code/modules/mob/living/simple_animal/hostile/human/skeleton.dm index db5765e15317..675c6fc99342 100644 --- a/code/modules/mob/living/simple_animal/hostile/human/skeleton.dm +++ b/code/modules/mob/living/simple_animal/hostile/human/skeleton.dm @@ -29,7 +29,7 @@ loot = list(/obj/effect/decal/remains/human) footstep_type = FOOTSTEP_MOB_SHOE -/mob/living/simple_animal/hostile/human/templar +/mob/living/simple_animal/hostile/human/skeleton/templar name = "undead templar" desc = "The reanimated remains of a holy templar knight." icon_state = "templar" From ca6185e4d35e41716c5c2ba70cf55f5b5ebe780f Mon Sep 17 00:00:00 2001 From: FalloutFalcon Date: Fri, 24 May 2024 04:38:31 -0500 Subject: [PATCH 16/17] converts zombies to humans --- .../JungleRuins/jungle_medtech_outbreak.dmm | 26 ++++++------- _maps/RandomRuins/SpaceRuins/ntfacility.dmm | 30 +++++++-------- .../SpaceRuins/singularity_lab.dmm | 38 +++++++++---------- .../structures/icemoon/cave_entrance.dm | 26 ++++++------- .../hostile/{ => human}/zombie.dm | 12 +++--- shiptest.dme | 2 +- 6 files changed, 67 insertions(+), 67 deletions(-) rename code/modules/mob/living/simple_animal/hostile/{ => human}/zombie.dm (83%) diff --git a/_maps/RandomRuins/JungleRuins/jungle_medtech_outbreak.dmm b/_maps/RandomRuins/JungleRuins/jungle_medtech_outbreak.dmm index 0f68c7b7ebd9..e8f075b9005d 100644 --- a/_maps/RandomRuins/JungleRuins/jungle_medtech_outbreak.dmm +++ b/_maps/RandomRuins/JungleRuins/jungle_medtech_outbreak.dmm @@ -22,7 +22,7 @@ /obj/effect/turf_decal/industrial/warning{ dir = 6 }, -/mob/living/simple_animal/hostile/zombie, +/mob/living/simple_animal/hostile/human/zombie, /turf/open/floor/plasteel/white, /area/ship/science) "aM" = ( @@ -234,7 +234,7 @@ /area/ship/engineering/electrical) "fe" = ( /obj/effect/decal/cleanable/dirt/dust, -/mob/living/simple_animal/hostile/zombie{ +/mob/living/simple_animal/hostile/human/zombie{ zombiejob = "Geneticist" }, /turf/open/floor/plasteel/tech/techmaint, @@ -511,7 +511,7 @@ dir = 1 }, /obj/effect/gibspawner/human, -/mob/living/simple_animal/hostile/zombie{ +/mob/living/simple_animal/hostile/human/zombie{ zombiejob = "Janitor" }, /turf/open/floor/plasteel/dark, @@ -542,7 +542,7 @@ "jL" = ( /obj/structure/chair/comfy/orange/directional/north, /obj/effect/decal/cleanable/dirt/dust, -/mob/living/simple_animal/hostile/zombie{ +/mob/living/simple_animal/hostile/human/zombie{ name = "Zombiefied Facility Director"; zombiejob = "Research Director" }, @@ -1113,7 +1113,7 @@ /area/ship/medical) "rf" = ( /obj/effect/turf_decal/corner/opaque/orange/full, -/mob/living/simple_animal/hostile/zombie, +/mob/living/simple_animal/hostile/human/zombie, /turf/open/floor/plasteel/white, /area/ship/science/storage) "ro" = ( @@ -1281,14 +1281,14 @@ /turf/open/floor/plating, /area/ship/science/storage) "uT" = ( -/mob/living/simple_animal/hostile/zombie, +/mob/living/simple_animal/hostile/human/zombie, /turf/open/floor/plating, /area/ship/medical) "ve" = ( /obj/effect/turf_decal/industrial/warning{ dir = 10 }, -/mob/living/simple_animal/hostile/zombie, +/mob/living/simple_animal/hostile/human/zombie, /turf/open/floor/plasteel/white, /area/ship/science) "vf" = ( @@ -1308,7 +1308,7 @@ dir = 10 }, /obj/machinery/light/directional/south, -/mob/living/simple_animal/hostile/zombie, +/mob/living/simple_animal/hostile/human/zombie, /turf/open/floor/plasteel/white, /area/ship/medical) "vu" = ( @@ -1679,7 +1679,7 @@ pixel_x = -13; pixel_y = -6 }, -/mob/living/simple_animal/hostile/zombie, +/mob/living/simple_animal/hostile/human/zombie, /turf/open/floor/plasteel/tech, /area/ship/crew/office) "Bh" = ( @@ -1743,7 +1743,7 @@ /turf/open/floor/plasteel/white, /area/ship/science/storage) "Cg" = ( -/mob/living/simple_animal/hostile/zombie{ +/mob/living/simple_animal/hostile/human/zombie{ zombiejob = "Assistant" }, /obj/item/rack_parts, @@ -2208,7 +2208,7 @@ /turf/open/floor/plasteel/tech, /area/ship/science) "Jx" = ( -/mob/living/simple_animal/hostile/zombie{ +/mob/living/simple_animal/hostile/human/zombie{ zombiejob = "Chemist" }, /turf/open/floor/plasteel/white, @@ -2411,7 +2411,7 @@ pixel_x = 4; pixel_y = -13 }, -/mob/living/simple_animal/hostile/zombie{ +/mob/living/simple_animal/hostile/human/zombie{ zombiejob = "Assistant" }, /turf/open/floor/plasteel/dark, @@ -3069,7 +3069,7 @@ dir = 5 }, /obj/effect/decal/cleanable/dirt/dust, -/mob/living/simple_animal/hostile/zombie{ +/mob/living/simple_animal/hostile/human/zombie{ zombiejob = "Assistant" }, /turf/open/floor/plasteel/white, diff --git a/_maps/RandomRuins/SpaceRuins/ntfacility.dmm b/_maps/RandomRuins/SpaceRuins/ntfacility.dmm index d17fe7601d26..8c33f3af1b18 100644 --- a/_maps/RandomRuins/SpaceRuins/ntfacility.dmm +++ b/_maps/RandomRuins/SpaceRuins/ntfacility.dmm @@ -114,7 +114,7 @@ /obj/effect/mob_spawn/human/corpse/assistant{ outfit = /datum/outfit/job/cmo }, -/mob/living/simple_animal/hostile/zombie, +/mob/living/simple_animal/hostile/human/zombie, /turf/open/floor/mineral/titanium/blue, /area/ruin/powered) "dh" = ( @@ -136,7 +136,7 @@ /turf/open/floor/plating, /area/ruin/powered) "dm" = ( -/mob/living/simple_animal/hostile/zombie, +/mob/living/simple_animal/hostile/human/zombie, /obj/effect/decal/cleanable/dirt/dust, /turf/open/floor/plasteel/dark, /area/ruin/powered) @@ -269,7 +269,7 @@ /turf/open/floor/plating, /area/ruin/powered) "gb" = ( -/mob/living/simple_animal/hostile/zombie, +/mob/living/simple_animal/hostile/human/zombie, /obj/effect/decal/cleanable/dirt/dust, /obj/effect/decal/cleanable/dirt, /turf/open/floor/plasteel/dark, @@ -389,8 +389,8 @@ /turf/open/floor/vault, /area/ruin/powered) "hI" = ( -/mob/living/simple_animal/hostile/zombie, -/mob/living/simple_animal/hostile/zombie, +/mob/living/simple_animal/hostile/human/zombie, +/mob/living/simple_animal/hostile/human/zombie, /obj/effect/decal/cleanable/dirt/dust, /turf/open/floor/plating, /area/ruin/powered) @@ -478,7 +478,7 @@ /turf/open/floor/plasteel/white, /area/ruin/powered) "jP" = ( -/mob/living/simple_animal/hostile/zombie, +/mob/living/simple_animal/hostile/human/zombie, /obj/effect/decal/cleanable/dirt/dust, /obj/effect/decal/cleanable/dirt, /obj/effect/turf_decal/corner/opaque/black{ @@ -568,7 +568,7 @@ pixel_x = -12 }, /obj/effect/gibspawner/human, -/mob/living/simple_animal/hostile/zombie, +/mob/living/simple_animal/hostile/human/zombie, /obj/effect/decal/cleanable/dirt/dust, /obj/effect/decal/cleanable/dirt, /turf/open/floor/plasteel/dark, @@ -879,7 +879,7 @@ /obj/effect/turf_decal/number/four{ dir = 4 }, -/mob/living/simple_animal/hostile/zombie, +/mob/living/simple_animal/hostile/human/zombie, /obj/effect/decal/cleanable/dirt/dust, /obj/effect/decal/cleanable/dirt, /turf/open/floor/plasteel/dark, @@ -1113,13 +1113,13 @@ /obj/effect/decal/cleanable/blood/tracks{ dir = 6 }, -/mob/living/simple_animal/hostile/zombie, +/mob/living/simple_animal/hostile/human/zombie, /obj/effect/decal/cleanable/dirt/dust, /obj/effect/decal/cleanable/dirt, /turf/open/floor/plating, /area/ruin/powered) "BG" = ( -/mob/living/simple_animal/hostile/zombie, +/mob/living/simple_animal/hostile/human/zombie, /obj/effect/decal/cleanable/dirt/dust, /obj/effect/decal/cleanable/dirt, /turf/open/floor/plasteel, @@ -1671,7 +1671,7 @@ /turf/open/floor/plasteel/dark, /area/ruin/powered) "LD" = ( -/mob/living/simple_animal/hostile/zombie, +/mob/living/simple_animal/hostile/human/zombie, /obj/effect/decal/cleanable/dirt, /obj/effect/decal/cleanable/dirt/dust, /turf/open/floor/carpet/royalblue, @@ -1959,7 +1959,7 @@ /area/ruin/powered) "TD" = ( /obj/effect/gibspawner/human, -/mob/living/simple_animal/hostile/zombie, +/mob/living/simple_animal/hostile/human/zombie, /obj/effect/decal/cleanable/dirt/dust, /obj/effect/decal/cleanable/dirt, /turf/open/floor/plasteel/dark, @@ -2037,7 +2037,7 @@ /turf/open/floor/plasteel/dark, /area/ruin/powered) "VE" = ( -/mob/living/simple_animal/hostile/zombie, +/mob/living/simple_animal/hostile/human/zombie, /obj/effect/decal/cleanable/dirt, /obj/effect/decal/cleanable/dirt/dust, /turf/open/floor/plasteel/dark, @@ -2140,7 +2140,7 @@ /turf/open/floor/carpet/royalblue, /area/ruin/powered) "XB" = ( -/mob/living/simple_animal/hostile/zombie, +/mob/living/simple_animal/hostile/human/zombie, /obj/effect/decal/cleanable/dirt/dust, /turf/open/floor/plating, /area/ruin/powered) @@ -2221,7 +2221,7 @@ /area/ruin/powered) "Zu" = ( /obj/machinery/door/poddoor/preopen, -/mob/living/simple_animal/hostile/zombie, +/mob/living/simple_animal/hostile/human/zombie, /obj/effect/decal/cleanable/dirt/dust, /turf/open/floor/plasteel/dark, /area/ruin/powered) diff --git a/_maps/RandomRuins/SpaceRuins/singularity_lab.dmm b/_maps/RandomRuins/SpaceRuins/singularity_lab.dmm index 202a6c0c0b74..54896bfe8630 100644 --- a/_maps/RandomRuins/SpaceRuins/singularity_lab.dmm +++ b/_maps/RandomRuins/SpaceRuins/singularity_lab.dmm @@ -827,7 +827,7 @@ /obj/structure/spacevine/dense{ pixel_x = -32 }, -/mob/living/simple_animal/hostile/zombie/kudzu{ +/mob/living/simple_animal/hostile/human/zombie/kudzu{ zombiejob = "Assistant" }, /obj/structure/flora/ausbushes/lavendergrass, @@ -885,7 +885,7 @@ /area/ruin/space/has_grav/singularitylab/cargo) "dx" = ( /obj/structure/spacevine/dense, -/mob/living/simple_animal/hostile/zombie/kudzu{ +/mob/living/simple_animal/hostile/human/zombie/kudzu{ zombiejob = "Assistant" }, /turf/open/floor/plating/grass/jungle{ @@ -2576,7 +2576,7 @@ }, /obj/structure/window/reinforced/tinted/frosted, /obj/item/soap/nanotrasen, -/mob/living/simple_animal/hostile/zombie/kudzu{ +/mob/living/simple_animal/hostile/human/zombie/kudzu{ zombiejob = "Assistant" }, /turf/open/floor/plasteel/dark, @@ -2642,7 +2642,7 @@ /turf/open/floor/plating/asteroid/airless, /area/ruin/space/has_grav) "kR" = ( -/mob/living/simple_animal/hostile/zombie/kudzu{ +/mob/living/simple_animal/hostile/human/zombie/kudzu{ zombiejob = "Cargo Technician" }, /obj/effect/turf_decal/siding/yellow{ @@ -2942,7 +2942,7 @@ /area/ruin/space/has_grav/singularitylab/lab) "lL" = ( /obj/structure/spacevine/dense, -/mob/living/simple_animal/hostile/zombie/kudzu{ +/mob/living/simple_animal/hostile/human/zombie/kudzu{ zombiejob = "Assistant" }, /obj/structure/flora/ausbushes/fullgrass, @@ -3049,7 +3049,7 @@ /area/ruin/space/has_grav/singularitylab/cargo) "mj" = ( /obj/structure/spacevine/dense, -/mob/living/simple_animal/hostile/zombie/kudzu{ +/mob/living/simple_animal/hostile/human/zombie/kudzu{ zombiejob = "Assistant" }, /obj/structure/flora/ausbushes/fullgrass, @@ -3290,7 +3290,7 @@ /area/ruin/space/has_grav/singularitylab/reactor) "nd" = ( /obj/effect/turf_decal/corner/opaque/white/full, -/mob/living/simple_animal/hostile/zombie/kudzu{ +/mob/living/simple_animal/hostile/human/zombie/kudzu{ zombiejob = "Scientist" }, /obj/machinery/atmospherics/pipe/simple/supply/hidden/layer4{ @@ -3610,7 +3610,7 @@ }, /area/ruin/space/has_grav/singularitylab) "ol" = ( -/mob/living/simple_animal/hostile/zombie/kudzu{ +/mob/living/simple_animal/hostile/human/zombie/kudzu{ zombiejob = "Shaft Miner" }, /turf/open/floor/plasteel/dark, @@ -4271,7 +4271,7 @@ dir = 10 }, /obj/structure/railing/corner, -/mob/living/simple_animal/hostile/zombie/kudzu{ +/mob/living/simple_animal/hostile/human/zombie/kudzu{ zombiejob = "Station Engineer" }, /obj/machinery/atmospherics/pipe/simple/supply/hidden/layer4, @@ -5557,7 +5557,7 @@ /area/ruin/space/has_grav/singularitylab) "wV" = ( /obj/structure/spacevine/dense, -/mob/living/simple_animal/hostile/zombie/kudzu{ +/mob/living/simple_animal/hostile/human/zombie/kudzu{ zombiejob = "Assistant" }, /turf/open/floor/plating/grass/jungle{ @@ -6315,7 +6315,7 @@ "zC" = ( /obj/effect/turf_decal/corner/opaque/white/full, /obj/effect/turf_decal/corner/opaque/white/full, -/mob/living/simple_animal/hostile/zombie/kudzu{ +/mob/living/simple_animal/hostile/human/zombie/kudzu{ zombiejob = "Scientist" }, /obj/effect/turf_decal/siding/thinplating/light, @@ -6899,7 +6899,7 @@ /obj/effect/turf_decal/corner/opaque/purple{ dir = 5 }, -/mob/living/simple_animal/hostile/zombie/kudzu{ +/mob/living/simple_animal/hostile/human/zombie/kudzu{ zombiejob = "Scientist" }, /turf/open/floor/plasteel, @@ -7222,7 +7222,7 @@ "CX" = ( /obj/effect/turf_decal/corner/opaque/white/full, /obj/effect/turf_decal/corner/opaque/white/full, -/mob/living/simple_animal/hostile/zombie/kudzu{ +/mob/living/simple_animal/hostile/human/zombie/kudzu{ zombiejob = "Scientist" }, /obj/effect/turf_decal/siding/thinplating/light{ @@ -9024,7 +9024,7 @@ /obj/structure/chair/office{ dir = 8 }, -/mob/living/simple_animal/hostile/zombie/kudzu{ +/mob/living/simple_animal/hostile/human/zombie/kudzu{ zombiejob = "Security Officer" }, /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer2, @@ -9452,7 +9452,7 @@ pixel_y = 4 }, /obj/effect/turf_decal/corner/opaque/white/full, -/mob/living/simple_animal/hostile/zombie/kudzu{ +/mob/living/simple_animal/hostile/human/zombie/kudzu{ zombiejob = "Scientist" }, /obj/effect/turf_decal/siding/thinplating/light/corner, @@ -9798,7 +9798,7 @@ /obj/structure/chair{ dir = 1 }, -/mob/living/simple_animal/hostile/zombie/kudzu{ +/mob/living/simple_animal/hostile/human/zombie/kudzu{ zombiejob = "Cargo Technician" }, /obj/machinery/light/small/directional/south, @@ -10328,7 +10328,7 @@ /obj/structure/chair{ dir = 8 }, -/mob/living/simple_animal/hostile/zombie/kudzu{ +/mob/living/simple_animal/hostile/human/zombie/kudzu{ zombiejob = "Cargo Technician" }, /turf/open/floor/carpet/nanoweave/beige, @@ -11694,7 +11694,7 @@ /obj/structure/chair/office{ dir = 4 }, -/mob/living/simple_animal/hostile/zombie/kudzu{ +/mob/living/simple_animal/hostile/human/zombie/kudzu{ zombiejob = "Quartermaster" }, /obj/effect/decal/cleanable/blood{ @@ -12894,7 +12894,7 @@ /area/ruin/space/has_grav/singularitylab/civvie) "WE" = ( /obj/structure/spacevine, -/mob/living/simple_animal/hostile/zombie/kudzu{ +/mob/living/simple_animal/hostile/human/zombie/kudzu{ zombiejob = "Assistant" }, /turf/open/floor/plating/grass/jungle{ diff --git a/code/game/objects/structures/icemoon/cave_entrance.dm b/code/game/objects/structures/icemoon/cave_entrance.dm index 0ec3f36e5e70..6ffd8b580a8b 100644 --- a/code/game/objects/structures/icemoon/cave_entrance.dm +++ b/code/game/objects/structures/icemoon/cave_entrance.dm @@ -979,46 +979,46 @@ GLOBAL_LIST_INIT(ore_probability, list( playsound(loc,'sound/misc/bloblarm.ogg', 120, FALSE, 50, TRUE, TRUE) if(prob(35)) new /obj/item/storage/box/rndboards(loc) - new /mob/living/simple_animal/hostile/zombie(loc) + new /mob/living/simple_animal/hostile/human/zombie(loc) if(prob(35)) new /obj/item/storage/box/stockparts/deluxe(loc) - new /mob/living/simple_animal/hostile/zombie(loc) - new /mob/living/simple_animal/hostile/zombie(loc) + new /mob/living/simple_animal/hostile/human/zombie(loc) + new /mob/living/simple_animal/hostile/human/zombie(loc) if(prob(15)) new /obj/effect/spawner/lootdrop/stockparts(loc) - new /mob/living/simple_animal/hostile/zombie(loc) + new /mob/living/simple_animal/hostile/human/zombie(loc) if(prob(15)) new /obj/effect/spawner/lootdrop/stockparts(loc) - new /mob/living/simple_animal/hostile/zombie(loc) + new /mob/living/simple_animal/hostile/human/zombie(loc) if(prob(15)) new /obj/effect/spawner/lootdrop/stockparts(loc) - new /mob/living/simple_animal/hostile/zombie(loc) + new /mob/living/simple_animal/hostile/human/zombie(loc) if(prob(15)) new /obj/effect/spawner/lootdrop/stockparts(loc) - new /mob/living/simple_animal/hostile/zombie(loc) + new /mob/living/simple_animal/hostile/human/zombie(loc) if(prob(30)) new /obj/item/circuitboard/machine/rdserver(loc) - new /mob/living/simple_animal/hostile/zombie(loc) + new /mob/living/simple_animal/hostile/human/zombie(loc) if(prob(35)) new /obj/item/research_notes/loot/big(loc) - new /mob/living/simple_animal/hostile/zombie(loc) + new /mob/living/simple_animal/hostile/human/zombie(loc) else new /obj/item/research_notes/loot/medium(loc) if(prob(35)) new /obj/item/research_notes/loot/medium(loc) - new /mob/living/simple_animal/hostile/zombie(loc) + new /mob/living/simple_animal/hostile/human/zombie(loc) else new /obj/item/research_notes/loot/small(loc) if(prob(35)) new /obj/item/pneumatic_cannon(loc) - new /mob/living/simple_animal/hostile/zombie(loc) + new /mob/living/simple_animal/hostile/human/zombie(loc) if(prob(45)) new /obj/item/research_notes/loot/medium(loc) - new /mob/living/simple_animal/hostile/zombie(loc) + new /mob/living/simple_animal/hostile/human/zombie(loc) else new /obj/item/research_notes/loot/small(loc) new/turf/open/floor/mineral/titanium/purple(loc) - new /mob/living/simple_animal/hostile/zombie(loc) + new /mob/living/simple_animal/hostile/human/zombie(loc) if(22)//Silverback's locker room visible_message("You catch a glimpse of verdant green. Smells like a locker room.") playsound(loc,'sound/creatures/gorilla.ogg', 75, FALSE, 50, TRUE, TRUE) diff --git a/code/modules/mob/living/simple_animal/hostile/zombie.dm b/code/modules/mob/living/simple_animal/hostile/human/zombie.dm similarity index 83% rename from code/modules/mob/living/simple_animal/hostile/zombie.dm rename to code/modules/mob/living/simple_animal/hostile/human/zombie.dm index 6f1db7aaf996..27f412f3d545 100644 --- a/code/modules/mob/living/simple_animal/hostile/zombie.dm +++ b/code/modules/mob/living/simple_animal/hostile/human/zombie.dm @@ -1,4 +1,4 @@ -/mob/living/simple_animal/hostile/zombie +/mob/living/simple_animal/hostile/human/zombie name = "Shambling Corpse" desc = "When there is no more room in hell, the dead will walk in outer space." icon = 'icons/mob/simple_human.dmi' @@ -24,11 +24,11 @@ var/infection_chance = 0 var/obj/effect/mob_spawn/human/corpse/delayed/corpse -/mob/living/simple_animal/hostile/zombie/Initialize(mapload) +/mob/living/simple_animal/hostile/human/zombie/Initialize(mapload) . = ..() INVOKE_ASYNC(src, PROC_REF(setup_visuals)) -/mob/living/simple_animal/hostile/zombie/proc/setup_visuals() +/mob/living/simple_animal/hostile/human/zombie/proc/setup_visuals() var/datum/preferences/dummy_prefs = new dummy_prefs.pref_species = new /datum/species/zombie dummy_prefs.randomise[RANDOM_BODY] = TRUE @@ -48,17 +48,17 @@ corpse.mob_species = /datum/species/zombie corpse.mob_name = name -/mob/living/simple_animal/hostile/zombie/AttackingTarget() +/mob/living/simple_animal/hostile/human/zombie/AttackingTarget() . = ..() if(. && ishuman(target) && prob(infection_chance)) try_to_zombie_infect(target) -/mob/living/simple_animal/hostile/zombie/drop_loot() +/mob/living/simple_animal/hostile/human/zombie/drop_loot() . = ..() corpse.forceMove(drop_location()) corpse.create() -/mob/living/simple_animal/hostile/zombie/kudzu +/mob/living/simple_animal/hostile/human/zombie/kudzu name = "shambling bramble" desc = "A shambling mass of vibrant vines and rotting flesh. " melee_damage_lower = 15 diff --git a/shiptest.dme b/shiptest.dme index 5ac84b217367..196da5601657 100644 --- a/shiptest.dme +++ b/shiptest.dme @@ -2727,7 +2727,6 @@ #include "code\modules\mob\living\simple_animal\hostile\tree.dm" #include "code\modules\mob\living\simple_animal\hostile\venus_human_trap.dm" #include "code\modules\mob\living\simple_animal\hostile\wumborian_fugu.dm" -#include "code\modules\mob\living\simple_animal\hostile\zombie.dm" #include "code\modules\mob\living\simple_animal\hostile\bosses\boss.dm" #include "code\modules\mob\living\simple_animal\hostile\gorilla\emotes.dm" #include "code\modules\mob\living\simple_animal\hostile\gorilla\gorilla.dm" @@ -2740,6 +2739,7 @@ #include "code\modules\mob\living\simple_animal\hostile\human\skeleton.dm" #include "code\modules\mob\living\simple_animal\hostile\human\survivors.dm" #include "code\modules\mob\living\simple_animal\hostile\human\syndicate.dm" +#include "code\modules\mob\living\simple_animal\hostile\human\zombie.dm" #include "code\modules\mob\living\simple_animal\hostile\jungle\_jungle_mobs.dm" #include "code\modules\mob\living\simple_animal\hostile\jungle\leaper.dm" #include "code\modules\mob\living\simple_animal\hostile\jungle\mega_arachnid.dm" From 0b122eb73a74601ab48b3caa489270769e8dd4d5 Mon Sep 17 00:00:00 2001 From: FalloutFalcon Date: Mon, 27 May 2024 19:17:03 -0500 Subject: [PATCH 17/17] fix extra corpse --- code/modules/mob/living/simple_animal/hostile/human/zombie.dm | 1 + 1 file changed, 1 insertion(+) diff --git a/code/modules/mob/living/simple_animal/hostile/human/zombie.dm b/code/modules/mob/living/simple_animal/hostile/human/zombie.dm index 27f412f3d545..7a12465b98bb 100644 --- a/code/modules/mob/living/simple_animal/hostile/human/zombie.dm +++ b/code/modules/mob/living/simple_animal/hostile/human/zombie.dm @@ -19,6 +19,7 @@ atmos_requirements = list("min_oxy" = 0, "max_oxy" = 0, "min_tox" = 0, "max_tox" = 0, "min_co2" = 0, "max_co2" = 0, "min_n2" = 0, "max_n2" = 0) minbodytemp = 0 status_flags = CANPUSH + loot = list() del_on_death = 1 var/zombiejob = "Medical Doctor" var/infection_chance = 0