summaryrefslogtreecommitdiff
path: root/net/rxrpc/skbuff.c
diff options
context:
space:
mode:
authorChristoph Hellwig <hch@lst.de>2024-08-27 08:50:47 +0200
committerChristian Brauner <brauner@kernel.org>2024-08-28 16:53:57 +0200
commit57413d8e172c10c90fbd91f98d0f7d8eb27e824c (patch)
tree85ee8b00d68a0adf810bd4cdc04009c6f8042684 /net/rxrpc/skbuff.c
parentf951171044762a0d179caf9f1addcdbc7cb533bf (diff)
downloadlinux-57413d8e172c10c90fbd91f98d0f7d8eb27e824c.tar.gz
linux-57413d8e172c10c90fbd91f98d0f7d8eb27e824c.tar.bz2
linux-57413d8e172c10c90fbd91f98d0f7d8eb27e824c.zip
fs: sort out the fallocate mode vs flag mess
The fallocate system call takes a mode argument, but that argument contains a wild mix of exclusive modes and an optional flags. Replace FALLOC_FL_SUPPORTED_MASK with FALLOC_FL_MODE_MASK, which excludes the optional flag bit, so that we can use switch statement on the value to easily enumerate the cases while getting the check for duplicate modes for free. To make this (and in the future the file system implementations) more readable also add a symbolic name for the 0 mode used to allocate blocks. Signed-off-by: Christoph Hellwig <hch@lst.de> Link: https://lore.kernel.org/r/20240827065123.1762168-4-hch@lst.de Reviewed-by: Darrick J. Wong <djwong@kernel.org> Reviewed-by: Jan Kara <jack@suse.cz> Signed-off-by: Christian Brauner <brauner@kernel.org>
Diffstat (limited to 'net/rxrpc/skbuff.c')
0 files changed, 0 insertions, 0 deletions
ItveuFg{ߖFabh=5SO.BާgVfAcg>iA[͆B/{$Ϋש~f2"p}W~nvEMOn ̈0w"hϡH{ ~y ?NWcj9Ėzӓnc({O\zNpb\%| Sk,0sB!瓵:@Qt*;;녯R6, ,+a_Z>Y07!ԃBescEbҩcO톹_e`343#=8]ZGWXY[L?de/5hf'YG.8}U[Y6uelQ>,X;iifgG/7*YQu}Nzk *fS"x5S[ rdS"Kɉ "qj*fiYBkJ/839D'"ԢJv}6V*}@J)>pE :w!eg6,69 c@ q@kFEi1(, "j-e v F eߣW3wNן.CCo6]e-M~na%6BZ?7@siuw赗C`67ߖs}^0} 7PB΋}ﷶ=RRi2-m_Lhq X#)^ƿ-cn=Rs=Ze|2]aΰ</͠4nHvx;_ҶsegK|8(RAU,5oD-0tXv3~K+֟R0W/ru;a`3u2) daѱ;pʵ_>a Sʜ#O_X[~}Ǧf#'þ2# bct d#~AbMթ%چm' F@]nk~rC U^;68YDJahYXNgP@Tn^ق qꥐx-N XQ l4>ٶ̼xX1UEo|872CLP%g8}c4)&Z&[@؁(chl# Z} 4 ۪"ȤD*3 iLq&c4b2Vr1&a"=׿rجE$_:>mpsOERFBT'VЛ#qDq ѹn6}gfN쑫yB E0gnTj^MӶVJҏN+*hD:]lddP\n"5ugk.rs>&E&QmUQ_蓞kyrsمI]a~3&:1e2r=Ž {R5+|! z bЃJ6? 晊s _G6FBEW{إ(Z9Dp,\;rIequWcEJWXjS*NUZO]v>UlV-v r|Zf,0t[|_l8rcd!#j|M+rXnPDtLy`q?د6DvN_鿄 LO0 # C==g,ٺCvϲ)/n~euA2҄Q`ms8} aoeWVbvG;=#{!JC~01xD2$z2wgނP6֗+D]HD u>^;78aZfs6DEta;iܸp='3.Ll_b3L7,^td:e`hٰ{zp͟mL ᖶbg#8ens1։r;R X1[sNq>0OlaI:8 Cҽuߍa:ܤ5_*+Embv6 -y?fZݳ=:}tlW=|qb*yߣD4R|d u^"]csnmdDOD{mWG^:"j3 N+́z ~/?~W(ݳۡ]O /=~6eWtj+6n4]hrKсō=kѡtmL=Նz_^ Vr͊;S#pזÿ U<ԯ+ymmXgo3 g9N/v[ohx#^Ga1ѭ^my=2. pY*y]B9i,:"g]ޮeBp87w9@-YPb°vȅPӇc-QpûLwFp Wx=8 ׾㮢gghl~R>ο,*0m/­FU{HV%[6f0%/~d{l~7Jw}\SkXS.UҲDߊb6iOu+u$k -ư8TQpXW6Vp9 [m_׽[;Yɥ?S[ݢyqB60z\诛o@Ǣ-nNSȺ6hVW!bbϲڍ[gҳ΍c$qT'T>-bϛYao7ù.[MB)ue]˶y>Ve*ܡZ@p2g7Ů:l'!P1(?D4adciZw! o+jQIғ,W2H1M/UZ-D7@?ofGsm1L+OxwsDXPJ$Wr.7hC8k5>=g54, ћN&C]e'#̮Ó)rnV @| F?pcY#~;mmֹ?AʰF* F*6qcVX"Ƭ8VH UWVڶUm;smrlA}s77"r[<9(냩調VڶM$Fm$KmI!Oy MUuhګlM66I VǨ m1YmX$̥%q[q2<wML:|`mnG1钲ZrOT:_*ɜihb UBVu )\E9'g^3Fꥋ" ӆϢQTGmm2:4-jl0˿ "hI(?ߣx%P/̡s/ga3f‹2t#R/uY`X~B*C) Z@09щ! Ā "TDn *_O-?^pɄ71[ 3t'@cK~P- @ wR)$rDe"0HDb}p *b?+(5 ?('eu|>~6OEKE'llPM(լ刌$FѸ_gǴ3PX?џC~6CR [KX (ψ/!'BswlhR?sUR;Gy c3i.TQzؗaA'E# XZ-S6roQ w)8Bfqg!XM3Y3făq},d P|,`@>LhˆՕE0nDIDv^rȰq\!H_jHፘ/ZHÄ&\ >VN>>Dշ2QWmGH<|-!8tޖN"[эXE;l aT@]ʶCmcTWuo*5•vQWFC71'\X%. 2趮I}^a_RCނ XTg_=B5>oigޱQ@bU_Li8* 4:oH2!y޸OFr73zZ?w  C+RXG4 eƟD#.?-~Sv͠jIۜGsR96oAe10@_EhGmu`G \ĪVmAk]yR D"#F׏ӇKz $%-81PolsֿQκ+n 2`J=^l=-/|_|8gun֩0ZԳwH3s(I@,%T*=xw]}a LHyUg/1Cգ_QmFu~'ZT^[uۭm#;̴̱A|RYQ zD>FU#Q?z<.9 /u>@y'${ H#F`/կE"6A"瀢FCXZ%צ֨Vo ">X#3ANdoLl\9qϳA+jǜԏoZpce'z}ٔNtd2an P!:=z< Z[,_o܇_r_6vW{:ajlnp|e!NN52 Fr:M򝃪w]7w , 1V&C2}>Of`oA|TyG;uMw=Q&cȍS+F/iuڙ1.rX+PV,E ?62"0r%+X@efDžA!Un Tku5I7LKa2dan+1#~õ'L΁m8rF@o`DEH6r e' ̼ $zaa9c)06dCz9ʓcl^MeME뾓8L] ~p !;& %:jjJG qsf5Laa3X$vst1nPÀK!dxl.[9D@tl&z^eC }yOMX82_'Z .ꃝbJ}Dݽ^$1Ϭy`dvO!.WbVQ3ϰx?>6Vz_.b:OEi?w|Y"޸O%ʐPC9d$l+,(Æv?>!jKnq$fF9EUs7\-#PZ+we"/W5\sCbfdCcfT7ۜZMZ[nh0;>yٻ6 }bh6_!`_J1ۯa }o'Ӌ\lk;zqczKmh|tV<;,vpg{1h7p&ot?-4\ݗA;8-4uFvŃ3A8ORƟ? ^f|4VCMNӦMzz0錳_>XtJkFɝzm%Є3;%KԷm"Ӣ>qC~_ztF__5)}O#7+>"q*+I^< smpIeٟ5;̹D6j 5I:rm3QPy ٚhnŻ*̥ v# j&dnؓ`x @JN0g`OV6߸q.Yy[FI0l^+XȌdN[M] e#BABsAʀޱw!pCmfemk2{=4V:\ tl"E e;<dD9J|tuShgWyσٍ;rISz+dbDj3wP~o/Z5s?.QQLoǘ{n˾>-QW:}o>NX] ma+{&3Ow@!;@mg[m;%'5VN) :KܸkgǪ[O?#IwѴ8ٔhH/_A5A(%;5qV뼸J0X#ǻ:2%8iwL3Ī#{ yXxjn c HDi*'蓄nV&TK6<. R_~606 n`Gh*(l+\v!BWD-շʸ_7^kFէx)t6D@ C1T@.uϖEa(WVyEtBF~Nzi l% aD!QqtqaSbcjr4<{˩>|{_ko'LDĔg&3[u:;Nwc8 ~.6&!xio{,u CaxL" J;-9:ހ P-#R[x>IGC &fմ-K탰26)aOJ 7s*m>z|ܼ|ouJ㕮<^$nrZ Xz#v?#1xtyeϖ^nzlѨlѣMt?$A7 l4-AIOܡgU˫kd\FdD 5؋ue9^د\| v<?;Y)eHHtQx@8hP u\D @lk;F+@ *Kc$A0 m(h|ٲ<0"4QQ JB ]pLJ=1+0΀elrp:ޣ5DžMO4!s<̶#egg1رbq)6:8٪s-cwKαdrnU@a!-gIZOuU}JOgëmkLKMlQ!QbtN-c6W%+r\܏(75[Rnn2tZY_ }+il;%[5gX-d# A=ZuZ2vV==Y_x(:1#(HX. !AS(AkL5,莻 0= ;")v^J#݆'|=Ƿ!?>v ΨM,mzQת b `tD\ù9ݬ`:+ ӻ>2wQMNդ=&}\Y);,hQE/Krri ?ZG4q6ғlGOG)~WPr˶G|f枀{ۍ'MbwyJ|aeE-F3g?hίtѠky@$G"8zVV*(Nefp~,$#yJ!"!K?9ɱ{`;Dhޗ()K9rЏ~+GxxpR;Xw.~!gP!ukhdR Ut9y_NU0:>h.ΐu:t2 F-gNK韌eN񶞍O<ΊqG+Gz\V::e wZ aF[q#,q=1i\0VcM }&}" %'-@t;1V]øs\vy_5cڔycy6r4*3LcNk`F,䅯b1 i۳ۻjqWʃ@xd.x~ *(=6>s zל0AWڿfN"O"OL0]!h!aDW(Ã&|ycMc 1]x$.}qaDJ%+7$N )Bww=.S(߬r/xws/m= @CC܎AfuXҡpw@Ad+\DjB:r)mJYABݬۧ{a?w8Vή4{4/6@Yv:ʍdӦNn<6X>La-@]gE+2Z;@]xx=JKMwApm_RVIMgN^90 \arV̓ $ɿO 1)'_F$BI2-s0 (".pZѦ9nP/Gaܣڃ@*pv2 gk%E4ul#.J߂P1&1Tgӊv>/7.OEcw 7Q83WII8ä-P6{ = !:(U\ gb-c&:NإHe ߓD ע=Nݤ+Ұ\h߇.т\YaoL.uU'ߌ/ztB4E8:#0SR2pVnmF;~֝D?uv32?pItѢ[XW?p VQK]G;զJWՊTw^uVQvXXu[ef3khpK" "0ԕҭ0dCp#gorE C3㦀 /H}靓^4qgV 5I%zQ=l~'c49+:\ACGho7P}nSu}4qskuFqR$Y (@ %eQ'yyAq@nJ}8[/X6T?0jI}$an G|Aq_ӯ 2k0Kv!jr2Vt: m*xk[ދ:Q#txG.; *2Hh#9Q(:iik!J9涸 0P%֥QZJ'/pM0=' $I 샅>~Z ]=woN3EHY 5a gvB8#B%T 7,5/4X!eM]80DA.oބBPS^(4=]2T+•׭Ol%AD?}QY9vӒ i}|z  xjaV4?O><"D۽{UXcVvdk_ME* u,4Nhs}[|"3;u9 P"l+g$ߡ\`/cF} Xv2QǭkM- ߯|:TLbҀ9CXaAq Ecv~#ɇFf Zaj>`d ݲ2>Ck@?Rc <)~yJA RV`Q(mUqA|`:qdz9j: V bN;DDŚX`,TML,I9}\DlWffhyc" 2ښ:6 uhÆVR8`$(9C/rh4s-әЉ;/w؁R@Xin"Q?@M?ĄEًUB{tA_Vչ]6Vf)WyY!>])Ø僆dk/FxMԘ/aP,.?/Fg=~mSpGƿNx+_zejcueP)&˾6ppЀ0DY6D}~w~m;pp6#;Y~\{tLO@Cf݀fJ0oiAު8ƪv忇@Nw #0V:lpmO᭶2pnۥܮN_.`4)jR9-I<ɇqP=x,*BkH4tRcon7 ϧ;facPlӆ_{G;'u%p鐪fhPB4s`wlf+b^meh(Thc]5 e?; O.5A\ى<eHBlqEWЕ=YL`A`WO#SpN:7<0^$;!vu2Ë0jɫɆ@a p{@|d (u?SWX[E 'f1iv%3wWK 7Ùco xdsZ mR nG|.٤U\Í0!+.Q #@i qLkq*;)$q@@ GC˸}+ҾWA~2Q)w^B_<fGgiu\*ӕ>*rL1?Xo0H{588~n5km=ǤN>gnua6 ?J $g.Y,kdSIm &ߣτ/yv.s:̫G\8vfI6\".߷u7-}n$5Y:Sӗ0X|hʂrlβY*#@ܟnؖ@:if:6svhh7C۩n4T<یuS§i̇nڰvF5ح\ݳv 7hPA(g9_Uiѷ 5V_~ʜ5z3­A>֧D&;cJ:̾c2mDoxn.%{y4A,fO1&O4ׂp%MkYNA™8gRk5‰`2ZqzxeIN޽#hi2 vN+ː*Ow>Q!9Z:Q-5xc ~Ru2|Z|kd0[cE+!θz؁ZQACv#2d`dQI(R:cC ('ޟnVij~O5D<˿A>/tdgK?$R/ 6'&!3FZjF7#Wn_ֈ[&3&Dly[8evtJ>!1,i9+^} \hk8F2i;[sra-T O)8Ɯ])vn2.]Y!]~GzYB7FUM"D/ b,q1SPQ|9C>e/{MI,w5lRR3)Vw3D ;)۳1]*Ṉoӱ,8 ;ϥ<֜]qP_q vr[+mgr旔|YVs OeA8*V0 ;]y[|>Vgh7< 3~9&e%!|L41o}*0QBl$h M=+ Ua")u*, ^&T}u5췼}wjnMK'W}:iFj UMT΃Fi\a'q|/~"=?k%ʍ&J ?d +HF 4Pa V ?ƥ Ya!񃃁t5ӿ8F'&{tkaD=T)ӋP@p|&)ߔ:w|Ύ+fLf.TK-p^;HnR~YS9o8X,pXR=f\EIBKJAΠrڅ_0ҒcFu,ߤls(.#AS+|S\j#B\jNJxL؍[*jX/L}#OHi>pPwj-ֽeh0f%"dH !nMƨ7?Yb0P(wkvh;øʆ$]q";u-k׻}mp$ Vi{n# "L@̎ ʒW/J \`pD#вvӸe_` 0h48Y1vӳmĻApdm׮H}\i0I4kLxfmxxpJ1EEJNiX* 0ֵ#PjF#W0& tL҃Ew+hz?zME .=k]` Aڧ栲C9LYsd@赆Yz+e^ xa276C0qn)(@j/T k=I˃LV\8[HW$c{{]IShvg 6֔\UiX4"tFu^.lAP ePܤE@!vO;ve'GdيKB>ṳpoYRjIa5| 䔓/'_";֏;A~h~(rW6^a4Z;j)Ry~A@xM0vs͏e>SbESE?`j*XY-F&*Vd}JDe'mnft-Nv`I}*W?_!` Pl|K~] L'f Zel ~x2ei)B:吙R>Ϳ_R/;./ʈj;3>k<{s;y ^/v3 ,!^AZ[N;un\;4~ΐA˷Zcl#®0p)ga~CBJrB厢 P^?Bo WQm';/VQ潄ְ >lGѓ7`閗l`/tQ.Z֌%]Lz,yxR7gxn_},:>1(~1f:&Z;;hvojtTm7 p;Nz>wFG`w9ŌݎeązkOߛ~ϓ ñ_nɵ7~;K+"AT[FpL= 46#u8F^F`pFhh>m6L‡DsP- fQOre@oC'#'M `}J0\b*O|$e`c㓑|WޱҰ?oB<]cݔTdfqb $.C6@ 'B tYpTk)O_(,ſ<&nȲ+סZq! JO owPP j[h;9gצ0!~g"o@}u^V o2ʯ֣1 DfǓ,UаǃZ) ,*  6W'xͤa MuQ` tmlibXv=,D@K#R8 =D^EtX:y xR^8`pZټĎ 9h(%Ȑ&%G<:w< 0q8߈fq^!?ĆEZSu#jNQWsMף d\K7W7=xbeȚz|ݜ=n^p}q)da|+vea p ^ج/ sː# cێJ ڭ$ 1x4`dOp25;Zߗ:҇pCv9FKvcQ'ZY;j0tG"zGwii;L?ܯKq2t]0isL)}RU|,;dw[3ձ]m"lyM/=:(}]OpFui_P֗KHC@M%tCTXۂ*}`kF/XE0;K6 M$v oYrw3CpH DQhO,fE*fSokϳkan \Ԉۄ9&zR;zc߯w6?,H9E@U mR ۩2_ j_b V(ukWۄzӍb$J5~WB&N–$XLK9Q *A(B ,,%-ǯly~|ݛ?- Z]=%vV O3JvUKMUg}\ҹ魐}m!\56i횴Kk.-M #ABmHt#9-~[::oAo=9Eq9,Z"n ?Re]kz>[8.{{9vH@ps8AZUz}af ӥe֪h#c-β[N $<1 ت∴(T4ϯ2R&j}C!6YkQ؏輁=9/&)$b ן$:U]~xwM'_GAݧ9{ I :>Hc)sJIam?#ݼl~~YX5kMgQqʧL52_]X>DhON[0.i%!#ijl)g9M3*y0=sFܕG>Zt/Ǯ>^.A8|>۲菇};iv;L5vuy^[p扲]r`fMzw·Ul2=iPp. zZ\uIhZT QQp/]WPӬZ(c!mD*&1LZ1ѣQ=:$TwPD 6juG̀z|·DZڤ~s)e8:ٽQWW6+gU+Dž%ߏ*Ϧ( s pW_pOyesvh^#x&^x2k}1~6XT*3^;U:p/IYlNО>lA'ߦ;;0y-PY'FגB]Sxx-b֖PC c^t.㧛"Ya}MQ4lw`Dsv= Bi2!RP~V>P@A{]C%SZʤ4KL"$c<6M[x||'jL4Ra@DqIS(F#rUvVG'jVܵghlM7Gd{,{!R2%zGx;jkg8z#fZ$eR8Ⴌ>˔>C#hun~al^lwhZgORI*'H8EWEG$q Qc˭wtQV_n=.oT1sw!+}1ⓜf^P/?ۥUSکٗxRՉx)!)UaMQ(+BӏBe+hzQ YN*2<ƚ~LYZB+rZ >osDmDJ?("&Ȫ^pUNg][wo ;;1 -p{r}҇fZ {C.[tAW]'N7]\L0+ UAwA#m'}WhylgZm}qDS?}?wq"˷MQ>D̿#IfLOzZ!)ZCRf]N$A'2X]#za0eVf>?UFwjʑF0FˬuR.AZDyw|lnEcA\ {!!n )I5ߛ>Md8F~5Z9S,R͇?nT^dUxgSyAh?37@qd9p?,B$T5cw:SL9V#c*kxŀٛ˲qwi\wk`,BK* cKkYIuN.T!報qoKy>}Fv0SE/K3QaFr`Z|>͗),5?e7 ۭQ[pxiB5YthQL $"k ~7M 鶝b}VDq ȠvaP * e}z[+v$QtCäo}pG(vI_&kw;#6"<>tvD"N~ױOo囬n ib{TV&rhT.%u󜗐Y}%rd&ź;\9Gledm[[iBzATBL0@T囪"ak YHĶ8fTHm.b[dȃϜ<`+,GT˖P0u2M AęɯU0կS= ^'&Q^uba*G'\hIc`n"U44}dY8"\C8BbhZ0Q@j)dSr}iغ;Lcј epjʁκu*h+9ṫX/|;e+ q#^ַI’a _{;-vWAyA>>$dBdGFuŖT}k.P^Z&7IkH_DՊUL}j6jGGyt3W7aF[O#r} Q%F!@i\3)+$N#}h'w9-gF3u?(h}۳ {ݔU8^tl jM;~.+OAğa׋?B%Es1)8.uj8U ǾHL=VtIӝel=~_|4KeYs!sXP*WmG4g$ (K*gªGdNMWc[Iܸ*4R u7ixTS.~ڂcDCr/Z&\A e5`c" x +c R2pr(E簋90u_p3r}&sE iD74~n8ONHc!Wc 1#G*gBt 00%&Hvz^Z?ƥmhҶ5:}ȫ"<`N)ztƌ0_)۵(ǿetZ^ekCsy\0L$eN:ߖf?+om{znix&gZl3Јeӷd2MA]t *)s$'5`@P!A(HQ{2bSN:Lסuv [qDUYG\Pg[iAwdjFoE#AM#7tw@ZC'^ VЅMʚFF="e!<oџ7GMoRRN繢q~;C>gEPm Ts.dxt?O 8@ L>XGSiV! !H3rJ ᖦElwSbşD4ODnA1}fg2 =Oo;m2W%= pr~&"Bzn?0w$$>l0,k WDODaE}?j ܏'D؀NPs R.w9lP:a~ڍDx1(LLEau'K6j35GHg{ͰGP ~ᯞ =ߏVyu6?>!>S&i Dm,xBPp:0*Sa`ͯN6n`}Ϭ3CO07lթQ,/Tyia{;́éP_b u>vwr>W_U|ED-b< l\L/8;-zPVGhC w?ΆjFs:@g;HqcӞyؽ{P[]ȇپeЈH.;=u;|(̯w//qnwz!<ϴ -(-PDa'5{dTTr!X6S9^3a==xt/=qeh?gs!v鄑X,\.O^}Swj}ȕ tGJ>=\wYGuޣHc_O@?E>Y߸(1VZLG4zvo[-u2@I/qo)M, hT>ԏ+ȇS9Et0v}[!BkAA5_{ڴmq:Fv3 >?+a?Ξ2\ !Ȱr\g˝ ZX @ -ȴꊐ@oFn#Kn*҅s`#*d';B+zs vC _t+ ڎM,s8坑  6$?X 6hӗ0"}\?urAʵdw]Nئ}T$Ό()3R'tbnk5%H {[s=M'e tYD,Ϫޯ#G 2jI4BCb[1 MrfA(TE}xsrTd|̗`5ے`h08 .#0#FBNBY7XSwJVOFYtŒ؅˅.SxV G[c#)-`?1P̈́e'^H/Bb׬HA\Num>Rs,>SQdfrY J۲IT QZo>Qruep8aˡ`ְHfE={r^$_Mx D.ra>fF0,8."jкz"$vOp`{x!5G|1(3R͓Mq+z#^v%>-uȾ2Թ&5*p]*:6yѽj9&\)Xjq4ZCvR {5ti/ˣNq98?ǚScOp=Pou〉wM~m3HJw%%ocT-D!VӁ5^8wJE/5 <ޮL2(c]<ge,)r m&dUJD3`åUZOkEbB#:JpgW"2tu/-FN_ gzHF$pʑͮ2V JZB_| ^p vsU/ŵ߰3LH,><%jnλƔCFFnMN$XMDV\qPtTSҠ}\ T"䍪Cx󕻛 03:ɡ|` ӱp:0'kA|s7a(Sύq֌$ޒcO:"G R?YN`sɜ$3T+g1g/]p/#8 zg8gqdaZ!u55) '>`K.ߦ%VT&VNf2h-pj +%*LSє`9x'*ܶy)& <^C9F7I ?gh=Kg/?ec/="rGcM;S)6&ؙ'Czr1rCnW{S=kD_:]L6(8ѬXEkcV ǩX|5Ίf?a|/rUք\4l1DZ?pVp"BPzMݾtD cA .5Q1b3sQ/^'-ThLؾC*RFĺH G?$|+^ux]\^XDn^\|5SDqsƮUspB\ '5}sL@+Bf֏ZrmJߞ-mY1dsmub::t&8~>7Y|`F%q$:׷yߠF*4 q!`R,t翗_Ry8YW)3T/9{?œ\8یE4jgZ170u>|X(?{@Wq#߁DݽkvԈ^(irvYtrUA.kD/C tQeB|ǎ[c.o0['wSlE!RaAvkj^Ôr1!DpA~N|wB! 3!kA'Hq_detò<+_S☦7=3;Qi?rRV6\)( y)Ag<]Ǥx'λ D 'P zXQEb*-m ;v=݂qT~ŎJok⌣/C]?Gj=W\U][qFE8(VjQRU?uR=\W=ד6n2SrTˮs~ɳr}GB7:դ Z4*j` .KĈkwyr %ң4HJMQœVY4b*{,x0hvt:XBP0cۍWˎHt>LWNρ *FCX D$뮆AnN:Mfƺ y !94~#gbm~R +xjDZ]=B}Jvu@}ҫUɨdn3aIlmɔV n t6PV_ZZPS@C rekl&5vό BAh%dUKv PO֢Nz``&^w}#'}x?nkܱרx_Bֲ|urR fŖŵvZ/)Α̱ݶ5+S:'q{ X4%xa|#x;Aqpz30k%ʠ0pg(s:јƒth*43%u h_ v㧖sU!L`Bۢa=xV NWؠ ``- )h#dFG)(d-Ji~UiS"?^w]x\}|YtNslNh>u E|xTy<۴sS-q{;&nvTRyx^U;xsH 5v3;} ؆X~SU DI!qb-jײ9QZkd_=)M0-p#A *ыr4ݩJ*`,X!NvljݯJ1yH: ֪*6p.H1D-<>>?cZ"H^tv(ۓC(1I 43!R?Ȏھ>C^iSS)%$87>Γz&Ki&|~&W|9dN>#!6PGzz^=))GG\yCgkro#[j>Dž^Á^ `Cb^e•# 7NzqE$! :wֻctGNGZf>vf%gn$瑇!! 5Awa}󳝱r4JOq6QkN҃>C$!a@'cG%䍦4S%.)<@g[x/4q4V4|%4Ge}1PZGtR A}⟤f"yf2OPm*#+B^g%x[)j| /: ^h͗X7AV_uݘlP(yhk$f"Dyx`w[.QFq2A(S''7# Xsbx&)A|CEwdNCZ B{`)cْjF?uJvOP.#ш\[go3f֦G҄m8'O{6Je[ iT!K/9M<Ҵ)~' ]m%Bw2(_ӫMu505sm1j@Y~QF2*dfwa3$1|y_G,bIP5scA:Lq͆0\ wd:iz1Dc$b WƏ/B褣%hڵtsB= &ld߂{LmQ C~ 7(mެCIj6yKǮAE߳G䊟zaӀ1VʁtA5Cx< J C~N}{kZ@肃9X: É \dp/CڅՔS,h\3PIé7 ҭ*k"1ȇ(2;5j<Sȇx`GR}*zFs0W0ZK0 W""}]:?twD_ҜEbPy#Q;BT O20e<҆'މ0,:jNty[d@@p~{d/۷n^BwX`]+W~}K~FTo@} K$pQ.adchl"wYzX<*(b$WJ6+|t("D؉w"b-Ez@ȓF"P =VR/ })nR[/角gbt$C8랊 T*A̾Iev[#' L1^46{s9I=fC,ʰC@`Qh}|VGyTW}yf{~bC#ZR8db{eCs{pD<ͪMn`7OP6'{f> D V{{<.R|\ͤѬ.Q޽cLfECJL@tb3SUC>B no~@$ME4[*9Sl\{W9ƳWgT祑 Lm:m]jq)~_c-K!8̔z+ҭ=~4g':L]d:,W8iy$܂m jZcVug#B¦?a{}# =NF&n_#%& r:1:G܂Ń#8ʡ)TY;m͇rf*/CCL!v9P @@, #uҕ X/{loXcj6W?lCz-3_f?Ԉ;UJmEab)] ޠ@E 0XnAB;94IܩBn!q#|a@2.n rS¨|OڞIk:Gzzhzt)W29} 8úd~Ch-#UCو䕽!?D,hX ۯRN&XaCD(v֏m/w"TZEARq`%#fݑؔ1x9ŜvNkY jO|!D.:4%.޷7( [-lEzhZxSWߵ:Ħ'!@/CBpНP.ys㧩{cͦٽ;E0F%aD߿V.PKw+=b! b,]A}Yn0+-jZo5oEkxh M(D0na wY7"iO]+N3s0jwlIѧHw'.Zd'HJp博[\6\ xD33BҐ6o.?, D/[JFM٫'@Y P&!^bl+vl Aa-Mc'WwB:(Rrq*e|մ_{ -ꝓ]Dۛ_,)wF}|"c& ,M1:c 5w,v>"C7ʐ9+y3%I+I3OuxN;{Q=3..xhOt7wBNeFrB<$#[,Qxu5 bmow`,gosS"XԙW(ȼAx_]nij{9vkS扜GQBm =§vMט',SCnS&An8E[s {|tqSvV19N"x9smR> q4pΖ'g;9+RTq2xZVb(̅1" s- z +qxRNELeg8IOGԹJ8Mӆ0eg-5k;vWiJAR'ϴoHRq#-Xn!fn8]1vXRS`r]GXEFUu1)U{ǢyOtfx˪\gQQ)6bd1ǃw|}uUJ >H9J_Ag!s>"iW"rl}hy(mߨ܍9әcZp5m;,q"WO qXh;XKll,bDZ NuN1 BxJ"}ovN."ZkW$wo1G~?gŝ܈cs|m%·hsO8S+3|QLbFD̜\3IÛ>Χ2.b%r#K$#cteӇzms l%ĥATf58~/1'Lr9\m6z<.ٶZj\tB#}}WdF CLuNb<v 5QqY'N')jۈ' gg;.Q^hɷ:Gb88m 6W e[WyݶExcMl}kzN!h;v:^2߂V@]. o:=-A+$eRoIm.[֯W,QT}v"ByPzR})uG-^OCF6Z&(jX|5jYYXEiXE-Qink þU$b[ ($vT9}): Ypߐ:z((-Q0>Ib/:bJ;m0D:\3( :ߤPĎe{=]a '뛉mbNNaҪ/N@L`/]/O,6кcv8wEE⤒SP5:M]pʖw^ȊW9{󼘑oEtZZ[W+9c;?ZEM6oywBOj8Xv7;bqCqٓ}vg?>xZӊ"9*J. UPV+F"~'?=̶͇w]N 2Ɨ~ 8*pS 2v)0J^5 Pȡs cvx|G_j:qT;#.KE9f%?]4s Bn<\(035*$H~~ovkT?u?iPI) 2^Xެu*hx3F߰WcM$|m@oNO]0y$]7qP:q+ΥtacN0d9(d*wqRgP}jPjČCt}2Dv2A`1G[r幐}Xq)ʜx? L|xo,%%0w:8;/%pUGB((d϶E-Do7osW-hĹsqO\+,yt]g8 i cG剂+T4~e>eM/-C =O "4ڪS(o~|uJqi7y9[i5t̻ >l#z.. oCEw3?}2 nGge :!;9r{KHhIF]NT]7es g̗ t`mzj}h%c9qysxB$~cM*VÈ<(O̞Q$OAO&YUxMOz.% } E#XmcFCV`f W +n!OL (ʙ05o(Q|p'Ul\}t#5/p4E9$RbO Ss U0ՙ)Ӷmލg$.2G t# R!pG>(D!!2baP3wWX6,,%g\@$o98›H<}#3rvj+ZuFuY{PRælӂx8,qnz>+KX5^karIȡp{0L^r(uD(ۮ`AY%\j*e H`1!.q7@3W^3і ¼`]vz&׾Vk+wMO-F}X ¡F?ʘ?rV\D%!Dw>7?$Zn8JϫQ-kyEU8\"0DA%[Q5^_O4y~BXǃ߆Ȧ粳"r/{Fߪ9 _r`5Z# %?)vگܣcCkn…~I"T_@>[ 94/q1 $<*!A0k%#DHPCNAA3@(% @U/?O'e5TF Rn5 &v]pă?I t3e?iCm[Q?d'?鷞- ś?^GXvG_%64ߒ>սZ 6\)* S :v/OYklM m+̽Wn3)DUZ4ւlF$_8e|%R U_akݹGkKgŇ}.i| ث#ï>{Ot%%&j"xL{gz%˺u .[XF -4+  sgrrRvJj!7눺ܬ)N뱈;Jf!J<@|_w0fM;;u?W\Ҫ|ơ [ t;! }볩?u+oV/]}m S'.#kH\:ff $8#EV,Ϗviύ!܉cP):!̹?dHuCT" H{@w)TO S'8'JZ=<>MQb=(_ۣz=BL&F[7p1̗uYՓ`XN.f8 \tH=O &toSL+uIE7xPADG~XWQfɺKU!B OgesDϱBDc~2s3fU2%z# "vALhGEQCHJYy&(~:!д`2u TғR 0. w(`XMYGC?0.ԪM+WU=_X :ۜDμLG`>X0)uMou~j /?ɿ~6g>uٯ-·sgcGHk` S鳽sۜ&6G^?ѯX0?,VC?eRsCoհm:_Y%3e}ӽ4nڐ+"06T 0Y0T0`P~;bHK,>x f6Р~\99GXC GcB>=`|.Z#{y~^}2cծx<}wqsg!^ly_p$xk+p72 a1_+_*;Ժlpp tx} c{^;0;C߽[][ز v\yvKhb^yV[_Ik3<h *X+1V$+xp|H%.קVmG1[GW赏F0ᕺߘ}-A! G&J'pw$@l'EԓN"B :a\艉^%463d&$Db 3:+ Sj`n<٠YAϢ:x1dPŽ[~.3y_]!+h@?U_}m96i~]Kb7\.UqПCY%wf~F bku!9% ӓz*@EʢOϑ7W:U%գNeS* & ) ^A~9wfXLV}~AGy ܞm W`_t2TM0 .0Xv P+@Y=aQ avh0X a F6>܁eV/Tu'ʞ˽U eq}n(,hx}y .Mԓs\Yb( )wWT]>MfvA0|=Wd|%p|:==R9<;8g wWO(~+m^:pRsҰz+P[=m7(MerY|pKhtN;W{vOE_i+Ჹzת[Z[ZQ]n Լ]>X^ã QmrXw;uߴW[3 Y| A|/Oi_d'<)dV;wWJF DDKoقA<:ra{En,_ԁy%#{١uXGh@,b$aT!GV=Z~?۝zU>E7B]E|=}VO+軫X`ֱ2 DkrC_m@.J]Хi/Zc,6&yk'79(QFhnүqk׹tFP!pkL=Z֡ihF.g,lbojL Ks !r:Dj89^#~S0wkr)qss|汙zi|+qouƹ%th?) K7rI^uxojK?S?J6AU${C6S(g^۳ KG=AnMYW.MgF;2.WVY%'*mQ==~.925 K[ou({5CQ*`vۋ($-]Ɗ[.-PT̢+ȇ#]!b|PrQ0ACU1Íps;׍ ۔1ӹ vLfE)A/GDZ_ޫwi(69 k.F-h9-qXI*@t5`Uq5r`T3ط9e=bNu'JEۅ(R<rݘqnP-ɡ~zfPcF*|#tJr+ٵrYn)i@,* DC9e-@Ƈ,(^K\**1@\:`4.y-Wg2Y5e h 8k1"4?O_U~@}_oh/kbXtzAj[E 9qA~x=~>+&81詳ԩGWpkZM=_^G:У#?ׯ᳷YǽGٱe Gn~YC[`3=3Ha ͻ_eUŘ"PըzY6&K*GR`0O|Ù97JD (V AVbF% dsh/P" |l{E ˕Gٯ˪^')^-W!<(P(/㯻 |HE8o&4sHoۻXǫjGtujr"& R2V{-Ǜ:qQ9~Oz~`шN Ĺ*5q`0ИXβ.)0` { /a[/87~l-Py( l- thouTGSn š6Mj fGnt|SZrj90ۘtLU pIic;^7<篏9PhBwGT$2iQЛN~)dAk &k)ÏFw'@AbBmWd?Lm>l'=v@ZeFAKMA @{zPI9iwP?eW"9(9+ r_,*aJ9@KpNd*EIF,qZ=AUX| 7 I| p~9ko:n &,SzB m=ӨX{(yq2$yΜF>{ c4Uxyݛ#Iȣ/Kop[ W1l4s5n*^~ͫX?t Z0gn{H$PwtqT~ C(V5 'aFLb#֭>v09V.X+2~ӡ!*Vum.BaB~dY8-V'aZ,Z4)6lyR5Zc"?8Erضj#]_'1UN͕䞣^NNSQERW{w?Ch\E9DUvd #5J)0^]7a>c}ڞ]:=wH 6Jۛ&!0{-HQC|GP&$i"HR2.bYWU=-!$uf@,}_Mvym`a2Ϣruja-vL4lHiQUPQ*Rɀ4/d11{=@A`p5Mx5i}il}1Pej@<:5sCqfmOF4lzAI:NMG³,af>'Ic`eg^r2(IOSWu¯bE]szp5v]i¯ e97u0*e2JXM"O3'k1-ܮt7EWtrq[( .kkAGR-$$ňJo}]l1uL-,'8ѸER& 7=7&SCo"V5[CmT7o H3]j!gυ|?tbS8n96uִ}piKKTT5G*f+_s(,`] ]UV=|k-p®ó꽶>s\((4A̓<15Ԟ(z ?ѿXgYez!뛦\p &`2ssoF~k2y|Ul=2.@[f(vī;1X<8%vG! }A'":|97>;fhCC;B[>L48:W轼*1PaOG$™[}*U qaQ= U@ƌW6na 4 PQn5}89yVEOkX:i%`ۜDG7}@pD͊N"37_*HqU~Yxi@L@8\Zѕ X 3"yblvÚ&" /\umS$尹g^ i?)uuN7: 2 #{) mhm^r`}>HYBUrIC%W"1 B  K / Y;!8:M?D۶Z9B$G?ځA2   @TO1rGa*)$$ ajuK n`E ! \W ɻPkf1CVq\od4wB27AzLuKǯyɓƑBhCqT-6d ,Hː E(D)Fk\rA)2c88Vs^zh`܁ `('˖W&V=꽜l} _~5]OsrsqA@{BwDE0O9OlQP#7rA27Y]Ig<d&,x80$HMk j(pkإJlуxprc.Ax` >$ ":w=y DE2]j_w U,)w\Շ&;bg-۞ rX|Ichid(p/)~#mװ8X\& 6CqCԉȔ>xD|z~& |rԘy0z;Jj:[Uŧ=sWtSβ,M bݦ[N7 fƅhuKLeaz hC:Eb Xnz@mKXd% }LX/^O^+~Nxwǫg\cP|=&-^|(W>^ު9j{(di%]OF0Wl щ`.jW;a?tf0YqsN U{ucY;k-*zB^utLV;_ogzW ~/o_<`=OvDŽ >k츼]\5\\v48 > #/鶟]:-Z藉>KDAh uCP*"xĥx!O3+pnڇB.ى[#dKLH);F:CFJP+,mmF S KR _H´PԲKbhZ`SD QK k^ɶڶLﳆ%{cuڧu[9R c['Br7W(:1o&vK.9H:׈iX榅9%:{>j*RN330%"v#i4چ`/F,C.VR:C-ƶst04zU\xfdOqĪFB5M]X;eewU){"[U7\!m 2dL`H$0! 8az@K-~&\4D#,5J;23&(a` 81켘:j!y!1w5U7(x޷X_wpqlx-z{'su9O]03>t[ (O+]]S{v3ľJ_#v)PQ,;HmVa/f"O}"TwJfpg_]w Q6 lߴcHIq6S} j`Д**Ӡͨ&/lrYqLE8/9lJ8ӷ*5ߓ"uCWfH9d9`l#|4b8.TwJVz(0}F1PC{WBӷs6p6i=ʖ[dFE$"jzH_ې1?,wDd>4QuPoDRu~Lj~qP)=[DJ/>90*!رbŶj˓p)>cԑ@KE>Zbq@#[%0.HtKn@fDl cm#NBzǛh<-}Yu } H?}tGvq\dzR700B#s:@k<׌56ꭩيGatz~fyW^2} LzZ #=Mzw媛03L0M*oxrL%5M<ۨxD 05ǪuPա㫻݆ @G 4Jwi]&36 iD0"yi_N|2oz$D]|za:^^FIe ,݉f&VԴ2@s" d#7[R^T7 ≭Bpy<>?<5:lMNͩq'O gl;Qwkf-n=7.e&dzzwgy|XEn{#8DJ𻾕u7h0YJz G4cYP@P11nd/d_hÛ(t39samѿqdGjV~@_vͦA4tx - ?-:T4!d_1 :aw69n2h=M[/v n y_aUfHl6̶}_"EJB%i"?aTAB>55HQDQPGBUѬqBUy r/%X 8b(JL03UD,B3н0!e۾)($>=_)Z]R,L_% }y]lxs5{Sԋ Q@)&U]ۼp%(a2k7PzHPYxiPA")^h|艴Ă DuKg5a7hiKQ`l bEl3?](=[pN|\(D~f?g>HQiv9ҋPPӅl昮Sko>'58Da^o=~1| rl}]l{V1 ߧt*Gv8GWu:*}&ڡ{J@~T%19Dp)m * FZE!O@n 0h= !Q_(RAqoㅳӦ}*L9W(' KvN.r^/z|CSQ_Ab2cCۓՋf3.Z, vv/ FF4j{}O?W4NCIz\c-w_f['{,8KAu#iB>'slӜ9ӡwW6h沺s3}10S󑯧;en;=,O?o?o7_t@d4Ģ"}DP@") (<%P}U=jOKOGPLivkrF‰$ jۮ#o) 7+QE2O'jm1ЫnI ""B،?Bu}D(κ+5[2YӍ뱇DPݥ^*٪\%Rk#mv\H^U Bg)m p2BP$3v{ ߳3SH>FIi낡χ:<c*OdP}1&f30uǜޠ(p6y&Q"V[) aH(5?17gmLB֛LqeU.B]8{fQ9vo8|sj.S%N#+yoX!$Ȏ~^PH$BWk0NӾ (ΪUO>'E D,h$~^ tz;!Q#=x!_9JNI Q=0{ qYWǸ`kc(`^R?Lϻ08[\9(]UKW\)$CLd HȈ+tۊjP|4# Œ.RstBȿSIGY ;!{Yb1:DžPGYGoqd;`6k!s}}g`/#<+];P T?6lيɬOAvzAE.u꿚*أ9/-sF_}7E EH ܡ=;kV: (7o D9|SIC qkK<1p%* Emkn[QgxvNg zZ 7d!:H@]_" kq`ً'J+M\CC2c9E?/9k}s(e  >]wI$0CYg,x`t4Q_4Q5*+jb ffNzaHC0ܿBˏD}ѣ(_+ݭ.$YET~>B8ćTb_nH" dc P%j #w #^0؟ǧhRCFt}ۙ.Y "&6o0AHoim+Ӯ'DbޚXan$ q)Fǎ}DV16QCՐ=߈Ap@#*ƺrl|')a2Ǒ嘪?F Kpv&u'1jU.1Y%QCdS=#G8OǷz K4V >H1;:tZҜ5;10OR(|)(F-8CdA_a"H* -Q̗ ?}[kPqB"D DfUB,#t)rȐ^B[c:"9Ƀa"40c aP23u"4E(%n_,z:y׷P)լhcYWQV^&TBlkY@,08pɭ & Hg9 " 2E?O~qbjlE9l˺Vp- o npAඐ$MC23[o)tI̢SI+_ϟ}=EN.M7ì ġw#EA0H"?8 P w_k7RwÖY`-a xJW,觷y׶8ѳVL$J"+rܦ="hy_ Cb=/+'AK'~_W+?eӟQ${w_1W30wX fw`^MJ9kcxf$%)ήP ݎa+RoY& fɌ"߭ 4LJb`W*Ez-XZ-a_,!QxYaz6=᳑_~m>uX>$e8=γ.xF\$L߇u\ ΐA\W`Bf10ZY|]brrW0 AW X*^B 1޽l&p#`٧v~COUGVGY5[l k}Gm =Q|Oh)|Iskjb(&u_k(~o8\2SԱA`Auﵡ.bq2⻜DC~h*? PBVXII?-F @Awn8{1EmmD+nwJHT#O<}qAȼu>ud47-jyvyWd/[EiW.z+6zx91)~l *_zIFˍBm#`ֽ$vL1+R (%jdQ'w t?S#B}ǰ",.(~{~j8(؃іO\(q&~ ޭœ@@>Y`X{t*  (]AqTs\:.}[!8$ mۭ`r#BRV HQ_NW0Om>r6uְ+#q'͐eˊYaEv?Лr'rG),)s|a"j^@&Y(RӭlGvP@B9@l @1``Bm7ے~kgK9]'3#%+iۀ1߫ipSl ܣs9`蟴0@9B"lGEosq7RT~=Tx{M eH!(bV"2v0U[1|5)FUfF{6(k0C;9ʞpk팦1=~BtW-iа۪{e@.\hϧ1k-EkZkcaj@ bɃyp1l-%*hb ?F7ZwE߄ߖ6obp%!