From fc5a756771bcf3fdbad670d454b6e8dd0313ff0f Mon Sep 17 00:00:00 2001 From: "VKMTHD\\franzjosefkober" <franz.josef.kober@ivt.tugraz.at> Date: Mon, 11 May 2020 16:49:16 +0200 Subject: [PATCH] added about vecto view, fixed xml view error for PIF xml files --- .../Converter/JobEntrySelectedConverter.cs | 26 ------ VECTO3GUI/MainWindow.xaml | 3 +- VECTO3GUI/Resources/JRC-About.png | Bin 0 -> 15773 bytes VECTO3GUI/Resources/VECTO-About.png | Bin 0 -> 32597 bytes VECTO3GUI/Resources/ViewModelMappings.xaml | 5 + VECTO3GUI/VECTO3GUI.csproj | 16 +++- VECTO3GUI/ViewModel/Impl/AboutViewModel.cs | 77 ++++++++++++++++ .../ViewModel/Impl/AbstractBusJobViewModel.cs | 4 +- VECTO3GUI/ViewModel/Impl/JobEntry.cs | 2 + VECTO3GUI/ViewModel/Impl/JoblistViewModel.cs | 41 +++++---- .../ViewModel/Interfaces/IJoblistViewModel.cs | 2 +- VECTO3GUI/Views/AboutView.xaml | 87 ++++++++++++++++++ VECTO3GUI/Views/AboutView.xaml.cs | 28 ++++++ VECTO3GUI/Views/JoblistView.xaml | 38 ++++---- 14 files changed, 259 insertions(+), 70 deletions(-) delete mode 100644 VECTO3GUI/Helper/Converter/JobEntrySelectedConverter.cs create mode 100644 VECTO3GUI/Resources/JRC-About.png create mode 100644 VECTO3GUI/Resources/VECTO-About.png create mode 100644 VECTO3GUI/ViewModel/Impl/AboutViewModel.cs create mode 100644 VECTO3GUI/Views/AboutView.xaml create mode 100644 VECTO3GUI/Views/AboutView.xaml.cs diff --git a/VECTO3GUI/Helper/Converter/JobEntrySelectedConverter.cs b/VECTO3GUI/Helper/Converter/JobEntrySelectedConverter.cs deleted file mode 100644 index 8e80432b9d..0000000000 --- a/VECTO3GUI/Helper/Converter/JobEntrySelectedConverter.cs +++ /dev/null @@ -1,26 +0,0 @@ -using System; -using System.Globalization; -using System.Windows.Controls; -using System.Windows.Data; - -namespace VECTO3GUI.Helper.Converter -{ - public class JobEntrySelectedConverter : IValueConverter - { - #region Implementation of IValueConverter - - public object Convert(object value, Type targetType, object parameter, CultureInfo culture) - { - //var jobEntry = (ViewModel.Impl.JobEntry)((ListViewItem)value)?.Content; - //return jobEntry != null && jobEntry.Selected; - return value; - } - - public object ConvertBack(object value, Type targetType, object parameter, CultureInfo culture) - { - throw new NotImplementedException(); - } - - #endregion - } -} diff --git a/VECTO3GUI/MainWindow.xaml b/VECTO3GUI/MainWindow.xaml index c4b7cf477a..30f34b34e9 100644 --- a/VECTO3GUI/MainWindow.xaml +++ b/VECTO3GUI/MainWindow.xaml @@ -57,7 +57,8 @@ <MenuItem Header="Help" VerticalAlignment="Center"> - <MenuItem Header="About Vecto"/> + <MenuItem Header="About Vecto" + Command="{Binding CurrentViewModel.AboutViewCommand}"/> </MenuItem> </Menu> diff --git a/VECTO3GUI/Resources/JRC-About.png b/VECTO3GUI/Resources/JRC-About.png new file mode 100644 index 0000000000000000000000000000000000000000..7ccda103840925863e14e959ef1371dedc797ba6 GIT binary patch literal 15773 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 literal 0 HcmV?d00001 diff --git a/VECTO3GUI/Resources/VECTO-About.png b/VECTO3GUI/Resources/VECTO-About.png new file mode 100644 index 0000000000000000000000000000000000000000..4755b511626afcd157f27b0cf70e1c21b6ee067e GIT binary patch literal 32597 zcmeAS@N?(olHy`uVBq!ia0y~yVBF8Zz_5*jje&u|GrO6Ofq~08)7d$|)7e>}peR2r zGbfdSq2kuu;PQyc-^J|ie^2EPbGq?i<Mf<H1|{V+947=K7YR&aNNf=hayZ)B!4)PV zDmcd@^hncHE|0k#j}~a`NO$b&i0TfFv3MtcXZhCJs`qc-{=WWu&+|FY|D3Bl&)*;@ zq&D%{qAUi>pjI2J8}j}B9!E~@ZD11hc)+3{@a*)Vbk?H`3?G;)E9y!%*#BW%pU=R= zP;gaGMd<j$|INDs)WR7QCNexw5_-<fI3bAPgkH!A5rz{I3>$(sr*JV$VPMFqtZ`Ce zSjEfm=8LBtE5nVIlkbQ#+*l;Dl7pd_kzuBWy9$%TZia-=#vmQ01BVzEtZ`7%V>z&n zu_1DskvmhvURH*(zK99@4hakmGo5tKFeq3sF*wT!pJi6?VP0TxY5#+j@dd3rJQx`c zoSu4iy7whxksVVnNR@y3@Zgc+qeD3xof5@01=2X5D9xEZTUprSIkV3>9tH-fpBE4Q zv#_7={MnO-&(fafy#I1^(ZB2u`AT+*AMgL$)5FBVAmDfY{jK<?Pp>f-9B156x<7km zG{dbhhK&0^V~uZfE{Ni~Q1!FB(&CSU+`NSWCv0S8xVX9BswOSmYw)<+?!WQF{0H52 z-~Kqr{kvWDfuV4g!_2h@7B~MbOw21=7u5IsG>emA-uLIq|BkoT|LxPf_{d~qjE-p6 z$B51y0ZP8dD|ZG>bWuDx^^wradZUl>)BbW!F6U)f)8>D`ZyWp8(>Vv~-Z3(D^F>@L zV{oYZtlJ~SJ&{2m-NdN!I|IYy{XhF1v>6%BPG9nvfnm=JiI^2r#C?u&Ffh0*Xw=%^ z$j)<6WX%D-IR|C;91v$pWOH%gQ8{2E;KcT%L56Fg#570AkONjXShj9pmRcY<>!HAw zgN7Eo&mRcIG`=nnXG@TncSvGS8z+n72@c^zMXL_Mq`n(U=QzY?_OU1>dYDXVSfcQ< zLnKh?=!v2wOe>wTCdPUwf6^@yvFwd;_%-472?e9BKV5s=4W~423S_>*RO+yEg}hYP zu?58!OHBA<8>TJFz9_Xt&bDFOqU9I8UzC<G)OPhHH(WI2OY6Cr7}L}4n$Q^`rFL8_ z`Duh{SifnqY=n84sPut(iSId7n7SK;-*CjW2pr03nlQmV!Y9Ich3XsSEke6E!a18; z3=gR*O<v)@MYT%k=aGsetBn&P+}5bQQ<PJjry8fuCmcW7Lxu0;q$hq{imDTgJh?ry zJ#KsGE(u;@cS#^~j*r^w3ArclJ>l5Yuts6}#O)LKC-_hLee&>=?IKo3J0AIPE>a0v zGDXPCG}Zno%hLHqPBRy*3Ou`V-W85j9ai(BJaZS61?UI2uM{>ZouztqwwUwjCAy2R zUYM1cp7}jP|7FQ8&b!TWuG23}zm)xg{pItQ&0orSc-wfJk9#C(NM=h`OD>n#E~!7$ zXBq3|=`&A+7+g1!o|!&_e@1?2gw{8$8qtZTgr-_e4Vzjw_4%rh(Be@0tCg#`Lsp0K zuZ|0=UFH_LIpFb1&MRW8udb90-M!Lm-MOIhp#FgKf$@v?#s6*kmCU=Tt<`Noo5$ji z<n6~Kdlkiw8Kr)VaJp6$#{60*dxmdP^roM0e9BmVOPA?a`vf}|uS#2!HZg7Pv%<5C ze8)CE_+WW+j@LQGbG+xOb(wYTbvItiTAQ}EZms#Ps$2VRCA}?rEB5yFt@ot`a~<aD z%>8PWYxTX9bC=n!z+J7oZkL{aWp_FGb>&OWucyB9y}WzT{cG-*#b3o=y}$PUqP)3* z35VGP$s9wA<PT>iB)`a>k-6jIhn9yc1W#w|ns_8*@kP(Y>O0ilwWmKetq`|MTaz!7 zw8rFK>YZ$x#H384+e?ltIr?Ou=GiIPv(k25+;X|(%$XB9ch=lkbMj4}<<&Xa^Ah*n z+;jU+Z|hRmIY+&^&AN|IyEU!mH0w0qY2Vk(2(t^T4Eq{(eU0a}nAbY5bFYQx1W1R^ z=9z6Z`}DRIYiF-LQZ_sHzQ`kye$7joUxV{*8NT`RhU?9&H*9Y$za@TC{g(UfyzChn zA=zuzCDt`XC8cM|atijmUh>f7@X8}A55Ejgmrh?;JomGy_%iPar-i1MO&1T&UEZ}k zZ+_M3sZXWe?Ygw}^4G<)chA1F_Ga#tyJu{V)~^2Tt2bNvWb9$v_l{pae2;ikc;@lk z<+GO``aI#eeq32xWZdt)a{im=sLi`(kbC0xk?03|Pgf^c+1aN4I`@*<?wB3Z{Hpow z`<Crfx^KHrx$aus%sTcz^L|_ZI{ml*$Nq<vpTs`;u_iDcWPHlFw^6EbGjlexJj+a$ zrR=7xy{x<0^m*(=op?BTBjt-G=N}ONB>gkl_)factc#+jIOd8*N&hl9qvj)bO|Y-+ zJjZ>3y8LB7eO{i~#?kS>J*Q)be5T|~@t?IKnp#Gy^j-yS2`(ut`L1(q&6CLA>3jP= z_OI;OX?;6uTTxm1nyj3loa8sNcQou+wWG13{fFzv=|UyKDx7aSpB%Yy#J2NsG1K#$ zS;ljo%nF%SlDzKeokcsvpS?VHdS1Crq-o@Y8jIE$Len?dKW$cU3ecDEf4V%+S628_ z%j{Nv*L{n67X@zIzQfCA(zCf?Q@>f<wXSvkmC@$!R(i~s(?3YNa-!s<oywnm!(6W2 zTXX(q;Z0r3DRZXGSscWhIc<yfb%X61+x^qDwI}mFseG1uN_ukpsqasee-?kfEt=En zb8+#OpmhO!Vm|sSv@4<|qAPZI?DdGcVthaC->aX>+)ZLNdnarN*s)>rjU5${A0H^~ zcik<f+#M`lu4fn<v@4||^TVau(;25XP5T@0C?Y8IQjPklknmzFMd)@}+nnYwby z$<ul3zC`Uz7EPR*68b)C`qk*LdM)v(@oNg!tXTJBgWHa0kHY=puhx96%)NE%p4awM zZ(n=7Uh+C`&G*Rt>%I17IbOZc_JMb;^vB+((($=o_evI4Wqs{CyXEYuv&^Q6rf;Lq zY+G~t(?YYw->T-;$DR)RyLR>VeK*x^UE6=Ry!ta=v#hA~z4uez?AfYa5uUx*wf1Y? zrFTtt`=yekckO>xcXx+-x&P65{nbmW*}u8If1Op5pL1vZ{{5RcbA!x!<vgqkp3ZK_ zzcu^qtn#e|QCfV59G@OkzrU=e`f<REh35|6Iehm1%=+zLIbM5IYG1P2U%Ezjaqa@! zg?rz>=vh2hHcr-k-}e7??+qU(mmW9m51+SSu7>T$pHG@5KVF`)eBN9?d)q5B?^J&G z`7<*+HZXQ?y7T#Y_TnY)e747bKl%CI^ZwWmdkVfNeNVcry4`!N?K)fcx`MwCJ=RC( zzfS#r`fa$)x{@!xudOe>zg+(->%i6G>p!mR#m=wX`~KJ)>Fs%HcV%{{?)v(p?Au%M za;|qicVeshE7t$nckAyf_Fw$3>bLycn0g@h!H<Lk3Fi+-^1tWfY@hdU%Kyvl4==f& zalfkUrrg^<S6*J4S8DI4lyj3GF5k3V`24B5u>X~>i&sCt|M$^v@ADCVZhYYW*?oTh zy2_QGi{7tZx!&ry@^Se+=PGSKF8j0g-0j-;JKpcQe|)d}OpQMd{{lW={FQus`33*) zcF$}6{n7v4^7(gzrK%tU0|Q%<x4R3&e-K=-cll%n1_sUokH}&M2E7*y4Ep?x)|D4# zFfcH%mw5WRvftqn=QifJv6*=S1A_vCr;B4q#jQ8B<uxMioBnT4pL|G*y@kPZL5E6< zlH-#UX&yd_ocoqV=l0#dsUN#x=jQvxd&<ARtJzoneNOSVgO<{_C1%fIb$X)U65<kh z>%xBfvh?z_vb4u%vdT@L@=x2caQE`vyY_`%y&BpQ<h5{;m)6Q9le`XhNR)Dg1bM1X z4GB8v4<bR#55XWZ$WvAH4^&QbjpylqPCx%MD>677dhV&g%DS<4K7-4{jn;=+I70X6 zPi;D2_ok@r7sKJ4Xg=wG3)kFHaeQxnqqfSJ-Pu%rpFrYbTg|8M47eIvz8r{c<o~nr zwm`r})@4kRB4)))Cvh(bU|caFfx}#JM&QRjORKO058N&Hf0(84>3rsc+~9wQ1g`TP z*{#ILdwu>_akewnr<MOPOke)s&%#O0?~aMC+7zgLr~aHPpR%M|hwR>!&TRpy8_uu0 z8o?^<%erra%A!3d-EB>MV@mv{vvEvJuW8w2?egJ3&;jk{P{+TLR!g@X6lzR6^hj~{ z_LbUZR>yQ+SWHO&_{}V$y4u=DZStdOi%zCErH8AZf1I*4D$zhfKwR9sWtU28*kaeB zqM`^1=BRfEZqB`S?QY-J-)4uU^uifde&#f3N$`6aq9QFUIx*wTlsERZJf*$AMX%<x z_0@L#zyCquWv6&-S6x>{Uav=H?vbsoN;!=?Zt*(3XMDKTx#F+jMl+fD>V3&9_r7y( z=f7S3r|gE^ocYE7p4hM!_8q;beEqBcjct~1h4OYcedqkXympSz`9uG8ep~K)-g;xN zM~iXZ$M+wPE4;b<k@L`e=I1|ttUh()UcniQ!<BLm_k4IJUQp@wZNA9XEn5<vzOV29 z^{Z-q<DtWSA2{k_ex@%q`_SFrE$^i0Ghxb{meteskDG?aGw+R)mwRyh?gjB*yFQ*@ zAMbv6rLxRftt}Jh+|spA4$=8n_1H^i<&4vpi=G}<k6!&g=NFIv`pRbQMIwxfiyFL7 z1y6QiI=P}{t@lBDWi=az2Qy#TTvrlh)D4?pd27)eL%~N(B`w+>u?*eX8kPyJxlI!k zofbUcvVQ*k=0}5X8x30;8XoT9H)wg-DC{iZzPs<e09%jq38M=JWr}AF6cQ{H694l# zFJNSDOMG)^_QS2IuP0f=ZQpzR#(nj3^AipjY)ijjac_Hnzrh6orb7nbwsqv%d^0os zX2yB=!>{x=>$7DZZ{2^~Afe;fM>}o@skVo;=dZQrhDx|Se$)Qh_TKZ3+&5CcBP!0j zOJqp=yJPUpj&pZdi^J&*me-Cf#asq1kLP&*zLRAtbzI70;?bmo*VaZC{5iszlA5Zi z_nwEX`NiwIws)Pi+WBQ{8f;5TEvmoC<n8}krgG$X`<0zbcHEw9yklc#azWrto;TK| z5@M^5J`CpwW!NHF7dHF#!tYGm<nK1S3a492T${g{p?sTnbUAyO-1_#Li{9L^xMObQ zH)Xq=iQ?uUz8`|~xMy_Lxv#j%&3GfWK1O$TL2R_&)VaoNZOknXGT-hg<GdflsJbA> zUc|<``|bQ&YguoXOGI!U5NOy`TV$85I_3MBEC0+DS&m#3-@5xn?*7AB%nDgs+hc_r z5*-Ctu4Fyd&05;GGmV2WHRo}P1|#FvO3t?lC$p4z4j)MRzh^D4wZlO!y(_{Ixd*bh zT21BS+ULsB5W#4$?PK79dt6)pvv90Qc$2)WM^uF6%Ej5fmQU->A2k0a%+1B+l_TS} za&N3tWz*!MKGT>PT|w^AEdd40H#O6FS{`b7>8$67JvimO_PzXwn4*tIe>{F%KZRwv zhbq^BtgR1Luitm*{=6EY{{J5fP0Y<7->ZIqaK)KGMb3t(jpC9_XEatF<G#PYyYHUg zZUH65>Mg0(rxo~?#nvZS`)!|p{Kb@s6U1$Ej(HzmseGe0X}|e7o2gAt3l^H};alZA zwPu#{e!nkD<*yiCe631JN#U{ouvy#K{C<hCThECD!u8cm|Nrc-e^m3i^3Lzo)d6vF zdMhLNMGb>=V&~b)Z9eAzjN@;B-T%k!hh#0Ucl=uBY;>!-?CjK_8M<kIDiXA-*nio~ zHrCSIc5jWU)V!6ME5+Aq+?0+__^mx*MM^d!&y*_TJgtrHM{jf5E>)aVs@~+vE&k|Y zyZpgPN4r1Xt6sg~)A#+yx8JYjUVZfx^Qj3e_DoF?&L+>M_<Vcunol%$YH?EYyMJ+4 z=HAhto#rJwafygnH|uU`{sUesjSC#E)-|s`8+czQPw2t##weD53pfR*zOnn}9s7I1 zmGBdy{ND;@)<1gsRYU3T1HA+to9ADvu3Ry{$J<cf+8A)S^ndYx-&rP{{kFd(^7cLz zTXTPd-1ocn_V+5E%g#8PHqTJ7=t25zS(eRRY73Qi-}qKw@+AHK#-ADuch$cwUc5Zm zjCI0Zw#pA@3{B=(ow;eC^?^0B@ow|FLl0iBt9<0CDB#BaQ&MGVM8wo1hksUu`7yol z4&zgFPVE#7l_}8KUHJIe!-MQ{2lDGbN6)dWmD*qbfd9vF`+tq=*6B?@-^TajX1IZI zCCj=M^Z56My=FOTP-uL0ZpMMmXTe6Bw!ZZ#yxv)x@h&IW(uSq+f_&raZ$<0avzr8d zeyM%*_b|&I@lJm8JI<$PyEm<pU2*gt)AA=zQvUqj|5sY>$6@A<zOG}+{dP_6^7TBv z%l$Oh@%-ehGc%WW=2-S5R6*11;JYuI|BJK5T)bAy$bMdKa-n^|j5BF#a&ItAzA3Wp zjD^T?#k%In24A^Es~LXI>)4Sy^}}&R#r(N}El1krIu&MJoy_fIAm{%n{!!n;50}^d zy{#0yH`e)Eg@ae5fV{-SC+tplZXB1pljicn`Z-HW#mYY`RL<`+li=C$bXxR>8;koF zty#nK|Ic&#j}PkYI`&q7x4JXmc_ZH=Mtzxg8gg^ny|tg6kS|+rz&p$LMpX(wn{Trb zr)!h)b7@)e+sZc+CV5Lg-tNrw%KOqWu0_vh3h1j}I%|B=c<a4g*E?>jxXe4Q<Sx)- zUVGty_@rX};4a5IJ7;xXiCU>HUH7*7p;d;7luqO(mVVoB7Gioa9oz5MNq=9vM?U-d zy3%DmJVp#g^DH8kUrbC3<Spqjd$Xx>t^E#J-?!<h8>Zzv@0iW^-Yxlbrs+20JLb!o z9Nx$7ce!`aeU_M*z=aQ@x>6VF!aX$u<``8P$<_W4yi;@eY{d3F*>}7D+wJ-NZg<@B z)?k@GbMypfS1(D6(ahr3vRpUe!;Cl6)|HuTomZM6I%PV;?diF$7w_Kh^=&UZkhR}O zzHG^c{lPxjk9QldxPD()+J==^@uExZWA*uqwU;I|StzexVg5ESU7E`;dI499_0ona zTkk3FxkNkXEX_OTx$;ELYPrDF3RQc1d49Ve3jf~5{}(;(Kj(nFTm{2<o8LTDRaG%} z7I;N9Ph!;1k+WlJ`qE-@MsMDuluZ+^+vO_fzkhk;+~cohimBoY>U`8x9fEIL=2-7C z7y6njpLWH%@p<p=;8%AOB9e~uKc6ag<;w4UF^igQr)DWQ^@_|%ng8g4$Ae$8uYOIk z`8IXV1CPp`wyF<$jaiwlOO<|8m3pJ;F<aftY+-T8-d*bRlT^+;Fj2CV-T(7z{)Y$5 z{7$Q{K6>abcToQSm-`mg-_~>|tr1}`%DXwI_<w4aqvf%s{e0Z}88*(gWD&`h-o_#~ z*RzqAz5KzS)@ci><~hAJsMF}T-?8#+MSXDne3v=dd;Z$kf7~SQHeY7Nn{`hF&A&=3 zep)y;{?ugq=gLR^+jS=Jc{I$H{j|&_gfYP8YNC%1Pu}jYVK#q0IG;Fu`tW3byH56h zpB>-W7bs{v{`8Bj`sE8IAMF)f+S3*&+^GMh!8h0X+3p9=X53fX%sHFyt;_yO1DOr> zCD#w%?^M3j#hB__9QIIgU!UfIt0ktfviz_1<qC37;yQ3O)?Dd@*71ERdGX(Cbek#+ zkGm|n>tHaeqrz&X|EXRtXJvj36Di(xQB|V<e*AbGu_1vmuKKO%o$~v&5x)=f+w2Qe z(h7O~mi=p#Y+BFygY38WIhNPwOE4^Wt5g_$p7qLno0eNmUh_Xq-n3{c(~bIP8r$UV zCVQK$(Q4sK6Y);bRTJ2``IK5>S^7+mT_-tWY+B#t@FZH#yOVz;Tl(DQ&;4`d6K5*C z5`FGuWGT3viPip4;2-W5rWQrLiL0jUy2q-nx4YdsKW@g-DIZo9@AxjUW1kmmjVnvP z%N<R=yo0^E1#i#Z3w5?>&J^5~V3z!gXUX!V%BHHK`TIYc&5EA&@%{f_`4O8^IJZQt zjlQ{f$5VI4Gn(^yDpi9IKR9td^3<`ctx4BA|Gs$n{&VE#Wc&TEU6{|6ZLzq;>!y_b zD0kHgfrNy72Z6YT$$PeS)hB=W8`<&xwfcm$N1WY+l$bQS{HL0KKl${8q`S&HnX2mc zK(*P^Pu!a2weJ+a69*SJ_s0v)|6A*Kevgx}C}8;hzfN^t^*_rm-@j{L+V0<JEu8eo zaP0~%g_h!{wqG)TU$nKjTzD`2p(Dc=-Y<!{f7K$^PBSpOJY_r6;lj(Btf!LhZ+Dg2 z70LgK?d~7jAIl&4yj>Bl!FXZMl){!B`Dfby?cKPC*>?Nlf|PWgZE{N|@ffAJ{NniY z?E3zL%=`Z{pGh;8tNM}n=jHi&H*fFL7aHZGZ?87nFZA@LYmVT$3H|J941QbZAAY#G zw=S~o?cTX7>`OIj&U3S{=5#vwyyiF9@mH_(ztnf1o*!27a_9Jd1g5zNa(b@ts8&i& zD!y8^`l5h-%I>#sj(oP+k=@UswR3k(yHmm~t{(vcU$m_F5;Z*@EwjHCw&a^v)0FI_ z$qok5OBJ*iZ``<X$M1K$KfXBJub^(tUjOg&{Er8k`5#?)=)A{PYQ?3q71jpd;vJ7g z_-L=-lQvtZAYs6t^n2spzMe<>7986*xxHZ5+n9jE^PZNK3r(!|`gZoI_`Hfw8*}S! z2676%DUcKj?3lhOXOCp}>tc_k{K|7qDLtxr!jf&hK<MGC9bEB`p6>GM>wWI0YUZ%u zj@Q?BH}6X;h*k$)QT4iWf1$8_c*#fJ?sCtL$2wC4937*y?Be1MrifNMu`%4Nm+ECZ zJzf9!<9^$=%FoXpJ`ImMc515j#>B&HH~0AU*fY<WV=kz9?8pbhT8$5v|K(=9-ud9N z`B^dJYqB@G7&m)fWwSNN(P-MYf1PgsJIhD6AI?1e+*V|fLemD%>j8z~3)B})RpQY1 zntaGsp)$<r&iTc!V*}3ZwLVxQ@aVUN!qSQ#8|@}J1-l-aFiCfF+Sx;k`|Y~s|9zAG z<4?E#huy#59d4Je<>*%ZkgT!4>+4x5d(O#4>TMTwn2tyLC7wUoY*)K-@p9qW{cjql zMm0xW(u_HG;R%;5->uJ8R?SN9_CHy9s(Jmi9U*gV@}If?F#RZ8aX$T1UUN~)d5=By zM)DiD_B|<_D8=<OqI$y5Z(Ux_%r$S$PkNMO^XJ0h9pC3wU)ZppQM>+swax!S+!7KJ z93FK)SnDoUF=ugWExi8fP*b1=N7U}y8-E|Mn{QG5c%f`YhSi#)MTdCwriUmUDZYK= z>_wreEYe!@uG~8QDR+|OvlZf^S2+bGb?@(et?3k`HSf~bSDe{v1Lc+p?pVD=;a^GI zT+J>`)hoX_d>);ZsSY)4KAW)gSEZA$T}q!!=l#F$$|EZOd-3q`JzCf<e<=RnukbC~ zw*6Y$@jG@|t>@Dikv^H{xko1}n*GU{9CW>cA-2{wuJ(A&)`aIDYhRf2vMhMKdI<-| zsdZOB%T_;{%J^gduG8<7O5I-US*)%%J$B!7-%R<FiCs1A)#qGYj=d=e6#9PR-P^tP z{L^$5FJ06BxVfS|TeafqlWvil0_i=6_22K4{{MCU|JI4h?vMQI{|U=g{ZN##EIOjE zKk5Dhb0tO5(8peH-Lp(oPF<>g^lGm!d%>ceCnMRfgdQw+IW+fm#xZ~PZ3lmUXlBp} zK6qy$hqu;=b1UoLI5Jn=j^=zdH$l|%)w%B2iF{ioZY|n<{iJ8-5!J%$TRBqRe_G>b z|GwS2xTtF1{pTmW)B<WwuQG9ASaJE~ht1jRkIKte%WU1cwc_2+=NpTjdga{RHT8RB z{*RmaA1-H^L_`%E9$VHcq`=9$b!PFK6PI((-nd<IV%~#WS@wbp`4S)ex!twbx4mG` z(=GFZ%xu;yNcir%hu2Intx)mZ#`CX_gvv2SaKt@g&8gH6I3G6OLV&BtgKMqXtH>YR zx*F^q0`YnsyJvE0UF7<zw3x3nlqE*ls&jU&tIPKdms`Z5UZ4B6(xZUSKEz|sJNb#1 zL_)YU6;xUh{{8v+<8gBT<6GJ5jxL{H-}gK0UcbNnZyvGkquH)~AN`wdN~}@a&NI2_ zw9~C}2Mg)LUYg(L*f31KnR0)&$P}yd0XhF~+I|1K&o|@!OP*IvZQPH4a?LxmMzhgw zefA8ikFzB2e0`f$S<s?4@%^<ew->F-(@{8I{LZ(_vaZYI(bDXx6)VaVuC<#BIljyB zbU70H`X1YJ_j7HLCod(kSH);)Yac$$Z`-o_{Vwj^Wp59inyUTrllJ<Gxq`>Oujae* zGuT<eM|Xu&k7C>6sP=a(L0%i57RcVJwz{KoWvNB|LQ(7ftDg^VR=)FUa`G9c-tO10 zzUbL6(UAF>V|&VUd(n}{JLYWM`Qu4P_2T2M3?~>594X$wr!L&{+O?D6(!QStIfjkT ztIYik`j4EAJ<|{(Hq~jOTd!2>)bIEEf7gAtE-8yUQ2+0G{iDwPe|cqPW#x1o<{#`Y zdete&6cc5~of^r?w{4-KjHat&;e#`QCUfi#ZT_}nb{oSA>q-XR<^0YsS+*~%_0xJ^ zys5Av=)6woq7$l1=2r2Ctb6C?SRK;i-g46O&UMQPDf|x?8cp5g98<si-4VmD>rO4O zZuGmWwervnPeF5~6-%Ca-m#glKB16F`lHo@OS2a!7i_wyF?qfF(uGS}T3G(P`u~@U z-}Z~ZrJ&%C&+Y$n_S^j8kdl_JysFSrbiDj@zq+f$k)uZvi}EZ@S{hTdehF*}Vmqt$ zCfA0e+csQX(Bd51S+zCy_wzEVO}72j`$6fw($!0owKsQ5DEz!^BFHTMYX4EiUwno0 zS035R%OzlN>93%nz=qGlg}WYUT09S!w<caIZ>Ob_iK`d;&K-YjRMONZEq?ghF~<0Q zLB9T{*w90_+V6Z0`F>q}PkiP-R)I%TlMbi}7i`V5bzim0WXmS69cFCJjMwAKZRM)p z7>0yjfAD`^6_<AXej)3!Hw6vzK3LbW?y<Nz&B<9JCUP^w;$XK;+u}W<>%>;G+RNSO z+INsK(02FU=S*fYw-R^Xcvlgz=!H|8v2fKt9|c*B=kp$k)_;AvIcb60o%wHfu5Ng6 zZo`vZKPn>QTf)^`&T+<mTD2o3bmFc_4`)s4yS?3iUAX^O9?u6nk5;Qb|M<DZVJrV( zZkC<TuZhQ(7|PXt3Dk+*CGx)h1LM2+O8b4kerX5h3pY2ga=3<Nsi~!jdhYOW%GmVg zWS+F2?9qRh-GAOl|6lndMwxGZHjmX|_f^wgo)%?4X*prf&NuG+0`j%ED_-1*HCcK) z{R4-HTvNr0=WLPMr)u-WwG87D%|aWGdUmAyd}hg+RG0IzL$ZCThl*IY!26BUJ=O>- z-dj7_OL2YA^^ow#8{OrO&Mm*w*gM<op@01^;XYYwHT@qOGo-{tyHh8ND;cWUZPB&= z{bbHdi~hIAzj4$QH%twBV_PXu+x&Op!q*oABwPMx9{5wK@KS*@UdyW>al$SJA;l|K zlRg|165F`$z{i;a0_N&x{pNR{W!3pNr>~4fP5t}CmF;U%r+nsKukNL4)FE_Ubiy5r za@(bRsxDQ2F_t|}5+`5X6<e6K_dCZ%w#}P2f1DlvpY3wi@`WFtcz*fv<pg&f-?POI zFK00Ic*;sXnkHXr@Mqp+_QXvyD%aezztJx*we3LCR+lqkAGE~VnV#3ab6I^|^qQ+l zZGQW!?4qnk-<oz^?^nBM{xNG|$L-rUkC?{x>`qr!`k?Z3pX#}k%Y9b$iw>|l_S$cJ zD6mgSVdmRoH|Gfm)%F?|t@QBUvwwpF%jeZr7RpB-y9kPlvoAIb`($ji!#1~O^2|AX z+N;GKj%PUSIJ0*0*4I+sAD8^DtoAjYtyc5lP2n4B(LXWsx^~!PY8Wi=Ie)NwQ;?p( z!P?zN)_<GhB-gar%1}XR(mngcEEA=i_#&P^tDm$8KXBv_+}O}5V1D-;iy)(O{!~`E z7lGwoom;#oeQ>z=RZmHA-<ri;brVw<gS-;A1_i7Z4O<-=_o3M3VuORT$&N);jGv4) z$+FunjCwwo!J=l{#ki*jUz$YLC$Rf%pWDl@^>}>YTAqsPXzTv^;|@<|F+AP1{J~yH zkGtwyrm^rI`rOqWA$nx)#8<miLNtD`uAIRkf8)rrrX5S-3ZI9G?f-qOO#R)jr!jv& z7MNdt81^Lg@q$I470UWNRgdcxy1Fu@{0vU|Zz8&X?uk&Tm<pGpJsr#rZHfv!%!dSi z>e|2CzvV~Dm7duGn|zM+PT3x${cWBNL-$p#hDCdq3(w|z@3JIj_vd8=xe5&G-?j&@ z=$OO!lc{Chx7HVjcc#fqEZg{NUiMK<tIm$2C-*Wbi`h6i+<7PdaIM|PV25&HmmdbN z)-Bp~<gRD<>51Vvoy$1|JTw{qs6T6cBk<8I=2t@O+NKv_4{r(fEq%F3?8w#><HF6i zY96TD$OYwFxQH=$y>)jx*SDyIEhca?!^vYyCKT@dsMd7&gV<`;*?jMvzB}-1u=;JA zbLgEg@4L&qe2rH{y8c%Gmi7AUJL8R-uT-OZ_L1PPWttDZm3bVwzEja@xy+tZUz`}P zJ4gklHtlFFJ*If2lR+nDZEQ!>m3NzWS9n#bm+p+&b7Sq1C&Gr^{T|PQRPENS&-%`5 zo%AHnpx(u-%jkIPo~P^#)l&RP#{;9KHqYnFbI&esPx`HJXY)>vR8Nj2w)F?5&lZW= z`BQ{ZMXOCnW_6p#Zil;?!S6m*2zl(x?kw;9J<;!6o3vkXpoF1U$C0lbPAdPVx#V8_ z=$(G=%c8CY9*l8HSuYE<0tFTwn#Wc5=|V?~iO&2@0&H{bzW5}#d(3?sA6{=>Ht$CJ zy@Pf+7CV^LHs74NH%TI*wvlPN`r0TBjk`=N_dS><ZaFabsz}Fi4$u3~=e)Q3ym^kO zsQHIE2XvYK%rQ2rTcT3Pe@cL5KS$;C$wysIbv;_Y&{%YCu}zGEkbU`Lz3a{~ci*kk zi#H4q(Gq`j!TrdA^G`*WZ`IwkymEcuIZK_w*LuO8toEL(PG}zN_;F=IO~Sjh<svKc zt$ObE{@(aEV(;OzPwK_$D@y*iT#2cW?0EF`D$9MV?|0;u-_R`d^?$_t;HMG$k>8iR z^Q=T-^YgXNR&RLp!%=#|gHWZSUr(#pylvv5KYWRN6n9cFZdqHou&&n<zV)u>SZW_; zhTE@-I`7D8FPRc`uR|v$%=G-c-51{JabG-f{;s;zhN{!y8E^CWEgyWmdF#V}yPZ3v zPrfhg-tBH1uOmMF=auAhUjE6&yd@L%<>_w7s`P5u@zlX4m%~4CsQ~{OMVao4g_(0J zwzDr4&hzH3VA5=D*}<rmH`kUwYWe9Y0@sVe6)tV?SNZg27t88`%cnf&PWPIdylVQL z&=1@WRj;;K`Dm|kn&S8VOrHFr=drzO(?5Ldd#|K)#qt7&fBuKd(gBM@WEhxPYub<b z)y@}>PoE$z!}M<}v;Tq9%p9lkk0uIs#kecRoe>svN!hjRnwm|+<K`ZP@D(1rS$LL* ze!rQf@ig5<G3dICif-_$U3N~>*L=7WDo}Z9UiYp8YEQQ-&NFK$U059+=cOw8=MFdj z?q{JhgPV4$1`EClm19`2czLi<acj^Lmkn$m85wFBl^#mY-)*K*%H~;7`@f${NA`U4 z^eF*Jj~{bYuk;8=-@NYY!<x=7Dv#JYy_Yin3+3%J6kNB}T_t66$X5<c;R!oZ<r0sw zimyJey254Gy?NEQCvqIP)%{cD(%K!qkKQ^eKH8ldx+VDF`TUi6+G{6?%x=(L^;|hB zKVW9oj0u+?eKzNn{P@T?&)~x136nKD992vuR;vW;JE`2)BGj)fy6b)DEWJa#?*yXi zf|~BR&z>nf;qZQ|L;2II?KDJf-0m#XQhsE$^-6K^0l!~0v+T<}8s=6V_h;RIpvT_2 zIrP~Sg>si^R;L-G;v8kg_vi||5@WNC+V<!#$EIBY?2EjjME;#ye?^o3VW@#R)Ar>N ztu}_<NA*%}Udc(?mvS)s$a0%0O>d0r(ryS^I4M5+QMSxk`O#NKMUP3oM`BjHFr2$H ze_g^WKg~y?i<I6qbbq*{FSPv*S3pGQgW!Yu2CXwrA6XpimgM;~W~;`Mj%89^2eeCO z{)*G{xU*M7?x%;#?=KpEVlPeGasJNxT-O4}scFx>LwxQy|EZht;7w<Jmc|aF2STNq z1?RaKr*=fQ=P?R3-C5vrWY-hMy$N}p0TCUcx!;q%a@6<j4NaC=7ca>0<uBXfil-Is z^MVa8gm|*r*XMGy8O)d!-*{xkk3{Q(LC;ek^4-W=tx!?id$9Mq!-uAp)@QNH1Rp(P zvQj+aYqD&1x)9Tj4*vf7niJ)MPOE0^TB7Q%B6M3o|JjA+ZHL~^DBkOm;o4b0b-G6M zAs*p#JI`ACIohNwn^+h1Ub~~>iC`b!)B4p~D<2$BmXHqjJ)?E(Q0L}0+Yg<8b>B5D z+>@g<C1{_y*Q@!@x7V^M=QkJKSS4Y%+*tWgRL&<65!G)BT>1HzI_LN8{H3Y-em^I# zjI~n7)ftafXP50<?It69s(8Cl;pvb)^-4$NE;_AsvU?EA{r%Iu*}J<qZN96-Fwg#R zZQU1B_Pp$nBTJUrY;R8BxwG?Yh<?D5N%P;IT2<w%G{<B0j0fB2D;|+p6fir!@%y$K z#?42K)~H?A_wMJF+L(V~)kfh7r=EH7atJ(dKPqM}*p?@>-~)@Lpm=YK#}>^rW{&r_ zJNqVncz5(;%bLft8WT#Is*?{HIo`>U_ftIkVP2!Gx%Qr)kzsSDDITtk56GA*aGRBR z9`~f_8(RwwH2s%T&Y1k4hlf8x=CMF#^s8F8H@4Fa4fJx2c%GL}e19`8`GCc-<2%j? zCx4dfw3T)?l(=*WwiZBQx@CgIv7PH$e#btSR6Hy>dGdUTdlP#ns7JV7SiNY6*1wex zj&Ds__9T3P(QcOLzH7XvJ=3ziE2A$q94ZS7ofq7*Kc-&(lkuj*A6F`8^D-wh=xcos zSU<Ps%Il8;``cC>(W#uS)3?h%=G`R*&Y7EHwN^e*PbiyxTF+WnIQY})jZa_X-Lo~g z$~9%vjNBLD(E*K*0xMq~`yBdEXx`?a>ramVJHJA~nByyB_KNxk&(}_R*}|+<RvYtE z_WAo50Yi`H*Q}QC{cRNRE72^R|K-;0REfGv9;yx(8^jxCM<$hhOzH7E*I>*O_m#iH ze`ao;k<ev>%^8!d<QX-j^qwcW$juX*clW2rI<23TO$Um;a3~ux=Nn#F`SJhhq=|>t zng0I6XqQ?mlBHT9`X|Ef!5n6vbK1w7I4@h?`uRcNkX>}{x5}CEQQeuWQ?=SpC1w_P z-Dl(FX!^TH;G~l9FXnGWGng(2ujLceICJWIgx1Pw^8F=Jx@jU|%2D!bZ`H`1SYVvs zmRRaBtrfa3;=KE;N%4KRnz}l!?)$6y?kgKpLQtOMvS;C|HZPgvrL|Io^TBkf=`E73 zrWZ0y^g^#5mfFJ-dakytJm_2fwvG!gTSFx#&Jf#_x&X48;=^a(L&;T%qD4V&mGjHA zdOZ48oC!QBIU_KF*Hpm+v<O2}>A?9g%i2RToUVw4Sp~@y>Mko_+uP81UXH<f?E<E$ zma2BU+cI0uEcMcA)$)96`0oCzcfkk!x&9vzXtI2~TtUz3+PiDPH(Te<p0Oh1jFi13 z&tk`v<7%sx1RYUa{5Nj1*7=YR#m>cE%N8gtk4X5o!es3NuFqcCmDiTUOJ2IdyJC{p zrs	RoePX=XyPKy0ySqkYmx;z!`xN&0pEK9Zc%wag?2Ld-9<LSCbF6WP0@UaaZUZ z@0WK!{EtnPB{ax0?jftdfvlw(ntI1}6h4+YaN^enHea>U`zs%)GYOR4^*EeS5P4Om zX2)CYE9SD2&km%|p7~}=;0oOpQ;uH#`Sp7I<Av^WZ6{NLEMrusirje5Z})-W-M-g( z>oPgo3>Ji~esw(Ppud!Y#!`vd^I9uaFJCBlrLiV)jpj+ghn^e;)qhf+^q+W^IpbeY zV4&c--#<$?@NCwS(rTTrsjA^ABldV{Sl6OOO7nO+`udKYum5M9(sQCAY;oZ9Fjo8T zCfR>f_H6s-yrsOHFZuy<!;cphXY}U1IWbu#W3_SGnFCugFNeGf^HkmW@cg<J*(?m= z^78%Fb*20qihA!?E@_fyH_iDuTm7l;k)A_YHGBSAKW8nxCeoGgAbEY|1{2fuGFw@v zDqM+8Exdnh+10GOd2tVmIkXikqMJPP77A&K>fHD_+3NqqS>@%~OIsd^Y88v<omW1# z{LPQ0-(ocE+s$pBzTEt-B7)Uk@TEVa#FnZva`vq8Z+<bVbxY>_Eq}D8T4bh}e0!t` zPxH*j>WWeFM>St~{gIli-uRj~IoQk4!lL8g!GnszZElMV*R)z&FQ4@Kz|7>$H+i~` zzS{JpYOh?>TCu9Vay*AU&V^b`j`-SJ5L9(k<YYjsc)3wyP}jjm#u;bQX0Z9{&0H$c z*66pqIc|Ns-}2(yaTb~zotLfJ5Ny0W#i+~e>7sQX8Mtc&^Yb=~Ue{=t6j(VUK1w=Z zT2*~(=g}m`@^bTY^DLW}EmJcwn|EYqar(uJ*ZS72(~DSpZ9)D8!^p@Tuix#SFlm;Q zV0P}-2txylhHKZtKr_AS{_|XdgN38cnJ?bES9b2)xi4P7e#|Z1%U0;7EF>&Ean`i9 zo{7p6r%r7>6FAeu-`_nZMrKP??hnQU7S|?^rE)w^zb=?^C~4z@<-4VypPzqx=H>JY z6`KUp{pLG*7aLnySzWk#m38yYGr!|PLPS6YPMXyvD5*SQ>eODtWVhs$G&Lb%;lrmM z@p67h4pgwUW4+A1I`DeMfs<h^oRJ(;ns?sJU3@)b<BlS|O_$viXY9Ct^=j+h>TgMx zkM-WzTP@xvYum;xEBoU8`}UJLWf98`-a9cRNTg4`KmJaYw}rQBfLGzd$4q>(RxPpC z<%`zknfJ-qH9h<M{NnZN?f?GOd4AtKW7)dPF9k$JTU%OKdQP5ldfCFMp|9`$vV~J( zq9Ie&+<Vis&5s=1u=%o?`a}n|X2zqcs*1+<_5QFhdF8~JOg`B&ZCcuux9bj{n`^ys z{XRK$zc~)>)z)lmY!z{GnszB`quLS$WMz35U+f4>KDJ=X77<ZVQH}L$9FBDeUXbQl zG_NyY3r9Q4pPZ{Rawjji{%YfnBt5$upG?oiS@0)@Zt`HVU3ho4gm8amYpBAv|5NS> zi0j21*d<?gz&yUTS9iAg;<ame#a3V4%5^8eFk{Bt-yA1%j2>QCc=*T5<MJCbFRQ(| zyO~|~?OTIroxJeyp6xr<&pew}QeM7z^=j_resd2!^PLUyd*RNVGfXOt($3H9-SnwQ zB01Ulme9>DnZj~^{>m#o;yTyTnfl}QWPc?^LqnCyiA{@MJBhz4dw+~S`+CyvZ*MJX zei;0!s!kN$adYoeK_`wiVcJ#I)fX>cZZ3X)F7bMwY{mPz<r9p{bXH|&8I<3%2?+^P z(9`q#BB3^AkEnCXPfO$J0RbXCXB=Jq4ENo*%X8C7&UpsM#;5FaVr?XakBL}3bM#|) zVl)S|5J)%r!@b?_AMQ5IzHs%bYD3~wriBL&I)Wm=Jifkn>;3xv<l}t@4;9K*GMUGV z8hB~``t>Vdf4Tmv@9&Ntm#^#43|{`|QS0=CUteB!_<L}8CMFw3U$}Pd*`qLS_g5M3 zIXw0CmWs&A%7Vi0<Jal&mQ!NnJcRC7`u#AUF8=%X?~5Dq<-fhZ->+}?n<sd=@8Lz> z;)z+gx{n?`aw_9(zZdDvDU|$Z<AxfsYj0xtCm&5RzOH=fQL^NfvWxX)A4ObV@=TC^ zyR+xs_1o=NSBE{^8XkXi;^B6|M;l!d7wr*nZ+gu9`}^a?{Pu^Q&#&(b_Vry5mL0%s zsj)O8GxK2j{JO6Bb$<jmKRa`5s`vDyPg686y#A`l-k_zK{`KqkuaA$*Uw`<R-~Lel z>uU>Fuhw4SXmKUW)!Uof?&k~TKVKgA&#=yyTestrm(MI4O_lSk?R73k#D48eIAr2; zcKwlEf1`7s_9^A84>CJ))z9?tDTB=`+LQyH-siEkwXJyBD*o|OxBjBVd+%Pn_<=(^ zDC|N>Ny&rB{r1OReGf~FueH?)dp$wL^cmMyZdvgUAKT><Z(qyZ@u%zb#y_*N4bslc z*s$Ag!KCjsC$cW{^8WsKZ}<BLpZ)Efi;Fj(em*s>K5mO;!?$l`d-i9EZp*pXvou`y z=%>}|kDWMkX2K_r76zHyN%E6>J7>h&aN57S-xct&`qVCqzNW3)<{NjdnkY0qr9Mb# z!{y)|pxFL!iCh2C&-D4F84U~}4<<YQc(d|$^Y!>@-uRktl2z5!b3J=4{}`!A-`+O0 zVAV>_^EQ8ZzP-&p@YVcI!_3WTx41l3Ge{Jg7#K91xBJVJzyGIN*}EHxyN(@<D$kRD zldmo<{qcPLAK~B9-yZLhUgxf>{_|MC=f@M8=imLn?97oS;_FoQs@>vVQI-emmLl$? z=6Qjhk~4yBB%|6GLmzmq71It|AJscOzDn@!-Mfo?R!*w_{OhQA{DY_B@kjb(t(}Z_ zO}a5fv-@Vx*88>XkB|2!9$guqaP!mCj;^jCal@t;e|~<hc)a!c$7j;{3)XJEy0B*A zf|JIXvOTxA-%L3a9$(j)e7x`BwCMbUsng@%b#Tevn<if<<>ET?vBA~_LdT>1EZ<#Z zvHlhu>87aAaxgXYv!P+NO~3DxJva8({x;k5@m6+5es;L&Uxu|dW&eKt{{8V>bpGR` z;&Bea!IKXkm3(#W%E!gWKWyJ`*SPIk*qtp&tU?wC4YcxG<n1?=Jo%7l^Zm@`A3qlN z8yFZQe3lE`U!0<$7p%F|qU3|Zzvt)wH$QtOcBkNRufZ|N%JZT*btz6sMQ@h!EGl6; zqdk`^Ii$yT#|BoV<}D5fXZ+Dv%V*rRYT@M<GEuu~88$VPm4}<(t9~9UV^t9_Rm_M( z%1d+C?%f~XT=su_QhnZmmCMwmw_Cl^ZL@1A*|Pod%jNTq{kQvBzGcgn5Ay<b_Y2GI zIT5@3?(VXO_5Z%4uZi2r)!f`{Ca1EHv&QM?l}mSemd~%^^0)swMK>v|fH&zzqkKp3 z3?J<kE-zoys6PozmB?IS_V>#osgPUTKZSlz<+o&gv8-46<K6A|SIye%bLH;cUh#R= zeCKU{%jm`I5HNfEtjTz(2=m{+6@Ry0|M2C%ZEKm?56`6=7SFXVf0SQe%M@S#*K|$T z>igjmZ6*Gtr4N^i#~(31Z`0e?*QY4WE}SJiS!#OEPvK>bFJ<)a6nsf&WMMq`=Fv$H zqf_;U(}KG0-HWUFdUd+<sep+twR`tg{EL+S@b%l5mc3h3q-2iF&fn8GJ+6XrukGGd zO(JPqmapTh|9^XO#P`GeiM3_^9FFzz@^Q64MfZHT^ZCWQcVP$nuf{!_el4lQt8J0g z$AFwaht3qvm=(V;;x{|L%z?JA(lS$*hJK2lxFJHP;`Q3?A5MAeTQ=y&G&Y_7+|0~e z@pfwX##ejGV|Cf5I(4z{?7DVQ+5N+n|F*5A_J0(1t$TQ4GAJP4UJVB&+5;vTLbdN6 zvet>5IDO(E&pBBO)mFz19)}G;<GEdK&$Ntl!?d^M-|n0CEbXh<ZXT!Sm;3DxcAvNH zKX>k&;&a)Zdu3x|V=I0xoem0o%XyJYFFbP8+q!Mrqt@s1kDJHWihlYTUAuJMIln!B z9(n(GGTFcF<;?jFJW;Y@Q_s6~83vYpuJe#+XDSSI^Es>E?zXtcxjdmjp!(IToRy0; zLf4zHD3p}FyU`dPSH+orex7X9zQ7Nb{&OrE&Eu+h)%)bb#qC;7rWieZYkvPo`}=x< z!tW+G|CYUb6S?QlqwX8KQoFh87z`F~kedAYlw+zvYkODXoaALYmgHEe^=KBkY&+%q zHaFLz=t;+tZ!0F1&nnB#){d+HYI+6Ks#*HH^V<6O{?PYpn{MWWDcd`raZ0buJA3{9 zgR|!MMAothah^YUY2UA^J>O2Pwy6KNhpW!;m&O&b5U0}_3G0Q0FR-x3cLcJZF>G<n zbrgNHC|PEv!xK60VsCE!wG*XIJg{bnS{qjL;~)EvPp9>jr8pw)ZHUqVW!4RahuuOm zxh&gQK&>hBxO&;=Z{#{W?p(gp@#Ou!zhd%h>g2_`Q!AR~9SRC>@;pgP*;wBu`*~A{ z?K+XkpHAiI3#P7nJKw%su6FO<RTnr8yt*B{oqcuq+CvWY^-rS3zs+AhYu1N@udeE) z&(`AAo#~@i^Wop`8=ERWZ}9MT=WwjAx4&2YJvQh5w%i%b@(U#<8wnY6t*+ho+I)%l z1WoRmbNkZ8t|sLCl5pLfo1I-MwsgwM2YRAEt%Ke+{rgu}^Wz}9Ma6@LHBsB9SWo=5 zfzK-{MdZM)($^bK=KWnM$6R^M{6g*a+}mL_zfP(<Zf<g7W$2f;ZsWiApJ8vAYn-RQ z%ZaNqAEYh6Y#^nxZbo<iw)*a8=fc*j<*!(4tCaAh=ZJ~Vso5)bJiK-J?&B1ZnXknH zy&NUjc#^rV8A|Y+no`9ipdB>9RANi*@3NY|SHrt9Z|cpyv2Knb5A)uG49D(0Kkz_d zjac_*DW>HTE0mHKi^#rx`{U8)^M<9jOpY8q-a2RU(cr7q`zx(3WQkwdYHK-f<M!?1 z^0glpK04^pXZQA=MqA>63=@MJ-ieW#M;{zuSQDnb=37v#SJc8c75kz$vx&!+2tGSA zd$r8{cBLO5jUESgO}hAVhQTt1``7Zf6iQFk+hB3!z;V`sZ|9FrEjCbH-(;F5T73W8 zmoF!x6lWJaD|@q}aK%g$PF7Y{4<9d=oHc?{yvoLpZ~yA)>vYS?$_kjCw_v|~eBD3R zb8~H1Tj(3|G*7t_(j#v#_mh?N#L1J6URhctR=OHnQ>R!~KjYz(vuSAiRclfAh~+%* z>K26sQywj!Uw3HR+GvCHcQH@bof2?Ze);F$(w#qM&-M;leD&8>)vZ=@lU9nCzrEAC zHTyc7>&y!;OHRm`axE2BTd-k+z|6%)g7WhG0?|cZu1yP*v8@te|Mvd)zc#il+qYXc z1ZZaE<{o`MzqW1G$;k;OQlgK4UtqR>rzF^P<c5Wg&ivM|?BxjuOe|8wuhcT~Oj}gK z=A*r$DQ-FQ(m8*sxh7oA3SDydC%4#xZPxD`UbY0iD6w*VR<F^l!=ZR%d%pa&zaN^F zq<dED_Mbj`w2775Ao-e($aE29H8nP=-eXJsS6}6te6nS8`nd<k=hq#YKEJ*(H+uV_ zBfGYWF8H?1Y|Y;~-DT%zJk)5?Ht*HfJGQ?5cl7<rsW<LidcQvEY<C7<N$j#~*OJcN z*;%)?(kn|VDJdx>`~W*U`^UGlOt<~s#r0{A+hRx8R8_rQKazZA+wtDCw7l^8Yl1}h z(rY<pi<j?~E-fvM_<q=`W_KE|l>eLnkva9hKDu9dd+)4vqsY%`^DoFSfQIJQOqpm= zv(E5KLqAvJ`IY>B`fHrd?%<SZHrsP9IOy`Fg1fxe7jIe>6zDy>Ag20YOgz_tB(vnZ z{PqvNtPI}NZ24Qp(9kfV=B7|g?OD?q0b$RguHJfAmbCx40S^xwbJ4Lr*RV3PXXj=% ze-Gc^zx`g#Wx=1zTMpdZk!af|W7)K5k&^2*C2MPG^E)Mr<L|$H_3F^FUg=audnXQ# z!wX6dvD~S+?3?iCOOnRH<?j752l=zFYi*LhVP@>scLdb@o9aDXN!$8#^6#j%Vw|0w zGYpH>mif%>+WGm}qqp1d9WsxvecNL^A(C&)mMsZ)`Cl7keoD#MdMokKHxa>rN=eIz z5IgDrKYo?AggnyY`>^p)cW<d8gW6MHm#CVe3vN2*%_{2Zist6#8Vx2QT)d1Iu3c-> zoxS};n&szBSC~D#eUElU=N&Y?9@l+jiOcr$n&0FUS!OPFd)T-8-H{g;7k~T`?Eg`# zOkn1!Mh1t+oo+cd_snFkD_XyC|Kn6{Het!@^8^|UT&~=bl!~37bo*Ma#nmfIZp@nz z5Y`r*w_B83T=$V?;=M1fnyr4z4_~<z_2lVOW%YEOxZ0no?n^evJT4WvyG-PD{Vz`Y z{qLTiICU=Uh_>*daM=ho)dY@%siDP&T9qy*nC4ITWK?9Zcf+Z`sTaN}?@3Z+XZL*} zFX6C6XsO8WSFbnb-?wvZ@%8fJdiUq)-H4CfqH>Mrg<qCf#grX=y5sls{YO?@Tr9d% zJIieL#?sGXUv3o7TqWXS>CRDARkb1UFk9qWO}+Ku*RMRVult;>6SwJz{)5LsQB_j! z_Wahn^Y?VTlAWUC#Nro^kM}2^pJ&^3wz8vnez8-rd&)wa>OID{xnEp}Y@G66`{~Nb z+v1l$nYvhM`IWG39#1L{HJ+Pq-~aaZw$DayGz#sG&pn(l?|<alus8R%a@#g#eJ=_q z@!_c}JgvLq-LBV6tD?@ziXS$J*zzMNrv5Q+S7_?`)vKM8lapQ2w{eDMWo0=v#|loq z%{_7Y{C?|qyM!+<^DmDK&;K?@Lf^&R{c)S9dGb;HumcIt-FJS|S7fQ(yZ6SnQfVKx z%O8rXg{p6;ur^*4=w50no)~*rEat`QO`fL}cO7?EQM_gL;75jX7Wb+*4__Y<d?x9) zs3oXt-n+a#KmL4v@%H7xE16q8e0@u8*H4-(xi!kg-JM-^j?@O%uy^;io-Um3wa$)H zF{0$<(jCukWiK$7V5*Z_r|q%&>Z4Vur#Iy1+uHqoBK%WyUh(sQ?b+sCU0qJcWG!?$ zn0`x375uwnd2?OS2K&d49~XY^65aDauKw49Pm11wY|QI+|Ero~Qz<0Brtbd7eKF@Z zEMLbb`}VDeyyE`r`cKaP*>R9Tcyrf;sk1t5)%kBYv`%^;6&!c9cgxi`v+WaS2_HCY zaMq;yM@_>2I-7qtk|iciY}|4s<j9d@HzcF~{Z6}_e(p%G`P~%}TNJ<Vj5z)6#l_@J zO!5ppr_UbUYQI~|^W@1-O<Eip8bLup1y?tv-q@AOeQvI``s$<vqnR6ukMqS;UJZKj zwd(3GZlRfH)J)!FA2@KJ!RCQuhwee!!wDB39gQgZnYxK_vVnuHs;TJpe}A6e*qy#! z*|Q~v>($C-YIE#rt7bIGr$6rZl50G@>RICdm&yi_XXFw+I3E;?{x)0PS9<W3NtBQN zmZu+kM5JUS4xAKLFZgtXvwiE@BWso~U8-4@>fCc~j$Jditn8k%GAj}iB-lQSpK-r= zq|+;hiCzAh&%74P&(9vt-F~m=b=D`>8yi1gxNxCi+cmS4o-++z2NyOrGRoK%xom4; z(^;L;cj^eJ7qvtGIe&bG^V6qKBZ_XOR($GI&zYK<!gT#xAD@hE6_4=g)2aJY<iqNC zog{qp*SOXA%#r15X0Ks+bWm5M;VNIPh{MMhHa^;GHbpKKbU3tGJ~b=o!+Lg&%-n*; zM@Kpz_nCM#emQN+FFSK)XXR&ci#vxu%}=~_OhQz&wes_GMMXu&5*?@O;`wtJBzoDb z=JH)MH0&^y5}ZGw0aO*AIpb1NVsh)&tq>P3rP8vpM_*oE-cu{CG2fV{dFSV63->IF z`S>y0MC#03bN<MiH#cp|Hk@7fDMeXFtou#1W{!^iwM|-bQ`=dWUjA_I*m;?->650( zZLfTEG<?~UaHVn=Gmg-L97h(roo0*mYc=okM<0B6=B2U0%(I);UHb9yabQHmiU&XD z&av3IM`mei>Ww{x$|Y5{U#e`kNb&NpF>kSw{ZeJy<EGr>rkvF4CXt++*kgQ1LcIOP zjELv2-ISBwzL(@-li*=XNl97ZI<eU!H#hgiix(4e^#z;~Or#8xkMT&nVGJ*NXP6hQ zqtSa>wp}xL*@GV&lNlLB-|rGwYH_ndNUWPxs@E-SwQ0?rd1VVl*P17keN5T2{V8{Z zPFU)LR<A$r*k*8YTzVXAQ2j^c_{|<IE2rCMRi0N$GGuIt^3l+C_Q@%Tx##KW`Qz%| z?+HIYJ?-f0boB8tS+r=8ptN-JiWM0Wi+C=)EJ=`Hi&`rdwN{MhaK-#2pJy@~wLF8v z)77hX?M@Ya7kTrhM10Je9YrTkrR|OD?-Uh{*qasVaNV>+VSaA5H@8k2w?eUo!;gr% zZ;Li8aLBDwRqNG0e9U>b#mPwKp5-Den>W}M=YJ93cK_7Iqcg$+j$XVF$`xuf`)o#b z{^ZinuS=|+Jb%uv>oqA+A|y1FG4xWh5S#i6ku0OLZsJyY77WgM3r?Lp>6nzX$axQ| zv&z%w&lMF71<x{yEEWCqx|Lh@#oM>8B|cl$d=|D#ulvT~%%xzfDC(W9*W|do*l7yS z@92tk?h3Wn)K%uXwM({|UdS%>^9T_%C^>jO#VNnMe+|>Y43ngkv}MW7Y>(H;C?0uw zXt%+f*c_ch*DLB*m;Y(vs+kg0Qd)j`o<Y@>7Z>@at2ZrSSh{rS?m5oCk6xCU_vXF4 z!~ceQQ?r$;bA{_39A{NwW4ZcRO~F*}<k`hP&755>^a}{s2439}q_c94^_HzHp`S8? zznl))GEFq4&`tT#qaMfjY9$5}|E8nCp(08jcX=6U>&pC-lz1_H@82s|M2=fVZqTr@ z;wmgG+;r~zfddR|7BiRq`J8g$1FQY1+p|PiC6fzXzq;<bZ@GBg|2<pZE%8`=F~RR+ zN{Y&|RlBWxOx_(l=veZ-<n*m=VXIr+7IV&;eevL-CLWuh|8L~Wth`rjIqp(AmF@bc z*YDm<D?L|gb@#%RV=64S6qwgt`IBWL6|*ZtFzn7ACe4$Y>wcTg(Xmf&EMb}(*8Y-p zYDMAO-7lnNKEy>i#N9WSeqpqCgV)`Q50_M)KEZzHjQA9`i%E+_Z1?W{@#nJt#e4Vo zlGj`;Jlb?ILqJ-Zd9Ppo|JjX(*Er_-JwLE}#R`q(sSXVq&LSpKY$Dqdq#oWim^x)M z)6;WvTo`94Z{gZw{<~X%srg`obpD1=K|$;G>us-{gS|i_JZWOShr&zk`8qEoOV6>~ z$M)3nD98WPyoa4H1b8jH`cgnxSUa0FZ}n9!?X7HIE3Izb`f#ZD{No!J7uSeS?_gVZ zF{5H)#Knsj``!zD%U>%N7#Il7EbsPIY8}=%)2<`g`)Su{c6Ro{g^QUFig|^t4&C;c z<y{PC>i+EvFWwd3Do9&!WrxZcja6l=_EJ30ww4O7?LYSBWAK7Rlf-Fziz~S0+7eUz z`R-o5+q-Vvx&?OL#l^<AZrw^Sn=NbU6)E+=rMhTs@VBk!xW!#q3u~O3j02ohTYJjt z_U>D;LL<_#iy_1AKF{QvN3@;Rnv|B7J!+b}{>h>lGbCKO*xO5=MR6_Iwt!1@@u#~{ zm5uXWcAB1<w|z>gC}_Ua)I#A5OMlpESD&1m1LZ+GCT7OQ##+?A+OkO0prz!?iNJe* z4Hg!NGR-%So4R9%#ge5<S3a-f(oVQ@|MBC;2Mv1G6xaRvQTXNS*UFe`%atova>^Pt z$A^?mQ3~}rB=v`*VbPhw6}l_FaQ%3~;1Io(Gu?1$W@~6izuB!xYgY!&OI%!-Z6c+j zrg~EAgpZmqpRCP^)BdZLTriw{HY4N4^NyC{@~Mt5*d|rUZ+IHvyWu{6uxBJg%KxLs zk1M+!t2vNkyQet)JX@}R<l3++*RL<$y*qlE+08OxVIk3vE-ku0Hb#dX&M>gte`ntN z;7YZn375-)dc5VEy-%k*pU${4S0+tr`@w_*9fB`6-K*a;<Lr&S+0%7q-<RHX;bLR$ z*WW3=-@G{-!^);TF52RCaAC_4mm^1ypI&Al=v46SO=Ql!J&}d0`=9Q8_b%_vjcu}F zl1#ZWe|$KM+|o3PQk8Sg|Iw&^!Ilu`sVg@9{IO_hyGCQZDJQlwC@t{jIM~E_Ilx5A z{KeF%O~wbyraSwXT)Lbq9zOM4%%r)Kg+os38yAa|Sj8TQe6jQGyW89OdB6TPsC*^z zblTB-*XP+*U$}7L!Hal4h7=R2Cr_U`FTS`Uu16uLsL1HjrOOv99<}7;&SGQ#_;>sL zhm%^lC(fFs75!95Z-4Rm?(I4Enj(rd#9(Uy-rnARnrju0qJ*&;chuUjvO1pV56Wc> zDk2@dUB|Bc;o7tPW$}!)T<za)t#>;rwa9RDhLFS|m$Vt&iZe{B#l-X@n>bU2Crp^J zLgvTKyC<sl+GR9~O$ka#PgT^ilDccevT}pdgFicqLE|lfagm(Oj{3i6M810e{`mL% zwf*bP`Q2oZO3?O;3JH0#WBm%IgaQpSGqK3X<PFKU%_4uM-oCc>$G_X}H@um(TDHjR zTd68b?A*COUY*vzc=4WI_V0@qFP=DgGSKB)OX(K%!bJ+8e$CSxK{=Ltq+2$0Ug(&g z?Rh6+jv2!m-8C-0d6EoVUY;&bKP{P}WUep1f7f?8cUfIa)-~1(*PVDaCE_t?a?i(S z3hSR8pEp07oo`TmF6YcF+vs~fzrMA+oD!6Ce;e=pb&<-iV*<S<8WyR1`t&)(gv;pV z*QzH^pPruAy><6)>G$j7dOM#!)zHwHP}{#T`R}W4{f*CN=cmY8FBS3h^gMCuTu{on znI4JrHfAn1T)SXWbNN2qHMUC^vUCI<uWxvJ=*gQ$D?7TowstPz2=3!l)X>yD_~TL1 z(Z+lYP1{<QO`A8T+6!A2|1!B(_gUA()Ra}`>&erXlAiD1cFk-}UB2kKd6vq*cZrLL zDe2nAx-M3{QM^>xOEBO5`{c>na_@FskFOP#efw5#9#?#2@Ehys?KwxK*YAI~!%BJi zrs>9IYm`FoD6{>!5wt0oTWiA1DSTPme?QsqCFkv7##+#XqD;1Stjmq>%FGfnJ-!@| z9zCj9*Ot)Y#m=0tGa;|XILYZIi-D2+vS6=|Z@1rn^mKZhlY4dhk_#W&eVUsqzRxZH zaCLh8DZ8|`#DK7{wiholM0=b1>m;Vn?lz2!-1OGeeS+N5ivNGVe|)9Ae$o2v=ks3& zy|HHJmpQ_H-nQMgwDi-v`08a#K6P=asHkWt)z9E~D9v!-${(&PJ=(?3^uJ89oHK2a z_;f{%farkEizg-f92|u*uP@Yat&ZNkwk>SJmbgTYIs=A)#TOUsS;S;`@#3cYr#DCG zRJ`sr|M<rE{DQ4pL&XZDUc5hkJAZHM^!O^zYfJ9DDPF#8*`iIWf^45lFS4CJZCcx_ zS6Qy70=|Cz_UP#I`Nub(w`nfxW0mMgijI%(umAJ@|D)Tc*(xbn32eSjNlaR+SBXsK z^lACP%iys5>cVXcxB{!b-xR8u?~~rT|H%!OGxH5(t=67noFX!@u`b4U<GOWxv(591 zPD%-7hFB#sadB~pY+UsF_pcA9y!9V;?*Aj&&L_vivEp`A^v64!&p(u}{~y1_#9Z4* z{Bd{p#Od?bGhGyz=(qgvlUpl0y8EZc-q`FZF|YPlrp?Fc`yV`LWd2tz@1wTnXBzLn zA1{(Yb*<=UE>SVjg-e!1Z2Wo6jp?$*q&VgsTawJ~-TorEP5y57{{H7WX0Pq-1KTC{ zB^=`MIjOyUt7b<13Uj{j?$70)H{7?sdZoqw@5lWc6aTXH$j7&A`BD<srMT2%{q@Be ze=2SY|Ml9*6BHb5n0YGY&7G~>SF)yt-eA~Pr1O5yS1~?$yO!0{bPvz5ES@-N)}i17 zEr*(`<t|^p-L4zG?ZMyB)f+&0(856Dvxoru|1)z;wI4*~XtBD1rjB)Wj~?TdPT4!_ zz_!cx@Aq%NS0T*)P5!{8)bPY}cXoPsdOnmb+_1^_#B{N4)^>jRW9ss?J^gln1k(NH zhq+{`v^cE3oOtZa%sv+pFP4L@EI$h0|523`4lvDQDwA2y{&dbUR<3{+2B}2{*L<8T zu(qGe^7@2}65MnBp08k&U17k|0GgmY@b7O&S69=$gn%t(61TG*0|oy**Z==mgKPDc zOG~b18CIW*srhlReG}^hj>^MXTa#Wt)4j31T;A^Ai{vwNOofF{pPo21b+^wsQJb*U zqI2iYwJ82&^6lN-ZeMA0&`3#!UHv^ph9_a$G?q%3R+*^z&s>wHDV5~q=XdN*<>w8# zx6OEN8Gk=9_sD^yjR~)(>D~yB@AtR+cjQ>Vu)30Zy3QlvN3y@?1aVz{pb!-mRq)_| zBdGj(UH?mvo&UpTiIXSW-<+Q_M+Q{D1<n+foF@Og!~bwbLF!qin(+OC?dN5ib*`U( zyIpNnvA3b>ejAnN3TkR$6L%X-3HtK&t7Q?37iYyziT!)m>Sp+*Y&$<`QqmQ_*=_t` z>%)8|FP*Yz`EqILx?h~pX1PvIPE1B_eMdS3l?Ad*oE9f0Y`yhrm#O*u<3Be)zi{uK z+y<k^XMaev9Xu1c*+9=c+;zU9T3ez)`MsE$UnkXXY%N~y#K(X8-rKitkG6e%y|MIj z+L5Ejldr4@^zirJ9y%j|gN>d2;>AM7=jY}fy}3F4;`Q67*=-l~obOJQI5Xc~{wG)b z&Q5{T{5h|<85}CVRru&?9Di7RJmuuqB=2lD!^JDqQn;@zTej3``Ss+41P3wsJr|xT zopD-!q>ZOcDRtZV7c(SuVzvmpzP4_vs>M-RhE4AlZ`)?JW!ttzb?@Wqc8c8=Z({nj zX6p2L^ZHo1#T?dOUmX_D5fD~prWd<M;`gi9h87kpUd$4>aqh#dTemJ;yY-4G!|CVC z2gx%V`*(jo{`A?SNv_=sw#q-%`1)s};M<o!GXM7*%!rHV{qf?!r`n=ehnbx(SLm)_ zaW+w$d0NM|mL(}US#-C8-ZYNLM!z<dk`93;&ERE82VKQ0Lm3ao%T4k!IorEKrQyY0 zFV$!B-WFebb5mpenh9TbhJKpwFVS{Tm0LXN(iBa{z5kfaU&_QDTXjKVOO!6C7EfYj zj#c9NbEM_-oJT7)B<IQ(SnFIB3t6PJoTcwinxdQLO3f1|PE7ckqi|_0!@33ioxKM^ z^Y3qV6gq4DXgTEYvJ{j|#p26mR&CdBc_P8kb4I3fX}GSdQ&LjFyBki8PWS727VcWc z=B>B?%*5z0&wJ@gQ#*SC4QIqfye&V<`pwCDsmR4D<}{J32NoDBgak*ZtEw(sup!{; zy}uVL-iE|QHfm4TYt5Un<G+a%ub6&Z&n!<<E#sCML2euekBZ0lEDeucnsLGXgpF~- zk|`oO`+sGnq^GklJ>S7<-)0aIRm^#8S^q~*4y%}eD>JXBMkSg)o8rg&(nc?8t(fp> zbw25XYgq)cwnW8j&5?YjKSMuD*6r5kY2hIcK54HniJ2UzxrM<%%StLdzM6NL&s?dC z=TB-Son9B$*V-+{=3D2g@#ChNzOAC<)0>ZDoeu9@=limAo9tI1Cxg8kq+S-DJZSly z%V9=nczE)c7Z+DOeg1e);dSF$7puHIFV&_@nd0)q#)_*&P4(fd`LW%9nrf!oE)056 zq5A3b=fcnWVG8MQZgkwcE*@WF2paj45Lt1<?#zMnX<Ls<E!w!{S(3`pW7TJK=7=*e z^_-V!ztz;Wq2kq=H#t7D?R-D(sut8Pcw@hM)#}2_U7~$0yC$lXa425LFo~%9dNpE8 z#zd})M2F33=Z~G$4pXqSl<YA1v$<L!@840b9w}3;6|wFcrfkW5@o{m{L~Etl;Zqx@ zYtEO>RA2Ph@7#Kai!1hQcwo6VuAh}#?+{1prUmX+8*2_2@aXM+RCK54_1bOL{&TXq zCNi{$#};ws?fA&%!mgOy@6}kXY$C-wExy<^FKQ!`;YLG2=7uRjPo6)2{LT8k%T(Lt zE4k_z56?3$%XCSyTDN8=hgGlb-|75wgvCX>J$DK(<W%-vRTadm7rTjt=kSSnYbq@` zWT%x_$=22VE!~lMl*?TuMTOzP6V2d)*SXsjjZZ{v^J;8da4_M3uXf(Cv)k`9y|^JU zPe^{<0rRvo5_c-U$3_%fWV)Wt$0Xpk?CJ9rXVaSxdaIpt34CU;ev6J?L)i0aiH<K# ze&1dFp`xVuU_<KZ=?kkasf1RsXcQzRB^4Z>TmInM?R<W(xM0^--W<<8`MW>!O$ndU z9koZRbz6{_xOn^Ry#2h}?^J0gB_$u8C0=~2@96*C-{o|6zA@tbxjL$D6GNg`jMB0v z;TC!acQf1GX!KisF~KX&GHLOfsCtR3Z%*rL95}0;CpXDDd!kxNQm@;cqT6eCyzR4| zFk^<qr(0V@rcR&!cwYTZ@y%&xi?Tni61nwSN?bhs@$uXF?nyyG5o_nJRWJ?+3TmqV z|Fu5h<)&2Us$S(!2m5b%$?C40(=EukGEVkG@Qt7)u~CN7CK**7dz`B8{rS1$@j7cm zHEr*ya*UHMW*m_%zt>p(|7*PLXU(!S87`(t)^gwW-MDfq>d)=^KkU!W%+;=(8MpMp z_CFCfML~Xkw?p>(ztj5_x;O84zF4<>PN5-B^UKT2ADi$0tt+M%#p3pm$8Da6wayH7 zhj$%1Q~ERylz)|0ozZR8*cWA}x}WLsrOk8FTfWtlE!^iAv2gjtj146(LlY!;=T$$G zl(8z|2+;U?vp~S6ZG}cm{bODac|)f4`#y1P%enVPqfvybSnEu$S0Z;qRLxDHJA0B? zy}Z0bFLX25rChhr(&D;)zrfbWE$zY7>2cdWF21{o>*&<puC7CqPU|1;HNV&Lan6-g z=acQX9v-qexsh|no+`U*@^|_eCr50GcqAY#>G^U-R6u63ikCoGd!3Bqii=qrzN}j6 z;q85Nwf_Dl`Ri+oHT_=aZ4MCCsVqKaz@xYCNm7sO>}K<O70mPN{&4EW?09fZiu>80 zjj#PU4xTvU11hWjyxBEhSy$IL_5g>9+v0;w-Fi-beth?8{_@uR`FQ-rme0zf9$OQl zs&e+P$vJuU?9orz>ko#Wo~C#*Zoa-qhD5`B+eo8@D`cX(-dypKv8kSu{9JI|7AA&} z{<#ge{&?NCPSpCnv#H?Onn(%jG99}=514Cyom_5F_C-Ty&Lx#QUQBvoEnE$HpQB9b zZ0dgRzQ1tK9+}nmqg!QfZ%@9EvMIM>VwQy0Ir;6iTnbuNQlRy!pR(5-JQHc`x_SGG z*OK@CsIS=&6cEu7|Nq@~joB80pqcM)xwjLHW;e4}DCO02Dd^eBeSUWS_|@w%y|X+g zJH7k&(SX7J`Jt4hJx3OG-L&{|^z=HO)Z><W&o!)M6}^yMny9a`gQ>zNOzhpSr}~EJ z?`pS=$13l_Y25%`7c)t64AO&}LbN=tVy4UcV|HA|}I+s*VJPagXhJo%6~gXQb@ zDXWes)aYtyait2YCtX}R9kk|6!PYi5b~DFwXFbVYH=Wor(JVFpL(Apsd;INxUOCpE zws}R8ws?NW$Hf;jj)01gmyeFlFfP{<5)yK{)Nz4Nd0L~};)6@>bawQ1Ir`V@pMRHp z_RGhak2kESDRVj35VqR&WlK<xzFdFm>1oN&`($ryOlJRf<?6zfD>-fN-qric(0Wi< z>tpMQ8EbUz)E$?dVP0=n7xi6v-_Kv!Z&t5&FE8Kzs8-l%!h{J8oWkml7Io_#dSkiS z(8xGAc6p*t^0A(SZ_Dp>?)?1hVf$A52e(bLH{{>9`||ahR@z6wYN-=bwuFR)h9(|7 zDh_JhdieQmyML2Au+qXNfuB!3{pt<Q9ZPc5!t(!J61#oKkdISwg;aFck{c}@Wm7Xu zq<T(DH5*1IZ^-z#G$T9v@XX80FW$J(ae2Al;+;QjZbjX`aQANSyLWjre3vaS{BWai zXX3=8^Q@Ok^|Jl^`SZl-vxg6Pizj|x7kgtz9dp^+Tdj|e_b*<*T|BK@b;0J)YsL#N zW+e1<JLl!;sZH}ga^+U0#_Wi;DO09&u-Q6saCLWGxO`dJyPD^4!j%^n1ues+df8fC zT{SdxjyyU&E#dgLw>LJ_F_*o+)q3oh+n4WO4`yw>^`o`;h5oVjq-jdOMc0OP|M*ey zL|kOSrd3>*(|z1MGc|jT?byIEQK3ZQPC=<#&aH$GpXX*5zF*zHpnOBW@&t}!%leN^ zHvh*s)l&6a_os=fK1)_@ES`BUYwMvLv%^Un8=^GNh!qz|P7-kU+E_3*nn6NF#>Ly4 zn@`T7<JaEmix)05ESs!;@zR~1dH3RG_^8eBRSWP++!j$WaYxizu^u<(wQkIF{n|m} zWy_W;s;BF4b#ny<#WdadW22(3Zhh{{l5573Dz-0Q&K`CyvUI_c>#qexkGPz2-g;bf zsf2{Yft|(AH`K>7gE|DD&c>CM!5O)^TQ$?uHW%M7-eViJR;)$fMTymm5-W+vk0#8U z*Y{?QjEK1S;u0s#qR*cuOqp^dIO=fY|2Ebig%->V1-l;G<W-lcmd(3y{PMASvs})9 zzi-`dFgTKUYW0#J1qBWUv2NDp=H?e~-nh6|TSrCTzHsYS6Su7Rh1<8g=iQTw&<zt{ zdQnn!<k&H#YZBc@T3nVaS*D<=DfyA}qlbsb21aG|0*9x8Q)`}jb{_?;NGT~PS+I61 z?^<2mjNDw;@N)60UDcrVaNGMhlai7JrG>j&j<76QwoFM?RkYKyv!lPi-ETQ}cH9*{ z_cV!_GuphhpC^<jGe^u%U!y2?nQN7d=Eaa8Pe1dJk`j|eix;Q*TdkXSbk!4n`(wwB zDVdptZJE?0VPB|xXsM0aL$|}LzVW86w{1v>a#S@E3YL}R=yHFan0GSdx6-OZE~@si znn630I=`E$c6vPHPMpSHUb}M1Bnf-YpI&cjPfqC<e32@V)_Q-=EboUW3TH$ot)8$Z z(FD{czp+AM>x$)Go0=9#M0hqXR!^8L6sNWF2{(h+-*^1+?VH!gObhkb)c9g0o5ih_ zctLW)Tq~~dkn`<rD_j#oK^s2Wn0Z$l+dI9{w0fI&_GIPL876s5L60XHDk-`?Wt$4x z!Xf%cN$8(Lhi#8IizH{}j<i!tJ&e>8jx7k=8U{KzQ_3vEp}kPm+e?$}tlEn$QDRb8 zH;ceD%Kwqs-@NL<a?rjJ6Q7I<_lgbIr8p`=?}6<O3DUI(tDFjE9cs3DY1+8QKE!Hr z$o_{54tq{j=9>QTv?cqU`3Eb?c2-2@{5g1Q{lUEBv!91=ieLKEY3m=QDZhUGk}18{ z;;Q1SChVgo{H4m)M5?#KO1WC;Veaj12Qy3-ZQ69{V&8@*f%WzFTcUJJtiGEH+`e^d zL-uvOCCisDUb5uK>d&Ey)!#T@@oxexFuwGB>pO?)f&ziC)uKFy4<s14yxF-~J@E3C zD=mlH`4?~4AfW8t7qaD<Ov35H%uVXz-;eCSV`gP-y)pSXpNgvL!ZmAj7IfbWTP?b~ z{Qa?3Zt;N7P}ap4Ux=KG>uFu9m$WfrL+$Uf0I$H<SlylLnH9tGJSHAYC^*4U|NGtR z*N3mIjTRIYZC$lW%eA<j@ARE{6aCJfJzMeT<MF~TF9Por9+!>SQLymw-h&4n|NMPl zfBgIX`u^ST_epb$>rF{n_4fAm$H%1q*H@=YiC&%h^{;$r2&3xf5Cx7C3l=miXky~y zuwZGP<<hHGXf|u9;maF86MUwrr5W7ab}X**R%h|?j?FV3=<u=hG%+h_@pW)$h)s0V zShi@@J%0cDyH_o6xa|3>@?Obb`@o}Xi@#f@&)<9g-+N;pRSSz5xwp4HeE06&yP3l3 zejDokRvkKgIC4jUB3J7o=k%&iPduNUoqfDRP#JWRSy@@x{uOcC^Y5qq{Pc9nv}saz zL*BoAdzM|kreXj7|NkS8U;GxO*}%>(SMcG1<EG7<D}Q`Y^jbP;#|{fMzd0S7H-DCo za?j4n%E-t#aQCjPx3{;66mNX(SJBtk);^wFelPLkqoWa#k$>}Y=g*&iexY;wj*^!` zrKP1M@9)ihc({G?q)AHmrd$-<w0ZMP(`>Pe7cb`A+asy2zP$dn=JhLAK72ebU;OP& zq*?B*BP#+I&#T)zHSYZ3cK(f9wul^ma&>k1OuJeuq0W}v+uH;M1wYRIHa%?h)7$y` zQ?IX!-SY4Cw2H%JQ%^rVGuyoX;$rvzt2|F_&AvXvG+RtgPHxGvWwUImue|wl=7m66 zS=p5<S3dmxe*f~?XmcSUAs6SMz`%p=?(Wvq(t7lE`~7z%3$||CwkT}%%C&3Xe$bk^ zyZrqpkm@T}T%4Vmxm=I`R*jB|3Rr#h%9SgBqNlWZEq(OhU~@=l=*7kE{2#eQv$J2{ z|FUZKf0nN9?#NvwnxM3J?i}CJAkV-+LHB;Sqc?BP<P=u>lc;=P+BC7SwNb8BRaV~9 zbQ0g(*yy1mbm#6}PEO8)XV1Ph-+OuE+I4enDkr6$o>utnO{9&jZDB#df&~j2&YbaK zVrJ&#=YM~tG0Q|sN=j<Qx^@42^{T^GU%hhu`sFKEzW4<C#l^|J-}9Nz&dzR4++L~l z^z@wE+?N*@vkP@Dxor3&J0L#Z-_?~hYVEY@@9zTR<NJeF9yxoKcc#xZMeWbtzr8kC zMy>r;-u>&$x%d2B+S=M}e6pwdWUWt}J?pwO=;7b>-PY^l_MTcBz5T`Q?dvV9b22jp z+2?KDy7lDD^>OQ$@7pIg*RS1ap+IkNQISztSlEvrKO|yT+`4s3i;u0<>0)1%sfone zwQEiOyk3^MGv?mIo_GV3#>U2+8ygtw>+1^>cI@1_@cQeOt5+XBb&6}IPg~SlxAoVh zPijkSoHkAD<0~;~X=$C-z4OGxK=VA;U%$Mxlsjvy)Jz|>Qz@_fEO*BEd3$#US~8TD zmU^fN?J9YBsn71#hD7Gu+w;|xl$u<-#RR3Ly-Q0?B_$=@1h*yL-;yi6kZ;?zZ5bv~ zvu4kp=(Y51&wRJVnb-G6t)14^#+G6<vts$&4|4+e9~Mv7i#?KEz;il3D@*8QapOAC zFD?d$dV71fY}?jV{+#pw{^I9+*Vn}^Ub3V`-G83KM2{I(rCQ0ydK_1VC{6V``Y$gp zZ`snNOJn0X|1P}#dgIourd8qYRw03b2dBr^d8VbQJwD$5+`s;p@ZH_z%XjRU0opQ> zoc!6oTxZ+1OINO_oVsvvM~3&!OcSZaW|v-;thk!B_<hSZbJfKLb+cyAcKs`o$2!qN z1vDxZv~ow?U#rs6Qk%Lz5;J|;f>x$nT@@M;5piK}b@}3tN?#_owz6Kkb}i{QXAy@c zbK;(|mzP*OU6P($SQ?~hoPI9l(UHy!6RCT(-($bMxp}xp(in7#olqx>y1M$8D%;-P z-i)nLDngvsu3dZk?&syKttS6oJH;-{Yb)n3yP}r%JpGulqM908eSJL_H}}cYrw`x0 zJ^R|VuuYpc2d=()<ml0dZ{GOS)!D6FxiV&7jpW`q|CAJ!^?ScbEnK)TDe~;uvpF|6 zwQ`H=UAS=Jz=p)bGmO*u`1ttl>?-ZHt^Rgle|<e0pG=3-!UyN(TIbx~H@EotImL+{ z5;heE#m~+d&XnF+{ax?&_Wb8>Zf-U)H^00(Twl#^jz>()oQn&0=YE!X_wJp>RIkO1 zvu4je9slo>_@c#&C!S21V^=%t+O@F2xa#WaFIBeB&&^G~zAjcoL_}e#m!v@gL+~;m zMFoY1Rjah@{{2XvHEY&~@83Z-xVXB0JSLsLq5OSZpNyqbYU)yr?x2+_8X6s+pPx5Q zJ0tPz{QUk9t*4KUc7u8*UtU~n{(i5Tzq-2mqxsUMOJ!^-1hloa)6UH~>8-!FrL~nc zE-tR6rKQ77!Ps~*Gdo|w*H@t>R<e$cj!Tv-G03{2@ukXkwt4=uA0Hq0NEkMOW(vN( z3XO@4ooSLOq^YSH5fM@F?@wh=aImI^hJ)H<L2>cpO|0A}&YVekduywTipqy?xAT>! zdfnVrs%>5NCgIweNS_%7jeD!VZz_K7=hi24^6&5OI}08%ojZ4K&yPplH*VkFoPXc0 ztGk<%lk?%%>+$M3Iz8_Favv|c%O_@Md(XG4wW#}Jk(!$N<<-^hna1glo<BeS>FH_9 zx<3|Dy>0b>9?QSEyZicz_3D0ePRy|^zL2$5#-gC%a65l+OiYi{!Ug&F_xa4RnE2sC z!K&4(e?FP)pOKTZB>(=tl+@I~xH!Lp0)zGY|Lr=-p{K9kZ=8Pa!P~cI_f&rF=<Q`) zkbQlfi>s^R<dYhjnu({U>Bj7<nfdBf)|)qPI=Z@&UR_zaDA};ZZ~5aNA0NNDy}jSM z{N00>FHhdsm|XessQAe<XHuS?n(E@>^5Ng__sOZLNB7nK{_$*fe#OtH(<ROGVs>-J zg@uV#e|z)r+S=$9SF`Tiy(?)~V-dW}=i!^1n|0#%%~`cd>(#4QGYpg4Uc`K<vW<(2 z(}~>FGGT&%l$4Z*xA)@@4-enjUmw5b_-Xz9J_Q8^l9G~(_-raawQNp5uQdI%q-~YS z<>mhQ&)?+c=5E}&b?MTjtUF`$Hu-oh73y?3G+EvM#=ctX<9)J=*R0`DS664_lR2@( zbMle0;FTe7?(LmDS>1n8(8_}1;^Yqx4*JY8;pFG<FY|l<J;feecI)fwFIu!nLq|tN zTe~}Ov0Gqtw6~uhC@1mAT1|QMC`n8|?o6k!ItLfmp+kq7E-&{l{{1aCY<-;Ww9>Dy zLbbHCK79G|<k{KTDXFOspFKOaCG+x%HEW)nnQ5G~B|I|nq`Q3Wkv>`L4<A1sJa?`y zbaj}ZkkF;Pg=Zcg?~mM;BYAs!{_*?w<)x*iK~?)y?eK`rX}uGf&16{m<!qCVc8OY8 zSSU<BS@CY?^N#NB#mknp1uyq2e0D~1Nswmj?lRHW@87*UH$^k}#QF2-7Z<rcdG<_5 zM5M)S@xv!4Cr_C&Wkb<ZuPsr!J9qAk*;T@+t*tF3CADG0h6lUf?|Xch-~Pz8YhvQ! z;#}O^nORv%nwp$5ecb%~_@sK<K0ZGF_~FBYFE20m^!I=M^?H21`C)x+ZBQ78hleL6 zC-=TmbFrB@bLO7k?{+_V{`~S{cYcPtKOf!C&9Q85ZDsZJ^aPbe@^wEN=hyw>%+Ah! zQe-J9DJdc@E-WL{)7;EFzy6<PJHPz0@bz&STci5qY)@&g-{TY+DY@Klu8?xtTtD}~ zK*5<aXM)<U*I#RDYCin%@bHr-PdX+>yScH=oH;WhGV<b5Z}E+1O{I8Ohply5d=ZqT zySlmxN=lAgyg2cAzkKnpFPW=Wt%}%|BYF1h*`#|bmM(Seu?W!;1!cr{ccpvX4nI3P z8x#+^y1GAp{|=6dI(2ce`_8JbTJ`^b-`}`(>(fK6+)ti8+f@I*?#`VR&U|MW7)0_t zT^vL1RQ&m|aiUFI;0C|tkFTwbzH;@dproW{O3IRnc_*J1eW|kj`SWMa%}uP<*4As* ztkKZbeR^V|@|CMsKi*8AFZp$P-1_G~K0f~Q^L+iYcXxNQu(Ae5MR^q#8X6iJ+Ejh% z2wv{jxqS)u<oRdL`270%`g)&hMsDuYCnqN_S-SM$t5;nvN)NBB3{FW&xv<n*JSH|a zGcQl<_nM6x1v_1u!d5@MwKaRkjvXCS9_}iA9kH**lA*4yZpxG?1y4>0=H1zGP&~fI z(bbhz-EYo=KR-V|YWZ}mSNh4bXOCXLKHVXxTxU3SZ`M_<oSd8wA3r{PcXzjpRY`|+ z`MV8CN4ZjrB<I)t(gbZs($mwcsH&PYb?VWB&Fq@m+Q~OJrT!0;&b;^P1AA+4FRybu zpR3;V$#duWrlzX0va-hPt(tn_LV%N#(}@!&9vtZuw)y|(bIzR|6M3c0CQO;);^xLy zSy`DBsi&u>6T555mMtdB{O9{6Co7BV#R#m_a85~2FMe=<@z=Mvr>E&gd-(f5pX_g! zX}+5I#HmwB_xIHvIdWt}+1sdpKhM`2)%~f^i`jAD=H_(kHPNM|rn}4EryXwNT@$~5 zUQ-j3va;G#ub(d#_utrGZ-052@8X3E8@;FNUA%MW%tGh(6X(vQ9ctkO)vl$luNf9R zaNv`-^GQrxDA+10Eq(gc)zzTJc4cMdixR78da<V(nb|=Dg?xN`KC{hwXBwwpTJA5u zE@tN;fBU~Kv9Yo<XU@EF<A%i3Xx1y&t}VKlv0>AuLl-Y@jQwjO#ryl)+sBWNcKgh? zo4aL;$+!3S&#zv;&nq!e@#V{xN~+7QW^r<ICceJ5Hs{us&J7z3xVX7BwX_!P+BGZt z`nrd&U!SgizxVjPz15LBi<WvcmQT5yC4IG`vhw5C>+zc_Kc^i!e0b%G6$u|69DH+g zbGyI&Uy<tS>T~n$&!4ydpL3;dvbz7X1C7j}_OHLczuz1S$I42}_xu0bEq3d5Qk!g8 z|F4Em-VPKbGc1djd7PX&efs9w-(^zL(vh1|INAB-QeIzM>*DHK_~wS8k+Jc`mnBNA zwsn6hzP-JzehSoE3DFAOy(=U%v@_7h{Yr+94^Mo}M^^9YdZ`DSSbHQ4nOdD3{rvb! zOH1GWdiCI7vxu0OQT8>Rx*reO%ii5Nd1Ynr#FHuhckf*?+cfcH%AP-;POpjD+U43U z267o2pNvOst!?<an8X_!5^FvjWZ$u4$A#VH`TPEUiw2b@$9knX`S`?6YiemF-QJeV zQ1k2Ma!^9%l{OQQlJcsmvWkq1d}Jof&dwgTKJM(g*xep}e#<s(n)K&S&Eh$?FBd#M z#v2qITv$>9Y88TXnr2^n@cg-ZRFsssUW|gedi#|tA-l@opS!g++p^||LH+OB_Y2C( z(%#?O>-PA)J!A2c@9ZrG3)pxh8usts@6j2%vj{Zu%Em9(vv{$xdEOm|#TO?`o_x58 zm776BQ*+_Iee*VLGOGIaM)RE1@m}fnpp_~nCLv2KZk>y2eX(%m%1*o5UjnkSy;G-( zZcaPvq%<)gBqZg_o42>OXJ%wPxV1G~Cu)nwoWJH~W<~Gs*=~tid$N_Ek&zM9p8E0Y zm()`W7EoUkbaMN<cY3FyqociRYi(IsSu?gqfeP-tJ3AN;%(X5LSbf!|>WfEDgRHFV zOxtR+$H#gXFJ0Pt=T6L(EK_y=c}sTem?3SRmyny=JAJx%TwENFv{_H_^K+m|X^NL> zWo0D`JNxDR_5aI0oqk%RBE+eytDCg$@&ygM%1<p#O-ygzzV-C;6Dyw0$;k<-pMQUU z-)(8r>Eh($!((V@xZ-NouCljYfq{bl^K1@YzC8KJ5tnUwcTfF(zyJIMMP~{7x;=sC z-eg*_2uMnL*3{Ve`uhI(@uT4NHQh;*CUNlbE!(+MvbwrDDk|#8ANhvGi<K9<_aD1{ zeY#%kE&&0714p~X16PJ9>FQocJ9H}S@SO}-SJtCPkN)`e%c$&4#1t=8KR-VgH@Bjf zmsC%kKJEHf_?D)Dfxy<N-nDCWeSLi&u^ims=Tx_O<w{SJce%15o}Qd5SFQv#!eV1} z?ew4Q;SCHAKi(^CzG3rbWkbV>d3Sd`eEirsBjZJIamz9d+qr(nmwHbJ4L6wQ-C3}3 zp<|EK>sPNfY}q0bK0PWT;=!9YJ)1WhfBpK^?djC%(}Sa;y7uq4*VNS9v3s|$w6yp8 zdwX}*{k7tkw-Z_UBW`ci#5r?%wr(|TY;1g_btS%O(j*}*Ev=5Ou17nc&pUkc=FG&y zZJm?fxcAFlymIBpWOaWJ4-W-RP0m)QgC8Cqj@+In+uGV15*GI8(W9iYy0kx4KYso+ zOgO->E$^<En;V;X{yk7Vs_5LNFxBhmLH(&-u8T!QL|h^wB<}7iH9oo5{%ir)?`2lA z-fml3p`)WS!E5OwIqm%X{6ByGaBy)M-3rgJ*pO-@S^N8&s)E9Um2IvQ!YlT#wEF() zDz~+@^_@F+ZauYV`K~$DD<>z%qUwvr*RNkIDk==Juj%~y`no+tOV!YDqVH_8iBqSx zx+pE&v}w}G$?A`vKE0|p^Zm=0otrlsYfbH%Ge^eB$>~UXiIwcywQH4hZ%oq?lZm^X zad3)bX+c54$w{hTUS4ijcJJFz{M@gosHmW%#H4Dz0AtCP_R|H16F%e}en0OTJCkdA zVq#)Yy^rhMsI}LgaK$~`x$XB2mcJ7{RMhnUUVZ)5V`<QzKYu2iOc4<k4Gai4(7?#t z^CfWg)lJFA`9Ph&6BCs?`}>#g*)ykC+PqAoKWw#V=@wnptRLGy+!RSp@_3nlXUD`j zb7YqJ%yf!~kXY_FSIO3P?`6@m%WkdT%*?{0KD8}3ZHE0H)rwm?#Km5heDiUC(|q&i z%#YoR?Gvx2XJu(se|xiV+qP*NHW(Z_bjZb7VXD{5>+9vY#r2MyJ==ThR@A9erzDJ0 zIK=hi{-nz6a%t-C=Qo<!vuBUZrp=o<d3c`O*qHp~)z#H^H}BiG??j4`lao`#o(jXd zy1Ertv%I{#I{NzFeVCTHH?H4nsnIR<j4b{|E5CjC{@q<`s*tqw>Dl@FI-8rBLqkJX zglPTx{yyI&oAZ6`rzf0|k&zabmLIQ0=RbV(sHwfZ{o=AGCr)@IB_(-ydoSLzM@Cv& znvGvB$Eb*xheyTGFmOrk+_`f*`}&q`+cvGIho`2dhJ%CS!EyO|k<X=T*RGvoQP_0s zn46Qc^X;_?rmeqzRdscBNmv%CFthP2*tl`x<>mgtAt5bm*XjnX1U1jOxVToVTlehG z&(Hg3{=0hR3TS-4y`BB$&6|&otj@l^Zqer}ufI;2IyEpTsA=`;)feC2y>sWohYt@x z%^Hh>22NqMfQX0_OTDLW*tk*Az~I6Yu1CuiwY0iUobago^-}%Xn#g7srG?Sk^QKIj zHfiqMvlA4ZSFBj!pf_DuT>SWxlaqhG+x_0k<W%ggl7r{Z_n$fA(<f`~_Ws`9mFw55 ztE;y^pI<L$ZEc-mB*`ylqoA+P&&|z!ZjR+;#ic94R<B&K;=tXza}AS^UD%xNUsPOt zTla@hSUMMvXY|i0UaER}dLrWDljqIz^YY@Ft{<;vZ!ce6UA?RPeV$A3|EP-U>c=l$ zoH#q%98~*oa&o4mrWXGFRXS(RoDW~WE?u^aO<G#|)2B}-PMla!|NkGT27B}<Y0uuh zAHRJwOL97M?tD)@_aPq>EiJD2_;@aE?ulMYd1S3b#Kpyz1Zf^_=YRg-VDpmY%O}sD zudnAj{bb6LWy|b>zg)W($RlSn<Kf}<;ujYb)6UFj+`HFSYiif}eZN-SWsoyU;aKe6 z4{BGOnQJXxU0pqE_UwxpCTrsN%lZ4CFEe&-TsFrzz3)XtO-)V2&Z4KmPq%K_qGD+| zv!{or?Cq_iJByzman)V7Ze2@j>&y}@qnSMJ?(SaR-jVz3Y>Re+Qd8CUcW0lRob2i0 zap2s!z9makE?vI7a?KhQJ-xntwZCWe6o_!KUS94G8XLO2+}}9;oXiw2RbOA<knr%$ zNk_SYf`UK|#@E-@Ce^*Zx3~Jpv16YOaqCOWb-NV!rS$i=T+mR2+v0<lE={Wb{!UOp zpke-ec{4LJ78aI*cXuq~YQKignmzmI)0cCn{@zk9<;FDIEca2ne4WG6pup(p({n6~ zIXF2FUb++%b7XVb+bF*|76;wsYg0m&_4o5XKHi^xv`bVcdRve0Y_q`N;KPgE`)62{ zYJL3p@vV%9dtmDWoiA0k|Ni|uGuL|hs#RJOZ*AGUdGWSwV%pl;Ny*8bJv}M!@9nMm z`E>f5J3A+T`cyR0DR=eZYuB!+sH+!$dg2M{M83SdJTo)%;L)S44-dBsi-@?akK1ce z{!Yd??Tmo(n?9w4^78UUix%D3mJ1r4chQ^v`NKo!#ou@B-1+eF<HJu+PoHU7tk&7t zd1kKl^%ZO6Y^w|kAGv^<NRN(oM{Z8z?U%QI_VMxYGc%3b4>q%JuK)ipeObzUv5Bp1 zZJ>bsaMt|(hJuGqHa0dDUtS1){rYv!*K5&VUSH?m8g=%@#^js(YOVA4d}Ld<Zk<x? z-&@)1FK$lv*NfeCB{AejwDYfr?ecXQWuo;lH*Vj)eBnZai;|*}Qd4+*ZRnY)oR&7~ z>gpv{vPC=R95~<*6cps);jv)h!bWy}IRQC2znU5wGc&UlAzE_wb!QGVGJ{H)Wy{)5 zo$~ti{r&j`j?D$7rK&0_E-@z_K74pkd;Ok6-1>VOqSl&KUAuX6=7$djckbRjYHMFt zS7-D6PH~Tf;h`5R)PKy^6&Dp1wXn2I%+Bt1TIjGa;K9R(jx{wlAMBSe163|RepIYk zyEbqoXhK;~SlGFw#N^+<e=RL73HkZ`e#;Nvx;5*;gM?!}l7|;KHeYyIGG)q?2ag^( z1qBJsn>TOEwrxdEP6&Sb{Q2YO&xbEw6x<qh_Tpmqz?C5?YHCU8>Fv$U%*XrXpMQLO ze9yOA*(&Pl+ZR7)alW%Q+I-QXMISzWI&|rhkhiyY)wee%w`5+HFwc__6cqgO;v#c( zb@i4gU9Y8+rpHxvn%}RP{O|AY?!e&UV&lVYyvimfB6IzY|NZ?vP(wsTO-)Ed#HF^@ z_UzfS8X{bv!R*=j`%Z31JpAFq2Zxm*Ntv0QbLYyQJbAK5)>_Ql+dC;K>BZI6;{5V< zPfku&=aI9Cs7d$q1dVj6sH$GvTV4L@^=nOCUD3snd*jac$y#UR=BB>8v-8ob8=jNZ z4D;{V+_`&qqK8UFb#-!PW@m_&s)9m8;9|Fnw{Cg)`tmlj@hVwa&DvM{`_b#y+UpLz zxw%<=bNcybz2^5ER)#FPn4zJmdGO@P&WDHFAHRIr8MSuVmMv2n8W@Cxg$oM`46@3( zxw#J=I`rc5@_vtEZ4s_Tix-1hvL8QwY-wqE@Zdp%-}1wE@6H8<%RJlaN6(+TJ2^4+ z_V$80-W?qrj~+kf<mW$r|9<=#^|tnQ<Jw;(pho=a)!K1!aVJuYHpU<8m+z0!TVDVF z-<NlHXJ5J$RQO3mLPBF*jo7O>lO{FIo-O_N_jh$IEw1$RbQu|$BYT?*3kzLbTms_a z`r6yuS8Nv)6jTys26b1Sotb&~&dy@jTYsO=uTMMBzzCW*p6XTk;Q^zsuP=|J(UBJ~ zwrwlPi;SE(qy638-R4C*=bSj<v8(j8+N&BD7naY@&L)3*bMwZ{n+pRpIyyQI96s#4 z<N!OL%!wve?iog@Tw!5hSFT<S3=4BBC@|pU<b0I!<$FQhv(2{u7X-%Nj@&Wfd}j5Z z85<UcpK#{*vS7o>ts6HAa&vR%<m4QAE-fv+amyALz3GcDzs$(W5;ET+^~^siDyrwy z>lcx0!?e$>(bdtJa56<L{n#PPMax3M76#Z%-m~o1lD9Kw9kO1tcJ0Ou8x-{Q`wJf* zTNt46<8}Ohuk-V4Evvq0$k+cdT(@rBlBG)pMMRFAoox;pYz$l(vSit^NmHg=d3eC| zjH6Uu+O*S8-Ofv&(wu&}_tw!5Jz)=jFI%Q|aizD4kcm|9jBLZwx}^ndYYNU~CnqnC zn0KMwXr_<J0;iUYinKKjp_(FGphl5(nNDhID##{5!N$1t$4{MFCCjRFLjOhc0{OOD z)iuwqWNmfZbtSAWaq*T5_nT~FpDNtmmK*(7;FoL1yB1crreLE#cf$NuhTO_iU3o#@ zDVmF&2b2nYdCjZ0Z`pF;)-A19%M9{big=GVUD)PizvZsUy*qbwp2f7*34hvf=pd`p z&fMR77RxLP2zSiqnJ;+n`o+ktR&)LCtV{HI?tArc&7p3|^K;%ChlDskPW51wywoUr z(O?-*$HQ`2+2tv#&h*VQE!FaL|0>ku>;Auf)*jidor)~W)we9{?d6S&i+l3y*{5sK z`HIs|uUxx!>Bfx{r%Vyqvv=>s*I(yY7Psv#e=j61?j8|w!<hHhw$l9U1=f=<U-{3Y zF6#e#@4}B}b6iTUwJ+Po&avMx^!mA9tJmf%`{G<sabBz5{co<9nKSeKGN-HC;(6{X z?^&$NdTZvK+}}qx<OJ`ZeEO-|xf>z2)~~G(TWzo1{!nSkw*4<ph|QREe#%+Hn84dN zZ#A6z^60zOyt8lq{Nt8gurSH)biU8Wzvqh%)wu6u3f_D?-gt6#l%)Ua=9R%8t!F*t z`Z@W${r@@2?tKM+f0fRfJ^SOgZ)q16fClsvl9QF?<V}m7cmxFn-O_#V;*7-XN!J6e zolAMWV$ZpreJjmsrq#T=T;gc(<m1PWA)%o&ZRY%r{Pkw~iwBoqU5vc<>HbA`XG@;a z<;FkfKmDwKa_82y+3C4gXXY$B=8|4}VcWiCpAMYAG;gl$<;b6Dw=VM-|C|0I`LHgB zQ0Ed^U6mMLmB}ZMv?|wMIlR)kSyA@;{ab8lf9eGkX3U*0nPxNl^Ka9@AN9qvXU?53 z`CmNI?%o+5<2rWsZ`EqA{(HPlX_I_*;yjP>8H2+-#%CtZmrR?H*e00<)=LCy%klrr Z^4co7$>yT}85kHCJYD@<);T3K0RUS_Dl7m1 literal 0 HcmV?d00001 diff --git a/VECTO3GUI/Resources/ViewModelMappings.xaml b/VECTO3GUI/Resources/ViewModelMappings.xaml index a3321d13f7..423255c0f8 100644 --- a/VECTO3GUI/Resources/ViewModelMappings.xaml +++ b/VECTO3GUI/Resources/ViewModelMappings.xaml @@ -41,6 +41,11 @@ <views:JobEditView/> </DataTemplate> + <DataTemplate DataType="{x:Type impl:AboutViewModel}"> + <views:AboutView/> + </DataTemplate> + + <!--<DataTemplate DataType="{x:Type impl:CompleteVehicleBusJobViewModel}"> <views:JobEditView/> </DataTemplate>--> diff --git a/VECTO3GUI/VECTO3GUI.csproj b/VECTO3GUI/VECTO3GUI.csproj index 067d490335..22bdc6c3d5 100644 --- a/VECTO3GUI/VECTO3GUI.csproj +++ b/VECTO3GUI/VECTO3GUI.csproj @@ -147,6 +147,7 @@ <Reference Include="System.ComponentModel.DataAnnotations" /> <Reference Include="System.Configuration" /> <Reference Include="System.Data" /> + <Reference Include="System.Drawing" /> <Reference Include="System.IO.Compression" /> <Reference Include="System.Runtime.Serialization" /> <Reference Include="System.ServiceModel" /> @@ -227,6 +228,7 @@ <Compile Include="ViewModel\Adapter\Declaration\TyreDeclarationAdapter.cs" /> <Compile Include="ViewModel\Adapter\Declaration\VehicleDeclarationAdapter.cs" /> <Compile Include="ViewModel\Adapter\IAdapterFactory.cs" /> + <Compile Include="ViewModel\Impl\AboutViewModel.cs" /> <Compile Include="ViewModel\Impl\AbstractBusJobViewModel.cs" /> <Compile Include="ViewModel\Impl\AbstractComponentViewModel.cs" /> <Compile Include="ViewModel\Impl\AbstractJobViewModel.cs" /> @@ -296,6 +298,9 @@ <Compile Include="ViewModel\Interfaces\SteeringPumpEntry.cs" /> <Compile Include="ViewModel\Interfaces\TorqueConverterCharacteristics.cs" /> <Compile Include="ViewModel\Interfaces\TorqueEntry.cs" /> + <Compile Include="Views\AboutView.xaml.cs"> + <DependentUpon>AboutView.xaml</DependentUpon> + </Compile> <Compile Include="Views\BusJobView.xaml.cs"> <DependentUpon>BusJobView.xaml</DependentUpon> </Compile> @@ -435,7 +440,6 @@ </Compile> <Compile Include="Helper\Converter\BaseConverter.cs" /> <Compile Include="Helper\DataContextBaseExtension.cs" /> - <Compile Include="Helper\Converter\JobEntrySelectedConverter.cs" /> <Compile Include="Helper\SIUnit.cs" /> <Compile Include="Helper\Converter\SIValueConverter.cs" /> <Compile Include="Helper\Converter\VehicleClassConverter.cs" /> @@ -455,6 +459,10 @@ <Generator>MSBuild:Compile</Generator> <SubType>Designer</SubType> </Page> + <Page Include="Views\AboutView.xaml"> + <SubType>Designer</SubType> + <Generator>MSBuild:Compile</Generator> + </Page> <Page Include="Views\BusJobView.xaml"> <SubType>Designer</SubType> <Generator>MSBuild:Compile</Generator> @@ -674,6 +682,12 @@ <ItemGroup> <Service Include="{508349B6-6B84-4DF5-91F0-309BEEBAD82D}" /> </ItemGroup> + <ItemGroup> + <Resource Include="Resources\VECTO-About.png" /> + </ItemGroup> + <ItemGroup> + <Resource Include="Resources\JRC-About.png" /> + </ItemGroup> <Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" /> <!-- To modify your build process, add your task inside one of the targets below and uncomment it. Other similar extension points exist, see Microsoft.Common.targets. diff --git a/VECTO3GUI/ViewModel/Impl/AboutViewModel.cs b/VECTO3GUI/ViewModel/Impl/AboutViewModel.cs new file mode 100644 index 0000000000..696d26a556 --- /dev/null +++ b/VECTO3GUI/ViewModel/Impl/AboutViewModel.cs @@ -0,0 +1,77 @@ + +using System; +using System.Collections.Generic; +using System.Diagnostics; +using System.Linq; +using System.Text; +using System.Threading.Tasks; +using System.Windows.Input; +using VECTO3GUI.Util; + +namespace VECTO3GUI.ViewModel.Impl +{ + public class AboutViewModel : ObservableObject + { + #region Members + + private ICommand _euplLinkClickedCommand; + private ICommand _mailClickedCommand; + private ICommand _jrcPicClickedCommand; + + #endregion + + #region Properties + + public string EUPLLink { get; set; } + public string JRCMail { get; set; } + public string JRCPic { get; set; } + + #endregion + + public AboutViewModel() + { + EUPLLink = "https://joinup.ec.europa.eu/community/eupl/og_page/eupl"; + JRCMail = "mailto:jrc-vecto@ec.europa.eu"; + JRCPic = "http://ec.europa.eu/dgs/jrc/index.cfm"; + } + + #region Commands + + public ICommand EUPLLinkClickedCommand + { + get + { + return _euplLinkClickedCommand ?? (_euplLinkClickedCommand = new RelayCommand(DoLinkClickedCommand)); + } + } + + private void DoLinkClickedCommand() + { + Process.Start(EUPLLink); + } + + public ICommand MailClickedCommand + { + get { return _mailClickedCommand ?? (_mailClickedCommand = new RelayCommand(DoMailClickedCommand)); } + } + + private void DoMailClickedCommand() + { + Process.Start(JRCMail); + } + + public ICommand JrcPicClickedCommand + { + get { return _jrcPicClickedCommand ?? (_jrcPicClickedCommand = new RelayCommand(DoJrcPicClickedCommand)); } + } + + private void DoJrcPicClickedCommand() + { + Process.Start(JRCPic); + } + + #endregion + + + } +} diff --git a/VECTO3GUI/ViewModel/Impl/AbstractBusJobViewModel.cs b/VECTO3GUI/ViewModel/Impl/AbstractBusJobViewModel.cs index 7ff301c9b7..93fa7030ef 100644 --- a/VECTO3GUI/ViewModel/Impl/AbstractBusJobViewModel.cs +++ b/VECTO3GUI/ViewModel/Impl/AbstractBusJobViewModel.cs @@ -228,8 +228,8 @@ namespace VECTO3GUI.ViewModel.Impl Header = new JobHeader { JobType = JobType, FileVersion = JobType.GetJobTypeNumberByJobType(), - AppVersion = "unknown", - CreatedBy = "unknown", + AppVersion = JobEntry.APP_VERSION, + CreatedBy = Environment.UserName, Date = DateTime.UtcNow } }; diff --git a/VECTO3GUI/ViewModel/Impl/JobEntry.cs b/VECTO3GUI/ViewModel/Impl/JobEntry.cs index 1f01b76859..d1c437cf9b 100644 --- a/VECTO3GUI/ViewModel/Impl/JobEntry.cs +++ b/VECTO3GUI/ViewModel/Impl/JobEntry.cs @@ -67,6 +67,8 @@ namespace VECTO3GUI.ViewModel.Impl public class JobEntry : ObservableObject { + public const string APP_VERSION = "VECTO3GUI"; + private JobHeader _header; private JobBody _body; private bool _selected; diff --git a/VECTO3GUI/ViewModel/Impl/JoblistViewModel.cs b/VECTO3GUI/ViewModel/Impl/JoblistViewModel.cs index e417cd2e51..79951ff5f6 100644 --- a/VECTO3GUI/ViewModel/Impl/JoblistViewModel.cs +++ b/VECTO3GUI/ViewModel/Impl/JoblistViewModel.cs @@ -6,11 +6,9 @@ using System.Collections.Specialized; using System.ComponentModel; using System.Diagnostics; using System.IO; -using System.IO.Pipes; using System.Linq; using System.Threading; using System.Windows; -using System.Windows.Forms; using System.Windows.Input; using System.Xml; using System.Xml.Linq; @@ -70,7 +68,6 @@ namespace VECTO3GUI.ViewModel.Impl private ICommand _editCompletedFileCommand; private ICommand _moveJobUpCommand; private ICommand _moveJobDownCommand; - private ICommand _startSimulationCommand; private ICommand _openInFolderCommand; private ICommand _doubleClickCommand; private ICommand _runSimulationCommand; @@ -87,6 +84,7 @@ namespace VECTO3GUI.ViewModel.Impl private string _outputDirectory; private ICommand _browseOutputDirectory; private bool _writeModelData; + private ICommand _aboutViewCommand; #endregion @@ -327,7 +325,7 @@ namespace VECTO3GUI.ViewModel.Impl get { return _writeModelData; } set { SetProperty(ref _writeModelData, value); } } - + private void DoBrowseOutputDirectory() { var filePath = FileDialogHelper.ShowSelectFilesDialog(false, FileDialogHelper.JobFilter); @@ -409,10 +407,10 @@ namespace VECTO3GUI.ViewModel.Impl { return _editCompletedFileCommand ?? (_editCompletedFileCommand = - new RelayCommand<JobEntry>(DoEditCompletedFile, CanEditCompletdFile)); + new RelayCommand<JobEntry>(DoEditCompletedFile, CanEditCompletedFile)); } } - private bool CanEditCompletdFile(JobEntry jobEntry) + private bool CanEditCompletedFile(JobEntry jobEntry) { return jobEntry != null && (IsJobEntry(jobEntry) || jobEntry.Header.JobType == JobType.CompletedXml); @@ -468,9 +466,10 @@ namespace VECTO3GUI.ViewModel.Impl { xmlViewModel = new XMLViewModel(SelectedJobEntry.JobEntryFilePath); } - else if (IsJobFile(_selectedJobEntry.JobEntryFilePath)) - xmlViewModel = new XMLViewModel( - SelectedJobEntry.GetAbsoluteFilePath(SelectedJobEntry.Body.PrimaryVehicle)); + else if (IsJobFile(_selectedJobEntry.JobEntryFilePath)) { + var filePath = SelectedJobEntry.Body.PrimaryVehicle ?? SelectedJobEntry.Body.PrimaryVehicleResults; + xmlViewModel = new XMLViewModel(SelectedJobEntry.GetAbsoluteFilePath(filePath)); + } break; case JobFileType.CompletedBusFile: xmlViewModel = new XMLViewModel( @@ -613,17 +612,6 @@ namespace VECTO3GUI.ViewModel.Impl _jobs.Move(index, index + 1); } - - public ICommand StartSimulation - { - get { return _startSimulationCommand ?? (_startSimulationCommand = new RelayCommand(DoStartSimulationCommand)); } - } - private void DoStartSimulationCommand() - { - - } - - public ICommand OpenInFolder { get { return _openInFolderCommand ?? (_openInFolderCommand = new RelayCommand<JobEntry>(DoOpenInFolderCommand)); } @@ -640,6 +628,19 @@ namespace VECTO3GUI.ViewModel.Impl } } + public ICommand AboutViewCommand + { + get { return _aboutViewCommand ?? (_aboutViewCommand = new RelayCommand(DoAboutViewCommand)); } + } + private void DoAboutViewCommand() + { + + var viewModel = new AboutViewModel(); + + var window = OutputWindowHelper.CreateOutputWindow(Kernel, viewModel, "About VECTO", 507, 395, ResizeMode.NoResize); + window.Show(); + } + #endregion private object GetBusJobViewModel(JobType jobType, JobEntry jobEntry = null) diff --git a/VECTO3GUI/ViewModel/Interfaces/IJoblistViewModel.cs b/VECTO3GUI/ViewModel/Interfaces/IJoblistViewModel.cs index 76a0e46b47..c90bbf6157 100644 --- a/VECTO3GUI/ViewModel/Interfaces/IJoblistViewModel.cs +++ b/VECTO3GUI/ViewModel/Interfaces/IJoblistViewModel.cs @@ -16,7 +16,6 @@ namespace VECTO3GUI.ViewModel.Interfaces ICommand RemoveAllJobs { get; } ICommand MoveJobUp { get; } ICommand MoveJobDown { get; } - ICommand StartSimulation { get; } ICommand EditJob { get; } ICommand EditCompletedFile { get; } ICommand CreateNewJob { get; } @@ -36,5 +35,6 @@ namespace VECTO3GUI.ViewModel.Interfaces string OutputDirectory { get; set; } ICommand BrowseOutputDirectory { get; } bool WriteModelData { get; set; } + ICommand AboutViewCommand { get; } } } diff --git a/VECTO3GUI/Views/AboutView.xaml b/VECTO3GUI/Views/AboutView.xaml new file mode 100644 index 0000000000..352fd64e59 --- /dev/null +++ b/VECTO3GUI/Views/AboutView.xaml @@ -0,0 +1,87 @@ +<UserControl x:Class="VECTO3GUI.Views.AboutView" + xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" + xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" + xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006" + xmlns:d="http://schemas.microsoft.com/expression/blend/2008" + xmlns:local="clr-namespace:VECTO3GUI.Views" + mc:Ignorable="d" + d:DesignHeight="395" d:DesignWidth="507"> + <Grid> + <Grid.ColumnDefinitions> + <ColumnDefinition Width="5"/> + <ColumnDefinition/> + <ColumnDefinition Width="5"/> + </Grid.ColumnDefinitions> + + <Grid Grid.Column ="1"> + <Grid.RowDefinitions> + <RowDefinition Height="10"/> + <RowDefinition/> + <RowDefinition Height="35"/> + <RowDefinition Height="115"/> + <RowDefinition Height="30"/> + </Grid.RowDefinitions> + + <Grid Grid.Row="1"> + <Image HorizontalAlignment="Center" VerticalAlignment="Center"> + <Image.Source> + <BitmapImage UriSource="../Resources/VECTO-About.png"/> + </Image.Source> + </Image> + </Grid> + + <Grid Grid.Row="2" Margin="0,5,0,0"> + <StackPanel Orientation="Vertical" HorizontalAlignment="Left" Margin="5,0,0,0"> + <TextBlock> + <Hyperlink NavigateUri="{Binding EUPLLink}" Command="{Binding EUPLLinkClickedCommand}"> + <TextBlock Text="VECTO is licensed under EUPL 1.1+"/> + </Hyperlink> + </TextBlock> + <TextBlock Text="Copyright © 2012-2019 European Union"/> + </StackPanel> + </Grid> + + <Grid Grid.Row="3"> + + <Grid.ColumnDefinitions> + <ColumnDefinition/> + <ColumnDefinition/> + </Grid.ColumnDefinitions> + + <Grid Grid.Column="0" Margin="10,30,0,0" > + <StackPanel Orientation="Vertical" HorizontalAlignment="Left"> + <TextBlock Text="Developed on behalf of the"/> + <TextBlock Text="European Commission DG CLIMA" Margin="20,0,0,0"/> + </StackPanel> + </Grid> + + <Grid Grid.Column="1"> + <Button Command="{Binding JrcPicClickedCommand}"> + <Button.Template> + <ControlTemplate> + <Image HorizontalAlignment="Center" VerticalAlignment="Center"> + <Image.Source> + <BitmapImage UriSource="../Resources/JRC-About.png"/> + </Image.Source> + </Image> + </ControlTemplate> + </Button.Template> + </Button> + </Grid> + </Grid> + + <Grid Grid.Row="4"> + <StackPanel Orientation="Horizontal" Margin="10,0,0,0"> + <TextBlock Text="Support Contact:"/> + <TextBlock Margin="5,0,0,0"> + <Hyperlink NavigateUri="{Binding JRCMail}" Command="{Binding MailClickedCommand}" > + <TextBlock Text="jrc-vecto@ec.europa.eu"/> + </Hyperlink> + </TextBlock> + </StackPanel> + </Grid> + + </Grid> + + </Grid> +</UserControl> diff --git a/VECTO3GUI/Views/AboutView.xaml.cs b/VECTO3GUI/Views/AboutView.xaml.cs new file mode 100644 index 0000000000..2dcbe576a4 --- /dev/null +++ b/VECTO3GUI/Views/AboutView.xaml.cs @@ -0,0 +1,28 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; +using System.Windows; +using System.Windows.Controls; +using System.Windows.Data; +using System.Windows.Documents; +using System.Windows.Input; +using System.Windows.Media; +using System.Windows.Media.Imaging; +using System.Windows.Navigation; +using System.Windows.Shapes; + +namespace VECTO3GUI.Views +{ + /// <summary> + /// Interaction logic for AboutView.xaml + /// </summary> + public partial class AboutView : UserControl + { + public AboutView() + { + InitializeComponent(); + } + } +} diff --git a/VECTO3GUI/Views/JoblistView.xaml b/VECTO3GUI/Views/JoblistView.xaml index ab57a6c936..8b0238b8e4 100644 --- a/VECTO3GUI/Views/JoblistView.xaml +++ b/VECTO3GUI/Views/JoblistView.xaml @@ -92,36 +92,36 @@ <DataGrid.Resources> <ContextMenu x:Key="RowMenu"> <MenuItem Header="{Binding DataContext.FirstContextMenu, RelativeSource={RelativeSource AncestorType=views:JoblistView}}" - Command="{Binding DataContext.OpenJob, RelativeSource={RelativeSource AncestorType=views:JoblistView}}" - CommandParameter="{Binding Source={x:Static impl:JobFileType.PrimaryBusFile}}" - Visibility="{Binding DataContext.VisibilityFirstView, Converter={converter:BoolVisibilityConverter}, - RelativeSource={RelativeSource AncestorType=views:JoblistView}}"/> + Command="{Binding DataContext.OpenJob, RelativeSource={RelativeSource AncestorType=views:JoblistView}}" + CommandParameter="{Binding Source={x:Static impl:JobFileType.PrimaryBusFile}}" + Visibility="{Binding DataContext.VisibilityFirstView, Converter={converter:BoolVisibilityConverter}, + RelativeSource={RelativeSource AncestorType=views:JoblistView}}"/> <MenuItem Header="View Completed Bus File" - Command="{Binding DataContext.OpenJob, RelativeSource={RelativeSource AncestorType=views:JoblistView}}" - CommandParameter="{Binding Source={x:Static impl:JobFileType.CompletedBusFile}}" - Visibility="{Binding DataContext.VisibilitySecView, Converter={converter:BoolVisibilityConverter}, - RelativeSource={RelativeSource AncestorType=views:JoblistView}}"/> + Command="{Binding DataContext.OpenJob, RelativeSource={RelativeSource AncestorType=views:JoblistView}}" + CommandParameter="{Binding Source={x:Static impl:JobFileType.CompletedBusFile}}" + Visibility="{Binding DataContext.VisibilitySecView, Converter={converter:BoolVisibilityConverter}, + RelativeSource={RelativeSource AncestorType=views:JoblistView}}"/> <Separator HorizontalAlignment="Stretch" Background="Gray"/> <MenuItem Header="Edit Job" - Command="{Binding DataContext.EditJob, RelativeSource={RelativeSource AncestorType=views:JoblistView}}" - CommandParameter="{Binding DataContext.SelectedJobEntry, RelativeSource={RelativeSource AncestorType=views:JoblistView}}"/> + Command="{Binding DataContext.EditJob, RelativeSource={RelativeSource AncestorType=views:JoblistView}}" + CommandParameter="{Binding DataContext.SelectedJobEntry, RelativeSource={RelativeSource AncestorType=views:JoblistView}}"/> <MenuItem Header="Edit Completed File" - Command="{Binding DataContext.EditCompletedFile, RelativeSource={RelativeSource AncestorType=views:JoblistView}}" - CommandParameter="{Binding DataContext.SelectedJobEntry, RelativeSource={RelativeSource AncestorType=views:JoblistView}}"/> + Command="{Binding DataContext.EditCompletedFile, RelativeSource={RelativeSource AncestorType=views:JoblistView}}" + CommandParameter="{Binding DataContext.SelectedJobEntry, RelativeSource={RelativeSource AncestorType=views:JoblistView}}"/> <Separator HorizontalAlignment="Stretch" Background="Gray"/> <MenuItem Header="Show In Folder" - Command="{Binding DataContext.OpenInFolder, RelativeSource={RelativeSource AncestorType=views:JoblistView}}" - CommandParameter="{Binding DataContext.SelectedJobEntry, RelativeSource={RelativeSource AncestorType=views:JoblistView}}"/> + Command="{Binding DataContext.OpenInFolder, RelativeSource={RelativeSource AncestorType=views:JoblistView}}" + CommandParameter="{Binding DataContext.SelectedJobEntry, RelativeSource={RelativeSource AncestorType=views:JoblistView}}"/> <Separator HorizontalAlignment="Stretch" Background="Gray"/> <MenuItem Header="Remove Job" - Command="{Binding DataContext.RemoveJob, RelativeSource={RelativeSource AncestorType=views:JoblistView}}" - CommandParameter="{Binding DataContext.SelectedJobEntry, RelativeSource={RelativeSource AncestorType=views:JoblistView}}"/> + Command="{Binding DataContext.RemoveJob, RelativeSource={RelativeSource AncestorType=views:JoblistView}}" + CommandParameter="{Binding DataContext.SelectedJobEntry, RelativeSource={RelativeSource AncestorType=views:JoblistView}}"/> </ContextMenu> </DataGrid.Resources> @@ -130,11 +130,11 @@ <MenuItem Header="Add Job" Command="{Binding AddJob}"/> <Separator HorizontalAlignment="Stretch" Background="Gray"/> <MenuItem Header="Create Single Bus Job" - Command="{Binding AddBusJob}" CommandParameter="{Binding Source={x:Static impl:JobType.SingleBusJob}}"/> + Command="{Binding AddBusJob}" CommandParameter="{Binding Source={x:Static impl:JobType.SingleBusJob}}"/> <MenuItem Header="Create Completed Bus Job" - Command="{Binding AddBusJob}" CommandParameter="{Binding Source={x:Static impl:JobType.CompletedBusJob}}"/> + Command="{Binding AddBusJob}" CommandParameter="{Binding Source={x:Static impl:JobType.CompletedBusJob}}"/> <MenuItem Header="Create Completed XML" - Command="{Binding CreateNewJob}"/> + Command="{Binding CreateNewJob}"/> <Separator HorizontalAlignment="Stretch" Background="Gray"/> <MenuItem Header="Remove All" Command="{Binding RemoveAllJobs}"/> </ContextMenu> -- GitLab