summaryrefslogtreecommitdiff
path: root/drivers/infiniband/ulp
diff options
context:
space:
mode:
authorErez Shitrit <erezsh@mellanox.com>2016-05-25 22:02:06 +0300
committerDoug Ledford <dledford@redhat.com>2016-05-25 15:39:03 -0400
commitcd6e9b7ef90515cb90962059ffb03b679de27f99 (patch)
tree8323f3df898312b8f81c561f52bd1c059e4fb8fb /drivers/infiniband/ulp
parent628e6f75156eac6979eacc2e9383e41f6432beb4 (diff)
downloadlinux-cd6e9b7ef90515cb90962059ffb03b679de27f99.tar.gz
linux-cd6e9b7ef90515cb90962059ffb03b679de27f99.tar.bz2
linux-cd6e9b7ef90515cb90962059ffb03b679de27f99.zip
IB/core: Support new type of join-state for multicast
There are four types for MCG, FullMember, NonMember, SendOnlyNonMember, and the new added type: SendOnlyFullMember. Add support for the new SendOnlyFullMember join state. The new type allows host to send join request as sendonly, it will cause the group to be created but without getting packets from this multicast back to the host. Signed-off-by: Erez Shitrit <erezsh@mellanox.com> Reviewed-by: Leon Romanovsky <leonro@mellanox.com> Reviewed-by: Christoph Lameter <cl@linux.com> Reviewed-by: Ira Weiny <ira.weiny@intel.com> Signed-off-by: Doug Ledford <dledford@redhat.com>
Diffstat (limited to 'drivers/infiniband/ulp')
0 files changed, 0 insertions, 0 deletions
-bC pePW_m /N'ud0eTP.F)UpPDC_8 $ѝ{ơօ?[G襅"[2&k %RU2>8g2-_zZ8h*s/s!-}ԛBtNP1#FxתܘJPsGo˃ED+--\=_Bfml1ʹ7Vfg1ù^_\=v?%[VT0*8[q&?}MZZPmP&_5t|"Φ|^Akxkٝ)])5㵧ߘtsI j|O. 7^qnZq:9=S(7̳E̲{bf՚m 9w+Wp' %H:S~Q΃tɣsKUBV}")m~-m=up/1[h}/{|f]%Vib#AޞviF͊O]ockAA}[n*X]r0AT2߼ȒgbMprVv4J5#vuD"[׍x$i *Vqgm9_[-"uRlvg(H)߬1R#뽺zߝLJ&'Nٛ CkF-6{OOٯi]a״oepD ukmXx܈6yR,op;괍zvӒ|VEQ *0~7jzo1v@h/P"`uk|).E͍tK:88UIohi:hDG \q<y8M.[aG 5r#Iol׍#lmPa6Ce% a`GvIF ,lvwȚBdG )R08%CۃhkE`)}.J]$e]i,틘fٸ]EK5?^Zؽ (-b۹78mAkm>'v1h%3*A:[98n|fqcX ȈVk/F"souXz!K mJ8 Q8,SK9Ƙ0 6U  ^m*58r@b3 0i"bLHкȀB{ylu8<;GkiW N%e_9yjϱyjfr_l9Ms|i~SȳΫ_Rȶѭ}1 jaeq:|5ltf1t2Ѿŭa 7~M{^\.}w$*,l=ᄬjV:Q8rrk~'Z|bۍ)$W()y R_+ Q=X2e9, }Pέ.&1SDvt|]:8mT/le/eUׇt۷9Ϧ8Wgk-|In [T<Ϝ Դ5~v=]ӺqPxwz.cTls w޷]{Eyl>oz)xä?S,\uZeo*3zIZ7$sE$i%t}m}wPk0ǯ6j>uҿ$!I^H՞nT]C^Bꯛ{צ. ʼiz;߆uYG)[LqR=k)mf!=a}gubUm?Kq7T*苬q$>b5LH`~ryp$1%MFfAMc{$ f?^q|ωUxDFS^-.$_w7Gww&W[ 5E@Pe8§%[ tm|¡-\W*dxvs|9gPŸRߏF wP(ms{?`2R6WC{tmS|ΆL$?t=-~"00i?ؓ:4HvԷ[=SA/$ث| RjJ(οϡm8s*QTQ}!nJ|4!E{&Ed9mʔj|(RXC@~ >W;21w,1u߷:lɫCO6RmY2U[oB6|U:o~X(? % H$ U|+ BKw{co=ԡ.z8oh 93/^&ĹTw|P?ȡU p9Ba:'8ń)^w=})5p—dgM$86 %VmYRO5b F9++5BLW)I{jݑl;*X x;.&!FGǁ X {GG :`_kax-l"p(ze&hsaD[ߩzsBUP3B1ጛ}yPaF+U+6,YC02jQ5DΞ&'Bb"`g=P_."e"-OɸCVbF?&%LȔDװa!&f) H(X`8z+* {`) a#tI332(q(j$dZB%D4O/69rsG女J/%7j](ׄk(3x\^g<}c+Dn7zFwKR=MyΫ,_6P~F wou."D,h+չ4*Pm:6۟+ |u JפML|=9ZS~:=0HyQ[<,  Dxrչ$(3aU.0xfU4`|}Q K[놆D"r@ z*z0 t@B_ b0iwU7(Qh[gS6:d=+}zɫD{W# 袷aך 5YcX־Ͼ~u1SQo5v:9Dht _bkO{k_~G*,y<]y`=bk͜tz/ f wu2 ߭jwGݱJ>]o)!m*dz~?B*wu vsF: 0a)wDgW hp6N~vwv?D몯uq5^P~xBG>^WR«e+xaW%d7tv#s֑:WOᅬgN¨afClqb^JWW5k1[a귂:oWǛɥgY6 R9|/L_ ^WH&M]}h=|>YPOm[maAG}۫SJvb '>T(1(W&uo'șs; !ّ ,2c0Y2#59=L1 \MEIB]Kw@%*.F_%V}w4~ Ȥ@ PqLXn<&isλn#B m.b 9ֆD xR '}XW*Wзo𿇸 tHSb ` oP@wp /.Ƒ*_3wuz3n&>TB(9s;S~8FXBdb-txNܼ7 a)0 v?`=~b~X5Ui"zSgH-^c3tI)54Zzuu1 =vih)>ax;oooPЁć@B*' Z(D*hx[s֨a@~ 'Ṗ@.e=6E ,O珎uN}Doc?+e% h~ȄC:L8w33"3~ӛLv_:rux,QF!V>N3?YS9lgdEki0gЦ9l_=#!5 ֵvWl$5nl \JE]XjkeuԤ~&{-^_$}կ }Y6όW[_=9vA;aT7B[P0c_XMeǞ.}}+>?Sm U6!. XCa<([6J+aNPWlav8l9U掣mBzo&l;]Ų) 80AaξKۖJJTݯ~FSPV=*ZOѕo7JQVtl|yF+AON8VBΗ*fgo|o?6zPzo Q Rwϔ#Y.vvpW5jmt8LPLf3tP<&~|><|S_[sɈJm{0m]+)h9<6 e>>(ؔR⪖iƣb  {|墯kDA%>0$@aT)'~}+f3Y;䯪WCRjLՀMrNO3Mgy̺k[}}W"(tOX@7nxU4=8ylw ˾}R3k?qͯv^x b2ULgUX K3$QD|7fRer /HYT@"j2GͿK0gٿO㘾lø_LZZtoz>y5VD|<{2EFtu m2<w|r5`3꾕lEM.@u"=JT:iǿ;:5yÖ⿺:Mdkĵ0jPww#qu8)ogvL=u=򈎃~#ae>u;ˌ+ұXJgR2;8tuDJuA:CG)6SwT @JE/QZ *4{Hy"qd"ep-J2O2=A#=Ϙ i(KMdfhTR)vv"Y4( @m@A9I. s̆N<\ Pc IH4g!@r%e@ͥ v>T<bMM4<7Q@o3Z] YѵЎulwʎ=oh3<}]+6NR3rpw_.{tF나pmZn$jfoYlZ.4䶽ǿ]=VAG_D!6yhN1-dZMѽe߱uraM^]E֘q鷛]2›9y;9Eַ]{Y9U& zX'bf99|, Wy>*Nl\ݦi [aݽ Pp_ʟRG1IOmBOׯkl_CQۺua'Z"+:BY-+Lp$sr'/tH#ij""m>INGĠzf<}ty1:ug1фoN'g`땚T٨M*lB^_Wjnsۺ.6mr)X<69m,/9j`kߪ<ܨ%1h'bI[&dժG ԧ=g%uVP[sKAΞooS[/#T J3?d'./ VM?[J&*ת*PMUCxo dCH^Ͷ 1ƾRc~ٳeֽ~^I<X;|~ცX%@RR(%HK"<<2;/۰w]*{ Qgb#lCsyv.mPI ë{$Ge>8)W h=!y L>*]ɟ_.^ucDԄT>?" )ުyZ(_Uv]z ˝Z0}"R0{ѩTQ93N.OW/:Bb `p'/==qT'"k|d`   Qpz&?T(ntJaoȞ=n7-QcC5 n k5Z5Ш@Yt "HpȈiʟz#Kō` F:B;=>Tt˭Og ]}QBDj!t(R2VҔ6xjKϊrv+.װkKB.N<|^4uwX"e j뮎L^ Yp}"J\tmP.An.:\-eJ:AFߒ;$0/5a>o+yeEQ +_\:z בY!iQHs|QP@:̨yL;sdI>fߋéSm,+}mlk mPo9 ΰl'U(x(ͱ p YjENe+m=\u~")Z?jЯb1R^OUd^ME6I+ӱUCh H^9Xu}<<.yߺ^9 q\vFVӸl~cvrA42Я^z9뀼z _Cя@s*%`Ocƽ2u<[tڢ_4/~zuqt6p^ª DGp]Gy ݵX L*x%qEt>wBvLHUT<]kBkc AKz> }*f"@$^VKѡTYO4}TJ^{Z19 W$>sֶG3+kv`^bڽY[Qv숆 T^{ڶ}^| $\rPwMՖ;h4G+X l& @#?8Թ_3O*U??0N^yUvL:ى b&t*MzNuC]Zy;W O]+H@noUw W^ԃ^+#% I"j/,Dモp]gCVpTRv}]tWlDS8Tg$`ыU5;p~{9u[iFbZ'9 XN6O)-#Z}Ui4aa5~]PD:K@;gP[qs/0RD8u 2ܼ8TĿvcy{u϶YVo^@R$۴-ֻ>-Y{ J-^_(q tNM! K&b<`Gۋ-p2{X꣨d~(S(h8Ϫ~H: 5@<-#>UP"~OɅo5A+t+ݜR!\ѝ#*AB}roVҿH]!4=" #12 UMy-REBytD\Ϸ,kYb+$tQڈRh 'kuȵv}rd2dj8Nt>8-OJ{j\K_-,[ Q"Q*cn]'׫Ɂoλ虱2Q%<8Iԅ'~Y -v4q'[ aWS}J!VDayTf:J /:J( sSzf:9*bT쫁oN4*>&Qr|UC_1!z?oW;kTVoH|e;X."TI%v_0/6.""Qu$qDA*4 %YZV?WOOuA_"uʉJ~:;4[6Su2__W[t}UJ Y8}(A1`# 0~vޝz,Q^yaJo ?,/p7noN |\'X` .uF9$ „rތxǟ äp貆n ?ѥ#8 j -swmr?BLJ}1יOi\v_?W~?wy]\TuQ;,~546ҷwlҊޢ[͕%UE0sl` \SSL!Q-`Za R8IV| BNL GzT:̞`oH n?YzX5?טAfoCcOgÐj}],3qQ]RQ|xa6KK<`hI )HO'tOaGe,8)?}UxRhOOQCaD'ᖥ}gDX% VNPKX@k"S~VG*[~R}=.A/Al}g,T+]-/ ᜬ'MuX8W'voAYz {}<8qHoY[HmP|M =(ϲ#~-0ኘ1 5qN.b\ JS3"޵l~{}؟Qr7WtKQA!mT*^dž:/"k2=|$t`xdJ:lOz wM?]q^ "91&WЇ|nLI) ?R :Ѓ{^p}Bps]Rh[iWMK j#s\WAH,ʆMM96g-I*q-[R(l*P,3kY95yz!c*w,ٜ8hA}JEAԨ9o.uL6I>by&Ԉa5@?"@%瓑Us㞱=OkRkϐnܼxuV;]YM1*U"!~?Vu^jlQ/򊴄#S?V?cOoea0c]/_u\͝?U{`$L%[ xN!ϷvGcNsw-(`@ICJÇAJ"F#ʒ* Tvbۺ: A&¨*O`4͔1Y$%KSRǦjr F$(ۗ?fs_z3sxu~k~n\yȻoEjO{\:XbRIzgSG-*H9 R$F/݌(_.O T= {1ǞI#V C\Ť6 >=u ~(Rp7 NI5}N9OQ)zt\j&";pb=IwӪvVm PbK(Z[իXǔ%pze3OhrUC5ب[U90O(7*rG*0|~BPy+ng!hK]`R` y{3ުLŀ~ `1ƦQ}|Ng}; cs8:f(\5t95.OHGXV'sɂsN32#d]s5=CYh:M*KXfApLPHQP]]t#∌Fq)Z)4QE lΆ嵌&ư84?oc 5JѸvƀ#o]p'V42 s|ьʗً ֎"jLJ#X {ζkK:R\twK-!R=.0ؘ8ݠpyW3!$#HA X'd q':@7X4vЌȝ.H BTq#"^Gt"1sоFcʰ_O8H[Ȇ8sj!D BC)*?D"$ȔZ(ma]\iɃWz<}9 $xT.]&w?f}Y`-WNFnFŊ:Mh2A+b65KS/L=ngղ;VфUukC}ڏqذ2gC9DC>̪3HTΪ.WǙ)G-&:gƘ(wo >u7 ;r y~J u_h.,PuC=cO#Ո`:]u>z pzpQ폹­5ϩ$YKf~W'4B]=HW$t ^ٌ%W5=[v&}4@Dliee^ 5{COKܡ"w'¯>NGZL;r7T':ƷsXamu4nl;99fS 8O}m $Qp}0T.1d@|IM%n?1@йw(tB{m )`[kl2#שK4 yx̍@Fq麊f0E50z8"ub:GƆףZFǫ=N|u*RD|C0{2ԵMΘݽu=:ZW퍏 悿Zg" [h-tڏL)O9c'@u#^ [H~vv}&uגt1%d2b3f&@ )ہVPsE ARrrc}C> ھ;6ƪroUXw:IYR'}![Q R 4AMUdVB/Opj5Z3Ë;n 3TjKoԪ [cB DMot]tX=Z\h;3C>tp6M݌[yoޮ2 K9"N IdW&>QLa/X1`l$ðe9# 4"Lgo%Is Yh&R#h|Ji&H5,1LM$4pdQN@չ"RAٺL#Umd^;2u?ΐ~đ4MǨ~g{9XBDAu@B4~XϷIh6쉸(m|fElDe߈\@뗢5:s22{WslhbjQsaHጞKLY5XN3dd\ mP իp0#R9Bj ӝŞ lY\Z٥l7Ǧd+lC̛ X,iUVoG6g#~W+|& }Ws0EQ5xbϰ.Vj {ǧf؇^ nW 3*sZZK+fh٫V]jԋ[XJMxn3%1jiNi[sC֫dcִuuF/i˧^5Y%e eatamJ9r.6fFfU&]=dt2ѭ6V4k4#|m:o^1iw3 #1?Nl̥-F.d|= NҦeѭh+i4nM;Od&jV@.r'mGS>2ڤ&bgG~k2TX (gkIbXwB]OA ݎta2a[[sz u 8ɷуPOG?dg6%&aބ"qH_3|=|!X -w3Clu`i\=4 \%UBF|pW]pS h6@7,;gt|d/7Knn#̆4AEo79d$9kXg\#_Tt8Q͸p\{@a }z3R<} ?}Ipv-81X =uV|TҸ(uf~wzsʓ^8۱R@HEx*`6hI `Z*R uڹ˂FJT?;VkWha+#̐ QRd7)ƥ V*!/a<&/T M]OòO ֶj"Y6 uټ:,3 QY &{6FҫًydXl;a Yl,*x,iin!W'լ^,afžHtCԺ&\h3r@oGIMHJNQ\SeXƎ J$np Uvf*ԾRPaL۝ש0d6zD*tF,l)ʂBOF J Sl ighwnao\ੁO5[eL )5>Sw,{is"K\EH 6lC\HhUt/!^l|0:tAU $~ OVmˉ| vaG7&(T'{HWgڢ!kp!ӵP 9O.2)C@q=!+9^9D#  m, y>Ђ!3@a^d˜#hmG Z}mB1Df=ˡ5Za$w=(,gmLs`P^l], CmMu4U4rk\\h$9\JIP(ʄgD]L/=e5i̒=Z w\G'xcm6-ҭn {8[u,Ÿ[n8ґ}487pTRq l fr]*Tx3@ThL[h9]熕F|˧tpZ lUiHlwMtT9*||H%ˬ``SlGEďD`mk/ȉ/aMpnF:h$*5M/ P@.Qpf_)Ѐ>RP}jJ F>geV߲ duvI $HNgpe>Y^mZF!cw? z~4*<&kk7~i_Kqbism*ɪ'mxR|D\9p!E>e!r ζ`8t'%Q@ҿL?&#ms:syXd(Q 4y륓&~~N+&wDSQeM<'#= .h8 ("Rj5uW=7ưy}$b(fG#'Ie9(ЀD]O5${lп{ՏThe9ެ`zyKg~AC?sUڄl Dve8Xx!1KYATy0%?;~S݈nC0ˡ6`]7a>PᘎشSZVyvq9GPQ`W 'O-XDS#\?shU޳DIjK TQJc,-ÅaϏ(Y4j>mTmYN'D-8)A`TuT #;kW,1$j:PN Pu>!\g;\X~rd,( Bf}]H>4iC,C MHCCry6ʑ%&M%j|3WSPG5J %G I@/+Xy4\޺EII|ppe)VK:$+(yI͞eJG[#[ ]E h\?G?{uՆfvx>rr@}(79)_/zDXql0p (: -| REqÁ ª81%92BPߥGJ"/{MW nE7uD9L`scbwHE灖UR53C%Q4elZu]-{rl[Svr`ﭓQ\VzPbCȱh7$_dc[1gEa"_VA)DT衎N ]ø]2fOVx9-N;_ .* *.z\+{;׭R>Sxɝ*|z15+8D3ШȏNhs#=vT_}7mkʹC邆pDtx՟&𨗨+58<ŽY-B}_QԕC󤽓6* )|=B(-Ä ZJ0 @TԼs6]xfO3[%s Jt1,ˈ|/m8uPA\]UB5Q&25IB~0k,R^oE+-J> @(6+0@αu2g2eSC&?@}[j&XD?97|2"G@ܯǻ/ß^A9^`7 &Q#PHRZú'(y)S՗m.s]\IzWe'խzpV}xcS]Z}.u3y-΋*2}pO;UpšI*|=ۼGg7THoX RP說RsUԝM iH7"cAnNz{~/Eѹ"0c X+UkެBY@,cIt<"v~?T*kl[Fj 1Hu~邉CQn jduPp~~];Q@F[Ƙi&ʹvu*H/<-׌˥m)-}Uc).x5"nQǮV ],?Ԉs孇\]X`V}o  YXPg&9Ye׶]L@vtW`3N0)ޕ$58\ 9|D4+P/U9*vzC EWfi/A42` *|OZ03pnښN|:|WN}v|=;G`/q #I` qwW2O@bYY'(s!md8HOn=$@'H'#=f{0OsYhk!5M>Y´JBQ53S.w`|,]8v!T^\1*=v>lQN0P;A(.D@ LX.Ys_QH>XO 5W|C]{xet4(|YCZOqQƦ6Ѽ.A":>"O$D g0jH>#,ZB>哾b?A:axp?s8jqq&O?ӱ#޻gş?NoY> iĻj6bcT}08b?LTI!t1# <_|oH@ "'@T6d?Aۛ(z5#0U8<Ű;XXkQsJ?>S9#n=H Y/d?)vh~h0|OѴCUFpPj2~A[=|c;e땅V=kocӌJɣV 9`I:f ((|OI>C~ʹWNpht;bq0ZDP iKcZxH֡)( 1 iڻ([cjx:zLJ]AȄB%G#*;X,-Y- R}4: ΂d2RWӟ[xE7k־zqLkx(4z_f:qAhWb%*Q68 a'hydϝoLV(S\:~C?swKdEۃ3UX/>RĘX-M\Ap)$7ԁ^#0 Ũ*Zewx4j_~!}y5Pf ,na/^l=Z/xy͞s.?B=dN* ߙ6'.A$=~ГRi?n Ak'2@{ fK;G!溌3C6h9 <[.p=,; #98|J{QlQ&P!TP +'E@6._Tx@ym}VC2:^d,:H4vu9֊p 8"J:Sצck]wk r͘!LQCƍ;Y ƿW-!V2dg\Z >"b!WtZw 3"p)j;aaP(=n/)Mτ\6̚i-]r脐\} K8I4>ޠpS[hϷc $xmŔި?ɻ`N;2׌D rW'V,UŨPL-ξS) ~ 郾 S.g^ޡ; PYxReTHep:PGo-8~8S@^>3;Lx.PxRLznE8NP}(s\;t]z)[Ҋib1f~8B'"Tss/%z@}\*u#cMjA G ۢPUVZ'La5 QfOi{uZaew"#Z-؄Ds+27pHUcL 2O)I@,XB#>/<kXB\P!,İ1,Ja/R94/r8;rbзxIn~m^y)z{E{և;q GPŦWm.8fQ+p.Ö \# ( \䬫mv?^\}OZ¥ ! 4&~+Z-=0F:iZ=Y{Nl$ќ;smf:8C#f87'zifXnl_RA:WG߭|Szv6H2 FЗd15B+/oN"$4eKiJJ"?9,M*/aKV>v_[iW8בֿ|7D6Gb5֑^uJKY@e3[5~j1gƂ)_\Yk8>[pMJ=4!}k.ߤ[ (|ȑ\ GH (Z]):Vl6&"GG:pP(|ow!lG^6ZBw10TLdj\(#L5-+7ILDcZ[{舆۾ e=ʃD-ڹgm9,D(5?ʁ~~KT1ď_-^~zp$,B~̐Z<'3 Z@,>nH)֐!r\ZBL~qzqD2M!FϱRKvqc!Ϥޤ gh*#$}^xTC ~Egӯq/ Xb8 Ha"n]03X_ΧBQq>)e ޑ&,vRfvqk" sGQc#tAxN9}N+cvȷZDŽ) 6ZŵBr2%tji [ Zv ""QTbɤU`\5[i-bQ4s f x\0(,R|?@jໝ΂?C`X?"j8=Hh$1G@]  Զ 5-tI4k(sE q}v85%7(XO 8BPy}|;˒'IcY^M*u?_;f<ӴٖQz?9yKkE; mSʺ}v&ǧ+9}y#y@CAzKMOb aFt1bpx a*N "As=LT8:g%<yktE·ɰҪҚLFrB$XPAlHxcN"vϽsH|JR W|'+#1iWDZHΓz.WXS8uя}5 s@~X-&H.ON Po`e(w;,CHQH˃|ᅲ]I 0p!cC K[~/P}ޞzȑlLd>uldд_㝪v 4OXU-4iFlV. RJEa[A/21*crʺڰW;d>{cMCy)@8[;Ep*B8b=߻iCTA[֗ !U:7՝^ [|D>+ڞL%{d[dHuyf7?mm-cZDPb p_f8zNȞ@P,o^x&(:0;nrgvWJX@<|,z%Į[ <?tO$H^a“ҧRd\`tT+t0l,TQF=U 0?S5iꘔosWDv|"5 J%AQNgJrw0rX;Yܳ=gL}YTe"{ff^<k0:T 噊nm@:mfM%y'+U?#2'Mb!0Föc?"`IGyg۟nfy$W6o8 ۏ5_?%S_Q^xa:GV/r*361Qvfup P.pF7l=#Oah,5&#Afgͅu:dDl<ʐىԢsM-ssKn@X _8֭>~X1~,][ibܕRWX+k-Lik'51l{(/fsv0兓}y.a$k~91cgm7T_ -^`ȃˍ'gX#P-͚c'y d%k=!^{,@?2f 9ܽ$R/IE:#v;Olʑ>ǘG W|UJyT=n}Q% V64'"+= WWm_;\pzr`x.ȯ :1S{`68= P (+wGdK#˺,\liPNQ](l2#fhH<(",xw*hLץ>69(?_j1|[ VػI*ɀ`HPǦ[0}fe3:V]'/< Wj}.@xw]):KS_!| 6#>"_mQ0LeKu8=}Sd!iYAXnn~>yor!(^wbx7AVNG^ϴ?hjB(@?ob1=w -g@в^!'~vTl=G/nEEk3,PNq=P"ONlG:!p' c# kD/Lt1Be)S@ խRQ@(Xe#/UAAhx9KveO3WeJ0*¡sk1Vvt I %@lddS][;MaZ-,;7w[7~3%AR6Ȣ@ YAFM۹JV2MP uPP'R&#H|Ƣ"{ھj ; )74Y~r@= `?>bi87O<=8!c$}b?;b,- H9T2EO~}m԰qeʟۥf=̧ÐBrCrr0jZc3-f-捝*lK(P#P?&i8e}N C)Z ESpp?=diŸYWs5:18qt , LW30 BcǃTT1ԝeQP/BtLMGayָ2=UXY *wMϩpc FdfLb$@I@og-UR}{.%tע՚s]?8 _B?6!v"ü<|G,rwT:*Sq4+zٞw8\J[>63JT}Dp7o.le b]GU-̠[YPC0⋢[J$Ufh.A}NB y "X?Zze+HӓܐrDʠp@ 05!ZpAϧP24aH*Pzq!]-aoHh ?uơ{cZ >g^޷zJAX<oF~ާ3JK"acoM/iYKrΝڿZ}>&̋YY07<ONհvTV2"a[On6X]VWR.ExJB@DB^ֆYԅ2b-'/m&0XlOGh2̩ݳ3os15$C54*܁朐مӏil0g/aP7a#c:7`t3+n3kSJՅ§+3(! 7"plI,Eb~Rna@Zg`{,k>9b. ǧj"v8rU(<̺YnJf%Rӈ0P$IO @rW ˉ#apP6KV=18xbƲo:e,!aMBh;;2pH%_Sm\+;V ㆢz*jMșB:y\po4n88F`S`Z>«;ֳpO 1&xdnr :Ō:Sن(uJ#5WL1z"1 A i(4타gU 4@ƒ>%5exx`eB{Z7w"u<Ј7KdO%~s 1 "G,&;1oAؙtWewoRzS8{*R\leOcуzds5f8#cTm&ˁ0CLPϙ dW֞%@zqEOe]6ЏdCSsUH@Ip<% $k#0UD2e6)K((~$C`# #EB$80^ y>>ch0 ?(CX$ot P9os] #K DՔGa|d@{ 4>xTz6{'ŭ]3*2'k;7G  }h6;?hOsG̫!*?\ywMP ${ͦp6uxӺ+޵7QQg ͸c~E /D!TyynIt1Bc:? `?'|nK XG<60`V{4|\Pw§Y\/ٸKuk:;pl"[uEle/qӻ<Ua1X| t)iis7aV;ن?G3>o~P2Yql:L!Yq~㞵Ots,]A/ }j?ute mX!eztv]| -R642 Sâz¼ğ( T$ -g?mkOQx^DUÚK}/܋"k렛a8rgǧ~eMƪ\7M`|Õ eO &6%rA<"(R.=,UD2]=x} Hk0?$0[o[?y>L!C+{yg&\ӥp|K [L :MKi0^˅>t1 pP}ڥZh~Aj}Z|`'1"#]3VjPQ" ^IC%/ߞaUAvƧh(%xäJ UZה@SnWWP+74qOq}WΗ^⟖Đ7^ԣ@%۷VqyB\ E XF=3þ4>B7Lt?C) Eb%[TDˈh>S] XePHWD'|Q4[R0 &fcuE@{D򮹐7%TD`h.BߡCdQmWv>v1 ՙ#ՋCQTov\B sJ0p߈-pi!h0=3 Π0FRr4|t[ [Z'bG3p[oX\ u-8?8x'gU?% w_4}! \0\bs\?hԕ9<㡔3!Uٲ,|}rD)톽8![iy*TϿ5(əQQk;Jk0 ZK,e|8CF,(bZ.)>>k~Uc}pxD 0D{!+( Y%Vz}}%؈X:sCW897qwEv!hnku jA]TfJ dk_lP%δ>a|T!(QUOK&PF @m{/OP ,,E0X a 2θf,Pp|d%d,4cEƨg S#}s2/TJ1r@N@Κ[Z(x0z ;2*& |u&>J(5uGT'2G֘2<@j|"|gVo+?Os0Au{5#Ε* gQ$ޓ%_vP7D,FQSу}b05k/Ӷ9 lXHD.e ~w`\t=U.2p&THpmA#F98Ї?1=u>2;z^XyjZ?kwk_*L)Fb9sş35L3Z'(TC{e5$Rp9G|`wM$@ȵnp-P7hӏ)'Z/<Ҍbv+yVߌ+M;&}a숨/FnFfnyS|h Va?w=zp]t_B gal67?M}ACFqtN^8(uCk̺YɪFrifs?[?<akng(Ws_ܢ;>_XadkE 9\f'pדYD* ʺ@䤅W3#P~|($g]48>wGWmP5w6{=ϔ^ѦE <ɚ%TZwYRmg{S%^VxqMDf_RqU=aS3` : I(sCשPHٗ9E3y{v p}Q CO2M^u\ˀԻh8C 9OS#"DLtVRSgo/-H^&ڠhkD{(KyA5k&6Ln|J,B ) rN0O?[m5jE0`v\䁀Voh>:N?kgg^ 6go򆎠؛_Ů)<5Y,C/T(V#OK>;)$r38av0ι>GQ( 킌ү[ 0ʖ_xx.^ؗi!APYµ8`"*3tnAD<}]r|KA#PcP$jn(A>S>(T5{^F@CdDUDng\P.cwU%Z\Il*TJZ5x3c]ȉL)][3I°d[).S=2!TR-a9Cwg9$A Lè.cn47LJe9<PĤQ0b{2Dh0?(cYn!W_~M"[ [K֠<ڨ F:tX;&J7p+Hzl5kRNﺫy`0ŅX:/v\bl w*JkAvg(R]yG !+vc_o.y寓wJ]=#\ a^e\ZMki= k/m _.}>T=\ ZͫXRC{ N`\69(b`ƨ0@fY$ oWT q.Kpȡ<VTt^)$Sl_:yilST)yNڰJ8EdTq'.;AiSMXv5Kfh3'XzΣ,aWdKq|_ONyYgXj)xUI'z})M6tIw8q8:#߻F oԑ qN@;CxP[ , 1{;צ˜Ҩ1+y0K}~9v|s!CϘf@.xjv^Pʼ{r|;Sby{ q-\LzՉ`Ȭ88șŷ"CwT>9yo gf7C-p^p$I(it%8v8c.P6&F P`c=yȉXC0FĽ#[`j-ЈF2v9NLgg(ݞ&܈b fpc=sZ{IOstNe).DGcȉ"+/wX;uMQfO `ϓyEQ4{RWg0Ǎ07PtY euD(/#GJ1̼ql7A9ߍ:!`FKIf /d8G8lwl.+2 58 ڡ&Sm%.Ay/"8'1xXGHlu,sD^硺.PPӖ9(+[z.\Lu+[i8o0h6:h"&I ͊ \rZ>#Pվ[q2܃/{e˖'jx#cp#J$b~,;cTЪlZ ADSwqv |V^=;\ r"zt?Fմ D#njLvy.5>"{צns8~ nA-u}Jȱ!O'㮡q U#HDۯ;vưEnuew~rzFdF RpYq+ndZ܌*Mrk7<DSkwW=s%Pܓ[s͎1YMt>3.)OvL|,}Gu#;:tyTB>$ANGƚyc6&3f "r86B܀VGe,^6c8U7D@ '0Y8F8|j3YϴC1,W*6sٛ4B9wTdBJcyD4C$bt"^ZaEu+or,q/xbN q䴻KI 1-$ :g桕z"a BVbnrVї$ߎ9qd`X/^5?5O 㩁d)wBWK S$g1]lÿ<+/O XoUz<=Mp1JDJ5Nȭ%: EC5^%;0凜M3{,sx=0 n%447Ű8wƳȻg8G*T.:py΀`\ %@]m5 dTfb PW@Ӊ^eA\%8"3XGL<Ϥ዁^#ps46B* ~x ^PqУH(sε`ZG+-Ӑ>)xz%R`z{~hX|APo !47T7$@%|ՌAfܼ~+]!DL dWֆ| _ަ m&כEd:B@ Yyl8D XpЃ`(DŽ.o\ d@g2PGZϓ"#QmO~xӡј9iķQDX6eȩXݗ%f T!Rׁ:ƫ$znq7|`#Љ4&؏B!!rja-rO ~=w|N0Ţۺ-JPEYa6pJJ+(W& v:ځYlfpjzGm 0s_~<3ʹu3*vDGͦriߞ*h.C mƒŶ~JfoPgDpzPQ{B:<o d)V p.P\AV(YWSC9&2&i|w!V*& M!K9ﳪ+Z1 EEaѰ| %,!\ԔȳϼǏ߽zOT64va>ޝӓ4(2 ;C& 4GZzt],`fa,_>S:V(s$ [S "vAq9qCXPny̎W۷X< ;v =\bC᡿S$O'$HqBk䅿 hjQ,CϮ@!PM!7bJz3~T.4EKb )~8fƥ Z>`tέqD2CD1*8=#65HU}M:A Mb5_qj6Oʭԯ@&v+Xlt7K*ja0Fq čL 1u Ї7f;6#)  )I~BG~% l&W~0xL\>/cb.a:'o<@T5!k Z"}[ìg)O}0ko2o4jN*`Q F 70QTo J>dHֹʵK=lվ~;z- :Y_&0쥀9>#\\Yb-x ]?/SSѢ1EqyFퟌd@ކ$:9CG]sM9"iRsF]rچ.E 4Tr14 ]^iB֎GLjs9 b:94 pp'=]wI}0n_56j략X-6٬j/@8@H2ZoLI ޺+·gsI9#7dM!J6lsR[0EVz{݄<1[óS䷟ @ɇ|3ӵAÇgU?/?Mk3{|@z*=-3jh99uHb!qTP.~BJT}0ηNjv ߴ(`AϡiB.+ʼߩ`4"ȠnD 8O]̤q֎HJW;yP(>ѫq 5͸YM vʴzV6mf/wiV4'x?RG$ A6 ~#+zW^7p?_ˊMA6glq9B z\r3ӐDDxG!LJ4x9`JzA-^t럐؜(eCI,a,: E`0B-D B-fUN DO N 6+Syk_۴`ڳ2\/"BPW k\̡ŦI7iFCTqCd@w1؀_\)w~ ͧv/M&Fy?뇡(qGq[XKy,h&GC!@ż/,x=]Q]rY.7;/3=6Y=V[#ӆ[ʻȁX`eVm7r[$iqeCTܮMVnNKM`?lr LHdV!T.S#'gcI#. ρK6NrF@!Y@B?:vB̥PlLB(쮩*1&\cj& Jqu0@7y'ja'mcz6k(֗ϑ~$odV@*ǂ!A/3nODuק.>w"BSɝ@CʫťAGzRKF̥ch}wąWJH\.SPN݄xOk>2nUi}0Xŭ{-'2@ǜ;;PWE5Sx|>N-mb6'yktY۲񗺗ґӌ 8!#56NHdb"5qh$Ʀ!?j8٩ Ę^]{'W :Ũ|#lK :Q NQ%U(A|tBq=:o\$-sЇ!r܈G nWKHGNtTJ0*ئS\fLeH@5! ]]XRꮺJ|e/4EgȐgb==ז{ I'ޙ!Jç?y!k<_o T}yV8a#}W dhmІmp6SnVH,I9n]I?M>&?w Igu#EPd9DQݝ+tg}&-joOٕ0~m]ZX"y|sK: ?`9S1 -)mrx ̌-j#v :|,LQ6PJGG6 ?f'@~0Aˎ J}^yD /ďwBEC?=3Zq΍ngb LL!7x|!1x5͈J[&-3.*XP)ou_$-BdC`X ??1>lxj^q #oh(G??לӟ: *(G?ړ7/Z-v%ܗ} k[燑RRpT#;zxꕡ_P唺o'VOcxwyksNx/sYPxuPg_c]k}9a#/<ܺ þ:yI=|Qb\v?uOX[GW=v/Z ag2)=*uXph.Ehg۝쪼='An§z-/g7=|=ܳb 1VeP۲us;__+/*!u_Rw%qj)#GjSRyf\c9MFD>Ku~ːCv@gWPA.OϷF-:ΌߍzXʻAڽ>hӦ\~ljJJ}(7Ⴘ)7g첰Q0gR>}_QϷCgqH,lo.i{À!SB`XHnpN=HEmnZq7N@3[uQ8MDw$RoX>#[̞p>:WZ 5xsjղ=qo!;f-{?S`.~۹ak^BBbZ$7j*|R>ö$#?dJ:RbSiGkǁ_N*d>֩҃\}p%f(:`my{eEϙ㧝Gi MQ?hyj/k^yBks5X.έ<.;\m2T`HgAʱ{w8K}X|O:cgO?2V5b$;]^*ՎU.CϏ%x{nbZק<9.5h40^$OcMR'<|2|EǶue,-Gu a GCӏ=# GWf3ej$ bqXOl~!#>a Md%L5NWakU[Bu=sE; XjA̸~<3ɈRvX۵KNtjG<sHTyD8=8j6ڂmxs8ڡ yyRMw] DDOs]ݶ% xw?' CD!T$$CjRya󫓘)":K_+>i5AI#v]>ί~1 | IB$d`> *ɘϠI$mDBM4VFRAA1G#gᦓ 10?[+?f фY s .#$U S}+z~|GM}=IGRm½GvfC*q7U#fK7閱d 9 lI"lSY 4 ?B1\$.j <Q<<䞝 BH<}z/@VEDT:`NW|7z8Ys;"B SW]6>Qߧ>Hշ!z{CA:vӥ$:q Z]7]P-CL q{?WqX#nCoSz\@5F|8@U7!&k_73uؾV>.@^~1Cy l хIQX{$U0ؖc3ç D@$t[H;U7D#q8F,6xr$CaQ7ۏRYJ$O3*jWR'fnKYuxB1 ZrSОklޠW&Yʷ狕A)bAQ߱H`/k g?T1IA4hH~eNlŬ ҈wqzvGepy%&NVJ[Ph?Z*8;ү&IcA8YͦF]1}}9qC v^'U\ZWѭ) ^ U.2XB? =rk=̵"Hw)C*c?>C;8-0Q\  ( ^7mW>%9v!DP"jFtqH(NL;SV?9za* 3ue>ab\VF?q&HWe㬈O+0Ս "-h}m1GcF^UG kg$\(ƹt^`)rkfZUE;'ukAI-hGN ,>.=g4JfUs"5XڲrwHMxD~ӂ<\F]iƭ&aLfСYJ"QC!H=E]BMpCUQY{A G?~n6F^s`B2b^ p/ޗ{A}l!y^eiJָcUҫ͒PZ侈Bw?9=vkg^Ξ);Ƀh}" Tg8Ͻrf]VĚc x6( TV~\o(#s>mu2ZV7eXG*} [غ̋0 w*gk"i>ȑ;'_WmyJߢE,v bt+kwF#TGRUId˜ٙ9Y ݲZߢSV̱Z/ qO_*?1g}K-Qu89aZ3஖4 9jƶRI;/{U8@QaO^|7]܊?L'Um)ik:D2!"V| uFs8I)VƆ (P@טgzsNg&m{- #E@/Uu 4.=Z#k5& rQL돹,h4k3U͛y-eS7wI|y{$G= D,tުDb]iŽ{}&-> @%^)OAq:0M*I_0d%'Bic7{Est]O zsNZl_xtendy3diMcfB9(߇xZX,`7%d0tiI8_;wל?/e8ƟP4OcIk8?ޚzcEuo{qד>Lt{Η55ejsƢ#쓆ɂqMtHֹ$ /s˜x]R/O[z}wSϣ}WFDE` Ƹ>{`V}#{0/,Z ( #sa ?R %X4,B}u[V@ӛL.GwF@T3#ꮿXثV!`^'d?Ն`KB$_# z.;o>g]%~ANgL;>ZBJjImI*>h?s?'W[yl" ~goWZuS$fiQ|Xg[A GD- A ms+k!uF OS8ic4/c(lAD1ᚧ 8Шm h[W4M:R psɋ0 -Q㶐 ۝гd.8m 0 pfl 6 mxi"[u2o/؞f.\ӭ8\mnCx z97>)Kb@ge&F~xtYvXDk񌝵ΞF78͈ʙ  aQ$=Aӟsٯq |e M"r,p-lm(L=造D8TKiuxEnDH ,0|ߎ ՖDw5D+O E-,pLucمݓ RKj]浩{1u0pv19SsBqw zM _ Ѭ@ (ҁ 1z~ 8>8ULDAԲp}Wpzת̉u<8N9LR<6ߝW=o]p9HNp|c89$:Gأ ;o! M#B5,e«x3T[JhP (Sf!d#D8"U&V:7QdiRʎ(oeöO-|!6r=|'3~nCf<m!2 |`D[li-OQN9[Á5~uWv5*O[# <@iNFm?ѽlAИ~\>C{\?y'u_f F&t͏vn@o=" b(h-5@M' 8Wf9ߕTA$;O; >Í;'"-?Ϙs.D>ξcgH1ӚH̅4^ #'0f+C|Yl(qmD"{l`Ќh3O0D:HӸsl0n!GB)p{F UgxE5Am+E樨IAC_G %uUWL_(P5 ld&.N鵃PMH= ]@(ֺ EA%QE%QE E5E5E!TQCTQCTQH4PP4PPEIUTQA.ᯮhP'{UٞTF Pmd*k8<|}߯$B_opBhH[urmCv<q" OH7 jn` #$POb4@8f^D8|=vdHQS)r@5B*&IJ&("^qp` ``!ʼnb)X Ye*hH" X(() ) d%ae(PDE7nuSy`Kx,|剿A7V`K& É̀Q:T3 5n R;o8y̍MWӬwCJMtHb}H9Gif1m( b:EIvlGm9=%0");GR.+.gw ü,2lkߐ=+Hgx99DdTT$s06*$B(=Fn eh" +.hUbwlk%L2# (=@=&j[d:Uƞ,lAS1L@܀0Af.Pz&23D >w ' шίơ,)br_&_ fai\} l8nUgDMIzfѷ|?.r2eh*F@@HsGi,E(Pqǽ;e i*6$*b*S"A**j&! BZ *" ԡHTTB4RĔ-%-QUPTh Ѕ4RRۘ**[ێ3m8KATV8C=ع'C߈όOXt 9pp15BzBi֩ t ETqDc/w9A$Щ88?~~^  dA9fp LMڧ/sbT=M܄o)Ypga>{]Dmm.Y|"EE ` (d4pjc >>}tVj) !MQ DspJX|1Oߟc۔ 疠)'c93.V}PSEgy!m{_:l 4d/2}ȣE3~u0oA<+0)2@츄VGrDnWCq9JdAU?zP +޷FGaI@b]$98XXdDF#esuq9:#|hS"l=80d)Y µ-xpsxz;@}q(D?̣' { 5(>fifbò=̍p8gD5`+ffP 3af;$> _a |VحQ!g 2P^TSQFj<{.>88:(b(oChc怒xO9!85"*C%Z D y)/PHukj)!.0]p s+q}!P-gs|fӒIXh9Pe wʈ(*ןF؋SKNA5lkwkߴ~)Z9$~Y_V}Ppo_vsu˘s6,v]X # SNZtQ嗣e+6Fd#S:-w7_{#%n+^-f1bHeO[R^ bG\'^ٔg~j?~b'2 ?8)D[5C.q?vqt z"IFBu$(s?z #w=G]Į`>{kǨ`}tGfX: + aB;3{d@03?";9 * FBD<@,'(H`ׇGctr2(:XIdN*ڊ<^|1N>ۉ$uDcă)|(RnZԁO ˥2a!O`qzg6\0@Ը^ b{^|u}0' =~44lġp*쩘YC}WSa䒟u>/ /^ʭw#~30h._oq9~Zmzc! ~zNJqpݦY??P*e! toʠQQnUz&5b=W3qa^yϞ+)Wr??”GQ4.@ =gOw!9@zyz\_79qG#ـ_֓Ui o+=HkT{^cX+>%dWDdͧtS$;u2 E/