From 2ccfc29da17812b05986cc4ee4a3e3ee5926f38e Mon Sep 17 00:00:00 2001 From: SkyratBot <59378654+SkyratBot@users.noreply.github.com> Date: Tue, 2 Feb 2021 20:03:41 +0100 Subject: [PATCH] [MIRROR] Martial arts combo meter (#3022) * Martial arts combo meter (#56520) * Martial arts combo meter Co-authored-by: Jack LeCroy <3073035+jacklecroy@users.noreply.github.com> --- code/_onclick/hud/_defines.dm | 1 + code/_onclick/hud/hud.dm | 2 ++ code/_onclick/hud/human.dm | 3 ++ code/_onclick/hud/living.dm | 3 ++ code/_onclick/hud/screen_objects.dm | 25 ++++++++++++++ code/datums/martial/_martial.dm | 47 ++++++++++++++++----------- code/datums/martial/cqc.dm | 1 + code/datums/martial/plasma_fist.dm | 1 + code/datums/martial/sleeping_carp.dm | 1 + icons/hud/screen_gen.dmi | Bin 107758 -> 109428 bytes 10 files changed, 65 insertions(+), 19 deletions(-) diff --git a/code/_onclick/hud/_defines.dm b/code/_onclick/hud/_defines.dm index b8bfb039ab3..9c4d8c62b77 100644 --- a/code/_onclick/hud/_defines.dm +++ b/code/_onclick/hud/_defines.dm @@ -45,6 +45,7 @@ #define ui_back "CENTER-2:14,SOUTH:5" #define ui_storage1 "CENTER+1:18,SOUTH:5" #define ui_storage2 "CENTER+2:20,SOUTH:5" +#define ui_combo "CENTER+4:24,SOUTH+1:7" //combo meter for martial arts //Lower right, persistent menu #define ui_drop_throw "EAST-1:28,SOUTH+1:7" diff --git a/code/_onclick/hud/hud.dm b/code/_onclick/hud/hud.dm index 5b9d9d70080..87dc8fe81ec 100644 --- a/code/_onclick/hud/hud.dm +++ b/code/_onclick/hud/hud.dm @@ -34,6 +34,7 @@ GLOBAL_LIST_INIT(available_ui_styles, list( var/atom/movable/screen/alien_plasma_display var/atom/movable/screen/alien_queen_finder + var/atom/movable/screen/combo/combo_display var/atom/movable/screen/action_intent var/atom/movable/screen/zone_select @@ -111,6 +112,7 @@ GLOBAL_LIST_INIT(available_ui_styles, list( blobpwrdisplay = null alien_plasma_display = null alien_queen_finder = null + combo_display = null QDEL_LIST_ASSOC_VAL(plane_masters) QDEL_LIST(screenoverlays) diff --git a/code/_onclick/hud/human.dm b/code/_onclick/hud/human.dm index 07d8fa84515..7e179cab3e2 100644 --- a/code/_onclick/hud/human.dm +++ b/code/_onclick/hud/human.dm @@ -310,6 +310,9 @@ zone_select.update_icon() static_inventory += zone_select + combo_display = new /atom/movable/screen/combo() + infodisplay += combo_display + for(var/atom/movable/screen/inventory/inv in (static_inventory + toggleable_inventory)) if(inv.slot_id) inv.hud = src diff --git a/code/_onclick/hud/living.dm b/code/_onclick/hud/living.dm index 331b443ead4..8afb7892404 100644 --- a/code/_onclick/hud/living.dm +++ b/code/_onclick/hud/living.dm @@ -11,6 +11,9 @@ pull_icon.hud = src static_inventory += pull_icon + combo_display = new /atom/movable/screen/combo() + infodisplay += combo_display + //mob health doll! assumes whatever sprite the mob is healthdoll = new /atom/movable/screen/healthdoll/living() healthdoll.hud = src diff --git a/code/_onclick/hud/screen_objects.dm b/code/_onclick/hud/screen_objects.dm index 841da4399e0..7c2b0f6446d 100644 --- a/code/_onclick/hud/screen_objects.dm +++ b/code/_onclick/hud/screen_objects.dm @@ -730,3 +730,28 @@ /atom/movable/screen/component_button/Click(params) if(parent) parent.component_click(src, params) + +/atom/movable/screen/combo + icon_state = "" + mouse_opacity = MOUSE_OPACITY_TRANSPARENT + screen_loc = ui_combo + layer = ABOVE_HUD_LAYER + var/timerid + +/atom/movable/screen/combo/proc/clear_streak() + cut_overlays() + icon_state = "" + +/atom/movable/screen/combo/update_icon_state(streak = "") + clear_streak() + if (timerid) + deltimer(timerid) + if (!streak) + return + timerid = addtimer(CALLBACK(src, .proc/clear_streak), 20, TIMER_UNIQUE | TIMER_STOPPABLE) + icon_state = "combo" + for (var/i = 1; i <= length(streak); ++i) + var/intent_text = copytext(streak, i, i + 1) + var/image/intent_icon = image(icon,src,"combo_[intent_text]") + intent_icon.pixel_x = 16 * (i - 1) - 8 * length(streak) + add_overlay(intent_icon) diff --git a/code/datums/martial/_martial.dm b/code/datums/martial/_martial.dm index 51c12837725..47ae8cd89e0 100644 --- a/code/datums/martial/_martial.dm +++ b/code/datums/martial/_martial.dm @@ -9,6 +9,8 @@ var/help_verb var/allow_temp_override = TRUE //if this martial art can be overridden by temporary martial arts var/smashes_tables = FALSE //If the martial art smashes tables when performing table slams and head smashes + var/datum/weakref/holder //owner of the martial art + var/display_combos = FALSE //shows combo meter if true /datum/martial_art/proc/help_act(mob/living/A, mob/living/D) return FALSE @@ -31,48 +33,55 @@ streak = streak+element if(length(streak) > max_streak_length) streak = copytext(streak, 1 + length(streak[1])) + if (display_combos) + var/mob/living/holder_living = holder.resolve() + holder_living?.hud_used?.combo_display.update_icon_state(streak) /datum/martial_art/proc/reset_streak(mob/living/new_target) current_target = new_target streak = "" + var/mob/living/holder_living = holder.resolve() + holder_living?.hud_used?.combo_display.update_icon_state(streak) -/datum/martial_art/proc/teach(mob/living/owner, make_temporary=FALSE) - if(!istype(owner) || !owner.mind) +/datum/martial_art/proc/teach(mob/living/holder_living, make_temporary=FALSE) + if(!istype(holder_living) || !holder_living.mind) return FALSE - if(owner.mind.martial_art) + if(holder_living.mind.martial_art) if(make_temporary) - if(!owner.mind.martial_art.allow_temp_override) + if(!holder_living.mind.martial_art.allow_temp_override) return FALSE - store(owner.mind.martial_art, owner) + store(holder_living.mind.martial_art, holder_living) else - owner.mind.martial_art.on_remove(owner) + holder_living.mind.martial_art.on_remove(holder_living) else if(make_temporary) - base = owner.mind.default_martial_art + base = holder_living.mind.default_martial_art if(help_verb) - add_verb(owner, help_verb) - owner.mind.martial_art = src + add_verb(holder_living, help_verb) + holder_living.mind.martial_art = src + holder = WEAKREF(holder_living) return TRUE -/datum/martial_art/proc/store(datum/martial_art/old, mob/living/owner) - old.on_remove(owner) +/datum/martial_art/proc/store(datum/martial_art/old, mob/living/holder_living) + old.on_remove(holder_living) if (old.base) //Checks if old is temporary, if so it will not be stored. base = old.base else //Otherwise, old is stored. base = old -/datum/martial_art/proc/remove(mob/living/owner) - if(!istype(owner) || !owner.mind || owner.mind.martial_art != src) +/datum/martial_art/proc/remove(mob/living/holder_living) + if(!istype(holder_living) || !holder_living.mind || holder_living.mind.martial_art != src) return - on_remove(owner) + on_remove(holder_living) if(base) - base.teach(owner) + base.teach(holder_living) else - var/datum/martial_art/default = owner.mind.default_martial_art - default.teach(owner) + var/datum/martial_art/default = holder_living.mind.default_martial_art + default.teach(holder_living) + holder = null -/datum/martial_art/proc/on_remove(mob/living/owner) +/datum/martial_art/proc/on_remove(mob/living/holder_living) if(help_verb) - remove_verb(owner, help_verb) + remove_verb(holder_living, help_verb) return ///Gets called when a projectile hits the owner. Returning anything other than BULLET_ACT_HIT will stop the projectile from hitting the mob. diff --git a/code/datums/martial/cqc.dm b/code/datums/martial/cqc.dm index d28db36b1e6..25d741821f9 100644 --- a/code/datums/martial/cqc.dm +++ b/code/datums/martial/cqc.dm @@ -12,6 +12,7 @@ smashes_tables = TRUE var/old_grab_state = null var/restraining = FALSE + display_combos = TRUE /datum/martial_art/cqc/reset_streak(mob/living/new_target) . = ..() diff --git a/code/datums/martial/plasma_fist.dm b/code/datums/martial/plasma_fist.dm index c87a4d82ca3..3f4e314ad3c 100644 --- a/code/datums/martial/plasma_fist.dm +++ b/code/datums/martial/plasma_fist.dm @@ -10,6 +10,7 @@ var/plasma_power = 1 //starts at a 1, 2, 4 explosion. var/plasma_increment = 1 //how much explosion power gets added per kill (1 = 1, 2, 4. 2 = 2, 4, 8 and so on) var/plasma_cap = 12 //max size explosion level + display_combos = TRUE /datum/martial_art/plasma_fist/proc/check_streak(mob/living/A, mob/living/D) if(findtext(streak,TORNADO_COMBO)) diff --git a/code/datums/martial/sleeping_carp.dm b/code/datums/martial/sleeping_carp.dm index c2eb4ceabf4..203bef763bf 100644 --- a/code/datums/martial/sleeping_carp.dm +++ b/code/datums/martial/sleeping_carp.dm @@ -7,6 +7,7 @@ id = MARTIALART_SLEEPINGCARP allow_temp_override = FALSE help_verb = /mob/living/proc/sleeping_carp_help + display_combos = TRUE /datum/martial_art/the_sleeping_carp/proc/check_streak(mob/living/A, mob/living/D) if(findtext(streak,STRONG_PUNCH_COMBO)) diff --git a/icons/hud/screen_gen.dmi b/icons/hud/screen_gen.dmi index d0abe42459e1f23a25e913fcf3bae84b0c19c390..5fdfbdaceef6bda748011a2930bd43f846ef5091 100644 GIT binary patch delta 25639 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 delta 23956 zcmb??2{@GP+xJMNQsj{&TTv9DB!n?4LbjBpY?DOxHT#&G$eL`~MX9V=%D&B5lAUBX z7|Ylj!;HZ&X1;s+KhOJrzxR8O@A$ssc#ng7z3yu}&-3>?&-1!wbNKLD$KhDv1I)kU zE}mySUoq?!FYrRcvg&G_{uN+<*TaLd?AM^)tK4ccQXk+^X~ADFQ9O2I5$`wulf9Ua zjyrHD-JI0f_L48C*P_UH*u&YY$E%^%@`w+0pTEX10YC7p&f@WfYA3Ir)`eN!FTzXe z`V{WeywQf3jIMT54yJ_{K54bpymMY2)bdrXxhD0!`Sm`-K5l+~p3AMHt*| zMqPMpu6~_V6n<^jC!tzBu3VWpEK6OlJf!GL4XN%@ReI%VOI9Uk4Es0e^u{}-)zdyo z$;m16zGuWfIA8&^(&>O<@#K4%5A3{pDksbF3z_pNh~n<=m@+{b>T50RZTUUceKM2yW*Djq$maDADt4<`N>MJkocs7yLoD*d%=@38Kdhggk2r28NlcwP z`DM0Vb3go^?kD80EUf|U3g`f`8gu=*i=-@lZu{0|UiH0r<@4;~EaaoUkHqikwzb@I za=$HL6puUV>*GcgKq>mNW4i=su0^ip&p6|1>UVweJA~jA7#+2{3dF?F^ZtrKJYVKt z5VCp}82tJxoA4cZ+w%OYVNd33%e_;gUdJ)9N&irIeSGG9e@-*s%S0*Hh8DADuaCRN zUK_T2c7!EbmTTeU7sUDht_lZrug|7G6}zoJ9Os!Xy&noccPG^Kk>m54*LO-Ql!#`) z=;_W_CN@^+voHh=gQ)7j{SH1oi_oQdZZ44tW*Vhxc zsphu0tt?iMDqK}=v+ggLZ1XLU85hy;^f2)tbYYBpj{4q5Xa@*ok&-G=OtY5~())EL zM+hc0v3>Empm;#n;!AL9vv930Jckbr_n528ce~3C`{HD7hP#U#Q5JhM6HL5lOXP^I zS9iY3jm|1djnC%9UgyhGV8Vo5BLvOM6lEkU-HPe#pg0NGP);^M+gm=rh{f}Voop(b z`GG9?GO$%khzYJ4Z=Z>;jYn4TP);^v!v3y^hQ?c5TQxYgMhOsK3MKxmE1ul zv^ub+eDBRl{r3LD+u=+O)V}PN_>-&Ri=5@VvTcARekaMw@s8;Tx zd1cYt{J|vBm_pn_F0b(HC4E;zg%A2Iw~J;`iMYZk=OHa;ML5~3(84{P;urI2<@1Fs zs!gZMuH6yx`NPG>Gd0$4`04(2!V&_3s92u4+-SZ@JAE0eM(~Iunr|v|GcLE~+57-3 zqsFJWx~2W$nt%OY$Uv&?K@&F9|b z2>!W{;XLLF-Zu*U|DJ&VhcB|b5ABFb{oc@#4f(q#f4UQuf!=@VB}_>@wytL}ItSZZ zcwZ(OgxIEJA#D>d)ab5v3jj62ISUw}7#E9q(_XT_Riqcy;1cwdDb7T=lXo)sJ>W&x z@>l=CHS?I&J@oy#^x$-}D#k!kOJ6Eo1_zT*?)I2G0D+_#uN*Kt0l23^!LB(8i?ah#ZKT>%1{ur^G<*A5dW5RDcT#ejq+Gwqy&x^1D z>fNMkY1oP%PRLN}f89eT$;fFfwyuKXWHD5O3Qk7W}%8Q^T1QTDOOO)v&W=Is7DsCJ-&yxH#5$v`- z5>sC>OdN7$hQg|~Ej(IQDXhv@FZm-M^^81!+E2erYBz>g)%F4oYwrQ=aX}h&@y3Nq zc1VjmFVil0fJ9PcA_b15UnZG7-D5!8tq959oI*qR%-(D7T)7gv~FrLd=t;3c*jtHI;P)QR1C z(tGOS3x(NbYrlB`7P*?9Rrp)lR}k96}zP;G*RLbK>HplIEbVLRCv1V@Lp z86u6U6nT!=;hjpi-+SWJ?HzADfP-%hqiVbIvK1Y>y$x<r7^C1*ZG? zIWyT4C{14FI;-)0NQ8+5oNFeBXe^nP!sFP+O+!7GLATL&L5>o-&ghz@T82taUV&m#cQOOC?6d1gu(-^U$<0; z=I}=^gausB26C3Lzd|ZL_EV?jIQ@~AD)@(v(z^^z%e_)MLFtal2{-Z2S9^UiHKhln z$-v3lhrJCx(%Q;7;_;Nlwu%-Tzo-SjxYNYwT0d&qT=Q8z|-ij3ItH-!Ch5fElz>kD!ayxmX25=u8 zS+=T-YPa3EY{gqt9LBTvUU%Vx#7CIb_!D8Y7xd}7iY)HpjvKHq{BxvMz?PON7)md$ zvO=K77GYPe`=sNk(*eEFN9Pmh6>Tmr`2PUz-v{g!%C7a^H!r|Cc?XkRA?ge~ykphK1c3y8 zi&D_Ie(aDu2)<7^SS&%vg`Cz8Wd0vNSxYun!GEr$J077h`ULzrQgF$_SUq42^<@%1 zc9FJajYlC(lRV=hC&4wp{E4{&(E z*^l^>V?V8KoPcy|nFkh5oi=7v;l7wf&x9p8paK{yW8hNQMXiiqL~Ec1z)wZdYDC^O zCaGo?X-4l+5~6E7;n{U(H0_~`lbSaYN}*C*?)KC?jJcZQc6CFT!w_dRKOkhPd&Pk}`4yqw8bAAO-QyiV`R3*J*e6a86@jp_Y8+z8E(}`# zm-v#e!|^9;I*k<%788fqm_QaCVv8uGcCp41h$`(iJ$hz=RlW65U}2;%g&pA^Hh|#1 zO&a;)mJaLuv8vy`h(1RNenWH;2sin@i2jYyLy~|+QL#p{T`{WMTUFUh*FQTk-Cl-* ztLrr$_;RyL5I^aWgsy5Be!~y==93Xabw1!^KJub&Dz8!syz%w9cX7+sLyPpZ#6{CS zmjR-Kkj=Rcak}bN*n(RQ5w0CCIC{QQnBJOu_gQ8z9+0_(EIrpFOxJJ2(3c(xyWgY$ zxGD`A?gDE*`+n)QWc@=y7BUy@B`7#<893KFUD8m>T*F*jok<54BdOTSbClo1Q5eqE zun4^&L=@Pg6fCjwk{qwY9J}2H*)+xH3$saJQzEBQoA`yuCb&ewPlS`@MdsqtyJjif z#)7+KqNmln!^vm6*m+53EACt!wgX(V$`B9lyqqO|JSH8GTk(aG6Z&1o0U3Y(azX-M z`{qCRM%GhP6)}r>K%lXp8a_JfJt(G#j~D@u%S68M`!2XBT>3RUWZ3Y{-P%@>*lV0U zZYd6!@s@ibeoIO9NYE=mfM%(qnf=~b4yaiax5SU07o#iFgIoweEdTkwuzczh#qrwO zXKgoyD-ebu>7DTW`LKY`6T(9q6=H;X|22-svK#xhLa+jU(M@V@H;QHn($f;fX^u!J zRAkm@pk^u%U~wxu!|PNp7!BsVOD(Njq6F(jw<}4Yr-I%`9|~>_ov{wIZ`ultH0-AXErwPdqS&Uqeike3yGlG*iFv6 z_ZTz^THe0#9Y=%SX3gL%C&%iKSkz z`_M8Y)Cl~M1?+PfcsZ4m1K&=fB*)^}D_gvfrToQ2vS&ip1v<*4q@)nf&Nftl3C$p> zUDzrcdO-{M@N~E8x+T8-GDw-%*66;YBujaiW8QE`->D*g&CrLRI@o!|xTpYN;?So@ z>SA9_Wpiko_Z;Y%538_pAMK2n$*~A-PLd1y__K+)Iwb9n=UcY0w;&0^=bm`o z_kZxJ!;|6HGE6Uyr1!;qRfe7y4m`!1t zz!d_3085^K5Lg(zMSLXpHyCnD13hPRDNYU}!)#~0MVbv=NcJFb8}N6vapkX#%sRdt-O_jp&AxuEO_&I z?@{Y|v2Y?)^j;=V^#LJl)!1_EL3(@Eqgc$Ttso7Cn6Td{>9RFFBS0+7Ev(%S`6R5} z3+Wp6opA`HK9fJf34zE+Ifb={3KZJe8s@XQ4q;Z0QHG|RK{oi)RU{8d(YPr7KU2j1 z#XjIABA4RL+wD@#Qh(%--5BX|`=1_m#R0RKUuV&;F@oLC!@~LFZF)d@fTMsf=4Pie zt^3e^kL#+h)DwI@-Z7)iU1Ug8%7OMl!t}fKjCcLV7GG3X^TWOo?{LRdO#gXFR&11_ z0{CiGfgbvX?OH#lv*Yn>#)2BfY$50V)(UQleOS98YW%!wVu{z0 zcD>}RYKS+KAVcW}_H-E2L2s<`mhbUCF9RxG73HI2y}&C3jWr&&bP2l-D>8d-+Ye|2HWNB`!|IE<8~EZ ze6_!&8LaWuV@T{~xpfqSPKE(DYBe7r4~$~IC}I6*NC~va)5G!g#KprTD}m=?^oR?T zApUG6VwOD8Owy}#-&?eu{q!ea92W1hM^HwZIbThI-PDZBiR>-C)~A0czoX`B7wChp zm0rW@AM*WG)3nGwh-G;wSZiq|@KHIIoc-Au0*+Tu^KW(m8k?MrhPar}nIwd`X1Opz}I|HS#bC zZyjiz6+`ghFARlzRq>j`J}N!NYG9CF`zKQ86G|(|O5@ zvp140`SX8LRn1a7U9eau;{PMPjC!(k`0c4-$lpUl@ zoZ!%#8k0=1W>PnM<()n(OcKzV9P1XXH-S(fPW135E;=y0^g{-YE)kS zdGuiaOv&%R7>>D==Zn~X)u2pCBK|jIqLKQCJN|<@PLn|DAe-am;rue{e@F;Cn0~W~ z9-vlMI5@C4)wOf;DB6yzRU&_SeN#WP7V3R%Gl)8itJ?uq!u}8(jLN^Y9wFX{% z4T3xbawQw`|9MJtRQ$<}_F56tQ(Dbs1z{|i0@h>X-)Oi&%JNuvU8k!|v2F(|J?VD! zpc)r!1rP<1{<0v*LVirh&LHMFWV{|Sl?X;8N?)lL>sPN;gJdBMzCQ=@h1Nqw>BO~6 zpUm24JtAPbtw-+jZ?JxuGVQYW^$b?n+i~-?vk#-cv1)^Qrtd;sK=MIhsC{GYbY5nb z4rERczXS-ZZYa83Gyq!*xZ4hZ&i>Nd&E#YS1u90B3Z4+20SR7Eg4QFN6XWX&D(?Y` zTuLu|aZhL{iV#DG`k155(R$yvt>0x8>EIIJvk2hb4hrTM*GOnu-No+)pmt~q=RpJ% zmdpreQL&_;!WRtzv8L4(*?n-d2`+)6Lr-tPUDj)Bb?AU5D5{afT8J?msAJGxT@O7Y z7|~FAU+pNPY=p%lpQoswpfdioAUDBG`!&c$kBH~K0Jgh;z#Q^@#D0!ZO!HsoER%%; zRFDwdC`}9ns_Q}*eZ1p%dPBKRLT=3}=^8`HEU<<~hm8ksRj7t;X}+^-WKr*Qg*Hn6Ir)qP+=I2PNA3 zqS9qM>Tftq%=e`m?^{nQh~jr9npR-b4ukYtUHJQyNIc+$aFjudyVezXA+D6}>*G_l zXQOIxSfBgPEZXs$;~Pu0_KL$_j@HQ4C5~^2+K0`ISkE^_918F8+RTtY4^@u|oyx5e zUg2>m=ZA{wzTVG#&##Z~7-xgRiuo;_uJ*qvrB-{XR$O#YtWQ>0*^XU?3$y6KieeNE z8+tty6#&(Jne#fRvn*?3FnNJVLuA^AW4MH@8*ssGep%&u0l!8j@A$1i=BqC5pE;TdcXXI<{X%I&s+1C#9fv3{&1OHPe(Et4}wb{D=ZUE-?PKY9YkfdQr2%=U7 zfgUZBK>*PL1dG>xC8&ZAvW@}k=^#8PQ#h#MT?$z4dS(u3_I*Dr zdjny28g_)Sa6k?GZq-O`zRh(}HV(vAQXALlOq`J|gJQ_304_5$^11F(0hM&n z%)2Qcpn(kR<1Bh`oKeh+#K}GVrYa7ci+62q0B=|vXDLDT_^?f&XjhP84LS5HqD zR7p97=D&OeR+j-^#cS0mKcpx8sqf?9BfWjUU)FzI;TE5-^wE3DC-^{s>IS@_CwM{R zxe5PteBeDJ;ZsbUV`aoFkh{KJNfI9qvha-|J0BLOL*5P(yb<3$IU#S~Rw2gAYY+MK z^?&?O)yG;>B<{MOM(Qh}eRF=-ZCYkCTdS9m$1R8ny^D#HfoYn4D;L&6b$FR6%ctDL zsw&Frqz}6yh4EKYvpxg-F$=L-IbaMg%18%RdmT6VI~~|mDVs~_rw>`SY~eB16ykg@ zaiqvpR7j{RS<3s@8`99?^n9|SU0A2FW7WspTy<5|oI^DBG5dc#C@gfiozvs>lbKCk zm0fS3_ObE%!#ktIk$ADhOq zcfhc^vVIppZ>>^xfzk_x9(2(c8lFP2r(7JbgJtg+0&f0&H#D?KzNO@tG`H z?_2m?-o5Qd63rzh5;QgOAH@JYZb71%=OvgiyzlC_5wN?Q8x^kM?Y&(su%Wcvx~=Kt z!pRXgupoJ6L^xBlVJGuu;VvngYtH|By5{70;8KGzeCTJW6KGE-@Tvdd_u!HxV3A@d zJ=p#W-+l53DLnjhBq3pZN(8OEAvjDj+<C-^Gbx5NhvsN!<>t&(k&j|{ZSgjnxe{S(me z^4eMwFrWtuXjYp{9&x;6zm))rDHfb%*_rIMvKzdS;@m}f0y{kQAzbsC7bF{p9*Hun zSm)oJka~z59SpwZtE+iNmi#0(>he+Z`(-5;8X7WdMQ7chC)oc(3dk{Hu;?VmQK{x& z7OS+g+yY9=Z!~;300E^l16v)wjx{9S*)T3lOPHGTZp-GK`|_M3VEQ3wsdfA3&)9Gc zrz7`%u9l#coq5P9cOzXJc92$d0gkxwlW*U{vvy+Ky7Jn}O*ouuAz9S8Lgm{>!PU_x z{Z%MRQLS3K*r$Z!5{`7|*yuySEF5T%O zXI^pJ8|Ubx%UT9aJ0-)BHR0h`;3%^sDR`!cxPh^;@np9W=9<&EjGco+RJ|0zYiZR3 zBw0_4qxz_VQ>CyZ_O4<)ZgK3548`|fu!C6Ef_G-PWb+3H2cKA!`^A<(c|7j6K7DJB zVmA)NJx9iSjkd=)v_)`=egTtDEo!J@y>|5_h8JFXxtJy6{H50HoO7?wzKpjP zYX&`|1B{ftX>l(yzgl6>T0cc;FDLE~sx%(Ik!iYb@z`L4olib?N-4 z6tv02!&PB;xjJQ=Tj2MXN=q*v1w4JT;!#sgiAA!wPnnA7^T?!By%(u{AxA+B@E<(m zdSgLx1*hbz4`!lM2zd#l@>&Ay*N(y^#-c%5$O_&_t=g%e%9Lxy`t4R=*VR+g;CF#) z|IO)8B2H%0E=fzg!)|HdN|@LJV{n&%_kIKHVine>BV61Sni<#jsb$K!5_RU!!s{bdCdP93e}DQe6Vm>v#M_aU z(PR4RCQM%}fZL8hCy;3BHJc59mOmZVwo z-h5lC)1Y!iRq#swl_kVy-M=llVcb3B?3286YUWZDDxnqb7Vp*4G5ef>f-em=XZ?q} zSNgcPqX`@=CW#h^K0j0PVq_}_ctJ*=xv^zA20(F&B1)al*3fSQfI4jQqh~*DKxggl z2MTin3TKIlGu0>r`#yI4M={zxB=!D%fdK9ZSe@1HUGcWmqle}hoqwJs?X{mseeW_?WJ^IQhdRPoqF7&Intfmsmnn&C6Aw7MsAM9azQ`j zA>vL%n&;Gn-r29y31R_FR7+$9C+-e{%!;r&m?7AIsh&=y5B3QAP$* zzot{18g`6UlVFZtqE##eC`eF>QFp_>%gEc9N}+~o=YRYdKZ2W&Gat$lKOMssVdvUi zX@My8WL6`$(?A9AQ2%$?ev{Xyrz@UfTuaE?g8jqMzgAYc;7|R6%>ltrkGfHZ%X}E-M1Pp8fO*Hp1mS2YO@CEW8XrP4ophuul{;&^?qN$;j8|{w~>P<_-sX z*gN<6s<#>sjqkx0gVlmt{7q&m7SCxj+w|Jw>$3}VdRTHDvkvB85;b>^&Zk5+ZE40v zy8pU3l9E<(=IHJp><0}sx#`JAq5h)wLs(O`KFjVb8d-a$6T2K zfqFUmaU19@{mH#2G@fq1m)W)3^e$NNW4-$Z+o%-aZeh3IU*G@V(eAD9*=Emi>g830 zhllb3$gJUMLwh>FlF3s_qmQKHhKT!B2pXMP#+PK`zbPo8Jzvuru zRBaY>rMW>f6aB0sew<9x+*ekUhkQ!#I}!=1cTAw6G>Bc0Cz%$AEadL8kkGHmNocXU zlAhlN)N{pvgX8hHXC2i7ZV;7#)V4rx7UTiQ@B6J)yLRbfs3ARwiUQvsZh7>Ua<2P) z0#F2jT-e%OEm7=&dHqfqKtOE0QtvvKkiNr<&9Rc*AqOC`2B!_FTU%S>c+}-ba~2V7-5y) z>J3CQf!N-D1(*dvtFJ{YU%=-q!xyS7lFv8!RNL9-A)ArMFJ+qTRSy{*n4FZz1!p8g z>ydtD*hQ_R_QCvzqGlk5VH|ryIYs)$T)}dVAnF}B+yCOw&X;f)n8yWlqIS9Oza4vG z^7TmW&f#-^L06-SKoqnIxZLS@wdfHDUmp!`m@^^eXIbCpVRWJtcFHwaK36{A(A_wp z5}~j&ID9K#pC#+`^7}y}vF6LD{!Zz>moI01aU&os>7M0}xAN`YOzO`nyek!*dEO8N zuFA1b+*s46$p;}-p`k#*q{`&vNqw>7Sge%L&;dk8{KXSl|1N8ffh43AKnRMD z5fRHLdiKsW_%+lPv;Qh|s{3d$H(trRcB9fW(CICROssFst@T@Dcvq9RZ~0AK=u1xN zy+6XTJX9GFC%=5d2r~uC$J&;BEn;^3cxnb>TAl;s@G>F?h|Kk4>!$}It#VB5v=t$^ z&s=TVRlicaR7MQ$+&^W?Vs`iPFQ#P3eUXeqr&PpkYY)_8o0@!T_nqff$Ej!r3_azZ z%Ne1}<_{>|P;jnItURPL$Hpf=Ekma)W_hQ<`x>t^XI?3w^|@bj9tXO%cSXs2E8BO6 zfuVbt10i-RQp19_ob)u#wPPQlnLDhPx~G3KJ6Qoul59qkANN^0_MQw)uZv-Ty`~vM zD!y*W-?IcwZYt`v2>whkT_I36bf=hIbGBEe#_4cwmO{w@>@O4K6ieaZFyk>AhMlcM zdZP+EXw_)0t&?kIuW%};DB-@^SLiHI?udzUmCVT*xORg-vT;~5FMCw^sG+!%%R}yI z$=n=H%SQ($#8-7~A6M~Ond$0?HkTf(HXeTW(`alhN0Q-$1=`&Cug*{T$z;(he{~Q- z)QW1&Ax|Q^I8R4tIE!AfAHv($`Zh9!6zcSYMj^>|zZlTzUyN`eLgtN>>ck-_2I<)@ zaf}y64>!qrE898(?8M`-)CQ7ZXD zxReptng8mLeFv8xFXdm()gDW-p~%rmJz8c9%z>A4=vklDz+PXJ1Hh#4q}w(-yWry` zX>9rQ79#?j@9};We3j|_r<@FF>vY--_jZ%K65^Sq0Cd`olJm-%ktUe$b{Q8~*U8*j z73bpMaJ#nnNv?w=m7!pmspO@t-Fx#W#CmvOpv+YDnXBthO{us}If>=JE3dlzkcr_T z(`%|s0a@osv8wGYldPQp%BCHyJ>KJ)s;cr=k6Z*Y{`repZ^$LiA<`#chrGG@+epyF z7f|C%axt0sr=J%+|5PQ%cDx-wIqB{V&!P@3^cY3Cy2LNWT)C<4JW=xy<<)VKxby2X zsPRAFm$Jk5?{wMF>b*1UUQ9{>sPd8|jtVFknt`jN=It^kX7CLS#OdK8A)z55#HKf| zBseBj)jxHJVk$d8P?_KOtmRO}4EdJ6{pNZ!0Lkg`uF+*=Vd^QepCubz_|Kf=h#LwB za3?JE2tAN!AHw_k6GyMryjaxb;1O>g!h>>B=?6=W7>fZ!W7DcmFtU;~-rnjw@lmZ> z;oLxITe4*0wi8CA?G1l|l$5!NcsmoMXR${PTQBc}xx)@~*BU23^F7{)Zwv~qs;4ZZ zbF&{mJ|TVes%sbcR(d8|3R^(<8Wa@t6YpNr;5JsYuJB2KS$VxX(0e~S5?CEB`nJI= z7;6e!2bgM*t45FKq7pYoXr`zU5FY^K?u*Ce-X%(NzP|{*3HuH!u!R z)7Gk4^t^uwzi$tQHm*;o5H9hRjUs@G*I>N8%lKC;$BIXZ8QBjNhc_aesQ0#k^czBIAr9Ety+`7j!c7th@XZb(2=_{tJAQ&d*iT)PAQAB4#C8A>t19{~7H+7Q>mA$D06_!3b?ai5)nUj8T_GKsZ`+|QhIlMQM*v7(R-7jTHb4K z1>x?Rc*tN$G!402>C~%LhVl2eo*OQbFb*m7B>*m~MqlNyeP?cv7qSSSsCQ{o@*4}7 zK4t%@p|Zv9M8W+fI4hYcX^Yv2t9W;=`B-dro`D$e%j>e$yS31r`a>9S5&!(os9!6P zTnlsDBg?it~{Br=Ww=> zk4)RP__T`;a{`GG{d_a4)A$$>+<)fj>E(sm|6R6dK1t$5FV|k?%wr$@1n()F4~}6~ zoW5>{9KGeMDOkux?23Q)NyifZpenU{Bx|H}b=PV4qL!B{)Q!h33FEcX@@#ClG-G;8#Ll$;Cv)a65NIj@OHn_3Sl69oN-i{#s;MOu#^a`2YzF3T55&5|eUZf@{a^`l$G);Hx1{2iaMe;TJf z>Hk=z_#0K~wG3UJOPT6<_r(-fwE)^5T}wMeeOoJ?%F;L9Jcv1ig+B)S~n)@6eaI+1|G z04aIf;avhd)$iCExRutX2R>mB-XIpm>F)ENYEV~{IJSOjkZ(zdGs@NUIde4c%Li}E zf(n{3UNK*ZTz%JN<)|>l(YT)hpH)i4V{=Q#E;Xm@sIVuL@ATEus%NF-dDYWyf3%28 zw_#BQw9WiyL&cVeensD;ZydbTbN}`9Rw2MFS;qFty=dyqH;XHB3J3FfUi4vVK(Ecse|U_bnZQ?^p^w`q7O|64Hcw@B=1^c^n96z0Bj zU-ic}GX2cUS$p-{&m4~&d(!gZPM8H?q_*QhH%ieI`k_gj!G>2KsMctGcKxdFNecn| zSAEE;+D9;hlR99S!e4adrJ^7?>FcDjKjJ1BtMDm$Y2Up&rQyjjbFSL}G?%}WnDc0L z(dW78R|9IPwBC0_y@A{=QV>>ZGhj?o-NWTh#toEDdVLXX_g?Gxn7$`Sc)&JAGn3A+ zu-?NYav7?2JgFi%LkGrrcv1)m%^B5-i*3lv-H$MSxGtP@8w6LB(~QczI% zVGhi^T5>tL*ayqq+M8(sPEF?@SGqo3#K93K7#ZH4QRu%fs9Zh7TXzvF00)i5U&kUL zT1bePb|nD&0GNyM_7f_J2yfpq8%QWTUAXo`XU~N)b@$HdS^u8Nbu1A&qG;&mR|ddktiaY8 z@ZUGTX;!6^N~QJzv|la0Uoau%WqK)BR7jU-LrOnuOEdTLQYBWPk~sJ08vYH4d$Zls@cF7b`IM5yZ^Go5pnUL_kJ;T7cRy8FpV2%T||$G2gq%`FO~U zc)=}TN{_VtB!1D?-SNc|0oU;m_w&QP`_fNZ`@Ev!V&`j~=Yz!$1LdB8Yan(=06-5Q zrnma9w^&SK6n9U=?(>%j#$<*UpqtLClP46eo}*7pN-$^{?lk4N|4EynhFNEz9LAng zbZV$*1vnxEhu@XN>dX?qhX-sVR9b-V@0LDi=53UKsVCJngFL60x(18%&8fW$uW}=9 zi>y@qB9X6OJ)F$y-(#rw>lE%<>*F=GY70b6?^WrU*Kb$I##LcDEj$zbM}I?fQph5@ z4V)W!p6ahx*#f3k8>G~J^{H?Uy~*4AMTMr!?xD2PWpxnPWNr%|<;tDY95-J8w&)jL zy@?c3U)+cVZw|yIq_7Msc3dma0mQ?h$APjgNvr(begi1)lJ=!rRorWn>8mHdkP{;v zCu$AX)>e5ZjrJ6ILCO=8bH<2_%-5G$CWxtQvM+rSEM3{kYrAB}`g3|$_*iwV+7kl~ zo(ZNDY3oi-C=^`KkiRii+Z1O0JN^M5hd(;AuN^s*>VrPy()I05md$R5U)SO-a$qi0 z61UX9vUuu{d|wONbc6QfOxxG+uIw+4IlMk^0qU#+-SZT3-g_EsWcPa4dPYy`mH@cCAF z`9EKrFmb7(JxrAaoX&zvgJ(UAKMVCaPF-O*;pT7rUZHJ#k92~5U5zKn=5d0>1Te=}LM^M770=}#IN3p} zH*u-d1v``#>34kKfuQfb(o9aW~A7^8eG?;TGV_vgdY?mVkJvA{?=Lbxu=7o`P*tr}W*)@3Oi#tvf4I zuRkA*T$`B@u3*3AS(=8#rqd}47o%-NdgLS={Z&;NI|$qt?@Y^Wc6rF#p|=ln965QgtXy}=M)Up5nHRwD`uHhE zph+R}?gPU&_wckYz+>}N0sozKCh)g*m&6SrqKU>}Twa;F1HSin&Jo-FDZU5o)AK(j z*rKGV>`T~{D&AI8b>5FMHC>bem+7A?Jn!Roi}PPf+{YJttMt}vprXtdfR#v?E00te z-0iHC^pZS1-+d8I&B0Jt&bS)q-sru*C-tcGTv#Xs(h1~vY)!;HE?cNRnk6BuK0hQF zQ7w1?(un#ReAUT2_Y80om)S76wLx`J+su z*PTzlm1((kc1G?#p7B$>tILd%{QUgxKX~4Wu1M?+o4Q2TDce0DlExZ#S3Xp>gt3<& zigGp21O`gyzgj@XLUiw(xe^QAs4vZaJSkvU-8Pw=xWZ&S*TjXHYi4YsATD5EkaWQP z_VshU59X_~!8PCc?_aIjL{5$7Xs5|&f*af3atcX*$TcV5T?AKgJPU=uBmp;s(~!M+ zQ;7px0s@mnfuUP5%mOV?`R0kuU#sZqDL7F2B;&>bcUNKtT~C5*?TiG$!eP(@lD>Ilz)p$9(*2~(T>R;&oGXt?Rf?;H5Wu+|hDb@f zCyf*#LPEx0cFe0N#Z};z5G`;l#Q0c7gTr1Lqqizd|wRV~(0jT7!$v>(RT@hN!(sLMJ%J z*V`dF?b|JMePBC|-UjF*4?1ALe9pyA<5uryGf?}HVsqk933A9suUrfj{K`94?EB^B zgv(FacN!ZTC3dZfsXrr62nn%6sqGR? z4l8-Odq-Xx`+&n@6c0-9FPx|Zifcg4=hv+1ha-BrQjMUu1XzED2ns0kJq~1KFo>Ia z^nhSm3TcY8W~!?CvZ`?JPjg^n8hAGlSiAm&=f~E?j;*^d)=4&Uvft|WZzUg4{Bln3 zL3?fmm@zl#D!BF`N4q`d5~^r^NBLt<8_D?3`Zj3|esf#Z)FLB2Jv}cXwT+FFL2*54);@Zd)Ufmw zVP2+4>Wi_o-UCxU2Pt;`Xtjd5mXf-)+FBNEksfZ%sl6g82O+ff8-7Kb`S|Yxu>I{5 zD}TwBU-<3U;Q1MO8-nX>zm+0ssQy!a2gtdR!@}3z)v!G!E+kZFT%!9zkz#`%uh3Ez z5eVV&R7_Ln@M{!L?5v)0;CxkvQoeDxzTfkJt=RzA^h&Vo3Ug^miPXqT#FHl~UifjY zG_=pg)BGz4J?Al@HP(~K6ft2*SfA{v^Dz6#m91*)b{FkYY(utljOmYqH&BZA(tu3j zC!6k!Yac}S+t)dy@X~6=A&>7j{|FrMm=7~@lqWz5Z2Zi{QY}|5seF}DV?qu;ejcGg zZmF1JnO^8gw=D_9)CAPob{pCZjH zx#~+C!L5q1E=aze+14nBL#~4|K%nob#@$^ViR2Kmf+`oRBzEVAoT@4g%o-;%v#_LDZH zu2^h6C5l_>4gV~-TOn@gmA62{nqLW-)CZGdhfzzFwkJH?H<$E%Df7t=U3v4_Nk@wd z+jDf^+0P$<24Y~2nRYw+K$W}mwES-O}-8}0Js$+=`91SmXUPTErp)^}|>g6J{2 zCN%%NCWboPSG7R{)p^xEHzQ`RA(4+qc@`>5x(57s&0|%?e^a_RPxsqvyR5BeW_?}H z1MK7rkAS~ne5?NO)O4LUp?DwVI&+)RUPvb4-scD6gK8JP-S3{AZVIj_X$pQtua>oK z-EJ~wn@5O#Itm!ut2(k>U|D%xjw zH|&)uNF%-{q*@(vd1U$S8P7vyd;~pJyf_x1uX(GfKI>a@iatG~#>33^p6^(LB61Zz zv9iqaK*H?NJ81rc{P0EJZw@1pVBfs)ThqTqqccwcQYj@%bG?Qi_=idFj8Wk0;!*w+ zj4grww0GVU%lVm37wwN|kK)0y4*|!)*o4wx7#XYc?!?0rauMQR60TT*t8(cNLat2< z4GpxdCQk=gqQlHfycHo;$IJu8(L1eD_Gtf1x#Deq5LqjlP0{9n_Q&15Jz>J$)HVu8 z-n}M5`sg>#@Jy(OSYM1fz7RuMFq2vMDnO4-{pZkV=wMFaS~Cpi2dIM8CxuI&$#)I`|CkEZ)x^qDjuc=scQ zxd}`hlnAeDAnY80fNEsRpFRq@A9QWM6Ia=W`QhobE%oO?wN@LT<)s*7awU8?4^^F_Yuaw4xbzFx> zGndG9b*u~(M!%u6xw{EvTyUxe6Wc}4xL-xQRLs+`YP{*G^m8|D_FT6qeb&fjpL=BQ z-Me?v{#(DtSsKpL^N-!aZqFwgTf{kGDtVUof05>+X5s$$ieE!RT)raRoz2_rpwe~h zZ)07Q0LIr^Nmuf@fb+YrFMvqlmEJMcmWPOoP)qUC>5N7Dk?kpK-e~a>)NVm|c!t{# zp3hxX6l&CKJS4AXsU;7sY1*RasP*7kx-z6pJ5q)kIdP;iam#eVgu6zt}?I?jj;5IzCgM#m!GhzWOQN&JhiM<(d>B{|rQGE=! zHO{`(I}=j^qwC*c?~E55=7r}_r`eulQg+z_k&tp{5YNCQy!#kaHR+8aw5CR(rHvs( zQ(PJ!GJ7!>`a!pl4c756&aY8TyZV>eNX5!l8ge$I3&kwN{N5Y0!t7{2*?yI1J3_ad&j=XP3 z#r5x-D7^Xl-2bZK z+T)q*-@lUdM;noRJd5j1dmE%KBb6CtFVwgjY z!)g;|GRHA&Z2R5&zFxooKCjpA`~H0H&votoyx-S#y|2Q->&0pj-=2wqS?&E`!I^kd zU1T5DwDR7!otz)?s=DrbN(7VKaR<2-BHxAK5+M%yybwOQUV!st0xLw-bi*E?WYf>? zg6Tx9&P9%(zqRJ8bsIOyhxTHPb^U-5CBy#*bLEcFf_Wb_MTl=FK>!PWQ;W?r3`5$5 zghB$1LWL#7b)$*tU%i?(2h3z;6_u3k7V7p1A$Q1MS7)7^x1W-pr1RnjpCnllIri_2 z1(OE9W_ZUO`}o)Uqw zs}TIDMu=u}sN4j-SLfjlY(a?_KCYvc7C9*W?e5*{+mjmY^VR<@rR=J4~uH6eNy-x?$Bzl*<7sIOvu}~peX`8lI@Vm2;Z;OJk0xs4NSh#SBr)0SUiv2 zNthPf#6Ld^%Q7LR8oGs;I3`=FXQ~|%i4L*>BqnQq|8DgUpDCO)4p5ZF?CSC;5vfIM zD~pKi{p{}XAx%i;u)YnkMoV^w4MjfPlvtjb+uSXZ;}PpVM$^V2zTaH`AJh7HWOr8w zlgSLZ6WO%QB56+{z;*-!p*-|{K?FT8-YaKqj`vH9&VD@mO7-g^e#>qKVyfT)kmwu} zYkG?``w$+*ccaHP2*PDr^hK8hUW_&|5e1VKCk5IYlTxbD6n~66sn{dw>im;CsGWT? zFe}_k-PcN`EC~0bmNLA$q-K7qxMWEb?=j1>-yxmz#7^E>gPcsP?8)CF<{%p;au41> zPTzPMZc=bSaeg*OMBG739|icsN_F}|ecS*Q$OGBEIcoDFcyDH=bV@RRVZRkR7|hb< zTx4mfSC$&zet22lLL-4S5epx{ZchZ~$F!-tUB<~jD~+j03E#9kSV{vRl$F7RX+lhc zV+120m zzb0frOO^1Athc1kZ2NGf?%Byd21k092?nQmoNBlC3=Wr3t@nj*P}PFgjb&sX)r8r| zo2#ku1l+RVxuSxuj*d9OYPTMpw*)i^2M9noyD9sI;SyohI(PhP5lRb0_5X4p@1aKn z(ru($9*%t69i-X?jiH<$3?nm#4Zd0HAQbZ=VXP=x_4xA9G-AN{gb&g!1>%Hzi;Y{_ zf-wd*`S))RS=p}uiB}DbkW1@Emdu)5drdd)hOdwLK&+?BkoB;czHA+HS}kC2V`DST z*jn#QEsKP48OjGa>$V)6`2j-^)cGZn$)IuvLegmE z(T}N)>40HL-AL{u;qnkO-RYJ51m-cC!*sHaS}-H6NsF}9L_9jT_F*Y(b|1ik!5i3lhMR+H22UN+!=sM%&n{7kp{GWI%4O3ptzk<70Vf{u$Jv z&Vcnx1efWGR_{4pnwQ&~wZH-n#kcD6*M0=6!+)YeZUS~m>aQPViLYOGY^(C%1C7%g zh+#AZu{r!axHBDTyM>{pCGmlHAOe(O5dSD79hY9svPJ#yz)&!y6i8BvhF<9jllfNi z&6O-fcmwYnzhQ#sOZhR2f=OlH*UuNIJY+v(fb(A;s>4Yq>~#fFu`BA#9?!9zIU@l6`n-u z9o0S^wNXnKUIU^Y)LfD9#<5x?+&>ZuhVI@)WWKzlCwKhYvz}q2XAd|2n;G-e*e_5L zBjSrg+j%-NX6BAe7`M(Vl4sYnsM%Y4Tchm_vTsTdi(wet(T@F`8&L|Hwq54#jl|z+ zOWTzOfQgCLQsfev{#dJBVxpKQN^k-d* zO0vG*g9hL8u19Y_(nopt6TCeXJ*>K(83Wnc(%O8?xq#Ss*lb z*09HF!3A70NGy7%`nm)d48=4UTHC`y|jWO7(IV z&~*?XgO^q|Qdd*+F|UCva@ktxtD86$4*(ktfP-LinNR0fqCc1>vWk`NY;KMw@JVn` zt2xMEoLW@%!>9yArsJu7CBd6}tLVoSeUz(PF=3k?8AJ`vgQi)}cv5qyPKiYLdejNG z+M=J&ns%>6D|9500r$+nOf&Cw{+SJQrR_G2zd%a`!3c~GMq+MQTccF)@b#N!S_!?T z&e*Krj5SGXfM?A>-InK3m72^{GzW%uIze9>L}L*d7!2omr9ckV|HsCrnw$Jn7#>P1QpxnfrZ@(eYoN_5_9% zP$Xx8BeiyZr(x7KUQ$X5G%c8`egvLeTd8hGgbJ8JIv6WkAtNh42yBl4QJt*k&v2>J z8QI<+LTtBQ>8Cr(4E zk8U0siP9`!||rj)wH+{8^D=^DuaD)z<(oBw#RYU zTvOdQYjW?FMZajXBl0<^M;5jm;ATvN-5O|}%&+33#|LTuAo@E576+C-7KRQ{^2>{) z+#D$m%~RUKZ}t*@9Z45Nt~r8281#rs5(%uW=rZR|nRn%-xt}r)n=gD*u`oZMqHG*? z1&yvZ;RBmfMMP?c0K0$pG&y~ZpkF>S6u7RV!u(yNkwp-6%;2SQW><&7h`tKW4 zYVOtJ;7}+#_eJMaScE$95NZpWb!VYTrLNJ7v**p?9xjOc}NC zZw;YZQgt$H#^u;|75|0#zgjSKKd_w{K&ZGCLFq2*oKk%<66$@%8@5rCo8DFGlCYFh zq8bR5k(5xe_MW8luQ(OygwHiqHc4C>E$mL}qN?hQ@mgHZ-BWrPL_sce1q6#R;QMd46lvZ|luV z9vjWC+l(l(N7ape^wIYc+Sh1S84G=@$ci!d*ec9Ai){QhmrA=mB07+4%QZYu8_}Xa zAWD59L<2xOczz1#X>@-ifX>{eg!BzBX6hp1g`-XibzOfE=MA39nm^RmxeVmpmp|fsx9S$Ow<`0#YLI>9+x><~AnT>zd({ zWJ>P!g^tKv8fJp@vDoJYef&m>%=Fp(Y?;VN2sPmNe~%mc*;SY-B1GK<{vp?x0FBWT zOB9Ri0?tM5yT8n-96pv!ceOqayKHs)+~Pk(y|(x0y~`SU5o?7d@TRDr{=ytUyBn<* znQezPadF?~^noxjj|EZRK4O%tdMlha7~u6QNEHjwoQ07-??Hn9(iVf&nuCrb$mRiQ zOVa1)*RBPxR>s-mX>6dXXd_UCR;Xxle*_RR7H%S!o(2z7)S;-*QWv3mK{?XVPx2)? za;FY_PEB;p?*QU`Na=mC5of?s=viTGFb4Zgz)<(>0Zk?`geR2RW%1v1N{bDA0g9g9OZj^tpKBaQU@-)A!vkvwbU)%{?MI(M? zz=P!F0*p#(LMuP*m5bC*De<&mv(>YpZ9|*G7xi`5O0+hr|C7UM0aYm|N*dzw$Bu!w zAEhaLU4jlPCHHggQ;(>gt*}tj(*DrK-XX^x4RWS)rrqf>}gV4k&52UheFGeQnsQW!id zhIVfCzP87;_l7qnG<78td`h&&0eJKYLoPw`av_nef0=EP$z9K(ekjyf1%Lgwo@+Y6 zp2@4eprk%}Sm}b)>pwxwL2b2EQLMA9N=;)S!|cJ`FyNS7_tUY$D&_;QJDP~d4-7`i z^3~j{H+5(Ff;xgA`EL|0AChzjuLNG3@{Z7cChnpUY5!-6WvF>TL`2S^?%V`adRMno z!=zc_q`Btkl=8f+L6&?zb*$O$TJrs^AdL}7zZA&iwRo2Ap}mq`cLGa7ZuFt4xTIZ_ zeM-;%NdUf-*o4^i=3pMV)jZw{zVCHg=V)SN9&(k*$Df<1*@bRi-KV93^SThSWBfj4 z>McAc4HTta#1KUK#zoT=T&Egvk{ef8qv|dB7wtYLMI<|&)Nfg{%#ovl`kadCf=~9x z`YL{S464Tb@~)I}iMKdl+V^I?lqr5T-#76~1u$PDp9jVoa)t)7y!}-MLpx5SzhZYm1YItjr%Yg(O_lQN5`O-H>s@>m2yK6!?+6B@SaPU4HTeR zz5|q5p4*j&Rrma~ni2H;sN7B8#+&!zErojC9%CsF%uf8+7_}62Liay17L^EHr3Mb8 zLAl+(xXF#^;!kG+ZY30Mu~ZIVH(outE9L13DR!o`tPMKMCF&U-zBdL2Khrdugav3rxw0w|{Whx+qvndsS^$udIm3eIs^kPOdVUBI)@Qccl)N zUt?NIHq&1pP{W;qTbsnL+RYM}?gU z6g+Cjv|CnB&BsURUnkEkD9sYp9G-yI*~t;?kZ!QZ`Y#9vwq+3!fkLiXmtMN}?Ee70 CH{*x^