MZ@ !L!This program cannot be run in DOS mode. $ܚ&UHHHIHHHHEHHHHRichHPEL:W  40@p@L0d@8P@.text; h.rdata@H.data@@INITR 0  .rsrc8@@B.relocP@Bh`@d5D$l$l$+SVWB1E3PeuEEEEdËMd Y__^[]Q̋US] Vs35BWEE{t N3 8ArN F3 81rE@fMUS[ EMt_I[LDEEtE|@GE؃u΀}t$t N3 8qN V3 :qE_^[]EɋM E 9X thBWӋE MH t N3 8_qN V3 :OqEH%9S thBWATSVWT$D$L$URPQQhD@d5B3ĉD$d%D$0XL$,3p t;T$4t;v.4v\ H {uhCCd_^[ËL$At3D$H3vpUhp pp> ]D$T$UL$)qqq( ]UVWS33333[_^]ËjG33333USVWjjh@Qgp_^[]Ul$RQt$ ]SQB SQBL$ KCk UQPXY]Y[USVjBP\Bu3EBFE$+t8HuEPhBrt uuSSSSSjEPjXB8^AtSf^@PB^[]UQQ BV3h BuuP MEPVVE`y`B^]USVu3W  B9^t#M D DAN>r$B_^[]V33@5BVPh BB5BxBhVhBhBV5B5B5B BV BBB BVP^UQQee}trS] ti3Ҹ4uVW=BhjCVjBVjB׋5Bja PjaiEEPjjU`Bja$Pja_^[]USVuBW}  B9BsABjjj4BBhB<B BBA;#BdB$B_^2[]UEVWx(Lpm@t hAmmYFtu Wl@t hALmYWCfu We_^]UESVWp(l@t hfAmYL} jj@htAEWPHB؅y)_l@t hvAlY2҉_BVeo~Xu?W؅x-EtWVЋ؅xl@t hAllYVg2҉_BVdjWPLB_^[]UESVWx(k@t hփAlYu jjhtAVPHB؅y)}k@t hvAkY2҉^BW#d,f2҉^BWdjVQLB_^[]UESVWx(k@t hA{kYu jjhtAVPHB؅y)j@t hvAGkY2҉^BWc,f2҉^BWgcjVQLB_^[]UQQ|jy h AjYESVWxH +H+8E MXp+ڋ@ +Ɖ] uEuii iFiu E Ei@ Eƙ}ȋEi@  EƋu}~NF iy6hAiYYxiyvhĔAiYY`iyvhڔAiYYHiyv hAiYY_^[] UuMuu APA PjJ]UQQESVWE <f3ɋuB;~+F|ÚMB;~+A|tt Ǚ+S]Vu F +FiNFu+i}^;[_]UM 3@SI Vk Wj Yu}toB ZEBEB EBOEBOB+$B+B,rMrR2uEu P2mOB ZEBEB EBOEBOB+$B+B,rMrRU2uE􍆔Ou P@2}|Yx+]E+E |EM+U E+‰((y+]E+E #MUE+ E+ƒ_(^[]UE S]VuWj_+;~;U}U_^[]UUVuW} €jY+~ ~M  UF $GF $GF$GF$G`t AGAGeyPhAeYYteyGPhAeYYZeyGPhԊAeYY@eyGPhAeYY&eyGPhAeYY eyGPhAoeYY_^]UES] Vp(EuW}t,VSPspslxjYu'0u8CyU3ɋVAf KdMEB<w>BEPCxPC`Pu2 B}tAdt hAdY}tƆxƆƇFx~`ƆƆu(a8]uM8] X8tE8]t#U(F8B FAu&`xƇ~H`x 2􊅓>u=uFPWQd2[@thЅA[YY2<b<4<8>hjP][fSfVP;[Z@tPhA[YYPPVW2V`s3<8 dBUAA9u⃿wFPFPSRtHFB0hpjPOZfSfprVP-ZCPpP dB23ۋUCXV\tAA9u⋇Rx%hLJR0Y@t hLAyYY3X@t7PhZA^YYYG |N"ˀɀ"ˊFFFF(PXPPjPP djY#dh#h4#э8#Љ4ˋ8$NF^VX@thdh`AdX jYX<󥋽ppTFFFF (PXP$PjPP ddhhIW@thdhxAW 48Љ4ˋ8$N^h FV JV@t hA3WYd+H؋h+L3+ڙ3‰T+‰|V@t|ShAV dXjY@9H}Hȋ|L;h}hPfZLfBU@tPLhȆAYV pTpTFt U@tPhAVYYU@tHhAUYYxU@tPh&AUYY H ȋT ȋ| 3T@@| ȉTT@tTh:AYUYYB<wQBtPXP@PX\2 BttTt hATYxy_wQhxjPTfSfxzVPTCPxPxhR_ dBAA9ujjPVSP tjhPShjVT ED9lt_^QP(\S[t hbASYM3US] UQQE @MEu1S@t hƒASYS/hAlSYW=B<v R hA?SYVRu@t6h8A SYYHS A$6@R@t hbARYujV;<fBE PFPVuU2 B} `/RPhA@R@t hrA}RYu3CSV;<^BE PFPVuU2 B9] Q@t hA+RYuj[SV3;:^8Q@t hAQYju[SV:<^[Q@t hAQYjCQ@t hAQYju:׾A<wBE@BME PAPQuU2 B} tPtVTQYE`jY:}OBE PGPWuU2 B} PVP@t hғAPYju9׾A<wBE@BME PAPQuU2 B} t)PtVPYE`<9}G9O@t hA_PYjuj9jYA:wABMY<E3GxBME PAPQuU2 B9} L@t hZALY<BME PAPQ RL@t hjALYju5׾A<w?E`BME PAPQuU2 B} tKtVfLYK@t hAKLY[^_] I0@0@11@d1@|1@;2@2@:0@3@[4@5@66@m6@UE}SVH(u W^EE(P @EUVU8 VŃ}Em M+t@u<TBiMfLFH dBAFTFPA9FTtm M+U;};E+;UU;+; dBAF\FXA9F\uTBVX+VPN\NTQRjPK;VL ;FH} }+fE EgRJt hAJYjE PuTBiMfLFH dBAFTFPA9FTu;ut3TBiMfLFH dBAFTFPA9FTu_^[]$UEVWx(3@8x9E}uc;tjY;ttugE `E MQWPLxEMQWPLx3RRPu聗9Eutt E _^]}u9Eu;tt݋MQWPLx+MQWPLxRRPut jY;)E UB3ʼnEE eS]EEVEEW]tEcHt h$AHYs(u>Ht hJAHY2 tpM{ x@(EE4VEUMuGy hA3HYUEXxtEu#؉|#EEPNN38Ej0EjPG EuPESur+Gy h‹AGYGyxrhҋAyGYYFy|rhA^GYYxrx;|rx;~)lrPVF]< Fy hAGY}3j Zt @uG ``uGArt7;#uNFyuuuhAF}EPLWFyuuuhA~FpMtEy?hFA\FY2Ey hbAFFY;sVEPNPPWEyuuuh~A FHtEPE0jYPjEyuuuhAEPt2EP pMENNPMPEuP8MQ pMMMNNQPEuP }ttujYEMQL`NxjYP$Et jYűDyuuuhADpM<uJ=BuAEP ENNP}MVW=uuVW>pM}DyuuuhDA}DNENPEWP0CyuuuhAGD uVQtFXNuDPNtCy hȍADY3Cy hACY3G} ƃPN}hCyuuuhACu)EujYPj|PPExP,}Cyuuuh:A{CTRu5u t,@u(F<_t<`uB@h|A@CYByuuuhACkU`P`NPuu؃xjYR ^B@t h܎ABYuj XuB3@9Nu78Pu/-B@t hABYE3PE؋PE܊ @A@tFPh(AOBYYF<_tP<`tLt hAQ?Yj XfEEƀ<w=׍EPEPEPuU2 B}t>t hA>Yu~>yuhA>YY}EPEPWu=tEP|PPEPEP4}EVP(}uEtEPELP@pMt=hFAM>Y=y hbA4>Y=yGPhA>YY3j Yt @uw $`<`uwA|=yGPhA=YY;sVEPNPPEPut&HtEPE0jYPut2EP pMENNPCPEuP ut#EPLE`NxjYP$ut}t8|t.u3fPPNEQP3C2ۋEuPf<t hDA<YËM_^3[Y<]U3ɰ9M ~ UA;M |]UM EVQp(t9EW8Eu 8uuu8utq q1VPX_^]UQQSVW}3FjO kYjO EYu +ωM؋~ vM;~E+jdx_<;}U+jd_+;~E+jd[p ƙ4;}M+ƋjdAY+M;~y3;~y3E Mx _p^[] UhB3ʼnEEM USX(VWMujY}U󥋃3x(D}0EM+ S+SuEMu}k:bZVMUE}E}QE􋃼P$3MfE̍}ΫEf}VEE9yPhAP:YY3!E!EjfEXfEB<w?BEPEPEPuU2 B}t9t hA9Yj XfEƃB<w?BEPEPEPuU2 B}t79t hA9YƇE8ehTE8@tEPhAa9YY8@tHhAF9YY8@tPh&A)9YYE 3MT@| ȉM{8@tuhA8YYEPUPuN=BtO;u,}u&7@t h(A7YB a7@t hjA7Y;u;u}u u ;u~} uuo9]uj xu:Ɓ>x/u+9]u&38Hlj u_^[]UU$VJ BME;~΅y3;~^y3J B] U$SVu3WjC}N YU+uEE VM8: Q0W$(E,kE EEUMʉu+MЋE U+OE+OEMEu}+}+ȋƙ}ME}EEE΋EMu}+}+ȋƙ}ME}UuUMM _^E[]UUM VWz2+΋BR++֋M+_^+] UB3ʼnES]VWjYu t3pL4y|hˆA4YY14yuh؈A4YY4yuhA~4YY4yuhAf4YY3yuhAN4YY3yuh6A64YY3yuhTA4YY3yuhpA4YY89s/;&o3yshA3YY3;ssI3yvWhA3 /3y6Wh։A3 3yvWhAz3 2yvWh A`3 2yhHAD3YY2yhPA)3YYFu9t Nu9Nu p&xt#EEFEEPtMPwt Eet Eet EeFt Ee1yuhXAI2YY1yuhlA12YY1yuhA2YY1yuhA2YY;E|;E;E|;E~G;{p;s2M_^3[U1]ˆU0e3S]VW}䫍s}𥥥s(}Х1y h"Ao1YC t u S$,E+EEE+EhX@u EEPEPEPS_^[]U0S]3VW}ess(}Х}䫫}0y hjA0YE+EEE+EhX@u EEPEPEPS_^[]U0S]3VW}ess(}Х}0y hRAm0YE+EM+MhX@u EEPEMPEPSM _^[]U/y h4A0YSVuWF>^EEF }]EEz/y WhNA/YYd/y ShbA/YYN/yuhvA/YY6/yuhA/YYEH@t'y}VPtU'8} EPuWX]G +GWK +K+EC+UMEt|txU+i™}+iMM}FCO+iMM}FCO+iMM}F 4.y6hA.YY.yvhA.YY.yvhԕAj.YY-yv hAR.YY_^[]UEHwh$tU@u PwVu PDKu Pc@u PT5u P*u PLu Pu P* u P]I U@U@"U@-U@8U@CU@NU@YU@dU@U03S]VW}ss(}Х}䫫,y hAg-YM+MMEE+EhX@u EEPEPEPS_^[]U0S]3VW}ess(}Х}䫫,y hA,YE+EEE+EhX@u EEPEPEPS_^[]U0S]3VW}ess(}Х},y hʖAo,YE+EM+MEhX@u EEPEMPEPS_^[]U03S]VW}ss(}Х}+y hA+YM+MU+UEhX@u EEPEMPEUPS_^[]U03S]VW}ss(}Х}䫫 +y hAu+YM+MMEE+EhX@u EEPEPEPS_^[]U0S]VW}Ѝss(}𥥥s}॥*y h A*YhY@u EPEPEPS_^[]U0S]3VW}ess(}Х}䫫/*y h:A*YE+EEE+EhX@u EEPEPEPS6_^[]UVu # F# FF# FF # F )y6hA)YY~)yvhĔA)YYf)yvhڔA)YYN)yv hA)YY^]U +)y hA)YSVuW} VN F++F^+^ UV$+VEMUi iM}iGiN E}GiGiN EGiG iN EG A(y7hA(YY*(ywhĔA(YY(ywhڔAw(YY'yw hA_(YY_^[]USVW't h܇A6(YuB؀v$' PhA'Y}M 9Cukt:Qu`AEAʈE fEfNHtt#ȋyIA3@ lljj\PPB&t hNAd'Y_^[] U&t hvAC'YEVWx(QP$t"S] :uFt uSvЋv u[QP(s&_^t hA&Y] UME PQAt fHf!P]U0e3MVW}A q}𥥥q(}Х_^t u Q,E+EEE+Ehb@u EEPEPEPQ]U0M3VW}eqhb@u q(}Х}䫫E+EEE+EEEPEPEPQm_^]U0U3VW}erhb@u r(M}+M䥥}E+EEEPEMPEPRM_^]UEH@t)y}uPtU8S] VuWFPN QuSF}C +CEO +OG+MEtDt@ +iK+ N }F GK+iNM}FfN_^[]UEHwh$_@u PVE xf!HEu P:u P/E x u PE x u P" u P;]I^@^@^@^@^@^@^@_@ _@UEHwh$_@u P;Vu PKu P@u P5u P*u PLu Pu P u P[]IX_@c_@n_@y_@_@_@_@_@_@U0U3VW}rhb@u Mr(+M}Х}䫫EE+EEEPEMPEPR_^]U0M3VW}eqhc@u q(}Х}䫫E+EEE+EEEPEPEPQ3_^]U0U3VW}erh,c@u r(M}+M䥥}E+EEEEPEMPEPR_^]U0S]3VW}shPc@u Ms(+M}ХU+U䥥}EEEPEMPEUPS`_^[]U0U3VW}rh|c@u Mr(+M}Х}䫫EE+EEEPEMPEPR_^]UEM0VWp}Хhc@u QMQMQPp(}𥥥p}॥_^]U0M3VW}eqhd@u q(}Х}䫫E+EEE+EEEPEPEPQO_^]UEVu @ tVPf!F^]UE x f!H]UM AAf!A]UM A yA f!A]UE x xf!H]UM Ay Af!A]UM A‰AA ‰A f!A]UM A A f!A]UQSW}G+G_O$+O+_ EMt?t;OG +Vu F }F FEOFf!F^_[]UE xf!H]UQQSVu39^}W}]] (U uu}j[IKu}3҉]DŽ (!\ ΋ID B|D ˉ  E  (   (MA (uI (@U E  (   ( (MQyJBU%yH@E ߋ + 3+;F~F;,,~!D ,,,,;F~ L ,,EU +3+;F~F;,<~' ,<,<;F~ ,<E@jE[ȁyIA E EE@EKuL ]t, 8EtEMME9U U (tE   _^[]UEHt1HtHuAU +B JBJ +U +B +JJU JB B+B ]USVu 3W}@fGWfOUfo]yPhjAYY]舞PCyPhAYYj ˉ]ZMAE AE E ‰E EAEAEEŠEEE EEE3 t @uA ``uAArtyu hAYYyuhAYYOt%jSEPEPVMEPEPOP;jSEPEPV(MEO Gxr|r;wx;~ xr|rHtSW0PO +G;~ʅy3;~…y3O GEOt)t%jSEPEPV|EPEPOPjˍE]WjSP-WjSEP EtjuEPEPV'WjSEPWjSEPMEA EAHtEtu썆0QPMA WEAjEESP蟲WjSEP蒲M+E;~ʅy3;~…y3UJ B_^[]UM SVuW}+IUM @N8$M(fAE;~jxXfAE+;} fAE ƆE{,u(jYCSTBiMԐc$C dBACCA9CtME}UEU}u}EUCyu@M܋u;~bU+;}\M;~R+;}LU(K8J Cbt;hA.Rt+hؚABthA2t hAYE;t2tHHtHt Hu<@ @ @tBWSV@t)tHtt@$֋@ϋ@ȋ@@ 뺻2ҋω_BVX_^[]UVu3@pt6hAYY^]UVu3W@A At 6WYY&t 6WYY_^]UE SV5xB3W}SS3@_TGGG GGPLJz@SSG$PSSG4PSSGDP֍PhB_^[]UQSV3W]t hAY{utu VhA EPSSjShVB؅BEhjx(WE E Pu|BLJHBut hAVYchtBWHVuP؅yt6hA)VhtBjju؅yDt h,AYtPB}t uBPt^hbAQEVjhBH E`BVu uPt htBPhA YYt h0AYBWPjQ VhBpBjY3 !BhNA8u_t Vh\AYY|@F4@FtFpFHFDF@F8F@$@t hxALYD3^]U誑BtPxB3!BBtuhAYY]̸BUVu t@E PhjuBx(PvjhAu h@lBu B^]U(B3ʼnEVu3W}AMVE؋UE3fE䫫f9lTy hAJY4Sy hڞA0YGB<w<BEPGPWuU2 B}t~t hAYlT} Gxi;e }$GyjhrAYYjVu9W ~yjhAYYjVLhAxy fM;~j XfEy hA+YeeEB<BEPEPEPuU2 B}tejtYhAYLy$Myjh0AYYjV{9W~$yjhPAYYjVRM_3^]USVW3E CjEEBP\B]{\Eut hxAYthAVBCPB(x3ɈtxHwO$X@EigFE=E4E+Eyl"EEL;E􀵢E<6MEQPQQQjEPjXBt%=@hA2Yy@hΫAHt-t@thjAYtVBt@u#lupu WQuSƇtMMEigtjEQ3ɍEQPQQQjEPjXB{AT]ƇWRWpRUV0xPVQU@t h6AYt hzAYjC@PB_^[]y@@@@@@@@@U@t hPAYE SVuW@(3PPPPSTBj@H|_>t#t hXA[Yjj6PB OuWSB_^[]US]VWPP3V>uOQQP uV4hj@DPuVP _^[]UVuPQ$PQ$DPQ$^]UVuVPt hAaYVVFTVFVBVPQ dPQ PQ VP8VPXxtPxBXxt PBxB^]UVudPQPQVuPQ uƆ3^]UVuVu PQPQdPQ^]UQQESVu 2Wx(EEE9t9Au59Ju0B;tUuXQ192u u M9u7jY)u9qu u9JuUEBPQ9uΉ HMU;uF%PBtf2ҋF BW_^[]UQQESVu 2Wx(EEE9t9Au59Ju0B;tUuXQ192u u M9u7jY)u9qu u9JuUEBPQ9uΉ HMU;uF%PBtf2ҋF BW_^[]UQQE VW@`pEEEE PBu }EPPVu EPPVu EPPVu B1U9Pu99Au4MQHa2A BW@EM;u_^]jY)U EVEEEWPB}96tGS9Xu?9Au: UYMH9u&E@t h\AmY96u[,jY)9Au9JuuBU1Q92uى M9uՍ'9Au9JuuBU1Q92u M9uuB1U9Pu9AuMQHa2A BWEM;u_^]UE jjPPPB]UE jj@PPB] ̰UEt@(3QQQQ(PTB]UEt@(j(PB3]UtuhAYYVut4Vh0AYYR u*4Vt!EtVKEt uu 訆3^]UESX(]tv{~pW}@t WhAjYYV3t%] @tPhAFYYF;r]^@t hA(YjWu PQ_3[] UB3ʼnE3W}EEfEElt hAYtAVw(VFT%Dj EPWV)GVJV'KVQ\V^2M3_!]UEtP(tM UAV]UB3ʼnES]VWjsBP\BEPL}Et6HtHuWBVCV[D3PPPPPjEPjXB{AtUt hAYtPg3t hAY2G BVPB PBt h@AOYC@VP8jPBM_^3[]UB3ʼnESVW}jBP\BwE@]Et6HtHuSBV)8V83PPPPPjEPjXBAt)t h AY3ۈ_@t82҉YA BVPBPBVP8t h,A,YSPBM_^3[]UE2ҋM Vp(ABV@^]UEVWx(Y@t hHAYTu3?t hZAY3&@t hAYWM 2҉qBW_^]UESVWX(@t h$AKYt h6A4Y} w`vS$DvSHvS`IvSP`WSP4g2ҋBS8S_^3[]UESVWx(O@t hfAYTt%5t hvAYu fu 3ۋF`9Xu@t hAkY^#r8tb8uZEPBHF8QFXP9 tjY)AF`HuBPQ,^%2҉^BW-_^[]UESVWx(p("=@t hʤAYTt%#t hvAYu fu 3ۋF`9Xu@t hܤAYY^#r84tb85uZEPBHF8QFXP9 tjY)AF`HuBPQ,^%2҉^BW_^[]UESVWx(93Ct hAYu F`@W$~@hAwph*A`Yh`AIBhA2+hޥAhAohAXh>AAhbAnt\ tGHHt3tHuihAhA|tyh~AltihzA\tYhئALt9HHt%tt;hA.t+hBAthAyt hAY2ҋΉ^BW_^[]Iƕ@ @@"@ݕ@9@P@g@U]UU MB`@hB lpB83ɇ]UVuWu hSl;v!+ӍRpQPpll[;huglG31} t Pd`PB_^]UU MB`@tB x|B83ɇ]2UEVQMQhjPBx U M E ^]U}t]%B3]UQQS3VW}E.E@E=rVSPV SPVSPVSPV2SPVBSPH3ALJ jXRWLJ$LJS8VM#MQWPLE{SQQuQQuXTPPuD RPPuRPPuPPPuPPupPPuUPPutEPh(BuE;(BuVPuG3V VPPuVPu65 VVVun)Vus7$VVVu(Vu7(VVVuVuE2,VVVuVu1PPu)HVPPuXxPPuXxuḩAztXxPh ASYYtXxph,A5YYtXxphRAYYtXxp h~AYY|tXxphAYY^tXxp$hԨAYY$WPPu5WPPu8$xtVˉM3ۋӍ4Uk4ރ>u(8UuBrAMrƇUƇUE_^[]UQQU EEE9S]VW}29VuS9puNPF9Xu'EN!F3FG>F98u!0wEMF9u 0u9u+jY)u9pu9AuMqJH9uډBEM;u_^[]USVu3WPPPP(WTBjƈ{[t jjPPB KuSWB_^[]USVWt hzAYuE thAYY3(PPPPWTBj@Ƥ[>t#It hAYjj6PB KuSWB_^[]UXB3ʼnEjTEjPE EEEEjYjjPhAjEAMME BM3]UVu39uT9tJ 9BuH9QuC¨A3ɍB8RVPPd`PB^]jY)UVu39uT9tJ 9BuH9QuC¨A3ɍB8RVP Pd`PB^]jY)UXB3ʼnEjTEjP5E EEEEjYjjPhAjE&AMME BM3~]US]VWhjSE }u$SEuhBEu`BEuBE uBd(BSPLB\BSVPSPDBTBhrjV 3BjDPXx\xVPG(LS$xPT=xB@3@V@@VPVVPPVV\P׃d35BSǃ``yp<P֋Sp@ P֋5BP֍P33PA QPj(PBSRE3hPfxSfSSxx{P8x x3҉tx`xj@|xYP@ PIu@|VRP^VjPO8xW3ǃ4V$SSWWWJz 3R jYPYNu_wxxE^ xx[] U -t hAYEEEEWPB}9t4V29Vu59pu03ɉPFEMF9u0u9u^uBJjY)@t h AYMU9Qu9HuՃEP2҃aaBWAY]U SVWhAEP|BEE0PjEtBtuh AtYYEFP3F ^EuVjPupBx;~ e9]t uxBjjtBv NQW 7t WhRAYYstuhAYYt #VxB=tuhʰAYYE}+t WhAyYYujtBtuh\AIYYEFP^E~ uVjPupBHtv hAYY9]t uxBv jtB} v FPW MtPh AYY1twh,AYYtwhRAxYYtw h~A]YYtwhABYYtw$hԨA'YY9^ vP3j3ҋYut hAY}tPh±AYYG;~ r}Ut hȱAYVxB}_^[] UB3ʼnESVupWhjPU M Džx©A|BMEAj[EBEAj _EB EЍA jjE؍pPVh@]]tEީA]]}EA]]}E A]ԉ]܉}BM_^3[p] UB3ʼnEVWhpjPU MDžx©A|BMEAj_EBEAj ^EB EЍA jjE؍pPhAj}}tEީA}}uEA}}uE A}ԉ}܉uBM_3^]UXB3ʼnEVuEjTjPE EE EEjYjjPVh@EAMME BM3^0] UXB3ʼnEjTEjPE EEEEjYjjPhAjEAMME BM3]UXB3ʼnEVuEjTjPE EE EEjYjjPVh@EAMME BM3^\] UXB3ʼnEjTEjPE EEEEjYjjPhAjEAMME BM3]UXB3ʼnEVuEjTjP?E EE EEjYjjPVh@EdAMME BM3^] UXB3ʼnEjTEjPE EEEEjYjjPhAjEdAMME BM3 ]U SVhAEP|BE8PjEtB؅tuhЪA-YYWEPuESjPupBux-{ uKj Qu u }jYu }jYuT_t hAYSxB^[] U SVhAEP|Bu8VjtB؅t VhAVYYcEWj _PVSjECPu{ pBux+9{ uKWQu u }jYu }jYup_t hNAYSxB^[] UXB3ʼnEVuEjTjPE EE EEjYjjPVh@E֮AMME BM3^] UXB3ʼnEjTEjPCE EEEEjYjjPhAjE֮AMME BM3]UB3ʼnESVupWhjPU M Džx A|j[B]EAj _EBEAjjEpPVh@M]tE6A]]}ERA]]}BM_^3[] UB3ʼnEVWhpjPU MDžx A|j_B}EAj ^EBEAjjEpPhAjM}tE6A}}uERA}}uBM_3^]UXB3ʼnEjTEjPgE EEEEjYjjPhAjEfAMME BM3]UXB3ʼnEVuEjTjPE EE EEjYjjPVh@EAMME BM3^D] UXB3ʼnEjTEjPE EEEEjYjjPhAjEAMME BM3]U SVhhAEP|BE4PjEtB؅tuhzAYYWEPuESjPupBux-{ uKjQu u }jYu }jYu_t hAtYSxB^[] U SVhhAEP|Bu4VjtB؅t VhAYYcEWj_PVSjECPu{ pBux+9{ uKWQu u }jYu }jYu,_t hAYSxB^[] UXB3ʼnEVuEjTjPgE EE EEjYjjPVh@E@AMME BM3^] UXB3ʼnEjTEjPE EEEEjYjjPhAjE@AMME BM3H]UXB3ʼnEjTEjPE EEEEjYjjPhAjEAMME BM3]U8j8EjP9E EԋEE܍EjYjjPhAjEОAM؉ME B]UXB3ʼnEjTEjPE EEEEjYjjPhAjEAMME BM3$]UXB3ʼnEVuEjTjPoE EE EEjYjjPVh@EAMME BM3^] U SVhAEP|BEPjEtB؅atuh,AYYWEPuESjPupBux09C uKPQu u }j:Yu }j:Yu_t hZAKYSxB^[] U SVhAEP|BuVjtB؅t VhvAYYcEWPVSjECPu{ pBux+9{ uKWQu u }j:Yu }j:Yu_t hAcYSxB^[] U SVhAEP|BEEPjEtB؅tuhAYYcEWjx_PCE{ uSjPupBux+9{ uKWQu u }jYu }jYu_t hHAuYSxB^[] U SVhAEP|BuƐVjtB؅t VhNAYYcEWjx_PVSjECPu{ pBux+9{ uKWQu u }jYu }jYu+_t hAYSxB^[] UtB3ʼnESVuEWjpjPeU M EfAUj[B]EAj _EBEЍAjjE؍EPVh@M]}EzA]]}E̐A]ԉ]܉}BM_^3[u] UtB3ʼnEVWjpEjPU MEfAUj_B}EAj ^EBEЍAjjE؍EPhAjM}uEzA}}uE̐A}ԉ}܉uBM_3^]UXB3ʼnEjTEjPE EEEEjYjjPhAjEttBf&f OuWSB衫_^[t hAY]U肫t hAYSVu3WPPPP(WTBE ƈ{j[;Fut tBE ff& KuSWB_^[t hA聫Y]UtuhܳA`YY}t-M Vj ^jZtAtAJuNu^]U訪tuhA YY}t5M VWj _j^t+At+ANuOu_^]UQVuEUfMj?HZf@Ju3f;^]USVu3Wj[3kǃ| u|$uBf;|Af;|2_^[]UMHpJtLxN|PRTV]UMSVW8UUUU U,U0U$U(U3jЋ[fAXfEGEB(Kuكf|_^[]U袨t h$A YSVu3WPPPP(STB3@|9Ft89t49Ft/]t6vWh A迨NtB3FFG @rPSB_^[t h@A肨Y]Ut h2AfYSVu3WPPPP(STB3Ɯ9Ft89t49Ft/蹧t6vWhANtB3FFG @rPSBy_^[t hPAާY]UZt hA§YSVu3WPPPP(STB3ƀx9Ft89t49Ft/t6vWhAwNtB3FFG @rPSBզ_^[t hA:Y]USVuW3WWWW(STBE @|;Fu>>t9~t3脦t6vWh ANtBf&fE G @rjSB_^[]USVuW3WWWW(STBE Ɯ;Fu>>t9~t3t6vWhAdNtBf&fE G @rjSB_^[]USVuW3WWWW(STBE ƀx;Fu>>t9~t3耥t6vWhANtBf&fE G @rjSB_^[]UQQSVW} G`pEEEE PBu ]EPPV=u B5B-U9PuL9AuGMQHa2A S臝EM;uɃg2҃gSi_^3[]jY)UEVWp(耤@t hNAY~Tt4ft hvAΤYM 2҉yBV S] 3QQQC`Qx (PE TBBlJ@;/ ;;  tUt)覣hƺA Y艣t hAYSVP: et hAͣYSVP  At h~A詣YSVP t hfA腣YSV t hںAbYSVP $(tU,t)0袢%hBAY腢t h.AYSVP$6 at hAɢYSVP  =t hA襢YSVPt hA聢YSVPt hZA]YSVP,; 8LPtUTt)X菡mhлAY]rt hAڡYSVP<#Nt hA趡YSVP8*t hA蒡YSVP4t hrAnYSVP0t hAJYSVPD`dtyltQpt)t莠hTAYqt h@A٠YSV&Qt h,A蹠YSVc 1t hA虠YSVt hAyYSVPHhAQYo;;tstTt,|t h4AYSV 1\t hAğYSVD<hAJ%hA3hAt hTA_YSV t|tTt,觞t hVAYSV\臞t h&AYSV <gt hнAϞYSVGt hA诞YSV 'hvA苞Y t hľArYSV~ ;ty tQ t, 觝t hAYSVC \臝hAYjt hpAҝYSV Jt hܾA貝YSVPT&t hA莝YSVPXt hAjYSV # ' tkC tCG t辜WhA!Yw補t hA YSV X胜t hAYSV 8ct hA˜YSVChA觜Y;a;&;wR S[SVP $k(;, 0SVP(5\;wR8SL#PTXSVP@`dlpxthSV;;w^jtDt0SV 2SV&SVk t0SVSVSVS  ;wGG T uASVn # tS' *C G j(PBc2҉{BVSVE jPB[_^]UQMU S]VWE3@|;Pu ;uxu G @r\ژt$k @|[ k 4WhA+k H|tB[ 3k !M@|H| ~t hAY3D|>t]tv6WhA还G @r֋E_^[] UQMU S]VWE3;Pu ;uxu G @rStk WhAH k tBk 3!M 蟗t hعAY3>t~tv6WhAG @r֋E_^[] UQMU S]VWE3x;Pu ;uxu G @r\t$k x k 4Wh"Aek xtB 3k !Mxx 踖t hJA Y3x>t藖tv6Wh"AG @r֋E_^[] UMXTPju Q]UMPju Q]UM@EEPju Qj]UMpPj u QN]UMRPj u Q2]UQQEEPju E ;u ]UMPju Q]UM0xPju Q]Un@tjh4AԕYYMEEPju Q]UB3ʼnEES] VWj:YU󥍍Q0xGPhS5M_^3[]UMSPjxu Q ]UMRPj u Q ]UMPju Q ]Upt hAؔYVu WF`xHs#@u PQuf2ҋΉ~Buތ_^]Ut hBAnYVu WF`xHs# @u f2ҋΉ~Bu肌9PQu f2҉~Bu[莓t h`AY_^]Unt hA֓YVu WF`xHs#@u PQuf2ҋΉ~Bu܋_^]Ut hAlYVu WF`xHs#@u PQusf2ҋΉ~Bur_^]UMHVPju Q ]UM$WPju Q ]UMPju Q ]UMWPju Q ]UM4VPju Qp ]Ut hAvYVu WF`xHs#@u PQuf2ҋΉ~Bu|_^]USVW衑3Ct h4AYu ~`OsJ{t hPAYgtwh~ȂYYOtjh´A赑YY# Gu4*t hA蒑Yf2ҋΉ~Buʼn9PQuf2҉~Bu螉ѐt h A9Y_^[]U谐t hAYVu WF`xHs#@u PQu9f2ҋΉ~Bu_^]UFt hlA讐YVu WF`xHs#@u PQuf2ҋΉ~Bu贈_^]UMh@HVPju Qo ]UMh@$WPju QM ]UMh@WPju Q+ ]UMj4VPju Q ]UMPhu Q]UQQS]VWE3D|ƃ8tG @rk jEH|PEBj0juBExA[ k M E ME@|迎t6Eu4Wh\AE3ҋM[ k @|耎t h~AY3>tetv6Wh\AǎG @r֋E_^[] UQS]VWE3ƃ8tG @r k jPEBj0juBEx@M Ek U迍t5EuWhnAE3ɉk 聍t hAY3>tftv6WhnAȍG @r֋E_^[] UQQS]VWE3xƃ8tG @rk jExPEBj0juBExA k M E MEx蹌t6Eu4WhܵAE3ҋM k xzt hAY3>t_tv6WhܵAG @r֋E_^[] UMh,@XTPju Q]UMh @Pju Q]UMh@pPj u Qy]UMhr@RPj u QW]UMhj@Pju Q5]UMh@0xPju Q]USVW}h@UVhu WV0x1 4U3ҋރ;u)<u Br( rƇUƇU_^3[]UMh@SPjxu Qu]UMh@RPj u QS]UMh@Pju Q1]UM 2҃aaBu.3]UVW}Tt5Mt hvA赊YM 2҃aqBWDu F`HEPBǜXF>98tjY)0uwB_^]UVW}3ɋ񍇄{9Hu 9u9HtF |_^] Sk {QPBj0juBEx/EK k M ;{ :Wt)hA迉Y3ɍK k ;{;{ 8E[UVuXx@WEtXxphA]YYtXxph>A?YYˆtXxp hpA!YY褈tXxphAYY膈_tXxp$hַAYYeEPju V^]UUXxtAHQPu RW3E}쫫EPju R`_]UQeS] VuWC`HM s #Xx{ }tPxBXxM tvO;rkWjtBXx蒇t WhAYYXxt9WuPM QVPLxXxu u PP}c2ҋˉ{BV_^[]UMU S]W3{;Hu ;uxuG |_[] Vk {tBK 3k {{^ 3USVu 3W}F`9xs f#Wuv ~2҉^Bu*_^[]UMS]Vu W3F`9Hs#;Qv u讆 9}t'M QSPLxuu Uu PPf2ҋΉ~BS~_^[]UMSuY(QPE:M uBEuBV5BW33GPCXP{`{djPjP3pVW|tPxxBjVVhGATXPB3ɍ3f DfPTfXZ\`dhlpf3E_^[]U(B3ʼnEEeS] @(]܉EQt h$A蹄Y#V5tBWjj֋jEPEWjjB؁#uSWxBuj֋futuh@AFYYEPWPEjB؅襃t hA Y5|BEhAPhAEPhпAEP֋5BjuWփu,Wt hܿA迃YEjuWփut hA膃YELj uWփ ut hAZYE ӂt hA;Yt诂t ht hDAY3!E!EEEWQP$=tBPjE׉E hjPi 9]~tQhPA/YYQjE׉EhjP 9]}~tj@hA~YYEPjVBhAEPBEPEPpB9W3ۍESSj"PhB hBSSp(SSVPuu菛؅}t hAJ~Y?t}t hA1~Y7B'uQP(}_t uxB}t hA}Y}t uxBa}t hA}Y^[]3ɃH`EfEff ftPxBPjtB|tPhA=}YYu PjQ)}u VupBhXAuBEPuBEUERPuQEEP7QMUQ VVP jVBT{t hbAf|Y7-UESWx({t hA0|YSP$tF{t hA|YVp(VPVB^SP(K{_[@t h&A{Y]UEVWp(&{t h:A{YWP$t&zt hA^{YPWP(_^]U3PPPPuTB]UjuB]UEVWx(zt hFAzYu W3s_^]̡!BUB3ʼnEVupW3hWPlhdz Džx\AlE|A|dEhj YEdWWEpPVjtMBlh !ByM_3^y]UESVWX(} jjhtAWPHBy2҉wBS!r$WYS rjWPLB_^[]UESVWX(} jjhtAWPHBy2҉wBSqw`F =tl= tU=t>=t'=txt[hFANxtKh"A>xt;hA.xt+hAxxthAhxt hAxYF =tL=t<=t.W=t=t56SSWS7WS82҉wBSpjWPLB_^[]UE SVuX`WQP$QP$39tC<{s /C@B Ɔt RPQPQ(PQ(_^[]UVW}VP$VƇP(_3^]UVW}VP$VƇP(_3^]UU B`x s#DMVWjf  fXfjxXf3ǁz _B ^]UVuW3WFBPBE hhTagPu~~ FFHBF%vyvhZAvYYFPWF4PhB39~_^] UMAH+A@]UE3ұ9Pt 9Pt9PH]USVu3WPPPP~WTBVPu,FN E FFHNV9NHvNH;rfjWB_^[]USVu3WPPPP~WTBVPu(N VE  F FHN tHFH;Nrf jWB}tVQ,_^[] UQSVu3WQQQFQPETB]9^Hsty hxA(uY3g9~tb!}t[VPu=E N VG F FHN tHFH;Nrf VP,E@E;rUty hAtYjuB_^[]USVuW3WWWFWPETB9]vRVPu4NFM  CFFHNV9NHvNH;rfG;}rsy hA2tYjuB_^[] UW}tNsy hAsYSV3ۍwSSSSVTBSV___ _HBGPSG4PhB^[_]U@sy hAsYVuFt PxBf^]USVW}3PPPP_STBwO ;w GN++Ny3jSB_^[]jhB3EPjPE4PdB'3@ËeBuMAPjA4PhBEUirt hArYSVWjjEPxB] jYs`F܋@MC`HM@8,A@HB=u3PPPPEPTBC_^[]Uqt h ARrYU MB#B`$HB]U} EVWx(t/u>r$lPu rl 2_^] UE@(]UESVWp(SP$Aqth8AqYYjhuEtBqtjh`AiqYYEg gEGE GMtBtMptjh`A(qYYEEGE GgG xxpthApYYSP(_^[]UEVWp(WP$.pthApYY9U t R uB S3ۅu9ZuQxBtP9Zu2B RXxBot9hApY,tJtHJB A BX RxB[loth AoYYWP(_^]UE@(Ltjudu PQ3] 3UE SV5xB3W}SSGGPf_@_ SSG PSSG0PSGPPB_^[]UEPQ]US]39C tP8CAuKWPPPP{PWTBjjCCAPPB3PPPPs TBK CAtBc jWB_[]UW}@ubSV5BGP3fG@֍G P֍G0P֋W0ESSSSPBy _ f_@SG PSShuBuB^[_]UESVp(ƀr;uv9run]tQE Ɔrrm@trPhAmYYvm@PhAmYUm@jh`AߋE ;u19rt-m@t hHAmY3@cm@tXhAKr;ul@thA;url@t hAHmYjXl@t hFA/mY3^[] UQESVWp(EX(E`l}@t7hAlYY3AtuI8xu9hTu3lTuhTu9lTu Aft hAfYEujYWƀW3jY2-<`#MWtet h AWfYuVWEƀWj@[t(et h:A#fYFPjuuVW:Et ufhTEnetEPhAeYYTe}tHhAeYY6etPh&AeYYE jVN( FdtvhRAUeYY[_^]U(ES]V@(EWj}Y@(}UEEWWE+WU3E+‰EE+W3+‰E\du@tVuhAd EWU;}‹UC ƋW;}c Ccd@tss h4Add E 3ɉKt3@EWW8WtMWWc@tEPhAdYYcu@tHhAcYYtc@tPh&AcYY HȋE ȋE ȋEj SK& C c@tsh:ApcYY_^[] UESVWH(@(E xWWx]WW+‰U3+‰uE+M왋3+qb}@tSWhAb M;u}EMUF ;}f Ffb@tvv h4Ab fa@tE PhAbbYYa}@tHhADbYYa@tPh&A'bYY HE ȋE j VN5% Fca@tvh:AaYY_^[] U,B3ʼnEEU VW}p3fE䫉M3ɉUثf3G}܅tH@(R ;tu*uuuuu u uuES3EfEEj ƃ  ȍEPM$ EK`[@tuhvA`YYB<w=BEPEPEPu2 B9}t`t hAg`YME3_^_]UESVu Wx(jjhtAVPHB؅y2҉^BWcX4^`CW$n%Ai_hAwR_phA`;_YhAI$_Bh>A2 _+hZA^hxA^hA^hA^hAnt\ tGHHt3tHui^hAk^h A|W^tyhAlG^tihA\7^tYh4ALt9HHt%t^t;hTA. ^t+hA]thA]t hBAQ^YCwj$%AVWaVW,XVWOVWFVWa=VW4VW5+VW"VWVWVWVW$_^[]IV#A#A#A#Am#A#A#A#A$A0%A%A9%A%AB%AK%AT%A]%A%A]%A]%A]%A]%A]%A]%A]%A]%A]%A]%A'%A]%A]%A %AU\t hA6]YVuWLƆ~XuF\FXA} tWVЃgWVJ_^]UVuWLƆ~XuF\FXA$} tWVЃgWV_^]UQQS]Vu jLVEEx6N`Wj{hQUUYRtu Sҋ}shEjYu _2҉FBSTjVPLBE^[]UVuL@(tu Vu VK^]UVuL@tu Vu V!^]UP[t hlA[YVuW} LFXF\FXƆAtWVЋPgWVZt hAY[Y_^]UVuW} LFXF\FXƆA tWVЃgWVa_^]UZt hJAZYSVuWƆPL} FXF\FXFT{ tRt hARYCtTHtAHt.HtRtVCPh&A{RYCQt;hA.Qt+hAQthAQt hA5RYCVWt%HtHtHtDe }_^[]UMu QL@@ ta]UMu QL@@t9]UMu QL@t]UQt h*AlQYVuTPtThHAHQYYu VPt hfA(QY^]UPt hPA QYS] 3VW}Ӎ\tsPt hrAPY3LJpC`jYSHs`F܋}@C`@3Ax@BSB Pt hAtPYyOt hA\PYOt hAHPYjSQLB_^[]UQU SW}3ETp8Z!tB`Ht[9tS9tK@(URPQLx3V`VEPu9^u8Ot h2AOYW U 3ɍ\t RBWG_[] UE $AE3] 3jPBUB3ʼnEE SVuXNt ShԠA OYY@}s^EEfE EC]EgNtEPEPShAN?uANtEPhCu[N@sRfffFfOyIA3@ u uj Y^_] UM AtUHtDHt3Ht"HtHuRuQuDuQu/6uQu(uQuWuQu+ uQu] UE VBu/uuPVuƆƆ-Cu&uuPVuƆ2^] UB3ʼnEESV3ۉTp(W} PHLLIy h(AIYQP$d@(\Iy hNAmIYHPSSSG4PTBHy hlACIYhQWPHy hAIYb`hhjPIdDT XZHy hAHYX`PhPWP/Hy hAxHYtvedjP\Sƅd hP\SGy hA HYhPV Gy hAGYhhjPG gGy h AGY9`GGPy h>AGYQP(G_^[y h\AGYM3G]USVu^Ft hbARGYuu]EW$WP(;E}WPdjuu WPWPd_zFt hAFY^[] UB3ʼnEE SVu`W}_dhhjPFD `\PdPhPVSc-t6}v0}tu苇hQWPphhjP>F \9duM_^3[E] UDB3ʼnESVW}3jU[GPVPE DžD֍8Bf@~r鋅ffBPPpBhAPBjY3󫍅DžPh?PDž@BMPjtBGPVwG D PWjPpBwj Y3CtPWhA&D G@rxB3CthACYY}QmCt h ACY8BfI~r鋽WfBfPtǚj YByM_^3[B]U B3ʼnESVuWW^jP:C DžBtUVQxfWPpBhAPBhPjjlBM_^3[=B]UB@t h>A}BYSVuWtB3ۍlЋBt5SBtA@th\AA@t hvABYA_^[@t hABY]USVyA@t hTAAY]{dWjhtBCAuhxAAYt hAAY A@t VhAqAYYjjEPxBjWhDAVEjG$Bu'@@t hA"AY3PPPPEPTByWxB@@_t hA@Y^[]UQSVWb@@t hA@Yu ]v4@t hA@Y @tZtG t4t!ttIVhAc@Y:t7hA*tvhVAit!hDAth$A t hrA&@Y{dtD?t hA @YjShCAjj$Byt?t hA?YtBxlxM3ɇ M|32ЋBE_^[tPxB}t ?@t hAo?Yu  B>@t hAO?Y] >@t hA,?YUVut+jjvPB>@t h>A>YVxB^]UXB3ʼnEVuEjTjP>E EE EEjYjjPVh@EAMME BM3^&>] UQQSVW3}=@t hA[>YuUR@(PQLx`PEPu=~du<9ht49lu,9`t$9pt=t h8A=YV#l=t hbA=Y3@_^[]UQQF=@t h:A=YVuW3G9~dt _StBE |E8t,<@t hZA\=YU BjhtB>AAwxj@0PBȉMu5<@t hrA<YM3U BWxBA`U @@'"x@A`@VBAp@lBUHByG<@t;hAf<Y.;@t hAM<YM3U B[;@t hA<Y_^]UBt2}S3ۍESSPxBEPB9] t\9]tWEPEPSuuuuu uLBt2M HB=uSSSSEPTBEyËM 2[]UM S]VuAWy0E}A`M$EA`W@TAp@P`BH Z3ۉZZ싆X$BHB=usSEPSSSjEPjXBuY7:t hA:YBSSSSWTB9t&:t hAl:Y B_^[]UMVLPVP3^]US]VWLWPxPy WP_^[]UVuưR9t hJA9Y>9y VhjA9YY(9yu hA9YYjjF PPB^] US]V5BW39uIW@0P։u P`BH Bzz9uXW@0P։utPxB떋p`FQ F~~_^[]UVuu>u5t tBt tBƆ^]U$B3ʼnESVu3W3ۍ}!]NE9<EPEPhPDB؅jjhuB؅ytBEM܉E䉆@ AE@\A\ƆPVWu6thA6t hAO7YjjjVWu6thA6t hA7YMMj XEEEPVEWu}6thAm6t hA6YY6t h2A6YM_^3[Q6]U(ESVWx(3VVEPxBtBj XPjӉEu j Z3fUfMMQMQVRPVVhLBu fHBu3PPPPEPTBu3MAfEAPjӉt3fEfS53CthAhA5YY65tuhA5YY5tuhA5YY5tPhAf5YYEPjb5 hAVB4thBA(5YYEPVpB4thBA5YYE }E3fEjffEEPEP(BxE}t uxB_^[] UESW} 3WGPQ@WPQ3LJ%3_[]U SVW}jwFEBP\BBi\G_ E]W@`@`IAp@HB3PPPPPjEPjXBHutA@E3yuhAt3YY}t@2y h AY3YuPE2y hHA-3YSBAu9P`BH 3BJJ싆H$k2tJhpA=[2t hA2YB3PPPPSTB,2t hA2YtP B2t hAh2YjG@PB_^[]UQQSVW}jw^dBP\BB3Ʉ9GEC4E9QQQQQjEPjXB3+tOHu6Auj9tbj QSP~PPWV833ɀAt+1t+hdA1thBA 1t h As1Y39t&0t hAU1Y B0t hA/1YS_@PB_^[]UVuu=tP ButP B2^]UQEPEjjju h]UEEE EEEE PjjjEPEh T]UQEPEjjju h,]USVuWt3tVW ؅xjVW ؅yVWZjFhPuVW$VW7jhFdPu NQP$ҍPQ@PQ_^[]UVuuRWPQ @PQ FPQ$FdPQ$VW$u.t hAB/YVW_^]UE VW}p.t hA/YjjpPPB_^] Uz.t hA.YEVj@0PBuK.t h"A.Y3 u V^]UVu3ANlF|t;~N|SW-t4dBhAX.YY-t4BhA6.YY-tF|4BhA.YY-t4Bh A-YYx-t4Bh&A-YYV-t4BhBA-YY4-t4Bh^A-YY-_[t4BhzAk-YY3^]UVuWL,y hAA-YPWPWP,_3^]USVuWLWP؅v,t h\A,YPQ,yt hpA,YWPKt hA,YƆPx(,tPhAo,YYVQ_^[]UEVL+y hA4,YVP3^]USVW}3ۋL+y hA+Yt @(,xPVPV+y hA+Yt6@t/xWVƆPXu VP`WVP\+_^[y hAg+Y3]UxSVu3WjXfEjPXfEE E3u]]fEԉ]]*@t VhTA+YYSSEPxB}EPEPjSSSSh"LBu!a*@t hzA*YF`$u 8*@t hA*YV B΍M։HHBu?)@t hA_*YSSSSEPTB)@t hA:*Yu)@tuuVhA*_^[] U`VuWjX~jfEXfEE WE$MQP8W"L)x yhA y hA)Y_^]U)t h0A)Y3PPPPuTB]UV3u(y hAQ)YSW}k PhtB؅u(y h:A)YrMt_։u9vRDE9p v4HEk Lt4E@BE;W rߋ}MUBMU;r*(_[y hfA(Y^]UUt@jPRQH]UEV3VVPxBEPEPjVVVVuh"LBЅu'y hA(Y8J`$u R BE AMHB=uVVVVEPTBE^]UQQEVp(4B8t P0BjPEP(Bx"UMRuu ' EP,B^] UxB3ʼnEESM V]3!uWj ZfUjPZfUUUUU3!UfUԍUE苀RQME EP8xJkE2u&y VhA&YYWhtBuMK&y hA&Y2&y h^A&YtVxBM_^3[&]WjV& eM}uEj XfEjPXfEEE3!EfEԋEQu싀P8x%y Vh0A&YY3zU`SVj^VhtB؅up%y hA%Yj XjPfE3XfEEMMčMQu u]EP8u%x;y h>A{%Y$yCPh^Ab%YYW}󥥥fu_y hA@%YSxB^[] U$B3ʼnES]Vsu$y hA%YSP,MQSP0d$yhA$YyEPEPhA$ f9Et$y h A$YkE3AWf;fff f; f;@f;`f;pf;f;f;ȺH#f;turf;tkwf;taȺf;tKf;tF@f;t@ f;t6f;t,f;t"#y h Al#YQȺy#f;rCf;r f;s"y(h&A(#Y"y hDA#YƃE#ǹ"f;r%$f;sv"y hzA"Yƃu襍EPPf}SQ4y "~hAnE䉃"y hAh"YMQSPYP3uuyhA48j XfjHXfE؉$E,E0Dž(ItuhAYYPVuBF`t@<AH@EHBt h.A[YE3Q9tEPQQQQjEPjXB^uGt htAYVB3PPPPuTBhAY~=Zt hAYVB3PPPPuTB0t hAYjOdUjRQPu M;r3VMAM3ɉMt hA0YthNAYY=0t=uest hrAYu؋WƇPXut@(,xu WP`u؋WP\3ɉMu=ut hAiYtuhAOYYE#;u\t hA#Yu؋WƇPXt@(,xu WP`u؋WP\eEPjj`BTt hAYjOdUjRQPt @(ƀ*h*AYe,t WhLA[YYEltPt hnA,Y3tI]$YEj@@PBM_^3[ ] @th"AUEVW3} y h`A YPPPPPW FQQQQQ PW,BuF y hA Y_^]UEVW3 y hA YPPPPPWAPPPPPA PW,Bȅu y hAC Y_^]USVuWFEHt Ak$j$_WhtB؅tWuS ^3 f_^[]U\ y hA YVuVP(tPxB" ^y hA Y3]USVuW y hAZ Yt0tt PxB'KuxB _^[y hA Y3]U t hBA YjuB]Ud y hA YVutPxB4 ^y hA Y3]UEPQ,3]U y h8Ah YVuVP$VP ^y hnA; Y3]U EMVW3xpQVVVPuuTBu y hA Y3VVEPxBEPEPjVVVVh"LBuZWHBu3EVVVVPTB x yVhA y VhAb YYW_^]UhSVuEWP3ۋ~pSSSP]]TBu y h8A YLjXfEMjXfEE EQP8e x yhdA y hA YLj_^[]USV3މuWuu9] u}jGEPhEtBEusy hAF YEtPxBtSxBy hA YEtPxBy hBAY_^[]uVP cy hAYOy hAY9]2y VhAYYPPPPPWW,BE y VhApYY9]uy VhHAUYYy VhpA:YYEMAEy hAY}tyhA름y h$AYuW4BEcy hdAY9]uJZhAYJjhtB؅33sy hAyYGjWPW0B'y h:ALYΉu9MvjU|tSu9w ~KEEGEEU@EU@EEsEE@E;G |EA;ErSxBSy hnAYEuu P8} (y hAYE+t!}Ƌ]PQ@F;Er} EMhA@YhAY} E EyUME E3] USVuWhh~WGy h&AYhh^dS迎u WP$y hFAyYhh$P膎u WP$Sy hfA@YVP yy+hAVPDy%y hAYVP,"VP|PQ@PQ_^[]USA3Ct hAY*t hAYVu@PQ PQ t h AbYt h>ANYFPQ$FdPQ$$PQ$^t h^AY[t h|AY3]UEVpyt hLAYjjVPBu  BQ^t hvAY] UVW3,t hAYU9ut$j^9u s#B(@E$E03jVPu Rlt hA9Y_^] UVWt hAYEp(E MhAuE|Be_^t h AY3]UVWDt hpAYEjj%Pu u t hAuY_^]UVWt h DISPATCH_LEVEL!!! CurrentIRQL [%d] IDP : Leave dispatch command routine2 IDP : Enter dispatch command routine IDP : Leave dispatch command routine prcMonitor->left %d prcMonitor->right %d prcMonitor->top %d prcMonitor->bottom %d prcVirtualDesktop->left %d prcVirtualDesktop->right %d prcVirtualDesktop->top %d prcVirtualDesktop->bottom %d pActiveArea->ulNumsOfBoxes = %d pActiveArea->rcBoxArray[%d].left %d pActiveArea->rcBoxArray[%d].right %d pActiveArea->rcBoxArray[%d].top %d pActiveArea->rcBoxArray[%d].bottom %d cx %d cy %d rcBoxArray.left %d rcBoxArray.right %d rcBoxArray.top %d rcBoxArray.bottom %d pBuffer[ 0 ] 0x%x pBuffer[ 1 ] 0x%x pBuffer[ 2 ] 0x%x pBuffer[ 3 ] 0x%x pBuffer[ 4 ] 0x%x pBuffer[ 5 ] 0x%x IDP : Enter post mouse point routine IDP : Leave post mouse point routine.because EEPROM failed EDOPostMousePoint : m_ulTouchStatus = 0, set Touch Disable Enable EdgeBtn EdgeBtn : X %d EdgeBtn : Y %d Disable EdgeBtn 1 pMouseData->LastX %d , pMouseData->LastY %d PostMouseState %x Zfilter : disable Z filter Zfilter : enable Z filter 2 pMouseData->LastX %d , pMouseData->LastY %d PostMouseState %x 3 pMouseData->LastX %d , pMouseData->LastY %d PostMouseState %x 4 pMouseData->LastX %d , pMouseData->LastY %d PostMouseState %x 5 pMouseData->LastX %d , pMouseData->LastY %d PostMouseState %x 6 pMouseData->LastX %d , pMouseData->LastY %d PostMouseState %x TouchSeq enable touch TouchSeq disable touch 8 pMouseData->LastX %d , pMouseData->LastY %d PostMouseState %x 9 pMouseData->LastX %d , pMouseData->LastY %d PostMouseState %x do not limit in ActiveArea. 10 pMouseData->LastX %d , pMouseData->LastY %d PostMouseState %x Active Area : DisableTouch Active Area : Post last Point and Touch UP USER ID(Real Multi) %d Active Area : Post last Point and Touch UP(Retangle) last touch state is up Active Area : Post last Point and Touch UP (Real Multi) Active Area : Post last Point and Touch UP(Real Multi) Active Area : EnableTouch pDeviceParam->m_ActiveArea.m_LastX 0x%x pDeviceParam->m_ActiveArea.m_LastY 0x%x 11 npMouseData->LastX %d , pMouseData->LastY %d (EDOPostMousePoint)pFdoExtension->m_bLastButton4Down = %x (8)PostMouseState = %x bBranchSw : pFormatData[5] == 0x%x bBranchSw 2 : pFormatData[5] == 0x%x IDP : Leave post mouse point routine PackMouseInputData pFormatData[ 0 ] 0x%x ShiftBit 0x%x lTempX %d lTempY %d (FilterLostPacket)pFdoExt->m_bLastButton4Down = %x FilterLostPacket :pMouseData->ExtraInformation 0x%x FilterMouseTouchEvent :g_bDragWaitNextDown==TRUE , post left up FilterMouseTouchEvent :g_bDragWaitNextDown==TRUE , g_bDragWaitNextDown==FALSE , post Move DoPostMousePoint: We have lose the data eTouch : We have lose the data KeGetCurrentIrql() > DISPATCH_LEVEL!!! DoPostMousePoint: pPostMouseState 0x%x PostMouseMove PostMouseLeftDown PostMouseLeftUp PostMouseRightDown PostMouseRightUp PostMouseLeftClick PostMouseRightClick PostMouseLeftUpAndRightClick PostMouseDBRightClick PostMouseLeftUpAndDBRightClick PostMouseLeftClickSpecial PostMouseWheel PostMouseMoveAndLeftUp other DBG_TDI : Send reset frimware cmd pRectBox->left = %d pRectBox->right = %d pRectBox->top = %d pRectBox->bottom = %d OnActiveAreaSingleSplit ActiveAreaSplitMap OnActiveAreaMultiMapping RectBox.left = %d RectBox.right = %d RectBox.top = %d RectBox.bottom = %d ActiveAreaBox->left = %d ActiveAreaBox->right = %d ActiveAreaBox->top = %d ActiveAreaBox->bottom = %d OnActiveAreaMultiSplit OnActiveAreaMultiFull OnActiveAreaMultiUpper OnActiveAreaMultiLower OnActiveAreaMultiLeft OnActiveAreaMultiRight OnActiveAreaMultiQuad1 OnActiveAreaMultiQuad2 OnActiveAreaMultiQuad3 OnActiveAreaMultiQuad4 DetectTouchInSequenceState : lTempX = %d DetectTouchInSequenceState : lTempY = %d DetectTouchInSequenceState : lLastPostX = %d DetectTouchInSequenceState : lLastPostY = %d DetectTouchInSequenceState : TimeOut. state return to 0 DetectTouchInSequenceState : state 0 DetectTouchInSequenceState : state 0(out area) DetectTouchInSequenceState : state 1 DetectTouchInSequenceState : state 1(out area) DetectTouchInSequenceState : state 2 DetectTouchInSequenceState : state 2(out area) DetectTouchInSequenceState : state 3 DetectTouchInSequenceState : Switch to disable Touch Function. DetectTouchInSequenceState : Switch to enable Touch Function. DetectTouchInSequenceState : state 3(out area) BASEPrepareDelete : RefEvent OK! BASEPrepareDelete : WorkItemEvent OK! BASEPrepareDelete : DPCEvent OK! BASEPrepareDelete : IOEvent OK! xTouch : DispatchRoutine Called IRP_MJ_CREATE IRP_MJ_CLOSE IRP_MJ_READ IRP_MJ_WRITE IRP_MJ_PNP IRP_MJ_POWER IRP_MJ_DEVICE_CONTROL IRP_MJ_SYSTEM_CONTROL IRP_MJ_INTERNAL_DEVICE_CONTROL IRP MJ Others xTouch : Increaseing Reference yet =%d xTouch : Ref = %d, Decreasing Ref xTouch : ** OutStanding Ref Event triggered xTouch : Increaseing OutStanding IO yet =%d xTouch : OutStanding IO = %d, Decreasing IO xTouch : ** OutStanding IO Event triggered xTouch : OutStanding DPC = %d, Decreasing DPC xTouch : ** OutStanding DPC Event triggered xTouch : OutStanding WorkItem = %d, Decreasing WorkItem xTouch : ** OutStanding WorkItem Event triggered DriverEntry : g_ustrRegistryPath.Buffer ExAllocatePool size(%d) Leave driver entry ( fail ) xTouchEnter driver entry( 0x%x ) Leave driver entry NativeNameEnter add device routine DriverObject( 0x%x ) , PhysicalDeviceObject( 0x%x ) IoAttachDeviceToDeviceStack ruturn fail Identify fail FDO init fail Leave add device routine ( success ) Leave add device routine ( fail ) Unload Driver( 0x%x ) EdgeBtnAction: TouchDown == pDeviceParam->m_LastTouchState EdgeBtnAction: pLastPostMouseData->Buttons = MOUSE_LEFT_BUTTON_UP; EdgeBtnAction Y EdgeBtnAction : WHEEL_UP 0x%x EdgeBtnAction : WHEEL_DOWN 0x%x HWEEL_LEFT 0x%x HWEEL_RIGHT 0x%x EdgeBtnAction X EDODestruct : call decreaseing Reference (EDONotifyDeviceRemoval) Enter EDONotifyDeviceRemoval EDONotifyDeviceRemoval : complete m_WaitRemovalIrpLeave EDONotifyDeviceRemoval EDOCleanAll : complete m_WaitRemovalIrpWrite to EDO RxFifo = %d0x%02X EDOFireRemoveEvents EDONotifyToRemove Redirect : GetEEPROM Addr=%02X EDORedirect : Get EEPROM Addr = %02X Value = %02X %02X EDORedirect : Returned CheckSum = %04X EDO TX Thread : Get GETEEPROM CMD ,but first EEPROM CHECK not finish Write Complete EDO TX Thread : Get GETEEPROM CMD EDO TX Thread : Get H2D_LOOPBACK CMD EDO TX Thread : Write Data to FDO. EDO : Got Tx Thread Stop event EDO : Tx Thread is Close EDO:Read Timeout %d EDORxMoveData: CurrentIrp NULL EDORxMoveData: Fifo Empty EDORead : 0x%x EDO: Read %d bytes from Fifo Complete Read Irp - Read %d bytes EDO : Got Rx Thread Stop event EDO : Rx Thread is Close EDODefaultCreate EDODefaultCreate : call Increaseing Reference Increase EDO Ref EDO : Enter EdoCleanAllBeepEvent EDO : Leave EdoCleanAllBeepEvent (Enter EdoCleanBeepEventArray) (Leave EdoCleanBeepEventArray) EDODefaultClose EDODefaultClose : call decreaseing Reference EDODefaultRead xTouch : pEdoExt->m_BaseExt.m_bDeleted, Fail IRP EDODefaultRead: Read.Length == 0 EDODefaultWrite. EDODefaultRead: Write.Length == 0 EDODefaultPnp EDO IRP_MN_START_DEVICE EDO IRP_MN_STOP_DEVICE EDO IRP_MN_SURPRISE_REMOVAL EDO IRP_MN_REMOVE_DEVICE EDO IRP_MN_QUERY_CAPABILITIES EDO IRP_MN_QUERY_PNP_DEVICE_STATE EDO IRP_MN_QUERY_REMOVE_DEVICE EDO IRP_MN_CANCEL_REMOVE_DEVICE EDO IRP_MN_QUERY_STOP_DEVICE EDO IRP_MN_CANCEL_STOP_DEVICE EDO IRP_MN_QUERY_DEVICE_RELATIONS EDO IRP_MN_QUERY_INTERFACE EDO IRP_MN_QUERY_RESOURCE_REQUIREMENTS EDO IRP_MN_READ_CONFIG EDO IRP_MN_WRITE_CONFIG EDO IRP_MN_EJECT EDO IRP_MN_SET_LOCK EDO IRP MN Others EDOBeep : Beep Source: %d EDOBeep : m_ulTouchStatus: %d EDOBtn EDOFireBtnEvent : Set Btn event! EDOHWeel pEdoExt->m_ulHWeelStatus = 0x%x EDOFireHWeelEvent : Set HWeel event! EdoIoctlGetActiveAreaBoxNum : pEdoExt->m_pActiveArea == NULL pActiveAreaInfo->bEnable (%x) pActiveAreaInfo->ulNumsOfBoxes (%x) pActiveAreaInfo->rcBoxArray[1].left (%x) pActiveAreaInfo->rcBoxArray[1].right (%x) pActiveAreaInfo->rcBoxArray[1].top (%x) pActiveAreaInfo->rcBoxArray[1].bottom (%x) MonitorInfoEDOQueryMonitorInfo ExAllocatePool size(%d) EDOQueryMonitorInfo FreePool EdgeInfoEDOQueryEdgeInfo ExAllocatePool size(%d) EDOQueryEdgeInfo FreePool BeepFrequencyBeepDurationBeepModeBeepSourceConstRangeConstDurationConstModeMouseModeTouchSpeedTouchGridOrientBranchCalInfoEDOQueryCalInfo : ExAllocatePool size(%d) EDOQueryCalInfo : FreePool LinzInfoEDOQueryLinzInfo : ExAllocatePool size(%d) EDOQueryLinzInfo : FreePool EDOAuthenThreadRoutine-running EDOAuthenThreadRoutine-running stop since EEPROMOk ChallengeThread : Get Callenge Thread Stop event ChallengeThread : delay to get calibration data. ChallengeThread : Got Callenge Thread Stop event Other Status EDO : EEPROM Thread is Close xTouch\DeviceDefault\DeviceDefaultm_FilterPtsParam.m_lAccLimit (%d) m_FilterPtsParam.m_lSkipPtsLimit (%d) EnhanceLinear in Service(%d) EDOQueryMonitorInfoFromService : ExAllocatePool size(%d) EDOQueryMonitorInfoFromService : FreePool EDOQueryEdgeInfoFromService : ExAllocatePool size(%d) EDOQueryEdgeInfoFromService : FreePool EDOQueryCalInfoFromService : ExAllocatePool size(%d) EDOQueryCalInfoFromService : FreePool EDOQueryLinzInfoFromService : ExAllocatePool size(%d) EDOQueryLinzInfoFromService : FreePool CalSourceIdleTimerIdleFlagTouchHoldToResetTimeTouchHoldToResetFlagIdleToResetTimeIdleToResetFlagA0A1A2A3UppperLowFilter ThresholdFilterActiveAreaInfoEDOQueryActiveAreaInfo ExAllocatePool size(%d) EDOQueryActiveAreaInfo :Query Reg failed. error code = %x EDOQueryActiveAreaInfo :Query Reg failed. len = length%d EDOQueryActiveAreaInfo Buffer size too small. need buffer length is %d EDOQueryActiveAreaInfo Buffer size too small. need Data length is %d EDOQueryActiveAreaInfo(2) ExAllocatePool size(%d) EDOQueryActiveAreaInfo(2) Get data size(%d) %x EDOQueryActiveAreaInfo FreePool DesktopTouchDownTimeAccLimitSkipPtsLimitEnableDetectTouchSequenceFlgRectangleLimitInActiveAreaReportOlderRectangleFormatEdgeBtnRealMultiReportModeFireWheelEventOnlyReport1stContactDelayGetCalTimeResetUSBDevEnhanceLinearSaveEnhanceLinearToService(%d) EnhanceLinearData(%d) EnhanceLinearDataSwTo8Bits(%d) EdoHookBeepEvent(%d)(%x)(%x) EDO Reference pkBeepEvent EDO Reference pkBeepEvent: Buffer too small EDO Reference pkBeepEvent: DeviceIoControl.InputBufferLength (%x) EDO Reference pkBeepEvent: sizeof(HANDLE) (%x) EDO Reference pkBeepEvent: (NULL == hEvent) Leave EDO Reference pkBeepEvent EDO Dereference pkBeepEvent Leave EDO Dereference pkBeepEvent SetRemoveEvent(%d)(%x)(%x) Enter EDOCleanAllRemoveEvent Leave EDOCleanAllRemoveEvent EDOReferenceRemoveEvent(%d)(%x)(%x) (EDOReferenceRemoveEventArray) EDODereferenceRemoveEvent(%d)(%x)(%x) (EDODereferenceRemoveEventArray) EDO Reference pkRemoveEvent EDO Dereference pkRemoveEvent EdoIoctlSetActiveArea : pEdoExt->m_pActiveArea ExAllocatePool size(%d) EdoIoctlGetActiveAreaBoxNum : pEdoExt->m_pActiveArea->ulNumsOfBoxes(%d) pEdoExt->m_pActiveArea->rcBoxArray[1].left (%x) pEdoExt->m_pActiveArea->rcBoxArray[1].right (%x) pEdoExt->m_pActiveArea->rcBoxArray[1].top (%x) pEdoExt->m_pActiveArea->rcBoxArray[1].bottom (%x) SetBtnEvent(%d)(%x)(%x) Enter EDOCleanAllBtnEvent Leave EDOCleanAllBtnEvent EDOReferenceBtnEvent(%d)(%x)(%x) (EDOReferenceBtnEventArray) EDODereferenceBtnEvent(%d)(%x)(%x) (EDODereferenceBtnEventArray) EDO Reference pkBtnEvent EDO Dereference pkBtnEvent SetHWeelEvent(%d)(%x)(%x) Enter EDOCleanAllHWeelEvent Leave EDOCleanAllHWeelEvent EDOReferenceHWeelEvent(%d)(%x)(%x) (EDOReferenceHWeelEventArray) EDODereferenceHWeelEvent(%d)(%x)(%x) (EDODereferenceHWeelEventArray) EDO Reference pkHWeelEvent EDO Dereference pkHWeelEvent reply ulHWeelStatus 0x%x EDODefaultDeviceIoctl IOCTL_SET_BRACNHFORMAT IOCTL_GET_BRACNHFORMAT IOCTL_GET_OIRENTATION IOCTL_SET_OIRENTATION IOCTL_SET_CALINFO IOCTL_GET_CALINFO IOCTL_SET_MOUSEMODE IOCTL_GET_MOUSEMODE IOCTL_SET_LINZINFO IOCTL_GET_LINZINFO IOCTL_SET_MONITORINFO IOCTL_GET_MONITORINFO IOCTL_UPDATE_MONITORINFOnIOCTL_SET_EDGEINFO IOCTL_GET_EDGEINFO IOCTL_SET_CONST_TOUCHINFO IOCTL_GET_CONST_TOUCHINFO IOCTL_GET_BEEPINFO IOCTL_SET_BEEPINFO IOCTL_QUERY_COMM_NAME IOCTL_GET_VERSION IOCTL_WAIT_REMOVAL IOCTL_CLEANUP_WAIT_REMOVAL IOCTL_REFERENCE_EVENT IOCTL_DEREFERENCE_EVENT IOCTL_REFERENCE_REMOVE_EVENT IOCTL_DEREFERENCE_REMOVE_EVENT IOCTL_HOOK_RAW_POINT IOCTL_HOOK_CALED_POINT IOCTL_HOOK_CMD IOCTL_REMOVEALL_HOOK IOCTL_GET_LAST_POINT_TICK_CONT IOCTL_GET_TOUCH_FUNCTION_STATUS IOCTL_SET_TOUCH_FUNCTION_STATUS IOCTL_SET_ACTIVE_AREA IOCTL_GET_ACTIVE_AREA_BOX_NUM IOCTL_GET_ACTIVE_AREA_INFO IOCTL_REFERENCE_BTN_EVENT IOCTL_DEREFERENCE_BTN_EVENT IOCTL_GET_ENABLE_DETECT_TOUCH_IN_SEQUENCE_FLAG IOCTL_SET_ENABLE_DETECT_TOUCH_IN_SEQUENCE_FLAG IOCTL_REFERENCE_HWEEL_EVENT IOCTL_DEREFERENCE_HWEEL_EVENT IOCTL_GET_HWEEL_STATUS IOCTL_GET_ENHANCE_LINEAR IOCTL_SET_ENHANCE_LINEAR IOCTL Others(0x%x) Enter identify device type FDOIdentifyDeviceType : ustrHardwareID.Buffer ExAllocatePool size(%d) We got a new hardware id , and compare it USB\SERENUM\ACPI\It is a USB device It is a SERIAL device It is a PS2 device God!!! It is an unknow device FDOIdentifyDeviceType : ustrHardwareID.Buffer FreePool Leave identify device type FDOOpenPort FDOOpenPort : pFdoExt->m_pPort ExAllocatePool(NonPagedPoolNx) size(%d) FDOOpenPort : Internal DeviceID = %d FDOClosePort FDOClosePort : release DeviceID = %d FDOOpenEDO FDOOpenEDO : ustrDeviceName ExAllocatePool size(%d) FDOOpenEDO : ustrSerialNo ExAllocatePool size(%d) \Device\EDOFDOOpenEDO: init EDO failed. FDOOpenEDO : EDOInit failed. FDOOpenEDO : pEdoExt->m_ustrSymbolicName.Buffer ExAllocatePool size(%d) #EDOFDOOpenEDO: Create EDO failed FDOOpenEDO : ustrSerialNo FreePool FDOOpenEDO : ustrDeviceName FreePool FDOCloseEDO FDOCloseEDO : Decreaseing Reference call by NotifyToRemove and Destruct EDO PrepareDelete. FDOStopEDO OnFDODefaultHandler ForceRedirectedDebugLevelFDO: IOCTL_INTERNAL_MOUSE_CONNECT FDO: IOCTL_INTERNAL_MOUSE_DISCONNECT FDO: IOCTL_INTERNAL_MOUSE_ENABLE FDO: IOCTL_INTERNAL_MOUSE_DISABLE FDO: IOCTL_MOUSE_QUERY_ATTRIBUTES FDO: IOCTL Others Fifo : buffer Address 0x%x Write Fifo : not have enough buffer!!! Write Fifo : fifo full Read Fifo : fifo empty FifoPurge !!! !!! FifoReleaseResources !!! helper:ForwardAndWait Helper:PassThroughIrp FDORegisterCallback begin--- Hooked=%d FDORegisterCallback : pTempList ExAllocatePool size(%d) FDORegisterCallback end--- Hooked=%d FDOUnRegisterCallback begin--- Hooked=%d FDOUnRegisterCallback : FreePool FDOUnRegisterCallback end--- Hooked=%d pMouseData->LastX %d,pMouseData->LastY %d IsNeedTransfer2Rectangle DO_NOT_REPORT_RECTANGLE (don't init ID1)(0x%x) IsNeedTransfer2Rectangle pDeviceParam->m_RealMultiRectangleStatus.m_bDropSecondUp(0x%x) IsNeedTransfer2Rectangle DO_NOT_REPORT_RECTANGLE (init ID1)(0x%x) IsNeedTransfer2Rectangle : is ID1 NEED_REPORT_RECTANGLE(has ID2) IsNeedTransfer2Rectangle : is ID1 DO_NOT_REPORT_RECTANGLE(no ID2) IsNeedTransfer2Rectangle : is ID2 NEED_REPORT_RECTANGLE IsNeedTransfer2Rectangle : is not ID2 NEED_REPORT_RECTANGLE IsNeedTransfer2Rectangle : end DO_NOT_REPORT_RECTANGLE RealMultiReportRectangle: pPostMouseState 0x%x RealMultiReportRectangle: ucUserID 0x%x ucID 0x%x RealMultiReportRectangle:m_bNeedPostUp ==TRUE RealMultiReportRectangle:Do not report this mouse event RealMultiReportRectangle:ucTouchStatus 0x%x RealMultiReportRectangle:m_DeviceType 0x%x RealMultiReportRectangle:m_ucDeviceID 0x%x RealMultiReportRectangle:ReportMouseData.ExtraInformation 0x%x RealMultiReportRectangle:pDeviceParam->m_RealMultiRectangleStatus.m_bDropSecondUp 0x%x RealMultiReportRectangle:Clean status RealMulti: pPostMouseState 0x%x m_bNeedPostUp ==TRUE pFormatData[0] & 0x60 pFormatData[0] & 0x20 pFormatData[5] == 0x5f pFormatData[5] == 0x60 pFormatData[0] & 0x40 pMouseData->ExtraInformation 0x%x ReportMouseData.ExtraInformation 0x%x (gesture) IRP_MN_START_DEVICE IRP_MN_STOP_DEVICE IRP_MN_SURPRISE_REMOVAL IRP_MN_REMOVE_DEVICE IRP_MN_QUERY_CAPABILITIES IRP_MN_QUERY_PNP_DEVICE_STATE IRP_MN_QUERY_REMOVE_DEVICE IRP_MN_CANCEL_REMOVE_DEVICE IRP_MN_QUERY_STOP_DEVICE IRP_MN_CANCEL_STOP_DEVICE IRP_MN_QUERY_DEVICE_RELATIONS IRP_MN_QUERY_INTERFACE IRP_MN_QUERY_RESOURCE_REQUIREMENTS IRP_MN_READ_CONFIG IRP_MN_WRITE_CONFIG IRP_MN_EJECT IRP_MN_SET_LOCK IRP MN Others Enter start device TouchSendSyncIrp is success GetCommName Failure GetCommName Success Do port start device Empty Port's StartDevice Going to Enable Device Interface Enable Device Interfce done Leave start device xTouch : Enter remove device xTouch : Do port remove device xTouch : IoReleaseRemoveLockAndWait is called xTouch : Leave remove device Enter stop device Leave stop device Enter surprise remove device OnPnPSurpriseRemove : return status not success. Leave surprise remove device OnPnPQueryRemoveDevice Leave OnPnPQueryRemoveDevice OnPnPCancelRemoveDevice Power : Enter OnFDOPower IRP_MN_SET_POWER IRP_MN_QUERY_POWER IRP_MN_WAIT_WAKE IRP_MN_POWER_SEQUENCE other 0x%x Power : CancelSelectSuspend UsbPort : Enter PowerUsbWaitWake UsbPort : No Wait Wake Irp! Just Pass through to down stack UsbPort : Issue Wait Wake Irp Success Lower drivers failed the IRP_MN_WAIT_WAKE Irp UsbPort : Leave PowerUsbWaitWake Power : Enter OnFDOWaitWake Power : Waitwake count = %d Power : Leave OnFDOWaitWake Power : FDODefaultPower Power : FDODefaultPower skip irp to lowerDo Power : FDODefaultPower IoCompleteRequest irp Power : FDODefaultPower leave xTouch : FDOSetDevicePowerComplete On Set Power Completed with Failure xTouch : FDOSetDevicePowerComplete leave xTouch : Powering up xTouch : Powering up : set IoSetCompletionRoutine 1 xTouch : Powering up : set IoSetCompletionRoutine 2 xTouch : Powering Down. xTouch : Powering Down! Trigger Power down Event xTouch : Powering Down. wait thread into idle mode xTouch : wait thread into idle mode timeout xTouch : Powering Down. wait thread into idle mode. completed xTouch : Enter FDODefaultSetPower PS2 UsbFlushCmdPacket : Enter EDOMutex UsbFlushCmdPacket : Debug 0 UsbFlushCmdPacket : Debug 1 UsbFlushCmdPacket : Debug 2 UsbFlushCmdPacket : Debug 3 UsbFlushCmdPacket : Debug 4 UsbFlushCmdPacket : Debug 5 UsbFlushCmdPacket : Debug 6 UsbFlushCmdPacket : Debug 7 UsbFlushCmdPacket : Debug 8 UsbFlushCmdPacket : Leave EDOMutex Redirect : RedirectLoopBack 2.0V ResistiveRedirect : SetEEPROM Addr=%02X, Value=%04XRedirect : Update Data in Registry Redirect : Get EEPROM Addr = %02X Value = %02X %02X Redirect : Returned CheckSum = %04X UsbPort : Enter UsbInsertCmdPacket UsbPort : Leave UsbInsertCmdPacket \InformationEEPROM : Query Addr=%02X, Value=%04X EEPROM : Query Value Returned=%d EEPROM : Query Value Fail! Update Registry again CancelSelectSuspend - begins IoCancelIrp returns TRUE IoCancelIrp returns FALSE CancelSelectSuspend - ends PoIrpAsyncCompletionFunc::IdleNotificationRequestCompete - begins Idle irp completes with error::STATUS_SUCCESS STATUS_INVALID_DEVICE_REQUEST STATUS_CANCELLED STATUS_POWER_STATE_INVALID STATUS_DEVICE_BUSY default: %X IdleNotificationRequestComplete::PoRequestPowerIrp failed the completion routine has a valid pointer to idleIrp - free the irp IdleNotificationRequestCompete - ends PoIrpCompletionFunc::IdleNotificationCallback - begins Failed to alloc memory for irpContext IdleNotificationCallback::Device Power STATUS = %X IdleNotificationCallback::waiting for the power irp to complete IdleNotificationCallback - ends SubmitIdleRequestIrp - begins Idle request pending.. cannot build idle request irp IoCallDriver failed Memory allocation for idleCallbackInfo failed SubmitIdleRequestIrp - ends WaitWakeEnabledSelSuspend : begin SetDeviceIdle SelSuspend : Call SubmitIdleRequestIrp() SelSuspend : Not Need SelSuspend!!! Thread isn't stopped yet!!! Set baud rate fail !!! Set baud rate success !!! Set LCR fail !!! Set LCR success !!! Set timeout fail !!! Set timeout success !!! Leave init serial port Enter read completion routine RxCompletion : pThread = 0x%x RxCompletion : pIrp = 0x%x kIrql > PASSIVE_LEVEL || NULL == pPortBase->pReadIrp RxThread : Stop event is setting RxThread : ulReadBytes = 0x%x RxThread : Enter DispatchOriginalData RxThread : Leave DispatchOriginalData RxThread : pThread->bThreadStopPending = TRUE Serial : Leave Rx thread Enter write complete routine Tx Thread : cancel Irp Tx Complete : Free Irp kIrql > PASSIVE_LEVEL || NULL == pPortBase->pWriteIrp TxThread : Stop event is setting TxThread : pThread->bThreadStopPending = TRUE Serial : Leave Tx thread \DosDevices\_DEVICE_ = %ws ustrTempCommPortName get from PDO = %ws return length = 0x%x m_ustrCommPortName.MaximumLength = 0x%x m_ustrCommPortName = %ws FDO open usb edo EDO open fail. EDO open success. EDO SymbolicName: %wZ UsbPort : System Wake State=%s UsbPort : Device Wake State=%s UsbPort : Device in S0=%s UsbPort : Device in S1=%s UsbPort : Device in S2=%s UsbPort : Device in S3=%s UsbPort : Device in S4=%s UsbPort : Device in S5=%s PnpUsbStopDevice PnpUsbRemoveDevice PnpUsbSurpriseRemove PnpUsbSurpriseRemove : before abort pipe PnpUsbSurpriseRemove : after abort pipe UsbPort : Init RX Fifo success UsbPort : Init TX Fifo success UsbPort : Init Cmd Fifo success UsbPort : Get usb information fail !!! UsbPort : Assign task usb infomation fail !!! UsbPort : Enter usb stop device UsbPort : Before stop thread UsbPort : After stop thread UsbPort : Before release fifo UsbPort : After release fifo UsbPort : Leave usb stop device UsbPort : Enter UsbGetUsbInfo UsbPort : UsbGetDeviceDescriptor Fail idVendor = %04X, idProduct = 0x%04X UsbPort : HW ID Failed. UsbPort : This is PCAPA000. UsbPort : This is PCAP7900 serise or later products. UsbPort : This is PCAP7900 serise (22xx). UsbPort : UsbGetConfigurationDescriptor Fail UsbPort : Enter SetConfiguration UsbPort : Leave SetConfiguration UsbPort : UsbSetConfiguration Fail UsbPort : Enter ReleaseInterfaceList UsbPort : Leave ReleaseInterfaceList UsbPort : Enter QueryTotalNumsOfInterfaces UsbPort : Leave QueryTotalNumsOfInterfaces UsbPort : Enter ReleasePipeResources UsbPort : Leave ReleasePipeResources UsbPort : Enter QueryTotalNumsOfPipes UsbPort : Leave QueryTotalNumsOfPipes UsbPort : Enter AllocatePipeResources UsbPort : Leave AllocatePipeResources UsbPort : Leave UsbGetUsbInfo UsbPort : Build DeviceIoControl Irp Fail UsbPort : Descriptor Allocate Fail !!! Get Device Descriptor Success UsbGetDeviceDescriptor : pDescriptor->bNumConfigurations = %d Get Device Descriptor Fail !!! UsbGetConfigurationDescriptor : Configuration descriptor length = %d UsbPort : CfgDescriptor Allocate Fail !!! UsbPort : Get CfgDescriptor ( 0x%x) Success UsbPort : Get CfgDescriptor Fail !!! UsbSetConfiguration : Enter UsbSetConfiguration : before USBD_ParseConfigurationDescriptorEx UsbSetConfiguration : i = %d UsbSetConfiguration : after call USBD_ParseConfigurationDescriptorEx UsbSetConfiguration : pIfDesc == NULL UsbSetConfiguration : we got a new pIfDesc and store it UsbSetConfiguration : after USBD_ParseConfigurationDescriptorEx UsbSetConfiguration : ulNumsOfEndPoints != 1 ( fail ) UsbSetConfiguration : before USBD_CreateConfigurationRequestEx UsbSetConfiguration : after USBD_CreateConfigurationRequestEx UsbSetConfiguration : pSelUrb == NULL ( fail ) UsbSetConfiguration : before USBD_ParseDescriptors UsbSetConfiguration : pEPtDesc == NULL ( fail ) UsbSetConfiguration : after USBD_ParseDescriptors UsbSetConfiguration : before submit select URB UsbSetConfiguration : after submit select URB UsbSetConfiguration : success UsbSetConfiguration : fail and free resources UsbSetConfiguration : free pSelUrb UsbSetConfiguration : Leave UsbPort : Enter UsbQueryTotalNusOfInterfaces UsbPort : Leave UsbQueryTotalNusOfInterfaces UsbPort : Enter UsbQueryTotalNumsOfPipes UsbPort : Leave UsbQueryTotalNumsOfPipes UsbPort : Enter UsbAllocatePipeResources UsbPort : Allocate pipe resources fail !!! UsbPort : Leave UsbAllocatePipeResources UsbPort : Enter UsbReleaseInterfaceList UsbPort : Leave UsbReleaseInterfaceList UsbPort : Enter UsbReleasePipeResources UsbPort : Leave UsbReleasePipeResources UsbPort : Enter UsbReleaseUsbInterfacePipeResources UsbPort : Leave UsbReleaseUsbInterfacePipeResources UsbPort : Enter UsbReleaseAllUsbResources UsbPort : Leave UsbReleaseAllUsbResources UsbAbortPipe : return success UsbAbortPipe : return fail UsbResetPipe : Power Down state! not resetUsbResetPipe : return successUsbResetPipe : return failUsbResetDevice : Power Down state! note resetReset Device Ok %X Reset Device Not Ok %X AllocateUsbPipeIrp :enter allocate IRP . AllocateUsbPipeIrp : allocate IRP false. UsbRxComplete : Enter UsbToComRxComplete UsbRxComplete : Leave UsbToComRxComplete UsbRxThread : UsbPortRxThreadRoutine Fail due to No Pipe Info. UsbRxThread : pPipeInfo->Interval = 0x%x UsbRxThread : UsbPortRxThreadRoutine is Running UsbRxThread : Polling Interval=%dms UsbRxThread : Transfer Size=%d UsbRxThread : Pipe Handle = %x UsbRxThread : Max Packet Size=%d UsbRxThread : Rx thread loop start ! UsbRxThread : RxThread Terminated due to m_PnPState not started UsbRxThread : Device Power Status is %X! UsbRxThread : System Power Status is %X! UsbRxThread : Set m_kRxReadyInPowerDown event UsbRxThread : Stop Event was setted UsbRxThread : Set m_kRxReadyInPowerDown event(Already In un DO polling state.) UsbRxThread : Set m_ulTouchStatus =1 enable touch UsbRxThread : Power Status is DeviceDo! UsbRxThread : Timeout 5Sec. UsbRxThread : Timeout 500ms. UsbRxThread : EDO not ready!!! UsbRxThread : allocate rx IRP start. UsbRxThread : allocate rx IRP false. UsbRxThread : IoCallDriver (1) UsbRxThread : Receive the stop Event UsbRxThread : Power Down Event Trigger UsbRxThread : Power Down Event Trigger End UsbRxThread : Wait Receive timeout UsbRxThread : Write Loopback CMD to Tx Fifo UsbRxThread : IoCallDriver wait single complete!!! UsbRxThread : Usb urb error = %x UsbRxThread :Endpoint halted or Not Responding, Reset it! UsbRxThread : Usb urb error = READ_URB_ERR UsbRxThread : PipeHandle = %x UsbRxThread :Something wrong and Reset now UsbRxThread : Send Loopback CMD UsbRxThread : Receive %d bytes UsbRxThread : Copy read data to RxFifo Rx(point):0x%02x Rx:0x%02x UsbRxThread : Set m_bGetLoopbackPkt = FALSE UsbRxThread : While Loop end UsbRxThread : UsbPortRxThreadRoutineExit: UsbAcquireMutex. UsbReleaseMutex. SendDataOut : TxThread : Length : %d SendDataOut : Allocate Irp Fail! SendDataOut : Get IoStack Fail! SendDataOut : STATUS_PENDING SendDataOut : Complete SendDataOut : IoCallDriver = 0x%X, urbheader = 0x%X, iosb.Status = 0x%X UsbTxThread : MaximumTransferSize = %d UsbTxThread : UsbToComTxThread is running UsbTxThread : m_pBuffer = 0x%x UsbTxThread : m_ulLen = 0x%x UsbTxThread : m_ulRead = 0x%x UsbTxThread : m_ulWrite = 0x%x UsbTxThread : m_pOP = 0x%x UsbTxThread : Device Power Status is %X! UsbTxThread : System Power Status is %X! UsbTxThread : pBaseExt->m_DevicePowerState != PowerDeviceD0 UsbTxThread : Set m_kTxReadyInPowerDown event UsbTxThread : pBaseExt->m_LastTxDevicePowerState != PowerDeviceD0 UsbTxThread : Stop Event was setted UsbTxThread : set m_kPowerUpEventRx UsbTxThread : USB pipe not ready!!! UsbTxThread : EDO not ready!!! UsbTxThread : UsbToComTxThread enter Wait Data Objects UsbTxThread : get power down event UsbTxThread : USbToTxComThread Terminated due to device not started UsbTxThread : need send data length %d UsbTxThread : Send Loopback CMD UsbTxThread : Read No Data UsbTxThread : %x UsbTxThread : FALSE == pUsbPort->m_bForceRedirected UsbTxThread : TRUE == pUsbPort->m_bResetPipeNow UsbTxThread : pPortBase = 0x%x , pTxFifo = 0x%x UsbTxThread : SendDataOut Fail !!! UsbTxThread : Write Done OnFDOSystemIoctl : EnterxTouch : Enter FDOWmiRegistrationxTouch : Leave FDOWmiRegistrationFDOWmiUnRegistration : EnterFDOSetWmiDataItem : EnterFDOSetWmiDataItem : LeaveFDOSetWmiDataBlock : EnterFDOSetWmiDataBlock : LeaveFDOQueryWmiDataBlock : EnterFDOQueryWmiDataBlock : LeaveFDOQueryWmiRegInfo : EnterMofResourceNameFDOQueryWmiRegInfo : LeavedAl99$9998^9P9:999$:993334 4*444>4L4d4|44444455,5H5R5l555555566&6r3D6^6v66366667&7B7X7t77777778$828>8R8r888888V3F3&3 322222z2363f2N26682:WY<<;q@Oڗqe]IRP_MJ_CREATEIRP_MJ_CREATE_NAMED_PIPEIRP_MJ_CLOSEIRP_MJ_READIRP_MJ_WRITEIRP_MJ_QUERY_INFORMATIONIRP_MJ_SET_INFORMATIONIRP_MJ_QUERY_EAIRP_MJ_SET_EAIRP_MJ_FLUSH_BUFFERSIRP_MJ_QUERY_VOLUME_INFORMATIONIRP_MJ_SET_VOLUME_INFORMATIONIRP_MJ_DIRECTORY_CONTROLIRP_MJ_FILE_SYSTEM_CONTROLIRP_MJ_DEVICE_CONTROLIRP_MJ_INTERNAL_DEVICE_CONTROLIRP_MJ_SHUTDOWNIRP_MJ_LOCK_CONTROLIRP_MJ_CLEANUPIRP_MJ_CREATE_MAILSLOTIRP_MJ_QUERY_SECURITYIRP_MJ_SET_SECURITYIRP_MJ_POWERIRP_MJ_SYSTEM_CONTROLIRP_MJ_DEVICE_CHANGEIRP_MJ_QUERY_QUOTAIRP_MJ_SET_QUOTAIRP_MJ_PNPIRP_MJ_PNP_POWERIRP_MJ_MAXIMUM_FUNCTIONBBBBB B8BLB`BxBBBBBYi7N;$DPowerSystemUnspecifiedPowerSystemWorkingPowerSystemSleeping1PowerSystemSleeping2PowerSystemSleeping3PowerSystemHibernatePowerSystemShutdownPowerSystemMaximumPowerDeviceUnspecifiedPowerDeviceD0PowerDeviceD1PowerDeviceD2PowerDeviceD3PowerDeviceMaximum4Ezb`[\BBBRSDSL闭IA?{D:\code\xtouch-160516-ForSawFWUpdateIssue\Win7Release\xtouch.pdb`DAA4@vAAAAAA  @vAAAAAA@@@z@ĉ@@֊@@@ޗ@3A@@@d@@@@ƍ@Ƙ@ @"@@b@ @|@@0@@ :@̍@@V@В@d@h@z@@4@*@*@*@~AAbAvAANA@vAAAAAĀ@vAAAAAA@v@@0@@@@@^@@@@@@@@@@@Z@@"@2@<@*g@F@L@@f@@zL@~l@l@Tz@F@G@J@/@07@nnnn22@ffffffff@J@XAAnAAA*AʁAAA@@@@"A80A, AA A$A3A&VAVAWAUATAIAHAHAHATbAT}Az~A ^AvAwA2uAuAYAXwAwA`vA2]A[AZAyAvAZA6}A0YAxAxA:9A;Ab4L4d4|44444455,5H5R5l555555566&6r3D6^6v66366667&7B7X7t77777778$828>8R8r888888V3F3&3 322222z2363f2N26682KeGetCurrentThreadRtlInitUnicodeStringKeInitializeEventKeInitializeSemaphorefKeReleaseSemaphoreKeDelayExecutionThreadKeSetPriorityThreadKeWaitForMultipleObjectsKeWaitForSingleObjectDPsTerminateSystemThreadIoBuildDeviceIoControlRequestIofCallDriver"IoGetDeviceObjectPointerObReferenceObjectByPointerObfDereferenceObject?DbgPrintIofCompleteRequestIoAcquireRemoveLockExdIoReleaseRemoveLockExKeSetEventRKeQueryTimeIncrement_allmulKmemcpyOmemsetKeTickCountKeInitializeSpinLockRtlWriteRegistryValueZRtlAppendUnicodeStringToStringpExAllocatePoolExFreePoolIoAttachDeviceToDeviceStackIoCreateDeviceIoDeleteDeviceIoDetachDeviceGIoOpenDeviceRegistryKeyYIoRegisterDeviceInterfaceMZwCloseMRtlQueryRegistryValuesRtlCreateRegistryKeydRtlCheckRegistryKey[RtlAppendUnicodeToStringKeInitializeDpcqKeRemoveQueueDpcKeClearEventKeInitializeMutexeKeReleaseMutexKeInitializeTimerKeCancelTimerKeSetTimerIoAcquireCancelSpinLockIoDeleteSymbolicLinkbIoReleaseCancelSpinLockZwOpenKeyZwQueryValueKeyObReferenceObjectByHandleExEventObjectTypeRtlIntegerToUnicodeStringkRtlCompareMemoryIoCreateSymbolicLink:IoInitializeRemoveLockEx#IoGetDevicePropertyvIoSetDeviceInterfaceStatesExAllocatePoolWithTagPsCreateSystemThreadRtlFreeUnicodeStringcIoReleaseRemoveLockAndWaitExPoSetPowerStatePoCallDriverPoStartNextPowerIrpIoAllocateIrpIoCancelIrpIoFreeIrpPoRequestPowerIrpRtlUnicodeStringToAnsiStringRtlFreeAnsiStringRtlxUnicodeStringToAnsiSizeNlsMbCodePageTagIoWMIRegistrationControlKeBugCheckExntoskrnl.exeRtlUnwindgREAD_PORT_UCHARmWRITE_PORT_UCHARExAcquireFastMutexExReleaseFastMutexaKfLowerIrqlbKfRaiseIrqlTKeGetCurrentIrql`KfAcquireSpinLockcKfReleaseSpinLockHAL.dllWmiCompleteRequestWmiSystemControlWMILIB.SYS USBD_ParseDescriptors USBD_ParseConfigurationDescriptorExUSBD_CreateConfigurationRequestExUSBD.SYS0 H`@4VS_VERSION_INFO  ;  ;?U6StringFileInfo040904b0$CompanyName VFileDescriptionUSB Touchscreen Driver: FileVersion5.13.0.151166 InternalNamextouch.sysTLegalCopyrightCopyright (C) 2000-2016> OriginalFilenamextouch.sys8 ProductNameTouchscreen> ProductVersion5.13.0.15116DVarFileInfo$Translation 00r0P11112 33@3G3S3k3333333+4@4G4L4R4X4c4i4p4v4|44444444575C5N5U5b5g5l5s5y5555555*6E6V6j6}666670787L7_7}7777777818M8<9T9l999:@=Z=t====O>[>t>>S?p? p05022223333h333>4i44445K5_55555666677"8z84999:;;I<<=<=Y====>4>>q?????00/060D0k0000001;1n1111122E2\2r222223O3i33333444e44444!5;5i555556*6@6X6w666666777 77777 7$7(7,7778!8z88888*:k:::;;;<<<<<&=h=9>V>>>#?;?j???@0k000;1W111192l222}33333444N4445R5h6789 9'9>9X9d9~9999:Q:';B;N;h;N>>>>>>>?+?]??????P00110111L2h2223P3f3~3344445t5x5|555555555H6d666<7\77768A88869N9f9~99:::::;7;;;;[<<)==>? ?$?(?,?0?4?8?>?p000122222233Q3333333?4m4444444 555B5[555556)6B666666D7\7777778878f8s888889[::::;&;J;n;;;;;;<.[>>>>?:?U?r?????0(0E0\0k0y0000001 1"1(1=1T1g1m1w1~1111112222.2?2_2t2222233 373N33334!414K4b4~4444565B5L5u5556?6T66#777I7X7\7`7d7h7l7p7t7x7777778A9^9j9::;;;*>I>>> ?7?]??00=0^0t000000010171i11111122B2p222222J3z3333-4U44445?5g555556606G6^6u6666667 707@7P7h7~77777777{889::;;;<8!>J>d>>>>>>>?u??020;0N000000001101s112Q23344F4c4~44444 55A5\5~555556/6D6O666666 787S7w7777*8:8J8Y8z888899.9K999999::\:o::::::0;C;_;;;;;;;<#->@>^>>>>>?G?~?????0 0070t000000 11*1H1g1111122M22223373h3q333333.474J4[444445515;5P5n555566.6J6z66667787h777778 8N8888859E9T9s999999:H:Q:d:::::;%;8;S;;;;;; <'\>s>>>>? ?>?\?z???????00/0@0Q0o00000000 11+1<1M1^1o111111111222$262A2L2W2b2m2x22222222222222333%3/393C3M3W3m3x33333 4%4V4_4r44444*535F5d55I6e666666747a7 8%8A8]8y8888888D9g9999 ::/:<:a:s::: ;9;O;r;;;;;;;;<#<:>>7>E>]>b>j>>>>>>>>>?/?=?U?Z?b?u??????????,0'0,040O0]0u0z00000000001 1"101E1Z1{1111111111222272?2Y2g222222222222 33"3'373<3L3Q3a3f3v3{33333344'4^4n444445Q5^5l55555C6P6]6k6666677+7G7f77777'8':F:r::::::;';B;S;o;;;;;;c>|>>'?@?d????+0D0h0000>1W1{1111?2X2x2222M3m33333"4B4b4444"5F5_55556&6F6f66i999::K:r::;*;Q;;;<8<]==Y>>>>%?;?[???001+1N1e1|111112b2222 3+3334I4j4445H5i5556O6p66666!7C7h778%8R8|888859D9r999:.:M::#;;;;;V<<=$=+===Q>x>>>>> ?$?0?8?@?K?W?r????0*0:0n00000011'1@1b1o1|1111112 22'242D2T2d222222 3'3@3W3334Q4e4j4t444445545E5Z5k555556:6C6P666717^7777 8898c8r88889@9N9a99999:!:1:A:Q:a:::nt>>>>?3?K?_?q??????0#0=0`0w0000001111 2W22233H3c33304B4Q4^4k44444>5[5z555556D66747Q777888U9999X:u:::::;C;;:<<<=`=~===t>>"?@?]?? ]0000 1i11222222 33R3d3{33333344K4b4r44444444n5r5v5z5~5555555555555555555555555555567y77;8888909H9[9g9u9999):n:y::::::;&;C;;;;<& >?>T>j>}>>>>?A?\?q?????000%0L0Z0m000000011 2'2V2222222333334'4m44445#5_5o5w55666D9}9999:o::;8;b;;;;O======M>~>> ?(?>?\?o????@Q0V0c00000011/1U1v11111112%202D2l2222223 3%333C3U3i3333334&474D4U4444A5]555555 6-6G6_6f6666666707G7Q7|7778Q8c8888888w99999[::::@;\;n;;;<>/>\>v>???\?u????P00^0n000000001 1K11111122=2^23434O4j4~444445575<5Y5^5{5555555S6|666637s77828T8k88888889999999::: ;!;=;N;c;;;;;;U1>m>>>?` 00S00001#1A1^1111112 2522$33 44H444445:5]55555"6@6M6k666666*7Q7c7q7777&88888899*999K9o9|999:-:V:::;g;u;;;<3>>W>v>>>>>>>?l??????p0-0G0b0}000001+1L1j11111 2 2@2_2{2222C3333474e4444445,5L5q5555516m66666 7"7?7P7e77777+8=8V8u888889#9h9s9999 ::,:::f:z::::::;5;E;U;f;;;;;;f3>>>>>?+?P?a?j?y???\0@0V0f00001?1n1x111111112&2.2A2a2w2222222 3!3'353<3B3H3N3T3Z3`300d4h4l4p4t4x4|444444446 6(666(000 0000L0P0T0X0\0`0d0h0l0p0t0x0|000000000000000000000000000000000111 11111 1$1(1,1014181<1@1D1H1L1P1T1X1\1`1d1h1l1p1t1x1|1111111111111111111111111111111H3L3P3T3X3\3`3d3h3l3p3t3x3|333333333333333333044484<4@4D4H4L4P4T4X4\4`4d4h4l4p4t4x4444444444444444444444444444444555 55555 5$5(5,5054585<5@5D5H5L5P5T5X5\5`5d5h5l5p5t5x5|55555555555555555555555555555555666 66666 6$6(6,60646600,040=0D0