summaryrefslogtreecommitdiff
path: root/security/apparmor/Makefile
diff options
context:
space:
mode:
authorJohn Johansen <john.johansen@canonical.com>2017-05-25 06:23:42 -0700
committerJohn Johansen <john.johansen@canonical.com>2017-06-08 12:51:52 -0700
commitc97204baf840bf850e14ef4f5f43251239ca43b6 (patch)
treedde99001aa94d9a91fcbdfa36ebb7ca00421936d /security/apparmor/Makefile
parenta481f4d917835cad86701fc0d1e620c74bb5cd5f (diff)
downloadlinux-c97204baf840bf850e14ef4f5f43251239ca43b6.tar.gz
linux-c97204baf840bf850e14ef4f5f43251239ca43b6.tar.bz2
linux-c97204baf840bf850e14ef4f5f43251239ca43b6.zip
apparmor: rename apparmor file fns and data to indicate use
prefixes are used for fns/data that are not static to apparmorfs.c with the prefixes being aafs - special magic apparmorfs for policy namespace data aa_sfs - for fns/data that go into securityfs aa_fs - for fns/data that may be used in the either of aafs or securityfs Signed-off-by: John Johansen <john.johansen@canonical.com> Reviewed-by: Seth Arnold <seth.arnold@canonical.com> Reviewed-by: Kees Cook <keescook@chromium.org>
Diffstat (limited to 'security/apparmor/Makefile')
-rw-r--r--security/apparmor/Makefile6
1 files changed, 3 insertions, 3 deletions
diff --git a/security/apparmor/Makefile b/security/apparmor/Makefile
index 2ded2f1be98b..b3e7c04b7e7b 100644
--- a/security/apparmor/Makefile
+++ b/security/apparmor/Makefile
@@ -20,7 +20,7 @@ cmd_make-caps = echo "static const char *const capability_names[] = {" > $@ ;\
sed $< >>$@ -r -n -e '/CAP_FS_MASK/d' \
-e 's/^\#define[ \t]+CAP_([A-Z0-9_]+)[ \t]+([0-9]+)/[\2] = "\L\1",/p';\
echo "};" >> $@ ;\
- printf '%s' '\#define AA_FS_CAPS_MASK "' >> $@ ;\
+ printf '%s' '\#define AA_SFS_CAPS_MASK "' >> $@ ;\
sed $< -r -n -e '/CAP_FS_MASK/d' \
-e 's/^\#define[ \t]+CAP_([A-Z0-9_]+)[ \t]+([0-9]+)/\L\1/p' | \
tr '\n' ' ' | sed -e 's/ $$/"\n/' >> $@
@@ -46,7 +46,7 @@ cmd_make-caps = echo "static const char *const capability_names[] = {" > $@ ;\
# #define RLIMIT_FSIZE 1 /* Maximum filesize */
# #define RLIMIT_STACK 3 /* max stack size */
# to
-# #define AA_FS_RLIMIT_MASK "fsize stack"
+# #define AA_SFS_RLIMIT_MASK "fsize stack"
quiet_cmd_make-rlim = GEN $@
cmd_make-rlim = echo "static const char *const rlim_names[RLIM_NLIMITS] = {" \
> $@ ;\
@@ -56,7 +56,7 @@ cmd_make-rlim = echo "static const char *const rlim_names[RLIM_NLIMITS] = {" \
echo "static const int rlim_map[RLIM_NLIMITS] = {" >> $@ ;\
sed -r -n "s/^\# ?define[ \t]+(RLIMIT_[A-Z0-9_]+).*/\1,/p" $< >> $@ ;\
echo "};" >> $@ ; \
- printf '%s' '\#define AA_FS_RLIMIT_MASK "' >> $@ ;\
+ printf '%s' '\#define AA_SFS_RLIMIT_MASK "' >> $@ ;\
sed -r -n 's/^\# ?define[ \t]+RLIMIT_([A-Z0-9_]+).*/\L\1/p' $< | \
tr '\n' ' ' | sed -e 's/ $$/"\n/' >> $@
a 9z߁ r:E]+4fizqFʡ%i*XV`s-^&ZHoĹCZUh8\'eDcqb ~uI-9`H9W5uσuDuHAbH3*K.Jw5)WWSFJʋ @$XLH-A$N4S ve&L-&2G'שU 32"}zҝZcU*VY5j.<1Y2LΝ.:t׋S_f"caxf :qAo `ue>kJzV/Z90W'' !;Rͧ@r* (T0yd]nUPY 76ZUX:рúFouɎjl.f-)iO-R14RK##ƌtħw"yK% d:\9'BE\)yZWiARQBtN?KcY  C/ߛ:0 ʋ%y!Z[Lʖ)ų+m@9.F.eu!gZJ(io\s م74]UiXJtSG M]Z" CrwC98\/crr8 f=-~K+s\|׶jTe ŮZ*Çكz1q O$ }$d$),R/qU6P~'^r36ZՎj llWA|~CD ~jP3O`?MoitPTUd̛kdЛmQ^}ݭ?Cd^RzH$#IB {R^BL #+eLPO@1)al@~aH}ɾ|R*fעTIV:ZUnziW x[W.# eIEےN.ď4+gH`82}37qjU62vuIO-ܨjb`q}ѮiO)u6 0̎_=sPVAf U3{SPR ܁lXg\uh.ȣujyv{ ԙ%˽•fPC**8 PEsd! ~A5" $tG>9_ȅi^<6טt3X)G)i}5ìˋAeޏ&WlԷə ƋE Fj#>tMh-V.+V5)MHR9 &{T6i 3 vXr?.-hs@ ICMnZRP]1F!{hLT\Z{꭬Gޱ;g]RI;4+"n" ̺i 5`U$}ja18 eF=$}!-h%  o4k_\elH\ݐN[v߳cBؙ:Pw?i?}_=S?|.+wҊ7׊&ɋv{Z{2L{t8p.cS @Wɚ^ xd؅^X23؈FWo1%Uk|j[NLѝy1^|MsǴTCr|yx3Bop t#avEAXoU#*șH(^65qx焑qk>D/ Ƕ?F!~aov0ʧl7s &L*ŝR4= G%'FL Aq{uX h…y-•c4#%aupGtJP9aU-k4h^FQl>_Q] ¤>fg7ELUv<T/Z38!CSqn m̑^̍p!e&sEMEԙKJaY:p~@&qLD@h,=.t2QO 27jЊ/dEwniM'tlȆ`A`SF4/9[fۖfm`jΨTv ѼƘګӢ3 N+7PD#ّ`G^SaD{]7b~c|3 ;d8(0(iATsVF'SN,9*1VzvB{WYdܕ%pى7w/YTK4xvrJnb49hpM $G{PZ򖠴C %BP6.H!$z#pGlqi^nkA/HU[j˙L7)+Zt":hs8ESiTġ 3況Zl45O%M dߐTv!x8dO闩Pت2~j<:$ {Jútti+\pMKƽ9}{Rqiw iGM80oƞO~p x9ە1MyRl$xJ>'9OWF%{\GGAJKFE+z;۟U=Fhep͊4~uuz =׌ XjnG@M`{PJCM.P`G6ox͔8<4]\"V "cbf:Q.!fP@X4"f;ו$J-wd",.\]MOc?qbr!|4)|00ը63rs0X/ko ^ϳ鳓Yyb[̺x[Zq3 pCcK8 Hqw'Yi3yj& y{Eyzb6c)} #MdWi&BJa䪌 pԲËp0'I @bӚT<㩯cF aHn ABKb8MԠk8HnYKYI]QZPHCt/Y#1O4o#g\ VᏐDZ2VhE)g"ȆP-"^O__=c)q;LR_iO _{\P͆pj` rI]{@ݝϴ9&ź޵ (+v ORDB>ޅaC&*٤Μ imkmϊ> ]I0ʏ{ݸ0@'PoujÚ(q驫ٛYy 5i/hZg`VoV0 d$x̿gy休n\JG]H(Eںxm|2Ɲ,EM} fFz'oGΔ7ՎڣZWUuX# SmvkRָJxQjhUPUTQ8"}fo2 Z С[qpWLi^#TiX(6 mZ 6$Xۍ'-Јt%[$8MnOg tE kQLنHgPoIv^jBY>_J^| ߱E3ŽҌwu twxA3V8f%9`t8> rħ}k]esEY>PHf|E7݇#1K^q}~zpa838X@a PVZDylvn=ZbvxF-Zk7TQ}"&>q;dS+{>xq|S_f7As8TԸj3TfeZU#$eUU:R K|Gԉ4 >?JxI8g)f \ sPPkft$ʼckȫ C78=#*QWt_?$$~DM*xIW9XA_6^;*9LOB4oo9s4ouM5`prVY:l&72~)]s{r޻Qp+$,!+s|%ܧtY)#?L,~R7 %xi{:<)s;[fLR/!LZFP쭂+U2`O%> . B-srv7&LW@y)ܑ@wqܞ5ۯ;wM;x%4p:Iҁ>]AJFS9U<Ӄ=vճkLnԕ3ɼmD>,)S7Ȃ/ aoN3Qc$@"FC%y=| @In9/Ʉ/؈zⵥj p+p n%z8d~_ lv5Y z1;Y.\-"+Gr,8gd_0z{?tW>FKc^a$N0W-Fè) <޵yfc{D^\PC*Րq@rk=Smw$EγmJdG l";5qktCz !4z=G!L!\ӬO|f-wA#?&LJc9\A_B=X  -[@"6!QK5i)Q]j>ה]μ?+{`쒨lmsu s/XA֡F/42ԳZIbwM6XvV-f%i[إǛpvjƲL%_`]޺}#@워e(ݱ uѨH)tR@wG Ag[fΪ$iڤ$$,oC13Q&ڡVcO߮{7eU",Э#!ӹlvIm@_$L`q1zwȊݝR"#zcsvv]]GJ$\tD=mČmbICgŕs&ذA8dXd6t5lL(\,޹٤lr֎=]<*it$qս9oȂeidMYd%%u79-1o{`X> ǃA\*ތQ%GA!RwRMP:DZРUƑ* k̻喡ytdJɎWj7gj5 diX,1ۇyctw6Ԩ-@gɁj"1f@p=m+0&^bX_g cen#B$75u! [,[=d.nZpR{?:]u Kc9I!' [eKt`(~ޙ$o_ %u(GH^Y;ްG8´]ہB/=XrBZ uO:ADYćDUj$CEr pd݂DeCEp+6벸K1|س y&]ZHOifໜngѴeܑלt|NVٮ~12x_ Etg1u;4}_Vh2%Y]")ux U:hrRTVWRA7f3 ^jfЄXcU1fȭϲ 7j:Zr/qWu{B>9U1`{z˛Ofdt}Z4 磖k|AOBq^C=ĉsZRH [Q#p./ X AZcݜfFV/]Gӈ&{6",N~HV?h>kR%y7\5\YOw>+ le..Hɘ|+i}i٦b9]N 턛&lBw"G,~$Z@r =mSd׎/j{3}cY2(:v?Fd=V/.u3k4'=]A .Ӽ1ZLhyH <ߍCH߀Ai9!J4yh+- $7kݐ^?;.%үp(xaW+I3 "h/^3kl PD^j`~QNX[wG`/thlfR3ռZ qK$ߣ5˥{d~ h:֎ld@jezo?u6@'V؅l~5 gPh,(#HMY:;6ӂd.+ % Q쥨`ԋD\ŎGl(b C?-w8yjTkR%Lف>9]qnG2蜝\)6YB&JIѲt#]6$8MZT EtE#悬QE`-|ӧMr}$W9@|"}qkL 8v. ġLJ&E3q)jE{iԉhr$'5<W_4&yl2*8P{ 7SpЛoRoo %r\zy 1FTRe瞃)$69D# :]κD#rm!\w\|u>QkWNz]$L`NR"ʑ]8"ڀ0 gK߱ flAjMoq^z7 Vu/N|\s~ xkVylf"VX6/I߶PvK.xsGϽWO|lsڝIԱ Wa>L+#ɨh 1ZMwUp`5˨ bMRXˤEj8RVbNh^vqLp ݹcX̙[VR[ͩږ Z됚\Tgf͟AӛB:CoapRC(p/Jvfy+i%HZ-Mv0G2zu&mkܯ,UThߨ ʢa]!h_k3F*r 戭CZOg@eqG3XZVӂ#$Zr{R@}m@ƀ)&v-bƦ5ECtđ@-+T#V> Ǟ}C#X,u7yqSޒ9ܨ9iLi[Z5<N'_ZPGCeUoTk;ۙbАy|f hb\ةnߥKaCǒu9#-QZ0:/@ ت0{3GRrJNGs$=w|P/i`7 h7,jqi/N@!V,aHGJdua 3hn5-IԶ 68sԨj^O5H TWI4Ǎ,KH@tlA A~X {`:v Ԃp7d!oK%bG*\=hG3:CBƓYFO^y7=OԪ~O#Rci.AUd&Q{̘8h*bZ.D` &kl dlb%ct=Es M.ejR뒺Q҇ɜ҅P3 [)Ǝ#S6@s3ožNKs{^Zϼ|B2tk3w;iχxxeKv0:*޸[J.+Q8OJ=KoRx;IvL9^؈m[Sßt2jE.\w^ب$j#6HL+̹5gbL3M&,Elo\ IR-C ~a.4?,y3Cl'ٳAZ{kkir)Bz ATCl~BǾ=FNZS֛N;z.0/y韀KqY#k2]e:+ޮ܈0^bkEH9\dbh VY<4w_ٮm.;% k\pիg)> /%.³[&TW̘۵pUቔ7DV=' _"Sd։Sz]׋E*΄g{ ZB\m8LQY`lTITeئNuƨNGlh-{NMj3Jw1T %($rGb wXUn0Nk0t$"?,%}{7]Qնu ɋǧvQI#uDXe̤zfXSew2a^b{tiBɨ|1AC2"W HtJ2׿u~(YW"Sx* !TI |LwAeG!y6]hR8 L\y; ג {b ķlݩYf#cSk*{eE7C^r'F[yWY)-v>:6ҙ?g&jJSJ}wbƮU"1C.F'W L UIVK1'iP^mUԙІwg?5*cΰ{QQT(Pg.4$*,,ihJK֋b .fvFfLiOl$(()yFYM2ۀ&QVCvdjZ-q*ʸ*NVE/7X|oM`Q($[?X'%U.t,{%u"]9l꙱ L[(aT-H|&Rϖ89juo74YMef ϵkYxv)=8x|N?Rф:@:@[wt͝"' iHvKPwDU`w,OͿ@Ib>#iRZhPB-16Ur*..gRkZaJTm?-^QQ45@)ZS2{>ҵW=e|pRn6˵+ I[xq!:)_͡WێCrbl􉼲A /ֆAa&kYo\GXfcM O.3ٕ{ָb5H+~ը1W+5J=_Xi ClǃN,ACYjEYCүAMլJKFW'm Ki{gYmrXC@y:C3I> #7勋 %8VRb9 2i_e)$(Uw.l H/ZFaZfD]Xi_ٲvHw ;-Bmv &-!D[Vu &PlBݼ:~$hs@w?G]yX6l͆"1YIj6YOrn`>F#Zɮٸ:SQLK|:uGmkVqJ$%ҸE K;MM ,$Z#Onv/Ax+_9n{C/h·ڿN 8vǹRh05> ܌Ig2qOOAXV4x<1 QHIAҹiyhD)sتWg %w) +l>!d9sjۖBlor qy3McMaW|[R<$x=W͐⩑̌ M0!gD?F%nA3_L#ol_oHLj*% p,BdG7sr8‰DiG, Fzs>ʦYr ø;Y{Ǫ$\hծ6:͜1;1_X]Gs|., ik =m.xѓ,G 8:7 [Fh&$wVSQ=>kwC7DBj+lv?G@}VBg&΢Oa2H> ś<^%zBC6+rARS:pJ]AypVoMkGϐvzFt"h%3Br+Bb },OiX1X^~dYg6|6R2igD^E5˾"SMlvga!1tAz>Ln$.4Q`ìQj)#pRB& BaٱM~6$B0[NÍG4q[aTIF[aHAUU'X Cˊg /p6ٽ)cЎ͜rE&A4YN)n.K`0SzMd cXyˑbL Tȼ:Ԭ :Pf73Y c2"~/nu0ش)=x pg b]YWCGWHv83^'<_HV_S =^ڎFvHB &s%PU&X EzIp)Ȫf4أE];F˹n%qC-ɹGO2LMYp{{~'4 {%` J6Ա+~qivԁIslA QWW\W9m$]s:Q F`0MUxDӒ0j D}l%Klޗ@K)q\ -l, uއiqY QS,k5V 5ɎWnK ZmUl-rZzN. j3jn6kijMܤ&0ʖ|#…KچJ8% RnVU!3&6u^!SJƲLvxUb4[ds󴺗gaFkSʻWhfo(ߴT0#߬B[7d[p&:HLz) E]gtvqSW+ Ewz[%;k]\_$Xi;*jaՋYo[CQk$kg0ûCZAE #meǂhΜ3F2Gճ*-u(sXg~{ a~O"~x0D%l,_vJqz釋P%E΋%ŝ I„f9-j~1UkaWU}ޘ&3Poԡi;tub?v3~kq۩C?r T\yּ ʉBv4ґ[\FјltLWgJ ju1n(P}E %7/{uoyݥÌɂHHgiMƏ6( vyfn !:Kvֺͤ^)J0s] ABYvzuzf[ Z p@BӇqe,J[UZhI* KX; of8-D/ius999K.\-[6ʪѐ eu_0R"A+[ajtQDm/d2^j[tnѣ1Mr͂ +)а销NyI3$pmDDj?W}P;B).F70ytp9'Wog94AƉݮ4rɅ@ʦe*&ӰV۵YUPJ{-l<5ZC1fH{1:d M}7hpj#(د}-rd6^wHZ`#Oע>;7Dljrԙ r2zyK[oɊO{u\ɿwi_2ty90gjd<Ȉ;AG[$ pR ը41)X8$GlrRab=\zo%qCɧŔ(`b'daiP;-fwx٤$S]je{^ 憐8yha`L~=鐪HH*,BuCPoҚ 2xq(J$՛s.o-  9".]A-h- Emϟ†.%#+罔*ƛ::җFaߟ{ .W^,a2wneP 1T>Iql4_8B$4A"uғ:1 !@KO >dJQ k\Kl+ d@8"gbrG9J_Dڣ=7+jkO5G%r`EqqN U*x(ӏ(@;LB:rJJ1A{n7Y4Վ"BJaE -E渮 J6og%@(4sqMa#b.S%OZ`c Vσ䬄6Y,J?ٴ$H$5CK)pv $%q/5ܞmu;.\h"%  [Vй7:{|oƳ U4ni: (ds=_ҷb轞'WH/!lpcN&|MeLBZBzIVZ,:d>-D-'h}e7,7;r6w ^GS4G=Ԟp0n'gNzyF0!'TD8Z!㈽x{; ?qX6GK-?C-mM^I=h`oZc5YsO&O4ĺRU S>iFSHQ!E}b~+H9ٰDw44/wpH)&3Yzu!*z#xxs_(? Ll-{kӋ@{ȠJK7uQo.5fmVE_W Iw id)vO9{VVQJ/*Q?L;H˜;#=[؂aK h*,C/%{ #V>AzR/Y$q}cpW8&Q_.P%bMq"xgA"o`X.HI iSIV\cKf,jEvRoWףɄۮR<8At8*v߆jP Y35k\WoHKWdvkg:RKuNsf/!M7ŒN M,Epۓӛ$Șy^z9vrPHsU`;$ ɜ̕80Q1e*EDD(G;/^ @"|D|¿seu`ݸnYZKQ TӪ_&|sZڳAzz.3J(.\jhWvMCK':_Wؒwkxr6SQbؑO']5Itl $!,<$遂 ״՝)s\Ynabf-HA_qn}YI=|zMz6ph z h)ҽ) {^B7"jG)( MDM)sFkҤѨ56-)] .g6Os:yEkM)"LvKWhB4F| 1R\zUgՏN!d{k3ق!U,D!$= 5JM7b{ ,=LD~ |Ҟoի=RVTIv>#βӮ+ &V畸՘m*OO]mx!>3V8%}k'!yfہ$>l}X旄B ;?K/VRdV||\U^\o 2=t+T_sY`Donr'.t!0iך̧֥2H^ͺ'PS7'rA ӗi]Ovp$߉7 [n!sht54oxSǃ#cqAĩT*JA %ߙ/4OP0~I*Q<GN}Z^+ k-e'{99)t֎VH$CN!SPьgG Nvڭa}HK Jͦ")2l~kTzU0ЁXu6Ɋ hZT+Ij4ϻѦm}=5,OlS4l8Pv^P;/6}ū $A{o|N3$xϤ]]å`0W٘;way{[ C׉{j!n?guP" C@F^ AR)XJ_\;؄Ѯ$^7 9CILϛ( I,gJ[yEපXlJ E<g N/M`F &e[GUC?_#A1Y{pHڢc2ZZacinx{~vl8kii9lLOGԪ7W: Cj㥍%oL C* {8q'HɅĈH{OvtPY'"V7j7#fA~A6BE(azVM.z4&`C`4>enSH$* b= `!1iJGFL\GѾ?N blBgy"G9Ʌ=MՏM^S 1{t\,#)6s+?,W -xp/K#4?Geh9qc]nIWu /oHl[5:&c}ɋ6vqDŽbHpwƾYu3!m%yg(!&JH.zqL#qb.+5)*wPoUҿ-YUzRZ ;E~H}6Pp"4m_h$X,^ Vuw~M@.J?[*R؉C& }kIV]%=1eIǧ9SrN_qc ,РZ'Y\dbb7g@mR#W X.窖O綔Qoh;'Xx`2c~ EB54V_ͱ\%mBg@c"kU5p:ZʨDy%49zP l̘)񔔆N ba`T$04˝p<u>Tg4`XQWAToZjPiVh+."!r%}j>ldW a|.L@`ٔI~^ďÔ㢮T;JG\8)#v|BL?KjgCιPkEl.I=$@3GوDv9l-2cwMPQ"@Q]̔,|.U JAߕhX_\pnBr5#"yܯTA;!=\N^s[~wp:CQz0]}zr\>JKFWL^Ce&c2a~ Sy1J8 "3 8s6U]-D3k\zK6+u]@l$mnG0P](zePՔVAK0 -+Fj##Ov NPI*`&)YzjP~$B/ӒH&dB9e$s4-LJun } Vn6k "35iѩVFUCTukڈq8l]p wa 5&Y @dzT(?5*t7$+N",uKNTQF JVhҥ$r[K~I9t 'ɚ .Eo8^Im7 n4Ṷ2^7@:xca3gw.6EWH9|oa>-c&hZbj{ekU+'WcժYc+.a%u?DeRs\^ \hdD.mdt? sC쎘ͷ4wtju!Z\{Sוdp;?Y hN5Qf6dJ2áG$HUK ]0I-hHj[$c}HQj!Ӭ=GW(\$;(Cޅ`?qp֛LN;d9G31I>@`Kn^XYu07.R1 !G.5aDl fXoT|vfk 8[6$LytS5ѧs N0 800ǂ$,2A;h*Mg6L8z\DG.Pca20Q@7E׆,=WrĞ{oЫZɽq8Y-ҿޣLL1JUѧQ;M&/mhI\F(a/=w<ons.K#IÌ{ѨV *˧!l|RyXT꤂]T(z$n[#%q3| n,+.v _ J":U;Xjըi v~WfNj]C,ggWJםWkTEX(]3+[RΝ@iLN3f 9GbV.ՅQ{:(PܠefoQ#U7hi 3P͖ʓo8%zwIi.K4D&Uxa(ReխUU8aI6X>gxo){rz6Df&}k\pR,4 @*d> c^!VӀRM Aki:V@BPnQ'>H: !h$_gj]M vh pjjc T쉲^p58O]]NQhva3oΕDZҾMDPO_5_@ՠ5rBXAų ހ¡BB^Id%'լ=vꌀ9wm* ϯr(,q<ֲɏEdϿ+z0Ϙ/\Ÿ"qS&3p;ND7lӏRO:+Y+)bj}#Ӓ|Dl wҦ=䖛\bGMf阗Bb6 $O&n1o 9= /-aܷ)tV^f4 <j/%njpA$sY?Y( #Ua.YL>?ox;R(`. ^KkgɉځzE"Dw/]7(Vof3j{_Ǽ27!YԉxUJ D<Ñ, O QmYǞ׃+)p1z;9L#suGvE腖B:0-Yjf$$x.nc.-ŅΉ.o 8+n3fnQ f "ԇ6_t`cp.Q$5IEַdM`F`:)ywi4nCxL4.f7seY4M7J&$u nWFѨ*?\;sʧ s~ɜ+5[듺FGL!p:@O]I.}XFI/ ȕm#])V*ЧA2O᭮Vvf'nFnFVLCgI/£ZmLe!I⽅,9(`D2 HzlUU|v419/M4&fo ܢ0vjdr,TY+V?'yԴ'p7+3 {6ٝQ733koxA+fles" b:"̞$޲(P:2sÛ]݃+iezzEɼEgv*$)? LxOvd?UlEy8u^{Yoݼ Dpۓn煎ܠ E-Wb߮-ZE:C ZЀTAF-giOH'ʌ aVާ($M&utB%k~;1&f*ִs͕b?5NL4-33`iREfjGvrXn>U$odeR*ڊ3{a󙶶:yQe$*7(48 :!Hg'q.jIZ0[c(:Y$IMi(k.dU4 /?rU?,FYa1$7S7k79uܙ'qK3#(fmoi]/26/m̮bb/mYm0wOL,m̶6lĺ(V =n ?@yh6(Ց+2d눫;Ԁ `ʳdJA;V͒!<в~@AـD:~09U0G ΁߄s?<{\{|N`ej5|;2(sG欯.=$ȖC&w>[ wbf(Ur2R}I-APӛՙhgu!}&ڨfRC#XRt/5]3N >CtաrnJeXv5Uէy+5jT3 lէ-\pIlT|Y".oK9qdz~AwwǸ4YZuK`Tz5 5p*T &.~YW |-NPJe ݆UqV'0}:7@LԢK<6!нFRWPku7sZdV>mlNz$hЯ<m PԬ{!U?nQc4K ؗ淌,G'<)gOq}s]1M']^$铊{aKuw;' ]_ER_EUJ37`Vѕmzt,N sl|8GKӠ 9vw3;cfArFfl=RxDk NlwHuHhƒk>FGCc bOp&6s@3_pu .eb:x , 4͛z\"ۯ7n@(/hறk-ou,pއܸ:|><5|AwSo&uuf-ЄG ==Vc9_񔣭 Lo%OEzჷ7;o%aGG6\|ƕ]Rhޅ. T7Дߺep~"pTe\\,=V iQ; :2)wz.(w&jٮqZэdd敍P&כּKUW)Ds܉tbD}D+g|#褀gNZ;O4VEԡ-̲Y xLZS[9w>q E}Z`[Z] !]gسC}]m#sLj3'Na7IQe αmU'ų:rcҮVjAg{FZ1ޒ3hE N@d@"vZ FIEb=m_NIEƯҞA rcTW˜ޟI?m(jw8T H㮰C~uC@ ג|OVnf1rb2jXk5)hXmlP odf2E6%wݭ -mR9}sS ]_];LT%5tyoiQhT9+@%cT-ܑb{,9{/kB$Zg@OKjoPu6]o5BOYkן F>((^X /d{2T]ۨ0 L'Zw K.*q\;J'% Wjם$#C!<(8a!/]#İ>F;J8h@;2UhHcѐEуx e1Єn̑T'k=԰tT}iRr͆vĈL3im\q[nx}yHFK<2Nvdc5-Pb߲fl<4BoHr~omՐZ∶`]^x .t:hi'{oySs+>ƹ,ӜBGIBX`CHB#v# ݂@{H Ko,{jҳ4;2S!WERCADhk(4ѧ.@L195ܗeݧycIͬcsk#DZkLGW_Wغ›logHgFAk!EYnԬCg4ݝO+Qw~ӪT_kʨR:B"t1HeH 0LQ—mld) 4JIҞ~_y$h@vwf/A iCZrn#Nx`g95 X7K Wf̑neM \f]ٮdݙErmQH$]4g v#5ۖv2io7&`MژؤHݙJ1$MF:_P`)vZZЉpByBtf?Tud*ձ*zJavc zSu2r'{tR H/{О' FCR̈́*x^{s_>!F\>ONij {4P`sCUZOaHfB$wļN41`.iaz~E]19519a8BnP#\4<x>Z˖s^6 (&=TA_]cT75>(Iy4PB5ISuQ_tcx1W[)RMۗ14mz$+xRPWւ<N{b'q#Ҷgm֞#_iGEQ ^v8Ե=DkuCgM߁-Jc-NTG&,qh4"o"P3w;jXkT@!NMatXP߶A874Я?czoK5X8IAF=}mfB{>(Nxh3S:O AG At&O3(iĦI-\XdzRK1+J-R+ho ~3Dt!f? cHJN6jf'{ВQkD a$푦iu \PE_ۃ a SfhT8L$lL 2Aɏ24a+l\-~H3NB>3·7Iۢ7U5iSvf@aDY"yPt⏜*_/64}TŗW9T ȕ>̤wpjj4k̞K1G_ܜ7[HްjZPkd{U<Ѧ鞫@q:%) >$>fw5*\sG !s Hyo^-TGPЉIWtXShdp4 !Z95wWe@}yH+HBBy,ZP᝽+o6켷L8`)tʭ#u+#77ɼM]};"3;ԩ5MH)e{ҲâWzmSk_s4?PqdiV`&N.(6j\  NZ7ڎbTO҃*dW1Y!f']$dە!j딶GAsRͫzتUvŢFf2?,Blxw)]s}~͘Yklfܪ&͸ij 7YcX)\p YAh`^^^w5EՓg?95=ziB? _ݠR=k0[8RFlJ~W>f﷪nY AA&_N SZYHtPd;[漃eB\H;eR"N<ϢR4zsmڏkB= yk6 !=lfno[\Р~kC -ȼ,k8ݹJok=])H1Swzǡ紜/RHK{ s=hRSVUAwfo%;xl:8L"H]ծ4%QN}HFWch܃{QyC'wiL#K!_xwU}]RCpoW[?J*:ф΃\,i#4pIֺ dT#Ds E{EaZV,uC[wd*wŜ{pf>qHNE.wZ$--]Y4΁_ɼ\p9/ [n'KIlgn^pQ>n&w$?K+$LFjHc~G;(vi<qᳬjpH:^²Lg*x;f4j}Ë/@YkUYd`}n<.庖[h0}NA8ν;f-[ 3=e;Qݸ4wfI&kp.C{;AAbH)\V,AV2 #4V id Y-st3]1O*ǟq(i?{v4w%.h G쑡&8φiU(&j$P塆zbX@ ZA%zdw`A]`.]o'PZR_~ulErX'd{}~Zdorj;vjMe}GxF&hH).雭["s$'ˋw]dTVt<g~",*vTpp0ڄf%8BG 0LcDi }@sU۬܅ݍP'v%v2iWc:= (eԶjipSZr\8L30R37Ëd;Jqq ŌOfǭ&޽QU" z/~%jG$!:%VNWso VrcfzCZ5#y7;ϹiҬRXotYen%}P[yvzyUPﮞˀ.\u_H 5uYNgI~v[@ $̭&Ę8Rݘ,J[Kh%ߝvL {34?7Cߛ궤j\rRDYWg/".}"~buUnPc]p ODUZ\\EWhN]:1ŏc!,5--;Kk?-)4Ր(7=Q I$:#+ܹOvDoWudYnRToIbE{lsqrd3Dv1&)R rB=/{MøT9M{ښD4H !a"M&DW=9 cA#gdlNwuCql${$ ddMuB~>T#@sԘ"(rZ1w)> ^u[ѺNu•>A1萱f>zHU 0 )s{wvd¨;e 02hN}.KfLjTH/[n%L$*vќsՠ8ac3(`T8;q7-W D\aAb~<P@o_-qFoV`G#%S'l_d ouWvÅ%8WB~Ilۇ-׸-9.>uNjTie]1"Amw@]6߇PN@n8ъN/'skYݭ {l?XȶȰ䶔%aJa]YU+vy0:FD.rłIՆj\%KPU:52@rI0i~=QDZ2 f8KWdV5j5 x<2 z̕4=;Csqg((| RD3)'"'`m- Y=%ֲOmhޑN@ᛔ VC(NdK+PE|f^jh'cmT%0GJ>$Vng%fG*`Do?[~AfUB;v59hK?jϏUYɏ4N<\ת982TR3Zxv?(u'JY &u-,ِSPIXp{a"C {V{.?jCΡ *R~)a(H{!ٷ~KP~~6PWC|eQy!˱Ӟ6F3Y[s2%gw\jk7T͜)w\u-m#J x%XkRLK &L%,.H؝!V$WNp.PyG6H7ClfM*TNp@ s[?FxC.@X\)?fHa=55L{ˆr#%Oi4+|3G։Þid:LW2\6 Ti mAz7^|@z S{Z\޹M/; O,b1aB=eLݭͰ@(Ku *Zf &TCؐfĭnnx &;̦`HIGf(j:shUu.P@'d@wsẓ9豷!}t¦;#oG;YR!)/E\v&mC1љa0Sۋ4wY-l { pSivd:j!9fR8ՙ86JGHdPNFI%'G1!R?]?;"_dfJFz5unC[_Θ Qs +RU|Bᒧr`hyT*:p&b]NAO:NUWD(7䲻Nej]{P: B՞|n̳޿ϵ3L| uIz\8xF3C;OӎH&L@Iaoy y$|Ŧ]xm5k@:&t@o !*`j՞jxxRzflA"_ԎJ^NO'=Yu 4HFO}\+ L֛U+27DL{dvto}PQ}cV"U{db%gۜ83]g #HY-&{<LM8̳3랱&Jl !c}8$p̞s1BBo1(ɉfι@噭(*JUҔi V`&ۚyh/ w ^=be9Op3ا$]m`Ww}8jnOJ#CpӽN c{uF?}t),vț-dV $ C?--Akf_peI &iAsT}1"X J0.Ni% iG7-Hl'%O__=K< /R3&)Zu;4 e5j2tFz(JV%+?t^\^CJ) Ǽe9{r9T[}Ebi2A`(/ZVh'>[񹳒_J !5_$ )`>fHvq[6Nu _Kz?œt9D bUJCcz;=LZ8NoԵOF@9k"g{؊QƏ> a3KDE GP<[ش*96 3Ǝܚf)-5yb3z%؛3rMnN,:Rg)[dC'3~uƏOAu+ՈD=ȕX5U9Ѫ!Q^x W^T<qio~I-q."&[g16F3` ߉pO$:5?ՄQl׾^fc%QIn b'4fH(qznwKNrIUQIhW=z}Ya@mfvNJ/#`" V}ۥ=%FlXB}/ n^Vb! ś]8QR(]Z hب4 T;8scP(TƬ^W͠(<o9S 9˻Y y:U\Mʯ98}{{ًfo>)3AmbTO!nLK=ҨO65y?A`B=0DK uڏϔcEr}j4l(<Ƨ[iݲxa qL^t2(*!c [e 劐f.Tҍ/ {@+߹{) @͔8;8ӦNϏ˩^]oWzP7Ѹf ږjI7F4T+p ]mܥ'׀og8# wf?tnxA=ҏs]d`p4km$oYIL+9s_E29̼bK,Mjvw}IA  {㖮ϋ;:ݻX^Ѵ3gÊ#RbHjRF)-@ aHbwt?3UeR ZUFՠIX铅sEB =--W, GCsGŕ : y}&5+0nfoBR=9VZPL75Bd %:OjOh|Z|~DFs$;(z v%Բŝ=g]rF\rRVT K M4Oސ0ç/7kMXG0`ECV.9n!K9әɌV3" IFPSI8F) h4 dfSXS 0@7bР];C.g7 B\*V݌lOV?˃{weeLwwe8'J 9[גejһ6h7ZoTo͒L ^4̘hhƫݼ㔡\ЗĂMwI뭍d\6xAPP#a,fGbʆR_ Ǘⲛr/Q)1[u+&Vp]ڵ^rM442oQezMlV7ˑ:Tzk#TeLjxתqSWpGijhG`0l*\pH^VQʑ( 4YQZ0 ^1xw W?;I :^(0]&"j\qµNXo=42LB7ױߨgYrk4y6zhNuܟ'/ϔ( S8VA¹ er"LV0Y>pBOs(hȰ7>&W+x [Yo2(_cؤћ]x>h)9{Z%qPT%oKXsqN9ɂOJ(`\ʂTԬ4@3A/.)7XaKZiNTjWs+ '* Rpf紎j>=t/_i:o3Dz1Ke C-3:ZҞld~[sdp~zq./!󣹕Ã1<- IpM-?D$iEeg"P~CD Gv@g i6;ιrnoq8Y:hWPogbo&F^;uDJL?g_qEY;/ frfռmU2u+Wh íӝ˻6=J0aIG&=֓9*Ju EWIcR^| ̝Ӑp}3qxZmLn՚ +`.r5`hG76 fQSo]\LR3D-.]w$ K1:ejKB쐄 ~L4)$٪UUBb>ץ s'.g&WcH,xD8)I^yOE]/fNjIW걋ﳒ!٧©G0&vr"o\xp.)"KLQvdAFSUt0@M63 9Йq?lMvEC_M7$C]q_{Y%meά'd-p:,`t n TLs=욌%ъ~.HG2:jo ^]MPb?SGK53vj̲x@vjHikǏcA&L$?U(DEHbZ=dh|AJ}N6 Nbd^/ ,$k{+QD1Io}$c7Hzԫy(3tY<+vƲ'!S | r&Ps@E゚T9B`I0ݙމpzDRòwyHc6UlbV!g ) DBe~.JwkQK5)*{`s1,=l[f>>a.Ӵ}5P^ۚd {"zjk[벭?7{3SvVwItkޥC޶@Vkt߆́q/ۮvwn/ vlhpb\Q*d ~q^PV_7neAVN A˘&9GfBq])$JߥmY!j\Q5Jj<Gkd5JĒIbzS {2h}ǫo)IL FGP;M$._*EP؛\JF.U! NR ,$L gCQ&VTPS2siҞI̻I\eXɞ9(w~/3s$RdUPǑS:ru~'/-i"-|hft[W*t/ߏ#kiӗ?5{ӟ#nվ_?b|Z :;Oi;!M0%_Y&6CkNf4ՎIuҐўK,F0vtV@PPfIW:Gp4V3 ?=SaFAɴ+i3L5WWsgAq7:G@xtWgpcsby4j Αej@5 ?+F}X638s;AӰʄ}e>믞y"/{:;j-s^a6!&+!}2F=ݪ-ʍxQ tcxLrx.Qn>rxt tL]\>AJBY8<稕1w_̀fH)kwaċ$=-]И 8 )`ut&;N*(3z6pqx(G7ޫ u  Υq;F/C,px+o1*j0]'@2oJmrlvF44]j2sw.჏ t}whX#+-"hqϗ~/Jo{lmfH>s'"$dn/=x`nH( yfTPrSoq t:u3 Ԏb$7p7豛z8sk}u+}ux߁< Xɖ\+tpR7>+H</$=jľ0vLfrdFP~ C&@\KK5F,o J?>+yLUI6Yб>&.}q%32ޒ;Y`{K W&oy'yy!{Mc+!b!%ɯ%XYq-OsA,* lk)ꕖf+ZyKeXr7179s"#HH1<Nލ,K K3p?=Hb /:5r?-c^ V$XZq;^ߝGkÛ cR/(r|\gD߆ɲgTGڱE%'kyRRr7 _>hЭ-^TBOF i;%'t(I5iMMEJWje0M)s7yA,ܒ4|鋥~򡐴c#$>3UV@ 64 xV%yڕ ٞ~1'`4xh*T8q~P\f^r@7uqjO(Ko[w _ ?3_Zm}~Ppq8 uo6[_?s'2j;RTPfmRZ ΁_-5KU+U{$ 䤴s ;)z#f0;\ʼѸzE4`}+^`Ǝ#Zwm{|QX?UtY;g;/е5i WẎ$ OmCqvl ƻ]Z&Ap"<<.)09!MV:a̩[Fz鲙 EZ; ܃`UBXSbEd(oLWHJ/Pk4IT1ݞT:]0HN;Mo`D}.%Pgg,1/FA!n@ uٰ%<9MJy\eXCnfZ-R+}7G@֑&8 @K J"*s _ehqzps@Yرfޖio[\Ӥߏ}:>fL=c1岮ht[q]ۇBՊU'O0CQ"40ŝ{j o~Ȏs3ܾ<hVRxW?VԉeY3}Sy+u[/ߜ.k{;'AeR8aKg{0խ~W-2bi,1]lpy1>}~uVKw5R|j%,X=5 ttْ< C+dtx5ƴJ0Z). 7I zT%Z1s=v: ,Ohոhտ%x|f3>!kzo4/wþz1GgL;֗KLMF=6>7&4 $|HS2aмrx΍}5*]$dˊwz7OF 3PSρ< To0 +zMw q T2+}# gV %&R_YFJ+2ﶩ].و]egMſ{ҿMJCجۄ o0ޘ|3s:ÆB:6[dg&+(0Gb<E-많 Czdd]s.ms;6cJ4' >G|L 癈Y\=bAy0ؑ&3aĭs/d{hП)CH/Z ĖŸFuN #'t R׆Z>GЃ7;`M U6=QhC_YI{@g/+ 6e-Uͷ8Ҙw23=3N;A(lG%e12"wb& muNY~EJW3Zvp\:'?h_jT+ogS=1_hg^Ɵ#QKj(w/>t vzQѝI#(O*8_6JcQJ{)۞ԗdtތA&ă;]1tɼDMuy{9 z Lͷ+_d),Ndm$XQ4eG6Iv6p7L1ױF239ssw$=/-6ʃ>2J3(^!2 nc_"x=K[,SB$68;a)}X$Lawt1#F8:, CMOT_JƖ JKμfn:Z- Z'm ҡ\O~C 7ŅNIhU<_ixK= 70Y)K"e5q0>;^&!9RblI!j)3曺EΔy'>'M4fHvPAqGNRS Bc2:>msFɿ83cvelMVY|J7*~c6B>f}gtGO+tقU+ 3YI,u K~8,݊ass Iĭkh|  _~$yH2@>2@8J[OT=j_dG C24>245,~kÃ=>R}"LJ߇+@Hљӝ46b]>5@]vwK\>"s&|h_r=?e5)LMMRwE~eiSn_*#C\} '#q zwU+ϻ:Hy%?(}6/5 21':'`'@_q29zſC #Dǭ?l7E9]"[Emscph,ݏF~73vA @/GAa 0[9c~>kj T9)Gr_֭aƖq ZMׄ0V L{=u `FIs'F/Cڐ+3[V!!LʼsKzqIqwLҹM ?K3pk?SRVgz+V5439Np]u*e&OE6轪*..%eɴ$ ,l j6i(b7&hA}6?{ MHKVޕC`4D|i9=iJ>9|ޫo'n:(b#a)42TlHCkJVv* R zVXHBlunL̦ :P0IIV/ecz1,h^d G\hęf(Brf*01y)7%KR./ii?b11fMO 4y}I6`'ә< Md.j7j?}oV~9͖Y_MK~$WZO?}ˏĿl:eJyM~@Oٞ_Ҡck/?AFD&$DvnȩpL3?:A9} E" ś& ?y{탟M|*_k</w6f6$7Н-`w2 Q 6OyYҗGEH\s*vs^ꔶ-ݭs*oyV~}|~ɑutT% 3S4OQb?bƬߨ ua~]TW/a>N|?<`9G_~~y"WG/iI{%| A#۝D_f!/T~Or"gD Ew\ӷǃߚ<|Omd>ɉfQL7=5\|b՟*:X>CO쪽:͝_U.JV}ɪo$e}b@}H!5ו{0jeb`!zJµ60 oadwt3J>9F?;_džSEH!'GVd78@XЯy%ȣ /$;HH ٻgk Gce|l9\}fqҩ#ORH9 ,=8[:%I_糏s Wsð.=VCko/LvEKRpx t<:gaݍw=k#)j\5gʇ?[Ff_ N?J`%K3ktK `pGbɐ%V~?Nũ!NbAM.'FV>*+[.@Q@ ȠB4ұVQ/ڮA' l(C"} `)CZҀ $ "`-MS |^OB6 V|?-=ױidAFd3lH6s,xA`zT?= O& ~2 t /Vl9A)UdZzsW-dKYIu9+#.Yq4nרq;e`ܮyo ䷾צ4K9"~Oi2v^7kNEWm2=\Rʼn?O?,$sR[o_v ++?yLi'o^؎^}֮KJJw)f&?hO\ԙg8jiZqjs4}hnF l~ov?kE/|xs/୙)2b@㫓R(M*SL1}gH HP@hv!ebR}6S+-1%$A)6t*/PX 9ctl $D5kk=?]lDmZ*[@g*rg=0Jn|sSA17C/MXEZ{D~EFep'G.=?]öJoBFR;H4Kĭ=+(cJ–ͯ #0NVc^ W!BFsd͒HO{\xf&uQ^vQ6E@+4羯;;֏vACF6BURPǮR+X ԓvW,31Rr^UHRvNw;Gk"oJjX\q ϣo;aJI Ẃh0dita+H74^Ipńwn[&*']߹ #,$HVl{`dFl&W7H $xUHӦ:֏t;_Sp\"Ka14K4Xc_jEʔU};ymDF J띕0[7c~VQOXxwYg"iqB49?_}ӆy71^X/1?ĠYVckt78_?^QoCP CJK@=14C7XsR^1*}]oWyuaVa7ΰCKD}/0F/-@OE-KhENgw_[ !~W %Jݧ%)@Ρ!JvS9 JF\!n]3X6ɯ!bSm~L$^, CB_YOwko'1kz_c?I&WQK'?*`Xw@O\ĚڃhŚ#9De~H"#IwrF69%68Y~qA[lBz]r1'w%ǷAѤ@1aGg`A`eZF"Tڇ&0#JrԎ띅+!6{T~` T Eon $-z#-A+nx9kf7kzZ#a@7d{_Jbq):8b@x`ؑOe4H n_1ly")gE[ϓ`$n8]q9l^Y=Ckm{JI~xjn?}OTH0I,i/'b.ou0+RvqM^ڋP3otGed]3B*[J`CGږ j- ;Ql ՟dVO9o4zmG=5EgJw)1(MnIH?axTx~tg#6(6K00%3ZD Xl3>b#S{G; Q~tI#^fφvE4i=`=V5DMT͚)Ub';qݚLO>&mE>KH羏wD\ nwӆ4 k> N 1m7LgV=,fH0^|nPT WQ|Z8P*~R:A;E,U^-gb -q7cQ]`K_c90KՏep:r0 N0}~<26f&^ |7:n>g3;?Y $]go!X\9(St@t;"g 8kAeXq($ t&n`sn%T* x 8WaH5A) ?Df[dnゲRY$^.x 7PVWCB-D]m:6Tܽlh 8zkw$|.)G|R .Qzp!9~b=~FAք$;*wx^0Y!Ps-y: O3-\ I6cq'ޕl l1YNc ,|VlӸ RO&!9;W+;c3k;VsW2Ł.]ԪWUԩd"szяۈ981#z7'uxyҋEN"'P La-|\vƎsIB M}"IHg ^e}[J#{[i*[uu`XWeCLtlպϋ]l۰9O }T/?AM:ww jؕcw_U- '1~+'+:ƘwkcGeuUƈN~KiQ`qO(@W[2"r,'Y-ifb8cϯΩ-sm5擎|%Q#yjBBֽ7 7t#q݉}T# qqx ~"EZfb*q&D2QiУ8jm|{:(0SדfYƸz_O] i_ Rl2LGB^G6:n@N#^.j08" C//JGY, AӕdK4M؉Tf1|*zmY^tkUIz{ۙi;f6FBWxWńܿZqiN7f\[{pB.|xulzϣ;{[us;MV⃘+M7l}ZO<|@X)klR^Qt}/&bdDa Qk(,sc3Vh )q1|iʋFhq4$bq %DN: .$fRûˢ4|"sl[ N]QUcmh^1qw]DD{A؇-9ts/YEY) [z^YZeH(NNǐ%Yl|0iF_ޞmOYz\V{fİ6uݱ<\ojQ7A'-M01ևgWP1O*SBq q%p9,"z`Un_%Ց;z푉)46 02q+~PMv,Ӌmf/)xl²+T5ZK.O`0Pyš 0]Ypb=,"EaO5ZO:H1{ȏe6F|Pz26#lTQ:tv&zӺt20" ;"!{ARa»:rcQT|uu:1TG<֍;>A,^‡@5zRy7