wdgtH", t1.0 "H off main 606 572 Resources/Images/Common/About.png Arial 16 #000000 26 139 BMW Widget Arial 12 #000000 26 155 (Version Arial 12 #000000 76 155 Arial 12 #000000 92 155 ) Arial 11 #000000 26 180 Copyright © 2006 BMW AG – all rights reserved Arial 11 #4c4c4c 33 204 www.bmw.com http://www.bmw.com F5 shift Resources/Images/Common/AppPrefs.png 1 Resources/Images/Common/SportPrefs.png 2 Resources/Images/Common/WeatherPrefs.png 3 sportPrefs checkbox 1 sportPrefs checkbox 1 sportPrefs checkbox 1 sportPrefs checkbox 1 sportPrefs checkbox 1 appPrefs checkbox 1 appPrefs checkbox 1 appPrefs checkbox 1 appPrefs checkbox 1 true weatherPrefs checkbox 1 hiddenPrefs text true hiddenPrefs text true hiddenPrefs checkbox 0 true hiddenPrefs checkbox 1 true hiddenPrefs text true hiddenPrefs text true `@<t"dummy utf-8 string" = "äöüß"; "contextMenu.country" = "Land auswählen ..."; "contextMenu.city" = "Stadt/Ort wählen ..."; "countryForm.title" = "Land:"; "countryForm.description" = "Die Auswahl ist nur bei aktiver Internet-Verbindung möglich."; "countryForm.ok" = "OK"; "countryForm.cancel" = "Abbrechen"; "cityForm.title" = "Stadt/Ort:"; "cityForm.description" = "Die Auswahl ist nur bei aktiver Internet-Verbindung möglich."; "cityForm.ok" = "OK"; "cityForm.cancel" = "Abbrechen"; "prefs.group.app" = "BMW Widget"; "prefs.group.sport" = "Sport"; "prefs.group.weather" = "Wetter"; "pref.motor.title" = "BMW Motorsport"; "pref.motor.description" = "Von der Poleposition: die BMW News zum Motorsport."; "pref.yacht.title" = "BMW Yachtsport"; "pref.yacht.description" = "Hart am Wind: die BMW News zum Yachtsport."; "pref.golf.title" = "BMW Golfsport"; "pref.golf.description" = "Eins unter Par: die BMW News zum Golfsport."; "pref.sauber.title" = "BMW Sauber F1 Team"; "pref.sauber.description" = "Direkt an der Rennstrecke: News zum BMW Sauber F1 Team."; "pref.oracle.title" = "BMW ORACLE Racing"; "pref.oracle.description" = "Mit an Bord: die News zum BMW ORACLE Racing."; "pref.weather.title" = "Wetter"; "pref.weather.description" = "Die Wetterlage in einer Stadt Ihrer Wahl."; "pref.calculator.title" = "Rechner"; "pref.calculator.description" = "Für schnelle Kalkulationen zwischendurch."; "pref.notepad.title" = "Notizblock"; "pref.notepad.description" = "Damit alles Wichtige im Gedächtnis bleibt."; "pref.sport.title" = "BMW Sport Nachrichten"; "pref.sport.description" = "Aktuelle BMW Sport News auf einen Blick."; "pref.useSymbols.title" = "Symbole verwenden"; "pref.useSymbols.description" = "Soll die Wetterlage in Symbolen oder als Text dargestellt werden?"; "disclaimer.headline" = "BMW Widget"; "disclaimer.title" = "Rechtlicher Hinweis"; "disclaimer.body" = "Vielen Dank, dass Sie das BMW Widget installieren möchten. Wir freuen uns über Ihr Interesse an den BMW Produkten und wünschen Ihnen viel Freude an dieser innovativen und informativen Anwendung.\n\nDie Inhalte des BMW Widget werden mit der größtmöglichen Sorgfalt zusammengestellt. Irrtümer, Schreib- und Programmierungsfehler können jedoch nicht ausgeschlossen werden und bleiben daher vorbehalten. Informationen, die im Rahmen dieses Services von Dritten zur Verfügung gestellt werden (z. B. Wetterdaten), werden ungeprüft weitergeleitet. BMW übernimmt keine Gewähr für die Fehlerfreiheit und Genauigkeit solcher Inhalte.\n\nSofern von dieser Anwendung auf Internetseiten verwiesen wird (auch per Hyperlink), die nicht von BMW betrieben werden, übernimmt BMW keine Verantwortung für deren Inhalte und distanziert sich vorsorglich ausdrücklich davon.\n\nDer Download und die Nutzung des BMW Widget erfolgen auf eigene Gefahr. BMW haftet nicht für Schäden außer Personenschäden, die aus dem Download oder der Nutzung des BMW Widget resultieren; es sei denn, sie beruhen auf Vorsatz oder grober Fahrlässigkeit. Zwingende gesetzliche Regelungen bleiben hiervon unberührt.\n\nBMW weist darauf hin, dass die Inhalte des BMW Widget dem gewerblichen Rechtsschutz unterliegen, insbesondere marken- und urheberrechtlich geschützt sind. Dies betrifft verwendete Marken, Typenbezeichnungen, Logos und Embleme ebenso wie auch Texte, Bilder, Grafiken, Sound, Animationen und Videos sowie deren Anordnung auf dieser Anwendung.\n\nDie jeweiligen Schutzrechtsinhaber, Unternehmen der BMW AG oder Dritte, behalten sich diese Rechte vor. Durch die Überlassung des BMW Widget wird keine Lizenz zur Nutzung des geistigen Eigentums von Unternehmen der BMW AG oder Dritten erteilt. Das BMW Widget oder seine Inhalte werden ausschließlich zu Ihrem persönlichen Privatgebrauch zur Verfügung gestellt und dürfen nicht zu kommerziellen Zwecken genutzt, verbreitet, kopiert, verändert oder Dritten zugänglich gemacht werden.\n\nDas BMW Widget basiert auf der Technologie der \"Yahoo! Widget Engine\". Die Installation dieser Software ist für den Gebrauch des BMW Widget lediglich technische Voraussetzung. Sie wird von Yahoo kostenfrei zum Download angeboten und ist nicht Inhalt der Serviceleistung von BMW. Der Hyperlink zur Downloadmöglichkeit der \"Yahoo! Widget Engine\" auf der Yahoo-Website dient ausschließlich dazu, Ihnen Zeit und Mühen zu sparen. BMW haftet daher weder für Fehler der \"Yahoo! Widget Engine\" noch für Schäden, die aus Download oder Nutzung derselben resultieren.\n\nVerantwortlich für den Inhalt:\nBayerische Motoren Werke Aktiengesellschaft (BMW AG)\nPetuelring 130, D-80788 München\nE-Mail: customer.service@bmw.com\nDie BMW AG wird gesetzlich durch den Vorstand (Norbert Reithofer, Frank-Peter Arndt, Ernst Baumann, Michael Ganal, Burkhard Göschel, Stefan Krause) vertreten.\nHandelsregister: Amtsgericht München, Registergericht HRB 42243.\nUmsatzsteueridentifikationsnummer: DE129273398"; "disclaimer.label.accept" = "Annehmen"; "disclaimer.label.cancel" = "Abbrechen"; "alert.headline" = "BMW Alert"; "alert.text.noData" = "Keine Daten verfügbar ..."; "alert.label.enlarge" = "Vergrößern"; "alert.label.reduce" = "Verkleinern"; "alert.label.month.01" = "Januar"; "alert.label.month.02" = "Februar"; "alert.label.month.03" = "März"; "alert.label.month.04" = "April"; "alert.label.month.05" = "Mai"; "alert.label.month.06" = "Juni"; "alert.label.month.07" = "Juli"; "alert.label.month.08" = "August"; "alert.label.month.09" = "Sept."; "alert.label.month.10" = "Oktober"; "alert.label.month.11" = "Nov."; "alert.label.month.12" = "Dez."; "alert.label.time" = "{hours}:{minutes} Uhr"; "label.dayOfWeek.short.0" = "So"; "label.dayOfWeek.short.1" = "Mo"; "label.dayOfWeek.short.2" = "Di"; "label.dayOfWeek.short.3" = "Mi"; "label.dayOfWeek.short.4" = "Do"; "label.dayOfWeek.short.5" = "Fr"; "label.dayOfWeek.short.6" = "Sa"; "weather.text.noData" = "Keine Wetterdaten verfügbar ..."; "weather.text.noSettings" = "Wählen Sie zur Anzeige der aktuellen Wetterlage bitte ein Land und eine Stadt aus."; "weather.label.noSettings" = "Jetzt auswählen"; "weather.label.useSymbols.0" = "{min}° ({max}°)"; "weather.label.useSymbols.1" = "{min}°"; "notepad.headline" = "Notizen"; "notepad.label.delete" = "Löschen"; "calculator.label.copy" = "Kopieren ..."; "calculator.label.paste" = "Einfügen ..."; "sport.headline" = "BMW Sport"; "sport.headline.motor" = "BMW Motorsport"; "sport.headline.yacht" = "BMW Yachtsport"; "sport.headline.golf" = "BMW Golfsport"; "sport.headline.sauber" = "BMW Sauber F1 Team"; "sport.headline.oracle" = "BMW ORACLE Racing"; "sport.text.noData" = "Keine Daten verfügbar ..."; "sport.label.date" = "{dd}.{mm}.{yyyy}"; "details.label.close" = "Zurück"; "logo.idmodule.url" = "Resources/Images/de/IdModule.png"; #=W""dummy utf-8 string" = "äöüß"; "contextMenu.country" = "Choose country..."; "contextMenu.city" = "Select city/location..."; "countryForm.title" = "Country:"; "countryForm.description" = "Please connect to the internet before you make your selection."; "countryForm.ok" = "OK"; "countryForm.cancel" = "Cancel"; "cityForm.title" = "City/Location:"; "cityForm.description" = "Please connect to the internet before you make your selection."; "cityForm.ok" = "OK"; "cityForm.cancel" = "Cancel"; "prefs.group.app" = "BMW Widget"; "prefs.group.sport" = "Sport"; "prefs.group.weather" = "Weather setting"; "pref.motor.title" = "BMW Motorsport"; "pref.motor.description" = "Stay in pole position: BMW news from the racing world."; "pref.yacht.title" = "BMW Yachtsport"; "pref.yacht.description" = "Close to the wind: BMW news from the yachting world."; "pref.golf.title" = "BMW Golfsport"; "pref.golf.description" = "One under par: BMW news from the world of golf."; "pref.sauber.title" = "BMW Sauber F1 Team"; "pref.sauber.description" = "On the track: news about the BMW Sauber F1 Team."; "pref.oracle.title" = "BMW ORACLE Racing"; "pref.oracle.description" = "Get onboard: news about the BMW ORACLE Racing Team."; "pref.weather.title" = "Weather"; "pref.weather.description" = "The weather forecast for your city."; "pref.calculator.title" = "Calculator"; "pref.calculator.description" = "For quick calculations during the day."; "pref.notepad.title" = "Notes"; "pref.notepad.description" = "The convenient memory aid on your desktop."; "pref.sport.title" = "BMW Sport News"; "pref.sport.description" = "The lates news about BMW Sport."; "pref.useSymbols.title" = "Display symbols"; "pref.useSymbols.description" = "Would you like the weather forecast displayed using symbols or as text?"; "disclaimer.headline" = "BMW Widget"; "disclaimer.title" = "Legal notice"; "disclaimer.body" = "Thank you for choosing to install the BMW Widget and for your interest in BMW products. We hope you enjoy this innovative and informative application.\n\nBMW AG has made every effort to ensure the accuracy of the information contained in the BMW Widget. Errors and omissions shall be excepted. BMW AG shall not be responsible or liable for contents within the scope of this service that are maintained by third parties (e.g. weather data). In case of any links from this application to other websites, BMW AG expressly disclaims all responsibility or liability for the contents of those websites.\n\nDownload and use of the BMW Widget are at your sole risk. The liability of BMW AG for damages resulting from download or use of this service, except personal injury, is limited to intent and gross negligence. Binding law remains unaffected.\n\nThe content of the BMW Widget is protected as intellectual property, in particular as copyright, design or trademark. This legal protection applies to, but is not limited to brands, classifications, logos, emblems as well as texts, images, graphics, sounds, animations and videos.\n\nThe owners of intellectual property, BMW AG companies or third parties, reserve all rights. The free download and use of the BMW Widget grants no licence to use the intellectual property of BMW AG or of third parties. The BMW Widget and its contents are for private use only. Reproduction, distribution or transmission by any means for commercial purposes is strictly prohibited.\n\nThe BMW Widget is based on the technology of \"Yahoo! Widget Engine\". It is necessary to install this software as technical requirement to use the BMW Widget. The software can be downloaded free of charge from Yahoo and does not form part of the services provided by BMW. The hyperlink that leads to the option to download the \"Yahoo! Widget Engine\" on the \"Yahoo!\" website serves no other purpose than to save you time and effort. BMW shall not be liable for any errors, losses or damages that result from the download or the use of the \"Yahoo! Widget Engine\".\n\nThis widget is maintained by:\nBayerische Motoren Werke Aktiengesellschaft (BMW AG)\nPetuelring 130, D-80788 Munich\nE-mail: customer.service@bmw.com\nThe legal representatives of BMW AG are the members of the management board (Norbert Reithofer, Frank-Peter Arndt, Ernst Baumann, Michael Ganal, Burkhard Göschel, Stefan Krause).\nCommercial register: Amtsgericht München Registergericht HRB 42243.\nValue-added tax identification no.: DE129273398."; "disclaimer.label.accept" = "Accept"; "disclaimer.label.cancel" = "Cancel"; "alert.headline" = "BMW Alert"; "alert.text.noData" = "No data available..."; "alert.label.enlarge" = "Larger image"; "alert.label.reduce" = "Smaller image"; "alert.label.month.01" = "January"; "alert.label.month.02" = "Feb."; "alert.label.month.03" = "March"; "alert.label.month.04" = "April"; "alert.label.month.05" = "May"; "alert.label.month.06" = "June"; "alert.label.month.07" = "July"; "alert.label.month.08" = "August"; "alert.label.month.09" = "Sept."; "alert.label.month.10" = "October"; "alert.label.month.11" = "Nov."; "alert.label.month.12" = "Dec."; "alert.label.time" = "{hours}:{minutes}"; "label.dayOfWeek.short.0" = "Sun"; "label.dayOfWeek.short.1" = "Mon"; "label.dayOfWeek.short.2" = "Tue"; "label.dayOfWeek.short.3" = "Wed"; "label.dayOfWeek.short.4" = "Thu"; "label.dayOfWeek.short.5" = "Fri"; "label.dayOfWeek.short.6" = "Sat"; "weather.text.noData" = "No weather data available..."; "weather.text.noSettings" = "Please choose country and city for weather forecast."; "weather.label.noSettings" = "Choose now"; "weather.label.useSymbols.0" = "{min}° ({max}°)"; "weather.label.useSymbols.1" = "{min}°"; "notepad.headline" = "Notes"; "notepad.label.delete" = "Delete"; "calculator.label.copy" = "Copy..."; "calculator.label.paste" = "Paste..."; "sport.headline" = "BMW Sport"; "sport.headline.motor" = "BMW Motorsport"; "sport.headline.yacht" = "BMW Yachtsport"; "sport.headline.golf" = "BMW Golfsport"; "sport.headline.sauber" = "BMW ORACLE Racing"; "sport.headline.oracle" = "BMW Sauber F1 Team"; "sport.text.noData" = "No data available..."; "sport.label.date" = "{yyyy}/{mm}/{dd}"; "details.label.close" = "Close"; "logo.idmodule.url" = "Resources/Images/en/IdModule.png"; ^Z<PNG  IHDR*J7 pHYs  gAMA|Q cHRMz%u0`:o_FmIDATxm0_ d!#A#0B N:AA Ɩ,E 1HJ%2h t@kK)a 9Ig{[.7t׽TZw* h C2@VTf R K?fcZb 4!G:Jr2͸՜[Cs>.7APAK0aYz쨠ԓ1݂k)Єq rǥtQdzPthJ\hKOӑׯt>?lC)& _'*}T0:ߠ? egz&G9]NmA?RhJ:A㥀e7Q:$m[[XzuiJ];§&.Ɗ|߽钻̣ F$TJq?wY)AWQ#;kTЌ!!9ꉩ`4s%pPUU8 H̰p3&jSuv1K" 1ne"a ڻoȳv[@ o]J͔ JnY ~Wǃ!Ptume=ZЀQ[ 4@=dIENDB`\WPNG  IHDR*J7 pHYs  gAMA|Q cHRMz%u0`:o_F=IDATxQ@f(t%h ;|3Bx̷3fۅbLPC 54(NKVRsqbI-P:]LTlhDk"2"gO;L]߁*UD*Vٵ<OqGA#k; ه[`df}Cf83VktaCT+- TҮ-44q?Wp#5CU&jIT*p;C 5PC 5PC 5PC 5PC S~?/<'jj kB&dIENDB`j_ZPNG  IHDR*J7 pHYs  gAMA|Q cHRMz%u0`:o_FIDATxm07)37/'{1<4:0Z/l#B+;"zl#@KL?:l 2!q~l\b죥Uw{{iw 8xpG[BY],`; BMA}'PJV)ljc"dB.nգ:(fk*c/Gՠ(dnf4 %}PjR8DMp(\lUrQrH3rҎa~P[nFpAgB}pmOobO2 T@*P1~3E胊V.IENDB`b\PNG  IHDR*J7 pHYs  gAMA|Q cHRMz%u0`:o_FmIDATxm0_ d!#A#0B N:AA Ɩ,E 1HJ%2h t@kK)a 9Ig{[.7t׽TZw* h C2@VTf R K?fcZb 4!G:Jr2͸՜[Cs>.7APAK0aYz쨠ԓ1݂k)Єq rǥtQdzPthJ\hKOӑׯt>?lC)& _'*}T0:ߠ? egz&G9]NmA?RhJ:A㥀e7Q:$m[[XzuiJ];§&.Ɗ|߽钻̣ F$TJq?wY)AWQ#;kTЌ!!9ꉩ`4s%pPUU8 H̰p3&jSuv1K" 1ne"a ڻoȳv[@ o]J͔ JnY ~Wǃ!Ptume=ZЀQ[ 4@=dIENDB`9dj_PNG  IHDR*J7 pHYs  gAMA|Q cHRMz%u0`:o_FIDATxm0(xF #0B tAG Rõ^\//$:lvHJ(sNcE$=HidZ!@f^"YK $ ͡e"z\4Z-D@/+ աP/RJ }DQj]Bm>TfgTEQK/z)Q@m`a t5JzZIx da8׈.$VJ rBzN}L(*rAO9p|Ezi\K|L([9zpR)9 MlzޣJ(#V}"[|l9PB %PB %Ќ;]h:aIENDB`!gbPNG  IHDR*J7 pHYs  gAMA|Q cHRMz%u0`:o_FVIDATxm0(A ؀n@7  ?vPj'!5R<=߽fBv%@FmȲ^P?R|~a%Fbekfzl)tMiC|bA@t_ Ex6W?{Gs7PlJbV@M$Jg6s^Fn2Ldd}a |7P)hJ"UKAW|uݜw=?SX,TyVTq/yJuQ%sW<ȿGT/&{Ⱆ)Jr@{*td=h1VKx9"xQ@}[N.+_v#׎NC,Ԡ{{lx_n,,dii}[IENDB`OH/ kdPNG  IHDR*J7 pHYs  gAMA|Q cHRMz%u0`:o_FIDATxm0T A#xu@r&;B!J$@c#yyx}ОAZ}>$I;ew/D7p lvU@~M+@{ ͪ z 6[3P.ㄵ+4''83 J H,|/-A BKRPnkf;,X3>#vsVf@^cZ2/qzK[U8Fty$Βv۱.migGTFF]D9`&3z=6PWQ5@r3<wPB`/tdbh-ۆrV :Rr3r ZǪS}륭~"29߉KI '1a!aG'A/@2XA;ϔs>$[4FA#k)q!YRIENDB`joJsmgPNG  IHDR*J7 pHYs  gAMA|Q cHRMz%u0`:o_FIDATxQ@?tY)!h t:V VVVD'F"ۻ0;L8>v6@&"A jP.4nO,s"<td%"6G jP.$>/d+|冟hP&W3k<{A;,ZbcJoA7Dqk UC'i)3"A$f ~EP0^ܠ筵A@``cr,mHa i8:Yۈ$Э!F>ly =T:4<7d3s 2鑴:bGbFz;ɤ]j=i@cw5*uFng QkI]fO8#:텓 !𚺣k>(uߐ5ZPZhv~w!ȷZs["2,9&GmCItY}ck!\ k={_6CWO{z7֨ (.6 k騦tQX)W=CLN) |'0!K?xHm䦈هЭ =K&?Hh$f8sS\@J@MLzIѷOk'a}^!!WCo|rO#RА7dhwOHAmD6m\;uGizVk$Ε htOYJ+_2h͠4f AE_t:v9IENDB`wpPNG  IHDR*J7 pHYs  gAMA|Q cHRMz%u0`:o_FoIDATxq0Ep JpI@ $TT`A ،!غiF F>Z]Dk)&2"h !Iu2 @~'Zp49l,Zk+Їa6)rnyb߬`%!!,jI0+H\&] -JrʹRE;%b#ez|\ ]˲'^+@35(R]kakG #=laGsreHB>_ֳi; rGC}HLk.Hjo*Up+ : `/oOsWϩ ꩀƒot* xKv2W֞-rP;G)pΔܱbmj!Xn ՔT %)S)anRF;|kXB !% *i,(5` CecIt!o{aXJ۹T}kِ"|[&R |ﻱ6dvtvR3dCXAgJ&3U[DBM]K_"h4FA"=~TIENDB` xtPNG  IHDR*J7 pHYs  gAMA|Q cHRMz%u0`:o_F8IDATxm00ݠ݀ A LvddV`d_);$x`%! i]ι)ynffg ]qvJ 9h \c!瀖hj2b #P=UcG^<ⷝDQoyLk8[2>wI=3 z;6 x>)kجxQy;`tq' * * * *Q̜|<=6ӟd * *&ԨwIENDB`4{wPNG  IHDR*J7 pHYs  gAMA|Q cHRMz%u0`:o_FIDATxm07)37/'{1<4:0Z/l#B+;"zl#@KL?:l 2!q~l\b죥Uw{{iw 8xpG[BY],`; BMA}'PJV)ljc"dB.nգ:(fk*c/Gՠ(dnf4 %}PjR8DMp(\lUrQrH3rҎa~P[nFpAgB}pmOobO2 T@*P1~3E胊V.IENDB`+\ ~xPNG  IHDR*J7 pHYs  gAMA|Q cHRMz%u0`:o_FIDATx0 PQ*KUptwtHwTt`hIƂD;jʅ1`fRzJeSߠ{&Yf5DP"NҎ֩D"{]Jt_*⦆ڂtvzIo(_ŵOh?˷mbĆ(S2W{o=e&<";ّ}(S-$saJ^} /"Q^˝}= $eΑj91zTì^~#ΐУ5"?jQ kO~؀,dii}[IENDB`P0{+PNG  IHDR*J7 pHYs  gAMA|Q cHRMz%u0`:o_FIDATxm072AA6"wUMjR?C'x || ХL"O=T )`D`cj-.<uFtr3r ZǪS|륭~"2;ۿK$ޅc 1a=q yFA;i{ mpl*ĎR/c*fJ&ƚ4.Ss Ix%:$S"MnlEണx$㗊LҵɚV;J-!E]ϣ_1#|y%%mMaq-aLɜ˵Da8>圐L˜ZxK1-zFgQx&dg9%_"h4FA#!ZIENDB`fF+PNG  IHDR*J7 pHYs  gAMA|Q cHRMz%u0`:o_FIDATxq@L : @I v`:JH*@S gvgx9n>wC3n!p#aPԠ Yι+p 8֧.[5Aߣ>n9 qdiAFІF*璘 ZIPKnzbjϺԂ벚;9"͹ R@sВ%Dʖ44tGB M (mG ڲKvB hI"lJAٔVٔd36ͦ Ąv$ )U,hB>Ā䷐ ]y$Ā>)y&m2Zz\DfFlG3je/&Z*"=~m\ulO+o֨BKwm(o8 n8O|u<jn:+@W}oCk.蒐5!{[_ͬT`'gnE g^Zbvʙ+ҍv 4&s歉vd}R Zq TIX_H]Y|́Fʀ(Al*J)&!)mNRi9W=Urzpms'`ÊIJRT+ԦF7U1]qEn.IAW h6- JH@5srKA֤gvt˷hNBd eG׻ Օ5SL-L%7U̸pfg Az'ifE!y@P.<1̪!Q\*}ǖA$f ~EP0^ܠ筵A@``cr,mHa i8:Yۈ$Э!F>ly =T:4<7d3s 2鑴:bGbFz;ɤ]j=i@cw5*uFng QkI]fO8#:텓 !𚺣k>(uߐ5ZPZhv~w!ȷZs["2,9&GmCItY}ck!\ k={_6CWO{z7֨ (.6 k騦tQX)W=CLN) |'0!K?xHm䦈هЭ =K&?Hh$f8sS\@J@MLzIѷOk'a}^!!WCo|rO#RА7dhwOHAmD6m\;uGizVk$Ε htOYJ+_2h͠4f AE_t:v9IENDB`t7PNG  IHDR0R' pHYs  gAMA|Q cHRMz%u0`:o_FIDATxb?(4 F(2$5 h4I*MR F(2$5 h4I*MR F(2$5 h4I*MR F(2$5 h4I*MR F(2$5 h4I*MR F(2$5 h4I*MR F(2$5 h4I*MR F(2$5 h4I*MR F(2$5 h4I*MR F(2$5 h4I*MR F(2$5 h4I*MR F(2$5 h4I*MR F(2$5 h4I*MR F(2$5 h4I*MR F(2$5 h4I*MR F(2$5 h4I*MR F(2$5 h4I*MR F(2$5 h4I*MR F(2$5 h4I*MR F(2$5 h4I*MR F(2$5 h4I*MR F(2$5 h4I*MR F(2$5 h4I*MR F(2$5 h4I*MR F(2$5 h4I*MR F(2$5 h4I*MR F(2$5 h4I*MR F(2$5 h4I*MR F(2$5 h4I*MR F(2$5 h4I*MR F(2$5 h4I*MR F(2$5 h4I*MR F(2$5 h4I*MR F(2$5 h4I*MR F(2$5 h4I*MR F(2$5 h4I*MR F(2$5 h4I*MR F(2$5 h4I*MR F(2$5 h4I*MR F(2$5 h4I*MR F(2$5 h4I*MR F(2$5 h4I*MR F(2$5 h4I*MR F(2$5 h4I*MR F(2$5 3hMQ 4FU#@&Q@ F(n F(n@IjP$5 h4I궥h4I*MR F(2$5 h4I*MR F(2$5 h4I*MR F(2$5 h4I*MR F(&@IjPhT4F>MR F(r F(n@IjPhT4F@&Q@e@IjPhT4F@&Q@e@IjPhT4F@&Q@e@IjPhT4F@&Q@e@IjPhT4F@&Q@e@IjPg$5 h4I*MR@&Q@4@IjP-@IjP@IjPhT4F@&Q@e@IjPhT4F@&Q@e@IjPhT4F54F@&Q@b F(r$5 h4I*MR F(2$5 h4I*MR F(2$5 h4I*MR F(2$5 h4I*MR F(2$5 h4I*MR F(2$5 h4I*MR?@&Q@D@IjP0g$5 \h-h4ISh4I*MR F(2$5 h4I*MR F(2$5 h4I*MR F(2$5 h4Ij 4F5#@&Q@e@IjP F(n@IjPy F(2$5 h4I*MR F(2$5 h4I*MR F(&?@&Q@e@IjPhT 4FuS 4F@&Q@e@IjPhT4F@&Q@e@IjPg`$5 h4IjFFMReMRMR#@&Q@4@IjPhT4F@&Q@e@IjPhT10hT4F)MR F(2$5 >$5 h4I*MR F(2$5 h4I*MR F(2$5 h4I*MR F(2$5 h4I*MR F(2$5 h4I*MR F(2$5 h4I*MR?@&Q@M@IjP$5 h4I*)MR F(2$5 h4I*MR F(j F(2$5 h4I*W|4F@&Q@4@IjPhT4F@&Q@e@IjPhT4F@&Q@e@IjPhh4I*)MR F(r1@IjPhT4F@&Q@e@IjPhT4F@&Q@e@IjPhT4F@&Q@e@IjPg`$5 hT-3h-h4I*7h4IRh4I*R4F@&Q@e@IjPhT4F@&Q@e@IjPhT4F@&Q@e@IjPhT4F@&Q@M F(2$5 h4I*MRm)MRi F(2$5 >@IjPhTnKhT4F@&Q@e@IjPhT4F@&Q@e@IjPhT4F@&Q@e@IjPhh4I*MR@&Q@]@IjP1@IjP9MhT4FuR 4FR4F@&Q@e@IjPhT4Fu[ 4F@&Q@e@IjP$5 h4I*MRMR F(2$5 h4I6h4I*MR F(r@IjPhT4F@&Q@e@IjP} F(2$5 h4I*MR F(2$5 h4I*MR?@&Q@e@IjPhT4F@&Q@e@IjPhT4F@&Q@U?@&Q@U@IjP9MhTh4I*MR F(2$5 h4I*MR F(2$5 h4I*MR F(2$5 h4Ij 4F5#@&Q@R F(r)@IjP$5 h4I*MR F(2$5 @$5 h4IFMR@&Q@@IjPhT4Fu=MR=MR F(2$5 ܖ$5 h4I*7h4I*W|4FK)MRʥ@&Q@e@IjPhT4F@&Q@9@&Q@e@IjP02hT4FuRh4I*|4F)MRsMR@&Q@e@IjPhT4F@&Q@e@IjPhT4F@&Q@e@IjPhT4F@&Q@e@IjPhT4F@&Q@e@IjPKJJh(*ip)IENDB`  :qPNG  IHDR pHYs  gAMA|Q cHRMz%u0`:o_F YIDATxb?(4 F(2$5 h4I*MR F(2$5 h4I*MR F(&@IjP0g$5 \NhTMP4F@&Q@ݶ#@&Q@MR F(2$5 h4I*MR F(2$5 h4Ij 4F5#@&Q@b?@&Q@݊ F(r@IjP$5 h4I*MR F(2$5 h4I*MR F(2$5 @IjP0hT.h4I*MR F(2$5 h4I*MR F(*@IjP5E12h h4I{ 4F@&Q@e@IjPhT4F@&Q@e@IjPhT4F@&Q@e@IjPhT4F@&Q@e@IjPg`$5 h4ISh4I*MR F(2$5 h4I*MR F(2$5 h4Ij 4F@&Q@M F(j F(rc F(2$5 h4I*MR F(2$5 c$5 h4I*R4FuMR5@&Q@4@IjP1@IjP9MhT4F@&Q@e@IjPhT4F@&Q@M?@&Q@e@IjPb$5 h4I*MR F(2$5 h4I*MR F(2$5 h4I*MR F(2$5 h4I*MR F(2$5 h4I*MR F(2$5 h4I*MR F(&@IjP020hT.h4I*MR@&Q@ F(n F(n) F(2$5 h4I*MR F(2$5 c`$5 h4I*MR5@&Q@4@IjP02hT.h4I*h4I*MR F(2$5 h4I*MR F(2$5 h4I*MR F(&@IjPhT4F@&Q@@&Q@U@IjPhԭhT4F@&Q@e@IjP)@IjP020hT.h4I*R4F@&Q@ F(n@IjP1@IjP$5 h4I*h4I*MR F(2$5 h4Ih4I*MR F(&`d`$5 ܖ$5 h4I*S4FS4F@&Q@ F(r[ F(2$5 h4I*MR F(2$5 h4I*MR?@&Q@4@IjP0$5 h4I*MRm)FMRi F(2$5 h4I*MR F(2$5 h4I*MR F(2$5 h4I*MR F(2$5 h4I*MR F(2$5 30hT4F@&Q@e@IjPhT4F|4FuS@&Q@e@IjPhT4FU##@&Q@MR F(j!@IjPhTm30hTh4I*MR F(2$5 <$5 <$5 h4I*MR F(2$5 >$5 h4I*R4F@&Q@e@IjPhTnhTnhT4F@&Q@e@IjPhT4F@&Q@e@IjPhT4F@&Q@e@IjPhT4F@&Q@e@IjPhT4F@&Q@e@,0  \oIENDB`D#$#~7PNG  IHDR0\ pHYs  gAMA|Q cHRMz%u0`:o_F"IDATxb `Q0 F4 `Q0 J0F(`h`Q@ cQ0 FQ F+Q0 F(D0F(`h`Q@ cQ0 FQ F+Q0 F(D0F(`h`Q@ cQ0 FQ F+Q0 F(D0F(`h`Q@ cQ0 FQ F+Q0 F(D0F(`h`Q@ cQ0 FQ F+Q0 F(D0F(`h`Q@ cQ0 FQ F+Q0 F(D0F(`h`Q@ cQ0 FQ F+Q0 F(D0F(`h`Q@ cQ0 FQ F+Q0 F(D0F(`h`Q@ cQ0 FQ F+Q0 F(D0F(`h`Q@ cQ0 FQ F+Q0 F(D0F(`h`Q@ cQ0 FQ F+Q0 F(D0F(`h`Q@ cQ0 FQ F+Q0 F(D0F(`h`Q@ cQ0 FQ F+Q0 F(D0F(`h`Q@ cQ0 FQ F+Q0 F(D0F(`h`Q@ cQ0 FQ F+Q0 F(D0F(`h`Q@ cQ0 FQ F+Q0 F(D0F(`h`Q@ cQ0 FQ F+Q0 F(D0F(`h`Q@ cQ0 FQ F+Q0 F(D0F(`h`Q@ cQ0 FQ F+Q0 F(D0F(`h`Q@ cQ0 FQ F+Q0 F(D0F(`h`Q@ cQ0 FQ F+Q0 F(D0F(`h`Q@ cQ0 FQ F+Q0 F(D0F(`h`Q@ cQ0 FQ F+Q0 F(D0F(`h`Q@ cQ0 FQ F+Q0 F(D0F(`h`Q@ cQ0 FQ F+Q0 F(D0F(`h`Q@ cQ0 FQ F+Q0 F(D0F(`h`Q@ cQ0 FQ F+Q0 F(D0F(`h`Q@ cQ0 FQ F+Q0 F(D0F(`h`Q@ cQ0 FQ F+Q0 F(D0F(`h`Q@ cQ0 FQ F+Q0 F(D0F(`h`Q@ cQ0 FQ F+Q0 F(D0F(`h`Q@ cQ0 FQ F+Q0 F(D0F(`h`Q@ cQ0 FQ F+Q0 F(D0F(`h`Q@ cQ0 FQ F+Q0 F(D0F(`h`Q@ cQ0 FQ F+Q0 F(D0F(`h`Q@ cQ0 FQ F+Q0 F(D0F(`h`Q@ cQ0 FQ F+Q0 F(D0F(`h`Q@ cQ0 FQ F+Q0 F(D0F(`h`Q@ cQ0 FQ F+Q0 F(D0F(`h`Q@ cQ0 FQ F+Q0 F(D0F(`h`Q@ cQ0 FQ F+Q0 F(D0F(`h`Q@ cQ0 FQ F+Q0 F(D0F(`h`Q@ cQ0 FQ F+Q0 F(D0F(`h`Q@ cQ0 FQ F+Q0 F(D0F(` F+Q0 F(#h1 F(>@V`Q0 ch1 F(@V`Q0 2h`Q@0gd cQ0 F 4ZaQ0 F( b0F(`h`Q@VIh1 F((@(`@V`Q0 4ZaQ0 F( h1 F((@(`@V`Q0 4ZaQ0 F( h1 F((@(`@V`Q0 4ZaQ0 F( @gIh1 F( `V4ZaQ0 F( @(`@V`Q0 Ѝ{4ZaQ0 F( @wzh1 F( F+Q0 F(#@V`Q0 ah1 F((@(`@V`Q0 4ZaQ0 F( h1 F((@(`@V`Q0 4ZaQ0 F( h1 F((@(`@V`Q0 4ZaQ0 F( h1 F((@(`@V`Q0 4ZaQ0 F( h1 F((@(`@V`Q0 4ZaQ0 F( 1@V`Q0 F  cQ0 FQ= 0F(`Ueh1 F( `@(`z4ZaQ0 F( `` cQ0 FQ F+Q0 F(D0F(`h`Q@ cQ0 FQ F+Q0 F(D0F(`h`Q@ cQ0 FQ F+Q0 F(D0F(`h`Q@ cQ0 FQ F+Q0 F(D0F(`h`Q@ cQ0 FQ F+Q0 F(D0F(`h`Q@ cQ0 FQ F+Q0 F(D0F(`h`Q@b0F(`Ueh1 F( `b0F(`_gd cQ0 FQ] 0F(``` cQ0 FQ5@V`Q0 4ZaQ0 F( h1 F((@(`@V`Q0 4ZaQ0 F( h1 F((@(`@V`Q0  4ZaQ0 F( @(`@V`Q0 F0F(`h`Q@ cQ0 FQ F+Q0 F(D0F(`h`Q@ cQ0 FQ F+Q0 F(D0F(`h`Q@ cQ0 FQ F+Q0 F(D0F(`h`Q@ cQ0 FQ F+Q0 F(D 4ZaQ0 F( `d cQ0 FA4ZaQ0 F(  F+Q0 F(D0F(`h`Q@ cQ0 FQ F+Q0 F(D0F(`h`Q@ cQ0 FQ F+Q0 F(  cQ0 FQ F+Q0 F(#@(`?#@V`Q0 @ @(` 0F(`h`Q@ cQ0 FQ F+Q0 F(D0F(`h`Q@h1 F(  cQ0 FQ= 0F(`Uch1 F(0`dd cQ0 F= 4ZaQ0 F( h1 F((@(`@V`Q0 4ZaQ0 F( h1 F( m cQ0 FA4ZaQ0 F( @(` 0F(` cQ0 FQ F+Q0 F(D0F(`h`Q@ cQ0 FQ F+Q0 F(D0F(`h`Q@ cQ0 FQ F+Q0 F(D0F(`h`Q@ cQ0 FQ F+Q0 F(> 0F(`h`Q@h cQ0 FA0F(`h`Q@ cQ0 FQ F+Q0 F(D0F(`h`Q@ cQ0 FQ F+Q0 F(D0F(`h`Q@0 0F(`agd cQ0 FQ F+Q0 F(1h`Q@`d cQ0 FQ= 0F(`h`Q@ cQ0 FQ F+Q0 F(D0F(`Ah`Q@0k 0F(`ak 0F(`h`Q@D F+Q0 F(D0F(`h`Q@ cQ0 FQ F+Q0 F(D0F(`h`Q@ cQ0 FA:K F+Q0 F(D0F(` cQ0 FQ F+Q0 F(Du1h`Q@ cQ0 FQ F+Q0 F(D0F(`h`Q@ cQ0 FQ F+Q0 F(D0F(`h`Q@ cQ0 FQ F+Q0 F(D0F(`0h`Q@ cQ0 FQ F+Q0 F(0F(`h`Q@T F+Q0 F(D0F(`h`Q@ cQ0 FQ F+Q0 F(D0F(`Ah`Q@01@V`Q0 4ZaQ0 F( g` cQ0 Fa@(`@V`Q0 h`Q@L}@(`@V`Q0 4ZaQ0 F( h1 F((@(`t@V`Q0 4ZaQ0 F( h1 F((@(`@V`Q0 4ZaQ0 F( g cQ0 Fa@(`"z 4ZaQ0 F( h1 F((@(`@V`Q0 4ZaQ0 F( h1 F((@(`@V`Q0 4ZaQ0 F( h1 F((@(`@V`Q0 Н4ZaQ0 F( h1 F((@(`@V`Q0 h`Q@ cQ0 F1 0F(`h`Q@ cQ0 FQ F+Q0 F(D0F(`Ah`Q@01@V`Q0 ah1 F((@(`4ZaQ0 F( 02h1 F(0F(``d cQ0 FQ F+Q0 F( 4ZaQ0 F( h1 F((@(`@V`Q0 4ZaQ0 F( h1 F((@(`@V`Q0 4ZaQ0 F( h1 F((@(`@V`Q0 4ZaQ0 F( 30h1 F(0`@(`z4ZaQ0 F( h1 F((@(`@V`Q0 4ZaQ0 F( h1 F( >@(`@V`Q0 4ZaQ0 F( h1 F(0@(`@V`Q0 bh1 F((@(`"#@V`Q0 h`Q@L F+Q0 F(t0h`Q@ cQ0 FQ F+Q0 F(D0F(`h`Q@ cQ0 FQ F+Q0 F(D0F(`h`Q@ cQ0 FQ F+Q0 F(  cQ0 FQ F+Q0 F(D0F(`h`Q@ cQ0 FA4ZaQ0 F( @h`Q@ cQ0 FQ F+Q0 F(0F(`h`Q@ cQ0 Fa F+Q0 F(DF0F(` cQ0 FQ F+Q0 F(D0F(`h`Q@ cQ0 FQ F+Q0 F(D0F(`h`Q@ cQ0 FQ F+Q0 F(D0F(`h`Q@ cQ0 FQ F+Q0 F(D0F(`h`Q@ cQ0 FQ F+Q0 F(D0F(`h`Q@ cQ0 FQ F+Q0 F(D0F(`h`Q@ cQ0 FQ F+Q0 F(D0F(`h`Q@ cQ0 FQ F+Q0 F(D0F(`h`Q@ cQ0 FQ F+Q0 F(D0F(`h`Q@ cQ0 FQ F+Q0 F(D0F(`h`Q@ cQ0 FQ F+Q0 F(D0F(`%44h0Q0 F(  7.yXIENDB`D:PNG  IHDRO pHYs  gAMA|Q cHRMz%u0`:o_FIDATxb `Q0 F4 `Q0 J0F(`h`Q@ cQ0 FQ F+Q0 F(D0F(`h`Q@ cQ0 FQ F+Q0 F(D0F(`h`Q@ cQ0 FQ F+Q0 F(D0F(`h`Q@ cQ0 FQ F+Q0 F(D0F(`h`Q@ cQ0 FQ F+Q0 F(D0F(`h`Q@ cQ0 FQ F+Q0 F(D0F(`h`Q@ cQ0 FQ F+Q0 F(D0F(`h`Q@ cQ0 FQ F+Q0 F(D0F(`h`Q@ cQ0 FQ F+Q0 F(D0F(`h`Q@ cQ0 FQ F+Q0 F(D0F(`h`Q@ cQ0 FQ F+Q0 F(D0F(`h`Q@ cQ0 FQ F+Q0 F(D0F(`h`Q@ cQ0 FQ F+Q0 F(D0F(`h`Q@ cQ0 FQ F+Q0 F(D0F(`h`Q@ cQ0 FQ F+Q0 F(D0F(`h`Q@ cQ0 FQ F+Q0 F(D0F(`h`Q@ cQ0 FQ F+Q0 F(D0F(`h`Q@ cQ0 FQ F+Q0 F(D0F(`h`Q@ cQ0 FQ F+Q0 F(D0F(`h`Q@ cQ0 FQ F+Q0 F(D0F(`h`Q@ cQ0 FQ F+Q0 F(D0F(`h`Q@ cQ0 FQ F+Q0 F(D0F(`h`Q@ cQ0 FQ F+Q0 F(D0F(`h`Q@ cQ0 FQ F+Q0 F(D0F(`h`Q@ cQ0 FQ F+Q0 F(D0F(`h`Q@ cQ0 FQ F+Q0 F(D0F(`h`Q@ cQ0 FQ F+Q0 F(D0F(`h`Q@ cQ0 FQ F+Q0 F(D0F(`h`Q@ cQ0 FQ F+Q0 F(D0F(`h`Q@ cQ0 FQ F+Q0 F(D0F(`h`Q@ cQ0 FQ F+Q0 F(D0F(`h`Q@ cQ0 FQ F+Q0 F(D0F(`h`Q@ cQ0 FQ F+Q0 F(D0F(`h`Q@ cQ0 FQ F+Q0 F(D0F(`h`Q@ cQ0 FQ F+Q0 F(D0F(`h`Q@ cQ0 FQ F+Q0 F(D0F(`h`Q@ cQ0 FQ F+Q0 F(D0F(`h`Q@ cQ0 FQ F+Q0 F(D0F(`h`Q@ cQ0 FQ F+Q0 F(D0F(`h`Q@ cQ0 FQ F+Q0 F(D0F(`h`Q@ cQ0 FQ F+Q0 F(D0F(`h`Q@ cQ0 FQ F+Q0 F(D0F(`h`Q@ cQ0 FQ F+Q0 F(D0F(`h`Q@ cQ0 FQ F+Q0 F(D0F(` F+Q0 F(#h1 F(>@V`Q0 ch1 F(@V`Q0 2h`Q@0gd cQ0 F 4ZaQ0 F( b0F(`h`Q@VIh1 F((@(`@V`Q0 4ZaQ0 F( h1 F((@(`@V`Q0 4ZaQ0 F( h1 F((@(`@V`Q0 4ZaQ0 F( @gIh1 F( `V4ZaQ0 F( @(`@V`Q0 Ѝ{4ZaQ0 F( @wzh1 F( F+Q0 F(#@V`Q0 ah1 F((@(`@V`Q0 4ZaQ0 F( h1 F((@(`@V`Q0 4ZaQ0 F( h1 F((@(`@V`Q0 4ZaQ0 F( h1 F((@(`@V`Q0 4ZaQ0 F( h1 F((@(`@V`Q0 4ZaQ0 F( 1@V`Q0 F  cQ0 FQ= 0F(`Ueh1 F( `@(`z4ZaQ0 F( `` cQ0 FQ F+Q0 F(D0F(`h`Q@ cQ0 FQ F+Q0 F(D0F(`h`Q@ cQ0 FQ F+Q0 F(D0F(`h`Q@ cQ0 FQ F+Q0 F(D0F(`h`Q@ cQ0 FQ F+Q0 F(D0F(`h`Q@ cQ0 FQ F+Q0 F(D0F(`h`Q@b0F(`Ueh1 F( `b0F(`_gd cQ0 FQ] 0F(``` cQ0 FQ5@V`Q0 4ZaQ0 F( h1 F((@(`@V`Q0 4ZaQ0 F( h1 F((@(`@V`Q0  4ZaQ0 F( @(`@V`Q0 F0F(`h`Q@ cQ0 FQ  *Ysl:IENDB`: < ~~PNG  IHDR؉ pHYs  gAMA|Q cHRMz%u0`:o_F IDATxb `84 `"``41F(h4cQh ь1 F@c, F3(X@fQ0 ``41F(h4cQh ь1 F@c, F3(X@fQ0 ``41F(h4cQh ь1 F@c, F3(X@fQ0 ``41F(h4cQh ь1 F@c, F3(X@fQ0 ``41F(h4cQh ь1 F@c, F3(X@fQ0 ``41F(h4cQh ь1 F@c, F3(X@fQ0 ``41F(h4cQh ь1 F@c, F3(X@fQ0 ``41F(h4cQh ь1 F@c, F3(X@fQ0 ``41F(h4cQh ь1 F@c, F3(X@fQ0 ``41F(h4cQh ь1 F@c, F3(X@fQ0 ``41F(h4cQh ь1 F@c, F3(X@fQ0 ``41F(h4cQh ь1 F@c, F3(X@fQ0 ``41F(h4cQh ь1 F@c, F3(X@fQ0 ``41F(h4cQh ь1 F@c, F3(X@fQ0 ``41F(h4cQh ь1 F@c, F3(X@fQ0 ``41F(h4cQh ь1 F@c, F3(X@fQ0 ``41F(h4cQh ь1 F@c, F3(X@fQ0 ``41F(h4cQh ь1 F@c, F3(X@fQ0 ``41F(h4cQh ь1 F@c, F3(X@fQ0 ``41F(h4cQh ь1 F@c, F3(X@fQ0 ``41F(h4cQh ь1 F@c, F3(X@fQ0 ``41F(h4cQh ь1 F@c, F3(X@fQ0 ``41F(h4cQh b`F ь1 FF F3(5-@cؖь1 F@cN@fQ0 @ @c  F3(X@fQ0 ``41F(h4cQh ь1 F@c, F3(X@fQ0 ``41F(@R41F(@@c,Y F3(XR41F(@h4cQސ41F(hI12hKь1 Ffc F3(Xj ``41F(h4cQh ь1 F@c, F3(X@fQ0 ``41F(h4cQh ь1 F@c, F3(X@fQ0 ``41F(h4cQ30h020hK@c|@c``T 41F(Ҙь1 F@c, F3(X@fQ0 ``41F(h4cQh ь1 F:@ct@c  F3(0gh6h4cQ1@c,U@fQ0 41F(h4cQh ь1 F@c, F3(X@fQ0 ``41F(h4cQ!@fQ0 0s@fQ0 #h`ь1 F@c, F3(X@fQ0 ``41F(h4cQh 1h4cQhK@ct@c?@fQ0 T41F( 1 F*083. sIENDB`jDPNG  IHDR&[VmgAMA7tEXtSoftwareAdobe ImageReadyqe<IDATxbd F(`lĈψ`Q0 U0`@,h 3!aъfQ0 F C X*f+U8`Q0 F.\o(Vr Z1'C+ў(`B=P#Ɂ+B0A+P%ʆeW3 F(OoVɀ  rU2@̅֫`Q0 {47To0bXTph8Q0 F( = F *g`Q0 F1}|n ͽ W8`Q0 F14 @hFdF(`p4k`Q@S@(`hF(`hE3 F( F+Q0 F(44ZьQ0 F()ъfQ0 FM@V4`Q0 h h`Q@S@(`hF(`hE3 F( F+Q0 F(44ZьQ0 F()ъfQ0 FM@V4`Q0 h h`Q@S@(`hF(`hE3 F( F+Q0 F(44ZьQ0 F()ъfQ0 FM@V4`Q0 h h`Q@S@(`hF(`hE3 F( F+Q0 F(44ZьQ0 F()ъfQ0 FM@V4`Q0 h h`Q@S@(`hF(`hE3 F( F+Q0 F(44ZьQ0 F()ъfQ0 FM@V4`Q0 h h`Q@S@(`hF(`hE3 F( F+Q0 F(44ZьQ0 F()ъfQ0 FM@V4`Q0 h h`Q@S@(`hF(`hE3 F( F+Q0 F(44ZьQ0 F()ъfQ0 FM@V4`Q0 h h`Q@S@(`hF(`hE3 F( F+Q0 F(44ZьQ0 F()ъfQ0 FM@V4`Q0 h h`Q@S@(`hF(`hE3 F( F+Q0 F(44ZьQ0 F()ъfQ0 FM@V4`Q0 h h`Q@S@(`hF(`hE3 F( F+Q0 F(44ZьQ0 F()ъfQ0 FM@V4`Q0 h h`Q@S@(`hF(`hE3 F( F+Q0 F(44ZьQ0 F()ъfQ0 FM@V4`Q0 h h`Q@S@(`hF(`hE3 F( F+Q0 F(44ZьQ0 F()ъfQ0 FM@V4`Q0 h h`Q@S@(`hF(`hE3 F( F+Q0 F(44ZьQ0 F()ъfQ0 FM@V4`Q0 h h`Q@S@(`hF(`hE3 F( F+Q0 F(44ZьQ0 F()ъfQ0 FM@V4`Q0 h h`Q@S@(`hF(`hE3 F( F+Q0 F(44ZьQ0 F()ъfQ0 FM@V4`Q0 h h`Q@S@(`hF(`hE3 F( F+Q0 F(44ZьQ0 F()ъfQ0 FM@V4`Q0 h h`Q@S@(`hF(`hE3 F( F+Q0 F(44ZьQ0 F()ъfQ0 FM@V4`Q0 h h`Q@S@(`hF(`hE3 F( F+Q0 F(44ZьQ0 F()ъfQ0 FM@V4`Q0 h h`Q@S@(`hF(`hE3 F( F+Q0 F(44ZьQ0 F()ъfQ0 FM@V4`Q0 h h`Q@S@(`hF(`hE3 F( F+Q0 F(44ZьQ0 F()ъfQ0 FM@V4`Q0 h h`Q@S@(`hF(`hE3 F( F+Q0 F(44ZьQ0 F()ъfQ0 FM@V4`Q0 h h`Q@S@(`hF(`hE3 F( F+Q0 F(44ZьQ0 F()ъfQ0 FM@V4`Q0 h h`Q@S@(`hF(`hE3 F( F+Q0 F(44ZьQ0 F()ъfQ0 FM@V4`Q0 h h`Q@S@(`hF(`hE3 F( F+Q0 F(44ZьQ0 F()ъfQ0 FM@V4`Q0 h h`Q@S@(`hF(`hE3 F( F+Q0 F(44ZьQ0 F()ъfQ0 FM@V4`Q0 h h`Q@S@(`hF(`hE3 F( F+Q0 F(44ZьQ0 F()ъfQ0 FM@V4`Q0 h h`Q@S@(`hF(`hE3 F( F+Q0 F(44ZьQ0 F()ъfQ0 FM@V4`Q0 h h`Q@S@(`hF(`hE3 F( F+Q0 F(44ZьQ0 F()ъfQ0 FM@V4`Q0 h h`Q@S@(`hF(`hE3 F( F+Q0 F(44ZьQ0 F()ъfQ0 FM@V4`Q0 h h`Q@S@(`hF(`hE3 F( F+Q0 F(44ZьQ0 F()ъfQ0 FM@V4`Q0 h h`Q@S@(`hF(`hE3 F( F+Q0 F(44ZьQ0 F()ъfQ0 FM@V4`Q0 h h`Q@S@(`hF(`hE3 F( F+Q0 F(44ZьQ0 F()ъfQ0 FM@V4`Q0 h h`Q@S@(`hF(`hE3 F( F+Q0 F(44ZьQ0 F()ъfQ0 FM@V4`Q0 h h`Q@S@(`hF(`hE3 F( F+Q0 F(44ZьQ0 F()ъfQ0 FM@V4`Q0 h h`Q@S@*h(`Q@;WEG(`bh rA`p`Q@$ ;+p@,Xz2 ?##fVH8 F(G ZwF ZoTW/E`Q0 'R\ Z;T'ZofG3 F(G>W@,Xj%_Jf73 F(Py~֣Bz-LHx'3 F( bBD*ъfQ0 F r,@* fQ0 F9 0hCfڱIENDB`\/WgAMA7tEXtSoftwareAdobe ImageReadyqe<.IDATx10/z 7Ыࣗ p:GkhQ0 F(`Fa46hlQ0 F5hlCF@6F(`Pp3@FF(ktP/@ Q0 F( iёQ0#Ɂa4`Q@ SFGF(@|___ 4`Q@ ce]? F7! )01`Q0 F(@_ 4:T< F(`Q@Mͣ(`Q0 Fmr hlQ0 F(6mQ0 F(`hlQ0 F( F``Q0 F(t4`Q0 F(3(`Q0 F@6F(`Q0 h6 F(`Q@g@ Q0 F(`:mQ0 F(`hlQ0 F( F``Q0 F(t4`Q0 F(3(`Q0 F@6F(`Q0 h6 F(`Q@g@ Q0 F(`:mQ0 F(`hlQ0 F( F``Q0 F(t4`Q0 F(3(`Q0 F@6F(`Q0 h6 F(`Q@g@ Q0 F(`:mQ0 F(`hlQ0 F( F``Q0 F(t4`Q0 F(3(`Q0 F@6F(`Q0 h6 F(`Q@g@ Q0 F(`:mQ0 F(`hlQ0 F( F``Q0 F(t4`Q0 F(3(`Q0 F@6F(`Q0 h6 F(`Q@g@ Q0 F(`:mQ0 F(`hlQ0 F( F``Q0 F(t4`Q0 F(3(`Q0 F@6F(`Q0 h6 F(`Q@g@ Q0 F(`:mQ0 F(`hlQ0 F( F``Q0 F(t4`Q0 F(3(`Q0 F@6F(`Q0 h6 F(`Q@g@ Q0 F(`:mQ0 F(`hlQ0 F( F``Q0 F(t4`Q0 F(3(`Q0 F@6F(`Q0 h6 F(`Q@g@ Q0 F(`:mQ0 F(`hlQ0 F( F``Q0 F(t4`Q0 F(3(`Q0 F@6F(`Q0 h6 F(`Q@g@ Q0 F(`:mQ0 F(`hlQ0 F( F``Q0 F(t4`Q0 F(3(`Q0 F@6F(`Q0 h6 F(`Q@g@ Q0 F(`:mQ0 F(`hlQ0 F( F``Q0 F(t4`Q0 F(3(`Q0 F@6F(`Q0 h6 F(`Q@g@ Q0 F(`:mQ0 F(`hlQ0 F( F``Q0 F(t4`Q0 F(3(`Q0 F@6F(`Q0 h6 F(`Q@g@ Q0 F(`:mQ0 F(`hlQ0 F( F``Q0 F(t4`Q0 F(3(`Q0 F@6F(`Q0 h6 F(`Q@g@ Q0 F(`:mQ0 F(`hlQ0 F( F``Q0 F(t4`Q0 F(3(`Q0 F@6F(`Q0 h6 F(`Q@g@ Q0 F(`:mQ0 F(`hlQ0 F( F``Q0 F(t4`Q0 F(3(`Q0 F@6F(`Q0 h6 F(`Q@g@ Q0 F(`:mQ0 F(`hlQ0 F( F``Q0 F(t4`Q0 F(3(`Q0 F@6F(`Q0 h6 F(`Q@g@ Q0 F(`:mQ0 F(`hlQ0 F( F``Q0 F(t4`Q0 F(3(`Q0 F@6F(`Q0 h6 F(`Q@g@ Q0 F(`:mQ0 F(`hlQ0 F( F``Q0 F(t4`Q0 F(3(`Q0 F@6F(`Q0 h6 F(`Q@g@ Q0 F(`:mQ0 F(`hlQ0 F( F``Q0 F(t4`Q0 F(3(`Q0 F@6F(`Q0 h6 F(`Q@g@ Q0 F(`:mQ0 F(`hlQ0 F( F``Q0 F(t4`Q0 F(3(`Q0 F@6F(`Q0 h6 F(`Q@g@ Q0 F(`:mQ0 F(`hlQ0 F( F``Q0 F(t4`Q0 F(3(`Q0 F@6F(`Q0 h6 F(`Q@g@ Q0 F(`:mQ0 F(`hlQ0 F( F``Q0 F(t4`Q0 F(3(`Q0 F@6F(`Q0 h6 F(`Q@g@ Q0 F(`:mQ0 F(`hlQ0 F( F``Q0 F(t4`Q0 F(3(`Q0 F@6F(`Q0 h6 F(`Q@g@ Q0 F(`:mQ0 F(`hlQ0 F( F``Q0 F(t4`Q0 F(3(`Q0 F@6F(`Q0 h6 F(`Q@g@ Q0 F(`:mQ0 F(`hlQ0 F( F``Q0 F(t4`Q0 F(3(`Q0 F@6F(`Q0 h6 F(`Q@g@ Q0 F(`:mQ0 F(`hlQ0 F( F``Q0 F(t4`Q0 F(3(`Q0 F@6F(`Q0 h6 F(`Q@g@ Q0 F(`:mQ0 F(`hlQ0 F( F``Q0 F(t4`Q0 F(3(`Q0 F@6F(`Q0 h6 F(`Q@g@ Q0 F(`:mQ0 F(`hlQ0 F( F``Q0 F(t4`Q0 F(3(`Q0 F@6F(`Q0 h6 F(`Q@g@ Q0 F(`:mQ0 F(`hlQ0 F( F``Q0 F(t4`Q0 F(3(`Q0 F@6F(`Q0 h6 F(`Q@g@ Q0 F(`:mQ0 F(`hlQ0 F( F``Q0 F(t4`Q0 F(3(`Q0 F@6F(`Q0 h6 F(`Q@g@ Q0 F(`:mQ0 F(`hlQ0 F( F``Q0 F(t4`Q0 F(3(`Q0 F@6F(`Q0 h6 F(`Q@g@ Q0 F(`:mQ0 F(`hlQ0 F( F``Q0 F(t4`Q0 F(3(`Q0 F@6F(`Q0 h6 F(`Q@g@ Q0 F(`:mQ0 F(`hlQ0 F( F``Q0 F(t4`Q0 F(3(`Q0 F@6F(`Q0 h6 F(`Q@g@ Q0 F(`:mQ0 F(`hlQ0 F( F``Q0 F(t4`Q0 F(3(`Q0 F@6F(`Q0 h6 F(`Q@g@ Q0 F(`:mQ0 F(`hlQ0 F( F``Q0 F(t4`Q0 F(3(`Q0 F@6F(`Q0 h6 F(`Q@g@ Q0 F(`:mQ0 F(`hlQ0 F( F``Q0 F(t4`Q0 F(3(`Q0 F@6F(`Q0 h6 F(`Q@g@ Q0 F(`:mQ0 F(`hlQ0 F( F``Q0 F(t4`Q0 F(3(`Q0 F@6F(`Q0 h6 F(`Q@g@ Q0 F(`:mQ0 F(`hlQ0 F( F``Q0 F(t4`Q0 F(3(`Q0 F@6F(`Q0 h6 F(`Q@g@ Q0 F(`:mQ0 F(`hlQ0 F( F``Q0 F(t4`Q0 F(3(`Q0 F@6F(`Q0 h6 F(`Q@g@ Q0 F(`:mQ0 F(`hlQ0 F( F``Q0 F(t4`Q0 F(3(`Q0 F@6F(`Q0 h6 F(`Q@g@ Q0 F(`:mQ0 F(`hlQ0 F( F``Q0 F(t4`Q0 F(3(`Q0 F@6F(`Q0 h6 F(`Q@g@ Q0 F(`:mQ0 F(`hlQ0 F( F``Q0 F(t4`Q0 F(3(`Q0 F@6F(`Q0 h6 F(`Q@g@ Q0 F(`:mQ0 F(`hlQ0 F( F``Q0 F(t4`Q0 F(3(`Q0 F@6F(`Q0 h6 F(`Q@g@ Q0 F(`:mQ0 F(`hlQ0 F( F``Q0 F(t4`Q0 F(3(`Q0 F@6F(`Q0 h6 F(`Q@g@ Q0 F(`:mQ0 F(`hlQ0 F( F``Q0 F(t4`Q0 F(3(`Q0 F@6F(`Q0 h6 F(`Q@g@ Q0 F(`:mQ0 F(`hlQ0 F( F``Q0 F(t4`Q0 F(3(`Q0 F@6F(`Q0 h6 F(`Q@g@ Q0 F(`:mQ0 F(`hlQ0 F( F``Q0 F(t4`Q0 F(3(`Q0 F@6F(`Q0 h6 F(`Q@g@ Q0 F(`:mQ0 F(`hlQ0 F( F``Q0 F(t4`Q0 F(3(`Q0 F@6F(`Q0 h6 F(`Q@g@ Q0 F(`:mQ0 F(`hlQ0 F( F``Q0 F(t4`Q0 F(3(`Q0 F@6F(`Q0 h6 F(`Q@g@ Q0 F(`:mQ0 F(`hlQ0 F( F``Q0 F(t4`Q0 F(3(`Q0 F@6F(`Q0 h6 F(`Q@g@ Q0 F(`:mQ0 F(`hlQ0 F( F``Q0 F(t4`Q0 F(3(`Q0 F@6F(`Q0 h6 F(`Q@g@ Q0 F(`:mQ0 F(`hlQ0 F( F``Q0 F(t4`Q0 F(3(`Q0 F@6F(`Q0 h6 F(`Q@g@ Q0 F(`:mQ0 F(`hlQ0 F( F``Q0 F(t4`Q0 F(3(`Q0 F@6F(`Q0 h6 F(`Q@g@ Q0 F(`:mQ0 F(`hlQ0 F( F``Q0 F(t4`Q0 F(3(`Q0 F@6F(`Q0 h6 F(`Q@g@ Q0 F(`:mQ0 F(`hlQ0 F( F``Q0 F(t4`Q0 F(3(`Q0 F@6F(`Q0 h6 F(`Q@g@ Q0 F(`:mQ0 F(`hlQ0 F( F``Q0 F(t4`Q0 F(3(`Q0 F@6F(`Q0 h6 F(`Q@g@ Q0 F(`:mQ0 F(`hlQ0 F( F``Q0 F(t4`Q0 F(3(`Q0 F@6F(`Q0 h6 F(`Q@g@ Q0 F(`:mQ0 F(`hlQ0 F( F``Q0 F(t4`Q0 F(3(`Q0 F@6F(`Q0 h6 F(`Q@g@ Q0 F(`:mQ0 F(`hlQ0 F( F``Q0 F(t4`Q0 F(3(`Q0 F@6F(`Q0 h6 F(`Q@g@ Q0 F(`:mQ0 F(`hlQ0 F( F``Q0 F(t4`Q0 F(3(`Q0 F@6F(`Q0 h6 F(`Q@g@ Q0 F(`:mQ0 F(`hlQ0 F( F``Q0 F(t4`Q0 F(3(`Q0 F@6F(`Q0 h6 F(`Q@g@ Q0 F(`:mQ0 F(`hlQ0 F( F``Q0 F(t4`Q0 F(3(`Q0 F@6F(`Q0 h6 F(`Q@g@ Q0 F(`:mQ0 F(`hlQ0 F( F``Q0 F(t4`Q0 F(3(`Q0 F@6F(`Q0 h6 F(`Q@g@ Q0 F(`:mQ0 F(`hlQ0 F( F``Q0 F(t4`Q0 F(3(`Q0 F@6F(`Q0 h6 F(`Q@g@ Q0 F(`:mQ0 F(`hlQ0 F( F``Q0 F(t4`Q0 F(3(`Q0 F@6F(`Q0 h6 F(`Q@g@ Q0 F(`:mQ0 F(`hlQ0 F( F``Q0 F(t4`Q0 F(3(`Q0 F@6F(`Q0 h6 F(`Q@g@ Q0 F(`:mQ0 F(`hlQ0 F( F``Q0 F(t4`Q0 F(3(`Q0 F@6F(`Q0 h6 F(`Q@g@ Q0 F(`:mQ0 F(`hlQ0 F( F``Q0 F(t4`Q0 F(3(`Q0 F@6F(`Q0 h6 F(`Q@g@ Q0 F(`:mQ0 F(`hlQ0 F( F``Q0 F(t4`Q0 F(3(`Q0 F@6F(`Q0 h6 F(`Q@g@ Q0 F(`:mQ0 F(`hlQ0 F(6? 4`Q0 F(  0mQ0 F(`?h 1pc XFfQ0 FHB;!2 F0ml_߀'2@ Q0 F(u(h+@ Q0 F(o_#``$4#l ΀6 @ Q0 F(FGF(@u_Pׂ@6F(`PYFGF(@0E4`Q@ k6 FF !,@ Q0 F(F` 1`u bIENDB`//EdPNG  IHDR`>WgAMA7tEXtSoftwareAdobe ImageReadyqe</=IDATxb?(`Q@022 Q0 p -b Q0 F(ǐhц(8^`@ Q0 F(4@ 36F(h?$ ohlQ0 F9/fh a Q0 F]7 khlQ0 F bbN f6FGF(@5~w$9p# F``Q0 HGVh0H(#F@h/mQ0 F( k@]/s1Q0R7! )0hlQ0 F9 1(2 FZFad60:'4:T< F(HBQ0 F&@ߤ_# @ Q0 F(4Fw?Q 7P@fQ0 F(4F|Q@r(`Q0 F@6F(`Q0 h6 F(`Q@g@ Q0 F(`:mQ0 F(`hlQ0 F( F``Q0 F(t4`Q0 F(3(`Q0 F@6F(`Q0 h6 F(`Q@g@ Q0 F(`:mQ0 F(`hlQ0 F( F``Q0 F(t4`Q0 F(3(`Q0 F@6F(`Q0 h6 F(`Q@g@ Q0 F(`:mQ0 F(`hlQ0 F( F``Q0 F(t4`Q0 F(3(`Q0 F@6F(`Q0 h6 F(`Q@g@ Q0 F(`:mQ0 F(`hlQ0 F( F``Q0 F(t4`Q0 F(3(`Q0 F@6F(`Q0 h6 F(`Q@g@ Q0 F(`:mQ0 F(`hlQ0 F( F``Q0 F(t4`Q0 F(3(`Q0 F@6F(`Q0 h6 F(`Q@g@ Q0 F(`:mQ0 F(`hlQ0 F( F``Q0 F(t4`Q0 F(3(`Q0 F@6F(`Q0 h6 F(`Q@g@ Q0 F(`:mQ0 F(`hlQ0 F( F``Q0 F(t4`Q0 F(3(`Q0 F@6F(`Q0 h6 F(`Q@g@ Q0 F(`:mQ0 F(`hlQ0 F( F``Q0 F(t4`Q0 F(3(`Q0 F@6F(`Q0 h6 F(`Q@g@ Q0 F(`:mQ0 F(`hlQ0 F( F``Q0 F(t4`Q0 F(3(`Q0 F@6F(`Q0 h6 F(`Q@g@ Q0 F(`:mQ0 F(`hlQ0 F( F``Q0 F(t4`Q0 F(3(`Q0 F@6F(`Q0 h6 F(`Q@g@ Q0 F(`:mQ0 F(`hlQ0 F( F``Q0 F(t4`Q0 F(3(`Q0 F@6F(`Q0 h6 F(`Q@g@ Q0 F(`:mQ0 F(`hlQ0 F( F``Q0 F(t4`Q0 F(3(`Q0 F@6F(`Q0 h6 F(`Q@g@ Q0 F(`:mQ0 F(`hlQ0 F( F``Q0 F(t4`Q0 F(3(`Q0 F@6F(`Q0 h6 F(`Q@g@ Q0 F(`:mQ0 F(`hlQ0 F( F``Q0 F(t4`Q0 F(3(`Q0 F@6F(`Q0 h6 F(`Q@g@ Q0 F(`:mQ0 F(`hlQ0 F( F``Q0 F(t4`Q0 F(3(`Q0 F@6F(`Q0 h6 F(`Q@g@ Q0 F(`:mQ0 F(`hlQ0 F( F``Q0 F(t4`Q0 F(3(`Q0 F@6F(`Q0 h6 F(`Q@g@ Q0 F(`:mQ0 F(`hlQ0 F( F``Q0 F(t4`Q0 F(3(`Q0 F@6F(`Q0 h6 F(`Q@g@ Q0 F(`:mQ0 F(`hlQ0 F( F``Q0 F(t4`Q0 F(3(`Q0 F@6F(`Q0 h6 F(`Q@g@ Q0 F(`:mQ0 F(`hlQ0 F( F``Q0 F(t4`Q0 F(3(`Q0 F@6F(`Q0 h6 F(`Q@g@ Q0 F(`:mQ0 F(`hlQ0 F( F``Q0 F(t4`Q0 F(3(`Q0 F@6F(`Q0 h6 F(`Q@g@ Q0 F(`:mQ0 F(`hlQ0 F( F``Q0 F(t4`Q0 F(3(`Q0 F@6F(`Q0 h6 F(`Q@g@ Q0 F(`:mQ0 F(`hlQ0 F( F``Q0 F(t4`Q0 F(3(`Q0 F@6F(`Q0 h6 F(`Q@g@ Q0 F(`:mQ0 F(`hlQ0 F( F``Q0 F(t4`Q0 F(3(`Q0 F@6F(`Q0 h6 F(`Q@g@ Q0 F(`:mQ0 F(`hlQ0 F( F``Q0 F(t4`Q0 F(3(`Q0 F@6F(`Q0 h6 F(`Q@g@ Q0 F(`:mQ0 F(`hlQ0 F( F``Q0 F(t4`Q0 F(3(`Q0 F@6F(`Q0 h6 F(`Q@g@ Q0 F(`:mQ0 F(`hlQ0 F( F``Q0 F(t4`Q0 F(3(`Q0 F@6F(`Q0 h6 F(`Q@g@ Q0 F(`:mQ0 F(`hlQ0 F( F``Q0 F(t4`Q0 F(3(`Q0 F@6F(`Q0 h6 F(`Q@g@ Q0 F(`:mQ0 F(`hlQ0 F( F``Q0 F(t4`Q0 F(3(`Q0 F@6F(`Q0 h6 F(`Q@g@ Q0 F(`:mQ0 F(`hlQ0 F( F``Q0 F(t4`Q0 F(3(`Q0 F@6F(`Q0 h6 F(`Q@g@ Q0 F(`:mQ0 F(`hlQ0 F( F``Q0 F(t4`Q0 F(3(`Q0 F@6F(`Q0 h6 F(`Q@g@ Q0 F(`:mQ0 F(`hlQ0 F( F``Q0 F(t4`Q0 F(3(`Q0 F@6F(`Q0 h6 F(`Q@g@ Q0 F(`:mQ0 F(`hlQ0 F( F``Q0 F(t4`Q0 F(3(`Q0 F@6F(`Q0 h6 F(`Q@g@ Q0 F(`:mQ0 F(`hlQ0 F( F``Q0 F(t4`Q0 F(3(`Q0 F@6F(`Q0 h6 F(`Q@g@ Q0 F(`:mQ0 F(`hlQ0 F( F``Q0 F(t4`Q0 F(3(`Q0 F@6F(` ѣ`"@6F(`PRQ0 F&@6F(`Bnxߣ2 FVGb@(`2aO Y{ ?Ao0mQ0 F( bU.W/h2:2 Ffɀ #mQ0 F( w*\GFGFhGu;(@6F(`ۻU6ѯQ0 P :IhlQ0 F{ eeW^Aް F``Q0 (iCjx6F('@ Q0 F(V. Q0 @`< F(`Q@O@ &G(`Q0 h6 F(`Q@g@ Q0 F(`:mQ0 F(`hlQ0 F( F``Q0 F(t4`Q0 F(3(`Q0 F@6F(`Q0 h6 F(`Q@g@ Q0 F(`:mQ0 F(`hlQ0 F( F``Q0 F(t4`Q0 F(3(`Q0 F@6F(`Q0 h6 F(`Q@g@ Q0 F(`:mQ0 F(`hlQ0 F( F``Q0 F(t4`Q0 F(3(`Q0 F@6F(`Q0 h6 F(`Q@g@ Q0 F(`:mQ0 F(`hlQ0 F( F``Q0 F(t4`Q0 F(3(`Q0 F@6F(`Q0 h6 F(`Q@g@ Q0 F(`:mQ0 F(`hlQ0 F( F``Q0 F(t4`Q0 F(3(`Q0 F@6F(`Q0 h6 F(`Q@g@ Q0 F(`:mQ0 F(`hlQ0 F( F``Q0 F(t4`Q0 F(3(`Q0 F@6F(`Q0 h6 F(`Q@g@ Q0 F(`:mQ0 F(`hlQ0 F( F``Q0 F(t4`Q0 F(3(`Q0 F@6F(`Q0 h6 F(`Q@g@ Q0 F(`:mQ0 F(`hlQ0 F( F``Q0 F(t4`Q0 F(3(`Q0 F@6F(`Q0 h6 F(`Q@g@ Q0 F(`:mQ0 F(`hlQ0 F( F``Q0 F(t4`Q0 F(3(`Q0 F@6F(`Q0 h6 F(`Q@g@ Q0 F(`:mQ0 F(`hlQ0 F( F``Q0 F(t4`Q0 F(3(`Q0 F@6F(`Q0 h6 F(`Q@g@ Q0 F(`:mQ0 F(`hlQ0 F( F``Q0 F(t4`Q0 F(3(`Q0 F@6F(`Q0 h6 F(`Q@g@ Q0 F(`:mQ0 F(`hlQ0 F( F``Q0 F(t4`Q0 F(3(`Q0 F@6F(`Q0 h6 F(`Q@g@ Q0 F(`:mQ0 F(`hlQ0 F( F``Q0 F(t4`Q0 F(3(`Q0 F@6F(`Q0 h6 F(`Q@g@ Q0 F(`:mQ0 F(`hlQ0 F( F``Q0 F(t4`Q0 F(3(`Q0 F@6F(`Q0 h6 F(`Q@g@ Q0 F(`:mQ0 F(`hlQ0 F( F``Q0 F(t4`Q0 F(3(`Q0 F@6F(`Q0 h6 F(`Q@g@ Q0 F(`:mQ0 F(`hlQ0 F( F``Q0 F(t4`Q0 F(3(`Q0 F@6F(`Q0 h6 F(`Q@g@ Q0 F(`:mQ0 F(`hlQ0 F( F``Q0 F(t4`Q0 F(3(`Q0 F@6F(`Q0 h6 F(`Q@g@ Q0 F(`:mQ0 F(`hlQ0 F( F``Q0 F(t4`Q0 F(3(`Q0 F@6F(`Q0 h6 F(`Q@g@ Q0 F(`:mQ0 F(`hlQ0 F( F``Q0 F(t4`Q0 F(3(`Q0 F@6F(`Q0 h6 F(`Q@g@ Q0 F(`:mQ0 F(`hlQ0 F( F``Q0 F(t4`Q0 F(3(`Q0 F@6F(`Q0 h6 F(`Q@g@ Q0 F(`:mQ0 F(`hlQ0 F( F``Q0 F(t4`Q0 F(3(`Q0 F@6F(`Q0 h6 F(`Q@g@ Q0 F(`:mQ0 F(`hlQ0 F( F``Q0 F(t4`Q0 F(3(`Q0 F@6F(`Q0 h6 F(`Q@g@ Q0 F(`:mQ0 F(`hlQ0 F( F``Q0 F(t4`Q0 F(3(`Q0 F@6F(`Q0 h6 F(`Q@g@ Q0 F(`:mQ0 F(`hlQ0 F( F``Q0 F(t4`Q0 F(3(`Q0 F@6F(`Q0 h6 F(`Q@g@ Q0 F(`:mQ0 F(`hlQ0 F( F``Q0 F(t4`Q0 F(3(`Q0 F@6F(`Q0 h6 F(`Q@g@ Q0 F(`:mQ0 F(`hlQ0 F( F``Q0 F(t4`Q0 F(3(`Q0 F@6F(`Q0 h6 F(`Q@g@ Q0 F(`:mQ0 F(`hlQ0 F( F``Q0 F(t4`Q0 F(3(`Q0 F@6F(`Q0 h6 F(`Q@g@ Q0 F(`:mQ0 F(`hlQ0 F( F``Q0 F(t4`Q0 F(3(`Q0 F@6F(`Q0 h6 F(`Q@g@ Q0 F(`:mQ0 F(`hlQ0 F( F``Q0 F(t4`Q0 F(3(`Q0 F@6F(`Q0 h6 F(`Q@g@ Q0 F(`:mQ0 F(`hlQ0 F( F``Q0 F(t4`Q0 F(3(`Q0 F@6F(`Q0 h6 F(`Q@g@ Q0 F(`:mQ0 F(`hlQ0 F( F``Q0 F(t4`Q0 F(3(`Q0 F@6F(`Q0 h6 F(`Q@g@ Q0 F(`:mQ0 F(`hlQ0 F( F``Q0 F(t4`Q0 F(3(`Q0 F@6F(`Q0 h6 F(`Q@g@ Q0 F(`:mQ0 F(`hlQ0 F( F``Q0 F(t4`Q0 F(3(`Q0 F@6F(`Q0 h6 F(`Q@g@ Q0 F(`:mQ0 F(`hlQ0 F( F``Q0 F(t4`Q0 F(3(`Q0 F@6F(`Q0 h6 F(`Q@g@ Q0 F(`:mQ0 F(`hlQ0 F( F``Q0 F(t4`Q0 F(30acLSAIENDB`//;z4PNG  IHDR`>WgAMA7tEXtSoftwareAdobe ImageReadyqe</hIDATxb?(`Q@ `P+7[2.`Q0 G`̆5h6 F(m4F(h?$ -7h6 F(g4F(@F g4`Q@ 4`@W /P'G (`j `#_WT?@6F(`PQhhFA@ _@Ġ8z (`Q0 F##oWhC@1(`Q0 FM+fF@4`Q0 F( @nxmQ0 F(`0p@ Q0 F(`:mQ0 F(`hlQ0 F( F``Q0 F(t4`Q0 F(3(`Q0 F@6F(`Q0 h6 F(`Q@g@ Q0 F(`:mQ0 F(`hlQ0 F( F``Q0 F(t4`Q0 F(3(`Q0 F@6F(`Q0 h6 F(`Q@g@ Q0 F(`:mQ0 F(`hlQ0 F( F``Q0 F(t4`Q0 F(3(`Q0 F@6F(`Q0 h6 F(`Q@g@ Q0 F(`:mQ0 F(`hlQ0 F( F``Q0 F(t4`Q0 F(3(`Q0 F@6F(`Q0 h6 F(`Q@g@ Q0 F(`:mQ0 F(`hlQ0 F( F``Q0 F(t4`Q0 F(3(`Q0 F@6F(`Q0 h6 F(`Q@g@ Q0 F(`:mQ0 F(`hlQ0 F( F``Q0 F(t4`Q0 F(3(`Q0 F@6F(`Q0 h6 F(`Q@g@ Q0 F(`:mQ0 F(`hlQ0 F( F``Q0 F(t4`Q0 F(3(`Q0 F@6F(`Q0 h6 F(`Q@g@ Q0 F(`:mQ0 F(`hlQ0 F( F``Q0 F(t4`Q0 F(3(`Q0 F@6F(`Q0 h6 F(`Q@g@ Q0 F(`:mQ0 F(`hlQ0 F( F``Q0 F(t4`Q0 F(3(`Q0 F@6F(`Q0 h6 F(`Q@g@ Q0 F(`:mQ0 F(`hlQ0 F( F``Q0 F(t4`Q0 F(3(`Q0 F@6F(`Q0 h6 F(`Q@g@ Q0 F(`:mQ0 F(`hlQ0 F( F``Q0 F(t4`Q0 F(3(`Q0 F@6F(`Q0 h6 F(`Q@g@ Q0 F(`:mQ0 F(`hlQ0 F( F``Q0 F(t4`Q0 F(3(`Q0 F@6F(`Q0 h6 F(`Q@g@ Q0 F(`:mQ0 F(`hlQ0 F( F``Q0 F(t4`Q0 F(3(`Q0 F@6F(`Q0 h6 F(`Q@g@ Q0 F(`:mQ0 F(`hlQ0 F( F``Q0 F(t4`Q0 F(3(`Q0 F@6F(`Q0 h6 F(`Q@g@ Q0 F(`:mQ0 F(`hlQ0 F( F``Q0 F(t4`Q0 F(3(`Q0 F@6F(`Q0 h6 F(`Q@g@ Q0 F(`:mQ0 F(`hlQ0 F( F``Q0 F(t4`Q0 F(3(`Q0 F@6F(`Q0 h6 F(`Q@g@ Q0 F(`:mQ0 F(`hlQ0 F( F``Q0 F(t4`Q0 F(3(`Q0 F@6F(`Q0 h6 F(`Q@g@ Q0 F(`:mQ0 F(`hlQ0 F( F``Q0 F(t4`Q0 F(3(`Q0 F@6F(`Q0 h6 F(`Q@g@ Q0 F(`:mQ0 F(`hlQ0 F( F``Q0 F(t4`Q0 F(3(`Q0 F@6F(`Q0 h6 F(`Q@g@ Q0 F(`:mQ0 F(`hlQ0 F( F``Q0 F(t4`Q0 F(3(`Q0 F@6F(`Q0 h6 F(`Q@g@ Q0 F(`:mQ0 F(`hlQ0 F( F``Q0 F(t4`Q0 F(3(`Q0 F@6F(`Q0 h6 F(`Q@g@ Q0 F(`:mQ0 F(`hlQ0 F( F``Q0 F(t4`Q0 F(3(`Q0 F@6F(`Q0 h6 F(`Q@g@ Q0 F(`:mQ0 F(`hlQ0 F( F``Q0 F(t4`Q0 F(3(`Q0 F@6F(`Q0 h6 F(`Q@g@ Q0 F(`:mQ0 F(`hlQ0 F( F``Q0 F(t4`Q0 F(3(`Q0 F@6F(`Q0 h6 F(`Q@g@ Q0 F(`:mQ0 F(`hlQ0 F( F``Q0 F(t4`Q0 F(3(`Q0 F@6F(`Q0 h6 F(`Q@g@ Q0 F(`:mQ0 F(`hlQ0 F( F``Q0 F(t4`Q0 F(3(`Q0 F@6F(`Q0 h6 F(`Q@g@ Q0 F(`:mQ0 F(`hlQ0 F( F``Q0 F(t4`Q0 F(3(`Q0 F@6F(`Q0 h6 F(`Q@g@ Q0 F(`:mQ0 F(`hlQ0 F( F``Q0 F(t4`Q0 F(3(`Q0 F@6F(`Q0 h6 F(`Q@g@ Q0 F(`:mQ0 F(`hlQ0 F( F``Q0 F(t4`Q0 F(3(`Q0 F@6F(`Q0 h6 F(`Q@g@ Q0 F(`:mQ0 F(`hlQ0 F( F``Q0 F(t4`Q0 F(3(`Q0 F@6F(`Q0 h6 F(`Q@g@ Q0 F(`:mQ0 F(`hlQ0 F( F``Q0 F(t4`Q0 F(3(`Q0 F@6F(`Q0 h6 F(`Q@g@ Q0 F(`:mQ0 F(`hlQ0 F( F``Q0 F(t4`Q0 F(3(`Q0 F@6F(`Q0 h6 F(`Q@g@ Q0 F(`:mQ0 F(`hlQ0 F( F``Q0 F(t4`Q0 F(3(`Q0 F@6F(`Q0 h6 F(`Q@g@ Q0 F(`:mQ0 F(`hlQ0 F( F``Q0 F(t4`Q0 F(3(`Q0 F@6F(`Q0 h6 F(`Q@g@ Q0 F(`:mQ0 F(`G F``Q0 F(@ Q0 F(`ڀ@!nh،Q0 F(022&B+ gC>(/|P6H@6F(`P]; hA(/|@6F(`P6>apF(I逍 Q0mQ0 F(@fL`LQ0l}j 4`Q@Š)ɿ Q0BH"|mQ0 F(Eo1w4hFn!7lhlQ0 F5+XC/NA|iyhlQ0 FM{é^Q@.уXG(`Q0 h6 F(`Q@g@ Q0 F(`:mQ0 F(`hlQ0 F( F``Q0 F(t4`Q0 F(3(`Q0 F@6F(`Q0 h6 F(`Q@g@ Q0 F(`:mQ0 F(`hlQ0 F( F``Q0 F(t4`Q0 F(3(`Q0 F@6F(`Q0 h6 F(`Q@g@ Q0 F(`:mQ0 F(`hlQ0 F( F``Q0 F(t4`Q0 F(3(`Q0 F@6F(`Q0 h6 F(`Q@g@ Q0 F(`:mQ0 F(`hlQ0 F( F``Q0 F(t4`Q0 F(3(`Q0 F@6F(`Q0 h6 F(`Q@g@ Q0 F(`:mQ0 F(`hlQ0 F( F``Q0 F(t4`Q0 F(3(`Q0 F@6F(`Q0 h6 F(`Q@g@ Q0 F(`:mQ0 F(`hlQ0 F( F``Q0 F(t4`Q0 F(3(`Q0 F@6F(`Q0 h6 F(`Q@g@ Q0 F(`:mQ0 F(`hlQ0 F( F``Q0 F(t4`Q0 F(3(`Q0 F@6F(`Q0 h6 F(`Q@g@ Q0 F(`:mQ0 F(`hlQ0 F( F``Q0 F(t4`Q0 F(3(`Q0 F@6F(`Q0 h6 F(`Q@g@ Q0 F(`:b Q0 F(+8H``Q0 F(3(`Q0 F@6F(`Q0 h6 F(`Q@g@ Q0 F(`:mQ0 F(`hlQ0 F( F``Q0 F(t4`Q0 F(3(`Q0 F@6F(`Q0 h6 F(`Q@g@ Q0 F(`:mQ0 F(`hlQ0 F( F``Q0 F(t4`Q0 F(3(`Q0 F@6F(`Q0 h6 F(`Q@g@ Q0 F(`:mQ0 F(`hlQ0 F( F``Q0 F(t4`Q0 F(3(`Q0 F@6F(`Q0 h6 F(`Q@g@ Q0 F(`:mQ0 F(`hlQ0 F( F``Q0 F(t4`Q0 F(3(`Q0 F@6F(`Q0 h6 F(`Q@g@ Q0 F(`:mQ0 F(`hlQ0 F( F``Q0 F(t4`Q0 F(3(`Q0 F@6F(`Q0 h6 F(`Q@g@ Q0 F(`:mQ0 F(`hlQ0 F( F``Q0 F(t4`Q0 F(3(`Q0 F@6F(`Q0 h6 F(`Q@g@ Q0 F(`:mQ0 F(`hlQ0 F( F``Q0 F(t4`Q0 F(3(`Q0 F@6F(`Q0 h6 F(`Q@g@ Q0 F(`:mQ0 F(`hlQ0 F( F``Q0 F(t4`Q0 F(3(`Q0 F@6F(`Q0 h6 F(`Q@g@ Q0 F(`:mQ0 F(`hlQ0 F( F``Q0 F(t4`Q0 F(3(`Q0 F@6F(`Q0 h6 F(`Q@g@ Q0 F(`:mQ0 F(`hlQ0 F( F``Q0 F(t4`Q0 F(3(`Q0 F@6F(`Q0 h6 F(`Q@g@ Q0 F(`:mQ0 F(`hlQ0 F( F``Q0 F(t4`Q0 F(3(`Q0 F@6F(`Q0 h6 F(`Q@g@ Q0 F(`:mQ0 F(`hlQ0 F( F``Q0 F(t4`Q0 F(3(`Q0 F@6F(`Q0 h6 F(`Q@g@ Q0 F(`:mQ0 F(`hlQ0 F( F``Q0 F(t4`Q0 F(3(`Q0 F@6F(`Q0 h6 F(`Q@g@ Q0 F(`:mQ0 F(`hlQ0 F( F``Q0 F(t4`Q0 F(3(`Q0 F@6F(`Q0 h6 F(`Q@g@ Q0 F(`:mQ0 F(`hlQ0 F( F``Q0 F(t4`Q0 F(3(`Q0 F@6F(`Q0 h6 F(`Q@g@ Q0 F(`:mQ0 F(`hlQ0 F( F``Q0 F(t4`Q0 F(3(`Q0 F@6F(`Q0 h6 F(`Q@g@ Q0 F(`:mQ0 F(`hlQ0 F( F``Q0 F(t4`Q0 F(3(`Q0 F@6F(`Q0 h6 F(`Q@g@ Q0 F(`:mQ0 F(`hlQ0 F( F``Q0 F(t4`Q0 F(3(`Q0 F@6F(`Q0 h6 F(`Q@g@ Q0 F(`:mQ0 F(`hlQ0 F( F``Q0 F(t4`Q0 F(3(`Q0 F@6F(`Q0 h6 F(`Q@g@ Q0 F(`:mQ0 F(`hlQ0 F( F``Q0 F(t4`Q0 F(3(`Q0 F@6F(`Q0 h6 F(`Q@g@ Q0 F(`:mQ0 F(`hlQ0 F( F``Q0 F(t4`Q0 F(3(`Q0 F@6F(`Q0 h6 F(`Q@g@ Q0 F(`:mQ0 F(`hlQ0 F( F``Q0 F(t4`Q0 F(3(`Q0 F@6F(`Q0 h6 F(`Q@g@ Q0 F(`:b Q0 F( ?``Q0 F(3(`Q0 F@6F(`Q0 h6 F(`Q@g@ Q0 F(`:mQ0 F(`hlQ0 F( F``Q0 F(t4`Q0 F(3(`Q0 F@6F(`Q0 h6 F(`Q@g@ Q0 F(`:mQ0 F(`hlQ0 F( F``Q0 F(t4`Q0 F(3(`Q0 F@6F(`Q0 h6 F(?= F(h6 F(6F( hlQ0 F5o mQhlQ0 F57 mQ@hlQ0 F5g ma/ `Q@0: 6 FA@ Q0 F(? kmQ hlQ0 F57Q0 mQ0 F(?:5 Fn@ Q0 F(5_ Q0 ޘMIENDB` /&.EEdPNG  IHDR`>WgAMA7tEXtSoftwareAdobe ImageReadyqe<.|IDATxձ 0 ð ;K5L `Q@N{ FQ0 H2`Q0 (l|`x@ Q0 F(4u+14`htxQ0 F9u\@;$`h6 F(z|q1 (mQ0 F( kF؁atl@6F(`a\A2 Fi F``Q0 Hm|!-`h6 F(9``h4ӌQ0 F(LQ0 4`Q0 F(3(`Q0 F@6F(`Q0 h6 F(`Q@g@ Q0 F(`:mQ0 F(`hlQ0 F( F``Q0 F(t4`Q0 F(3(`Q0 F@6F(`Q0 h6 F(`Q@g@ Q0 F(`:mQ0 F(`hlQ0 F( F``Q0 F(t4`Q0 F(3(`Q0 F@6F(`Q0 h6 F(`Q@g@ Q0 F(`:mQ0 F(`hlQ0 F( F``Q0 F(t4`Q0 F(3(`Q0 F@6F(`Q0 h6 F(`Q@g@ Q0 F(`:mQ0 F(`hlQ0 F( F``Q0 F(t4`Q0 F(3(`Q0 F@6F(`Q0 h6 F(`Q@g@ Q0 F(`:mQ0 F(`hlQ0 F( F``Q0 F(t4`Q0 F(3(`Q0 F@6F(`Q0 h6 F(`Q@g@ Q0 F(`:mQ0 F(`hlQ0 F( F``Q0 F(t4`Q0 F(3(`Q0 F@6F(`Q0 h6 F(`Q@g@ Q0 F(`:mQ0 F(`hlQ0 F( F``Q0 F(t4`Q0 F(3(`Q0 F@6F(`Q0 h6 F(`Q@g@ Q0 F(`:mQ0 F(`hlQ0 F( F``Q0 F(t4`Q0 F(3(`Q0 F@6F(`Q0 h6 F(`Q@g@ Q0 F(`:mQ0 F(`hlQ0 F( F``Q0 F(t4`Q0 F(3(`Q0 F@6F(`Q0 h6 F(`Q@g@ Q0 F(`:mQ0 F(`hlQ0 F( F``Q0 F(t4`Q0 F(3(`Q0 F@6F(`Q0 h6 F(`Q@g@ Q0 F(`:mQ0 F(`hlQ0 F( F``Q0 F(t4`Q0 F(3(`Q0 F@6F(`Q0 h6 F(`Q@g@ Q0 F(`:mQ0 F(`hlQ0 F( F``Q0 F(t4`Q0 F(3(`Q0 F@6F(`Q0 h6 F(`Q@g@ Q0 F(`:mQ0 F(`hlQ0 F( F``Q0 F(t4`Q0 F(3(`Q0 F@6F(`Q0 h6 F(`Q@g@ Q0 F(`:mQ0 F(`hlQ0 F( F``Q0 F(t4`Q0 F(3(`Q0 F@6F(`Q0 h6 F(`Q@g@ Q0 F(`:mQ0 F(`hlQ0 F( F``Q0 F(t4`Q0 F(3(`Q0 F@6F(`Q0 h6 F(`Q@g@ Q0 F(`:mQ0 F(`hlQ0 F( F``Q0 F(t4`Q0 F(3(`Q0 F@6F(`Q0 h6 F(`Q@g@ Q0 F(`:mQ0 F(`hlQ0 F( F``Q0 F(t4`Q0 F(3(`Q0 F@6F(`Q0 h6 F(`Q@g@ Q0 F(`:mQ0 F(`hlQ0 F( F``Q0 F(t4`Q0 F(3(`Q0 F@6F(`Q0 h6 F(`Q@g@ Q0 F(`:mQ0 F(`hlQ0 F( F``Q0 F(t4`Q0 F(3(`Q0 F@6F(`Q0 h6 F(`Q@g@ Q0 F(`:mQ0 F(`hlQ0 F( F``Q0 F(t4`Q0 F(3(`Q0 F@6F(`Q0 h6 F(`Q@g@ Q0 F(`:mQ0 F(`hlQ0 F( F``Q0 F(t4`Q0 F(3(`Q0 F@6F(`Q0 h6 F(`Q@g@ Q0 F(`:mQ0 F(`hlQ0 F( F``Q0 F(t4`Q0 F(3(`Q0 F@6F(`Q0 h6 F(`Q@g@ Q0 F(`:mQ0 F(`hlQ0 F( F``Q0 F(t4`Q0 F(3(`Q0 F@6F(`Q0 h6 F(`Q@g@ Q0 F(`:mQ0 F(`hlQ0 F( F``Q0 F(t4`Q0 F(3(`Q0 F@6F(`Q0 h6 F(`Q@g@ Q0 F(`:mQ0 F(`hlQ0 F( F``Q0 F(t4`Q0 F(3(`Q0 F@6F(`Q0 h6 F(`Q@g@ Q0 F(`:mQ0 F(`hlQ0 F( F``Q0 F(t4`Q0 F(3(`Q0 F@6F(`Q0 h6 F(`Q@g@ Q0 F(`:mQ0 F(`hlQ0 F( F``Q0 F(t4`Q0 F(3(`Q0 F@6F(`Q0 h6 F(`Q@g@ Q0 F(`:mQ0 F(`hlQ0 F( F``Q0 F(t4`Q0 F(3(`Q0 F@6F(`Q0 h6 F(`Q@g@ Q0 F(`:mQ0 F(`hlQ0 F( F``Q0 F(t4`Q0 F(3(`Q0 F@6F(`Q0 h6 F(`Q@g@ Q0 F(`:mQ0 F(`hlQ0 F( F``Q0 F(t4`Q0 F(3(`Q0 F@6F(`Q0 h6 F(`Q@g@ Q0 F(`:mQ0 F(`hlQ0 F( F``Q0 F(t4`Q0 F(3(`Q0 F@6F(`Q0 h6 F(`Q@g@ Q0 F(`:mQ0 F(`hlQ0 F( F``Q0 F(t4`Q0 F(3(`Q0 F@6F(`Q0 h6 F(`Q@g@ Q0 F(`:mQ0 F(`hlQ0 F( F``Q0 F(t4`Q0 F(3(`Q0 F@6F(`Q0 h6 F(`Q@g@ Q0 F(`:mQ0 F(`hlQ0 F( F``Q0 F(t4`Q0 F(3(`Q0 F@6F(`Q0 h6 F(`Q@g@ Q0 F(`:mQ0 F(`hlQ0 F( F``Q0 F(t4`Q0 F(3(`Q0 F@6F(`Q0 h6 F(`Q@g@ Q0 F(`:mQ0 F(`hlQ0 F( F``Q0 F(t4`Q0 F(3(`Q0 F@6F(`Q0 h6 F(`Q@g@ Q0 F(`:mQ0 F(`hlQ0 F( F``Q0 F(t4`Q0 F(3(`Q0 F@6F(`Q0 h6 F(`Q@g@ Q0 F(`:mQ0 F(`hlQ0 F( F``Q0 F(t4`Q0 F(3(`Q0 F@6F(`Q0 h6 F(`Q@g@ Q0 F(`:mQ0 F(`hlQ0 F( F``Q0 F(t4`Q0 F(3(`Q0 F@6F(`Q0 h6 F(`Q@g@ Q0 F(`:mQ0 F(`hlQ0 F( F``Q0 F(t4`Q0 F(3(`Q0 F@6F(`Q0 h6 F(`Q@g@ Q0 F(`:mQ0 F(`hlQ0 F( F``Q0 F(t4`Q0 F(3(`Q0 F@6F(`Q0 h6 F(`Q@g@ Q0 F(`:mQ0 F(`hlQ0 F( F``Q0 F(t4`Q0 F(3(`Q0 F@6F(`Q0 h6 F(`Q@g@ Q0 F(`:mQ0 F(`hlQ0 F( F``Q0 F(t4`Q0 F(3(`Q0 F@6F(`Q0 h6 F(`Q@g@ Q0 F(`:mQ0 F(`hlQ0 F( F``Q0 F(t4`Q0 F(3(`Q0 F@6F(`Q0 h6 F(`Q@g@ Q0 F(`:mQ0 F(`hlQ0 F( F``Q0 F(t4`Q0 F(3(`Q0 F@6F(`Q0 h6 F(`Q@g@ Q0 F(`:mQ0 F(`hlQ0 F( F``Q0 F(t4`Q0 F(3(`Q0 F@6F(`Q0 h6 F(`Q@g@ Q0 F(`:mQ0 F(`hlQ0 F( F``Q0 F(t4`Q0 F(3(`Q0 F@6F(`Q0 h6 F(`Q@g@ Q0 F(`:mQ0 F(`hlQ0 F( F``Q0 F(t4`Q0 F(3(`Q0 F@6F(`Q0 h6 F(`Q@g@ Q0 F(`:mQ0 F(`hlQ0 F( F``Q0 F(t4`Q0 F(3(`Q0 F@6F(`Q0 h6 F(`Q@g@ Q0 F(`:mQ0 F(`hlQ0 F( F``Q0 F(t4`Q0 F(3(`Q0 F@6F(`Q0 h6 F(`Q@g@ Q0 F(`:mQ0 F(`hlQ0 F( F``Q0 F(t4`Q0 F(3(`Q0 F@6F(`Q0 h6 F(`Q@g@ Q0 F(`:mQ0 F(`hlQ0 F( F``Q0 F(t4`Q0 F(3(`Q0 F@6F(`Q0 h6 F(`Q@g@ Q0 F(`:mQ0 F(`hlQ0 F( F``Q0 F(t4`Q0 F(3(`Q0 F@6F(`Q0 h6 F(`Q@g@ Q0 F(`:mQ0 F(`hlQ0 F( F``Q0 F(t4`Q0 F(3(`Q0 F@6F(`Q0 h6 F(`Q@g@ Q0 F(`:mQ0 F(`hlQ0 F( F``Q0 F(t4`Q0 F(3(`Q0 F@6F(`Q0 h6 F(`Q@g@ Q0 F(`:mQ0 F(`hlQ0 F( F``Q0 F(t4`Q0 F(3(`Q0 F@6F(`Q0 h6 F(`Q@g@ Q0 F(`:mQ0 F(`hlQ0 F( F``Q0 F(t4`Q0 F(3(`Q0 F@6F(`Q0 h6 F(`Q@g@ Q0 F(`:mQ0 F(`hlQ0 F( F``Q0 F(t4`Q0 F(3(`Q0 F@6F(`Q0 h6 F(`Q@g@ Q0 F(`:mQ0 F(`hlQ0 F( F``Q0 F(t4`Q0 F(3(`Q0 F@6F(`Q0 h6 F(`Q@g@ Q0 F(`:mQ0 F(`hlQ0 F( F``Q0 F(t4`Q0 F(3(`Q0 F@6F(`Q0 h6 F(`Q@g@ Q0 F(`:mQ0 F(`hlQ0 F( F``Q0 F(t4`Q0 F(3(`Q0 F@6F(`Q0 h6 F(`Q@g@ Q0 F(`:mQ0 F(`hlQ0 F( F``Q0 F(t4`Q0 F(3(`Q0 F@6F(`Q0 h6 F(`Q@g@ Q0 F(`:mQ0 F(`hlQ0 F( F``Q0 F(t4`Q0 F(3(`Q0 F@6F(`Q0 h6 F(`Q@g@ Q0 F(`:mQ0 F(`hlQ0 F( F``Q0 F(t4`Q0 F(3(`Q0 F@6F(`Q0 h6 F(`Q@g@ Q0 F(`:mQ0 F(`hlQ0 F( F``Q0 F(t4`Q0 F(3(`Q0 F@6F(`Q0 h6 F(`Q@g@ Q0 F(`:mQ0 F(`hlQ0 F( F``Q0 F(t4`Q0 F(3(`Q0 F@6F(`Q0 h6 F(`Q@g@ Q0 F(`:mQ0 F(`hlQ0 F( F``Q0 F(t4`Q0 F(3(`Q0 F@6F(`Q0 h6 F(`Q@g@ Q0 F(`:mQ0 F(`hlQ0 F( F``Q0 F(t4`Q0 F(3(`Q0 F@6F(`Q0 h6 F(`Q@g@ Q0 F(`:mQ0 F(`hlQ0 F( F``Q0 F(t4`Q0 F(3(`r4zQ@$(`J`xQ@(`R] ?@{4XF( hlQ0 F9ІO 6$`e4F(`5@__Ge@6F(`~} Q0 H4`Q@*dFd@6F(``GNAzQ0 H4`Q@I# 48$`h6 F(F(h15f=IENDB` 0U/O;PNG  IHDR`>WgAMA7tEXtSoftwareAdobe ImageReadyqe</|IDATxb?(022 Q0 0d@(cH4hClhQ@<(_ ̄G``6F(hl/fh^aҰ((mQ0A s1;!6:6 F*x5`h6 Fnzd6Q0 hQ@<(_ j|1((`Q@(bQ0P#;FeQ0 F% FPF(B [? F(`Ph6 Fݏ`Q0 h22= F(` h6 F(`Q@g@ Q0 F(`:mQ0 F(`hlQ0 F( F``Q0 F(t4`Q0 F(3(`Q0 F@6F(`Q0 h6 F(`Q@g@ Q0 F(`:mQ0 F(`hlQ0 F( F``Q0 F(t4`Q0 F(3(`Q0 F@6F(`Q0 h6 F(`Q@g@ Q0 F(`:mQ0 F(`hlQ0 F( F``Q0 F(t4`Q0 F(3(`Q0 F@6F(`Q0 h6 F(`Q@g@ Q0 F(`:mQ0 F(`hlQ0 F( F``Q0 F(t4`Q0 F(3(`Q0 F@6F(`Q0 h6 F(`Q@g@ Q0 F(`:mQ0 F(`hlQ0 F( F``Q0 F(t4`Q0 F(3(`Q0 F@6F(`Q0 h6 F(`Q@g@ Q0 F(`:mQ0 F(`hlQ0 F( F``Q0 F(t4`Q0 F(3(`Q0 F@6F(`Q0 h6 F(`Q@g@ Q0 F(`:mQ0 F(`hlQ0 F( F``Q0 F(t4`Q0 F(3(`Q0 F@6F(`Q0 h6 F(`Q@g@ Q0 F(`:mQ0 F(`hlQ0 F( F``Q0 F(t4`Q0 F(3(`Q0 F@6F(`Q0 h6 F(`Q@g@ Q0 F(`:mQ0 F(`hlQ0 F( F``Q0 F(t4`Q0 F(3(`Q0 F@6F(`Q0 h6 F(`Q@g@ Q0 F(`:mQ0 F(`hlQ0 F( F``Q0 F(t4`Q0 F(3(`Q0 F@6F(`Q0 h6 F(`Q@g@ Q0 F(`:mQ0 F(`hlQ0 F( F``Q0 F(t4`Q0 F(3(`Q0 F@6F(`Q0 h6 F(`Q@g@ Q0 F(`:mQ0 F(`hlQ0 F( F``Q0 F(t4`Q0 F(3(`Q0 F@6F(`Q0 h6 F(`Q@g@ Q0 F(`:mQ0 F(`hlQ0 F( F``Q0 F(t4`Q0 F(3(`Q0 F@6F(`Q0 h6 F(`Q@g@ Q0 F(`:mQ0 F(`hlQ0 F( F``Q0 F(t4`Q0 F(3(`Q0 F@6F(`Q0 h6 F(`Q@g@ Q0 F(`:mQ0 F(`hlQ0 F( F``Q0 F(t4`Q0 F(3(`Q0 F@6F(`Q0 h6 F(`Q@g@ Q0 F(`:mQ0 F(`hlQ0 F( F``Q0 F(t4`Q0 F(3(`Q0 F@6F(`Q0 h6 F(`Q@g@ Q0 F(`:mQ0 F(`hlQ0 F( F``Q0 F(t4`Q0 F(3(`Q0 F@6F(`Q0 h6 F(`Q@g@ Q0 F(`:mQ0 F(`hlQ0 F( F``Q0 F(t4`Q0 F(3(`Q0 F@6F(`Q0 h6 F(`Q@g@ Q0 F(`:mQ0 F(`hlQ0 F( F``Q0 F(t4`Q0 F(3(`Q0 F@6F(`Q0 h6 F(`Q@g@ Q0 F(`:mQ0 F(`hlQ0 F( F``Q0 F(t4`Q0 F(3(`Q0 F@6F(`Q0 h6 F(`Q@g@ Q0 F(`:mQ0 F(`hlQ0 F( F``Q0 F(t4`Q0 F(3(`Q0 F@6F(`Q0 h6 F(`Q@g@ Q0 F(`:mQ0 F(`hlQ0 F( F``Q0 F(t4`Q0 F(3(`Q0 F@6F(`Q0 h6 F(`Q@g@ Q0 F(`:mQ0 F(`hlQ0 F( F``Q0 F(t4`Q0 F(3(`Q0 F@6F(`Q0 h6 F(`Q@g@ Q0 F(`:mQ0 F(`hlQ0 F( F``Q0 F(t4`Q0 F(3(`Q0 F@6F(`Q0 h6 F(`Q@g@ Q0 F(`:mQ0 F(`hlQ0 F( F``Q0 F(t4`Q0 F(3(`Q0 F@6F(`Q0 h6 F(`Q@g@ Q0 F(`:mQ0 F(`hlQ0 F( F``Q0 F(t4`Q0 F(3(`Q0 F@6F(`Q0 h6 F(`Q@g@ Q0 F(`:mQ0 F(`hlQ0 F( F``Q0 F(t4`Q0 F(3(`Q0 F@6F(`Q0 h6 F(`Q@g@ Q0 F(`:mQ0 F(`hlQ0 F( F``Q0 F(t4`Q0 F(3(`Q0 F@6F(`Q0 h6 F(`Q@g@ Q0 F(`:mQ0 F(`hlQ0 F( F``Q0 F(t4`Q0 F(3(`Q0 F@6F(`Q0 h6 F(`Q@g@ Q0 F(`:mQ0 F(`hlQ0 F( F``Q0 F(t4`Q0 F(3(`Q0 F@6F(`Q0 h6 F(`Q@g@ Q0 F(`:mQ0 F(`hlQ0 F( F``Q0 F(t4`Q0 F(3(`Q0 F@6F(`Q0 h6 F(`Q@g@ Q0 F(`:mQ0 F(`hlQ0 F( F``Q0 F(t4`Q0 F(3(`Q0 F@6F(`Q0 h6 F(`Q@g@ Q0 F(`:mQ0 F(`hlQ0 F( F``Q0 F(t4`Q0 F(3(`Q0 F@6F(`Q0 h6 F(`Q@g@ Q0 F(`:mQ0 F(`hlQ0 F( F``Q0 F(t4`Q0 F(3(`Q0 F@6F(`Q0 h6 F(`Q@g@ Q0 Q0 F(l@ Q0 oQ0 F("@ Q0 7^hQ0 F(3*``d vPX yXJsAA򌣡5 FhYyX Q0 2``ȣ_@* wFGG@1sĜ2 F F``o`iP _#``ō0`h6 F~5~1 _F(i}jc Q0 H47- ee 0f0;x@6F( 5#0Ci(YF( hlaG^`F?ÉG( hll-.dz r(duJFo@ G(`Q0 h6 F(`Q@g@ Q0 F(`:mQ0 F(`hlQ0 F( F``Q0 F(t4`Q0 F(3(`Q0 F@6F(`Q0 h6 F(`Q@g@ Q0 F(`:mQ0 F(`hlQ0 F( F``Q0 F(t4`Q0 F(3(`Q0 F@6F(`Q0 h6 F(`Q@g@ Q0 F(`:mQ0 F(`hlQ0 F( F``Q0 F(t4`Q0 F(3(`Q0 F@6F(`Q0 h6 F(`Q@g@ Q0 F(`:mQ0 F(`hlQ0 F( F``Q0 F(t4`Q0 F(3(`Q0 F@6F(`Q0 h6 F(`Q@g@ Q0 F(`:mQ0 F(`hlQ0 F( F``Q0 F(t4`Q0 F(3(`Q0 F@6F(`Q0 h6 F(`Q@g@ Q0 F(`:mQ0 F(`hlQ0 F( F``Q0 F(t4`Q0 F(3(`Q0 F@6F(`Q0 h6 F(`Q@g@ Q0 F(`:mQ0 F(`hlQ0 F( F``Q0 F(t4`Q0 F(3(`Q0 F@6F(`Q0 h6 F(`Q@g@ Q0 F(`:mQ0 F(`hlQ0 F( F``Q0 F(t4`Q0 F(3(`Q0 F@6F(`Q0 h6 F(`Q@g@ Q0 F(`:b Q0 F.h ##h Q@%@#``Q0 F(t4`Q0 F(3(`Q0 F@6F(`Q0 h6 F(`Q@g@ Q0 F(`:mQ0 F(`hlQ0 F( F``Q0 F(t4`Q0 F(3(`Q0 F@6F(`Q0 h6 F(`Q@g@ Q0 F(`:mQ0 F(`hlQ0 F( F``Q0 F(t4`Q0 F(3(`Q0 F@6F(`Q0 h6 F(`Q@g@ Q0 F(`:mQ0 F(`hlQ0 F( F``Q0 F(t4`Q0 F(3(`Q0 F@6F(`Q0 h6 F(`Q@g@ Q0 F(`:mQ0 F(`hlQ0 F( F``Q0 F(t4`Q0 F(3(`Q0 F@6F(`Q0 h6 F(`Q@g@ Q0 F(`:mQ0 F(`hlQ0 F( F``Q0 F(t4`Q0 F(3(`Q0 F@6F(`Q0 h6 F(`Q@g@ Q0 F(`:mQ0 F(`hlQ0 F( F``Q0 F(t4`Q0 F(3(`Q0 F@6F(`Q0 h6 F(`Q@g@ Q0 F(`:mQ0 F(`hlQ0 F( F``Q0 F(t4`Q0 F(3(`Q0 F@6F(`Q0 h6 F(`Q@g@ Q0 F(`:mQ0 F(`hlQ0 F( F``Q0 F(t4`Q0 F(3(`Q0 F@6F(`Q0 h6 F(`Q@g@ Q0 F(`:mQ0 F(`hlQ0 F( F``Q0 F(t4`Q0 F(3(`Q0 F@6F(`Q0 h6 F(`Q@g@ Q0 F(`:mQ0 F(`hlQ0 F( F``Q0 F(t4`Q0 F(3(`Q0 F@6F(`Q0 h6 F(`Q@g@ Q0 F(`:mQ0 F(`hlQ0 F( F``Q0 F(t4`Q0 F(3(`Q0 F@6F(`Q0 h6 F(`Q@g@ Q0 F(`:mQ0 F(`hlQ0 F( F``Q0 F(t4`Q0 F(3(`Q0 F@6F(`Q0 h6 F(`Q@g@ Q0 F(`:mQ0 F(`hlQ0 F( F``Q0 F(t4`Q0 F(3(`Q0 F@6F(`Q0 h6 F(`Q@g@ Q0 F(`:mQ0 F(`hlQ0 F( F``Q0 F(t4`Q0 F(3(`Q0 F@6F(`Q0 h6 F(`Q@g@ Q0 F(`:mQ0 F(`hlQ0 F( F``Q0 F(t4`Q0 F(3(`Q0 F@6F(`Q0 h6 F(`Q@g@ Q0 F(`:mQ0 F(`hlQ0 F( F``Q0 F(t4`Q0 F(3(`Q0 F@6F(`Q0 h6 F(`Q@g@ Q0 F(`:mQ0 F(`hlQ0 F( F``Q0 F(t4`Q0 F(3(`Q0 F@6F(`Q0 h6 F(`Q@g@ Q0 F(`:mQ0 F(`hlQ0 F( F``Q0 F(t4`Q0 F(3(`Q0 F@6F(`Q0 h6 F(`Q@g@ Q0 F(`:mQ0 F(`hlQ0 F( F``Q0 F(t4`Q0 F(3(`Q0 F@6F(`Q0 h6 F(`Q@g@ Q0 F(`:mQ0 F(`hlQ0 F( F``Q0 F(t4`Q0 F(3(`Q0 F@6F(`Q0 h6 F(`Q@g@ Q0 F(`:mQ0 F(`hlQ0 F( F``Q0 F(t4`Q0 F(3(`Q0 F@6F(`Q0 h6 F(`Q@g@ Q0 F(`:mQ0 F(`hlQ0 F( F``Q0 F(t4`Q0 F(3(`Q0 F@6F(`Q0 h6 F(`Q@g@ Q0 F(`:mQ0 F(`hlQ0 F( F``Q0 F(t4`Q0 F(3(`Q0 F@6F(`Q0 h6 F(`Q@g@ Q0 F(`:mQ0 F(`hlQ0 F( F``Q0 F(t4`Q0 F(3(`Q0 F@6F(`Q0 h6 F(`Q@g@ Q0 F(`:mQ0 F(`hlQ0 F( F``Q0 F(t4`Q@.FQ0 4`Q@IQ0 H4`Q@j (mQ0 F(  Fd@(`^hhQ@:(`RaѯP2 Fi F``Q0 H0XhQ@(`RȉP6]O< F F``Q0 (iFGd@6F(`P?t`zp/=}VIENDB`a/A/"EPNG  IHDR`>WgAMA7tEXtSoftwareAdobe ImageReadyqe<.IDATxb?(022 Q0 0d@(cH4hClhQ@<(_ ̄G``6F(hl/fh^aҰ((mQ0A s1;!6:6 F*x5`h6 Fnzd6Q0 hQ@<(_ j|1((`Q@(bQ0P#;FeQ0 F% FPF(B [? F(`Ph6 Fݏ`Q0 h22= F(` h6 F(`Q@g@ Q0 F(`:mQ0 F(`hlQ0 F( F``Q0 F(t4`Q0 F(3(`Q0 F@6F(`Q0 h6 F(`Q@g@ Q0 F(`:mQ0 F(`hlQ0 F( F``Q0 F(t4`Q0 F(3(`Q0 F@6F(`Q0 h6 F(`Q@g@ Q0 F(`:mQ0 F(`hlQ0 F( F``Q0 F(t4`Q0 F(3(`Q0 F@6F(`Q0 h6 F(`Q@g@ Q0 F(`:mQ0 F(`hlQ0 F( F``Q0 F(t4`Q0 F(3(`Q0 F@6F(`Q0 h6 F(`Q@g@ Q0 F(`:mQ0 F(`hlQ0 F( F``Q0 F(t4`Q0 F(3(`Q0 F@6F(`Q0 h6 F(`Q@g@ Q0 F(`:mQ0 F(`hlQ0 F( F``Q0 F(t4`Q0 F(3(`Q0 F@6F(`Q0 h6 F(`Q@g@ Q0 F(`:mQ0 F(`hlQ0 F( F``Q0 F(t4`Q0 F(3(`Q0 F@6F(`Q0 h6 F(`Q@g@ Q0 F(`:mQ0 F(`hlQ0 F( F``Q0 F(t4`Q0 F(3(`Q0 F@6F(`Q0 h6 F(`Q@g@ Q0 F(`:mQ0 F(`hlQ0 F( F``Q0 F(t4`Q0 F(3(`Q0 F@6F(`Q0 h6 F(`Q@g@ Q0 F(`:mQ0 F(`hlQ0 F( F``Q0 F(t4`Q0 F(3(`Q0 F@6F(`Q0 h6 F(`Q@g@ Q0 F(`:mQ0 F(`hlQ0 F( F``Q0 F(t4`Q0 F(3(`Q0 F@6F(`Q0 h6 F(`Q@g@ Q0 F(`:mQ0 F(`hlQ0 F( F``Q0 F(t4`Q0 F(3(`Q0 F@6F(`Q0 h6 F(`Q@g@ Q0 F(`:mQ0 F(`hlQ0 F( F``Q0 F(t4`Q0 F(3(`Q0 F@6F(`Q0 h6 F(`Q@g@ Q0 F(`:mQ0 F(`hlQ0 F( F``Q0 F(t4`Q0 F(3(`Q0 F@6F(`Q0 h6 F(`Q@g@ Q0 F(`:mQ0 F(`hlQ0 F( F``Q0 F(t4`Q0 F(3(`Q0 F@6F(`Q0 h6 F(`Q@g@ Q0 F(`:mQ0 F(`hlQ0 F( F``Q0 F(t4`Q0 F(3(`Q0 F@6F(`Q0 h6 F(`Q@g@ Q0 F(`:mQ0 F(`hlQ0 F( F``Q0 F(t4`Q0 F(3(`Q0 F@6F(`Q0 h6 F(`Q@g@ Q0 F(`:mQ0 F(`hlQ0 F( F``Q0 F(t4`Q0 F(3(`Q0 F@6F(`Q0 h6 F(`Q@g@ Q0 F(`:mQ0 F(`hlQ0 F( F``Q0 F(t4`Q0 F(3(`Q0 F@6F(`Q0 h6 F(`Q@g@ Q0 F(`:mQ0 F(`hlQ0 F( F``Q0 F(t4`Q0 F(3(`Q0 F@6F(`Q0 h6 F(`Q@g@ Q0 F(`:mQ0 F(`hlQ0 F( F``Q0 F(t4`Q0 F(3(`Q0 F@6F(`Q0 h6 F(`Q@g@ Q0 F(`:mQ0 F(`hlQ0 F( F``Q0 F(t4`Q0 F(3(`Q0 F@6F(`Q0 h6 F(`Q@g@ Q0 F(`:mQ0 F(`hlQ0 F( F``Q0 F(t4`Q0 F(3(`Q0 F@6F(`Q0 h6 F(`Q@g@ Q0 F(`:mQ0 F(`hlQ0 F( F``Q0 F(t4`Q0 F(3(`Q0 F@6F(`Q0 h6 F(`Q@g@ Q0 F(`:mQ0 F(`hlQ0 F( F``Q0 F(t4`Q0 F(3(`Q0 F@6F(`Q0 h6 F(`Q@g@ Q0 F(`:mQ0 F(`hlQ0 F( F``Q0 F(t4`Q0 F(3(`Q0 F@6F(`Q0 h6 F(`Q@g@ Q0 F(`:mQ0 F(`hlQ0 F( F``Q0 F(t4`Q0 F(3(`Q0 F@6F(`Q0 h6 F(`Q@g@ Q0 F(`:mQ0 F(`hlQ0 F( F``Q0 F(t4`Q0 F(3(`Q0 F@6F(`Q0 h6 F(`Q@g@ Q0 F(`:mQ0 F(`hlQ0 F( F``Q0 F(t4`Q0 F(3(`Q0 F@6F(`Q0 h6 F(`Q@g@ Q0 F(`:mQ0 F(`hlQ0 F( F``Q0 F(t4`Q0 F(3(`Q0 F@6F(`Q0 h6 F(`Q@g@ Q0 F(`:mQ0 F(`hlQ0 F( F``Q0 F(t4`Q0 F(3(`Q0 F@6F(`Q0 h6 F(`Q@g@ Q0 F(`:mQ0 F(`hlQ0 F( F``Q0 F(t4`Q0 F(3(`Q0 F@6F(`Q0 h6 F(`Q@g@ Q0 F(`:mQ0 F(`hlQ0 F( F``Q0 F(t4`Q0 F(3(`Q0 F@6F(`Q0 h6 F(`Q@g@ Q0 F(`:mQ0 F(`hlQ0 F( F``Q0 F(t4`Q0 F(3(`Q0 F@6F(`Q0 h6 F(`Q@g@ Q0 F(`:mQ0 F(`hlQ0 F( F``Q0 F(t4`Q0 F(3(`Q0 F@6F(`Q0 h6 F(`Q@g@ Q0 F(`:mQ0 F(`hlQ0 F( F``Q0 F(t4`Q0 F(3(`Q0 F@6F(`Q0 h6 F(`Q@g@ Q0 F(`:mQ0 F(`hlQ0 F( F``Q0 F(t4`Q0 F(3(`Q0 F@6F(`Q0 h6 F(`Q@g@ Q0 F(`:mQ0 F(`hlQ0 F( F``Q0 F(t4`Q0 F(3(`Q0 F@6F(`Q0 h6 F(`Q@g@ Q0 F(`:mQ0 F(`hlQ0 F( F``Q0 F(t4`Q0 F(3(`Q0 F@6F(`Q0 h6 F(`Q@g@ Q0 F(`:mQ0 F(`hlQ0 F( F``Q0 F(t4`Q0 F(3(`Q0 F@6F(`Q0 h6 F(`Q@g@ Q0 F(`:mQ0 F(`hlQ0 F( F``Q0 F(t4`Q0 F(3(`Q0 F@6F(`Q0 h6 F(`Q@g@ Q0 F(`:mQ0 F(`hlQ0 F( F``Q0 F(t4`Q0 F(3(`Q0 F@6F(`Q0 h6 F(`Q@g@ Q0 F(`:mQ0 F(`hlQ0 F( F``Q0 F(t4`Q0 F(3(`Q0 F@6F(`Q0 h6 F(`Q@g@ Q0 F(`:mQ0 F(`hlQ0 F( F``Q0 F(t4`Q0 F(3(`Q0 F@6F(`Q0 h6 F(`Q@g@ Q0 F(`:mQ0 F(`hlQ0 F( F``Q0 F(t4`Q0 F(3(`Q0 F@6F(`Q0 h6 F(`Q@g@ Q0 F(`:mQ0 F(`hlQ0 F( F``Q0 F(t4`Q0 F(3(`Q0 F@6F(`Q0 h6 F(`Q@g@ Q0 F(`:mQ0 F(`hlQ0 F( F``Q0 F(t4`Q0 F(3(`Q0 F@6F(`Q0 h6 F(`Q@g@ Q0 F(`:mQ0 F(`hlQ0 F( F``Q0 F(t4`Q0 F(3(`Q0 F@6F(`Q0 h6 F(`Q@g@ Q0 F(`:mQ0 F(`hlQ0 F( F``Q0 F(t4`Q0 F(3(`Q0 F@6F(`Q0 h6 F(`Q@g@ Q0 F(`:mQ0 F(`hlQ0 F( F``Q0 F(t4`Q0 F(3(`Q0 F@6F(`Q0 h6 F(`Q@g@ Q0 F(`:mQ0 F(`hlQ0 F( F``Q0 F(t4`Q0 F(3(`Q0 F@6F(`Q0 h6 F(`Q@g@ Q0 F(`:mQ0 F(`hlQ0 F( F``Q0 F(t4`Q0 F(3(`Q0 F@6F(`Q0 h6 F(`Q@g@ Q0 F(`:mQ0 F(`hlQ0 F( F``Q0 F(t4`Q0 F(3(`Q0 F@6F(`Q0 h6 F(`Q@g@ Q0 F(`:mQ0 F(`hlQ0 F( F``Q0 F(t4`Q0 F(3(`Q0 F@6F(`Q0 h6 F(`Q@g@ Q0 F(`:mQ0 F(`hlQ0 F( F``Q0 F(t4`Q0 F(3(`Q0 F@6F(`Q0 h6 F(`Q@g@ Q0 F(`:mQ0 F(`hlQ0 F( F``Q0 F(t4`Q0 F(3(`Q0 F@6F(`Q0 h6 F(`Q@g@ Q0 F(`:mQ0 F(`hlQ0 F( F``Q0 F(t4`Q0 F(3(`Q0 F@6F(`Q0 h6 F(`Q@g@ Q0 F(`:mQ0 F(`hlQ0 F( F``Q0 F(t4`Q0 F(3(`Q0 F@6F(`Q0 h6 F(`Q@g@ Q0 F(`:mQ0 F(`hlQ0 F( F``Q0 F(t4`Q0 F(3(`Q0 F@6F(`Q0 h6 F(`Q@g@ Q0 F(`:mQ0 F(`hlQ0 F( F``Q0 F(t4`Q0 F(3(`Q0 F@6F(`Q0 h6 F(`Q@g@ Q0 F(`:mQ0 F(`hlQ0 F( F``Q0 F(t4`Q0 F(3(`Q0 F@6F(`Q0 h6 F(`Q@g@ Q0 F(`:mQ0 F(`hlQ0 F( F``Q0 F(t4`Q0 F(3(`Q0 F@6F(`Q0 h6 F(`Q@g@ Q0 F(`:mQ0 F(`hlQ0 F( F``Q0 F(t4`Q0 F(3(`Q0 F@6F(`Q0 h6 F(`Q@g@ Q0 F(`:mQ0 F(`hlQ0 F( F``Q0 F(t4`Q0 F(3(`Q0 F@6F(`Q0 h6 F(`Q@g@ Q0 F(`:mQ0 F(`hlQ0 F( F``Q0 F(t4`Q0 F(3(`Q0 F@6F(`Q0 h6 F(`Q@g@ Q0 F(`:mQ0 F(`hlQ0 F( F``Q0 F(t4`Q0 F(3(`Q0 F@6F(`Q0 h6 F(`Q@g@ Q0 F(`:mQ0 F(`hlQ0 F( F``Q0 F(t4`Q0 F(3(`Q0 F@6F(`Q0 h6 F(`Q@g@ Q0 F(`:mQ0 F(`hlQ0 F( F``Q0 F(t4`Q0 F(3(`Q0 F@6F(`Q0 h6 F(`Q@g@ Q0 F(`:mQ0 F(`hlQ0 F( F``Q0 F(t4`Q0 F(3(`Q0 F@6F(`Q0 h6 F(`Q@g@ Q0 Q0 F(l@ Q0 oQ0 F("@ Q0 7^hQ0 F(3*``d vPX yXJsAA򌣡5 Fx'9 Kv(b Q0 pV,4B~A(<2 F( hl"z@*j!~юQ0 H4=m|~QOF($mQw #_`+`"@6F( 5`6 F F``_mxQ0 F(0J}˗ODIENDB` 0/ROPNG  IHDR`>WgAMA7tEXtSoftwareAdobe ImageReadyqe</~IDATx  ?Z-, .F4(`Q Q0 Ăa&$8`Q0 X_P1V( kQ0 F( x@#`LP>s1;!6:6 F(x5`y 5Q0 F( x@, kX.PPGF(`Q0 F F@0 Q0 F(`bBj|!-`Q0 F(TmmrClQ0 F(`P2= F(`Q0 htkQ0 F( F``Q0 F(t4`Q0 F(3(`Q0 F@6F(`Q0 h6 F(`Q@g@ Q0 F(`:mQ0 F(`hlQ0 F( F``Q0 F(t4`Q0 F(3(`Q0 F@6F(`Q0 h6 F(`Q@g@ Q0 F(`:mQ0 F(`hlQ0 F( F``Q0 F(t4`Q0 F(3(`Q0 F@6F(`Q0 h6 F(`Q@g@ Q0 F(`:mQ0 F(`hlQ0 F( F``Q0 F(t4`Q0 F(3(`Q0 F@6F(`Q0 h6 F(`Q@g@ Q0 F(`:mQ0 F(`hlQ0 F( F``Q0 F(t4`Q0 F(3(`Q0 F@6F(`Q0 h6 F(`Q@g@ Q0 F(`:mQ0 F(`hlQ0 F( F``Q0 F(t4`Q0 F(3(`Q0 F@6F(`Q0 h6 F(`Q@g@ Q0 F(`:mQ0 F(`hlQ0 F( F``Q0 F(t4`Q0 F(3(`Q0 F@6F(`Q0 h6 F(`Q@g@ Q0 F(`:mQ0 F(`hlQ0 F( F``Q0 F(t4`Q0 F(3(`Q0 F@6F(`Q0 h6 F(`Q@g@ Q0 F(`:mQ0 F(`hlQ0 F( F``Q0 F(t4`Q0 F(3(`Q0 F@6F(`Q0 h6 F(`Q@g@ Q0 F(`:mQ0 F(`hlQ0 F( F``Q0 F(t4`Q0 F(3(`Q0 F@6F(`Q0 h6 F(`Q@g@ Q0 F(`:mQ0 F(`hlQ0 F( F``Q0 F(t4`Q0 F(3(`Q0 F@6F(`Q0 h6 F(`Q@g@ Q0 F(`:mQ0 F(`hlQ0 F( F``Q0 F(t4`Q0 F(3(`Q0 F@6F(`Q0 h6 F(`Q@g@ Q0 F(`:mQ0 F(`hlQ0 F( F``Q0 F(t4`Q0 F(3(`Q0 F@6F(`Q0 h6 F(`Q@g@ Q0 F(`:mQ0 F(`hlQ0 F( F``Q0 F(t4`Q0 F(3(`Q0 F@6F(`Q0 h6 F(`Q@g@ Q0 F(`:mQ0 F(`hlQ0 F( F``Q0 F(t4`Q0 F(3(`Q0 F@6F(`Q0 h6 F(`Q@g@ Q0 F(`:mQ0 F(`hlQ0 F( F``Q0 F(t4`Q0 F(3(`Q0 F@6F(`Q0 h6 F(`Q@g@ Q0 F(`:mQ0 F(`hlQ0 F( F``Q0 F(t4`Q0 F(3(`Q0 F@6F(`Q0 h6 F(`Q@g@ Q0 F(`:mQ0 F(`hlQ0 F( F``Q0 F(t4`Q0 F(3(`Q0 F@6F(`Q0 h6 F(`Q@g@ Q0 F(`:mQ0 F(`hlQ0 F( F``Q0 F(t4`Q0 F(3(`Q0 F@6F(`Q0 h6 F(`Q@g@ Q0 F(`:mQ0 F(`hlQ0 F( F``Q0 F(t4`Q0 F(3(`Q0 F@6F(`Q0 h6 F(`Q@g@ Q0 F(`:mQ0 F(`hlQ0 F( F``Q0 F(t4`Q0 F(3(`Q0 F@6F(`Q0 h6 F(`Q@g@ Q0 F(`:mQ0 F(`hlQ0 F( F``Q0 F(t4`Q0 F(3(`Q0 F@6F(`Q0 h6 F(`Q@g@ Q0 F(`:mQ0 F(`hlQ0 F( F``Q0 F(t4`Q0 F(3(`Q0 F@6F(`Q0 h6 F(`Q@g@ Q0 F(`:mQ0 F(`hlQ0 F( F``Q0 F(t4`Q0 F(3(`Q0 F@6F(`Q0 h6 F(`Q@g@ Q0 F(`:mQ0 F(`hlQ0 F( F``Q0 F(t4`Q0 F(3(`Q0 F@6F(`Q0 h6 F(`Q@g@ Q0 F(`:mQ0 F(`hlQ0 F( F``Q0 F(t4`Q0 F(3(`Q0 F@6F(`Q0 h6 F(`Q@g@ Q0 F(`:mQ0 F(`hlQ0 F( F``Q0 F(t4`Q0 F(3(`Q0 F@6F(`Q0 h6 F(`Q@g@ Q0 F(`:mQ0 F(`hlQ0 F( F``Q0 F(t4`Q0 F(3(`Q0 F@6F(`Q0 h6 F(`Q@g@ Q0 F(`:mQ0 F(`hlQ0 F( F``Q0 F(t4`Q0 F(3(`Q0 F@6F(`Q0 h6 F(`Q@g@ Q0 F(`:mQ0 F(`hlQ0 F( F``Q0 F(t4`Q0 F(3(`Q0 F@6F(`Q0 h6 F(`Q@g@ Q0 F(`:mQ0 F(`hlQ0 F( F``Q0 F(t4`Q0 F(3(`Q0 F@6F(`Q0 h6 F(`Q@g@ Q0 F(`:mQ0 F(`hlQ0 F( F``Q0 F(t4`Q0 F(3(`Q0 F@6F(`Q0 h6 F(`Q@g@ Q0 F(`:mQ0 F(`hlQ0 F( F``Q0 F(t4`Q0 F(3(`Q0 F@6F(`Q0 h6 F(`Q@g@ Q0 F(`:mQ0 F(`hlQ0 F( F``Q0 F(t4`Q0 F(3(`Q0 F@6F(`Q0 h6 F(`Q@g@ Q0 F(`:mQ0 F(`hlQ0 F( 5ѣ`Q0 F( p5A(`Q0 F(2 &Fr Q0 F(`bbPC4T nIah^```Q@  P< _jF돂9ab``Q@ @,PM;~d@# F@/n(`Q@ $6l ŀ~`yhCm4hF(`P y BFGFh3`Q@@#`ȍH (JF02 F(J Xȇ6FHh Q0 F( //"PNG  IHDR`>WgAMA7tEXtSoftwareAdobe ImageReadyqe<.IDATx  ?Z-, .F4(`Q Q0 Ăa&$8`Q0 X_P1V( kQ0 F( x@#`LP>s1;!6:6 F(x5`y 5Q0 F( x@, kX.PPGF(`Q0 F F@0 Q0 F(`bBj|!-`Q0 F(TmmrClQ0 F(`P2= F(`Q0 htkQ0 F( F``Q0 F(t4`Q0 F(3(`Q0 F@6F(`Q0 h6 F(`Q@g@ Q0 F(`:mQ0 F(`hlQ0 F( F``Q0 F(t4`Q0 F(3(`Q0 F@6F(`Q0 h6 F(`Q@g@ Q0 F(`:mQ0 F(`hlQ0 F( F``Q0 F(t4`Q0 F(3(`Q0 F@6F(`Q0 h6 F(`Q@g@ Q0 F(`:mQ0 F(`hlQ0 F( F``Q0 F(t4`Q0 F(3(`Q0 F@6F(`Q0 h6 F(`Q@g@ Q0 F(`:mQ0 F(`hlQ0 F( F``Q0 F(t4`Q0 F(3(`Q0 F@6F(`Q0 h6 F(`Q@g@ Q0 F(`:mQ0 F(`hlQ0 F( F``Q0 F(t4`Q0 F(3(`Q0 F@6F(`Q0 h6 F(`Q@g@ Q0 F(`:mQ0 F(`hlQ0 F( F``Q0 F(t4`Q0 F(3(`Q0 F@6F(`Q0 h6 F(`Q@g@ Q0 F(`:mQ0 F(`hlQ0 F( F``Q0 F(t4`Q0 F(3(`Q0 F@6F(`Q0 h6 F(`Q@g@ Q0 F(`:mQ0 F(`hlQ0 F( F``Q0 F(t4`Q0 F(3(`Q0 F@6F(`Q0 h6 F(`Q@g@ Q0 F(`:mQ0 F(`hlQ0 F( F``Q0 F(t4`Q0 F(3(`Q0 F@6F(`Q0 h6 F(`Q@g@ Q0 F(`:mQ0 F(`hlQ0 F( F``Q0 F(t4`Q0 F(3(`Q0 F@6F(`Q0 h6 F(`Q@g@ Q0 F(`:mQ0 F(`hlQ0 F( F``Q0 F(t4`Q0 F(3(`Q0 F@6F(`Q0 h6 F(`Q@g@ Q0 F(`:mQ0 F(`hlQ0 F( F``Q0 F(t4`Q0 F(3(`Q0 F@6F(`Q0 h6 F(`Q@g@ Q0 F(`:mQ0 F(`hlQ0 F( F``Q0 F(t4`Q0 F(3(`Q0 F@6F(`Q0 h6 F(`Q@g@ Q0 F(`:mQ0 F(`hlQ0 F( F``Q0 F(t4`Q0 F(3(`Q0 F@6F(`Q0 h6 F(`Q@g@ Q0 F(`:mQ0 F(`hlQ0 F( F``Q0 F(t4`Q0 F(3(`Q0 F@6F(`Q0 h6 F(`Q@g@ Q0 F(`:mQ0 F(`hlQ0 F( F``Q0 F(t4`Q0 F(3(`Q0 F@6F(`Q0 h6 F(`Q@g@ Q0 F(`:mQ0 F(`hlQ0 F( F``Q0 F(t4`Q0 F(3(`Q0 F@6F(`Q0 h6 F(`Q@g@ Q0 F(`:mQ0 F(`hlQ0 F( F``Q0 F(t4`Q0 F(3(`Q0 F@6F(`Q0 h6 F(`Q@g@ Q0 F(`:mQ0 F(`hlQ0 F( F``Q0 F(t4`Q0 F(3(`Q0 F@6F(`Q0 h6 F(`Q@g@ Q0 F(`:mQ0 F(`hlQ0 F( F``Q0 F(t4`Q0 F(3(`Q0 F@6F(`Q0 h6 F(`Q@g@ Q0 F(`:mQ0 F(`hlQ0 F( F``Q0 F(t4`Q0 F(3(`Q0 F@6F(`Q0 h6 F(`Q@g@ Q0 F(`:mQ0 F(`hlQ0 F( F``Q0 F(t4`Q0 F(3(`Q0 F@6F(`Q0 h6 F(`Q@g@ Q0 F(`:mQ0 F(`hlQ0 F( F``Q0 F(t4`Q0 F(3(`Q0 F@6F(`Q0 h6 F(`Q@g@ Q0 F(`:mQ0 F(`hlQ0 F( F``Q0 F(t4`Q0 F(3(`Q0 F@6F(`Q0 h6 F(`Q@g@ Q0 F(`:mQ0 F(`hlQ0 F( F``Q0 F(t4`Q0 F(3(`Q0 F@6F(`Q0 h6 F(`Q@g@ Q0 F(`:mQ0 F(`hlQ0 F( F``Q0 F(t4`Q0 F(3(`Q0 F@6F(`Q0 h6 F(`Q@g@ Q0 F(`:mQ0 F(`hlQ0 F( F``Q0 F(t4`Q0 F(3(`Q0 F@6F(`Q0 h6 F(`Q@g@ Q0 F(`:mQ0 F(`hlQ0 F( F``Q0 F(t4`Q0 F(3(`Q0 F@6F(`Q0 h6 F(`Q@g@ Q0 F(`:mQ0 F(`hlQ0 F( F``Q0 F(t4`Q0 F(3(`Q0 F@6F(`Q0 h6 F(`Q@g@ Q0 F(`:mQ0 F(`hlQ0 F( F``Q0 F(t4`Q0 F(3(`Q0 F@6F(`Q0 h6 F(`Q@g@ Q0 F(`:mQ0 F(`hlQ0 F( F``Q0 F(t4`Q0 F(3(`Q0 F@6F(`Q0 h6 F(`Q@g@ Q0 F(`:mQ0 F(`hlQ0 F( F``Q0 F(t4`Q0 F(3(`Q0 F@6F(`Q0 h6 F(`Q@g@ Q0 F(`:mQ0 F(`hlQ0 F( F``Q0 F(t4`Q0 F(3(`Q0 F@6F(`Q0 h6 F(`Q@g@ Q0 F(`:mQ0 F(`hlQ0 F( F``Q0 F(t4`Q0 F(3(`Q0 F@6F(`Q0 h6 F(`Q@g@ Q0 F(`:mQ0 F(`hlQ0 F( F``Q0 F(t4`Q0 F(3(`Q0 F@6F(`Q0 h6 F(`Q@g@ Q0 F(`:mQ0 F(`hlQ0 F( F``Q0 F(t4`Q0 F(3(`Q0 F@6F(`Q0 h6 F(`Q@g@ Q0 F(`:mQ0 F(`hlQ0 F( F``Q0 F(t4`Q0 F(3(`Q0 F@6F(`Q0 h6 F(`Q@g@ Q0 F(`:mQ0 F(`hlQ0 F( F``Q0 F(t4`Q0 F(3(`Q0 F@6F(`Q0 h6 F(`Q@g@ Q0 F(`:mQ0 F(`hlQ0 F( F``Q0 F(t4`Q0 F(3(`Q0 F@6F(`Q0 h6 F(`Q@g@ Q0 F(`:mQ0 F(`hlQ0 F( F``Q0 F(t4`Q0 F(3(`Q0 F@6F(`Q0 h6 F(`Q@g@ Q0 F(`:mQ0 F(`hlQ0 F( F``Q0 F(t4`Q0 F(3(`Q0 F@6F(`Q0 h6 F(`Q@g@ Q0 F(`:mQ0 F(`hlQ0 F( F``Q0 F(t4`Q0 F(3(`Q0 F@6F(`Q0 h6 F(`Q@g@ Q0 F(`:mQ0 F(`hlQ0 F( F``Q0 F(t4`Q0 F(3(`Q0 F@6F(`Q0 h6 F(`Q@g@ Q0 F(`:mQ0 F(`hlQ0 F( F``Q0 F(t4`Q0 F(3(`Q0 F@6F(`Q0 h6 F(`Q@g@ Q0 F(`:mQ0 F(`hlQ0 F( F``Q0 F(t4`Q0 F(3(`Q0 F@6F(`Q0 h6 F(`Q@g@ Q0 F(`:mQ0 F(`hlQ0 F( F``Q0 F(t4`Q0 F(3(`Q0 F@6F(`Q0 h6 F(`Q@g@ Q0 F(`:mQ0 F(`hlQ0 F( F``Q0 F(t4`Q0 F(3(`Q0 F@6F(`Q0 h6 F(`Q@g@ Q0 F(`:mQ0 F(`hlQ0 F( F``Q0 F(t4`Q0 F(3(`Q0 F@6F(`Q0 h6 F(`Q@g@ Q0 F(`:mQ0 F(`hlQ0 F( F``Q0 F(t4`Q0 F(3(`Q0 F@6F(`Q0 h6 F(`Q@g@ Q0 F(`:mQ0 F(`hlQ0 F( F``Q0 F(t4`Q0 F(3(`Q0 F@6F(`Q0 h6 F(`Q@g@ Q0 F(`:mQ0 F(`hlQ0 F( F``Q0 F(t4`Q0 F(3(`Q0 F@6F(`Q0 h6 F(`Q@g@ Q0 F(`:mQ0 F(`hlQ0 F( F``Q0 F(t4`Q0 F(3(`Q0 F@6F(`Q0 h6 F(`Q@g@ Q0 F(`:mQ0 F(`hlQ0 F( F``Q0 F(t4`Q0 F(3(`Q0 F@6F(`Q0 h6 F(`Q@g@ Q0 F(`:mQ0 F(`hlQ0 F( F``Q0 F(t4`Q0 F(3(`Q0 F@6F(`Q0 h6 F(`Q@g@ Q0 F(`:mQ0 F(`hlQ0 F( F``Q0 F(t4`Q0 F(3(`Q0 F@6F(`Q0 h6 F(`Q@g@ Q0 F(`:mQ0 F(`hlQ0 F( F``Q0 F(t4`Q0 F(3(`Q0 F@6F(`Q0 h6 F(`Q@g@ Q0 F(`:mQ0 F(`hlQ0 F( F``Q0 F(t4`Q0 F(3(`Q0 F@6F(`Q0 h6 F(`Q@g@ Q0 F(`:mQ0 F(`hlQ0 F( F``Q0 F(t4`Q0 F(3(`Q0 F@6F(`Q0 h6 F(`Q@g@ Q0 F(`:mQ0 F(`hlQ0 F( F``Q0 F(t4`Q0 F(3(`Q0 F@6F(`Q0 h6 F(`Q@g@ Q0 F(`:mQ0 F(`hlQ0 F( F``Q0 F(t4`Q0 F(3(`Q0 F@6F(`Q0 h6 F(`Q@g@ Q0 F(`:mQ0 F(`hlQ0 F( F``Q0 F(t4`Q0 F(3(`Q0 F@6F(`Q0 h6 F(`Q@g@ Q0 F(`:mQ0 F(`hlQ0 F( F``Q0 F(t4`Q0 F(3(`Q0 F@6F(`Q0 h6 F(`Q@g@ Q0 F(`:mQ0 F(`hlQ0 F( F``Q0 F(t4`Q0 F(3(`Q0 F@6F(`Q0 h6 F(`Q@g@ Q0 F(`:mQ0 F(`hlQ0 F( F``Q0 F(t4`Q0 F(3(`Q0 F@6F(`Q0 h6 F(`Q@g@ Q0 F(`:mQ0 F(`hlQ0 F( F``Q0 F(t4`Q0 F(3(`Q0 F@6F(`Q0 h6 F(`Q@g@ Q0 F(`:mQ0 F(`hlQ0 F( F``Q0 F(t4`Q0 F(3(`Q0 F@6F(`Q0 h6 F(`Q@g@ Q0 F(`:mQ0 F(`hlQ0 F( F``Q0 F(t4`Q0 F(3(`Q0 F@6F(`Q0 h6 F(`Q@g@ Q0 F(`:mQ0 F(`hlQ0 F( F``Q0 F(t4`Q0 F(3(`Q0 F@6F(`Q0 h6 F(`Q@g@ Q0 F(`:mQ0 F(`hlQ0 F( 5ѣ`Q0 F( p5A(`Q0 F(2 &Fr Q0 F(`bbPC4T nQ0 F(0 `u 4BAՌ.`Q0 F( XM;~bȣ_#``Q0 F(TĂĆdѯQ0 F(`*BP_ёQ0 F(`BCnCjx6F(`Q0 |hkQ0 F( 9IENDB`لRPNG  IHDR**[ pHYs  gAMA|Q cHRMz%u0`:o_F5IDATxbA8990D@ Аq(@ Аq(@ Аq(@ Аq(@ #Ô)S<<<_x1 @b;cعs'???Uz"١ GB Q >cj8ݡDjt ׯ_g8qÎ;3gv%p i&x1\A^^EMll,Cuu5d8 XHQe8;;;xSšDRgϟQIDrZ:!SIEEb Hr(r= eeexՑ$SNũ XP $HXF[[[Q*8 HB7oތJ.^pP9 Q<Yc( FrGJ`<3 (tɄ>@1!2>@ Аq(@ Аq(@ Аq(@ Аq(@ ChȄ(@ Аq(@(]!RIENDB`=PNG  IHDR**[ pHYs  gAMA|Q cHRMz%u0`:o_FIDATxbA8990D@ Аq(@ Аq(@ Аq(@ Аq(@ Аq(@ Аq(@ Аq(@ Аq(@ Аq(@ Аq(@ Аq(@QV...0ihȄ(@ P!4d @Cơ4d @Cơ4d @Cơ4d @Cơ4d @!4d @CơE┥IENDB`gلPNG  IHDR**[ pHYs  gAMA|Q cHRMz%u0`:o_FOIDATx!0ցTcjA4h0h X8܀#`zMIޮ4wӌJuM^Ꮘ@ @ @ v] ` ÀmH۶ ]u$I9a`Oɺ'Ȣ(=,˂,_}4"isaN+IĞ4MpzG٠3k,(@QPf8qMK@dG>V%IO@Cf!P2!P2!P2 ơ2@C&Dh8 Ch8 Ch8 Ch8 Ch8 ?$ @C&Dh8 C v04IENDB`?PNG  IHDR**[ pHYs  gAMA|Q cHRMz%u0`:o_FIDATxbA8990D@ Аq(@ Аq(@ Аq(@ Аq(@  |a [l|||bccPbt;ر@OOaΝ`S  rVG€Î;P";Hyyyׯ3=Ws!R%l>|ή;rrrr(@E1. @#ΠDIHDrf|PS BHPQ*(B hHPfZr%U |b#))qb#A'H ZVV3gΤY LZÃ:PW:u*]yDCA!JO@CeH L  Ch8 Ch8 Ch8 Ch8 CC¡4dB Ch8 ?8RTO-IENDB`PNG  IHDR**[ pHYs  gAMA|Q cHRMz%u0`:o_F*IDATxbA8990D@ Аq(@ Аq(@ Аq(@ Аq(@  <|aԩ .]Pb_x1Czz:8???ìY|}}VǏʃ{ 0M itpG` r(ĩdggvXuu58@8&&.+HáC;v=C OhFvdll,َj!HAI>@Q-D?|A555e+5@Q=*`'D*89Z @LI(P5@1Q&agʔ)(QjDv󭭭 =ȵB 2re$r̴rJU+%*(3]x'ń/Dq=ААq(@ Аq(@ Аq(@ Аq(@ ChȄ(@ Аq(@zFLIENDB`aAt?PNG  IHDR**[ pHYs  gAMA|Q cHRMz%u0`:o_FIDATxbA8990D@ Аq(@ Аq(@ Аq(@ Аq(@  lmmrrr T3 Yח1L2̶cرczZ:tHZC?~ȐN4 @TqhZZÇiPء7ocɡC"B C3EKPg5kM v((r:̜9 z%p K2 *A"- |2u=@U׃qlpPgӣCu=(syxxФ!4d @CeH LАq(@ Аq(@ Аq(@ Аq(@ Аq(@1H8 LАq(@ o\<IENDB`9CPNG  IHDR**[ pHYs  gAMA|Q cHRMz%u0`:o_F%IDATxbA8990D@ Аq(@ Аq(@ Аq(@ Аq(@  ┓cCҥK 8vA (/-|2ˠDCAQ& ( 4СCI(@P#4$%%>~wuuQ-ǃ@P##OOOXbFF`NN80(a|KU#%uǏ:!r̙3VEQՑPaj"ۡ.]bؼy3-//pu`0L:j %K쮮.cA ===pz Ө~`aaC==='NP@T2#A`֬YTzC:İxbxB `ǂ).У 0GB&: 8tҥpvvv6M'JKJJs<($AN@Q2HV =|0mccC3D0@LDqOE8Da5 J f(4dy4d @Cơ4d @Cơ4d @Cơ4d @Cơ4d @!4d @Cơ!jIENDB`6PNG  IHDR**[ pHYs  gAMA|Q cHRMz%u0`:o_F6IDATxbA8990D@ Аq(@ Аq(@ Аq(@ Аq(@  :ta˖- .]lllbccPbOOOgXx1V9===;w2S @dGfggBj! @d;0p ;v1 lڴj G8FUd5"ۡpÇ͛7cu4 LrwwvPܿrJ852@Q :CZ9 0\=0 wP3gN5Q/)) ϟ?G)-,,9$D e*UB v(`9恋/O @d;EPu r0(BHj9 VbOli (zPY9r%ZC:55=Dq=ААq(@ Аq(@ Аq(@ Аq(@ ChȄ(@ Аq(@ϽYCIENDB`pPNG  IHDR**[ pHYs  gAMA|Q cHRMz%u0`:o_F9IDATxbA8990D@ Аq(@ Аq(@ Аq(@ Аq(@  <|aԩ .]}||bccPb_x1Czz:8ȑ;wdӣZ]@d;СC 8A=q@11- [@t n!@BD \\\`L   n!@#ŋGه @e)6cPKe2 )@ R}}}/K2,^F)) pZ .8p68 Dw 5>@݇Dw - [@ CDw  ٹpq IENDB`7tpPNG  IHDRr ߔ pHYs  gAMA|Q cHRMz%u0`:o_FIDATxbNNNFd>@11- [@t n!@B"pMMM, ,@11- [@t n!@BBHK6o f03<|aɒ%`1___===- PLJ?h p4,fggA2 ;pNN} z- ,ad@(}#eǏ4444???0(*KTxbe0˧LBV* |J`6(E C)݇D40uX'DJru(ux @1һ mDw - [@t %8@݇Dw (aIENDB`uUDPNG  IHDRr ߔ pHYs  gAMA|Q cHRMz%u0`:o_FIDATxbNNNFd>@11- [@t n!@p  `6:l!@1:~:(c$9s&XlǎG@pA Bj,^Ç @_B9990}%~~~Ǐcr@1 X= NlA @R?| w @ :pa!A, b]-!|oB!@eQ [O8ADTI3epVUU 6'A A,DN0K@r0 H;,Aq@j|@W)TƂ|Kt* Fz71@BDw \}@t n!@ w}o#IENDB`gGϥPNG  IHDRr ߔ pHYs  gAMA|Q cHRMz%u0`:o_FIDATxbNNNFd>@11- [@t n!@BĂO(Cyh > b\).>) CDw - [@> [@t n!@BZ@t!@B3IENDB`DPNG  IHDRr ߔ pHYs  gAMA|Q cHRMz%u0`:o_F6IDATxbNNNFd>@11- [@t n!@BD 666 \\\Ã~b!C11xzz=z b4pWW$u0Ab00 c"C;;;DBP39rAb"*A>߁@Jmmm>| 6% !5P@@L ·s̡JI@e)@BDw #'  n!@B0GIENDB`w WPNG  IHDRr ߔ pHYs  gAMA|Q cHRMz%u0`:o_FIDATxbNNNFd>@11- [@t n!@BDw  1:!&//Ƥb$hcR6{QAcAJ FzD  [@t n!@BDw - B-0|{זeIENDB`C PNG  IHDRr ߔ pHYs  gAMA|Q cHRMz%u0`:o_FgIDATxbNNNFd>@11- [@t n!@BD?~d`x!z$$[@x-x"' \tΎ  dY@ WWWW w^t   ޠѣG /fe ϟ?'2>#Ăנa q6e===~~~B XI -d16_Hj}())frCbw @t/- [@t n!@17z-0n" ኶IENDB``r @sPNG  IHDREY pHYs  gAMA|Q cHRMz%u0`:o_FIDATx; !QV+xIݼTvD7dd/L!|:>@J_l![ @/m6{_&H)QJ,sV"FU_`fUUǶPԒ2sRR Zk13Jz @gFUQ{:mȁ.jIENDB` oPNG  IHDR$ pHYs  gAMA|Q cHRMz%u0`:o_FRIDATxbQ0    h h h h h h h h h h h h h h h h h h h h h h h h h h h h h h h h h h }rIAIENDB` ~ sPNG  IHDRĉgAMA7tEXtSoftwareAdobe ImageReadyqe<IDATxb?@ۢMIENDB`( 'oPNG  IHDR&[Vm pHYs  gAMA|Q cHRMz%u0`:o_F'^IDATxbd F(`lĈψ`Q0 U0`@,h 3!aъfQ0 F C X*f+U8`Q0 F.\o(Vr Z1'C+ў(`B=P#Ɂ+B0A+P%ʆeW3 F(OoVɀ  rU2@̅֫`Q0 {47To0bXTpwh8Q08Z߿砲 4"5lh F 0!l@&9M` .ŋ@@a?lh 3`."r3 F(`pLatNfQ0 Fg@Q0 F(44ZьQ0 F()ъfQ0 FM@V4`Q0 h h` 1\rpM}fԃ(2` ?zjYf13={>z(Cgg'XCEEÖ-[bJJJ`u...H"Ó'O/666_>3|AZZANFAJZudh`{+ @>}{0@rMhh(X  ֭ g8yc`Epp>'۷àˠ`dl`ld3lۼ!ͻ>hG3 F0׮]Cǃi z; ``j'M4px'8Oaaff1 ?13IK0tXY?~|gx5ukn\ɐ>l F{4`Qg31M;<%yi^.66Vff` (,۷03|… l )%p5ӧ2̘9g؆ @V4` C@˗zqOP\6 :k̹ R2 ! ѓ' M $wk7n09z L |@ P̘1a2=hE3 F0Њ5PT ̂>@fC ~<.-cgcaKa1} /#˧0H10(Xx0e%psY ~ | (3 S`8s7'7;6m !&ɠpi'O2T+ &(#*P+!7w 660{Xq+Ͽx9b#ʫL,PY +! KWVo1yӧwY"B Z q1 +W,aHd+þ}[ZRR$-^Ƞ /0u,#ǎ{Tg `WmR͞` .0z]1&Z؀z]g2pq2 0f2HKI0YԘ!=1q:óo _>}d'ÿ?ٸ?xƠ*CE"8 0a ?@+**+޾}1L6aYT ZU'N2߁J_@ F{4`Q6mk)Ο0XQc?Ç7~~_0LJc\4 l~ ( X[`ic88-_0sd߾19s;"LhtfQ0 ø~6xr_ \l ߿~cXj-;N?çW@;c~7d/?F􉁏ܙ 8of+-:Ġ2 F{4`Qexŀz_g'`%=;0}7r7bA/÷أab4|06h@O!'/[E3&&&0ټeӰWhF(V4ǎ{~+ PeU8_?`="a`+O`~3 6|rà}?3(+X ٳ ?A @(`g޿7W+/_!P=/2q2p0|ߐJ?p (\I0{3P*:׼{ARRPAl@j߼y5 f0 Co[.MWK-" B@/ohqL4?,kmxCb@xon@]g ,UPZi E"B$VBlgίJi4D~̷CvXa $%'4szd6 [mx0Fh s;-֢ż I,hwG^Ni$yYfi,nݢ p3gp9m%s5IV4`Q靀M~|HY>`]=&< 4`H~e3})Ͽ @ P"?t-F`a34ZьQ0 F0deϓp+а0fx3?Cd@z`!v0|acL ,>3GaaY,0\ rҕ ` V a :VYz6-;^<ȭ0!B8CÈ%9ScѽӰ[ _v5* d|3N5V(`{[H] Yjggޡf@Tр  @(`@$/`ԛϿ{'lf}= ggW2ܫ7=r/\x?`Ç_1ݷgX%""" "\h`$>MUb X<a˶ < tRx h3 Ǐ= \ bo^/UTga @(` ?_/=} \yP4dvy ><\O-çĹ\990l^='8`Caa S]< F(HT֧3\~ |{&h>UgO1,-454_1p0q2cВc63|x|a} ~WFLHw+Bh`4ʰ`0s=M13H=P%WC2?{AVNAXXAALFAw ||ɰewC+3&Cf > F+Q0 F(+^p L(?pF&f..n.vn6Fy_ *-А1 9Q0 F(=I&0hh{3{7LLο _|bx5ý'>}dj&a=$H%c0kLh`@UIa `>4cbW!W:|X2 f/ $%%e8hE3 F(x2l`O# $XC0ÏA^ +l002e а C`@\Tay BDtQP*} =}hE3 F(DvVxg'G[3ڵ \uX  7czz{1#"h`C~N:CJR[w;pYw2}ۗ _|o]Z&&& ))``h`à ޛ3@V4`Q@d02c4>+ < #:h`*vv60 4@F(`hE3 F( F+Q0 F( \ra…`6m4(x@V4`Q@x)ìY***bWoP 6H F F+Q0 F( HKK3ܻw\لΞ= l@0AJXXCzz:sa0,AGUg`Q@bf̙ Tz6 \PP \\\ HoD@hF(D@=P:::(0> a@P Ġ˩ytd5 F/^ 4 !!16†؛{>q, _(`hF(#&#/OFؖ*|f6LghF(#K@򝝝}1Red6rӇf={r\YؖC/* vl0 QtTw^+We(\A.)CFAӇzK!p}1b E%"_kOLZU5ƣf^h5{#/k1 ZXHe/fAP4Ͳ,Bԃg>^9$Ȉ|歧12s^ 0woފM뭨+9@(Pzy:!rфNaPHAX?jOdXAMo ͣ` 10 fQ4 ˰aCK@hy3@ьQ0 F4`@Q h`2;9Q0 F(44ZьQ0 F()ъfQ0 FM@V4`Q0 h ht1(C ch،jьQ0 F()ъfQ0 FM@V4`Q0 h h`Q@S@(`hF(`hE3 F( F+Q0 F(44ZьQ0 F()ъfQ0 FM@V4`Q0 h h`Q@S@(`hF(`hE3 F( F+Q0 F(44ZьQ0 F()ъfQ0 FM@V4`Q0 h h`Q@S@(`hF(`hE3 F( F+Q0 F(44ZьQ0 F()ъfQ0 FM@V4`Q0 h h`Q@S@(`hF(`hE3 F( F+Q0 F(44ZьQ0 F()ъfQ0 FM@V4`Q0 h h`Q@S@(`hF(`hE3 F( F+Q0 F(44ZьQ0 F()ъfQ0 FM@V4`Q0 h h`Q@S@(`hF(`hE3 F( F+Q0 F(44ZьQ0 F()ъfQ0 FM@V4`Q0 h h`Q@S@(`hF(`hE3 F( F+Q0 F(44ZьQ0 F()ъfQ0 FM@V4`Q0 h h`Q@S@(`hF(`hE3 F( F+Q0 F(44ZьQ0 F()ъfQ0 FM@V4`Q0 h h`Q@S@(`hF(`hE3 F( F+Q0 F(44ZьQ0 F()ъfQ0 FM@V4`Q0 h h`Q@S@(`hF(`hE3 F( F+Q0 F(44ZьQ0 F()ъfQ0 FM@V4`Q0 h h`Q@S@(`hF(`hE3 F( F+Q0 F(44ZьQ0 F()ъfQ0 FM@V4`Q0 h h`Q@S@(`hF(`hE3 F( F+Q0 F(44ZьQ0 F()ъfQ0 FM@V4`Q0 h h`Q@S@(`hF(`hE3 F( F+Q0 F(44ZьQ0 F()ъfQ0 FM@V4`Q0 h h`Q@O@ F+Q0 F(F4ZьQ0 F(i F+Q0 F(4hE3 F(hF(`дъfQ0 FE?3hF(`P؟ߣъfQ0 Fe=4ZьQ0 F()ъfQ0 FEЪ3hF(`hE3 F( Z(`0@tьV6`Q0@ he3 F(#ЀT47o Q0 F(! ^ьV2`Q0@ѵdF(`]< F( F+Q0 F(44ZьQ0 F()ъfQ0 FEYg4ZьQ0 F(0jh`Q@a44ZьQ0 F()ъfQ0 FE 4ZьQ0 F('0G@(`Jk F+Q0 F(cg4ZьQ0 F(i F+Q0 F(44ZьQ0 F()ъfQ0 FM@V4`Q0 h h`Q@S@(`hF(`hE3 F( F+Q0 F(44ZьQ0 F()ъfQ0 FM@V4`Q0 h h`Q@S@(`hF(`hE3 F( F+Q0 F(44ZьQ0 F()ъfQ0 FM@V4`Q0 ( hE3 F("H@ F+Q0 F(4hE3 F(U @V4`Q0 (hE3 F(=hF(`аa`ъfQ0 FM@V4`Q0 h h`Q@S@(`hF(`hE3 F( F+Q0 F(44ZьQ0 F()ъfQ0 FM@V4`Q0 (NъfQ0 FE}44ZьQ0 F(GCK@(`hh`Q@i,@V4`Q0 (ftih`Q@ @V4`Q0 h h`Q@S@(`hF(`hE3 F( F+Q0 F(44ZьQ0 F()ъfQ0 FE4ZьQ0 F(iU@(`C5h`Q@Yag4ZьQ0 F(i F+Q0 F(viKhE3 F(5 @V4`Q0 h h`Q@S@(`hF(`hE3 F( F+Q0 F(44ZьQ0 F()ъfQ0 FM@V4`Q0 (NъfQ0 F  F+Q0 F(44ZьQ0 F( 8 PQ0 F(7 \?(`Q0 z Ŀ(`"oh݁\+bbPφ4TУ`Q0 FuP@7 7?bÀj@j/hgt(`lԳ/ĂV֛ьQ0 F(@ ?uo XJ0ͿhofQ0 F^ |~GKAaɌQ0 F( g +FJa`Q@DE\ 1Jd`Q@N egIENDB` k PNG  IHDR szzgAMA7tEXtSoftwareAdobe ImageReadyqe<IDATxb?@b1A/# ` k6Ǐ?f 2BvrB Ϟ>e#?~|gPRRd A~ /Bpy{1pr3\8s՛ F .\`bd07e`ek$K3b!&A`8p$Ç^~ŰnR52ܺAM]a XYEAS]P /_.Y?%? |×}\0|AQI euCTD8C{G'+L?}f8r=! |\ ;7bx%goD(ؙ4+r޽}-P 9@_cwAN<õ^;pk뿸d31ʓ{w0ܹua9 7oi@t޽4\]p-3ۗ2Z0XT-g0.gHg(.cpYif121523;92OdV{N_|fNnƚ ;lbJ=+׏1< !>.(0<l dN$/V`'(02 ? 666`E$dV; 0UBp+xWk'2&$!$@i"t&Za'8P0, /6z<0öWπ1"Tpffϟ?1?@޿ ~b o?6|}}1@X ";;[^^-ͰlBS2 12_,萿߿0| Ͽ5op*+BBBD(&*PP0D1fSf&f e=3 1(dܭq$$$: aA獰ѯ_\=޼|zH5'03+0g>>cw×j-%"" {'BXwoT,[!(& qTMA @[P3Yn96@xc)q561 *"F@&5H<î]D6xPH舝v2> >d1PȰi&PPlgQRn]m ;p!p (u0nIb)Iqp0pM1vv6p3 ڹ!  zX9m.K@it@K @`6PD( ~{P i䀿V@`b$6-(`Wvu4IENDB`- jPNG  IHDR$ gAMA7tEXtSoftwareAdobe ImageReadyqe<~ )j {Q @ pr @Ǐ_pdN b#[S0lh@ X9Ʀ&:nxձ?5422B~M ޛCB#,-0QN'RRR *** |||`5>|`xÝ;wݻ3y '-F Y\?oN@~~/84LLLl1Zcy,9! ϟ'O.g@i`L2@8~2HHH00-a0p9 ^bpt4e rad`bAq@aMO_c8xط P,/srr2XOOb<<< f8y*@3g-; KP,Y  @l\Wٺ`ԟ>}hO n|NM>pBOLLڵ{@sc8 0p0 J(AWp 90777}l#qx-E,:npA ʕ+`z@1@,*SSm`y 344'.5(K _tرc(pubZ & ?͛7ʊ <3/@ɓ'3F< eVy߾} ׯ_gPTT h3n ݿX% N ;@Ξ)0<ѣִP33;!@,Z14 v{O}{!E+dVb\5a _HPBTbʺD ;@M*\,4袁,< /@1" lPAA fQ7gP4r9j ~ t0B!?D>\_IENDB`] {RPNG  IHDR szzgAMA7tEXtSoftwareAdobe ImageReadyqe<)IDATxb?@bA022"sihP}|ydЮ fb&B nna_4Av? bb)  &rM 1( C=G&7@t߯ baĎ;k,@7Y >Kb7+ D@f?"^ ,/;Q<?2pe`yᯰ3Q `db#K9 a^=r9 9!Jax÷_٘DxXtQ 2? lwj0c  fG/?|p73g`bddؘ- :r`?4* ̆=]?_a_a Z ay^oc`~`Rj_v`MoW1@q`i,F~jNf9Fx&zf 'b`%ȇ ?`dfd`f 1$$@au0Hb O00.- w,>˿߁,?33#$A? K @D'BP h/Zn`xj =oO1?`Ɂ 3(rdz _EU2/`b zP;71LtC X5>HZ~kodW70q1 2/L `GACK X18Uo5f 30bd`10G2F``Y T_ 6 XUD~ˤ30;2| "Yf`"cbad~`!0tE : Tw?PP>gf0XAyc`pIDRQ)͘}n 07P@$@!PJ!$p12hS@*B Pn;q@#()30BP]4'% F) lPAAPÇFA3Bw(Mpz,@n @;䰠U?0n&|IENDB` ~ PNG  IHDRE*jdU pHYs  gAMA|Q cHRMz%u0`:o_FYIDATxb|Qi40@ @h`4(X@ @СC`|%0ÇlGLl"(eee`͛73L _x18* b 0  eفn("( ٠T8(hXvÇ3TWWS(* T6L: d` q )9{Pj66BZ"(,YI/^kDT*TA((V\ ʏng͚`nn CV*o7%P^K/ܢ [ 111`ǂhP-*lA`qt8H Dbٝ;wS.DI0<,( (@)VK@B, F @h4P , F @h4P , F @h4P , F @h4P , F @h4P , F @h4P , F @h4P , F @h4P , F @h4P , F @h4P , F @h4P , F @h4P 4& , !3 h FS @,/^M*h FS @h`4(X@ @h`4(X@ fx-óg=zoV6V_0ABRAZR L 1p}D@ 0 Ss3<{P \\ rr o߾f7*6## @%%% ˗ Ϝg8t$.^p]=}="`J}Vg'6>0ع Nd8z8õ7)0//M @4M)ҕk _bO`s0p=%( `nlʠ0{<WW}CCy%?`y˰{38`ϐ`eiJ3w 'Ϝa8s*DX=O_ r ^d`dbd`ege/''Xfضew"#R_WMj.[Űm!&&&%yi^.6`a fV6A`!۷03|… R`ARJ K/b0q2ÿSʗϟXà`iapQGO0S dHl`0\qrFAOGX`b淯_)f ԔLMʊAU3L9AYYւLwd3|z; ~gp=q`r3|OHb~J7_aeX|5CQI1ÒK~|0a@ @TM)wa CQY%CA~9 9';W!$ɠ%$_p1/0Ͱz555M2HI2()*3>}|0uDv_`Xz#` ++`afSP`mcǠȐ IE:n_w>}3A..NQQQ`MXM;3|N'NcPSUcسoCm]-C@É'~Vjzò$%44)JJ!88Z{r3SϴdSScxM) Ͼ 2|y` ,$3 7P@,ZZ[OpM nxy3̝7 ֯cl5{o`+0eb``ex5C _d1xUfx;ß~ؠѠچ ئk,ml-_0sd߾D) SoU}VV` bcl/Za뎝 acxOX<`<~/` L@_PF􉁏RΝ9ː na_4 |5Od2ODQJg7 |?_>,T=;0};G;, ,3~[59e!AY@O!'/[F l% j޳ _) (PS `ru~= ? _mN5ķ ? *Yׯ?ؠ$܊E ?3(}v9í[P%R@Q(/^p_ v7`}Xr0|U~C?p2hx70!Fp* u J޽cg07(} E D'QjX/[ED4^Z,A\\_3œ Ş}DNJJJcwIV.g Dv@45s=%σ =3JqJ (0ѐOZ_-( P,Swvv`U {Z _alʃK!?0%0r1<W`z〒ҿ RB BƠ߿m?xx@Q(XsPJ~c X31|vF,n1<,#`ev1|[N1L9T dbzxl?@Q(,j0,̿m " 1~@X2D(bgüG=V`x$3v  S0`/B&`{IPP*"_H/waB.~HDU+)ʡ鳀 ]nZb5J& LtBoI -LɳPe{KrS3ɦsxQ##( `מ 2*)I T*ׯ\H#7PRˀ _S/f`g!Z?o``nCY ?~FI!0*\@UR)_ӿ@U_`>ȱ=`ػg<&e@4U.5L=Bv1P`|1~ex~"W<0Z0!Ud ( P2f`ce7@A/Ae…> owN@?05? 4V@6QLa*oN?}::^FF-@Q( XZZ0w`Oɿ=(Aلa޽ .u#(@J@s@TN?`* H˘/3 gx}óWPR , W??;Dq/Y^AA;8 `0(0ڻ|!(σ0jCA-WP22XY>|ʠ&Ơ|az?Fhښ@ Xr7@£wJJldh @DO@U/#`& \ bo^ؑb{{Ӡ@rw' @QeўAGW\@)(Հ 3'Nb FHu $PJ873:'>ͫ1~ށr+++ːDUțCTL,Í70G gO1,`_1p0q2cВcF {/1ؿcBs&==ANN*@TL浍 .01BH1 &y^>Y9Y`9 &#?/×/\pch`7& vhhCgg0 sR%P>g-`t=Xd<lsqq l^y'b! `P##3@Q֖Sg΃ou*% 0}FF mm-L :::,C9!Y Ά,y^^^ T sM`M3a @{KA ٰitGݰH$X@VX@ @h`4(X@ @5`,IENDB`E %${PNG  IHDRE*jdU pHYs  gAMA|Q cHRMz%u0`:o_FIDATxb|Qi40@ @h`4(X@ @,$:p%8ח 111x ]d 20P>vvv$%E@M) zzz 7o Gؠ#BCwLnʔ) /aA09tȑS @abs#.@,N /dQuu5CZZX<66:@9ѣGA p[[[= >=g֬Y `3@ĉ ---`cK@J(MAP? MljJw"c; RK#3֘N\`fdE-(`)MR P๻=9e@1}0>D0 8nXAyVh"( X KƠB$ 1P`Xȵ6a (y`١C/-@msNptpR2E[5:?O4T6T,qN@]qL xݙe &b ӕ+W60G#p jpr2 DRrAva#X5  $*`R@Uwl Ar @ $ (yV06Uᰔ @R^j}>4!h4P , F @h4P , F @h4P , F @h4P , F @h4P , F @h4P , F @h4P , F @h4P , F @h4P , F @h4P , F @h4P , F @h4P , F @Ag@2h4`ŋѤh4`4(X@ @h`4(X@ @@Xoo2<{ѣ ?f`ece Ï?$$%%;]@  '7S Ʀ  . cpuqe00g004dWPbL] wla8~0Á I) V4s7@,P~p32|ADX/Г?d8+|PZ\ '-KF&FVvV2pqr2p߁km[61ܾ}!22!-%u@Ѥ9~U vb`bbbPfb`,`f`aecO=a}CaA>Ç.\ ,\A)XY$d888߹d" '3GN>@Q=|aɊ5   ex 00HFy}õ7=,gt4xye`&)&``~b̞ LM)ii􇡬~ T?Ôm-~˔{ ٟ1@F0g=çWO^>w Wnc?/7o)_t?_UW33,Y &La fDՔ}@[0U218ژ3(0\qa ~2?b0Wgdd6tմ3w`t15U5=1218y0kg1,[ARBACC@ c?cddhhaL>ҒLMdT40<&Gg2dd`{/ܼ?@qdg{`chim/?5Uhh(0w>`Jinf8w,Cbb2sX}V0 `߿e+߀1[V`%k`V )ˠ_J`ԁ0(U{ARRPݻ75^.+P|DO]clexiղq!s9w~yJϘOB6{."a)6+C(.?+_&YItLy9Vȗ<2*-Ƒ*3DC>%k}(P@ LفU&`O+ïO~ k1|}#)&p/T̿o_޿zJ_+i?&>JJ2(H 1 ˲WNʟw@d"_DQbAv`*i&`X|bp`J`$S@So9 0S0AcPd ?A$_DQa` XN`>0M>3H39=cɀX; 6eX=0˟ A)2' LE?+0 Y%AA`l uA( j_& "5>WR^ït(Jzd2tEiY Հ+M0 N&13%Be|.qlFC]L$}κG!s\(PD]{.Ȩ'';P&y&P!l\r< !&_`F@?H-*TLI?6jZغ6e~3%0Klr@QT%KHA ~_ OU?~ >~a={фW? X׀R0 UP4@C<+ _Akhvv`TXV/(P@š  #5 g 777_8ope@c~2"0[F!#0pe8}S 4Rl}IZDQcii F߁=]'evN}{2[YÏaX*`R;)?00S? ,c|Π/# ^CI%l*\)Ždy9U`T//L ðk~e< PS Im\Ae8` f+8=q`kkk (>^?_`A܀ e())fزm;8P@Y2Pv ?`>Ud> /2Js1Xcؾy G`GAMXHS(D)'G{]=pT6/gHO`8+ !50@U`+w w6pp{,CrrUV*#ob Q1 7n6?XL *=yVHSCj~}AKA]L><İb>o? iVjtWtjSɼa҅y&FHS)fA$' +' ,Dyd|>cec%Õ} MLF1r cfaN @Qu 9 Ο{-b..n`# Xի7>D"7` ʖ `dd0c4p ry?n\Rߣd3ˋD}^ i&3lݴ賿p1b)(S:U`tVbb"4-@4g k7ldX|{wBcHIIat oõk7?p>./?* 3;;|2-֤ X_}gx5Ν=p|';wo1y˗oF0%**nhS 0x =@0P;W`'xOiP#-xx3\<=!QP@ htq1@(wش\@L RuΏ[cge≫ @+Ǒk` O;AW9 (aVK"d6(p`W+Fp@d mX̠۸b1P  4A`7j 1GA4<(!rj0@* ^2@h`4(X@ @wZ )*fIENDB`  '~ PNG  IHDRNS11X pHYs  gAMA|Q cHRMz%u0`:o_FbIDATxblooe$b@:р#( FS FL@; Mqd 82@fU2@h0h4 h4 h44pd4Z9 h4ő h44U44pdmǑ h4ő p/Gt@)L@G&ʁL@)L@)L@)L@)L@G&ѬJ&G&82@82@ F* FL@G&р#4 82@ FL@G&р#h h44pd 82@ FL@G&р#h h44pd 82@ FL@G&р#h h44pd 82@ FL@G&р#h h44pd 82@ FL@G&р#h h4  *$PNG  IHDRN5O pHYs  gAMA|Q cHRMz%u0`:o_FIDATxblooe$b@:р#( FS FL@; Mqd 82@fU2@h0h4 h4 h44pd4Z9 h4ő h44U44pdmǑ h4ő p/Gt@)L@G&ʁL@)L@)L@)L@)L@G&ѬJ&G&82@82@ F* FL@G&р#4 82@ FL@G&р#h h44pd 82@.O-^iIENDB`M -Z,'PNG  IHDR^9# pHYs  gAMA|Q cHRMz%u0`:o_FIDATxb?(? @?@ F~@ 4h4hр @?@ F~@ 4h4hр @?@ F~@ 4h4hр @?@ F~@ 4h4hр @?@ F~@ 4h4hр @?@ F~@ 4h4hр @?@ F~@ 4h4h0oIENDB`N 1. *PNG  IHDR -t pHYs  gAMA|Q cHRMz%u0`:o_F-IDATxb?)  }? K@ χʁ@!+>E1 i B6=C{4f:b451A`'?@` HDdO @$G@J%@$+@ H@$k 5d D"Y@ H@$k 5d D"Y@ H@$k 5d D"Y@ H@$k 5d C4Gq[IENDB`x q0Z,PNG  IHDR-[ pHYs  gAMA|Q cHRMz%u0`:o_FIDATxb?@11], X@t b @RȘa_@J?2 @I Y˂~" GX<fAzt3܇<u %Z# ]DRX9umeAC|@t]~jM#BĀJds:v@J1ق PzbG R], X@t b @%j|/IENDB`1 21.PNG  IHDR-[ pHYs  gAMA|Q cHRMz%u0`:o_FIDATxb?@11], X@t b @QH)  (  4>b!@j>\D k@& P-Ac w|o8""K=(, -)yj'@1 #P–&B {ĉ@A$KjLx @1HDR b @%DK.], X@t b @%DK.], X@t I3hl#=:D X@t b @%DK ΅CIENDB` 50PNG  IHDR-[ pHYs  gAMA|Q cHRMz%u0`:o_F%IDATxb?@11], X@t b @dddTR@l@?T9Jx>'9ydf6G6 -YO@y  Y3 -pa=&z@!kE&R⊿0uW\P4?8@]] Ƀ@r !'}j3CDaG FJ+-c)n` # & -e,1_!dFZ"ׂ~GV@.-V ( d3 -@#BР@aa%` /G9y:Bְ q8Y16EYqYR@L X3o b*Y`a!$b DW=d S@`ؚ,|$+O)v 2G/E=(8%Yk->,0@uR|l (I{X jdBy -`AE|#'5q$Hҿ$@LHIF %$Hs YW] Q 9\I%I@jЃ @詤 mPG}@ؒc?5-a•byXV# `)A 0SK' b @%DK.],0jOkRIENDB`y Ye;5PNG  IHDR-[ pHYs  gAMA|Q cHRMz%u0`:o_FIDATxb?@11], X@t b @`},@ $L*z ף &2|`H@L$Z ֓0"'@@%D/T9 D"'x b"j&7k @1%F @%D b 6 |>%)8 &(RX@%ĄبǢhrR@1&zhA#I |я#RRZQEM!F@" &uЂ֌Ą'@/F @n?" 2 Ґ X@t `M dUQ?b8 DEM"Kp], X@t b @1gi#=:D X@t b @%DK ujzkIENDB`E S>8PNG  IHDR-[ pHYs  gAMA|Q cHRMz%u0`:o_FDIDATxb?@11], X@t b @`dddTR }r?J <\ .%Ą%>-E(&<1%X&#p> &"%@00N0eFJ, &,[|P<(#DX@z,9*~@ JBd?I(J@j- tKSds-u .)~@q#@@",8\uDES/( `jYSM E&T6PW,5e!j!DXb' x!H@ѥ!@L@@-K9lT8OS&@!'__05l 6mH'p1m-$xJ @Țhz-Q2Gv@. %{ 3%VdIjҏ0 F|}FhMEu(l6#=:D b @%DK.],0\ɅY~IENDB`n SAe;PNG  IHDR-[ pHYs  gAMA|Q cHRMz%u0`:o_FVIDATxb?@11], X@t b @R(  @R/`3 @Iz ~A@7 pry G- j[lLfz<q?403|]k| tKP|O#0KY9H Ī Г+xg1 s@,DXrK)еY@ćTM@tI͜+qi"'X@R%7"P#@h1 DO d1>iYA@"ԧ81L$@,!"fC.@ !W'6aDb)iĄִXc=  zp @pS x,g=L@Ґ-H@k^V##_*0@Phcv0 @130rށ=#=:DN@%DK.], X`6+lpCIENDB`n NCS>PNG  IHDR-[ pHYs  gAMA|Q cHRMz%u0`:o_FIDATxb?@11], X@t b @400~ P&4 .@t b @ڒ  O.> ( %({,%Ǘ71@kA?  r,pa}`a"aD `=>}DjjU* @X2Wd#c"֒ ȍ  bJ| < ( JR $V*D'rw) h0 @Ld# %8ZVKIhj @ &`P] e= 䴋%8/c @1b3iCZ$bG  X@t b @%DK "LIENDB` FSAPNG  IHDR-[ pHYs  gAMA|Q cHRMz%u0`:o_FgIDATxb?@11], X@t b @dddtR@lhJ Lp@ $ { f@a`> # @ԶED )<ْzH߿ dŸ\d><>r & <*/?@26`"Pf|@d~ë `|!/@%}q8꽏/>Ya= XPC~"6$IJT @2la tL cW͂~ } t Ӣ dKp]yziJ8$  5D(3' A,@Gbe!qĄ@ $ &'|EJE<@kzb?0 p4 ) W}6 A6R7r+1ZPT=M"r0 uRQROe+FB F\}Fh<@5 P_h8/h#=:D@t b @%DK.c]-yMIENDB`, ICPNG  IHDR-[ pHYs  gAMA|Q cHRMz%u0`:o_FIDATxb?@11], X@t b @ddd4R@  x0~e@10:q=6@ Y@<ȷf5-i@![6h3EȖ%LOr\@ q-o>L @,@> ,3Ho @@,1ʿǡ @L)KƗ`> j]cb!M @0@7"֣eZHz d qՎX9[6(5*@S0`-\jR~Sс*"@Bwy T=OM @ pI`>@8s<0a-fB[qbG  X@t b @%DK JOf+pIENDB`KFPNG  IHDR- pHYs  gAMA|Q cHRMz%u0`:o_FIDATxb?% (DDDDDDDDDDDDDDDDDDDDDDD PL<VB?Tc DDHi @ (6 (6 (6 (6 (6 (6 (6 (6 (6 (6 (6 (6 (6 {$3D@BIENDB`;WNIPNG  IHDR-[ pHYs  gAMA|Q cHRMz%u0`:o_FIDATxb?@11], X@t b @x?Gb@ b%al x?'blf. = } \>O#f}<!`l&@[PGcZPdǣlD/$|@}\@9 ZB'8RYzEJ@ B9Ըb" /aE`3K @LIDĪ @Lr-%D b @%DL$ěp@0 ұx- ÕDDAoIl WzD]K@X;%TjG6 H c]I-HK[  -h4-S41#=:D b @%DK.],0.zBBIENDB`emPKPNG  IHDR-[ pHYs  gAMA|Q cHRMz%u0`:o_FlIDATxb?@11], X@t b @QHS\z$I4~d&:Ƨ HX@ĺ<> Y@  zb- \{b- d @+b) (O[PZx9> l8 rDY@"~?4AK p+@5 Xpj;@ѥ X@t b @%DK.], X@t b @%DK.], R[ؑTKSKp], X@t b @%ܺ`@5IENDB`'SWNPNG  IHDR-[ pHYs  gAMA|Q cHRMz%u0`:o_FIDATxb?@11], X@t b @dddR@lP . )6sa @H R[,f8I0l&@a `x?nA ! 0s= ,ZA0)O I XdR@(.eT  dŸ*ೄ^p &h3?=4 4C^Z$:(B4Aǁ D " .p J-p & ٥04Q r}@𼏜 (R )@, b-'>q APSw Ă+1@Rlzd @Iq=2 d bBn(+R@KOS)f RXVmaK b @!G# 7BSKp], X@t b @%/=wIENDB`@VmPPNG  IHDR-[ pHYs  gAMA|Q cHRMz%u0`:o_FoIDATxb?@11], X@t b @dddR@l @쀦?@R`3 @Iz ~IAA7 ry G % @,dl3 XD8(ܡqU'JAfL\5$ |@ p(\+q@$ 'x,z<@ʌ.> ∔ q$@dV!D " 8c)#)5#0(A@O)@rbry @Դ=,ɢcf}J- d}DjCHy 4 Jp @4݃<>_@D0Q<W K .AKq8ҁi 86` FB_@^~Of͈ d)ڞ"M#BoH'ۏFQ 3 hsG.\L @r~2,> $0, ,5V=V @1ңc @t], X@t b @%ToTIENDB`uUX'SPNG  IHDR-[ pHYs  gAMA|Q cHRMz%u0`:o_FIDATxb?@11], X@t b @H `LI@q \?=DN,P E@1 @ @'')>Y#5D/@>0 7%u>I HHmz HI -b5H pŃ'"0 Y 4b @a z,  -@qP#k @1J@ 6PRi | ) ):P%b~qȟ:T3z[D@%@|D8T YM"RKp], X@t b @PLq$a@] b @%DK.],0DZ2yڮIENDB` [@VPNG  IHDR-[ pHYs  gAMA|Q cHRMz%u0`:o_F*IDATxb?@11], X@t b @`dddRrJ?f@ .}j@Ā.Ki @`tl H4 @"=K$cK bb"2R\Dd|\bD/qrH P #% DD dض(,0 @Ѫ캏(bT(QΔXҗn&@PL KM D#g٢ FztL.e@%DK.], X`a"?IENDB`7^XPNG  IHDR-[ pHYs  gAMA|Q cHRMz%u0`:o_F[IDATxb?@11], X@t b @1H;I_~b%a\@DbtsI0' @`#z=X 8>b@pyX|]7 b5fXT@q@*t1(]!.o+ೄ o#/>$rwH) , b)8 y%83s=z<Γ#[@Ĥ,r1<)- ` b-)  b,O(a)V$@T)PO DL '^svN\hZ &|eԅ DW "ْ8:X|1U}"">V @+Ǖ*\=L@ҐP\@o{y0@LG<@=H?J 5D 8,xRKH d @ZÂ96 ȱd=D8,1@j}$@XÂ5"ہ~"֒zr}D%ɉ  J> @zb- r+k @qoBDȒI?" |>TH@1TImMVK4Yj @R- \@N R #=:D0@%DK.], X`+٤h-IENDB` c^PNG  IHDR-[ pHYs  gAMA|Q cHRMz%u0`:o_F`IDATxb?@11], X@t b @dddTR@ P . )6s1~ O"6 09LX- FXywqD >XC 84 d_}|@ȊqEt. ǡ$@ qFKpf?H fFD7jْ82R6 -9CaFBWz[.F+pJ>"6܇Fx B+Xǡn=H XpT NbP=_` )e(qUH (. #}D <%! ehd'XO d xM' h,*1hp@s8~*%  RdY+BI,,ck0@13VCk8,-zPoy8@1ңc @t], X@t b @%?!]IENDB`  pcPNG  IHDRNI pHYs  gAMA|Q cHRMz%u0`:o_F &IDATx{pTw7 y@$k) BP pbBbꀂL+:Xv*H$VaFZQ@a@C0]IL /Ǎd~3s|;+QD]z.N颃tp:8]tp:8N7 UE|x+J8tpgN8gRQߌJTh>~):D1_p8p<뵙w"x M)엷9:M@1}NC{9sP8sAJfɼ"OPCO|p/ n,žʧj@`M-eO j0 %h4XC@482`K}O3gQЛ!f.4ekk9"| 3!.*w.?{bڦmF]{&@L23?D-b?:!CX"gAl T}5"һ#{,)Y#EDD*;K4cUJӗKa*w'KDoU4]$?EĞ73_DDhwMoDY /~ެ9RG)MY&"U/ܶuy:oOӋW^Z'75oSÌZ:N}:0(] gB[:ġ%<5`P?&D f=ZG; 3('qՌ|4B'O'&c%?Ι3h[hHKTƖa Ϗm9 {FNt8:TCؔ}.سjGH^Hmi)9Hr\x)><1LKTnț*"I+9ȩObh>aBxW 7_᷃%ܵ]╃ vrcV6㚌Jh]ڊ#A;9  =]O3^b.qQ w1Su> zޥxȍ`π>Z}MNTs;/44!h 4c-pk{͚?w)⪆/7 ~\Im07.;; Lݭ9.R/494XNEa50-P]RnՈ; ~7DUXBSI p}*Am1Z^&lj KO;| .p==#M-\=c9Z$|$wؔBĻWRDn)tV>Ƙxȥ]44jb3U bҪ+ۏM9%(5Vjry?6A`,o\n5` {D#'xʶ/{> ׂu[ԯv |:A*|6Ul̈Q"&rHf8=#sD48]&.j~A< x ʶA"ǨǦPU Jli\>j3")BK0"qXrs*mUF+0G@5s" :q+L隝|C u*w 0cK[qșB Omvxf8-{ԶhMa׈ui vbK=g$G`8is}{#"%U R*^8[=!nҵ}i:SW䕮Kx%!>)ڜ,"%8C/oϙTOحZ];Bǖώ{[1p滹XjNƑ؁3!H[T3TJƞUɁTjȞ$g]Oog>eOEoo;9s&Pῂh= yyф".¸ L]l#^gpe3S~~W5 Ty{L]*+ύMy #K7|Vh-{rpG`ZNaCnbM8\ZJ3ƙB2 ڪT7 {ܢBmr9@iM| us|қi ~8s&wݑv>B_ ޘ cYt+bΫ_,Q\0RwD5E:x׶/m|C'r?_sjhٴrɬ==zR{ ;~awBky𸓣#pQ8YsǙ]S,Up-Z:( my؎q<.< J2xpw#߭h@~>,3Ϳ<㸶K3|j3zp3ۄy%w] KcwT :z<w] }zj_ٕcH{uesۭs u)]Pӥ j30~-{^,ͻrLl,V wu\EFI~~6"'o/}WW&TicO߱x i;Z=Zahb3̪q~Z\2"Q(qd.]bT`jV9@"CapKQނw_*[#͚O6CYڒehjXp8\X΂䣀~o~1rEh׼:Y=9M@vL%t.H%mŸ/PP}e` ÁFCK"c>O{ )Ez f?QiM%p2y0-Ec3ShĔ ?sШrqXLO|Fs? 5;հ9IqwUڲf%N<$7 Ö |~oR%=)~05|ƸZʘB].ΤqGn=h 3 =V! ܃r@ڬ#1/Z)98|N鲃 ^2^p_z88ot4X=똰"nM9,*4Cf O7(|6 sؤ3/`G@i;*<&$CWp[^c5lgmsU-9{_BD(SD,$"zQ޼VSh\B/# 7 rQ ,+Ҍa`;.L[Α`MvE̩X|MsSTRx/'Xg`3',pqNuf׍n&y6ٓ"q#'5p5.p81*2UW,^ߋ@ mRW& \+@-Aok|rpƅj]N[ڇ^mˮn.gK~ћ '\`FE',se&>(݇:R[]_7k ω "_\~¾s?5yCm#ۆڻb455501vÇ&Up&׎ؙHXw^$*DqMOl680 xUL0*du2ZSn5AN\ a'=l'b`emڶ}jSx(U@cw]u*plJ>w s-ʾD}̘>}Įyܲ,KFGn%c>O:[+o=0 sq#<^"ƙ$ld^qϊ9z'Q (drsfXp,8  P&4'IENDB`Y-9pPNG  IHDRNI pHYs  gAMA|Q cHRMz%u0`:o_FIDATxkLgOk -[ł (Xf8AM0,Nj01E`ٲ%coc^KCZ+b_(g%7_OB^~9= !/2G#p8G#ٴ( E|݌G9.Ѱh[wZ?.W滏:,sCǴ SAԓ: pOCm\FAcue<@J?)6 8suRIt άB<>](e2RVrD,[mjE@Ԧ8hP)dbk:3g6m3\f8_Ԧ8?&粟5>mUVL8~I x\Z~G3 \f8I>mڄ"8֭"TDmyت]Tl!=z3xBa($WMoV;b *ҭZz舣R҇*MAǴ|p懦Ohf@l#I[|Mrq4DsD=4{-vq Z3m;?))5Qud{' LjRTZCf8@ښ,`w հAtw΋dZ>pAYlZeJ:o֘Xӝ{d \Y4*}΂ &mYIMd2@*@K7Gs8:*+Wxa- /UPn~l8Z:2U3{RtN_`G/2/; >Ĩ}O"CCH9U &Uy^O x]Ghcx}|R8$ lRJT lU@L/4Y%ͩcSiؤd/uQV"w!G#D3QTh<IENDB`&T|PNG  IHDRNI pHYs  gAMA|Q cHRMz%u0`:o_F|IDATxmLSWǟ^Zދe R6 MduhVfeYa[Dͨ)[87[[@~ذv L3èiZ奡ZZ-}m'rӞry!bhp48  Ghhp48\L ^ND<&#qLA{C}p ~TZal~zd'@`wz+8|.z--JC}iÊ5>CcsTd֌߷;=97݂69PHpMYnƑdy߿]7SűqQN#(/Lu]<.>D {<%>""#E+$ ԣ"*&ܥR)}V|.?fNmu28Lec1Qeɢ{ \*hfJjnJhDzo<>BpLZY8c,g\#Sgi[T 𹐖IM/bjUCk0r$Fn$/emƢo -F8qN 3XD.-5 Qq 9៺SF$EGgXٝT)!:h>q|oui-UuvCDO7?;e~$@"䃮Xdz2-, s|2kSٛAIfL%vNUFrpV!X55kr)w`0ڬqΒ5E\<`^Cov@a.4Gv;dm-_ mqbʦ79'DI$] \UF797E+*YZ5krOVZ~ӈ͎Xӥ5 'ppA2Ē'MGbAu(s^h0 - A,A;=5 cjC}i$-Θ'\`UOw:7e*;;f}w躄I‹}e+-؈F=mSW.eёܺcL`e^ٗbN@pUu"*r:MNSk!<9ТQ&J(r8$I@2Cx g1%>UbƉe* ꢼ (/3;Z߈gv1t#| .!ӓZRu#qdGO/˂od:FVorb솧 `?t#z '-3Zs6㨨WnrYta>-lN_?9r`ٝ7;Tcр{ф-5`ZPgk9hDrƢA{YGЫ - p4GC  -p[LeC@k|od8"Ofjَ,f\@`fAa>9;L5YLeŢ&!I%`&e[ ?g^k8ZurH|j$hGtv,U9]˅KxѬ)B~V 2YhM@ X9'|&`pO`0yg(Ѣs G=!4FLIENDB`{PNG  IHDRNI pHYs  gAMA|Q cHRMz%u0`:o_FIDATx{LSwǿ(8u51D\ +,.C[@%K&12'⌭|9 œ&W0.dXZTJcqo{9;^!..ǂcXXp,8  VraE~)? &4 SenaIf>:Jp拽|ɜ׽7].>3m)TT:Wu7{8(Mv(K([!Y`3ZY "PJo4_DkU>Zz\RFrSq}n Cz˩C5yO,/-oYq;)޾!4)CuY&X[zcm9ֲ6 sV*h"PU}7Y\Le/m IRHN{d]{\eL\T!e,h{v!b!?Õ{NnVrMHYooJ! .2"(x`FM?WwBîp6C֞DztߦI*-7²vij$5UUM쥝yW7=mVzxTk=G-NJ}Yl,6v,A׺U7P\Nļ#ٛ!j˲Jͭ5/M@?.3|u'$B~Uu{CnAɚ)_vzp;`6Kϒ>M$q%KVA!V@YB9)K(,押>wK~:Uwd&Bxgtx/"DG|,d*TTN~hd 񷿏yhUQC7ڀ7w{MPRAe£_䵆Faxp>>d0C<4h8*[JH&^sp]J9n? q1N C'Q9B^Bbi~:@gzcD[A348I7j4 99EF \ #DVzkf&-F/pR#o14zK#FpchW)#c㕤fpc@c#')GƼ!F}[30xaѢDӠ9j3rF!'"F4z8*[ ~^}iJ,8?m/IENDB`MPNG  IHDRNI pHYs  gAMA|Q cHRMz%u0`:o_FIDATxkLSgǟֶp%,u"jaX, 1`u[bآ&$fȘ(FJ$q@*P;.---V<8Sh*mɏ}ާA"pp88ppp88"y6B3mzU7=8EmiR+wc¹%]k#oĈi϶fI s=F [FH 0U#莣L4?c{k2D^,*h,D@,D#A#kV"|!-TN$kV[SvZ<L>/ZWspG A~T#V,c;eh:p }W|~AcFXe+jUGi+LAb{ǀI=UAL8ff WvՐaSzbK#1z+TUEs"mxl|^y2 E%ECvg`O]:MÆ3fp. hP=וsL:yfr;tٷm1ȍ^kT޽ qOpo|]zVm9 4Xv\mӗ: 9j`m2c66>&[W$ө$Er^Rܜu~wx <]WN%h,ʣ &Y{ vy0 x xtk "7FX5|QMNX ?$oPNX4(ʣ zX5U p򨂾iCynUurZχwAF hT 8=Г33jA(i\M\B> pjva 9|uoe%htfљោ+}f#Fշh@WG߯JR~I0K 1#9TBhIȾX^bh}CVgSam |o->@rwE;) 8YJ68)4:hTU??C.`-ds[.'M7a߽ 5P$$^oT_@!nS *O&-/ozuEdzX ' NzshN.-.?YTjȐP$$:r*qs(ͯ/ wp>-8Knfsu^Uh|S乆$Km9QVQIF&Gg8uL/`VmusIvI|HVL"-qEwa}Er%2go#,ކ벪R´z3B[,䰯7/gۜ XF4ǸJSVԪ %u o؄eŒ"7FZQRd.9S~0YlLѿ8MXpꌿH&)QY ,WFC]Lf_ctuIllzY%68_*l pO0k͓gG ? m]8w剝 [s,%L72ͣm&!uz=;appppnΈLhIENDB`[PNG  IHDRNI pHYs  gAMA|Q cHRMz%u0`:o_FdIDATxlSǟ-]VuckТxݮCuo4,Hdj\n D117&w7D. Dn eʜX6~u?l7ngk8f"Y{IiO9yy"hx#xp<8^<8ǃŃxpY-|58P.Km Љ|"N=Y8.ȨS6m.zG*zA)O-{B{~/dFBFQly6/WJ)Iw U劷NIpD0o߮5m$qN@tթǩš֤&,C `6fy 0_U֤&^q؎n~L=N֭PŶT לNu˒z_-F,3N#7 ,n}J?pnGuʦWkR~3T>pϮE֤&:e}e̮ǵF2T rDx,hIy合j֕nzfKe!0IOIUиÐwWIGS%OKtP5Muo4FiUطk +GN]Ju饴s/Hڗ`z6|W$aܽ` Qlp*4?ybIM}bB_H:^ԺBeyAkGٴD\Y"#4R0Զo4rsZґ2+"XR)%໸C34n6 D0ϴZ {hGgZLm$4 ʴ 7tt{YL"`(^ 񶁸j}1n>08FnlsѣN2V…Ѽj}qCиa曗3\'0n{v"p&595Ƴ%5BF n|"X,$[rDx(H6*e-npuLgi"İscLq Fhʚhxe5kzio]dVBs;$q#0-*+S\3N/u(|ײZ\>J& P7^zݠ``:gS!ڇ4Fq52k֕nQř.O*+/nk&J.^)WEXA 'Nvj֕nev{4recݽJ+*fѷ7CmaE_}7z issKi+rT#^qؒ .)DLowO޿ ,&6n.ho=pG)?d~}mv 6D9S]. @(":f: BDۇ|O&M '2b'T(zK"E"95@Pa*RBCg:rJ %(<&jxRo8S\t;aH,p@rp22F+K;|Fnp14}"!@-],W晆BxF cH5o3fD3G̓Y{&/U<8/m zhIENDB`1MPNG  IHDRNI pHYs  gAMA|Q cHRMz%u0`:o_FIDATxmLSWǟ޾PjA\ȊkL5 l qvsFݲ- $.1a%Ò5Yldf1S^$ad }Y Ena4li˥=&M{z9-)r C8$C8 C8.sӼ¨ ͳ~f;D,THr_G/&*pU4EXFxEæIpAыq!Sg& ?yd¸LeMVG2?P :Bh449Y.`K ` ?˖{'2K{Ȉ7gV- W٤'%bštC`3eU&=ocsl\MƢ˖\B%sotw~X*bگNZ.JWҁ *X$ 1ƥ˖\OaMpft鎳+9M4m_g6I"Z+_tQ¨^<_dP-i5b!KeKP)!֪ںneݥP%ֻ)]DPQ>O;X>stU5Ae5(okڦϻʊWo> ;hln^`ʠLCqp}bp{.G%~]bX%B|(.Pe.GA8;S4d‡P׿x KЋZ>Rn+%՗ @Gȡᖽ002l #. )r9+(mɹ &E'j_cqƖRj2X0j:z|-vK`.j6C@|UQ;fY(5 dD@k罌e wxl )f__Z#N٤'gT4NXF nbr7H⡸d&uĚΨX${Ħx'θ{'-Xӓ2VBu+s=^fX$ -BnߙgoX/u"OQ.6`bo9./"06]R=I6oȺTqj!j]SIp xgC7|$]ɅCpZK(X󒈅 KTx !;Zh)J5Qe'h>|kCn"v,yP~-Ky- gUT{&Z=24EQ`6FTq=/O1a%@`dW'T7Qͪnj#9XX!Sq5njKeS!!p!pRJIIENDB`?˭[PNG  IHDRNS11X pHYs  gAMA|Q cHRMz%u0`:o_FIDATxyLg-9!xMӌ g:i]bvD0'ΊSPye?\ԁ沙l%az !3?*Nv>yWkSIeD< A p"N 8'DpN8'pN 8'ۨK/OP:.qF_~ᡮ=SgnXZOL0#ARsFgd(98 $}Aq]TffPy MҜG/pNJwgR+ 68MR8~{0WCS߆B@VAԓT m(_DƺJ%%j x&܀v.~ldT ԥQs*N\\>p6kh e_p.8c s<&i}M@VjN-!8bdpfq5*qh>9 |A9![2'4Ί-"r!>]cJ@žh~{F9H9oq JN-~h'qCR*nZ؛MFR*O0F_=GpVu᩶h. N;7;(A cSCOzw\k}jƭ.+&~9Wծi+ [M'MS/i;ll͚[x_30[*NtAc7&"HȲMb NqzmGa=0%xFOƸ>ڃ׍OW۩3/b5뱴$9Wi WAYDL@Vr/umlDI3:54wjUM]ppOq=Lվŧt%@,)J)Ey([ޚW֚ZYӪw >\ll\]Fh7ع w5-wk4VBA( k'2`$ |zS¯-'?(Y:\pA/>rK/ǹ a J\x'~_@RIt5-jt~E~ғ17[fO&c w TW4pt!I})T#-~ߗ7(Aw}.P sD$]Cs>j}9xXi9e=^Z,@7?l]-v>I R)꼒KCTl$ KpC5Ba^Sn < ޱ]qWG /Rvbl 'ŭω~ϪxA]'y|kx. Pi\vgUX#CF0ײq,ov .!eUm8);u䓂< s ^BXJJz w2yϦs//gAZKAbrT~W7kWC{59`Ri9Wj#cH]%3}={o !OT7ܿꍢp 15jM!n?~GF`dg37u gL Zx5_Bn !:!q~~+p1y ŸGo3#Cvp؂J)EQ֊ԧeU1#<;ZFf?Sfn S[AaoߢyRӧψ(&rWө3qWiGGѾj&|^%?KήUәb8rB\0Mѭ~*(,oXEy[/o_fϦơ1ᆭkgvv[$>4n_"_+'"p"N 8'DpN8'p;@zH.IENDB`if˭PNG  IHDRNS11X pHYs  gAMA|Q cHRMz%u0`:o_FIDATxkLSgJK-*"ɸȥ`( K4sl6gũ 3nsnؔyNꂈEEDpB¸T@'?,ɥמŇъQTٱ;!\Λp C%u^R4O׾Ԕw-dPMl WowBSb)Z&2[8po8҃O4b5)Ţ?,2OD {}L]4oʓT`{7ŀpjJncyME(o#VS]ת˫I~+Of1 K( xy8Oָ'-vlv 6[7d[5!\1es7Wa+(o(bq~4"@v͑-4:Au F}mC?g$)cϗ R+@|ޣKhgWoue^^Ӆ#7Nd;+'hzvx~@ymU/H¡^z\[z'"/t2#qYECiWqk%jexrXʞŕ}c<'mÜ' 8= qYh$_]uԏ#sw$ [g>!M3H[.Y>P`h"塖8s_:M Gk˛mcHy(Dig.,4oJ3U,k.BD𩸰=G;_RGqA,XC^CA. {yxCqrQT9rUjɮGSdu1ϣbqEri\N8G #p8G#p$8GBz_IENDB` TPNG  IHDRNS11X pHYs  gAMA|Q cHRMz%u0`:o_FbIDATxkLSg9mri ZV(*8 Nls,Y%}Y6veln&n^6M5NqjPX P8gƸlA}Ir޾{9ex(GpGpG!8#8."F/Ƣ9fӵO/:E(I%\ViMT9|o'VF>p37/}QEOX0%C e`=ߎjSR̄[\>*tp*.{RKު̕TVdu`M=ʗYӲYȊt+6p\س@wQ6׻6-)L~ 'E6swWo4!WY,k<{bǯ;;'7KQ}=QJѫ 5:?Nł´nWVϸ/Ǹ'LGN|2H,F5z & OCϴmACU,-.7jpKekb5ݗz;|h\jt^\ e]VӸM:K5QM<p{{Y¥Ts^hqYY8Y`b83 SlϘ+r1/"M^EIqLx6SlA(\0cξc&6,Tse1rp#< eC͉+]㏦Ҫų*-HeFP_= HVSSinT!(u$q_qOE!а`ӕ Ĺ@:ppZJ!t-~[?۠ a {p bj Bz.фU9\x둮t=zZ>< ®|'ü@"0"pp RrC@a"DaR_.Z ݴRu< 0cT ߩ^1Vppݗ7BB#Dv 'v4`=OQBpGpGp#8#8 D `PIENDB`SHPNG  IHDRNS11X pHYs  gAMA|Q cHRMz%u0`:o_FUIDATxiPggppXNJkUzթJhf8V;Ңk9u&xqjDnNP)B>_ߝ>;$hTC/ 8*CpCpBp!8T!8P!8.dc{&|4`)ҏU%-s>؏:n]l 3o猷:&%#.e4fmqUׯk4do $*q#. o>ԦPxՁ{Z|&[?&ygY??EzC" pw)moq!;NdGzWO 釼zQP^.6S$C\Yfq s1p 9_.)wh jKITDWթy8[wG7Sta~Vu &<!ōun,v\(9s@qykY#g$;\` 7”8N6&1AizNhh VW%9Ön9E%K#1zW5HYǭ Nqls?!-_8SJ $|]<׍</=.O53"puG%Yvh^ `z=?&޶G*jѥTP.T!R6``@"Tط9)0`MžK&ث$ٚ3,MN댔Ps ZvݩW03 ZVÆrEփޮ<#%*j cN$$z6x>퀞b q@, tfb@Q4kLy8[.wuD|qJLq~k(EYK:~=vB} 29Bp!8 !8P!8CCpCpXS(J!/IENDB` gTPNG  IHDRNS11X pHYs  gAMA|Q cHRMz%u0`:o_FIDATxyLg_zXJ[ -RPBHAGqjײ\<2EEDCE.<@-2bj?CpGI}}%8(2"@p!8Cp(!8PCp!8 CpC IO&1Z4[4Acxbc\6˦g/~58R_t&D*n}kqi teǞfq ]')TGvQ9:]Y5-'4L =~Fm7HĻgl7NN`yr~ϱ?as5RZk8 !C{Nx_(5dqĨ:5$wT%$/5lj $T*xoRbđz~M1A.Eյ ! f֔HrO+t79Pi `6(|ŎiШ}F΂'oc 6?K\n^5&3Zh5*=YWWteӟ=Η]ф$,Ula(ҢR͆PvUO68@0 U65:8)13~\x6"O+Ӗm*C  9q)1H#™'-BdDtGȵs#g[q,8-֪RlU$͒KyeG\l& H\ [q%! Xkl6g(Ԝ-1a)coC.4:G Z..n&,d x{ #pDX8W~+ZB~Zqowtqٟ6>_q,Ŏ`` *PZc#rShT7x2 'NRljKFe0DzN0?듣Q_E~xܻ۱.Sh L/?`Thp۱}MF_!5yحXOl1A.`q-KW uN2Rݦ%BnprKI d޲l(w!$ݎb! q(dMwu>Ik3x$nFiZ%]ye0i7,֏A}hM74b_65ۅݠXL ^s$B>zѼkܱZ *QaTp5ADieҩ+ih~ Z٨otӲK[WBV *c3 lzp)Z2&ȥhtQW(g9/ f}\|eGGƊT1| C"h%vku:QD#۾yYՅ*4@F]suN 8շ֎Jޣw'.J}o)%J|lPHE 0W߻]ǯ<mu $D*a0S] [isBo -! i =Yzp*IGBfYCq(֎>AJ١ @!w>T>-KUtG,}VKmD(} 18[yyr(lt]%P}ۇz?H"?Syo,ގ.RxI2-- ]7_%fN\ʸ2jsoP53427;8qP&;6t/R-kv*ydz-q}oۊ1H i4-ܜϽ(qYղCxX J*ڍOe{#VgqPP @?r }Y[@^ j,R%u}ݵe9WO(V,|U\-f@&e2FNΊ~gyʄ^y !b Xc>_]ˊ;5ogpV pf'kڜ yFD[ǝsj9(bHHWȃjq0>r~TWLQU5y0ppC8C8 !!^h$(9=hIENDB`_:/** * The AlertData requests and holds data for BMW Alters. * Data is been used by enlarged and reduced AlertWidget. */ var AlertData = function(parentFrame) { this.list = []; }; AlertData.prototype = { /** * Initializes AlertData. */ init: function() { }, /** * Starts HTTP request to get new data from widget middleware. */ refresh: function() { var self = this; var request = new HttpRequest(SERVICE_URL, SERVICE_LOGIN, 'POST'); request.addParameter('action', 'alert'); request.addParameter('number', 5); request.setResponseHandler(function(response) {self.handleResponse(response);}); request.processRequest(); }, /** * Called every second. Do nothing if refresh interval isn't reached. */ trigger: function(ticks) { if (ticks == 0) return; if ((ticks % REFRESH_INTERVAL_RELOAD == 0) || ((this.list.length == 0) && (ticks % REFRESH_INTERVAL_NODATA == 0))) { this.refresh(); } }, /** * Checks response and keeps alert list if available. */ handleResponse: function(response) { try { if (response['list']) { this.list = response['list']; } } catch (e) { // error reading response } } }; 0}0H/** * The AlertWidget displays a list of BMW Alerts and the current date and time. * Can be used in two modes. In reduced mode only two headlines are displayes. Full list in enlarged mode. */ var AlertWidget = function(parentFrame) { this.parentFrame = parentFrame; this.list = null; this.dataProvider = null; this.detailsFunction = null; this.resizeFunction = null; this.detailsTarget = null; this.enlarged = false; }; AlertWidget.prototype = { /** * Initializes AlertData. */ init: function() { this.links = []; this.arrows = []; }, /** * Displays elements that are always visible. Redraw is not necessary after data update. */ paint: function() { var self = this; this.headline = new Text(); this.headline.font = 'Arial'; this.headline.size = 13; this.headline.style = 'bold'; this.headline.color = '#000000'; this.headline.hOffset = 19; this.headline.vOffset = 160 + 15; this.headline.data = LocalizationManager.getString('alert.headline', widgetLocale); this.parentFrame.addSubview(this.headline); this.idModule = new Image(); this.idModule.src = LocalizationManager.getString('logo.idmodule.url', widgetLocale); this.idModule.hOffset = this.parentFrame.width - 70; this.idModule.vOffset = 35; this.parentFrame.addSubview(this.idModule); this.content = new Frame(); this.content.width = this.parentFrame.width - 30; this.content.height = this.parentFrame.height - 230; this.content.hOffset = 10; this.content.vOffset = 200; this.parentFrame.addSubview(this.content); this.noData = new TextArea(); this.noData.font = 'Arial'; this.noData.size = 11; this.noData.width = this.content.width; this.noData.hOffset = 5; this.noData.vOffset = 0; this.noData.color = '#4c4c4c'; this.noData.data = LocalizationManager.getString('alert.text.noData', widgetLocale); this.noData.editable = false; this.noData.scrollbar = false; this.content.addSubview(this.noData); this.buttonImage = new Image(); this.buttonImage.src = 'Resources/Images/Common/ButtonBackground.png'; this.buttonImage.hOffset = 20; this.buttonImage.vOffset = this.parentFrame.height - 19; this.buttonImage.onMouseUp = function() { self.resizeFunction(!self.enlarged); }; this.buttonImage.onMouseEnter = function() { self.buttonImage.src = 'Resources/Images/Common/ButtonHighlight.png'; }; this.buttonImage.onMouseExit = function() { self.buttonImage.src = 'Resources/Images/Common/ButtonBackground.png'; }; this.parentFrame.addSubview(this.buttonImage); this.buttonText = new Text(); this.buttonText.font = 'Arial'; this.buttonText.size = 11; this.buttonText.color = '#ffffff'; this.buttonText.hOffset = 30; this.buttonText.vOffset = this.parentFrame.height - 6; this.buttonText.data = LocalizationManager.getString((this.enlarged) ? 'alert.label.reduce' : 'alert.label.enlarge', widgetLocale); this.buttonText.onMouseUp = function() { self.resizeFunction(!self.enlarged); }; this.buttonText.onMouseEnter = function() { self.buttonImage.src = 'Resources/Images/Common/ButtonHighlight.png'; }; this.buttonText.onMouseExit = function() { self.buttonImage.src = 'Resources/Images/Common/ButtonBackground.png'; }; this.parentFrame.addSubview(this.buttonText); this.dateNumber1 = new Image(); this.dateNumber1.hOffset = 16; this.dateNumber1.vOffset = 12; this.parentFrame.addSubview(this.dateNumber1); this.dateNumber2 = new Image(); this.dateNumber2.hOffset = 58; this.dateNumber2.vOffset = 12; this.parentFrame.addSubview(this.dateNumber2); this.dateImage1 = new Image(); this.dateImage1.src = 'Resources/Images/Common/DateBackground.png'; this.dateImage1.hOffset = 9; this.dateImage1.vOffset = 77; this.parentFrame.addSubview(this.dateImage1); this.dateImage2 = new Image(); this.dateImage2.src = 'Resources/Images/Common/DateBackground.png'; this.dateImage2.hOffset = 9; this.dateImage2.vOffset = 93; this.parentFrame.addSubview(this.dateImage2); this.dateText1 = new Text(); this.dateText1.font = 'Arial'; this.dateText1.size = 13; this.dateText1.color = '#000000'; this.dateText1.hOffset = 19; this.dateText1.vOffset = 92; this.parentFrame.addSubview(this.dateText1); this.dateText2 = new Text(); this.dateText2.font = 'Arial'; this.dateText2.size = 13; this.dateText2.color = '#000000'; this.dateText2.hOffset = 19; this.dateText2.vOffset = 108; this.parentFrame.addSubview(this.dateText2); this.refresh(); }, /** * Requests data update. Removes old alert list and show new list. */ refresh: function() { this.showDateTime(); if (this.dataProvider && this.dataProvider.list && this.dataProvider.list.length > 0) { this.list = this.dataProvider.list; this.removeNoData(); this.removeAlerts(); if (this.enlarged) { this.showAlertList(); } else { this.showAlertPreview(); } } }, /** * Called every second. Do nothing if sub widget isn't visible or the refresh interval isn't reached. */ trigger: function(ticks) { if (!this.parentFrame.visible && this.list && this.list.length > 0) return; if (this.dataProvider && this.dataProvider.list && this.dataProvider.list.length > 0) { if (this.list != this.dataProvider.list) { this.list = this.dataProvider.list; this.removeNoData(); this.removeAlerts(); if (this.enlarged) { this.showAlertList(); } else { this.showAlertPreview(); } } } this.showDateTime(); }, /** * Simple way to add different parametes to sub widget. */ addParameter: function(name, value) { if (name == 'dataProvider') this.dataProvider = value; if (name == 'detailsFunction') this.detailsFunction = value; if (name == 'resizeFunction') this.resizeFunction = value; if (name == 'enlarged') this.enlarged = value; }, /** * Displays the current date and time. */ showDateTime: function() { var date = new Date(); var dayOfMonth = addZeros(date.getDate(), 2); var month = addZeros((date.getMonth() + 1), 2); var year = date.getYear() + 1900; var hours = addZeros(date.getHours(), 2); var minutes = addZeros(date.getMinutes(), 2); var monthYear = LocalizationManager.getString('alert.label.month.' + month, widgetLocale) + ' ' + year; var time = LocalizationManager.getString('alert.label.time', widgetLocale); time = time.replace(/{hours}/, hours); time = time.replace(/{minutes}/, minutes); this.dateNumber1.src = 'Resources/Images/Alert/NumberLeft' + dayOfMonth[0] + '.png'; this.dateNumber2.src = 'Resources/Images/Alert/NumberRight' + dayOfMonth[1] + '.png'; this.dateText1.data = monthYear; this.dateText2.data = time; }, /** * Removes currently displayed alert list. */ removeAlerts: function() { for (var i = 0; i < this.arrows.length; i++) { removeObject(this.arrows[i]); } for (var i = 0; i < this.links.length; i++) { removeObject(this.links[i]); } removeObject(this.teaser); removeObject(this.introduction); this.links = []; this.arrows = []; }, /** * Displays full alert list. Up to 5 BMW Alerts with teaser text and image for the first entry. */ showAlertList: function() { var self = this; var target = this.list[0]['title']; var vStart = 0; for (var i = 0; i < this.list.length && i < 5; i++) { if (i == 0 && this.list[i]['imageSmall']) { this.teaser = new Image(); this.teaser.src = this.list[i]['imageSmall']; this.teaser.missingSrc = 'Resources/Images/Common/1x1.png'; this.teaser.hOffset = 5; this.teaser.vOffset = vStart; this.teaser.onMouseUp = function() { self.openDetails(target); }; this.content.addSubview(this.teaser); vStart += this.teaser.height + 5; } this.arrows[i] = new Image(); this.arrows[i].src = 'Resources/Images/Common/Arrow.png'; this.arrows[i].hOffset = 10; this.arrows[i].vOffset = vStart + 4; this.content.addSubview(this.arrows[i]); this.links[i] = new TextArea(); this.links[i].font = 'Arial'; this.links[i].size = 11; this.links[i].width = this.content.width - 11; this.links[i].hOffset = 11; this.links[i].vOffset = vStart; this.links[i].color = '#4c4c4c'; this.links[i].data = this.list[i]['title']; this.links[i].editable = false; this.links[i].scrollbar = false; this.links[i].onMouseUp = function() { self.openDetails(this.data); }; if (i == 0) { this.links[0].onMouseEnter = function() { self.links[0].color = '#003399'; self.introduction.color = '#003399'; }; this.links[0].onMouseExit = function() { self.links[0].color = '#4c4c4c'; self.introduction.color = '#4c4c4c'; }; } else { this.links[i].onMouseEnter = function() { this.color = '#003399'; }; this.links[i].onMouseExit = function() { this.color = '#4c4c4c'; }; } this.content.addSubview(this.links[i]); vStart += this.links[i].height + 5; if (i == 0) { vStart -= 3; var data = this.list[i]['newsTeaser']; if (this.list[i]['newsDate']) { data += ' (' + this.list[i]['newsDate'] + ')'; } this.introduction = new TextArea(); this.introduction.font = 'Arial'; this.introduction.size = 11; this.introduction.width = this.content.width - 5; this.introduction.hOffset = 5; this.introduction.vOffset = vStart; this.introduction.color = '#4c4c4c'; this.introduction.data = data; this.introduction.editable = false; this.introduction.scrollbar = false; this.introduction.onMouseUp = function() { self.openDetails(target); }; this.introduction.onMouseEnter = function() { self.links[0].color = '#003399'; self.introduction.color = '#003399'; }; this.introduction.onMouseExit = function() { self.links[0].color = '#4c4c4c'; self.introduction.color = '#4c4c4c'; }; this.content.addSubview(this.introduction); vStart += this.introduction.height + 8; } } }, /** * Displays short list in reduced mode. Only up to 2 headlines are displayed. */ showAlertPreview: function() { var self = this; var vStart = 0; for (var i = 0; i < this.list.length && i < 2; i++) { this.arrows[i] = new Image(); this.arrows[i].src = 'Resources/Images/Common/Arrow.png'; this.arrows[i].hOffset = 10; this.arrows[i].vOffset = vStart + 4; this.content.addSubview(this.arrows[i]); this.links[i] = new TextArea(); this.links[i].font = 'Arial'; this.links[i].size = 11; this.links[i].width = this.content.width - 5; this.links[i].hOffset = 11; this.links[i].vOffset = vStart; this.links[i].color = '#4c4c4c'; this.links[i].data = this.list[i]['title']; this.links[i].editable = false; this.links[i].scrollbar = false; this.links[i].onMouseUp = function() { self.openDetails(this.data); }; this.links[i].onMouseEnter = function() { this.color = '#003399'; }; this.links[i].onMouseExit = function() { this.color = '#4c4c4c'; }; this.content.addSubview(this.links[i]); vStart += this.links[i].height + 5; } }, /** * An info is displayed if no data hasn't been requested. Remove info after data is available. */ removeNoData: function() { if (this.noData) { this.noData.removeFromSuperview(); this.noData = null; delete this.noData; } }, /** * Opens the full BMW Alert. */ openDetails: function(title) { var index = -1; for (var i = 0; i < this.list.length; i++) { if (title == this.list[i].title) index = i; } if (index != -1) { var detailsTarget = []; detailsTarget['headline'] = LocalizationManager.getString('alert.headline', widgetLocale); detailsTarget['title'] = this.list[index].title; detailsTarget['teaser'] = this.list[index].imageLarge; detailsTarget['body'] = this.list[index].newsContent + '\n(' + this.list[index].newsDate + ')'; detailsTarget['links'] = this.list[index].links; this.detailsFunction(detailsTarget); } } }; $$9:/** * The CalculatorWidget provides a simple but helpfully calculator. */ var CalculatorWidget = function(parentFrame) { this.parentFrame = parentFrame; this.number = ['0', '0']; this.operator = ['', '']; this.needsReset = false; this.hasDecimalDot = false; this.buttons = []; }; CalculatorWidget.prototype = { /** * Initializes CalculatorWidget. */ init: function() { }, /** * Displays all static elements like buttons and result field. * Event listeners are added to the buttons. */ paint: function() { var self = this; this.data = filesystem.readFile(this.fileName, false); this.displayBorder = new Image(); this.displayBorder.src = 'Resources/Images/Calculator/Result.png'; this.displayBorder.hOffset = 17; this.displayBorder.vOffset = 14; this.displayBorder.onMouseDown = function() { focusMainWindow(); }; this.displayBorder.onContextMenu = function() { var items = new Array(); items[0] = new MenuItem(); items[0].title = LocalizationManager.getString('calculator.label.copy', widgetLocale); items[0].enabled = true; items[0].onSelect = function() { system.clipboard = self.number[0]; }; items[1] = new MenuItem(); items[1].title = LocalizationManager.getString('calculator.label.paste', widgetLocale); items[1].enabled = !isNaN(system.clipboard); items[1].onSelect = function() { self.resetDisplay(); self.needsReset = true; self.number[0] = '' + system.clipboard; self.paint(); }; items[2] = new MenuItem(); items[2].title = '-'; this.contextMenuItems = items; }; this.parentFrame.addSubview(this.displayBorder); this.displayText = new Text(); this.displayText.alignment= 'right'; this.displayText.hOffset = 177; this.displayText.vOffset = 41; this.displayText.font = 'Arial'; this.displayText.style = 'bold;fixed'; this.displayText.size = 25; this.displayText.color = '#000000'; this.parentFrame.addSubview(this.displayText); this.addButton('ButtonNo0', 17, 225, 0); this.addButton('ButtonNo1', 17, 180, 1); this.addButton('ButtonNo2', 62, 180, 2); this.addButton('ButtonNo3', 107, 180, 3); this.addButton('ButtonNo4', 17, 135, 4); this.addButton('ButtonNo5', 62, 135, 5); this.addButton('ButtonNo6', 107, 135, 6); this.addButton('ButtonNo7', 17, 90, 7); this.addButton('ButtonNo8', 62, 90, 8); this.addButton('ButtonNo9', 107, 90, 9); this.addButton('ButtonClear', 107, 225, 'clear'); this.addButton('ButtonOpPercent', 17, 58, 'percent'); this.addButton('ButtonOpSqrt', 87, 58, 'sqrt'); this.addButton('ButtonOpSwitch', 122, 58, 'switch'); this.addButton('ButtonOpDiv', 157, 58, 'div'); this.addButton('ButtonOpMul', 157, 93, 'mul'); this.addButton('ButtonOpSub', 157, 128, 'sub'); this.addButton('ButtonOpAdd', 157, 163, 'add'); this.addButton('ButtonResult', 157, 198, 'result'); this.addButton('ButtonDot', 62, 225, self.addDot); this.addButton('ButtonOpPi', 52, 58, self.addPi); this.refresh(); }, /** * Create new button with the given image and position. * Adds click event button. */ addButton: function(image, x, y, event) { var self = this; var index = this.buttons.length; this.buttons[index] = new Image(); this.buttons[index].src = 'Resources/Images/Calculator/' + image + '.png'; this.buttons[index].hOffset = x; this.buttons[index].vOffset = y this.buttons[index].onMouseDown = function() { focusMainWindow(); switch(typeof(event)) { case 'string': self.operation(event); break; case 'number': self.addDigit(event); break; case 'function': event(self); break; default: break; } }; this.parentFrame.addSubview(this.buttons[index]); }, /** * Updates the result field. Large numbers will be truncated to the max. amount of digits. */ refresh: function() { if (this.number[0].length > CALCULATOR_MAX_ENTRY){ this.number[0] = this.number[0].substr(0, CALCULATOR_MAX_ENTRY); } this.displayText.data = this.number[0]; }, /** * No periodical actions needed. */ trigger: function(ticks) { }, /** * Handles key pressed event and call desired operation. */ handleKeyPress: function() { switch(system.event.key) { case '.': this.addDot(); break; case ',': this.addDot(); break; case '0': this.addDigit(0); break; case '1': this.addDigit(1); break; case '2': this.addDigit(2); break; case '3': this.addDigit(3); break; case '4': this.addDigit(4); break; case '5': this.addDigit(5); break; case '6': this.addDigit(6); break; case '7': this.addDigit(7); break; case '8': this.addDigit(8); break; case '9': this.addDigit(9); break; case '=': this.operation('result'); break; case '+': this.operation('add'); break; case '-': this.operation('sub'); break; case '*': this.operation('mul'); break; case '/': this.operation('div'); break; case '%': this.operation('percent'); break; case 'c': this.operation('clear'); break; default: switch(system.event.keyString){ case 'Return': this.operation('result'); break; case 'Enter': this.operation('result'); break; case 'Delete': this.operation('clear'); break; case 'Backspace': this.deleteDigit(); break; default: break; } break; } }, /** * Adds a digit if max. length isn't reached. */ addDigit: function(number) { this.resetDisplay(); if (this.number[0] == '0'){ this.number[0] = ''; } var decParts = String(this.number[0]).split('\\.'); var decSize = 0; if (decParts.length == 2) { decSize = decParts[1].length; } if (this.number[0].length < CALCULATOR_MAX_ENTRY && decSize < CALCULATOR_MAX_DEC) { this.number[0] = this.number[0] + '' + number; } else { beep(); } this.refresh(); }, /** * Adds a decimal dot if max. length isn't reached or dot hasn't entered before. */ addDot: function(target) { var self = (target) ? target : this; self.resetDisplay(); if (!self.hasDecimalDot){ // checkReset(); if(self.number[0].length < CALCULATOR_MAX_ENTRY - 1) { self.number[0] += '.'; self.hasDecimalDot = true; } else { beep(); } self.refresh(); } }, /** * Deletes the last digit. Reset to 0 if last number has been reached. */ deleteDigit: function () { this.resetDisplay(); this.number[0] = this.number[0].substring(0, this.number[0].length - 1); if (this.number[0] == ''){ this.number[0] = '0'; } this.hasDecimalDot = (this.number[0].indexOf('.') != -1); this.refresh(); }, /** * Sets current number to 3.141592653 */ addPi: function(target) { var self = (target) ? target : this; self.resetDisplay(); self.needsReset = true; self.number[0] = '' + Math.PI; self.refresh(); }, /** * Executes arithmetic operation and display result. */ operation: function(operator) { if (this.operator[1] != '' && (operator == 'result' || operator == 'div' || operator == 'mul' || operator == 'add' || operator == 'sub')) { var roundingFix = 10000000000; switch (this.operator[1]) { case 'div': this.number[0] = String(Math.round((Number(this.number[1]) * roundingFix) / Number(this.number[0])) / roundingFix); break; case 'mul': this.number[0] = String(Math.round((Number(this.number[1]) * roundingFix) * Number(this.number[0])) / roundingFix); break; case 'add': this.number[0] = String(((Number(this.number[1]) * roundingFix) + (Number(this.number[0]) * roundingFix)) / roundingFix); break; case 'sub': this.number[0] = String(((Number(this.number[1]) * roundingFix) - (Number(this.number[0]) * roundingFix)) / roundingFix); break; } } switch (operator) { case 'result': this.number[1] = '0'; this.operator[1] = ''; this.needsReset = true; break; case 'percent': this.number[0] = String(Number(this.number[1]) * Number(this.number[0]) / 100 ); break; case 'switch': this.number[0] = String(Number(this.number[0]) * (-1)); break; case 'clear': this.number[0] = '0'; this.number[1] = '0'; this.needsReset = false; this.hasDecimalDot = false; this.operator[1] = ''; break; case 'sqrt': var res = Math.sqrt(Number(this.number[0])); this.number[0] = String((isNaN(res)) ? 0 : res); break; default: this.number[1] = this.number[0]; this.operator[1] = operator; this.needsReset = true; break; } this.refresh(); }, /** * Resets the current number. */ resetDisplay: function() { if (this.needsReset) { this.number[0] = '0'; this.hasDecimalDot = false; this.needsReset = false; } }, /** * Standard method of all sub widgets. Not needed for CalculatorWidget. */ addParameter: function(name, value) { } }; U5O/** * Returns the system locale. * Can be overwritten. */ function getWidgetLocale() { return widget.locale; } /** * Returns the widget id. Creates a new one if id is not existing. */ function getWidgetId() { var id = preferences['widgetId'].value; if (!id || id.length < 15) { var c1 = String.fromCharCode(65 + (Math.random() * 26)); var c2 = String.fromCharCode(65 + (Math.random() * 26)); var date = new Date(); id = c1 + c2 + date.getTime(); preferences['widgetId'].value = id; } return id; } /** * Returns a string containing all activated sub widgets. */ function getWidgetConfig() { var widgets = ''; if (preferences['weather'] && preferences['weather'].value == 1) widgets += 'W'; if (preferences['calculator'] && preferences['calculator'].value == 1) widgets += 'C'; if (preferences['notepad'] && preferences['notepad'].value == 1) widgets += 'N'; if (preferences['sport'] && preferences['sport'].value == 1) widgets += 'S'; return widgets; } /** * Called after setup has been changed. If no city has been selected open city dialog. * Refreshs all sub widget to diplay current state. Necessary for country / city changes. */ function handleSetupChange() { if (!preferences.city.value) { citySetup.openForm(); return; } for (var i = 0; i < widgets.length; i++) { widgets[i].refresh(); } } /** * Sets focus to main widget. All keyboard events should go to main widget first. */ function focusMainWindow() { dummy = new TextArea(main); // creat new dummy text area dummy.focus(); // focus dummy text area - all other text aeres will loose their focus removeObject(dummy); // destroy dummy text area - main window gets focus } /** * Helper function for openening a BMW Alert or BMW Sport News in enlarged mode. */ function openDetails(data) { var alreadyOpen = false; if (detailsWidget) { alreadyOpen = (data['title'] == detailsWidget.currentTitle()); detailsWidget.closeDetails(); } if (!alreadyOpen) { frameDetails.visible = true; setFrameVisibility(); detailsWidget = new DetailsWidget(frameDetails); detailsWidget.init(); detailsWidget.addParameter('data', data); detailsWidget.paint(); } } /** * Helper function setting the visibility of all frames uses by the sub widgets. */ function setFrameVisibility() { if (preferences['enlargeAlert'].value == 1) { frameAlertSmall.visible = false; frameAlertLarge.visible = true; } else { frameAlertSmall.visible = true; frameAlertLarge.visible = false; } for (var i = 0; i < frames.length; i++) { if (frameDetails.visible || !frameAlertLarge.visible) { frames[i].visible = false; } else { frames[i].visible = true; } } paintShadow(); } /** * Helper function showing the currect shadow for the currently opened sub widget. */ function paintShadow() { for (var i = 0; i < shadows.length; i++) { removeObject(shadows[i]); } shadows = []; if (frameAlertSmall.visible) { var img = new Image(main); img.src = (frameDetails.visible) ? 'Resources/Images/Background/ShadowSmallDetails.png' : 'Resources/Images/Background/ShadowSmall.png'; img.hOffset = 0; img.vOffset = 0; shadows[shadows.length] = img; } else { var img = new Image(main); img.src = 'Resources/Images/Background/ShadowLarge.png'; img.hOffset = 0; img.vOffset = 0; shadows[shadows.length] = img; } var widgets = (frameDetails.visible) ? 4 : frames.length; if (frameDetails.visible || frameAlertLarge.visible) { switch (widgets) { case 0: var img = new Image(main); img.src = 'Resources/Images/Background/ShadowWidgets0.png'; shadows[shadows.length] = img; break; case 1: var img = new Image(main); img.src = 'Resources/Images/Background/ShadowWidgets1.png'; shadows[shadows.length] = img; break; case 2: var img = new Image(main); img.src = 'Resources/Images/Background/ShadowWidgets2.png'; shadows[shadows.length] = img; break; case 3: var img = new Image(main); img.src = 'Resources/Images/Background/ShadowWidgets3.png'; shadows[shadows.length] = img; break; case 4: var img = new Image(main); img.src = 'Resources/Images/Background/ShadowWidgets4.png'; shadows[shadows.length] = img; break; default: break; } } } /** * Toggles the size of the BMW Alert. Switching between enlarged and reduced more. */ function setAlertSize(enlarge) { if (detailsWidget && !enlarge) { detailsWidget.closeDetails(); } preferences['enlargeAlert'].value = (enlarge) ? 1 : 0; setFrameVisibility(); paintShadow(); } /** * Helper function for number formatting. */ function addZeros(value, length) { var s = '00000000' + value; return s.substring(s.length - length); } /** * Helper function for building request queries. */ function addQueryParameter(query, name, value) { if (query.length > 0) query += '&'; query += name + '=' + encodeURIComponent(value); return query; } /** * Completely removes a UI component. Uses try/catch to avoid exception. */ function removeObject(obj) { try { if (obj) { if (obj.removeFromSuperview) obj.removeFromSuperview(); obj = null; delete obj; } } catch (e) { // error removing object } } P9SERVICE_URL = 'http://external.bmw.com/widget/app'; SERVICE_LOGIN = ''; CALCULATOR_MAX_ENTRY = 11; CALCULATOR_MAX_DEC = 9; REFRESH_INTERVAL_RELOAD = 3600; REFRESH_INTERVAL_NODATA = 15; 9=lO/** * The DetailsWidget is used to display the enlarged version of a BMW Alert or BMW Sport News. */ var DetailsWidget = function(parentFrame) { this.parentFrame = parentFrame; this.data = null; }; DetailsWidget.prototype = { /** * Initialize DetailsWidget. */ init: function() { }, /** * Display headlines, large image, body text and external links if data is available. */ paint: function() { var self = this; var vStart = 4; this.headline = new Text(); this.headline.font = 'Arial'; this.headline.width = this.parentFrame.width - 50; this.headline.size = 13; this.headline.style = 'bold'; this.headline.color = '#000000'; this.headline.hOffset = 20; this.headline.vOffset = vStart + 15; this.headline.data = this.data['headline']; this.parentFrame.addSubview(this.headline); vStart += this.headline.height + 5; this.title = new TextArea(); this.title.font = 'Arial'; this.title.width = this.parentFrame.width - 50; this.title.size = 11; this.title.style = 'bold'; this.title.color = '#000000'; this.title.hOffset = 15; this.title.vOffset = vStart; this.title.data = this.data['title']; this.title.editable = false; this.title.scrollbar = false; this.parentFrame.addSubview(this.title); vStart += this.title.height + 15; this.scroller = new ScrollBar(); this.scroller.height = this.parentFrame.height - 40 - vStart; this.scroller.hOffset = this.parentFrame.width - 37; this.scroller.vOffset = vStart; this.scroller.thumbColor = '#b9b9b9'; this.scroller.opacity = 255; this.parentFrame.addSubview(this.scroller); this.content = new Frame(); this.content.width = this.parentFrame.width - 37; this.content.height = this.parentFrame.height - 40 - vStart; this.content.hOffset = 10; this.content.vOffset = vStart; this.content.vScrollBar = this.scroller; this.parentFrame.addSubview(this.content); vStart = 0; if (this.data['teaser']) { this.teaser = new Image(); this.teaser.src = this.data['teaser']; this.teaser.missingSrc = 'Resources/Images/Common/1x1.png'; this.teaser.hOffset = 10; this.teaser.vOffset = vStart; this.content.addSubview(this.teaser); vStart += this.teaser.height + 10; } this.body = new TextArea(); this.body.font = 'Arial'; this.body.width = this.content.width - 30; this.body.size = 11; this.body.color = '#000000'; this.body.hOffset = 5; this.body.vOffset = vStart; this.body.data = this.data['body']; this.body.editable = false; this.body.scrollbar = false; this.content.addSubview(this.body); vStart += this.body.height + 10; this.links = []; this.arrows = []; for (var i = 0; i < this.data['links'].length; i++) { this.arrows[i] = new Image(); this.arrows[i].src = 'Resources/Images/Common/Arrow.png'; this.arrows[i].hOffset = 10; this.arrows[i].vOffset = vStart + 4; this.content.addSubview(this.arrows[i]); this.links[i] = new TextArea(); this.links[i].font = 'Arial'; this.links[i].size = 11; this.links[i].color = '#4c4c4c'; this.links[i].width = this.content.width - 40; this.links[i].hOffset = 11; this.links[i].vOffset = vStart; this.links[i].data = this.data['links'][i]['label']; this.links[i].editable = false; this.links[i].scrollbar = false; this.links[i].onMouseUp = function() { self.openLink(this.data); }; this.links[i].onMouseEnter = function() { this.color = '#003399'; }; this.links[i].onMouseExit = function() { this.color = '#4c4c4c'; }; this.content.addSubview(this.links[i]); vStart += this.links[i].height + 5; } this.buttonImage = new Image(); this.buttonImage.src = 'Resources/Images/Common/ButtonBackgroundLarge.png'; this.buttonImage.hOffset = 20; this.buttonImage.vOffset = this.parentFrame.height - 19; this.buttonImage.onMouseUp = function() { self.closeDetails(); }; this.buttonImage.onMouseEnter = function() { self.buttonImage.src = 'Resources/Images/Common/ButtonHighlightLarge.png'; }; this.buttonImage.onMouseExit = function() { self.buttonImage.src = 'Resources/Images/Common/ButtonBackgroundLarge.png'; }; this.parentFrame.addSubview(this.buttonImage); this.buttonText = new Text(); this.buttonText.font = 'Arial'; this.buttonText.size = 11; this.buttonText.color = '#ffffff'; this.buttonText.hOffset = 30; this.buttonText.vOffset = this.parentFrame.height - 6; this.buttonText.data = LocalizationManager.getString('details.label.close', widgetLocale); this.buttonText.onMouseUp = function() { self.closeDetails(); }; this.buttonText.onMouseEnter = function() { self.buttonImage.src = 'Resources/Images/Common/ButtonHighlightLarge.png'; }; this.buttonText.onMouseExit = function() { self.buttonImage.src = 'Resources/Images/Common/ButtonBackgroundLarge.png'; }; this.parentFrame.addSubview(this.buttonText); this.refresh(); }, /** * Standard method of all sub widgets. Not needed for DetailsWidget. */ refresh: function() { }, /** * No periodical actions needed. */ trigger: function(ticks) { }, /** * Set the data object containing all information for displaying the enlarged news or alert. */ addParameter: function(name, value) { if (name == 'data') this.data = value; }, /** * External urls are called via a redirect thru the widget middleware. * Build url containing all relevant parameten and open the resulting url. */ openLink: function(target) { if (system.event.clickCount == 1) { for (var i = 0; i < this.data['links'].length; i++) { if (target == this.data['links'][i]['label']) { var connector = (SERVICE_URL.indexOf('?') == -1) ? '?' : '&'; var query = ''; query = addQueryParameter(query, 'action', 'redirect'); query = addQueryParameter(query, 'locale', widgetLocale); query = addQueryParameter(query, 'version', widget.version); query = addQueryParameter(query, 'wid', widgetId); query = addQueryParameter(query, 'widgets', widgetConfig); query = addQueryParameter(query, 'url', this.data['links'][i]['link']); openURL(SERVICE_URL + connector + query); } } } }, /** * Close the details view and remove all UI components. */ closeDetails: function() { this.parentFrame.visible = false; setFrameVisibility(); for (var i = 0; i < this.arrows.length; i++) { removeObject(this.arrows[i]); } for (var i = 0; i < this.links.length; i++) { removeObject(this.links[i]); } removeObject(this.scroller); removeObject(this.headline); removeObject(this.title); removeObject(this.teaser); removeObject(this.body); removeObject(this.buttonImage); removeObject(this.buttonText); removeObject(this.content); this.data = null; }, /** * Helper method for retrieving the title of the current news or alert. */ currentTitle: function() { return (this.data) ? this.data['title'] : null; } }; @ }P/** * The DisclaimerWidget displays the legal disclaimer. * The BMW Widget will open only after acceptiong the disclaimer. */ var DisclaimerWidget = function(parentFrame) { this.parentFrame = parentFrame; }; DisclaimerWidget.prototype = { /** * Initializes DisclaimerWidget. */ init: function() { }, /** * Displays disclaimer together with two button for accepting or cancelation. */ paint: function() { var self = this; var vStart = 4; this.headline = new Text(); this.headline.font = 'Arial'; this.headline.width = this.parentFrame.width - 50; this.headline.size = 13; this.headline.style = 'bold'; this.headline.color = '#000000'; this.headline.hOffset = 20; this.headline.vOffset = vStart + 15; this.headline.data = LocalizationManager.getString('disclaimer.headline', widgetLocale); this.parentFrame.addSubview(this.headline); vStart += this.headline.height + 5; this.title = new TextArea(); this.title.font = 'Arial'; this.title.width = this.parentFrame.width - 50; this.title.size = 11; this.title.style = 'bold'; this.title.color = '#000000'; this.title.hOffset = 15; this.title.vOffset = vStart; this.title.data = LocalizationManager.getString('disclaimer.title', widgetLocale); this.title.editable = false; this.title.scrollbar = false; this.parentFrame.addSubview(this.title); vStart += this.title.height + 15; this.scroller = new ScrollBar(); this.scroller.height = this.parentFrame.height - 40 - vStart; this.scroller.hOffset = this.parentFrame.width - 37; this.scroller.vOffset = vStart; this.scroller.thumbColor = '#b9b9b9'; this.scroller.opacity = 255; this.parentFrame.addSubview(this.scroller); this.content = new Frame(); this.content.width = this.parentFrame.width - 37; this.content.height = this.parentFrame.height - 40 - vStart; this.content.hOffset = 10; this.content.vOffset = vStart; this.content.vScrollBar = this.scroller; this.parentFrame.addSubview(this.content); vStart = 0; this.body = new TextArea(); this.body.font = 'Arial'; this.body.width = this.content.width - 30; this.body.size = 11; this.body.color = '#4c4c4c'; this.body.hOffset = 5; this.body.vOffset = vStart; this.body.data = LocalizationManager.getString('disclaimer.body', widgetLocale); this.body.editable = false; this.body.scrollbar = false; this.content.addSubview(this.body); this.acceptImage = new Image(); this.acceptImage.src = 'Resources/Images/Common/ButtonBackground.png'; this.acceptImage.hOffset = 20; this.acceptImage.vOffset = this.parentFrame.height - 19; this.acceptImage.onMouseUp = function() { self.closeDisclaimer(); }; this.acceptImage.onMouseEnter = function() { self.acceptImage.src = 'Resources/Images/Common/ButtonHighlight.png'; }; this.acceptImage.onMouseExit = function() { self.acceptImage.src = 'Resources/Images/Common/ButtonBackground.png'; }; this.parentFrame.addSubview(this.acceptImage); this.acceptText = new Text(); this.acceptText.font = 'Arial'; this.acceptText.size = 11; this.acceptText.color = '#ffffff'; this.acceptText.hOffset = 30; this.acceptText.vOffset = this.parentFrame.height - 5; this.acceptText.data = LocalizationManager.getString('disclaimer.label.accept', widgetLocale); this.acceptText.onMouseUp = function() { self.closeDisclaimer(); }; this.acceptText.onMouseEnter = function() { self.acceptImage.src = 'Resources/Images/Common/ButtonHighlight.png'; }; this.acceptText.onMouseExit = function() { self.acceptImage.src = 'Resources/Images/Common/ButtonBackground.png'; }; this.parentFrame.addSubview(this.acceptText); this.cancelImage = new Image(); this.cancelImage.src = 'Resources/Images/Common/ButtonBackground.png'; this.cancelImage.hOffset = 218; this.cancelImage.vOffset = this.parentFrame.height - 19; this.cancelImage.onMouseUp = function() { closeWidget(); }; this.cancelImage.onMouseEnter = function() { self.cancelImage.src = 'Resources/Images/Common/ButtonHighlight.png'; }; this.cancelImage.onMouseExit = function() { self.cancelImage.src = 'Resources/Images/Common/ButtonBackground.png'; }; this.parentFrame.addSubview(this.cancelImage); this.cancelText = new Text(); this.cancelText.font = 'Arial'; this.cancelText.size = 11; this.cancelText.color = '#ffffff'; this.cancelText.hOffset = 228; this.cancelText.vOffset = this.parentFrame.height - 5; this.cancelText.data = LocalizationManager.getString('disclaimer.label.cancel', widgetLocale); this.cancelText.onMouseUp = function() { closeWidget(); }; this.cancelText.onMouseEnter = function() { self.cancelImage.src = 'Resources/Images/Common/ButtonHighlight.png'; }; this.cancelText.onMouseExit = function() { self.cancelImage.src = 'Resources/Images/Common/ButtonBackground.png'; }; this.parentFrame.addSubview(this.cancelText); this.refresh(); }, /** * Standard method of all sub widgets. Not needed for DetailsWidget. */ refresh: function() { }, /** * No periodical actions needed. */ trigger: function(ticks) { }, /** * Standard method of all sub widgets. Not needed for CalculatorWidget. */ addParameter: function(name, value) { }, /** * The disclaimer hsa been accepted. Update preferences and restart widget. */ closeDisclaimer: function() { preferences['disclaimerAccepted'].value = 1; savePreferences(); reloadWidget(); } }; B 9=l/** * The HttpRequest sends a XML HTTP request to the widget middleware. * Additial to sub widget specific parameter some standard parameters (e.g. locale) are added to each request. * Different response types can be handled (XML or JSON). The middleware sends all responses as JSON. */ var HttpRequest = function(url, login, method, blocking) { this.url = url; this.login = login; this.method = (method) ? method : "GET"; this.async = !blocking; this.query = ''; }; HttpRequest.prototype = { /** * Adds standard parameters and send request. * POST/GET and syncron/asyncron requests are supported. */ processRequest: function() { var self = this; this.addParameter('view', 'json'); this.addParameter('version', widget.version); this.addParameter('wid', widgetId); this.addParameter('widgets', widgetConfig); this.addParameter('locale', widgetLocale); var request = new XMLHttpRequest(); request.onreadystatechange = function() { if (this.readyState == 4) { // 4 == OK self.responseHandler(self.parseResponse(request)); } }; if (this.login && this.login.length > 0) { request.setRequestHeader('Authorization', 'Basic ' + this.login); } if (this.method.toLowerCase() == 'post') { request.open('POST', this.url, this.async); request.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded'); request.setRequestHeader('Content-length', this.query.length); request.send(this.query); } else { var connector = (this.url.indexOf('?') == -1) ? '?' : '&'; request.open('GET', this.url + connector + this.query, this.async); request.send(); } if (!this.async) { try { this.responseHandler(this.parseResponse(request)); } catch (e) { // error opening connection } } }, /** * Sets the response handler that should be called after the response has been parsed. */ setResponseHandler: function(responseHandler) { this.responseHandler = responseHandler; }, /** * Adds a new request parameter. The parameter will be added to the query string. */ addParameter: function(name, value) { this.query = addQueryParameter(this.query, name, value); }, /** * Parses the responses. Tries to get XML or JSON object. */ parseResponse: function(request) { try { if (request.getResponseHeader('Content-Type').split(';')[0] == 'text/xml') { // is XML? return request.responseXML; } var response = request.responseText; var idx = response.indexOf("HTTP/1"); if (idx > -1) { // skip possibly duplicate header response = response.substring(idx, response.length); idx = response.indexOf(String.fromCharCode(13, 10, 13, 10)); if (idx > -1) { response = response.substring(idx + 2, response.length); } } try { // try JSON eval() return !(/[^,:{}\[\]0-9.\-+Eaeflnr-u \n\r\t]/.test(response.replace(/"(\\.|[^"\\])*"/g, ''))) && eval('(' + response + ')'); } catch(e) { // try Classic eval() eval(response); return eval(response.split('=')[0].replace(/\s/g,'')); } } catch (e) { // error reading response } } }; w bW }/** * Helper function for setting up preferences dialog with locale depending texts. */ function initPrefereces() { preferenceGroups['appPrefs'].title = LocalizationManager.getString('prefs.group.app', widgetLocale); preferenceGroups['sportPrefs'].title = LocalizationManager.getString('prefs.group.sport', widgetLocale); preferenceGroups['weatherPrefs'].title = LocalizationManager.getString('prefs.group.weather', widgetLocale); if (preferences['weather']) { preferences['weather'].title = LocalizationManager.getString('pref.weather.title', widgetLocale); preferences['weather'].description = LocalizationManager.getString('pref.weather.description', widgetLocale); preferences['useSymbols'].title = LocalizationManager.getString('pref.useSymbols.title', widgetLocale); preferences['useSymbols'].description = LocalizationManager.getString('pref.useSymbols.description', widgetLocale); } if (preferences['notepad']) { preferences['notepad'].title = LocalizationManager.getString('pref.notepad.title', widgetLocale); preferences['notepad'].description = LocalizationManager.getString('pref.notepad.description', widgetLocale); } if (preferences['calculator']) { preferences['calculator'].title = LocalizationManager.getString('pref.calculator.title', widgetLocale); preferences['calculator'].description = LocalizationManager.getString('pref.calculator.description', widgetLocale); } if (preferences['sport']) { preferences['sport'].title = LocalizationManager.getString('pref.sport.title', widgetLocale); preferences['sport'].description = LocalizationManager.getString('pref.sport.description', widgetLocale); } if (preferences['motor']) { preferences['motor'].title = LocalizationManager.getString('pref.motor.title', widgetLocale); preferences['motor'].description = LocalizationManager.getString('pref.motor.description', widgetLocale); } if (preferences['yacht']) { preferences['yacht'].title = LocalizationManager.getString('pref.yacht.title', widgetLocale); preferences['yacht'].description = LocalizationManager.getString('pref.yacht.description', widgetLocale); } if (preferences['golf']) { preferences['golf'].title = LocalizationManager.getString('pref.golf.title', widgetLocale); preferences['golf'].description = LocalizationManager.getString('pref.golf.description', widgetLocale); } if (preferences['sauber']) { preferences['sauber'].title = LocalizationManager.getString('pref.sauber.title', widgetLocale); preferences['sauber'].description = LocalizationManager.getString('pref.sauber.description', widgetLocale); } if (preferences['oracle']) { preferences['oracle'].title = LocalizationManager.getString('pref.oracle.title', widgetLocale); preferences['oracle'].description = LocalizationManager.getString('pref.oracle.description', widgetLocale); } } /** * Adds two new entries to the context menu. Country and city can be chosen. */ function initContextMenu() { var items = new Array(); items[0] = new MenuItem(); items[0].title = LocalizationManager.getString('contextMenu.country', widgetLocale); items[0].onSelect = 'countrySetup.openForm();'; items[1] = new MenuItem(); items[1].title = LocalizationManager.getString('contextMenu.city', widgetLocale); items[1].onSelect = 'citySetup.openForm();'; main.contextMenuItems = items; } /** * Initializes frames for alerts and details. Loads background images. */ function initFrames() { frameAlertSmall = new Frame(main); frameAlertSmall.width = 198; frameAlertSmall.height = 280; frameAlertSmall.hOffset = 403; frameAlertSmall.vOffset = 7; frameAlertSmall.visible = false; frameAlertSmall.zOrder = 5; bgAlertSmall = new Image(); bgAlertSmall.src = 'Resources/Images/Background/BackgroundTop.png'; bgAlertSmall.hOffset = 0; bgAlertSmall.vOffset = 0; frameAlertSmall.addSubview(bgAlertSmall); frameAlertLarge = new Frame(main); frameAlertLarge.width = 198; frameAlertLarge.height = 560; frameAlertLarge.hOffset = 403; frameAlertLarge.vOffset = 7; frameAlertLarge.visible = false; frameAlertLarge.zOrder = 5; bgAlertLarge1 = new Image(); bgAlertLarge1.src = 'Resources/Images/Background/BackgroundAlert.png'; bgAlertLarge1.hOffset = 0; bgAlertLarge1.vOffset = 0; frameAlertLarge.addSubview(bgAlertLarge1); frameDetails = new Frame(main); frameDetails.width = 396; frameDetails.height = 560; frameDetails.hOffset = 7; frameDetails.vOffset = 7; frameDetails.visible = false; frameDetails.zOrder = 5; bgDetails = new Image(); bgDetails.src = 'Resources/Images/Background/BackgroundDetails.png'; bgDetails.hOffset = 0; bgDetails.vOffset = 0; frameDetails.addSubview(bgDetails); } /** * Instantiates sub widgets and and sub widget to frames. First time call of init and paint methods. */ function initApplications() { for (var i = 0; i < frames.length; i++) { removeObject(frames[i]); } for (var i = 0; i < backgrounds.length; i++) { removeObject(backgrounds[i]); } for (var i = 0; i < widgets.length; i++) { removeObject(widgets[i]); } if (preferences['motor'].value == 1 || preferences['yacht'].value == 1 || preferences['golf'].value == 1 || preferences['sauber'].value == 1 || preferences['oracle'].value == 1) { preferences['sport'].value = 1; } else { preferences['sport'].value = 0; } savePreferences(); frames = []; backgrounds = []; widgets = []; var counter = 0; if (preferences['weather'].value == 1) { initAppFrame(counter); widgets[counter] = new WeatherWidget(frames[counter]); widgets[counter].addParameter('setup', countrySetup); widgets[counter].init(); widgets[counter].paint(); counter++; } if (preferences['calculator'].value == 1) { initAppFrame(counter); widgets[counter] = new CalculatorWidget(frames[counter]); widgets[counter].init(); widgets[counter].paint(); counter++; } if (preferences['notepad'].value == 1) { initAppFrame(counter); widgets[counter] = new NotepadWidget(frames[counter]); widgets[counter].init(); widgets[counter].paint(); counter++; } if (preferences['sport'].value == 1) { var types = []; if (preferences['motor'].value == 1) types[types.length] = 'MOTOR'; if (preferences['yacht'].value == 1) types[types.length] = 'YACHT'; if (preferences['golf'].value == 1) types[types.length] = 'GOLF'; if (preferences['sauber'].value == 1) types[types.length] = 'SAUBER'; if (preferences['oracle'].value == 1) types[types.length] = 'ORACLE'; initAppFrame(counter); widgets[counter] = new SportWidget(frames[counter]); widgets[counter].addParameter('openDetailsFunction', openDetails); widgets[counter].addParameter('sportTypes', types); widgets[counter].init(); widgets[counter].paint(); counter++; } } /** * Creates frame for sub widget and background image. */ function initAppFrame(index) { frames[index] = new Frame(main); frames[index].width = 198; frames[index].height = 280; frames[index].hOffset = 7 + 198 - parseInt(index / 2) * 198; frames[index].vOffset = 7 + (index % 2) * 280; frames[index].visible = false; frames[index].zOrder = 5; backgrounds[index] = new Image(); backgrounds[index].src = ((index % 2) == 0) ? 'Resources/Images/Background/BackgroundTop.png' : 'Resources/Images/Background/BackgroundBottom.png'; frames[index].addSubview(backgrounds[index]); } /** * Creates frame for disclaimer accepting. Load background and shadow image. */ function initDisclaimerFrame() { frameDisclaimer = new Frame(main); frameDisclaimer.width = 396; frameDisclaimer.height = 280; frameDisclaimer.hOffset = 106; frameDisclaimer.vOffset = 147; frameDisclaimer.visible = true; frameDisclaimer.zOrder = 5; bgDisclaimer = new Image(); bgDisclaimer.src = 'Resources/Images/Background/BackgroundDisclaimer.png'; bgDisclaimer.hOffset = 0; bgDisclaimer.vOffset = 0; frameDisclaimer.addSubview(bgDisclaimer); shadowDisclaimer = new Image(main); shadowDisclaimer.src = 'Resources/Images/Background/ShadowDisclaimer.png'; shadowDisclaimer.hOffset = 99; shadowDisclaimer.vOffset = 140; }  _9/** * The LocalizationManager is used for accessing locale depending text resources. */ LocalizationManager = new function() { // singleton constructor; this.constructor = Object; /** * Returns the text referred by key in the given locale. * If text for this locale hasn't already been loaded load text file first. */ this.getString = function(key, locale) { var locale = (locale) ? locale : defaultLocale; this.checkLanguageFileLoaded(locale); var message = localeMap[locale][key]; if (!message) { message = localeMap[this.getLanguage(locale)][key]; } if (!message) { message = localeMap[defaultLocale][key]; } if (!message) { message = localeMap[this.getLanguage(defaultLocale)][key]; } return message; }; /** * Loads text for locale or language only if not loaded before. */ this.checkLanguageFileLoaded = function(locale) { if (!localeMap[locale]) { this.importFile(locale); } if (!localeMap[this.getLanguage(locale)]) { this.importFile(this.getLanguage(locale)); } }; /** * Reads resource file from file system and extract all defined texts. * Resource file has to use the standard widget resource format (see Localizable.strings / WidgetEngineReference_xxx.pdf). */ this.importFile = function(locale) { var lines = filesystem.readFile('Resources/' + locale + '/Localizable.strings', true); var obj = {}; var regXTrimWS = /\"\s*\=\s*\"/; var regXUnquote = /^\"(.*)\";*$/; var regXNewLines = /\\n/; for (var i = 0; lines != null && i < lines.length; i++) { if (regXTrimWS.test(lines[i])) { lines[i] = lines[i].replace(regXTrimWS, '\"||\"'); lines[i] = lines[i].split('||'); if (regXUnquote.test(lines[i][0])) { lines[i][0] = regXUnquote.exec(lines[i][0])[1]; } if (regXUnquote.test(lines[i][1])) { lines[i][1] = regXUnquote.exec(lines[i][1])[1]; eval('lines[i][1] = \'' + lines[i][1] + '\''); } obj[lines[i][0]] = lines[i][1]; } } localeMap[locale] = obj; }; /** * Returns the language part of the given locale. */ this.getLanguage = function(locale) { var parts = locale.split("_"); return parts[0]; }; /** * Returns the country part of the given locale. */ this.getCountry = function(locale) { var parts = locale.split("_"); return (parts.length > 1) ? parts[0] : ''; }; // Initialize the LocalizationManager. var defaultLocale = 'en'; var localeMap = {}; this.importFile(defaultLocale); if (!localeMap[this.getLanguage(defaultLocale)]) { this.importFile(this.getLanguage(defaultLocale)); } } (); O//** * The NotepadWidget provides a text area entering user defined text. * Text will stored in locale file system and will be restored after widget ist restarted. */ var NotepadWidget = function(parentFrame) { this.parentFrame = parentFrame; this.fileName = system.widgetDataFolder + '/Notepad.txt'; this.data = ''; }; NotepadWidget.prototype = { /** * Initializes NotepadWidget. */ init: function() { var data = filesystem.readFile(this.fileName, false); if (data) this.data = data; }, /** * Creates text area and displayes headline and delete button. */ paint: function() { var self = this; this.headline = new Text(); this.headline.font = 'Arial'; this.headline.size = 13; this.headline.style = 'bold'; this.headline.color = '#000000'; this.headline.hOffset = 19; this.headline.vOffset = 19; this.headline.data = LocalizationManager.getString('notepad.headline', widgetLocale); this.parentFrame.addSubview(this.headline); this.buttonImage = new Image(); this.buttonImage.src = 'Resources/Images/Common/ButtonBackground.png'; this.buttonImage.hOffset = 20; this.buttonImage.vOffset = this.parentFrame.height - 19; this.buttonImage.onMouseUp = function() { self.clearNotepad(); }; this.buttonImage.onMouseEnter = function() { self.buttonImage.src = 'Resources/Images/Common/ButtonHighlight.png'; }; this.buttonImage.onMouseExit = function() { self.buttonImage.src = 'Resources/Images/Common/ButtonBackground.png'; }; this.parentFrame.addSubview(this.buttonImage); this.buttonText = new Text(); this.buttonText.font = 'Arial'; this.buttonText.size = 11; this.buttonText.color = '#ffffff'; this.buttonText.hOffset = 30; this.buttonText.vOffset = this.parentFrame.height - 6; this.buttonText.data = LocalizationManager.getString('notepad.label.delete', widgetLocale); this.buttonText.onMouseUp = function() { self.clearNotepad(); }; this.buttonText.onMouseEnter = function() { self.buttonImage.src = 'Resources/Images/Common/ButtonHighlight.png'; }; this.buttonText.onMouseExit = function() { self.buttonImage.src = 'Resources/Images/Common/ButtonBackground.png'; }; this.parentFrame.addSubview(this.buttonText); this.content = new TextArea(); this.content.font = 'Arial'; this.content.size = 11; this.content.width = this.parentFrame.width - 36; this.content.height = this.parentFrame.height - 60; this.content.hOffset = 16; this.content.vOffset = 25; this.content.color = '#000000'; this.content.editable = true; this.content.scrollbar = true; this.content.thumbColor = '#000000'; this.content.onLoseFocus = function() { self.storeNotepad(); }; this.content.onKeyPress = function() { self.storeNotepad(); }; this.parentFrame.addSubview(this.content); this.refresh(); }, /** * Updates text area data. */ refresh: function() { this.content.data = this.data; }, /** * No periodical actions needed. */ trigger: function(ticks) { }, /** * Standard method of all sub widgets. Not needed for CalculatorWidget. */ addParameter: function(name, value) { }, /** * Stores entered text in file system. */ storeNotepad: function() { var self = this; this.data = this.content.data; filesystem.writeFile(this.fileName, this.data); }, /** * Clears all entered text and overwrites stored notepad data. */ clearNotepad: function() { this.data = ''; this.refresh(); this.storeNotepad(); } }; ) _/** * The SportWidget displayes a list of sport news. * When opening a BMW Sport News in detail image and short content will be displayed. */ var SportWidget = function(parentFrame) { this.parentFrame = parentFrame; this.list = []; this.openDetailsFunction = null; this.sportTypes = null; }; SportWidget.prototype = { /** * Initializes SportWidget. */ init: function() { this.links = []; this.arrows = []; }, /** * Displays static elements like headline, scroll bar and no data information. */ paint: function() { var self = this; this.headline = new Text(); this.headline.font = 'Arial'; this.headline.size = 13; this.headline.style = 'bold'; this.headline.color = '#000000'; this.headline.hOffset = 19; this.headline.vOffset = 19; this.headline.data = this.buildHeadline(); this.parentFrame.addSubview(this.headline); this.scroller = new ScrollBar(); this.scroller.height = this.parentFrame.height - 50; this.scroller.hOffset = this.parentFrame.width - 37; this.scroller.vOffset = 35; this.scroller.thumbColor = '#b9b9b9'; this.scroller.opacity = 255; this.parentFrame.addSubview(this.scroller); this.content = new Frame(); this.content.width = this.parentFrame.width - 37; this.content.height = this.parentFrame.height - 50; this.content.hOffset = 10; this.content.vOffset = 35; this.content.vScrollBar = this.scroller; this.parentFrame.addSubview(this.content); this.noData = new TextArea(); this.noData.font = 'Arial'; this.noData.size = 11; this.noData.width = this.content.width; this.noData.hOffset = 5; this.noData.vOffset = 0; this.noData.color = '#4c4c4c'; this.noData.data = LocalizationManager.getString('sport.text.noData', widgetLocale); this.noData.editable = false; this.noData.scrollbar = false; this.content.addSubview(this.noData); this.refresh(); }, /** * Starts HTTP request to get new data from widget middleware. */ refresh: function() { var self = this; var request = new HttpRequest(SERVICE_URL, SERVICE_LOGIN, 'POST'); request.addParameter('action', 'sport'); request.addParameter('number', (this.sportTypes.length > 1) ? 20 : 10); for (var i = 0; i < this.sportTypes.length; i++) { request.addParameter('types', this.sportTypes[i]); } request.setResponseHandler(function(response) {self.handleResponse(response);}); request.processRequest(); }, /** * Called every second. Do nothing if refresh interval isn't reached. */ trigger: function(ticks) { if (ticks == 0) return; if ((ticks % REFRESH_INTERVAL_RELOAD == 0) || ((this.list.length == 0) && (ticks % REFRESH_INTERVAL_NODATA == 0))) { this.refresh(); } }, /** * Simple way to add different parametes to sub widget. */ addParameter: function(name, value) { if (name == 'openDetailsFunction') this.openDetailsFunction = value; if (name == 'sportTypes') this.sportTypes = value; }, /** * Checks response and keeps sport news list if available. */ handleResponse: function(response) { try { if (response['list']) { this.removeNoData(); this.list = response['list']; this.showSportNews(); } } catch (e) { // error reading response } }, /** * Displays a list containing all availabe sport news. */ showSportNews: function() { var self = this; for (var i = 0; i < this.arrows.length; i++) { removeObject(this.arrows[i]); } for (var i = 0; i < this.links.length; i++) { removeObject(this.links[i]); } this.links = []; this.arrows = []; var vStart = 0; for (var i = 0; i < this.list.length; i++) { this.arrows[i] = new Image(); this.arrows[i].src = 'Resources/Images/Common/Arrow.png'; this.arrows[i].hOffset = 10; this.arrows[i].vOffset = vStart + 4; this.content.addSubview(this.arrows[i]); this.links[i] = new TextArea(); this.links[i].font = 'Arial'; this.links[i].size = 11; this.links[i].width = this.content.width - 21; this.links[i].hOffset = 11; this.links[i].vOffset = vStart; this.links[i].color = '#4c4c4c'; this.links[i].data = this.list[i]['title']; this.links[i].editable = false; this.links[i].scrollbar = false; this.links[i].onMouseUp = function() { self.openDetails(this.data); }; this.links[i].onMouseEnter = function() { this.color = '#003399'; }; this.links[i].onMouseExit = function() { this.color = '#4c4c4c'; }; this.content.addSubview(this.links[i]); vStart += this.links[i].height + 5; } }, /** * An info is displayed if no data hasn't been requested. Remove info after data is available. */ removeNoData: function() { if (this.noData) { this.noData.removeFromSuperview(); this.noData = null; delete this.noData; } }, /** * Opens the full BMW Sport News. */ openDetails: function(title) { var index = -1; for (var i = 0; i < this.list.length; i++) { if (title == this.list[i].title) index = i; } if (index != -1) { var detailsData = []; detailsData['headline'] = LocalizationManager.getString('sport.headline.' + this.list[index].type.toLowerCase(), widgetLocale); detailsData['title'] = this.list[index].title; detailsData['teaser'] = this.list[index].image; detailsData['body'] = this.list[index].description + '\n(' + this.buildDate(this.list[index].pubDate) + ')'; detailsData['links'] = this.list[index].links; this.openDetailsFunction(detailsData); } }, /** * Builds the headline. If only one sport type is selected this type will be used. Otherwise uses a standard headline. */ buildHeadline: function() { var headline; if (this.sportTypes.length == 1) { headline = LocalizationManager.getString('sport.headline.' + this.sportTypes[0].toLowerCase(), widgetLocale); } else { headline = LocalizationManager.getString('sport.headline', widgetLocale); } return headline; }, /** * Fills the date template with the date of the current news. Used for different date formats. */ buildDate: function(dateStr) { var dayOfMonth = addZeros(new Date(dateStr).getDate(), 2); var month = addZeros((new Date(dateStr).getMonth() + 1), 2); var year = new Date(dateStr).getYear() + 1900; var date = LocalizationManager.getString('sport.label.date', widgetLocale); date = date.replace(/{dd}/, dayOfMonth); date = date.replace(/{mm}/, month); date = date.replace(/{yyyy}/, year); return date; } }; /** * The CountrySetup provides a list for country selection. * After a country has been chosen the CitySetup will be opened. * * The CitySetup provides a list for cityselection. * Country and city will be uses by with WeatherWidget to retrieve the forecast data. */ var CountrySetup = function() { this.options = ['']; this.optionValues = ['']; }; CountrySetup.prototype = { /** * Loads the country list from the widget middleware. */ loadData: function(blocking) { var self = this; var request = new HttpRequest(SERVICE_URL, SERVICE_LOGIN, 'POST', true); request.addParameter('action', 'weather'); request.addParameter('mode', 'country'); request.setResponseHandler(function(response) { try { if (response['countries'] && response['countries'].length > 0) { self.options = response['countries'][1]; self.optionValues = response['countries'][0]; } } catch (e) { // error reading response } }); request.processRequest(); }, /** * Opens an input form and lets the user choose a country. * After a new country has been chosen the CitySetup will be initialized. */ openForm: function() { if (this.options[0] == '') { this.loadData(); } var formFields = []; formFields[0] = new FormField(); formFields[0].name = 'country'; formFields[0].type = 'popup'; formFields[0].title = LocalizationManager.getString('countryForm.title', widgetLocale); formFields[0].description = LocalizationManager.getString('countryForm.description', widgetLocale); formFields[0].option = this.options; formFields[0].optionValue = this.optionValues; formFields[0].defaultValue = preferences.country.value; var formResults = form(formFields, LocalizationManager.getString('contextMenu.country', widgetLocale), LocalizationManager.getString('countryForm.ok', widgetLocale), LocalizationManager.getString('countryForm.cancel', widgetLocale)); if (formResults != null) { if (preferences.country.value != formResults) { preferences.city.value = ''; // reset city after country change } preferences.country.value = formResults; savePreferences(); handleSetupChange(); } } }; var CitySetup = function(country) { this.country = preferences.country.value; this.options = ['']; this.optionValues = ['']; }; CitySetup.prototype = { /** * Loads the city list from the widget middleware. */ loadData: function() { var self = this; var request = new HttpRequest(SERVICE_URL, SERVICE_LOGIN, 'POST', true); request.addParameter('action', 'weather'); request.addParameter('mode', 'city'); request.addParameter('country', preferences.country.value); request.setResponseHandler(function(response) { try { if (response['cities'] && response['cities'].length > 0) { self.options = response['cities'][1]; self.optionValues = response['cities'][0]; } } catch (e) { // error reading response } }); request.processRequest(); }, /** * Opens an input form and lets the user choose a city. * After a new country has been chosen the weather forecast will be updated. */ openForm: function() { if (this.options[0] == '' || this.country != preferences.country.value) { this.country = preferences.country.value; this.loadData(); } var formFields = []; formFields[0] = new FormField(); formFields[0].name = 'city'; formFields[0].type = 'popup'; formFields[0].title = LocalizationManager.getString('cityForm.title', widgetLocale); formFields[0].description = LocalizationManager.getString('cityForm.description', widgetLocale); formFields[0].option = this.options; formFields[0].optionValue = this.optionValues; formFields[0].defaultValue = preferences.city.value; var formResults = form(formFields, LocalizationManager.getString('contextMenu.city', widgetLocale), LocalizationManager.getString('cityForm.ok', widgetLocale), LocalizationManager.getString('cityForm.cancel', widgetLocale)); if (formResults != null) { preferences.city.value = formResults; savePreferences(); handleSetupChange(); } } }; M' -'/** * The WeatherWidget requests forecast data and shows the weather forecast for the chosen city. * Forecast data is displayed for the current date and the next four days. * The user can choose if he preferres symbols or text only mode. */ var WeatherWidget = function(parentFrame) { this.parentFrame = parentFrame; this.list = []; this.setup = null; }; WeatherWidget.prototype = { /** * Initializes WeatherWidget. */ init: function() { var self = this; var vStart = 10; this.txtNoSettings = new TextArea(); this.txtNoSettings.font = 'Arial'; this.txtNoSettings.size = 11; this.txtNoSettings.width = this.parentFrame.width - 30; this.txtNoSettings.hOffset = 15; this.txtNoSettings.vOffset = vStart; this.txtNoSettings.color = '#4c4c4c'; this.txtNoSettings.data = LocalizationManager.getString('weather.text.noSettings', widgetLocale); this.txtNoSettings.editable = false; this.txtNoSettings.scrollbar = false; this.txtNoSettings.visible = false; this.parentFrame.addSubview(this.txtNoSettings); vStart += this.txtNoSettings.height + 8; this.imgNoSettings = new Image(); this.imgNoSettings.src = 'Resources/Images/Common/Arrow.png'; this.imgNoSettings.hOffset = 20; this.imgNoSettings.vOffset = vStart + 4; this.imgNoSettings.visible = false; this.parentFrame.addSubview(this.imgNoSettings); this.lnkNoSettings = new TextArea(); this.lnkNoSettings.font = 'Arial'; this.lnkNoSettings.size = 11; this.lnkNoSettings.width = this.parentFrame.width - 41; this.lnkNoSettings.hOffset = 21; this.lnkNoSettings.vOffset = vStart; this.lnkNoSettings.color = '#4c4c4c'; this.lnkNoSettings.data = LocalizationManager.getString('weather.label.noSettings', widgetLocale); this.lnkNoSettings.editable = false; this.lnkNoSettings.scrollbar = false; this.lnkNoSettings.visible = false; this.lnkNoSettings.onMouseUp = function() { self.setup.openForm() }; this.lnkNoSettings.onMouseEnter = function() { this.color = '#003399'; }; this.lnkNoSettings.onMouseExit = function() { this.color = '#4c4c4c'; }; this.parentFrame.addSubview(this.lnkNoSettings); vStart += this.lnkNoSettings.height + 5; this.noData = new TextArea(); this.noData.font = 'Arial'; this.noData.size = 11; this.noData.width = this.parentFrame.width - 20; this.noData.hOffset = 15; this.noData.vOffset = 10; this.noData.color = '#4c4c4c'; this.noData.data = LocalizationManager.getString('weather.text.noData', widgetLocale); this.noData.editable = false; this.noData.scrollbar = false; this.noData.visible = true; this.parentFrame.addSubview(this.noData); this.imgTempChars = []; for (var i = 0; i <= 3; i++) { this.imgTempChars[i] = new Image(); this.imgTempChars[i].hOffset = 20 + i * 25; this.imgTempChars[i].vOffset = 19; this.parentFrame.addSubview(this.imgTempChars[i]); } this.txtCity = new Text(); this.txtCity.alignment= 'left'; this.txtCity.hOffset = 19; this.txtCity.vOffset = 89; this.txtCity.font = 'Arial'; this.txtCity.style = 'bold'; this.txtCity.size = 14; this.txtCity.color = '#000000'; this.txtCity.visible = false; this.parentFrame.addSubview(this.txtCity); this.imgState = new Image(); this.imgState.hOffset = 100; this.imgState.vOffset = 6; this.parentFrame.addSubview(this.imgState); this.imgBackgrounds = []; this.txtDaysOfWeek = []; this.txtTemperatures = []; this.imgStates = []; for (var x = 0; x <= 1; x++) { for (var y = 0; y <= 1; y++) { var index = 2 * y + x; this.imgBackgrounds[index] = new Image(); this.imgBackgrounds[index].visible = false; this.parentFrame.addSubview(this.imgBackgrounds[index]); this.txtDaysOfWeek[index] = new Text(); this.txtDaysOfWeek[index].alignment= 'left'; this.txtDaysOfWeek[index].font = 'Arial'; this.txtDaysOfWeek[index].style = 'bold'; this.txtDaysOfWeek[index].size = 12; this.txtDaysOfWeek[index].color = '#000000'; this.parentFrame.addSubview(this.txtDaysOfWeek[index]); this.imgStates[index] = new Image(); this.parentFrame.addSubview(this.imgStates[index]); this.txtTemperatures[index] = new Text(); this.txtTemperatures[index].alignment= 'left'; this.txtTemperatures[index].font = 'Arial'; this.txtTemperatures[index].style = 'bold'; this.txtTemperatures[index].size = 12; this.txtTemperatures[index].color = '#000000'; this.parentFrame.addSubview(this.txtTemperatures[index]); } } }, /** * Displays background depending the chosen mode (symbols / text only). */ paint: function() { for (var x = 0; x <= 1; x++) { for (var y = 0; y <= 1; y++) { var index = 2 * y + x; this.imgBackgrounds[index].hOffset = 20 + x * 80; this.txtDaysOfWeek[index].hOffset = 29 + x * 80; this.txtTemperatures[index].hOffset = 29 + x * 80; if (preferences.useSymbols.value == 1) { this.imgBackgrounds[index].src = 'Resources/Images/Weather/BackgroundBig.png'; this.imgBackgrounds[index].vOffset = 100 + y * 83; this.txtDaysOfWeek[index].vOffset = 116 + y * 83; this.imgStates[index].hOffset = 20 + x * 80; this.imgStates[index].vOffset = 100 + y * 83; this.imgStates[index].visible = true; this.txtTemperatures[index].vOffset = 174 + y * 83; } else { this.imgBackgrounds[index].src = 'Resources/Images/Weather/BackgroundSmall.png'; this.imgBackgrounds[index].vOffset = 100 + y * 63; this.txtDaysOfWeek[index].vOffset = 116 + y * 63; this.imgStates[index].visible = false; this.txtTemperatures[index].vOffset = 140 + y * 63; } } } this.refresh(); }, /** * Starts HTTP request to get new data from widget middleware. * Shows no data available info if country or city hasn't been chosen. */ refresh: function() { var self = this; if (preferences.country.value.length > 0 && preferences.city.value.length > 0) { this.txtNoSettings.visible = false; this.imgNoSettings.visible = false; this.lnkNoSettings.visible = false; if (this.list.length == 0) this.noData.visible = true; var request = new HttpRequest(SERVICE_URL, SERVICE_LOGIN, 'POST'); request.addParameter('action', 'weather'); request.addParameter('country', preferences.country.value); request.addParameter('city', preferences.city.value); request.setResponseHandler(function(response) {self.handleResponse(response);}); request.processRequest(); } else { this.txtNoSettings.visible = true; this.imgNoSettings.visible = true; this.lnkNoSettings.visible = true; this.noData.visible = false; } }, /** * Displays the weather forecast and adds tools tips for extra information. * A large symbol for the current date and smaller symbols or texts for the next four days. */ showWeatherList: function() { if (this.list.length == 0) return this.noData.visible = false; // big this.txtCity.data = this.list[0].city; this.txtCity.visible = true; this.txtCity.tooltip = this.list[0].tooltip; var temp = this.list[0].min + '°'; var firstNumber = true; var hOffset = 17; for (var i = 0; i <= 3; i++) { if (i < temp.length) { if (temp[i] == '-') { this.imgTempChars[i].src = 'Resources/Images/Weather/NumberMinus.png'; this.imgTempChars[i].visible = true; } else { if (temp[i] == '°') { this.imgTempChars[i].src = 'Resources/Images/Weather/NumberDegree.png'; this.imgTempChars[i].visible = true; } else { if (firstNumber) { firstNumber = false; this.imgTempChars[i].src = 'Resources/Images/Weather/NumberLeft' + temp[i] + '.png'; } else { this.imgTempChars[i].src = 'Resources/Images/Weather/NumberRight' + temp[i] + '.png'; } this.imgTempChars[i].visible = true; } } this.imgTempChars[i].hOffset = hOffset; hOffset = hOffset + this.imgTempChars[i].srcWidth; } else { this.imgTempChars[i].visible = false; } this.imgTempChars[i].tooltip = this.list[0].tooltip; } this.imgState.src = 'Resources/Images/Weather/StateBig' + this.list[0].state + '.png'; this.imgState.tooltip = this.list[0].tooltip; // small for (var x = 0; x <= 1; x++) { for (var y = 0; y <= 1; y++) { var index = 2 * y + x; this.imgBackgrounds[index].visible = true; this.txtDaysOfWeek[index].data = LocalizationManager.getString('label.dayOfWeek.short.' + (new Date(this.list[1 + index].date).getDay()), widgetLocale); this.imgStates[index].src = 'Resources/Images/Weather/StateSmall' + this.list[1 + index].state + '.png'; var label = LocalizationManager.getString('weather.label.useSymbols.' + preferences.useSymbols.value, widgetLocale); label = label.replace(/{min}/, this.list[1 + index].min); label = label.replace(/{max}/, this.list[1 + index].max); this.txtTemperatures[index].data = label; this.imgBackgrounds[index].tooltip = this.list[1 + index].tooltip; this.imgStates[index].tooltip = this.list[1 + index].tooltip; } } }, /** * Called every second. Do nothing if refresh interval isn't reached. */ trigger: function(ticks) { if (ticks == 0) return; if ((ticks % REFRESH_INTERVAL_RELOAD == 0) || ((this.list.length == 0) && (ticks % REFRESH_INTERVAL_NODATA == 0))) { this.refresh(); } }, /** * Simple way to add different parametes to sub widget. */ addParameter: function(name, value) { if (name == 'setup') this.setup = value; }, /** * Checks response and keeps forecast data if available. */ handleResponse: function(response) { try { if (response['list']) { this.list = response['list']; } this.showWeatherList(); } catch (e) { // error reading response } } }; I@PH t"=<^WZ\j_b!dHgo ksmpt w4x\{~++{$Ltq7:~<Dj~z4Ed&;UEO"R=لg?9tcC6 p7+cϥD C r  s o  - O j|    6 R]  { ~  $ ' *N Z,x 1. 0 2 5 8E e;n S> SA C FI;KeWNmP'S@V X7[a^`c)gp-|T{M[@˭i#HT S6_H}:9OP=lB}b9_ N.I@ P __METADATA__BMW Widget.konResources/de/Localizable.stringsResources/en/Localizable.stringsResources/Images/Alert/NumberLeft0.pngResources/Images/Alert/NumberLeft1.pngResources/Images/Alert/NumberLeft2.pngResources/Images/Alert/NumberLeft3.pngResources/Images/Alert/NumberLeft4.pngResources/Images/Alert/NumberLeft5.pngResources/Images/Alert/NumberLeft6.pngResources/Images/Alert/NumberLeft7.pngResources/Images/Alert/NumberLeft8.pngResources/Images/Alert/NumberLeft9.pngResources/Images/Alert/NumberRight0.pngResources/Images/Alert/NumberRight1.pngResources/Images/Alert/NumberRight2.pngResources/Images/Alert/NumberRight3.pngResources/Images/Alert/NumberRight4.pngResources/Images/Alert/NumberRight5.pngResources/Images/Alert/NumberRight6.pngResources/Images/Alert/NumberRight7.pngResources/Images/Alert/NumberRight8.pngResources/Images/Alert/NumberRight9.pngResources/Images/Background/BackgroundAlert.pngResources/Images/Background/BackgroundBottom.pngResources/Images/Background/BackgroundDetails.pngResources/Images/Background/BackgroundDisclaimer.pngResources/Images/Background/BackgroundTop.pngResources/Images/Background/ShadowDisclaimer.pngResources/Images/Background/ShadowLarge.pngResources/Images/Background/ShadowSmall.pngResources/Images/Background/ShadowSmallDetails.pngResources/Images/Background/ShadowWidgets0.pngResources/Images/Background/ShadowWidgets1.pngResources/Images/Background/ShadowWidgets2.pngResources/Images/Background/ShadowWidgets3.pngResources/Images/Background/ShadowWidgets4.pngResources/Images/Calculator/ButtonClear.pngResources/Images/Calculator/ButtonDot.pngResources/Images/Calculator/ButtonNo0.pngResources/Images/Calculator/ButtonNo1.pngResources/Images/Calculator/ButtonNo2.pngResources/Images/Calculator/ButtonNo3.pngResources/Images/Calculator/ButtonNo4.pngResources/Images/Calculator/ButtonNo5.pngResources/Images/Calculator/ButtonNo6.pngResources/Images/Calculator/ButtonNo7.pngResources/Images/Calculator/ButtonNo8.pngResources/Images/Calculator/ButtonNo9.pngResources/Images/Calculator/ButtonOpAdd.pngResources/Images/Calculator/ButtonOpDiv.pngResources/Images/Calculator/ButtonOpMul.pngResources/Images/Calculator/ButtonOpPercent.pngResources/Images/Calculator/ButtonOpPi.pngResources/Images/Calculator/ButtonOpSqrt.pngResources/Images/Calculator/ButtonOpSub.pngResources/Images/Calculator/ButtonOpSwitch.pngResources/Images/Calculator/ButtonResult.pngResources/Images/Calculator/Result.pngResources/Images/Common/1x1.pngResources/Images/Common/About.pngResources/Images/Common/AppPrefs.pngResources/Images/Common/Arrow.pngResources/Images/Common/ButtonBackground.pngResources/Images/Common/ButtonBackgroundLarge.pngResources/Images/Common/ButtonHighlight.pngResources/Images/Common/ButtonHighlightLarge.pngResources/Images/Common/DateBackground.pngResources/Images/Common/SportPrefs.pngResources/Images/Common/WeatherPrefs.pngResources/Images/de/IdModule.pngResources/Images/en/IdModule.pngResources/Images/Weather/BackgroundBig.pngResources/Images/Weather/BackgroundSmall.pngResources/Images/Weather/DegreeForeground.pngResources/Images/Weather/NumberDegree.pngResources/Images/Weather/NumberLeft0.pngResources/Images/Weather/NumberLeft1.pngResources/Images/Weather/NumberLeft2.pngResources/Images/Weather/NumberLeft3.pngResources/Images/Weather/NumberLeft4.pngResources/Images/Weather/NumberLeft5.pngResources/Images/Weather/NumberLeft6.pngResources/Images/Weather/NumberLeft7.pngResources/Images/Weather/NumberLeft8.pngResources/Images/Weather/NumberLeft9.pngResources/Images/Weather/NumberMinus.pngResources/Images/Weather/NumberRight0.pngResources/Images/Weather/NumberRight1.pngResources/Images/Weather/NumberRight2.pngResources/Images/Weather/NumberRight3.pngResources/Images/Weather/NumberRight4.pngResources/Images/Weather/NumberRight5.pngResources/Images/Weather/NumberRight6.pngResources/Images/Weather/NumberRight7.pngResources/Images/Weather/NumberRight8.pngResources/Images/Weather/NumberRight9.pngResources/Images/Weather/StateBig1.pngResources/Images/Weather/StateBig2.pngResources/Images/Weather/StateBig3.pngResources/Images/Weather/StateBig4.pngResources/Images/Weather/StateBig5.pngResources/Images/Weather/StateBig6.pngResources/Images/Weather/StateBig7.pngResources/Images/Weather/StateBig8.pngResources/Images/Weather/StateSmall1.pngResources/Images/Weather/StateSmall2.pngResources/Images/Weather/StateSmall3.pngResources/Images/Weather/StateSmall4.pngResources/Images/Weather/StateSmall5.pngResources/Images/Weather/StateSmall6.pngResources/Images/Weather/StateSmall7.pngResources/Images/Weather/StateSmall8.pngResources/Script/AlertData.jsResources/Script/AlertWidget.jsResources/Script/CalculatorWidget.jsResources/Script/Common.jsResources/Script/Constants.jsResources/Script/DetailsWidget.jsResources/Script/DisclaimerWidget.jsResources/Script/HttpRequest.jsResources/Script/Initialize.jsResources/Script/LocalizationManager.jsResources/Script/NotepadWidget.jsResources/Script/SportWidget.jsResources/Script/WeatherSetup.jsResources/Script/WeatherWidget.jsngisXcvJ18HKszfdDLWMPgg3yYJq5Gy65/cDG0Tg/TpQxISXIgXSwW2P5dU+jRcXrWo48GjSV8l5xS384TnbFgWDKecGd62tiGSqfVXpiYgBioGZXMm9+iIyCPYpVXxf3QcyDMUsKaJnNMzvfALRx6R7NEgyVj3Qz1MF/sWBL5JP9Rt5HoPnojooUfDIf2bcpN/wNMY+pgfpmmEhzvaKKU/maSLRzmsMvz2XTtR1b2+nRGPLq6CgFBQwEem/ZKw0VnUSA5StrKuvFIf90aZ/ndDSO2yYMlq0SSrkC0bWnjL//Z82+49WUxvV4/xnvXuQE+s5psWXJvCRweGZUNR91z5TRuw==N-----BEGIN CERTIFICATE----- MIIFODCCBCCgAwIBAgIQCKZZr8DzLl6xR04smU+JTjANBgkqhkiG9w0BAQUFADCB tDELMAkGA1UEBhMCVVMxFzAVBgNVBAoTDlZlcmlTaWduLCBJbmMuMR8wHQYDVQQL ExZWZXJpU2lnbiBUcnVzdCBOZXR3b3JrMTswOQYDVQQLEzJUZXJtcyBvZiB1c2Ug YXQgaHR0cHM6Ly93d3cudmVyaXNpZ24uY29tL3JwYSAoYykwNDEuMCwGA1UEAxMl VmVyaVNpZ24gQ2xhc3MgMyBDb2RlIFNpZ25pbmcgMjAwNCBDQTAeFw0wNjEwMDIw MDAwMDBaFw0wNzEwMDIyMzU5NTlaMHgxCzAJBgNVBAYTAkRFMRAwDgYDVQQIEwdC YXZhcmlhMQ8wDQYDVQQKFAZCTVcgQUcxNTAzBgNVBAsTLERpZ2l0YWwgSUQgQ2xh c3MgMyAtIE5ldHNjYXBlIE9iamVjdCBTaWduaW5nMQ8wDQYDVQQDFAZCTVcgQUcw ggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQDkL7Jvxu7T68WnfLJoGgHB 4J5pU+UkemhlO91W/TPr3y+maqr0zQfQea4hjxO7iq7Qp5XDLIROEfoLGnzX/ViK CUYJIc/R3GtJjxu7GSyKKktj74Pw795CLSxSP/OpWWIQ3wW0/FAaQrSHOXLIla7L 6lr7CfkfNqQZs0L7G58ethp6sXgCOG0e9ayGXIV2X2/90Funjmng+HLKUncYMBQ1 D4J5DuH6XD43YcJkmLjJzD++jV6mUiuhFk8++kcJJ3vykfzgkCLsVp0S9hu2Hhic kExxDecesMOr38btj7CN2iUWzh7fKxjB8eDGi2sRHJvE9nujr3p2sI0KzA4sR+an AgMBAAGjggF/MIIBezAJBgNVHRMEAjAAMA4GA1UdDwEB/wQEAwIHgDBABgNVHR8E OTA3MDWgM6Axhi9odHRwOi8vQ1NDMy0yMDA0LWNybC52ZXJpc2lnbi5jb20vQ1ND My0yMDA0LmNybDBEBgNVHSAEPTA7MDkGC2CGSAGG+EUBBxcDMCowKAYIKwYBBQUH AgEWHGh0dHBzOi8vd3d3LnZlcmlzaWduLmNvbS9ycGEwEwYDVR0lBAwwCgYIKwYB BQUHAwMwdQYIKwYBBQUHAQEEaTBnMCQGCCsGAQUFBzABhhhodHRwOi8vb2NzcC52 ZXJpc2lnbi5jb20wPwYIKwYBBQUHMAKGM2h0dHA6Ly9DU0MzLTIwMDQtYWlhLnZl cmlzaWduLmNvbS9DU0MzLTIwMDQtYWlhLmNlcjAfBgNVHSMEGDAWgBQI9VHo+/49 PWQ2fGjPW3io37nFNzARBglghkgBhvhCAQEEBAMCBBAwFgYKKwYBBAGCNwIBGwQI MAYBAQABAf8wDQYJKoZIhvcNAQEFBQADggEBAIyEaQT7lmPN+BxY+uYXTyVOgSYC 5vyxEnicAKSqOElYxsJlZ4f+eiecNPhFA85PEmJNcoF5S5aZM8ag3nhKBuNDUeM/ cgtOaT4BT4uH8l30NMXYyWgxQWvxGw3PVNDRrFM9o9pSlxVzmXFcs1/qNQ4sZQqt e4htNtcCZSHcCoPXte5ntgwA3EGSI5+wXZWlGZXKrfQiUQAg9L1P/fkb/47zoixz d5ta58v7vZX2aJ+DVgy+HH+CkxmD3K+Hwj+lPRLOzbfkuFY6XzmcmTGxHOWcxQhn L9KN+cS2bSC04ZQiCirWYQIXdEvoJuhkZUEI3cV/m1boAxza6lngzwhtnZE= -----END CERTIFICATE----- ngis