From 58423eb31a7dd74a442f7d9c146ca687b189117f Mon Sep 17 00:00:00 2001 From: R524809 Date: Wed, 24 Dec 2025 14:51:17 +0800 Subject: [PATCH] =?UTF-8?q?feat:2.6.2=20=E5=A2=9E=E5=8A=A0=E6=95=B0?= =?UTF-8?q?=E5=AD=97=E7=82=B9=E8=BF=9E=E7=BA=BF=E3=80=81=E6=95=B0=E7=89=A9?= =?UTF-8?q?=E5=A1=AB=E5=86=99=E7=AD=89=E6=B6=82=E8=89=B2=E5=8D=A1?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- miniprogram/app.json | 1 + .../assets/focusEntrance/dot-connect.png | Bin 0 -> 23090 bytes .../mathEntrance/number-object-fill.png | Bin 0 -> 50242 bytes miniprogram/constants/focusFunctions.ts | 11 +- miniprogram/constants/mathFunctions.ts | 10 +- .../focusPages/colorPattern/colorPattern.ts | 2 +- .../focusPages/dotConnect/dotConnect.json | 13 ++ .../focusPages/dotConnect/dotConnect.ts | 180 +++++++++++++++ .../focusPages/dotConnect/dotConnect.wxml | 6 + .../focusPages/dotConnect/dotConnect.wxss | 1 + .../shared/service/dotConnectDraw.ts | 212 ++++++++++++++++++ .../numberObjectMatch/numberObjectMatch.json | 3 +- .../numberObjectMatch/numberObjectMatch.ts | 39 +++- .../numberObjectMatch/numberObjectMatch.wxml | 2 +- .../shared/service/numberObjectMatchDraw.ts | 137 ++++++++++- project.private.config.json | 11 +- 16 files changed, 610 insertions(+), 18 deletions(-) create mode 100644 miniprogram/assets/focusEntrance/dot-connect.png create mode 100644 miniprogram/assets/mathEntrance/number-object-fill.png create mode 100644 miniprogram/focusPages/dotConnect/dotConnect.json create mode 100644 miniprogram/focusPages/dotConnect/dotConnect.ts create mode 100644 miniprogram/focusPages/dotConnect/dotConnect.wxml create mode 100644 miniprogram/focusPages/dotConnect/dotConnect.wxss create mode 100644 miniprogram/focusPages/shared/service/dotConnectDraw.ts diff --git a/miniprogram/app.json b/miniprogram/app.json index d8f7bd5..d7e3575 100644 --- a/miniprogram/app.json +++ b/miniprogram/app.json @@ -36,6 +36,7 @@ "lineRecognition/lineRecognition", "gridReasoning/gridReasoning", "codeConnect/codeConnect", + "dotConnect/dotConnect", "colorShapeMatch/colorShapeMatch" ], "independent": false diff --git a/miniprogram/assets/focusEntrance/dot-connect.png b/miniprogram/assets/focusEntrance/dot-connect.png new file mode 100644 index 0000000000000000000000000000000000000000..a27eedf7427203910f265cccc7f628b9bbf379e9 GIT binary patch literal 23090 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 Ol$QGA2SsX@Z~p_kVkFW4 literal 0 HcmV?d00001 diff --git a/miniprogram/assets/mathEntrance/number-object-fill.png b/miniprogram/assets/mathEntrance/number-object-fill.png new file mode 100644 index 0000000000000000000000000000000000000000..56c5fa39a48dc8614a5082fbccc44a91f974f1ca GIT binary patch literal 50242 zcmdRVMOYk6&?XWH9(3>!B-jiZ7(BRZ(7^}S0fGc~3GNIQAZTy~cTI2zKEZ-RaChDB z-{;xG-uJS7>aIg|bys&)SJm558fxxv}IrZcRM;dDlRU*zq|hR>nAxm`PkSPHa7P5_V(q)#q!b;5C}Zn+v@0OXJll& zyS{XHck}ghkNz6I^k+6KG*nbnBsDeF*VotD+FDUj{#$l-eSLjJMTLQZJ})nCOiaw^ z;IH=P22@m39UYzWAH@z14zsf}S?Osy8VXTfPM7yLbBBK`R>v!bzeA_9`F}*S7lms# ze%rk|g{HbhmFmK)EIBfLkQpjBsqzO68goBW_nKh4<;i=K^+zL#Cz~S|>s^=s7WW#f z4rhjLyri~L0ybm4sv`CN49J&N>i($^+A9&BwPD#z=05u^GW=O1y;MIwLu1;R!!1TB zGM5Oz!sL;PB^{tt{})GII21>*Peu48m;}IlQ~IcyWBNgd8f0 zv?;ZrsP6lV!_!b5KiJVYqQjK#NeK_7{1d|$`~J<-mpsFs zqD7zPm-5?IMW(VE*QJi|xq;TUAMlD4pXTb)jQGf3DvaZ*^w|c~PQDa_&80tL-P8Px z$}?i-#s-qZyyFe|Y+;-TM~=($qwyl2BxC+0JLSggh)jRu3_pu+;r2yQ_6fEhX0#Z> zBPdeLMc}sbkr4izP>aF{tA)()T6N%z0n?xk?O42fhC8G=!KLJ@{d`mDv>JVlHqFc@ zx&<}H8dt5^Qok5C{rQ+L+o>VrDslm2`KA=jV;v- z4Ya^u=JO_*uu}ElVpY!!c}j{myb^Q{ww3_}O19ym5LfUCLS#r&Xkzj=45A_`3p{TS z)3X(d(p8u$@*Pf((4Zi92C{#qry2o+XZXRhBBFofaONZ3_)Xu=TlMwd-K-@_8ZvC@!JssVwxI`}9fi_}0Aj~WFf2t`pwQrm0s@CjQ&Td(OPp<9dQ7dsjN2MrB};N6!W4_|KjvoU2u zpB0?MPlqqt-{1{dq;kvjzT;(|L$iNE$5KG&=O%rph=nyGOTvsz5dmgD5pGh#426Cz zl__5G3Vdn2DPu3ss06QzpMB^RpIqj(Qv| z%B<~Ej{{J%I}Q5{6Bqwsl3#_^@)#;JyM<58pXVG8Szy;urItv=PlZO zEOIGDL53y8r&fQxFD{GexH4>*{8OwxO4ca4mw$x7of9?O;VzApYh<{sKeyR`TD6+@ z6C2f43g}isYPIjHpK;3IZV+7E3|B$T54G<7ILdeGje3<{(x1f#fVz-j)7@&LCg?{; z=o$M$i7rUu#DUT*bIg!uHO$9er4-~kjN>p5wAqeMb6LBvlG$~r|5p_>j?k;rSk4%a zCff=7tyFXeT#aUC@Gmr3BgoviH+Z7;=pw)tNbq}HIx;nucwqa?LwW9$dC4rx$p{t5lr=? zqTBo}O%^ixt}SdY+M6a>#tfwu8VCgMki6b8gf5Zp7u)Rpa{fUMSo5hS>Y2>qoK+j?)hWkLLN)@YEg# zm2}Sjn)MNL2OIX+4qbKdvd?W>nieR^zEMPq-=l+yR9*g6A$p)yVL#JxdP91rjbGK7 z)b^o>8JHnJ^O(T6c};z8C|k5uv2uL>ZxC>QYL*m-e63DORmMCDTvkyPvb_P)ALhyX z8b?N54It2chcHkAp=I}EHk+4~l|3hu)d`N$bOnF;`p&3qtOgIX&>j?YOaW20f^smX z6{#&i#8%Z3CwbGywKG_N0dfMMnwcz}G|435G`X?oV6VpUM$gWqKq zsxoJc6_A{3JEJOfU~vbxlm!In)rUr`Nu?{NTeW#@^Tyb~Mq{_?dYdXC=Ea4Dg$Za? z{Xsvefhzyasn25?xQ*kmaDz%`>&fsceTdrleus%3UD>&e!zX5TD)`Ti@DNjmK`3CT zm!XpEaWdJ4Hm{&z;E^TFphONqPh#AsasReMikZ9;h~{v|>oSK6-!o*JiRcM|9L5!E z@&J@2E3JfI4bDPravO521Wl>Msi=t$y(7ZL{mM&YRfWRhq-N|it6s%Ja0hVcKz+Q# zl&H#-5N1r^PG_xo(j$2Za3|a0Cl}m>6nu`Uj0rG;%z{&8?U0)xH~PW-(_p#oOy{bq zdaNTky4R-_JQ}#)s}R3j`$dgUJtFD%0>)86A7-!7ouhgf796Kl%wE84ZAKmh>)UBK z(7kzLT-aDTaog^67Nvy6Qsf$niZ#^!`*(6Q%ApVtzX0DmU3>L*w!_CtI2Tf%xqZ?R z9V-a76Z(@oIYhQPY~CyFk%dN!*1|1YbumO<)P(ucLikhaR7InTL4VZ|HM%NO}EpzQymUJu_ z6K*LCh*{`jZpD;(k8meoPY#3xlq13h94&58nc>mXiznl$iFkJ_nOf^kSOE~; z#NQ!a#)A-i`GiYzx?wXv^O-j|FPQ5?wm6-BbsCmGF>M?_HZ%#7Ig+c8Y;?^Fgry&A z^}f)yi>6Xw?MF?Xc2sSpo&khYI(=~w&A6DOWO)Zj%&ygSZyF1t+WA9?FY??GSO`=DeuYaZIi4>%h@Yt`M% zD=1v2*hH2DXDxUZk~t&jTQ(Lc7@dU^EMl;En!zleD+p;(wG)ard;55D%Vnr#zJ&93))yV&-OGvm$b`(Cva9fB$MsueG*=|UG&5J`pZ@D13Y zExdF$u_rvys*U2X0FiO(%IG(MN>R-d3NzWsQc)$!OceyD@X$RsKiwrWd(|I8IADUaO?UZ zfMmy*_1nX7DwG*YbmeTZDf3$VLCbeXnqK&P91v@yrePz6@y^^u9F~7%N8nR-;9dHv z+0*FB>LYso1LjxmEaxcB_j+`u8paOwWzE<;MA_T|LCihT7-82+b|379quD8rv82L;)RsIRYyC>gti>RBZgqji?aL$Q)v~<- zVk}*;(3bdS34*47DE=s?l$Kg0@X{0UhO_`iJ#*)*@|XJ+wK?tznYlfRvL5mce%gxP zRJ8YKaVDCU+c(*CMIz8vIIH7!=8g9nZj~NHEAwW~H8i;33$^#hX;LA2i`kr_c$dQI z5Z=5J%^FyvIVB%?T%$(rPb&YS1pDA;rNjPDgUMy6LsWhuv$<)}1FooM1-g3M%2j*D z>kx9RJ4_1l&HituFVCKvmk*|H07K%o^G~PB>6xlC_jNLyQnaMR5=V!f~etQmOls zFwp?o;PWwl&%Nh`L%N$8hPBMjhmZ^YtN9INX3;DZSe8_`G)MOaeud-F#%^j~Mre^_ z%Zi@gNs7ktJNxCl9sB->PB82)q`&Sg@S9!DUtZhkTJrDju!4&PoH6$4c%{FiLU!u5 zn2p|r%LTcfRx^57!+8;xN&XGV*JKQF{Se@1XhIkV9Lak%(7q4qk5eHvSU39!ELsq; zYeW5w?ydV_R?O}q;)fH2pp>vls`0yl^MvShi~G zeokL~s`zX0{^{U^e$ssWC!>ucK)j;6kA{C#ccTa3N#c-?f=z?ubYggJo)TVQ)Gj~g$LGy z+hsn_fUtVuiEIDaiA;*|y?ELQV9j3d#?V`p)gVa!&YSL+zulcz@>UBXkI&8BPigqW zQrNHeZWaKTTJA?E_`2WT19h{wAQ6KDi824|Bn{oVuBl7wzqZ)}(?PmU9jdQl&NDC4 zc&#Za`*Ct@-VRD-nbn!t@;YOh)eoZ`u1+S6OOu7vLxe+OQ}MI)M@;J6gQeaujS_d= zVxIoymG%D6A4kchU+2|zKG~yZFcZ=b|H{;cISKfCCsZNR$E94~rH}lm~@qlotV1r&L<2Mv!o5z91(&?LuI1O(pznU7D1mXwhN9wYN zIzFCH<&*btc->k44kq(}Qck0sGI`t*&fxUWkSk3)7>Oil^YUPuPv_LH`(@A>Ak{&R zewX1OJu>YAFxOR>Nh__j3+|J4Kvxd`yI+&~2kUQ|lCPzt*3>RPC2#2EA;qZm9`(h) z%&Y~M#NI3voKj4!#@urg&h20q-$AEIC!>wk;kbFybFy(({{8595~eM z^)Qeh82nBdheDH_pX1RSp6=tEMTCW`R(E$>)U0a*ZX7iAmW)Odtx#$Y&hMPLNx-I_ zst&b+Vb!&cqz}X}A;*JEbeGVSO2`xV>iz zIv3DHAYnefoA+1Qf4V!*5~!b9U&qW^)tjWOFUM*pvO|+-k|*bqLc_nUw~1H3Z2Amd z#qXw(f(Dd$G$&`FNseND18Cvv%($Qh+#N;Z^_L5I@8iFBIpXob#i7i>c7?s@Z7RFJ zZK)8Toz7nUHk9|6S9%8p!&jP!m8To=&W9J)NVJ1LEh1mzlHmjJ^5bt)6%}Q@QuMd; zBcdP}E&Jb7WcQ1Ddh<%7uR|=zt}Xa;cr0m=Qf&Y9d%$?Mjq1j$J;Q_N-M0SY)m0tL zgPUJcZck}&mBpMS?Fmff!7nSK@Mm^o;)lLK|C`m9KQH&Df%h}IRtSys`071sT#EYs z$ms@X(r8us-T{}aRxUO?>5Q(2{CO!asN$vA7C{K)%WXs{hZsb&|&zD%)x*;puN=}bw(D3r$0qkCHHDcNF6j9Dy)$CoXqK^4B2Om8{dt^Z z>hh&8aCiOXDKHpFkTs6}F=ce8RLD4Zs-oPcMXIX*LZw(JY}>KVmFM3Zl9Isx1o+l3 zXRAthh>~ed&se#~QrX3`x`;XP79kfgWZU(=_c`qx53$;P2Lzjmu0}Fl=H8TX`y~D6 z(+%Y2Ym@G2Z~>B>S>2J7c{S3H`{S!xj!&cAD7s55o3n$$ zD+>k2L&P{Ki!B0g3s{h~OXz4H0JgJ}fn|oKyF)(#W7IjDDD$0FAoGL+1}TBPu`ml& z0}htU?ao4YMUZ=8?YeZ^qUO5Wq`n#j$3F@;2&U$w5S*7I%RLukGz>@INmu}`>7)%dPg9vSW%GKm4+L#SmFq;uC8vRH1Q2ZNCD0Es43Q7`x6ISS;T3%R^Y3| za+@udD9AbDI#{?}4C~>ngJuPqXTvw^a?Lq#K763oLQ45dDf?KBUB)#e=IGsGnuL!p zE|NO;4rE!FJDJJsD*cEgqH%!j3G=0Fj)xHbnjab(TBLf0^y(WX45z9ldWAF+G`_#= zsg>a6o$E`mWx>RP&}!N7N2Ku7L7b%ORM?;}mpe#S)~0-1({3IHd}ZVgcL5Gm{XBKR zVL_w|2s`$p{p$?|U$}ehP}c2anzi3EgY^P$=jZ|+=(@A4-HLdYBz%dexut*<>-tt2 zU+yuPmZ-QkP@qYrmny~NuZ(%(Ya8R!($c!hC?C_n!ipqTF&H~4%Fn=LZf>0x6eP_n zKrfhw9{YoXaZ@l6yLEL}S8nZlDb|8ZZ zq*`iNNdbC|P(UxNJ%BYu8ekatv{*+l0|we$^2gU+vr1dQm>MCNS|L`2g%(!OlEP4U zFW(f))p!}lJ{ri#FJNF+VCos-B}rTcsKajRDr=&TL2yf4;pa4F#wB5dQG-h=&d@X~ zR0nZJX0_wOy{z9LHw54*B_;RPUS$eliA{jsIwp^uy*l#U0$=Qmj^NWi*Fp4vZKmbsZpo1@&6$kTM9helF~~PiGW6 zWtby5JUFCdShl^P*ak8H(e-R+G)T9sqiQ`zQ&e~_!-0-4w7bzvIc$nO-f>Q^ zi2zgCpmP93x+XEF+OP0cHZ7zW0~2?Hg+%LbII;wD`u%F9J3iYR3s`y0k2njEzk@Q; zl~qppK&Ju%UVGn@_8sa>Z)6n8R@Y{L+X&!nnC0iOO2SOR_@j%gP~lK@2dSiQax1UC z8v7pKSlx;}D4~Y~KNLN!t&i2^;;TbW^M`Zey8Hw2Y0REuFWDSG4h}*xB?Z!x+Z?24 zwsj$1A&4X*#XAYRSPZD7A^K}?gIi`8!fPyC_BBk!@wUsMF!ev5sJ8+^57`U2>=f8!E06J%upm806- zg-}pad`G^wPhJ@6SZ1dlF_+|n+Co8wuM*;*e7Pua{B10aCBh!_Yz}!DeJYZQG$e5Y zPaSd~?$s6!tn_>?ol~mZB6>OGeUMexq~-Z_Q*kh7hB5~X!8=d7y9-pxhB#F@Ta57h z0V7OQK_LfSBX~UwFa;7^gghw(w4myKdTW5LjJ4v?sH<=2Ryp}`0gU57quRuYx>6Md zV8^m^?;epjgXrVNRaGiRsue-^^y}#tXC;x7wrO~vDxEgr|JaZ)!jmwT#`+eiGH93R zmgZ-rW}e#1@h%O!9EZ&v2+Ch?C8wn}N_nPO9DIuU68fI$?6oB#5%}uKdY>cdzG$2Q z&^C!F+=9<_v>l}UR5ljj)6!V%)xksQ!f78v0kqICdT+Q2c+0h_equG39L z#lamLC*;z_1ZlaiF$MKA<5ew8Qc14IfaM|zf%rS?hYO|a(AH%cQ{304E%+8;&k(h? zT}})@W0wF1JSn(Vdwyg;iwYt|JCz=SVU0yK!6cJR;{bdGpb)`&KJ6hv{0RH_wG%7A z#?h(4$iWdN-PBmTBch_+p_oEn7W05U)yEE^br&D4b&tYt!x(XX*?iOee3h+T#E%al z1Y}A$hIJ%fL7)~E9OF8Qz0T;nAodNm|+b@L%q;ULx@4)#y?Ke zNJCslqmPRvi?^TEX7F8^0EHw;6K9$u+%O*0A`umx^o<%{&X{s^UeYj|*)p5^&z`xu+S75uD|T0vH@3HAoA4OKwEprpUi! zz@}E8-^0tx*aC(wVM&+2;uwGD^~32{*t?#Ppl4`|Vu7Jhad?Ku&=zVPAzCTqguee@ zB3BEynim%oR!d2S7DChuCWA7MgH+>sEt5}~w@1dOsxWj74fl34R8iqgU9Pe3U&7F0 z`1(GCsm8J)G|DL@3}A|t1H*hHWCcdGJZLe(D9WWdH0a-kc|WoLuvsySAwak^<0>}| z@u=x#Gg_2SlpNP7J!bXU8&pr0Wl8dUr)lSJ@|0@{w}7(4_7bCyK3q#FkDM85mV5>c zFpzT;VM!Nbr{hzpjV8tLgpS&vr+q8hpmIYuevAzDJf#wLp%+>!F3rFfg)i8%OAmoF z{ru^HEss04dOIa45jQ?i57?wU__n~7dN13S(twLa_os7@ZQN^I8@d*`-6&KKv>jw! zy+8&YC`YFh9|nyzh+`gDEXvPR5q8{<9INU*E}%};gjVtPd}@#HYN(}0$8C}U4bpcK zDH;^a2=rYUyh%@pFG~|8_~wf^#h6Q{WaDG`8mETQNX+*1-?RPsx_M$BWNDb4L7hL_ z+*(#PH;<7jTcnAAM3Mj(`n1|gNMRPx;YSosV>`az$l74f^>fPM<6$KaGBbL_7@orH zFgjoq6PAdp>Qp~xK(SkPjz5632Cyz$P-YmY0am#L8u{cgV;W?>pks%4Lh-%5wXX(3 z`*|U@W*v#)GtVvfwxNrj6;+K>=)VEfKnxLFRo#X8*!QCP5$DtzFEx#`#%D+mAWk3nq-1*<`X2cI~4?;A|~|uhFOh%e1R@ zC!QDrx^3k#3P8bS=YK6YBkc_WRrhYO(M+T1A7qh5RzT-B!3e5?i^M*u_ z$!1)i>j*kvK=m^?XQyj<`5UGMB<@bOr^l(NhwklAK^$6uC5b_~)oGNQBiGn>aDg7l zj<_yl(dbjsJ-j5Qp|O%9?t8q0x~tYJtXP%Hsryi9{yb)j8+Fgd_pRbCo;C;^IW&a| zfs(D?_yCxZ2D)%0LNS@IzKNksfyTB^DhG|E9Zv{>KA)POg!Z_2zr&10Lc7MA ziaao^j~kR?EJIFpXu!UY80Z-uc!xIP7;Ct7RQ{V6OiJ4a z1(rJ4#p~%I0{O>J4O!B=?3M}h@Y#um*jN`E#t{oMPWRqL zLn)%YN%GADteCyc<+*O(YNvz8Ue)|5a@2m3>fu zqdYX}fF|!Im^*n-2W50=c*=%R)XClZ!J7_;G1CMC0j{h!eXSc~WHTXSz!htPjW9Ao z!hC&m3MZB(9uz2suh@ec34$Aculy4mfOZP{==V-j`|fXTZYXpd9UN>(Yt1CCdtm-Y zK40SW-FbmeyqtNSE^O4V!#KqraG*n)rd&YCuWN}AEWC4E0&I_~d7|rQ_|41K8sXb& zfoxSwwX?3ko{NtQ=^9)dkVC9@y?_5Y$Xjm3m%jOOyxi!Zr|mxG*yEbTj=R&6&8&6H zeo%~YAT51M@|L=t#a$gTAK%h>c6OFui(QWr`H(<4|V~C!a8T~zZ zAv7;UfngpfylA$pD{#Eh3ESuzlHQZ`3ozesLd}~X$C=)>r8^$|-ZP>gC8F~C4N+A8 z9owaZsHe|e55t?$Tq{7j3>=W^<5hI-l|&~aKX@FS08B+E33vy#mp7ucl~2_R=^lHP z=oB2xGez>#Z}3+Xy>P3TI_uU220;`7aR69cB%3R@d|S}%b36lr(110RIEjn1h83JZReLqU0PyK5#jupVa3HiFVOV#Y0HQ1}qB zOsNNgos~i#r~(K|%jB#s6AO6ss)D3mci{Sb`JZJHa88H<=qM@miStG((CRkUdH6qq zgdOEA?RAU}QMazq3Olc7W#MgYfZ0IJgr22M&Z`LQsdXr#AaoFx+Ac!0wYHX_%_*ac zLzAZgIa*soP_s>~e~2a1B#^KF;l|3ShXZKoJEGraiDy)l+2d*+_QCFDV7S)HQ&Ej` zM)~g5@$w&P4@Hn}P>wtTp5~uLwUdit`Z@CXdn`HS-oAlOLd%AZY``hY$X%i||Ucy!dzaAO6p(oq$FHlqMHpHkztIp=Y|bPo!_~wMXg;Og^7lX5~2; ztHL&D)PI?|HJ(%oO@{RTb>NEZHO}*UYn@FjMrdbS^-Se3C^16f59osY33ze)Ae z7~(|!3eAmTBb&H-%!_l`%M`>JBDq*2V{v1|PM_s5iq{^$pz;LwI(?GRPLpS=`OlpV zR(ut#xD2(G_&pwn1{AiIdKjJ}+*q@Pr6^eBn3&~ zJxI33{HoP;$|{-XRT*^{CXD&TAfww_v?0has_!?e{!_NZqRrsv`nvmnX04AQMa`dP zbtuHfCpi9PM&Mby++pE$kNRyeqEpnwUq@$)CuIH>@TQnaNxJj<`&|GnEfqQS(YE-) z4%%q=BQw2hJYncBE@G@O*tlQWmPvB-R>Bq&hCNF4n+eOv{({1|Bh@?BukTUI<3;qg z{>A$LTrxxtZ+sk$CrD{+$Nhd)nPdrZ)O$AL+K8=G_`j@?7h?U+$&T zfwnx@+#C9Df1j%LCy=layYM4wOxhav!p=x=dJ{>SYDmHPNE4%MP$EKc!^n`s5iTNW zH|laI>+L%2h+h5uQZ0$KrmV1vs0W8gPnT3gnO#;0wD4~!o;JIeQ=ut7d}03$N98=} zLvRx;2X^FUQ)gn1V4_R&d;Y|qKJUpLxt3e?JSsn_R2g%@pvb@tZm7m7sHkdD5x74! z5;Hp3(1@lN6s`_XcfSliRcuN}`-PR|iq|bXm9=T(OBkH?cbRE#Uzpx8IXEozo+mF- z)o|*t%_l@lhLWE@$HxAAhDdKC@p43IYRXawZRPI=ipHOH+(&y)6+eFbGxhcTt-rs^ zDgNl;_QmZh2Ra-_>7LbH{SfuL)k9VxKi%E8)#1&v>*F)D4BpO-{T|C==JgX;gFNI;y|>K*pv6(M>7(r;rXSeh!$MVllA12U;i`u9-`m<6RfCJqLK5P~zJYid#E%@~ z1UGHf#y`FI@#wl{g^)3|3siJ|I{qpaXx#p#>Th_=_m2}FUTzL*UJgcgcACCiFB|8i zQ-B!e|Bn8pweeLLy!bcKuB&slVQ$ePgUHsSlwwQ6QC+!aD=q(bCS}p1l7ww_c5<&y zOQBQHQL3?Xbo&U-M^Mf(N!w~x*BQELi>&b^war>+#48-qO}cV(KsSqjQh<^aDz|QF z+UGdQf4T)?lycq}w?@xCcsMIhFwEpO?GXGF>Ja?z5WS*Q(cH7E?i}S`4Jj{g(|Dx| zy?mXgjjI2LEePDw!_v{&PTXT&<=+en$O=aPYEaA}#rEM5{4r2eHl>VJ{x9F%sxE!a zRyrE%_K)J?B0(p2_p#xYBziPj%}4XvMNH-HK_`wT9dfQ4<4*4j`&A6X>~Ic;ngDMn z&YE#$e7I5kA17nYTyXZBsb96`o?bNF_>GGPY`cr9hlqn!OF}A1hEu9)75a0;OHm63(@L-33M*=K{6`4cDUJ)n`sC=^dup{tJwv(&EE(dQ6B(y{!-_6Mr za#xA?%M;8DeSHn%h;>>yUZ|nXF5@G$8Fv@7*Tl}`@-e7O*v1;MBiQzqqYa5?T zO|KMF-7WJ19rcZewXxjia8N2qj8Wi-)>fTxf!^Z0unJSB#i?t{FFmSBLx!?lxE989BDmwp#dRi@ zm~H-5S6>~px5bn5H?o1z%c^_NzOgmD#gMd&qY8yzAsalvN6MpiV-7_BV$P`y&s~3) z6weO9Al0n$1TQ59Y1tS>pSfi8a-TZ=)46M+BKG7!$Dt8I7CSLKY!)h%RwFz%~MZfuvEdN+cdc8*v?BZhM5W7vp7vUD%u(eRF z#u_}Gx7{AmA_)F{pyOUwWOcILRiP*La8GCwS<(2V^Ilir??gU+<+W(x-a7G&k_8mD zES6?GvYg`u77!3q-K;X!tmE$z8FKzxW%v&jM5+*euued0dq3A3h-ynub(*B}xt1qY zOcFX*td{A@gpTwi`xEfFKr}?*$25Kl+I#)(z^}~ zLeG#SXsip7>>t$O<@ZVV@ezCAG-~l%56Pj`XuPiZ2Tuw6a$*{HIw)*YP36#Z`y;)i z=X^zM!B4%DhL5g>VTvACpn^}FYoeWr-(wVDN}eG6XIhhw0@y3I2;{4qZEPTjgSmvP z9gxh1W=J&B2|DFpU6qv^v4}sX0+h>j^W7Z*R26uMML*~w68#ztzPM3-U-8qcH*<}exhR~xrC)&Ktav#_BW#AmN(OY^41wQ6Z8PO9=^ULGK< zL9gp&X5>HTp~LX;9Bap3xGqe}+bE&#?Q+Aw@8A6U{6S<&j4c~W&h=6O2xUCks9&*$dNrC`Y-Qy&v6A0;(4C7+Zd z0G1q32Be@+9RA$LWrE3o70>7qc^8RmWsSs33>9$>yD^Qm#365T{l@b^IgLgog2u%{Ur1$ zA9NRw2?U;on>1h-AEr(0-=ZVwaNk93)!Wq9)kzufo;wgi7_b_)97bW)I_2Zd=i#G++Uw$V@Ai?}5)4>gP6cu~9m0IuZ9T&$h zAVVKVU#cuD%|vyuuoob2WmC#j2(R5rQ*%DKri58qPeUqP41>^fPxQ5C*|TRgQ?Wi0 zPK*FGN4Nmnw%}=le;cj`29{z}v9Zkl!Jo=2E)auullXu9yhZii@ZonKlkoYJEG{Rz6HqaCNk{q>#UpK93WstV=pGfjHP z&FR&`JL*qv&mFH%b@g<*$%oM1+%=6D#tFuikZRh5F?#H`T(~lvtD)=Wuw-W!Z=#Ia z%ur@ghWSvoDhf~myT?bW>_oHF<1_$K7lUwTlt7_S|8EX=O6zm`@NBMs9epUliCm8M z<4!PHp#2&`7s65I1am5>i(Hu2g*(pDbh8SuNPWPK?et%ug&-=NyK@|H*R8aZ-2dyn1}rcu1b;6%|*${8Nz>9=~s55I3Ej&!7kVLp40V^i8}F*_ST?+xRq+ne1P(b{6Spp(~$YMJtS? zWW|%Fu{8cAEF7Hzm5P}d{$ll30XirmgY8i$tT$0!@w+kdNh!o={DcS4At zY!bDm>tXz=S}Of5=ZqqvnrU~Nn81v25VsKfw1i#3yjJe*i$KZI+CH3kw`ZuN?;Xca z$zLjMkSfrWO0?i%^c4HE5B@%yIl6w{EeSK)K-P``)Pmx7MkFaAV^tyHeD|@VB?3{U zvtb0Z&E@8mm|_FiS;q0O4Bj02Pdvz!DAA;CE`Lw1da=n7%cx4A$(hAHyhewt5*nq3 zIOMck#;gjU!0G1g5Rm%lm0AXN*6NQHj=eLwy(H|I`j)i@n{}lmCw8CWk=^GFIqfR& zogN1C(5H~QAJHSd^gBCS=8jomgyz`Ui&=F)h@GYK*o+<7-apCvaGey$49E2#&tBWrz|LV=uUaurqT*{@#0OG2DEfFq|mN^euf2+4@ zo_TXK9~&s`+4Q=+j!%S72%|=iIbjwRWS_gjG@$eeO%;T(eVJ3VbP}Ub9Gw$^i4ON8 z-)#}HJnj}p@Aeb-V$m@qEcEAX?5aor^fh|ft<(7S~FWNSF|6{d2I*>K7U8zZ>~85)HD&K2>CUw#|v@dsI+ z{V;QI#itqYwc$!sz@|$h1)7w$P=&KDB$^Zl`t;USh^SJD-$q@v1Vzzvn0zqaLw)0n zy{lqn(O;#&DV}F{Yj`F|?OlT_3r`u-uWMUVp+}_t;BgxzrTK_C{{{$vpJKzU&U+wxk|pU8{xt zzWyEmA;rbJu=5F1bl%O4$^ zpT*QBmhp3@-a)dn;srfD$OLjE>VMq!?O2-~P)N-zf&vUCK>){m)vq@-`uOBc+hax0 zS`YjrS;)-PijeQi2FnOx;iIjtZcJY)VmW$oV`Fi%v2jqK4EFizWs$em;S?cq9nNHE zxEiqo>R|4@FR1@7n(@B7ujUH#x}Vivs89p}G9UV?iN=ikSH#DIEC`g96|@V4s-NGlwpno>Qf z9|A(&S67of?pVvZGdJs6NPZL#Q3z~Jcg@Lp1Us+zfeSkr4wg3R`^hXm=({1wJv}@` z%85)qGXfTyn)3`xi!B^HwdDUyYUq{ml>M=|X@vRy?8y-cm6rAtK~8!NzQqsOc3*D& z4?25gJeYucO6-N>{d!yWG<7jjkV+(sr8Q{B#R@?#Kgg~|N-m=8Itol=AH688J-OTe z>LmQnX_dCa&1UUH+%It8cr^ZcsaZsXT&cbYk`$K zA4o;}H_cg3OvV{Xqpecf=24MLWCr?-n)=C{^aRPqVrb zDcq({lFK_sp0DZfR;l0Kd2bC?kc+$}c(Y1J(X!-(iE1$Ue7%J4c>=z?@qgJJ4EDXD zTb9(VSO+ei8)S`lJitP}m>qdW$V|Jt8I|4)0pW< z&2RAW#okhNpqm^Y9|b;NJVf;Rilgc?{%nqeQAfz<;;lZd`+9j|EwA;garK;R_6{~w z6{`HM7V zX6e+_vwSN?TcUgOgr1q7FY@MiwJ@xQ%3GLs@$_lt2jgz|<lKHIl~}q?ZN&D& zh^RElNB_(~u7Z>$8zo7UZe)ub`RY+du@|Z4ug_OJK`X8mKdytIx zj!qx{vgL@SDKGJK$ZfczK@`@oPk^phGbt>rLsXPHYx^tQ(RFWMHg9ttJm(AtWUQuM z!_Bf?9Iv&n=OtcuNleCCZ+qmzIR}RViR8f@?i=m|1kdQym7jA7dwisV`O75$_5uX{ zXZ<}-?R?|r#cx1$d+tkY0Tp;4drcE3B?Iok8vOBVnG~ZegW4;f;ggCdDJ&4OM?An= zl&_a0J_JYuyEUVMu(F7I*{nS)V*!FoR`_GwK96yVYMNxGd{Lk(uCY^69-KKJnP}Qb z15l>$JJ2H{BtkvkE@z`4e=do~OPqcb#zb~L+|YezdiqZcjzKv_$U{(0ite)OE8X{c zJQ8nYn&;#M#Dx`#@_WbdAob*SzO=>SuTNMhKU8F>h4-QTN`>Z+MkV@!zLd+dw4FCIrQ?eRvMs+S>KEw@8*<9T=3&-fK|uoxhiJ?fEdqJQT>Kp^f{`iqR=b)=85 zU%S~BHuC{XanVop!k_5ws#t{=Cc@rc3_LejfzxTj$=T`!4->Dj>M^+1yl&Ffw~E_u z0^a`Hedij8Gc_mipUK3ssxK-)+@JmH{a?hLWm_CwxU6vt4gh5>aOZFSNXMEtn&1vqNQ#zd(O{u(`@%V z86R;K8)Y6WV=K|srig&_&@!p`aFBHsUhluNpP7v7y1sW;FLGSA;lhnAbuL2l1%ro& zGQNL-K2q?fzWOe$@)ZOY-_m9GXWNiAg4BHP_fO*ECE@T}{I`%v*I+GUW5}B&o!o6q zui#e?@n#VgdnO+q5Q3iw&`mk6=lqzMEHA8u%+XT^OB-=~ah!skK$L_4wgZW}@d1 z>hb=>oo#TUD9$9mVEwO4ptR90XSw&XJ_wAQBUcy$CZ$mlUctK+_TAk~ykbOERnLH8 zWh))^#DyXa|30qz2qsDqO8+W|gj1qrSVPW1YQca?lvs zEn9Y>>Rq@!xNfddGEv}$q(r1%k|o^^#gI<$pJnf~ zWS29JqqmAW7)Ac2dv*+WNxC(T1itpoyvu6BG9-SAH~6f1!hd7^l56;GEKbhFzWE4> zk!E}J#15Av8)eOMT~0haxf~gxyzwYagHWmz`(V5Wue1P#nORUF?rd>o4$qQ2fw8fY z8BCU00i`TlA|7nX#ft!HD+!oN<$T zMF!Dvo&|_N&fETDi*u(0HD6;GAPFJ)@$q5rvrE30hty&)*Q3@bIDR9c3QrmWC)%n=j3HTWugUqyk@+uO;7fHM*ll0Nxj+?;zcz++@ zb!cr6UFaUawh+hi$@xg5K%g0cn%{*uW90J?8YVFyF*r07K7w zzvP~%niZ{;->}{mHW-QuWf(Cxj*o32t3~@$rWwmCu#1M%3aFFfCcFrzv_srMnqS+# z0IP_cN|d@D2(OT)=HDuZtN1UNgK^uv8@e9NLBOdo+zV|+u&~K|+#x#`ds+k_GL#_P zWbQ~;c;GRGis1=SDsK3k z4sm5dXTZuIBtw8?#Knt?@4P1D3rXYyeN0r;%XUbwC07{zxuW9+_)Iuo&n!b{p(_3y z%W=X%XW`@!r>{dRgwH5JyO_8r2N&=;`lYdYm1_R^d_WtIet$l?j9*E zO*t_wpjpE;Myxk`ePeJ2KrN>CaBw|VW(+n!5a^c)V;Z1)f(1#JARjSmRVHlU$l8*e5`n_ zJ}lq+OZ$4>10lyiq#}f`qO%)%fAOj-4fH^t6et?V#Uo*ho4+%WDFRla}OpPMCWGhQbu=yz&=3)v~tr-w5+ z&l1EoxECAtKNvNu*1^3vw`F;67)XavU3B1VDvFbkifM58d^q)_9eVPFC@Cea-3LJ| z4%N)$nk4{%x$vl@=9qb3#yk@e3M=pLv(-d?7KKwQnMr#~w2Ay|Em;ko3pdwrltp;( zBYS?{`S{@R;#zgc(U3thaG_sR3oNuwe`JlgT0^=&gXuq0YD4lIwl9LxR0eZPMA&Qv zI-W+B^p*PAqW7{Wv9V71adSeeJ@RI4^2aOQ;D>2;ZOh}DEvk~)Ky%H)X453X-nC@I z$E_h;L62x=mfqBXh4)Xo_Y3G+DS2s0BdtIkY>)Gz>wN`kUs+}PaF>=}hVhk>>*?i6 zpPhLjbk(9&Q;>eouj$27qgPGk(b2KsLtPwDY3x?#Xf(|s`wn(sGolv+ewG-w2SP0P zJ9v6#7f^Drsc3h|?&Wf;>=_4@4bLl5n4sm{eu-mVSJpsUD9ic4QbTU%){0_))L>y* z2&b=|(u1V&ydMQP24`J?@;0=mTw3Kee3Yf)M!X6a!7L$|w%gP-r902UropL*AyK4OZhzq_L0MF*@$a?=$m7s7@0#*g?NCB7)IPK&dYUGpic1BcYdq4iFcSVX z@N}K0;irXNqPM!IkGv5DB^B^7hcqBwdQWZ6Y}p2tfHzKo9`$=KeXystSh>U|-PL49 z_L97DW|dQOR@!O_WutR_KR^G3Dbrn}O4WX5;ERnz9962eL(q{fkV&CV!#l!Q&_E{`Z@}jla@dg{|8t z3JnSiXs-{~U-VD(-rABI=u}R5KUZ4XybP^xlnZN^=WY~|sidiHp!6RFqyf~>h$z*- zi`(w&+bCQZlMfSZzB3CTQHarRcZ7@q_O5=&@xpjbx_q-2bhLdZjeE6S+awVK>6JNqkT*T|?jUkx?BY0F*cR;B70UT^R9w*gkr$67OW?5NP{-8I3 z5G7zsW#_G3^6PHHr7;*1iVq!~SJRRE0l#Z%)Kg6=ynFbTjOcxbH`+RYC=gtB^78Ub zC7Xn#+$s3a5*#p^@a_Dbh3L@Y1E!cVi1t3GIoP^#WKW_Wm2yoetUse{RvcEG=%+OYX^kE2{2iPZNfhU>d7vR$Um}<6 z{3f26!IrAbSE-NBVEBl=Mf2`XV~z;Z!qY?Fb8yr=5>GkF>AQ}UtK}#v+6%98X0T`OFZ62591;Gx~F8XX_=GN9m#P zKTIIX$Y4IQ=Joq*ysn^>RJOCR1O$+CyDJiv>L++=IDlaKE->)m6R3AcI*N#)g1l^CNkDCvL$bYB1+bHC9 zS0)Guo^F_L0yIAQR#qZwuO~bn%Br` z5LOuOSon_q{5>#j&IsT>NaM_eZ;PF}7pBHIz8Aq`TQ8Y^14^k~d%F3wld2=|>!hBt zMk{CUPxyxw6g!PgXjs9N%>G>6YIQ>ytsp)|luXTnif)~bJJLHVQ$hmxLM$=V+n2qp zX%w%@0Ji*fM4rVEb|iM!eOFSZ$}2X?PvJrcX{+g*>0aw-KGf;xNpeg+QqxEtRY`^%O#^+07GxaDb`28F=!C0UafL52K}BOV&698GjDp z7>B?Ho|mDwqo@EaSv_$=7(Ailg+r= zE;?XB`-O)no!UU|+qVRCFc+2K_0%XEBB>?76m70r@Exh!kYkhmnv^VQz9xqPp${jhd(R6iXx4fLuDVkOY+66XXALHSl_QGE> zLOEfHu7(j~@Ooiyq@0LVw86$h`93-dQxo4XtUC;Y%L?=;!?@!Rl zqkDcqLhIWh7Z1eAgS{1pTF4~d&o34G|qU3s>#t!;{enR8suG84;IlnM=jOg*1 zgPZ~tNB4I!ALj=!Q-eEd;~jkRvjFms%eXGrNu6j4zLkm63Q6T*ly_T?ELvmJ{dz#J zYZZO9a8PR&B4;AJ+7U^}`!#gEs=#Unn>(vu@u=rka{3$4GHiTw$*x>UTUe`^NMk*M zZn5pkAJr&+gN~e;JIXY95g4sRJIrit$ApQbgCW|Bm53F5cxa16-x)(sXIK$DS|9k+ zF=43l74_AZ=Jl3YN9mrP;jVY29opz?x%S;oxJ{)Ja<+KO-d6KK>b3cFctX_Lo>jqJ zxRGL4m?U!vejZ0W@Nbmr8NpQkAUb>Cu5m{-?3Wmn0SbK1J%loBWOdzK?D8u;pU25! z>HA4{2WlvnxI+!uQ33*qXEG*FMwA?C%rSWLgaJ@7e%C7iQgb3D+|Em)#s4ptGX}3+ zMT4H+g1jg!%kRGx=h(1x5rerpWF@JF)k;Z@U({Iii!}^MnZv3(XhCt^HxE7Te9Y-k z3{0GrmEMB~ogJSsH!%+P;2@X=U08AWAQn$B-IC4gYsrjSI>ghSs zznu3o#MW-LVT0D@U?K^OGOolc#HY*ATNxy;lU2tn)h;=PlMC{&!l=mt4}x9@+?D%G zS`7c@dINI{#^7*Gt4H&UidAk;@Rbjs%if%X^F@VqgRB=$@>L)umkXoIXxSC21#AT z&8gjVuIb2OgV#Vi{>23e>kS%F;PY6iI|}>`q-@vol}m7myv`$(CWW)%th-F?9C#@g zU0d8H%^Nab@!{hu+dQOH%%PPVP76~5!>q>hli5hjB8fNdQL4%;x8XWVx{iVR zIN{K)vkaV-NU}jqhz<6>%I5&;zv<%M5@{3lC}QZV?^xueImA;{?5^@aK!qXEEk&2~ z2EmClN_Qy(?RJW!#LyF;CzW_gO6%ga665`Y7j7~ovYTQ~xtjS-+>4eLV=~ErA#k(1 zQYkdksPj!0z9fN?Dp9)xCzmmBmm#B+uE&~5R((Cj<9_8#Cm!&+-s)y^L_-UYe}EcJ z_kEZF>ArvI8cL};(AQM=cfHFmR~DG+L^VMrGbUG!@i>*2(GH8aB#6g41^y|4v*(LS^`Vo+S6k&nhx59&2m^+VV8PTq zsZvdEM>c4nuF0Vw=$DY?i6RkLBqRnsUW8g-377C~;ekuLqiX%IK zG15IMfTX5u`m^68y2{RfNNeF6s>nv7bx@8rIS-kf>GfJ|9bhD#ZBkZNk)-LHjPEIq zfq_9hFIurdb|_BkP`~5=AUW0hN{PccSn~U5#-J>&8-goZMYdDca`lp5-kQnd0~3`r z!I%rUCiy7F&7xY%jRRhfSJ!7BCXivNwbk2F?G~&PR95n5cCBpJCTS>*f|Cah@v>hAlbYmX#2|f`T*-CcT`(3rKO99?^WUQ`u{zUWFrv7RlC|oa#MMF|k~J$hOr# zAUbXeu^%nH1jz%UaB_^JNpN%i4W&M!#vKJ0fA`MfGc~u|ps1>~0Zj9hnsonUnvxE% zUJJLvPu+-D7_{iFa=aI$@?Zmc{o-!2j|r^$fj4Qt(>ozYoJKTM!DbH!Pt!Z2 z2)(H-64XHa)$3!ahr9<+fTiVe%hSPB{3Y01?)u#B`I{SF=(<+Uqs8I1@qF8)OMX@} zP+C?M%vw4LY+Zi#Vb<~FM~mkrmIaV6c#Rw9szlZ}*EybV(jq0qK4SeW=4ffMJN1@| zy&lQPwCORfFxXlEGWAc0@Bmf0g`bDsDD#|OLoe)ZgGg<@pq1jHC4}+1f?TwiJaji+E?RCfuRX(??6|;_G~WCN3!30z9lX$ z@B+GJ`$r-1IX~JyU?&9SKbDtA;XF&vuCMFLIC*$@Xk1+HWvDq|dU^2R{)ZP3dEjg- zWY)BYBo3(9Q>Ykqk|l^Wh^6d0NEPch@t+oyio)^FrnMFZ=SR!YO)caH(v%t8C!E5h zr#3}Yg1zreFUNqKomZBwkE2JFKB0H8ug>PXHrwuJcsFvqK@#wEv_#~Aq2UqEX}1bv z+Azo8V{AWY(h&<6^W=?vE`M;n>s3fB=+Hq!U|+xU#u3k(8MOJu^ja6oVga8z$;E}i z@t1@=V*Wq1{RRJP1-l9tyBcjKPf#7EC8oND#?sfrZONVbSdm<%aJ(+*c`!Aa_wn#O)*CH??5y0L zpET3Ma|uClaY0~XIXfH_Xai&L6J?QFd{GH{;`Z|BSf7{RqUlLAriO|+CG8~vwu z*cw3*JZciZtSEa)9%69Z;9;l?etUa!W@Dq&+VWR_v$M}aE`N)vT=m#2xj2nT^ zk9@o-%r}?3xH9;A`6YCS?``H(``+|3LRZ-Au0j6fLfWB5!P zxAP~gAMOvF4v(_mWox5$Yk@C@epOxt|Gb}Um5}lYw|GH&XONBO6t5_C+E4;ADl0%; zU1d~LGoYFp=jgEPo?}R(U4}9boR<&9YzWLUwwchFvGPf!?vsRBt-O?!RJ1e4%0pHa zs6ppQkAD}Eu~;7zo6;vqLV}A{tbY&dlj~if8o|)znBlmAyaMXshl?(^@X36Y}BKOKrpIhxst2cz zD7ZQ!%9bYQ=cTjVWVu#u{l|ueJS2BAnATu-zkCwE^Mlcd zzI+VW>dTF;?{`nvLLb+jj@3b%SANW(>QP9?PNg{6uCmHhU;SW78oRbmpsF7VXRKGs zz{UWrp`yZCWx_)9+&^|nRU!;g*KguC+*tBwb;Gyr_<)+9qxBT>L8@O-2 zQ287z>8YsbC4lj_W^R4xREbugURO6MbIHg+6SNK;3k@hNl?$#!MDy)@(R_s#Vdu{8 z+d66Da%ebKEFEI0hTDkNox0u6RRNx8i1Hx=2#t`vZf~|5Q`7Bi3R!UXV0rFP*PF@J z$1kRezu_(ji#4aGiE7)@blpgIaMMs!R5_=A9x-OCT&?kqGGfZislWwj*7k{=PNu7t z%q6V_tq(75g`!tq0=XFCL>TH{TVKMeEgi3}g@`GtiIEvXz*ab=p@6XI`(Bp;RW%f4 z;)IBZKh~HY$o6rufE0x1el+#-?MhA5KZ7xCfj@O}SJe6%DhIO$SV)V~b zsH^=Exc5zofqxzuY~$jfOE0tCDLI@gQk46ywQJS1m+V^Zoy5hna^W*Y4fODFfu6sx z)p8|*y2&LQ-~@|F?1R0Abid1A(cs{S*8>W>z5g66xg+IDKrXCOlN2s!`xmra+?`C$ z(PXR@fAmvKN!xlVK6_2a!2PT0^szv%7Clj>0yl^Pr~fzv$YG!%V8Z%=n8 z+yxLdpS&`2B87>&X5@cdKMYk>pL>{;husZuxZjpF-etuMAatjH-ibUR{3&hYzXkA?&Z$F0D69b@AOL;@PXDOUR z!Anm@#s0P1R6-a6)ety&ols%lEX2k(N&3zn-0ki8`mi0D%qTlwL=hie#gdB~0LKU% zu;%lsjTNKJMfXnx%#cGc;)uYAVSUrOu$xlwzktriYWBXlo5@cI;;<16cycAwYWDHI z;+#mj#H&^VthnBoV#&ZX1XpG3@6{*Kbdi12eB>Pc58~LH)d^^JL$=yGNGwql*b~12D zNSKmA8H4H=hOABz@wCR}A-T;{tIhV#&Bj0fan8YPK?D8+5}Vw9FQoj33i!rO_O9;a zo3q-{&PRePZEp{(nv^h0w0YJrN-r4Aygwxe89#j?S|n^6Xy5sHmxW(tZILxgPr(f4 zkzl`u&KhO3*yY)=C0eMW4zD7(Oa4O3#;xxvGC1oEL3iVsFn*Ox!%vX)=6I+mdAbM< z#LieCK+y{>lV8j{Ij@I=o}QWchNy`VfkxqC4x2rjL6WY!U#c2q8uSyYvS2fA-NSl& z2P-ft*ygThV=el4s{Wf{2|a3Bn71w}NxPHDsTYF!>mw)twJ8WNjphdtFbFO!ac=(3(2i})P*2`9X5W0F?O?G!rAMr%dVO-wG(GXk) z<16Ub&i_gJ`U~<5h$-W&#R>1Cuz#L0{dYpYVYq*I+{mgPSc?e6ZLr7^Xfew;ya`Fz7tl-@O;{{GK^=9^(`(n5=W8`ww(+oGMm zHC3R~v@aiLhrx3b6GZG)mCh+&Uxk*B|*M- z8cN8TQM6=Cp4wWNgD!>31T)ojG>-#6QTxF*XbYQZ1GGN0l*fy;ccFU!4v_+q`z2 zYWb)}Z0uRdy>1$C7>or{B>_RO^Iz}IFF82D@*vqOt=wPAfql#?g>p#{Laq6}QeFA^z|Rrf5HI zZ2V+BW0=xU?joOBVOmr}U@tUsmi2A;fdh?`__3rRAn;0REY(;FcKKFe6xR+4Cgi8& zz7|)lcP&mMu_?3_^+vSu%?L3udB%Y_6tllp|3Y56TW|O7x$GVI;%;vv!X#iW0%LUH zmDI}ARCpwhGLhl2F7TYVFJeWPO=S+aehyB?+cbHTz=Fo1nl)eObpgXBIh*=6F6;@* z|C$COU#8o;G`=^D-fVXG)UH9p6d^plm5WDs%*X?yob?gQ!0U@T@x3YX;AORS_KVH7 zm#Vj%z3`9ka>Fo`3Yd8$rPxT%Z+ZRV5sbdLF8c$m)t!in( zO90mJUDy4W*3Z4sD|(jT>0xmyE;Onhegsod76o`KcMsMKnTtG%s`7S!l62MPVbIM~ zm2sSX~KnjW!=-;&Au4^sKEGhs18a~#~Cj~SKnHodI zIWmu~*|qtrk5VYjlXA@5bwDQ{OfDk3#sw9sG>2$$gw@N*qvBj{8c8(r^S2p;Q(tRM zmkUK~aD#ow7+f%Ahaczo2I4eD#fQG$z*1%w&cyhqEVOY{=x#ShiUiG_{W1)4RvJcvt+IBF zI(nJrI>JgSQEgMsJT#`fn~}sP;L}aVcZp}xOvmrx+oA~T^v%USb&Xn#vtStBqV)6RZWUFL0@ki#CS z99IN=UAU_|RKSUtuUGJDrOr|GW}=*NUOJ_>gpNFDpBXERYM7;$m+= z)Bz$?3-^lkNX-xTc(s6j#;;=lpFSpw_1f}~Ox`%O-{!2`4V_RZQ1g|o_CKFV z85xncqvYh}W4G!U9s*yVR1xm7=c|7O)j6_;Kex0%sKZH!IF8Qb^F)}3;G9?thv$!< zyJeVGg!g3$@V36Lb#-k_JGO1O4xY^3Z`JdVfar1E-N4$CojeliFCj#AB+wOFf|MFd zxfreZbu^d-YNaV>Wv^ru6cl7$^t&7sn1W+mEaiAbGtz}R|Ge>EhHrBpyhbAT2p#Z$ zyRL-(hI#{nr8b3Y8}K}Vg?o(${Y7w(SID^jco%PJ`OV1RzpvyUsYyAhnB{boKC$xv z>H=AE>DjGsS=ba-b?IglUeT3oojngeqClfv3N?RccYS<)|4!NbN(33`1{I^up;>0} zm5!?asYkrUx-teihP#oZSP+NBpJ!x!?xL9a|Fg;_@~WW+HGK^i3ZzEG$f4KP+rU9|?$x;20Sf_s7dZ zLROMl0;e=H==s^pD=|t|d2+mxd+7MJO)SLY5_$c7Cp#__BJFMmTk z<}`uZ%2-CG*t_ME(YNK;?QwkL*Xs|}!YRK|ce^FtN)?)gK zP$#59<8EGErCT+18Kg>4#p@|DF-6{8NgrI3i{+M^2yGIikWw&k;|%nhnH8EjDed$f z00j9nU9%V5a@oIBv!T_sER-ZHRi*V8-INBFgAuW_z2oEJ=6U+fEa=PPU2buoutka1 z*3`wN0F^L7RG0jA{u4k5a_Z7}$OUNvcDb%2I>zpxHnO@?p(R|BZj1vOiogf#G8Bu3 zGeI?e^XHtRP;SOXBZ)o9SHEEUg15d$l%<_pc#n@)k_^s@2<|b%e^QtAR`1?Y&2K#w zD{mI2RjiuW0SA;Au9U3Dk`}KYR!yBG^y;%U6Pp=Lsr~t5!KZvIfFM9R66yev)BqTl zHM+V<@-DuDvp%JR!H#coJ1cpj-`o^{Sd5d_ z2U`9>CLiu#truj&@!zAbfP4N=i&l{t)zPu#{_AJ-si1jA}b#9fY)EAd-tixFssz)FRF?S7XRv``^bSQd}0&LUn8wjCp0A^FFQj;ic&LQPVMGtePiSow=c95Ik8PD|4~G< zjHkv<_uf-g{Hv%7<9Js`K~v}KFB;752Xxjq7El88aQ9_Sg$^#9q_QYkThW`N#0?iT za$oeT`=arAuQHCmnpQ*2ng5adYZmM}=T?k%jZ#4~Iw!aL1>&t5It(-fNWRe>GY-n$ z?gmHGUxJ~QRP^=qh^k6I=7ML5!nQxy&?v=K)59jH=EP%}@bY}i)3twoZv@vqHPAHw zY7`Ue9;H720*Vc~-v#$-1Z^ko}e2^+KUh4%=#N$tyUWD{U2kM-|7tq@|_Z2+_+5aJBSHDU&KF z@5RMV_6rO)7Wi~LE$#0guZ6a0{Nn+-tk7w~dBw0GP|yRRa-YFcAHNUJOQS8-T6(ZH z+n7A|=0aPRELDXBl+!c0F`@9GM-m#{RSFyd21!S!* z#hGIme6_4c&cED%nDXAKMOZL-Od4;U}Xw7E(Vz*`rZG}ShRJMqr~3ROb}bYDk%JL-8%Jma(CHcci%oYNL`S|Kt1 z%~F%MaMKBopay-ZkDwm6Rcb;s$~n*=qGUik_6nJAcfC4st>hx8$HW<0t{b>$}h_$^!nGF zy*_%BznRgNn!i5&NY+|c#la!M5fq@znn_LXv6?B+Ny2fV`)`s(S?Zi|JA z&E+H6+HrmC!l7lANm;EB7vqVGYT{)IyN-|d%#O(@@T42eIo}=6)VqF51c!hMY7qKs zbQZMX4Fxtskr%lY5pd2%u#n1UzJWDqlCN)|To%EuD#+@{dewPxpQr-!fteA6(z(Ay ziYlP%+xbn-$MWsAr_=5}?!|yLv!jxDJ-M?y%=O{!o-ddBf= z%HW-(S}>ZASeLb1g{VRM%R*&ZWpzSPiU$i9C||~50wA-h<1{>orsS8+Nf0j{T5GEv=cBe% zyC`^H0@unTep>bd5)t(;zu7psi-0U`^^4V(C;QW5UC)vcQKFRfX>R_@=4Kr?j*et zoJ$8+(WLHC8%L#QJXE4?)SW?0V>Sm&;P-$X6eZ&8y=6mJ@JC>TcNS!d#WW*Yceh)+ z0TjJrXAj~-l;i&C<>ufnOISFSh}xN$YJ7_fC5}XAQY?tzAp?S~~D>vc8wG5OO zN*X$Gt!4{#VaW!7Dxp8b|Gj3D-hmqYlWMB(QOyda6o@5s7<-@(CdvJh#~YAz)hK`D7k zGmUN~g7<-Qf=}C%fBB+xWyH#hDDqLZg#2Di!AkHGK}h;n*zB0@*}jt5^PhTfBC!za zn7I+)yyE>AhTjZkrXkVMigd~Tx{QGm-hkBHu|(NetK~?+orSR05T{!YhPARkJnHGN zHha%HO^t@$c{9~`mAJ4t!0(%F>JW|Pj7SP7lT2!dqzg>t7Z_G2Cc2PX#>x}veRx-t z;$(Beo=c_QTCQg|UeV|n3Zxg0v4pL^nr&ie$xfpC3Hm-VEIhIn21Axpqb4x!TQn)K zA+wUETG*o#DiV!6T6llATP%FoQvA1Wv7ga2x(C!uH=@1x*%Ko=Jqo2L%eWBQy8pVtkX z3?b&O{vqP3M=f481?qL(bDgHJb6-q_are-*=bEV1Fsc9FM+gbm>;4jNz zu|M^QLOND3<#n4|J3~!=zD?)iUJRC3A{P`U#$b<{Kl7h2NSjWO*Cuv{vdbkz<&%5pB#9rAsVIMAFa z6O!C=@0m&I8)3}lG;Ls9h-!!yQ^zGS-L1K3+<#0PbN;*T?#FXnY5U=)Ip&l zPFdz46qEH=(6OWxx~3u=KD2{jQlT&o_sC2F2|PY~Z94Sx#7NTX&Q4@~npdW^LY8>n z%j{Fdso7=%RBIvA-ecvnJ-BeCDj1IBG)VGU*;T7CkBPU(O{7O7m$>$7r^e|!vhtuD zwBdd4@b`Y&?Jv*0}IHw~{mhAIizG-WtK(g+aVFTK*Bx^SbeaQVCIHgLwsVAYy@n1?c zXmOa9%90@t70t5WFo@y&T>LmW|JwzY>GH}hxnJok7VK+$zG)UG`~IRRStTPfOT@z(l>=6U z+~dtk#{gW3hK|mB!J`SfX6`p`Kg<}oq=oBKr85)gn}q4r6x5*m_@AYF6YGbkS{P%6 zMBV<+Bu$mCeSW9ZZ_l~#bTmJzP(CGDGR_;)=V6= zGgL+4;>!^UeOTg5X0A&)nsRWnT zKuVe1DdYWFC7CGdKL2fN)v{U>-wMYXhH*rzEAebe&jC`i@ZNFUEKL6rb#vz<%n7#e zzP*(tr^9msH#Tr%?@%E{-_iBhwwpW^D>Uqm_vt4+z3DT&Y5mQ?bJoP65mS3+sBSAqJ$T+A~_`DMa;cgc3c1+K`YjhZu(GEa>{qxSIT2n7~@xEKJ zSU<+Ey`Uam(u;ce$hZudbH1PKP&oAvZF`Tc_SbGsbWGr(z;Q$Q7yzcPV0FE))h;e1 zv!-#)6dr~TJ>hW%7r+V^XI5%tp~m$^lNK3y4T2e=(i?LkY>#OZFCBdFw1AU`;nPk? zP|&O8$M*I#BJ7rF-QoU5P!L!*=?My7Yb-N}x_=L$e~TL^8U%?O{x_E8vkrp!r5=W; zBW-PswA0AdXyWEqP7&TpmiFp$e}@`s_sSX=tH&earOKA(W*kpXPwe@NNTfA@w)(*- zlEtsnP)v+s_yk;fqGhR8i4@>OeVt?G9lhWyryTicF=B2oV-2l@xqNWcmNJXRU>x_N z-$NT#HX6$N;}Jl8RB~kSW^iP!NpVxt#Qup*lR*}o$67EM!`b@lRtQU6Xr>%?X_McP zH=5IX>shi1V->KuhXs?$2aFiLs#ZKTAk~m2O2+EfY~t6Ykdr$*JrjC{Y4`LCDr2a+ zWP%#Fccg}GZ|)VM3QeM1B0^RNI5cvEtheLY9^}?pfZL%;ZOccbIOQ@45=mXx0t+P7e}TV_umg7$)(H!=+=S1Bl8qPc z9=?@e=<4!2(=GrH0j7TIS=Im5om~}{u9$nqFDw#c9YoDCP!4$E(f(OTRHTv_Fi}B(s^}XADjIz7+u%8t ze4Tq7-GX+13oi-w1NHP3M;|DVo)E&oZ;jPjnSXQHS%Qv`wjdG~zls%Qu6f0tI5>NL z9FBr+rgtkmWS|k|+~($%pmWZpLLw4^0VO@(cY9JaoP14L7pwjTrPPo2dr?z03pn#1 z9QIv^d3z6nD4c4lV8u2@Wk%+}(=1 zTZ_8}cXu!D?(Xg|yWh;ooXq-9{)1UF96*4u_D)E4cHZZ{u3PUEsj;@Ud_XSIgb9Ob zm=Om=<5@U&!7X@k?uvRPve7Ny}NJf23mM-}D>=gj02*y_X_nv_))L0+mn+If@(cPUm zYI@q4>!%f^dut9UCMaVj_;SMIr`dG||Hjucq0wJ3Aj%22Wpy#5cR^EO#EfNTAt;*xCNvjQ&JQ3Pozh+ZJ19l(JR?#@;#lgYC+>YX(AKbCX zEOB-T6U5Gzx5DXrHrrYa($0XmVv!b?h3aeWV~*p|v1i?-va|KH{%sO$1vEegI5oAY zp%affuO<9K;em0nj-31Z+e~_ULc6GU2yJIe_viLUHc<&9zZrr*>z=aPbt5rzT=Z?W z5I)+XTxbDD*%?{X6xn3Buz1y^cx{E1CMkrs>NQ8W4^(M1v=4>3T7F!7C_}?oCY~uU z`ZMd=e$$482|l%@M`?>Z?T!0kv{v=GF80pF%0i1-)iz?%#V-VeX%u*l6g6N-HHK73 zZUdN=Wrxs3Sh?zkF9fy(78D-?$cwQPh(2~sb&BF1Xqy_$wspG*OMAt}#@!xhdeGtMI{Ga>m<`3iMEa-e$%bboWoBuX&G8F)4zyo_)+e$I6Pgo7KtRgp&61Q5SM>1M9HynhmqyZ^wJ;|3=+n-SN=?YM{ zF6-O2rlrQR4WVmfcxwG2&FIzC2=CBr4`Bg~$uV<)z1Gw)ov~zqUt?im?QmeKOW0r6 zxw^ZX8@dtX;2!3|9)YE$x%L@I)HIZk)uoj~`dX;l4RiSQq*|x-2SsP6Q=>8c-c@ba zPz09Xd@cU~_8-X-k=Kr;z|GbD+={2q;s%5bdV{f9^jWgS{`cyQ|H6-Mpo6OiEN;2r zJvxCv%5!hs$$rCiam2krhZ_oF)r4M|^$vB~{x_o2WB!GU`aMrYJnZ+g+A_{Dmey}G ziHYsEcT75^!$w*RC(px0qs%7W?guzB$Y6VVktyA=TJyO@odz4AYRKfwm&>i~wSA;O z-m~%0mH2l)F!@i~#Jg)MuWg>6bKW_eDM<%ezkiS`}mooKUeH3y5%$e z!kXM^Yh%;9)oq+_A8K(v0Tc};b_J<8TELd5Z+R4&k%H+uitpOpo|yD%`088xQ7n?g zt%@GLhd`N+_VCU*XN_GUUiz9?>9&S89KP9vtjxfG$~F1VeoVCh+mK$CNymvsZCQ5S zk@W`B$-_9E`Z{J8H5`qL_eJdAWf_1;uX=$k2vuW2sUAio!YRyi$0=R6tpYXa+`TXc0C-Wzqs-%V$QLeH#tv9vOJx@1aR}y0fiqsvPevgb` zC9SpC?a+ON5k%wZL~=4`zAGcEeSC_TDDY`zlqEV+OWIO><~~h-kn540N_k07V%Gkk z;@CMlYIUON`~~!3c(xiYs%!Jw1&{yiY8JS+Fl#OE`e+3aBvVJKR^4`C_a5I47vR7P zuD45g2VL%(FRkeJB9pV82PK?%VNfy}ks&H8JJern?-o*1YyPb5_!^p*>;ANSoY_#D zZXM#0;UAN-ZQ5SF8v00L)S*0Gw-U$Kl9?M%9ulHay5P~q4HkJ~Jrl}d^fWtu;Fv;q zksfBTy`vD6V%F%`tEZyk?Rd{WI58lXFQwJkN#@Y^+1(KcIFSSa+FSZB5;Xs`w~mqy zh3h6))zuFYC?keTTe#ZCVWIRlNe`&@J&gKnv)F>&@_NqD!m?gm zb=cb`x+FM-7@I5N?m4P3J=L#QSsUN-Jn#;C}1L1gZMDgb*vtb zoEMJSUf85LK24Pu%3KiYrV*bKms_{-{jP>)?5^rSDCezZOuKs$4IJ5A(B!A}HCsek zGnTlOg`dmji8R8Yo{$b&chSynaVTukp4Tqy9ht!t&gdw$=2HB!{w>%gV+3cL3a+r$ zIqVfU?&2)~F(AKQmXw&!$+5;Ah>NZ6%65|N)d?XXXI)0zcIxB^M^e2J17iaN+yEL( zF!~pF7)C^u=`RaEcs2P`163oI?bNdN$+DyG8pRfkRt#OygV~5$PDv2EV?CjBaDF=5 z0aGgLvkTPeR3UB!!6)jlT-K=}AYKxJ5+cS;l66$3?L+&Yh=8N%d;7^Ldt-|>=(svK z3Zwwn9h;Ux)1BYR`T3k#UrG2!lD_AiXMUYSpHa~|Cd%U^jeXEF884}}r5nB`>#0qK z8aBYF@STjzWG6pFa!oo!k}Bx^c|bTa(rb7kQjR=z)k|jUb@}&GXp-s^B#$ z|NB-1ywErdN^dqXqu-2%?~VI<4lcBFZhho=?rjdg;n`D1{Mu>dv#rnJq64?)=8ANB zd3kk8@j#C^V`ZEKjv0EA?j+;kWfuD3;&xy~JEENk3FxUZ6%_(rBJM)ICFxrD9j`Ju z+-#|dp;0TwV%6GJ@Y0R!&-dx}XG+ds&yLfgaEhKcOOD(*Ycxr;4~N*c?+rKwMf+z|l>mZhOzeeNj%-r>F8W!YfV5<{#mzgLuEE3I(dK~8kcz9ED34+Z#lR#G9ky~&a(Aaa|7IDa; z=S&2JWEQb}pMp!WUT3^aQ%wVfax%Ys>@NRr9ws1Whfie_^1>3VyA5 z1_=wd3KWD4qv#@h$HO~$_)3z~!y9%I?#HCXB|hFo96XFM^^ROy#*HMhuRlC6!W7#? z)2IRh^ZtA`Pazklsg%^bgwH{o#({nlEI~7*uN#?SPjOu*O7KlU;yjFQ5cln*E5oE5 z`DqXM3BK!X`KC=@y-p_%lSR9y zv%ZbZ&wZ=@E|dP?IL_ZFYGg^I^NeBUVeDVfegKx{q*3wyl?Qe6JR^-RGcU@6yi*x<9rh6eHZ_boAIB94;G_Qjv4+iwA4DeC@TxC+uX8Q_At!Jv$R@{h!MB~#EGyRR>oBsSJ96Tf59<5Dx+eK!wX0=P}6@X4F4 zJhql=+YWjjnV`Btg#^?*fZ+R3!7|fQox%C&i~Ai>WcaJc)al2-YBYkbR5n& z`**1ND2@3Y!{B4tmd$aOMZo)vWqI0r7v-}7)mpK!I>Y_ZfAbAgV0|j;1&7b;^CQkcbLl(61 z4rIGdtot3>hgYGh9X3ByJgUCWEW}#vVy_My;0<|Lo8(N<&5O0B>XxXsu1r5kH#HUS zC?N`IZ5SH$$wad)RmN?1%Ey4?ZS!;F;)yZH${;p^rwr(OQMe3eKg_PvY@^Z&3%PBx zHSIPBoI2S)s&jHA!ahA}`(|D`1b)IU*70)xxt}JNLWD|Y1B-6(Py89dkB58z`UD_J z69AHgj6$Y|z-fu*Q+sfs*v(cT!PolH!c*NpwWr9~R2%8`usYNk5cj^{3nSmf+c+k^9qR)!84vUpWB99*@E{lhFMM7W4DuK$I9p50)4wJ|G8?_Hu^ z2jObaSMz%!_zpZzc2>K)rH%QXM#S z#5`r4Qud2qr`O>pNqnLYkxY9%>peD1vnq-j8%-zMqFKf!c}vz=*?9QH7)BdnoUeas z@@`5qj4B8ayBI8}GIYPmD+AA#><_o@@F{=r(yIYBO~vewcpZFwa7D8S5tW{ERJr>*7VIv{ z1H%rp<<^5Vfc!%g^#<&>xDTA9ejt`2_44ab{7;Qp^#4VD?k?e=lST0 z$q0gsMDI!}wynsr+iWp8oJqmbhgzLcnzEf?M4d*fOhA8OM-?m$9CMaK)opxAp?z9R zEFsK>niW;UV?;{r?W%VovFlWOGv2?**9k+7JC z=XW+$_GsLX2BuS32(!UT*Z!X&)C%ce?@=n7eS3wekc6wemm9rbmaiow(&ftkN?{X8 z$ykkyengfp*o@*dsLgFEwDg$Hl2qpuO7p5>hgEk5m2M*q0}Vn`C{2;%nwid++pLMrEDSJPgqqdCq>o*mB*Npo< z+`?FoDYdX7GczysSvO<`R*4e^9$fU8#K56I9Z;Var*vpq23lfR2=>gW%4T_zTg#Q3bRt!aE3tsf6fB~mu;iQ z%%1Dhe`QO!6^;n+kOy7yuTTl}n{J9uW%*?FudkhkU-{?2LjsA>z|vGlum4uD@6PnR zIl;@zwzj3AKRigvB3yR+OsFF?7)%hLOTK$1+0&mQ4XTfzXK#4>>osaVk)f_OD3L4Y zN;3>;*}J%3e)Lz94F37o(AJ!51M0>%klP03crT^`9VTZ0D@nx}gSTo-(X$f~>|2i61PpZl-$h4PAi1 z0_#cm{7C!zp?saxO}+fjsd^}RT+(ppa;6N54DTPRQez(W#1Nr-!#*bskyGaTwe)_XEd!uQce29&(t~qEsmFfRHwa3-& z-82Eb9&`H|67>fSxlNBBKGe-jBA7mN0^Lg(`x7U~9I%N~&eU{tbQBnShvaY%RpU-W z(%m>itrY&Pe^hT+RBb&;ZX-rVBNOAF6O+X==|olE>wckqUI)37ewR&_j3+NJjk~hQ z@A_oXv6ovB8;X+>8W~?eEfW`hJjI2=Nm`LSHGEMsTO^k_a>9p7#P5Y%^Hn!%elhYlAtV8hfQYRiFMJ-$Uh+LpRaY7>PuyLy6bPjIL& zkq5~`IZeByHrjts;itm?!I4FS1miEMEvpvH#2*DzBHkn=pO7kirWWGDCaX%D#> z)NId8G&`wNg|*n?r4s(}SD?}`UAz($=sLsyFq_q3XZS@qe^qjC{k$8Uvg}=|63O9# zWcNwXzJV&w-zH~k2ZxFmjn=}|+7mP{$lESH=G4BlBiF*MZxgAzdC0U}(NsL~bB%TAQHTGQBwo`%aljrQeS|*~Yo)V&1%lyGz*5=orok1=VE9IH* zgEdhkcTySoA=|ESmE0f(>7)@qgyJ-{K2qEcUruvg_Jd(+7EcKv@R1FSx~A@J+edvu zv;|y&oXZ;eRXg8CqcFM|hBI6leQY2xTehKF0BKfjxa*nfR z2cpGJ6klzK{$SYGU-DmQ_QXw67G)le$q|r>+Tk(PR0k$e$G>3i4R=F;u~_wQcq7Nh z?Sq$&QkzRzwbemmcCI}JA@{}G{^VxqBDz#lm&g5niT7)t4?W*g9ifZM3}Jh4@?M^o zA<8&B%?K;f$F$gMPbPEeXqQZfcOf*`#WM7J27WVhLr4%q0vi&kIs0!N$=-tXf)&-_ zt5my@srp1dGd`&qKi01q2L$(!6-{7-Y-8s>g=ypxKtnOu*afZIP@9X-r1FPY7_$m# z@vo@QTfWb+i}Rmwy~M{-QWq=4pKTHS znZ4O)mt(D}QWE+`M3>pY@uWIGA}c!9WsV+C9WN2*v2ouy*u{AeykqLC>xikU^lX_Z z8ov~bp@C)?5UgxiX{~s{$2JyQrI615k!Z0zSV$^ZY@Z`dFe1Ap{y6&pUt`!BH7Z;> zU>r*5ek*696aOdf=}rbJ$=~RS*qEF1M@zs|N4(wO_3|j^Hre3xNFqa87SI%%D2%td zZ&5!fd7*$Qpl=(g=t){-Fv$HrH~w$-BhmO3?nu588ZO#9gTgiE|4g|crpTRTU$`iQ zM2RXb%SzL1Gn>k*t3P=J>Zwd|#j#J`);qIzicr-Iq_YTjLkvE@r=;9Nu;F06k3gwK zt&uUo9IRT%Oz)}|-G--`3!T&yW4DN{q&uN9k8jtRP#PO}&h&YNHZ z#B2{W7U9bbIQ3M`=9HV;B0MJaL*_kL5xArrq=iN_7(4mHA|%MkWt58WF>!{n`ibv z1FuVZy3k%+Mn*DQ8Nmb!HEClhWA5cBZ6n8VM27P}_=I(Fy}zcHcR9GMYWUfNuZNqT zY#a=)H_k=2k%>`|(>~+dn%EZ^=zne%2rnS=;_%C5>Zy&3=}o#x9NyG?CR~7^3Pp^b zt77QrQ)XCUXLDT8DA1(o&~QW7?ci(Z!HcapY{{uAIp496(LDV0+HuDEr6%bm2MbFt zl1hq)^R7Z##i2BJ1|$a*6|7ovyZ+cH z{%&6FB|Lk-ftU5oamPPmV>^P#&GaRo9^5}$;3Xg8Ly(F{N zhd)Kyk{tC#iaNAq0kFIu>I(AME_BT*P@usF(;ohV#weWW7Na8QCY&U_TrMQoy#JCnPD(I`t@Mf_rxnn_ zNsRzghhCttmWe03BX-ZJa$TMxh7Xnk&NNqps5~zp;!(>3gjtvoH=>=#SY#N z`aW@d(?b~)J!H@+3Y?YWv8W5B)gvwBJHs6qdpk1jSwL@PWlV00xt`xT;qp78t(>56 z<)emx?G3#THZz!_xuy(dY3kRFU8AF%Kb7GW1eXoH-TObfjDJGRXl%RBMxy)gw|Bbih2OA}qsQ3%^Qz)NuRrRo5_Mh=M`k&2fZKkIe z1Cu|@w?pA}H%RE||BbW8(3W!=+~cvo3isEK9oSsXvLC_EqfwP)$JCdWNv9?kO(C1PHDJ}IZsB@V*GAR41=jh~Qyy-MW z0R`J%m-D_W&`WW|k{nvERe5>&)v=3HWP3;FaV^Z%z^&3-e05>_yb+C2|G%`QZZ+CTlVcs>v)LFh6aAc5~v z^JjYkjmU95=3~_2q=cu-c1I2mf9#fX?!Dyb_x`3Wr@zS~kqcW+7Tj}uvk9m3;v6 z8sBak10PlX0?QU6?gSYugLq9aR2Vwr|7q9%8?UvC2@#{m6_8+bQ|sLPt0z{1j6K!- zl0bj3^7{R~TfI=m)sU~)*)5~`WV7d|Pj2QS0XlV;We<0dP?SV0xKhA-JJX=58$i#Xl{?_04-B)v9G?)h{B2 zg}mrFT^EXDzfZ(-d+8v%v2bv(a4-t6xN^KYm`bFx%z%>l*lMhAdxNuhdwY9#cej|F zybukX$do^f6!4*x)Of-&a9nHp^v+bB)N27P$%M*!Z%JY9ujb!O*xIkOqotQjI+R7q zKY=;-9-)ed0TRDV_vZTetvsc*HL2}*JL7ah#qwzkHY|1K;@_)a$78OR%0ge&*G zqPJI&q)5odETdb>z+;$g9L7;}afC_LU)u>wPY0CeR>^fP$+5}r&ENmpsp(wxTB-Y! zIL2K;Q1F4?)|l$Z5tjZ7vxqeIFR}dKVS1ozA}LtRwAjL1x`I22pZQv+anT!SFCZ2L z;RrD6f|r^r`pYDu^w*A4V8Do=Q1i2@$fJ|3qs?lo{GA-+#HrJw4m)WF_(>$?HM7=H z{f8an?e8_LlhK_+e6|EqWJ91l*?j0QcBnb$iRyNoaIDa>4%DU_@ciP@>KCemtP0q-xVrRZWLjp}q0?^^%1{f&^vFe-zB^?Nhr8-Y@GHz~MD@p5ib&kzN%I_p( z5wQ`7_@-7?1n4+enTpR}(v&KjyRv^go2Uy)>+?_nDgwAX!i}qk(vT38v&-s-XNzyi zyeJp7u)_-RDN0jzIpXmd=@`o7wt|rpz@Vk1;$^T?^Tn~;WUUtoXJah@$>~=@K`DX8?jk678Q%&q5||@areHarN^7!7scsFR$a5h{$?k_ zV5!f}jg6ggXF$``#3qez?+U;e4+4f_mCG3G$oQna#3W)`3`3)|m52`+q>y(Eujp#N zAEe7Uz{HEYAwAhSxR!G7)YHLs&)m_JgP;K}n}Xw$KfEg)M%G-MV7JrdJh5G`d*!mz zvj_YeB~kD8y3qb|7P~wd_CKv4wB@ z@?zjqT!&hX^6&CgE0XsFF^(9R8?c#*@ShPdCipUpTD2$&5KB0E6%t5ZIbi9z1sJKB z+w-Xe&I-MoJ|Fy)wo4W+BIM&7DOZCHGcSp@YTs@Y?afcX00(VIK&8BI1Y%b%y5GJ* zq0(|->Mz6%Au-B!EM22Ig{@R4-ATOw^%Vd+*m49QWrcbseg03~pw@W2+)un&js2^h zAeTc`&i2N}2h2KW7ewq00=5?ljZzEA7gf5M{6JkJv2@B^jn)l*(o(P6|uh zs<@DHP0YZd`P74zvc<7@zq{ZUYP?OAtqtPe#gmJ%?FH(2eZ4@s+-qnFYYRntkrW%1rYGs;7259Ia4)_W!S7P^yJHjEU7_An zt@HccExop|yaLd2>_C-^&zTXr$B`NiXXzLpe=b(?rvpAEaY@F~=QQt0mrwZvd>ZFB%OrcpxG!3r zAC0dPQa5Ab*J=Mgn!{l?j)k@!D)J)!E2a<@%}y>i6Fp}a%VKW{D-z7dz1$mb;13_y9+`#iD!VE$W z4=qlBsBG<8lD z2oa~^bkLEUl?Q#*(9DgHz~=Ymn6U8GPjLE_GrcF2<$?itxs!YrvXJ5Q)g21E#4_gmnGFFOadfwo`xQwJiGS+C)sJ!0tyYfnCxM(KeBl~h)Xv3{i% z?-Jh~bwQ0GNxUcrBL}Ui6p#5hlB{|ejfC!Nidg~vay}k-_oa1<7mobV9isZMldBKo zac#TL6kl7#>v3PPUV7Cw{#^3Jjh%GoXu2o4ZW!<<)k7h0o_-1f$eEvXKseD2+ODVnw5=FY&ell)Bwx z54q<`M{H=R+`f#KiQB`^^>A=tq9i86(`5cZHbX+k_nU^4Nbj-fmwY-SL9y_JgA7`u zZGj~7J(-f?ViGSzSOqXxJ)p_85OwXAR&3zJ7A|ZjLotz8%0&Q$!OGJ8=A!IoN3K@~ zT2!rCkyI~1K&LsH`I^tc@cTy(xlS_1;J==ed!}R;p8=*-QZSXV@b-TCqew!B<|^Pp zzQ3!{94%yZ*wtXmN*mR)hw@X?tMC8#(c0!I6IpRnOj)k|&cmmnxav!M3@R$UOj=Jt z6kN%XXq^4rqcz1*6q0`zrvbgUg=jb15XpQ)S{d69_l{bblBh+J8g(#wV*oHKr=vvk)^MV(b~HanLhrf>FB5@F z|H{+-xOvu9iq?azACQ~TTK&pdXGcP2jP%{8-s1&Cf7(q71(EXyx1N{~5hOiO1*SOs zk($SoC3X#**d|)hNNiNxarz=|F_24gvK;fjq#WD$qhFF#S6|P}Qjts-?hXsa*D2Gv zD($w#%%+}SL-MP|^1e@(p%rEtLh{Uo8^BUn?(kn~UksVh_}{DqPsghJDH z`94E0UTRxu!!N7rRu|axcGCZ>wwIF=Oc+AMO{r=sy-yoac?RCI0Dfl~nf9t_P1^h!*^h~%lmD7(S1lV> zUTX{XptY8Ww6s1Qj2rq+ue@%61f1TUpE}MJfUMEmI!b09+krY2jJf^fY&B3jkS654 z8UOFFc={pH)4j)>r891Zhx%A2>l^V9TnLWix#RzB*afstlCTWxi7 znrC6JP$u)dy14E2N86fs97#WUPcsSILPD*H8`?jYUyRfl6k$tA`G>(suyIwYMXEj= zX$P#H6KMgg42Xd#@o2&R=HzJtdx2lSa0P82r#kgLx1EGD4y0iVrrV#6G;;9?a$785 z2r?D(V;XucmPQyqIhE!!WEThN)20v&&>DQpqRMiqpmuP!;O`z{t=FX$QnJaeZ^~-T z@))lv@I+1fI4qYR0CGA`A(IV6Hy~`rg}BIWCn9` zIJNHT^&-}u42IZvc*G1nZGY4*8cZ`s>lWiG&dL;hnBCo(U7FAqCHg--ct6G|6G_Nb_u)KYDP&Y4mJpChCp^N8;0qO}qDJ$Pw zdRx7TP>^*os%PX;s%Bl-wHdDRxVxG2Ca{fOBOBpwpySaQH1o@TRBiAgNm@n9XpQI? z`k9mRBB*%Fa4h&(7a$uxQo5a?62uA*X{xVpgLn)c{OuMOx&L?#>HnPenk(u#NCbW4 zVME2Q&Kw=tYOG<4gM03l<=AIC*LS;4G0Pc3V-+xT*|*iw>$<8pWN|U0Oj*eOBCP7NLLhO+(~#OX1w~)vCo{k z)ffrmuiZScd=lQ|jj0GLbw@oitP-SyZZ_8AJU;}FSiH9n2&o{7)C}39!t4BkB0+8m+}}-POyd;u^f7e8B*Ws zAl7PYf;lMk2j&I#yK311L$Rsv{eK5_#J;SWE+HoI^YLxq#t~pV6s9m$z(Z=_$D zOC>8{&HhR?D+dKWUaJ`%Ruga+TL`VW-BwgC{H&Zm@cYSGkL&l8a8Q6kRQLJV0PcGi zFXvtM=mU&g=Z%`wFLf!RYOO3_ ztrB#@w}fn);H38lMIc?OzF)*Z?tb7mhn=;Pdj8v{QuaA?``kiKl~>dkEM2!Li_e9F z_;`4W9x>rcYSw8Z0MFSU`S*R|B3&4zH=}@FF7tKt9~-Nvr-^Du%gQckGsXPIt4@%k zG_MHgYKZm+=zP*6?veDJ%oUY^7=5WlL2WckiN^+$`$=g;F^FK=;AP>U1rjbiIiG97 zWJGuEW>mG07_gI0U_Z()N$)a4yO53`r0kC_Q!=>vePC?rXzGfgi7u_|w4<|B0=3O4 zvrN6fyzX-q`(k`sc-V(ocdhqqSx##{VV0Hh0m&zG368FF1e9bD!;3WDJwCoY*h=^@ z@^_E~YUna6E|lbbRmnbjmENuy=TeOqvLZT&k$^mJt7UQ)c_OuFVg|AX6RRO(1DQzT z7B$(?>-)XmS1IR>UoK%LZ$S0?Pft@^S`N6lyfQ1R@2%V467!@%C2X1lQU>aJ8S<_? zdpjM&41B9AOS2a6Z`GAOY?Ab&aDjR6a?8Y?Rzr%*A|oSt!073j769dhkJ*c!L_b+^s4xptB8jHuAuiU{7D(Ha3v z-Mr7a)A6G3K$Y5T?D!IwAH|DMoE|wkDsKdmLjao53Ve4KebTsmZ)<4J2 zG|@g5okwv>RSH)y;8nmgw9g4_UIj*i(+62Xm~Kq+b0^L{&;KSl%%X!md1C`~4N1H; zlFiLa!d;ILn&Mx>7qxjM(mn6WweF1CROUFHzj@ipbZAkm;MF{sy>?SXyF-O-#;;mj}hNiKbmH4{!xu2Gi^4 ztmr-}Cbv3nJBwYBU5l8OJEHN!U=3w^Hk|id{OC-{sP)4NAyx*b!Sp9E76cT-1v`U7 z#KdNxz$ZhsfgRf5Yg?P1p{5q8m%yKn;Ihg;HE?Y5d-L&2SLdpqe^D}bkWmMsNX6zC z^oe&n!&T_{zorPbwkt?jlTe6Y8;N<9uGB?(nKAyMh-ex!AN-&JG9k?{V=HdSuHLp^ z)#8QBnj;h>^!qccPRSR{Z1t$^S;;Z4V1n}>Z!S>iJ5^P6dFy)?t1A}De_BN(7)5^h zRNVa-A!j#2gCmK93LY}uxDH;U{{+qwnT_ve;lO_BqMX6W zo7tD*JKsfIhtt>78RBRwI!XUMolBi=A{dJ+(myBUW=QPgU+!&1ypZC>0D-e(}kO0pj4U^7s$V4dc{VrU0%!7F5_AxLcPHn%c< zG%(`i>P{kM=txV8tJZ4yr!KxJc{&}#$=u{NrYY-(L_42pp(Dqr$g$B!Vof934Cm%H zB%$e8>&cqe1P42_`EntPF9d^2x6=FGKh31q>X2C#IPqC8b(NfJDIoslvypLlBl1*a-=#w4k>~?x0$FYU+ae!mP^cTa(=}Je*TQ0o&o03%e3ek!=%#5+ znW>!D{Xp&@$1KRP@FGleD9bs8e*M0rnlui+RVAY!EzBzzi@W<;1RhI$Jq}N zw)lqqu-)p8Qv2r%9ayUWFHY5QW0+HoUW0uR@Md57yS%)U`Nu7#6&am=Jc4Jl^BS^! zac=aJEEVEOxbTdog_Ty#mvA{o9q4dVh%GRB?h3UTu4TNT2m7MooGwg)-GYIbn z%TyLk2&O_A+-AN>CAL-_$60xl+hzXLFD<1Gw2QiCN-lAlU2BYvQ}Zs`J>$@t6;B^Z z(*9wp5XU_GdS%GErSa)0EDUwy0Srl`q@wD*6&H6cfpW=uCi2rqhz{sfdr^5!i@1$ed`iY}=1w=_S+R>|4PIsVX?E&Y zuLcEpxH*6D3&j*i69c`|X#~)hhu=D}UStpgsfTCqj-C}L@4ksRj3O!KP@iOR_YZP8 zS#%A0_$u7u$ZXv{pAsQt;0P3X?YrzyeIk8XJ~S|0Jvz5WOixF+iv@&=!$OfNvW2dWgJdkiJK~ z?MH%tBmOa<+eWUK2P9sc!Qse9tiYE{ss$78ZQ`E{v_?I~+I_3Y)KE z^Z#G<|NeUbBVC)RW)Bo1@EXP(D)3so*Gu#k6OiZW6fjSO)E&UzvAtfd+S|+UT`#%6% C3|k8T literal 0 HcmV?d00001 diff --git a/miniprogram/constants/focusFunctions.ts b/miniprogram/constants/focusFunctions.ts index 439234c..7570b23 100644 --- a/miniprogram/constants/focusFunctions.ts +++ b/miniprogram/constants/focusFunctions.ts @@ -87,10 +87,19 @@ export const FOCUS_FUNCTION_TYPES: FocusFunctionType[] = [ id: 'code-connect', page: 'codeConnect', title: '译码连线', - desc: '按照数字顺序,将数字对应的颜色连起来', + desc: '按照数字顺序,将数字对应的颜色连线', icon: '🔢', img: '/assets/focusEntrance/code-connect.png', }, + // 数字点连线 + { + id: 'dot-connect', + page: 'dotConnect', + title: '数字点连线', + desc: '按数字顺序连点', + icon: '🔗', + img: '/assets/focusEntrance/dot-connect.png', + }, // 格子仿画 { id: 'grid-drawing-3x3', diff --git a/miniprogram/constants/mathFunctions.ts b/miniprogram/constants/mathFunctions.ts index 987e9c7..fdb5d29 100644 --- a/miniprogram/constants/mathFunctions.ts +++ b/miniprogram/constants/mathFunctions.ts @@ -46,11 +46,19 @@ export const MATH_FUNCTION_TYPES: MathFunctionType[] = [ { id: 'number-object-match', page: 'numberObjectMatch', - title: '数物对应', + title: '数物连线', desc: '连线相同数量的物品和数字', icon: '🔗', img: '/assets/mathEntrance/number-object-match.png', }, + { + id: 'number-object-fill', + page: 'numberObjectMatch', + title: '数物填写', + desc: '数一数物品数量,填写对应的数字', + icon: '✏️', + img: '/assets/mathEntrance/number-object-fill.png', + }, { id: 'counting-select', page: 'countingSelect', diff --git a/miniprogram/focusPages/colorPattern/colorPattern.ts b/miniprogram/focusPages/colorPattern/colorPattern.ts index 90d2c1f..c3cb9ed 100644 --- a/miniprogram/focusPages/colorPattern/colorPattern.ts +++ b/miniprogram/focusPages/colorPattern/colorPattern.ts @@ -88,7 +88,7 @@ createFocusPage({ const selectedShape = selectedShapes[groupIndex]; // 每一行独立选择2种或3种颜色 - const colorCount = Math.random() < 0.5 ? 2 : 3; // 随机选择2种或3种 + const colorCount = 2; const shuffledColors = [...allColors].sort( () => Math.random() - 0.5, ); diff --git a/miniprogram/focusPages/dotConnect/dotConnect.json b/miniprogram/focusPages/dotConnect/dotConnect.json new file mode 100644 index 0000000..1581412 --- /dev/null +++ b/miniprogram/focusPages/dotConnect/dotConnect.json @@ -0,0 +1,13 @@ +{ + "navigationBarTitleText": "数字点连线", + "navigationBarBackgroundColor": "#FFD719", + "homeButton": true, + "backgroundColor": "#F6F6F6", + "enablePullDownRefresh": false, + "usingComponents": { + "toy-button": "../../ui/button/button", + "share-guide-popup": "../../components/share-guide-popup/share-guide-popup", + "math-bottom-buttons": "../../components/math-bottom-buttons/math-bottom-buttons", + "draw-ad": "../../components/draw-ad/draw-ad" + } +} diff --git a/miniprogram/focusPages/dotConnect/dotConnect.ts b/miniprogram/focusPages/dotConnect/dotConnect.ts new file mode 100644 index 0000000..e7c4352 --- /dev/null +++ b/miniprogram/focusPages/dotConnect/dotConnect.ts @@ -0,0 +1,180 @@ +import DotConnectDraw from '../shared/service/dotConnectDraw'; +import { createFocusPage } from '../shared/common/focusPageMixin'; +import { DotConnectData } from '../shared/service/dotConnectDraw'; +import { getRandomUniqueNumberColors } from '../../constants/colors'; + +createFocusPage({ + canvas: null as Canvas | null, + ctx: null as RenderingContext | null, + boxHeight: 0, + boxWidth: 0, + drawService: null as DotConnectDraw | null, + dotConnectData: null as DotConnectData | null, + + data: { + pageTitle: '数字点连线', + functionId: '', + hasContent: false, + showShareDialog: false, + }, + + onLoad(options: { id?: string }) { + const functionId = options.id || 'dot-connect'; + this.setData({ + functionId, + }); + this.initPageInfo(functionId, '数字点连线'); + }, + + onReady() { + this.initCanvas({ + createDrawService: ( + canvas: Canvas, + ctx: RenderingContext, + options?: Record, + ) => { + return new DotConnectDraw(canvas, ctx, options); + }, + drawServiceOptions: { + title: this.data.pageTitle, + functionId: this.data.functionId, + }, + onCanvasReady: () => { + // 初始随机生成 + this.onRandom(); + }, + }); + }, + + /** + * 绘制Canvas内容 + */ + async drawCanvas() { + if (!this.ctx || !this.drawService || !this.dotConnectData) { + return; + } + + try { + await this.drawService.draw(this.dotConnectData); + this.setData({ hasContent: true }); + } catch (error) { + console.error('绘制失败:', error); + this.setData({ hasContent: false }); + } + }, + + /** + * 生成不走回头路的数字序列 + * @param length 序列长度 + * @returns 数字序列数组 + */ + generateNonBacktrackingSequence(length: number): number[] { + // 3x3 网格中数字的位置映射 + // 1: (0,0), 2: (1,0), 3: (2,0) + // 4: (0,1), 5: (1,1), 6: (2,1) + // 7: (0,2), 8: (1,2), 9: (2,2) + const getPosition = (num: number): [number, number] => { + const row = Math.floor((num - 1) / 3); + const col = (num - 1) % 3; + return [row, col]; + }; + + // 检查从位置A到位置B再到位置C是否走回头路 + const isBacktrack = ( + posA: [number, number], + posB: [number, number], + posC: [number, number], + ): boolean => { + // 如果C等于A,说明走回头路了 + return posC[0] === posA[0] && posC[1] === posA[1]; + }; + + const sequence: number[] = []; + const used = new Set(); + + // 随机选择起始数字 + const startNum = Math.floor(Math.random() * 9) + 1; + sequence.push(startNum); + used.add(startNum); + + let prevPos = getPosition(startNum); + let prevPrevPos: [number, number] | null = null; + + // 生成剩余的数字 + while (sequence.length < length) { + const candidates: number[] = []; + for (let num = 1; num <= 9; num++) { + if (used.has(num)) continue; + + const currentPos = getPosition(num); + // 如果有前前一个位置,检查是否走回头路 + if (prevPrevPos) { + if (isBacktrack(prevPrevPos, prevPos, currentPos)) { + continue; + } + } + candidates.push(num); + } + + if (candidates.length === 0) { + // 如果没有候选数字,随机选择一个未使用的数字 + const remaining = Array.from( + { length: 9 }, + (_, i) => i + 1, + ).filter((n) => !used.has(n)); + if (remaining.length === 0) break; + const nextNum = + remaining[Math.floor(Math.random() * remaining.length)]; + sequence.push(nextNum); + used.add(nextNum); + prevPrevPos = prevPos; + prevPos = getPosition(nextNum); + } else { + // 随机选择一个候选数字 + const nextNum = + candidates[Math.floor(Math.random() * candidates.length)]; + sequence.push(nextNum); + used.add(nextNum); + prevPrevPos = prevPos; + prevPos = getPosition(nextNum); + } + } + + return sequence; + }, + + /** + * 随机生成 + */ + onRandom() { + // 生成1-9的数字颜色映射(每个数字使用随机颜色) + const numbers = [1, 2, 3, 4, 5, 6, 7, 8, 9]; + const colors = getRandomUniqueNumberColors(9); + const colorMap = numbers.map((number, index) => ({ + number, + color: colors[index], + })); + + // 生成9个组的题目 + const groups: Array<{ + sequence: number[]; + }> = []; + + for (let i = 0; i < 9; i++) { + // 生成不走回头路的数字序列,长度在4-6之间 + const sequenceLength = Math.floor(Math.random() * 3) + 4; // 4, 5, 或 6 + const sequence = + this.generateNonBacktrackingSequence(sequenceLength); + groups.push({ + sequence, + }); + } + + this.dotConnectData = { + colorMap, + groups, + }; + + this.drawCanvas(); + }, +}); diff --git a/miniprogram/focusPages/dotConnect/dotConnect.wxml b/miniprogram/focusPages/dotConnect/dotConnect.wxml new file mode 100644 index 0000000..3b70e13 --- /dev/null +++ b/miniprogram/focusPages/dotConnect/dotConnect.wxml @@ -0,0 +1,6 @@ + + + +