From 2960452af969c541e6cc8d2113610644b4a8d488 Mon Sep 17 00:00:00 2001 From: "burols.wang" Date: Fri, 2 Jun 2023 16:39:09 +0800 Subject: [PATCH 1/4] for local test --- .gitignore | 4 ++-- build.sh | 0 2 files changed, 2 insertions(+), 2 deletions(-) mode change 100644 => 100755 build.sh diff --git a/.gitignore b/.gitignore index 6cfb5ab4..b812aced 100644 --- a/.gitignore +++ b/.gitignore @@ -5,5 +5,5 @@ __pycache__ *.egg-info dist .ipynb_checkpoints/ - - +build.sh +.gitignore diff --git a/build.sh b/build.sh old mode 100644 new mode 100755 -- Gitee From 7dbe93250cf19645010211a8d8f1d8cf54cfb2ae Mon Sep 17 00:00:00 2001 From: "burols.wang" Date: Fri, 16 Jun 2023 13:43:55 +0800 Subject: [PATCH 2/4] =?UTF-8?q?=20(sms):=20=E5=A4=9A=E4=BD=99?= =?UTF-8?q?=E7=9A=84=E6=8F=8F=E8=BF=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 固件版本: N 是否需要文案翻译: 是 --- .../zh/QuecPython\347\261\273\345\272\223/sms.md" | 5 ----- 1 file changed, 5 deletions(-) diff --git "a/docs/API_reference/zh/QuecPython\347\261\273\345\272\223/sms.md" "b/docs/API_reference/zh/QuecPython\347\261\273\345\272\223/sms.md" index 15f61983..ffb6dc27 100644 --- "a/docs/API_reference/zh/QuecPython\347\261\273\345\272\223/sms.md" +++ "b/docs/API_reference/zh/QuecPython\347\261\273\345\272\223/sms.md" @@ -127,11 +127,6 @@ sms.deleteMsg(index [, delmode]) 返回一个整型值,`0`表示删除成功,`-1`表示删除失败。 - -> BC25/EC800G不支持可选参数的使用 - - - **示例:** ```python -- Gitee From bb3192b0957a38dedec0166f8fa45f1f151e872c Mon Sep 17 00:00:00 2001 From: "burols.wang" Date: Mon, 4 Sep 2023 10:56:35 +0800 Subject: [PATCH 3/4] =?UTF-8?q?=20(Timer):=20Timer=E5=BA=94=E7=94=A8?= =?UTF-8?q?=E6=8C=87=E5=AF=BC=E6=96=87=E6=A1=A3=E5=88=9D=E7=89=88=E6=9C=AC?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 固件版本: N 是否需要文案翻译: 是 --- .../zh/media/system/Timer/1-1.png | Bin 0 -> 14956 bytes .../zh/media/system/Timer/2-1.png | Bin 0 -> 17522 bytes .../zh/media/system/Timer/2-2.png | Bin 0 -> 20866 bytes .../zh/media/system/Timer/2-3.png | Bin 0 -> 5592 bytes .../zh/media/system/Timer/2-4.png | Bin 0 -> 48857 bytes .../zh/media/system/Timer/2-5.png | Bin 0 -> 19229 bytes .../zh/media/system/Timer/2-6.png | Bin 0 -> 11124 bytes docs/Application_guide/zh/sidebar.yaml | 4 +- docs/Application_guide/zh/system/README.md | 1 + docs/Application_guide/zh/system/Timer.md | 614 ++++++++++++++++++ 10 files changed, 618 insertions(+), 1 deletion(-) create mode 100644 docs/Application_guide/zh/media/system/Timer/1-1.png create mode 100644 docs/Application_guide/zh/media/system/Timer/2-1.png create mode 100644 docs/Application_guide/zh/media/system/Timer/2-2.png create mode 100644 docs/Application_guide/zh/media/system/Timer/2-3.png create mode 100644 docs/Application_guide/zh/media/system/Timer/2-4.png create mode 100644 docs/Application_guide/zh/media/system/Timer/2-5.png create mode 100644 docs/Application_guide/zh/media/system/Timer/2-6.png create mode 100644 docs/Application_guide/zh/system/Timer.md diff --git a/docs/Application_guide/zh/media/system/Timer/1-1.png b/docs/Application_guide/zh/media/system/Timer/1-1.png new file mode 100644 index 0000000000000000000000000000000000000000..03fe73cb0c36f2dd24ac4135aaf4b16d1f8e6189 GIT binary patch literal 14956 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 QWrLhBG5<6FsLQSY1((QZ5&!@I literal 0 HcmV?d00001 diff --git a/docs/Application_guide/zh/media/system/Timer/2-1.png b/docs/Application_guide/zh/media/system/Timer/2-1.png new file mode 100644 index 0000000000000000000000000000000000000000..e7c7cc0398ebae190db35f727e65f7fd5b99d90c GIT binary patch literal 17522 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 literal 0 HcmV?d00001 diff --git a/docs/Application_guide/zh/media/system/Timer/2-2.png b/docs/Application_guide/zh/media/system/Timer/2-2.png new file mode 100644 index 0000000000000000000000000000000000000000..cccfd4495c03a9f589d26ff0fb6743df1fc17e0c GIT binary patch literal 20866 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 literal 0 HcmV?d00001 diff --git a/docs/Application_guide/zh/media/system/Timer/2-3.png b/docs/Application_guide/zh/media/system/Timer/2-3.png new file mode 100644 index 0000000000000000000000000000000000000000..c94791c4f4297ef6a17ffdbd94aeefc6db858361 GIT binary patch literal 5592 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 literal 0 HcmV?d00001 diff --git a/docs/Application_guide/zh/media/system/Timer/2-4.png b/docs/Application_guide/zh/media/system/Timer/2-4.png new file mode 100644 index 0000000000000000000000000000000000000000..9e2ad2e4ee472a13dc8f2b2d7f32c738189b6cbe GIT binary patch literal 48857 zcmeFZcUV)|_b-eM5F((0M7kBFW)uab35e*RfQ2G01O|~7Kzd0cgaC?wGdj|nN-seX z0z`;(6=~85Ar$F^79f_7uQ+}xbNoqI!&Vc?%_o;UQgISO0ErhpGS9ki}#ad5nf;ibcN z0iSofU%u_h!NFI{{@K>(mi-$CM-}|aMXg(Y*0T(Y$4C1Rsk^lmH{bBT2q$GU6rK8z z&80S}dy10qrXl{9D99y?0+Z5G{U--?<1UIcmZ5_~gX53#lnOeWfT!j40r?OT5-3H-lXe@Vio!_2}P?){;B z<RzQupQ8-~{iy`&9x*)Cd;#kF4Zh*;*=>nax5=Q_(uAjYlfTm&wc+*~eW z;nEqMt_N@g#gW7v6%2_}Tvu&>uviWOWpmj%yq*Vq)gxTxStN6s2B z-)Z#jWnc0!ge4_`+?3G#L!j}?dw0f?8q(eRxKs`Um#s9v#{9sNSTMws8-4D%gjR?Y z`}XQ+u$!Rwu`j$Zh;p}Sxsu>sQJ6{W8q3q{vN zg@%3ddLd$!8KS<5JLjYYx3 zs==Cre?TH4qNwkA2W~6raHGqMsz%PPqM9}Q_U`p;Uz1OjyUSJSS{t+w2?^vmqb62* z5K?|saIZ%PuF8BMb^B5XByR6`aAZW>@AliUQalbOt!WuToRP!g+a+NFdlOH5;etVg zy`gcOZuo@z^*a0_Sl-KV%`^^n4<;|%7vXnNr^dg(r)Nm9VNBbD!p z0U`n}Mz-dCEhMm@w%&cNNhwPFHf+7FOX)oJTplj*JFIB8i;G(2;N}MeZgJScP*D;wleZen!G7|rP8T|t zxApDtz$o6(P4Gp&_^Z7K>(kR`L~8TYFv{RGNh-uah>*AU(uBh@MrJ2w%-1O zR3oJ&0ED=32sZ~u)XSUTx1JNxo6aZ-wp`fS59SHny#Oe}HjcF40fXFC9fO#)o1><( z=;Od!_tn^;K!Hpb0 zo!Tb`2<)-uSN1eO3i9%Mce06mC3ON+SWr+7-N=C6BW&amD$WUVaHO64{(myuzhblj z>X}+wlOCzvnnD847WHtX2RC!_-Qh!6|{CUSF&UAr}9);L*E%P8g#DK`5Z zUnj9fpU|AwSbY^!9v>e+a)v!v0w4SL>qf3>Ro^)mzO6XPWZ^PQn4_1n!(|+K=L`=o~9b=%C zVY%ogy`^?u?B9>~82|Lx*&twjv4T5y{Y^n+_YZ$pf2w~nH>-?v(8pB&q$?p^38vG9_veE;vH2BHN1&- zse{G}5(i!^rqaJiD?=F|P0g80I|-~!!aQ{?Z zPVFKHXsYo!^Z01cS421wC!!XqPXMC#7mv<~zcgh_`PU_wQC;vg7Ouwpsv@kdRh2JQ zWG=SADK0ML|ce+dV(lgSNx2I$gA=youE9d82AF)^Ek#d#qV{5i; zowDmVot<_($Rx3wt&v*NK&_m~v92<~*4 zBb%?*+JGTVq8!+^Y8_>4-A^uYmskN#Z^_@zN|g>$O^nn zpb#m?6`vnW==I62Nf!)`p)DN*QR1;cSx`?!!OHGisyZ)a+)Wdxb1{FF_};B z?XF-!Cg+)Cq^8ONm=V{)3T+lG#(wtIlL{{{glln8sO7;X$O*yTmn)C}NoK%qv^G|? zQV|f4lppmG!e-08nzUJ+YdH2I{&XqKXszvlh_%LaZCXaE0Sl+V+jZ}0l>T|pG(4Re zGtiKtd5Yg@%ZdMLpfNKrI+e9@?6)g7U;<7yh-O!@ph1l^AY6TxS3_JHYA8pnt_2dY zVtuwwo5z;nt1aUZ6c;gsBhf28LC?ce!A|V3t;rnATorV${B9u|UZ6_K8R-bABZtR- zQ_Xg5=kx4V(g1~}7jk<%SBE?I-T^OTaeE?nz}Cvy@jqg2V{@7B4i60CJqPuK`@^X9 z3UBytq)0|YTyxLsY307RsN|6rNw#aL4X;WQeicW)!yy-NY&SZhSCEFlK;lk@R@b$o zFIYe~SF-qblH>(7${i%%MMT8sNM#CS>0ji1uCE#C_^~EUat>+%E2<4T#t!zGiRFyt zz`d^lOrW9*rhit{EV+5Y(!xVjm@k1H(oNu;XIK{1hry+_x7Dl~Q>vxj--Z>rq*$|2 zPRnVxh1qJ*A<*%bQb_Mf!Q2y${HOV?FV;PhtFaL1q|bBc2Xdf?k-eo&n##2{k0jl$ z02r*n{|m+kY&l2|3$+AWfh_}WSawGwlT?6{9#1dlm&Dw9)0js0;G5F_fPKV%5{pN=AP*8|1V6_I2pj{eK;zh z+C8f)kkd4h&}+t}aM)Hs=KjgI6tKfGcvYNJKTLR(8xW|Hw_dwM@41z z1ZtMgpVbJOnHqcHhUjAMWBZc2JJ|t7-ox?ANr6GMsVLi9%G!3o^LrQ>4z9;G3t1Rd zQ)L#{;{&sa9BmiZ=JW--(7INa4Q+s6sqK^B(p)CV8YP(1c^~il_Qa0M!ZlLAHTJpD zqXX9oOx}6|$I0rd-5l3K=QZwo0dJX1VxzH)T7p@U*RmoC6MD;ryz~C?8eho^{Q{ha zWa&`JO1jX#8^MVE90}ZH1c##zIMjukwJ|w{ef)U)UsNOkDmwHYJ@ydSYrhj%1_&H5 zLm`%zOfQ3veSa9t&y9Y(i;a*_j?2@(?XT+gyMO)N_jeZWL%450f5La+VUgSR3;T!h z{8HC|=Z__MNg4MlZ%ccyK;n9QJXGubK7;d*WxkJjc|X9wZfWt$LaWy}?j8=JZF>ns z+1H^@_+IjC9_LWnTeZpYITRSV<_gyh%wLny28YTGzub{i^PRd9!0|Kp&%w7~-^Gvs zh(TXv>O$`SHal0a(#ZglD33wWM-#Ce(^=$@$#=m!W?yhXe7;ZO4{L+-JRy>dNj;Lj zV&$82JJXOGCnIiwz5)wHj&~~6z*21SP@z60uoGssY%XvewC$Zr?O*rLvG2z%-`Kie z_SgN~6tB5~@=@kT=(_AqEwBjbz(qkFj>kK`%jV_BD|%WBc9NTMn*f?3oZD%$;B}Kd z#s!7HxFZ>y2VNC2<~{uI5Xbx7--Y;j>ZOiA==B>JQqRHL?+*-pUn6_zDlS1pOE1nY%)yjy_O~I1$E?cIErnd>8_O zilTFC3H)(!i$|qB--OV&NM`u5k~axVNeyj*(4*_AtZ`@>AdZIbD<!)Ryz|on zhrW7wQ$R4u%jW4*A)OGwT<&3jHCRMLxa}Hw72ggq`=Oi88CphwrCe{%0kgf$<0EX! z(g0;y>wu|awDuTeXR@j<+%sa2v^aPd{@XZc_Ba?|9G$K$%0)Rhwiw@1t_D$HZo5c3 zwW_ahgoE>G%rUL9k3fW688LD;p z54OFkbFq2gyrTJaI9c{^T>pPNl>c-7?ScE)XRG|{$zJ)x5ig!0id8k$R(D+dbOAxT zUF-2Slr9B29%8%`Hh;t2F88&YPnPi`sgboS;7>a2sC?K=S723PmvW}e<{e-2dhWx~ zsiD{o+p$%-E_gBk=6#1Sk`^C6V8Q&puNgI*2$XsG=rn-pEqp#vH z&f?Rajq;!k*s#|N5W0J5=FJ5pUE_XJO7Q9o}^< z@YS7p+%&4PR1&m)Yd{Kdk%?7wvbVmRIUvKT9m#u zj+G9ISs5&|DwrBweVElT<7ctC9#%`A2x}6;5}ut5iV1TR(Il*SYBT5s{_Bj>N!AV2 zPNjsigPDsH8?Mi%lqyrO5rPL*Gjpe*v z)4DpXKJ0~zuUTnV8=VUBdoo;lG7#&g*{p+Q_+bb4x1>Vi!U11UeX;1F)T|W`{HpP4 z^W2+esHP25gDOjo=Y}KoGG27YXhqR~S9=bx6oGn!fp!}Ma^?~$qkvl?6>t@xU z7@k1M?eri-HWfSC`X}-r!+DA(@SO>w2jt>f=WqM9|4J+v_Ss z^eBtqoo)lBP+ysv1--<`>#2Gi-Dt6~vfMPR6Uj2Ir3WzrM_PaHKGiTY8%4&p%J7~W zE|qhBlG|kGSlN@;x=LwtL@q9cH-X{$1PLU5tyL}&7uHB!Y3jIwFv)VPbrlgINLwpn z-M9#JCY7!sm^)m>U~JZ`M#dhqcK9z2<8r)=M(uNBb4=c?SGmKVg$p)NW)~ZG6+S}$ zu9#Nq_;!(=zy0=xe^?V38ODDeX&FDPwu~ykj}P}~rAjKqq+piRvR7bc6JVI zr1Iks*-&9Zr7tlSv1vgOCYUxIm{(74S*S4osa3sN`%}kNbPhd$QLZg<|)Kvps+%mXDq4h zEY)U3Yh(cyCEjAe>N(|PjjX!CQnX;Tx%=l%(~8~uO5P$9!y2fHi3)>*_M7(xmGzl&mxBL)$CHVL!oGTk| zbU4MIA^551udl&|eIjtFk9zt<31oBrg9L&Ll3DC)A)!x@+fWvp!@Wq&DrvFa!;edZ z8dOSy{1YxU&EfJS=O)ClC>Q!U0ncOrRmKfc%lr zVjgyiF)^(UOD}9K8Q&kyJGCQtd@TI-j9dY2##2cysRgU2arL29B`ol6kP6|{nQLW_kQQq_$mCl8%~t-2`5yTJ zzV1K zcAAn{#hOZy1FeRvo}#tlQGb8NJ&T!JnL?N76ZNU1;f0>9*-yJ%=w z$D}&op~WUv=2ut&qpQ@7((LnAWml1bPb;OZQSvuctZP4(UU5;8JQx$xQ>$p9f|8FZ zO(&avw5ZqGhdRJn;E}EYdbVp$ zW~0q9>c6bf%ageg*nV`U*KYI}pDbuYqV_dyKPOdS2@Q$kHrX3msb3wH^RcQg+2ohc zI}v45S+SW{_Hj0en*ez^uZ_`NFbMxof$*WjYSl0wf(doaL7WaMSnS?h$T9ilk7A8Z zft~m#5VN_o+O+Wk8l^k(+E0)JCUA3cB!@b;$r{p>UHxFTr^jywv34sDtW~#olkDH^ zE~fZ5o%2&>wR`o_=l25HRp$VDyvZ*i5mSLnB@P2j)|jMQ&iq>-9cwXP`v&tD+L?Z7 zw?|J5vz0dO0>Z(?tK{NMRwshRS|pHHD{(7~9*IJLTZrp-GGuR|UJyQM^kLXj8nx?Hy^I}N`wK+OMFnzA1%K!ey-6dz z2=|=(Fsh3yDw;Jh={_6ta`|gTWvaNMV*CJ+=sWk}kHqA7UthTTJyS)Z>!}l4Gtejh z%aD73A%#9Q<>b*Ga+JL(yAi6ntA@YD(sy10Kg%bnGBKDGBI+7ZS9uA)#I7C}$v8S!Ize!9) zd@*?zJFwBeW~uvFbkxiEVsw6?9KL?NeD&2rTk`;Z4i5G2vGSvNQ`e@BewTaT6SDo- zi-1&+|Q4mZgIn^Rd0Gg+;DTq9)$w7DLygWDz z*=~go>Pbej%sqBh|Bjv*U@Eu9ZJxHBo96e|i?MW{Pc9o#NWxD^45oS)tavN4)_%u( zu2hcjpXmNY==)lUWNcVH4uCDI9%5ME_3+48W3-h)dEnWNfyl-$e|Th z#OoOjEPZ~C_g)Y655jy0zn6xaMfv-Ke@j16<82r1Y?>LV_;7UIQjVGX8zSBY<%D$uhE3(nKO7q~_O;6$M0Cqs641%Q zrh4Yd%GUdGsiPt)a|Wq>J|`@bP?mI$`t#l2g?%^9n&3lLPeF)m_bwMk8H*QGcr<2E zago+K7;TbVy%SE%SfI0Nt=rHrk;vJxGCMUxc^*{IEujtA_fug5dYwAbucuipXqInQ z-FfawL~nA%FT{@@U*nO?2>$_gg_Mo%!!qD4uPQc_b}pHAz3DtAwqf;bE+yyjZzWKJ z>CZ+h-1~Mmnj&I8waN=uDw&A-<^ek!>i|@Yg?XHB5B8cc0a~)EdvUhe&JF4=+axsfE*TEO7nyGa|WDu(+zI`DsoZ+9P0ziu1L=o*1CbI)t!_KZ!PUR~Od zhrP0HavqR7zQ3zDuSs{N*Rb~R&g;HvNr{LdxHZ9TE-=C@RhNJG<5DSE;QOj_+IzeR z_YvqE3-7Luam*vzPhAp6mwAq6cV>K?zVf(-jJZa7dhqw83 ztl~Qro&{E_nFd=E3U0@ViiQ|z)N;^3^@+#2}wh&-<9?PRy2goh}W73^HOplCT$ zZdleGi#(W@OX(Vfi)u3Y;SBnr9&;-n<-&ofsj!o@OovE3+?=9j;DowmQ`Eh;(ZULm zMlLs}Sa+!i*mxr7cl)iX+#3ga1U%fQVJiWA!|VGs`}55Y0fjyG_RKr4aep>fCXtXk z9VXFaD1p-%g7s`{xb+_53Zyy{=DJ%e$4rFB@l_rV;W97q@1i%0xnmEQ4m@}f`^md* z(L|kGV3LQGaFG?Xp(dU8%`S__Fd>c<=Li+EE>#r-z%V|Og3!84pl@}8p)4hkf@EJqYm3q@pcxVE7cPB^GbP^Xr3Q|67 zTbVm}w*c#AQozpA1AC>k^IdLD6^y*;W?7uo3|g5o6tcsEvEWM@m<=)|OsV;O2EtymfFBBdh#y2VmD;KlTE%H4?tzK3UGY7P$w$m=AL#j*W)Bwy^OdczqOzOeEZ+O9;=zZFPgbhgLq?W(Us5G%DYsAKS!@egqN(vJw=)8w zi0NV)zp2@FR-g1HM3wJI^xzS$*7B7Vlf`7d^$S}&|6F~BLS7;v*P3vz(KTtU>fjCc z%M$+8r1I;G1{t1cDuS-ye2eGDv6{O6v@evpaP@+ELcT8e6W@0+w(lU(jlG%ewIerl zPrn>;4_Z_veI7^xIBFcMGE&2~I!PT%t`!ISL^6coz3 zahk5-f@0CFsMmg{?;UqKvmi^r;fFoM(DYOIU~3IHjHfq;*m@-@E#)pvk6bI}cZ{ z9Hs<%Xk_6#OzX-h;+s5$5i+P~=efe;YCF1IS2{d+IQw95)6B#{0+d=H!d=kX=A15I z1|ovci)y_6^W?LSAic3Q=E9%!VI?S`0{8pPH_SGL4)a03d3GZ!o|*d!H_e7$iZ*HA z$a>e~n8g2wMR0*$lg5j*%1`w(e?YPY%t8DCvb)iYlmCdjS4yB<;lgmpiQHAD_iH7P z(;6J+PJL}sV}syvw)#OUU=-5`m7wo{$opjej*6==%oDiW9&}B3p`YayBdYp6#wyQ8 z19h~;Fjfv!3XOC>$Nf+F0HlQ9mGv1isbi+}R=A+`L>PvOtFgIq;V5V|tEhVy^@bS* zsw*pIQ!Lnx1hicE8>+t*TXR0GNzg=P>XPIi+9Ogzs&63R{iyLf3z2H&{52^@Zu)gN#x)VBu$woK{Evrm21TqfKWt}}}G$79^Z9L1c(ymB|Y>j+*} zhM)95s;j&z$Vq%A5A+LZVoDU^Vr!hfT5Lwqs_aFv@6bD~La=+ARc2Am73G9OA817- zjjp0qj#+6YJ3pN5E`!gW0evj+c8VeYA{SSvfa%h(2h8H8iP=nu|H*u|x8*Ck&Erha zt{eUi*>d$^;%)XkvPoWcw=XZ%7BuPl@;cS~jaDW&hz)$4l?K5veM5|YJh9%BNBwIg zN^SixX_@yAbTp5>Kwzp%EmFzWnw6_F<>=Lkx_OETti&)Lm>*!c|3Kg>mj7Gx7;+af z*?bDj*6=p0fOkBj=$o%Tna|+a8?N{b6J#r3yf4I_%y$o|H8!K%%q;5HwEst9pMJ(f z8oDqW+>!uu{)c4BE6Rq<$;>wgjodG5u&&@r-`p+zrvjkHNR)Rwrxxq*@HGmfI^>(1 zrlOnFpW<5}r4o(F(v^sarzVzBZTX<=H3hP~gqGEZse(ISW zynOGm%mj;g#Fs%$|1OtUgMXyec>fKCGn_FjuOKY`j6!*P%DaK|cJZA{4Cx=qAkS~U zTOAj$`P>;n>7j6-SF$CleFTEsC$xHE!vp@2SI@P^pQo5iNC*?`PoqJr8Krp&dyHdj zuv$j{Xab~cRSN~R6xq3ZIgJvN=llX76+&=#;S$mtMnCa7@uqU*)R=O}tAAukiZX(O zNfoAQ0ti>fS8=`%UBm+Ysi>)RN+u<1g4-!@wL=sv^G}RsVz!}9GNIPf#Eg>q`hSW* zEw^ii{7(E&;U(!9C_4QArlIz9u(w-13S^=6WDvR_w0Yjaur z6xUoElm8PXnEPAlWy`If(+7+3|EpKa)7oTy$b-9j43-RT{_czzOYPN?QBK_qWt(e( zqI^ZiJoGe<_pc(+7LxeS>$vB0qA9$5r7y5><)a%h{iH8+Bi{n$*F>sB_6%tBTK)(D z&O7WzkEZ{t-#K%l>xkLTYQVU~pUO->8-Hj|b4g0+)u;;fJ6{eUt>#ynI<=(@IP%R) zDyfA*bNh9r)B-mu%9D%Y{{ndIz}#XETcCV6q8c{#@;`ae%a=GcPaav!mXH?6LTW{6V0}{oMj<=ur{cO`LUrr zN+6);y>FB4p~rn{@9h3b31({3_(MXgmHsW*=H|{byX#KRG3#&xn@`*-Dxb{9cTAlN z3!U{2gsz27SYL?Hi>PZ27 z@f999cTX=%;cEQm`)rqys=kYVZ5RM(Xlx7yweHg250we4ufzl_1T2ba$%4Ec+f~c1 z+`b@d=lpiO{cMn7e1`JlzGII~Rx?^lJ*NgrDVS!#AAy|bS+&K{R?Aenwqfu>KW64m z*{tay-S}AYy2jZ7Btd#P{KCv8WKQ1F$})Q;c!_z+ur*rrT?7C<)kCX; zS3pSWO}Oja@8t*`{;LwotsmlIz9u<&7T8EDx%hnh%ud4DMLi2?W+n|ZsNuOW<#U%s z?l=5+OTcn-Di&9I{%O#c-A3m3OV~2VR+BH+!Klz6C|yN) zHdSr$jl)7>>g!q~0$c-r7=&7!F=G*H%k`h~^n{(`U1xBy_e8XMev-t)hVaYp&KtxbvX8D?`DNGB~7?%~s2V$GCS z1$EhI3B!yI+$y`}1rWlgddTwf5=)))wbM%FVGy^U6~SBkVfYzFIyF>F?9XrTwXqe- z%plAI?Y=Q_qdqsyHjRyIA$Kts<|{2a;G+eauWF5iW!|1l!qf&SLc!fUKD*Ht>JME< zJSsvvTix1V?sl!k@Nw%2hdui^6Tc^#w!qs&zQN`0g(Lv%1@1xslc>{wBzD3_i%rz*fpUq=tA|Ia6P zz|-9$G~`~@%#*d;5##ibCOs~3PE*CV6d>{G2v=5w6&?K9X7_RW{tB+U{ta4B-+~#X z%ZiQb^ro1y{D|&3F#N95l8{lFbCvOq^g%3#5MRd(e22YE^eK=;vRdaaI|KOVRA*d3rCmb$ohVw2>l9n3Hz45-`YbY7l&3S@8k5i1^6%^@qj*G zQj<1&478!Ivq`C(Ij*ukG|51d8K$b4i%qjpfntn%;SDoGu_seZvs?uYPAkCN=TmOh zNBwrznziFJ_)JTW#>BIU2~w4^K|E3RDWn(lvuf-{s~!W5WPjTNdplvYB%{yol9kRJdj;u=_l<&w3Q~)C^K3InQ2u;g9L?^RThtBtf$wU3?tEYYt;9zPILsFh zG+O)|?Q`(;Q>DY!$&YJ#MBFMBr2&%wx_+a7{hA>#%JMMmhO3+5F;LgC&sfJ%bzgnF-uesS<(0mo&-5zT-Q&0Yc#Tfwz#tEC+ z?Ya2Da!g-GXE(a}d&O*PZ|!*lx2MPRrPtwyT?;ZeAxYnVV*vb=M}9aXCS7B}3Dd2-kakLTXpaK z;?AP8$N$w3;TsawW_xg%t=C{Bgjh(#i*G4_&Kx05#O2r8*Rmid&M2fnt-_jeIkJGR zfPi~Ady0~E>Wfw?HZN3bro?osV#}&S_8K!K=4jlaY?%C1|nrb4$ zEQT|j-n|~o^Y`I#v)+aEW13v(y5}6H(ZS!bSwovbXfEmKa?kx(Jnw$Z=?}&G_s@|Y;3`(@zA$aqY1dMeVtIF?f#XZ;PMWW9 zPK5Sf7)hJ=?^tsO@-c0qoKkM!exHtTENM{E&_O0)-Ym+_b&s^Hrap)>j z21o(ayvaWea*~+Y-|CXwq?gW&Q`1}&^0ixP9SGbXxH}^8Cr1|@R*AkgE%da;38e@V z(EDjm-SN5wa$@2*t1J#GQ+SR3J6?V9x#}tZI?KV#pVYH_I*==|Q})EqO7S&sm1$3c zEwq18ez=~I86bzfhQwY+x$ymzAhYZeULL876{YFQ=daTKc3eQlbW5Cx`#39`oPV4Xt0~^XEhKltIg+oer{P0?=?^2L&8(NkhbKcbk&z`$w41ks^=U~O&a%^ zzw~4FFVlX1Z5nN)j=$Oa{q-O7fQ8e zmKK*V@_^kRZ5+(mr_41gOQ3YmSp%DwI|J2-N}4V254lx{e4-eq#s1bZnlxFd=ZNx; ze!k-2yqLy(_kjsgLy7~%cCYhw=_e~0^;HVZ``NPPMb9SIdNSUp9;ghhWL9hcn5T2> zn}n$3;G;BV2I23LFCEgnw2u?&H@u6A+s8fyL^xM}Gv85rbgI6UMQ?RW9Df2F6dI4C zSXKr36TNOUjV+EAv@T2*e?2VJ)w<9m(Bh`d&T0dBp7~6mc;JS8sCfRxg}MX=bG{64 zp=v=xNqrJ{Aa>Kn1%X-X4T%C3GG3}WqXoza{hdH`EVlsPGI}ksY(4(u0rmh@RJ!C- zpfve(kESrdqzEU!m`c&PIw7DZ;`Ku2un06vJ5gwG`Szlk(9lS$a6$`LnRRViDsGUx z$7Ju8oAjlQ|4A%dsZR8PMSQO|yd~l%p7tG2-cmsxKukxL)@Y>BO@92K=2v6`WZSpA zlLm+l^5~kYb9KBH=_egDv@qVLkKaFKp!0H+d33m^mRcxS}Nfs&4>`L0PaDa6DeG20yL2~vE>l;GY!lSSN z83FUkkfpXS*Qx6E(H(A_c8XW&?=7>$Lg|-fKr&`0ZEiosXf@X+#Oh`h9qhOUUT$i0 z>?Z+*ov&$9xb15V&mM)H9w!P(__?jz(N;cwP^?C3^NxrQ9`zOdd~+ghjpsm4eFfeh zwcf}4R%3Jf!ZI*At4fB@-l6uf=FZhFAc|Q1nexHFO!sSkox1U-Dtxq#)_hnX{LAmc z1IePa=GBuo%_#HDhd{60j@!m=X8o9dr1~V)rb(Phx4z+A*v3Gha%M2t94#bAU>q`Bc@*^kefPW)jtyB1EiMomgSmOtM$2*_meW`^OasFRS zgoPj4f818kM1P?-*FUC;Q18Dh5bX(mI&mCjTi8>^yZ-yd)-)99q#pnu^DK{>pXHB) zE9@6aD0OOk^Ox)l_zK)m{R-PXR5Vy0Mt%Vdn4RsUjSB#_vj0^R1DNGsMsnsZ8_2>f z6MYK0>~Uwk`(4G>Dx52q05xwm>}#x7$(_H+2&UBK!4dF==Bt|S;j1VccnnN+4rZj> z^s3u=07Jig7{r57*dseLEX#Y(SUWK*aj4f7+^Kek0as75|1R;Hanex=11f7lzod!} zRF=7($0^~?JrBLRF``a^5%0DhNy+>qKEDD^J;De8G6^TFg`0@O)Y42szRUMm zSpKx4Qe&Z}erwn9tdk_S9W_&xzo?h6@>o7pl4k9^?p-#QC*vLNve%~^oF>Kxl^_bC*oLk=P`9wK&wNV{3n7me4 zZau2-Meh`FxJ_R{{`|`Hx`(~ish1rNp)SnF;- zHBoLyaBRgTUMMSJ>2CfxPAHjQXF#9M&L=*^McGg}J3FR|lRBcp^@mGUIr0@lW*H)s286G&LBogRy={ijM4E^34t>$P0W*4vsUX#)El~H!^V%bk>BCEFkh@c{%{=Iu zR-%Y$7*LJQXxkPv%Z0`3Xr3z@eHSe>{vn-Lzjo-((6rY`af6U_KEV92pBRSWakemKSJl)5xs9IBY?t*Z_Inhw zzsVgs(9iY4E@O1b2iy}`<8?~pFrj*Tl|dk`*LhI`4+UXO zT^Iy8P`7tdUbwrz<8OpRVl+tE*~MK{*oJ*dN-smrXnfj}<#jh$V9D+%Ou)w$Xcai= z#R2tSjD$0q2qSZvEVqF`Y}LrBLDGQ7V|^H+&&#gw3ic*=2FyuZw(`S~lTMqeaIT;9W-kWPobe8giUsh=(xoGSk^LyR8AZA5PZ(pt?o6tN8 z$pS5dsNdjNEx>gw0Ew$lE7M=9B_&SjU1v*?4ZEy)qDY2R(M9 znHQZf+A!BVnFLIS!lsTRc=m9e_vj|0LVw@Uqck%k~`bqB2Xw6`Y| z`&{#YYI0U?X!VGSD@qX%L;>|SsnLJ9J(kp*6FBa(H5)}k`a4T(#W9dJ;pIWj9#dcB z!C|AICFxWjI5YiRq3Gz76clOdD9#x?kl~Jf?!5$xicO#WBF?YK6P#f9PBffgmtvDJ z4WRx=BlZF`xXwfKFo@4{9m zMUBj_Gq?Dy$!o*&eVc*0I{Awh6V-7;WrD`7-rY1kk0jCM6|0rc4#eW*(>S7(I1Q3b zerGXbj0@G8jP(lS6u#rLoHCZ*^};kZ0hN`aRlf8mR9@jAiS^_~{Wvaj>QbJ27b_BW ztll?kJHAlc2REY16f5Q+dpY+vhYTcSN`74m>)vU^$zr1QK{xC?vDr^Ny!~{Us~Mir z89iLo_L@=HfozY$i|TR4b=EGCs3ppA%D zl$WT2MQ`5qYPYSHvgsR>9MP!LCu#-25|fKwBy*q7vJdCa4ny3sAZ5l%zA6t)Ufl%0 z(I9ku2+ZTA%||xS@)lfg=mNm-<3o4x8i>jxGH62z>p={2>;J{lyEhj9YVA?>-8Zvu z6gT|6EC=~U1Fna<_FPF{HQ~NR+{gJ!6li(q$|+i z6Yl+a|NQ2L3t`@PP+0#NZtn2)I-sa(6u6)Bl`xxA$M(}}&4%%t0oZ9Xp+BRCuSI%Z zmz*fBh@sX@XijxIWJVUXe;~~{`P(d&`Hx+QFMa|g?tR@*&CaI37m$>~Qb>;Yp6}hT zz#fFp21777)FxY+%pFkFam6ifE&AaYsm2C49T`xevbf$FeNuM7SJhuw8Xgr>b3vRZ z?^~gky9XxNdQh&x_4ScQ#wYSinV0vr<@CyS^efjgoN$2mIrr-`AmK3z>_qd+tM-BK&&W`lZzwDcZTo7XfuHALkywhh|1Vx)Q8~#-OfDM zJWAnL9r@PPrJufIZIXZ03lwbqigNM(k?TKH$?bu_HM}5XB6^#rL>VR!cpXUVCJ*Az zP|gl+>}Pw2qJY)N;Y4<3C1-J$M>dgemyJ@-hm--$ValFvG>1LYOGZ}5otkS^SDpw* z%4+78sjQEQYsuPo9m$rp;4=_AjcZLi3iyq$Es$SP@nPon#$nm~Equ+cJjR~FloYtH z@#ICxVfqsx5x@?ek!#SJQZ?6In50Bo$(@tpvDW~Zn{D&pqNL$mgKmT0OdgRcwDu!f zsrYsbz+dr%@*I1%csk10Qw(+54>=+|UIDt{YEklpS<>+1>ajZoMxJcrgZ|LB0Dxgv zOsy#!7j_PYYR$59N8SPMZL7ed8_6Y?<0f9pSZ`k^X5 z!fGz{hoPs%Zz-CQl>azrLD)P9d`rZ1w3rwYn|4(bq;ZoTh#Ik&EBN5s>lJbrOrqo-eMtv`b}?sG8nq=pyLew!mvo65k(Fbs!aolbKzfsW9#5ZM>0>RWvZlL>j)!UGkOccbfHR|}d-{uT>8@AT%Rlqo_dRay zo^_n;zIog*p-J`E-RL&pR1>>>lfBC)eE{0({Wf$qVm0v8FTrSP9%0<%j$}E_(E1Fq z{xuPD!nk++f{CuA6mT*G*d(FWSaiL5$cmr&jBr!cIc@LtUb;(9{d1$hnDd}8SVMRU zbWIiINql3CITWSH`x`Q4aq|p9Ik*jF0IquZtV=}WE+b%y>}S?dlV(ajH=$WJC2>vD z3#f}x=2ORjLjMKjkk9id?>?Y)1iyZyRSFTf6oFS>r;OZax2{xOw^9c3DB}FZ*yjN( zL1wg}#N}M!wm%@;j2|++e|N5Y5dEujrJdyZ7ASRzn4Do(X;gQqx#3_7G!)D6_r9sm zM*6GGd)K<4vPiworZGDt`RYl~M}uH&hl=FU%{@+djGQEQ_`w>w1Mm%LjXFOoi|OKE zK_Gl(wf++0j_uK0y(00Qk^}y2E6_XmJ!p*q#tfNGajk9Y^hy{M5hemP0;LTWVV%XO zD!0aes5*C%uo*wn5>h#6R5PEL0~B_GD)yi&l-~3-Y3X$3l@WuKqUI6Hu`e5%ek*_m ztvi9|UIK?Qn~5xP#Z?pPfa@kEtSNK7UOlV({MveB)1(l)YY*@&z&CLL2XnU)Erru1 zc^z=?Igdq)QgPkGs|DX0X%u58flYK%0B_SR_q_9nE=czJ6m$h-K648=|G16F*B>zX zCgn_btNb{lD&8EtTzyn*oFd41<}KM;>$bhd@I5c{7|5-S`xDU3wgX}EmCqI@EIQ0n zXK+?3R%)LV@sf&&A<#s|)On08;NBxHgF~6Xcc-xXlG$}!c&FR$0}`!5nvfp;=19pT zWyZOyl_D$~6g)kT%-t||fYaCyV^ThF+Dib|rr5(yTqe$RM$IOk$)&84TFau;TPwPF z-Gm9vZ#`$U$o$Exn|FSNwTT=M2`h3hv-S;u8t1j>jn9sRxsrl9b)};EU(d3k$(a z?KIPD3Q#cBQC+$C;a0890CBvhIfhp0iF|8XTkGAeWWqsBo!F7IoH`s^;zE4CMqP>5 z$ev~dP*^J+q14i?X3U?LwLxum_0;vs?ge)(S*e_AJMyS|!1r8$ga#<=;&?4jaLrA3FS68?LO0gh{M>eGPKRK2^(u(tlQ z30V#Qi@o;_Ybtxg0B1%8q@#e5sxnH4APPtoP_fZOdW{aE(m`q{YG{gpBPs~eRC)&? zbR?mSQWXd-q4ySg=?B{cE4yXZK$X_nv#scfR_5@3+$C<+WP=vbIrot4*rj z5^YU}9PU1iAUBZITEJ?@Iyn|5C7`?Cx~69!a zs;(X%9*wl67uVN>gzT}DGTJg2NE@PWJyq&gku$}g9y^)XTJ9B|pDAzJJigVpkPS*9 zjDG`NqWq(36z&hIR$EB9!yyyzwl>UeyRIZLpk8`OZz#~CyyQ-akgi++pc5ZJhe&-s z3S%ZE@0B^MA8*kxF>;XdO-`Rl5Dk(_d2xk}o4)y8->PA)i0AEQ_hkfbsTq_C*RxzB z@0=NUI*JZG?U@E4Re{&G^}~#wg7BAQWF^2NUFD^{%x(4wqn8-_#y;Z2scDwfH>bJp zs7~Zz^palkyw)w5X2Yq&o_n#o)hcDhfCfo{3VjIGe1Ia(`)gkV028x80AI2L2ykQc z3bg&MzmWPM2=59ZK(90$pxBRUkNVZlKp0!Xf@Em+vAlz)GL z-w^1^DiBXhz?Vk45HNK-=%NA*Auamb#>3ol4iMf9cr7Q}xSL<@wkKpX@$T2%ZJH)H zelnJIAwVe0ykvmJ_|RrN@uJ5$-PS9GuPk>4LYjf9z5%a^6Yzs<0H9Om{nj2wq*(+w z57YlR4-o6gfIXr60(#Fx-Rp3+QH~%_b;}~))90TPqz}g~!F;@a=+oO|EIZ`+I=qBm zgjG&M1$REtWJ$Ze?5_6t$%YRtdv^iMK&f^|v^a6U8ba7Z*w*6!YX)3$HK4OmGwZMT z(eg4=294eh78l2_Ng@;VmYxPRAM8r#kXl}E?$ZsiW#%kb+@1p&RM>+3(>G|2|G zQKPD5SFg$W)LvQlgM;+aPFLnvk4wLbP$`o2azFS& ziqR>KSRaTr9L1g5%qt(9@15^Tn8!Z$#@1eu++*&#fAj+;R^(7rDN&89+{#9h11Osx z5&W;u1R%g#ym(`-db9%9yZ9y>Ijgi7g-E*MX&ZgIp_r%la9;!ExsCGCGql5Zd}|=o z9Dpx7j&}!J``rOX`2R#`v|Hh{?%Y?snoGsqTrJt;F5DRKFGq`0Io)CU^htziadqa< z!V=5ToQ>}EHtPG4^ZQYKxPo3Mv8yqbP09W_IijBVa%+XwUChmpD&66h{kTSH)S8yA z4b*vP1{9QJ+cd4JC35nY%>5mi~p+Y}EfhIDTg`hOT zme?o;YOkD*NuTvvt&cuCA^sSF8b7=~oQUtl^Eh^Kh0EG-%}dFCJ-UFvL1`A;?>l58 zg(}Z)BuxXUZXE6~5o+45`J5;C+D5d-14k9A@d|-BtBI4Jdrvl6hXvdCm1pT@Qu!A> zX`y=Nwf=#eB*WV{Soeoe`S5&I5U`i6jU_6o6I7O>ODC%(3 zbx%$rc4p30!|h>R2QDrb1$6=C<9<2DRx2AW%6&$kv}`6EwwKkDs^|2(kAywE4@ zsAH!X4B5Paf@t;{NH`W_%Lm2jEzGg#>a`DTC(3B=3I3HYh8jGA?Txc7ES4k^+iw97 znBna)g-H8Sa zNJ`2osqc^6kB0}Z#5kqaUa3=;7w0uWy!%u!Z>)P+P&8IKfAFAg(n!LYk=?uD?{vl*R(IJ2y;Xe;S*OO=# z>b`GR`Rpkd-UV0RDDQ0PBEl-E*})X~m3_ zg8N{GahcXw<~r*7&f=~R3$;2|`Q&tW!33*?h5x*q*q<2UBP?aZs|nLvQHYt|N--Df zxwUEBV4$4a&AH<)_H+JKxqlWf4pw&e&+-^hSaw{KOokWW9vVP?x zqI9YVRgP_h)wySekJ z9BU75C5QJUMZH=sDn2!(uly)Qw@alDXr>OfMq9X0B%D~zGj*{r;B8S}|@u27mZj#Gqr0T`F3%$Wk}4e(Ds}?wyWgrZ7+Cyda{s-ek0-8Sxj)D%XB; zXvsOyokY>MnR&)#h11Kjo$?p&xk3Q#>ID8wu`u81;WjTqdV`#Z&0~ahX3_3lv<7i{ zcldg4zhp2@`UwU^nx0{S)BS_DdS83stY2Gso633_7@l?d)y5ThdTdoRM^;wGB~@gU zZ~EKxfeJ|JIA~S*4ps1do0p8x7$*fK@5TIuHDlkXZtV0zIf}!$kgu*>EWZDXJCjWA z=1BLgsT%s*{>a@T&#ZeEIj!7A9(I*If96-)95pU>fL&p|G)j@mcmfph;|nWH1$IBS$Pm`zxSHl)5|%u& zHpMr1P)G8)zAX}T7!+<|9hwku8)>!THCob9@iO zq>YV@TvvZvlA=P)KHbQRKkrx!YCS&;6SYbz1B&+q>Cje4sniN;>bzS*ib`{*Jobx! z#X;}QxBXjA$k`fEpv<;1hl@hOBI9Nj-Z`c(_9OR2fA_vTACOx!A+O%#?$wC=6S%MF7FM|L{w9tF3qba|3`J&`0W zw-ws<*!d(9U_KUn3a2g%_Ys+0WPB69D<;z;-(8}X@%qzTK@Ap;2j;(+B zAPb%bMJ(}ZzAO)Ck};h&yCtB6V+5YW^~E!kw|?}9#=Jv(!VmcvH;@1)v~{_4y-r2(5(}1bE$pi?8P1V z2q@}?Vo|WCN=;e#sRw9w${5KWNzfL(`#?|MCQY9i0@(XLsERVan494=!=ACY(c|Xs z(hty!Zn8m924TMnQE58?&?DqTIU+;XW~r`JaM=0E1v&Q{ZU{$2@=O?mMLzx|%Au6!MCe&wE-0 z911Rbc@9=`Z@S3P)V1Hh)}uo9R?coD4j(|`JSF%( z4+Pd-39XjuvfSLKBr~|YSBsPZH}@Jjs#ad3>s$7(uyB^WSRR_lOA7Bg>V!=2%*aL? z-iTf<+vr_CN%XkgnE2S%L+sJETxw)MJjvm-#8 zjvpXV3?VAmu~U}WaPbx=-#_8(Q>;2LgJzlRd?4~VgUU6s)K7lFIw(;7W-mg6%e$(c z3|A=v;DUc_DO~zK$~hLt4~W|g{6jOfC&j;qcD!2LKC{QB0WTnrUfv4$RXPL+%z1iN zYRj)$)gFFPJE|qUPp@9nzXIwr1eQtN_RS3r-eUbG`WrZ@OsYL5iVM-l>fGL5kqL~h z>HYF0&PUN$L>k!>CF|9Jw{engKxmX7dJX&}vd}_eEV6$QzAjnTi^tRrW9T0^Q?*ze zq(FQFZ|>ZjK#rd_CmGtDxAZ9Y1`}Y%byXrr{G=N(5ye=zRh##j9AE)ll-aZjJ1 z6jR3E+0fP84F(+X6%)Yh$<4z$RJqAvKC5E7a$~p7Zwt-n&!_sNwu)f5qqNmN#EH%@ z`7V>mGr&rX0hzVmpff`+eX91iebr_CZuN*O2{U|+o(XfL@@w(od-MgAw0^Hy+&A3{ zqeNYAy+i=g%Hae9?Pb6OIuDTF4(cBfCRPN-3+4N1Md*ax=_QeWpuI#3&SXGK@M~V2 zl2jPN4RgJc^p}Ra;qlR>QVj?@&;G+C(4jT#K6ES7ieps=X(*R_vn!}hlR^>j+kS)b z?mP*a|2hc_px?Red$RTzejg$ehNJiQ3g4vj*3#Sip?>CesmpD|Ol|pG?jO=nBH%8K z&j1GnQPrac;A*EH4Nm{rNgux&)SD$rM+dm2pKKR9et5>??_9)M&-S2GCGjwAbLv7Dt3A$Pz!Vau><0Yne; zhzWD~aE->lwF?q6U-ooToPnX=uJkSvO6>l@+wjbPkbE79)Zh^00d&4%+xF_i4~y5l zqC!p=bevaf_9Q0+N`P=do|Ki5IL^h`+C6#O^Q&1G}+EMQ1A zB4s-`%pYiV0i^%dg;Hu4z+{kZL0uer@IC7s)m`G;X3en`Z9I62pxoo&V%sf=-nPlR z@%b$4N1-9)hSPK|P#%Y5g@7*IV;sa47>HRRyF zboQGB?ee1_x--yFa8lhy)n#$%yvulL>c3AE+-xUL_2v8dbUcH;HjC@$!ya7rKAfD; zA(o*Gdr#HV6%C?jf2*4*!mu&e ziyLvO1+mv~K6`NF(S=fOxeZU7%YZ7m8o)#y%+2dL`!YGG_;x@PoT3b)&lJi7b ziAd6G2hjFlB*3=z#ey(C_pFOl&Hv5M+^G>2%Xlwy^ph$Jd@HWou)WPn$p2D~TP~V< zj4SGLov)pmIz1U(QQz2XyN77nWfWd{WLw0CFc^nfUG<6BYFXLMhV$rxf*bh|3d3`J z37~oLtAtuI5P(&N&S?mD++`MPIJ}f%_}xByQ-RNjkD}=3kvCprdO@?miFv+9@36g# zTEk21uOpAn^v;18XfaDZYZy8YhXo`d}U6}VfmpHEIlc{CbrYQDM)!%N8( z-jt!Q1O`PyetE3XCjXSkw@)4pqO2lPq@&p8?e5&EB9yH(S&=DxXfLx!tQt41_7NwA zydrunV;m=@{vZMdzTu_Apz~-;pt|CSw$nAV-_6rn`%z%0KYOUZgHbr4H8w!BAK$MQ zfpZAy{1e+-Dkzh0o(?92NB}<#Kjm0OJWz9B`_rQYXzAAiIsFGd^Bk(48y35!H*xAB zgk2xD;4aRSITRSlGs)-kEp>AcT?AKnM*MyEG4uN>ek4`Sl=DtsEt$!^p}?feTh=S0 zy52MuDSJo6ks1Ww8$)r`OOp+w3E~kWU^GH8vZ8RYwVr_;460(h2_UyASI*m-c$;yx zOLeOmmrA}23%HC(Z;ow^+S3>n?T{KsV>30ajkX_+gc|FMagqvoxo6pQ%Qx23$%z>q;=R}QF?N~zZ>TQ{ePXk&RAJ@T zm!nOQ2C$Z!9BEUXdH!WX5^ANJ3mx|z86-xcnS2xjvH>ZUwwa!(Z6Ob(Tje>m@ys?r z1-7i3)HkV=g_B{D07{$ZigWwZWBC}A``K1d3**m4>edc<7-TBxQ$_gjBQ z0B$bc>KelCPJ^|P^q1W8Gm(WaR2qA1zKW1eDT+jtlVGsnP$zb~4c@X~ty|)v^vyFV zEb^W^H``{rVHwm2fXUm=8|ZhwdWQB`g4JC)l*U)PPB1Bzozl^5BOrM*!YQSK!vL97 zFRpVcS>}s`0vj`jRWdu-_h!tUy}eWm+E zNs1|0SvgLEr~)aa6VkoP=ay%0*mq>MmJPhi!ilMPX2zl~m7>1gg4P6J(@r25vnBVV zZf@J3+fN%Ha>u75^{{H|4S)cP_p_S+ujC7$L;1yf}vRWZHc zU~&TRYuH}85bFx^@|;|3-JJ&;d9YI{k{Tf)O~%SK8@I$>Vho6{Wu@JcMt@%zuT>zk zt2#jaoshr_0JbDBQK$40j6-YtZeg#7@M>g+a$U`&3Wo{$Ikzq8%J797PCXCAbe;f3?#YH0Qcqvygg>u&K{}6v*13S07Xs0VX*hdX_t6+9X*wpi?34- zs5YCqKq~TIpQ2P}jEJ%VMb-AGUrI5fqwfD_Uf;@r?FGZfm`Jtd3#58`Cop4jha~Ra zsa7d~jDy$&u2%gAn*aenKhAxK*y>;~5MO9oeUKjh|}A? zed~AZwLIfHn-}ogbn{S4zIw-+yJpNmzw(?F%Oa_ks_N!tFc*Nw6V~FsijWVuYvlUs zc8TnNEfP%9O11=}1f!a=D21K%5E}DsBR*IU22)teJHHpcisdDSJ+ zYDstZ2_JG4zLV{z(DCd?$oiI-E1rO&ymPu%Cdia-Mq7HW zHJ^VF?c1~d+_H4t5F*pCw`}Wn0UdZQLl|MSOC!G{veyn!D{brNom#}t|9ScW;H8Ay z$3Ba~#I{HY{^j)c4}DmUQhHWmoBZgCIRomQ>F^2virPcd1+6P*+B(-*+T5oP%Al?X z=VSX;^GJ`oF@R?G6q<%!{ktOHaij>>iyZ=pCWa8@zwu!F#4HYZx)J{FMKZ~+LRi9N z*v_3B-`{INXL%V`;yIOXSS&e2256Ywy$`XZLVajjVK$Lnl>YyJ9AM#6q zCj+!dTZC&hA!hj{(tA!7?J_6lC@rS~40ZrYL)6Ass&uIWUX-S_#6i(Te1v4DpX2lj9$bI#w0t{U%MMu5g8t0iT}gLMEl1 z!h=S*?GOMM`T;9yghmX}IAZyln9#Iv%buaY5vpp%BuW+>X2xQ1kOhmRLdE}{?PC`a z?Kze^RrR_nztnE#Cq3C5wAL*(lpxaWFi{KI-}?XVcOFSUw0XX$aov5Yrvs}s10YcB z3d_cA(yPw^uT@uiU1MQxVrFDlDLa%V{t*hT!lj%Bj}t31$+ z0jLiHE{qKi1?jVmXca*hVNm2)y!86+BerpNs$Vr=8UHTx;^TS@}5NOeH&M zV7e6)RkeR<1Zw3^$Sf*+rSAfo6LRTNws{OVu3aa)=kxuabqTA3;$08*?m{F+H5#~} z^B)9xfCs!pyV`~$T%w_1p(tMmAyr3bCHEpTRZoNm+SOLJTvJMXcJbJsAPLcKgwq5} zV_zMxZLwzQIpfitF5FNIK(5n5m$P)*Le`TFqhmxd=vG#!=^j+MzO6y`0eqT;!>KXW zC~8^hv*mm5xyt6~3R|yFvT6cd^wt<^OPvseXxJmxu-A9>;KpJ`v;wr_Ob69(<>!w* z`nXXAjc+0P54Q)YT#|x$>}w-S4adp?@+B(z8oq*FLAu+zF`+u z9x1&L?;emO9wf6PUV+#V0a5Rf^W;Ex3t(4Mn&GqtN1KpD-1{!q3H8Z=w{NJO?Jv>< zVNElEf@MG+fo_=7i|V>k6~iup5jbBPZ#2J`>22XP_)p3|ArxYAPp@)DEaaK?Xg=xf zZMCIRkZLBVn){F`eH9;*)2W*Pf~}oM?HvU$zmnGtiXFblN~Da6?x90&-WXui^-&D0 zKdaA55l9kn&7YNw=Z9&)j7n$ni|wX|arvL*Xjf}hGS$kit@1rXT>MEcUXA}9;eBdA z!fUmP)0c|=W1GD0x>r`@c65|(_wF3hA*=e>&rni<8BRuZm@8m^e}_Ng2iDR)BxLa>Bezf--`W zrT`rHcJ3=x(s1_Y>uu^KH%0dzj_pu(xPn@vAy46WfsK^J`WBO;OSoZUZU zLgVbxnTf9`oQs-JTE4v;_$C+P-K(51+~JIy&nzcSl7>twF1$%IKPU0 zqUKLJ_tR_dg{*?B_9|izv3bVp5Yy-Prt|IFx|9jJyfod{qXKO_y>NMDtCmY*Uzh`H zF3CDrsHsl1Uyz6H#cDYhK9fD;x|7$OprN8A$92F`yWZc#eO>+Mv#1g;E87^0+P9y+ z4cxYLVd02hzEH+#EFY-9RH}2s_RosPnXD))0=YLQ6U5@&+dTvrg1Hmi&z9!NQ5^qC zA(=ns+;>URMjmTP`PsVr3bA|SQG#f9?#j~D&A#XJX)D`f_MaWQ?)Dg zN3Zh^L5S~-X8^rBEBff!;jp@aKd(6Dh9ArXY<>oE596qP04)tst!$_}Dk+0&hRZK) zcIH)o#(RLcd)0N5@#phPXx9wCck|Ly0lxjVhUkYqC8yVdXQ%r1*`IB(SY)Ka9=RKo z$w6`DkBn|^dLqameCv_lakSSo!=5xiKp*ku45x*mH#I`3-Ad`TE(%(*kP!q?D_GyM zCeEPiq-xL5B1gr{EEDP;AeV4Ioep(T?)F=r^Y?3fd0~#Q z%XP^FFYw9da^L#Y;;?_ChxT3$&{TcJC7HmYU3mE~<%22V1PTRN8h97|udNJFzNGsS zw0mGW2e5rr1t228T2kxgP}xV8vj`a{aAA9Odh^`bks3d^6LyGki!A7kcA1(pCJk07 zqjTUygH*w)oDi8J`!KF}d!X!OkgG*9S){bWO(&?=8&erlx0qu1^POR~=Nr2$cya1L z#${}*x2bC1C;vS7`XkQT)|)V)sXLRJ|8a(WqZLt&)f$r4DVZS(chShhOsoAXE62;#UFAG- zbPMO4W|#z~!-MkJcDSjP5J2-Rttnrd1;7C{2im?oWWx7H|8^O0T z%ehK2M}!T!lDR=0+<79Z%`^*bzfU)2E%E%*_xU#oN~$}<)|0+Y$I`68br-3zI>>sZ zTMc1nY2^Pf{qcEML4J%gvxA&pMbXPv!8D1SuW%mzl+dDW+YcQ3pc^`eI^$A9EcUb3 zB*8I}X&e-9iF67*c6xVULMxLQ*0z)zCOOkrE`YU&sCjfi>=?G{T=taS9=BB*OHJ#ZRTs5uAGQq7NS*zd&S>saabx{f9Lpi|^J2Pj?VWj}fnkL;@PgAN zsxMbIv zvb<9F7d^BI{6DQh&-bFa%--ZL8t5x9p#{XrN~)VL&uijN2({cm`$|pZ0=@_{eHdOq z$&&AnUy3c8?>LJU6p8{CE3gV7rQTsN(2hRxj|sLH=YoHVg+dDvt`b{ovJiQ2VpG3hy}Rhx%)cj`?ii~@5M^Yo{}TcvU!)V>A&Z-6G0yUZCPpmYMp3~(LPzHW;T{w>jr z)fi`dhW3KbgGQP6WT!U0Ue3Xvx2IzcfR!9&bnIVadj}q6zM6QB(l|&?q;3c530D!U zNBN6a!nRJP^;>f=L(SIzejoLOYtkDAS9719eWeSutgzp0$+g`aVaAVnj}*qwK(s$4 zva@>}qZ}CTKHL$?J_nrSO>L$_*(YMQ-WeJioa*|On#fwFUmZ@I9Jq0a1^?*}J^an~ zX7e|Z-mY`yDhr@IIgad`#e%w@+&SYKUy$N~7{R#nO@`M8b@MT;1??bAOjq-$n2M1_ zOe>tBI=x-S-p&$0-p)UHfWz20pmzq~xVxPGTI`|N|L;$1P;hUbcX=9s>cmOytCHAs zQb%N^GkCds%Ubm!;HxGYA+hch*sPYlj?*m9cW+@`znT}XNgi+mqd@?Q1|`^Eex=>` zm#OG76!Z8w*q40Jeh>U=J4;u_1wU4bAmYA#Nw$Xe$%${ZvF&2k^n^BHpF7Y|tV3>8d z$piL&=0VN}DwMpdzzj=fEhhFn_wU(bjfbzpWY1)`8HK&x{g$ZLue^Ez)sR>q6Gw@( zo3Q*VM^GI-*;Vu1!Oai+rovtqB72}Jw42ANR+F+r&W?CY@5-Z?@QJ@8cW+fFU}WkA zFssKF2Kwjs(>G;qk!dH1TocooTfb039+c;omP@lD2bdu~WQz>t;N7=`APeEfH)mMG z0_mHf=I&x-t8wwYE~`+8oB<*n-EnQ6&vCxL!`(wud`1K@^J&l$;?disvy%G(4H2QU z6d2|{)AsY!xDiktv<%@cVAmyvTW5botnUb#*z$t5=*Q=g2uUpll;y!j){xq)mvRlS+)kUGjVGXoDb28S#(B0l2~e`) z%OqEe`F*xwk~`f?u{C1s@1CNQ5Zjy$jTwK^{S^OE!`d$9-ER^FY}vpWJR`T@3K6|GA?wDSG{2Ikp&vy1kQ-h zI=R^Q`v*Qb zm+!XS#U9ZC(K5>RnQ?KQacxM?NP9(w_`c&q*x6BA_CNzJzN;HTAulw=jep(;<(6dF zC|U=a_#r&-uYcU}YNg+F0{Ur|f;y~Ho*7pL4H5aFJ)zlh>d`_Gyc~7dF)-+^VuSa8 zER{4qRGiUzmxaMPUrk!78#LXe6u8wbS^}at2`wCrwl_nA0XmK z&*!MgOO=h!HF=3Jz0i@m2qMj1qwq+lnx4Yj(>DX8WSv|_7Z-82hNwNis${Fjpzm$E z-ydBc$`G6gvIKl0Or`E_omTTHP%;7>*Zjw~cc!JEK<|BD))q(c^&+Xx4lhzx?Z34Z zX;F8OF*s(Nsl=O@-O){eZaB1Dm1dAT#&9|+C|C9+D}1thb^F^XMh;F+J}g$)XqWxH z&vgajq<6cMSD^T`75Dv*Cq_aFctb|&Jn5MHM;4;|Beew==(f}J*_Xy0Fjc-RE>oZ0 zyB)yH&OlJj@$sT!vBeKoBQ|*$#m5IIC`VQX6z+j>bvDOPQc8iv%9$B9I_XW4U+rwd z8K=c)LlYAxkfWDWzYv~Z)co3gFR?pXtP6bzN=EopR7fMYSY0?TaKu#+;znYucKr2; z6t4Kz7kO_Io1~8-B2rW|6tjAY{i_Ws$osXp>hDkZ(tiN@+rJs6>kGyvEF@BOM!~>v zvgfR&&Cs`w&p|HtK0<QsqF)qlYmf&8^PS zwyD3lZghI)8dI3V_Fe-OIa$%@*LJmm^LQti{r&Nf2Ss<9>uFTboZjC|;JL~KcHnG* z9A?INvYx&P7#-OoMx%dj(s+>y6w{~UX0s{3X_IqSMfOLZ0p_c|R4ygZpwqXZ53Yq? zC=d@_9p?oq_wQ;tK($Ta0(8IGoU{Td(IQ1JhFA*`9iC9K~K{Y=pVQT$8vG^5!nn*e6x;B*<%J(7lEWV z+l}MnocT&73??R~XD36C!5rEU=LV*mT)0>pr;H-JudPdHxQyooC+mIFxW{fZ=RN)# zT+)PiYQv4;JHy@3R7Zq8NppjqIyRYac`V_|dRcxPflaLN0( z78Lf+r$_rR-Ks~ZsL3Q9jF2o*4*^-a5tTBElaB{fQUPxdd>g0xT>|s~gZ)+QZ`0?$ z3*ZevL@%cOjk6DI&i2I#a02A|*T1nqA3Y{voC>?7i8+Gf2Xk{-{$KgVT#{|!3a_}0x!avwr3V~(#`?}Qj=9so&XR7gMnFSA!Po--;j*Snzt}J^wb(@V zjON}CU?8mXvZ1|X!gL|SPXlblHK*MAM~?$)*z0S>i@}k|lSH5$&M%j5_8}a%vV6Xd z3Er`>W3kv?Fi6s&SyCRF3JXTpQl7t<^~c`fDF}`k2r8pj0}QVOkugtHKFQ-nt8*;>GY+J~x{21dF5>HT^KFe~6ZUkf)Sm#R98w@}s+=eH3hWEm5C z_Qppstr?V1WORE(sW(Y#MqeDX0b$`A{ zdwFY3ao0le+Y4o)SmaQYlg9|mFcoWtM7hr0E^5!*`EC(Atry_kowl$RKttrl*T_^U zjR)XZbWzTDLIdZHp`hf8bx-U0_ODA^=9R%nusyk1Dw9=-r6`vl(<`^HGl6`am)I!| zjf{|Muy44s4>3&2K_&(`VuO3hO>I<=3G%f8CMa8NZ9hs^tyCXBgB2KMTAKxCs6K_o z;UT%-$%m{2B!P9)OWXk62*=!Sjz{a)@hlC*&x2fRbv5ut3%7?yl8-k#k}MNmnBK_^ z!)cUwTm22LZ0;U8=Z^HuJPASFfA;;*JdeLF^&rJaOda$2Vr}r)x6^9HWoocGx?lZF z7fe=$SlOUQGE6tC{zZi<+@bTnzdJUI+O1N0he#NwwyQ!K=#Cm-A1$q^I=SC+9gGBJ z88{VXA}S(uD05&8P<7Vi(o|V)2=S=D`TGS#;g<@Gp_RPAiCclLNJa_-^LF1F`6^B(Kv(g-5Uq*lnz_qndyFkRt6MEl>b>-VYx^wqUyD1+PD{^CFCfwXx~m5=Atv0+#J3fBb9z0mz3V+ zS+Uo0mGwY;*5hT(!+wg~PcX6IX@U!v1edF@>lT%YIVseCMI@fir~^e-B~y+k`%!S} zA9qgV9$D@Uj?=o2bgw@yUR@&PCot(SDF^^GQk#8d3=2g(%agQNR)57Ux4u&ZzJBwL zdK;`+$AXU{Y#+IE@(9`S!|!4?_d?v=sPMJk9x_0`t+_A-TX}3jCAa7f|XtI|>M|=U#Ef*-9=V zmC)_RPY=J>fi3)gY3rqLg=>LQ4Cb0t5Vy#><-~lEW@Tweu|62UV!xTkBDL#N+XS9# zUH2_G&5^CkLWMP{cn$c`ltQ>g((K;d@%T+B@&rAqj8ZdB@O4H?pM_3dB%H4{e?Nlp z!tXyW=y`|7DM!$LJh(gbpiOa=aa1{uWdUPyim6e#8lkc3=7&ug$G*#xH3z&%@efTo zq<1YqQpg9=Z&*7#@dR7QyyB(jzM|^-7jrPN*Ru}TQ#CIX?~^MxnzdN{jh#Le5P&Gi z8nNy=`XCwt&}RK`4$=s%!GNcziT>GngnD0cv#aInt;wf3D|*$Ha&Fz=oEIjh!#+~B z!_sfAcWdr4668zC;fJO#)mVSo#5TgB!xWp-bdr`V#UNQwiAajBSo~-a=q<|O zS^xTi-g(&@oV)B4`EvLpmLn^2H2Bhvab?r*@H`}i9LS#vr$w2^**TeafQEzyp+TU{ zz_ja(*3R}cqoap*2%#TY2)pVXDdHJ?19M40Q7+XRFs{x1Q{iaiS(*ppa{zpY=6HYg zxso2+TT0y!6`;ycm(S&y(YE*8Y9p+Kaz|9j-cTq*PUaXI<`P}02ex?+x3w!cJSuQ_ zOK;qN&r??gGJ37i%o219{YBKp*DH$_skmgm4~dewB^J^i0t&(QuWtM8cqddwUJ=ra$GBnvzY3)u7V4*hQ- zs&^$A0KXlfmhE(o$Pp^=sDN{Hogr=-zB;p+M$R%Y-Uoy5#=kTbs5E^W0K3zfQUrvp zk@sZ_oIa-uWip3EwUa0sk5(p*&oUKRCVh=of8lqds8J>?YwBF8#jP(|k1<0%B(zlF zXsBlguxSV=#YXca)u=2N`@P(CqrbU*{))twLggt9*S0)d8)2Y>_dFbMr402;-Yj|$ zz;eV+RvQVDd>OZUAmS^K1*&r73mcAME~jgWvPk#*ll2!X!h#j;`+ehr)sCRnhIUS| zLS2$6!h8LndO+qmmfSr3Wer)k5f{2ki|~+Th0_^!F74Yi7xFbE$JyCnkW_feFMbbh zO3E%Zv+WK8XDgZd-)<{lHcj~dAHKuo+Lnd?OWSgegF(9hib!WyL1lhdtcm;GKOkTL zaGy;4*!PM1%I7L)0m<5qXwvD!(PRCtfMZPh$FWKGGBVlA{s|P`k6@J3E+9aP3vz9L zoI1VKIj{oAjr|eJQgR$S7VHmVm>nOmhn|Vdw7DZ%{eR^0#wzFwd(wEv`gI`CG1$~7HO-W+bZ%xoN#o)WBEz_ z7^Yx!HA0^LB&~b_;O)tfr+cv0BYV?tuT?bYk~CU4FmdhLM)rqJmp`{BJVD1h(d@6d zPhR0_+!gF8k=MAjkgd<&#LdX^wU9ddFOBmZ>RaAmBAN$szfVM1%ZR}M7?@_q2+YKN zdAE|$TU_swT37q|dxo1wnGBWR84&K6bl0xrN&`F2L8Y!gsY z{6j|+;B!2QrogJj9N&mf(XovOLwf=is%s}|{G0hdTvjk5&JMh%bqAxmO$1-}n}P9Q zP)>UWDhgn@KhFXG$HvXgNrhp13L|C@9oPW05Ul{!%5ThutQ4M4zm&TZ00HOk8WmSF zYvmj)lU>{~|$n4wMgWRfM!(T4Wr5 z_IXCqhpbwu%1f9)emNbk$I4i09#`joVynyx8~c)H{k4>pdwO(5yDM9H+UgTK>8-=F zcET#_hi6y&&C)@8G3fyVcb)wmzNJZMsN4wnKAIB z#sF-XQ&2Kp4-7XK-K|^6$N}? zLgQMxLLx$u1J$ii`0KvXCYhnYXJQI_D^eBV;nY%F=*SHbqa$8JXc!O$Gy*v$ZuZvY>Z>D0Ee(C9$#J4+;W)0bQ4D+ ztVWCGqdql6mq{CUuhEfuD}R@CLfq|gI926^iH)X_R4D(8bpfTLXzAoc;Al$)8smD) zB_|(6VRl58OCqs>xt7iivUU?RoRC#una0gmCVXs$vM`!03VwetySjfto zP}Zwd&ZA#e8TbJN-vrx%#+ub9u3p$V!p*S2D^HJ#Lcxw_91pOUNf-iKbSmIG>}GB8 zOBOj=FUP!ekb*@7B7R|=M>(V6w-@Ig!DoCB8V1Dd_X$9V@a4fH!l&iwjgE07thlac zNmX9+IYGtXV_RGE{>IB*5Gc{}0sJ6>zVNLrJ1#(w zn}x1t6HSNTK1?cE8G16p*_dgy$p(UL!Hb_f>3#e% z8=GSDzt0ldBRHms6tyimcxfcgsL}ou2|kK4ggKPho29aW*it`Qsze{KNC&E9*1A)q z`cz2aKjpw-jp`tL-(o-~XUX5x+qRyoN-DtLv71UX?Pda9MT>H#?MyR8vtu_;Ou8}X z`hKy%Z-n~SEghDOY!c@?kC#d4EA>;fh0S1AYUV}QB|gFVF!0f~^IPMdoAVdG4!;(? zckW!}^Hv^iXNp{=Gb;-{y#A)_Yqb{~=~41}V_Ucdd#Q=zw3jD5XG`L#uwgByFy$Es zDB@3hkIiO!!k(bsGI-6})$7(Kxw#Z`j&D2c&@RyH5}K4Hmqt%zOg&3`o(#!&O#bG1%U=6TQ; zdwPgvLzww5kC{Mhc)8CPO1_|wJ({p+XoJ?GfJnt%ddKQfH`wmIRE>} z+4c2RpNZpX;C~&$g18g5!wzsW>+wXIwr1NvVbuhG z`qL4AUt+wjokuCDyGuq%?{WjTM~Bh$b72}(NN}kpK5ex7BhU2saT#Xn)PS1VR?-oJ z0l%-qQGjG|l5r3@0J1r-mTLI`v1)5 zXNavut5XI}uf&8yiymEl#Gu9j50lfD0j+&%wa6G37qwEfH6Q|J3K>Xk8cM_!Y@a4s zZ>rqn81~SZ{avNvLL4v0h^ZklO#aWY($zMG5HS6io7Jn@M&SOK+-!*uxa#)H^O-j{ zmNm+!77ok944M(E-BK?0g0X*&4RW(e7Jfed5;vE4`vrWo)mFmR%g)P^4Z$)i<>h{D z|HExF+ZQHxELdmX!JaGea8`?KXPBR%dqH(srl_60GBLiT|HP)-H2)TV6-GP+yzY|aKR zJ_8i9gaNFAoffx=;9ao4DrsM5AM@&+;|M}fUAwp+^_aoR%ZTHpw6CJ?pWOG;?t?ka zSC$3EX?=B$OagbsX*Lt6N!5|odr>dxYOnxBemdrPD{(*JhIHx0@R)6>Q_BjFV)Nvi zM}RJ6uW+T853j+Phd|$A=3?1Qo(u45SIvXNw1GVsa098IoW5(I@v;(Y?{RhWI&{K#m1^XwrJ|`bDxS?7a^M?j_bmX9W|<6;!+@8sZN$&rDgMwfVa9w z&;MRctt^k%`#te4Y~g|UYj5E8RtV51ZO*5!EP>9){71?$dC^|T+eT99y7R|qgVD`I zP6Ct0HHYaY!C{Axw|Lci_YP3RkVE%v*-2%P(6NnRu+|AkW~0E~*(i_(t8-XcaZeuu zJ&5q=kSExLwoD7F#Kohu!R6ylG+5os4V>#HWAn?^n$bJfxNT>`i;Av(roQo30&s&a zx;{xgB$F8mGT|H^vc(!{F$}l3xSIe!fuz3_sB4uBY|Nfgng*O( zepd%fOj^>98K)bcPB_hne@xtJD4P$hrcmThJ0?##Fmv4V zw?O1F^Gtsej6yc^VdRYB7t(@n3==&`v61ql)ba~YHIW}i=t-Ve=*Sca?bj}p*rRYu z-ZYcFt!KHvK||u0VW{`ubSWvnFhlj4-gyuDRXB`Za3UyB`BlK4w+nF%q+>6A3zr?8 zX@dH)UT+J>qOZKr2t%1wv>p?am~9)$qk`5=+gerLvcaW2qhy7*ia3_$Xw(cYehg{@ zR1=nOVC~&wo+R?qpv)_eih)_J-yE4^3FDBbRACh^@I+pEsoB^z<;$PG+La@{S?(0Y z`%$y^3V#>?CNb?pJ*&ZooBZOZZ@3TO&pUQRq(SEdE>3l3se4S5$3mxnNr6S9cm5W~ zR^g_nD$|aAeB3R)_5l2G-(0sXbLlgjLm$DpSKrZ};k7u;iak08K8pMeYoeeaG%5Bz zVg7-pPt4mp=U^NxCp<-O+CY@Dc?RrN(#nA8`(OoR*w0=4yn^z+MUhvrykO4+^d0YB z9gW|IDnHA5X9DW{h3ZOTs63Q=Xy{bjraKv^Vdix=&1mAlWW~p6? zziVv$AKjg6R8vzuQ* z&pvy9`#i?a9Px=s8!2(F2YAhp5i=y&*f`25RIcG33CI<*3OzH<{~>BnvHkJqV}ibz z?z=45Rouh5s*{m-p> zV`Zfyj))ypfBdt|ko{Bk-&#r%E~uWPIDq*vc`Ah%MBv+sGIcnnUPg|Hs zOe(kldT$O%i0M9j8Jy?vfm&mS8Q|$BX~ehFW!!I+!x1#k6ORD|xU)DQplHedgxl{O zF7+S-zHiNWVG_7X*C*xjD4-A@NVeM3yxyI+CBu*l+Sjm!Q6^ z;K*`DJihwqwU}A3>g+%K#r{P9yR?t04yejU4ee)-G2{I&YDvs zo$!U>31JTggZd6SD`VH`N5?>N!tb11>!ON|3&GYB)RdzLE@l`c)+0QG^2gvY6J6nRnbQ6;VN*}MjUKo@+7QyaejJ2o3A*@3o~)%gs~EP z_0v`QlxNf4fi~^o{H;L3q@_+^Op&zv_}-jBUDwrD74hZIe4e;9pONokaz4BDqLv<{fE7vOPWwkjd-swhlTE1*H0+nYm66bPTsZeorBd6+X zGPF(n_@+(eDtgdc30n$xSmcsl@DIEmu_pT?+s$s_ zi?#3Q3YBQ?&BIzh1U4Qgfe)z?xbwdN2m0;Q$P`u+_Yc{OLfXc=L2j7d!`=rIum;m* zgt5U5mO$Tx+9mlDGpt+%nV;O3$EIM*uW0aIUPpzo4kg$Z+Aok6NOa}(l$+Dc&B3>0 z8)-Y8Uj9lT%Sogm{M|AB`+uGP7U5=Bqn()bgqLuzCGIyPZ_u2Rk=W!WE_ve@8HnP6 z4KPV!qDNvgNRcJ#Py^-S+5^k$Zc%62vtKu!CR9==5uMLU`J30z7q1AkwRz6Z>BifA zRZYwuYO7gsSs5F^Of=n^tgSEH5lzlhh(@s=i}v;5q9UfcCh(gAdDU^E8@LX_JXxn3 zp|@TW`}Sc@0xf9|UmQQtw;Vg!Ck8eR=bYnYx5PSHS`XkGg8e9wG3FKW zgt}IZBsM_Kw4#^vPJ5Q3ZE{!snEQ;zoX~S*$J_uNYbU7Ty3{yn54@xTqe)3IQnV^y z5>!!et29VNd;2O+>Y5}aNaNLbBv9UAr$w&$;CnCgOEeyaZpw3eIaG#i(d^>09wB8l z$FAb%+PY6hisp!8XP=9Y1HbX2zgki_&=IAVG=PtT(>igjxr_8cv6A_w;Gp2S4+g1! zICdwSE)C+aai4a8F^6iO+OTOu5||m5^>ZiK0z+>x~`D9!Q?!rP^Punx{cZEHoEa7ed)*Cs>XCP9~HRFBLTuXdg?_wyKG?OaoUU8 zE;!AgY$~;G>jfSrO6sq$kVc4v6I;l^vvZJwKVCEwh^iG{uB~^&+7lZ9BiSQ!*P*tc z*B^U5H#f#VQX0S4IojW@mQPg2t)^y&GfP!;#poSmAY2WX)X*F zuxEf6gvf=sEA0s}BXf10;1IIdZGK3l?hM^tBNQD%u_b0KclS%)yNha_5wl~}X%Cfc zaV~*KHVhqB;S`0P@RY0boA=wIziVXi>xt1(ZLT=#!w(Fdrix-FBP0*RQjWQmL3Z~I9Koqu0T1+>8A zt3-pgErx#(MF;+z^^)ZTB^it=170;*m}`84{FY58_9q;dZ0K63Way%^1?7D}rB^_u z-bT=qxyr}J#PD`%>;KuOS^ZW|uP!+T)lUhNhsHrlBh)fblf_0#%fkRc0 z89_j+5D`ci6BQ*;ga`ow1c=BGFoejEIU(Op0ITOay}omu?>+DP{_)GDSIG11ajmu2 zy7#@;^CY-B@6%YWyBq?6X#BK)?_mf;eHsE$%ld37xKaw=pAEj$!Vd4-4Jm2W9|u1^ z_50E3M{p}?h3w=K@cZ+#`;Uh~Ae!~c|7uj!y)-WYSmL$0 z%V0Y1n7bc+ht}wEk>%;1$2%fUl7y3& z^3jtFMJGj4&n!uW$>a)|KmwKW6!FGgQii&+Ufepp=%8nqA-UGvoT+nqOpHx&sF2qA zP|BXO@GLql&{r0M*aT1=eOsiFECUj+V;`sEwO3fS)wCEJFs!D$-QAOjuT2lK7;f9u z6C#Hx{Ghm+Xqui_wi9ooybrNvmL>~XKPLr~d|AaLXb!_tqFLJn&vzUk2%YRyMb2Nt zhRGB0vRaA}VI;6iPK@1WsJs!EHBNhlWHzFNtS8OB3cYAs0UVN>yi9rTgrBwLblwJQ zMe%IlGcKvi#fz6Zg0Gc7ww5}H%z=r3&qQ#cqi@GA52h?7QzCAcw6MR6-P|z|Z1M5NZAZ98}P~1UubUjvxO;IzeYTos2r_vvoW;rubP=z%l zMteg&e{W;$Hc!@m;bfoFCaZx%Ea~Kn*&@@;mm_}bKiT)Y!F^kw|p@%EsASnko@ z>aeiGsHg$&g9QDZ23_lk)XEp+6Md~~hSo}d4YhW^?lrNZfxEgjv-*G$C97bycDp~u z7THg3y>v+)A$j-9<6dvv?GPW_c6q8FMXzgP_VY>yKOIs`!-rqy({vjtekefv24Bv9 z_oFU+$6D<#9zhMAj(U-{6!4d6(XX-W)^%+fcvk6PrbF6}=*!c&&P+24al5XT|*g3w>GH@6IYo{=Ig@*si1L>>&*K)q>XEbB7bNwxoYt!wAr+#StjPB zws*-b$j^Q|HBOBmsEx3G$hres48P7a21D5eWD6?w|D(YKhiz>${i$0Y-!781J=z-g zZKj=#_=TY?vY)gyq;17@CiR0abzLx?*5Q4Zj}aOi)NT&<-VaA{u^!Yt^_32&tsyKR zsl~6Azx1^?T4l$KiiUY#CejQOR(!ItX}mrl2w`L}M`zTd4VO2Vpf877Kdp2iYz;Bi zA&uR-a2*J!VJhE`KHAR=HG?ea^{z{C&hpmeL~jK5^%_iu*2?QEPxs~Fu51kn7}j$) zW$hp06xHvBTn*>{;%Oi<9X#2W7o|hG?lr45loEPvZrzj0f@IXg;*x@?0>+!&kOSdU z=h5dCKYGyifR1^Yu=Fmd&C2=q4N8>tXb`1PN=m2B+Tv+-tF%9H%?mRvYHM&@tRi;q z?d@CsPgS^SN8AI39X`JX*?4rfJ zR*{>G+UTYRS$`xCNMZdhQ~Rcy_p;-6C$z3`-M0P@_8r%}nNMyWN_bnf)_huH{SOdT ztvz@4vX^X3``3*#esv_@*}DXytQEcS=2-3DHtzYZc~bYlQOMu*`B&|dB|r@SW}~kf zt#00f{L?)D#fZIE=!&nbS_3JRcB8Og*D2~?&=Ss{G%_dahHy>sgXD$T{dnBm<))>3 z_)iP7={UqFq~YG=4^~@(i1iO=+nBB1R;Ja3Z{_{=1!YL~S`A{oP2ZfM1og$*I4@M5y#Rf%Ey#!7D9l+H!?-p6U_V@X zTGxGjmkp!6A1JG22|jjD!t&hj(*0%lxa_E&@|5mI+9@}yqdu++s>I~!UC}0s#z{F+ zvx*GQ&e+#Nx|O7FkNDfn#da^o*1i>QMwHX=vdt1S?2#TY38knCc;;I$Ml60^gx8+x zl-Awv^&j{9Fuv9>O1x%|u6T06l2Xa8dtRfyK4(51ad@%oFEE41l+t=N)Z!W)fuJE}jDdB5Y zQos4Ic8E2(bi~pO$k^$cZ;^1bpju`-n!`+Ca)Rq{`gJG+82k*O>@+%<+8!qLj3h9Yv0Zqq^%Zy_Qhv^sh~UdTcdbwwQRdEwTaLcKst@F;v6s~>&9)`|7|1byBEL*u zT8rce5#<9LKBH-c6qDFYWvA#(iJp^`5XAtf<=EKq~31Y$FFh6l46oVzMdDQaUHNFPhkz z_&vIqb&MAAQYI4gHDutlu=;4MUd$wEh7+-+9OuQ*es6xk4@G9LM=Jhc>l#J3a7v*l zN9Kq$o9Kc>BvtffGqG~fkmoMF4;EP7(?T_*>`6zQK%KE6F>}K*jZ?M)W)M8G{>xIv zZ^$A>P?aI`a!*;)kIe4KFS%5x7jHc))qgh~E0eCR>uPnF^B~Nyzh^m45B*jLw@ut2 zIJ|M*QKs5GHseqa_&&&ElaC>*`fs|#Oj7U6bq39p4!4APOZfD}ES?c8(O<8a?$=B^ znDf4#t3hw&VFO8eMNpz2<42g`bm{lea^{XN_2Sz&DWLDI?9i>isTJT^;s+mU4Kl|nz?9*KU)l?`PE_6Nd=%pz!1 z1I++i2ec*@i0!}>@IOoYh)6u}&z>8GhLfQJZRHGvxc-5=nJ90@vL-z|- zB8N0XeYe`lnHenfEr;SJ0(cJPP{qy{P-`^QvygV;Mi?0nPc55SUA*bSqQFBq<04pMV&2!BMWn(c23E+!3^{Ho}(;3veT?D-Y$t-+ICTrxPozNRw?3;7vVITW;rm8ENuBQkA{?%+)}z1|6$$IQA_gVs6PSAXv7Mv>_9OE}Gc`TxMRqP0aPv4pon1Xd&&eG2%tc?0uo%g$ z0{#SRqhm5Nl-E)@OT8T#Y%AcDqj0fEKSU|d3cA>Y)=|b>`fJWHi}WP*2dK`+oexuv z4}Fd83(|uNvHD{>#J3+YdbZ`uMTp;s6+$DTsUCp{je#lUM;oKw1HH`E1ysSv14$Sx zlFix&U$j1QGxh3QdN$MJQEvrb;DMkLlN#;}BM>#1z_hNOb9x!X;)Yvz1K8S`5p0%# zn?&FSYtp3xUcMt3TE*+seha0)dE6gI|GLHWy5%>w{i||ngU>aQgw5tVyD#MqjjT>U zvW@YvhnoUm*qG9$X3^){V2Rz)Q%MzYN><$f4$CC8UNo6uyU~!(HZ6wJ@zwC6=sK{n zcM;i^ntAfEXuE9rj!esC=Yfmy^cxE7EtQkG`iJyVJwv3EMvKP3jBNL!A+6KTPBYjV zEF|u89#Bgp7AC&^ih|YGHP{4YiZfp)1xQx`M|xcTfQ_D@-tXpsro!H0nA>9NOh_1E z!lM1w_&@C4K_99eotXlzR;T5D*9@P@rPDOfS>3m%hYmLfTPx<|WaM=w`%9Rhyiee> zN$G0dvDr$vvN31Fw;2zwI4*?i+?YLvsn%`_k#A!>%JALVg<)?CzZP<(DutN8m%oTM z{>&qIN(d92P1hvL^I2#1FQP4h_RzVg#UIr}6ofx(yqPkyBYeS7PB)q#>+s*l5&Rl7 zE(0ND0cFKacRxRKCARF&LcDvV&`B*@#ByVa7Q8Dwh}|M|S=pIa65)N2eeiua|6dE| z{(a;%C-YWCM#N@`|b^2R!?RoKb&ha7kT`xPd2 z3kGvPt>Hq$MSPmf^Zse^`DXZ#Q_bWEBB7DjNe;Vv=nx;eKZrXsd%8_H9Uv zU1f%a5%F-?rn*+B`|9*McUbAw#HLRz4uQ=^;3(?xjNTIbPCTqwXr+(U=aj;Y#phe8 z^39RDJaMS}wxRCAQaP-LGiWAwManxXADx~9jbpP)89kOURf3V3D-=yR{EC2K*xlX zyO^NDo-#rU@h@bR^a1J@i#2*hoZEr6P?BzjfRGaKvRBk5Xam}#Hw2SgoXfRf#>2Fk zoejghfZmvgAT+7AWJ(R-n`FKBB0SG10@H{UK`6VD>y!;rGm0Kj3;%RXrX7C-tqr9)7st8%`EfZMIUB`iS@&HIXkt4i8fUbJ4j?QSTK^fK3 z4*BwJX+sv0aGD&j)f3gsCs5`B;Fe@!kmjr|(^+;tH8#-2D#cY`FC^R-3S=I_IK#-T&(FsFXY^Ki`h8 z!~YcXkc+JCo*v69!T499zOvDq5l{an$VbYhv((OM{}7$!i<8Wd^%j`rvUQgoQ_Ph@ z;hu*0JuoogQKml*`;uL*Wu1Z#QrH32iG;sMABoR=_R;(vn-xh&W^bTDvE8@d4ZWOU zvCr(T_4Jb#@U^lSSzptmd?g&N_9KXhd#BP8q@~Z5C_&4Ms#HA0B z^3p=C70zXsbGgr7zDIU`HC{~*9%;K8Z>-l$+zj<|Bxu`aTeen!dZ!q!@*ryIP6wIU zUh2CXgfet3fXjQw?Or)t^l6rTdU|y#<%IO7=P3cdH>QqTh`%e4bHk@-#_LVfJ@OOI z{w2VpQn9El4DSZpVva4}4AnzVQc3-vicYtA5Y14uFwY!{DJ*ej$T0`8aZ%{VY0hoK z2ct7)0Yi+Wq_OI?b;qc$g5-~5w>0+L7BvYqh=Gw7m zrj}37Tl(f7rw_nuFp$e$aY`z)rojMGU(olaH8ljCfg+}e{ACq!1h`b>Q zI}bT6wEA=r@mc=C^FQRQN13b6NLrs}Iaf}JW%^qq5KPmup@6J9s0+tosGG6{&8v97 zfHNW~X-VoZZ1C}LjjYJJvKSPq#_Y84HCB%qpZI_(E}cC-Ewokk@ZaNe;$9?R!(H=` zUoN5xkIXUZlGC5TJgrR^rnY2ejl42s4k5q2=%t^&*{euv{sL!1)&SPI2%!EAzURd} zhn27#@^>`T|8Q7<(o>?!20&+<+X>Hkd}^QEO1|l+r+3m;Yst{sx_Nd|ML;TvM0_j) z8DWAq&H8PH+Qzoai19)BvcD@i^mar~Nn?9|W}i@!dFTNtBp%R*fRWTxF_|a(wuQ98 z)O7#@i(gG`EoiAB4ef?3FRwzIWMPL6%(IiMts(13V^9@Qy8TjUb52f>jl$Tty{qe( zZjSA$wd$_vEqMOy8Mw$klTrzf_YVVGoDy z0AkfjhlB!@^WxXiZGeN#LfH!Y%XjJ)Oo`ox@*vC2s&S?UG5p|pQW(B9MDfYcTFlc* z`3f+T7p_W?jLzz%(nsr<0kM*^9y<06Vo0V7iRHb56Lk-e(gs6Tc*kBWPtPA8`LtM-P4bqAjKccs{<#{Y8GS!8Sm7zo^W*8hY)NSx6D!w>{MLNV3N@ zPs&(3?8FCJN4Xr($%{(YIJv<8TyJ0Ze$zS;`((eS!O&WVQ+*-V{$kvh?g$ajgdMRF zzMKk2ijVcy;;aDutFOKCk;^P%w`94I)fy(4`*+uwJzGQERyA;g!C0GIsU~=t=74CR zpvgUoI8gh0gCBhPwPhZ+HyImK9_@jPN2$^?)JlgUaEt&B1Qx%R+5yS=2tRsj?>c1g-FPANZl@QCK5kWVSDS*__HfUHv&m3o?al)%sbcQ*%tP`lf5r?P z#&EcTK{RvAb>@o`eUo;F{Ox6P*|IgR}&gG`yF4R5fF0u9*|44dEz&ml@PslKle1D%+zn^y@>z#GwNJ(nh2?VJkj;^0IEo3gO#X_f5NIp7O7o7P@a%$dB09xR z99tH`Qzo_S>BgEenEewh1gO`IB{N|&UN}?v)UpAK8NnWFSTIE{@FPd964%Vkz;pS%GXA6u1OzG}?ZkdLCl8rwRsQ<8< z&O+2`XrEpVqVPo!g+IK!bRjbT8`lKG0%)xNImBzEY%o5<>q^fyNgu(kG^v6n_dIWN zV$6T|!pS!v@>~PK6&yQ1GNw`9wUkfwz@5hba^sMk#6*fN@W<%Q$=$B0)ER9t2Iv!DO(=`t%LXmLU(?JEzA4t z5w(}s9StEMtZi8cYo(lw6(K*w`P@lf_BBuhTB!&i@s^iX+I>eMHI7DFPtGnt4S;0a ztp}8iOaOQSN#dBi!YNyU!Q!hj(5kWcfdF|9G=t3tV>#Ho2>=UUyaGNSPa;d4 z3fX^h0yrxuQ`)TWzdlk{TAJK7+3&(|=iPO0g}dNl-^6;v>uk`CUimqLX?uyoeL0A} zc33qZ@j4sKMDVWYkz>7meTVX;ART5VRu?`OqMH-59`7Pww-x$F(LqANRK<~inbwwa z{=I=?U6Tdc10I^3RrR}#lD>J3zJ__qUwc`JmH>b@s12X&9o|IpBB9P2T~KDn3~xY` z&u#Vbs=F~qp9(vPKc(Y8>}Fj;8Uq+2{E||^Y<8h&`hj126-aLhldCdgTx3tM=ff|S zR-F6Z)&uTB+w8NFvxX03S6n%er{j$(rKv;`Yj3rNfg%*NRNOMRo5?!=c$t9Nc_YAF zH#E%5)qMKimkh730G<*6tpL$#Wm2jnT~3#=9Y3VMzEHB6l5JRmx=YA@O`W@P#nI5> z4f@)t(7G3P^T01{NE>yxWm%NC6>_xzDy@lThj>twHWmoLSiunbnuAi6=F^GTss!wj zNst6{cK5QYXTgNEr{6In;xB_1ft-DTfR@acY`v_^-{A+^q^Ym3iu|FtAE(o0_I9sP zQu^6C2h`cR7oW5N8v|_n(58K~T7Lh9vVCt7^i|0(Vde)|9@SrTZGXGRD9IBPCoB}l z7mTdYjTV>D-RWZk-1DoJEjRb9%XapzUiVj77ATuHukMD+84m(t<>5Ons5?}nxAoVy zm=3O6t{dI)E5`&K&oNo6R0ud3IK~?|ICPNkV)YK!ylYhY#dyw1+k879(IpJ9tz>v@ z1}SPlqNs-i)ZM8n_cx#GZ)~edr8oG0^;fq%(Cx3vZm~T+dpe{!##iw0`Kgd zS*J``@yi7(N(pp>Hnu(2P^O@)?%A^-Z46vOQ z>(gnfgb{V+>eW!@g*f%8SPC~Nn91&h(e0|d7ki)_08l}C%W5lCZ^{K<;hHC2sbnd( zzXJYBIfefpU8@d8HiW2p`xg@{Ew9~eWcq(M$wrVBu% zZA(=-I{!;0Bbh)@#204Ecxb;$XJxvLujoxteFU-=Wb43oMwXZ0q0v;WR<8W5d>rG* zQ6_GzQ|=&?26xl{%~GYxuSiEzLd>T+YNQqr#ntu{` z5B5lYpi}i6pHn{3QMQbQE#c=Vp6`P)8<_W#h2=TNN&TPWWpjYHwwr~*ax~=+;42tv z*1*z$g{Wk77+E(}9M1c*XSQQI4FS=V51_zOTwdUV>U_k;$A%PLNpr+jd+LdQQditl zqt`kZU8z$B6`8n7WqkL2MNe4iefB5pu@Y&$_`y>1>3X+beq@THFP^)ZmF!;s2POgK z%lD?XMG}4UHh5DXbAzE`PB61JSxD7ZWOKuGS@+md8bivEj`UIn2(|(O30aO(?36{f zk!3`2Oy6WC&&q+%(L29qp>tIf$x|Bl9~`(ee3!6-=B)em%I8Pm%h?3ov6&tXv$uk` z3MuYNn5TPW;BaRyZ`L3@=n`gVJcm=7m{0X2_Rn?bc!h259k8Oz@yW>y%3MVBkS!95 zo`6v-7|}+iz45Fh!5s#37bOb^C$_>;z<86mRavAGADCp~E*7J%AS%WQHg4=En>FW5 z6)nT8vFgtzE;*9H%C!TO=u$LWTtEJ5*&Nk4!d9h7M+yg+>JKawLQO+|d!t){XRlxlH8Tz>#gqk5Iabk_;b znYz^$_pSvG&p0wg2$0Rh^eabVR+BRveS>3g!L~vtQi@l-9k;YQx(mTY)XcP7jNDHh zIL|4{e|!boetk)WCgj>)Wtv8Up30FxZXQS&Ei2iJmqoUO?bY}L)rHLI>XthV1;Mq0TmKxBRI<Kb=-Q&v4?|e6n5o(yn2)|d7Y5w#2l|GE^Fu`WOOxNL;BIU`VvgHq_&BcRDeTf zB?fSw=aiLv@6u6bF-wtW8#C0N{5qvPLtpT{OXCiI-xj-6<)tCjyZ>1L^F9~yYRw1! zcz&d6O3%GCuH=JNz7kS!c+n3-!Y_Z|qahn_ExIYST!50^yD)Y8`|ra7#0MlXTP(Va zj~hE35PcbBUoE(kkMI2l9o_jLKtK)@ECw#f*mBhg*nsmBP0W5`a9r7*_3~zUINqrC*It91K91FXya-R6m}NT05fEm#Fl1xOkv0 zwIS8{Qkbsm-4)b!6&6spcUOkxzY6(OR;4#EoG&X2Z8D}8TSwI^b-wv-vZ4*DNSGyS zVZZYhs>5az!(TtSkdPz2EVLua>M7DDDzV??gNEwPj|S@Y*BG=0*e5tXV9~)|lY^F2H6Z}77tRY87d{)@+uM6!sBGV}XpN06{^iNp$E$U^wnM^Ce?yrF z@iZdvo_P&r=O-_VbOG@Oav*ZNi(Aeg9Xac(t|X~FYZO}_A|PY!yXRzm<=_c~YDFkI z$pUBxexP*f9abV3-*nPI-9A-Nk*qD{4dK|^;pkxS z9Kxd*fN&tL)r>8yL-{dL?V{Pivsm?NV)RU`=kXftE>lQ2lBE~zwwiFpx24A9{g@;t z#4Q!&(d;ujC~8^NwKu!0EH}VxS9NZIgcsj%91w9q@KdIdE{(HO0_6>?slHl_5#EKO z(;D`K9MkbU$uWPnuj$~){!i>b7sx5ev>dM)XCtkNY=CnhvoG8ev(seLHEkDT0%9je z&X%YPu3|!Th`-~7ncPf z5QuH8WYS~4l;`4=BZ)7QK0}!kzWcMm|E8ghw+jh85J2!D-%@G(8_3P;N=JfUr2=~p z`?`)y-iBVgUM)y2MQN-Z8|OU{M7gbm*ee~F z8n1!IEMgQfIPABc#>+JI_nXE}(Fd#Bv(SRq!yuVC5M-FF{IJ!-EZIcOz|MdZr)xI& z_zz1}#_wthsMaSZbj5opLa*^x(AZtx#y~FoCMtGD9avhnqR|?=6*IRQiV4<36*&&j z$$tIBPl0gaJeA_OLT|(k_XCz51K%}ER%{6#yLHd)?P`nOz{(<9S{ulL{++Q6k{hC| z@KpBLI%wEw;MFF#{0?J@*?EliKsK+V(bI^B(`Q-Dp-ZlKFuTzSaVBOu$BYm6G^R`pC8uaWGXiqM4Ig96!|aKT|GUoj|YnsPzR zhL%vczU&2M&ci6jYF0TTJn9&xOs}+|TQ?*ql3QiyMX#er4Hu^o*UbTkUvhHIvOR9AH5kary? z?8P6>xwn(wQli^g`;DMFc$gFeKh;uYuw4=CD4k+GC2{vARUD!wk(=S_>j@DM`+lV@ z)dvliEgjgX6n|h~5oVuVUPRZ#RSR0zRw=cY7uj-lz%?i)sB6a27XVFPZiVL=>Z}H( zi!B8>(Dv;Pf%mLOGq+T+yFN0fz~w7A6%r>=8o^R}BUGkM(YJi(n4nugcB>DJ3_Moc zCM3Ac1atU(>AwVBd13Y3Q6q|M>ZNTljm7;Awel>XA)2|iB1A8O%M_pp6{d%Eq}~{i zTEAelC${2c&NuJ5Jqzx*w@<@vEy#LX2U##z;F#xc`488C)VakP^WH;Q<)iB#FDio& z#nbo=_)5}LJT&{IqU_9U6&!O48k8fgcy}HWhgCgMk^kvDs&S2H!$oI$MH7U=@DYAf zCTmxcplmJ;o;G2%%Mg+a{dnOcLRxH`Y#>K3!Xp_UxRNc!8PVzIA@`Q6Hdyby5k}DW zlKx!XKH}p>0vPj+Bz)`&&V-Bxyiv>bR05#DoAdD-@|K9$?y_17@^ilOF_8Czrre)z zBI&~>o@}*gQ}*}dYgHcPd*8P*-eP750WU~c7I(qJ)AvrY_WSnjb1?scUuufoM{K&q zpm%9whnk>e#xB1g5JtuQH8~}Ofu9JOlJ> zq`%O?Q*p)vl*N>!ZS+K<`mQn=8eK_FCZm6amMwGLpc?$}!r;THrUUykv?iys&VO|f zb_O@o+W!cvmK&r3w$D|2b9MWs+2-f78RJxT(v>hh*Gu$xV+tgRbw(?9ud-O?^9#R% zEj%c;rO(63>w$Ycz&U>cK8`zA|0q!{_n@lKlZ8U}$>(NYda>}ZnC~(fae0|`nU?$V zXYmCqPJ$NZG24YjU?=Yxe-IGPi`-G9wqCc`*Tr~C|4JnSe5N8~hUW(#_p^PS_43_3XbXD==Ya*8DR(#j-+KntqWf?M_I?BMAuIDS{#7o$ z|AV`kzuy-ug!ly->%X^W7*r;T|Ld)h(!xL9(UQf=N3G-lMXW2ip}tJ>uJZAuv;EF? ziiD()8q@@MSjZ3TgZ^K;4Z)4{vlhMLb0*t)I35jFI*^|X1v%D!xyN9VAz1Q&@M+Rr z7h8GXFLu%_TI_f!ANFn!Z$C`9f`y z{fZzp)_Y|C%LWoyc%xc*|8OzXyq;M8nM zFN1!BX2U8z5%S`lf5%^~F6!nl2{`1Myq zJ=SlWx}I}5Z%W?)1-?OyJLbB4fdsgpVkdT?D-VWA8~C=nMA?*NO|mq;hEHcHx*e8x zZ|^*O6d@gNyM48xmn@-RN2g3Hxn&nAB1XLew}HoP)9?pJ7FoK{7Qd6zu6u-yXB<~} zCq?Mnc0J|_{96976;ers-GUJk4Hlnr4H=YFe20kW4znd&?lT#4`@G7t0CR>Y7BZ&E0$luXI`J`YGu0pKuw zu99nNbI1aI(~_zqlKa1o6=?|QJoz!v5pC%K*y&Y$hqy%-DbrDgsFy;fslr3%aP_#n zpQ1l--cXiCxv4pK4ekuiVg`YUJ^U$)*k_fNx3n{4Yw>YD{=t;SJz_<}&rX5lVz(O^ zR)1inwc{-ePDO8gH_?+Pe83i)O~?ac>RJgm{Hs_+i3EA?E+mTg6Ei?Tbe_Px4V_Dy z=tD;ag9PxR6{gr>zjk*;TmF?F{)jq}T-Z_slgm*)+vl1OPGMT~!PA2l#K4=KUk9b( z9&(G@80YW^)=@pL5==mjSQ6kA<;?6Ub)X8uegm{-E6P+%JjJ`Og_kMM2WvOBEk=;) zZQ@gxD1*VeqM~e=4M4LqJ=m+d(Lr{_;(-K|Hy-6GC&vzD&9szGG1*QivM;9`?+?$5 z@C+f)1qD{q^wyZqL3`1~>emF%V*@p049dC?m`k(~;fzOfhmLe4FtIq4bQ+juU2A%H zP>CEJKyPH@(XELAE$CT84Sa0Udy*egJuSfdbv@Aoe4yY+2Pih~-0@o=v@5RH4#=02 z=h#ap&UN=%qOM}{IT>Cij4%ogNnoI&Vwpu;)&MCbAV$tfy(S3Is7w!yNm^Cs=jEq- zDydlU?FC=9umI6bL}$UQeB5FU)TM)5aX3`({0*z=ywKvM?i!^gbW6`OEv0+$wZ!Js zah>RyItD=BI7K!R2GBPjpl>N6z*-tC_WR*u2ed}c{@hI+1t>74OV?e==|G)|moqJ= zTgmENI9t!zmgLx*eNEw9UfRGw4J8%JM>%p1-!K;Okm`AcMhY6{cSBjIREjBXWfP+( zhR6^jE8sz`ax5~fi@8l9F3)r{+!HZIVwLeUYTYh!GER9Fn!Qc!iK^=KU~UT3SVAw_*u>FFqFQP00ypuF&$Dgb^?$vC`i^qV}?)$MNT*_beX6JlT!$``%a6=9y{D zU&lNjQ)wR_MSM)9sc_Q#8OFy1;D5k={Rh$i@1X=pNAMqZSUidN@4*b!L)ZTjv&^Hk zg=4di<@sUgQZe6)1mJ%l0+6yQkvM|m;GLPZ7rxEHe2={DsKk=@!9i>kI9%WO1xQup zPu7`}!@tdba$%Lvjub%6XaO8~-~}I~wer{6UjV!#eub4gUDSL3{3pu}goD)32ymJT zsInixIWTy79%Q4cSVz{_663&P*P&Hlb4rQK&)W@ zjs*3Bb$HA6?FY4$Y~$h3ItOspxddz=qS;`-5Ws0^9{f)8tC2sO$|DsgJ*W`ZU7$Y= zWq%GvyjcG8s`9F;v<5aDZyc8Ug`O6#2$e%#)nx{`naDAbfFsek!&A+Z+W^Is<|v%J zJ2hTEcu6xHIWsCQ2iuj0aLCw-5|DSw@Pe!#qS2P5u)Gg~?aY-MyI$RIJ{W*OAg22t z-iuVrbpf*S@J6Y9mFQ^qZp58-i2O+nNJ`bs!J1{iz91Kj6`nHJEnqwQF6XR;NI)vw zRglhLul1_YW$ISG-v-KczuDKmN)=>}UBKi)dGx5IAaTG|4|M)H=p4NEgK`m}jXFgB zp+-CkPQs;!cZ{pA2pbt5*5-~`ACsMj#-#(<6af*AtiR3Atnq{# z=b>vWVmU}Q_$voG6UDEEYs-l(Q;l_sD8OhEa%63A?$DtScp z_y3O9l^j>@aaAvJ$u(7SBH%OjB_P3+A2c}ZR({7B0$jZCP86AVr}7d6efLktxhEIY z$B($cv`aY8q;{g@*)YnxfwTSJ%3A%%<~x_Q?NS!Br?hl5KKNetj)$F27zuR7%~Elv z+RcOXc+0S321!WkX3Lp8484)AdV`BS{!HL-@kv_hgX2f({!Z1X?9N)r>9XMMrq~?G zCwpfHgmkQx>ZLMqXwdFH)?nv0X(GDg?zQx>eo#tDQ-T3|w#ZnG4|)VJUqZuCjXw-s zg4$oC&>rLAYvo_X;j}ynjCG2EV4T1Jhu|?NmM}+h9h`s=@!R~qls?Qx4Hwm!w)xF+ zz*AKe*)>C=_k{jl_%BnuI*w_uvVDjkWE2KVwW#7YcGG`*ltyU&BEckr;ihxQXjZgGbJU^Ej#L_?|#Q#Rw9Bk4A14Cgr$pG|S%Q2GnJCS5OD{JiUuo zn9N{5Vu-``&c8{A-}|!>%IOc(rS*YpJA;*)TJ5&y4}|B;59o=E$ynB0=|CB)%c@kc zD`paU&A@(ugySyOHaqtEu#=>Lj_ExWpAoQ`zd_21ps&80Wx_^x$qPi{Z8CU zW)jQ~3wx9C_PAcOmmh%jcShzd!*@buL}Q0a1U?yJ8cpMZVzLHfoWb)}y?h9e xB|MLrkcoZWDiv&80?1V5$97thTtvq$(fKa(wm*BnuJYPX4$gZ^cAxn5{{hbdS*HL1 literal 0 HcmV?d00001 diff --git a/docs/Application_guide/zh/media/system/Timer/2-6.png b/docs/Application_guide/zh/media/system/Timer/2-6.png new file mode 100644 index 0000000000000000000000000000000000000000..e5eed9d924d0ec262690c3e8c64caae2b29a83dc GIT binary patch literal 11124 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 literal 0 HcmV?d00001 diff --git a/docs/Application_guide/zh/sidebar.yaml b/docs/Application_guide/zh/sidebar.yaml index 92dc7e75..e8b80a0b 100644 --- a/docs/Application_guide/zh/sidebar.yaml +++ b/docs/Application_guide/zh/sidebar.yaml @@ -35,6 +35,8 @@ items: file: system/data-formatting.md - label: 日志输出 file: system/log.md + - label: 定时器 + file: system/Timer.md - label: 硬件功能 file: hardware/README.md items: @@ -224,4 +226,4 @@ items: - label: Helios SDK开发指南__进阶 file: helios-sdk/junior.md - label: Helios SDK开发指南__高级 - file: helios-sdk/advanced.md \ No newline at end of file + file: helios-sdk/advanced.md diff --git a/docs/Application_guide/zh/system/README.md b/docs/Application_guide/zh/system/README.md index 88ede7f3..6c7e2fd0 100644 --- a/docs/Application_guide/zh/system/README.md +++ b/docs/Application_guide/zh/system/README.md @@ -12,3 +12,4 @@ - [内存管理](./memory-management.md) - [数据格式转换](./data-formatting.md) - [日志输出](./log.md) +- [定时器](./Timer.md) diff --git a/docs/Application_guide/zh/system/Timer.md b/docs/Application_guide/zh/system/Timer.md new file mode 100644 index 00000000..c947dac6 --- /dev/null +++ b/docs/Application_guide/zh/system/Timer.md @@ -0,0 +1,614 @@ +# 定时器 + +## 概念 + +定时器:一般是指SOC或MCU内部外设器件,这个器件可以周期性引起系统中断。系统可以根据这个信号,切换任务,也可以利用这个信号进行分频输出信号等等操作。 + +硬件上定时器可以分为以下几类: + +* Systick + * 系统滴答定时器,用于提供一个周期性的计时功能,此定时器可以周期的产生中断信号,是系统的心跳时钟,起到切换任务或对任务分配时间片的作用。 +* 基本定时器 + * 没有对外输入/输出,主要用于时基计数以及定时。 +* 通用定时器 + * 除了具备基本定时器功能外,可以对外提供能输入捕捉、输出比较以及连接其他传感器接口的功能。 +* 高级定时器 + * 除了具备通用定时器功能外,可以提供电机控制、数字电源应用、死区时间可编程的互补输出等功能。 +* RTC + * 主要用于提供实时的时间和日期。 +* 看门狗 + * 主要用于监测系统是否出现了异常。 + +## 定时器背景 + +### 介绍 + +定时器可以产生中断,通知CPU当前发生了事件,这样CPU可以不用阻塞等待某一项任务的结果,在等待期间可以运行别的功能。这种方式可以提高效率,对于整体功能来说,系统整体运行更流畅,更便捷,响应更快,用户体验更好,应用更加广泛。 + +### 定时器分类 + +定时器从广泛上分类可分为硬件定时器和软件定时器。硬件定时器是软件定时器的基础,软件定时器在硬件定时器的基础上进行软件上的扩展,理论上是没有个数限制的。但软件定时器不精准,并且当软件定时器数量越多,其差值越大。 + +#### 硬件定时器 + +硬件定时器分为:Systick、基本定时器、通用定时器、高级定时器、RTC定时器、看门狗定时器等。在项目稳定运行过程中,以上定时器各司其职。 + +硬件定时器工作原理概念框架图如下图: + +![image-20230831170457480](../media/system/Timer/2-1.png) + +
图2-1
+ +* CLK时钟信号输出到触发控制器。 +* 触发控制器将信号输出到预分频器。 +* 预分频后输出到信号给计数器。 +* 当计数器数值到达自动装载器数值时(根据定时器类型判断处理),如开启使能中断,则定时器产生溢出中断。 + +上述流程即为定时器原理概念概述,以下几类定时器大同小异。 + +##### Systick + +系统滴答定时器,也称为心跳定时器,每次产生Systick中断可以起到切换系统任务的作用,系统以此完成对任务的时间片分配以及任务的切换。切换任务示意图,见图2-2。 + +![image-20230831211006225](../media/system/Timer/2-2.png) + +
图2-2
+ +内部结构简图见图2-3。RCC用AHB时钟分频除以8对其提供外部时钟源。 + +![image-20230831211006225](../media/system/Timer/2-3.png) + +
图2-3
+ +##### 基本定时器 + +基本功能如下: + +* 自动装载累加计数器。 +* 触发DAC的同步电路。 +* 更新时间产生中断请求。 +* 可编程预分频器。 + +原理概念图见图2-1,时钟从内部或者外部提供给预分频寄存器,经过分频将信号提供给计数寄存器。当计数器达到自动重装载寄存器中的数值时即满足了中断产生的条件,如若开启了中断的功能,此时即可触发中断,完成定时任务。从上可知,定时是通过预分频寄存器,自动重装载寄存器的设置完成的。 + +##### 通用定时器 + +除具备基本定时器功能外,还有以下功能: + +* 向上、向下、向上/向下自动装载计数器。 +* 独立通道。 +* 使用外部信号控制定时器和定时器互连的同步电路。 +* 支持针对定位的增量编码器和霍尔传感器电路。 +* 触发输入作为外部时钟或者按周期的电流管理。 + +原理概念图见图2-1,通用定时器和基本定时器的基本原理是相同的,扩展的功能只是在基本功能上进行了一些简单扩展,这些扩展的功能只是定时器的应用,在此不再赘述。 + +##### 高级定时器 + +除具备通用定时器功能外,还有以下功能: + +* 死区时间可编程的互补输出。 +* 仅在给定周期数后更新定时计数器。 +* 中断信号输入,使计时器的输出信号处于重置状态或已知状态。 +* 设置循环次数,重复计数。 + +原理概念图见2-1,高级定时器和通用定时器、基本定时器的基本原理是相同的,也是对于基本功能的扩展。比较有用的死区时间的功能支持,可以方便PWM的应用。 + +##### RTC定时器 + +实时时钟(RTC)是一个独立的BCD定时器/计数器。其可以将设备从休眠态唤醒用以管理设备的低功率模式。在相应的配置下可以提供时钟日历功能。QuecPython模组重启后RTC时间将被重置,当注网成功后,将会更新RTC时间。其硬件框图如下所示:![image-20230901150953549](../media/system/Timer/2-4.png) + +
图2-4
+ + + +##### 看门狗定时器 + +看门狗用于监测和解决由于软件错误导致的故障,当计数器递减到0(或者递增到设定的计数值)时将触发系统复位。其有专用的低速时钟驱动,即使主时钟发生故障也依然有效,通过可配置的时间窗口,即可进行调整看门狗的时间,从上述描述也可指导所谓喂狗即是对计数器重新赋初值(或着计数器清零)。其原理框图如下: + +![image-20230901154440813](../media/system/Timer/2-5.png) + +
图2-5
+ +#### 软件定时器 + +软件定时器实现的基础是硬件支持定时任务设置。 + +其实现逻辑是建立一个链表(或者二叉树或者其他的数据结构),设置新的软件定时器时记录到期时间并将其加入到链表中(或者二叉树中)。每一次都选取最近的软件定时器的到期时间并将其设置到硬件定时器中。当触发硬件定时器中断时,即可执行到期的硬件定时任务,在硬件定时任务中既可处理软件定时器的任务。下次到期后选取最近的软件定时器到期时间重新设置到硬件定时器中。如此循环,即可实现软件定时器。从上述原理可以看出软件定时器无法达到硬件定时器的精准,但是可以突破硬件定时器的个数限制。实现逻辑框图如下: + +![image-20230901163248619](../media/system/Timer/2-6.png) + +
图2-6
+ +* Step 1 + * 记录当前添加的软件定时器的到期时间,并加入到软件定时器链表中。 +* Step 2 + * 遍历软件定时器链表并排序,选取最小的一个到期时间,将其到期时间设置到硬件定时器中。 +* Step 3 + * 硬件定时器到期,遍历软件定时器链表,执行此定时器注册的事件。并将到期的节点从软件定时器链表中删除。 +* Step 4 + * 判断软件定时器链表是否为空,为空则退出流程。 + +以上只是软件定时器实现的一种简单方式,不是最佳方式,针对不同的场景软件定时器的实现会根据不同的场景进行数据结构的选型和优化。以上只是介绍其实现的基本原理。 + + + +## 定时器接口介绍 + +QuecPython模组定时器分为两种,一种是软件定时器,一种是硬件定时器。硬件定时器用于内核侧,软件定时器QuecPython开放到应用层使用。在QuecPython应用层,定时器又分为了系统定时器和普通定时器。以下仅介绍普通定时器和系统定时器的应用。 + +### 系统定时器 + +QuecPython模组提供底层的定时器接口,当定时器超时会触发定时器绑定的回调函数,在回调函数中不建议做阻塞和费时操作,会影响整体性能。建议在回调函数中仅做发送消息操作,在别的任务中完成业务处理。对于时间精度精度如下表(此表精度仅对于QuecPython接口的系统定时器和普通定时器): + +
表3-1
+ + + + + + + + + + + + + + + + + + + + + + + + + + +
型号精度(ms)
Qualcomm10
ASR5
RDA5
UNISOC5
EIGEN5
+ + + +#### 创建系统定时器 + +启用定时器前需要先创建定时器,调用如下接口进行创建定时器。 + +```python +osTimer() +``` + +示例 + +```python +# -*- coding: UTF-8 -*- +#示例 +import osTimer + +timer = osTimer() + +``` + + + +#### 启动系统定时器 + +创建好定时器后,当要启用定时器时,需调用如下接口启动定时器,时间单位为ms。定时器启动分为单次模式和周期模式。单次模式,定时器只执行一次回调函数,周期模式,定时器会按照设置的周期循环产生超时事件并执行注册的回调函数。QuecPython模组中不建议在任何的回调函数(不仅仅是定时器回调函数中)中做阻塞或者费时操作,否则会影响模组性能。 + +``` +osTimer.start(initialTime, cyclialEn, callback) +``` + +示例 + +```python +# -*- coding: UTF-8 -*- +#示例 +import osTimer + +def timer_cb(arg): + print("osTimer Expired!!") +# 创建os定时器 +timer = osTimer() +# 启动定时器,参数依次为时间、是否循环、回调函数 +time_out = 10 +timer.start(time_out * 1000,1,timer_cb) +``` + + + +#### 停止系统定时器 + +当业务完成,暂时不需要定时器时,可以调用如下接口停止定时器,如需要重新使用定时器完成业务只需重新调用启动定时器接口即可。 + +```python +osTimer.stop() +``` + +示例 + +```python +# -*- coding: UTF-8 -*- +#示例 +import osTimer +import utime + +time_out = 1 +timer_out_nums = 0 + +# 创建os定时器 +timer = osTimer() +timer_is_runing = True + +def timer_cb(arg): + global timer_out_nums + global timer_is_runing + global timer + timer_out_nums = timer_out_nums + 1 + print("osTimer Expired!! {}".format(timer_out_nums)) + if timer_out_nums >= 10: + timer.stop() + timer_is_runing = False + timer_out_nums = 0 + +if __name__ == "__main__": + + #周期模式启动定时器 + timer.start(time_out * 1000,1,timer_cb) + while timer_is_runing: + utime.sleep(1) + print("waiting timer stop !") + #停止后重新以单次模式启动定时器 + print("will restart timer !") + timer.start(time_out * 1000,0,timer_cb) +``` + + + +#### 删除系统定时器 + +当业务完成之后不再需要定时器时,可以调用如下接口删除定时器。调用此接口后,定时器将被删除,如需要重新启用定时器,需要重新创建定时器并启动定时器。 + +```python +osTimer.delete_timer() +``` + +示例 + +```python +# -*- coding: UTF-8 -*- +#示例 +import osTimer +import utime + +time_out = 1 +timer_out_nums = 0 + +# 创建os定时器 +timer = osTimer() +timer_is_runing = True + +def timer_cb(arg): + global timer_out_nums + global timer_is_runing + global timer + timer_out_nums = timer_out_nums + 1 + print("osTimer Expired!! {}".format(timer_out_nums)) + if timer_out_nums >= 10: + timer.stop() + timer_is_runing = False + timer_out_nums = 0 + +if __name__ == "__main__": + + #周期模式启动定时器 + timer.start(time_out * 1000,1,timer_cb) + while timer_is_runing: + utime.sleep(1) + print("waiting timer stop !") + + print("will delete timer !") + #删除定时器 + timer.delete_timer() + + #重新创建定时器 + timer1 = osTimer() + + print("will start a new timer !") + #单次模式启动定时器 + timer1.start(time_out * 1000,0,timer_cb) + +``` + +#### 系统定时器应用示例 + +定时器到期后,发送定时器消息到队列,在队列中完成业务。 + +```python +# -*- coding: UTF-8 -*- +#示例 + +import _thread +from queue import Queue +import osTimer +import utime + +class QuecPythonTimer(): + + def __init__(self,timer): + self.timer_out = 10*1000 + self.timer_queue = Queue(100) + self.timer_out_count = 0 + self.timer = timer + self.cycle = 0 + self.is_loop = True + + def timer_set_cycle(self,cycle): + self.cycle = cycle + + def timer_call(self,args): + self.timer_out_count = self.timer_out_count + 1 + print("Will put {} to timer_queue ".format(self.timer_out_count)) + self.timer_queue.put(self.timer_out_count) + + def timer_set_timeout(self,timer_out = 10 * 1000): + self.timer_out = timer_out + + def timer_start(self): + self.timer.start(self.timer_out,self.cycle,self.timer_call) + + def timer_wait_message(self): + while self.is_loop: + data = self.timer_queue.get() + print("Get timer_queue data {}".format(data)) + + +if __name__ == "__main__": + timer = osTimer() + timer = QuecPythonTimer(timer) + + #设置5秒产生一次定时器超时 + timer.timer_set_timeout(5000) + + #设置可以循环产生定时器超时 + timer.timer_set_cycle(1) + + #启动新任务等待定时通知 + _thread.start_new_thread(timer.timer_wait_message, ()) + + #启动定时器 + timer.timer_start() + +``` + + + +### 普通定时器 + +QuecPython模组提供应用层定时器接口,当定时器超时会触发定时器绑定的回调函数,在回调函数中不建议做阻塞和费时操作,会影响整体性能。建议在回调函数中仅做发送消息操作,在别的任务中完成业务处理。时间精度见表3-1。普通定时器最多只支持四个定时器创建。分为单次模式和周期模式。 + +
表3-2
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
定时器常量说明
Timer.Timer0定时器0
Timer.Timer1定时器1
Timer.Timer2定时器2
Timer.Timer3定时器3
Timer.ONE_SHOT单次模式,定时器只执行一次
Timer.PERIODIC周期模式,定时器循环执行
+ +如上述表3-2所示,普通定时器支持Timer0、Timer1、Timer2和Timer3共四个定时器,每个定时均支持单次模式和周期模式。 + +#### 初始化普通定时器 + +在使用定时器之前需要先初始化定时器,调用如下接口即可初始化定时器。 + +``` +class machine.Timer(Timern) +``` + +示例 + +```python +# -*- coding: UTF-8 -*- +#示例 + +from machine import Timer +timer1 = Timer(Timer.Timer1) +``` + + + +#### 启动普通定时器 + +初始化定时器后,需要启动定时器才能产生定时器超时事件。调用如下接口即可启动定时器,定期器启动支持设置单词模式和周期模式。单词模式只产生一次定时器超时事件,周期模式会循环(时间间隔为设置的定时器超时时间)产生定时器超时事件。QuecPython模组中不建议在任何的回调函数(不仅仅是定时器回调函数中)中做阻塞或者费时操作,否则会影响模组性能。 + +``` +Timer.start(period, mode, callback) +``` + +示例 + +```python +# -*- coding: UTF-8 -*- +#示例 + +from machine import Timer + +timer1 = Timer(Timer.Timer1) + +time_out = 1 +timer_out_nums = 0 +def timer_out_call(args): + global timer_out_nums + timer_out_nums = timer_out_nums + 1 + print("timer will Expired!! {}".format(timer_out_nums)) + +timer1.start(period=time_out*1000, mode=timer1.PERIODIC, callback=timer_out_call) + +``` + + + +#### 停止普通定时器 + +当业务完成后需要停止定时器,可以调用此接口停止定时器。调用此接口后当需要重新启动定时器产生超时事件时,可以重新调用启动定时器接口,重新启动定时器。 + +``` +Timer.stop() +``` + +示例 + +```python +# -*- coding: UTF-8 -*- +#示例 + +from machine import Timer + +timer1 = Timer(Timer.Timer1) + +time_out = 1 +timer_out_nums = 0 +timer_is_runing = True + +def timer_out_call(args): + global timer_out_nums + global timer_is_runing + global timer1 + timer_out_nums = timer_out_nums + 1 + print("timer will Expired!! {}".format(timer_out_nums)) + if timer_out_nums >= 10: + #停止定时器 + timer1.stop() + timer_is_runing = False + timer_out_nums = 0 + +timer1.start(period=time_out*1000, mode=timer1.PERIODIC, callback=timer_out_call) + +``` + +#### 普通定时器应用示例 + +```python +# -*- coding: UTF-8 -*- +#示例 + +import _thread +from queue import Queue +from machine import Timer +import utime + +class QuecPythonTimer(): + + def __init__(self,timer): + self.timer_out = 10*1000 + self.timer_queue = Queue(100) + self.timer_out_count = 0 + self.timer = timer + self.cycle = 0 + self.is_loop = True + + def timer_set_cycle(self,cycle): + self.cycle = cycle + + def timer_call(self,args): + self.timer_out_count = self.timer_out_count + 1 + print("Will put {} to timer_queue ".format(self.timer_out_count)) + self.timer_queue.put(self.timer_out_count) + + def timer_set_timeout(self,timer_out = 10 * 1000): + self.timer_out = timer_out + + def timer_start(self): + self.timer.start(period=self.timer_out,mode=self.cycle,callback=self.timer_call) + + def timer_wait_message(self): + while self.is_loop: + data = self.timer_queue.get() + print("Get timer_queue data {}".format(data)) + +if __name__ == "__main__": + timer1 = Timer(Timer.Timer1) + timer = QuecPythonTimer(timer1) + + #设置5秒产生一次定时器超时 + timer.timer_set_timeout(5000) + + #设置可以循环产生定时器超时 + timer.timer_set_cycle(timer1.PERIODIC) + + #启动新任务等待定时通知 + _thread.start_new_thread(timer.timer_wait_message, ()) + + #启动定时器 + timer.timer_start() +``` + + + +## 定时器常见疑问 + +**问题1:定时器失效有哪些可能?** + +* 检查系统是否压力过大,导致定时器回调函数未能正常执行。 +* 检查是否定时器已经被删除或被停止。 +* 是否虚拟机进行了重启,未重新创建定时器。 + + + +**问题2:定时器是否会因为更新网络时间导致定时器超时时间错乱?** + +* 定时器不会因为更新网络时间导致超时时间错乱 。 + + + +**问题3:关机和深休眠情况下定时器表现怎样?** + +* 关机后定时器不再工作,重启启动后需要重新创建启用定时器。 +* 深休眠后定时器将不再运行,唤醒后定时器也不再起作用,需要重新设置。 + +* 在深休眠情况下RTC可以唤醒模组,正常运行。 + + + +**问题4:硬件定时器软件定时器区别?** + +* 硬定时器系统个数是有限的,软定时器理论上,只要系统资源足够是没有个数限制的。 +* 软定时器实现的基础是硬定时器。 + +**问题5:系统定时器和普通定时器有什么区别** + +* osTimer直接import即可使用,Timer需要从machine模块中引用出来才能使用。 +* 两者包含的方法不同。 +* 在内部原理实现上,两者是相同的,表现一致。 + + + + + -- Gitee From 1ea0ec0055b21395e806b5d80e169e5ef984af38 Mon Sep 17 00:00:00 2001 From: "burols.wang" Date: Mon, 4 Sep 2023 11:02:58 +0800 Subject: [PATCH 4/4] =?UTF-8?q?=20(gitconfig):=20=E8=AF=AF=E4=BF=AE?= =?UTF-8?q?=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 固件版本: N 是否需要文案翻译: 是 --- .gitignore | 8 ++++++++ 1 file changed, 8 insertions(+) create mode 100644 .gitignore diff --git a/.gitignore b/.gitignore new file mode 100644 index 00000000..019df371 --- /dev/null +++ b/.gitignore @@ -0,0 +1,8 @@ +out +build +temp +__pycache__ +*.egg-info +dist +.ipynb_checkpoints/ +.venv -- Gitee