summaryrefslogtreecommitdiff
path: root/security/smack
AgeCommit message (Expand)AuthorFilesLines
2024-01-24smack: Set SMACK64TRANSMUTE only for dirs in smack_inode_setxattr()Roberto Sassu1-1/+2
2024-01-11Merge tag 'for-6.8/io_uring-2024-01-08' of git://git.kernel.dk/linuxLinus Torvalds1-1/+1
2024-01-10Merge tag 'header_cleanup-2024-01-10' of https://evilpiepirate.org/git/bcachefsLinus Torvalds1-0/+1
2023-12-24lsm: new security_file_ioctl_compat() hookAlfred Piccioni1-0/+1
2023-12-20shm: Slim down dependenciesKent Overstreet1-0/+1
2023-12-12io_uring: split out cmd api into a separate headerPavel Begunkov1-1/+1
2023-11-12lsm: mark the lsm_id variables are marked as staticPaul Moore1-1/+1
2023-11-12lsm: consolidate buffer size handling into lsm_fill_user_ctx()Paul Moore1-17/+6
2023-11-12Smack: implement setselfattr and getselfattr hooksCasey Schaufler1-5/+90
2023-11-12LSM: Identify modules by more than nameCasey Schaufler1-1/+7
2023-08-30Merge tag 'Smack-for-6.6' of https://github.com/cschaufler/smack-nextLinus Torvalds1-2/+2
2023-08-30Merge tag 'lsm-pr-20230829' of git://git.kernel.org/pub/scm/linux/kernel/git/...Linus Torvalds2-29/+41
2023-08-15vfs, security: Fix automount superblock LSM init problem, preventing NFS sb s...David Howells1-0/+51
2023-08-07smackfs: Prevent underflow in smk_set_cipso()Dan Carpenter1-1/+1
2023-08-07security: smack: smackfs: fix typo (lables->labels)Tóth János1-1/+1
2023-07-10smack: Set the SMACK64TRANSMUTE xattr in smack_inode_init_security()Roberto Sassu2-18/+29
2023-07-10security: Allow all LSMs to provide xattrs for inode_init_security hookRoberto Sassu1-12/+13
2023-05-11smack: Record transmuting in smk_transmutedRoberto Sassu2-12/+30
2023-05-11smack: Retrieve transmuting information in smack_inode_getsecurity()Roberto Sassu1-4/+18
2023-04-24Merge tag 'Smack-for-6.4' of https://github.com/cschaufler/smack-nextLinus Torvalds1-40/+24
2023-04-05Smack: Improve mount process memory useCasey Schaufler1-39/+23
2023-03-20selinux: remove the runtime disable functionalityPaul Moore1-2/+2
2023-03-08smack_lsm: remove unnecessary type castingXU pengfei1-1/+1
2023-02-22Merge tag 'Smack-for-6.3' of https://github.com/cschaufler/smack-nextLinus Torvalds1-3/+14
2023-02-21smackfs: Added check catlenDenis Arefev1-3/+14
2023-01-19fs: port acl to mnt_idmapChristian Brauner1-6/+6
2023-01-19fs: port xattr to mnt_idmapChristian Brauner1-7/+7
2023-01-19fs: port ->permission() to pass mnt_idmapChristian Brauner1-2/+2
2022-12-13Merge tag 'lsm-pr-20221212' of git://git.kernel.org/pub/scm/linux/kernel/git/...Linus Torvalds1-9/+10
2022-11-04lsm: make security_socket_getpeersec_stream() sockptr_t safePaul Moore1-9/+10
2022-10-20smack: implement get, set and remove acl hookChristian Brauner1-0/+71
2022-10-06Merge tag 'pull-path' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfsLinus Torvalds1-1/+1
2022-10-03Merge tag 'Smack-for-6.1' of https://github.com/cschaufler/smack-nextLinus Torvalds2-12/+17
2022-09-27smack: cleanup obsolete mount option flagsXiu Jianfeng1-9/+0
2022-09-27smack: lsm: remove the unneeded result variableXu Panda1-3/+1
2022-09-27SMACK: Add sk_clone_security LSM hookLontke Michael1-0/+16
2022-09-01->getprocattr(): attribute name is const char *, TYVM...Al Viro1-1/+1
2022-08-26Smack: Provide read control for io_uring_cmdCasey Schaufler1-0/+32
2022-08-01smack: Remove the redundant lsm_inode_allocXiu Jianfeng1-7/+0
2022-08-01smack: Replace kzalloc + strncpy with kstrndupGONG, Ruiqi1-5/+2
2022-06-04Merge tag 'pull-18-rc1-work.mount' of git://git.kernel.org/pub/scm/linux/kern...Linus Torvalds1-0/+1
2022-05-23smack: Remove redundant assignmentsMichal Orzel1-1/+0
2022-05-19move mount-related externs from fs.h to mount.hAl Viro1-0/+1
2022-02-28Fix incorrect type in assignment of ipv6 port for auditCasey Schaufler1-1/+1
2021-11-22lsm: security_task_getsecid_subj() -> security_current_getsecid_subj()Paul Moore2-21/+4
2021-11-01Merge tag 'selinux-pr-20211101' of git://git.kernel.org/pub/scm/linux/kernel/...Linus Torvalds1-0/+46
2021-11-01Merge tag 'Smack-for-5.16' of https://github.com/cschaufler/smack-nextLinus Torvalds3-44/+34
2021-10-22smackfs: use netlbl_cfg_cipsov4_del() for deleting cipso_v4_doiTetsuo Handa1-1/+1
2021-10-22smackfs: use __GFP_NOFAIL for smk_cipso_doi()Tetsuo Handa1-3/+1
2021-10-13Smack: fix W=1 build warningsCasey Schaufler1-12/+18
T#VQF@gUZh~|Amu㢍 stz?Mi*wORYm:V)`/spa Ň/DJhT1m%(*(~Ә{k{Lv~;<-6׈}i.~/j[(y[tDdûn_" U.;#X> G- ˈ:8,qL\ [>qe.5q}U_+)M V"Sr`5:XnpfĠB:=4,ed.(ϣ"VKc@{GDMpsA3c|#^ cj@g1*k9T !IC3F}x5@w|Bn5^?~UoX;@6i,5 G]4љWt;0㺩Qc;7ƅ=#F'մO#<Ӕغ s,͖M,eUP`jtj%b dUEQQTUl(̊"(V*z3< {@x)T%4DxE$ k/68b%-hJm.@ \~$EIºV47>7qT`fcy΄Nܐ(Q$}"h8vShzU 즗oۓTXG;BН)rQ%<IЅÿ́]|TQy MU׌zO|(7{&ChPԵ p ~1yT:`Q"RIᷮe[Δc ZVT ƐyzjE}V2q6:#^4+7Om(y ^Xr]af?`YS쭅=(]졺n#Dlt'b#NA"BwDžꪰ Yvl7a`+(X: 21GD]ƪ>i_`# /+_//C__3_رչn!][ϣ1uhhEz\A )u`pvΠEI(y@u_Q'O:nO2״I>V74e+yVW8q [RZm!:HUtԎuQN6d9 !㮋kж]Je^N   v~;69WGWK.Ye%0t >}U=P(j2a?C3DQ?m@ TR~Ec9 ulrM^ 0q1'BAx y".M(<m#+=ϖrE05*se[E-m`KIhXF No@~skg>񢝌7a=6Սo FF~L~a㛾ւ8"i2bmTv򔦥 2W92 -fs u0=:@V2)0H'aAf0G%KoF Cxi_+`5e_9BI@X д[Op|mrub}u߷Wv #cjipDrbJqShyYx~: uUصAFvp}_eޓx"~hQy{H)U'>xzjS1;άt-1DVyC @ߖ@rÙGST@(k:Ƀfa3 JgOn<.E|r;Vcz.[^x8+}Q׳_rX<2-w8i60OϮiu;`Qr9idIH $$)gKZFTҺ0t@|nU&~\vrjpyn wˈϮs8{eJ܄ Zk8cR8<cla?W`>#alu"j"(@Q3"DMqj1& lDOu=ڴE(zc֒Ě"DJ AWyMaf 㽮ܢ*QB'taT T\/ !YSuz~PEm)-ܺj,XeȄr)3p@2'vrmF3TJFgvQC$uyI~Qxth&lS_|yǖ;[Ez?rH%^@'R}+KAoMm R<60bl ~PD eb/XU߲"qsN= 6[P B/"w'24n<> M\z0\U9ѯEн~PL2':# {cَp"GS0ε]Tԅ(qsG_+e:GkYG; 4 t%tVTzcpak_<j|k t|Pd#;8PѥP`qN+2ElŊ:=q;xTJ$\p& .skdm]y9y99Oq; x*;!|℅3c"\r ankyx$`.TΤgy6?5'9FrBOz} yfagmV 1qf4 qdAm'aơù~2sSx'Em.4Gn3uF_!+R!BD-C2f`SpcCkC $201a4q0%s%ӿn[R.w*"͎yU{Mw1Ȇ z؎tjBƝOz#`{zȂ@iՀ^0t 1tz $rGȕ}EIԄrU_S][J:<d)YãjԺeՠۍ0] pԤt/8H Z1nju"| %)Ϣp ١:^Ԡ}]hyޟ/U-DHeܹ_q;5dXD࿒OHjt^mǧ5 IHEC]4obHeuƥZdwýKPv'͛_.|m^ %ҋ0A(!  YvIx;l'ȱq6`t~f7 nmڱcfn4Ef(!5t8-aGFk*-GK+|dǫmKmW^i]/1D*G-$K,tK7R'esHLoXVP}O༯TӾq6V1YfA|!|唟GU7BmAۅ%Î0]͞%/< ie;S k0G|[ *#zz6"1Ad2_TuZN a$O8 Dz#&3xz :n_,wkFHppb&j[`FZ$lO>x٨h |7'd3$Wd9ޫ[Mχ,h˯_FzyhP݇o?5/P.âbR*mUTA0-B{7.ڱ% 8rSsQxyc4 JiΡ^*Ϊ&nӋ}h!x?4>+!o-|#W N9l·~Kxգd4>bN*DnicX|WC+XO6:O s~ i2wr=zLFbL~Wef>O E֢TBjӈD6:ŕgFzNqqc8]YKU sǸ#GnAC/F^ܪtT0j6QϒvTa 9_>ZQ0#Su1Ip8#4"DXUrva|=S,.Ty63X !rvCvӸs9piƓ<85oG3 ?$" WޡOGҀ_Jk«Mg< 7 8~|q8>_;De[c{[K]GQDB,>Wˎ?\E8"*/;.TΧr@&,)#Flp"2WwZ [qMǦ8*l󌜏xc3z {HgՠYaxCD q [BE;?|hd@' @I]?Eq˯4gb(pյDV3Zۃn.s @ 38al+Z5wJަTrA>ei=W\gfvxѮX2EL֯Fo,w;4WǸ"dSl1.L3C"W[kAC]%5ўwѕ)MYT<w5*%\*$?Hs4s'ͣ |*pN){#f X&ys,' d.9 h"̃A`1r*H6Oy1nbmA(G}Vh6&˶wy8^4U,*|d(BXy[2cVG- ͽ8ʹX8"5;qMC[{` 4/K&ݝH)Rk TLyT{fPQ/v{E%*hcd%Ʃ1,Asj`aSM'-Z#jJJ qp(}x~`@jL{sqƜ^\d+xRo9~2X eι"~0~1njNUtb]D-\r<0I]0qspu}o_axc2w|gybun*5g=\@mz)̄5" cX_<2 QVZ`;F:_q3V3cT8*?fͪ}ܿ%9;OkVN}'ҮUK DDv[6x;Lol^Gw >6Eӏ65L 5kjK(A"$TDMlhR^u \\v0VX_х~+im.6 *̲^}v– p[AL< :/:N#g(X] 6MgmLliY`/R)Cۥ@ƕ[1ِv t  At\.eL4XIɝs R7a ^]GD2Bi9rx rS8 ҕ|3KVlYttڱhGtBxkɢ%7[͇ؖvu c` ԱeB2X2rd|Nٯ̔3].Z juƆ?q=Fvph^_0ՙ|O<Rk̸9\\W 2_U<0“*Hs]4(<\c3x|rxIBU<y6dgAf DQ@SQ}m06 ?߮Mo*AeSƪ#o}v;S3> Cc{# I59e߈,{t; F¤U.P Qf"hQ7+)z;7R1&oةs$!Nᆅlq 5-ZC<Sa&Nf܃NgtA5T(._<\\mW[Li,6TL>ֺwww/ qkTstrmVa)s49s۰oFCD }?D8 S-ok :vPsT6~k#SkPa&H.;ZQei0e VWAr>5%|!쵖֏ȶܢIZ0,\k`&YAc^͠~XGG"Y{cѱ: {+ s|ac=]}7~cT'47pRjQC <50#guSY- lNrNwL5t6DL p#4.*-otbM _)@K^tu}46W}/StϒO &/lCym:]H/}q T8&K 0{:WR^{3`rE Q F[jdJEie.U$ V@c($-fnDRMǘmXk# %J=%]څap$j⽦zׇVy ag+T@TBWmXnRc'[fFvȨR[\uK54| ,ٮ4wDˤ5ۥՊdj 1.,35uMAh%O k^<1?Æ'Ncߩa;+}Uo0uƆZ 9&IA}$hչ,g@9Ow H.O?gRR,Z8 |d,d}H\Sr¥tp0`Edc+t"J~$GS̛jz4ǫ!X;B/@AlПb%o_Q:Dq|D(  /'8zOw>Y Xđ,0d 9L Yt2<j[7[*T9#f׭ <1AhePP-v5IA9.5S– OV,I,D#y_W)ĒN%s8o lAkQF ?e7s؋3`@3ny(dգnAVHD&ϥU:d"u{*{*ubGy!j{4,سrax :qsڡk˳9HpP-bm[03)gtSw@g}sn>N5N6 $=/k `A~\kz&}z U*0 k>E%RØF|YO0H;8}yvdO۞:lH2i'Sӛ ?!荑&'_<˵EЂAHh́M&~<]X^Z_Y@miٖT6 a`$ {У]RO+f-7-F_祃d> t@H$I t7Z_)'l{ ]cEz^D:@fREBr(2M +;X0_UM>DߎS\^""I&" 9_,ds_"@ኋ\غ_O#F_N. `Y~*:.gH ZCœC^]dz$.:MǮG)G$/n+es׎.+v6r >KJ`u3~w 1^NX"CD0,l|cC&$`o5E凫sbmnwr7"FF K\2e_:X6K*#`, lnaJ;%U]jW)2wi{s՗W2QH7DUnnaY.1_H3[3ݽRn.UXZ2+/rG(J*tHRw77B^QOKKNZ>}ޙ=ƩHm@(0VƋ^CVW0C@E_]tx`y܏1Hsf,V˧˝xȸTf [@tBHnkl5" yI\)̡iHܶn[~@XJߪ#n='}0<}UK4C[x-2 88{Ctmn·* AuPʸLF-~FɠXP#pu嫭 G&*Ju@Ds5-7L]rJ0C]O*\ܭ=jGiMSg &ey[mdHPQ?~ޠs`Ҍ@cG鶊:)O*|ŏɒS<etTs^Jp4:4=[l2QUh[l%*2ͯSOK WZ/cJ?Rvk@Փ31Ts{un(FJ.jK[n^P~:R;^znVwq`fk2;" ~b2񻚫U3n>܉F.P:'3MUË(NEy^,Jd+gx yGכA7pٱ[[Unr նn/tYjw>ce62-^M.A/~j!6ſ k[g˲f"GSYE} -q'DWhpD't}5Vr_x)YJP7\Em^?OJ kP0?2v_5BQR n{|>EvKⲶijQ$DAwMv93[?vG+${] 2+N nJn| wN'hn7l+WΖ߂' .!iE0ebSoݡ{xB[GᏉLb@POԗ8= {T6H\moආUP1pF Fk_0ʳ JsYѥ#( Az;\.2S%Oj9%N`,yu u,gxl DD~P<%vZ6Wv2eg?,8\V( eHnOW>~B2%j[+1|~P4iE䃯:9»sAԏNn5ֱ|#Kav%!tUU* qse`YsE94ݣ)jd`&;8IR4g 7!ՐZF:Ĭt|NP$ eƿǁ j8r0My³YНq&\2xMC=c_~V}0d[2c%+Q5} IhSQR(R"M $D?T._csp UeL6X}uiǔYzo *VưTM|8B O8]Tyh݅Ӏ&VYVAvԓ6p|{<ߡZ'bTM܏^WRfrPdudDF4(/έ?/rq̻,ۜX8$G#7f|H",s_t!Aj?4A @evϻ/}ݎMBR\gm$q ^[k{CG];(]ec! U88 y2<Գz\ !l .4]PD`*7; B?z\àxW!%ѧ5HW` @`d ޶wUb8ƌ;riNLg½ػxȏ˝L))g(qz5vIp8t l~$%`K ~ƶCD4板IV2LoKm8}31RWUwV_.(%byIejƛC61pׇīWUdE@>GmT0%QU[ by+04]UTJߩ@ jPbtg= e%=Cs(a [<фIZrm!}0fs+c;^?شN!$Ag= 0VUc)nBU7wFldzP!Db|ڪǃ*B7aUS]9DQ zϫ|I@⏷ć{Up} =J"L O z7ɛC1/ETgw_tT᠋/?vMs-c+#h.ۋ׏VhY=b ~8>]D*NA!l5XUc^<׃3 IƬb%qKZj}өϣHh|~+up3*EjhS_ |j$Dv:e*4n>іd,U@*Pf( 5y1) U|X4aUP =~RM񈎺-!0`tV7bt7]HTU;01{">a,Acz_"Z*V]+s,GGAw*zŇCl:暻>N"O.ߖaDdIJQ(ǚhdW~'#KO%Doӂɫmj/\#u$n "#hDd臜PM)"CXW,0?xn=sd@ "]>,*v ejp-Bsl ZqyjW̱%ㅵ]+#@7=u9坚 )*=*sZ2KY|ϻ-mQ8!Hs:ͮ3rQK[(_ J멾r܄$Ba&~6:;ykHQdu}{응hrebAPDB>' >6y5>= >AA-Lh3uZaX|C5D$zg/]PAאv^&ERD@8[W)VPr)PӍW?CDyL#]3|\-k9c{w?D#C&N>`*w['|c? !)N\zNYCrQĘ=We uUx!'-8mVPd#qHM~Njm+C)ʝ/`9IAa Usc5&tAF+%bǛų|[|3 `KPTEU_8Y5Bc.w[K@]\8pnG5D8!sِ J~E@Ǔ>DƼ xHoݤEV57lZ% HYR G^HEHxwx[<(kX,j?oU"(0nfSCCN"rqHd z &,gNԁ* 2]psEұ"3H>\C|A@n~ CI\s>Z,*5'/W*i{2`HŎu4 x*{Nn' B?R:9R)/7o?O\+bd0B'(Y0Wܝ f@N)1h-NQ9¶Yz$.9z⿲ɏm'7=|:qemw5R ' 1 w I..??Ф ^yG3^*PkѮj,Jo+_n}{_.Ҷ!bD kUVy}-,t_Fhf"V$QfnR[OK9s͵afsyɇTZ6{&[ =*ńj8Qx('ꁣ{mweݬb8ϥYa @UU_?h[~TsB p8yQ}) ~VZ]}[վ14]w5l&I*sFj82\[]qF#ٌ糬Qc|g/"W~zP(a\t24bw͎ } 7/V 3 *߭xqs KY! SJfV-_*T@wݷ++-o= GFXD/c,]::p$NU >+sˋC~ylCA>"]A{` 8/B;4/JCc.K,x@>v㍟Q3G%.xno6&X~'ZmZ|~wH462 =2QOj~bokT(a_){ڿYހ8jG\/!3";9eÁpYVٰWp{]ћ݃P\"Fx=EΏOe9‚޾I<@9HBrAvZvEa8*@vߟ"םg[08_ٌs#j ][ؗ`uB ̏asUN~pô2nvy\j+dOI-L2@>7 $xoGDˁ%qQS2 vp}*gvrrY|JW4}{O=}XYeDc_;%4j"oskIgRDui͐9$?Ox}G-xsrw8]Ԯ}P,(ACj`TTer8IZ,x[:&w0(%+2dRM_Ood]ş#E]픶 n;f5Y4hپ<d CҠfӑ8 `+k.,ֿ,ZPYM{t  S[oe<{shg_RG;0=EW[PʼCz)bG}6=M=2 8%C*s#:t+jVVY8?[}xHf6?'8XS:}]JRs7ƼW'쎿"Enra`b*wcMW;P"<}>UQoMve4yvfsrB-U ʎͽu7\xu}~&C"kR&`e֛r,`XbaSS Vibox;Ňj| (B kk8zϹ˿xǫqX_VsoNF*m_GlyU4` K ⶞WS8 cO8tږ0Q #.̵W=9΍82ucQ?!L@so}*V}VȰSҹ*0T <VϿǍڤv>K A #YrB !J45JLH"صS3F݄W\uN"zAjLҹ$"5p4,Ǡ *3s)9y|0oY?nyǟ?Bhx bUcvQ\BܥD6jd' 8ns|'l,Qpftas(>fm-k#ĴPat_A685tbaSbFk/Mes|gB dYQHS)[`UBvDl߿!yuf}f@wZ͌K\t7G.8c$Mct8CC%LDb}=;u^ ĄiP~Ax! /Y> u7r*Lc"-GW`>v-ɋx2 qLRcLAX-ŴE6"<v䩏7^; 'vDEdt!bBTs>.| H0F 2TutJz~GjWTu5mSdk,9M2" X9DﵞP)ZpBB Z67oaЍM"gpT ]qnfDRm~e8XkL2ϯhyrGM:C2ҝupˏf7Rx 8\{G ~|V#p1y}tsS|u}`J(ZKP"$ 8O2i6}nЃ!B5FFk2fp%fG{3\=oe٫S5U+&HM 5{G&/j]y[lmcIqOQL wv‚W^=i]8a#$nU)<|t{} B8$ir#(uȒ$끀 Pf%i?ok ҙˌRS5²---t0 2"n@͎ rJ!9<J 1>_dkBkfD{a(Am'YEc아e7\@ZvC5r"dlD]Q@%.ɳi=R?/CE}< +PHh .S] M_ؕ"{Ę H"J#d0:6L*$ɓx(Ӭ!ÝR0IjEвqot7 )gf / [F4 =5]+ԯ]Y[s26*n[+ #[n2̼Kw̺O:>.):>ﭹB1ͧF2 уɒNyLV@I,.SaKE(9BGwgp wdK5L4BxBp( NM0A!Cwr(ʓd;WN:Br\g0(!Ö!>;CОqy!{zQW)~(D: NpP4Whq[E.Ŝf^[&&6rN9u.p yZpjxÐ 4E@DH3z+=gf*"jS&A`eoo Q90!%%aE)O}^q8t6h1Xfkb156j 7ToY%w`; ػdXhÀ*iE9Ei1.iD—a^ƻL(زޚ,C1`gD~\w^$|Gq_쪐K*l8(wm=n;C]iq(m ~ǒzU(aѿ)¿8,}^48͌i#h5KjN~s/3OpBK˿YO/1c\ ;#L|#,CaYi:P|-s1W}u6vwNb0*88vL&RաT't@Uȅs*13&Bj8"1G2 fse0 ucqQw~DO3b1 E10Tfת/iȱN 0YN9 ? Z_ŚbAa 3*gbh2 )ECqاD!w O&׍ۍQ"` 2,qK{%?jDKvJ>f~ߪU":-),GݭJ5[D{>K J C[Ul FNW|y%,[_ե o0 LsLJU?/n6:UtO= eO2p0$9[Pˡ:l<0nGu6e`%G=РtE+K m[VI6Me-#EX8YtV?%~LDK/n7R$j{8*1.iD㍁o/f65 ڂ>.;H1l&rؕs&Q}Pxe7T൐׭ު%1!y }f@Hd-OEG;k@s*U1STD +@LH{^,Zccܵr4Mu!Ԗyb%*>93uV[|e?|kݕ].c-ic)`{n]g]otku@ H2h!3^І}鹁Q/hd4j|~>3{ ѡ1Ƥ,5m)D6aL "^k3#''4,[Xq'=^C!?{֧{&5{3EClE DǷƧ5JppiKKƶ"Pm36.g$ɮ)&I . _d/W9Vkg)%CŖJ%GM of4볞Onk6B#ax2uC\ݴ,t":T/vUP7[xJ0|V yrqD> kʷ)nQ^h-0] FCkݎfm4 ]o5$qAY@olհvA}5+ ᆽ3_pir0h>frAw4UπQ.\܊L nJm@'*Q/郦-)R@3;S䆈1Փ*94c>N0`UsיY'aBf#\T}눽٠z=E8VX_K"A(ap>`9>|hAF*d.7 <=.i&%]~N.S}DFvwl$?&˽]}hizzQdN}OGM3Щlq 15\x-=1qb]pXM! 6g)0:^֓e&Hۻn7nYΧ5T3jC٨+gbfI;Wu#2~BMCIW6 )ݖN2"xaV.ts-A+}+?.sޙuG8?\ǂC42Nn<&{3Y BkHKn0 TT]%c(u]`ydߍo(`ԙ"X&V!W'LxJ@]Pҭls:YQw /:)p$" ܌Gg ">@?N`0`k[!F8L ێU[Z!GZ yyB6J+Hz ʰ]+J9]炇TkZp(p "`ʾR,-UZ#\ݿnJ%rΦY>QT0[fAbK{l|XWpdTu0y?[Igf{4x :S8sJ}͸Ȥȸ0C(V=E?c*7< {-ܐS󟾗:`BNqAdH2>t5axQ^_~,"**ɴ u?U-a6\((1צT1t(spGR89 3ՑxbSMꖒ ) ^QJC/±i֘]WMXմ 0e";@.IS"Qo^m7qaY[^4)>=Am:sM xp˗-ґ>@b_Dás QQ{K%*סy;cUdގzQ>j_s 9Y:ь?B15|CIb؋RP:3BD*\Js|VhY[Kܪ-Xn`* wzT5!2;E)_ňNWbxJl1Irdr:n,h7E`,15w -_R6oiRO4P/edp>s NRK]sI2S̓YH^d}W[l?Ɩ-Q3i-"aOw ^O3I>? ;LzLwW}w;?^9e© [Ĝ.Wѡ.opµ5;kVnNUTGOqԫ*m|z~ݿapa=hMjP# ο&ϒSDv92z!C}FpnzJlE>Go v$LKm!l]9-K|vz:,I1S Dژ<Kr_s6nSp[EB8(sF6:Tp /M/k/pgX?c6@U~, ϧ+Ħl(?,\$ȷH@&Scǯм~u\Ŗ`jEW ]n}(q~:5T+6xOTzu-aXI7Ml/_E{[iË]TBhb79Ir:ֱA"d_ϡߒP̩du{£C4 bF: '/dLJ_OT\ L?~%hʢ1=1U(PW^k3} %ޅA3hR|ka @9ϵi0MҨTq̮ Pg.W@JhICH+ZffFGSܪ9{lq"|:+++"?Yݼb\  )C:0mI;'dfZg?#сYWVDN4#R۹nC2}ߤ̼^.4w█&߷Lw/g?]b?oB_3ђq8.a3f pbb`r:MWȻP!x]'rIpG*v2m,E[ L029rp@b{)h^GK?ȓjyM&I+`4_*:?ȫ\ўC GMQssԎ_ *X:ƂE;\D;@NB;W/ĺ*ZuINOXyz"-Z{}"bZ/(z(tP(zd@U) uC R[b{a^2># Q8T:T^$4* jo"f|Yxb@-SWL=DXjpqeݵ~P5M9ɠ2ǒspEQ{} ]6XZ1xȗ^F-ОTIgha @M}?&1xDuTK/T SfG۷$W߭9D2e{ Ѕ_h2ծ1&+US+9?=~6j,%мmK%kB|jUqdK> lam5F8 .ӥQ&o54 Tvdž;JOBDܐs>LƱpr?r!MzZ!O& ?4F1!ԮN̘|jGċ$0X=3c&"PP*MY0CCqZSrw9pHw%豀rR%~1ηWpI!;6G'vvm-0't^ݺy`P{w*=`9/n< wGt .ךB $o Ӳޕ !?F >7MXW": V 8ݫK'uH-L![\'V3#t4{~uρ;$>1BqNZP3bB*g\Qv*+CZ|PZryz[; q2̖+0*v1 HvzGc7[y3 X,tVy39w̗@087cӶxب /qٙ8KJWHgS󸞇yN:9|\o؈ *0[pD2W?w"_/ )yt{Ks&RV{Յe)i{xcz 2cf`Hcu=>Ȳ6$u0P䈒rD:##^u BQlwxc?bL;+)\v,r F"8=S;,RC:[AjeP=8r,@֞5ATsv})O0 l*qx&}LxYgN'jbq}$`7cs][:Zyֳ '$5 cP*(Zq;qHbyG}R 0eGx00z,zU@R\0U=`\8>@:Y,n3Yh+㿈m%4N| Sk,"kn;^col TԢCv0"! a\dmvӪFS%f4lE>ܐIgSVzQBL4{jEj;uu> ިn5x66 Fl;v 1Ԯ s)8Wl[-gCxD6,LmF/or\2D3"C55qh1ډ2=ƃwh@P0N0Uq/|!bHfl9Bbe od$<GxL;;nd56S־68mw\3!Ry O‚w-yҍvv|0q\i:9{1sSs9ܝ3w',Pq)i\oQج}"A(xCF{Tq5ǜTF&K"nM*M(tx|a>뎢|>S3 D̹s_|yvGš_C]vzZ=_5g'<<8qԗP6˿2ؒFِPE8l SnirOD(L<2 u8[jCpVm*npa5EjJbȽN NMB&y5R ,96y.~_1X!ŅZ]c<3{sq08w㣢Wv-[M4 p%npHsBbcBQ}05rsodeoT,,#騰9C¥xjAPxT<~QZC'({l?uG[2#\p8lI m,H`;L=qo8O[Zܖa5:׊5}oW۲a293Y'DA`pYE!8E2z,!Mf1Zq@Li1wgCcrA 9/q s*x >P¥38H=36MTlj\b=N@Gw`;uwڲ~lЗvB(c,X , ~cuNҀ*8;ue;T1c( ,ASe6r26eb;gNe/E8YSU̬]7<9+71y"|^*dHpaS_}K<-R|{Tv;/Nr+"kYն㨸vԹnqlU^С'^Hp4Es]H¾8u]>xe?j5o^ Z)? X4 i{y;!?Dg[xIgy|REr=wv.USDBb9tEp|Ν;a|,)x;][L!=t*5ꮻbPI?u6#dFDqW.Y=m N>,3 . 4">l :N+ vU4`ip\S]!X܆^pbTz" 0oҞs38Yh%0=/;O b@ssxoi$b[xc݊[ч}1, 7"u4 xkN n,kUy1H2#s|o..gF^RiȐBW7<+$Xul/꓄"2]ew@bCĖ o"Mc Pbkp_ , eY-zk9Ubb p}:r1Ň7^f#$&"OɄ^ePieey۬>YN: 4@(B:-q9 Rg!^Ux'KIH`AB3KfDÞP^?D'(=@6&5*JI Uz |j DԷOa2km!Y}?m8CTTO 6_:l|E͇ Des%4QnbT9ݯS}x:b̮сiITkv|֞coƟU-$L<,@ [nVpd]Z@z]CEr QWB/Bp}P*7*mڢ ,)S8w~ak3| ǫf::H zEh~W4pĒ6onɲCLHBXI@ֽi ͙%8aTtRKK)0n4[bMĘXY2aG'mnHIn$3@z{Åb9v׷N5i]u&l|=G;߄gg  ۖԎuD(v]Hp*K8-CۜX%!_ݼؖ)vJy߫zʼ60-+QzצB5Յ&/l+倲E,udM!p.zICl7kS&Vv/nl+%p㓄$CQ ,"0lb(8o(('@rFcPaG& +dq5Ƽ`\wOڰ]؏v56NSC{e1je?Gva]^Ol`httҢCIpT+_M~D|"10t~_1&gWWӌN/vVʢUGaޜe tQD""iQ!h|&3uQY;H`Uw//Tj3|ǾZp[贑`Pn& A`HW+xaC}Cc#yf/WWXQfi fDF[PUQoWPC 锅2 ҴJWc8mtZ+ۇ3& e4n9M+2o luXS,sSw㠖\09V i ku_"oW(]icBv#kz;k22mvBO-EѼC}G|Ltm}{uishX^]8*׻U(nO؊'_`FWhz:xxC'Cihi#诖Vi!WeZ>TD2QrE.yok5 LN\Б(J kΕI6\dDq⺕5]2gKѽDc:F'EYϻ{m4 WJ!-{?VQk>wmgW(D1˰B \T]I[{ 9krՐ齯OI;'x~#N*T,7_D/[z\Y f|Xf+L 5bif{R<1N77ƅY]r >ؾK#gdJ:햾ۄHӓf/7h}O(zl, _~+agYpB {x?1v`}4Rhӈ}=5V5(D_քc 3mk|V\xp5>^(jePү269(|3??bC]#ԙ"#P,sR>MW. C1+_h$L!nz^T0$ߥ 5pߔ)_2^;d {"ܢq"CmVL}l::qBܾ;VX磜YH#+KU*5YAK͞yihgmF9VX0,y wΎ:<Ǧr?jQݤg\\%krkihQ7*aMh@WZ(D-vvCubM`N,4CSSOܱ9֙XB臙 K`9˟M6 ix.+&w+Ug5;ɪ!W/0_n_CƺmLu9/QtZ40}a`Cï`ch75s[_Qy@m+x89ew MʐIyzي棒(\^\IޝC(JaMq2IeG]kreAsgi\{-pZs<VXUzVO=_FcNDDU3b«*AN2"ހX@Չ]}$񊧪QUAVzHy[)mQ6*d {4@Ȑ*NWhk^ҕϽBjS(t(:ߣ49cF#[+ztkIi-Aa~[ܺHhǾ; =w( whyC;ɝo(DQì0Q)w\⾂&xK_Za((BFEOiGЊstTIq  .B<5 _>H+CH6SWg1﮵ L_{yZXpRGgDB њN.WHYkFO UdÒR5ڵjE) kGy{Zgۿb¢1Ʀ,*dA"-]pżi!H9Qb~LH,PXu+H ^}}e5wxay~[~zX;mȃw~Lf>,Sg%xMo8&K0M6H~>˭ N30 {kzC(Á#}ưWebr?~g@DrGnG^ݹƏ\P,Q`~Q{?XhU"or<O '  rvЏgD\A15kly1>w aܱԏE8lt`M[qɛfizR(!!28]"Q*^꿾8[{rr}ub@Ayİr>Fw7 v4A a|h8\bՉi4q#/AC˦kkc3j&=NkTAiѱY6!eclȮ4f}L#(xm&1'#ȯc,bGH_rZ!];^3P0$'~0$ |*n:?Y~3+!iUHPjQ ;c?u%ppLD*(0.6wVP2vd x,Fџ$8ďiG?ON(DD&_/}tOWMw'TpMvCכ:Sg>M8j7n?"ow'G}.eJ l!17]2 cю~oն 0[zaˢA(F( E~^!Λh!Tπ3'.;jذ] kIb<%gH}۷bvut{ا&P! [Y=L94QV0b3--l_nfdk?|ﻍU0216OT@cϾ ˴KXU#;<+sc{{CCE?Om@ՀJ3Or `}T8{3K/6g8 24 La_k/_O;Ԁ]##(:wg ǒ#vpw`.m{?wվ_uN?ٷcw}@%#sӻoN^W[!i! F9v=_fq2 +H.yKr`*z9|1|w</4^CznXz%KPL9R-XZPEh}aEЖYssۡOQw8v8+ɤ|=?#]ZQ'^C_ۧ"_4hNvNx{Wd2o!n~"SVq߱B$0ܢ:5lK|}t+'ж 81sG9~~كLo՛6ux'j}՞xE8fYcxN#4F;Sw>ΗW~G6;v9UZz<+Fvc<ˬO0-0+>^iyPxeF1~qȿȿuN>OWh6?Z~2N\ $r(_HPC>{xmd0u>9Gp, |L ?_դJwoٲ WMD4K~A=Nuszm"뫛s4@Tz9mq~:S>[߄+.~,-%m1~4jL)38t|z|4K;Q89t^.ma:Su }Z\&u* ۞hEzZ>h u//t]C-+[r۪U^V77ŰPOinѾtQ/EΊw;m"8|]ەiJQZ.%OE"; @qH)]@y<_:'F(2W흜DZ;O~Gxa8R뚹gshAqv< q1:\u'@YP Ad3R,88f,"g ݮ){NL[({OJHu퐺Cb q[~+9CvAmfbBKUp5]mtVu@$?@PT\?Ym4hQ}51 F9ߠ64S;esaOor;fH+/zj˂*_!X>~,)tª|ۊISFUNE\*dO.D{O_ѽvU1O7\6Gfk]n9!2G=;%/ ou]O. N*H&KW<"LTUH hgOTwm>~=rVr$'*&z{_4A;7xۢн0YVt! ͡࠳CJսK ˧:\?M=IeŶ!(XrY7vCxu@;rN=[1M5xʪW9(P-Zgviu/:,pєYi~+޺_~>_U]ۭ~9pF$n?<,6O`)}!ͅ&YB`3*҉6F}R7W_a!9V7#B3a_@QE$wך|'|ָCQх[@8h޿.{%6 ˆT IE:QI/%BkǎW" Sx4"ZP޹!=_ ]u碒O4jol͒Wwwϻy!ݞyK#(r +f%R?SU}\ߊWk:(Q9V=B֢cՋi= i&Z ַ$pKvG껕`$Fs9h=aM-GDNO=sԸIf6ߏE-75]V]\Zc8ǁQؗuP)OJB#faj8 e~Wֹ `tgAб0ȩvX1u1fX+\4'XeN`|!aCj;e@Dhܶ8s'ϲG$ڤH.oUȬXFhس<P Hm#L%;ЧzfjՔIxv@ |./U含ްΘ+6A{Tå l(֬-qoaM¢ 1z'z/??6#_Kְ$w>Gy6T~z|UG=:v$ܫZʔY̛w7p!^GE>]g@{>s/J;W';m={x KEv??,<GoaD9DqM%?lz :*7X|uՓ|1샂`{h@yPQ=!bPfч IV4MRqJ`IH D4)O9?_ٲ@ xj {zljw(/u%M? r~̏|ok {}_7?Q9baڣ]^s0/F¦&ۛ|1?MujOf*LjFߋ? ;"E7iXXLhr&4iKA 7ʏ'w@Y }22:^헯m3/_9y$OYLd\ o~2^xg 5IRcxᐤQ5Hg5`wCvUzs*Gz|=:!eOS^?>M‚oW0GS VZ, R7?ٮ ~gGZjcU0x2Ǹ"} #hСQjuFQ G}"nVPΤ[+q*%*!D 6(dks|"/G(9k(ZV{3g-r 7 TX[;(GLh MX%foo\`Rd³g_NsrDkxH(/*r53D/֎Ԩ2eOgH){U^y] l._)8|2JSpj;t^Uvc*KT5sQMk=24T "1A>獮X=)љ$%*rvϳLUNc?:阢\=׮<]&L]` b)0ԅ=8=+<0 `u-Put=+(\:mN$0mYIcItp(~E[cmk@h?H>R*TN Bqt}p쥏8ΑHwӮT oçDk %sJN.aInvl,J2PAx7T'%fZ߆q[,#9 9? a1g=߳gB~ &@<<=dO/0 _Ŏn5$rެtoKr i31ޱ ϱPo b<ꗢhɞXPp~}W`rZ}eӬ]UiAIwqtsGP}P}83D-Mb:Mcm\2 HHyP#݀o}v/;~bJ fl1]%vI|bsNij*O-ەYZR̂ A7t)yO O:i /1O4lj5«gIV7e霬+UV0 0%Oa׭>9&woYHO꣱x,!4# 7snISC>F4?f vp8h@}ؖb-0t3\ ~c"å)eIf0xU1k'̻xВ5rߗo]Pk180B}F>TsCM`p=><vF\ͽSb*X($l._HƵ⇬htkq$RWbq?'pg읦 3o>X##)]f YEQZBUAݕ#HIL#{q F-q/_1~kFR~w[Wi~gTm[SSpdsѡԨ1WV2ڰuC֪ULE>*e)y/W?&JWD@~69.]// SzwP l]MàO2%{zK-XB4hfLR`{.mSuqϥ) TF q&ևyq `gr8 8oLx`قhVN̊J2|Ɛ! 칥wsJn-0]j u/_E㟌l܆8o"A2&R9/ėTj5Y^"nK)JD7%DЄ!5 *.+b;̷:NۍCaˁ!>$}Ǹj,VT_IB[K5I[CϡN?|̫!MMcO