summaryrefslogtreecommitdiffstats
path: root/tests/test_ipalib/test_x509.py
blob: a2e9b2265879d87a6200b7531cbbcb40856fe175 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
# Authors:
#   Rob Crittenden <rcritten@redhat.com>
#
# Copyright (C) 2010  Red Hat
# see file 'COPYING' for use and warranty information
#
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation, either version 3 of the License, or
# (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program.  If not, see <http://www.gnu.org/licenses/>.

"""
Test the `ipalib.x509` module.
"""

import os
from os import path
import sys
from tests.util import raises, setitem, delitem, ClassChecker
from tests.util import getitem, setitem, delitem
from tests.util import TempDir, TempHome
from ipalib.constants import TYPE_ERROR, OVERRIDE_ERROR, SET_ERROR, DEL_ERROR
from ipalib.constants import NAME_REGEX, NAME_ERROR
import base64
from ipalib import x509
from nss.error import NSPRError
from ipalib.dn import *

# certutil -

# certificate for CN=ipa.example.com,O=IPA
goodcert = 'MIICAjCCAWugAwIBAgICBEUwDQYJKoZIhvcNAQEFBQAwKTEnMCUGA1UEAxMeSVBBIFRlc3QgQ2VydGlmaWNhdGUgQXV0aG9yaXR5MB4XDTEwMDYyNTEzMDA0MloXDTE1MDYyNTEzMDA0MlowKDEMMAoGA1UEChMDSVBBMRgwFgYDVQQDEw9pcGEuZXhhbXBsZS5jb20wgZ8wDQYJKoZIhvcNAQEBBQADgY0AMIGJAoGBAJcZ+H6+cQaN/BlzR8OYkVeJgaU5tCaV9FF1m7Ws/ftPtTJUaSL1ncp6603rjA4tH1aa/B8i8xdC46+ZbY2au8b9ryGcOsx2uaRpNLEQ2Fy//q1kQC8oM+iD8Nd6osF0a2wnugsgnJHPuJzhViaWxYgzk5DRdP81debokF3f3FX/AgMBAAGjOjA4MBEGCWCGSAGG+EIBAQQEAwIGQDATBgNVHSUEDDAKBggrBgEFBQcDATAOBgNVHQ8BAf8EBAMCBPAwDQYJKoZIhvcNAQEFBQADgYEALD6X9V9w381AzzQPcHsjIjiX3B/AF9RCGocKZUDXkdDhsD9NZ3PLPEf1AMjkraKG963HPB8scyiBbbSuSh6m7TCp0eDgRpo77zNuvd3U4Qpm0Qk+KEjtHQDjNNG6N4ZnCQPmjFPScElvc/GgW7XMbywJy2euF+3/Uip8cnPgSH4='

# The base64-encoded string 'bad cert'
badcert = 'YmFkIGNlcnQ='

class test_x509(object):
    """
    Test `ipalib.x509`

    I created the contents of this certificate with a self-signed CA with:
      % certutil -R -s "CN=ipa.example.com,O=IPA" -d . -a -o example.csr
      % ./ipa host-add ipa.example.com
      % ./ipa cert-request --add --principal=test/ipa.example.com example.csr
    """

    def test_1_load_base64_cert(self):
        """
        Test loading a base64-encoded certificate.
        """

        # Load a good cert
        cert = x509.load_certificate(goodcert)

        # Load a good cert with headers
        newcert = '-----BEGIN CERTIFICATE-----' + goodcert + '-----END CERTIFICATE-----'
        cert = x509.load_certificate(newcert)

        # Load a good cert with bad headers
        newcert = '-----BEGIN CERTIFICATE-----' + goodcert
        try:
            cert = x509.load_certificate(newcert)
        except TypeError:
            pass

        # Load a bad cert
        try:
            cert = x509.load_certificate(badcert)
        except NSPRError:
            pass

    def test_1_load_der_cert(self):
        """
        Test loading a DER certificate.
        """

        der = base64.b64decode(goodcert)

        # Load a good cert
        cert = x509.load_certificate(der, x509.DER)

    def test_2_get_subject(self):
        """
        Test retrieving the subject
        """
        subject = x509.get_subject(goodcert)
        assert DN(str(subject)) == DN(('CN','ipa.example.com'),('O','IPA'))

        der = base64.b64decode(goodcert)
        subject = x509.get_subject(der, x509.DER)
        assert DN(str(subject)) == DN(('CN','ipa.example.com'),('O','IPA'))

        # We should be able to pass in a tuple/list of certs too
        subject = x509.get_subject((goodcert))
        assert DN(str(subject)) == DN(('CN','ipa.example.com'),('O','IPA'))

        subject = x509.get_subject([goodcert])
        assert DN(str(subject)) == DN(('CN','ipa.example.com'),('O','IPA'))

    def test_2_get_serial_number(self):
        """
        Test retrieving the serial number
        """
        serial = x509.get_serial_number(goodcert)
        assert serial == 1093

        der = base64.b64decode(goodcert)
        serial = x509.get_serial_number(der, x509.DER)
        assert serial == 1093

        # We should be able to pass in a tuple/list of certs too
        serial = x509.get_serial_number((goodcert))
        assert serial == 1093

        serial = x509.get_serial_number([goodcert])
        assert serial == 1093

    def test_3_cert_contents(self):
        """
        Test the contents of a certificate
        """
        # Verify certificate contents. This exercises python-nss more than
        # anything but confirms our usage of it.

        cert = x509.load_certificate(goodcert)

        assert DN(str(cert.subject)) == DN(('CN','ipa.example.com'),('O','IPA'))
        assert DN(str(cert.issuer)) == DN(('CN','IPA Test Certificate Authority'))
        assert cert.serial_number == 1093
        assert cert.valid_not_before_str == 'Fri Jun 25 13:00:42 2010 UTC'
        assert cert.valid_not_after_str == 'Thu Jun 25 13:00:42 2015 UTC'
