From 9f437672f5224789ecbf1aa150aa5890486663db Mon Sep 17 00:00:00 2001 From: wangcongtao Date: Mon, 13 Jul 2020 09:39:38 +0800 Subject: [PATCH] opt --- .idea/misc.xml | 2 +- .../service/marker/MapMarkerManager.java | 36 +++++++++++++++++- .../drawable-ldpi/icon_map_marker_living.png | Bin 1079 -> 1105 bytes .../icon_map_marker_living_light.png | Bin 941 -> 950 bytes .../drawable-mdpi/icon_map_marker_living.png | Bin 1079 -> 1105 bytes .../icon_map_marker_living_light.png | Bin 941 -> 950 bytes .../drawable-xhdpi/icon_map_marker_living.png | Bin 3770 -> 2514 bytes .../icon_map_marker_living_light.png | Bin 2947 -> 2107 bytes 8 files changed, 36 insertions(+), 2 deletions(-) mode change 100755 => 100644 modules/mogo-module-service/src/main/res/drawable-xhdpi/icon_map_marker_living.png mode change 100755 => 100644 modules/mogo-module-service/src/main/res/drawable-xhdpi/icon_map_marker_living_light.png diff --git a/.idea/misc.xml b/.idea/misc.xml index cd77a1f062..21e99e2dc0 100644 --- a/.idea/misc.xml +++ b/.idea/misc.xml @@ -4,7 +4,7 @@ - + \ No newline at end of file diff --git a/modules/mogo-module-service/src/main/java/com/mogo/module/service/marker/MapMarkerManager.java b/modules/mogo-module-service/src/main/java/com/mogo/module/service/marker/MapMarkerManager.java index d762476e0c..255d07c4c2 100644 --- a/modules/mogo-module-service/src/main/java/com/mogo/module/service/marker/MapMarkerManager.java +++ b/modules/mogo-module-service/src/main/java/com/mogo/module/service/marker/MapMarkerManager.java @@ -3,6 +3,8 @@ package com.mogo.module.service.marker; import android.content.Context; import android.graphics.Rect; import android.text.TextUtils; +import android.view.animation.AccelerateInterpolator; +import android.view.animation.LinearInterpolator; import com.mogo.commons.AbsMogoApplication; import com.mogo.commons.debug.DebugConfig; @@ -11,6 +13,7 @@ import com.mogo.map.marker.IMogoMarker; import com.mogo.map.marker.IMogoMarkerClickListener; import com.mogo.map.marker.IMogoMarkerManager; import com.mogo.map.marker.MogoMarkerOptions; +import com.mogo.map.marker.anim.OnMarkerAnimationListener; import com.mogo.module.common.ModuleNames; import com.mogo.module.common.entity.MarkerCarPois; import com.mogo.module.common.entity.MarkerCardResult; @@ -34,6 +37,7 @@ import com.mogo.service.module.IMogoBizActionDoneListener; import com.mogo.utils.ResourcesHelper; import com.mogo.utils.ThreadPoolService; import com.mogo.utils.UiThreadHandler; +import com.mogo.utils.WorkThreadHandler; import com.mogo.utils.logger.Logger; import org.json.JSONArray; @@ -365,12 +369,42 @@ public class MapMarkerManager implements IMogoMarkerClickListener, IMogoMarker mogoMarker = existCarMap.get( sn ); if ( mogoMarker == null ) { Logger.d( TAG, "draw road condition, sn = %s", sn ); - drawMapMarker( markerShowEntity, ServiceConst.MARKER_Z_INDEX_HIGH ); + try { + post2AddAndStartAnimation( markerShowEntity, i * 100L ); + } catch ( Exception e ) { + e.printStackTrace(); + } } } } } + private void post2AddAndStartAnimation( MarkerShowEntity entity, long delay ) { + if ( entity == null ) { + return; + } + WorkThreadHandler.getInstance().postDelayed( () -> { + if ( entity == null ) { + return; + } + IMogoMarker marker = drawMapMarker( entity, ServiceConst.MARKER_Z_INDEX_HIGH ); + marker.startScaleAnimation( 0, 1.2f, 0, 1.2f, 300, new AccelerateInterpolator(), new OnMarkerAnimationListener() { + @Override + public void onAnimStart() { + Logger.d( TAG, " onAnimStart ---1----> " ); + } + + @Override + public void onAnimEnd() { + if ( marker.isDestroyed() ) { + return; + } + marker.startScaleAnimation( 1.2f, 1, 1.2f, 1, 100, new LinearInterpolator(), null ); + } + } ); + }, delay ); + } + /** * S = (A ∩ B) ∪ B * (A ∩ B)作为旧列表需要保留的部分 diff --git a/modules/mogo-module-service/src/main/res/drawable-ldpi/icon_map_marker_living.png b/modules/mogo-module-service/src/main/res/drawable-ldpi/icon_map_marker_living.png index f66b3e817657d990de14418f54dbee4c31ed1132..48d2485529687725f0e6816f4ffb4e8f9f4b274d 100644 GIT binary patch delta 1092 zcmV-K1iSmU2+;_T9De~#Ks!_b0004VQb$4nuFf3k000CFNkll3y zo85W$-U)`nSm;f%H~VI0XTF(zJ8w_q5OS3H$zCtTeUa9Eaew0#*P@2`1Cg5>A}6Z) z7=%R#U$=>nADf(?>|2rCLBEs`;QFT1h@Q0k(EE2qpO+${Oq~*1NLQiv*uFD{A)BW? zUUHCkoDtdmERu)oLJf)3w%zbDzf`)R4+egtayQgVEvdI*_x>v zW zf8$q^Wh(m4qe7ZK%jZ}jmMk@IiLw?{X=Eo^8)|L^fl@fQ@YY(8uA|J0<3XlQAO`nu zPI_{8=|?bNnPloNq@Kk;doB=jf(fv;jkhCw=uol>F1nZ zb)%KjX&m7_F$bQD%?Y^UGX{@DX+|a&5Ie(r=sr4g~a52LD{XqDIwjS9#xC3AVQfQlSL+cfW zZhrtm5eP9t7V#k+r@*E8VshK?}SEHB_ zwbo;`=Mw1=)Ok^)jQ=fX@5YQ7tYIX+A%EvQey`{;yEVM)abGNpOl3^o0EGV{zMvA{ zP!Y4&0A^2)K^?jICy@BfqsJ_ew2>{+EMQ4aXK&AARY~OgrvNykhYgc3+tm9}mzkbG z=rB-rYgiGz9y2HgGfNy(hp~hIm0O2^ppHX9>pfh- zZ+{35fo2w+)6$&lJS~s&4CuI?RSrq5y20v^eFWA`YF6O475E7rJ;DT010LW20000< KMNUMnLSTY3p#6aW delta 1066 zcmV+_1l9Y|2)7839De{hM+?FL00aI>L_t(oN9~teXdGo2hM(`>xDjKHrmLtG6p47a zsrEvM;Gqp^tW~ke3ZjBk5fqA13!4vyEFfM&%W>beKRYplYb@agoFPci0;AAuwf^b zY(+FmnT#-NeJs2FoVgULhEha(s%z2mA)wJIDvG0}=sCpdOQ3zv;A!=ddL$c{kiO-(>w?NB+=pM>wh@C{a zJT<+{fQ z@}a!XImMj(q%m|cGrLdX{2c@o2%_Ef4P3?#AW`nz3x7900ahCR_!@rN4>P0rEu3$M zTO-ga$I9O@+96HJ-o-G%AiW!o0Xv9Z2`%41S%nK?zvh!L-VeXN3l}E~Asnmh5{?Sq zu|-O`-+v}e$sPGH#Xz=U^ex~P%4^}acG&nB=sZ{%$fjI~(?{UXE8n1jG(B4u!0D{PE|L_BqDl~Qp2OE@9|9pA1q-7s~+R^~elUjb)`&@cBV$BWI9 zg0N~|T^~Z+Oa8F5O|~rF=w#>esxJ_2%yme`O>k{1MC)Mk1WX*YA?7gFCfS-EEj3l$ z{D0;x?W;>*X!BZcSat@03{}1lJiE}Qf!#4j8BfUr$$>BsOF=%VOCZ|j;T3@B5LZCu z>p*7?!s!AgKsyk<7eh6|kIY+#r6qMbEJOfEO#&mnB3U4lHzlKpMsoKTcZ6p!*(PaD z**RF%DzxTP8-%uH$Fw~e{V^WV=cRe>y?<2^c$*7B2C5T~QzUpE_z;FJ**5#irGQv! zjSV7pSRL6X5JuelhMfh=Q-UeP8jzOoK@0<1sK}rX;uIg2ho_gcZC52y(2d4^elr+SY7eD@BGXpF{L*L=A=xX_+l}W>|^$VfU2$Un3Lt kLaRORe~`rrt{X-E0qmrrGM5gWhyVZp07*qoM6N<$g6!<|3IG5A diff --git a/modules/mogo-module-service/src/main/res/drawable-ldpi/icon_map_marker_living_light.png b/modules/mogo-module-service/src/main/res/drawable-ldpi/icon_map_marker_living_light.png index b52aab6badbac84fb99dc9415155c5e66de5271f..0feeb0f20665de3896adf59504458d0add474698 100644 GIT binary patch literal 950 zcmV;n14;aeP)Px&a7jc#R9Fe^R?SNlQ4~L;PZP!TDWxD}xiT{`H&(bPqOuQ4TDWjs(4uXN>JR8Y zXdARJs091iR2vB^MaYHHLXa>q5Jl6+!;j3@?{{a;o8vgj3u+O)182^;=i_(Iy>sW@ z5!s0{namvc6Zkn}3bKK3%Z{lY8qcOj)tH;~0Q?1^o8W2B^G+q8)XCF*Mbh3=0OupY zV;wvR9spP51{{s@Xh8ZJ#Ih`ouSl|a9{Q3Si_D?;^>8Av%JBI*3PZ(4|J$lIyo^F* zZItp3njO`ERN&MA4PM$ho0pYMGPvhBf-_)88sHmhThr39Hl$8SPfNu0K-+s0{Liay zvYZ8W$vVU;n7f5cU2Rr(e!Prs_#N#G(pys}B|k)JTT*gzU>wm3Xp5`??1sLV0Mm$4 z0F-VZb*Nm%+MA5Ws;&usNb%IQFbRiNrHmuDDJ;kgqN*d2I^FD+3jFuEK_jvG;h$as zxBA$v7XaJ`)>j(0b64Q!hWo}12AL(@Y_9?fU!{GW)LF>NsvtHi6eMea;_r>w4<&(a zK^e!RzZ?7z>~?Y-h@bTC>H&FCc~s_Kmow84{at2kE-2s1F8odke~J|0o*CKqcP_xLA7JP=P*IT3)tQAxW1&!L+R}35_N?qb!=GI(uDQ`BTt1rUMSxw^ z28=&5DXx(y2;*q;i?IpbA3 zQB;?GxB3<@8yDAzt^lP?qMnh{gVVB^+LX!@ylK#hD^95t%~uSS>eqND;~LQf%I!&e zoAHw_WRi`wy84)JG5Rq+2i~?NqK)u(oaYG10@!hUgFDANFgzCVsXl=u=PADezr6y# Y0Dg5vfZ48$vj6}907*qoM6N<$f>OZ3pa1{> literal 941 zcmV;e15*5nP)_>9LGOj?{xES`7o{ABFr&-p*VUW^v>QDSP)dckqCtF%|IwrFrim#Bq7WYHO1)R zMZL5|(SxG6G@(#oDAOV~S(dTITJvd7zxdsqGmdBX+;i^SM8O{%?!D*!Isec9`}_XC z|0C|B(tX6jg9~G3tAQ7RrN9-ST~g0Xshe3DGusL@1LMGGaNP#J01ikRyj!SDFlP2L z@IeG(Eb`sK`hk6cQVu(}1pzAa3AsyR=-ZiJ?{2FT@ol}SLQAkPAyO1hc^RTRd|{Qhy^X|8p^(G3gmdo_=Z z(zLyw6|en^6m3sZtK#=>0p9^%O1c?`N`l!4d{|JWV{;Wf?Ul?KhdBm0gW6R$X=?e4 zN7wzA(b%q-D;g^I56~*fBVn?VV3zw}U_CZA#;>2u<-)FNM*4FFC5?6ds#3(*vx!eZvx%~@(gu}&K%qfi>93DBW#~>3zSB@qvno))_2Z+sEoNKLc*?uK?dg zosuq<%9=RLt3hgpIkHTWC+Qt!W^V*-n^^hq-_X5t8G}D8W`4sEjUQd4@~IoZK}ko_ z!Y=$j4W>?#uWqseQ}1^>C73nz#y7woNj@%9CBcNbP#?ksLFl`y4VWJT*$epTUJv-; zcwExCOaw_eV`kAdc?+&b!pc|Z@bRO-BYtz6bn0*H`XJ`Q^XQ1D{Fq9W!H9N*PyW(!et|V~Gc)wQ0)Mo=vC+ z0w&BES7u5A&z3sH&ZZxMTA)MHbF(#ZYR=rti66q0qju((t8yMX-Ld}z8PnD>X#IqZ P00000NkvXXu0mjf_KUk{ diff --git a/modules/mogo-module-service/src/main/res/drawable-mdpi/icon_map_marker_living.png b/modules/mogo-module-service/src/main/res/drawable-mdpi/icon_map_marker_living.png index f66b3e817657d990de14418f54dbee4c31ed1132..48d2485529687725f0e6816f4ffb4e8f9f4b274d 100644 GIT binary patch delta 1092 zcmV-K1iSmU2+;_T9De~#Ks!_b0004VQb$4nuFf3k000CFNkll3y zo85W$-U)`nSm;f%H~VI0XTF(zJ8w_q5OS3H$zCtTeUa9Eaew0#*P@2`1Cg5>A}6Z) z7=%R#U$=>nADf(?>|2rCLBEs`;QFT1h@Q0k(EE2qpO+${Oq~*1NLQiv*uFD{A)BW? zUUHCkoDtdmERu)oLJf)3w%zbDzf`)R4+egtayQgVEvdI*_x>v zW zf8$q^Wh(m4qe7ZK%jZ}jmMk@IiLw?{X=Eo^8)|L^fl@fQ@YY(8uA|J0<3XlQAO`nu zPI_{8=|?bNnPloNq@Kk;doB=jf(fv;jkhCw=uol>F1nZ zb)%KjX&m7_F$bQD%?Y^UGX{@DX+|a&5Ie(r=sr4g~a52LD{XqDIwjS9#xC3AVQfQlSL+cfW zZhrtm5eP9t7V#k+r@*E8VshK?}SEHB_ zwbo;`=Mw1=)Ok^)jQ=fX@5YQ7tYIX+A%EvQey`{;yEVM)abGNpOl3^o0EGV{zMvA{ zP!Y4&0A^2)K^?jICy@BfqsJ_ew2>{+EMQ4aXK&AARY~OgrvNykhYgc3+tm9}mzkbG z=rB-rYgiGz9y2HgGfNy(hp~hIm0O2^ppHX9>pfh- zZ+{35fo2w+)6$&lJS~s&4CuI?RSrq5y20v^eFWA`YF6O475E7rJ;DT010LW20000< KMNUMnLSTY3p#6aW delta 1066 zcmV+_1l9Y|2)7839De{hM+?FL00aI>L_t(oN9~teXdGo2hM(`>xDjKHrmLtG6p47a zsrEvM;Gqp^tW~ke3ZjBk5fqA13!4vyEFfM&%W>beKRYplYb@agoFPci0;AAuwf^b zY(+FmnT#-NeJs2FoVgULhEha(s%z2mA)wJIDvG0}=sCpdOQ3zv;A!=ddL$c{kiO-(>w?NB+=pM>wh@C{a zJT<+{fQ z@}a!XImMj(q%m|cGrLdX{2c@o2%_Ef4P3?#AW`nz3x7900ahCR_!@rN4>P0rEu3$M zTO-ga$I9O@+96HJ-o-G%AiW!o0Xv9Z2`%41S%nK?zvh!L-VeXN3l}E~Asnmh5{?Sq zu|-O`-+v}e$sPGH#Xz=U^ex~P%4^}acG&nB=sZ{%$fjI~(?{UXE8n1jG(B4u!0D{PE|L_BqDl~Qp2OE@9|9pA1q-7s~+R^~elUjb)`&@cBV$BWI9 zg0N~|T^~Z+Oa8F5O|~rF=w#>esxJ_2%yme`O>k{1MC)Mk1WX*YA?7gFCfS-EEj3l$ z{D0;x?W;>*X!BZcSat@03{}1lJiE}Qf!#4j8BfUr$$>BsOF=%VOCZ|j;T3@B5LZCu z>p*7?!s!AgKsyk<7eh6|kIY+#r6qMbEJOfEO#&mnB3U4lHzlKpMsoKTcZ6p!*(PaD z**RF%DzxTP8-%uH$Fw~e{V^WV=cRe>y?<2^c$*7B2C5T~QzUpE_z;FJ**5#irGQv! zjSV7pSRL6X5JuelhMfh=Q-UeP8jzOoK@0<1sK}rX;uIg2ho_gcZC52y(2d4^elr+SY7eD@BGXpF{L*L=A=xX_+l}W>|^$VfU2$Un3Lt kLaRORe~`rrt{X-E0qmrrGM5gWhyVZp07*qoM6N<$g6!<|3IG5A diff --git a/modules/mogo-module-service/src/main/res/drawable-mdpi/icon_map_marker_living_light.png b/modules/mogo-module-service/src/main/res/drawable-mdpi/icon_map_marker_living_light.png index b52aab6badbac84fb99dc9415155c5e66de5271f..0feeb0f20665de3896adf59504458d0add474698 100644 GIT binary patch literal 950 zcmV;n14;aeP)Px&a7jc#R9Fe^R?SNlQ4~L;PZP!TDWxD}xiT{`H&(bPqOuQ4TDWjs(4uXN>JR8Y zXdARJs091iR2vB^MaYHHLXa>q5Jl6+!;j3@?{{a;o8vgj3u+O)182^;=i_(Iy>sW@ z5!s0{namvc6Zkn}3bKK3%Z{lY8qcOj)tH;~0Q?1^o8W2B^G+q8)XCF*Mbh3=0OupY zV;wvR9spP51{{s@Xh8ZJ#Ih`ouSl|a9{Q3Si_D?;^>8Av%JBI*3PZ(4|J$lIyo^F* zZItp3njO`ERN&MA4PM$ho0pYMGPvhBf-_)88sHmhThr39Hl$8SPfNu0K-+s0{Liay zvYZ8W$vVU;n7f5cU2Rr(e!Prs_#N#G(pys}B|k)JTT*gzU>wm3Xp5`??1sLV0Mm$4 z0F-VZb*Nm%+MA5Ws;&usNb%IQFbRiNrHmuDDJ;kgqN*d2I^FD+3jFuEK_jvG;h$as zxBA$v7XaJ`)>j(0b64Q!hWo}12AL(@Y_9?fU!{GW)LF>NsvtHi6eMea;_r>w4<&(a zK^e!RzZ?7z>~?Y-h@bTC>H&FCc~s_Kmow84{at2kE-2s1F8odke~J|0o*CKqcP_xLA7JP=P*IT3)tQAxW1&!L+R}35_N?qb!=GI(uDQ`BTt1rUMSxw^ z28=&5DXx(y2;*q;i?IpbA3 zQB;?GxB3<@8yDAzt^lP?qMnh{gVVB^+LX!@ylK#hD^95t%~uSS>eqND;~LQf%I!&e zoAHw_WRi`wy84)JG5Rq+2i~?NqK)u(oaYG10@!hUgFDANFgzCVsXl=u=PADezr6y# Y0Dg5vfZ48$vj6}907*qoM6N<$f>OZ3pa1{> literal 941 zcmV;e15*5nP)_>9LGOj?{xES`7o{ABFr&-p*VUW^v>QDSP)dckqCtF%|IwrFrim#Bq7WYHO1)R zMZL5|(SxG6G@(#oDAOV~S(dTITJvd7zxdsqGmdBX+;i^SM8O{%?!D*!Isec9`}_XC z|0C|B(tX6jg9~G3tAQ7RrN9-ST~g0Xshe3DGusL@1LMGGaNP#J01ikRyj!SDFlP2L z@IeG(Eb`sK`hk6cQVu(}1pzAa3AsyR=-ZiJ?{2FT@ol}SLQAkPAyO1hc^RTRd|{Qhy^X|8p^(G3gmdo_=Z z(zLyw6|en^6m3sZtK#=>0p9^%O1c?`N`l!4d{|JWV{;Wf?Ul?KhdBm0gW6R$X=?e4 zN7wzA(b%q-D;g^I56~*fBVn?VV3zw}U_CZA#;>2u<-)FNM*4FFC5?6ds#3(*vx!eZvx%~@(gu}&K%qfi>93DBW#~>3zSB@qvno))_2Z+sEoNKLc*?uK?dg zosuq<%9=RLt3hgpIkHTWC+Qt!W^V*-n^^hq-_X5t8G}D8W`4sEjUQd4@~IoZK}ko_ z!Y=$j4W>?#uWqseQ}1^>C73nz#y7woNj@%9CBcNbP#?ksLFl`y4VWJT*$epTUJv-; zcwExCOaw_eV`kAdc?+&b!pc|Z@bRO-BYtz6bn0*H`XJ`Q^XQ1D{Fq9W!H9N*PyW(!et|V~Gc)wQ0)Mo=vC+ z0w&BES7u5A&z3sH&ZZxMTA)MHbF(#ZYR=rti66q0qju((t8yMX-Ld}z8PnD>X#IqZ P00000NkvXXu0mjf_KUk{ diff --git a/modules/mogo-module-service/src/main/res/drawable-xhdpi/icon_map_marker_living.png b/modules/mogo-module-service/src/main/res/drawable-xhdpi/icon_map_marker_living.png old mode 100755 new mode 100644 index 3780ecf9b9ae4a63a934e4c9bcfdadc8564b595d..d6f1dea192c574a35afde8553de2ea135717d12e GIT binary patch literal 2514 zcmV;@2`%=CP)Px;j7da6RA>e5T3v`9R~de1chhXL#;#Fp6H`#A2wqeQCecKpwNO+1!)gU1YA?Kz zUI<=zp%;P|u_)dOLcwBHMDeGnSgqNlMy<3;)eEiK8xfmou}Mg_-EMX}KF@Q`bLPx^ z-?wZLk;)u6^SF5 zn_E^(x6@AsdJV1`8uHX|V$A?eUL$aOYI(UmwMdw1lW=9D+ilpwe?d`fQB5*tar~G43 z!;DPI^f9tCIHyDUgXPqy@J5YYr zv}(V0^*3-ec;lo8wid4t-qiFGPdO%s^}L)=pSI-b=Ges#OFuaDf$w=aHf~Rp0pMjI z{vgQbecthw*R}}v*6xx8O&Q&7iXwxu2>s#=z%}^y{xjnKqY;-LP5NOnPKZ^r1EB56 z-A{mCgUiVA^uHDh0yY0h!p%zm$m%ygWW|1lO8Bb{#3U*{=a8p_n)m%3~6^ z1|wglT`J0ls~dim1iX>ok7uN<`~{xO`@p(OKrzj^a*`{7&hW}Qtk(WaI`fK`i;%Og zxOq`_<`7t|htZF(jkt_E&@{bmsGHC`2?M3G*{$RNBUV=ekk5Cn4S-TtCgi>y)b_<6 zH)1~aG;wF~$!OYPMsC0LQtW>NLs|k*hIJjhZlipr=;7ZS+2~;yYoucb#tw`fc;R)R zT+Z5W9@rb}8^1vbyf~(TD`mOE=*Et}X{GgL6;zKrw!^iXBVEfkV{!4i=Ef&4C1L;A z-4@q3zJeR|EA zfW9FxF!eGAU*Aw9r_6yS>7+`5U{U}03(2cf-rDyS@An?Ys95P={~WXGMzy&BARQ^DGKQgfCD1t*?(BCXe*YoZVFPXH4}CI_YX_{_GiV85 zTPIcEBF=s%;&1d%%cOAW0uwdYB|-91MrdC6G-U_7rM-Al_jFaP;Hy?Mqnwq`2?6*s5Fmj# z3E=59s1pQN^w@aKbr*1@iKX_TUDq@RpZOcr996}0r;CFsFpwz|po`ZT%t@$HsQXEt zrUyrJr~^%s@i=y1?7-N8u>)fV#tw`f7(4J^>wuoyhSBli=?i$-@$sQtPmuJ`i;&ut zPkvJ5r@ZW`CqBqYTMpX=jqC$jn`DG zjwO~xVX(>xn%2qE*2T)j#gI}!YX5BO&_!PB2l1L_dY&+wHKrGAYha~kcTn@avzwD~ zF~hS|H^IEmZRnW zKEaZ&%6_5INJJbaP7gb ztOxK8jFW>6c>H@2fBszh_N-F@dBLi9<5(vOz2(Bkx-=%|X#45~53M+66kHWowlJ(6 zh@Ju)0MvTgOdD*#EAak}lY83ohEj$jqEl95#+RKQLXq}YLfzJrCb$j5MmXXCqegR%UF+uX)Dk;bSd){2VxZc55H< z+x`tR03DcA2{H)GqN($!?P|I8jKx>k!{6%A&xJ9EZQ&y>6LB2-Ps;(8)6X#PlN_@; zSI)4D&eRu=)xSpU!EK2bqd(zd#51Ubm>dR^QbGe-J{DxVZQ~(NhhCV?y~yuV;Lmp- zP^|}@G8l4l5LlWFqRzpLd5|w_>MI);>Tf7@9QoKDR7rzUUJA?c-9Y2izT~xL(d}yU zri~N$kJOhmNAO>%3yb@Z;}_9@%ZQ1N&f|+;f6Us_o9V2=xGu;AlMZ>Won-CDf|#fL z$YkEOy*2bbyS(n%6n{QAm(d(r<-_|OX%c6x=*%chFHGC^w)yz>%15z24Dh*hw$U&S zd3Xyak&e9`LCF*w7AU(M%V*YM^j#1OV^H3+DgHPib7$fW>vuH`J3EfC17ioq4vZc6 c|LDNK0eyPmMlE1|2><{907*qoM6N<$g0FYyH~;_u literal 3770 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 literal 2947 zcmZveXHb*d7KXnhB%w%9K|l!7q^JlSsR1ccL^)Dy5IPD{EFmOd=q5(t00Jr~(xeC? zB@jR)Am|tINLPwT3-IY7M5V<72}Qh|xxenrT{G|6Gw-ZF&pT`H*~zZX4wB*u;s5|h z9zSMxYU_;pSE8t`jtev%1ON%g<90{RM2#;L#1hX8D|PG;RaJ$(Qm^wLewMNzv%Ajh zX}3_}vUx#hWQhF&-+{qk3|}RhjaN1fg_<)O8!sk}ciWz^iQ4;d_ucJ#jvrIWuo2n0 zx7F{Qs)&s-?Sl0E^)JfnUL*>cA|Q-jSZd2(>dpD69F+N^OOXG=f=79akuNI!zhwx> zZ##iZkeGp;wN~fvc12ftn9|poYlNCyqsh4OB zFbOP3IeH#=sY>)Q1MAH2R(2-K2)=BQXTtq~6vqu{N=?P(i%QepQTDPb^^ypwasD;~ zksw;CZR0K#W!Zlb5Jq9iL__q*XRJ5!GHO4~9yF0D+id@3MjQwD$s*h>%&JK00V)Y{ zf;8=Qj9Ca;nkv;t732I$+rMhd z1hS9yp!c9r`@l_ngz*vQow@&sQtal~CTZcLV zRMFgN`E!zsl7q*C0I!2+2gQ<+M8FrRlR3$JKZoR>2Aj31jC^`KOc#TQ(qP)8TQ5<} zI1w;^6myu&+(WDo1AAyTPzHF=8M&d*e-6$pAQ3}vQ6&O1XFOEej}tp2TKQBXzXNmS zv7rx#XtU%oZFKh02lO<6*TXq1CDhdK-&fbEw1YpjN|2qkCSa;_#@mx6uNe2Rg8<$f zpohHQsrtr!ew)CTrnrYG@K)?uWc9wnZXBGLHn#Y}ZX3DKfW7>I{bwn+>&{FnsBQkH z#K}6?4qUGF7EP>Lr%Xkqtz}O}O=OJepz~m@_;EEA_oFQxmrn-*y+BLpZiMB?`?n?G zp8ELE=CRFZ+KS=?K^<>8n8hKF9>tmNgv!j&JTd4ds6~?ghfvk-l$pMi@)@e{XzAM3 zH2W2spEo2yIcYqTcJuFm;t)rZgBrSdT<93)?GVls5C%Z%&;|eev#^)q-hYV-`6UW*pcn_>m%J^Y>nB|waKq*_V{vtBPx?sA0ks3zt!sz|Ycs`IqAcy(>hIW$ zMkN`SIWbTFWm;7pB@L1l<#0WiaeJ%f#fGQ9lm_rD^SJ&Em`#9%8=JVREW!CP_^P(V zh>`ZInINvY7Bg8@NI@(P!!XSSv}SdQaK6FF&qCc~Q1d^I#jd&dPcU z{_L=S%ce29AJz;RZWO0#n1t?_j78QELOwjFa7C|q8NuD8k_NwJj|$u*{zWC4f(^7g zZk|q3cg;RMItfENXSQG(>!TkhX#_m=Wd*2h>r;;;I-uHpEU+H}ZBA-txwLk6y+Ukl zU@`UOrQs9#$kv0deFf;k%8*Ahn~Rpjb=C+#0Qk8d6Ik{+Ok?R3gQB2ZMT%`^8i@$- zr)jEg)04T{O6R^G7Jd(3>9gpmoQR*vz(|?o#*PFDy~0shfndu=h35&J6hR<8jl_&! zbm+2QIyw|NFv&|F;@9VKak(EW$F|o@wZWTA5sryRzUbq#F^Ua(;d~bdzE5>S6lSw+ zfpGGe*t<*c0dJp(V6w#Uke+-^uIT|m)UwKoN?h34~1piBs1f~T!5x-y$dgN z*8-DMm;L52*Z+;2I1+@C>Wg8;fQp0u?XIIMAdV9$Dci%=GcBv;sfK4Xw}kXjsK1t; z)vp8By-atl5k89CN9< z zPKTV~(n?OOB&RCLYag)+WxMP@dbea?!%ku<;GS47+r_*j>zQ(q0c~2$m3;P|??~|c z+Q9DaLrW;N9AUxQ)F?Js z1}&GEL;tPu<^g=$v#+;T_YiU75ExAiy`GSG29ksKd;9#n;DSK=h83&z1e+SVe}&wV z!owDH;j982ebJ*W~Zjf@-x1i>UK-?B&I; zj-RGer{J7o(Kl9G?_mCCK}i!LV}DF?7rV~X^yHGgRc)t+E?R&l9-dB3@QP19dY(+I zrv9_)8}VXofBtKpe*^WOU%nAHFHGl>@R)QYv2`kyz}!d;$8@vn-jqhQ%KbvvcQ@mN zyX?D~ad>uQ2!