summaryrefslogtreecommitdiff
path: root/scripts/include
diff options
context:
space:
mode:
authorAmit Cohen <amcohen@nvidia.com>2024-10-25 16:26:27 +0200
committerJakub Kicinski <kuba@kernel.org>2024-10-30 18:24:39 -0700
commitd0fbdc3ae9ecc614ddffde55dccbcacef353da0b (patch)
tree0c68f17b0f0c941fd90ba4108667963cf80eff94 /scripts/include
parent15f73e601a9c67aa83bde92b2d940a6532d8614d (diff)
downloadlinux-d0fbdc3ae9ecc614ddffde55dccbcacef353da0b.tar.gz
linux-d0fbdc3ae9ecc614ddffde55dccbcacef353da0b.tar.bz2
linux-d0fbdc3ae9ecc614ddffde55dccbcacef353da0b.zip
mlxsw: pci: Sync Rx buffers for device
Non-coherent architectures, like ARM, may require invalidating caches before the device can use the DMA mapped memory, which means that before posting pages to device, drivers should sync the memory for device. Sync for device can be configured as page pool responsibility. Set the relevant flag and define max_len for sync. Cc: Jiri Pirko <jiri@resnulli.us> Fixes: b5b60bb491b2 ("mlxsw: pci: Use page pool for Rx buffers allocation") Signed-off-by: Amit Cohen <amcohen@nvidia.com> Reviewed-by: Ido Schimmel <idosch@nvidia.com> Signed-off-by: Petr Machata <petrm@nvidia.com> Link: https://patch.msgid.link/92e01f05c4f506a4f0a9b39c10175dcc01994910.1729866134.git.petrm@nvidia.com Signed-off-by: Jakub Kicinski <kuba@kernel.org>
Diffstat (limited to 'scripts/include')
0 files changed, 0 insertions, 0 deletions
Ci(l??nImӅ/_4_592vGߢ}yWmIͿ ̞jCA $ӷ@7ipk߃0G@t0=i~ƾyfZSaX*LOՠ$2pfMCvt~DίٲXעف@G̓ r h8Bt2zu(/ŕXzZi%Ds_?e/J-j$qmvJUk_t{O쟡Kx*m|As9-F֪< GzѤUZXL/kႋH -Z`V+ݰ:@ag`Rn>?u`m+*,Q%j;Y-α>mp H\n#ItGXp{*X뫋p^mVI_ea35.[U|pkll IWZNucw{{9ҰmVEX9^a^FH9[q\=qE_l{uΝl6łc;cBWſuĸokMڥMyHVk]naZBmu1Yj)"Zro{VzK1J} VYuњ(44q}?eO%V&5IxkqG+tejҩ߷Mk>H(ˬ2+ ֥P)M/1tI ~Sg\>Jۧ#~s3\΄_VO?Z}O{ oOr!oO$@4>y:tk'$>:Cc^O@@xX5Pr}Ş̵\ e@I`*Z:7|~}xmvC&mߞ; h)nk_wz(Re ь)T/8ڄxR%U^ Vqn?Zj#ÔLm!zmB"JW%_$]`06%h!s¯|T7Y렒uG9X厧I BM@z+vwˇWvcpW ,+.:ȧJD}-9jĊ]~B crpo[v<<:z7q<y]dngڸ!:n|ѝj*|_ӭ}/qlrUDO_kmlpYvB3`N¥L7dL2ȣACİڈ(3FaEG:5DmMp89A]JE&:|@⇏!٭^Vyt0.! ȢN&)DE%0D7k^tBSc1b)}Κ#+-2*TLafO[AeU(R*j1E_,ep,j +tDf2`f&0l$7bo);]AHLM l2% 'T4;wT!U8)Dl,UgP=D$R|q`W|9 Ys\:r1,fAt:-tLLY6rb: hl05Nk0!J9{=Gb[ϗ;nuRpˈJlaJڝg^Z!W~?o9f0} 8:P'B΋}L{=1FLJR;RȻܾhcX.g>ϭԽgτy7՟/du:d-C(}+ign Hs+|y[jui덲1sѲ^ 8rkm|lmdex%G+hi# GZ_5AҾQ}K<=6M-"l_[P9(,g[%zKz$[ҍCyixS77ɩ Zs- vlkTCF]^^ZH^_C|g^vso Z*5GDSڴ&_\aH,5Ks?,)(+zqu{ b5|-"Rv_|FWJ2~EU^%@R59Un`r\_8trՄc' O)"ZFr~sup2u/庺'tvi8jʶ|c$auY uE8)\Oߞ/쾇CaϱV{w¢κ7S' i߶)ܳr]4U+%Wjh| 錕^Ρ_'"Y<e`hVT`k3߇ Z\}ڇEs r.Yh\T@nH<,$N3d~f( ωGR<x;sI>°1N 9Z 6D. 4QT V:c|7Է7* T\1F/3,.@s(GkOt<{8ϙ^1#*zX|J^9] U%u4 !Dah͍jW%TB>8LLGy_FjtK(F騙: #ꄕ;U;@{eh`{Ѭ7'NJ~|z8:'w UV$N'sY7Ds'k5 1٪Vm+Э' dW˻Бz&|cvE! &Ϛgwe*kH9-o|0a"SPk<1CM&'N[=ktᛈX[VSj3謄.Jݢ!Rnbc]0mQH ̶2mR\cXͭlw) b/* m!w.B`ϭ+c/M QA! F {F!AB PŐ 0Eb _{!d3D K%4iȱr 2Rq'0( mrb'lmƆȌQp))֬(l̢2Q1D1(ͬ^ef!⥇60 JeV ,J pM^z^1Q /i=}qJ'Oy6O"e}&M;{sO5̊$( )Y{k~4x4*@D*ӘGƭ\X'"q7 *aϣKB9}|wm;^_ tX`zqn͈m"ddVJVnWI]'bVˉD:]ldS1g/ :E6:399mt\j0u2z:ʾ4o '=롮%ؽOz0Bi+pl.Fq?-TVL2uW33z{Ugz2. kQs[!Z3%*\IضpN_~:׬Z7M ?'ε~6jIBCg;b밓G&.X5EqX]q0tIcqW׮s6b"n UrWM 73DP"9|?O ,xl3ǿ ;v{}qN{sZ&hL0܇ЄuϹl9Mǟ#} @A:#Gt993d# !*z'&Ѡzsu! &B 9ueMdmߎ2e ,0#g9 1kIAn<?, 4)R!!Ӓ8/@U]WNRGb-A#y0iQft Ayuk<* %~@0!]"xlf7jg?Ξ" 0 ]Y^&{7餢5FR|ޗfmw.z0ktnmdDODz_َywHht7=Sy4kj}S xu]b=z+^ԡugAt kYeU:E ,{+AvZ`qcg#,M:3gYeӎ\!ن>Xy1^rW^Qݹ^ʨR c%;\ڍu6ɾI&I6uu Rkkꐇl^Z{P 5e`; +)tX`&w` ?SV5LL"j2C ķT}{8]ww:TK9 T)z)b0Ss‘"%uԐ{߭fGYE wf:cw|83 G&ԻlV?S d{ΩV3*3333*30uT_=;}tR R=vYp+J=rOwSQ[/g2zHEX>hVHMe^*)3еEIBB" W-;ASV6_ F{U?@㷔I$I$wkfߓwePia-ݎ7kŠ=1q?lXCDa]/sc˾Dio]/Ebl\>gUu8IlDxI~Ҕ+17*?^  2魴sђtGNòvt0f4hv1z&= QuU"fpQṵF63)Ă]z̻zŎyt.pXm 7@(֏m// 3Zp:,,sIE0[ j{vFSLBYHnyw,He7kV9(t.j)9fŋ;l:BԞX8)|Y 2dp0~yDjbꭠEhOD=(`HlDS@M   3JGrL?7vш!DWPhgBTS}XxgՅ4#hH43q]5h"Y@JI49d˒s0O;D͠?P`. p ix$%W$,zIțaxsٱQxAÇ P8#E༳Y. j2vwI67>|;K(o7vfm=^#>ֶ>4=7~ (HDD ,a !Q@?k(`-G0+U ~@ػOg|ŁhlnTbOԽ\XY-@^|}SsZnڠf%8M.׌BI1?_i!a7V*s~X ◹zt ίVXS]Ts#Q^ZXGo4&fuC@Sl "cL$i< ߺ~{OsƳX4βkƱ7jV,8 CDB|&N@dd˟fU=΋ ?1P6 ;1ׄBhT!"(Y?] ZLh.T% H5u=( J#79 !HC[gg /7`_)m:Q~okKݯ!Y~))J-!irt{דGѾ2B*l1haBI :ưa3Nߦ+KApsV-qc BF*Y AX{GhxmIp=cQBMxJZQen(J6"v" ¦`lBYu>sp}|uץ.y}ˡUg 縝|!'^X7n+#zʏYH!>C7F v{Q||5< [ńmQmdv&L@Vڄ&9&)]Ô/3wigp}Zmϐ\d '%bퟏH+ࣿ,5@14DyznѾ2X|EQ#BP|/b6-smDm+kvgm6:{km ]oauu8B.!֣\#O `$ePI4<;u:諓/&Gr0MZ _mfnkzGq_ S8f\(I3O޺>7 >؏_m\̗A -c06Q3A&Ѡ@rwHTRmp=C_ًo u+];u`˨0?:/ $ M!k\;DHDD]o}:j`%ƕ#UkW;#LNpmzHg+ґ3! :T ΂ Q%tYmW݆[W6w-mzNBt/@%GY zř5/۞4r~5_O͏wa?䘘MODG*[gn!"B#8{+eH c? {uuq(F?~ַ]nuy>×^\ Vl{~(w=]_{~TKzu?UuH yoݻtl᝜Ӊa:md雬pt9oL=v Wk`Q"96RgWo_8䞭1<;ޜȏ{pAqyʔd>6~Ww O9ϷahĄH H@UfD7F; p [ P@8\0KYxf p@AQgY!u9rt$ `&$b+N6m' PrCv(, ِa0u;ܰ1g$hfk>NR,jaC]kxf ~ V6M-ؤ̝GɐF0rzO`]$7d7t bRZ:1p8x+Yt^| "8g2t -[g66f`9F0ER4뽓=>滫.\_祎)YiT W?d1Gdĭmo7Y׸u,(ş1V>Q=Ka3 ?B!};6XZ|uF#otۭ?~ _/~p?>2ygDp}9Va[;J'J!ySv`B36(l{ۧ珣7MY]s8c/n6g* uL۳}8DyᥛT>Z[Q+:u'J ]H,;dtuX tK{;޶SUۚ 0}=`8_4Q.Rh R߻~z*z/nNۭ0&!϶=Ղ8R](=K;fȾ(6ǹԆk{|uf9ytV,&!@/6]QX}oRPs?I`T3NO&j-'ϹxqCB Yd2Λ99E7e{~gEԽ'blf'cO?#<CҺهlDl^μyN]΋\p Y~ZaE+m6ٹm]C3T xkv-:BY:P<-H˨#n"AAO$j 9IuXg~NâCRRX7¼ GTt>:]x?0ÞN5Eiw(YiU>-o]9Ń~M}ĒɬL 0va]MJY,[Dw&M[~N5}Vʖg7IlxzBzHY*~>pA;QB<1b~19 n z og=AEN*'ZbʻUajGLs6ҿ18$kэΧRm Q'ay =14 vhZO 6AԆ:01ؙș&C]FkC`]!M #CW(!Aʆ3=CJN!>hiR!{vam&dy]K(6I(P|F%~oG}5H"5O'zYyLM@;~&Y2umryt&jtհ:+Xq8u: rߞ fE'm#16EkCsz÷Jl;TʥڱTxt OZwsi9si{*,.u\eo14K6{;+B(|ˡwasdwƷn&3D&A yq7áCp-\n׈UԡI(oK|ᔷKśnu^ӓ 6x0p$hXcke& 3fbZ4yȕid7=.vm5v^_ggUWT=1xH uJ$#2~QD~WjHg2ʘ1's-/oe[}_ֵB $ڎo1A>EOW0W(;~97~9%({{>_5.T7T # ﻗG#~=w?+-QW oݶB]ᅓEXJ$ښ }(O8>2$ogSGa'ȈBrs[βw%n[b5c //&NeN`%8^clGqr#ݤQ0iS@|X%tx Jy* eΊS gz.FncݥF"q}p ~! @~T ޚBXVcwTނ#66CHS*aS!V~do Ryu"=C;9]DdD)Z 4QDJKmG j_e.dQ;E;oתݽ7L0=[ K1]XJ0!UWL{z7,9(=Elef oEBmqsV2C9_#e,?>`{;o7`[eF?!?/'yKbz/@`ce5vo\ +󠛪Pl⢩Xi!pA!zw[saW# ހ$y:m5q#*Kٺl^~lg'3G/ǫ5L0Ӗ{\`=cϳOx`2\G-A ݈DM X@/!ܥFpU:{9y|ֺvqB o~坂d{]Adny{6SN}ٶ{z=)Q&ٔ^]<S>oh@:iۊ}YOn|)'mg;4}iOVTNvR4 )9IM@;ާܢI aKK2 hxO ʈڽ\2:%lQ*RH3ԏ~(A{G!!ѫs$`ˁbQmQ7фQ<|Ԫ:-. /zo^SK+o_75-Zb7yݰ?4e[6ugE8 óoF厝Rl޶amϋ3>>'r s-=wRԆ{~#qԺ}?('H\՘{Zs&>2exArC~hn;Z-h"?1R`\3vy"ìgבAgln)ٕ[|r5/$~ʤω "n/o^?7/ mz|H(M֗ 2(zt>s7s!oyimFfךh5tw] 'M=Fw]Qgh QYq{ vFkaĈǏDjH'p64TNOG07z6gH&fo%:$_UI<2$I(I1VN&*"3Tu[]2ÜA#^H']CU,U|c,nmW2a?S !Kʘ]1G=^:g=NnCaV!uQV&4C?ERK}-:|J`_m0ҪE㘸pPw*]ۊKw֘%5c#b==Y0O8}mAUw/}V`p{d~S_lQK)~L}7Q&UVx{ >Q:"'eo ?CղcJ/%zZX~Wc2z6Pv^6Ury ku-ށ߈U~@2I7}h0軍 +·Mn;y ! ?'^0ç5giP.AW= :^Ȝ;4 VϹ׍i~hie 5Z[dl}h_Us3Z~`4r6pECxO,gx0␟V;+U>ч?EFuHzRӓB Z0/6.׬s G/%:w.{q (DPhakKv` YxL`{|zX(ZJ+Zw6갛k= XKikevkÉwS8xwZ>Z_эm &^t2{u{xVX`T{m9!5Uڰy{1GʝGAW-S,|E@PD뻖G:[^|~p L/[uL%g?_Tuj`f.'].'K 9zEGmy Rq9J[ u[(> 87){Bv cZd/.w<{A@LoL@ZaAP%rw'z@oԄ/mjM*AGpԟcvufɮ=R|  qԕ=H@zRʢC`KA`nAH)a *>%'Q}RƬ~{\I' OvT0m˕gnv*=&Ip}_O!iO}iH'BٸUp]A #V$s5Kr)mg#@0p4xA?yhA^a] qtK6z ʜGN֌ng`F2i8;jz[7~l;2c gm#1uWuO3%6@O1 ueo4RیxDžutwJZ!R E8yвn$";ֺռ(αBGdDjX C%<=RGvP}ǻ%p8VXkY*lt!LbCf 纓JVO٣Ѭ>n M٠]48\ךQ}>}O:ؖV(Ƨ#Ԡ{X\lTit7ܭz(3b_G0J;;6s[x`dv=R 0` @,O ލ&FVc'#(r%UH<`iHEݵ=E⺗ǯgrԽYuQ6H(6_BvPskâK(<5k)Q6^g._O3 41# `23ސEXP켠uƗС Ql6@"#_?pk 4PVI، ZM7ۯ*(?o b*>u66 zcMiFxpvdcZ0 }]E cܹZfmCjGapx0hG{_4]ZӝSQiF4]f 2@vEQ;w 9 o#@ޏC @b#+|<$~ 7>kx`ؕ7ɞ{s'oC*.Ɛ|ۥ#R^&נW׻6s $@Oʸ1 _vpWccc0{#۫j*@4y70(92+Uv/4@N ^c߸k>O6T 6 -)?^ xL%:QlO_'z<1aw0HݿcS\?V؀3pOo{˨{9޻ 6I & < #|Ȭ]XC$*w'o@+ &﫛_ Ac21E^:J :wЩ1 b/WGMq8}uqvkPXkcZГgɠr,6apFM Eٱ=`u͗;Q8ֻZ"csHnf),33gCq?`ḦHv$rS˃yrÒ4ܓL~.f 9yH;ovdǺ,hϻ:zZͧrzfшvyZe$YYzݒr8ޣvƉtD $LJ/#YEeS2j;eF&D]ESc(Arִ#M(mgVqgԚ&SR%|u)ب Sq:ZD\&n]pus:cePkrO2 F&M*˃dM90Kg"M\ NSjś22*ʗ>$(35!I}d{^;HJc:/W;!t4t_`CL(vǪcѐڸw|GsHs.*H$+e vX9URdU 뻦(I\hܮ-|^鍁B@ǽ-qjoNr>]gEz2ZNv+Rtp\ӛ^ .t#~[j,F/Q׌5| 9 V.G`D nFw_D 2;b B&oybXU"ZQ# bҿ'G[go7.:|h|n Y1%X% sŷWh/ܟ쉃l"N>xz\žSʿGX))a'Tv$VC!<8@:B:a;toTmfNqʈfKTZ(. QgrK-}#Nw4M#0TRsV^eewOm=7l>8{Ś~3g}t#2~`B7_>2Glebm?!ѧ+{?'ѿj$]!_6pdJqz͕Ӈ[ia[?zNd{uwE`g2s)Хb#($%,qWH޾5ԥ@y&]iR)aV)nB[-ȩj DZ߃XGM7@3!W;Ơ]%@lOV"X,!vɭ Oe/:y=Vy7(<̕68DVviqMJPQ2F 6b2kYt۵{HW} d(]]o2,nFFOB̤3@\/4̢)%E,?*A:@^Z?1K}/DJ-Xsߌ"C`/^R*ϲŝQ)5("@z]Va?Փ[i퀜$e 0s`b74}j9Uc:,(9Й{O[ZVXjæTl[\,9ux] rn3ǗGu _VL8 KN((6=B) j4!Hp}jtȷ%(䮎lJU3$da>,WgBcD^^0p0q"\SpXO)oمfnfxON9¾c$p n4b: wQZ0~4޹vxW+Ǵ*$KЌC:7&2( a2N·Y> ZB20/ sd@ջd<ѯ>H}A#6 (0|ɷl[BI1kpz0mAKVCܝ\ɜw}gy}IwK)WԺ\U~7mO(2Ds񥙎w}/.уLdşdv815Nq NDET_.^Vv2[BlsT .v42k yV-[(2az Dta jYA0)p@|/LzשWJ 35rIOK$ \G@7{:臇u}ZtNL&N`~uNmkWŪ! o;12)ak@ :^j &;#W+" ܧ3cOÛcLtum LSx%@M(cAކ9w dǘH~Ͼ}=2gc๵r.iX3D7n\$Kx 1G{Ʒ)jpMnr9a z-%rAȹe~$9kVbK0]9 >df( >4`ЧvTqHdc]~!M ѫXbmm  Zrw^qg~&x|a G{R%sp>(%%1{̳|Rr"tJ6L~;#&$ :*5 "lԛ7=o?WW.kEk&+MU{W;K웍G;Ls*0`c鎩C\ͣ;_ߪ1*PDPx_ZB"E32s QUVa _a{',Β#RAEy r" Sfo4m39ٌFU=xz鍆= \~~|Ֆ͒Sa~vybH|\?Jw_-|6:4pTr Bwf[8ߏy16x<ٱf^T9ŴpK%{~<gI![ e(@lr-#*R龱P.TׯX-iSp#R_%x}"s yk㋉~j,AQ(w{>z}">X6*vevM=a6  E|:pOh"ՅSݾR0J,,?Tq qi~F tǐ E[B];CjљQq㖴[N6uoP;IZ/S_ˑ7Gaboͽs=ڜ6?bMYnfMMFa0e,>%\mQ/U#P?} Ak]\"qr_{оl쳻 rxCg?݌z?v,rh:5; %[^6#%i (* 6tNƙ%}prߌ vܖqNp)\ݖ!OXL |Fgo}C-B V3-%!gE5Ktuo<";git_?svMeE׭7A@(Լ!z+:(NbmF FF6}p3縰o3E z4!aAD4z lx|>v ܛrf7eMt[P@s46~ϢOvYr\v2@TRꃵ.Hi D>1xZB= +#!4F3J]_= =3BYI *p49p )b b2pڠX8'DgĘJ˯Ǐc~c飮w, { {}ߠVޕᐭ ν *o@L#_Oڸ{޵S1 q.ȫ`qfNR8{m6(eJ~7L,iCG<21곙XC4Hּ%rG-YJjpv%;Ę2-3ݿKjm۷k/)5?)AE F-;3?T2؃sF {/\A5t,.!e$\WKX)! `w' ?)]7 K=xGwEw6Uv,6!dD/rETΖZ;(b J1VstI_{ ?e}ްj7{.A /~FA)f^qx*kчlE1!i6g,M2@x#KD+G1qr)l3G@J2Y>țu!ͯ~/W}|6+ Eql7FɢL5jt7t,d;^(tllK[!l Hb: Trsf)do"b[׻@Ɏ,6q dSP OGaDJ4{mgN\im{&n X/',,( .>uL&;zᑵvQ+~l mG[>bS~ R\{xx%~ "p2@t+9ڠ˚G l}{0).U8?pGbnB֖R/GR`u!m4s=> X-;r*DH+Ro_ DŽaf]=5N@CZ4nt+~AI253 A+`e 3C˖h}|؜_z+kb2SY{ gae3h[~bge>6 4ZQo*Q{-=V_Uo)-3`;[\!B!~y"8UPA0)<7aBPۭj !#BTUФ6l0'UW*&3ir Dg31g`ܦ1,B]u > V6qkDRaj i9ë^K]W $-'g?ֵ+]j]xV\/Ga?$fiq| U ~swkOm-A-.ynXj֎mH1Eꠝ.J O !Fz0("^B7loQ=Cu w46xx-b֖P3젔զcS18ZH!2sT.Nyq<ށ6ط .L;=vy׻:f*bE Q<`,?*$[X#5M6}:A\Zh7$86Gh2Q$tJS.<ԻݮYz5-Fn_P=> _sL%(IQ@P]Q #d)هgS ]')ϤhqKEq j mE4=K$Daؑ7_ik i}><iv]1bPPudb8JgIr!u7dHxfuK^# FexŘy1įtAG!SZkC|9+G$ovhESvKba<jB`)A%[lZ CmOk]8Ō*Y4D%!_N2j3T$0Zg>EuP=pԇ2DLՕ"?`9rs̃XT LYmҩ`k@,,bs& ?W>%/.xG>~JI)}LO^wA/%Ə}i~o5َ 4eUv gvbGs8ob+x3 V `W퍎@1b~J( (QgYepz *IL2emx">^(& mKc|wcu~<:XZdiC3QR-1д9c/'3D y:RX~p6CﷃζW& 2:_ ,ztQ 5u=2W"6Z \^J]GM2:SV&YCkI{ʣ>#i$ JS|/[1n30I8u^P%X;wa$0us(]h@pvErtŇh$ $._. HT?S&"5FY(8!U`ri,Zkj0I\435B=L*ܮUh [w:9)7`q8v5rzGyJ̘:kTyS6FA/WosyZ ʺU#ܦGsXz(:X(,Rnge ULs⿯#Lӻha=(1$dU+B0HIG8ϸ $^'0y?bjxhp.eo~ׅVlH\b֕nU׃ 5 ~:ߎ`15-[VsO/?/ٝKmdh#NN5qa5m_oކ2_܆@|St~c#bmt7.;Qh[ٮ 6]Y~t \I:ke7tSk2U ;JQAj2<$c2 'O 13^ALM2Cwd3k9+i0[XI;>?LJ?|e2'fvœ0۠86anQazc8gR3%?Gm b݊ kQ1Q>^`|(Q|'%|&+O[{Cn~cu5EŘmуFbTj2@n>ŤSh@~LR$&MGdv.!33BA WXF=oR_?+w!Aϼ48%B ;ÚvhX@SaCط?472 tt׀|Zy2_IU5enEÊJc dѩr~ d~} !ʇl>Q*V ~}zK2dAnw1b/pQ+i/Q4jfXeAG?=0=5a5vj}L͒XBOJޜ( 2u~`$8HJouސ]ð : J~Τץא) ;?w7UVz"( -(Mxv}ғ0 cw[R-#0&uÓ,/&Oq Ҭ! i&4~PL|TVgp t;n* rBkhITZoԽQv&;\w}+%Q}n7ω#zխn5.B}5;7UlYw/Fa8?{J q Q.  V"ugz ٣Fgz͐OKT&Q<5xayPu~K*LtZKbL#޸nV# rj#\B7ҶH(B^*fep7Cl-@vj?̈~G rUTPW( һw[cRuq] }l뢙$'[A1(o/(}p8vihv턫q~N$X]t?7~,=mmҴz\烾n ^8^I9AkYf(BEUI5P<<>6SdJ&ٚ_&tw^,mr_vݖaO3:3и{.lJ&RZo@QJ_~ɥP$Nmo!\ΓAQwάY۱YVAPk*{eP^pwvЭC?^c-'|e%rrC~ \Bd%mAJ-^ŌY 5`+ V6ѧ6CT;yx9J2WXֳ܇џL`hٯ?$b"[6 ~9J|uܢAU l13ZMܒ(-7?s'>zW}Pgnk\j}`¥gy|2L;ϛSl-`oM# zMB9%S 1SM c¢d%j׭wgUaAF}n >Ilo¦aPZ0V"̎,ҿlEe 4G0˨7]b\![;$#VH!D>OsN4aJJ~-$ʛ~nfqf*9țˎ+cdEKP{XT$wD݅F NxA|e :diA+4YYSq=bÚx +. eO;S(ӏ\١-/QrnЏbgQC,/P=J9M"$D& NP%خ~$frS K=1*{!EL0+ކ(BOF8gjOFq*( \` D4n nͲxA2] 2upNWb 7x(@v_?,i9S6Sl[׺}qGO~˺j^NM@phN@(#@Aҷ{\7o~#Cץdw0#2I ^E8q8xWge`4ICxў/җɖ}ؓN/Ӊyv{z"쾇yh+\I~7{.e|qggyAӜ̒Lf;iծ>K95:l4wb[$IVt\Am8Qy;`ZMs)~͝|HHcAjyŽl7/X8||@+K4?W8}APP( 6]F5<(}T>SV6*fՠ}.46Xnk^dӯXvL?F<ؿ600ԟ@!%Rj]^`(d{]xt܇;5֬Ւb/fir~$[(L*}q+FTo E~0 s)qD5)k BHqṼ^L2,㭘yW,Lx #.H21arw]s8-JdHYW$4s]y4ӝs#Tu\'kaT:o~6tk^cf-Mt}MFA;ҁQ%0.w{+̞mky8%]fl)ӹqrlP]y`P>d)@ҧ*4{צՠ}gѐC41"ntP"6-ԬL&u&NiنrȂr_،L:ùMчa;ȶ_nvUC"cVs,*E'.BJ/ M#Q|2hҙO2NHlt<|Q2}F8S=Mq>{;kxD}D<nE3^. 0e?{cU8~X^QG{/OfuLg=Zq@ a t:ʙ-I ]34#T5v 4-ö!Q-k%c$fa4z "B7=N=[Mr!ZGa~&Q +%:6٥Ԯ0 hR5=Pr˔\T;㾀'r?_/Rї?3Uٿ ڪNhE)ԛwهQpsnxil(qG0W*` d%1.[[6(ǫxȉ۵y>z]-%2`)} J놇v((Gҧlys@ U` P xm#27OxWRq u}ZJW~~QwwևkZtf%H󂷛׉Oj]nD{Ջ>O[Xgjz!ƋLMTufr2D: =Vėd?QpmB|2v S:4Hp_cy{w8cBRߎCحgBX>VPs!7 ɊɋUeI֨8}R;?YZq_3E|Ż'phh^ݿWb#T. xH}Mu}Tdb3*wČ碆^P9H=$:=[\B(⣙ Gbt%{bT"[> V/XsbV; Rn8ȶ{"$- E"S̩Ccp=} a&ht-6i= @Pa9T7Q* 'ݓzy79> 1'mOj] \ NaVasɡb(xGyݚ> ;~FE"(׽ˀΖ_0O^2pd EY }PXUT\0OhsSKT&!4刌 ~swEsri,5i|_˫ iV"Ke{}>e{_[ ?LFjUPvxx/p!Aqɂ8 }1\;UAYp eaSmx0$4uǡ0`%M Fae׶% u^و[ Nܲ}GU<ӌ|AM R$4!鿁jX| ύYڑAٞcy Fׅ X.3uH㕏4AR<7,hP&8//-F k6fP2.II`(I^5+jZ-⡛vB1C^5Թb++š?3M|#RHq!wdx6{cq eЄ9$g0z@g9|‹R{7QO5 kZ|]Ȣ>%G#I]:$xe=ƠlӍiWz J \nǤ<񃥓sCJ&HǬL A$ܑ¼[+)0kk\":1MYkQ*;L ֻubk ޳۝j}34S2dg\MαEmcٙ)79|IT-Ӽ)~cj3,(p6LۉV%faOOaUt-cDnRQ?[k9!,O=1(riL)XFaywvvnku&5»+^!νܗwOIĠQGimv;cct&*w=w% "qٟ\ e8[Mv*ecň~wVS$<S2'9|}IuX߉޸p[-?z|>BOE{2dx[|Q7#w;oD3 xr)O a!W9.Z`3IJ%SBSwA{^ c:q;C4;v(( ;;b RO}puAU:|se žYJ "_FRv O.áݖ_Y;E-&BOgx.G4"{5wqg8:, tB#Dc`\);WOe24Rrwum286xinBr*"/z1M-9|q*jS\_GVbN-3uE繮]|;Xܾs tZc8β*ಊDcqE?qeIν~ӹߴ"v,QS (\UGU>:F8 &HvyVúLwÐ]m?OGkfzλ%/J4N0b$5٬ÌQdYL`sgְ3nAr4|ޓ1WRC8BWTUv^bvtk|VS=Bd \dvf.Syu+B.8ǍkWj6ȍvgb/I=5P>>.Ɉ5*!.N[ d ҎVUΡxkNHץHOlrX\A$?\Cf/a@qyI,=|Gu9m.ܢ4TY~q&9ˊ,L}Y{Mt+G8":9FeX/^G8Rr*peC,GT{ 7MgMVx$+XY̬k7oeI԰t`SZ < ̼}d{^2r35hlzֵNP g߫G=q/♞kˋ,홓@f&yblT@#94EK8ׅy^RÁsAϾLf(x9+9_qW]^g}\'Byg EU({zD!:ij>氐ʲޑ*<+H~l?O捭H.jpL"&år2^Q㇯UeP&%<q["pQ.|[ Tx)$؇*NDl)Zk^4E C(tA&1}v ;VLá3}pcaBps[LcdeZd ķ( (f} v>ݤExCe}3@&w vq`D y(ɦnkeVBFTG}uoQehK:Wҙ@Կ1#KcOnH~JP$50uͳ!j}Կ(5u*?GK1vc1^t&z-rлhuS]s:C΅C?#pD0'W"Q!en8 N 2*.i%"~r>ddXźcETTU°>cU$`%eLŮ*/ 8 HjNB|5͒H;E7gzTr.BQx)x"%t/K諾@0'dz8sLXT]RbQJSXabut:Zn2"f~R,v*X3˗6[Ϝ<-!_47|ވJ9[`U<T$EX i +l+Uu^!eMhwx|:0sX+ p_B ev9oy{xYVR*Λ~ʭ-ɥ7nݍjqhdLZlMm86ao̔ s5<$>5>t}~/;hsіnWG6g6,ak׾pw): <{TGu߮#'g/vV5Zj4`ưSB$B|/khkC"ځ~e䛇)vg /20uu;HcȄzE.l텞8 m+}h1 dr=[k:jl,6d#Ôv35.0Uc,޾it4.gѻM#x|~go`_}saSYӊ؄";SɾӐjr q]Nl9_i"Y.Q=A?xD75P=.mi[n#8^h_7G`g>.( dCw),LMj#kXdP@ =c>k;}K9k/j|AܫfiAi{9#[OBDZAE} zL OVPn?Bȍҫes1KI`C2ݘ(|"]Y21 `AL kU"YްN6ٳ;=qoo,cۖx=Rȸ8^-`$BͶ?Dў54p:V:X#Te^6zB \ߖYuG~Se*slOhAħO\nEe% "8ewP, 1V*b  )j~J-WD4\5¾t1P,tV,^^ FsS'tz|qG9<V'@^Z7D6+3-.2E #Vg!p%RlB`ѧ!ys6/3[,vֽ\.~\0Y/vF\Q]!zj<~яkK^9,9O bG鈔;iٶ%\FK?Wwؚvk|11‹lQ;npTY/2_d{9;j)9B/pd=ws3ӗ〢L=jh00Dm:!?]4X"DI lT$G=%?gkm&,<ƾ|QNXes:;UēB3vM* JekuOi&MBvX[a_X*ܧ %/*11ߜ j̘8ƅ>˄oCK}:xڣ 3< *I*J6tݟ9wks%)8X0VBK6+Qk8ztߛos5ey敌n/蕻Y-RۿBw!bݸQW^*rfۗ~i9ǫKjsYܬFʏ0:xCڔ'V Q׮=>&F6B,M\ŽGt9_IpLHn_KF$?:#˶+ot ?tV\z@$ '>v={BIg-ݫ^_M؏PjsOւzWt%!(d J< ?FT % )՘Nq~'`{A^*B5x>d6KPc 5O~Asv|-/8_֬g^߆Ѵ8'?| 2N|P'GpXl;5M^Y;J@f@|v÷?mr?0H~a4vh05O";d69J% J,IDPH:d/gQn;9BlʎΑ䔋G;}!=\#| tn5 O z?e1UXq>ӥ@[}_@/㧾f?oՕ*;[0Mrs?8Lmx78Iѯjr_ L8O1+!?RsCwհm:,rd|9hij?6^_[[2C 14̯V6|m ur0roٗ?EO"iy^s>{F!( \ڍ#adyg d^X4aKv=%:zǿD<|6B@c'ts\ehsqmodْcfKːMoDL;+u<W0X~/uN73 csŹ,ݦ:k`wgQ?O;x7p*\>@|~0>ZN}s vvbJÿWǭF*,꤅V(ӹӊ~wTI''5aV_(~r'W6+pD!#%: 6yYV<Lm;gBd=_̡9s|>J]A.?B_?CXv P+Ak"L4U B.Ly$ LX.DU hտ6) O ~eZ<'~GUZ~3FRqlhI7 4fﵗ'XEϦ~+GOػ0{mᗓO`{=6=R9T]tU߾,|QbWkIy5t#d ԰zP[=u8(h޹T|s%:O'x]| _'d Xk^okm+!\Xه}u-qv#s)GK*(QK@ ;EEKlaV9Oz_.%:G\319tc1^ e/XVJ"Nw'(;b$PSrs3s.(6Fy[jPz^S GqqW W%Gb Gu\ZSz_i(為ܹ6e^6z}R*Řgy`F1 +ǟgq)W ۏc[XiWʀBhMJ+L,?Ce f3¯]SX4#_7]jb*&AK7Owv0|i&&/hdU_%1pFIR!Egzף v xF"aEl˰%tK0&pb:|PMXɔu-BŊ*IB{\hY!aODF N7+6^,Ϟ8`jff%La>(n'–nkzűw<{$40[N;02}.BeCPaeuA*1y[RE'-:䊧iw=?#!C?,nQ~|ЖvykV\%E(}\(ʬ#SJv?;a?󵖛:n6so uNW8|ο|Yi"Pe`BDƛ8UMXFrmNA>p>߿"|;;`MO-,.kbcB}}wy{?i ABoܿ#],?}lP)p2T'5|7`ߚ(ye.t lh(6*xL08ܾfʡnu0N}=':^?T =cMe싆Obkxx1ՄŽ_.B|z G: :n^93z}!!'!0Ur@tؾP:5~[|e }ԛ+uЯV?͵ 6n]mݾ6HEE]喑Pv xvR> 9#; b?~L$`-/`O/luo͟ '^tAoX yȇOqS ]0""e@JBDJ)U" fa&'ÃE#8tѱ"5Qa o@Fdj{Aa@CBr *9Q/FUCoxq<^Hui 71L qg_B໙UgxژBiPaaV!`f!gIQL tmi8 xbq}gK&JJ=PRv,4w[kmlA3\ MY*3"pMH_ OKb5!7zkլX9\׼`AAb#¶赭matOV&714Y՞Lh}V\73n$< dH[I4$gI!&?t[Z92R\G\X"&ΡZUUUUUJҴ J֬" "4==iRCp" ~=dz07D?1 A"Xr5C^$xcwo:28)q򪢪 ގKyQTX>uЙ DBPP<'yMgyj{Ă\pfB2vrUXj b"Oi h" $)0ƨ wy-,`ȫn3b1=Y̍0ކ\tvqIzc-a$[,?}?v;i)ַ/L@E҆&[ ͳm㤟Xb@o7"ε`{ ӿ l1/AGz7q!i`z4>m+#3b ՄEࢠ#%90FOMdWxP1 EW^&4&E$-$u̅ygʓֈI7cW|Xĩ0_Ny _aEg&>b1wN;,mEt|>\NXqD#^[8ɓr6fxfnW4zظ̠tl7&: #{f%q0 sv oY[;*Nq~聈d:h{:}5lUe N]&c~W qHm@L EsɃpa!]Tn (`v$8طV}[;&IȰ9YI4{(xmAqVl`{cG£i{ρچ1DJnԏs{꽜em?>WA|QnUW~duJ {3 ~+s๸ EM\]C+~gR9盿.'(a{۪[nnyϻ$?XCAG)c~{Bf-_%b颯 3#,DATJWX_XwnTVh]‘Œ*9-75 d,iVj -]2A+i+@\sː0VTZ!(6؁ g 2h-x *fG?BAc]q(OtJNyYiU\^$n1r.TTkO3Չ&CRST5]d,J QQCF%ޟO_oXad3<R|kʿ_VكK$*-!I1ZȾ"+ HR@zx4PM$BNW Nb&c@kM;6%w5ulsPXaU ZI Ä {m;e}hc9\(Mh;RBbU-o_))})ij(MO'+Q4l`ݝ;uٽty 6גXӺo!E [l[)OȈ$)1 ,;rDX{=D{+,^Yd3K?nL$ECEDhYu>.srp (Q u6BAV%=__ C aC6[ 3UM\L bbZ*,ZUiV <-_"p]@@T*UmNv<{B(iOӝj;9]eƽRmppמ%OƎ\,۝ፖvFǩD{ץr|!{rLpEP:ܟ_Rϒ1%[N3ŶNHJV5>7}1!Yf YϽY*s뀙Gjuϭ}R}V(IOA"MVR{nNF o7C.Z@\ h*eŝ'9t ̬N2zOk X77Ϸ-w PX^#m,U#(𭑩!Lp5"oK`mh{u`?wL+S昰ћ9->՛Q1Tu8K壘II@anG'tpyǣ@#Jh:!S: _|ZVZw?S^v>Lc R>Ck-2?kk.3!A>]N`&%uј +g(G"yA;n7W g=AVΎ;!xV878GK#"PGHahZ|sONZ(p߻)GK@Q,o J:3kdDx!z[gw?' !izFr$\]lHC00nxnbWJ&\ >9TY6,ĮzTAٯߵ&QD ?}:XP+ /|lZ4ת+!&@̍wxZ`6^mgTpuV+ys^KHYSzݞ(T)Q.W" ~2 ,.^P" y>&?ΏSn!z"&W^;lt~J\pXd#7]F_g̸k? u 2 4Oї,)bG aKMĜ3AZdaл gtVgNПG4rO"Yv X-,I518X h#w%Ń7t\*#mDUWr(/FZI·lM4TG}3GIAlvqc(yNm0&hl ɉ!:뮒+B4<$8Aow>xE 35yz˻ZldFHkKLIH8JMRq,} Nc}ɒ`fo$KLbp y/? ~+?}g6[W J0`~[>0>~oЈ=A^DD^}v`ұ( A(}BtOvvVYv4˼VBbWGHuqyl aXpuz'wHk5fZ~)![[ll٫&ɤ"!sb#ݎ0=60qxASVa`R2 /z > "m5;2"G"TuL`t]FF_r& 9/1ws%G=i=NgF70 .s QXa]X voq#NN֟\sbz_|S0gvt|d@"8nђBsKP0lֵhKGB\&딚BA%d:zh$`a8ڭP)ܯS Blb_b#m,Ar6lqp% }j[,SU4 78R?9Ζ/ %8u *)zli2U&[d ]rDgi$"Bї0wgAƐ0)/yEQjsAd{PB5٥*)l'=z{(H"{xJFs80>;3=n5\Txhn@^!^~{UH?_tm¨Kg}D]E;_KšHv}(~XMNRKUCW)F UCݎW,W!ge'қ#^(Yb׿yk%ݛ\k"a[]Qs"* e}  eb]8q׫|щd,KRW#"xtG-P00gnXgjlYԂTwon؍tfWNy32FCYcl C}F%p[Ke贄=2ט곙&a mSr Us bӕ~sx++qsڰXqU52#e[X?,Uv.^[>Y9u-P\FiF)v+2\A:c:BIJ2Ur]kd3u^*pYB BL0H" UeK0+'ʧ $W?֥nf tn].cu'*Q89Y]Όq.9u";%az41R]z0P84u{WR#Vyv䶓sCшyd4I(D6Q|;T1І*[hbyFzU$؟^Gn4y2;NL5ىd!v 0à-SD@SZT}H|km&!pOWfmu x{|{ݠڑ!a1ddPCyj>Q߇mͰ̴OyFsѠjqm8ZZVwF Sh J&a 3[ 2 :-qX;}!')˵r.8-]ϐr &D]hVwH $yBAp^#GTZjukxLJ!S3:E}*bWw=ojg6o6i{wW,-ҍϴ)HD*_3m %}n*Y-tG o"wDTna∈FxS3<=w0*w ,i+?* ]P{ st7_3lo7d\y鈫 Y/Q&D}fplWC;\?h1R*$;b!<ys|n/ C(T1PD" dI$H$\M)P@6q P|Ѩz'sn^ M* SGôTGGc)WOFaO1yTO"v*&~Kr[s?wK1@=uR}9ro?}@@ˈ5qnw|(6k%ނ yo'0КxtoVD@{=2 ? (vsǔ D53߽z.X-/km<`"B7N)p11E}URS [Jf "Kd#@ezsHb&@q-ϗn3Kc=gx>d!_M}iZᩋMk_gUU8hl IYUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUh}B/ CGGB GDR:n 8 (:T Sq⦆NgEWh-XfR FFTV;9UUUUUUUUUUہu3儛(ShbSH| ![;fmyQGO $ڠJ/y怅`Qwu퇁snN۝UQ9'jvNНc00ݰ p"h#ƻV:B xQ}:o =ڤzæna1 `DԖXP{1 sd$Kt8} ]վz;Hp&EarNA)S+`TٻsQBjX,# αm(H; Vf7ybV?m;|ISVzdr 8ߠ;=F|^Wf!VQ?V9(HpֽDN\!m~Ry`| >}`)?g?+p:3Z@??fZNS=3?`i|(v[8 $rOI&"I}?e7nۿQ3*UUUUUUUUUUUWBGkdPػ ƙ`@]I)@2u9˞8g 7d~G1J-7IէAtڠzM@br)ȟ@|ĄKSжΎsc}B'RP,Cq/O)= BOvx_դjtSq0 hko@Mw(Z;h:&#Xyap: :CrN(2Aqq$ (;bbayO#Ͽaa} ۉm/1$>f\6tnrvitEpaGAyu>kI {*J/>F) CJRAJ#BRSTKIE a&@ Dd4"P`~Hou"UH԰Z!Q @`f!  pY1\TIB *(JA bV4!3 T@SK Li ancvD8C&Bb_ 32&?)Ic׏g{#od[S!D2Z6Gx(UQcOBf=;7l>9HAyQ,؃Ѣ>Mxf!bPvlhuΫl@ P8O{,`_eߔHZ**Z*b(UUUUU*R[ð E *p"MGN;.BI{}LG3P~2B }s,w X/qE/Ҁ?#ųm;SvSV bM #С(Z =g QT( p@P@87f2I2n{w`$ (U5-t6Oy/Di0~vT&)>PsD®󻐴%OY*e11a4z:X7|PB(KUKQ2|{pe$SAiƠ@)%+q{(bze^xۈxA.@p.T8+ц.E p"F[PB>h*! ykj?xᲥN߬f!\}5PqI zysfnp˗~9}i(e 5K9Q$8#uvoC{m37?ݖvZM?9n_ έ(fo{36O,]+v߲~OcˍFy/M6Ѳ0wt>񷇙^qƯ^_z<>H~%ӻ3m!D8Y|@(Ȫ`LL0!#'rœjѦ]4igmߑtO6@j|}@gsB^G.2! )` [Q-td03ȡ}ϩUbE$;tCoPB:g$D$]1g1Χ9BТz&[?,V}␫3Bp4!y580Ʀ]?206 {$3\ q^9n"&lpMA|A_WX*7~R.{Z͘U P?lad~ƭ xL0 ֒kI,"`pQ6G|"5>#vN;Wq d_N]GX^ڡ.K,&+qg'r~:\;aaa1AF%v缿 [}DfO[Ϊ  L 8yXvMjvfDE'mkG;sTϹ:Q37N42O=-:nU"J&_5:0/&/Ҹ&>ar8$_fc{#}*g\segr @m;)`H% **((Hw f2K,-O]gx6Qa@Qƣ[& n h=<!j>]{2_3ӣYAC@| Gk: {l>~]3>I8U_軡dxug~K_COE>/ѡ09YSkZ,:w^,Y=1*ȜFR2 9>?`WpGBp(,.Ow**OU$1b .}}y}xff2,2">dBvnmlY氾"}Ü=d(܃] LaEFy Q_t0B{Y>E3Q Nn@?})DžPGIG8(mQ2:^6ttkR/ߓ#9i(pTTGuN@|)gGJ\5 0?f _'ECuM։CA2e3L=\t1P:j^*4,5z2/gG;q3ɵYڻ'.GR6 א/x\ 9n'<çK]B z7L됓i0 <? 4mtK-#ז8D &[(PtF6J6P}_GE6:LJv23 ~߳=\_ Q >>E}k}g0 a owiy{SL9mw5 b;2R>ne 7x 1@o