* @license GNU General Public License, version 2 (GPL-2.0) * * For full copyright and license information, please see * the docs/CREDITS.txt file. * */ namespace phpbb\message; /** * Class admin_form * Displays a message to the user and allows him to send an email */ class admin_form extends form { /** @var \phpbb\config\db_text */ protected $config_text; /** @var string */ protected $subject; /** @var string */ protected $sender_name; /** @var string */ protected $sender_address; /** * Construct * * @param \phpbb\auth\auth $auth * @param \phpbb\config\config $config * @param \phpbb\config\db_text $config_text * @param \phpbb\db\driver\driver_interface $db * @param \phpbb\user $user * @param string $phpbb_root_path * @param string $phpEx */ public function __construct(\phpbb\auth\auth $auth, \phpbb\config\config $config, \phpbb\config\db_text $config_text, \phpbb\db\driver\driver_interface $db, \phpbb\user $user, $phpbb_root_path, $phpEx) { parent::__construct($auth, $config, $db, $user, $phpbb_root_path, $phpEx); $this->config_text = $config_text; } /** * {inheritDoc} */ public function check_allow() { $error = parent::check_allow(); if ($error) { return $error; } if (!$this->config['contact_admin_form_enable']) { return 'NO_CONTACT_PAGE'; } return false; } /** * {inheritDoc} */ public function bind(\phpbb\request\request_interface $request) { parent::bind($request); $this->subject = $request->variable('subject', '', true); $this->sender_address = $request->variable('email', ''); $this->sender_name = $request->variable('name', '', true); } /** * {inheritDoc} */ public function submit(\messenger $messenger) { if (!$this->subject) { $this->errors[] = $this->user->lang['EMPTY_SUBJECT_EMAIL']; } if (!$this->body) { $this->errors[] = $this->user->lang['EMPTY_MESSAGE_EMAIL']; } if ($this->user->data['is_registered']) { $this->message->set_sender_from_user($this->user); $this->sender_name = $this->user->data['username']; $this->sender_address = $this->user->data['user_email']; } else { if (!$this->sender_name) { $this->errors[] = $this->user->lang['EMPTY_SENDER_NAME']; } if (!function_exists('validate_data')) { require($this->phpbb_root_path . 'includes/functions_user.' . $this->phpEx); } $validate_array = validate_data( array( 'email' => $this->sender_address, ), array( 'email' => array( array('string', false, 6, 60), array('email'), ), ) ); foreach ($validate_array as $error) { $this->errors[] = $this->user->lang[$error]; } $this->message->set_sender($this->user->ip, $this->sender_name, $this->sender_address, $this->user->lang_name); $this->message->set_sender_notify_type(NOTIFY_EMAIL); } $this->message->set_template('contact_admin'); $this->message->set_subject($this->subject); $this->message->set_body($this->body); $this->message->add_recipient( $this->user->lang['ADMINISTRATOR'], $this->config['board_contact'], $this->config['default_lang'], NOTIFY_EMAIL ); $this->message->set_template_vars(array( 'FROM_EMAIL_ADDRESS' => $this->sender_address, 'FROM_IP_ADDRESS' => $this->user->ip, 'S_IS_REGISTERED' => $this->user->data['is_registered'], 'U_FROM_PROFILE' => generate_board_url() . '/memberlist.' . $this->phpEx . '?mode=viewprofile&u=' . $this->user->data['user_id'], )); parent::submit($messenger); } /** * {inheritDoc} */ public function render(\phpbb\template\template $template) { $l_admin_info = $this->config_text->get('contact_admin_info'); if ($l_admin_info) { $contact_admin_data = $this->config_text->get_array(array( 'contact_admin_info', 'contact_admin_info_uid', 'contact_admin_info_bitfield', 'contact_admin_info_flags', )); $l_admin_info = generate_text_for_display( $contact_admin_data['contact_admin_info'], $contact_admin_data['contact_admin_info_uid'], $contact_admin_data['contact_admin_info_bitfield'], $contact_admin_data['contact_admin_info_flags'] ); } $template->assign_vars(array( 'S_CONTACT_ADMIN' => true, 'S_CONTACT_FORM' => $this->config['contact_admin_form_enable'], 'S_IS_REGISTERED' => $this->user->data['is_registered'], 'S_POST_ACTION' => append_sid($this->phpbb_root_path . 'memberlist.' . $this->phpEx, 'mode=contactadmin'), 'CONTACT_INFO' => $l_admin_info, 'MESSAGE' => $this->body, 'SUBJECT' => $this->subject, 'NAME' => $this->sender_name, 'EMAIL' => $this->sender_address, )); parent::render($template); } } _9f kJRYOr-NWhS[UH}':( 3fqJݲo.($U<:m˛QBx%0zvr*'b;wtSSn2 AH8(o%!B*]LJaUtc[̍a7>jmq0=e.漨L*K+^٬$N%URʶúLRP5`t֕-@]( xIƵm—bK]Q t#X:u!UL_4ɉBgٳ_ Yb+B!޿O&gwͲ-4)4fG7Q"K;sr=| p5cqHDTaK{n0L0/#z%BwD\*|+eͼEuv,6 cfٓD xXu!|ޠKӊ v$WٽGzԾQ3xaOobFD?1"4 nNp}n`UEز[5Z=~whP Mh |ϝK+BpzG*;ѕjT'| J,/Ɂh'^[FՑ[Bx'PbLYau#P1>7?THg9J6awttTnJ@V}A!S]FY+蚒Kln+[|ltUU4)^hi2Ü-;UOc1GQ5*SgU9$\Pyޠ )Ky:kea_Q/{&GwB&[<6%NfS|5?o*[-\Is]@a:<#7"/ygd9 'WG.erD6DXpmA"2ydX$lCYDrCtTUab"V--WߋxB7 jvWi&#ummv9:3ժ,C$_L8)08+ >E_,+@x5(1>d_2~l+_M,y9KJV3Bvq{S?=֧]Bʥ50cڞ(5q@ U"$ r[UN_3CmjNЬ`7dKZ讕9EV|yPVr]s;k"XY}CC4X؜rgP0mtU(t-\7, $a-h{y #+[8 ),l}Üҵ w7of AO~kHǹOsn@ӐW[g_a_NR"*wf;Ȥ/Voc=0qΞML9 L&v4tp!b&I%6S ${{G^û|QQjmT?` ǟFB$R)GZ>Ci}| @{Lr0-xjpJrtjevѠ=.f u 6rEFk>= &kߝSO Ӷ"GI]&(1Sfs )e8 ,bXUb\0t;;SaE^ۊ2p.iIL=r?ǨZres -;2ߍ]5*MmYv+YHF7c S[RbbمiZ/cO8:ȗ ΃:aNYQ^krQ|Xۧ_-I%j?V| <װiГhy._)`O;KţI p n-/<lД{UKrs`^VtT( >Cj%S98%YdoO9}F%A2v3Fdu##oH/ --޿M)"t=D53N$@"2w#BC} ߄ecpp|қsz{(G gӑ, I TlQgI0Goiz7tr;+hҞ) U<ۡpK m 6*9 +М8@ҺZE-'d0wy/d?0l|AH>OnYa/gA[9HCH|A9Ke @kB ,ay -{,;etߵR9,ϿГTnÓ iYIr'/rQdä;Ù v`xaR4 /k ϕ("?TG͠v[ŊNdCX `>#"GQF4'ˋ^[krOywMiKJdz.xG@R-ʩS(xMYSRoSn qz? 4Qƫ\C* .5jS ={{XOaL;V[(0RgJ<3MhZf)@7 tj!1wC.#HVl#i21%e2 q!t i6!yG&撩G%r`3qIxkuPkTo@PƧ_*}Lһl qv$E6[ATdDC _r6Q_:XxTyK`Fd? 5ߎLHHEv.O[; H'V%B&t'Daq/fve iBӜ|)uKO@r% |*\}6æu'G4M X}:=:N(ehQ:ƀ Ij:I$~qAԎuASg5lyTBEÐLhhEFm%S9L/S?4%جnI372teFd&.>؛vN?wUEʶ3 J@3BZXh߻.Ӈ3`X3hXЫx~ ,.sZae'Bmt+;y?q ?Au0\$iXZ(YT4s詐3OBkk,Ʉ{Ot5'wx|Gg f)$=3 Y`L$Iof\ $[,9eppgcTp m *hSʆ]QbJ"'g>h`t4xUhtM^@ oIBU<{M[0 9`ІH3j8REͅwH؝uN {CHi,s)wLjY&'~f"5q8!Iwl;[kKѥ}uo"F淲ߏ]ϚU8S:a&,#:Q|Åx+%҄Ě7i4΃So]Ltj!&۵:[z0Ej92G;>$]Cloly1_"W/70!iX'HRR0kXB&Cd*CŃ8KPl_Ђn1R%-m&(6md*,^vj'J5\ qxT#eLW8/0.و5F,Igfo#Cm,]`V+dSC\XOG$j(G>bڅQpTjau\` XhmLN(ٝ wYֿwܩ?ʚ_'MgL Br5Z&>'H\o}:$wTo:!1(5 @ /xڙN`\AkVc:u3@7?]'%RjChxF&ḋA 9DA>n:7qy':q} ҅bLw&oaH:WG:bhcmt@1)J=Vˡ9,bf֔-O@tٳz>JGŻ7_BAB쯟o2ua(9˖fW(C&v*w9!lKnqkdx34I*@Edcm)T׹)fBʪf'hАbsP Z#z[JL9xռq8α MU\/m}]2z5 &|-_f!·^6% =p˜&>sԤ7SYz7,ý 2)R7pm+X瘺AVoPvt8 tNPpԸ!NZ{ޞ/e( 'ƽ.@4+6ms/C]bq]&mlYe^"E:ĴLkn+Fdtca"^o5{)Vo,@pA|TJ°P]C뒥d5C}8@/8f (64ӥI::4/2(KFZPyc1Ag3IATH4/氩֠ ϼ4Z2'eUX8ה"~: b(帽VAΘV('ujP2U<ێ%-]JPG?RΡ0q]<͜3I4YNR:Ώ, ov{hH^•_E.74T+D::P4]|Q9y#+FmvB? 8s#v߉)xvXTXN~ӟO뵨Г@MĒ<@=!m<__)I<}k^QZeXíIbs/s'O#=m}Q|c}ꦑ^?ݗ0\k:r?fۄ͞ˠo@9N}S DѸtzkTHXL?Dҹt-?o _VʉݽpΧd+6 c''jQ$4tORh .H$6} M! X2zEF d}8Eħޮ\ BbSe&\*/ܺys'SFVvY 2H, ~)$),ttFF?),|z6ȷ~Lؽ |^*5wI#^blP=R j>nið^#d$+:)Y6z5/b>j=aD0l==JEtxR(F">( r4;u|#3xɑWf}*[.!iybyfˌ Qmg0rKp9"Ħ܍,|.0Hɉlb[ ct7g?6KBdœѶ 76$A^ܫP;NdPiǍij_sU^bd B; ^+ٺ?1'x[lh^}Oy}xBS灚c*sp͢ z [GYoh_v@J^=hwk݊,`pdDG\߃m>`!S0Uf)45l]&@3LνQ H4sIgKot!JeO|+p<[i"bV/3_De^9@%&Lwrw7_qAzdu%h' \"+sQ)9y=Ӧ(}i", LXeCw'Q9RiV3Η{tV !Qhb۵KkP7\BQƿ/k)z .1gqNxWUЫ]b꒤_aP؊ݏ. p^@EO;n(d}p{] QT,}d3~ K﫶E*̀OˤMȝhP/iҕƜ蠻Pvŋ^pu+lzBv R/R1Y .W.v1ar .%u!I|rao8Y)Ji~s#=A8ZxwcojnQ6n2Ujmcz6JҤ m,ژ$2  ^ XAၶ9RL5O䯟mƽ+ %|2XWT̝;Kv GܙPkyH1Q$y<ޠpJG ZE9Y9V, `$ 63)W Y (&z|3ڑAiH" rƓ8QoqkH/h3HKfȓb ӘzY^B8o…XT3%~>N˿ r.s ;i5t~%I '-ՠ 6{otHav™X+8OƧo/N޷Bf[%:kσ;*I-jlAZvf6qh7RO&srpnh_Ѭ!^UQUybQ _Y  ˵4tſ'cBZݧug_,8|1B0Lts%{}xdu$Ъ? hz A>+;qJة'Jw#DU/ԕty 4NNŨr!9v8Bǣ!:?4~b_}Nw Zٵ&R@7(XXŞ<*t+? w&yCH'Ywi=Sƫ1f:׉fOɖoL4.(֚S !p/zsc) 'p6xeʓ|1l]=bQuz`u/6Dm#Y)B=BqHR@?YBXxczm<͝ZO5@lThxo͌^, |$P6@1% %*'bvZB>YG!],oen$s:Fg\g=1s4Q,R/yZdV PʤD1PiØeT+ 3w-xGOy ˘`i+@m/\B [ 2]#kNC4YMrz8? kTW, z?l9fZ&jm"kLALdPüdVuHԷgFյ[. xBg.vqncТ{ֆ[@AjCKpNf%Ot[}g8 5η̾QٴsX2Bͼ;M钟Xᄜ=d#ȓd Q= =Uvo.ohUaΛ,\|J(zrſP N>0/#ĪK\MM^CWʂ cYJ?.)[?kG_:FX_%Y3*Wo*N?Sx5d9vHu_pN M'+2ؤA 8pJJ* 1X"]Xl_ω|V< _>oT≍ 9gQL0g$k+\W] (ē$~Q-\oSu6d}йiCz*M-ҮpSB dr&-2H[4xBU+w;(Qtw;Z1^`=4冎s4M$*G>-WD 9UV!M[Y0jS'}xOG˫\#7նZ\Q%kTv"V/Gg[lm *}4֠<Ƈl;7q:E 8c4cᝏ6|N׭Fq3IC9fXf0@U5/^TCy_vפZ!3.v:]<E旰J c1AzǐG4)V ՟O8TxQv&!^k֢1RGv״p'`x ,_lFLz9X[;꽅`Ky#\$"zvF^udK|- :mXYO'+HB^G8BAG[PcSRʧ?$a?i)ŹzNz&Sg٧Q"Nn8TPnDCtE\9Q8c$[(I {BMfu!w.OrtQ="wC_Ox\GJT['ƻ GoUn@k*PF}MXeP%EH:T4zUrAƙQJ7_դl9ߧ{4ЍY5Z -9 QK5L8HMc"2E$g_i2HLY\pжǞu-&.apCQ0@/ʎIq,5m%T Pކpj + 7Dn 39PYLG9}rREiDM墏d{‰jm 56zRxؤx:b WI=h&8`":;m ~n?z-Gw zRDZ4Ÿ$-1yeL|NBF2f"+>crAvgq$ݫ+rP FՁjC}Jk\[c^f٨]@1xƼ50 rW3#AW. cgw ?G?Z4)Yw4AkF|t.o5w3 'M:/MP)UFM7|xҭQ74p[#V.~JmTv tE1鴣7̣VM^BHwCVC?}"i,7y ?|L}|8kcV$#9 g&ܲ+Ȅ&滖d-+b\hӡbH}1r-A@"2HK,|!2J R@)|tCd^NkrTȾԕ@>Duw0Z]lK3.WSmǴXwͿ0M/G]6UD%# [<Û??J$)0u%`gȣ<~\[8BĒU )عcf-<.o$>v6KSzH4Y,r[uqQܘeX:ڬ96h愍P\?vXfKehB M#c'Lr4j  į:c?MMsx^O~~u˽p<纔^g=F"l@$s6 H {7Xhf,m c:rїF57Jl< BC9Zd$UziK1Ԟּuu۽Ɨ&%Aml_.X7`RɝF ڣ=+'P:EQSJt&XPɽc'yII[lGyF:dl$,1R5HkeC8X,H>ct )j?];E~kCSa]VGFV!VئUѺnß}|f6#@u2mgV,fR~7jg\*wIK8߰A@fԛk9^W췂ϡ߸u H"2/ {ij'vw?1SȠyi{ ˽1(Ie8,7F(zu0/i{|ěec\xocf1]dfqDQM^mi*Dj#,`GrCATd oU%gX_4)^ϫțLMGZVQĀpQx_lbCuvt1u,(#IIGV;f̊ %BЩ~@x:=#̀) ^}d<$icLqn\@}o~I BN z+K!Q1_v5pZ40֖\[H䐶j+X{l{ Քϕ A* paay'(S幎t<#!C Jhkzw7GÚGo[g(2VrK͢pwx\`hB= sa2'uGǕo&KzM7Z[j/ihbvz@2 s{q7` w4PI1nh+]F^ =]25.c',)ee@rSOYWdA ua8Ben|cc.~tN$#tSSS3#*+nޖMdg!_WBhZR\D ! Iɿp?n6EwQHԾA= y%ԍWA~.0ƴu%+]5fs&:E_>eyd]?Yo3>,qؐ!/roN %Dq0|3ڻ>laPƠK+)þW}.l#+"IG}D\x3Wz 9e/Jw[ThQm 'G7.85 L<<=n S)Ǻ> )J /O J?ZwtoaH$[Iד֌_ |{%EfP;PE:_Q1na/42xVm88M`)Ϣ gp ^oI~1fK| TމYSsM4j$_'I+z'+Ŏ1O" w@$^AW u1\KxkJ÷źNfxZcpv'D}Efmt96&>{a%8##!༖ SB-85Qm]N~GU܄B#,<[<{CN2>-7f!^"YF>.bM ˎ]`/xi,]Q'06L4""2㬹H.4gCG^r]iǨ5H=09nE#5tnȃ[<<68Bϫ5A;)`X'G׋KPg1ӄ&-) N}q/iX'q2{g{1/m|PUlPeJzO^sG 9xi[-QcC_ bDkkpycC7-^"?!bp#'Y!ن۬|R!*T9b(=;jp' q@f4+ς+haG l@LEtsOdt {oAdB=],rFV[lL wɛhZ^TxmHjF׾f^wNQ)i`i8Qd>=|ۯ=di$OqAJ@6'h}p"}l'1*% c*-TՒR{@c HN6z3g)^Ù9'ëAt]x+zZc΁rt#(!!AܼGP; XSo.,:"?ZSZC;scڬ7s@/~ hDbgX显98c_bOe[6}>A$;W`P1j~Ci|roVH@Lс+#>=kX1Dvr&<J:G*&lG 淜§PYd#"G[QכQA?n%SWc qi.:17@;(;UDR‚țh^Uޱ #Smhx* >dR2ST1?CS.I/e | __./x_q޾]S5~ڮp(1D!֯`i`,:L^E\*ɡ/vm/As#v Yq%?,xKjr k:09 eunvj*ݝ*lIZF<3PV*My1>~~(_M##`':K&y"ےRҖ#tOaˌİzmtx, :(:W Ǻ%XmhE$EeԴ;wsif\)`.+),aѢjB8 g2]yxq+I˨ ÷umN[XiK]ne3Rק򡬽6 M|q[ s)AڈuQ=Z!hF5J bfw>8msa3I°!{"M NqVevRM[8m昝zLԍYh6|,zשk}۹Ŵ_aCHҫ>_F- fangda2Pr.7~^ +X~w;0ss+zof,Menn*M}%=y R)קǪt=V-}+s Vsә9_fD/װ }7x7{q`Nbr=}u\р}'YNA1ֈnR8_v-6SIXHvO*Z0ޒu5jp5EkUN.~Z3B kuIB X  ρm\C.ܞ>aܙik0'}s"1M】~Q(52Ԫ~"eƑSНY ZN`QϙJ66"M K'$Ϣczx qjM{?.cq`$7q3K

:_p΄*5tvI+ܢ͆rNi :{ N`ֶ/t(C-;pӄTB\KC ]}bg}7Ll1Lj:Eeɓv$y.+Y5H#z"* Ϥ6#MU|4Bc "N*=Zć55,:nƀ5Qd7ֻ=(J>H<֩Zbr~>1^X@ns!u9 鍆V~#N$_f/=CňS{qD3cH͈Y uoUe\#p@;Q?obn`B ͋h(E2>.x""FH*FQ!PwǴm 9 lY.΄E Oŭ+{kW{nl;P̕D櫏ļ=qA~.L Ƥ)pYԕ$d,%af&'9Ѝjz6Gz(%w~[GV\n itL Q\~TF#%)MB^{wr6Дirq ye[|tݦЬ>*#3SX vrtAp+DmR8E!z9 yn SX 7\٘fyBcL`ZwaWMEz⟧=ZhR #s]7^<)т>c] 3jN7Fd&daOZjX$N$-B 6M?)I$/^cMXF?F^[4#'VT.F172MuPQ7_AӰx*_Sk +[eps𮨁-yi}q hF#`Ekq@ Eɿ_LȬ)^ ]{ u|JЧY 0_ S7}LcԄ־d6gœCpNv|G?R}(C>elb +׸NBᾟS/LArKx)!B? F?*HXR+ fϑ" ֍S]Zxp l3v2F8}ts[YBH4ȳ}mPo'}h zYsO< "Wt_[i΃+#&j`*<.}5#wD+QY|QK}zSbߵ)VQ<_ʟ!Q'#GZƫgy0z:6I+_]>G!zwW ?XZG& S/Ldť0ʮ _$ܳ@rvkCEР)Q4{ntdyʟ\׌\</w ɑJPq7V`@b蜛vlU[j==zҔ2ϿLj:HED=}_N8*Cw1naR;uWPb*Ff '1sUZ&|B3cx?>5 ,I *a9H  ^vs/*nqL( *[sNVzȩ &{up랂?-˔L]ީ1 Dy.t]J|f9mce *m=9^G3Ɗ5}Ր EWQ{\ B2@ ulFa:4TtF"`fd8<ʤ@D5cUz+!auYZyϙk5P_e&4!"WNXk ZCEyRÅ%?`tF#%h "v{!3=]&קQhʞ2 kǪpaW< ZSRhk'd%837:$ߩ&)CyZM 9mv4If.B@ġ*P% Z|?m}h[a𨩢"19؍0x/ )C/vITp*-CP''u{:XD˦JjH²lACMC%aE-\n)L~ 9]ו}=3:d4nFӛLL"/#YCOyAX_  /UjXX% lSL.XA !x30X@(XA}K7ǚ@>GvXր\q"}t] e6uTZä`]{V}6TM׶3Iy&Oe!޶+)!\4. gno5uBmC' 8NF9wo,IfQ=<3en@gG>:!tzq.Q`չs96dk~)`2>&rx ެ}L7<$pT@h lyVOüc#oFY+FH&j(t@/5i5.qn9d]L/ 3 ӗ'~+,:4bN*tG懗:46}ɝ~ޑ'CHe8 ’D^` $kپR+kMJ2\×gl_xnTgw-|U}S0@&Y SFQעW(Lȯӄ7Q} P%#}o%EYُ=0WWB2 |rSOJP#81qHpvY(.HT;ɡL`1/%ְ@AFgI9xN[?Fxc?^]ǎK*$EĭU7Om#6"Eנ)0g6a߇6RfW/cY. ElZXlh"O Ƨ2ۙdM wR([Z_\_&а^d26}!UV,18aۦ96d=H2;.+arpq ylZNȁtn@oozXZ.n0.)nr@/qwl\zPKa'2w~na!(?,M$V$q: p!|(GD#s9[s$L''HyD Fh0O'n})"Cy|kF pg,H?ߙ;$ 5T;/IeH5Vgqt#_05&MOGՙ}k2"ꆮ2V{=~'ɁKc@rXPhnqBCc3((Ф3M lЇHo<i{QȶuܫP{\𣫬$k:9)Vsz}C 1 Zz{5?z7lYZ8ruP,Gm//LQN>_^ sƆѼW'YߦܻUqyfiKƊK8{#@Cɚ֐mag ،}M,Q6؀Hf8Zk5Ȇ\,Obo_ȭ2M Lȋ{UIԦ*:}-5Tq>l&v*mKm,g*]WEaxmM_V'@ ƮڕdgnwF_訂75$Hv1X޻毇I Ʃ dY)񂻁\/w@1a$^0%L20*V$M3A{]4Hc''qB|.gky?K$9!㋏n" +mt8hOF,ʵ7X8zɰ&ЪYq¤S'bY(^5tH=FGt{z{-$Sds Ě&ϥqǚ7CxD 7nGhr Wgj/~Ʋ_\E,RPV','8@V^BNl~W[ov2 z|\xR_հۿ}ϡLy{0"塟=VOpysY~!Ӵ6ًEl5p= X2O S\A KѹG)/ E@"kRVTG_Ұ; ȵ I*}~f<Ϊ'{sӫg2OET4.)~miI<ڧoxó_/+]{3 <{?!Ʋ`v=[Ug'S]bW |:0yMrWV(eJdeWqBryͲQzqJ1 r^ |@$3?xКJ:ޡlč{oԦhHj4$͠c̈Z"~3Xio+}i~X|IKc9 cVn>v}"*ϖ:z!Z P|KE-T!CNӷ{ [QGi,XAFxКise쭺YlBJqZۜ;#ۆ3"x";θwĄH-0> g͂fTAs}WPdty᤭ TaauT6NaS̫8y"b[ol^P >N6}tj|Krh+`Qf9V` `'_T&oJ0z4 ȓ@tc=@ky %QVU;4N(B vpCI69(M; tί4;J>|20dn\.o6[?!75Sp㜱%r܏ej9f&W:LH5,k/<ҙuuۇAz9lN%@xNJʗ,Z%- $7UP{s+ʻʅK'd } aK0E$U%- _`B Òϭ ݭ[_Hv:z|\̾Ux|uRVn+Hi[FrlI0mݱ翕ٚAH)!J!o2ȍ-a+s?(b:_nZUbZtl_dht4QjHͣHF!2i9e[r[PΏ؊";pc{(-_$sm5iPW6g$]]6Dy/Lj˘(6ˤ\x|-nQRh} ڼsl?8) -{KD|̋{oH,q\B 67'0$G S#a.j"W@ڈAߕdg=NE~c`Hede؏rNkOGBQĴ4ڀ?҂9 2;_J2?"pn+nTg 5aLj+J^jbR=zX5Rt 6+N2KB:U͌iӛJ^5KCf3ZZL\&xis ?æ ʀM8!Ų^Ddo߉&2Eџ4nLqPVUx|"%3lA~X>HL%j?R^ʸD]Ю4~͘sdKX j-b=7h;H/,5Y2`MXAD,S^K>z~yePH]G|.1+?;5LRKt2r;6 M$*鮳+ia0M呆=hRro>ƇmJTlYw>ODpk}+ILo.ETFslNydK헞d|%$zkx_i{^ɼ1: iL"jLH:7v-&/gq<\  MnPcO52π33HܟfMr۳ɧpz5?Zdb=Ӕhqw*_eqO!d<۝17sTqғ]X%~;6oVS՞޽z5M~'6Ё6cnDcJGɇ K}|b0H7&yG@/>J[cY"ۤP$~ Smj)g̈*ͅ[jjV_%M-͝ lmLvPQѕ I0EO?`GyeeO+EZ@Jֲ`cڤm( dH AoQ"bƲ>˸j<9m[Q8~+v ˞}U'F¯Sr52`*{4-)^kN;7uԗҰ ;|Ͼ@Z4CТnwa`LD?-qq&FlIλ}Qm{f(<_b%a5/-ߘ"tOV `IM?+y}Q[|:s=j :?D4 i2W̅.hZtNj1T!0僲ϐdj)uvo}c}gd,q5̸IN ({{GzRF݃c@~%&Y`T Z-˜?#/G ͕x&Jf4\YXηc^vHʛSpifc?hBKqBK~JҍN8AE(j"3F~r\L=Rg܆ȅ=xm0¿9HbMjgy `r+dt;٥&=>0re4o~g7R֚ZH2ʜ Kq▲]d}O#|~n3zԘ=h쫋DH3Qk{(fdy%l ;u&(E̙v~3!#1!%郘^9!RKC' J[bUo :^rDĊ ^ 9rTA j~+5Wa1 QyS#F-+N_HjƴML\XI 8>h6@RSɺ^)Vѐ^chIlx<g9x83q]2wtPk|nxfF+ytf9ljrׄ'0 掘;13/ ü 3xyG-@{moO.3ؐ* c) ۮCkXUܝ7tR4r'4ovj? %i-jXE͈TM1ݩP21SJoհpaX f Y-pU倎%R&BςNhSLdRK3"E+f9gLeKUfu0bj+dnó(gV2X|*ݏhד^7x-?nlE bj(*gW(BQN3, 9F!p~3OC=O$_${/'YW<#,N 镲v];\Mݣ=~/<Љ[b%})- TBrs ˦<X̵,(h-;;`(h{U8F6B̾= )teUPAb߿L.N";iOO$3M.ddg`-Tg6p3c#T'͸F9|Ya=%Hzz6 0#qRGB*]_P'.-#Gy$pc{-Օ_G!'ill[G(Z=M*VA!c;h"&(61TaEMnƯ]ѫ l"PCT)QaVss*WN9t(* zU5Qp) l#Y "N g=sb=k$OSpX7go\k9=[sxgKDzpX7y>8ٽK v'**֨#J@GD?ūh }:y $uEiKFLnӵ_)$6֍Cl*#~i͎>-yV r$KFMattRAF SuG"=pVRnh9vxK.8y4i&`,F>p*I"%x_ ^ċ *&P)3Q/\)uޣP4jv+0"UXh1Ҩ#;AK%)BCR5rv$WĪ$&)֯ˉҽPE]:W a\Ej5;JT.+0E 1hbq ΗIas6y۶j&6[jEG樌;; Ԣ".F°#ZNO9HoOcbhaCQ;>3o.ӑfj$Unzh5 E5&wWm LR[CbmSEj;m_ N\2Ard|)i+oRc OӇU]%9=׾Ҵ6 ?Nz> m7d? U`I70}52HD]Aa-7U3T_[Y) #&uxjz8*uEs0?I^y|XSq)B?U- _ǞLXE,: 9&| ۓ Sm]k&غ FӹO[^&c7\ 2l6G.sd]&=/)fҌqx:n#ڧbQ ^Py0DA X}%.),1< hW: ȓ?Tpo3`!<;TNqCQڈܝ]wI9{ V]DJW70XFQR^8`4ˀ~0ɣW MN`Tlpik7XQF&⫲j3۩v>۰ҐV\33k+dO$9ޣ#7u! ~k~hBX ʻ(E!hbQ]aDZ= Xh  %kF1g%^jKp8x$q*e`Xx /y!'@ĩJ. 37 `n:Ӎo cd+s@4ӧ6ip3x&OEy0hiYިDTl}lULvQu '6u*}m}/ =m4Ox?*\śrǃ70N1T'RW/9s\!TBZqv/m4Mg:K* tb ?E"yNot4= 72n?\愖0BM>s!~sz.H{a]hϠxD1 ]y7k9R!jy@ L;: 0w ʬ4/ؤMJ7~: 3@{EVDd͠ONn8h: a.rDwB/NA~#bo ^{>}P6>Bѣo E Q \Rn\l!VT8 m,]"PU/GY |4r҃3 *٩S5S"QTY0wNW?,~|6p_.PH"qlOɦoY R'%1t=Piנl[8ì=@t#{#Ͼѿ^6uA8[ Y;h@o}[}2\@"j 5ͩc )|+9g]\[@a៩!.lA*7RRÀ ZF0rg0°%h}rPE#$ <‰`}|ˏUEs-΍4Lhpe, D\I{1=]^#?35Ri$*1C#5ijל O$Ni/w#@R]1xcl : e)Gs861rORJm# MV{t9?(3Kz7HF(wGus`z1r3lHbt uEl!'$nTs>p$^@cVLGsE'XdTE#z#l#a6e]6~r}_-lNm5 P@,Xذ5["Y@t9_ m~ sL2 _ebK۾Mþ w[ԤgUqw`x@jpi:;WuUeJމw{ IBIC7𱏃 9G*CR3\Zʇ-*kT|ܫί^~C&xq:Xp 80Pa =Y&yF;|&V^V1ckR*Z &dי\r-4K zN@nyadjK&ʺ¼}xO~ ./O^pͣZ㖂0ІkzJbrrID<p9eoFAo`P#CDzVz?b[뾎_,Y)Z2<[| bdhߎweue!weӦ6ƈaF_o~d MVKKҹ̳G_)If ̴3w7 ۓ2۾%i)_ foQkǶL̠2h1ۣ F y45c' %n~6}٫81l<9 F/%O;a0e&FТZ$$w*c8/5jfmdp˪30}aeH N40Q1 jP2n}v5A44 ̳ם69{[ŹC4X ^m#Tb^ ~`P^>(Kpz>>屩߰%ar?=kJ #һYz,Z<٧F1~ۍ N;XE7MoyIum= İ&[ l s>ipdTrVwIwD->sIW&:U:n鯨 :'.ѥ&B-B3 @xT]V FI5hfT)9 `.̨qGN!q4; j@ ӎᕒ"ee7((uNomgKon5yr|ۮ vKQ;1DDD H&en ewݯTfx=8򬮊eiյ+2xŘ'c 2٤SQ` =p:h@q 0;jST1&scKo 0%̀:|n6 lEW:J=54lUnW<(&H\e5e{1-穔9φͫ"Յ@3 Mп66DRBmeהn,_|XZ3C($ d1#ć~*4= 8|sL`0%5O M%ǟFQhUgL\N h9&|=p/州N^o zq8%ҒtS`보!;x*儃k'WwJ Lh(,הB}HV뜿[ `k+BZH.ӯ%i^}> H^J)cz :yE2f}GSת_vl(FFc𢘤f˖K执ytɀB&ѵK]asSS8zG\LSscʆQ`Rg*UXWPVzU1DSciMXXSLѴ'pnp21!{oCHj\ (p5e@G3f@ފ꼝|E Cr}R?lY0J[4'Sjbu$ υ^(jY @+W  *SZFg?VW=% 6O:> N&LntIіM`,tPX%~L./R&zP'em9oHPFKr_k(r^0F~k]mq=c`]5qH4q.C܈jhd@drpk3e{{H(My8{ޭ[_ &@6iLlP%lD48;oz FvXU`z -Wfl $XQ7 %p_@5QgY]<.+b4"۪Ό wYh2{uF}` O&"1dq>R `ҮD$+ٍSi'ѿ>LT6܅L=Y "E&enX{ARiT|[A# @6c&Un>lcrs_dwJpՓgCCx>mأ\] l)KCMyfbh=IL\KK#MP1``oMT [ 1[TMoYu>8x^ϯl20l'C#$)93ߡM?N"ǩ~Vd=Aro~b|yO-Ds~dX}gN" IGV0U6gZw4I7|}0!b'μJ;?V ҹdeWC%#TRUJAC`[2?ʧDY83L=qx;4}a%xT Vx;,Mm(*|зٝd]+ET€Rl0VV6뭁zk%H -y!͍p3Gwz D[_u^$,ӶM0~h*~+4L9hgh A 4tVd2Hh@S A+0LLZru!r[wߵ4E,PQEFX`h rJG Xh^ ͨ-1>'4zC"=`m?lo+rI1xؤSt#6#g!W*)χI/pY$f{H+/h](! ҎtRxrJ¶[a}PLלV<(2ճjO}7# z ؕ?ac;[o7xzwn^<꿽9ހ@ODZa4;1^`ݕia[Q'0W7vTl-w[H.ynH?vpa<֮:13S'Zo-:4K)p}ŤP:T}͆p ߯VgKpұ'Np<)dK=d}'fukLuB#֊?b{tBRdU`w2ljC~Sx͊bnmݝ>{{\cj@͋riGP,[>\acx?0ՊREl艙}7[Z}#Ed )4S@#Ǝig㤿fڣA1Vj Jx)gc]~=dgeB-ḣ-+Deϥ#=/t x#)@FFm1y%/d.0Ȫ`yٿwLA?%l!b?_1ev_[Fk"1C_XMrEndշ "ڳ%a5cc[teMU/{aV#oS%e$-?E-U:ɕ[ Gs+Hm f٩u"Ձ(N6BVŌU]4Cskxp1f沍{^G]. ۙ#`+Xʼn5y[$T"y:CuI C]_u_DzXrVIk ƀ]I#nڇ}ޠ,Rk6i&sCn,g5&/rׅ_֗eLba*@wSB|`E''cqL^X](<\\ܦښ`_'u)kq2k 804}I~~>ۉ9JMpl KzAcoBzSPCs x-}~ٚEͳq)-ѓtCZ=#4#Mh} IhQ*>Z UAL>p( dz^ B麛-[D׿sbͼIbNoM (nڱ-RYl@sݏކ Fg ^To3eO:#qϘvʎfvZ Ljom^e sLb^7|~ $"yIWU 51l+BecKa*;kmyy'tϲ' 5NZ/ nsn:K2T8s0W\F `0CP|.%X?8vʭľB&eߦKBu _ E9 HNzSx7p|"p5 yR=ܯo^@v! >I(Ip#aZ{6DH].L{U kqv@ndzR[]e:i0h $+a'֯X՟z(4pxQn9]O,lvQJ^&7ţChػ'6(kH %AsjCtr}ɰ>E5q|[xI q0O1yۜ Ly9I8l[U=\6}UFnpnFCաm.f.\EN#Vbɕ]?oCEL[Տ|9Z< u-D)ӵ ZTG2+Q2dx1fi'GLn$~M wMi6 bA%Nگ`^]ABR>i {_"\_:MaHO(  eW 9 `CO4 +<&h5CPAYEe naVICvNMPΥ07[>ٓtKk >U q2Ϳc`9S<,Vlvƒ\ywOWw#B=YMCY'b* kBh>iC 'D=RjVĈD=ة[E߻{Ͼ^JāI*zq\%]ZF Z9\ңFXu(U}5^4ٌ]6hBj%[~|w);pI;e.-ag`3Qx~cVQt9=li/ ^Jd0H ,qaՉ;0Zn_j@{UO ,7|n=f+^xfa$Tt'0dVTyQFxҌ|-& Dn͔-/pM"X 4 s9<?]atkC\y1aQ5fWZF VQ͇|qL2v^㍂w=@c84}zzj@'G9|q[xd %Mě½K"Cg  hp3:L ﲍעޒB(n(k+iRU+肣}*F;nSٜSk܉L$_ZF2΢do6Io 0uNW&9jz}Qyy Ҍ/-=w( >8l}@*`=` rc"`'5ЬCYWAKN:~oKkpY`5U4q5.|.!iX%l Gѽ0"Ɗo"P(wR+V%o2­+}xLfOJz` x禋Տ4J,7y~%mSZyQY uM~2qPC%jqxok ˌ,QIcH X=Ubh6~x9̦RF9žAQ'K,떞ѵ( =Y7ϞR=#Ǹp4k6 =TcIbА2@ _tօ @0!].{dU1iD5`;x #Ip$@-/4V_3J}A7Ht؂ն慷V|9+Pd&~0)i`gPy QhgڷO>L37;17"3a;=Ęs?AS`pWI-MbImO+qP5>T %YWP`{HEl o@DI➨tH1fn䷟}bi&tvEF<&GD3%)!eh;s]eG aFڇ껹[ʌv3(.I}7q(1 S Kk2f>gFhDK+?OaUopł;%i;bGw?QV`SI{V*vcU5 F7h\Ny$լI[J+6; |q m-gH)ɔjm֨3gRBZl0UN Iga`UVQDO:uTC,D!`DM45X-7FaI֥!j{F.ENޭy"-!iYQMq. f|$Ve9dPȟow.<0CQͺຑmfS>7T 4!F\`wW])YyäK z )ÕQGxn*߄Sk+^r^2(uUՅ5;RNJihȥHqTJj<eeD%&uZ5yf=$  [޷ / ~ϥaҸ+;7 5~ZV-XR#҇;` ƐU YA{cGNE ø*͓n+nW!#-x"'pNpXoyz@@a{R|9{4~U?"-Ƨ-DHʪ㜤v"2>HMv{asвY'Aeqڟm0VG.h>rv F nͽ7!d򭡺vQ4 { /Oe"@LvY(8Afxw n1_$oDR]UZ ^cbyJXCw$в6Mʠ,VYʤgi)΅mgѶ-%su5Z9m٦{+~^(q42ŌxZz_7AS?TCUv[ɼ:k͢YS_WQV6)`gE\`qPӄ/xj7U.wFR4 )i ˗Lڬu+? #Ԉ- /J>͢ZixuqTʨ8O]45GWHLو-#ܬ[V8lř NW@cvI pieCT/H%4>ߓcH^8;GA^E]֓eY=T%5{o)Q&HW/7:S,wSwalLV ܊()\JSX, Wo9tYSr<☍rļ!dڔ,-Go`w!3.vat(|M{.6?0>"kwԨ`9"CʸY@ KAz.|TןK%!^AQlċ\/;h ͐biG7ZJK8*JZh ǔ%04Pӑ>G#eXi׫ȷl{McGW$(uG7Z8uaIuV sF<޳s z?t*H˞-7]noҰ f5J;PA]7Z^5HOI<):Ipy"zҪP?Z -6jH%+>_JehY\PR{Is#g[NgORJ8ZGB QCӧ@eh Jg2G/} UhrXƠ\m7bDyzV VlT<,zxh'_O/nQ5K~|^:fqpt’BASCjLhDcKĠOC.Z ,l,}g00G,!]Mj+HK\g1/X]Kό$mBRl> ޡ) A/$?VTnbQo( [{Xi}4Ѽn>辩mn׾1~]'4B<##j,x~0:\z={Fw p2mvtxq7w~]j}YVrA^ug>c" r]0H~:M*M!)y pmNwGNfF7߯2e4qRNuGmH2ΨȣPXՋJֳhAڅ/*-`x_(d}xPC͙#C 1ڂZ'(J'CؒȧlWLKEE¨<~5;"Td(dI [.䙲%/ަT԰3ee炶̃(R+(ꭿ`d0M%֙;Ebz;'k5PPDhTf茽BONg Uηc{ôݡo>C|>^2XpoA(*/a!/S|EtXV7JHǏ +s5Z5YxH~%7h`EP/un*P lfvVf0?w>,LĀJ $F˥9,&  x[JQfO}ֳख़Ɣ}¹.:.N~ L)=kr |ƙ 1Y/ï@ 8C"4/f&d}tuT:@:jn0yO>W5Tnֺ[̸q D&b%KZ"jXy M240hC ݜXb,)apDzrq.w h!FɱxY}08 G%uAjF=VT:+=j Y2w5R06/ak[ [X&W [Ȣr3ވCLb0s ZxR.exCGJP*&yG Bg'5hfPPg_@9qQoJJ.ZO\Su̲ 1?gCk=Wkp"Bm$?/pzJg<ժVrET7*rwA?WO_d[k'a|iÑ[ cTbIaGC0+.)Dogs::Xp^.*l8$Z+}o5ǰ+un[yvi՝"*Gzuߙi6`<4>|eɾ|Qϰex$KEsd&ˎx>a?i85)r^9P;,MM0?i4͠םjbF [g/e][5(f;N!w-`,_:-nqW(`(R49pƣN( ܟR;MlԗQ:yHcR=V;չU=*#A6ft7ZZ֐DТ9ŋo^NDe+!1A]*HM?g%qù"/$8Su49v0|~};ytV}8p>VCCX(CJw wGwY@}ㅡJ(q!)W6c9b¼Ôv YZu]\!n+{TmC(o0Tk~XCrj4Fa-\!onj ^\.p fe[, a;ZRխF]jt[s'_U@i|lcډ%DojcGkj{/Tr+AM)")0wYi Hѡަ2w;2 -ٖ}u^jpz2+8 iG? mCuÜscWKY3OG4sRF9恎H_$/?ԙ-|mB}M]HbNF9Ge[q-4ȴ1BF _2XS6[&OI whuEoW,t+ ZGUj ڿ%6L[h/))Jo`'كY!7E{0*4^]rU7koŀc$H-R&2]\VJ9 z3E+32 7SlqG:Y?`bN/B|+[_wZɘBIڥHp6kO\)D5dgxHړouwgl0.sK[2坓=Փm-AiGy-dCc yq($,o0"@->ѿe-:mg*"b;/p*ZDIv`k.`˱&(z@$\l] I9j!a)Lisz r/mTY a=tbEEV.c@3.;O ux*::M+44fqMainW5ռ}K^G=Zx8:pA!PRa' S"R${w}AÁ}V0 .Ef_xk<#):X=7auRL0E(y@yٴѸ$L(iۤl/|L#iIu(6Y$)ަAqu v Ǒd➳Vn 8NWV7UFY^k#>;s_`ߣXH͙)TNGOdU7,zLatµvݤm&(E%,[! 8B:Y ;%Qe#9ϔtq5<68xb4k" 5B3&uo+$+,;|qu[j j!Ή14./K1 Gq'|䞾n5S-G2X~8E9oB劥0h@O\FQJ2r]Ϊ X:jHQ#lm ˜rfM~  (;n~N,/DF `m:];IۉywslwmS|~:%t) yMPL  a"HT%ʆ