auralquiz-v1.0.0/0000755000175000017500000000000013105157030012010 5ustar janjanauralquiz-v1.0.0/Auralquiz.pro0000664000175000017500000000602413105040436014514 0ustar janjan# Auralquiz # Copyright 2011-2017 JanKusanagi JRR # # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation; either version 2 of the License, or # (at your option) any later version. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # You should have received a copy of the GNU General Public License # along with this program; if not, write to the # Free Software Foundation, Inc., # 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA . # # ------------------------------------------------- # Project created by QtCreator # ------------------------------------------------- message("Generating Makefile for Auralquiz...") QT += core gui # when using Qt 5 greaterThan(QT_MAJOR_VERSION, 4) { message("Building with Qt 5: v$$QT_VERSION") warning(" >>> To build with Qt 4, you might") warning(" >>> need to use qmake-qt4 instead") message("") QT += widgets phonon4qt5 } # when using Qt 4 lessThan(QT_MAJOR_VERSION, 5) { message("Building with Qt 4: v$$QT_VERSION") warning(" >>> To build with Qt 5, you might") warning(" >>> need to use qmake-qt5 instead") QT += phonon } TARGET = auralquiz TEMPLATE = app SOURCES += src/main.cpp \ src/auralwindow.cpp \ src/optionsdialog.cpp \ src/answerbox.cpp \ src/ranking.cpp \ src/musicanalyzer.cpp HEADERS += src/auralwindow.h \ src/optionsdialog.h \ src/answerbox.h \ src/ranking.h \ src/musicanalyzer.h OTHER_FILES += README \ LICENSE \ CHANGELOG \ auralquiz.desktop \ INSTALL \ TODO \ manual/auralquiz.6 \ translations/translation-status \ TRANSLATING RESOURCES += auralquiz.qrc TRANSLATIONS += translations/auralquiz_es.ts \ translations/auralquiz_ca.ts \ translations/auralquiz_gl.ts \ translations/auralquiz_eu.ts \ translations/auralquiz_cs.ts \ translations/auralquiz_fr.ts \ translations/auralquiz_it.ts \ translations/auralquiz_de.ts \ translations/auralquiz_pt.ts \ translations/auralquiz_ru.ts \ translations/auralquiz_pl.ts \ translations/auralquiz_EMPTY.ts LIBS += -ltag # to use TagLib ## This is here so the makefile has a 'make install' target target.path = /usr/games/ desktop_file.files = auralquiz.desktop desktop_file.path = /usr/share/applications/ man_file.files = manual/auralquiz.6 man_file.path = /usr/share/man/man6/ #icon32_png.files = icon/32x32/auralquiz.png #icon32_png.path = /usr/share/icons/hicolor/32x32/apps/ icon64_png.files = icon/64x64/auralquiz.png icon64_png.path = /usr/share/icons/hicolor/64x64/apps/ INSTALLS += target \ desktop_file \ man_file \ icon64_png message("") message("Makefile done!") message("If you're building the binary, you can run 'make' now.") auralquiz-v1.0.0/auralquiz.desktop0000664000175000017500000000140713105040436015425 0ustar janjan[Desktop Entry] Type=Application Name=Auralquiz GenericName=Music Quiz Game GenericName[ca]=Joc de preguntes musicals GenericName[cs]=Music Quiz Game GenericName[es]=Juego de preguntas musicales GenericName[fr]=Jeu de Quiz musical GenericName[gl]=Music Quiz Game GenericName[it]=Gioco Quiz Musicale Comment=A simple music quiz game for GNU/Linux Comment[ca]=Un joc senzill de preguntes musicals per GNU/Linux Comment[cs]=A simple music quiz game for GNU/Linux Comment[es]=Un sencillo juego de preguntas musicales para GNU/Linux Comment[fr]=Un simple jeu de quiz musical pour GNU/Linux Comment[gl]=A simple music quiz game for GNU/Linux Comment[it]=Semplice quiz musicale per GNU/Linux Icon=auralquiz Exec=auralquiz Terminal=false StartupNotify=true Categories=Qt;Game; auralquiz-v1.0.0/appdata/0000775000175000017500000000000013105157000013421 5ustar janjanauralquiz-v1.0.0/appdata/auralquiz.appdata.xml0000664000175000017500000000220313105157000017566 0ustar janjan auralquiz.desktop CC0-1.0 GPL-2.0+ Auralquiz A simple music quiz game using your own music files

Auralquiz plays short pieces of music files from your folders (in Ogg Vorbis, FLAC or MP3 formats), and presents a question and several answers about the current song. The fastest the answer, the more points you receive.

Up to 8 people can play in a turn-based mode.

In the highest difficulty level there are no answer buttons, and instead, you have to type the answer yourself.

http://auralquiz.nongnu.org/auralquiz-v0.9.0.png Playing single-player, in regular mode https://jancoding.wordpress.com/auralquiz jancoding@gmx.com
auralquiz-v1.0.0/manual/0000775000175000017500000000000013105040436013270 5ustar janjanauralquiz-v1.0.0/manual/auralquiz.60000664000175000017500000000144513105040436015400 0ustar janjan.TH "auralquiz" "6" "June 2, 2015" "" "Games" .SH NAME auralquiz \- simple music quiz game using your own music files .SH SYNOPSIS .B auralquiz .SH DESCRIPTION Auralquiz is a music quiz game that scans a user's selected folder of music and creates a quiz using the tags from the audio files. A sample of a random song is played and the player must answer a question about the sample from either multiple choice buttons or for hardcore difficulty, typing the correct answer. Up to 8 players can play in a turn based mode with scoring based on points; more points are given by answering the question faster. .SH AUTHOR Auralquiz was written by JanKusanagi . .PP This manual page was written by Dean Evans , for the Debian project (and may be used by others). auralquiz-v1.0.0/TRANSLATING0000664000175000017500000001505013105040436013525 0ustar janjan Auralquiz - Quiz game about your music Copyright 2011-2017 JanKusanagi JRR =============================================================================== This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. Or visit http://www.gnu.org/licenses/ =============================================================================== Auralquiz is translated (from its original English) to a few languages, currently Spanish, Catalan, French, Italian, Czech, and Galician. The file /translations/translation-status keeps updated info on this. If you wish to contribute a new language, or help updating an existing one, let me know via Pump.io (jankusanagi@datamost.com) or via e-mail, at the address at the top of the document, so I can make sure that two people aren't working on the same thing. Here's a basic explanation of how the translation process is done: Getting started =============================================================================== If you want to translate Auralquiz to your language, you'll need to edit the corresponging TS file from the /translations folder. These .ts files can be edited with any plain text editor, but the best way to edit them is probably using the Qt Linguist program. (Qt Linguist guide: http://doc.qt.io/qt-5/linguist-translators.html) For instance, if you wish to translate the program into French, you'll have to open auralquiz_fr.ts, included with the source code of Auralquiz, in Qt Linguist. The language code used is often the same as your country's Internet domain. If you start Auralquiz from a terminal, you'll see something like: "Using translation file: :/translations/auralquiz_fr_FR.UTF8" which indicates that your system uses fr_FR.UTF8 as language locale, and the file you should edit is auralquiz_fr.ts, and generate a "compiled" language file auralquiz_fr.qm. Auralquiz should load the language configured in your operating system. If you want to force it to use a specifc language, you can run it with a specific LANG variable, like this: LANG=fr ./auralquiz If there's no file for your language, you can make a copy of auralquiz_EMPTY.ts and rename it to your language's code, such as auralquiz_ja.ts for Japanese. If you do this, make sure your file is not overwritten by mine when I add your new language to the project; mine would be empty. This mainly applies to people who clone the code using git. *** If you have any doubts, or if the file for your language doesn't exist yet, just contact me on Pump.io (jankusanagi@identi.ca) or via e-mail, at the address at the top of this document. Translating =============================================================================== The translation itself is quite simple. There are a lot of "strings" (sentences or words), grouped together based (roughly) on what widget uses them. So, some are used in the Configuration dialog, some are used in the Rooms module, etc. You just need to go through those lists, translating each word or sentence, while keeping in mind a few simple rules: - If a string contains %1, %2, etc, those will be replaced by something when used in the program. The translated string should contain those same values even if they're in different order due to language differences. There are sometimes "developer comments" visible in Qt Linguist for these, where there's some clarification of what will replace %1, %2, etc. when the program is running. Ex: "There are %1 songs available." would translate to Spanish as "Hay %1 canciones disponibles.". - Qt Linguist will warn you if the original string ends with a period and the translated string doesn't, or viceversa. - Strings used in buttons and menus might include an '&' symbol. Those are used to mark which letter is used as keyboard accelerator (or shortcut), and should be included in the translated version, even if they're in front of a different letter. Qt Linguist will warn you if an accelerator is missing. Ex: The "&Help" menu might be translated into Spanish as "A&yuda", since there is no "H" in the translated string. When running in English, users will be able to access that menu by pressing Alt+H. When running in Spanish, that menu will be accessed by pressing Alt+Y. One thing to keep in mind is that accelerators that are visible at the same time on screen shouldn't use the same letter. For instance, "&Session" and "&Settings" shouldn't be in the same menu. "&Session" and "S&ettings" would work. There's no warning about this, so if the accelerators are duplicated in the translation, you'll see that using them in the program doesn't work as expected. This is a small problem, but try to avoid it. Besides the translation of the program itself, there are a couple of strings in the auralquiz.desktop file that should be translated. Look for the GenericName[yourlanguage] and Comment[yourlanguage] lines. If they're not there, you can add them yourself using your language code. Testing it =============================================================================== Testing your translation is optional, and it requires building Auralquiz from source. There are instructions about that in the INSTALL file. To test your updated translation, first use the "File > Release" option in Qt Linguist. That will generate a .qm file. Make sure it's saved to the same /translations/ folder as the .ts file. Then rebuild the Auralquiz binary as usual. To ensure the newest changes are applied, delete the qrc_auralquiz.* files in the /build/ folder (if they exist), before rebuilding. When done =============================================================================== Once you're done, or when you want to submit your translation, even if it's not yet complete (which is perfectly fine), you can send the .ts file via e-mail to the address indicated at the top, or you can create a Merge Request in gitlab.com, if you're comfortable using git. Thank you in advance! auralquiz-v1.0.0/images/0000775000175000017500000000000013105040436013260 5ustar janjanauralquiz-v1.0.0/images/button-configure.png0000664000175000017500000000265213105040436017265 0ustar janjanPNG  IHDR szzsRGB pHYs^tIME)%FUbKGD*IDATxڽV[PSW5h"be4"2EBCx"Ũ!!ommVU:-XEZ|ؖ)Y?3k}]{a#\]gX+Tx+ߴ;_[{~6c wX]ߏALxxNdɉZVr{zLx^PkT֕exl%0j^S]x%hA%pX+˷ogx\ֻg|dm~DUH^~?NY,cPyF7}ϋ=\il*R+֌&aUm<R{kw?K&^C孺sƝϻIG; U؜ۛ-?XL}4g 5]Pռpb9 ^fZi91NHJ8%zދ|QW_gNn(; V3D{6ZDeuo?3g0w\D?6T|Yj6B:u-tK LH0W=vMFgY.򱯩9`2 hE a}ޭ5DD"kx[P^(b gJ3p8D[EIpVwOn"x׏44DigƲbQCG܎Gq#k~/q* #0m4T@&˿FX%%ӕ?]j%asj}fɢ%* ˅Bxzy".>e.zp<ٰٔqR S ((sppHa<+ ާǏ6bBD vvv* =+~ya 77BJj D$i^{Ξ'$V:h2 3T b"߅ȊD\7> r]ZT`Qkr7 t|V$$&@* "CA5-2\TkG0`^$ 'Px1[TʷhEѱSJھ}!Q{mmmAwG_:4ǩץBG?4Gv/<4\_22:cbm8 8 = ==C< ;= BEC '8 DBB ?#=AILJ HNIIG HMM!HTL S S(H2D+-G&R YYTS!S XXX%R*QWa^`d^^_5U)%] bj:T3c&^/["(^4[(+aiks o p$j!jj*h2gn (i oB`80h6g) x yvw%u"u)v/tCk7/t2t$Aq4;t+MmD+~+~9{ 9}/ 0':}().$G~87"Q~DW|LC01?/#;( 5B0@(M9(WHdY^P=< -2J#K2VC`L5eV4n`BKOO/xl[B;gR7ufKFW'X9CoWSnlQY-}fGM~g]$g,|h@xXiz! NETSCAPE2.0!Created with GIMP! ,H*\ȰÇ#J`ŋ3jȱǏ CIɁ0`P`˗l2 0sT@&JuXPFfȆF\e)@d` \fD&?dȰ ڻp56`0 К D܀X0e ƈæVhH0 〜F#:vdBs0ج?tTuע c6fS.eӊ@6K:P{6m OA[$ѩ(-e( $0D& 20HBGL0XL";DP ( Fp0HT"-(-o 4$:4@@*(JRA($LL;@@Af%D܁$a`b!-h P t*8# #L@ H1,h 5裐F*餔VjHpBToL"-$ **묲Jp3H 0 AF("J!06쳱Jp3H+I0!( 0*ЦHp3H"+I|C2Dl0 3XaJHA| R D@,2 3 <RL"$Ll0A 3H 0 LB L0TWmu3XQ < X $R_p;*[_bE ,. R H*#[_bE <.L"R'n.[_bE Hj PaL2 H7*[_b HjXRR| %Vh @ B@|l}\0@ $olt@ b\b  @$D,Zj 1rq%L@~ (R!WJ.BX1%0-H`A, `@ X) & Y0UDbbBKZUd B"pWibr I,akU  -`+)\BVZU, $ ƀ0@ (C.h%Lz*0X%lu !&ɵ 0 n0 R" CȀ6XZ%0@QY\FA @A 0`PZK@Ъ`  @! RAȀ2V@ @,dvDdq\†!0-d@ +P`Y ( %0 ,. ?  0QRR @| 2(@Pdq\,6$npAa>e)j&`@PdcPJV@`A,7-h ,F`b@ lHȀ1 `UQ(9cC*cb7@@X@1?С؅2Q@@h %()|˂o`BtC"PqgLct8`A |'+HBt, Cm,$A:$"P5 0X D%* @ `` : C6p`Bt & a(H"PQx f48/P!- l 7@GMR $w@$VJ-`0cD": `xؾv"Ia R%Da ' cLo. gȷq _BD$:! WH0Uَ;Ha | ?MX7MnN@@ m/qcD": a40UO'pfC`(`$a@S(xm.@p mȷ9!i(CxE(* Al x0,R-;H`A$P -dL0 fh0Ϸ=q,^JDB 0`Y}%pfC`0A |o,l!0zW#@GawăF5 a :a Yw`0$D@!l R, l P Ϡ eu@V` 7!w R+!0;P ( P P @ p Pd$+*4Hp `31<  u je p 0 x `  up,0q 0000R0 0 C(o [& pxPP  u 0 Pf  4u @'P02&e P ݠPP ` 08[s VP   j 0   ְ L PQ%i[s VP H0 P @(e ְ LL `p`Е'5`*0 C(j  ` P P Ȁ 7Pg9)[s VP 9R00a ;L( o P ݠJ `;!PP)|5`*@;R sm7@ P Px zp7*!2:|5`p=R00 0 an&`P ` pP 0[7/!P4zh*|5`p=@  0 a+f P1v s0UAp7/&Ph2*|P@ P0 P0 W`+fP P H`jcUpA?z:@&`(Z Đ  P0R0+g &2芮:`j|@ p K0p@0 gPe*@6;:`o&|@ p K0p@<  *qF &k6 <{/B( Đ p=R Rl0gP0Y(@;:f t$ K0*@Q$ 0P0g;h V0*@Q,@0 P @P * @f P@ p=R   &9P(@ *@H a &4m K0 &WK"軟 PK0R0l@ PP < PV0HU0 dP #P\oe`P`T@KP0Žc0 RHUP2P1,cX ˢ(` 0P ,cX & (P @+cX R#2fl `` ,@w@R;2 ` R ,P !><0p Vpct 2ɻK?~Peu`0;R`fn0ʠK0h v ePl@n@`HeoV P9 0| 0li uvRT<pM po'lp 0  uapR$ 2!Ġ h7 lp >a < *" sp ڀho0 P Pl@` :` ڀ0o  P Pl@0 ,b  ڀg P u@K 0ؙZ, l@Pݰ [&Pd`60+ @hQ  ŀ V(] Pd$+*}[& ǰ ߐPP ϰ P PW+g: e P瀉 0 PH+4:&e P ݠPP ` ,2NP ` PJ  P u `@ve ְ P 'w>9*P ְ YՀ Q `>p;P P۠ Pp*P>m7@ P Px  ip7*!/^&`P ` WZP [7/l;e P1v`@ 0cPJJ*`e*  PP P H`V`cUpZ( #3: P!`/ :`jP?1*0PK6@kKdO &˳˳@Kc?* Pe*@ckc?* @gP * f@*d! ,}H*<Ç#JHą3jhG>RHɓ(EBDɲK*41sꤘpO*?8)3AhQ! DݺiS1&h&8&P@M Hw`%2ĂmG8U֭@ɥKn0Ba˘0애 (yF+8 ͺu ѵJr  0 N (o:cq <~& @R6$xν{ (@. 0A2@z l\GQ X`%xGr)GQ(Q %zA2,0P0 r7@X\ra%BJ,00BcSը D-*FuP.F @`a (7@\r_!H( %KLP@A(' 4@MIIM\_!H%+t P@MD \R0@l$ ,0@$PSC \SxUAhx< L * 4U 0P7rT i V K$2 0T `XS yhL ,,P@M D\S@AA ,!HΓC51y%D%5 PCz.Ez0 0,!HΉHaAM L0A AJ 4aM%4rM䐞 |QLlPSX ;AR Q0@I 4aM)TS hTԔ/PBL"0A*D%%5_ Q5!HLPG@ lL2D  3D 0LS>' XC y ` I3, @()@`,}OXbH H@ h@9PN  3 5@(' `"i A|* ` Aq@?PNPD%a  HC׺. P݃& `  pyHPQ @9 I)_Q׆Y`=! ( 0l40 @  @)ĭI 0D M! 8  VX@W 'xC@@ HSK75I@40Dv_+,+R <@&@Dd  n; t*40Dv_~@627A@W HS0@!q_XbF p ` B|MH`\ G4 AC|j{0BP`P&X` (BW +) ȗCX0, A.{Xd8`,(HP$"@ P$ L`A.`zHCx(@;H$HE(H"oV4 K`bX R@(@;HD MHE(Hbo0,P Fc.! : aL,\a hP"104% 7 8`b4pAtX4<,HEb\P$ME.Hbz, " BGL`K0@>`  `QQ\ M11 B`uR 0X tt`0@ !!5P11 zdH00`m! BGV p? PP `QQ\ !M10mP @a@@ 0X @R p? P 0 !!%!50mP @a@@ 0 n P8X `BGR D0ÈQ0E1@\080` td @ i 08`51BGRr?!P P\ @P>cP @a@u@ @ ` @X 10' 0KL/5!P P\ SPaMh @a@u PX0 6PmoW80`oa0ϳ!A@Q05` p?e9c` a@u  t 0*)(0 0 P udWRa /A@Q051 `\E0m al0 `*  _ ڠ 0 P u0dW`R 02!%!5a8A   P\@\P`C. < 01 B ސ @  u0oW L`&8 0A%!5`8  C'E5m) '7lP1@ 0<U 0:ް 0 P uPfW<n  @0!@\!P\0MA@KD'E5m V0a `#V` `\ g : ڐ ja @ !@\a!`@ ` DtR\PP `/+p6uĕ 0[p pްـ p P 0ud@ P0A%1@\0`\   Gtb\ ` <`,3 D  y @ ް`L{ p P 0l`0 0]50@\ @ECY xT `\ `< 0` 9'Kj @ ΰِ @ ϰ *u`/P P\@%A`CY   5h K@ a C0 P  y  p P @  Po<`50@\A5<@\tr?  @'5hP5 `@09C 0VP  Ő 0 ְ \ l`'@\ ,P\Cŕ  p @\ p?ϳ @C 8@`P P ߰ l 0  @@\t51P  0(P\P\ p?G @\UCH@#@R/u @ @ ې:Ԡ @ `@nZ D P @\ @ECĕCD PP 0P lp0V P ` ߰ 0  P!JD p?5<0q@E@ĕKLD\@ G @\ plP u>uP @ P `7&P!Kd 5<q`\M!@ĕpDEM| 0H0L5 @aV @ @  @ >p2/(Kd55<q`\@ĕxD0 D PL ,y@ @ ߰:` ˀ fp?p7`33L/C\#W5a@\ 0EM1  D01 0 C@*`y  @ `H>? 6`~~K/q0ECY\ak 0H0LT0 u L@pj    z0PAE`dG p? @\M1E !Zi kUD0Q0/X`Go @ c> A?PE@C~? @\Ma8Ea^  {`p?0Q'0 *HQJzz>M?B@x/55<^k < PS0pdP@5a !`**/7AJ? d5P5A' j  { p?0Q'@l P? P&. $,`@B $(PĈ D8@}H%Ic=F,(`!3bA&;(A 4hTŋ7ćU(dPaU (@ "1n1Zm;.r ,,0`$!ulXP`20aBICxF S2ˆ к ht\Z c q1u@mVU`@ >g`[ DD`Mw\~uS8c XD68D7<UwH!課P9"B`; ʹģ0xL"R:*28a/"Z@(@2 s2E!Gb L0ك+` )&(`* Ph@X 骒L30˴!\#!"# 4* ;3 -4h$?) `'t,` )6(  xŽ(PU``UU0KJ/8r#"(X)NX U(UE]V0`d `' Kh]0k"y'(Uh5 `'0D!(.(L(` `W4h#( { M ]s(c K HSg$̈9hi(0 &,.Ph H`:Bfz-&b?`(` H:Bf:#EM&|X7@ l? @i0J@ p5h@"@ϑ6*)7"@t X LX8! X #!&.رiVzf`:a6(@x+a# )p@pJD7` `1qYC@0XaC H' IBTGA& w @> ghC`0fQJuxp&\p0t09mDO" F"7 f̂ Q7! W`a@$jOHd 88oh,HQHA$!`)@JbӔ-sc4pNB{7l4E%:!@!dH*ɼUPr#7ax0-\Bl`+DQNub @@:HI0#@(y`& A" b@Т6k(* Aԡo C 06H0sSw!@Lsvf!P"" ]6F6!qP/^!JDB}C`06(H0# HFͩOjI<"(-f8sF5 eE%"!:! R`II9HH2D$} F4rxғ~X"0 hIA T@yI <8bHaR 0`"P@(@Rf' pB#$k ؀P!@RI)?@0+@.(`X@+nv'4 =`R $ ph(`@Wʓ,!R"! @Rf' B#,&HM0ԁ ;@P'0`A 2X"P HR 0d]hd`d (P0lB,  X@yFŀ X@yb  , f' B#,& 2 lH`Xy"`X@yb" , f' pB#,@  lH$`@)A PP"( @ @7;YD`% LBDkXyRG X0])P&  (t8mݧ #a,H!` w @ p u`p@` 0!P P4 (`2(9%8B;H  0 l 9u21z w< 0 P  Pyap@``P Q P1X)6 /`ЙSY$hPs Ks W 0Lz@ ж@ @  ̤!{H0`0J] PQ Pr 0*2p/!9%P s 1 ul 7! p p  tR0% PJ] !#Y/ /!ЙSh 0<0 'p#X=jy` P p @  Po'P P@ PrM%&/r" PYR">F0' 05@0 1Q![p p ˠ ޼ @  u<Y 0P P P`P PrM%&`s>)P_ w  4@1Q!@ p 0 ~ ɐ P  V`9 `0 2  QPprP1_ p> p 5up @@jy p א @  PP0 p   #p .   w r] aPdp$8 V!  R? @  z>p/Йs 0 0P PHq   "   k w X`Pu@0A`o ? p @  (JQD4l 0X<~ #*dȠ &D`@ _@w`lpdH()\z%;6Mc^UZ .S8Q6„ H Rp ..(@ )D<"H`1A$t$0c0Ȱ BPN^ul2eʎ"(PI"b ..(0 iXpqAHqEȐ/_ (``  `` +DNHdeM0 |5ր 'J2`H 4 4H#h rv"6z``) F  Ȩ `@Ž<dEc (Ob/p"eH  (2/ H:r (7p` #5`&؀8^xtB @X/C=ˡ B"  Uw'@q (hX`(`&!|8P.Xke! ,`-"/q]"u'@q w>)a0xX&f N< CI a ,*Zǀ|p 4vʈȠ  <N-@aCV ,@\ .~!PS81@< ,! 8`@P= `'QT&x Lxa3a,0H@_*eBA,``| p,?< )X*@!B (|& \ @q^8c5x @P@1)؉@0`@u􁙤@)4@e! #(`"G0b 0`@$`WĒH&PG(LR0m@_P @-RcVoJpG)`I@9,  Lh6 .Z 4z? X@ `C JJ0 h©CD d Kqe$ @R^{ r )@`KUSR 8P j!3qH*\$#@RZ{ r ` `xdث`B02` X@d@f hPEP$%Y@1 (0@ ڏ$eN\` 4` dh T``0$  L`岒*P GRPHJP@L2 h܅Z22#  L`O M  @ Lpp*0ddIG X@5   .D{.N+00`@ @RP`ͻ  I@2"x2P$I` KX@l ɟ<@>WF 0u X4p!@ b` $`'VSRPDW,e `.Ta iP& a0v`+  X@d')(|Pg#^ +.qE oP @@N ; 20ȧ22p (@ 8p/tΊU\ux8 &  rW@S\ lUcшF0tΊK,uxp+0a< N0 ;\LHU  W.ЄFb`4tΊUXbxЯ`& 58Pr%\ H 0#@a ѐ4Tl"Ån& '`@ 5 t~`/}|`O4A["5 R`%`( Rx  (IC5FWasfYJH<X@ĸWV0T (@ 0 T @0``@@. E( @ @Cza |x Ы# @!@A"  H@H7 X@@@. E(0`@za | "P$X&@  (@H7DY@(Ph `@M = Ї5L (jQ\A 8P` @&(|  p \`P0D)Г<}XX+p &|@X &K`(PhPS` IP>a /G+p4 0 Y*00@ (@,< 0jd`@M'x@; @FҐLR` k 0`Dt ,X@*0@7XLe.+P )'x@Ї)q0 0v@ 0 X 0 h` X@0 L $`" Q.P ,@@R/@O"S` `N)X@FR0`L& H`D@pX@ށ @_`9X#?0!HD,ہQ&P D `kS` 0|# <&0 PP @@P0%0 06h0&7 '57 qP 0P  P@  05D= `kO` 0|#00@  0 01  0@ 0 @ 1 J `_Op 0|#@5'0P  PS PP @/> F06e&7Q8 (   P@P  0P >0`0` 0U0> hPOpP>7 00 (   PP  !s0V p^P0T> pePP P>7  p8 P0  0@ QP @PV0 015?b,s#++   @ 0 A V5pP120>ps`0 @@#@ DQ Q Pn`@ &db=PO0{ 0@+00 (  1  0@ 0p Q Pn`HH0]P~`B#0(  1  !{V0@L=PzF c P (  1 0 0 @&:C0VVP>PtH cPQP D^&zc` R$P` P{@a0'0 @A(  p  `BP `\{0"ns!1P{@a,`PP0  0` Q @0 F E \~`K0R> `1eB PzK@    P 0@0 P$`!@E Ps0+ai0 0 ` 0&n`0@ P P 00 A p)`2(P k~cC`@z01e 6JQH;,p,Ki H&0 0   P@ P40E6!:rD!k<H0Lnn 06k|ps`VH<H`f@'p\0`0 P 00 P0P%@4EE`(A:`Pc<0Ro3t;@]` ~`pVK0KVL0/& PA0  00 P4@INP9t# `\c0<``l@o'u00N`  ~0iZ`LI-hVF,*   00 #pD@^NP90(A#<*k<>00R@^06 ]ߪ pvjVPVP``L1ڭm 0P P  + pnMI]B`/&A0@*k<= p< a@d 0 1P@p_Pߙ @zjPZ` <#&0 P0tP FP)DP]S6* 0\c 8`a@a0 0#1p\pٮ o  aV,&p,p!@ p^0 P p0C 0.N\0?p:!`\c0; F~0 @@ `H0w p yj iaV,#p&0 0 >@(03PJ\P>pb!#\pw0= 8 d@ PT0P;`fwٮ  y``< P0 @P!t9pJP? :`/&A,l0@  WR H`fx P @ zpz &Pa , &0X0 ?9J\ B "@AC(^PJ A~ܸ &Bh;X`L@R#p F+ZsPLJ5ԩM-ʣGO:o aA$,(0A ,0`=X a*di U( C6^0B_c¿ $H )`4A&܈bE 5vdiөYp:uj 8B`0A&0H`{A  0@ Hi "`XR!|P FBlxT2a > Y6 +&! +C7XĒMK YjM,y <@ްTR @8Nb H@($i" XR!j-фL Bh>aF X 8 `B 0x#E,$ZZh)ŒKD4NCXV@ ,w- 0; F ,#@ BPnmux4  &X`D ` bP*X 5cK,9PAM,Y=0c#|bWYuXv]~(0( ` B0nAhTA ?aF,L&A &NG:``B 5cK69MD.?/p"mNcZka r$80((@& T8͆[<` ?aD$`/`)8$C<7; nS6YD;6X.prhAbx,  X$xX 2Ѐ%^= <`Z' &X@D?p!0aX@,@7@<,NZr K" cp?^@af0@,x @ D ($ @)@&j 藀T@}X6?!0X@$`*A̠=b&"aE P83}C'@ @ Ma4%/%`(RV2 Rp | P0G !0X@P`3! 478C! Alo(,r)vŀ PӞMP!S`z#(0@ L*pr'> Iirpo;,]I s C%4"Jh0!O0&J#(p00#4x7Bp EH r`,AN @ KUrs @G8M`""P5a &`X @W@%Vu$P |p( w8X1xAOYZ +;*A ,-hPZ֗(0`(L!8? IdX Zy > t`ZӚ zp) VHl@%a>2L{X #- ` DL(,`8 ts1`AH`98 @T`g@XX P#ha,8? %:XB`'9uoP(X rp Ѐ .h;p F0 0# 8A @NF^{(4 7^`=+YadD%>P` l2 (D #@`+@sl @l}=}AaȞ}.d4` @  PJ' x.(#(((؀؀/_ X 0`` `"P)p@0,Y@.#8(((؀ `(  p (1XAˁ `('X,@` -8t( ,Y` h2:x) Ѐ ( Ď`.$`(*`S( X800: FB (]X+@(o( (` @Pȁ`@ (yX,@//F  (X ؀4= X8`%$`H_X `!+`0 P4Ѐ `(`(X#8_X `!H`0 E4`( (` Ѐ ,Y8#@8( HP۠I/ P$ `( (P4M xȁ.X>x9H0+`$x(D( Ȓ!/I, Xȁ.0GPPhG`?H0+`$x8 `]$M"Ғ(``($ pCOXPUF9H0&X$X8^*TY}ZBOC12O8;P5+`$@ (98 `pPx,٧(D GISUpPBЃ7P0+`$ X ?/!h `" ا}ZJ>x02uXL(@(_[GxԶ]  P g  (-y H7x /9!A(v *I(  /'w Ҥ(B!z/! ,~~ H*\Ȱ!!:Hŋ P B Ib ,XP ದB "L`612аA, @d`AI 0A u0FP`q4|@UC0NlP`p4|`a  `=|X1b  (L`P~( ض`A!>lXna‚[@+V81Az "xay&, }AJzO\0y `,@t >HC Dy &hZ 7l?\xpk &h&,؃@,a7h؈xpk ×&P@9 K17h@OxBl ,p !L@@4(4Dm ORIr!B  ] >8VF? L0 m,p(` 10P@DU >8LV&0r0PD @Z ,D|,P?3(11CX!b ? LAD@6@0 pB X@T 0=+0RHa 00?,PA&h @gpA (x0+10 0P3LL 0 DK@-@L tt6@0@+E`# ,0I ML ,V0 ]@BT) @@ ,W 0DJ ML ,P hK``5,`8:R\ $P X,p5X (  S,`  gQ H@ ,@h I  0.  ,R0'L&`@G:h`@``@Q@@p4P `$XRD`b @  J0'4 `@Б,D0A 6, ,g @L@ ,) "hH& @`D M1 ``KX0A <, | `Ѐ  .x  (7X0˙0% 0   C&β,"& pX4`X@$(X Ѕ) @,`0V( `@" HtZ22\ $@@.F@@ X (D̀? Wh |/ 0 @@!,`  .x  @!؀ @) ]] @ '0 ^ l<c 4#2`pXd ,"IY Ѕ|k[8`  @@ 0X@<gQ@`@`)H"  @ @`HP!`@@d p`J6 JPhY؀*X$@=`pHpD,I\. (^^`00 Z`X&P@h Ѐ4, | H" ? P (D8 ? .Bd x`@0`@&hY@P ,`H.fH`@R8  (@8 ?E ``k? RP`9@< L@LD`H$fH`D0 `NB䴋!`( , h 0 |@@( @H 0")ˀ JY Ѕ|`i; ,< (`  0 X@; @@@) $ "@Pl0V(MpS050yP0 @6W Pp@  @b ] P N7 P9Հ@+$`Q 0 @0 0P$0-&  V(SpS ^'( 0 Ѐ 0A @0 Pk 0`(SpS ^##0f1 0cP-`0 PbP ] Pa N07 P9Հp+piV 0P PpDP7=pgm Pk(JpS ^0~c piV 0 @ 0-c`<0V(SpS ^p piV 0P `@PP c0 P1 4 P`-0O 9Հ^p iV 0 @@` ] 0PP b00^ ^V1 `O>` W ^WPf QPb0 0Q+Q^VQe0H P95QPf QQ  P i;+ P1G J i`00 S @ Pf Q Pb; , ` 0n`= PЀ  PAf QP0b;<,0 k Pn <  0 iV 00 05   0,sK8H&^I Pb`#0 P0Հ0 0 0 1 ] 0p&X0b<H`K P`0,` 0U   Q@;UY 0,s PH`c7 0  K 0 10 0P @U @pP m  +1,s P8V0c7@ $S &s`000 Pq Q pP6p2` Q;'bP8V0m0P PQ+! Q, 4Pi C,` 01 P0 00 0!@6J2&!@ D&`mP8K `c`*(`:p;0,W=`V;p,`1 P0 0 0 A P4@E_0?`/*!36FPh<V `0V@ P.PN_\H<; 0V0RH0p2` 0 04@D^k?7 !`HP0@V ` H0 p.^`}h[H>p@VK>=p2`1 0\G4@YrkN7,WPP'0C`]c< 0-AIr}g`L@>H`cKd>p/ P5Q 0\@ p)$YpkN,W,} 1'HR`KQE `}g0VH<H`lK;=@7`^1 P0 0@\703@r|_?, ,} 2`B3 <V21 P0 0u 0`/`Ip]wpmUpJ@܆1*p51} 2@ `,<'@@ 7p_pQm~0iZ`QVH L,0,p0' P0 0`P P\W0*6`E MsxpPPGpm(,*PP `+L00@ P@ 0>Pk0@zv`_mi0sL'p#+1 ` u0! M^ci0\UPJ@܆*p7},0 0G 00C P0@ >1bDB=z1cF 9o܀Y# @8qbć @  O̙TAC B`ƍ P̙c.PTQ#ȍ*N܀[ ` bf2([δi!B-ZN0`Ҽ "@a+Nl (h`?4gXP! 4P"PPDs˚OSРQb‚X`!860XP T$J-f̱CPK2e*DȎ4ifA` N6`` &X`P 4 ' 4@LP!!-85V\7%|!@x5P ( &aN` )T B 3԰C2iL9d9hh+z0a 6X؁ p X (`(P&P *`T`! b-`ŧ@VT(G@@a(X fb |(0C ;!Ka9!h( +|AA|-`a PX`B+PT`!"ާ*MbPA BaE%^LE5!j؀ i b$ 58a%;9b %h‰!B @H%q ` 6`@T-ނA4 ~XQ d*GT),xa(@@" +HÎC KB96.pB|b%( X` )`# b8Bj%4XQ "XQ@``h*`n" +P=)K c3c?q>C"jXbX ` Y0 U@G l*P0 !@"UkLj ?偀 (M G0;a!xO!13l P8G<r> e@@ ` P HB`P$ `@*@/#Q T G3*P8|&`@|*$F4(6 fH39a P p3hD E/$}Cx!#؀ UDL pd (J1@4P D@ d +`.|!`@|*Є0& &H@$#/0 np3h#,$! EPb @ 6` tG;D[ L (Ei8u ؠ _`*Td& j`B?T`& M`x@PAp;0 CA v$'&L &hp(@v:@V]>UI&l`@(D,|ll[85t E&8HN @VC X@@i  3$M&`.4`@|* ɤX ( g(!@Lǀ0@b$l~``>.w$a,&P`-j6 P`N@0$L# Ѕ|P( H?( ɄH@8Q >8Ć J|\HX T)Ah``a&(` 0|l (J< X@tʀ >}\HX3ȁ ^` .Q9`(pnGB6 @D&(& chpLuJ|$H *0A6 P@0>hP% (P@+ P@ \8 6O@.h`<!؀b -JN> J`*T <|,D 2P$4B|P @/E*0A6B G[־ J`*T @`2  P|8>(z O?e bh@s{(pn蘀6p ,/U(@ǻ( x0 -Z X% XSA `<X %$ %$¦ X4(@ (S `8ǿC ,` `(˓{(?xH/EUF>8+`(K= cR  0 0 XQ )@"]UWE0>3+$K=؀ X8R$x (XWp8uO0G+$K=(c x pP ,`( `/uUO0Gh;30-(@( X8$x ( M"x ؂1H[Ѐ8/`]5}F`±4-(@K= `(T  X ["Ȃ,Hс` 8( $/X5GhG`C =;P0((؁9 `(T X H۽$(!P HT [  @(4(>h _;H3& H?X H[$(!P `(qe @(؂3 0^XP &0( L0‚ Lx &^av5B 3 &^8/,P  6@X/ T0!",/m*aĆ gB,L8BLX *~@Tx!ň,XP 2 'l@q4  ' 7P84p B ,h@ / ,C7P46 ' *T-C / ,Ѓ>` t, 2` 1py ,?OiC - ,ЃJpC,0x x` /pB \*q $O9 xЂ 2p 0`>Ȱ6 #ЃJ(q @A,@48 & >=PQZ x` ,0 0Jܠ5O LP x / 0`>B QZ x` , 0`H | $ x / < 0PDS6 z,HC @ P` L@ / 000D4U x` /|`  ? hp0x,-lL X 0 0P @9 &0?9Ђ  ԃ0 W B2@+ 0BLPJ 9A 4d V@l 6(B 4, `` 40`'hHK-v0` X@0@ J<`"@ ( @+`,0 B@ X@XA ,<0@ (0` X N`$hW `@@$``0,h B @ (@ P XВx`6hPA`' `F (6(B ( `H&3G ^ X` @,Pd f@0f `#@x%  , w€ z тBP ` X> 0`7YfP Z@Px%@ ,KNLp xA B0 $ @6@0`-Yf`T`R   0L%@Ђ ,` @ ^j*xA <$ @6` @@J`X@ې,` 8& S @2" b0,'6 >`@ (@ `P|dH r0 ,amHPl  0xe)AfP @ 0 !ha(0 l*ha& .@$, L`)y@fT`k `@ I( *5`V$ 0 `,00!,h )Y@fT`X, x%HA0 ,K@ ` 0A =, 0`@>@ l! 4d r0 ,K@0L[@Z $X,'XZ$`' `> @@>@ l&AP `AP@`@ X@Z X`#XLB0 @@ `@>P P PP#<0 (RB@`  xAZ@`G -xP$,B`` X@3 3(B *,5N̠`@2@@@P LA M`#X@f`T`XjC@`fX@t EhA@660-  03 `(@`-d06T A ` iQ6T V  3 P @W0@* 060^1 0@ PQ6P03(01 &06` V @0 PQp7-P @r 0 )0 1 ! ^X   1 3`& PrQ @ 0`wc 1( P ` @ 03b !P x @wc  1 03(@ 0   1 031 6J 0 Pb@ aiQp7&P @r3 P)!P   OHp @)6  0`2` @ .@ 0 Q 1   P0K&` P asbi 7  0")@ @1 0 0  7c>0 @ 0 S-+7 @r5;!) Q  0 p\0V, 0 0 0b^QpP> Prb ) Q   0 p\0V+p @ ^X n^c H^n 0  ) ` p0  7b`<,p 0 b^&bK0 $ 0 P 0  p\ V`11 P^X6&iV  ) $@ 0 Q !P 0 pX c`002 P )&sR'0 PqA(@ 0 Q ! 0bX V`\0 `P0n @ PF$@ 0 Q   ;1P 0b`F@==J*0 0q)v `P0n C#@PA$P 0 Q  1 0& 560P0V`H7`?@;  PR8 0 p0)P 0 @ @1 ?> *` `52c>+<P7 P@s3 P2+K= !0 a@!0NhJ7,p `,X>+>1P7 PP@(O =b V@= a@!@ )@Dp|U>0,p F\00<1H,0  0 9PB?0 1`V VHp0J2 @1@$@ 0@(@4@Yr`_0J;1' F\,p,;FF!  I^]M>0,p,H`c`KJ/P 0P@ @$P P .@Yq _0J%;1'#H\,'0,` 0 a1 P4@Yq rN\0,>c VHp0HHp! 01 @ 0 Q @$@P  0I֭|UPG%;a*0c>0'830PGmݨ-]S>0@0KV@FPJ @0 @@ 0$`, 3Psr` hPG;1'0c>0` 8P+ Pn1 9Y qp~>00V ` L8@P=0@ $@ 0 0@P31!`?s-p pgp[H>0P0\&0 `, 0 000bn /Ps- pUHp>Vb<@=<P<! 0P @ P 0/p?Np @~c`[H>0@;c>p ԃ0 P a0*p?P^`حk[PG%>Vb<,;@01 $ 7AM|p `x`f0[Hp>0>c>`  0P00r1 1p?sphc`[Hp>pP0s0b0p `38 0 0 Q @ Pp1pÇ*UYt9f;`…K 0`Y`7niҤ 5kΜiЌ-Pf1Hb|` 8`  6|@eX@Bqc#Uѳh!;xi3f $>v˔& ,(@@2HF!Ae,"ƍ>LBlrJb„ #`!#l@A.;Bqc#UC!?~0z(2凉 `9$ '``0k T|8(8c sh31c @ &xbN@(`n `(BPv(H%36#v Xc)@a HZ@bab30I<1c+|Pa >v@ + `` 6`ѥ< b#Œ43@‡Nx& ((` N(`XXa@"-pV'Š1c1)z + N` `H@Xa#!->'!  &X* X@"-~ؼ6Š1Ï9K,$^&v8a (׬:*  Lab rnc (|A *'!! ``N`0k,0!v8(8j׬B5F x6`ڬ:*x`4!|@3h3P"B`B`Xr(`- Tab30#g3ƀ$N>qDH.t ?p0\a 08,0,`@h (@0;@ J L L  f0`ɍ  (0@*(la BCư#$['>FBgC Vpl` XLnT `$P`@Tz < DR f ,? 0` (0`!` |p$Dng`'`GBq Wxl``@$%X@4 HG"L@A< d@@Bx@N``?T *` H!@n30# !dv Mp|+\ @6@\ҧ xQH0 P(s1$` [&ըt PP``X`X@\R` @4yz@LpbE# !/pWIہ+X0(0 x!؀,0t~ xQj)Z־AЂ ,au?3lXA eU#@h>@ Oa Bp`@``H0@ ,@ D,IZ;`cmA@6$` 0HLj; MBA W`p h) lK ЀFt_H0sXB$ 2HEhA@&G 0a%pN I#V!8A

hA Nȋ/p+N`@mx |G 0b` HA0P@g 7|;pCO9xX,0@´@7|> 0P?U@,0@C(CJȠP|l &h@ ?|> JȠZP@ &h@  ?|8 a\(B hY! (P@X ?|8 cp  }DA , ,0@R :? =KX1PuDAh` p /0@@0 ?4 ,Klj,L@C4cD@ h` ¿/h@!/xA,@ TD8Yy  (@K`C O n @.x  ( P#8,H`Bd 0@"aД@N"$8X S 7,F,  I?4` l` D 0)`  PbK"0P 0@ H,(@  X@CZ @c@d@p0` l8 (`x @.x  @ Ph@Ȥ`&&x  &|@0 6`pK pX:P0F(@ ^ ,!XB @`0"8`$Z8j0 , [P  T`6P/A6`X2h 2 .(l@x_+PHA < `8@@?R` @` l |A",@!&0dpA`0ec`` ( 0` @` x!!,@/ Аh ,0#6y |(1@P@PP`H!(@,0A0x'dpA`0dcR> `  0` 5@ &`@ !6͐?"`@Ɓ -PT`nG / А h'8,H(A>@& 04lA6 M6:d `,`pKpzlRX!H".@ 0`@ABXL 6 ! `,`x $ZH`mCPP!HP4d؀@` T(($`NPhYN 0 K  X0~$ Z4D X6` h`!@A,@ 2x *H[8x@ |4$ 6 n $Z00 h3c0>L ?PhO8XH` $x X| 1~d4&!@̵ 0` f@E6 P> @#A$ P@ @&0&6 0 @E6 P>1 #A$ Pf0 \(0` @&0  @'Z($P? M#0 A$ PfP \(d  F8 @?2 > 0 )@0n  P)0& `0 @??`@# `4A$@ Pf0S)0`4G(S`7@Q$@ P^0  P)010  @@ 8 =\,` 0 @0 Pp0nV  3 `P @`8 JV20  PP`- Pf P3 P  @ (X0Pp @ 00  0A$/&0 0nP3 p F P 0 8 >c00 l  P P7F^ C3 p F P0 \ 8 >c0` Q P@!`c`FpP[ )Q F `!X0K'`4 >0 P b0@0D )p! P : X0K#0tP0A/iV 0:0(!@ @ 01 >`c=p l&P P !x \i``b>p&g!0 @/DkH 0*( P  0-? >`c=&1p/ P0*/Dk+ P@ )Q ``~: K`P'`,7 &@ P0תN \@R@,@ @0@p 0`$ P`JP71*`` HH'' "&P 01 :6 7i VK>`0@(@1E|pmPp>0,pF30`P0p p,!0 71p00!cV P= @Q!`$P )^}pmP@;1FFp##61// P:1 )d!!,cV VPp0 $ p(@)@Y r |p[H>60`P`7`F3`#1 0 0@ @DI6@&!G H0b`L 7 @@(@ p.^ |p[H<;l FFp  0v 1@-YI`6* 7c VCV0,P @@(@ErՊ wpc`Q@;ʽHFp!00 p`*4YpYE`2*`4!7m c V c>`P @$$@ 7p  wf0VH>l7@ 0'00 04P-Bp2*`4*\ i L0@0V `0Pp !@1(@>0pr` ~0s`f`Q@;<X7- p ` P 0.PBЍ,,X s L<K)c`F !(@P;Uk pv`i@VH><\7 0#WN?r1*>`.KH1K 0Q ! P 0|!>Pk|P PzPsf`Q@@\07PP #0&90EM,>0.K'0,@L< !@ `1@Pgp @ p PzPs`c`Q@2F @F3A `!`*HMUpG/1pG0.H@00HC  0BDx0P @D2KHm!B1c%  @L!cP` @P`Pf"hBŋ:ѤIU(V$ccĄ(c !0@0(P` (0(P << HX13GM,ẻ!;sҌJ~7 , n@  !@`5H%U*QF(m߄*|`ɕ+L`l``(0`yxQEGDbFME.A~?sXA‡X`0 ` 6`@@PAn%| | ?ÇT+  &`*nC( H0|" +̰CB D/d?;# b`^  AH )`H4T݀C)(c1a +x0! 4@ @`Hb(0C =H:M˄C0c n0"X ` H`` 6b! K*8 ? .)P &x76ЀHa@H@ ,!B4B C0c nAr`X `&(`X BAnPvP‡ |C8!;ր/P &x 24a@H |@" 3ҘCH"3ƀB` f(B4``p  @@T`!AvR(N>iĐ %|@B 2x `a XT " X T$ 3N-"<` 4"P`  ! @,J|#T> ^p`,@a9]p|& o`pP ( t(M @7(TA > L L W l`D`7APPXc `4`+RV^c`+` PrC A dxI@\4P ,@B @&p+6 P !`, {a L@1AT`@ Fh!م.4A 20, 7\I? h@?p a* IJ-i``@9 0I@@4& `,`>A]C `x ȏ (P  !0 {(-%@ `( 0` PaI@V’&~}A@+ <V ,0@?p (v۽EAPu  A7KPXh@78Up|XDr `x@@ l*A6` ҕnns`@ TQ&K\ >!.L \$3H` P܀,8B X8&(J`PԵ 05WN\I[C&.Q9PP#p Zx|`IH~p ,`F@RpH ( H&0kR x D&1+ [ p`7 >`A fi/[ Tl`_@ZG$PGLA`@= P U%@ o| @ NpB!) 0@ߥ.<@ 0?.` :y3T>h4l!UiB7 =pf1 L h 4 `0쩊@|0?Bi}c4 PP&3;A X`D%}<H`- $GRPpzxP#PB((A*Re}Ā*A6i1R x`@-G?(PB01@3NQ`4 P8%H# `ЀXK  ``h ԋ( .h1K+4$(*(#P` `(A( HЎ99\C h%$p +0` A%8 0 x½( HKdX%Ѐ'` 0$A8>*P (B<` `H8LX` `&(8P㣂S؀ X_<` `܋8$Ȃ4Ȃ\` -[ $@؁ X 0  z<` ` Tɛ (؊ %  `@<` `5D ( )p`AK 8, ` `DX` (ݚ ؀0 Xc '`H [̴X ) X+b( x ' ؛؛ `TR[` DŽ lD`cP HM +( [[N<DX" Ȼ XH $M 2 b( H HHH` ` ` Dzx$%,Hx b( H/=( +X`8 ` `H-X HR>SH+P X(@:P `HP=,4f`8؀M `(Gt;(4'&*8 `8- ` qESY4!P ЀM`\H/Ȃ5@.$88 tDz ` S>4kuي` `Ծx ,9PE0C5@-$؁d8 H@ԷX xH"p؁P HG[ p$95>44$HJ8؀ ` }Dz#0x?Mfq&P*,%`P `7(/۾>81(@ HJ8 ` E P ! #P` `(ǻ+p8U}>601(@ H8H HЀؠP%8:PP؀ ` X ȒE[CxFp<90+$؁dX '֋HЀPP` (`+PP*5}GhF`C40+$`XP(ЀPuL&P` `( X (5X>;` =93(@`XUX 0P*  ` c$-83WTTa HY"w vC/`! ,~ H*\Ȱ!HtHŋ3$c2JIɓ(S\ɲ%J 4aF8GO (h\J0 j!z(b%Z  a(| Ą cI P(AƉ  8`A ,(0 P '60lq"]P PȎ,,,p&D8`KG(>vృE% 0`A 3H0PH`1!l00P K1PHXa&DP@gP,A^ `ҋ0$"/L<cXC 0LzT(%I/L9.aEml @A,0A8TLix/L9"aEs i DPNT(E S@aDHXs  dm,A8Z IQ? 0FLHs 0$X,pA8|0P?#S?TPlAH\( 8 ai0X@%0Pl@D P46L0 F0Fi D?FNpX!lP O`A;6LQ,|A,` 0P@ILpYPAL@BP0J@YR!,LN m #:H ]LR{ `N!XX< 0 &0(xAa @3z`K6! ` @P$l`&T/(@@X XR t N0S`8P 0``M T@ (:,@A B0/ ?XS t N0 K`(6!X@X< 0@b ^0 @P,2 @3`,N@ # Pu` 84Ђ` ^`,` 1 @3`,HhX@X<  8<_d8?T@?4`H@0t N0A` xp , p H`Xg M@8@|Ѐ>4#AD݉D' @X%x* @X 0̠?' c?0 <`]Lw'6P (@@$ @ x`-2|@?^T`fЅ/ (xwF&x* ` x-lN(@@6(K̠ _ Pc#,p0  p H`:@`@ >0!, !f/ (x1$i6@$HY  (A ?&@*33p~`H `X@@u# 8K<A ?NL`H8 ?0  @L`PPfo(0 &p0  0N0=` PQp00PAp  @j6 63 P P0 3S& ^0  0'Ap  @P 63 & 00  -O, P0'@gB p  @Pg3 1@ @; SPp P  '0PA   @#э pq 1-e> @_ p A 0  @80 pP P! S0c'@ @P ѐ:: 0. 0 @P-&i, @0tɓ- PPQ@.P !PQ /&i,p0P 0ЍP7> А0@P 0t-&,0 0 #&c`;1 ,KF!&P <1U K 70sVV`H 1@&0 1)0N0~c`Q@q'=>!&0 P @6mb`L`c`FP @(@@^ x0VQ<;`H,  0! @p'0Q 0&m0b`L``c&!$ 0p.r f`VH<<`>`  0P%P)@)'0vL,mb`L``*c`@ Q @0^ B ~0`VH<8H,vLE]0 lA P4$`v<Pi LV2Vpp ($P P P/p`  s`LH8<>g@@ 0 P %@m4(`P s VL inP0! @@ 0/_`ϱ @ pv`iZQ@@P,g `@0 lPp@m43 '0 Pps VL `o0c  (>hT Đ @zo``LfKJ  @@ \ \(301pp\*``6R<V !  1[p| P zi`VKF !K @E0 LPM.09(&p7"K;C``a@p0 P 1 s*H`cw 0 ᅠvf`LK>=_X @ 0  P36pU~c 7sb0@0`L0 @0  P $`1QV0f ` PvZ` H& 0 0 P 0.6`:pU/&&pg~ H8RR0+0 0!01&pGL`Klzp p ` p @z``LH7`0 <` 0'1/:p7`/*` ?0?` p;`R# P0Q0 1&pGL`fv@ p  Pz``L>60 <00 <0' }:}&A0?<P!Cd@W 0@C⟉>0bFBN],֭TVeDM+H|ܐ 8` $0߿DP!P@C!Jm U?~a =aS͕! @ @ÿ$P$-jTǍ;^ZD&>n ,, @` ,h( La gㆍ| ?laNZ/_$>` -`dRT;^*',L@BN,` `` 4 A)טTx3!D9ΘÝ 22`6`yN< X +P#E.R:=‡BP  ` `` 4 TxTʆLx68BX8b % @ Xa Q `v@ 0ȣE.Ec $nPA A*i `, @  " B0AlABPA  40! +Ê-P &r@  X(`(`"@2AP * Db`QŐ倣&- 0 +v` ` ީ>@ة ^c@ <Ѐs' !*XH`L(` ` *@5`8' X; ox`?h;@$Phe X"0 ~! 9= x ,S (@ X·D$F@/A> b}/LA 9P:\,1E+AT@+ DLE 9 x Z@`]D$&`A |0NB@/T Go@2,* *P?B ,QHGjV3Ȁ!+  R;I0;v`0 |0BB*p P@v0 <`4:V@ dg?P# @I@* `|X0s%$ >!VK \( AH v"@ G6`@``? MoHsX",SNjz`AUz0?F :,0?fA vho;y@rI p H`x@, (@p`G KTWc, *h `C`;)?~p@Ҁ1D` m/H\XS ?. PEa PB5\( i Ā; 4`LVޒck $0 T3XT9p* SP7X?(B CzPAw"@w3p 0`X?,nsỳ`D `.g+(N<@ѯ&"0,0ZX?nB,s†*P+( yZ!!;`xc  opp%h7! [7NT hwL (r1$NDJh`H7N7 Q8vrA ; T (?2uWV 0`zY~ 2BGX0\ H?~sGv~}X@& (1L=?)p2@$p>LC@ J}@z/?  0`@\<?%<&I<>vr|[X X1`P)`(X +` ؁ kP (@  XP'`)X ؁`qъ  ` `(CԊ0%x0X#(J p<+``(0 7܉00 X#(`Ѐ0 ȩ`K*8(N`#8=߹X`j ؉p(x aX[g 0@ X$؉v3( H) cN`#ȩKD ((HC IXN$ 0X K NDX ,K$ [NL( Ѐ K (`܉x (IH H:Ȭ؉!8 ؀``(֌(Lp@ #LYcMx"8X48$8X8 `ȩ5X(LH Y:Ȁ80CxG;h3&@ ` `ȩP3XH0 LYcH9PE4}F;03&@ 8X P4P` I,K P( 9 X984MGhG9-&@  `!W _ X H́Ё@ 0 LY0܉p803UUUPPp?4-`(@ Hx  HxP( a(:֌h/(QUMSUO`C;H0& 8 `}X @xffA 0 X:X(@>(4WPOB(7H0& Xx( Ѐ@Zh@ ( X$:-8>}P̈́KXE=x40+`$ X Պ ` Ѐ@fy ( X$ϝX$1h;FpFNRyB;H3&@X X ؀Pfy!@Ѐ `K:P&10$ hKHz &# 0@hIpm`VG z h PoFx>$hCX0Lk PoF0A ,@@CWA駠7H oH n,q0C:0@- cD0P00 , FF\V,0Ad2@ |@ $ h0`AoX5DUɸl ,PC,@A&h0?rHmp`` P@ ?`0,CHhpqL U P,C hO0PaC$P5 2@0@ d@JP<`CP<){[@P`X,A  a | &4L`@B 8Ct`X@`2ZpP/4D"Hkd0-8p{)U0, (<5,@F (&|B$ 40>pA`H LXR`xP|jXPL &( (HPl`  "OP  `xp)` X@@ (@5, Lm*hA&, r@/` L00 CA`P 0P`H`O 0 ^$ * P``@(7 | &@0) X@(@ (B` X&@|L0UhHHQ` aGK EC ,1XR &P%P2P!X*|@L0L`YHY@X@{H & 0 0 @ @\@@Ah&L@  Lh  /y%5 2 _ X ,T `@ 4`  B ,"_P N0& (@ @\@0$X*\D Y(``@<o 0 *Шn>LAX@Z<` `@* iH 4 (@ l*| ^ cHu%P5a ,!Xx0L`T0, ( =` P!6 X@$@g`!]h a h $xp0@`JP<`@hP,BP`D,4LXZ<c@ *@`G 0XAs?@LTM$ @ր)@ P@ 7 *@`G 0$@P` 0 <00N`L ol4LXZ<d 8`@ T Pj{Q) &{ 0`i ` '6h, -6<KP Pr{q) `! Q `i i'6h,0 -680 PlPQjP p) `    @G '6e20 P _P5 000p  0 @ q'6m0 _ P+0PQj S.  0 @ ,2m> P0' PQnn%H  ` r epc 0 @0p'@l  Pn3 H    0 2Pw0> 00 #  P!j  0 Q  p0 Pj2b F` lQ7>jМ ) 0 P j2i'P Q @k/b`< PcМp@ 0  X0H0  k70s H,'   `  0 Pj2`,2 Q A70sL cApP  0m2i Hp a& A7sV0`0*$@ P  01,P0  pm0`C'f f@P  @0 {0 X R,@P0@a67sRK  1$P  !Ѧ 1*`i!2,#@P P7saL $P  @ @ f@?mV;,0&`P@ -fIQP90> sR `Vp @1P 0PE| z0kL< < =`0? 0pK 1  J0s nPP@+ 0P 0AI v`pVH8@`=`,s k 1 L OR J`P`z0P P@@(0]`  @ opZK@<F&@:0 P1 v|2 P``Rn0F` p@; @$P 0Pp` 0 @zjW`L@P˵&P55 0mz0 `p|y$P0~n@@iA $P P P$@P P ?  @ PzjZ`LC H 0  P 0`%O&si@Wzc@$ 07|@ Π p yjZp_H&0 P ; 0cV0vv\%, #`P~VRo@4Pp P 0@P0*cp p ` o`u_K&P  $ PcF0 l%p \ i`KRo@@`0@$P!Vs P p o`V>МO fW%0PW\ i^Vo0o`+!J оP @$1Zi P p 0 p  zP&P 0 12 f p>p1TW\ P&;`?@ P͹!@ @&Q`vp ]~ @ op7 a60a6P{ @ .~CWj/~b,0Ro@R!@ >Zj`zPp 0 yjV>0 fP Pa& Q{ y<P`D.,\ H,``lL0 0 !>ZjyP@ ` ƀ P z`Fp& 0c6 0!02`A6~b` 0A VuPd0  P$;Vo z p ` j`Hp/01mZ P AP #y<A"@h1c aA7ំ&0H# XPć(na<" 1<U*Ң7`x"  Uj0XP@Ȩ,` B 2h!E (DHhαCcD% 0`$Ң 5yE:5kV-`=y:i0HnhCLZ`D%װ "L0m "DHVC 20Dhο)MLQɿ7 b,d (PBHyD69Zt Y6D3Bh X`ܤ  *` &@R-DH+ 4 NV;ր. -$?ᄑ&``H `(`I `B<dNNE'N9<0 *) V ><`E c]V8C&0HD7a Y`ʑ X X| ;dK6A֒EHc %nP! 2 H`s p, V  &M+ ƚ *>!]@1D‰&| 6I+``" iCX>@`B$0#4# 3‡^ 2@P@s x, "@?'E2x NC&  20p )[`* X @`^x&e(B ! @*I  ؁A! <VT\!+VT H@!@€L@?CT h -x 0I(@PDeJ僟'?P ]h*T>؁A <(P`SB h,X$*(@iC$`5?P@*B$$ D`,8[wX(;A ?,<SB X`E"$ }xd@V$,@dT$H9 ؀ nB DPRF H?R0$7x @l <x $$c@`J@ TdF Ѐ bB P(l! P2 @` P$$B X`V ,@VFB`P`H@&@($0(TP( XЂTB b Ѐ(G ,`JQב`P`H@Ж#aT=PEVkM0C6j *0A6 P xh; * @~|I `0R\Bcn5%l |"! Bpd!؀(0L0x c.aK ת0:VP+,7 Tl@cPxJ@ b>7Ё BP(?%J;@0+`$LyX f6H80GPPF`;4+`%@d`;s H 8(W[ .0OXPUpP`CЃ7K-`%@<  H` Hɜ8gZ(8̨Ȁ"CNUpPBЃ7P0+`$X`3(@lxa XH>X /xOTWOBЃ7P0+`$X!hP0,@I h .G&`pX`LX@ȃ7P0&`$x (ȀI 3P$;hG _UXKE3@+̓B@K(ZZ8RE5P `)Lj(`Xh @㱨X&0P<D؄`0REx0@Ѐ`)W @Y C(;k@+5ȃB@K(Z0Y8MX=$ x5㱨`Hq@x5[ $5x<@H؄S \MX=0$f>phv!*deV X $5@@MS \SB- `)3fe(;@XK@MEЃ4%  i&6ih`@+0A9- Ѐ >kEjVX`xIр Xxkgg X Ѐk8e(k-H ܸfl(`X h `k;8hlF) Ha X`m~f&hZ.! , H*4‡#JH†-6 Ǐ !(S\ɲ˗0cʄo1NPX翙@ ]o (V3ʦP XpcL+8N@ jņ вٳhwcL+@`lk nIcem ]L7̱2d.`@d,^p6s,„~%@􀍹{2fΘ%LH᱁F8]`@!h3g +`Q!Ć> P  У1Lѣg̍ A @@ $dPpDsaб\@U@d 0w1VA" wPP @6Hw1VA\ 0O>%@$ ?@ w!V"lr>P@PC0u @4dPD&AD~`Al,0K0u@ D0 ?L~L D"Hl?@ P ?D0P@0Aw10oG$ HP ? -0P<M< |0DtQGl haQRAP@p l4dD&P-0!h00J)Ar , Fu $0d4d ,@4D>dRNqG=h Pd'0@WC6J@`0|GXI0|$p1PP& @6a` `@f, > L ` #2`2` 6a P$ 6 2 (X @6<0 X4@0 />8 = *ha``@ $1H`u |@6@B ,`Y5,` @GX@T d 6`&S&4`C | (@ cLt$pB#L`Yd d` &S@f4`C l(@P,`ߚLRN'n0DfGp)A 0@ Df 40L@!0 BP ! 40L  @2r' 7NC 0` JuY@<@ Ls@ ,`X@<@  Ep' 7NCAP 0` J "h&6@ * ؐ `H D &` `p+ X@n0`D x`L2  x@6 @$P  `0PDR@ Q @` 0?~ >& P0   0 @ A)P  @ wb! @$@ 0Pc~Ap'0 v`r 1 @Q   bi` 0&A$0 0c~20i`<0}@)P 0 @  0 = nHPw cqi`0@ @0)P 0 1 @`yP  P bi&0uG$@0>0zL#@0   bi&0&a PQr~ si`C`0 0 1 @r= nH` 0`=0zR@P-@@$Q1bb 0  P: siV' 1P 0 Q @R @p2,'!@0`b <0 0} >0z`! 1P 0 0 @1(c0s`fVH0 0;V;0@$@ %%W~i `o>  0 PB @zjL88K00D7{0A PzRo@z07@)Pp @ zjWK@H`0p&1&0 1T r PRoV %' P0 0  0~Fp0 İ oWp)C< 0k( P l;T B$  PzRnp z,1 0 0 g0  N0 6 Ҡ @ p udW`<!00؇ 0@T ~i Wtp z 1 P0 0g0 @ M 6 Ġ ` yjW@'0&1& 2& PyS@Y P` a)>@ @$m 6 Ҡ ِ p o`ptK 0&QcR P ʫD\0o)0, ~6 01`s 6 А 0 oeK&0 @$0 0`W 1P ϫ \0RRl H  P g6dHo@ ؀ א @  zzR>` Rv@WP!@s`<`Ll2` -P~FpVo 0 p P `*K 0  `rP `(' (@sp2R2l#0 2 0g`GjzPp 0 0 0 p M  Po@``H Pr0I8PY~&@s,@0a@Pd@g/`op p Ӡ p y`>` `7P>%G0l 'j( `\0H0oPP` 0 0 1 P~,`[ Ǡ ޾ p ɐ @ u`,7<%7 1Y|c:`c(0s  <u PLP7 PG``u@ ǰ p : P ƀ Pi7`P00 1Y|?` `h0H@,VPP @ T߂A`oP 0ɰ: V*0@B$&0p`hV/6p7PP ayF -&Vo @ @ V*0o P@ဃ (`D HQ "@9\8iR +oMT 6L`?-AC*XQPJ^Jڲez:Ȏ*B|Ka„+8@ဃ;w@@-JШQZak;_vć+u*MD[  ׳V BVAWz%;v/RArC `?T`?(PN(A#`+OxHT&>L`o & A? 7yH6YpM. (x X@r˭ (E@OqFP [Rh !R1x(Y2o@BJ/P B L" ?:[\kDZKL@ ~QBр x? G @TA6` 0 0I0k `)e$;a >@F$ ,7D!7`D%@!858AT`")N$`A a%+/0A* Gp̒p,` $ @ b)7 L 0`sq\k=46 0Ed<`X1puh` Hj#k%1m`@\@(@(!P Az @_n7 ,Z D"B `M(!5- A­ ,ZɵdD"?H0y!#Pu ]@ i (kSR hZ 2)@Z@`)>N` b ,k`ICB cno%/w^uVVkA@,- (1 b (k#S'iAI#Eʕ%'tD /1Pa, #hc?d4R 0@6"F 61…?nvBiag"12"h=CW2P)`Tj d[{9UH#!oA,,bPlfW? P(!sH$B,@B8!E2WQG$2&i0PpPu#x9D 04D$AL!sXo% ?eD0@I28`$B$ OD#^@L ?L's 2 F$W@p$C9C@L L s ?l l ?D?4EC@L`DL#s ll"aA9( 'Q{@L PCfAρ ,`,0u @ 0DPGpeP T@@ ?R?M8Fl 00XQ Bp/P@fpPgP :A4@}0V#}{m R!f  ,`e"ّ^BL`@& T@  ( t(0ER0`^@m !&P iЀ*@ X*03-J.P|=@ PlV0,` B4p7,V0*x` @ T`^[0\ Ez0o% P2` X@ V"y%+Pjf4h  ?PT`0C&6 6`"rR8t ZMk Y X@*00q (@> t!wAPx)2 X@ч(*Ё x@50` @&. G.d> ` 0`TS8d`@:0,  `@&` P ("P 0 @"x$B& , (А0a`6DNGPTX@R@`T`f4P ,` 6 ( $XA0 0`l9r`@:  ) 0 Lf@&`&T@0@Np#Ѓ , (@\ @Wf(*Ё,` @A  h`@ mC&,<AN 0` (@NHux@:  @V(h` (F '8mPG *` <6'^:<P$*0A`؀(@#1` ( X *3` q.'^ KTX 2 @&140@#6` ( 86 ` %^ K\X Ґ,@"i ,@,`H$G0B =Jƣ@ xpp/%. ,` )&@ D` @` Q 8C&h @+N9,,  А f0@Jp Ѓ ,d<@Cpʜ`A,J@ @$$$`*  ? 4B%0bbA$   /{+Y<0 (@,`0@ |@Gp/=+Y, Nf`  (B%i7AB@!~1A2R5 p  0 1 d p5 0  ~@ip@''! Q@Q; pf ~0i`}0,xQH'J;p0 `&>H 71& pi`#~; f>H 7 0 @x| {i001p   1  `& P  {n 5pPP>V'0    1   1 `&>tH'70 z@a`C~P; fJ n@a ^70 )J01    1 00 ~  77P>zH5 P znpRL 0aP0 00p ,1,p @8n <5 PБ虞J@`aK 0PP  0(c0v0jWH0p'R VpR Px(S@F@ J    P 0A0N @ p Po`pL<KKpR P1(Jna@s@PP A N u`RC0@pR P<2)x#\nt p b P1  J @+PE ܠ P Po@*L0@pR $1_Pna@0 p c pP  @+ M0  ڠ ΐ oz0f70 q8ZQ@ 0 ` 1   1 0U0 % ڐ @  PY`pL00`f7 @ % PQna@ 0 H`0P  pP 7p~ 0 q ` @  Po@+K}S%Z<"\ Ju  a1 0 0 p" 07 Р @؀ P udL QQ <%%#@ \ ` a V Q @+ P p0*o ـ p p L  Po@j<`١x%2@%S_<VC o@ o1  @+ 0P>yp p ` ֠ L  Po@`0 $!4!E<<V&Ku `pPQ @ 010h&ju 0 p ʠ  z`,@ 04!Eټ<Kp R@CPP P@+LyP @ ` ` 0 p P uV 0 ~)ZP lT2 h 0K`0 t  d 0@+LoP @ = Ӱ @ uH00#@ =( s& < R0  00 I HoP @ @ ۰-} P V  AAFARC ~,@+*VP0 P@V0  0>o @ p Ӱ >0 AAF77% {0`&6 7o @0 PP dHo 0 p P >!0l0:!$lT PS P2 h n? ?7L Kp`8N&HyP ǰ Ԡ f/æ; Ъ#A77A%!p wEPB7V ;p  8 Hy@ ˠ Ӱ @ `[*0~H!$ $ @ ^IPB7p> C  08 PV @ m s>p*!0aJAA($< Π ^@IPiK,.' P@ ;0*Qop s0U7*0P(P rd_B2>QiR00N`A  &L'P$P *Pƒ  ęSΝ}L!VΜ'"BؐA*qD ~@0`AP`60B}QBxQb: ,b +@񒤈?nϤJlp!e6(P3h!_Cd(01O˗'`PDVFuqjԥ'?n܈:*q"D:נa{%8 F>   0B 'fr&~p" A|J&R ! 4""+g\ I)'(` 2X BP`)e1!|D*> a ,h fgj /4S``dR XD*>\p""m`(Ml("\K X` |Z6! SMAnx#DRf+ 4""m  !% a`4[nD(xC7z0ahpaI *f[Vz~+4[hD(:3t%H$0nh!\L) .xX`M3#?\΁T! 4%g[/`>RhD$n,t$?f%L) . 1ug8LcR$yׁ%|x#D@\/B@ .  !؟0 Dv>;x Ā} ` T`hY@-JXL y@@B7` > @&`)TC‡S` `H@X? xX0Ī٠/9@A> D`?x@ pA?Ʋ  ¾7!@" {džJ ,`, 0 ` L@roKB D`?@y@ ?=X+ @,`K@&PP L (@LzND ?|0=X6 Б B`&" #(n؃xhH@400`@&'M  X@QBh |=X6 0$)`cO5ӎ>p ,@[ K)g Oն-B l`?9BTb+Wjj? 0#>HĀ ,h,XVr Oh7 Tڲ!@@! RRVBHliX'{|!ؠ \hCԠ0\ H NpXA K \ۃX*7\4 3h@ VD0\ H `Y@>A T}MJu #\>/.VH !8`guDSPC+besHE* itE)6!@ dȱ0 JQ8/_)0E9(XMJ9 <ЄFbрt4 b 7 WL+ ȳ:EYX@IBq1 @aDЀ3Q Rl"Âs|)0,?AQlP: x%|ǎ8>aZ0ʘfANDuxr|& J:b8R 6WR eG/e`k(/^ RT"Ȑc) `W1X'˷Dzp ?P0 +` `H1|ዑD@0\a 0>!X]+X6 P# E\b -ьbcGNJDux0P^):09cvP`$@CLjCM0F21 jPC8/x RDBx@ H69RcI@ReH@0MP@b/zq eP֠4q _b@2` "Qd\ q &+Ѐ(P7@N W_Xi=pie8^xRA0 H m"BL#7@N WcXdAp ` p,@M (@%@B'`BzXV>0A0\k/0  ?F//Դ8*)@@4CV??K, R?p@pyj   z#+*1 !P &Jo C | h PW & PP*1PL 0@G1p"Jp 1PkG h Pa( PP*QgHK 0@0g"Jp q8p p ( PXR +G oq"So`` h Pg0v 10' F@tC` XHv 0p`tR @ P8 ( Pd7 ?0~@oZ8'0aR *q i  zaH0@ P8 ( P@0 S @ Po@``C0V L *^y 0 za0  PG" Π ِ P Po@`pLK00@Iv 0 zp@ @ n PAv B ڐ 0 P Po@`pL08 0y c   0 i 0Gj @ QP  0 P uo@`pL00@ y p zdP !PP PX  @@p ހ` P Po k`pL  Qa@u  P1& Pg8 P ` P P PJ` 8 P/ Хc%zdPP #@,@jpP P y @ `@p P udRRm%z@l0 Z 1 & Pk7P&*j @ @ ` Ӱ  PudpH`Pm%z@a0 Z" 2 PpTP & 0@ P ̀ ߰ P ր P udp; *QEr;tKm%`,7l * 0 0 ! A (!u 0 P 0 P P u@Lpuۻ0m%` 8p.`b P`P  ְ 頵@ p  P`  лp4QBVj`   P`P P ֠ې2 Ӡ P PLp"Dܻ h @V  0l@  P@ (!y @ ` pw5< P 00&E; h-`,P,  0jpjP @ ` w\԰ >P\;;E; 7&,a0 Z op0*Q[ &*Z @ @ 5w 0 € P,,(p4 73`1u  *00] &*1y@ @ p2` >P0]V}X 0w@ ` 3096, u 0P & + VP ` [p/!*mY٠ ` ` 3@e/&W0  0Pj ( G ֭ `[7&!}m( E@]3&`0 #!j0 Q`G`j @ `cAp( !*6 I@D`( 'P ' 2] *QP `;VAp:&&+^= : E@e3 ;P  upB F$F (0*Q `/_鱍& fX] 07 1 P90(1W' 䊮jN^P 0 (**- 07 1n 909`m!' '@`뻞0  P*mю*p(` 0/ p `9ѱm!'   *م2  0@/  02 _ h/** o0 , P1_00P*t , _ pm:&!'p0010l/uޝ__0*,p 76!@!0 pp?PO`Bާ_  p/N(P u@0P0tQO@  Kmt 6^@ƒ&Q2lԐ„ \SflęSN=q2H0Pm``0ZݘXEBH4)$PtȰу XFx@|WgQC X!0Zݘ8B4)(:dl"MuZhҥK'-Itd@EBITώ(4D@VC,@ggZtژ2Ǎݻ0aCD.|c2T`e0O4~aŔ@ 2`": n# *`)(`/Do⏹L@a`v#@T`ȪЃ 2`X FDR= `'TtÈ)&`Ay# 6! z & &BcM7߄3% `'TÈ( *0x , ȪP "` &⤴RKxB=b* 2X` BG "``W_A˴xKb Xg((| ,؀ X lWs{ B7`p ]*H˲b*`q3af8t `(Y%4hzi)`) pvWf6(7@& ,eF7@@6 JX0"@‚)zm7( & Tab8X# ((V#\)ژ@ 0XN"0abJr` `PVtYHD@x 0b +X 2ۯ P~mqY*D@x 0`ba ȟ$B#~ op3fAJDB+0A~00L0&'Da O0pa ]X@U4Ʊ,HQ Aox & X?bRVъW+@g/qxF3 RT"D@2A Cpяd ]8-\Bqld+DQHux) R9JR2 |HАF s`8/d QT")@ RLčV?ԀHlBĀ6Hl\cԘ2WD) RYJ3 |-E3ai߰2! _B 0XxIL `OAk@0+D'f ^$Ӱ7jX/^AJDu @,dQ h u " RP5nc֠2!WT"v`,@o%@3D%H _,C61oP1^J"L?0cVֲlf5Yv @" +| jPXGlNcE%h`Hg;ƭEM@ u *AWb0l8dcE$LxIr=+rV he+)^eLðۍ71 ao?4` @ o%,`,B R˘56۰0^4C!@<p7qu| yD%D _(Lg ez ^ 3qe./@GP 6AWBxFqWD LXws7[VP 61hRbLD(ȢgJW:D)  H8 @:DLНx@[,0$`Iu@?T `,t7K `@&` x;QUkFfR/0 Y A-` "`^|ξ+k' ! ,}} H*\Ȱ! pHŋ3Ӏ  4I>EzĂbʜI͛8sɳ$6ƒƞH*]tt0 #ӫX\%(+Rl(`aϲh.N< ]  ,L8(J C0 T,Lr $C͟JP(@ѲI HZ-@ڂ< mAāްIj+=2hx0 $􆍠P#AL@o رVn@,`(> $͟JwL(VPPB%? AK)b{,Ma0-,u2 *J ,0B#4@0@L%@в@0 b˓  4@$4N@ S1І., ` *q<@H`0DІ.,"Lo$" *L @~D@DfA .H L a$"ʬ0 $u*? qj R*hC: 08@LQh,$ֱ20PL믾tb ,jh,A,@? A.,A x<81+'L,A.?`rr;|K VXplD"0I!#'#1 W9h90]?V"H 0`lC  @r#@Bģ ES @]0l8v5 `t3r &at@ a+& X@05& ptk #Vh* <?Ha (A@@55 PICV"H 0`od@Kjl@`0 0E 0H`6`<"5@IBb20 ba&`Y ` wl@4$&%2@NǣL`(Xr`@L h1Ypa: A  0`a 9)Xr@!Pd! …\`,@ (oV@($` …\(0 @ Ho4+ D!0C0& Y$a@0AUQ H,"o` @B00`@HLBt0 D $XA , A`rPb L@ `!t,(Hp@!(t`0$Xb Ldb`A>`)6. A # D``"@L$! XB t@ʲqP v 0@ -90`HHL0K7&YC2oܒP `@X,,!x,ӕ$ Bb28 XB0[r`",?8 Hux oxCg?! E$P$$yL1Q(   Po@`L` 8~ml P r111`B1A k Π `ـ @  Pu` P8`m@ o  P@@11(A ܀z uoRC+l4XP l  { P#p1A`B1h 0`ـ  uoR8  x؈/0P l n `0*!{aZ ` [{` 0;Jl[JAp7:`/*`QL`: Ŭ 3P0+!QEP+311 0O:p6`Ĭ|/`!aJ Ŧ 3P)00+;C++3C1"2Q 0(1( :& Yl ))@0*! p!B<+ <UQ12`O,&`6P  ` KP0  `2 # @`!Q 2(*`(`iP ` ` puP  P+p +02 *ltP ڒ&P* 0iP  0@ MQFApMP  `0 0`0+ U8P M!p &Pp 0iP P0 P +Mm!x[!p &Pp*@P `@P nCn  `^ &H(+a^ @P3Dh t`@0 ĝ!ܒ.11p z``P @$1( /^2;~  b<2u@B 0"ιnm b P o00" PLP 懝00a P0 K01  o02=/1 K0]P '*0]0IKo K0]`' *@P`z\n0X P 0z@a*Xn`P-!ROXnt`ާ 11 `ն/ @ t`0C1H_ FR 0( @ FLp/@ OB ,`;`a!Kz3$DRJ- 6dH`\ZI:oXc7oPKM>߀(|ŬY3^BU$Λ7`XF  J@Wn PLl̚zER$Au#E &8,YrdZNƼ@&qClxU) @uؼ #fVA d&\pG.|ah`A6nܼyekV+Q" T͛0Rࠠ4Arݿ^afV9&}ܼa;Y^!H1 2J > 'PB,0c`ƛqsȹfa|R*  &`*1Gg !gF4GjY^A7J*`G/lވYqf/!odEW*ID@x%Z PC Z D"Yilt馛jAF_dyH 0xHJPW A"^9fi٦s)myF_^HaÊ&PW15$JDŗefnUrƚgR* 6 Zj05$JDŗefry'ayIk9Q*D( Z7XB DD*_ymґeYgEH! &@U~z&h0:f<Q^Ekae}imFJ &@f߆h[2$JDyŗeeyQA,@;'r;nPHHyafFm7 4/=3lQdkIujye3|AB@ ,޿?|!7"![yƚjЭ_H)d*A@a `L@H"A R &a.(!7 gy`a >B0+TA > n/P pB" `4@7 h(P&Ц_YL@Pэ7T 89 P* \OoL`:HT5 d@;DA$o?&0d&! , H*4 #JHń \qǏ ` ɲˋ6@/s/@%(ՑbAx*}`QaŌjm`QAx 1Vp5 0R@1Ō"x;2.t!f K`Za R 0t К D܀X0 #ĆL^ԡԊ d\cr06u(ڵ2B @1〈\f3@9fSҮc݀P`@9S,Q%(3M1@i,S ,QG"4q@.(4h8"m2$tԑH((c2aAȈPF)520HBGL0XL";DP1T5Fp0HT"-(-od4Q騍A$n,!b0N p`Pe4@D<*A$a`b!- P;Ы&w0$`0& A$J 0 %tJHP;1,Ȓ,Jp3H 0 AF("J!0PJp3H(I0!( 0/ql Ip3H"(I|C2De4To,0#$D0<" *u0A D0PZ QJ3H"OK H1, L`Pe4@D) 3H 0 LBB L0@3XQ < X $(_bE ,/ R >P~,~l2>'/_bE X߾ @`a$ $t0KXA X @CRP6:DRbfw +h`}W0 CHD(° @`  # avB`hHp Ia(HZ<QJ1q%L (2bWJ dd>#X #! d {bKPd$0 p0` L$bKPdd<`}Dl@\Hb  @ RHF3 @C.r!%L*R!`H$crq IXa0WА ddP\K U4d0`aD Rڐ Za XU4HD6a$8ڐ Za  ,`a 9PZK` TĀ2XV@ @,dE,e@I(1 V(PX P P61 (,0QR@ @| 2(@CP$ P&(Q)@ 0QA `Ŝ0 #(x@aD:b0@ IQd ڈc(\8P$ ]A0H@0 @GFp.X lJ S p0 \ @ -f7lpccX@B; 6@ \ @ -f7!p0(yFx@ ~?bD$Q7a;@7  0 uD+(a $`Nuh6q _BD@+\! n,P=E`t@lHL,`|3msx(*Ao lz1?С1|@ p&|@<ml$* Ao0` "`t%vi#0`@~$ | 6sÃظ1| QT"C0H`/1 $PDϘ.p 5*@p mX9!i(CxE(* Al x0,pYHuHD(l k(`@v @f3/8eCE%"!@ԁ ap1 h0h! :A@0ae$b(:D!F6;رj /"p`o & p  ՠ  `0 p & H l 4j 0   ְ @R P>0.Rfy p ,0V` @0 / h ְ RR Qp`9.p 2P l4ij  ` P))P Ȁ 1P`ٛ w o(5o9 00Нe;P P P۠ Pp*`Ph 44 .7@ P Px  ip7*!0: k : P 0P`9 `V P Px հ i>p1*hY0;0 ` 0 K@`L`P @ 0cPJ7p/*`g0;0 /u `I 11V0f0[PGA?7j&*Z s @ >T  0 P!`/ z6Ы&Pq.0;0@P `P*Ы6D[:`+  s >Rp(`P 0!`*6`DIKM s 0/@0 0P0j(u۹zy s L@ @ (P0w{ @ @D P 0 `(P / л ̐ D P0 0(@/+[ p zPL@`P Y p zPL@zP p /@@$(  $`(HCP$_0! = /K@P  @۾= "0$P  `0HC  B ,@&| 홞@ L @ x 0 $P˲0` 1 0P L`/0(1W @t n Cp   PP P* P q Q q o2 Pq6JPn L006700 0p QTHC@/0W6JPopW 0700 0p QR@,0p n02 hs u`p qP P˲ 0pP 0,;,p!@ za02 q u`tR q@R˲0PP ?p~@PoW8'0"80/,PPoaH0q@R˲07 U @  Po@``C0V L2 @`VPzd@  P7'0p Q P*(Q !( Π ِ P Po`pLC2 @`c a@@ 0 n P7'0p Q P*(Q6  ހڠ @  udWY 2 t p zd @ i 07'0p0˲U 0:ڐ @  PI`pL000/S1is p z!u@ @ ` qP PP  @Pp Pހ` P PI` C 2\ R P @ K00p 0` 1  P  `؀ u0aR2 A\$zaP 0%@, p 0` 1(G ܠ @ װ  PudR( h$z` S ` 0V (QP(Q*(j @ Π `  P a F Ю6h$z <0a0 20p Au  p ߰ hk Ϡ  PoRZѷ~ JVp K0 2 o `.  PP !  0 0P Ϡ   Pd0  {{h L 0!a V @,  PP * @ ` 0Phk 0 P`, \/zP*00 0 Ю @ 00 jP P ְ AԠ ǰ P PL5< BV!t0 2 d2 fP P ېPӰ `0,T|  `,G ` @`(Q  Q po @ ` @  o @|<h `p(/7 )P' P  Q (*yP ߰̅ @ G@|ѳ  73`6/p0 0 <0  Q 7`y@ @ ֐  i*G^= w@ ` 3096,  0  Q P* @,VP   ` ߰ B\ [p*P_=Ť} A 3E/1 P p/`!\  ̐ PI@IP9`/`* 0 Rp  ` Ľ ^ P* P&pZ @ z0U7*.. A ` ΐ PD@I*&`,  'P KP P* P@&HQGAp7,*` ΐ PD9`/&  ,P(MM",0 ^ P&j& .  ΐ P=*-`!0P ",PR @, P0 1 P&& 7 9P**P!+ "R^P(0@A((^ Q   P n6*,"0P p=_P(G@(M_O Q p` J`:7*`!*P   t_|=?_0 P(Q*S? 7P &? 6f~,]`o0 ,Ppt^?^0Ю 1  0 7`7,!&"'(ptGp^0IJ0  p:`76(P&*&@)a„d@QD-^Ęb0xMnذC(BxgҤ7&PB2T! Qҋ  `z Tllӟ(u|K&UbE :_~.(0^}pԋ,q)E7^@E!.UD) <_~!C2XP`֭]%|c nc(B|OI|0K2 0tAs]i*͋(^~А?& RaB!xjPa`  x-@΢"hcS# *" ?*IBPBI & `@W` V$c $(HA*L3 & E)T*=D BP!#I & #*sxLb.0cB0A$@ b`(qp3YDG0\ CARuЃaR  nh#+DQNu@ &E)8D"" p ]B lE%:!@ya`gDcոF6эo#D! 4 iT1 YD2A 8R7VҒd&8؄.e#8eE%"!E! R0 hҗ%AD)n f47ag(Cx(* A a4 D':0+AD'fb$Ӱ6YjPCJP5p5ࠆ2|H @"p–ִ6=bB`<" +| j7A ao8 4@@ _Enrz,Z":AWB԰7"uX+" Hz'\0g T`</ k|cݭ3|Q =l*4` / A (^ a(~0^ =l7x ^ D/f_ A o&6 RbM! ,}} H*\Ȱ! pHŋ3pNJ 4I/̱cC0c np@ @ t1LHDB('r00A,Prf-tb,1dG"P-0h(S@'0`EtȐo@0`0eЉu! H0`@@eЉ 0P LǙl1oPi v,Pr-I 40؊0> P PF Xg@@PQN"F`~";!P\dN\`jr 0@HH((@ `cA&Lv >0@9Y׆0`, ,d` F9 P@ @@F`<h` T:, EzTH`@6 XiS À l',P N! ^`D`PE &x2 <~H\ (PA@` >&AN@ H@*'m Wx(H <0 (&! Z`|#` d` 0q G 0@ a(H <  `9`63&>݀!, pD`o p, r pX@ lg&xA L h ` X` 0 i6@R\A XH\ ( , @p(D`Ð8!c9 d8&PA(GH < (G ) !@  `' 4dNH`o  0r (r0 8 >0H@6@@9 Y1@2 0 0XxjH $ (g @`L`@ lg @ 6)RH)r X@30P(dJp#xsHVp!@`@mS @c `Y& 6@$@9 Y1$ @ 0XrP)p$Pd @z Y`  @9 Y@1 HL ,?0(H < ( Y>3 0 r P` (rE 0`R9`CA HH ) (g@6(G )  @!  0`@` Г ,H@c$& D9X&@9Y@1 H0@ 0 s6P(GH < ( ʑ=AQ  ={ 80 JGP10psV+  )@  30=n 80 JQ 10p~0V08ʡ(Paʑ= PQʑ 0>b4qP3Q7z`C00Q(@ Paʱ  P N(80 JfQ7{ a1+Q$@ PaʱvQQ  `+Q N(8 JsQ7z aqK Q$ Pqva'pt  b L2 px1C`H@Q$ PqvQpc0zo`L; ;`V0 P `+s?{ t=pQ$ Pa0 @!`( P1w yjV@8H' P `+sJ@{ K a,`Q$ PQQ @!`( @! N p PY ` L<@8p4 bR 0 PQ$ PQQ @(`( @1 `} 0 ̠ Po`pVC8'0 P `+sJ L aX 0 @-0M0 0ܠ yVC5p 2 !u ױK` @Q$ PQʱ(2U0 0 ڐ uIL08p 2 !L `@ P  0 @1 (@ pv c ڐ 0 ujW L@p 4 !L ` 0  0$ PQ0 pj 0 ڐ 0 yjW`L000 00sSbCpd@%K01 0!@ P$0*`o ـ p p @  Po`pL0001[Sb0VtCl P` QQ p>Y ̀ ` 0 ujL,0bSb!@&`P R PP @& (@QYp P p k Ϡ @ oV( 0!<`0`lgRH`  ` qP(@$ ZoP0 π0 p 0  PoLҒn< !<@VP0`@ aQ(1jy @ 0 p ɐ o<"-n,\˶Nb@ oP   0`@ PaQ /`jy ˠ ,אP  Lpp\  s,/;0 0 0 '>j p 0  y`1`p S c/`?JPP  u=c'@&QY  p Ң| `7:؂=  @SN_PPV P K4&0/`u@ , z`10:Mȝ1 ` Խkm 0`< PaQ !`P@oP ǰ ˠ p @ >!0@$+  ̐ }`\0z 0,0 `Q  `P P P7`j z0Gp*m >]ȭ6 `r m\H 0 `00\ !0 0P 7Vys0P6(V m\H u)N4 p 0 0;>7`/&{PN0 0&P p`}hPH 800P(@F0P PpQ ,@ }@}h\HL0 )n! `2  0P  ^Z` 0!Pp @ }|gp[HQ0 )3`2,p*H_P2 ZZ ?`1 p /m0cQG)(06 ?B1'!`@ . *0 S=0 ` P0 ? sf@VHpH {@(0IPǏ7XP (L@,P=~RH" XP $5kE̙3mܲ$DJǍI8qG1XPb q Vl &8dVbHy -U@3?rʼn>n`qBa ,PŏhY3X "hPTb*F5-vDB%*N8d%>v܈B4X0A?K jkV1[h~?JD=I._F '@ذ  :=Z`4`x1-2TBC)h Bv!@!? )"` b`HĊi .삂WD e ." $ab`A򛀁 F3B Y( (*8JB3b!v@A "XΤ9 @UL0!|H$Q*A(!# !@`H`*%63L^ViU`D&$V8®!GB n`A,`Xw `)! $6 *h L`"I$8\T` w/kD "``8 HA(P\%&`(¸=Ā9* , C?a#3*BgAZ?Шm7x`!|80%%!4`( `l/Z?h)(n PA-<@|qa=a*/`(@"`XaZiMA X(r=zp 1p`4ڪ ` 7(>|^ &X`@ H%@#zR#`سle+`P=)` I2 ^l X6!@ b` $@#-D? UCԠ0h H @X HPh$ 2>0%7A ` 88Ph[@Pd*.: `>H,}PE0h㑬"Q7 WX@@ (@F\ p0XJi<"QK^ Ljp, 2{6 T0 i@H&":^dpp$ Ј:14 h8&":A `  ПBߵA+9 iP,HQNDyxp+0a0 @=p#A g4+HAMDuxp&`P >B, `Ed1 0@nLJ #l@X61LO ,;H00@P/z0 D-@L,`h@!d `X@>C LH L,P@'@k ,P DW! ,v$褗n =>B QD &lpR ORCq@ p>> @* 0P@'@} ]@ h?V 00hY 9HpaF@d X@^`R<}XO"<`@ z X4#0$(B0 p l (@8x>^v`&B& = @ % Ї>L 0D-`C@$ AP| LD @#X ր)]X$l<? 0q HA~`0H@>bH`d  l4L <qHA~`0`)&FPBX;V{  l4< ' $2x@ xE <0np L ` x` (@6` hx  ߅`HD RP! E F @00 :L`H`/ '`|6P< XϺַucHA`,` @  L+A V  l4 R tf 1 E0`8|pL`@ @/#,\(LvaG`"8w$6` `` ,` '`6B` Dp` )E`pP 001 p'6e`&p[ #+P0IP6 0 8, 0W7 0 p#@ 0/\`#@@ p0O-3)E`p0 0= # P2X`'@@ 3 0W !0 1 IP6 01 0= Pl/X,p[ 0uNJ>pP)PE`;, 0Pl,X,p[  PY&V`0 01 9 6 01 2=`P   Pp,V,0p[ P 1N \`H'@ 1 6P6@ 01 2=`0 ` Pa,X,0p[ A/Vz10)`E`p0 1=p 0Q,X, p[  \0H5 1 66@ 0!>, 0 0 0 0,K`'jC \0H@`?`pP 7= `0 0;'Pl``s '`H'R0 \0H<KP`?`pP 0= P@ Jn0``L<0 80 0 `\0HYL KP1 6/ 0!0&>/ 0 h` @oZ`L<0U@2 h0P@`&1 6/ 0 0&>/@ ] Đ p z`pVH8Pe+p: pc0P@`is!``7p=?A0N` @ `iZK@z' 2c<VaJ ``7p??`p` 0 Π @z`jVZ8'  `h0P@`m0`7`P 2=/@-S7 ; @o`VH@0O:6c<LocP 7`P /N/@ 7| ڐ ̐ p o`LH<0 hPP@WzP! 7PQ -N/H0w  ΐ P o`LH8  ! `hpP8Lnj;@  7PQ P(P?/*pV`mp ̀ P 0  yjZK<#0 ! hP,<`l@o`'0P y@6p6AZ``x p p o``L< ! hP HpaQ 7, 0P0`'>Z`v@P Š ʰ @  ziV< !E#P @,`W@r;` 7, 0PA 6pyVp`vP@ p 0 jZ; P PhPauR2`z`'H`V`oP@ p P P ` oW1` 2 PE|0,`P u`'`R`zq`=yL`Zj ` @ ` PoL  5 PkpX,(7QP u,!0  @ 01 @6p7 >L``o@ 0/^P o@p`s_SBcPJUg0o P u0z 0  @2`E7/Q``o vp zH65 1 @~~x0s <zq  2`E2!;Vo s> f,`s 5 !h ~o  <00 0p V$(P7Zo 0p i;065!6 @Ơs @C00 0Q0 ,`E22>`z` ` `fA!0O 00 S ̐  d ~0jPL;p ` P0 3V$$ 0;V``oc>p/`R  P6p`   soP V <`A P`q W` TĐŋ!@Px0BVVwKG^3 vD 6f̈'BzT3 (A`!G)P c '@8q„   Phv`''` & ,&P(efO8dB 5Q n/8 +@L[!P(@!'@0K(`|Y!TE)$;УTDI $5࣍1`" |N(xhm H.R-7ũ T7f!W.9qK,$;УTDI >hÌ1 |4N0!  h`Sk' B 5H)^ZYL.$B9=(AD/tm<0 &‡LcB`6 b" ReEN$9BHAH ]q90C +‡Ll(`$4X`|c^ᅔE!!!BHAHh>q?^M +@LcL Zڮ 4MxRуBB TDYd;pF!D;C &‡`l?   $.W*)BH7EHx jH(D7~ ĉ q;fBl` (@8G ?h|[KT5$"Ce5F* V@b ,c& mB *(1 "Q A j#1l70Phҗ l2  X@$``7h `ë^H;a [ @0 DNp H`&5O*B$X_ƒ*C&(lCxˇV(>q;T V`?` H\j &p/<*\OBoP`& @ Vsjg2܀ |xĖmW(Dޠ0h Q@x@,HOtYp,XE"oP% 8"I *+ whD# Xb&"@ j$&&5 <X `3AyDYRD$|81b`CI'FXX ۜ BPc '&$x˗?Xc ] r %J|È `Yb&   й Z@1+PnhX/c2%c@AaA Jwy,f  ` v&S|LƁĊ4c`hyL@ MLd8`aE, ݆  'X@@U =İ 8 a`  $?V1'PP3(1E, 8 aRX a=@a0P341E#P0&RX , Q`P @U 0? @ <0aX1@p B(81 0@ 0 <00h0@-Xa80 @H ?.,,'0PV 0@0@ NL $n 0` @01 ,P7p1H 0l&`Q D?@ hC @P \H,,T@-@ =p Q ?@ l+LV2@1l3*D@, F,Q D?@0r 00C @kH`\`V!>@ @>@+l@X38!0P@@ L< Z@ , aLC|` B'`,`N>@! HZHSض)am 40>0 pL`H0.t`?NHcj, $Ђ)p H9a Hx,p H` Y 0QP8Px#K+  % FP`3>Z ?0 X@ZHS|0 `H hJض%AX0 ]AP `@L0`hM L O @p `x VG)X@&8 ? ;je p0$!^0.LA`+\A C z1` C`BrD A Ѕ|B #`@К@6B 0` )0a<0ƀ1A ih|`@" @0QR  `@К@9h $] ,&  \ض+ai>! @0$R X@К@3h @ ``0Z!9X@0ab *,Np >ZH&` ,hM 8 Jx 000`1 Fp&4 F  7 ZjT X &5 f/( (A KLBF , Y 0|-l'@Қ@3` (6XA c FK@`P) (h00@3`  @,QH  @p` ! @p0@` @\H`]L  x(# H6p'@ JZP N05 fЅ/8 (@ 0;X ,Z`N` B'(X@ǩ5,'A@3! $ Q @ P,NP 6lXN`(!fЅ/8 (AP LX@$`NP` Y ~l`$l!Q"H`]Z  %(@Pl`5P,?P 6H $IP!@0]N Pp,b,0P0'0  (J@C@ 1I8@0]N` P`Pp@,FP00 == P0D  P1I.Q =@0NN` P`PpFK*1 +  > 0@P PP.> @ @  3_&pP pFN>` 0p0p =0 P8I@.>'P  3_&pP pFN> 0Q0p =0 Pg1I8>'0 10NN` 0QFN>` 01 0A> 0 ?='0 3_&0,`K>`@`0 0.P =0 Cn$Jv'0 10N?` 0QHP/&H,`0 0D ?=000P 1 0N0=` 0 @7X>@0DA J nV>1Vb@ +p0D H 1 N0=` 0P\&0@ P30w s0Q<0'`% 0r @ PCa `q1 0N0=` 0 =X> 0D p.p p VH>0+0r4J PCa `K`PpA =0=` 01 =$)^  VQ<'0 0D `KbPpP-O&`P >h?@ @ (Pr @ w0VH>'00  M=0<cc,00 -O&p0&\O!(p  ̐ s`H>'0n(SH`bc`&P-O&PD`=h?0&_ i`Z`Q<;0'00n(S@cb`= 0I@ J= PP`?0\?`;p_p` z`iZ`Q<' @-3S10C`Rb,DQ `>=` PP20_=&p>Pk p v`(Q>q Pn 0,`%+C`RV PJ>`PA`SO7p>H\|@ p 0 zvf`L@; @ 0D3)=00`0L%KԒJ>`P1 0-7GH[pfp p @ vf`L@02n 0M0?``10V%CF>0P -Y@Qfz @v`i`V@, 3S&0`;``@`0'  P,:>0P1 `JJGHZy 0 ` ӄpv0``Q0 . 0N=P!@oPuKp0  1 `=JGHZy @ P ? psV>0| 0]Sp/`/p>V u0'F0 0p(?>p@Lj M`i`H!  9h0VUgs P ;>;1 `=J6p;pHZzp @z0c7 PoB܌  L<0p&PJp(,@VoPR.?]z0c7`1 k p @  `H00p `>\6`&pGfvRN؅@s`Q, .@p  p  W@#` P@@ PJ`1H`fjz`sc> & 1 `\ ̐ ٠   2> uL0p @-DQ =J`PP 0!7HP[G7!0Xm1 ~ ` 0 뺰 p  ``C,0 =`H6P0 P`*/*`!P`1Q-[@̐ ` .@P d`C0m1'!`i#/P@ @O/1 G` `٠ @ P   @V<>UQ>1 0,Yq-P0DA pQ1!F4aC1bn:)"DD&FLAfN0Z0ʕ=n@ #P  dAP DTRMXa4!DZHU Q$QD%zc )h0bN0V cK(.,HSb 8Y2v0Qձkǒ+uԬYHu((T*c F>" 0V 2P\ p ystꓭ_G`QzuLYgBO&KB4|ĉ7jhab xd An0B(`V;RD# YDĒM^i=hF@L)7Ђ &` P$D2 @#c|N%ZNIŒM^JP@U.YA&$эHY@z0؀ b$Da [`-a/Pђ Aa 5@0P bU!P\ztn$` &0d-E8,= @P:J ?Z8N85fp 9qPn0 @Ś4HHpDЀ,̟X 6P&fM x6 vĀ &@'AŚ`Ԓ *"8 _X +9JAp (kb7..H`Ca h8ddLU*P*d2ԡ$ rPD^> Lx#(P& W  ((YE|8$;X N0L?0PVB@ *x+X! HvX@uL/0#q< ZB`%'P*#o pC^jG4~-X! HVhqP``/ah#qBjCq`%'P?4  \@B`C`&D< F`, `@@p D!bC0! fXsK T ! QЂ0; A Vv 0`9t`G3za&zLv X@3U7  |$DA fPA^w8Ҡ(`OP8[ @ |$DA fPAnw7sH@?YDw&~jBd$ 5~@<''gP~dH?$<<X! ,~} H*\Ȱa8Hŋ.0!‚CIL|`@0cX`@`,P  6l@[* xwf^`aĉ ] 7X" k ,L`ㆊ l^M16d0q"7LLXPd /Lq[  aP <ؐ=| Qr#+,|x!+`@E P L0P@o- 7`'H  $OPZ0@p v <0@`K` !X`,F OZ,i1+PX,/ll0 8 @P@P&@1`,T,/h@{ P 8 o&@1iX 0PB?H @ 80 k PFR0 ,A@T@$- EP@ L 0 0O @1iH!@0A@L@6 0$ P #@0Pi(|<@AL` ,A@PD ,P 0P(iiX P H@PD ,PUC#  0O@m̑`VP3*@1@`d@PD ,@̼CĀ'p @4@Pc̑`sp/@1K0 d@PD ,@'0 0@0hC=s " b 0 @<" `8 @`N&p4A B!`". VX`` "(@ rPT`P `X@`7@ +\! tX"0h)0a <` EhA@e N@`&4A VX:,"s *pA iP0 @R" ~",'8P 8p6,APK= 04A `| "@Ђ ,O@dZ@S w`@ acCĐN7 7Px`EhA@N`N* 4ܡ >6pH! ox(ai=́ 7@t`EhA@N`')@;` H! d`;! bB́ 2@|x`6hA@3F@ !@6pX?@ a C 9! B &`?x 6hA@?6 ,`*P4܁ 7@|RR|Ӱ?A VBEA >x 6hA@?6$`.P5܁ 7@ RCܰ= KX@@ V` t`6hA@D G @a'!@>p(@L1,8: <Аt 60A@d X@*P5 7@@8B1a#8 0@6 *' , ,`P*P5 2@ @`<P`X2#`R&;'`!(LI``0 > LH'`@# Y@Z`L`?0 (@D a | &P` 8+ (?Ԁ P60?#(6@ NP"_p,<C0@ (@P!Ha0@P20?#X6NP"_hR ` `j0!` B@X|"0``~"L$@/`@H,) L  @ Y@^ L`J'EQ0pE|20@0`aVPp<00 @/ &@ @0OW 10PI|2000`aVP1 `08 P/ &@ @0O 0p`0 0pE|2000`iVpPQ 08+ P/ &@ @YA0&&`>pE|2000`iKp< ,`0n8nP/ &pE|2000`i P 00+5  @/#@ PppDQ2 APk_ PQVb,'P*  @,&` PYnQ2`  pE|20@=`i KpP1 08+0 0`,0?P/ *N  PpE|20pVi7Pp,0L,z P @ 0 0 P XP2L 6h20 < s \pPA >nH,N N Pn / /#1 A`_P\ P F s \ @P@?P z0H1*`, 3y0`2&p,7p 6e,p `b0b/  I @m>0,p N@ 0vz@Q`2&p1p7`@2m,p,bpm/@Dr` m0,pm` P 0`2&p1pJp& P`\PPQ PpwO PYq  ` \p>0,Lm 3Z0`2&0,>Jp A \PP @7mpm/  Iq wUp>7,Lm 30`2&0+>P7 @@ \PP` 7epm/0/P^5k pgHp>7,L  Pд  6p,` p0F!>02c20p 20epm67Er @ 0cPG;1'Ц P| 6/Ц 0FF!P \0P P1 P&hpm7`&7N]` P p v`VPG;?y 3>k/ 0\,` 0>Q X0KP1hpm7,7pA_P P  zf`[Hp>0' P| 6 /'8 (000pX KP\m=p10>U@ p z0f`[P1p @ 0%6 /  `#8@  @ P7b00pP \\70>pP`@ v0x`cp[H;'1P`E0LK  X0KPQ`\pmJP1;Gf@ ` `x|G0 Q`B`!0,VI@@ K`HP1 \ mJP1;G` @0CgPp;!0 }E7 /:U` o0<V`' 2bX7 { >pQzPp~؈gH1 P0 N\g~pP  up@Hc8 P1 \ bPJ`/1p;pQ`s`~g>p*` = 6x@ P` , P`1f0 Pp2]=*;pH`mc>p*` 8} _p @ d 0   ``K0 Pp0 Pe(*;Q`xcG,VA0|Q ̐ ٠ @0 >- P u@W< Q PX$ 0!7HQJp/0^>/ ` @  0 `@ 0 ;,? @ P!1PApAp2`!z P* ` 0 P < ``H'zH0c?00 bPWz0}i` @2 0 P PϢ oR0<U|;1p 0VOP?PVWh V1[ ܠ ΐ P P PϢuRH\fNZH/HP20P ` VfP @ P ы+RB%*Q0Wpis!@yސc < 1L39@ SflęSN;[@x]C [fŎ%)RPBU0V8ҥEs !@aCL@^ ir $jPulڴkɊKvl/_^JJuހi,]6EBT 0W0G `Ł#Ff BSgcʔ-իױe}z*Y*z3(Xt*I_ɤ^ ` n`BR8WxdŗcleRV`)_I$Dx>+@ˆlY%\sE]X``]|A qᥗEy_leYNYczᬗWH$Dy 0` n@A`L*cYB!NN!eg!YdXW\ΰ^}N"$7b n0aWc?$BH*yE_!%C^LWf!eDy + i,`# 0b +?< ="EWbW%CR67@b&X`G/0LA %z`A_0WH$ yGq9eKQ @` yXn! ,`!:*J:{E\Nd78B y[d0A(@ D$NbJ.NE >P0σ=)^ T`pl€0A oxCNt.fq K" QA"' d` ,Ña LDXb_"-@`@`D6x L@`*&HԠ;in 0`@%T,0PkH";A*}@X@0IZ/` ( ]6Y"0  ]τf49%,` ( \8?$_@$6Y@LP`s.t6/x "@  xI `  0iVԢ( 3<  ^:` | 0Ԧ7N0H .A1 @ X@ ˪WjVU@Ȁ /x Nh|Ā'()T7` @`٪IW59*@"d!%r0 NPl` 0ïmpBtYaU+.ta J`%* kpk՛ A&]B ,mI7@,nx+hEX8a U ,->`,o|P ~P/6]( > bTX@ ~q @ n'8!p3 [Ā,860`8&) 07B8a 4nl-@ G`@X@ $0 bp@ ѭ- R ` 0ct 0؁p(l c2D1a P@v` f#.@*A vMGa gD=6 FvX @`P b Q ,, @0@*(la }ƃǰ#!@`8PPL ,(LPP ^ L  {Lt @,A$'"/UE?zҏ^'( h`!4P 4{ {`   ho0 @LW7?@$ `PO~Oe ~y#ȿk! ,{~ H*\Ȱ!!:Hŋ 0 CI` ,H0 @ɗ0c&`  ɳg (xA>*uH&0X0`ի 0A J*>h0I,Pas @@(X`‚KY@,XBC&X ‡,ha„ 0@B|Р&40( 0ˆȓ+_μУ7W ‡x8! P Do#Xxa‚0Wx} 7B,~- ,|As (|`p  rV@0@a'@@dP$^| ,,0@P<@dP)A@@ Dp)t,XG nX U\ L L`'  OfiD 0F +L?g,@ 0@#0,0 c`H r%P)A 0@ 00  칚2,BG`0 `,L\ D| @F,? `!F`X 4%pA (x\ P P@D4&`AH ta,2 ,0R\ 0@,@0D-zBnAHA V0@ ,6,fS@0Z@G z,?0 s00@HpA (x@@v @0VJAt$qC @@7`  @ 0l0 hЀ@=! l&$A-`(@n0= L P@pPi @( @*Є;Bc6 I &`&p6Aap`$ < N(( 0 hP 4@IP6 ܠ G X` .>00 X @DT w  0&ah?hݰ10,(E  (@  H0 4؃)H܀@ m 7! H0,H}`@0FM L :=H>P$< 9H X @f&܁s@ 6 ! u 1zp谈E >@H $ 0` `, ;(`N00u ĠB a`$! BH?JpP6`( )@pFX@0 uBBnMHcA 0\ $ 0` 0&6@ H&& to 0 t%$`!R@ 0x0 0M 'mPLE`B`@?PbC(P@ 0c 0ph ? ``` =HaC`HAK8B `@0`X 2t |pDzd :!nX V H C ,?  ( @` HDfC8hC($+`7 `0Сo` P, ( X&620H!i@ X`Cl`?  (,L ?0t |pDz@ 0$YN+ LX H$ 0`@ 2Nh# VF7 V` 0Wp, 4 `PpB#PY: =@ A WH$ 0&? ? "" ?:F8?@ ! t`|$' @!H@$`I>D,`HL0 @C'|  6,0x((< 0 pQ P  ^=@i^i`L0+ 0T@ 0 NP?@`<>`+0L Q   3@ P@|ePQi@z =0` L Q  a0 @ |ePQi@z000C# 0KQ  |mP <tb@QPP' 0G@ P|eP`a@z >P@0 0GP A|eP!n@z >p00R'0Q O9 pX @0 0P?wP=0 KbP1 >o>p10 PpdQ! 0AepmP '{{0?P|6zn7 `0_0G` pP?Pw=0 Vep@ )0Np {>*!`_ 0P!*& PQmmPQbe @0@Dp {? / @p 0G0!p2(@ PPP?~0=0p @= {@{P2@ p@D^` \7*`6!`0 P|eQ!#2(P 0@P?~0=0p >0@{P20x)@D@Y  ` ~Ap2*`6!#B P|eQ!`, /@P?s0=@p >0~0P7P 0.0^ ` J 1*!0" P|eQ@(# p, / P0P=n0=@`\pep030} @\A 1*!` |ep)``H,|P=n >@ p 2w0~P?&9I| @cP> /  |ep)P  &'0bb`Jpc&!`*6PMp @ 0P> / @0WP(  pH @= n 8` pm0{Jf*6U0 @ z0PpJA ,p @ 0WP@( P +#` Pbbm0{J &`6*1pP0 v0UPJA7,  @0!P$ P '<8> n 8` m{J &`6*1Q f\ * PsQ(0!>{V'< a`0@ 0?,Sp* `*;ifp\S|,!0 30p(0//pJc`u V+H `0007|Pp& `*>`0sg-]7!` 30 6Sc~@p P 0 P`H,07|O`!!*>c0gq]J7 & P3 (mp Ũ PapЀ()*`&xD:\K0b$`|Yh @ h@;@=XD!+@r 4 $@ 70D$a,AЉ*4 0`h_` 401V X@dэocneGP @IB9i$#@2GF6ґ$SI(2 ( $xc9JR2ROFv2# `(0$`%yb.6,@h L uc@&@ 0(.' @@R&0B P` `%f<,/0B Xń $"$/P @ h@B $"Id:Si @h,4 - d!؀,@ @ (H"SԪWp >G Ȁ*0j6` P``@@ծv ?)G1` @ h 0ղMU )G7 Tl@D- l/ 8" Jv`@ 4@ 0`Hn{[0!0 ^$ MPBp%$װ,x @ P H"]޵@@@mB*A >aYp`` 0V @ @4l3X JP b``&xH447Pb8e @`,0@! TL^!P`w0 * Tb4/A B`,# %=,TŅ|p@X@ @`ү @, %A L0#`@TJ8 @!@v`"Q,@TêXņ} B 0` tO"(0 &PAMh`*`djI ~ `@9 T`d5 "W- D.`"H̅. u9ϕ^S ЅXziZh : u}N%4R#0{! ,}~H*\ȰaJHŋhǏ CIɓ(G`ARʜIM0ع@@ *rv& ӧOJzs v.(0 կ`Xa ˶ "Lm "LPAxh " !BSgD p~5M &T ", ( ,PaB 4T@E N`A jOC >3& B 'h@q&qLPlAL@pD l LLP!|A ^V g,PAlAT@@ׄ` F?NPl@0PGO_ Ȑ" 0 @X0i 4!1!& ,OD@NX0POA1!&+@PIMETh4@ 00P$:!1!&A@@H O P̄@$r KД _`'@X D ap&.: ($1h`3!.P ,>v8eB ? ! (?&)Aq I,lC$H R\B 7?< ;Y@' ? @ @MX?P" E @B$;Y' ?a 6+Al؄$0 D(B72!.P ,v8eB@ ?(a ?6)&+0A o%BA @H J T@ 1i?<G|J@>PL`(!@H0PDPBo `@#XP@]p' @$ Ia ,ЀN)``@#]p' d :,`2 CR,$`' @Lt40@aXP6\I L (@10`HPt( + @1`IX02! CLBD` X@|8>%`iO.wPH0Dxx$X@&&"0,>,@ @ʮ{>TOA ( @ HG a(`, `  (;)q?Ё.4wPH, b{@00 0`hB5#pT0, Jt4@l l  $X&(є8e*H@]P$]pJ@$Qo 6n0P0 0 4 4 0;^ w@Hb>P" pCpC0%1  PxM10 P%]pJ@$Qo>0" @ L @0;Q 10 P`]pJ$Qt>P"@8 R 0 0S1 u>NpJ$Q!zF0(  p 0 S   w@ K@{$"QRCp' *uR08@"0(Npp># pV@n <o 0;' P(0 08@Npp>",  0JMPFPSA 00@ @w@s00  p=0P)PeH08 0DJSA 009V&@w@s@iw@A P4w@$F0# mP /J^0 pJ!fP P0@!NQws  `w w')D` w/`uh08uP0@P@J00<`# m0 wP/_0 0J`/`uh08;0N:;`! 0Psn`P!Q 7 p>S)E @ s7*`uh08 PJp08Msn` Ow(P`)BP @ ip7/&P`;0(SAp0  PQnn` P @Sw&`Ūh?0_Gp6*`u0 P P * `` J@"Pw pJP*f@ t`>p:~&6 P2P * 'e0 `n@a`Pw 0SP!>`uPBp6&P0 &SAp0P>VpV8p`&`n`@PJ~6j*V0o`P? B6`~[0 USAP!`6Ui$Pd`8eKn ;@$As<{6P!>`c`U:`~P M@@6Pxp ?ΓuVRi00$As<{6S,HJl/`!`'`, ; @?p P P `R0,$As<{6P`!7Ap7p|6(}R`,Mx `dM؀ ǀҶ` o``@p@P>0˳\'0*~6p:`/!}R`,>1~ @`dMp ǰֶ P PoR'0 Q=˳\0 * `!`&~!0}*`,@CQ~@ @}@p *- 0 l@R+` 2i<{3A PhV;' @@C7`` ާ נ (Ҩ u@W00pSb@0_0 01P}RPL' @@41$&0 @ Ӡ * P PoLHPQ<, F nw0(O[' 0Ao  ` 0ߢP Pob ~@pLu``H<biS B^N0>^&`@ p @@ ր k- P Pos0P @ o@`RbPJ@ &^&O ` 0 s P Ȱk u{0 P udR`X(%Xq\o7P p ` i P Ȱ n z@@ $Po@`pVN@Po1`P ` 5 5 @ ʰ  ـ p P uo``XP=ȟ*`uP ߰ ݐ ` 0 @ ΐ װ P uPo@` XPO@ DH0 o% 3־]L"8jԞ)T\β'n2[DUJ$P7d҃Ă }T 7$K2d(ZN7p)k0fȥgM0YDU2``QbAuśW޻C  5^iGp^FQ1_a&ܷm֐ %KTH!F %$8[lڵm $AE7^&l.~f2e6Mo۶U{LW*  +Odt(`zݿ_>&gSWd:fepFi뺩dEQ*7̱ a 1#0@/P K4@ 0@wX 0%l2l"2JhP@L8l?5w@x]-PzP\pR$H(R=L@($0L R@ ,LXx!H L.H ,PzH" o1 h @x@ 0@HZpI)R.,hDla ?(@ B0D\pb$txP Tx>*b 0H- p @" @>NBoI` .bV$1 @`]H p aD%((%a (&JP"\PF0, (j&&D XE WC%B1?A sD)61D B[( f @nRH1( U ',)H@Kb BWBJ*`X@P7)$k*0@ AJbX(&Q?P&Ѓ # ,?P,b| @cADPb Dh$`^G РL1(U !(x?$6!@.BA$h  ,?P`M /| uD%BA IA RC T"`C0P_P0(@ V  H@ BH( Vx&Ja XTP`]GP`M 5|PaC(F)``DTBa`Jе`H@$#p+ #YP- ,\D0C}(P 0#u p+ #pDPb@ @ lVp0($(P 0h ?ROOЀ@&C|0LR`0,  k p+ $8@H D1H l @(@1 @RPO?p@ D"谄, Yjp6H@B$R`^j68$H@ FPP P)s 7H P0]PX!0 @Q {` K` =P@P3@ 020$XQ0]PM0  0@O0F'{ p ~ )Pw c P0]PX  O0HQpFp` JB!N 07 P-]PD O0H p =P` J  S 07P! P XZ0PM 7! PO@K p P6` J P( Vp!)qPZj0Z7! 0Q{ t QO0 {$!P V !7QfP 7QQ7  P O@K ` S0 {0!!L n/pPq0Yz0p0P 'p  zzQ0 ;{&,oo`7"p0  PZz0!>L@#pKH A0 ;-0127("07QgP!`>c0zPd<>`o@a@J0Ch` 0@Jp/")pP 0[0?Pm 0   u@W``n 5@A{ ;P6P;>7( "p0 0k\p ؀ p ` l@aLp@Fe`  `/(" H PT\V A @ 0 $ P Po@`000Q{ ;P6 7FHP7~p @` Ӡ 0 u@`0+@@Fh`@P7`p< 7Q1[j>p `l@p$ PoC  ҩQ`n ;3@ B@<Y vp @ ua8 (0 `n0,3Y7Q P@=X  f p `ր l dpL[`Z`L>'+n@\0ӝZ?MAXzHp @Ɉ ր l os@ PoLH`a{p_0 {=~*` 0 @OPP π , P uz P o@`-b3W j 0 pݰ Հ l u ̀ p P ud` c030; ` p> P π , P  Ӡ 0  Pl@` c0(.,^f7 ` հ P>ݰ  ΐ @ P Po@`0J@=g f   P Pp ` Ϡ @ ` uoc$P ߟ QP > ր @ ̐  ր P Pla0S ?; P . @ Հ ` Poi O @ `Q R ` ~ dpP π P ui0S rV ` Ϡ ˠ 0 Ppݰ Հ  udP001`z ˠ ` π Ƞ ` ߰ >^P Ϡ P oL$iP @  p >ݰ @ P PjDPB & QD)+`yF<*%L%gֶu+NtYSU%Ao_EE4 4x_U,[*![M5YvU:Zvl`\uZLjt@"D`XjeKg߶%͚2_a?=Zy(@\& 7D%l3k߶AfM/Rذ_͝?_>AD򵌚o߶Fm٫Mzа_' P`u LP3@RzeFe|e=0Ç(` `B<JH!H I#@84 X 8 T( 3D4`G- "g` B`M &`N:K(V+`X(A gD4QEEK(`X44;/u3(S pM X<4U":]m:(`Tմ @ Vu H`:Wix@MV ie(h 0ؖ c] _7`&` `x] - :d(`(`0mK( *`*N:>7 X ݶ~'d;fi#*@ny.2Ƞ#86 5X "^=`[ *:cWK;oo P-j=p[ ZX(`5T V`q5U\(`c#`3XϠ#Lu^(`ci`e D` * HO5T *@SHDHm * T+`O5T;V&P-(PiP΂` LZ -"p D L  X@0S@TÀjlX L  X@ 0 6щOA"2hY2-@`&o6LUDP0v8F5z Ш Xͱhw$x,ґ\HD\)|-@PrU" <ғ\\ZtD=%ok6˃Җe.DJ*;KL! ,|~H*\ȰÇ#JHb3jȱǏ CѢɓ(S@`ʗ0c@@If4ɳl`ѣF-0ӧP t@Qj58Kٳ hʝ7m xH߳|M@+` p b&+p4&2cmY/H@`+ B‚3@k(L1 Huhu1n6Q$Ƅ `@6%Z$FӃC]Dڔg 0Bj>J+,\DAYOA!f>+0LP?3P_g `S $PQ@G(TGlXF Q~6 `6VyO,Pǡl,?l*Qr_ p6%`?71K+DG"K]W 4R'F,1J+D"%D ltC! ~0@B,5@A~ w(D2+Hb Jo qr B @а$BBɡK+@U!PB8lOh B @%Pr(%,zMTA(B0LW(,4P4lpq -H(SL)sLA(ALWHM  [h\B % 2 *$VO2 %!%R0@B4Mh\B %G"r-!@(D CR0C4A@в aAG"b * c\2 %&B`Y04M ?$@*h! 7,Vx B TV@B.1QDE(10`d ~@(M hX-.< B Q$ b؃)f1H,%Q @ + Z\b ,?6P0bRbJ+vY X@t(h 0$@+r +Xp@ALb&h1Q*1|1 =c ~ @4C <VV? d%HъYP*lq]P" ,`N0h 2,` & qP IB|X6P`(CRVXF*ZA : d$Pa]P 0I0P?K)X+t ,#A TBn@x :$"@$ @0RV\@G@!``d$B7I@!2RX\F HX8Q?H @H0` @\` '$ PD 8H0H?!0,}.8 x$D@AH@ 6Cpa) }18 `HD((A%l#)`p:! 0HB&W ( }1>db$(+Ip:aI@ !(? )X,t .|$ .1#@6Ha! `  At8B@+ :€H a`B rFRX\HB`?LB < |$6M  24X#0|$ `)h?5|B@+a*`LxC`P/R`)X't (|$0 J LG t~  $> N@!$&$BA@`!A C@*> K@`  S  Pbc0G&0 `2 K@`U H!0$"LA 0 (,! K@`Lj S  @P"P4"@K |I~eK60PV1&@ @S `tpItv 61}9~e016 6!KV@ @O @t0 v `0}PX6!0 0I  t O 0 ! !`@i&P`01$Z~eP!;H08 K@K O \ @ V`>p  v61%%@P!Jm`yu``@> tnO m` `=0`p`0%z P6PmpP $  ` at8`@O m`,!P0\:#/P~ @ Ӡ P PoЮo 0@AP z wP6S`![g P? @` P P la0@AP z wPP@0jB!Ԛ~p PP` P PoL@ |`00P P!JQGp ` ր j d0!F@! e`01P `!ۻK0>p `  P u@R,` ` @H@ P60Z6ZJ{ ` p `@ π `  PoM:fZ`L;#KBh@!{ 0 Uk  PP P Po{@  u@WK n@h 5L7n jP  ,p Ptp p 0 ud@s35 y@ ` ` lp Հ * P  0 P uon _0 L> ې@p  p ֠ 0 Pli _0ໆ oP ` հ PPP Ϡ @ `` P Pob0(P M1 հ P~^] ր @ 氱k P Plb0$JL!`@ հ P^}^ @K π P Plb(ش]ۆ[> P հ P ϰ P @KF\P P un0\``} V € P ې ʠ p  P P  Pob-p07P հ PP π 0 | Հ P ui?LV ˀ P ` π `n հ P~ ` u@V(z1/iP `n հ Ǵp P Z&N@ 7Vjz P հ ݠp ֠ PZ pL ,77@ P`^ ^^- ֠ @ >  @!j P Pp` < "_0 B!zP հ Ppְ i!#L@61%: Q@ ְ \P VH @Q@y 0ϰ P `>O0B1\Z 1f @ ` `V&0 {0B1: ;Q`fQ``H,0B1!P0B1J0!{>B1[# K[:Q@ DPB >p(0@jRHDy , A6(ɒ=}8 E&̍OBUԇ)eH\Z@#UeBMYV z4AXgkZ}wAFd `[ ,X' pV^έ+8@0@L\;@s͝?_-AB ^&;p N py@pn%+@'( p@@ܼh70! H@0$o= pC*P*_1Fg  7 J@J:D2(@0$`O@*4ZF-K LJd @>ͫ @6* @K@ 435H6E' RMgSO?5TQGu( ! ,{}H*\ȰÇ#JHQ⿋3jȱǏ C !ɓ(S\"A0cp͛8;`0ϟ1@Q\ʴCJJЫʵ+AX J*XA],VM נ[2.$" u0B4?! U ]uЄ1C J"PB FL0@F VEM]P zK(8N %s?s,B8XOSW14AN^@/1 / *l2 ?(% 1uUCEF)c(%PxFP,B %FK]dF)$sL+PAT%WpRWU,D"H%1qC T%"HlHE.]кkP,DG"آ2l2? h% @W=,@2uA *( *?\\2K(H$o@A_?=O$ 0u$-BI03$$D  WIs 0R*؂R 1G)$"/0WIs$ 0'@F"ȂJ%lG)$%[?5*H" 0a$" *$B"J"L,;7O?|r$c P"$P2 /$"H"آ1;5<)-aBF&IE$ IB8)k(ˠ4.`lH$B]bC [C.®h!? `` E@07b.FA0 .7" Ǩ& #8 Z!EJa 8@P T !(Fخ` & H?xIiEV7$"x8d(%A>B>"A . $q0,Y0b h% e0DC.e$}`18"0`$ZQ :F`?$RE2). .|H(ъI @ jp ]RЇ_\H10$Lhd4dd̪A>:!E$,C`C4dZͫ@>LK? !-  %V0 j;WI?>L"K? | /hA)T` tXBPEzx E 'B h Zb @ o FC" ,  01@,a \B[0$1 @ A (@ 7EA.`b.R@X)A BLJ 0P"@,IW\e WP h  #(L; 4P[&? A (}{޿ A^=&F+#AXA Zb (U]  } ؀ x 0    h GSpVt0 00 P GX<؃>WPz PC!0    \ GS po ' }z'oCjq1 ` pXR\ \ ``fHC18 0!;p@; ``VL 8P(XQ ;KX }0ڸ8/\`v Pop@< t0P8P6p=GCYH P/P@p P oWta\ ' wP @WQ &` Pw P P0I U @Е` 0 PEl8@ @\ 0 pECQ 00 А}0R6Qpm @0 ր ` Pl@RP80 wP01 iGC(Pp  7d  d0 Pu) wPGWᛡPp  P u@Rz7Pu) wP`921>Pp `P P uW,0*!0 #p6#Z /p P pC lV`cvL;'V@ P6VzRyQ ]pݰ Հ 0 Pz@P @ PoL`3Qx1 ` @PP P  Š ` Pol@th0 z(* ` @ ppP π P  ̀ ` Ϡ 0 Pln0h :6{G   ְ 0pPp Հ ` 0 @ ր ` unp_0 4;7k> 7 հ P퐴 `  P  π 0 !un0O [{ jP ` € P P [ 0 P P Po0O pڻ  pE P` @  `  us3ŠqyP հ ݠEE[` p ǀ pݰ Հ P Pze`B<*` PPP 2 pp Հ 0 Pz0h`t\ǥKpf € P PP|  p  Pn0Jv|ʨPpZ ` հ Pݰ Ȁ P P P  `&ܜ *i@ #yC7 / հ P` ` P `&m@ ,pVvy P 7 P +C[ P < P =t P!`pp77j ` 7 pP j 4]ǟb=AK poP ` € P PP Eՠ  o _]d،=b= Q P P @]njb=c,y € հ P`p f]=-PAHP € ` հ ip*0 ]}`pHy@ N V*00ύp ,H`fii`Q, p020C !:D^FjCqGNP>T^V~X\C!o!bnPthN`1lpP>tPt `Q~^:Ptzh^N1Vy^t'o`CQt@'o`~0Wy oXQ갎0W }}h^P `7Xz}V} 6}؞ھNXAzwzG `0ݞ>XAzwGC}w7X P Y Pz01W!ozzG"?}T}w w}0$2OWAzNC1<qp>_<XaJNPR?T_V^Zo! ,y}H*\ȰÇ#JHŋ3jȱǏ CIɓ(S\ɲ˗0cʜI͛!ɳϟ@I `ȴSBJ/FĠׯ`ÊXE`۷p.ADa`L(B ǟ]BՑKIlCfȆC Lg>:*Q08  XDYa zv=:*?V60  XN>vke}$@F L`K0<@,(lRL+օJ(o@:zlG8S@G[&K1X-2 O@qI+!? `ӊuآ/AE$C@=Ps AҊuآ2 lXiBX6mK+2 *X3M+z@@!+$W@馚YQ /$"H"آ5nj2 L$ 0n)ix-ʹL0("L`7xK6|Ҍ)b@X0J(RL+((c2۹`x.͘" TK1(RL1Qb3C <6|Ҍ)cPA l01Ha`C"Da etηf.a1|Ip@D  -q$q U> Ll-v14``?P TBuÁp*@ SXaT@pDbH ldH,T> )`$`0 B1:x$>,l*B$P` ? I (&w)`+p*'xC(P IXI 0A`?n)1 ,l*0 % &(A 0A` n} 3V S&:J(H60: `@?y9X6PN `(@S 8AP!L8%<b0cX@851M C f P1Pu0du t S`AB J8U\lzx`)p %P I@,:UgKP `$p H$PъMP: t5A40,pC(P J:Ha|95 40`2C(v IǦ6 (|'Lh $$ ZVH P6 Xg< 60<D+xъK@b) @2L`hE1Z'LSP&lR4PSBV6U HAh-0 p 0  `VH p1H͠&0M >% `VH (1`͠&0M@VHD( `(SBV@45 E3ZL`SA&? 2 `A6PM`,rьV` NP8`MP h$h Ѐ ` ^6Bu d$Z)G2?*VNYXϺַ>P hE"h(` ^7$L@} (pm@(IBRA85 ph%Ёd  0W_,A v,&H" ` ph$Аp$`gNL>؂\ o N`1tX `u pAh)$ 0 Pwۧ)y"!m@ p 0 ooPVW\ g w` P 0& P} ~P p F # 0 ut@aPVW\ W P P 0P `(@ ` P l@  !`\0 p6P/0 PPP u@``cj``H,0+`@ p wZ'A` `p Հ ` 0 Pt0 P oL`@#|)1 ` PppP P  P PlS8e0 X? p  `@pPp Հ P ` @ ` \l{6PyuG 1` ې 0ٙpP P  π  Pl{3P4Z6  pp Հ P @ Հ ` u{3Pڷ6  ݠp: ϰ  P P Pt\wf ` € հ ݠ0:ՠ lPP u@{PЦ:?1p p Հ  PoyP P u@zPE@K*` P xz@ ր 0 0 `  Pte` K7p`  popP c  Հ P ub0$@Qf{hjk07P ՀJzݰ ppݰ Ϡ i&Pۦ@@ ˠ [ JGZ uH` ț;>`z 1P J: ְ  < 0{K /170> p@ j ˀ @ ",0 P>  Հ @ 0B<#!@  P o!D^| Q € P ݠ۠ `_| j  € P ۀݰ ְ  ip&۹}pQ   z`><˴;`ji`Q*` P\i0 !! P<X%\|<\|%<= ] <]} ! ,wyH*\ȰÇ#JHŋ3jȱǏ CIɓ(S\ɲ˗0cʜIS濛8sɳO5JhϠ *]8&dJ?)`կ=aBR76'Il#MֱW p@myHu U?dxIJ$OFaVCc#O9_ cQc(% \Ҁ,;%QB鑱!J8U{xkcƄ EҫP;sfkE)c :A.B8dSmRL+b29A.$RG8҃KAK16-X /z܀J"q 7RmRL+R *Q0Qb/  2&M@ fb D$V 7daCpF&} 3LaE~2: 7q"Dnb0X &QDX'0x !71a ,E ($0+ 8r>Q0]BX P!d t SX(a.PA 1 e (r4Q]sxPP` t SXa(0C(v JA) (2r4P`VM€WA!ƒ?nԀ  @σܤ $0%Hh%p@l,0&e0/$aHAh/. 0 7))x! +  E3xq' Q0IL IX'0$ ^\ 71(`D8`I~+%a(P$7)ZA )FC.K B!?`-M VPB CAr ^\&I  Q H-InI"R JLьV\&Y p0 IN@V$B D))xъK X%X`٭M@,]rbJ"R LV\&a )O|@'VD( ph$nB@`C0Cd n=';(& E+Lq  V $BpB8l6 o`@.H`0,@AI1>cx2Dt€`Ah#nR, Ifb#>豎mT$!@ WQ 471H 0G?~؆5! T"P,Ah#p(,I!x!xǰAtl-n2JlI(Mm8at؇>Qmq{F5! afLP,DQ Aԁ lCA2ؠg! a(3=q{hG9Q dCD"S0F5 aBH P6aeOOۿ'@,T kl#p|p Ϡ P ` `@ Հ ` Pl{3p(*x>` € P ݠP Հ P @ ` P u@{7+؅^1` p8 ֠   Հ 0 t\؈` zyyP ` P g Հ 0 te* pﰉP ǀ ppP P @Exf ` € p 0 @p Հ P @EI`  ppP Qc ېPpP t0SBi€ հ PǸ 5ְ :PP uPxW;! `   5 p8 P uH`h7*8 P *€ zpЧPP j  P=qj ` € P pPՠ P o1yP *P y ` H)@ P ` P o虂y9Q € z  ;)j  € P W ՠ  ij:j@ f- 1DJ:H``tIgQAE:T:QUTzh^`b:dZfzhjlڦnpr:tZvzxz|ڧ~:#Zzڨ:Zz! ,Qh HX0Ç#J4` ȱǃ@>\0@VDzcÂ,s` @vQ cB;z $[BAX%`#cbAh`Cc!c€H3|CHП00(`@ ,2|{E)%AR@@p,NX`0 et*JBd€2  `EŎV+=1B$!A X+ܨjbA"@* )0@0z %"2l…,4Ҋ d 8AK1PH((c1(1AL&Ha0AAK1$$(c5qL&u qK1$"H%4p /P$ V@b:DmRL+!$(-\K+$2$t1APqK1Lb2(0F)Ŵ[(  Ap-BCHA$-Ha n(m@T w -n @1-J`2K1PH+(s&c@D w(iF(؂J%HL1PH((1pA$ܑK310",P2 /ŴBI"̓,L|L)bBlȂ(SL+(( p0t.B%P` )`D"aA(*ʰ$ `B T$B ! @P p)12l @FPH 0<`C"  b"@ @ fb (APa@E%` HA >  *H$  VAa> @ @%`dBq B"@ f (B1LbH400` @H S`a@@ IB`$``p1 |3La  (]BX@2 0u4A06P&C(v J@P: !Pt SXa8H 7b^P t5 A06P`0C+v Jܡp x )$ A ZQ ^Hb 2!6PFC+ IpE$(&l8(S  , QI Q `-dI$Bl86 a@*Sp  H)!v}ۨ3! YbC:(@2 `Ao#=I6~~XG: eCD%: 8@pP x(Q D ?~Ap``#}#۰2a TbD P8(I}(O G(D1~P 0 WP@0 1vEw   π 0 P`, ` 001pE o `2(} Հ 0 Poc`ijV8'V! wP 0؈1` ` ` t0 0 u@V`@ p6PX y pPP 8 ` P lt@|``G  xА Հ 0 ` @ P uze`8 ְ  P `  P 0 zh04ُ> ppDِpP 0 P 0 Pth0 py pژP` ` PP P @{(P ``P P pPՀ ŀ pP P @{P-P8 P )PՀ p  ` tmPZ, P ݠ pP 0 АXP t@mP5 0` ` p0pP ְ pD ` 0 @s0$P07P P pzP {j PxP uP8 ȰȰϰP P砍yYp d/Ěo@ Z yژ ՠ @@ 0 1p G  PP @ 0а,k G € P `` @ z -! P yP H 0d V € pAp۠  ` Qˈ `H` P  ՠ  i&۹pQ + `>`{;Vjvf>ۼ@ !!j p껾۾;[{ yۿ<\| <\|! ,|x H \ȰÇ#J|ʼn3jѢCG(S$hqK+chѥK3slhѦK; gq*iqlZ\J5eEO iא]>%K_brl.-˱ZhФ߿ -B2P1B @S\(!  ॗ$U4. fa /*(s,s@Lq,QR@FT4K |І) آ2lb L0%l,APE`.-B2u*P@B $ '≓T@@m(tAFb0P &p!I+LI(PEy4( 01L*؂LF)$"&, U4.^E,Bc 0la$",L†~ )*|K@ R%+EAFLa(P! A!)F T ڐq$T"X@ڠ `H X@ a$YK(lc>@X @U. ,|0$a$"0(N")&I8)pT5V \ `H ( !aE+xQ uD(l! eBH,^I*H]X@, *vQ Wx Bac"oT%@/ b`%$  Vp`0ԡ*! $ K0^Ē tU`A(H 0a@&`oH(P1 6HR`,% > ``R*P 1 `pALb +q K). ,X pPPa* 8+p  E($!` (p@?a(@p+K.">@zY`4P_`H(B 1,?a CH-K*">@zI4P`RH(B0\ P6``*XR)I/Kt` &` dB"Z IX!0&6A (@F3zIh8z :XP2 X!P$ A, aTU0Z( k`E.0 !؀ъP  )ԁ 5`@Z)KF @\` P\* C`p,d.9wP;aM͐t` &` %Z I8H aXȢ]rtkeNI h8!Xq L@8H 04PDZP}3o`(0,%y0Fodp2 ,0`,p%Z I7`@6Ha]rnkeƈnG3d+h (X` `Pp,d6Pͻܖ/8ZrO͐T &@$ B Z A L@>O@2F?T|d!Ph K@p0@ Jp8@l00 h~.ay06,ȂG|@\ K@pK J6u8676҂-|@@-P\ K@m 0V J`056`j7v6-n FZP\ K``+` @ @ l  hpnh.vhh*؂ P n6i 1@ P1P J`R066>7VЌ Ѹ F`P\ Li0&w @ Q 0 l y0666Ҍ )F`PP Vi`e @ Q 0 op@*.onhh.A>DIs6h 10 `PV @h @ Q# P h*.w.hh@jח nP.hoPP V`V0m pat0 h*.!y>hh@jZ00PV600 pLC  h*.!y>o@Z! W P!1;,0KLPO @ 0 p866n @ P*P0vudL+V@C`PO y eh0#6.m@YڗZ>0 P u@``a@<@0O 0 p3PV 64) !x P` 0 uoo80hh0 w`  *.h@Z}Y7 &k ` ua 0@а6P p6P ;ha6 ;: vp `p֠ PlLPp0P0 p6P<h*.h.@Z\!P` Pg ր ` u@LZ!6 wh*.h.@ GPp `P{@ P Po 8p0 @ p wʛ6ZJ*sP o `{@P u``P``V@,'t e0 6Z:Z +.A`\` 0 p  Հ  Pl{p 0 PoL0R3P0Kh.A`` 0 @`@pP π P u@p P P l@dl{3P0͋0 <1ʋ6p 0 ␲@ p Հ P   P u n0h0޼h.A"G ` ߰|P Ϡ P  @֠ ` l@a0h0"h.A̳au ` € P p<P   ` un0_Ξh.A̳b<+1 P pӶ ֠ 0  uPo0S@ٟ0 <{"]! ` € P P`p`9 @PP P n(P !h.A̳0G P P`9 @&\P P {P6߼h.A̳P*`@ ` € հ P09] p p Հ P {P6h@<;Z P i ˰ @ ߰{]P P 0oJ`- ;<01y   P P  ۰ p P u``(hʰѰP >z / ` p{pP ϰ oF` `- ; , 0&H`iz> # pm ր ` 0, ; ;! 0`/1,> `  հ /T8E ` a‚T-Rj=5iT\,PAC4T`F'=@qk~,LW (.̴cb; 3FZ?{Zv~\[nzA@[r yA $M4ҏ̽Oq$ TGzh~97Hzhz/@6@N6<0B8pB#>0D820(`D* P:F(FhBK0ɣ<- a 1N,Q- m2&ԑH+B >BI$lH $B @ PN ,@h\B&!H(2700? (A%0@0)D@ <@@h\B&$&b (A&FK)D <@@ @hB&%r /@(AH)BaA# , PN *HBl2 *B0LP uG0D0@)D <@ | , mB$nIN(`b8U$(1`+B<` 7, &h*hq 0C& TLH.1M* "dp !`#\  % |`$D Aa b-6:$"! !`QT  &,0 &1J! {X-6:!Q@Q!P @6 0 (?, J n#*8J0, ` \`b (@0!L%FAMЁ uHD(vq ^lb &X@2?R0h`E.0 `  JP$@6/Z#L`S p `X4" @laC"&ъYH RBꐈPԐi`ا(P(@+t (X)`p?PpX *&%lS p BXP@ 2 )aL`#@D((,@` '@&A?X (,)!@D/ @RrTZ@ ]| BP6Pb  @`R A0 "  0E!(Q 0XVi)X,'L`Y ID >@H6P(dH(d8J*- k1> !1D @H ( (" G)9*-k1> !؀0 J (A l S)r G)9* ,'P`IPVA R l  SI@(d8J `O<@4?LB `@ l  `I@`8J ),X1'P`b A 2a(C0%B(,|&0 @K$(A#L! 8 ,!@t€$ JPPi @ ] B%!?zAR 0 a, I(d8 . | &0 @VC~ 4d< Cj(d8JaV`!NQ p> B a@H6`?'\! 8@C2d_@}8J`?T X 0 FA@`!@`2 a 1؇} Pv3p0 0'0 \@ a@C` 1:Qq PP` tP 1S@ {p C C  A@#4 P3qXL60P:A% 010' H@@H` @S` 05P PEP[<P z6!+&pU`f`ojV01znP 1J0 )@1 #@  A @T 03q"q*g`P 0 P u``K n`P0 J P31 @P PHP>Zq(jJP ƀ p נ Po|g0@ e0P  A @T>ZP:88*2,6!m  p P ud`000P3P$ PK:A% ! A  P*(ZU` `@0 ` P udpCP 1F P3& PKP:A% ! A  q(0QP Լ0 ` P PdCG81F@ 3P& PKP:A% 1 A PPTM! @0m   u`00:AF 3P&P PKP TP ࣅQP:17`p @  ud PP`Z`L;'#n0h0P>Z0B PAB% ! p `@` ր @ Pl@`0p P u``@Ll~3- 10# Q.QqZ0B8 AB0G p h-D  Po ̀ p P ud` b3P꯮P>Z0B dm0>    P @ ΐ 0 ` P udm(P^>ZKP%K 1yP ° ` ߰ ~ `   @h=  udm0)@ 1 04U2 aQ / P P ֠ `ϰ P Pl@i JP>ZKP%~?BQ `  ` p  P ̐ ր P Pli S@P>ZK j   ۰ ` ԰ @@ Հ ` Po@i \O@ (@a> P@-^8pA(y"z%Kزg߾C27klU xҕ+׭3ad P7d҈AF (pA8aS`'W){mt۾!ױcıKWܹn۪!&D!ˏ>`8ZT Q(YQ{f7kϔ %2j־m+non՞)&KT%AހDP@j rlE HHzK+Ydݗ%l3k۶uugJ" +|a `*` 'L b! 3ҰÎ7ްCD*Td k'uvDkRyÊ6X `C" TP.oJDAE_Aƚoa+ufe^0v`*G `*`)s H  X`@QPEefYoQc (T(@* UY+@#WdkLjj|!e0v`Y#3hJ)B8B D*E_yƚoIioye=a u*`W4A =DY|FgVfW6Ê6`%a}h*`w T8 5@dJHAHI4`%%*@" "9` B$ -B`th(@*HP(h(`& '``TfxpJ R;q!h 8\ "<H@ R \W 8!@A"EpB T@|[@ 0z@/88P@p"AE@|<(G@ T``@X3 `n EK80RX3D@| C 0R *B('5CdRp*,D@!  D@ PH @@{x2$@*b5<9IpF"PQC8c35fbTZ%WC {:<{VUS?ꐳnyH[-i! ,~z H(TÇ#JHVȱǏH A@\ɒc0`-s/ "D`BHr @` ,H0 ҫX „ ,(0@aֳgX+ (DKWi "|a ΩN@W( B"0X0 @X0B4Tа)(`4haA . x "aÇ",(P R! 00 2nP`D0†zP 0PFK}@TP^l!h0,VC!d_A ,PB $(X<`l0F 0$0POF@X8L 4iA P0! %+3B R0K@@. yQH Ƞ X,+? s %:$z .P ,`@P02@'V$l`(?` :B`.qE$ E+fq6 (gT@ (,x> ? aPH0X$$7 D(ZA@, ,@\X@ ` V(@X`C" I `@Pbn 0PPu `^OpJ@XR`"M KJ A@$ X&4|~P @c+`@ I ;X :Dx)@$ yQH ` `@Ia '?@)`Py p D`` OA (AP $X26 a@D0|&x&`0 |0$ ABF+@N02ԁ W  H@ " yP0|0$ 8@?P`d`!@0` L L@ (\ ` XA0! *08@)xHD`& (@ ,  0. HA@;`@H: H@cR p0<$X&,`PD`X@\XOA (B $!do 0,   L`& (R`PpH@t(P@H`C Xp)pH 83Y@B`Ppv@ Ё.8w  od ! "0G`& P  A   PB Q w01`o2a0 0CpC P3h00TP w0Qz=`PW'P5 0P  PA w0Qt=0p08 R P 00 Pg00E(P]p>0H@nPP 0@0T% Q 0 0,TPNp>0K@{P0 `!A98P  P91 w0 `VnPpL 8@P @ @P0ovb' 030sNp>p,  0>Pp#RP `!G P @ Id sd P<1 s0 bw pL 8@@pR!! ph P<1ws0 i mpL 0@`!0 @ < @ P%@4)@!X0sPJ0>s Jz7p@8pR 200!0 P?P*ʢt(k0s0Jp0>``s7`'`d 'P`!0 0@q PS0tJD@43p5@ P 1~sP `w0 mp1aRp  P `` 0C 1 J3( 50 P 1ssP1 > 7 `Hu 'Pp0 @ `@0#0)@9/& 0j 30 =0<@p 2 7 `Ku #@p0 312 <P,360*  0 0>0F``SmpQl@R P@.31000 .0D09`6:0 !`j 0 >F` Jp@mpQlCpp PX  0  A @(367c[ j 0E(>F`P=mpCR0 P  j PP!p3_:`/& `vo3PPn@aPp0?pw0805 P03  Pe (06?p?:`/&``!`,'@a@iPp=w@'` pp P?P PPe &0 |:`ck!/pJcj`pL8&Hn 5=0~0)@@ pp PB = 0 P PR/B? B6&&Jx@ ͵ PoV@`bLPp0=0~(PP 0 P P0,4 3Q 0R/? ?-:`/` 7x Ͱ P u`p(C=0ݽ\Q P P0]4 0 00!`* , {G`@ ̐ `@؀ 0 Po@` L' 1s{3Pp0pp P93 0  1 0 /:Bp6[` nNP P PoW o p P u,` C`@.b@0_ P0>P @ 0`0@.ej ` ٠  p P u,apLJPQ>,< nw0(P@p  P 1 @0p0P Q ٠ o@ Ӱ KJy& )bZP7` c4iL!Q ?%MDI2*HXP`@5kXR9@ =:ᆚH^*-9ȉg2a^$P7d,R +RS ~E $,(0 t.(Pg@s|$/_ɰ&mժ!KJyCf VĚTH!+\(t)` (`i 0*jP 5Q^eeRkRVƗWvboq alEJ"A7 (dH>{>` (`C({'L8B7WzeY2! _82ao5@0| RTBxx`_,  0C /MD8 @ ;D%H1DRLjx/ jX6A eCD$+ h?`Pj/b( ` v+X `HՐH8x,| j`@|3ث@ixX`Zȃ *!WH8XjL ,}/)PD``@ ?h!)^! _,CK2xAE ,*I` N0CeլgDA y@D'H^w+:5@`@pV(=5@0`M:Yc&A̠<,D$7 1&XOb ЉNP,j 0"1P5 H@@"[ (\40 l {` ք h$ptЀ*0 @]@P/lk4A R@| ̀`uRS@.@ B0 0V t4 h$y 1"`5r-L,if(X cD@' (j"gF6(.Ё9̗A^,y#`5it, Q|d%B X 0@  h*vA0:m l@`p &FhB0` PdؾA7mK PP8^ T@Agk ׁ ^,YR$Gy T KFmց ^@PG@ $x&4o`s6A4P0` M`@l`[T!24i20`ml@?ͅ!&?xPD`@L`[p^`h` X@>4@ h  PMu!/PA40,  @zhF4dlƶ 6T` 0 crW&)M0`Ѐ%3M#@ `x! ?ʺ?0 H0 80Ѐ `H"  0 /Ќ" -4+(,x !< @Hڌ")< b" 0D 474`ãs:9<:;C?c ! ,}{ H&<ȰÇ#JH ȱǏ (\ɲeG &d`˛8s, QhJ0@ >lTÊ P@,P -@!>l@a `A!>lXa‚ K^ aC{`hA0!D˖8`AтP„ MqP`2XD )H! t%60` P X`Xj `658w $`+BEbV6!@/H ( `0x;`0N00ap`p@ oP(<@H`&20`h;` EbH>%uxNLD@.x@ 4), FC(0!i0LCl" @F $ X 0t&00`R`܀#@&H )<@ H`@3QLz(B#@L! @7X @`\ W`0Hf ( `,  ~0@)`F+\a#`@D h@`@,@ " @@t&00B@0@@  A L&`0(@<@ 0`,$@ >`8H @i020A < R h`.(@< D`-UQ- >`hxG C8H@؀&$`XP h0 # ( P'4eА D*0X  `0 Ps  P0z0P|epi@l 0 R ;0 P070B|ep0>tVp L0#!0 @b  P@}@|mpPi@z07 0pG' `&   PPN70 Ftb0 'pG+ /` 01  PFpNP70 Ftbp 0w h, /` 0!a)00#Y  P0z1|mp PbP`#0L0 h,@2`@@!*&@ P`) 1|mp Kmp0 C00 ( p, ,B \i@0 0?~=0  Vep  w0( 1 / @1p.03*` %9 P@ 1mm ce   #pG+(`&? @ Pjp%@DIP6`/*!`9i 0mmc0e` 00Cp (%& ('G@ @?JYIPE7F !`0` P@ 1?{000 >0`e`  0W0#1P$Pi9'& ` }4ڨIPB7, !`0 0jt?{000`ee`  RC P(` *'}A p)?E ? 1*P!` 0jt?{ 00`p\pe` 18d 1p)0  *` 0' 0j4I.^N?, a 0jpmbP@ /0w0~P6paKQ(@ P#02!@I@:N> 1*!` PF1pcbP1 (w0{P6P2p)@0 P0 P ` 0"&6.…S0J a0 0jt7 n ;@pm0~P6PPa<@1 p)@ P(I `0"*CZB NSP|GF ` PpbbP Qm0~P6PR0+(P `  P`)!/:p?JP͈ ,  &`z 1= n 0@ppm0{P2  a00@ $ P ;02 *&A\\PJAp1p &P&*`RRP !7m0 `#1p)@ P= @1 `) `1 AJUk`J7,!!7UVZ`L8''RLp 7{m`$4 P !`*>p//> a7\~@p Po@``H8 '  mw0)P1 ` $0 @` `)P 0*1p{/Gr>mp p @  Po@``LL<0 p70}S@P $0 P !,7>p/m/,P` ΐ 0 P udW`L050 0p70}S@P21 p)@ @0 ` P"!1pAJ`AV` Π ڀ P Po@`pL00 pcw0)aP0F @`2 ``)`)!1pA5Jc Π p7 P uo`BV08P(i)70-Spc0o)  PBP`/>r7z p 7 P u@&dK,0` VnSpc0@`)a) !`*p׬(`>0 8ڐ ` @ o`BWH>p0'0`i e)PO@ ,p!E @āLaAP`3h@ /4 3gڸԖ cdU):oԀ„ 6sy$<`D.NR8Vz$, 8#0x 7 4k0fβ=Άڴe|U):oȀbe̝A6m5W, ).X@B  ā@ '0@hFP%RxkkӦ)K+R" 1w>5THy+`'~,@H@@$(@k(@q |PJ* ^x)dQgYF_^H 5XaYH$@x 0`b $ĭ <   `([ Z3=3EQ^ᥗ^YFjeR:`baWH$A0 0`b'd耀+.$Xh@,hT D"yWzŗeie\*<`_ɦbxyH$7 +xBV 4`XS@a *@CH*!Wzi5odxMYVq&R*ސ@ @d$:D"1nQC+fQH ``X@ $h  V`9$h@7`b v "RX25$ E$-X@.#H@@@4DGپ0`A@ HCEej7k$ E$$` GI,@" avG6#IADA uD$*AW2 \lbj@ &` $h (,էnM(n5B)^anE'$` G*,   b^hQPCJ:YXBf r h (ؕJd`< " .p z0X`rGCNX4 0`;^W G"! fP i؂^0@@`$H0PH$ph1, :h`!0 L (&a"c8Y"0 L0x:`-x @ h7F `)r/ (@t&ra(( @$$6 T`!`s3 @h0h"d! I(Btp,!؀,@ @0 (&i^ . ԦNBĀ*g6 P`I@_w . ئNB ,P>C X``@ 0|ߙ"/Y1` @ lP<p I ±&>hw X` 9 y x/A&La JP` 9A;t @/@t '| Uv` ؀&` {'h *x t4A pBᮄ*,$G?z `@T@v!J{0{(] > bl` X@# @;>PB5H_ >A X L (@tP` @L;>8B05^ >A T 0`%#` Px#=?S 0XЀP8ؓSЀ `H  B* Ps 0 !萈 . /( P#pB%xЀ `H /C |(X vsFl`K ?D . ` PcE  [(\ O   @ `ZT j  P gt(kDə  HqGKtGN BGG)|4.s*8Ȋ BȐ 4I]ȓT\ ! ,}{ HApÇ#JHbHP@ CI߀ "0XP˗0E`჆ ɳO &0~*]2 &^0ALju`A,TA[Ӫ]P  >X`ڻK[P  k@`y.#N 3\ #N`aB h^ r6X` Hͺ^`qE=n ,N  /u ${6X`%>n` L j xЂ 2p 0>Ȱ H  p`b, 6 0`FB FV#"6` & >a1A PH@y` l,< #Xi0i- 6np ; L@ za5B-/- 6 0 0 0paC`P?`C 0 P 0z{1PT08K`C 0@G 00, D0 \졇&0@PL 2A`C 0QG 00+ &ps b-K  - 6@@G 00+pźno1 @ V  0m`C 0Pt ls1i\ 1i#@wE x0 -h@ @x 0 +?Oܱ股" 3/pV >` 0PU_,LqsHao!s0ia<`< 3 (`t@a{ 0a n00\C&(@ `9AP`!X@p ~0& 0L@\C%+ C`X@h8 z? B K:`A6p1! C,@y@ fTxPX`+6a': L |09]`pp ,Y@fT,#XF F) l|6! L20̠ (@L5L+6 X@) d?]`xC . @<ЁX@·Ʌ$ `Ap?(@  d C 9! VEbP0t`6@APJ (6pp~ &P0CCP0 LBE" >@ (  n; 7? @CB=! V:PV`A(  $@ /X 7@A @ ap (@B:X0ЁX@· @ /h RRp0#'6 0@ ( d^> 7AP`p@`@7 `Ept`60APj!`68w@ АLV|`0Z)BP`X(0 (@20jB4a7HXB W@ ` @  `h PP | H X(pB0! 0 a B R` &P@$`> 0: @<@"4 ?(0 K`A € ࠅ8$  0 `h L@ |O 00B <;`L@՞HP ,-x *`|@ @ B(P'`!X@L`@ & c`S"k2 @ B*P,0F`0 T X ^ & d :R"_XaV #V,d0 Xk  ?P/`>0pE|20`aK PC P-,`#p  i`,`P%O6+PPk\  Vi, QC P/ ,0'0& P P&&@ PUR~0pE|21Ri2p'8 2'17``*Z`,P%2pEw2A= nXp0 #p]#2'17`OV @& @ PU1Ph\  bi`7P 8'1 / ,p,=7`.1P 0P @ ` @ PU1Ph\  < nXp@ 8+1 -`,p,=J70 2w- 0P%  6m2!`bb6  8+1 -`2p'0F>  )&&!(0P%  6m,  H spP  8'1 / 2`#0FJ*P 03E ?`1'PjBP%  6m,'wm- u 6&P,>$>! 0zx4@I^NJ;1'P!&@ P%  2m,,O  +08 6 & 0<;A4@Yqr ]J>0,pj2 P% 2m, Q\`Ym-p 8< 6`0 0 0WD]0J;1'P PU 1 \Ppp\wP '0R1 ,8+ P`*Q 3Y*p_PUpݱ10'P`P% 2b, ,0epm-pR< 6,`00020E@0+3 kPG;1 `P% 2b21 P&hpm-`00 `P6 +`0+ Ub* 0!`?D:r0kh[H>0,pP%  \ K` ?wO PRp8`06$Y +`0 0 PUP /p?N kgpc`[H>0,p  9 X K P2wO QPR00 3`- P@ 0 0p @`* 0!7AMp3fcQG;,p  9P2b00!6wO @00<0  3`- PmL @#8  P `1p;J`kgfxf0[Hp>1p ` @p- 12b01 `\pb/`0''0060@P '#@ 00 *7>pU[pm`fcP>1p!0(!P!G2V+ `\pb6  0j 090@>T   P1p;GP{m`?m0[G1 !`7>pHQ@0  K`Fp \`Y\@ ( P060CUR `#p  P,;G;f?mp[G>gp~pzoWHH; 0/w e@0 W033P P>'0 *;G;m?cPpGP~ p oWCFF 2b eA133P P0p @ P@ P 7GQc`D.mPPfp @ pĐ  y`VC8,k^N ` a33P PP `#0 &;H[pLmpPQ`v @ Ġ udW`L8 Ke)/090>~0 @g 0  ;H[pcgUpP`zp @  @ u nL0<@#  Pe.1 33P PP01 *;GPPJ7[`P ܐI p y~L0<'i9y2,k? 09>о 0Q *a7*> @ p0 ujW`K;> (lĊ.?:(QD%Xa 2H lAA( ` g:*XFh6$(<4 @RfZ^|EWp!eA 0F@ER6: +`bzQ`P`I` (@- &7$NH!e\p(}\H$Ex# 0ڸXхR"<ޘ &^k(*X(` '+$jX $A"RH'\f9eDyC9ŕ_S6:P+` #|x@6`L`I` & 5H:Oy^cM,YD;_aYH$DxC 0 |آ`P`) ` H`pѸ00ިA"鄔OqqcpH!O`!f1Y*D@x+`B+d-` Zx (/jX &`E?(xD"Y>u|h\H$2YEb1^^yJ"$7 &0:(uL` @`X$2hQꀈHtX1x \̢".R/|!W@ ޠ0X H L (p"X@ZT` @#0@1@ "8)5MDB@&8 \B+pANDyx(%T/0AP$"80c$G H<”"@"8,p^I)6@ V L0# (` (@_$< ?`@B@+H 7@D$:Q RNW2xSlxL`fD@`@`X@ j ) h@@iT+ u@ : R,j.hB >ш,&x (ZhjD>ЂDDX\SlboЂTX X` 0!IDEEU"H" y"" R|z&+@Ha@`@BёHZUN1A j Nb),Q4D!`@EZY@LP kakL@;Ԑ@ "i'6qPAojT, 0($vXh;@̐5vHpL`G^G,T>0 $#Q X * |0d &@PlP$&P @ X@> L`HrȄ*@T̀ T8 Enp1ހ,R (@HFfL`"(@~XR@"$ ^1` bj X@B2Jە#! YC.4A J` ؀& $#U;0 . Bl9ȡ ]Ā'40,!I03HB֝l9_B0Ā,8A7@,!EN, 3(©.a \ ,8 @ D`HF>,`!pvkX( > bXX@B2 n'8 -p3 [ ,840 $( 7BЄ.to4?-D G`X@B$>X@LJp6xмư( >A N 0`H\/,@* v#T [8C{ cP`4`>8*3h3 ?k$X^`8$10$6h3(8`X X#@60Ak3$0 `(5X 8$-3(k-`H5 ` 0@(؂3м"l-Ѐ `H"C(` 8(؂3368(P Ѐ `ШHD_XHP@(*P jiD) `A x 8)EyFj ` Ѐ  HЀ ``((z$(XHHb` ȕ\j(8Ij J(ɣE ȯHhʧ, JAZk _ ֺʯTd-4KZT˕ ! ,~zH)\ȰÇ#JHC3P`CIL0A'cʜISaL0aA J(š hq J zl %24,xXci o>zlƁ.JP L@|3͇? =lKX1>A >  <J <,aV@q P`H`C? ;ĐV (F;AJ6( , 0ĐKHFh0N`l` < <` DiX+l ?8q 0 K ,HK $0T1N`1,@& c,18 PZH=NB C0DsK 0P4=N`B Q< (!c\<7TPB, J 1=N@B YGl@&(c\lb@B @>@#L1=BN@ @@ ,0 Dsqiц&00@,XX 0P&=BN@(N@ ,0 ,(1c,1`1>|,C" ,0$=BN@^}2@ c1C0ẕ X% < &.(@w 8،p1,KB9@XP1Xa @ @\P' (580+І; <=a >"Ђ) KЃ0`@"8`@tD$'|6 F 7! L4( cp , q\P' ( x6܁ >N%! aX`pa V0(`D"8$`@ā6܁ 7&  db. 0% 4A6 8&.d p`. \lC0 m`0amP 0:)(l@@q C@\(C``+\A K`% a R0|`MA6 8 &p hhX(d  ) c@ 0As *P 䳠 hNPip INL | 0 +1 H 4 `@ 0ьHP' (4$`#X >< BPC ,`35@4XX@"HA~`0g 2P00`XH `RHCl, $,<E >(N6p k^!`jB@!H L@d($12 8 d! F' Sh'@P`X6 0A CX "# (I< E >(NQH&BX Yx`),XB` C`,`0X xPL@N Aְ)H(&H >0+xp " ^ 0xE;?Pi0 Y@ xkZ@`#B0* ,@v A~ 0`bRX`@>L @2` RX`!``H '0 ~ 0`bRP`@5L @2` RX04 A p   >p܀  Ӈv$dL? @#00`0 KXH0p8 77'Z @22 PD }"6k0-,R`H 0 0#صp=+'`#8$ = @L$ 0 9k0&0 H V`& @++00h 7= 0 0qxp=  @LT P 6k0&0 H0$>` 1p8$p;7Pꈊp= ! @L$L 6k0& P0$>`    7=>`>p8 22 D`_S` 01P0$F0(>HJ 0똊 1  =  @L`_J` 001c`H0 (>H\2 0}^3 0 @30_&@0c`F0 `1 0(>H0$\,P P Pd 2p @$30\&X0X-50 0(>HV0\& #1(061, 0' ` ASJ` 0XX( @ 0 ?=K`c`P8INM0Up>;,pr#0 @ PA-0\& `e\! (M20@Xb,0  4^ ppk\H>0,p# '0 '1 SJ` 0#eP\!1 05(Jp, ',@C; P QDq `}hP@;,pr P SJ` 00,hPh! `00 1 ?7`@0CK+` PIrpk}h[@>'0 '-0\&JhJ  <00` (Np&02 8K08`0Er۱}g0VH>3r#}A JF` 0 0&_\!1 C0@1 ?7 8C0 PL Q7p ۱|f0VH>' P$ `JFp 0 $P_\!+0LP( Np  P808A>0*бxs`f`Q@;, P&`X`'`S\!+0000B7}'@+` PA Q;Uk`vxlQ@;, P `JF0PSP\$+@p0( N ! 580@ 1@\@p}wp<``VH>, '&`K`'-0h=@ '0 0( Np$ @' 0 9'@ 0 1 1@Pgpw~pP<f0V@0!0 '}2P `FFp P-0eJ  p 10E2@ fM}  8 P@ 1@Qc`x@m؄@Rf`Q<' 1@`+ 0&`P#0-0eJ 0 @ P10E6 ]' @'50 0 1@Q`x<vpPP@`sc`H0rb/%G;,@<= 0 `JX06p 1E6 PMT 8 P 1 1GQ`ẋ@E^p҇s`VGpJguL*`V@0`e0< `JO`@`.PN`pLT `+0  P*>Q`x̦ pv0f`Q[0x podL800 `FOP@ !P E6 PD0 ' P Q 1@V|Ґ psf`c`~p OVH8'` 0&pE.PN``L Q   0!>Qf0vpPKO0f0xl А o`pLH8#` 00 &pE@E 6 PfD  1HZ`lބpv`c`f`` / А*ӢnȸqČKX&Mڰ`auZeiQ7jXa0XxC:  4L`$Hب@xRqb3)w1 'Vl`` &hN<!(X%`"FT6d@x -Xv% &XazZvy " "2J`N؀8, Ћ& cH,YE] E[h9H$7 &%@?P+@``t~h| lfh F (`Zk|0#E"dTce]neRH$DyC 0` xG!=H &`* JH(>`H`&Xo 5a"`-d^7ITJ9e\$D 5`" $@P>= +` p`T. ](^v F<(/(@K69YpS6dBP +FTqL)$7Ҳ!an@A1r'H(>`{)$6a ("*6A 5E1{SNe\~/ŒK 0F@qVZ$7 &z r%`~(^.ʨ@ P* IP ZPE j1ߥЃ`6+V K,oP%8 ZpφH>xE.L E[@v0 y("̶MЋ" 8.nQMDp&, @AnЂ 7HP` ((, 7`*70[*~SȃF|E-NщNDyx`& 8 ZPH>l @EPP`X%' L0ސEXœC&,BD&RQSX"7A L@vx17?PT$%a(hX@T$X vC! sȃ;PE\8,pqNl& 0`$@(|X dl @E.20`XQ` @X$DA `H0W;Įz aM`)N K,zP`(@FJ,2 >" # h,N3[$D jPADXb.&xRszl d)7|@=PT"XPd$U]L, ZADXb' K,Bv` .ܠ2@"X@#/ P  5!yX97QSD!(  (@a Ab,HEPx+I"D jxCsw5(@L(hA oC!RtsX #6\F.eAd,O$ !5Ay("]= GA"HRP ` 0 Hv b#D Kl  r T[b@@'@\GL@!P n0@0@ P0\:,P6` X'`("x0$` &,$  EpB0*;A Xp}#PP$I?3$`|)Et I5 P@|Ā'h;60"{a>) B E(а( > `}`@ @LG~򕟑\IBZ?}Ch`g @ 0`տ~ 9L0+D @=8؀ `c+p8{G>h3+$[ `(hԦX œEx=CxFp<9X +$;XB)PP*5{GhV:J(@  `(Iº:;X ( F8C =93(@`X: @(؂38;?8BPBЃ3+ `HO$F  @(؂10`ط,@0Nl`/&@ *(>v3/ A %P  plY'J%>L0( 0uJx1Rc0 F ,PݓPF)TV9%HHU 8 ai0X@ hK I 80Jp 0ai'D0>`a0``Rz46LQ2A,` 0H,ϔY)0Jh` CHC0 |c@^ @P[V6L,P L CH!80P0l Æ$AM| Pr,P?3 @I0C_( R0c@\i<0A T@/p,0@DW$ ]| ,P@*100 'lB\rHX&0@? - J@IC_(a  @0L &P Vp O xpFp IC_(aB  LpL ?p1<Cq ? L rЅ/8XlC . >06 /@ F V ЃrЅ/8X P@@z. >`1 >0` H` 0`B t N0AG `pA( c`P0 `nP@p B tN0A 6+] "h'a O V0 bN@ P@r` HCb$tN0A I @: "h( J6` [ @( H@H$t N0A ` (\S , `` V``p( H@xA$0.| &@: k*X@0`L`Ѓ)p <p0( IB̠ _p "PN+Yp0$`1a JxA RA0X<%6D 5$XA c>#x ?`K4 A @X`+xg$` m8 ?@  @:Xr| N` `8.(F , K0H2` 0?0xan0`@a P &0 l`8 ,MtC! 0 L0` Ѕ/  b1PL0  pA@D #b 0'L&`@:$8 N`"t ?XHX0#XFP @Dh  xK8a =0 t` X @@|$`@R H0 , ` p0"Xd G0NBLt2]6h9H d8`&0H@@ =`Ph0LW`@0N%  ` Pxh.>@V , ,Z' G'@ .0o  ` H 0` `0`!X @@ S N+X6@,@3]!h &PP0p(HxqU J=` .P 0P0N?@  8Z= 0p+ 0 JFx `J=`I  3_$ >Z= Q00P&P;J&F#0 I  3_$ >F '0 JF8Z>I&F#0 I4{3 1 0N? Pz&u F  JF<V`>`P;&H#0 F!3S `>Z=` 0 @f  SFK`c`> Pҡ `>`=0m.5(Sp0 p<H&h 0 /0P`ȱVm? P1"{3 =`0@$SpPFO&hPp+  SFH`i0i7@PΩ0`=0@ @?0? Q FOp$'Pz/0P`ȁV#"P0 .B>;1p ', @p$S @2`P07 #pPz/0\`>@Rn0c 3P]kgQ@xqa, q' m41 ?0? OS  pa 1SJ0H``nVX0^`|pm`VH<x,p ` m41 ?7 h!SSph'@  60\0,F`i@p `p.r pw`f`L@;+p ` @p$Jpp SSpQp0pP 1`SPJ!8W*LpX0^ x0`VH<x ` 70$Jh pSSp 0' 1`SJ01`00RR0,0 .00 P/p`˵ ~0iZQ@;' {3$J!h  JSp 8+ 1`SJ 008 P/_\ `v`L@80p 7 $J!XP @/S07 h#<P 9_,0"002+0 P.!P}{ ziVQ<0 7 J XN0Jp6 08' 0MJ 0 C L 7@@g}0 @ƙp yof`L@0 0 7 F Q ?P7 h#0 Pz0MJ`{ 0 C@p P ;V0mp| ` ˅vf`L<' F h0 @?0Jp` '`  10]J`{7 8C P*QV0f~p ` זp @z``V@'` Ռ.0 =`0 0h @?JpPP  ` P 9_&  0'C  7,pQVLp p ` p @z``L0y  00  aO?@0U 0 3_& 0A0`  ,HV`j`zPѩP 0~ Pz``L0p!/ j6x'`@ = ??0pX01 0 3_& P 'CP P*HV`j`zPp p 0 iLUg0g[Q<0wxq ?=@U*Q10]N` YFC  P 7Q`Zvp0㗰i`Vmpxs`VH;, ==@%0UhX00]N` 4 @008000*HZv 0~ v`s@Ʈ iZ`L<q 0 pF=@@/00]N` 4p10>Vj*~ ` v`v@ן  ~0iZK<xq 0  =<=@%0]N`40 08'0 P;Vv0v@ 0 ~`VH8'Q`` #Fz@ ?-^XQŒ.]Pȁ)2lj \oGhIcǎB cf (VUaMUr!jX0Vر $(PF|hq@u> $00@j8aA$`D HX2f-P|qČB` lSW>}"ǎ0Z c 'L0B8&@`0!D =n@ ]  @1 0p ,`P! 1@~G)$N`iUZ{BxC 0` |؁7nA*‡``>az (8(7H`H`"  RB =YV`i P>$K$70Ê(a`/hc -xc`A$  fpL` 6`  0k"`&Ž<YL8yL.D 5Ђ $az; -` p >_ A8Ԯa`' zg `X  * RBuB =L9L.5D)D;0Ê(%G# 0`" xXx  ܺ(&X`'( Rf0C7'E Î9Ђ $P>iF -` p؁7^l+)z0g(*`(  4 -PC7çE5# 3 >iOI 0` p؁7^()z0(6`=` 0԰|K*,!03Xa \X#BoP$;MH{ ?'L&`@3T+8e`0zDBafFȄO;-X! @xÂ@ -0JB@f 6p@0 75A>Y ; mhN\Dޠ0X! HxÂ@+0JxB@f @p 0̃# -A : A;! iqNdB 5A L@| 3C@ OP $(@$%F >@B`5z)Hav8D!2q!bЃ+D> @ A%< `?3c"@``G@B`3C젇<b"|9 Lb 0`%< `3` 0:^$X* +hjPE(!3D0P6 0@`!H"=E,`Uv' Vb<$J<0(`@?׾a |` @Q"=n]0 |+h j|rLv0C| 0oS> (bG 4#D fH}rC [ 4>G`#F2TľrD`1`0Db!0$X@惸&z0 ,`$EzDBW:~`Tp#D eMGub+ a*0T(?Jc`|` (.K; &`G@-@> , @E h !؀X5L0 @@}` B`/0A4$`<)ȁ ~11`6` 7,P 8e f &,A`Eր3`& Hxsi'B#{F@, (d^! Gm `Y N 0 -?p(7>~ 6+\9(B#q; L@xެ P {1.3<z?+0 @xX (wߪ*''S@?! ` ` h/;=UO`CЉ4-`(XD4B7H0& X!t  ؂3>GȄK<Ѓ7H3&@ `H"4ËX$1h;FpFNB;H3&@X8FP&10|AX@c >#,N 0A< - 7 "@/` ( @ ` `(T&4H 4P=$0 4E"$_Pn`a %a SA 6>`1h`@C""_P N0),П@`0Tap= `$@/@d @)` (Cd ` @C@Ѓ>@|  AkC$P5a /!X$(7L`0z%@,4% @Hk^(H =Pn@ &0>mXp`FXP/͕@ր)  Pv,`8~)@ A`0Aoopl,hD HfL$(0D`  ~&@ @Al`>Pn @`8 x _n6@EX,@@28` h`(HCO7AB R P7GM6Kk@^(?&6l 6? ( l`Z0 ` Tԣf '  .h8[X߸l2<X05*0"X@2; ( $ " PDNyH\(X{NL`((l@!``@ A# V@N`Pg P'  P ԗ@ P`@H2P,` 0($ \`P00@Gy `OPOT00 `# E 6@  0= `0 /c<0 0 u \PH6P @@E6  ,0`K/c<0 0W \PH6P @PT$PN` =,@ Q # 0 `\0P`@K hu2X,0 P5P $P?` [pW2caV101 PH] $P?`>,P KPpu p\0KK`iPq,V,0 PP0 !  E6@  1%,  pu 7cHR0nH`P1q P`H@0 6/@ 1 7%2 Q 0 uph0PK nPi& }0^# HFJ4pP`? p["pP  @ uphXC`imAy p&K!.F/@ X':mH0Vz"z000 W7 0BJ4;,00J4p`?pP`7?pP  @ uphXC`tKp ` 7 )]}w0s``L<R0J4p`? p??PpP 0 q 1h\`<0Vo@@`@)p` v`iWK< D 6p/@  `,N-P @0h\Lo)o`+0]` oZK<r D 6p,@ 1 ,N-Pp :h\ &Co+` 01 E <˳ o`pVH<0 D`7p??Pp 0' :70< dd 0`@T8_p< o`VH<+ J4 @/p, Q @-P?-P + : 7 @'RoCp @p\ ; o`LH8  D7`P 0(`P`0 0Ph\p!0< d@RJ4*cp> ` o`LH0J 7p 6-P +  +E|2P^ 0#R@a0 ;``0 P p  ziVC0`   @,p,` `P`' 4] Pk\ 0 0@pa 00!S*Zi X p 0 @ oV@ 0!Sa @,,`  67P`0  6m E|20@ @'0`p< 20Q`vp p M oW@^ST7P`?p-Pp`] E|20 `0 W+0!S17Zj`zP` p ۸է yjpL'`.P0 1p P67`P0 0m E|20 P^S @SJ'>0'` 0'P P/2@0DP6=P}_zD C Cp  L`y ^ P zf`\gpw0g[H>0'K ["( P 1^pE@G_@J40`8 C @H``yP` ^ @0 of0|gQ@;,p#K  ["$ `Uo E@G_ @M0Y  4pHjy P 0 p x고g0V@>0),p   P,%2@0/I狌 @8 V a‚ [-jBөYp8c +@v#m$a 4`!@kV (  X`|@tr{990c-8‡>mc +|#A*w] '  @ h8 `= 5XV @@BH;`1l H>w$aBa@,`x W$`/ ,@28cA 6 Y?C0 |$DA cpC3a P>w`+D @ b ` ex "P  aj і H$}:4(Ta $5A V| 0R+ D@Q `-oD@*-xd-4tk|; fBp '&P82B, `D,Eo @`G@B0 VB`1s`58i H`@XQ 1\(X ? ` XHn`Ѐ bpHBbTn Ný$;'Y! HX D`Y)Ȁ e@ & ``6,eo@ h &P v@U'^80- 78 Cd, X@P` `Rn XL 1&h}x$3a HA B0 +p H`P `첔3 >`PL2` @0@PX@-Z&`IՂC3 >A&,X+ X@P + YBe/` b# ! V@AͰ$pgRo, (=k` n# ! [0!/P 7[+X?Z a #` hMZP0 7@X@g;G4^@@&# '= Y  h` ,0,KG/<H3((Ԋ; @< p G?2e@~ `oe@ Ѕ5w`& ;A, @ғP; (W#I!AP0@J`% ;P >{{uA X&#7] LXxX@.~ϕ, E!xOaWVȄEJ=zܘP cODrg&RY "@B;s0΢Kz``  G9cXCϦKz@0 @WZpbXao,&|0 i8qb0o&2 ?0 ,0XY8qb,1`H, P p &h$TD~ 8,`0@@`˜,|@0SCk@N< l haQR0C,`$?$ldQ8qc2@ CAGdAЃ,k  @ |Q8#c?.,,AFlHqЃ,{ &T 4  X R8#e@A D KF8 ?, ,@& p|8RF@I o,qB/ 0 HP@@!`0@SN4H=P@3`*2{B c4T$BL@ON4H=T@/LA02; =p XP *, H$F8 7 p )>P <Ƃ&P*4 4` `A0R %(A F2/4p8Ǔ\ DD &%!! K_ X`#` zpP hXĄN "n0p0,V| X, X 0-@N@$L`@DҨHhnPh? + >PB^@$ `lh ^`2AАR$(BT`~$ @ aЃL`@@`'B^'l$!8ͩNwӆT&(L`~r) >Z0 !`Fp&x ^17x@!P ?GXdLz` @Pl`', d`x1 ^P  ;X c#Ѓ¶` ?l' dh,nЍtu H |d0q @@0&m0 8 k P` yX@ '\!9A_``"H@Ґ0 ` d` D$X  \ d ؠ(@`8pM@$  @p` (@&@?p ,GCA0&@Al$   " (@P ( r$> 78,@X B@(@0`'`( F 0& M~;`X0@`RjD ,p@ (@0`  0X4p,` r!H r]F| H h @` iN2p,` ?0`X0`9@A L,8&$`Ȁ`! Ɛ+(~P;`X0 H\$  &"` ?X`Xܠ ip  9~І;`X `@H@LD, `7hI6 0H `$ 0 '`P @   pm0VC< P pmpVJD0@$,p! pm0cL RP pb VJD006P  0 ' PS @ 0 m0cVn =P  ch0@ D 40 9`$,p@ Pm0bV170 bVJDT @3`$еD@ PJs0L a@\ P]S00b`0` D0 :U-@P  @&@$!0 ]` P ?ps0L`a@p z*@00V VJp@-@P 1 &/P`P?ps0L``@ P p@&@$'!PK`HJ4p@-@P`2$1 0  wb`!` p s@ 9Sc0Z`L>,#'0 D ($6 `P?p~ 2o@#0,S0B@z`V@;<8pTp($P /`- @p0 p P0Mp~0K0Ll H P$)Pp0 Po``L@800C:p($/`-@{@ P wc0Ko 00 :;p0  p o5zL@8#0 4pP-@P 0$6 1 @@ 00Mp~00a@Pa0 M  0 o`pVK00 A$`!3`-@p0 Np0c HtPl + PP0m -; @ P  yjW`L08p A!`!0  @(`- @`#@ 3> , @,0aPu@< DS V0 ` @ 0 oPWC,@ PP&{:/ 0K @|peɲ @,0dPl' pe`02 @  z5jL, PP@&$00(- @`  |c PL@l;@ ,Vo l Я P `pL'P  P@9 !`0 (-@{ |e@ PRo0 R0;jzPp P p M  Po`0 JS`!0 Q-    |e 8l0@ 0p`o ǰ p y`1R A 0 T8EP@hDPP0 P0|hp #3P Gju `ǐ 0 Po@!`!֬0   P8eP@hP$: D70 0 Aa@Lp VZ 0 ~ l~ P ƀ Pj`@0&7Jz,p+` !F( A pN@DhpC' d 00 ,`oP 0 l i`PPPhS>0,p``P@-( 01 !D70 0@TC@W 0;`jy ~ @ omph||_0J;1'֬ PP@-( 0D70 0Qap5@ !pVy p }  sm@pS>0,p@$- N@DhpN0pW!VyP ɰվ ssp|`o}]0J;1'! P?8( 0P}hpNRp8` ?i@6u"5 ,R.133x4zdȐ"9r2;b8 &0X3g= H` !:,`PR+§R ' ;z"g-U|ϝF*)*Uq# 37h0Ar !0` 3ITXh s͍ /L@ &lPq#G|ō#[sQGN\ $G|܈ 4xB !6X! >x iH;Аa*` !  B9|*8Jc<:8Cc-@v!f aPn!N! ,@ 4`诿$p;ʐaY`!8 `*''",&= n4;58 + XPQȡ'`iX8a6 (`O' &X N Z *@" 2 0Hc3(3Ȋ-@vfBa"pb %|X8a6@ .X TI @ &X &x؀ (@'a3P$ آ 88‡nAZ/b %X!NPa @jE:i^Z&X p`  X b#@ O.PB nl( (j @p6ag.` H ` B`!X*(\,4- S‡n" +nb`AB@ "( }G @ʸ &X Z`1A`}i 4P!vAq/x9$!8 p$; N0lIXהHed0 ha P $ jE4e @Tű x-p G`Є.|a gpQp18LB P  "XГ``0R#S@L * v# 'sp Sp1 Q@Ā*A4@ 0R6 14$00ZDǬ 1KSjJ8Ba\tXa Q@| ؀& T ~І;`!X~ `?ϥ` `4 @ `݁ c8p *& 5~І;`XV00#@HCjRT '4|(* .TdKBa@0 A`L`X!?P|` (OVjHN 1|P*DEK mI)( W"7 W`#2H[0Rԥ9#T1 `%7W``X@z2 <>È0_D@0\ LXpL` pu+ @U<F0ȮUXb+X K@$'@EO>h#TC1nQMD+X C d͕|7Je@ 0F<F0A b E'"@ L H@0z3%@F|d>`\x\ JD=xx&( 45x= N`V]@c|W JE+`8 `@¥ -P7ЃBXKHR\^8c^XARHX:x5&( @ 80P7@@KS^cXe8d^R؄Hl1` R@CA@A 0?,0@@ESt'w@? 0R  A 0 T0@Ѧꬷ@PpA|r$Go 7@ ,0@,PP # A|r{'HQGR!AbA  TPpO$G@;[A a npP`ThPh" h8̡uH z0 q?N: A( " @L*pTX  ?;`(@ @,R~`,I X@x`m؀P#@xT`н1C`~ ]>|` X<m!@P\"@xP`X00d`zpx @ R`@<@m!0A* ; ( @ @ ` )@6 0 ` @ L ֦XIH A*,B R l` X( P@ f@&04"@6` ( P4d'pz 4u$(0 l&x <},T '8mPhN 2,A/PD , `ՇNp#Ѓ , (@AА@ `0^  @ h(&P`  !6` ( P / ` `>h &Z~ (@dWb]p#Ѓ , @ , f   ؖ XX`0 ARG0B =X@! `@tXP H`@ ,PP! `@ '8bĂ@!  P) ` >$ ZX&` @`pt1``?CNp Ѓ , @qɬ A :8:4 @  P` (F1 8x(C&$t T )  60XDĀ" !`k%8bbĂ  ,  6PX& % ` (C&$t(   @(Æ(ɀ0 & M?A >4d<8? `@ P@$`@ 0T=p!`71` Hb0@,@P ` (@$0AS P>zqKp >0{< ~`Qq4  l>QK >{ < ~   P$4Q  @JRo@n>z < ~0 P$@0 0  0@0Rl70 n`GQP @0 H 0@PRlb `rC- n`7 hP P   00S0RlP 0,q1;P>n 8 DC@P Ph @s `@ 0 `  A*|  @> i 0`SAP P :  P0 J0Ro@ 0 P! )`Mmj`pL8'p<`R0@ @ $h 0@s W@u  i   C3| p uoWH@K+0 @@P P0 0@0 0 1S0V` V !0A N j  P ``L0@8$ P  1@s8V0 800PJPE Ġ ud@RC8 A P PP P@0 0  1S0H Hu WpQJ   Ġ o`pRC,0 1 PP P 00 0@00s 0 l  l0 U0 + @  PJW L,0   0@0 0k l0s0l00 ~ G ð @  Po@tzL000 P @0 0`@M0s L SC 7 m P ud@R00 01 PP P1P 6 P@MpF VP`8P!o m` p L  Po@`pK0!0 0" w8]c0 u l;yp p p ˠ 0L  PoW0+@ 0C0 0 w`> a8Rp0@yPp Ɛ 0 @ ʠ  o@W 0 hhP 09T w w`> ld Pou Ǡ ` @ Ӱ 0  Pd`0; p/T 00 PPC PQ ] p>@P- pRPl0  QoP @ 0 p P`,"5 CP @p/ wՠlPW PGoP @ ǰ ˝ } P `1@*Qd@5 " P9TJp]Dm8I+u@00  pZy p ˰ Ӱ V>J0S6@**` `" 0 0 P 0pDw8@  l@8` @o p ˰0 p @ iPP_p_E0T/&!@" At=P Pr/PJ0Cd *j ˰N p @ s\(*EP6@**!`0 0@P=H/At>@ P p/0d@` 1Hy@ 0 =  `f0hk|-?T/&!@"  At>@ P P5 aC 1 ;`jP 0Ǿ 0f0h*/^^E Bp,*`[1" ~Q 0]P ]DmPP+d0G3o -Zd"=s@Qʖ1gЬ2K$Iq#  Bl` l2p $`0 DTҥ8rԦDŽ @`'BAE#H@rGu}@2 5}Bf)YDȏ7bPa" (L<4hAg 0?'PYp=!% c:,aBp_8ʘ1gЬqR2'A׍Bp (D@E &Bl`r Gx@|8bԦDŽjNB *,(, (.n8b +` 4(B!~!T0! ,R!^PB $x @'aD&X j ` a(Z&2BP#bC+!DTa ,@f^xAB@ ( H IqFa 5gpb (`0 xb=]'n$b( !nxABL\!"eA@a (,H Y3 p1z`R j`+x`xZ``,Abٺ3Q ~Q f(Id`AB &X$pFaj@`  ( ` @0AbxV&txAP@$!T0! b 2  )6H%aD&Xެ0h p ,GP 4j\:W#X4,xJg!@@pUA`ܠ0`)եA X`!PtP07x <0,`]ʕ0nxth`F:` HĀ ß@J~k H"0 h@20,0 BcPXplv 4HO @@x* I_8@ lЄ5! jP$'86L<)b.#( g6"0'`*.@ oa K &,,@' X@f p_tX&": `0`XMhZҷ@*P>"ѐFA ]bD@SK CX0, (@jm`hB#\1h;Ҁ1tQMDB+H C &$` vuT h8 &":Wxp$ EN@G'\1 Kp01 Rt"p+0a+?`GUp0E0pm0+^AJDuxN-!@ ?U(@@\a c$IQHo l<8yW~`@,1nfP0uRT"p$ I@D&5@&NQ `#ǘ5 ex)"!@ W $ uտ~4@QxCAlE/ jXԘe8_xYH: & `= TЀ(P7@N W_Xi>pie8^xRA0 A 80x:ARx^8e@Aq@c8^J7`. -x<ARx^8e@Aq0AqiXcY@ A$IJ 7ARx^8e@Aq`Bpe8W@P XBDEB P$P<@HW_XDjPcxM3؀ ]YHd@0DRx^ePiiX^ E- ȸPu$ tw؀5HRx^<_W؄E-P Ȁ @vȉȊT`X4(7KX=1 P Ѐ ɝɞ`X[# ؁#p (# Fy@Ѐ `DZ1P(`Ѐ PK@ ˿L(X KKʘʴX hLʘhd(  pN H@`w  XN4΁ ! ,}~ H*a#JHŋ3jȱGCIɓ(S\ɲK0X0͛8m~ @ H# ( J>- DŽVÊk3KHrbAp7M%7R 0 @ܿ&Pb)Wp0d(ʕ7`X,sB us @V6$zjPPEH&lL@F080aPjE ?c\V]& JxJÂ&71.\aԑH+2 !,0@$0yQ p%zFJ1l 04ߍ,*FlQ+ ,00@0@ ] *z$2 *d 0P ,P,) [!HH")<@,ȸ@ [ V K$2 0P@ L0`ik0Ɩz0|CLb Vh LAȸ@dfbQ p +z0i;ID|`B22@oC~k00k &b2V PP@tk({k̺h  DA&h,\K2.P@Csk,#F"2h O `m ȸ@,!ykȼD` lLRI#T /h e `m @ 5Q  +{@A2ÀC2@l /h`_0pH`AA-`,65 . (@j, ` `V @PAR0AL iHk(h7,``B/{Y @N?X@0 !X %E` "$ ,XH`U0o`4<`p` AJ " 0`d'KZV  VXfU!  x X*[00 X`=A @VE4CCF0 l D (@CP0 X@HVpbFU@ P&|  А` `" !(4!Np>U0S.(lP3+ pPb0  { 0+@pd0` `/*7G.. b00 \PB70` F R  Q0d0 Q00(7GHb/G?%100B#30@ $`Xa :a6,( ,X „ \~E>A!B@a \VR :HSC^E~ +N{0X`AE 3zJ28`,+'P>=h2 :@MS^EY`@ X0=F,@" W _0B3f "Ds .+L30_O8aà P2'T̨  XX%|1xҠ**ɥ X೬ L .0dȪ"hؐb( #!$H"H`" \  *2\`̧ 4%>˪XF7x````2pX`2Jӫ@&%|b̧\ @ &Ȉ_X L.y )`  |0!) # w@~` \@' & !7` <'q7 XX%Bػhx`(`g|(Y%4hAihG> XX|J<`( y3Z@xc Zr H{7 \a<"/y @B !X` (b@ zn@ "0 d%20T FD 0 % Ha=7 N8 0 N 0` 0!L` (Iȹ  @p Ȁ І9%'@B L` (Iɹ HX V):!@ d0+Ha 0HVK؀K,0$`DPІ3qYT"D@0H  ҚЈ_@7Y 2 L% 40$ykg>h 8*p:)*!@ o !`AI @g/1qxF3 RT"D0Ha0`pԧ._Hcg6bD$: a`dgX X1!orC6q _D$Q RেDDb 4 bӠ4! _B 0H(`a <_X AD3i߰2! _B 0H!J ^U׺i P@".xcL6ag(Cx)* @ԁ C~]׿=4`:B)^ыc(F7ґ^kPCǐ+* A ;?P@" +| eXHGpLCxE(*!:01wb&W7B!HT2A p|c_^;xps4GLO@\h %_(a@887|1&% ͽ' Xu{C ! ,{y H ,(pÇ#JH@ HǏ C,cQ7LN,ɲː lڤG  /sYpt0ѣ!@I! J(3ʃ`[&:ayطH@)UN2_ ХCRT(1Kmz&RV|D(ำGmh MV^ A|k'Nadn7luX+7 >\aBYP@ Ͽ/1-,$"- p ކvK qK)AFL-ա 2P)mB"` L-H& 3@ 0@ ::@в,ЃL" *B PY D@xgxK K.H`$`|@20ti饘hK R F"*Yj/1H L aL$`lLP `'ehx!$ D00p 7@ pvb , ehD0ȚG g-K A.,A Gl@ȚpnŽ\lD"2?h \X&P `e` Db"H 0u,0 `@FIQ (ӘƗ, "&p ` A0BUFL 0(! @ pP6`rp0%` _4b@W LN `w@)Pr(|РU 8\ x  N(@F9 NE1 +L$Lp@ `7aX@i (3R@801 @*L$Lp@6b0< @H9KpeX) xP0|B P;# a&z(&`Q@ B, 4R`@`@a&t`, &p `Prv@ , 30 . l `0N `0<  0DdP @b0`oa`%Lp@ !@@ X@iP=- 3@,- $$&hp@6`@8X@i$P" ]2 XX) 8(A,` X@i$P" ]@7X `at70`!$ O(@ @C`07 ۀ ` f7p6P3pp8ðtR@J0K @ p8@1 0L`,`P € P P(Zհ  z>7k90: T0J0Qk K@S0 0 R`!o `  @ `[p>?BP J|8 @'KD \ bP0S0P W@RB 0*`@ 0 `[A>C,E`HJ|8 Q;D WL Ġ p8@Q0P  %Q 0!>Qc`U>>}}\[tp80PWPA'o^,Tt}S^ K0S a PG'T:R P@'\[p80C0 0Q >}:Jć@p SL`SP`&PQ 0J @In84'X0e`p8D$Q 0J IF0gX0et p8 0Q 0J 0:In4 P}$ @ t p80Z A}0J p8@P SFR `80P}@o^0.tBJK0etp8j }tBN 0JtQ ;;, KC`c\_=`Uz PoV0K`|ap8\O0 k   Po@`Ѐ`Rp8\-!0  k ڐ P `  PB >QD"4:ek땨JM)Lp E5mޤXXм7o:mٚJTHa&&8(LSV 0ʙ7q4g1_^ P:oȄ]i&`мy'r=d^d;ݷ9k箽{5uM}eU>UJpqGJ'ؼn qĖnq} U j 9+6c_[`0$7:Ѕs-g&nun^яTq((1048(d s,vb^aJ2u-8Hծs%\K(Gw(\fѕB,11 l23WT!0I(vd7/OE-&mKN xK'XNʬ8PoQcC: 6:[0M] 9q <|@J22 ?Ly[ S =3b@d?n;/&t A^cwFj^N+qeFz'369005EpT9(`sdΫo9f$ h$FPlP zbӑr9}ЬjƍGP QU@҃FXr/G}8jء"hG6j$-H,nCa):D*qƢC;C"₰'@4fm( i,d>)ja2:NA M ^$5 6}Dm]?-x賔V G(6` F.0O6q,EvLyUNiW9Lnpld;n9*3+~%s{"wEng*iR~[NbD@Hj Hb< V(` hӸV)G8ԻVP #efXFB!\!!ՀZj+Ca`x$Tl_M<6)0JSCP)wilrs_7^l6PIl_mVZPՅf\$()BD,YAUbp 'RZ^ VvTiQr 1MҤ!n })@6a\\T\aBD\2I }0!ߩY>)'9 RF)Pc 둥!Q].ndnIEh.ڟ 9m .-| yL\Y ^/tl~#ƋSS#0B]3DKk`R M󯗤#ɧ790r23-)oq-: B2tAyVO,R|NQ`3 @v)I0JbE#M; &4a٘- KCŋ͈TWV;ElIw\HuC![`ڍE) i!j+jV`!l!ِ!儵ۍkr$QRVm(6\@\L!YҒ@x?[`tB ٓnF6+4U&<<=4aOwqEJi=xg DoҾ8j1ѸȞrHqAOwÊ+ 6j\dj ;Ŝw限u. uUk1h6?ƿ̜B.@!%bl61jK3C7t,/]rMȧkjx` @D"S,EpdCUQ%~oX'TDn~(+ByB#> V7KejbTeՖ_gg`]i*.ZPz1eE`m3fdIҚO)CH CQ;7 Z[vji}B3UƋJl}SOA3vЪ9j@c 됌j ~* a86CL?NjynF`Q-z!N_)!i{F-%3xB<1xdv??@. IENDB`auralquiz-v1.0.0/images/logo.png0000664000175000017500000014720413105040436014736 0ustar janjanPNG  IHDR\rf IDATxyey';mTVfTUP@AK $dHZ0`Yay-;-˶lʹ'=q# -$d!$ b*mw?qϹy2_f;oƍww~~// /f˃>xMΩT*92BJiLd^ ! @(J)!D(dJEzK)Czn k @*ymWJ))B(9vޭև?,<ԓLNNbr=4@a9厀g88jzJ(`+R ZJ62Q*K%n2)V)V*L)RRJ!siӦu@X_uWS>_V?Rl*BJ=IS&\V?`P-Q@]T!!. k- BŸoU LL)J+@* Sv~[?w,B@z9@h T٠\Eƅ àUVg V@@P!X)4GA@gz,AA2R J@A ]FA(~Q4M\W|sqqbZ60@9u]ԫ5bjr ۷m$@`c_\v:y ())U 2QJ%T)%)b,^(BTUB'2JHJ((!)4ҌRRJ2JiJ A B hP\)HJJ΅w9@#J¯T!ģ=C瞃R c֭}$InǏ#cB{nݻ9Q$qKnBVu&%4YE8xeY%M3(AYBTn+% W g)HJ(Q2IRX:)RqR?f$+L A B$=u X_@}_gI+i(%({C.By8h4zfsJ) $y{L_d@o}N9r>Jy晐RBOp7crr~is=xDZm6k@@>2zSoԣZJlp DXjx~ $#ߦ M_JT!LIj3>JTJ 19(ȯ")eꂋ߲˫8+yGZطnї^8hv^JSCqgo͛e4-,Rl޼pcϞ=ؾ};8.@J 9v܉]vaffwq[\|x`vD%{;SO;i1?z)12Bi( $%h )Z1.w+%d%RJ)J)3%d}@厑c/Hw;޹ر>|/j7mm߸Y0ߏ, (>Hv޽{!,#J)~ivmp]|cfXIyv :1%4V+iZI hNƘ1R+G ܸ4/.V`02RRLJ)2URfJT45G UhRsW_nЇ>p5g'ٳ7|3gi¨J)x4M8cð{Fsr-x饗pӍ7y8PJbݘ>>D*V|?,s<7s=/u=/\/ JBio@91hݨ*LTTR H"B r*)82JfP*#dRNR&]So +>py0J46L[o%\O~LBm42,s0]=A<&7oq(VPKA1IPBQ9*`4!E3‚`"]{TZAR!6RH.pͿ_k oqMY 8bbVӭ_ÕW^ڟO0ڀ% !{nH)~oyۥȒ9R8.RTQE)%RE)S< @T3DOЅω taK)U$_fP9Pꓟ8_Gڑm3'UT_ ~7,+jCr]?a7~^9KE0fA SKG%Be*TB:)I%A)AI3lzu@R)Er@ RD!HB"(I"(*J)#%JJ%T2O#RJ*rW1jCv}y-9ٙR?uoB ag&6`Ln n7ќ1tXIVTzRBSuSvRPILi2P)* H%3e{ (JB6s yp3${IYŋ !7|zc|YCPoO[^~Hf!QJ3#2@9JR1%@%!%PJ)#0J(4ګc1F1c:2QPJJ)c0*(@@# pK/*Z-w_ϔ_x HA A^Nm`vcKqAxY-[0\sB0B 2(L}2VL ! s ]n_B!@`29nwB,r b7я~r :nqPhK_(?cq\hFݷעƍqAPJ.`rrr28\EV[x<-Eb{=ӜѤ֗DZʕ?K?<(=:ea5 {߇\ů]z>!IbA6`ȑ#ؽ{w|0眃RBJ9vBp0ұk,-hZ zz9 YӹLzSE{8qвk"8seYZ+z_٬_}زe n17 (e`l>==__\~L2<ǎÎ`~oXG1Z5+)g(꽋zܡv{p,Db~]uMZRͪ)@[^,TV:̽vF(Y(!P&f&ke`Fc횛p_K Ǘ%\y׿ p5@$I_=%kM9;GqbfD񛔔hZp=cp] ]<7(m~ X\BK+Okq9K Y~dVy oLLacƵ., ' (51sbZ@p] m濟j/nݺwy' |Ͼ3DqAhZR(I0;3BP ) G9b9Tb( X&A`R?t)>gy/({ gi Bٳ'х̉iD*8ڭqШ7LtO$&Y]O= PoJ PFE 46 iCo 8X@@jGeG 1:yP aN!J:[]wߍG- 5~l03Fx|/\LOɯy; !y10J8N~<g0-RǗ BP jJI(fxsS`_k)d@00 /*@Q`9sl߾{W/v4!sss?_'Q\{5/7ضm[ϬjYs^T6+ k033y0K/iۮSs|8Ϋr'q>`4MeשE]KcL7Mlo 6nqՙbY``>m\}Z}qx9F7N"2)] `>p}Z L>Vd &(}V/3=3(Up@lZIy`HMG-av-#DC = ̵mo "PzR@)>쳹@qEeA{v/FQ|$T Ԃo~aW]<<R[ Ps]YH]9yUخDT%dANtMdA(:" 8" v0ZN'By dy,"wX$}&H 2eؐǎM?i8J8 @2ئ@?5|s$I(ZZv}x_-B,6`QR_XLb|Jm(ֵhXE6j^bVby"Uey~+ /e|_c*~033qEhhlS`W ^Bv[gr*{>a 0s=TUT+xasMU4zh*KS-o5a\U GU0l%G;,c׬MbY]ʻI: Fp8tS-Q]vرcHG@VCZe M$~xogѷb 7~, Ν;Gvޭ6tQ8<ׅ{T_?Ϥ4/G]" Ld/b  B%_73gC˙z*h1]d@\Uܽ{uRQt!XF8 _0 }6o"!/߬unٲAM _2Zqz*Ju9݊Lʳ Q 2bMfjL(--\ETܛէ~C=}0d @(yafF 1sf%PY|]ό'ji@3{FB)$眃;ﺫKu-~݁U6[)%v}6˿EW],5IIkEH$]?QPBA 49Fl-yU}ցAK ɵ q %a)ugxlzVl;_i{=bq br 4ïT% * |CRypl-?t:mQ4ꘘ@EjJh:гT~@Lpz+&Ed%8ӈi> CDQ 4jutd~G=`׮]}a`9DžM,T5)%,skLu@YJ:P؊< .`&A_@ Ы5W˳c9?Y/퇌#̃~}٫(44FAE04 4" IDAT˽UzzzR)kķ}G<9RJn/v|GEoߨ"Jtk.Nٶ krpEid@ꫮB`,9LLlzE| Bق)TAv&i )2!NR,ϝ.8Eiu_(fT R pAX>BdA*$~y_JBps  rai!canVNf Anbx**FcB!. +ir5u/?] /n[ lu c,?BW78P@n(pYg(]`2u܅kL $4A=&FAݑ9 {MUj~I6n@BPOF6E40UKjC}LZϲ|60lb~~Nߝt^֣Bz=\.+Mӓ ˲[o3=S'.s.FEvpʳ9oϞO`bS@}{7vt!ciwt&'fgeu ]irarU-EQ"CA8D2M8I#GZE^GR &PsLFVO Fu.$K>K0F#(ofcvV &fff077f Lw D\-z jVz ϼ=O>qSB@n[ʅ9ˬ[SާlFhτw]mt]A~z BV?q. KƑGd%Yt:>_ aI`qE(FFFqؤTn&XQH;I\'^Jzc YV0$,"(|JHa"vi1?? C.Qu⚥ϐ]9H)%%n/N`,Wk>淅.1 , F}/zohZt:h۸ 8Uj}ٳ'.4 Ss -CrXh6hZh5;GvpO+0 \?H'' uށRڈ@dN|+q V(31H [ @KV9ZocN fh u1N PR/| 祗^z{^T>9kwygOXo@hn9_`,6/X9&:6vՊq^:u!+|@I hS+FONU>kr7.A/G IsT Z(=+) Y "A:N_ߒ10w! k>oOyltt~&#p|,f֎ҍX>81HቨT*D&NO}CSx%fLzGsf=L|e$˞([6/*U2cQ q\hA DvE@""$qb `^w][/c?{ZNh^LJ>!~hZ=A9zA-g2cq\n)Č(p}a߾}ŹʙIHEZ= 1aij6l=9+uq(CA^Gy3njeV:S1C3; .-]/JJvOu̼ cK@V4ŵ~<[?LSVcDz45G ^:G6I.J>!СC=B[V{4eXzjh~:\v8*Aw=wyhF_=FB`,+]zu, s] j@0e0,VZ;"sV=𛕝A VI%$v :-u"Sm/w^xrk9gB3 {ܞЛh~5)H3 M% Y& 85R >`@u{ԧ~/(MSE49ho /2?~zrО={ǎ[gP1lٲW\qm݊88́T?N[]RJ.4BPFA (Bp!M$as[# Fف # â](f0 r*iys1V~3) ;)g9Vgkd !j*̚?oFMt.A@l5_3\fYt&̴2ѣ2˕D-=1~w~[n7xO}3q94|O=^z%?~j ~96mڄ{3΀_mrLd߸ؽ{snΒ}yBEn@ Z?#AH$IgkKpǫ{/btt7@5h4]HRBLXof" 3AN湘s2(@?W[ fK_my&-ɾ+4I5eibO;SQ &a}5BPMl@!Zs5g;nذAg>k??~8p&Y PR\{~\t!8~8tbD+ F l͛ X($\quɑöF:<ѧ(c<z|)ڭuL^;7 0o':uTa$Yy~Mz$@F;2vYD4BaF +s7(KeEzd1 q@+W `i("xc={|6-Mdm4Z)RJIңkhsf_g幞טV3J)WΕ%|UH !o{y~|_Un⋶ {"SDcjjSSXh~i uXbsSO?a?2$QTIRǨch kVhm>j? %/q$g哤&/kS=T{[TPVt]Sqla]ieVbv`cc#ȱW^~Yw-tmSvÏ3K/D~EC@4AD}ՂoH7 (@ RrHő i##t #]A`7~ƒߛk(x43y?F,SdbTR-rF 8T -ĬĄZ0 t 2֜ wT*B8W[Mi4~p2ur .^\).< iZޣ8FEb7FPZIv]H>zg*2ޓ5z2^ ٳgOgϞ쾿/+Kgݻ+@*HaRp^z GiYVm۶.R*M\"1.}FY.v~P@žs4{(AQ())6,MμtK762^ibBX2dCD(a΃0 as &$$4Qײ3:l WE&nn^^cttzFi&\g$kP6n|IӶfPlS,Ivv{!+  FTSgU(.26iW(j*##A:2Z1&Iar@`Xzbn\xZ92|g瞛T&'77*sW)8$vjܜH4۴i81GGGn#"#3q.UR"c15ݱl3Eo\~m-TQ"MϺf]z_v`w gw+&$I!yxrssts/(ף_wu:[jqv:4Mēxb$:g>Fi}_6~ĉ d0DKs"K %$AE\4-ÝlJhv|qcǑG ZGՂjEgg PK'NcnlYYR $IR|%IRƜ}7AU7 p,Ȟ-ܛ&G$Y R7$JAN>כrCL]q|bS}"8YۆQ@ۄ9Gcߵ˳}ǾɷzWNG>PԃhwERz 7[-4\8 4̓W驴dr/Vnf4d0|c9fV `Hy~~J)T;`tj)֘5&t~H,xif4kccc Z0 򆿕ʬ5$#VEFSK^2N#IC" Gvq$I 1;.XDOBڏ~{Yh7NGkǘ ÞeQ9<$FYA*itb$!=tzlNȏQaIXVe˕\T nWMr9qĹxUgז w'هXOa70>6jkaյ/ՠ%K3aNRބ~E4~fЈqy3g7oTt #yO#9G6,3xg(=[v> # h*RI-;1G=xWT9ڏ}S%E k\z7?bP(uVI[\163ez%I] IXw ! wcE_utyt ԫ|F}/Px=;wH z"*foˎ 'P*oϤEHD!8nWYiL o ?BR->%&.I3;A 0 HSV$[}ݡʹUR38&`*V0` 2:4d+fIX2n}4C 8V=Fc[@NW0w%{+]= L8.[lY-+7 hw1`J-  3EN\ *dG묿0@VC3y7iWDeYK:GNlE42ZmsC&T\E8$R؅/zA{7ZN~=o7.u&:`Na$g).M".h?e`qDQC惹B & R#I#dd*cAgw, 3К1ƺzWфF^i Bj5$#۶ͻF "WO4 b|| PV?M"ƀ]o`ݰ dbTm#[*u#o;,ZTjMI.gw^a<4~`Џ0vr)BC6ha|v;-1 S߅O8(%ZL#Mܕ&#D¶}|wPf.SH*i Q0:: 6`||ۛb%/K.SI}s%ݯٳUV"djX=̠[ɀ]aZfBrэʞ A5yg}za5A{!.(p|NW>XmOmG0^-rUV&022ZVe;]ߑomLffOfE^`s3sL~rh+/zy:.03;3ӘADAvn̼Իs28THxL* W H#S!2E Rt"9x#,EЏaLo#:~8^oI㯝 K?(q l@rQOH(g)aHTQ(ib*syc<p9[b +0B!3 "  )((V3M QpD 38QP/zyEQt=Bf5 ѵ&v]Dl ZJ )1HaD~ʳU=u(BEVXoϾ 3tEg9x'(riQM[# ѧxJ4)d\5X^wu-u_Azz)l9 dqw?(NBWIuNx ]tJgs>AJX bw>yʬPdi(Uj!$g]HgC+_k*x%  E ҅Q5Y P܃H)|q*gM[dV~eoy0:Α0{ m]f ش7mA١&l)7.ZIgnǧ1}8;'Nl"̰G:<pU2Ulb$:!ѝq}$~yJeS_-ǔm^݂8/*#٬ w>Tk1,y ȲA*,bdx^@y-w[(#|#\rzVvP"RƐ+>߶(ȩl >j>p 8]s#g"X~5k҅S[9N"j -u |e,}MD#oiAd ul&}6:$y* 3MFrގケxe:c{$\L O /p@)M%V:[-,|i 903=/y7X :(Anǿ^8FqT՞T]; dlltJ%i}A@ƹ~ݣy[˙.eP1u><PS(4U1~{WDvm@7v^.kj/+JꃪfTAǸl)$ ,+p\ 0:Mhf5j2O0ǭᄳhwX>obЫc݂Z:k&Y70D׺g{_8l]PHO顪|ht|j^m޽;$9O}α׺AֿK[Y@;p?VqWeM>x|r?++a.X}-p#"ĥ3оÇKY"P9ioT> K[8~hs+Gr$`<R>0 &G }&%dJ谦2:8yk}%v 6N=q|h IE#Eώ @;}?ҹY/8k+;* %ciZi胭666gTqz~S3P&nmma}}'Nɓ'B']Q:lqZhflΕ e u|#1$ctuh]9Iqq.XVX 2V3^%?70$va" Oe8m\׌ !@  !R_ baD To:t|a8 ޗDSy`>kUgiOV/J#W]E])|_Rנ'a:mj6ORbݫ+N9 Àm}mH~y=5wK=oM`Chulށ#/Z @Hۥ<c dLd紡364؈{4MX0i{:V|P ~ XC zu::^'Bl~m*L<`%T+5(ſrP*(vC8Y`iiiU+uqy!SRGQYH`PGQq5QgmkO)w^͟[&fl>|jdWR8qڄdssNv6CsVA.Ī1ɳtNu?K8U}iIb7{ܒqy~نmv`) `\HIڬ€7aiM8zot&.03^dμ񯿉Z`&1_k M_S )kt(SNMWjXfohh:y`Eyi&6770 rfh;YV 9|0䭧 ]Ȭ?]kt$"M@x2wup.G7ztR(@2 H3>y ~o;ұy5ކ^#69 ;Kݨ ÀeJX ]`fk[@VQaxfu10ˮX8z`?Fx,+:DQ?ѹ kZy<,e|hۯ6(vQb|S*Va@0nn(Z݂`mm VVVz# ԉ(3@h.Ew;PCl5/F 0A| ߅z+`~y⛰8P(Hov3N?Sh4z#Da o&lRtфn;5|TM' oGpt3'{lHXb|KOy ֌~RLsa Ӏe<y"8icgN(N3+H ip1]Uhv]rf32&{䉜D,+ohI@ '_H]ue㯖scCWCA(&$2Oy3vz+лG `>5 0lAsgޙӽt:X]]:Z^E x &|ei2McNSÇ4eA<(h4jrjy=5z>cKB N4tZ55  l kqBg °Z< `z'q+4M˦(BwD^YYCp!8!XYKtG~N-,MPʿRi!r;#6pV N'7 SI5ٶV55l,Lǐ)S9Eޚic[NJ$( {kgfY,ۂa8}?.,M[۝ڛJ<@X@^6Ue C~jAW f A )-8C'Nʅht*/A='i4qi&ĪG@1/i~u!j{,۠MG:Zpa*UаZ,ʽB)%#F}iL]Zɕ mz Bl`<C-&h4jP3Rj6=~Nf)$P\-k'%@HsR)CZӵXQ{n`U]B"O(~&vvvdyqzyy9SPOzHED_IB'ɯGuiZX^^ H* wv99 roC 9RPipg'Z'SiL}i)8yVe 1j5l62F3dUS5P=bH^x Pd<8Wwii)_JE+ NQ󚳬{<֘*pXтVk7mJTdq\FQnyTFSydi(9L{7 f3ơ6 ŝMS-mܢfJqڕ6P]]Lٔ*^6q䵐Pi٪5Ru'FQ'SPd`𤊆A]l"}&~Bʇn4!{Qo HJE iu,DS=WAkR>EL@志o-@]_6\ܦA!/t"S?w"[*rOәkk +++8q9眩AC2z%X]TA}.R;NPh5,R䜏loK)0xT1 z*yL}~TB5z0ZUd%e*.R|gj_恀EZ_%rZWOV=F<ۨTtZYפȭARX^uGU}L:KMIJ=CdRGґ&(G+!ןKe^$kZT'IewATYC2^hҽ3 S5<*d< TR롂4",X *p]-G_Uכb53Jܨ>~< m"꒩ʇ<bPՊ^煮=\+ePF®t'I+++iM J@ZS|QudszWCӽQ#5KF."tI&PT$*\얥5UǴW `zOm6Q!BGQmceey,cYRRKmAAUvVDE/Bi)CP4NQ 'T:):'j&9T֢YD.Q,@VP(óZ'+pEx2O(E{09)jy8DTeT|/n2K*be:t]d2Ç+SR[U*ʴNʰ%4Jh2,N$VUEQzz^uڙJȫ@uTiUKo A)2fu"R1w*@W\7wMU _EpJP,N$Z~U姦ʔM1Naq_=,TZYT^. !]=aQzu9/T PW4ORŹޛ'̳~JʬQ Y2sQF^~ _,kgHB竃@]=8L WuÝԵNh4yn|4UztFc!km6&IR޽Lє)@#dT|x~JaR<_bv*5D.fy/?uceA,Uk}b~Ygp:n&u.W*GJ' IDATVUsǙ;d8uYY*m[w}SUj֥xk5rl?fB*ϣ-T;TZu:lmm3kY +g&S=W'CT,_JYV-UڮJ.{,g !H@e3Y!8eLQ,"AoյS,<Ǐcmm ՝=ydα?p@&.eԪun' P ( 0 0Q$jQ%`jbUmZE`q_e,@ \$s^U-8qW*yqwYu0be_P ?ߏb4Õj}}p]ܓBS,zmxJLa8MV[V%f@Y0 gy^^[7 0kϢY;8- @UcqsTqBN9ga ƘR !4m# Wܫe1U#(VfR;U--9Q*Wuj7oU^b =[2t ݟG1~Ax`4BPsXcLyҊ`ql%Ib0Ѕ:t!  ]54ia¶m.Bn&B̢1u#uާϲܳXu?ŗM$4W@! lPS!O!I«ָ\hTɧpzNa)eXV|J:+ڡqSۃZ**ůf$fvvEy$ILUd?'gZk &ir0eY4MaYX3 Cc0 iu?܅EjAj <uo_0ic:P|Bn&%s$[:H>U/OBϫF9XO^2σ~E|>?~܊ }EEDZC \,cz !FV]u >uٶ 0q8¶mn۶H$I¥,IgFjph:njZlTAkip8}pwEB*Y @UL\y0E[&ŮKe؝U|YI ڎJQ^ڂod_'O:a6 p ha}EQ#}`عPوV{_ٺ̀/"QSXUJ |?q`5$Jm>fXc?@ِ*IgN%Xh=G]sx /?״u;7W[wv---n6t:jV3ҩYz!4t8GЮ^cŁꨮNtĵw]wb(AYQ۶WWGueyx]KE^ì,xG^[OF_,[;2<:@Q:{yQo|vࢣ'Ϊ8ui7sS71gqJ K L[~sX4ޫ_.߼J suQ(ʱRSL=IUaPβA鸢-;8e/Rbj^+.'@gzn8V]6&d1- _%+Vۗ#/qY{Ƒw0 ,z61g: Tenإ*Y6UuggEU5 T&5%0 =e!ލBPOT/}ܑ+~5\ <įY^Svt{)7dD h䟲UwUnXSCܒ}GoʀɻPo ( 8 L$*~Aߓ@XvUrb$Ф2 $CtHԬi+;U(Ml!g+ z a+|5=]STWLq->Xr\WWg=ap~%՘s.c \}+#O)e~$ O|}o?.umX q)Kڝj=CL!243- <߇ <>#膑{4!`f: OC̈́M^ ?|.j<5 8KDQ{*B!eYyB 7D¯v'ʅ&SʪR>^n/%"7ƏݏqWФSJ-_!]_9 c,BBXӴX !MӤBf'.$q8(x»?z3~y-Wi(Gqh4$ CLRQwAd- l"[˶đq#j& CL&L~' FRGQIRYF9(jN9*@ncJ](ʧ%Lh W3ml<4M4cr g5L;;7 -l#[Η߃N(e8 P´4&g}&n#HPfNӃGh-]ZSe !BM|0|4}۶C˲B۶#4,esQqD1Ms8h4F;ٶ--ӄs.4Il6e;wZ㵵{)`Yzs#cxh~Mzf{KKKdۓ,n6R"+'&^}+=ƩSlAƠ #KϪ%͞dL"O8ꚿ»wC0{z,@JVK'nc0q9FǶC~8xBdF8Q0>Bs1GOƜ1dZ5n6Vv:jv;rG:08\RjQAF8Fr0@KMn6!ϩ<̺&Ix\[ ll6˄s0 eWmk{k+v+Լ$=he`'.a?3, B 1 jzmnnkh&lǁaâe:xNxގ(*ycY5Ac0pl W_c뗷4 O?K->j- Id9n8ΰnKKݥi4jk`k }ߏ0FQ2: 0e}I ?>׮xZ6gUoVY5ɝxdF,wN{u1 .Dhxy ;`0B7 o`yȨʭV+Tq%0.C2)0@8̻}f;TP:].REÙؽ !$q<0!ġv[ų?lS7!pL$qꞤO,!3 cbY֨j F+++CNWVnW6R.8纔2SZ]~[4MK""ű5$c7i|O@͗ymcx|ZzNs  [h WWWe8k8댱 0asqx$yd2|ߏޝ\!A7r x X^n TL0q]xY xYf^uSmc8"%59* :\SW! ]4=YΡI-MG/>Wa |LM~굸G SQeXiV`<xZZso7qι'11 3 u=0 BY(81q"$2BDaaĺǺ'BdZwk)ZG1FqE.ifFF gzFa2N&J,#'Ծ#&~*TY?5] +YqY}M`&Ʀ KM`!E~ DCӬwm~fB) ^LC&LpaCEsMi6$VJ[Kb'Mmn`6X%{Q v o~NކOF6*[Z:N>ʗ qas%&-a8rVOz ?+.8x!:+*.[" ЦKgfg!+x3\yf.Tp=yf  4wa-YX-VptQho Y5 )'=׵/MI\{jIAu!އ74s jn%ZoisW@ի ;q@Ln>n=}{.ȑ?ˊ8%|lGgɭx۵oK+ 4PoA}brݒ~OitF=˲PRjtiÕ oJb7$ W7_ESo8E®^tSV,[:\O 7*=wz쩿ge>⦅j HB;Zʇ03vX^^r (Lfc +1GOprg{z;HGZo}pԫxeLIUX̓~2y?|T.p$c9Ri4y A0Z3K z8EE!IC,,ށċ}s[*s)}(XyGɉkW4)uH)$0gqj9 8c2M.ƅg$a2IX$,^P{]mS 2 M,*x DX0tQ _U4{(7h/oƧrğ~މzÕj@ΘR GWꟽDKo>$~vokTW< 7xPp~f`Uz Ip&BI ~]_֤.= SJI< x}m^Oyg1zd`F1`0@ w]{#O5$ &O|4~^EW>R(Qƭ0.I"YDiF,zk&7ʆaj{=|7ŵ>cÿK&'O"0q\ @, X: &_}8v޼t$T 78\"&DI:uJP˄֎8;YVBQ=] Ia<xժ>q^k#f}5Ltuud2d"8qDi1}~otḰڟd}SYP!ub$I5]s8W&Ҍ rnBB?SI L n l%IGQdoygkF#k8XFy uE,cy}c!x.^ٴ~^yes^4BDr[nV eRKuu:A_}ܯC/Ptp u~LaEd0&dX1l ]o53$rP$UR}xe@Lt.Q8fEVyp8lF#loo[^ p4D }8 upF#m0j~_h4FGH $0޵93X6QkLw^e``>H-BJ~Ϲ{!JǮo6XkR,y+0M5t:XtͬR|q&u#n>#؁DDxŅ9yZqlM6":U}V ¿OdR@ '1), j|nqp| 87/vd2qFt677MԩS榱aZ0ж i[elook ^f]K7~ ٛJeìygх@jl'K~^X@; 0a{{Lz]ථw%Yu1jf A[FJޗ*AugZ ϟ> $|{=7LS _};Uڬ}z*[9Z~  w#F#)8gRgi7 6-ċEMah };7.xߝ]wCMcOh1=N+8IVx\ t]$il}N]1vSUhDwm6]j@{~.6hpGޠ(寃0 ~Qۿ_Ϙj'YIB]`s՗C V7CNv ^Rj91QI5)$jv WԾ}T*:2+Z|oXW70/ ^tEc/uGID{r 8΍;8o< `ZDۍHN8]dnHQ#PgIl=yM3Qok5qزĶm)BqAi:;OX%B̗OK2q`[s2>zрcY(˱=q?'ߚφ- h8L]#?X=m /}QB^E,ם;থFdvkg ޽_K)B] Bs&0Ea)G/l:gŕ{}U{xށ#&>rG~A{}T2{>x`Ean8%c/8P'Ai @qqr>XDŽƜG+nu7ڸy8i^$5Mm-6}Ўk$cXz&~vhi4N7>u"L ƣQɹx}>>THP(kTd-0V<[ֿmie\I.abYx"ySL9HK!ZǻyD Ơ!,ҤWOQrӫGG#ƍ7濼xw鸙rA0W^HE'^ǗׯK@ i(4)=))'?.yF<OCs][5V/z`8>ktuIP)&ڭZ&Z&lcQXکo!Lb0^/ |/kt1xQƄ{0}]7q,kž,䐱 H?p ǖy^ Oo)mp!duyqB2;c 8p@ 6XjdLOmM6/5~&!Oi\|. ,K# 4`" h\uR`q31yX.j7\ :t +D:D ww_U}e X%AaK. HQH uSOqck+2q| ^V֧ eԶ{w0 ʲ2p^R;`\kޓuڥ0>TvE,f`0ǫ/Ў\XX׸g4&dÔdBGޔ̬'WL:3x/M_)'1B b8܌(%6!!j$T>~߮lye)+>Ҕ0}8i*d֯_ M(LhO7'C46-eo bv)1黅%+qei@}Q*R@$l١:o>,H7ўY V3b D _˨ >@HĀ\@mj'PP}l qK8c|zٯ-7ӗ0u׷i֯<)?lظqc&AUKdq^je$ķ~|Nc3`#|3*2L: g^ GAz2[0-XWP:Nrf&JX_ZSL5, ;L / ~ﱐ1\(BZY 4 \.l߼=!\(xsNaS~m W,)nRJj%LD~.u`b)tGO>|yrq0%AoLR1Q3݆fQ/_ IDAT*9n9>>]DsLi"xVt-\huKQJ^}?Z'w;z`؀E>}Wؓ$o6:37n@.$#q7av+vZh/1r1.(*JUVJI)eLDֺ8ڡ`Jo=D3PK6z[ (gփ?H4!}]TVFA$Tu*3(h4=%F,ØO0 OQYx 6!j*1;GKѺϳ׷]cr*u6-h2 )"T*l4:NքdL8G9uy`k 梅\h9?ĺuD^-ܙ wGffV sHGb)|M FI*2Zk8_ww y+`燻. lR>ӯQ4J[iۅy,)eZg77 ^g> ` Lkk+eFfQ \.7&75y g,8 Hf$Pj!~s  0B|9<<=lkHha-U葤 -|q퉀 Kο֩q&Sa+S@MO::uoTjR-@*YvK#7k?kaGߺ[oO b,x>^P͛78faqn7( 0H 0 UUBdGɟ|[c~г^E{{HH%!Q(?)f]fE>fjoc&㚩v2˯锳m،6iKc`vHCRZ v'`^ӮtB0D s)sӿgkb>LVjW/ (ʓJD^t|3ۏm/ ̞_-x.;o]q [j@COk|~$]p[;B<\p.@@m޼(* C Pa(vatdQnW !HaƇίYn[`qŊLVM`[ jo:u%)(TE%D_~"ZyiS$=趿R"@8sx z/1n; I'>.7g)kZR tۥ dەӪfI0q97^rg*Xƣٜfc{"rqT֙EfֶtvU vڞc@ov:[ǎ3ڀ5ɳF$fcN߼]PwM옄w~:Yjm&9ퟋ7@>1hIF"# ^sd۶m(rybV AZƦXTB9wȣDPw[䌜Noɦt73}mfB6 2/R;m$`mV1 luclh͟ !cAѥ ݝg3(žSw |X+dlwNćz5uÐ:B"0|znuI.'t=l=NR1Fxٛ}nKw6fzrZ}atpEZ3<%x 6$$KP"F:~0@6 Lh4HZ%@RJG"V oVEd0ƍi({;? `_ ǜ,;CCCs^Z6M^Ti.pqA%"Wk-&v<2.cKSuu7O#NYKJr9="ho ca6`-|C7̿w>jR0L׿z N{B3h h&À~z]w{Hby>n Nՙ7`gpAϘQ⬳΢a?뮻19a9Wfi4s=Ӯ8뺑:DK)}RDkWԣ/WrD|v6 49+2ΓWZ0oE39z tvl`#FQӌ̩RFOo]89#1 r5t9m? ,>)XD dvSrKJϪ\t˃? C 㗞LLNLУ<>{WNw~/GVӝNrY34\u8NKDֺ.9i8!xMOTGsKݥ%(jCw:` uxA LsȮ 4 ҔyEP~RW~ksorDD*i&KD ~W1 In*<՜BJpcDaɃ!j[Mgh9 pJx8 \h('Xb Jr;],E6n܈g<~\eW}_?(@SV3k!BHT 8TJuif;L:'q;RJA{]=Q4M&]*9{~|8M]EV|qYLPe9{&v:7 `!!Td}%Nt< A#D S6l;^hfyg-oڴ zSSPRI } Ǘ\r9=H !4z|s)9"B8qcejtӑQyaRJGk-<xײY4,03dڥoanz>SĤw{E< 1"\OhuEYp%LjJf0QqO QY~[Z. a tPRB52o q4]ZD >q%c,B)uR4j5t:2E3C!w]ZF֭[FGG馳GS/uڱ2Hެ6)W"}.BЉR @Q  Us%T2J 0B׍gCnx_֟J˯b)%d.:vM]w߽O؍*?_1 X+ӌ1%s/* T*,mNv[v]E؍I 8cL0Ƹ8u]>+˼Vz·0i,5ȬK {Zk n.ookQ&tR1:0odH'UЅiT`&_{Ox{ymEcrjK^񊋑t+8>F 0 yg]TRJ{TJEQ1:(ƍpTτdW:x"[1.`BչMqPm@ud[@0#'z#6#'9¤0ǞW*MxYUx)`Qv3>O+y͜#@X@F))RH)RK)91c4:̑18vGUe+F#ajMEw`3Uh}[ J@<܃2W(H:$0IP kނm붙Fot:N(KdK Qq\5_: Bbl+eXӫ`Ks$F'Pi:ZQ64LB2`. prAA:d->@ůĞLꏒf^XDԹ;v\855eZ_@AI+` Fi[dMfR8;|we; o-=kW)"8$2spB: !:$&w}R J[ & iCK?> x v .EecrgæVpuK2;%$<\%GP|ဗbхDWKpA1"+Ld z͇щ:`D s# (}G'Ʒa. ڏKYm\IDAT8,YZ :tNml!8U@Rb(T1.\xY e^B{Cy(w@.\ pIkb;:_+эœxs,v2)E,Jhw:wwޅyj?ׯio+[Z x3-++x||?DDQ2TRD3 2&(IЊ@RC+ 5BH1PLC2"T -B,)1{^A|B(C," "(܃_%]IrV?411q'fFv Ua2 -s:l!nDdXfq 4߸J|phQAA c@F$hPP)lc:UWʧ w\]1+ &&?/nNO߃^1#{@4 JOsY g J$C\[+_.M {R! 'F.\x$ 4K;=JIc \o8g.6ni㏉4맹zAtg**8K_Kgt;>[1BD xHƿ?4>}%h>« iuJh"FD% 6S}qBSދkn;F r=HtU=1F;'o{?166v/ftIѲ$5N0F֏T.aQ.Z60Qp}+eT*U+e83Ow|rnf9ޅ}K2TJs_kpƨ14~s;y8C;h{5hXhB!̌\wjGFzg10Hqƀ>&D9BoS/9/8ox7ȓ"wdgpgj 0[Оh)xL̾_j 뮻]|0)4YB 0Wy,M;Xz/s0Ʋs>/u>̶ΈDMO)%%*; kk]|ߍߗ / Nz#(]A&Yײk\1anGj kRpvP3 F2rߏІ(.fۺutf_i s5/쳟Ąp ^5Z~?۟(22I>l2(kkJkqu&&&2K Aj}K/+GS+O`<}Q7XsğoQfV iG22m7"k2W*0~\⟮(:w#FV:Evإ("Z %AŸ,yȎ _rȺ &T߼u+&?yꢋ/ӫh;WvgjW j%XsC>3!*7K92`DI3&zj̤RÍFѻ?}3ikK#@g ^ˏZ-VUqHzA4dcd)?+dRcn5jiπ@7~zm?Dr %ZUw^a!$0l])Vx yf(O:ӟu O R'1xKRWٵk0H_Ś}Ay%{>h5j!Aw1`^}9]| 1ˈ@kԿ7R R ZkxK 8/pղ KU4oyEbG \vź!t-ha&{ ~/Ӳ0 qʩlj|/ܗu+h^ A%vu-ـ@Ek{ ̮'+`|~-eV{9 cBw%i7rk1f"X脻K h˛lǤwV ~`ߤRY˦Mx~99+{0"akD‡1 nfOAn_ƊcrvGQ__wqy,',,,tW9$г`OQDieP3PT][[SۭJ)Dq_xS[o+^ <?@}#HT'J9+"s)~yi_" Mb-[7pӯZkO# 0ДHrCH?@+ c-`wb\_҂M(Nm۶}׿S!cBv#M8Ǿ }*f@Vɮ6kg|G4V׳}~.^OoV{tW^%4_h"*q`ZQXF ؅>z(ꩺ;ODFF{^_HIiWL؎}SM X|'pt/t^H)6sT 2tJFok9&RH9'Δ^~%0k={]~%c֎cҚ߂ D85=ܹs=_t-ܖ:&::_svm [.';y$Z}-Co^t1Zy׎s@˔B7^ʎ kםo }b^c  2>}ڮd `/58~m0VڱANϸv kڱv=?JTMcIENDB`auralquiz-v1.0.0/images/button-save.png0000664000175000017500000000235713105040436016244 0ustar janjanPNG  IHDR szzsBIT|d pHYsvv}ՂtEXtSoftwarewww.inkscape.org<lIDATxVoEmvbv " 7gԗ T*oE4""Lq[fFzwBM3w775 @_D]λΛ, KxgHlQ {?iֹo~4ý:8߹ۯ:ȍYN,~/S6Hf$IVc웠yOgy~`n3@s -n,zž&D9a4Kh74 a pm V`5ɨC1S o%\(.qRCQә1<:WJP>4$Ȃ PъOtSq1u+ ^]1.Bi5' "ڎZ]Y95}Qw<2-HZMU.BpL5WDd<`u!9 hQt%a 'C׃K/0S]['=jO~z ŠV+8[I}k@X^?):50Mjқο0\`ⱊ/+0.saST, ,_ CZŗtܸyV(>2o3 ON( KS((N)x QKD-(dg0!#jj:   l@G$ +L"({4tࢢ8>|q$ +¢K $9_BdEdM FX_/z`V ǁ1Z2a]4M/I |9ߞv>46˗.}P־RU-E&ωP( Y+2Mv,^lULƣ?766~gx0 9=BjDП>(h*]2ѐC4wh4<"+츮빎(]a'/8"06}۱gxX`:Лap 壻f;4GTOD#K@4յ^xψȝL&5pgߚғCIENDB`auralquiz-v1.0.0/images/button-cancel.png0000664000175000017500000000423713105040436016532 0ustar janjanPNG  IHDR szzbKGD pHYs^tIME (x,IDATx՗kl[9;v8vnBӥkM*QFWtih4nӐ&}&1&m(c+m)Z'4t6$M\\v|n;= QS5\ĤiG-yϣhu O4Ųfӝ?{{gg >\| ?vٳzz~/:i*p?aDobD7oX Ũ#94hD(誊IsH!zeϞ+ka¦50QgGqr9[G߻`IWyMU Q }|Z/oX5bZu!z 0v씩3N^"w|$A~`e^߷Zx†K50KN Sywّz0kH |a-PDcZp dGUx&,c՗ZwW.;`iހKDoC؟Hy|wY 6.VIE>ùe&)XzaҊp3oVH݊wӰE(|:3B8\ɩ3Uy&-YB<| ;%n/. 4+'ct o6~=t(A>W0&.J (n,Y%Lt~]8Be)$!n7\>7tꀯTeD*Le2J5Cfu"5ʌƤI+6MgV27/c_T^+H@3T,$F-%dZxR G>藛7=Ҿi9jt6Tzrd) @5=?vWjcr1Q@[Mib( o, xYeE xMmrɰHv=@G h[ʽ w9R8Ͼxj:%ޠ\^nZ4yeD*[*,8!.LKDZ-|k J O.+Fdx+F 'O@"m𯁡\֏1F }Y }6}K'쮪Ѩ @vKL 1_蓚x.+@\[eZhI X{*+n4,ɜXr68|$R EIކs+_j~fEяnLQ쪝NDy I -HVGP- r RypE-3!6Ѱ`M/ޮ2x- -p1p`,lds&e{F<˦Y MJ!noW=zqy1x3i  GiZߚ5AEz$ , eѣ̌/K6\pClBHq r3@rj#oa:ϣIENDB`auralquiz-v1.0.0/CHANGELOG0000664000175000017500000000711213105040436013226 0ustar janjan v1.0.0 - Updated translations. - Include .opus files in music scan. - Added AppData (AppStream) file. - Minor documentation fixes. v0.9.0 - Support for Qt 5. - Added Galician translation, thanks to Miguel Anxo Bouzada. - Answering with the keyboard now can be done using the following keys: 1/2/3/4, Z/X/C/V, 7/8/9/0 and U/I/O/P. - Total number of players is indicated while playing. - Progress window is always shown while analyzing music. - Music analysis can be cancelled. - "Easier/Harder" labels are now clickable buttons. - Confirmation requested before ending a game. - Default system "Music Location" will not be used if it's the same as Home. - Some visual fixes in ranking. - Debug messages are optional now (run with --debug). - Fixes for lower resolution screens. - Fixed error where sometimes playing would try to go beyond the end of a song and not produce any sound. - Fixed a few problems with the GStreamer backend. - Big code cleanup. - Other minor fixes. v0.8.1 - Fixed compilation for GCC 4.7 - Added French translation, thanks to ntome. - Added Italian translation, thanks to Giovanni. v0.8 - Added Czech translation, thanks to Pavel Fric. - Added manpage, thanks to Dean Evans. - Better song shuffling. - Show progress bar while analyzing music. - Reworked ranking. - Fixed bug with 4-button-mode and very long titles/artist names. - Other small fixes. v0.7 - Translation files are included in the binary as resources and loaded correctly. - Metadata analysis is faster, performed using TagLib, which is a new dependency. - Sound control now relies on Phonon States, works better with all backends. - Hardcore difficulty level now uses the "Type-the-answer" mode. - "Reload music" button, to use when there are new files or some have been moved/deleted. - Several visual changes. v0.6 - Fixed a crash while analyzing a lot of files without valid metadata. - Offer game options upon starting a new game. - Added a proper application icon. - Added "first run" info message. - Encoding fixes when extracting metadata from files. - Fixed bug where "Some Artist" and "SOME ARTIST" could be different answers to one question. - Other minor fixes. v0.5 - Multiplayer, bugfixing, little details. - Some fixes to work better with gstreamer-backend. Seeking now works most of the time. - Option to enable a custom color scheme. - Basic multiplayer support. - Player can select answer with 1~4 keys now, instead of F1~F4. - Some bug fixes. v0.4 - Polishing. - Limited music clue playing time to be less than question guessing time. - Music clue begins at a random time in the song, not the beginning. - Added statistics panel. - Bigger buttons with bold text. - Added animation while playing. - Metadata scanned from music files is stored and used upon program start. v0.3 - Mostly usable and complete. - Added recursive loading of music from a folder and its subfolders. - Added Options dialog which allows to configure the number of questions, the difficulty level, and the music folder to be used. - Added loading of translation files based on system language configuration (LANG environment variable). - es_ES and ca_ES translations are provided (not 100% complete, though). - Changed the "good/bad answer" line to have a little color. - Added F1~F4 keys as shortcuts to the answer buttons. v0.2 - Initial public release. - Basic one-folder (not recursive) scanning for ogg, flac, and mp3 music. - 25 questions with 4 choices and time limit. - Configuration dialog is not done yet. v0.1 - Internal. auralquiz-v1.0.0/auralquiz.qrc0000664000175000017500000000130713105040436014540 0ustar janjan icon/64x64/auralquiz.png images/logo.png images/aninote.gif images/button-arrow.png images/button-cancel.png images/button-configure.png images/button-refresh.png images/button-save.png translations/auralquiz_ca.qm translations/auralquiz_cs.qm translations/auralquiz_es.qm translations/auralquiz_fr.qm translations/auralquiz_it.qm translations/auralquiz_gl.qm auralquiz-v1.0.0/README0000664000175000017500000000456313105040436012703 0ustar janjan Auralquiz - Quiz game about your music Copyright 2011-2017 JanKusanagi JRR ============================================================================== This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA . ============================================================================== Auralquiz analyzes the music files contained in selected folders, and creates a quiz about them, using the information stored in their tags (Title/Artist). It is important that the music files are correctly tagged. In normal mode, the player is presented with a question and 4 buttons to answer. A small clip from one of the music files is played, and the player has a few seconds to answer by clicking the correct button, or pressing 1, 2, 3 or 4 in the keyboard. In the highest difficulty level, instead of having the buttons, the player must type the answer. Symbols like "!", "-", "." etc are filtered out, and it's not case sensitive, so it's a little easier to answer correctly. Auralquiz is based on Qt (4 or 5), Phonon, and TagLib, which are the main requirements to build it. According to my testing, the Phonon xine-backend works better than the others for this. Sadly, this backend is now deprecated. Phonon-vlc-backend works great too. Phonon-gstreamer-backend seems to work ok now, but I've seen it hang sometimes. YMMV depending on Phonon version, etc. The .qm translation files will be included in the binary as resources, so there's no need to copy them anywhere in the filesystem afterwards. ============================================================================== Visit http://jancoding.wordpress.com/auralquiz for more information. Get the latest source from https://gitlab.com/auralquiz/auralquiz-dev auralquiz-v1.0.0/icon/0000775000175000017500000000000013105040436012743 5ustar janjanauralquiz-v1.0.0/icon/64x64/0000775000175000017500000000000013105040436013536 5ustar janjanauralquiz-v1.0.0/icon/64x64/auralquiz.png0000664000175000017500000001376413105040436016274 0ustar janjanPNG  IHDR@@iqsRGBIDATx[y#WyV_I#x] 0 &¦p 'I(BvRWBIl(cXa]z4;4>zѱRT%]}. ?? o3FUa'XhwAFSH4Y3VwofБ8s2%$'zHUpRV+i!0pa0#JF ,[P B&Hdo]i댮lZTU\Zo6ap8sdI2}~  kE"B)J)?A읻vF)UD$ L2 W%iYVhmN>Yzuq6m(oYz|$ >^ ς4 4M(˲`;ZFjJF08% ~Ua8D׋`0׋0{Ͳ,(@@^2%Jpcc[*FItMCߏfg}vl߾d 4"lT*!_(`yi KKKXfj EQ:,jK0 Q!I&''J1;;yLӰQ=L!}!@}c!T*Nu6IǏ:u*|ԩ`.j5OK׉iY(AZ6|>My|>|>e:}/?E 4 h˲8q0 !wVϜJ&L|ݻ177DEEhanEAό4ߦ^GA:WPJat]Q1eyLO0>{xG^dVW+++F.PD]יC 8?GXJ&eqXRѣGMh/x9/@z߯!,+x?j 8$B`0(nVF^ b(W*^M8۶EEC)TUEP3f(lnbuu'NJ4M忉/E|/8^{a@V*NT}VKp^S:@UUEeP5 LBp2./0O} Ǿ'p,o~] ug@TB&ylE,;%v &`iiS,B*JEQd4YJP+`=2LDR2 Qa&f/xv  0;`o~(ww`6&" h4m5cl/u_P8L# >@CJ#y;a6EAP:* t]8vﲭcׯzydсg'aVX,Rmqvr!`eeś傥R)l6i qi\ q:22΁g6A0|Hرcfgg qmm];|PB^qi* j*4Ugz]T*zuk6`(Gk}{7A L,hF]omS %V cǎؿ?.B$ Bg|8u1ǁaPUMEamC0#اr9XTb Ðlf,0٣mkϣYZئ~ jAt J)ol(JyӸ 077H$QAR^W1PJaYZLÀe޻c |z=h4mҿvc3OC!(ƶmC Z 7Ze`Bx<`^+8bwMF4M+2i϶may2u J]q`۶(#86lBlvPJAvxc.#ԠV5zԲ,R/xx)!5 'P/*SSbE((((J9Au7r8,Rb<a)qŽ㌄_l%!0 }s=уjgЅc;N) @ZC& 4Qא/ClJ)]CoܐY$z㒟]Lضp8+x'_ 7H#Hz;6?xگ=Pξ_,T*,,,P(@5lna(oUן0^^{65L۶m[^3v#e :3q2ֲ, GATZҏ@K c  8NR+=;/G_j/ztY}z?1s[EpDp,%rGbR w`rvQGt}f8=#:{>Oڢ7Z-r9dN@|OD)7E.xyf_cVšRt]gIŐL&z!B_fx\qK)iq$J)Y²,ٷo777A5eB73 155t:x<ql6\.j S2&r rimгӼnI)MBBlj(HSSS] w0,~~LNN"bNDYFN1=3X,eQՐffMj54 0M]p9_|+.Fm{ש_ LG9Ԕɱlx&DQ }>o"S833K&|4rԅ8CeLMMT,^׋P0X,H$``隆T*Mv>P@RAvm 2Es N!m=ƯZ jGǁ tpz w,nԏ]sꫧ_{.?I)`  G"`  QI# p]0`[TUiYY!IxApP0`4MCBVCZET2qilllc x~ǣnE/W3 Al@tۼ @ 2+xqW%Im@$Zpe!u4~RD =ӄia:SSX\\D6EVCMB4<IJ0??m۶[4s;𝫾sق޺qX,Z(jo,k cdIA%mu|`9mHڎIO,p0 2(:LB/b%[`F5wo^޽:xǍ{oݧF^aRl$c$IeY!" fqГSgؚc\SbGڽ\]xpu>r#XpXN)EAZ)q p(M_Q 7%R8 sKևKc1ioxԹ9 "|G< :xR9Y,'00|u=lۆ ˲`&TU(=vB+aD/<b `0Z0 eemcwyF2l;7NGIR la?{ jصׇiyJ>TUђcY۟oumqN\itbLF|#*DZޅbi(:L@rש3 rvϰbQ?lpb48Nbڎo^ݓn'^fF輦(?ԧ@kT>[wg<ܼ` W*l4W <+=uzAy;~[ICdhi2$s}=wouxF0B5F%ޓB6x;vڭ7M裏~'>q{'36#LɠtO{^v}y24=NPV$qө 8:|n=ī٤M7"~8zDZ󾭃 'aC0EH'7wf/N#yUQG<lH ( |_#hq>a"2 ۶avc0) E=g~C^GaKd %>Oywhձ6L BS4xG?nQQ@[q[y7˲n?u:^!fSM7}?Ȁ^c qYbq!Cڟ:?;I ּ߾喯ew0,^^\vbDz*h8; Wv=sqmuo_1n#|x[^wt;Rؖ]l6 ? wyï qa_EQVe8l|]w{Y+} 8vX%&CHfn!AP`Oa^5;`qرnoF$35I =============================================================================== This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. Or visit http://www.gnu.org/licenses/ =============================================================================== These are some basic instructions on how to build Auralquiz from source, in case you don't have precompiled packages available for your operating system. See https://jancoding.wordpress.com/auralquiz for info on package availability. General runtime dependencies (check carefully!) =============================================================================== - Qt 4.6.x (or a newer 4.x) or 5.x. - Phonon (for Qt 4 or Qt 5, matching your version of Qt). - At least one Phonon Backend. I recommend the VLC backend. (usually phonon-backend-vlc, and phonon4qt5-backend-vlc for Qt5, or similar) Dependencies for building =============================================================================== You'll need qmake and the qt-devel (>=4.6), phonon-devel and taglib-devel packages. Qmake might be included in the Qt development packages, or it might be a separate package. These are the names of the packages for the build dependencies in some GNU/Linux distributions: - Mageia (probably in Mandriva and ROSA, too): Qt 4: libqt4-devel, phonon-devel, libtaglib-devel. Qt 5: phonon4qt5-devel (pulls in Qt5 devel stuff), libtaglib-devel. ** Note: In x86_64 arch, "lib" packages start with "lib64", such as lib64taglib-devel. - Debian (and probably in its derivatives too): Qt 4: libqt4-dev, libphonon-dev, libtag1-dev. Qt 5: qt5-default, libphonon4qt5-dev, libtag1-dev. - Fedora: Qt 4: qt-devel, phonon-devel, taglib-devel. Qt 5: qt5-qtbase-devel, phonon-qt5-devel, taglib-devel. - openSuse: Qt 4: libqt4-devel, phonon-devel, libtag-devel. Qt 5: libqt5-qtbase-devel, phonon4qt5-devel, libtag-devel. - Archlinux (runtime dependencies include build-time dependencies): Qt 4: qt4, phonon-qt4. Qt 5: qt5-base, phonon-qt5. You might also need to install qt4-qmake or qt5-qmake, if your distribution does not include it with the qt-devel packages (Debian, for instance). Build process =============================================================================== From Auralquiz main directory, where Auralquiz.pro is located: mkdir build # create a clean directory for the build cd build # go into it qmake .. # ask Qmake to generate a Makefile * make # run Make to compile the project [*]if you want to build with Qt 4, and have the command 'qmake-qt4' available, use that instead of 'qmake'! That should do it. There is no installation target, just run the resulting "auralquiz" binary. If you run Auralquiz in a desktop environment other than KDE Plasma, like Gnome or Xfce, you'll need to install, besides Qt and Phonon, one Phonon-backend, like phonon-backend-xine, phonon-backend-vlc or phonon-backend-gstreamer. The Phonon backend you use, must be built for the same major version of Qt you are using (eg. Qt 4 or Qt 5). The language files, icon and images will be embedded into the binary upon compilation, so there's no need to keep them afterwards. =============================================================================== Visit http://jancoding.wordpress.com/auralquiz for more information. Get the latest source from https://gitlab.com/auralquiz/auralquiz-dev auralquiz-v1.0.0/LICENSE0000664000175000017500000004325413105040436013030 0ustar janjan GNU GENERAL PUBLIC LICENSE Version 2, June 1991 Copyright (C) 1989, 1991 Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA Everyone is permitted to copy and distribute verbatim copies of this license document, but changing it is not allowed. Preamble The licenses for most software are designed to take away your freedom to share and change it. By contrast, the GNU General Public License is intended to guarantee your freedom to share and change free software--to make sure the software is free for all its users. This General Public License applies to most of the Free Software Foundation's software and to any other program whose authors commit to using it. (Some other Free Software Foundation software is covered by the GNU Lesser General Public License instead.) You can apply it to your programs, too. When we speak of free software, we are referring to freedom, not price. Our General Public Licenses are designed to make sure that you have the freedom to distribute copies of free software (and charge for this service if you wish), that you receive source code or can get it if you want it, that you can change the software or use pieces of it in new free programs; and that you know you can do these things. To protect your rights, we need to make restrictions that forbid anyone to deny you these rights or to ask you to surrender the rights. These restrictions translate to certain responsibilities for you if you distribute copies of the software, or if you modify it. For example, if you distribute copies of such a program, whether gratis or for a fee, you must give the recipients all the rights that you have. You must make sure that they, too, receive or can get the source code. And you must show them these terms so they know their rights. We protect your rights with two steps: (1) copyright the software, and (2) offer you this license which gives you legal permission to copy, distribute and/or modify the software. Also, for each author's protection and ours, we want to make certain that everyone understands that there is no warranty for this free software. If the software is modified by someone else and passed on, we want its recipients to know that what they have is not the original, so that any problems introduced by others will not reflect on the original authors' reputations. Finally, any free program is threatened constantly by software patents. We wish to avoid the danger that redistributors of a free program will individually obtain patent licenses, in effect making the program proprietary. To prevent this, we have made it clear that any patent must be licensed for everyone's free use or not licensed at all. The precise terms and conditions for copying, distribution and modification follow. GNU GENERAL PUBLIC LICENSE TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION 0. This License applies to any program or other work which contains a notice placed by the copyright holder saying it may be distributed under the terms of this General Public License. The "Program", below, refers to any such program or work, and a "work based on the Program" means either the Program or any derivative work under copyright law: that is to say, a work containing the Program or a portion of it, either verbatim or with modifications and/or translated into another language. (Hereinafter, translation is included without limitation in the term "modification".) Each licensee is addressed as "you". Activities other than copying, distribution and modification are not covered by this License; they are outside its scope. The act of running the Program is not restricted, and the output from the Program is covered only if its contents constitute a work based on the Program (independent of having been made by running the Program). Whether that is true depends on what the Program does. 1. You may copy and distribute verbatim copies of the Program's source code as you receive it, in any medium, provided that you conspicuously and appropriately publish on each copy an appropriate copyright notice and disclaimer of warranty; keep intact all the notices that refer to this License and to the absence of any warranty; and give any other recipients of the Program a copy of this License along with the Program. You may charge a fee for the physical act of transferring a copy, and you may at your option offer warranty protection in exchange for a fee. 2. You may modify your copy or copies of the Program or any portion of it, thus forming a work based on the Program, and copy and distribute such modifications or work under the terms of Section 1 above, provided that you also meet all of these conditions: a) You must cause the modified files to carry prominent notices stating that you changed the files and the date of any change. b) You must cause any work that you distribute or publish, that in whole or in part contains or is derived from the Program or any part thereof, to be licensed as a whole at no charge to all third parties under the terms of this License. c) If the modified program normally reads commands interactively when run, you must cause it, when started running for such interactive use in the most ordinary way, to print or display an announcement including an appropriate copyright notice and a notice that there is no warranty (or else, saying that you provide a warranty) and that users may redistribute the program under these conditions, and telling the user how to view a copy of this License. (Exception: if the Program itself is interactive but does not normally print such an announcement, your work based on the Program is not required to print an announcement.) These requirements apply to the modified work as a whole. If identifiable sections of that work are not derived from the Program, and can be reasonably considered independent and separate works in themselves, then this License, and its terms, do not apply to those sections when you distribute them as separate works. But when you distribute the same sections as part of a whole which is a work based on the Program, the distribution of the whole must be on the terms of this License, whose permissions for other licensees extend to the entire whole, and thus to each and every part regardless of who wrote it. Thus, it is not the intent of this section to claim rights or contest your rights to work written entirely by you; rather, the intent is to exercise the right to control the distribution of derivative or collective works based on the Program. In addition, mere aggregation of another work not based on the Program with the Program (or with a work based on the Program) on a volume of a storage or distribution medium does not bring the other work under the scope of this License. 3. You may copy and distribute the Program (or a work based on it, under Section 2) in object code or executable form under the terms of Sections 1 and 2 above provided that you also do one of the following: a) Accompany it with the complete corresponding machine-readable source code, which must be distributed under the terms of Sections 1 and 2 above on a medium customarily used for software interchange; or, b) Accompany it with a written offer, valid for at least three years, to give any third party, for a charge no more than your cost of physically performing source distribution, a complete machine-readable copy of the corresponding source code, to be distributed under the terms of Sections 1 and 2 above on a medium customarily used for software interchange; or, c) Accompany it with the information you received as to the offer to distribute corresponding source code. (This alternative is allowed only for noncommercial distribution and only if you received the program in object code or executable form with such an offer, in accord with Subsection b above.) The source code for a work means the preferred form of the work for making modifications to it. For an executable work, complete source code means all the source code for all modules it contains, plus any associated interface definition files, plus the scripts used to control compilation and installation of the executable. However, as a special exception, the source code distributed need not include anything that is normally distributed (in either source or binary form) with the major components (compiler, kernel, and so on) of the operating system on which the executable runs, unless that component itself accompanies the executable. If distribution of executable or object code is made by offering access to copy from a designated place, then offering equivalent access to copy the source code from the same place counts as distribution of the source code, even though third parties are not compelled to copy the source along with the object code. 4. You may not copy, modify, sublicense, or distribute the Program except as expressly provided under this License. Any attempt otherwise to copy, modify, sublicense or distribute the Program is void, and will automatically terminate your rights under this License. However, parties who have received copies, or rights, from you under this License will not have their licenses terminated so long as such parties remain in full compliance. 5. You are not required to accept this License, since you have not signed it. However, nothing else grants you permission to modify or distribute the Program or its derivative works. These actions are prohibited by law if you do not accept this License. Therefore, by modifying or distributing the Program (or any work based on the Program), you indicate your acceptance of this License to do so, and all its terms and conditions for copying, distributing or modifying the Program or works based on it. 6. Each time you redistribute the Program (or any work based on the Program), the recipient automatically receives a license from the original licensor to copy, distribute or modify the Program subject to these terms and conditions. You may not impose any further restrictions on the recipients' exercise of the rights granted herein. You are not responsible for enforcing compliance by third parties to this License. 7. If, as a consequence of a court judgment or allegation of patent infringement or for any other reason (not limited to patent issues), conditions are imposed on you (whether by court order, agreement or otherwise) that contradict the conditions of this License, they do not excuse you from the conditions of this License. If you cannot distribute so as to satisfy simultaneously your obligations under this License and any other pertinent obligations, then as a consequence you may not distribute the Program at all. For example, if a patent license would not permit royalty-free redistribution of the Program by all those who receive copies directly or indirectly through you, then the only way you could satisfy both it and this License would be to refrain entirely from distribution of the Program. If any portion of this section is held invalid or unenforceable under any particular circumstance, the balance of the section is intended to apply and the section as a whole is intended to apply in other circumstances. It is not the purpose of this section to induce you to infringe any patents or other property right claims or to contest validity of any such claims; this section has the sole purpose of protecting the integrity of the free software distribution system, which is implemented by public license practices. Many people have made generous contributions to the wide range of software distributed through that system in reliance on consistent application of that system; it is up to the author/donor to decide if he or she is willing to distribute software through any other system and a licensee cannot impose that choice. This section is intended to make thoroughly clear what is believed to be a consequence of the rest of this License. 8. If the distribution and/or use of the Program is restricted in certain countries either by patents or by copyrighted interfaces, the original copyright holder who places the Program under this License may add an explicit geographical distribution limitation excluding those countries, so that distribution is permitted only in or among countries not thus excluded. In such case, this License incorporates the limitation as if written in the body of this License. 9. The Free Software Foundation may publish revised and/or new versions of the General Public License from time to time. Such new versions will be similar in spirit to the present version, but may differ in detail to address new problems or concerns. Each version is given a distinguishing version number. If the Program specifies a version number of this License which applies to it and "any later version", you have the option of following the terms and conditions either of that version or of any later version published by the Free Software Foundation. If the Program does not specify a version number of this License, you may choose any version ever published by the Free Software Foundation. 10. If you wish to incorporate parts of the Program into other free programs whose distribution conditions are different, write to the author to ask for permission. For software which is copyrighted by the Free Software Foundation, write to the Free Software Foundation; we sometimes make exceptions for this. Our decision will be guided by the two goals of preserving the free status of all derivatives of our free software and of promoting the sharing and reuse of software generally. NO WARRANTY 11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING, REPAIR OR CORRECTION. 12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES. END OF TERMS AND CONDITIONS How to Apply These Terms to Your New Programs If you develop a new program, and you want it to be of the greatest possible use to the public, the best way to achieve this is to make it free software which everyone can redistribute and change under these terms. To do so, attach the following notices to the program. It is safest to attach them to the start of each source file to most effectively convey the exclusion of warranty; and each file should have at least the "copyright" line and a pointer to where the full notice is found. Copyright (C) This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. Also add information on how to contact you by electronic and paper mail. If the program is interactive, make it output a short notice like this when it starts in an interactive mode: Gnomovision version 69, Copyright (C) year name of author Gnomovision comes with ABSOLUTELY NO WARRANTY; for details type `show w'. This is free software, and you are welcome to redistribute it under certain conditions; type `show c' for details. The hypothetical commands `show w' and `show c' should show the appropriate parts of the General Public License. Of course, the commands you use may be called something other than `show w' and `show c'; they could even be mouse-clicks or menu items--whatever suits your program. You should also get your employer (if you work as a programmer) or your school, if any, to sign a "copyright disclaimer" for the program, if necessary. Here is a sample; alter the names: Yoyodyne, Inc., hereby disclaims all copyright interest in the program `Gnomovision' (which makes passes at compilers) written by James Hacker. , 1 April 1989 Ty Coon, President of Vice This General Public License does not permit incorporating your program into proprietary programs. If your program is a subroutine library, you may consider it more useful to permit linking proprietary applications with the library. If this is what you want to do, use the GNU Lesser General Public License instead of this License. auralquiz-v1.0.0/TODO0000664000175000017500000000071513105040436012506 0ustar janjan General to-do list and ideas for Auralquiz, in no particular order: =================================================================== - Allow selecting several music folders. - Support for, optionally, asking about a song's album too. (WIP, metadata stored) - Add player avatars. - Better multiplayer controls. - Question List editor: Manually created set of questions. - Move 5-artist-minimum warning to analyzer. - Better error control and reporting. auralquiz-v1.0.0/src/0000775000175000017500000000000013105040436012602 5ustar janjanauralquiz-v1.0.0/src/ranking.cpp0000664000175000017500000002374613105040436014753 0ustar janjan/* * This file is part of Auralquiz * Copyright 2011-2017 JanKusanagi JRR * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the * Free Software Foundation, Inc., * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA . */ #include "ranking.h" Ranking::Ranking(uint totalPlayers, QStringList playerNames, QList playerScores, QList playerGood, QList playerBad, QList playerTimedOut, QWidget *parent) : QWidget(parent) { this->setWindowTitle(tr("Game ended")); this->setWindowIcon(QIcon::fromTheme("games-highscores")); this->setWindowFlags(Qt::Dialog); this->setWindowModality(Qt::ApplicationModal); this->setMinimumSize(740, 520); mainLabel = new QLabel(tr("All questions done!") + "
" + tr("Thanks for playing!") + "

= " + tr("Ranking") + " =

", this); mainLabel->setTextFormat(Qt::RichText); mainLabel->setAlignment(Qt::AlignHCenter); //QIcon::fromTheme("format-list-ordered") rankingTable = new QTableWidget(totalPlayers, 5, this); rankingTable->setHorizontalHeaderLabels(QStringList(tr("Player")) << tr("Score") << tr("Good") << tr("Bad") << tr("T.O.", "Timed out abbreviation")); rankingTable->setEditTriggers(QTableWidget::NoEditTriggers); // NO editing!! rankingTable->setTabKeyNavigation(false); // No TAB key, so UI can be navigated rankingTable->setSizePolicy(QSizePolicy::MinimumExpanding, QSizePolicy::MinimumExpanding); // eomer's suggestions rankingTable->setSelectionMode(QAbstractItemView::NoSelection); rankingTable->setFocusPolicy(Qt::NoFocus); rankingTable->setShowGrid(false); rankingTable->setAlternatingRowColors(true); this->normalRowHeight = 0; // Real value acquired in resizeEvent() // Sort player/score pairs for (uint counter = 0; counter < totalPlayers; ++counter) { for (uint counter2 = 0; counter2 < totalPlayers; ++counter2) { if (playerScores[counter] > playerScores[counter2]) { playerNames.swap(counter, counter2); playerScores.swap(counter, counter2); playerGood.swap(counter, counter2); playerBad.swap(counter, counter2); playerTimedOut.swap(counter, counter2); } } } // Fill the table for (uint numPlayer = 0; numPlayer < totalPlayers; ++numPlayer) { rankingTable->setItem(numPlayer, 0, new QTableWidgetItem(QIcon::fromTheme("games-highscores"), playerNames.at(numPlayer), 0)); rankingTable->item(numPlayer, 0)->setTextAlignment(Qt::AlignHCenter | Qt::AlignVCenter); QString scoreString = QString("%1 ").arg(playerScores.at(numPlayer)); rankingTable->setItem(numPlayer, 1, new QTableWidgetItem(scoreString, 0)); rankingTable->item(numPlayer, 1)->setTextAlignment(Qt::AlignRight | Qt::AlignVCenter); QString goodString = QString("%1 ").arg(playerGood.at(numPlayer)); rankingTable->setItem(numPlayer, 2, new QTableWidgetItem(goodString, 0)); rankingTable->item(numPlayer, 2)->setTextAlignment(Qt::AlignRight | Qt::AlignVCenter); QString badString = QString("%1 ").arg(playerBad.at(numPlayer)); rankingTable->setItem(numPlayer, 3, new QTableWidgetItem(badString, 0)); rankingTable->item(numPlayer, 3)->setTextAlignment(Qt::AlignRight | Qt::AlignVCenter); QString timedOutString = QString("%1 ").arg(playerTimedOut.at(numPlayer)); rankingTable->setItem(numPlayer, 4, new QTableWidgetItem(timedOutString, 0)); rankingTable->item(numPlayer, 4)->setTextAlignment(Qt::AlignRight | Qt::AlignVCenter); } commentsLabel = new QLabel(this); commentsLabel->setAlignment(Qt::AlignHCenter | Qt::AlignVCenter); if (playerScores.at(0) == 0) // if EVERYONE has zero points { if (totalPlayers > 1) { commentsLabel->setText(tr("What?? Zero points!!\n" "You're all sooo bad!", "Plural, all players")); } else { commentsLabel->setText(tr("Zero points!\n" "%1, you're very bad!!", "%1 is the name of a player") .arg(playerNames.at(0))); } } else { QString comments; // FIXME for 1.1: add variety of comments if (totalPlayers > 1) { if (playerScores.at(0) == playerScores.at(1)) { // P1 and P2 draw comments = tr("Draw between %1 and %2!", "%1 and %2 are player names") .arg(playerNames.at(0)) .arg(playerNames.at(1)); } else { if (playerScores.at(0) > playerScores.at(1)*2 // p1 doubling p2 && playerScores.at(1) > 0) // and p2 having more than 0 points { comments = tr("You're very good!!"); // doubled 2nd player's score } else { comments = tr("You're good!"); // just won } } commentsLabel->setText(tr("Congratulations, %1!!", "%1 is the name of the winner") .arg(playerNames.at(0)) + "\n\n" + comments); } else // on single player { if (playerBad.at(0) == 0 && playerTimedOut.at(0) == 0) { commentsLabel->setText(tr("That was amazing!!")); } else if (playerGood.at(0) > playerBad.at(0) + playerTimedOut.at(0)) { commentsLabel->setText(tr("That was quite good!")); } else { commentsLabel->setText(tr("You can do better...")); } } } bottomLayout = new QHBoxLayout(); bottomLayout->addSpacing(8); bottomLayout->addWidget(rankingTable); bottomLayout->addSpacing(16); bottomLayout->addWidget(commentsLabel); bottomLayout->addSpacing(8); closeButton = new QPushButton(QIcon::fromTheme("dialog-ok"), tr("&OK"), this); connect(closeButton, SIGNAL(clicked()), this, SLOT(close())); mainLayout = new QVBoxLayout(); mainLayout->addWidget(mainLabel); mainLayout->addSpacing(16); mainLayout->addLayout(bottomLayout); mainLayout->addSpacing(16); mainLayout->addWidget(closeButton, 0, Qt::AlignRight); this->setLayout(mainLayout); qDebug() << "Ranking created"; } Ranking::~Ranking() { qDebug() << "Ranking destroyed"; } // Close event emmits a signal, to automatically get back to menu screen void Ranking::closeEvent(QCloseEvent *event) { qDebug() << "Closing Ranking"; emit closed(); event->accept(); } // Resize the columns (0,1) to the width of the widget // minus the width of the vertical header (1, 2, 3, etc), so it fits nicely void Ranking::resizeEvent(QResizeEvent *event) { int totalColumnWidth = rankingTable->width() - rankingTable->verticalHeader()->width() - 6; int playerColumnWidth = (totalColumnWidth/10) * 4; // 4 10ths int otherColumnsWidth = (totalColumnWidth - playerColumnWidth) / 4; // the rest qDebug() << "RankingTable width():" << rankingTable->width(); qDebug() << "RankingTable verticalHeader().width():" << rankingTable->verticalHeader()->width(); qDebug() << "Ranking totalColumnWidth:" << totalColumnWidth; qDebug() << "Ranking playerColumnWidth:" << playerColumnWidth; qDebug() << "Ranking otherColumnsWidth:" << otherColumnsWidth; if (normalRowHeight == 0) // on first resize only { normalRowHeight = rankingTable->rowHeight(0); } qDebug() << "Ranking rowHeight:" << normalRowHeight; qDebug() << "\n"; rankingTable->setColumnWidth(0, playerColumnWidth); rankingTable->setColumnWidth(1, otherColumnsWidth); rankingTable->setColumnWidth(2, otherColumnsWidth); rankingTable->setColumnWidth(3, otherColumnsWidth); rankingTable->setColumnWidth(4, otherColumnsWidth); rankingTable->setRowHeight(0, normalRowHeight + 30); rankingTable->setRowHeight(1, normalRowHeight + 20); rankingTable->setRowHeight(2, normalRowHeight + 10); event->accept(); } auralquiz-v1.0.0/src/musicanalyzer.cpp0000664000175000017500000003161613105040436016203 0ustar janjan/* * This file is part of Auralquiz * Copyright 2011-2017 JanKusanagi JRR * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the * Free Software Foundation, Inc., * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA . */ #include "musicanalyzer.h" MusicAnalyzer::MusicAnalyzer(QString musicDir, QString dataDir, QStringList *musicFiles, QWidget *parent) : QWidget(parent) { this->musicDirectory = musicDir; this->dataDirectory = dataDir; this->musicFiles = musicFiles; qDebug() << "MusicAnalyzer created"; } MusicAnalyzer::~MusicAnalyzer() { qDebug() << "MusicAnalyzer destroyed"; } void MusicAnalyzer::setMusicDirectory(QString musicDir) { this->musicDirectory = musicDir; qDebug() << "MusicAnalyzer: music directory set to " << musicDirectory; } void MusicAnalyzer::storeMetadataCache() { // Store info about the scanned music files QFile cachedMetadata0(this->dataDirectory + "/musicFiles0.aq"); cachedMetadata0.open(QIODevice::WriteOnly); QString cachedMetadata0Item; QFile cachedMetadata1(this->dataDirectory + "/musicFiles1.aq"); cachedMetadata1.open(QIODevice::WriteOnly); QString cachedMetadata1Item; QFile cachedMetadata2(this->dataDirectory + "/musicFiles2.aq"); cachedMetadata2.open(QIODevice::WriteOnly); QString cachedMetadata2Item; QFile cachedMetadata3(this->dataDirectory + "/musicFiles3.aq"); cachedMetadata3.open(QIODevice::WriteOnly); QString cachedMetadata3Item; qDebug() << "Datafiles created"; for (int counter = 0; counter < this->musicFiles[0].length(); ++counter) { // filenames cachedMetadata0Item = musicFiles[0].at(counter); cachedMetadata0Item.append("\n"); cachedMetadata0.write(cachedMetadata0Item.toUtf8()); // FIXME: some encoding problems with tags // artists cachedMetadata1Item = musicFiles[1].at(counter); cachedMetadata1Item.append("\n"); cachedMetadata1.write(cachedMetadata1Item.toUtf8()); // titles cachedMetadata2Item = musicFiles[2].at(counter); cachedMetadata2Item.append("\n"); cachedMetadata2.write(cachedMetadata2Item.toUtf8()); // albums cachedMetadata3Item = musicFiles[3].at(counter); cachedMetadata3Item.append("\n"); cachedMetadata3.write(cachedMetadata3Item.toUtf8()); } cachedMetadata0.close(); cachedMetadata1.close(); cachedMetadata2.close(); cachedMetadata3.close(); qDebug() << "Metadata stored in .aq files"; } /////////////////////////////////////////////////////////////////////////////// ////////////////////////////////// SLOTS ////////////////////////////////////// /////////////////////////////////////////////////////////////////////////////// /* * Load music collection info from files created in previous scan * */ void MusicAnalyzer::loadSongList() { qDebug() << "MusicAnalyzer::loadSongList()"; if (this->musicDirectory.isEmpty()) { emit setStartGameButton(false, tr("Configure your music folder"), ""); qDebug() << "Music directory not configured, aborting scan"; return; } QFile cachedMetaData0(this->dataDirectory + "/musicFiles0.aq"); cachedMetaData0.open(QIODevice::ReadOnly); QFile cachedMetaData1(this->dataDirectory + "/musicFiles1.aq"); cachedMetaData1.open(QIODevice::ReadOnly); QFile cachedMetaData2(this->dataDirectory + "/musicFiles2.aq"); cachedMetaData2.open(QIODevice::ReadOnly); QFile cachedMetaData3(this->dataDirectory + "/musicFiles3.aq"); cachedMetaData3.open(QIODevice::ReadOnly); if (!cachedMetaData0.isReadable() || !cachedMetaData1.isReadable() || !cachedMetaData2.isReadable() || !cachedMetaData3.isReadable()) { cachedMetaData0.close(); cachedMetaData1.close(); cachedMetaData2.close(); cachedMetaData3.close(); qDebug() << "Couldn't load some of the cached metadata files; " "creating song list"; this->createSongList(); return; } this->musicFiles[0].clear(); this->musicFiles[1].clear(); this->musicFiles[2].clear(); this->musicFiles[3].clear(); /* * FIXME: PLENTY OF ERROR CONTROL MISSING HERE */ QString fileName; QString artistName; QString songTitle; QString albumTitle; qDebug() << "Loading cached metadata from files"; while (!cachedMetaData0.atEnd()) { // FIXME: separate this mess (avoids encoding problems) fileName = QString::fromUtf8(cachedMetaData0.readLine(1024).trimmed().data()); musicFiles[0].append(fileName); // FIXME: assuming Utf8 in artist and title tags, for now artistName = QString::fromUtf8(cachedMetaData1.readLine(1024).trimmed().data()); musicFiles[1].append(artistName); songTitle = QString::fromUtf8(cachedMetaData2.readLine(1024).trimmed().data()); musicFiles[2].append(songTitle); albumTitle = QString::fromUtf8(cachedMetaData3.readLine(1024).trimmed().data()); musicFiles[3].append(albumTitle); } cachedMetaData0.close(); cachedMetaData1.close(); cachedMetaData2.close(); cachedMetaData3.close(); emit setStartGameButton(true, "", ""); qDebug() << "loadSongList() done"; } /* * Analyze all songs in given directory, get the metadata and store it * */ void MusicAnalyzer::createSongList() { qDebug() << "MusicAnalyzer::createSongList()"; emit setStartGameButton(false, tr("Analyzing music. Please wait"), ""); this->musicFiles[0].clear(); // make file-list empty this->musicFiles[1].clear(); // make artists-list empty this->musicFiles[2].clear(); // make titles-list empty this->musicFiles[3].clear(); // make albums-list empty QProgressDialog fileListerProgressDialog(tr("Getting list of files under\n" "%1", "%1 is a folder") .arg(musicDirectory), tr("Cancel"), 0, 10000, this); fileListerProgressDialog.setWindowTitle(tr("Listing files...") + " - Auralquiz"); fileListerProgressDialog.setMinimumWidth(400); fileListerProgressDialog.setMinimumDuration(0); fileListerProgressDialog.show(); QStringList directoryFiles; qDebug() << "Listing files under" << musicDirectory; QDirIterator dirList(QDir(this->musicDirectory, "*.mp3 *.ogg *.oga *.flac *.opus", QDir::NoSort, QDir::Files), QDirIterator::Subdirectories | QDirIterator::FollowSymlinks); while (dirList.hasNext()) { directoryFiles.append(dirList.next()); // update progressbar fileListerProgressDialog.setValue(directoryFiles.length()); qApp->processEvents(); if (fileListerProgressDialog.wasCanceled()) { qDebug() << "createSongList(): file listing cancelled by button"; emit setStartGameButton(false, tr("Please reload music info"), tr("Music analysis was cancelled")); fileListerProgressDialog.reset(); return; // you sure? } } fileListerProgressDialog.close(); if (directoryFiles.length() == 0) { qDebug() << "There are no files!"; QString errorExplanation = tr("There are no valid music files " "in your selected music directory.") + "\n" + tr("Please, select another directory " "containing Ogg, FLAC or MP3 files, " "and try again."); QMessageBox::critical(this, tr("There is no music!"), errorExplanation); emit setStartGameButton(false, tr("Please choose another music folder"), errorExplanation); return; } // Start analyzer loop int validFiles = 0; int totalFiles = directoryFiles.length(); QString totalFilesString = QLocale::system().toString(totalFiles); QProgressDialog analyzerProgressDialog(tr("Analyzing %1 files\n" "under %2", "%1 is a number, %2 is a folder") .arg(totalFilesString) .arg(musicDirectory), tr("Cancel analysis"), 0, totalFiles, this); analyzerProgressDialog.setWindowTitle(tr("Analyzing your music...") + " - Auralquiz"); analyzerProgressDialog.setMinimumWidth(400); analyzerProgressDialog.setMinimumDuration(0); // Always show for (int currentFile = 0; currentFile != totalFiles; ++currentFile) { qDebug() << "currentFile:" << currentFile+1 << "of" << totalFiles; qDebug() << "filename:" << directoryFiles.at(currentFile); QString artistTag; QString titleTag; QString albumTag; TagLib::FileRef tagFile(directoryFiles.at(currentFile).toUtf8()); if (!tagFile.isNull()) { artistTag = QString::fromStdWString(tagFile.tag()->artist().toWString()); titleTag = QString::fromStdWString(tagFile.tag()->title().toWString()); albumTag = QString::fromStdWString(tagFile.tag()->album().toWString()); qDebug() << artistTag << titleTag << albumTag; qDebug() << tagFile.audioProperties()->length(); } else { qDebug() << "-- tagFile error:" << directoryFiles.at(currentFile).toUtf8(); qDebug() << "-- tagFile name - " << tagFile.file()->name(); sleep(1); } if (!artistTag.isEmpty() && !titleTag.isEmpty()) { qDebug() << "Has artist AND title, OK ->" << artistTag << titleTag; qDebug() << "Album, if any ->" << albumTag; this->musicFiles[0].append(directoryFiles.at(currentFile)); this->musicFiles[1].append(artistTag); this->musicFiles[2].append(titleTag); this->musicFiles[3].append(albumTag); ++validFiles; } else { qDebug() << "This file doesn't seem to have metadata, " "or a related error occurred"; } analyzerProgressDialog.setValue(currentFile); // update progressbar qApp->processEvents(); if (analyzerProgressDialog.wasCanceled()) { qDebug() << "createSongList(): analysis cancelled by button"; musicFiles[0].clear(); musicFiles[1].clear(); musicFiles[2].clear(); musicFiles[3].clear(); emit setStartGameButton(false, tr("Please reload music info"), ""); return; // you sure? } } // end analyzer loop // We're done scanning qDebug() << "\n\n---------------- SCAN COMPLETE -------"; //memory required for the lists? qDebug() << "memory used, about: "<< musicFiles[0].length()*40*4 << "bytes"; qDebug() << "Storing data in:" << this->dataDirectory; qDebug() << "Valid files:" << validFiles; if (validFiles < 6) // If not enough files { qDebug() << "ERROR: Not enough valid files (i.e. no metadata in them)"; // FIXME: tmp message in disabled button emit setStartGameButton(false, tr("Please choose another music folder"), tr("The folder you selected doesn't have " "enough valid music files")); return; } this->storeMetadataCache(); // songlist is ready, allow starting game emit setStartGameButton(true, tr("&Start game"), ""); qDebug() << "start button re-enabled and with focus"; } auralquiz-v1.0.0/src/auralwindow.h0000664000175000017500000001230013105040436015303 0ustar janjan/* * This file is part of Auralquiz * Copyright 2011-2017 JanKusanagi JRR * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the * Free Software Foundation, Inc., * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA . */ #ifndef AURALWINDOW_H #define AURALWINDOW_H #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include // FIXME: unnecessary? #if QT_VERSION < QT_VERSION_CHECK(5, 0, 0) #include #include #include #else #include #include #include #endif #include "musicanalyzer.h" #include "optionsdialog.h" #include "answerbox.h" #include "ranking.h" #define MAXPLAYERS 8 class AuralWindow : public QWidget { Q_OBJECT public: AuralWindow(QWidget *parent = 0); ~AuralWindow(); void shuffleMusicFiles(); void updateStatistics(); void initWelcomeScreen(); void initPlayingScreen(); void toggleScreen(); void setThemedColors(); void enablePlayerInput(bool state); protected: void closeEvent(QCloseEvent *event); public slots: void playerStateChanged(Phonon::State newstate, Phonon::State oldstate); void timerTick(); void updateConfig(bool startGame, QString directory, bool forceReload, int difficulty, int questions, int players, QStringList playerNameList, bool ownColors); void showAbout(); void modifyStartGameButton(bool enabledState, QString text, QString tooltip); void newQuestion(); void nextSongLoaded(); void preQuestion(); void answerQuestion(int numAnswer); void answer1(); void answer2(); void answer3(); void answer4(); void answerFromAnswerBox(bool correct); void confirmEndGame(); void killRanking(); private: QVBoxLayout *mainLayout; QWidget *welcomeWidget; QVBoxLayout *welcomeLayout; QLabel *logoLabel; QPushButton *startGameButton; QPushButton *configureButton; QPushButton *aboutButton; QPushButton *quitButton; QAction *quitAction; QTimer *postInitTimer; QTimer *postConfigUpdatedTimer; QWidget *playingWidget; QVBoxLayout *playingLayout; QVBoxLayout *playingTopLayout; QHBoxLayout *playingMiddleLayout; QVBoxLayout *statisticsLayout; QVBoxLayout *answersLayout; QHBoxLayout *playingProgressLayout; QHBoxLayout *playingBottomLayout; QTimer *preQuestionTimer; QTimer *postQuestionTimer; QLabel *playerNameLabel; QLabel *questionLabel; QLabel *infoLabel; //const QString infoLabelCorrectStyle; //const QString infoLabelWrongStyle; //const QString infoLabelTimeUpStyle; QLabel *aniNoteLabel; QMovie aniNoteMovie; QGroupBox *statisticsBox; QVBoxLayout *statisticsBoxLayout; QLabel *statisticsLabel; QTimer *gameTimer; QProgressBar *timeBar; QProgressBar *gameProgressBar; QLabel *gameScoreLabel; QLCDNumber *gameScore; QLabel *statusLabel; QPushButton *endGameButton; QPushButton *answerButton[4]; QAction *answerAction1; QAction *answerAction2; QAction *answerAction3; QAction *answerAction4; Phonon::MediaObject *musicPlayer; OptionsDialog *optionsDialog; // Options (configuration) window MusicAnalyzer *musicAnalyzer; bool firstRun; bool useOwnColorTheme; bool playing; int difficultyLevel; int numQuestions; int numPlayers; int currentPlayer; QStringList playerNames; int maxTime; // depends on difficulty int warningTime; int dangerTime; int pieceDuration; int questionType; int correctAnswer; int currentMusicFile; QString musicDirectory; QStringList musicFiles[4]; QString dataDirectory; // For statistics QList goodAnswers; QList badAnswers; QList timedOutAnswers; QList score; // Widget for the "type-the-answer" mode AnswerBox *answerBox; // Ranking window Ranking *ranking; QTimer *rankingTimer; }; #endif // AURALWINDOW_H auralquiz-v1.0.0/src/optionsdialog.cpp0000664000175000017500000004020213105040436016157 0ustar janjan/* * This file is part of Auralquiz * Copyright 2011-2017 JanKusanagi JRR * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the * Free Software Foundation, Inc., * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA . */ #include "optionsdialog.h" /* * Constructor, called on startup even if options dialog is never shown * */ OptionsDialog::OptionsDialog(QWidget *parent) : QWidget(parent) { QSettings settings; this->setWindowTitle(tr("Game options")); this->setWindowIcon(QIcon::fromTheme("configure", QIcon(":/images/button-configure.png"))); this->setWindowFlags(Qt::Dialog); this->setWindowModality(Qt::ApplicationModal); this->resize(settings.value("optionsDialogSize", QSize(700, 380)).toSize()); playMode = false; // FIXME: check if musicdir == home, here too #if QT_VERSION < QT_VERSION_CHECK(5, 0, 0) this->musicDirectory = settings.value("musicDirectory", QDesktopServices::storageLocation(QDesktopServices::MusicLocation)).toString(); #else this->musicDirectory = settings.value("musicDirectory", QStandardPaths::standardLocations(QStandardPaths::MusicLocation) .first()) .toString(); #endif this->reload = false; // TOP layout musicFromLabel = new QLabel(tr("Using music from:") + " ", this); currentMusicDirectoryLabel = new QLabel(this->musicDirectory, this); selectMusicDirectoryButton = new QPushButton(QIcon::fromTheme("folder-sound"), tr("Select your &music folder..."), this); connect(selectMusicDirectoryButton, SIGNAL(clicked()), this, SLOT(selectMusicDirectory())); topLayout = new QHBoxLayout(); topLayout->addWidget(musicFromLabel); topLayout->addWidget(currentMusicDirectoryLabel); topLayout->addSpacing(16); topLayout->addWidget(selectMusicDirectoryButton); // MIDDLE layout middleLayout = new QHBoxLayout(); // left side difficultyTopLayout = new QHBoxLayout(); //// difficulty sub-layout difficultyEasy = new QPushButton("< " + tr("&Easier"), this); //difficultyEasy->setFlat(true); connect(difficultyEasy, SIGNAL(clicked()), this, SLOT(setDifficultyEasier())); difficultyTopLayout->addWidget(difficultyEasy); difficultyLevel = new QSlider(Qt::Horizontal, this); difficultyLevel->setRange(0, 5); // 0 = very easy, 5 = hardcore difficultyLevel->setValue(settings.value("difficultyLevel", 2).toInt()); difficultyLevel->setTickInterval(1); // One tick mark for every difficulty level difficultyLevel->setTickPosition(QSlider::TicksBothSides); connect(difficultyLevel, SIGNAL(valueChanged(int)), this, SLOT(updateDifficultyName(int))); difficultyTopLayout->addWidget(difficultyLevel); difficultyHard = new QPushButton(tr("&Harder") + " >", this); //difficultyHard->setFlat(true); difficultyTopLayout->addWidget(difficultyHard); connect(difficultyHard, SIGNAL(clicked()), this, SLOT(setDifficultyHarder())); QFont difficultyFont; difficultyFont.setPointSize(14); difficultyFont.setBold(true); difficultyName = new QLabel(this); difficultyName->setFont(difficultyFont); difficultyName->setAlignment(Qt::AlignCenter); difficultyLayout = new QVBoxLayout(); difficultyLayout->setAlignment(Qt::AlignCenter); difficultyLayout->addLayout(difficultyTopLayout); difficultyLayout->addWidget(difficultyName); middleLayout->addLayout(difficultyLayout); updateDifficultyName(this->difficultyLevel->value()); // update difficulty label initially middleLayout->addSpacing(32); numQuestionsLabel = new QLabel(tr("How many &questions?"), this); numQuestions = new QSpinBox(this); numQuestions->setRange(1, 99); numQuestions->setValue(settings.value("numQuestions", 25).toInt()); numQuestions->setSuffix(" " + tr("questions")); numQuestionsLabel->setBuddy(this->numQuestions); numPlayersLabel = new QLabel(tr("How many &players?"), this); numPlayers = new QSpinBox(this); numPlayers->setRange(1, 8); // up to 8 players numPlayers->setValue(settings.value(("numPlayers"), 1).toInt()); numPlayers->setSuffix(" " + tr("players")); numPlayersLabel->setBuddy(this->numPlayers); useOwnColors = new QCheckBox(tr("Use own color theme"), this); useOwnColors->setChecked(settings.value("useOwnColorTheme", false).toBool()); // right side rightSideLayout = new QGridLayout(); rightSideLayout->addWidget(numQuestionsLabel, 0, 0); rightSideLayout->addWidget(numQuestions, 0, 1); rightSideLayout->addWidget(numPlayersLabel, 1, 0); rightSideLayout->addWidget(numPlayers, 1, 1); rightSideLayout->addWidget(useOwnColors, 2, 0); middleLayout->addLayout(this->rightSideLayout); // PLAYER NAMES layout playerNamesLayout = new QGridLayout(); playerNames = settings.value("playerNames", QStringList() << "Prime" << "Jazz" << "Wheeljack" << "Skyfire" << "Megatron" << "Starscream" << "Soundwave" << "Astrotrain").toStringList(); player1Number = new QLabel(" 1", this); player1Name = new QLineEdit(playerNames.at(0), this); player2Number = new QLabel(" 2", this); player2Name = new QLineEdit(playerNames.at(1), this); player3Number = new QLabel(" 3", this); player3Name = new QLineEdit(playerNames.at(2), this); player4Number = new QLabel(" 4", this); player4Name = new QLineEdit(playerNames.at(3), this); player5Number = new QLabel(" 5", this); player5Name = new QLineEdit(playerNames.at(4), this); player6Number = new QLabel(" 6", this); player6Name = new QLineEdit(playerNames.at(5), this); player7Number = new QLabel(" 7", this); player7Name = new QLineEdit(playerNames.at(6), this); player8Number = new QLabel(" 8", this); player8Name = new QLineEdit(playerNames.at(7), this); playerNamesLayout->addWidget(player1Number, 2, 0); playerNamesLayout->addWidget(player1Name, 2, 1); playerNamesLayout->addWidget(player2Number, 2, 2); playerNamesLayout->addWidget(player2Name, 2, 3); playerNamesLayout->addWidget(player3Number, 3, 0); playerNamesLayout->addWidget(player3Name, 3, 1); playerNamesLayout->addWidget(player4Number, 3, 2); playerNamesLayout->addWidget(player4Name, 3, 3); playerNamesLayout->addWidget(player5Number, 4, 0); playerNamesLayout->addWidget(player5Name, 4, 1); playerNamesLayout->addWidget(player6Number, 4, 2); playerNamesLayout->addWidget(player6Name, 4, 3); playerNamesLayout->addWidget(player7Number, 5, 0); playerNamesLayout->addWidget(player7Name, 5, 1); playerNamesLayout->addWidget(player8Number, 5, 2); playerNamesLayout->addWidget(player8Name, 5, 3); playerNamesGroup = new QGroupBox(tr("Player names"), this); playerNamesGroup->setLayout(playerNamesLayout); // BOTTOM layout bottomLayout = new QHBoxLayout(); // This button's text can be START or SAVE CONFIG saveButton = new QPushButton("*SAVE/START*", this); connect(saveButton, SIGNAL(clicked()), this, SLOT(saveOptions())); bottomLayout->addWidget(saveButton); reloadMusicInfoButton = new QPushButton(QIcon::fromTheme("view-refresh", QIcon(":/images/button-refresh.png")), tr("Save and &reload music"), this); connect(reloadMusicInfoButton, SIGNAL(clicked()), this, SLOT(saveAndReload())); bottomLayout->addWidget(reloadMusicInfoButton); cancelButton = new QPushButton(QIcon::fromTheme("dialog-cancel", QIcon(":/images/button-cancel.png")), tr("&Cancel"), this); connect(cancelButton, SIGNAL(clicked()), this, SLOT(close())); bottomLayout->addWidget(cancelButton); startAction = new QAction(this); startAction->setShortcut(Qt::Key_Return); connect(startAction, SIGNAL(triggered()), this, SLOT(saveOptions())); this->addAction(startAction); closeAction = new QAction(this); closeAction->setShortcut(Qt::Key_Escape); connect(closeAction, SIGNAL(triggered()), this, SLOT(close())); this->addAction(closeAction); mainLayout = new QVBoxLayout(); mainLayout->addLayout(topLayout); mainLayout->addStretch(1); mainLayout->addLayout(middleLayout); mainLayout->addStretch(2); mainLayout->addWidget(playerNamesGroup); mainLayout->addStretch(3); mainLayout->addLayout(bottomLayout); this->setLayout(mainLayout); qDebug() << "Options window created"; } OptionsDialog::~OptionsDialog() { qDebug() << "Options window destroyed"; } void OptionsDialog::showEvent(QShowEvent *event) { this->reload = false; // make forceReload false again // until Reload button is clicked qDebug() << "Options window shown"; event->accept(); } void OptionsDialog::closeEvent(QCloseEvent *event) { QSettings settings; settings.setValue("optionsDialogSize", this->size()); qDebug() << "Options dialog closed"; event->accept(); } /* * Open dialog to select directory where music is located * */ void OptionsDialog::selectMusicDirectory() { QString newMusicDir; newMusicDir = QFileDialog::getExistingDirectory(this, tr("Select where your music is located"), this->musicDirectory, QFileDialog::ShowDirsOnly); if (!newMusicDir.isEmpty()) // if user DID NOT cancel the "select directory" dialog { musicDirectory = newMusicDir; if (!musicDirectory.endsWith("/")) { // Adding final "/" if it's not present in chosen path musicDirectory.append("/"); } // update label indicating current path for music currentMusicDirectoryLabel->setText(this->musicDirectory); } } /* * Set difficulty to 1 point less, easier * */ void OptionsDialog::setDifficultyEasier() { this->difficultyLevel->setValue(this->difficultyLevel->value() - 1); } /* * Set difficulty to 1 point more, harder * */ void OptionsDialog::setDifficultyHarder() { this->difficultyLevel->setValue(this->difficultyLevel->value() + 1); } /* * Update the label with the description of the selected difficulty level * */ void OptionsDialog::updateDifficultyName(int newValue) { qDebug() << "new difficulty level:" << newValue; QStringList levels = QStringList(tr("Piece of cake")) << tr("Let's rock") << tr("Come get some") << tr("Damn I'm good") << tr("HARD!!") << tr("Hardcore! Type the answer"); this->difficultyName->setText("[ " + levels.at(newValue) + " ]"); if (newValue == 5) // Hardcore level { difficultyName->setToolTip("" + tr("In this level you'll have to type " "the answer.") + "
" + tr("It's not too strict, so you don't " "have to worry about caps, commas " "and such.")); } else { difficultyName->setToolTip("" + tr("In this level you'll have to click " "the correct button, or press the " "1, 2, 3 and 4 keys in your keyboard.")); } } /* * Emit signal with new option values to AuralWindow * */ void OptionsDialog::saveOptions() { playerNames.clear(); playerNames << player1Name->text() << player2Name->text() << player3Name->text() << player4Name->text() << player5Name->text() << player6Name->text() << player7Name->text() << player8Name->text(); // If a player name from the list is empty, replace with number for (int counter=0; counter < playerNames.length(); ++counter) { if (playerNames.at(counter).trimmed().isEmpty()) { playerNames[counter] = QString("[%1]").arg(counter+1); } } // FIXME: this IF code is duplicated 3 times if (!musicDirectory.endsWith("/")) { // Adding final "/" if it's not present in chosen path musicDirectory.append("/"); } emit optionsChanged(this->playMode, this->musicDirectory, this->reload, this->difficultyLevel->value(), this->numQuestions->value(), this->numPlayers->value(), this->playerNames, this->useOwnColors->isChecked()); qDebug() << "Options saved"; qDebug() << "playMode:" << this->playMode; this->close(); } void OptionsDialog::saveAndReload() { this->reload = true; qDebug() << "Save and reload music pressed"; saveOptions(); } /* * Show Options window in full configuration mode * Used from the "Options" button */ void OptionsDialog::showConfigMode() { playMode = false; this->musicFromLabel->show(); this->currentMusicDirectoryLabel->show(); this->selectMusicDirectoryButton->show(); this->reloadMusicInfoButton->show(); this->useOwnColors->show(); bottomLayout->setAlignment(Qt::AlignBottom | Qt::AlignRight); this->saveButton->setIcon(QIcon::fromTheme("document-save", QIcon(":/images/button-save.png"))); this->saveButton->setText(tr("&Save options")); this->saveButton->setMinimumSize(1, 1); this->cancelButton->show(); this->startAction->setDisabled(true); this->show(); } /* * Show Options window in a "light mode" * This will be used from Start Game button, to set players and difficulty only * (music config and theme options will be hidden) */ void OptionsDialog::showPlayMode() { playMode = true; this->musicFromLabel->hide(); this->currentMusicDirectoryLabel->hide(); this->selectMusicDirectoryButton->hide(); this->reloadMusicInfoButton->hide(); this->useOwnColors->hide(); bottomLayout->setAlignment(Qt::AlignBottom | Qt::AlignCenter); this->saveButton->setIcon(QIcon::fromTheme("media-playback-start", QIcon(":/images/button-arrow.png"))); this->saveButton->setText(tr("Start!")); this->saveButton->setMinimumSize(240, 60); this->cancelButton->hide(); this->startAction->setEnabled(true); // Allows 'Enter' to continue this->show(); } auralquiz-v1.0.0/src/optionsdialog.h0000664000175000017500000000652413105040436015635 0ustar janjan/* * This file is part of Auralquiz * Copyright 2011-2017 JanKusanagi JRR * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the * Free Software Foundation, Inc., * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA . */ #ifndef OPTIONSDIALOG_H #define OPTIONSDIALOG_H #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include class OptionsDialog : public QWidget { Q_OBJECT public: OptionsDialog(QWidget *parent = 0); ~OptionsDialog(); protected: void showEvent(QShowEvent *); void closeEvent(QCloseEvent *); public slots: void selectMusicDirectory(); void setDifficultyEasier(); void setDifficultyHarder(); void updateDifficultyName(int newValue); void saveOptions(); void saveAndReload(); void showConfigMode(); void showPlayMode(); signals: void optionsChanged(bool startGame, QString directory, bool forceReload, int difficulty, int questions, int players, QStringList playerNameList, bool ownColors); private: QVBoxLayout *mainLayout; QHBoxLayout *topLayout; QHBoxLayout *middleLayout; QVBoxLayout *difficultyLayout; QHBoxLayout *difficultyTopLayout; QGridLayout *rightSideLayout; QGridLayout *playerNamesLayout; QHBoxLayout *bottomLayout; QLabel *musicFromLabel; QLabel *currentMusicDirectoryLabel; QPushButton *selectMusicDirectoryButton; QPushButton *reloadMusicInfoButton; QPushButton *difficultyEasy; QSlider *difficultyLevel; QPushButton *difficultyHard; QLabel *difficultyName; QLabel *numQuestionsLabel; QSpinBox *numQuestions; QLabel *numPlayersLabel; QSpinBox *numPlayers; QStringList playerNames; QGroupBox *playerNamesGroup; QLabel *player1Number; QLabel *player2Number; QLabel *player3Number; QLabel *player4Number; QLabel *player5Number; QLabel *player6Number; QLabel *player7Number; QLabel *player8Number; QLineEdit *player1Name; QLineEdit *player2Name; QLineEdit *player3Name; QLineEdit *player4Name; QLineEdit *player5Name; QLineEdit *player6Name; QLineEdit *player7Name; QLineEdit *player8Name; QCheckBox *useOwnColors; QPushButton *saveButton; QPushButton *cancelButton; QAction *startAction; QAction *closeAction; QString musicDirectory; bool reload; bool playMode; }; #endif // OPTIONSDIALOG_H auralquiz-v1.0.0/src/answerbox.cpp0000664000175000017500000000730113105040436015317 0ustar janjan/* * This file is part of Auralquiz * Copyright 2011-2017 JanKusanagi JRR * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the * Free Software Foundation, Inc., * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA . */ #include "answerbox.h" // Constructor AnswerBox::AnswerBox(QWidget *parent) : QLineEdit(parent) { this->setMinimumHeight(80); this->setAlignment(Qt::AlignCenter); QString tooltipMessage = tr("Type the answer here"); this->setPlaceholderText(tooltipMessage); this->setToolTip("" + tooltipMessage); connect(this, SIGNAL(returnPressed()), this, SLOT(validateAnswer())); qDebug() << "AnswerBox created"; } // Destructor AnswerBox::~AnswerBox() { qDebug() << "AnswerBox destroyed"; } QString AnswerBox::normalizeString(QString original) { // remove "(" and ") original = original.remove(QRegExp("\\(|\\)")); // remove "," and "." original = original.remove(QRegExp(",|\\.")); // remove "-", "~", "*" and "/" original = original.remove(QRegExp("-|~|\\*|/")); // Turn "_" into " " original = original.replace(QRegExp("_"), " "); // remove apostrophes or accents used like apostrophes original = original.remove(QRegExp(QString::fromUtf8("'|`|´"))); // Make the string all lowercase original = original.toLower(); // Turn accented vowels into normal ones. original = original.replace(QRegExp(QString::fromUtf8("à|á|ä|â")), "a"); original = original.replace(QRegExp(QString::fromUtf8("è|é|ë|ê")), "e"); original = original.replace(QRegExp(QString::fromUtf8("ì|í|ï|î")), "i"); original = original.replace(QRegExp(QString::fromUtf8("ò|ó|ö|ô")), "o"); original = original.replace(QRegExp(QString::fromUtf8("ù|ú|ü|û")), "u"); // remove "!" original = original.remove(QRegExp("!")); // remove "?" original = original.remove(QRegExp("\\?")); // Turn "&" into "and" //original = original.replace(QRegExp("&"), " and "); // FIXME: and non-english? // Turn possible double-spaces into one space original = original.replace(QRegExp("\\s+"), " "); // Trim spaces original = original.trimmed(); return original; } void AnswerBox::setAnswer(QString newAnswer) { this->correctAnswer = this->normalizeString(newAnswer); this->clear(); // Erase current text in the box, if any } void AnswerBox::validateAnswer() { QString currentAnswer = this->text(); qDebug() << "Answered:" << currentAnswer; if (currentAnswer.length() == 0) // they pressed Enter with no text! { return; } // Clean the entered string: any extra spaces, caps, &... currentAnswer = this->normalizeString(currentAnswer); qDebug() << "Answer after cleaning:" << currentAnswer; qDebug() << "Correct answer was:" << this->correctAnswer; if (currentAnswer == correctAnswer) { emit answered(true); //this->setStyleSheet("background: green"); } else { emit answered(false); //this->setStyleSheet("background: red"); } } auralquiz-v1.0.0/src/ranking.h0000664000175000017500000000334213105040436014406 0ustar janjan/* * This file is part of Auralquiz * Copyright 2011-2017 JanKusanagi JRR * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the * Free Software Foundation, Inc., * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA . */ #ifndef RANKING_H #define RANKING_H #include #include #include #include #include #include #include #include #include class Ranking : public QWidget { Q_OBJECT public: Ranking(uint totalPlayers, QStringList playerNames, QList playerScores, QList playerGood, QList playerBad, QList playerTimedOut, QWidget *parent = 0); ~Ranking(); signals: void closed(); public slots: protected: virtual void resizeEvent(QResizeEvent *event); virtual void closeEvent(QCloseEvent *event); private: QLabel *mainLabel; QTableWidget *rankingTable; QLabel *commentsLabel; QPushButton *closeButton; QVBoxLayout *mainLayout; QHBoxLayout *bottomLayout; int normalRowHeight; }; #endif // RANKING_H auralquiz-v1.0.0/src/images/0000775000175000017500000000000013105040436014047 5ustar janjanauralquiz-v1.0.0/src/images/animated-note-blend.xcf0000664000175000017500000270443713105040436020401 0ustar janjangimp xcf fileBBgimp-image-grid(style solid) (fgcolor (color-rgba 0.000000 0.000000 0.000000 1.000000)) (bgcolor (color-rgba 1.000000 1.000000 1.000000 1.000000)) (xspacing 10.000000) (yspacing 10.000000) (spacing-unit inches) (xoffset 0.000000) (yoffset 0.000000) (offset-unit inches) HB2h2$tOs{V#IV[Q~9ŽA@{0H  r uA ڋ @k _  U  Frame 39     H6"!0`; : 9 8! 8# 8$ 5%! 4'" 3(#  2)$ 1+% &&0-'%/'0/(-2# /1* ".-&2+ !' $4- $6/ $71  $81$93$<5$=7 ?9!B:"E=#F>$I@%JB&LC&LC %KB $#H?$#E> $!C<#@9#=7#;4#81#50#2-#/*#,'#)%#'$#$!#!#  $   $  %  % %      .=EC:.!   8N^fcYJ;*  3PgtyyqeVD2#    ;\t~xl\J9(  {<`:  7:A4#6 3fjS>$ 5 :nnVC45 * 4 rqYIHK42 >srZKLXO*0 ?ss[LO`dK .Cvt\NRetj> -Jyu]OTg|e2 ,L{v^PTh}\+,Hzw^PSe|V+$Fzw_PRbvR" "Fzy`QR_oyA  !I|yaQR^k{d+  L~zaOMYfrL   M{bJ8?Tftl9   M|cG' 0E\r}{W%   M|cD!!6Rlz~~oF  K|cD -Lkz|zc/  J}cE +No||tF K}cC.Op}zY(  M~cA,Qs|k<  Nd?0\zwT%  NdA=jzf9  Lc@%SvrK%  Md= =kvZ/  Pc< *]ve;  Sd<  PsiB  Pe> BkjE  Ld? ;glI  Kd@  6cmL Jc=  .]mLI}b<  *ZiIJ|a: )WdCJ}|`:  )W[9!I}{`;  /ZV.!H|y`; ?`P%!G{y`; N`D !Exx_; #R\9 !Fww^:  *UU, !Hwv^9 4ZI  !Gvu^9  ?W8  !Dtt]:  LG   !Csr^;   -J+  !Crq^=  89  !Apq^?  :&   !Apo]A !  !Aoo\A   !Ann\A  !@ll[A   >ihX?   &/20,'"<__R;  .CS\ehe^XQJA5,(?TTJ6  $Dfvohc[TOF?@FJB2    $Gn|tmfaZVPIC@?>1    8dxqjd^YUPJC>;2    Hu窤~vohb\WTOJC<1  : ::: : : 5 4  2    2    1    1  /   /   ."   &#  %$ &&"%'$%)%%,&$,'.*1+2-5/718192$82$60$4/$3,$0+$.)$,'$,%$(%$&"$#!$"$  $ %  %  %   %   % %%%        )0,"  &:JRQF6%  #>WfkibTB/   *KfuyvpgYH3!  v<;;=<;9:2112<><;;;>=;::5555032110012; : :   " # %! &" '#  ($ +% &&,'%/'/(-2# 1* ".,1+ !'  3-  5/  61 71< <966 1 1 0 / /  .           ,             )  )  )   *          :@4#  2ejS>$   :nnVC3  )   qqYIHJ4  >rrZJKWN)   >ss[KN`dJ   But\NResi>   Jyu]OTg|d2   K{v^PTh}[+  Hzw^PSe|V*  Fzw_PRbvR"  Fzy`QR_oxA  I|yaQR^k{c+ K}zaNLXer~L  M~{bJ7>Tesl9  L~|cG' 0D\r|{V%   M|cD! 5Rlz~}oF  ===77<;543323;<=]: ::: : : 6 5  4                   !   "   %  %"@===<;;=E<;:< <;<% 6Tl|}wm^L<,!  %<9752.'"  $+048;=?BDDCB>70'   !&,172'  %.7?JT]dklhaVJ?1&  #,5?JS[cghd\QE8-$  "(1:BJQVYXUMC9.#   %+18>BFGEB<2)!  #(,/3442-'!  !"                         ! ***+-.4{:8?Kv|tmf_ZVSNIA0   Ep|tld^YVRLF2   7ct|skc]YUPG7  #Rjqz|sjc]XRH;'  8`jou|qicZRG3  Gchmr{½xof^T@% Mbgjqy}tk_P4 M`fjoyŽxm_E'F^djoxźyjS:$ 5VchowȾt]G(#"#""! !H]gowȽ|dT1)(''&%%  +K_ju~wbH6-,**)((  'G^nyǽ~jW:41/.-,++   ;Tgvt_L@84211/.-  %:JXhvxzvl]MA843433210/. &4??EC;741//1354432110     #%')()**+.13543310    "$%&'*-13321   !#$&(*/011001    !"$&+..//0                              ' ) )  *  +  -09 98 8 "B^oxyvoeWG3 (F\jpqoh_Q?/ !9LZbda[RE5& %7EMONI?4'    !,3762+"     , "%'%" +  %+011.(" !%,14640)" $*/220*$  "%'%$                    &%%&'*; 534358<;:$= %93<5=7>9 A:"D=#F>$I@%JB%KC%KC %JB #H?#E>  B<?9 <7 :4 81501-/*+'(%&$$! !       !  "  $$ !  .=DB:-   7M^ecYJ;* 3PgsyyqeVD2#  ;\t~xl\J9(  6Tl|}wm^L<,!  %<9752.'" $+048;=?BDDCB>70'  !&,172'  %.7?JT]dklhaVJ?1& #,5?JS[cghd\QE8-#  "(1:BJQVYXUMC9-#   %+18>BFGEA<1)!  #(+/331-'!   !"  $   &   '  (      )    *9;  J~|cD-Kkz|yc/   J}cD *Mo||sF    J}cC-No|zX(   L~c@,Qs|j<  Mc>0[zwS$  McA=jze5  Kc?%SuqI!  Lc= =kuX)  Pc< )]uc1 Sc<  Org6 Od= Bjg9 Kc> ;fj> Jc?  5cmC Jc=  -\lDI}b;  *Zh@J~|a: (Vb:  J||`:  (VZ. I|{`;  /YU% H|y`; >_N Fzy`; M`A Ewx_; #R[6 Fvw^:  *UU)  Gvv^9  3YH  Guu]9  >V7 Cst\:  KF Brr];   -I*  Bqq]<  89 Aoq]>  :%  Aoo]@ ! Aoo\A   Ann\A  ?kl[@ >hhX>  %/10,'! <__R; .BR[dge^WQJ@5,'>TTJ5 $De~vohcZTNF>?FJB1   $Gm|tmfaZVPIC@?>1  8dxqjd^YUPJC>;2  Hu窤~vohb\WTOJC<0 Kv|tmf_ZVSNI@/ Ep|tld^YVRLE1  7ct|skc]YUPG7 #Rjqz|sjc]XRH;& 8`jou|qicZRG2 Gchmr{½xof^T?%Mbgjqy}tk_O3M`fjoyŽxm^C%F^djoxźyiO/5VchowȾqV7"!H]gowȽzZ9& +K_ju~rT7(!'G^nyǼ|cF2)$  ;Tgvt]H:0*%#!  %:JWhuxzvl]M@71-*'%$"  %4>>DB;741/-,+*(&%#! "  #%')()**+*(&%#!$  "$%&'())('&%$"$ !#$%&&'&&%$##$ !"##%%$$#"#% 6 7 &$ (%+&,'.* 1+ 1- 4/ 61 71 92 82 503/2,0+.)+'+%'%%"#!  "      +  2  $   $  $  $33 &  $  ")0,"  %:JRPF6% #>VekibTB/   *KfuyvpgYH3! ! "B^oxyvoeWG3 ,(F\jpqoh_Q?/* !9LZbda[RE5& !%7EMONI?4'    !,3762+" "  +  , "%'%" +  %+011.(" +%,14640)" *$*/220*$ * "%'%$ "     ) ),001V:889::n<99;@@ Frame 38     HI I'^5i{G`< : 9  8 8  8  5" 4$  3%   2&! 1'" ##0)$!+$0+% ). &,&*)$-' $ $/) #1+ #2,#3-#4/ 71 82:4 <5 ?7  @8 !B; "D< #E= #F= !D<  B: # ?8 #=7 #;4 #72 #60 #3- #1, #-) #+& #($ #&! #$! #! #  #    $   $   $  $ $     +8?=5* 3HV][RD6&   /I_jnnh]N>.     6TjvywtncTD4%  {<`:  75;0 6/]aL8! 5 5ddO>05 7feP@9& 4 7ggP@>63 8hhRCBD02 8iiSEEPH& 0 9jiSEHX\D . =ljTHK]ja9-DokUHM^qu\.,EqlVIM_syT(,BpmVIL]qxO'"@omWIKYlvK  !@onXJKWfxn<   CqnXJKVbp~[(  FsoXHFQ]ittF   GtpYD39M]jt}|c5   FtqZA$,?UirxyqP"  Gur[>1Lcptsf@   DtrZ>)FcproZ+ " DtsZ?'Gfqrj@ " Eus[>*HfrpR& $ Fvt[;(Jjqb8"% Gxt[:,TomM##& Gxt[<8ao^5#'Fwu[:  "LkiF$ %(Fwv[8  7clS. %(Iyv[7  &Ul]9"&)L{w[7   Iia?#&) Izv\8  =baB$%) Exu[:  6^cF%&'  Dwu[;   1[eH%%&  Dvt[8   *UdI$#%  CusZ6  'SaE"!$ CtrY5  %P\@# CrrX5  %PU7" BrpX6   +RP-!  BqnX6  :WJ$   @pnX6  GX?  ?mnW6  KU5  @mmV5   'NN*  BmlV5   0RC   AlkV5 :P3   >jjU5 EA   =iiV6  )C'     =hhV7 44    ]u|tle_ZSMHA:;@C<-     !Adzrjc^XSNIB=;:8-     3\}vnha\VRMIC=96.    Bk}tle_YTPMHC=7,   : : : :: : 5 4  2   2    1    1  /    &  $  $  $! $" $$!$%!$(#($*&-'.)0+2,3-4.3.#1,#0+#.(#,'#*&#($#("#$!###  # # #  $  $  $   $ $ $$ $      &,(  #5DKJ@1!   9P]b`YM<+   &E^knlg^RB/   u;9::;:931/01;<;;:;<G;::944410.-00/////9        ! #  $  %! '" ##($!+$+% ). ,&*(-' $  /)  1+  1,2-< <f:6 6  1  1  0  /   /   .  -         +    )  (   (    (               5;0      .]aL8!      5ddO=/     7eeP@8&      7ggP@=6     8hhRBBD0     8iiSDEPH&       9iiSEHX\D       TirxypO!    Gtr[>1Kcotse@  =;:5555503211001:::                                !  " ===>==<;99:D;99;<<::9$1McqxywsmcVF7(  !7Nalrttpi`SE6)    /CUbikjhaXMA3)"   #4ESZ^^ZUND:1*&"     &5AHMMLHB<61-*&"   (17<=<<:87421.*$   !',0367:<>>=<92,$ #(,27=>=$$#!  "5DP`lnpwulcUG;436:<>??>$#!  #0::9?=620-,-28<>>?#$$#!    "$&%&&').49==>!""##"  !"#$(.49;;<<== !"##"   !#&,379::;= !"##"!  #'046789:< !""##"!    !"##"!!"!   !##$##!  ""!    !"#$$#"  "##"  !"##" !##"  !!""!  !"##"!  !""#"!   !"##"!   !"##"!  !"#$$#"   !"#$$#" (  !"##"!)  !! * +  ,  .3 98 87 @8!B;!C<"E="E=!D< B: ?8<7 :4 72 50 3-1,-)+&'$%!#!!            ! "   !   *7><5) 2GV]ZRD6& /I^innh]N>.   6TjvywtncTD4% 1McqxywsmcVF7(  !7Nalrttpi`SE6)   /CUbikjhaXMA3)" #4ESZ^^ZUND:1*&"   &5AHMMLHB<61-*&" (17<=<<:87421.*$ !',0367:<>>=<92,$ #(,27)EbornZ+     CtsZ>&Geqri@      DtsZ=)HfroQ%     FutZ;(Jiqa7    Gwt[9,SomL!    Gxt[<7ao]1   EwuZ:  !LkhB   Fwv[7  7bkQ&   IyvZ7  &Uk[-   L{w[7   Hi^1  Hyv\7     BtsY6  &S_;  CtrX5  %OY5    CrrX5  %OS*   BrpX6   +RM"   BqnX6  9WH   @onX6  GX<  ?mnW6  KS1 @lmV5   &MM&  AllV4   /RB AkkU4 9O2  =ijT5 E@ ]t|tle_ZSMH@9:@C<-   !Aczrjc^XSNIB=;:8,  3\}vnha\VRMIC=96. Bk}tle_YTPMHC=7, Elyrjc^WSNLHB;+ ?gyyrjc\VRNKF?-   2Zjuyrib[URMIA2  Kahoyyqia[UQKB6#  3Xaektyqh`ZSKA. AZ_cip{vnf^VM:! GY^ahnx}sjbWH/ GX^afnwxncV=!@V\afnw{n`H+1OZ_emuľzhO2BU^emtſoS4# 'EWakt~iM2%$AVdnzrZ@.&! 6M^lxjUB5,&"   "5DP_knovulcUG;2-)&$"!  "099><620,+)('&%#! "  "$&%&&'&%#" $ !"#$%&&%$#!!$  !"##$##! %  !!  % 6 7 #! %!'#($*& ,' -) 0+ 1, 2- 4. 3. 1,/+.(,'*&'$'" $!"                $  "  " "  # $ 3 &  $ "&,(  "5DKI@1!  9O]b`YM<+   &E^knlg^RB/  !`bQ?36CQ^hprkS2 %& >acQ;&!+9JZflk`F% &' >`dR9 0DVbheW: '( >adQ7+?Ube`L+()=`cQ7)@VbdX: )* =adQ7 *AWd_G( ** >beQ5 *CYaS6!+,?beR5 -I]\D'"+, !#?ceR5 5R]P4#$,-  $$>deQ5  $CZW@*&,- #%$@dfR3 5SZJ1)-- !%&#AefQ2  &HYP8,.. "%%CfgR2  ?WR=//."$AegR3  7RS@0..!?ceR4 2OTB1.-  =ceR4 -LUC0-,  =beQ3 (ISB/,+ =adP1  &FP@-+* <`cO1  $CL<+)*<_bO1  %BG6(()<_bN1 )DB/$')<^`N1 2G>(!%' :]`N1 :G8"$" 9Z_M1  !>D0#" 9Z_M0  %@@)#" :Z^M0 *A7#" 9Z]L0 1>,#" 8X\L0  54 #" 7X[L1 #3$ #! 7W[L1 '( "! 5UZM4  $  "! 5UYK4   "! 5UYJ4   "! 6TXJ4  !!4RVJ4  2NRG2  %)+)&"2JLC/  !.:DJNPNIE?92*%&4BD;+   &846;;6(  $F;:844441/. -  0  /  /  . . //1              " ! "$ #  "  $!    %"   '$   '$ (%==e7 6 1  1  0 0  /  ..  -"   "    " * #$   "%$   ! $&# )!!!$$!( "! #" ' !   '               +1)     (GM@/     0QVH8(  1SXI;1!    2UYJ=7.    3VZL?<9) 4V[LA@E<$   5W\MBCLM;   7Y]NDFS[Q5    ;\]OEHVccO.    <]^OEHVfofK*     ;]_OEGUesteG'    :\_PEFRbpzwdC"  :]`QEFO]lw|t]8    ;]`REEMYfqyzmO*   =_aQC?GR^irwta@   >`bQ>25BQ]hprjS1     >`cQ;&!*8JZfkj`E%    >`cR8 !/CVcgeV9 ;::55541.110/0//1::                                       ===>==;:99:D;999;===<>J<9:9# +AUcjlkgaYL?1$   0DU`fhgd^VK>1&    +;LW]``]WOE:/&     !/>IPSSQMF>5.'"    $0:AEEDA=81-)'$     %-36886531.-*&!     $)-0246899873.'!    !%).38=BEEB=6.&   %+18?ELOQOKD;3)!    %-57/%!%''&#  $).379:951*" %*++*(%   $&*,*)&!%),-)'%"    &*,+'%"   #'(($!    !                                                ( ) *  +  ,.267;8? =[q~wnga[UOKGEA<5' 8Uiv|tmg`YSNJGD?8) -K]jt|{ung`YSNJFB:,  ?T^fnw|unf`YSMIC;. .IV\bjs{}unf^WRKD9) 6MVZ`fpx}tkc]UMC4! ;OVY^emv~{qh`XN@- ;MTX]dlt~wmcYK:( 5JSX]clu~zodVF7+'(,-,$!! +CPV\ckt~{m_QD8469;<9.)'%"   7IS[cjt~ueXOD>@BCDD@3-*'%"  $:KV`ir|tfXOJEEGIIHC6/,)&#! #8IWbmwyh\SJGGIKLKHGGC71.*'$"  0BP]hrzqbSIEEGILLMJ>;;952/+(%#   #1=HT\`dggb[QF<761.02345542/-+(%" &-00.+(%"   $&(*,.,-/13456541/-)&#  %,132/,)&#  "$&(+-/13466531.+'$! !%+14430-*'$  !#%'*,.134566541.+(%##&+045530.+(%  "$&)+.023566530-*'%%'+/245531.+)& "$'),.012330.*(&%'*-0245542/-*(  #%()+,--.-+)'%%&(+.02345431.,)  !"##$%%$$%')+-/13455420.+  "#$&(+-/134565420-   "#%(*,/134566531.  "%'),.024566541.'!#&(+-/1345542/*( #&(*-.01210-(#)  #&')*+*)&"*  +  -  0 487  8 3IY`b`[SG9*     6IU[]ZUMB4&    .>IOQOJB8+   -8?@?;4+!   $*-,)$           #&''$!  #'*+)&!    "&''&"          ##"!    #%#"     ##!                 "   "    "   # ##11  1  1223:99:<::  )' +(  ,) .+ /, 1.3.51  52  73  73  62 40 2.  0-  .+  +) *' (& '$$""                             '154-$ />IONH=0#  +?P[``\SF8*  0GZfjjgaXL=."  +AUcjlkgaYL?1$  0DU`fhgd^VK>1&  +;LW]``]WOE:/&   !/>IPSSQMF>5.'"  $0:AEEDA=81-)'$   %-36886531.-*&!   $)-0246899873.'!   !%).38=BEEB=6.&  %+18?ELOQOKD;3)   %-5D-" 9Z^L0  $??$ "  :Z^L/ *@6 #! 9Y]K/ 0=+%" 8X\K/  53 '$! 6W[K0 $1$(%" 6VZK1 '(*'# 5UZL3  $ +'" 5UYL4  *%  5TYK5  %  5SXK5  4RVJ4   2OSG2   $(*(%"1ILB/    -:CINONID?92+$%4BC;+   &;Qalpokf`YTOIC>846;;6(   $IOQOJB8+ -8?@?;4+!   $*-,)$ !   *  +  + #&''$! + #'*+)&! * "&''&" *  #  !  )  )+ 0/0V766779;<9999;@@ Frame 36     1I2eky3`:98 8  8  8 5 3 2  1   1 0/  $"  "    ""  ""  "#! !$" %# '% (&  )'    +)     ,)      -+     /,     /-    /-    /+    -*   ! ,(   !*(   !)&   !'%   !%#   !#!   !"   !  !  "  "  "  "   "    "    "    "   "   "           %-0.)!  +8BFF@6+      '9HRUVRJ?2&     +?OZ__]WOD7*   |=^8 5&+%4 $=D9* 4+GMA2$3.INB6+2.JOC81( 2.JPD963&1/KQE<;<5"//LQF<>ED5 .2NRG>@JQH0 -5PTH?AMXXF+ ,5QTH?BN[bZB($5QTH?AM[fhZA&!4PTH?@JXemiY<    4QUJ@@HTakohR3  6SVJ??FP[flm`F''' 7TVJ=:?JT^fjgV9 !+,$ 7UWI9/1# $/0' 8UYI3,=LW]ZM4 $01(! 7UYH2(9LW[VC(%12(!  7UYH2 ':LWZN4'23)"!""7UYI1 ';NXT@&&23)""%'# 8UYH0 '3$$,-#  3PUE,  6<- ",,#  4PSD,  !77&!,,#  3OSD, &81+,#  3OSC, +5'+,#  2MRC,  .-+,#  1MQC, +  *+"  1LQC- "# ++"  0KPC.    *+"  0KOC/   *+"  0KNC/  *+!  0INC/  (*! .GLA/  %)!  -DI@,  #(!  "&&%"-@C:*  #(!   *5=BEFEA=82-'"#/;=4&  #'    %6IW_bb_\VPKGB=72/2550%  #'   #7L_ltwuqjc]WQMHB?;7421-#   "'    .G]lw|~~{vpia[UOKFC?;730,#  "&    6Odsz~zunf_YSNIEA>;72-"  !&  `<:9 9 8 8 8 5 3 2  1  0    /    &    $   $   $  # # # #   " "  #! #" #! "  #! # # # # # #  #   #    #    #    #    #    #  #   #  #  #  #  #        "     +4971&  -@JPH0   "(% 4PSH?AMXXF+   "'&  6QTH?BN[bZB'   #('!  4QTH?AM[fhZ@%$('!  4QTH?@JXeliX= %)'   4QVJ@@HTakohR4 '*' 5RVJ??FP[fllaF'(*'7SVI=9?IT^fjgV9  (+' 8TWI8/1;HS^df_J-   (+'8TXI5$&3BQZ`_U=#  '+' 8UXI3,=MX]ZL4 ::944410.-00//.//9                                              ==<==<;:99:A:999:<<<<<<< /- , , # %9KX_a`]XPE8,!     +=LV[]]ZTMC8,"    &6DMSVVSNG>4+"    +8AHKKIE?80)$    !+4;>?=;72-)&#    "(.133210.,+(&"   !&),./13441.)$   "&+.37;=?>;60)"   "&-39?DGHGC=6-%    "(/6=DHMMKF?6.%    '.682*"$*/120,$    %)-13430+%!(/57764.&   #%&'%"&.489641-&  '/47740.)$   %+032/,)%       %())(&#      "!             !!      %#   $%"    !$#               (  ) )  *  ,  -167:8@ 6Pdqy}yskd]XRMHD@>;5.#  !%  1K^jsx|}wpjc]WQLGD@=81$  !%  )BS_hpv{|vojc]VQKFC?:3( !%   7JT\clsy~|vpjc]VPJFA<4)   % (AMSY`hov|}wqjc\UOJD<3%   % 0DMRW]elszxqiaZSMF<.  $ 4FMQV\cjrxxof_WOF9)   " 4ELPTZajqy~ulbZPD5'"!  /AJOTZajrzyoeZNA6.+.365/,+)'$"&;HNSYair{zocVLC<;?CFHE<740-*(%" 0AKRX`hq{vi^TNJGJNQRRNC<840-*(%"  4BMV^foxuh^UQPORUWXXRF?;63/,)'$" 1AMXajszyl^UPNPRUXZZXWWRHA<840-*'%"! +;GR]emrx|~|yqfXLEEIMQUXZ[XPNMKGB>:52.+(%#!   !-7AJSVY]\YRJA:57?GNRVY[\WMIIHFC?;73/,(%#! $+2568851-)),6AJORUXYWSKHHFC@<841-*&$!!%&&$" !"!!%-:EKNQSVTLIGFGGFD@=952.+(%" %,01/,*' $/;740,)&#! $,47741.+ #-:CGJLMPMC@ACEFFEC@=962.*'$"!$+4;<;730, $1:?ADFHG@=@BDEFFDB?<840,(%$%*3;@@=951.  )/247:;;ACFGHGFC@=840,*,2:AEEC?;740 #(,/147;>ACEGHHFDA=940./39?DFFC@<851  %),0369=?BDFGGFC@<741138>BEFFDA>:63$),037::7  $'*,-//0100/0369ACEGHHFDA= !'+.047:=@BEGHHFDA=" "(+/2588( !'+.258;>?ABA?;5.) #'+/24678863-&*  #%'))(%!+  -  0  47  7  79 -@NVXVQJ@4&     /@LQSQLE;/"    (6AGHGB;2'   (18:85/&   !&((%            !""   #%&$"    !##"      %(('"    #*./-*%   !).0/,)# ")-.,)%   $'(&#            "    "  "   #   "  "  1 1 1 122s;899:;::    $"  %#  &$ '% )& +(  ,(   -+   .+   /,   /,   .+   -*  +(  )'  (&  &$ $" #! "                                $,/.(! *7AFE?6+  '9HQVVRJ?2&  +?OZ__]WOD7*  %9KX_a`]XPE8,!  +=LV[]]ZTMC8,"  &6DMSVVSNG>4+"  +8AHKKIE?80)$  !+4;>?=;72-)&#   "(.133210.,+(&"  !&),./13441.)$  "&+.37;=?>;60)"  "&-39?DGHGC=6-%  "(/6=DHMMKF?6.%   '.681*"  %)-14430+%   #%&&$"    "    $  %  '    '( )< &*' ! 6TXH2'8KW[UC(  %*' !" 7UXH2 &9LXYN4  $)'  ! 7UXH1 &:MXS?$  #)'  8VYH/ '$ !''# :XZH-   $@OC)  ''# ;Y[H-   8LE,  &'# :X[I.   1HF.  &&#8WZH/  -DF0 %%"7VZH/ (BF1  $$!6UYH-  $?F1  !! 6TXG-  "=C/ 6SXF,  !:?+ $! 6SWF,  "9;% (%"  6SVF, %;7! )'$"  5RVE, ,=4 *(%#! 4QUE, 2=. +(%#! 4PTD,  5;(,)&#! 3OSD+  "76!.*'$! 4OSD+ &7/ /,(%"  3ORC+ +4&1-)&#! 1MQC+  -, 3/+($! 1LQC+ *51-)$  1LPC, "#73.)# 0JPD.   94.'  0JOD/   71*" /JOC/  1*" /INC/ & .HLA.   -DI?-   "%&%"-@D;*   +5=AEFDA=82-&"#/:<5&   $6HV_bb_[VPKGA<71/1450$   #7L_ltvuqjc]WQMHC?;6411-#     .G]lw|~{vpia[UOKFC?;730+#  6Odszzunf_YSNIEA>;62,"  6Pdqy}yskd]XRMHD@>;6/" 1K^jsx|}wpjc]WQLGD@=81$ )BS_hpv{|vojc]VQKFC?;4'  7JT\clsy~|vpjc]VPJFA<4( (AMSY`hov|}wqjc\UOJD=2$ 0DMRW]elszxqiaZSME<. 4FMQV\cjrxxof_WOF8' 4ELPTZajqy~ulbYOB1 /AJOTZajrzyocXJ8& &;HNSYair{znaQ?,  0AKRX`hq{tfUA/!  4BMV^foxtdR@/" 1AMXajszyjZJ:,"  +;GR]fmsx|~|yqfXI<1("  !-7AJRVY]\XRJA8/)$!  #+1468741-)&$"    ""!  ! # # $  % 69d             !" #!#!"!"                      !  !  "  #$# ! "  +4871&-D:0& 2(?D;2,# 1(@E<40,!0(AF=55./*AG>77<;. .,CG?89AF>+ -.EH@9;DML=' ,/FI@9;EPUN;$#.FI@9;DPYZN9"!.FJA99BNY_[M6   .FJA99@KV^aZH.  $% /GKA98>GQY`_T=$#/0( 0HKB738AKSZ^ZK3  (56."1HLA3+,4@ISXYRA)  *890& 1IM@/!$.:GQUTJ7  +9:2(" 1IM@-(6CMROB.+:;2)&"1IM?,$3BLPJ;%,;<3+('# 0IM@, "3BLNC.-;=3,*,*" 1IM@, #4CLI8#-;=4,+.1,1JN@+ $5EJ@+,;=4,+044*1KO@+ &9GE5$ ,;=3,*0694(2KO@+  ,?G=-%-:=4+).6;;4%2KO@*   4CC5+0;>4+),4;>;02LO@*   *?E;02?2& %,39;3LO@) +?A::>>1#!*271KO@* (=B;9>>0 )11JO@* $:B<:>=/  *0IN?*  !7@<9==/  1IM>(  5=97;'  3;65:<.  /HL='  28339;. /HK=' !34.08;. /GJ=' &51)-79-  .FJ=' ,5-%*58,  .EI<'   .3)"(57+  -DI<'   //#'57,  .DH<'  !/*&47,  -DG;'  %+"%47,  ,CG;'   &&#37+  +AF;'   # #36+  +AF;'  #36+  +AF;)  #26*  *@E;)  "25*  *@D;) "25*  )?D;) !14* )>C:)  .3)   (;@7'  ,1)  ""!'8;3%  ,1)  '06:==;840,'" *35."  ,1)   !1@KRVVSPKFB>940,),//*  +1)   2CR^dggc^XRMHD?;840.,+'  +0(   )>P^hnoomic]VQKGC?;841.*&  +0(   /EWdlorssplha[TOJEA=:740,'  */( `<9988 8 8 5 3 2 1  0   /  %  $   #  #  #  #  #                   !  "  "  "  "  "   !    "    "    "    "    "    "    "   "   "   "   #   # #           &.10+!    (4=A@<4)     ,;EJJGA9-!   6<999898920001:;={<:::;<>E:84 4 4 3 1  /  .   -   ,    +    .    .    .  .  - . /                                             ==';7  5 1!'$ 0 &.+"0  (0-& /  (1.'! /! )1/)%!., )1/*'&" -4& *20+)+)! ,8-,30+*.0+ 82&!.41++/43* 53,#$051+*/584)*120*%)151+)-5:;5(  *01.+-361+(+29=<3%  "+//1661*')/6<>:0("*.03771($%*07<<6) ' '-487/%!(/6:8/!' (176."$,362( & !-55, !)01,"  )23+  '--'    $/2+  &+*"   $  !-1-"  &)%  391$ ,1.&  %& %D;0& *10* !#(@D<1+#  *10*" (@E<40,! )0/( ! )AF=544.  *0/' "*AF>67<;.   *0/& !,CH?89AE>+   +1/&    .DH@9;DLK='  +10(  /FI@9;EPUN;$,21*  .FI@9;DPYYN9"!-31)  .FJA99BNY_[L5"/41( ! .FJA99@KV^aZH. $051'   /FKA98>GQY_^T>$ &151&  0HKA638@JSZ^YK3  '261&  ! 1HLA3++4?ISXYR@) (262& $1HL@0!#.:FPUTI6 '161&  $( 1IL@-(5CMQNB. F<:944441/.- 0 / / . . ./1                                        ==<==<;:99:A;999:<<<<<<< /- , , #!2ALSUTRMF<2'     %4BKPSRPKD;1'    "/;DILKIE?7.&     &1:@BC@<81+$     &.478641,)$!   $),..-,+)(&$"  !$')+,..,)$   "&)-1468740+$    #(-27;?@?;6/(!    #)06;@CDB=70( "#!   #)/5:>AA?:3,$$*/22.&    &+0489962,%%,3:==;6-$    $(+-/-+'!&09@CDB@90'   !""!#,7?DFDA=70'  $.8?CCA=94-%     "+4:>=;84/)!     $,13320,(#     $())'%!       !%"    !)*&    ).,&  !#%&%" &-.+$  !#&(('$ #*,+'!   "%&'%"%((&!   !!"#"       ""  "$&'&# !  #&(('$ ( !$%%# ) *  +  -/69:8@ 0EWcjoqsttspkf_YSNID@<973/(  )/( ,AQ]eknqtvvsoic^XSMHC?<962+   )/( $9IT\cimqtvxxvsnhc^XSMHC>;84-"  ).(  0AKRY`fkpsvyzywsnic^XRLGB>:5.#  (.' $8DIOU\cinrvy|}{xsnid^XQKFA;6,!  (.' *;DIMSY`flqvz~}yupjd]VPID=5)  ',& -2% &+% ,>:8641.+'#$% !3>EJOV]emt{|tlbXNGB@BHMRTRKEA=952.+'#!!"!  *8AHNU\dlt{zrh^TONNQV[_aa\SKGA=952.+(%#"  ,:DLS[ckqx~|rg]UQRVZ^cfhhfaXOJE@;741-+(%" +9DMV^elrw|}uk_TONRW]bfijhgfbYRLGA=951.+)&# &3>HQX_eilnnjdZNEAELT[afikica`^XSNIC?:62/,)'$!  '19BIMOQQOIB;427BMW]bgjkg`]\[XTOJE@;73/,)'%" !(-02430-*&&,7FQX]aegfc][[ZXUPKFB=950-*'%#"%*.00-+' "-=JSW[^ba\ZXYYXUQMHC?:62.+(&%'.7<=;851 "0@KRUW[_]WSTVXYXVSNJEA<830,)'(.8AFEB=:6 !.>IORTX[ZSPRTVXXWTQLHD?:51-+*.6BJLJE@<8 %5@FJMPSSONPSUWXXVSOKGB=83/-/5@JPPMGB>:  %29>ACGIJLORUWYYXVSOJE@:5216?JRUSOID?;(169=@DGKNRUXYZZXUQLGB<858?IQVWTPKFA<  ",37:>BFJNQTWY[ZYVRMGB=:;@GPVYXUQLGB> &.48<@DHLPSVXYYXUQKFA>>AGNTWYXVRNID@%-38<@EILORTUUTQLGB??AFKPTWXXVSOJFB ")05:>BEGIKKLJHEA>>@DHLPSUWXWUQNIE"(-1579:;;=<;=@DHLORUWXXWTQMH  "$%&&(,268:<@DGKORTWYYVSOK )058;?BGJNQTWYZZYVQM  *169=AEIMQTVYZZYVQL! "+26;?CGKORTWXXVSMF(!*06:?CGJMPRSROJB:) %,16;>ADEGFD?90'* #',/13442/)#+   -  / 47  7  79 '8DKMKHA8-!   )8BHIGC<4)   #09>@>;4,#   #,132.)"   !$$!               !       "&%"   '.220+"   ",59:85.%    )39<;93,#  +38974.' %-110,'!  "&'%"                #      """     "    "    ! !   1  1  1  1 114Es;899:;::             !    #!   $" %#  &$   '%   (&   (&   '%  &$   $#   #!  !                                      !     &)(# &08<<80&  #1>FKKHA7,!  &6DNSSQLE;0% !2ALSUTRMF<2'   %4BKPSRPKD;1' "/;DILKIE?7.&  &1:@BC@<81+$   &.478641,)$!  $),..-,+)(&$"  !$')+,..,)$   "&)-1468740+$  #(-27;?@?;6/(!  #)06;@CDB=70(   #)/5:>AA?:3,$   &+0489962,%   $(+-.-+&!  !"!     "  #    %  ''(*<%051&  (* 1IL@,$3ALPJ:$ ".41& )+ 0IM@, #3CLNC.  -41& )*0IM@+ #3CLI8! ,31& '& 1IM@+ #5EJ@*  +30& "  1JN@* &9GE4  *20'  1JN@+  +?F<'  *20)   1JN@*    4DA0  )10*   2KN@)   *>D6!  )11,!  3LO@(  !8C:%  )11," 3LO@(   1A;'  (01," 3LO@) +=<)  (00,"1KN@) ';<+  './+!1JN@) $9<,   %,-* 0IM?)  !6;+ $)*'0IL>(  49) $ "&'%0HL='  26& -)&" "##0HK='  12! 2.+(%#"!!/GK=( !1041.+(&#!! .FK<' &3, 52.,)'$"" .FJ<' +4( 63/,*'%#" -DI<'   .1#840,*'&$"!-DH;&   .. :51-*(&#"!-DH;&  !.( ;73.+(&#"!-CH;&  $,!=940,)%"  ,CG;&   %% @;62-)$ +AF;&   #C>93.("+AF;( F@:4,% *AE;(  GA:1( *@E;)  E>5+  *@D;) >5*  )?D;) 0& )>C9)   (;@7(    !"!(7;3$   &/69<=;840,'! )34."    !1?JQUUSPKFB>940+)+./*     1CQ]dhfc^XRMHD@;840.,+'    )>P^hlppmic]VQKGC?;841.+&  /EWdlprssplha[TOJEA=:740,'  0EWcjoqsttspkf_YSNID@<973/) ,AQ]eknqtvvsoic^XSMHC?<962+  $9IT\cimqtvxxvsnhc^XSMHC>;84-"  0AKRY`fkpsvyzywsnic^XRLGB>:5.# $8DIOU\cinrvy|}{xsnid^XQKFA<5,  *;DIMSY`flqvz~}yupjd]VPID=4( -EJOV]emt{|tkaUG7(  *8AHNU\dlt{{qfYJ9*  ,:DLS[ckqx~|rfXI9*  +9DMV^elrw||uj]PA4(  &3>HQX_dilnmicYNA6-$  (19BHLOQQNIC;3+&!  !(,01320,)&#     ! " #  $  $58e                                                         ! #$" !  &.10+!  (4<@@<4)   ,;EJJGA9-!    '8DKMKHA8-! , )8BHIGC<4) * #09>@>;4,#  #,132.)"  !$$! !   )  *  +  +  !  *  +  #  "  +),/03 W + +67789/==<99999:@@ Frame 34     1&Mk_:9 8 7  7 6  5  3  1  0   /    .    .    #   "    "   "   "  !                        !   !    !     ! !!!!!!!  !   !  !  !  !  !  " " " " "         "#"     !*144/)!      *5=@A=80&       .:BGGFB<4*     }=]7  5 4 +/* 3 270&3#593*! 2#6:4,& 1#6;4.*%0$7;5/..(/%7<60042( -&9>7139;5& ,(:>824;A@5" +(;?834A7(#.:BFC9(3CF<3.) *=A7' !-9BD@2 4EG=300+*=B7' -9BB9(3EG=4253) *>A7&  -9A>0 3DH>548;5&*>B7&  .;?6& 2DG=44:@?4"+?C7%  "1<;.""2CG>439BE@1+?C7%  &5<5)'2BG=428AHG>-+?C7%  -98/*4BG>316>GKG;,@C7$   %5:4/6CG>303;CJKD,@C7$  09739EG>1,.5>EJI-AC7$  *896EH,@C7% %697=GG:* (3GG9&%1;*>C7%  198>GG8$ %2*>B6$  /88=FF8# ()=A6#  ,55;DE7#)=@5#  +339CE7")=@5"  */08CE6")<@5"  *--5AD6!(B5!':>4"  &*$#/>A5!'9>3"  '( .?B4 '9>3" '$->B4 '9=3" $+=A4!&9=2"  *=A5!%7;3"   (2#481# $7=1 "26/" "5<1 #02,  "5;1  #)/24430-)%"$,-( "5;1  +6@FHIGDA=952-*%$&))$ "4;1 +9FOVXXUQMHB>:640-*('&" "4:0  %5DQY^``_[VQKFB>:630-*(%! !390 );JU\acdcb_ZUOJEA=9530-*'"  290:9888 8 6 3 1 0  0  0  %  #   " "  "  "  "                                 !  "   "   "    "    "    !    !  !  !  "  " "  "  "   "   "  #  #  #               !'*)$     "-4773-$     &2;?@=80'    6<999898920///0;={<:::;<=E:8 4 4 4  3   1   /   .    -   ,   +   .    .  .    .  -  . /                                                               ==';7 5!1 '/," 0 .73) 0 097-$/  1:80(  /(  1;81,' .5" 1;92/.(->- 2<93131( ,C6%#5=:43793&  C<.!'7>;438>=3# @>5*%,9?;438@D?1 *;=92-1;@;427?FG?0 4:;747>@;315=EJH>-  )49:9;AA;2/18AHKF9&()27:>CB:1+,2:CHHA1'&/7>CB9-%$(19AED9( ' $14$  %/67/!    ,9<4'  #.43)   (6;6*  #-2-   */) %5;7. #-.%   270&$4;91! %,) "5:3)! #2;:2#'*""6;4,% "2::2# )& #6;5.*&!2:90! &(#6<6/--'  !2:9/#)!$7<60031'  "2:8. ($ &8=7128;5&  #3;9. &% (:>824;BA5"  $4;:1" %% (;?834;0 $'(;?9338AJQSL=(  +:?;/ #&(<@9216>FNRQG5  .<@;.  $% )6-#   '1IPV[_beghigd`[VRMHC>;740-' 170  )7AGMSY]aegijjhd`[WRMGC>:63.( 170 /:@EJQV[`cgilmkhe`\WRLGB=84.& 07/ $3;?CHNTY^bgjnpomjfa\WQKE@;5-#   06.&4;>BGLRX]bglpstrokgb\VOIB=5+!  .4,&3:>BFLRX^cinrvwvtqmgaZSKD=4+$ !&*,+,--+(%""-1)#18=AFKQX^ejotxyzxupjd\UME>7225;BFHECA>;73/+&"!%+,%  ,6;730-)% %0:BJQW]chknonkd\RJILU^houyzyywrkc\UOID@<841.+& !,5=ELRVZ]_^ZUNE>=DO[ensx{yvsrojd^WQKFA<852/,'! "*29>BDFFD@;4//7ET`hotxywspomje`YSMHC>9520,)%"!#$%#! #(*,--+(%"$+9KYahmquusonnmjfa[UOJD?:620-+*,27:963/  -@PZ`ejnomkkljgb]VQLFA<731.-07BIJGD?;  1DQZ^afjjgefhjkjhc^YSNID>951017DOTSOJEA /BOWZ]aeebacehijiea\WQLF@;7337BOY\YTNHD   &9GOSVZ^_^^adgijjhd`[VPJD>978AMZaa]VPJE  ,:CILOTWY\_cfikkjgc_YSMF@<DHMRW\`dgjkljfa[TNJJNV]dikjgc]WRM !-6>CINSW\`ceffea\UPLLOT[aeijjhd_ZUP )29?EJOSVXZ[[ZWSNKJMQW\adgijifb]XS "*06;?BDFGGIJJHHJNRW[_cfijjiea]W "&*,,--06=ADFIMQV[^cfiklkie`[ %1:@DHKPUZ^bfikmmkgc] '3;AEJNSX]aeikmmkhb\!)4??=82+"+ #%&'&# -  / 46>88 7 78!/:@BA>80'    #/8=?=:4-#    )15752-&    &*,+(#                         #)-,(!   %/7<=93)   (5?EFD?7,    #1=EHGD>5+  %3=CDC>80&   !-5:;:5/'  "(-.,)$        !    '&   &+' !  #))#"   %&" "     "           1  1  1  1  113Es;899:;::                          !   !    !                                                                   !#" !)044/)!  *5:. #12%)=B7& -:A=/  #5>;. #//!*>B7%  .;>6% !4=:/  )& *>B7%  "1<:-  3=:/  *>B7%  &5;3" 2<:1!*?C7%  -97)  1<;3%   +?C7$   %59.  1;;5'  ,@C7#  081   1;;5) ,@C6#  *62"  0:;5) ,@C7$ &43#  09:5)*?C7$ "13%  .894(*>B7% /2&   -662')>B6#  .1% +220%)=A5#  ,/# +&"#*./,$)=A5"  *-! 72-)'')*+*")<@4"  )* =841-+)((!(4"  &)D>9520-+)( ':=3"  '& E@;730-+)("':=3! &" GB=841-*)(!'9=3! $JE?:61-*'#&8<3!   NHB<71,'"%7<2"   QKD>71)! %7;3" TNF>6,"%6;3#  VNE<0%%6;3$  TJ?4'$6:3$ J?3&#5:3$ :." #481# %   "26/"     #/2,     ").14430-)&!$,-(    *6?FIIGDA=951-)%$&()$   +:FPUXXUQMGC>;730-*('&"    %5DQY^``_[VQKFB>:630-*(%!  );JU\acdcb_ZUOJEA=9530-*'"  );JU\`ceefeb^YSMID?<852/-)# &7EPX]`cefggea\WRMHD?;741/+% 1>IPV[_beghigd`[VRMHC>;740-'  )7AGMSY]aegijjhd`[WRMGC>:63.' /:@EJQV[`cgilmkhe`\WRLGB=84.& $3;?CHNTY^bgjnpomjfa\WQKE@;5-# &4;>BGLRX]bglpstrokgb\VOIC<5* &3:>BFLRX^cinrvwvtqmgaZSKD<1% #18=AFKQX^ejotxyzxupjd\ULC8+  ,6ELRWZ]_^[UMD:0(!   "*29>BDFFD@;4-'"  #'*,--*(%"    ! "  "    $  $ )8e                                                                                 ! #$"     !'))$  ",3774-$   &2;?@=80'   !/:@BA>80' , #/8=?=:4-# * )15752-&  &*,+(#    !   (   *  +  +  *  +  #  " +)+ /03 W + +67789/==<:9999:@@ Frame 33     }$ _998 8 8 8 6 3  1  0   /    /    %   "    "     !     !    !    !                 !!!  ! !! !   !! !   "" !   #$ !   #$ !   #$ !   ## " "" " !! "   " " ""         $),,(#      $,2674/)!      '18<=<83,$    7 5 4 #'# 4 ).) 3 ,0,$ 2 -1-& 1 -1-($ 0-2.)'&! / .3/+*,*! . /30+,01,  ,"140,-276,,"151,-3:=8,""151,-3;A@8* !"151,,2:BEA7(   "151,,18?EF@4# #24*#261,+.5=5( !9LOE90' $37/"(18;90" !:LOF;50& $36." &07:5*":MPF<981#$36.! &1770#";NQG=;=<1 $37." '164)!9NQG=, $47.   '15.!#7LPG=IRWSD%58/   ,0--:JQG<7;DNVXP%58. (001>MQF946=GQWT%68.  $.03@NQE6--3=HPS%58/   ,14ANQC1# &/;FN$58.  +16BNQB-+:F$47.   )16ANPA* +;#47.   '05@MP@).#36-  &.3?LO@( #36-  $+0>LN@(#26,  #).&!14,  # $5GL>&!03+   !!3GL>& !03+  2GM>& !03+ 1GL>& /2+  /EL>& /2*   .DK=& .2+   .DJ=& .2+   -CJ<% .1+  -CI<% -1+ -CH<%,0* ,BH;%,/* *@F:% *-( )>E:% '*% (>E:%  $(*,,+)&# %&" (=E9$  %/5;==<:730.*&# !## (=D9$ &1;CHKKIFB>962/,)&$#"! (=D8$   -:CKORRQNJFA=852/,*'%"  'INRUVUTQMID?;741.+)'%! &;B8$:99888832 1 0 /  $  # # #  #  #   !                                                          !   !  !  !  !  "  " " " " " " " """  "  "               !#"     &+..,&      *15640)! 5:888888310/002;<|;99::;=<98 3  3  3  3   1  /   .    -   ,   +   *  *   ,   -  - -  -                                                                 96 1 '%1 .73(0 5?<0# 0 "8C@5)/"8DA8/& ./ "9DB:4.$ .>( #:EB;75/"-I4%;FC<:<:/,N?+)=GD<;?C<, ,NF6&".@ID<1+3BJD<;BJNI:&*EGC:4:EJD<:@JRRJ8#)GKF8%&/?JJ>,".:CE>/  &9FG=*  *6?@7'   3BF=- (5=;/    .?E@1(5:4%  #&" +=EA6$)45+   )-) )FD;) *-!"151,-3;A@8* .?GE:( )-""151,,2:ADA7(  0BIE8% ).#"151,,18?EF@3#  3DJE7" ),!#161++.5BD@6& $7FKE6!".+ $370'!!'.6=AA;/ &8FLF6! +4, $37/$"+3:>=5(  '7EKF6!!39- $37/"(18;80" E;944 4 4 4 0 . - ,  ,  +   *   -   . . . 08                                 ==<<===<:999959889:;<<<<<<<<<.,,+#$/7<>>=93-%      %07;=<:72+%      #+268763.)#    $+/110-*%      "&))'%"    !"#""!    !"##"!  "%'))&$   "%),./.+'#    #'+/110-(##*/0.)!   #'+./0.*%! (1:AED?5+!    #&)**(% $181)"    %.589974/)$   !))"  $)+--,*(%#! !.40'  !#$&&%#  .9;5*    "%'),--,*'"+9@>6*    #'+.14540,& (6?A<3)  $)-158873-' %1;?=6.% #(-14664/)#!+4885/(!  #'*-..+'"#*/10-($  !##" !&))('%#"  !#%&''(('%"  #&(+./0/-)$  $(,036752-'  $)-158873-&( "'+/2441-' ) "%(*+*'#)  +  , .5>:A #2>HNRUVWWVTPLGC>:730-+)&# &:B8$ /;DJOSUVXXVSOKFB>:630-+(%  %:A8%)5>DJNQTVXYZYVROJFB>:62/,*'! %9A8% #/7=CHLPSVXZ[[YVROJFB>952/+'! %8A7& (17;@EJNRUX[]]ZVSOKFB=841,'  %8@7%+26:>CHMQUX\^``^[WTPKFA<72-&   %7>6% +269=BGLPUY]`ccb`]YTOJD>94.%%6<4# +158=AFKPVZ^beffda]XSMGA;4-&!!#(-023442/+'"(480 )048=@GPZcjmlga[UPKFA<72//0.')06;@EKQV\`dgijiea[TMGDFMXclu{zrjc\UPKFB=951/,$  *17>DJOUY^bdfgea[SLGFKUanxxog`YSMID?<840*# )18?EKPTX[^^ZUNGABJWdq{凂{rkc[UPJEA=:61,$  %-4;@FILOPPMIB;68CRboy{umf^XQKFB=:73-' $+158:=<:73.*,6HZhsz|vohaZSMGB>:740+''(**)&# #%&''&$!!*;O`jqx~~|wpib\VPJD?;74104:ACC?<7 -BVbinty||{||}}|wrke^XRLFA<8547ALTVSNJE 1GXafkpuwvvwy{|{xtnga[TNHC=:78AN[ba\WQK 0EU^bfkoqqsvy{{yvqke_XRKE?<;@L\gjgaZTN   (>NW\_dikkmptwz|{xtojc]UNGB?BKZhppke]WQ1CNRW[`dgjnswz|}{xsnhaYRKFELXgrwtng`YR&9ELQV[`dinrwz}~~{wqkc[TNKNXeryyvpib[T />GMRW\bgmqvy}~|xrkd\URRYdpx|{wqjc]W  %5AINTY_ekptx{}}|wqib[WW[cmuz||xrmf_Y '4?GNUZafkosvwwvqjc]YX[aipvy{{xuohb\ $0:CJQW\`dgiijhe`[XWZ_ekptx{{zwrmga '08?EJMPRRSUUTVZ_ejoswz||yvqke !'-034558?FLNQTZ_dinrwz}}|yuoi  ,9DJOSX]chnrvy}~~|xrk  -;ELQU[aglquy}~~}xrj !0ELRW[_bcb_YPD7)!)17>BEGIIFB;1'+  %(+,,)$ ,  / 3z:7779'068740)!   (/4541,&  ")-..+&       $%%"                              !)054/&    +6@EFC;/"   /=JOROI@3%   (9GQTSOH>1$   +;GNONIA7,   %3>DEC>7.# &/5640)!   #%#      $'!    $--%    !-1-#    )00)    #+-(  !   "%#               ! 0  0  0  //1 Cr;8778:99;                                                                                         !          !   $)++(" $ $,2664/)!  '18<=;83+$ $/7<>>=93-% ! %07;=<:72+%   #+268763.)#  $+/110-*%   "&))'%"  !"#""!  !"##"!  "%'))&$  "%),./.+'#  #'+/110-(#  #'+./0.*%    #&)**(%    !"!   !  # %&((+, $4CKE6!'8<. $37/! &0795*  0AJE6!):=.$37/! &0770"  ,?IE6!)9;,$37.! &163(  )=ID6!)77&$47.   '14-  '/   %58.  $-* #8DD>/  %58.  +* "7CD>/ %47. )* "6BB<. $47.  '*   "4>?:- $37.  &) %2:;7+ #36-  $' 2-'##(0564)#26-  #% ?:50--/121(#25,  "#FA=8410//.' #25,  "! ID@<841..-&"15, # KFA=:630/-$"14, #LGB>;7410-#!14+  "NIC>;7521.%!03+    QKE?;8520/' !03+  SMGA<8520.' !03+  VPIC>:51.( /2+  ZSLF?:3.'  .2+   _WPH@80& .1+  bZRI>3( -1+   d[QE8+ -1+  aWJ<- -1+ WJ<, ,0* D6(+/* *   *-(     '*%    $(*+,+)&# %&"    %.6:=><:730-*&#  ##   %1;CHJJIEB=962/,)&$""    -:DKPRRQNJFA=852/,*'%"   #1>HORUVUTQMID?;741.+)'$!  #2>HNRUVWWVTPLGC>:730-+)&#  /;DJOSUVXXVSOKFB>:630-+(% )5>DJNQTVXYZYVROJFB>:62/,*&!  #/7=CHLPSVXZ[[YVROJFB>952/+'!  (17;@EJNRUX[]]ZVSOKFB=841,'  +26:>CHMQUX\^``^[WTPKFA<72-&  +269=BGLPUY]`ccb`]YTOJD>94,$  +158=AFKPVZ^beffda]XSMGA:3* )0484) )06;@EKQV\`dgijiea[TKA7+    *17>DJOUY^bdffea[SJ@6+!  )18?EJPTX[]^][UNE;1(   %-4;@EILOPPMIB:2*#   %+158:<<:73-(#   #%&''&$!    !  "  #   %% *9e                                                                                              !"$& %  & !#" . %+..+& -  *15640)!,'068740)! ,(/4541,&+")-..+&  *  $%%" !  !  *    +  +  +  +  +  +  ---.14 6Z**++,,, .<<<<<<<;;987799@@ Frame 32     y%[%stC%;#H[_9887 7 7 5 2 1 0 /  .  %   #    "     "     !    !    !                            !    "" !   "" !   #$ !   $$ !   && !   '& !   '( !  () !  )) !  )* !  () !  '( !  %& " $$ ""# " !! "  "          !##    $),,*'!    '-011.*$    6 5 4 3 !%! 3 #'$ 2 $(%1 $(&! / %)&"  . %)'$#$" - &*'$%'($ ,'*(%&*-,$+'+(%&+01-$!(+(%&+154.#    (+(%&*0675-!  !"'+)%%).5984*(9;0(+)%$&,26981%  7JMA.)+)#!"'-3774+  ">RVI8( ),'! &,155/&$AUXM?0"),'$*031+! $AVYOB8.),'!(.1.& %AWZPC=8, ),&  '-/+"%AW[PEAA:(),' ',-'%AX[QFDGF8#),'   '+*!$@X[QFEKPH4 ),&   (*%$>V[QFEMUTF.*-'  "(' %SZQD@DNZce\*-&   &(.AU[PB;>FR]ca*-&  %)0DV[O=34;FS\_*-& #)1DW[L8)%+6DQY*-&  ")2EW[K3 #2CQ*,&  !)2DWZJ0 2D),%  '1CVYI/  5),%  %/BUYI.%)+%  $-AUYH.(+$  ",@TYH- (+$  !*?SYG-(+$  (:62/,)'$"  -DM@) (3;@CEGGEC@<851.+)&$"  ,CL@):9888854210/$" "  "  "  "   "                                                          ! ! ! ! ! ! ! ! ! """""""""                 #%%#     "'*+*'!   5:888888310/002;<|;99::;=;9 8 4  3  3  3 1  /  .   -  , +  + *  -   -   - -  -                                                              9 6  4%-*  1 4@;.0 %=IE8( 0&@MI<0" /$(ANK@6+.6 (AOLB;4) .G- (BPLC?=6'-S<$+DQMDBDC6",ZI1/FRNEDILE3 ,ZP>+&4ISNEDKSRD. +VSG81;LTNECKV[TC, *PRLCBKW`d^L3 (&7DJNSYYNA9;CNYaaWB('#3AJSYYL<1/6ALW][L6 ' 1BPYWI6&!$.;HRVQA+&!6IUTF2'5CNPH6! +AQSF1 !1?II@,   #;LPF4 .=FD6!   5IOI9$.=C<+   2GOK>)0<>1   !$! 0FPLA- 1;6& #'# .DONC0%48-  $'%-DNNC/ +63" $(%! ,CNMA-#36( $)&"   ,CNL?) .7-  %)'##$"  -DNL>')60  &*'$$'($ .EOL>)%41!'*(%&*-+$ 0FPNA-"22#'+(%&+01-$  2GQOD/ 14&'+(%&+054."  5IROB. 04('+(%&*0585,!  8LTOA* 04('+)%%).4894*";NUO?' /4&(,)$#&,16970% %>PVO>& 12$(,(#!"'-2674+ )@QWO>&'62!),'! &,1550& ,AQXP>& 2<3 ),'#*021+!  ,@PWP>&&;B4 ),&!(.0.' E;98 4 4 4 4  0  . -  ,   ,    +    +   .  .  .  . 0 8                             ==<<===<:999959889:;<<<<<<<<<.,,+# &,1331/*%     &,0220-)$     #),..,*&"      #&()'%"      ""!          !"!     "$&&%#       #&(('$!  (/575/&    #%''%""-8BJOMG=1&   !""!(6DPZ_`]TH9,    )8IWcikhdYM>0#    #2CTajmlhbYM>1$   &4DUagigc]TI<0$     $0>LW^_^ZTLA6+"   (4@JPRQMHA8/'  !#   )3;@BA?;60)$   &0/(  !(/24430.+(%#! &5<8-"   %'*+,,+*(%!#4AD=1$  "%(+-024431,("!1AJH>1%   $)-159<=;83,% .>IKE;/$  $*/49=@A?:4,% +9CHF>4*" #).38<>>;60(!&1?=94-  $)/49=AA?:3,( "',26:<<94-&) #'+.121.("* !#$$"+  ,  /5>;A (3:@DFGHHGEC?;841.+(&$" +CL@)&08=BDFHIIGEB>:730-*'%#! +BK@* !+38=ADFGIJJIGDA>:730-*'%" *AK@+&-27;?BEGIKLKJGDA>:730,)'$  *AJ@+  (-15:=ADGIKMMLJHEB>:63/,(%  *AI@+ ")-048<@CFILNOONLIEB>:61.*%  *?H>*#),037;?CFJMOQRQOMJFB=840*% *>E<(#),/26:?CGJNQSTTSPMIE@;60+&! $+158;<<962-'!!.CHLOSUWWVTPJD?;GVgwvnf`YTNID@<71) !(.39=AEHJLMLJF?:793)  %*0588877: '+.-+'!     &*++($    !%&%#                             #%"    %08<<5,    "1>JOQLC6(   #6GT\]ZTI:+ -AR]a_[RG9) 1CRZ\YSK@3$  +;GMOMG@5)   ,6<><70&   #)*)& #   )-&    )43*   '494)    !087/#     (14.%!   '+(! !            ! 0 0  0  /  /1 Cr;9778:9:;                                                                                                       # & $           !##  $$),,*'! #'-011.*$ " &,1331/*% !&,0220-)$  #),..,*&"  #&()'%"   ""!       !"!   "$&&%#    #&(('$!   #%''%"  !""!     !  "  %'( ( +,)&,AF5 ),& '-.+" $7KTO>&.CF5 ),& ',-'  2HTO>&0CE2),&  '+)!  /GSO>&/@?-),&   '*$ ,FRN>& ,94"*,&  "(' +DQN?( &+$ *,&  $'" *DQNA,  *,&  &% )CPOD1   *-&  #& )BPOF4    +-&   %! )AOOG6   +-&  $! (ANOH6  +-& "! (@MNG6 *-&  !! '>KLF5 ),&  !  (;764)'*$ XQLGC@<974)'*$  ZSLHC@<985* &)#  \VOID@<986. &)# _XQKEA<976, &)#  c\TMHB<85/$ &("h`XPIB;5.$  %("  ld[SIA7-"  %("   ph^SH;.!  $(#  sh\PA1!  $'# pdUE4#  $'# dUD3#  $'" N>.  #&" 1$   !$       "   !#$$"!    &,0121/-*'%" (06;==;963/,)'$"  %/7=ACDB@=:62/,)'$"   (3:@DEGGEC@<851.+)&$"   (3:@DFGHHGEC?;841.+(&$" &08=BDFHIIGEB>:730-*'%#!  !+38=ADFGIJJIGDA>:730-*'%" &-27;?BEGIKLKJGDA>:730,)'$    (-15:=ADGIKMMLJHEB>:63/,(%   ")-048<@CFILNOONLIEB>:61.*% #),037;?CFJMOQRQOMJFB=840+% #),/26:?CGJNQSTTSPMIE@;50*"  !'+.26:?CHLOSUVVUSOLGB<6/'  %*.15:?DHLPSVWXVTQLGA;3+" !',059>CHLOSUWWVTOJD=5-$  "(.38=AFJMPSTTSOJD=5,$  !(.38=AEHKMMLJE?81)!   %+059TXJ4! " #'++("&F]aS@-  "#'))% 'H`dWF7'  "!&(&! (I`eYJ@4#  "  $%# (IafZLE?2   " #$!(IbfZMJIA-  "  ""'Hcf[NLPO@'  "  " 'Gag[ONUZR;   "  !%C_e[OMWa`P4  "  %A\eZNMVcjaK-  "  &@ZdZNKTbmm_E  #  '@ZcZMIQ^krnY !#  )A[dZMGMXfpsh !#  !+D]eYJCFP]iqn !# !-F^fXE9:CO]im  #  ".G_eU?.)1=M\e  #  ".G`eU:#'9L[  "  !.G`eR6 #9N  "   -F_dR4 $=  " +F^dR4 ) " *E]dR3  ! )D^cQ3  !  (C]cQ3 !  &B\cQ2 !  $@[cP2    $@[bQ1   #@\bP1    !?\cP1    =[bP1     &  1J[]O7 %7GSSH3  'BV[P:! "4FOM=&    =SZS@("4EMD0    8PZUF/"5DF8"   6OZWJ3%8C>+  4MYXL6  *<@4   3MYXL6  1>:&  2LXWJ3(;>-  2LYVG. 5?3    3MXUE, /=7"     4NZVG.*;8% ! !#"  6OZXJ3&89( ! "%&#   8P\YL6 #8;+ ! "&)(#  ;5+"    %2?JSXWQE8+    *QcovxvoeVF6(    &6J]mw{zvndWG8)    )9L^ltvtpi_RD6(   &4DUbjlje_UJ=1&    !+9GRY\[WQI?5,$  &(#  "-8BHJJGC=6/)$  +65,"  #,389:9740-*'%" +6-&"+8DJJE=4+$ $*/48;<;82,%%.8>?>94.)%" "&),--,)% $+155420.+)'$! "(+.01234320-(  %(-048;=>=:5/ $)/49>BFHFA;3! #(/5;@FIJGB;1( !&-38=ADDA;3+) "',047873-&* "&()(&#+  -  /6 (.2678998752/,)'$"  1LVI/ %,04679::8741/,)&$! 0KVI/ !(,03679:;;:9641.,)&$! /JVI1#(,/2578:;<<;9641.,(&#! /JUH1 $'*.1468:<==;9741.+(%#  /JSH1  $&),0358:<>??><:741.+'$!    /HQF/  #&(,/258;=?@A@?=:740-)%! "$$"0FOD-  #%(+.258;>@BCCB@=:73/*&!&-5:>BDDA=82-%!%4EJ?+ "%(+.259=?<3# #&*-159:5216DWl|sle_XSNHD>8.! $(,0368;<=<:62.-5E[rvng`ZTOJF@9/"  "&),/13431/+&&-?XpzqiaZUOKGA;2' "%&('&$"#3Mg{}tld]VPKHC>83146751- &>Yo~wog_XQLHD??CLTXVRMH -Hbr{zrjbZSMIDCHTcnplf`Z 2Peqw~}vmf]VOJGISfv~xpha  2OcmsyzrjaYRMKRcw~umf ,G\gnsyxof]UQTauxph#=Sahmsy}sj`ZYar|sj  2JYbhou{wldaeqvm '>Q]dkqxxnijsxq  0DS_fmt|vppu{s 2DR]fnv}xsqvx/>LW`iqw}}vqpsz}&3?IRY_dhjkknoollou| #+3:?ACDDHQ[bfimsz  !! ")8JX`flqx  %;MZbiov}! +>O[ckrz( ,=MXbjrzzi( '6DPZbjqv{|thXH) +6?HPVZ^``\UL@2&+ "*/47994.&,  / 3|:8889 !##!     !"!                             "'*'     *6?DC<1#    '8HSZ[WK>- '6+   (.//+# !'$   "/4,    /;;0    +;A;.    &6??6( !   -8;5*!   #-1-& !   ""        ! 0 0  0  /  /1Cr;9778:9:<  "      "                                                                                                       # (! +" ( "   & $  %  %  ""! $ #&'&$! # #&(('%! ! #&''&$  !  #$$#!                         "  #%() * - /DXaZG*2JO=!   " #$! (=T`ZF*5LP<   "  "# "8Q_ZF*7MN:   "  !   4P_YF*6JH3  "    2O]XF, 3A;'  "   0M\YH. +2)   "   /M\YJ2 #!   "   /KZZM7    !#   .JZZP<     !#   .JZZQ="    !#  -IXZQ>#   !#   -HXXP="   "   ,FVWN<"   "    -DQSL;!   "   (#/ALMH9  !  A:3--4?EGC6  !  SLD>;;=?A@4  !  [UOID@==3  !   _XSNID?<;;1  !   aZTOKFB>=;/  !   c\VPLHD@?;.      f^VQLHDA?<1    haYRMHDA?>3      kc\TNID@?=2     oh_WQJD@<5(    ulcZSKC;4)     zqg]SH>3'    uj^QC3%    viZI8&   q`N;'   q`M:'   XF3"    7(               "%&'&%#!  %*.00/-+(%#! %+0345430.+(%#!  '.257887530-*'%"   (.2578998752/,)'$"   %,04679::8741/,)&$!  !(,03679:;;:9641.,)&$! #(,/2578:;<<;9641.,(&#!  $'*.1468:<==;9741.+(%#    $&),0358:<>??><:741.+'$!   #&(,/258;=?@A@?=:740-)%!   #%(+.258;>@BCCB@=:73/*&!  "%(+.259:50)#  $(,0469;<=<:72,'!    !%),/1332/+&!   "%&''&%"       !   #    #%& *:f                                                                      !$('&  0  . - !"! , !##! , !"!  ,  +  *  )  *+  ,  +  +  ,  --/03 79**++,,, .<<<<<<<;;:87799@@ Frame 30     q$<oXװ`<9888864200/%# "  """!                         #   !!  !$  "# "  ##   $%   %&    ''   '(   )*   *+ !  +, !  ,. !  // !  01 ! 11! ! 23! ! "45# ! "55# ! !55# " !45# "  23! "  01 "  ./ "  +- "  *+ "  ') "  &'  $% "#  !            85 4  3  3 2 1 1 / .  -  ,  "        *,!    3IL>'   !   $E_bS:$   )Nhl]G2  +Pjo`N>,   +PkpcRG:'   +OkqcTMG7     +PlqcVQQJ3    *PmqdVTYYH,   (NlqdWV_e\B#    %JipdWValkZ:   $FdodVU`ovmT2   %DbndVT]mz{kM   %CamdUQYiwyd   &DcndTNTbp}t   (GeocRIMYgu~{   )IgoaL@@IXhtz   *Jgo^E2.5DUfq  +Kho]?&+?Te   +Kgo[; '@W   )JfoZ: )C   )HfnZ: -   (HfoZ9     'HgnY7    &HeoY7   %FenZ7   #EdnY7   #DeoY6   "EfoY6   "EfpY6    CeoY6    AcnY7    ?bmX6  ?alW5 >`lW5 >_jW5 =^iV5 =^iU5  ;\gT4  :[fT4     9ZfS4    :ZeS3   :YdS3  "##!  9YcR3  #%'('&%"  8WbQ3 "%')**)(&$"  7VaQ3;9998843200$# # # # #  "                                      " " !  !! !" ! #$ " %% "  &' "  '' "  '( "  &' " $% " #$ " "# " !! "  " $ $             6<:99998920001:;={<:::;<>;9 8  4 4 4 30 /  .   -   ,  +  !! +!  $*!   *! -   -   -. 0                          #   %!   "'!   9 7  5 /:5( 1'CQK:'0 .N^XF200Rb]M<+ /,1Sc_PD7%/E$ 1Sd`SJB4 .Y82Td`TOMD1 -jL,5VfaVSVUD+-r\=%":YhbVU]aW@$,rfM5.A]jcVU_igV: +liYERdpm]C/(-:JZgmfR5 &*D\lkY?%!1BTbe[E*  5SfhX=! (=O]]Q8  +J`fYA% %;MYVE*   $C]d\H-$:MVM5     ?Yd_O4&;MO?%    ;Xd`R:(?LE0  :VcbU<  .CH9!  9VcbU<  7EA+ 8Tc`R8,BE3 8Uc`O3 #;F9!   9Vc_N0 5E>&   :Wd_O2/B?*   ;XebR8+?@,    ?YfcV< '?B0  #B]gcU; %>C2   &F`jdR5 #@-   4PfmeO/2E@*   7RfnfO/ $@NA&   !8PdnfO/0LUC$    E:9 8 4 4 4   4   0   .   -   -    ,   +   +   *  .  . /  / 8 1                      ==<==<;;99:A;999:<<<<<<< /- , , #                                       $'(%!     &1;BEB:1%    '5ER\b`YM?0"    -ATdpwxtiZI8'    .CYm{{o`N<,      );Qgy{o`O=."    ->Shw|ui[K;-"     )9K]ltwvqj_SD6+"    #.=N[cfd`ZQF;0("  +-'  $/=IPRROJB;3,'$! 0<;2%  %/7=@@?<851.+(%" /BLG9+ &,13566542.*$+BSVM>.!!&+.158;?ABA=82+#)?S]ZN>.# $(.39?CHKLKF@8/&':N]`WI;-# "'.5;BHMQSOIB8.& '6GV\XOB5+"  &,4:AGLOOKE<3*#!%0?LSRLC8/(" "(.49?BCB?81)"!*3>EGE?92-(%! !&*.1231.)#!(17;;:7520.+($  !!  &,035678852- $)-15:>BDEDA;5 #'.49?EJNOMIB9! !'-5;BHMQROIA8( $+18?DILLHB9/) !&+16;>?=93+"* #'*-..+'!+  -  /6 "%(**++*)(&#! 6U`Q4  $'(*++,++)'%#! 5T`Q5 !$&(*+,,+)'%#! 5S_Q6  !#&()+,--,+)'%#! 5S^P6   "%')*,-..-+)'%#! 5S^P6 "$&(*,.//.-+*(%#     4Q\O5  !#&(*,.0110/.,*'%""&''%"5OXL3  !#%(*-/12210.+)&# &/8?EILKID?81)#(:LSF/ #%(+-/1331/-*'# "*6DS`ioqpnjc]VOH@97@IK?+  #%(+.01344320.*&#!$-3$ !$&)*,--,+(%"#.C]yzrjc]XSNH?5%  !#%&&%# '>Zw~tld^XTOIB8+! 1Omwof_XSOKE=879<=;72 $?^w{rjaZTOKFEJT]b`[VO   ,Liz~umd]VQLJO]nz}xqjc  3Tmyypg`XRNP\p|tm 3Tjv{~ukcZUSZmyp-Mdpw|zpf^Z]k|t %C\krx~ujccl~v  7Qcmtzxnjp~y +EZgpw}ztv} 5L]iry{{#8L[gqz~~"5ET`kt~ꖒ}|*9EQ[cjosvwwz{zxwz '08@EIJLKKOYfmpty "$$#$->Rakrw~  )AVdmt{! /EXeow( 1DUbmv~u)+=LYdmw~sbP* "/?>92)-  /  4779                              %+.+$   .;ELKC6'  *>O]dfaTD1  +BZktvrj[J6# !9ThuzxrgZH5" %=Ugqspi^P@.  5IXac`YOB3$    '7DKMKE<0#    !,253.'  $,'  %5:1!   !5BB5$   1BIB3"    +       3SddYB$       3SddZE%       2RcdZE&      1QbcYD&    1O``XC%      1L[\UB$     -&!#5ITVP?$     IA811:ELOL=#     \TLEAADFHG:"     f^XQLGDBBC8"     jc\VRLFBB7!     kd]YSOIEDB5     mf_YTOKGEB4     ph`YTOLHFC6     tkc[UPLGFE:$    wnf]VQLGFD8"    {si`YSLGB<-    wmd\SKB:-    ~sh]QE9, viZK;* udR?*  ~kVA+  ~jV@+  bN8&    =+                  "##"!   #%'('&$"   "%')**)(&$"   "%()*++*)(&#!   $'(*++,++)'%#!  !$&(*+,,+)'%#!  !#&()+,--,+)'%#!   "%')*,-..-+)'%#! "$&(*,.//.-+*(%#   !#&(*,.0110/.,*'%"  !#%(*-/12210.+)&#   #%(+-/1331/-*'#   #%(+.01344320-*&"  "%(+-/133431/,($  !$'),.0110.+($  !$&(*,--+(%!    !#%&&%#                "    #$&'+                                                       "#)(' 0  .  -  -  ,  ,  +  + + ++,  , , --.02 6; + +67789/==<99999:@@ Frame 29     m,DVs`"|/HA-<9988874210&$  """"!    ""   $#   %$   %&  !# %' !)& &( (," ()  (& )*  " +,   ,-   ..  .0  02   22 !  34 !  46! !  !77! !  "99# !  #9;$ !  #<<% "  %=?& "  %>?& "  %>@& "  $<>& "  #;<% "  !8:# "  68" "  35! "  13 # /1 # -. +, (* &'  $%  !"    !   854 4 3  2  2  1  0  .  -  ,  "        /2%   :UYG+    &Pos^B'    ,Yx|hO7    -Zz}lVD1    -ZzlZOB+    -Yzm[UQ@#     ,Y{m\Y\U9    +Y|n]\dgR0    'V{n^^isjJ$     $Pwn]]kz|g?    "Kr~n][i}}_6    !Gn|n\Yfy{V    Gm|n\Xbtr   !Go}n\U]m~   #Jq~nYPUcs   $LrlRDGRct   %MsiK51:K`s   %NthE'.F`s   %Nt~f@  )Fc   $Ls~f? +M   #Ks~f? 2   "Ksf?   "Kte=    "Kse=   !Ksf=    Isf<    Jse<   Kue;   Kue;   Ite<   Gre<  Ep~d<   Do|d;   Dn|c:   Cn{c:  Cmzb:  Blza:   Akx`9 @iv`9 ?hv_9    @hu^8     @gt^8    ?ft^8   >dr]8  ;9 8 444 30 !/ !  .!"  - "$  ,$&  !$+%& (' +%(  %+$ *%( &&*#( - % - !  . .0                          !  &!  !*# &,%  (.%  ; 7! 6 7C=- 1,O`WB+0 3[ndN8"05^riUB/ //6^sjXK=)/L&6_skZRK;! .f= 7`tk\WXN6-yU.9bul]ZaaM.-iC%!>fwm]\gocG%,tW8.Fjyn]\ixwb? +zweL>Nmzn]Zhyz^: *rtm]OXpzn]Xcw{[7*eqqh^ct{n\W_pxT.)Qgonimy}n[TZiynG" (5Qdlmt~nXNR^n~^6(1J\iukQA@J[l{nL'' +D]q|hI1*0@Seu}u^; &,KhzydC&#5I^othN- ;]tvcB" ,CYik]?!  .SntdH' 'AXfdO.  &KirhQ2'AXcX<   !FfrkZ<)CX\H(  Bdrm^A,HXQ6   AbqnaD!3MTB$   ?bqobE! !?RL0  >`pn^?1LR:  >aqnZ8 &DSB$    ?bqmX5Yr}sY47XcL'     E:9 8  4 4 4   4   0  .    -   -  , +   + *   .  ./ /  - 11                  "  #  ===>==;:99:D;999;===<>J<9:9#                                        &+,*%     (5@JMJB6)    ):L\gomfWF5&    0G]p~weQ=,     2Jd|}kXB1#  ,A[u|lXD2&  "1D]uufSB1&   ",>Shx~vj\K4,&! !&-4:@FJLKF?7-&"%.:GNOLF>71,)%! !&+/379973-&!%-7=AA?<97410,( !#%%$#!#*1579:<<>>=;71 !'-17;@DHLMMHB;  &,29@GMSXZXRJA! $,2;BJQX]^[SJ?( "(07?GMSVVRJA6)  %+17BCA<7  @fż~tkc]XSMKP^jonhbZ   +QrŽxnf^YSPUf}xp4\wĿ|riaZUVc|y4\uvmc]Yaw| /Uo{ÿ|qhbct  &Jgv}Ŀuljt  >\pyĽytyü /Oft{Ž GMQRSSQVbpx|  #%%&$$-B[nw~ƿ  ,Hapy" 4Ncr|ļ( 6M`oz)0DVeq{nX* %4BOZdlquwwsj]N<++  (19?CDEC=5* -  0999:                            '031' "2BNWVM>,  -EYisun`N8# /Lf{xhT=& %A`wudQ;&  )Fbv~vj[H4!$"   vmd^XSNMOC)   ypg_YSNMOC(   tjc[SNLE4  yne\RKC5   sg[MA1   ueTA.  q\F.   ycI0   yaH/   nW>(    B/                                      !!    !""!   !!""!   !""!                !  # $ &' *0"   !                                                  !"$* )20  /  .  -  -  -  ,  --,-,--./03 6^766779;<9999;@@ Frame 28     iW0WHWdgs) <;;;;;642& $  ####  !"  !! "#  %%   ''   ('   ()  $& (*  $-* )+ ,0% +-  #,* -.  "% /0   02    22   34!   56!   67" "  !79# "  "9;$ "  $<=% "  %>>& "  &>@' "  'AB( "  (CE*"  (DE*#  (DF*#  'BD*# &@B( # %>?& # #;>% # "8:$ $ 68" $ 35! 7 12 7/1 ,. *+ '( %% #$   !!;864432210/.#    !   !36(   @]bM0   )Xy~gH+  0aqW=$  0bu^K6  0avbWI00`vd]XF& /avebe]>-`wfdnpZ4 (\wffs~tQ'  $UwfeupE !O{wfdsh; Kwwebo^ Juxd`k~| Jvxd]ew LyxaW]l} !NzuZKMYl "O{rQ:5?Ri~ "P|qK*"2Li} "P|oF# -Mm !O{oE 0U N{oE 7 N{oD   N}nB  O}nB O|oB  N|oA  N|oA  !Qo@  Po@  OoA M|oA KznA Jym@ Jxl? Iwl? Ivk? Huj?Gti>Fri>Eqh>Fqg>   Fpg>     Eo~f>     Dn|e>      Bl|e>`====4% $ $  $  $  $  $                  ! !##$%%&&#'(#() #*+ $ ,- # ./ #01 # 12 # 23 # 24 # 13 #01 $.0 $-. $*, 7(* 8'(8%&8$%8"# " u;::<;:931101;<<:;;<;9 8 444  3 "0 !$ /#%  .$%  - %'  ,')  $'+(* ",++(,  (/' *(, ))*&,  "-#(   - $  .  . 0  1 1                     $" )%%.&)1( ,2( ; 7%" 6 "=JC1 11Vi_H/ 0 8cxnV>%0:g|s]I3 /3;g}taRC-/S);h}ucYR@%.oC kvecjjU2-rJ($DowedpzmM(,~_>2LtxedrkE# +놂oSDVwxecqg? *|weVa{xeamc< *n{|qflyd_h{\2)Xpzxrwyc\cryM% (:Ynvw~xaVYfxg;(6QesuXGFQcvyS+' /Je|qP6.4FZof@ &0RqnJ)&:Pgz~qV1 @e~lI% 0JbsueE$  2[x~nO+ +GaonV2  )Rs|rY7+GamaB  $Lo|ubA-JadN,  In|wgG!0N`X; Gk|yjJ%  8U\I' Ek|zkK$  %EYS4Di{xgE 5SY?Dj|xc> )J[I' Ek|w`: AYN. Gm|wb=9UQ2  In}ygF 3RR6  $Lo~{kJ% /PU<    (Rs{iI#-NV?   ,Vx|e@ *MW@ 1Z||b; *LU> 7`~|a90OR8  >c|b9=XQ2   #Cd}b9 +QcR. (Db|}b9Sdqywo_L:)  3LezoXC0#   5Pmu`I5&  .Fbv`J7)!   $4Jdo[H6)"    $/BYqtdRA3)#  %!  &4G]mx|{vncUG:0)%  %690% (7GV_dd_YPG>5/+'$ #-!  +7BILMKHC>;731-)%9T`XF3% $,59>?@@>=82,%3Rim`K7(  (-37;?CGKNPNJE>4*"0Lhvp`K8*!%+17>ELRW]_]VNE:/%!/FbtwlZG6*" ")18@IQX`dfc[QF:.&%.AYlrn`P?3)$!&.6?GPW^bc]VJ>2*'-;N_ge]QD90)%! $*19?FLQSRLE<1)%(2?MVVSLD=51-(% $)/38<>><81*$!"(1<9641, !%&(('&%" &.5:=>?ABDDC@=6 %+16<@FJOSUTOI@ #*07>FMUZ`c`YQG! !'07@IQX`efc[QE(  %,4=EMTZ^^YQG;) #(/5=BHLMKG>4)* !&+/36874/' + "##! -  /6    Ak{e>    @jze?    ?iyeA    ?hxdA   ?gwdA     >etc@    &+//,(#?co_>    $1>HRY]]YTMF=1).E_hW9  "4I]p~{rkcYNFBMZ^N3  6Rq|skbYSRUSF/  ,JnĹ{rkc\VRL@-  6X~~wohbZSJ>,   :aǹxpjd^VM?-    7`ʽyqje`YPC2%  )S||rjd`ZSJB@DIJGB= @jöume`ZURWftzxqkc*Tyźyogb[W]o{ 5`~ǽ|sjc]^l 6a|ùwmebj 1Zw|qkm~ƻ  (Ooȿvt Cdyƺ~µ4Vpȼĸ #B_tƸƻ*E^qƺɿ(?VhxŻ 2EVdp{ĺ ".9DMTXY[ZX^k{· #&(()''1IcxǼ  0Oj{ɼ" 9Vm|( ";Tizƺ)4J^o|xa* (9IVcnv|~seUA/+#,6>EIJKIB9." -  0                  +485+ %6HV_^TD1 1Kbs}xiU>& 3Spq[C*  (GhnX@) -MktcO9$'A[nxzwobR>+    .BR\_\UJ;* %"  (4>@>9/# .92"  $# -CJ>)     'BUTC,    !=T]T@)    #%%#  4LZYJ6"! "&)*)%  ,AQTJ:' ! !%''%! !2@F?4% !   *0/'          ! "%''%!0 #&)*)% 0 "%%"0  .  /1C;99;<<  -1'  ,0%  )-% &*$ $(" !% #  !                                !   &! /' 6-# ;0$ 8+  ."  9 :52.,+*  ) '&&%%%$$%%'), .1 6)>Zy}b9FjrU* %5Rt|a9JmsU) *Jq|a9!LmpQ&   Fo|a9 #MkhG Bn{a9 $H`W6@l{c< $>I;! ?k{fC%2/  >i~{kL% $&  >h||oS*   >g|{oV-    =f{{oV.  ZhidO+ ZPF<:EU^`^L* qh^UNNRUVXJ) |slc\VROPTH) woic\UOORF' ypkd_XSRRB$ {rke`[VUR?! }ske`[VUTD% wnfa[VUVJ-{phb[VUVJ,~tlc[VSK9 򜐄yodZRI:#󣗊}pcUG6#o\G2|dL2 lP4 jN3 y_D, I3                                                !  "$ & (*,"%   !%    #                                      " ! 9 :;520/////011111124686889:.<999:@@ Frame 27      t9 7  76 6""6#$ 4#$ 3%& 2((   1+*  0,+  0,-  '* 0,.  '1.0-/ !04)0/1  &0.0 12  %)0 34  0 46!  0 67" 0 !79$ 1 "9;$ 0 #;<%0 $<>&6 %>@'6 'AB(6 (CD*6 )DF+6*GH,6,IK.6,JK.6,JL.6+HJ.6 *FH,6 (CE*6 &@C)6 %=?'6 #;=% 6 "8:$ 6 67" 6 35 6 02 6./ 6+, 6() 6&'6#$48 6$8;, 4EejT4 3 -_pN/24i{^B'24jfQ; 14ij^O403hle`L*02hmjneD/ /gnmwzb9/ *coo}~X+0 %[nnzK!0!Tnl}q@0Omjyf0M}lht0M~len0Oi_eu0Q~aQTau0 R{X?:EYr0 SzQ.!%7Sr0 SxL&1Tv0RxK# 4\0QxK" <0QxJ!  0RwH  0SwH 0SxH 5RxG5 SxG5!VxF5!VxF5 UxG5SxG5QwG5PvF5PuE5OuE5OtE5NsE5M~rD5L|rD5K{qD5L{pC5LzpC5KyoC5JwnC5HunCu<9 8 8  8  8  7  6  33 1 1 1 1 1 0! 0!# 0#$0$&0&'1(( 0)* 0+, 6,- 6./ 601 6 23 6 45 6 67" 6 !78# 6 !79# 6 68" 6 45! 6 24 6 12 6.0 6,. 6+, 6)* 6'(6%&6#%6!"6 77;<<;:322;<}<;<98  833 "3 "# 3#% 0$' /!&(   . ')   -)+  ! ,  +-  '+"+ ,. %0/!* ,0 ,3+ *,0 "--")*0   %!*&,   - '   ,   , -  /  .  /  4  4  4 4  4  5 4  4  *  * !" 4 '%5!-(5(2**-5,(07,$8 6!(%4 %BPI6 15^rgN3 0 =lw]C)0?p}eO8 /8@p~iYI1.Z-@qkaYF(.yI!Armgh]@ -e7Dtnkss\7,|P,'JynmzvT,,왉gC7S~nm|tK&+둍xZJ]nk{pE" *ꇊn^inivlA )x{oumgqd7)`z|ldk|T) (?awi]aop@' ;Xn}`MLXlZ/' 3Qn{W;29LbxoF! &4Y{wP-*?Wp{]6' FnuO) 4Pj}nK' '7cwV/ /Miyw^7'-Y}|a</MiviH" & 'SykG 1PimU0& #OwpM$  4Uh`@%"MtsQ(  =\dO+& KttR' (KaZ9&JrpK#:ZaE! %JskC-QcO+% Kth? #GaU2$!MvjB>\X7$ #OwpL#8YY;$ 'SytQ( 3W\A$,Y}rO& 1U^E#0^nF.T_F #6bj@.S\C$4VY=$ Dlj>C`X7# &Imj>/XlY2#,Jjj>Aiv[/"E98  4  4  4  4   1 /  .   -   ,  +  +*  *  *  - ,- , / . / 6 6 6 6  6  5  5  4  *  *  5  5 " 5&  6#)! (%*! $ ==;;<;J<=<&1 !7777  ,  (   &   $ $-342,#  ".>LW[XN@1%   .CYlzxgS?-"  6Rmx`I4& !8VuhO:*! 1KjhQ<-$  &7OlycN;-%   &2G`z~mYG8-&!  "($ ")8Ldvwk\M?4-(# );>4(  +;M]gllgaWMC:3/+'" &ASRC1$ ".;GOSTRNID@<851-("">[h`L8( '09>CEFFDB=70(  8YrvhR<," #+18<@EIMRUWUQKC9.%!4SqzhR=.$!(/54-($ "'.6>ELSXZYSKA6-),7ET]^ZSJB:51,( "'-38=ADDA=6.'$%,6AIMMKGDA>;950 !$(*,,+*(% #*2:?BDEGHJJIFB; !(/6;AFLQVZ\[VOF   &.4   5Lcx|tkaULHTbfU8  5Uw}tkaZY\ZL3(JrȻ|tld]YSF1 3Y´yqjbZQD0 8cȺzsmf^TE1 5bͿ{snhaWI7(!!"! 'Uµ|smhbZPHFJOPMHBAoŸvnhb\Y_o~{tk *Wɼypjc_ey6e}skefu8gȽvnjsķ3`ƻ{tv˼ +UwĶ~ "Hlʼķ8]y̽Ǻ&Hg~Ǹ˾.Kf{ʺø,E]q#7K]mzʾ %2>JT[`acb`ft &*,,-++6Ol  4Vs! >]vѾ(%@[rɵ("9Qfxi) ,>O^kw}n\G3+&0;DKOPQOH>2%, !!  /277 7  8  8  +( %  $ #/9=:/! " (;N]gf[J5 ! 5Qj}r\C* 7Zy{cI. +Mqw`F- 1St~lV>'*GcwxjYD/    2HYdgd\P@.(% +9CFD>3& 2>7% #'&" 1IPD-    +H\[I0   $B[e[F-   #&()&" 9SbaQ;%   %*-.-)# 0GX[P?+  $(++($ $7FLE9(   ".43+           !   %)++($0  &*-.-)#+ "%((%!+  ,  -/3;;  16+& 04)& -1(' *.'(',%($)# *"&# +$!!+! #!+##+ "#- !#5 !#1"1  1  1 1  1  1  1  1  1  0  0$  1*$  13+" 2;1& 3@4' 5=/# 62% 7! 8 9;~-Dbj>Ls|]. "(:Y~i>"Pv}]- ".Q{i> $SvzX* " #Lyi> &TtqM#$ Hwi> 'Oh_;%FukA'DO@$ &EtoI )73!'DrtS) '* (CqxZ. )Cpy]1 )Boy]2 *Any]2 )@kv[1 0@f{{sY0 0;2*$*DbqrmV/ 0bWLA?K\fhfS. 0{qf\UUY\^`P- 0}uld]YVW[N- 0yrld\VVYL+ 0ztmg`ZYYH' 0|tnhc]\YE$ 0}tnhc^\[J) 0񗌁woic]\^P10񛐅zqjc]\^P00񡖉~ulc]ZR>! 0򩜏xmbYP?&1򱤖zl\M;&1󹫛xdM7"2mS73uW9 4sU85gJ0 6O8# 7" 9 ;> %)  & $( & #& ' #(") + , + + + - 55 5 6 6 7 88 8 8 880 1 1 25 8 8 9:;;99:;=p<;;<@@ Frame 26     e.xܽu< 9  888!!8"#7"#6$% 3''  2*)  1+*  1+,  &)1+-  &0-1,.  /3(1.0  %/-101  $(123  135  1 56! 0 68# 1 !8:# 0 ":;$ 6 #;=% 6 $=?& 6 &@A'6 'BC)6 (CE*6 )FG+6 +HJ-6 +IJ-6 +IK-6 *GI-6 )EG+6 'BD)6 %?B(6 $<>& 6 ":<$ 6 !79# 7 56! 724 7/1 7-. 8*+ 8'(8%&8"#49  6#7:+ 5DdhS3 4 ,^nM.33hz]A&23i~eP: 13hi]M312gkd^J)0 1glilcC1 .emlvx`80 )ann||V* 0$Ymm~xI 0 Smk|o?0N~lixd0L|kgs0L}kdm0Nh^dt0P}`PS`t0QzW>9DXq0RyP- $6Rp0RwK%0Rt0QwJ" 3Z0PwJ! ;0PwI  0QvG 0RvG0RwG5QwF5RwF5 UwE5 UwE5TwF5RwF5PvF5OuE5OtD5NtD5NsD5M~rD5L}qC5K{qC5JzpC5KzoB5KyoB5JxnB5IvmB5GtmB9 8 8  8  8  8  8  4  3 2 1 1 11 1  1 " 1"#1#%1%&2''1()8*+8+, 8-. 8/0 712 734 7 56! 6 67" 6 68" 6 57! 734 713 701 7-/ 7+- 8*+8()8&'8$%8"$8 !888u;::=;:931101;<<:;;<;9 8 44!4 !"3"$0 #& / %'  .&(  -(*   ,*,  &*!++- $/. ++/  +2* *+/ !,,!*)/  $ -%+   -&   .  . 0  1  1  6  6 5 5  6  6  6 6  4  *  +  !6 &$6 ,'6'1)+,4+(/6+$; 7 '$ 6 $AOH5 14]qfM2 0 o|dN7 /7?o}hXH0/Y,?p~j`XE'.xH @q~lfg\? -d6Csmjrr[6-{O+&IxmlyuS+,예fB6R}ml{sJ% +돌wYI\mjzoD! *녉m]hmhuk@ *vzntlfpc6)_x{kcj{S( (>_u~h\`no?(:Vl|~_LKWkY.' 2PmzV:18KawnE &3XzvO,)>Voz\5' EmtN( 3Oi|~mJ& '6bvU. .Lhxv]6' ,X|z_;.LhuhG! ( &Rx~iF0OhlT/'"NvoL#3Tg_?'!LsrP'  <[cN*&JssQ& 'J`Y8&IqoJ"9Y`D &IrjB,PbN* %Jsg> "F`T1% LuiA=[W6%"NvoK"7XX:$ &RxsP' 2V[@$ +X|qN%1T]E#/]mE.T_F #5ai?.S\C$;gh=4VY=$Cki=D`X7$ %Hli=0XlY2#+Iii=Aiv[0"E:9 8 4  4  4   4  0  .   -   -  , + + *   .  . //  - 1 1 7 6 6 6 66  6  6  5  * +  6  6 ! 6% +"(  ($)  $@==<;:9:D;::; <:9$2 8888  -  ( &   $ #,231+"  "-=KVZWM?0$ " -BXkywfR>,! ! 5Qlw_H3%  7Ut~gN9)  0JigP;,#  %6NkxbM:,$   %1F_y}lXF7,%   !'# !(7Kcuvj[L>3,'" (:=3' *:L\fkkf`VLB92.*&! %@RQB0# ".:FNRSQMHC?;740,'!!=Zg_K7' '/8=BDEECA<6/'7XqugQ;+! #*07;?DHLQTVTPJB8-$ 3RpygQ<-#!(.4;BJRX^dfd]TJ>2'!#2Ki}taL:-$  %,41)'1F`t{vgVD7,&!$)1:DLV^eijd\PC6-*0?TfomdWI=3,'# "&-5=DKRWYXRJ@5,(+6DS\]YRIA940+' !&,27<@CC@<5-&#$+5@HLLJFC@=:84/  #')++*)'$")19>ACDFGIIHEA:  '.5:@EKPUY[ZUNE %-3;CKS[agjg`WL #*3;ENW_gmnkbWJ( "(/8AJSZaee`WL?( %+29AGMRSQLC8,) #).27:<;82*"* !$%%# ,  /1FsmC5ErmD5DqmF 5DplF -DolF (   Cm}jE % !)/330,&!DjxfB # %3ALW_dda[TLA5,1Jfp^=! 5Kbw{sj`TKGSaeT7  5Uv|sj`YX[YK2(Jqƺ{skc\XRE02XxpiaYPC/ 7bƹyrle]SD0 4a˾zrmg`VH6' !  &T{rlgaYOGEINOLGA@n÷~umga[X^n}zsj )V~Ǻxoib^dx5d˿|rjdet7fƼumirµ2_~ĺzsuɺ *Tvõ}ο !Gkɻµ7\x˼Ÿ %Gf}Ʒɼ-Jezɹ+D\pƿɾ#7K]lyȼ %2>ISZ_`ba_es &)++,**5Nk  3Ur! =\uϼ($?Zqdz(!8Pewh) +=N]jv|m[F2+%/:CJNOPNG=1$,   /<;:876 5 5 5 5)28 8  8  8  8 + ( % $ ".8<9. $ ':M\feZI4# 4Pi|q[B)! 6YxzbH-  *Lpv_E, 0Rs}kU=&)FbvwiXC.    1GXcfc[O?- '$ *8BEC=2% 1=6$ "&%! 0HOC,    *G[ZH/   #AZdZE,   "%'(%! 8Ra`P:$! $),-,(" /FWZO>*  #'**'# #6EKD8'    !-32*           $(**'#0 %),-,("+ !$''$ +  ,  -1C;99;<<  05*& /3(& ,0'()-&)&+$)#(" +!%" ,# + " +""+ !"-  "5  "1!1 1  1  1  1  1  1   1  1  1  1#   1)# 22*! 2:0% 4?3& 5<."71$ 7 9 :,Cai=Ls|]/#'9X}h=#Pv}^. #-Pzh= %TvzX+ " "Kxh= 'UtqM$ "Gvh= (Pi`<#Etj@(EPA%"DsnH )84""CqsR) '*"BpwY- #Box\0 $Anx\1 &@mx\1 )?juZ0 0?ezzrX/ 0:1)#)CapqlU. 0aVK@>J[egeR- 0zpe[TTX[]_O, 0|tkc\XUVZM, 0xqkc[UUXK* 0yslf_YXXG& 0{smgb\[XD# 1|smgb][ZI( 0񖋀vnhb\[]O00񚏄ypib\[]O/0򠕈}tkb\YQ= 1򨛎wlaXN>%1󯣕yk[K:%2wcL6!3lR64tV8 5rT7 6fI/ 7N7"8! :|$( & #' & "% (" )! )+,  + + + - 55 6 6 7 8 9 9 9 9 9 9 1 1 2 3 :9 9 :;86889:.<:99:@@ Frame 25     a u< 9  888!!8"#7"#6$% 3&&  2)(  1*)  1*+  %(1*,  %/,1+-  .2'1-/  %.,1/0  $'112  124  1 45! 0 57# 1 !79# 0 "9:$ 6 #:<% 6 $<>& 6 &?@&6 &AB(6 'BD)6 (EF*6 *GI,6 *HI,6 *HJ,6 )FH,6 (DF*6 &AC(6 %>A'6 $;=& 6 "9;$ 6 !68# 7 45! 713 7.0 7,- 8)* 8&'8%&8"#49  6#68* 5CbfQ2 4 +\lK-32fw[@%22g{cN8 12f|g[K111e|ib\I(0 0e|jgjaA1 -c}kjsu^60 (_}llyyT) 0#W}kk{uH0Q}kiyl=0L{}jgvb0Ky}ieq0Kz}ibk}0M|}f\br0O~z^OR^r0PxU=8CVn0QwO, $5Pn0QuJ%/Pq0PuI" 1X0OuI! :0OuH  0PtF 0QtF0QuF5PuE5QuE5 SuD5 SuD5SuE5QuE#OtE"NsD! N~rC! M}rC! M|qC! L{pC! KzoB! JyoB!IxnB!JxmA!JwmA!IvlA!HtkA!FrkA9 8 8  8  8  8  8  4  3 2 1 1 11 1  1 " 1"#1#%1%&2&&1'(8)*8*+ 8,- 8./ 701 723 7 45! 6 56" 6 57" 6 46! 723 702 7/0 7,. 7*, 8)*8'(8&&8$%8"$8 !888u:9::;:931001;<;::;<;9 8 44! !""$ #&  %&  &'  ')   )+  &)!+*, $.- +*.  *1) **. !++!*(.  $ -%*   -&   .  . 0  1  1  6  6 5 5  6  6  6 6  4  *  +  !) &$' +&'&0(&+3*%.5*"'<:998765433210//..    &$  $@NG4 3[odL1  ;i~tZA'=mybM6 6>mzfVG/W+>n{h^VD& uG ?o{jdeZ>  b5Bq|khppY5 xN*&Hv}kjwsR* 악dA5Qz~kjyqI%  덉uWHZ}~khxmC!  냆}k[f~kfsi?  twlrjdna5 \v~x}iahyR'   <]r{}~fZ^l~m>  8Tjy{]KJUi|W-   1NjxT907J_ulD   2VxtM+(=TmxZ4   DkqL' 2Ngy{kI&   5`~sS- -Kfvt[5    +Vyx]9-KfsfF!   &Qv{gD/NfjS.   "Mt}lJ#2Se]> !KqpN&  ;YaM)IqqO& &I^W7Ho~mI"8W^C Hp~hA+O`M) Iq}e= "E^S0 Ks}g@0T]D :ef<7XZ? Big< "FbZ9 %Gjg<2[n[5*Hgg<Dkx]3E:9 8 4  4  4   4  0  .   -   -  , + + *   .  . //  - 1 1 7 6 6 6 66  6  6  5  * +  +  ) ! (% '"'  &$(  #===>==<:99:D;99:<<::9#2 8888  -  ( &   $ #,120+"  "-/$ " .BWiw~udQ=+! ! 5Qku]G2%  7Us|eM8)  0Jh}eO:+#  %6Njv`L9+$   %1F^x{jVE6+%   !&# !(7Kbt}thYK=2+'" '9<2& *:L[eiid^UKA81-)&! %?QPA/# ".:FMQRPLGB>:63/+'!!CGKPSUSOIA7,$ 2Qn|weP;,#!(.4:AIQW\bdb[SI=1'!#1Jgz}r_K9,$  %,4;DMV]ejli`VJ=0)'0E^ryteTC6+&!$)19CKU\cghbZOB5,*/>SdmkbUH<2+&# "&-4( %*18@FLQRPKB7+) #(-169;:71)"* !$%%# ,  /7 43111111110001 3 6EqkB!DpkC!CokE !Cn~jE !Cm}jE !   Bk{hD ! !)/441-&!ChvdA !$3AKV^dda[TLA5,0Idn\< !5Kau{sj`SJEQ_cS6  6Uv|si_WVYWJ1(Jq÷{rjb[WQD/2X˽xoh`XOB. 7aöyqkd\RC/ 3`Ⱥzqlf_UG5' !  &S~̽{qkf`XNFDHMNKF@?l~tlf`ZW\lz~xqh (T|ķwnha\bv4bȼ{qiccr6dùtlgpǿ1]{yqsƷ )Rt~{˼ !Fiƹ̿6[vȺµ %Fe|õƹ-Idyƶʾ+D\pûƻ#7K]lxŹ &3>ISY^_a_]cq &)++,**4Mj  3Tq =[t̹$?Ypİ!8Odu~f +, &$ *8ADB<1% 0<5$ "&%! /GNB+    )FYXG.   #@XbXD+   "%''%! 7Q_^O9$! $)+,+'" .EUXN=)  #'))'# #5DJC7&    !,21)           $'))&#0 %(+,+'"+ !$&&$ +  ,  -1R:6544468B;99:<;;  /4)$ .2'# +/&#(,&#&*$"#'" !!%" !# ! " !""" !"#  "%  "1!1 1  1  1  1  1  1   1  1  1  1#   1(# 21)! 29/% 4>2& 5;-"70$ 7 9 :+B_g< !Nt~`2&8Vzf= %Rw`1,Oxf= (Vx|[. "Jvf=*WvsP' Ftf=+Rkb? Drh@*GSD(CqlH ,:7& BoqQ)  *-! AnuX-  " AmvZ0   @lvZ1  ?kvZ0 >h}}rX/  >cxwpV. 90(#(B_nojS-  _TJ?=IYcecP, 0xncYSSVY[]M+ 0yriaZVSTXL+ 0}voiaYSSVJ) 0wqjd]WVVF& 1yqke`ZYVC# 1yqke`[YXH' 0}tlf`ZY[M/0񗌁wng`ZY[M.0򝒅zri`ZWO< 1򥘋uj_VL<$1󬠒wiYJ8$2uaJ4 3jP54rT7 5pS6 6dH. 7M6"8! :|$' % #& & "% (" )! )+,  ' + + - 55 6 6 7 8 9 9 9 9 9 9 1 1 2 3 :9 9 :;76779:;<9999<@@ Frame 24     ]G_I{I,@_t98  7666 6 3 ! 2##  1%% 0 && 0 '(  "$0 '(  #*'0 () *-%0 *+  "*(0 +,   #0 --  0 -/  0 /0 0 01! 0 23! 0 34"6 !56#6 "68$6 $9:%6%;<'6&<=(6'>?)6)@A+6)AB+6)AB+6(@A+6'>?)6%;<'6 #8:&6 "67$# 45"# 12! # /0 # -. # *, "  () " && "#$ "!" "47 6#36) 3 >X]K1 3+UsxeG, 22_rW=%23av_K6 13`xeWH002_yg_WD(01_yidcZ> /.]yjhnmW6/ *Zykjt{pP+/ &T|ykjwmG"/ "Ovyjivg=0 Jsyigs^0Hqyhdo|0Hryg`hy0 JtxdZ_m/ Lvu]NOZl/ !MvrT>9ASi~/ !NwpN0"%6Mh}/ !NwoI'/Mj0 MvnG# 2S0 LvnG#  80 LvnF"  0 MxmD 0 !NxmD 0 !NxnD 4 MxnD 4 !NynC 3 "P{nC4 #Q|nC4 "P{nC ! !NynD    LwmC   KvlB   KukB   JtkB  JsjB  IsiB HqhA Gp~hA Fo}gA Go|f@ Gn|f@ Fm{e@ Fkyd@ Djxd@ v;98 8  8  8  8  7  4  3  2  1 1 1 1 0 0  0 0! 0!" 1## 0$% 6 && 6 '' 6 () 6 *+ 6 ,- 6 -. 6 /0 6 01 6 01 6 /1 6 -. 6 ,- 6 +, 6 )* 6 '( 6 && 6$% 6"# 6 ! 6 6677u:99:99921001;;;::;<=&=====<433222;;;        " !#   "$     $&   &'  !% '(  !*) '*  ',&  '* ('%)   !&   !              5  5  5  6  5  4  *  ' & ""$($"$,& "(.( ! *0) ;8665443210//.--,++    %" ";GB21Sd\H0  9`slW>' g|vhb_T< ]7!Bj}xjfkhT5qL.+HnykirxkO,}_C:PszkiujH&녁nVKZvzjhtgC#{vg[e{zjfqd>  lz{skp{icl}\6 Vnxxuz{h_euwP) :VjtyzdX[hyf>   6Pctv\KISdwwT.  0Kf|rS;28H[o~eB"   3SqnM.)=Rhx|pU4  !Bf}lK*2KbrsdF& 6\v}nP- .H`mkU4 -Sr|rY7 -H_j_B"  &Mn|ua@ /J_aN. #Il{weG$  2N]V;  "Hj{yiJ&  :SYG)  !Fi{yiJ% 'DVP5  EhzwfE" 7QU?  Ehzvb?+IWG) !Fizu`< "AUL/ "Hk{vb>:QN4 #Il}yfF" 5OP8 &Mn~ziJ& 2OT> +Rr{iH$ 2PXC$/Wv|eB2QZE&4[z|b= 5SZE&:`}|`; ==;:99:C:999;===<>J<9:9#""""  "  #   #   # $,11.)! " !.." #/;ELPPOKFB>:52.+% #;R^XG4& (07=@CDDCCA>93-%!6Rgj_L8*  #+06:>BFIMPQPKF>5+#!3Mfsp`L9,"!(.39?GNSY]_]WOF:/&!$1Garvl[H8,#  &,29AJRY`dfc[QF:/((0CXjqmaRB4+$ $)07@HQX^bb]UK?4,*/;N]fe^SF;2+&! "&+2:@GNQSRMF<3+'*4?MUXUOG?82.*&  %*/49<>?=93,&##)2<962- "&')*)(&#"'/67 %,28>BGLQTVTPIA $+18@GNV[`b_ZQG "(07AIQY_dec[PE !&-4=FMTZ^^YQG:#(/5=CHLMLG?5*) !&+0478840)!*  "##" ,  .452/--+**)))())))+- 05)CiwdA BhvdB AgudC! AgtdC!   AftdC!   AdrbB!  &.47750)!$Cam^?  )6BLU\ab_ZSKA5.3H_fW: (:Mar~xqh]RHEO[]N4 $=fȺ}sjd]XV\hsxvqjb)Ptɾvme_\bs{2[z·zogacq5]yǽ}skgq1Wtżwqtȿ)Nnĺ}{ö !Cczƹ4Vpµȼ%B_vɽ,G`uʿù ,CZn} %8L\it}ȿ)6@JQW[]^^]co~ƻ "(,--.,.8Mf{˿ 4Ql˾ Wk{ƹ$8M_n|yc+;KXcnv|~tgWE3 &/9BGKMNLF=3'  ""!     $#!                                              !#%'* ,-# #  #  $  $ # #  #  # $.696, #):JV^\SC1#5Mcs|~whT='! 6Tpq[C+  *HioYA* /MktcO9$)C\oy{xobR?,    1EU^`]VK;,#! +7?A?91%  -61" #&$! .AG=)     )ARRB,   #C?4&  )//(           "%''$!0 "&()(%+ "$$"+  ,  -195211111346 5 4444 6:99:<::  +0(  *.&  (+% %)$ #'"  %! #!        !  ! 1  1  1  1  1  1   1  1  0 0!   1(! 10(  26-# 4:/# 57+ 7." 7 8 :;~)A\x}a< )Oqy`9  %8Ts|a< -Tuza8 .Nq|a=  /Wux\4   $Hn{a=  1WroR.   Dlza=  1RgaC%   BjzcA  /HRG/  Bi~{gF$ /;;-    Ag|{kN* +/'  @f{|nS/$" @f{|pV0  ?ey|pV0    >dxznU0  =bvwmS/>^pqiQ.7/)$,AZhjcN-ZPF>=HV^a]K+ qh^VPQTWYXH*}tld]XTRRSF*zqje]VRRQC(0{tmfaZUSQA% 0}umgb\WUQ@$ 0wngb]XVSC'0zphc]XVUH,0}sjd]XVSF*0񘍁wnf^WRI8 0򟓇{qf\QG8$1򧛍rdUF5#1󮠑o\H3 2|eM43kP64kO55y`F/ 6L6# 8# 9 ;> !$  $  # $ " % % #""  " # # % 5 5 5 6 7  8  8 8 8  8 8 8 0 11 2 4 9 9 :;766779;<9999;@@ Frame 23     YJxJJJUwh~t97  7666 6 3 2!!  1""  0 ## 0 $%   !0 $%   (%0 %& ')"0 &(   '$0 ()  !0 **  0 +,  0 ,- 0 ./ 1 /0 0 12!6 23"6 !45#6 #66$6$78&6%89&6&:;'6'<=(6'=>)6'=>(6&<=(6&:;'#$78&" "57%" 34#" 12! " .0 " ,- " *+ "  '( " %& " #$ "!! !!37 5 02' 3 ;SWF/ 3*Plq_D+ 20Yx|kR;$11\{q\G3 11\{r`SD-00[{scZR@'0/Zzse`_T; /,X{tfchgS3/ )UxtgfoujL)/ %Ottgfr~}gC"/ "Kp~sfep~a;/ Gm|sfcn{Z/ El{sd`j{u/Fl|sc]dt/ Gn}r`W\iy/ Io~pYLLWhz/ !Jp}mQ=7@Pex/ !Jq}kK.#&3Jcw/ !Jq}iF&.Jd/ Ip|iD# /N/ Ip|iD"  5/ Ip}iC!  / Jq}hB / Jr}hB / Jr~iB / Jr~hA 3 !Kr~iA 3 "Mti@3 "Mui@3 "LtiA    Kr~iA   Iq}hA   Ho|g@   Ho|f?   Gnze? Gmye? Flyd> Ekxc> Djvc>  Civb>   Diua=  Dhua=  Chta=  Bfr`=  Adq`= u<98 8 8  8  7  5  3  2   1   1  1 11 0 0 000  0 ! 0"" 6 #$ 6 $% 6 %& 6 '( 6 )) 6 ++ 6 ,- 6 -. 6 -. 6 ,- 6 ++ 6 )* 6 () 6 %' 6 $% # #$ #"" # ! ##" """6<999898920001:;={<:::;<=f<<;::::64221///188        !   "     "#    #%   # $% '& $'  $)# $' %$ "&   #                       4  '  # " !!%"   !($  %,&   '-&  8765 5 4 3 1 0  0   /  .  -  ,  ,   +  *  *   )         $"   !8B>/  /N^WD.    7ZmfR;%   :_smZF2  4 ;`to^O@, P, ;atpbWN=& iC"PH-  !Deuq\<7MJ1 #Ggvr`C! 3KL6  &JixtdG$ 1LQ=!*OlzucE# 3OVD& .Sp|v`? 5SZG* 2Wt}v]; :U[H+ 7[vv\9 %AZ\E)  =^xv\8 /Nc]B% #A`xv\9 ">^m^?# 'B^vv]9  *Kjub?" f=====54333:::::                                   6 6 4  *  '  &  %    $  $!  $"  !==<==<;:99:A:999:<<<<<<< /- , , #!!!  !  !  "   "   " $+/0-'  !".:FMPME9-" !0ARalrqi[I9* !"7Odv{jVB0$ !7Qkq]G5' -Ea{r]I7)   !3Jd}}lYF6)"   "/C[q}paP@3)#  " (8K^mvyxsk`TF:0)%  %25.$  ,60+'$ %9FE:,! $0;DJMMLID?<741-)%"8NXSC2%  (17;72+$!4NaeZH6($,058;@CFJMNLHB;3*!!1Jamj\I7*! "(-27=DJPUY[XSKB8-%!#0D\logWE5*" !&+17?FNV[`a^WMC8-''/?Telh\N>3)#  $).5=DMTZ\\XQG<2*(-9JY``ZOD90*$! !&*18>DJMONIB:1*')1=IQSQKD<61-($  $(.27:<<:61+%"#(09AEFEB?<9640, !#&(('&%" &-49   ?bp`>   >bo`@   ?bo_@     ?am^@    ?^j\>   '/59:82+"%@]fY;   *6AJS[`a_[TKA5-2EZaR8  +,  6Y~ǽ~tkbZRI=+  7\¶wme]UL>- 2XǺxog`WNB4)#!"!'Krɽzpg`YRJDBEHHEA<;`ʿ|rh`ZTRXcnsqke^ (Lnujb[Y_o}u0VtĻxmd^`m2Wsȿ|pgdl.RnŽtnp(Jh{ĻzwŻ @_tȽ2Ql}ĺ$@[r·+D^sż *BYm| &:L]irxꑓǿ,8BJPTWZ[[Z_kyƼ!%(*--,-7Kcw· 3Oj|µ  :Vm}Ź %>Uhvü $7JZivs^ *9GT_iqvz||xocSC2  %.7?DHJJIC;1&  !!   "                                         # ' )  "  "  "  #  # # #  " " $-474*#)9GSYXO@.# 5K_nvwqcP;%! 6Qk~|lW@)  )Gd|ziU>( .Kg{|p_K7#)BZjtvrj^N=*    1CQZ\ZRG9*! +6=@>8/$  +4/ "%$   ,>C:(    (>ML?*   "9MUN=(   ""   2FSRF4!  $&&%" *Xrv]:  /Ss{d?" #5Qn}u\: 3Xv|d?" ,Jk|u]; 6[wz`<  $Ei{u]< 7[trW5  Bfzt^= 7WjcH- ?exu`@! 5KWL7" >dxubE& !4A@4& >cvufK+ "05." =buviP.  )(! =auvjQ/   <`tvjQ0  ;^rtiP.   :\oqgO-  ;XjmcM,5.(#*>Vce_J+VLC<;ERZ]XG*lcZQMMQSUSD( xog`YTQOPOC( |tlf`YSONM@&vohb\VRPM>$ 0xpic^XTRM<" 0{qjc^YUSO@%0~tle^YURQD*0xof_ZTROA(0|riaYSNE4 0򙍁vlbWMC5"1򠔇zl_QC2"1󦙋{jXC02v`I13~fM44~eL35s[C-6H5# 7" 9 := "  # !  #   $ " "            " #$ 5  5  6  7  7 8 8  8 8  8  8  0 11 2 4 9 9 :;< + +67789/==<:9999:@@ Frame 22     U;t97  7  6666 3 2  1    0!!  0!"  0!#  $"0"# $&0$%  $"0 &&  0 '(  0 ()  0 )* 0 *+ 0 ,- 0 --6 -/ 6 /0!6 12!6 !34"6"45#6#67$6$79%6%89&6$89&6$78%#"67$" !34"" 12"! /0 ! -. !  +, !  )* !  '( ! %& !#$ ! ! ! !!37 4,.% 3 7LPA, 3'JdhX?(2.SosdN7"1/VrwiVB0 1/VsxkZM>*0.Urxl]TL<$/-Trxm_ZXN7 /*Rqxm`^b`M0/ 'Ooxma`hlbG(/ #Jlvla`kus_? / !Fhvl`_iyu[8/ Cetl`]hxsS/ Acsl_\dtl/ Betk^Y^m|~/ Cftk[RVbq/ DhuiTGHRas/ EhufM94 / Fita> / Eita= 3 Fjua= 3 !Glva=3 !Hlva=! Glva=    Fjua=   Dita=    Dhs`<     Dgr_;   Cfr_;  Beq^;  Bdp];  Aco\:   @bn\:   @an[:  @amZ:   @alZ:   ?`lZ:  >_jY9  =]iY9 u<98 8 8  8  7  7  3  2   1   1   0   00 0 0 0000 0 6 ! 6!" 6#$ 6%% 6 &' 6 (( 6 )* 6 ** 6 *+ 6 )* 6 (( # &( " %& "#$ "!" " ! " "" """"! 6<999898920001:;={<:::;<>&<:9998852110//../08                  !"    !# $# "$  "&  !$ "! #   !                             !      "   %"  #)#  %*#  :75 4 4  3  2  2  1   0   /  .  -  ,  ,  +   *   )   )    &             !     3>:,    ,HWQ@+      3Te_M8#     6XkeTB/     2 7ZlhYJ<)    K) 7Zli\RI9$    b?!9[mj^XUK6    sT2!<]oj_\^\K0    {dE,*Aaqk`_fj_F)   |nV=7Iesla_hsq_A%    vrbOFRjuma^iv}t\=!    mqj\T\mum`\fvuY9     _klf`frwn_[aprS1    L`ijinxyn^W\hxiG'    4L]gks{zlZQR]l{x[8     1FXfs|zjTDBJZjx}iK*     ,C[nzxfK7.3ARcqwpZ<      /KeutbF,'6I\kncL/    <[oqaD' .DWdfW>#   1RinaG* *@T`]K/   )JdmdN1 *@T\S;    $FamhU9 +BSUD*   !B`miZ>  .DQK5    @^lk]B#  3HM>%   ?]lk\B" $\kjZ> 1FJ8     >\liV9'@L>%    ?]lhU7 9JB*   @_liV94GE.   !B`nkZ> 0FG4   $Fbpm]A# 0IM<"  (Ieqm\@!  4MUD*  +MitmZ; 9T[K0 0QlumW7 &@X_M2   4VovmV6 /H^`K0  9YpwnV5 $9TgaI. "=ZpxoV5  ,FcpdF, %>XnwoV6 !3RoygG, f=<<;;;:643220001888                                                      &  %   $    $    #   #     ==<==<;:99:A;999:<<<<<<< /- , , #!! !  !  !  "  "   " "(--+% ! #-8BILIA6*  ! !0@N\fkjbUE6(  #8M`p|~tcP>-!  6Ph{{jWB2%  ,D_w{kWD3'   1HbxueTB2'      .BYm{~uj[K=0&      '7J\ipsqme[OB7-'" #/1+!  ,;JT[]\XSKC;3-(%! "6BA7) %1;CHJJHEA<851.*'"!5ISN?0#  )169<=?>>==<;84.)"2IZ^TD3&%,/359=@CFHIGD>80' /EZfcVE4' #(,04:@FKPSURMF>4+#!.@Ueh`QA2' "&+/45+%%-<9641-) "$&&%# $+169;=>?@?>;72 ").38<@DHKLKGA:   &,29?FLRVWUOH? $+2:AIOUYZWPG= "(/6>EKPSSOH?4 $*06<6-#%>W`S8  !*5?HPX^a`]VL@4,1CUZL4 %0=KZhrz~~{wqg[ND@HRRE/ .D[pxnaVNMOK>+ 4SqwlbXRMG:)  6Y~ü}rg^VNF9)  5ZukbYQH:+ 0Syļwmc[SJ>2'! %Gkƽynd\UME?>ACDA=88ZyǾ{pe]UPNS]fkid_W %Gg~ǿ~rg^WUYhz}um.Pl}vi`Z\h}x/Qk{üylc`gz},Mgx}piky&Faturz 5$    %:GG:(    6HOH9%    .AMLA0 !$$#! &7DHA3$   ""  *6:8/#    $)*%         !""  !#$#          (<. +42  0  /  .  -  .  .  /-.....//24 8+s;899:;::  &*#   %("   #&!     $    "                                  0   1   1   0   0   0   1$  1+$ 21)  34*  51& 6) 7 8 9;~%:SkvnW7 #8Zv~iG, !3LgunW8$;]y~iG- *EdsnW9%>`z|eD+  #AbrmX: &>`wv^@)   >`qmY;!'?\nhP7'   <^plZ>$'=R\S@.$  ;]om]B');GH=0'#!  :\nn`H,*7<7.'#"!!  9[nnbK.(11+%" !!  9ZmncL. "'&#  8YlmcL-  8XjlbK,   7Uhi`I*  7Rce]G)  2+%");P\^XE(PG?88ALTVRA' e]TLHHKNON@&phaZSOLJKI=&tmf`ZTNJIH<$wohb\WQMKH:" 'yqic]XSOMH9! (}sjc]XTONI;$0wme_YSPMK?'0{qh`ZTPMI=%0ukc[TMI@1 0zof\RI?1 0sfYL>/1󜐂scR?-2nZD.3v`H14v_G05lV@+ 6D2! 7! 8 :=     "    "   !              ! "  #   &  6  6  7 8  8  8 8 8  8 1 11 2 5 9 9 :;< + +67789/==<99999:@@ Frame 21     QͿmt97 6  66653 2  0   0   0   0   0   "0!"   0 ""  0 ##  0 $%  0 %& 0 &' 0 '( 0 () 6 ** 6 +, 6 --6 ./ 6 /0!6 11!5!23"5!33#5!33#6!22"" 01!" ./ ! ,-! *+ !  )) !  '( !  %& !  #$ ! !" !  ! !!!;6 4)*! 3 2EH;( 2 $CZ^O:%2*Ldh[G21+NhmaO=+ 0+NhnbSG9'0+MhmcVNE6"/)MgndXSQG3 /'KgneYWYWF,/ $GdmdYY_cXA$/ !CbldYYbkiW9/ @^kdZXbotjS4/ >\jcYV`nxxiL/ <[icXU\jx~xb/<\jcWQXdr|~s/ =]jbSLOZiv}z/ >^j`NBCKYhtx/ ?_i]G517EVgq/ @_i[A*!-@Te/ @_iZ=#(>U/ ?_iY; )B/ >^iY;  ./ ?_iY:  / ?_iX9  / @`jX9 / @`jY9 / @`jY9 3 @`kY9 3 BbkY83 BclY8! AbkY9    @`jY9    ?_jX8     >^hW8     =]hV7   =]gV7  =\fV7  <\fU7  <[eT6 ;YdT6:YdS6 :YcS5 :XbS5 :XaR5 9V`Q4  8U`Q5 u<98 8 8 7 7 6  2  1  0   0    0    0  0  0 0 0000066 6  6!" 6 "# 6 $$ 6 %& 6 &' 6 &' 6 %& 6 $% # "# " "" " ! " """" """!  !  6<999898920001:;={<:::;<=%<:9998852110//.... 1                                         "  !                                               "    %     !&    ;7 5  4  4  3  2  2 1 0/ . - , , +  * )(  &               /85)  (BOJ:'    /L[VF3!   2Qa]N=,   . 3Rb_RE7& E' 3RcaULB5!  Z;4TdaWQND2   iL/7UebYUWTD-p[@*(=YgcYX]`W@& qeO94D]idZX`ifV<#  lhZIAL`kdZW`lrjT8  cgaUNUekdYV^lwwkR4    Wbd]X]imeXTZgt}yhL.    FW`aafmoeWPU`nz~v`A$    0ET]bjqpcSJLUcqzzmT4     -AP^jrpaM@=ESanuq`D(     )>Sepm]F3+/;K[hmeR7     +E\kkZ@)$2DUadZE,    8SegY>%+>O\\P9    -K`fYA' (;NXUD,   'D\d\H- ';LTK6    !?Yc^N4 (&   =Wd`R9  *>ID1    ;VcaTW^O6% ,JbkcO3  0G^cS:' 1NeldO2 )9QeeR:(  5QgmdO2 !'1C\lgP8(   8RgneO2 !%+8PjvjP7(! "9PemeP3"&->Zt}mP7)#  f<;:::::63210///1888                                                       &   $  $   #   #   #    ==<==<;:99:A:999:<<<<<<< /- , , #! !  !   !   !  !    "    "  &)*'# ! #+4=DFC<2'   #1>JV^baZN?1$ $8K[itxxtj[J9* 5Ndt|qbP=."  *B\q}qbP?/$ .F^swk]M60*%"  1<<2& %1;@CEEC@<841.*'$ 1BJF:,  !+25789::98630+& .BSVM>/# ',.0259;>ACCA>93,$,?R\ZN?0$ %)+.16;AEIMNLF@90(! +;N[^WK<.$ #'*-17=DJORSPJB:1(#")7GU[XOC7,$ !%'+/55,&$(2?KRSME:2*$   #$&+06;@CDC?93,%"%+5>EHFB;50+'# !$(,/24420+%!$+28<=<:742/-)%  "##" "(-15789::963.  %*/37;?CEFEA<5   #)/5:@FJNPNIB9 !'.5?>:3+#  #'*,..+'"      !*)(  *  (  '  &  $  #  "  !              !  !  "  #  %  %')+- /  8U_Q5  7T^Q6  7S^Q7    7S^Q7     7R]Q7   %*+)" 8Q[O6 !)2;BCA;1$$9PWK3  $*2NRF0  !,5?JUajquxyzywrgYK@=DKL?+ 5I[m{xl^QJIIE9' 7Vrwj]SLHA6& 5Z}|pdYQI@5& 1U}~th]TLB6( ,Msvj_VND:.%"Ac潸xl`WOH?;9;>><843SpznaWPJHLU^a`\WP "A^t|qcXROS`oz}yrkd*Ibs帹seZUV`svn+Jbqvg]Z`q{s(F^o~zkcdpv #@Ykz}plrx 6Pexwx{,E]r 7Og}%Xmz򙞥 &=Q_gkmptxzz~ %6AGIJLNPQQPU^kx ")+*))**)+2BXm}-Gau 6Qgsy} %=Q^hpyv &5CO[epytcQ '2>IS[afikkg`VI:, !)182%    ,37860)  $+'  !   %480"  "5A@5$   0AGA3"   *;EE;, !!  #2>@:/!   &053+      %&"             !        ":+ *3 1  0  .  .  -  .  .  . ,--. - - -/036(s;899:;::  "%    !$    #   !                                           0   0   0   0   0   0  0!  1'! 2,% 30& 5-# 6% 7 8 9;~"5LbldP4"%/Ca{pR8*%"  /F^jdO5!%/Ee~pQ9,&$"   (A[idP7" $0Gf~mO8-(&$"  !621/.,*'%! 5TddXC-'4AFC;52110/-+'%  4Scd[F.'1:<730010.,*&" 4Scd[G,$,120.-.//.,*&" 4RbcZE* %())*++*'$ 3QabYE) !"#$%%#!  3O_`XC'  3L[\UA&  .(" &6ITVP?%    IA:441/%E]cZOKH@- / $B\b[QNPM>(/ @Zb[RPUXP;"/ =XaZQQX`^M4/ :U`ZQPYdh_I// 7S_ZQOVcmk^D/ 6Q_YOMT`lqkX/ 6R_YNJOZgorg/ 7S_XLEHR^ipm/ 8T_VF=N\e/ 9U^R;'):KZ/ 9U^P7 %8L/ 8T^P6  %</ 8T^O5  )/ 8T^O5  / 9U^O4  / 9U^O3 / 9U^O3 / 9U^O3 3 :V_O3 3 ;W`O23 ;X`O2   ;W_O3   :V_O3     8U^O3    8T]N2  8T]N1  7S\M1 7S[M16R[L15QZK1  5PYK1 ! 4OXK1 !"" 5OXJ0 ! %'#  5OWJ0 !%))# 4NWI0 !$)+)"4MVH0 !"'+,(  3LUH0 988 8 8 8 7 5  2  1   1   0    0    0   0  0  00006666 6 6  6   6  ! 6 !" 6 !" 6 !! #   "  " " """ ! !!! !  !  !  5:888888310/002;<|;99::;=<9988885 3 2 1  0  /  /  .  . - - .  -                                                                                                                  "$"   $&((&!   #&()*'# "  "%())&" 96  5  43 3 21  0  /   . !#" - ! %'# , !%)(#, !$)+)#+ !"'+,(  *  "!%),+&)  ""&)+(" %  "!&((% %  " %'&!$  " #%#   "  "$!    #  "#    #  "  *2/$  !#  ! $:FA4#  !#    *DRN?/ !#    -HVSF7'  !#  * .IWUJ>2" !#   >$ /JXVMD<0 "#  P50KYWOIF=-  "#   ^E+3M[XPMNK=(  "#   eR:'%8O\YQOTWN:# !#  eZG50>S^ZQPW^\M6  !#  a^QB;EW`[QPWaf_K3   !#  Y\WMGM[a[QNUajk`I0    "  MXYUQU^b[PLR]ipl]E*   "   >NVWX[cc[NIMWcmqiV;    "  +=KSY_eeZKDDMZemmbK/    !  )9HT_fdWF:8>JXcifV=$   !   %8K[dcT@.(+6DR]b[J2   !    '=Sa`Q;%!.=LWYP>' !   3J[\O9" (8HRRG3      *CVZP;# $5ENL='    #=RZR@) #5DKC1      9OYTE/ $6CD8#      6OYVI3  &8B=+       5MYXK6  *:>3    4LYXL6 1=8'   4LXWJ3 (9<-   4LXVH/ 4<2   4LXVF. /;5#  5NYVG/*:7'   7OZXJ4 (:;,    9P[YL6 +?D8%    "=R]ZL5 5LSG4%  %@V_ZI1 ,D[bT>.%! (CX`ZG.  *:QdiYC2'$! ,GZaZG- $-6F[lkZC3*&#!  0I[cZG- '.4>PesnYB3+'%"   3J\c[G- '-29DZq{rZC5-)'$!  3IZb[H.%*/3;Kd{t[D6/,)&$! &<::999953210///./03 8                                                                       $   #  "$#  #  "#%$  " !## ==<<===<:999959889:;<<<<<<<<<.,,+#    !   !   !   !  !  "   "   ! #&&$  !#)18=?=6-$ " &3;EOVYWRG:-! !%9JVajmmh`RC3&  4M`luyzwpfXH7)  'AZlw}~|wqfYI9+! +D]mvzzwslbTF7*!    )@VelqqmibXL?3(!    $6IW]bc`[TLB8.&   &(#-=HMPQOKG@92+&" ,55-"&3;>?@?=;830-)&$!,CGJJHB;5,$ &1?LQOH=1(  $'&(+17=BEGGD>80)#!$-8CIJF>5-&  !$#$',15:==<84.)# "(/8>A?;60+'# !%(+.//.+&# !'-3676420-+)&"   $)-02345531.) "&*/269<>?>:60    %*/5:?CFHFA;3  $)06;AFIJGB:2 "'-38>BDD@:3+ #'-158874.'  #&(*)'#     (& %  &  '  ""  % #&&%#  ##&''&#  # "%&%$" ! !#"!                         #  $ (),  " %),+& 3LUH0   ""&)+(" 3KUH1   ""&()%  2KTH1   "!%('" 3KTH2  !" !')(#  3KSG1   " $,341( 4JQG1  !$!)4?FJH@4%"5HOC/  #('%%)08@HQY`db\P@0)+9HJ>+  +6;AHOYbhloquwwrhXH<9?ED9'%5+" ;Yz~xi[QIA:6568863/.Je欨zk\QJDAEMUXWRMH :Th}稡}n^SLHKVdnpmg`Z&AXjz~q`TNOWhxyrjc'BXgxsbWTXfyxoh$?Uevve\\gw{sj 9Paszidiw~vm 2I\p}poxyp'?Tjx{{s 2Hay~w"6Ql{$;Xnz} &?Ubggffjmppopru{ )=;9741.*'#   !#%(,/258;=??><:740,($    "%(+/268;>@AA@><851-(#  "%(+/369<>ABBA?=:61-'   !$'+/369<>@BBA?<84/)"  #&)-147;=>?@?=94.("  #'+.1579;;951+%   %(,.01320-)%  !#$%%$"                  %    !  ! ! " "  " " "  "$*+(!" &0:AEC=2$ $$3@MX[\VL=-% 4HXekkh_SC1 +(AWenpmg_QA0+EYdjjg`WJ:*'>OX^]YSJ=0!    1>FKJG@8-"    "+0441-% !&# ".2+  /:9/!   ,:?;.    &5>=5'    ,7:4*    "+0-&     ""                     (9* (' &  .  . !"  - "#"! ,  !  ,  +  !  * +, ,  +  ,  - -./14 68br;8777:d:99;  !  "%&%#   !   "!                                                         1  1   1   0   0  1 1# 2(! 4+# 5)  6" 7 8 9;~0EXaZH/!'*.2;Oiw\E81.,)&#! +@U`ZH2!"&)-2<9741.*'#  2M[YL:+"!!#%)0=OclgYLD@><:740,($  1L[YN<-# !"%)0=NZ]WNGBB@><851-(# 0KZZP?.# "%*1>JQPJECBBA?=:61-'  0KYZQ@- !$*1>=>>?@?=94/(! /IXYQ?($*046789;;960+% .HWXP>% "&*-/01320-)$  .FTVO<$ !#$%%$" /DQRL;#  *$#1BLMH8!      B;50/6@FGC6!     SLF?<>=3 aZTOJFB>=;1 c\WQLHD@>;/ %f^XRMIEB@;/ &h`YSNIEC@<1 0jc[UOJEB@=2 -nf^WQKFB><1 0rjaYSLF@<4' 0xnf\ULC<3( 0|sj_TJ>3&1wl_RC4%2wj[J8' 3qaO;) 4raN;( 5YG5$ 69* 7 8 :=                                                    " 8 8 8 8 8 8 112 3 : : : :;**++,,, .<<<<<<<;;987799@@ Frame 19     I\\r\6g~St:7 7 6  6  6  5  3 2 1 0  0 0 0 0 00 0  0 0 1 5  6   6  ! 6 "" 6 #$ 6 $$ 5 %& 4 &' 4 '' 4 '( " &' ! %%   #$ !   !" !    ! !     !   !   ! ! !  !  !    !     !     ;6  4   3&56- 2 4EG=-1 !:MPF7' 0"=PTK=0" /"=PUMB7,/ "7' / 9OUOFDEB5#/ 7MTOGFJLD2 / 4LSOGGLSQC-/ 2ISNGFMVZR@(/0GRNFEKV^]Q;//GQMECIS^a\L//GQMEAEOYabY/0HRMBJH<0"  -0'   )( % (?LJ@6, .0'  &)! 6 (@LKC<4)  .0'  ")# F.*AMKD?<5&  .0' ($ Q<&,BNMFCDA5# .0'  %$WG2"!1EPMGEIKC3 .0'  $$WN>.*6HRNGFKRPC/   -0'  #$SQG:4DOTNGDJU\\S@*   ,.&  # BKMIFIRUOFCGQ[a^P;$  ,.% ! 5CJLLOVVOE@CLV_b[K3   ,.%  %5AHMSXWNB;ISYWL=316ALUZWJ5   +.$    1@NWUI8)#&/;GQTO?+  +-$    "5HSSF3"(5BKMF6" ),$   ,ANPD1 "0>GG>,  ),$ $;JNE3  .) -4+  ')$-BLI=( (3. &)$ .CMJ>)$10! &)#  0DNL@-"23' $'!  1EOMB/ ':?6& !$  5HPMA.  5KSJ:-'"    7JRN@+ "4K`g[I91+(&#  ":LSN>( *6H\nqbN>4/,)'$"  '=NTN>'&1;FTgvtdO?62.+)&$"  *?OUN>'*5>EN]p}wdPA940-*(%#!   ,@OUN>' *5=BITfzzfQD;730,)'$#!  ,?NTN>((19>CJYn}gRE>963/,)&$#! &<:::::953210 0 / / . . 0 3 8                                                                       #  %((&  #  $*./.*# #   ")./0/*$ #  "(,-.,(! ==<<===<:999959889:;<<<<<<<<<.,,+#    !     !    !   !   !   "   "   !!"  !##&,1685/'  " *48?HKMLG>2' !&;HOX__[SH:-"   4L[cikjhbYM?1$  $?XflonlhbYM?2%  (AYglmkhd^UI<0%   &>T`dfe`\VMC7,#    !6JTVYYTPJC:1)!  !"  -?FHIJFB>82,&" %--'  &6;::98641.*'$" &396-" #041/./00/.-*(%"$4?B;1% !,/,*)+.1345531-(#"1@GE<1% *,)((+047:<=;72,' ".@@>93-'!!+7AFD>5+# &(%%'+05:=>>:61+% '1:@@<6.'! #%"!#&+/35651-(%#)06873/*&"  ! $&))(%"#',/0/.,*'&#!  #'*,,..-*(# !$(,/246753/)      %).26:<><83,  $)/3893+  "',158;;83,%  #'*-010-(!  !#$$"      ('  &  & #%$! ! %+..,(!   !)0331.*$ # (.3432/+$ # (.1321.)$ !$),..,*&!  #'()'$"   !"!        !"!   !$&'&$!  !$'))(%!    #&((&#   "##!     "  $*, +.(#"&+16;:3% ,BI?* ,.(!"(.3797.,AI?* ,.( ',3662(  ,BH?+  ,/'$,254.#  .AH>+  ,/' #,265-  -AH=+  ,/' +6=?;1! /AF<*  -0*!)5BLQPG7& 0@D:( /50*&',3;BKVaff`S?.&)4?A6%#6@BBDHPX]`chouwtjWC738><1",FW`gknswzxvstyxjVF>=<6- ?`wyuxvdQF@<4* 2[~wtz|mYLD=4* )Lwxru~~r_OG?6,! #>bzrszucSIA8.% 3No{tqv~wfTIB93/./11/,)(@Xt|upt}zhVJB<9NSUX_gnrw{}ui\ (+$  *49?HPY`dglnpoldZM@ '*$ (1:CIMORSSQLC:.# ')$ ").02342/)# &)$   &)#   $'!  "$  !#%%$"    '.24431.+(&#   )29=??<962/,)&$"    &19@CDDC@<941.+)&$"   *5=BDFFDB@;830-*(%#!   *5:630,)'$#!  (19>ACEGHHFD@<963/,)&$#!  #,38<@CEGHIIHFC@<963/,)&$"  (.26;>ADFHJKJIFC@<962.+(&#   "),048<@CFHJLLKIFC@=961.+($!  $),/36;>BEHKMNNLJHDA=941,)%  $),.169=AEHLNQQPNLIEA<83/*% $)+.159=AFIMPSTSROLHD@:50+#  #(+.149=BFKNQTVVTROKFA<60(  &*-049>CGKOSUWWVTPLGA;4+" "(,048=BGKORTVWVTPKE>7.# #).386,#  #)/49>BFILNONLHA91(  &,16:>@BCCA=70(!  #(,/0110,($           %     !  !  !  "  " " " "   ! !$&# "!%,5:<;5+  $&2;ENPOKB6'% 4DPZ]]ZSH:++'@Q[bb^ZRG9**CS[_]YTK@3& '=KPTRNH@6)  2<@CD>81(   %,-00,'! !  (+%  (11)    &162'      -55."     &/1,%    %)'!                            (9+ (&  ' / %('$   !$*--+(# - ")./.,(" -"(,,+)$  , #&'&$  , !  " +  ,  ,  +  +  ,  - -/14 68br;9778:9:;   $)-010.*$   #(*+*(%     $%%"             !"!     "$''&$!    !$'))(%!    !#&((&#   "##!                             0  0  0  0  0  1 1 2# 3% 5# 6 7 8 9:~*;LTN>*$-38=BK\tjTH@<963/,)&$"  %7IRN?-"#).26;AK]wjWJD@<962.+(&#   3GQM@0((+-049?K^xjWMGC@=961.+($  0EPMA3,)+-/37>J^wzgXOJHDA=941,)%   -DPMB5.++,.16=J]tsdWROLIEA<83/+% +BOMC7/++,.16=J\nwti^XTROLHD@:50+# +BNMD90+*+.16>JZfjg`[XVTROKFA<60( *ANME:/))+-16?KW__[YXXWVTPLGA;4+! )@MNF9,&&(,05>IRWVUTUWWVTPKE>6-# )@MMF7'$*/4;DKNOOQSTTPLF>6,# )?LMF7##*07=CFHJLNONLHA91(  (?KLE6! &-38;>ABCC@<60(!  (=IKD4  #),.0110,)$  (;FGA3   $ ,9BB>0   93.)*/8=>:/   HB<7447997-   PKE@<97664+     UNJEA=9653*  VQKGB?;863) %XRLHD?=983( &[TNHD@=:84* 0]VPJD@=974, -`YRKGA=963* 0c\UNHC=84-"0h`XQJB;3,# 0me[SI@6,! 1qg]SG:.! 2rh\O@1! 3nbTD4# 4bSD3# 5M>.  62% 7 8 :<   #&(('#     !                                               ! 7 8 888 8 1112 : : ::;**++,,, .<<<<<<<;;:87799@@ Frame 18     E/GcKu;97 6 6  6  6  5  2  1   0   0   0    0   0  0 0 000166 6 6 6 6 6  6   6   6  ! $   " !  !   !   !   !   !  ! !   !     !      !      !    !      36 4 3+,%2 +8;3% 2 0?B9.  1 2BE=2'1 2BF@6.$ 0 2BF@82," / 1BGA:63- / 0AFA:997,/ .@FA;:=?8) /+>EA;:?DB7%/*3,,1:CJM/)=C<.$!%-8BH/)D8%3+?D8%! +>D9%  *=C8%  )=C8$*/' (5"$8:1+-6?D>- &8>5" $8:1+-5?FH>- %8=4" $7:1+,3=FKH=) %7=3" $8;3,,1:CJMH8#%7=3"<988887 5 3 2 1  1  0  0  0  0  0  0  0  6  6  6  6  6  6 666666#"" " "  "  "    !    !   !   !    !   !   !   5:989998310/003<=|;:9::<><9 9 8 8  8  8 4 3  2   1    0    /  /    .    .   -  -  ,  , +                                                                                            &-10,%  '28=>:3+"   +6>BCB>8/&    '4=BDED@90'    *4;?BB=80' 9 7 5*.&4 04-" 3 16-% 3 36.&"2 37/'%# 1 48/((*$ 0 480)*//$/ "681+,371!. $791+-5==0- %8:1+-6?D>- , $8:1+-5?FH>, , $8:1+,3=FJH=* + $8;3,,1:CJMH8$* $8;3++07?FJJC0 %&9;2*'+2:AFIG;' $&:<2& "(19AEFA3%&:=2$#-8>BA;* $&;=2#*5=@>4$ %:=1" &41    -87(  097-! &;>1    "180  3=;2(&;>1   )64% !4?=5-$&<>1   16+ - "5?>71," (=>1  ,6. 9&#5@>952,  (=?1 &4/ C1%7A@:896,(=?2 "10 H;*(:B@;:=>8* &<>1   /0! H@4'#-1   -0" EC:0,2?EA;:?FID7%   %;=1  +0" ?A?849AFA;9>FLLD5"  %:=1*.  7>?=:=DFB:8*   %9<0 '( ,5;?DIHA7228@IONE6"  %9;0  (& (3,   $8;/  *$(5@HF<.# (1;CFA4#   $8;/ "*,;EE:+!,7>?9- $7:/ $(  %5@B9) (3;:3$  #69/ &% 0=@9*  &286+ $69/ &  ,;?:.&150# #68. $  )9?<2"&01(  "58.(8?=4$(.+ "48.  &7?>6& *,$  "47.   %7??6' #+( !37/  %6>>4%(*  !36/   %6>=3" %+$  36.  %7>=2!!*&  26.  &8?>3")' 14-  (8@>5%)+!  /2+  ):A?7'#482'  ,/(  ,841-)&" "$$! /?E@4! &5FWjxzn[LB<851.+(%$"" 2@E@3 1@LXeu~p]OD?;640.+(&#! "4BF@3  %6EPX`m}q^QHB=962/-+(%" $5BGA3! %7ENU[eus`TKE@=851/,+(%    %4AF@3!#4AIPT\i{vcWNID@<841/,*&"  %;::999 9 4 2 2 0  0  /  /  / .  . . 0  1                                                                       $'&" $   )0440*!     $/7;<:5.$#  ,6<>>;5-$"   ,48::72*"=======<;99995:889:;<<<<<<<<<.,,+#     !    !    !   !  " ""  !  "$'#"'*./-(! " /649@@A@<4*! "'=FGNTQOLF<1%   3LVX[[YVRJ@4( !=V``a]ZXRK@5*   $?Xa`_ZWTOG=3(   #91)"    -AEBAB<840+%   &&   (9<6310.-*'$! */-%  $36.*(())((&%$"+461( "01*&$%'*+,--+(%")4;92)  -.'##%)-/1321-)%!&2:<80'  +,&"#%+.24663/*&"#.6:93,$ ))#!!$)-12541,(% !(1552,& ''!!%)+,-,)%#!"(-.-+'# "#!##"! $'('&$#!  !#$%&''&%#! !$'),-.,*'"   "&)-0231/*%   "'*/2443/)#    $(,/11.*%    #%((%!            %"  ! !   &-00,% !'18;;83+"  +6>AA@<6/& # '4=ACB@=7/& " *4;?@@>:5.&   %/59;;961+$  &-1442/+&!  $(++*(&"   "##""!   "#$$"  #&(*++(%!  #'+/11.*%   %*/15540+%  %)-1331-("  "%(+--+&"  "#$#!   "  $    (* %9;3++07?FJKB0 &7<3"&:;3*(+3:AFIG;' %6<3#&;<2' ")1:AEGB3 &8<3#&;=2$#.8?DC;+  '7<3#&;=2# ,7@CA8'  (8;3#&;>2##1@ILG9%)8:2#&;?4&(6FSYYP;&*780!'=B;/'$(/5;ESajkfV>+"$-65-*CLHD@?ELPSW]hsxwlV>0.251)3Q_bca_bfhgddhr}ziP?655.% CgyxuvusmhekyvaI>85,#/\~|wrleep~|kSC<6+##Du{umfbiyqZG?8.&  4X}vogaeru`J@9.'  *Ac}wohb`kzwdLA:1*(''))'%"!5Jg}xpib_gyygMA;3038=?>;83 *;?KV[[WRLG /?Lazz|}|yuoieix~lRFABKXaeb\VQK -=J_|vx{}}{wrlhkymTHGKVcjjg`ZSN )9G\~ytwz|~|yvplo}oWMPWclpoic\UP#4CZ{wsvz|~~|xsorpZU[clrsqld^XQ->Vxvruy|}~|ytqvo_^elrvvrlf`ZS $5Orspswz||zwsrzocekptvvsnib\V (Ch{njmqtuutqnqqgimquvvtpke_Y2Wrzxpd`bfhiigecj|~ohjlosvvurnic]#D`hg^ROPSTTSRSV`t{lgilnruvwuqlga3MUQG;89::9;?IZq~}sgdhknrvwxwtpkd)@F?2&!! !%.=Uozug`cgjmqvwyxvsmf$8=4%!4Pkrl^[`ehmptwyywsle "690    ,Jad[UW]cfinqtuurmf] "48. $>MKIKPW]_bgjllkhaXM !47.  ,435@ADEEC?80' !46.   $()**(#  !26.     14-    /2,   ,.(  $*-/0/-*&" (*$ %2950) $058;?DIOSX\adghfda]XSMFA<6/' $/47:>CINSY^bfjkjhfa\WQJD=6-!  -36:>CIOTZ_dhlmmlie`ZSME=4&  (169=CHOUZ`eiloonkga[TLC7+ !-48=BHNUZ`eiloonkf`YQF;-   $-5;AFMSY^bfjllkhbZPE9,!  "-5=CIOTY]acfec]SJ?3(  (18@FKOSVWVSNF=3*" &-39;=@?=83-&   "$%&&$"         $     !   !   " " "  "  "  "   # $##'/121,$ $'26=EDB>7,! % 5AFNONJE<0$ +'?KPUROKD;/# )BMPRNJF?6* &95/) &8B@834668;?EMYjwnhda]XSMFA<60& $7A@945567:>DMYiz|tokifa\WQJD=6-" $6A@953557:>DMZhtyxuqonlie`ZSMD=3& "5@@:312469>DMZfoqpnoopnkga[TLC8+ "5@@:2++049=CMXchiikloonkf`YPF;-  "5?@:/$!'.53( !3>?:, (19AGLPSVWVSNF=2)" !2=>8+ &-39;=@?=83-&   "1:;6*  "$%&&$" $/674)   /*&"#'.330'   <72.,,.//.%   B>962/.--+$    FA=9620-,*#   HC?;741.,*!%ID?<852/-*!%KFA<8530.+# $NGB>9630.,$ -PJD?:73/,*# -SMFA<83/+%0WPIC=81+$ 0[TLE=5,$ 1^VNE;1& 2_VLA5) 3\RF8+ 4RE9+ 5@3& 6* 7 8::  %-1330+%    "'))'"                                            "888881124 : : :;;**+,,,, .<<<<<<<;;:87799@@ Frame 17     A9 5,987 6 6 6 5 2 1  0   0   0    0    0   0   0   0  0  0  0  6 666666666#"! !  !  !   !     !     !    !     !      !   !    !     !   37 4 3 !# 3!+-' 2 &13-$1 '360( 1 '471*# 0 '472,'#/ &373-*(#/%373.-,*" /$263/.01,  /!072/.263+/ /53..28:4)/.52.-18<;4&/-52--06=//50(##'.4:</ /5/%#,28/ /4.!!*2/ /4-  */ /4, !/ /4, / /4,/ /4,/ /4,/ /4,/ /4,3!04,3!04,3!05,! !04,  !04,!%   /4, 7;1$  /4+ $?B6+ .4+ &@C8.% .3+ 'AD8.*#-2* 'BE:0., -2* 'BE:115. -1* (CF;24;;. ,1* *DF;45?E>),1),FG<57BLL=#,1).HH<57BNUO9 +0(-FI<56AMXYN7 +0(,FI=55?KV][L3 +/(,GI>55B7+4 %?C8-% 3 &AD8.*#2 'BE:0.+1 'BE:115. 0 (BF;23:;- / *DG;45?E>(.-FG<57BLL<#-.GH<57BNUN9 ,-GI<56AMXYM6 ,,FI=55?KV][L3 +,GI>55306?HPW[YJ1 %/IK>/&(2>GOVWQ?%%/IL>- +8ENRQI5 %/IL?+$3BLOMB+ .IL>+  0@KNI:!.IL>+ 0BLLD,   .IL>*  1BLI6  0JL=(  2DJ?'   &$ 0LM>( "8GF2  %-*# 0LN>(  (?G<$  (0.'0LN>'  3EB-   (10*# 0LN>&   (?D5 # )10+'" 1LN=%   8D:! - *21-)(#2NO>&   0B<$ 5'+32.,,*# 1MN?&  *?<& 8.! -42..00+! 0LN>'   %;=( 92($/53..153+  .KN>'   !9>* 54.&#(163.-1795* .JM=&   7<+ 131,),363.-17;;5) .IL<%   5;( +110.0573.,/5;><4'  .IL<$  28$ "+/014883-*,18=?;0!  .IL;$  23 ").25983+'(,39==6* -HJ;%   30  (/6981(! $*17:80"  -GI;%  %5-   *387/%&.463) ,GI;%  ,5' #/66.!#*01-# +EI;%  /4" *24,   (-.(+EH:$   00  %02,!  '+*" ,EH:$   1) ".2-#  &)%+DG9$  $.!  ,2.' %& +CF9$  (',20) $" )BE9$   % +20* # )BE9%  *20* !  (AE:' *10) ! (AD:'  *10( ! (@D9( *10' ! (?C9( +20(   '?B8'  ,20) !" &:852.+% )373( /EVahnwqe\TOJEA<9651-'  (373(,APZbhoyti`YSOID?;8640* &<:: : : : : 5 3 2  1  0 /  /  / .  .  .  0  1  /                                                 $,10*! $  &3<80'  3MRLMJGDA<3*   ;UZRQIHEB;3*!  =V[SPGEC?91)   ;RVMKE@>:4-%    4KNECE;63-'!    .CE;8:1-+&"    )<<2-*'&%# !%#  %77,$! ""!  !)*'  #43(!!"#$$#"  ).-'  !00&"$&()('# '-/,%   /-#"%(*+*($!$*-,(#  ,+""%'(*)&#&))'#*)!##$# #$#" '%!      "#$#!  !$%(('$!   "%'))'$!     #%&&$!               %#  " %)("   $08=<7.$ !!0=EIIF?5+   $6ENQQOJC:.# !1ALQSROJD:0%   $4AINOOLHB9/% !-:BGIIGB<5,$  $/8=??>;5/(#  $,15541.+%"  "')++)('%#"   "$&')++*'#  #'+.2552.)#  !%+05:<><94-'  "(.4:?BB@;5.'  !'.38316?HPW[YK1 ,/(/IK>0')3>HOVWR@&-/(/JL>-!,9EOSSJ6   -/(/IL?,&6DNRPE/ !-.(/JM>+(8KUXSC)"..&/JM@.&7K[bbY@%$--%0LPE5'!#).3>PbmqkZ<''-*" 3QYPF<7:@CFIQbszyoV8*(+-& :]hd`VNQTUUSSYk||jJ5/.-$  Ho|{{wc_``^YUT^tw_B51-# *]kfgfb]XRUe{}kL:4.# 6/%   *Kukjjif`ZSOUk{~u\A72% "4Ttjjif`ZTNO]v~wbC82&!  *;WwkijieaZTNMXt~zdD82(&',011.,(!/=Wngihea[UPNWs~zfF93++19>?=962%1(6Mwzd^`dffec_[X]t}jLEJNUZ[YTOJE@ #1Jtyc]_cefec`\Yax|gNLRUY\\YVQLGB*Dpva[^acdcb^[[i{cRQWY[]][WRMID  :f~r]VY\^_^]ZV\tybTUVX[]][XTPKG -Xu{tiUNQSUUTSPNWsw`TUVXZ\]\ZVRNI HfngZGABDFEDBBDPn|}sZSTUWZ\]]\YVQL:W^VG5/0110./3:MkyxkTPSUWZ\^^[XTO1MQG5$%2LjvnXMOSSVZ\^__]ZUQ,FJ?++JgodNIMRRUY[^__]YUO*DG;' 'I`^ODFJOPSVX[\\ZVPH *CF:& #@LD::@FJKNPSTUUQLD< (AE;'  15++/6KRVURNID@<84/+')--)  .BR^dfc`[UOIEA=951.+*(%   &:852.+&  .EV`gjmoppnkga[TOJEA<9651.( +APZafjmopqpnje_YSOID?;8640+  "9GQY_eiloqssrnic^YTOID?;852,! 0@HNT[bfjnqttrmic_YTNID?;83-#  #8BFKQX^dimptwwrnje`YTNHB?94+ );BEINV\bflpty{zxtpkf`YRLGA;3' -2(!%.7@FILOOKE>5.'! $*+-..+'%!        $    "  "  "  "  "  "  " #  # $"%!")(('# $*0/5;641+# % 6=EDG@><7.%  )@GDE>:82+"&940+#  49335*&!  +.'%&   #$             #     ""                                            !  ( 5& ( &  '$-10*!  " &3<@@;3( ! ,;EIIE?7,    '8DIKIE?6+  , )8AEGEA;2' ,#/8<><82+!! "+010-'!    "! "  *    ,  ,  +  ! *  ,  ,  " --/ 236"s:9889;::   !-:BHJKIE?7-$    $/8>AA>80*#   $,267630+&"   "'*--,+)'%#"    #'))+,,++*'#    %(,02552.)#   !&,16:<><94-'  #)/4:?BB@;5.'   #)/385-'! &-.*! $)+,..+'%! %++( %!$'(& /+'$""$%%$ 50-*(%$##"  730-*(%#"! 951.,)'$#!%:62/,*'%$!&<73/-*'&$!-=940-*(%$"-?:62.+(&#"-A=73/,)%! 0E?:50+'"0GA<60)"1IC=6.&2JD;3*  3H@7-"4?6,!52( 6! 7 8::  #/8=>>;5,"  "+022/)"    ##!                 !                   "999999124;:;;< + +67789/==<:9999:@@ Frame 16     =999EN\Cu;98887763 0 0  0  0  0  0  0 0 0 0 6 6 6  6  6  6  6  6  6  6  6  6  "   "  "   !    !    !    !    !  !  !   !!  !" $ !$  "& "% #"|@  86  +  3    !# 1#$! 1#%! 0#%" /#%" / #%"+ !%" !! / !%# "$#     $# #&'#/  $""&)(#/ $"!%)*("/ $"#'++'/ $!$(+)/ $!$'(/  $ #&+  # !/  #      # /  # /  #  /  # /  # /  #     # 3  # 3  $ 3 !$ "  $      # ,1(    # 'NR@/   # ,TTB4(  # .VUC60  # .WWC64- # /XXE879(  "  /XXF::C<  !  0YXF:?IVepws]2   <:::888542111211177 6 6 6 6 6 6 6 6 6 6 6 # "  "  "  "  "  "   "  "  " #  # #   "   u:99;:9921001;;;:;;<>% :: :  :  :  9  4 4  2 2! 1! $ 0$  "& /% #!/&!  .'" .)$ -)%,*&+,'%.) .*0,2,4.6/7182:3  :3  92  71   5/  2.  1,  .* ,( +&)% &" $ !                     #.42,"  *?IVepws]2% 7_]J>?HS^jrukM! % :a^J<;DNXbkpob; $ X_R.   81)!0AA8)  #"  6Torf\VPLFA<601682& !$" 7TnxkaZTOJFB=7311/%  "%"+Nj{}pe]XRMHEA=830-&  #%"7Zr}tjb[UPKGCA<83.%  #%" :[ny~yof`YSOIFB@<71$  "%" 6Wfox}tlf`YSMHEB?;5&  &< : : : : : :5 4 3  2 1   1   0    0   /  /  /  - 2 /! ! # %! &"($)%*&,&+&)%'$&!%!# ! !                         %!,9?>6)% 0BOSRLA3$   :OZ^\XRE8'   2HV]]\XPE7' $  6GRWXWSK@2$ ===>==;:99:D;999<===<>J<9:9#&!  "'" ")$ "*%"+&",'#.)#0+  #2/  $74   $!><('9#%$" # *GF35@+,*'" "4QP5+"  &,28>BEDA<3,#  !&+/26752.&   !$'('&" #  &          )    *   8_]J>?HS^jrulM!     ;a^J<;DNXbkppb;     u~{g3-,!"!  (>LLMLJFA<86:7:ez|j5-."(/4641.,( ';|xJFHJKIGD?<8;cz{j6/0'.599740-* %9z~uIEGJKJHEA>;g}{j6394:>>=:620, 6w{sGDGIJIIFC?=Ar~z]77>9>@?>;740- 1szqFCEHIHGEB>=I}~yQ8;952/ *jvmC@BDEEDA>;:=9640!\}pe=;<>>=:868pyzsH:?:<>@@>;952NrufY5124431//4kvxp;;>9;=?@@?=;75Chj[H($&&%$#$';jusi89=9;=@@A@><:6;abQ9">krl;58<9;=@@AA@=;7 5[\J2>klb437<8:<>@AA@>:6 4YYI/ Md`=/05:68;=>??=;62 3XXI/  !GS4'(-272578::974/) 2VXH1  =9!&,1,./1220-(" 2VVH1 ""'!#%%$" 2UUG2     2UTG2    1SSF1  /PPD0  $&%" .II?-   #3?GMPNHD>81)!1AA8)  4Ncmqnib[UPLFA<711682&  7Tly|uog`YSOJFB=7311/&  +Miyztlc]XRMHEA=830-&   7Zr}yqib[UPKGCA<83.% :[ny~~vnf`YSOIFB@<71$ 5Wfox~{tlf`YSMHEB?;6&   *LYcltzysmf`XSMHEA=7* ?RX^fow~ytmf_XRMHD?7-  +JRUZbksyztmf_XQLF?7& 7LPSX^how}|tlc]VOHA1 6)0 0CNSQKA2$  ! :OZ][WOE7'  !2HV]][VNC7' - 6GRWXUPI>1$ - ,;FKMJF?5) !*5<<71(  !'*)&! "  +   ,  , !%%# + !&()(%  *  $&&%  ,  #  "  ,-.233:889<::   '8HSY[[ZTMC7+"  ,:FLPPNID;1)#     ,7=BCB>93-)&#    !)/46531/.,*)&#    !%),//244320*%    "&+/49=@BA?92+$   #(.65+"  '-38>BEDA<3,"  !&+/26752.&   !$''&"                   &&&1.1 2 2 4 6 7 8 8 9: "$"-MZclu|zsmf`XSMHEA=7*   $"#BSX^fpxztmf_XRMHD?7-  $"4MSUZbltztmf_XQLF?7&  #!%?OQTY_hq}|tlc]VOHA1  #! )DOPRX]fo{{siaYSI<'  "! *EMPRV]enz뢡yoe]SH3  ""'AMORV]eo{~sh]Q<$ """5HMQU\cn|tgXB*""'=IPU\cnz|o^F,!"'=92* !(++("        !%%#  "&()(%    $&&%            9:::::24=;;;<=766779;<9999;@@ Frame 15     9ű<::::999421111111888888888877$" # #  " "  "! ""  "$   "%   "%!  "'" ##")$"+$"+% ). #-&*)|@  7, 5      2  2  1  0  0  +  0      0  0 0 0 0  0  ,   0        0  0  0  0  0     5  5  5  #  !      5<0     /^bL9!    5eeO>0    7ffP@9&     7hgP@>6    9ihRCBE0   9jiSEFQI&    :jjTFIX\E    >mkUHK]kb9  DolVIM_rv]. FqmVJM`szU'  BpnVJL]ryO'  @pnWJKZmwK    @poXJKWfyo<  5======::5422332:9988888888888## # # # # #  #  #   $    $    $    $   #    v;::=<;942112;==;<;>% : :  :  : :  9" 4#  4$  2%!  2'" ##1($"+$0+% ). /-&*(/-' $ ./) .1+  -1-,2-+4/%71&8294<5>8 @9!C;"D="E> "E> "D=  B: ?9=7:472503-1,-) +&'$%" #! !                *8>=5)  2GV][RD6& /J_jppi]O>.   6Ukw{yvodUD4% 1McryzyuoeWF7( "7ObmruvrkbUE6)  ; 75;0 6.]bL9! 6 5eeO>/5 7ffP@9% 4 7ggP@>64 9hhRCBD03 9iiSDEPH% 1 9jjTEHX\D 0 =lkUHK]ja9.DolVIM_ru\. EqmVJM`szT'-BpnVJL]rxO&-@pnWJKZmwK ,@poXJKWfyo<%CroYJKVcq~['%EspYHFQ]iutF $GtqZD29M]ju}|c4 $Ftr[A$,>UiryzqO"$Gur[>1Kcptsf@  $Dtr[>)Ecpro[+ Dus[>&Gfrrj@  Dus[>)HfrpQ%  Fvt[; (Jjrb7  Gxu[9 ,TpnL!  Gyu[< 8bp]1  Exv[:  "LlhC Fxw[8  8clQ%  Jzw[7 %Vl[-   L|x[7  Ii_1   I{w\8 =b_4   Eyv[9  6^b9  Dwv[:  1[d>  Dvu[8 )Uc>  CusZ6 &S`;   DtrY5 %OZ5    DrrX5 %OS*    CrqX6  +RN"     BroX6 9WH      @poX6 GX<      ?noW6   KT1     @mnV5   &NN%      AmmV4   /RB    AllV4  9O2     >jkU5  E@    =iiV6   )C&     =hhV7  34     ;:9-    3\~xohb\VRNJD>96.   Bl~tmf`ZUPMID>7,   Em{rkd^WSOLHC;+   @gzzrkc\VROKF?-  &< : : : : : : 5  4  3    2    1   1    0   0  / /" /" -#! 2%" /'#/($*&-'-)0+1-2-4.3.1,/+.(,'*%'$'"$" "   3  3  +  3  3  4  - - 55     %,( "5DKJ@1"& 9O]ba[M=+  &E^lomi`SB/  =Vfoonh^QA/ % %@UbghgaXK;+ @===<:;=D<;:< <;<%.' $ #0) #1+ #2-#3-$4/$71$83 &;6  %?9   %$D?"/  $ +JD)&1 # 3QJ-/    9UN02  "9VO00 8VN//   4RK,):   /ME(!1    ,HA$    (E>"      &A;      $=8       #;5     "82      50   1-      .*    )%       &"   $!   !                ' 4 & $  # *8?>5* ! 3HV^[RD6& #/J_kooh]O>.   6Ukw{xtocUD4%  1McryzxsndVF7(  "7ObmrutqjaTE6)   /DVcilkhbYNA3)" #4ES[^^[VOD:1*%"   &5AHMNLHC=61-*&"  (18<>=<:97421.*$ !',0368:=>>=92,$ #(-27=CHLONKD<3+"  ")/7?GNVZ\[UMD9.$  "*2:DMV\cc`YOD:-#  (1:DLT[_`\UJ?3)   %-5=DJORQNG>4*   "'-39=@A?=7.%   %(+/00.)$ #  %             )      *    CroYJKVcq~\'  FtpYIGR^iuuF   GuqZD3:M^ku}}d4   Gur[A$,@UityzrP"  Gur[?2LdruugA  Eur[?-Kgtwt_0  Dvt\A 7XpzzrN Fwv^C'!'Giz}g7 HyxbJ/#%&(,SuxW$ M~jY/%&)*))+/\{o3  Vqhn*+-.,+()0r{`'  dvp`.-//.+(')Iym3#   "tzr6/./0,*'$$,o~tB$  *~{q6//-*'$"&cxyU&"  ,|q6.//.-)%""1s~{`'"!  -|s6/./.,)%" ,o{{d'!!   ,}zqt../.,(%!)mzyd)"  *{zor.-..+)% &kxye)!  +ywm:,-.-+(%"#Ztxf(  +vvi1+,.-+(&! #Usve( ! (ttf1,+.-+)&" "Urud% " (tre0++.-+)'#!$Wttb$!$ 'rre0*+--+)'$ 'cusQ$"&  $oqc/**-++(&# !1rupB##'  hoa-)(+*)'$!!gstm?"$  ^l]+%&'&&#  dqrj4"$  Sz{fT& !"!  aope$"# Jtu`H +bnl\! #  EpoZ=2elc& "  ?llW9 5ggX #  >jjW7  KcZ." >ihW8  IR*! LU]`]VQJD<1(%:MMD1  !>^v}umf`[TMI@:;@D=.  !Ae|rkd^YSOJC>;:9-  3\}wohb\VRNJD>96.  Bl睗}tmf`ZUPMID>7- Em{rkd^WSOLHC<, ?gzzrkc\VROKF@.   2[kv{rjc[VRNJA2  Kbhp{{rjb[VQKB6$  3Xbflu{rha[SKA/ A[`diq|wof^VM;" GZ_bhoy}skcWJ/ GX^bfoxyodV>"@V\bfoxü|oaJ+1O[`fnv|iQ2BV_fnupT4$ 'EWblt~ýjM3% $AVeo|s[@.%! 6M_mykVB5,&" ! "5DQ`mopxvmcVG;2-)&$"!" #0::?>620-+)('&%#"    "$%%&'&%#"   !"#$%&&%$#"!   !"##$##"! %  !!##""! !  #  $  #! $# $$! $&"$(#%)$&,)   &0,# %41( &":6"' %'>;&+ $'?<&* %'?;$% "<8!+ 72 3. 0)  ,( *& ($ ("%" #!               (  ( ( 5 6 )  '%,( &#5DKJ@1"0 9P^caZM=+  !&E^lomg_RB/  !=Vfoomf]PA/ - %@Ubghf`WJ:+ - 4FSZ\YTK?1# !"2?GIHC:0$  (/21.' "   +  , "$" , "',--*% + "(-010,% * !&+..,&! , "$"! #  "  , -.233;99;=>  /DVcilkjcZOB3)" #4ES[^^\WPE;1*%"   &5AHNOMIC=61-*&" (18=?>=;97421.*$ !',1468;=>>=92,$ #(-37>CHLONKD<3+" ")/7@HNVZ\[UMD9.$ "*2;EMV\cc`YOD:-#  (2;DLT[_`\UJ?3)   %.5=DJORQNG>4)  "'.39=@A?<7-%   %'+//-)$                           && &2/3398889:;<  4\kv{rjc[VRNJA2   $Mbhp{{rjb[VQKB6#  8Zbflu{rha[SKA.  E]`eiq}wof^VM:"  %L\_bhpy}skcWI/  &LZ_bfpxyodV>" !FX]bfoxü|oaI+ 7R\`fnv|hO2%EW_fnupS4#+GXbltýiM2% %BWep|r[@.%!  6M_mykVB5,&"    "5DP`lopwvmcVG;2-)&$"!   "099>=620-+)('&%#"     "$%%&'&%#"   !"#$%%$#"!    !"##$##"!     ""!!    &  &  & 1 .  1  !  2 3 4 5 6 7 8:; GZGZ7 4FSZ\ZUL@1$ "2?GIHD;1% (/33/(       "$"  #',--*% "(-010,% !&+..,&!  "$"!             <===<=<<=~:889::n<99;@@ Frame 14     nƆ5Ƣ r~B   \  l <; : 9" 8# 8% 8&"5($4*% 3+&  2,' ! 1/) ** 00+ (3+/3, 17&/5. %20|;=8: \9; 8: 8: ^8:  *9 7?F9&5 7nsZC' 4 ?ww^I84 Axx_LC-3 Azz_LI@2 C{{aONQ9/ C||bQR_U--D}}cRUhmQ" -H~dUYn}rC ,PeV[pm7 +RfW[qc/ *NfWZn].$LgWYjY%$LhXYgyG  : ::: : : 5  4   2    2    0    1 /!  ; : 9" 8# 8% 8&"5($4*% 3+&  2,' ! /) ** 00+ (3+/3, 17&/5. %20.6/ $+#%81 &:3  &;5  &<6&>8%A:&!B<&"D>%#G?%%JB%&LC%'OF %(PH %)RI %)RI %(QH %&NE %&KC %#HA &"E> & A<&?9%=6%:4+61)3.)/+&,(&*'&'$'$!'! (  (  '  '  &#  ! !    2BJH?1# #,   ;[uvfSA0$ (A]s}rcR@1&  9 7?F9&5 7nsZC' 4 ?ww^I84 Axx_LC-3 Azz_LI@2 C{{aONQ9/ C||bQR_U--D}}cRUhmQ" -H~dUYn}rC PeV[pm7 RfW[qc/ NfWZn].LgWYjY%$LhXYgyG $OiXYftl/%RiUS`n|S"$TjP  $SkM+#4Jd|^(  $TlJ$#:YuxL  $QkJ"!1Rtk3 $PkJ#.Tx}L $QkI!1Uy`,$SkF0X}sA$TlD4cZ'$TlGBsn:$RkE(Z{O$$SlB Bt`-$WkA -el6$ZlA  V|p;$VmB  Hsp>$RlD @osD$QlE :kvI$PkB  1duJ$Oj@  .bqF$Pi?  ,^j?$Ph?  ,^b2$Oh@  3a\) $Nh@ DgU" $Lh@  ThG %Kg@  &Yc; %Lf?  .\\- %Mf> 8aN  %Me> D^< %I}~d?  RL"  %H||e@  1O. %H{{eA => %Gy{eD  ?)  %GyyeF  $ %GxxdG    %GwwdG   EtucF  Cqq`D " )3640+$AggY@  2HYcmpnf_XPF:0+D[[P: 'Jnxqkb[ULDELPH6 'Mv~voib]WOIFEC5 =m{smfa\WPID@7   Nxqjd_[VPIA4  !R~vogb]ZUOF3 Kz~umfa]YSK6 %: ::: : : 5  4   2    2    0    1 /!  /" .$   .%" %(#&)%&*'&,(%/*%0+%2.%5/&61%93%;5%<6%>7%=7%:4&83&70%4/%2-%/+0/)++(,)%)&$)%")# *  + ' '   (   (  ( (1 $  !   -40%  )?QYWL;( &D^ntrj[H3  .RozpaN8$  %Hfyyn_M8#,Ldsz{xqgXE3 6/ $+#%81 &:3  &;5  &<6&>8%A:&!B< &"D> %$H?%'KB' %-NC#%3RF "7SH!  % 8TI! % 7UI!%4SH!.%/PE ' %-LC%*IA&(F>%&B<  %%@9 %$=6 %";4  (71  (3.   )0+ &,( &*' &'$&$!'! (  (  '  '  &#  ! !    2BJH?1# #,   ;[uvfSA0$ (A]s}rcR@1&  $8Pet|~{si\M=1)$  *>Rbkooke]QE:2-)%!   .?MU[\ZUOH@:62.)%  $0:BGIHGECA><:72+% '/49=@BEHJJIHD<4+# $*051&  #)/6=CHLMKGA6-$ !&,/38861+$ "  "$%#  #         &   '    OiXYftl/%RiUS`n|S"$TjP  $SkM+#4Jd|^(  $TlJ$#:YuxL  $QkJ"!2Tul5 $PkJ#8^{~T $QkJ(Dll7$SkM*Kt}V$VlU Typ+$\m_bl|]$flbL;vl)$rma i}t; zl_ [vyQ${m_  n~{^$znb  iy{a$wm`c gwxa$tm`b cswa$sl^!  Mova$qk[  Glr_$ojX  Fio]$oiX  GkmZ$niX  VlkE $miX hlh1 $giW Zjld- %_hT  Yij_ %WgO  WhhZ %RfH ZhcQ  %NeB &_fZ %I}~d@  ,daO  %H||e@  IaT %H{{eA KQ  %Gy{eD  "F9  %GyyeF  ( %GxxdG    %GwwdG   EtucF  Cqq`D " )3640+$AggY@  2HYcmpnf_XPF:0+D[[P: 'Jnxqkb[ULDELPH6 'Mv~voib]WOIFEC5 =m{smfa\WPID@7    Nxqjd_[VPIA4  !R~vogb]ZUOF3 Kz~umfa]YSK6 *! /Rgsð|[<,$ +Mfw̺kL7-'#! "@[p~eN?4.)&$!   )?Q_queTF<61.+)'%#! ! !)9DDJH@<95310/.,*(&$#"!   #&)+-,-../.,*)&$   #%')*+,--,+*('%   "$&')**+**('&&# !"$%&&((''&%&" .$   .%" %(#&)%&*'&,(%/*%0+%2. %5/ &81%#;3%'=5%'>6%&@7%#>7#% ;4&93 &70 %4/%2-%/+(/)(+( ()%(&$)%")# *  + ' '   (   (  ( (1 $  !   -40%  )?QYWL;( &D^ntrj[H3  .RozpaN8$  %Hfyyn_M8#,Ldsz{xqgXE3  $>SbjmicYK:* )Rbkooke]QE:2-)%!   .?MU[\ZUOH@:62.)%  $0:BGIHGECA><:72+% '/49=@BEHJJIHD<4+# $*051&  #)/6=CHLMKGA6-$ !&,/38861+$ "  "$%#  #   $  %  &   '    (89FI\ I\I\7 *! /Rgsð|[<,$ +Mfw̺kL7-'#! "@[p~eN?4.)&$!   )?Q_queTF<61.+)'%#! ! !)9DDJH@<95310/.,*(&$#"! #&)+-,-../.,*)&$#  #%')*+,--,+*('%#  "$&')**+**('&&# !"$%&&((''&%&$ 4 5  # >8: , 0 Z >8 >87  $>SbjmicYK:* )%   ! ;nnWD5  ! =poXG>+   ! =qqXGD<  ! ?rrZJIK5   ?ss[LLXO*   @tt\LOaeK   Cvt\ORftj?   Kzu]OTg|e2   M{v^PTh}\+  J{w^PSe|V+  H{w_PRbvR"   H{y`QR_pyA  u=======644333::::::::::::::&$$ $$$ $ $  $  $   #     #    #    $  #   v<;<><;::2112<><<;;>; : : 9  9" 9# 8%! 4&" 3'#  2($ 2+% &&0,'%/'0/(-2# /1* ".,/1+ !' .3- .5/ -61 &71&93%<5&=7>9 A:"D=#F>$I@%JB%KC%KC %JB #H?#E>  B<?9<7:481 501- /* +')(%*&$*$!!               .=DB:-   7M^ecYJ;* 3PgsyyreVD2#  ;\txl\J9(  6Tl|~wm^L<,! %$ 5 :nnVC35 ) 4 qqYIHJ42 >rrZJKWN) 0 >ss[KN`dJ .But\NResi> -Jyu]OTg|d2  K{v^PTh}[+ Hzw^PSe|V*+Fzw_PRbvR" $Fzy`QR_oxA $I|yaQR^k{c+%K}zaNLXer~L $M~{bJ7>Tesl9 $L~|cG' 0D\r|{V%  $M|cD! 5Rlz~}oF  $J~|cD-Kkz|yc/ $J}cD *Mo||sF  J}cC-No|zX( L~c@,Qs|j<Mc>0[zwS$McA=jze5 Kc?%SuqI! Lc= =kuX) Pc< )]uc1 Sc<  Org6  Od= Bjg9   Kc> ;fj>   Jc?  5cmC   Jc=  -\lD   I}b;  *Zh@    J~|a: (Vb:     J||`:  (VZ.    I|{`;  /YU%     H|y`; >_N    Fzy`; M`A    Ewx_; #R[6   Fvw^:  *UU)   Gvv^9  3YH   Guu]9 >V7 Cst\: KF  Brs];  -I*   Bqr]< 89  Apr]? :%  App]A  !  Aoo\B     Ann\B    ?kl\A    >hhY?     '/10,'! <__R;   1HX`fhe^WQJ@5,'?TTJ6   $DfvohcZTNF>?FJC2     $Gm|tmfaZVPICA@>1   8dxqjd^YUPJC?;3    Hu~vohb\WTOJC<0   Kv|tmf_ZVSNIA/   Ep|tld^YVRME2 %: ::: : : 6 5  4    3    2    1  /   /  /!  /"  .% -%",&$,(%%+&%,'&.* 1+ 1- 4/ 61 71 92 82 503/2,0+.)+'+% '%%"#! *" *  *  +  2  .   -  - 33       )0," %:JRPF6%#>VekibTB/  *KfuyvqhZH3!  "B^oxyvpfXG3 $(F\jpqoi_Q@/@===<;;=E<;:< <;<%2+ !' #4- #6/ #71  $81$93$<5$>7 & @9  %"C;   %%G@ )  &+LC$( % 2QH(&   7TL*(  # 8UM)'  7UK(&  3RI&!1    .NE$*   ,JB!  (G?  &C<  %@:   #>7 #;4  82     4/    1+   ,(  )% '$ $! !       "  ' 2$  !    .=EC:.!  8N^fcYJ;* 3PgtyyqeVD2#   ;\t~xl\J9(  6Tl|}wm^L<,!  %<9752.'" $+048;=?BDDCB>70'  !&,172'  %.7?JT]dklhaVJ?1& #,5?JS[cghd\QE8-#  "(1:BJQVYXUMC9.#   %+18>BFGEB<2)!  #(,/3442-'! " !"  $          (      )    K}yaQR^k{d+ N~zaOMYfrL  O{bK9?Uftl9   O|cH(!1E]r}{W%  O}dE"!6Rlz~~oF  M}cE!/Nm{~{e2 M~cE"6ZuxP N~dF'#Di|i6 OfK, %MrzU  RjV( !'Vyn/ Yoce ! 'lz\"drhT  !@uj.sth(  #i}r= #{tf(  wQ  $}tf( (n}y\! ${uh' "iyz`!  #xsgfgwx`"   !usfectwa"    "sqc,Qpva"   !qp`$Lns_    on]$Klq^   om\$MnoZ   nm\$YomH lm\#$jpj8 flZ#\mof4 ]jW"Zkla) S~}fP Yjk\ MzycG "[jeR Hwv_? +`h\Dtt]; 0dbP Csr^;  IaT%  Crq^=  HP$   Apq^?   C7    Apo]A &   Aoo\A   Ann\A  @ll[A " >ihX? " &/20,'"<__R; .CS\ehe^XQJA5,(?TTJ6 $Dfvohc[TOF?@FJB2  $Gn|tmfaZVPIC@?>1  8dxqjd^YUPJC>;2   Hu窤~vohb\WTOJC<1 Kv|tmf_ZVSNIA0 Ep|tld^YVRLF2  7ct|skc]YUPG7 #Rjqz|sjc]XRH;' 8`jou|qicZRG3 Gchmr{½xof^T@%Mbgjqy}tk_P3M`fjoyŽxm^C%F^djoxźyiP/5VchowȾrX7"!H]gowȽz[9' +K_ju~sT8)!'G^nyǽ}cF2)$  ;Tgvt^H:0*%#!! %:JXhvxzvl]M@71-*'%$" !&4??EC;741/-,+*(&%#!    #%')()**+*(&%#!   "$%&'())('&%$"  !#$%&&'&&%$##$ !"##%%$$#"#   $"   %#  $$ $&"$'$%)%%,&%,'%/+ %2-  &51! &!;5   %&=8 #  %&?9!! %&@9  !"=7% 9350 3, 0+.),',% (% !&"#$!"          (   ( (33 &  $  ")0,"  &:JRQF6% #>WfkibTB/   *KfuyvpgYH3! ! "B^oxyvoeWG3 ,(F\jpqoh_Q?/* !9LZbda[RE5& !%7EMONI?4'    !,3762+" "  +  , "%'%" +  %+011.(" *%,14640)" *$*/220*$ * "%'%$ "     ) ),001;:9;= % !3J]krutrjaUG8-%! &9KZcffc]VK@5.)%"   *:GNTUSOIB;51.*%" !,5=ADCB@><9752.'" $+048;=@BDDCB>70'  !&,172' %.7@JT]dklhaVJ?1& #,5@JS[cghd\QE8-#  "(2:BJQVYXUMC9-#   %+18>BFGEA<1)!  #(+/331-'!  !"                    && &4033"999::<X 7ct|skc]YUPG8   $Rjqz|sjc]YRH;'   :`jou|qicZRG3  Hchmr{½xof^T@% "Obgjqy}tk_O4 #O`fjoyŽxm^C% H^djoxźyiO/  8WchowȾqW7"  $I]gowȽzZ9'  ,K_ju~rT7(! 'G^nyǼ|cF2)$   ;Tgvt]H:0*%#! %:JWhuxzvl]M@71-*'%$" %4>>DB;741/-,+*(&%#!   #%')()**+*(&&#!  "$%&'())('&%$" !#$%&&'&&%$##  !"##%%$$#"#  &  &  & 2 .  1          6 7 8 9:< *, 0 -)  ,-,6 5 5 57:% 1>7 !9LZbda[RE5' %7EMONI@5'   !,3763+"      "%'%"   &+011.(" %,14640)" $*/220*$  "%'%$             =><====;889::n<99;@@ Frame 12     1A,AD A`MeY<:+ ::9995321%* 88888& 8 8 8 8 $ #  # " " "  "!  ""  "$   "%   "&! '" ## )$!+$+% ). ,&*)|<*78(433%     !                                                         "      #   #   #   #   !    !8?4$   ! 1_cN;$    ! 7ffQ@2  ! 9hgRB;)     9iiRB?8    :jjTEDF1   ;kjUGGQI'    ;kkUGIY]E  ?nlVIL^ja:  GqmWJN_qu]/  HrnXKN`syT( FqnWKM]qxO'   EqnXKLZlwK   ErpYKLXfxn< <<::::::63222223:::9999988888%## # # ## #  #  $   #                   u;9::;:931001;<;;:;<; : :  9 9 9  8! 4#  3$  2%! 2'" ##0($!+$0+% ). /,&*(/-' $ ./) .1+ -1,&2-&4/%71&7294<5>7 @8!B;!C<"E="E=!D< B: ?8<7:472503- 1, -) +& '$ %" #! !              *7><5) 2GV]ZRD6& /I^iooh]N>.   6TjvyxtncTD4% 1McqxyxtndVF7( !7NalrutrkaTE6)  :  75;0 6.]aL8! 5 5ddO=/5 7eeP@8& 4 7ggP@=63 8hhRBBD02 8iiSDEPH& 0 9iiSEHX\D . TirxypO!$Gtr[>1Kcotse@  $DtrZ>)EbornZ+ CtsZ>&Geqri@  DtsZ=)HfroQ%  FutZ;(Jiqa7  Gwt[9,SomL!  Gxt[<7ao]1 EwuZ:  !LkhB Fwv[7  7bkQ&  IyvZ7  &Uk[-  L{w[7   Hi^1   Hyv\7      BtsY6  &S_;   CtrX5  %OY5     CrrX5  %OS*    BrpX6   +RM"     BqnX6  9WH      @onX6  GX<      ?mnW6  KS1     @lmV5  &MM&      AlmW5  /RB    AllV6  9O2     >jkV7  E@   =ijW8  )B&     =hiW9 34                  :cdV=     9`aS<   !&+-,($ 7XXM8    0HW\`_]VPJC;1($:NNE3    !>_zule_ZSMH@9:AE?0     !Ac{rjc^XSNIC><<:/    3\}vnha\VRMID>;81     Bk}tle_YTPMID?9.     Elyrjc^WSNLHD=-     ?gyyrjc\VROLGA0 %: : : :: : 6 5  4   3    2    1  /    /  /  / .! -" ,#!,%!%'#%($*& ,' -) 0+ 1, 2- 4. 3. 1,/+.(,'*&'$'" $!"                          &,( "5DKI@1! 9O]baZM<+  &E^knmh_RB/  ==<;99:D;99;<<::9$.' $ /) 1+ 2-3-5/7183 :5     >7   $C>"+  *IC(%-   2PJ.- 7TN1/  "8UO0. 7TM.+  2PJ+%3   -KD'*    *F@#    'C=      %@:      #<8      ":5     !82     50    1-      -)    )%     &"   $!   !              ' 2 $ !    +8?=5* 3HV][RD6& /I_jnnh]N>.    6TjvywtncTD4% 1McqxywsmcVF7(  !7Nalrttpi`SE6)   /CUbikjhaXMA3)" #4ESZ^^ZUND:1*&"   &5AHMMLHB<61-*&" (17<=<<:87421.*$ !',0367:<>>=<92,$ #(,27jkU7 2cbP!=iiV6  G_T+  =hhV7 FN(  ]u|tle_ZSMHA:;@C<-  !Adzrjc^XSNIB=;:8-  3\}vnha\VRMIC=96.  Bk}tle_YTPMHC=7, Elyrjc^WSNLHB;+ ?gyyrjc\VRNKF@.   2Zjuyrib[URMIA2  Kahoyyqia[UQKB6#  3Xaektyqh`ZSKA. AZ_cip{vnf^VM;" GY^ahnx}sjbWI/ GX^afnwxndV>"@V\afnw{o`H+1OZ_emuľ{hP2BU^emtſpS4# 'EWakt~iM3%$AVdnzs[A.&! 6M^lxjUB5,&" ! "5DP`lnpwulcUG;2-)&$"!! #0::9?=620,+)('&%#!    "$&%&&'&%#"   !"#$%&&%$#!!   !"##$##! %  !!          !  " #$!#%!$(#$($+'  %.* &30% & 96#% %%=;&( $&?<'( %%?;$# !;7 ' 61 1-  /)  ,' *& ($ (" $!  #              ( (3 3 &  $ "&,(  #5DKJ@1!  9P]b`YM<+   &E^knlg^RB/  !><:87421.*$ !',0478:<>>=<92,$  #(-37=CHLNMKD<3+! ")/7@GNUY\ZTMC9.$ !*3:DMU\bc_XOD:-#   (1:CLSZ^_\TJ?3)   %.5<620,+)('&%#"!      "$&%&&'&%##!      !"#$%&&%$#"!!      !"##$##"!!     !! !                                       ##""    !!"#$ % ), 7 4FSY\YTL@1# "2?GIHC;0$ (/32/(      "$"  "',,*%  "(-010,& !&+..,&!  "$"!          ;;;;;;<4=<;<V:6 544468B76679:;<9999<@@ Frame 11     -$Ԧ====8543 '%%$$$$!      $  $ $ $ $ $ $ $ $ $ $ # #  "   "   "  "  "   "   "   "       #" "%  # "!|=;+54(10/#                                 !   ! ! ! !     191$  ,MSG5" 3V[M=- 5Y]N@5$ 6Y]OA;1  6Z_QDA<+ 7[`QEDH?&  8\`RFGOP=   ;^aRHIU\R7   ?`aSHKWeeP/   BbbSIJWgphL*    BacSIJWftugH)     @acTIITcqzwdC"      AbdUIIQ^mx|t^8  (&&&&&%! $$$$$$$% % % % % $ # #  " " " " "  "  "                    u:99;:9921001;;;::;<><9 8  8  8 8 5 5 3 2  1 0 "/! "$ /#  " .$!  -%" -'$ ,'$&(%&)'&+( ,).+/,1.3.51  52  73  73  62 40  2. 0-  .+ +)*'(&'$ $" "                     '154-$ />JONH=0#  +?P[aa\SF8*  0GZfkkibYL=."   +AUcjllicYM?1$  0DU`fhhf`WK>1& 8 6+1)5 (GM@/ 40QVH8(31SXI;1!32UYJ=7. 23VZL?<9)14V[LA@E<$/5W\MBCLM; .7Y]NDFS[Q5 -;\]OEHVccO.  <]^OEHVfofK*  ;]_OEGUesteG'+:\_PEFRbpzwdC"*:]`QEFO]lw|t]8 %;]`REEMYfqyzmO*$=_aQC?GR^irwta@ %>`bQ>25BQ]hprjS1 #>`cQ;&!*8JZfkj`E% #>`cR8 !/CVcgeV9 #=`cQ8*?Tbf`L+  <`cQ8(?VcdY: =`cQ7 *AWc_G'   ?adP5 *BYaS4   ?ceQ5 -I]\B$   ?cfQ5 5R]O/   ?cfQ4  $CZV;     ?cfQ2 5SYE'   AdfP1  'IYL,   BfgQ2  ?VO0   @efR2 7RO2  ?cfQ4 1NP5   =bfQ4 ,KQ7   =aeP2  'HO8   <`cO1  %EM5   <`cO0  $BI0  <_cN0  $BC)    ;^aN1  )C?#    ;]`M1 1F;      :]`M1 :F4    8Z_N1  >D-     9[_N1  $??$     :[`N2 *@6    :[`N3 0=+ 8Z_O4  53     7Y^O5 $1$   7X]O6 '(   6W^P8  $     6W]P9     6V\P:!     6U[P:!     5TZO9!     3QVL8    !()()*(%"2KPG5   #5ITVSQNID?92+$%5DGA0   &847=?;.    $:86,    ;Zrzqib\VQLIFC?<7,    =[q~wnga[UOKGFC?9,   8Uiv|tmg`YSNJHFB<. %:: 9 9 9 9 43 2  1    0    0    /    /    .   . - - -,* ! #! $" &# '$ (% )& (% '$%#$!#!!                           #&#  "/:@?7+ 2COUTOC5& #:N[``\TH:*  3IY`b`]TH9*  6IU[][VOB4& ===>==;:99:D;999;===<>J<9:9#$    &"  '#   (% )& +' ,) .*   0,  3/  !87& " '?>/*+"  .HG70($"   4ML:1&#"!  5NM:0%"!  4LJ7-%  /GE2+*  *A>-$#    '<9(    $96$    "63"    31     1.   .,   -*    *'    &#     !                       " & #     (165-% /?JPOH=0#  +?P[``\SF8*   0GZfjjgaXL=."  +AUcjlkgaYL?1$ 0DU`fhgd^VK>1&  +;LW]``]WOE:/&   !/>IPSSQMF>5.'"  $0:AEEDA=81-)'$   %-36886531.-*&!   $)-0246899873.'!   !%).38=BEEB=6.&  %+18?ELOQOKD;3)!  %-57/%  $).379:951*"   $&*,*)&! !                '     '    CdeVHHOZfryzmO*     EefUGCIS_jrwtb@       GfgUC79ER^iprkS2        FghV@+$-;K[flk`F%        FgiV=$"1EVcheW:       GgiU<#-BXeicO.       GghU<#!4MblmbD#    GhiV>'$/D[mupZ7     Hil[F2$$(*+/9OguxlN,     KmseU?1023202=Unywa;%   !Qx~rfW<664201@^tynP0#     '\znX>8852.,3Jjxt^:'"      1j~kK;88741.++;_sueB+# 9r~iF978751-*)3PltjK-$  =thF878640,)'+@csmQ0$   !=r}iJ967640,(&(9^qnU1#  !;o|mY=56640+(%&5[onV2$   9kzkX<46530,(%&3XmnW2#!    8jwdH635530-)%%1RkmW1##$"  7ht^?324430.*'&/PhlW1##&%$!5er\=224531.+('0OhkT/#""'('$" 3dq[<224531/,*)2RiiQ/$&$&(('%"  2bpZ=124532/,**7XkfJ-'*(())'%#  0a~}oZ<11331/,*-AalbC-)+))'&$!*Zz|mX;001210-*(2Pgk_@-*('())(&$"  #RrwiT8--..-+)&%1SghZ;+*'&'(('%$" GjpaL0'&''&#!!.QefT4*(&&'())('%#!@bgXA'1Se_J.'(&%'())('%#;\`P75WcT7'&'%%'()**)(&$8X]M2  8X\I,$%(%%'()**)(&$7X[L1  >TJ4$"$'$%&'())'%!7W[L1  ;C1!#%##$%''&# 5UZM4  /. " !"! 5UYK4    5UYJ4     6TXJ4  4RVJ4  2NRG2   %)+)&"2JLC/  !.:DJNPNIE?92*%&4BD;+  &846;;6( $IOQOJB8+ -8?@?;4+!   $*-,)$ !   *  +  + #&''$! * #'*+)&! * "&''&" *  #  !  )  )+ 0/09889<::   +;LW]``^YPF:/&    !/>IPTTRNG?6.'"  $0:AFGEB>82-)'$   %-37::87531.-*&!   $)-135799873.'!   !%)/49=BEEB=6.&   %+29@FLOQOKD;3)   %-5/  ":NVZ`fpx}tkc]VOG8&  '?OVY^emv{qhaYPB0   '?NTX]dluwmcZL:'  %;KSX]clvzocTB.!   2EPV\ckuzl[G2$ %9JS[cjus`I4% &:KV`isp]F3& #8IWbmxweR?/%  0BP]hrzqaPA5+$    #1=IS]`cggbZQE;3,'$!   %/68:=<841,)'%$#!     "$$#!     !!""!     !                      ! !                                                    $& ) +.8 .>IOQOKD9, -8?@@<5,!  $*.-*$         #&''$!  #'*+)&!  "&''&"              ;4<;;;<95211111346 5 4445 6 766779;<9999;@@ Frame 10     )Gp1<;:::::5421&$### # #                           #  #  #  #  #  # # #  #   #   $   #   "   "   "    "    "   "   "   "                  |=8+ 4 3   '  0  /  .  "                                                !    !"  !#"   #$!    ##    "                                                        .71% )END4"0NVK;+ 2PWK>2#2QXL@8, 3RYMB<7)3RYNDA@7$4SZNDDIG7 7UYOEFNSJ2  Y[OEFP]hi[A&    >Y[OEEMZfnjY=    ?Z]QFDKVblpiS3 ====<543&%%%%%%    # # # #  #  $  $  $ $ $ $ $ # # # "  "  "  "   "  "  "                  6<:99898920001:;={<:::;<=<9 8  8  8  8  8  3 2  2  1 0/  /.  -   -! ," &"!%$"%%#&$'%)&+( ,(  -+  .+  /,  /,  .+  -*   +(   )'   (&    &$  $" #!"                      $,/.(! *7AFE?6+   '9HQVWSJ?2&   +?OZ__^XOD7*   %9KX_ba_YQE8,!   +=LV[^][VNC8," 8 5&+$ 4 $=C8) 4+FLA2$3-HNB6+ 2-JOC81( 2.JPD963&1/KQE;;=5"//LQF<=DD4 .1NRG>@JPH0 -4PSH?AMXXF+  6QTH?BN[bZB'  4QTH?AM[fhZ@%+4QTH?@JXeliX= *4QVJ@@HTakohR4 %5RVJ??FP[fllaF'%7SVI=9?IT^fjgV9 $8TWI8/1;HS^df_J- #8TXI5$&3BQZ`_U=# #8UXI3,=MX]ZL4 #6TXH2'8KW[UC( 7UXH2 &9LXYN4 7UXH1 &:MXS?$   8VYH/ '$   :XZH-   $@OC)   ;Y[H-   8LE,   :X[I.   1HF.    8WZH/  -DF0   7VZH/ (BF1  6UYH-  $?F1 !"  6TXG-  "=C/  ##  6SXF,  !:?+ "$! 6SWF,  "9;%  "#  6SVF, %;7!  !   5RVE, ,=4    4QUE, 2=.      4PUE-  5;(  3PUF.  "76!     4QVH0 &7/    3QVI2 +4&  2PWJ4  -,   2OVK4 * 2OVK5 "# 1NVL7!    1NUL8"     1MUL8#    0LTL9#    /KSK8#   /HPI7"   %**'&&%".DJD4!    "5GPPKHDA=82-&"#0=C>0     $7K`pvqf]VPKGA<71/28<9/    #7L_o~qe]WQMHC?;75586-    .G]lxuja[UOKFC?<9775-    6Odszynf_YSNIEA><:95,   6Pdqy~|skd]XRMHD@@>=8-    1K^jsx}wpjc]WQLGDB@?;.   <:9 9 8 8 8 5 3 2  1  0    /    /    /   .   .  -  -  - , *   !" #!#! "! "                           "  +4971&-6-)(&"   4JL>4+('$    2GH:1*%#!  -CB5.*#    (<<.&#    %86(    #43$   !10!    /-     -+   +)   )'   &$  !                          ! % "     %-0.)! +8BFF@6+   '9HRUVRJ?2&  +?OZ__]WOD7*  %9KX_a`]XPE8,!  +=LV[]]ZTMC8,"  &6DMSVVSNG>4+"  +8AHKKIE?80)$  !+4;>?=;72-)&#   "(.133210.,+(&"  !&),./13441.)$  "&+.37;=?>;60)"  "&-39?DGHGC=6-%  "(/6=DHMMKF?6.%   '.682*"   %)-13430+%   #%&'%"               '   '   A\^QECIR]gmmaF'   B^^QD?CLV_gkhV9   !D_`Q@56?JU_ef_J-    "E_aQ=,%*5DR\a`U>#   #E`bQ;&!.>MX]ZM4   #E`bP:"*=O[_YF+  #EabP9""2GYcdY?" $F`bQ;'!&0BWfmhT6  $GbeUC2((,.03=:757C[mrfM1%!  -[~znZG@@>;8428KermX;)#   7hlRD@?>;7312?Zmp_B-%   !@pjOB@?><830.8OgndI0&     &DqjNA>?=;73/-0D_mfM2&!  )Do~kRA>>=:72.+-=ZjhQ3&  )Ak|mZD==<:72.+,;XigQ4'"#!  (?iyjWB<<;:73/,,9UhhS5& %('%"  (=fvcL<::;:740,,7QfhS5& %*+)&#!  &;dr_E:8::751.-7OdgS4&"#*--*'$"  #9b|~p\D99::863//8PdfQ3&%%).0.,(%# !8_z}nZB99:;:97411:RedN3)*+.00/,)&$! 6^yymZB89::97422>WgaI2-//011/,*'$"3[wxlYA889::97415F^h^E3/1011/-*(%# ,VsvjW?668875208Ocg[C30//0110.+)&$ $MkqeR<223431/-,7PbeW?20../00/,*(&Cbg]J4+*++*(%%&4NabR:0/--/0110.,*(9X^R>) "4P`\H4--,-/0110.,)4QVI36R]R;,,-,-/01221/-+2MRD- 8SVF1*+-,,.012210.+1MQC,  :NH7)'*,+,-/011/,(1LQC-  5?3'#%)+**+-.//-*&!0KPC.  )*$'%%&(('$ 0KOC/   0KNC/    0INC/  .GLA/  -DI@,  "&&%"-@C:*   *5=BEFEA=82-'"#/;=4&  %6IW_bb_\VPKGB=72/2550% #7L_ltwuqjc]WQMHB?;7421-#    .G]lw|~~{vpia[UOKFC?;730,#    6Odsz~zunf_YSNIEA>;72-"   6Pdqy}yskd]XRMHD@>;5.# 1K^jsx|}wpjc]WQLGD@=81$ )BS_hpv{|vojc]VQKFC?:3(  7JT\clsy~|vpjc]VPJFA<4) (AMSY`hov|}wqjc\UOJD<3% 0DMRW]elszxqiaZSMF<. 4FMQV\cjrxxof_WOE9' 4ELPTZajqy~ulbYOB0  /AJOTZajrzyodYK8' &;HNSYair{znaP?,  0AKRX`hq{ufVB/!  4BMV^foxtdS@0" 1AMXajszyk[J:," +;GR]emrx|~|yqfXJ=1)" !-7AJSVY]\YRJA8/)$! $+2568851-)&#"     !"!!                            !" '*$#%!  03-+($"  " !593.'$"  - "7;3-%!    !47.("   /1'#   *)  $#                                     ' 2 2$#  ! "   +4971&-;60)"  "'-3:?DGHGC=6-%  "(/7>DHMMKF?6.%   (/681*"  %)-14430+%    #%&&$"                              !";72/-  +  ) )  ' &  "%$$$ $  % %'(,+2 7 *BS_hpv||vojc]VQKGDCB=1"   "8JT\cls{|vpjc]VPKGEC>3$   -AMSY`hox}wqjc\UOKGD1!".JSK@6* "/KSKA:3% "/LSLC>;2!!0LTLC@B?1!4NTLDBGIA- !  7PTKDCIPN@)      :QTKCCJSWP=%   !TVLC@ENX`b[H.  <<<;;::54220%$$$$##        #  #  #  #  #  #  #  #  #  #  #  #  #  # "   "  "  "  "   "   "                      6<999898920001:;={<:::;<>99 8 8  8  8  8  3  2   1  0 0  .   --  ,  , +&&% !  #! $"%# &$  '%   (&   (&   '%  &$    $#   #!  !                                  &)(# &08=<80&    #1>GKLHA7,!    &6DNSTSNF;0%   !2ALSUVTOG=2'   %4BKPSSRLE;1' 8  5 $  4 391$ 4%D;0& 2(@D<1+# 1(@E<40,!0)AF=544./*AF>67<;. .,CH?89AE>+ -.DH@9;DLK='  /FI@9;EPUN;$ .FI@9;DPYYN9"+.FJA99BNY_[L5*.FJA99@KV^aZH. %/FKA98>GQY_^T>$$0HKA638@JSZ^YK3 #1HLA3++4?ISXYR@) #1HL@0!#.:FPUTI6 #1IL@-(5CMQNB. #1IL@,$3ALPJ:$ 0IM@, #3CLNC.  0IM@+ #3CLI8!  1IM@+ #5EJ@*   1JN@* &9GE4  1JN@+  +?F<'  1JN@*    4DA0   2KN@)   *>D6!   3LO@(  !8C:%  3LO@(   1A;' !   3LO@) +=<) $ ! 1KN@) ';<+ #  !!!1JN@) $9<, !!"!$"0IM?)  !6;+  "!%&" 0IL>(  49)  "$''!  0HL='  26& !"!&(&  0HK='  12!  "#"&'# /GK=( !10  ##"%$  .FK<' &3,  #"  "  .FJ<' +4(  "!     -EJ=(  .1#     -EJ?*  ..      -FMB. !.(    .GNE2 $,!   -GOG4!  %%  -FPH5!  #  ,EOH7#   ,ENH8%    ,EOI9&     ,ENI9'   +DNI:'  +CMH9'   *AJF8&      &+*%#"!)940+*-4:90#   ! 1CRap{|reZRMHD@;8410266/#   " )>P^hr}wi^VQKGC?;853366/#  " /EWdlrzzlb[TOJEA=:76677/"  " 0EWcjou|of_YSNID@<:99:9/!  ",AQ]ekowrjc^XSMHC?<;;=:0"  <9988 8 8 5 3 2 1  0  /  /  .   .  .  -  .  -   - 0                                  &.10+! (4=AA=5) ,;EJKHB9-!   '8DKMLIB9-!   )8BHIHD>5* ==<==<;:99:A;999:<<<<<<< /- , , #                              !     "    $!     %#      ((    -/'"#""!   $791..*)'$      +?B;61.,*&   0EH?81.,)%    2FH?6/+*(#    0CE<4.)'$     +=?5.+%!     '88.&#    "22(   //#   ,+    ))   '&   &%   ##   !!                              ! %#!    !')(# &19=<70%  #1=FKKHA7,!   &6DNSSQLE;0% !2ALSUTRMF<2'  %4BKPSRPKD;1' "/;DILKIE?7.&  &1:@BC@<81+$   &.478641,)$!  $),..-,+)(&$"  !$')+,..,)$   "&)-1468740+$  #(-27;?@?;6/(!  #)06;@CDB=70(   #)/5:>AA?:3,$   &+0489962,%   $(+-/-+'!  !""!                   '( $?UWLC?CJS[a`U=$ %AVXMA<>DMU\_ZK3   'CXYM?438BKTYZRA)   'CY[M<,$(1=IQVTJ7    (DY[M:& *7DMROB.    )EZ[L8"'6FPTM>(   *EZ\L7"!.@PYYO9!   +G[\M8&"'1@Q]c^L3  !! +G\^RA2*+.126>KZfh\E-  !! ,Haf^RE<:<<:9;BPajfT;)!   !! -NktndVIDCA>:8:DWfj_I2%!   3Ywxl[LFEC@;86;K]heR:+$  !<7401??>;9411:N_`O5'!!).0.+'%" "+@`x{o\I>=>?><:632;N^_N5'##(/22/,)&#  (<\txlYF==>??=:844??><966?Q`^K4+-/46641.+'%  "8XpshWE<<>??><978BUa[G402457641.+)&5VnqhVD<<=>>=<98:HZbYD635667652/,)' .PjneTB::;<<;:8665775321:M]_SA6533456542/-* C:)   (;@7'  ""!'8;3%  '06:==;840,'" *35."  !1@KRVVSPKFB>940,),//*  2CR^dggc^XRMHD?;840.,+'   )>P^hnoomic]VQKGC?;841.*&   /EWdlorssplha[TOJEA=:740,'   0EWcjoqsttspkf_YSNID@<973/( ,AQ]eknqtvvsoic^XSMHC?<962+  $9IT\cimqtvxxvsnhc^XSMHC>;84-"  0AKRY`fkpsvyzywsnic^XRLGB>:5.# $8DIOU\cinrvy|}{xsnid^XQKFA;6,! *;DIMSY`flqvz~}yupjd]VPID=5) -EJOV]emt{|tkaUG8(  *8AHNU\dlt{zqfZK:*  ,:DLS[ckqx~|reXI9*  +9DMV^elrw|}uk^PB4( &3>HQX_eilnnjdZNA6-$ '19BIMOQQOIB;2+%! !(-02430-*&#                                         #'##%$"   +1.-+(&#   1740+'&# !  !484.)%#    05/*%!  +.'#   $&                                               ' 33$" !  &.10+! (4=A@<4)  ,;EJJGA9-!   '8DKMKHA8-! , )8BHIGC<4) * #09>@>;4,#  #,132.)"  !$$!     )  *  +  *  !  *  *  #  "  +)+/03 s;899:;::  "/;DILLKFA8/&   &1:@CDA>92+$     &.489752-)$!    $)-//.-+)(&$"    "%(*,-..,)$     "&*.1468740+$    #(.37;?@?;6/(!   $*06;@CDB=70(    $*/5:>AA?:3,$   !&+0489962,%    $(+-.-+&!   !"!                         !"*/ , *  (  '  %  %  #  "  "          !  !  "  # $  &&(+-04 X "%9IT\cioxvnhc^XSMHC?=>?=3$    "0AKRY`fmx{snic^XRLGB@@=4&    !)8DIOU\clw~xsnid^XQKFCB@<1$   ! #/EJOV_jv~|tkaUG9-&#!    "-9AHNU^it{{qfYJ:,$""!    -:DLS\fouz~|rfXI9*" "" +9DMV_gmrw||uj]PA4(#!   &3>HQY_dilnmicYNA6-$ #     (19BHLOQQNIC;3+&! #    !(,01320,)&#                            !    !    "     #!    $!   &#    '$!    )&#   +($    ,)$   ,'!   '!                                              !!   !!    !!             "$ &&'*<  #09>@?<5-#  #,133/*# "%%"            !             """""$<- *42  0  /  .  -  .  .  /-.....//25:a + +67789/==<99999:@@Frame 8     ! fP;99988842100%$### # #                                             #  #   #    #    #    #    #   #   #   #   #   "    "    "    "     !     !   !    !   !                                     }=_;7     4  3  2     0/ . - "          !   $$  %%   %%    %&     %&    %&     %&      $& #"   #& $&"  #&!#''" #&!!')' $'!%(*& %'!!&)( &' !%(&'!$ &'    &'   %'  %&  %&  %&  $&   #&   #%    #%    #%    #&    #% '&   "% -86*  !% #;GC5$!%(CNH;+ !%+EOJ>1 !$+FPK@5(  $+FPKB8/"  $,FQKC<7-#-FPKC><7+"  0HPKC?A@8) " 5JOIB?BFD8& "  #8KPIA?CILF6""  !""! &;LOG@>BJPPF4! "$%%$" 'AHPTQC/ !  !$%''&%#!(=NQH@( !<::::::53200$$$$$$$            #  #  #  #  #  #  #  #  #  #  #  #  #  #  #   "   "   "   "   "   "                      6<999898920001:;={<:::;<=98 8 8  7  7 6  2  1   0   /    .    .    -    -   ,  +  +&& %    !  !   !                                                 !#"   !)144/)!     *5<@A>80&      .;CGHGC<4*     *7BGJJID=5+"      -8AEGHFB<4+"   7  5 4 */) 3 270&3"5:3)! 2"6;4,% 1#6;5.*&0#6<6/--' /$7<60031' -&8=7128;5& ,(:>824;BA5"  (;?834FNRQG5 $)B7%  .;>6%   *>B7%  "1<:-  *>B7%  &5;3" ! *?C7%  -97)  ! +?C7$   %59.  ! ,@C7#  081  !,@C6#  *62" # " ,@C7$ &43# % "  *?C7$ "13% %! ##" *>B7% /2& #"##&# )>B6#  .1%  ! #"'($ )=A5#  ,/#  "$  %))#  )=A5"  *-! #$ #(*'   )<@4"  )* !%%%()% (GC3" $ !  '=IF6%   ! '=IF8'      '=IG9(     &EC;630-)&!&3=>6(!"!   #  +:KZ`ZOFA=951-)%$(09;4( !"    # +:FTamofYOGC>;730-**/693(   !$  %5DQYcnvuj\SKFB>:630.-0583( "$! );JU\cku|xl_VOJEA=953002793' "$! );JU\agp{{nbYSMID?<85225:;4&  !$!&7EPX]aiu~qd\WRMHD?;7547<=5' <998888 5 3 2 1 0  /  /  .  -  -  ,  -  ,   ,  /                                                 !'*)$  ",3774-$  &2;@A?91'  !/:@BB@91'   #/8=?>;5-$ ==<==<;:99:A:999:<<<<<<< /- , , #                                      !     ##    ),%""#$#      "151..,+)%      (9>;630.+'"    .?D?930-*'"   .AE>71-+)%    ->A:3/*(%!    (7;5.*%#      $24-&"     ,.'   *+"   &&    $$   #"   !!                                  !$"    "#" !*144/)!  *5=@A=80&    .:BGGFB<4*  *7BGJIGC=5+"    -8AEGFDA;3*"  (3;?BA?<60(!  !*279:850+%   "(-/0/-*'#    $'(('&$#!    "$&'((&#   !%'*-/0/-*%   "',046763.)"  $).37::85/)"  #(.268862,&   %)-011.+&    #%(('%!           '( !$%''(('&%# )?PRI@<=BJQURH5 !"$&''(('&$" +ARSK@99=DKPRM@, ! "$%&'())'%$" -BSUK>303:CINMF7$  ! !#%&'()**)'%$"  .CTUK;-%%-6?FIG?/ ! "$%'(*++)'&$" "/EVVJ8'&1;CFD9(   ! !#%'(*+,,+*(&%"!$1FVWI6#$0=>>;:954;HW\TA0'!  #1Ji~xgUIEDCA>9536BR[UC1'!  '5Kg|vgVIDCCA=9424?O[VE2'    *4Hdz}tfVHCBBA=9523<855>?@@?=:77>KXWG3)(+16763/,)% &9ShkcTE>>?@A@><98@NYUF4,.1699730-*&  $7QfiaSE>=?@A@><;;CQYTD51369:9741-+( 4Odh`RD==?@@><;=GTZRB657899752/+) -J`e^PB;;<>>=<:9=IUYPB86788997630-*$AX_XK>768987644;HUVM@86567898742/, 6MUOB5..,**-6FSTJ=654578998641/.CJC5(!   '5FROD84344789:98631(;A9*#5GOH<3234478::9752&9=3#   4FI@4/124568:;;:862%7;3"  1@?6/-/124579::973/%7;2#  +30*'*-0013467751,&%7;3#  "  $'++,-.//-*%%6:3$   !!""! %6:3$   $5:3$   #481#   "26/"    #02,   #)/24430-)%"$,-(  +6@FHIGDA=952-*%$&))$   +9FOVXXUQMHB>:640-*('&"   %5DQY^``_[VQKFB>:630-*(%!   );JU\acdcb_ZUOJEA=9530-*'"   );JU\`ceefeb^YSMID?<852/-)$  &7EPX]`cefggea\WRMHD?;741/+% 1>IPV[_beghigd`[VRMHC>;740-'  )7AGMSY]aegijjhd`[WRMGC>:63.( /:@EJQV[`cgilmkhe`\WRLGB=84.& $3;?CHNTY^bgjnpomjfa\WQKE@;5-# &4;>BGLRX]bglpstrokgb\VOIB=5* &3:>BFLRX^cinrvwvtqmgaZSKD<1% #18=AFKQX^ejotxyzxupjd\ULC8+  ,6BDFFD@;4-'"  #(*,--+(%"                                            #""%%$"  '--,)'%   -431-*($ ! /63/*'$!   ,1.*&#    '+&#  "                                                 '33$"     !'*)$  "-4773-$   &2;?@=80'  !/:@BA>80' , #/8=?=:4-# * )15752-&  &*,+(#   !   (   *  +  *  +  +  #  " +)+ .03 s;8888;d;::   (3;?BBA=81)!    !*27::962,%     "(-120.+($      $())'&$#!     !#&''((&#      "%(+-/0/-*%     #(,046763.)"   %).37::85/)"    $).268862,&     !%)-011/+&      #%'('%!                            !"*( *  (  '  &  $  #  "  "              !  !  #  #  %  %')+- 1 W  $! 1>IPV[ajxsh`[VRMHC>;769=>7)   #!)7AGMSY_jxvkd`[WRMGC>:9:>?8*    #"$0:@EJQV]iyxnhe`\WRLGB=;;>=5(   #" "*3;?CHNT\ixyqmjfa\WQKE@>=>;1%  ""!$,4;>BGLR[hwytrokgb\VOIC?=;6-#   ""!$,4:>BFLR[hu}|ywvtqmgaZSKE>:61*"   ""!$+28=AFKR\hsxyxyyzxupjd\ULC;3/-)"   !! "'.63+)*("  !!  &18?DJR]floqux{|zvqjbXM@2(#%)("   ! '1:BHPYafjnruwxvrkbXL?1&#((#    %0:BKRY^cgknonke[QE:.#")(!   !,5>FLRWZ]_^[UMD:0(!#(&    "*29>BDFFD@;4-'""(%    #'*,--*(%""%"                          "       "      #     $!     %"    &#    '%!   )&#     +(%!  -*&"  /+&  .)# )#                      !""! "%&'&$"   !$%'(('&#!  !$%''((&%#  "$&''(()(&%"   "$%&'()*)('%"   !#%&'()**(&$"   "$%'(*++*'&$"   !#%'(*+,,+*(&%"   #%')+,--,+)&$"  "%')+-.//.,+(&#    "%'*,./00/.,*'%!   #%(*,.0010/-+'%   "%'*,./010.,*&"  "$')+-.//.,*&"  "%&)*+,+*'$  !#%&&$!       "    $ %& '):  )15763.'  &*,,)$                                   #"""#$:+ *4 1  0  .  .  -  .  .  . ,--. . . ./138_ + +67789/==<:9999:@@Frame 7      " : u5 V $ =) [Xa;:988886 3 2 1  0  0  $  $  # # #  #   #                                          "    "    #    #    #   #   #   #   #   #   #   "   "   "     "    "    "    "    !                               ""        #&&%#     }=^86  5 4 3 3 210  / ! . !"" - ! %'# , !%))#" !$)+)" ! !"'+,(      " %),+&  !   ""&)+("  $$   ""&()% %&   " %'&!%&   !" #%# &'    "  #$" &'   #  ## &'   !"  "! &'!   !#  ! %'!#" !#   %(!$&" !#   $(!#((" !# %'!!')(  "#  &(!$(*& "# '(!!&)( "#   ')!!&( "#  !'(  !$ "#  !((    !# !((   !#  '(   " &(   "  &'  " &'  " %'   "  $&   "  #&  !  #&  !  #&  "  #& $%   #& ./%    "&-;:/   "% 9GD7%   "%%?LI=+   !%'ANK@1  !$(BOLB4& !$(BNMC8,  #(AOMC:2( #*BOLD=70&"  -CNJC=;71$ "  3ELHA=<=:0! "  "%&'&$" &7GKG@<<@A:<@FIE9) !  '-1455430-*'%" "->KLF>::=DIIB4# !<:::::853210%$$$$$# #                         #   #   #   #   #   #   #   #   #   #  # #  #  #   #   "  "  "   "   "   "                   !"    5:888888310///0;<|;99::;=:98 8 8 8 8 4 1  0   0    /    .   -    -    ,   ,  ,  +  + *                                                                       $),+("      $,3674/)!     '18<=<93,$    $/7:4-%     %07;==<83,%   7 5 4 #&" 4 )-) 3 +0+$ 2 ,1,& 1 -1-'$0-2.)'&! /.3/**+*! . /3/+,01,  ,!040,-276, "151,-3:=8+ "151,-3;A@8*+"151,,2:ADA7( *"151,,18?EF@3# )#161++.5BD@6& #$370'!!'.6=AA;/ $$37/$"+3:>=5( "$37/"(18;80" "$37/! &0795*$37/! &0770"  $37.! &163(   $47.   '14-    %47/   *21&   %47/   !-1+ ! %47.  &0.#  ! %58.   ,/'  ! %58. (/) !%58.  $-* # " %58.  +* & "  %47. )* %! # "" $47.  '*  #"# #&# $37.  &)  ! # "'(# #36-  $'  !#  &)("  #26-  #% #$ #'*'   #25,  "#!$%  $((% #25,  "!  "%%#'&   "15, #  !%$ "$" "14, # ##   !  !15-  "!"    !171%      !   "3<:.   !  "6AA6&   !  "6DE;*  ! "6DG<,    !   !6DH=-!  !    !5DH>.#    !5DH?/$   !  !5DH?/$!"  ! !6EH?0%"%%"!!5EI?1%#&)(  !   3CG?0&#&++&   !   %)& 1@E=/%#&+-+$  "   *9?;3.+)&# ".;A;.%"%*--*#   "  %1AOTOD<730-*&# #,8?9.%"$(+--(   !# %1;GT_aYLC=962/,)&$%+6=9-$!#')+,+&!#   -:DLT_hg]PGA=852/,*'',6<9-# #&(*+(" !$! #1>HOT]gmi_RJD?;741.+**.8=9-! #&((%  !$! #2>HNSXbmrl`ULGC>:730-,+09>9, %'&! !$!  /;DJOT[grunbWOKFB>:630--2<@:-#%# %:998888321 0 /  /  / . . . . 0  0  0                                                       !#"  %+//,&     *15650)!  '068861*!  (/4552.'  ==<<===<:999959889:;<<<<<<<<<.,,+##&''&#        "%&%$"      !#"!                              $'#!!"$#      ,0.,,+)%    &498520.,'!    *9?=73/-+&!     ,:?<71-+($  )8<83-*'%!    %262,(%"      !-0+$      (*$    %&    !"                                           !#!      $),,(# ! $,2674/)!  '18<=<83,$ $/7<>>=93-%   %07;=<:72+%  #+268763.)#  $+/110-*%   "&))'%"  !"#""!  !"##"!  "%'))&$  "%),./.+'#  #'+/110-(#  #'+./0.*%!   #&)**(%    !"!   !  #  (* '-1356642/,)'$!!$/@MNG?97:@GJG=-! %*/1356677641.,)&$#&0BNPI?746;AEFA6& !!'*.03467787530.,)&%'3DPQI>3-.3:@CB;/  ! "&),/1467887530.,)'*5ERSI<.%$(07<>=5( !"%'+.03578::97631.,*,7GSSI9(#+38;90"  ! !#&)-/2478;<;:8641.,/9HUTH6$ *4;=9-  ! !#&(,/147:<=>=;9741/0;JVTF4"'3>DD<-  !#%(,/258;=??><:7412@AA@><8524=KUSI<1--/114:BKRSJ:)  "%(+/369<>ABBA?=:633;99>FPVRF4&  !$'+/369<>@BBA?<8412;N_fc[RJGFC?;8:?JSUL=.%  #&)-147;=>?@?=94/+/=UjqmdYOJIF@;76:CNTQC4)"  #'+.1579;;951+&&/C]rwreXMJHEA<856/%   "-8I_qum`QFCAA?<8512:GOM@0&$()'%"    %.7G]nrk\MEA@@?<85229FONA1&$+..*(%# $-5DZkogXIA>??=:6339ENNB1& #*120-)'$ (1@VfjbSF?>>??=;855:EOOB1&#$*1551.*'% !+:O`d]PD==>?@><:77?@?=;99?HQM?2,-1688740-)'  #5JZ_YMB==>?@?><:;AKQL?20268:9741.*( 1GY]XMB<;=??><;=DMQJ>64689:9751.,) +BV[UK@:9<==;:976678998530-*":NUQG<5567765439CLNG=8656788741/, 0CKG=2-,--,+)*-5AJLE;544568998641.':@;0& '3AIH?7334568::8640"371$"2AFB93233568:;;:752 /3,  1>B;40023568:;;:852 /2*  -894.-.024578::973. .2+  $--)(),.01356651,& .2+  $')++-.//-*& .1+   !!"! -1+   ,0*  ,/*   *-(    '*%  $(*,,+)&# %&"  %/5;==<:730.*&# !## &1;CHKKIFB>962/,)&$#"!    -:CKORRQNJFA=852/,*'%"    #1>INRUVUTQMID?;741.+)'%!   #2>HNRUVWWVTPLGC>:730-+)&#  /;DJOSUVXXVSOKFB>:630-+(%  )5>DJNQTVXYZYVROJFB>:62/,*'!  #/7=CHLPSVXZ[[YVROJFB>952/+'!  (17;@EJNRUX[]]ZVSOKFB=841,'  +26:>CHMQUX\^``^[WTPKFA<72-&  +269=BGLPUY]`ccb`]YTOJD>94-$  +158=AFKPVZ^beffda]XSMGA;3*  )0484) )06;@EKQV\`dgijiea[TKA7+    *17>DJOUY^bdfgea[SJA6+!  )18?EKPTX[^^ZUNE;1(  %-4;@FILOPPMIB;2*$   $+158:=<:73.(#  #%&''&$!             "#"!     !                                     !#$$"  ")+,+*'$   (/1/,*'$  +11.*'$!    '-,)%"  !&$"                                                     &44$& %  % !#" . &+..,& -  *15640)!,'068740)! ,(/4541,&+")-..+&     $%%" "  !  *    +  +  +  +  +  + +--.14 6"r;8778:99;   #+26884/)#       $+/121.*&!      "')**(%"      "#$#"!       !"##"!      #%'))&$     "&),./.+'#    #',/110-(#     #'+./0.*%       #&)**(%      !"!                                             ' &  &  '  !"  % #%&%#  ##&''&#  # "%&%$" ! !#"!                         #   $' ()+ ,  #!)5>DJNS[juxqeYSOJFB>:620/4=B<.  "$!  #!#/7=CHLR\juysg\VROJFB>95215=B=/  "#  #"(17;@EJQ[jvyrh_ZVSOKFB=8536=A;.  " #"#+26:>CHP[juwqib^[WTPKFA<858=?8+  ! #"!!&,269=BGO[isuoieb`]YTOJD>:67:;5*   ""!!&,158=AFOZgnolhffda]XSMGA;64673)   ""!!%+0484+(,20)   !! !)06;@GPX]_adgijiea[TKA7,#")00)  !  *17>EMSX[^bdffea[SJ@6+!'00(    )18?GLQTX[]^][UNE;1('00'     %-4;@EILOPPMIB:2*#&0/$   %+158:<<:73-(#&.-"    #%&''&$!$,*       #)'    "'%     !%#  !     #"  ! ""  "     !   #   !  $!       %"     &#      '%!     )&#       +(%!     -*&"   .*&!  .)#  )#                   !%''&$"   %+.//-+)&#!  $+/24431.+(%#!  '-14565530-*'%"   '-135667642/,)'$!   %*/1356677641.,)&$! !'*.03467787641.,)&#!  "&),/14678998640.,)&#! "%'+.03578::98631.,(&#!  !#&)-/2478;<;:8641.+(%"  !#&(,/147:<=>=;9741.*'#   !#%(,/258;=??><:740,($    "%(+/268;>@AA@><851-(#  "%(+/369<>ABBA?=:61-'   !$'+/369<>@BBA?<84/)"  #&)-147;=>?@?=94/(!  #'+.2579;<;960+%    !%(,.02321-)$   !#$&&$"           #    $    %%(7 ")-..,'!     $%%#                                             !!!"$9* (' %  .  . !"  - "#"! ,  !  ,  +  +  * +, ,  ,  ,  - -./14 68**++,,, .<<<<<<<;;987799@@Frame 6      u v  v% `<99 8 8 8 8 5 3 2  1  0    /   &   $  #   #  #  #  #                                     #  #   #   #   #    #    #    #    #    #    #   #   "   "    "  ! !  !   !                   #%$!        %+..,(!       !)0331.*$     |=_9 7  5#4$(# 4 &)$3 &)$ 2 '*$  1 (+%   0 (+&""$$/ ),'"#(+&. *,'#$)/.% - +,'#$*140$ - +,'#$)1670# " +-(##(06:8/! ! +-(##'.49;7,   +.(#"&+16;:3%    ,.)""(.3797. ## ,.( ',3662( $$  ,/'#+143-! $%  ,/' !)/20(%&  ,/& (.1-$ && ,/'  (.0) %&   ,/'  ).," %'   -0'  *-'%' !  .0' #+* %' "$! .0' &+%$' !&%! .0'   )(%(  %'% .0'  &)#&( #&($ .0&  ")%!'(  $'& /1' ('!#(( $& .0'  &'"#(( # .0'  $'##((   -0'  #'#$((  ,0' !&##'(  ,/&  $!!&'  ,/& # !%' ,.% !%& ,.% $&  ,-%   #&  +-%  #$  *-$ "$  *-$ "$  +.%  "$ /0'   "$&68- !$/?A4" !$ 7II;(    !# "=NM@-   !##>OOC1    #$?POD4$  #$?PPF7)  "$?PPF:-# !&?NNE;2*!  *?MLD<50*    !#%%$" !0BJIA;641)   '.24431.+(&#!#+7CHE?96772)   )29=??<962/,)'%(0;EGC=968;93&   &19@CDDC@<941.+)(*2>GHB=867;<:0!  *5=BDFFDB@;830-*)+3@IID=746:>=7*<::999953210 / % $ $ $ $ $ $                              #    #    #    #    #   #   #   #   #  #   #  #   #   #   #   "  "  "   "   "   "        %('$   $*--+(# 5:888888310/002;<|;99::;=:987 7 7 6 4 1 0 /  .  .   -  -   ,   ,  +  +  +   *                                                                                !##       $),-*'!      '-121/*$      &,1330+%     &,0231/*$   6 5 4 3 !$! 3 #'# 2 $'%1 $(%! / $)&"  . %)'##$" - &*'$$'($,'*(%&*-+$ '+(%&+01-$ '+(%&+054." *'+(%&*0585,! )'+)%%).4894*((,)$#&,16970% $(,(#!"'-2674+ $),'! &,1550&#),'#*021+! "),&!(.0.' "),& '-.+" ),& ',-'  ),&  '+)!  ),&   '*$   *,&  "('  *,&  $'"  *,&  &%    *-&  #&    +-&   %!  +-&  $! !   +-& "! $ ! *-&  !! #  !!! ),&  ! !!!!$! ),%    !!%&" ),%   "$'&!  )+$  !"!&(%  (+$    ###&&# (+$     ##"$$  '*$    #"  "  '*$  !!    '*%     (.+"       +57/"     -ID6+*/5:80#     %273*%"!*;GB5+).4:<8.   ! )6CHB81-*'%"(9DA5+),28;<7, !(0:EPSK@83/,)'$"(8CA5+(+058:93&  " %/7=FPXWOC;62/,)'$" !)8DA5)%',04796. " (3:@EMV]ZPE=851.+)&$"#*9DA4' $).3662'  " (3:@DIR]a\QG@;841.+(&$%,;EB4&%+143,!  " &08=BELWae^RHB>:730-*'%&-:630-+-5AKKF>6237;>;1%   (19>ACEGHHFD@<963/./7DMMH>5//38<:5+  #,38<@CEGHIIHFC@<96312:EOOH>3+),1675/&(.26;>ADFHJKJIFC@<9645=HQQI=/%!#*/331+!  "),048<@CFHJLLKIFC@=:88?KSQI:*%*/1.&   $),/36;>BEHKMNNLJHDA=;;BLTRH7%#+13/& $),.169=AEHLNQQPNLIEA>>EOUSF3""+3881& $)+.159=AFIMPSTSROLHEA@GPVQD2$ "(09?A>4& #(+.149=BFKNQTVVTROKGCCHPUPE9/,,//.04:AFG?3%  &*-049>CGKOSUWWVTPLGCBGOUUOF@==<<7559?EJFBFILNONLHA9215DXhmi_TLGEC=84227@FF>2'! &,16:>@BCCA=70)&+5H\joi_RGCB@<95104<951018AEA5*"  ".:I[inh]OD?>=<851/16?EA7+" &1:HYfkdWJB>==;952//5>DB8,#"&'%#! (19FVdhbSF?=<<;9620/5=DC9,#"),+)&#! '/7DTaf_PC=:;;964116=DC9-#").0.+'$" !*1>O\`ZL@;::;;:85236>EC:-$ "(.320,(&#  *6GTXSH>:9:;;96558?FC9-%%(.3530-)&$ $2BOSOF>:9:;<;:867:BFC9-(*.36641.+($  "0ANRNE=99:;<;:988=CFB80-/367641.+(& ->LQLE=889;;:979>DFA81135766420,)' ':INKC;668998768>DE@8323566530-+(2BHF>73234432114:62/,)'$"    (3;@CEGGEC@<851.+)&$"    (3:@DFGHHGEC?;841.+(&$" &08=BDFHIIGEB>:730-*'%#!  !+38=ADFGIJJIGDA>:730-*'%" &-27;?BEGIKLKJGDA>:730,)'$    (-15:=ADGIKMMLJHEB>:63/,(%   ")-048<@CFILNOONLIEB>:61.*% #),037;?CFJMOQRQOMJFB=840*% #),/26:?CGJNQSTTSPMIE@;60*"  !'+.26:?CHLOSUVVUSOLGB<5/'  %*.15:?DHLPSVWXVTQLHA;3+" !',059>CHLOSUWWVTPJD=5-#  "(.38=BFJNQSTTSOKE=5,$  !(.39=AEHJLMLJF?91*"  %*058:730-*'(/>HC6$ (.1-#  ! &-27;?DMZehbVMHDA>:730,))0>HD6% ).0) " !(-15:=CMZdgaWOJHEB>:63/,+1>GC5$ ).," ! #)-048:61.-1>EA3#   *-'! $),037;BMYbc^WRQOMJFB=840.2:630,)'$#"  (19>ACEGHHIGDA<963/,)&$#!  #,38<@CEGHIJIGD@<963/,)&$"  (.26;>ADFHJKJIGD@<962.+)&$!  "),048<@CFHJLLJFC@=961.+(%!  $),/36;>BEHKMNNLJHDA=941,)%  $),.169=AEHLNQQPNLIEA<83/+% $)+.159=AFIMPSTSROLHD@:50+#  #(+.149=BFKNQTVVTROKFA<60(  &*-049>CGKOSUWWVTPLGA;4+! "(,048=BGKORTVWVTPKE>6-# #).386,#  #)/49>BFILOONLHA91(    &,16:=ABDCA<60(!   #(,.1220-)$    !  #  $  %    % '7  !%&&$                                                              "!""#$:+ (&  ' / $''$  .$*--+(# - ")./.,(" -"(,,+)$  , #&'&$  , !  * +  ,  ,  ,  ,  -  - ./15 68**++,,, .<<<<<<<;;:87799@@Frame 5      ; S @_ o [  %_a;9 9 8 8  8  8 5 3  2   1    0    0  &    $    $   #   #  # # #                      # # # # #  #  #    #    #    #    #    #    #    " "  " "  !  !              !     &-00,%    '18;;83+"    +6>AA@<6/&   |=_9 7 5*/'4 15-#3 26.% 3 36.'"2 37/'%# 1 48/)()$ 0 480)+//$/ "691+,381!. $7:2,-5==0-$8:1+-6?D>- , $8:1+-5?FH>- " $7:1+,3=FKH=)  ! $8;3,,1:CJMH8#   %9;3,,07?FJKB0   &:;3*(,3:AFIG;'    &;<2' ")1:AEFA3 !" &;=2$#.8?CB;+ "" &;=2#*4<@>5$ "#&;=1" '46$ #$ &;=2"  (6=:,#$&;=1!  )6;3!#%';>2!   -88)$&! &<>2!   "180 $&!!'<>2!  )65'$&!#!'=?2    17- %&"$ (=?1  -60$"&' #"(=?2 '41'$&'!(=?2  "12)$'& &2!  -3+%&&  %;>2  +2+$&&  %;=1  *0(#%%  %:=0 (-&"$$ %9=0 '+"$$ %9;/  (("$  %9;/  *&!#  $8;0 #*"!  #7;/ %(   $79/ &%  $8;0  &!  &;>1  $   +@C6#  2HI;&     8NOA,      TTH6#   >STI9'  !=RSI;+  "=PRI;.$  &=NNE:/(#   $*-/0/-*&# $/?JJB80,)#  %2<988886420/ /  .  -  - , , , , ,  ,                                                                                        "#!       #&''$!     #&()(%"     #&'('$!  75  4 3  3  2  1  0  /  .   - ! !#"   ! "%&#   ! "&)(# * ! !&*+)# ) "  %),,(!( " "'+,+& ' " #(++("% "#'))% $  "!%'&! #  "  $%$"  " #$!   "  "#  "  !      "        "       "       "       !#      !#      !#      !#        "       "       "   !"   !   #"   !  "$"  !   ""   !    !    !       !         !     %%     "/61%      &8EB3#       '=LH9*      '>MJ:,#      '>NK;.'     &?NL1/33'    (@QM>317;5$     )ARM?32:A@3   (AQM>33:CG@/   ! &>PL=329BII?,    *-*"%316=FKMH8$   &-7AB<3,(%#!$:KJ=204;AHKJC0   %+06?GG@5.+(%#!&;LJ=1,06BA;*   %,047=FORLB:41/,)&$!)?OL=**5=@>4$ &<:9988852100//../0066                                           !"!    !##"    !""!   =======<;99995:889:;<<<<<<<<<.,,+# '4=ACB@=7/&     *4;?@@>:5.&    %/59;;961+$    &-1442/+&!    $(++*(&"    "##""!    "#$$"   #&(*++(%!   #'+/11.*%    %*/15540+%   %)-1331-("   "%(+--+&""%%&%%$   "#$#!(,.-+)'&"   !,11/,(&$!    #-21.*&$"     !+//+'#!   &*($!    "%#                                                          &% $  $  %  "#! $ #&&$! # #&(('%! ! #&''&$     #$$#!                         "  #%( )* %7ENSVXZZXSOJE@=977=DKKE=5-*.130'  "4AIOSVXZ\\ZVRMID@<::?GMMG?4+(*.1/*" -9AHMQUXZ\]^]YVQMID@=>BIONH?4)#&*--*% &3:?DJOSWZ\^__]YVQMIEBAELRPI>1%#()(&!  -59=BHMQVY\_aa^ZVRNIFEIPTRI<, #$%#!/58<@FJOTX\_bdda_[XSNJIMSWTI8%"&($  $058;?DIOSX\adghfda]XSNLPUXSF2!#*-,'  $/47:>CINSY^bfjkjhfa\WSPRWXRB0#"(/452+   -36:>CIOTZ_dhlmmlie`ZUSTWWNB5+)*,,*)-279:4*  (169=CHOUZ`eiloonkga[VRRTUPH@;9971./15:<:2( !-48=BHNUZ`eiloonkf`YSNNRWWRLGCA@<50/.27;;6-$  $-5;AFMSY^bfjllkhbZQIEIRZ\ZTMGDC?61../38;91'   "-5=CIOTY]acfec]SJ@;62.,,06:93*"  (18@FKOSVWVSNF=4/09ET_b^VL@<;852/,+.39:4,# &-39;=@?=83-&#%-8FT_b^WK>97652/,*,0785-$  "$%&&$"%/:GS^b]TH<77652/,*+/595.% )2:ER\`ZLA:76652/,**.497/%"#"  *2:CPZ]WH<7655430-++/4870&$'&$" )17ANW[TD:5445420.,+/4870&$)+(&#! "*1;HRUOB8434432/--05970'$*--+'$"  &0732355421//16:80'! $*./.+(%" !,8BEB<532455421138:80'$%).00/,(&$!  )6@DA;522355421259:7/)(*.11/,)&$"'5?C@;521344543235:;70,,.0011/-+(%# "1??><:741.+'$!   #&(,/258;=?@A@?=:740-)%!   #%(+.258;>@BCCB@=:73/*&!  "%(+.259:50*#  $(,0368;<=<:62-&!  "&),/13431/+&!   "%&('&$"             #,6;=;83,$  ,48984/(  %-11-("   "&(&$                              "$$#!  $&'%"!  %&&#    "#"                                   779(&&  %  .  - !"! , !##! , !"!  ,  +  *  )  *+  ,  +  +  +  ,-.03 799"r;8778:9:<    #$%$!                                !    "    "    "   !                                         "  !     &-0/+% %'18;;83+" !+6>AA@<6/&  '4=ACB@=7/& " *4;?@@>:5.& ! %/59;;961+$  &-1442/+&!  $(++*(&"   "##""!   "#$$"  #&(*++(%!  #'+/11.*%   %*/15540+%  %)-1331-("  "%(+--+&"  "$$#!      $   %'((+ - !(,037>IRTND;641.,)&$! *>OM=*&4IRUOE=9641.,(&#!!+?PM=* '4==6$  $'*.15>IRUOF?;9741.+(%##+?PL=) (5=9+  $&),04=IRTNF@><:741.+'$$,?OL<'  )6;2   #&(,/4=HPQKEB@?=:740-)%$,>MK:'  -87(  #%(+.5=FLKHECCB@=:73/*&$*;JI:'   "180 "%(+/5>DGFDDCB?<84/*%!'8HH9'  )64%  !$'*/7=BBCDEEC@<84.(!#5GG9&   16+  #&*/6;>?@BCEEDB?;60*# 5GG9&  ,6.  $(-37:<=?ABBA>:50)#4GG9% &4/   $).2469;<=<:72,'!2FG9% "10    !%),/1332/+&!1EE7$  /0!    "%&''&%" 0DD5"  -0"     .BB4   +0"      .@@2*.       ->?1 (+     ,==0 '(   *<<0  (&  ':950) $058;?DIOSX\adghfda]XSMFA<60& $/47:>CINSY^bfjkjhfa\WQJD=6-"  -36:>CIOTZ_dhlmmlie`ZSMD=3&  (169=CHOUZ`eiloonkga[TLC8+ !-48=BHNUZ`eiloonkf`YPF;-   $-5;AFMSY^bfjllkgaZPE8,   "-5=CIOTY^adeeb\SI>3(    (18@FKOSVWVTNF=2)" &-38;>@@=93-&    "$%'&$" !  "  #  $   %  &7;e                                                           " ! ! ! #$5& ( &  ' $&&" / )033/)   ! $/7;;83-$-,6;=;83,$, ,48984/( ,%-11-("   "&(&$     "   *   ,  ,  +  +  +  , ,-. /24 6Z**+,,,, .<<<<<<<;;:87799@@Frame 4      A A3 S AO VZ m `<9 9 8 8 8  8  4  3   2    1 0   0    &  $   $   $ $## #!"#! $! &# '$ (% )& *' *' )& #'$ #&# #%" ##! #! #! # # # #  #   #   #  #  "  "  "   "  "  !           %)("   $08=<7.$  !0=EIIF?5+    $6ENQQOJC:.#  |=_9 7!% 5 7;1$ 4 $?B6+4 &@C8.% 3 'AD8/*#2 'BE:0., 1 'BE:115. 0 (CF;24;;. / *DF<46?E>).,FG<57BLL=#-.HH<57BNUO9 ,-FI<56AMXYN7 #,FI=55?KV][L3  !,GI>55316?HPW[YK1   /IK>0')3>HOVWR?&  /JL>-!+8ENSRI5   /IL?+$4BKOMB,   /JL>* !0AKMI:!   .IL>* 1BKLC,  ! .JL>*  1BLI6  /KM>(  3DJ?(!" 0KM?( "8GF4!" 0LM?(  (?G='"#/LM>(  3EB0"$1LN?'   (?E8$#$1MN>&   7D<*!$$3NO?&   0B>.$$ 1MO?'  *??/$$ 0LM?'   &'   8?1$#" .JL=%  5<0#!!  .IL<%  29,!! .IK<%  25( ! .IK;%   32#   .HJ;%  &5.  ,GJ;%  ,5* !,EI;%  /4$ !,EI;$   10 !-FI<%   1* !/IK<&  %/!  !2LN@(  ('   6QRD,   '   :UWH/    KLD8+$!  .>KRVURNID@<85459@FE@6*%$"     .BR^dfc`[UOIEA=;:VUD8581     ?WVE97=>0    "@XVF::CH@+      $CZVF;;EON>$      $BZVF;;EQWP:      !AYVE;:DPZZN6     $   >WUF:9BNW^[L3    !*-)"=VUF:9?JT\_YG+   ")13.&  =UUG:8>GPX]]S<    #)0671)# "?WUF949AJQX[YJ1    "%(.5:81)$" #@XVF5*+5@HPVWQ?%   "%(,2:=92*&#!$AXWF2!",9ENRQI5    $').6=?;3,'%#!$AYXG0%3BLOMB+ e<:999844210////007666                                              ==<==<;:99:A:999:<<<<<<< /- , , #!1ALQSROJD:0%   $4AINOOLHB9/%   !-:BGIIGB<5,$     $/8=??>;5/(#   $,15541.+%"   "')++)('%#"    "$&')++*'#   #'+.2552.)#   !%+05:<><94-'     "(.4:?BB@;5.'    !'.38<;7-)'%$&*--(!  $2=GOW]cfklkhbVK?75:AJRURMD611/,)'%$%),,)" %.7@FILOOKE>5.*(/7AKSUSMD4/.-,*'$#$(+,)#   $*+-..+'%! "(0:AKRTRJA2/.-+)'$##&*,*$ "+2:AIQSN>5/--,+)'%##&),*$ $+38?GORL91.,,+*'%##&)-+%!! "+16=FLOK80,++,+*)&%$&*,+&#$"   $+07@GIF6.+**++)'&%(+-,&#%%#!   '08:91-**+,+*)('),-,&#&'&$! "+3641,**,+*()*-/,& #&(('$"   "*2540,**+,,+*)*,./+&!!#&()('%#!  )143/,))*++*,..+'$$%(()('%#! &/21-*('))*))((+-,*'&&''(('&$"  !*/.+'%$%%&%%$&)+,*(&%&&''(''%#!#((%  #'*+)&%%'('%#!   &))'%$$%''))'&$"  %''$#"#$%'')**)'%$   #%$"!"#$%'')**)'&$  "!  "$%&'())('$!   !#$%&''%#   !!                              "##!     #%'('&%"    "%')**)(&$"    "%(**++*)(&#!   $'(*++,++)'%#!  !$&(*+,,+)'%#!  !#&()+,--,+)'%#!   "%')*,-..-+)'%#! "$&(*,.//.-+*(%#   !#&(*,.0110/.,*'%"  !#%(*-/12210.+)&#   #%(+-/1331/-*'#    #%(+.01344320.*&"    "%(+-/133432.,($   !$'*,.01210/+($  !$&)*,--,+(%!  !#%&&%#                  %'8DIKIE?6+    )8AEGEA;2'  #/8<><82+! "+010-'!   "!               !                                                7889)(' 0  .  -  -  ,  ,  +  + + ++,  , + ,--02 5 :s;899:;::        "   #   $!  %"  '$  ($  )&   *'   +(   +(   +' )&'$&#  $! !                              !  # %#  " %('"   $/8<;7.$ &!0=EIIF?5+  !$6ENQQOJC:.# !1ALQSROJD:0% " $4AINOOLHB9/% !!-:BGIIGB<5,$  $/8=??>;5/(#  $,15541.+%"  "')++)('%#"   "$&')++*'#  #'+.2552.)#  !%+05:<><94-'  "(.4:?BB@;5.'  !'.38:520/.,*'%"&BYWE-  "8GF2  !#(.6:9732210.+)&# %@WVD-  (?G<$   #)/46544331/-*'#">VVD-  3EB-   #)/2212344320-*&" ;TUD+  (?D5  #(-//0133431/,($;TTC*  8D:!   "&*,,.0110.+($;UUC+  0B<$   "%'(*,--+(%! 9TTD* *?<&    !#%&&%#  8RSB*  %;=(     6QSA)  !9>*    6PQ?'   7<+          4NN=&   5;(      3MM=%  28$   2KM<$  23  0JK<%   30  /HJ;%  %5-   -GJ;%  ,5'  +EI;%  /4"  +EH:$   00  ,EH:$   1) +DG9$  $.!  +CF9$  (' )CF9$   %  )BE9%    (AE:' !  (AD:'  !  (@D9(   (?C9(   '?B8'   &JSVURNID@<83/+')--)    .BR^dfd`[UOIEA<852.+*(% &:852/+% .EV`gjmoppnkga[TOJEA<9652-' +APZafjmopqqnke_YSOID?;8640*  "9GQY_eiloqssrnid^YTOID?<962,! 0@HNT[bfjnqtuurnic_YTNID@;83-#  #8BFKQX^dimptwxwrnje`YTNHC?93+ );BEINV\bflpty{zxtpkf`YRLGA;3' -5-'!  $)+,/.+'%! ! " # $  % '7                                             "  # " # # 5 5' ( &  '$,00*! / &3<@?;3( ! ,;EIIE?7,  -'8DIKIE?6+  , )8AEGEA;2' ,#/8<><82+!! "+010-'!    "! "  *    ,  ,  +  ! +  ,  -  "  -.0 236Z + +67789/==<:9999:@@Frame 3       '  C { "  :: 9  9  9  8  4 3 2  2! 1" $0$  "& /% #"&&!  $'" $)$ $*%$+&$,'$.) /*1,2,5.6/7192 :3;392$71$5/$3.#1,#.*#-(#+& #)%#&" #$  #"  #   #  #  #  "  "  "  # # #      $/53,#  +?IVepws]2  " 8_]J>?IS^jrulM!    ;a^J=;DNXbkppb;   Y_S.   " 6_]J-  dcR5 ,, ?deS9 , @edT;   @edT=   @ecT?!  ?ccT?"  =``S>#   $&%"=YYN<#   #3?GMPNHD>93,()@QQH9#  4Ncmqnib[UPLFB@><@FHB6#   7Tly|uog`YSOJGEECBBA?6$    +Miyztlc]XRNJHHIHD@=6'    7Zr}yqib[UPLJKMLIC>4%   : : : : : : 65 4 3  2 1   0   /    &   '  %  %  % % $! $! #  &! &" ($*%+&,&$+&$)%$($$&!$%!$# $! $! $ $ %  %  $  $ % % $ $ $  $ $ #  #      %!,9?>6) 0CNSQKA2$  :OZ][WOE7' u:99;:9921/01;;;:;;<>&<:988874210//.--../66             " "$ % "&   % #! &!     (#    )$    )%   *&854 4 3  2  2  1  0  .  -        +  *  )  )   (       %    $    $                                                                                                                                    #:;/     5[\F3     ;a^I7*    =b_J:2"     =daJ:60    =ebL<:<*     =fcM>=F>"      >fcM>@LO;      AgcNABQZS0     FidNADQacO'      GjdOBDRcmgF!       DieOACQapseB       AhdOABM]luud?      AgePBBKXfqws]2   !" BidPBBKT`krukM!    $$  EjeP@>FPZckpob;    #'&! GkfP<-2BPYbjlhS,   !')'!FkgQ:!&5GY`ef^B    $)+(!HlhR8*?T^baU6 <;;;;94321000018888777 7 7 7  7 8 4 3 2                                       ===>==;:99:D;999<===<>J<9:9#)AS_efda\SH;.!  .BR[`bb^XQF:-"  '8HSXZYXRJA7+"   ,:FLOOLHB91)#     ,75+#  &,28>BEDA<3,#  !&+/26752.&   !$'('&"                                                                       "9)''  * (  '  &  %  #  "  !                !     " $%&) ,.2  :[ny~~vnf`YTQMMOMHA3   5Wfox~{tlf`ZUQPQQPKE5    *LYcltzysmf`ZVTTURME7#   ?RX^fow~ytmf`\YYWUOE9'    +JRUZbksyztmgc_]\WOC0   7LPSX^how}|umgeb_YP>%    *#""#  )BLPU\cluwpfYK4.,,+ 7HOU\bku~ti]V>:7521//  !:IRZbjt}~paWKC@?<85332  7HT]goytbUJ;>BCB>:7654  -AO[enu{|mYI<66:@DFC?;#"!  ,9CQ[]^dc[SH<1,+/4;@EFD@;#!!    (11053-*(%$&*07<@EFDA="!!      !!&-27;?DEC'$"!   !&-259>BDB&#     %+/38=@BB$!  (.15;?AA#   #&$#   #%$"     "$#!   !##!    ""                                                                      !!    !""!   !!""!   !""!     !                  '2HV]][VNC7'   6GRWXUPI>1$  ,;FKMJF?5) *5<<71(  !'*)&!           !%%#  !&()(%    $&&%                                    !"!99;;* )20  .  .  -  -  -  ,  --,-,---/02 6';99:<::   ,(  /*  /*   1,   3-  5/  70  82  93 ;4  ;4 :3 8160 3/1, /*  -( +& )%&"$  !                  ! "  $ & $  # #.42," ! *5+"  &,28>BEDA<3,"  !&+/26752.&   !$''&"    &     '   (  )    *  ,;=   %+,("ElhR8#:S^`]L$    %+-)#EliR8 X_R.   %)*&" GmhQ3   %F^\@   $''$"!! FmhQ6  .R^N)   #$#"!""! CkhP4  @ZX7 !! !!""!CjhQ2  .SZD   !""!  DkhP2   HZM&     FmiP1  hfO2  )LS3     =fdM/  "GS4     81)!0AA8)  4Nbmpnib[UPLFA<601682&   7Skz|uog`YSOJFB=8321/%  +Miyztlc]XRMHEA=830-& 7Zr}yqib[UPKGCA=83.% :[ny~~vnf`YSOIFB@=71$ 5Wfox~{tlf`YSMHEB?;5&   *LYcltzzsmf`XSMHEA=7* ?RX^fow~ytmf_XRMHD?8-  +JRUZbksyztmf_XQLF?7& 7LPSX^how}|tlc]VOIA1 1$ - ,;FKMJF?5) !*5<<71(  !'*)&! "  +   ,  , !%%# , !&()(%  +  $&&%  ,  #  "  ,..233V766779;<9999;@@Frame 2      ~  T   '3 =a; : :  9 9  9! 8" 4$  3%   2%!  2'" ##1)$"+$0+% ). /-&*)/.' $ &0) &1+ %2-%3-%4/%71%82%:4=5?8 @9!C;"D=#F>#F>$"E=$ B:$ ?9$>7$;4$82$60$3-$1,$.)$+&$($$&"$$!$"$ $ $  $  $   $ $     *8?>5*   3HV^[RD6& /J_kooh]O>.   6Ukw{xtocUD4% |<`;  75<0 6/^bL9! 6 5eeO>05 7ffP@9& 4 7hgP@>64 9ihRCBE03 9jiSEFQI& 1 :jjTFIX\E 0 >mkUHK]kb9.DolVIM_rv].-FqmVJM`szU'-BpnVJL]ryO'%@pnWJKZmwK $@poXJKWfyo< #CroYKKWcq~\' !FtpYIGR^iuuF   GuqZD3:M^ku}|c4  Gur[A$,?UisyzqP" Gur[>1Kcpttf@ Eur[>)Fcprp[+ Dvs[?'Hfrrk@Evs[>*IgspR%Gwt[< (Jjrc7 Hyu\: ,UpnM" Hzu\< 8bp^3 Fyv[;  "LmiE! Gyw\8  8cmS+ J{w[7 &Vm]5 L|x\7  Jja< J|w]9 =ca> Fzv\: 6_cBExv\;  1[dFDwu[8  *VdFCvsZ7 &SaCDurY5 %P[=DsrX5 %PT4"CsqX6  +SO*"BrpX6 :XJ!"AqpX6 HX> " ?ooW6   KU3  !@nnW5   &NN(  !ComW4   0SC  !BnmX5  :P3  !AnmW7 FA  !AnmZ8  )D'   !Bom[; 34   Ann\> 5#   Bnm[@    Bnm[A     Bmm[B    Bkk[B   @hgXA    #+.,($>__S=   *>LU]`]VQKD<2,*AUUL9   !>^v}umf`[TNKD?BHLD6   !Ae|rkd^YSQMIECBA5   3\}wohb\WTROKEA>6$  Bl❗}tmf`[WTSPLE?5 : : : : : : 6 5  4   3    2    1   /    /  /  /  %! &# &$! &%" %(#%($%*& %-' %.) %1+ %2-%3-%4.%3.%1,%0+ &/( %,'$*%$($$("$%"$# %  % $ $  %  %  %   % %  % %  '  '     %,(  #5DKJ@1"  9P^caZM=+  &E^lomg_RB/  v;::=<;942112;==;<;><;;;;;54311000188888899 8 8 8 8  8! 8# 4$  3$  2%! 2(" ##  )$"+$+% ). -'*(-' $ /) 1+     2-  3-;864432210/    -  , + +  *  " (('                                         <@3"  5cfP;"   lkSB:'  >mlSB?7 @nmUEDE1 @onVFFQI&  @poWGIZ]E  CrpXJM^ka:  JuqYKO`sv].  KwqZLOatzT(   HvrZLN^sxO&   FvrZLM[nwK     Fus[LMYgyo<   Hws\LMXcr['   Jxt\JGR^jutF     Lyu]F4:N^ju}|c4    Kyv^C%-?UiryzqO"   Mzv^@1Ldptsf@  &===443;;;;;;;9999999999:;;;8 8 9 9 9 9 6 5  4   3    2                " " @===<:;=D<;:< <;<%1McryzxsndVF7( "7ObmrutqjaTE6)   /DVcilkhbYNA3)"  #4ES[^^[VOD:1*%"     &5AHMNLHC=61-*&"    (18<>=<:97421.*$  !',0368:=>>=92,$  #(-27=CHLONKD<3+#  ")/7?GNVZ\[UMD9.$  "*2:DMV\cc`YOD:-$ (1:DLT[_`\UJ?3)"  %-5=DJORQNG>4*  "'-39=@A?=7.%  %(+/00.)$                         !=UM52.,+ *  ) '&&%%%$$'),.1 6Em{rke_YWUTPKC3 ?gzzrkd^ZXWSNH5  2[kv{rke_[YVQH9!  Kbhp{{slea]YSI<)  3Xbflu{tlgc[SH4A[`diq|yrle^UA& GZ_bhoywqj_Q5   GX^bfox}ul^G) @V\bfoxüviT<&  1O[`fnvq]I,%##"!! BV_fnuvbU5-*(&%$#  'EWblt~ýp^H91/-*(&&   $AVeo|taR96432/,*))     6M_mykWF;54452/-   "5DQ`mopxvmcVG<30/2355630/   #0::?>620-++-/3466420     "$%%&'*-0235653     !"#$%)-/124564       !#%&+-/12344    !#(+,/1233                                                      #!                                              !  "$& (,=Vfoomf]PA/  %@Ubghf`WJ:+ % 4FSZ\YTK?1# !"2?GIHC:0$  (/21.'       "$" ( "',--*% ! "(-010,%  !&+..,&!  "$"!                 &     !"#&;"=k520/////0111111245<::==> 5/718395<5 ?8!A9!D;"D="E> "E> "E=   C: @9 =7:473503-11,#-)#+& #'$ #%" $#!  "!  "   !  !  "   #  $4 & $  # *8>=5) ! 2GV][RD6& '/J_jooh]O>.  ! 6Ukw{xtocUD4%  1McryzxsndVF7( ""7ObmrutqjaTE6)  " /DVcilkhbYNA3)" #4ES[^^[VOD:1*%"   &5AHMNLHC=61-*&"  (18<>=<:97421.*$ !',0368:=>>=92,$ #(-27=CHLONKD<3+"  ")/7?GNVZ\[UMD9.$  "*2:DMV\cc`YOD:-#  (1:DLT[_`\UJ?3)   %-5=DJORQNG>4)   "'-39=@A?<7-%   %'+//-)$    %     '     (    )      *    ,;=    Jyv^A)Ecpro[+    Jzw^A&Gfrrj@     Jzw^@)HfrpQ%      L{x^=(Jjrb7    L|x^;,TpnL!   L}x]=8bp]1    I{y];  "LlhC   J{y]:  8clQ%   M|y]9  %Vl[-    Oz]9   Ii_1  K}y^9  =b_4    G{x\:   6^b9  Fyw\:  1[d>Fxv\8 )Uc> Ewt[6 &S`;  FusZ5 %OZ5 EssY5 %OS* DsrX6  +RN" CspX6 9WH AqpX6 GX<  ?noW6   KT1 @mnV5   &NN%  AmmV4   /RB AllV4  9O2   >jkU5  E@  =iiV6   )C&   =hhV7  34  ]u}tmf`[SMH@9:@D=-  !Ad|rkd^YSOJC>;:9-  3\}wohb\VRNJD>96. Bl睗}tmf`ZUPMID>7, Em{rkd^WSOLHC;+ ?gzzrkc\VROKF?-   2[kv{rjc[VRNJA2  Kbhp{{rjb[VQKB6#  3Xbflu{rha[SKA. A[`diq|wof^WM:" GZ_bhoy}skcWI/ GX^bfoxyodV>"@V\bfoxü|oaI+1O[`fnv|hO2BV_fnupS4# 'EWblt~ýiM2% $AVeo|r[@.%! 6M_mykVB5,&"   "5DP`lopwvmdVG;2-)&$"!  "099?=620-+)('&%#" "  "$%%&'&%#" $ !"#$%%$#"!$  !"##$##"! %  ""!!  & 6 8 #!%"'#($*& -' -) 0+!1-"2-#4. 3.21,2/+2.(2,'2*%2'$2'"2$" -" ,  3  3  +  3  3  4  - - 55 6 6 ) '%,( &"5DKJ@1"0 9O]caZM=+  !&E^lomg_RB/  !=Vfoomf]PA/ - %@Ubghf`WJ:+ - 4FSZ\YTK?1# !"2?GIHC:0$  (/21.' "   +  , "$" , "',--*% , "(-010,% + !&+..,&! , "$"! #  "  , ..233V:889::n<99;@@Frame 1      U U  U g k tV~; : 9" 8# 8% 8&"5($4*% 3+&  2,' ! 1/) ** 00+ (3+/3, 17&/5. %20.6/ $+#%81 &:3  &;5  &<6&>8%A:&!B<&"D>%#G?%%JB%&LC%'OF %(PH %)RI %)RI %(QH %&NE %&KC %#HA &"E> % A<%?9%=6%:4(61(3.)/+&,(&*'&'$'$!'! (  (  '  '  &#  ! !    2BJH?1# #,  z:>9 7?F9&5 7nsZC' 4 ?ww^I84 Axx_LC-3 Azz_LI@2 C{{aONQ9/ C||bQR_U--D}}cRUhmQ" -H~dUYn}rC ,PeV[pm7 +RfW[qc/ *NfWZn].$LgWYjY%$LhXYgyG $OiXYftl/%RiUS`n|S"$TjP  $SkM+#4Jd|^(  $TlJ$#:YuxL  $QkJ"!1Rtk3 $PkJ#.Tx}L $QkI!1Uy`,$SkF0X}sA$TlD4cZ'$TlGBsn<$RkE(Z{Q%$SlB Bta1$WkA -el=$ZlA  V|qD$VmB  HsqG$RlD @otL$QlE :kvO$PkB  1duP$Oj@  .bqL$Pi?  ,^kE$Ph?  ,^b;$Oh@  3a\/ $Nh@ DgV% $Lh@  ThH %Kg@  &Yc< %Lf?  .\\/ %Mf> 8aN  %Me> D^< %I}~d?  RL"  %H||e@  1O. %H{{eA => %Gy{eD  ?)  %GyyeF  $ %GxxdG    %GwwdG   EtucF  Cqq`D " )3640+$AggY@  2HYcmpnf_XPF:0+D[[P: 'Jnxqkb[ULDELPH6 'Mv~voib]WOIFEC5 =m{smfa\WPID@7   Nxqjd_[VPIA4 : ::: : : 5  4   2    2    0    1 /!  /" .$   .%" %(#&)%&*'&,(%/*%0+%2.%5/&61&93%;5%<6%>7%=7%:4&83%70%4/%2-%/+(/))+(()%)&$)%")# )  + ' '   (   (  ( (1 $  !   -40%  )?QYWL;( &D^ntrj[H3  .RozpaN8$ B; : 9" 8# 8% 8&"5($4*% 3+&  2,' ! 1/) ** 00+ (3+/3, 17&/5. %20.6/ $+#%81 &:3  &;5  &<6:>I=:>:>I:59 7?F9&5 7nsZC' 4 ?ww^I84 Axx_LC-3 Azz_LI@2 C{{aONQ9/ C||bQR_U--D}}cRUhmQ" -H~dUYn}rC PeV[pm7 +RfW[qc/ *NfWZn].$LgWYjY%$LhXYgyG $OiXYftl/%RiUS`n|S"$TjP  $SkM+#4Jd|^(  $TlJ$#:YuxL   g: ::: : : 5  4   2    2    0    1 /!  /" .$   .%" %(#&)% ;[uvfSA0$ (A]s}rcR@1&  $8Pet|~{si\M=1)$  *>Rbkooke]QE:2-)%!   .?MU[\ZUOH@:62.)%  $0:BGIHGECA><:72+% '/49=@BEHJJIHD<4+# $*051&  #)/6=CHLMKGA6-$ !&,/38861+$ "  "$%#  #   $  %  &   '    (89 9 8? !R~vogb]ZUOF3 Kz~umfa]YSK6 SbjmicYK:* )8%A:&!B<&"D>%#G?%%JB%&LC%'OF %(PH %)RI %)RI %(QH %&NE %&KC %#HA &"E> & A<&?9%=6%:4+61)3.)/+&,(&*'&'$'$!'! (  (  '  '  &#  ! !    2BJH?1# #,   ;[uvfSA0$ (A]s}rcR@1&  $8Pet|~{si\M=1)$  *>Rbkooke]QE:2-)%!   .?MU[\ZUOH@:62.)%  $0:BGIHGECA><:72+% '/49=@BEHJJIHD<4+# $*051&  #)/6=CHLMKGA6-$ !&,/38861+$    "$%#  #   $  %  &   '    (89$QkJ"!1Rtk3 $PkJ#.Tx}L $QkI!1Uy`,$SkF0X}sA$TlD4cZ'$TlGBsn:$RkE(Z{O$$SlB Bt`-$WkA -el6$ZlA  V|p;$VmB  Hsp>$RlD @osD$QlE :kvI$PkB  1duJ$Oj@  .bqF$Pi?  ,^j?$Ph?  ,^b2$Oh@  3a\) $Nh@ DgU" $Lh@  ThG %Kg@  &Yc; %Lf?  .\\- %Mf> 8aN  %Me> D^< %I}~d?  RL"  %H||e@  1O. %H{{eA => %Gy{eD  ?)  %GyyeF  $ %GxxdG    %GwwdG   EtucF  Cqq`D " )3640+$AggY@  2HYcmpnf_XPF:0+D[[P: 'Jnxqkb[ULDELPH6  'Mv~voib]WOIFEC5 =m{smfa\WPID@7   Nxqjd_[VPIA4  !R~vogb]ZUOF3 Kz~umfa]YSK6 *! /Rgsð|[<,$ +Mfw̺kL7-'#! "@[p~eN?4.)&$!   )?Q_queTF<61.+)'%#!   !)9DDJH@<95310/.,*(&$#"! #&)+-,-../.,*)&$#  #%')*+,--,+*('%#  "$&')**+**('&&# !"$%&&((''&%&$ 4 5 %*'&,(%/*%0+%2.%5/&61%93%;5%<6%>7%=7%:4&83&70%4/%2-%/+0/)++(,)%)&$)%")# *  + ' '   (   (  ( (1 $  !   -40%  )?QYWL;( &D^ntrj[H3  .RozpaN8$  %Hfyyn_M8#,Ldsz{xqgXE3  $>SbjmicYK:* )&6 %>@'6 'AB(6 (CD*6 )DF+6*GH,6,IK.6,JK.6,JL.6+HJ.6 *FH,6 (CE*6 &@C)6 %=?'6 #;=% 6 "8:$ 6 67" 6 35 6 02 6./ 6+, 6() 6&'6#$48 6$8;, 4EejT4 3 -_pN/24i{^B'24jfQ; 14ij^O403hle`L*02hmjneD/ /gnmwzb9/ *coo}~X+0 %[nnzK!0!Tnl}q@0Omjyf0M}lht0M~len0Oi_eu0Q~aQTau0 R{X?:EYr0 SzQ.!%7Sr0 SxL&1Tv0RxK# 4\0QxK" <0QxJ!  0RwH  0SwH 0SxH 5RxG5 SxG5!VxF5!VxF5 UxG5SxG5QwG5PvF5PuE5OuE5OtE5NsE5M~rD5L|rD5K{qD5L{pC5LzpC5KyoC5JwnC5HunCu<9 8 8  8  8  7  6  33 1 1 1 1 1 0! 0!# 0#$0$&0&'1(( 0)* 0+, 6,- 6./ 601 6 23 6 45 6 67" 6 !78# 6 !79# 6 68" 6 45! 6 24 6 12 6.0 6,. 6+, 6)* 6'(6%&6#%6!"6 77487775770/////0:;<:99999:;==98  833 "3 "# 3#% 0$' /!&(   . ')   -)+  ! ,  +-  '+"+ ,. %0/!* ,0 ,3+ *,0 "--")*0   %!*&,   - '   ,   , -  /  .  /  4  4  4 4  4  5 4  4  *  * !" 4 '%5!-(5(2**-5,(07,$8 6!(%4 %BPI6 15^rgN3 0 =lw]C)0?p}eO8 /8@p~iYI1.Z-@qkaYF(.yI!Armgh]@ -e7Dtnkss\7,|P,'JynmzvT,,왉gC7S~nm|tK&+둍xZJ]nk{pE" *ꇊn^inivlA )x{oumgqd7)`z|ldk|T) (?awi]aop@' ;Xn}`MLXlZ/' 3Qn{W;29LbxoF! &4Y{wP-*?Wp{]6' FnuO) 4Pj}nK' '7cwV/ /Miyw^7'-Y}|a</MiviH" & 'SykG 1PimU0& #OwpM$  4Uh`@%"MtsQ(  =\dO+& KttR' (KaZ9&JrpK#:ZaE! %JskC-QcO+% Kth? #GaU2$!MvjB>\X7$ #OwpL#8YY;$ 'SytQ( 3W\A$,Y}rO& 1U^E#0^nF.T_F #6bj@.S\C$4VY=$ Dlj>C`X7# &Imj>/XlY2#,Jjj>Aiv[/"E98  4  4  4  4   1 /  .   -   ,  +  +*  *  *  - ,- , / . / 6 6 6 6  6  5  5  4  *  *  5  5 " 5&  6#)! (%*! $=<<<<<<==<<:988882777789999999;;-++*)"1 !7777  ,  (   &   $ $-342,#  ".>LW[XN@1%   .CYlzxgS?-"  6Rmx`I4& !8VuhO:*! 1KjhQ<-$  &7OlycN;-%   &2G`z~mYG8-&!  "($ ")8Ldvwk\M?4-(# );>4(  +;M]gllgaWMC:3/+'" &ASRC1$ ".;GOSTRNID@<851-("">[h`L8( '09>CEFFDB=70(  8YrvhR<," #+18<@EIMRUWUQKC9.%!4SqzhR=.$!(/54-($ "'.6>ELSXZYSKA6-),7ET]^ZSJB:51,( "'-38=ADDA=6.'$%,6AIMMKGDA>;950 !$(*,,+*(% #*2:?BDEGHJJIFB; !(/6;AFLQVZ\[VOF   &.4   5Lcx|tkaULHTbfU8  5Uw}tkaZY\ZL3(JrȻ|tld]YSF1 3Y´yqjbZQD0 8cȺzsmf^TE1 5bͿ{snhaWI7(!!"! 'Uµ|smhbZPHFJOPMHBAoŸvnhb\Y_o~{tk *Wɼypjc_ey6e}skefu8gȽvnjsķ3`ƻ{tv˼ +UwĶ~ "Hlʼķ8]y̽Ǻ&Hg~Ǹ˾.Kf{ʺø,E]q#7K]mzʾ %2>JT[`acb`ft &*,,-++6Ol  4Vs! >]vѾ(%@[rɵ("9Qfxi) ,>O^kw}n\G3+&0;DKOPQOH>2%, !!  /277 7  8  8  +( %  $ #/9=:/! " (;N]gf[J5 ! 5Qj}r\C* 7Zy{cI. +Mqw`F- 1St~lV>'*GcwxjYD/    2HYdgd\P@.(% +9CFD>3& 2>7% #'&" 1IPD-    +H\[I0   $B[e[F-   #&()&" 9SbaQ;%   %*-.-)# 0GX[P?+  $(++($ $7FLE9(   ".43+           !   %)++($0  &*-.-)#+ "%((%!+  ,  -/3p877779#:8888  16+& 04)& -1(' *.'(',%($)# *"&# +$!!+! #!+##+ "#- !#5 !#1"1  1  1 1  1  1  1  1  1  0  0$  1*$  13+" 2;1& 3@4' 5=/# 62% 7! 8 9;~-Dbj>Ls|]. "(:Y~i>"Pv}]- ".Q{i> $SvzX* " #Lyi> &TtqM#$ Hwi> 'Oh_;%FukA'DO@$ &EtoI )73!'DrtS) '* (CqxZ. )Cpy]1 )Boy]2 *Any]2 )@kv[1 0@f{{sY0 0;2*$*DbqrmV/ 0bWLA?K\fhfS. 0{qf\UUY\^`P- 0}uld]YVW[N- 0yrld\VVYL+ 0ztmg`ZYYH' 0|tnhc]\YE$ 0}tnhc^\[J) 0񗌁woic]\^P10񛐅zqjc]\^P00񡖉~ulc]ZR>! 0򩜏xmbYP?&1򱤖zl\M;&1󹫛xdM7"2mS73uW9 4sU85gJ0 6O8# 7" 9 ;> %)  & $( & #& ' #(") + , + + + - 55 5 6 6 7 88 8 8 880 1 1 25 8 8 9:;))))+++, .<<<<<<<<<;;:997777789v@@Three     q,-gU--2rD<^~B   \  l <;9 8$ 8& 8( 8)"5+$4-% 3.& 2.' " 10) *+ 02+ (4- /5, 17'/!7. %21 |;=8: \9; 8: 8: ^8:  *97&PVF05 Kvt[E14 V~w^J>"4 Yx_ME83 Yz_MJG&2 [{aPOTF/[|bRS`]>-\}cSVio^' -_~dUYn~xW ,deV[pyG +efW[qu? *cfWZnp:$bgWYjk3$bhXYgy\  `;: 9 9 9884 3  2   1  0  0!  /#   _便:˶766554332110չ/; : 9" 8# 8% 8&"5($4*% 3+&  2,' ! /) ** 00+ (3+/3, 17&/5. %20.6/ $+#%81 &:3  &;5  &<6&>8%A:&!B<&"D>%#G?%%JB%&LC%'OF %(PH %)RI %)RI %(QH %&NE %&KC %#HA &"E> & A<&?9%=6%:4+61)3.)/+&,(&*'&'$'$!'! (  (  '  '  &#  ! !    2BJH?1# #,   ;[uvfSA0$ (A]s}rcR@1&  9 7?F9&5 7nsZC' 4 ?ww^I84 Axx_LC-3 Azz_LI@2 C{{aONQ9/ C||bQR_U--D}}cRUhmQ" -H~dUYn}rC PeV[pm7 RfW[qc/ NfWZn].LgWYjY%$LhXYgyG $OiXYftl/%RiUS`n|S"$TjP  $SkM+#4Jd|^(  $TlJ$#:YuxL  $QkJ"!1Rtk3 $PkJ#.Tx}L $QkI!1Uy`,$SkF0X}sA$TlD4cZ'$TlGBsn:$RkE(Z{O$$SlB Bt`-$WkA -el6$ZlA  V|p;$VmB  Hsp>$RlD @osD$QlE :kvI$PkB  1duJ$Oj@  .bqF$Pi?  ,^j?$Ph?  ,^b2$Oh@  3a\) $Nh@ DgU" $Lh@  ThG %Kg@  &Yc; %Lf?  .\\- %Mf> 8aN  %Me> D^< %I}~d?  RL"  %H||e@  1O. %H{{eA => %Gy{eD  ?)  %GyyeF  $ %GxxdG    %GwwdG   EtucF  Cqq`D " )3640+$AggY@  2HYcmpnf_XPF:0+D[[P: 'Jnxqkb[ULDELPH6 'Mv~voib]WOIFEC5 =m{smfa\WPID@7   Nxqjd_[VPIA4  !R~vogb]ZUOF3 Kz~umfa]YSK6 %: ::: : : 5  4   2    2    0    1 /!  /" .$   .%" %(#&)%&*'&,(%/*%0+%2.%5/&61%93%;5%<6%>7%=7%:4&83&70%4/%2-%/+0/)++(,)%)&$)%")# *  + ' '   (   (  ( (1 $  !   -40%  )?QYWL;( &D^ntrj[H3  .RozpaN8$  %Hfyyn_M8#,Ldsz{xqgXE3 @ #8/ $+$%#:1  &$<3   &#=5  &$>6&&@8%'C:&*E< &,G> %-J? %/MB %1OC %2RF "3SH! %3TI! %4UI! %3TH! %1QE %1NC %.KA &+H> &)D< &(B9 %'?6 %$<4  )"81 )5. )1+ &.(&,'&)$'&!'# ' ' & & & #  !%)'"   *=JOJ@2$ #G[iolaQ@.  8Wr~{n]J7&   @d~udQ>,   ;[uvfSA0$ (A]s}rcR@1&  $8Pet|~{si\M=1)$  *>Rbkooke]QE:2-)%!  .?MU[\ZUOH@:62.)%   $0:BGIHGECA><:72+% '/49=@BEHJJIHD<4+# $*052(!  #)/6=CHLMKHB80)# "',04899851,& " !%()+*)( #         &   '    eiXYft}7%hiWXdo|j*$ijVOYgtP  $gkUA+Ebrq,  $glS6%Sm|b$ $dkS3! %agH Jf[*  %`fH UdK %^~eI  $_Z1  %]|fJ  C^A %]{fL NO %[~{fN+  )R9  %[}yeO-  .8 %[}xdP0  %[|wdP0  YyucO/  Vuq`L- " '3?GD?8-#SjgYH* $8`ow{xskd\TMC;9N][PB( 3axqkc\VNGGMPH=' 'M~voib]WOIFEC;( =m{smfa\WPID@;,   Nxqjd_[VPIB;)  !R~vogb]ZUOG< Kz~umfa]YSL@ 6%&@7%&?7%&=4&%;3&"90% 6/%4-%1+01))-( )+%)($)&")$ )" *  & &  ' ' ' ' 1  $ !     &281&  1DSZXL;( &D`otrj[H3  .RozpaN8$  %Hfyyn_M8#,Ldsz{xqgXE3  $>SbjmicYK:* )Rbkooke]QE:2-)%!   .?MU[\ZUOH@:62.)%  $0:BGIHGECA><:72+% '/49=@BEHJJIHD<4+# $*051&  #)/6=CHLMKGA6-$ !&,/38861+$ "  "$%#  #   $  %  &   '    (89FI\ I\I\7 *! /Rgsð|[<,$ +Mfw̺kL7-'#! "@[p~eN?4.)&$!   )?Q_queTF<61.+)'%#! ! !)9DDJH@<95310/.,*(&$#"! #&)+-,-../.,*)&$#  #%')*+,--,+*('%#  "$&')**+**('&&# !"$%&&((''&%&$ 4 5  # >8: , 0 Z >8 >87  $>SbjmicYK:* )6&&@8%'C:&*E< &,G> %-J? %/MB %1OC %2RF %3SH! %3TI! %4UI! %3TH! %1QE %1NC %.KA &+H> &)D< &(B9 %'?6 %$<4  )"81 )5. )1+ &.(&,'&)$'&!'# ' ' & & & #  !%)'"   *=JOJ@2$ #G[iolaQ@.  8Wr~{n]J7&  @d~udQ>,  z:>97&PVF05 Kvt[E14 V~w^J>"4 Yx_ME83 Yz_MJG&2 [{aPOTF/[|bRS`]>-\}cSVio^' -_~dUYn~xW ,deV[pyG +efW[qu? *cfWZnp:$bgWYjk3$bhXYgy\ $eiXYft}7%hiWXdo|j*$ijVOYgtP  $gkUA+Ebrq,  $glS6%Sm|b$ $dkS3! %agH Jf[*  %`fH UdK %^~eI  $_Z1  %]|fJ  C^A %]{fL NO %[~{fN+  )R9  %[}yeO-  .8 %[}xdP0  %[|wdP0  YyucO/  Vuq`L- " '3?GD?8-#SjgYH* $8`ow{xskd\TMC;9N][PB( 3axqkc\VNGGMPH=' 'M~voib]WOIFEC;( =m{smfa\WPID@;,  Nxqjd_[VPIB;) a;: 9 9 9884 3  2   1  0  0!  /#  /$  .&   -'" %)# &*%&,'&.(%1*%2+& 4.&!7/ &#91 &%<3%&=5%%>6%&@7%&?7%&=4&%;3&"90% 6/%4-%1+01))-( )+%)($)&")$ )" *  & &  ' ' ' ' 1  $ !     &281&  1DSZXL;( &D`otrj[H3  .RozpaN8$ `便:˶766554332110չ/..--,+++*))ݩ)(((((ޮ(߬(( ( ( ((((()ݰ))ڳ)ٸ*+ĸ+,...,(&&&;B; : 9" 8# 8% 8&"5($4*% 3+&  2,' ! 1/) ** 00+ (3+/3, 17&/5. %20.6/ $+#%81 &:3  &;5  &<6:>I=:>:>I:59 7?F9&5 7nsZC' 4 ?ww^I84 Axx_LC-3 Azz_LI@2 C{{aONQ9/ C||bQR_U--D}}cRUhmQ" -H~dUYn}rC PeV[pm7 +RfW[qc/ *NfWZn].$LgWYjY%$LhXYgyG $OiXYftl/%RiUS`n|S"$TjP  $SkM+#4Jd|^(  $TlJ$#:YuxL   g: ::: : : 5  4   2    2    0    1 /!  /" .$   .%" %(#&)%@ ;[uvfSA0$ (A]s}rcR@1&  $8Pet|~{si\M=1)$  *>Rbkooke]QE:2-)%!  .?MU[\ZUOH@:62.)%   $0:BGIHGECA><:72+% '/49=@BEHJJIHD<4+# $*052(!  #)/6=CHLMKHB80)# "',04899851,& " !%()+*)( #   $  %  &   '    (89 9 8? !R~vogb]ZUOG< Kz~umfa]YSL@ SbjmicYK:* )8%A:&!B<&"D>%#G?%%JB%&LC%'OF %(PH %)RI %)RI %(QH %&NE %&KC %#HA &"E> & A<&?9%=6%:4+61)3.)/+&,(&*'&'$'$!'! (  (  '  '  &#  ! !    2BJH?1# #,   ;[uvfSA0$ (A]s}rcR@1&  $8Pet|~{si\M=1)$  *>Rbkooke]QE:2-)%!   .?MU[\ZUOH@:62.)%  $0:BGIHGECA><:72+% '/49=@BEHJJIHD<4+# $*051&  #)/6=CHLMKGA6-$ !&,/38861+$    "$%#  #   $  %  &   '    (89$QkJ"!1Rtk3 $PkJ#.Tx}L $QkI!1Uy`,$SkF0X}sA$TlD4cZ'$TlGBsn:$RkE(Z{O$$SlB Bt`-$WkA -el6$ZlA  V|p;$VmB  Hsp>$RlD @osD$QlE :kvI$PkB  1duJ$Oj@  .bqF$Pi?  ,^j?$Ph?  ,^b2$Oh@  3a\) $Nh@ DgU" $Lh@  ThG %Kg@  &Yc; %Lf?  .\\- %Mf> 8aN  %Me> D^< %I}~d?  RL"  %H||e@  1O. %H{{eA => %Gy{eD  ?)  %GyyeF  $ %GxxdG    %GwwdG   EtucF  Cqq`D " )3640+$AggY@  2HYcmpnf_XPF:0+D[[P: 'Jnxqkb[ULDELPH6  'Mv~voib]WOIFEC5 =m{smfa\WPID@7   Nxqjd_[VPIA4  !R~vogb]ZUOF3 Kz~umfa]YSK6 *! /Rgsð|[<,$ +Mfw̺kL7-'#! "@[p~eN?4.)&$!  )?Q_queTF<61.+)'%#!    !)9DDJH@<95310/.,*(&$#"! #&)+-,-../.,*)&$#  #%')*+,--,+*('%#  "$&')**+**('&&# !"$%&&((''&%&$ 4 5 %*'&,(%/*%0+%2.%5/&61%93%;5%<6%>7%=7%:4&83&70%4/%2-%/+0/)++(,)%)&$)%")# *  + ' '   (   (  ( (1 $  !   -40%  )?QYWL;( &D^ntrj[H3  .RozpaN8$  %Hfyyn_M8#,Ldsz{xqgXE3  $>SbjmicYK:* )&6 %>@'6 'AB(6 (CD*6 )DF+6*GH,6,IK.6,JK.6,JL.6+HJ.6 *FH,6 (CE*6 &@C)6 %=?'6 #;=% 6 "8:$ 6 67" 6 35 6 02 6./ 6+, 6() 6&'6#$48 6$8;, 4EejT4 3 -_pN/24i{^B'24jfQ; 14ij^O403hle`L*02hmjneD/ /gnmwzb9/ *coo}~X+0 %[nnzK!0!Tnl}q@0Omjyf0M}lht0M~len0Oi_eu0Q~aQTau0 R{X?:EYr0 SzQ.!%7Sr0 SxL&1Tv0RxK# 4\0QxK" <0QxJ!  0RwH  0SwH 0SxH 5RxG5 SxG5!VxF5!VxF5 UxG5SxG5QwG5PvF5PuE5OuE5OtE5NsE5M~rD5L|rD5K{qD5L{pC5LzpC5KyoC5JwnC5HunCu<9 8 8  8  8  7  6  33 1 1 1 1 1 0! 0!# 0#$0$&0&'1(( 0)* 0+, 6,- 6./ 601 6 23 6 45 6 67" 6 !78# 6 !79# 6 68" 6 45! 6 24 6 12 6.0 6,. 6+, 6)* 6'(6%&6#%6!"6 77487775770/////0:;<:99999:;==98  833 "3 "# 3#% 0$' /!&(   . ')   -)+  ! ,  +-  '+"+ ,. %0/!* ,0 ,3+ *,0 "--")*0   %!*&,   - '   ,   , -  /  .  /  4  4  4 4  4  5 4  4  *  * !" 4 '%5!-(5(2**-5,(07,$8 6!(%4 %BPI6 15^rgN3 0 =lw]C)0?p}eO8 /8@p~iYI1.Z-@qkaYF(.yI!Armgh]@ -e7Dtnkss\7,|P,'JynmzvT,,왉gC7S~nm|tK&+둍xZJ]nk{pE" *ꇊn^inivlA )x{oumgqd7)`z|ldk|T) (?awi]aop@' ;Xn}`MLXlZ/' 3Qn{W;29LbxoF! &4Y{wP-*?Wp{]6' FnuO) 4Pj}nK' '7cwV/ /Miyw^7'-Y}|a</MiviH" & 'SykG 1PimU0& #OwpM$  4Uh`@%"MtsQ(  =\dO+& KttR' (KaZ9&JrpK#:ZaE! %JskC-QcO+% Kth? #GaU2$!MvjB>\X7$ #OwpL#8YY;$ 'SytQ( 3W\A$,Y}rO& 1U^E#0^nF.T_F #6bj@.S\C$4VY=$ Dlj>C`X7# &Imj>/XlY2#,Jjj>Aiv[/"E98  4  4  4  4   1 /  .   -   ,  +  +*  *  *  - ,- , / . / 6 6 6 6  6  5  5  4  *  *  5  5 " 5&  6#)! (%*! $=<<<<<<==<<:988882777789999999;;-++*)"1 !7777  ,  (   &   $ $-342,#  ".>LW[XN@1%   .CYlzxgS?-"  6Rmx`I4& !8VuhO:*! 1KjhQ<-$  &7OlycN;-%   &2G`z~mYG8-&!  "($ ")8Ldvwk\M?4-(# );>4(  +;M]gllgaWMC:3/+'" &ASRC1$ ".;GOSTRNID@<851-("">[h`L8( '09>CEFFDB=70(  8YrvhR<," #+18<@EIMRUWUQKC9.%!4SqzhR=.$!(/54-($ "'.6>ELSXZYSKA6-),7ET]^ZSJB:51,( "'-38=ADDA=6.'$%,6AIMMKGDA>;950 !$(*,,+*(% #*2:?BDEGHJJIFB; !(/6;AFLQVZ\[VOF   &.4   5Lcx|tkaULHTbfU8  5Uw}tkaZY\ZL3(JrȻ|tld]YSF1 3Y´yqjbZQD0 8cȺzsmf^TE1 5bͿ{snhaWI7(!!"! 'Uµ|smhbZPHFJOPMHBAoŸvnhb\Y_o~{tk *Wɼypjc_ey6e}skefu8gȽvnjsķ3`ƻ{tv˼ +UwĶ~ "Hlʼķ8]y̽Ǻ&Hg~Ǹ˾.Kf{ʺø,E]q#7K]mzʾ %2>JT[`acb`ft &*,,-++6Ol  4Vs! >]vѾ(%@[rɵ("9Qfxi) ,>O^kw}n\G3+&0;DKOPQOH>2%, !!  /277 7  8  8  +( %  $ #/9=:/! " (;N]gf[J5 ! 5Qj}r\C* 7Zy{cI. +Mqw`F- 1St~lV>'*GcwxjYD/    2HYdgd\P@.(% +9CFD>3& 2>7% #'&" 1IPD-    +H\[I0   $B[e[F-   #&()&" 9SbaQ;%   %*-.-)# 0GX[P?+  $(++($ $7FLE9(   ".43+           !   %)++($0  &*-.-)#+ "%((%!+  ,  -/3p877779#:8888  16+& 04)& -1(' *.'(',%($)# *"&# +$!!+! #!+##+ "#- !#5 !#1"1  1  1 1  1  1  1  1  1  0  0$  1*$  13+" 2;1& 3@4' 5=/# 62% 7! 8 9;~-Dbj>Ls|]. "(:Y~i>"Pv}]- ".Q{i> $SvzX* " #Lyi> &TtqM#$ Hwi> 'Oh_;%FukA'DO@$ &EtoI )73!'DrtS) '* (CqxZ. )Cpy]1 )Boy]2 *Any]2 )@kv[1 0@f{{sY0 0;2*$*DbqrmV/ 0bWLA?K\fhfS. 0{qf\UUY\^`P- 0}uld]YVW[N- 0yrld\VVYL+ 0ztmg`ZYYH' 0|tnhc]\YE$ 0}tnhc^\[J) 0񗌁woic]\^P10񛐅zqjc]\^P00񡖉~ulc]ZR>! 0򩜏xmbYP?&1򱤖zl\M;&1󹫛xdM7"2mS73uW9 4sU85gJ0 6O8# 7" 9 ;> %)  & $( & #& ' #(") + , + + + - 55 5 6 6 7 88 8 8 880 1 1 25 8 8 9:;))))+++, .<<<<<<<<<;;:997777789v@@auralquiz-v1.0.0/src/images/logo.xcf0000664000175000017500000053750213105040436015525 0ustar janjangimp xcf fileCBCB'gimp-image-grid(style solid) (fgcolor (color-rgba 0.000000 0.000000 0.000000 1.000000)) (bgcolor (color-rgba 1.000000 1.000000 1.000000 1.000000)) (xspacing 10.000000) (yspacing 10.000000) (spacing-unit inches) (xoffset 0.000000) (yoffset 0.000000) (offset-unit inches) lIfWU8version     Zgimp-text-layer>(text "v0.9") (font "Liberation Sans Bold") (font-size 28.000000) (font-size-unit pixels) (hinting yes) (autohint yes) (antialias yes) (language "en-us") (base-direction ltr) (color (color-rgb 1.000000 1.000000 1.000000)) (justify left) (box-mode fixed) (box-width 56.000000) (box-height 31.000000) (box-unit pixels) 88dG֫HP渊  $N} M  zRREfxwa C@]EE i Y W7-  HM 3Js魼   N>i P&;\!!< FH}x/OVy}R 1sAE Nzna!vh.>Ϡ6pӡiSversion shadow     &Zgimp-text-layer>(text "v0.9") (font "Liberation Sans Bold") (font-size 28.000000) (font-size-unit pixels) (hinting yes) (autohint yes) (antialias yes) (language "en-us") (base-direction ltr) (color (color-rgb 0.991373 1.000000 0.956863)) (justify left) (box-mode fixed) (box-width 56.000000) (box-height 31.000000) (box-unit pixels)    ) 9 I Y i y E7                = &   7E7  ;<<======= &   7E7                                                                                                                                                                                 7      !1>FJF>1!  %3?HKJE8, .HbvvbH. 5OgynZ?& 3U|zU1 C>. #5AE?AT}̩vA (TƠk: 5UpzqY8&FewzpjyŔZ*7m۾P% %KyZ1!Am̭իn7Cȣѣg1(Wʭ|H,3\ʶ޽|߼CKྎnvݵy>&UƖ_>Hv־ڰ}e}ƌM Kᾎnt†H JԪtT]չשqWq̔R# FʤʏO! %.Y\  Et­Y. 0RwvP0:gjA3Abd?!(JkvW5  ,Fats_E*&FgzzgH*%8Tk}yhP7&8HOM?.  !0"' Y" b" o%;dePCaba nd ]^ HyZ[  1 / / // / // / /  / // /  // // /  // // /  // // / // / // / / / /  / / /  / / /  / / /  / /  / /  / /  // /  // /  // /  // /  // /  // /  / / /  / / /  / / /  / / /  / / /  / / /  / / /  / / /  / //  / /  / ///  / ///  // /  // /  //|| | || | | || | | || | | || | | || | | || ||| ||| | || | || | || | || | | | | | | | ||| | || | || | || | || | || | || | || | || | || | || | || | || | || | || | | | || | || | || | || | |$^t{h@X8XX X 3JX eX VcX %X 0 X ܑ2X k X 4 X [ "X   X ZX X X &X | tX lVX aX XZ X 9h X x X F X  X  X w X  X  X l X  X O X S X  X n F X  K X /. /. /. /. /. /. /. /. /. /. /. /. /. / / / / / / / /  / /  / /  / /  / /  / / /  / / /  / / / / / / / /  / / / / / / / / / / / / / / / / / / / / / /  / / /  / / /  / / /  / / /  / / /  / / /  / / / / / // / // / / / / /  // / /  // /  / / / | .| .| .| .| .| .| .| .| .| .| .| .| .| | | || || | | | | | | | | | | || | || | || | || | | | | | | | | | | || || || || || || | | | | | | | | | | | | | | | | | | | | | | || | ||| ||| || || | | | | || | | | | X- X- X- X- X- X- X- X- X- X- X- X- X- XF_rzzjYF X Tݠ> X Q X  X  X  X e X Ճ[O^  X  j X  X \ X !B) X  F X R X X X X X iX X X X X X X X X X W) X X 0 X X 9 X X X X } SX X e X X ] X X pv \ X ' k X   X  U  X |S`˯c X 0ոp X i@  X   X wd  X :/9//*/&/"/!/#/%/'/)// // / / / / / / // / // / // / // / // / // / // / // / // / // / // / // / // / // / // / // / // / //:|9||*|&|"||!|#|%|'|)| || || | | | | | || | || | || | || | || | || | || | || | || | || | || | || | || | || | || | || | || | |:9+bб_')H@% od!ZL ."; ,," W/-U  LO X q x D?Hj@LY? 1LX#W08Qrtbd]]ml}{/ / / / /8/) /4 /4 /4 /4 /4 /4 / /  /  / /  /  / /  /  / /  /  / /  /  / /  /  / /  /  / /  /  / /  /  / /  /  / /  /  / /  /  / /  /  / /  /  / /  /  / /  /  / /  /  / /  /  / | || |8|)| 4| 4| 4| 4| 4| 4|  | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | WW >8;`v}r`( X3 X3 X3 X3 X3 X3 F X X X X X X X X X X X X X X X X X X X X XX X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X / /  / / / //;/ /'/'/'/'/'/'/3 /2 /2 /2 /2 /2 /2 /1 /2 /2 /2 /.| | | | | |;| |'|'|'|'|'|'|3| 2| 2| 2| 2| 2| 2| 1| 2| 2| 2| .|$ X G X,6:. '''''' 2Kk1"1  1-1ka191 0'1X1U1)- / / /  / / / / /  | | | | | | | |=  X \kP X Xk{sc< 4dw~va@  / // / // / // / // / // / // / // / // / / // / // / /(/ /'/ /%/ / #//  // // ///,/3 /3 /3 /3 /2/1/(/)/*/+/,/-///1 /| | || | || | || | || | || | || | || | || | || | || | ||( ||' ||% | |#| | | || ||||,|3| 3| 3| 3| 2|1|(|)|*|+|,|-|/|1| |vmH\M;" {q_#4J m& n7 #   "{ W  ɇ[=11=Y a" +    H ^ K c. 9 a+Ls2K282n2pS1 0 |\NJTi'' @(J@)@*@+z@,A @.Pܪ"09]s}zsdK. /  /  / /  /  / /  /  / /  /  / /  /  / /  /  / /  /  / /  /  /  /  /  / /  /  / /  /  / / /  ///  /$/  ////  ////  // /  // /  // /  // / / /// s | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | || | |$ | || | || | || | || | || | || | | || s|X X X X X X X Z X Y h X b x X o  X   X   X` w X1C X X nl X  XL 碑O X X XF X K X $ X>G X;`v}r`6 r /2 /2 /2 /1 /2 /3 /4 /4 /5/6/7/7/8/%/%/%/%/%/%/ | 2| 2| 2| 1| 2| 3| 4| 4| 5|6|7|7|8|%|%|%|%|%|%| | !1N1w1B01G2 334>5y667%%%%%%  $ $| $ $}]>. AuralBlur     egimp-text-layerI(text " Aural\nQuiz") (font "Liberation Sans Bold") (font-size 72.000000) (font-size-unit pixels) (hinting yes) (autohint yes) (antialias yes) (language "en-us") (base-direction ltr) (color (color-rgb 0.000000 0.000000 0.000000)) (justify left) (box-mode fixed) (box-width 236.000000) (box-height 164.000000) (box-unit pixels) KLLdLQMT%X\ht-~<L ?==<=;; ; : : : 9  2 - (   &  "  ""%%"    %*057::750*%  %-5?FKOTTROKD<5-%  (3?KT`fmqssqmf^TI?3(  *7FTdq}zqbTF7*  (7I[m~}mYF7(  %5F[qýnYF3%   0BWnʾmWB-    (:Of~fN7%    0D^ww[D0    %:OjκhN7%     -B[wƮwYB-    "5KhѺfK5"   ""   *<6~Ķ6<>VB@{´@BVee{}ee즅ʾǰȺ{ĵ}ͻνƚǶ̿ƾɶŁƸƿIѓצ̿I ΀ƶ SΩߙɼS ڌ̺̿ ւ {΃{Ʉ٩ʿ׳ЅŻېǿ欇Ľؘtu¿ҟn徠nǺ== ..'dԪd0JzzJ  )$,,  Ϻ  ۱jiprjk %Ǝix̨xj%9ˆjx׀іl9."պϟkܓlϺ".б~yy~ɱΨop«ͦmnno¬  ̵pݜrʴ  ѼڌϽ ʠz|ѐ oҴpwύwqλs摑Ɏpoȭr{h}rstuy]wxO:­}Ⰶ4#ǪΨ+Ų߼y5P+·^촢Nùe髈Gv[Dķ١`d^ķ^d`=;5~Ķ5;=UA?{´?AUdd{~dd즄ʾǯȺ{ĵ}ͺμŚǶ̿ŽɵŁƸžHГצ̿H ΀ƶ SͩߙɼS ٌ̿˺ Ղ {΃{Ʉ٩ʿ׳ЅŻ񐏚ǿ欇Ľؘtu¿ҟn徠nǺ== ..'dԪd0JzzJ6.UssU.0A ֒A)$''  KK " $ & (* Q,Q * . 101.+2+2 2 Q4Q446B6Bi6i666666p6pM6M!6!4 4 d4d2 2 I2I.T0T . 7*7 z,z *'('7$7?$?;";--FFhh !bb!$8 8(*EqqE*.   Clock blur      5p|Ё 0@P` #,ާ  ƻ% :ù .ÿĿϿþ̺½  ¾ ½Ǻξ¿tƾ߽Żᶹɾ⯫ǽঘľߜzso{}ľÚ^RK]cr}ý{cVP`eq|»{uq{{ݜº২¼⇲ݹ㫸¿EúⰼŹ¿NʿʿpȾ¼Ǿ ſƾ½񺻽 ýɿ ʾ ɻXžìX~ų~. Ŵ. pȼp Ul ɲlU>'4KbzֿzbK4 $Vix*ɲ3L`p}*«(CWhv(ӻ7M_m(ʳ )ATcz(5IYp$Ͷ &;Md|&|.AXo$̵o3Jax վxa #:Qh"ŮhQ*AXo ̵oXA/F]tѺt]F/ 1I`wԼw`I1 2JaxսxaJ2 1H_wӼw_H1 -D[rϸr[D-&=TkȱkT=&1H_v Ӽv_H1 7Ne| «|eN7  5LczzcL5 %:QiŮiQ:%! $4DVgxxgVD4$ (  ==<; ::Ǎ99t889٫777766־6Ƚ6666}|osz6skd^KR^6tlf`PVc6~{{qu777788þE89¾N9ü:ſ:¶p:<~==<; ::99t889٫777766վ6ƻ6666~zxjov6qiaZGNZ6rkd^MSa6}zyns778788F89N9:þ:p:<~==<; ::99t889٫777766վ6Ż6666}ywinu6phaYFMY6rjc]LR`6|yxmr~778788E89¿N9:ý;p:<~==%<6;F/:U=&:aJ29nV?(9w`I28kT=%8t]E.8{dM57kT=&7qZC+7u^G06zbK46}fO8 6iR:# 6kT<%6lT=&6lT=&6kT=%6iR;$ 6~gP8! 6{cL56v_H16r[D-6mV>'7}fO7 7v_G07mV?(7zcL58pYB+8dM69XA*9J3::# :*;<>@@ Clock blur 2      EaW=WI.V]VmV}VVVVVVVVW WW-  ,   ¾%:.þ̾ڵ ¾ t          䰶 맩 䠚 ̖zvwy| Ϛn_WY[`flrx} ̅j_Y[]bgmrx~ rtruwy| ԑ ͜ ذ ٳ Ξ Eڴݸ Nḹ份黼h켽󏮻sM¿_.g S~(Qq$&:KXbjptwy{|}}||{zxxww ,  %:.!˻ ݾÿ t          䮲 ꢣ ݟ Еwrtux} Кk\TUX]ciou{ υh\VX[`ekqw} prpstwz~ ԏ ͛ ͇ Σ ޴F޶N꺻캻h컼 򏮺セ񗲽sM_.f S~(Qp$&:KXbjptwy{|}}||{zxxww ,  ÿ%9."˽ʹ ո¾ t          鳱 餣 䓖 Е~vqstx| Йj[STW\bhou{ φh\UWZ_djpv| pqortvz} Ԏ ף ͇ ٱ ќEҢN廼麻h컼 󏮺セ񗲼~sM_.g S~ (Qp$&:KXbjptwy{|}}||{zxxww " #*19@HOU[`eilopqrr %+19@HOW^fmu| ")06DJOW^fmu| #*18?FLQV[cjry  '/6>DKQV\aemt| $+3;BIPV[afjov~ &.6>FMTZ_ejnsw~ !(08AIPW]chmrvz~")1:CKRY_ekpuy} "*2;CLT[agmrw| !)2:CLT\binty}  )1:CLU]djpu{ '09BLU]dkqw| %.7@JS\ckqw|$,5?HR[cjqw} !)2;EOXaipw| '09CLV`hpv} $-6?IS]fnu| !*2;EOYbksz  '/8AKU_hpx "+3GQ[enw~ %/8AJS]gqy &1:CLU_ir{ '1;CMV`js{ '1;CMV`js{ '1:CLU_ir{ %/9AJT^hqy #-6?HQ[eow   *3GQ[env}  (09BLV`iry  #+4=FPZdlt{&.7AJT^gov} !)2;DNXajqx~ #+4=GQZckrx~ %.7@JT]elsy~ '09BLU^elsy~ !)2;DNW_fmsx} "+3ELSX^chmqx #*2:AHNTY^chow~  &-56/'  ûxpiaZRKC<4-% |umf^WOH@91*# ļyqjb[SLD=5.& }unf_WPHA92*# ļyqjb[SLD=5.& |umf^WOH@91*" »wphaYRJC;4,% Žzrkc\TME>6/'  |umf^WOH@91*" º~woh`YQJB;3,$ ûxpiaZRKC<4-% Ľyrjc[TLE=6.'   ƾ{sld]UNF?70(!  ƿ{tle]VNG?80)"  |umf^WOH@91*"  |umf^WOH@91*#  |umf^WOH@91*#  |umf^WOH@91*"  ǿ|tme^VOG@81)"  ƾ{sld]UNF?70(!  Žzrkc\TME>6/'   üxqibZSKD<5-& »wphaYRJC;4,% }unf_WPHA92*# žzskd\UMF>7/(! üxqibZSKD<5-& }unf_WPHA92*# Žzrkc\TME>6/'  ~vog`XQIB:3+$ Žzrkc\TME>6/'  ~vog`XQIB:3+$ ļyqjb[SLD=5.&  ƿ{tle]VNG?80)" }vng_XPIA:2+$ ûxpiaZRKC<4-% üxqibZSKD<5-& ļyqjb[SLD=5.& üxqibZSKD<5-& º~woh`YQJB;3,% |umf^WOH@91*# »xqibZSKD<5-& zskd\UMF>7/(! ߨyrjc[TLE=6/'  ~}{yvrnic\UNG?80)" !76531/,($  $ @@ Background     XX$*6Xpnqiv1?#-XGm0e.                                                                                                                                                                                 !"#%&')*+,./02345789::; "'-38>CINTY_djpu{ #(.39>DIOTZ`ekpv{ #(.39?DJOUZ`ekpv| #).49?DJOUZ`fkqv| #).49?DJOU[`fkqv| #).49?DJOU[`fkqv| #).49?DJOU[`fkqv| #).49?DJOU[`fkqv| #).49?DJOU[`fkqv| #).49?DJOU[`fkqv| #).49?DJOU[`fkqv| #).49?DJOU[`fkqv| #).49?DJOU[`fkqv| #).49?DJOU[`fkqv| #).49?DJOU[`fkqv| #).49?DJOU[`fkqv| #).49?DJOU[`fkqv| #).49?DJOU[`fkqv| #).49?DJOU[`fkqv| #).49?DJOU[`fkqv| #).49?DJOU[`fkqv| #).49?DJOU[`fkqv| #).49?DJOU[`fkqv| #).49?DJOU[`fkqv| #).49?DJOU[`fkqv| #).49?DJOU[`fkqv| #).49?DJOU[`fkqv| #).49?DJOU[`fkqv| #).49?DJOU[`fkqv| #).49?DJOU[`fkqv| #).49?DJOU[`fkqv| #).49?DJOU[`fkqv| #).49?DJOU[`fkqv| #).49?DJOU[`fkqv| #).49?DJOU[`fkqv| #).49?DJOU[`fkqv| #).49?DJOU[`fkqv| #).49?DJOU[`fkqv|?  ! 4!!$ !  2 "    1     .0     ,  ? "4"!0 3 "!  ! 0 2 !  /  /    + $ ? "4"!0 3 "!  ! 0 2 !   /  /       + $ ???; ?: &+ 3348%  *, 34 "*.7 +, 25 &+/ 2  ?+ 159 &/ 3<48 ") 0 4   (- . "'(    ?+ 159 &/ 3<48 ") 0 4   (- . "'(    ???; t 3                                                        t 3                                                           t 3                                                           1 . .;<:94"3#383?3B3D 3E 3E 3E 3E 3E 3E 3E 3E 3E 3E 3E 3E 3E 3E 3E 3E 3E 3E 3E 3E 3E 3E 3E 3E 3E 3E 3E 3E 3E 3E 3E 3E 3E                                                                                                                                                                                                                                                     #).49?DJOU[`fkqv| #).49?DJOU[`fkqv| #).49?DJOU[`fkqv| #).49?DJOU[`fkqv| #).49?DJOU[`fkqv| #).49?DJOU[`fkqv| #).49?DJOU[`fkqv| #).49?DJOU[`fkqv| #).49?DJOU[`fkqv| #).49?DJOU[`fkqv| #).49?DJOU[`fkqv| #).49?DJOU[`fkqv| #).49?DJOU[`fkqv| #).49?DJOU[`fkqv| #).49?DJOU[`fkqv| #).49?DJOU[`fkqv| #).49?DJOU[`fkqv| #).49?DJOU[`fkqv| #).49?DJOU[`fkqv| #).49?DJOU[`fkqv| #).49?DJOU[`fkqv| #).49?DJOU[`fkqv| #).49?DJOU[`fkqv| #).49?DJOU[`fkqv| #).49?DJOU[`fkqv| #).49?DJOU[`fkqv| #).49?DJOU[`fkqv| #).49?DJOU[`fkqv| #).49?DJOU[`fkqv| #).49?DJOU[`fkqv| #).49?DJOU[`fkqv| #).49?DJOU[`fkqv| #).49?DJOU[`fkqv| #).49?DJOU[`fkqv| #).49?DJOU[`fkqv| #).49?DJOU[`fkqv| #).49?DJOU[`fkqv| #).49?DJOU[`fkqv| #).49?DJOU[`fkqv| #).49?DJOU[`fkqv| #).49?DJOU[`fkqv| #).49?DJOU[`fkqv| #).49?DJOU[`fkqv| #).49?DJOU[`fkqv| #).49?DJOU[`fkqv| #).49?DJOU[`fkqv| #).49?DJOU[`fkqv| #).49?DJOU[`fkqv| #).49?DJOU[`fkqv| #).49?DJOU[`fkqv| #).49?DJOU[`fkqv| #).49?DJOU[`fkqv| #).49?DJOU[`fkqv| #).49?DJOU[`fkqv| #).49?DJOU[`fkqv| #).49?DJOU[`fkqv| #).49?DJOU[`fkqv| #).49?DJOU[`fkqv| #).49?DJOU[`fkqv| #).49?DJOU[`fkqv| #).49?DJOU[`fkqv| #).49?DJOU[`fkqv| #).49?DJOU[`fkqv| #).49?DJOU[`fkqv|+     &      $  ; -)4 ; ; :>       )       /  -& 4 ; ; :> "      .   *    -& 4 ; ; :>    &( ))                              (* *     %  !                     (* *     %                                                                                                                                                                                                                                                                                         3E 3E 3E 3E 3E 3E 3E 3E 3E 3E 3E 3E 3E 3E 3E 3E 3E 3E 3E 3E 3E 3E 3E 3E 3E 3E 3E 3E 3E 3E 3E 3E 3E 3E 3E 3E 3E 3E 3E 3E 3E 3E 3E 3E 3E 3E 3E 3E 3E 3E 3E 3E 3E 3E 3E 3E 3E 3E 3E 3E 3E 3E 3E 3E                                                                                                                                                                                                                                                                                                   #).49?DJOU[`fkqv| #).49?DJOU[`fkqv| #).49?DJOU[`fkqv| #).49?DJOU[`fkqv| #).49?DJOU[`fkqv| #).49?DJOU[`fkqv| #).49?DJOU[`fkqv| #).49?DJOU[`fkqv| #).49?DJOU[`fkqv| #).49?DJOU[`fkqv| #).49?DJOU[`fkqv| #).49?DJOU[`fkqv| #).49?DJOU[`fkqv| #).49?DJOU[`fkqv| #).49?DJOU[`fkqv| #).49?DJOU[`fkqv| #).49?DJOU[`fkqv| #).49?DJOU[`fkqv| #).49?DJOU[`fkqv| #).49?DJOU[`fkqv| #).49?DJOU[`fkqv| #).49?DJOU[`fkqv| #).49?DJOU[`fkqv| #).49?DJOU[`fkqv| #).49?DJOU[`fkqv| #).49?DJOU[`fkqv| #).49?DJOU[`fkqv| #).49?DJOU[`fkqv| #).49?DJOU[`fkqv| #).49?DJOU[`fkqv| #).49?DJOU[`fkqv| #).49?DJOU[`fkqv| #).49?DJOU[`fkqv| #).49?DJOU[`fkqv| #).49?DJOU[`fkqv| #).49?DJOU[`fkqv| #).49?DJOU[`fkqv| #).49?DJOU[`fkqv| #).49?DJOU[`fkqv| #).49?DJOU[`fkqv| #).49?DJOU[`fkqv| #).49?DJOU[`fkqv| #).49?DJOU[`fkqv| #).49?DJOU[`fkqv| #).49?DJOU[`fkqv| #).49?DJOU[`fkqv| #).49?DJOU[`fkqv| #).49?DJOU[`fkqv| #).49?DJOU[`fkqv| #).49?DJOU[`fkqv| #).49?DJOU[`fkqv| #).49?DJOU[`fkqv| #).49?DJOU[`fkqv| #).49?DJOU[`fkqv| #).49?DJOU[`fkqv| #).49?DJOU[`fkqv| #).49?DJOU[`fkqv| #).49?DJOU[`fkqv| #).49?DJOU[`fkqv| #).49?DJOU[`fkqv| #).49?DJOU[`fkqv| #).49?DJOU[`fkqv| #).49?DJOU[`fkqv| #).49?DJOU[`fkqv| (   >         .      5     -     ?    5       !   4  !( !B  "#$&*+/  (   >         ;          %    '% <     7     5    4       6  !( !B  "#$&*+/  (   >         ;          %    '% <     7     5    4       6  !( !B  "#$&*+/    䙘w 24 56 e78 "99 $u;: $== % k@? $ AA # ! KDD # &,FF $ #A( IH$]TPO]OL 7v KH *aGE $/TzB? Y"4Yu  ĺrS 嶭wUl䷯yUu丮wTs^幮xUvf幯yVwpk庰zVy~u廲yUwk潴zUx$澳xTvu$澳zUv~{#濵yVwy‘#濶yVxsȾ$xUvlε#yUyjϪ$xTwiwʞ"¸yUxkqľ"ùzVujpxĺ{S˗iu|ƼzQr}ǽ{Q  Ⱦ{Q ɿ{Qǁ{QՄ-{Q.{Q-|Q+|Q%|Q%}P"}Q" |Q ~Q ~Q ~Q*|Q)~Q*|Q(|Q#{Q ƾ{Q ż{Q ûzQ zQ ߿zQݾyQݼzQܺyQ ۸yQڶyQ욧ٵyQ  㘗w  e"!$u" $ $ %l"%$ $&#K$&)#$() ###+- $!.2#-/ $/.$/0 #"4'#13 # '6$35 "'0&#67 $#""89  ;: O == D?>   B@ B ED IF -KI .MK -QM,SP%VR%YT"ZW" _Z b] d_ d_*a\)\Y*[W(XT#UQRN OL  LI  IF  EC BA 3>> &5;; Z 89 C56 :f23 <?Zhl     J$# J6 V P; R> [ R?  TB ^  UE   XG ; YL 0 [N79 ]Q ,S11  _S  De| aV -S_ cZ 3VG e\  1I&- g_ &. ibl  kfeD  mi ok,% qo0 sr8 uv xzz z~3  }  !v !1 # # h" ~!9JzKvzX qqrtK op; kk! ZPge! c`r ._\ ҅[V\ CXQ TL MPH~l LA  H= E8 [Q @3  =. y 8)  3$ Է y&18 k 9-Ѭ YFac    꾰n"  繱K"$ E沫7&" »KҤ%.(# ÿU숁C:.)%  ]     g ~T Ua Ui Ukb Uor Url Up ûUp| üUo}  ¾UnƢ  ſUm|̑ ÿUnrŇ ſUnm˹ Uok{ǧ ƒTlls ăKmx ƃKw ƃL݁ ƄL DžK ɅK ˅K ̅KԊ ̆K ̆K≎ ·K χKČ ЇK䉎 ҇K φK ͅL ˅L ɅL DŽL ńL 凎ÃL L L≌ Lʋ ыL ⅎL L醊 LŠ ČL ̋~L ԋ쳮~L ڊ}L ؊|L Ћ|L ɋ{LԶ tG8 ؞rp⦂d;ѫ ە|m_HanV1 {qdRFS3ӊ|vpdQG5xqok^O6DynkjbS9»J²|phebR9ÿSŌķtje^O4\     I"" 7V : =! [ <#  >& ^ =(  A* ; B-  E/   E2 -0  G3 #5 } I7 ,2 J9  .& L< &- N>  PAl  REdD TG VJ,% XN0 ZQ8 \T ^Wz a[2  c^ eav ge1 ih kk ihg ec9Jc`K`\X qp]YK [U; XQ! ZPUN! RJr .OF LD\ CI@ G; MD7~l A4   =0  ;- [Q 8)  5% y 4"  1Զ z&.8 ޏJ0,ѫ *9?  ug Z < D »J}d  ÿSg\, \3E 3E 3E 3E 3E 3E 3E 3E 3E 3E 3E 3E 3E 3E 3E 3E 3E 3E 3E 3E 3E 3E 3E 3E 3E 3E 3E 3E 3E 3E 3E 3E 3E 3E 3E 3E 3E 3E 3E 3E 3E 3E 3E 3E 3E 3E 3D 3B2A2<16202( 0J 16/f% 06.A -S),f0  +u3  *{4  )6  (8                                                                                                                                                                                                                                                                                                                                      #).49?DJOU[`fkqv| #).49?DJOU[`fkqv| #).49?DJOU[`fkqv| #).49?DJOU[`fkqv| #).49?DJOU[`fkqv| #).49?DJOU[`fkqv| #).49?DJOU[`fkqv| #).49?DJOU[`fkqv| #).49?DJOU[`fkqv| #).49?DJOU[`fkqv| #).49?DJOU[`fkqv| #).49?DJOU[`fkqv| #).49?DJOU[`fkqv| #).49?DJOU[`fkqv| #).49?DJOU[`fkqv| #).49?DJOU[`fkqv| #).49?DJOU[`fkqv| #).49?DJOU[`fkqv| #).49?DJOU[`fkqv| #).49?DJOU[`fkqv| #).49?DJOU[`fkqv| #).49?DJOU[`fkqv| #).49?DJOU[`fkqv| #).49?DJOU[`fkqv| #).49?DJOU[`fkqv| #).49?DJOU[`fkqv| #).49?DJOU[`fkqv| #).49?DJOU[`fkqv| #).49?DJOU[`fkqv| #).49?DJOU[`fkqv| #).49?DJOU[`fkqv| #).49?DJOU[`fkqv| #).49?DJOU[`fkqv| #).49?DJOU[`fkqv| #).49?DJOU[`fkqv| #).49?DJOU[`fkqv| #).49?DJOU[`fkqv| #).49?DJOU[`fkqv| #).49?DJOU[`fkqv| #).49?DJOU[`fkqv| #).49?DJOU[`fkqv| #).49?DJOU[`fkqv| #).49?DJOU[`fkqv| #).49?DJOU[`fkqv| #).49?DJOU[`fkqv| #).49?DJOU[`fkqv| #).49?DJOU[`fkqv| #).49?DJOU[`fkqv| #).49?DJOU[`fkqv| #).49?DJOU[`fkqv| #).49?DJOU[`fkqv| #).49?DJOU[`fkqv| #).49?DJOU[`fkqv| #).49?DJOU[`fkqv| #).49?DJOU[`fkqv| #).49?DJOU[`fkqv| #(.49?DJOUZ`ekqv| #(.39>DIOTZ`ekpv{ !$&(*,/1358:<>ACEGJLNPSUWY\^`bdeffgg   !"#$%&'(*+,-./01223       ? ++ ) 72 20-++)'#! 47,2+996 4 2 20,*('# !$%+-. . ºiO5% LCiO6'# Y3\xaI3($  #+Hh~kW@/)%!  "-Mg{vk[G6/+'# k"2K^hkkf_TG:40,(%! "%3@IMNKE?<952.-)$ Y$,157989:=<::<<7.& $,0368<@EKRTVUNE;/$ !*17?GOWajqsne\PD8* W4&/:DNXblvymbVH7& G֡"*6ALW`irxztj^O<+!s P "'.9DNV^cghcYJ:,!W$&),18>CILMLH=2%c !%+.0268764,!!Z ;$En Ħ~`J@>AMa| Ź       !     ߣ ~T4  S ߅#ӝ<ٲxQቔرxQչׯxQը֬xQե֫wQ{ԩwQyԧwQm~ӦvQuwңuPwvҔhGsŻyjYk̊z[?˺ ŵzqdVEZpS6 ˼|rh[HHU9ô|xriZMF;̺̿ytqneVJ;Ͼxqkki]P=³{qjhg`RAÚĸ~tlgf`Q@ꐘȽwnhe^N;|qkf\K5ƻvmeYFƻznfTB}Ƹ}sbLxqY Ŵ}br°jsκ}p~̭zvê ᨆ~| zz|zz ÷       ɿ!   ޢ }T3  S ߄#ӝ</0 -;@-. r)+Q&(Q#%ǒ# b 辕smjmǃI*_s̻ l!FL>&  ^G{tV:E~aE( TndH+ &ky^D( 7 @qkR9  r .SpziVA* 3L^gie\N>+ R'8ADB;0! Y   !  %+/20,(! R  "(.48960*$?  &,2552.'n4 $(*)& A  [  U u,  =l ŧ{ZB:97 h ½s  þ %))&  þϋ).540+#ϗKS\chihgbbkw~ϣ ЫϳϹ  ! " # $%&'()*+,-./0123456y7o8d9W;H<3~': &<'?!&A"%D%$G& #I("N* !Q.  U. Z0 _2 d3 f5 f6 g6 e6 d5 c4 c4 a3  `2 !^1 "]0 #\/ $Z. %W- &U+ ' S) ( R' * O& +L%,K$ -I#.F!/D!0C 1A2>3:4}7 5u5 6m3 72 8 9 :;<@@auralquiz-v1.0.0/src/images/auralquiz-icon.xcf0000664000175000017500000003361613105040436017525 0ustar janjangimp xcf file@@CBCBgimp-image-grid(style solid) (fgcolor (color-rgba 0.000000 0.000000 0.000000 1.000000)) (bgcolor (color-rgba 1.000000 1.000000 1.000000 1.000000)) (xspacing 10.000000) (yspacing 10.000000) (spacing-unit inches) (xoffset 0.000000) (yoffset 0.000000) (offset-unit inches)  {@@AQ     gimp-text-layer(text "AQ") (font "Sans Bold") (font-size 119.000000) (font-size-unit pixels) (hinting yes) (antialias yes) (language "en-us") (base-direction ltr) (color (color-rgb 0.083233 0.065206 0.831373)) (justify left) (box-mode dynamic) (box-unit pixels) Z@@n@@~NN NN N N N NN NNNN NNN NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN N N6 N8N8N8N         6 888         6 888#Uizn[5& *D R u  AMꡆ`  cB ug(\{s[v4Pw89xfSxEm,6uHTbX@@HCRNp)  \.Ϳm- ,We+F jIO% Bu>5(: 777@@shadow     gimp-text-layer(text "AQ") (font "Sans Bold") (font-size 119.000000) (font-size-unit pixels) (hinting yes) (antialias yes) (language "en-us") (base-direction ltr) (color (color-rgb 0.083233 0.065206 0.831373)) (justify left) (box-mode dynamic) (box-unit pixels) F@@ Z@@ j        "',,'"  '2 * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the * Free Software Foundation, Inc., * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA . */ #ifndef MUSICANALYZER_H #define MUSICANALYZER_H #include #include #include #include #include #include #include // GCC 4.7 requires this #include // TagLib -> libtaglib-devel #include #include //#include class MusicAnalyzer : public QWidget { Q_OBJECT public: explicit MusicAnalyzer(QString musicDir, QString dataDir, QStringList *musicFiles, QWidget *parent = 0); ~MusicAnalyzer(); void setMusicDirectory(QString musicDir); void storeMetadataCache(); signals: void setStartGameButton(bool enabledState, QString text, QString tooltip); public slots: void loadSongList(); void createSongList(); private: QString musicDirectory; QString dataDirectory; // tmp! ? QStringList *musicFiles; }; #endif // MUSICANALYZER_H auralquiz-v1.0.0/src/auralwindow.cpp0000664000175000017500000015537213105040436015657 0ustar janjan/* * This file is part of Auralquiz * Copyright 2011-2017 JanKusanagi JRR * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the * Free Software Foundation, Inc., * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA . */ #include "auralwindow.h" /***************************************************************************************** * * Constructor */ AuralWindow::AuralWindow(QWidget *parent) : QWidget(parent) { this->setWindowTitle("Auralquiz"); this->setWindowIcon(QIcon(":/icon/64x64/auralquiz.png")); QSettings settings; this->resize(settings.value("size", QSize(800, 540)).toSize()); this->firstRun = settings.value("firstRun", true).toBool(); if (firstRun) { qDebug() << "This is the first run"; QMessageBox::about(this, "Auralquiz - " + tr("First usage"), tr("This seems to be the first time you use Auralquiz.\n" "Before playing, your music will be analyzed.\n" "If needed, you should click the Options button " "and select the folder where your " "Ogg, FLAC and MP3 files are stored.\n\n" "This folder, and sub-folders will be scanned " "so Auralquiz can generate questions and answers " "about your music.\n" "\n" "You need files correctly tagged in order for " "the game to work correctly.\n" "\n" "The scan can take some time, and the program " "will not be responsive until it is complete. " "Please be patient.")); } useOwnColorTheme = settings.value("useOwnColorTheme", false).toBool(); if (useOwnColorTheme) { qDebug() << "Using own color theme"; } else { qDebug() << "Using system colors"; } QString defaultMusicDirectory; #if QT_VERSION < QT_VERSION_CHECK(5, 0, 0) defaultMusicDirectory = QDesktopServices::storageLocation(QDesktopServices::MusicLocation); #else defaultMusicDirectory = QStandardPaths::standardLocations(QStandardPaths::MusicLocation).first(); #endif // If MusicLocation is the same as HOME, don't use it. #if QT_VERSION < QT_VERSION_CHECK(5, 0, 0) if (defaultMusicDirectory == QDesktopServices::storageLocation(QDesktopServices::HomeLocation)) { defaultMusicDirectory.clear(); } #else if (defaultMusicDirectory == QStandardPaths::standardLocations(QStandardPaths::HomeLocation).first()) { defaultMusicDirectory.clear(); } #endif musicDirectory = settings.value("musicDirectory", defaultMusicDirectory).toString(); if (!musicDirectory.isEmpty() && !musicDirectory.endsWith("/")) { // Adding final "/" if it's not present in chosen path musicDirectory.append("/"); } qDebug() << "Music directory:" << this->musicDirectory; // Get data directory path #if QT_VERSION < QT_VERSION_CHECK(5, 0, 0) this->dataDirectory = QDesktopServices::storageLocation(QDesktopServices::DataLocation); #else this->dataDirectory = QStandardPaths::standardLocations(QStandardPaths::DataLocation).first(); #endif qDebug() << "Data directory:" << this->dataDirectory; // Create data directory if needed, to store music info later... QDir dataDir; if (!dataDir.exists(this->dataDirectory)) { qDebug() << "Data directory did not exist. Creating..."; if (dataDir.mkpath(this->dataDirectory)) { qDebug() << this->dataDirectory << "directory created successfully!"; } else { qDebug() << this->dataDirectory << "directory could NOT be created"; } } difficultyLevel = settings.value("difficultyLevel", 2).toInt(); // normal(2) by default numQuestions = settings.value("numQuestions", 25).toInt(); // 25 questions by default numPlayers = settings.value("numPlayers", 1).toInt(); // 1 player by default qDebug() << "Phonon runtime version:" << Phonon::phononVersion(); qDebug() << "Built with Phonon:" << PHONON_VERSION_STR; qDebug() << "* Backend::audioEffects:" << Phonon::BackendCapabilities::availableAudioEffects(); qDebug() << "* Backend::mimeTypes:" << Phonon::BackendCapabilities::availableMimeTypes(); //qDebug() << "* Backend::audioOutputDevices:" // << Phonon::BackendCapabilities::availableAudioOutputDevices(); playing = false; mainLayout = new QVBoxLayout(this); mainLayout->setContentsMargins(3, 1, 3, 1); initWelcomeScreen(); initPlayingScreen(); this->playerNames.clear(); playerNames = settings.value("playerNames", QStringList() << "1" << "2" // overriden << "3" << "4" // in OptionsDialog << "5" << "6" << "7" << "8").toStringList(); this->setLayout(mainLayout); musicAnalyzer = new MusicAnalyzer(musicDirectory, dataDirectory, musicFiles, this); connect(musicAnalyzer, SIGNAL(setStartGameButton(bool,QString,QString)), this, SLOT(modifyStartGameButton(bool,QString,QString))); postInitTimer = new QTimer(this); postInitTimer->setSingleShot(true); postInitTimer->setInterval(500); connect(postInitTimer, SIGNAL(timeout()), musicAnalyzer, SLOT(loadSongList())); postInitTimer->start(); // Call loadSongList() from the timer, to avoid the // first-run analyzing all songs without visible window // this timer will call createSongList() to reload music, after config update postConfigUpdatedTimer = new QTimer(this); postConfigUpdatedTimer->setSingleShot(true); postConfigUpdatedTimer->setInterval(500); connect(postConfigUpdatedTimer, SIGNAL(timeout()), musicAnalyzer, SLOT(createSongList())); // Timer used to show the Ranking window after a moment rankingTimer = new QTimer(this); // TEMPORARY ranking tests - START #if 0 this->goodAnswers.clear(); goodAnswers << 3 << 17 << 3 << 4 << 5 << 6 << 8 << 8; this->badAnswers.clear(); badAnswers << 11 << 22 << 33 << 44 << 55 << 66 << 77 << 88; this->timedOutAnswers.clear(); timedOutAnswers << 111 << 222 << 333 << 444 << 555 << 666 << 777 << 888; this->score.clear(); score << goodAnswers[0]*123 << goodAnswers[1]*123 << goodAnswers[2]*123 << goodAnswers[3]*123 << goodAnswers[4]*123 << goodAnswers[5]*123 << goodAnswers[6]*123 << goodAnswers[7]*123; qDebug() << "Testing scores:" << score; Ranking *rankingTest; rankingTest = new Ranking(this->score.length(), this->playerNames, this->score, this->goodAnswers, this->badAnswers, this->timedOutAnswers); rankingTest->show(); qDebug() << "test ranking created and shown"; #endif // TEMPORARY ranking tests - END } /********************************************************************************* * * Destructor */ AuralWindow::~AuralWindow() { qDebug() << "AuralWindow destroyed"; } /******************************************************************************* * * Shuffle song list */ void AuralWindow::shuffleMusicFiles() { uint randomSeed; randomSeed = (QTime::currentTime().hour()) + (QTime::currentTime().minute() * 4) + (QTime::currentTime().second() * 5) + (QTime::currentTime().msec() * 6); randomSeed *= 8; randomSeed += qrand() % (randomSeed / (QTime::currentTime().second()+1)); qsrand(randomSeed); // ensure decent randomness based on current time int newPosition; for (int counter=0; counter != musicFiles[0].length(); ++counter) { newPosition = qrand() % musicFiles[0].length(); musicFiles[0].swap(0, newPosition); // filename musicFiles[1].swap(0, newPosition); // artist musicFiles[2].swap(0, newPosition); // title } qDebug() << "Music Files shuffled. randomSeed:" << randomSeed; } /* * Update statistics panel */ void AuralWindow::updateStatistics() { QString statsTable; statsTable = "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "
" + tr("Good") + " " + QString("%1").arg(this->goodAnswers[currentPlayer]) + "
" + tr("Bad") + " " + QString("%1").arg(this->badAnswers[currentPlayer]) + "
" + tr("Timed out") + " " + QString("%1").arg(this->timedOutAnswers[currentPlayer]) + "
"; this->statisticsLabel->setText(statsTable); } /***************************************************************************************** * * Set up the welcome screen, with the logo and main menu */ void AuralWindow::initWelcomeScreen() { qDebug() << "Init welcome screen"; optionsDialog = new OptionsDialog(this); connect(optionsDialog, SIGNAL(optionsChanged(bool,QString,bool,int,int,int,QStringList,bool)), this, SLOT(updateConfig(bool,QString,bool,int,int,int,QStringList,bool))); logoLabel = new QLabel(this); logoLabel->setPixmap(QPixmap(":/images/logo.png")); startGameButton = new QPushButton(QIcon::fromTheme("media-playback-start", QIcon(":/images/button-arrow.png")), "\n" + tr("&Start game") + "\n", this); connect(startGameButton, SIGNAL(clicked()), optionsDialog, SLOT(showPlayMode())); startGameButton->setDisabled(true); configureButton = new QPushButton(QIcon::fromTheme("configure", QIcon(":/images/button-configure.png")), tr("&Options"), this); connect(configureButton, SIGNAL(clicked()), optionsDialog, SLOT(showConfigMode())); aboutButton = new QPushButton(QIcon::fromTheme("help-about"), tr("&About..."), this); connect(aboutButton, SIGNAL(clicked()), this, SLOT(showAbout())); quitButton = new QPushButton(QIcon::fromTheme("application-exit"), tr("&Quit"), this); connect(quitButton, SIGNAL(clicked()), this, SLOT(close())); // Control+Q is handled separately to avoid disabling Alt+Q (or translated equivalent) quitAction = new QAction(this); quitAction->setShortcut(QKeySequence("Ctrl+Q")); connect(quitAction, SIGNAL(triggered()), this, SLOT(close())); this->addAction(quitAction); welcomeLayout = new QVBoxLayout(); welcomeLayout->setAlignment(Qt::AlignHCenter); welcomeLayout->addWidget(logoLabel); welcomeLayout->addSpacing(24); welcomeLayout->addWidget(startGameButton); welcomeLayout->addSpacing(16); welcomeLayout->addWidget(configureButton); welcomeLayout->addWidget(aboutButton); welcomeLayout->addWidget(quitButton); welcomeLayout->addSpacing(16); welcomeWidget = new QWidget(this); welcomeWidget->setLayout(welcomeLayout); mainLayout->addWidget(welcomeWidget); } /***************************************************************************************** * * Set up the playing screen, with progress bar, time bar, score, etc. */ void AuralWindow::initPlayingScreen() { qDebug() << "Init playing screen"; playingWidget = new QWidget(this); QFont playerFont; playerFont.setPointSize(12); playerFont.setBold(true); playerNameLabel = new QLabel(":: PLAYER ::", this); playerNameLabel->setAlignment(Qt::AlignRight | Qt::AlignTop); playerNameLabel->setFont(playerFont); QFont questionFont; questionFont.setPointSize(20); questionFont.setBold(true); questionLabel = new QLabel(":: QUESTION ::", this); questionLabel->setAlignment(Qt::AlignCenter); questionLabel->setFont(questionFont); questionLabel->setFrameStyle(QFrame::Raised | QFrame::StyledPanel); QFont infoFont; infoFont.setPointSize(14); infoFont.setBold(true); infoFont.setItalic(true); infoLabel = new QLabel(":: INFO ::", this); infoLabel->setAlignment(Qt::AlignCenter); infoLabel->setWordWrap(true); infoLabel->setFont(infoFont); gameTimer = new QTimer(this); gameTimer->setInterval(100); // every 100ms, so it moves fast connect(gameTimer, SIGNAL(timeout()), this, SLOT(timerTick())); // This will call newQuestion preQuestionTimer = new QTimer(this); preQuestionTimer->setSingleShot(true); connect(preQuestionTimer, SIGNAL(timeout()), this, SLOT(newQuestion())); // This will call preQuestion postQuestionTimer = new QTimer(this); postQuestionTimer->setSingleShot(true); postQuestionTimer->setInterval(1500); // 1,5 seconds connect(postQuestionTimer, SIGNAL(timeout()), this, SLOT(preQuestion())); ///////////////////////////////////////////////////////////////////// Right timeBar = new QProgressBar(this); timeBar->setOrientation(Qt::Vertical); timeBar->setFormat(tr("Time")); // "%v seconds" // timeBar's range() and value() will be set upon game start, on toggleScreen() timeBar->setToolTip("" // HTMLized for wordwrap + tr("Remaining time to answer this question")); //////////////////////////////////////////////////////////////////// Bottom gameProgressBar = new QProgressBar(this); gameProgressBar->setFormat(tr("%v out of %m questions - %p%")); // gameProgressBar's range() and value() will be set upon game start, on toggleScreen() gameProgressBar->setToolTip("" + tr("How many questions you've answered")); gameScoreLabel = new QLabel(tr("Score"), this); gameScoreLabel->setAlignment(Qt::AlignRight | Qt::AlignVCenter); gameScore = new QLCDNumber(5, this); gameScore->setSegmentStyle(QLCDNumber::Flat); gameScore->display(0); gameScore->setToolTip("" + tr("Your current score")); statusLabel = new QLabel(this); endGameButton = new QPushButton(QIcon::fromTheme("media-playback-stop", QIcon(":/images/button-cancel.png")), tr("&End game"), this); endGameButton->setFlat(true); connect(endGameButton, SIGNAL(clicked()), this, SLOT(confirmEndGame())); ///////////////////////////////////////////////////////////////// Left side aniNoteMovie.setFileName(":/images/aninote.gif"); aniNoteLabel = new QLabel(this); aniNoteLabel->setMovie(&aniNoteMovie); aniNoteLabel->setFrameStyle(QFrame::StyledPanel | QFrame::Raised); aniNoteLabel->setSizePolicy(QSizePolicy::Maximum, QSizePolicy::Maximum); QFont statsFont; statsFont.setPointSize(12); statisticsLabel = new QLabel("**STATS**", this); statisticsLabel->setFrameStyle(QFrame::StyledPanel | QFrame::Sunken); statisticsLabel->setFont(statsFont); statisticsBoxLayout = new QVBoxLayout(); statisticsBoxLayout->addWidget(statisticsLabel); statisticsBox = new QGroupBox(tr("Statistics"), this); statisticsBox->setLayout(statisticsBoxLayout); //////////////////////////////////////////////////////////////////// Center //// Add the 4 answer buttons, and their font answerButton[0] = new QPushButton(QIcon::fromTheme("arrow-right", QIcon(":/images/button-arrow.png")), "ANSWER 1 ----------------", this); connect(answerButton[0], SIGNAL(clicked()), this, SLOT(answer1())); answerButton[1] = new QPushButton(QIcon::fromTheme("arrow-right", QIcon(":/images/button-arrow.png")), "ANSWER 2 ----------------", this); connect(answerButton[1], SIGNAL(clicked()), this, SLOT(answer2())); answerButton[2] = new QPushButton(QIcon::fromTheme("arrow-right", QIcon(":/images/button-arrow.png")), "ANSWER 3 ----------------", this); connect(answerButton[2], SIGNAL(clicked()), this, SLOT(answer3())); answerButton[3] = new QPushButton(QIcon::fromTheme("arrow-right", QIcon(":/images/button-arrow.png")), "ANSWER 4 ----------------", this); connect(answerButton[3], SIGNAL(clicked()), this, SLOT(answer4())); QFont buttonFont; buttonFont.setPointSize(13); buttonFont.setBold(true); // set font and minimum height in all 4 buttons for (int counter = 0; counter != 4; ++counter) { answerButton[counter]->setFont(buttonFont); // Set a minimum width, so it's ok for most titles/names answerButton[counter]->setMinimumWidth(512); // Make buttons use all space available answerButton[counter]->setSizePolicy(QSizePolicy::MinimumExpanding, QSizePolicy::MinimumExpanding); } /* Matching QActions to allow independent shortcuts. * * Using these independent shortcuts avoids a problem with autogenerated * shortcuts under Plasma 5. * * Shortcut blocks are 1/2/3/4, Z/X/C/V, 7/8/9/0 and U/I/O/P * */ answerAction1 = new QAction(this); answerAction1->setShortcuts(QList() << Qt::Key_1 << Qt::Key_Z << Qt::Key_7 << Qt::Key_U); connect(answerAction1, SIGNAL(triggered()), this, SLOT(answer1())); answerAction2 = new QAction(this); answerAction2->setShortcuts(QList() << Qt::Key_2 << Qt::Key_X << Qt::Key_8 << Qt::Key_I); connect(answerAction2, SIGNAL(triggered()), this, SLOT(answer2())); answerAction3 = new QAction(this); answerAction3->setShortcuts(QList() << Qt::Key_3 << Qt::Key_C << Qt::Key_9 << Qt::Key_O); connect(answerAction3, SIGNAL(triggered()), this, SLOT(answer3())); answerAction4 = new QAction(this); answerAction4->setShortcuts(QList() << Qt::Key_4 << Qt::Key_V << Qt::Key_0 << Qt::Key_P); connect(answerAction4, SIGNAL(triggered()), this, SLOT(answer4())); this->addAction(answerAction1); this->addAction(answerAction2); this->addAction(answerAction3); this->addAction(answerAction4); // Add the AnswerBox, used in the highest difficulty mode, type-the-answer answerBox = new AnswerBox(this); answerBox->setFont(buttonFont); answerBox->setMinimumWidth(512); connect(answerBox, SIGNAL(answered(bool)), this, SLOT(answerFromAnswerBox(bool))); // Disable player input initially, to avoid problems in the title screen this->enablePlayerInput(false); /////////////////////////////////////////////////////////////////// Layouts playingTopLayout = new QVBoxLayout(); playingTopLayout->setContentsMargins(0, 0, 0, 0); playingTopLayout->addWidget(playerNameLabel); playingTopLayout->addWidget(questionLabel, 1); playingTopLayout->addWidget(infoLabel, 1); statisticsLayout = new QVBoxLayout(); statisticsLayout->addWidget(aniNoteLabel, 1, Qt::AlignTop | Qt::AlignHCenter); statisticsLayout->addSpacing(2); statisticsLayout->addStretch(1); statisticsLayout->addWidget(statisticsBox, 1); answersLayout = new QVBoxLayout(); answersLayout->addWidget(answerButton[0], 4); answersLayout->addSpacing(2); answersLayout->addStretch(1); answersLayout->addWidget(answerButton[1], 4); answersLayout->addSpacing(2); answersLayout->addStretch(1); answersLayout->addWidget(answerButton[2], 4); answersLayout->addSpacing(2); answersLayout->addStretch(1); answersLayout->addWidget(answerButton[3], 4); // TMP FIXME: adding answerBox with great stretch factor to make it look almost centered answersLayout->addWidget(answerBox, 22, Qt::AlignVCenter); playingMiddleLayout = new QHBoxLayout(); playingMiddleLayout->addLayout(statisticsLayout, 2); playingMiddleLayout->addSpacing(4); playingMiddleLayout->addLayout(answersLayout, 9); playingMiddleLayout->addSpacing(4); playingMiddleLayout->addWidget(timeBar); playingProgressLayout = new QHBoxLayout(); playingProgressLayout->addWidget(gameProgressBar); playingProgressLayout->addSpacing(32); playingProgressLayout->addWidget(gameScoreLabel); playingProgressLayout->addSpacing(16); playingProgressLayout->addWidget(gameScore); playingBottomLayout = new QHBoxLayout(); playingBottomLayout->addWidget(statusLabel, 1); playingBottomLayout->addWidget(endGameButton, 0, Qt::AlignRight); playingLayout = new QVBoxLayout(); playingLayout->setAlignment(Qt::AlignRight); playingLayout->addLayout(playingTopLayout); playingLayout->addSpacing(2); playingLayout->addStretch(0); playingLayout->addLayout(playingMiddleLayout, 1); playingLayout->addSpacing(8); playingLayout->addStretch(0); playingLayout->addLayout(playingProgressLayout); playingLayout->addSpacing(4); playingLayout->addStretch(0); playingLayout->addLayout(playingBottomLayout); playingWidget->setLayout(playingLayout); mainLayout->addWidget(playingWidget); if (useOwnColorTheme) { this->setThemedColors(); } musicPlayer = Phonon::createPlayer(Phonon::MusicCategory, Phonon::MediaSource()); qDebug() << "Phonon::createPlayer()->isValid()? " << musicPlayer->isValid(); if (!musicPlayer->isValid()) { QMessageBox::warning(this, tr("Sound system error"), tr("There seems to be a problem with " "your sound system.") + "

" + tr("Maybe you don't have any Phonon backends " "installed.")); } connect(musicPlayer, SIGNAL(stateChanged(Phonon::State,Phonon::State)), this, SLOT(playerStateChanged(Phonon::State,Phonon::State))); playingWidget->hide(); } /****************************************************************************** * * Switch between the welcome screen and the playing screen, in either way * */ void AuralWindow::toggleScreen() { if (!playing) { // START game! qDebug() << "Starting game"; welcomeWidget->hide(); shuffleMusicFiles(); // Reset everything... currentMusicFile = 0; this->gameProgressBar->setRange(0, this->numQuestions); this->gameProgressBar->setValue(0); this->gameScore->display(0); // reset score maxTime = 500 / (difficultyLevel + 1); // In millisec/10 if (difficultyLevel == 5) { maxTime += 100; // Extra time in Hardcore/type-the-answer mode! } warningTime = maxTime / 4; dangerTime = maxTime / 8; //this->pieceDuration = maxTime - (maxTime / (difficultyLevel+1)); this->pieceDuration = maxTime - ( 90 / (difficultyLevel+1) ); // +1 becausec difficulty level can be 0 if (difficultyLevel == 5) { pieceDuration -= 5; // Extra duration in Hardcore level! } qDebug() << "Max/Warning/Danger times:" << maxTime/6 << warningTime/6 << dangerTime/6 << "secs"; qDebug() << "Piece duration:" << (maxTime - pieceDuration) / 6 << "secs"; timeBar->setRange(0, this->maxTime); timeBar->setValue(this->maxTime); if (difficultyLevel < 5) // Regular mode: show buttons, hide AnswerBox { answerButton[0]->show(); answerButton[1]->show(); answerButton[2]->show(); answerButton[3]->show(); answerBox->hide(); } else // Type-the-answer mode: hide buttons and show AnswerBox { answerBox->show(); answerButton[0]->hide(); answerButton[1]->hide(); answerButton[2]->hide(); answerButton[3]->hide(); } this->enablePlayerInput(true); if (numPlayers > 1) { this->playerNameLabel->show(); } else { this->playerNameLabel->hide(); } // Reset stats for all players this->score.clear(); this->goodAnswers.clear(); this->badAnswers.clear(); this->timedOutAnswers.clear(); for (int counter = 0; counter != numPlayers; ++counter) { score << 0; goodAnswers << 0; badAnswers << 0; timedOutAnswers << 0; } this->currentPlayer = 0; QStringList startStrings; // Randomly choose from a list of "get ready" strings startStrings << tr("Starting!") << tr("Let's go!") << tr("GO!!") << tr("Good luck!"); this->infoLabel->setStyleSheet("background: qradialgradient(spread:pad, " "cx:0.5, cy:0.5, radius:0.5, fx:0.5, " "fy:0.5, stop:0 rgba(0, 64, 64, 255) " "stop:1 rgba(0, 255, 255, 255)); " "color: white"); this->infoLabel->setText(startStrings.at(qrand() % startStrings.length())); QString totalSongs = QLocale::system() .toString(this->musicFiles[0].length()); this->statusLabel->setText(tr("%1 songs available").arg(totalSongs)); playingWidget->show(); playing = true; this->updateStatistics(); newQuestion(); } else { // STOP game qDebug() << "Stopping game"; musicPlayer->stop(); // stop music, if any gameTimer->stop(); preQuestionTimer->stop(); // These 2 lines fix problems when clicking postQuestionTimer->stop(); // "End Game" right after answering // (Music in title screen) this->enablePlayerInput(false); playingWidget->hide(); welcomeWidget->show(); playing = false; } } /* * Set styles to app-specific, or set them empty for user/system-defined * */ void AuralWindow::setThemedColors() // everything here is quite temporary { // set transparency this->setWindowOpacity(0.98); // set dark-blue style to the program in general this->setStyleSheet("background: qlineargradient(spread:pad, " "x1:0, y1:0, x2:1, y2:1, " "stop:0.0 rgba(20, 40, 40, 255), " "stop:1.0 rgba(20, 40, 120, 255) );" "color: qlineargradient(spread:pad, " "x1:0, y1:0, x2:1, y2:1, " "stop:0.0 rgba(140, 140, 220, 255), " "stop:0.5 rgba(160, 250, 160, 255), " "stop:1.0 rgba(220, 140, 140, 255) );"); logoLabel->setStyleSheet("background: transparent"); aniNoteLabel->setStyleSheet("background: transparent"); // set colors on answer buttons and answer box answerButton[0]->setStyleSheet("background: #20DD20; color: darkBlue"); answerButton[1]->setStyleSheet("background: #20CC20; color: darkBlue"); answerButton[2]->setStyleSheet("background: #20BB20; color: darkBlue"); answerButton[3]->setStyleSheet("background: #20AA20; color: darkBlue"); answerBox->setStyleSheet("background: #20AA20; color: darkBlue"); // set color of LCD score indicator gameScoreLabel->setStyleSheet("background: transparent"); gameScore->setStyleSheet("background: black;" "color: lightBlue"); statisticsBox->setStyleSheet("background: #400000"); statisticsLabel->setStyleSheet("background: darkRed;" "color: white"); statusLabel->setStyleSheet("background: transparent"); } void AuralWindow::enablePlayerInput(bool state) { if (difficultyLevel < 5) { // Keyboard keys 1~4, Z~V, 7~0, U~P, and buttons answerAction1->setEnabled(state); answerAction2->setEnabled(state); answerAction3->setEnabled(state); answerAction4->setEnabled(state); this->answerButton[0]->setEnabled(state); this->answerButton[1]->setEnabled(state); this->answerButton[2]->setEnabled(state); this->answerButton[3]->setEnabled(state); } else { this->answerBox->setEnabled(state); if (state) { this->answerBox->setFocus(); } } // Always disable the QActions when disabling input; otherwise, they can cause crashes if (!state) { answerAction1->setDisabled(true); answerAction2->setDisabled(true); answerAction3->setDisabled(true); answerAction4->setDisabled(true); } } /////////////////////////////////////////////////////////////////////////////// ////////////////////////////////// SLOTS ////////////////////////////////////// /////////////////////////////////////////////////////////////////////////////// // Used from newQuestion(), via SIGNAL void AuralWindow::playerStateChanged(Phonon::State newState, Phonon::State oldState) { qDebug() << "playerStateChanged() (5 means error) -> " << oldState << ">" << newState; //if (oldState != Phonon::PlayingState if ((oldState == Phonon::LoadingState || oldState == Phonon::PausedState) && newState == Phonon::StoppedState) { qDebug() << "Gone from LoadingState to StoppedState"; this->nextSongLoaded(); } if (newState == Phonon::PausedState) { qDebug() << "Entered PausedState"; } if (musicPlayer->errorType() != 0) // if some error { qDebug() << "playerStateChanged(), some error!! State:" << newState; qDebug() << "Error string and type:" << musicPlayer->errorString() << musicPlayer->errorType(); QMessageBox::warning(this, tr("Error playing sound"), tr("An error occurred while playing sound.\n" "The error message was: %1\n\n" "Maybe your Phonon-backend does not have " "support for the MP3 file " "format.").arg(musicPlayer->errorString())); } } /*****************************************************************************/ /* * Decrease time left to guess song. Called by gameTimer * */ void AuralWindow::timerTick() { if (timeBar->value() == this->maxTime-1) // Just once upon start { // Seek to a random part of the music file qint64 seekTime = 10000; // Start at least at 00:10 // add random ms avoiding last 50 sec, resulting in range 00:10 -> END -01:00 seekTime += qrand() % (musicPlayer->totalTime() - 50000); qDebug() << "Seeking to:" << seekTime / 1000 << "sec /" << "Seekable:" << musicPlayer->isSeekable() << "/ Total time:" << musicPlayer->totalTime() / 1000; musicPlayer->play(); //musicPlayer->pause(); /* * play() BEFORE seek() * because gstreamer-backend seeks to 0 again on play() apparently... */ musicPlayer->seek(seekTime); // TMPFIX, add error control //musicPlayer->play(); } timeBar->setValue(timeBar->value() - 1); // Stop music earlier than the time limit to answer the question if (timeBar->value() == this->pieceDuration) { this->musicPlayer->stop(); this->aniNoteLabel->movie()->stop(); // TMPFIX qDebug() << "totalTime, again:" << musicPlayer->totalTime() / 1000; // TMP tests } // Clear colored info label (good/bad), soon after new question if (timeBar->value() == this->maxTime - 10) // very very TMPFIX { this->infoLabel->setText(""); this->infoLabel->setStyleSheet("background: transparent"); } // if remaining time is low, change timeBar colors if (timeBar->value() == this->warningTime) // warning level { timeBar->setStyleSheet("background-color: yellow"); // orange? } if (timeBar->value() == this->dangerTime) // danger level { timeBar->setStyleSheet("background-color: red"); // darkRed? } // time to answer ended if (timeBar->value() == 0) { qDebug() << "Time's up!"; musicPlayer->stop(); this->infoLabel->setStyleSheet("background: " "qradialgradient(spread:pad, " "cx:0.5, cy:0.5, radius:0.5, " "fx:0.5, fy:0.5, stop:0 " "rgba(64, 0, 0, 255) stop:1 " "rgba(128, 0, 0, 255)); color: white"); this->infoLabel->setText(tr("Time's up!!") + " " + tr("The answer was:") + " " + musicFiles[questionType].at(currentMusicFile)); answerQuestion(0); // 0 means it's timeout, not a button } } /* * Update configuration from optionsDialog SIGNAL * */ void AuralWindow::updateConfig(bool startGame, QString directory, bool forceReload, int difficulty, int questions, int players, QStringList playerNameList, bool ownColors) { bool mustReload = false; if (this->musicDirectory != directory) { qDebug() << "musicDirectory has changed, mustReload = true"; qDebug() << "musicDirectory:" << musicDirectory << "; directory:" << directory; mustReload = true; // if music directory's been changed, reload collection info } this->musicDirectory = directory; this->musicAnalyzer->setMusicDirectory(musicDirectory); // inform M.A. about it this->difficultyLevel = difficulty; this->numQuestions = questions; this->numPlayers = players; this->playerNames.clear(); playerNames = playerNameList; this->useOwnColorTheme = ownColors; qDebug() << "Updated config with: " << startGame << directory << forceReload << difficulty << questions << players << playerNameList << ownColors; // reload music collection information here if needed if (mustReload || forceReload) { qDebug() << "Reloading music collection information"; // this->createSongList(); // replaced by a call from a timer postConfigUpdatedTimer->start(); // will call createSongList() in 500ms } // if optionsDialog was called in PlayMode, start game now if (startGame) { if (numPlayers > 1) // in multiplayer, give extra time to prepare { this->preQuestionTimer->setInterval(2000); // 2 sec // FIXME: make configurable? } else { this->preQuestionTimer->setInterval(500); // half a sec } this->toggleScreen(); // Start game! } } /* * About... box */ void AuralWindow::showAbout() { QMessageBox::about(this, tr("About Auralquiz"), QString("Auralquiz v%1") .arg(qApp->applicationVersion()) + "
" "Copyright 2011-2017 JanKusanagi" "
" "
" "
" "https://jancoding.wordpress.com/auralquiz" "
" "
" + tr("Auralquiz loads all your music from a specified " "folder and asks questions about it, playing a " "short piece of each music file as clue.") + "
" "
" + tr("English translation by JanKusanagi.", "TRANSLATORS: Change this with your language and name. " "Feel free to add your contact information, such as e-mail. " "If there was another translator before you, add your " "name after theirs ;)") + "
" "
" + tr("Thanks to all the testers, translators and packagers, " "who help make Auralquiz better!") + "
" "
" + tr("Auralquiz is licensed under the GNU GPL license.") + "
" + tr("Main screen image and some icons are based on " "Oxygen icons, under LGPL license.") + "
" "
" "" "GNU GPL v2 - " "" "GNU LGPL v2.1" "
" "
" "" "techbase.kde.org/Projects/Oxygen" "
" "
" + QString("Qt v%1 ~ Phonon v%2") .arg(qVersion()) .arg(Phonon::phononVersion())); } void AuralWindow::modifyStartGameButton(bool enabledState, QString text, QString tooltip) { this->startGameButton->setEnabled(enabledState); if (!text.isEmpty()) { this->startGameButton->setText("\n" + text + "\n"); this->startGameButton->setToolTip("" // HTMLize, so it gets wordwrap + tooltip); } this->startGameButton->setFocus(); } /****************************************************************************** * * Prepare a new question, its answers, and play the new song file */ void AuralWindow::newQuestion() { qDebug() << "newQuestion()"; timeBar->setValue(this->maxTime); timeBar->setStyleSheet(""); this->correctAnswer = (qrand() % 4) + 1; // 1, 2, 3, 4; 0 would mean TIMED UP //qDebug() << "correctAnswer:" << this->correctAnswer; questionType = (currentMusicFile & 1) + 1; // quite TMPFIX, odd=artist, even=title //qDebug() << "questionType: " << questionType; if (questionType == 1) { questionLabel->setText(tr("Who plays this song?")); } else { questionLabel->setText(tr("What's the title of this song?")); } // show current player name in multiplayer mode // FIXME: and avatar! if (numPlayers > 1) { playerNameLabel->setText(tr("Player %1 of %2").arg(currentPlayer + 1) .arg(numPlayers) + " -- " + QString("%1").arg(playerNames.at(currentPlayer))); gameScore->display(score.at(currentPlayer)); } QString buttonTexts[4]; int answerCount = 0; // FIXME: These checks should be moved to the analyzer, in createSongList() int tries = 0; while (answerCount < 4) { buttonTexts[answerCount] = musicFiles[questionType] .at(qrand() % this->musicFiles[0].length()); //qDebug() << "answerCount" << answerCount; // If text in current button is NOT the correct answer (lowercase comparison!) if (buttonTexts[answerCount].toLower() != musicFiles[questionType] .at(currentMusicFile).toLower()) { bool isGood = true; for (int previousAnswer = 0; previousAnswer != answerCount; ++previousAnswer) { // Compare strings in LOWERCASE (Metallica ~= metallica) if (buttonTexts[answerCount].toLower() != buttonTexts[previousAnswer].toLower()) { isGood = true; //qDebug() << "is GOOD" << previousAnswer; //qDebug() << "is GOOD" << buttonTexts[answerCount] // << buttonTexts[previousAnswer]; } else { isGood = false; //qDebug() << "is NOT good; duplicated, break" << previousAnswer; //qDebug() << "is NOT good" << buttonTexts[answerCount] // << buttonTexts[previousAnswer]; break; } } if (isGood) { // Set random artists/titles as labels on buttons answerButton[answerCount]->setText(buttonTexts[answerCount]); ++answerCount; tries = 0; } //qDebug() << "buttonTexts[answerCount]:" << buttonTexts[answerCount]; } ++tries; /* TMPFIX Temporary way of catching infinite loops if there are not enough different artists or titles */ if (tries > 50) { // FIXME: these checks should be done after createSongList() qDebug() << "Not enough different titles or artists to create question!"; answerCount = 999; // "break" } } // quite hacky, TMPFIX if (tries < 50) // if no problem with duplicates, meaning we have enough valid files { // Set correct artist/title on one button answerButton[correctAnswer-1]->setText(musicFiles[questionType].at(currentMusicFile)); // replace "&" by "&&" in buttons, so it doesn't turn into an accelerator // Also truncate if answer is too long for (int counter=0; counter != 4; ++counter) { QString fixedAnswer = answerButton[counter]->text(); fixedAnswer.replace(QRegExp("&"), "&&"); // fix non-accelerator fixedAnswer.truncate(64); // avoid wiiiiide buttons // FIXME 1.1.x: truncate position should be calculated, not hardcoded // For now, 64 seems sane answerButton[counter]->setText(fixedAnswer); } // Set answer for AnswerBox too answerBox->setAnswer(musicFiles[questionType].at(currentMusicFile)); // Re-enable stuff to answer this->enablePlayerInput(true); musicPlayer->stop(); musicPlayer->clear(); // Stop playing file and clear queues qDebug() << "musicPlayer stopped and cleared"; musicPlayer->setCurrentSource(QUrl("file://" + musicFiles[0].at(currentMusicFile))); qDebug() << "newQuestion(): musicPlayer->setCurrentSource() done"; qDebug() << "seekable?" << this->musicPlayer->isSeekable(); // checks needed for gstreamer qDebug() << "PhononState should change now; " "with Gstreamer-backend it might stop here (BUG)"; } else { this->toggleScreen(); // Recursive!! :P QMessageBox::critical(this, tr("Not enough music files"), tr("You don't have enough music files, " "or from enough different artists.\n" "You need music from at least 5 different artists " "to be able to generate questions.")); } } /* * Called from PlayerStateChanged() */ void AuralWindow::nextSongLoaded() { qDebug() << "(playerStateChanged) > nextSongLoaded()"; /* Put into PlayingState so seeking and getting total time works correctly later * * A little hacky and maybe unreliable with some backends (TMP / FIXME) * */ musicPlayer->play(); musicPlayer->pause(); // Pause immediately, so the user can't hear anything this->aniNoteLabel->movie()->start(); gameTimer->start(); // will call "timerTick()" } void AuralWindow::preQuestion() { if (this->gameProgressBar->value() < this->numQuestions) { // There are more questions! ++currentMusicFile; if (currentMusicFile == this->musicFiles[0].length()) { currentMusicFile = 0; qDebug() << "Not enough music files to avoid repeating; back to 1st"; } this->updateStatistics(); infoLabel->setStyleSheet("background: qradialgradient(spread:pad, " "cx:0.5, cy:0.5, radius:0.5, fx:0.5, fy:0.5, " "stop:0 rgba(0, 0, 128, 255) stop:1 " "rgba(0, 128, 255, 127)); color: white"); if (numPlayers > 1) { infoLabel->setText(tr("Go, %1!", "%1=player's name") .arg(playerNames.at(currentPlayer))); } else { infoLabel->setText(tr("Next!")); } preQuestionTimer->start(); // this will call newQuestion() } else // No more questions! { qDebug() << "End of questions"; // Show the ranking window ranking = new Ranking(numPlayers, playerNames, score, goodAnswers, badAnswers, timedOutAnswers, this); connect(ranking, SIGNAL(closed()), this, SLOT(killRanking())); rankingTimer->setSingleShot(true); connect(rankingTimer, SIGNAL(timeout()), ranking, SLOT(show())); rankingTimer->start(2000); // Wait 2 seconds before showing the ranking this->infoLabel->setStyleSheet("background: qradialgradient(spread:pad, " "cx:0.5, cy:0.5, radius:0.5, fx:0.5, " "fy:0.5, stop:0 rgba(0, 0, 128, 255) " "stop:1 rgba(0, 128, 255, 255)); " "color: white"); this->infoLabel->setText(tr("All done!")); } } /************************************************************************************** * * Check if answer is correct, give score, and get new question */ void AuralWindow::answerQuestion(int numAnswer) { qDebug() << "Answered question with button" << numAnswer; this->enablePlayerInput(false); this->aniNoteLabel->movie()->stop(); musicPlayer->stop(); // stop music // This helps Phonon's stateChanged(), avoids silent songs gameTimer->stop(); int questionPoints; if (timeBar->value() != 0) { //questionPoints = (100 * difficultyLevel) + (timeBar->value() / 2); // OLD questionPoints = 50 * difficultyLevel+1; questionPoints += timeBar->value() / 2; questionPoints += 100; } else { questionPoints = 0; this->timedOutAnswers[currentPlayer]++; qDebug() << "Answered by timeout"; } if (questionPoints != 0) { if (numAnswer == correctAnswer) { QStringList rightAnswerStrings; rightAnswerStrings << tr("Correct!!") << tr("Yeah!") << tr("That's right!") << tr("Good!") << tr("Great!"); this->infoLabel->setStyleSheet("background: " "qradialgradient(spread:pad, " "cx:0.5, cy:0.5, radius:0.5, " "fx:0.5, fy:0.5, stop:0 " "rgba(0, 192, 0, 255) " "stop:1 rgba(0, 255, 0, 0)); " "color: white"); this->infoLabel->setText(rightAnswerStrings .at(qrand() % rightAnswerStrings.length()) + " ~ " + tr("%1 by %2", "1=song title, 2=author name") .arg("\"" + musicFiles[2].at(currentMusicFile) + "\"") .arg("\"" + musicFiles[1].at(currentMusicFile) + "\"") + " ~ " + tr("+%1 points!").arg(questionPoints)); this->score[currentPlayer] += questionPoints; gameScore->display(score.at(currentPlayer)); this->goodAnswers[currentPlayer]++; qDebug() << "correct!!" << questionPoints; } else { QStringList wrongAnswerStrings; wrongAnswerStrings << tr("Wrong!") << tr("No!") << tr("That's not it.") << tr("Ooops!") << tr("FAIL!"); this->infoLabel->setStyleSheet("background: " "qradialgradient(spread:pad, " "cx:0.5, cy:0.5, radius:0.5, " "fx:0.5, fy:0.5, stop:0 " "rgba(192, 0, 0, 255) " "stop:1 rgba(255, 0, 0, 0)); " "color: white"); this->infoLabel->setText(wrongAnswerStrings .at(qrand() % wrongAnswerStrings.length()) + " " + tr("Correct answer was:") + " " + musicFiles[questionType].at(currentMusicFile)); // quite TMPFIX this->badAnswers[currentPlayer]++; qDebug() << "wrong!"; } } this->updateStatistics(); if (numPlayers > 1) { this->currentPlayer++; if (currentPlayer == numPlayers) { this->currentPlayer = 0; // back to first player qDebug() << "Next question, back to Player 1"; } } if (currentPlayer == 0) { // Always on single-player, and after all players answer, in multi gameProgressBar->setValue(gameProgressBar->value() + 1); } postQuestionTimer->start(); // will call preQuestion() } // These below... suck void AuralWindow::answer1() { answerQuestion(1); } void AuralWindow::answer2() { answerQuestion(2); } void AuralWindow::answer3() { answerQuestion(3); } void AuralWindow::answer4() { answerQuestion(4); } // This one doesn't suck, actually! void AuralWindow::answerFromAnswerBox(bool correct) { if (correct) { answerQuestion(this->correctAnswer); } else { answerQuestion(-1); // Answer incorrectly } } void AuralWindow::confirmEndGame() { int confirm = QMessageBox::question(this, tr("End game?"), tr("Are you sure you want to end " "this game?"), tr("&Yes, end it"), tr("&No"), "", 1, 1); if (confirm == 0 && this->playing) // Ignore if game ended by timeout { // while the dialog was present qDebug() << "Ending game..."; this->toggleScreen(); } } void AuralWindow::killRanking() { qDebug() << "deleting Ranking object"; ranking->deleteLater(); this->toggleScreen(); } /////////////////////////////////////////////////////////////////////////////// //////////////////////////////// PROTECTED //////////////////////////////////// /////////////////////////////////////////////////////////////////////////////// /****************************************************************************** * * Store app config upon exit */ void AuralWindow::closeEvent(QCloseEvent *event) { QSettings settings; settings.setValue("firstRun", false); settings.setValue("size", this->size()); settings.setValue("useOwnColorTheme", this->useOwnColorTheme); settings.setValue("musicDirectory", this->musicDirectory); settings.setValue("numQuestions", this->numQuestions); settings.setValue("difficultyLevel", this->difficultyLevel); settings.setValue("numPlayers", this->numPlayers); settings.setValue("playerNames", this->playerNames); qDebug("closeEvent: config saved"); event->accept(); } auralquiz-v1.0.0/src/answerbox.h0000664000175000017500000000245713105040436014773 0ustar janjan/* * This file is part of Auralquiz * Copyright 2011-2017 JanKusanagi JRR * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the * Free Software Foundation, Inc., * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA . */ #ifndef ANSWERBOX_H #define ANSWERBOX_H #include #include #include #include class AnswerBox : public QLineEdit { Q_OBJECT public: AnswerBox(QWidget *parent = 0); ~AnswerBox(); QString normalizeString(QString original); void setAnswer(QString newAnswer); public slots: void validateAnswer(); signals: void answered(bool correct); private: QString correctAnswer; }; #endif // ANSWERBOX_H auralquiz-v1.0.0/src/main.cpp0000664000175000017500000000773713105040436014250 0ustar janjan/* * This file is part of Auralquiz * Copyright 2011-2017 JanKusanagi JRR * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the * Free Software Foundation, Inc., * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA . */ #include #include #include #include #include "auralwindow.h" #if QT_VERSION < QT_VERSION_CHECK(5, 0, 0) void customMessageHandlerQt4(QtMsgType type, const char *msg) { // do nothing Q_UNUSED(type) Q_UNUSED(msg) return; } #else void customMessageHandlerQt5(QtMsgType type, const QMessageLogContext &context, const QString &msg) { Q_UNUSED(type) Q_UNUSED(context) Q_UNUSED(msg) // Do nothing return; } #endif int main(int argc, char *argv[]) { QApplication auralApp(argc, argv); auralApp.setApplicationName("Auralquiz"); auralApp.setApplicationVersion("1.0.0"); auralApp.setOrganizationName("JanCoding"); auralApp.setOrganizationDomain("jancoding.wordpress.com"); std::cout << QString("Auralquiz v%1 - JanKusanagi 2011-2017\n") .arg(auralApp.applicationVersion()).toStdString(); std::cout << QString("- Built with Qt v%1\n") .arg(QT_VERSION_STR).toStdString(); std::cout << QString("- Running with Qt v%1\n\n") .arg(qVersion()).toStdString(); std::cout.flush(); // Register custom message handler, to hide debug messages unless specified if (qApp->arguments().contains("--debug", Qt::CaseInsensitive)) { std::cout << "Debug messages enabled\n"; } else { std::cout << "To see debug messages while running, use --debug\n"; #if QT_VERSION < QT_VERSION_CHECK(5, 0, 0) qInstallMsgHandler(customMessageHandlerQt4); #else qInstallMessageHandler(customMessageHandlerQt5); #endif } // Enable localization // Get language from LANG environment variable or system's locale QString languageString = qgetenv("LANG"); if (languageString.isEmpty()) { languageString = QLocale::system().name(); } QString languageFile; bool languageLoaded; QTranslator translatorQt; languageFile = QString("qt_%1").arg(languageString); std::cout << "\n" << "Using Qt translation " << QLibraryInfo::location(QLibraryInfo::TranslationsPath).toStdString() << "/" << languageFile.toStdString() << "... "; languageLoaded = translatorQt.load(languageFile, QLibraryInfo::location(QLibraryInfo::TranslationsPath)); if (languageLoaded) { std::cout << "OK"; auralApp.installTranslator(&translatorQt); } else { std::cout << "Unavailable"; } QTranslator translatorAuralquiz; languageFile = QString(":/translations/auralquiz_%1").arg(languageString); std::cout << "\n" << "Using program translation " << languageFile.toStdString() << "... "; languageLoaded = translatorAuralquiz.load(languageFile); if (languageLoaded) { std::cout << "OK"; auralApp.installTranslator(&translatorAuralquiz); } else { std::cout << "Unavailable"; } std::cout << "\n\n"; std::cout.flush(); AuralWindow auralWindow; auralWindow.show(); return auralApp.exec(); } auralquiz-v1.0.0/translations/0000775000175000017500000000000013105040436014534 5ustar janjanauralquiz-v1.0.0/translations/auralquiz_pl.ts0000664000175000017500000006203613105040436017623 0ustar janjan AnswerBox Type the answer here AuralWindow First usage This seems to be the first time you use Auralquiz. Before playing, your music will be analyzed. If needed, you should click the Options button and select the folder where your Ogg, FLAC and MP3 files are stored. This folder, and sub-folders will be scanned so Auralquiz can generate questions and answers about your music. You need files correctly tagged in order for the game to work correctly. The scan can take some time, and the program will not be responsive until it is complete. Please be patient. Good Bad Timed out &Start game &Options &About... &Quit Time Remaining time to answer this question %v out of %m questions - %p% How many questions you've answered Score Your current score &End game Statistics Sound system error There seems to be a problem with your sound system. Maybe you don't have any Phonon backends installed. Starting! Let's go! GO!! Good luck! %1 songs available Error playing sound An error occurred while playing sound. The error message was: %1 Maybe your Phonon-backend does not have support for the MP3 file format. Time's up!! The answer was: About Auralquiz Auralquiz loads all your music from a specified folder and asks questions about it, playing a short piece of each music file as clue. English translation by JanKusanagi. TRANSLATORS: Change this with your language and name. Feel free to add your contact information, such as e-mail. If there was another translator before you, add your name after theirs ;) Thanks to all the testers, translators and packagers, who help make Auralquiz better! Auralquiz is licensed under the GNU GPL license. Main screen image and some icons are based on Oxygen icons, under LGPL license. Who plays this song? What's the title of this song? Player %1 of %2 Not enough music files You don't have enough music files, or from enough different artists. You need music from at least 5 different artists to be able to generate questions. Go, %1! %1=player's name Next! All done! Correct!! Yeah! That's right! Good! Great! %1 by %2 1=song title, 2=author name +%1 points! Wrong! No! That's not it. Ooops! FAIL! Correct answer was: End game? Are you sure you want to end this game? &Yes, end it &No MusicAnalyzer Configure your music folder Analyzing music. Please wait Getting list of files under %1 %1 is a folder Cancel Listing files... Please reload music info Music analysis was cancelled There are no valid music files in your selected music directory. Please, select another directory containing Ogg, FLAC or MP3 files, and try again. There is no music! Please choose another music folder Analyzing %1 files under %2 %1 is a number, %2 is a folder Cancel analysis Analyzing your music... The folder you selected doesn't have enough valid music files &Start game OptionsDialog Game options Using music from: Select your &music folder... &Easier &Harder How many &questions? questions How many &players? players Use own color theme Player names Save and &reload music &Cancel Select where your music is located Piece of cake Let's rock Come get some Damn I'm good HARD!! Hardcore! Type the answer In this level you'll have to type the answer. It's not too strict, so you don't have to worry about caps, commas and such. In this level you'll have to click the correct button, or press the 1, 2, 3 and 4 keys in your keyboard. &Save options Start! Ranking Game ended All questions done! Thanks for playing! Ranking Player Score Good Bad T.O. Timed out abbreviation What?? Zero points!! You're all sooo bad! Plural, all players Zero points! %1, you're very bad!! %1 is the name of a player Draw between %1 and %2! %1 and %2 are player names You're very good!! You're good! Congratulations, %1!! %1 is the name of the winner That was amazing!! That was quite good! You can do better... &OK auralquiz-v1.0.0/translations/auralquiz_it.qm0000664000175000017500000002753413105040436017617 0ustar janjan)4O (%1 H M~ M~w l[~ Qo T  e u!2 ޳n : x% ' I! ֵ# #  Gu K* Rί a~   %& ) c# & .$ %.! o P^ Ua*0 ga  z CZ m5^ A(qDR"k,Qx)oŅZ+i,3,Scrivi la risposta quiType the answer here AnswerBox,%v di %m domande - %p%%v out of %m questions - %p% AuralWindow&About... &About... AuralWindow&Fine gioco &End game AuralWindow&Opzioni&Options AuralWindow &Esci&Quit AuralWindowInizio &gioco &Start game AuralWindow+%1 punti! +%1 points! AuralWindowAbout AuralquizAbout Auralquiz AuralWindowFinito! All done! AuralWindowSi verificato un errore riproducendo suoni. Il messaggio di errore : %1 Forse il tuo Phonon-backend non supporta i file in formato MP3.An error occurred while playing sound. The error message was: %1 Maybe your Phonon-backend does not have support for the MP3 file format. AuralWindow&Auralquiz carica tutta la tua musica da una cartella specificata e ti fa domande su di essa, riproducendo un breve pezzo di ogni file come indizio.Auralquiz loads all your music from a specified folder and asks questions about it, playing a short piece of each music file as clue. AuralWindowSbagliateBad AuralWindowCorretto!! Correct!! AuralWindowFTraduzione in italiano di Giovanni.#English translation by JanKusanagi. AuralWindow2Errore riproduzione suoniError playing sound AuralWindowFALLITO!FAIL! AuralWindowPrimo utilizzo First usage AuralWindow VAI!!GO!! AuralWindowVai, %1!Go, %1! AuralWindow GiusteGood AuralWindowBuona fortuna! Good luck! AuralWindow Bene!Good! AuralWindowGrande!Great! AuralWindow6Quante domande hai risposto"How many questions you've answered AuralWindowAndiamo! Let's go! AuralWindowProssimo!Next! AuralWindowNo!No! AuralWindowJNumero di file musicali insufficienteNot enough music files AuralWindowOps!Ooops! AuralWindowTTempo restante per rispondere alla domanda&Remaining time to answer this question AuralWindowPunteggioScore AuralWindow2Errore del sistema sonoroSound system error AuralWindowInizio! Starting! AuralWindowStatistiche Statistics AuralWindowNon quello.That's not it. AuralWindow giusto! That's right! AuralWindowhSembra ci sia un problema con il tuo sistema sonoro.3There seems to be a problem with your sound system. AuralWindowlSembra sia la prima volta che usi Auralquiz. Prima di iniziare a giocare, la tua musica sar analizzata. Se necessario, clicca il pulsante Opzioni e seleziona la cartella dove si trovano i tuoi file Ogg, FLAC e MP3. Questa cartella e le sue sotto-cartelle saranno analizzate cos Auralquiz pu generare le domande e le risposte sulla tua musica. Bisogna che i file abbiano i tag corretti per far s che il gioco funzioni correttamente. L'analisi pu richiedere un po' di tempo, il programma non sar responsivo finch non sar terminata. Per favore abbi pazienza.This seems to be the first time you use Auralquiz. Before playing, your music will be analyzed. If needed, you should click the Options button and select the folder where your Ogg, FLAC and MP3 files are stored. This folder, and sub-folders will be scanned so Auralquiz can generate questions and answers about your music. You need files correctly tagged in order for the game to work correctly. The scan can take some time, and the program will not be responsive until it is complete. Please be patient. AuralWindow TempoTime AuralWindowTempo scaduto! Time's up!! AuralWindowFQual il titolo di questa canzone?What's the title of this song? AuralWindow2Chi canta questa canzone?Who plays this song? AuralWindowSbagliato!Wrong! AuralWindowS!Yeah! AuralWindow Non hai abbastanza file musicali, o di abbastanza artisti diversi. Devi avere canzoni di almeno 5 artisti diversi per poter generare le domande.You don't have enough music files, or from enough different artists. You need music from at least 5 different artists to be able to generate questions. AuralWindow"Punteggio attualeYour current score AuralWindowInizio &gioco &Start game MusicAnalyzer*Analisi %1 file in %2Analyzing %1 files under %2 MusicAnalyzer.Analisi musica. AttendiAnalyzing music. Please wait MusicAnalyzer6Analisi della tua musica...Analyzing your music... MusicAnalyzerAnnulla analisiCancel analysis MusicAnalyzerJScegli un'altra cartella della musica"Please choose another music folder MusicAnalyzerSeleziona un'altra cartella contenente file Ogg, FLAC o MP3, e prova di nuovo.RPlease, select another directory containing Ogg, FLAC or MP3 files, and try again. MusicAnalyzerxNon ci sono file musicali validi nella cartella selezionata.@There are no valid music files in your selected music directory. MusicAnalyzer&Musica non trovata!There is no music! MusicAnalyzer&Annulla&Cancel OptionsDialog&Salva opzioni &Save options OptionsDialogTi faccio nero Come get some OptionsDialogEhi! Sono bravo Damn I'm good OptionsDialogOpzioni gioco Game options OptionsDialogDIFFICILE!!HARD!! OptionsDialog6Estremo! Scrivi la rispostaHardcore! Type the answer OptionsDialog$Quanti &giocatori?How many &players? OptionsDialog Quante &domande?How many &questions? OptionsDialogIn questo livello devi cliccare il pulsante corretto, o premere i tasti 1, 2, 3 e 4 sulla tastiera.hIn this level you'll have to click the correct button, or press the 1, 2, 3 and 4 keys in your keyboard. OptionsDialogXIn questo livello devi digitare la risposta.-In this level you'll have to type the answer. OptionsDialogNon molto stringente, quindi non ti devi preoccupare di maiuscole, virgole e simili.LIt's not too strict, so you don't have to worry about caps, commas and such. OptionsDialogDacci dentro Let's rock OptionsDialog Gioco da ragazzi Piece of cake OptionsDialog$Nomi dei giocatori Player names OptionsDialog6Salva e &ricarica la musicaSave and &reload music OptionsDialogJSeleziona dove si trova la tua musica"Select where your music is located OptionsDialogTSeleziona la tua cartella della &musica...Select your &music folder... OptionsDialogInizio!Start! OptionsDialog6Usa tema dei colori proprioUse own color theme OptionsDialog(Usando la musica da:Using music from: OptionsDialoggiocatoriplayers OptionsDialogdomande questions OptionsDialog&OK&OKRanking.Tutte le domande fatte!All questions done!RankingSbagliateBadRanking(Congratulazioni, %1!Congratulations, %1!!Ranking*Pareggio tra %1 e %2!Draw between %1 and %2!RankingGioco finito Game endedRanking GiusteGoodRankingGiocatorePlayerRankingClassificaRankingRankingPunteggioScoreRankingT.S.T.O.Ranking0Grazie per aver giocato!Thanks for playing!Ranking2 andata abbastanza bene!That was quite good!RankingRCosa?? Zero punti!! Siete proprio scarsi!)What?? Zero points!! You're all sooo bad!Ranking,Puoi fare di meglio...You can do better...RankingSei bravo! You're good!Ranking"Sei molto bravo!!You're very good!!RankingFZero punti! %1, sei proprio scarso!"Zero points! %1, you're very bad!!Rankingauralquiz-v1.0.0/translations/auralquiz_fr.qm0000664000175000017500000003707013105040436017606 0ustar janjanl;9k4#+ON-4 iZ}U0Ɓ5+M)~!"1)7F$:fI"> f1+a .n#fgQyr6Qa2d*"s,X1u ImO w_ 9{@ x +,(3o\1p5r+s!A99e܅(3ݷ>)4$ 631- %C'4 M~ M~ l[~b Q f  u. ޳n :W ;%h ;n x!E 5 I) ֵ / ) * #t /Z Gu K8 Rί a~ "   %3 Li 7 c1" 4+ .2J %./-  #i P^& Ua8 gaA z C*^ m5 AM(q R0Kk,Q7 Va#JŅZZi:O(Tapez la rponse iciType the answer here AnswerBox%1 par %2%1 by %2 AuralWindow.%1 chansons disponibles%1 songs available AuralWindow2%v sur %m questions - %p%%v out of %m questions - %p% AuralWindow &propos... &About... AuralWindow &Terminer le jeu &End game AuralWindow&Non&No AuralWindow&Options&Options AuralWindow&Quitter&Quit AuralWindow &Dmarrer le jeu &Start game AuralWindow&Oui, terminer &Yes, end it AuralWindow+%1 points ! +%1 points! AuralWindow( propos d'AuralquizAbout Auralquiz AuralWindowTermin ! All done! AuralWindow,Une erreur est survenue en jouant un son. Le message d'erreur tait : %1 Peut-tre que votre backend Phonon ne supporte pas le format de fichier MP3.An error occurred while playing sound. The error message was: %1 Maybe your Phonon-backend does not have support for the MP3 file format. AuralWindow`Etes-vous sr de vouloir terminer cette partie ?'Are you sure you want to end this game? AuralWindowFAuralquiz est sous licence GNU GPL.0Auralquiz is licensed under the GNU GPL license. AuralWindow.Auralquiz charge toute votre musique depuis un certain dossier et pose des questions dessus, en jouant un petit morceau de chaque musique comme indice.Auralquiz loads all your music from a specified folder and asks questions about it, playing a short piece of each music file as clue. AuralWindowMauvaisBad AuralWindow0La bonne rponse tait :Correct answer was: AuralWindowCorrect !! Correct!! AuralWindow(Terminer la partie ? End game? AuralWindowTraduction franaise par ntome, Adrien DAUGABEL et David GEIGER.#English translation by JanKusanagi. AuralWindow.Erreur en jouant un sonError playing sound AuralWindow RAT !FAIL! AuralWindow(Premire utilisation First usage AuralWindowPARTEZ !!GO!! AuralWindowAllez, %1 !Go, %1! AuralWindowBonGood AuralWindowBonne chance ! Good luck! AuralWindow Bien !Good! AuralWindowGnial !Great! AuralWindowP combien de questions vous avez rpondu"How many questions you've answered AuralWindowPrts ? Let's go! AuralWindowL'image de l'cran principal et les icnes sont bass sur les icones Oxygen, sous licence LGPL.OMain screen image and some icons are based on Oxygen icons, under LGPL license. AuralWindowtPeut-tre que vous n'avez aucun backend Phonon d'install.3Maybe you don't have any Phonon backends installed. AuralWindowSuivant !Next! AuralWindow Non !No! AuralWindow<Pas assez de fichiers musicauxNot enough music files AuralWindowOuuups !Ooops! AuralWindow Joueur %1 sur %2Player %1 of %2 AuralWindowXTemps restant pour rpondre cette question&Remaining time to answer this question AuralWindow ScoreScore AuralWindow0Erreur du systme de sonSound system error AuralWindow vos marques ! Starting! AuralWindowStatistiques Statistics AuralWindowMerci tous les testeurs, traducteurs et packageurs, qui contribuent l'amlioration d'Auralquiz !UThanks to all the testers, translators and packagers, who help make Auralquiz better! AuralWindow Ce n'est pas a.That's not it. AuralWindowC'est juste ! That's right! AuralWindow$La rponse tait :The answer was: AuralWindowtIl semble qu'il y a un problme avec votre systme de son.3There seems to be a problem with your sound system. AuralWindowbIl semble que c'est la premire fois que vous utilisez Auralquiz. Avant de jouer, votre musique sera analyse. Si vous avez besoin, vous pouvez cliquer le bouton Options et slectionner le dossier o se trouvent vos fichiers Ogg, FLAC et MP3. Ce dossier, et ses sous-dossiers seront scanns pour qu'Auralquiz puisse gnrer des questions-rponses sur votre musique. Vous avez besoin de fichiers correctement taggs pour que le jeu fonctionne bien. Le scan peut durer longtemps, et le programme peut ne plus rpondre tant que ce n'est pas fini. Soyez patient.This seems to be the first time you use Auralquiz. Before playing, your music will be analyzed. If needed, you should click the Options button and select the folder where your Ogg, FLAC and MP3 files are stored. This folder, and sub-folders will be scanned so Auralquiz can generate questions and answers about your music. You need files correctly tagged in order for the game to work correctly. The scan can take some time, and the program will not be responsive until it is complete. Please be patient. AuralWindow TempsTime AuralWindowTemps coul !! Time's up!! AuralWindowTemps coul Timed out AuralWindowBQuel est le titre de ce morceau ?What's the title of this song? AuralWindow*Qui joue ce morceau ?Who plays this song? AuralWindow Faux !Wrong! AuralWindow Yeah !Yeah! AuralWindow`Vous n'avez pas assez de fichiers musicaux, ou pas assez d'artistes diffrents. Vous avez besoin de musique d'au moins 5 artistes diffrents pour pouvoir gnrer des questions.You don't have enough music files, or from enough different artists. You need music from at least 5 different artists to be able to generate questions. AuralWindow$Votre score actuelYour current score AuralWindow &Dmarrer le jeu &Start game MusicAnalyzer6Analyse %1 fichiers dans %2Analyzing %1 files under %2 MusicAnalyzerRAnalyse de la musique. Veuillez patienterAnalyzing music. Please wait MusicAnalyzer0Analyse votre musique...Analyzing your music... MusicAnalyzerAnnulerCancel MusicAnalyzer"Annuler l'analyseCancel analysis MusicAnalyzerFConfigurer votre dossier de musiqueConfigure your music folder MusicAnalyzerTObtention de la liste des fichiers dans %1Getting list of files under %1 MusicAnalyzer*Liste les fichiers...Listing files... MusicAnalyzerJL'analyse de la musique a t annuleMusic analysis was cancelled MusicAnalyzerbVeuillez slectionner un autre dossier de musique"Please choose another music folder MusicAnalyzerbMerci de recharger les informations de la musiquePlease reload music info MusicAnalyzerVeuillez slectionner un autre dossier contenant des fichiers Ogg, FLAC ou MP3 puis ressayez.RPlease, select another directory containing Ogg, FLAC or MP3 files, and try again. MusicAnalyzerLe dossier que vous avez slectionn n'a pas assez de fichiers de musique valide=The folder you selected doesn't have enough valid music files MusicAnalyzerIl n'y a pas de fichier de musique valide dans le dossier de musique slectionn.@There are no valid music files in your selected music directory. MusicAnalyzer2Il n'y a pas de musique !There is no music! MusicAnalyzer&Annuler&Cancel OptionsDialog&Plus facile&Easier OptionsDialog&Plus difficile&Harder OptionsDialog0&Enregistrer les options &Save options OptionsDialogCome get some Come get some OptionsDialogDamn I'm good Damn I'm good OptionsDialogOptions du jeu Game options OptionsDialogDifficile !!HARD!! OptionsDialogDSuper difficile ! Taper la rponseHardcore! Type the answer OptionsDialog*Combien de &joueurs ?How many &players? OptionsDialog.Combien de &questions ?How many &questions? OptionsDialogDans ce niveau, vous devrez cliquer sur le bon bouton, ou appuyer sur les touches 1, 2, 3 ou 4 de votre clavier.hIn this level you'll have to click the correct button, or press the 1, 2, 3 and 4 keys in your keyboard. OptionsDialogZDans ce niveau, vous devrez taper la rponse.-In this level you'll have to type the answer. OptionsDialogCe n'est pas trop strict, vous n'avez pas besoin de mettre les majuscules, virgules etc.LIt's not too strict, so you don't have to worry about caps, commas and such. OptionsDialogLet's rock Let's rock OptionsDialogPiece of cake Piece of cake OptionsDialog Noms des joueurs Player names OptionsDialogHEnregistrer et &recharger la musiqueSave and &reload music OptionsDialogdSlectionnez le dossier o se trouve votre musique"Select where your music is located OptionsDialogRSlectionnez votre dossier de &musique...Select your &music folder... OptionsDialogDmarrer !Start! OptionsDialogHUtiliser le thme de couleur spcialUse own color theme OptionsDialog.Utilise la musique de :Using music from: OptionsDialogjoueursplayers OptionsDialogquestions questions OptionsDialog&OK&OKRankingBToutes les questions sont faites!All questions done!RankingMauvaisBadRanking(Flicitations, %1 !!Congratulations, %1!!Ranking0galit entre %1 et %2 !Draw between %1 and %2!RankingPartie termine Game endedRankingBonGoodRanking JoueurPlayerRankingClassementRankingRanking ScoreScoreRankingD.D.T.O.Ranking(Merci d'avoir jou !Thanks for playing!Ranking*C'tait formidable !!That was amazing!!Ranking*C'tait plutt bien !That was quite good!RankinglQuoi ? Aucun point !! Mais vous tes tous si mauvais !)What?? Zero points!! You're all sooo bad!Ranking,Tu peux mieux faire...You can do better...RankingVous tes bon ! You're good!Ranking(Vous tes trs bon !You're very good!!RankingVAucun point ! %1, vous tes trs mauvais !!"Zero points! %1, you're very bad!!Rankingauralquiz-v1.0.0/translations/auralquiz_ru.ts0000664000175000017500000006203613105040436017636 0ustar janjan AnswerBox Type the answer here AuralWindow First usage This seems to be the first time you use Auralquiz. Before playing, your music will be analyzed. If needed, you should click the Options button and select the folder where your Ogg, FLAC and MP3 files are stored. This folder, and sub-folders will be scanned so Auralquiz can generate questions and answers about your music. You need files correctly tagged in order for the game to work correctly. The scan can take some time, and the program will not be responsive until it is complete. Please be patient. Good Bad Timed out &Start game &Options &About... &Quit Time Remaining time to answer this question %v out of %m questions - %p% How many questions you've answered Score Your current score &End game Statistics Sound system error There seems to be a problem with your sound system. Maybe you don't have any Phonon backends installed. Starting! Let's go! GO!! Good luck! %1 songs available Error playing sound An error occurred while playing sound. The error message was: %1 Maybe your Phonon-backend does not have support for the MP3 file format. Time's up!! The answer was: About Auralquiz Auralquiz loads all your music from a specified folder and asks questions about it, playing a short piece of each music file as clue. English translation by JanKusanagi. TRANSLATORS: Change this with your language and name. Feel free to add your contact information, such as e-mail. If there was another translator before you, add your name after theirs ;) Thanks to all the testers, translators and packagers, who help make Auralquiz better! Auralquiz is licensed under the GNU GPL license. Main screen image and some icons are based on Oxygen icons, under LGPL license. Who plays this song? What's the title of this song? Player %1 of %2 Not enough music files You don't have enough music files, or from enough different artists. You need music from at least 5 different artists to be able to generate questions. Go, %1! %1=player's name Next! All done! Correct!! Yeah! That's right! Good! Great! %1 by %2 1=song title, 2=author name +%1 points! Wrong! No! That's not it. Ooops! FAIL! Correct answer was: End game? Are you sure you want to end this game? &Yes, end it &No MusicAnalyzer Configure your music folder Analyzing music. Please wait Getting list of files under %1 %1 is a folder Cancel Listing files... Please reload music info Music analysis was cancelled There are no valid music files in your selected music directory. Please, select another directory containing Ogg, FLAC or MP3 files, and try again. There is no music! Please choose another music folder Analyzing %1 files under %2 %1 is a number, %2 is a folder Cancel analysis Analyzing your music... The folder you selected doesn't have enough valid music files &Start game OptionsDialog Game options Using music from: Select your &music folder... &Easier &Harder How many &questions? questions How many &players? players Use own color theme Player names Save and &reload music &Cancel Select where your music is located Piece of cake Let's rock Come get some Damn I'm good HARD!! Hardcore! Type the answer In this level you'll have to type the answer. It's not too strict, so you don't have to worry about caps, commas and such. In this level you'll have to click the correct button, or press the 1, 2, 3 and 4 keys in your keyboard. &Save options Start! Ranking Game ended All questions done! Thanks for playing! Ranking Player Score Good Bad T.O. Timed out abbreviation What?? Zero points!! You're all sooo bad! Plural, all players Zero points! %1, you're very bad!! %1 is the name of a player Draw between %1 and %2! %1 and %2 are player names You're very good!! You're good! Congratulations, %1!! %1 is the name of the winner That was amazing!! That was quite good! You can do better... &OK auralquiz-v1.0.0/translations/auralquiz_ca.ts0000664000175000017500000006521513105040436017575 0ustar janjan AnswerBox Type the answer here Tecleja la resposta aqui AuralWindow &Start game Començar &joc &About... So&bre... &Quit &Sortir Remaining time to answer this question Temps restant per respondre la pregunta %v out of %m questions - %p% %v de %m preguntes - %p% How many questions you've answered Quantes preguntes has contestat Score Puntuació Your current score La teva puntuació actual &End game &Finalitzar joc Statistics Estadístiques Sound system error Error del sistema de so There seems to be a problem with your sound system. Sembla que hi ha un problema amb el teu sistema de so. Maybe you don't have any Phonon backends installed. Potser no tens cap motor de Phonon instal·lat. %1 songs available %1 cançons disponibles English translation by JanKusanagi. TRANSLATORS: Change this with your language and name. Feel free to add your contact information, such as e-mail. If there was another translator before you, add your name after theirs ;) Traducció al català per JanKusanagi. This seems to be the first time you use Auralquiz. Before playing, your music will be analyzed. If needed, you should click the Options button and select the folder where your Ogg, FLAC and MP3 files are stored. This folder, and sub-folders will be scanned so Auralquiz can generate questions and answers about your music. You need files correctly tagged in order for the game to work correctly. The scan can take some time, and the program will not be responsive until it is complete. Please be patient. Sembla que aquesta és la primera vegada que utilitzes Auralquiz. Abans de jugar, s'analitzarà la teva música. Si fos necessari, hauríes de fer click al botó d'Opcions i sel·leccionar la carpeta on es troben els teus arxius Ogg, Flac i MP3. Aquesta carpeta, i sub-carpetes seran analitzades perque Auralquiz pugui generar preguntes i respostes sobre la teva música. Necessites arxius etiquetats correctament perque el joc funcioni com cal. L'anàlisis pot trigar una mica, i el programa no respondrà fins que sigui complet. Si us plau, sigues pacient. Error playing sound Error reproduint so An error occurred while playing sound. The error message was: %1 Maybe your Phonon-backend does not have support for the MP3 file format. S'ha produït un error durant la reproducció de so. El missatge d'error ha sigut: %1 Potser el teu Phonon-backend no té suport pel format d'arxiu MP3. Time's up!! S'ha acabat el temps! About Auralquiz Sobre Auralquiz Auralquiz loads all your music from a specified folder and asks questions about it, playing a short piece of each music file as clue. Auralquiz carrega tota la teva música d'una carpeta especificada, i fa preguntes sobre ella, reproduint una petita peça de cada arxiu de música com a pista. Starting! Comencem! Good Bad Malament Timed out Temps esgotat Let's go! Anem! GO!! Vinga! Good luck! Bona sort! The answer was: La resposta era: Thanks to all the testers, translators and packagers, who help make Auralquiz better! Gràcies a tots els 'testers', traductors i empaquetadors, que ajuden a fer Auralquiz millor! Auralquiz is licensed under the GNU GPL license. Auralquiz es troba llicenciat sota la llicència GNU GPL. Main screen image and some icons are based on Oxygen icons, under LGPL license. La imatge de la pantalla principal, i algunes icones, estan basades en Oxygen Icons, sota llicencia LGPL. Player %1 of %2 Jugador %1 de %2 Go, %1! %1=player's name Endavant, %1! %1 by %2 1=song title, 2=author name %1 de %2 +%1 points! +%1 punts! Correct answer was: La resposta correcta era: End game? Finalitzar el joc? Are you sure you want to end this game? Segur que vols acabar la partida? &Yes, end it &Si, acabar-la &No &No First usage Primer ús Not enough music files No hi ha prou arxius de música You don't have enough music files, or from enough different artists. You need music from at least 5 different artists to be able to generate questions. No tens prou arxius de música, o no son de prou artistes diferents. Necessites música de 5 artistes diferents, com a mínim, pero poder generar preguntes. Next! Següent! Correct!! Correcte!! Yeah! Si! That's right! Així és! Good! Bé! Great! Genial! Wrong! Equivocat! No! No! Ooops! Ups! FAIL! FAIL! That's not it. No, aquesta no. All done! Tot fet! &Options &Opcions Time Temps Who plays this song? Qui toca aquesta cançó? What's the title of this song? Quin es el títol d'aquesta cançó? MusicAnalyzer Configure your music folder Configura la teva carpeta de música Analyzing music. Please wait Analitzant música. Espera, si us plau Getting list of files under %1 %1 is a folder Llistant arxius a %1 Cancel Cancel·lar Listing files... Llistant arxius... Please reload music info Si us plau, recarrega la info de música Music analysis was cancelled S'ha cancel·lat l'anàlisi de la música There are no valid music files in your selected music directory. No hi han arxius de música vàlids al teu directori de música sel·leccionat. Please, select another directory containing Ogg, FLAC or MP3 files, and try again. Si us plau, sel·lecciona un altre directori que contingui arxius Ogg, FLAC o MP3, i prova de nou. There is no music! No hi ha música! Please choose another music folder Si us plau, sel·lecciona una altra carpeta de música Analyzing %1 files under %2 %1 is a number, %2 is a folder Analitzant %1 arxius a %2 Cancel analysis Cancel·lar l'anàlisi Analyzing your music... Analitzant la teva música... The folder you selected doesn't have enough valid music files La carpeta que has seleccionat no té prou arxius de música vàlids &Start game Començar &joc OptionsDialog Game options Opcions del joc Using music from: Fent servir música de: Select your &music folder... Sel·lecciona la teva carpeta de &música... &Easier Mes &fàcil &Harder Mes &difícil How many &questions? Quantes &preguntes? questions preguntes How many &players? Quants &jugadors? players jugadors Use own color theme Utilitzar tema de colors propi Player names Noms dels jugadors Save and &reload music Guardar i &recarregar la música In this level you'll have to type the answer. En aquest nivell hauràs d'escriure la resposta. It's not too strict, so you don't have to worry about caps, commas and such. No es gaire estricte, o sigui que no t'has de preocupar de les majúscules, comes, etc. In this level you'll have to click the correct button, or press the 1, 2, 3 and 4 keys in your keyboard. En aquest nivell hauràs de fer clic al botó correcte, o apretar les tecles 1, 2, 3 i 4 del teclat. &Save options &Guardar opcions &Cancel &Cancel·lar Select where your music is located Sel·lecciona on es troba la teva música Piece of cake Let's rock Come get some Damn I'm good HARD!! Hardcore! Type the answer Molt difícil! Tecleja la resposta Start! Començar! Ranking Game ended Joc acabat All questions done! Has contestat totes les preguntes! Thanks for playing! Gràcies per jugar! Ranking Clasificació Player Jugador Score Puntuació Good Bad Malament T.O. Timed out abbreviation T.E. What?? Zero points!! You're all sooo bad! Plural, all players Què?? Zero punts!! Sou tots mooolt dolents! Zero points! %1, you're very bad!! %1 is the name of a player Zero punts! %1, se't dóna molt malament!! Draw between %1 and %2! %1 and %2 are player names Empat entre %1 i %2! You're very good!! Se't dóna molt be!! Congratulations, %1!! %1 is the name of the winner Felicitats, %1! That was amazing!! Ha sigut increïble!! That was quite good! Ha estat força bé! You can do better... Pots fer-ho millor... You're good! Ets bo! &OK &OK auralquiz-v1.0.0/translations/auralquiz_ca.qm0000664000175000017500000003565213105040436017566 0ustar janjandl;6k2E#)N+D4 uib}U.Ɓ2M)~ "1'F#fFI!@ f1)a <.n"fgQr3a0d)C"s*1u mO w_ {@  **(1o\/|p3r)rs!A716܅&ݷ>)4# 401 %C& M~z M~ l[~d Q ` p q u, ޳n : ;$L ;n # x G 36 I(7 ֵ/ (v ( # /Z Gu K6M Rί a~` " 7  %1K Li 5^ c/ 1 .0 %.-?  #+ P^$ Ua5 ga z+ C( m5 Ag(q jR.Yk,Q4Va"XŅZFi70Tecleja la resposta aquiType the answer here AnswerBox%1 de %2%1 by %2 AuralWindow,%1 canons disponibles%1 songs available AuralWindow0%v de %m preguntes - %p%%v out of %m questions - %p% AuralWindowSo&bre... &About... AuralWindow&Finalitzar joc &End game AuralWindow&No&No AuralWindow&Opcions&Options AuralWindow&Sortir&Quit AuralWindowComenar &joc &Start game AuralWindow&Si, acabar-la &Yes, end it AuralWindow+%1 punts! +%1 points! AuralWindowSobre AuralquizAbout Auralquiz AuralWindowTot fet! All done! AuralWindow,S'ha produt un error durant la reproducci de so. El missatge d'error ha sigut: %1 Potser el teu Phonon-backend no t suport pel format d'arxiu MP3.An error occurred while playing sound. The error message was: %1 Maybe your Phonon-backend does not have support for the MP3 file format. AuralWindowBSegur que vols acabar la partida?'Are you sure you want to end this game? AuralWindowpAuralquiz es troba llicenciat sota la llicncia GNU GPL.0Auralquiz is licensed under the GNU GPL license. AuralWindow8Auralquiz carrega tota la teva msica d'una carpeta especificada, i fa preguntes sobre ella, reproduint una petita pea de cada arxiu de msica com a pista.Auralquiz loads all your music from a specified folder and asks questions about it, playing a short piece of each music file as clue. AuralWindowMalamentBad AuralWindow2La resposta correcta era:Correct answer was: AuralWindowCorrecte!! Correct!! AuralWindow$Finalitzar el joc? End game? AuralWindowHTraducci al catal per JanKusanagi.#English translation by JanKusanagi. AuralWindow&Error reproduint soError playing sound AuralWindow FAIL!FAIL! AuralWindowPrimer s First usage AuralWindow Vinga!GO!! AuralWindowEndavant, %1!Go, %1! AuralWindowBGood AuralWindowBona sort! Good luck! AuralWindowB!Good! AuralWindowGenial!Great! AuralWindow>Quantes preguntes has contestat"How many questions you've answered AuralWindow Anem! Let's go! AuralWindowLa imatge de la pantalla principal, i algunes icones, estan basades en Oxygen Icons, sota llicencia LGPL.OMain screen image and some icons are based on Oxygen icons, under LGPL license. AuralWindow\Potser no tens cap motor de Phonon installat.3Maybe you don't have any Phonon backends installed. AuralWindowSegent!Next! AuralWindowNo!No! AuralWindow<No hi ha prou arxius de msicaNot enough music files AuralWindowUps!Ooops! AuralWindow Jugador %1 de %2Player %1 of %2 AuralWindowNTemps restant per respondre la pregunta&Remaining time to answer this question AuralWindowPuntuaciScore AuralWindow.Error del sistema de soSound system error AuralWindowComencem! Starting! AuralWindowEstadstiques Statistics AuralWindowGrcies a tots els 'testers', traductors i empaquetadors, que ajuden a fer Auralquiz millor!UThanks to all the testers, translators and packagers, who help make Auralquiz better! AuralWindowNo, aquesta no.That's not it. AuralWindowAix s! That's right! AuralWindow La resposta era:The answer was: AuralWindowlSembla que hi ha un problema amb el teu sistema de so.3There seems to be a problem with your sound system. AuralWindowPSembla que aquesta s la primera vegada que utilitzes Auralquiz. Abans de jugar, s'analitzar la teva msica. Si fos necessari, haures de fer click al bot d'Opcions i selleccionar la carpeta on es troben els teus arxius Ogg, Flac i MP3. Aquesta carpeta, i sub-carpetes seran analitzades perque Auralquiz pugui generar preguntes i respostes sobre la teva msica. Necessites arxius etiquetats correctament perque el joc funcioni com cal. L'anlisis pot trigar una mica, i el programa no respondr fins que sigui complet. Si us plau, sigues pacient.This seems to be the first time you use Auralquiz. Before playing, your music will be analyzed. If needed, you should click the Options button and select the folder where your Ogg, FLAC and MP3 files are stored. This folder, and sub-folders will be scanned so Auralquiz can generate questions and answers about your music. You need files correctly tagged in order for the game to work correctly. The scan can take some time, and the program will not be responsive until it is complete. Please be patient. AuralWindow TempsTime AuralWindow*S'ha acabat el temps! Time's up!! AuralWindowTemps esgotat Timed out AuralWindowBQuin es el ttol d'aquesta can?What's the title of this song? AuralWindow.Qui toca aquesta can?Who plays this song? AuralWindowEquivocat!Wrong! AuralWindowSi!Yeah! AuralWindow2No tens prou arxius de msica, o no son de prou artistes diferents. Necessites msica de 5 artistes diferents, com a mnim, pero poder generar preguntes.You don't have enough music files, or from enough different artists. You need music from at least 5 different artists to be able to generate questions. AuralWindow0La teva puntuaci actualYour current score AuralWindowComenar &joc &Start game MusicAnalyzer2Analitzant %1 arxius a %2Analyzing %1 files under %2 MusicAnalyzerJAnalitzant msica. Espera, si us plauAnalyzing music. Please wait MusicAnalyzer8Analitzant la teva msica...Analyzing your music... MusicAnalyzerCancellarCancel MusicAnalyzer(Cancellar l'anlisiCancel analysis MusicAnalyzerFConfigura la teva carpeta de msicaConfigure your music folder MusicAnalyzer(Llistant arxius a %1Getting list of files under %1 MusicAnalyzer$Llistant arxius...Listing files... MusicAnalyzerLS'ha cancellat l'anlisi de la msicaMusic analysis was cancelled MusicAnalyzerhSi us plau, sellecciona una altra carpeta de msica"Please choose another music folder MusicAnalyzerNSi us plau, recarrega la info de msicaPlease reload music info MusicAnalyzerSi us plau, sellecciona un altre directori que contingui arxius Ogg, FLAC o MP3, i prova de nou.RPlease, select another directory containing Ogg, FLAC or MP3 files, and try again. MusicAnalyzerLa carpeta que has seleccionat no t prou arxius de msica vlids=The folder you selected doesn't have enough valid music files MusicAnalyzerNo hi han arxius de msica vlids al teu directori de msica selleccionat.@There are no valid music files in your selected music directory. MusicAnalyzer No hi ha msica!There is no music! MusicAnalyzer&Cancellar&Cancel OptionsDialogMes &fcil&Easier OptionsDialogMes &difcil&Harder OptionsDialog &Guardar opcions &Save options OptionsDialog Come get some OptionsDialog Damn I'm good OptionsDialogOpcions del joc Game options OptionsDialogHARD!! OptionsDialogBMolt difcil! Tecleja la respostaHardcore! Type the answer OptionsDialog"Quants &jugadors?How many &players? OptionsDialog&Quantes &preguntes?How many &questions? OptionsDialogEn aquest nivell haurs de fer clic al bot correcte, o apretar les tecles 1, 2, 3 i 4 del teclat.hIn this level you'll have to click the correct button, or press the 1, 2, 3 and 4 keys in your keyboard. OptionsDialog^En aquest nivell haurs d'escriure la resposta.-In this level you'll have to type the answer. OptionsDialogNo es gaire estricte, o sigui que no t'has de preocupar de les majscules, comes, etc.LIt's not too strict, so you don't have to worry about caps, commas and such. OptionsDialog Let's rock OptionsDialog Piece of cake OptionsDialog$Noms dels jugadors Player names OptionsDialog>Guardar i &recarregar la msicaSave and &reload music OptionsDialogNSellecciona on es troba la teva msica"Select where your music is located OptionsDialogTSellecciona la teva carpeta de &msica...Select your &music folder... OptionsDialogComenar!Start! OptionsDialog<Utilitzar tema de colors propiUse own color theme OptionsDialog,Fent servir msica de:Using music from: OptionsDialogjugadorsplayers OptionsDialogpreguntes questions OptionsDialog&OK&OKRankingDHas contestat totes les preguntes!All questions done!RankingMalamentBadRankingFelicitats, %1!Congratulations, %1!!Ranking(Empat entre %1 i %2!Draw between %1 and %2!RankingJoc acabat Game endedRankingBGoodRankingJugadorPlayerRankingClasificaciRankingRankingPuntuaciScoreRankingT.E.T.O.Ranking$Grcies per jugar!Thanks for playing!Ranking(Ha sigut increble!!That was amazing!!Ranking$Ha estat fora b!That was quite good!RankingVQu?? Zero punts!! Sou tots mooolt dolents!)What?? Zero points!! You're all sooo bad!Ranking*Pots fer-ho millor...You can do better...RankingEts bo! You're good!Ranking&Se't dna molt be!!You're very good!!RankingRZero punts! %1, se't dna molt malament!!"Zero points! %1, you're very bad!!Rankingauralquiz-v1.0.0/translations/auralquiz_cs.qm0000664000175000017500000003466413105040436017612 0ustar janjan l;4k0K#'N)x4 iX}U,Ɓ0Mr)~W"1& WF!fI f1(=a .n!6fgQ?r1a.d{'Q"s(1u ?mOw_ {@ @ (q)&(/o\-p1{r's!A574܅%ݷ>)4" 2 .1\ %C$@ M~R M~ l[~L Q  u* ޳n : ;" ;n x 1 I&g ֵ & & # /Z Gu K4G Rί a~ "q  H %/c LiD 3> c-T / ..N %.+u s # P^# Ua3 ga z C' m5 A/(q R,k,Qo2Va ŅZi5&Zde napiate odpovType the answer here AnswerBox%1 od %2%1 by %2 AuralWindow&Dostupnch %1 psn%1 songs available AuralWindow(%v z %m otzek - %p%%v out of %m questions - %p% AuralWindow &O... &About... AuralWindow&Ukon it hru &End game AuralWindow&Ne&No AuralWindow &Volby&Options AuralWindow&Ukon it&Quit AuralWindow&Spustit hru &Start game AuralWindow&Ano, ukon it &Yes, end it AuralWindow+%1 bodo! +%1 points! AuralWindow(O programu AuralquizAbout Auralquiz AuralWindowVae hotovo! All done! AuralWindowPYi pYehrvn zvuku se vyskytla chyba. Chybov hlaen bylo: %1 Mo~n vaae jdro Phonon nem podporu pro formt MP3.An error occurred while playing sound. The error message was: %1 Maybe your Phonon-backend does not have support for the MP3 file format. AuralWindow@Opravdu chcete tuto hru ukon it?'Are you sure you want to end this game? AuralWindowXAuralquiz je licencovn pod licenc GNU GPL.0Auralquiz is licensed under the GNU GPL license. AuralWindowAuralquiz nahrv vaechnu vaai hudbu ze zadan slo~ky a pt se na ni pYehrvaje kousek z ka~dho hudebnho souboru jako npovdu.Auralquiz loads all your music from a specified folder and asks questions about it, playing a short piece of each music file as clue. AuralWindow `patnBad AuralWindow*Sprvn odpov byla:Correct answer was: AuralWindowSprvn! Correct!! AuralWindowUkon it hru? End game? AuralWindow>PYeklad do  eatiny: Pavel Fric.#English translation by JanKusanagi. AuralWindow4Chyba pYi pYehrvn zvukuError playing sound AuralWindowNespch!FAIL! AuralWindowPrvn pou~it First usage AuralWindowPojme!GO!! AuralWindowJdi, %1!Go, %1! AuralWindow DobrGood AuralWindowHodn atst! Good luck! AuralWindow DobYe!Good! AuralWindowBje n!Great! AuralWindow8Kolik otzek jste zodpovdl"How many questions you've answered AuralWindowPojme na to! Let's go! AuralWindowObrzek na hlavn obrazovce a nkter ikony zalo~en na ikonch Oxygen vydanch pod licenc LGPL.OMain screen image and some icons are based on Oxygen icons, under LGPL license. AuralWindowtMo~e bt, ~e nemte nainstalovnu podpornou vrstvu Phonon.3Maybe you don't have any Phonon backends installed. AuralWindow DalaNext! AuralWindowNe!No! AuralWindow8Nedostatek hudebnch souboroNot enough music files AuralWindow Jejda!Ooops! AuralWindowHr %1 z %2Player %1 of %2 AuralWindowP as zbvajc na zodpovzen tto otzky&Remaining time to answer this question AuralWindowVsledekScore AuralWindow.Chyba zvukovho systmuSound system error AuralWindowZa nme! Starting! AuralWindowStatistika Statistics AuralWindowPodkovn vaem zkouae om, pYekladatelom a bal kYom, kteY Auralquiz pomohli udlat lepam!UThanks to all the testers, translators and packagers, who help make Auralquiz better! AuralWindowTo nen ono.That's not it. AuralWindowSprvn! That's right! AuralWindowOdpov byla:The answer was: AuralWindowPZd se, ~e va zvukov systm m pot~e.3There seems to be a problem with your sound system. AuralWindowZd se, ~e je to poprv, kdy pou~vte Auralquiz. PYed za tkem hry bude vaae hudba zpracovna. V pYpad potYeby mte klepnout na tla tko Volby a vybrat slo~ku, v n~ jsou ulo~eny vaae soubory Ogg, FLAC a MP3. Tato slo~ka a jej podslo~ky budou prohledny, tak~e Auralquiz bude moci vytvoYit otzky a odpovdi k vaa hudb. Aby hra b~ela sprvn, je potYeba, aby soubory byly Ydn ozna kovny. Prohldka mo~e chvli trvat a program nebude odpovdat, dokud nebude hotov. Mjte, prosm, trplivost.This seems to be the first time you use Auralquiz. Before playing, your music will be analyzed. If needed, you should click the Options button and select the folder where your Ogg, FLAC and MP3 files are stored. This folder, and sub-folders will be scanned so Auralquiz can generate questions and answers about your music. You need files correctly tagged in order for the game to work correctly. The scan can take some time, and the program will not be responsive until it is complete. Please be patient. AuralWindow asTime AuralWindow as vyprael! Time's up!! AuralWindowPYestvka Timed out AuralWindow2Jak je nzev tto psn?What's the title of this song? AuralWindow*Kdo hraje tuto pseH?Who plays this song? AuralWindow`patn!Wrong! AuralWindowAno!Yeah! AuralWindowNemte dostatek hudebnch souboro, nebo dost souboro od roznch umlco. Na tvoYen otzek potYebujete hudbu od alespoH pti roznch umlco.You don't have enough music files, or from enough different artists. You need music from at least 5 different artists to be able to generate questions. AuralWindow(Va nynja vsledekYour current score AuralWindow&Spustit hru &Start game MusicAnalyzerBProvd se rozbor %1 souboro v %2Analyzing %1 files under %2 MusicAnalyzerRProvd se rozbor hudby. Po kejte, prosmAnalyzing music. Please wait MusicAnalyzer>Provd se rozbor vaa hudby...Analyzing your music... MusicAnalyzer ZruaitCancel MusicAnalyzerZruait rozborCancel analysis MusicAnalyzer0Nastavte slo~ku s hudbouConfigure your music folder MusicAnalyzer<Zskv se seznam souboro v %1Getting list of files under %1 MusicAnalyzer<Sestavuje se seznam souboro...Listing files... MusicAnalyzer.Rozbor hudby byl zruaenMusic analysis was cancelled MusicAnalyzerLVyberte, prosm, jin adresY s hudbou"Please choose another music folder MusicAnalyzerFNahrajte, prosm, informace o hudbPlease reload music info MusicAnalyzerVyberte, prosm, jin adresY obsahujc soubory Ogg, FLAC nebo MP3 a zkuste to znovu.RPlease, select another directory containing Ogg, FLAC or MP3 files, and try again. MusicAnalyzer|Vmi vybran slo~ka neobsahuje dost platnch hudebnch souboro=The folder you selected doesn't have enough valid music files MusicAnalyzerVe vmi vybranm adresYi s hudbou nejsou ~dn platn hudebn soubory.@There are no valid music files in your selected music directory. MusicAnalyzer(Nen tu ~dn hudba!There is no music! MusicAnalyzerZ&ruait&Cancel OptionsDialog &Leh &Easier OptionsDialog &T~a&Harder OptionsDialog&Ulo~it volby &Save options OptionsDialog$Pojme nco sehnat Come get some OptionsDialog"Sakra, jsem dobr Damn I'm good OptionsDialogVolby pro hru Game options OptionsDialog T~k!HARD!! OptionsDialog,T~k! Napiate odpovHardcore! Type the answer OptionsDialogKolik &hr o?How many &players? OptionsDialogKolik &otzek?How many &questions? OptionsDialogNa tto rovni muste klepnout na sprvn tla tko, nebo na vaa klvesnici stisknout klvesu 1, 2, 3 nebo 4.hIn this level you'll have to click the correct button, or press the 1, 2, 3 and 4 keys in your keyboard. OptionsDialogJNa tto rovni muste napsat odpov.-In this level you'll have to type the answer. OptionsDialogNen to pYlia pYsn, tak~e se nemuste obvat velikosti psmen,  rek a tak podobn.LIt's not too strict, so you don't have to worry about caps, commas and such. OptionsDialogRozjedem to Let's rock OptionsDialogBrnka ka Piece of cake OptionsDialogJmna hr o Player names OptionsDialog8Ulo~it a &nahrt hudbu znovuSave and &reload music OptionsDialogFVyberte, kde je vaae hudba umstna"Select where your music is located OptionsDialog6Vyberte slo~ku s &hudbou...Select your &music folder... OptionsDialog Za t!Start! OptionsDialog8Pou~t vlastn barevn motivUse own color theme OptionsDialog&Pou~v se hudba z:Using music from: OptionsDialog hr oplayers OptionsDialog otzek questions OptionsDialog&OK&OKRanking.Vaechny otzky udlny!All questions done!Ranking `patnBadRankingBlahopYn %1!Congratulations, %1!!Ranking(Remza mezi %1 a %2!Draw between %1 and %2!RankingHra skon ena Game endedRanking DobrGoodRankingHr PlayerRanking}ebY ekRankingRankingVsledekScoreRankingPYekr.  asuT.O.RankingDky za hran!Thanks for playing!RankingTo bylo ~asn!That was amazing!!Ranking*To bylo docela dobr!That was quite good!RankingjCo~e? }dn body? Jste na to vaichni hodn moc bled!)What?? Zero points!! You're all sooo bad!Ranking2Dok~ete to udlat lp...You can do better...RankingJste dobr! You're good!Ranking"Jste velmi dobr!You're very good!!RankingR}dn body? %1, jste na tom velmi apatn!"Zero points! %1, you're very bad!!Rankingauralquiz-v1.0.0/translations/auralquiz_it.ts0000664000175000017500000006467213105040436017634 0ustar janjan AnswerBox Type the answer here Scrivi la risposta qui AuralWindow &Start game Inizio &gioco &About... &About... &Quit &Esci Remaining time to answer this question Tempo restante per rispondere alla domanda %v out of %m questions - %p% %v di %m domande - %p% How many questions you've answered Quante domande hai risposto Score Punteggio Your current score Punteggio attuale &End game &Fine gioco Statistics Statistiche Sound system error Errore del sistema sonoro There seems to be a problem with your sound system. Sembra ci sia un problema con il tuo sistema sonoro. Maybe you don't have any Phonon backends installed. %1 songs available English translation by JanKusanagi. TRANSLATORS: Change this with your language and name. Feel free to add your contact information, such as e-mail. If there was another translator before you, add your name after theirs ;) Traduzione in italiano di Giovanni. This seems to be the first time you use Auralquiz. Before playing, your music will be analyzed. If needed, you should click the Options button and select the folder where your Ogg, FLAC and MP3 files are stored. This folder, and sub-folders will be scanned so Auralquiz can generate questions and answers about your music. You need files correctly tagged in order for the game to work correctly. The scan can take some time, and the program will not be responsive until it is complete. Please be patient. Sembra sia la prima volta che usi Auralquiz. Prima di iniziare a giocare, la tua musica sarà analizzata. Se necessario, clicca il pulsante Opzioni e seleziona la cartella dove si trovano i tuoi file Ogg, FLAC e MP3. Questa cartella e le sue sotto-cartelle saranno analizzate così Auralquiz può generare le domande e le risposte sulla tua musica. Bisogna che i file abbiano i tag corretti per far sì che il gioco funzioni correttamente. L'analisi può richiedere un po' di tempo, il programma non sarà responsivo finchè non sarà terminata. Per favore abbi pazienza. Error playing sound Errore riproduzione suoni An error occurred while playing sound. The error message was: %1 Maybe your Phonon-backend does not have support for the MP3 file format. Si è verificato un errore riproducendo suoni. Il messaggio di errore è: %1 Forse il tuo Phonon-backend non supporta i file in formato MP3. Time's up!! Tempo scaduto! About Auralquiz About Auralquiz Auralquiz loads all your music from a specified folder and asks questions about it, playing a short piece of each music file as clue. Auralquiz carica tutta la tua musica da una cartella specificata e ti fa domande su di essa, riproducendo un breve pezzo di ogni file come indizio. Starting! Inizio! Good Giuste Bad Sbagliate Timed out Let's go! Andiamo! GO!! VAI!! Good luck! Buona fortuna! The answer was: Thanks to all the testers, translators and packagers, who help make Auralquiz better! Auralquiz is licensed under the GNU GPL license. Main screen image and some icons are based on Oxygen icons, under LGPL license. Player %1 of %2 Go, %1! %1=player's name Vai, %1! %1 by %2 1=song title, 2=author name +%1 points! +%1 punti! Correct answer was: End game? Are you sure you want to end this game? &Yes, end it &No First usage Primo utilizzo Not enough music files Numero di file musicali insufficiente You don't have enough music files, or from enough different artists. You need music from at least 5 different artists to be able to generate questions. Non hai abbastanza file musicali, o di abbastanza artisti diversi. Devi avere canzoni di almeno 5 artisti diversi per poter generare le domande. Next! Prossimo! Correct!! Corretto!! Yeah! Sì! That's right! È giusto! Good! Bene! Great! Grande! Wrong! Sbagliato! No! No! Ooops! Ops! FAIL! FALLITO! That's not it. Non è quello. All done! Finito! &Options &Opzioni Time Tempo Who plays this song? Chi canta questa canzone? What's the title of this song? Qual è il titolo di questa canzone? MusicAnalyzer Configure your music folder Analyzing music. Please wait Analisi musica. Attendi Getting list of files under %1 %1 is a folder Cancel Listing files... Please reload music info Music analysis was cancelled There are no valid music files in your selected music directory. Non ci sono file musicali validi nella cartella selezionata. Please, select another directory containing Ogg, FLAC or MP3 files, and try again. Seleziona un'altra cartella contenente file Ogg, FLAC o MP3, e prova di nuovo. There is no music! Musica non trovata! Please choose another music folder Scegli un'altra cartella della musica Analyzing %1 files under %2 %1 is a number, %2 is a folder Analisi %1 file in %2 Cancel analysis Annulla analisi Analyzing your music... Analisi della tua musica... The folder you selected doesn't have enough valid music files &Start game Inizio &gioco OptionsDialog Game options Opzioni gioco Using music from: Usando la musica da: Select your &music folder... Seleziona la tua cartella della &musica... &Easier &Harder How many &questions? Quante &domande? questions domande How many &players? Quanti &giocatori? players giocatori Use own color theme Usa tema dei colori proprio Player names Nomi dei giocatori Save and &reload music Salva e &ricarica la musica In this level you'll have to type the answer. In questo livello devi digitare la risposta. It's not too strict, so you don't have to worry about caps, commas and such. Non è molto stringente, quindi non ti devi preoccupare di maiuscole, virgole e simili. In this level you'll have to click the correct button, or press the 1, 2, 3 and 4 keys in your keyboard. In questo livello devi cliccare il pulsante corretto, o premere i tasti 1, 2, 3 e 4 sulla tastiera. &Save options &Salva opzioni &Cancel &Annulla Select where your music is located Seleziona dove si trova la tua musica Piece of cake Gioco da ragazzi Let's rock Dacci dentro Come get some Ti faccio nero Damn I'm good Ehi! Sono bravo HARD!! DIFFICILE!! Hardcore! Type the answer Estremo! Scrivi la risposta Start! Inizio! Ranking Game ended Gioco finito All questions done! Tutte le domande fatte! Thanks for playing! Grazie per aver giocato! Ranking Classifica Player Giocatore Score Punteggio Good Giuste Bad Sbagliate T.O. Timed out abbreviation T.S. What?? Zero points!! You're all sooo bad! Plural, all players Cosa?? Zero punti!! Siete proprio scarsi! Zero points! %1, you're very bad!! %1 is the name of a player Zero punti! %1, sei proprio scarso! Draw between %1 and %2! %1 and %2 are player names Pareggio tra %1 e %2! You're very good!! Sei molto bravo!! Congratulations, %1!! %1 is the name of the winner Congratulazioni, %1! That was amazing!! That was quite good! È andata abbastanza bene! You can do better... Puoi fare di meglio... You're good! Sei bravo! &OK &OK auralquiz-v1.0.0/translations/auralquiz_cs.ts0000664000175000017500000006536713105040436017627 0ustar janjan AnswerBox Type the answer here Zde napište odpověď AuralWindow First usage První použití Good Dobrý Bad Špatný Timed out Přestávka &Start game &Spustit hru &Options &Volby &About... &O... &Quit &Ukončit Time Čas Remaining time to answer this question Čas zbývající na zodpovězení této otázky %v out of %m questions - %p% %v z %m otázek - %p% How many questions you've answered Kolik otázek jste zodpověděl Score Výsledek Your current score Váš nynější výsledek &End game &Ukončit hru Statistics Statistika Sound system error Chyba zvukového systému There seems to be a problem with your sound system. Zdá se, že váš zvukový systém má potíže. English translation by JanKusanagi. TRANSLATORS: Change this with your language and name. Feel free to add your contact information, such as e-mail. If there was another translator before you, add your name after theirs ;) (note by Jan: This should read 'Czech translation by YourName' ;) Překlad do češtiny: Pavel Fric. Auralquiz is licensed under the GNU GPL license. Auralquiz je licencován pod licencí GNU GPL. Main screen image and some icons are based on Oxygen icons, under LGPL license. Obrázek na hlavní obrazovce a některé ikony založen na ikonách Oxygen vydaných pod licencí LGPL. Go, %1! %1=player's name Jdi, %1! Correct answer was: Správná odpověď byla: End game? Ukončit hru? Are you sure you want to end this game? Opravdu chcete tuto hru ukončit? &Yes, end it &Ano, ukončit &No &Ne Player %1 of %2 Hráč %1 z %2 Error playing sound Chyba při přehrávání zvuku An error occurred while playing sound. The error message was: %1 Maybe your Phonon-backend does not have support for the MP3 file format. Při přehrávání zvuku se vyskytla chyba. Chybové hlášení bylo: %1 Možná vaše jádro Phonon nemá podporu pro formát MP3. Time's up!! Čas vypršel! About Auralquiz O programu Auralquiz Auralquiz loads all your music from a specified folder and asks questions about it, playing a short piece of each music file as clue. Auralquiz nahrává všechnu vaši hudbu ze zadané složky a ptá se na ni přehrávaje kousek z každého hudebního souboru jako nápovědu. This seems to be the first time you use Auralquiz. Before playing, your music will be analyzed. If needed, you should click the Options button and select the folder where your Ogg, FLAC and MP3 files are stored. This folder, and sub-folders will be scanned so Auralquiz can generate questions and answers about your music. You need files correctly tagged in order for the game to work correctly. The scan can take some time, and the program will not be responsive until it is complete. Please be patient. Zdá se, že je to poprvé, kdy používáte Auralquiz. Před začátkem hry bude vaše hudba zpracována. V případě potřeby máte klepnout na tlačítko Volby a vybrat složku, v níž jsou uloženy vaše soubory Ogg, FLAC a MP3. Tato složka a její podsložky budou prohledány, takže Auralquiz bude moci vytvořit otázky a odpovědi k vaší hudbě. Aby hra běžela správně, je potřeba, aby soubory byly řádně označkovány. Prohlídka může chvíli trvat a program nebude odpovídat, dokud nebude hotová. Mějte, prosím, trpělivost. Maybe you don't have any Phonon backends installed. Může být, že nemáte nainstalovánu podpůrnou vrstvu Phonon. Starting! Začínáme! Let's go! Pojďme na to! GO!! Pojďme! Good luck! Hodně štěstí! %1 songs available Dostupných %1 písní The answer was: Odpověď byla: Thanks to all the testers, translators and packagers, who help make Auralquiz better! Poděkování všem zkoušečům, překladatelům a balíčkářům, kteří Auralquiz pomohli udělat lepším! Who plays this song? Kdo hraje tuto píseň? What's the title of this song? Jaký je název této písně? Not enough music files Nedostatek hudebních souborů You don't have enough music files, or from enough different artists. You need music from at least 5 different artists to be able to generate questions. Nemáte dostatek hudebních souborů, nebo dost souborů od různých umělců. Na tvoření otázek potřebujete hudbu od alespoň pěti různých umělců. Next! Další Correct!! Správně! Yeah! Ano! That's right! Správně! Good! Dobře! Great! Báječně! %1 by %2 1=song title, 2=author name %1 od %2 +%1 points! +%1 bodů! Wrong! Špatně! No! Ne! That's not it. To není ono. Ooops! Jejda! FAIL! Neúspěch! All done! Vše hotovo! MusicAnalyzer Configure your music folder Nastavte složku s hudbou Analyzing music. Please wait Provádí se rozbor hudby. Počkejte, prosím Getting list of files under %1 %1 is a folder Získává se seznam souborů v %1 Cancel Zrušit Listing files... Sestavuje se seznam souborů... Please reload music info Nahrajte, prosím, informace o hudbě Music analysis was cancelled Rozbor hudby byl zrušen There are no valid music files in your selected music directory. Ve vámi vybraném adresáři s hudbou nejsou žádné platné hudební soubory. Please, select another directory containing Ogg, FLAC or MP3 files, and try again. Vyberte, prosím, jiný adresář obsahující soubory Ogg, FLAC nebo MP3 a zkuste to znovu. There is no music! Není tu žádná hudba! Please choose another music folder Vyberte, prosím, jiný adresář s hudbou Analyzing %1 files under %2 %1 is a number, %2 is a folder Provádí se rozbor %1 souborů v %2 Cancel analysis Zrušit rozbor Analyzing your music... Provádí se rozbor vaší hudby... The folder you selected doesn't have enough valid music files Vámi vybraná složka neobsahuje dost platných hudebních souborů &Start game &Spustit hru OptionsDialog Game options Volby pro hru Using music from: Používá se hudba z: Select your &music folder... Vyberte složku s &hudbou... &Easier &Lehčí &Harder &Těžší How many &questions? Kolik &otázek? questions otázek How many &players? Kolik &hráčů? players hráčů Use own color theme Použít vlastní barevný motiv Player names Jména hráčů Save and &reload music Uložit a &nahrát hudbu znovu &Cancel Z&rušit Select where your music is located Vyberte, kde je vaše hudba umístěna Piece of cake Brnkačka Let's rock Rozjedem to Come get some Pojďme něco sehnat Damn I'm good Sakra, jsem dobrý HARD!! Těžké! Hardcore! Type the answer Těžké! Napište odpověď In this level you'll have to type the answer. Na této úrovni musíte napsat odpověď. It's not too strict, so you don't have to worry about caps, commas and such. Není to příliš přísné, takže se nemusíte obávat velikosti písmen, čárek a tak podobně. In this level you'll have to click the correct button, or press the 1, 2, 3 and 4 keys in your keyboard. Na této úrovni musíte klepnout na správné tlačítko, nebo na vaší klávesnici stisknout klávesu 1, 2, 3 nebo 4. &Save options &Uložit volby Start! Začít! Ranking Game ended Hra skončena All questions done! Všechny otázky udělány! Thanks for playing! Díky za hraní! Ranking Žebříček Player Hráč Score Výsledek Good Dobrý Bad Špatný T.O. Timed out abbreviation Překr. času What?? Zero points!! You're all sooo bad! Plural, all players Cože? Žádné body? Jste na to všichni hodně moc bledě! Zero points! %1, you're very bad!! %1 is the name of a player Žádné body? %1, jste na tom velmi špatně! Draw between %1 and %2! %1 and %2 are player names Remíza mezi %1 a %2! You're very good!! Jste velmi dobrý! Congratulations, %1!! %1 is the name of the winner Blahopřání %1! That was amazing!! To bylo úžasné! That was quite good! To bylo docela dobré! You can do better... Dokážete to udělat líp... You're good! Jste dobrý! &OK &OK auralquiz-v1.0.0/translations/auralquiz_eu.ts0000664000175000017500000006203613105040436017621 0ustar janjan AnswerBox Type the answer here AuralWindow First usage This seems to be the first time you use Auralquiz. Before playing, your music will be analyzed. If needed, you should click the Options button and select the folder where your Ogg, FLAC and MP3 files are stored. This folder, and sub-folders will be scanned so Auralquiz can generate questions and answers about your music. You need files correctly tagged in order for the game to work correctly. The scan can take some time, and the program will not be responsive until it is complete. Please be patient. Good Bad Timed out &Start game &Options &About... &Quit Time Remaining time to answer this question %v out of %m questions - %p% How many questions you've answered Score Your current score &End game Statistics Sound system error There seems to be a problem with your sound system. Maybe you don't have any Phonon backends installed. Starting! Let's go! GO!! Good luck! %1 songs available Error playing sound An error occurred while playing sound. The error message was: %1 Maybe your Phonon-backend does not have support for the MP3 file format. Time's up!! The answer was: About Auralquiz Auralquiz loads all your music from a specified folder and asks questions about it, playing a short piece of each music file as clue. English translation by JanKusanagi. TRANSLATORS: Change this with your language and name. Feel free to add your contact information, such as e-mail. If there was another translator before you, add your name after theirs ;) Thanks to all the testers, translators and packagers, who help make Auralquiz better! Auralquiz is licensed under the GNU GPL license. Main screen image and some icons are based on Oxygen icons, under LGPL license. Who plays this song? What's the title of this song? Player %1 of %2 Not enough music files You don't have enough music files, or from enough different artists. You need music from at least 5 different artists to be able to generate questions. Go, %1! %1=player's name Next! All done! Correct!! Yeah! That's right! Good! Great! %1 by %2 1=song title, 2=author name +%1 points! Wrong! No! That's not it. Ooops! FAIL! Correct answer was: End game? Are you sure you want to end this game? &Yes, end it &No MusicAnalyzer Configure your music folder Analyzing music. Please wait Getting list of files under %1 %1 is a folder Cancel Listing files... Please reload music info Music analysis was cancelled There are no valid music files in your selected music directory. Please, select another directory containing Ogg, FLAC or MP3 files, and try again. There is no music! Please choose another music folder Analyzing %1 files under %2 %1 is a number, %2 is a folder Cancel analysis Analyzing your music... The folder you selected doesn't have enough valid music files &Start game OptionsDialog Game options Using music from: Select your &music folder... &Easier &Harder How many &questions? questions How many &players? players Use own color theme Player names Save and &reload music &Cancel Select where your music is located Piece of cake Let's rock Come get some Damn I'm good HARD!! Hardcore! Type the answer In this level you'll have to type the answer. It's not too strict, so you don't have to worry about caps, commas and such. In this level you'll have to click the correct button, or press the 1, 2, 3 and 4 keys in your keyboard. &Save options Start! Ranking Game ended All questions done! Thanks for playing! Ranking Player Score Good Bad T.O. Timed out abbreviation What?? Zero points!! You're all sooo bad! Plural, all players Zero points! %1, you're very bad!! %1 is the name of a player Draw between %1 and %2! %1 and %2 are player names You're very good!! You're good! Congratulations, %1!! %1 is the name of the winner That was amazing!! That was quite good! You can do better... &OK auralquiz-v1.0.0/translations/auralquiz_gl.ts0000664000175000017500000006506313105040436017615 0ustar janjan AnswerBox Type the answer here Escribe aquí a resposta AuralWindow &Start game &Comezar o xogo &About... &Sobre... &Quit &Saír Remaining time to answer this question Tempo restante para responder á pregunta %v out of %m questions - %p% %v de %m preguntas - %p% How many questions you've answered Cantas preguntas respondiches Score Puntuación Your current score A túa puntuación actual &End game &Fin do xogo Statistics Estatísticas Sound system error Produciuse un erro no sistema de son There seems to be a problem with your sound system. Semella que hai un problema con teu sistema de son. Maybe you don't have any Phonon backends installed. %1 songs available English translation by JanKusanagi. TRANSLATORS: Change this with your language and name. Feel free to add your contact information, such as e-mail. If there was another translator before you, add your name after theirs ;) Traducido ao galego por Miguel Anxo Bouzada. This seems to be the first time you use Auralquiz. Before playing, your music will be analyzed. If needed, you should click the Options button and select the folder where your Ogg, FLAC and MP3 files are stored. This folder, and sub-folders will be scanned so Auralquiz can generate questions and answers about your music. You need files correctly tagged in order for the game to work correctly. The scan can take some time, and the program will not be responsive until it is complete. Please be patient. Semella que esta é a primeira vez que usas Auralquiz. Antes de xogar, analizarase a túa música. Se for necesario, deberás premer no botón «Opcións» e seleccionar o cartafol onde se atopan os teus ficheiros Ogg, FLAC e MP3. Este cartafol e os seus subcartafoles van seren analizados para que Auralquiz poida xerar preguntas e respostas sobre a túa música. Necesitas ficheiros etiquetados correctamente para que o xogo funcione ben. A análise pode levar bastante tempo e o programa non responderá ata que estea completo. Ten paciencia mentres. Error playing sound Produciuse un erro ao reproducir o son An error occurred while playing sound. The error message was: %1 Maybe your Phonon-backend does not have support for the MP3 file format. Produciuse un erro ao reproducir o son. A mensaxe de erro foi: %1 É probábel que a infraestrutura Phonon non teña compatibilidade cos formato de ficheiro MP3. Time's up!! Rematou o tempo! About Auralquiz Sobre o Auralquiz Auralquiz loads all your music from a specified folder and asks questions about it, playing a short piece of each music file as clue. Auralquiz carga toda a música dun cartafol indicado e fai preguntas sobre ela, reproducindo un cacho pequeno de cada ficheiro de música como pista. Starting! Comezamos! Good Ben Bad Mal Timed out Tiempo agotado Let's go! Imos aló! GO!! Imos! Good luck! Boa sorte! The answer was: Thanks to all the testers, translators and packagers, who help make Auralquiz better! Auralquiz is licensed under the GNU GPL license. Main screen image and some icons are based on Oxygen icons, under LGPL license. Player %1 of %2 Xogador %1 de %2 Go, %1! %1=player's name Imos, %1! %1 by %2 1=song title, 2=author name +%1 points! +%1 puntos! Correct answer was: End game? Are you sure you want to end this game? &Yes, end it &No First usage Primeiro uso Not enough music files Non hai ficheiros de música abondo You don't have enough music files, or from enough different artists. You need music from at least 5 different artists to be able to generate questions. Non tes ficheiros de música abondo, ou de máis artistas diferentes. Necesitas música de polo menos 5 artistas diferentes para poder xerar preguntas. Next! Seguinte! Correct!! Correcto!! Yeah! Si! That's right! Iso é! Good! Ben! Great! Xenial! Wrong! Trabucácheste! No! Non! Ooops! Bótalle terra! FAIL! Fallaches! That's not it. Non, esa non. All done! Feito! &Options &Opcións Time Tempo Who plays this song? Quen interpreta esta canción? What's the title of this song? Cal é o título desta canción? MusicAnalyzer Configure your music folder Configura o teu cartafol da música Analyzing music. Please wait Analizando a música. Agarda un chisco Getting list of files under %1 %1 is a folder Obtendo a lista de ficheiros en %1 Cancel Cancelar Listing files... Listando os ficheiros... Please reload music info Volve a cargar a información da música Music analysis was cancelled There are no valid music files in your selected music directory. Non hai ficheiros de música que poder empregar no cartafol de música seleccionado. Please, select another directory containing Ogg, FLAC or MP3 files, and try again. Escolle outro cartafol que conteña ficheiros Ogg, FLAC ou MP3, e téntao de novo. There is no music! Non hai música! Please choose another music folder Escolle outro cartafol de música Analyzing %1 files under %2 %1 is a number, %2 is a folder Analizando %1 ficheiros en %2 Cancel analysis Cancelar a análise Analyzing your music... Analizando a túa música... The folder you selected doesn't have enough valid music files &Start game &Comezar o xogo OptionsDialog Game options Opcións do xogo Using music from: Usando música de: Select your &music folder... Selecciona o teu cartafol da &música... &Easier &Doado &Facil &Harder Di&fícil &Difícil How many &questions? Cantas &preguntas? questions preguntas How many &players? Cantos &xogadores? players xogadores Use own color theme Usar o tema de cores propio Player names Nomes dos xogadores Save and &reload music Gardar e &recargar a música In this level you'll have to type the answer. Neste nivel terás que escribir a resposta. It's not too strict, so you don't have to worry about caps, commas and such. Non é moi estrito, así que non terás que preocuparte das maiúsculas, comas, etc. In this level you'll have to click the correct button, or press the 1, 2, 3 and 4 keys in your keyboard. Neste nivel terás que premer no botón correcto, ou premer nas nas teclas 1, 2, 3 e 4 do teclado. &Save options &Gardar as opcións &Cancel &Cancelar Select where your music is located Selecciona onde se atopa a túa música Piece of cake Está chupado Let's rock Un pouco de lio Come get some Isto atravesase un chisco Damn I'm good Sonche moi bo HARD!! Moi difícil!! Hardcore! Type the answer Moi difícil! Escribe a resposta Start! Comezar! Ranking Game ended Xogo rematado All questions done! Contestaches todas as preguntas! Thanks for playing! Grazas por xogar! Ranking Clasificación Player Xogador Score Puntuación Good Ben Bad Mal T.O. Timed out abbreviation T.E. What?? Zero points!! You're all sooo bad! Plural, all players Queee!! Cero puntos?? Sodes todos moooi malos! Zero points! %1, you're very bad!! %1 is the name of a player Cero puntos! %1, es moi malo! Draw between %1 and %2! %1 and %2 are player names Empate entre %1 y %2! You're very good!! Es moi bo!! Congratulations, %1!! %1 is the name of the winner Parabéns, %1! That was amazing!! That was quite good! Estiveches bastante ben! You can do better... Podes facelo mellor... You're good! Es bo! &OK &Aceptar auralquiz-v1.0.0/translations/auralquiz_EMPTY.ts0000664000175000017500000006201513105040436020103 0ustar janjan AnswerBox Type the answer here AuralWindow First usage This seems to be the first time you use Auralquiz. Before playing, your music will be analyzed. If needed, you should click the Options button and select the folder where your Ogg, FLAC and MP3 files are stored. This folder, and sub-folders will be scanned so Auralquiz can generate questions and answers about your music. You need files correctly tagged in order for the game to work correctly. The scan can take some time, and the program will not be responsive until it is complete. Please be patient. Good Bad Timed out &Start game &Options &About... &Quit Time Remaining time to answer this question %v out of %m questions - %p% How many questions you've answered Score Your current score &End game Statistics Sound system error There seems to be a problem with your sound system. Maybe you don't have any Phonon backends installed. Starting! Let's go! GO!! Good luck! %1 songs available Error playing sound An error occurred while playing sound. The error message was: %1 Maybe your Phonon-backend does not have support for the MP3 file format. Time's up!! The answer was: About Auralquiz Auralquiz loads all your music from a specified folder and asks questions about it, playing a short piece of each music file as clue. English translation by JanKusanagi. TRANSLATORS: Change this with your language and name. Feel free to add your contact information, such as e-mail. If there was another translator before you, add your name after theirs ;) Thanks to all the testers, translators and packagers, who help make Auralquiz better! Auralquiz is licensed under the GNU GPL license. Main screen image and some icons are based on Oxygen icons, under LGPL license. Who plays this song? What's the title of this song? Player %1 of %2 Not enough music files You don't have enough music files, or from enough different artists. You need music from at least 5 different artists to be able to generate questions. Go, %1! %1=player's name Next! All done! Correct!! Yeah! That's right! Good! Great! %1 by %2 1=song title, 2=author name +%1 points! Wrong! No! That's not it. Ooops! FAIL! Correct answer was: End game? Are you sure you want to end this game? &Yes, end it &No MusicAnalyzer Configure your music folder Analyzing music. Please wait Getting list of files under %1 %1 is a folder Cancel Listing files... Please reload music info Music analysis was cancelled There are no valid music files in your selected music directory. Please, select another directory containing Ogg, FLAC or MP3 files, and try again. There is no music! Please choose another music folder Analyzing %1 files under %2 %1 is a number, %2 is a folder Cancel analysis Analyzing your music... The folder you selected doesn't have enough valid music files &Start game OptionsDialog Game options Using music from: Select your &music folder... &Easier &Harder How many &questions? questions How many &players? players Use own color theme Player names Save and &reload music &Cancel Select where your music is located Piece of cake Let's rock Come get some Damn I'm good HARD!! Hardcore! Type the answer In this level you'll have to type the answer. It's not too strict, so you don't have to worry about caps, commas and such. In this level you'll have to click the correct button, or press the 1, 2, 3 and 4 keys in your keyboard. &Save options Start! Ranking Game ended All questions done! Thanks for playing! Ranking Player Score Good Bad T.O. Timed out abbreviation What?? Zero points!! You're all sooo bad! Plural, all players Zero points! %1, you're very bad!! %1 is the name of a player Draw between %1 and %2! %1 and %2 are player names You're very good!! You're good! Congratulations, %1!! %1 is the name of the winner That was amazing!! That was quite good! You can do better... &OK auralquiz-v1.0.0/translations/auralquiz_gl.qm0000664000175000017500000003226213105040436017577 0ustar janjan_>' (l;0I,/##oN%(4s}U(mƁ,M)~"1!wDfiI_f1#a j.nfgQ jr-a*Ӱ Ud""s$v1u+w_{H@  #$(+o\)vp-kr#&s!A00}܅ qݷ>)4S .*1D M~ M~ l[~ Q  u&r ޳n : ; xj - I! ֵH " "9 # Gu K/ Rί a~ "   %+3 . c) + .* %.'  P^] Ua/L ga z C"r m5` A(qR(#k,Q.VamŅZ9i19.Escribe aqu a respostaType the answer here AnswerBox0%v de %m preguntas - %p%%v out of %m questions - %p% AuralWindow&Sobre... &About... AuralWindow&Fin do xogo &End game AuralWindow&Opcins&Options AuralWindow &Sar&Quit AuralWindow&Comezar o xogo &Start game AuralWindow+%1 puntos! +%1 points! AuralWindow"Sobre o AuralquizAbout Auralquiz AuralWindow Feito! All done! AuralWindow>Produciuse un erro ao reproducir o son. A mensaxe de erro foi: %1 probbel que a infraestrutura Phonon non tea compatibilidade cos formato de ficheiro MP3.An error occurred while playing sound. The error message was: %1 Maybe your Phonon-backend does not have support for the MP3 file format. AuralWindow&Auralquiz carga toda a msica dun cartafol indicado e fai preguntas sobre ela, reproducindo un cacho pequeno de cada ficheiro de msica como pista.Auralquiz loads all your music from a specified folder and asks questions about it, playing a short piece of each music file as clue. AuralWindowMalBad AuralWindowCorrecto!! Correct!! AuralWindowXTraducido ao galego por Miguel Anxo Bouzada.#English translation by JanKusanagi. AuralWindowLProduciuse un erro ao reproducir o sonError playing sound AuralWindowFallaches!FAIL! AuralWindowPrimeiro uso First usage AuralWindow Imos!GO!! AuralWindowImos, %1!Go, %1! AuralWindowBenGood AuralWindowBoa sorte! Good luck! AuralWindowBen!Good! AuralWindowXenial!Great! AuralWindow:Cantas preguntas respondiches"How many questions you've answered AuralWindowImos al! Let's go! AuralWindowImaxe da pantalla principal baseada nas iconas Oxygen: http://www.oxygen-icons.org/ (licenza LGPL)UMain screen image based on Oxygen icons: http://www.oxygen-icons.org/ (LGPL licensed) AuralWindowSeguinte!Next! AuralWindowNon!No! AuralWindowDNon hai ficheiros de msica abondoNot enough music files AuralWindowBtalle terra!Ooops! AuralWindow Xogador %1 de %2Player %1 of %2 AuralWindowPTempo restante para responder pregunta&Remaining time to answer this question AuralWindowPuntuacinScore AuralWindowHProduciuse un erro no sistema de sonSound system error AuralWindowComezamos! Starting! AuralWindowEstatsticas Statistics AuralWindowNon, esa non.That's not it. AuralWindow Iso ! That's right! AuralWindowfSemella que hai un problema con teu sistema de son.3There seems to be a problem with your sound system. AuralWindow@Semella que esta a primeira vez que usas Auralquiz. Antes de xogar, analizarase a ta msica. Se for necesario, debers premer no botn Opcins e seleccionar o cartafol onde se atopan os teus ficheiros Ogg, FLAC e MP3. Este cartafol e os seus subcartafoles van seren analizados para que Auralquiz poida xerar preguntas e respostas sobre a ta msica. Necesitas ficheiros etiquetados correctamente para que o xogo funcione ben. A anlise pode levar bastante tempo e o programa non responder ata que estea completo. Ten paciencia mentres.This seems to be the first time you use Auralquiz. Before playing, your music will be analyzed. If needed, you should click the Options button and select the folder where your Ogg, FLAC and MP3 files are stored. This folder, and sub-folders will be scanned so Auralquiz can generate questions and answers about your music. You need files correctly tagged in order for the game to work correctly. The scan can take some time, and the program will not be responsive until it is complete. Please be patient. AuralWindow TempoTime AuralWindow Rematou o tempo! Time's up!! AuralWindowTiempo agotado Timed out AuralWindow:Cal o ttulo desta cancin?What's the title of this song? AuralWindow:Quen interpreta esta cancin?Who plays this song? AuralWindowTrabuccheste!Wrong! AuralWindowSi!Yeah! AuralWindow(Non tes ficheiros de msica abondo, ou de mis artistas diferentes. Necesitas msica de polo menos 5 artistas diferentes para poder xerar preguntas.You don't have enough music files, or from enough different artists. You need music from at least 5 different artists to be able to generate questions. AuralWindow.A ta puntuacin actualYour current score AuralWindow&Comezar o xogo &Start game MusicAnalyzer:Analizando %1 ficheiros en %2Analyzing %1 files under %2 MusicAnalyzerJAnalizando a msica. Agarda un chiscoAnalyzing music. Please wait MusicAnalyzer4Analizando a ta msica...Analyzing your music... MusicAnalyzerCancelarCancel MusicAnalyzer$Cancelar a anliseCancel analysis MusicAnalyzerDConfigura o teu cartafol da msicaConfigure your music folder MusicAnalyzerDObtendo a lista de ficheiros en %1Getting list of files under %1 MusicAnalyzer0Listando os ficheiros...Listing files... MusicAnalyzer@Escolle outro cartafol de msica"Please choose another music folder MusicAnalyzerLVolve a cargar a informacin da msicaPlease reload music info MusicAnalyzerEscolle outro cartafol que contea ficheiros Ogg, FLAC ou MP3, e tntao de novo.RPlease, select another directory containing Ogg, FLAC or MP3 files, and try again. MusicAnalyzerNon hai ficheiros de msica que poder empregar no cartafol de msica seleccionado.@There are no valid music files in your selected music directory. MusicAnalyzerNon hai msica!There is no music! MusicAnalyzer&Cancelar&Cancel OptionsDialog &Facil&Easier OptionsDialog&Difcil&Harder OptionsDialog$&Gardar as opcins &Save options OptionsDialog2Isto atravesase un chisco Come get some OptionsDialogSonche moi bo Damn I'm good OptionsDialogOpcins do xogo Game options OptionsDialogMoi difcil!!HARD!! OptionsDialog>Moi difcil! Escribe a respostaHardcore! Type the answer OptionsDialog$Cantos &xogadores?How many &players? OptionsDialog$Cantas &preguntas?How many &questions? OptionsDialogNeste nivel ters que premer no botn correcto, ou premer nas nas teclas 1, 2, 3 e 4 do teclado.hIn this level you'll have to click the correct button, or press the 1, 2, 3 and 4 keys in your keyboard. OptionsDialogTNeste nivel ters que escribir a resposta.-In this level you'll have to type the answer. OptionsDialogNon moi estrito, as que non ters que preocuparte das maisculas, comas, etc.LIt's not too strict, so you don't have to worry about caps, commas and such. OptionsDialogUn pouco de lio Let's rock OptionsDialogEst chupado Piece of cake OptionsDialog&Nomes dos xogadores Player names OptionsDialog6Gardar e &recargar a msicaSave and &reload music OptionsDialogJSelecciona onde se atopa a ta msica"Select where your music is located OptionsDialogNSelecciona o teu cartafol da &msica...Select your &music folder... OptionsDialogComezar!Start! OptionsDialog6Usar o tema de cores propioUse own color theme OptionsDialog"Usando msica de:Using music from: OptionsDialogxogadoresplayers OptionsDialogpreguntas questions OptionsDialog&Aceptar&OKRanking@Contestaches todas as preguntas!All questions done!RankingMalBadRankingParabns, %1!Congratulations, %1!!Ranking*Empate entre %1 y %2!Draw between %1 and %2!RankingXogo rematado Game endedRankingBenGoodRankingXogadorPlayerRankingClasificacinRankingRankingPuntuacinScoreRankingT.E.T.O.Ranking"Grazas por xogar!Thanks for playing!Ranking0Estiveches bastante ben!That was quite good!Ranking\Queee!! Cero puntos?? Sodes todos moooi malos!)What?? Zero points!! You're all sooo bad!Ranking,Podes facelo mellor...You can do better...Ranking Es bo! You're good!RankingEs moi bo!!You're very good!!Ranking:Cero puntos! %1, es moi malo!"Zero points! %1, you're very bad!!Rankingauralquiz-v1.0.0/translations/auralquiz_pt.ts0000664000175000017500000006203613105040436017633 0ustar janjan AnswerBox Type the answer here AuralWindow First usage This seems to be the first time you use Auralquiz. Before playing, your music will be analyzed. If needed, you should click the Options button and select the folder where your Ogg, FLAC and MP3 files are stored. This folder, and sub-folders will be scanned so Auralquiz can generate questions and answers about your music. You need files correctly tagged in order for the game to work correctly. The scan can take some time, and the program will not be responsive until it is complete. Please be patient. Good Bad Timed out &Start game &Options &About... &Quit Time Remaining time to answer this question %v out of %m questions - %p% How many questions you've answered Score Your current score &End game Statistics Sound system error There seems to be a problem with your sound system. Maybe you don't have any Phonon backends installed. Starting! Let's go! GO!! Good luck! %1 songs available Error playing sound An error occurred while playing sound. The error message was: %1 Maybe your Phonon-backend does not have support for the MP3 file format. Time's up!! The answer was: About Auralquiz Auralquiz loads all your music from a specified folder and asks questions about it, playing a short piece of each music file as clue. English translation by JanKusanagi. TRANSLATORS: Change this with your language and name. Feel free to add your contact information, such as e-mail. If there was another translator before you, add your name after theirs ;) Thanks to all the testers, translators and packagers, who help make Auralquiz better! Auralquiz is licensed under the GNU GPL license. Main screen image and some icons are based on Oxygen icons, under LGPL license. Who plays this song? What's the title of this song? Player %1 of %2 Not enough music files You don't have enough music files, or from enough different artists. You need music from at least 5 different artists to be able to generate questions. Go, %1! %1=player's name Next! All done! Correct!! Yeah! That's right! Good! Great! %1 by %2 1=song title, 2=author name +%1 points! Wrong! No! That's not it. Ooops! FAIL! Correct answer was: End game? Are you sure you want to end this game? &Yes, end it &No MusicAnalyzer Configure your music folder Analyzing music. Please wait Getting list of files under %1 %1 is a folder Cancel Listing files... Please reload music info Music analysis was cancelled There are no valid music files in your selected music directory. Please, select another directory containing Ogg, FLAC or MP3 files, and try again. There is no music! Please choose another music folder Analyzing %1 files under %2 %1 is a number, %2 is a folder Cancel analysis Analyzing your music... The folder you selected doesn't have enough valid music files &Start game OptionsDialog Game options Using music from: Select your &music folder... &Easier &Harder How many &questions? questions How many &players? players Use own color theme Player names Save and &reload music &Cancel Select where your music is located Piece of cake Let's rock Come get some Damn I'm good HARD!! Hardcore! Type the answer In this level you'll have to type the answer. It's not too strict, so you don't have to worry about caps, commas and such. In this level you'll have to click the correct button, or press the 1, 2, 3 and 4 keys in your keyboard. &Save options Start! Ranking Game ended All questions done! Thanks for playing! Ranking Player Score Good Bad T.O. Timed out abbreviation What?? Zero points!! You're all sooo bad! Plural, all players Zero points! %1, you're very bad!! %1 is the name of a player Draw between %1 and %2! %1 and %2 are player names You're very good!! You're good! Congratulations, %1!! %1 is the name of the winner That was amazing!! That was quite good! You can do better... &OK auralquiz-v1.0.0/translations/auralquiz_es.ts0000664000175000017500000006527713105040436017631 0ustar janjan AnswerBox Type the answer here Teclea la respuesta aquí AuralWindow &Start game Comenzar &juego &About... &Acerca de... &Quit &Salir Remaining time to answer this question Tiempo restante para responder la pregunta %v out of %m questions - %p% %v de %m preguntas - %p% How many questions you've answered Cuantas preguntas has respondido Score Puntuación Your current score Tu puntuación actual &End game &Finalizar juego Statistics Estadísticas Sound system error Error del sistema de sonido There seems to be a problem with your sound system. Parece que hay un problema con tu sistema de sonido. Maybe you don't have any Phonon backends installed. Quizá no tienes ningún motor de Phonon instalado. %1 songs available %1 canciones disponibles English translation by JanKusanagi. TRANSLATORS: Change this with your language and name. Feel free to add your contact information, such as e-mail. If there was another translator before you, add your name after theirs ;) Traducción al castellano por JanKusanagi. This seems to be the first time you use Auralquiz. Before playing, your music will be analyzed. If needed, you should click the Options button and select the folder where your Ogg, FLAC and MP3 files are stored. This folder, and sub-folders will be scanned so Auralquiz can generate questions and answers about your music. You need files correctly tagged in order for the game to work correctly. The scan can take some time, and the program will not be responsive until it is complete. Please be patient. Parece que esta es la primera vez que usas Auralquiz. Antes de jugar, se analizará tu música. Si fuese necesario, deberías hacer click en el botón Opciones y seleccionar la carpeta donde se encuentran tus archivos Ogg, FLAC y MP3. Esta carpeta, y sub-carpetas serán analizadas para que Auralquiz pueda generar preguntas y respuestas sobre tu música. Necesitas archivos correctamente etiquetados para que el juego funcione bien. El análisis puede tardar un poco, y el programa no responderá hasta que esté completo. Por favor, se paciente. Error playing sound Error reproduciendo sonido An error occurred while playing sound. The error message was: %1 Maybe your Phonon-backend does not have support for the MP3 file format. Ha ocurrido un error mientras se reproducia sonido. El mensaje de error ha sido: %1 Tal vez tu Phonon-backend no tenga soporte para el formato de archivo MP3. Time's up!! ¡Se acabó el tiempo! About Auralquiz Acerca de Auralquiz Auralquiz loads all your music from a specified folder and asks questions about it, playing a short piece of each music file as clue. Auralquiz carga toda tu música de una carpeta especificada, y pregunta sobre ella, reproduciendo una pequeña pieza de cada archivo de música como pista. Starting! ¡Comenzamos! Good Bien Bad Mal Timed out Tiempo agotado Let's go! ¡Vamos! GO!! ¡Venga! Good luck! ¡Buena suerte! The answer was: La respuesta era: Thanks to all the testers, translators and packagers, who help make Auralquiz better! ¡Gracias a todos los 'testers', traductores y empaquetadores, que ayudan a hacer Auralquiz mejor! Auralquiz is licensed under the GNU GPL license. Auralquiz está licenciado bajo la licencia GNU GPL. Main screen image and some icons are based on Oxygen icons, under LGPL license. La imagen de la pantalla principal, y algunos iconos, están basados en Oxygen Icons, bajo licencia LGPL. Player %1 of %2 Jugador %1 de %2 Go, %1! %1=player's name ¡Adelante, %1! %1 by %2 1=song title, 2=author name %1 de %2 +%1 points! ¡+%1 puntos! Correct answer was: La respuesta correcta era: End game? ¿Finalizar el juego? Are you sure you want to end this game? ¿Seguro que quieres terminar la partida? &Yes, end it &Sí, terminarla &No &No First usage Primer uso Not enough music files No hay suficientes archivos de música You don't have enough music files, or from enough different artists. You need music from at least 5 different artists to be able to generate questions. No tienes suficientes archivos de música, o de suficientes artistas diferentes. Necesitas música de al menos 5 artistas diferentes para poder generar preguntas. Next! ¡Siguiente! Correct!! ¡¡Correcto!! Yeah! ¡Sí! That's right! ¡Así es! Good! ¡Bien! Great! ¡Genial! Wrong! ¡Equivocado! No! ¡No! Ooops! ¡Ups! FAIL! FAIL! That's not it. No, esa no. All done! ¡Todo hecho! &Options &Opciones Time Tiempo Who plays this song? ¿Quien toca esta canción? What's the title of this song? ¿Cual es el título de esta canción? MusicAnalyzer Configure your music folder Configura tu carpeta de música Analyzing music. Please wait Analizando música. Espera, por favor Getting list of files under %1 %1 is a folder Listando archivos en %1 Cancel Cancelar Listing files... Listando archivos... Please reload music info Por favor, recarga la info de música Music analysis was cancelled Se ha cancelado el análisis de la música There are no valid music files in your selected music directory. No hay archivos de música válidos en tu directorio de música seleccionado. Please, select another directory containing Ogg, FLAC or MP3 files, and try again. Por favor, selecciona otro directorio que contenga archivos Ogg, FLAC o MP3, e inténtalo de nuevo. There is no music! ¡No hay música! Please choose another music folder Por favor, selecciona otra carpeta de música Analyzing %1 files under %2 %1 is a number, %2 is a folder Analizando %1 archivos en %2 Cancel analysis Cancelar análisis Analyzing your music... Analizando tu música... The folder you selected doesn't have enough valid music files La carpeta que has seleccionado no tiene suficientes archivos de música válidos &Start game Comenzar &juego OptionsDialog Game options Opciones del juego Using music from: Usando música de: Select your &music folder... Selecciona tu carpeta de &música... &Easier Más &fácil &Harder Más &difícil How many &questions? ¿Cuantas &preguntas? questions preguntas How many &players? ¿Cuantos &jugadores? players jugadores Use own color theme Usar tema de colores propio Player names Nombres de los jugadores Save and &reload music Guardar y &recargar la música In this level you'll have to type the answer. En este nivel tendrás que teclear la respuesta. It's not too strict, so you don't have to worry about caps, commas and such. No es muy estricto, así que no te has de preocupar de las mayúsculas, comas, etc. In this level you'll have to click the correct button, or press the 1, 2, 3 and 4 keys in your keyboard. En este nivel tendrás que hacer click en el botón correcto, o apretar las teclas 1, 2, 3 y 4 del teclado. &Save options &Guardar opciones &Cancel &Cancelar Select where your music is located Selecciona donde se encuentra tu música Piece of cake Let's rock Come get some Damn I'm good HARD!! Hardcore! Type the answer ¡Muy difícil! Teclea la respuesta Start! ¡Comenzar! Ranking Game ended Juego terminado All questions done! ¡Has contestado todas las preguntas! Thanks for playing! ¡Gracias por jugar! Ranking Clasificación Player Jugador Score Puntuación Good Bien Bad Mal T.O. Timed out abbreviation T.A. What?? Zero points!! You're all sooo bad! Plural, all players ¿¿Qué?? ¡¡Cero puntos!! ¡Sois todos muuuy malos! Zero points! %1, you're very bad!! %1 is the name of a player ¡Cero puntos! ¡¡%1, se te da muy mal!! Draw between %1 and %2! %1 and %2 are player names ¡Empate entrer %1 y %2! You're very good!! ¡¡Se te da muy bien!! Congratulations, %1!! %1 is the name of the winner ¡Felicidades, %1! That was amazing!! ¡¡Ha sido increíble!! That was quite good! ¡Ha estado bastante bien! You can do better... Puedes hacerlo mejor... You're good! ¡Eres bueno! &OK &OK auralquiz-v1.0.0/translations/translation-status0000664000175000017500000000101613105040436020334 0ustar janjan Language Status Translators ------------------------------------------------------------------------------ English -- (No translation required) Spanish OK, 1.0.0 JanKusanagi Catalan OK, 1.0.0 JanKusanagi French OK, 1.0.0 ntome, Adrien DAUGABEL, David GEIGER Italian OUTDATED, 0.8.1 Giovanni Czech OK, 1.0.0 Pavel Fric Galician OUTDATED, 0.8.1 Miguel Anxo Bouzada auralquiz-v1.0.0/translations/auralquiz_de.ts0000664000175000017500000006203613105040436017600 0ustar janjan AnswerBox Type the answer here AuralWindow First usage This seems to be the first time you use Auralquiz. Before playing, your music will be analyzed. If needed, you should click the Options button and select the folder where your Ogg, FLAC and MP3 files are stored. This folder, and sub-folders will be scanned so Auralquiz can generate questions and answers about your music. You need files correctly tagged in order for the game to work correctly. The scan can take some time, and the program will not be responsive until it is complete. Please be patient. Good Bad Timed out &Start game &Options &About... &Quit Time Remaining time to answer this question %v out of %m questions - %p% How many questions you've answered Score Your current score &End game Statistics Sound system error There seems to be a problem with your sound system. Maybe you don't have any Phonon backends installed. Starting! Let's go! GO!! Good luck! %1 songs available Error playing sound An error occurred while playing sound. The error message was: %1 Maybe your Phonon-backend does not have support for the MP3 file format. Time's up!! The answer was: About Auralquiz Auralquiz loads all your music from a specified folder and asks questions about it, playing a short piece of each music file as clue. English translation by JanKusanagi. TRANSLATORS: Change this with your language and name. Feel free to add your contact information, such as e-mail. If there was another translator before you, add your name after theirs ;) Thanks to all the testers, translators and packagers, who help make Auralquiz better! Auralquiz is licensed under the GNU GPL license. Main screen image and some icons are based on Oxygen icons, under LGPL license. Who plays this song? What's the title of this song? Player %1 of %2 Not enough music files You don't have enough music files, or from enough different artists. You need music from at least 5 different artists to be able to generate questions. Go, %1! %1=player's name Next! All done! Correct!! Yeah! That's right! Good! Great! %1 by %2 1=song title, 2=author name +%1 points! Wrong! No! That's not it. Ooops! FAIL! Correct answer was: End game? Are you sure you want to end this game? &Yes, end it &No MusicAnalyzer Configure your music folder Analyzing music. Please wait Getting list of files under %1 %1 is a folder Cancel Listing files... Please reload music info Music analysis was cancelled There are no valid music files in your selected music directory. Please, select another directory containing Ogg, FLAC or MP3 files, and try again. There is no music! Please choose another music folder Analyzing %1 files under %2 %1 is a number, %2 is a folder Cancel analysis Analyzing your music... The folder you selected doesn't have enough valid music files &Start game OptionsDialog Game options Using music from: Select your &music folder... &Easier &Harder How many &questions? questions How many &players? players Use own color theme Player names Save and &reload music &Cancel Select where your music is located Piece of cake Let's rock Come get some Damn I'm good HARD!! Hardcore! Type the answer In this level you'll have to type the answer. It's not too strict, so you don't have to worry about caps, commas and such. In this level you'll have to click the correct button, or press the 1, 2, 3 and 4 keys in your keyboard. &Save options Start! Ranking Game ended All questions done! Thanks for playing! Ranking Player Score Good Bad T.O. Timed out abbreviation What?? Zero points!! You're all sooo bad! Plural, all players Zero points! %1, you're very bad!! %1 is the name of a player Draw between %1 and %2! %1 and %2 are player names You're very good!! You're good! Congratulations, %1!! %1 is the name of the winner That was amazing!! That was quite good! You can do better... &OK auralquiz-v1.0.0/translations/auralquiz_fr.ts0000664000175000017500000006651213105040436017622 0ustar janjan AnswerBox Type the answer here Tapez la réponse ici AuralWindow First usage Première utilisation This seems to be the first time you use Auralquiz. Before playing, your music will be analyzed. If needed, you should click the Options button and select the folder where your Ogg, FLAC and MP3 files are stored. This folder, and sub-folders will be scanned so Auralquiz can generate questions and answers about your music. You need files correctly tagged in order for the game to work correctly. The scan can take some time, and the program will not be responsive until it is complete. Please be patient. Il semble que c'est la première fois que vous utilisez Auralquiz. Avant de jouer, votre musique sera analysée. Si vous avez besoin, vous pouvez cliquer le bouton Options et sélectionner le dossier où se trouvent vos fichiers Ogg, FLAC et MP3. Ce dossier, et ses sous-dossiers seront scannés pour qu'Auralquiz puisse générer des questions-réponses sur votre musique. Vous avez besoin de fichiers correctement taggés pour que le jeu fonctionne bien. Le scan peut durer longtemps, et le programme peut ne plus répondre tant que ce n'est pas fini. Soyez patient. &Start game &Démarrer le jeu &Options &Options &About... À &propos... &Quit &Quitter Time Temps Remaining time to answer this question Temps restant pour répondre à cette question %v out of %m questions - %p% %v sur %m questions - %p% How many questions you've answered À combien de questions vous avez répondu Score Score Your current score Votre score actuel &End game &Terminer le jeu Statistics Statistiques Sound system error Erreur du système de son There seems to be a problem with your sound system. Il semble qu'il y a un problème avec votre système de son. Maybe you don't have any Phonon backends installed. Peut-être que vous n'avez aucun backend Phonon d'installé. %1 songs available %1 chansons disponibles English translation by JanKusanagi. TRANSLATORS: Change this with your language and name. Feel free to add your contact information, such as e-mail. If there was another translator before you, add your name after theirs ;) Traduction française par ntome, Adrien DAUGABEL et David GEIGER. Error playing sound Erreur en jouant un son An error occurred while playing sound. The error message was: %1 Maybe your Phonon-backend does not have support for the MP3 file format. Une erreur est survenue en jouant un son. Le message d'erreur était : %1 Peut-être que votre backend Phonon ne supporte pas le format de fichier MP3. Time's up!! Temps écoulé !! About Auralquiz À propos d'Auralquiz Auralquiz loads all your music from a specified folder and asks questions about it, playing a short piece of each music file as clue. Auralquiz charge toute votre musique depuis un certain dossier et pose des questions dessus, en jouant un petit morceau de chaque musique comme indice. Starting! À vos marques ! Good Bon Bad Mauvais Timed out Temps écoulé Let's go! Prêts ? GO!! PARTEZ !! Good luck! Bonne chance ! The answer was: La réponse était : Thanks to all the testers, translators and packagers, who help make Auralquiz better! Merci à tous les testeurs, traducteurs et packageurs, qui contribuent à l'amélioration d'Auralquiz ! Auralquiz is licensed under the GNU GPL license. Auralquiz est sous licence GNU GPL. Main screen image and some icons are based on Oxygen icons, under LGPL license. L'image de l'écran principal et les icônes sont basés sur les icones Oxygen, sous licence LGPL. Who plays this song? Qui joue ce morceau ? What's the title of this song? Quel est le titre de ce morceau ? Player %1 of %2 Joueur %1 sur %2 Not enough music files Pas assez de fichiers musicaux You don't have enough music files, or from enough different artists. You need music from at least 5 different artists to be able to generate questions. Vous n'avez pas assez de fichiers musicaux, ou pas assez d'artistes différents. Vous avez besoin de musique d'au moins 5 artistes différents pour pouvoir générer des questions. Go, %1! %1=player's name Allez, %1 ! %1 by %2 1=song title, 2=author name %1 par %2 Correct answer was: La bonne réponse était : End game? Terminer la partie ? Are you sure you want to end this game? Etes-vous sûr de vouloir terminer cette partie ? &Yes, end it &Oui, terminer &No &Non Next! Suivant ! All done! Terminé ! Correct!! Correct !! Yeah! Yeah ! That's right! C'est juste ! Good! Bien ! Great! Génial ! +%1 points! +%1 points ! Wrong! Faux ! No! Non ! That's not it. Ce n'est pas ça. Ooops! Ouuups ! FAIL! RATÉ ! MusicAnalyzer Configure your music folder Configurer votre dossier de musique Analyzing music. Please wait Analyse de la musique. Veuillez patienter Getting list of files under %1 %1 is a folder Obtention de la liste des fichiers dans %1 Cancel Annuler Listing files... Liste les fichiers... Please reload music info Merci de recharger les informations de la musique Music analysis was cancelled L'analyse de la musique a été annulée There are no valid music files in your selected music directory. Il n'y a pas de fichier de musique valide dans le dossier de musique sélectionné. Please, select another directory containing Ogg, FLAC or MP3 files, and try again. Veuillez sélectionner un autre dossier contenant des fichiers Ogg, FLAC ou MP3 puis réessayez. There is no music! Il n'y a pas de musique ! Please choose another music folder Veuillez sélectionner un autre dossier de musique Analyzing %1 files under %2 %1 is a number, %2 is a folder Analyse %1 fichiers dans %2 Cancel analysis Annuler l'analyse Analyzing your music... Analyse votre musique... The folder you selected doesn't have enough valid music files Le dossier que vous avez sélectionné n'a pas assez de fichiers de musique valide &Start game &Démarrer le jeu OptionsDialog Game options Options du jeu Using music from: Utilise la musique de : Select your &music folder... Sélectionnez votre dossier de &musique... &Easier &Plus facile &Harder &Plus difficile How many &questions? Combien de &questions ? questions questions How many &players? Combien de &joueurs ? players joueurs Use own color theme Utiliser le thème de couleur spécial Player names Noms des joueurs Save and &reload music Enregistrer et &recharger la musique &Cancel &Annuler Select where your music is located Sélectionnez le dossier où se trouve votre musique Piece of cake not translated for DN3D reference Piece of cake Let's rock not translated for DN3D reference Let's rock Come get some not translated for DN3D reference Come get some Damn I'm good not translated for DN3D reference Damn I'm good HARD!! Difficile !! Hardcore! Type the answer Super difficile ! Taper la réponse In this level you'll have to type the answer. Dans ce niveau, vous devrez taper la réponse. It's not too strict, so you don't have to worry about caps, commas and such. Ce n'est pas trop strict, vous n'avez pas besoin de mettre les majuscules, virgules etc. In this level you'll have to click the correct button, or press the 1, 2, 3 and 4 keys in your keyboard. Dans ce niveau, vous devrez cliquer sur le bon bouton, ou appuyer sur les touches 1, 2, 3 ou 4 de votre clavier. &Save options &Enregistrer les options Start! Démarrer ! Ranking Game ended Partie terminée All questions done! Toutes les questions sont faites! Thanks for playing! Merci d'avoir joué ! Ranking Classement Player Joueur Score Score Good Bon Bad Mauvais T.O. Timed out abbreviation D.D. What?? Zero points!! You're all sooo bad! Plural, all players Quoi ? Aucun point !! Mais vous êtes tous si mauvais ! Zero points! %1, you're very bad!! %1 is the name of a player Aucun point ! %1, vous êtes très mauvais !! Draw between %1 and %2! %1 and %2 are player names Égalité entre %1 et %2 ! You're very good!! Vous êtes très bon ! You're good! Vous êtes bon ! Congratulations, %1!! %1 is the name of the winner Félicitations, %1 !! That was amazing!! C'était formidable !! That was quite good! C'était plutôt bien ! You can do better... Tu peux mieux faire... &OK &OK auralquiz-v1.0.0/translations/auralquiz_es.qm0000664000175000017500000003620013105040436017600 0ustar janjanl;7uk2#*9N+4 ib}U//Ɓ3yMD)~!u"1(F#fI! f1*a .n#NfgQkr4a1Dds)"s+01u KmO w_ +{@ Z *+(2@o\0.p4-r* s!A8 7܅'ݷ>l)4$6 411% %C& M~ M~ / l[~h Q  u-F ޳n : ;$ ;n x 3 I( ֵ ) )I #f /Z` Gu K7 Rί a~ "   z %1 Li 6 c/ 2{ .0 %.- ) #s P^%T Ua6r ga# z C) m5 A(q R/k,Q5cVa"ŅZ^i80Teclea la respuesta aquType the answer here AnswerBox%1 de %2%1 by %2 AuralWindow0%1 canciones disponibles%1 songs available AuralWindow0%v de %m preguntas - %p%%v out of %m questions - %p% AuralWindow&Acerca de... &About... AuralWindow &Finalizar juego &End game AuralWindow&No&No AuralWindow&Opciones&Options AuralWindow &Salir&Quit AuralWindowComenzar &juego &Start game AuralWindow&S, terminarla &Yes, end it AuralWindow+%1 puntos! +%1 points! AuralWindow&Acerca de AuralquizAbout Auralquiz AuralWindowTodo hecho! All done! AuralWindow>Ha ocurrido un error mientras se reproducia sonido. El mensaje de error ha sido: %1 Tal vez tu Phonon-backend no tenga soporte para el formato de archivo MP3.An error occurred while playing sound. The error message was: %1 Maybe your Phonon-backend does not have support for the MP3 file format. AuralWindowPSeguro que quieres terminar la partida?'Are you sure you want to end this game? AuralWindowfAuralquiz est licenciado bajo la licencia GNU GPL.0Auralquiz is licensed under the GNU GPL license. AuralWindow0Auralquiz carga toda tu msica de una carpeta especificada, y pregunta sobre ella, reproduciendo una pequea pieza de cada archivo de msica como pista.Auralquiz loads all your music from a specified folder and asks questions about it, playing a short piece of each music file as clue. AuralWindowMalBad AuralWindow4La respuesta correcta era:Correct answer was: AuralWindowCorrecto!! Correct!! AuralWindow(Finalizar el juego? End game? AuralWindowRTraduccin al castellano por JanKusanagi.#English translation by JanKusanagi. AuralWindow4Error reproduciendo sonidoError playing sound AuralWindow FAIL!FAIL! AuralWindowPrimer uso First usage AuralWindowVenga!GO!! AuralWindowAdelante, %1!Go, %1! AuralWindowBienGood AuralWindowBuena suerte! Good luck! AuralWindow Bien!Good! AuralWindowGenial!Great! AuralWindow@Cuantas preguntas has respondido"How many questions you've answered AuralWindowVamos! Let's go! AuralWindowLa imagen de la pantalla principal, y algunos iconos, estn basados en Oxygen Icons, bajo licencia LGPL.OMain screen image and some icons are based on Oxygen icons, under LGPL license. AuralWindowbQuiz no tienes ningn motor de Phonon instalado.3Maybe you don't have any Phonon backends installed. AuralWindowSiguiente!Next! AuralWindowNo!No! AuralWindowJNo hay suficientes archivos de msicaNot enough music files AuralWindow Ups!Ooops! AuralWindow Jugador %1 de %2Player %1 of %2 AuralWindowTTiempo restante para responder la pregunta&Remaining time to answer this question AuralWindowPuntuacinScore AuralWindow6Error del sistema de sonidoSound system error AuralWindowComenzamos! Starting! AuralWindowEstadsticas Statistics AuralWindowGracias a todos los 'testers', traductores y empaquetadores, que ayudan a hacer Auralquiz mejor!UThanks to all the testers, translators and packagers, who help make Auralquiz better! AuralWindowNo, esa no.That's not it. AuralWindowAs es! That's right! AuralWindow"La respuesta era:The answer was: AuralWindowhParece que hay un problema con tu sistema de sonido.3There seems to be a problem with your sound system. AuralWindow:Parece que esta es la primera vez que usas Auralquiz. Antes de jugar, se analizar tu msica. Si fuese necesario, deberas hacer click en el botn Opciones y seleccionar la carpeta donde se encuentran tus archivos Ogg, FLAC y MP3. Esta carpeta, y sub-carpetas sern analizadas para que Auralquiz pueda generar preguntas y respuestas sobre tu msica. Necesitas archivos correctamente etiquetados para que el juego funcione bien. El anlisis puede tardar un poco, y el programa no responder hasta que est completo. Por favor, se paciente.This seems to be the first time you use Auralquiz. Before playing, your music will be analyzed. If needed, you should click the Options button and select the folder where your Ogg, FLAC and MP3 files are stored. This folder, and sub-folders will be scanned so Auralquiz can generate questions and answers about your music. You need files correctly tagged in order for the game to work correctly. The scan can take some time, and the program will not be responsive until it is complete. Please be patient. AuralWindow TiempoTime AuralWindow(Se acab el tiempo! Time's up!! AuralWindowTiempo agotado Timed out AuralWindowFCual es el ttulo de esta cancin?What's the title of this song? AuralWindow2Quien toca esta cancin?Who plays this song? AuralWindowEquivocado!Wrong! AuralWindowS!Yeah! AuralWindow@No tienes suficientes archivos de msica, o de suficientes artistas diferentes. Necesitas msica de al menos 5 artistas diferentes para poder generar preguntas.You don't have enough music files, or from enough different artists. You need music from at least 5 different artists to be able to generate questions. AuralWindow(Tu puntuacin actualYour current score AuralWindowComenzar &juego &Start game MusicAnalyzer8Analizando %1 archivos en %2Analyzing %1 files under %2 MusicAnalyzerHAnalizando msica. Espera, por favorAnalyzing music. Please wait MusicAnalyzer.Analizando tu msica...Analyzing your music... MusicAnalyzerCancelarCancel MusicAnalyzer"Cancelar anlisisCancel analysis MusicAnalyzer<Configura tu carpeta de msicaConfigure your music folder MusicAnalyzer.Listando archivos en %1Getting list of files under %1 MusicAnalyzer(Listando archivos...Listing files... MusicAnalyzerPSe ha cancelado el anlisis de la msicaMusic analysis was cancelled MusicAnalyzerXPor favor, selecciona otra carpeta de msica"Please choose another music folder MusicAnalyzerHPor favor, recarga la info de msicaPlease reload music info MusicAnalyzerPor favor, selecciona otro directorio que contenga archivos Ogg, FLAC o MP3, e intntalo de nuevo.RPlease, select another directory containing Ogg, FLAC or MP3 files, and try again. MusicAnalyzerLa carpeta que has seleccionado no tiene suficientes archivos de msica vlidos=The folder you selected doesn't have enough valid music files MusicAnalyzerNo hay archivos de msica vlidos en tu directorio de msica seleccionado.@There are no valid music files in your selected music directory. MusicAnalyzerNo hay msica!There is no music! MusicAnalyzer&Cancelar&Cancel OptionsDialogMs &fcil&Easier OptionsDialogMs &difcil&Harder OptionsDialog"&Guardar opciones &Save options OptionsDialog Come get some OptionsDialog Damn I'm good OptionsDialog$Opciones del juego Game options OptionsDialogHARD!! OptionsDialogBMuy difcil! Teclea la respuestaHardcore! Type the answer OptionsDialog(Cuantos &jugadores?How many &players? OptionsDialog(Cuantas &preguntas?How many &questions? OptionsDialogEn este nivel tendrs que hacer click en el botn correcto, o apretar las teclas 1, 2, 3 y 4 del teclado.hIn this level you'll have to click the correct button, or press the 1, 2, 3 and 4 keys in your keyboard. OptionsDialog^En este nivel tendrs que teclear la respuesta.-In this level you'll have to type the answer. OptionsDialogNo es muy estricto, as que no te has de preocupar de las maysculas, comas, etc.LIt's not too strict, so you don't have to worry about caps, commas and such. OptionsDialog Let's rock OptionsDialog Piece of cake OptionsDialog0Nombres de los jugadores Player names OptionsDialog:Guardar y &recargar la msicaSave and &reload music OptionsDialogNSelecciona donde se encuentra tu msica"Select where your music is located OptionsDialogFSelecciona tu carpeta de &msica...Select your &music folder... OptionsDialogComenzar!Start! OptionsDialog6Usar tema de colores propioUse own color theme OptionsDialog"Usando msica de:Using music from: OptionsDialogjugadoresplayers OptionsDialogpreguntas questions OptionsDialog&OK&OKRankingHHas contestado todas las preguntas!All questions done!RankingMalBadRanking"Felicidades, %1!Congratulations, %1!!Ranking.Empate entrer %1 y %2!Draw between %1 and %2!RankingJuego terminado Game endedRankingBienGoodRankingJugadorPlayerRankingClasificacinRankingRankingPuntuacinScoreRankingT.A.T.O.Ranking&Gracias por jugar!Thanks for playing!Ranking*Ha sido increble!!That was amazing!!Ranking2Ha estado bastante bien!That was quite good!Ranking`Qu?? Cero puntos!! Sois todos muuuy malos!)What?? Zero points!! You're all sooo bad!Ranking.Puedes hacerlo mejor...You can do better...RankingEres bueno! You're good!Ranking*Se te da muy bien!!You're very good!!RankingLCero puntos! %1, se te da muy mal!!"Zero points! %1, you're very bad!!Ranking