ࡱ> &(!"'F Z+}) q%JFIFC  ,6') ,@9DC?9>=GPfWGKaM=>YyZaimrsrEU}|ofprn[WindowExt: 3035, 2703 WindowOrg: 0, 0 Content: 137, 270, 2889, 2580 Ignored Opcodes: $105C44nI>Innnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnr" }!1AQa"q2#BR$3br %&'()*456789:CDEFGHIJSTUVWXYZcdefghijstuvwxyz w!1AQaq"2B #3Rbr $4%&'()*56789:CDEFGHIJSTUVWXYZcdefghijstuvwxyz ?(((.q;%%l`?Eڟ 7ijΊW  mmb@pL?*_c?m [EgiZ펯26Z5&EPEPEPEwRMsE3B##-{ i\ID믵 ),/!s9Kr$W:[vGqU艴ΨJddYػ~ gk#Ѥm~X)cC=.Asc'&)B+|]ᶙќr㟭is ".9AErAE?@! d?th2k;Q{'h(YP1#0kNgC' Ϳ6݇YDw8(V_GXNeraOч##k B0=?#Ȯ~$[gξn[P ftwQE ( ?_\g} _<2 5ԉnȢ)xnhnF؞=HVmhx}gdf"٫p?£Wn}\!Z^=1N;Ck;FlZm+J;5]mA52bfdU-LO*?[) o~U>"ќX3a³z8JI[cS!a=ն b)8pU;qA=+33у"9'kjEQ@yo.W zyۭ~`%9z("Y" Cm-YMepm/a W`&|cZrd>hɜSumz[`:*+o-G_ƦZY܃)`2;W]ᶏ,R5>[2 B*cO*˖MJ!hHU@>zL2=qY2ݾdYa0'$g)]O %cQހm$XۂId,rȉ9"'h@)QRjQE|@ݩE#H@C&:ЄՏ*foF?ҴV5€;VD.мcqw?pzӨgw sζ#dvd7sTԮ6j«$*= #)HOt*xx-RI%~:~fKwPS 58>-5S;sxEWV,d;0#E%E-m۝A~\~TGU>m"pU}Zp/r' ,E쫟֛`eZMX vn D㾧}cXj#)OAW+ˮHٶ0UkoHϗp7ϨqEG{_5+7HN~E"MKGPGpzT)+Psp"eCS @[#t@C^nx?^yce,l,YC'zIY]R &h~=zZ tu#55k$Ω%'tf o?&HgnF&u⩓Y# 1 Y^`A;!YzI;'\AfF8@byiE\A犉+U~w#xcڧӛu~ֱ~7y{P3F0p RjPsEE` -5-U'>[dz'!VE*?G;ԦGjҹI^Y H.bK6Ӕ/Um;,\E :8ҽ* Bn|2crt|ќVqjU-vpR82}ۊ.q'=cmas?'Z&4aŎX}M%zK|?OInmN?v}JRjy?èBEz09Qވ4Q]ޝVMڕc?REӴ>il?o@_eZ v`+n7W0Beˑ^Erv (ֵ/ZaLkQ@ (MF0)Q@Q@Q@Q@Q@Q@Q@Q@Q@`!5,7L{Z^eb& xT;LA}of6 iR MJUHPD%pt.MR$*".%tLUpJD2N|'쾷fgDE'2"9>瞳GBh{(Ƭ[y Q5{f25󿤒>gnE2bE`$7~h~ICCe`t/lg?Re:)7九D'?5ۅvqwWH;51\Z?E%jH 6ϱBgɀ]a ׬HaXYKeiLnq6-n8Ugŗ*?nkc^VdMjo>aزJ&x!ؓشSV|irۼ=Y7mm0`:PwM d07g>g7#yY}5]ݯ԰'QGfZ?%/! n|w!Vx!>PNG  IHDR TggAMA0PLTE{ pHYs(JIDATxu1 E]F"ס˱H\eRH.<߀JK' ͯ;]D-A%4yܽ./)5 /6$2 e4;V rh|?IhrՂ* JPmág;!!}rȐ.\|dVpUnAQVXT+$@b?WrhڂNyr^{]3@"0AYL4aqIENDB`n ZEX_vg:PNG  IHDŔngAMA pHYs  ~IDATxݕMv ?z/q37C'S"n^0J/QaOjQUU;g+h߿ 6Hࡿ!Y2h'aڃ(I_@ﭫA.%?j""ROpEuks 3|"K)9 ɬT=RIqtd"+Y UR3;N^TT$ ڛ^꒙k O{*zNT}GRCXϡTc;}HӾQbX/ YNse?>Sŝ=r"3)l.B jX-朇 K's}kf^=_oygzwq' gpQdP ]ZIENDB``! ,#/Q0H~ҟGvxڭ}hg&4o듻<:M}9mZ_N7V݋7mhVFN1ݦcM mE ai{~:kay=sel c  |rhl.cW F2޻m[P߻{+2ޡ#G,33,Y'&&;\5[={]үɲ0{y|`6pNf^oY'.^GQhMT3߸7Ӥ([k=`,9i)*05L6;=F[.Wg!kS[ޣcJ9`g'kw9愧ֹcp&o8u0y}_Y# +`0iuL3fOxqL2N޶17Z [hY1{T_?㘻e\Mm=1Op{~CSOp*)A+bs)%~:&cuJ Hv[$`NY/:1-/0Vel4kJ/0VF-iFKcu WikcuW4'Hu'}rw8u< N d\jr j8k_.;0Κ jlZwH]nN! /48#,;O~ [=\#qN6+cF0NbAg'IPFWaTyodldHyR=ŞԩR`<%s SR`:Wq%(uYlƩ31NRBX4>ІRr8J:jnӀw P2Jy8.5[k=`,H)1Ji?=8;Sg\k_$8-iy`g'oG[iJ#%`sM O&V1/Q&h>/1wG/[$`xB٫]8fN-whx9\S29:=(-H3R!yA:dWC)^5ZIs^P:e6k jbc*0V+E5>)_#i֪]'T`N 4_CX2T`ڥpSV2NZcuʒH`3͸cu`u,?in į1J4Y(7 `5P"j `Y-T":э0{ˮ:'ef8js(6`! MlO9)뜬 u@X<xTLU>sE~H1 Me¥9F shIJN -EľSԖIsYT+t1_PЦIL[w{9=9{Q!_,LT{t$f;@<$0 8Wh~8!!$}hPNm~(>KQ72#}C)rE>ʯ~TL{Mmfk1Ӗb[Ev1`_T^z׋.2\tJFKD<@ j*)Q'L92ucq= A gˑjjDQnFuLW{;tK^۵ K].26fu+@/szR;{ZI.!f{5T:4;7q=XiKrZaJz :O]_!qrC:^sT`JAXN\#Ux+g' Tp7<ZiPUyޠ>jQ|R=ʟ+E5ZAj4^%>8yp狟 )"5,|yIzAVI5p^/Nn<>Wi#_\y׼DNk\f5ż}A>utCt9BzPU* 4A_7ia'SCT K4R9E4%Q w9xr&*l T[h+'a#RPvH*YtFQ~ӳwnR_sPxL.O6̓\-wզLEd~j<9^ ߦ[ܧ cUpbQlhOn>}$B賟|@= DH*fBJt8ЬCId x[]lW>wf]ېnk- m-SZ,JBEPj1 MXU,a Q*,HheW"U@f@Bɣ7: Lh/hCG F&,6 ;\s*q'ۦ[5Ϳ7g17]{jjpMc+jo;w뻲6e3`"CdNc7!=8ݦc{er_[z~09W@CKRFn~pI_tMrNoNoMo)9}O%oox_7›?777ߛǛG%mRzsIPz8)K[Yq|Xj p(舱X :.ͽ4=G':+awX?у!ξYn!=K7@+hs_CovT"c/iI]%Ħ0/0~ʬ;*Xqs&M:摬K\Z{\# kd IT 4> ^n0[Za\|lKl#E:Ocy63OCJG5iy9r":DAᘸ]6ʖTgTd]3|bq..yh#i2;%^zzzXnNe$.~i$p4c{wr kpg9]7F1MYu,+HpD2ڈʕ<[k.~p31 (2s)_^ި;4.;Os1{tG~Rp4Ht{^Ոk~Vg_'yCȬY>/>":,C2tXͭ $8X ]|hH5?+j~Vw8A:; YyUǝ.;N_mrg$8X 1]|߈k~Vg/֗qTu)8A)~Y5}~钌sT_3k~ 蒿oϟO㼨p_ AY׻gO8]7A 1kf͟V8L`1.k>un}R`+ %c<(2KuzyK2i)rͬ y, %Sm}~1/MOxc"fׁ_`MpA$avsC A`=^EPdS|}>%h0rͬ= K$8X .k>u[Gxg#y>Hϗ4S9fAE,@KoPl}":Wpp_΋U]EfΚ_>&,*f s:,U,s %O~;Wx w~wono"Rgͯw>tIJnn_T8\'bp$fל 5,o]7:k~ZJT㯙5E O{,dU7[}7n)]Kk)~w,EnYߩ]?뻔g}R40{QAa׫cG(ЇA[fkbeݧA X1nn-?Z[_x\닌S?~d^2W2JtJw:Y?d ܲm&A}'Ox[{ʓWʐDo6Y=kKnBYdGh>oy< ? |kgh~ «Ct D''͵o< 藞<Ւ7o>}>]7 z>o!ilӰ h"ʻ},wnW:ל]Ar|o԰[Z«`1QZx6w9Y_ڷ֖)v / gdXmjV:A'.'V֮Gj(6ZbjfN?sz$Z)'qW<TTbcUrH m-{<~UFz{/P;};4]z^Cx_ d= ?^$Y_K{^!Nc׼8^:yYt CG{N;Ni`h3?~~0,0~9>nL/|[L/蠏Gȑr)M~A'ZD97rN?Ò`!ZҎ<6X"1 <xu}LU={$"ɍml)hsRJXh*YmY[Jr-i ,P(e Q, *Ch~Q}9swDk(?P K lS(_̗(-4$[BQ]R=UTH;3,|k8LÇc@HS΢!8 9d\@.2$1 vU)zIU<\/z ]]ߢS 76F8Ehy.ps{AB]De]'v:O NI#T#Jx)wpKt,E9Ar~FEx\4kL%Rz%򨎈+(GQό'f@e="l D[2ڥ7Rn{t?L=|r#F](}].]DчIK3~=O˞#:‡t.7 arǝ}rZBt9:-TNE(Lӯ( ^ <,X2tLJi%~"NJZ˃xk Ip\}6xڋWcRWL1xÛ{1V˞l5ЪK!; NκXS |ꕙjlzjtB\]4헦b.z[i*mQ&u^òM^d7y w ݾ4t]5X&٠s\=;fO tTfNv@=7 z&)zJė?4[yhd@ x\]lWIAJPR懺iĵ4v*p@AJ0%UaAgK/aϳ)opl?16X̤ |ܵ#Θ4n~Y]Y{A>>c"WO/ }!?Oc Sgp^aNF}(\C}oɴS:=2qm|MF?_ _ p?J6wk{vwNvzan➙uhCSx|5?)>h'Bimi(g%Yr^{v(AylZ=#~ݦ퐺u@ykSʩB{ Xxw>o{swD{ ^җ4RK?QH_Pߟ 4~Ho|_d=T/x%=WHRKl?<]uF!}-O  7 mu .}/߲SN:S{GJ `C/9lLQ o9c( W-F:re[N ţi׹IulMZ3ul=rNYģyySulkg[CYA9^3+xB:1υ wl `׶uqcfiN7Vw7Mckt[gIo݌8b}n}:~mHl|:Izp;!6g[ձ>׶u8kOһh9=Ck?24bFz~M=A׆F8x Pp99Qx-tc -(ƻI>3=}X/:/UGʧEM, (?/+Ny~,i@;>Oݶ vm;G;#̓S&.4g }권Ӝ@>*hhxt6ߌc=Mc]xfU i#_o'qynGSmI'OIxsX<ܜ\I:z,iܧnz%v?/kNyuX<Ҝ00##Z^'sweu߄xq8>CkT8O9gC xg89=Q~/лTG89A ~Yu ^/;4T8/+9/uA:3` C8I:ƙ |-ѿ~(xʭƊm5Jܧn+ cH>;8:hwia2 FBܧn+(f>Z8:ΑuC`8j+med>OϴrA:ƨt"bPm@ps]K̏MeYo`^NIM}FQsS_߮Oߓlۿ>vQ~=[.~:v%)hMsԅ]>ug撔/AEsJel͍BGqU.;a(׿cƣߪ]vݔܕ8tRvX.Ω~])l>v-;TvV̮A;T>e>gX_S?[wOqJAHu){mF|i+Ak8Oc煃bו}PJ#3[9:w>C껜<ׅz-B#3E:ϻ.'u^yO`uGʋoxm%~+_r!|E]N2H9Grʛ]qP}J<Ҽ|J*1yyOǚIm%^>b2֗EK5>?:<}]?l[Ѳ =u._݊@=YD/#]d@6?j8x[]h\U&54ZlED-mbmVj6Mbڦ5H0RƇ%!/mZЦ  > ڼXćXDI(=;wܟ$Wp=ߜ̜9;sfc`e#(S~M]}Yvu࿚o,Eًw {9̊\1܂% .y4\Qn/Տ{Z1Z+$I;>e5tJ+J?JQxzIsq'Y%lqzqʣ(h^$_p?lcBg#HO[VV‡>f7'&|Z9Wؚhi #3uxZi/+~L V_'xW'~B~Mw~WƏӳ> [ )?Yϐ‡~R'~]k Z>J_'a)s|N}w͹DJct~}~iA^YK׏=0oQx{2 ]qițU;fX2/KWSC^|k9EFEpYd {&`ÞBj8?\M Y&q׀{M3mv,`w{aLm+;QU >H eڔΚSf6ftBjZ ym]Lvm mKE^ErZu@u[uෛַ|xc {&ie8 k_['jmum[+^/Wa>͠нoV'2ĈuF 2G UAR%H.y½W>Kr~HC9< J8m5a;wS2Nj ',XY܍7uH/ k Ƒdw@yN8|&_GT)wb{H58Zq1C|WvTfؾ`&sj]Ʃ~8{zRqZGXy}GS/'"bA :y\_> g"!}|}y>>Y!d>?}|}*# ET߻>#Z޽}1wd~/\{@G7/+#[K5vOA{(~56׫ՠ3(_\-JE9 bUErylKygY<,rPy9{5Yj{o$쨷!kA qO;t%~1AD܉zX{~SqWO> s ё|3]_ gsP>wn_k)_>`));֕|>sW`ƑI#շq\sj]sT>$H^|W _^! _A>h~ =$Q_//;Xgcۄr<΍TsjyoB9NZYd ~?o} JUX'?/c5!ӆ7Ӿ>Fgd,j_َX42)el5ì;-7gǞubnw{ŎvlcvL^W>z6v2[nq;C;ڱ?8xgcOZ'߳X4/o:C]]\XmcT G z}J4#LNx>i)0i Q)#  P/R$Z+}) q% :z2$5,7L{Z^e" zb$|w!Vx!> zb$ ZEX_vg:xz$z2$ ,#/Q0H~ҟz2$MlO9)Mz$z"$DH*fBJ _z2$ZҎ<6%z$z$z$z"$z&)zJė?? )z$z$z$z"$YD/#]d:5zc $ f33f@g46d6d|b 0tbf ppp@  <42d2d@b@bf\ <4!d!d@b@b\ :2___PPT9/ 0g4(d(d|b 0tbf 0p@ pp?,* Infocom 2003O =SEfficient Content Location Using Interest-Based Locality in Peer-to-Peer Systems &TS$REKay Sripanidkulchai Bruce Maggs Hui Zhang Carnegie Mellon University, " Peer-to-peer file-sharingD Many people with content to share How do you find something?EZ?"Centralized index (Napster) State: server maintains O(N) state for indexing Search scope: O(1) seen by only the server Simple, but server is a single point of failureZ Flooding (Gnutella) x State: No state maintained (no index) Search scope: flooding reaches O(N) hosts Simple, robust, but not scalable(yZqh2 MotivationDesign goals Decentralized Simple and robust Scalable Let s retain the simplicity and robustness of Gnutella and make it scalable Locality! Network locality? No. Popularity? No. Interest-based locality? Yes. Z+ZLZ " ZE Z w Ee e'Interest-based localityr  If a peer has a particular piece of content that I am interested in, it is very likely that it will have other pieces of content that I am (will be) interested in as well. :ZZ i3 ContributionsProvide empirical evidence that interest-based locality exists Design simple heuristics to effectively infer interest-based locality Demonstrate that interest-based locality can be leveraged to locate content with good performancej4Our solution: ShortcutsOverlay on top of Gnutella Benefits Can be easily integrated into Gnutella Can be used with many other underlying mechanisms like DHT s>$ZdZ$&=> '8)!Discover interest-based shortcuts""( ^/Use interest-based shortcuts( (Constructing shortcutsShortcut discovery Infer locality using underlying protocol (Gnutella) Add 1 shortcut to list at a time Shortcut selection Rank shortcuts based on performance Ask shortcuts sequentially Limit shortcut list size to 10LU^U^=/Performance evaluationWTrace-based simulation Traces Methodology Results Understanding interest-based locality6..-TraceszWeb content sharing Boeing proxy Microsoft proxy CMU-Web Multimedia file-sharing (songs and movies) CMU-Gnutella CMU-Kazaap%+%+  $hH*>CMU-Gnutella and CMU-Kazaa: From traces to search and storage?? , % T-+Successfully find content through shortcutsc1+Successfully find content through shortcutsV.Add more shortcuts at a time?$+Understanding interest-based locality (Web),+ (Are shortcuts successful because people are accessing objects on the same Web page? More than that. Only 5%-15% effect. Are shortcuts useful for locating objects from only the same publisher (Web servers)? More than that. Shortcuts are useful for locating objects from different servers. Are interest-based shortcuts caused by following HTML links on Web pages? More than that. Different from Web graph. Appears to capture human-level interests.T&VSJ,*TVAJ*N++Understanding interest-based locality (P2P),+ (Are interest-based shortcuts caused by listing certain peers directories ( ls )? More than that. Most people do not download multiple files from the same peer over and over again in the trace. Most people send out distinct queries before download (Gnutella). Are interest-based shortcuts caused by downloading songs from the same artist or songs from the same music preference? Perhaps. Though shortcuts are also useful for locating files that have different types. Appears to capture human-level interests. RwY*RPPwPPQ*,L@%SummaryInterest-based locality exists and is inherent in many content sharing workloads Web content Multimedia files (songs and movies) Simple heuristics can infer interest-based locality Interest-based shortcuts are effective at locating content in peer-to-peer systems A fresh way to construct overlays Scalable primitive for richer search and recommendation services in peer-to-peer systems tQZ0ZZYZZQ0Y/Tefg ` ̙33` ` ff3333f` 333MMM` f` f` 3>?" dd@,|?" dd@   " @ ` n?" dd@   @@``PR    @ ` ` p>> g(    6v 0 v T Click to edit Master title style! !  0$v   v RClick to edit Master text styles Second level Third level Fourth level Fifth level!     S  0v p  v ?*  0v 8  v ?*  0D v  ; v A*H  0޽h ? ̙33 Default Design 0 0.( }@@`@   0v P    Y*   0v     [* d  c $ ?    0Tv  @  RClick to edit Master text styles Second level Third level Fourth level Fifth level!     S  6v `P   Y*   6v `   [* H  0޽h ? ̙33 @(  l  C vp v l  C v `   v H  0޽h ? ̙33  P((D( @ (l ( C Tv   ^ T( 6A?@0 ( s `A6C:\WINDOWS\DESKTOP\com.jpg0 ( s `A6C:\WINDOWS\DESKTOP\com.jpg00  ( s `A6C:\WINDOWS\DESKTOP\com.jpg  ( s `A6C:\WINDOWS\DESKTOP\com.jpg    ( s `A6C:\WINDOWS\DESKTOP\com.jpg@ P @  ( s `A6C:\WINDOWS\DESKTOP\com.jpgpP  ( s `A6C:\WINDOWS\DESKTOP\com.jpgP 0^ "( 6A?0 ^ #( 6A?0 @ ^ $( 6A?0 L   %(#  p ` &( 0A? @ ` '( 0A? ` (( 0A?@ ^ )( 6A?`  ^ *( 6A?` P ^ +( 6A?` p L   ,(# `  ` -( 0A? @ ` .( 0A? ` /( 0A?@ ^ 0( 6A?^ 1( 6A?p0 =( s `A6C:\WINDOWS\DESKTOP\com.jpgp^ ?( 6A? @ F( s `A6C:\WINDOWS\DESKTOP\com.jpg`@^ H( 6A?P@ ^ I( 6A?P` ^ K( 6A?@PL   L(# 0@` M( 0A? @ ` N( 0A? ` O( 0A?@ ^ S( 6A?@^ U( 6A?  P ^ V( 6A?0l ( C v0   H ( 0޽h ? ̙33x  ( `0bP(  Pr P S v   r P S tv0    P c ZA6C:\WINDOWS\DESKTOP\com.jpg0 P c ZA6C:\WINDOWS\DESKTOP\com.jpg00  P c ZA6C:\WINDOWS\DESKTOP\com.jpg P c ZA6C:\WINDOWS\DESKTOP\com.jpg    P c ZA6C:\WINDOWS\DESKTOP\com.jpg@ P @  P c ZA6C:\WINDOWS\DESKTOP\com.jpgpP  P c ZA6C:\WINDOWS\DESKTOP\com.jpgP 0X P 0A?0 X P 0A?0 @ X P 0A?0 F   P  p `  P 0A? @ ` !P 0A? ` "P 0A?@ X #P 0A?`  X $P 0A?` P X %P 0A?` p F   &P `  ` 'P 0A? @ ` (P 0A? ` )P 0A?@ X *P 0A?X +P 0A?p0 P 0A? @X ?P 0A?@PF   @P 0@` AP 0A? @ ` BP 0A? ` CP 0A?@  DP c ZA6C:\WINDOWS\DESKTOP\com.jpg`@X FP 0A?P@ X GP 0A?P` X LP 0A?@X MP 0A?  P X NP 0A?0 OP <4v P ,$D 0 PWhere is file A?$^ YP c 6A j0223560  ^ X [P 0A?@Pl @ @  aP@ @ ,$D 0B WP <DԔ  @ ,$D 0 _P <v@`  9Queryl  @  bP @ ,$D 0B XP <DԔ p @ ,$D 0 `P <v@ `  9ReplyH P 0޽h ? ̙33N$  ##pJlH ~#( Ǐ p Hl fH C v    H c ZA6C:\WINDOWS\DESKTOP\com.jpg0 H c ZA6C:\WINDOWS\DESKTOP\com.jpg00  H c ZA6C:\WINDOWS\DESKTOP\com.jpg H c ZA6C:\WINDOWS\DESKTOP\com.jpg   H c ZA6C:\WINDOWS\DESKTOP\com.jpg@ P @  H c ZA6C:\WINDOWS\DESKTOP\com.jpgpP  H c ZA6C:\WINDOWS\DESKTOP\com.jpgP 0X H 0A?0 X H 0A?0 @ X H 0A?0 F   H  p ` H 0A? @ ` H 0A? `  H 0A?@ X !H 0A?`  X "H 0A?` P X #H 0A?` p F   $H `  ` %H 0A? @ ` &H 0A? ` 'H 0A?@ X (H 0A?X )H 0A?p0^B 2H 6DԔ @  ^B 3H 6DԔ0  ^B 4H@ 6DԔP @ ^B 5H 6DԔ ^B 6H 6DԔ@@p^B 7H 6DԔ 0^B 8H 6DԔ ^B 9H@ 6DԔ p` p^B :H@ 6DԔ0  ;H c ZA6C:\WINDOWS\DESKTOP\com.jpgpX =H 0A? @ >H c ZA6C:\WINDOWS\DESKTOP\com.jpg`@X @H 0A?P@ X AH 0A?P` X BH 0A?@0X CH 0A?@PF   DH 0@` EH 0A? @ ` FH 0A? ` GH 0A?@ X HH 0A?@X IH 0A?  P X JH 0A?0l p  XH  ,$D 0B PH <DԔ ,$D 0B QH <DԔ@ ,$D 0B RH <DԔ0p,$D 0B SHB <DԔpp` ,$D 0l ` YH,$D 0B TH <DԔp`,$D 0B UHB <DԔ0 ,$D 0l ` dH,$D 0 bH <tvp` NI have file A.$ cH <4v NI have file A.$l eH C v0    gH <, P ,$D 0 PWhere is file A?$l P  kHP ,$D 0t   WHP ,$D 0B KH BDԔ@  ,$D 0B LH BDԔ ,$D 0B MHB BDԔ  ,$D 0 iH <,9 EY  9Queryl Pp  lHPp ,$D 0dt   _HPp ,$D 0rB [H BDԔP P rB \HB BDԔ p`` rB ]H BDԔp rB ^H BDԔ jH <D-@ 9ReplyH H 0޽h ? ̙33  $D(  $l $ C d.0    $ C . <$ 0  H $ 0޽h ? ̙33   F`F( b `l ` C $/   l ` C /0   # ` T/H  32002 Infocom proceedings? 2001 Infocom proceedings?4(243, ` =` c $A ??x3   >` c $A ?? Hx dA C` <0 LRandom person on the street D` c $A ??x dA E` <d1 MSomeone in my research groupjB F` BDoV VH ` 0޽h ? ̙33  ((   (l ( C 10   l ( C $2   H ( 0޽h ? ̙33  vn4O,(  , , <4 a<$ 0  x , c $d40    , c ZA6C:\WINDOWS\DESKTOP\com.jpg   , c ZA6C:\WINDOWS\DESKTOP\com.jpg{ k  !, c ZA6C:\WINDOWS\DESKTOP\com.jpg[K ", c ZA6C:\WINDOWS\DESKTOP\com.jpg k [  #, c ZA6C:\WINDOWS\DESKTOP\com.jpg   $, c ZA6C:\WINDOWS\DESKTOP\com.jpg?+  %, c ZA6C:\WINDOWS\DESKTOP\com.jpgk[X &, 0A? k+ X ', 0A?  X (, 0A? + L   ),#  ; _ ` *, 0A? @ ` +, 0A? ` ,, 0A?@ X -, 0A?/ ; X ., 0A?/ [ X /, 0A?/  L   0,# / [ ` 1, 0A? @ ` 2, 0A? ` 3, 0A?@ X 4, 0A?[X 5, 0A?{^B 6, 6DԔo ; p ^B 7, 6DԔko ^B 8,@ 6DԔ[  ^B 9, 6DԔO;  ^B :, 6DԔ?^B ;, 6DԔ{ ; _^B <, 6DԔ [^B =,@ 6DԔ ? >, c ZA6C:\WINDOWS\DESKTOP\com.jpg_ ?X ?, 0A?Ok + @, c ZA6C:\WINDOWS\DESKTOP\com.jpg/+X A, 0A?KX B, 0A?^B C,@ 6DԔ{ ^z  @  D, [K  ,$D 0fB E,B 6DԔ  fB F, 6DԔ@P @ X G, 0A?{;L   H,#  ` I, 0A? @ ` J, 0A? ` K, 0A?@ X L, 0A? X M, 0A?+X N, 0A?X O, 0A?;H , 0޽h ? ̙33{%  +%#%Kyh$(  hr h S 4    h c ZA6C:\WINDOWS\DESKTOP\com.jpg0 h c ZA6C:\WINDOWS\DESKTOP\com.jpg00  h c ZA6C:\WINDOWS\DESKTOP\com.jpg h c ZA6C:\WINDOWS\DESKTOP\com.jpg   h c ZA6C:\WINDOWS\DESKTOP\com.jpg@ P @  h c ZA6C:\WINDOWS\DESKTOP\com.jpgpP  h c ZA6C:\WINDOWS\DESKTOP\com.jpgP 0X h 0A?0 X h 0A?0 @ X h 0A?0 F   h  p ` h 0A? @ ` h 0A? `  h 0A?@ X !h 0A?`  X "h 0A?` P X #h 0A?` p F   $h `  ` %h 0A? @ ` &h 0A? ` 'h 0A?@ X (h 0A?X )h 0A?p0^B 2h 6DԔ @  ^B 3h 6DԔ0  ^B 4h@ 6DԔP @ ^B 5h 6DԔ ^B 6h 6DԔ@@p^B 7h 6DԔ 0^B 8h 6DԔ ^B 9h@ 6DԔ p` p^B :h@ 6DԔ0  ;h c ZA6C:\WINDOWS\DESKTOP\com.jpgpX =h 0A? @ >h c ZA6C:\WINDOWS\DESKTOP\com.jpg`@X @h 0A?P@ X Ah 0A?P` zz   Kh P ,$D 0B Lh <DԔ@  ,$D 0B Mh <DԔ ,$D 0B NhB <DԔ  ,$D 0"z p  Oh   ,$D 0B Ph <DԔ ,$D 0B Qh <DԔ@ ,$D 0B Rh <DԔ0p,$D 0B ShB <DԔpp` ,$D 0z ` Th ,$D 0B Uh <DԔp`,$D 0B VhB <DԔ0 ,$D 0Rz   Wh Pp ,$D 0lB Xh <DԔP P lB YhB <DԔ p`` lB Zh <DԔp lB [h <DԔr _h S $50   l P c  nh Pc ,$D 0 ah <5P c ,$D 0 OWhere is ? $l bh <A ??0 p L   ch# 0@` dh 0A? @ ` eh 0A? ` fh 0A?@ d gh <A ??0d hh <A ??@0X ih 0A?@P jh NA  ??@  kh NA  ??  P   th 66  ,$D 0 < No shortcut. Fl  yh,$D  0t @0 vh,$D 0B mh 6DԔ@P @ ,$D 0 uh 6d70,$D 0 JDiscover and add shortcut. xh <$8E  <Shortcut H h 0޽h ? ̙33  wo<P(  r  S      c ZA6C:\WINDOWS\DESKTOP\com.jpg0  c ZA6C:\WINDOWS\DESKTOP\com.jpg00   c ZA6C:\WINDOWS\DESKTOP\com.jpg  c ZA6C:\WINDOWS\DESKTOP\com.jpg    c ZA6C:\WINDOWS\DESKTOP\com.jpg@ P @   c ZA6C:\WINDOWS\DESKTOP\com.jpgpP    c ZA6C:\WINDOWS\DESKTOP\com.jpgP 0X   0A?0 X   0A?0 @ X   0A?0 F      p `  0A? @ `  0A? `  0A?@ X  0A?`  X  0A?` P X  0A?` p F    `  `  0A? @ `  0A? `  0A?@ X  0A?X  0A?p0^B  6DԔ @  ^B  6DԔ0  ^B @ 6DԔP @ ^B  6DԔ ^B  6DԔ@@p^B  6DԔ 0^B   6DԔ ^B !@ 6DԔ p` p^B "@ 6DԔ0  # c ZA6C:\WINDOWS\DESKTOP\com.jpgpX $ 0A? @ % c ZA6C:\WINDOWS\DESKTOP\com.jpg`@X & 0A?P@ X ' 0A?P` r 9 S d0   L   =# 0@` > 0A? @ ` ? 0A? ` @ 0A?@ d A <A ??0d B <A ??@0X C 0A?@P D NA  ??@  E NA  ??  P  B F <DԔ@  ,$D  08 P c  N Pc  ; B$P c ,$D 0 OWhere is ? $ G HA  ??H w 8 $D 0z @P 0 I  ,$D 0B J 6DԔ@P @ ,$D 0 K 6$0,$D 0 :  L 6D 5@,$  0 t"Use shortcut. Success! ## B M <DԔ  ,$D  0 O <P p <Shortcut  P 6d5 ,$  0 vFO(1) scope for most searches. No index (state) maintained. GGH  0޽h ? ̙33  dD( {@J@ dl d C 0    d C $ <$ 0  H d 0޽h ? ̙33  t( X tl t C 0   l t C D   H t 0޽h ? ̙33   u m l (  lr l S 0   r l S d'G   B l # hE`FNQ&UVW))? XX6381-D81^ DS &{'LO^ D+ YL^0L8]T+ YL7Gn2H+IJ7GI:9]T:I:Q= qR&QJ 7JJ >:*;9>:+$.+] x!+] 6381$ 3-D^ D %D^0L8]TH+ YL^0L8]T7G@8Cn2H+IJI:B,= qR&N7#Q7JK J 7J>:8*;9+ +$ x!+ ] x!+$(,`C0*0*ITNT0*0* BCCloud5 ` O "   l B  :Internet  l B9vW3 5CMUdB l <DԔJdB l <DԔX  l s `A6C:\WINDOWS\DESKTOP\com.jpgxn;j  l Bsg m AMonitoring host*  l ZA111?t-=AxxxdB  l <DԔ.npB  l HDԔOXO l Bd#b DDownload requests l HA ?  2 H l 0޽h ? ̙33p   *=$ (   r  S $0   $  TA111? Hq Axxx  c ZA6C:\WINDOWS\DESKTOP\com.jpg    c ZA6C:\WINDOWS\DESKTOP\com.jpg 5 % $  TA111?- H Axxx^B  6DԔ eM ^B  6DԔ   ^B  6DԔ- e u]   <: ATrace 12:01 pm, Host1 MovieA from Host3 Bytes 0-99 12:02 pm, Host1 MovieA from Host3 Bytes 100-199 12:20 pm, Host2 MovieA from Host1$t !   <DcK   jSearch workload $X  0 X2  0    <TR TW ,$ 0 HStorage $   <R   7Host1  <Sx r  7Host2^B  6DԔ H  ! <tS   7Host3 " c ZA6C:\WINDOWS\DESKTOP\com.jpg] = l K D  9 KD ,$D 08  B4TK B D ,$ 0 $ 12:00 pm, Host3 MovieA (preprocess)%%,  # 6A?=  ,$D 0l2 , <Ԕ ] l KD 2 =D K2,$D 0f   6A?5 ]* & BTK ,$ 0 |12:20 pm, Host2 MovieA,f2 . 6ԔD 2+l <  :< ,$D 05  BUB  ,$ 0 12:01 pm, Host1 MovieA 6rB 2 BDԔ<< K m6 1#   Km6,$D 0f   6A?e %5 % BtVK  ,$ 0 12:01 pm, Host1 MovieA 6f2 / 6Ԕ m6l sm ;sm,$D 0 sm +# sm,$D 0B  0D,$D 0 * <Vdsm <RepeatrB 3 BDԔ l   < ,$D 0 $ BW7   |12:20 pm, Host2 MovieA,lB 4 <DԔH  0޽h ? ̙33   !(P3(   l  C W0     <TXB^ f4Success rate is measured after a warm shortcut list.55  <Y T  ISimulation Time (minutes)  <Y; dCMU-Gnutella 58%   <ZN25 a CMU-Kazaa 53%  BT[4p < Boeing 82%   B\M?C4 ? Microsoft 90%  B\4 = CMU-Web 85%   <>Xz{,$D 0  <] E-  FMicrosoft random 4% 0 BA ?9     H$M#b  YSucess Rate (%) dB  <DԔ__dB  <DԔPF _dB  <DԔPF PdB  <Dou u dB  <Doc F { dB  <Dof F f dB  <Dfo^dB  <DfoSF {dB  <Dfo{F dB  <DodB  <DoF dB  <DoF L ;w "# ,fB  6DocwfB  6DoO cfB ! 6Do ;OL ; '# JfB $ 6Do;fB % 6Do fB & 6Do H  0޽h ? ̙33_  0!"(  r  S 0     <B^ f4Success rate is measured after a warm shortcut list.55  < T  ISimulation Time (minutes)  <d; dCMU-Gnutella 58%   <$N25 a CMU-Kazaa 53%  <4p < Boeing 82%   <M?C4 ? Microsoft 90%   <d4 = CMU-Web 85%    <$ E-  FMicrosoft random 4%  0 BA ?9      BM#b  YSucess Rate (%) ^B  6DԔ__^B  6DԔPF _^B  6DԔPF P^B  6Dou u ^B  6Doc F { ^B  6Dof F f ^B  6Dfo^^B  6DfoSF {^B  6Dfo{F ^B  6Do^B  6DoF ^B  6DoF L ;w # ,fB  6DocwfB  6DoO cfB  6Do ;OL ; # JfB  6Do;fB   6Do fB ! 6Do ^ " 6>OhrH  0޽h ? ̙33%  @./Y(  l  C D0    0 <A ?t     B>!a  [Sucess Rate (%)   <Ĥ^ 5X  U#Number of shortcuts added at a time$$  < l  = Unbounded   < G  55  <D    610   < t  615   < l  620^B   6Do 4 ^B  6Do 4 ^B  6Dod4 :^B  6Do 8  fB  6Do4 :fB  6Do fB  6Do:8 ,n !,nfB  6Do M4 UfB  6Do! E:MfB  6DoU nfB  6Do:,E8   fB   6D3o 4 fB  6D3o! :fB  6D3o fB  6D3o:^B  6Dol:l8 $W "$WfB   6Do ,4 EfB  6Do! ,R,fB  6Do:$,fB  6DoE W%l >`r (`>r,$D 0` % 0>n` &B 0`z ' Bd` r _-Basic algorithm (add 1) is surprisingly good...l a^ *a^,$D 0fB # 6Do:a:|  ) <ħ{^ _-Add 5 at a time is comparable to adding more... + <={7 8Boeing , <vr ; Microsoft  - <p 9CMU-Web . <l ` CMU-Gnutella  / <-lH' ] CMU-Kazaa H  0޽h ? ̙33"  Pb(  ~  s *0f     c $D <$ 0  H  0޽h ? ̙33"   b( dq $}q  ~  s *%v0f     c $D&vq <$ 0  H  0޽h ? ̙33  `<(  ~  s *0   ~  s *   H  0޽h ? ̙33$ 0 xp(  R  3    ~  C $ @    H  0޽h ? ̙33+ 0 x( II@ R  3    ~  C  @    H  0޽h ? ̙33% 0 x ( 0``   R   3    ~   C  @    H   0޽h ? ̙33 xWKsTE>w^LBQ4<J.I,0(lVY%kW ,V%R.Xh1=w:wAEz껷t<ܾwn}ǝSEi M(w{?nv|}K՟/A3]l@YAW*8Ol;15k_p>_Ϭ>ʹ`}~K o#yP@I6c@ v@/ǁ''Ώq/Ca%e *0^^$~)` 18pNc)`8 Ν>>| k|-@B:0y~k&^3ܦy%\}ٿѓd.[2+'3˨I=N1sלӲ|KQ,9"pIj]^99r$q-\ P%9xເxKxwA vXcfjM.:=NGv{QV%Y[#;z(:$ҳ׋ctg;PN%0*9PK7R80#nh']6fЕS  =Jn 8T ~Y,d٨RH1!KTf5%Yh;^ܟCpwSn,Z[rKg׉<>XekVd%N{ Պh건d:BZ5i:)k6Veަ91hȼ%LHAU3Mnyg-յz5\_#IOLBM*IТXb3p8|y?52ɧhmω]K7L0yC&ZIH_?X_R[|YzW&yJ=ߘ85+ o&st d+ Vjzr irj7emV։Ֆ#}p^b xW[E>,faaAo . />J~g*_|DԕKL=B TmA}s3=k #ׯw(ILD9H&Jo Q[U dpOk'A'V;A]"pm&TLe/~ vv_Khp 4וhQ‹өF F8Cvm=1ujןuð;C}>Mua}=}[矗"yЈ@lNy[7` lƁ6`(OO۝O << <<^v{K>U`?px xxxFIpxGwc.>0 ǁY;w VxC\:8xv\q/.~\ny=~paOg&N%aR?wd.[cN\p21,\h'!zl;Fϝ\3NJ~m(+Dd\w$YVQɛ<99r$q'&-\P%9xGx x`? 0~y@3u8t֋Θيdv((`@CCi黄K@n"ݻܽnܽ-%Sq<.SJʊPi$IiE"\4O=U,YƘᮖ(X*ȗἧgr$!10 S#iopaG,Ӑ']6fUS =Jn 8T~U,٨RH1>Te5eYi;`[/!dpܨ2oQ<țC/j{5b1k4@.#y͓$׃HnMюscżRY ƄX-z!TA1ԬpT8bU@ ȌER M0g *`6 cWL8q(1w )c1j8|;,EV|İ2eH2Rr!bʆ<Hr5rYeKAmeK湾R2۔ AqOצ)B%˻~?E#e{p/ W*/3wRìГݵ5~st{仺V):y 8֭[nkT|X/3DWHݚio4abɊ]_G/UՊ++r[V3Ϝ⿖k@i]mm'Vb1I,Fiэ9Y>GNno$Ǧ(K4SC&"B b ML0'c0F$3r]| ۵̄S|hUB, qC  6*iomE^Wڔ32Np3q2vtTcuCVlgh+߹ۗ&!Ny}{ιs}7_;5B.]LPQ&49b:63u}1x̋8Py2ˁ@ B 5b-麶A|)A7Q~T0U1x>p㎤V-ẉ~#pI?Q/uOIg*%GShJ27н>e@S~.w@{?=ÁigMe|Qd`X ˀp%P,V+UjX\|X 4I4e:P/*1Ѿ{[;ݗX d&9 u6ן:TOCE1:MҨW';V-AL#V-z5v՛]kj+fI{wgVKJ L9Z2uZiuj_0zIn4m@Rv"-6"uTl'M ܸ1yd`cHi?qe#$uDfԉy??r$eN7`FaW};#\Q3< GRj}gN 8tx7qAylhl,MNR4z--kٺ ~Qg,{Fڎeyl tf=3BǎtC#=rmF$@kfi?W2|m=OHG e|VvG_E/RO“+,ӦN7_~'9t~hoJ&GKw&S# /X͘ހ?=N`gJы[$سӥkOB~-O"We3EeиlDal2lJ^cȰ֖De_k+ʨpk>PvS_j9t=Jʼ槷 s)&httqzbAƊ\&pezϗ}(cjv _>EI)d!m,!YgY|n''d=u-џ1+{3prV8$V.w\ǜ2qcZ(ך#%)z //}?Fum;{kESwz"E:,_zk;T;G:q#Q8.:Z<[pcDz^Jy->5%T/k ,^,#L)5,>EP= VvӓQ:iLSPK-r?$#ےឱW,}rY1˽r,rYb-w岷g& 5 (jQH3#i[heFBO7-Qe,sASyq&1vƭ!'>.}aq$)q<>z8>'\+OqL720MIR`o0Iq̊lff}`9.끔8#Q=z Ip9O¹M;ƾFzqΝhdϝ ΝTRN8 YҹI|Rx.d'܉IImpR"L;$;OPREzxc$;8ɞ;ðz颣N %sgbs mX˗"w}}^xs''s$>]ܨ<31N¹X}yƝ'8'w&_w3-3c(`S㶈tOݹ\pNKdI.IiK'y玱bG{׎\+8a^pe΍Z Pѓ*K ο>$C NXZp'\[Zp҂Ӭ՚NXM BEHMSiH1V&i qc2IKOi\9&F}{7oHn2̝/99ފޗo<6^A$u5q$ʼ(FK*1oJV//dzv} o9oͿ ZbXpw*e>̓Z jG`j'Y/|gDw\cy[;AU|W>3mfSN5 F&>*|HWqqZ `ǧa>ʜӃ5d=ۇMrn|]uvi Bx[}l\}$ωISq1!p$&g' vm$1 *ѦT%E 2IHZa?9-UUA+V*RT\gv}Ƈf޾쾻{w<ڵO Bp9[Qc2dXr6utE`%ǐr41q%K1a.7)b5cZa^zUI^Wv!!MpL!4YDWw84 OrSOM|Yյ'3'T*wSLhCL tޗZZ׬ܼ{`pߙFWTRI܆t4cĹpOB͓/sƮCUBW7v&J_Vָ3Q݄[M` —%kI^ڃMWxaS&XunaB7&8㸆⦹T:H^Yl}vu18cY_^_~.#XH$?i T2P[;ccY8( ,K޲QNwR dMfNP;68RS`C}FAm zdxF.{6[^RaY6Ԣq½ km mġˡӎ*8qv_J@F쫖PHC+%Z E4tm)$ "M,RMUBejKq1`M>s~"d?Rݼ0F&qmky I2MU8B q`ߞqotF:}cV ;@a+p3% KIq}PLNy|sk޽!ia0L HkDMo~Kߕ.!6 )(ҙ8e$\F4`ˈ _2v8Ofa :Zuqq=N Z8 =w>\n\}i'L% Bz-1Ʊ?t/-Km' Jy;I]P.pE it'MùS~Kz;'0@ F2r:"y~[{0|]Ƴs6~Ti_8l.T4nʲuzndFPv;N( |ݖEMLXzMTJX+L [I**[LC,G _.HV(E}K!V)KJp"='w&NA}d(ێۀxOMkoў){)ٍh^.>Cv(lK-瘎|iۂ=Y˄2|-cXY^:"j<7#N؅c>G0<kBj_]QԞĥp5?A4O"\ײhok=anA aG/<-(ՖH, -$^m:Ne7l۬~]rNB;V6!BF5G?fD4~;1Gܾ>71LD-46+̯uUvr Z[f$OB˂E, A 7\u~K6iRlWiWBP" Iz=q2X9*vKdw_O >q2mȄ璅*NW|g=w% +x-9)1Ktf;})~l*ĄDDTe5?-g?dJl/_] %e%~`~hD4 N鷧K2`Ńտ-n!)9|5TS1r=kՒvGn_y"H:;R&}#`-B7LxAmbf֌YP`6.u)ZadӒg2T-#KZ6jVbهEQhVr! )Ka]f.Zz5"M̯_{RaO*MK D ;W>T؇ R֭R:VnS1c4S3 L~o-ќ)͒J3/$ExdxqОS9Eݲ NZ__66$65l-s"m`&fg(6}uZώ:V!F*V5VguNQ^EҪ Se6VAL]!* #}`tV~̐Ot4: (Lh3(8Ѩc~3V5{"o31fou08 s:qC.Z:ԏF=6lUHẘZ*6ֺN`m.tű\eڨY=h\FZ l?槫Gب}66'6ֺN`[#1?F+p}j;yLl?S~Aە?21?]]],(Қ> Չ~rro5)]vLO@$Kdiߚ--[}YV:31?]s],-l܅~sز[kSSAӵеȒ"yo;zRQei) y ?F=x(i){t2!x 0zbB ҊBWq6,-'&8I&1%j;I7rӾZb^ϨH{BE*rXa'׆yWY[+F1"{#rEaAORvREd+$1uiEO{#mEڧUd<"qiMmAǼ42zLEx#XFEP+$1i W'E³yǿK5 >j`ŚO!fސZ;"& +|ǿS^]C2ߴd\XmX'u&Vμ`sѥ9V\t0hu\t8EGuGJ=n~)@H(-?Ҳыpq~6##/V8:Ԑ>hutLߞ5JwނmRG[ý)KvGM|0Gj_K(Vx[kl>3^ 81kC!MvlClBb *(R(*%PDJZ)@H\P (8$"i$i5 >woYݻߜ{Ϲg;Fn\ǃ)r`yLf4;u|0,ِH.6#dj;! wAB @fCC@"H)d.d>|m19G+ Zڋ;$׾ߡ[`}?=:<}a7}kg*m<S!B~YY YY )C* e**jB 1UCjVn14a \5ͻww`_{|xJ9_.GPs25G -k|m"#lM.M@Tu֋Q[gu1[=du ܁V}OeWr`DzF,o7"'?v³hǣ94i.?=,Mȣ#Α=KKߘ!oAY \;lP>#$߆q,Bn FSP'+; ŠꀬۤU$ l- =,\S  ۊUiXoPRȪg)e+;4d*łĂr6k(6 BaAϨ { E=jdφ54`F m ʲaAv;4oW{YP Te+y:70 C5 /u ] xrP*U脶qwsd/~pElȒ (;5,:qe@O Zbf8̗{yo `^AfGAm@zIN"6Ƙ* MbARIB7yQ6 5:D9!--쑞 r)mvöĶmn;w9l6Xmg$.!E(qDMjN I-H"xAx/Sfx>:BC0I CT$irYJYX@ekn8[pv8J⿚ \i2IK?$0чP>ۇ(an>D+GMXq>8Q:8ӓ$= u5$%Wc <߫Q$aq i**D-rqX҂M`G$R~mgy^ԠZ9GC?55`,lseY}ܪAóbil֞ ^aBY>ո2Y+T`҇ IҲS':b8.FW. C1KHئ%dN]0\oCaׇ1ya,Ђs?in7JäXTDrjV0 BKT)Hq&q6fK>CY dK ۳m_u];_l؟J?NJ0HS Dm?DK3/D/WOGU=SN1DtOdE. dZCL!nj$dnŞVQY^;/kFYIzkyoY"xoce33p朩t (`M7`lc">H~}mӿOs_3pZr{m-@ڃ52Ș؛TѲv=dx{e{{7{FuƲ S%E0 c2Xc;س= N06cX(c<" 9+[X+cel/cG;ثʘsLNGc Mhy.z`YC:1YWH/`Fԛ6n]ԯ u-NUX:14lJ3V: 㣪Zl-f*-V-R4aU.b;[7(l=[/!8ϻ%~>F x-^c([ech̚ն\lOC\1B1G{%ii {PDӹl϶ǵ Y:D;iD3㑸yt+gG3(g#qO85i x$rK@FR%OF +>Wzv3톧c3F}Ί.̫Wh)Z13|hfvDmVEz1|e&FbnC9$ŏQC07`0tb^]ۖ5\5IJ5ۘC{W5WGg/W[XO>N b5=mIWGgq:4]rndNjneļz}6nV'?-[q7A,[<k sqWGsue(n. .\9n+sa'իѫץغM&[ܜ9A,7x8ss ̅fļzu>zu[Rb0n ܺͭIJík370gnanļz>z[w{ ppj7Ou^zsfN̫WWKuOe(;0ēm`՟mӣlf[Iܣ|)?>#;jfMql1tM1&t )3~yx,mϓ4yg03gƏs>ϔCNcVˌg})?'48!?qrΕv}rnʽq /Wa"dx(n81L:HkaG?F_OSEZ|k`7x‰,]K,FtŽ F<W|~sƻN,'dh4.C}DE.Czv.Z6ʻ N,'dh,AeAyv.jW`c{{BN $Qqٽ+0F]˼U> 811I!Fe^clWN,'dh72k0Wy=ʫ>(XzO҉QyA/O#"Gy5}չK Y*1'O^gwwbT{X(ZɿVV埄+)lV8XeeC$'%8ٽG(wV>n9{s xW[sE>76BBp/(x@}M eAŧ>x)'/|*<;>3{s֍{D{6yAZQʍCcL$6je 0{=9y@lu4u_Зɣaہ<ܭj~Mko}7/A3]l@YFW*8Ol15k_pa>_Ϭ>ʹ`}=[矗Po'yP@E6;ǀ;> nӸE 2pxx8 ^^$~)`# $0 c)`8 Ν>>| k|-@B:8za.M^' ff>6~&( >62K~.s\82)dCFNJv_˸朖XrPb!Hs^W}GIy#;5dZ*( lǃ^ƒ݇nH:+bEuނCg8~%ۃrGYdslo?4M!#^iҝ Y.qw/R Ѥ"T/iRZ,mN)͓ ֞,YƘᮖ(X2eȗ|J`Ts!10"S! opaG,S']6fЕS  =Jn 8T ~Y,d٨RH1!Tf5eYh;^3ܟG]NQ ܟE4o G4Oe7ݖ> Ոnd'&5O^oErlzv+rKe9 @83&^?jaK bKԣ+ j[y3ZJh:AUnƮ e' 5&qT+}D>1w )cj8B;UY" q+S3\D9GVVs1cEH rYeKQmK湾22AqצR%.ʻ~?E#{p W ү3Rìؓ5~t 仺Vk<+i֪nkT|Xά'x@bjWY8&L"Wbׯ嗪Ғ k֤3 {Ziy"|`dףmJ"0!IU7- }u/Vvp5G$q?1E^,~5'MxVBbM4LRLȌGW&>'v-83Jj%!ij`}IM~l=E=_ך +tcW~c{֬XXVf$O\[}+ɩiߔ%OXO䭶tѱC˨  xW[sE>76˒ !qQT\}M e‹O'|*'/|*<>H1!ם;{fgg/BU7}w.}gLǽ;?N.%7-<iD 71l-Պ@a 4{hq;< huy iQPub.>(so?f:ŧnu%+8Sulf(EiToG 鋦}>9F+?t5g&쳯CYݾU{y ՞6WuDds < @?0< << p~C~HiŽ`Y,.DKܝ wS2yD)MZ++B&pf9Z>pKT4}miXM-nr^$9 u([dd;X1}[*Q±̟1z!V ^UP %+ \XA(P]*2EH XVX0vUP({ɔ1ሃZG%W!nsYz#c֢8:\-5og;KQ:Rd>nEG +)QƑUJ>\Lِg.\\VqY-JP[Yy:%&oPS)Lʢ9|I'lHzY)*'B#m+LC|0k!cEs-M$7QndFt.vkF'co08e6ҙr&W_fMV´W0\Ɋ]_F/UU)+r[V*3Ϝ⿖k@i^mm#Vb1I,Jiэ9Y>GN䯒$Ǧ(K4SE&"ޖB b ML0'c0F^%3r]| ۵̄S|UBT- qC 6*oE^VZ76˒ !qQT\}M e‹O'|*'/|*<>H1!ם;{fgg/BU7}w.}gLǽ;?N.%7-<iD 71l-Պ@a 4{hq;< huy iQPub.>(so?f:ŧnu%+8Sulf(EiToG 鋦}>9F+?t5g&쳯CYݾU{y ՞6WuDds < @?0< << p~C~HiŽ`Y,.DKܝ wS2yD)MZ++B&pf9Z>pKT4}miXM-nr^$9 u([dd;X1}[*Q±̟1z!V ^UP %+ \XA(P]*2EH XVX0vUP({ɔ1ሃZG%W!nsYz#c֢8:\-5og;KQ:Rd>nEG +)QƑUJ>\Lِg.\\VqY-JP[Yy:%&oPS)Lʢ9|I'lHzY)*'B#m+LC|0k!cEs-M$7QndFt.vkF'co08e6ҙr&W_fMV´W0\Ɋ]_F/UU)+r[V*3Ϝ⿖k@i^mm#Vb1I,Jiэ9Y>GN䯒$Ǧ(K4SE&"ޖB b ML0'c0F^%3r]| ۵̄S|UBT- qC 6*oE^VZ8 6!N48MҘ$5D!ڔR(A#) UU+,!Ej?hEJEJ}Pٙݙww_/IA.g50&3O6%/gY^MWTYr )GLcǜ\9Ԡ#ayr`K`2k1_y!1W`^$y]M_lJhx gGEuI;;BǝSiٟɶ+W7cè^EOO{eyJLp $7<DT&ʗ]]0^pb8sB%by>ń8ʖ*o}}xim5+7\>w4ېF{,"78NQ^y*x{nصy躹"|YƎޞ{D)5j7|&pˑRyI[`CJG|Z*;@jE+fb,Z0[Wif N{_cOո{U}rFXFЍq3[9kk.sƬ]nAرp - _FǟOvg:gq}H^oqx~9>*>&8㸆⦹D:H^Yl}vu18cY_^_~.#XH$?i T2PS3ccY8( ,K޲QNwR dMfNP368RS`C}FAM zdxF.{6[^RaY6Ԡq½ km mġKӎ*8qv_W%VJ(hV G$SHABqMEB M,MUBI Շq1$0V>s~"d?ĻyaҥMTIMU8B q`^/ mH t cV ;@a+p^@G(-)LNy|sk޽!ia0L Hk^߉8Hw7E ^@Ro}$T;P@3q$\F4`ˈ _2q|͎@t ::r^'qz3z|6INJŅ9` Z >Icc?~_[&m' Jx;I]P*pE it'MùS~Kz;'0@ F2r:"y~[,{0|]Ƴs6~Ti_8l.T4nʲuzndFPv;N( ٥|&"z&,=˦W* ֊-+aуȁD$-&ԡrHXvy/fr$q+%]Krʄ]NJ.ƽSP)w,#ʶ6 +qh=JdeFY/!;G%}sLG4RgmehR HK,\, \uSK5o'1khɣ}}*@(jO\Rmm kkY\475İJ7){ЂAQG,O?D,,x$p J %#7ثlZg7ڕ`Y"n 6_+m˝ x+B̐a!w3 lW?E杘ģI7b楸Ol Ӽ7QJyT: 9X\R3'! eAM"_ ̠^:kV?%4CM+!(|l8;B%~FWRpPͯɧ|86ds JSy+Y>o 㞎n؏;R|ӎlcMtrJ!9YNnjJ?[$71!Q?Use^ R + z[=T бui~0tIthg`oK[HI!ei U"Ԫ`̢\ڀr䢝El|ƑC#r޶4{.X ^nEP[w5c=p! )Ka] RǴ'gD>UIHְ Z;XjaEvlHaC RX!٧֯NHĞTؓ {Sao*.)l=s0Q"+*u+λ[avLaԌy8S[ q4gâL,Iv)r7^?5bnanNQ,WW  ɺ{5+a%[˜Ƣة : M9~_]$ֳl"UlE;響U ;kMYk9{SԲ}y=Cu|USsWȠ:oJy=<37?+N.8'0S8t4:!`rq4lt4:k_LhUDL1'x]x B#BtŽKֺN`t6c~F+ĆQ s Չ~rro5)]vLO@$Kdiߚ--[}YV:31?]s],-l܅~sز[kSSAӵеȒ"yo;zRQei) y ?F=x(i){t2!x 0zbB Ҋ