ࡱ> F$T*m1i?;JFIFXCREATOR: XV Version 3.10a Rev: 12/29/94 (PNG patch 1.2) Quality = 75, Smoothing = 0 C    $.' ",#(7),01444'9=82<.342C  2!!22222222222222222222222222222222222222222222222222 " }!1AQa"q2#BR$3br %&'()*456789:CDEFGHIJSTUVWXYZcdefghijstuvwxyz w!1AQaq"2B #3Rbr $4%&'()*56789:CDEFGHIJSTUVWXYZcdefghijstuvwxyz ?Lm.-78b;AZ_h_h? b BRt]'9s4qx{Ho!,<뢹&pq\HYcXD'$4Zc@H<{1 쨮yNB2/lt8@smȕZo ğRgm)P}?@+)ӕiӔS^k:kɨEoȯ4-c<m_kbE#O営kPܦ)?`+[F?\MһxuL7ӫ(S❟TtWf?"7W?ѿ"SG?sm|+h_kb>E c-ϟEm|+lQG0Ⱦ}Eoȯ4-ϟE(܃O>ƏEoȯ5ET"{I1ѿ"e[ۦȓn8ʃ^^o.חPNpZ^Lބ; ȹiڶ+.Z60_OKwlw[9DsgK)g@p*\ǨF>YI?׸U~-uVvw+cx~" Tu 7W=OC<%e)>گ?c\(u !~Tĺ)^wS 4gxS [уߞHZ"Vnc?wWO({f7zIèn;aֵ*tN6WPlc P.m>H+,/A+kn_B~A=x, a!G5S T]WMIK/,;_ǯڴ̴=]/?,j~ֽ1dEt`*rZR[5KM+egr3I?ļmMٰ Ildx'5kz`մǷ A9a##7}:&PRh_;[#W[oSzZF;QCOpj} d[3hŠ(^]_CW7m57=u&VX{Xԏº + ^[Sտ }^&Sd&w#V58Eǹvw6QEty_ۿB٧b@[w}*u)Le&'o<]}ݴwL3UǸ^ciiZwm_=s_?,u%VGY"71eSMW_Tk+-X8JjqHq6wr^EuHFGF-B+s220AG^o\j/sf"H2xsZxnVGe*Q+ YҔ:kCż7V"qS޼\ЦfKW?e>MW_Uϋ4i-淹h\0(\XׄJKfkKA k~z.?S6~/=Uy*}H#e[5ۧ`f#}s{ey=iYZ4QQ\&o]7y] W?O1N+z30}ԟ_*Mtu|/X׭ZOTcR.4Kk;슊~?J,Bزm?O󯟫OK'έ$z[ Gj'GA=+MW_Tk+>t}w^d5è%H#?һ:5>.H=5~"5m1w+ !b $~5OÞ HII;n:w^ep%/2;=?5U_*?}}?2]?m7x] W%^Ũ®ɷҼJJ7 FZQ^QEQ[ߋGXFIecP:E1laQ^ l4u+k G;Wa⼪M=k6:j8#]B`?v>4aw=JRd`T2JdzaO@]- (0( RQji ʄ abm->A?՛| =g=@ $~a{Y'O) 7XأVVze"((((kxTPD6^KJk?gHֵ<1b(ȟz_KϧK"z+ 7"dOEc8-}n-r~xip3ֺ]g_/u/;uhn#1n7`u+*iHbܱ+d$g_o^|,;ʷЧ$*M(~MG]e>|1C UU;hW:Ƣy/nʬhT~" ;Wt_ϥ hcYvHYF=~6_Ԣ.('ԆǥsuԾ!듴b2MsXf((Yw\Ҿ"xAk\ v7.{</?f<ķl[$2d|Xgg8VDfo3nI=q R$Jwge71M}ETQ@}UM3ឌ;|+HXfU-4 ÷RQ-E#J8#::?R"G5ohwrjЃ-5DerAé V|_|+wHyȃ[:| ![-ɴҶ:P1M\G|T[t Uc#$Dj_}۳Oingyyf1,NI$I=&YQHaEPEPEP_Kŗèg2F>ƾhO +.\٠Ӿ)' WR3OfwnH'XA{nxHinVzv־m>'o Qf"Տtx Ԩuc/Cokxiځ{p2o@0#cƼS}m1D?5|ND5xYeYNAD]x^2feV'?(rMOWs (6 ( >O-'1w]-_>+ [Im9bD'XFjM5+uMVP(w X4n{j0i}]Nc:dxdq3P 7L<f`ȼť)ߞ ֋?d[e=B%\ KghpcN+ks7ڽ%ԥdW8€3q]/%^2cHW ώB::68ŭXQE (/zzEu*ƾu Kms$1D?E|(cc#Dmc045>'K-b6 Sd@9RF?R2ڱF  7ڟ}^܋o5,,7o9oHEmcV{3?Jŝ@Lܰ^~T&"mH8®Gt"#Y V2!4( DEڪJ;;gbYI'h(0( 2_V[KE4LyV8C /|3ŶTud!ET9˫,g WG9Eu7-Ҍ6n#C#RpN3@"Gv{;kHm--#4؊7a9984X.+"ht;5 [BWpAw F+6PxO=yr "H<{GPF[7'H xMd%5/%\D [|!wH9tcQ]mï fOmN,Xq18Fh_b^UAseV φݎ3@]W[&WM}i3q{ Es#23JO ]?Ax.&)"o`;[܃ӥtbQ][K+; = x\*cFšH#7SjieYP=7r~eF?bG-V[ $zyc9gx3͞u!v @7sуEmK-r &TF X0duٵ$w O[K;'*C!lv4Q]K|9b] i4R8,j6QY[D9?C}L鲥0IPfbGRp22хEoMz[!HܬҬlbFC36[ =7V/O8yP9trSY8ѝUFI=j 4^Nn Ty, @e.s4W_m&%̆ JK$4Z-PǏo'C C<lWvQlk)lY* T]%t (Mv$l`ڶYLH Jҡ2$T1kOZ;37df1Ve,_GAEzOk=^@ x؅9I9'9' B}bqiqC,Hr< (, WS,Mjp3 G)}lCʃUp sqHg-@ ‚Fȳqb;U yPvP>J};|{ ʻU "=@('Kau4H=K@` ޠk-qA&YméN1õP.k_ie1IZİm Avg*s0e&y~;MvKX2L%e8p(@;[< >M<m*2e̅w0:qd2Z>T #  Frvko3}![v^+X4e;P fG=sp0Q@QUaapw99Pmr/H\Dgzu;ʐT2"~ 2-1ig[#JeYH1'-Ok(.@CA'<@ Q PErXrqwCDFXTܒE"PGɢY|EO*[hID(.]'bNI9& .,xⷁ%D+x$~Sڣssd( "ڄR4yweGX@xeU˶ٹ;Iqwނۉ]b .NމSܞ bP.w%~ŒRJZw/*_hrw<ѾqLv S997tƈ[\\y쨌_b7w8~HrB̩}Jm7|!=qsejiOۧ=o ,Z9|;_P 6~PΑ{.k7!i_D1U~Qq#b `OzR:v@N9uyj xεH5 CNu\W?1qƴZS7" (4&]cCFV2"Lκ|oW#MD xL܂o&N6>#tjĽ Y̜o"$@7|nVkQ̚8C vu򾇐cǚAL!JUw e)|sy[}4U}̏hR[$Rw!B?#Vokz_d^P^A1P)bqR$3o*7տMNVíۦofUB[H[N8fZv 8(dȸ|qaZ(A9|Mزh{3ȵ 7@ mY@YugwsT˥$ %#3L@XjcAYTѦXB?req3Dx~so >YxqMshEfe֘}m9s3< J,7͌dD2|bI*gՔQ-IN1,\p6ګ@/N# o`;z$ӣ-@l^hy05W e1w(-t |)hO{.$ 7kK60ӮQɷel0+~ <ǹjFVcS=ЭI/^8qzGÍXj+WAsH! a֭ġJ6"TB3o_{[$x $;8I\S"{q%k(1 7u@G:ƚႇ 3$X2ȓYY#.pUMXYJbڐ1-}}nTsqroyoݩdZfڅbU5U%FP@zm|0p9CYԚb6-(iȷM4Ns=.'UQ3Z-QCwֳv %GltfrF+~$-iFFفXrCͤZ0L퓥3Q7qwx'"򦦉5͜ѕaԮ4迩Y'ۀ 蚵8[6PCi[&߂D b*y$$%LH 2ߏ_OC֯tj{G߈h+?zO͓z M<{,7[S"gƫߍ'6se )+yobKP U][T4b5±?Xʦ!gp (1%fdY&9Qm;ojFeS{U?, IK#d$F;Ww[jDN.HC1(rpfRo:X5H4Ҁ<"úa; p A'&囤ΚHd,JdxjPe!P{X˨mLa5/Ykf%xWuf|;]ɱ|sA.t>[$#xY``\=n@B}Q g?ZpqS&u=,B"G 跘-=`T $Q>?q_q nsԫ6jH{OE5 J miX#g|TK1 ݘdK7#8(8EG07m]|wks3)%4PFBی7?n=+]vBކygj\5v;b74:Hwiy}[Ay兟-2{$BV+2rH +{vYrs|nv°9R;vpGt8T@p[JpB`eBeA·:7pީ߮wonG-B)eABQ ^@RGv8v؟ݸ9T(VfpoWfOλhVc۾'}=( 8tLj` -m"FZ߾~Q8d죀bҶj7x;?=mMcZos\VvkO$0'̊tm(r2!7m`8UVR;A}q3tQm!|4/ɘ\ip.[w{@%V^o v%Pķ[*<=ҧ.4n ،0I'(ԓ#{^]x|nm,rr?*C~h5zrԺPOny0ބ06%3LX`Ga5-yå (zZV4Rnw'#vW{YYڙfA]%(Gv}\~գ۟RS[+~Q٧t9|wf ;9C{]Jmh+xŋ"H䢰mcŵWEgFm>0 Gu0b.A;+@lЁ|jU눕+zpvHy~P`\8;[نQH`Ck'. 7T"aĭ+ w7m+e8='z88mY R&('ņGYPZף)0s%grZN~$i·Ufw 8YR/5\1( ,*4A.Kؘ%.62 !njrq֦M" Yi*Cv_LgktF*n Dk!9 AqwٸI+'tĠTaT՘jL1'PڝJɾKȹXuUE-аƎ7LSAne39Cm(L(zjQ(X3SuC槚݁n̘nC O0;b8 <\Ye٣JJ]qxĬC$>kBl FUPd "`>jIWh<ZvfhrUڝr*p^V v䩵=P{[.%im6=^,W׽yGdZ+HŭջOӊ~YY!M/oR6>Vgvc@0|%뉜|+n~7g- 6֍Hf(ڊJՂEd$:WPJI n[xl*ʪ2:X+fnl: 37.mheܶ) rk%P'~vu,4ͱXF،i;}7<dEL80l'g21Q^4j IpoYV2 Ȁ :Mal)uT˕˸ t`>73 su] 4 |F9̥hIQEˢZDC+0WvK1[s̰2>5l Jvޔ|BZ&UZ4&H*?A%[G+JNiOz)]. @D@Pd*;WujSĚJn*BE9+MCa6HDDÁ nB8,_`r\]2zgp;vڎo4qVm!O39`sacΚxsؼZ58jB'ټ⢐ovL% ' U+=8zjOGKnīq>j.mAT2=glɈ lNΚ\nj,lz3].}h D=o8wU*]ڲ mjv/`2%S06<&jN$c`ASl7PбޢBm VD|Nb^fڗi prMmt!PܺWיW3 4NT&kI.3E6ϢhS;8x JGI^6ofXo8hNk JirpHDDÅj1Y2eM87J@r6"3ţiR 2a)X6$· 3ЫIY g,,tPPɀa(٬mV.eaAhZmCdg&2dd'.Z94Q*+ FDoὑB*c)\LBJ@(H=F|f'!>%P]0c PkSQo7n=ea} >nt迩 f_Ak"U \m UM IUĕKK5g7.k%MҮ=#+ZXzH"ߵN0˖JAt_N2J^BEK DaoAUMNk IDATqex4-{A:& ZdY 3k(Y3Rosbso0v ˬqK1L2X`7̃j}q.2rk 7֓] dV틼YQM5B|Rt 8HD 5GvImK8i bۭ߼~zejQ[p9Dl6 $iKjȬ4'BāteN0\(ͼFKEوe6i3Pk %Ї,^6/IRp2:q@Iͬ`啮Gڍ|c\Iňq{ uR:gii?rHЂWќ:oL& .:㼪?9ƕ˗MV"-UbwhJ |s ~5idžXPBcY@baVtrO^GKk^~c G RuҐ~4c~ŰCteXlэ=PG&a^ :BW/flT":ʬWgJ6N ,-È󭏐Q8q8}-}rd Jyy(ԞEfC;RF"ʈ1i*tҲ{qrm!sֈm^0c\䤕^3nmcx/Dbh1|9G>ݶ9M_ s߅[5Y(a/4Э @EA;aE 3P d%jA4Z kZ26kўi6&_ͷ@AhX%! 7OȩDܴ*jf?@,=,y .LYcx|1KzQMh傀&t>ά4BX!yuF7t6mMx4z|1;o[؅nvo_SD])'D4VnYM{Z+OS' P|ph*k/ lyМk7}oZx/ng䤏Ѵ7_t7 kؑ \3w]'?s:rQ9;@0q[xa%EA[*pWm_vˇ?I2Q1fFH9\iruHJjT{[Ght>f*_/UgVFHmTk]# T*\!q5;D3$Xǰ__ڍl_ -V<g,UE߉rB\~C1P(&=Ѱ~;a'z][`7pӒ촎H + 7;cJgVoS7QRtDta[˕s; 7+;l*s :OoCءt]m3BQL/~xZjB``քe6Ԭ"x6.u8o(Gn7FOM=Z!#+|GMۊ] M hZP ˶EIcHb`+?wacnMN p297B?@\ Fwh[K #ݫX!`:e2#M60n!QUfs5 NMW+7)ZQ-6ҩvbk#l7'@LK9rUY߸cZWAfnahJiYֱC#l0L΅Ρb[s{G`@JV?nW.ՈF[ " pX\u~-31j9[-"X<nߪ&N ߩ]RW^Ys"&s.oRj|+VQr)搕S5ec`ǘ J>aSmXM K! ^%Z!ߺn;l;`yDYUBNAZj>{j).fR4gnuQ{t꺠om:<(k,˟|h1t}IE'+ǂyůc:JHQ=n;PJq5G`>KӤ4Jɪ>C{R֍;M+ZGAI΄Qz.{[(,-1}]Jjaz$%Nvn H[9'>t\ty[tl#g6BWcUN@"'k0LlEgx]p[ز:/ #fKRqjzo p͆l%6W~CQRmSɸ}KND4miTn?,O`,TR.j.̛ lkw;3Iy:ڼ 7 )aH}!<p ~oU:* * br,SŨiRp)? JEuGM3Ce ֋..ohwJXtC:E;cfp[7Y1tx'hͤ.$eGM{E=eڗa܁tn*OG9)N1߽_̫_|[k0(]PhF<PR52in<9r6ng\#(Ia-p]22jWα]Q&Ĝe-2tfiuQ^qlEMME-U`qz&.fe)6m,^Uq 6MKt3vnK< bzqGڂ*d'e"EW:M<噸m[﫷Y!dn`[D@ejZrs\XX J|8'/dJadN`Rg$yD>chp6UEJ\EQĆ\J@ȕgKM9gZ#qpvY-4v%F/|z(6cp[ȦetaqUeIӎ-:OaX{U{~qZlҰχJО2R)̫UY\iZgF &&>\NX*1ufRR J'22).P9+~Ke%aO0m!gFUCH4I=W(]ƶjf;ڳ1Y}Ƶ[ Rp`B͒U p>UY:K5V{\ o /jOQp*cMu@i (8WtTJkKPӘ^ %.3Jΰr8q:6 EH>Tȸ4ߒ&d?gO~ξTv ! gR@b6)VGwU-WVV6M,m`rZNـmkDB9w™+#ry#e:0(I.=dLjw]=In5Y3dy?nf4HlF]RցpG%W-jaÔm2zML4,tu7Q6$ڍk~{xI>(Oz96Eހ\uZW-Y\?E7'n%ه '8GBM$y<[{\d zE vA65'S  Om6m߉0'eî\ykwJR\UYm00_nNrUgem1.s'UGo,à~Ml@[Qm7$[ahrr*("!g4[P-8zrδ4>Ba\aI9y;鄔ñ|DDsǺѶ7 %l6oJ9)!%JST4r$p~ '1s,KQ$\w/69"] `=5qC n#6Y"s,[A5 O)ʴ!.BᜰA663| ~pvSSqt0<,  1EJ<.EciF $E[h&1ː&Nm蕔˖sFdJ~c$D?n,u| rm#u)LFô\Fd'‰`²x3x3O ^"t"E^5x !#)o U]8Ȱޗ]D^kG,Z &T,›͆կS#4Vnu Y72}L/  7Z,|+,|<:bt*THA-KEٗF0S!{4qQj5qJߒ/yo+gt::Tw8|kx/jEj" 9)B Τ5V o)[̓ۦ+%+ݸCdf['R97#`:.M8}L!OptD.! iI'ݦ"_tFw-&rR-6[AB2nf_,Z$(&X`$;GOM5o圌o~nрQK U+c4.G",LTҍ}"!K3겨ij j[!QS1LN5O8hsF iQ] %D|Mk;g\otPf%kc1f;&늨9 ~jo\.?QT:y~ q.NS۶<X:)(fB7%Lj_(%iNn (Hݡc 5 ,Jf43)CpcЧr=II+$L$ʀ0ib#hWN1F8%lZ$;u϶PZ7PMy Vmuy2C8h&Ӡwt ~fXPB)Y##m"sN;4F'XHMuhU /7f\Z'<*vmJk:TN? ߜl8I,.UJBEA ;UpƹƱ '#J7TP2bEu]d}DqbZ'E)d1@4 HjR2(RǠf"DͰRtfXʄȷi0pc:ߎ.l-::KJ+0a rr6 3̓!=uT(Tܚ4OPlG Kc n:n7֗d[KК'jHƯ޳FwJy2whyI%S?9KUXSbWi\بn-帵v7Ig~`I&hv4w̬I%99O  %1 IȚ%oFy퓕-1ۨVZyd}iF8) QX lEu~QҠbr1-2w JJts>hߞ~spd-#uQVn d&:0$Ԛ9)6o"<#M4KL+6G0ډK ]UXR ^&aj)|Z*J#[#ھ0ّR<%S3>܂?}I6*q뾐z~3?|ՙBd )MMLV#L6G>"9cqX"^.j ZAJhhnK4;2^>[h]~-n^7%Mo3.Da[29b!Hy%gn8g`Y?Kg1nd Pe8{=[`P*a n5bh570l2ʡ$}\/㶴]}feg{oIvm9M8H6(PlybMe:|ֽi'/ JtSWf42Ǫ0EUU"X]%IX*8 >l+T}:<} w'C lv~p_'mUK37dlu(WM a25YO>i1%&w9*Gf#gu $'n;耛}gM}(|ۂ׫ҩNZ$Li0+i5l؟,|rr? N[ NvS|zܞ[M[՘i6&e`CPXU:vPs\tEfȷ(h窒\C(-JB9;qPq7p}3ߞ^tJSs6Xg4N&A#ʛ9aN:GF&VlJ!E>F 7J[;m*?%{.ybQ;̥L\ y}_L&q4Ffgqxᐙ (%o> wIԔ)0"qJA}[g\و\2c܍FdL2' Rv@d<*n6lu cKZT,'VOR-yn_& vkΨ@Y&86u+7DQ^pB‰8 at۬p:-$r̙b˾8]u^d6O~.'EteX )hPߐkTgkz2yV:}[sÜr׵"ӯD&Ix%Ҳɺ7oOn_vzXflв؝rA溛S404:6̅&.(LaqWquA=1b3Uݽm۶y?F؞l>s0%ilK 4Qad#JJ̀ /bR&k`~T6tK'10&:&Q$ ITOmn p&>nƁbdN2IfƢ\0I[l %jQ$kA4P9ÐVqh٠\b0"> 7נiPR(5s[|r(|rnq-]dBmtK?ZN\m {|;m>LzEI /,t"zHhyjHِ :p[V4̕0' CڐIOVa:Inq90!@ #llw&Y~=Ѕ>dA| vWk)sv>iRSh~Ų&Ll\LͲ֗,01݈9w+&-vjj@[N!R Ea\A{jw+G ۸j~²>3E+1Ł2tZY p;ԗ _gtdbkd Iy4М&_꼤InF$4}Ia[ٰG om WrRx"hFP80|V?0)eNxHXI&1Ŧ lK:w$Js"u~v7eK:v?a{5ncFKm|QNPlXݨbwdSd\^^08#Xu]2f2)i6EMHAD*I7x)>ܚ"!6%vvuw\]{]9-%#[6^.֕hN;pCr$yqf8Ylca8Q aPiK ]UY-םroN}]sKvUbhi~ncR/B &5$cT$EfmҞSlGVQs~I\8ѕp橃t՟* Ji5"PRNKu0vդvD5NO p@(p|[҄mQt )4-v[QO- WWd&l) ',V*2ȩNѧ %i\(¼L40_hH swo?IB/=fQ OA9a\M :GacF?6Ɗ@'.y9 k3'꼙a |4#pUw ~3qYf$gr0a!(%M8-ZFX.MEY(p&9zjB@B6,_vζ_y|VL4`&4{V& z9kCk.< @s-Q˄B%̕r=x3 'N5j"?Є|o6RkF|*P[k&uiYLYq "E\Pe!H>B$`dTOl -hJ" %f Rd -9 nh$V#)tqKaiV; 9 qx\śY"kO #Ji4t8\c {x.h˫w ܙ7k7ҭIDh%pNV\dhv:-,yy#瓧rrgu2jD8I|ηqw/˸扎tmݴ|OIT|/-Գ9: E[Vw!pXGVԸ& ބNR;z]VPM,M|ବ/z#߶A-f| ;p(BV^X%NoT%m*'dlV_!ͣ\o ";VoEۈ"@,WߵN׿3CҎ[l~dsmjpA,T(Ӕr2jgR5aOhUT\<-}~=귤ѶĘX0ocF|ۢP)_/ۋz;d"5YU”zwb0"5WYΪ+mrSVdƅ/_̈p5- rKn +e7% 0C/pEݓ#ߑ-|~ĴnwߤN[6RK ^FM0u^}!X=%9]r:Nh!Ѕ˚57y{Okm& }US]MK5 @ DI tvFcf*820RɗˢqI9{p}^DIoX'&n,z!+j!t1P_V>z"D"5YUsbaf7ZrgE&+o6Ip.oz;9zzCb[ᬬ[ARW--B>FБvH9l_8 s'oyJJt~E~w7 B6a3~n=Ffl\]POJd6.p&,duL _TOwӄ0\`jQlI*)k?~.$ꍸPс>:db j&$`pHaآxtWB#p"G \AT"oyD&fQݰ8t6wwsȤ~_7OFjrRW}/RM FX,@#1TIr%|C>ߒƶ'CQѵWڡ- ޡp a]-=6f?[ y8Mo^7Ŷh3NV3^P^T.^t+}AVJF U$Z=l#CڅEr}|blqNR dpj!|nYs}ud*p&drҰ#j3´p.E)mPzm)k(oc֟&Ao-ɡi۶Olw"|n{q?[o`6qYCp3b' `Ϫr1&N0q}bd2o/.C8"78總<ݸu㍸ݗFfIqgGbny}3v'%~զi/]aq+7;xu{uY84ڶoũ^=gN?Mz͸m:1.̜m'|nu3?7F;YB06;8WpSgP;[6Dsп{<O pA|{7?se)'n^J8}O-Co/Ɏv+d8['S76 t]\M:so?^m]܆@wv.2wl+}u7nr],1qBHq϶?p>]sګ쒿Whk .n3]hg_7 x<=]?W{ 6+QnνY.H/qs|X=7fw={z;W@BpCöc暲7q%`]г< \-*Rnu1%^ۯ^M$h4t,?ѾWvdɀB#nc/)zj nk8g?w; {GMn]{Yzv;|ޘ'nk/7 :Jp{CqV_krr9)nո=''%3[p`?,thJ=Ih;Mu ->=g62_{cʁIENDB`VV(e %/ 0DTimes New Roman|0Wo 0DHelveticaRoman|0Wo 0 " DWingdingsRoman|0Wo 00DZapfDingbatsan|0Wo 0 R@DMonotype Sorts|0Wo 0PDCourier Newts|0Wo 01c%(.  @n?" dd@  @@`` <4  0! i;. ] F*(i   **3&<+3#F26 $",6" 2$<#"" lP. &*&&3 -  -  - $ 4 6('"( '$#!3() =--7-'" !+,*+ O$+R$T*m1i?;$+$+b$f*=O'Z$+c $0e0e     A@  A1 8c8c     ?1 d0u0@Ty2 NP'p<'pA)BCD|E|| 33@8  , g4CdCd0 p(pp<4BdBd 0Lh<4!d!d 0Lhg4%d%d0p2 pMuʚ;2Nʚ;<4ddddЁ 0:2___PPT9/ 0?F$ 2DC2001 Conference - ToykoO =j? METAXPath( 0(0 ICurtis Dyreson E.E. and Computer Science Washington State University USA(JZ;<GOutline GData Data model XML Query language XPath Metadata METAXPath Future work      F"     2An XML Database Architecture Database Data Model Evolution60s - Hierarchical data model 70s - Network data model 80s - Relational data model 90s - Object-oriented data model 00s - Unstructured/semistructured/XML Innovators Unstructured data models (UPenn) UnQL/Strudel (AT&T) OEM and Lore (Stanford) XML (W3C)< W W>*2Object Exchange Model (OEM)6Heterogeneous OODBs Exchange objects Text description 6""$&Object Representation in XML5Use names and values Ignore types &X denotes object XXML (XPath) Data Model dEach element or attribute is a node Edges indicate nesting Nodes contain information Tree is orderedHSemistructured Data Model LEach element or attribute is a node Edges indicate nesting Edges are labeledIData Models ComparedoInsensitive to text order, whitespace attributes vs. elements Directed graph (many roots, can contain cycles)<0000 I [Captures text order, whitespace, attributes and elements A tree (single root, no cycles) 6 1! 1! ;?Outline MData Data model XML Query language XPath Metadata XML - METAXPath Future work      F"      XPath  W3C Recommendation  1999 Used in XQuery, XSLT, and XPointer Language for selecting locations in an XML document Query Sequence of location steps separated by  / Location step axis::node_test [predicate1]& [predicateN] Evaluated with respect to a context node Results in a node-set (actually a list of nodes!) Step continues from nodes reached in previous stepW:*:   *    P^" 4_   Descendent Axis ExampleAxes that Partition a TreeGAncestor, descendent, following, preceding, and self partition a tree. :G5  XPath Node Test and PredicatesEach node in result-set must pass node test Is this an element node named person? person Is this an element node? * Predicates are further tests (about other nodes) Does node have a ssn attribute? [attribute::ssn] -& 2 "  2 ,'+Example /child::person/child::*/child::lastXPath Examples The dateOfBirth children of person nodes /descendent::person/child::dateOfBirth The last text node /descendent::text()[position()=last()] t)-*  -(, : ?Abbreviated Syntax Think of file path specifications in Unix Year child of dateOfBirth child::dateOfBirth/child::year dateOfBirth/year name siblings parent::*/child::name ../name All year nodes /descendent-or-self::*/child::year //year:E7%1* !  % >8  {@Outline MData Data model XML Query language XPath Metadata XML - METAXPath Future work        F"     KMetadata  Database metadata Schema, security, transaction time (versions) Web metadata Author, language, subject, privacy Web metadata recommendations RDF, RDD, P3P Features Descriptive, but also exclusionary Irregular Multiple Ad-hoc. $ =. $ = aA Movie Database ZMovie data Bruce Willis stars in Colour of Night. Colour of Night premiered 1/Jul/1995. Publication meta-data language English URL http://www.auc.dk publication date 2/Apr/1997 privacy/security  over 18 publication history v1.2, modified 31/Jul/1998 subject Film, Suspense, Thriller namespace http://www.auc.dk/movieDataDTD.xml| M?  ?            Movie Database Queries Metadata only Retrieve information published at Danish web sites. Metadata compared to data Find reviews published in the first week of the movie s release. Metadata and data, but independent Get suspense films starring Bruce Willis.t4A#*4A#*  (#Properties of a Metadata Data ModelLGoal: Same query language for data and metadata User learns  one language Compiler/optimization reuse Challenges: Data and metadata in different dataspaces Query on data should not accidently query metadata Meta-metadata Metadata for metadata Metadata has semantics Data with/without metadata086A2,8 !    ,  fMETAXPath Data Model$   8Data model Reuse XPath data model Meta attribute points to metadata tree  Right angle data model Features Minimal extension of XPath Backwards-compatible^ Y 0 = 0F  k   +ExampleData <?xml version="1.0"> <person ssn="234"> <name>Ichiro</name> </person> URL metadata <source URL= www.wsu.edu/p.htm > Language metadata of person element <language>English</language> Author meta-metadata - language metadata author <author name="Suzuki"/>*L "$0      0 bJ,-/Sharing and Excluding Metadata Meta property points to metadata for a node Shared pointers ==> shared metadata To share with child Copy pointer To exclude from child Duplicate excluded portion Copy remaining shared pointers~,$ :($ :  1METAXPath Queries$  XPath plus level shift operation meta axis ^ in abbreviated syntax Example - Locate data nodes with URL metadata of p.htm /descendent-or-self::* [meta::*/child::source[attribute::URL="p.htm"]] In abbreviated syntax //*[^source[@URL="p.htm"]] Example - Locate the URL metadata //*^source/@URL Example - Locate data that has metadata authored by Suzuki (meta-metadata) //*[^//*^author[@name="Suzuki"]]"!#8O"K!  8J    " K!Hr D1FOutline MData Data model XML Query language XPath Metadata XML - METAXPath Future work        F"     BMetadata Semantics Transaction time example 6AUCQL Collapse Example XPropertyCollapse for name is concatenation, for trans. time it is temporal intersection.@Y  H 7AUCQL Additional Operations 0Coalesce - compute a distributed property value .1 1 <Thin Layer Impementation   =Prototype Implementation VSummary METAXPath website http://www.eecs.wsu.edu/~cdyreson/pub/MetaXPath AUCQL website VLDB  99 Implemented research prototype Free, downloadable, Unix environment http://www.eecs.wsu.edu/~cdyreson/pub/AUCQL Interactive query engine Tutorials^00          h      . /CDG!P  ` ̙33` ` ff3333f` 333MMM` f` f` 3>?" dd@$?" dd@n2 u@s<H dP n?" dd@   @@``@n?" dd@  @@``PR    @ H P`p> >   R(    6h,  , X Click to edit Master title style!!   0k, @ , RClick to edit Master text styles Second level Third level Fourth level Fifth level!    S   0|p,    , T*    0u,   , V*  pB  Hp?@B  s *޽h ? ̙33 ndb_neww   '@(    6@x P x T Click to edit Master title style! !  0x p  x W#Click to edit Master subtitle style$ $  6x `  x V*  B  s *޽h ? ̙33| 0 <4(( 4@ (, ( c ~&e&e1 ?28  ~ `*  . ( c $~&e&e1 ?h 8 ~ b*  d ( c $ ?4g  ~H ( c \~&e&e1 ? 7c ~ |RClick to edit Master text styles Second level Third level Fourth level Fifth levelS 2 ( s $~&e&e1 ?-2e  ~ `*  4 ( s H~&e&e1 ?-h e ~ b*  H ( 0 g _ ? ̙33 0(     N~gֳgֳ ? P  ~ ^*    N;,gֳgֳ ?` P ~ `*(   T8:gֳgֳ ?@ `  ~ ^*    T(gֳgֳ ?@` `  `*( H  0 g _ ? ̙33  0$(  $r $ S x   x r $ S x e  x k $ 0 x  e  SMichael Bhlen and Christian S. Jensen Computer Science Aalborg University DenmarkTT$8Z-,) HHPP $ 0x  [^ ANykredit Center for Database Research Aalborg University, Denmark B$8ZB$ HHPPX $ C 0AF:\logo.jpgH $ 0޽h ? ̙33   ( w l  C L    l  C  @  H  0޽h ? ̙33W   6<(  ~  s *   jB  BDԔqa qj  B?Ej  B?VAdB  <DԔF.Z    <0c   iXML data and metadata F   @`     E Z   s *  @` ~B   ND?P@ @ ~B   ND?P  ~B  ND?Pp p ~B  ND?P  F   @`   1  Z  s *  @` ~B  ND?P@ @ ~B  ND?P  ~B  ND?Pp p ~B  ND?P  F   @`    n Z  s *  @` ~B  ND?P@ @ ~B  ND?P  ~B  ND?Pp p ~B  ND?P  F   @`   ? g Z  s *  @` ~B  ND?P@ @ ~B  ND?P  ~B   ND?Pp p ~B ! ND?P  dB "@ <DԔE! dB # <DԔ` p2 $ H ?pvB % ND?vB & ND?{vB ' ND?K0vB (@ ND?vB ) ND? + <! Sg :Database  , <%B  GClient (HTTP browser)F  m  . 5Ql / <?s  l 0 <? rm  1 3 BCDE(FԔ xYM @    zt Vx 2 Hi9m{A?  F =@  3 }n > l 4 <?H@! f2 5 6g Pp l 6 <?=i   7 # BCDE(FԔ xYM @   IR JI dB 9 <DԔ6! jB : BDԔW Ob < <(, a S  = HTTP server H  0޽h ? ̙33   *(  x  c $\2   r  S 3k  H  0޽h ? ̙33      N (  ~  s *8   x  c $94   F   @`   s s Z  s *  @` ~B  ND?P@ @ ~B  ND?P  ~B  ND?Pp p ~B   ND?P     H<?    R text (XML)       H(>?# Pobject 1    j2   B?sc|B   TD?#C |B  TD?   H E?#}C  Pobject 1    j2  B?W   HlH?# z:C  S my database      HxL? t  U your database   HQ?s   Pobject 2    j2  B?s H  0޽h ? ̙33      0l< ( w lz   l  ,$D 0 l BX? %  Tp<person id=&1 name= Joe Doe age= 25 />9 9 ~B l ND?   l HXd?  ,$D 0 kG Joe Doe 25 H H z  e  l  e ,$D 0x l H?x l H?5 x  l H? B x  l H?vs e x  l H?; t N x  l c $4s   r  l S s#C    l Bt?! [  // A person class class Person { String name; int age; } // A person object Person joe = new Person( Joe Doe , 25);F6  &    l Bz? 9 ,$D 0 [K L   L H l 0޽h ? ̙33   4,@%(  ~  s *   x  c $    Z쌕?j  P  _ age element8 (  Z?  bperson element8(v @ N?9<j v  N?<k &  Z ? (name= Joe attributeX(    Z?  "id= &1 attributeX(    Z ?k 8 Q   /n text8 (  Z?  [25 text8(v @ N? <k v  N?P 9<   Z?k CQ  [/n text8(  Z ?N c Froot&(v  N?c<<"    fG)HinI?"" !  fG)H-I@n?" #  `` 1?   QXML$   $ B??:9  x<person id=&1 name= Joe > <age>25</age> </person> = =  %  `ɕ 1?R qr SXPath$  H  0޽h ?   ! ̙33    s k P ( & x  c $Е   r  S ѕ    Bҕ?@ :  KJoe   B֕? $   J25    `ٕ 1?   QXML$     `ؕ 1? '   jSemistructured$    @  f1???@L2   N?Lq   R&1 (   @ Z1?k      Z1?k @ "   B?d/ ct Xperson $  "   Bߕ?Z j  Vname $  "  B? [  Uage $    BL??:9  x<person id=&1 name= Joe > <age>25</age> </person> = = H  0޽h ??`      ̙33    `(  ~  s *   ~  s *@   x  c $@X     T? =  a age element: (  T?35  dperson element:(p  H?  p  H?  "   T0 ?n (name= Joe attributeZ(    T`?iH  "id= &1 attributeZ(    T? N   /n text: (   T?5 5 ]25 text:(p  @ H?  p @ H? 5   T!? q  ]/n text:(  TX' ?5 Hroot((p  H?3"   `G)HinI?5"   `G)H-I@n?5|   B+? b  KJoe   Bx/? d  J25    `2 1?Y NS lSemistructured$    @  f1??u 2  N<4? v9  R&1 (  @ Z1?    Z1? 4+ "  BP;?   Xperson $  "  B4:?   Vname $  "  BXB? r+  Uage $  vB  ND1?t ?   `= 1?JD YXPath$ H  0޽h ?@        ̙33   p$(  r  S TO   r  S (K@  H  0޽h ? ̙33   0(  x  c $ Z   x  c $Z@  H  0޽h ? ̙33|  ,$(  x  c $aN     T r @ <?" n r @ <?"  r  <?" c   N?" 8K  ! N?"M " N?"c .  # N?" -  r $@ <?"K ? r %@ <?" r & <?"  r ' <?"  ( T?" S  = preceding (  ) TĖ?"  m  = following (  * TȖ?"V  v > descendent (  + TP̖?"3&  <ancestor (  , Tϖ?" g ,  8self(H  0޽h ??`              ! #    " $!%#&"' ̙33   0(  x  c $ ז   x  c $ז@  H  0޽h ? ̙33O   ''p( b px p c $TݖN    p T@– ? ` name element8 ( p Z ?\  bperson element8(  p Z ? dateOfBirth element8(    p T4 ? g z  ` last element8 ( p Z ? |  a month element8( p Z ? :  ` year element8 (p  p@ H?W p  p H? p  p H?6 p  p@ H? p  p H?W  p T ?  ^ Susan text8 ( p T ? e  ` Douglas text8 (p p@ H?z  p Z  ? : ` January text8 ( p Z ?  ] 1981 text8 (p p H? p p H? 6;  p Z( ?^  nThis& comment8(p p H?  p Z ?.X C Froot&(p p H?C  p Z ? d ~*initial= S attribute8(   p Z" ?4n z&SSN= 99&  attribute8(   p  fG=OH&cI=O?    p  fGHI?{ p T4( ? w  a first element8(p p@ H?W p p@ H?w   p TT.?+U @,$D  0 Froot&( !p T42?Y ,$D  0 bperson element8(l  %p,$D  0 "p T7?  ` name element8 ( #p T?[  nThis& comment8(  $p T@? dateOfBirth element8(    &p T|E? d w ,$D  0 ` last element8 ( 'p TJ? a t ,$D  0 ` last element8 (H p 0޽h ?pp ppp ppp ppp ppp pppppppppp ppp ppp ppp ppp pppppp ̙33    0(   x   c $|R   x   c $8S@  H   0޽h ? ̙33   @0(  @x @ c $LX   x @ c $Y@  H @ 0޽h ? ̙33   $(  r  S 4_   r  S $N@  H  0޽h ? ̙33    )(  l  C j   l  C j@  H  0޽h ? ̙33   0(  l  C p   l  C q@  H  0޽h ? ̙33   @h$( A hr h S w   r h S Tx@  H h 0޽h ? ̙33   Pt(  tl t C }j   l t C L~@  H t 0޽h ? ̙33   `l( w ll l C (   l l C 䄘@  H l 0޽h ? ̙33   p( "%Ԑ l  C p   l  C ,@  H  0޽h ? ̙33   = 5 P D+ (  Dx D B?"  x D B?"  D T.z?"N 2Type element Value person Attributes {(ssn, 223)}3   (x D B?"R D TBz?"   &Type element Value name Attributes {}p'    D TEz?" ] }Type text Value Ichiro<  D T^z?"9, X Type root$    D Tfz?"V   yType text Value \n<    D Tjz?"D 5P  {Type text Value \n\t< x  D@ B?"D x  D B?"| V P  D  `Hyz 1? ) J Ichiro &K  ,+B D s *޽h ?_DDDDDDDDDD D DD D D ̙33  `'P;(  PD #P Tz?   &Type element Value name Attributes {}p'    $P Tz?V   yType text Value \n<  %P THz?D 5P  {Type text Value \n\t< ~ P H ?"5 x P B?"  x P B?"  P T`z?"N 3Type element Value person Attributes {(ssn, 223)}4   )x  P B?" P T z?" ]$ }Type text Value Ichiro<  P Tz?"1, iType root Meta0 ~2 P H ?" 8X P Nz ?"I3 Q <@Type element Value source Attributes {(URL, www.wsu.edu/p.htm)}A   >1 P Nz ?"  X Type root$ x P B?"%%Ix P@ B?"D x P B?"| V   P T1?"0 1 'P  `z 1?b_j @<source URL= www.wsu.edu/p.htm >l!$ >B P s *޽h ?PPP#PPPP PPP PPPP P%PP P$PP ̙33  4,p#(   D  TX|?   &Type element Value name Attributes {}p'     T |?V   yType text Value \n<   T|?D 5P  {Type text Value \n\t< p  H ? # p  H ?5 j  B?  j   B?c    T\|?Nc 8Type element Value person Attributes {(ssn, 223)} Meta9   ) p2   H ?3|   T1? C j   B?C  N0| ?   +Type element Value language Attributes {}p,    j @ B? x   Np4| ?x   ~Type text Value English<    TlE|? ]$ }Type text Value Ichiro<   TP|?1, iType root Meta0 p2