ࡱ> n*p+_]$gPNG  IHDRO X˂[sRGBPLTE @@@```K- pHYs.>*TIDATx vP11v$ *6>'Dtw>=ݳFP_Ӹk ж|mu+8AU{{ÖoiNUw|k_oq)spfTA jԠO @ѠO @ѠO @ѠO @ѠO @ѠO @ѠO @ѠO @ѠO @ѠO @ѠO @ѠO @ѠO @ѠO @ѠO @ѠO @ѠO @ѠO @ѠO @ѠO @ѠO @ѠO @ѠO @ѠO @ѠO @n?~Il *% *-C=Ao? CA]]tOUnhWV^_a8NL_sE.c+gԮO}b2M'gAPA^ 0 W?ؘq>2e-r=a_&88]&cޏM MLɺ<=r\W{(5yK9?d) 棥?~@P w~PCԮmꘞ۠L6|AC j\Z-oXywv,k[*RԮ] 7Qs_ΣԘswRL*W ]*L/A7'guoyk7uMJ,75'^o~ IU1۾n'O #*{.xk4y[NYMPw]jPo9m^x Kț xڷ6/<ҁÅα j390(Kk)$}'-AQ*L?S5ӆiiWV iUP=AݹڞQS ΰs#ZQR.lrÅ-?m޽gT{AY8`.lAPk.*l{APk.*Q Q ‰(ʉ(J&Q(@ѠO @ѠO @ѠO @ѠO @ѠO @ѠO @ѠO @ѠO @lݦ!!/w(Р> J_vxP *;y±o "~0q}-",-~.݀.C1]nۿٔo>"ח\>}JY5/OAvy=6N8fL~<] j? }r7f7Ygi~}R?=99)_A<]. vmze۔Ԝ|C|xC(NRA.5ɛ))~)xe-8uvv4}~1}ʗ<] jH^h{Yua»kQ"ӡv鈐›K֩} M_䞠l͂<CmP(<յaxvq0)] e*G}KZyPӹ|e8Xr5N'\9ΣJ몃ux]sϤa{&[M4JeAuA홾j:1}}C:4u袯o jW:N󾾋\,Һʠx םeTZWm5FPi]MPrҜƣ?pZAuAy 9Gt5rma}PmTvsvv0݃~ݳL gkАQY<Ϟ6OObHH֨݃0k;-wn>}gh jxfPƣ#,F˽rr|]l׏]!Lz?4Ķ07mwmakړ Z]ϤƞI+ 9F]G}/uJ/}ok>zPP(壾2r~~ Gˠ:yj6| |Ǯ2RdenUwO)=Qp~Ӄ0 jߟlp˃\m4(F">m4(F">m4(F">m4(F">m4(F">m4(F">m4(F">m4(F">m4(F">m4(F">m4(;vKeAuqW~7 *ym}@THNk閑{>^P+oi16]8%[`KoU4&<~rB>o?"Iw6G7}H_ оOYBHƟʳ]{ż =ok9g_Ӕ4=98=?A] jWaYK1qXɇ^4ETrJɜ֞1=rSSPˋk}$=T;ۼi, *|Ҿ/OAo]F̴NTA S6ʟP]Ni?qv`w~7uԷtrTZWnG?.wg_9rt jN~>vG-"K|.Avuxfʦov4e3)T&\NG3==K_lț=}}K ݷmo OYS,ryjUA=_O5Ajz+45˼WJ>|XEP|S?}\P7u1pzX+4>}AP@N`:8;G,\y\ԓ/R|{w\FL3}sauvtLpX>Ϟ6OObHH֨J.oq|*]uWܱz}F)dag\P!ܲ^ԣT.Og9x55(eiM{Ng형eT5 jxVPc]A}N%DB8FZQpHPw]֖}=j/+aot&?W:1q jL *OwiPpGnX)~ucaXc.gZgq>]ϟ?].M49^Ã887:/p3Mb_].o=ǯ4<1<|w1VETr}P|dIPGWL+𭫃W:UPwL )c57uK&A>|ww:'sQ+RPi]uP-^KPs]~5̂IQҺڠn>GמI!.=ǣOI 3UEPi]eP7^B8wDǘ/}}?ǷuS?1a׷<1iYU;Zo/;n|OPi]MPL֠ETRC.!ޠE}˩[czQP9!Yԃe ~i<-_ hCnNed{9=Ϟ6OOfQ;Aeږ'd>sJ. 1覑s]ĠƊ",ǔ=ttR:AuԗƠP*.7׍}7} >H׆7Ed\?.skzAe)/n\N#@8 Ϲ{ {XkԾ:>ЖNJPәZx0) ˟wt=4~k*km )s/l?A]KP9"e7OGJh~rzOLw7n~M\W 1ts!}yrzO7|SIA jo`UdW }^m]'SHQutKX>b>m>*CmYkea]C涻z}c稻Ȯ!skv jEA J]#qVGԚ"T*\2zev [)YAuEX9C\u[^P?dU7h)W2w檡X U*;#5  *;#5  *;#5 ˟o7Cjt֩2wFPk.uʧJ3ZpqzSr!sgfMrJ!sgfs?~AYx2wFPk.=UZp9W{>(B{FpQHPڧE}hPڧE}hPڧE}hPڧE}hPڧE}hPڧE}hPڧE}hPڧE}Ƿ竮Wn3jTZwRPI]FkmP{MPNC uݗ *UwɘIcR "ĝ_]3 ᘰY XW=܏5԰r|t[.nJ+F-]j3?A:<7:65 Ư(r˃pf- px߫|#f:ïٝu(r:ї{Y͞4ú2Nw覩B?NUwE\\5=٭]S7To>}E^b7;AꠦCH砎O *L.=ڏ+|Lە-dAA}Prֳ.AuAi,At-"u?nS߂:jN~>G-U3\5電vx[L z&QJm/B!MA>iOl;oٰpp[+S+\a;z[UKA= u@j[UKzX j7uoduP_THW?o5ΐS쩚iq+fe/+4zG0`l.~lU5G}GA=뜧('xР/{RfQԂm%ί!eT>A j+{PZC[m5ienZANƨwÔ\8ޤerXz5u^X1'-FVO|~Zpq զf)1iaRPk.?uԚ7Y<}G^*@Pk.S*'mɤTkԝ gk`D1#Z>ޅg{lS&TG}w.\, *5.i,8~A osʿjꔟƳNuJPk.=x3)~>rrxOt\)| IZp9W{>(B{Fp0(F">m4(F">m4(F">m4(F">m4(F">m4(F">m4(F">m4(F">m4(;>WG:-oTh̤8qU."Ľ\5 o4k'k'c] A 憑8/wëi+23292O;wza jW A.G)7US|tӍ:1b'*rKϲo[8m4.u-`\6I>fom. j?m[@CL%a ޯ)|5NARZ *|ucHrp)*Ԕ[aYM_>:5c//AwMPi]uPm^515N헏?[/ * ֞韃Sкr6yyԸ/6)/faZAuA=y) kGw[~i85O,}A=lPO9?/CHQkX>ϞfI/ӆi۴+fmzжEi-}}GS .15ᵷ{Ըo75k: jxbPcEAJ8p1puؿ},_"|Յ }ḠRc:;f35ƫ 櫆bir|d !>bԽ Ieu/,} Aӱ8j&h~{IPk.. *55:ԗu#A{PTYx$ԩgCQ?8~3]\a9B]샠BU*bKa|#U,p!9d7^b6q'zf1|Rc?==LYX &_?n)bP6SJ5}=Wt(:Bیރ:-y?uxX.j3԰ p1}aWPG}uNLA,x^u7N-dԧ9gRζ/ܤ\8}Q !{nf֡KIENDB`n"Ur\PNG  IHDRO X˂[sRGBPLTE @@@```K- pHYs.>"+IDATx݋z8PxɅGjf#;F!iIO6$]%u&ASX“b#AY3㻏&u_~$696s<jPAg:NlA]GjejCpek &vS5rvW]KebNp9mn>܈Mml6CefCu akSg CufRLzON,n7exh^Ǖ۠ᤜr[A~pbq|"GT8Zハa8qt> Njwxwxwxwxwxwxwxwxw:u_6 Iu7Zn)6Z *EjRf NJ]S[\Tey,5EkTo4? 5/V:eu^c\U[jԲ[n[T]S].Z#y|y]<7͛uS#bW3US>suIJkq-5S[TuMjJLWA rPՏۺ]Py bTm,%Q/Z*WAm%/^ .trZ z1*|/mPsԩnk*\Ĩ0 l6 :ۦHGA*ЋQazM[%mw _-nZQ%ோQˠUzA4iwԂ:>uD\qbbTu E ”'IkfRLzON FqPsR~NS;-mcߨVf>m''¼< 0yĨpxPbT8:>QƷ?+F}Ũ p1**G yĨ p1**G yĨ p1**G yĨ p1**G yĨ p1**G yĨ;,Rۃ;s?j.V; qbTxwTPI1**G AMyiN]VSmm^MWT-"b}^m *F׃zY>ו/+GIo^s_ N!̻ѩ;5Mt+6cJ9-]S1*8З39jܘJ%]oQqwQQt5-]UݎvZ^֖Ws}ccŨpט 1**G cXXĨp>ÀQ A#FAQAP+L =bT7A}.NIPbT^Z?qSmPUT~IPǷTx{PEP AMs5rQ|Y_keUK|`z7bTwA.lRֶ%qmԂ%ZrW%AbT82e7yheue=KOu n=T涎qiZţ2wֽԻ7bT84]Z+cѩvsP qBujkOuy!rpj1*xP5QvlyԶx5ZOuBݷzinݽY &S9mgSY*szzšnWںQP9ɡEԹ*X(m0kMP=bTAm\x3GkԹ-9jU/Fd67mPSk(i'F{; |Y%]]iUP )ZoA-OUbTA-Ztu]5_6:Ah]S߲ڍ,YŨOzfR;l^L)m}$:%i޼Y 4Swd[VG\o0~raP&5ԉ/z"p1*?ijw=:* jn[Fs &91uWiYĨp޿ڶnFԔ3ZDSOukm^GYĨv3PQ~Lڞ..L7*/PNB*SI<#F\Km^v[mp鸟?u)FMxOkd8r|KNw&/Mެ}MOU{'|o\Ng:ocw O5=WG3lǨp{>,<+<1o/q5> ,aR}M;:ä}݃Й_ bO_@GPIk:^ Wk&e Q}p+taRᚿ Q}Ap}̆/z\_@g~%\}pioᅾoon41**|zI>ڛj_8####ΗstkvE'.۵t!AAvsoTzA> Gr:/3|'} 2/.խihuKomY'/AAMSiȻS;T:ԥSAݎ\l('|' -AMuNjJ磂})OuNO5!]SWAGe%;_aa"buDˡ%Χ56?0-;x58`T$g5_Hmur.Zґ?RIm aFA59Շuv^L`ℂAM٦s jj_A|jPK6WC֣)mvdBzZaI23)AKg*{(O+ǖ_5=ԥZRWnj8CZEZXz~0N?5{>,˵ ìrz^A]Qv B^F>49e2A7 JaT~‡}H,j^</Et^G}:)Рf&幵OL㙮y:7M蓂tg q?2݊^ߚC+ş QCnn8Ѡ뇂J=2FhuA-uA-uu9G4.`rwiQW >zCz{f1ϻwyW >jl^حIjmnG > jە;UrLm%2˥GjPG >u.Iݮ6KIP8AA-S ji#4y@,n^6妿͝}L8$ABP9"LQvy U*u^,/Q&˃CQ3ڦE.Ui~gډh[%s6/:/)yJi,<.@~&ٳC |]A{8;̾t)A$7ONa M ߵ[l~v*EowIVfigeu_aSqx{yπߤ݊w5unp+ƻ|ٹ38~p&wjN-̝])(6Ni>Σۉk Vp2 Y͛o9]im/7/yNoCP;T8YP_@P7w']Lwx?ڗ30$5]v$nfnqdP㠦J틠i-9 g% ԠjLyd-a-˟cP+m),-.ۗ.*YCU*6J[({nJy{~]-gԹ.+,|Z_D)llZ%g㨏ۺ0׿]Z &&l^\6\bm}ӹo5GwZvmKoS}t\ Q,^mxEeN)١YRݯ]]|N]wY5k>uߺBom[w$n yy풼.,Mj[;T>:]V5ݶcyiqj&z q A;D֨nRrX}ӪetnZkmzNRm9P,׿N595-!76A6]mNPKLAG\Sנ^v{oytԵ:;6M}fi[cCMPY  ` ׃I˫A:IlZ5]5mG}S*pmv75wuQzY|5n>bv0\?6A7kzʣ"fy|:Z4u{ͦzu37IL?3r9*'S ZNo;4KpfRt6erLt}ҮS4݄\sl>%V˯ӝqu:nu5xyj~۴vPā\w7~t‰$AT8;%] IENDB`nV; RiPNG  IHDRO X˂[sRGBPLTE @@@```K- pHYs.>:IDATx v8P؁f(L{Ow%PXMԡl@ڮ,Ս{9TCۇT٘.`PiOg:G\a؍աgSݙw{TxFsj;~GAk[{6 *ǻ _R-}~ #\>Mvt{ * j!" 4nciӎn&^_{.cIv7a;yYaDKե䳱O&`Pz j7,A!HPk/% j]&Jg۽;6;D jCngxT7G!Ղ`><ئ.pWϦx#!ALg6OOvu9#Sw6&b0n+7]ݺj1xc[n8840?r~uӮ:&e=`You+j&45mz&{AVutQ ϲito߭ԌW *[A;nӐūWн>B¼u&A%L}}a-k~md \k`6cȻ8 >T@P!AZ^T~IW/*MPˤ&eՋo2E jtn/]gPPKŮ3 (bיRL ju&xT:Z*v ^@A-/]gPPKŮ3 (bיRL ju&xT:Z*v ^@A-/]gPPKŮ3 (bיRL ju&xT:Z*v ^@A-/]gPPKŮ3 (bיRL ju&xT:Z*v ^@A-/]M.]%+uuY^ԍbWVzQ7]vIPWJW/F1ja&5]%oo҆ vͿKwi\jοKPtʥDRZKʥv9xt&/ +7[ԸY|~7hVxAn_yr1Z W70!*A7~?>Q2l^~&Y?f'6?vHofH˜ƠkCRgk1*h_Pt:fbg(WiK:G:oI *;ڱm-#mٖ[~&W)C# ԧwܷIMPXS†iu^.A>ižHPyiGiߥS̽C,t(wuxf38N堵ydoMmtwT7g.38w~,ok߶٩gm8L"OPqP: A0gA1ueLb)qTsG'lSaPlT}PXSbfe?lEP20E */})}iP%Avy&18hC{+* <&cq}ԃ']]m'ο{uf !hPkuf: mVZGZ5*nPZMNM\:M3hAmqpGD;!,fi6ٜ:Lj f0 j5֙25UG6\g T^Y]-? C*3_WsAmjulv˕5!mq\fR|0r  j>Q <2bJYHu`0ߞ觃ڬj:s/^I}VۧQSRu2 ֙\Au>^1C,NPOfڀu&] Xgr 9=MVG3\b W|>7pdùIlCSN/5JL [/q+]XFu jp;\r]vnRՋszc'I=t;3 wtĮ3 ^PL ju&xLz'v ^@A-D.sTLz+jE,)]ZUPV [$Ab pw>zGUg)` yP~:-u>B#$/ހyЈ#jz.S;t'?g}AMjm'yPo{]Sb[g:Fs|,m/b릾ifkROPP{f\qM5wO>MO+rzYpOϤ~^iޓmc.̴v~ ԛ-i*.g 8)(]w?8&_ xHLc㏳܎;+yPRW5!60=r|!NlK2|u/KFxH}m֍g6S7߫,8yMq\~yA;/-}pRCCnUP4b+!S0_p4t6p>CskC\GkQ j9|>LH}:lijꖫonWYP;bPα7AmOP^߇A W] r&YX6?I3wK ۛ}%Ӧv);ڇ_ 6/W?2--q~]z& j;\: ,\س c\EA~/!['葥ն~tL_w+㤂\Vv*o  ϓ jpK尺MC돖ujpsWAoIZ3 jpS{U>xEHP >Id͛֟ ] jpcn^'HW/FPԿ)iՋ0 I޻֟"] jpr:.]ݢ?GzQ79]Mu#A PmK֟$=ץ9UC|A {IPBk+m'ǨW֟$M*o `L7?Eju7o `l{\M5ͼl]=SVMҾW7mZ!o6A .v r+n&v ^S ?L)mי<1D3 xo!L^rz&o:LT ʏut/%ף/;<]gPPKŮ3 (bיRL ju&xT:v9Z*vU6`5vT:3} n̶%9ՋQ:i>vT:^A]']ŮuՋQ:0I뤫uuY5 (bgegb^^9wJW/FT~7ZJP90hVFu&sTZJPzj៵RP7XXYR' |o6̥_AAz/{h[zQ. EES:yu#A;!nYn|*`ݝKoɳ-j}ruئgoج jpe#42ͯT*>- `=Wŧ%l}@OjKOKrufm>nU\5/ XQ  ɪ]kAmdUPUtW&FV5M?sw/v  ȪXn-lȎ/vӄÎs7ugUPۭݸ ??o؍7WUA nvd{6ojͪ [yrnƻo**1{M775; ʃX*1|1y$Q~;ǭvP*1nfvGtӝզ OsAEPCjA}s0pz[;A.WAC|vf|ϴ{a-AV`5N.su3)62 jOu Hʣ5W?#MLAU^{lE6HP! @]߇~jp x=zAMx.J>F jck%AXAOjڷ;YӪV[CuCrgfuqc]F`HP+.Fg:_0_=#ZS3;ud-Qibayt@z ",'m^euy9XP7^B/Yv+g,=\AW<;+у*cY-੃!~1̷6ۯ>eKr{}ul6vӛ߆H>9Ԉ=N}lpI7-@~ VԈv j`-I͠6_eUPcWuctLVݴAmgUP:"߷`??feV5&OYUA Ƞvm}V8ˁA#u_`+AwuQP>%A=P:#5u硺} ']':Aт4A7m!/MN?n>{ɺ1zldF=+ϯs?yxkVPO2 Lӫ; iz>YG&-_IM\PߚGE'A }=d`kVAXbj;~n[VXР.W/$A I>%s+yW[Pi{jt KV?b[VlF;K!N^>A S7n}A}'_\AyW"5"5su"5U.ZJP[[}F˛. RzיO/`;μY:ZY|ԙpvՙgQ܋W@GF:s#`= L.`= L.`= L.`= L.`= L.`= L.^=̍x|oī37bPPKŮ3 (bיRL ju&xT:Z*v ^@A-/]gPPKŮ3 (bיRL ju&xT:Z*v ^@A-/]gpl}{IW/FL|2bיZߦ"]Ů3 8/GoRbי\VPpL?:3HLAQ:cP~/NGLN϶h~Z]:ΌBIT:W69R̍`lowT:s/Rۇ0ƒ;mõ"ՙ'}vt 33( 3<|μ./μS{t+Rי.`iK)3[)=5zLRL ju&xT:Z*v ^@A-/]g+7j jp{η R{$MAv j m¤}zn9-$AݟwXP۠]McMP۩SⲠL7mzv>w:w\PA]:m}t;CP+{lemW^DP۩8mcjp{uaz 8byPǡg@:흎!>im~rjf՝Σ6ӿe?A=OCӡ(eף{w#]k}6IP;ÜnVǍX\8.G/}}jJ j)A v񹭟I15 'ۭOV4J >⧧~N{cjp xm/f܆<֯^ԍ5o XAJ7~tn$}U:Rm뿒^ԍ5lI7ZzQ7pX A-%(`m)]j[5trR7A3XmJA-'M|ǚSj9A n,|\WwJA-'BYO?AzQ7vwA ҩm?x|ԣr_OL8)mnN.NEHPkw܍&?~4A PLJ<#5vi-ߴ~ttn$m cA=|WPVv#ྯ!z@zQ7ಫg j)A .+`,fov;KPZ jufUZ*dY,`5]wsV:V./A- UcZPK3T:Ti6ZQ ! r, Qg^SZ:Vp_aA-Uy~N@PKU]g>% jzLJ ؖ]#*3,`񥱂Z:S.VPKWgV>&vVYYƣ|~s&A-UOJ%MZ: ֧5ԙ ./KZ}pyn,; j)A .v78X:Cq/Sz]ՋQ:cPo^ԍbי=#3v/Е5óaĴis7q=;O9zGvMOO=s]9\KP۹9n ^7l6Nϔ(`76%ӯ5 @;S_PC۠>ۿm7lM5 EcPҮꦠ8 ?t'뛖]fHذ=O4CzUA-%ՙ̧66_A-%vLJ/x]g҇\A-%jN'kR3W-ӣ|#>nz}[adR*QiGLP;׷?ӌaeELHP۫;daP`b)%Rͣ쿝v(kg%5Y j)A nSNRt֯ע^EPtCki"}U]L٭ʖV@P[_L7^PK jp+ eA-%*~*\yo,5=tR\Q<0kNŮ;0=bs1;?`w:nlu#A n. Jw=iՋNRj9A n(1Rj9A Nw=kՋpK6ZNP_}'֟#] jp]Ս'IW/F1w?'IW/F\vhS%?ՋLzQ7FzQ7!}PPHW/F\ ju&xT:Z*v ^@A-/]gPPKŮ3 (bיRL ju&xT:Z*v ^@A-/]gPPKŮ3 (bיRL ju&xT:Z*vR{.]6 (bgM.]?bpϏMo&J3U:uL+> j'Yh jonx nJ߹A*Kxux0m.O}ۻg*FA6_Y#][`_<Ǟ>*ZJPۭFThGW,ݞ5RL ju&xT:,ՋzbE " 8@x8g3\>cbroOχOr|P;A,}dNsA$'upԥCw۹ry݃y6{4JPk>OwI}B!O&A=,}䰠ǥmP߿n\,>OrTP em;A,}d·CRʮG}4OXnsTP7.UH'9,3YoVz?pubQy jL뫲**ϓXOY]KP7.UH'1͇.7ԍEIN,}ߗWAݸXT!}v/N?>lnubQy ,8yBd**ϓ(mV tiry0̲IԍEI"pjM;qB&IDATx zQA-js&QQ及EuwwC*B w~$Ԩ жaW4O{뵯PiPp}N=kEㄚ? а6JۄZ5uןMq)ԿKkEp=PuN 5tJ 5*j$T'H4NPiP#8FBqBJ 5*j$T'H4NPiP#8FBqBJ 5*j$T'H4NPiP#8FBqBJ 5*j$T'H4NPiP#8FBqBJ 5*j$T'H4NPiP#8FBqBJ 5*j$T'H4NPiP#8FBquxqu9vß6{BV𛄄>_wBN[V 퇺A} pL=KoGn|'ӯg fO7x%җzo.ԩKQNMPa~n,4^h./=]$ j?bL7 歾C_l\Xά߅|p Tr~azS9>%E_نnjozՋMOO]^%rsrB/_I 5ԋ e6.N*PҟBOO۔ jW_u6( :;ԩmB5A|B /˭㙺aw7߶=m=P|O}!QQFgҺ͡ׯoF&X#faGe |dRwdR,TZ5ԭ#kvӿcuѾC{gc}Cwo]Һ߅dX|pܚ{TEnS} / m ?gjr ۅPⵋv_R' {/C=8CAdeh:LҘ|n=ϨyʿavҖv /n|Fo'#ԃQs=-vjع7]Y~ofj ,B[ofn~3F&_j tzBsLAᐓg!N K9Ɛ~:JNB.:ؗ.|_%OKr~Y\P˭-j:P7B6BPf޽G2:P|c҆P˛]򵶇iD"Kҗ0C(Bd>շ^Zns+Z;I '!ڽ9j)TZ5~ۀEoF&PrNbdRWG -F&#fҺZzoWF8tÚ{1w~zou l c7+#TZ)#;wjE-3usC]$\0];9~w"uP١AnuG'eiU ݫ@NcyF-fIY\{lw΄U$ .g9kN1 5CͿw?RWG|ܸI7jվ6B 5:=)_a>Snp 5l{Ks=4G6m)l ԟ[ˎv˰g?>M; rխ!c;w/Y4Snz.-+&7)h/n޽g=2S*Y3VTBeOBݲrqvI_Bԡd[&7yJ[V.<.._2>'A[`X$^v a4,^>_ڛ{ϴkcR{[B#\-c/?Y8SnwxiU\}W?G- o3SP\/d?XfdR u>SgF&}}tۥ b܏JbuBݲr{_%-+YJw&pwi 5*j$T'H4NPiP#8FBqBJ 5*j$T'H4NPiP#8FBqBJ>jN'm*?ԷBok*,̙xC]3 a롮[ u< Х T*TN әxF:wX\P˥C:^klvޚ,|t)th%-x]. 5c W0ͪ_Rw3[^tvP˥olq49?k:#ngv:0iH'-t Trq]:U/x.B zf:wlrCj:O6P1*P㵖÷ϩB_ܵ1+oY:a{{X׍I۔noL[}HҺ͡{PPg[}BQûQÑQeҺ>:VI!m#B=s92iVuUJ6sVenW-=][c}ڨPiݦP;lSvS%pއlYҺ ~d-{ ֭3s=lA#ݬCؾJǼ yF]]-' \{lw΄JHG~]g^k/3 s]j C3`eOV0_x1hȤ~Ȥ&Օj/TVt!u"|`gA3WɸI:ir/}2WB=,ǐIS=;3'@_nn>(F}ٗ3 {~;8'_CӄOuvzx~~j;]}=gP\-#TV+4&9Uk >\Ol?%Tε}OW.<,.VC>Cm~B=ravA{ԡo}<؜P\xX.]m7f_^Vꖕ ˅ [~e/$ԵʍPѺwPJwͩ>QdHj$T'H4NPiP#8FBqBJ 5*j$T'H4NPiP#8FBqBJ 5*;#asch)9;)a) ͙4,Xp`f!l;Ե k/uYǾ*lpYӫxVArR}TN҂!_IA*w>V)8/4N|t~gv૴UPur: xzpx0uK=APR}ҋ۱ryj*4MGeOuKrCM[(}OmZz|Kr CM (SPgBPN.C O5]_ G P{j l~uL.m{]6:?%R CJշ_*ޑ%~zFIh{9jwsԺ*BuCݽ STTC0 !ˉe|dr=wPiݦPz0F X߮/vz}OnKGL]۩#TZ!BUƧ鵋Ss=uYC*[&eYPׯRXA3p=ϨuѴOhąٿ_jطշ$0!Snlj ,Bcg$fiC?Z\`1g,ƽ_O;#-+ k\rjj=m6eP\x\0]tZ^L;#-+f˄Nlg\:gԃ+fԹ(`j<>>= _~o)sC o̝ꖕ hW3quo̝ꖕ t&<_}/;.3ԙʷ:tdu u90+'JzmAP|,ԙB=ǟK"!/GֹA*w8]Peҹy4N79˥a0?VPQj~皢C]\*8PC uX jN]jڄؾ5tBѵI4mL/}bB'] 󀇟6&jCZ*jk]B8XC}7|faBu[C x̓HSDj~G[>X}9j89j,TZ1~2?.?:Lzҷ !C:2;62*jwNڄJsD;o]ҺM~b w-|e5Һ-~d w-|eSҺ ~f w-|eopҺ~h w-|eކ}^PSlkؾJ{w85(R>!' \{lw΄u({~zz:}.'q/ ۲շP7<O:+aqGCM7v*J][}Ji?u_]rWsrw=O~ͫ 6ۃ[~GBݹ[>PY lxT,m'T֚Y.O)!^znY\,]? 3,B io/eb)OVߣve yvWB8a. *r}C`n||YY~.;*<]rv rCQ\||t||)rj_ B]u:*sA7Rrlz]. u ҅gG;uǾ(^%3+sYCy[>Xlbv%rהtA|KC %>7!AڍImHܺq*luçPSkӰfu m7!nȽ9ԧI/GC/.kḭ;>B 93aqoJ6:ԐB맩Ov>G ?Gm ߽ cuˑIaaGȤȤ2BuB=SaXcy9ԗu(lt}sMnK35]_ݗ}LJ6].qUE~p~jrYCIP?6)hŵ?gU $]7-avқe.=^6.nՙ=_է'WO{]Qp=ؤOty7m2 "aҗ-!êLB-ߡ;PPb}Y{s,2Wb/|]j]mP9瑯~&.)y]y)|Q[r@ ̏Ї®#>zqk .QޣNO)l_Xx\xܽg*([}K]ܧ} {-$T.w'HbP\X..ˑI4mB:x{trv9/P6j}].F^3 <'jiZ\,]CCic'V., k rGW., kwylfM\p=1.OWG&Mۖ=r{s㏳uꡕ wSɖ=FeoiaWTkpikfF S^ 5*j$T'H4NPiP#8FBqBJ 5*j$T'H4NPiP#8FBqBJ 5*j$T'H4NPiP#8FBqBJ 5*j$T'H4NPiP#8FBqBJ 5*j$T'H4NPiP#8FBqBJ 5*j$T'H4NPiP#8FBqBJ 5*j$T'H4NPiP#8FBqBJ~ߝHfLbF8IDATxݍڢPIPJ3kgO?fs=* LL\<~Z>X`MPc2?Լ(Kb*ӥ!<=A= * \Zri/i˗ByjStxPKئA],cMJ&A-U=JKh$6Au sw:jwz Iu;:K1c;L_Ao~ qZ$5+O}˛b reRy^ jަAk}c)_c]:L*+݌JHaIiK-'(H5gRCLSqA>A 3Ddr j]X *dХdr<AֻK B=΂ZUJ5TWһBPᶾfPk,Oi˖zW*VBC{:;]uVPr4M:wKjLPah ׬.}:lԾ ae(Ev8O]BStմK/{UoAu <%MPAXmmdV^ *hߠmP]Cv jw71 *",7\NmY2I:$oGTK : j9L APaq*4}}uwc~kK`C1 #]DPa+gI70vPoTӴ2MP=#p 'N@P^ovN@P^ o]P%N`UWzA * {E`Wi";ZwG%iT~Xw0=ň`㑆QCKG#g7Zí ?RT'G 7U5 *kE0hߥIIaQ/ E77-D5he?]RWGTG\Z?&p}z*rmm]oN]WBԾG{_ǡCv ;$NFg_mnÖQT@CA_(Uޤ&pw_bda䜷Θ1u6?AçR57n|!eܴIPk SA[MPC۝'~^d̂ƧtQ'7ӠI9N-;6wY9a]^ur g5;AnPYPWh “y[ pFc keڦ7KỲƚ2ՠ2͊S1hgE-T*|zr\ 2,5o_H*߫;X57k}1Omf~v>)O?vvژ{3L_t:M():-g 6fNvIP[!1a2mLw'K&E0Y7DZK΀a44ƴA m0c4G8*C&̃ڠN6gZ:b0T!Vƙg^ jV& +3\9 +N},d1/uI2N lyf>hAWN}tBq534SDŽɴ1]PS[l89IDATx݋(P}x e9Ro "ɫG߀ *{w6텣o~+p1ԅ+A`ۼ}qS\ۋ@ G=ڿx[L O6NJY}C!!%>2_z+YL| {M'o)Jc!!GP??(hRkOᓏӺ>e)vTߞt){}5U6eBHLMVdAA-CgeHNa Z=(=5Ljt;6 ?u0ug)h jMO=VLj*տH)■:ZB~Zj_KN}aAQPW57&:A#upR;թ .i1XOG_ڕA͍I÷"eևmG jT=9Xsou jZ}H[(zh>Ɛ:1=yz3_c}dA/G[=4Mx|7 t\|S;t{&ݭyR6)KZ}S?1G "^¯k ~TA -~ėz['~9_GPP w𷅼B ]a7%z{W uvCA]"wPP]a7%z{W uvCA]"wPP]a7%z{W uvCA]"wPP]a7%z{W uvCA]"wPP]a7%z{W uvCA]"wPP]a7%z{W uvCA]"wPP]a7%z{W uvCA]"wPP]a7%z{W uvó< ?Ts[ۻBP(wPP(wPP(wPP(wPP(wPP(wPP(wPP(wAmA%ۊޞ.Yeo=mDPoOP,De(z{dpX!'KV=s%+-=s+Su-aZ:n"'KSmJA]sOh5PG 3 I1%e;Цr`xn!A=A]Lӥ]S ܥ3u%kjKjj*t!ssE%j;uM2~NԐު05J/_]? j[}VCz{zmA5:wPk[KuKsE[ԘIB)ux2A6Ε7w!lsԿgZ}so[\TCz{+um.C:,/䫬jHPoouP 87|O}9BĹQW#1?S=Ĝa~ k,As\ 0AA ͐!vmj- j(9BT޶=CoA]9BTvLP;[PSZ۶]G͖ͧS+EIP?7EAAmq75t- Bso-q75t- ?$dO;Ǎ稡mQPoomngRh35umq}!QCۢޚ0wwmRl%>7B2EA}v}n].lQPoOP*' Kִb Ar EPorAojC '٠qj-AEP9 j|DAN8 mUP.4aʝ\-9uƦs'㍍A y>5$|ł::> +c!v LJ.ƾQP=;1ߺ^:6:MPC)MW6QPo!A4aG1Yר$ZMO:GCT.AX2<ѩ/WvAnL rh|zVS_\ȕ0>bu]f|5\G媮< h|jXzeѩI\˥0>0p?Սr- uijo ,oѫ@ ꒯u|eh`T{;%uj->- mX~_%W j?hmm;%W j3j# K5/1g-rL]g jS^?\,wꗑ_3ku^z Fg>n TnA{xh,ͩwMtGhTA/O5KP9AePC5$|Z8Tԡշ kLڏr҃Z:԰crj =cϤw{&}r񠖾?U_u_ߪw~rQ>+ͽi+,x}|]{y'%;5?ԓ%{uAe.KPj{yXPuce_$nmM>xy~CHjPOAA]GP2LƩ˼^XCAm 3yqP"V;\N7=:t~+=S/|a6V})\rt;x)LoMP[[uzȇA}|yݥ!毹O[grݠNOuԏ2YP^>CO/u~ҸF;AegA#t=F?)ZlQj.(׹TF> -)1}hP׷LU1|T}ԉA2s*;^K^A볠>PbWy#L8E|תیKS-Nj4&f7>DԙT6Fc-87& *}xya[XƗg&GPl#M?I?Nu/4{\G}~.gƒUb>[_uxhߨIS3~}16`݅pylvU+yv.~ *}6}zU?2Ou@igGP~Pwt}n6NoנAAeC/z,fvOL|?nCL׏2s8~jfW~Amou~kn6KsɹR; ݜnԐKu8h6ؐ utAm[y=6A6u-.&;@۟c+ԏ„ A M?S=ZX9fjxDH>w !T5}4{G7>s:{ۻEPsqPKץl;=nԦt5!I=O ]2ubCPcNAJ}x ]'шïKP^yۻJPǻbW6uRG3nËϚjh"!Av[yu2p:j_b}:jkHPoAϏ}==t'= qۻ@P'VF 2_JIc#~Ԑ[v3l|LMs[;{PףxDf]s[;[PWǗ|h(=Qyw6Xs[;YPl]s[;YPުd' j_HA` p%f)&Gۢީږ7/<޽rAiӔ-E R/4YJW NȌ:_pԷLj=*!oT;UPNP}izP?HPGP'?6 '/>)Usd>Aei^#m3YGPups6CVԿ^V/vĔavWAT J;=`)7nab42탠eb"h|>sA*RAmfƝsgU*> j? Sȃ0< c&W=s{Ơ6njxBj~ON}xݿ k^lQ._"8GP%o(kyՂJ j[> j3󸠲7S_^P}Fm^gT6Иs jLb?_i/~^ρW^\P_ئIf.O֏2YPwx|AaEhPrTF>Bح a|L}CA >t!lR 5X?o!=ڹULv|gQV>P|m;5a\PJP\+܂L?T- UAM݂z}AmN4݂=n].4s9VߺVLzȱuՂ:jK.6ۢJG6H.VPǷcH"5 K[]4Ai ~*at{TA-K砆jvj-ΓQl NoyT֦1^JPV1-%<ڐuɵ}qjmu_YԶޔjL:=ή^OXrJ_?h]ZNe?Q.mxYGgs|Tb3jLƤ-{]~mSU;b|Xr5fPT[u!LX7_8Wڥ̮jxx'=ǡS~u*M_-gѩort{F^oS>Z«U/jhx0[v'\Fߎ~mnMK[^I}ЌF_fZ3^}(C!QvxSm6h5uěZmnsx|[lvE R=>6'A _ *|+yMZq'jJgBPyA-wKԇ 핃 *};aSߴsEQp0 arPׂڦouj44K7|)M,*vGrPq W6 -ׂZݐC}ѡ44V}: {uzO\z&2t9m>CP|{54] *6avB>HNWu۝oTF ^ջdAtL=&{MԶ|_쪫B}?[=TF j0uN2uY/:}m<Ƴ~Âb5:Ut먫AA} \+m{蒔vEI{&}d(kП3ƎAmݩE=t'e?i[}9Ai ~[S_C;u31O&K{($9ֵ5;%[EPC} Qhm?h^%>FުtY"5-OG]_/ٌk&VEA]\rPl2y(4CP w7k]5_.W5Mi1*(URuKW}ԕM}?4Syfޓ;*S]5Z}-CSRPA=ns3RCoSes׵gA͔㲗4F߇g&}3y}pH篡Li1.{73)3L:=bZRP0ԡ_ohr|qF_ VP3RjhxJSZ}7mw E缾/Ȕ_>~osU# uHFO7_w՘ rWyY|v{UԩFt㮴e[lpN `Ʃ׏_C;Տ2rN `:-UQ XC;Տ29y:3-:;gRum+6unq9S6߃l)-+u}>y5A(w~< rjp7޽>sz{j;o%AnԏGBP.O]C.FP}?s%{'ͽNPoOP|#jnz{DP9A]s uW{ޞ.ٹA]򕠾- Auɾ5oW}ͽJPoOP*' K#8,ۢޞ.;&dz̽RPoAi8uл~I[P9A]*rTlAgnCr^ZTKPˣy jyTP9{5ݜnm.*iQHy*~^)A*,]{wۮCuj&g쾮 %%:_jy+87{D}^0j_JB?Gw‡#jUv\zMNWp;=px ݼ!bvU~\s^D^Ԑz\? xi XVP5V_ SPBԆGҘ^TN ?uԐ<- b1)o4喩swIƟoYP+26M_bAmGAmӡ4'KTU0C;_qOUžZP>gvoU[ jDfA >v!l҃`X5>wbiSڦ_SAun/ZAmػ-~GP}֧Kd3qX3ԥb *' KžVP렦˩s]]^AF/>}rRb`N4&.{t!vݝSv*o]Ʋr p{&U/r|lR?iE j3?p&Nj--݋m66ߩ JΥ isP!~c8o)=mk+JPo bzi /.w=no"ۻuݰi!{{,̙,4EԻ}U.Ņ ~A*_j3|v,Ʀ Tڔ,14!=uxzڽbǟC_Ӄ(MnKNPoGy]} T]_?]3M}3gjo?(L-n;AcD,ŋ56aכ t0}f:qz/m<7Ao!ޞ˻sr|3^)9Z.>IM^G.:w//>kPAͽ<9SPCSo4]6o|FPK'Pyhs\m|A.}_6Ljj<{uA}ԷܶP̙: V{6- /nsOpRNjrLu:NژMg^f6U^\+/AmzߠSyrL}8m"st|?uk|A}ZPA9}b͐*yMZ}*IP}Pˉp+bV:- Q?Ro6E i3i73)aL;uQǫAPL6gr/A_a8O!;Qw&#Kx]{WSUν)'Ղ¢>?l= uBkgr ,*l=S.31ԷWߺc8>gƳˌZfTR#<ϭy `qcRhig sPuNTˤ_}5MA-ʙ0kMX_KLEfɞI]pN]=x֚!gR~ɯ'\0L(>OAgx j֚jW8 ~{HIENDB`n"mQG+(]zPNG  IHDRO X˂[sRGBPLTE @@@```K- pHYs.>"hIDATx݋*Py|IV*f_4*uBo>{*wL ۡ$ _#~%\}_8>v>_Cαx _6u[ _1p,/z YAWzIpGR.|Xd)em79|Gq[9j9uXNJ *gQ5LA-u"i\6eej|?$pGAV.?9GPscrRc+:NN}t*nLWkJVyyA4`nco:ծ4jrun:TNj_xg3)KgRi.GZ&JPǭ:\u8Y;ؕ\k>[89NNPcᐖgԾThQԾThS:4:6MAۘ;A̓ r|GWt38P:/@rw@%cW@ *'/GWx-]xtלTCP* Ti:HOӄ3lcƣk_f@X74D,Sܖm% V >3Tf-/yR(ޔmNZ|&O)#.O-:&1:GTkb;z\L:SMNSVeV#rX_'5pQ5jIU+)OZT8Beз몠NS\mKTNm8{i*TNjͭj :ʶ Se&%2 SPu/T)23yϤ.L}8 V >wdP]-VSѤ٢R1}d`3?A]Pc~s{Tv4nmSOCp-APK io+]PK_0yʵ.*Ae)q'8&n6O *(Zl>k!CUPopnkLPc *4*F Xm:nO#XO#rPl91ur=jA-]$5!m+I]0P|ʟ߈yA+78UNPxtkvp?4DKdVuw\QP9tW>-䠶 HfPsՋ4cwk_ѿPuSwdQP9M.5*'-&urA ƣ? vZ8m"σ.T"A]I)m_jh2ʙǭqsCWR'IGA꠮}r*^WAm*r&XvQr᭠V6 S/59G Vd3?ݖr--VsU ։O>9g8$~&W=;n4 MgA,M:>Yj@r26ַx78ApVՋG+(+pQ*7*{pW8Qc?r2+6ַ;U~9Q:tΪ |Պţ4^WX+nPʙ JA?L҂ozea`샴^YXi&GAmhd ~M:{!.}?q-| σZƧ08>:KTxjneA}\$~6wW=ȇw?"16hM`ö??/l C,_T6 .5v%qNbv6Fnv^QPnsw.E8.{ *éj Xօ؍Ǡ]ߗǮ}\۠Â5cUҲ3r?kVn^p{+`^I{VAZx^:+N!7鱛\ʒÃ_=M~Bu;+84C .{ۇ зTHuPs؍-8^ZPafuPC۠>%v < j9.ak`GՆ?P' ͮO{A+ c"o}'w%zИ771ςʟ7mlJPmS.5]?oD> 9<8;Z}c7>j3UQ A:ےVrХoWuLv<|3IPa9oCZG}}{Ջk__6^eX+~ȑ? ~ȑ? ~Hk@P9כu5z+g} cqu+g԰aPW}z~C| *|$[`.][sko-{YQ̓l/,4A}r; wee}Fc￰Ҹ}'|Qvڠ *[W wy4ڠv+ }ڕN wyeYwbG[Wo^թd[x^{$h>Lգ * C_—Kn~o\5Ҡ/C^Sd,Ơv{%A-l]>]~}i\0]n:|Ov :>e?z];(mU>>-YPоO<}𓠾ߘbG+aPdž;AW'O\Xwk}w^WP9PAzM)TчWw!\8Gv}{I?~~pieF^{uwǕ aA1z;pV- *Ilq[Gȇ&7:ji!MQ˩,L~/UϤI7d׽sfo>r^z7uռD m'5԰!AeW5.|, j__z}/9AIl8oџ;UTv%˫W=;tcύzWW'G rǏ|Xj2"Jx }ހW`Sԛ'Ҙkeĵsg$4ޤo(?]*iΖ/9_*렎<{k]%IY6oWͷrAU󭼟Ǿ B6rxyvݠj|a_uI/V{{-vip=- uX& L]l(0*lniPc^Ґ_M AV栎Eos`cA j&=otP5r2zlOPS(vcuYOW֭i49='먂ʟrC)JG3ow #qz }^Qj1g#MlFPXPVOk'.>!V7o O__. KbkaXTzJf_x7EpUAA Oڳ*;rzW+q9K%a?SP j_ )IeԴro|w;^U4D)iX*Vb ij}iezJ_y䱫R~]Paj4MiEPC'Y܎oS`tWCKu(yC+f4 Ұ;~eNuJAThYBzI;`Cu4.n5oT׷A_'υ?N]*A 7"MuZ-=`6)izE1vFB./)65L6 ZSK4>i_-BK|1o |\sSPذj je#4Q1o4c\VaPfL{<NRa]KSMSUUWOgr Gk5eA E'UP/C,GPaKUJk:T^=C*4*l4&uScҳFA WTBb;z ;ps4SPtQFPa[c;3ivW]K|6u]#6{t"~4NMrw pz\ Ҁ/ޗAC; p2KWP!WAn5G N+dL˴270V ԧ[KP5`$v>,O̤e3!4E/LiX1#Z=1q`_`Ccb(/u]T"! *l*UDž2L7{֕=g:+AMseҤ4^A9w2iz~6u¶uWNĚPZ}з◧-!LWM`l"_Gv8u3VIiL`l"LRn28)͔:RnL*oӺX~HVgr E sB\&_pcIENDB`F*Nт۳ Y*JFIF`WANG2 CREATOR: XV Version 3.10a Rev: 12/29/94 (PNG patch 1.2) Quality = 75, Smoothing = 0 C    $.' ",#(7),01444'9=82<.342 i }!1AQa"q2#BR$3br %&'()*456789:CDEFGHIJSTUVWXYZcdefghijstuvwxyz?Ѷm:LREQEQE܍L-QMM/L3NQLy5=XMqq' X?|%bVX?|# rgK6 ¢G4'  ͷy!HAx"I9ϙ6kR,cT]cnAJ,1Ymi鷾lFƻcTQ = *HVA\RqIQӬY!/PdJA5o:MfӮ+u~$=kwkV/nF )s4ޚcS.* |WB襎Xuu# ԔQEQEQEQEQERQEQKEQEQEQEQEQE! s[څF@3ɯWNjˢ^L|9M$K^ៀk3ϖzk <9SI 9MvQQ5EQ( s2f&K>ҷTr rEr4_^Z fmX6%2J:״+2#"z6ycOh[jtj?k:"ߺox~4Etrkc9unp?*xE2q(@¹:mkrQy"jo⻟@#mOS^V~iVQ@qL4H/`[$6+3Q4Z&K(f ܼu~$*inֳu5!a? H4(r%4xNt5]>34ף2K]6Pۆmkw:FCoT4gr=+pjxU ?*? 6#^%1׬xR.4EB2Mp+*Q GtR1G,O#c ¾CQ>'%7A|XQkpf=6V%*E|.'PӭnapTs򯡭mm*U=MZxA)@-nI#+ſ 5 3M-sj"X S<'K]l 2E} 7ɝb }* -QEQEQEQEQEQEQEQEQEQEQHzkM+̲(rs_9ǚߍ/v4 8?`{}м/xr R%hw2Xڤvq 'sIK5FH6*? h^'RW!~VV+|-]E1&=mR5E(WcIh/޵? $ 6%ٌD}*Oxz/ecm:r1{׿ibL$J +ʾngC^5TWxݲSRJ'K?4b\۵} {-GCӂ fAWVj]/ڍ66~5|;:3I+:Mg3sonMڑ׌pmoZq\\JҊJul&]!qYfXSpѱ#XHG*9,/_In|^ xs_nFJk< 1i }­u-%!J(((((((((()@Ҽ[/;Lr(9 4sZKoF7}31uy2^: ڕWnaZQ^cxZC5 #{y~hq4n٬|\qҾw+M\S ⾗VWPAdyYzݨom2W+/jZ]QX(uiؽ*иL ̺ cg+0$5~{y Oz'58𽿊=qg"5Ah xxKIJxgX-}_5b:aՁR2=k>3,>p%F>Z|%`4 ָd ƼoZ?!62GAaKM m^Sy>w ѥHc]Er3 7w{pCQO^:ϊ5+^M>/0dtm졊_:UP}kGc4; rTaG"y #gdJ<UmY_Mcźglub@~e5QEQEQEQEQEQEQEQEQEQTyG c+築?Z]+CdI0<ҹ_;|ev;0ْgJc|3`}G+TA'.xͯkHۡDoG9h$<+q;(P9$N/\jVf;N/zNWUC۹\U#+7^O|S tqGnk`Mn$#pZOKi V׊m*(/. 0ֹ/2ҼW($^IPbxcږi>%ɶ&|xᯌ5kUKłMqs^yYV5@ 1׼[Y4rVQ7c!ul)?_TcYۅ%\~:QLwTFf` OJoֱI}M{4<9[i n u5cmj6ڎ!Jx|H|\ RyWDktG2^5 j:,k ,с+t_[.2A4M 6(VE"'EQEQEQEQEQEQEQEQETI.%_ďW$M7Nш$dsĒǩjHir_Iime)HEhqA/jmnOGc/Դ<hM ނo豓yBU5ɏ31oՎfV7 4L:ҴW?&owSђ E|cZtMnTNA_FitW$jq*ʹwVA.J:=NgúLq9,qQ?P)䢂IP=jڥ􂩟9n>2<xӓŚ [fufwI?-AZ r#XڃW7xcKuK۸CMlۑȮc-yŏp#9S{xP?ɯl"F5u'/ v Si^ɵCv7G$;hZY3tg'WUËXıj 2y]k"d=W?~!YRi_x-QEQEQEQEQEQEQEQEV+hi$H2OJĩCw.R3`>|/_T)`*>}'imvGP8W;yhPy o#I]G{k%˺9)5ZvSO^ZIc#]W¦r~lk-;6ifx*e7EWv]wJmcJNNVF@kZ,g&YFI5*F bczou(UUk>9Xh]:\o];I"~|G՜5+১Vu1;ո~ig៼9?_?AQyWj{|j|Fmu˸{U)>xMoxWQ;3?5Vm>4jk<@}E?һⷅu;ՂCq]ݽbKyD=5ltV>{e,S"-mo 5"ws)נs66g+cw>0Ք~[ts./ ߵaש5R2[A!yz54k.xMP\%` #_zr=ih((((((()ŘI=oyt-&l@HJ]l?j xE$U\|qikCPbWMq'Éj]#4NUМ0?Jk6:=7w1ƈ3 7ѧvhaֿ|su=^OX8~wpk>LBVJ5k51x퍬.+on<;Isr"f[>2ibŚt|0+i+6yzyjsJѰSWjռ5OFBmZkTExr.b xVγa+ح-" (UQLu m6K(MxcǖX+CYaxn7ۻRpG;źd*#k;Pռ P4St9WEb^6yv^4jvu2W`: Z(#{Zi=C[xDbPng5-B)μTQv j2Ǵ V|;r{[xKKv?ZmB.-fIbq)Yx $QeB"Ny-*[ǜk&Ծ+kei-?t+Yxke孔A#D k7'|}us:Hϧ^t/hOhf");s׵E4w,0daa^Ucz&a]B >7o<-@[d5}gjvƟ C iEQEQEQEQEQEQEQA\|UoMk\y"%'MFR}p3_Wx3С X֝a][NpvƤ?GS-k)m.Y!qiMgƫ.M*M?ƻ߃VΟ& f2r^8mj;\_؆kHzG_ʽӌgj6]^Lă%׊jF7IvKZC_k5?wr8ׅEp~;e2u'A\1)xOvmq^[ë~ex!;H6yG>64=Bb-?,~( QEQEQEQEQEQEQET,$N)UWcelB}kվ t-uP-{;tƋ[]_HLVk,q^OA9mm2yS]+?R-uk)m/"YaU|  5'KM'=Sǚd6̻nf샽z<e8E.fiRkK~(3p>T,k?|]9B7 ? _K͒X@||konfQOݦm97$}szP !x6UK(sYk C\\n>|Q}lBMGQף 59j4 㷒:v ?Wc]FCQ^y^yOxYG\֦Mrpj# BےU-x1oK"_\wqDeQɌ4RZσ|U%,,pƀҼCڼ/Ֆf ~t.g^<ϳ lo/m|95M( | [_ ev/3LܜoKQk]: 6a <]K"RH=kt5K lPZVƛrq a 8+WŚ LRosGu &hyCjMT^/Zkvicf?vOŲxwB֙7ן5 NwjW_;uJ%vEx-rY3<֨'d3EX: }S!8ߎi~EaԠ>~7\S:W|]ާ}&Ny3e#'"+^0l>6X4Y=֡r  ~'x#ðJv^=/ÏKPcS m+~(x:?jcYlr}x)ܲ }}yaAYCwT UҊ((((((+?SMn/ep…M|}}f>-nvM/^3_M;~1;y[kc:s UI=Myx#Ŗ7(;3;RxŖקMfϛIpzޥkdrSE"vq^[=JӮ6ڽ2AJqO3_^:F XWiVgW7ţ߻ ^img[Ek(EV^Mze!#0 s6UI֋ˤOBӚ]kD3ۈ|C:/DRk !7?fn/dDu x'Ě*3(2޽VWW+o>&_~U/.'7:&n?y]~i^{URh>QTGV-nzQ1yfdGkz(u+s~*_vZ1j#[f;vX:Ljt.|< tq3zwzrּMߋ>(}X-V[DqJG&| r+>Q%eP1jk^:&uKhktrp8VW~ݦs&f((((((+ž;;HMLMs̀\? k {O}>v^mmحTVC7e^Mж:vuj.-2F E<|?eˋ-6dl4,zUi_j`;r {W=sV<o4f6M"9x Az$#FrTJox [٣ҭ+oz֑i}{oy6rYi#{ƛnEBKWm_^7G'oagmuM 89>DvO F+f?d/Ү^T]cP_WWk:**yoa^ QM.IB[۞ M{-EtH֬69Q0S}k%BH-,,dAֻxŚ$w! X5*") ⻋%9{ 3';Ew𭷄? 4c'dҞE|;tgz*Vg%Ք4L35DƓ,;Gn=+%_QU4]f8U#=E'҉C&Q^ڕ9o5 Qx87ľ#ƻ0Ѯam)Z7enດw? ~2k,o-ﬡ*R 6->."VI>(oheT$^?,M;I,Y#A]Ox~oQrbg^ooa!Qs1Vy]h@;5zKíLhp3W@(((((;W^~ Tkݧ5 |: "n_[*(*N:dSrsw a|z0kzkP)+wc j/kiu,Mz~>$&pAjτ~Q~Ɉ8=kXeX~j> oI$:5Ǽ^)vi5Myxwz&c]-n[|n6{\/&aBB=Hz$Y۴Hkbz X Yz'~G3$2s[KGtE+s=V#EyKu$W"P$ՏbToTsФ ߻aSGҵQel?rLӴ֯Nb? 鱎_Nv%_4ؚ- t\*1f{!{?LXՏirkǩ&vgZ4>yMr@C]Ay4Z>ﬥVGySW"w0Ĩ6[hk1dV81!QߏtZ_5/j knLH-8"^W%e#K(фF}%Cj񯆡O,Am-w \?Kg4\g"HhڂF"cĖߠndӝ*_ ƕzy|358q8WXZKs1csjfk1Z˾\wſsw4qn<Wďː]4((((((ȯ~<{XV˒]R꒡ܷԵ-A46_ #ֲ-o1@Uw n~{Qǵ~=-<3b |ώ벽7&!Tu5kWpxn.$A+حn`gD6 "J,(WzbG?`Yrl)e2Mx_O{ wO by^XxCL /v5q+[98Y~ /GN q]ei/)*?xu';xl攅 I^T|7 D1f}9 "{q^Vw,-C&@$WTkAhV׿h7Q>S3}\qkKm:[$1.I'mͦY6UP*;Wf&0Vms[Iӄs;Ivt71=OL,ed0 SE⏴[B~A蠚'Stom\4R`G8{z֯cv0tP`ڇ CF9ci յQjr#$g> ^&ݶ*A?<9;SlOWZ:k |'2c`2]<][:"NNϯJF>'jwTbdcJZ }+w^~H"81Iף\4|5{Tm#_UxXMw}X+((((({tvS9ƌğa_2Ɠ6Kg_^xgLO21!u gqt.Akw|7Ϧ]m/<,::g~h4&m%aҺ~(xk"[ubGL}+o̺,&7OjZZ//@=)9תM㒅8Y/qs\<xɺPa$AcO5$o[hsK/$.z2[r|yZ~+x]>)j7ggAx" i+5n$#VW0oåj*lH77/^ Ct9t_|Ga#}?k?ɑ_Z]#DAw+WVZ%׊_ 0zQ⻏j;TcҺxW^*Ok?-Nr[WuԺ圂n<;x#7EƯoho4Oפ͢xFfc$W1O~$6icbGZkZƐuy9*IT o h;+!\>2hZeÍ0q,uO4%hB:W7xO[8O/8HsM?H!FyW>> o>O 9A^Z0Ad\V Iq3Xx^cpV~:f/[rZωP}Α>Y+!c!|Wզ6C=@)8Eb{Ӊ:lrzҮ~am3!Ҋ(((((;W SV]#n_<%=) uvG?6@h~+>WYSOgWxh63i,:\3_AVKaZ"E? ڃ:bKO 2^[gHm`|s^p4_|D?M?MȀFp\d^ii:jZķ ~3\Kf|c]p‰EgP3X$ sN,jpsڼᖉ?YRG]7Voi887z.j=SF"⧃naDwVH|gz~G]qOV.{MgVY Zb8'ں1rV&uuv>bȥȮG)>κ 'A_?WIc\+a׺!k3-.Ogm/ XG,5tWK4p^GTP9,p+>!i_c_<}ki#TϨ!=sR J,>&h h(O#41*i\j|#h|,{)7fH¬CK<w5~2xj-gmoRO_ŤwSr c"/x'9 :g-OW{cvZb%B+_Km+~Cgۏ]d-!a¾9wQ| n5 yzd5}?zYMRg^pȬ"4Ka!w}kh&}-@9eɮុ/eLA?Ȯƚ%V"ϭpƋw:/%-u h֟'R=4j~ĖX[lW :j7V0_3>3Z.~!x Z[wH98ֽ+V#4 s^;*]D,:׹+Fu4\<-xՉ+5!NJJKwbo-4F܋z{ױk"/6R(_j._[C 2Fps\2ַ$<s槬$ 7@.HX5T[լfᢶm Wfuow-lFckc$sϪ1777kM͌m9]L^H@XmUyo|cOMw kgivpo[x\5Xƪ}gO e{-]lF_h}(=+E}i|C! 9gְu?M񞋪rZZkmb:|$~5ƟHGae(J|Cڴq[Of?o/.bU x{u+ ϮYC= ƣ<'}eiMRqXc3V]Fw[|qsZ~jFDxf_ƻQR{ K]o$.]hlC_ײl*0BY:|?VCd2|J%w2 Cl/SPXDW`;א3;/W&;RW.ZҊ(#}3vczWkVڷkvϦ6d3Wg4, }*ޟ=LU[m6qܦMjX]B"AYAk;kUD=@}寏:x*OI$׭|&&*(((((V <&,_s('}[@ +ɭjGNh.%&GpHֶ<j\w:%ܗ+k)sI{Q7Z߇NםKzgXXm1)obkpX ]7Qeq `oEݤcuxiö pť0%#j4 ~`n-bF4 ?SL46GEe#FA?Ox]ktGF03^-'$=X6*Ww4:\N]q?V!Q}*iffvZFWڹ/Bκ (#LAwn"ZRzW|OHH FT)ָ C㟉/1٪[„?G?B@j(]T8;Nq^&7ާ'^0á{X״]?R1 gV gmD\&~aڕp}___񭶏ak s-ܻ0thpZd=xIs^EQEQEQEQEQT'1 6`x|ů_i٨K8#QW|{eMJb@In;] ;/ʚ?UKIMJطt@J#Xy5@kx#1so@!A5'孚H(,~_ c }*x>ɩ]%ˮ'r? ZytZOl[Kp~ +_o)-ZR.bŝٷq9>"i{!i{\cQې> Ȭhb!\v<W"tmƖ'k'V{--Լ~VKn/n)cR:&p-杇ʋް'sɫf6ZW{yLTqNԾ%\i#%u/ @ ^c,Xy91S+]F!Zf Y*-IA|u ݵw pqZGXլ@p=EYv_Gko9!PxSҼKkxLK8dY𷇾xqVC{kup:!'v‚8KdU* q?‘HPژ~*xETy{"֎m+ReKApP9t;1ιoN:4vc&s9+L-gW]B8ܟ¼Tx|%!oN-kʷfb[yzcpuO]Y^Ǧ&-\O+~:Ϣ%4c<r8p5;d {eku^>+)Ͻm?oJCs*ך(}kmѫzkh}Nq9ʻ5H^EQEQEQEQEQYz>5} /t{bYg k=Yi UpdE|}Fhn]O`븏_ᶳ]cJ!km5ŶE9#\U*+ {-4WxOZf]>_¼ ߎ:̬ ~D׼y)kd1z5?4Iav֤Vgw{{Zܐ; ʒjNw-q`p \gl#݆FbA OR?:jI{-A~&k5[y#0u,$cH]mVjpN%aj};z[!x;~ė c03of1+(՗崻no5IE61Ut[MSM2I ]^0*Oxm`uijey4KN:H85ھ}iq{B_'yŚ ]>w_QBkY.KAk<()ҡt,+h-l0e@**c6x:C'4W '>0k}&5KZWg[klcm#ci'EtT(?j|5X|rndB- T]ڶZl"P8~n%wd8x/tM2OJJt#T hœ85l^'>it?Q^X*HG<:'Yg"^]}XGѣm='+OuI5G@9et}+>>6k5Ze,OWxƱ<,pRMq%cSr׾1#1+׮bZmD)ɵWX7𯞙wcZSOM,H0H@NL1JFU8k ҷAں}n1LH5(Q+!Tui8Ȳ?V#vB3A1sJ|9g^^E}]׃|l֯t/iW#>Kḳ~_ t?-pan᫧mATsَ+zZn/|Ă㬨< 9qWoP?#Hʺ#)dW#xC՝/٧<`;Nk ìFվn~چ{6I\#~nT~/q7! _X4)"m$y4mNKh$91 ?/ _}yMwQw[y3tV_P8 :(((((u-ꎦF9nzA}t*U.=B-Ṿ* 7FӴ87}jZa|15xW`sWA=cgDg^iiS-ĐD+~}Y5Mnw8xNs=›:PxWKi=F'`ɭU`2 xg[7 pg_ֽcږ}iQ;W|⼔ F1sk *0ʀ7Z{M99)H KVV+"I\b?X/m[ܸHFf'\?<˫iM=:_.+MzaF1ʳ-nY?UZ MxŶ!Vo%U:4O |,V15C gGT|* 4'V_ \nfZe5dQ:^݁ƹ$w.}JUXC+jvOAζ#TsFK;KƔȏ^޼㴅C7//zސNfq"xHxiT3u=EuY[EooQTp*;Ra}/j?Ez;sVG⟿[?}EQEQEQEQEQU̲OFKׯ4]C +P oFnjkbTMWN5s~5=P,?wy&~'1ku} 5Qx1_v~ ߘlKk wFxsI#dL?y׈>I 跗8W++Y 0A'-vӯ [57@e ?VӴ:5=svv[¹\o7Qz \U?o5EC o8n Hs^\ l69o!-CY./[tyKimMqg>HSMsTPӬDKҘ=ƩikVEp/=i$ Ecs.~&w;ִ5[]^%ôI_硫nZ?!!(;dk#z4Bg=t񖣯_^LdXPFW :oH״?GՃNneHӖ栓UѴ3@l kޡqx#IA<5yiEDY#w~w |c,;NCDV/>u` =㵌 $Oeow@:|?Gf{M+kAE ºG!v6?_^ 1PҼg/|=umS^w70^jQGjܼ8zV=īH2YOvq뫲IfYbnC)ȫhɶåEnZYx((((()2z/d*s -I9y*_jMzFZ(Z¾Ծ$K6^J9#$~ k>H\<%IJ6y?{WvvV:[İkZ9h^g2Ӄ`G^ WosT_/G? u/daH;|Q Ed:ɎGhզGyg(x~^Ƽ㝳K 5^Ch67L"gVC`z8-kz_PH@Mx>9^,?/zy6[ꗑ M&q־q2.;D_ݏmf˦<3[Ն8W'eˢk:4MxҴz](7kh wQgt+m8EvatCJORj|2lpXJ;kᯇZ+#37Ax~NV2uh汴_6m^]K}7):jv7GeҐ ~Oҍ T/9Kg}|/=}b|;ahiS)rƼ~{K2/kVZ|k׭kU!N2Pvc.+OWlb^lVJ#}F[Kּ?OoexgF H$WSZ|SM9eSM3Ym{ J%Mѣ_n?_XLӦ-4}2i H >Cފ~\zF]Z ['^@j&ut# @7t=GX2ʻw?ZuDŽ|{uᕙ?6;C|C^x=Cfa,s^EQEQEQEQEQA_$k6^?|af]5 uOv9tOš 4'5|7f*(&t=r87~,JM.n$epp^k 3oks/2R λ\B[ysA)OQֺ?u1TާXc90=L1Pƣy '̈Bi~ eaxv֬Eq,j)Wx#$;4[͍ # ٹ W9S]7m6fHb^y-Ċ3JkǚΦZ\;|ipG] wjz{Wu)ΈARď]:g@R1q^iJ"1ҩg ;Dd690`z 8|E!Tui8Ȳ KI)qHG/Z~R$HH ǿ5zu4s\"Wz>'i>" mrMFolנRQX^'F.3+>\.+; ⦭seᆲ25S\FSVʹ6$.#DuPda$8"o!xNg}*ki,@Xбx{v~ kE?t=wQoᑴ@mgaOXtI{hMy ] B66d%jNYb2I^W^oWkezq^?|> !9XF07~QEQEQEQEQE|C5]?Pa?t'Չ9xdHbϴ, bsMkUY ႀݓ] 2YCWKa *#nâvOQXZ74;:fomkv,W AٲZ0knb͞ED25ZVw kjЬC]F23Uiz֭}b&kч!y׫>wt,˂پ|_cPl=9fҬ y ~_ʴx8bDOEyUTdڼK?^ yY&^7Ω~\s+)RxkźՍIF,j$;H cAxԧTFy"GR`7/ݶehMK|#7/*kAOӭ#Pz™D;#!5=?tʩ*;tPp7 OPsjKVp+>4jS >mqn7_+oVn(^Upd#ǂ3@yl)"Xھ2麲yEp?Ǻ^$w H-9+$cwجjP Pyeş=Zu#3G_K֗2ZȞa3<I|w=`Fz~yo3i [AݹwwFi5':X6$8FA xMg y⻽7K,$*cc? [?|헐uj&`V<"?|Kruݹ%뭃}}!c> Q٢(((((& kgx^w W[O`ͅN=}9ڠwyQn9l f{maiR4fc+̼CD{{{N~7n:fv'N_N,Y,W{QҼ#4 _zg`bpֽ?k?\2"주̄1^x[(/>d⭷/yږW|NԡlM^:]x.'< c X}narq]G_ IJ7e 2خN{BD$^C]_<A-pw4-֮9*zfVMEE^ (> yV>*#HبX0yeJ~ʠ7-ԛm{Pk-ɾz ԑRIX4ڌo4gL&'*sqo@Mb8k!:/Dnu"H*58K6Lc"X j4K?g~l]bڬM] mHͥۂɽQQaSK/jh-׬FR2j6qrcKg=kƾ^*NE״wO<=+l>i:5yIخ_he bD*/#יW1Ck <70s-oC}HͻnH UMka.+>:xYXihiWEᏎaVD_O4Mn :2g` oAKQ|q J>[Z{;ۦٱ)QEQEQEQEQEL: B/#M͜1\yo?¾͂d9ǥxſZxWG/vɰ< M-b7!MzlVV;x@r)ml>hf`*x}Zm?P'BżsޛOÃDy =qx¿Bok2ko--[<lEmI/EQRM,pHʨ$9&U5YGFk?FQyeq( 86(_0ޕxCZ悗{7SW޼_%-ofK .y5^,A ۆG+dI|RGgI;mLK,jLI +2V༷`J_D-LW(q\y#~dE?5<32ohu^únyj7;Z-[Ð?;6~vjO~1\V}Zus%,sj/+zW]x.ħZOHb ʨo/B Hq^q| 4^Nqʦ fE>"+y+)k>24[cfNޣҽxQ+>cZlm~Gq4qs+I+nZ((((()0kω<*lfewvW$j#qJ xO"=W⎹^|k) qs^E&xL?[xy2L֯g4'GPU(O^6Rnzku^GҸOn,$=^uK{[ 5&?>0Lӭ~+g|QMcp,#cjo> o A^#$WRr+uռcx>^M= { <9]7b pB>f>qcW7Kcה.Tާ'Zo~ E$ ˌhI}8UπlGjٟYw0^/^GA bebF\}?W<\m~>d?6zZxn%Z/:>,C9S\7Q&t9=z W|PvI[~UTh]_;CJ_R٘rSXxvkHn_b;^[u 4,̮ x&f%t.yZVo^[8hPC#Hl:@ׅmmvbWPs]x#RъLJ{h.P$Pk| 㛽n("p? Ofu_Ih]) 'q:m9J((((((xOlӘ3FC>x8+ȴwyM렂Km? hO4粑gk 鷚Ov Xu&cy_ I׸\^Z~6*{O8܊HSGZƩ[=֛pۧN}EUimt<g\|ALjk}>& WA vQT@Ҧ#">kA0s\<{s^ t2|~+L!<2659#it$մ>!x[4m=sGQ;{xG¨y]7v3]H ]<73mb.Ҝu5EiX=uF𽍒.ݑ ܊:~l um9/K"2BTÊP3Qqd5>/c.Tvt5nM[×9Y!rUM{5E}+7k7ˣ˟n碷{Ҳ-*T1\*WW7xZ[ɎF:Wl^)e ,R2@A\ΡGREc+):<+/Bk,7vAJXֶ~7bX$l~WꚔF=˅$,rk<c?}q[&Ȅ7JSW6Ǧ[sll MFfI#;WJk6\ Z6]#}\׊&.y~d+{ uqߌ}GivֈXc VQEQEQEQEQEPzW;5 X:/+WZq1%^m3_cj:|d O|O3f9;z_xJ-o퓄9${> zd>(i$;brGZ>giYıƒIu}mcN;Wsc& ex믇^=VrQd^ݤ֙ UV쌛yc?ʬ)R0x,|ahTCz1̽s^sx\{ 1%;b9}kb״}:Y%LVt2 *-^,{k_#nN:Wzcx5umlʷwUJ=K:8A {XPxFeж\qu{^/6"]?i_z%+mz|:T`b8ѝ?uaV%KC|dpNkH#hC Ic]{ęT~Bׯ* 8S>(^:3\2 x~ |27:hjv]i+G$T8+ςEΖK%?ѼoO5Ő9|muGKm`}IT1NEղ1^kFSaN7_@ O߉ɥCW1k֦BRa2;Ҁ t((((()|Ÿ$т=|W|A<>t{5aXf[;UmooP51\?>!Cn:qs^ox%:05 bx@>t$t> /~x+; 9;(xgM%j"c_=,znrp>xO2ގ$f7zteXȘWSA:|v;cƶ3\?iZ}3^ڼM<7ƕ+;#>v:$܏{V4]HxpE]gtp*0>W=O]͎"CMyƯ/MtptȯG_Í/‘1qxF^w9AKER1WKgMkKWߨ܍"T*M6ٵUwj76[תqҗ`T34r"2+[sCU,YrC'BkuxcO쯶lE {/ 1H?[ԍK1>?qOYZO.!gῇÞ)CqMvQEQEQEQEQEQE|L70$y㜊 ^/g܊ys)}yeyWhP5JdH|[^OS /y\] +Wm<7e>m#K';N3y[v(j+1+.Z'."m9q4.Fes\ÏOouD^ I(p})C( W⟅ݥ}%c$?K}FNN+WK,-IMg( wx:*jz+ⲷhFk G+c^ rCklుa#F pcڗ42`GRxŶ^dUQ5ugU"H GYzvcOq V;KAY?k"l;^-,>)~/Oo+UUT` ?0Ўm 7\6*_|&VI= WJ1ҝEQEQEQEQEQEQE5*As_,dFڅx;FKoq^H*y_>|Ix/?oA'{|9\P𪂀k;N43dص~ϺaCԝ~y'Wꚵf7 H9,kt?C':-ܘ,A*=s^oq)4.7PGz󯈿VYxߊ4?Pq E: 񦕪&y߀v u(Ԁ3ßĒh"_&4R ^W FG=iJ =+U𾏭!}5j7u!զ~Y"m#ēEflLtjTҾ/.j%k&_֝_5/)µ>i*VMJNGuOp^&DB;jiMJLbº;_@~35yn}iͽ1oV6k.x%}k<9ͤhZM3*[ [?z[<.,Ƽz+C2鱶b#Z=œ2 > ~<-O4&y74>`lཷKyVHd25x:w"+veITa]T}4ifKnmީAܾBĚŚό|[$2ģ5Ï -onT y[k(((((((ҹOfxvDaRbltjVPOnh :dfοoM PpC3i۬c ؊ƨ 㟴Ӂ;8R*| r}쩹 ,xt xj^&Kk xKº,)hl>Z:Զ;hQ.^Gj+ 6hڎ>ϪE#/4CpbLf%7WF A=+|y;Bkk YU1mF㻵k4I!u"AxQЭIR2qW>|A SXp4ZF>o<ѵl#nrXhCKMN1FGQ(ڎFOݱYZϋI҈\f<[X Ge$vVcJiu=sƞ#[FK=*7,J~fi=>_د3O׼OizYeaL0{΂PIF\l`mҸoEӼ%fM|G מxkߏu/[=ۢnvXGoo4UQwTFa7{o?yi+ >Ycq |WφӅ?,L3Ǩ⺻OXK [v=&//Gq /[.,)b(,l4Rvڳ/cc5e&Jj^َ/ֺ?4zZvIP?|UYE·G&㪹zJՎ`|)Y;$r=EbxEYk4xj5kbڗb[FŋN+WZNEu4riv8B ziwt]:]Z1Z|-k-E[?xHEq^ݵCCsq -,*F,q?|ZyNX1FB7d_&M&-{qq"U?QH@$l4h IDSn\+\6l* k~,(,"5|צ[gCQWpGA_0}U) }k I>".l/Tc;=+ڻW -,"snJ-QEi6Zū[0Wk _6)+Wß]7Ķct)r0 S!IgXd`j(hʞbTM^n!cf,7dj%\e.Z'`R1>][ԏ6rx5ү7 O<1YOq"+k!w"["(9=Mz_è5I1n7_#FWogkuq|jO NծSCb*_4{cY\|GY|ɷֻmk4N8hZvA%Q2H_|Nм4\]tX993e+&ߌ/|>)ngIuS8v t(K2k^P^y?ɱ-hv\N0+ۆ6Yޱk]ȫ`OZ+>%@]џd1¾W4𾊗WHGz`Җ(((((((J|S_X]v>9S_'ZV?4/nxLq([Y[޽jZ(3Epk/_Dq*5yρ|iu纶>Kp+OGַ|rdہ}'Ś.cR 4[kyABۢcՂWDӓQ{i\a&ܖЬj͸W8v+B3Q-gr[@FXcPԬ#/ws*W`+2hN,zd~> ;X_MӛxcHzB^ 1A*"Q*P-dQEZ$ #V'|1aI G.G$ֹFs1=fNVRl(}k9-uXs~((((((()O-`9W'A๷~Wa_Ox6~2ҖU%%<]#(UZXU@',EC'Y(x[G"x-[pk_Ф~bB fŧo _0F]H>F4RSmֶM>Tw`9}ϊx9o'`lZ|%+`[iֺ**P>(]ZY-۪@-_&x]ֵ }tI_ |DZ¸ˮ{קTnbAh2ǁ_<|Tɣ貕^%O/X x/oQӐ嘏}+ >L!Q@QEQEQEQEQEQEQEQEQE!+;"9}oèF27{[[/-aoa_Exem`TN7}+҇AKHyx3Kִ{á+&>l1߅fGf9o0pGTy /zt[Wyr -<+V,*<I? iX|t(=*դ7qIꧡ+Ŀ5}KKm(g +# H aT 7 A(d;xY̋$%1ι^y;Ld ' ^\B"l2=qEQQIrEǰZ,+x"pP3}+KX@6ƁGSH8ERMxz׶ZeshP:R(x6N@!W|(oNuWrDC{WјA5_W?'gBT̥C޻/|EC4 lTQG5?yncVSE gŽsIlmInWx͗.E_f=5)  `:~5reܟE$t ( TQETM,,qVc+ǼwK2X.n@~Umwq#{?;Y#!+֕* ?QEQEQEQEQEQEQEQEQEQER`TSC4Rtad|Ԍ*nycx#V$'F]gE%i|:ne[W1 [5KEW^ֿ vQ$_/7.$|ڽss^2xk×Z?: 5b牙RcNъQKᆭHZXW׾x7^_fSd_{դ K$mXdi:zp<Ҿvau~9V`ׯ,2A#}XHS&kĶ2Ga]Gmj>(EsdEe w(4 )$+gĽвp3HpFNO֭x/6YR6',9j'Ҽ+nX[(`>iHqREQEQEQEQEQEQEQEQEQEQER0x wW^PI>9x_4z+zG s^6E=ū#s{m)oBc~>_tf%)ʶ◵QY!+) O^νn#/`8'Ʃy:5ɂ|ֽy2}G?fh[yQ}=v[u".2ɞ^{~hGu}J((T Q*J((((((((((((R0kt?}f#0>( {h^CϋzH5'#<[QR^g+м3rme>: \`{S$8q\εh?ڵ8wk̵-ѥzIҼ\oV[U_99Ğ%rڼ1&Y<+KH.5/˅i(5p6,QT`U8((((((((((((1H@KEHW֑N̼כFO%<:f\)}-FqH|57KFQEQEQEQEQEQEQEQEQEQEQEQEQEQE*JZC0?L%|%K9j5?NiD}뗿6Pʽ;uw6_/Ys=up1U-86zgя?Y<5/Ɣh,'gԿ?zz\WK?[6Wr}pKښN0u\N_KHYs]$qh4U_E&((((((((((((((((QE`S4QO"ȣȋy'*LQ(((((((((((((((((((((((((((((n30[IdfޗPNG  IHDRO X˂[sRGBPLTE @@@``` pHYs.>3IDATxQ:PAag϶@{WDĈBH86??%7um [e!O jZ'oTv74-M׿R(~kx6 T1mS9S'jmTю'`1~6᳏kam}]][?SP2<=p\mm|~㇈k}b75&GqEPo{70kY>CPl_x"?G+fZ})X54Ö֤GMݎ0pěvMoliF:|¸V̴8"YӇ,a|::Lxl?}/W;ueL/W5jRzPGNRO\]3~RPs[Ppy/n~=}UV:1}Pѡ?^6.;-ubʇaj75ՙ ʊT6EmhGAmZfyFeRjB AV}PCH+&۾ LEePNQ!JE+ubT4ojHYBv*օXr3-[Ƶ^ڊ I|,5ÙMW?GEwx"+m}ƓhGjg[Y1A`'C  G! *9zs}&A(9:ArA-[ jY\PuZV+Բ5@_-K7 dCdAdُ./Ԓsˆ1A-9YPG\A 2cZrޠvӨ jY^R#aH6 jYLc,l[ϐӰ T'߂yC t661?CPKj uh!?CPKj^>AA->ah(sXjC򠶯UeOԒʃVx/ZRwPFu6^Gu vwM6Z&-A_A- cr E/K&c,ϢukrAKUX~xq龥ΠN ,J#<z9ZRcP jIA͋ #%uV"AA-/EP/GPK j~ jIuA]^ԻԒʂ.AA-+mԒA~YAEdrւviT-JSgPJ+zy+AM7Ų+ jꔺLڰs 啃wӖwjH3.ǠLΝr啃]ER8K㣝N_Ƿ[{z0+A~,tJp+\?"k߫Y9i)I;t(M}AzyPamnzyŠN[AKʶi>A햕˂zy[:_XvAG7à]?OSsl jο?XvmA{u>}L#CP/gKP/AAwֳ% m tXw&t̛*k jzPu0]fRyA{^]~Xw8s c{= j'wJWb[tyG΃&o]>x]^ރFyXv%n1vP<_,Uxt[l_euaJAǻuLW"OߺKKɁA-,'%- *ZtpPMP/OPK j+AIP/GPK6V jƠQ+'%ۂZZW{\6mNԒ[ւ"EۂZ( A-T*#%5op`A"yP:A]Z._y9C*〭$~|7O{VP|5ϻ4jэ3s~Z͠noyPoAm12ӏ ;Ԓ/uK*#q~zdgZv\KPKأe*i(4J %g;G CveNLPKZtyfHA-u/v]~oԒo7!eRԩ2IP|QMcUo/HoԒos{C+u?˟#l jEy%\'=[ ܆ICMI?dcPw|LJZBA}H]<j *?NPeT"2 *ubjJ]XFA.Z,RA-QPɂm"As u6AP/\AMmRSu *9aPpR"vDveT*s/oL7byGRSu!/f/Je!|M]Y,T\AqS?^]W-)Dm7ޘ^+Ru^PSug:¶}w,RSuLjk8UPSTǛ54*a jlߦnkLhS*Y]Ik# Lm*;WPq4&6T:oXyner%5ق%JeXFA.Z,RA-QP(EPeT"2 *ubjJ]XpЬ>}z0Z,aA;h֞>xpSuv-MuٽG:*ptf ?sG5v% xgA%T '#:YVPI蝠SQhmù\)*n܎#?"|Aga.eA> jƟqA% Gop^tf61NPyd[Pģ,JS jܱޒƎE;'o<" tV6uҔ}?6p6=j>3a5v5?#guz jz|<!Ggf7u8Ԅ6#ĕ7x ALPSeR3|({Q~HCP+ţE3;t̨&cok5JA(uLJ V#AZ&505W䓜+Aشև'6sZ>wҠ6Y[7]}Լ 5(mys3鿝5e㪃5 x.Qx:Am3.׼ԩ*? j:%#- jhpܭ~|#gATm}jAP?sRePc(A#A+ʎc3WA݁!NPѰ9 u}ʤ]*{=uyk-X&'TvԦKIck ~"~ ]&Sk~9WP/u- T"W *u++RS}a-T~ǹ̆$݂zM K7?RS5wpz>݂;6ƈcA: j&!>?*!g j6dqS݉k>jk,J,] TP9 ڽ;ơUƦmY\4}GAUDY&74L35;^O ^ jLX|Kn3=.׃{k8 C}QiVI[rqL܃x9Y6K;d(Muf4+WR>|0x<8^-w#-Jӽ4$R;uc;i|4, xv.gz`A=Cn|0v`#;LZ-Ҽ8Rl\ۣq7T ?q}xᵟ :_~f}NlƊϾsY أAO݂փMAmTkd'݇,BX;^xԦK Mlz{ޙJ3\_ o.Cusۭ S[{? tgϠv}˶nl]]PuL}T(A=,xQuԩk6LEԵDn.tzjwAZ&Z&"+栭 eAM[xjLf>n/wA}mG[xS ,m jo.tA:kX{P?ln}^^mA׭>r* 겓R>9+_ n}^^]A4mjST\ֈLP/vodw䎷'l~mmڽ;>^ j̛W^^EAcQA-(SOPl,J#rj jƢ4 S[Aiݖ)a˧\%zԟv7֠DP7t '?TA#-JAvQGP֙5\ 굝(ySCM" 깵hal:Nc22-Jsn9Eskﷻs!{ u^EivCCA=!i[hB3p(Ѣ4 ]n8IS~ ԃR q&\> 9JH]^ p::V&u 42Ǣ4G ht5zv) pLuF_[LFP>˟XPm(I?an~y1zjm׭6_j_\|҇Ŵͫ QS+zب]1%v ݡ2'|e҆pkO,JCA~>}\ሶ5O-y}Ei~%-_˳ay8݂> jW΢4Q]P/g砆/)Yi]iV?rQۯÓGqBO> .|%Dv砶9v곩I|> ^w:IP:IMabA>Sx!< Jx< |)Qxσڜ'Ur jX{rPo_6uLꦮyqOPRdIq%Ex̃mqM5>ƖWcM=o,rm]J;Imeg_cPoyb(33k.hQ3CTr rm콅Y~9j?w)%< jz~&yw-eqJ ^LAm؛ Z~I9/mO(þnx:P~' Z<n[lYbAmPwPçmeϖʉԵRڄ Y4oY/4_pxfY.{mmmZz9gy5+e"'"oꣃvz%i,FX.Zsb7}vU|A6`MYS0ކYc""? ꦫb> ڥl4%jȏ&-/,Vidg#"jy)Ccelؿj|vjyu+!Ƴ|6ub緿v|i j8mƠ#凾8t|T4#'%"/vc{Š&L[Xs֠nߨ/rԦ~}M޾FJgqۋe+ռF OhkPÆ)+^xAv_iy=lW:(L=s:qP>[a~{⠶Atq&) jقϻxPW* *9qP]xoWd<.GV˺{)gpmn>+wgւJe.:l~S;#ʜvjjm9GM+{i /- :Ymf^>!JxiYK~_l>FP/oSwf{WMBl|AM]ŦvbX'o#OˤcϽO:9៰sP?,A5bm-l/'Ft6-Tς˰A ϩ&]Ɨ&.YR jA݌=sT46]OP̟ ?u(r74DANܯo;.#uاf ݳrrRWAg7CƋ͘*YPRXe2nTQ9ujfA[&-'ԣIȉ:vvؙ"_v?q ߵ5#wW:ol)p9{gXP/gkP_{##%{u jRA-){^ZⱠ^*Ԓ *;ԒԒ} *{v޵_P9;PңLO *Ѡ>} *{Ԓژʳ\.KDdnԡ| 6]J1v .Ǿzy'C_l nvnԩ[f),_b*9oPBW'mۗx,sޠ3A ͘8{ ʜ:3ǝuy1g7é8٨3u5֦5ufݶL2 2)4A=2_rrԶ\뛍6s\oVţ8٨3M:jRs۱_uiˤ0δU~_/?w\Za9ԭTvf=K_t>|g+TFPKjR jis A2? T'1A2Z"TFPKjRA-T*#%JeDP*A2Z"TFPKjRA-T*}C_&Mco=dt_[>[z9W>Ujl,f7?vk/e]P/gPڝͶk^tV&T/JP.7Qa 夯|bA A7^hvAk',vA1ÿݣNGt^0qq ,:T^rөrY~PO96UZ6vA:1M:w>f}6Z|fѕ۾wyiu=q.vArPFAMk%+?)ݷ}eRl]ǠmJAZ/f%qȰ6:v6^Auyr^ 3T}f)Ea}7f0kX&trAmaacPoLm4!d(ɮdA[?#4頦F58Hua os ˖IͰ Ź=qE/u 4.3}SolȮ-24Nm6}q\z9b) A2Z"TFPKjRA-T*#%JeDP*A2Z"TFPKjRA-T*#%JecJ{tp:7]z0Goqunџ/hc,ԣ?GmxazGPT#wA>zGPT#wA>zGPT#wA>zGPT#wp!TEPA*z'~*UI_yBCP JUNT"w퇠RAn?p!Te %FT"w퇠Rqt웄A*z'~*U6ptQ*1T"K)Te jT" J 2]*A*:+dcfk%T% mJfd84k*T2  TeA^45 *UYl: A& g~^X8<ڣ GG{za/j;K굷 3R2Rr nvpυ < ]0!>h]*6 V V1Aھyձ/vڥrfm؅|GztmEvd{W6ݿ羉ԅꦠMA9 psD`I.lR o0<ЍхɋϥaqሷOp{rfcJ.˽M Gӏztmqn7.Aw UIˠ1]5]֏?wMAyP*WƮf:弆0v1] j}8.vSuծIAmNkY )eRϱ/dq{V=]Itbm7N|q/_55*h35Mu4)m jҲe;4;0RzJδc2;d54Mh-3vjԮ yaԫfS1v§Fi`n jZz'2 fZi~}bP5dA͖))1YeKA]V&g6j}gA/sY |9݋Ӂ* *|]7= ߔM}94?)S}-ًHSqn6*U (R+8|4ZT8'KhFߠb!iTkG4"TӤbf4^eSZ\hfɱ3N䝅cN@iz d;f=)oR<ԑw4>4EcLnYbc/"Tg *)434(ݝjqC7_hv%-k1GVth3^G#; xQ!]Njvvm4/4 `ElШq LjÆIqШ0[&5i044JBxK#B5S[T=*m}g3g Mq0MJd)p ' p ' e7 "qIENDB`n4iAw—CPNG  IHDRO X˂[sRGBPLTE @@@```K- pHYs.>4IDATx v P3"h$361=PB%{󥧬2_zsuIWbPcPayAn0AH{~ [1߰<6EPlw-i`O e/8f{0U.:/Uk_$[l+-TuE]z3vly0J]v` jsxIwe8ly-ݝy@U}"fgyUvup˛ l\.Ƃ;vב-j:ݵ>Š[1.R@Uߡ>?WW->Mot'I%} ܤrA厺kZ}^PCQ-햿"ކ;ӷ{:oAo$.v׿6e%5w'=H"iw(ʦo/m jg߃S~DWo-~ww-~ww-N|Fs@@@@@@@@@@瘾salu7o[_/eS\hwT$ەJn *?kX\_&ehwTDPsu|ռrʃw/3ԉVs4Y:$Ww9AA j_zU9j"ˡ:O| і@j^Cs->Ϊ4וt-{#N.'<Ǡsj桵歺 ͗΢ ꡷ݶ*TK.S_A>+|mPk: jX] n[} jx.IoL+ۖ@KZVA]<вu.ZݶZWX_Y~cR`PژTqxAeŭ`oxENq0%*-`FZESAyYPn"u7P3z&5IrA|VPǠN_ӳЛ.'ݯRZ^1Aeڙm@rӷgƇfTh+f> L:ȥvMM WwM?lֽ#W|.APvfP? ]nul-5M:2MPNT"SFڞozs 4A2oTI|HPPڥ35Ė;AeZ{Xh{d ji>j|I]>i 30Uںf}cP4Dﳦ#Ō6?UU.*3/z솫Ƈ[E*-Ԧn*l1vwx99驂*M+S؏óʠn=ǟ!ZPbpɚg>UP칂g 6Vgf}۲=kS-f]CPߧi̟x`sn9|2ؘTuY]T Ѕ*>: *[ ?Ck\] A]6f}N{^{AԷ Z᷺} *[|j8~u%A}{֠_6AeO8quݧ )gfRZ<ȏ5; *2V6tأay+9p^Aݿ* *[r{Q鰹ݪ2P7;v輳GWWllw5\;Ae; <=sˠ|Xr}-~&o+TA]5#%' (lq̃㝻yuz5X=Aeczp4K~o'/TPy'0yݫ2{APGr*8kVy[\箎/Xbu˖x7U剫/tDU:LYa[÷WǗ+ >*_鍶ڸsWw-n9$ǭ[mlM z|UM)Qn}U7 WWtaPvw\-'j$\]d:,KP|6sAnY^gUin,`پYI^S7=B\ WW̹8/[ WW[C{V^puIP{ /#f{_{pu8TTi:WmJ y8;8ծ5>77 Tyv]k|wlPւSApA}ok,/fȳ(b͐{Kc鲠փ4tڂfFmڠ0< pԘjьzXH|ȳ4}}Jg Zt.7He;YT> pytPR+RfnPyP%QAB*N)Emi:N9 \]W36mNHZ׻ϵsM?Qg''GPiZvW6Wiy}j_TX&\UC8tɎ)P` ]g *,_R욂 (XX|;^TXl99xӃ -^ߜriLcܥ 1GT=l&hA%yrPRSPV1#|e<_uEPmZE hƉ}}"=͑k],-$i0P|Qā >SWm?UijJ|mԯ jӜv {u95/UX $K=kOԂ}f@a-UuIP& *8osYZ53> zS:AdKLEgcuKA 񅪝صԲ3xCPHPhni&~ j}Ih3qȦJ [N}v|_S5H5A*רd3Cj;x j3)$)\PJzpq[*mXl< Y_Pđ{6 A=&m:{A+3^:~NZr7{:~r!UPL5uj *ykyKC] #ڒڊPTW'zF[ҟtfNW6 'A82cE4 og,ς .פ`"8#uiOYv-]Ԫ*$+юgA-:]Ք=r捬6jKQ‚ejWjNxUm?]p%'HSa4ShA|:^OUT;,3oCAM Ʃ06!7n3_q2f%IN#@UqFPI1G|!_\PQa8x;Lz^u?g"u󡒫!_|[ ndRtQe&N"?Rui -PAZ͘"MrQS8hTx0^UdY.Q8Gj jU/Rv2u渠| jծ: jWA'M\fTZas|[Ev?q A0ΒV˂Z5签!m#1nP#yglԘ_?4)Ətfu2pGv6Izȧ5"zUR3) [|=1NO+*W7i2pKRNj>L~q/A,鲔J.{pܙ/_WMӑ*/|]dKe0{n(mMJY 9q:<6ꪑڏ;"+bm݄,aDzdkRzUo-zp]?F~7uA^YpNPSZ>dNLU {Ԑ&'ڠ/Yj_*SP"= SVSd6,/=S~%VImGg:\Zbu+>^*CLp/avGuiapu;rԲFH^qm 0>,^|ΗN26kJ_ԡTAsǕ{r搴Au*E^3qu/b]z1̹[lܙAopXP'[}o/q`PnƚȋT5CՌT]wթgT_\4qf._Zfof?,*WcPCv.f"? ڹzh_S HA^43kmn|Wq4*V'? luh4ŦKsjG% puF2aujѹT^߇Ranq*PcPSlRPC j>H u>d GXk;wOh jU OWI!Y8B:n(N2:A}WPcTcP-͟o ayYpԲN}i_PƠ} [Z3]e *O0~cR(v jv?#>A ̊T-[YP/sP~e^%MyY6e7Loi4/͞A ,!j3ͩE3Vq>j3LNP->j6uA'{ۈlĠW]RϤQΩo۞I*]ԶwdќCd>2 {j6-HMogR_"pD.j#QYcqs"`OvAf==f> ym[ewvexB3RK^VZHev1ʵRIϧ3ջEA.f==bPimn.7+cӣhy Q$۫e%5b$=|DY;|E}}!tymsS`=_qB AUd QRAOy~˹/&jQQwPȧ(K|u׾*uP.hP ˃Z]7RPNMԽ/״_]g9e3PL(5s:A-uyeh-XÝdA--ԡ Oa)Ugj]xWK4^b1r~(xPg2]p#)1)} A<L[t#:`Ns_O#MYڠƻ4jѨ+M{}*]Sղ'$=Z/4o ,/Oe"uujRr/;ʣeA7ga:A_4B}[ŧ^Nyze-~"_>GS uWh?Y󚭩ϫ僋TT5YTe LAMWq"3g T6m0-ikբhGof.aYf v_.on4ҠO6AL|;5U%ЩoԷS{RgۘT 3Z5|(cIUkLjAzA&I}fQS3} YWNE>OݞIE:}뙔clzƚ3ig1tkJA뛂7 _)./0e[Bv;cT-j{%*LTxM'{̙/L۔ |`3XIENDB`W(  p 6@http://www.cs.northwestern.edu/%7Efabianb/classes/reading/p39-birrell.pdfhttp://www.cs.northwestern.edu/%7Efabianb/classes/reading/p39-birrell.pdfHhttp://www.cs.northwestern.edu/%7Efabianb/classes/reading/p83-schroeder.pdfhttp://www.cs.northwestern.edu/%7Efabianb/classes/reading/p83-schroeder.pdffhttp://citeseer.ist.psu.edu/maassen99efficient.htmlfhttp://citeseer.ist.psu.edu/maassen99efficient.htmlhttp://portal.acm.org/citation.cfm?id=224056.224069&coll=portal&dl=ACM&type=series&idx=224056&part=Proceedings&WantType=Proceedings&title=ACM%20Symposium%20on%20Operating%20Systems%20Principles&CFID=34776071&CFTOKEN=17546297http://portal.acm.org/citation.cfm?id=224056.224069&coll=portal&dl=ACM&type=series&idx=224056&part=Proceedings&WantType=Proceedings&title=ACM%20Symposium%20on%20Operating%20Systems%20Principles&CFID=34776071&CFTOKEN=17546297http://portal.acm.org/citation.cfm?id=168619.168625&coll=portal&dl=ACM&type=series&idx=168619&part=Proceedings&WantType=Proceedings&title=ACM%20Symposium%20on%20Operating%20Systems%20Principles&CFID=34776071&CFTOKEN=17546297http://portal.acm.org/citation.cfm?id=168619.168625&coll=portal&dl=ACM&type=series&idx=168619&part=Proceedings&WantType=Proceedings&title=ACM%20Symposium%20on%20Operating%20Systems%20Principles&CFID=34776071&CFTOKEN=17546297http://portal.acm.org/citation.cfm?id=168637&coll=portal&dl=ACM&CFID=34778775&CFTOKEN=60503832http://portal.acm.org/citation.cfm?id=168637&coll=portal&dl=ACM&CFID=34778775&CFTOKEN=60503832/jftp://ftp.clientware.org/proxies/java/proxy-v1.1a.zipjftp://ftp.clientware.org/proxies/java/proxy-v1.1a.zip/ 0DTimes New Romantt  0DTahomaew Romantt  0" DArialew Romantt  00DWingdingsRomantt  0@DVerdanasRomantt  0"PDCourier Newmantt  01@ .  @n?" dd@  @@``  z 7$''hHH 6 7 $?=0QSTFVW7XZ   jnp &(! )(b$p+_]$g*b$Ur\"*b$ Ri^;M$$$b$<Y_fFJG'$$$$$$b$kr|]Q*zkCiXZb$ -([Q7Z݄֘8$$$$$$$$$b$mQG+(]z#$$R$Nт۳ Y*2%b$0[Idfޗ3b$iAw—C4r AA1?@8'(g4dddd( 0ppp@ <4!d!d@k 0t <4BdBd@l 0tʚ;ʚ;<4dddd@l 0@a0___PPT10 !___PPT9nnIt>"ՌPNG  IHDR +tsRGB PLTEfffm cmPPJCmp0712 7tRNS@fIDATWc`  SP1H $XLIENDB`4:? %6A Communication=Networking Basics RPC and Close Relatives Distributed ObjectsCLayered ProtocolsW/o shared memory all communication is via message exchange Communicating nodes in a DS need to agree on several points Set of agreements can be better dealt with in layers: simpler design, more independence Each layer provides an I/F to the one above it (a set of operations) One example: ISO OSI model  just a reference model The specific protocols used  a protocol suite or stack DSeven OSI Layers"Physical layer Contains the specification & implementation of bits, and their transmission between sender & receiver. Standardizes the electrical, mechanical and signaling parts. e.g. X.21, Ethernet: baseband signaling Data link layer Responsible for error-free transmission of packets bet/ directly connected computers (packet switches and hosts). e.g. HDLC, Ethernet: CSMA/CD Network layer Transfers data packets bet/ computers in a specific network. In a WAN or internetwork this involves routing through packet switches; in a LAN, no routing is required. e.g. X.25, IP Transport layer Lowest level at which messages are handled. Messages are addressed to ports. Protocols may be connectionless or connection-oriented. Provides the actual comm. facilities for most distributed systems e.g. TCP, UDPZZZZZZZZ  B |<Seven OSI LayersSession layer Communication between processes is established at this level. Error recover is performed here. Not required for connectionless communication Presentation layer Protocols at this level transmit data in a network representation that s independent of the representation used in individual computers. Encryption, if required, is also done here. e.g. XDR, NDR, ASN.1, encryption Application layer Protocols designed to meet the communication requirements of specific apps e.g. FTP, Telnet, SMTP, X400, X500ZZZZZnZ  nFClient-Server TCPTCP offers reliability when compared with UDP But introduces significant overhead; much of it on connection management (set up & tear down) TCP for transactions (T/TCP): A transport protocol aimed to support client-server interactionGApplication LayergMany application protocols are directly implemented on top of TP, doing a lot of app-independent work 2gfHMiddleware LayerLogically at the application layer, but Provides common protocols and services that can be used by many different applications A rich set of communication protocols to allow different apps. to communicate Naming protocols, so that different apps. can easily share resources Security protocols, to allow different apps. to communicate in a secure way Scaling mechanisms, such as support for replication and caching What remains are truly application-specific protocolsFZZ6Z6{;Remote Procedure CallRPC idea  make remote procedure call look like a local one Pros Clean and simple semantics  it should make building distributed systems easier Simple enough that it can be made efficiently General enough to serve most needs Client and server stubs for transparency Client makes a local call to client-stub; server gets a local call from server-stub Generated based on interface definition (maybe specified in IDL) Stubs deal with marshaling/unmarshaling and communication lA)A)  }=Design Issues in RPCClasses of RPC system Integrated w/ a particular programming language  Cedar, Argus, & Independent, a special-purpose IDL is used for describing interfaces SUN RPC, DCE, & Exception handling  w/ or w/o the help of the language, good of error handling Delivery guarantees Maybe  no fault tolerant measures, if the reply has not arrived after a while, the request may or may not have been carried on At-least-once  retransmission w/o filtering of duplicates; if the operations are idempotent then there s no problem At-most-once  Filtering of duplicates and retransmissions w/o re-executing operations (what Birrell & Nelson provide) Transparency: Birrell & Nelson aimed at total transparency - best choice? Parameter passing: call-by-value, -by-reference, -by-copy/restorePPdPmPPdm  z:Steps on a RPC . Y RPC RelativesHAsynchronous RPC Interconnection between client & server in a traditional RPC (a) The interaction using asynchronous RPC (b) (a.k.a. deferred synchronous  combining two asynchronous RPCs) Distributed window systems like X11 use this One-way RPC  don t even wait for the ACK Promises (Liskov et al.)  a new data type to support asynch RPC; same type as the RPC results; it can be blocked or ready Lightweight RPCtZZZr]Distributed Objects8Same idea of RPC could be applied to objects Object encapsulates state and operation on it  methods Clear separation bet/ interface and implementation is useful for DS Common organization of a remote object Client-side proxy  implementation of interface ~ RPC client stub Skeleton  RPC server stub Notice  distributed object s state is not distributed Many more design issues Compile-time & runtime objects Persistent & transient objects System-wide object referenceV]O]O  ~>Object ReferenceGiven an object reference, a process can bind to it implicitly or explicitly Implementation UID composed of <host>:<port>:<obj> Problem - <host> may be down, object cannot move Location server  now UID points to location server Problem  scalability An implementation handle can be provided w/ UID (ftp://ftp.clientware.org/proxies/java/proxy-v1.1a.zip) An object s methods can be invoked statically (you know the I/F) or dynamically (where the specific method is now a parameter)\$14h\$14/   5   / 0,a_Parameter PassingpPassing parameters is a little trickier With only distributed objects Very consistent  just use object references as parameters Highly inefficient  think about integers and booleans, thus When invoking a method w/ an object reference as a parameter Reference is passed as a value parameter is it is a remote object If object is local to callee, the whole object is copied and passed Of course you cannot hide this, so transparency suffersVFx=Fx=  J Papers Presented(*) A. D. Birrell and B. J. Nelson. Implementing Remote Procedure Calls, ACM Transaction on Computer Systems, 2(1), Feb. 1984, pp 271-290. (Jan. 11) (+) M. D. Schroeder and M. Burrows. Performance of the Firefly RPC. In Proc. of the 12th Symposium on Operating System Principles, 1989. (+) J. Maassen, R. van Nieuwpoort, R. Veldema, H. E. Bal and A. Plaat. An efficient implementation of Java's remote method invocation. In Proc. of the 7th ACM SIGPLAN Symposium on Principles and Practice of Parallel Programming, 1999. (*) A. Joseph, A. deLespinasse, J. Tauber, D. Gifford and M. Kaashoek. Rover: A Toolkit for Mobile Information Access. In Proc. of the 15th Symposium on Operating System Principles, 1995. (Jan. 13) (+) G. Hamilton, M. Powel and J. Mitchell. Subcontract: a flexible base for distributed programming. In Proc. of the 14th Symposium on Operating Systems Principles, 1994. (+) A. Birrell, G. Nelson, S. Owicki and E. Wobber. Network Objects. In Proc. of the 14th Symposium on Operating System Principles, 1993.  PPP 0$G 0 0f 0S 07 0(   0` .T3f` T3f3f` 999MMM` lff3f3޲` eoHff33Ҷ` ff!` T3f3f___>?" dd@$?nPd@ d " @ ` n?" dd@   @@``PR   @ ` `(p>>  D<` (    s *P "%0  T Click to edit Master title style! !  c $ "R,0H  RClick to edit Master text styles Second level Third level Fourth level Fifth level!     S  Nff??"?  Nff??"?T P  "  Nff??"P  Nff??"P   Nff??"P  Nff??"?  c $ "`  H*(2  # l䦒 1?" : VCS 345 Distributed Systems (2 fZ  B޽h))? ? T3f3f___ 0___PPT10.[p1q___PPT92p22 1_aqualab019   0 p '(  ~  Hff??"A  00G " 2 G ,   <\G "  G T Click to edit Master title style! !T    ") Y  TxӒff??"  .  T͒ff??"  .~  Hff??"A~  Hff??"A  RA)\ :?nwu-seal-gray"@)i%   # lG 1?" %: VCS 345 Distributed Systems (2 f  # lG 1?"3 o!Fabian E. Bustamante, Winter 20052" 2 f' fZ  B޽h))? ? T3f3f___80___PPT10.[p1q 0 X<(  X~ X s *Gl G ~ X s *G 2 G H X 0޽h ? ̙33y___PPT10Y+D='  = @B +  0 6.0`(  ` ` s *R,0H M  p ` HgXWIA>A?T I~ ` s *\%0   H ` 0޽h ? ̙33y___PPT10Y+D='  = @B +  0 @d<(  d~ d s *SM%0  M ~ d s *TMR,0H M H d 0޽h ? ̙33y___PPT10Y+D='  = @B +  0 91 (  ~  s *mM%0  M ~  s *nMR,0H M p  HqdES>A?B d #    `0_M1?o A  }EEvery layer adds a header/footer as the msg. is pushed down the stackF 2Fc H  0޽h ? ̙33y___PPT10Y+D='  = @B +  0 @8` l(  l~ l s *\tM%0  M ~ l s *4uMR,0H M p l HsaNr3+A?t8l l  fM1? Zd  i5TCP message exchange on client/server interaction (a)6 26   l  fM1? N  d0TCP for Transactions under normal conditions (b)1 21   l 3 ru{331?"`o  /   l  f(M1?5`  GThree-way handshake 2 v8 K u  lK u B  l  fD1?M u B lB  `D1?K K H l 0޽h ? ̙33y___PPT10Y+D='  = @B +R   0 iap(6p(  p~ p s *M%0  M ~ p s *MR,0H M x *J  6p #"*u&  p  f M1? + J  [Username + password  @` p  fM1?+  J  [Username + password  @` p  f̵M1?+ J  R None (PGP)    @` p  fM1?*+ J  RSecurity    @`  p  fM1?  +  \Caching + DNS tricks  @`  p  fM1?  +  \Caching + DNS tricks  @`  p  fPM1? +  PFlooding    @`  p  fM1?* +  U Replication    @`  p  fM1?   LPull  @` p  flM1?   LPull  @` p  fDH 1?  LPush  @` p  f` H 1?*  V Distribution    @` p  f` H 1? ' KURL  @` p  fH 1?'  S Host + path    @` p  f<H 1?' Q Newsgroup    @` p  f.H 1?*' PNaming  @` p  f7H 1? {' LHTTP  @` p  f$AH 1?{ ' KFTP  @` p  f,JH 1?{' LNNTP  @` p  f4SH 1?*{' RTransfer    @` p  f<\H 1? { MWWW  @` p  fDeH 1? { MFTP  @` p  fLnH 1?{ NNews  @` p  f\wH 1?*{ @  @`~B p No ?*xB p H1 ?*{{xB p H1 ?*''xB  p H1 ?*~B !p No ?*J J ~B "p No ?**J xB #p H1 ?J xB $p H1 ?J xB %p H1 ?  J ~B &p No ?J xB 'p H1 ?*  xB (p H1 ?*+ + H p 0޽h ? T3f3f______PPT10i.b@;+D='  = @B +  0 0(t(  t~ t s *H %0  H  ~ t s * H R,0H H  p t Hj \>HS>A?  t # lH 1?M (  h6An adapted reference model for networked communication77 H t 0޽h ? T3f3f______PPT10i.c(kR+D='  = @B +C  0 jb (  x  c $H %0  H  x  c $`H R,0H H     fH 1?   , 2 H  0޽h ? ̙33y___PPT10Y+D='  = @B +$  0  $(  r  S ĎG%0  H  r  S 4GR,0H G H  0޽h ? T3f3f___80___PPT10.U€cj  0 y L(  Lp  L HXj\*0,A?g_f r L S H %0  H   L S @H R,0H H  "P@08@ L  ` K 1?c  1.Client procedure calls client stub 2.Client stub builds msg, calls local OS 3.Client's OS sends msg to remote OS 4.Remote OS gives msg to server stub 5.Server stub unpacks parameters, and calls serverc @` L  `HK 1?# _ ) 6.Server does work, returns result to the stub 7.Server stub packs it in msg, calls local OS 8.Server's OS sends msg to client's OS 9.Client's OS gives msg to client stub 10.Stub unpacks result, returns to client c @` L  `$K 1?O W  X(For clarity - only 1-6 steps)(2cH L 0޽h ? T3f3f______PPT10i.pl<+D='  = @B +  0 "(  r  S 4$K %0  K  r  S  %K R,0H K  p   HwrQeS>S>A?  p   Ht/iSNA?*#    # l331?"`    C x((K 1? d  DAsynchronous RPC H  0޽h ? ̙33y___PPT10Y+D='  = @B +  0  (  r  S 4K %0  K  r  S 5K R,0H K  p  HzfX3U,A?  9H  0޽h ? ̙33y___PPT10Y+D='  = @B +$  0 0 $(  r  S G%0  G r  S GR,0H G H  0޽h ? T3f3f___80___PPT10.`w}  0 -%(  r  S MK %0  K  r  S NK R,0H K  p  HGl\1*A?T  p  # lOK 1? 7l  }=The situation when passing an object by reference or by value$> nP>H  0޽h ? ̙33<  0 |<(  |~ | s *K %0  K  ~ | s *DK R,0H K  H | 0޽h ? T3f3f___80___PPT10.Jrp' WdA(nC psF0szJY]_zPYvZ ~1Oh+'0U px  ( 4 @LTCommunicationDistributed SystemsFabian E. BustamanteMapleFabian E. Bustamante28Microsoft PowerPoint@Pobm@?2@EiGSg  )'    """)))UUUMMMBBB999|PP3f333f3333f3ffffff3f̙3ff333f333333333f33333333f33f3ff3f3f3f3333f33̙33333f333333f3333f3ffffff3f33ff3f3f3f3fff3ffffffffff3ffff̙fff3fffff3fff333f3f3ff3ff33f̙̙3̙ff̙̙̙3f̙3f333f3333f3ffffff3f̙3f3f3f333f3333f3ffffff3f̙3f3ffffffffff!___wwwSett4'A x(xKʦ """)))UUUMMMBBB999|PP3f3333f333ff3fffff3f3f̙f3333f3333333333f3333333f3f33ff3f3f3f3333f3333333f3̙33333f333ff3ffffff3f33f3ff3f3f3ffff3fffffffff3fffffff3f̙ffff3ff333f3ff33fff33f3ff̙3f3f3333f333ff3fffff̙̙3̙f̙̙̙3f̙3f3f3333f333ff3fffff3f3f̙3ffffffffff!___wwweeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeϮϮϮϮϮϮϮϮϮϮϮϮϮϮϮϮϮϮϮϮ՜.+,D՜.+,t0    On-screen ShowEast Texas Data Service Times New RomanTahomaArial WingdingsVerdana Courier New 1_aqualab01CommunicationLayered ProtocolsSeven OSI LayersSeven OSI LayersClient-Server TCPApplication LayerMiddleware LayerRemote Procedure CallDesign Issues in RPCSteps on a RPCRPC RelativesDistributed ObjectsObject ReferenceParameter PassingPapers Presented  Fonts UsedDesign Template Slide Titles 8@ _PID_HLINKSA*Jhttp://www.cs.northwestern.edu/%7Efabianb/classes/reading/p39-birrell.pdfLhttp://www.cs.northwestern.edu/%7Efabianb/classes/reading/p83-schroeder.pdf4http://citeseer.ist.psu.edu/maassen99efficient.htmlhttp://portal.acm.org/citation.cfm?id=224056.224069&coll=portal&dl=ACM&type=series&idx=224056&part=Proceedings&WantType=Proceedings&title=ACM%20Symposium%20on%20Operating%20Systems%20Principles&CFID=34776071&CFTOKEN=17546297http://portal.acm.org/citation.cfm?id=168619.168625&coll=portal&dl=ACM&type=series&idx=168619&part=Proceedings&WantType=Proceedings&title=ACM%20Symposium%20on%20Operating%20Systems%20Principles&CFID=34776071&CFTOKEN=17546297_http://portal.acm.org/citation.cfm?id=168637&coll=portal&dl=ACM&CFID=34778775&CFTOKEN=605038326ftp://ftp.clientware.org/proxies/java/proxy-v1.1a.zip,_U0Fabian E. BustamanteFabian E. Bustamante  !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvxyz{|}~Root EntrydO)Pictures)'Current UserSummaryInformation(w4UPowerPoint Document(yDocumentSummaryInformation8