summaryrefslogtreecommitdiff
path: root/kernel/pid.c
AgeCommit message (Expand)AuthorFilesLines
2022-06-29gfs2: Add glockfd debugfs fileAndreas Gruenbacher1-0/+1
2021-10-14pid: add pidfd_get_task() helperChristian Brauner1-0/+36
2021-08-10kernel/pid.c: implement additional checks upon pidfd_create() parametersMatthew Bobrowski1-4/+7
2021-08-10kernel/pid.c: remove static qualifier from pidfd_create()Matthew Bobrowski1-1/+3
2020-12-15Merge branch 'exec-update-lock-for-v5.11' of git://git.kernel.org/pub/scm/lin...Linus Torvalds1-2/+2
2020-12-14Merge tag 'fixes-v5.11' of git://git.kernel.org/pub/scm/linux/kernel/git/brau...Linus Torvalds1-1/+1
2020-12-10exec: Transform exec_update_mutex into a rw_semaphoreEric W. Biederman1-2/+2
2020-10-18pid: move pidfd_get_pid() to pid.cMinchan Kim1-0/+19
2020-09-04pidfd: support PIDFD_NONBLOCK in pidfd_open()Christian Brauner1-5/+7
2020-08-19pid: Use generic ns_common::countKirill Tkhai1-1/+1
2020-08-04Merge tag 'cap-checkpoint-restore-v5.9' of git://git.kernel.org/pub/scm/linux...Linus Torvalds1-1/+1
2020-07-19pid: use checkpoint_restore_ns_capable() for set_tidAdrian Reber1-1/+1
2020-07-13pidfd: Replace open-coded receive_fd()Kees Cook1-13/+2
2020-07-13pidfd: Add missing sock updates for pidfd_getfd()Kees Cook1-2/+5
2020-04-30remove the no longer needed pid_alive() check in __task_pid_nr_ns()Oleg Nesterov1-2/+1
2020-04-28proc: Ensure we see the exit of each process tid exactly onceEric W. Biederman1-0/+19
2020-04-10Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/ebi...Linus Torvalds1-0/+1
2020-04-09proc: Use a dedicated lock in struct pidEric W. Biederman1-0/+1
2020-04-02Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/ebi...Linus Torvalds1-10/+3
2020-03-25pidfd: Use new infrastructure to fix deadlocks in execveBernd Edlinger1-2/+2
2020-03-09pid: make ENOMEM return value more obviousChristian Brauner1-0/+8
2020-03-08pid: Fix error return value in some casesCorey Minyard1-0/+2
2020-02-28proc: Remove the now unnecessary internal mount of procEric W. Biederman1-8/+0
2020-02-24proc: Use a list of inodes to flush from procEric W. Biederman1-0/+1
2020-01-13pid: Implement pidfd_getfd syscallSargun Dhillon1-0/+90
2019-11-15fork: extend clone3() to support setting a PIDAdrian Reber1-15/+57
2019-10-17pid: use pid_has_task() in pidfd_open()Christian Brauner1-7/+5
2019-10-17pid: use pid_has_task() in __change_pid()Christian Brauner1-1/+1
2019-07-16kernel/pid.c: convert struct pid count to refcount_tJoel Fernandes (Google)1-5/+4
2019-07-10Merge tag 'pidfd-updates-v5.3' of git://git.kernel.org/pub/scm/linux/kernel/g...Linus Torvalds1-0/+71
2019-06-28pid: add pidfd_open()Christian Brauner1-0/+69
2019-06-28pidfd: add polling supportJoel Fernandes (Google)1-0/+2
2019-05-21treewide: Add SPDX license identifier for missed filesThomas Gleixner1-0/+1
2019-05-14kernel/pid.c: remove unneeded hash header fileTimmy Li1-1/+0
2018-12-28Fix failure path in alloc_pid()Matthew Wilcox1-2/+4
2018-10-31mm: remove include/linux/bootmem.hMike Rapoport1-1/+1
2018-09-20fork: report pid exhaustion correctlyKJ Tsanaktsidis1-1/+1
2018-07-21pid: Implement PIDTYPE_TGIDEric W. Biederman1-2/+0
2018-07-21pids: Move the pgrp and session pid pointers from task_struct to signal_structEric W. Biederman1-23/+22
2018-07-21pids: Compute task_tgid using signal->leader_pidEric W. Biederman1-7/+8
2018-04-11xarray: add the xa_lock to the radix_tree_rootMatthew Wilcox1-1/+1
2018-02-06pids: introduce find_get_task_by_vpid() helperMike Rapoport1-0/+13
2018-01-29Merge tag 'init_task-20180117' of git://git.kernel.org/pub/scm/linux/kernel/g...Linus Torvalds1-1/+13
2018-01-17Expand INIT_STRUCT_PID and removeDavid Howells1-1/+13
2017-12-23pid: Handle failure to allocate the first pid in a pid namespaceEric W. Biederman1-3/+5
2017-11-17pid: remove pidhashGargi Sharma1-38/+10
2017-11-17pid: replace pid bitmap implementation with IDR APIGargi Sharma1-165/+36
2017-08-21pids: make task_tgid_nr_ns() safeOleg Nesterov1-7/+4
2017-08-02pid: kill pidhash_size in pidhash_init()Kefeng Wang1-3/+0
2017-07-06mm: update callers to use HASH_ZERO flagPavel Tatashin1-5/+2
1 TYd:Q8gC_& ;> 5<)# >0;9נys(j˚Rw# SOIZks܃^Qxͼh|֦۾.VP%᝖g5^eb.S!"^P}9QoF[7vj]y =WEuM$>%\Bq?=oHXP/~EQ6 Pj``)Ab ;pߟ |9wt[ÅYmv#J^%,!d{ ճUKGƖo /nz.[`|eKDW%e KW+fdh^>Uw1RuXy@hB!9MmpޠKƀ'>ZŻdt7W[ nP" OSt @̒$q؛9 }ߍ ~1lܟ~Oq'gn"֙L%V(;m_((7 i=$BPOiיs R$jՇ:`eΰʣOJd8tf7\pNV{z (u@c!r)v93"/NbL=$eL7)X+>C5/tsiq;/o5}ޮgQo7X@P&_m0vPGsax(w5(2ѹ*כ]6;؟A`DD@6g(>Ug52 fv꿕l:==}":#ӦϞeyX Q A-^Yc;()z0(e)DAu,pns zD̏abN;D͚ժ54M͔Vάg[K㊑ ^Tv+ A#&;4%uܢY*׈]=|SG~h rH^]@}iȀ[g!MƋY5km:2pv")m0BH)P~Xޯo6) CWW'~ z*xSdVWX.AY'~j^|mKE޼CD !RPEB%ЪGqjbe)%\b7  ^n#f<" s=W钎#Ovb*,'9O`!Z8h-dِz9^7c߱T<Vۼ^%/@wۀpM7/D3fv ['͆ۥlSN>i'3E$p׊:=W.VH=NƤ[9 rя +;Jێq Z]v4{㐖3w\xU2 |/@#g+.J9m3~a#fo%WF֏Z0Ġ㕯 ZmГ_rcнLcBsM Yny|TNg.1`U)=:%& _H\'XVA#1S`Wr/5%PU#A)}g2Pq=gX\F# r =J&ogkEAb2I"ٲGQ C.M7^CvwC A;qp!:s퓐";wᘲlULjCϰ߿P `8o^~΢.qD=]/I1l[K{/^Ԙ^/NGAטsŇCNJv3dx KuyE$S_r ύ 4&G]m9}H;taJzx(ÒWNX)"7;}t*;U>]yuã}- c j >؉YofUb$IV>PD2lou,fū}̼A1.3ZFȉ!)|?oϐ⢄Vo=A,d_(mWP}2O::7',NpEõÃn66=L <4GQGq@tϪ#=! :Sg]q@#wlPvgov#? Vں(XZ;:$t8.D>"I+Nu(b=d"mX}lŞSOxϹle=kՋ_ ^FbnK-̰U{~m )P62󡿖TeMssHO&܈~o /Ki{QFyb?j[H :Vx+/@I8$r%FkZ37~u7vs|:cc9AP&ۢWM XZ_TQ#*,65Z|0Fk|rD57ooѹGdtyIH*cj1w G\(G@2ٶ75Oƿ@O};]jBHA 2Pjj Y웅_-U~ <)01a5 YN1Ao@N?)Qæv_t^͘P * J`}20m6l;Eg712Rf U xwJmB8Xֹ.Dh~!Ց_cg/Vڍ}M0ܟG1)ZҿMRZ&q G[.;>kְ*n7>+ҥsUZ կ8w#Ʒ}oo];8|#r~^sk `=gwHõ!M"M4=H!}?N >=7*mGǫ :ӷsny\"D%-VH(7"Ɍ!O-|<3L _<+8E/dLF++!l PJLch^χY)}G(r;pb_&<\r>(EIT,+CvOk kdڡ=ե9.eCLApvٟ5͌t:刀fML}n};kn*q }v͈!ʪ[Fn ].[@Ѝ#Z$Vr:߈gu^VYۅ*37`5uYpUMzvʟF]>s# 1VJЈ\@Ć.Ro\>Kn{^!YX,<0JwZ8!ᆓ\~'eh0T'.L$3X\O6O8],֡3 :G4Z!4VeLoOAO3wvEP"hxsV L)RM96ؚj|k 02Ň@Z'*0ziŦ0Z_[m] hbj7)0Φșzk.!k}Qh+Aݮ&\cAܑҔV@'y$\Q([ѻ$Kr?eTzKIpz^Ḫ(1`!]QHx5L}as7 cqU1ByR"ecSP%}f[1{+ '{Fc8) 5^GŻl`/X,?)I'{oZ|' G~yc 4%=Kh첅LIxPcpW৙Pf>FD;9'Bg:pb9ٗCkG2F8X'5sE0Ġ-S0C|:5<_ {>4 DQ@\ʮ!R'O <Ǣ[GA]o{hFP#_svD ?yڨi^`*O]3Jʏ-)Tc:Ce&?`#sȽx{ƉŰf`1 MJM 0CbZV9vcP7Ƙ XT wf q?<-OUOAu "łD~ r @(x?5 ѿ`r(*= ^(,zσ*D-l /jQ"pƾHyg*Zڤ{պqJ@N7nzɑT0b$un=Xs(y;Bqd3 C2e`ܾ=++K0Vg-fMLna+$Gـz@r ws8(.r8DUhu/eՀ*^fxDZ/s97cMD7z-?E/΄~礲TeflF7X<aX)5fJ47ů$Yqu] YFg@)iZqk"}1b ӵZ!O#0kzd׵a$8}F j. eQ ȍs&Do_yM90 w@:£D,4E 1 &Y`${dEb9CV>iM~.Ņ YRT]M:NS:;\?ΩSFQQ=텻$TPY2P85y >TKe{ԺrQb$јP\.[{K| yL;^!{۞XC'ozx7YNUGu)seU((/vR׺-Kьr/S`7:s)z .5& CPx_Ig` T{8c}V>?գKFpal*S%%z!0ՠ]wP:HK [: Asl/̰GPN֪ ,%W]t 8QeVQt.9ڊH"hZe[@q2&p~,< u}gag"şRϷE+EFɁ`:@ YvpbԂu?;kaf"MVcLOX` $liZcs:q">!<^݂Dїyd2/LA7娏t_SEAR)5`Y9fD3 _ꦋ 63*iZb_ރ`c0h~sgMtgܛ\ fFlb&(Y9侕V+ `IP;$߱e6gKr ^_5CЎaB2:EzwGmuYxdS@xK`2^&PIpbSݬei J܁6B  Z0̨ `@b lj,[ :Bs`u4)3kg٦ `քA U@5(ss"ŝiF&^d=t\wX+wƬu3nBxtqɘM<v~E[DŦCIֻ~Z.h/v+!Y@S-Mg I\A"d|T-2(Cs1#9"-0%P٠}D_WfQx,+!+[x5p/EPuVzk+zo`1Xry)p}Uhp|+EnYj6kLJ /UIo"S!U?%J߭XP$$~>glCoEVk3 g,SQ^~~ck5sh.setpb\ǮǃjW=U4>nM:;n%}A&|phG^lY/n㝼 L J]r:{V-d'-\A?~ebMr鿼cOO3`_\O<ɷ)c0mf RsC!1=Krf1i\>r5]k'B#f"܋j\0Y*!W02#rm//͐,rd@CL*a cttJ0,d vB=5b:'+ v qX$gaܠ[KX;]E }>zdp`j'cH x.WJdM1X+fČ(NZ,+̜s+v~pwG:|&^\D̪" sg5TGFҜ#ോ#Z[@F tr R5yubͩ!;pClMԄ!5D@_SA*Tjtg'-'1z!w Ƞ%.MTŮ:$:I18z1X;>||\Sp fGH:cƮײzfNw,x¿el'9(`Q ¼CmuucXl 9䒈N@Vg]exfRО8˼3܎꣟͗p"VD H j@ k%Y${0NR1@zayk ZPy@BF[( Mp*-Yzd~2ܑB2A3PP:'>W9-}1oOZD:s':H1WrvH9 ߘݩ# d1蝔Ń>/耥 H#+d@eb@;݋l&ԠXG>+{\3k;ӟw~&|T՞>S Hqh޷-w| dcsj`M),M?]8 -()x0q8t:︰ 1 uڙ+nzN2Suߛd+&b7@b@iԪP$ lѦ'4qw=^'CT+s,lM;2A,vP/蕙xּbK+0Z+CE KQgÅQ9;GܨNUş);"s~L *~q72 D2[,o|ypu2Ng8.^A ]{ L/R7Z2 ~ AwS&)s8`!!Fvu[!5S@vEYܠ&Ef~|pJAC]E2aQk2a0 RF:0u8WV3RW8ܚdA&hGxg 4:ֱ 8RRg`}3r-U0@"C:8ʖdc|`?NQpF0̻j WI8DIGhWX tZ4袈$^:Y0ōWǺ6ç Q? =&ias"7(5w%Eb=.H# Rbп΍}`ſtd0$s̷C6wLWڗ'idk˼Gig^ࣙd&q{%VRg"2&V!P#wk xZp|YA/sBnWVX3@CTu} G\M`,VrNߑs=B]9Bn1o*fa^^y2Q1e͝Ԟa0PD#{[I2tTX% ,sĿ,|+ D<+Hf:\\Y]ŻSY[Kԏ{a^KcUC/M3"$hcf^E ÕTe~5rs;M"Yq )% ;L@}#hcES_2^NED`KZ*DL%2%_PgGT̤VUcWPfu wHї+ww:AIL>8t,䇦2bȊckIhXf;BdI֢iVgcꀎ`&us ɪ&"De!|f<}_w0Dm˯z2Ŷv:\!BϹ,2sE?JJ״=jNƎˠə" sT#79PVWϥjݶ.09O7ȀG뿫dp*UjQ;{S~6yY4dܜ}x$#FX$v%6Fzurv}>]}GnIPxӑFbȖKLuD*,N@P®GKm_6s$:8Ci]8 Ż|ۗA >.协Ff4.~-h4vwdsIr1[]>Ѩ>M(H!kIE>?Ֆh> G4Eϛ(D`e,}Dɝ*h=8s@ޞ՚<\XF3xEH["|!E)"Pv7>nC(c9(0m2b1w}AanIh#ń+E.I0>oY`/s$ xE Nt }G<*Cev?G\0\*xDsccTSfپtg~*ec[R1]Ʀ}mc"Y㷓ń)ſ'~j9EB"B;U72""o9څkɿ![~ka?u6>ɾg^Mܣ1F0E kP>Ya9fe/A=H~}5OT,D  < ;bc_ Y1ůrJ3o0>v^^># NW(U1I a f l>6ƦSߙ(_eEzbo}\)ڏT;}Oܰ&(CKqmg}? v4mlE@Im Jo!"-Ըxǡ۲R4u orR(1sogܤ 7K#oMF<Ot5BR{/hAJn;4DES_0^(7lorÝW|m,#o4 & WSs2ert%@⠜t3"Ă5Cv%LJlXT@z-S۾yzymW|8i}x|S$c9AȨv2, c5z1:L?Opw U8؄fbrL0b޷rv˅$f]?)I,\{S `djM[ܞCu& Q邿?G/jPb?,Sl {W;-`ylL\an[eL4m7")⤟<(vZ3Uf-3#p06HR)q16r: GoY|ӟ/? #ө c06̙uÇ0vg&w˨ @MQ!̚oI? ol;N7C/p0;\T>>Q:b<z,džCkZΏS||+EGM>7!=C)'|ொ껚 ;+C򋊅6+8?M~IH{[:'H%ڎ",~Q>ⴌ5`Uz2oU(%ICA:_Pq GwqXܕ §R:JZ5^>`E<`g>ȜɈuM֭㖆!"w; `F=_]zajiS߻i V֜NDH/eF\M)щ5s NIoȥ V1J\NT&CIye T;E4JUj^ܪancNɛ??gfd[t1<;: Ch;I;MOwyXjQ131ʸNjޮU,,Hzܮ7*0|؞ ^"7795$~g~Oo"[^Ns{nٗ?< M9S-k/jruҷ]>*rxKj }_~C |adnb0s`O{^J0 $fn8T-اu9ֆE~:gufidq4Tf~=~tGovm&$\ߦ(/:MY]2`dYd\B ǹkt"0s5ØBeX3=KVoR?`YFesxLb 1u;N?C]cֈP|+<\DlVnm1C+ֵL4uNN3^uYgЍM7 ׺ZrN's \Q]wKvNܘW~_ӷ.** t PKCk9.waYd-}@+OX)n fՂ&ooz_ϦX-&uI9G'ҴhRaaUn Q}eKn"15US!G3rBeXax^/8_&0U+&^F|φm pcTc둁G߹QE;(5sI{ .覰-*Z8qAsAS2gӸvTxi{LWީ7>:H:LB)]ffnXOB{_AyE^%paxtH|vs.JiG\>/wjNu2"a:=/Sv\g4nr4k 8)!\~k)[[;'.ä.;@]*͉j }y(?@Dx 3Nk<$.vJ8_'9܍TJ'0!|Hek$~0p H9|XDBK|JX]jSD~NާV.{]+nuuu8R/w6Cy JLlmӞCr?g M9jb2u-{ƻyn`8.ītW|;𽸼&H XP(s:Zg<1WX Uנom @{'gїHĽs l./[ٶKV$M +${KAo7iҩSzƦ9DA%O8җE?RH !1Y>)0T>9> :d(DkeoPOlB=x?/J>hFބP|ldf^EZKG I/rg#,9DEsZ`ɿ'' \X| Nk?3piKCi09b~;ssr_-xz霥xSmz4Ƀ1Vz~"uM P f1靔hF.x/,w?w> "#A$v"a* '2/n5i^C1)-"_9XGóiy~/k5]bl&fև6NTt7<ZX監9,H!PSɨF;U!%G<g!E|O:tBzZKQ0ňqE m+gaqd>Nv70[ؘ>!Hڢ?F 3s plH@,\gjuCRߙd +J[`A%QDԼsk@‹Se\42pv}DA ^ ՆrYBS's3/ ^8q3D޶Fl<|~r*ӵT8 (G、`RL(r?!{ۘR [GqVfjh=E& mb*8=;eCA y\LT 3>@V8:P4D\\>_Mz['%`?lh('- k;d#5K{UOy3 3FuqB1*  fcn0r7oy+C"1z 8닝 K ߟ>a>9P^Q[WI-#C>nԤa!ݘC%L!;n: 95ΗKu e(K(Ɋ?!D{dT$D@ -%/_x^sL' AG (Q2QDh / rAK`'MIӳ~AoO]' v$(Rܹ sOu.=<&.<8R Ǭ|c=gc(dmx.I3|aQg) z3w!/)|@':o.z$U-su.}#Br"rbA\qŽo86ߒ?*\qO.XcH`۠X6ń߱C q sxp܂MhZ:4VhXl~U?uFn BoomU"BZ"'{1gG$xWr>WH1H4gy3)s~#.9(fc#aPD"0+>6t!t>B :9;*H|VᒴWZS.#*^Ҳ""&YE#6ߪ~&]];5\~ ~4<ԙ<2c)1ǧ8xT }ߪEX,`8 hnxڬ~/ka/xz:(vuj4}G8$O'#9r;kH}`+G M:38x\vBq )u,2Q"zWr3ֳ I׽5~T}}rv*.yWRT(). B>qpV|m.xSm/MbhHwqӉ`t<태1 H5f9H zWa%nͤc&\99⚆(i|ٔ`V6f 9g'xT %` ϹvZ>{ᩨP/o\̧/7Jq$3ΎW+G>^7`1Ξ^^K.cue9'xõ'GTMe.u810ocL[֥zȟ6jRRepg33ZqÃ;7abZe6qqvh[caTq+jl>wn2ql5ie^ JvEY f b*|u4(^t=?9V B` =n 8vm0ABb $f+dчBqTn]Cڹ;ʘA9G ӴǶ(AIy9ՏcE*H\4Csj]W- ^0J¢*L.7]dݴ1 'mҺAc).&^Y6UI+ݬA9k!px Y9ZGH8+nN辊fHC#u0dӨ ޼g-/z[[K'q ^*xC񈳩|Ωƕ-%cT+TD֢+pxO7Զy]N=< LlqIxPZ,SgƤm`}zwţZtʹ;{LvswasL<𭫨>q]B[3Ý/fZvnxVxO0ZJA"A6*V- c1$z3tbrƧ*a^_dJ"z<&tL/Su3d *au1k 0*~Na˅-m lD_<~mG{E$$IWЮNK328ur~+9OM(GUfDkoY9Dw}:$F7PtduJd~c5oXs M'h%gu|r\cj3g+1ļO>nEgG/,.Pt\ ڧ|`Ɍ_l+v)Mΐ>o3gb{y;akf Ln2BVؙ+g Lyʼ#L'iĿ noM\aP˞ #'ZP?n{HYgnFhai&Zу{մ&;GEcu#w |m6-cXKO#EC2j[Ȃz(O퐠Z|2J% yve~YkK6'NʨXyLl`Koqɮq v~vI"3Xܾs RN>;ž2Dytqx5UwwY# &?ni(d'Slτ9=Ypt`.?-gc[U8! wLJcuY֓s7Tq8ΡGG? [n[\?838^V˧ήهڥs;97Hb!/J.)5.Zpy=aOԴږog&bK_;q 33Nd}dFvsC}{L?)sxpno*N&,mQpn::qm[?}sQ26I#y\~/;^Y:K؋V;+撹b1z. P HQO(@#D1 \!b%Ĝ9ntzjkGB- rTM"^V9!ǹx{:6J.=|m'l4Li@9wo7!?_7WyA/=w/֌:X!R!B~;>'Eb@W82GG}/t l!{>6j&{SYw'brjXE ŧ3lƒESAHi6nAVu76hBIsM ?2:zr&8W"U}J=Ǥhși`=`;,~&P`}@!8bآZ^a=K/p=py1PEA`;y6 !GCJl+(1<(1c" l;"UӦƤ?{&&*W#b&Gq z9ZgI,'|qAPZ\t6φ\;E6IX%*#* 4 ySDTڪ`Cp,N|,DJFX(h}3G[L={PG-q}';ԙ;EGc{(ӧx# vu2ZZ`9Ms TP_@7yRXwЀ~Q|<60Ɲ.:xFH:K(^%uyB[pYFA G25 DMAX~ T4ɾ4ݬ !:8WJlQ4 8X!(! g@>\\K_kpUmaKJ׵_ȃn6&: ϱ ƌep:R S*)F(NpBZY eq.^;/ZHsK,9XT4`cԵ.mrdZ lÆD9Z`)WIܱ1{3Nvh^YzυߨG|-9ǁ&lCec+Y~8ܟ?븗ToVc >fg>fEufR;n;hN݈ΊAoSv:|}bv|ARI45a0ruymf8^ñdi>Y%Ez)_ʁ=ud)D Hrƾv<2?rl8bYl?g{XM&<e.Ɇ>_bY"+eĢtI{Ҝҫwoz+ЛR#A2&:BIv'o~K/^m;'Ǻ3\YT<B3ԨU̽iQ@487*}sbXF/0;y}d08>,̄6W( 8ɂV֨مw=[$SO9Jr:*RX<0݄D#.L?6tn-Աpat 6_kaA586!Q| e c˄rf Yxr1va k?2!Oi#Ro'Aw;$'=%xS?{!~,ETBv+_(Ǚ R[~#C2P]ݔc\ d:j TMw>m+B"^=idnGcצWp/0G)19][ngg#ciNcTq$ ,1]_SW0W8},'O [ӷ |G"0) pÀ$,6VN 3)'X+вAx,s/G,Q)8x;tDGwpI4~_BЄgb^fCV,`[G*_s$IKW(Z汋?Ac\TZuϟY%gm?gs$G`_ 8>~pGb\14:Yl3mQ9xp\ޚ7rNL{YN9&8 m-QmYw!㼹^̔&N;j6SыOۭ|a;Cާ'kY[y"%0ոPb6&Z|uL'-߁-"^. vNe2s~,7>qs8/ob셟_q.V\"BfO?"qf Z,dk9T!t,-V"U0Q K_IxPƚ6S\_! t@Ua$jAyS4ALXo+ε$f{ϕ^1c䬭?MQf*T?tM{SdHqDa=sc^%7qʞ,"~V78 9l_Qve2#I_ibzdz@VW\$@D~_ o/KX q}ӝ|FǐL)cDoFzB?7?m!pPpt/uV ̩nݻ&E lxp O&urNnh*Zy=CXȤaDDҋ|Jl|D@=K9ď3{h =w] j?u %aZ&M m;۳]#q7΋jed04 }oe # Bٕ]ݝB9$=T:@:B;Ҝ P0@'(\CBq CNs#C11!C.2%{ D m3jO$˜I`#?э%}{Im#eLBDN<\oٗiYhHz~oPMD5qs/ g  &9wN~xh",q]ϤrYB@w[XkYYF9\B\$@q|eg,P<}Ι|d̖e߻B1nKuڰ-9KRC_K 1)O=EL=ѝ p?I1fBO˶7.6 }ytaGb7 %ނ{Oj)>gã=I W/5x8M~x]3Y(Pr=1KCc=p|~}J%ؘ GǷryN?! ~ U07F w &JgVRxVdat~:?))C kϫ@wm bazR$O N">Tq)d+@t!DǙ;%jlrNr&I@t U2tTC% {e70_ZO)@ `kco='~[4]=Aߢ_k`oYfzrnlt0 l)LnSTN;+وw2?Z~N }s썝 3az|sᴾ.q.nG? .쏎;`k:^7!VA^=<\#ua=Xo0k7 5w`vׅͯ!c#}/_Y"ۻ;я& WC\y~aЊid_kn|O/Ъ ֿ?c>ksz翍`n&i\1OQTE Vqz:~?_{O[|,R$}{nn$_ER/fD|L?b٩Q8k+G8 5H d@fAKFJ%%Nw wԧi@Yl؀IAb.H q?7XfdzN#,?GPymsX}[wDԬŁm@#7 !'m<(*RtZk|faHh]D<\GGSyD;C Z&suoaZӟ v?Z?u]u?kVyyuO ߢb#댤η\&v S@Y'qw?r7\r{N >iGQ^<{,>nߍzǯ R:nnyw\<˷w_<3KϮt+'^zZ׈c{7Uz>o.րfM#]|/ݛ,Qc;v/]m.-p|O 1E~;yGQdy]ӷ-Ppnl+lgJkۃJ>daw5u^ϏGۇGQtKd{ < (k!32!;lõ|a|aJCj6p!X y>5Mbu?S-9?܀fxA6;s}ߜ6K^%Qǿ]؄h^ÙE_[%lhs:hU:ztRu^6dmOLae!WYy&>qFO ՟)i<:lۮuP,|x'Xq2?d*?fb+DQIڍ"} G5fq`+m=_s.};|m$[lKWÙG[Ûl.zo ٶhAU"ءF}ϣ0X}p N>TT(,G |>ֿͦXŒFOmT6<`6Oo XFl1=wyx_'_}7rBTX?o: *&#`ëjBoHwmjrkȂzo\VVS_|zwu Ck P(!8m{V_$MԲzH'pX<Ϊ?@ XL"4E!x#?2O n1S-@3N 0To8Щ-?`Ìؿms5T2xӼ5}YcK"ˆ*/M$KQ)Mb$N3Բ#=܂M??]UZgۍf;'pi.)Gxì(J% zz D6׺@1>s(9'8se@ R- #ƚYc@5@30ڟ݊ё9y|F*%!AAX^iGS+A^hM^&`X쪼$f(TQ|"@'ڠkp@<e;ipYP Q#G]ExOi9H/cpq29skϵOG&aM@vמͨ\B^mvL8t4{oJf&}}N4nqx$ % >IDY*aIa;DE Y_FV!?HW=.m]jS~ ޼[- M,NLxa﯎ ƶo#$N\r X9E@ ȜPwYLX"ʽ-(PvK:RRUx/툳S֝pxo\Gm\mIiCޯ}XV__'.8mTFI M's-+G2C8<7B[M[ 2gH>;0^--+-燮,EPn3%+!(eC?F8~!p%D9BrQ<2?FR!!0v=QDJX"2aTآTɪ,g<@٩ GK5&*> ` i- =m ,>U:(lVeP.Vuz 6=Ϡ!`AU#4dr:U $.fT:+Bj1.Š$[j؍\5w/, ~H/y84FwӸ_h 62MC[dY &B0 'cIy8Zq!=fͨ3_R}u޿o%Soo)$- z,k%I@)keim>1XV}eIlWHx}V#3fwyf>e (DSb幮~m<՘tK:ݎg8V[ÄdOs;FUԫoyw1 vP{l{kaCNaA4szoC;3w1 -{nXfͮ9 Cpfua/5ҵ jnfhMi0p| #eq E#WWƟcj[̻⠌,RNl}lns)0 `ad{M@I=׸LOke(qUsQ UK6Hڸ|C 2T~RxE2mZC(w{v #/t;cjh|G n|ӕE+[ kkgaKjH2CRT6iw1|YCڝ@/r'S~ ӑFNөYq?67+6YEz[5>?.-KWHa6)Cw+jPWvepdP,4VWX,=ЊX\0W4\`o 0tj#)r%ʻ rXz0B^^CyQJ[faM]C0l(f *PDx&={p%HTOLwɊ:{?_nd,/{@ܵ}*Oo 5 B/ss:ߎ*H󡒢`G&RHԄ Q }@U%x-eՓG;HFjh>UoN۠1ʋ^j%O\ZX[K=Xި9t?G)GYe iDC 0 upڗS'1Q #XұGFMifwVmٱleiKN8qX3,SC @nD*#ix<AQ [E'r#%ƴM!J:g"sr\HR(sdKUe䤭|&H2#=i[OǶxoڻ56eCxZ'(0tt8\욧τ#%WD)|g!˝B L99g‘!|2Ysq o4 _׏RY/"H͞g\u^`H@)u˚IRɺ}ܤ7|{F˾G=Q|L@ħ ؃CH<5 nɾPK<:~JD\_f\GKRuCWL*YQ6b3-{_4,yY#\<{W+-9sq3 E~njiA'+?¿h_B?@x%sPmQ|leww.We/VO¶ ,8KMOFzri̴'Xz ^M-u9dBn|$+lZOA+Omxk7Ll+j)3_r"\|_Uwݐ1,>3ZC=k8-ԗ]nĄA\uVH,>ǁ(:S|7\ R禡J}qhOyCB"QOWo.sw:1ߩ)9->>pq"f~."꜉ӵnqph^zU铷MI,Il}c_okNaA!0HB'Gut.t厷?ـDNߣ_uk'dᶑVi B)QfA$??gxX֨BBcg#hj61(g bIʸlklA9CmRU[?c,>rŌBP_=gΰ!,)u9.l$ X(x},ar(8DPpm1AO+^:03u1i_Fo՚.r͘` Pa妼 Iu-ZqlgX>6 Ɓ~etDz}u(Ջ=z c@(dL7z˽Cq@@/ʇgPOm pt79z4@K~Ow|G4~Y?KF'jӜ3DZ |V?M8lxa|6=b_E>qtvt_DO;py7`bB/Csůvv B2 lAP8(3'E%EMZ{< (90+z.p~-k$ ":n D%G]j_v)哶[Kd۶ ct$h (pR.|,6ܿ'χPM_X 4QQqǧwV _ KR9k1pRkVΓhf3ss kxZ*>X*끼67 bϢƔP\fq.V_c]%'P&d"31ފj@G1 .:SMDvӅ.VoLeyAN)AT\%k\pm_Sw;Y jǤū#]^o ër;1+'.'Hwv # 8(8?z.LN8e8M uj$B Ld"7Gk[.S_Թa6\ (*a *H of0 |+.;]Iʔlli({Rfaf#X Lb `F3ݩͱd{ 0JcX[wb*]%q&/"nی6l%t-DuC4B$NlWq; [-Ҥ?N쥅b }&k=hLyoUK-p2ts"A zDA -~,2y m>6ƆMj>;>Y2ۖ*A~*A}lL0d t} \HK+w*FtPzSI8 ~#&/,%TQ=}QG~͋wdS smt5 ` t+O-"Pz=6m,[mXpy2|Mi7.D n q:Sr}/ d`YvBܗ bO}\?WCSƬ.AeېRroÍҩ͗OpHIS?%i~kT'GW@:T":医?=7H Ѱ?h/ܶYнߐGE(*$y(`t+Zs J7hDT(#l&i=;0_njE!0E$,. jvHmK׍0g]RC]cĎ( -6f0n |e=_8beęf$7z.Kzǭ]weØx_3ܸ3*NhNoH$' f`$wmh <nzzxGMo돓0-ǫ+8c]]]Y}EP=-i !#\3w[ܨtB@:d@3Wt'DZCWP/JʊSgS@oE{*nA6Gl!7G^3 X`6Vmo@2A* {;gç÷ysQqREu?~``^!cڄyh(r RL  bP?"a^d4PITQDTQDTQHQE QE QE!@PPR5M5E5M5EQE-RUUUcQW{FA6tC䉖z@)6`3O<ݙALinCp/5,0efS^~/"(DEA}:/DȔbTa2q>J$DA.^ܵ@w w$)AB!8 2@Q&:PQj[x^Թp{TE\gԤ@< *EBa Bhi `)* a@=3DHLA$$CCCC.-1JR+('j!Z8F" B )}$$"J) B) Bc +-3:*&"&""_Ӛiǿ7P@юɭ#8Ɉs7\X3(p#3+@8"mG])POhyoF!XT07TKAlzUnL y$UB^{9OpHk.!rtW1+af|+ޮPdXAGrT 6'u\ *e&NRnwn;|1 լ]GSץP9*:96rjS]fJT0*/]9t*@ Bxxj@;9^RjC<8iHO7jM*@^?O 38vk^ s= um0̡jx%GK /؝ӌB! +ȆRGgF*qÇwL|@$QPUШNh"0q SB B(P Be̠~`` J $ IZ'E؈rBB$@ Tda>L03UR1]JnpUS|3=ghPz*cH {+Ͽhy]Cߦ6p8"ߟ4 $P7 q~ǛmQv+bxY[}U7LH M8: /~Wv$H""V@"  7oj|m3|vtV._.>Jĺ:ݟG\`!Nؕ6`7j" Epus!5|‰g ϔԀ؄^|]*Ʒ D\ϵC{Cw=s^{~Y9aqXqiw|a˪I! õ@ '{}f9ĴnMLdz}szccͤ~e*;X >O :i􉅠ۮsd6n) T("rBDjX* Pi@rM $3/w'E|ޠdj@%fBfg9!ۚOR^{- >dk\Z!bT_0e P Ԥs037Ys P-ikGֻS>(\!EdJ-BgIBVWa2`0ك# dWpp!.W#TZ7Gψt.(lbZkOFQG;ⲂTU>ЁJٰt\ㄽD抃-JvCddQ RX OO &"$FbbŊoK޸x(#m  ˊɅ~OI|r] z&n:Y6qh 3@(H%c5?wf CҲ+wld[o.bfSF:Kh vh[?ʼpǗNfJs.HJr0^cr}C]PXXS+Z^?<ℳ'Y 3 RҢvnTN3l96 խ_Yِ *5TnwQG"_ab.J#7Ak=f"K }u:I#1v{403~=ܣaHъuq$4F&6i$ꀁHEq"T{ߖ"屼4qITo=RZ:,$BuȑVQ^9*6\kʝ|z`'iAgIb.3o s8_+%a(p|qv~Hx wԙnW}? rR͸7Q](ԐBDd\@re#6-2*,{Lp5ܢMqQPÆX<::=jX\aC$V(/<* =\KʚQ/ ӽb>,0xJ;~egAb-͹h}zIhWT1td׏_u،R!ۈ1네2><|+,WkP CtlKSsSФ#Z)N2RPMuw6l:č׿U8Qߍ-pX#.Տ pD`WlF(rT[Ժ2iAH(k(X?9phڦۗ?7J#Liz+؏+Sq#Tj9^QǁV޿riEs(A/N^x: qtT$;lkQ%zA9-} OX7`nQHRR#~}]{vfmpb ZaY_lY@:ȸ3mwQG[{KC} c)Ȭ/iTj(!ge ED !Ͼ-}6^%e̝+j:?vG?9w~VI,IH)k'KZ>SE `2uZR-5dzu\p_ѻ|ij dA I s} F3/ @9g&4sd'smߨ3wޭ]:9@*.p]Y: |G$%ɇxlˎ]bS@`DRQHl ~X!AΘ{3(sj˿o?\?mOUKYQ-Ξg0w` O}u+g~] tg]Cl=?/ѻ=1)3mJ ,ßuYv?dIE\I:"%պ::´b=~:f bZ ʼ5g{'w R|_/ElZ)LZEiR>@e4ζB [{+ a0ɔ 2m5nfsNr'f< ?JӹˎȯbU*=3Q~{m '(䡳w+/fzR0_VwFQa"&HBɗ.Y͞;=[a* ?3j^ߙFb $$d`Hq3ULfPhUOQϟy]_ Nk{*H!Bηi`RiTZ΄fҨ܅}CmNOj# |?` X³#*=u@ 0G,I,N%R00Wtsb{}Iܪ^EznD^K}Z,xaIkHd2f+~M34~nF[QH%oCw t2;h=jXmQ/X2sjq;Mv]cGX0q|)]B>'+KWW᠛>y՝g>8"sn?g272aO9+|'>bLg:[vj5?Dc (`le(^Y? T\Ӵ"LY1+W$0=~Nc)z ^@H4i+_yh1.`JD)N0EQqJp-F ©bw?~~W"h%gBJëOۣ,"@:}ķq٫͢s5΀{ɼQx>XqAȼu>ud5[7-j͟ rT^7aЮxݦvJ #xWY`+s;r8 uu.}~7Ə7ac)xC3?!FER)$L@8f ?IӷOCxÇu0K 8_|eCy}Qډc/@ݑJ| u &3U"RL PQ.FdL#ͩi+%#aT\Ȣ-PHg:/WeE2U&8Y_E-H8_{#?/+lϺ >P_)J )_=;;~}9~΂0VAѣJ߫ץ+tm yk`^bSFZDe,@usO;;v_mXJđksg }l2.ز"$ (.y-Z ' R2Wċfq7L@} ZՊ8ƿ tQT,^1{9NMq,w5R=uS_ǎ`eC[(#; \ #L܁,MQ290HCa7^ׂTwIgD9 *` >[|\3rĈz̄Qoklb8A_*rqC0z9|BsAM:Fo