From 0ad0a587eba4eccd430c56ad0854b87058f71473 Mon Sep 17 00:00:00 2001 From: David Rosca Date: Fri, 27 Jan 2017 11:04:32 +0100 Subject: [PATCH] AutoScroll: Draw scroll indicator inside white circle Also slightly modify scroll indicator pixmaps and center them. --- src/plugins/AutoScroll/autoscroller.cpp | 64 +++++++++++++++--- src/plugins/AutoScroll/autoscroller.h | 20 ++++-- src/plugins/AutoScroll/data/scroll_all.png | Bin 1226 -> 1461 bytes src/plugins/AutoScroll/data/scroll_all@2x.png | Bin 3394 -> 3457 bytes .../AutoScroll/data/scroll_horizontal.png | Bin 955 -> 1032 bytes .../AutoScroll/data/scroll_horizontal@2x.png | Bin 2332 -> 2302 bytes .../AutoScroll/data/scroll_vertical.png | Bin 997 -> 910 bytes .../AutoScroll/data/scroll_vertical@2x.png | Bin 2348 -> 2221 bytes 8 files changed, 70 insertions(+), 14 deletions(-) diff --git a/src/plugins/AutoScroll/autoscroller.cpp b/src/plugins/AutoScroll/autoscroller.cpp index 766aea87f..58057ee7c 100644 --- a/src/plugins/AutoScroll/autoscroller.cpp +++ b/src/plugins/AutoScroll/autoscroller.cpp @@ -27,14 +27,59 @@ #include #include +ScrollIndicator::ScrollIndicator(QWidget *parent) + : QLabel(parent) +{ + resize(33, 33); + setContentsMargins(0, 0, 0, 0); +} + +void ScrollIndicator::setOrientations(Qt::Orientations orientations) +{ + m_orientations = orientations; + + if (m_orientations == Qt::Vertical) { + setPixmap(QIcon(QSL(":/autoscroll/data/scroll_vertical.png")).pixmap(33)); + } else if (m_orientations == Qt::Horizontal) { + setPixmap(QIcon(QSL(":/autoscroll/data/scroll_horizontal.png")).pixmap(33)); + } else { + setPixmap(QIcon(QSL(":/autoscroll/data/scroll_all.png")).pixmap(33)); + } + + update(); +} + +void ScrollIndicator::paintEvent(QPaintEvent *event) +{ + QPainter p(this); + p.setRenderHint(QPainter::Antialiasing); + + QRectF r(rect()); + r.adjust(1, 1, -1, -1); + + QColor c1(Qt::gray); + c1.setAlpha(190); + + QColor c2(Qt::white); + c2.setAlpha(190); + + QRadialGradient g(r.center(), r.height() / 2.0); + g.setColorAt(1, c1); + g.setColorAt(0.7, c2); + + p.setPen(Qt::NoPen); + p.setBrush(g); + p.drawEllipse(r); + + QLabel::paintEvent(event); +} + AutoScroller::AutoScroller(const QString &settingsFile, QObject* parent) : QObject(parent) , m_view(0) , m_settingsFile(settingsFile) { - m_indicator = new QLabel; - m_indicator->resize(32, 32); - m_indicator->setContentsMargins(0, 0, 0, 0); + m_indicator = new ScrollIndicator; m_indicator->installEventFilter(this); QSettings settings(m_settingsFile, QSettings::IniFormat); @@ -189,15 +234,14 @@ bool AutoScroller::showIndicator(WebView* view, const QPoint &pos) return false; } - if (vertical && horizontal) { - m_indicator->setPixmap(QIcon(":/autoscroll/data/scroll_all.png").pixmap(32)); + Qt::Orientations orientations; + if (vertical) { + orientations |= Qt::Vertical; } - else if (vertical) { - m_indicator->setPixmap(QIcon(":/autoscroll/data/scroll_vertical.png").pixmap(32)); - } - else { - m_indicator->setPixmap(QIcon(":/autoscroll/data/scroll_horizontal.png").pixmap(32)); + if (horizontal) { + orientations |= Qt::Horizontal; } + m_indicator->setOrientations(orientations); m_view = view; diff --git a/src/plugins/AutoScroll/autoscroller.h b/src/plugins/AutoScroll/autoscroller.h index 2428a4252..ebcdbd454 100644 --- a/src/plugins/AutoScroll/autoscroller.h +++ b/src/plugins/AutoScroll/autoscroller.h @@ -1,6 +1,6 @@ /* ============================================================ * AutoScroll - Autoscroll for QupZilla -* Copyright (C) 2014 David Rosca +* Copyright (C) 2014-2017 David Rosca * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by @@ -19,16 +19,28 @@ #define AUTOSCROLLER_H #include -#include +#include class QMouseEvent; class QWheelEvent; -class QLabel; class QRect; class WebView; class FrameScroller; +class ScrollIndicator : public QLabel +{ +public: + explicit ScrollIndicator(QWidget *parent = nullptr); + + void setOrientations(Qt::Orientations orientations); + +private: + void paintEvent(QPaintEvent *event) override; + + Qt::Orientations m_orientations; +}; + class AutoScroller : public QObject { Q_OBJECT @@ -53,7 +65,7 @@ private: QRect indicatorGlobalRect() const; WebView* m_view; - QLabel* m_indicator; + ScrollIndicator* m_indicator; FrameScroller* m_frameScroller; QString m_settingsFile; }; diff --git a/src/plugins/AutoScroll/data/scroll_all.png b/src/plugins/AutoScroll/data/scroll_all.png index 63451879db2c70b2b51318f1fdd8109df6f6cefd..432ac2b80a523aa618856d4848d095b7df162ca5 100644 GIT binary patch delta 1430 zcmV;H1!?-q3AGC$iBL{Q4GJ0x0000DNk~Le0000X0000X2nGNE09WL~Z;>G~e;Wxm z52W24g8%>pLPO|fv>S8og!r!xGu9RD>!Un$QVVCM!OlD zZ4GNdMQF!F(X7mEfl0B~#a zOM3T*H(lzcTcZ{>cHqGKbi7E(_xJac>gsATG&DqfKHrA` zB-yZ$4RX=0UAyw~^YcHxc<~|t;KGFq&}cL!olYmqCZ{M17R2rC?F~0?f8N~a^?CsS zV`F0&9vWh*rLtRo_T)fupc7MWg+^;h;GbyLjNdkdDDjJOrjE#*Q2A~9x zlM(ZL8j`_akh)y1B3k`AbZcj4XH9c+^A-Rb0OSM61t7V1@7_!0<>iuR zVTA!8-nMPqnqV+kpGu`hVzF4#=kvV{Kn6hE-``)fu(0rzAPARuotvz&}h*cXf3U zqtQsZy1EFLNCx`)`d$Vg=Xw68lP6D-W5is(`(nRedKUBmV)(qJ*ujzzHMr1GM_tl z&TTXra}$XK0HCC#e+0F)wb1Ew&Tu&VSwTTTFMve=(@htg@q}R=#SJa%VPij{b+7(j?T``ez{}Ej_8x>LqscEeemGHH@seNJJ0i+ z!{H!CqmfuF7BV+CcL_j|#bPO+e<*}AYa;S6Ie+HNnXLed=I7^sZfR*D_4W0S>V@N? z9*@UbS6BBMe^t<$C-o?X>N^(z3!tc>q2bNR$;oeGu~=+sYKq*xeY=q+$v<`K)LVYP z-_CK|P#_Tav8}DGl1ew<<#HXqfB!y-$Kw%?$73}Z44VOH0Ia3?bDpLYhDu2aKu*DE z4jnpFdgI2850px!nm$(mSjV#L#(n$ty$)bK1t13?f7fcYg|}|qs--*E&^&UQcV$wg zL3sdFv=in6kWEZXyc3N^I}(Y6-|zPmK@g@Qk;vJJiHQo@N76AWdi~VJnZE&o3|%t- z;Pra9C=`lc>~=c_1_ls`M8L8vDk>_lckf;@IXStxtgLLD#uDmFa$M;FmQIkOo&*59 z-R_mkf8~+E!9heK5dgr02M;hbGz6JU7O+~a0UDRgh$YYC6ip`~$B!S627|%xYHDhh zeXwWG9!yV9pS9U+3x5&!+>Y`zGfA`A++I~x6;-R%0050fgUZUv*`}tZ@9EAL|0#g1 z=Su*r&*y9H>FFWW)zzf0uaCIh?$4eZ|7DwWE0w17ytkO07*qoM6N<$f|o3%p8x;= delta 1193 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 diff --git a/src/plugins/AutoScroll/data/scroll_horizontal.png b/src/plugins/AutoScroll/data/scroll_horizontal.png index fe1eae3bf0ffad4b8e64a1665c2b6d3c136d5ce3..8e4aeb02778b761baed5ca8ba248b7d32c09c929 100644 GIT binary patch delta 1024 zcmV+b1poWH2Z#tWiBL{Q4GJ0x0000DNk~Le0000X0000X2nGNE09WL~ZvX%Q24YJ` zL;wH)0002_L%V;GF&KXbbV*G`2jKx52{{Hsf{3XA00WgtL_t(o!|hg0NF!$$ekMQL zteDs&LR{LtEEL&gK|&9u6d?$8PaT_WhftBJ6jE4_MbXn9TC4{vLq!^IJy;sBEj!W> z>L4@`%%ylJj0d}`WZHuel8~u!XYx78B>VL;O5AQFyA?|z4}5=zd4Hezc;0sg=%9m_ zL?)AgVHhw?6NC`RvV6G&BuN6P)**@_c%FwSiqLCyq*AF1sn4_%ba;4(bUKY>GI?ra zSr)^?!|-@K|C)rYogk;vd4>Q0B$G)v9F7aQiMB`(Lcp@@85_&8AcR~9341$1KA#Vx znIkBh{a-;KA}vzB7T`1TN{OJ z9LG5oMY(RpGwtLkigKOfIA@zVEeqL0p^&RoDt+8&G#+W1Mhk_)9RLmh_Dm*o%`l8F zP1F3D5b~8Q%dc4)a})}NJDR3FZ8RFcmr5l*6biX4AM=00%}vvMEXy*To}Q+HAW&V` zzX#AINz&`2TF;51NO_*8q9{_mRxhSfsT%;g2q8Z%EG*EOnHjphy-jPi+M^~i|F{|E zSpur6e&F$VW_NdY`{VIA_V@Pz04|pcD=RD7$jHbWq9{H{r_=YJv%J3HIPUXABC*f& ze79j30Dyn~{(f*AhhQ-HSktu6{C@vW02%=3vm3=R$sdWVLFJ`4l` zUrUl?oRDZ1CNnxZs;R0vH#s@^BpQvv>-C=5nt^{nz(^z#hlG$nTP&|X*4Ebk3IqaG zyWM_f&qSk9OifK46^q3$CMG71Tj|3Fzy-k1aojCMQI-tDC~s_R(DCtcIyW~*%jNP0 zfWG?p3P~bMABixB{TdYSuw|xxoI``T6tHVH>%8e3+F^+?wbT`0;pT36&%)aTF(tDz5(Fri5Oqx ue}ZWugr*|&f^+`+Z$}3mbkM>70)GSKtEmOHS&g{>00007q*#R#_OOT)LNC1t zCF)PGlx#gj5X;iio;)bEhi(}bi!Fk9=pk4wrfd#26fA}2vh=X*6t^lNqlaQ>LPn>Z zWHRk!`tQL%VOlKP!+H?%!Q+Sb{_lN{|9|fRHPlc;4c`zpX8$Y4{vTvJA;cj`(g}9g zW-&Ve?rVNYl1>mp9G2LjtK|ZLfHR-Z|6-cvTUAwQHk<7NPzQiZCX+3?uK#8j#!F4p zeiudYM^;2#Hk<8IRdv@i%{TdcJ{$-HoGf-=0eb`u!+0l(A{`nUqJkjMLZR>sfGd$m z9M`tXnaBUA^!D;6`slSv3p?f9;^N|I04`0_X2-|J>G1F{U0GS7J3BjXEd^9xz-ASd zW%+7DL&M10+FENg8bvCV0suIjPE1cvtKHq*XJfJ0o!O6dzdlWA)rzm3apA@(`h*a2 zFCLGl!r^eeuIm7R*49=KLg4rN->Is4*XQ&70l?%K*FG~d)8zO2{}cqFDH@GJmgQ>V za=DC-j*g@C_4O~>+uN^4)5hssX}20Tb}25OJZf+px6;_ycx!%sz8aHd8OdZ4>+9=H zot>T6c%FZlNF?-1bJ==&dQ@4KM+XK5wjz-TJRVP#>~J{1^SmC9$3JVD_My$|*z-r{ zy$)!a_I_?|?i0`R+Z@MLV_vTpkw^rCgM*v7T<(5eSTKMF1^|qP!Xz8KJ$s zy)+h!(PFWQrKP1SZnxXV{FUN(04?mSBz3vnZr}3q@|931bdCvn81D!yWA(M! zvMz@@b^?F_pbUUAUuAjh0x+3XUaryvCgYgw9<_=b1nY*ve&Rmve*b=sHGXJ(lU-dy d4K;lK_!q4)X$#TY{fYnp002ovPDHLkV1hPRsG0x( diff --git a/src/plugins/AutoScroll/data/scroll_horizontal@2x.png b/src/plugins/AutoScroll/data/scroll_horizontal@2x.png index fb9f22b1cc95ae7dd1b37f398d35702cfd16bd60..fe4782c3469be5552642d9b1345d86fca4b4f31a 100644 GIT binary patch delta 2270 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 diff --git a/src/plugins/AutoScroll/data/scroll_vertical.png b/src/plugins/AutoScroll/data/scroll_vertical.png index 18507b3dcda1d6608574753704895ccdeb7d20fd..2b2c627e8f83dc5c3577a7419e68a1448f0350d5 100644 GIT binary patch delta 901 zcmV;01A6@B2aX3biBL{Q4GJ0x0000DNk~Le0000X0000X2nGNE09WL~ZvX%Q24YJ` zL;wH)0002_L%V;GF&KXbbV*G`2jKx52{{ukUu;4E00SFIL_t(o!|hg2NZW7}{`${p zF~w#@kqw!ihC?>C!;pcD!bA_vr6^-cH!m_MOz<#pC-tC%(!;2|Y%A`dGF(q(Cpo3>_$#i8C3XkcRx-XV|tUcP*J`QCpA{EvSmOaRQIqoXze zX7$=|0M>jy|F~MM$~@0M1Yk89h-GMK$Wf_Oz6OIqMV945ilPXW5yM!h<2Y_?b8}Pi zcs$D1)|Qe^r=J3-)5C@y-F?B>tMkW3Wc8R z?Ci8L3ShTXC8N@{vPU8X_H3eawoSf|9dA`kVx5H%m{VbEo z1cD%t&*$5xr>C#idO)oJh=YTJF`nl?WwY4|P18y)mn-u;zp=l+?Ft;K(0@nyMO{wPUOkf!M?>QEXJ zD=RBkrBWpwjYbup&! zHA1Xlv)OK(1polCSPWLHwM$PwT_7Y$Vkn9_SEDEjk|Z4(HWRb6vv-72`RCc0;7b)@ zZf>sI$Sr?L1_FV*9LK#EMe$1}llc$|h3)~kY`CjwZEc0m=Y!MfG~UdlQmF@`D9+2W zoMTy5k!ATv6vYU`F!%MC8_kNDOeSwTozBmTi;LLa-i9CuAP558-Q5@-9zJ1N_GV{i z=e`!j)V#nVk;wPP#>U*<-W~)&000Pr0Gg&zUtfQp3j_i`wD#5fi_XlVt!W;5aTkKR;irwN9J>sE&`1zjeFaxt5j|06=qdGkSV@vVOn+9e`@BmzPQPkxqtT zW>;5N6_3ZG#N%-#kw{DdXwvI5HE&P=cCXjlQ7V+8D)z;4tgJ!PXQ znM_Ge6$%9}e`z b^6!ja>)2OAD-TUv?`ch`$lbXD-sOVxnT z9@0x}5nHPDP!@7ntYE39Y!6+b6c4q6#SjZ^gkn!cO2CU!Tc`ySlu|atY`Ty{cSbsy z*x5{zj)x?>b}!AR&4Lenhxxvl_jw=Yectzj{~08}Ha z!2!to`};RFP5V(%lyW>Cw^UU<)->&hy}iAl$K$zJd+$t$c+Unr1+)ULv9YlZpU>xw z#bO7`%gcWNN3~@FCt{k;PSOFmCMPGo*=%;^@bK`Pd_I3W6bfAdTr{bXNPvB9ZLRCC z2j<-`e$}nu_kUWS|Ds#PQu$zgef? zEPn_b1J+r=gnjIEI0AIOz5`PaQn(aZ)OkGBjyY*?`ta zB=YLfai#caykL!fr&_Z=7cAYZ97Uti9;yX)?mm{N4uVUIi;J%*in4AP#vN5vzg=2d zdIPwG;Ghs8wo_GgxvQ(|nbFbF7u{~R7r0#8Z}=aJ5<4=P%$vnxF=Cpgn#<)Z(=_iF zi^Xs{oqinw9}9J^R4Vm~+wJ~oWo3o!?QL{jN0w!JdU_Zc89B-2a@V`NyZ30Ia|sQJ za5#Lgt*uQ>BogSl4uG!f#N%;VT3XcE+1cM4jVV-tGcz+sxm<2B5D1*w9~v4WpU*Eu zB9RA;#u6bu0V)#{6JPp#KDD#66M&A64tjfgm0&RV6;R=v2LwE_lRKSG-`?2Ru>5|% z6^q5JWHNb+CfW&Vb_xUn*Gi?5GBq`28HRDcudnY4kL=VGJZvJVRO*&t7*;Zw{Fo-I zt-}tq%Cg+Pu(0qF;Guds5K{YZGOTwn2i4*{0m@Vh>&$WZUx@49)tB{;)iC}Bkx*L< TqGk{w00000NkvXXu0mjf9#zWG diff --git a/src/plugins/AutoScroll/data/scroll_vertical@2x.png b/src/plugins/AutoScroll/data/scroll_vertical@2x.png index 2b2521542fdcbded19f1f07c5fce969fbe5700a2..cea2cbc10329a0f9199d9a1855244a694752eee5 100644 GIT binary patch delta 2188 zcmV;72y^$W60H%CBo78+OGiWi000000Qp0^e~~d5e+P6)O+^Rc0UHVe1e18U=3yZ4;$JLjJB%?zQG;{SPw3;E-OkXe5(1Q=vNe)Ma@iRs^T zAsitrfbqn_c*7yYiW&bi3?T0;BN-S#SvJ_QHemsf7XSzo6BAX6qWnowl)pwIky-!_ z{WE)+Kq=*ZFort-IM1FvD`}b*qWaJ@ZSv;Lf19NMoF+$bU!z^d6T^4_u6R8D8%imC z@!|y?9v-HYQkqC4S^&5hC#0FcbA5J&K-vjSO-;paxBFKBaO1`ebar+E0168W4_>-- zX{i+hxQ2p_=r00L7>!1MYoK3OS4aJRKYj4v0i~4ESS)r1KoNifvm^4E0qMlo*w|Ps ze@Rl4fxf0`0Dx=Pt^oi_N=iOyZEf`!^XDp>-uqp^V#{-!I(4dE5QGmxp%8j|d((3t zK75Gb;b9O$79Tip;O7kbLWV6fZ??g7_HS%#bbCCWLuT}iVX$Dyk|jSobLNc4oCkQZ zK(GmYArtymENEABPIUwg@AaV`?LMcrG zz_xAMP*hZe{{DW%Vlm5;ii(O*TU!gC&u3JUPDzr4SS-dZ1ahhem|9*Dfb-U^e_IvX zw{QQ#;c%=pO4`xUQS|lo;mMOHpp?Sv^}^@#p}M*nqWCo?nx@6a#>Re8US8e>AO%1H zpc=YC&eqMT?G^QU-VI>sh7B9OH83#n(`Yo>rK)OzW*DlfzMY(${LB6O_dnUXb?dhQ zECW!icZnj8-hc-K!1Vs2-UK;~f7hCtn!>iWw(pmhm;b=!a;*eFW@cu>j~_q2bL7a8 zJH5TVvW|9AKMeF027UTohCqfeFb*g4-eIx5X*$IXV^hqls(-HKl>VHOprP$)x&ejE zdv*@%0L{VyY|N*4DaJXk11uJ(0r(dH8Nh45-yffvn)1)g%$!zLwOiA)f4iwvs{PHI zH~Vkjz6}6z00{tZS*bj)1QF9PWUhioj~;!bD9TrvlAxw(6Ol-yPEVjt{k4GSdb!Br zrb_J_05CW>xVomMW`Gb<6bJ+m3+9os zb%Z+unwy)KyIig+1L15V7K>pE@Lw81e|Q^j7XzY+L}JuP za@mF?Nhoj-B$LUJD29phQ16uX_PE zv!6Q|T|n@9y<#X7GFo1<4qyl%gl8$t%K@x1BrwLa!ia-Of5Oy43^9ZdmC+bzuGeeV zeS(w~J-WNQKdP##`jN}!@={7kGMRiC3jCUNL5l#mMn*2Q&Ybi9Ub-QZS*3u7@F%f^U?&<^zZ5ES>f~fzHm4k>x?;5Q&Z^g@5j@p zPeCa~Sy>r2e{I@?Wy{_rd`;8-@$A{NAFp1$`tK%2Pt}+*Pl3X z0z*SX^ZK4ut5)IS#ft!t5CmZblMr*x0v@F>dks&Je`Wb^0I+M7HB3GC}tK|#J*x1`n(vBg#|00KYyNPfq{NF95&GR*o8j#Cq@`2IQ90n z1iClKJL#B+VbEe z!vccYcYvEk(OIQ0wPA6#JvnM}g82q$cH5+O8E>ltESvz717NrD0Pt_<1gz-mc*o!X O00006QDd9Ns10_t4S#miq%>;O526OrT2Vi= z>&Dow#%5vN?OV`VT7qbdr9#22kOfx-gie@+Ap_3KJ^e6qXYLGx&}PnMO`qiCGR%EB z&;R+K=bYz%&nQ9&{-4b{lMh!EMKOLBGY}1BCKwR!c)Xbjgy{enoL9olXd>K913@+8 zA-aW~SHjO#`+xfS3Il<_?*f6qp9Tj9ivUabJ7p@CB+Y~nrZj`&7QlA$QBqPO z?%lg5gb>2*cAo&!fmBQw3T81NlK9HX$}$}e$9@P!U(+-IE?>S3!0g$x->j~#&eqSD z-7%>TNHFDDjvYI;TUFJUdwY9nY;262d;k7@T3cID6eVldu3bMM8hxp=f*A~mWdE|V zvW)EP?0<5IjlOO=3+Bw3^ZgSiPUtLPa8Gc&UkrWbwPbQWY~Wqp@e0FpWkWPb`Gkq!$Xd;ps^Z6ZBAo#y6d+-`Tm zi_+86DJm+$>2&HVNt?srP~C2~lp&CGJs_^+wF0)QSFaXq-n{vJi^Z}4Ld);=_I8?@ zn&|HCMhHP}ZZ1xzlNBpgV6}$gqG{T2XJ_XR^YimR0Q^7z2!?Kvq>f8k`|Hl90vW*E z)qks3zjFKb?eDo7?CE6$0b7*uzy^? ze*JUB#l_8vqBuSt4)E(vFCPv0@dgC>4lAWgXR#(H6~N!!-CdfOm-kmA$GcaG0R~%S+#0aDzVjNQq3$;R2dr^YXw*~XX>TL(kv^f76qTr_n@}6)_=!~mID%* z+wE=v_|{T8DVFE^^6h1I0K8uBKVtug;=) zQ5r%BZ*6VuSq!htWtdsTPzsP*Uthm=}_D2P(_%0Edb;! zg$>SIh-w1az=G!H=3Rcj|9{_;Erm5r8+-8J!4Y5~Fc*nhfDjU2j}!Ykd=`)eyaeR# z*|TS5e}DgPyk74|nx^@M5Zd_oc#q5F`mm;^=BvOW;ALPAU=K4$%Ik77mcmA1BqEB0 zKU)e43epxWT4cL+?b;~O3ee9)Aw<-lO@4GAn<5pWaJm^?d?uNxg!Nh2~b)Nh^K!;Lqm?!>3rW}v3yZKXJllA=H_O4 zdU_B-uyEl*)~;R4ynlJ~BKOfW?OzWcKKxEzUfw^Eqzaj_4zT!qzN@4EnBvrC<-2r z=Uoi1$CKSrQ_A7v$B+L~(=<;(K>>w@g;QRXo14qJb?Xp9JiBn=!Wmw)4HEHIRaG@S zFfi~o!1nFir#ye#wr!}Yip%ACx4gW3KxW@$1EA02;?SW(znTsUjL|=P_N?@3FzEn< zlT&=t&YwU3X@6f|-#hSp7Ufie0uH8p367Dh4jPj)e6MlE36D3J{;eDvtiDSsh^=;-JWB_$=Iq@+YNG&Bey zgn0V&={rQlkc{xP(rN)|L%_g-$Pfs(Ks*Z)jQvEf#giZXa7Sl?1q&WOejH(e9{quV z0X_QJm=Jv-O!&o!0R&wdn+?3QbLY;2U@$l=gbBx-_2GnB{rwip{xSxhf- zjCx><6ec8gawa4(h!!^*(W%(DKS