From 8b0a24dc16d10dff412552978bd60c133bc4086c Mon Sep 17 00:00:00 2001 From: alkaes <41850898+alkaes@users.noreply.github.com> Date: Sun, 31 Jan 2021 13:33:13 +0200 Subject: [PATCH] Updated support for windows build + installer (#396) Added win32build.bat batch file for easy windows builds (need to update QT path variables inside to correct ones in case it does not work) --- CMakeLists.txt | 6 ++ Plotjuggler.rc | 1 + installer/config.xml | 14 ++-- .../meta/installscript.qs | 6 ++ .../meta/package.xml | 4 +- plotjuggler.ico | Bin 0 -> 180620 bytes win32build.bat | 63 ++++++++++++++++++ 7 files changed, 86 insertions(+), 8 deletions(-) create mode 100644 Plotjuggler.rc create mode 100644 plotjuggler.ico create mode 100644 win32build.bat diff --git a/CMakeLists.txt b/CMakeLists.txt index 64aaadc5e..b527362b1 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -103,6 +103,12 @@ endif() IF (NOT WIN32) set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -fPIC") +else() +set(CMAKE_WIN32_EXECUTABLE ON) +set(GUI_TYPE WIN32) +set(CMAKE_BUILD_TYPE "Release") +### Embedd Icon to Plotjuggler.exe +set(BACKWARD_ENABLE ${BACKWARD_ENABLE} ../../Plotjuggler.rc) ENDIF() find_package(ZMQ) diff --git a/Plotjuggler.rc b/Plotjuggler.rc new file mode 100644 index 000000000..194486e0f --- /dev/null +++ b/Plotjuggler.rc @@ -0,0 +1 @@ +IDI_ICON1 ICON DISCARDABLE "plotjuggler.ico" diff --git a/installer/config.xml b/installer/config.xml index 7b23cf678..2f3ec3f02 100644 --- a/installer/config.xml +++ b/installer/config.xml @@ -1,10 +1,12 @@ - PlotJuggler - 2.1.4 - PlotJuggler installer - Davide Faconti - Applications - @ApplicationsDir@/PlotJuggler + PlotJuggler + 3.0.7 + PlotJuggler installer + Davide Faconti + PlotJuggler + @ApplicationsDirX64@/PlotJuggler + true + @TargetDir@/PlotJuggler diff --git a/installer/io.plotjuggler.application/meta/installscript.qs b/installer/io.plotjuggler.application/meta/installscript.qs index b905bfc30..7e3932390 100644 --- a/installer/io.plotjuggler.application/meta/installscript.qs +++ b/installer/io.plotjuggler.application/meta/installscript.qs @@ -45,6 +45,12 @@ Component.prototype.createOperations = function() try { // call the base create operations function component.createOperations(); + if (systemInfo.productType === "windows") { + component.addOperation("CreateShortcut", "@TargetDir@/PlotJuggler.exe", "@StartMenuDir@/PlotJuggler.lnk", + "workingDirectory=@TargetDir@", "iconId=0", "description=Launch PlotJuggler"); + component.addOperation("CreateShortcut", "@TargetDir@/PlotJuggler.exe", "@DesktopDir@/PlotJuggler.lnk", + "workingDirectory=@TargetDir@", "iconId=0", "description=Launch PlotJuggler"); + } } catch (e) { console.log(e); } diff --git a/installer/io.plotjuggler.application/meta/package.xml b/installer/io.plotjuggler.application/meta/package.xml index 7e41adb12..6d5445954 100644 --- a/installer/io.plotjuggler.application/meta/package.xml +++ b/installer/io.plotjuggler.application/meta/package.xml @@ -2,8 +2,8 @@ PlotJuggler Main App Install PlotJuggler with basic plugins. - 2.1.5 - 2019-02-25 + 3.0.7 + 2021-01-28 diff --git a/plotjuggler.ico b/plotjuggler.ico new file mode 100644 index 0000000000000000000000000000000000000000..147942907087855ee659fa39f7dabd8cc9a62ed9 GIT binary patch literal 180620 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%0A6!mdC&kfa{r`fEaKI$UaY> zx*rT!4vWpw?LpQ*6-Au^_U&e1Bj7buuix~-ynZ|lvPJil|3TNk&IYtYF)$qPoJq*`=m4gJ|A7r427CoZfm%SjF37yu;@rgrqM0 zJ3*;-6zS5x9m;Y-QkVXnpj11Gbm`v?WjP_KOaD$#svSkT^lyizkieZ z5fT41tySx4?eOpeh4KA!?}7#GD8-dDqZ$Y-T2u+}^Q!{AA8k^j#?5M>p)vVAJ$(xm zD3H-2UHRAvTO8VI3ad1Y3`e7n z&=^Rg#=uOFP7BAm#YDx3aH2;X^{eey)i~sk;RIb69WrHqvesKzCN?D)|A}xMcZe{9 z4{tb1Yo7LB7{-%mjwu-4-IUS{VRMc3COx?RcWJ<-0hb0`8gOaAr2&@)TpBQ^fue;A zD+Ti9D^jd*;gpsJjy0ho=IqXWURam&%$v7xg;J%ytW&x2zxAqA zx#Z&E(LtT?@be+1N-ei!f2`Fi>?5>2*2}L%)~uP};^EN&Y?^>)A=fS0Kgi!-!C3z& z&iRXayR$Dety%M`iw9c=u<14Y4d4VD?0-qxzkb!Km#T+`9^1b1|>bjNnG}Sh>dGQ(_HqqK}ipB z5|{lSV&mG-G?)EtP|`!3#AW{n)41{*vhexMU;e!a3FE20FPmNqUG`5;JK1|o*pc57 zE(pqiMxYxQ0bU2Q0slt%O2F@FuNLvg;oJ20N?rEPUK{Icht23{Z~omcelL0;_!w*i z@!%RT_Z@rVH`Y%hT^*n=-fY-qf3s@IvYoV%aQt3)OYjEx16%^ezh_{yv!yum^#@kl z;j+I~6*(mVZ3D+|!Siodj03d!bzsS+_UylaaRJV&ja(|3@D z*K*pIePt+U4>&g{3jzV>3IzcF9v8_AG-r$CF8kY}rHrSMwt!DtO$I#Q)3ZDOR?DB@ z1JDhG0?z;4K*j~Jkke&<3yN{TZrTfuV?EE=t>7LoXM2w8@qpvPqo62oioK1^a@pUg zk<7iS-*#Quk`gwQt{Ou8JI0pI`NKFi z3IqYo*;2lv)41&KIE@NBa@^(^eh8R5=Q(%h-+|=c;mndTKD`#Y?4O=?Y(EBD((#^) z>n>-3(e}K?^B%t);GDqr!kw7XW&g}8m$no(9SWa+`_*WB&gnk{**eynYpKir=Coq_ zKG;;+ei%YrpEuf`e-Cvq@C3FOoJA>J_RqMYX-_z=>AVQc+5RZ@KL)b>I&Z0!mh7*% z=P9WUsS^5zq7@^MfWV|3fcnx-Lulb8|1jZ#bv3@j@S>IO4l8s zi@|ZrB^uTkK0&1uuivOsN@-_agLH<2d{!K{!y;J_}&3Nz! z_y+KA&^`{z0Z)*ve~Zu=`eK>Vrtq7A6ToQuo!D0cXwF%3IHFv0_ODzabl>+K{rah+ zi|GHJu(2OlinCv^Ppky5fZBk6C-=0;BEYv9EZ)#On{&>!$I z$gzb?Fr0qB;5FkYcnk3F)Mne?2)0*8GQF@X=W<-H<#SlQ{kg951b86Md)X!n_CJ^> zPo7fhTZ7yapQ{{l^{HkJPB$F-kjx5h_tNke$+b3KJ_@4vayNEkg z^oP6Kl)X`ZH+$6+*M-usX-}{ioCB8n0mqBq!J~kG+d0d1V6DQGRx3NkB5Zt~!}%Vc z-B~LpM;^Dw{;~l=AADc&Q()A`RqT6um$Fg0*0TxEY5raGYG4{T0yrl$*B35h{~LgR z^FBw71){xtp2zu}{@lNg_>{P)(f;4f=w>nY@x7%K)d-ui zA8_6`7hD16`T_3~x`1rGN1*J&wSv$2z25#u5U<4J*||YSJWr_80w4hRh`3E+Il%tZ zQDb0yukAMWJxBe}={LwnnR#7k54Hhw*95LD4h0@SpFPXMLiYUdzXN*P^O`q89M3X& zWJT16zzcpG@IHtE2f-HbB(UkeDl_({JW>bnhXCFO>GgCFajug|(NlcLC)-dG;o0B@ zFpdS>HyN;Rr{v9w0A&`A&+CoPcK96MpU1O$qaFa~$*sU@U`}tm_X-78#mlVyS%J_~ zA^6LH-u?`~2Q1zfQ%1mZd;mBFjD3LX$?pL6b*t@hR07CM$7i-nfWA%a<9&hV995sS za@cl(FZ`*18P zPF*Jwa&k?_c)!03`vQ18D>k%K+CCWJb-<_(&YO3DrvR@DHqH6;vOB^4><0sZ@%hMd z?BiToUwxV|+92Cp2H`cp*k;}{_LS+;6p+aslutOm&!z9f40HWYbD6BhrtG4PMc{J{ z)u;!qtuF-Z8#bNm<|=ih{aL=yk01PvK(9Z}p*fefsz2Et_~pR{U~KzI>}v`#+-`Ha z(8vfQb_*D$jR*A3V|WEO|`kdLkjFuuq81@_tWo7&6@!Zry8!RIwk-*(RZ-Uj(W zW~*|@{NE^qra{vjnR8{m{W+KB^HXCMvvIah&mjw{%F2jz0e>l++V^&XtYx0Ir$ad>*l#g6{AWfLkF)Ggod}(lgU{bV=ykdeal6J-oqj4Ie88Ze zdx%d08NLn(SvfcT(ID$F#LMuwGdIXi`}1CpW4zw>49^BmS@+5U`*Yl!VbCe(1bwMf zI$JmBK%OH{Bg}I`ucxz!H;`#;EmNiwvV_4mKF8#HzIp7CQM?>H+Xv_!#K*#PBj;_x*s7k+O2W%4fTJ zIS0w(Mp+ychsWmy<>I=eWxCKfPWrA>NR>wRaQx;2L)< z(CdrqB7Mbin~S9kaJ(lmzRPqD`yzPMS(}iR>)CUFzAX$d1lsSYoK=4o*`NCD35@Rt zyiVQH*|R|>+W7$g8Nla4dcASHED3BbQpmu0%5k9Yqdy^T_ZVes#gtLd9R4MsZ$}*B zRe9W*o3rgt*@b>N-{XC>UcbCIEXL#ZZqy6lSpPlH>y7tK6M&{$Yvrz0a)4 z$$J6KSt}*me!F8bT z19K721?+Ar^#geA`~c|n$M8GA>TeBMFC5=diwAnSen#BcV?Wn3)*58z^{gMTY5cNV zX@(40Y=8b{V6#EbhY>Fg43gOv6?&=yKOX4&z$wJ5@wlapbqe9(TqjAL1S$jeNH3 z5c=XfLx+K0pC=KI;Bj*s>w{|o5`bQw#fawx=CWmKA7v5nogL%3zY_a6r_EFy_GHcm z`{#pRR~qzv9`Ov%wS+#Y*C?R3Kf`az<9fZ&ws2gVG|owRkNT8$)Oq&jb>Fzo%Q;|2 zbF%8?c62x!>`%Q90LFE;$(hl)&>Po;jB99&b8JYZI#E}7_*~!DpZj|dFV5qR-h_>y_bA^0-b0%3*xg zM|m>U57Se&kRcy@u2bt}WMAkij;B|I!;fW?{Wye&ocrtb zyAyGL9_J?N2!y{I=w-0`-2{8&Wc`3^eF;D>ALsnMCfHM)L(*oo{VBB2Kj&S>_bk?8 zAK$&qP}`_K;0}z>hVEcrZyv`tOl19oQIB!G?^EpKbASxhpI#=`4Y*b@59n=A+4=x& z{7SD3XB^8$`*R++9O%!#n}~O${^>HZ2|YH2Z#>7=V4v6Vif^-Qp8LCizV1tiM}mx0 zYc-FMi(}JiptnEQ`clRws|7hYK{nc-cIXBYf!+>$|031z#_egc&@->GD-3$(v(&cN zd)H&VuK?rxa}oAA`<^e#AQSt+NRTb(KJ}U%_Gi7&HJuMw5A^ou81Mwp9MjsfNnOJ4 z4pQG=k1e!lpU)4~QL=IFnR4#4R!46_Ccd}%C(xh!#}Q9+Z{q0s(Mx8`)GG{XRfXKy5dnw zHP+;eO~}FDYWx87w!e&c6CTgbEeF`2Hs&|7uK>MWcrVrnWTp=ULchCH^p5YB-W^g( zJydc5zE!r1b!Dob*LL`6$q zZ*jk-_igj*}df;`_m4+fbsnhuF-r13Im(e z#dN|I#WyMEov1lJN&8;0&IWg1D!uJS{~CUY11s57roD-1Tfk?}?*YB-lM&C>dp>co#CNK7->4qr z!!dX;t`FK=QD255!YG^N^4vGB_Z-5$vOJy>wwz*r>O$DA2z=wac(O0-#j$>X*K9sR zNKqlfaD0!f6c_=H0WBZrdi-8BzGJRG4;elTD$^E@w1+4!5B!gTvCb%QJVo~G4CFxj z(~g|;EtmE)__q<~d&BR7-r!Nd`-cI5*NH=bsS8tPV z5O>%+7t*%yTLa$X>FeUTUmj$q$y3#xlk88yU^nTwM*k%+*ivs-?K*J>Y3>5!nvTx? zI}-8D@(&ZbwP}laV4T4wybkdBu*LVpQYp+zgti4m!Fr&#{XN7}J%_eZRF)jhY4(?m zhCS&x@1F>a?~CbeYc0(6ofk0=)ZXQV4Tgcc2HX6Lcqfpl>ww75=Z~)f+FNh`KM>~{ zuxw(E@N=sDsT|mi&K*R8?*P9eX3gI6IQz_ez_mSXu0Y*`LSPBd+lFC|3#~wg`hd&_ zpYL%P$Ng*A*G;C$5r!8+N?~UvLd}ol)4LJ4_{+8qn;Io4%pf*VL zJWuK$enqec82i96?BjLYu09~s!{<8R-@sVzN7%>TtmY)sYqI2Y`|A}3d(!b-=Jz-G zes*in0kj7#Kq&A6sqPK*WzYtKN8lUZ6QbSt&TxO=3G`XbhM7jdvEwgbwEZ^hE5kH7 zaeI*L?~!3W4W&(K-*~VE@V))bfY%A$JIXYApZ603fZ4IboE@@j-+$Tux<0^jv<~2JG4H=G zVBWTRJDUq1MH&1}FUOYbGONw?{@3kq=mUPR8P{lNL*qK3Ia}-Z@g4r}Ky{F#$9#R~ zaM}O9HiX^W;D>;5U@PFgyQRLs{TIP1@B}Cb9vIuR%sc2WgaUnOzBYeiKXU^d%T=vi526D1^F8e!K!8yEm zm;H0Nft)O!%l=MQa1JltW&a#*ASa9GvcHoRoWqNE**}LH$jRcl?C)d+=kVfP_Rrx4 zaKZhI0$>O=} z?_>q%@Zw$e&*27gvUo20J6XXwym*)WbGU(=ES}5$PF8RZFWzPU9Bv>di|4YxlNFr9 zi+9;Sha1Sr;<@baWCiE&;sc8oRf_rgwy9gC%B7~YY9)ZHRV!53?~x}@iF_U&Ib3>| zc$w9JkC&I?l|O&U@Umq$G^|$bTD^#fE9HWM-bcB4@_Bk@ws=?m2S5W)wr;KXdV5z7 zE?)d~Tn|PT%%9)CF#3gSdw4XUI(jpxCfU((kJJJu=cst1cPe?36pvK#nACCTCe`so zLp;t9k5-ga*C3%O&?EUaVpxt z-Pn>?9OJ?wiJDLQbHA!4uy`I>sphL}k1W!#McRm44_MFG)K+?(tXr)Ywy zrec#l5(=6MH04V6Nc2#&hRAr5yQ!gCYoWhn_XHkFVy%hPznj()Egr|XqO~-Ug~Tu( zt+GNb9<9ZrVuH~eplbGriHbv7#*>vuq>qbaQxhUlha2@57fDsbA)e^YctS8$rNuo= z@ni@T7p18P$59j77K3Pu1-SU4t1=2sPWbh+sJ@fhy}k7N`n%7>reMv?EwQDmw( ziez(5_0bonp;jLcL~CbJ%5gPDiRA8-uUzKCVUYr#D4iag&;aHnLt{D$YCo z_D09{t-bOG=0^|oYTKq|XLJ(;-4vg^@Cu$78KNj{?zL^%tm~M=7w3&0(|UL zckVAo=bAd}@iVu!+%EL%=!3ue*ZAPEnfE5m-*R?vg-^zxjaWNkcjH?}N3`s@dEcge zn|^4usmHb++t%)TGUD2^^Z%{*OV_9#FVE^a=lt-|-}-f^-=Y5QS)aCg+ikOQ(tq{k zkA0eZZaqBa*!g-(J3P4{!N28>cb{wh(Slp6{`j@5y6yYRSL$9Zx~uz7eYZ6{eeLzL zUNhD$`nu|!{?~u+*`m}_&jr@k8izD z;lz?&@niiC&0pTQ@axl;EnW8F%;Hy`>H6z8ld4b4ySvKuo(s>u zS@puO!N)%s+o9OpOZCsqJ3a68OYeW&cidw$e%?HH=(qP4-Sq!tTFJ&u&Lw^}rD)yS z^~YcO_vbD}gO{ED?)-P>8?XJM&)z@3T=+))qmvruD>L=IrISOyX!!OwMLLC^X!ZW| zuglJVvr)IZ7Z0`l{)7CjU-_xxs;)17``fWEr;q++^e?N|FZ-zS%vLo*R?hkUz>|YF zeVydjtI3)P|MT|s_FLL}`JGo{U;gg>a@AY+-!<>pnsb{jkB!`NDQN8%yMDem%D1^^ znWv__T~j$etL}iMZFU{{^!q)vTQ(}!xZK8y;_rFUZ6cQ2No>eGBh z-r{H7!ou<_nmc{Vg)8HF7k^Zx-B{S+0)}!pRaPQ>yq}}-+80^J8Rn34xRtj{N96>&&mD!rj}9p0{?D(V}}y! zb-P>L-;^gOwY@yz;NN5JwOJApn0J$xR$4)~@NquJdfzxuVe!sOUDvJt?);5;-A43V zRQ0X@{W)RA;I$>bSo6ZHMIF8=7IS%fvm^2K$DimPTl?~oT`zpLX6PsHUT9e~X+!70 z+~v!ChF-Mw$J`4NM*O{K+~p@?-<^BzLPWQnk@>40^-Gwx?pX2HwtW3`K;-IxC5L}p zalUHfZt9e~^H=uTGVx}yC3#Rl67R@ZKq>u&HW)BN9N=$t1S9LVi4vFWnob3bq3 z8-9E1GhKs!>R$VWg-32(tX$ux=AYN|#C{vv)#JCOe?-oCT^Z)fetj@u!JlQ@FBuh6 z>fVnR7dQ63a(>L}%XOcrczxFS62lfh)4O|>%lWF!^=w<@ZMV`>pAFa$y0rO|e?>NI zwsK&J*hYuS&51m=e#q#24VNAcs_y+-Umvf4uhyLRJAQD$+eJ$s%+*+#`rgRU#7%vg ztUe!bF8bxgW7iM6JE>;HdLcsxdc{^B)B18$iC_CXK12Dr7%j2)owy>M-}!xUpE6Hg zPF~xs@t)%2M{nKUt;4D=_kNgre)JzD5^nd7ji23hTEFrO;_iGJpV%;{VWS_OhzF?^6z*Zu;tiM)l@(e9m|C?P=#He!n=j z-N_rjez`lbUEIAOx7|$}-MO25^;h@RdD~Q@)IsGExBbwmW^AXwmwY(B&cw@Q^A)-H zp+~pS;7+}wXRW*Y-nUi%DOh21@ReyFPP%>h;@7)6y|dcy5-;>StzIb-a9m6+Y{6(9P@)bpLbJU9EuzQMT)4!SjQVr2U=Cxe6BuQuLwFY@NX#YL}==~dvD z(sOE#9`R^+Y`@@dN44sBdj7Y&W_sm7WX$~ATYD`&`(4X= z_g-H6_^DM#j*gE^3VrXlfLqgkQX8}n{r96~D}o}fo&B}TvBZE$eVY96cw+am2~BQH zJUVUo#>T@MoCxagU#dmf(j7iu*L&lx#Z3yhzjU`JJu+m-Nb5>@8vo8>x7SE zLnAIE-;>DHLVqOsL$e(yOspjc_w%Neq+{8?Nac_l5a0vJb&|U)1#B~D*4(b zg^qjcn~24=dn{fx|J%d4!;||@KmKmzv9CRMrSI%!&#w)y`ew|j-*=CVuO8E=>O0Fv zA1(2}gp&1EHz~2@=$Xm~hF$z^>PNm8XEpPQtMU4VD`6GB4Bh_CINyJ7l`q@>w<$H; z=g)5PWbxoqvtvV(!sCZ{e%f-<)X8&~U;8a)TwKV&aZ4uOod5gTwSQMVJY@KdfA1vE zjH{M6da7S?k*M;%tB=0b_^3@*9s`+7fZxb|zl_1!0I8529_a>sXu4LadJYv;U`kK8D}w4?WE z&)IKmjrw$2{FQU7pMIrV@qyzncy`$7zGZ3n+g_ek&bgKT>*MG*yo;RMS?~2&kMKiJ z-0OO+`{=uq_Py?L<5ZQqUsm1qSKaMj+{sh$)nOsm@724x`o^4tXUc@Vdh4H^YZfm$ zzW(s9zce`W%!$h*y52a~cwvnzYQweu->mnX5mR@J`j$F()y>LRcXYluql@2#l&vfbD@@dfH%iQF)3bLVcK%=>HqwN1kdk9cdAZ^bu1`@w(LH~(+u zJEP(JqJFg~i8gvKLx|`^i_U0?=)DI)^b)-cqL(O%=tO7q-hyZ$1Q8iT?`3pi^qKeZ zfA6~A@3*_G<oH*8ciz)o3|dfTz35_AZJXYI3>m1qaQNwKdIV`Y~h{S8&KD$5UPy zE^>>lwVX;$JL83Tx8YNL5oXv(B=g6A3d{)Jge$Pn#?tVzBegV*?&*9XX!E03rsSi1 z4LaJ-4hhE}C{i+!k~d68{bjS^s;`rmMb@BZzdD{%(xT|ry{4w^`0LBVXUT`8X8_j( zI(u+JZeM^GYD*BVdFyRo`60wuq>D3zS!n5C;Kd%BGgp(!zktQ(Fc{ zw+~=TP5dX<$K&5)f;@hYK9_hMEe+u7q0mL{Pq&`2U*DJAJ7OXi@SRH-s(01-UmYhp z{hIAi(3C@lGhw7w5XhV?$Hn^DI>EDZ#wAG9|J}}a!YqrHja8KbF*4CQqBsm?jRyPZ zVS3Wz=eB-luNle&EQ%SEm#uy!BkqpAD+gZ%%&qCcxZg23Nhz(VF5 z+d5*Xl-96egxBWQ=AF)fUvCcgdq_e>xPE8x>)gB;n>WlKv={#jUK1Ijc6+0!^@dh6 zw&gaQl81i($=OiY`Z08J)Pf~QPaRcKEuH%J3&2d)5pW#3UsJELbZP*KOMZjD@x?8S z@-o_}9VPOD^AxIn+fqMwhCU+m?5(XVnJfG1$jvU4r7JIT0_BWT1A!C=rsN={F*(ju zUT&8ZDH0b;2reUo4IPDn7dA;Tf~N08-j=>uYrS->LO}fZHr{C5j<2CZN?B5V8;BOW=)Oc>zp3W_hht0PfRU^oiyo1s+Rj~8$vx|gmsnsFs&P4}x)$fS4V#@`_7dh; z|LjV+dU7O2TM-3S7HQWosvx2(4ETCPNe=^qx0QbO=@=v8c{;nTZ)O|7k|b1jk^%KG zWeNx*5J;_QolzZ=;FDYg(6{j(BMW z6>_6%m2BIF!yaFiZ63$+>=?ZX2@_BGw3JtRS`;&>JY8~ks6#4+R8xW{Qco>WwNr)D z8|eyqxOIRr z^G)RPTip5G53|wc8JYQQ z5$I3aG*_SJXzS|wz}DrSGpY|5_UL0)I;Hv<9clP>CGg_{$hg8tatOK`#-HQ#95G66 z#Kb_58Ar5i;EOSmWv>FQyPW>be+}Qo#6~T31{k4^Kl3N} zPBU>ljr;4{o|z%$O6k(s3`SnfZi+K?KNV0>g|QL@qEmZn?5^z@6O&;{f1?C({I@W_ zYv!F2_NII9bS677$z^e|Z1a2BsK06YocoO+eKx^>8Zq1YIt1sWM9Q|dOW_G0oCz)@ zZMs7+oCSoyHKYrh%SaEn0X*m6z#gaRT)r^({nY{!G{A-iyl6qXd*c{wEY{8S`&6%1 zI&FKq-3FfHnSQE1l5RON%oR%|_)u*@Uu0)84T_Mk>4;I4X*c@YYFwOYuX{nxtz>PX z?)d4{KQZlxJtU##eM^RBoN8oF;*?2L#w=SKr>kyhip|hhLLd*{Nib*Lb`A%FOe=F19+RQ` z5t3Vvz*_F^0>bEFv0sar#K8^(@8w1TP_DpF~VDRbZXXK#v zz*T1N@qzeH+)y6T?y4B$mkwRJw02p%?7APiPd0m zWZYn`hAaQ?jZPO~%`Tob^Vh^eA0a<0z^Afftu1XyHvy)G4*0e_n6%g)ggzs+FivRm zOaS|b37LqM#hk`PCjR#40GHoAzI@;PpmZZ}NPKG4xQ!)xpz?5H9oZ&Kho(#qTT?x# z7wY8OGMN`9iN$?U^SJ>G_RYU8+Q?i7zroGV@ZZ%0omqhV9sSGe|bo%Hf8a0`z>+YJN|#0w=WJTW*GHz-aaE}_Uxh;>B?PpAE|xLOXy zb05un>(aa6#6tz*qM%M^YwuAlQkvJye@K2J`pht6Q0ZqoSm)Tpv^tVEOQq`PyQ>`n z_m3}U$+DuPFw;ZoXDl%F`hy%AVUwRsF*EOdA#;3`m0Ro|0TC6+sZrv6L1;q2<`1{% zxdG-|%$r}8Ffpm*X`e9-<>HvXE69g|rul*E`zt~c8tfKAx*=lBq$y#ZY20YJK7n4T zuvhO--8%13k#xQ9u?(AZ7j-59jZ9x=aw^d}^b*Ag?1ud$POsBkYk)JTstcJaxC%vP zA&&S=n)7s%V^vz6<=yE)H0k=Q{X&--aGmM5Q;(SYX9r z2G?7hUsANHWJnC>D>k!P^Ypo7DRA=Brfs^V#M&SE2d*ZZdF#$)+Cw(Fcgvr*U6R-z zb{hG@UE7Z8lI|&z1!Xs~EMy`bgNjT>TP9+PNuFWEu;D=6mt|iy2bkIi7@x!-7I^;; zG0H@d^H~5cQ?p?7`G3g_PVdYjtM)veh)H3QU;MZm|93(95Tu`fbStThB7$m$lAyb% zf?*z_MEe=EFqad8xY=*jp+6rGVWbjo-03y1TfyCAhrJN|y!`sYUlLWkyu?dn$ z`yXqIGS5;Ue?tNOUxassq7>VkfR()vW!yH}>>OH^*ZcCm%2lefK>=6`wu^}{CtvX? z3mYB`*un~OI7SvAfj3;Xd~aH}ns!y4pLL?uiX6_b-MM;fWPj}z*6h&yVHf#1rILlXOt^G4!?j^7AuMuL+tF7UJ}a*& zw{@=>k{OZi5RR{-mguyqvc7hIuN;L|p=i@aYS)> zZ;`3i6bC9Ns#4mVx_Qv-+UF&3zy&YLo|+!_VNcGyelJ|a7e=sM@bP{np{SLp<)0{6 z^iso2M@r!w?nJaT_X3k!xgsD6a%zz6<@DuDWXRo1@72Bkg-)D{w#%X>yv}$cc$o*@ zo*w_e{Ou;QYA7d$sSG)}9!Yhb#4pFE)gv$}&4#~B^@B&V4>R_Xhbn|xFqqoDdMjy$ zN&+Te26CKcWK-ANGW5Np$Y+8z!VJ`rWX14`b$r zU7}}cS6n^pBG~F)Qf=_Xnc8%`$-48)Tw7;4(nvP6^{{!5o95Sv^nsTT`i-YGbA{!O zv-p7rjC~_e*JAHTZYU_lh@mJ5$fo!)1|H;!e|i3Z`{2)fjn5`?47x}2A>yazfJg0m z;{KxjEET-vm}j%vs#e-MDe;(wx8g`Wu$4`5B{;h3-eu+ia7hH~DhL?r8gFV{v4Q6j zH>aQDqcEHkq_63`fTI(5p15h05xQi*{=yT~n~8LdF7O`;-u3F)K&Z+!kGZu}T3k+A z1g5B3!QaL^T11bKeXIm7wf!kpI7$n@K%)|wrNibNa)b|D1|UsK1?$SjNh>5@am8_sX9`wE^o`Wem&|)F zOw7@SLyme*W?t#S2O{!U+nzt4Y(Mq5^v$3t$?{9;LV8-iEO=xc>lwZ8#Zm-hBT#88 z+|}3ddTu$+wdZ>K=M%8%fbl(~pD>=_re3F2;fJ`!nY=VPkKep7586*}`H6=V%T`ez zljfa{Iym*S3F~TpkpssTqo8ILcVB!7#NgEEZlW7w!yN)uOTeT$v5*BqU%kFkNvNAy zlCQe$>B%{M{KpL4%j|xB67tOGNS&YF3X_M%*<7tQ4SEdi85}05I};16rjH48xQcW{ zS&t`$nn{<{Q3?=?aHTqpm${$$sVd;X$Tcke%ubS7|q=O9zz zYtnqOIVJZG=Uxk|YK3HfwF0P`K-ZN@sv47qW{?xd5`?S0EwwlyPTnX$@z}d z?m!e;^IH!mtamI5(;a~sSiN0Sb4(}^kIE1+U>#0bnnux z!P$A4RW0StD#c^GS!|<|nO6Ut-`0i$3ZNv5NSeN(CNle!E!p_>&dmJuIxu1IVguxUAffBD^(-=%6{|VHqCPv-+Bd zti9!YEb(z94zkJX>)Tps=EC|RR{hE}<4Ngo^bOzO=WpG;Gjn;eAR}5)g(`@xQtJ@C zBaRr4J)7_jKk;DB9|h~WEzrG!%K=^;uc#mL>AM&WXCkNj2fGfOT2($z;y|sMA$7~S zqF$Az&V5Y#KOaq}{j5JF*}(XK&Bq03>+`IN&k}op5sDesw#8?7&oZ{5gPe;uDxG7@ z#E6gI-BU$jXJ`Ep?zZms)$QEFkFtHt+p60iZ|z z2`bmIe+tlMWRs}CtWJQ2iiiNjA~h^ve9nm<)PC19u!KJ0`AoAdZZ`1Jg^9blJQ5;5 zv;7W$&IqLj9?R4=qIvwE=gSO7F`Te~&r{^dq7E1l;)bf{kErL*W&b)!UkSpGK#V!F zGY2Pj6eyBncZShG$0kSGY=RJ;5ap)xg?iu$x=%?CuZ$xkW$cBAps)8u#2oC*R}JLs zR{qJsHSH_Ew>JD`AsiY?4virw`2COw0a_LJi?FNv-Qd$(CJG##;I;ysc#~<5FThOaWQ4<~nXZ4H2Dz8-p-kNq zl>yUsS1WzP;zmaetfSQ!zWAuCTLOYFb~0<~{Qif!!BoA)4m{pW2p z-IdMUJXmAJ4WE704848)hoQxozHg0>W+928FS6wy&aEUsK*9=l!JK%W;oz1aW4w|o z!#nGQ`Sn+Bx6A@5?k-5cgGUt#cR8!*_e|8KrT*rqthq(!PL+q%-DU_Mz`HG){ffJM zRIlqQIuSIto!O#9J?=QvG7q{+01p4$|Am477ObOh%9NW--Ut@^E%%`SF<*tA1 z?Gf5F{gQ>F1d;BV^zoM7UYp1Hi6bP({R!OdmDEw*LJ8t7I}algS5B1ka-@fVqbl3d zy)@ll+{fFtXMTN*W@I&E@=UB^%fsQ#$s>+(ZSlla)Bm0g?7d#W-^U{7VvVazT2s6u z>oGFlb2E?+>=qDYyZ72{sjoA_hdg+iCO6ki3taJm`{nYKt(m(ffgh6`H2dOA&Uxjv z*4Q4ULC4+n@m_z02R@$~Rl=!A{8r>%tH}4OYFxV*7xlv~N-n;GxpK=5aUUO`qC!dX zYBlSumzw}yTE8~xY13?m47(BBFMkO6<5KOL^LAq71f8u&{(6hm>P_f?YEt2)M(6lA zQq;Q=@lWBu5ZUz7r@ThVf?#FD`b8?z%Qp1Pm7@_v+go7)Nl1IS`sKpqVLtaEe9hDGfZk=h@h1`f4vP=!iA7`dsbjsN3&pX3cn% zb}{nmQ=9o@zVV*vK~pdKnKqwU!jfzzW-}1#ZuIqQG^d@8eeN2!y#%QC1~RtXL&w_l zKEGcxdv5Cq)U*7gYlT|#xvGUJOBMq-j(3?BD6GgO|Pp<*bmoKHU~sOT9IHcvIE zpY1(K!uoMK0e3pBs^gRdrNozH_1#yXyHK=fj9156U$$@Q{Ojjwx3*KwN7EzFNX3fM zJwk2Xvo8SK-oBR1b30Px|GJ~zdF5&leDD}Pf7E@O?Q91~$nYADuenUbx)3G9NU;c~ znYYR-AVT6%0_pvGZ4ak|KA%UeJ%MW`i?NhQaH5>p+6vk!qUPEy51K8Cs}RzARosAU zv4Dd{sVkTEoN&6Y4v0Lv;{T-L{0&cBG@wgS5HAxC06^T@EdAauCAcZvB9L?CY3^mB z;|ph`(Us|7fJOhqu8J|~O}UWwk32}1TFFT|rBVBXwfV5a+XV|rrkp;9gxQ3QH9#4f zF`}a6tnJ|!7v-qSYui;hb1fEu2pa6_=YcC&8gb7d*zLxQessDv=RcIG-+*;Em$PzvvZ0xdmgdY6& zrCi+?CrLVKXO)3C_vV!X>E9a({j$yakp9?Z+Hfd}idRp1e#~O8epblIr=3T%6{`W) zu>A3H9>TQTC!nB6xQlky(T{>DY=*9K3ng7ihXtqsnqFr0>Xa8PFvaun^e+ip2r}2C z3ljqI>1f`RAy>WN$~?zI(Q)K+qNFdHKCsfS13>y?_8NxR!m*!oO3=ks5{Oeo;bHrLl&!BtDJ6{P$@~dFu}PVH8Z=9Ub)1FQ+vc&o$=nwmG4J$ zadg*DyG6hFfJ=)-$EhM^A!=wJ+a-@sAWC#-mG~Mag`sFAl{b~>o;7l#V<(K`fMM%- zYlwP{KOTtHK3VI#lY_S2zp6E|G5=A;jSiI#S@5kCgcYS=R75CN1oDpe6+%zGAbiu~ zu{_o$2-#VOov2WY>(Hhd3m(L;)`MyUFYq8%rFML@9rYE4oxHMdr5N3*#Pfquyjo~7 zAY{eMG1YN3?KP&TjFwk}mvGY?0|A4L{>@yTa#5$#Xgp zlDPSIn0TI;cVA;|WY?49mz+mpm(9cJ%Vi6`_e~?l|NX9talEp2O-i3-yS(sT^@C%o z!h?So*p!4(RKc!Iq~V$LdY!!(TmkVi%L&-DE~F7}%naENAV-D=T_(-Rih*-y$Gzx^ zJnzSi)wg#&q_69$B;f{(LOLR%J&j!)R)x$_>S6h7ldGnqv9iKmWJAyGSM#YHc(5CeO9H!O-fDcZY%)G0?WgMO(65>rh}D{ddr5Bz+QDo&Uq z(Y}3m%E*R2!7rG}6}l<@`^k!)Snr65Ky9s_IGITjugcF`yN1DD8kkj_kftB_d}-; zvZhb_D=$Bc@q6L(T^FOPB#8gTp@6$|revPyYc;vf&AuUG(*{%-j|RH`c!h>){YFpNL22hY=$jxg3y{UXP|JfqzNI0|GE2LSEsKj8Q0Jr zq^ubTo-^YVp3vWb%@!k>+)Ed|@$@*Qq8}+Onq1vz-ljC_cRK6b;aawJ3=eboT)1Pa zD*PIwF44zhVIBVQJLj?y50$?M(R0goS3lp!2&@iFVXY&V!YWw@@-J%4Roh``uT}n_ zhP(*w5K<{Dyy%q&y9~mlsx(vrgIgu{yYsE~cpkIN?s(up|9F)L?JKFfGZ#4{QV8=; z-*;Zdv%a`tET&_^jPH0?^RGSLk4BD-RPPMS5i=)iFjkhrD6+cvF(W`OSz)u}Ql%qB z5hqLFIyy%@DfVKWS`R4eIM!oFweM(+g`t(C;+R|}a;Jf6L0f@dW(p!LvqCYQzftga zrLDBHY*}aZ-j9n6P?+#b(q^a_4?K3*Y?g!;&#Simb4zWWc#u5a`sGIUlR1wXFegfD zE!FVcX~Q+CbHXApPf}m9U)R^`d2ooDUH`JM6_~~!n=sVXX!xDVtGLZ$2a|l+vcEWr z@8G;|UBYlfD?jyFpexJQ49io54-N`Hm>b*?P)ppSWTUEtl|T&q$8Z^7HhKJ@^Y@AG+5n*9nR_sEqgn zEM<#x6a23m@p)udx+WANef;c?vPduWDxx-tACl2Obb<9Zn*aMtHodYHDK`X{#w~=M zNf5&l?10Eqgk9A%&bZP$KTtO<>qsSd4@9LC>B3Y0uEYbgP+u`jaUPTYGb3jjd4Ye* z7iI%3N!j70dQ{w~irMqL77@_}Gu6UYj4D3AQpRS=+o4;k7TMhjP4mQE4yPjxn z{_>D$gnJTG)6C0WF4&z`h>x%ownr5i?b@X*GfQ*ETGq=}J1jgi9bgY!0|NN9kC>WO&!SYmB#*(eUTNjP zM36x}g`A-{k5{fDrf^~}1t(!YQV*Mr9Wcbzk7IkDnw`D(sOd=_V_}bn;4l*{mUSF@ z->&U8$+(AWUJ9xz`SWuu*^~a$d9-cC<|KJZg?ePqtj{Q+dcNKP1Crhmnl-uJPf$XX zg5q7yE!45Rb@rtD*Hi9rb7Iaq@Bl3h&JHP1J9ZbTQG0uPX({3ly)=X+Xd12li{-IQgeoQx?DnKgN9{KXr(+m zk;NrrP@PSAc=zxItxQ^P7`w0nN$9I^X#GpL?j21p)A>}8hOoG)R^C7FjhdvuV@FO@ zD5Z?SuX+J3I;#g~I}GpuaoKz)m4NPOG&{j${h5bsZ2@e)#m=u6qH#MQ5u(`lWuo4i zITc2SjP3GamS_6#Mm$9Py(t#Et~@qNB2ef05_n-M--W$moLg@dkBs1$p8my5f~xH~ z&Oh#o0X>PO!Q|#BkR}5yPMe6Rcs}n54zqgfL$PfiZOxD7W?++|k0yXx<1SPGD8<3S zTYL9S3?JrbVbokRW^u}*J$g1w+S(qDSXy3Wl4S)y!>GwzA&2^_8?p84)AzsOtsnmf zR1;pASH*1mG>6zo4`Ues(cHEr%!CL%K6V^en&JL(eZf(D1nVWP=IxJMz4We{YbxZ6 z84dkc!5_GTQ#}}N^u1|Xx}P2yj0L{$@^NBm`yxx2U{B9VBbbthvBm*xNrsMH{x*W* z+xX1+EA0N&VQm{8c+W5J!nD@Cb^dD*&oneWX`3U zGU;u`3fOkzmTJg5P~Ee%RVAg~MOuR(Vf{0P2PGW_&=iQL`0T^gJGq+e^!gz~@G6Y{ zUtA2A^}_iMFm9$eBOR3^;;ADE_t=PU2gq?akj0CcjF!ls_?nFq0xrX};1MB|&-3bho3ZuHy z21!A0uPQdEK$h>qJ&Iz?C{jwno-ZJI)G5JWWm(W)e(;#mMq5n1(Yvz1ikNn7_BV+? z1(9(B%<)DmugD~zULUCY4B{EYExuTMxaMpL5k4HxRg%o7Id_Upy-;QjSdU%!xPC-h zp|7ShNXnJK8*1jBHrk5WkDqfXoB?4sF-{~1xwM5pp4TIP?%v0lnJ?=eXD^OCR_X7j zK9BG6;cn6orWTYom(i78nmPb|`~|ip!kD7SjH^8xr7Rxa^#ogP#3LEeFWEP>2CdcZ zl%y)3ztb@10Uwz9rdWehjrNs_ieea2itI2!MR}?tFLwDJDW%2-ruzlNux}7d9JL#> zuO=SP<#m8hBEeaKP-+RJIg{pqKuYkzBbnqgi4Ow@0W?<*Gq-TW!L}WrGSN5Dr!-a2+>xqRLWy&`b%<6>@=CqALm}y-Z`Tgd2U0tfzYM z?XfO=?dW7WH{h#I85l2)D6#zTMzk58NM1-rR#x)t$9&Cvr9C%_Dru|VaQb$BmS1$(B z7`nP;Gf+-T%Q;pv7+5B4i=gOHbTzDwqUh28Jij;iNYjEp$PM|;Ms$miFgfTMj%q-v z3t?!VET!qCl}L(ks|q2BWs3cop_6OAulW!sbuJ&(qV%oYjM@)3e@&WNO4psY&cq-2 zR;T*2iuHtMqPG(=J_&Jqs~QD2rv6N~(~&GGu+OYFV}Fyh-Bxdwb@M$Cm#$1HXeN-T z=!@zp?h$!|Da0V2qyOy_dI%(eb0ak-hDVTpI2-)^*<{R}@M&30%&MSw+E=(b2t?5N z<5m$U5*r+$ws?455o6mx@hbK}ua$-R9A`grT&6MrKNIV5IJwM^?%R6#^E(tQAG{59 z&6W>u*S17?2S*KCy6B|~t0ot7{~f>(2)ux{Z^pJ~e{CLed5L;*GRtywqT_+%Pt z;>qNOX=8QC-++1b`QpcckY(26ae_*Rm|>;-`b9Rdj#(4glv?b^X|N9bPvhyR(#vQR zd$tm!&#~CC``G?Yuqr{@+vIrGMZfiA@?LW1pbI8xpo@xXMdD+;c8TbQW8 z=f@{lKu3@I<@!Rmhr;joE2dae$tp!7a`0^dk3i44y=oj3sw)?kt4*c(O_XO@p z!_rNYa2I^G1IbkSSbo4gu`d!805Z9RW^5|T6e=*mKU!`^< zX+F3g3+IVEPrczH;_y0r?yJY*M?qGfVf;+wU5eZJ1V277$W&chKY|OTz{J=~E83yI zXp|ylLJd!LC*T+oSJKj$0|Y{FjYgsniB9%yC{V-vqk=vmPe@~+&4PhDHrreEJKHM0 z5Mm5|@W`Ku`}(_+z9dV@;r1|o+l58$aj=_5q~>rMPzvn&RqdQNXGCIV=C1{_@=}VS zc8@r9{3DRcFb8g^V8@Q-_R=dxZ_k8QGni_~8MfE^PaZclIh^O%aN!}nR-68{(O_7Y za`{pbC;kTL)5M*Cg7;oX?#gnm+UH*kp7wVG~m43S(he@tlo5gp1?=scXY|%R>+KkXp{l3afzoH1+ORD#^#1z4q zE2}<%lExzPg9SG^&kgRrG$EOLl1#BTOosVzzfBKLFwj!@ujgS>5)a&N-|D()Xtoat z|D_QOvQU^m_S3BCBguNTDbcP5p&Ri5fw;aHbf#cGa0l~OPJBlOv z!>S#1H|>lyJQh0@CPUf)$W6~MSaAb(&-?`{8Bdo~s!dr>HSObfrAW#EZyP#@ZM&=U9a6&2+V$7Z_q)yJ3a`aDj(h61Ll~gGnBKkX z9TgS>CmnydFv$a#LQl*&Ba(T(hkU|=QsG|D5b0GidzaohuoDL`nG%C$kwI>CbXeP6 z&v1r&Qp^c4)DFpIQOCYu*-^1|n}MqN<^$=`q^>#zYm~;n5@(Ys`?EqFvF(Qwt>-H> zK|`K;$1NKBj22_MFSklJkP9}q*4^nkeZuoQ>2x1Gb3L@CORACwb<|F8=2RmtAwk=d zkA#-5v>yD54p=7hj!bL6c-VT=3{?EF4)}*}6U`!X9HBTTiSo+5dt%~KPJa{~nEeSn z0nE_nul@P<5m4X)4T+ef!x?VraQ>jibKN!7io3=b21?M6?F$8><;=&?=slCFn3$iG zDNCLwmYustNO1zz%%qj5ZzJ~l`9r%onxIi#cR=!$`}!{_q&_NXWfwuYx{|POu#b`= zME`D303D{bGFTiYJe+pmlwTN9P|e(TErulF(ag%ABL3`(rQ6K&hj~mafRhSzs4fD2 zlDZ!j$8Gs@(!nSVe$Te~>8FXLjn9bdRTE3g>CPPRBSioE<@;kX9380s-8DTtOx40C zAgh0oO0VKW5El7qIr2$qRwE%%*suQ@Tx|s~qvU`tjB~ww71Cv{=x`itu0N3T;9{N- z%c8tuKc!L9FY=^xK;kxnG#y_6M=SEoNh&>G30&|o_jlQanJ)|(jwyf%$KSJ#|8^!t z6t)jc5mLbS$OL3sK8#$;t`pA@bKhg9>6@(FzPz;hx$aQ8jHJBCvP=MO1LuE-{YXm6 z6H{m*tW8wM4fArP$>{dg_Nzy%)>vxgMM=UKo!)d_#-`|4VgN|*|m{T0T?lHh0 z`=8th?s`#!W-6DGta>vA@GZXWMi%z`7EW&dubVgX(+WXg%aPtei@rCO!4^UA)UN3B zath;;>*wJV_A5;afyLqSpkg2$6ZRtkkv?XTZ33L7f8UR(P`k@MmFSYOL@*F2_^jZt( zDuOg2u=7$w&OKuYD5{1Vk?XnJ=-SabraY4@782xD@<6KmcLdYxrdzaE$4Wn z>ap;?JX|#9&@!$oXc

QLU+Oo#IgL5`hpC9~2OiKmR)pqa3x~vtpFS*#-KYfSq5R z@W0H7)7cRpw105%vb6v<;cUR`sLvTBZF4BZ>54CjuhW=@XgoIJiC%4RDE+X`nXrxz zW8layD`UA&{zoJ`YaHw144q7o>Ji;y>OahPsR}^*!X`;<_ZI`~%PpewC7JYG5@XSB z6e1?Evr+kE@1!byb|<3q4HB0>;1d6m!zaGS7l9y_4oUiNf_ID|hfy}cyesdHBG)6~ zHhTTIZC*1eF^qDt5ug z+7_C2HUNXkvRBB27s@YM;eS$bFF2{{^kt5PKxS4i3pOPjKoxYpt%$eIw9Wy>=SlPW zzCV9^xb-vV1*o2zVZ!72E3&E^vkTuuT9@J*Y@~#hoThNPZ$;^hE%YvpfRSwE)`T3Fctzhh3aY&bS9% zQ3Rek`f%cM<6m@vXKxH)0aNXMDdu2HJ>Dm%fUfiKB~RQGOnhzt9<*2TbeqH$ zf``o_>qztIJO5$dw8CQ?#%ZZalXq2)OvO~h(B%V<=cA$nI%ZPA|My#tZ#F=3@gYe3 z0XC+8C_7a}kzsX%0ho@DAP3rGPPByL-;JoqLn1+KAF3n6^UFW?%HO7D zgnE6`U3ICU`;g{`Lxvs6rYU#nuV3Uor<`e|?;T7JPk%kUKbt*$k@z1boL_w#p`j&Q zKe4$b(|3x0eIq48vt?8}RNr}A0-IEgpooO1rl@X^M|uwVdsS>He($|4Z^>ZBh4A?? zd>zJjKvCY-5V6y}xHC8>`Q&YJ1w+(l8PY8410}S;#Dyz4sgAC~t(noqp>CCKPM#=h{fQRod8BQ(DShq}zrvMO{mrGZ=eVJfnn9^NuN&k= zhe@`WXmB`i)$b>8hypV{;%GF1zuGw3CBCob1Hx*RHrwCFc~9Lxc&P1toaRLRMOOnu zKBU$_K!4sGjSCN1%Jzl?fmqy&PY|_)rm6WZ+|!CcL;W}RB<@LUs#z)vZ*k-#+z(vuZ+&(-(=B-=03gZqCZt17nW$*ksLcq91(-9gg+c(L#pggO#YhhGjilfD>}tNE!2h6 z14jqi;CHyhx$%EJdzA6ur*wmWhv8byOUmH-vLo4GbgU3P^$-4!+yPV_!CzPH58Cr?n%{n)$c?L<8uL`~$45Iu}Er z_hWL@6S+!@U(lXCK6~6~unPYlUpk;I literal 0 HcmV?d00001 diff --git a/win32build.bat b/win32build.bat new file mode 100644 index 000000000..20b89bc68 --- /dev/null +++ b/win32build.bat @@ -0,0 +1,63 @@ +@echo off +cd %~dp0 +SET MINGW_PATH=C:/Qt/Tools/mingw730_64/bin +SET CMAKE_PATH=C:/Qt/Tools/CMake_64/bin +SET CMAKE_PREFIX_PATH=C:/Qt/5.12.10/mingw73_64 +SET PATH=%MINGW_PATH%;%CMAKE_PATH%;%PATH% +SET CMAKE_C_COMPILER=%MINGW_PATH%/gcc.exe +SET CMAKE_CXX_COMPILER=%MINGW_PATH%/g++.exe + +CLS +:MENU +CLS + +ECHO == PLOTJUGGLER BUILDER FOR WINDOWS == +ECHO ------------------------------------- +ECHO 1. COMPILE +ECHO 2. CREATE INSTALLER +ECHO 3. CLEAR BULD FOLDER +ECHO ------------------------------------- +ECHO ==========PRESS 'Q' TO QUIT========== +ECHO. + +SET INPUT= +SET /P INPUT=Please select a number: + +IF /I '%INPUT%'=='1' GOTO Selection1 +IF /I '%INPUT%'=='2' GOTO Selection2 +IF /I '%INPUT%'=='3' GOTO Selection3 +IF /I '%INPUT%'=='Q' GOTO Quit + +CLS +GOTO MENU + +:Selection1 +mkdir build +cd build +cmake -S ".." -G "MinGW Makefiles" +make -j -l 8 +PAUSE +GOTO MENU + +:Selection2 +RMDIR /S /Q %~dp0\installer\io.plotjuggler.application\data +%CMAKE_PREFIX_PATH%\bin\windeployqt.exe --release --dir %~dp0\installer\io.plotjuggler.application\data %~dp0\build\bin\PlotJuggler.exe +xcopy %~dp0\build\bin\*.* %~dp0\installer\io.plotjuggler.application\data /Y /S /f /z +C:\Qt\Tools\QtInstallerFramework\4.0\bin\binarycreator.exe --offline-only -c %~dp0\installer\config.xml -p %~dp0\installer %~dp0\PlotJugglerInstaller.exe +PAUSE +GOTO MENU + +:Selection3 +RMDIR /S /Q build +PAUSE +GOTO MENU + +:Quit +CLS + +ECHO ==============THANKYOU=============== +ECHO ------------------------------------- +ECHO ======PRESS ANY KEY TO CONTINUE====== + +PAUSE>NUL +EXIT