l Jl=Ib84I6sđ_L?>V=Ř4M)Wc[-vˍ7;4R& 6Md*gr~\~6t,G{h:6nkOiRF!>>n۳d8Ғ^c*b\qѰ 59NDٽz~!~HϽp?{Ё]cѯZ 2Le}{ g/br~9*;R$mߝhٗCšez:PPG&\Ж;k:K]Rb|Pxȯ rK6zJFpH``?:A S ewŕic0p1MI;R$!Jr<3r?M'&4KnV4t3 >=SEॢ "W9O '(s`Cl\/DX, &un; qWd L/P.ZWY.o$*$6gLE7!_O(pՠegVEKdZ哈PUGoۺsM6Ȼot4SˠKܦA9,1n5b0 վnD#F7zDLJ%um48РC>G#oYy[X~< 骘Pq(a EO$֖l*Ԟ#V Y$PAY[)'wE1%7Ј;R,8) "ez!S-vH \ t5j 1A9DPl{F؉fr^锽^Z l://,>0J$3/CaROv7yJV ,(,-$%uzS#Ӎf!Pk|D LG|l:dv% \pOt^"99^Q]f/k#)NxUK0"˷˹㝏g轻ߧ sݩ>؃o֒{Șv[ߦap0cYj=nCi:R!s?W!LBcEN~bUHDY!Pc=>'m,-6`] وSh+yUv/R]CQ舍X1h&?(#^G%BHFY1FBZ S1]6w `&(@IC|b·%~N4\}Jt5>tNHF4V<(Hkf\a9E6KY |GPk1<~S@c|'O =d%fp7Ql3ҫ}"fvHF)8c4e{°m]%#dU$ra=&(9NO$pdɥ i%0Yopu*JImc>f9McLHfƔCkȡINOc"6Bazp\ij?QN#n9$N< ;`z9 T?2&BCw0DnV; xH})KDJ•nhUTa5# `T`LbfNnNod Ȋܩ]b@5T-.VL!.;&-*X6ƇX,֐R?ŜA`馗(X)PyHKRIOjl`Q[uns( +dYIuʤX/ZY~B@#ëiKDZEl(~L@\P,sFNx]<`(t;9!,G 5 f#!̯|k:qê?*Z*0_7/vn" v60ق\?Fj #m4>*N+ʩ%-͉SүA툘7IDH(xbXCT$5 V8-%Eޥ^8i4\"{3p:M-au UAUU%oyq4:{?{nsnÜ }UaR)SCb֯p b]:<{yƹzTQhœ $7.(nC)؟or8O o jOw]Llq˒, |]IU{`A=_PS7>^Įhe#r[!e2 CǣcK={<|ukyB JŽOD[1 PkBn< t2ڰ,&vؚO|ލ mtEG'%.ϕ* VA) gt=gxu$XږLڎM"Us!]}XS'Nn 7BE33b*C/D3x|hi57&9{$"aĀh#IeOt0>'?FfВ F2xYP7weWF @^,"fqeG/ ZD@1T5$ddݗu64^eMNtD5u&lgIe<\,Tb2PF;P!!fACu ae!:R|e'ܤ |ЫG(lēGM6tk#oV{4k}d13u$'es=՟n/ F0pv  I tL~Nlkܽ(_HB[E~ m\nc6ct>Lde}>#W³. 4(h|7$&QIg[ohIhz6>xhqWGMj@I|Q}% J[-2gk$ys!0H70I+@&/УĽp~b/oHk27 xӫFnNo b&KB ^1A1FvG!&ezSd;̄;ZDiBgC,Ah֖Exil3MxG7?`5af0[Qy5{dظRK;a_D>-CzW30Tj_㝹:l,$ˀj>xa~<#  "nb9 s̫xF!2MDT:2ބNx[< \*5F6{20CZbHd3Mmңm3 Dng0I }kƈ`P왉tE)knZBs?=Qs<Ͷy^l3JAu#F{{ySWḥ}z1҅>dr^^zZ2xao3|~yFt 5>+'lng>o%쫤#B4 *CkBu'=4CR6$lLgf6; Qd§[kPjc{˳֡AWgΏػ㚆 t_Fg?J%-cA[РmR -TO0~K7'Έ <&TX0&9bΒ+gd-k|!u լH}U'> {P‘ߔ\5kÕzz@[%PcIw0^; a;H(rxVx/mk_>P*c?}usVž 8٘(1U&ȾǟQ eC55XK/ZG''Uja~U~ͰxGEِ౉}[WI_Ӎlj1ơ@\w~E7k-;'HBSo\=Y2P$=ҿ#@ /'bOZ[)\uӭBM> &]No,A(IYʁ.ѯ uDixb' }K\Iy4Bw"NM.P]V0Env9GuVr/JFF fۣ*Y,A:&i"H7lHob310MVM^/;=7:Rh\Eo] $7ݛo{ҝܣU=2f12I)U4} 6aZӉ8I >~h:y>.: Q~NaP؈qZUdGx]PÔoPũ&zM)qVO]U=כ%|iƅO7ehM|eqۋ4|HQYd: &wlqB/A]"V~hVdq]/icAmPh#}N<݃4l_Y;fz@S[!ҩ gZW?ůBȐZDH>Sq] IFJPuzQFIRTc<ZBx&&uV:5*!ľTC~&qYz/cXm;azwOqPKN:.Gwg4iS.*˼di~-mZ'G{aMLh xiAh>k:VР3SgsUAXUo+b~ݫ./Z֧9և20\"a%0nYZo cS򍋄HSE hěTu'.>9+O8euOq_j qZ3` k{F~? Rm&ױ.ﲞGUʣL^J6 *vZRKM" &[b0j~/d^cۅ.H3,fUUl{X]iR95TX̭.v^Xj@wE78)5IN R}ڭD`Q, %EՠZix[Ƶ6 lՈ%!1FF" doSn;@t6w_#Ь4G tQ@#9ב\;^9Rn3@:>dwƴ !ӜH$cQcQ0t5j6/bOvmlkg 2Pи!qo&ŇJww[i[ ,Bqp >:@zCA6OP*(q1+ rlÍdI]N^:"~q|L& 3b콧RfV*9Zq.nCYf^_[~S*r?Pi+ uzE7@yj3Q4Dw&Gj1"0д>3y6@˗P0 'ʀ33clM%7wQ@3s 5z+hKƏi[>H^pDT_뼞Ra=lNf0QSJS+6<6"_ ,/Avѝ}:-7@BP=0\ <$| ;-o ޓFIZ0A"'kDnMa y䫄(j#ew${8ߙ(ˆth͝Ҙቁ|pz6J%DsKlC&<\A`D+&RM gAL\/i_T̄Dz|7dkb~OK`lEҁDѫKt"0;K9$H`SRH x1W8)TQ)MU]y6YQuDs, Gp ˠ9Ia--F\l׈d'f1G#o}!y$dXgɐoT \410?cֈ ouYx L_Z~OSǰeO\m(B>(&M^d0sűY=,A6ǃ JJb9; Y5KkF$wOj0d#מ %44pg$MN,H@wSJJ~jv;r^.z]# ӡV"638duPԽt%ASpalMAE@gGp;AD7+VzbUVSCYZ4tQR'LZ}ًf%%/;VO92k p?/zD8G3H\FK%XvmBn]G3k#ʽ j&z[~.ZX vχ-06֪04;!*!7;XSI'"|n P1[Cqϭ+qtu?\pDW1IY^ *hYN.c9#î*`(B\'Q} Q5:׌>1NK_-e-r&~w`ȖI>n 'U.W')s$#s&ܲy]˦'PmRj>o-ڊnGyNq-q- YOT[̉k5LvU@0p@1_[]y1N,@q<7mW`hm7'ˎ_vSZ Hn7Z;*. x7|VPWC WH9y]e>fWMfB%TTӪ@m%>("_ps]Go k -] Ҳ>V4x7@  ᘢ@ UÉY4 IS2m~e<^0wᰈY>:NۻHn/F*(ٹzi Wx4ԞS3_Np'z^Lsm65K3円=Vo>!ؼ=af2$ W PTQo'*ʭ8$vTrtĩ s̿Z+׎ +1 qKTݩR?LܬÈhz2}/Cm تۜYX>,'7;^qewtԪ:0<sJQ؝ .hO&[tNh*TȂtͦkn=Oa6l]̐q7˕ȏs % F9LoUצ 'Fan{-{l0 .7=!?Xx [Xxuj 0}%KG91qJ52kHvVHwd}R Е fOy9 OzcGVR˂:&7}8MӫJ5)6$1fjW^#Z66z*`a*t8@q-SMn7i,G8QgG|P2Ff V^l<.r@nlt B_ܞE\?eߴ8~CVZ7ѵfzs"OӜ?mxO-<#hI?-}=?N|nO:ZGhfATHtv#2Wch4 7ͣ;.=e,Ï<;oOєsa4 CWhMj>–+WrČJqf6JJ\ISCˮ|+Fx \\ ,4ڃ?P}5c!q9THih^\o<>Yߞ-þ: mICAELT]fۗ̎Tu{BAsRx(&Y3 <ت[4.E;x ec[%s \z\N2- P2Ɛvrx71N(|vDjUG;96~Na8L8 0(נF,T\]Z1r%6Zԍ>U~J!kp{PK6ca`S\jnaOBiZ=? U|s_ ez <ΥxOLD}U`nO%N Ah}b+zӪT;MgWU>-'J{+ N8ߊ_Հv=#">xHSD0`Y tj.-H6e3_nAV" ӎT0^#7[Tyg|=aTC˽-WL /.lh/n7n|A#2jmɟx@/}x:J̜罇 䑚*Ѷ7~`>$@MI0D ڨ+HcM 9 ong.g!S<\>9}M?C K6g[׀ׇ6L ko7SǢ5X\i/.pM`XD]zM4h.EFxwЃ,}1)2 b{6soqc vHmnDX٤Hw).ja_S)Yדio&2皦I mQ7N^RkNdc 6mKo Sc ty0Y~v0t53h#nB8\wEMadJy;ShBY1؂K *J<`v*NM0Kl@'F}ƝkΕ,ZkϕN}=JǞ_KiӰ&QPb|3o,^ƽ3 #^XI)]bb<*6*V Y`?Bbl$ ҜRFG`݉lP1l/5fՑ$?Vx^;) DΝ۩Oq-X~4_5L:(qY7>U8#efUUڌ]hf^ﻐ[uE++,z_ИEm?\[ЬϏz#omԢT![tXIԖQYL<`0VNZڶ.|mi*WIӬXFi<~ AAPM`mݩ7GM|xQUA4 w٭!U)2xeiYʜKUBZLkkX0|MMf|%#Ehe|9&yK*oT:OH+R,X s+r##, dNexuLPGNWƄiuqP '.wGa)`g#'Q\l *;FZSE M$V60FOcvFz8Wf^h޶uk~ D c#D*~@>}g|,{BSBUL 753oII7U)lxRTN8";ؓ5"OX&VhJ?{ a$Kk>)N%Eb~C^_ΉZ&.vYK('/e5!R  '_Nüp¹"260וLko&[j/ Kb_[0CkI 6; KEֈ D2O?BzS5Bj~%Z.ѫ *`{زcW8+hc˪ o,UQ u8T'#j k|i+P@`CevE] sȉ.o(q߂J7ZvRfLr&wksNXJ"%,)f;6h)F:0$Y:ׄCəéM )HE#ok'ɼòJl?Mݑܨ] D~7پBHW1ISaqIC#_7$n YDSrߌPƏ6[&2|i++KXWW+fHs`ݪÌ2 Q/kl ݷ枑"0=Stu(T4KG{lmwj5B*з_mAhwW&1\>rX'#2N؋{U{n$>FDSߩMKRnIMA 6[I8W@ۖP þ4+m\%sm/(V Pg@tF*(!Ưb?yH<7 ݞ434 U'~NRhW]>w 8[ۉ꬯kܫYs۟`JƤIX z6?14\fs"p1SD$f.p.z*x/'U^a%F ?[+qCqF%fv0G_;M9AN:;s{<FכGd#t^xs=(i9%dx9X6}Qp#H.IAͽ/]_. )VH*f.5k g) &T5}miR~8t XR53bS:|&y/OT>lD|,Lh"ƍO@]{.Ei72vOʽnSMXBj`Gg{.gq(ݥ"K%1zؤhrhsyjK^30%ʠDb9ݗ 67i^߸ha]ߧE*qؙ,%<(r۾ͫWmQ]~S H:1#>/&N"tGZާ 4$2-Kn,Y?U ꙸ cUT.N0nJOȑfh^fe7c%'w틝a8%`ՠ4C)}>(/8BYFJO?TJKT@WMRƓ*BvkpW7rydelR0@(qcZ }F'Qm>x#ڼa_"έ-. wx5mDe56iqR6yO%zPmh F*:~+-QD['u&ъP3֝Ǒ'%L&2&QQeZ;AaXtN:G_^AZI7x> C:N,+꺡Dn58 " ;MHs98  ;!5 qcl5]7l;}ދLv{XށHy0ڒ9Ws 2!Cd);s4 5/f8귽DVO lC@үO RrhB$TKPFB=PyQ mt)Ўxkrz& 6C汲b, i"\pB `;840)+x=E:O[IbY)I<9#6bk>ocTiR5, (ѝ܁g+oqkkU(^o7GZCO7C ~oZ4nP1ۜ9i2%1n4ʇo{6L{EP NP_hb.o|-tna$d~5}کTXlul-6Vl^c ?C'JPto9D3H_*lvUi)9\p=Y $ TK=oŶ6^R+x_g,Ɖ,@ψ(_9zyDȡCcZȈ`5hLLP^"uu@YH|ch =W˜)1H|#c)v!(]S#\-~4P"Q(0q#@,VN:p[q= ,п!FSan_r?c/~ /8ʡ>:.hSzN$ txݪĊ~MK& 6@D}}/3mt-%Wm$>n`MXcSS|@(Sz [U尋;`AP)+s (!?~@y53/c-m^zfv6߱IT)h,WbC$νV =jxMYtQ;r.17Yڹ(yPcjs1G }QOpdv4s `7!k[oUQu $Ľ .63Algl̵vvE[CTlS96ʗIzdAȈHH9p J `WIڥ7Q374B|_rʲ5K׎-1z *57dh$S^D x8:G7yk5&H\szޡ* N? v$AΒji̎ ͆6ȿyÀ[i#a U\qGwr%'Hgϴ;11Nґ\J߂'{6%JUWV <HYn8Ҍ=2Ζ9=R[&j8 ƫx2છݍ>}AQ!J"H nX ,Њ<D 5Tv.q*vuQ$qa>OVO_r,{< w@TjA𻡦/A VR0D"oA`$ۛ`<&a-;Ž|RjvݿpJ5 z2crrtP,YDD.1lR~ɥ1QMȥ'*9LLA)Q"5j{LPEd}*ˉGלn25;mScCTeLG&7ݻѵX́S)yuGL:ZͨtF;-U՝DiBB?'='b)hp+|(ټ5vÉĂ_[7VWX@* 񩃪Mg,r`'H=*Qw!Ӑ!vy̱>sQC*=CBdzݳ?7QT5_"U^b;O.UN$-PsCΕ4T@3{f9y_Cx/|z~:YwkWER3(zԲ#Z"rk!O!aR FfԺwD&;Q]Dnq )ќyU.W(^IqYbQi(/ړ| )&yԍ/kv\^Cr HնJDTWtvo<ߨjago y6Ưޟ6 {^*KSҶQYl_̭kVurY1#҂hh(JqF)hqO4?~{dnjڭ3vQ+.0pm{,68KkC/ r@q+sBHxY%<ֽ›m@uBZKX/=l YmD2%rjqb<Ad3+o!j Ròxq6` 9$Ǝ2L_eYæ,j.nlWf?JrBu8j !ؠqr3WIW{+͵orAAU!P$~2/q9%h?aWѻmh&7QL}M;ZZw+#dOޟ딗C n!zfY>O݂[4$ ֈSehHF\0oiDw]+%&#S# *D6l5&9c3Fk<@E" zj7+fXxUX3kS^Nʏ;(^ʠN Gx +AϘy6FëyZ(i_T~4Prn ,Hge=) 1a3+ B_jӶlZGC|%rL$s7B9j1"/n\Aݯpu d4)2_X YMHwUnȾG@Ji/y9uGST().i"3zĘ0m 9u|8庢V-eG?EÕˏ_{>!%m]!Έ @-"KLAC辟{Q߼Όg$̋(<ܖ+$gA(醐Sje*vXQ5Q©IC㱂4f\Rat9f np(ju14 ExpO7)GsP] 8 ϟDXJ)u6],ZBٱNS|4'߿LDv'Sc3tGiaT,B{LOp:P6@99R]z!`_eK8 @4&Ai- B1,2 UϊzeS6 &>; )!J!_p)[& 4aqs+ cCJPԤ)LMfR{HQqU wiQ+C_kKhf6jDE?Nݥ[J`sS0CAxL-ߠ#x /V v$Ѻԃ{=;ȫӒi lzQr紐/:.Au\ Ak Ƅu[\'bNZ& /XPbfbk}ϽhTXy.$4v m-=CE<&0kЊ玼>w~/sj}>-Ɠ!۱T7pq7x%_(FsE|$3q}< %1 g Y* Mv.tPp߼0ړnO$V{ S4- ]X/+PdtA,;a͉a֠3(! ԿІ : KHl2< Nfd,=ڙOu7 V(t$h87^4z=׵Lj8 uXL;,s2:Ϯ;vf`/Ŀ?*l{J*FquOШfߒ3@ЉXAB |6^Y. *.jrSȹeTaƎ$]Ggc/< I,+o0rL3m©y{m&HyD]bQp:mм9X}Wf`vIܝyJ%~םІ^xą yRӲFS =Y;ï5+#jna=T$P?yWz4ErUDDI?6.z{z\Tދ!_?fװSf)otƼ4e0R!v#SE6rl1֋HDNzs:%ՑI1ug 6b,ZׄugTEZQ;oI5OQ/]jj$kR&Mh't-R|$h'閶g~ĥyK_a 2u#ֲYos]N,St0.P<%#Ժ-=#D.fh}v0|>4#NxtD.We[EiqnZ3z.'t xl&"mt ;JIsK.CyRy=A(yaNa#)]Z_ZoE`H>s`vp#$NyHq쪓F܈ןòn\! ^Oywo|Sw/\*xTmSfH9 7یڵU^'0F"P^(%bPn( ){QJre/\SPfr\tfjW9]"p?&J tx/(X';sɢl \[}Mi bw[p\Ie-vggr]G]RF_tB]mS6_Iʖ'*4|3խ,@x>h.`aMHTJuYu7s`Z/-:P,úceL{bi>>Hbο_5JX?d׆}n*!wM\h6DQ}922?g#XF$O,ҟ@iYQF1O|%˟U3-31մ2bKHcN+<êGD,͜&Wj:Ӕ V4IWrBDPii3#ڲYXHjO ] ldyD B>M э':<σ?q1(PФFeXyM6ifu83K*c@Q&l:)pX豅wIJN6?W?G{F -#=ڽmutFInʨ(wH#/K(}YR)8BFsZr4QM1jMS4uQ71H4,E=Rd'n, fCL)Ί\+Eޥ!򯍃h0 qѻ@a4Q}WVMvxB{] #a5Ԗ #3HX kCYg,BҟDÕ?cҌ1bw!]J߃%:K4B>mi{,AE2 Ye:H-e4yJςZFG! Z@~Zi!QQK Bg PlL6dB\_V@u( ⫣ڛQ˺m(G˜\ͩ:#$ 6 )m er &=9I}0:xwGuOɍ \̊F,bpGKcJLGZT jumC*;Z(+R&(M:2>V0*N/0֢K.vW)˓jvrj6}S3 etp%Fz/OC 3v+0@m\.y-":vV ӞD,*H]ܬ,}> Ii1xFe0IՁlez'm8=Xtc 0|;tKyߗDs v zъ'{ Vn"#,II 7Jf="V~9:"`D$F;,$5,nGZFMe/,LL2vY pR'X|E_ʠL U(j__W15_ɖv>C"bp#hk4/"Ъ) >6ym^Qɕ؝~8aE$ȱ$Mcs`=qL(=`c¿bd()-L.auU˥׼? +(;8%0J=|wSd K 3WHB9*L i8۔ )uQ:52Otkq|Z#՚*1J83Fcs0)ΖTS:nvI@X;2؋_ȮjgXmIIBu<)#y`e]i2/} hpQv@=b~[QK=CR\m'СOma"0DsyEuA4\D9yi\g_o\jwk}ЏVIH"0:ai_reBcRJĎo5鿓QDn6mL.K?m$w#N.Xױm̰~Q];[~&Jxfd5Q؛Fn}@޵(Kdt]Q)cF?K؅K{J(rQ}I>_d$K&69J]14 y"g%ol,/La%pQJgƗ2PXT8brl_ž"Q=yw[n;+CbO=;ڷlm%Oڋo`fZ]1Q;\_؋,іu}+Qي%5{Ϡ,0->56ToMp5-wyrNbuNw{AvwZ1uJ;u#D7.x )b1UU1Eޜj_`Glfv' ;hu5UKk:6D!-9)}&oHd)HsIu6—;Q&'v{mW4!.e:Z6K_~yM a^k{Q2]>HGр&`FFw kIgiM S/ $z!/.^Lf^@'vjg'Yӏ"˯CP(]°C<[岛bןelwI#e m)eN[#lėsKO|'|}q39AjX$O6R>]>beDZ.saX VhWba4)So`0܃s/|pp*B~%y$z*8͞J"#i\UB뒍c3V .yTTxMY1USY2ZHBC,蹰n-5潼j+l|y[5'&ngv#9 m  & Z<v(rxd(n$^?iFiJ'^u\Ԡ]1%*Z:XzQL~].{APʥƻ=$%I e^6Vm˼˅;bBΜ{`nv|؉q* jq`%y OlpwɻDWD} QPDG;We`x23k, YSCF!rN:54-$(͹g@;u]pa^m&u. <4h7:9#Mtڗ˂"O1Y|?6?BW3}MCأmĹ:3{ /9rl3ݙzK͌. 9+]?i(xX+ؗ7lzBPsG&'l'f>kJ@|JlcMÆ>/ 6hYkPmleGǁn;!qfRvY*MĞ@dgcq PtG<һ'Wk*Z Kb+yK/[Ez|rs9f%qӰ-wSpL}|Vfd7tU-FB$xγN6羘M]i4 *:Qr~9dcZV%Qཌ8R (#]˪w7T}Ć:=3s@C-$=kBF;Ӄ~_9WI$ >n 1' T(,t=-Cug)# 쪑@Om#l 7-4uN.xρ;Z~ V~;VoBA5gݔZL":~OL5m~?OsLiaM;ӯ>$k{YY*l.I:@(^H5Ɨ9Jž 4 % c4MuuZbO6΅u9-80\Q1SzL'2 Up"-ꏫ#"IA ,wxX].m@wc)4,΄ɂ2s߀$q}kXÚd ":b+ݬԈ;cil6_D <*&Zvze GdB L¼ %R{Clêrz \%_PV,"#\p;'+5:q Gi6&֥T0ɰTfp_"!Y\`cd ?h+{1W|D }q#V&jX+PLu *ͣ0$x߶GeXCvPl3م)M9$[dR ~+b7K0٨dK+9# q-mvk`Zy+ gVbG΁P36{@<ӜqA-:軘Ra/aLx#2 Ϡ~W\+GYVλOwy{>,3J/)kc]Sx*n#nჂMx^M:R:RΒ4@+.X>>KHʩEO$d9^;21x򎲿IBj bi qZ굥sV5kK' /K9 ^}e2t>~2b1'?͂{B猴ers|ib l9G㶪 )WN!ÈUn[5*j!&|/'k5Im_y 3v)hM%d/Z S4H&!t:s[D&(b1pӗ3hء{ ]JOZ1ګs o?T2KvII9$cڄ6ͨ3Лe3+d!(ִj)O;һq51#8L⒄bBꙄ#!iUvz}"FF.L[ tz$ß0:+T Y[9׆U3uCw`p/?CZxMO:FŐfhDž>QƤ fE# TlAIQo4QI0^'^iV [w* L9oTyPq+#eyE,/QCQ@Q,Aoa[Q;*9Lk m$LM1$x_dĊzvIc%1+.*D;iZ]Wwjie\m}:4FlnHsi0[/[x@81@hÜi:.m}Os^6:,DdHaj\hnb]vbL$z־ ^2y%1 GY`ƻd Ód q}8z?("YBub|~0dL^qBB;:}r7>k)5fu"Cή-hlit:݅0 \+ydjMֿV }PrrTD]NpSy5M|[T`]V B&J!L,Ž{gJigIpHSQ^#oGfYZ=jBh,fa+zK=4`1|N[<SCS{K@z(y?,_놦Dx$U]A)X",ev윾d(*;ӗm0)/vY+oŢJ g` zDҦ(W(!@38(-)ٱ B |{7jxoc~ٞ[m =0z1ŬEA۪8>+͈]k5w8_'?6j\j w(tewl({.V" R 2>S7*ɝsR|6w!WuSbTzV|8Z0Y\h Ulw"O ֑&h< Jc 65e Hv 628Yy rz~3m":ͺKIg3_f u}ѸV`.ؓ|W|]7]1o| kiHnbE|Ss -⢚,|/ f10y`4T˖%G#Ǜ$@f!eBfXʽ~%68I_+01 -ћ%Hwg$?%$Ww y.k`MHZ-5Y׷[ =E['j[ 3#i(M[ UBdTv /]e|"uO(юi1ODy9q*A+$\nQ/[t4 D;5O AԔؘ5c yD)IEHP1)n=Zq%E Ov){ӆ>vf8_ϰɏ^ӝrY/?c=B9Ld(;dNy씔.HY!pG@bKf YIi,iEoG+4f`-d:C@l d?TyYo؈94Thqn6zUcuD1+{0(?)2X"y(\1Z0Κ˘'?ߢN%?zL#<92ooY [SK$~8|5T{`\vo|/jP2oAlZOId5>%" olZ*n5(Hlt% 8c[:1K6srs`^ l-piU)%۫+R)]XPؕs$t3ӿri6! ] 3,<*Y "Q!;z&=s @-F k|fLi`me7hH=1"ѽuYN ,GVYBPհ Az*0jM62h<o[ɠ gSo /cB8FUItʸ͎wf\ &}4[,ĿZN5JdWևFkH+}fU-mW"of%m5z"CGU \QT`܏5 <7aJAHb cv!oI9 4JȈB>X#=Oݲfn⇳ߍ[|ui{4;DrRB;H/J&es F3O=ou*:ɸ~"QYrjZ@ZUC {BXͧYR, ZVƘx=н(YV$v}'UObH.@A F!ܮ܉e&*Tfh'Qh&|]Fd# Uy[ߞmWHdkVbI/dL2z{@MMWŊW֔9w?PvqP ~2M0O!&XmS|4!=߱\o mvB%_?e'Apf;B TH8!-j#w)'vr{N絸y"c' }>|]okո3ޕ$o_:Cq`ظte=)c+'qbj9vN& $r?2lO O7xXQA'Ή=Z̶sJʭR/v *ChZ_Rx )#2s%@I=fAGCN+hT4MȬa&McܰIkx,shэXxXZն*H #xsm̓!_Š]xv>pDPnCak`VB:aIcOJi *7e;[ k (El%4"Ojq\WK#Zr6DCr*Am b-)[[kw"!&yG.Br";)U ITt5uzhR=ArU mhjK V&CY :_p> KM0ж/.[Ql0Ux)8](< "kWKs(~sd*`b-"ahTvU>&yK!Sx$;{9E RS? AOO@@;(vCpdy~;aD~:VDFگIt0aN #AT/n Ma(5 '_ ؠZ=;ka*Eku}NA6_g_cK6[L֨4(r!V4%s:8S-^P~cZ@ؙn2bMv(-0rS-E`BqL7k|?$vR 쿟 Czlg!3_o;UW, |߃jvwHJ|0.Ł>nuE+U͗]񢺑F/3YRXɥv y@9b0Ay˺3Z?X2VhlӘQCCXVdz"!8-y1E xS,!MM'e@'\X]4t\Kd1pUlRA-)q KOo?v<6y2ӑ[lA%۠'?XW{)PE̵؃|ǸߜgE7#,a;50ZselK;=ZF;aK|"w ~)\PX !; Z>FPEI]W +l;un?xrz)еΜm?8cLC,YLN>_~/E*L`e%94;KL±kwx{iiM]{f )R:#!*JgbMIAfWnìx2(zB*a@4 &Bz ;Or>1~MA-:høD[`cz|Ǽ%]* \}\5%?;{u^MA8EZZi B [~VLub-Bɒm'w2nqmr<۫-8z@v}B;I%#xWBSvaa":vxdMYJDof:xf|pHJ9DHz#9<5nj=稦K?N&]mfa@[}qA|J?<,d:.DсYW93 7O ^ zZ~(>1Z됕> quV'q'_YeoƵ14 GT^k01O"fv)|HCEPla+bzƺM&oQm뽬*B,aƉCfv 4h(V}~#}]j=m藣a,\ۥXNW4[kvX q9" (|fI Gɇ6`݉>N-S[A6wGoda 9?YFSoz8wOmlۤÊ&/n9*RAЏ0vLMzҷP`5ن9QhbT. 0LIoߢk%NC7[Rf tRo"8>ʯrLIQd1^g4yEʋyMFk߳OEXguJ :Onm}#-{FHNC ?+x~AU{&!zn6RMXXTʤʒU vtgffDbq՚XWJT;5HߜWV5 Jy5w}$WS oe?/$ ,-}3h2Meq4с%t!!Uۿd]. 2IS];!7<3 Ou_~5ft:8_D8\?ѕ-nhRK>p}` 뒯8U0uRk2Brؓ0'{UaVQ,~cF㨻8L G:5`Xۢv} .Lz$.cCxCgB$/3|דCpE*3qh_|C}.lO=*Ez3jYM\䇩 RSr M悠4q.hIQɔZ ѽ[*c{Ae0DhéiGf>APAT۰I(I3<ﹹq w`8R$ӥ[ZP$R2Z@̊ 0.ºЖ@25D8N@/ G 44B# YU-˚+Zw)$. wJP:Hq3}#/ƖgdžN? S4eh" x2tԞ(^,L4wlX\ƃr6h2Rg[|{hj66DŝE`Z=J5ML f7}]xL3`oqJYPzx[ƌ8ZkB)mT]2WR^0`nx"JY#r*2<.XA 9?' ~ {_Ţ`1'k5M}c?dd>bEdڎFm#ڵ]79[%Qk|>mEoDd6j;!hR ea"𛘢k8xY%ϦD\k"7K<֞ $- TVnVj||ՙY/dD[Oarb6)2]Ϸ/\|I;#AX!-]R# k:taW6].y۬Gc^*{lD%9tdE߽MFb~d!<mZ'~ImHf#3>Eөj ȥUэf!碉TwY$? YlQ2\ȀQ N=={4vq+bE`xwJGZ|puB~( 0ѥ]C9x"hqm9LtWfiZD:drJQi'|yd;Ҝa_S^5J H)oo/m9߶@'9OT땡o k ?8#ÉҠ>ݔV^$Oje4/s"hfwva0"D?Lh_f馝y|OͅpLêQfѤ@iC S 4dݗ 1dΨ+)}T$S3Au!+\T8J>_4Ʀ{Sϭ}Z"-G |9kՖpwI!E0eptkN,@GDQiiqIfY;B㸩ׅ.g^g@C)`$#acy8hIjQb!iL~\FWjM<)+n?}uX&Pio$Q~Mq?tW8*a쥩 iO9* Y_ͻay1fʂ>iń:h/&m|ŦH@:Jf6\UooraӢӢ i.q(:ͺ n]Aǯ3iMRٞW( b{=k]W|)t1yҒ[T^"2ƺԢZ jW,]yFI_| n Ra%?,^1D2xQH/ЂB3b1Vf&)쁉B{)_c*uhm$M;S,e6VFIvws&Iҗ!O_ omx'f)+X=Vq_`X6ꗊ6CA4͓N'\(vu )/ك7@|B {aH;񘅾+$'z<2<vPQr1ַ.{_}Wf!B솔0Բ*qEgy,3*z WR,}3c s%jnJ yޘg?a3h55|A%H!jnIdTZthx DTU$"*FelHY&F%,<FM"x1mѫ^lJz*Grh,!M^ eBώ؈w 6v ݍ:Yf}^W6'?CS_*9KEXgn꯽fj># *S7lQO"{#a8+2V6 +'v,caOdYČ59.oE U1g~"aKf?ЕL<|R+AY;/xڦis|XVb&ү9Xft8{{4y?Lćf2 ^Vf4D" 3?<]A=?o ^"ewexׂ?}(_WP{l=IOQЭI,= PN-[gTiE=1'8;Դ=Gcw;zjbRBtμCA\7lݓ! ɽg~̠wpXXLO?bFyI葸f7ABL:aݠNҕ ۶zww'Zw 2L qSD`6$u$ V>SfzpIʑS3eԀ{@ٜKtGFd4ęl~U q-wpZ,ÒP)sbU0NVf/Iq\Ia/zhԲMΩ ԤOBG4GIɈ_JoGفU@c67!9lG}j$ OúE,s.4i]f 6ATgǸ/[9r [+158rGE-V^, 2lYHHR8:ETxۉT_vZR=# Rϟ\`?㑆P0K+ȃ`VwnB)0Uz<cgS)]k命~c+#]J^j+g>\^#ywp@eYKO מkh/Ʋ}c(7ZXN(ۍ|4g\I:,$;5޻zȌ,ؠ&?9%d3N9x: =@}}Nɕ)5M?k. 8y2K9Oc@^@dj+Bh$vA9fzEݯiԢymqU"ZT {?+K 9ZQ{ȟCKhs)d@Ss8Ӳ^lרYrmxPH?T+n'[c@1B[}œ~9Xtcjٮxۊhrݤs*TF53ǩI  :_ [5BrQb\c!7a$l)07 a'ױI7I̓՘)r'ضѣ1kd3̚FT̓j&C)ҬY aG`(5x(6603n="FwK8Ic l`R(]|ŭn!s[b r4}#l^Fc2ƴ5l 0b?w{i|˨YIPkiZ0F6,Zq@TwOrNc-Pm>xfpóOz&q Sv5Ƨ=rZ򏧬d{R}/h֟ Ϸڋ;i30֤#ށգ:JE 1f)^~&g ")< V{ZП˾B6ne\k k]Xs8L%lVa8 w͂vG+wmCm~qT-؃,3zZ}TvͰFSYͻ6ua U΀xhOF^}x随[6TO:#qW0 D`lXdS eog!ްGaU1Rm7-5zS)B tfjIP,k-ũ2 Cukqb vgq9|M!{0̖DzkFT-2֨D#(/Hv Ms1(!ѵvyoc %\U1xţMԐ:&b`5jkaQ>l.`ǁma.W.xj5:%Lzy#/=!T)U5iAGRSA)5/vCI~ - [hABGyMw.6r,4׎jGS(T q\Bic|uthZL67v4UZ f"Gf+Ik jߔk(U%OJ\FFH50Fا61?| "z$=܈Д9+ S]8={'E+8Z.2jW؃jdt* ,KGcy ~h}ԢuRg !aBa R:p`)_>G&$V}8)ƠVu h6O̵=حѺr"vYWgDM1FKҷR? 6j-H: pj0@[ ,,^4_BW1M["gt!RƬSi͎a: R'3ʭ抪:D ,{6YeaLC`9|(q]ەGu18yʠlZ"3?fRk--KV6'Ӥ_nqWW U;@D!]1}ȏ̈P=@3l>/5Ex`k`u9x?:9 hB\ZTSi j;cƕ:3 bI 1 #+vk ;KEkeI4ѡ8g=L*QiE'˾R%^ռVH&z6@gup\rϫk&sm8DtF=,w4F9rluaT\Ag8:ۊ-lPWxJʵ`TSxןhd5KXN|NZ?}7_?K{o(;P>hRڅQ9'GzG+N#?k h32$(`J l([ ".Gaؚ]_ń'q݇6~rBzl~%4& mܯ^oi+XǨrL'^O(34pV{#2L!,04\y$1zr(-V攩nLq[ SfSsF=)68-5!Z:v?imXMĐ~G׽XO^oj165~6wJ4[GbӾ1^9f*M@1,AxACJ<>{T̢ra[DX!S\pTmԓɈeer˄ 5&bV8Lt4CIWez qyP0pvs$l evw.Yl1Tz6%R%l{cN9om ¯=,E_T1ucG4=F+RFa~V Lfwo`$=P/'qcоhJDM&h|h\Mk0D'L~w~_ ufUa*<\6SXT7fY% IAQv5: )HcTsOG{D o>f@,{<بiKGɭDB¨$y!hd9ECcu >pF#4MPp`ӫ4 V(S6@;")<=8^7lt`EQC,UHwD3TqmB泙\(X%d:o Ly7΁fk! u\S~(0[bx|[\F%9r?S^N|>gV]SH6L-9v_eÜ͓a_b֖ժ2BErA. m7Y4Nq i5\k@,C( %v;{N$*RC>-Q8Q;X_kE]J=# .YbЧB(OQɪRi?ܴX3nW@r T4 j;vSW*I%䗅׬4%/Q9Dځx=[4(=3b}R86+x=x*}Q!X؊Ge/..۸ƹ׍)AKm+jNÔ9iS uXmM>N@5PKF@xуXR ߔ!.**w"8S]@pZ p`}-7'$ģ9etTmGj$Mꭧyp0ATk@E|]]yWF{z8 6O}Ϩy/3d4 ܩױƿqUF(Xb϶ ^z@8բB:ssm&%Ϫv9$jQF:PpWᰒjÉ` >-b6]ӌ*Ԁj~ It6yZ7cԃ.H9:o͛߻VjQ· 7[\o [ ^2F1(_j;N$ Դ}u[Ũ6[ rC E>@o܄EnFd0􆟞VS"Vd9ͤjXgA9ݸ!i2!ROlA"Ѭ4,W 7Uz5A{(fJMLAZ1Ko`'_MN%1dc'\ĉX~w ͑Ԃ!:_gΝYiJ7pµIl e:pB~ kߚa$j uj>TƒPEGanGOٛ' nEa 0 H1/4rRܢRJs̕Sj4]d5w`|d7XzVZ Ʒ/ɼ :^D+^hƨao q#w@p1. d)wW-f<G$OoV%%˭h5~ ߅6kJGeqZc WPq,#i*a $iw}=HaHbegWS՝QDCֱpGܢQЍI_tGyT֘hء45Su2NdαV3/,6 i\ϖ2wDf?aI7 <4]H1cđ ,woM K94א6"$ʞY)7u<' DŽ"w-UH!t/;aWpTJGoY Ʉ"9-6 LJj{p5H85y$+d`3/ΥQEl(j[XF{1f5&+~5H++]eS`≭gsqKbי֓\/=Ɇj\&PQq(e ^,rV$F #ɽ ,pY]H h%OXOD"z2xޚ;ےzt+ꥣzͥ[v6,vg!D {Cߥu,$T3y(ҙöS>/ Y6Vñݛ󫺌] w$0qxNHLjxQCB_pKA2zg&a!Hs?8ďKl-%@\G1ȑH /qVӚ΀rKs >5h5yԪm2,7% ~-KTRkPjZ_Oskt'HmCԨv|s;E883ʉ;suL;"2T´W~AMZHM$_@.#UXX׹cfxdiM3hAL. uAJ@cXsh]uHNСejlu^%P lyc| l<8ZRL.3"1JqZ0P [D-wQ:Ynq+k0r ε|6|~ 9k}]yUiek. 떾dIn|?ߜRh.6f/\(W>1ns$=ٙi}WPAG}rƃ"gEF^69f~{՘! eF2K}*W //M*zq2r:BEIGo+-lEC^)cH?B$yj:"\ >m,X893+oʱliZb<)@;2P_| i'go[j4M\2W^~΢{G~ sgl`6Bޏ@D+g]@`E[")_OQ4C"ԎJA[7 /w(.7EoݳR9QR"] ,$v~jywF $|a'Kn7A!#^ `']f__4mC{aqb^ &թ bM.Z.+9 qO+l^aB\gE?% vSimϽS^5%DNF\W0o/}gh"߮mՉ^a<}7#d:pD9sI3 Gղi:~5A(WЂ P#Y,%wg ̳1 0c0M%XC Ur(rQAv\g-g%^ KU\\a޺Wf"YC G?8RSWS>f6oPF);Z˳SwV|nq=Igp*#[qj~ul_] 5&IS_ XKʩ hx^xd+.Ty,}l^C6)׾jd/Kΐnkl^wxQ5)Cy1߃cb?!ƆA[`G@z*8Ǻ ȧ8-;LFz:5рh~v7UhzH .EMP"zySW]H-] sd)8s=[rˬ ` uCR*hMM' Vz89>k2 wc!)IOИ[ ~ L"&zE+ae+9s&{/nL ذ1{S;$DϧxSA} v5vi論q6v")ow:f`c_jpU1z5oY6n xra M8yG7Blr+Ic2T>}tqka =KT;b`׸_U3xQk{6luCԡ (JW]f#a,38VY/]~wu2NKYh(q?H/]GXtr֝O j g0u<9HhՐϐ}qX;| gN%[O,_]iӔ˙8B\+FإT\vMaz\cXYFfNx xVC3;,V)iO|p6;[z`pt|?M/h"խNEOP{"2$W#0+*+1:{Qml+]dY̊Rt ijx{#[cnYCPWRalܾ"8)YN8'%Ԗ{&+͂:37 KxdUGW~u"9Qw69yomU m3?S p@$xY oS#HL`uB7c~i 0<WxODjs#8rِ q=MMo2H*u)]-[Iw R,|xȴw)$m  Ou|P. 4IO'ba gҞ~gAɡhuD&M>QMƗPpfmqHk5I+rzJIC/F|) 3yÌ*K-S ^뙯+$?'Agc~Լ0.e*ݳ|C?`lGU!͏OOzڴdnXk{7~1½I{y"'~<(o+p?uSYZ7ebYX#[cmkZݸKhiv!|fI e4;< Yx.]o;}ß@OUh.r>jFT8D "I~SVfv4]7icY[=nC1vz翿&m31wZ8x_3v%J! TxC3W.,bVv,t~>'`GlQ =)o҅Fֲ)Y}*IBPMj|:.#RR n'NhDiA/ZC2t=kwA:XtF4X`k 3G 9I)Jj3Q!ƾ0xpחZ\eT+Yi2mԞR2;)hmGs79"g%B€<€ڋ/o1`JPb,LLLo$Y06# }}$,$$1H:l^HcӖm7g;PPӤo/<'wjE:ŗd5ciYh[>,rnk?Sd4 d^O8~CCzYsLv F49دɪUhxm$z 'b2VbO5o:Յ_mtN0vK Gs{,{$#J.a{LJ{HS[Z"^'j8#9&Wyb^c ϭq*e{0=$UvUT"5II4/nCoƊkh[9 7rI4ܡuنmN!iTrV3("HA9r(\i47KgkxcHD2hqcdS>Y!7@ +Դ/zŤB"{!Bq2\@\" PIasah9S;I'oa,B6?/D&ЦJ"Y:IܳzX39d{8= RGڶLFȽcCp^LL! ı^UZNaِyZ}%DO% >(b⨞FR}ʞ0|gǑ-B1[>_[fBzIH`ٟ{t 4<>0g )^ ?K-/dF {Mw v;l3~ʗOU.6FN~iդ&z;Ӵ·{x ad@C@QyҢ {t `¯@.˕E8+5(n..ZFg%t7q;C^P^4Nhq.R}+I!)($c!N&M9Ew{  ̽xcN7@@b)p^?嶺[k)󾪶"%V ~%% 1뾮R՟$wM,cABs4o g#LG&YFÇ"6)ڛkWKG<@B2<'WU2j{C@ZCw:j0;L]NaYTIuc:u)@5LWTD.U9>wM Ɖ"\}[ !$yVԦ#`Pk$>uB=lii^FioG\c{(;ǴxukJx+jsYa9@W+AD ~Y`Lc( ,qU 4F;+>(|nXDjEh_Oe%!mjp.BXK̞U<*cUyI3EH'񙇩pl2 '+a,ppi6CSHw#"e51롃!(TZPp_Ž_QFb EFpNQy#po5eQ?e4Wι12SB?T2 ,,fLȘ}LBPa? oЫԨ`m!QS 5N=`?@?ҥke-xXN.k hGvC0>k:O:_zWBt E>'U=k rAAʦ/F\):QØYO_xfc)UoViƂSQR.3ȒZ KѷΓsWzϔ%y_lI%@(HH;y*[,caqsf2Q§\$$Aw{F\6 ` @=FzpAkTɊ$,Y-,ee4v1wsLZꑵ^Ōꐡ'VdZ3I{l Nݝ a@jbP_S‹̞ >;8u@kqω,9dlG+(iz'l.XinC=! 7 h1=j J$BJ_]t~8l,oZoߘ֨jڑ4i[IF :B *KXI5}ցyv3S/d_ݴlp@u}\ ["6\LP! N]65foQ+͙;xBPߩ@F h.mob'4;G6|]/s8~ƛ')on;nr8Z<)Vsy3_i!4>{-%0IaUKTBhEO1q}gb ~Z?fd^*Y{./dt%n%p;&yr?|rjgЫ|+lZ+pݑTzd9e(Zຎp)I#m-ߖc 䪝;ܖԿrJ2p4t=<\[^Nَp\[6Z}7ōAWRc`1T!p<{t3x'3+Z)*lڠ:YѢQe%Nî тKR۷ZS._D+8f#3dM1>紳[37>ӱ XwBO]"P 4S@3c|ZKt<\$:8Ho֥ L]:ZRWf^봗Rc.Z PMl"n>]ߥbn1WĄē6G@/:2"cN^O_6 5V9՟x!`?i=g# #>P[hH,[C ,9m[vT M@.!4Y ݤgA%Sk6` 2U-@ O j7VLuN"ޝIeSM Ύ]%OA-Fuky礁 Ƕм=hV]עIGN5>mí5:YVb|v6zfz9}nSLc*"XŸu&*J7%Bmx/91Y#,v=$`M̏Sf@=-1mbC&QU+mfnl&xTk{mn{+)b!f7 Q綐=w8;W 6G> UaG`Ͱ׷ی=;+2AþVWN.wm'HIY)h!W7Av~vmȷRV !Q}hQ[6XC: J=>EQ'^U0)@!oL3MJi>TĔ=z)|T֎r\O gc# n{ҔJ"t8 X FJJ3>Qܟp// (ht Į>e %zxFUm*h_mc,7]6?jo^M`'aTD{%wlEozAv&njSpE< /c)̜ dŒ:fسJ]P.b dgvNV+{G'ZdG&rA*ScߺTH45Ұj>3'f3)V!{D'>{hGpQ MNnZjkܳODj~ mSrʡ_NH7`96:'F=[s$hr_^Fnx+",L˲Cpjb=Ȩq|*ϒN,I18'ރ`x9'Gsr Ʀ""OA.NG*%(a˩+^8LJ ^ă=u׎kz/Cv}]DRMjfKN)-hHHQYo B[I zGnFa||oz.p Č,U{C)imIۿ}usSnZd|~\-X ~h2nm. 2A 5V"T4Xl;bSБ"%ӱ4B=8b)֊* 4D6_'&KݼIL?bMeQ-§! Z:VW^ؐZl]yiR@z4. 4tНSm.(T6ZS)uV1 *Ng/}z/AJ'W`hb+,#v;a.u=l1-.8PUEGGU+zrvl8%~&m!70xa܏ dK݉>az,VP!?.0}ކ~uL/:=栯h чYGbaOu\krX ~-Lٟٸ2 &4 avrQ416J5Eْ0;PI`-wYdHP*\-%ϭɗ"x֟z T*}&0B:Bb7csVxO4.0k-UFh9+>wZzȝ>*śxJIxC(wRF )į/3&<F ]Dw_`lcgh}T؍*V4"V)9*xD%&BE %P6!.wL#베>vB*1\`l(LFcӿ{QJc(i?R|_ǓBB7ky' 7ZP2=? ؘd)$, =T4_s|zw)f™P2aZ3v&w ƼZkgI=}BSʧJfy됯J}&*`FOdNy$erSKV=AE ^|*V,09'RFUWJH1-Uq{sepOnѩE6 '"aXwn4c}Sb!ҡ& G;3^amȫ됇C2DQqef>h3;*(&lxCp64կRCG䟬m]E ^'m|<OVG%)!$RA5zhQfj:?ujASnK[-\1kWtgV'DëayhAreJ»õ74yYz٤Kjxt0G @u[@Hh]B=K:`l,گ@c+H ';>+8)޷k$l[Ƙ oM1ǞO{):1ދYzQZFɎSC`Vĕ:M)k!*bce6=_rBAŚ L4k%AJ_gief֡N. *x KVɠww3hx)75Kf? kaE o'f͞:2%^b]k\cQ9]ps9F=V}Xnjͺ5o\棠Z5[-*;>}Mwfl#6gF8wy<,*OEu_Ya-WR)oC z./0H>L^KN)VR4A ‹{N uW|7y \)\<ӡ*zh1}A9\T/@MRl3c4p^^)iIrM_uJe8Iv0;)1""1el왆Dix;h,|?w^V7R5%!.ZgmZQ0Hky|h8.3RTSX1s j\61#VT-z5 G :n-$uF|ңzkt1C-~\$ꦤ?}X KU'%.PFro"`—uVv@!y,#^r:S!vlky_ - ;mF#x$dsx_hd.‚9 ntrZspXN=]~έf(-rBil$|A`'|_꣑.ОiϖhtzΫPZWYw^ŶL4ݾq>AY_Vb A 5aN)?*Iwιl.ڏZIrttm!jo5,7kthzv;wxVTշr]-K{-Ȳ ʆL|#@$mlQ& 6e𑸜/n\=aLNһNdl+[Mm5.ZdY:;%zk8Zϖr=f0%"%k0.\)55Nd>&6Ә)A0Z]wTlK[vؕ/=(8Ʋ_ÌV-G%2Y`h!5lblXI9`y5%҉X.lÑ):%̄eYSօ-4bCf/3?m} >a'tR7"B_oC<|Wx&@#O`T"];p<b>vGo'X`mk&vC)W`Ow xDfiŷ{,7)6DZb07CX)Iա1Ww@pdx4sl-ml=8AF鞂'rT^ C -.鴝%^ނn0r ^83Yi\h۟^\a#ΐ8&; ||is58q<Eh#B8֣:mc_td5>7ѨG;+cu^:1rŌM̬'cL 6K\c LE}#t2- V/O1uc>xMvtjJfσKC9W/ؙүRgjvO^/aQFzFdO<}L\E[-R:?Hiի|fYGr->~\UjBЁj.SBVT=sŵ{2Ivds ߉}~́HІn:]W)+w3EJk(d&֏xJG\A`J4eE$y!AX͓UL$#֔◢04F'hk@cdܿ76fDhr<#,Ȁ ~e (/e/h\,5QvVQnWo~|1v!A]um%6P2kU9>ΡIPou0~K_M$Ok`&h%'>tufJ1]1Ȳ|A1;8y>m2b&$ `IADדg\b `Sv(a"H18hI5}1"S1@9&G'CZFk\N,hUAǼ)B}n_ß\gVԹclֆQ%S)ΦAv}:%L}rK[S Qʸ`KGgnR,%> .%SϛB8%ItB &"'5YkPG{p{ʔnpTk?c:16gqu<'"0<^~>mwܼ4!=ߍѺJ}B% :3fBJ$<ϱOqe炭e>n?phyT๴3(c6X9?'=jp;i>YoVq%:-w3%\W'aWb=VɴE]$%F5mF82y+y,|sD?n(P$Iט9~K)[I]w4Li.֮I oZ $ {FGøAC2jwY`]-+=_L[3Ug%;Dw]V- 5Iã.Ub;¶(k{0aE)rcbNN@-0D]& ׶=+z3פ ʕAvj4=HpQ활# ]M S8&l8&d`C軽Š>8|wUEyLre~C{o+ Ϋt! Tͭz`k6ҖK x hJHUP)6/;ǟ5"ss͡Hg9,/nG!OE7@H?_mQyh_:ZHhҨ$]ٷ`єa.%.L: w2_g 35-T)gxh9Gݼ`F]gphDM O'4Q[ُ8̌&%lx$ʅ6`3eB<ҟWy2sԝ<`(QdhFJ$Xm}C uwÛR52 =^sRoc8A[xI8,TYWLGr[c8ΦYFȚo JKC=%-m!f [KC?8kHྜ"ᯤ:V.wc R Ef|_*re<>vrw,##gQcr|'nQ1>O[+0#LNgbl}; 悭7:\֤-E?U"*nWl 4h<>mHj,9\v7XXug֧_: 6. ͮ} QNmωR5nKHOWO8\MnMD/#{ t(X H0 {=.cL#J>f[:'zpFkZsҾFBz/6$JA)A3`NfJJSc`h/ +B9GDCzHj6]KGd{,[Js` A88SW?Ӥ8"$&ӎSoY*4Rdm4Ӽ?6ʟFCX0 ps} |{qrbLYq#@&󫗒K[@z;GhUQ%QГKz;Ӄu\ X&6 xO|Ȗe$ s\9kRuP7./pus==70 KCx"FQ_q(5pW[Bc,OC`%6M(UV-advuƅB&>OJw¼%DC]DjĔj !hAXz5#< U)=2:bK&Ю1IR)_.Rn!Ku;.Ά,Ctd{ҲRtX=mQ;;-޾ _X=Z{HF_}0u5#5byƝ~\ tVBRsj\P)MbAgP)yjey 6z7 Y (lRrR.=ыjMa p\|d;\7t[Bg2}?رQߦz8HBI0+Tf^?BOw o3/`u}8}xS xt`Q T%/ݶ̵-nĹ_, )nO: :UbM}e֯7 r3 q}]#7#4Eb,_/|T>>eh6@=PNnt *쟐GܺCk[rua nEd)M~ ; g0t$ێ "29$ZN˩ϸ5 9w|"\H;).ޤV/;cD&OOID2z ,ܖ4pVr :0yb+^ &a&dFzGainѸagTY#_HqF7>}4g7o> ÎzWŶz89Nko?a$Kh²;(N6A.r8ZG6NiBmQ aWѠ{̜ j#]M*BZ+ꗀX>zqOFxv4&"n![}Â<~bʥ5˫X4k5㳟P *V.̏_[xu MOq֟hs"(l|bX`|,ldnZ`.+E"o61< q{W~0͵{`Dc5tORw 2gvVW (c L*7#O&y/9qL ؜ ܩ"y]l5*VU\"W@*y*s, /FWYC#aP]oAQ?+B1g_Ӥőhv6ng=ܿwꉟ-swfOq"2+EP ئ̂i'2{ggc&N-+dW+@ߙ̓ w̠Xtߐ,vđG5%YEaӅ׫GBdvO>fu b!`;xc>BC}%:~s>X< :RRb骆1hp-AH]L60]<^mތP熙)}@ X`xeJ9vT:9|g !(&x?Ș:5 LD(=̓'#zEyg'[+9fyVƟfh3t!iX)?=u4heZ2NWd nzm* Te2"@9lw$7MHSYɶ#wAq.Gb݊3|T0\3aRyW#( [r㬨*CX5 7)  AT1ZqL7>Bހ x jQqFtĽ|H>7`f;(n5ҘL]dĠ灰C1d3ׄhwzB4˦(xZeӤtᵁ%,F|_=G|*8 ?/eCީp6qu>X~*$_ ~070\oi~_Yw,.Lvis TRSc6sToAZϽz Տ`*oHc,rk4 o- _Oge!*kE=GlՌN3֩t>Գ0G f1Ɠ/DL3J"&$v)ۂF!s6.$R ,樊-5[T<\ӽUjFE YNv;`r3(|ÈxuRY>rz5^Q?rh󄽻6{F'vI7۔(''- AfXM`UA\=LH =ڕ8.i Or} x\._{aF=]B,9!QS%1ҊmYJoWj{J] 8ُVW-|n:x2ʌǝ7MxZ@'%6zO~H+ =@"Wy_J_HCRsK72<T6aO %s6 fdQAK ]vxLΣӿ]b4Ft8sZsgv\.))VaLzW@'aYkEb[etI/PDkhϣ7N;4a)r/`|:lF֏먂!pOޏy$SQhFW~Xo.\z{80#R\+<;i}=Rx;'n5lROjἽ%1$3JnAM,8{ '­jF>i8d[=,m%{ mA5T$GM?O^Q;3z|5w$Hn Ep⮅^{@l.o&[&t${~"$}9_mJcXFRx9+q{Ðs$cX!m~Iɑ~%6_P |܍]J炓J}Wl _u 6y=Ca nU]77z CP\IE3 o@QċDCDujk{h/Ce\+JLLi0GÅ :l(Z (vºփ,L'oc'%EWq KJ=ux7;:7BK炘P/`2 Q}%|.-O@Eov\L1<ME>]*C4'.{qvA)CMO\bgg9Pfj͡7q oxN$+nO bNF)fhן2&,ߋܤfUEQvX^*nP<@.j8iD}*Π&!qeTuw_n)Si@m7weLAy`F;.T>4u[{٭R>6y/κ'cRNBUvMۣ&(᱐jPgnin^Zj]϶Qv tdvC@R'+,Od({MxW|ܽKwQVfNW' bf/5m^ݔ)VuIG?tخg:qqw7yS{ҥׁ 4{x@OqV 6ݿذt~ahgR?~q2/м [@_4eyVpf؊G%EuBv"c ,+}@؁ EW/VM. c-NUuohU/?e6O]>֍jS\cH## ݛ^GNMuRWo~F$%U\XkZv0t~!IV]J*3Kj"^Kj/UcR؟5#ڧ~i0(02a}>dL \_uBHy_GrT=p03˧Dyb.%} G8%x ,s=!5/A+IY1\J8k E-͕2:Xyg{Oq?H.aijii Gm[队xQ⩝88\}KU3U"R8B֮o%PI+VŘ!:_ =M¬|ClP!ҵ|ekqq([Wqi3R)wqb fȿɢV9йlURÕ`+JĶ) MC`$|xjչ&Oo=yd"tْ Zfgܫ#_`&cvm{Ȭg=읟Rxy]ɈZ4 6*UB?kP3b>TOs2YE<'v^;_?7 ;Û;%PIqoz bO黷jH9LB/15h=~аK9׮92[*uEY6dz`M~%ŷ~,^a7حJ\┈LZ{*LN+E ]ZrsZYf Cڎ>N9yO@U99xxV7A5ט{^QjiaF4 ZB&#iC< 5k/8"/4pzN >}ȯ~]#$GMwq.:u7(*EfO{řa{Ղ7jYm+MܹC;ܞQyW*kQ_  aPVMψ ^1n'dIZ<Պlʴ!(ɖ.ihtd+́3yO3!eAX4AѠAs]ʉҞ?2IwBkl@Dّ711vFNiѧ85,Sp/Ƃ&:$c>ykiPDi7Q=j`=|K|"ۺÊ'?P΍AFmCU#;6fxsNV|E~"ѥVVgƞͶPv˂PۻS<9M^0Sp04QD>p}*+'sN"!JvyphN+fO>@JAfCG.KCBWcòr^KsMEŎCz5% #R s|"`C4L[' 5Oh\~2 ^Y86+[m'sulFX ML9`=dSc2yyqZA5{cO%US9ea NA!!jF ,d-LIaW>轔l SOvM ,'o~=r7>ķ86r@kKVIy\7ݣ@rmVJyE8{KM@xpaˍq.<nzphBFtW9@ fBֹ7 ?i%q h4q{٠J$':=^o&QH, J(nO yWm ${Bm(վ%8RH79v64 qc͍`Pkl / rlkI[D]pMxa?zc/^ĵ 7뜄wW}&ը1 @wwʈ;J)85 20QP4EqPdsD`PЧ9mepGzʪ2p J~H,у+%@<y)iYIah.!<]1iOF=Au!,ڋcvvy'G4ƈBV_f: nS)ͪjW*uN~m&SEas3E=<:}#9]Q۸ /0ϟspUU->Ӻ6z(ʰԵ,*Haq]Z擮Y. O:r5$t*r8/-*[\{̝=S4AKʽÊKo&s^O%>&#I繵` PW4|eN8Ϭ,I*aI!TIiVݣA1ke`NqMcVPVoԢB3Mt=S˗I/z몒qƥfb|2?VƤ Rm.+5㛷l;3"$g@d tH{L y%BzjVx#(!2ڹ9U,K#o:{imX+*I6o,). Kk}DGAMC#r!3jarV 1mIG]&+ JV42![k9:wq]9FȡY;A5d(z`Y"/\98LMG:Lܪ}X@ y՛/'(F$ HB, /kkd<aKނ#K|cA* +"盾N:oΒ@tRZ4Փ%S*͇%ۤn;ሸf.r`A@śY0sf-ȇzٹ&|ypmCcvu* rP5^ykA9ҕV ŲdޟkaID>Kx Η&gY~v<_l6iuJ?`$UFK'Kj9_0JT{mPwꫠ AxJi䙄&o!^Ԫ,^;CRNDV H\^zʍy/Qp1H^g3'Zx3o]UZǩyۖe ?a l6}0Dn)Qpg\I+ksbӡ!C2ފ_:%'UB>}tZ6]189TMF,v J))938 G6T& x Cވa]B"*td%u=uAumiX4y`$5:c_7FmQ,|&EA8GZ.5j 5]7-#3=zhgn 386>x@DlS;^*(!CX AbRsZߕ t(Pa-xNr)LӴq[iыi3-?)xo|a(2:ԱZFM\{< `7cvXěkx͈"~ra&#Jݔ h.DɌhGu>W  b_ !(Y&$H7  hbWHn@ _($B#SFSZIa5iFROZe폪՟b6 a!7 WH ՟yA@Cv3:&JI\i 1e\ݶ= ࢫY;kyCږ`_YXDL_Ǐp! G&4pCXHi k`^/u^bz֡4Y1TSo Ͻ(H+j~ah$L$ڹoK H)8$RxoQacu7Uv_9~ѿbM?K|-Skp nZ$`HwsK- <>z *sg9 /MO5nl[u7Pu<fm^)ǘ|aѴێ=]CplN5 d\zLjedbTi*aᚄfrBwzM#WN*`pېh|fI5'5םOkQT% ikI6KCrs388XUlp|B@%P A 0V6ȥBRO%SH-l@z}&h._qHDGܺ瑥PoZ7W[^yZ5 #ة2r݊4 ǴPbk?$l޽g?CzbklS,AѢVOYS]@@-@[AM3$0^+ pjLhu?,pW萎ABb׈6hI$][)4ALY-ιܲj.4]\N\{|"Vmޘ{"$bL4 'x@XB-6;ݣz;HEDr JZ\LM l؟VӽI4YBƲQk]u`ǰ J4Lퟗ;a\e%b-*d0"l]Ħ.+W _&1 SWhZpC;G<̈́d(0x'~֬^v{d+v&}g<ڑ^y5BA-\K#C:¹tjUv:`8a"}8s3Nq2w]mskMF"lm\ ܓFZŝ?B1_KwRjm:d&˷E^E|&-<ɵQeQ*Bw{tzv쇻NL:ٌ/ k9Hqsg(EC@ eXl]Nn]DNGNFbr":nSYUO$`__eKxR=pz=n]ͳ ;bgj;^h9>dU dٓ:L]U0q Աq2!4 D>Щ7ֈmvr?>SǰQ#Ky?wzd T!w;+~3E:>+"dE9Gv9(>TJ]\+LH PKC9~eP$z 9^3Y2G4366 \{ZzRi^ ևbE8G䣾ɺImY8tG/;-*ሊtoнuxdP3h Ֆ(SZ;D hojYv5HHzK%vaUmY94ǓZ uEC\8hZ5gLk†lZ?_O) t|kcbnk"f@YpHB :Y{;DZ#ftn]Y1JQB* oî[Kc` $~!T1P vC p ۑ=%`B-ŧ4q5K졤kGN.>|ѹVثs`hxUngb޴B6`ofeJS"u)+?#ajx38X\ PF.ʸ bpp> ^ eQsp:\/_$Ҟ:laI" (+. x$#Cqd£(uʍ`7#]-&˾ɞ۱ 8ŕhe:U>nC2@5Ƌ"RIO:|-.Ur*ڪ4𼨒2^G7v=C)BtڔM#|)sZ w=bE6eAgʥMj&^KОT>bv$zR'K>U2>{K^m#<4OrzćDXI`E19kJ%zyYC2I};b%{w'`| yDM(F nwq)h66vRM/(j-a-WtW`n)W?7ل圻W8VPX=Jxܠ\aٔԸex^HA4bR?r:f(gqde5N#Mx=3v>V%y&m7:8>{hhf[} xX7o;'ZY P|$&)VX>HV]k"Q,5U#Ow=';nx1B.'jzFGeK\JəLB> N,S['S/vynF\Ou%>Ne#l~`1 Xu/3Xj .dUr+Bct( ~wծfr⑓(G#sN4,J4ϴۙI⢮q4G˓ [ l a1-΍M-'D11c(mG$H̃GvUd{xRS擜x/ ew (eO+g'kejt HPP+#Ʈ IgIg:=c?}Yk5X-n$~@62d"ZgʕwtqnfSgk4-Sܶ\rBiS Z?yߑ媺+#,ge1ߔozJHN$m[%jd2_VϮE9+E1ص ? Yt*`9ȮߴOmA@\1{r&7 ==ۙ.$D8 R`!Eh:@-1Yf>3+X`M F h~#Zg *@]>`şH;Lq?SiT~ -? ,fcJL?|'E.P1Usc'ʤn !v$n-ļ~4U4>e<ބTGE.b.rSX^v! 2~/>[)RH7([D8럻Q׷hJ32HUB; =[veˎF.%Rn$s9i7x^["7w8y|c_)Unl/7{0OpzΈ3w(o3${^[q8oםae5LfpQA6h3N=-R^jΌs#:9Kx9fL^''A"9>wSes@GofDBNȜ]yROy8(8YV1$ӗB@ut8{Nh}ԑҷ'7T||;Y5cYF 밬eϥ0;,}5e4G(bSb)]3 pȤ(mɥ_:*_hL+"Ȃ_k* q`PrZ*3SoFR\QͮAcjAAeIK@ͮuxB:*jYu8Yz@bdLTDJ̱|O78-k5<1O|zr':Q oO16Y z waR`*fv?@/#`@Hdv7Iu& $.F(Ozz0nܥЅV}%~UiZ.I''6 0v0Oo/+9>8TOD#X $'1H^9~QCs!riCؒmȘ#J~9NeLK~u;u5S@ lISLcMp4>[HMReod!Aٖ鈸s 'xd׍z~?˩Iu]jZu'JM* (#X;]6T` Y䶃y \u51nfbs_H05\<.N /bckZ?W:ߋ5_{|/^%QUL#p|%Ug|qڂ.Kd َR2-T_[]&ةLW@XgJVo!༮-CԩXqaV^Յʵ}+QC\o:2]7a3CcxRq&wE3y ܄&^(6Eu_s73CKD"v #Y,cgźyd{GwMl]:BS-,:nitO5']NfoDJ'i kC_d{;Z[i~Wg{J}.daV|xA1f8 H7ڲ:}SqK)>闠3 /dmuR8yAԘOx@W1my ͵}>hq"T_:gw=!č6 ;bZ>zoW\ې.gE:_ٷ㰶(9q~O&)))dt-^:O 'sdzElvFl1fzC'55͗9>o,OUnb@]R`$cL @]?rVhNơ986AvF^n-A*k `"hXsGRw=D)ֿսj3[X4` vg?Vahaob8ZF2>~F8Ʃh)|VAeHK<=#XwUGAҕvi XΚHRONټ#(*a@:%xj€{#lj;#sț|yQPۈX8T ~[ʲTx*7y)m/ÐHYE Ӟ$@Bss!U4Ʉ2J_?AW:pEiI xLX$I2l-S6!R,QQa>WB>;]ޜ5jM9~~bk|E Lute{@Ȱb|05F[8sByQ8jHʅDĄGyϋ{ҭ_2 J ; Ic2 ,Tu>28"n/ V aUu-CKc?$T 4 =>(u4cˁ^/T^x'`y7`q&{sh+)Pi{5=5}cӍSViމoi#EADlgt0zsum|FTw hcB\6D7p@ Z3]3Ix֞N aA(!;"W|*|(9?DK嘩j 7GYWMJ?{PDa=ܜhsϬBlxScWuxbN'=>Ţ(pիk `i/%|y[7XF# lӁ{Zgr^ ݭq!gן䢉pT41Fʚ8V2-;3mOVEsi Gr]Tk-'T3 nj ~ZE֋PYuH<ޅȓi_?gyw&&nq *@T ㄋg/x'`[`3Ae^i'4}˫m>itWo:rub٘M+)}=ՐhlArN4?3GRms+ӿŧv[.z bcidQW $^|I6W^}ݨl}ɔ.N[S(wUX2 A.aV٥[m'np0ѧW'ztѡދAj[.ΈNY4?$DY %[:g8?^{TjY,.qd=H_!!VQ<%#$\S]`sc ·Erl@!4'nhP+AQq5@ >V9!^_vpVѣl'\Z!Q X vXա _h?8/:Nz_AgDE X$4$>1Νh7D}dkw=9ys 3Q,͐ь>xYX8 O*:9f<.hʒfSi9AM3:w nH'|rJ)0sp#t:Tc#lƔ/qM@/\ 4?syY<_D|woͥ%P5{]-eD`sFR9 (^=8Al2#q]Ӂ X|a3FpMUbLȠ֥QoQSpǁs[BH $#̊v@Qݤ*`L)EChھ`X%S?q3`y_ I] w[s ;[! I.&Ct$CMd? !K\4L%Sç'N"CJ˭?c%.ڣnq8ح[~F/8D00%Jx B[5[L-ts+ImYװx@1l(o2Qsq*C43h!ǛS Je2ŕ\}vDR5q1}yT]g0p&×hրQ}E#)#-7fQt]ݧrl&t۪%#q Ȣu&U5{\Np|ш߹{`V:c$N8Uί /B>RF8INm^:ZPc`ʫM?yslbkz ghCIs@%%t5/ 01ÇkT9#!R^iev_c6(O/ a讠d mF ȳ$[-IYqBhm+쎸qp)w X72MoAp?*;sB`Pj]aO5L]wD);)k3aл#*pAZ9 XIOsRU+@fAP ۽8 %*3<]nؠE V>C&}3A*zBzTMS qW P`aUVȂ\GA -XկA$4mB&0;P6{ìnbWT׌=OKݓ쉾5kb>\^.89_U4C *Ͳȵ" P'lWOcutyykh=R;?4UlܰN*#b7^X iu䃍 QvGuKyniL":6U=Jjx;r9sƪၺS׳4 o eMF;me ˒gǍZژ8 Hg 1Y"ˋYee% "bo[c2^h;IGiF:Ū1TЖމvjܠtּ/n}vU[E:%2:I~BUyƟ! R—H'7od,H!y7wvaAi EJԓ'' EEwO߰m1uWb뼭4Tʌ97}4v>e[Xl RzT k ֬y"~NnzHۡ6& ̂5êoALWGNMx{ $0?#o|biS[]B шMmOxץ/t3K4\H9],/}Y3!7P7EXXTcRM$۟_G:bh:(ZU\ų,T@7'Xi2}8lGl;S9W内az c` ȊUQt@Dg\r\CH[:r]hHe+(mĚC,"hnER.\[A^}./x#*KƤb@ެ =ǖVY6X-oYmr.TJ/DVӴ~ R 55o͹vJ3u_o?v;j{on?^eZED[[ eD9UVB>Ӣ+A,ܼl\.\H ]cJOtÆWj1؜5*bT`p_Dd3jڧcn#*|ɕp*ZK&$un/""(iE(:IO9+WCi]Ս&i e#AMɕ-5s8>^]+xI&ݜNeW]߉=^4ת1${:8ױO_+IIJr~U^*%jKe޺C_V P _ gvrɦ'u6ׂAғ]Rh,oZ񵁋|+Se#> [`FĐ=[_i &wEKƷ7-@G;0$yº0p+hW ݼ)ϦsP|52rO\(Q{4ʈ]21|<5 ZTⷶ#0_5![ܑ:-K$*Fl!p-8Y9bJDZ퓶a'<CLEƎoH;>_8 k6aj)JOjoK7(ZTZ.Y3'EcbFņOoE;=1T{b.W2R4-[QW}fB2pW6D,@Μ߬0鼂QW-j&r<Ӝ9o2BkXxgO)Dt@!a੘; q5E↌-6@R6[Dw.Q^ZY6Hָ~T "cygb6nMuk|ܠUn3! l8u$@yh#Olx(%3}gb3t7xoNs)5h6J$x8=}Vi{E芆 b" 0.>^XC Fw4Q=G)ogNV_k{QW+"d2)h~&Q km-uZF}# H7JfzmP6 <>(Y"]=Q"Da4) V|)ƣ67.3Գ6+ݣߥ@l1X xA$>kXr ~'8x=~j,M~&K`,G7ZR89obd?簎*p<_x>ɨ-Կ\Ѥr$8&ơU+NG4&IF]"H7NSՌw> $ZqLNF"{a"aӱI$Ц},ӎ7JiIJ>eMIN{Ǘ,s n`۟ HH6Όq\AڣЗP2uFWR_ܚ͛FڱDݚ$L-@SE%.뵃000 ϵ5hK'26l̆G F^C6؟)0_D)/\9 sF 1; 6yeOR^Q& uIBhMڗ &hEp1) ](tQ: B(JN!;P1ܦǶ1>8#|9Z/Rt`&aWZPe^Hϝ2|.25}ڰ`L㐛ǭQZ7<&;{}F,Ej1O/j|ے-CZHgqzSvtt{z`fuH=}o.bA%"^=(A@2Sȫ:U}1*DӜJݍTdNR:Od)\E%Nb8Eu=6 ]E8&k@n3d{|tg,V=ivyaU{[{XJ@F2|nX?bYF5 XCrMԛm7F0.n6EF%CN >(2!D}7xǰ0ϐ9G"%b{arW-fХP:$9-J#z%mt8%:^P?wxվ8"8BYz}̳)hks`rіLVE~4!2%wtgd!F;DF}tx87Ӿ?ݕSa*C-l6;iv&ݓ^>mY}$Khbo1l]WN_-TͷʋI[n'YRPW)i8KL: km|Kq9 Uv(1ly=pJWkɸijY+Au?2Rǜŀ{cC߶7UQqD/U 0gt@tPiR2K*MsiUboP h F],j ]z dDR!+_:1ў=R.l?^yk}XߚЧ|tojĖv%ĚSްo\h;خ!&8 0B4>h$ Cu˿Ԝ f-s^jxaqqw-\he^-oH)8F(5,K-Rv;oN)j7%=;I:($ULB!}r :2D.<η7v0sXlTNŽ^^O9-7PllٓX )LU+YJVJ{4e?o}j4AT8 mX;e#7d͂ RR`+j `rNj7%|LFr?=\zeaGx`X+0ޱ4ncWK"iQDW. 띪=t3=tҫ*;j&/07|YJ H|: Vů]!J`-3 m[őYK" ߹eMbrؓ׉/ͣӻF';(o2ITm~?PToWiCH:"dj./qݹTʚ\)}8&$sd^~Oi"PN\p J!'REC8=4 )cXL$%=kJfTZyA*yp֣^]Io R:5{~*gdI},q: lרU' tts/{ \>v1q~97WTI5-"UVt{.qP\DrJ=0AէՄZ:8XƎk{i)'o& <)묟J}Og=]-M D6u|߁slqН%gF\ $Co9@UgzRң {Ya.vNX~qyqTUtI>ڦDH(a.{k}ˡֳӚl\Njxw>-(qkK®ܚw{v ^ A8{V˜<lf cUE⓹uTh *n0jW ϋ*K+;vyp__^\)4T4s0tnxiUvK',}xFO Nl hܵ]SD .wMl{A3r" - ]y V:[n^+$?\5GA͏.QYIؽCw-㍮-Kā9<~> 3 ds0P宐%Hlj)9&+]C!>N$m siG҇[ <7ʗ5p&\61_NtBlm--*JD}iN?F {~LQ!>Wo`sr!H`WL'R<,T# ԡ^6*ldnO 2r`n+IR,mx~FKnnxƻ]cdt+駠9ٹ %'Ix8z}~'wwk;#o !SlDNw9nSX׋2,Xgjꊜor,Bz#mT`U,MAU*M"gq09~2)>%X"4?9ǿPzZvdxIy{?;OLjw׆;)/,c >3u>xanb 5^WM+.L3C[0ܷVV , ^ˍm̸ܲ8OS"E-sj @ojO LsyP+`<a ^>>^9T{۾+R(5mE BHĨ߫ /-;T"{-UKV4jO\DӸa0e,6rhWHYs B2ld?*ޞ:wX2u9;lŹ<ڟٜ2mWgnMP: é( g)(Nj:~ꃞ}!@@n@;*NȪ)OS k?uRW1%[GhrLcb/e`?Ls,v500lɕnSz̋/Ca+k7{u[e!Ul1͉u}G<@+$2kT'=Q i,Z"ͿЂ}:z&*@=JJ Oz2`僮|`'B\R~ 77;=9xiWV-U|o|#QdU=&exRw"nCe8Z}Y3t&U_s{9N gz%yZ%|zx &N;}8$Tx[S"^ۜuuO[nx*ٰ, wӓ- 'KpfXߑOcYD߃lLsΫ2~6urSκTgY8E m'8217v,6n%Zh9Fʏ[G}(_0b̓vmvm}a,0IΊ; 193+痊8LQzTe>׀/0}[,g8ӢH!w`\ǠB^HZ--޳|0P@GWuwK1ZIb-<;} ly1VD"ҏC`;B!xG~ٴf7(Zoiz7/|mm2k7[8n>X&5E)вG$*/?'ȌaֻpigW%S7Ңd{ڱq 0lBzME)KxUTb^H'zcQ$rmLrՋqg?]hԫ(I:z9>ie~Xv,:7:ulGL(lwNn Gc8/Gs*+(P$:oR,8^z=s` ;2 j"5]egi:+cweU):%J.~`@pRxGdY@v5rn$0!Û)=36; X_ieZńT;N^[({/F!n0oC׌m019riAnblqqXUOΥZY#I0nB"(^d U[' Eܯ{t̉>mSތÉDjx"4glÀqR6tdٯxNVN|ЗJҬ a%3otkkeߢLiX"_mX{ %K :m" KQUH:αƩM$[`m%0hxͺޛ* ]ppL~pn  ţM$ w6*5H1Q?{XQg5!6ͩ^Zԍ0y"ڼ+N"IʆuÑ5=҆O/2(̃(${xѻ<MW,%"y)JOw \Jx+FUִ\}.wjj@Kg <ĺyFlHd%,Df;wqkr hB-t>CM,S+9T{|iʹ:Yj( XuKi_#! $tv>,! ׯ) =.y0b{39uG"e0ߑfzJ uE\RϭP,uSX%Z][^ 8xЛ~M:vRk Z` v |Dy!ZCP;o(=joJQi,Z"FbҬ;lCb$=KKA~7Uv u(ʴ vvjo~FAiK_p'