From 78791e84da652fd908b88266d4fafbea317a3d13 Mon Sep 17 00:00:00 2001 From: machuanyu <840649825@qq.com> Date: Thu, 14 Mar 2024 16:07:11 +0800 Subject: [PATCH] =?UTF-8?q?=E6=A0=B7=E5=BC=8F=E4=BC=98=E5=8C=96?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- marking_app/assets/images/not_data_bgm.png | Bin 10952 -> 0 bytes marking_app/assets/images/not_data_bgm2.png | Bin 0 -> 47801 bytes .../job_priority_review_set.dart | 32 +++-- .../pages/homework_correction/job_report.dart | 60 +++++---- .../pages/job_favorite.dart | 120 +++++++++--------- .../quick_check_personal.dart | 10 +- .../homework_correction/quick_data_check.dart | 23 ++-- .../widget/quick_student_data_table.dart | 4 +- .../widget/report_table.dart | 98 ++++++++------ .../widget/student_zg_table.dart | 2 +- .../homework_correction/widget/top_count.dart | 23 ++-- .../lib/utils/easy_refresh/MyEmptyWidget.dart | 21 +-- 12 files changed, 227 insertions(+), 166 deletions(-) delete mode 100644 marking_app/assets/images/not_data_bgm.png create mode 100644 marking_app/assets/images/not_data_bgm2.png diff --git a/marking_app/assets/images/not_data_bgm.png b/marking_app/assets/images/not_data_bgm.png deleted file mode 100644 index 7b15e9438ccd6de59f33645a0309f89165a5d3e9..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 10952 zcmV;(DmT@MP)nMgAsX2;_H|O&{}!cqHz@du)bu~Ne$0AK2%%tLEfX-X z4P(bAYP&%9J}eMENI>2V2sI(VLx7(OM}7RpouyyEz*?rmz}B@PqImLrZM$yc+m%$G z7D`@4lr$v(9h#O2*cuABK^gLD+I#@+gbl#Gj_n7}Vd+P&)ZQ#~_=E!SYZ9O-1TN5Y zj8|EtR;@ z(6CCMhNi(*!Osa12DUsKfO{R-BQI1BG@A9_C;9PKDY0qls$v-;PoU1hz*cMnaIcXa zK7QQXrtiK1H2Gng{R9D7Stgvz>bQl%dqbpAy6=eePXNcW2M**CHURe;*rUhiMw*uK zF(u%G6zjOo(9~?!K-1J=C$Mwa!$^|X6eV$_@DmgRa4%s4a9<+hc=caB1?57{`{kOl ze@7GWt5TrKn~G$JC~6Y2-FF03C~OCD-t{1_Q)NI?@YU|@^d0Nj_rzVVYY`ENbb ze3O}hf9ZJmUIu8v#A?ojGJ!PHOM+19v2Hukt2rYALqj?MG@|Mby1lhLOehnAS&sL>$Jdw?sXcaT6VrozTA&M}tzH9*Q zRkR16#4=co|4v^&plf)3IIlcQhf&hZz4S5?m>V-SIXznwC0&9(lJ_QyS=d1`hPAka zf%R; zz*#qrxHsxdm8g)_w5J%PQ@loQXL*0U8yl*S5P^XhT8TCkA9fiRFD z7hnT$ua-3}4f9}8xKCJy+U_S9Mcl@iLV9kcA!{$4*XK^n$Q{E4tlzrRnJ8t|E?8z$ zWD1>7_(U7DgiKP?c}u1FfL!W&7Rvein^&`3)mF? zLjkxzz_m!@Sc{$qf#ToZc^FvA2H;*rQ_R-%aTFs~_^1`6p6BWko<3=0c8<6+H*EJZ zBY9OI;G4|u^q<0iut58aW(%agTj71VCA8&28w zWW6E8xv3dZB1aJ%mqHyPU~Wb)rP!-)+uuBwGm$$ONY@icG41)f18%h`1%(N7MN3sQ ziJYkE-M&P?Jn{RtEx_NoY1_6c3@l{>a9^OkG=t@)SNmYyg?9>JKGd&NBrJSNTIC_+^EE4D~;qQY1>qBdQ zGIc^J^;r$^p*=f>&%(euYyj>R*mH=MIy-lT(u}v%o7I0oh}#d`kpP5E#601lph$=R z@udlY)CZ;t*_*$+{Bgy?`2}sE(g4mrx?2lsiV`;CEX_RyQiVX4LWCYBf~LV~Di9A! z)B0cgN6cqQle;jmt~LPoGVC~_2~+i3oyqE*AheGXa<30i7o^WwGb`VL1Ruc+Z2mZ2 zz_{EXBm(!@c>(7uvPg04;%HvkTZ#%P4!%v%7Rn2@kuqRxkI@dILNniX9QAp5?%Br< z95~>>z!tRuxce|f)Q+F5?o($MJ|a=RgCMtufYvpF!Clc=hH%z}LC#C*;7JM^%_hf%xk z4fSmvs5>^P3ELKX7@V_JK?xcGLpk)p9_eKQst;m_ zjw9j}Bu7(ZxST?RKu#x+WU12TPtoy@qVSFhR40YBrswCXXJ5Z}gu{h{ZaQ6T0PZgK z!-=UYrEC4Vl;Z6KynjH*v068(1JoEhc?9m6x|nD>0l4St0w_@f#Y~W2NyNDm&Ly^% zMe8;C6fy{TOM%hZ3Wb#p#k9q9Bw&7y3SSZmey%k6B8b`x`?qYVz`%SPfIDG7c(JmT zbniz|%J!j==-D;^2d}gdIBZ>aQ|rG*~@tps>>eS9Ql}frM90C@Ee4+yXl6E z@bV;6cbkvCrfy&e?gq;ei9Wa~ZVi@!EveB8>4oycR}`Tvp%gr9DR|^aUX%wzDS4Qr zqyHTp@B2dOPf-~Cv}ZTZgYL}Symf1Bv&)&w7TiaUV?oc=-$`uw&&XkXJ%!u2eRUec zDIlkrw5v=ZaG$RcbBCIHp+Vp#=P{BNKA3%!V_KfjG(*~YXITXWL0~c_esPRLh6-m0 z&@UjUQ#Ah^d8|KH%KG`fEyi(L?!hLr%L?2_UcwAOwXC816;$xM^l)#Y5L>w~=>eT! z^PR$Wa91TUH|$~djlivmH~|wKgVO5$cZIwjVe62Ba!v)?vhJ4H0{%q>d2Ad?tkEx^ zx`iYS!Z)f_`}YrAGcpI8#4d|a;E^M!!w!3|^qTKhC_hLPbu;0GyCV9Ho0v_L^>aIx zA}P_n4M(8`#>-U{=jLT9igO2voB*T&V6&7|A0b_B5~Ek`AcJY?*ou$KRyZao0NUz+ zn^XHk;qTf461U_E=3mn6w_ualrU&=K&&*%%%EpHT;#-s_4iIAWw2meKdC;M)lkDC4 zj%~mf>FqJhNOCJc4pFll;jmvbOt+Z2fKpcZ(GxRVHI4$IfjIse z>+4=%_GjDnqwHdnvW^qAChYNJ*&!gS%^-bVr0||e3>`_1Xd7l`87_-H{x+f0$rUi zjp=1wz>f)V`@n1gHP}A@akxAIW=+J)V$BVKV<{nC7S1n+#iLFVfc#6^eHN`k-SpQM7p5=76uV=B7ZIfcU9r%e={#^f$RuNR2T}x=wcZ3;YpDYj4Iehgt0^htAsdi-V3iP)bFir zmH>7<6d}GjGf~|~Up72@Zz^y%UGYze<+f1PE=+Ng7NK9rDQw1uOPaRfa6=|`B+=Kn zD&Y{eKmQIeC%2ISF5_i>u+T3=t`{&b`q~@)U1iAH8lRI{90EWy=vjjJ8ryG^66kEH z;%!)aYXPc#5b``Gm_I787&g@6>+lNzhRa}aO9i`yxEdwA^Vr11FAiLBMGZEvZ5nVt z^cb7eND?i)HVs6`+(E4p zFgSxYU}Qd)CPUC;2yhV$c%nl69)uW!NK0JM5+$+idQAwD_jhw~Y z6yW}=r{>CrVZDbz#X!MCh7U!Y1&jnJCOQqsP>1_fc?cRG^k%@UtX*xF<%|ICIpcXj z6INGsk+CcRykMOcvMqx(2)r-tgc) z{OGG$y7OgIAa>VC(hNCNLVPKKfzt}11VI%?IT*D8qlc^=#`dtKs{^gU1%t2I(1YvX z<9ds*aGQSaFl<}72;lQn2;cvmXPTU~+>mcc6R^SUt4}paAF9961iut1QXa7^X)!oJ z*b)yrmPf7dl1UPgXpSmcg(kgkFT;@0IeEjK6>O3;4Ptt~v#^(lV?$fKyA>NpzX6r0 z2W?RF#9(Smv2SY|?6JIU275pt)bI^TO#Sat8Uic@1bm`6^Bv2ukA0V7crv=g-~31WvR{G?W|y3~?>dayULDG=3r4LD&iHS^%%PR` z7MW{)z>{K>HLAogBo<1G76V6GS_DoThG2{mA`v6AvA*RCi5*XllM5g83ghEO8k|Fi zGCZeW0C0IA=gqir)lgQ!i<24@vyfux$hyf4>|>jbMSVz-Zs(y|=Y5}h6uxE=2;ID%9q!n0VMaF93ZaCLU%Eu_aI99_kpLGmf8QcpY&Kv6R&)re3opeGslF zx5XHHIEdJDrhnjfJ5Dt3h1uMxig2gvGB-Q|8_q5rxQXVf55ZVjgJDmGl`fyX2_wy$ zIpBcP{f3+lA>HS zTA{`^rswZcgidOrP%SaKHp`MLM_hR7q(LkmhaLUf)^QtqAEyQ49tEP;vgC4y{DFCL zf~P97d4542r`Y~?DKK>Ze|XQvVr{lXz>VT_haod(gCR_496Bg$SfLR!OY=K03>K6K z*j{^w?h?ZAp@;pRA@ltlZ~W+FP8uWcAZQJFA^}E-z9-_>5Id2{EM*Ifp_~aiE%b{)4k{y{8zCJadvG#l!!na@tH zM02smzHK{{^jf3rVy5To<@79gRuxWt@?E02)G`0?uPe7$natm667wQz1`4s$7xh(4 zh6DpPO@{Zngak#x!4zE_&u+&R?M`Z9P#tIsB_=bY;hjG*r3KkgDhv~|5>Cx(Fj`cQ zH98@=5_!>eeYha%DKt~{N55)NGU_P;^}V(Y-;IT=hP$&YaZn1YcO@+ zZ$o9Rl0aRV`wPb~w=mZjLOmlndZs~EgF1{HK8}+I_b-pZ_l-lbD4|r(WcXx@->fW* zAG)9P_eVuzvCSqM)_BI1bwg7*Ll=T$!IqA#II%A;!eN6kY(gqRR!z!|$Qg{-I+iV> z1xB`(;|U>%!-h_+nnA|k4;VX<{%;Q@hPs@uf!UIK$X_+;!6ZdXxbS671#>k4dLiya z+!Gmng1DQs;c%qiJD;?^MU=CntiI87<;Oqu55)wm*ig)zhEXd+ew6}kYz(YVe;rQI z2`jJ$0PkS#`;TCzV$?<`O3=ZwQumr?CknHDNfdg@fACYtS=04lP4*vhG_9;XQHQBR zclI9O@n3%#hfNEvqo=k@6Y6y&58gz$xs77O7K4MCkaepjI>UO=5DVRzw~diunW4ng zvZdMl^qlk)HQPy&a43-Hn*_QuBu&N$+?bCv+T zV@N?Eqx|ouW`k}BV7N9o*g4zYsiV<+Qpw( znU#b4zkMCY>KXE@^e!)_atPo>ICJ5lL@GdZ3lH@fI&J~)@L@DzClnf3Su%pMeOsY9 zvj-}@z{iCoV?utmS&^_plUwY@^IsmREGIU*~Zp@tq4eWrpLCz(y8?;jbOl@Yqq%l@-uS;Zenf> zd(ThI=rEG^x<^{DzXT3<&Zsnne=a|so>Q=m*xE88c?B&5XvEx^6@r_IOlBHmE=IMz zm74hXsSb_u7C3wN3e)($@0Np-(&>>kq4In0TUyKeK;}Uo;daQ@&oA&#U6L(l>Xh$z z8nP6=tG1tjbh+s$$kgi#NJn4sKrd!f*Kd0drGM|idcO_{d!imP>nVTu1P1RGdYGQ_ zf;QR?x8UQbfabH~$r)g78AJI6lRFi6v&Et!%=$cx+bn5!ZlkiZ>_IWd(jzF8;p<6S%*Io- zvNReykQv>smrXiKBa7klPPyr;pbVo z!IBY_$f9vWqE0H2zP5DmS-MPF!0ja`7^?)qXHSk6%+_g2pg+41_EQwW2&>F;3^aDS zSmH$8*My7{M=IffhNCkil0&f*83CSaj|w?+H*AX$6^-q!!hm{-@Ni~67#2cnV{hz| zvp=aMxK0+Yqt@ot+*#YZ>JLbig2O79(iP*Wf%eO>rX)Tbgeez24Hq`Jjrx> zg*~g0EJy>)FOV)j4LG})Pn9&zY3%&Qe7Rwm9GIYLhkrmrxI>xI`|n5f(M5s}`p%u8 zy-4`iYRhNYsTzpqYhWHbhU&!(h%LjQO`Qj&!Ns%DG0+YpYW?bOF9HcbE4J;Mh$nvU zl@M19;5-jyHlqCKMUAv6_rO^ou+RG+mJE8xrr?h`!UJ38%y@LD&UWHKQYp#U$t>nM zau|1wsx*BfESFV(=jDxWJ*?qhx_$;myezWg{8 zW~81W|D&xi)WNRQm=+i%8-K@S>knHaSv=MVSlVRjwOJ3%)wj6;S|XXOZh1u8@wK}kkUB9L|A*4h-v0?ge-JC@kZr zby`#rorKk~yY@m~ija$ME`0DYfD_GxFa}w22sM#Fe7l@sXOjnkXLje19q-3)Cz~eC zK2s0m%*2cqyiI}Gofth&Ov|z$kTgN(hRDI3qne?ya z&G34;%}3J>3JHf1M+?gTXyJGe2&Xi9nO%3t{(ax-R~Z($})Do z02#gpXsUE=8VZEMA`vnl|D5ocUNDZlT(s^4Y-yJ4;fA9Ykhb4(V~YuSf-iomysDFHAB;EJ{$X z5U{xsn2dW45#y1>I59=XBA{~z2zHE_o&ESU9aGmLhcMAm7@^ftF=BclQiR?59`!(? z^XAXZ!W9)8a-Y5lJnbv!%u(e~*T8=L70|f*c5n~T<_o95G)RsbTFGb1%3OjN&0xYS zhKHfUD)S&piTOz?|HqGm+P@!Kc@t*rqeox1o;^QnnPwWBkwZ8HL#<`LP|!iU=_ILf z#6~jsupv4t_yA_LMoG?k1B@(J76z4U86+kl9LB*`-iYU+?x`589SjE1yht&aKuk** z=)&-A*A*p%{KyPWGAHr>;(IB``>6&BGjm>dz zgDq+Zc;XC*fA=62svO`mvT5g0HDn>%G#0=uje%zsKxLZg+EsOVzeA4h$+oQk)91sV zN43}_6$z3#7=;KQei+QkuH8C`d3T)V=k-oi(T$C*Dg_^aUsQ{B1n_kUZXe9!VALn6 zHY$Kgm@ymVUr{x07G#_x2p!jCRE(aHKyG`TdUy~&bi@RMB^Vk*+7scCTEGYg$xP|< z@K~PcRd@o1XAo{JA#5A6eHQ28jP(d;k-m;<42&ZtB3a4+{CDaUGM-e_hgF8e(gmj~*99-L-j`ql|@8opHgNnjytyfOF~vXzb9S3gck!X{3S9 zk+t^YPtvlRXquTz6Z7m)=eFm11R1i#^7ZHGXHfW%Uzf5b;AUO*$4`KM`V<)C6!A09 z)fF*wgkaoqD5ALu8!|pi%+Q zA&q$6MbUC7lh=`y5Q)9Q<=A=6q6_FFwg*TT%xJ3s-6)8;q1pX@3u&TSBofAvY>m&vZG)&w3pDCg=osH)AE_2S@h8 zrIjTN=+8e!YHl8~|MgptAto|%rUK?}x+M1Q!*K({7$tCL^&I|5>Ew0> z1L%+`BB2YC+xBGnwsUpePNXHpY*n0kY1$a4n#V{vwB4?)*SaOn)%rcj^(fAhJbjE% z_0@`PJYvYsV1#Md)@!yqZ>O03$1ApY^u=@VM+?o|G+achRqM`ZIa@pVET!#EfW6#4 zwcYHZGWX{WV-`w~&67ho!y&su!RH8y+I5!323&L#n#+|ddTq>|V#%aNhTcGr*0tCW z)4*tttn>sr_9_r*X6GnRoWv37+9HgwwAVrr3%Ay#e1YV8kt!77F&AjvU(%N&#MqAu z&zsLOuDd{L*N}IGVTj+N#Lcyyr)?j}tK$pJ##i*^)VfPpDJyiR*(iRiaZ8uufZAGUcN37<_En%Rc=KRs&K4<{EC0{6WSp*6MziuFd#%n41<)gWB3 zLb`B6OPix#{SyjQTtR#~90LG4z!F(%KAF|SCFBhBK3+T(UAK>DIgaAQ&SbJ}NxKZ` zS{o#iPZ6uP&Le;uu^bape8B>BoH8)yjI3}uKi+T4&5<&0X*%*cZcfYK=1w2B3kBPT z+siq49#+vzqZP=NZlRoWD^=^hNAk5-zm3&?H2Jcs4{i-sFrlFAS|-fuuS?TqO*Cw6 zAN{zS>2cpq@$WsfxJ*xeD=p*qx$BEEadLUr?Xc^9(XyU8zE|O(k~CWr6R*tZTS%T5 z0-!V5)V^<*>k1bus=g<`nxG!UAKgwJ{r;&nbzus}+zNQBw(SZEi#)anp_f=!s zJ+KB=X;!?7y$c0+S9snRF7QQUuoq*rmFpewnq+oM$5=1KmETwcpN4csL(?FK1u z7m?dlbW^S+j1uUvEJOkyZPK9wxNX}7%W+BRvH1Sn3tl^UVp?pa?4{BEX5wBz?>L8m zSEwF+m~se5hBD6Mpm`VU)fgbI^icmQ0eh#fx$OYlWWTp-y#7U4BXdbs$#TB7=QPys z?9uUINuY8^0sHakylswHU`y%ttEbn<+J7Y_*0ABY3x3Bq@SYwbAln(Ki@MCZhRBkf zx|$rhTM6*5r62YhiuaaCgXHM(WklRI3X)U*JGN=FY(nWTi#c1!YAsk7$s>k@3`Xe zp&{oXSFJ4;)ND2PN-l36M_kx1I!9z!l)1U>?#t!bLLT)#U4#N`WUH%s7L{==VdgsG zg_{W@yOkjQE?_&|s*$jx%|(|pJY8srldnvZEWx1RXctxv**ZFgn4u`y<8-X=ZY#MD z`Isb#tMTedAnB{UMc?FP8K2OIMG=c~}MO*3n@p)189S?UU7mZ`|2{gtOW6 zKn(23;!HjR-GNQ%Z3o-ML!`Sl5$&&$p-4{V8(P zXo^=~ozk`@!QD-cQ0b!hG(KV&@IWr_JvM~)v~J<5yYpx2#nLOM@o-ibhhDq8@;IzB za~0zD(PHJ!tD)8Tp{p!8ged2qg)F$5M)h0Qs)w8WF2LqB$K%w8JxlSjS;Exu5v?ey z#O%V9Sw}fp&o%bbowu%mq>PBH)vc^;x&J;N?4Ew73u)4R z3p(lPd`5jK58eyKA$u<4h0i7rt8X*DT;ld8$UuU1Xfx*)^7lSh#7|xuG!N(s?zf!; zYuW}q$3s+Rd+VxExNxg2V>GI@G^+1-SUIlxs}?uFHQ`nI{;;lraBV0xZTBkS;T{*n zUcrv45ZBTAs|c;b9S$pY$_`J-6u3hzZVQP|nNobs(&cw|UIowU4i6N^kIjnxi%Za# zDx0r2$namMkMG87DLV}NeGnX*7@G#W)p zQ;#ZFlqn9qi=4$@ApqWr5^tiLYPCmT*eVU}m6J1a8_N=2Bqcm)Xm}r`>K?yx#CW-6 z!kTsmtW`j8U*#(c;H7Mj_GtkZuqcYYwXE*o>_z)i`I zUlc)H=dNEpRWhqPO)%b1k%e*e)C;CF_vel~G}-U|*>(Ec41M{9ZVCprn2GIe(UR*H z=;3Ez-5RBW-{840?)mR>l)F7Gd$VW2QN0cudh8Wv1%<8z16#~2a(YwXp1cEa&nZw- z=ht8LJzlO{2&2s0MC1f=G+dKM?1urk2L{F6;2qc<1Q@yk_~1d| z9iePx{rRPPBh@cKc&*`pbd==YA81Fi#Gf+IC3v=@)m>vCOD=QU)dbw<5AwFeK$!ft zGD;KU(@(?2d{M%R?C)%O&Q;v!KxBN7JHZ&)3~q{)G`vyc6#p<7*kx;teF3nO-Od(` ziqMAM&wd78qp`NY8P6Hd+OGDqI!TdgGw7(wV`A5AK-a}%S6u-Yb%237`W zgSuziqQ0B9h9$%EU&KQoA72BIFWe4TeU+kr+?N(FU31V2F}`LP*u}G>01RsAW6;cH zx7$vDTt2WyEFSjK;#W=#fOCm#9M-l5ik|hsJNqBExCL~>U+MBj493cP553^ln}ZID0lfIoi3&<*2oE`JBC=sn^C+ZgsUg4I2+ z@-e$t1&ATgSMB%%+r0J}`dkR0leX&Mix?dSHn8621NmaURlz?VTp~-b`DV94L0;O@ z$(D-@>eg{#4ec@l{J;{nT43%t53Ca#0DW`Xr2=x-bHh5f0q8e|ttE(i*@gnn0O;$- q)+3nPZ2*>p4GK?e8v(pa+1~@UGyzbp)PZLJ0000}h^(jg#?z>qU{{N8*2 zhxdo~taa9`bJm)(_p|Hy?08~zw3KnMDX@`{kZ@F06!eggkQ4vinCOT%ANqtR5kFX- zDkeTiNF>bvZe&$GrVGSNWFI|cIi%Vtsw2b$s-vu?ED}-!81Q6`hJ@6qrK%un5Qu#8 z3`les@nb>Hd#b9es@e?vs4b|1)l_hYq@qTo>KscFz^0e1sb~Aemdf_k%xc1yhNZ~G z+jl3E#z-ULO$j%FDq0$%HWJo^jnrXk49s9TfktH{<>aA4He@>X2qu+6Srobt=refN zT~+R4e_=sa@TY2xw*LmOZdZ*v=+{iU>1tAQ#<;_n$Pt5?>bBJ z_6b>NfD?Zvm8FG6kGq%GED!@8kPDEe+Iec4hVVmfp;D7yi(~L;dvhsjgE;l%=2 ziem4sZ}aE4{31g3uA9O9E1*#+`d*zG+(#8UpS|(38XQgYn?rz)qo-9n;j)?L2NZK5-#*C=fxT(zw5{LqKh+Ak=Je>FQzlp0}#&X->%VV;9l z^fnvNDx)#1A2kVn?zFX<0Id1>33vYaL5ctS_k zPft;Qah!BVNRk|<{`BbC=kmBG6B0!FPx}y0wLN5!OBy@tvjLsu7(4xNsrBVDeD{?? zqBSjn3T=UY?Ns+<)>^iF5B}HNoN=4J&~wjV?(?^%OgXl~e)c^_Q{v|mYB)F_%Kq_& z(tCMRC%uPy&$^=|np4JKEr`^ePmlUM>GB~({}S~LK8$_?7^{5p=a1tl1R}on{E;O& zk0g74n?IJO^RIGPNk<(8zaZM&jAz=#O&#c2_rU)>MqW;`vTKuVCrUqdrV01f6}GBY z`&|r4_45z)MH}?{)#j^6^!@m$;@jRLXZ0+@8cnJ zxkAp2R6}d410-qvr~)VvK?xafRDMa@g)=?U)zYF}Q(J2Z|7X~FZyZA^ifO2!Ttz-f|UisJ`(a;djgdNIxH!#5*4MDSb>$zHQZM5^Nv9q{O?CkB7cAX6)(ccF!McG12Y&y47_g13B#=M z>7)X@uh*q-ZGSvCkwyKp`&KO2AsBXe5y7|77&8tXTj&vei*Qm@RH>9fKz^0{&OSUHnfdpoA637 zH2e7o+70dbN9s!}27=ikFWA%lV{RmzSm4=5x$?Fx6{sh-5r*+GXd=3`Q=j-1UC#h2?A~H zyqF!D0!c+38g1TB1xRV);P@2%^9QcaLt}f^h79MD-h1CH%pOHSjDTLR{o-9fglq+w z79m3@4Q%X}vrfAfw}neEEzYr=J{=B@8IhLP+AbNi9*BIyi_!*5@JCOb!_Lkh7`xh{Xaj7* z;ak%1O;}qB?NdDHQs8;s?rOqadyl)E_-qHv9qnPZ;(j~v@$NY4ZoWf1`_@($hf*OJ zucXlWoqPe$rA`JA!yakC3MhgG)iRtzDNFi>ER~^=%G9t#d#V3zo;X& zO&s(1H*TBV(JN$?9jx8?IO0?(NETygWP~-4;|X8Jyn?QJ5{cyWoH|$gt#1lDPDxC~ zCWP!UDzj#AQ+pjHIF?tJ@x*RvZ(Pxg&3BQK(iTNW;}mt&|Fg|yR4C8-`g!C{`5Fh@ z9~!`>u(=Dr@4@X8=?}`Wx&I1yd_(%1_;Y~$`WxVGK=+$jzko|tHOQ|$JgyELk2+qv z_q4auuodaY(%6=Kyo2hZ8|3?4(tu}H^$mDGUMp0JLiqDPr}_N7?s>H?bdntpl(Ptc zW2|q|_f2o3-pGHQ>T0z68hm@yef%dg*G_$65M@Ahbn)YJB(;C}zz zQ9kU5r@E#V#_!QNP*Hu9efWgl>C+T?$VeOXiGo5H`5$6oL(*{+x0KpElUy_`F&&8N`{rRMBlE5K*uP9>i z;A_*Nzw=?Y9<(eTM;amvZX(Yr4Dc|nn?Cd9nR->H>_Z$J6j`spfD~!>J{w9X zB>0ZtA8x=z8rmj~B!xV0L^ttEomGFHCeG_o+}0M5#J_#rTTfHkka=-qY-t?$GgH2; zpNIH?&=l&Xz$YZA@^5qBx;XBG9mCdfJl+JBUf^qPt_RX7NbkUUN2j%PLl&)`%K|;M z*VXl1ZI>neqAtYUoBFafX#6#3aL=P9ZkuSI57&Rr)Wsn4|;%Le*-!~Q)8al`PyQ`_N+R_({%@?2caOO{q6jF3qu5M}Md>f`bnZEG z9eAb-4FK!o!qyXD_A=!XPh*u<{-At7Eyu%sKK!0Pa;)P$3!EJ-wF$@E&h}G2YrSxs{vrr$iR(z zxdcsdbab>|F(QDwqFW2B=eKv(v4at>qN6+TrM@oD%+zB!ksw6(MVU7AdIph#Y#Sv| zi+8`@hUiP*Y~vwv5geT2nSa9l$VwA>&CA8LZX0`+b*G(6xeF4$tp^8h-yg6)`FFs_ zYvDO#x{bG0dz<7(oyE#h*M+~YT%7O`Oj(bF6Gy>QJB)}H`y|MS6tSko(HegfeS)vQ zgo-{NFd|YA*uis=%~5AvRw*+GWaH*`ddaAq(5#&+XrA)#1HT|Z?5^&Rr9pNK*0s%T z&gia5yB!eR<}5U!K;|i?UUc+==N?UQZlpgl_L8vN_{k%;3;!JU-lgA!i!{r|xgGuA z8q!A`IN}JtM-hj8_Ye~*lC$1_Roip*H7sy8dQiVO>aV6x?nS<)*DG*WvvQBkN>As* z^15b&;0gXe)!2J7BRD^STpzBZdd->;&J3T;>HlrKgaB#w&oj~nvR8W`zF1)KA{dB)2%x1 z%YodP^E4$)^;=U>i=y^2Y@h<#kf6R;btz486dK&@6wK2eYy_EY6CRrLjQS^UrwjD} zEuHn!9`%M?dMK-NvEZqno56~LZ|p)T zUgDhz_KjTm_Qh`cf$KCuMbL)U>ACt$gaGLWv!n<)Z_$TZ=g=} zUkr;AubG&qyKWw_NU|~g28yF83D_rJ#7Ssyr5U%@yL8*Uo;7(~F7k_2%>r86tKrxf6~qz^ki>#&EAt0 z^HK1Q1L`8p2d0IArqf@{zdZUPimWsqTdR_<*G5`a(K-DVUg|jXmGEr1&+i=iCeQy8 z%*DeaeN!gVbL8yuFNlod4!oDzolQIoM{P?szbUU})4@j#W>BE}{>-Owqk}D zOKk6--%qjBC2Od5g`DVRr(wp)4aTVbjjapQmllo`9n|P=Y`{Lnzrqa&jRD*(U)5SP zdu&R1KeB^7pl9pwS3)Ojf@qCDwpkwB>m=6H&gmj&i}ab|-FMFXK(Nf3WFN6c(&HzP*|r38)4^mv}J7I#Go0QtE=lzUbOaf-o%KV zg7%oC&Myy%bbIBlewGcc5Q_1LU5GQ)40Fj)9KBy@X)vwq(aa=6X3qzu z6)a@(=NO(zPN+&`445!_EhpGG! z3U)?R0UsCk!sTOjSe{JEbqv>^wPNril{&vIU*TuZvGiU_uAlR^=YV6Zf1F6-`m_=EIAT>HRf>hgL9~($SES(EM zrW&vxnm4aDQ1itY&vL(u@eSP+w{O@>9j>jI`$U2h`w^*{*G7D-fn=u#4dS*%v$<8h z#s~xg@$?5;mGtR;VQK|#E(A?5c6*WtPZi@HvWimmX_Pe@zbg8^8)z;&%o~H&hJ8bM z5qx`gYGFn?;9N^xrLl}7_=|SyQ=m)Sx>!@o1E&Yk-)Pd~Ma`$%h9=($Ysa0p%{Oew>@>IDn03?9d#-Odb*zI7Kf0iX!n(8)qs_EvV%zc-p0;F_JQSv zD01W@y|>kXypQAdAHHFXHVut=*26iGWMa?5GtZ)lkJ`Q#zLXd1!lJXpM&|OA}R4G8zb5xMK56|r-Dg}FYH$*>zCd-Do4Elpo_F8yEcP^DsZQJ$?M*Uk*|8wZCS+{)kZtW>F*@tQj%ks!WsZ^Vqkv&m$gZc)j-Liac`cL?b zKRB~hEyH1ru0bpBOB;4Jp-GgRIk@YYfjm32-U}pblWmJl(Yxk-!9dgq6B8>Cq7jr| zdh0&gs-RD2Mx-ry^V7Xt6c(2vINvrIbpGO8ayd;gwf3d%%tw?XM9mYk+EUiR_hJ`#B${4(Qy7#MREdqQR{T?=85L;h`b<6y+ zlyZC9Mz%viu_z}_PLYsU5##6rDrC1Tk0@%bQc4U=G}SpI{`#EQuKQ6|43`qa@!IH zG^{;gX^M61T3DzcCb0CDA9}?q8fm6jG1$CVCiTwKh)#!BRRsOuTm|!MeVm17`dHr3 zQT?&D@9U~TxW#FJW<;z^;7^iU!iVxZk7$FSlD_+-C-+Z%(f)}e?{)!Uf@by8)q^_d z9y=o!G6O(|bFpj6Z9>mFW<$m5k}uJ=3#^e%S;{5qE#0xv#pKfn_X@;Mj*m3z-rtGc;RN!K1>5hWjxsxDns>^jtLhY>=UiJCdhB2Tew+v}HGT09 zm^T5gTdcLldh^!vx$CRjwPM%=nlZu9Rq|&*KI1^szH+`-R@C(oVWtfRqq|Z{HqJW& zn`ZBlOxg_y8axy;Z9;~aswL#iln4L-fb=ejHu$yCBJgKD7XrPLMCj8%MUOlOH)FJ= zG>TjYKrS{9p=B$V7Fn9Z8**6O84CEAu5=B8?^46<73Gf9NSw_IrVnRaD%dze912&_ zhIWsCYvbNa=er285x|Xhd<4F`vlZ>Fe|E}UHqcdIhG2h$sv6&GII#R^#w#~v)TME_ z6R+?Ua{xxZd05K^GvANw7Cn=dQTb}2; z*Z2NrqRD3-&^+;gGt!EV##S5zLSP8|o#}Yyt$$b!X;?ezLbjf}A)GRyc#gb9NiW*@ zYRcAKl-+4WkP-X4F%hVg&w@>8?&SiZFl^{%|K<4N{h-9wo0(mlMZ5fA(*=)SvM@79 zpW6->AM#+S(^in4w_z4Jequ&LVG*D<3Mz%slEwwDa;&Bl zQN*q&M@4cXSaUB0#XK_=N}16J_EeuJibBE&H%1!X?4*q=ai!>hU_D;6b~@xu1Y6IE zZ^IL#XulSbZ?b&l6S#Cq#$)rod4Qc-on&)-fwc)Gmd~&?xP4-CrDdFd@!4|Pw;$V#vw#<^=4RK zThh;IX=f*tI)o?Isyn;hj5UqCXYWcainXw>HoCZ*uz_N5f!U0LFGP*gq)-Xj*{yZt zl`}RykA>YRFZ($2SIr<(*#YcTwr`L0X6SM(V;wuE-xcG3Sr(hN6O4BX%51Y3C%ItP3W z5ukmc2^NXignU1D)P_=c!i(!;r;ajJSdIRSHyNPoBEMp$-29ef^B!NLQWL59YaUws z2;>oy!fGyVCv}7Wvb^(&C4^LXyC>WAwNni2Ua9&C12)%_a?}FX z=!}u}YIU5ZsS|v7PBK|=K*>r&>V)12S{UHY@ef|(=jGHAcp1ABOdB%7Ak6#R%E^@H z1)m8>T`&Q*zAlRL?H)8s$|R{Kn|4!;PX#{5VMqVEivmCE?f>ZoV$}DraGY~>(PtmV z#_{3k572!ftKJj>S8)IztovY(S$1Tm(t8-{TvcjkMEwZ{xX~O z>GbopebXggdel`iAIdn9MTAp$WZTb_miTyRALW&^%W|U=_8vz8XrlZ0%tv4kKfal5 zty`yY`vm^;jgZh~zZI1uMIAx;89}_SS{xIBZe%;Mh!Lw{d&rmc7bn(sC}XQRy(%8e zZeMs_C~L8k2HLsVBo(lMLpobce0`r-x;-cj*jUF$kJ#Ioi zpO0Z_DLg8#NOz|X~-PrqM@q~Hd$Hx2-AfF1zK z)My974W8|nVm23HMI9s;*y*y(!k$eAV-peW1H?YP-uYNKRUr&{#~4)>pAXVJXIbkm z77n7`@V#O_<0^5a$D2D7*Io>{@)$J>fqx{9)#nJ49yoWs zJJ*g<(j+o`*C$h6@{;^2kn68j9P^^|-*WW=EhcmG*onFV6_wi>O)J4>$f^v5MA^(~ z=?#yj^ufjfufRM{p!h<7*1LKo!yIO4UB|I>Q8X8ZJdP2Sw$%OJdP+-6*ZOC%H4Mz- zk7+1f+AK#Sgekruyg#LRxOw13T|G70ymZz0dY-Jc1Pv}E`VvMgbj@A^LL5B!5~{*P z=E*#^@nulh(DOod$KVwu zO6^@#;=w~>GFNGp$=A6S*8BNYO*t;Bi*MYV4tHD`a1)ku;^rpQnmy7rldX!=_4fR* zzuB8>8#pUA|J(%PQBudrNmVv9#0X0{t)`05JM7U9#bhJA>*q1j2nU&x8} z;WrIE@{r`<5rHiA97V&!7nD!l^oDw3E9mts^}4TR$%n2>jM1`Y$|{JxHW0avKHC#} zQY5JGWs2~iKg3su)OJ|2Paz0htdUEVU0jM4i-PJqfki1d}IF^i)B%|-dmAEt`M)tf|h*o~|5!XP2JAusYA@`D_$7gRe- z{<0H?4~6X5r432Q={mTRw`-ffPjt-Cr-DH@pOtBzUv00tNOgWG!znOB-LjM$qP{0= zPAYp9Ow9iol{U*SDwHS9IM(Rs_sInDvpu^}LDKJQsk89vOXmT0H~%+Y@52%l(P=y+ z0x#YMi`d2gL$eWW-TPe9o*C1Rj~<{?*8ofY-|h#+@IIY8Y!6b{1&$@iw++Bk_A2Cy z2w|RHAgY}lHZkCZ;oJ)4xZW04cfq)GoV)R)nF_vgXA&)bYV3|oI=OBuY4VL18*9^(47*RRMj`Icx`4%>zZ1@7V-Mci z=ld+hkRm#zUAqb5tLjl^FQX}1(YpCxgC4H6JIMW(JKAtfFC;Hm9G0vber`7G5Uhv-WwO{PX8epRYA|Gw2|9vn-nHU;Tr=_x^6TExWX|YwdH_FXDLxb9cFoRg{MG`Q)W{~YB3};~!aaqBc{39+>@Z*7VEi{+C<)Uhnmz@|GFcpM zg%V_8(*s>~Ay0o+P3vStH)^7f(90E`9+_0i{|E~zac#2Q%>NNndS&MhtcXrN5BJNljMf#XpQt{9wBq*Z`ij*m3_mMi$x(nzP84@cBJ?E>zm^ zj9?TuJiv?VeD&s{R6XNt4z+}DzimeS5#7bKKwK$v5bss8jvx1>IT-PF^l?5!29(^4do@%}uHXgnapMTsLiaYB>w} zUBP%#U*9gt$)d3184Q!e7Z0sF`mE3JL$T$>jPPs#rhDJ>Eg?_O^;|5BkQ!#DP0Dj? zL^5fi_`2Y22Fcj9ZccB}R{C2Mn|!8MmKQ7j_rxn27c1BEv?NBCab1AFuP%(d-xSI; z?RX*`+(;K!3L#{7aPv|<9?=(vhnFaLtTG3Sk+gwP0!LkFuuatkKd9@yAPi zJsQE}iQaq*mRtNC%v8PnwAtZv@NnGw{PIV@jg3yr=-zki*d0LbWud zgt(btgWc^f8MBk~Bk(Sh+)Cu&@KIU%X|YX84o4hYGyKFeFg~(|0DdWBY26eY%aIO2f!>thmUo%_3$o7Q(|3`wkB<&vqYgxP!EVB6}8KK!TNWVLcrv5r9i- zF>w1&D8y{31Ce=w_B&6vRsBQzTqz1O%WUV9t@(y zBKX)1B~*&-el|j1*o$oT{RbAhQ9AH^7Cjofs^CiLx||UTugFt?sCtI?aYK>KglG!b z;6)Y;(u;tFCfXPRz>5VJ_U?g?k5T|xFF|ukMAR*Zq=)|LiJt%|E=E~g2Q$N#9=o&S zzx9IXjPBxy^_zrwH{t>_^DGR6xfieZ(Ke2b1UI-<2YMy?mR6o_+nsUO&_H^Ip@w6$f2TP3dfxWXnRD|$oD|Hw zS0DIV?UwB5z8Ou881M3@`)S*-Iz}5~xfMlg7RSwfXU&ktQacm715+*{o0}}T->^6J zZBT)S`Le1iMi0FWQcw&dFv{+##oiv?CI`hOrhCEm2cF%fOW-yBmJRV~T?R$W$oUeC zAhyX_3rB}dju*rH_C&`YZoUjU?mLdBI4r(IgBny&^8@V~VzY8TEmnzR8s2T#idyOh z&S?bRaB~~7Obz*AnVVM@l z2C(_Q*W+T-sPHsEHbegFKitvu;NcL?yTBPgDE4-vf#xelS_W4LKPneip>aDmb@P{} zcIE`EYVAE@P8>!~+#hcCv21v5%c=;?U?5u+RSn_w!&@I}*SnlEx}dZK*PsnCRW0+R z9fw&bSCSYV6uz(ECpB3oH!m==3Gu+6Untru!(RBcmrIz|`+4l#wfPnCa?NUYii17d z1M!t_!qZdbfE}cUj9s0hWjsI<;ty}6%6V2rVL3HuZ6&$6!e(3f6ubi*{n&tS)&~d_ zO^waCPVR(*zo5M>LjzyIg&#x}wW)OTAKg6@Xjv998`TREHXEiEpSn)c$RfF><0f@h z@T|LYD!dN)qV1fP%3;i%^{Wy!f3Yp2P2ovFj_@68$G6c`ZE{Ya-U+v*#J8_TKEq%xtNi zXzvt*$m(DcwRa)Gg%LY^7DttfFQhQqaLi~q*|4fp?S}AxUJ9zbJCF1|1YU8sh&JSW z9hAU67@NwW5I6Sfr+HGch^@gf=a@W^v@`8Mr1$>&ZHK$Wt55OBqjmdy6yX2bQYUXy zg{${DjIejw`>`XCYsmZfZ=`D#y8M|9u|@*;c_e@uWnj~evG{WEBy$8NItfkh`?)u*lKfK2ON(|C!}?JK4|i;; zhCCvF9T|O855bMHZZG33f45voS#5oQn8~G%EYeBmM#bO5io}yz!BE9=T*OV^*Y>*C z4!%YZ4NwocYg#F#a@RZcWL_JPpW|7ZYaT9D196xY`BUqx9}!bC2&uLcEO%~F8`VEe%3&Dw z3V0iGQPv<5!?8w?z_0bc!;hw(UO`NKO*Dq%Sq1U?{Qw^&T~R09#O19PJ?FS5ryz3G z_~@uYmO%UW@G#9jP~<)xZM$RSwp^@IhLOt0&;|HUFHzYRnr+G9#>AVNS(oLGf38e# zvb|e^zD*9LD?uqRklh*%()9ZL`wQFap%xNL!;{^&`H*5;P!Hc_z-t|yAyRmx+-RWf z5>C0UxqrI|(Xp1m!~hZJ*9LA{%|lDy^iP|3vEwg}J=`vdDDhRf+7t5-{q%mPeXy*m z?&ng0VHf9R^8cvPs1idB@19B<3nGRX*6B<6b-iLoCGtrX-2J-AZZ#e@xi8bP!rV8? zc$&83%-|ePIRob9t(O$c{G6@ZMND zY-)~(v(P0MTX6U{`SF9xGVCA8{?+T_maKRT5oV3M1=v7$;tvIh-YCM<3s4tVCr6qn-d z`tn#;yijnlWnhbxLco>fXVtC!9$y4)5a)hU$d?wXX!AGTw6)d;)(Dh>C-+HR_EQ{_ zmaAJDW)*CkLH_~$T$jz;#PDPq-@aBTKiOdYS!R;tdMw{nCMJu%tecgG+35VSyad5eQ`%IX91lpJlZ;7bq`03L z3Yr}nixQ{D|46Oa(q~Pyurd&K3cZ)Fb>JQUal9I?p94P+No~0_68)+rQ0>@Z8Hn39snZ&B=xzsVtqZDbLS5`f0(6Sqdv}iqnjl zg+Z>Ca=)y|x=16Og*(;i+}xL{37ofo&ZSk;e*qWPN9TTY2tVN^(uPbD>}}f+yW4lZ zf_P?e8sQoiv!b=iF%qsuv~o_sq1?5l1rpT;G(`zm&Kl(<dZ7$=&VQjCmA zlFl6DRt+Tx=Try}u;&kX2$aHBa%22vBI_8w>Z;&&gukQjOD`t@%N!S!jPA8326Hv$ z1f^QmoZ*O5BKA{WW6eO4TgHp54u6@gLcj}a88XN1`D~N>!{12~##NnF7ti5?dIa`# zeX3+~Yyu{Z27<bC%hpJ0MZZB>MI#P*D~~sR_AnT zL@(H%P7td7rhwo_?_w5HCRSMo(}xA9B)=%T7gkUgz;qd4AXjgyn@YnbUa_PXXQ8)5tZmBpD| z3>@_3d*_!%;ZK8TJfVv2dyQ(Q#;ljT*3b{Sawhf1vv78T1v6`KBv{TAQDU7l9%ah# z5@%>P=F{C1)K;}W#Pog6K>6HErX(|$)^Ykdu*|8kQ6FLe#7o*x&vQTu^f)y1VKUaPiME(N(d#3r*$wdauvIW&S%wCA)nasYt zV}in;1+fykoaDgonu)2l+De8`j`lSafSZ;r@K;fX-?VV(;v>HFh2dk+c^) z;Y1h~a>#-BX2%kHJjSzR?c}p6=hpY~BkTw?XJ5qyLqw}cF41&7Ai+r0ak5uN z4v-pMk*eO9P=aYz5x9rN?>dnU%TY`fXdbVNDjnL3D=uSd?rynja4*Y}qY}Fp0+*(y zt=!7^Gi9Neu>LzoHsEga^voON_EpEy>)O2iM@7494{)I_-uE> z1Ld!NBeG!IEjlOWu%MorAyD#R2ZqxA^&)GJRIa)mjBIY^o7>y(UU#Cfby!84D~5`mD;h+azUheM=eM_ZyM-Y}nKB79v-AGKDC(|6T9L4hsn3kC@ETw=NCu@pj3UWUKKWnif;;_(`oT;s%A>fWVyC8@xj#o!9PcIYOELmWmYd$ zsv?TPc3=!iP!)()`fp&L@v_Dv^cb0PLy+{0{oe78$F7BpHg)uXXX%l?TWv|W?2Qv} zo~-n-;|s%`=G3UhtZ{Z;0``6pCC41^eYuX{HtVh$FLOpFissuYsn7z+>EA77A9$tK zswWg#?o&y0e^jzx7O`jR!CI%i+z{(~38YczX&XWz#8(N}61=$SA-0LQh@3$?X@#q#BSJ8;4kD{ixWKM8@4L7j_ z1ht2bel1dzNyWDQ(IXr^LQikL8$^RVwOhT{S~;r?`Icb%Eb#vS>Gaidi|f)r2oEP< z;5-y{-+CVvjd?DAvM4iVA66H7>I$7?-C3>P?jX`q}m~)X^oF zK+u+7b=pw5nG74~fZCZ`B%C@PHTY*C4v*D4Xq)5ju($F3$`$K~fUN!L*7%AJ$DZn| zJBkv1>SIW9Fn;4_z2`)cGRD8oP|CQvpH{zTZ`}kHSL=NcCmPT;{PtP;KYBCc#>wV= zk7I2Tt?^zXtw}|=^27e?G<%JpCUbozLCa4}&XL54?cgn%d$p^H3nn(Jw2Z(eY-+&x zVEPq0G;Pvsx6sb*8*fxTis9Kv`fDDwI4#1bOoH;p9g6DUfdm9xCvN|7h7lE^LZtjb z5sg0KridXn`&hRBYvN`2k5!#>2P$TiUS;Pd^E2C*)usZnjJMQ{*9u24HRm)Q&Tt8_ zI^`r>^EdG-Gwl21JBpn%4kbQOVmyLC#kq9*TW2*x+Zs)b!wjOxvcuL&{!8f&8Jz5d zG8t?{{AHEe;?9>j9sq>3vfa^u53%j#6PK`oOr1?@H#2tpD@4G-02VDcA7lbMP9OGwJ73>=>N8}65yXuxEJ8m-Nxcfr;|FyUJD2RxRhaWqANUZ?n9;{L ze?0u;EvuT^qoOQuHm|vt9IWyxB6dgD@N5MZU!qz9l0!9|t-NS4wBo|p&XjPBD)ZRR zNMy5CH5z8#^NV+ztX#uo|Ank5XrS~X?(2x8F!<3O_ze%9E#VH6+;czoR@;jUBY!lN z(Wk@ieORaqdy6=Y@ySz?nQ+(@S?A@`MvMW2p(!uPnw9_UluDg~Q`1|wAU~ccZrv-( zkCiX6S!0+!Lom#QvG5e`AKAYVp;wbMa~kU^LN%@RE$0&Vr)ZkOYJrf~h9{J-sfEg( z_pDI6FGH9@aJvdGNK~WV9v)_Q!Go&NbOcCu4x~sU%SD4qsjO4@Fn{T z@j1n)v+|(o{D$k8JKKrUy|S(>!?A$A$8`)UZD^!2P)k1SVH*B4?NJ_!=T)Wa@{9^?v{?LDRnLp^b1m(%N8wJyv09`NxE5 zyba|q@^l5?ME}lrzVitij^E3JF5&(<_xH$^{<-O$h^9aU+(h^&PEH$+-If$YuquKl zB|mv3?%4`49Ei%t-QWJ@FMoMcKeQP42sohP;u$)Y*{?RKP!5z4@9k`p-cV`@C3H%{ z53QRDMp+Qjih?ks(8`i@fh3w{u)mbV}-v|TBY*Fx}$Irk>t4o7Kop}{gwuUiWR||Z!w*)J_zH*mwGL}JAw*^a>c}o z_p7*Mx;~dW*|o*AK4b<*FXTQnDtq1hRNaEgUk+k4TyHyHQwv zqP&3j*e-Y)Nt9c{kYF#ltHucRno=lXjDSZaAr;2ZKE_aewKQYux|!I!ckcu4au|8R z#bCIi>)86Ey_fap6?Qn90s*+matJjAzAQ)}@QG3-V)Z=^c`C~SP0ecQS4L(dJC7_N zH8;_;g0q(eS@^@MenzIg8ZE7aEtC=O6>CK1)56BCjIE^0>BD_ufq}A06yksotzn*x zY`oX%qgfuKSN{C+%dJb}to4 zk>|^3fw(#IfGhtn%sZT?anZ*7;2#{2xj%fqs9_E?1p;uU>`^(mD44$NcB1GVnJE+; zh;AjMp4h?-dGyDkA_`$gX`RRfqY@sigZ?46SZYEj3#VLJ*jXk?BvV)=HBwuhtCj)N zLTg9zBlyO66fm2Gu?j$oFIrwT7tsJ88?B=h!jh*F?a1q8vOwJa#l5bKd&Ox+13bq? z9vtblqCMDZd8oOv=0j5;fV=O$`-B@*N0k*yl*KRr)lZ!8RsMP4o`{GGa;(QAv;m;f zKnsKgY-WLI_c5q0Nwo$fm9lpB=F_4WlsO$GWg0S)(7j z4OfiMECSqUuauFL2jymYWZsH!Lmn_~^|Vo8l|A-U6w)3N@Ix*q4Vpzz;zg#%_(3-m zJfm_o11`SH1t;wN5!}PF&%}#^n$j>bj}3=f9RB^y_^|1t0@gWN!1m8 zF9c6ug?#}c@>wBpy0Ml}jnB>A193wB0dxt&Ji`-Myx2?T z9W2}u>jRX_Jx)R0Lk)vy3Pgb$K%c^uN(jpar-h%eMWvzSMMV==Mm`W|KJ?!AzV|3? z0CrTO)GdR+{fjh9Wi@KkcP+A2e`y6xlpF)r;$``XQh{<=0m25;ES&dcunZ|oi85iG zl`Wo20vO}XoNhr0qbbG;s{KU6bsWQIZERHCfSYK6c zO6~~NMJB?MRXtD6l=$E=+EQ3l2Bf&OFg={~Vnvgv+Rvd28J57L})3geBtcJ2BJm;ddq zjGu6SZ+A*>#f|z!E+i4SLUC~XELy}X_i8-n=XdNEHuPQ2?~ z@4Ai}if9UC08WYc0sA@kcaR4s3_Ki|$p9=3N)Q^}D*4-El!v!2oN{=Zb924T3A3Md z6Z360d~p<4h)au$dtAVx6slGe-r;$y(kR6lpzrTHJKKxE)qd}~N-Z>!?V^?^m0%%# zMpG&VfA!^qqLUldV-?7>I%d<9!8~ajtb z^KZNM{@QJ~-S!8hz$uW=P~nHyO7l^9j><*h1%Cs`T)K4W_KkW6b~3KaNBXxhoPhtr z@BjYqKef8L>W}vx#=*s_n{a+y6J}CD#{ug8{$GyvXS6b3e);7CXV0Gf375uO7H@Mw z{_mhK$FJ%<9T(mOItC`8x*}&rY!IFtk14Dj>E5vEZ+rwhYvvXbWs-rCxrIm3*VTh7~(Rfj= z{>!(~%>-q#g>cYa-|w#P^8w%g{`Y;~0?ZqWTA%?6#EpcYN$5HD9k{zbuG zcFN-srtKBR>C>mZh4C|Pu)ocvTbG~M<=^ivi%}3--NKM7ZEJ1OBG6X-1Qv}H>Y4ip z%fWOCFPc@Mh7a(R(N*GQy=9pwaE4r1rTd|kJ>QR|Q_8cRv_m`%g^f+m_e;BWz3QxJ zbthdau7Yy&0l$Cj*s&jR{c(HfAA?FHlojV2KhtcjlUNsG&XS1huTJUR`|fwY`&X$! zMN=Si!YdO0@iupRFNc*@h$8MW7xvi?e(-}2`3JX|_6x$VrKg%{UgOi zezw|@hJaa|O!m9TrJ~Z92B<k#tj{WKjgPVSxEPv8L1^X5w9C79pLG0t7nX(j!HMD+ z7h_-2w=cc)(gA0UEJ3hT7>ObP`pJUMh=pC4bcx~#@gINBd*1T}YEaP>$T|@e$vtk6 z`8|@u-n15z=7d`*J?=N*UAiy6^PTVf(=%tz{EV{_-shfw#>F4xw2HDxfI>}7vLv6U zIROPSw33h7r(gjj`4y|9s7Tmd#BpPkmKLumFwLqEaWTHcTcJEnd3cl*2tJP%xW=fT zWf>CewKC^X3f9`W>1*jqc}g_hCi=;R#l=fle#!Dc_mT`he*F0UbLY-2%lx%DViYey z2v3xc7Uu4cxIK_Zs6j}M$V(!|bqaLU8`k#`NQ$ScBhD6OVIGDXABCjESSrbvkNm-q&h71CAXW!(f#(#oW9 z3S?TX^2%RJGmioon}2NCrMRJVSPly6L8YfCNPpe6ynMpBur6|X7~j##rkRT=B+1j9 zI(2G~``ag!O|l46l+>W2C|M@U%gfjKkE~LIinfWqiQqxIva<3%w+Z-dHxRv*VR=F* z%A*e_;yvzJymrr~b~qksw6c4GQZOp_Ns1B5gC`~mOs3Vl=U+O_La_~lOGtF{;rKg@=EmQg{7vED0>F8#^dN1F1eqbZOL!f${( zlln*8^{3rNcpv5_#~a+mpBV8z-)Ld@0qRF-82Hh;AfY^Lejc6a_Jcm;?}Vv6^^xO> zj3>>sfax=a0c~wH7vrenBAOOnzlQuZ@lzGxP+sI)SR@2i4+&n!l%drd9+J-S6#&Ke4^U@#k@QK6t!9)MgSp*mSX1v2< zqz!zr;=p#7iUO}<5rGzofBsc!sG=#5b%2$I8?1lXT|exC4ulg>jQ*G{-(y}>9v+%i zB9)1m9XI3+$VBPDB;=Wp|JakQ9NQhc5(i;tkajWo%xdW;cfoR~(I_e&178)kHa#*t z#2eP5u!5C5=wwVnBjMSU_Z)`k4)IZ`KRNPKYfdB#1=uP z)Yn?Yt$X0Wfzxg?{g9HLN@1l1f~dO%C34icp&z1#Dw+bB1J6A3%#XXvFPuMr{=;s- zd8HABxssecE}8GOR)&Fd>*2YBIG%VKOU9y;2sYUrDw_Aa~B3&6!al}_Cp{2n4DSYAOvDKPQ2hB z&hpsQkE^XdUk%~QF~Z)&>7ZVf;fLv@BvA5#h5% zMT+tMdgF~ZzVgBgFWiJY73NA}@nAZc7WiMg?Y7(A=I8$FU;p|qQ9}{qN8B}p;G+5^ zH@JSm4X)QKg1QF|zT?M_A3SyHRDU#g&z?PJZo28FmpM%-pEmHZoRT0i$|o1l1b0|) z_q$!lioZJLH+_A5nu73NvpVo@3Z|BKh)0>vpR95M_q4M%&bq6&G;q8kv;|K!EzK4~ zMEV@*BivrdK{xkmA3II>)~pnU-<)?!;(1q>HQ)vDC718loPzmv8VRR7?sx6({FJd{1@H8xX)b=)C7r#wi@z}&L?}FQy~49JA(o_re!Cp?ir(N zY%mS*lF(IX#CR9J%UxF7s(O!m*o}1=t5n8X31euL!ccK&N`(x(3o@sIuob1IVcz#Z zhF0rxg+GRl7Cw)n8OmRaN1naX@Rr8Xu3cxHz&(%g>wq>NVwfpdEwW5E_YOEEa-CcJ zO|ULCWg+3}bkQk~7fPR75p=yJ@}=eF<I)DjPN)n! z&6cg^`anMEWz$bt_g6kb8NwD_TK@_7J^t##ChN5lP@pq|D9G_SORFd!sXWH;kXb+l zUP@sl@VBs}P{OMgRub@I^N*obx-Wh9gzrtono_Ra?%lgjd8OgpQ|ILvEsa^`A&j>^ zsSm^P$@y^{^BC4(3P*k~Uc9*Y{PWM>eE$6T-82GdMIAhN@T8ls$JaCeUHUJ%Hu-gD zmHY;VKk>v9hn-S-*u@`)wm$0kJaXrqcOIo3f@?~F96NSwzw5wzU8mmXI@P;$c$O6< z2oHP{e7dD{ZUuC`Qy|y-d$$L2>gJnoeo>>PODJZ` z^h(7au&|YHVWA+N1`Z2qCBAfDQV_g6&3G~S+v$Bge!`vU*uvfp>8sV%)m1uo;X)EN zR#^;LBU;>g=&vV!fVXbhDUIb_yUsWl)y(_?j2WBr<{2?Zs`O5uKE2}R;r=sc&g|p8 zKLpeEF1P*r_n*1``s@9#fp#^1XvF+?@!l%=2X3+PA(o_p?2w|e-P>)gLY)00#hNev}Sr|#0aL)~0 zwLk=~L)M4K#Y>my!o~O%j=7Y@W(f0n(v}p_nDT?tIO$w7XO;>|W4$o?r$VwZTg&gS z$~cyDD?U3Vvf}nOZ*qH^{rL5s0qKwBo+W52W-)f=&aai9C|BygdzPiq z=vkYesKPXUJguy(oN(@`GtT95jwn5>F~nP-m&_j=mmD9SJGdHIKLf|pVa_FVaQ<># zC|!)jIpg0KId$sP_3U=?&j$`1cvZH;X3T$1=ig0n3d<`G3h#4izejSvb8-Eqb7eh3 z+Z;Pmf&AbHKlo91`FCB1{g{6a>c6yt;L*SX&j`Vie7O+PCG>2*LXV#=fkDob0VkWa zsmm&+G3o5JFwr`gluR2>xx_qtgY{>AEPSL z_*T&Al>BIMBs7(J%EcHNQ~dT^^1K=IpUZPDwA*=1BmY)dTJHICk3Rb7-P`?JTRTdD z1jX^!SaA@n@bMYKl2uSZ2Ln~h$8jVkT0+~TZ;)d;6XKB$e`wAq0wGz2!4>&W6r{;t z(5lhG2@+RX%sMG6FDDpZ_5Sg`vDVghyA{`dXW<>NYirAa@XQiG0gjdefkY_@L0kUX zZV6ZsEXP3Jl9HH5dEmV<`dj0gbywtjz-kzaN}hfrd}Yrb@1i<8D=L+bib7DwP$(-| z6v@2dYK6rU^C%Vt=8NgAzGnwXk~&*c-ed9M9q_Sf^WUd&uB#i|JXoS}@SE)Zr+Gg` z+Za1Sfjs-{vmbSrk4nX%0Vgz(^tz<`5n?q%(!^C(XBgk1i3>9oH{+~H{iKptTM}wa zQv~BcSKS2S9(iMW#t2J?^H8pk&17NW+_L*~_b)nIeaX4F_FlYr@ldzAx))c<+U!px z#gJk!=^ONtrq&2HSRm4*GILlO8V^H)ozuyaPy~F*1%XC)Oj$Cm&D~Qcz0&aRDIu&m zO>LE~Hj)@KNjfuofiPLDU|v~{7@L}lR`P@6+KPEws~>(pF01E8=D$}QPJvvfogOnL z|Ljf3d%v?nKD(W*kZr9%oW*g(b;MtHx33QaHd}p^%voi!26>l!E(C%=BrkL##$>*t+dZJ|mRW{m6DqA&z5VD}8jLF??$wYQB7u@FSMJKFY z@y+Ng6YuIe;Qscx#7k`VYnA|qYYIYIE+H^+<*1Eh3VSqpUsdzwMGt>YWUR8$(rDJm znDRqjZ)u#|vv=eWf)iMzfga9--l~B3#Ci=!cn!`o zWh|rXmy|L{@)YKfQRcs-(Lo!KXq$Dd+xb+yUYK>{rza@h)$UlJ>*J=N1aT=VZ3S-1J;J~>n8lJK@UF=wDg<}!$Mjc z?hW5FZKfg1D4?&FIA?EQ#cNCTlXQ?TS!bU|(iBQ4DJP`mbZbtLoOBc9``y z#S0e>uC1=_a}!NJtIyVgbPn6T&v6IN;sD*?=^)oq)0TNav7tDO671`uOxP_ ztekS2#IN|%Q~rbz3oSWD!+em$ihYY${;WC*MI(;4aynn8y!Y`uMsUF->xAQoq0KeC zmgc{pZ&}fh2;AuW_X1~qH)c6wDC@lTk%TAfR>dWvewM!Q-?z?dQ{Pn9&p%B(L zcjHaNaLx;>Lbg^E(1M{*rz~EBQ7jNGOj87AgH}f^4+vhbpwI2!x9`~U%F5|rX~gmE zzZA{m&x)hua;)>qeN^vj8)zCM_VC2m@@2<+Bivk~EIE!0j!_toXz@tPi7Grx0dDCs z%zx*y-RBlayN3Eu@)O`sZN16$Rny?FF5PO zySlpRr&cmW!eOCNr;qTGpoXLkp-%qU7OVt}*XVH?ykc1;9%LCBk7mHyV5PBd|NfW# z-i8xsYk@}8rQDy~=b>*q>>DHYFkqo$3w*NW+~334w?N-Ox;~8S$K*IK(DY%QnVo)0 ztQ?%HVr(&gW9EM{-UIDTo&R2Wl*Y^$xUs+D7g+B09=FK4$GPTz%U%D`O*h^21KQ%) z(h9^Yjsph{{1w+x|Au???;ltkxZ$S1X!+#?5CWUi7&*yJ;baJpCL?^I92PT#l@5d% zP#n?UOl4&u%Z&URaf$`*d4(D$rd52m5<($&1)3_47LEbeCXX@M39(4PZNjhZnoN#6 zWpdny`PH0rbsbuBO6Ah(>WXwr0pqFiu=$IIr0^z{z`T%cF{Cs~%7(*6D4jLGm*JGg zOMBdAxVJP+>X#=F)@DY+M%NDZ6VS(n2KJFQw(+XXJ^nKwy!qK$n|-TI^1y=$X~(e- zEKEWCoP3Bh&01Mz(L3-Q+Q=&jB+9d zXkk61@Re;42e(i_lE>1%ifoUp4Vi$_K14#vL3pW*SRa1IzI4L!l>hVhuK$;vt84#- zbLVcj=oAWpC6P%C-zQ+9SV)VCW=P>#k**Yv&!(b`O3FqG7lc<5{{0NEG~B+%3ET*W z{I(Qka*HSFLk^}{+xNPh$A}Q@Qi#iPqALpW$LtEP**H@8>7QAtnAzfM?)je-Fgq^4 zsq^1i3m4ELk%||ewRGX5lq?sx%)RdNZ#!$`XWjijzV+5y{|RkDY&iwu6vu0v_Wczn zJl;v9ySYtzQiOxmG(16Y^$@O77|8sySp%yjW#ID4Ne*s#ywD1z5Rw}Fm9}KSmUx3O zY@gT`L;11IL^@eN^{6Js%eX?>2FguV#ez=4i=SBjZ)MM(V{VPN;7tAfZr|j({=E~Y zTv%BcsSr?kP?QX*l`;TrC5iO3IBVzM+rWHIalY!TjN=Cn9eN2Z4a$}7ypTe*BwQ1| zaoqdOV`Z$MV9 zS;Yb)A)JijqQkUi+=^1RIr``MIr1E`V4c&xa2uFTk-V~dW#tv0=KQ&H2i)Iv&O$lh z78`qNiov4QGGJlU^2cYIHJBCdC~L>PC&KVA_wC)c?-jSl_cHv55z^(pNLHvb*_OXw zAjdPbCFiwTJ8Sngb;l*;DM~huNvkhlB+rq*K&umNx8eCO@>rU^hqbBmfA8MCFPuDi z@^xeSAK_f|$0(f(rTPCeZsBydlac?Uvqt_W+9KGAKDLWpACFJAL}*3r?X#LduHI zim)+?#O=k<`NG$D`Ciu7D3%C^d8Ofx+#Wc1@R;8SH@Ov)w4p|iX5)cK=`)$vri+a} zxYP%B>dq=QN@dI@X$pL6{1y9JW~Djj|Fh3N`xZAg`Z00ijW>SxplkEXG5>x3qeqXv z!|mbip^@;`$D7{trbpK?|DSh@?7w#N%{MZGZDj&Tnn^j( zf12Vb*1@EfOG39>U0ra({@~d&XRi0wiBsy!R#7C{a|!Zmyn%`AUQ-%;4VK2s*Ijqr zi~J>6Uk^Cx6YI^ZbE=OUId`>jN2Dw~v^-W{;cN5AD9VURd z`SbnH-Z};H9j`zXdYdx;o$^?I`st^CWQ{-RL!>Pr`)BW(ed8P7_-Agf>jJHR{{L6b z8u_p3D&nds5T`h9b(80BxLd#1ku0aitO^m@YHKJ96*^@o|9W{drhF2r#Q#Ql(cfXhZ1nS)M&a5_ycFooVmdt6Ltz^FY>DKq|sTg0`b0a=h}Gr z&~?`x^S`w{&lm+OBpWv+p@exuJf2ZfN&41@kU39YT4bGkQS`5dr<#>4RmRoN59v{Qr;QW8o&9}dEwXBh= zqCi{&|7)(|zvL9ietvO?--hwno@cUQ_{q-D93xa@6*)AHz{LSfzjyH z=J@5D|Ia=5+*_Rm(*I_hDe>Qis z=D&k?Y5mtuiTqQ#!nmRe#3>H{8H;;eWq-jxmpVy;Up`{Nh;OPwn%clGrjaXIt?WtR zqj(D9H+g82Fh}`u;`)a%?W&a(@(#93g-3ODH&l;#`$2im1WGNvUn!n*mWlrah1-n3 z!B28oCMy%o0>L!?_cZ(_`1K$hHiB;UvYomxDAf%FP?8quXyssDh#NIG$JC|N4_9LT z`_F{9#X_$@obdjZQ|vEbn#(=^pL*&k|64@6U-O#RJnnyJj^@NX^WWircGriTA~{W0 z2v_VB)(bDZaEoh<&$vq7YNty)^z~|p{y+YNLdb_caQu#w(adNF!*?a55{dUx+shSc zX~j(Grmq!skoTO-;AbB+nhMX-Kg(gacuoAhENGA(yB*BzWK7mhM)7Bhwzo=M z`STW$S0N0Ten*t~-PJP86!^&u%i|+FV?Si=?4B>}J8w}U2MoTcHF#!F6VJns)o5cut>ydOc7`?Zs?!@LLJNjmNGH?eI)c;fd8K}<*T zk+_k>T*0}M@H-KoyD8L1(usA%=PNP)GonHEh_HBn8RkD0EuS}a{yY37m-qcnY5nr; zx8Ht6Tv}H|fxPt6OF!>ceBScd7u-4?{H>d8vcam$3hkS8{$%!D9g^W8f0C}?7D0g* zKcxV)6JZsg z58@SQv4TL8oMc;fsVgL*+v%UykY#k(PJs{4q!*SGO8X*yG!pBC<7Z{hp5y+{-9EW` z>C$eu34f#8JGtp%SiO4ec9w=)MV`3+`s;t-td8?gW)$cX-F+y>W-|6<{x1C}UmPQl zCuuXVI=g|f6KN`Q$0!Sq*w!#MWIGxtH>Tyb5%fDbX0OEj7xnJ0Z&F~CO~(>UexfF66OCsq*N6>FBaRWuwl#%KRT6EC zWip>4URnrAdDdpfLuVBf^)QvAqe^?Jby4V%9Bck}9$r0p^2U|Ddyo4QGjePg@%{nU znUrybZ6M;3afMf&1%~SA3Wg ztjCc7+vlL{ajI2(Dyj0^?j*Ag}Hb@Woph~;f_^73? zl-=Ko@S%2RK4ac%Vg5S>@)Mvyj$eiO|A)tp9s7H4ed}8<%f85EQ6PT5!(IL}_jjv^ zLhY>r8iUhLs62t0=9qd&i(peRast)L9>Z5PjS(xxdFX~wT`IFDPxB$kXY$pol`EzZ z@acJ9AQPHUt|{CTQSn`f%^nllDlx8fO@4|?>$}SWu~3+&Ok60e2iM&E4+><(DUh!? z1@a1Ao%!z%4*W;X8hL>>8JoTb;*`gm-Q`zYWp1|cjeQ=pfaG%uG+UW=xbn5rQw`SY z8*ex$Y-wPNRdvFLTy>Ko@GuXQA6L>Le{t0Uyw)}q)ik0ld{`%iF7jk@R}AuQ1y8sF zvVxXOpY#i~t6a$?f?d=%>67WjT2icnQX7VRo#a#F3;4r6lVczXEIIiU-sKpSLP-ip ztF^yYM_CVBuo5IMNC(C*R!$u&NV}liNtvI0n6@I8X#_vl?ED9GM9F^Fm7M>#xazVl*-B(n6^L_Ny~#29pE`#5TUJEn!Hk16He85E1ei;Be9|~_^eRDAm5-3ZqmN30mce%PVIEY|?896CKu=d;N8IOgwFtQCp zeA1pFQhr$&({dZE$+lB?kabpU9Gj+KFOl9jAzE0PdG%V_z-eU~(PDumnoPwQl1eq62jzsKGG zLno{M^BZrx@t@NsU{e%`(`p~=y6%^a_&orqm=%LM-ji5;aDJ1nw<{06zm7muMTgFW(%=^+gd0PQz8WIleIG~=z3rzD7`v%2g0v-8R-$8cGsv^&iP z_aGnGx1`h$Cytb#-3JmxYBl z$w{`4f!|Fp@EBJ}*cQfQerFg3k3PZb{A#J)p^2)sB5wkthAT5 z0=6Q(mGv%^FO{)|#A1PRk{=qAJj;7d6Rwuhp9bJCLyEvE)l(UB{rnL1t7-2x|EW0t zI|IM?sqlA2=fA7lCpSZh7}@}wDfCm0p-=KNzPK|P`TD=|vR`)f071lGFinI5)3b`n zkL4grJlev_IlMHccJM5#?Uxe@-;qY?(+-@LdF47%0bxMLm!43n%9p8-mex;F*fKrI zyQDp-e_kZ=B>PiKUxI8Sq=)>B$8_rV%-YFX|K0B zE%yIKhJvZ9t_Z;tHkHndtEON+lAuon6Gfv@5pvqc=?uK}nN4bOO?WT7ajcdr>LlAJ zt1Hmv4mV;#$&bFpyjV9`hOD{RUQBKw-1tF{QTWWXF4p#84^+VPtP`<@{f-fvH;S1BX`A@Q}Z8iU$68T$B ziF}>bfpsa6S6_Ygrt{~||9w~R-i)AF{q)@Dn|De2kjBcq9ONtNHs~Xb$t3&SLsG8B zg9ct@1?_FMcr0g#u8bd(KGf4{VOqO^i8@%n667ikRzT}2OKW?1rFEi|UmG{t3O!5^ zBUaW{E2B0RF)fc5t^YK>c||+ambJFh;tFG)-4*Is9NQm5b9Np++x#!55B0p-^Z(4^ z;^N=B?z-!a(wvxEfq3O{;lhPaxrV)El7EXvU44|oCX@2#zSn~iy-DE{$^P1Pqdz;| z^FEXgg1Dai4Io^(YV9&aPsXced5OlP{7LBKyFY>iPS{#rvyQ$TY=aUsYeh*@`sm#d z?ZI@VawocLOZ%W@va+p>%^|)jZLse4mAoh`_heOEDX-1{Z8HCzB6)Fjb@hSQyyi8> zXb#NPd9IK>FTeb zpEm!u=lpkg>c$&ye9&1ZXK5tnQXp>A{I9t}?=gjAl-BC6^N&qy;Y7x~^dxytM$)5# z=C`)~0#YHoH!%f$of+}s59d+%n=6fMrxM>lGfpPWWG~T~C!NNZj7KQ#68lbTv$1uT zEQh*tx}=ODo@cB_uazvjZ&#C^uEJxcF+JC#H0H2<1Rpqdvo<2Cw>{UJ>tL1BaZ0__ zzG(BGgLmHicZ%c@r$qh>8i~=p<9|ia75WR54=QZPq=Rs>auAkV7%9e0 zk`7rPCZX{k(-@O}EKbl%XlS%#823jdPjTg0f+?Tp=e$~fB;$>OAh%N#``45Y?Z`e$ z+6Ve7qpOvHbt&*;fd|RE75#>9AV)roDZezSwJDbC!%G6KG@k{nHvc*C4x0b&`Iu86 zf5QyyhYTu^W5)(Vsce+VE&YcE zIw*_dTVO_(nM}AEY{B(VXfGp$f-I-d9!4AR+5l4qX31S8!;I2*(yf7fXf6-J`~>}6 zLaC1m{Yr&#E8CTfseYKRSdMH5IVP}PqV0?0x0HsT3vD3F?r*WL#Jn0aFWUUSM&`d$ zYX9_>TWCVn9!DnFm}k+SNxO>r z)%dr9w`}|oslIy>{8=mf)JizkGZ8FA#Z6bW+>(&wddaq|l!JW8=NezwRv|duzaW?= z$QMKQTbuva^!)$3Zd3i6B_c)Y&p!L?o?W|k{U?sljeqU{jfX@ zax7rl+IX;)=NjZVME*27L&|Dw-xgPzh4^Bf<{e9rCq629IlS7IZT^qKj+y^!YiloE zym;|He%&XrNxTuz8@ZSO(H>s5~S^Vi23Mf4`V#u#olhn~aNj+o?u3&`K1^digYEpLI5# z2S{b}U}TwChfQgtHvf0*{QrWpLcX9ys9)oC)`$N9*hh)-U(gCyu7EMQE5J$dx~@!pQ8O@eZ|0+ zbs&)@<5BWns7tb16#c|sjg|T1S7bu~)~$m&sftD$3nusVR`cK(49_y3Y%ffwja4~V zte|D(IF(0GSP3$mBqe2`TDFvQE$reD62<*5m}mL7=snHb`jJQHj8^!dI-cQO^ezCW&(LQWE`?N_{9@8cfhpStg*k^AEQiFz zg}NdSi6RhVCYzW_{cv7nd|R7s4)fg9gny#!mApwifM8U|UYq}I{yVHVH`ZTqLH|$| zkf~#DeYm}k|CG-^i?sbSykalE7@DMqIQi;+PrJ)MuV6%Yq6xL~Nzs@bhULpRF2@H> z3SYnEFpbYH{qkkjMgm#egmSX7Wn8Cxfm77Y)aVrWk$jcy9fFAqGNolvN&hlM^N#PSI zZT`3Uugw4d?53M;`j#Y+;KdhTyw7cty_YtIQbTSfNOQcF7KP2+^yf@Bl<%sxtz111 zwA&Q{tn%m0x0!zAG5wOHSx5Uxp;;?OrcV=G-o9(|e+SNg*GB(`+Y5P!1TzuOJoC&A zD=RC1M~0(G6P}T%k!ei6ftfYFG8vP}A>wVROq=^z6P`J}G3rZQ>c(h=M?!wA?k~3m ze&!vd2_0clC;nxu8>S^n&1S1_P}Y2=rT)ku<4b*GOtw)8EyVwL-YUKxpRNx z^{;<@+zUzeK-}KP&jv#LbB{eyXS!H^_6TpCPMvW1mr1#j2AD&0JAUqg%Ym}`%K7r_ z%-5YX0yhBDFecrQl4-5j0JBq&;zl6J55FCXb%%QPbQKpz^q)^EpBEIyr~=Ih51pf1Cg6{NJ-@&yTy?-{yMA zP4pi&;dgTdgUO&|!dB7T?3WA7aHATi5NpAX2P_fE&s#^DJeVdE^|uyy((sSp%U{}y zt2gv(O8+ki10yDF_N#P2KMD~XMB$qKav9bM^Z0fObUNYN#dLfc2Yt4QE2K+({@Q0B zI_7txe|8${XSoiNCiK4n9*ojvooLTkALN1aK_A930^_j%#kg+vxr|xHAXK@1Kv={+ z0Ksc94(illTX0#>Hdx1Ge?#zVxh}F^N|}9J;Ma(Lvob%>O!}7jry1fH5pyYiO5O83 z3GWz~bY;)Vug(89|JC{Lwl|J^|NGzny*Iq!4d)0Med(o_-s2Men=~HSF_|{+^xq%Q zzHiSHNd4}=EKlAm6ST-vtsd*C&pvkKb$ugCA$ z`R|m-e|zxY!GDQ_{ELJCPp5(JpmB(+3|sJVj)c$0M=-e|N!(8pmVKs}W{kgC=F8~R zVCM9_&q-5uFe3{Wb&Yix(@qNQG3je`k`;>*N0R?JdC&9(>^}_aG_XyMHx`uREE>uP6X+wWx?E!TpEMN4GRl>Ob z5!hZb4Yoh_5!V6pVZTXQ1^(22!ZyKn$NrM-h4hhs$rq;&{Y0|=1%0i3W4CjkDt(xZ zb)sayDyh3RFT1H9Eshgv^S{mif%)$ii9h7rSSvn&_dwo^0}loUL1rGrQ9E%05A>CV zDCsjK%m-PMcpoABi6qV2Bs1g*9bt@k!3*-ntmuRGS1bIiTHQMEmm^J1!}oz7)qf3X zx$qbcCODRBm3Ff-4tX}PK?Y@Jzwtn`0f%Mc##&Oxkipk!O>-SU8(ORQt!4cz_}XPU z$uqYp^T0fF8Qfj63`oZlCGMqg8+5{7+@+h8yqAM@%~s8^V`gKnCxyHQ+D5cNvOmLa z9pFF6cq7MH(pESJplva&4T3*fGdQjpZT`3UKW6@~tgO7vJ$`vHWP0-iHsTaFM8XI> zCjPQeDH&#ET&MWiIG*|J(oIbZ6HC4z*5^YZ(RJ#JNTm6JLwFPj$cJb^19ge~h~|lT zLx*t3*op2}Q3k!8O!61Opv_`g*yb`1)(hKM z)@73Wel_9B_na;cdK|ZKFWW?(WK#E9a4Z7-xcMy8EB%7;Sm#bC5k9$PP(T46Ss1pn z5Kc+^L;bqab79U>32pwj`QH<=)*BsP?jKH^IPo`K!1Y*xFsMm1j$CPEjaO)>QSkuo z{3;#Ehj`|Wv?ZQP_2BY{^1yw@ZED>^lN;#`QPS$RwkC`^u;UJUw{4IF;010 z=N|s1Gz+60ILinQ6`>)+D2(9&ylk>z1{7u-!+9nkc~HsyP5g4X&_mOV5U zEFAkpx-uX3QEmJT%_XfKL-TSdkE|=!zm``EFXfZGn>PP<#Qb-+e`oQ+g$vg&EiEzk z(M;4T7s8SkfC8ad9t?zD>)M&m5mzwkDx^z&cI?}>P(ds!u4ZiT*;3H#vZ0md{=&S- zvbc^|cLTm*(c#=CC7+=!)d}l8DfnLzU|z?5u;8Z#Q5!Mk{%G`I{CMKNmSH@&FQT88T4)RJK-572DxA{M6{=2-d zU37R;AP{|J6Y#lq%0>)UmYIgip|FsRgcFyfIooym%Tic21ZBdC3c^64fxf`(BY~6I z*>p)eX%jJEqQ6tnis`ksl=YoV^bhiN!WWBam{&OgnHT7flHWWr$F;UWnxgDD2$lZG zO#bO*R#(VRO1%iY~&u)^DQtwWaVKU4>s$UmO2PNOyO4hX{y(guq6}XpoW| zA&7K`ba%%HM>9~6?vl>YEhR8Qns>hY1Mbe}p68zP#5XGD>W>hA*0tU-^8lbs-uysdTJk+c*UBV%bh;pMh5YEntgJ;k-Kx}gz@ zl(*Y@o~e{wD%8qQ@P?t2z&d|1ZBLu%iAxLjteK@;hgINc0AX7qp)Mz7rbe-!>!=vJ z6KbYl9(yTj!7z?}ipMhx5j|xs@&kDdZ22%Ey(z?Xza{cc?0PCFX!y&U0gj{Y9YH)6cqv8yy3TpG#jtiswo3qLk=;-*cR~$8@3DcXcK|_z_CE$oNaZ{1R@(gD zJC_q$$NzyN);~K}FQ74$bgSzG@eFHAIhYoEG$m)LUrg(<8-~$7C@k$02v$3B8guF( z${};etWWL5?{Az~-UUyU@Ruoupp0hl8=NA!GHstPl1FlB?8QW%6(%11`R_ zBjv7gy#d>(Na;>pS%urbuvB62t^`)31acY3bN3Y4^yzPVK#V>I1O2`Zyu%M^ndXFI znxx@R<-K`KL(A2r+^QBUnqO^ZsXG9Jj6cT@8N(YhF(A#e)2TNGU+Azei36_)8EAL| z>tcsXf8VdgBK82tge!qgDih0OzJ!j@5vBR2JkZ829g_*1Tlx9NyzP;Q4C3 zt&Ma&rW`84B8|D4J>*a`psGEqW=bddT__;-W_f+LCaKE22Px%k^nTv(tOl%&R5E1{ zs)@Ezo*j+WGv!DFX8hD`Xx@+rzCay0b>)v}aC-$bGA6vF+F_%L2P^)2Ed;PUoTEeu zBx^4;C931aA|ya$Zb5>ps<5xHS-57@Kg96%W`zu7|EVW!D|22dv-D}Uie7m2qwG9g zucp@rYH))cn5oy%pJQgYVW&x#Vrjxk6DnUl#$?8-20pg;u$GJv6C0SVeElEAK1nbIV)C}?G`ggTbNy;?O}NjsMMxQ~@gE_X_Ls1z zOFb!ju%Z3J*3I_yrljkg*t69t{DC3!`AO}v^G{Xnsu9QN%j$PjnOW(i8v~rq#nFB@ zZz*1>l~+{&+KAc8@hwp)y!vm(<{HQfaRXYihqt&shm)>~Ffm}0ptV}P)Zi*=;3`!M zoANmXFebjdNjf*77?;s!pdghMHr$6Se?EM}*+k}h418A()8^y86nkcYKj`mu&d}^X za#aORuu1QTY**r%2W35)>}+t5U~@<+OB?5Oj?1KKL|93!FCYgzMc4zd?##9(QRJv{ zP<>%K?v^)1RUaU5+uxk-VIv-y7M5K4wog88pSY76@OhC_twSKLTBUo}vWLR})=aad zNE0c4n}nf0@esS&@-M~S&w6$y*a`bC`@}~PAd(6JZ`in{I$Hu1P83J5orJSug$UG` z+QO{$v;e3N&`AV^-M7yr=YIDd`M<-I-#YIL=`zGIEGd}%!wT!N`q5l15q9_;O=2q3(NE(egy1-LS5;#+_vTrbf03%eve)@D zV1g&HbLY>!IdiV+Wy*gkD+HiEO?b#g*Lx@vjbAuoK+HtjxqAG=pHI@$TfhxJqh-~R z97A|i)H|~#QTfar8r!A@jK3`0ni>hQn~sI~Po8y7)UU_w)_i(PDmi(n4L#>6p18@B z>`i3hhd-cc%m3;r`HMj0?XirE0uqI#_Y{uq8bbHgoBV&v`_B@aaW)mrtCKsAu%FC| zt!Kug0V7zkbdDUT(qFO|M#jVng8~`;Fx*`efm3EvMiVnhAJP!?HN$SdCh^_EH4ifI z?fUexFz|w3@8u$o&KcJ6PZY;2Dla!NHGApPnU!RvMAYS6q(gcPR^DV{TlBjg@Ic$f z2X*#m)?A|vKT{i+?+Vk8B%} z?(&=bV<^LwLdu~%CV;TMO8LBf$7ue7cSkuY#$R=0F*Lv`n1q8<^`UeXFrvaa681&n zOHh7NTjKP>zeOkfd*FVLxxvbJmvtOx7SkMDteMHL6>75e0t!KJ)ryL)gJ}=4cR~FOleQluVEc1ex9PyXWyF$TNv`8 zSZ;^@a1gZ<1%RXc)q9cE;0n9pQdh6kNgk(A>mB7X$ZBfAamVlC;Miy1rqU_E?jq3H zMC9VRD;V|J+x*@4q^FEL6mQd$q0GR1)km{KB2jgY3&02IYFfUw)Qp+5_*16!j-o-@ zoK$asy-jNKb=;|P{6)37m4_u6Zdx6-8H7!ruEzv7GwjC=pDLFV4Vv@UZ0_w?EPPIkZN z?w?7|^yS~|iiHY=t8E`9Q{v%Rr0F)ZZKrTsHl#3Dij3Y$gan+B4NYdBJMO z@p=Ac!7JlrsBIJ5>?iqerUc3esLv}p1P#a_6wFl^&l2ateQ94^Q<_k@wMc2lk){OC zYznqoB>%mDfWKIqbshGF;4MFti#-Dm&^iM>kTto$t&Rb#we@bS#`LG8Xbk6#y7yUO zOX+Q0=pFz@N=nWXd{!{r+qwLZDpmI_&Qw-)Q=0%dY`- zMzs4{1Ij{iZNmP)BTH3Fb$OyB;5-z->+dYWMB)>UUSaSO>`i!@IgKt@I zS1faf!$7t;x{#iIZb3I1qnW#S?|hO4X}7W;ChfSF{3FQ_@fY~puFMZGDi&T zCL7FsKDa$KP~ruW@P7)C_hpA(srckJbprAw5=iSlAyCwi4n10+yUDfT;le0!OH2}z z_(<^%PO@qE;Jz>%V4NuY6qmbbsoK|^J_$Fc5n)uujaA~FeQSKqOduXvpWooGu>7yY z2t=aL&=I&ZU*r6*kCzrC)GoA+UBCTDxuQ&crN5x;M)DtDiKzB__X>Pw7tqIr&+u=| z5(Do)XG9$8>mKHm);1X~>|_JTiAkfE!-aX?Gm<`c zFqXK>qH z$c!p^;Ee~Chta!{4}E8qCqgo-A71B@H3+b0=DYlX&Ad=GptU%v7xd$G69k`#uWFjT z%s21Uo{Yb>GS6T=)Q@pxi2C7BzBUNm@t-$ z6rckM*CsqVZ}3})NaOwR>6d5=4+N-BAH}mWPPIFbnbe?q-g6C|`6}{adkzv6?y2p# zJ2Wz@bHhVkq9DqB?Qw2hrI~}r;6W)d7O*Wm2-(2*e7nEt5)}_%vXvs z)^()H8&~2^b74}ZVQ6*motr{CcV7G^8x=_7I>JMJYtI4BwF4V!im~1|Dbxx_B}>|E z6M4%G1$15a2@!-a(+s}qR#hnLVkoE5DJSN`S2FsP|1Xkd2K=WC8P*42R9fXyo-OT( zfva3~rZ{BgMi6ZwycI`O(7^V_$O!Flj964lK8QzO{V6;;!L(OybC>R&`P_8_J&t9+ zo==2SlqT1dLU4)NN5hDD`r9B~c zCg}w@*scoe9l!a@)DcA;F=~dWBa|@BWcA`-&#ATl;B^ZN2S~c_vj%Hn&4*l?qsTmz zTNU;pfx@%*oE`WR=%YV+hBJ;AKTw#NS$q$>G}h?z-c#{eL-I)@Gj68YCCUdisO~OIeTtBd{KOS>JG&yNCj&P7aUw3%rJQNxrFyLh=y2{W%$F5#pvVY8ytd! z8!s+M9)DPQ>eliw6!Gj*?GV|gOS;QzPUE;uI{GqV)Thf23*K$yd!4{9 zK1kJs&a(bF(y#jT4BUhndBsUzy;~pp84ss34C+0S`@1b8Z zI#k2tbn@R$_|=7XtGdfMmTS|@A8I-%eXdJd%TRo>`yd-FOf3DAKXAr39>GEYH~3a0 zI6OO}J3`6BMb}h4c=@RLhG4c<)I17%+ncfNS758>erKcXlfJEgTd|O?soOtt=IWnQ zzS1f*G*tPCGFkZ&`?NZ0I>SE(cc0{N&&A8|kE+WD7Jkpg6f)VzfuFUrrTx^_mE$?y zangN7@-}zvc7>gS8JOG0g$eX-;C7ukC<(Ol881#=yF5BxQ38Q`+rHFZHEC0O&v(;y z2hGR-Ko%3L1Gfz6!hG83Kp@ckZQ#=bO)fheSQ*4Pf&+c~MYOO=JYnm3K#jAS2w?G% zv6{>V|J+uo4{u&5m2H`2+p#DhL>bC3qkF{Z#W^)Q@;iK^=ko6h)}2#LgKnT4#a&%F z-|I89gyE?v^xeK#?V7ehpVaAo1}|g_P=egJI4YK!EohYLIB%@A-3%UuXF#BPHB%Cm?DmJRIFV&j%`@tjP ztwB4s1^j7(T%AAO_fX{A+$Am`5lPaT12Xeiqc5Ix^U(v}Z!#Q3`q^Kmq=oL7moi;K zMEJBQY7)pJZ7Ku6Bg=+hf(qN|nnjoBoMM z?K65@A6?-X>hw+WRgzVNf_apL1q|8ALW>q;qsP9A`3rtJJ-$6X6F|<~M0C3gQO?EP zw)&7VWbn^Q`T-pw&$z1ydCTlT4a_B!!u?ygjKugxY-Wz+(9DIJzld^Gg9& zW?IUD8?2*uNnzg?|L@qXuYLNbOqsO3gD|fcQTa7|`yOu_)kvwc|6%oj(~eXw!VpC%;Z4+pul+-?$;St?Ijbf#UGDO(tc;muVp|-O@ONOcm^*a8 zH0Eqm7$CIiKMTK$(f2pzdFNYe`SlOsFMy%pBPm?v&9LXxv|t|f z1lq@@vuB#>XKX9R`^(6x9NdLNqL4Ysssn+9VVEI}g<*2%^bPOTc6NYZQ8q{6jbSYH zFKxdf=fly@0B`Wq%y<@(E-5bYJXHOC&F7=4VF}sSNEW}8pDVp7Qac&7Guy+oRf+Q( zSpqtJR3`y=W*7V7d#D)PlNnFTVS$DnRWsQL6})P{Y%F!$LG{!JN-oh?FR*QFQPnn? zf|1PqRB%&k%)8i>0<^c-Fs~BRlgOq^Qes5%WYTSx*g?*|g5}Cr&uKKS`OZ!UtB-0< zAGpDM%RH4DY%=qvbOgEism)>H%v0-*cjc0?!V}Tuhd=0Wys-v3n{GR|_c}#LpC(Vd zWt3QiGEmOXTq@r@FD^UUJHU0P{8nz?%0N^Y&`8M+3u}lY3z3u^JbS$t5k2zQ%i*{B zA^l`7eCxDQwxOy-9 zTCJX#OCA&tv$4GINVwgb=g#`T=O>p*+JD$TByr~MWPJ9vNXWjayR;v52fH@CBNb$- z_aB~4p_XxdDyZo&+9*}as2!w5lvuBJ-Z43DWSqERSd*_jTheUAb6!=03-oRx(^F)O zwO9HDA4ZUkeBJfsC0)T|Ni^gU)qFNulY5gskO$f~`dQgF&XdZ9#C9T_hi^|2{xe(& z9CqqeK;$|k-1khKWp?5~$Nz1i7n!worxF z+obNr4U`Ya>}~p?O4*z`54jaj*iFY}xN*7eFX9U6VqG(HFFo@sPEDMH5;HF5rpH!6N5AyDrJ(Q@uk(`wjECHZ0bz(^ zjohGyREcVvmLGFx@pDN`sRD*6JxpTpj5b-$uHvNP*E9XH+tVA3>EYF%U!IF*_%iJ1 z7By|r*$~p2%xvx|A_?~%mcLO>ei3v?zd|T%gEN^dM59=gF>pBot?n zFof9KMU%PYRmtxmN)Vy?62SmxTuz=B6B8k6EA{L+&u;A*@AkdAv5vad*Gm=2VyDpW zeK-s4#z2jzKEKKL-wIjLhh%ChTpPX)8}~25isKrjsg^QW2h_;-wT@)6(q}L#qAiMC zjow2Uw60!jG?YMC4)e}PZ>sl9IgQ_c{GbX%U)k%_o~RaoZb#fS%G@^!{Ih{K`;Pb; z?o4VH)pmCXmH9&{6~t3cJb!8B=2`8R+^5V`w$uB*r&|ptO-E>P2%Wyfb76}oMF0xj zdDC|fY({}dXgbPQn;H3NeQZX2J4-i2!De_YoxL+HGW8*VzyO24{=_O}br340))=K= zeJ?bYcle2=sAJR~Pn97Ymx~&u$=8%om7-mvwTCw>O_|+TfouOC5>IrVTAM+CHAI8GmgsR|Uc}KsjU{%_y0I{H*w{lqqLQ+yR zhNr{?!q4z*hq8|r${KxaC(H-w2mwy0Lp7gh6&WbLxMK;8|6KpT-O#z%8X(2wq7Wv> z?k>ScxuUBrzFhA6$lY zuoVF+1j>#A?vgc-=mCLI94Q)3f$1;=-+WWo^9MR1RTv#YuHkJ`$M2ldr$zdej{%`n z%kP@mVBfjsOkr77F<2Hu8Gi9sBz~-yHa<4Ii>|fl=8i1KG5?`j_1Ha(3RPdF*%4IJ z3C9q6>F=lP#D&EWFPl?2MxC~aIRjy61<1t*-*&=am&gCEWIK}j1MI%ulc=^O)3qwy zL_nw}3Ohq@d4XoPzPa7XF{kB!>J?7Osq8;`+=c6L>>FCq%&IZvEktGovScSm^wGXy z4-JyMxCdT`rhnfzhH`LICe_v|y`wZ_3KG&tV&F}%&o~SLurfBk*_%n-{#tJg5D||6 z!kRkB>_rsC!;EAy29nv^Fv+Q?ACbu5zK7@dWx;2DurPlN%DL;Gs@JV?*_|7wx14*H z;^|8iRk<&0Gcd}x-A8kg&9w0%ckwR~QeWbDNIHB($S>S(i4FMoQbOhF-}FoR78*xh zSQ+iSo7Y2h+gQ-Sq{alkmynhkJ!!vjbfX6BFWW2&5@h!z?kbxBPl90p|B1^)0zR4P zZZ~n=g=E5ofzJ6oIAxluvwpzS7t_Cd z`^|UsrY}vz(6`)>1p7y1?d|^)+BMP>awq8@NFZ%iX{e`W9Bpn44Hz$qaANVSsFI`7 z3mBNp3*F~+VN>mwvcW4&^B<`bb~!NPs{PSoNXgUx5dIeJR_qg~ps6P~R4$21Mst9% z6YU=Vy=wx9jx4pO!~vRn<3H@eQ( zpA&g+zI=!FVaJI~=n8K}rxd2o>*hPMKQRVEE6ok}X4w7NHC6uF+VcGH_Re83AEv8Y z6ZVPyoae<${;%ZQ$FCs?Q?(kxkFwru-NuI#nd-+biPKL%)>Egj-ALl{wfVJjo{^}4yy=^c zWnP(9Lyl^PAI#Wco7akFr~KbrqS+1uwIuxOOf?aBqc?!3V~>G0n}i_AN>Z6SA9w+V z8+gkZo4o%ZRqwHn0Gpp`UjPw?D}C>1zx^5Ma$|0dT{(+XitTSE18dX87*VCUWu!{T z>XhX<(jqeyiHmi5Ho?rsKI~s0kphap|1$#zpLH zF;a_r!`}c^uo#}%e!mOTH~xwc4~V4fk^#L|H?tO~OP6vq88jwRc7kIS27mz{W2NN% zfg_?c6isfRO)f(>_jWe_cSsDE#D3=&Lq0yf+sAku4|KOVSUdELW_4|d#uRdITdr$K z8#z3FQN6QuN5-D-gn3|9B2rBZem*|<0p)_oyV9R5t&0={*BDX6TS*Ibrq}j`^7^XM zQ?cJffk*9OwIO%cmK|(yLi$+dFaK622>5g9ZvWJM9rtHZY3T#kZl z^X*zua>vKFeSb3@i~LBLo2Om+TSU6tg_|vE$Ofau29*ni)uT^LpuJ7f&!KbYrqA}o ztpLg|)_cO6NULg@1M1Bq(}ni#$5mEIG>nGu_b0unFR1k`s7<7K5UzLDO?@^)UJ{u$ z5@Q8~no)@zqQ({*d-}o_s0AkK7`Igo*ioXQ!IXa>WWi^luhhwjNy3&zO0~jKnju3B z-d2)BkrnPc%W;wTe1(v@E&W4=WsFweX=3Z zlo?**3DL=fP6*%0DoSK_{LU~PGnY##V5{gT)I-R}2$yPzEms(m(mBO2BmY)U-bc3uiLN9`2NiYXlKb0@nh12qXGI=<~N+2OeQUUVGr7+8+|Jbk=ZE+*i)YN8 zkANxBY(JVRuhoR#o<__-%QXrD{vgL9i^L!dOCUGlK&4K(bFM0T?P`;w{&5!YwhUC( z-`~{?yp8z4<&S0XUV9DVArjv!$^fo+%2LPwfT{nQMQ_&x z`ZWc1k2&@_w>f%%gH;#|nKBq@i`g|bybJ@^o6Gqn5fmdvKU>Y1jJ)=od&|{LL!^bY zt2h>>3X-iK%B<3i!<@IoiWVp+1>SU3P^ zRRsFTCW9}o0?iCWli}uvfK)oQq-6DLRG}V&2t8mV54amuy~-&Z|2B@)6C%6|5I0e} zGPmCqm`)9gZ*CZ`N&@yAavJ=XG`|=?O=3=s<37zBS77;UZ?7N;4i5GPxDhW0JpJrs zkU|Wx493$+G}x@@Q8%}tSa>OZLaIhC@bdDSDCznk_50}BK!&&J2#Wwc%tYxkkr|U| z;=gb}wb({eT7?)V@H2O76dGQZG#9Yyn=0g(nIOaC3y9CWFBhsnZO{UIp$`pY0BHs| zEV&oL92l1OtbRk0!WsaU8OE1`?epX4P#uIZx9#9~pwcPq=gk*M{%NtUW-UhCa^(jl zD)S>r7Y0+a*sRhcGFqB$&S0MDkFI6)ZZ+Mp_yPEE2vf%Uy$g$1-7pKgU5Cp^=`U~p zt6ocSjS&?qrhR$wtNS#qYeO!Ad)o%nYKHvo8L%Ba{#+<-=K9M$yP2pt55?j~y;mNM z-P6ANqw*0(GsRak!I9Dc!B66)Q7OR~JUDt^ImUpydW7eVJ@Ug2jBL5s_7!sSjqd>y zMqa#1vt%=D;P4ZU!<>G3gUVQ9;WeB`9^%4(s6->p!zy3Jo};*xjnR9fS>L;| zUqu%#pRPh?7IkRlZAVMqn<~LG z(NHv#UD-7uXkFM#eDN&ummF~~Fpa@!wGiM)PaC?CZjpRA!T~JYjQ`50A3?e+kA8DW zLhZ>k7Nadqx}n!WMTTxC+7041p5*6_kZaLi%4pC#l1uX}x*dQ^c~E_t(kW?Y+wV*< z&d3Em^~*=%n>Mc>B7K&xky(l4PU6p%9Z3h+35|)k+kcqd3n`G`H2P{Qo57lr;NjAm zZ#PuE=z)jW_=i*nqjPBnl~)$1JWttVx}V(As?syb^}|YQ{k9wD>CvSd$(X;>EcoJ9 z%Vn4Ts&BugKP;I}X#=cT`_EeqGo1!AsOnQ&P1$hm$r3d@C2NEyB=-xYie*K*!&C-1 zOpB1E&3NmPkgZ#85nT{ni7X|OVj}}6Ly-5w0B;_zG&sCayAI@KRwUy1f}?&cw)se!t(A=p&LFc+J~l19-5agOPO@>4y)7 z)tcH+C=MSQWL#Bp(*LB-4*J%wJE~+8Bjl*WTQcbkkxuc4#M?5jzLMxW);!1*gCGo1oh3NKE{FvTG)zj2R?}D-~zr8Zp(wiS_(YU90 zj;JE9#!V_~E-du!YDIUo52mC8qJx8Xt~sB4##s(C zN*O{Zq5aq8AyCp8tZW5+q~U2yueV(MscwJw;yHF0Qpf)4&jbUiSy(VJI&H`{Hfp)u zoj%&|2Y57+#7u_VLd+QN!BkTmp3)=~9quTjoDr1_EF^KK@R7-%l$6cP5nRh9{>A*# z3L}+NO?zPIdS*mmkL#*{H^Uw@68)LT%FeY7yFVip0@;;JLn4uKoHCNP=IjI=z)bK_ zv-sQ7t@)MyK%-Tj_~WC2H$?hZ?tk=&Yvdn|ogO(}pH4sY7hdngQ|SkPf3+&{{JiWz~6X9t~c)s3h9BvK5vAz0?dSgUzzOP&ES@9yy+uKH9!UXaW_8vke za!(FsQ3UFdmoT3pAD^439vjBf6>I(iWJ~&L207~y(1w>PL>@(ei_Wsn2YcQf$xNyH z)3IqlTA4MHPqjPe2f~~JcPi)2tl)lcx4R?n@9H=5znF-?-1N3lm+>zwbAb5(Kl>~0 z^H+lprz>+xxgJ%yC61&EFyzU6zRf2j)9|3RvBqu1v_b%oFqJ1(hOiPy2k3yAF7>EFkh}xV&m*pSv((Xs)mIu#6J}1Rcvc)p0I>uPzyRQ6M33ey&pd z_~XRE3N+rC{OOPE)J?PaNm^tIR;%v@wPK?zwrg}>=Um&Ty|FBRWWQkb^Pd%o?T1{q zy6}BzuEAR<0p`J0A%!<&U9xDuCW?)?XN#=o-h-Chi|IVphB=VcYg;&36oTk$S5*SE z$H~e3jPxu)>1^mAzr~PN;bAypzHgjVH+L}_hx3qB&dwCrV3@3RfU(F=p)X&2Dm@}jP+J~9{GM+L zkrokMTq)?;&K>vPSMMKLWe)xxFKyTQFSp)X@9JU`3_WZ~`!j)Kp%9{jdtpJ1AJ=nS zyIALjSq=24pP>Vzl6IfJ?JSrmu~FAcQ`W-d=PAPLwBHg-i+AXL;WIm0*Di3h-)T>8 z?t5;#9E?>wmRZVJd`ZcVFtTyZnk#jpxh+n|oaCwY|L zza+D{BMnND5-#)!I`pUi61qjXV*gd4E2)GA)___LJRC-4Twc zRgqTX9^3AyoS8e}NPNV(C|`VTcnX&Y1z5#Vi^Z17@}q_bpPPe>JyBZ%O8~0a9U5UM zGWWiLV*bb^-fb%y>%<}ve}*5Tv#4N^h*h5KY8%dKkMjIp^-ooNX8KW(eLWvis9bFl z--yog?W=ysT+B?k82b_ho7t=E@TXWm^e48}Fqu-8LlDUhXqLxb6@cg&twqpn4q+Fn%Fs? zI!F9WR{V7}#CYj+jYZdnFGRBUZ~9~2(-@`aho~iVXDy3K&W{Pfw_pEju-I@}13~9D zk;?0dSzVpaRdz4cPI&Ntn%AygxqM@KxgbaXG$OwHL#Xbn^p@-^wQ`x?UF z!AhgV3yfaxp+54U8l|sd^Fp~mUv5P5?1Vq}VjiyVyW7FbjIis*20khTyQJ4KuMxN) zU2S3b2m_A({Fp;)y0%ksaD`Ma`}QDx$a1d2pn6Pn9kMUrmUob)1m_qWNF07JNqB+U zi0h{}W$fpE=t%TpC+D4jw^ZTwm+-bb!i7+wce>{Y1j^vx;H0GnYBfjWB8OG+gp~VT zpHF>iEmBZ!TH4!e%H|^nHc0bO>dmVJnE4$+Em8hyR>1I$<5^g|aUfe3-`|j(s~u9O zy`W$lYpV6Hn2g3~D}N4g#x=z&aJ>QoB2rRP;>RQ1j%qQ)+6Kh9m4uTL>~|$9j%9~t zp_|h!{7dR(FPv>@6!X%vRtxW5zqpqh${p&GY*tL0)-Wr0FUGz8-(o>dlz>9}pw+oP z*rN06d9L+WOIqRTYxMIF+nDQ|W{uHA$)*7Lj${2jBE+WxdIp9CTU%Qq!Dd1t*=9=S zLR!rzjOWw8g56SY-$G_)bpCF#eYc8Qh@KC{$Nvuubpj4dUlY+?p;CJb<35Wn^*+go zo{6|zPvN$+`RWAX0e2`HczH+cfS=m$od#|!-Z;x!balA^{1v(u%@qDy5}K^t68h?z z_51f-n$e-YLl$WnkA)*dTJ}8ME0G-A$Kg&poPfKbEv-Y*ypc)%(!K`>He=VC)*1n1 z`|riZ!FZ@1IW5%9t=qq&XVA7!U)Q)MSbPlbwxsJEUgSgmftzM}NH^>1>M9+wp86zP z`SCvj0s_~70O_TtpliL#@9j2C8k0vF`2o;h6^%}Lj)AX3YfC2_Y1-BMLbfsfTQ6T# zz3*yF^0=_!s4@QRK-VCX9yrCoK)BSOAd8mBfayb2Dn%@A&d|}>85t83Q>1XYzsH?= zAU&#(oK>nSuQYntp>SGL(eww~AMaJid||Vwe99$AHuvITx3R8_1tSiVT!w&1_8Kj< z(p9kAmMgRV;ZP)fQ+~C8 zg^13!fXs(*F}_~xc!*C0%>GTA&^#-~K8;DGoXZXl}ZJT0>KXW>X%L&F4pC5P2H; z38kx2$pNkR|08{aE(x|OxHo~x@@vfhE~ z_qemogRR)LseE8m&cE_AzS0fHr??U={3r?=jYKb4&-gUoy|?`HJKfZ&Jm zjj_G)mEhPlCVucKau>VQQBVohvrR^P)Sw*t!#bGOBvjd;LxF?2X5s3+7)HXyR}bjM X5xsHpLFL&0A%7~0>IyY-A42{I#TE@e literal 0 HcmV?d00001 diff --git a/marking_app/lib/pages/homework_correction/job_priority_review_set.dart b/marking_app/lib/pages/homework_correction/job_priority_review_set.dart index 4469583..b0aa0e1 100644 --- a/marking_app/lib/pages/homework_correction/job_priority_review_set.dart +++ b/marking_app/lib/pages/homework_correction/job_priority_review_set.dart @@ -25,6 +25,7 @@ class _JobPriorityReviewSetState extends State late TabController tabController; int tabIndex = 0; List levelList = []; + bool isClicking = false; @override void initState() { @@ -42,7 +43,7 @@ class _JobPriorityReviewSetState extends State setState(() { if(res.success){ levelList = res.data!; - print(levelList.length); + isClicking = false; }else{ levelList = []; } @@ -57,6 +58,7 @@ class _JobPriorityReviewSetState extends State BaseStructureResult res = await _client.getSetJobReadLevel(params); if(res.code == 200){ getReadLevel(); + } } @@ -76,7 +78,7 @@ class _JobPriorityReviewSetState extends State backgroundColor: Colors.white, title: Text( '优先批阅人配置', - style: TextStyle(fontSize: 16.sp, color: Color(0xFF333333)), + style: TextStyle(fontSize: 14.sp, color: Color(0xFF333333)), ), centerTitle: true, leading: IconButton( @@ -87,8 +89,12 @@ class _JobPriorityReviewSetState extends State body: Column( crossAxisAlignment: CrossAxisAlignment.start, children: [ - Padding( + SizedBox(height: 10.r,), + Container( padding: EdgeInsets.symmetric(horizontal: 14.r), + decoration: BoxDecoration( + border: Border(bottom: BorderSide(width: 1.r,color: Color(0xFFCCCCCC))) + ), child: TabBar( onTap: (int val) { print(val); @@ -126,6 +132,7 @@ class _JobPriorityReviewSetState extends State labelPadding: const EdgeInsets.all(0), ), ), + Expanded( child:Padding( padding: EdgeInsets.symmetric(vertical:14.r,horizontal: 14.r), @@ -157,6 +164,9 @@ class _JobPriorityReviewSetState extends State Text(item.studentName,style: TextStyle(fontSize: 12.sp,color: Color(0xFF6888FD)),), tabIndex == 0?InkWell( onTap: (){ + setState(() { + isClicking = true; + }); setJobReadLevel(item.studentGroupDetailId,0); EasyLoading.show(status: 'loading...'); }, @@ -165,7 +175,7 @@ class _JobPriorityReviewSetState extends State width: 70.r, decoration: BoxDecoration( borderRadius: BorderRadius.all(Radius.circular(20.r)), - color: Color(0xFF6888FD), + color: isClicking?Color(0xFFDCE3FF):Color(0xFF6888FD), ), child: Center( child:Text('取消优先',style: TextStyle(fontSize: 10.sp,color: Colors.white),), @@ -173,6 +183,9 @@ class _JobPriorityReviewSetState extends State ), ):InkWell( onTap: (){ + setState(() { + isClicking = true; + }); setJobReadLevel(item.studentGroupDetailId,1); EasyLoading.show(status: 'loading...'); }, @@ -181,11 +194,11 @@ class _JobPriorityReviewSetState extends State width: 70.r, decoration: BoxDecoration( borderRadius: BorderRadius.all(Radius.circular(20.r)), - color: Color(0xFFFFFFFF), - border: Border.all(width: 1.r,color: Color(0xFF6888FD)), + color: isClicking?Color(0xFF6888FD):Color(0xFFFFFFFF), + border: Border.all(width: 1.r,color: isClicking?Color(0xFFFFFFFF):Color(0xFF6888FD)), ), child: Center( - child:Text('设为优先',style: TextStyle(fontSize: 10.sp,color: Color(0xFF6888FD)),), + child:Text('设为优先',style: TextStyle(fontSize: 10.sp,color: isClicking?Color(0xFFFFFFFF):Color(0xFF6888FD)),), ), ), ) @@ -207,6 +220,9 @@ class _JobPriorityReviewSetState extends State Text(item.studentName,style: TextStyle(fontSize: 12.sp,color: Color(0xFF6888FD)),), tabIndex == 0?InkWell( onTap: (){ + setState(() { + isClicking = true; + }); setJobReadLevel(item.studentGroupDetailId,0); EasyLoading.show(status: 'loading...'); }, @@ -215,7 +231,7 @@ class _JobPriorityReviewSetState extends State width: 82.r, decoration: BoxDecoration( borderRadius: BorderRadius.all(Radius.circular(20.r)), - color: Color(0xFF6888FD), + color: isClicking?Color(0xFFDCE3FF):Color(0xFF6888FD), ), child: Center( child:Text('取消优先',style: TextStyle(fontSize: 10.sp,color: Colors.white),), diff --git a/marking_app/lib/pages/homework_correction/job_report.dart b/marking_app/lib/pages/homework_correction/job_report.dart index d9cb865..0eed7ad 100644 --- a/marking_app/lib/pages/homework_correction/job_report.dart +++ b/marking_app/lib/pages/homework_correction/job_report.dart @@ -300,10 +300,11 @@ class _JobReportState extends State with CommonMixin { backgroundColor: Color.fromRGBO(245, 245, 245, 1), appBar: AppBar( backgroundColor: Colors.white, + centerTitle: true, title: Center( child: quickText( widget.title + '作业报告', - size: 16.sp, + size: 14.sp, color: Color.fromRGBO(51, 51, 51, 1), )), leading: IconButton( @@ -370,7 +371,7 @@ class _JobReportState extends State with CommonMixin { ),*/ //客观题 Container( - padding: EdgeInsets.symmetric(vertical: 10.r, horizontal: 10.r), + padding: EdgeInsets.symmetric(vertical: 10.r, horizontal: 14.r), margin: EdgeInsets.symmetric(vertical: 10.r, horizontal: 10.r), decoration: BoxDecoration( color: Colors.white, @@ -382,12 +383,12 @@ class _JobReportState extends State with CommonMixin { mainAxisAlignment: MainAxisAlignment.center, crossAxisAlignment: CrossAxisAlignment.end, children: [ - Text('客观题',style: TextStyle(fontSize: 14.sp,color: Color(0xFF5C5C5C),fontWeight: FontWeight.w500),), + Text('客观题',style: TextStyle(fontSize: 14.sp,color: Color(0xFF5C5C5C),fontWeight: FontWeight.w600),), SizedBox(width: 10.r,), - Text('${data.kgReport.correctRate}%',style: TextStyle(fontSize: 14.sp,color: Color(0xFF6888FD),fontWeight: FontWeight.w500),), + Text('${data.kgReport.correctRate}%',style: TextStyle(fontSize: 14.sp,color: Color(0xFF6888FD),fontWeight: FontWeight.w600),), ], ), - SizedBox(height: 10.r,), + SizedBox(height: 6.r,), SizedBox( height: data.kgReport.details.length>10?300.r:data.kgReport.details.length * 50.r + 20.r, child: ReportTable( @@ -402,7 +403,7 @@ class _JobReportState extends State with CommonMixin { ), //主观题 Container( - padding: EdgeInsets.symmetric(vertical: 10.r, horizontal: 10.r), + padding: EdgeInsets.symmetric(vertical: 10.r, horizontal: 14.r), margin: EdgeInsets.symmetric(vertical: 10.r, horizontal: 10.r), decoration: BoxDecoration( color: Colors.white, @@ -414,9 +415,9 @@ class _JobReportState extends State with CommonMixin { mainAxisAlignment: MainAxisAlignment.center, crossAxisAlignment: CrossAxisAlignment.end, children: [ - Text('主观题',style: TextStyle(fontSize: 14.sp,color: Color(0xFF5C5C5C),fontWeight: FontWeight.w500),), - SizedBox(width: 10.r,), - Text('${data.zgReport.correctRate}%',style: TextStyle(fontSize: 14.sp,color: Color(0xFF6888FD),fontWeight: FontWeight.w500),), + Text('主观题',style: TextStyle(fontSize: 14.sp,color: Color(0xFF5C5C5C),fontWeight: FontWeight.w600),), + SizedBox(width: 6.r,), + Text('${data.zgReport.correctRate}%',style: TextStyle(fontSize: 14.sp,color: Color(0xFF6888FD),fontWeight: FontWeight.w600),), ], ), SizedBox(height: 10.r,), @@ -436,13 +437,21 @@ class _JobReportState extends State with CommonMixin { // 顶部图形数据 /* $TopGraphic(data),*/ // 掌握知识点的情况 - $MasterKnowledgePoint(data.knowledgeInfos, detailKnowledgeCall), + Container( + margin: EdgeInsets.symmetric(horizontal: 10.r), + child: $MasterKnowledgePoint(data.knowledgeInfos, detailKnowledgeCall)), // 掌握知识点的情况 - $OverallPerformance(data.studentCount, data.overallTitles), + Container( + margin: EdgeInsets.symmetric(horizontal: 10.r), + child: $OverallPerformance(data.studentCount, data.overallTitles)), // 单位时间答题情况 - $UnitTimeAnsweringSituation(widget.id, data.questionAnswerInfos), + Container( + margin: EdgeInsets.symmetric(horizontal: 10.r), + child: $UnitTimeAnsweringSituation(widget.id, data.questionAnswerInfos)), // 人员数据概况 - $PersonnelDataOverview(data.studentAnswerInfos), + Container( + margin: EdgeInsets.symmetric(horizontal: 10.r), + child: $PersonnelDataOverview(data.studentAnswerInfos)), ], ); }), @@ -1239,7 +1248,7 @@ Widget $masterKnowledgePoint( List knowledgeInfos, Future Function(KnowledgeInfos knowledge) detailCall) { Widget childItem(int serialNumber, KnowledgeInfos knowItem) => Container( - margin: EdgeInsets.only(bottom: 20.h), + margin: EdgeInsets.only(bottom: 15.h,left: 15.r,right: 15.r), child: Column( mainAxisSize: MainAxisSize.min, crossAxisAlignment: CrossAxisAlignment.start, @@ -1257,9 +1266,8 @@ Widget $masterKnowledgePoint( size: 12.sp, color: Color.fromRGBO(152, 152, 152, 1)), quickText('${doubleToStringAsFixed(knowItem.rate)}%', - size: 14.sp, - color: Color.fromRGBO(64, 64, 64, 1), - fontWeight: FontWeight.bold), + size: 12.sp, + color: Color.fromRGBO(64, 64, 64, 1)), ], ), ), @@ -1267,7 +1275,7 @@ Widget $masterKnowledgePoint( Expanded(flex: 1, child: SizedBox()), ], ), - SizedBox(height: 6.h), + SizedBox(height: 3.h), Row( mainAxisAlignment: MainAxisAlignment.spaceBetween, children: [ @@ -1276,13 +1284,14 @@ Widget $masterKnowledgePoint( child: LinearPercentIndicator( padding: EdgeInsets.zero, animation: true, - lineHeight: 15.h, + lineHeight: 10.h, animationDuration: 2500, percent: 0.1, - center: Text( + /* center: + Text( '${doubleToStringAsFixed(knowItem.rate)}%', style: TextStyle(color: Colors.white, fontSize: 10.sp), - ), + ),*/ progressColor: Theme.of(context).primaryColor, backgroundColor: const Color.fromRGBO(219, 224, 243, 1), barRadius: Radius.circular(10.r), @@ -1294,7 +1303,7 @@ Widget $masterKnowledgePoint( mainAxisSize: MainAxisSize.min, children: [ quickText('查看', - size: 14.sp, color: Color.fromRGBO(239, 135, 20, 1)), + size: 12.sp, color: Color.fromRGBO(239, 135, 20, 1)), Icon(Icons.arrow_forward_ios, size: 11.sp, color: Color.fromRGBO(239, 135, 20, 1)), ], @@ -1366,7 +1375,7 @@ Widget $overallPerformance(int totalNumber, List overallTitles) { child: PieChart( PieChartData( borderData: FlBorderData(show: false), - sectionsSpace: 2, + sectionsSpace: 0, centerSpaceRadius: 0, sections: overallTitles.asMap().keys.map((index) { var e = overallTitles[index]; @@ -1378,9 +1387,8 @@ Widget $overallPerformance(int totalNumber, List overallTitles) { (doubleToStringAsFixed(e.count / totalNumber * 100) + '%'), titleStyle: TextStyle( - fontSize: 14.sp, - color: Colors.white, - fontWeight: FontWeight.bold), + fontSize: 12.sp, + color: Color(0xFF999999)), ); }).toList(), ), diff --git a/marking_app/lib/pages/homework_correction/pages/job_favorite.dart b/marking_app/lib/pages/homework_correction/pages/job_favorite.dart index 97684cf..785af21 100644 --- a/marking_app/lib/pages/homework_correction/pages/job_favorite.dart +++ b/marking_app/lib/pages/homework_correction/pages/job_favorite.dart @@ -175,6 +175,7 @@ class _JobFavoriteState extends State with CommonMixin { padding: EdgeInsets.symmetric(vertical: 0.r, horizontal: 14.r), child: Row( mainAxisAlignment: MainAxisAlignment.spaceBetween, + crossAxisAlignment: CrossAxisAlignment.center, children: [ Text( widget.jobName, @@ -215,65 +216,68 @@ class _JobFavoriteState extends State with CommonMixin { crossAxisAlignment: CrossAxisAlignment.start, children: List.generate(groupList.length, (index) { var item = groupList[index]; - return Column( - crossAxisAlignment: CrossAxisAlignment.start, - children: [ - Padding( - padding: EdgeInsets.only(bottom: 5.r), - child: Text( - '第${item['questionPage']}页', - style: TextStyle(fontSize: 14.sp, color: Color(0xFF2E5BFF)), + return Padding( + padding: EdgeInsets.only(bottom: 8.r), + child: Column( + crossAxisAlignment: CrossAxisAlignment.start, + children: [ + Padding( + padding: EdgeInsets.only(bottom: 5.r), + child: Text( + '第${item['questionPage']}页', + style: TextStyle(fontSize: 12.sp, color: Color(0xFF2E5BFF)), + ), ), - ), - GridView( - gridDelegate: SliverGridDelegateWithFixedCrossAxisCount( - crossAxisCount: 2, - mainAxisSpacing: 8.r, - crossAxisSpacing: 10.r, - childAspectRatio: 556 / 112, - ), - shrinkWrap: true, - children: List.generate(item['list'].length, (i){ - Items student = item['list'][i]; - return Container( - padding: EdgeInsets.symmetric(vertical: 5.r, horizontal: 10.r), - decoration: BoxDecoration( - color: Colors.white, - borderRadius: BorderRadius.all(Radius.circular(6.r)), - ), - child: InkWell( - onTap: () { - showStudentDialog(context,student,groupList); - }, - child: Row( - mainAxisAlignment: MainAxisAlignment.spaceBetween, - children: [ - quickText(student.studentName, color: Color(0xFF333333), size: 12.sp), - Expanded(child: Container()), - Padding( - padding: EdgeInsets.only(right: 8.r), - child: Text( - student.className, - style: TextStyle(fontSize: 12.sp, color: Color(0xFF666666)), - ), - ), - InkWell( - onTap: () async { - deleteFav(student); - }, - child: Image.asset( - 'assets/images/favorite_delete_icon.png', - width: 26.r, - height: 26.r, - ), - ), - ], + GridView( + gridDelegate: SliverGridDelegateWithFixedCrossAxisCount( + crossAxisCount: 2, + mainAxisSpacing: 8.r, + crossAxisSpacing: 10.r, + childAspectRatio: 556 / 112, + ), + shrinkWrap: true, + children: List.generate(item['list'].length, (i){ + Items student = item['list'][i]; + return Container( + padding: EdgeInsets.symmetric(vertical: 5.r, horizontal: 10.r), + decoration: BoxDecoration( + color: Colors.white, + borderRadius: BorderRadius.all(Radius.circular(6.r)), ), - ), - ); - }) - ), - ], + child: InkWell( + onTap: () { + showStudentDialog(context,student,groupList); + }, + child: Row( + mainAxisAlignment: MainAxisAlignment.spaceBetween, + children: [ + quickText(student.studentName, color: Color(0xFF333333), size: 12.sp), + Expanded(child: Container()), + Padding( + padding: EdgeInsets.only(right: 8.r), + child: Text( + student.className, + style: TextStyle(fontSize: 12.sp, color: Color(0xFF666666)), + ), + ), + InkWell( + onTap: () async { + deleteFav(student); + }, + child: Image.asset( + 'assets/images/favorite_delete_icon.png', + width: 24.r, + height: 24.r, + ), + ), + ], + ), + ), + ); + }) + ), + ], + ), ); }) @@ -379,7 +383,7 @@ Widget $classSelection(List? involveClasses, JobReportJoinCl return DropdownMenuItem( value: e.uniqueId!, child: quickText(e.uniqueId == '-1' ? e.graduationYear : e.graduationYear + e.className, - size: 12.sp, color: Colors.black), + size: 10.sp, color: Colors.black), ); }).toList(), onChanged: (String? value) { diff --git a/marking_app/lib/pages/homework_correction/quick_check_personal.dart b/marking_app/lib/pages/homework_correction/quick_check_personal.dart index ed513f8..1eaa7b1 100644 --- a/marking_app/lib/pages/homework_correction/quick_check_personal.dart +++ b/marking_app/lib/pages/homework_correction/quick_check_personal.dart @@ -62,7 +62,7 @@ class _QuickCheckPersonalState extends State backgroundColor: Colors.white, title: Text( studentInfo!.studentName!, - style: TextStyle(fontSize: 16.sp, color: Color(0xFF000000)), + style: TextStyle(fontSize: 14.sp, color: Color(0xFF000000)), ), centerTitle: true, leading: IconButton( @@ -91,7 +91,7 @@ class _QuickCheckPersonalState extends State Text( '客观题', style: TextStyle( - fontSize: 14.sp, color: Color(0xFF5C5C5C)), + fontSize: 14.sp, color: Color(0xFF5C5C5C),fontWeight: FontWeight.w600), ), SizedBox( width: 10.r, @@ -99,7 +99,7 @@ class _QuickCheckPersonalState extends State Text( '${studentInfo!.kgValidRate}%', style: TextStyle( - fontSize: 14.sp, color: Color(0xFF6888FD)), + fontSize: 14.sp, color: Color(0xFF6888FD),fontWeight: FontWeight.w600), ), ], ), @@ -132,7 +132,7 @@ class _QuickCheckPersonalState extends State Text( '主观题', style: TextStyle( - fontSize: 14.sp, color: Color(0xFF5C5C5C)), + fontSize: 14.sp, color: Color(0xFF5C5C5C),fontWeight: FontWeight.w600), ), SizedBox( width: 10.r, @@ -140,7 +140,7 @@ class _QuickCheckPersonalState extends State Text( '${studentInfo!.zgValidRate}%', style: TextStyle( - fontSize: 14.sp, color: Color(0xFF6888FD)), + fontSize: 14.sp, color: Color(0xFF6888FD),fontWeight: FontWeight.w600), ), ], ), diff --git a/marking_app/lib/pages/homework_correction/quick_data_check.dart b/marking_app/lib/pages/homework_correction/quick_data_check.dart index 6c640e7..39a7917 100644 --- a/marking_app/lib/pages/homework_correction/quick_data_check.dart +++ b/marking_app/lib/pages/homework_correction/quick_data_check.dart @@ -90,17 +90,21 @@ class _QuickDataCheckPageState extends State child: Column( children: [ Row( + mainAxisAlignment: MainAxisAlignment.start, children: [ IconButton( icon: Icon(Icons.arrow_back_ios, color: Colors.white), onPressed: () => Navigator.of(context).pop(), ), Expanded( - child: Center( - child: Text( + child: Padding( + padding: EdgeInsets.only(right: 8.r), + child: Center( + child: Text( '数据快查', - style: TextStyle(fontSize: 16.sp, color: Colors.white), - ))), + style: TextStyle(fontSize: 14.sp, color: Colors.white), + )), + )), ], ), SizedBox(height: 10.r), @@ -132,7 +136,7 @@ class _QuickDataCheckPageState extends State ), Container( padding: EdgeInsets.symmetric( - vertical: 10.r, horizontal: 15.r), + vertical: 15.r, horizontal: 15.r), margin: EdgeInsets.symmetric( vertical: 10.r, horizontal: 14.r), decoration: BoxDecoration( @@ -142,12 +146,13 @@ class _QuickDataCheckPageState extends State child: Column( crossAxisAlignment: CrossAxisAlignment.start, children: [ + SizedBox(height: 10.r,), Row( mainAxisAlignment: MainAxisAlignment.center, children: [ Container( - width: 14.r, - height: 14.r, + width: 12.r, + height: 12.r, decoration: BoxDecoration( color: Color(0xFF4CC793), borderRadius: BorderRadius.all( @@ -166,8 +171,8 @@ class _QuickDataCheckPageState extends State width: 35.r, ), Container( - width: 14.r, - height: 14.r, + width: 12.r, + height: 12.r, decoration: BoxDecoration( color: Color(0xFF6888FD), borderRadius: BorderRadius.all( diff --git a/marking_app/lib/pages/homework_correction/widget/quick_student_data_table.dart b/marking_app/lib/pages/homework_correction/widget/quick_student_data_table.dart index d243f10..10d2f6c 100644 --- a/marking_app/lib/pages/homework_correction/widget/quick_student_data_table.dart +++ b/marking_app/lib/pages/homework_correction/widget/quick_student_data_table.dart @@ -117,7 +117,7 @@ class _QuickStudentDataTableState extends State { height: 14.r, decoration: BoxDecoration( color: kgInfo.state == 0 - ? Color(0xFFD9D9D9) + ? Colors.white : kgInfo.state == 1 ? Color(0xFFFF7474) : Color(0xFF4CC793), @@ -152,7 +152,7 @@ class _QuickStudentDataTableState extends State { height: 14.r, decoration: BoxDecoration( color: kgInfo.state == 0 - ? Color(0xFFD9D9D9) + ? Colors.white : kgInfo.state == 1 ? Color(0xFFFF7474) : Color(0xFF4CC793), diff --git a/marking_app/lib/pages/homework_correction/widget/report_table.dart b/marking_app/lib/pages/homework_correction/widget/report_table.dart index 712ae90..1b1de98 100644 --- a/marking_app/lib/pages/homework_correction/widget/report_table.dart +++ b/marking_app/lib/pages/homework_correction/widget/report_table.dart @@ -2,6 +2,8 @@ import 'package:data_table_2/data_table_2.dart'; import 'package:flutter/material.dart'; import 'package:flutter_screenutil/flutter_screenutil.dart'; import 'package:flutter_widget_from_html_core/flutter_widget_from_html_core.dart'; +import 'package:marking_app/utils/toast_utils.dart'; +import 'package:photo_view/photo_view.dart'; class ReportTable extends StatefulWidget { final List headList; @@ -14,8 +16,8 @@ class ReportTable extends StatefulWidget { Key? key, required this.headList, required this.bodyList, - this.fixedCols = 0, - this.fixedRows = 0, + this.fixedCols = 0, + this.fixedRows = 0, this.isKG = false, }) : super(key: key); @@ -35,59 +37,74 @@ class _ReportTableState extends State { index: index, color: color != null ? MaterialStateProperty.all(color) : null, cells: [ - DataCell( Center( + DataCell(Center( child: Padding( padding: EdgeInsets.symmetric(horizontal: 5.r), - child: - Text(item.questionNo, - style: - TextStyle(fontSize: 12.sp, color: Color(0xFF525252))), + child: Text(item.questionNo, + style: TextStyle(fontSize: 12.sp, color: Color(0xFF525252))), ), )), - DataCell( Center( + DataCell(Center( child: Padding( padding: EdgeInsets.symmetric(horizontal: 5.r), - child: - Text('${item.validRate}%', - style: - TextStyle(fontSize: 12.sp, color: Color(0xFF525252))), + child: Text('${item.validRate}%', + style: TextStyle(fontSize: 12.sp, color: Color(0xFF525252))), ), )), - DataCell( Center( + DataCell(Center( child: Padding( padding: EdgeInsets.symmetric(horizontal: 5.r), - child: - Text(item.validCount, - style: - TextStyle(fontSize: 12.sp, color: Color(0xFF4CC793))), + child: Text(item.validCount, + style: TextStyle(fontSize: 12.sp, color: Color(0xFF4CC793))), ), )), - DataCell( Center( + DataCell(Center( child: Padding( padding: EdgeInsets.symmetric(horizontal: 5.r), - child: - Text('${item.correctRate}%', - style: - TextStyle(fontSize: 12.sp, color: Color(0xFF525252))), + child: Text('${item.correctRate}%', + style: TextStyle(fontSize: 12.sp, color: Color(0xFF525252))), ), )), - DataCell( Center( + DataCell(Center( child: Padding( padding: EdgeInsets.symmetric(horizontal: 5.r), - child: - Text( - widget.isKG == true?'原题':item.questionAnswer, - style: - TextStyle(fontSize: 12.sp, color: widget.isKG == true?Color(0xFFFF8A00):Color(0xFF4CC793))), + child: widget.isKG == true + ? InkWell( + onTap: () { + if (item.questionPicture == null) + return ToastUtils.showInfo('当前试题没有原题'); + Navigator.push( + context, + MaterialPageRoute(builder: (_) { + return Scaffold( + appBar: AppBar(), + body: PhotoView( + imageProvider: NetworkImage( + item.questionPicture!)), + ); + }), + ); + }, + child: Text('原题', + style: TextStyle( + fontSize: 12.sp, + color: widget.isKG == true + ? Color(0xFFFF8A00) + : Color(0xFF4CC793))), + ) + : Text(item.questionAnswer, + style: TextStyle( + fontSize: 12.sp, + color: widget.isKG == true + ? Color(0xFFFF8A00) + : Color(0xFF4CC793))), ), )), - DataCell( Center( + DataCell(Center( child: Padding( padding: EdgeInsets.symmetric(horizontal: 5.r), - child: - Text(item.priorityGeneral, - style: - TextStyle(fontSize: 12.sp, color: Color(0xFF6888FD))), + child: Text(item.priorityGeneral, + style: TextStyle(fontSize: 12.sp, color: Color(0xFF6888FD))), ), )), ], @@ -101,7 +118,7 @@ class _ReportTableState extends State { scrollController: _controller, columnSpacing: 0, horizontalMargin: 0, - dataRowHeight:40.r, + dataRowHeight: 40.r, bottomMargin: 0, border: TableBorder( horizontalInside: BorderSide( @@ -125,8 +142,10 @@ class _ReportTableState extends State { headingRowDecoration: BoxDecoration(color: Color(0xFFE6E6E6)), fixedColumnsColor: Color(0xFFE6E6E6), fixedCornerColor: Colors.grey[400], - minWidth: widget.headList.length > 6?80.r * widget.headList.length:MediaQuery.of(context).size.width, - fixedTopRows: widget.fixedRows!, + minWidth: widget.headList.length > 6 + ? 80.r * widget.headList.length + : MediaQuery.of(context).size.width, + fixedTopRows: widget.fixedRows!, fixedLeftColumns: widget.fixedCols!, sortColumnIndex: _sortColumnIndex, sortAscending: _sortAscending, @@ -139,7 +158,12 @@ class _ReportTableState extends State { style: TextStyle(fontSize: 12.sp, color: Color(0xFF505767))), ), // size: ColumnSize.S, - fixedWidth: index == 0 ? 40.r:widget.headList.length > 6 ?80.r:(MediaQuery.of(context).size.width)/widget.headList.length, + fixedWidth: index == 0 + ? 40.r + : widget.headList.length > 6 + ? 80.r + : (MediaQuery.of(context).size.width - 8.r) / + widget.headList.length, ); }), rows: List.generate(widget.bodyList.length, diff --git a/marking_app/lib/pages/homework_correction/widget/student_zg_table.dart b/marking_app/lib/pages/homework_correction/widget/student_zg_table.dart index d60d374..9386a89 100644 --- a/marking_app/lib/pages/homework_correction/widget/student_zg_table.dart +++ b/marking_app/lib/pages/homework_correction/widget/student_zg_table.dart @@ -40,7 +40,7 @@ class _StudentZgTableState extends State { child: Column( children: [ Center( - child: Text('批注答案',style: TextStyle(fontSize: 15.sp,color: Color(0xFF3C3C3C)),), + child: Text('批注答案',style: TextStyle(fontSize: 15.sp,color: Color(0xFF3C3C3C),fontWeight: FontWeight.w500),), ), SizedBox(height: 10.r,), Image.network(imgUrl,fit: BoxFit.cover, errorBuilder: (context, error, stackTrace) { diff --git a/marking_app/lib/pages/homework_correction/widget/top_count.dart b/marking_app/lib/pages/homework_correction/widget/top_count.dart index 98e0e46..422c4d8 100644 --- a/marking_app/lib/pages/homework_correction/widget/top_count.dart +++ b/marking_app/lib/pages/homework_correction/widget/top_count.dart @@ -10,7 +10,7 @@ class TopCount extends StatelessWidget { @override Widget build(BuildContext context) { return Container( - padding: EdgeInsets.symmetric(vertical: 10.r), + padding: EdgeInsets.symmetric(vertical: 20.r), margin: EdgeInsets.symmetric(vertical: 10.r, horizontal: 10.r), decoration: BoxDecoration( color: Colors.white, @@ -35,6 +35,7 @@ class TopCount extends StatelessWidget { child: Column( crossAxisAlignment: CrossAxisAlignment.start, children: [ + SizedBox(height: 5.r,), Row( crossAxisAlignment: CrossAxisAlignment.end, children: [ @@ -55,7 +56,7 @@ class TopCount extends StatelessWidget { ], ), SizedBox( - height: 15.r, + height: 20.r, child: Row( children: [ Text( @@ -101,6 +102,7 @@ class TopCount extends StatelessWidget { child: Column( crossAxisAlignment: CrossAxisAlignment.start, children: [ + SizedBox(height: 5.r,), Row( crossAxisAlignment: CrossAxisAlignment.end, children: [ @@ -121,7 +123,7 @@ class TopCount extends StatelessWidget { ], ), SizedBox( - height: 15.r, + height: 20.r, ), Text( '正确率', @@ -145,6 +147,7 @@ class TopCount extends StatelessWidget { child: Column( crossAxisAlignment: CrossAxisAlignment.start, children: [ + SizedBox(height: 5.r,), Row( crossAxisAlignment: CrossAxisAlignment.end, children: [ @@ -165,7 +168,7 @@ class TopCount extends StatelessWidget { ], ), SizedBox( - height: 10.r, + height: 20.r, ), Text( '全对', @@ -212,7 +215,7 @@ class TopCount extends StatelessWidget { crossAxisAlignment: CrossAxisAlignment.center, children: [ SizedBox( - width: (MediaQuery.of(context).size.width - 55.r)/4 - 20.r, + width: (MediaQuery.of(context).size.width - 55.r)/4 , child: Row( mainAxisAlignment: MainAxisAlignment.end, children: [ @@ -230,27 +233,25 @@ class TopCount extends StatelessWidget { child: Text( item.title, style: TextStyle( - color: bgColor, fontSize: 14.r), + color: bgColor, fontSize: 12.r), )), ), ], ), ), SizedBox( - width: 20.r, + width: 10.r, ), Text( item.count.toString(), style: TextStyle( - fontSize: 24.sp, - fontWeight: FontWeight.w600, + fontSize: 20.sp, color: Color(0xFF595959)), ), Text( '人', style: TextStyle( - fontSize: 16.sp, - fontWeight: FontWeight.w600, + fontSize: 14.sp, color: Color(0xFF595959)), ), ], diff --git a/marking_app/lib/utils/easy_refresh/MyEmptyWidget.dart b/marking_app/lib/utils/easy_refresh/MyEmptyWidget.dart index 514a877..6a2e9bb 100644 --- a/marking_app/lib/utils/easy_refresh/MyEmptyWidget.dart +++ b/marking_app/lib/utils/easy_refresh/MyEmptyWidget.dart @@ -12,7 +12,7 @@ import 'package:flutter_screenutil/flutter_screenutil.dart'; class MyEmptyWidget extends StatelessWidget { static const String defText = "抱歉,暂无内容"; - static const String defimg = "assets/images/not_data_bgm.png"; + static const String defimg = "assets/images/not_data_bgm2.png"; final String? textVal; final String? imgAssetPath; final AlignmentGeometry alignment; @@ -32,22 +32,25 @@ class MyEmptyWidget extends StatelessWidget { @override Widget build(BuildContext context) { return Container( - padding: padding, + padding: padding != null?padding:EdgeInsets.only(bottom: 40.r), alignment: alignment, child: Column( mainAxisSize: MainAxisSize.min, children: [ - Image.asset( - imgAssetPath ?? defimg, - fit: BoxFit.cover, - width: imgWidth ?? 130.w, - height: imgHeight ?? 130.w, + Opacity( + opacity: 0.6, + child: Image.asset( + imgAssetPath ?? defimg, + fit: BoxFit.cover, + width: imgWidth ?? 150.w, + height: imgHeight ?? 150.w, + ), ), Padding( - padding: EdgeInsets.only(top: 15.h), + padding: EdgeInsets.only(top: 5.h), child: Text( textVal ?? defText, - style: TextStyle(fontSize: 16.sp, color: Colors.grey), + style: TextStyle(fontSize: 12.sp, color: Color(0xB2898B8D)), ), ) ],