From 3f4e0b8f8f85ac5d197d63e19d95b094d9b94c45 Mon Sep 17 00:00:00 2001 From: liwq <122639653@qq.com> Date: Wed, 4 Feb 2026 09:55:09 +0800 Subject: [PATCH] =?UTF-8?q?=E8=B0=83=E6=95=B4=E9=87=91=E9=A2=9D?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- bocai.db | Bin 499712 -> 581632 bytes .../tem/bocai/controller/ChartController.java | 17 +++-------------- .../com/tem/bocai/schedules/BetSchedule.java | 2 +- .../tem/bocai/schedules/CrawlerSchedule.java | 4 ++-- .../bocai/schedules/ExBetScriptSchedule.java | 2 +- .../com/tem/bocai/util/HttpClientExample.java | 16 ---------------- src/main/resources/application.properties | 2 +- 7 files changed, 8 insertions(+), 35 deletions(-) diff --git a/bocai.db b/bocai.db index 95862143c3feb94f0eecd1a45ee4535ef1fe5a8c..68bca7a7bc5ed3b50dba4a5aed725798f87510d7 100644 GIT binary patch delta 63645 zcmeIb3A|lZbwB>joz8u8CX$eeOoS;3_uTn~!Gu6SNFXXsd58fic~ORhK?Q}EKoV4t zBs|DQ1dP;Di=a_V9x|EWP^1bEaKNF87OYj&NYz@k_W%8^wa>86jV;gqhtL1_skBB` z?%rqZwbx#I&3nV%85{P_**2vx_E&9fZ8vV8c|8Bu!gs#!)93B%EmnFylp%PiYs@i6 zWqSV5+ul2-cT&%+FR*)xaaAf=XyTb^Mjtge{l0Noa2VgBW3(?&F10N_~W|GdusUOeVh02C-2$3`*i%VY4h-0{IPNK z@M8S2Ve{^H;E(rj-ZKV&T)%nGD*Ul!^T4%<=WV*a zfj=(Ybp5;V$7P$gj&GaY)^^3Ftxf#v;HGWF;_6M?4#OYkTzkhX{Bh-`Z71Hp=#VE$ zlZ(A);@{go(EGFAZ}#r%y|;Hq?}pyD_nvwGw3W@?3-LGCj?K==mP_S&say)mrH0o} zJl>mxmda(X|0zJ%N6?@W1m(ahE(G-T2`GNrYwj_{(Wy< zx^jZoQ*7%gc3;(bL;JJEKlwBH&;4U(cKG+t9{#r1ky(nd-XU$*o-=g%Lz4@@DQMP* zE_i5a2f+BhKeSzUF#iTq4=sFjo)6Gx+qQIuKQ0Fq{8+$i+csSuf${4L9;$X%XV0H~ z&V?6We$i#K7nO&$3?Es1v8^q0Qrr6$*k9s%P5!c{ocv{J=+&Q}H|~W8Z+mgehi6}< zh}_q<`KoA8nO~htWX@~b^o|(Jxn>hQz3tk!5S#}^O4Xs@(OOR>@r7z>=)Q*zn|0q` z%LnGaXZD(NF8r(6i)Nn?l-yrk`slpEKi_-riyz!L^yufO&zIS-YvuZaQW^g@vs77B zE-xxKz1ydJeEgaE-}wAJZJXa^u?m6`k*!WmuCO|P_S-JL=(4}M=(0=k)#}j3M-M&# z*0Ua(f?WW&W!~TR{u<}Y;nTrT>CyVo&WF0Z^3cfeVVy5-+4&EjZjV>V^OzOa7@~jtI>C$K+%N&s9g$J&EaoY!-$@`K&#Eu_z^yltK z|0YFb2ZKIhkRbV?TyaoNlDuzGP+wFjd$&)0Y0(D#?`!sM+3W4uo5}6XJ(9h&ZD{%W z>hQ4}vgde1cdVaMc%XnSd2skg%kvApvCc86)vvn#x<6i%9sc7rx%?x?;3(|QUeK05 zEI%=y&;2_0Pq}Au`*OQ-AIaUAyDE1G@O7OFiG|dAw&&&&PUh>eTPi)T>UoJjhe6sj( z@t)$X#Vy6lisu$r7LPB^FHR{I{ond8_|N!z{ZIP0`ycS%?Vs7U@2{26{%;rE4~ z6uw#bV&OA|orN0;>6X*;BIh?A+|QY+L3RneSzu$UKm_J9Bg9n#{V)*_q{;MVZ4h6EivQW$$_KN$+9r zp6m|pJhtyKb5@uC1HV+RmfD`|H~)S@{-?uVTb^HffDJX+(DThdEzO@`mYtD*&`dc! z{{b_6YW@OKJtIHP%swMO!HmQI%GKMRyv{s-dVZ$)-s$*@C-`3v@W1ZHe+?gYV*b5_ z;Yp|E_jr3&=Dp_&#Z23b%oO973bSVWJNzRHj}~5=|8f4xd{6GKTs`|l_Uz2dnJt+q z`j0t%e__t>g{8uMUTy#vig|h{bEp|J(H}p))ClVHYx9Ho<@tT{tMh}>{EFGP!Jp7w zTU4tpDwWC=45$yCGj5jI|4=4((?LbEuHm&;D?zDIu47aa<1ng$!4*tXtJFXx5lX>= zN-(oj$0Yc_N^M}1Ip-aj31;!hnW<*+<++X;rl>S92E+O78YXDY$DEa*Tun_uR4M^b zshY9V{k}@0ia}L;wT?kR00YbTcB#y-Lm-CV4&>V<46Nv)*IiKJHb*>`7V!O*UO zb{XFw-6|N0FV`^#D2Iht%T}O=_?KnjReZl>_RaMcm~CIkcM$((9}uo!XccR~@Ddl% zy8cSEezS41H{Prc{CU+!-uK+HjXa2meL8EW$zm3ok(d{w?Jl;3wSFkk$}>?Bia z7J93tW?7cohgr&)1T^I4Rm$ax`}vwIzKqWwWtMai{o@KGUK3nbmBGS$q$7Bs3?5C5 zCkkaUkJ(=KXAg}mKS)+kwaiYMm+|pBKHryKeFI}<^$-}QWc)sJ++=@Yrd%~+PVo*g z`zwBr*)Y#PE?=%d)SIX8&rCBjC+7-g|1r6o*>$A9q)=`STzkhm%*Ok&hnktsdPTE8 z=d}-S=qv2rkzG-E&@3J)9AwTIDHMiZH&S?ae*4C2vTy&w;bzvi3**gKzF9bUHq?SD z)q+wPchpaI-?jLPukt@%(`E8+&B(V3lT7b73cfkxn}r24qY({`cywqa{;5o4g0JKE zGrv_h`W60k3w}B^npN;{W*r6szZ`#9^b7g!fiR6eKYsY%e^w|?Xz!ZccE9)Ww!$Ja z)AJ`C{K@XyyFbwV?(Xxu&+I;-yVO0SyQ}N>T|epi<}LI5h4Xt4@159jNyqAr(>sps zII?4MN1^@K?LX={x975+Ej_pP+ykxu$)4wXUhd7c-*(Gg{`{)1;r6TJ`g-rYNRbMH01>w3@bUEaG0d?o)$=;%-Yt6u(lE~Mt= zzw1KkUj92Sq~Ybi?LwMf{y7)Y=jFdO=zyvvFaJ#!5_tJT?mkV)P(@)M_dSye%OTo>4yjzq`)Z2=YjQu?vH@==Nw1_SU=!Gfb_5n0n&S1 z2$0_GLV)yV1u__Zz5%T7cYg$|KjT0GO#QM8!PLKUA((o<3&G64bRn4e7YZ4)s}Des zpSwQ-JzjDlpvTV~NE!6_sS5!;{>6m=>7Td|ApOr4GN{Ba1M45VKLXY-x)5Off(rrC z|Kvh|^p9K!kp7_qsQ~HcL&!qe`wFoBK?qU^u>QUa0oMO$?pvClJ{SZ+pI0m;{~D&h zR}5T8!z-3uNZl(|Tu99;R$WNdE7n{{#Vgj65PZMv6&pzqF!G8`7gF+yeGa4qq!+mm zAbpGr0n*315FmY=0~ss<>*F0z30S|%g#hctE(Ay~aUnqZ1Q!CNmnI>lJ|KOf3mF8~ zC%GVCz08FG>yupwkUqtQ0O?n|5FmZ33jxxnxsYJcD=v3IzDRiDsy88jPXd%M>ps6EfDg*c|7+r}p?l*5e9DF3lmEjc^xIdy_&xK$wjyB7>{ND~jarW|`Nd7HUaW8+b3jw|Eb0LrqpM*BD zDq1#lkm9W5Z-NSto9#k?+Z+cn2&qz>>wqA7iiaj4FxI^Mf4C5!_(vClW&FW~KwSRb zg+N^Xy9-$kdHFjRgkAnO7XnWBtqTFS{KkOoRtd9L1n>r@9-`l>p`1Rrdbl+|MTxhq;^UsgTUzRWC zZqJpnU(CJ<+VqC)8;=^kbd2Afp_}53#vAL^>1n9YUZt^4Yn#R+P4;TJ0+TOc?N=5B zVz9wuVa7a?nQopx&znkPyIP{1Mr#vhA`MU4{4h8xj=2i&DGj!O=IZMmd$Ag*oljGf zUl!vP)@J(iVyuh9#LT)aKi;g&t#o{twsr$E0F$(nqq0bCbvij-XP*9W zUVH`PiGGC^s+hbqJp0VWW&faVn00EN(?K)jEt_F>m2(HvKCM>e*EEi+SaA(s1>MT@ zjyTj(>zvlT*|!!J_Wn0z=L)%MViwaa6go&i^#hC-YIFQbvu}pqtd^>E5GwS`^vQlz zT0KIQMQWIH2F5NY8y;asCirkY)JpVJ(eI)z zC*74aD^wSW-$_{EG_!FIhj-gnGJ2Y zxoEZ><#z=&Fjf3QNY7IKuEX4Y>CrlD zz$Wz|lv2QxJ58!J)9yhG<>(4MT#NbX1v_$ia#_91(*d^}m&;A29I2$av}U=S=lE4a z8<&cEuU^s9OLsE8nwWq?>u`@HHVH$8!Nt9|WE_MKWaU(|Zki|FQ3!o}oxWvt@nRAz zA-&Tz~)oX$1i!tlqNZI95k4oLwgXT6UcYJIK5ipQ;z_E2LEp#v9U_D$d|&@9XwEHz3z zrYc^z4p~?QLbBm*qe${{^Dk8Z()WL60{m{rwq-}!&fC6Zf?2;aJ3*;4rtVLw(3cFH zcp^xb&JkeRr9__zTRgT29y+0z?oeQ_8Rz)GMjr6{%X9=k#)Th~>`+pMtdJou=e0wrUFzenv2VhEvUMbS>e|83=scQzZ}zZf zxN(MdP4A{84CK~T6;35DcOk97l~k_~1@6)~T7r!a0+F8Fb_@hE+`9u1PbD$M;U$Q8 z9kFAQr=J%Ej+7(QSRJwwAdHY)eV~Fk;3cr0I>Vu6+fsjg748piwQL`c5|1{hS!o98 z;X(lpU#C9*k&k7I;l&?Rx$$xki9TtH)0y7?Kv`cT`o(7b;eKBkx3*GWbzs4Me*FLg zBc>l(vSylDcXeT$S$q)rKB!xL(B1=}A`V~c3>xbq^)8H~Mch3Vi#$5ydfo~+z-j&q zEZgJOH6!>d2N@LoV=kGsyVs{MfR2N)}B zR~gvj%{Du~lrLiQb7t{LnRYU984Rc*8EntpBReU!wAxLX|fz_+|`8A;?p{iR2 zF;$=~Gbj(s#g@KNF@s>h8})p%@A#Zhu?)F~<#N?Jmhrw8`B7H(SNSpPi9Am5RDW7~ zxkieCdS>0x-oaz2nB$kxSImYv-jSjlPXLv1_evBw6jM#Jaxy~EWh>CRu(z36r>c5Y zR)c|?tA~nOZ8I%cFjh8~GU?nX1S@+gAylr4#|aCRS<=jbgc^w=k~xO`%Q|S%DnR6b>Oc>g5S}#);x+G+dDJn2dmF%*3P6m@S8-9*WU{5ZtuC?T)3{Fe8@FOI`G@n zLU;|NQWoIE5PmCl=l`j#H*;{dV{+$N>QCvtIsdMFClY|F*~hbIWqy^}oH_Uv{4=|4 zeOq>Y+xlBp=I406*;n}k=!Rd*buIbAZZQb00?IVNNy}VWHwe9 zNrzyR37R}SD%$0i;4aluf)Nu4TLl3oIK#YV378sLfqJ3wyA;u)Z$kJv{KSzYCzPrD z3ufajnInewp47b%nAhOb5vC$hNlQ`4QX&z<2R3ar`!;#wVTDdIBe!RAJ90Dy%S_;a z`N=KR{Sf(@vQx^I8v<6TgMu2y`>yY zxCST}$z-yVaA)dJV*+6ZC{1cW-a zf5T~+4zv1;c`l?WSDPg!^&%QwOxsL4$AAZDiG`H0ke;DW-#*LCytJT4s~dAbK+z|H zWtf+`3X^+-nH<5TLmF-ErWOrJG7laUXuDjf;Ho+>4^s=rSZ`Q>W3;u4Vw)ng45yh& z0uoLQW8CT~A%-t2yYkbWu?s;as9FV{Tc>n`QqxLwW!F;2rd&;AFmpFbxsFZQubB0d z{WV$qFN)Y1L#t0d*!*suU&h~MUN*BX!JWt5XT`0$7I-uMv^QN1b z=X+Dlv4{Hs26~^OrZ&L;1?NGS|EfDGux*6i|}bl7MX2U=L!>H zG5bN50{@2_eC%syVH)k6(b)=}kGFl(?7PuFA5PaBuV#ML0GtSz^oswH`O>q}TRIfn z27si_Mobdv$ZtmUSm$UF1OWw;*i;G#`_(v7? z7S7E7Oa5x)JN|9%nCw&8^D_UQxzU`mEkA7>2vF{9JLHhcoPkXrT-8Z|2Y zo-QLXPfk1~E@ie}7bz1kz#2r}mLR4YU_R=v$kOEff)h{2FSQU7H0?7L@y445AFk8; ze}vigVZXP#ToqRug*%+fM;~99GzP*AvQXtZeqF;6hl_Cae57q{m;j?;OaQA18H^%G zW$!SS2mt4l(TIsez6a2_w^nI1CazX^D^yWbRYOEy+6BW21d|F@T!CPQx1lKMnb6uP zl=WhzxZ?umBSjz5F80J>JQq`HV7OT_2}2!XVEVSN=%44-SBp5ylgHTcMAkI8;f7o>%Q^lE5fiKB{fq`Dl{bEf8S z-GA3Z4(Vk$s^OWhm*`{=WsVjGXM}!}vN5m#(Qj0#e5dvKB1(za6o%>saJXost<)2Z zTvk8J5jardFkaRmt_Gohi*{zc6x{n;euzX>8+9z>(D2LZVW51cz^JsMt^%G4^&$8= z0&7;M$M)5$lvCltd3rD*g13&J4ka>T;gO6psP@1Xsn@t}N+&S}$UCIJ8yDh05plqL zy2vP=^Ez~`$TcI}&J9RgP}YMHP`*tI14QL|L%5x0tspBCA&J?^W5#D=Zl4f&bK6|^5d zk?q;hC4PZ2BL%8W0~zuRg?&038jBG59`Kr)Y(AawX6^X4*CjdDedS zdT;4HqUVvG*L455`^xT~uDiM#o&V7JRw!QY>zLmD=}7Uq)n8E9S9rZuyzb5|%08Jr zH}l)f2Qo9f`@QTbZQnC17iT8)4s80sfNEg1v2AT);K){Ym|au+rO;5foffm7m?yb4 zo3@>5mRtg@MQjuND+rT^_qeAp&E%)SX2Pgb)EPeJPE@ndULovcS4S2Y!o4s(V9j8X ziy)P@-I19zwBf{Vvu?hhGsDyUg&cVzf3?WWnW6u>G_ofu*-hI{U?Rc*f3}1_Ynm+^ zVIOVUwpdt>y3Is0a)_e!Dlscf|22LkgHLJ{^5#6e1mE+z&EErzff`pdm22hS5GkC4 zNk4k6U*eFB<9QY?g(U9W1X~S|u?*)$1uo{Dn_%T^+SX^5RFVJx!Y2P{{999S38T_x z#b&{k-<;Fq>uDn{-KX6z%G z89TQ7lc6kY42y;XC9HUDDd})GhrX(4JmqA$1ZUMxdB7L!xH(^x36P=!`9kqbF$d|w z3le{mok-n~N8H?}SDibJLIWiR0HBL18}E_>d8xVB;~K~RVsUPNIz9ob@-*%<=8 zG~LLn6y6nju<*O#*s;dq&8BpDG5zha?EO3O-kdALz)UqKbgf=G_ppUCIye zf>B!(U5$jGL!Z&iNXrdBFWMq9r8e(=H9ZST!zQdkDhsOSa}R)f!V4Y_mdg^QTbp;E zq6thf?zM2;;%&ri0>BWgM8| z*@>Eeu}`HXethRsJWG3<5*pnMQ{$;e^iXZ9L6GWm|ll8a}g+VAh8O{0jqbm zY$0aQSODDSNF_+kKvyW4&pH-}5NP2t0cQ|ea0cWOT$HInWk3P@cA{_?VQCou)Npi4ro_&GqJbUPf)) zlgRA72eoorP&0RKTzeK)x^<@t@NOykXPe2MKVvXIKR*R&zQ4`AfD-n-xlbbD_XD|i z=g!ZanL8m@%FW1iWq+UjN%rk1p<9Mhy4l$=D6!jsQoFNIa@R!Z-Gs0@E|c;0d*AoR zp)l`3zYWEI_CJ1GW-;$Vh)N_r)xBk70a<7vg8)^%W#gl?W%*IXTQUka z`&xce@|MNf*M!viyk(R9x!%{KQ7G|R7AH;1Z!mM5Gz|!En%=TFC0-y6Z&{oXFA%Ig&WI;u5P9Xx<~bijUiq@P$Uuex>%;vE z+QcI)WUK;IMusd)X*xe)Y9 z`L+uQyutqOxFC?|yAA|(ME!9|CO=jJh5pg~4JZ`XPswjUp}59MAV4}Q#F9-!8BzaW zT&*QP0@iUwmq37ZT=gXo?5k55R&G{3|N00a8rP@=@o#V;WzYYh3kf{`#=#^Axj>%p zRAU6F0rZ`UjiBD=`G0ao)tjFGpDqNo32iO}{NcF})Fx!yA_qu6ry?|{0qYL;N5Hz%g#ha=7XqZaT?mlwaUnpu*M$J- zF@VGsp#g+Uajf$r2$|wI7XqwfSt-X1NKbHo^JnTwlC?!qIZ0Fz8dP3sJ&E(NzpPj& zt`!O^LSgTuiiQ5)DZjE6p)lB3f0ZOrYxz|JN64v63K}?OPGwTiz)^H6lLC~w`c7d| z(5QRl*#2EHh!9}?*A4^%#Q&HJ0n&ftLV)z$E(A#b ztqTFtA5TCA5!V3Lf0qC;&g1#XqDMf0wNu-N5R~UTwS5R`dA?KIhb$h?|D-c>6-YbP zk%NfidA?H~S;k%NOL?Ry7u*iq<^E^fiGcL|E(Az_)`bA+-7W-3?{Of5XhPr*J0MiQ z`46}dVEs840;C^wAwc>e7XqXob|FCe5f?HDtRHnj!20tp1X%BNAwYVc13|5*|CkE_ z(qC{PK>CX=q(12RUvfdf`pYf^SpU5X0n(4V5Fq^(7XqZ8a3MhY9~=nkx(EHQx*%Zv zH5US`pL8K0^;0ecNXM!sIVJ$ov8pK$ARTL(0s+#4v8pK`U>&QP0s+?Fa6Sfw%#XD{ z{ssz}A8UUC0n)MdClDYVYkvX((%*6PA2fjT{8;;w9|7xF`x6MTjsb4f9|7xF`x6MTcC^2s4@kf0ehf(e*o6S;e|8~2 z`X{db(+8~o#rY8myZxWK5Mcc?7XqYTav?za=Pm?D|H6d;>0bhp(0{12?stC#tbgS~ zfc48R1W5m@1L3XsYer!XZF?u9Fh}-$zUR#DpLD;sdu-R;UB`4j)%muLf9trRV`lqj z+fO;N_>aZ)#k_x;zp(IF;SKqpSTxN;!09a-Ls|Es%vf{jv2>wtJ&XA*<_E{p@xB%LveQiI4u85?ejGy) z2-H29KT`T7nFo%ew|?uJ)uGDlU>@zcVmdSN*P#&gYRmjE2C%w-cCtY7FW5Jk%_}R z6_Vs&`5x0-m%@pas~-eeS4OdqI2Y;Xm4pg&&Mip8@3VeU6s~POLHTj@!x7zADdW|Jh+i3r?RBtuJG>FQ3#V$=187%uM6K8#*0J~NJ# zR5=aU18063Ta@bK#*thn(^XzYCa0eiBmx~Zax4J>Nr6u9NT244Fm`Sugo!#ucq-Jb69w&EIkg=eN zSk`|lbv;;CGSdZLmKXpjrol=k({b%^zG{XKUB8y6E3ped{JI1IB&BQP<%M|+1CNJ` zwn3EnJt>1G;-F$H;e?f$Wr6VLC0?CsFir}-r~Y?Rj?{-2iOY`jT!6K(bVCK~dgd1% z(er4}Yg@wH*L6&7|5W?Z;&a6diA&m4j<_bC~MxmRZ< zj76AxX(V6ay*$iwl!)mp24DveC}rx)(9W@_P(YcR8MEE*Hs^2E zsBF;iXYW{_n`oZesbmdyKu}VOH*Kc`+lD-m z9%NiIPu%=cK~ofGma&_&Zqjfyk~z>eV5ZkKwDO#s*?R&|`N~ZiN%oGxl*n0~VQNDH zLCOU&o@?$Ll7&q~tQS~y->kpim>trm>rbty~K40!X05d4Ph3^VgR$S0YJ z7L^F}wVO3YknCm{wqd?*geqMk;>@dVmA~s$LVn^_UTmP@vdnnYjLbC?KO}$MuAxIz zeoru)KP03t>b>v_{ehomf>pOE^6O8@*dYAh-zMM9GvZ%280Gn3E=w~5#K|vSc7PUdHM^ufX6(Ei1BqnAz(1W(`1F;1cf7t41*!v2E>`@ z&l}o%TTyj^<#$*W;VoGk>_>30+YAGY`}S((__=q=#eJ3j+gAOz_nN0qLvq9K?v!7? zC#^c{55UxGKH@LLG*?DFFwB!5!9@%~a)k&I^U0Eoez(R=rUYc9t?y#yM;}%pnuZpz zZm6T?;|H_A@Gt9+E)V;dBE$9lIJ?4JXO*oQ@MdO1yeT`0nN8+Xi^&CBQAf&YXDpG$ zT*5nmZcG&D?CRWMmck`a8dp46|RGcDB})KM}Q)tp|Fxh_m>{3A6{QZ6t*TVz7T#;P>%(Z=j59;m0_7mn8eKPa8 zWPB-ZonX#dq)TOG91ESymlnxdR}+^7L%%$+-2}(TsJH6o-Hw0b$5A~Yh3}I>(bH+# zkM&Eh)!e2p#!2O`u$4?)Nsc};FSVT)|ARvEOz-WI45G2u(ItZnY`X0TM!;<*2{JWD zkqLsqX3SNEg$x}_@N|@kARLbbSEqW(W|WLBDFhSYW@8IiCWUBP$>@?oFvFqJC}HUN zX?B7N)nA*!pgI9^3(`?!n=8z$n(hgbFtm4Oh(RBf5Gp}Xojw@oLgVX#fzq|(X7K&gs#WEqSQ zxaJ}-2?Iw8_fqM;>=bS$bF`^)G9^ZkkVz65`q2bbKG7Tm6X4L!FwdXqNnR0rZq(vz z@*q_)2J!o1wOJ9>$s|>rk^$YE`IT zvI8Up)kzu*u_hPJAZmBHh8a*4tWAuCn~|;!0&wxv2el~yFhsXsoPwQs)jUmWa31Tc!-OpBs4J9c~l)NDPZkjK$s>)B@_B-Iw2>lFy}_R zO*0vp-NeIy%x&4qFq=k`Y7^au!q1C7E;%*lsxS>xi>vWsX0P*vZSW8kc?z& zSZL`(ZBx0?CxKhA7Mkm`-WVmIBq)hVgYODGuo)?##++>GMv@=3Ds`&rU`CterwLMG z@TZy4W_62Hcr*1Z`{Y-J2R8JysC+*sWfw429Z^>N4|WP&tPhXw3pYWTXOpLdVhdyr?BP-D)Sq*?)e zY7vxLsp}4`B_~5a(&UYH@UVlw}Um zQB_ISJb^y;Q5)$NqBjLZ)$kIV&E70@bqft4tSP9P=BkG?lg8^OE$ho>Ehewn&1&d{ zNSO$%DU_inq{K3NZjrYQXh4Oqb!b zu+UeP<_em^saU3#f>m>pa_Vve8lo~$91b5BFPah_-7Le5O;H?mIccpEGw2n;g&a%G zU#U=~en3`H4>U1>P)uF%94!3KH5?Nu{Xzsbv!pmD@5$Dw_b;_+VdgS7jYSd2!L|0b znn7^DQVeqvl7SOqA6qv=nV)N5gEN%;40xJ^S_Sv%S?8Iv+FzohNVpez9gz98yP2&i z$)PQZ?nf0uS?)MZhE?xmqBuC3C?ZIMjd3hB!GHX^>O0CCEebTKsb_!!pe}cc?jw~} z3>S9f0pM9U07EMKlLj@j@73WxveHmk2QzRBDA5x=MHOw^0+V;ia8-<0{W9z>ib)k2 zG+ijxQ@1<&XUb9F;L8837yvWy`4kk(oR*m)D2%!eU^s}>edJTx4X4S*3~2H|BXtD= ze?0-X0*4VT0p)~&QJbffQyrUE8YqxHfEX-`=K<80Q>3?Ebm`D^qR5iXBLj2uP)Qh; z?uGPMdx0n{r0Jw=Q$rs(xkz~f=)Pm7xXd&fEIdciiRV);Q4JAYFtP8NbWH_9@2wVw zwOugL0hFB2I*b<1uW9w6oFIyU}KHla(nDQ}uu+o4#&anD8DGy-hXI{6U_DbcLxQs~BDGQq6_NoY zZKZ&o2#Kt)Uvu1vIdq@BvJTE+yJlo>mkRu^Txt7~gV@XC$Q|QE+a*%6p=w6*tcm{a zY^&5-s4>ZR6ZH)o=}j}{{0#5hGWszHw{uylEXc`mbY_`FnG|IXc9wNLdHQHD0WNKs zf(M273`MSc+;sxwjc9_Ik9&3k=nd8y!0#CK8V04~&Od!4XC8ndcPJjwA zUdj-iypDO`aq!bBO4x3cDheGypyftSB}Ra5-&BoN;PGPO4V5-9F@apGG_28c|3qK! zWOf`?pA){%dzlJ0MXt>gP;q1XcvPsGu;Ko+q16Z3^+UCxQbt*Y88{x7V)`}?{lUDA zUnh-zheoE@Fb!NCQF;ZJE(>TyAXe{Uf6s;;dGYta6+g=G1~fJH;YT}Yr6Fz)U?Iwh z)vd6M|0=pM%=$At9I);JHE!5C5}n$_uY{oHiBn)tZp_+ctH>gy2Sa@u4L+m2FMMW_Cr0t1J31#rAkFU2IP z1IRSa{jVKGqstS;y6m?fma8J1p=z?KR-^{!N*g=YAxu~1@M%$CUv;}OS_O)2rdy%( zNc4SHZcMm@hfj@K1&%p}nh?4LVg{;~qJ4lCBq(zGZJWht1|Ei>5mo`-GR|K-Xy0`^ zKusQA)o6LqPG6sEzped!@nd*#?H-H#+TYoJUi)j?7q>5LpVr<{{9Wx#nz6#^z->N`+r;UHhpV{PF9Dh3nfk52UJ*g})-sv;}04Y4|IC9HpPik4oN( zIMtRAq~WjlNyq-UFp(MdE8;9#`3(?ysq-RlSF~0n#;=HzU-=s(#;=HzUkMpR9nXq5 z`&E9_@K*fVL8yX{{igFK?+ww^LCrfoE_C83q-&qv>5M9&fNhcsK>^!j7cz(nwu4;| z3fQK&5EQUYbs;EVo904LbvHc;VZL<#3>Si`yF*+^W64JduEEfW-XS)y}J;#Lr z>A5ZhNFVA#fb={UQbP6MVGaoS(*1|K5MX_T3qh^mkuC&CALT&mKzgwY0n$rc2#_8; z!36>9r7i?mpXfqB>XRG@N?ZDuxey?IvI_yyr??Ox{pvV-9!wO}fc2^FkAU@QE(BOF zcOgJ}g$n`Fr@Ig!eTDspEW%V^7NFl)bS{DMWH@OfXz1f8T=`9Wf z57_k&xey?9a|99h8tNkZZ;3!e2o)gxJ6s45GA;xN-ReSs(1%Y=6d ze>(9aK=Ap`xDb5)eg{H<`dJr(&+m32pxK@zWDt*vdHuslPzkky{SUYhVEs840;C^w zAwc>e7XqXob|FCe5eG6zf%>Qef=1N;c^3k#_qq@uz0ZXJ>Bn3Mkp6-T0n%S|A%npB zOD+glf7yiq>%Vs(6sV885Fj0w?{O0;PoHpq1El}Kh18(`#N~T33|PnIdjbL0arqt~ zEb{MPl$?k~{{6=|5HjPjE(9nZ=Rz9Le~x!S!0}Z{NU4c++~`8^o2@Pc#NXyZu#D|4 z1k1Q72??4QH8|e|Vb}r}f?*3?2)68K7Xo^eTnOk9I1oydvI_w{Dz30Z5qE#p{Snq$ zb0NUG?m~cc!-W9prV9bmeMv~E50Lje`VXA(UjGN&A7LHWI}j?UH@Fb2a#b|F~C#~l5KZCv{Q#{Ci2akmQr)_?0lfb_>*2$23e2SNq)9v1?nKLJRr|CG?Y zq5od@N5J|%7Xqw5=|E6B*?*l20n+c&4FB`~+w7Pl({E;mk(w|DW1q}Ic8pXHW;YMd zjXI{4BpZ%?Fgj5gB9`bw+6xyxhDI;koCAap>Tt)=^+Qh_oF^KqZt2xjvw1EOZ1>Ps z7P;k9O%yS$v$rmzCye0Gmm|oeGY>F{I0WemnuWqW8>5p>&ejRV_#DF!Ex9t`dua6M zp}t1?Goe3jm}V-j)jHBIfJYc8Q^J3-v$~x(<3JdDD+K|5@^c>_ofqX)UZDXPfumuAjO(~Kn%1IHhKxs z_8I=o#0+&C?xb%P?Z=SG5<2DJcEVVR_F@L{MS&&<7|)%M%$=#OTd{%U3r!NGN0BT= zYNXw(^*BdzcnX)Gd)bg)yY#_fq;)8^WOtS@SiUatcPUc}>wDC<+Tb&N^i9VOHHMyB zXrKX4@lT_o$@=>F)ZWm#lhxJRKslREgZVVLh1DHkridDBK07q?v@VucS%zQ=ngj{u zkg4ChC8?)w4+z&ZQJmf4V@1b*jKu`>t&*G!nYJ`z!(c&x%zaRl&{t~WBDVvXj6lA` zxk`I@>ozTt9$slZt6R}T4FOM~94t);VwPvr_E_DL7@XJ&Jf*_AwV{!N7~Kr;0Cbpy zVZHQRNlOtx-R1xgdo-s+>|FO)=-rHBdwp#_d+`f_U6 zOc)-AyyQ13{mFzFDmnL6llU|~Z@5p?b6_`W$`HgD0=HlU;7fAbGZ)~4CIHKdWa|LNF| zr*oJV0#YOE9XV6NuMDqJ8{mm^t7VW=5@nHMFq3N}X^DpoT}VJJ%c$g8ZWj)nqr%7p za(`CJ2rcXi#WsfPGfcWwVG>$jI z;%)9S2J<0l$-TwWZ60c>#zhCq_TbKY>Pit5NEt4dsD4OH+FU$Xkd$HkHq=zGv8iisz@}l7w#OVU9ij`l)~emo1fxaOm2P{K8x11s&SFU!+@$I9d#CAZAizb z-o;9jZ)V4#-oN$C<}MiYDUGRCc-XvH=oVcI1=Hpw)JePe9?#K;iivlJ$uuI(!E+-Z}0( zWR#PtuM^15K|(xrDO+`DqMIxN_q(oN@gO-shgK9+&=Q49*cF2pBtEavXe9&X6iL{0 z^j7)2s@|l)`j{DX2D~4p=SA)+k^;94o>;}~R$;*mR_6$6?f0_lZXC}>GMKG~kv*i^ z!ToSm1x$cowroPP{a&2>$UY4W}S2)6zSv8!c-e zYgFl}>_?9$5S&*mMyW8uQAkUYux?k{SBG`;n$Z|Q^H!akvQV}W8|WAvz}+SXm66)% z?ZO0nPMPKs(3cM4s<%hd1QBBB83`7)xj|*^T`f9Bc&g1Je0YrOGpJbaL zBn_-*Mz7`2fW!=Vzme=u&LIb39?+zf2$}{CB4}bMiaFp?xCoW2`*Yz=()g1pFqMiW zDqg9(%s%?V9GR!^JThzQt!o4)(k7E*9!-?xUD0wG+n2g3W$7nwD*-TAlF3!?rS_v4 zE@@JPkBWnpag$5^K6>{sNe45GErPW+`Ax>2GqLxiJE6#jp%IL)@YhmNKt8ocB}l^&{xV-sgR(5X%Rq1aAEV zGhznOouJE)jOD`}x(GPbWcTb6^z*oHgn;U5!UlvjL(qD_3dtr!bQYEo3MConF_Uc| zIdStiYKP7u3M|wPuqAsIg%$ETi9Erf*N@Osyr8Z0jLJqa3EV|yrENV%Qyr*)E7gsz z#Ug3;C8^G7&lh$h zEFR*~&Zo>ew8IlJ@EWI5B{o`%I)@+;$-p)sI2zZhFMX19@7Z;sRfX!X%sB@o6>;Ib z@BpPws0}xj$r;($r@@!>$d4fc7>yI2zAwWl6YooQuL4)RL(-+oP-FN_3OH_u=t2B? zvNTmF5joOFJSXuUGfm*sIcjOGXT8y=asl*)osZ9!aP$szgV_)qE;UFWZK=^3{(`7L=JVG?8H} zn9J=DPzk+?#e6Co*;~QZHGzDh(F2k6U>i`9!G>=%OB`V38G1=J#Hdi>%M7BPx4KF6 zB#4`2-#i4?#w_$EhyvHJT|b0_d5kDpThxUxsAQW1{`c|IR}wz8-34s?bWe@u?h$73 zaT?u0Gj$4RUR$y~WD8*D2+Lq*U@I94rz7VtP*{ zs!c?PcDo%E^lB;MfI0pW`Lb#a*wsBOvmL+VYAqlL8h!jYH-)&1aDp!7s9-vtAE#-u zCy3%wLDTl35m7IC2j*y5Hb-(WmtAtY0|i(mjuL3aOPiV(b+}3zdrZJNSTwdrDs5?` zgXLi$i%*|NP%tM2a5fzQ5A3aIWV!#Ig`viS!6<>@@1uKK6d*?!=wMko>AoN~iy)aX zgZT70LnsTdlmmQTU8MXx3vJmzO==&IJ;L=e7@>*^wvhUNQsWQ|)WYQWqvURo$KsK1 zC*jGUiN>!yo7CN?N((vBs3&17%PguaKqT#9jjbDd51KS~DVfAw1$;PPIx+-Gs*%P? zjzFg_i7Ew6sE)iDhydo`E`Wj4+#kl?$p(j~2?;Kw%1HL7a8>`6bIr;UR4U?{1tD2s zi|d~E3)M&TvX)vHxmw6jN)Fe1DU--ip!&FHUZ}BPu=*V-TEdF~C(6;Cb+B+EZn!-t zuw@m=NLSu|9)3qMlx%?B*EkYsUbG@ocyVsx^E76Z9Vyg!CP9q@43^K66Xr;8O4zUu z&H=sOxp_*v7Ef1TR_ZTK$n7z}i5a?5PIrT$T)u=Wl9@dqZA}5HxJ}VZ0iUM5V z!a$sZ$AP9qx>EsWPz3?9eUH5C8>wqLiEWESF+f^!9^B4uc#o6Ffg~SAnHLgiMmKX_ z?#lm|0SJ*9Q^8_PASZ#r;yq}bdSCWXBmJerJQSq;)0~t8MR$v6kDw|`qc0=@=oM3D=rFYsWyHUJGvohwr1@z(gQRmfdVAL!VfR9uw%Udk%`OJKa>_ zPp*dt4LDH)at&PUiw(bvgqjdFx*(?_gC3FQD@}&`3zWG*z8a`E8KVxOkB~6DOL+oXo^5Q}3d0=DI|y%zVvJB%-9TjimLvmA5N*v>QNv4-fyiaXXF(F4INcsdpmd^v?H^we83;vN z_f{uBw;DCET(q2P{maYRj1%;p*OBAF)DSeq?7F8>G z_OBGroDPOAk&s#{#?oxg!9oOH#8=SLfFCEBh{wbs;W0}ND!AB=lxkYCE$2lw)vziq zm0p8lZMzcj0jM}uqYo=_eea0W+rINM%e$g>hb(H)l~4xqS|+!rPdo-|KQo?qMpV&+ zsHyEcQIx?AP}N#Ady4V2AV*~;Rb(qF zS`LKmLN6x5dP&$2Mhfb}NOBJ4Sc;L;$^r2;x{mkQg0TNAY%3l{Zk{U0YFwocLto-B zT+DlzHZQjhgwl8kj{#{&<0NUS3+Lz=keg@8ni)eQ)1-4NR7xs=+&bAqB7)1u@pR~L zp*wl!!ULTGT%baEIR#`uZbgeKK?936mY7Hg=FT>&bA>Lm&esk)h@5fLWvq%_8e48S z5YiS?2p>|xMi<pudzN`ZDYCs4%URtVtTGUz$0RM!mG)M0v??MN zxdVzhCIAYpWYkCn$tYcLx83TC0)t;t7^*yru3I<50qeKX?K0I5G|bT)50uG)5#=;- z6RCp8sY(e%4vqxkTSM(wI$wZe^(?4`LMFsSEh=pk+{V|XS57i1HmJb#r!*AzAFvRF zDk;GVB;;ZcxriRPt)@x^J&~!0$#8mLL}gEFQDKyub{87q@(CDbvguYJx!GDxqK#rQ z%#uD6wh@M$3F(M}$jwwn5?TBfRG`<&U9Eme@&k4y%}qAGU6Hn*ha!vZm35M8?Ld{R zYe+igG9>gCNxfCu0b32qkX1wk^BM-frtS~u+o}tR?37qcs6ohk-lP&r)2R=M6@>Y$ zP=`|#EE{@W!EngC6e&!GlYk7|zEk-mk%*r%T=qak?T^TyLjMe0DeffEjUbOx#D2zd z00+1=v`KH;mDsz~eTFxC^fKVF?NUR1?>arUWfWdv5Xhlg31Q!I#U8^n>CFi9IJp_cNT)yyNseo1ypRm|a(WYN<|YFWdwg*j3LEey zB>i|~tlR+tX}KHP2c+Hsl6YYz0R^sJ_mIK_BuF3H&`98+&1-$f;>os8Fy2DMAk3m7 zjCT?kqjd&rJP{AZW5AA+%*gHfzB<;Tj&wVb8awIUeAvX;QpnQfr-abr3hsl5ZhRj4 zL|TSg`#>yNjl`r|459*p!iT#djG+G5N?QC_TS3GRA~L6HIx(K1!m2gNi|j=G1nivB z(C}E0M(4!wg=b3QXJhnO@?|O_K*dM|J2^64Ai-JWSmIFa9+b#86#~3VMZFeCkPN&K zxUVhjWGw`;)9$NzBE{SU9}s2LV`MM|OEtZX);f?r;CL(L80~NAIcO%zbnikUZAShVJ?ya z6Sl5GZ3M9MZrF;p=WZGIATJG`1j;gAU*zOuL=KW9v=5+L?!JP=k9+RQOI6%96=;}^ znABQ7ADxBW2QU-yWR(@_Vq?jAFkxDB?-Hdz0=-H~n5*28&};@KV578_Y+tUT zmW;O|n0*^IJVj>}QObcm#i0xbGo^1UOc3n_Y{d?cV)gtSUVxckWka<@5~^sCQ^h+l zt(b|)NP~eKsVTTjmKs`oheRgIRkXZR3B?_e1B!i3iC9h|xIo12zEtYB&uurLBS zn_DAFV(Ls|aAY;_Mh0$JETJ=K0;&>}f}Z^4rr`!NIfHzjv|Jw*Je8}GE5|Y1OVE+W zx}Mrf3?}*#tlqsYYRv}0s;tb9VyGH^xSt)(nuF!bknp?lqEDz83m;Uq`>I@!mZQO1 zscpmzdK`G9@Cwj)6Ph`A3YRw;iDuOnF`H9%62}V$5Nf+G6mg^<$Mb1A+zJIAhHC0| z!(crOviYzUkpez|R~&b}&MPjVP^(G@YTgba+Ng6t%}gCB&LSu@JG#$r+lyvN-Dh^6 z&|SKv=$~ySd;W~Y{!cR>%iM&ThKn+1WlqgBGw8aM$$0y{@1xVwgWkuX+1=%T*8j5q zTxL(^@yvJdEYF{^W3sce)$FqDo3d}eWrKg&#hUB$=zKNfq6GmGWoiN!Y*2Z}co zuQba&f97EC#NNYu7xgahJ-c^Z?=?^;@2-2RoI>|9O0-v@&^@e`NY>ewn@w+(Q#y|u z#arc+&f}@WKQrT;Y&mTGQEpbfRZi_ZEHrPGQ#%jxd8?e-d96q#90}h_g?k13jrOTaUnqZ*#rb(i@Glxbc2ErPAY5f6EpEr;!)CUihyn$pfKOliOkSzEopLqkxdU8N2-axYE9FVFvkgQ7w zq~;Aowd-vC0T8fG7Ptcftdm9XfB@@?vsUzG8Aw*sb0%*fS#b{tkWNzKlNFU)sfb`)pgzLwf^#g~+AVPrk zJQo724|O3xdaerr(sNu0ke=;Afb^^c1naK=>zN4oG0_NcXxBAl>6afONMD0n%MAWDr<)x*%ZP;Xv?={6M=40n$Ym0;GKx z0;CHr1W4yy2wHy(L1-7VLQI>LV)!TTnLbU-h}|^A36}U{#f-R7XqaJ36Qw;N4W;9 zUvPf}tY35?!1~871W5n03jxwUaUnqZUt9=~{wX26f3ztjWYemjIX^-#rByGv5Mcdt z7XqYz;X;7)FI@*O5>2#`+RlYju}u)~0K;!;NIGl)H}|DfIn+P2xVfZqh(+B=}{KNmyF z-rCz;NX1+GVHZ;M*52kqAS*xQLLg6XO+c{zzJ|BfBtU>Py|p_MX8{=EHxIiI{N^DS z(&w#x(1G-oytSWmAz0W0Nys2uFs&Ui@2&lm3jx-jbRj_cJ{JO{?{y(S`V%e$NZ;c^27&e8xgcQuaTfxt z|JH>7>AM{W7;Wv}xDX)yF>LE85f5<_KMDx!Y>~Ox*5;tMb|*k{V-TkP2q5Dk2zT+$ z|2wl+^qn(&1OG8=R_D93oA;~=ef06G#TxOXPl*mfxH9OFpraUW=aeOnFq1kH=xTm* z9QQ@yoCd(@3{hVW!zZbD1$u*vBZaPVHkn5!q%ezwwP6fN@w4>DhRrjQN{8NskAZ$S(`4=bw#zR(U?=I0|I+H+fhDqoX6+aZ>Vr~Wj zC!ili5;I@N)C=itt{BkGuG>fVJY9?QN~SU*!@lCo211khWY#?vf%qP=P!D$)|4w=G zfP=cyG;*~TDJ&a~LOUzG^c>|uPGbfg)1F%Uh@QCo(P|!^dZh$>?CRT< zNF`|jk5W2dguy}yVsS>C99u)YhioJsIrUOwHLZg+=+41tF>hm~nrK}MxOa@&U?Ban z;^$8vgYYFi9)lH8E{1Mp4c>NfDbl~J!5@Z=+&=jrqn-uw!g8lC0U8tI2_NEs?~|pt zmtgC3%sYHfk1_AlBw#M|t5q?Kn@=L@X7ckXH+lHFBoD%=QJ4WOk%>DGA>*Hzh}+l_ z=&`R#N=n$Pqky-5U82mSyet3{VUl#?m>_&ml3zb1ELy?3wW}K?0R6~}Qa~!CgTwY! zJys>|IXMnd>*wKFmjD-~5jR2nGR*3ojjDu=p}XgzUSB z$p`PNOI>h!dJvqc^=&%qSDZ-{bc&b9UPFau$ko(dZSRh}Vfwk0) z+Tx)pN&$67^Bm|drlYpDP*yUMPl)p!P>PEIq&?#_8m_}T8_*tKPKue(3*2l`1@t|TdD1ir@AG1kFb)?@=3|TJJ+4@qRZ6Kmrs+3i1lU5i3Bbh3hv5#F8+HE@{+}YXGaJf-N9J6l~d3k8W5RFX-_=tSM1(rerTc51@)E zoK3I_QrHxrH7VtlC9@nLb!GdK2^s&^2rGVfv^`)@=(seFis}rb>j8rqATjjyL41C+ z{a;3w{LlJT;PZ>)(&JI~tH5B969|MVUt$5H>sNsp+y6VfPqR$zkT%x%V2DZ zT-Cw8@nX4;lokz4|=UM$B^WOcCEFt{y8q+V2Ve|g{H zpV9TS<09l?R;!C*g3|^wIM_{sQ%#EQdoqwD4Dr8!eY_z#s&s3C%O65 zrn!Th3-@I*i(ALbK2Rtffk(+DUkiifd3av1m_t<-AmFI6GFa3FDw88-%vFWD($1#S zNB#`42^?)n$I6GHErE6@5q0?&Nz1@kQbMUPP;bJ;@7(q>NtCKIGB3WCG-;WJE4Sa8 zVJ)o-LL(CD;s{DaZK_h-FNbMc!h}>@sL_*>?#sl2f}R4dV{T~4L82pdnP{v2Z!teT zW_#%@f&yomC0)s66DxQpjeJ8zo0fpA!%f)3;P82Na!*($D*bpF?m)nqyd(YtV4%(= z^yBQS@C#8B1Zz(QecioBw2kw(xAi>I^P27#yRYc(?)qp~t@A6LZ|V3|$L5ZM+wW^% zQv617t^XhX_TF3m>wog{*XA{Qz3~O~N1y|awH8Aorf9Z3tFPL^vcmQ%Vrngkxt?Zn zo81{iui8cxi(Cf%Dp({p+me}COm3%J5XvT+24U~9c`Rh5W{wG9bB0bgo>Jh1%}NVf zo8}r}G0)Jn(Ftf^==mnga5kXhBykA_a#n+erG=!k^_Wtzpb`)LS}Aaa1Rx4`4d=d< z7~*{js?jVnC+ASV2|t>25bHy_F^>vOEmhRHptRVw>Bd3Xtb5Ko#FW0_O_6$rKA3s- zz=Z3;TGEH!raXuH5mTbn$Am6fJw8uLhy-n2gJhWoXrCrrF~h8$CNI$=Ai#d+dUfc@ z;{kS^Um&Gz+8gbKt>a=L8#koXCoT0k~C{clMRl+Hq1D=0;zL|$KVL!jF09Y#sW z`xKbrW^?IizPIM@`A025{&OwEN@ubp!D;UD701(itKaE3hC{53nKPkcoI(8)VAI zn^7UJcy^SrUAMA)JbgI8*4iDC?H0(iW5VQl_&!GW`Z_qsz=LFaw((s9ISDLqwHk>P&p29tzDX%(feQ)gt|xh{ z(E%ExYgEb!;6hp`58JCv0-Z>uBEC$Ol%l1jaa~x>g&4_5BaD{O2?Y#B*Q*p0)G@(d z+^ZDhYbNSdsu)Q344V2_0;LfzEZ4gaaS~Q>!ACt(1qO7`0(&-Y!Mb_b+ZjL&Cq$%U zMIYnxD^d(2SEH1;$|#Ihi9|IcWg$n6NpZ7{y*xL8z3Q}^RTGERKxSO4>d6o z4V&iHBI{VL64uAF(rCzRdnAKbEH07?G)y8v(J&ao2|zWsU4EcIj!t6&;hW~^IZ|ze!K2dI@bN|%L&Dh6X^R+KkG&Q``M%LbkM(B3JNb^NHz7a$Ns9YvIO zqcff`K`ExbVlX-*4l}6lZST3-^bk2gIOd`4ML{Xr`k%EWF~LG{TM+-zTCy0tASK~P yX-pG;al38%pdVH50*}$z_1H%=Ys2wjg>X=k2AU)R4L2;Gs!B_nVcXWF_J0Ats9Vwi delta 8570 zcmds+d3;nww#V;Yx0l;Xf~+B=6F@;CeLG2KVUay9fMFOMeU6f_NYnudi!2UyLJ(w8 z6IycECyFbe22dkgk_JK6m_QPCIziA;R>cKJ9p0&XA?b4F^LhV2^7(XA-+QX+S9Q-h zwRC<}LVi_jQG3PyEyr=Qi{tvz|K0QCx0}Y5I@NfmOF%p|Xm|Cpv~k8dyEt9Wq+nLR z+%2EFnzZ2i4|eB8D45E3gZyc{1Z6634Z4Qj(VezcSovrC8dq5HG=5DfthD0Sw8F}s z_?1(*#)Dt83M*%A$>?;z+g5g#V42HvUUW7%L(YxP65#>iG2w4pVzSbl6M3K4=lANq zB(L9RbBYNOUxPPVY+6xAqW+oRlKf@n6B@O$M&fS&ZE?q0$(H!?6a1zkNs#%UxCPE&*^ah~?n~FbDZx$KyAY1! zH*zmN-;8x1;^bh>PCKs$uW!FooL_ojQ$ZTmzRoSMP%~Li(tUccYthcJ89bZNz<1%>~CKgZYb6&&aMRB6Cg-5e+8muC-`Gx-IULb2RZDBai* zu&(2_3BPdKP3?+yMmwZ!*Vbz*w3oCQ+LPKSZIG6v#cOVjvtPBJwI8 z>b+{B+CjCDpUDMsl!VBKWDQwNW|0YG6d6c#(uruwugW*dF=dakMR{F$Rhgqaqdcl) zDk(~W;+Aj9m*rFPez{zJOAg8f^0V^e@`G}^e5ZVe91x}Nq_A{Y+Ah5(f%Kv@Rmzbb zlKMz@OYI!X9qS!C9Mz6S$M;Uj+1h!RO}1XQHd(*0?zC=j%y&$4jB#W+`Z{_z+B>f} zPdg7dKXtzCe9bx6IobJybEq>zBI1wYmtw70DZVeR5*Lay#PQ-tvA@_;>?qoVUu-9P z@hAAt`H!vdTDMsbSIgN;_Q6RxXdGYnQp6pSAz zw}Z67@__O~neq#Y>Tq$Y539oFA@a=fhlk7S`SKSA$^&_tgRG`dNFE|Df^C^{D_EZ? zN5OLXF`s@+qaS1NL&E;%gEv!-gC3c(3uX_Nw|$Z&^Nk8N)C0MPG8+`gSikRbqGM6|2Q=*?X|Q2A=}C*pw1#JCj2%k* zDOR{+1@R&l_e1Cf1(Ww)S%Rto*xK9`hQ0VWiX-@-6=wBo)x-vu%^JdY;8|&i5avVP zKHd+zRvH}&9Uyc+t^;wa$i3Jy{~@>!(`BJAHc+&R^rCDa^tU4m-!Et&uQrCw9g7&s zwAJJuXxgK8gHAyl{Mpqw6@_b_fr1O9TX|`be3>uL?xobfCT>xNLBAU14tS_WQOZZw zC^Kbv{-WZB{5nN~(My%q(7j%Xf;W$%%~wa1wlMRe(h6MliUKW=LH|lR!H7ty(@yD?0hNDU+vzEbLqO9P!l2(5Cm~teVKDNNk z7v#1OxU9&u-?rtyUsR-4_{uSnUE;t|q(0G}2CFjzL+}X<#km-gZ)0d4z!1Fx2a42b zokosFUSUZJSNAGQlDN8JmLzla3QK%ky~>h+ z&edC3TQw4o0h`WPjzIqjNY5(=jy*4QBIBSz0;Es)m zoM4|Xi3`8L5+4^1utev=`7H5r;R1%}>0Ed&OVYS-Axl!ZKzJUD{9O3ONaDp86lU_U z7vEx-&BI>op3TGP4dEM+?dV<{#?LIlp$2|pQ8E|)ktHcy_y?At#Oo|c<-*^y1Vw+x z5)^%nAv%h_%1o@Tqv|WH5vsn-5>(AbiH@Q#vNkCCTb7{cZ&-q&|LG32>^QM^RQ)w; zgsQ({h!0g?U5>$PbB`Ep~OHlM_ zh9sfrQ!GKzCy@kh@3(b5300q9jZpP*mZ0imEJ4u?EJ4xrEJ4wAEJ4vnDGA)pUwRU% zKEfE`0U%t<5>#Eo5)}OfOHgz*OHlM-mZ0cE1_>C)mLy$IM%4#dBUF8WC8&BoOHlMa zhNPhA&sl<^_p$^@x6jc2gYlNzIvjkP|VhM^4u>?g|u>?g|vIIp}+#&(9 zdq1k)$r$-j^$wPx>g_B+(c4&pqPMaHMSsc?6kUFs1dP%9QS~Rckx5YX$1FkBA2B2q zMQ>pVir&l;6upThD7vhf1nA`BZaDmUGcpJYdV?jXdL2t}WN)$rNBY9(HmHTqBpVxMZeDy6#YR2A-bN5sy~Et7E%VCouqa7 zJS$ntLxY|C6wq<$4VOlk>v}p$`v*%<{#usc7}u}_=V3KVu-8>AL1`-)5=ck=D;R{E zlkjqu;5-0JP;^No@zM2h8B0*~Yb-(0L6!ti^->n0>SC6l>LQk)=vP^SqF-SNihh|T zD0&G)bZ>wQGrK<@T^|>*MyPrrOHlMnEJ4u=Sc0PGM-sZDYE)U`=K_s{MX6k)!jd$u zQD#Xx*C;UrJ*H7)iOw|&Eb(!TJWGpw%BR;XP(gGoeoEWTWZ-H|rQNgob^uw?{Bnh7rs6B`W!fksDYX$mG z;S)<&Cy^8F+OkBS73VpgRKWcQHVP?L&>x>r9ij=9PX@Jx{sOXlH`^p_8e zL#&cTPo5qqdqY$qe;%*Fp;Y5+DW8XeWjF&h9~yS@EG%Ldc+R!K#v+qx5bBI4>7v~@ zFRpa+==^%iRQ23om`VPiz7nlA7~;f(;K@)@;nAgry*L^QG;G6_hX?D$eQ^SW>);uH zM|*G3&><`^Px`BG6+1LPmB9X*F)TbT^Ew`;C-x@E0-lp`jHz(4H_`F>72MOM1aOVR zgS2rh9=?otVe)al3tZbRw}!1)%+m14=CqV?c#ymcZ-lb6^V%%UVSmH!$6K$_cqg>L z8e=K53|3F56IFqf7>+v9a8#G{COYb2F$W!Wp%BY&=7(^nAgf5|B<22pbUyUoia8O! zH=(fN?=8M3=AyHP_VO_>`2#W>O=mOyhH+Cd>%Y1iHZwEA-LRP%th?zn3_=!+Z(ybAe{i zy(lqay=Io=056Zx_{dTtL(E~LM8{4svsKAmsaFr8^$Ok+y9e_JX@G%3GZ0Swttc|% zWH|NmF5EQExy;$kQQ;V=eXadnbJ^drr`rzO##n#0F1B{EY_Z&@o>nKTGFeIPQFbX0 z%NON*xs~*;)JLoppA`NjyduQ&pYRXB@X1Oin4B$3N^Wi;b#>2dB_6WRlT4~6)LQBu zEbFL2<9Q>2CYnJx^aAl2kK5s!%pSvIPTqt0Wa|YZr{0aXUU+?#zYv4ft6;89_{tbc zci{J_DKPmokzjK_4C~5nW^*z9F<(^P1ta>Cr+Dl%8DB!bOrb-`A#C)A{=|pSvs9q( zKNfNZU^1=5d&9^(yFNl?XK3~SvQ+T`Q97G%N zK>tDHX})qopq^D3BLq};`0lHw?C1a()Tfs?~3C~=j>jEw?X{2lLT9gX?E}Om*n#CIq zfIZP^{Nysu4W0Z35)U;!c)PK@VHdP^u%Pv=;8}tI9i%nXK8OkZ>J_uC0$DK|$FbUA z{8d9hD>~R)Nxz07>UN=d7#D_z)|^HUEvqt`i^3%DhnSG@y4^4$M4rMG`u~Wgf*YoWz=-g_m>8Tb{So2!A-0Ekh0ro$KL$59Pqk{@TQhVp7t5>s???1 zDEl~2`;i`k<}df-w*vbuybZ2BB6grbWrL}g@K=PwZPRUI_a%UyNxGC@8$yOC;@Ev& z$a#R^&E^#1hRaik6K)P6Dx4ZdT+nG4-k}y{5{2(+8m-SGamMpVNQuf*vd zX3~G$h*JR*n_pMUg*a|tDxr3Z5DobqcxSL?jJ^3voK|^;-iT8HPd8tP8yO;RpBxR1 zr_=)XPW1h`pGg*1JfGQ27KjxyVyO z<>OGi6diSAjgi~_+Oob}bsL$c|D6~{m=I#&uTi8kyjM$X*wp_3@5WpH##+)3OOMhL z{#0><(4js;UsgKoJ7T<^zci0hgXE*+9y&_*P63y!qjc@990j#UN$yZH?N6oNYNq{v zYI8KV{cU@Ot=cx$dc(TJ8fW>)Nc(x1_E(TZB^2SUz0q682{(i#LLC1w3@ws9#aW7x z20Sa}=wPY4gZb0Pb9KfG8fm`8aNVsuUm?Up*%9)XfmMxbYz z!>;*Ec7UhBKo3EvFK&vLG#GO|-1O}mSfT^P-*<3R-%n`|OiP}n*jjcBZY<&&(Af%37&S73#W{ZX=7iDz z5Hl5zI%)PFnnX7_)qE7xBx8!%ebQ{GHi!+yJ&((I+$rM)4g~ic-0ZGAWr!R=(_$Ks z(}qj*H|HwvwDGK8Fej>8NgGUyr%xL_-W#zVJa~p41aN(c!Xw524nmxq@31^Lo z?ahXV9bQFF>lH-Pt;|#@3a*~LmF}l2<~sMGS240ny15M2gs~+f%eTUPla4ivoq1WK zAu`oW0v(%-?)>I(UTQK2&$q@-8Wo(^#$x=9>iZ_6O0wy++2_nSES^hZgGI&dVBa~@ lMf$h79R~g{O%wM-A@abs_Dj>yor1qERi*MBO3ssB{|mt labels = new ArrayList<>(); List data = new ArrayList<>(); - - // 计算累计盈亏 - double totalProfit = 0.0; - + // 遍历每5分钟间隔 Calendar intervalCalendar = (Calendar) calendar.clone(); while (intervalCalendar.getTime().before(currentTime)) { @@ -79,20 +76,12 @@ public class ChartController { intervalProfit += item.getResultAmount(); } } - // 更新总盈亏 - totalProfit = intervalProfit; - data.add(totalProfit); + data.add(intervalProfit); // 增加5分钟 intervalCalendar.add(Calendar.MINUTE, 5); - } - - // 添加当前时间点的数据 - if (!labels.isEmpty()) { - String currentTimeLabel = DateFormatUtils.format(currentTime, "HH:mm"); - labels.add(currentTimeLabel); - data.add(totalProfit); + } // 如果没有今日数据,生成默认的5分钟间隔数据 diff --git a/src/main/java/com/tem/bocai/schedules/BetSchedule.java b/src/main/java/com/tem/bocai/schedules/BetSchedule.java index 205a6a0..3891e37 100644 --- a/src/main/java/com/tem/bocai/schedules/BetSchedule.java +++ b/src/main/java/com/tem/bocai/schedules/BetSchedule.java @@ -41,7 +41,7 @@ public class BetSchedule { private BetRecordRepository betRecordRepository; // 从7:02分钟起每5分钟执行一次 - @Scheduled(cron = "30 2/5 * * * ?") + // @Scheduled(cron = "30 2/5 * * * ?") public void placeBet() { LocalDateTime now = LocalDateTime.now(); int hour = now.getHour(); diff --git a/src/main/java/com/tem/bocai/schedules/CrawlerSchedule.java b/src/main/java/com/tem/bocai/schedules/CrawlerSchedule.java index e76eaf1..bf76568 100644 --- a/src/main/java/com/tem/bocai/schedules/CrawlerSchedule.java +++ b/src/main/java/com/tem/bocai/schedules/CrawlerSchedule.java @@ -43,7 +43,7 @@ public class CrawlerSchedule { /*@Scheduled(cron = "0 6-59/5 7-23 * * ?") @Scheduled(cron = "0 0-55/5 0-6 * * ?")*/ // 从7:00分30秒起每5分钟执行一次 - @Scheduled(cron = "30 0/5 * * * ?") + // @Scheduled(cron = "30 0/5 * * * ?") public void executeLotteryDraw() { log.info("开始爬取开奖结果"); int retryCount = 0; @@ -110,7 +110,7 @@ public class CrawlerSchedule { } - @Scheduled(cron = "55 0/5 * * * ?") + // @Scheduled(cron = "55 0/5 * * * ?") //@Scheduled(cron = "*/9 * * * * ?") public void executePksHistory() { log.info("开始获取历史开奖结果"); diff --git a/src/main/java/com/tem/bocai/schedules/ExBetScriptSchedule.java b/src/main/java/com/tem/bocai/schedules/ExBetScriptSchedule.java index 8c6a7b6..414b6d9 100644 --- a/src/main/java/com/tem/bocai/schedules/ExBetScriptSchedule.java +++ b/src/main/java/com/tem/bocai/schedules/ExBetScriptSchedule.java @@ -125,7 +125,7 @@ public class ExBetScriptSchedule { } // 从7:01分钟起每5分钟执行一次 - @Scheduled(cron = "30 1/5 * * * ?") + // @Scheduled(cron = "30 1/5 * * * ?") public void executePythonScript() { LocalDateTime now = LocalDateTime.now(); int hour = now.getHour(); diff --git a/src/main/java/com/tem/bocai/util/HttpClientExample.java b/src/main/java/com/tem/bocai/util/HttpClientExample.java index d222a85..20abfdb 100644 --- a/src/main/java/com/tem/bocai/util/HttpClientExample.java +++ b/src/main/java/com/tem/bocai/util/HttpClientExample.java @@ -4,22 +4,6 @@ import com.fasterxml.jackson.databind.JsonNode; import com.fasterxml.jackson.databind.ObjectMapper; import com.fasterxml.jackson.databind.SerializationFeature; import lombok.extern.slf4j.Slf4j; -import org.apache.hc.client5.http.classic.methods.HttpGet; -import org.apache.hc.client5.http.config.RequestConfig; -import org.apache.hc.client5.http.impl.classic.CloseableHttpClient; -import org.apache.hc.client5.http.impl.classic.CloseableHttpResponse; -import org.apache.hc.client5.http.impl.classic.HttpClients; -import org.apache.hc.client5.http.impl.io.PoolingHttpClientConnectionManager; -import org.apache.hc.client5.http.impl.io.PoolingHttpClientConnectionManagerBuilder; -import org.apache.hc.client5.http.ssl.NoopHostnameVerifier; -import org.apache.hc.client5.http.ssl.SSLConnectionSocketFactory; -import org.apache.hc.core5.http.HttpEntity; -import org.apache.hc.core5.http.ParseException; -import org.apache.hc.core5.http.io.entity.EntityUtils; -import org.apache.hc.core5.ssl.SSLContexts; -import org.apache.hc.core5.ssl.TrustStrategy; -import org.apache.hc.core5.util.Timeout; -import org.springframework.beans.factory.annotation.Value; import javax.net.ssl.SSLContext; import java.io.BufferedReader; diff --git a/src/main/resources/application.properties b/src/main/resources/application.properties index b3cfcf5..e4670ac 100644 --- a/src/main/resources/application.properties +++ b/src/main/resources/application.properties @@ -10,4 +10,4 @@ spring.jpa.show-sql=true spring.jpa.database-platform=org.hibernate.community.dialect.SQLiteDialect spring.jpa.properties.hibernate.jdbc.lob.non_contextual_creation=true -pypath:c:/py/PyModel \ No newline at end of file +pypath:D:/py/PyModel \ No newline at end of file