summaryrefslogtreecommitdiff
path: root/kernel/auditsc.c
AgeCommit message (Expand)AuthorFilesLines
2023-10-13audit,io_uring: io_uring openat triggers audit reference count underflowDan Clash1-4/+4
2023-09-07Merge tag 'net-6.6-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/netd...Linus Torvalds1-0/+2
2023-08-31netfilter: nf_tables: Audit log rule resetPhil Sutter1-0/+1
2023-08-31netfilter: nf_tables: Audit log setelem resetPhil Sutter1-0/+1
2023-08-15audit: cleanup function braces and assignment-in-if-conditionAtul Kumar Pant1-2/+4
2023-08-15audit: add space before parenthesis and around '=', "==", and '<'Atul Kumar Pant1-1/+1
2023-08-08audit: fix possible soft lockup in __audit_inode_child()Gaosheng Cui1-0/+2
2023-03-01capability: just use a 'u64' instead of a 'u32[2]' arrayLinus Torvalds1-5/+1
2023-02-20Merge tag 'fsnotify_for_v6.3-rc1' of git://git.kernel.org/pub/scm/linux/kerne...Linus Torvalds1-3/+15
2023-02-07fanotify,audit: Allow audit to use the full permission event responseRichard Guy Briggs1-3/+15
2023-02-07fanotify: Ensure consistent variable type for responseRichard Guy Briggs1-1/+1
2023-01-19fs: port xattr to mnt_idmapChristian Brauner1-2/+2
2022-10-17audit: unify audit_filter_{uring(), inode_name(), syscall()}Ankur Arora1-37/+39
2022-10-17audit: cache ctx->major in audit_filter_syscall()Ankur Arora1-1/+2
2022-10-04Merge tag 'audit-pr-20221003' of git://git.kernel.org/pub/scm/linux/kernel/gi...Linus Torvalds1-5/+5
2022-08-26audit: free audit_proctitle only on task exitRichard Guy Briggs1-1/+1
2022-08-26audit: explicitly check audit_context->context enum valueRichard Guy Briggs1-1/+1
2022-08-26audit: audit_context pid unused, context enum comment fixRichard Guy Briggs1-2/+2
2022-08-25audit: move audit_return_fixup before the filtersRichard Guy Briggs1-2/+2
2022-08-15audit: fix repeated words in commentsJilin Yuan1-1/+1
2022-08-04audit, io_uring, io-wq: Fix memory leak in io_sq_thread() and io_wqe_worker()Peilin Ye1-25/+0
2022-06-15audit: free module nameChristian Göttsche1-1/+1
2022-05-17audit,io_uring,io-wq: call __audit_uring_exit for dummy contextsJulian Orth1-0/+6
2022-03-21Merge tag 'audit-pr-20220321' of git://git.kernel.org/pub/scm/linux/kernel/gi...Linus Torvalds1-20/+67
2022-02-22audit: log AUDIT_TIME_* records only from rulesRichard Guy Briggs1-20/+67
2022-02-09audit: don't deref the syscall args when checking the openat2 open_how::flagsPaul Moore1-1/+1
2021-11-22lsm: security_task_getsecid_subj() -> security_current_getsecid_subj()Paul Moore1-1/+10
2021-11-01Merge tag 'audit-pr-20211101' of git://git.kernel.org/pub/scm/linux/kernel/gi...Linus Torvalds1-22/+29
2021-11-01Merge tag 'selinux-pr-20211101' of git://git.kernel.org/pub/scm/linux/kernel/...Linus Torvalds1-100/+368
2021-10-18audit: return early if the filter rule has a lower priorityGaosheng Cui1-2/+3
2021-10-18audit: fix possible null-pointer dereference in audit_filter_rulesGaosheng Cui1-1/+1
2021-10-04audit: add OPENAT2 record to list "how" infoRichard Guy Briggs1-1/+17
2021-10-01audit: add support for the openat2 syscallRichard Guy Briggs1-0/+3
2021-10-01audit: replace magic audit syscall class numbers with macrosRichard Guy Briggs1-6/+6
2021-09-19audit: add filtering for io_uring recordsPaul Moore1-14/+46
2021-09-19audit,io_uring,io-wq: add some basic audit support to io_uringPaul Moore1-0/+166
2021-09-19audit: prepare audit_context for use in calling contexts beyond syscallsPaul Moore1-93/+163
2021-09-14audit: Convert to SPDX identifierCai Huoqing1-14/+1
2021-06-10audit: remove trailing spaces and tabsZhen Lei1-4/+4
2021-06-08audit: Rename enum audit_state constants to avoid AUDIT_DISABLED redefinitionSergey Nazarov1-17/+17
2021-05-10audit: add blank line after variable declarationsRoni Nevalainen1-0/+21
2021-04-27Merge tag 'audit-pr-20210426' of git://git.kernel.org/pub/scm/linux/kernel/gi...Linus Torvalds1-7/+4
2021-03-22lsm: separate security_task_getsecid() into subjective and objective variantsPaul Moore1-4/+4
2021-03-12audit: further cleanup of AUDIT_FILTER_ENTRY deprecationRichard Guy Briggs1-7/+4
2021-02-23Merge tag 'idmapped-mounts-v5.12' of git://git.kernel.org/pub/scm/linux/kerne...Linus Torvalds1-2/+3
2021-01-27audit: Make audit_filter_syscall() return voidYang Yang1-8/+8
2021-01-24commoncap: handle idmapped mountsChristian Brauner1-2/+3
2020-12-16Merge tag 'audit-pr-20201214' of git://git.kernel.org/pub/scm/linux/kernel/gi...Linus Torvalds1-26/+12
2020-11-24audit: fix macros warningsAlex Shi1-6/+5
2020-11-16audit: Migrate to use SYSCALL_WORK flagGabriel Krisman Bertazi1-2/+2
 ̂'|I9'eA*贵u i.>cvPXO>-8,rwS7:>) }eYˍ1A(Go^zqpG9 L 16\)D7tEVS#3B OncJVt4]4]ESP`tgŢф(H^IҫΙ)"]HFBb88 :\kqÚ#pX.v MWd*ZA*tzq>JO473feFW+UdJRe?@H+ty(/$c)2J~tП>؇{K9}vzQ6C {W9y5;pa`1+VZ V$s})il.,ZOW벦+ő!7hY`km8 0vوwA2!)˳r|}=.IZe2$QZahIn#&V0GPs T9wѭt8[@[ږx:16FVeZ_/3rfx bL=vh{Г+<+'+vAޑEMY>%|e}QZpV*2M&Kx/N["S%(ڝJ[} ltȮ-a]чp%6(!yaΞ6kyEz3#5)_acDT9*\mn0iPm=2OR'iڼV!qK$ߥʥ+j`F[)!l;\w[$MjZц{0BHt+k IKoq%]ۥ9Z`X|&@sM%r||2<*lX /܅(/&eHSc@P˄Q%NM8Ԯb^\*ڥb.1[K[-Ȯ͠atDZ,z%'`ER"qSز팵*[ `V'&>D\)Or!al}_~ω#JӋs=*4uLcoy/+-D&O"a!գ[7 A8D~EM)AUql`.UҌ@eL@ Qvt vL`2_Xt2ǐg,V>]Z̦ؠQ5TR2UqCTh +8{o&\CصCR:ڗV-[T7!7K^R)-%ڀ=4BGQT@y67?u0u ,[R>lCy6Z//oe8Y  Uh! ٮt#pI9;z'x!@ qXm @G?f.00ƋJZ& V݉D3%zRUX)JjE`ia>S0T'ڸU5h#97nahPAֺNP9<5fi _i0hI KjNWI/V5 !</LzRK7 do7s:ts?}| F+%4k(Maz/VrrJEI-7LV L6*,ysRc`68ݓ!B𴥈w|< R 2?YO0[cYXE:E#jۧf~H5_zs pٿ2K9CP䎪Uipg7azQ;!9'}(a:|K_uiW xiRW]e ,;,aW&|}$7T&H%SVҔ42`_cTvV'$'}v_9`{& it[yu(u3W͸8C,95j/tG]YLcbV}~ KzryfA5%8L+g{u6fԁ) 2H>1j>:jSPLK"ܲH}}5/ }I=˝.BbΜEg# A^6>ITm`m,8fLhGֶ재jt+ س]i# y {4N!W6ߠ? +E=Юp;|[K =N&):7/2+`Ev[ܽӒucR6g~>W9K+xu8!>Z RK・yS|Zuix>y!hj3@ ZjdͶ8HXORUIYG"7 Kn'AzXHL>Lq439 h—S$"zVZS`[No(EDߡGs^+5|t{-a]KZ!qzmM2lNa2cbw]'0$JB 9YFMfx\/=xS]m?O tq#`7Tջq H 򵶪:UBH5mPu d#h xq_P3&xۿ5lM0kO26ԥk2 >h&VW5+2޶KzAd˳v{Y-0/ 6U8 hlf sZJ^8U0/ " t.eK7vRtWb2vܟԄ臈81}fU_"Ǵ¨$?5"wH=45-:q>l dMW[5Q5FVۣ i3N9Qe:3[W aMY8FW{NU-N ^22Lڳ#Ui?`3ow~ML&T574m;6?\"$rhe: 2]/ )) /@vBtOgB^nL U Y@FƎyL!)-l( E 仇;1~{)x]Do;X QaOHZ9>nIJCh^ћTZk`H:J# (- ^D5:<\iF]2I:?ozda #bлyZ$Up5&_{f{ǵ!Y-C ݺsY&NeLz&S1oƆ;-\^Ά,wwwZ9m'AEg0%8;}sxjYƤ ͘YuXnCj e8ܯÃM;+w&i-Ouvf-Ò/'fZBW$ Pľ҆>n{ake<|;~@bAfOhN4>?o fG=a"Pm򽠾pbFA~1oV'j*{Ө'S+pSxsIĂ);yrPy{g;6:b|I:dGW~M aM~Lv衉閶fhhKyPRmUpH W[ΛVre'l'ۥ9JU^I(oIxoꞤ& ۡ-8l\x$ |t[.i?TK#ur5`##MZ:lFFR- ,/g̲rmܩud&  U]i㸦|_5MUoZ]IOWڋRZPW7AgiHcB,ɱ3VQ;9 V!b/1dܭGEBh" "%Xr1LNeԍ{D^Yynx$*1u\7/tw79te`Q䯘kVwI`L g\Um_7d&BҘz˳=$mTm r4 ˝6j튺艊gCC2Q]$E9APz_w\ėrm5t-I-Lw4W[z9:qVuk˟7]R7e= iig1̹u'~I9s>tF *;]E.(唶ɮƎjFvX<^8jI%ҴɈn_mƭ4=;:`_l[18PW5zFTaz=jLækU}5^j6 H_g(Nڻ1gSp0Gf|^DO ir[GR9MrǑ\_b%ROggv}KpU*ddY3 !5ium q $L{ ɠhBMu;2lY5$@o$"$+?]vVlcòd6FREq)GpN&sǻ2*"q6νM-Z<h 2*F AKކM!ҟI%F~n߀(P~)"*#`f#a'Ž5a}Ư=sMIY2$׸a'`p!q?3;NUxbj!ĖVij`j} UqqKIMbaWRRS^h_Tϭ⥑LKT;-H9ѣ{,PEw쫠1j/E˃-5o~Z*"D6B=;W[(F:[}̲ ;aXpq<ć$.C_Xҋ_gl?JVPZ9ciC\3u7Ï L3eWUhd#k[9k"g$7ˢaeǣX w2,n%Hkd3` zzF6ncުp;f7˱`LNȄ4lhǀ.Щ63Ybq'y.VծPJj6IeC]!Ki0lIMlbRi6(*Q+3d?X;y?/ݔ!{f2 cڭvnæjUP]G[oUXm UGո7ΛT]Ayˬo>FC^#֮%Mfl-1;c.:dmx~> d~xvrcP B4+kdu6zͽt >:4~g4R!z@!KpN꭪j6MLH6_E.Q/F|:)LRURw ,GU+ WO@p!*&b ZjfQlty^%>፵{H+$󑆷G’}fr*!Klk:M'3G2{ET:6??(b?,Γ9`^ǯ<};N <0HpA=ֲ  IoFAU[d_j [j4ה F?Ō3N$icYnÍroM#!)_Hᶎ(8|[(9#| T}1#v4+zr Il!9o[`)i >[ly™`M_$mOlWՅ&Ɔ\+#CZPRNr %{@{n- cLPjvMwn-i[ve4hƨ+&$$US, ՠMsg(r23L޺,Vz\dsP\L#ZnO%oNdz"v=')Ȅٯ2gCGKVO=`O@XؚKYuGv_P[R tBodu3|-,٪G̓llK*Au*ǵv;j/"ilHxͿ3ȏS+iL9[ V\a}d]k(2lka{\ Pht;C5Z dEwFFz4]CR g(,}jIy],\y)߻i82E@>>Y?"<:߱0>?hCjiNӃ3: 2Գ^x?H8p8Bx#UX5MeiTot;z*6p052ZP|T j&|jO6(FÅVkI~9MbvT Vo@o{d[{dy6EiGPdA5nԗniC'I_kQ%##[(B3~'ߖZ~ FP6= UcҨUUԕZ"UW|l54~휏%]QdLkפ벑F# ʟ%xi4kZ.daIApXW8Z8#;VDR. xF=L6>F2-ȱݩL bv'"x{%ᐈ-KͷgBTTx_w돿"GJa=RR-kyk+L$K/R&mj) (fg'bBU ?Oٺ~hSȒ$+ qAhM(8\Xx0?M))Sb1e$#;f Zy7)?ɜ>m(e)\XC q儲vUuh iÊtOZk+=#qBzX)E*l p;.PC*?PqFA)w@!Uk,H yjӏ{k!-G,6Y.(.h!q*6x%eO?QwZ%tJ5 QTԺ\ 5*25' C`P5y8bB./B;7"ۧk 9*ajk&C\߂.B$7%zQ-%sɧuC2nO3x쨛qqtl8>4?lc&b]`nLd9(E=|C QxeՅ)Oc~g4gX]@j`O&KCLBV4=y1\'Nj7,UloO?I;u1/pnGΒs!Іշ[ܮ-C3]kye3pe64r!_vJ_ᕭaٓ R=FΝ^0ufᠦq6f['7*#ڶv5Ys]Qfgi廹lijp5,SLn2Pt;sMn{Q~o,酎՟Ee+g=k&Q (SՆP v if))ini{#FfyTIlp푝-FlN4=a/ D*@vUi͚TqcsxTZ8_8}14QPQ*Oz߀6{GA-]aGoOʹƹߓZȍEJcv?NmQDףqt9TaQ*"ik~ |k[DݘFdVS-&\ls#3x wGm D fvihQg(+<\]?I,不c#kDTYQt6&s0ļ@)i+Bɿx#Zk:]#st*l/n򉦸xZ;:闸(cçrp}dz&|# U&_+}Q-^Ά+L/cUfZiy>?OVP?LtiRG4 C]-ڿ;:]GgnBXnV˲|;X٠3\QPgߵ#+A|>lAoGK%Vz񹄡pN]xh}nI! C@ QWFN7"%e%#~%d$Ig[休!dq&Eoi1PXLl@XDYqH%s` yhHaFϺg#Y;diYЏlM}Fܔj&'I}<(eCmπNodYf|t5#r_5eʭ$ƄP~jC~:!cN[w6hG;Q  #蹽a/7'7A|![n#̹)6kՖ&Ctǘ !Z^bڂx+mwoM:djz#Xc:Md ZA Zo칲1 cTlX*11|r ]ِL O:{ClVKZO hԓBy+^k;J7`:0h+<•-cC󆦍5vX)UboE[;/% Q`r<[^=4M=ݝtڣƈ=B"A1 kvXAGk`7@;j[#aue=Fl'W+E{_Oza 7ӹZzJK-WHjdje9=IQeVS|Mxkg컈ޠz)Mn_!sr8˦e 8 H'ߍ=[|xtYrTs}$ /8h( @oQ@@9ѩ$V 8C$IR!;I* :]OSiJ )Iy1dM?e5'dp_U S;ngGuI[ @P7u^ U',Q9kuK!%_ňq˸5Ros^CҦ]7;-j5G}Iu̕Ưd̼2.%`| t bY(~uEi^.]5za?tht1T(lx}u1Co :_2KI( z WfR3*'Ui&j$uYudD*Eip艞:'}ʒdl2pal-=LY/D {GٓYdaá( ,ZX{5^ؑf8bKɍ6q1FPώgdvYֿ80o>L_.oznq3WO@5h=xӌ?uie9'pAFbڪV]UzqEu'ݮ"I?w6U8G;ٶV7~Z.Mo}fKb}.wV>{_NJ[eSLcuYRL$LPL0"1T}GUXOU*A5˹}Ԓ+>Vd KFaJfz`Hh`Jx lE!jWMz^SCHJR$='e[l>s#a77Loy3iCtY7{ퟓ` +/1gu[nm4-rh؎546ɡ"wVJB pH'T!6#ҽ+ЧehcA+N`Q+:}tp4vC 9c5ΌET`Y͑bI tC:2r뵂DUX8RnS`{HJ[G82e|D0${i7, c͏rMRyMi[Jߋ$sQi׎ygؙ/˚?Tm`%$βT唛dΒKoo\hX[>.z utO7s|y凶'/ȵ d/ ;5JӺRPW%ַB8zAY2-HbzT}Ix@;'PwPZC,t*GQP $}/Jlk5HJz݀Si=hDG R$x/4dG[OrɑAv+ݍ^d֜h'خQ )i{pMiltЗ })&Íw6~ zF(l(t?0j'= ׾򵚖'Rq%Y 2+ wW՚pV;?QmN$hZh4[#TZCSUU Ъ&-QiY VD Y=qNB>d]j~S4Q> ze%͌^9p $A&7>ع~iLRM jgT%hvӌta%.!nv봾AJW^}$:3>iZĤ yL"ާ/r_dLę [ӈ@pUCJCDNpă@Ap \ZXKֱt5p8(dj,vm)WYద[E(3%|XVkfsL~PuT{D{246 hc]r!st)RhB ?pxӟϯ'8_!| JvΑK}4ƻGVl3]@n Zg#'Ho0K(*c6$ÇGRaä:'n"$5><\n,Hd@-dCs9jŢƢv.Vo 4Ӡ?]8"dL7D "MaC4KZ5E܂r-uZơfjVɡ>Dh=Q~04s2Ljdi)]6 ,e˩$hCϓ~)mg~uY OE҆iۤح4iαtOK⊛ ö%<:44Ko/N TjMԸ>C4UF@5Zj Slnn-ޖegެTviTifGK lvyIZd%<[>AZ2E PKmAkܙ&|:RK#6+uN%1M>Ej=d5'/M`~lJ>'݅W_NCm\fap\I>W gi{ZEp Ї|qn%ҕy='q@<}2[~Bh:Eم_Z1<+PUqH!ݠY(]`j^HPڪ AѢޠPډʓ/1y5(.p̘Y'ĸm{g F~н3{'BIuַwJ4?Zdeom ñd3+ʼnbnl;Q$7y:xE~11cZl4ּ_g,oK6~S?%cnrg\sT%w HCBJj% gc2y`b/3T9K/h&1 1e!)n+.\XPA.yT[5h&^4&JBjRlS '-?KKJg FHRPHH TB} rmHъ*eZ1OÙߎUɒzфPWDܐvM][$|Ҫ5 t%Bh<|=r[Z:Axlz'"'>0 ÒEҤLX}I!Gd Gh,i_Ϧآ)Ѹ ao#spX~V'hVWZ)vLt~zuoV'_cnV;u+ 9d=JGt*fv rC_-4IetXN.eDS)V*bp/7:\܄7kf.ENf>L[Dij֦:¢ّ\/ C 16 hU]Kd@~gGl<6!OIm.OAQӸDVyFZ^΢^?2ۊZȢ>eF7yDbƱh\6Ddީ<|CRl7v3 :X̄s@ @C@3%&Z+4ԇVᐥ{9'}iH8O |(*s^7LbM9?H%+=5vYo9asz% e1-(vB U6~lsH:(>S.GPѾ+KzںfeoF@,F@r!}A _h iF5onvS/T+F%ZFREp_LC٬2@3geӮing E[pfb/qr"?iEZnq҄eAg6ǰ;~iƄdniϛ%OTU'(&Ǧ8u4 nTdXڪ_Q;{PWjT!]!Ldr$XKpB4 yw&T%* 5 ]%`Ib_p׬U HtL ~4:pLΗ֎hM- +pȮRX82CuU( Lwfl~(0_ӬL6Iwe_ZFVn%оo},zulx;Mq̘Njb ]ߝ$ga3xIwx_bx#mU6a&*zIZzAٺ{^&K'tT<@eAY_+0o6M u޾ f'ArDRČ,R|D:~ @vi~Qa~Y,a1 gCN+Ԕ\1apv =/u@vYD!{l 2ѡ0Ak.=%۟{ 9::q)ixUxhvy?OJ&qt%0 <HqtgG{e!T1ŽgrHR/h9L'섨.T+ZMi5R|eJ<8b4L\إ.ݢq@rFFl@nqz0|j]t٥@xaMGR?FRih @V/wvXLpcDDwIkW{1$10@E@1>qsa?{]ǮG2-(g*34(:rhlFl׳٦s&;t!u lt8FWCFf,x}lzR,hHZ uF% /D ޵6(Γ p(09[I{B;WTԇ%F[oJ !$>,r]+Dݷ<ԃ{9G.A }6;p8Tڨ sRUjPkQꐍEVP#ѵ̎˘Avg(ʼAhz w~̇Q_כvE3_rma;7z36\rj?*]r}9 @`ŽqTXc@H:H!46±2g+/}EQjA ܐ `qJX93E#n`L@儡p6Eǎ4P [/4r- Dt -ǴQ4 CR@;I8>ОrFFf#Y[ǃa(gKSzwyttA~vo3AN{ǖaKHZ{ߓRh:9G`&$b,򜯂Jc6UU=VL{fHNZ6G1hSº'9OGcΒU;¿``nծ+# 5dQ*-0LfOjVըdtUJS;AǪNvaVS3^/Ӈ4 ypT&QT&ϦLY3 |G J'lB?f44TvP FVMP7!'x3@F|kh[\Z퉨* \i~izkg{.w$ka;$tA[ }HFHolS5WiMc?G iaE"QנO[v_Z}I.N޲[}ўbǶ܂{l/Rڏf ;B̳m-wyؿw&UޤkP#EZn֫ ;hV z7u_$8s5x+Tq 6XmV㪟ݞ;&C;uo"Nޑ;1e_)Ǝ ts7)nkڞiS7ckL.B*xw[Uf44VLumoc.~o1c#_Kw,+^=sd6~ 2{oY &$eaq[@՞i+&TO֑a mAg V8At$/3Hnf"b$,|2dPr 6tu*DrϳoPYZТ fw=O;+[kZ!`q'˿8N‹77h Aׂk gORݬTg; ﷪wsD[NZu]*:=Vl6`8!x؞Sݴ[YIlJ]Y١. sDJ!/ ܓP΢rv^Edv4"xI,  /&/n=GP(&O ǘC3LIjgCb:%S{a hJyOT4}M_G*Qk^ {-!_r2d8n՛t$[dkju2wFEu( g(qus?vi8QfKCH+үOeϞv ԓCRԳ'ZկզPZOeXӈ^=i1r&+ Lsgըٜ A@._@A,g59J%v[dk7sIB-SpnT[Yf/H rϳͲ g04(I_4o8Ɨ[3Cnh"EAg5\@|6Ѕ&]Es:YPDz [ejmYBP%[g^涆rbkb®^ dO/ G B?i8H{ei q@5=&;Na%X_b+t "Upw0h+~BQZQ)k Թɢ# B"zxC9'{`Y=<] WYqq Jg];Ŋçƞ-FhmB;BLݘ&{zǟ \wpTK|,YGrˉ}Zm[42xl::\zdwKؐq4/& {I{`{kD&&giw3A4m٣r,!obzeMTi'6$ ,r|z1vatm~}b'زm幤P ~%ߣVηPLr)sI'9f.w[ՠKo~13)&P;꾘eC5hq'k/GQSi)˽?$22'GEJ!NN܉גǾt?~?_JëqiI].uy/2 DXU(J~`9W!:y$΅qcmA1LcD/41ַ!9^,m6nC܋ t%V2E]4?>FeI 7屉:zc#g4J.KxT~&@igxq( !Yk2`60\0Ӻj?&՘vE/q%g$w!^J`_$tziXL烳 Z8t9L`0KT#sYNؓ3|on= GI!cвURVQpwiwU1%{gL+&@jw"#-ZKoDjѽR} c/U(=_/{+[3/ jӛE%nVP_geG+X ^$>,'OLV$_{Uri"JLegn\`K%%Ο;G RZ2@ǫ{S8 r:!=*TO%U"t;dt3+Y O衫52a/֮v.-F3ǪFteu~dj^f`ʳ8>pLX>^UQڑȀFa9cD&zF4'?pNb7 j,+iM!O1ޢۉWv}x.C a4i{C AjQZ`\N?_Ӡiͻ >#$pTeF&PŹKr6:B˛z67ݓ2h$:@ b6!frE-Y붻{#íi4F/іޖ!!"le}7̞kvLɑ"F䞯od;4r2|+FU@DrQ1iB  h ' s,f!M*esǃN [NxRe(BsV&U&Ӑ]Z!-T?!9jDFP6ostJ!imsǰeϷޅ* OJFfK7렅P,{fC95:pLL[]8d/|^n=Y]kuvᅦ<ȎY䱔 %`QjF<ݍ4(=g/r3,0o\)lp#-I9(i]m7gnuMglɄޓx(~Be=Ȟ+Ӗ ?&A]ua;Vh:-f߷ֽ1l0Kj55 u9KfO'7=N{!8/C]͟9Sw^Nc.l!6IC]{&̮cCBL@7Ѝ78@8co~x@cO̧nIpI}q@Ons!ajU18cu5⩇$sZƴP?LV=ݡj@2] YцH'L0IQqnOI_{5+`72y}z]?h'nhFjPE޴WpuZ_uj2V5)!<.B]X[$Wu U2qe×>t Or's|Ƭy b#@^Ңx:3( '+ _sQsLt Um BӨ,3<$/j!v7]Cypf;bPກ킽 J5gLb@)Cz-{HQҍ䑎.iB2b8OR@e^%9 ك7SUӦ17hK^ bTh^{PWL9vX^,~hH3B.i|IPMZdꕯ222ƅ`/Ph2nѭ~u᥍hO`k/A0maՍN1h I9OPh5 lSUIV֚NP8Co^ٰ<z58C;:iuM#$ _`+pהݍ,.f#^·)D'" Vfs3buzan50WPZ (6k r S%9߫9+IvjP$oiLy||IsH2Ѱb`#"QJb`lϒB;83H?o~Y˱:]M].b/64KLY/wC*fyL˘Dj$N&Wx ߏt?-J'OЕpV^-Y!$tZ6vGkp6X}3I..=Lۗ*EC y&anM^B,l1>N2 z;8 HS]\ܑ~T).}>d.͚W?υ MAq՜ %Mv!l5['1aȋHX楯gx3G-%_گb/kn/2_UP3G)ʋE|P>Md}iz xKOr?Ϝ*ԳXZ^f2>d9[×F P]f./Q:ABnvA.p?Ǟ44iwl>9 )/+K~^riYϷQl˓b2=sgR d q.DfYP/Wԁ̀M3f6@p_'}prY=4H ѰlcUaj6TjLUcP P8dNW/FVyʙk,\+f(s_dmCBP"~R/ 0n܃Ӊ&~y}as)ne1AOS},6|Oy;J#bΖ 3oF$lQkeq~9Q2st!Ya_`޿I[0IGfWPc06{z:QQ^1&Қcެ=(|ԗ/_Dc?̘'̟ci  ԹM᳎wjqpX494"(\0zIs63*+Fg0р\VZSy~:.*t+9"a"g(} .`!w16O4c\;8aۂáa'=< "Dh,' Ě? %_զԳ!'j_z/D7ʿsIRBN4Ю[t^]V "M<ِQj4\.'HYƒ)܆&>t?/i91N;J.f r SDЖ޳_oL6kڰ`^^DKil褻 z{G1ȯ2`IZѮl_&.y[SŅ )4lNCD\''8T, HK7 #G[=Otq^6Ս&<'sE5:/[V0&ޱiީNJǓ[0KhTē[n@7 O61w0^ɋL FOp&NiZ=K@%b&Z6-aOn4 3gESBl2#<[3vPx 2]o5+ شʕOu/vB 0B}rbuNJNzpϐ/3hIl36eWKAzp w~Fm)4%$!ZNZV]zҽ~; mxs$Al[Z`JyF9w)]/\/lVNfIJW9ReYɐl)Tc]ixc]fO1wơw oy 4ŦtRfg S6 u#>c0Σg'hqG6=5]T|5%wƹqgZaB%ОgdNr*#@Aܯc9Š {Zc֩Q>bt6CuK6xKx6K'+F5YG\+'UMܝVyBvljoo AH A2~O 80QS@qC CXQH'hzyiJMS-_ϓxW%rġX'$=# "Z;.-0exe bOh=OHwK؋ 2mQhNUGi Rg?Jn/ǯ"];pz< 3,;ftF<Udg$r7)0١ k|3kIBf3#v7+)kIvIs=qD)yq(LѤcҐp $l#DFPϮ6w1Ws,:kM*n1Cƹ#k#nrNMjr_t>=+nݿBiU֕ze7ukݪ+{XWnwѴ+bY7|7CvjhfkVoM(DGӇiCw'xZj7Z28K??>c7Jx};*ZFR $pד"\W CV=2蒺^E7 fD% ٿZb(+T GBj37Uv5-һ\~giqm LcRHoA!œ"d_"a/zZ]EipYzng6PjL֓"02|q|w"o}pB8}$`G(JR{2#\Iw>s̯wfM_Xz\[4&}?(AR`WX1pG{? as;O+8n4RBܒY& ۵`~ #IhP7\Qjԓ뚞 t}Or'ߡx3g9<]H0,t{C)eE_Lh0 [iE:4J`Uhy_*i7w)ro1QJ+G.d&+nj~)~׳iEĆ鮐˖_'SyQNtdGs魌_=oK>]txrA|yә\tcmz>YCE'+99+KddupGbw's i™D -״MJ jCNkuD V6[2^bf72,:_aFH37-4d~GsT }up+H:!#ƜO9vN wS_:a3'-fe^rx9gI@yƒ}"+1C <89 >]ڂ݄5;3Y@} 0Yg4/L?V3 dt$FB ckA*h5\@1۹+/Z\*TkVcQPRth-L MM?|XR ;pAG J9"{H_ҳ.P2Dm[>?gti'v1{/e?3 ry=8H{7W1'8d:-Ӛo`P0D07)>Ur-TOU-3TpnGL4Ũ<2Z5|jˡkE)OހGa,/E[b.[5'VYX.oS>,ۈ%`G+*CI<=c8LG8ݶ8IYՖ|r6c$Bvd;='{%<JQsce :c=:)y(<ǜ''eD|ޭ#h)$8yz֏]TYf|HD"Sa 9yɉ.j w6jlI':XJ4 9j]qo/NB2XxZ:Nr^ڮ :OGޘjzKD/(fqԃqXc<)e\ܕ 27:4#I,s|Nգߖ.Mi_̋%2t6 .\2_1HhJ(}-˧ ,}o23Cn}؈9]MX&ɦ њď@}Yx:"?ql|{L41qG,+̷w岈B@_r8TDǷI "wtL'KjnȴHPi!_c hC2]A2]7;%Whr;ifILX@ nTfUtD;Ն܈b+& =W$扼,3qAkʦdP]Ԙ:+*;u'Qꗖ7K2:trk˶Sl/yc<*t^iz%%:="xKbAl KZ Np0 o瘴3[ho4)]46{6z }zb9S:7a`?'0.gNҵq1s1s[f;lobu Z-fΚGfF`7R˗ɝ2~eCMd %6d#:)}Ql$q2AI9 +#Ȕ0ݚ_l)gq O Qw:]d~>G ]RR sùAE ~ yBHLe&Ϩi`ύ\=y6cgT_.LM&7QAבw zd{zd1ԻN{ иznl}orHN.יSY"94%{(B*1lg_x0yGW6:Iց4Y7Zv%X~.@[%+Nh.P?i!#k03IN\)U\!f ;w="sA9WFuǰՐϏg\po_KAh(|3q% fz'8T] gQ=/'59b葞l9'0.&"G>trz n~0٦Nc49>c&'=O`,YbLZ)컸 iLUqBo{s&:9gOsIblP\''+!%Xs 0(P i-SD8/{OZFrt ^Wɝl&7ɫJs"돖_:Y|2IKaB+yhF .^Ngp=Iơѫ̯A3}3t-3JR#a^GƉQj +ܾl c 罓NvtóG܍!TZקoD bLF|fGfKfOFp,L&K#:W{\VJ!z &Aga~' I1qGE_F3MIni3sbi0fa>O+rA')lDOrzJKZ [#:$Jy ykz+N "R_zwȂN}bD`k䨟6De'.BY'K?y82x}Ev : J Y+$bD[Uӱva\ mV[m$ VF0NNR>ݠDZBa2t8؃8 3Bf6U_YRa4R]̦HG}!JY^@ZqvaӴA]:)AGRNJŹvp"nr0 ܂ALtt c]FpޜJ$&<~Zw;ha9!gZ& d8&&;x$EgnHNN椪߽֖0/3]55҇o0= Ep]`|_f*Hua&OgqxFˉ=< &I]!,<7Xg0~Ctekk0.L{ y,`=Ƹ/``5]%̀-k8GW=ryҦ{Zk,²rs=3`gp( ԎDx0~rNi: Ξ-#F*O,)`]I#($qb2!g"ػN2'-wo)UL՜N[@s.4RќǙ@%Κb6|"#XȇvRE6ԗ:WKw&v+[1N ;{N5st ,d{>m:BCͅ1` ,0!: pU>_Cv/1@iF2h}>@m?ɸ N)DpFv~%GlakhaӰ,Dhx+ƶ{30Y:Sq >Q4"?I;*1~Wٺ/d XD8a2ͬp=&=.Aq6{ҵ:"%XQ fY bKM_x~|?iN,e+$ fy0@i Y*`DKMN1yGy{<@HtUIQ\dM1c@S"}h=y(f⠞ך\$(OZ&t"܅"r瓧sǹ@W=xF}L=kW[qrdyk.BN88=>TRݳY/ }Ra0dρTɦT̊Yc~?OG+[+T63*$e]Uc4d.T-^ y$6ʧ(DbIC`}fI5ČFQT'~_R5*odYEWy{?fxc lc`eUJRĥ>_U7 ܍֚TȸTE /s0Cv`y)4x²a)%IBp6.ڐ-gW $/,"C2q:}sZcN#hoII_t2t|ӷY.̪r|)?S0v~8chb 24xo1{5C {8Ɉ ٠t)ґ"ږ'꠸ebh1 -Ni_,Cw}Hj /G8tM0 ׅR;n!h,M(z̆EKSqwiJYҪkM? lHY\vֽE Hkߋ}(Llqa#pF ӿp( <j.ME'D)D{i~%j89\8+T&)H9=mዻx64<' %f6%`יHa+(5A5RI & 4PFcJ8V(.t*[S#vת{{~PgI _WlJ"F MP*ZF>6,ߺS \JChz! z…%Q^5je. Św]b/^6h=;}K\So܎x++ДĈRwcy'SOADSsY &\ N7d?cAl>Vة9w_'t [^L1S^Aj+aքy,63fl pTOȹQ3upʖʛȶG' ۋR'J *HS+L$* ȫZqRk2LtN-l V_Yt< ~۸Y92fRӾ6&)M ([Dt'zYkp,>6 tlZX2Sm YбaĠE|9 aFw%fg:_q$ļ< zQBM"i`vLmafUgÆJ\Q2!FGU%^io76+puZТN%FKXqě3'/dHH>1~Lu8 &)`3# DGW[b=ljJ8]Y,-1꒖ iqX e1 ^ǞQr6#ӥ_/,(ʁ䛂+>G2}=簶(㷤L-4v1P~Fh'H8zgSd:0n4~3C;htWg,DmT'jG"QN) /CaoB_4lԿd Qx*ojYKN@ lY=Ue{NV:r9괒!PN}?_\iՄj\1%/`U&qFuc7 J/0n 6IE_umkohq[hm? 诎QkHHZg^TFz .Rzri%hQJNhTG?~@0P!(reAD5 cO=hfyӝQBdaVvҸ)Ggߕ:nٓ'peMb4L"!dmޚJAԸ%daL,Cr ΄uw_gN17(̥O(]*jϧuMQV0qr0DQlk=-5Z়MO@м%6r[d{;'{N`'DŨ4E_BP'cqaoŬ9 t$^9KAb.i/1GITuS۔ `<3 ڎxJ4>vUsŚ ~Ġqक़=f}Mݶ%ۀe΃D=g #ol+٭=vmib Uo* 7A4l0A/gK.nbz9۴RުC{<_p*HӨ zZ^qYy֘г"<-vFכ=K›.vQNDŻ$Iisk#!{F؍yɬ8enz6wn5]a񼫠?9H=þ(ƛ I܉ EE#mgQ,U* Ai(|iEҷ-ދ0%a^4[R SzI/h'\%DlEqBtg>]nBoTssuݱ+w2VCw&Pܳ-1uᅼws|~d|Zy]XpGTC`!teg&C("á%gǰ 'c2֡!z3%$Q*dh,:2S-mΌm*َ +t[8QuM&qI,t* I&e))grK[o~iUV5 ,ż64#9&^1zך@̧ȩk@tv9ZD2rolk;}-}lՑ6 ߫o> =vA")t~; 9QyVϷ$n!AsLrCwXN!b$KzޟQh89W7ӼaSaPsA_tt- |j ȗMa?a-$v)_*&ʘ,*D\3C[;kΏ㚰K]*:{"Ib²EO44 gJG`#׊LtFMɨ#p@B(Dт5Ԍ󹊭WzYBuJJW{-aJ VKnb$sk}+5%v~,PQ3c`IDtr6&ة 5 G lyd0ouhC5^r>'9RN\YZ~̷PΚ]jDw =8J0fm*1BKgʷZA %7O;8 wjyJ۸٫lDR@4q^-6%"*'|I1k{5q? :Ή[G|Kd<@gr)C~=K2GxR2Sg^_NSXMP,$&,j]U|??܊E39FTd<{l5|&|X}L\/or[zS:ntz>OX0*A^^`uЙoƀ%q!J q wĨ7asw+ҕ{Dz|i=rׁGfϭ3]xV%'F߼NM`D:tvt vڽO.ʻ@ǹ8ErMM]%n⽠tK