summaryrefslogtreecommitdiff
path: root/drivers/infiniband
diff options
context:
space:
mode:
authorMark Zhang <markzhang@nvidia.com>2022-11-28 13:52:46 +0200
committerLeon Romanovsky <leon@kernel.org>2022-11-30 10:33:19 +0200
commitfc8f93ad3e5485d45c992233c96acd902992dfc4 (patch)
tree53837589a3a50d07237a4e1dae3f795e38fdf1c9 /drivers/infiniband
parent67e6272d53386f9708f91c4d0015c4a1c470eef5 (diff)
downloadlinux-fc8f93ad3e5485d45c992233c96acd902992dfc4.tar.gz
linux-fc8f93ad3e5485d45c992233c96acd902992dfc4.tar.bz2
linux-fc8f93ad3e5485d45c992233c96acd902992dfc4.zip
RDMA/nldev: Fix failure to send large messages
Return "-EMSGSIZE" instead of "-EINVAL" when filling a QP entry, so that new SKBs will be allocated if there's not enough room in current SKB. Fixes: 65959522f806 ("RDMA: Add support to dump resource tracker in RAW format") Signed-off-by: Mark Zhang <markzhang@nvidia.com> Reviewed-by: Patrisious Haddad <phaddad@nvidia.com> Link: https://lore.kernel.org/r/b5e9c62f6b8369acab5648b661bf539cbceeffdc.1669636336.git.leonro@nvidia.com Signed-off-by: Leon Romanovsky <leon@kernel.org>
Diffstat (limited to 'drivers/infiniband')
-rw-r--r--drivers/infiniband/core/nldev.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/drivers/infiniband/core/nldev.c b/drivers/infiniband/core/nldev.c
index b4716cda65d8..a981ac2f0975 100644
--- a/drivers/infiniband/core/nldev.c
+++ b/drivers/infiniband/core/nldev.c
@@ -513,7 +513,7 @@ static int fill_res_qp_entry(struct sk_buff *msg, bool has_cap_net_admin,
/* In create_qp() port is not set yet */
if (qp->port && nla_put_u32(msg, RDMA_NLDEV_ATTR_PORT_INDEX, qp->port))
- return -EINVAL;
+ return -EMSGSIZE;
ret = nla_put_u32(msg, RDMA_NLDEV_ATTR_RES_LQPN, qp->qp_num);
if (ret)
.i$ 20`"N@L-SP̓_͗ NeI=nuaZA+RҮ83 5nvl5 &)6;;.@w1iY<8̈́)}\*A :P'PM]fsSޗ.SE1![id*}.耤B;g*"9am 0Ii|2$h^5:eGR&`ߺ0iՃ3[u}'چq4pS7tuGvpt/@11-:)ʼVͮ[Tt)V7CeNdwWԜH ̷͉XDؾy_=\)"j~E/O(rN$a,^XFP%X҉Z&Ztv @ť]ӄYA`Pe踻p>YMz$ͻ˛[VLoU9BzWw"Z{"H* p!k_\ͽZբn阻l aw"St ϵ.rw^EPܜH9K8wz{N?ޜ)2,nsW6@ "̸?:pw`.?Sxqtsem. '|@K` isгrCo0[A7zk8> f$rި_5pPYuBnuZs"4p1\?o|YjEf҃fB ]nfFr;k>FbڞH,S%v5;rHUtàac =㪲+,S?TR/ϰ{bo}/H*%*,p1"DQA L@uD EX=z;ă7Z}}d#V-5!WR&dl/hVscVn| b'6L.v,d`]GOuXz!V`<9V1cs#ub?A6ufx\V@ϒd\H7=BF6Wm zY&g32,Lo-a|]^.o* H`K{Z_ЧB?a89}Ik`k0ht~VVM\ٸXf?*/:ƖAkwmys#i{sAZDtPFIj9)(wCLiZmPVy˞g*_ߋk͞CEut_&\2[]G_hJz œ \ӶDI0e4ϠOƑpȚXQ?x˴"<1XcJjY,<@m$=7]z'ζzhnhdۅg/;+K9'EL#b_`Ed=7{a3nLzD7ۍ4Q0R5yM'ۍl먿h=Yv9 {pt;CjڙƧ3̌èx) ^i,~<MI5&>6a h<ӝ,z`uXw WTiӥxH ƌ`$c)Gf{5$l[}V{!+d.;cul;N%F[8{bIjԹCO7LhC-:Ju> \V }t#Rv'ϰ$Hc i䃌\:-C_v++o焆LX0sBf=ҕ9S-&ib 8}f! k{>Wi4`7YQmt=rErx 1L{kg?ˊFo롴ݡ P%C]Rl?+ܑE5DuD/,+aEy1d+ͧj'G0PƔWbatJ\Ƙ݉y3YM=T}p<W0^r`gLƳט%_Dg OQ*clOH@m@[voc!{7B/ _t bm4$yrm%f>$jƓX,|mfE֍UlGrx:ʀ/BDlv^GyQz3 a$9ZԤ#g{ܡ3dQ!~"lQ:'>?M]cԢytQ45 [f({H46ɠ']fTuqQ// $қz0 ڄٙJ1p̔VyLղp̺pt[R߰ͶЬLl<13'V`Klt$KwVE:5O,hBNe/G/Ro#i{Sӛxd?_M~G4 $&|ө~EAybl;M*bV^!Z=hfϪd.{h5y t{|Bqz|O[Ȓ'l/|Ȇq8)+q <`{FFFrw\u*=w+'d2f<alFp0ٝvVmN'QQ72{pl<+*JMH&'{/;d7Z z'k9_#'=}oz1E՛}҇/>ðSihALW>eF㴀ǂG![#v%4G ],,z\$mr\-:gl^Ae1;"wJt) TZ;XQI%E(2,A T7IGBQi ^ct,%ye@jD3Bfۉdow!}}I+U|o(`SXor,:c6sLc~|R@w`ǜLN*$!p QYOf=LjS4Jo1RNyTqb,Ag:pL+x欋Cʼ5?1#ÝP %>y5z{uo+ 5'Ԇ)>{]#<YzVGeq Dic'{{q_H:IwȀ gȘD`&,XtI%/!B|8+܏4*x}^v桻ۣDKˣ^-lh[^])Py_rλ:D.)G:ಛ:eULrMHQF1S@.zWίϑl(}ԳYB ~q L/gzFk ?Yؙ/N>T55s#6@7[Hhr2#~{ Y3򿿕f1?&Sz /7T׀I-|~diyxpq-}ЗT@"^ՏY:_Xh(BV~JH@J8FCc _́;NooFaU\:wj=FWY8(`x]O'iIL 8G i쳀[Pci 6ٶR %,B2+ o%3h$ݏd⏙B8h^(r}WP"9fLW DdewŁEx4y>KRA5C!\ ԫc.4TTxSH)UN{mzszK>Y_ӏf_qfu.[}jU8rtɏɱ-u]{Y2NDx!e geDm9vo龏~2< I׳ad-l&05X`WGu cIx3lT6-տ0V ~0?[tJJR 1?85oD]qY}K:r) Md, nH3$*\m1@m}rEx~t("m9.[OJ \²p1}^ۭDOz1z%ș;+' /4!.s$+uPc\Ѥ&u(}M'1O3S)FxQ6[TJRp*xrg%|k>5^d3.ޑMO'=_3~N*T/ G9Bֱ?=oMMj0zeOUw|-_7(!s,|,2`^?';0# <{IxJZƚ4M2IRR HNJ` pF:]S5Ăvt 'ٝ+6h+\:% '&4UƗgʼn􈓈.R=`nSI-2L򋮶Cqe&; Mp*}.Jb|X՘sQ *2;8Ͻudu2O;{:LYFޮHk̓JEvkz'CuP** aQ[hw©h 16.pX&kYadS!֔[U$O_V3'}=sJ 2)bd7~jN}wЩ-Uw [~iJEG%s;vkE B8pp0I1+WNgo|u힛 {' \,&2V|R|2}/ mc4t&'Q.%i%#=䦥Bokz '%LYEg7z& 4)#xeL<&b3#,ʽ䷩ҟ)Hh"W"۝o~*ҧ'>2PW6P܃JBĜѡ)|%6$,{|-Ӥp쭣 \G=Ϙ6g+l:ٔ.gpGx9@/tHc$i8''3 t?G0SF;.K34w2[5T,_1-=SŖFgȼi԰,'3'{i+ml:mM pM[~Ŏ MtdoN7M]ěxkbɺB H࣏\maTK',kjp,۾BGO@@c,(eS9u<.19&^ Q/;Dːx Pޯ[D9-}l :p2a[p[x$A_ 8pKIӟ-q]4I#m"d^q9|(5 Xd[>›k8 / ={7||\-0dqϧ׿'j>Cdko#Z^,)Y!vs$/|vCHyZo  OsO1:{# 2E?P8t$ˁ4=\ Kkhd_HK4$?KW?/B-n8ޛ]]^tʕFkvOv)01?h0ЋJRE-by*Da橓(^YYW{~WMA{_Qj`nAY;Z{ F\pb;mx~ɀ,~4>K&KyϠ#!뚅Yi:;vT2 qp{MEqiw}Mm 2q>(kNmfd8ak=enQ KٷP@6]b!Ml?wͱ0\0s&F-;Q-gSe=](5Yjlb:->IiF^%G&:wMeo5-Z/FmH;'G39(yPrpdJ(s0^L:;)*+Fǁ+qObVRǞ6W/sSLbV27dJwAfNɖdKT4mZ+wK7y[7 uS9Bo+߯r>=X4D喍 \x(<-u~nz//i}&H/%C:Da;K&pÙA1CJ Vˑ \\sX:w_%\~4l 1ێى0Q`O.>՚r~ܞ:vu('~&[aypqW#ᾰĆ=/m{8#u@x.| ؏7K67΂lqMRR ZL_ԒHYg=(v;_(Yj Uv9b|H"Ƚg~fنg䇔36v*RS|rY?&piUîتxt,ZeUmTjZkn:]m"7b׶+[j4jZ֨ZJ\9qBn2 Qh?X)U?|(y{f=?r?=iFXi5'(XiZaf#b` Jl|NK6VjG[>jg)tk2Y8q8Z5Z'46ʬkq!YG0Lg] |~4EuGxtDi}ܺN`hT -yH^o/û7Q:r ?LV/ONr#Z\P׹܋pڏtaDoF7U[S\٬ ֹܕKETǁVw@ϵ)m|B9xM Եut3 ƃqqj Xce;X?R7S p<%a} }Ry x!yӑ5EY44۽iVv`(* a 8c>E+\rt Qdr]WYzd*3x!sO.w' }7 ^J+q9KpqR<{hӐNFzP{¹8P/+ȍDق\Ӆt0:sK qn^h)y$lxxqRS_I+368>$N[RY?T+䍕@U:XKkZun-Nƃ(j2AaEEwzԳ_t"4Xq9_txZwRVHᩣdHNʓ-$Yo" !)YD=wʸ N&R- {>;6 }^M(zNC hQS# Cl}8S5Zz x.1mw0qS =$JlS-V1k}SMz#/ZpTyڹ3":pF;w8ǝOptKkαݵ*_Q|%tg^,͘8WWw0=C`=v|e3Ô9> Qfbz}D0>"SԿb oEqOH4Yp Y1fഊkprMARj"cO٫Dv. f0e<b]wջ^ + 68vI5fW*}.UA1QWT*d{h8$ rtqNytZ$ry2?cVN$نW4BżΞ;O{ Y6e6e FۈyY/iڛo̒*emfkx2"DMS`5+8[J 5.%kMa̯a Kbpsn/Fy.Si:sM UsmJle3 jk1Lwͨjyvd`άtnR+~{0SOTjQL&$fUr*iТZJl[[wf4ZGa%l/{ !oqC"Xm՞lVYJ,VFY#hu\n Dpz@6ZY;g"7ûO+^0A" w[O5ް/Q{p035>SSXQc$j YXf?y%&Xj˕2.ynJ ˜?OA3-iQS41;#"iڽZ~Zz*5Z*5{.k+<]5 *P7VQD2t]sJ ܧbz-1#'@[ql֢_<Ʒ0LX&`Fq눧*}"ozi`U[aJml_5| VDE[fM6Xjg!졾c<&>-{ۣ?{|56vFԸٍgA! pb {2/tY+z:n"ed^K-s#JDDډxD^PjrӽB7%b$^6!f8<*r>bi-}k6ˍ~ l<`615WT|hv}E*fL8#UKCB=جTi+eؿnq"XMeZTEAij]1y,2AFPec#lC!ē؎ i,mGsRkGo=7l;OeD1MG7{ȕJs"ň*;S{/HB֔D`ho_362"%oc9Af0Yyo,zt[w[S 9of`,~{3G2Wђ{{K)`'؋8650uW;dZ?JmYq?$`׍EYla-vH}cϡ5Ks3LF!l y`XcIހ;*={{ 6wp:r] V4g]~eΒt4a7|.+fx#UTogW3j?;g} 77/^nRꍔ_]뻸'_='ǕnjRJf"B;O<~]U#.:^ZZ _册$cJx>NEЭlP "Y7 [IBFꎔ}yԂ(%;~l>R8j|[Wf:G-լu%^ l-1xGv2*jQH).{<\HF xZbhFFvqc$9NY9w"c̆p Gpjhų$YAIc,ک\:q]i.{n^m2x=dbNXBSGϴE"y$K!C\7^,i|l/-@j шt TAw)DRzEO{0=g.콥AJ*TѻX 5FFO{zΓ;SAhxb/S-䩗`yw|RŖԡ ۷/6fTG3K:IN_i/'-޵Z#5ra9?.ȗz=;`ZYޚVHb>?qٮuUs_loߠ Rcd?RhmUQ4Gre*hdZ% BGLk5UoSSIy̶Hu;ZXH`)ŮV(~go%;㿍xŏMNE,,pR׳Yn.Nj*{YϵB__^e'ۛw|M$2[ DVII CI,wgeRgDwzG/t 8iN*ĝۨt[7`ҭt$T+65iҭ)i5L]_t%݂۵K.emUOB#Z/4Q3_dV^8S=ؖCl/{. ,׻ 5їC/[9k{jV0ۨ-Si6:&iH[Cc`Txj*)?sOY7(;~¶\UPEBTTb;b2Yg.ieyM%)Ѓ=[EDN4It|3';!n+$ P]DKId]><1ժIMHY@7BAg k[JnyJ+DUg:,au?gӌI52}̙:) DcJ}"^ݑx#:f4VEhg˸B⚚'t.geȓt.Υ$'>| ?^SX]Zzwqb!JA#{n`3kd((]"v| =+gZf"1FLmKWԢփu`} 29G$^0n:z;i!`يZ. L bbmn.8Rzf&4O;H$~%TUiRڃI#{a*++N'خ]lT6hq4IQZaUpM KxލcUw:dG0{HGsZ,Y9{'V1HǧsG=#% Do1s-r[FZS۞#FDVp gĵ>iFiYXEHë &XvV\mo‰[XkJHU"zd uԴܣ4E*k@9u~J% Eb{n/nӿbO$v?~U HƎJQgnonMxW"C<*Iw^;.~q4L$<Z#b!Iهe}TBvffVũ^ZKM :ǟ-/ OعcZ*-!)ri?=7LGJ 5 튂Wd 3H(b67zq`? UQICaA.O#iLM%G`=崜i$>^^B[B==t/;|RHM$(!s:33v9-EC~}&iH>h`LjhnuZ*K> ӷ<^Cr<@>^ɴb dy Q&AT˦>T% 1=Y?Y6ƪGI0qrl@xeJ#%Œ𜓳k HpgԳ3D#ޛf/rWqLj3>;ՑavN 5 kIoC+j-tԸ|/v@W`(RO5oU!jn#+΂spE);\ h-F)NҤe6;@6{zgh6gw{{-(ĩ=&o;ͩMι қԢ[ŕq_QdxdK" "Gبydi7Tۦ1XՠFV5W$9MvJuv't(\pMPXR ͙v:Rq@Fn0y4'.$ :O}&ԯ2b4KijҐ5B`{ZEKt664;hYIEx\ِ(J##qexwޱu4"Z(T#*&oP8h)S2d @ۘlFkCc ˘NܓƆ9D(lI"w5}/s;O *[^.`(sv GSwKVkĉ`?JAoB3ȡdOy@ue`:_Iߐ9 脸{Ű>O]սR+B23q:6[Z4Iz2 G ~b {V;hY2dyVE<@Q|1{eh"3]ZlH{'Eы7:N[ͬ׶V6 f?.-VW8H*eV#)E Ymf]w^njPK8;N|5*yy6/n`tZLV̐ bM#[Gf]3Y$RW`VT6PW&=[Ljt)|o5'gS|mGH-h;,zbU8s"\i'./`h}Eܨ&S~gkO TF NA#[0s^t(a>>VRos@Hh*uǮCJ-HB,.N_7~PCe)Ƃz/yuod76>Cl'&wUQ,2hD2x׸( /(6Q/U ,|t xY~vxxdo5$|lHNN.vCX "_-!o'mˀFUWc$OEJ޸}| G ,^MCEGߠt\ޙ:Yg\4۫Z[uڣNjM&]3FJK5 )uMAvV Ϣ/b HT9,oCe-hd,ƹDW|/f7ӗV"UmlԤaFԎ_ :uAKou5RKĄ-Q= Tk g&a2sMYqCZWxZ~C5t,(~Q6pGG|S<=dl݂T"=%f*>;Hz'b3jePzDa`'{JTM$L5hvz$Oe%O l2>йfpJhjZי}HݣFv9.OB{sͬC.Gʽk퀃~$(̰HDޓR "<#!B,C~21.B;gAѱ NyBz ,8o-yCMqXw`ߤKzFo6}mfaʕ+lɾO$Į]#xwܡJOnY<ϛxSX5s"B2-u7SOĢ]on|N䈔CIPlA]li9P.^-w^}g[\EJ{4rJQC/t_RT5ROFD&XA?jM#j 9^ {{)a+.E&29KoțK|}` / U_"1磱 2'JwWeuXHq\\ ]|~BsÈ4 ~oڣ_A;EJZeqx\+:@d& Q/>*$5Hk?JDFwݒfIV+lJz[UQ^!b1p?^: N>Kク`%E6{r6N_Fz 7Cf -4Y+Ybޞ'FFI@8X%dq0vQg%Bl׵Qxt3AGUF'iJ<% Rĝ"npuE=O읝Ft(bkto:-' (I,]fW(32BMBdG ,"+tqkz !MefLOqF*Asֆwy@tܒ7{NI| NAF]>zjF@ 2QIVV5n) 5nIG +6;CSX2$m:0)$FZ(&>- 1 V1%wYԹe}6)Zo,Q-)|Kbw7^w7,u(Ve?ۺa6Z0ge|JE;{e+7Iq m bhsWhLZaIrWm䟮>4v,{{oY/rQ?;XX=mz݅B*5l%а]bOeo9Nxs`TAɼAC4hH`SMnPp%f\ZȞzIj ,CԮ1Nj3_6OsɊnì[(GC,,˾{G,_(o۵"$  K0abɄw_:S?:ے&'Cہa a)G L/=]WB }^9N8f]@!6 ׿*+A$R3qg n7+]U$/TVQf}]3n}!M Yk{ VK mTQP΁"|ZpJnx>B1m-WgR4"B Gك=5~Ae.̱<[ Q8cI_&M)!$]$Łr-ϓxo8BRNS;fdpry_ϳ.2@XH<՘q~,"$|_X5'[$yҵɬX|.fssGʹ>52ۨlkxDFiĊ TI@2돜/ޕg'{L-e KbzPOX]>'DR;7? ^i`:n,ܮpR{g=9%_Y$NC-IHp0DUFХ0 jJ+Ǯ wt-K<)޹5[8@ʈI巤o5hYϜr*\kt ɠ|, CiZL sh%[YvֲG f`W֕@&GF5K*h a,nZ… :t>ͫZU>G1&j,;+<3+p:-) o1Xx%>K:M,֎7ڤ ،>(JxDßWvVoP}G-%tK!ѡDa4=ʼn̆R&yD|ft=^la̢ofWuAS5q4R9{2CeHkr(7RaK}RoC.{q~ʋ$ߥ 3 µpujmyk[6mZ!+:9w7`<)in-mBXv>@dŵ$G:[3V@^6z2ӂ_9c/T1/L ˞:ȦѢ/xf`v3 S. _PNڼ>=Hlyj}D s(>9j M]xƨxmt3!dA3 GCZܬX6T`ޛ뱷[Tƹ: ZF=A gQe ,OB6^y3ϔv*SE<&lGȰ$1PM)+ )@vс˛r2cZ}b4H'GԲ3^n&g;Z{R>E|E;"--v >$,gVՄ2,fjF2پ ae'JXZ#BxR\u9Sշ"룪z%.HvD#ܱe MBz־g :4!2Y7R{5(8[8]stI%mpC=5^CCb"Ԫg&V[\Gn'G52ߦq=|5t"I9u%;Qg Vv3 L`A?5[ F33ͦj>]2QC<1켄 քB+oyAb"-Ol8EG;W^I]ғb<$łTJv'IJ6dYzrhmPtxN;G] kPbFS~^rv9e6]klh_xi-}Kn,xF@ണ6VbK'}?MRbv %0^j H7'dp#IduOo^7f;6i> \o4!ėnoEӣz\@˗dEa"SpDҿ_S jjTՠzQC[NYpUw5Zc6Ci~=dĮVtǘv L!8AԎ=lUI徐 qut}rD_d@I324 +D0Z4}_6knj&v1JUI<5iH8ly=,V1-_%v; |Kfa$Ci!rt}}H.&w;m΢KeAM+aZyǟ֣V9ݲQ sv";y.fjI*_e]`.gy裡Umn4kute1jq3uV bt0JGS1AnA7ߧ,*Y_JSR>jqQN64:ɼ@Wd[ОܢMPz?I5,W|.y͛$eĦI{.geEz׍-c:UޮUDwV@tY2߭y"$$u7x=cXnթ:jB3LZH g[(LXWg,U &O3SúU4]d1zα|*܊WV䰛n͛4/~+䔥 hV4K?,Lurv<ӒCF6hҋPܚuISw݌;IdZ6{#vVM z(rHğA.02Қ'gjJ"E $e3AgjU<6Q}\hnI}魳;у(I0TKzEJM8,c>]Q5O}^&ּ$fk|EZuhZ/=.ʵ [v0@n)3}k\9" Bj-ȼ"3 nNOz?Zd{|p1-2vXvU6+#U 'dHڪ2ЂڠEX-TzTsYpI6ʵGGN^Fj0_O&3Ϝ[R%5[=+Vd^꼧!m4Xu9Ext{R]$eq{Pxr5.ÚtA829ks™lB|sQtzkLŬKL nԘ~o jSV\9,EFRf02 Gt'L؁F)yUƠJلLzJU_l@fFfi=Б6BᒣuPf1$<_̝$}|6wNBϕeuH {qL9CT#Uiazhg^g`m [T&N+G%eK;t׾v&!P r2^&d0hI&2VE˕ZP?/y39 ht5o!Pwbʍf@Ĺ Gݓ$LLOᎃjg|9?'RL=g%!x@rmٷI]KL>t7ˑ VH@]dq8@n:uKtY5aBl,]Z餽w/**@PU\gpGMta6/VZ <Vogj( y]3|&BRx{ϫ]攔UsRfOHuvE]_苊g[2KSR gEBԳXsMen44ˌn#s3.$Bb,?֬*4uh,JBrBR Z_*;,'aw(HX)$GRA璾JJ{4lEt1i>2h-I"(f[ 1{@v6W[j5ck%g(uߏ>iң)YS@]o4d &ADZjxˍdhA,h=.H~U4j&/"W+Vm^Fax(x7>zų6R)pw\np>]γ%JّG-'{D/ہ;Ď.a{2X 1X}vqYZ\r7? .v[@5.8b6:%`˥Nn33R >g$9#"`{,/ôa!$C8fӊv 3c._G 2T.#Qj50=[wӢ/DaWiŘbYMl7vϳ1ȌBE"g ::!,5\ؕf>P9pV'QGrY4v綷T3S~Ztao5K9zi1Sd}YszU=P^mꌠC8kp}HqV9 rUlLTat{/lYAW{aD0oq^)iE6;f\= H7D̴Y>ֈ.5Q9v%FY,J⁴.W0хcO0e Z~/dTP2r`MmD.yIPf~W=5AgFNm4~3G$Z'㔘a{@Y ,$yzTvZM0bS{kz#2"B`%1IcDoph$ +ϭ`9ϯ, Z {w9fטEp9;ES$thթ5O(1V3_L=eOpGsa|^*`.wY2tٲ*;)wlG/Ztj[a鑲y cJm͞sBL'k"wNB%J9ZW';lnH_]E)d], Vv#:!+ sQ m.<n蒏Q4E-QqgIOȈ\q3b]nijYG SXKIS/e Lb[TmƔg̼/P S?7Ҏ^gΎE mjԍ١ŕfPKkwb#"& KЃ :/IZ2^Bx5P9iy:3H;,g\`rA5cܽz0BQn%H? ^pf־x#Oý1)u!RS1A],c8ɰ ņοm]Ah Vm& 1S"kpY8BwųYf@v d.=IaFf}-GM}tdXn>Q%yv{;"i{^Z {\}8+bA_Xךm;JޑUZ>ީs50i6~svT ]4; RVHo U(Ȅ3@}ikhC>*htHV#&ODTrN/Y7 as]kej< ,XkK =!: =]JM<ꂍqZVh{m{Δfp"Z ?DǕ_X)o _͙EQRpocVzHtOőppϋi\d\[.6oԵ(N6=WB3~gf#LҢ-|Um V+QR j4I r9 |S}65"κd& d|Lץg\O+ -;Aԅȇ/tIx1h ^[YwY)aAo0E ,҃HCyj]D:r- -"֦7Z/5ݥ^@y bc-ɹ'O27@C]Иfi +dctj%}ud 2M;2S߾Qg_ٹ"kbIM@-K1YUvPon0IojOt1-i6sA;%=YRO?mmw'4ba1n*-bO'ҚЇYW&uC564wUFQ5Nx&3P_\nVԉ(?Q$ڵxIM`%I'# ?"Ed._m>QכqsZM5́j#o[j0ÝfJ-A2Ps=/ظ6CJeH+RܧG1 %K%lkZ?$mwnBdayEXK ̪q-1YK;ܝ\l'h\_wF#UPu:P"u; |J6Pҍ:^զqpgFz^ թ#6jdpFcZU>af SU@rEL4z FCl4ʈFѩ4X8^Bbnn Լ;3W3=_M_L?7V,{p݌b/ 4c sT "|混X+ߊvXOO-̒`kJJ^ނD;'mD_zAzn.(}PQ}PU!MP~F~M` 'WPoB" ZH/*]8s \y`\{B}mY 7`{ώICvNTU z^W2~[5ha(UZኆφn[Ɖ8q7_BVtYdNpv_axDFJIi6萶E]i{ klSh’P!|c0*7ڕѠK2իگ`Uw0%Ojv*]5i Kv8Uټ89-8ب;$4ǹ/OV2ALMCU[I=m R\`;B2y:MܥQ6uYѐԧFw3Tʨhuok B\ : Ai}>oI@(#|W W|Njs& |>LX1PդF~mFOA֣jIJvF]6.a4HS"AC#ĒQn}epì$q0ldo<&LpC8e6no);"3T cv0-P0$ [ml; HLq@ܾ'?h8BR.ahK"`y*~$@vIN2S ؀$Yi$oƙ#/'>nd( \k4?L,dN>9gf۵6_N' ^r̉MMJ8:v-:}^ie6jΙ^Ջ!ih,՗ܣob҆IFp +*X:ºGy!L:l5WsjHM "ӷfhAV:q_)N 4,4kY Rdžp?cMɛX-` T݄5T9=-=$9{_yCF&pQwNR3s^yw s̀l{Kzkĥwh hECp*n>R[ ɪ{Oܹ->MYE3/+if[ǁyN1jG?|^CTv TC`|=#ko#р)pB\EoCrnG@ui>elr~-ZBw >~"TuZ36✭oD2Ĺb8¹B2cBbMX)P3E{R 9׳^Dj(In!5&3 ҭ6XRZS`O[h\ SD$(vUi͚rͯSx&K+Xٜ1ޙH|P`jetD.Q> sddAREFu5'֣C:(:4l]4Q>R:J}dv?bU?}S9Xz߿|M̧ XU봰jHJ, vUv5EuoGOڥt*!긎v'|ƇȝgPq@cl; 4)I"ݟ"oX tLڗː۶sOg/zڃY?=gC'~?Kv/ݭ [+JK[=ˍP 7̰~7fo6luȧlѸ`j(hVcK)BlzX{MZl7'ꢲ``2KC "-(% й5hgpߟߎayE&H˱&2g%|̝^dq ! t ٌx-`iCzqDoaE%˗i&QK}IbPٸ1= ˏ*$?Լ !MlE\5"iC 7$?+"q/OZjGBCZku$VRN'/mo`^͍K $X'Л \r-V  Eﭷ.cL桦; %`l֛rC4ǔ_c e[ν`!"TA&o'74qQCT>qRjΔ'MZ|d*A6fߓB{oq2ɳ XxCZHIx2 (h;(=9KԳJٺ2 u⧰m'Rf?zFx9#/3՘ih-4^ |.@b2' \f2qTlJ <)G,'v쫩7QP{UP4JU.9j۟ H"_XV ' cذ\WS\U<.Y̒&{جU[T}H 6S6e?܀S Zdz|wTcё{-K[̼oOSM"z 2v@o\=8w\ٙ b:,[N!sh<2|)+Q9 yق\- >s'Ћ QdOV14+-O mJ:Q/ŊJT;Vg2[t=M!+{zX%riqwyV %f:ʝڅ?]݇9pvi#Zql1#tTj0:И)vNVR$ɛAp>#~Zbg/ڕ"UHL-vJK-%t7=+C_f;<+_NMw8:RC c/.0f"&9$ /Jl#u:d4o!_ӲT~(:|C/$opYj:jxӬJZ m?Dz?>cKD Q4[ >·$1ǃ(oV1j+t@?8vk@>Hcx|2oF׳[$aZ->ȑlʬ[_ި5hYY't,gg?{sm[ycPHAڍ֣ZYYP/Z%θ$igR T] eYO8$F''F* .!CUʾ1)yEsds,+sEiv[=HܦAћȴ(X3#珡 JTEUOlB]8&4#z¢9z' '8mb-goM`ժy6BBB&a&^!XTPVvdmX&pw mW=W;8+Iq-7.IUdt"hGgԙ,Vۭ E-7ԪʘEH~'p QzWy܏QzQiPaTzzaw:pdx$?ɑϠiklo\q%},Fp!Ѕ7$Af|:u@>>͐兟@ 9~E񐰢_S]D˒!xmoc`ݷrU߽3St|r3%wxpZGHd3X UUcA\ e$UCjR6LxPU5 ^SC@ 怜oH!L,^Ef9GɃ^̞4Ĕߊ3,dꋗqB񋒱^xpNh2w[1Uwu $ kRXh%3h Z7œ'-uq] d@@t (,@,iTLj)aݕ ݈~^ďÜ:㢞\{:J8+[v.wv[Dc^- lS].._Y<Βʫ-o龸5i ݼg/a{v8PG?K?wqRjcQ9ĜT9Z ? &J4-no8v?]\J_:΋KK~(TZz (]#>k]B:/"VC "йL3QS>YK"";:n8 MREY[ˍKKy up)Dl@!1Rj UklNY`BXE=MpA7w;VI Kjv/U>vEW(\¢C_iiZ:TND̋Wwhj\¨ǚT)MlP0܎ . u_rZg'iVŊ% ,$q%w`x&‘ۊO Sd:gAyV7i4P,!oF*[`FYڰ?UK9\t3n{=]o(m'i + P3/~@wJ!&X!IX_-Gp2Ʊt4,}C}~06mP!<c@#)Lyc9$Z=Q/LB= Ǝcb?d 9@| Hiяd8" hQ H%J3?~"%!Ai鍴@RkbJy(ɡsiKjnPMw2i B(ZtV .̄}?fXgoW4L'|iy1Pٿf$כz9D(=TNzW`PA*DՉ iȽF^h'9OS@ҥ੡ӦYUf/b='=ЩLXF显4';=i^p8;<EۑY-FǦ2(B A4vJڲZ6cZZGGL&Ȥ hq ƊZ1T.^V`BUF=jE/f1RUvE6;|wC!~-s'$Z@ҏ9U̅ ,d cH$Eՙ" d9`*RF>`5Uŝ8z1Pө;u2g["_i>L'6Fހt5gZġS^䐃oPLdqPk3@(ߨGmIU;4s YvYdJv䟬wnޑ6WˢQ(6Mu6ZftΡ?c`KExdhGo'Co.ѺoOږl^_ޞ74]xI^0JT:l?Ato.*/Q].IҎN/M|rnTjMԸ>@aG 5GJuվhu75.V27>ŰeⰨ֛G 4.h%ɂv+6xK#+) z|[lH.̨>h;Az#V+u5GŒTƹ5=147Gzׁ=EkfvnZr!]'nJ6a(AjZSpnI1;kn(F4G6⽥ƞ^yIE~^m4-A93Un9U! 0| Z&Kyi4RL͠b#],h#ѳ2Xh"/f5՞ ">r'QڐxWCW-TE=ewZEk2w~1|s*"z$#›t6dVUMȕb "ʬˤ'V CřM @rqዢA ju`XT:Qf ӥcPt(g"xy9́t"M]FRu.B.{#\sp|N&Sˌ'S澿dcW$)/l`&}.`,AG]@]vea:rxl953⻵$\8Jxn<9㝵1.cxi|Q^/4 qw6ʱauE \t\wU GıbIXZNnX=L>?Xxg?ڋℂ(h.,P{ͤzqi݁q'OaŽk j0H0kwjFcc^$1[xYiu*}P|Ӥ!4D&cH$D*Y l}"B%mE a液oPAf/{w2;i>gnt=(B':,aw;I!ڽ$bRl_u2'EFAO@'jJR+#%PK,O>hӎz~L4ZٵG85K9 !2E&GnM3a%D 4$R3-$!: n9Bi]6~XMR&o ܢ0v^5DH9 Zx 1|bj^gy_2*;v[IqG33k2WM+fle,KU hwu*F}tT\ Bx#21KK;2w9ɾr,P8EJaS: >rB+`DhEoKuٞ,ױ'+ZJXK_3@o-6bٻepRDLRЖd.yLĿKafdM̵@IA0;zvKO)?Ն~oϽ(,I }tFrZ1&"樹PtwMMHlzOنv'lR:ȤjlkܑL7ْDzo~%3#YCf򲔙4I#3@·<CΎP<lqۊOO+*+ ke(ugF]ڢAoysͺ‡z! p{'AE8 f񌤨$-Mf-2fYjR'N\oŸ "]ľG~se_ْä}K24[H\vfWouKVqHӚ! ]h~=bǻuip +cྐྵA:<)BPVj5+?Aߠq")%AE՟3hWjhdK*hPFn@"1{E',oQ?$7\41TFQSWd'P㚪u-n DU+.I}B.*2+EK9qDj$AoT@G97?wv&fU>u&M5rU^M&nM~E>V G9ZFf!%n 9\C>nB1eJ&Y8!hf@PksZ0ԏ%d2>V;f+;N=4 bfgs_-q(߆^}|T:kģ|'m`XX~~[zΕkK)jkJ@ŞʫCiy`}tհ%v9QT1א \)Ӓ|$lBJ >s{;}\WW6dh|}EuDh!<ǩ4̢%syJ>\%e`"d"f : 5z\"owN@ix[2@7G#_m+q9xA 0@/2|VR\e07ΖQlzBvNLCs/-}ͿCNF\{c-8:$8AqʮG$G\`eOE c'( O1$v9]rG A4I`_Mߌo 5\ZGjCS"g1ɶ*: _1->6Œ,c$/G*aZШXYjj%:T=685CDl *^_e:OPg}2 s$5홊$%Qe^b$_ʛ}%4MӱtƇJD 77g>Ŝq>i5yKr"Cq~ GGmg=~1r1>yg{[6t#ux鰻t|y~e c` W͵Л5w%k" ʘE_I9XF'ޚ/ ;PsI5S~@+i+gDP6CHEoϹK: "WRٖ霜hS|#ZHQ=,\sFq.HC`PmF#_-\ߕ|O:'X~]hTN'=M2곫(tK˔$.]=S02S~(ZFM瓪uT461RS͎jU.Z|T+Φd[g9cuн)οcoԺwν2g ϦX$A1)8[J !g2x^ϾD➰ߗJ%A-\ju=m^ʇh:xɰV4XT.) ,H3̭`}w:rG?ҙ܉–[ڨi@ѯXpk8[gaK5Pi׸K5"Mb`{jd@GQ9iIʵÅFBƃ{ \`]˙\XJ'VWw#CSrHuzNA##$En?phL-u!p_G}5|+rͳ~*'˵LjLT\$\_OX&%QF~2wd@-9{(,}!4* eqǪ}8Sw%qp2U$Jb0x!zz=^ #G =%x|m[蓪R0M,'`"~vi!z!yBIh'?6=x>)5*kAVO^Т ^0\*`rbI J dnen//<[ڥpK Xi<zc3YIFݾÀ4áv&ެury=o蓗GpoT{XG_x=>Sx f`6yA]5_FRtm=߀HoЫJsX?W:A% juZ^JᜪʇYaPMy L AZ6#28nnlz߅m`-e ́PfM8a-c2 Pt_T"}OgNgV;Bb0ծѲT4g!{IbGhsRHFeibUMRHQJS;܍UvVS8I iDRdxs}1nLb<2uVda|"0-&ⶸgj1M>LO#%<>ԟb{HHF01j[m,wq{ŲYoҠ1",7՗mEhsޞ A;GƣUmU{PoʸVidj&; +.aT?Z$ٞ0@ 㕒OHW9*d u~☧]Z͂wX{4.ExlL.Ttc1%̱cEn4?tL823k#Goq1 V{-Ap'DCވ؁m#`d e^- sWYԿ17pc4\!+K/jb\^8 9_&bɡe!`lyuf#q, cʎyxt 0) E=a;Z&&TM}6fez]ZG,J9s}2YӺNӮ7iќCTm}umG* :3 saX@/#]r8}(&J1g,af/D?YoLfqޚO1qd&"@Nc6&ٵIbUϙTd%e;iw[ލ!+ wjH FruL #MFx(vp)W5%/&L-1Kd_9 bY"~vP|Zhds'^hoi;RX)s_CamGz#2HdnhGiI%CLZ~.VjbYA"/5aM:`A5+h~-?K,}p P(h -Dg%G1cgsf7ցsA/0O3yفIif-6{x@cY(fABlJ@EUʦymm~z;DiBIriv{ ~hͨ7+YPdҁu=IdoRL@傲,LXs2Lجq %tt .}*AR;7n|鋞- +<z;kyf\Ƨ7{Ze x-j|]e}N~2RyV:o*h|i֍7 (5ꃮ!OB*NSeՆ&OI`y扐>Lpnjo:w[Ffϵضn/[ɌtjsfU=z{N_6,<j)5x)2e_̪w;?p5;N Y@IOsYxK7R)h>U}#_q$wq@a:ZBїJv-!5hBB{j$⍳eGM<%i\NqRr] (QֳLsr.()vLv`|vZMjUM *+ @0i$„0,N/6~d7.yBYB `ͣKRk//تORF4?"^B1xw)=Դt|"~ظUoݮ5!mvj^sT+\p OE Bm8QW>qWDƇ=DU}q-_ԮHNM(O^0mU?TY?j/aN-zkl$JweI䀪ߪFzu^26 ixtU.as\b#ca!͇bp 4({?BP3K:ЅLa)oTڤѝ2 dg?5eymai,I'zoGsc@ƳaR" ވYH:> \3"H1-`zC#l,z cҵd27LJNrm ibR%ȑ^hFt/anvjERw5IYWV @NxQSt[}x?7UZht9ҋw43;;8"w(>Qr U'Ȓ-9;¬-u*6I"fWE:"i4bha.lm:*-,o^=TUͦä׮O> ۝J`(Q#5VVA5Ó>6Xʡpq w?ڛt91݃(TƺE j~D J Ǝ[NdSPk'/: d+SNϡ4' UU71$yɸ#˾]!%,|cMr*r5dxdo12gqi0$`Eh(!aEph@vd^Bo yAyv /ך]FX1=7Y +Ǐ{򡱆*@/Nmbն~H^²WǑ}W2o VRxk9h}n<׾zb{h}N8ν:'{n-[ 6uRe+= 'Oz?9P5`~ ?fRgɬYf9043/6 d )8/t36Y=iV4/%@h '쑑&θ/FiEWCӄ~5VyA)Pĝ 䓞w'|P7k(5|ڰ8~5|m %}# z(Ut>$PY}ry/U3iשs0$R4qf9ũI6^rM-!W48 'Qc$Emv HR=ZwS"{$yg=}ix6.ߪ:7^_f tRicBnF3I-tĉc\vޓ46$+]咾C(۽կI>a߳qEU@51>GG5,.KnԩY᮴Äs{ $D1^7=/d{y Kqq"͌Of %fHQ% z/^ 8)'$!:%m 甛"=^ xʫ/yEZQEMՇgcͧ,;{߱){zI j* uﻖ:Ǟj]&'I" JhV::7TYrrRZ  M5U+T-2,ޠZ3sD˼w%g~foڏdfvmVOBo ~0_yPa~q~=-ӗ2K$WPK MNpgI~UrisKehfL N'%m_;z`4k- T[4IDѳ.Cu_Ru.:+"jW#Q4I%;մ/ܡH2a/V6>- k3᯴8gPēWu.DŽQ2b58YjIB8?p?^VŢQڒxIFFas4p:N!Y/}( 'zՠVk [JiI5YYN>~ۇSUA@!V gp$"o  8)uLFQ;ik8A Y%$Nk qiXN0,S ][o.p8"(:0\ȓ[WAkRc sj+e;;VYsW]PtAZb34Gu_X1[d\Qqma -,f;γhpzp*d:ޤpvcE134zb𽠾N ㉬o=)FM6" v|ٹjbHGT]wt1Lcd:}\raAGolladnDc2#жQ 풖+S~A`b6ӥϥCqߓE87u6lPLpOKH)s`&TX"A7g 2v4UҀdE=svplv߼5Utc[M쭃SJx3,%"e6c_ kFH8\atYM ^^A9(c6 !߅rr` &&Vίj@?,Eݭ^Hپj%W}su1+ZTƗdyэmy[I-$;L}IH4:ag6<6 *U"U}&5J!EzϮIt P nF4(MVhsZlO^}ZBu LDhBi=ԶM+9gLXb)C*P<}\R $'`}Y=ezUpahoJLAv\vӕ!z $w Cp[{tzȉKdWR!ko( l:<2s.O/Zz4!b㗼P >CQV _*kSa9r}<㱇mc ƮWT|x(HdoGPZ,xeq,1qx:112_#ao(9I<jCf@ %iEF X4B"9c Y\< `n.+r<92g!oV3~\rZAMK~cYȺGs}1J3_oouks= O#;L' j&5c^|H heI}$۵\E.0d An?X-+0¾|!վ.x"6Ò@M M#:.\Ki:f2D8iW۴|6I^I@ #P|{gw=$|dKWgD=w V@xɥib,>[$9LR⫡UՉj sÉɀ4iG8EKTIYjQtz1~D=*7o{D򌟈7{a"O>wg`2CPl]P{IT Q?Z2Y++* ͚:b𹬵K`C ڳ'H_"R_LL;%3zwVdl8xaJ`셧3M'~Ww50ԏX;5$݁Оty$OP |`8EeM5 /(EÒs vE^U&y #}t® Ȼ6"ChzXB] I>ߒzyM憈t̎޽KLℏ9Im%^.ЃqRȎZmwS| ≠]GvR"HęC t/~zF+66Ĉ ̋Jd\ :K /9D(d!LIE_$R%Qi:@Hۚ}x&/ s _>ez`O I.:ɕR?!6B{?ĖFSѰ?tZMORp:+sK٢Ji^dHx3-9,^PbO[fM KH('[OspdkHB|I†Fz-lAtU Uղ-=5L9tMv,acB!GN'L$k# `C'%F15Ҥ7ۧp_i#IuN2il7;ck\Uc@2'$g*Qhp%+ aR @٠>Ov#IIZ@)XS0d'!6Ԯ=?fe}Iy:ur$ u]|CV/xn?F؀-Jh(^]'z BT.>VE !bKX_</({g7?"%ig'2I*‰3TR,G&tGn%ogt hG/\Hn'^_]N_$ކWdF  o )-Ն_|eJU[-5iϊɻ꠪ f)F HS\F HKdVIۍ/l߆'턦=%OyKcZ5j+{o??wQKn1ClP.#a2%瑴kPȒcw\"xLZHDTT\N5Tj;S\#stVk l.re 9hpVk-TcP 7j|V٭֕Q?vKhq{dVKSi)nlǝg>١)$.[YkA2F 3dmpP$KvT?ԄQm{[_ꑤޥxsݓ3[d<z^Ym%xȊv9?b$!@,'`NiVX%x;x٫:bK@+#B%săը?]JPO_xLO;;J%}0ɇL)ƣf9ld`aHW U]PU+``b"律@qZ[-se9F2$ky(Ay\L'/լ61.Y #/N.'!}5-JSq1(1Ӡ7.HY`Kkub@_ߋ iY%Qx>={x x`QL^|6*-#c(cw f.V밾1`m|^k`#-SX~Ne>?.juSi a}lǓ #M(MTUAR9٥@| P}r笥t:,n7#&Џ|*܏+?LZȾ? g~ ^.uy+"v|&l(5s]^YH|tH h] V"gMIF[j6l # FJHc l:F뽿}jG^b BQ{x7l&2_ļد"xP.˄j\9] 5".&z$<8PZQǎ;Ӝ;:ArnŨRl/jptcM^e)g"Y]LGz}5Ng&πHMf i*`[ v] +YuTAM zG+{▢.qvPKDN0ⴖ\Ʃ毓@fe'aR s)3縕1<ώ[#.f DďkE'))~l澆kr`y0w֣%JOY2FZ+qG,J2O{[2^77+7d#ߕ.xkC~wƥ{asOA45uA F#YvF.KO6s h1Vbόѿzd28ШW\ڜVб-}λW}4Q2M'q4Ip]}"X'6T3ދlA$~?5[VRkx{C;(YϧP2᫔8rW֒m?BNsa=,TaQw b,Y4'ծ4Kk)\k;}V3}񇓵!7xWsfdW4ej3q'ڳlvIUPH)l6+S洂>;aHCCvkf9>Ti-xM:Ρ>yhPp[bA$p)`~WK0dYP B$zl7 YUI@iFsbNM [gG_ 2rv5rR.GeDؑiRWKg_b4 ٍ*|ɟd=I{9ԮcrӷYa_q ř6Yd/x5_f4l}4XU&ͷ톚t >F-+.9ߥ/H+hOD,iո\+fE~1CDIAh`wa0qaigv}qJwˇUR8K'ے8H-$QUijLzc%F0^Β;hXfFMߋV%ΔKQP2tAX5^>-KOYo\7!j+kCpV /u 1 E6iǼfeѿ2U8BR6"9!}03z^z<Ÿ,m"hGi8ElA'_hTW&`2Qn:f]u]&VTsoalk\pIvJ ؼ/qg]4jW >o%d͙s^\*FdhtIpH\f? x[Nx>6Xi-]=ޚN(.Rħ& 5+h.i8Y(L ev_-->e&*EkUmp亩9ܐb9kZ/Tک+Nd5%Lϩ*&/zN^%3CKi w=SۂbZӞރ-Kľ`H`fpy~u!/PĿ ҈<Ƭ? ֪PClYy p t<4)jQG_q-\)I&lH-1t&kLwMf-B >-$fjd+`<+~;2,PA;f?mϊq;Ŵe.iT_X1O` [q)iJkz귡zԂIsgMYJkd,mJ~4ӓ60u`N y9݌#2p^Z,R"r e/3 4|%")L=蓭r~5.OLJ`&Y[t{ iiLܦI ٻ#ѨiT~ŬXCjHOWh3A D5 Ԭ =Nʁ"G-N|9Z#^PuGcֽoo[KPR芵zܣ=8Mgw ?AJ,ޏ_4.;OBZ8F-ȯކD/هLB: h@.LEbzmmwLOMpxav#Ꙡ,L|(IˇC(1nzb4qHLB)g 9 /ās(GJM,se_; O=Lo]^l}5 ;dl/ |G-C5g8D.&X:ņ${PH[z=yq?V?v I({S";гœ%yKoRx7J5kB x7w,\E/QIuiHFGF1 zA5gW*.Qi?k\\ )uF!:v{'iMx*9l\UZ5i5I@; sޮ)kt߆ Y!q\kIM7v?9atgy}R6~  R'GU&IOo/fGDW+~AQ,-Gz wI ƭؖ{cUHJ*# @ \]Tݩ2( 7oo8b:䄥(ݞ% Y (13t^h/CjO޾>gHvxU| vF8։In̤qU}խjCTUUe0(թ:դm(\p + .GXPTjWv$Jbj!\jV]DFo[:T\lȄD4 rJH>Mmd0qRoNAo9hZ̒Bv: v^_U0ܔ`1 Sz=G;/l{gIVJw> *X> `Zp /WX\