ࡱ> n"u:Qi![UPNG  IHDR=UsRGB pHYsj"IDATx^| eUs׷^+[ڊ "(NNODvLO=cGGm;ڍ @!f WeeVfg ޫOf$2?>Gq0(/OX/[S>D߄kyJ-u)\{\_8%K^}^ p$V&8r irM_ZJ2 !P47 n3(&u _a 8\HSWTJt.3!4%Jd ,c! FǤ$Ұ2L/Q%I2iv0y3F"TIRrL*5L%2R2"JsRY&Ҷ1v|};X#"EiR[RGP0WecHK,rR%Sk^/ 5O f*jJv3LCx4<'SF2Obf6K4eU'gRqg"sBi^4k(zgi3Ǽkm K3W>z(5Ck֬W^JQbھq𓞛|Kn3#$G@X겷\qq#"vl|O"ϵ~c 3?{kkjZʰ4ݶYR( yѥ%y8-}OnJ+Hʩ ƏN#kE$pz+D77u?xX7JWYnrr駅ulOv~vG>Ryǽ r7 I/WL>:e~ot0<6>:^I˶mO훶SV *AԬ7*[OJ.3Ca*lE9cK-kĭb97t M#Dm\621&3683ar,LKu2ZR\! 2-֘^R0 ^Jm8Imבh ->|'kBs_#rufƄֱ6If%Vl;#y˖C5aPn:\k$L 0Z?"ljč7\{,8I8B%:)W |Τ)s2CħFaoK= +.rѐ8!#.Kw:XR?O =I>ygp70xc↭s(W5^z?T$vGPX# 3^n@(>i˭P_,<*RB"5#EN,?CA\|la^p !Ҽ! %^xgCU|azX8NHRiE#/Ҹy@lG!r2.+>Gh"en߹6Owo_[nz䩛S~Xm ֧.a2BkC#-} XV_f@lZjRN BJBpG]=LnشiUAYLF+/p(h~̻RfIlche3>(5v~?EـΡz]P ,K>F=5?:Off-_34z^M{"R9w֠d ߎV%ʀ`e!8CqS#W-|x+? ж}afg˵Ѕ_Dف}wÊQޘkKM]e%O;86Xu)1w@P%RjB$\ˮ-aɐ?M֢[At-3o6y#{٘*%dfĮp|ooA}tW%㕋-9Z\|d[ykRk| rVi¢F\m$Aep%md(*lޛf<5DfbΈ-]R.ۭ#{vdA 0iB0`Ѩ~!A~<ƹѪ**"A xb)Gp;N1@m _,(cD2JqM=\k͢ʇgq) I2HhKLl/ExXȫ\H0Rk G(WD  ]s})s%B=F4K t]V.Z_EZ~Hd0& DzAP"(۲XBx8p܄Б @SW x4T&J5qڞ s'pFs_e@{tA.:f4̶B !"nJ-VD!€~/$28=AdÒQÞLaXI3 y)bgL *ݑWн|pz`w_{sPyuʿk+e$>| @Lfow½nD̯P'xPAשD z{ݧ:gz_H?]]6PW0,څ+xUV+>o4`G=ڞO{]kq^Ž']oG QySzM2(}^; `>K8? G=b'&fLlwgb r1Ku+#5I+ͬ`*v ܢ) by ?:1|R3AbP wQ))8#@o:env>d0@PE 5y{o/XE _1@d400'F3܅7x'Hh ef\r-׈B.@V"t6,_qH3Sz8z6א s\kFh!zz'L~%\' j޹Ũ{s`13IUU.)w;VR}4Ⱦd4o]Gvm3TjĖu֕I1a$"SV&q3]HajfqEEbB"..oQtxxPi0^nm4Lú-CݱEB4e)^Fa7VƬ[Խz<QYu3lE1gr߾2k@HI{Vú|#lRq9L&W|FꁽPtJjݸZFU)ZcRZr.-"on}ܘZLCUԶ iڕCve8M|h Pc'Rr8D\e>zY"ͬfznΠ` X9w~Cdã$@Px7o2bDZ{p}E67UR|tYIΒZumwSaZ`Áx?].OMqxDDDv* D6OmrY#apʙ$*h}7̀TS];_~92\I25=Y &B%ܡr#ԕ D0S;v:cJIkJC,{,C ]O6܉T{iMMF&!TD+I V/ 1QpO)Eheн*,pô66&kp`aCoz"hԉ?t,AE1mMM,.D1iI FJIqlߔ=qƴkyj;bW3bǵɓ`uyv;fsPT&LRhXU_ܘA9%5//,x#I&G9s(^8A/XDZc̨R#57˽{x(Fh)m?SH|\;M#ش#~z!b1`} c(5v6ut!Z-Zьc1s&WcAIX28:]jG_,t_>4mە<\Zp"gt`mi!M>qQʑ#C Z.$/&uL]oOysstW${D}8~KO.u5(XFa g-{I,qAO%I^ .n|}N Mդ\8˳{D\fojc rKD>U dkN m얍+\մrQk>yP?/5PqqQ'Gz&f}tK9 y߷W :}|@u--Y8o>Z8mPYOF B C/ ;5 t 1"t9υ ]:yRRg;3sY-:?!1 )G^rկ kz |IENDB`nA#o2EKpGPNG  IHDR(IgAMA pHYs.#.#x?v IDATxytŝhNem <&=KȒ@XI^`MfXgÚleK,ْeis4hF}BkFFcxLgHhQzzy Yr&.0#!(F=}]UmIRaz37.6mz麰CguE Мo#xK5ZX֠PSִ6lREj+[T"D3x72_R򛟔|ٺg-q fSy[S7UMirxOÔB`Gܝ}=Gx~Lg7(7?\~>V15_WY9[WJښ%&_ͦҲoOXgNz]lU!QZd[тMͅ1Mۚs{Zs/3~ 3d-e}o^ cRo&I^ij\abyV5i} []R;9_8Y6ZC7d-&GruHhW4 xZĖoFUrGړCh?'-  ѤޙsGg5 9Ԍ(BR$^"TWy% Q;]q%1@M,1uh~7znm5![oNBn9׸\[>XGPt6rR2ڛ׽Swuv_atJ017y!TFo SurϫR\mcOsîC*AybPׅG wH'),1[ӳn)*ސ;}5ss,%-EQsh 4%}}NѶξ*{O."Kܼ-J/[fp^zC(iT<=ؐuv[ Gfq 6fmgNyہH>f(CΦ }%)}mЍK[3&NyJӲ/w90{_wgY]QOw}ʼnْ>)eYqFi*$AK]CW?rYX bǞt(}~פD _48z#*v)=>>iv5a ƻ zU3+g!I}> ñG1FX]XCY)o}p !8t|yx?y: a]&XJ#mzCQۺfNwf|_jR m{BqX|'_;z$OBa.^Ex&H{.ۦ~2 >IҤUcƬ"҇00bI}_WzZ1g_h r;v9cYmcoKRd)U[Z)1E19ZBY27 ]s*h)˙yR$ <.}ono]wm,w5c$㠥 c4_kzԘ!0aG ڷz<'I?ǘh4(>aJchix=Ddu9k(-] Gj wӡT!.㈮0A P AJ4 \)uտvQkIϺN;l SFKiuXV/ 5^!ZK 2=w](E Fcb|ҪĤI7Y˔q:EՕ?ힿ*-2G]vG($/{J)՛RؒRndؠVq-MɁ9 /%[z#J}@BP<9mq~}l`Y<8ua_va{c9uF1Ѻ}mERʢmzCJBUg3 >;яVn|AxY)(?0&={s^nIAu06Gx3#aB1ZMVݙk YsEd':sco|~ܚ;h-%do qo`kASӨbݥT%vW¥D)=!eT{CZ-;yPor 8\x 7;04Pcn?kdcmZ:HK:9IW?k Q3=wKmauU'C/v0 0-jOF.Ih*O`X9j|Y;^w_CWy ~j]Jð4[CTճ'~nS NsH1yթhOs^ꪞMue*mT ^'^ =Rpc)#<@S26+=5;(EDuDqJEUHl+s-P.IBzCNkR_ǫ~yd?!jƲtSQ{Rqd -$ԻS ɒu:7$)}>:/tu|3hʱT C|cOO9,p< aD&*S+wػ(<VuU;tC:EL ${ Gg#{vqW/GA%/QHHBHɃ~gUPnvWuw@nݺUuoyoOA4rÃ欱J |VW# ʱv^L|@Bх%so_G`Yּ؁JC &OYBH!(6AvêEbg˛~{ 7|BXhͽ[)y넌"(6UØd\?*7A 9YQ"4?}@ge 3; P`ಪ[*ThT\KQ6qhδ"L"&1dk{18ƨVQ +ɱKiXEv#`Wm[  K߶  -[l}02#Ɗb$Mv.(s6@HF'ڛ?QJ`24tT.ǶQT+LPq/R3"<^xw`^s hZ3Ux #]\jޑ>@K3 ɲOogɆQ$:y}+]vte#E"(eXkK8b?Ʋ$9҅1"Dͣ[ {e'Ѵ֔UrB S^Hcu%Hy4:[dm7Cތ=#&cLEiFhO\b4Β 9xz!ʒ {$V/࿡4'd¤g&o$=Bzߊ)q8̼@?YXrܓN&()wS72!1(CdYJ+vufcT⩂GS 'yAa#(hдfF)3~4I4/3PI]G"Gfo#FefdkF=GxbenY2B1Rɜ/<7!t7Lyp}\a*7f8F6xFIe3{ov tQlƘ ?#!Z/jl۴=5b2IMT%[9 ړo@~&s~ϜUGbd.1?yK~yK67fhqBBNwz3Y=^y3(ښ?SJ`N=}V$[*~V9yR'=1tde_~ tOW٬1 N i?/0lS1fao˕'=Fo,bdD1}jV *,y4+Z)4M5iߟ={ڸ^ASbLɆ^/i4X#SvvܔU>R|ҼOt^qvJoM1-6C_υGVd/~޺ !^͐`?v0Oyu_:[#QD^W,#=H(!DQtڗ/Hal{N8BN !|{.7o Cg뇾xrũG{&DڶBhpK*}n˛nəp;A|>w&4(<\SuR>W^]OPcsuctQ_,w̼Wfԕ^<}s߿34> '#sV^AGM6 c@FBH$" .{-m{{<. Q$䎡(Jv6v%"hTIώ)F'ھCa*(~T!$5*9n"'%e#-B ДaM6 |t QA%NvQXtGA lL08mM3 ^q (+lQ%=B xœj^e̪0ƲXQ!bꨜ!{* EL[,v/<B/0%4}IHFϷ=]~X: l\XLvO]p_xO/ck3*9~$v1 _ҕԮnH$ BSSMMMpeټ*$t:&q\A`r*tRWWW8F3BZeل<A1%pXZ(0:.u9 (7_Q= IDATEQJ[&R&M;h4 Ji![F"hQ?)X*m}_!AHgMQsAk1JWecY5 Jߏ8*Njo/X8.o U%!D1 (nۦHV`BHNNlGKK霜 &? 'tHWZӄ[\b~9s&qEEE---Dի,V^tŋY(jƍ c2fqe󩯯G4]WWTE'xa[&ll_+%^bMRJm6VfCYF)bz}:5eYfnd[n!*++Sl.--_B HSwܙasss{zzŊ*"]v'NHEIi6lؐ`Ν̛7/ %'[v^-*qlK.4}ZH֮]+7???>ٴiS|ʾ> S Z^}Xzd7oNOc^~ei'ŒAf~[O˖'m6[… ?SjҤIgϞ]zB{IV]]}ȑ>TiӦrxm6o,[_]]-%.((zj) (0!䭷J} IJ+s NLt:'|NKk$9Fp]4Y,aȏeo%Ŗf^y ,0 W^mhh|O=ԓO>; pg?j<_b\hZ ZҲXEQ`( A*9(ZmOmhN V/XQȎ.y%/Ok~73of2sDDiS|%p777ID"( U"zzzmmmE422؄(DsQTTcJqqqZ2? rܹegg744۷cbbՈ?WF()) aWބB Ü΋/̙#F`woaaUGQjpƚEN쬭%ŋ&&JSM)U(QQQR!޹sGD-ZD&`666[Tf*y\?]_QQRF&˖-koo`R4Etuuo `nnMuqpafxRaΜ9׮]Sޤ$HD0lt`:Aq7nyP[% XJp.**GA^͘1СCRt D"rrgϸ=y$ 9tR[[ہ $:;!;; ~駪*/^###׮]?`ѢEiPPPPZZ6// }}}@s\^tIceX;Y(oh-$ؖP"cvwۻ $I\\ϬItr\.3^aԨQvŸũ,IZ9M6) ؛D"ccc&as-iڴiPQQۆ;qVm@KKKTTL;c A__3##8qB퀼P߲tT*5b8((Yׯ_gʤP[[KD5k0cccKK֮]'OrQ---0qĝ;w@UUUNN3gΜ>}:\pʕ+X@[. d%, 5==>Vd֭H@?67zzz555DgV~DZ|͛7k;6lpvv޽{ Lsjϟ?_reJJ EEE-\^XT{|>; אEDD0$%%]~˻w677ءmxx8SRR :@Lр"B!1ڵK.߻wOP Vmmm6l۷ogk4"%%Ucǎݸq`GZ[[WXA'DT*7o>?s 5=z~ ]]]t~GGJFFFD`GOO=j~J*!!ݻ^uBPRTv 4><<<|۶m(Aht~%( m۶;v錊xfϞ/ZTsQhqppSjkkbbb)G[[r!%xJ2##Zg'b-"" 7oD %GΡP(F`+W7BؒJ9 = L"HZcB[QQP(zzz***"##2E ޾ad&&&)CAA񑡏D(iDIHHhkk ۮ(ȑ#, E>۷ocYӦMCǏJ`J^ \z|ҤIԴeT*BBBtFO JҥK| {V,h8'O<|0X,;wn9ر>裯!//Ν;0{l$666>>>񽽽'O9$sRR`.zP nBK Lv̬6''gҥ\/xxxS@2d {Bp9i(9~U?[oi&ԩSX&Fr{{{T&''{ 677;… YW__eb`q?{ ?l@a`}J<2c䈐T ߾}|ŅBCC]Ʊ!F6d2-ryyytMV^MLDűo>d 5I*_ ~)zF?.\l:5igϞ2Q&HRJdٲeX>x ݅:J"+]f͊޽{7K5ccc83999jlccC;;;tzFE:RL&c"##;\ *_3^FFF=*ÇLzxǎ+.. *?000XxqBBBii |}}ɫ={h|-[PQс2!vuuu-f͚g^t~ݸq#rЪ*A8B*J1APL>%t"tue kpuu퇂qܸqАЀD[ܹs0uTB Z/^|Ձ+044ܽ{7:r䈶ÇBgg'3Нվ,?~ӧ{ET*e2ĢE (##CR$Q;BͷF"n&;wd}PP 矵$W ,) c[;x4z(466YAxѡ>1 gL7o$ƃ{܅eee8VVVDiAiA)V燆~(d|~~~6ɥ3fL4 ޽Wyo2dZ)¡>\iEQdqMG7J$|Iff&xBX4X bΝDz&OOOzJLLa+e˖>((..>}4x"=z@INT&$$T|hggKLp>\@MM 3 $WVV׫5\cƌYv-=)avv6Ѱm޼Yܳh>>":=::+h }dĉ̕Tg?hu|1''e&7АMl-#锗W+G}h4!ɟCutfDG3&&& ZXX5(ŅY~}ee%Buu5piHKKc[[3gΐcbb1"YOOϺ:5B^-˶m۰G555dw333vᅅj GlllrrrˈnD4&wm۶'O*3..(e2-;Af3oى*gϞ)AR2-YCxj xjMD"ŋI|bn155d?077W; sJEnCR%%%ѭcǎ޴iӺu뼼yS--O?8/D<}-[ YW"K^sT* s&NNN TF<8J" ̜9J۷!Gb5(((((ݝ8k,)BAbL¤M,g1ajjLDք3ɋX,OLKaK_iS#$b%ŪRH8(=IĘ!9x|E(j^<^$bK!O-ÛLvS~ew߶;*ccc*HˎluAKP`6̗U@:>y$@;w?~ٳ`M޽kZY>cYY=L233Ï6޴iSkkkkkkEE0GAK#Ν;<ҙ *000ۑiv4M[XX`?gw",ϟ?糡enLs4}gvMBHWWi!3QUb!ttt@ eKKKºaB)255533390',555 9WDUUruuu\p8@ÇgZGpG\Qp#4͛|ѨiRʲ7Ӻ갱׮][y{-077+Xz?~`EQA>k׾~tǬ7dN 7XDƹIvޝO`2Me:btnbӦ4,--ݾ}1m2mBГ'Ozzzh6Z'N>}-IKbp8bXIIiwuҥ\Y۝EKK˾}ܹCI36=zt޽;v0qݵ{QUu˖-/ nݺr_~ f:uǏx޿OZl`0:ɷo)IT__wñ<+WZZzueYl6˗=zTTT4==}޽/xާOB ?jw!~?S'\/p˗/^xq.ó~zc>s<-v<zjoo/{m"XDQ5ED"~_QL-Ix<]]]o޼$)(~%(((ׯ_q;Nȑ#߿}nPssc/oذիWϞ=;ߕwww7M!/M{L:i+jܗ6\9ď?R媪r݂y vG IL&t]7獫JǶ66*Hȶt&m?YCZZzmMώѬڹlZ m\ZNKfG3-)deL(t:M N?F$Ik̺֬zaYp8zVӴT* if V #IDAT曂IlԧOSTQQ,%{ubX8:^.ɱ`m255i ͛7h,?Յ r5` "X r5` "X r5` "X r5` "XVe:'|aB!ds,GnWg+ڗ#,R%WL+SU*M!xx&$WTҴ%g9VO%#UJI1IENDB``!ʞrx%4f`{x}TMhSAv_򚶩MPDŪPR֚H1F=)1R=7OO"=j!HQc"M4xуg**3o_/fwgQhSЂ},7Ua4uvbxD4:Rܹu{' ?!SX QE4Ϭ7A+넎NS(9dG;EmTIZ}mbI_Q0{|g_hT{t b$%yQ#yN<&98y,H|Z a./x_Mr`U,w04 56$~~57ؙا qخIƄilB%P3(4'6#$B΂((П HW [Vדq ~pp0-1=93R)W#*'*O|ZrOi6Rje&_6xzeܮ3h_6lKuaYm\qy#]Im{24_Pru o8wN N,j5R[b` Vn 5vئK3¿)p?}eko]h.^/nզN|9CFF&Xe bc56k6(]vs~*D:>e' fs`!>r)k"P}Ka^F 3?!g>xeUײ׬;Awwww ܥqwwwwN,k5@x3θޟ/{)5kv{6a=!,"JIkkq dtqp|[Oyy->忞:/.OkĕҤp4i]i6WK3z5YSMZhjך14 N =7< ac2gs'T֚lRknJ󺟵[Ez-6iY˻ZmӪnVZnց@3h~6|mϘ1'-ڟH^2]Bu)1n>s]:nNusT':Ν1rE:a:=ҁ/^h?F}^YOC"CtbY7ϺԺ: :C!( TP jBm?Ah mtd.YCsJG@YCA+rAV+[Y _JJq.pf1bu︫Z=ׂ w'&}^<+9yfGI(uPӻ}c'CqMU\l"[1JX#<7Wx7K{37C_x7M{S7E&-o^D=I8MCN`﯁U 3YkL ?Fʾa 2:!_{h]P `*̆V[\A85pkDzH=O̫^kxտ*@mUt\Ys4j"W(I;km-~l;FkԒhK$䳶RH(` ՕlS`0Ct!Mu{#obrLJI%卫']whWPR5n6B3p37 0͔0͒0͖0͑0͕n,re[ +B 5nwKd3lsKe[.{ V!*rܭArέn\q*v~nԆꜳ2-KB1tQ|'7zY]#_}&{WX<:D.r'x'}[J3=C Utalvl vKkGTvKnv{ m߶zl{m~¡ Vxb)zMu^{otd͍9t3qt) gKqĜ9G>b/L~¢7%zϲ9{'7{)g{"[?ew_vzwew[y7w 杗r;)r;*[~+?])O.,M _u"<|<-Dd䚔䜴䟌䡬䣜|BPVjA]4_ z鿺 ~}NW.k@ۊKiXcNӱx:]nu[DZk/n~#]&"޷Tʲ+*Im%[r#?C*ˤItoIo ?h?NL?.s2W~w_9z_mz?zƿggzv ?@f;~ݯivoo^vf۟chk]?l 6ӿb;6lWh!~}?_͏~6?'NnרּĊ7* ;VYu;ZMW)x?U0Vk9Z_)9No*/LO1f$H>eycG/*RfS j{lJ  S,FGΫ䦝!:& GhsV_*B,[MM?rq׻R>Q{e_o^DzewOxewD;#P!H?oHWxMWCZzGx饡HxѥR{z]*_yVl75^ׂk:x5\gr}n΍^\7͋҅/xk{n{g+u׋1դoQ]/:tspS{~tp[_B^ Z$rr/w&)}V{U'˽0j$YŔy^ԁZU_y_uJEX;?>U _* K4~ɍoྲrotej49w;N\<֋O#k =|l±g)>HY"4"-h:ޢ$-β8:B^Z"]agKk-nԺˠ,lraˣǬzڊY+筴^z*u7ޱ^Ck>Ԛsk/:;~g_lzp?V}Lְ4 G4T#+ Tk4N4Nј>8G4?u߂?4+x|,ql?cw>կKJ I-RYt?-d~fȎ傼/~1 ~`_̯n9:/VFɚGki:+j/=>G60o#6dl]vfYgm~ev̖a[ign[o;lmmVd,f;dsb ;nSXeq:ΰ984]ٮZREvӚ Y5bUINmn#7]^j݉]tuE^sxtkSa1d$`$UׁVU)z[EAJD`%-VTX\![PX~e*D[Y.-KZ-jٵQ*eR~*RY܇pNamT$JdIT%$ ,G2YWZH*k(ɭ$K|+M[ZVbz c)IXFs SֿU}.P=W[޺ʵ|A-=zO7_i"tvj1dƖX̤df!kA6lRK+~*Gq9M圶K"״ٸ!@G&gW{$>Q]"Vbψ$5s8+ߢÿ>!IQ 2KvI%_pNEn nIC3Id ;g }qT̝]b>,/=]]R}lrZ*2)-ӹWK-9" % -LI3;#I6i.q)4SRz&<6n-b%`1R-X,Mn<5ZrðAm_yz@W`+|pJkgW]qU8)K`E%,^;ҳI4$-3%JIĿ]ܠQ9c89%7;cHSɊkW]g*sjxf]H=\rk+]9Ip9)+<}C3GH9p堛*>7P%( z^o>8HD9mw6hk1:Inbuĵ풑ke;umL}ܓѡDPPP"U((N(;^KxO<;pE8g4ݰ6I[*GƞzЙ&7qSu+\~-@6^JB^ !&Ć~ 濾Ԑ2:2:WF&WV7 *m6y>4tukO{]7}o!7B:=&qs`;_"_S!Ä%D"aQQ*00 _c0)4Xfz2KfJ6`9ڼ ScѥrxV%':J%5-JJ K:Kj ċJG']i0 K][PXM /_ƃ 8 g pp ̜ް;?G)F[xDbjVM=+!iR,>9֟Z5KK-}\JxԲIX%jd5yЗ5m'cZkzf4u#{jFlHqҧ)gҫ͡W[rCԼ7KQ_!~^79G<=;FvSJ~.0Q~`)FάD t8t.ӯ]NtSQOn tN/RЧtWϵ=t`oiH]I28q MU=Q_,$Dʷmv d̐r@oەPj@o BkWBooýnwMY;sx}qw;N{'Eﴻyg_9;>zK.좻..2;.s]QЕq\%tO]}5q\+up]7qPyŗoBh@KGe*(ėߩSNQ8JrH"~j*;vHtJzeU#OS,fY$ e>,iT2'P鏓4A0's 0MqƕaL9ޫ( M BMP!5iČh) Bՙ;U/f2QEq4 , yVj)dle/~Rʳb; {E u*[pyt| >;x/9u]qE(g$Qd@3Ldu6z DpZ;KTP?Oq pN9YG6HOVʊd;uN[ZpHcz]c Un;h>#n) (B?s[fNJ$MENJ[J|ꍄd2*=ґa2i/eEKT0٨8J2SzK55x]S#}4Y"&g|)%賊W|_ ӱ>RZiyɬU$֐4t*)ohcdN#wg@g˧Vp~]GoeBe$7;f'6p K/EpK<%]zR$ӗh孤ҏHiz5ͨ5FCsiͫ &"FKi-ˈChbhQ i=-F\-ьJk;FheB]ko=Hk0K樧cN`m3=G|4U.UڒђЊ\КFwmKh(v t Kt Kt DŽkB!2C!D_ ^H!҇Cm!|"Z[]k c-w?-1UeuK֬D)>eد2EBdȗW]hNdF~Y2sL j:Μ!{&0CSYSdMq)q%֑ҋnXN7.]A:aa!Bki?I'[b͵4J me;ZDhAV:b-D6^-6}-ӏX5*W#};DQ9m(g֚r~ r8wc攭xFh /^/jBtrR}J}wnz#MJeָ{g{Q#Ax F/B~7t?ѱON>0JK@;-^S~ v+&EvtM),O5>:֢RjRzՓ2JYBYkh/孓TchT0H*SWRFXM0BX"lհNFa'p Ɲpuzw D7g kA >c1D X{Y7uX d0T,SDEb<ۊE72] &SL*Lޚ,O/)cx@qGgP̠ʙIE7d6u9jNA dl YKZS.KUV*2*dUPFbV?"e`؉J$aD~S{FaU2k%-ԥ 53*T$o)c,ٸ&ٸ~܀Yka*.Եk`م|;[&Nӭ4k8jUXˑt)UR}-fEo.DJ SC}2 Ax(d.O퀧eV3.f/m|mK8K T'VËBe(eP=BP9!+^ ҡ$B,!2a +TWޯ;BSЇzKt wy^_8G-;OÌ:@+3vCdv}[nb~"ݖb D$~EF;m&xjEt:K](]: Ttnav::aӡ={WEz^{e {g}>': W{!D AHBJ !d:i>, QغjQ(P+*o=lmX ,b1LClV?Xl0Z*v)Ϟ*DRֆ筴y 7gxVs7&6Ԋ@X}i=hxފx/;[#ov'vCE2Vn[ӱҕe+%x[:\ u&hniŌ!lU%#vxWcִDx +-lv [Zq."S VטL[+ G Aa(fa%ϱX;VzO+<#?#VE;[i$A2CtDL2F,2GL|IJbg?iRKGDnFIFKf*Hv-Bn+Av-C|DddѕdP2ֈW1U[VY8ka̖̖͂ܙ}ӓ GJȕl\=97.,6/&8u֒ԌԈ36ZK>sUG&*ʢݽCoN^g_/5pgϹc89:d欧8O;Uv}$GKe*  Qp^_ ]o"LSpˉkCjML ?87wz*:.mGKjW%<'dG{@}:__PーyHn .@tl/:WQ(\dl.26ْn n35#rTٸٜl,[j(7\.zÕn-n5fCn)g G>:Eu{{Sujou>3Y?|I/2uwpgkZwk6iD]ۀ}Sr3Yߓ??>ba)`q_4;g 9KΔ%㌉9kdž!^£]yA]WSdBPLIJ~nstEǸ:mInNut[jV|GuKu[K<]f 7CW)&n,n( 5/ny54g|z#`ݪ_}ʳ_-őBȗ9s#o.΁9G6Γse|9g&ΛsgFPjC WPWX'?aݜ}2_FMi#%$Gdȗ9!oBs'bs؜76c#7_qO}Goߣ1L^#[žrl@ȵ#/Ȼ cϹp=Ĺk|9h-Ӽ+\Is+l44)8qP3FrB^^p 0c1sJZZ˵ԚPVZٵh Qٍ=Yrs0{,n4'LM树-u+`U'n-V!27s`ZMf 7Fp 04CsCMط-طa&i'7MwOÚ| #b sNc0ro92۝ɬ3Mq3yF5AύӾǍ!=;t^+ZhwT+z;U,9ە;bǹjxP%<uٷ8c"Y FA(E(~ aL-ա*+ZʰfIWր=qVա kUb.?zay>7sa#X+k._b3 ,ZX3`9N~ԉọy6+ߺa,LBio=9y>+>6} .] ]˟ykZ]z1 2Sd*r_;*DJ谊+U.b.{%50&@d^-&TcJZ9$W?ˇ]ƾrckٱlDV|# lc.$7~C-ߔr]Y>푩-Q FyuJM)߯bZX$׿ ;8?𩙌sϺx6RĮ*kiu_H~B/{$UWWd2ȥ{;nK*;]UYH'J:5ABV !8 $"\kp=x/xz-|`O"lm~,Th\Im?J%.%tQ~)Dp`T|Fg 峞OGt7~}^w;!ouZWK])/t<ӅT y塎:ZBE,Ԟ5_֎rQ9m)kS9?q'GjO+-?rlI :- ?k> ܲBs2.K4,L2_lM-ӃeTib e~/4 82@cI_)4tרY#KF>fKo8/oB&~~3 k+*T]Z}R_.>vNtQ }Yq KpY8'crm{B[KO#7KiMxyF37\! r="o]smk)]S?xRKDI% #$RL"K!*$$đOJI%IM,){I;YIv$V "١;`2ޕ72UGH_5 9ySZ-Jnvru\r%\?9i7LNQr܍$9r͗hWR?GQvm%>نh}$ znf^ֽϲ!YʷZQKy+e%:*&£0,Z JzH #IgE9yn4 dYb36Viy w?=蘒ż8/d"2Mf5[R\x/L*V_};߆%®{`BX NpZYNs_r^~U.r=ÜSH~ECX>o;nA o-2l+q.BO9 L)l2Qy/zrƮ:׊u[r΀F j,WSאDI*6^fibAm/}|HY '4P]kU9VZVv?c_D6C5Q0,Ռ@\M%4Q0L$xHO$_&ҕY J;"- ѱR(Y*Ad-eA?`! ` )4ԏ]n xڕ tUUkG0 (h BԨ̃!APdP@D[BPdeM "Ce[׫{۶]ܵ}٧vչG! ?-@:`ht/):Fa4/v]ǧW\n}Fd1ӿ-X Qvȓի]>])tAnRjH.T*RZo9lIr-ek:m0P{!Yǣ!Tӫ(e^meu *k&jk] -^i)<^LSd'ЊDp^zW민B\-#oks2D_'4KziIMe)1q =Ps%Vbvc 9 : HN4a]c1^i)-ztwY񣺅;^OpcIb$b VeEP /3ښ}:c):bbm0]ɨ@a\ [^h2M͒"F> 2ͅǰƮPFuxIG)K%nBiG4:Ye"' O%o!1$uP_"}ϝ{u^<=y"x!`"RN. KI/[ Y#X"t[{Bs,!M*Ea/5=S2mbwwRC v2.Wt璸>WF]A.Z\|MG?S%ͦ&ݥn%4#ROT*IU-@8N*"RMr\)ee$4J.s{)eQ<Ӥ '\p S\)H=(,G#fgƓ?|J47qGe_x7 r-É:u*gDަcqiJVԓ{Q7~#j +:lWܞZW>p;\S)Ӥ_-Ea!h=(HأochoI+񃨒GL*pi[FcZ>\>y!t25$gOc"mFi\v0խR*vfu6TSC?:"|<{])?Mސ;GmvhkHE&]vwRzO5%mOh?N?H9'033F#"L#_0}ztY#ֿ~(j(@ˮ-\,W4Akw\k##s>pv5` 0}]l~&,K-O>U=Z|UY/H*v7!WU wKQFV }hhq-oO _Agmkcvk8H^q FP*|62eU?)!V.d# Ɠ~@#w؍,pV <%cS] u)<5 -{utו:$Ԕ޷nuymy-;@UtX-M4Gol/eЇ-@Yډi>Mڗ`NuYtz>hN* t?sfLgd1]iF5rqqrX?) kiқȠlL%E+0Yڂn>1Ay:B{BF3ܯ~gf#·ȅabyUy#-|Ziw,2&WrڽΝ4~Mn cW׌v~1x- CTabyg|b_qs92~K8; %{y?̳|!gyb09& SVI 0Ol35PɁ8,ʏ޸^ivu]%oG}ДP|]S3~Z6PYk.Q`'cK˖-͇U1+^CZމzx+.Niv]h*mŘOͷWp\,{ Gںfg#Fg#˳٘mdTc^0}!KbؗZzn*ӥOL6^m⣴kXӵF)S'y ]1M.TNFuێs]S= [m7QKb{V4 TFK!)ȓ@\%_F), SW}0 oQ>BR}p?ŭ1nqmʿM|}jzCF{hͳ@R8On((D08-yrvO"4q)vOX&4q8Ovq*Hn{v@WtDa] PNG  IHDReG*PLTE!!!)))111999BBBJJJRRRZZZccckkksss{{{J11sJJZ99B))R11)眔ޔ֌sk{{sƄ{skkcZRZRcZcZ凜県ﭜsRJޜkJBΌ{ƌ{scB9R91B)!ZB99)!ZB1kJ1sZBJ9)B1!!sRޭ{c֥skJcBcJ1)!dƜk{ΥsZ{RcޭssJƌkJ޵{Ό{cB֭sƄΥksZ9έ{cR9kcZ֔Ό{R{sJέsƥkޜ91!ƄkZ9cR1JB1ε{1){RJB)ZZRJJ1)1)!)!BRBޭss9J9֥RkRkkΜccJcJƔ1B1{{ssBZBZ{Z!)9)9R9ュ絥ޭ֥Μ9sBƜcs1c9Υs{{ckcs1Z9)R1!J)ZkJZRcBRRsZJkR)J1sތ!B)BRc{1Z{cc{k΄9{J9!ZsRk1kBJc)1cB)Z99RB1!B)9RJBcZc{ƽΔƜ)11!))BRRRkkkcJccƭ1BB{ތsBZZZ{{k)99Υcs9RRatRNS@fbKGD cmPPJCmp0712HsIDAThCڍ[SW{oBBD>BJSv3AZ*cS:ik v1ӂQ[4Tѝ8jhDfvevfRVc_#*_ﹹyou<CN;qb1yS䧯Q'/FE-wU -O 37&@͚&^?E L %ƨOl? Z;==]o">V1ޒ1e|.OfaOH; Hz5E_.0?u|ß?_?_%Lk{Y58<3&([UZs'eOhvM6lbM=%EN[7ojUہ3T>%ǥˑ') a24A4Nkȟ/?8>(!FcAhkAnLSx  6hqUzrRa:nm69Q ߃xU&t ˺ry >9 x<[0 \^j4=ce"皊@lYDʵN83=^LhLJPa`/7_~I O|OG'ߤQ~m𳃍в~ȌV{*`&̼rqgu}c*=}Zsh4c =c0#<6 [+1׵;ֹ_Z9_м2ϖogfͶ`Wi"2t @?2;%!0'/&ᔭ8J1jkhd_䓟Z|9K|1'<ֈ'~${{5JQx'k hlQՖ% .Nñk^qϴwwqP}s= A>!d\ ,٬ԁZ8-4vtdYl;ϲiW/%͎5XY*Za`5ºfhl$ c5dahxLx{O|ė2_G(~I~[~;O><,yy߅v׳o 8~2{Vjb  WŶ:ΥVխsTlWG]=B|&\P  `B8h-_56-[u-o8tpcKk׻xɔβbxu.:X|zkNQb] 9|@9Gׯwh0FE1ve[+!$'?_%?}'OGGW}'~Q>-@(zou8Yo%s6+SڸpcTV}Ї#{sg0c0 se CŻ8b]vo/]mm6gBw߸on_ O?IŲS4,pp>;pn R>®pt߼yoـs!ǯomy;5/~'OEGd/_$%~'>iJoaCp8y4Fyb͜3s?6Vl~evWԸVMK,o|>bWo|q/o``$ˑd7,^Kj[qb݇M(O7$`xV‚]4(psUU__KTpg>_=Kk/߾w.^ ޾(&۽~ciR'E'?ĿJ~~GO~O~~&?ٶ-xMf bǕx~EP'UK.AOA0nl6ЌqBΡp18958<iiS[pwx X#=X\#W"Xb%N PU$7h0! n]WvWeWT/O'*/O|O|O|O| e>"?<>zMs+km/nVbc?Q9 Ϲ݁s]+}x3әo|W/| ^u wP=\A)Yja1۝ (9'BAp]m&}22؟vjC^Q875vi=fv̷˳)}؆7. u }]=x5N%7Gm쿀3lnixjJwϓ?o%?OK1~mK~~O|6D?ݦqx'h7x4\< ՞Ǘ`($$CnRk@eTgpqxg='.Aegßk~'j^(J.oz`|}{-/6g-( ix&*nD+pVS o࠷K˦r\QWt pm,_TۗKֽP=__M~!F~gWO|[?/'>3O|6<#{j=&;SCMMp轓Gш'ǭ:*,]+_";Kq\Rk@ߏ+ 5 fςj-m#4Z&թƓ^Vn ;IēNus?e+O\+W=; zݿ?f Lj_ w@bj^ihH~Oz/c~_擟%_◑gO$Ố9002ph: mG]fたm{ çi`)DOXZ7c d_pxA <x\eˏ )GQd+ W],Gp76w.ETv|3g4PqP]E9 5 Z9p09^ 0 ;J = Z ^'bQ>?F\/;O7dմqÄ ZV$L;,'F9cOBbJx_O|?'?2#|6?dK~%(׸nJm~'f-kwΠiI׃J;Ա$׉ژ?a ijdNG`RdO]tp? ܌MI"RobiKW9O|}_L G:>.JI|.9LeJcRKnlz{{a'frϚ"8[|3ŵEߛ ^1%rg,_城6O >O?#oG3eWf *[T}}c&x?w?~7?_*W6IENDB`n3{mD6uwf4 {PNG  IHDRwsRGB pHYs+PLTE=IDATh?0p K3#lHUJU]/W ]P(*RƶpjN{=Wt FU_O/`[ƈ%;h ,oW閵h:%x +Ji⊿)/ūLづhe>4LOL92 N,KV: KVƇ(R5R|\(ʒ~m‹(bCl놚nՖ' &GyH6=}Mn\quԎ׾|4|)$S]|4jb81 J3sԷܴlG UtCL:Q/gD)oҮkM-ӭkkD.6Y/f_hAQW8nWvv%ڎ2R;`[*,e"1 OҎ+G']rii^EҩDӱRRT8$|Xss"7Ȉ4D%J4^)99IENDB`nfs)h#Ve~EPNG  IHDR *%sRGB pHYs+PLTE='IDAThn0`or[VnNڥ~]7JSǼ@< zȭyReZ@,sHHS%2$iQ˔9DKI7d1Zfh ޵^Ba콐 ݱLҡ5nq>.}{MAtb9tqa"p_ ȋOw4-Q޷,]7'JB]2RٹiFXR& #E{綞̒rMׯL}(V2 cL2#[6Jt<9t@vdh);I}Fi1g|`>IENDB`nSӊ_~|A3;UPNG  IHDR y&xsRGB pHYs.>PLTE=$IDATx=n0`Cw-G1r-`.:t:v(E-EuР124XBXㆴT#В0!1b6x>?DK1x 3Gܞ7ˠQM|L7Ar+ "Mk[vUYDWAC*s~Qru3Ae:ձm* 7}z8JAaq}mkll[\׹Hlmm*[ETej|V|xaWS5(k6c ئ.T#~xIjap_OEuLKkĈ8ďn0 c"|=F'#:Ա: O}6$j`yaE|5q6bx%nh[D'T4ڀ[:SYZe(jR_kh8'C1aN||D1bĈ?=_ ܻM7. 5TbĈ#F_^<bׄ1bĈP[KpiZp>x>stUk;}>]u`+&Ĉ#Fix=b^IENDB`nW706ůPNG  IHDR FsRGB pHYsjPLTE=IDAThn6p f 0@`UۭŮC}u^dTd/C tFOj~/l--ؐ,dAdߎl|4@eo+嵬HRL] D) YȬK~!={d6|θ_k9SKTCRN'}rר:Z%y3\gjUsR$bp!t&b# G=Yr?Tut#U5Ȥղђ3^K]CyBK9nWZN+Z{3'9u{HU",t dIUܾWR퉮)q_E*o %O2H9fVfإmKˮ02 2[gX%[*Œ[9[IկؒztrKꑮ^˹yYlJ-ijE ’#Ͷ(:R`Z/p,oYVFFX,UwG*&P%Ű#,ˎ%u&(cHG]irHم,K,9Yi 8y+ven$TBd pGF>ru{XfUbg Ϝq| 49qd|tŲ[TTqd&#k9YR%sdD# X2,]f;=[YaK=%>b;d[9c<{g`O*t0obz(ǐ˥%ۃҾC]lΌ"HsLTezH^9rN쐜;rfܑ-CcyZMUvgk~8Rb Gΰ,>i0lYr,!'#,w@ϒ燂pφ_Ź*p4drɱt{$i5Jeom"fm?D=+aoj>C7+!e(ȰO>WYZgoAxxXФD\uga\wf<pN2^x{X G_ 1th ;=ɅJj^RΕ`Gss\\xm$*RorCj)?rʮy? PAj5LTrEN`S Z0Ba~ DOig}5'I\|;4T%865Jhqr@z.Pvqt)1))vTI2@m2kk ]8Hx(nvϏnpz5=977Zs&>5SnF*?&^yZMhw#'H݃vn]ieb~и #]^oh^iHKC1> i58#Ktd%0!T qǚZ+L@ ڬyƆ4@;+2 Ibu(2_L&Ix`XPGdLuCv~i%Aȹ\7 U"'zCA[sPkh,rU,PiU(e3Q v?`mm**;nksQgؘTeB=v{ ^ ,vpxAkrBƅ)8^; f&6k_?jlv[{nMhC:m|&z6*vw6[EQKN[涫j5(IK)+۞X{2~^6IN~kٯ,X9.h^OEљ/8`y)?J=![f>t>p@ټ )MG/ }\xmG*Psv)%*Y[1Ѱ%Ǭ΃mgj BOhNj?3K&KL-z38A*X䐨y$ .8Ou ş po& 4_KgvM|TPY-ɋR%[e=ɩ-_ϘBz$#$!KDνVYC֡g T8 Y::<Ӡ%50$Ypʡ]$x:!C~?#<"Ǻe\7 Z/{pj4=]wbo#!&Lˇ{:$VZxG vXɭ:]8ͺ:u ֺ}]`CCu02~eAdG\x .͇n+T ECպ$mZΈ!ZTyka ,@F|~dR;-]Ip1']i"س,_calCK (svfO׿# ;G#cp&lb#N``8q&?YOb Ȧ^^nϤ HþH:^l|}7t;~~8AʥH$&cQs,:|Lxd)v( ]}PF8'jrv64R*L`@7or"!g#E-XH5ZĿkЖ1-ؼjJjtZG*;{8A *]ԹG>)]I[(|p";Cb*<ߥ}FnqS5AdQ*(?@!;!eTkX}p,S*5ʱv(nͱ-d=ӓoB݌91k]( pJaB! *M|;Jy5a 0f|`q%3QÆ!X|iJ5!e=d8 f2!eL" EH|&CcÀ60Ɍ[#'Oϑ6LŮ mfՆ"CúuGm`4bb$2q%v &b+-|bIBLN*@I kqSj%ܘH޺uK(L;wWE+:ke,\$9l wߛoGC~Ow` l_-l=\v1l1)[c 5l=j883.ٽͱz͉V_a^jm^P$[g?瑴5zGC`8mow8MQXл%\ 2|aR ,F~[̹S^ZX/ 2R+d.vc~ 序RhB;'Ha/c<mLEpj3Mߎu(&\8Dti2 soR%`>o\HGq2`smpRX 2Jlf@J0!C8hG G 2LHY.0aN3{p8T]Pj-f~@͜\]֧Z ַ\y_%wZʘoRևUD;ߧIK_*$T]|9)Y듀L.SZC RB Ղy0WLmuxquD)RjM'ZRjZrݏ, )BtjR%%>za4?fO&-- T*ԬZi]o`N4eR>&Nv/c'B˜WkC ؖvQ-4x{GsDIENDB``!LxUbH|Uw}F=.4+A <xytTEBB$AIBHBLB:`a_TF#@03QQGE@FYqu{+]Oo-N}޷ުs$'D 菏ĺSЅNsA}ץcfB{E@}+: J <_}U/yjQ!ͧnQ^^."Pz#7<ÏLWܟVkd+p hy$j〮}LRߜG=.{؄>SO(o=t%>x)m."F3?)of =W@*ѷ !!6D޾&Ͼtǐ}tx(:>b/{ ѵOVuxHU:sn7roK׃uEwh'G15mh֩! ѳ,??[n8$ϵa虌cNx*m)&-Z 5oG~?4{i5rm5EW L60s%]FvS m.]pMMUzܘx[ۆ@#s6u Kk3n+#];mϸ9#3sDYޝ휑Q~KJתNiY9>+ZjkEJkprjReijD窶Yۄg;ݩ[+bv K;ҘH]snKWp>ITC_->?B&ѵvK_)B ؐ\# U[$N ֊xX-k:xR|񲗚6mAzW (ASƍ4 e+/h"-&JP~l%-z-&dtoǤzZL$`pӧ[S,K_$ ,g`"G¯d"5UZZjꏟbD3ݻwhE"R~ noޘصk-1"?QviDsyF"5c-&Hںu"5yf-&wD}˖-LG3VEѲ_+2!&mbXW,Yb5֭Y4i5_dsWY&kh]l~i-&HXCư6h0L6b ފi͚56ZL ߋԘ1cl-IM͛7F2Muv&yUھ}QSNLjjʔ)6ZLLjpՎLZQf-&**pꬨãb>׫iEjjڵZIGѓ%ʹ.1 S Wop_&q(៼I{ć!./Ҏv$-hkty:*=9[g rw(3(^o69ۻj73Te34UhlNzu%\]PWnFtwqOLz+:}~r;;Q{>+w#9GD7]9C9IzHO}8x|o kY72{vn| o!!8 p!Ŗ&FCP!L`)<*ߛ:b6oX{1nފf-&RtÞf-&R#܊)Ҫ&1k1;@WUSi1S vQeb" H;b" Teb" IVJ 5iVj xD{EZ{)IH+d5_p6NRi1Q4U_fM)r(j )KbiUkYW0܂M oT]b" /R7k1J?F)ߛJulHҬD70fI+obK E:/&zN &xMfҊ2k1џZvNWE!QLZ{CQhY7"eKZLE8ef-&~M0{4gh2ߛM1[$,Y10bI_|ZLQOxj^=e$-^#4,YkyX@xA\Xj=7X{ݛh6`xr~aW#&^Oī"~I4Vެ c9۝09l# iiެt kߛ)j8ߛx"Y8VXEZ{+p$lE:=_Kɤ7k1Ӝ VSi1; GVY^f-&Ri}ZV>ߣU6Dkz/_,_ Ik?Ю+h _jnpvB?qرh݂FבBϘMS_5Ʒzib|K̡f<ҊW^> K l TvЎ@W뺒U@uu+7]UGW#Rлaw&k ݪ 0jZRv#]TPWL7 Rû#?C)bRS??_|=3((fK!<%c%'a Vg__%}" oqx;LķP~mdz&~ _8LG2^PvY"~޿+L^gBcDt#OG1=:t|Of^7(HכHt]Z_U}x5U +?t+i] TWrUxt5+V~zgһ^y}n.}>4fEQ+]eN(9> hE~B\@yE'KIVJԿz@?#nſe`!owf_`aAH^ԼT*!`|}qH=wxݿ,Iwv\R"wIIP{ h'APC8w0F_zr%@`vXo$=!`vNc36:2"22+*Te'f?yoo?/?}{{ӷ/矼 ?_6|ۿo?_տ2?/?x??|?ߟ?cn/no6~wOJK'""""""""""""""zis\!W~O6лw~4Gooh#j\ 4&"5+go~?دy<rцt_~na,*}qQ Ƶs9GY ϯk>]QMþߏ~?\ZL>+˹>jm2@o݊|}کK!FJc,{/R~;Z4V[mwo֊ ?GbZ_3~%rX)Iarz{8ԏN>3Qc}P=}c6'ۥ̴%זcei_J㍟oG͵?c;Hɗgz6+庱&&1K<8)wI}c/=~.kgk%0w>5^ZLUaySMd8^^'y#5֏לC~=i9y[x)G<Ɩ^_n+ϕR&gE>4Sk[X+cߒwlԷo gQ3]RUxt|cS#رL|K7o%e~u8;g-Gbc+|6\cSK (1zǎpv*/#ӸcUR^'5.(-Z~6(*Grv/&jhա47ڈ ۦcz>c.6}t%dW+-֫{5eZ}@V_ 1yS[L*Zc5#0Ȣc~9;,aұVߑ5^ñǦs3aV1p8[k5p//|\RkirLu I)s?/=K{_ֺɧ)Gc8VL-bteɉcUzr{ּRL۽9kgrvLpݜǝ,ͳ__s:=s<k簖ʿ;_+4T7{r]i\O7L6yrkm8)qv/y9ڜ^]ڦ_$Xip6|^AzΩykm_>T_\9>xvƏeQz<4p_6^[ڗ1=7grnpge:97ǫ.ROvc5PkY$Ǹ.֒6%gJϭnG㾷?rvO}]$VR:2Jk3U2Y7ϱ6[kZiyopu|5K~V]ϳ}b-'1W=y=i)h]c:s~C|~֬ݓ{Gu+9]g:?kHϭKl%-4V[sKl.6]Zc7NJq6#22ZKck[˝+.iS6v2Owc gǥrc+W?!WZwzJtEaW{Yi;J*q Os{_b-_Y{g=ﯬslWLW{8!aG<]oJ {r8nx>JϯkK>_˽}ef;&K>;ʏYW=ry&'Z 2X}+{۔qa?㵤cʥ5KU?2yO}[JevKs׉_'?Qzp6 yfܝA~^٤NlG\olպ_"0>7k{#r gg0֘7؏3~ή &"+W?""""""""""""""+ |+@DDDDDDDDDDDDDDt\ Y5A'"""j\[feûߟ5X>:q4c] x@D$W? 1wJpCٍ7UKdNf[/{|\̡c%:o/mJN.e^ 9{Oڿ䖶-=xmK9{m[? JK=rDfvVnsYQ[Џb1ي[e^꣥7~yi̖h g)ICJ>G-i3Zs}t Կ4JtKpKeq\o_5ϵ{|I}k=6lҸ$:mP/}}YJް񱾤*CX'2x5mEz.㵷I۾&qoq9 qδlgjxw)VjL>l<[e:;9mWےi3rm-Ǹp~ʬi|efay3h,Vۼ#WL$}὜^fN.2 x,=> gK d޹s=GΟW6pZ07) ]({2^R>Jcz{-8{,G>Icc gW1o-.GFb;ݶKیV1ޒ}kefK2{em^l4.K石X'{8{i{TmZe9<_':+g{ڠڳ.bcYo{SDZQoJ\gXcSn4rZ>^.=qRp\,c{[pv,r(+Aɗ7;mmX(>:1i;R.m_Zs{#3Nc ͣITKѓO3>;o}/kK^#`֮K뭙|N.r<;*q~jk/t%똔ڡ)l'KODOv<>4.c@̭:&K}4w^[f)g9}q1%/mFn,YǤg5&Jsq}8;_/yIlK-9{}67juvUC̔DI̽}\rnMОkZjZy`v91mB|О5Sowt.5K[޵ZM׊^$X;eښڭ2J9YuLJerv9~:ǯh.Y{>`F_ʠw=lՊ񖟗VۼyuZt_2f⡧NΎ޴Vuc8+p5O5@1׹wgީ8i[9]2y|.;҆mval+wm_ZK__G99jޏWy=LL^+L}&_|e&Ocۑ Lx+G z4{P3cBl'ϢrmŽeT[3˹rϮ'{];Sl&&#(l'e89#gw |D׆z1Cӷ1K⧥ٺo`rL~T.S^cb,g~&g}95jRG]gep6?>9ϹDDDD[W\""""""""""""""K |%WR ]*W\""""""""""""""K |!WRSDDDDDDDDDDDDDDDWVѥr+@DDDDDDDDDDDDDDt}nu | ['|&'""""M8꘹DDDD g+ DDDDq6ѥr "LNp6&""""M.+\"""Lɉgl""""*ݕ+?+@DDD19lDDDDWZWmr03&'>}_WUMw~kߏߵ~.=s(MڹΡm[QI_o/[>[JDƾ gM V7~dg#7 6|T|1/װsș3&,Yϖy<^RYK}2^C 8{S^/ "M8 Ç5nrvm~ޥ({wsW!箩c1]cK]{zħ\o+@ѳ<aڸLKa~_ȭc8'Ϥ{8Ƹp6lsv/7ln(ݲGqf=<;w=8D g]K99GV.#94\^++۟˿͍ݚ<\]&ɉ=ߛ}//5m1ڼ{=rq6&M1 I1XIgk{1x:&$Z,d֬cuLW7&Muzκ{}Xnp>\&ɥ;.C8mu{K%Lcz8&'LNtq|^g[W<9G`7"ل[lMDqCs>xɗKӗw͓5*L\=FD09lMDDDDg\w!WCcr""""2gl"""Ⱥ_XW09&#+]b\C!Wi6ckkQz/˚m^wqf^[u\RsK*&^U]XѮ{t>k%t.&"B8g` Hw\"䘜8bLٴu>p6&+PV=y(?&DDDqp8)g |s\,NDD䘜oO'""M8g5Nzݕ+1 `rLNDD9*arDDD$ׄp6&DDtuLNلH_C8g.+AcrJ%ߛp6lMDDD8p6lx'W09arLNhgl2@DDD8pr ɇs|=}{gJ+E0Gdկ>LIOG-qm ^g S/{2~óVO\՗_~9)_b gӋqvWwC&3735~cW4np6k;+S% cxxY[g|N1MquuGY- gEӲq#q?n-f hf=*Fr 䘜VuøX[d%6ouYlW72a턵Y,85ۏa",r&W@arLNgarcƓ1pShq6m 1gp^6 gt6戵wpLvLh09&'LN,LC右Y8p6lo8gkgٴGՕ+UarL19Yg09&'y,q6igl,M8gkg_]B&7&䘜fyO<&'Y8glMWٴ$,q6&;޵A@ crL"LN8g>K gkp6l,8g;09arLNW09ar,لq6p6," g^rc\f o19arc8gkrl8[q6ل glz>+W[crL &'}8[E8p6&}لŀ9_E]߄\L.09&\Eɍ}l}> glM,8pY8ĥڰYTSWǐ+ cGo/~T_~l5]y< ^gZَ#rvW_W@vc@\nl?3^&dKw>׎!sg`cyϺ+>,tl׈ glg3!86x4],gY\ |:W3cr|s|k<*Q\)<&JFfXm=سJ}dL8>{T^q)=Fj]>Wx:&kW,䘜03Ǿsamd`M\R:muoUo" gx@cnՃ=5r[Bl:Ryw |LgQ䯭z%r;%6J]dgg#йיGug*&Mj8bp&u |6W3cr:ov9^xc߄l}^k/=cl!3ugΖ}xbkc c|YIrYW09&'L:wLɍљ-qE8޺8c[ㆇĖg*\q gY{2ظub}w |!Wq^)&+1y|Lwߨ]B؂nlلi+ڻ}׍-lAg-M8p6mU^{>*&rr!C9&-Ͻ9v}ٮqs9yy>{0q%^9p6ΦspTAݸ^Aۥom3~ߦۜa._bSte3|̯z\sݞ)OmJϏ[scz}%m_ڮt+Wi@zN:3۳5MWW`gg%f9Ps\S>۟c;|n&_;oK8g:ſ;X8曎6q/Ԟk͓ydiRzm\|Mzl|nΞ/ۃ{Ml_Ϳԕ{xX빹b2KqgȂ]߄\||RL>{+R L0#Ss59&1ɜ1z,k׸$g|w~=ے^Ξ_s/"Wٯ=yks6srv:\.cXuuL|gc_ȿ-UWGY1T[!_ ynxi5yߵKJ\v=L^nF&_Lz[߹f03&̯8)ڿsj 27p6Φ{~}> SgowM8Qߩӕ+. 9r7f$U嘜0C,ŁNQ5l:g۳F|k9Mk+__6JLW{[Zw^\/B=R3\Oi{f$U9GLN><ckrv~>v K gcȿ=ڿ/tnݶ[ނˍ1_u<rG/Wd<绔19~Nsp6{zƮ,LW"M8gƨ5\"%J\ ȹs>Y=usZ{^8Xet^j+r=nے5k}<"֜&'L9&|Ӗ>krQұ9&_z^8Q?{26{xل]ֺ=oI֘ﹱ%WhSq6ٸgC8gk 9[8|1Օ+sr09&䘜09k|ܔ|>&glq6l::&GkxԵGx]s]A'[)ۚg놳׿o5WqK]3ga--gӑ8v8+01yi>my/L-y j_crT=kX\glq6&M8m8glq6>r ڿ_19&&'mmR8glmل-K!q68! |x;crڣ-Y"&&}eư{V+eY8gl܄ gcuLpX\w `rLN3T{GQ,L1o gglq6g`M]Qlu^gWW}[3k;m^L19ar:KzT_?yYCp6llq68gG]߆\LNG߶x<&g`q}{ͲxƦq6=k-qY8ffq6&M8glW\o19m5crL19&7p6Φcslq6ξg&mp688+W\L}#L cr1oy߄q6]m}q68p6lM۳͒uq6:r\L0>~<&'Li۵N֚Lng}Ͻgٴ}_=l8glلq6=~\;oC[sW crL/7arLN۲MonIO6ogųqV񎳟<"+W `r=Wթk1똨8p8mS`ȿuX{ gl~$aȿWS] ̭ cr*syf䘑)e鵜M8pA@_uÿq6q6& rF&_Ԅ1O_u\]gg0_u;;{!M8[zLu |W:&{T볈q SW\ݮIKmzϯt]~3:E=L&cߴgĜ9=y"6oDZk̷KK3ϯO8@UߟL85MqOϵ1>{9v]-ήI p S'pw,aarڟ[9s6Gf͝s-wf0#~N9&g8fXpњs8חuMIi{sSknks£tr];[lscAWRgL>+s&{ǽΥK>]ھ=Zu~q 1֨J &{{m^&Y[׮-m&g29ΖD8Lp6lٯӗlMښ2gw |!W09aǵ9+7_+lMg_[9檞l"M8uc֬e$p6mPWw@W09arD g+cglV;&M8sΣι+W}r03&'yD0y^7]&88p6\n8g~c46ҳ͒mjs.=Ǫӳ^Ϟ];=׽52٦纗gf^[=VqG&=N9VW7\~|:d1|9/izH՘z&nqiά[1=9K{o_r19&'LN8M˘XZn#9ess4#q0&M gq\\9{kɵkfq6&zJ&'kr&/zsE~i\{5Lcr"c߄ g 8;;_>631mmg/g$5|Խׄ8p6&}lxAߵ[XRe̾r>$aܺ&Kt#19&M8glMp6l"=WZkQ|3*k++W]̘09&'LNdglلp6lل]_XW09&' lMð1ƮkE8p6c,XWwCc09&'Lc g&}WgIb{/ glWԕ+r]cf悚M &',IllMlMq6͙\[UG{^ns<☜09l8ٟ>}*#e|~x~gwþzػl gYG=JۥƸKǫJqVr08&'LNLeglD8\& `rҗ6&'ƾ #q6Lq6 }$_l-Ex;09arҗĶ"8p_8Hl3ل|1ʹ+W `r$'brL.Ŷ"M8p6_8Hl3ل|r><.W09arXD| D8gG58grޝcE-&'#_8Hl3ل|6?l0Ws /$&7M8/$glAHb[l/Z+ON+19ar"0g" #gm g&#8[lߙ+093‰m-g&ELq6 }$_㚻r `r&'LN/$glAHbgl8[ѹǮ\}nXQl/IELq6 }$_lD8g?9W /$&7M8/$glAHb[l/zr}s03&0rE{3mjqMq6lMDDDxg]䘜p6l""""8R_ "LNp6&"""".+ݛ\""ɉgl""""8J """䘜o O?XO&3ݸ|_gs/&MD`mk٥rv ^.W `fLNDUcq|ܺSy/&MDqv٥}&MDg][M<{?Mh]䘜0Lv^=yDD8p62g;rcs7lDꜝ7Im>j{+W+D19+snO|\OTv4=WD g8{ngﭹuLp6l+A@4:Os}cr""LɉB9r~vi?nM;q%OOGviS0nw]Gھw)^cayp嘝Fmo7B?lݴ1H qrsNvnk Q4늆4n. ܾ.Vҙ!isJviLޜ,]FO~+iLV^ojh6pJᇫ۫IvjTko.$k%#?m:}Wjn닕~I+JObحy$=piO4֜/'呶o;.N-U=A {cxҖHWP<ډ}ErܢA ۷d?]QUscsHwRlY#[y$ދZ`GB?͊Qڃ{&L;Z)p:SH5q,I)@MgNm5TiʴN#bvO捞CUG =l^*:k-#i?Fp癞[q|N qJG[)ΖCE7iQ ?|HGd|MN5c5-呴ƾ(mi+#6> 6U㑶oIO;vY1>=ڣv4$ܟ?+O{xɵO;pڡtaFH:ks7ޮ1ҩ4,k! rQHhn_珤O]VW<҈x h]HV^Qxb+omv|԰qPE'LAnM 7^7Nh"spbzc^zdsjW̯Ikѽ)ǽ7Mx>IH<1_m)_ίI_"ij3qi6{6< '5ibw:LNytnZtҜr\̜uwVEkOŃf+vFפϺ.L˫܀^q5ֶ31#vI?Ļ+#vDNYɮ"T3`P'ٴlFͷ7@bCU|F}iH㸷r?ހu?x^IG1G#[ău#dY0d(>1i0cwfdX{6ɦK'+y]HD1 =ÊGڱڳHԹH \l-8Yku e)eF;y߸:C<]3]rYmύO2gX\5K L抆볦դ?YZ5+8vzYjȦ_귔j3-'Eռڮ>'_#ٺ< עGh}4u1&ȞGXjk;E'^6#/l7zx WG#xWG#w!#\{xG5$|?& Gㅬa1#1#1cx1cx1c 0c \ҕ{Ce+wcUV|'^oxc1GZ|vzVHؾT83rc <£w\-R+c]G+a`abf a\ H涓^q%[}fzMפNg?FIKfW~W9$x5n&M '> ܕ=..9Ԃg]qa<[L/YRLj6ǽ[ f/N.$;, Aid+.۝UXvɪ@2=*^uO5}۳{'Y p;_`z~)z oW1֭R(ܳe6=0+^ZMC@t1xHx2ٮnH6kGj=apTX$bBhK¯}6Ky$=hH 9*}8Y鹴mĀmRNҨSMđXQg#ƯGj@MGRz80'D׆F8Hϥ9>ᶰ8lHv+Xg]:>jR?\4>RIY|j5Պ69<<|>;>9̆Wtl ?Sy$ˡ#YPC36qbH|4H0->id4nkcӘ`2u&#GfZPGfs <}#HO5)G;dO@=PciJaZa=3{xYYl23}^9S8x #fsβvE ާkbV#1ӡN2fZqⅬj2 5L;!U㑞y$[l4f۫o9bᑽm65WOSH}zゔ~ozOwy$OzϜGӥoĐ58,lEYӳϚ.:8 %l lXio&,⑶+zxd5g lj`ъkC m*Bmog6jGXngu;pnKgZv5E-wՍpl>k6-(} ?|.dSA.Z=:&~E''{GV돤)i\3}uɲͦ-o{~>,'n''=DACL7(n.jz9>n=WyÌ<1MMy$|7{߿OƮ/$Om;lpi L'Og7>ƙoS*##: nWz>+ZI1gy\tz5 IפS>o7s2fQSIaz=kRO,<ث&=paIm!Ⱥ47j!4BETi'6U#xH_ڃ-ms;1}2#xčc1|NYU%BBx\G?_=ղ1rBlQ_~e_)DQGȵouB#)oN]Qұ_Ӷx+5~W/a["xS>wcjx{ +#xdnJCGQ #xDCGjG#jߖP=#xh ڢyE h[CG;j}V0Zm ^d*h~ӝ#l[mr y!;jHJky$|GR#x5xxAG;_#6aڨJAeFYIG L7oju &yMmp;p+V윙au+= .͞dxR|3} Gy)nOxd |<m1GGDP\`'Ԗ߉č#2 kznTMS̩-!#x}z{BWj 5<"$%b6R~O,di&#xGDc)={z:hgxT* + ws#xm$=>2M3"IuH[JGR<P8vb# AaxDWG #x] p ax0<#qR:DEmWjlSfB+=ecECB0=Y(-#õԞ2Q<] P9N>y'%"]tML`mIXS,P4N)㤑xtM63&s:Nm)fS:ـT$'L S؄NR .&;VqL^7}&V3q&S'8[x"*Zׇϸo{"ݔ.v(-h-AsmrbEGĞ;4LHK/kY#dΒRvCNJI:']ܢ{RF~%qsdnsHޘYbiZ]\8pX)Yc:m<4~NYd?aez͹`:÷Hеzj&CϽQ9Lew)19^&[LGK;ۺMy[磂vc +}cۓn*v=iM m.nc9Uڇ`>dZGvi9MˋtvI6:$ ڮd+?Ӂ\f<5S-i j`G"8/l$猍lQig{̀2=_0FpD@tePdb%1PLUw)v+`˸*nnJ'DuXݷ^jۥX G8ۖزKv(VXrGF=)~TǃVJj =OQ kU7%.miYo}3^MwlWSu;X1/-9,;̲> :<*Hx 8(<'VL> ; 86ԼGŸ~4 }hfWpꮅ':n0^O빗{yە|M~)稡Fl ۀBtɦ6ւ`M'AZP^j5y-ju(4Cb 5Rl|VEgI+sXVrÌצ5)֓'0b^ۯnf>a]ZJ?ae͡F` 1ŀ +n?PT`woUY3xhMS7i~un Mnc>nv&86A*~ re2.iv[d/Yg`I&Z_mcKmz=d3EY$i4$Ӕ@sJ,-!Q`+II?,̔R^ny,14Dpo%COF@wnI[d=62~v& AI(-&lh]og:;W.v̱e&ak$R<5oskmlhm$=km >6Htuh* ΟI:#Od88,[z+S(֍}U)ytƪRSIS+4@ڞU[^+l8TN"m9h' ٖP$eSe7X`p]*zg x +s^=s{9jy+r:̆׏6-FGJ&0V@B#<`lAݐi`w(e8;$f(t_,Yu֮RQK]=[D#.z&GrPJ,$RL^rƎ"#/'IxN?S`p[ V< N6H؏_x(`YU'7+!AR Yc CVNOK&;/;卬PY$:VutQJ'e^i+Kc}gkC[]/X?d  *];W,y@TI<(&|φ:Vꂱ`+5-'dyrPV-΃m@'9u%:[xWUTlR U`[g!dlq~kP#[O\[G<9kS;ċ'v

gJUPPlJO %*ZR:(3MNP2CI 1 %hrb̙ rRɩ6zsYi5p!΅=&e0٩v& 71h1t|扒sEC٠ZZũc.GG" !N%yf1hoaFRn.G\|&u'w$ hTŵ"]?:,[hSlSإ͎UH]mf3JBl }ja7YcE&u@y%=Sk~vF'zLI}٫(H'OEŠ:R< ;(&Hq$稔}GCc ±5ǣ^F"3O{8]3R8RTħƗE~LolkDg&rhgvir* p$v6H$g|4I(НO3{l;3B%ٛ.@;ݎ@*, G(CIʀ^8FeMmIcssKGl":hcGهB-GE CvP,orr=SO|NHN =݃qD<]S_(?ӔV!EVa^&+~1]"'d갫@6ZU+`z#9-yy P(!NMc4:QdnYsJ]ݬ(LM NcvIS\7$FU+iH֠gefeZp\s)l8Drvpg6 ?Ƕ) $崛<AmW|d+$[>ak䵵Q)DJt+1iDJ?! @VO|HZAt+DxFNhf@ @G=}Ug)DG/~?41;"^+rOڊhwà)c1"?3ґh";UwFK5Fo$x:(tQK!5@GKlz\ā5 9"~uڍ_`߈zǏQ{7/ &7'u٣:=a3Aj:*; 5SQώcl7Y*wMo9Ho0Ie ]I[,M/kӜrBs;(DrzOkĦ6PD+Tkt ͳ5i->9gIMq%eڒH Z.8Bh$lMx4~4ULM"xvDXHrA-Ƈ#1m' XDw6U|[ >*~|Tl栖7۵Y]d]e^kr ijCSFƾ ,"N&pVT,X3Vw-k%p?7"8\.iS%{Sn>zi4} 鸭Alĥ(B'ɂd)ŨIR#RR,dv9'*`-A:VRf]z+7`7AQ&[mڜwhgޭx:2>;A"_htf1˵NCךVE%.LAj2bc\0Qqbm%LH7)a+k6d 9wTv(n@PJ~^D0 ϕ]~g(4;;v}n:VEPQ&TRHi#ѼJ7&"vM5qt}TlWiK{@W}{-jh.gP$)Ct-IGݲۭ@[ n9$?vc# =^"=N P}v`%5ͮm -djm`}?m {Sl:ϯD206mgWhSWKZ>2!Ӫ@lppCpth+ts!7%w}qtq 6 qm^qc~r4ȥlj-` 1m$iָ:ƦA qеQ#/im[E{C ]DkLZ˞׊/hC/nr8?\tG's r΍@zݭ _n}ljbOϓjYOk#-l47Sae| 2`m wAiG;TZӞj)0t~V4@18Ȇ/躛 Ds17;BL;zݡzݝYC݆k+hRYl&xKj3[;&Af%coX=g-Rym튼m$̸MZބ/5ه 鹛^fD,#XWP[6 }p(V䶐fYZh(րwDZ{z=aVݶr Vv"f\<ڢQUT'~ҸPBIPR!N)_M9ĝA xZu8%2#52$#1{xY{ī#!^ȃgm+MdR{ƀ2#;7H߻g-V,2DvӨ l-2 <˩%mf t1wVxW9WY=_W:_"ykzIn *4LUG.󵪎׆Oku)wRrk5nR-]6WYT}tF^^ѲJNK%_$D>8zN2V)NEhSeVZvx %X{$>D nҺ@(A&˵Ҋr59,{}fX=0x U+G.-hOE-aWMj9ttF`qZsQuwhZO##4&ﭬ2AbCIg%n4ֱM{0m& udV +3X V(z:,5PG_i)0Q 7Ԏ_{j%t,|)uzF12}O[Cma\mHﭴ2PHz0Q@wHexT'Hw&:DVqEP`)XY6A+Kr^q&a6M4=" LщZAC]6Ց]%t62$<= >8:^ODjE&՘yﭼ2'з}d) &C-tA2\m+ !6l]]-l "4qLF؃nar&[)]Uk}m7G qL:Hh0JiM9q-&oS) *= M֝RGI*u@5wd08m`c ٲ,lEVB}=`cZ.:haX8:r1N7"j`ԉ> MnCVYlw39ȏYaU<rB /nmE^-E̦P_K*bPisD@rzBm) 檁EG%Ȩ||v;3|Cp|#_| Dr4n& bW0w ~0`9"R(;Qv6b1;ǡcnrs8 t"jUTl39븾M`oTIDBH9`4;)|y?4/5ī)DYS4N 32By$>AFyDv9nӁ#7:`JS7K0f Bg *gxd,~y vP9 䣼 ^lEv!SE99@FT\`9 oʨ44`10A畀njSD5d1O܂>xo.Cs7} D9y{Q^a&4% Mec}kbnXPoBwQczIg`.(bـYJ ic!"4 @eHLQD,wzaXDvVuva=;Y; &BtʢR=L*CEZśxuu1"WBP| TSػf#؞uw~Z-Nf.w3W cFD\bTs'<<&2}M4$4-LSd1L` I`J'.a"sCCאŧ8ًzuu)Adb\ Aފuo?*ihj3\ +i~Ǥ77߸y%<񻦋>65Zpfe43)Mm怇a!xXž8)"u*9˙&1\b#V`=Z܇$V8>D޾Gg__p|xv5MP:xV!zKf*v`(Dp4"5aͳ_0Ǚ= XͣKB{pLSeT~LB&)' ۂC~T^f*ImqdWNv`48z̼G&n}p;ވ`3Q;0u9k`; l[R/h>O!h#/%8s%،.7tEH$XxdETڣ&}q@ ?Fc|= N^bj0X>q#b(`"`S|`VɃ 6v@75.n@7 ѥп2_0]PW™.!+mr|&2b l0qN%6Z{kQ6">x~ l\@&?7!/#a3E>`+Ȝ涨BI8p l.vC[Jb"Y?L]LwQ97&-,&r\dF%)QK!C_ |@u,.g1n4u0 &^+-] yql.Aۡ&Dn;V&] &NcG<L5$֐ Q ;GȌU5QD~v"3b}{VȌMxBGQLL0 L*4*|uLEwzln7UqYr8]. r%ѓ~=>f/38x?fN C߰E2mT]ʔ@Mobuʊ ɄZD7.D_|G5 %_1gblfSc,2x}Mludd[:f!6vQKGVu2nqv̳e)icq;DK.:M> ymVkZ@hFY)aO{{Y?ۇ*FCI%喤TMRS7ֹxA{|+y6Įp]-S|.9Q5iʫ)DfzA vG+RK]O hkj]hU:.B( ]Dmɗ'1p߃(l]k)cdF?][Ret~-o v1z<>]rtq^`9s>q6SvXb;ͩ- ,.)j.J0ߐt|[YJ2hz%C 2dreJxQnx<'$XN>PLr9iycs;lgL|NM $3s-l hqE:@%sߩD֐.^銷+܂cBf B' ]c#5TTwُCGѥDov5vGwqGг"-zK+]%tI@Hy<S}s4;ݴsü4]c?ï1΂)1a_Jk#zW4}}a]kXV Yx%Ea'Ih=#Gq܊^u=CV&}Lk`:ʏ.X1`6|#,C6lxn-mo}rĚ= a 2KnNSDsu>WU0r"^-U@7ߐ=ki}g? OÖS4?Wt\UD:w5o`| |;OW㓒s*\`ߖ̌=}yDOXr^U:@c5θ ^ <ygmqlǵZ2vex'\ y/FG ˄H[R/_֝؋7y=-';l؟GR K9rGصn~%gy6*a`)l[YGw>sɗy*E8FܝaS[tH4հ?qi 9O ̟U"7.|g% .e|q-6Z܋vrw| -qGM]xjJj :8kQ[R'F!㾰?m~u iA:|cע,DMǿ"<.DtԜȿɨ ֠?P4Qw>R?j"x5}1X—M{g!vNY~P7va C9yN9-/&q!N< 9Փk#kAEչ&S )**8&y,d^=?\cg E{ل-V"+3%8fM ɀbPh9Tj568vƻ~>'x~.>9,F-'22>*P{ݼo+<&#7G;<;Ձ"jj<6&x5V"gs|;Ş~5kWq|g':r+tc50ϸyU'.~0??ESQ\D>\F 9r]P 8Pyy?-sC1$>xPOԼ|ǨAx}Brˇ7>[#r{ 7Do ]]D⯮SUx) d&)zC 6BbRRs|~ ]PSjeWV_:zyE3Ŝ$*e6wyB;gB ăM!n< UUxiMiz3),n\;3OA;t1=`&bC>o 0(jEC.h.q^(/RNbfr,3cz1ƋX@:;3Y-dLY;_gF'1Ӌq^~Ylb٦!|3U=x~ߟqȥyά6f/4w[qC5L>efY1`g%[1Wx%sztu6U)AM>o#S3Rg4$ &.21hBLa 2gwnB[d^'ɹq̹靳9Z٩՜MZY-ə}):!:33諣ϙ%٨Z9ٜ+:4|W纉HGL,h|ƘV,[ *mS^Ӂқ~ȌA73:.:7^c~Bv ~a7i4ltNAmD:m)NI┓pN"hBsߞ1V3cPٶ2ulSf1m g9!f~Nn>n>>ݎ|'|]Wx?p߹lLDĶ%M[&f`j9]a:ͦoFSfj@Ѿ4m9kC㼴 'YRi-5̹ NW?_Ct|;m֔ZY.k9CGvk٢dfU $5#em^ G4rQ 5-.0C.ϵi;y:EBtx hG]%5TSRi ODaM#ԵG5wv[ݬ8ci=k}_[e+ `_*N1_]I@3V?v{ !ou/I=!t,ޖS'AK #$> zQ2~f[K TR]J=m!MUH_!C*296I+4(r8"! fv͏#5' s1͋- KAl5|d 杧dȹw=f:X~ӑRYII],tCK/G탤V[Jz&K!CKT%F+6Xj*4tKkh0Q?&j]MTZNS@O]C _1s/9A߉ .x ~Jvh.Z~d?pȧx&Pټy,$gY<u?BIܗwr[> &W%uz?$tM grj))K /%Ru(?K7KVݎ Ç%*ATpzAD vG_C|Č$9"_#jzTPG|ͨ9P# jVԙO.&6ڡF< 7ϫ5 D,:X `Ah (U@Il3S1PKɌI('Gz3>^;lDZd`u:Eh\4E7`[AR(ǟg x]մN}m`#߯=}kd|s3_(h$HVj(TCPyCŤ5H)c(̥~J))ܢ+/GS aHIbr8I$9Ԧ/6 -mq~d=[/ٖ|vm//CyCDdr}7;hhqG;;8lȲ]:f_;_eVյg-bkԨ{좉bc1(-;FFEao;V;(kfω\/r>߽{MY3xǍ7Vr󀗙5)e prUм L yj*SeJNvtʄKYfD2D(NF=2ڜXD }tɤL.` ~%MuaL|i]#ZCzk#Wm]ukNt&JWnwMciz5]— vky@mg&Cr/ڬf!7iE M_4iiN]L}mJQ}M:*f5欦4--4@R=]O4 tZ'h22ԇQh!OϘ'SLpԗ2VH헥t]ПC~稵ޠ^ƃ_ƀ1mnhQB+TdV&:`Ԣ 7h 'V f<5S鼙M7L=4`D-n{|~=k F5}lyǴK60wSl"cuyu mv"V3[#LH3G$CXsyPWwTASNtԤ8.|Kl~TSz+BmFjF3N3YiZ6ܭ,mtCx+f>P6b L67QZӪx ^b"5^fZ/>D\z/I>\ߠCrLk`h2ɯUMfc d&HK @TSPM.zͿ5-W0-">CNfj}졶r:Q?'C簗_r~4Ch5d$s9)x'&՘b.jAWCNv A``t㑚AbjEb.f k`ޥ&KSvυ<ǔwOLuaI涆&oЃs0mk1ƿwZtB+:z{I0'a"o 7<}shR TQ[Qf TPDl5.)T_:"2nݺ> ?_tg^J{̥Z`:]a ~-=c5>fus11.e&-zA'-ֈC%͑r]at*a*$;%JK?9x%fJ:e6ܣ 3׼ )r ?)_ =ggp2iqx㊷Q6$h~AkG҉i A A?|d3#եu6辟>Ey >I'O1h$hGG՗OA:L]N:fȰԜ,4>IUi TFzSVP- D^W/wЊ-l@=(%HK( _F`?KTfS%PVA-5t bE< u<-mF )~@vH s' NѾ4M `&^GiOZx٬ivX{^trSW碶D$Aoe||V&ɓ<}?ӧaڰm >%yE2#@YrK[XIF'. /~#׸\r!){xld |RV9PmR)q .+ף8PYHg"*WqZ]˩ߌ7W gx\9r'B!֗RF%TR\^rUrJ uZG /~iCRťH!RZJUy#u4NJy(} ;2Qb,Qr^V)#rTvuY'xIU;H~m(Ŵny (p=7gsu0=X)M.R&e(*RHÊ!dToPHlsMΧa.{nrJ_5t!ѹvjSN6:Ý`ˮ=u @8.ÞrSI6wzLA{nGވWtFuF8CuX#Fh_:L'tܟu!VuI7.G rIJiEFk I'9xIɡ:`鏽g[ּW[1&|S#˯5Uٛp:*~ęg9'ȏ PZ.B(yqIrq[~Nm5zlkPM] mLGl3ݶ5mƶe#E.AlojD;Fa0pgN4׶%+ZgV:>gm]*VG<%-Al cAiCFrpaz)(aqel&mK4g}w> vZ O3q43l.iI+a-o>(Gav~ MlgCٌʦ65Ma߈|4~ X~ [ϊG[6|W!|[fH rw]$O4b^eyZjA>y࣬|K3rz3ӾчV4z hJ+`R dGvSV}q>O5>Po~|Us9G5hIr\+C$OE6= 'u;ﱏ'M=oU{Noczv&. t% YjzYyG *?\}fmʕ\]c度 rBK`May;͉z4<^STuPJݢ!{Ro?{MOې -nwt 5cwN_m޴!}agkEeN `ݷz;FmzA ;oA"p]ׂ:?9xagwo=Ϯ(ȼN~v,d نC G[;zM&<m~D9eg;[ndѺ.Unv&ɓ<}_" ]nn៮Gm?- /Bӡ!zN>ś!!˞x;|AzXE/Y x{!6xdBIƢSi1:tG_Z@rSIVԬZskuΎ̤-EWt-|4}WZ %*J_ԿrU9[Y?᪨Ր5u4Nvqkثlv~2zw@$9&?9sBJ 2tI~+8*yIsQs^bi9:.Y/Z>0\ 02˼WrI%J[biGsD籸ü0NVD\oĸ^J穴anS9lLlN9ia8mm3;m&G)gt XNlMu|$SXR9 ot3AR8qˉrxn~{I:JF9g; J29H` 0 `qZu@q p&p`0Y@-wAl]e;@G!P>݃lM q՜q *Nv*r%3Wt~ ~.w뀥<`|L"^OUsZ*@I Twsu\ݹ s 95@\KIh ?P/Vxn[ LR82bPNG  IHDR@7 gIFxADOBE:IR1.01agIFxNETSCAPE2.0$NPPLTEf̙f33f̙̙f̙3̙fff̙3fff3f333fffffff3fff33f333f3333333333fffffff3f3333f333f3f3̙3̙̙ffff33333f333f3̙f3̙̙f3fff̙f33̙33f̙f3ffffff3ffff̙fff3fffffff3ffffff3f3f3f3fffffff3f3333f333333̙3f3333333f3333f3f3f3ff3f33f3333333333f33f3̙f3f3ffffff3f3333f3htRNS[rbKGDgIFg8^D cmPPJCmp0712HsIDATHKn@ ERlxi;* -3_3{6Re7ؾ6A+>>@h!%8Fuއ@W{rؕ "%҅!ZCQ.h?iZ P*x.*A͐ ndB,{6A&}[m  s lM"5"A sPSw"1%ԑFYXU@pߒ\ +TְS@i {}A pvu0p[ @-o3h ..]:fkX`3Aޠ?[8th Y([WHȦ L5@?r:|Q@K)%#34 b?=0yJD/|! `x0j*pg|9ԟ Ll?CZǀ y*"aU Ok h#EѮڭ(`0LD|{gJD~ 㙧ype "ˊN.YUB"ô^ŸXYv,m`e*I_0bYv?foLY6J#pi7"l#y9ḓ^q`u2v5bҟmsOGMSOFFICE9.0GIF89a@7f̙f33f̙̙f̙3̙fff̙3fff3f333fffffff3fff33f333f3333333333fffffff3f3333f333f3f3̙3̙̙ffff33333f333f3̙f3̙̙f3fff̙f33̙33f̙f3ffffff3ffff̙fff3fffffff3ffffff3f3f3f3fffffff3f3333f333333̙3f3333333f3333f3f3f3ff3f33f3333333333f33f3̙f3f3ffffff3f3333f3! ADOBE:IR1.0! NETSCAPE2.0! ,@7 H*\ȰÇ#JHŋ3jȱǏ C~*X`\pU{-١iQ)5.IѲ,;,dJxFa3\ &zD|r8kf f{%^'rx-.@r@c,,XOL;ϷՕ="jRC{v ee&r$7?KĆO}V mnZKfdIf xցf n7r!VЃEh q!7X7Rwuf IPOmց"XRvA#9$P@: 0@ `@n8}l-hQNdPpB HhVo-MpVWB%`'pdb6 @@#M`Bq6(TwpB{dJ e&I ( yofů:BUVEGq,:QIzeeՉ-fQƍ6b$mz Yy+jX-JŭzZZם DmDhQYUP YX. YLfUe+b+ q.m D(qAЦ,0,4l8sM! ,@7 H*\ȰÇ#JHŋ3jt8D Z!3v8qK/SZdM!"6< C"!t`IF@U;I ` Bk\nVXBM&qbJ& 7޽jKr }Ɲ0gIso2YX/R CsrXДG mدLWMYnʝ[.~جȟy3ѯՖ^y\^X,]7>SOd|nX͹S'_sSaŧKTvz,s u d^Y1u\tA)XC@ w&!x Ab<&]Wދ2*h^C5,4=bX-`.Y$ P;II'#ARF2F  @d]YyIzD_uP'}4u`aBEh ,h)K$D Tzʔ6jXj4yr""fIuDBBԑaMaGI"^ejsڗZj^yJA-\ٮKJle[PGqNVmfpgK}T ?0[6W{w ,$|Q@! ,@7 H*\ȰÇ#JHŋ3jȱǏ CI(STd',IL 'Z,2oRJ牝( SDѧ8ḁ2ڳQl.]൫ zLF{0 =OR {̦uVԐ}{҄0ʖlԿ0.2ymNOpڴ6_9IA&NswOv5Й/ϔJ }ƖͼC˙tN3M s-v3Y\3l_PY#ƓvZoTs@'GN˩[ tX4vڹ'^T!L!(bsv]O&nW-4BY_Q]L'Hy=A]a0! $_pemd4ZX.eO$$~_~^8@?'y›$Pw%50pxEnE4PѐPjVIЙyhRzt 2㧰dD=}@B)O*QzT^@7|Uh*Ti-&闘S~P4q_tH݋zhk' 7O! ,@7 H*\ȰÇ#JHŋ3jȱǏ CI(STd',Xf͙8)h "nΤ@(Q=ڔ Sѧ8 uḁ  pδkW&)2X5uv !]S?A쉷8- w& u ەq5Q D8ahG\~GϔaÉEͫ tRS@t_9F>v̳o-fm۪ l,E0hm/,S#}q`\T' sOF^3B 4 d7P DS$l5Tms@EN & (sA FQL5!P`!0XAhu[*d@4$ K 0!gxOQɛO0'T]a Pm9Pu>$[| @UE1xeWW$M4p@W-)Yq)r0IP p'\ M)x ,2QXjO8{@Whs^+m<.ծ4Cf(j)OUrhnBIpԗЄR^MeT#C:[O9S?<2fin_R-8<@-E;k.IENDB``!.1"w̮e4KEN/ vxڭzWGǂ;[wwwAmpgwwKpww@Blޙ&yy}}oߡ]]]rA[>Od"wKl#bz>NOO$"'_8='o_FX7>cB鑎}fgF!z9_ "zoNbo"ط-|[Qη|w{={ы'ռ(N U)-;̖2@J3i'%[I+}ē0&2LQ'mLbfw?:JB/>H]Iʹϒ%)d%j;Z=lft4)j.xŅu7[=Fl!Fl/1)pFasx@p/+_4 4I&MziorHOOBj"M9f9SYni-tm-mv~#66Hۮ2ն(l=jIBW]ʒ̕uu$ ®Tp}@$n td,]_ns䈛'R-Avb ]W׺HJq)o*j|o&-¾MwP{k=eRWKE*Ώx6AZ 0&i6 1POõz_uIwD'V3*&Ʊ/oImNiuwFPF7cz1ZF&ZC3j%-eԎZLhFfoDnWYG~=|^`?oyĒH(Oyx>I*%XC"I<sQ@"FG)&r\g3;u#{Yf\r?Ɍ;JIO}OOI_D D&"+}9et 7{AImO̦e8K;q;NzNQe=$iioCb噾W~,WGb9mp vi%G:LjomOHtۡq0=>uDKmܴδYhI( c ~^5DZpvY6{} Ǘ˓ƨX ŽOZU1~Fm]]׭nwMcib.ypAI!TH 7坾~_>o/uOK?{UIB#DK`ɪ$0L":QJxľ@~֒ԧf&Sm u .tXHM &ͧ'$TDwKL"nd"O]\wd!DYk+%)rNfF#km %:!RmjE:Mi&g75e)'!LNmɷ&@:1ҟl`I.L"ib2Gf 6l7Y#fYk°Lj3f.t&iö-w4 $BSM=,65&;kL| C2 b۪AԷmaP cltajW"=4d"$M6$$+ym>`6;HVBz3n[a-6>ي F7 9puƎj?`M#k(oB=-/m l <X.wi%K $YNRI> ;n^(ꊣK1.vRණxm-oqFv)w٥+-]HWIj2O浌k+.]~2\dRK/G1\\xFBe>yVOڀ1KAe]4zi3 5aNhӈ0{PGǠGMƨյ+iG jS>Q U:*keTҲ(%QJA~-/]#"6AJ턤\3 e'z trUjb=AC\=L [O4XϸDD\WY}࿳^dn C d0G2_>AbryONd?$$O+_Xרj9!yM$kQy,F1Y[wc{6 |U ߓ s+?"NQe̽3p9`b;zc59Rav@N5ȪFa"sD!!̯3!b 9zJyUx-1#H"3xy!0ù%{ғ6ڗ\r Y0X#H68*9lfy.\G~ o%Zz#7JZ xj/L#_zOV)N]*u'Ϲ5(1cJ((ej~NoBo,M(,q>kmyEjz^2M?IƢi*IQԷozG|8${u[:[:[Ui-ok^ﴦN^KkK,.0XiѬBGKSzʘ$E0Cq\8&o冪т\QSԥLGQ"M]zG92:\t*BGi;=t{'T,әC)>VkֳIqV㖖bPfHj!*.{3DefR|N?j=<89O;ZtYzDt#ןG=Qԫ#kJ=ozG9a ".PbMK55V۴zXiPW9ЃYk,[[uZۤEry%h;,*#a0.+Y&y*0,ɌE $v1g@n2]p9Ѽkr ZcQ iD]P<7Wys3g8of@o1~1ZOC7|Vs)87e9Ydޗ7j.stT (2++КUI}V'ձUV% duQ<1Gd B#tBåΌ!Z=zpY FְQ[}f+q?S[;71=wBSʝ]QkԶ6r5=Vs-m. wZC(o;Kn>IϺu<-pj2f93/bΪ+X6v-:Hw2c?qF7s.~Ob~S2/gcɘR# :YSzM2Om%=!D71/9k6>5*P:[ffI-2 Mu"ȯSNfFN ڜhNo9f4T]Hy\'#q& ͅgZZY1wӆ7މ}u"|gZI4T%c̀iyB;h&;Y]/df3;ħx<8%XXX=OcK2Akkڛ%{:?#2:&6&.&d_lyd|ǽ,#GKQڏ9Zu&ȡ:i=p=" t475{ }&}>wH?㊋ry$J`+϶jaM1VXb LV\ zWR滲2!DW^]epWKB\=\W_}({8(g\lᚻ[\. ?xK X!WAAV^5i6t oSП~f>QMXa5|h9њs0b\lyq Z)Gi틲A22Օhk)oEs] Ƙn:t*3Hi7ƗU0Wa4MPMј k7F?2&weV4Y\ӔzG#8nޑ9 xK.t8pf K@.1ҠH[Ȏ2+pPPww皎RM{6=N\j;[l1,eV\>fb Clt%F /j -@T[Қ?2}Nbjai#Fb`Ŷ+F&6oZ`i&Wǿ2C܌33>7O Fn<0G髇q$p׬.Q3zLZ_A,aXcf`f1ӯ8g9G=⚹1}Y]$&l4Xo&b'rĐ+Q~bxn6Y_Dƌ-mlVhk;ܻa#;c80s݆]B}ѥM.mmfilsIJ*:')+eFSI,-9$!%4HRPTUҰJJjm\KR-$5$P{O2&FbV&Iݒ3ZHH5|ǾH-512%7C7#AHFѴ\jFr nlwce11ٍant']OユTuMe.+Zh\AtpaL"8udrlwb߹XFC4} p;jA[n֠ۇjRe f,J^QU`dc;R.Ŷ̰]dm.+m YOdVDHӾ.{{)e":k;HWB7~{1R#ܣG~sۇsqg>HC7X8qe%^J,2IMe$mlwn{IaCPİ-|4i(4g걯|aHfLwqcq=_7pƤ!:Vib oL~쿿@@!:#؎xO$'=v{w.ו{r^wCe f|2q{1|Z^&ii^E(Ҝ1k< ?^)_K(   2http://www.curatores.info4http://www.curatores.info// 0DArialngsVera Stt& 0"DMonotype SortsStt& 0 DTimes New Romantt& 00D[SOes New Romantt& 0@DBitstream Vera Sans Mono 01PDWingdingsVera Sans Mono 0 A .  @n?" dd@  @@`` <4x_:          %& ) + - 2  689:;= @ADEFGHIJKLMNOPQRSTUVWXYZ[\]b$u:Qi![U#b$#o2EKpGA#2$ʞrx%4d2$r)k"P}Ka>hh2$` )4ԏ  b$v@WtDa] b${mD6uwf4 {;4b$fs)h#Ve~Eob$Sӊ_~|A3;Ub$W706ůb$eCnG!?XG@_S2$LxUbH|Uw}2$f_`aAH^ԼTwwy2$Ѓ Zsb$ LR82bc2$.1"w̮e4KE 0AA0 f33@8 @ʚ;ʚ;g4VdVdW 0ppp@ <4dddd@k 0t& <4BdBd@l 0tg4UdUdtY 0p@ pp0___PPT10 ppR___PPT94,H(( (     ( (*@  ?  O  =8 HELSINKI UNIVERSITY OF APPLIED SCIENCE DISTRIBUTED SYSTEMS CONSISTENCY AND REPLICATION - THE ORCA LANGUAGE - by Erkki Jyrkknen & ke Tyvi fP) 2bb> 3           #PRESENTATION PURPOSE AND MOTIVATION$$(|  To present a programming system allowing processes on different machines to have controlled access to a distributed shared memory consisting of protected objects. Reference: Bal at al.,1992; Bal et al., 1998 and referenced in  Presented in Distributed Systems Principles and Paradigms by Tanenbaum and Van Steen. RZZZ&$     MINILESSION AGENDAtSpeaker introduction - 2 minute Minilession  10 minutes The Orca Language Management of Orca  objects Minilession 2  10 minutes Causally-Consistent Lazy Replication Summary  3 minutest9" ." %" 9.%        SPEAKERS OF THE DAYtLecturer on mini-lessons one and two: Tyvi ke CEO of Curatores Ltd.  a company specialized in databases. More information available via Internet at http://www.curatores.info. 37 years old and not single. Adult engineering student having completed a degree in a private educational Institute of Information Science (Atk-instituutti). Has completed over 180 credits at Applied University level and is in charge of Curatores Ltd s DBE R&D.T&P PP& &       Z    R        0 SPEAKERS OF THE DAYLecturer on summary: Erkki Jyrkknen At the moment working on his B.Eng., and originally graduated as an Automation Fitter from AMIEDU. Specialized on automation installation. 38 years old, single and does not own a dog. HT      .  The ORCA Language Background: Based on Modula-2. No pointer or aliasing. Array bounds are checked at runtime. Important features: Shared Data Objects. The fork statement.n P* P *   Passive objects: No threads to which send messages. Processes access object s internal data by invoking its operations. No property inheritance. Rather object-based, that an object-oriented language.,   The ORCA Language The ORCA Language Operation consists of guard & block-of statements: A guard guards an operation execution. When true, a block-of- statements following are executed.63PaP3 a    Example: Stack creation s, t: stack; Pushing onto the stack s$push(k); See next page example on how Object Implementation  stack works. P" dP " P" dP " PDP   D&=  H The ORCA Language   The ORCA Language fork-statement Used to create a new process for I in 1& N do fork foobar(s) on I; od;N, +@D      IDEA is to create n new process, that run in parallel. Each process can push and pop to the same stack s in a shared memory system.*g   The ORCA Language |Operations are atomic and sequentially consistent. Keeps the paper pile in order although many people were about to use it.JP%" PI" P n  }  The ORCA Language ORCA Integrates shared data and synchronization in a way similar to entry consistency: Mutual execution synchronization guaranteed via critical section. Condition synchronization via guards.LRdhRh   $Management of Shared Objects in ORCA%%($ Object management handled by ORCA runtime system: Works on broadcast and multicast systems and p-2-p networks. Handles object replication. Migration. Consistency. Operation invocation.P     ;Object states are a single copy or replicated in multiplex.,** < $Management of Shared Objects in ORCA%%($ Object replication on a local or replicated computer: Reads are done locally. Increased parallelism (c). Else all operations are send to the object. Decrease execution time (a) or causing wait time due to blocking (b).^7GF7  $Management of Shared Objects in ORCA%%($ kObject replication on a local or replicated computer: Overhead due to keeping replicates consistent (d). 074lk $Management of Shared Objects in ORCA%%($ $Operation on a program execution: Compiler calls a runtime operation invoke_op(& ). Action taken depends on given parameters and platform support.>"1@"q&E   E  =invoke_op ( object, operation, parameters, read-/write-flag);& 2>  5 $Management of Shared Objects in ORCA%%($ $Management of Shared Objects in ORCA%%($ $Management of Shared Objects in ORCA%%($ FUNCTION ON MODEL 1 Reads done locally. Runtime system broadcasts invoke_op(& ); block until op completed. AIM To use reliable totally-oriented broadcasting primitive. F.x. Amoeba system sequencer.#3\#39nB   ]  $Management of Shared Objects in ORCA%%($ FUNCTION ON MODEL 2 A primary copy selected. Send the message to primary copy of the object first locking and updating it. Primary copy sets the subsystem locks, updates copies and releases locks. AIM To use primary-based protocol.h$ $Management of Shared Objects in ORCA%%($ Replication decision  single copy or not? ORCA has a process, which has got all objects. On forks other computers are told of the event and child s parameters Each system calculates cost and based on result object is either replicated or revoked. Each system comes into the same conclution and its being migrated or discharged via this mechanism.6+P1P+1&   : /Summary on Management of Shared Objects in ORCA00(/ How sequential order is achieved? In a single copy state all operations are automatically serialized. For replicated objects writes are ordered either by totally-ordered broadcast or by the primary-based algorithm. Reads are committed as interleaved reads.&"  "Shared Object Optimization in ORCA##(" By synching, when an operation is started No broadcast until someone asks for the object. E.g. in entry consistency or Lazy replication. Suspending the caller in a transparent way, while doing a broadcast that does not return a value.n*Z0Z0ZbZ*00b     Summary on Mini-lesson One ( lGood software engineering practice Encapsulation of objects. Shared data. Simple semantics. Synchronization.F#ZJZ#I m  {Uses release consistency as efficiently as possible Works in totally-ordered broadcasting or uses primary-based algorithm.|Z| | !$Causally-Consistent Lazy Replication%%( % "Summary on Consistency How sequantial consistency is achieved? Sequential consistency requires that: 1. All operations are executed in order. 2. Every write operation becomes instantaneously visible throughout the system. DQZ{ZZ(.    #THE END1The end has come. This is the end my friends.22 2 /%&'()*+,- . / 0 1 23456789:;<=>  0` ff3f3` ffff` gggGGG>?" dd@,?" Kd@ pd @pA`pd n?" dd@   @@``PR    @ ` ` p>> U M p (  T 1  "1   BC1DEF ?Z B 0Z @1   BB C DEF?rA r @\    B+ C DEF?v*  v @    BCIDEF??H\ @ I  Z|vgֳgֳ ?"  TMuokkaa perustyyl. napsautt. U  T`ygֳgֳ ?"  [Muokkaa tekstin perustyylej napsauttamalla toinen taso kolmas taso neljs taso viides taso,    \     `|gֳgֳ ?"``  ^*      `gֳgֳ ?"`   D*     `gֳgֳ ?"`   D* H   3 A",z :    <": q 2Erkki.Jyrkkanen@elisanet.fi Ake.Tyvi@edu.stadia.fi33$  <":g |Erkki Jyrkknen Ake Tyvi, Z  Bd޽h? ? gggGGG80___PPT10.- _ ELEGANT   0     (   T 1   "1    BC1DEF ?Z B 0Z @1    BB C DEF?rA r @\     B+ C DEF?v*  v @     BCIDEF??H\ @ I  ZYgֳgֳ ?"  PMuokkaa perustyyl. napsautt.   TO&gֳgֳ ?"` @   \(Muokkaa alaotsikon perustyyli napsautt.) )   `gֳgֳ ?"`` & ^*     `xgֳgֳ ?"`   D*    `,gֳgֳ ?"`   D* H  3 A",z :   <\": q 2Erkki.Jyrkkanen@elisanet.fi Ake.Tyvi@edu.stadia.fi33$  <H":g |Erkki Jyrkkanen Ake Tyvi, Z  Bd޽h? ? gggGGG80___PPT10.-ht 0 {0 (     0(& P   & P*    0<.&    & R*  d  c $ ?  &  04&  0 & [Muokkaa tekstin perustyylej napsauttamalla toinen taso kolmas taso neljs taso viides taso,     \  6:& _P  & P*    6?& _  & R*  H  0޽h ? 3380___PPT10.E- J ,8(  , , 0P9 P   9 >*  , 0L9    9 @*  , 6(9 _P  9 >*  , 609 _  9 @* H , 0޽h ? 3380___PPT10.I- 0  &(  r  S  }   t  C LA4Stadia_vaalVih_kirjeeseen,Y"H  0޽h ? 33___PPT10i.E-\.+D=' = @B +  0 P0(  x  c $T&  & x  c $& & H  0޽h ? 33___PPT10i.G-P+D=' = @B +  0 (:(  (r ( S     ( S f  "p`PpH ( 0޽h ? gggGGG___PPT10i.I-`u+D=' = @B +}  0 4$(  4r 4 S    r 4 S   H 4 0޽h ? gggGGG___PPT10i.J-{+D=' = @B +}  0 8$(  8r 8 S 4   r 8 S   H 8 0޽h ? gggGGG___PPT10i.N-#+D=' = @B +W  0 nf<(  <r < S    x < c $    r < S ԟp   R < C *Aj0283616 H < 0޽h ? gggGGG___PPT10i.P-P#f_+D=' = @B +<  0 SK|(  |r | S      | S 4   FConsist of language, compiler and runtime system sharing the objects.2 <  <  G  | c $   1 v | c 6Aj0149481/   H | 0޽h ? gggGGG___PPT10i.-NW+D=' = @B +  0  @(  @r @ S <   r  @ S 9#   r  @ S H9P , 9 H @ 0޽h ? gggGGG___PPT10i.S- +D=' = @B +  0 P T(  Tr T S l(9  9  T 0)9MY HOBJECT IMPLEMENTATION stack; top: integer; # variable indicating the top stack: ARRAY[integer 0..N-1] OF integer # storage for the stack OPERATION push (item: integer) # function returning nothing BEGIN GUARD top < N DO stack [top] := item; # push item onto the stack top := top + 1; # increment the stack pointer OD; END; OPERATION pop():integer; # function returning an integer BEGIN GUARD top > 0 DO # suspend if the stack is empty top := top  1; # decrement the stack pointer RETURN stack [top]; # return the top item OD; END; BEGIN top := 0; # initialization END;0 2   T B 99T;Y  CCRITICAL REGION T Bp>9l  9GUARD33  T # BC0DEFA|00 @"`mgRB  T@ s *D|   T 3 BC0DEF|00 @"` g  T # BC=DE FA|==@"`c   T 3 BC0DEF3f|00 @"`}J T 3 BC0DEF3f|00 @"`c J  T 3 B CDEF A3f|   @"`2 T # BMCDEF A3f| MM @"`S  H T 0޽h ? gggGGG___PPT10i.X-MS+D=' = @B +    0 $` X(  Xr X S ?9  9 r  X S @9  9   X S \J9p  9 "P@08XH X 0޽h ? gggGGG___PPT10i.Y- +D=' = @B +(   0 ?7 h(  hr h S \U9  9  h S U9  9 "P@08Xv h c 6ABD18201_~ Q   h <e9]3 f} B BASE, BOTTOM   h <8g9f  9TOP h  BC{DE FA|{@"` f  h  BC0DEFA|[00 @"`9 h <D`9   H PAPERSTACK" H h 0޽h ? gggGGG___PPT10i.\-eMl+D=' = @B +}   0 t$(  tr t S '   r t S P@  H t 0޽h ? gggGGG___PPT10i.^-+D=' = @B +]   0 tlx(  xr x S 8W   x x c $B   r x S H;p p  X x C 0Aj0241573[1]C nH x 0޽h ? gggGGG___PPT10i.-w+D=' = @B +=   0 TLP(  r  S \9  9 r  S p   X  C AA~ `  X  C A .  +H  0޽h ? gggGGG___PPT10i.-C+D=' = @B +  0 ,(  r  S dE+  + r  S ɚ  +    `0e0eA  i`  +X  C A  P +H  0޽h ? gggGGG___PPT10i..T +D=' = @B +  0  X(  r  S ;   r  S L'  +    B8c "`F *      rgֳgֳA ?BD21313_ Y   rgֳgֳA ?BD21313_ @   rgֳgֳA  ?BD21313_m }    rgֳgֳA  ?BD21313_m H  0޽h ? gggGGG___PPT10i..@+D=' = @B +  0 *"(  r  S T  + `  S ͚p Y  pFUNCTION Lock the object. Invoke the operation. Unlock the object. AIM Invoke any remote invocations temporary.Z :. : ) q    `0e0eA  +H  0޽h ? gggGGG___PPT10i. .0G@+D=' = @B +  0 2*`(  r  S l  + h  S {   FUNCTION Make RPC. Remote performs the operation. It is all the same with models (a) and (b), if operations are reads or writes.P )Q ) P     `0e0eAp  +H  0޽h ? gggGGG___PPT10i..з:+D=' = @B +  0   (  r  S P+  +   # l0e0eA  ? `  +x  c $      `0e0eA  /  H  0޽h ? gggGGG___PPT10i. .a+D=' = @B +  0  `(  r  S    r  S +P   v  c 6A BD18212_?   H  0޽h ? gggGGG___PPT10i..`;+D=' = @B +}  0 $(  r  S    r  S   H  0޽h ? gggGGG___PPT10i..NZ+D=' = @B +}  0 $(  r  S 5   r  S |?  H  0޽h ? gggGGG___PPT10i..@*)+D=' = @B +}  0 $(  r  S Ġ   r  S   H  0޽h ? gggGGG___PPT10i..@R+D=' = @B +  0 @(  r  S 8N   r  S D]#   r  S ,'       rgֳgֳA ?j0301252 j :H  0޽h ? gggGGG___PPT10i..0)~+D=' = @B +  0 R(  r  S s      `0e0eA  ?{ H  0޽h ? gggGGG___PPT10i..po+D=' = @B +}  0 $(  r  S ԭ   r  S   H  0޽h ? gggGGG___PPT10i..@|p+D=' = @B ++  0 B:(  r  S u   r  S $  R  C *Aj0186002m o   <p@ 6D.E.I.  <HJ 6D.E.I.H  0޽h ? gggGGG___PPT10i..D-E+D=' = @B +  0 @(  X  C       S   0    H  0޽h ? 3380___PPT10.E-W  0 @(  X  C       S -  0    H  0޽h ? 3380___PPT10.._  0 P(  X  C       S |  0    H  0޽h ? 3380___PPT10..Н  0 `(  X  C       S   0    H  0޽h ? 3380___PPT10..Н  0 p (   X   C        S `T  0    H   0޽h ? 3380___PPT10..Н  0 $(  $X $ C      $ S <  0    H $ 0޽h ? 3380___PPT10..Н   0 ((  (X ( C      ( S D  0    H ( 0޽h ? 3380___PPT10..Н  0 ,(  ,X , C      , S >  0    H , 0޽h ? 3380___PPT10..Н  0 0(  0X 0 C      0 S   0    H 0 0޽h ? 3380___PPT10..Н  0 4(  4X 4 C      4 S ~  0    H 4 0޽h ? 3380___PPT10..Н   0 8(  8X 8 C      8 S   0    H 8 0޽h ? 3380___PPT10..Н   0 <(  <X < C      < S   0    H < 0޽h ? 3380___PPT10..Н   0 @(  @X @ C      @ S 3  0    H @ 0޽h ? 3380___PPT10..Н  0 D(  DX D C      D S $  0    H D 0޽h ? 3380___PPT10..Н  0 H(  HX H C      H S Lv  0    H H 0޽h ? 3380___PPT10..Н  0  L(  LX L C      L S a+  0    H L 0޽h ? 3380___PPT10..Н  0 0P(  PX P C      P S T  0    H P 0޽h ? 3380___PPT10..Н  0 @T(  TX T C      T S   0    H T 0޽h ? 3380___PPT10..Н  0 PX(  XX X C      X S +  0    H X 0޽h ? 3380___PPT10..Н  0 `\(  \X \ C      \ S +  0    H \ 0޽h ? 3380___PPT10..Н  0 p`(  `X ` C      ` S |+  0    H ` 0޽h ? 3380___PPT10..A  0 d(  dX d C      d S X+  0    H d 0޽h ? 3380___PPT10..A  0 h(  hX h C      h S +  0    H h 0޽h ? 3380___PPT10..A  0 l(  lX l C      l S x+  0    H l 0޽h ? 3380___PPT10..A  0 p(  pX p C      p S D+  0    H p 0޽h ? 3380___PPT10..A  0 t(  tX t C      t S 1Oh+'0T hp    $,Dia 1r0100034@edu.stadia.fiELEGANTr0100034@edu.stadia.fi39Microsoft Office PowerPoint@>|@QE-@.GSg  )'    """)))UUUMMMBBB999|PP3f333f3333f3ffffff3f̙3ff333f333333333f33333333f33f3ff3f3f3f3333f33̙33333f333333f3333f3ffffff3f33ff3f3f3f3fff3ffffffffff3ffff̙fff3fffff3fff333f3f3ff3ff33f̙̙3̙ff̙̙̙3f̙3f333f3333f3ffffff3f̙3f3f3f333f3333f3ffffff3f̙3f3ffffffffff!___www4'A x(xKʦ """)))UUUMMMBBB999|PP3f3333f333ff3fffff3f3f̙f3333f3333333333f3333333f3f33ff3f3f3f3333f3333333f3̙33333f333ff3ffffff3f33f3ff3f3f3ffff3fffffffff3fffffff3f̙ffff3ff333f3ff33fff33f3ff̙3f3f3333f333ff3fffff̙̙3̙f̙̙̙3f̙3f3f3333f333ff3fffff3f3f̙3ffffffffff!___www000000*0000000*0000000*0000Q0000000R000Q000Q000Q000Q00*0)0)0)0)))0)))0)0)0)))0)000*0000000)000*000*000*Q0000000000*000*0000000*000*000*Q000QQX0X00Qy00Qy0R0RtX0Q00*000)yQ0QX0yyQ0ysQQX0yy0*0000Q00QX0yQ0Qy0QQy0XQ0Qy000Q000000*0000000*000*000*0000Q000Q000Q0000000Q000Q000Q00mCmCmCCmCmmmCmmmmCmCmmCmmmmmCmmCmCmmCmmCmCmCCmmmCmCmmmmmmCmmmmmmmCmCmmmmCCmmCmmmmCCmCCCCmCCmmCCmmCCCmmmmmmmCmmmCCCmCCCCmCCmmCmmCCCCCCCmmCmmCmCCCmmmmmmmmmmmmmmmmmmmmmmmmmüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüü0*00Q000Q000Q000Q000Q000Q000Q000Q000Q000Q000Q000Q000Q000Q000Q000Q000Q000Q000Q000Q000Q000Q000Q000Q000Q000Q000Q000Q000Q000Q000Q000Q000Q000Q00Q000R0R0R0Q0R0R0R0Q0R0R0R0Q0R0R0R0Q0R0R0R0Q0R0R0R0Q0R0R0R0Q0R0R0R0Q0R0R0R0Q0R0R0R0Q0R0R0R0Q0R0R0R0Q0R0R0R0Q0R0R0R0Q0R0R0R0Q0R0R0R0Q0R0R0R0Q0X000*000*000*000*000*000*000*000*000*000*000*000*000*000*000*000*000*000*000*000*000*000*000*000*000*000*000*000*000*000*000*000*000*000*00000R0Q0R0Q0R0Q0R0Q0R0Q0R0Q0R0Q0R0Q0R0Q0R0Q0R0Q0R0Q0R0Q0R0Q0R0Q0R0Q0R0Q0R0Q0R0Q0R0Q0R0Q0R0Q0R0Q0R0Q0R0Q0R0Q0R0Q0R0Q0R0Q0R0Q0R0Q0R0Q0R0Q0R0Q0R0R0000Q000Q000Q000Q000Q*000*00Q000Q000Q0000*00Q000Q000Q0000*0000000000Q000Q0000*000*000000Q000Q0000*00Q000Q000Q0000*000*00Q000Q000Q000Q000Q00Q0R0R0R0R0R0R0R0R0R0R0RQyyQR0R0R0R0R0R0RQyRX0R0R0R0R0R0R0yyQ00ytX0R0R0R0R0RQyQyyyQR0Q0R0R0R0R0RQyRX0R0R0R0R00Qy01QyQR0R0R0R0R0R0R0R0R0R0X000*000*000*000*000*0yQ00*000*000*tQ000*000*0000yyQ0*000*000*y00*000*000*RQ000*000*0QQ*000*000*000*000*00000R0Q0R0Q0R0Q0R0Q0R0Q0yyR0yyR0Q0R0Q0R00Qy0R0Q0R0Q0R0RRQR0Q0R0Q0R00sy0XtQ00R0Q0R00Qy0R0Q0R0Q0QRy00R0Q0R0Q0R0Q0R0Q0R0R0*00Q000Q000Q000Q000Q*0000*00Q000Q000yQ0000Q000Q000000000Q000Q000yQ0*0000000Q000yQ0000Q000Rs0*0s00000Q000Q000Q000Q00Q0Q0R0R0R0R0R0R0R0R0R0R0RQQR0R0R0R0R0Rty0R0R0R0R0R0Q100yR0R0R0R0R0Rty0R0Ryy0R0R0R0RRy0R0R0R0R0000RR0R0R0R0R0R0R0R0R0R0X000*000*000*000*000*00QyQ000*000*000*yQ000*000*000*tR0y00*000*000*yQ000*yQ000*000*RQ000*000*00tR**000*000*000*000*00000R0Q0R0Q0R0Q0R0Q0R0Q0R000R0Q0R0Q0R00Qy0R0Q0R0Q0R0Q0XýR0Q0R0Q0R00QX0R00yy0R0Q0R00Qy0R0Q0R0Q0R0yýQ0R0Q0R0Q0R0Q0R0Q0R0R0000Q000Q000Q000Q0000sy*000000Q0000*0*yQ0*00Q000Q0000*00RQ000Q000Q000yQ0*0Q0Q000Q000yQ0000Q000Q00*00Rt0Q000Q000Q000Q000Q00Q0R0R0R0R0R0R0R0R0R0R0yyyQR0R0R0R0ytyyyQR0R0R0R0Rty0R0RR0R0R0R0R0RyyQR0R0R0R0RRy0R0R0R0R0Ryy000yyR0R0R0R0R0R0R0R0R0R0X000*000*000*000*000*00yQ00*000*Qüüü*000*000*yÙQ00*000*000*tüÙy00*000*000*RQ000*000*00ÙQ*000*000*000*000*00000R0Q0R0Q0R0Q0R0Q0R0Q0R0QQXQQ0R0Q0R0Q0R0R0R0R0R0Q0R0Q0R0Q0XytR0R0Q0R0Q0R0Q0R0R0R000R0Q0R0Q0R0Q0R0Q0R0Q0R0Q0R0yyÙQR0Q0R0Q0R0Q0R0Q0R0Q0R0R0*00Q000Q000Q000Q000Q0000*00Q000Q000Q*000*000*00Q000Q0000*000*00Q000Q000Q0000*000*00Q000Q000Q0000*00Q000Q000Q0000*000000Q000Q000Q000Q000Q00Q0Q0R0R0R0R0R0R0R0R0R0R0R0R0R0R0R0R0R0R0R0R0R0R0R0R0R0R0R0R0R0R0R0R0R0R0R0R0R0R0R0R0R0R0R0R0R0R0R0R0R0R0R0R0R0R0R0R0R0R0R0R0R0R0R0R0R0R0R0R0X000*000*000*000*000*000*000*000*000*000*000*000*000*000*000*000*000*000*000*000*000*000*000*000*000*000*000*000*000*000*000*000*000*000*00000R0Q0R0Q0R0Q0R0Q0R0Q0R0Q0R0Q0R0Q0R0Q0R0Q0R0Q0R0Q0R0Q0R0Q0R0Q0R0Q0R0Q0R0Q0R0Q0R0Q0R0Q0R0Q0R0Q0R0Q0R0Q0R0Q0R0Q0R0Q0R0Q0R0Q0R0Q0R0Q0R0Q0R0Q0R0R0*000*000*000*000*000*000*000*000*000*000*000*000*000*000*000*000*000*000*000*000*000*000*000*000*000*000*000*000*000*000*000*000*000*000*00RyQyRyQyRyQyRyQyRyQyRyQyRyQyRyQyRyQyRyQyRyQyRyQyRyQyRyQyRyQyRyQyRyQyRyQyRyQyRyQyRyQyRyQyRyQyRyQyRyQyRyQyRyQyRyQyRyQyRyQyRyQyRyQyRyQyRyQyRyQy՜.+,D՜.+,d   ( 0  Näytössä katseltava esityswww.stadia.fi/~0100034 "ArialMonotype SortsTimes New Roman宋体Bitstream Vera Sans Mono WingdingsELEGANTDia 1$PRESENTATION PURPOSE AND MOTIVATIONMINILESSION AGENDASPEAKERS OF THE DAYSPEAKERS OF THE DAYThe ORCA LanguageThe ORCA LanguageThe ORCA LanguageThe ORCA LanguageThe ORCA LanguageThe ORCA LanguageThe ORCA Language%Management of Shared Objects in ORCA%Management of Shared Objects in ORCA%Management of Shared Objects in ORCA%Management of Shared Objects in ORCA%Management of Shared Objects in ORCA%Management of Shared Objects in ORCA%Management of Shared Objects in ORCA%Management of Shared Objects in ORCA%Management of Shared Objects in ORCA0Summary on Management of Shared Objects in ORCA#Shared Object Optimization in ORCASummary on Mini-lesson One %Causally-Consistent Lazy ReplicationSummary on ConsistencyTHE END Käytetyt fontitSuunnittelumalli Dian otsikot 8@ _PID_HLINKSAphttp://www.curatores.info/._0r0100034@edu.stadia.fir0100034@edu.stadia.fi  !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~Root EntrydO)PicturesCurrent UserSummaryInformation( UPowerPoint Document(DocumentSummaryInformation8