From 6844852491dc956761bfd549ff9ea735fd77384c Mon Sep 17 00:00:00 2001 From: Nagajaideep Date: Fri, 29 Nov 2024 23:44:17 +0530 Subject: [PATCH 1/2] Update CI workflow for C++ coverage generation and testing --- .coveragerc | 2 +- condaenv.6s9mei4e.requirements.txt | 5 +++++ .../cpp/_algorithms.cp312-win_amd64.pyd | Bin 0 -> 37888 bytes .../_backend/cpp/_arrays.cp312-win_amd64.pyd | Bin 0 -> 28160 bytes .../_backend/cpp/_stack.cp312-win_amd64.pyd | Bin 0 -> 28672 bytes .../_backend/cpp/_trees.cp312-win_amd64.pyd | Bin 0 -> 90624 bytes .../_backend/cpp/_nodes.cp312-win_amd64.pyd | Bin 0 -> 12800 bytes 7 files changed, 6 insertions(+), 1 deletion(-) create mode 100644 condaenv.6s9mei4e.requirements.txt create mode 100644 pydatastructs/linear_data_structures/_backend/cpp/_algorithms.cp312-win_amd64.pyd create mode 100644 pydatastructs/linear_data_structures/_backend/cpp/_arrays.cp312-win_amd64.pyd create mode 100644 pydatastructs/miscellaneous_data_structures/_backend/cpp/_stack.cp312-win_amd64.pyd create mode 100644 pydatastructs/trees/_backend/cpp/_trees.cp312-win_amd64.pyd create mode 100644 pydatastructs/utils/_backend/cpp/_nodes.cp312-win_amd64.pyd diff --git a/.coveragerc b/.coveragerc index ddf915a5d..1a97df38e 100644 --- a/.coveragerc +++ b/.coveragerc @@ -9,4 +9,4 @@ omit = exclude_lines = pragma: no cover - raise NotImplementedError + raise NotImplementedError \ No newline at end of file diff --git a/condaenv.6s9mei4e.requirements.txt b/condaenv.6s9mei4e.requirements.txt new file mode 100644 index 000000000..1be5760d1 --- /dev/null +++ b/condaenv.6s9mei4e.requirements.txt @@ -0,0 +1,5 @@ +codecov +pytest-cov +sphinx==5.0 +sphinx-readable-theme==1.3.0 +myst_nb==0.17.2 \ No newline at end of file diff --git a/pydatastructs/linear_data_structures/_backend/cpp/_algorithms.cp312-win_amd64.pyd b/pydatastructs/linear_data_structures/_backend/cpp/_algorithms.cp312-win_amd64.pyd new file mode 100644 index 0000000000000000000000000000000000000000..7e49bcb4084f6e5955c55cfd748a086872d20a7f GIT binary patch literal 37888 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 literal 0 HcmV?d00001 diff --git a/pydatastructs/linear_data_structures/_backend/cpp/_arrays.cp312-win_amd64.pyd b/pydatastructs/linear_data_structures/_backend/cpp/_arrays.cp312-win_amd64.pyd new file mode 100644 index 0000000000000000000000000000000000000000..aee3d6d31d5addd3b9054f96228529260452fbde GIT binary patch literal 28160 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 Rm=9|8MPmCYg-n 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

vhM$H>V4yq^q>AhE+ zHV`geUNh>Ae@3gH+Oao|XMDSeH}Sz7JnEB-9O)wYbnan`!^iW@MBC0G4|DeC9?GM# z^u)J^=wnYhBFRn3O%I{`e8k%UB|z8pjJ<|1h|rH8D5(g~-iY&&JjUKapkDxc5l$jp ziJ!98BQWgx%~K)kJmgJ4+{W0OK-=t$y$HChpwvk;2N36f+re7RS9S-0E6IxC>OIJY z6G1ruL09jwW@QcW5jbpROT^!gm{Uu>)Cx(FUMc?c!l;bOH546zbMUf*BXOMW+z4C=r(>()>n-7Qh7q_@PG<%V&DZ2B<#ZBo z6*vTo{ap(hgCFT)X{(Rqg|Fa$YC_OhH#XD->S@BH@!o?@*YNk;b5Hd;TJ9dWQBJCK5U8cFvUmsPM8)FaYXbPj9)0^LD4x1c$W z^h1;u{gq8L<(OZ{1~ps`;b=})*CZKs5 zY9jx``-;<&`&%Zlzxlyhp?lErzwKeof+Zu}%Gl0f9G9E$U-alw zbSz~FdT;bm4nJRF-)yA_WMBv9?)geKx%h@b@5pS00%Mq^8gPCZvt(b=H&vg+^rfk+X$rTm1mSw!9XVU3ZW;r~b83W_czOk%zI!;#+W>tvx z#ivCZ#-a^lm}w>2S>M^1os)O?0M`+RN zNKD6<*WH@RZmk}}R?auD)RjqIoe_NIk7LH{F@tFpsU=eeUEmZbIR+co`6H?Zkw%jDDJ*#u2DW^5J~AviI9sqaUo z;Wa_eK+izW(9ZaL-Ix?MCR^VJO;t?2G?iWY5o9if%xG8ZT*i(fJf-m+nTE`uWuRpV zv^vOe$&jtWPGMVQt4}W$^BCO${1{=29fWws!dqAnVrgxhm0ZH@&cMd5O!ZP(w1TYw zod@B&TG>LxA4GUcODl+fFD{?b-;c{5b9pMee7=cY?!(yhURptXN!}Mg^8`FpJNOXP z#!QKBjE;?2hqNJu8GI>T>II!K1${l18CRy3j3M6udyetB>_*0RA)Eytg1RIfOTzfq zO){`a74~SSNTA~c7vaY=*?GS9inXWhBJClPSUtNTJJ%C%1a~6+2tq4D z-*t@r3J|LzzMGj-<;|IwJ$qBF$5mNheZ%}Y-p$plWU~X?Xjg2%(_KUK;`uhtoyu>) z{D^ri_WUPsP3R@QY1NR~b%+2b$Cd2^t{1rYzd!X6a4o=<$I%U92OR~jF%DTQ=vvw6e}0s~{r<6_T&0#hE4!z$T*=#SPWLIw+&MTC@l2 zqnPA&KbQORVX6Xt0*QIB3T+_;xmMyFYBSc>!}?g}4%h<$pVk2Ov?f(Sox9SGt~AT9jFeL(70Go|AWTU_*lkj($!xjy%7ewAfWH&Q4u! zI$yN;1JyR$ZT9k#q9uj2J1<_fx}ap<{47q+{*&KFY*L@=(!XR3m)6$dK#;LV z^{~!Sv$K=XT?I4*Jb@BlLzNp_ox}Q4x39j|gHy>EitSBy__aiXZz+zoA!~`xjbq3F z^QPPqbo(}!xP3TjtfwQ}Tg<5D^|mAU48SdmQw7JcO!x`l96yZr%Q!)B~`6LYE>yyy)B@p1Wa z)?QmvTjdg+0Ilm7v4_A7n}&LXu?&q19oo8TJv9w6{w_K|ra#tMk0WX~Vyg>Qmfc+H zC@zAPxaJ8viN^^{I;-)yu~JyTz>VK~xQ32`U7iMBg9q0f=q=3eQ&>H}y5Uk+A&M)N z4eSOgTN^-k)w8b;$6ao=7;6~!20CCzri&~)ow=%TVNkmsz3=kinxtWq3x~!V@#Tyt zDg0C{%k9}%>ud1PJqDc^@p?20IMGHdfdbq)lHT2o?y6wG?HZ9W8TAnz!+k*Q?0P?~ zqh?q60<$-`E4{Pp=FOfrTN^_O`S{DN0hmra$wJa?74=y@#p)Y2#x1c%TlV|||Np55 zVqZ!Bwc@?7RytL4npX7UtXafVmDclo@4`<4Id`5UeEiclRon**UL#7ob)AOSm~GeaG2T11w0Xuzy1fZ>G5RkHA1xF7Dm1wh+taJ%@iT!piflkt@PNZY2MSElXtfSFs z_%8yVu z;8)Z`0=rR@qxDbQDB~OVRNPOF%J8qu==mbPU$KAwO0h;Q*8WBEj#~0B%NVVHx;4K~ zXNd8SH{+}I54M6A?cequ%IqSpl=H*0Poe}O@Ket;+QMhc`Z)&Jvj)yL=U(J zp$~C3k@35wcM+#MrnLy12JlB(ycO`L2vk=);KP_qK0>?|aLE+G2mXp}M4+nl5jQtXL?Csb~2vj!y{yYA@obJu7)4>Du1e*~I6#{-A@hcIJzxSs5@b6%8 zyAXJSKSiiO9Q!<0nIY=JT*{tDAlWdVuyMHG_JSt%QfX>So9z$Xz%S9HIYH%sW5K56(jEgpaOO?Tjbo{f{zN&%B_Z!IBC(14JI zc>Mh|-D|ht4*Cw@34RY@3*rPHL3jx9_}PR9Lk3h2`TcOuA$6Quul&m)Kv{1k!o%V zN$_0+5Lp+&-jV0&B>Y}x#{*1Uy0|>C@Wn$ zJ9mae-+xzE*5SxHf5v9Ff5zfP#<2_Wfxo+c9X{L!1CKv{29Dlu^y4$=`bz(7{Nlma z;BTl2%&uyvzp>I^KWF2-84|8cYHM)MusXgrVl_9$3yF)!_;-ye!5D@D8h1DC-oCqK z_s-pWcem|s-`%~tXLs*zX;0>!+E@}81C<$EgjY}n)7vwcs?o}GL8ejNRA`Cjkd z#=UG``aWr2=Dw_bx%x4Z}mAdlgSKvpZE8^f4zK+XHIu@b#--h zRdw}pO2*uglAe;1l7T_jad)l?`q9McF*IakmMN|EYB-0TrJPC3kjF?YMJDJT2pq>dw3t~ zz3Rdp^1Re~K5~(IpCs=WPb-_sy6l#f7N?|Kc5|DQQ$D`%3OlVS;&YY)ODWAqItl58XQvhf zQO2sznyvt)jW-~_J>W`P!4;l0^ZJ=($P%7_H(+i`%D6;umtTDy0Li12$B@r9OlSqy z7pedMKX5>=*p=IJwW;O&g5N>MNmEmi^kMGGb=E)TzfJa;TB-s`YXKtp>Ssam z;}x+eB%gg@YRgsrt1a^l$9ANn5hAxH>qVQIA*DW0`uaRF8G)u@w)YQ8ye9 zM9RN3O3H`T<7f3as2=H~C9l1DXn5G=M@P!L#t4kA9z)e*jCz!*$JOdlj)z_T_(=I7 z!=(HY^|(_#9#oGf)Z+#9cmof+{Prfh{b!Gr@>A7ghI-6Xj|%m;RXy&-L&_Hp1BczZ zv0XP-=pknb`iQ&?4a?MnN9rLx)72r()c&;_U1O|7&$`D-F}r)$>Bi7ZJ>)27-&Sqb zUBxTn@`K}YGDk`sA;%uHR5uRj!Bpc@y<&N$sa*ra`&Om~oXfH)Ovc9W)0_Almy@R( zHLP!99KMj_Sz-yM5`k`>+8r1o)T~Q%95b2evy*0s_3MR zDGd*h8sm^&vC*Y_nr9uO8_oJsr19SkdPQ}&#vXcwdF;|-@vgi2HtV4wse0Awzy*h|Z)u;_uZNRgt+EsZCn;)9qO|STVrylIz+?W}j#yq15tw3u) zT5#bH7FouIu=zQt$~ZZt=RS19q&Y?!)EvAp( z=nwTioA91Pvrg1Q8Atj(O|y^odA^wK(2YMDooJx1`yY*t52&p5(4bV^*b=@EwfT)2 zvcy;$uE3ifYVYwbC5*p&jW0AJRZssUe5GU*Z)`l7J(E}b?pjnc#dY2CDX#15GpG1m zi&pt6{&4wS12%%mAApt`MGFBp=wKiEHRBv5-Q#WP#*g&veq)u-*hHQU|BU_BGo|r( z4pO%+!u3*kI4JTP<=u2+p^KHwI#+lJm3QMo5t-xliWSIR+^lzp8mw-{XzJ{`*k1Os&aSTMe_yI5`+#h8jJ?w*;;e(AFu}#=!2qQ$4pTNN`h=%Pyw`2 zUC`x2Hhy@GADvO+`OS6HyhEnx_pG_TCzK4uB2LNlg81GlQVdHvsqSgP-&t)pjJdN`*V9P=4t^L@tkg+61x?lZpePV`Rjj`xlmzcPIEL8zf1lTlNz+(>P#i^FUoyb@_Zqm#K|Meb6V+i=IX{MC*ZvsV$NgY}7-e+@|)pf-$wc z2=Gw~*o5P4YC{Fs`89Jx+A+xT8*BZcLbqQDfN8-2*}CC)78Dqn70Xit z?Sh$je*o{u0(p+x;<6U0tXyPWAD30eEb%LX1M=Zp)C}N^BBf>kNljTbAP+x_)K8r* ztmSyX{sP*Y>o*%pt>}k(){@4tv8P@W;ndEVthn(`0b;G%j)rGX{*jft1&B*9k z-LM4qSr1+fAC28maVX7Ic^HYq;)S&{*Q{?wZH~Z5FhtL1bG-2u4GJp($pVnhL zyb|5>#mo;I{w4^t-Ixx51$O_2*;dtj)sS1I?0Qu{#BVo;tc;UgpwzBdmx`MxQ7%*a z6r}1#@2ddN2(cA!jm`a{}xGK3)^m*Krn5a0c!V?1ds_Hene!Z_Qux{ z{-L&6=fj9Wi*+UvqfW|H$Zv~#P2u056+!R|igUdb=RgNcG5(_nVoYO%2675@V?mD2 zQQ@5s_3~x>00{G&HJHZ;PX=Wf)$qnq)VYg5cJeVc?xeDbWSU%gPV7t~16KGIu zYR?EY!_X)UjOK6`n7XR!fK%bjW6w=oiI;+YS+kCh${!dX?6X`q(PjN0e^BlB3xS*> zN)fwirT?I#qrH#*FotG%#q-yp!5h~9($c)j{K>Yjqq8_UMNgaBNju2{(X-|qv=A5v z-~{@_uGZ4L(q6iDSyq4lg8q(Z+K{u4pN)rV9Se+514~}QIDkuyLEJ^MwuOBVahVI; zgDgGR55vWI4YY+(m=)}oYijMJxfmTAP3?02hAco89mMqX7gv^J8RlG#orJ;12_!f@ znB;@E#Q-SG`o-0OLOKY|8=8e#dH_FsNN@}xSV3xeTF=d)fo5=+J2(hB5yCFh?*PV? z5=g$Ymm(=qmfPctyn~Pz6C-Mh8({q@eTMT211AR>OTzsTK*b@FPG`WM%Px+$)+*SK!}j&c_qh3Wlt%m(L#{lQ5){lTgA{^0aFe{c@^`8H5yl(_xI z&h*uK8I>bEVYnrepm8xLqhjdCxtZa-471suCOmV!YR96}jZf_HRb-@k$>}4C$ZF>W z0Mmo*>*(=%wk-In$iRRr&NBAY(%yc#(E|^GS)+UYaNRl{@dQ$y>kSp-huEV9G(~VOC^A!n z#Sn$!EOb}4fqwDBM!AE2Icq}2{KBv{KlMY$b)BvtLk4AZFp>@p^T#$C>j--iU`4F zAgFAo&-~C&XO7*QJ22E9W0it)#11H`va50^HBIQ1ImdcK3sZf@C;l>6-df-Co$28j z>r+xZzc0)-KEf=utX3~WNT3f~D95iTyjOpoCVAALU|=_NXFt#*wM@c*;R|XHUWFb2 zRgh?S*QmbH;R^;fW}5wSphMZ8Yr|_W*oAFYD_im>cKll`dSIxzYvO8nX#nXh^owJZmj+$xE-MZOhlonsjp&1*8yy zW4pwr_Ig+YPD2>ogbV|c^4C7$?ZK6}QE%>&`7?4v;76Nf` zRrQ?nON?z^cz@6&ZdI;50>mRRZk#WosBWZt&6U1jny+F-rq@I`V`XNMv7*ScX3=VI zsGq5qtw*b1pE1a$gOzv!bDe!$-V&aU5%S8Cck{I{Q(5@+ATh_~bxSa^IcB!2Nr)?kGWN0JpBupN^QAs^i z5=7qA>LkgTiU%yQ?%7^`f$sS^kPqMbB+=5&7q<})<`l(%p(iztHsWg9h(J!MXh~={ zw?u=+t&Ez}kn>%H{7mg+l*dT;+ z(ax1|F3b+ICzuDX_dn`Zs9b{R4axpZb?I(YQk}`|LJo*AwuKeW9A1gokF3dg} z-C_#%2qgTc)A)m7_^Cj7cwf0IL6xrzM>*8jgeib8<*GarMKSN!gA=oA21x81aS{Nd z_V(bB2NX6Oz!;+^6rAlgwP_$IIG_h6unl{W9%s+E-eWkgVQnGpWKsB#8ztpLiU&~?B4<`MpH?Z>ADS51IWaDT%tx}Gf=qkBnzgIy@E&tg7bty_IE;Itr9Hp_WNVH*S@|{145p2mh|+S9uv zF||LN-*xg>ayx%ByL|4^YINttOqSGaZ}0g8+!h{-2#m_)Ob@aPNd~8t(?BH8AE(GT@9&#+*V_=0KUow4P|$Ab8%j zfm2NFro)uc3jw^EQF~)hetJ!?A8{;a0gzfXk$MOnn;-GAq5&Oge<`5v26Ty0=Vw&> z=OQE1%K$NEF`3AlO-z^u&WD7Mt(&qT!hNvj+E)>Ct&6Gh_ zIsx4=3q6B?k~lqnqjy&Tc#SqPSMmniAf*FqF&3foFx2j;!%GWxA|3N6!|@|?3cOja z%9~_9H%^VcsaQ&MRi4fymcJxfc}!|O<8tP>D)+MkjlmdT`?1a-@I zBz;`Ybbsj9oF&Ml=UnO!DM&PHJex(4@)>K0fH0=^4vNtN?Meq5R-4)mto|ZSN@T`8 zIX4hb$k|^wg06f6xw04x#ZVXCL)XaTSb{_!T9p;(CAuIJ@6utMDag>aWKq?LJrQ_! zTnwm&Qq;=Os;OH2`Fd()!4NZbIDC9`X=iD{VZl^_W$oZpaH;Wzg zWB!f8;)6IJ0y6UA?(e8HhF}^A-=ht(*_hk#^uCF;LE1W_+0_}K@D6^!5-8gxB-?r~ z0}5}58&j(+Q(L8Is~iB@V!EMB%pFG9S;$w=Xfwzme1Z}7KT=Og%(8{6@)a5J7-efD za|7Lvs%7YAQ!8akA}%`q#he0fZutbVC_kAXtvLqD(UGA156quLcqx~q z`0GmnuGWp2?&8XQuBzSezhp_?`K{12LaM|v&bsj3&CGK2Knm9G4d+T`g|vqOC!YL# zywlc;WKnuKon@RNPZW&h*h3w_rcd&YgF$gV18RWcbg1LTccAjNLFITE4V;9ER+3bs zL7B8zz49DOS?VG-{VqvYM(#yA*>Og0H_a2Y57kW6&SijX*tvFM=O%d(dxB3modaYJ zb(466x~cUBm~0FZ@gATE-zieR7V$jzbxeYS5=9qsK84DluaPL)2@|Ti@KA7&!4l{a z%He8zQwXR27^Cx$04ur{4@|#Wn$|aw==1C@&-59q8fIs*0prno>-FI4IX9p^)DneQ zH)2_KKRu~fMdv7I4#dt?b&oyXeyL3ctSjJLR~6R|VXexCGYky(jx<$1I>;tr!kL6Q=N<93DJ-FQ|ke7mIZ6BRs0 z^+xd`zJ&Xbkbg74Pd4m*0Lb{+8q4E>M*C_EF?#*~hMht`5U;E+)P=9wg>mC?{D-Ka zaVxKF!yni`1a5Sg8_U_Qs7$@aIUNJ1qIB|CZ;Fm zDj+F?kN7*uFFyC%mQpf9skiNbl15UBVwHsBY{A>t9T@I?Jype{p;oXL4tiIij%ADT z_hz6Qp?NBkf)fg)+~>B#_nxu(X2<^-MT56;VnlAXY!o+ejiJ^UU}heZri+y0?&DYo5;xM|iX zSPB5a2`P?hnwU}WG;FM?9Z%%eD7d^qM!{~P<|vpdeilX%M!_orx3Qr}(jeHQk`dr| zkvWhRs6INmXD0)kA)a_v(rnDhF1QrAt}5BmK)Ly5B~ZufPOPKfzh^QC;Wy7_S2wmyLdtnLThp~_)5yO5EiTDg9U6lbbN}q^02p==&{0Bm~U!RC4aqSH<{XKzJigmf!BGAR9_`^!J%6pUV&(-HDh#+Ao1|k z3Uxy{6oI3l|El4{H)DlsRiG_;{8cFmmxw;z98Mjl)5qfu6Z%b7JcjNQ1nTOX>=7fa zo!1g){uI6(;xkU{i;~Iq3xZ8^sCSuNJ)n{fVh<2NFg-!s5J^5`A>w#Vpx|W?B--le zGzd*+IzE5|pSm%lwcCp#3z;LqhA&br;Da9|1ojuq%_`UYp5AFJVr+0#UWO74cS{{Z z+@`hy>71A@uo1nY5HSWFJI_P>mnO*QSf|!vj~0BKNg<)$)Skn8g1J!zu^BDrMyXO2 zG~$briCA89s;jCBB$--IyLRkU8;~VLSRP-|+-omH zh~RDKB*WwQ8fD7|N&j7epRM{Y1MDiyYCIiY;7Aq@X?Z~2cog2RBYa3}qJHNpf{Aw( zXB6R_#IT{-Njfn;o?-7FwAMx!_7bL;S|_1z7=5@@RO2_C2jAnP8l9MJY9*|Z9jLY$ zHfVOBIu75NHokRIK=9GN0pCodMDYC%Fq4^TKM??LEXVQnJ8L^ zt-f_SV}#gs_SL&7DMdz;-zW}aOL0@bP&92IcQGGz_ zeP*pceT5IQPKu4;$&rdg%4qfn}X;)GK~OBxHC~c_ub~hlR9Iuh04P zVTVGDYutvq!Bu&mj7Fau3(u#42v_Ax0L6HIhiq&9i)`EVz@MCOUHWe*;G34g7$$e;-b6(qL9&FWzekcu(KXSmLH?jSc_v1MmdycHnP;x zrPvSyGr8ZTd>veu@DW%5;`|#nXpa=-8fQCYE==v?DBxGv7l?&L41UD1B^i^45A7da z@dG{1NXk?@?P>c*8~nf+#a61ysTjpHnQ%0SI>V^$nQn58p&pA?*z@OEA@!0EsfyrPeZK080=Nd+i<9a=Fhw&!_y!n0*Ua<)UQ1 z$8&sa#W*2OdqcfTNBNKhod-?cRDwlXQ=2X@pFq6YC@X1d1#1IDwNMDKH(%p>7Di;o3eZ5b-Iw&nWkQZ|PM|6?xS1uDAQNQwHR3?69bBk52 z?nG}4iHW(FykFrPBK2SiXp&Nt(Q1LY!gq>O>(uM-SY5pd%T{-%un zDbW|TAlebBp-!CPNANC0H?<&omQ*!3hG?)=1PaW1oSB{)SJlfj$W;&|g0@6a7_LDs(#<@Q%Zl0gq65 z6?0os2A2=D!S_EN68eO2&AC8ofC4!N6eRTZ$BC~m{&*qAWd&=&61TBEZoTqKV!|T# z)Y!#?;a1`#KaM(2Lh-AyjOND*!c>ChfesJpP)iC}tt{eZjVzE7StBpxep5$puD*qw zv=M&pZ`F-UfT92>%8!HImqws%Yr~aXPO111rA)2q6`+>MMcB#R5Rx1-pUxf`-LJL6 z&n@}dN8PCRp!P2ll$0O&!QD=$OAkUK?gw5ut%{&!U3l}CRBlZmaw^jq^}Aa{d~p^! zf{U}dseS&k^hS#btt{J%+j}+&ax24I3MyvwXF*NDvBLI;>D6flteaR)YK|&i8v};K^f7*B#S&4Gtvi-YjI)P@IMI#?A({+HfIF$ZbE+i?W7s;1#PPsmge!hZo!bS9 zz8|rMv`VpP7(ZL^E{k3HJY~r>=G+og3K{61<(cYUa2m?ER2gM2QRaW}&R9=wv>>3m z5Q;mfe8vRC-vfvYVHs+wwRaj@uCenEN>hvrEc8t;0-OUqvcU!d!|oRDe~jEfSJ-hI zst92uW%{D*pF`P#>I1f3fb;BuP9gf%Sk;Or;M&{x;%jwW${Z}&`r)>(I1WnoW7Sl-MAY?|%V6 zEt!^t@*APzqLdE+j#$dS#5*X*7K0YndnwRk-&~CK4$MNt5&H~Sui*^yfeoPuJA6UH z(?R%Bj0CfLO?sF@Q?*uX$8y=j7CA*Qm4joHY<(ADgq{=`2F8=wxRBNs-h>2%cB2L? zD1U&g6IIrKq#=}lmGvaDa!E%>dsZ|jvPd^d1<}Ol77wnFXH+-L0C`l&YF}7kb~N4@ znL1%ux^?46U(CtUkh4b`hbNTrRhV7d`{AzURxa+z#u&#DFYLqOUipyIM8MC~PEQvb zviTU6gl0cSmCWe5qw!=lje1M6wuU=@3~SM1+gt=Qc3-MkH8IOLs?mcuY$-Kbwneqa z2SA)5TDeUcD8Ji&7TI4X@AqwQ`95-I8PdvWQ+!nt1QGAmWzAi|K;CmqsU%E- zCC-6k9LmKy0)FCwc`uDkJkLrjq<2sV3pyB7(K{$5=qSk0Nt7WZjFP=fMf47SL7|9u zAV(%0$FVVx321712f%a*P{2DFMem^DS(_!{DL5nrzMvHR@M!WLoYqsxR%@*Nke}?2 zv`^amN%YV>MJslGuY?q{CwdW!JCnK4k|(o)hBjNh%XWk#C5hWnnq&=!mgR$I2$o>~ z(-;JiPU-+c18%|h4+56ewQ?hZmaU$ZEPpi0Ls5)KlyA8W=O@Y&w;^9GNWqjIn+(Qr zHFFBQ`L0U1XlM+88=g)~tb~ZxCCQYvrw!$O5dTX8A;m*UGPy8yzNuZCBwNZ3O_CYp zIz5;86`H?u~4J+;V8x!D_VBkbFjM5~Bm9Nex zS@QM1l-G_^?;>B%OHxbunn;Qg$`^czlU_ltC0~C_Lb@$q$0o}ktys4Y!Jby~Y01~8 ziSpv)>&;{^j`pm%rF;dG0W$=7b&|}ed<{$jAu@7il1xj!j!Kd(Wq*D$0Ta+rTfR0W z%~$gEO0xWE7{rjTJCo!ajvts4D_`4~@R#H(Iuo*V*gGd!GB$>7HMG~%yU5r8NrJwL z(P4+4AXow&HdBp?9n5d7x*}WX-btJfi-JRpX!S#h^Zh|?9>l1fk9?Ug#LWqUW56}X zdggkX1Kr?cB2JeW)*qaS9&kL)nmqN^km$;{)^zJKBtTbs;(R|OMSAO-e$#vC*6zOK$+N{6Yx_Qj6i%Gj|;AJ zbGJbA<4KwdrHm=a_N3XljTx3gJeAZyU<;`bb+x$>3XwtgmJ_yk{n$!=4;^R8?}LI; z+pFG1es7Vamh$T%bqVEH_2Y?&sgKC-p~n(8-j?4TN%Di1X?_R!3FH?WiXbNrCu)z% z@9l|U_28A1->+CxM1IQ>*9-Yn+NNL9eAEm1=$bem@(;d1zS0xrTk`t@S40zx9Ruf^ zvByQ^cV!Y7TYjH7Tt4WlNRqGQcPnx&`5l9whnL^{B&ewLA-}S|o1it&>k;|AoGAX1 z{K`2P&Suq|$CBry_d9&HkBBjAng3{Xz9WtUkIjnDpw9oiCV<<*@6e~kWC)z*Ub4u% zIg49YTAu^5&gB3Sa~9W{h~H~F#PQ4b^>F zyG-`*6jFJ$V;sH`8{aN8kMoz1a~X_`sr8U|?Myp=oxGzy!>UhJGDhvOkM5eYLLl%2 zE+rtlEjCjEp%G%xNa26e(>}NJ7f3!D>5&YXR~7=&Usmf!*ZJglKc7lev8%ln6HT!7Zh;3| zt(_Y@ENKf%Vt!7u>&%SMw2j7-v-n~~R(~7hJ9!6LPhtg@43v>eaZ1EbI(+j9X!9^K zIp^k88catevkS0Y-&N!&By#0uM<`}I)IEYHc-2hKI`{TQ2aAuF2tgyVz{oB_H1={( zvg=BW>4-g537Oi>Hu$MF{og)F`Uhtf_xv`}g!qxc$fcvZ5ZD(Js1a>Y1k=kxhW&6Z zY(Y-xlsj}|E2{n%3>VgYRb|K9l`WNbFl)9|S<;#)d}P*O0=5iPkxvzKi?9!>#zB&y z+H(&F^|(Nhs18C@h19K8W?2m5J{HjsUq8SfF_9mu`5|Y$m|SuZd;2&xI)S{gAn!bd zE8oWTiM&&YpF$Dr|5y3hcK%!P4hGDMuWKHVb1oD+`pAG10#aJ&$;9sH-wK1yQ!jm_ zq8A09_L9qLl<-ZoQzyy4P37Ni=bvR0^3(l^8y(Sx?1`bQXbbEo-&=oPR&c;$VBLp&{p|lJA#%Y4~b6 zvFiNvK9s;6rj=!>{NcO{5EvAEF}Mu#Pbt?iTJBE8uqz2y)jf@H6w7%6w~N>e?I)*I z|E*TJkdyv^sjZWIso$sSAEW9IAa?CM7SQEa`Hhc&Z-Z#9EvEK>6d4S`sS6KhKuO3t zQqV0_)h)8CJ4vd8WPbJ!($RVpLCNLy19DcheA&ynvyi}dK^s~hIMfsES%10}KT@Cia4hw}^ zpCc{)?T~jg_(5VgoCJv(`Ib-xFe6oK5UjM0h{2XHypIJXk~&ln@hE$;Hai|A20Z^(J0Se|;U z|K6=YWh07$J{7lbtJ2NNafCNB6ZZQ80TuK9>h4(YCws8b3-^sVkPo7kbOKSPwivb9 zq`f5yjWyFdUkEsLUi2!Up_G+9&us&PF#zlJppH2Y&PxY%H=en8!mUF*;)A;g8>1Ys zu#EMQV5e&D4U6(p0zOlFm>@J*E!C}(FQ8bEI3F^KAr9n@wE$?m)YOJ022_5*-;gQJ z18cEYTsu~aiNP(5+~U&}T><}>Sh%!~{qFn7QpZ)qpVqUQOGs|Y9h$~n>@pcb$i2mG zxv2loyCmRiY5vSq2m*S8$6|jF?Ba{A1ADQ?@zI@pRI4?PY`b#H_1sx!nzsLInCc8Cy)cb}xdGM&Y z_emZ9{SM{}ewdU3;QH{#Y=+12Z=|@YdIC;@A}(#_9ou@2Fx>8< zJ(dVM0}U?BYPbd3P3oJU2*`>4{Mow2}&Ra`>2T`cnPAHkH~rS8SOR$kaQF;rI~e3<`el<;;AJd$e6-+&b!n;T zii}A`x@Ueiwo$f2#R#Whi(kOH?NM%uEXIdDst#t7DmoIM!V2I%A;DJ1gL89bCc&%^ z#6UD*{v)~C**0MtT1Bg)B>LjP_qCx&)WbpkFR>o5n>%(uU zGwydV1>ekpjo>~NV{3Uw?AJu1xbS4L*>{G9n(=h<74TokaLuvoQnQhMG_6I<~Ix56v2-EKUIn! zc7S0IxLV0MP=(U$ny5DAW^U}yGiDZH|0lAAXE;b3yMEZG8gYl#MH!DY1{4LoML>f2 zk18FDoU!y0;rtw^<7@t93~jGulbcv8yRIE9P|uN(%3{Dz!GVkf7A zC$9>W_SzwfCl?EL@T3DW{zU0Sc=BDP@C3(`piHBlzA;x_F|bNy%cyP%0g8eE3OPqY z7o#7nIw2b28+ULR$RIu=fQs)BIPK1Z7KidIB6<6>l0n@dzjwmdNXGAv z#n?^HHMPD9TR$7y*Yb{LJdWajmEYy8iVD3YH*J28P}zs$_Ycr`IEP`?Nq*13u06$X z`U8mn5s9Hac))6QflX-hO*Wy2<+nOFzF6uhiK*vV>;`P;E}Z?Fs^UDmiftAcul4gu7vl%{5;Y0zc?cD7b87by0BpA?3KMhX3GEvEf2oKIId$QgPfAUPh}ytmi!V`` zd^ikkcpq@0%Q0~ao7zh(hWlw7-T{nqb7-Hj4_yii;lp?(n8(orpsp%RKrA@gVcZW8 zh4aXIIt_If$+}yzw0nMK2~^#ab@9h9i}-_lg!4QU8dt5N#tbT?a}8>>0FnzI$S>ml z2u23$UxHgTx8ey(IYac%O5TZ*$KVdgNBncx3(R-y5){cd&cww(td(wSQnK+sBpDN) zYgMCa)VoYd#!Ax2ED(?@7BH+9KDYTKRClY?3sN?QS1WJzYowH8z|qh8ejyOI9v7gu z56j8jLWFxiDO^Vdm({pX_1}}QG1!M1t@UoKW1#=8X04;uN==R^z&hL~5(P~ES^DEM zri7foimBOFehl_uL}3;KhF3Wai6$-hLW-S=lt5Rd$L1%XvtwONUs;J%((n(U2S1}| zsxT9RG)zDWqC(}TVgFkqG>qLi-eyh^mrCUz{*T{@9s0Wks&B5U@KmYrKBg(Tx{S+Y zi2q1ROW}x%|FqmM-fF+vpr45o(($99()y`)(PN)T5~PF2Y3r3n;jV*Q=CMr7xQ-vcB6>U_=PYy(?7x6%4NZiG&@2&j_%T2-l1PuWCa+uo$j#pYT<%tj8!Mpf;QvW+ z5syc(cG`d?EB1M+RC;|hv*~l`l+{RKr(mbxhPi;G47Oa&(6JegSG~TJG#lLj7Tu0~ z_EyMwuUM~^s}*V+C%$LYL^P_K-ovp#FXxZnvM4VVcm5%Y4Z^!R3f5m)vCeGjNorNI zCu%UYr=l>t-=`5G3Od>{wRJOWvu`*?NU`KvIU0{?6)&=aguV8#4d|;af~wxs(uA>G z3BO-V4m6q2K{?=+Ip8YHLZ7E8m+-?Ko96%n?*P7;-6QjciPC+Wm_hIj;R%g|=9HpH zaH5*mqPcgdE2Y|j0$0_WDK?hl1&bkY+O4~p3_80DoeX9k5C#L))F`T7F{kCaOUSuc zl;9TG{WBm6a0w?ILdh}|$NFzHi}PVswx5)RdOk{3?oyS@3f%K5DMOO5RTb>HUy|w- z+A=}Ab#|ofN2}YSx(m=J<+wwf(ya#*Sbw(q0uCVo%ic z4E#bku~7Cz$^E*hGhPFYHl+;{` zBnfeGlRHf+Ai2tSw3LqZld*HD<8rn8@>#0Zf_ZLO3s+TE8ZH4iDB}ghei}el>t^B( z9Ji|q^`d@2y`C5fqLGh%7fCV;Mgzq&k%s1g2zbHpe+X}AO+WIX8hWd0`*)IrhBlen zTqLQ6LS4i(^mHkmq@mTKg}4#$?*LQ9>%!kdl$3BiCi$S@s+jB=WH$^3SEQ+{ug8ys z48aYl5r#aG7)mkZ<|LT~qk$sIkYhlMFysru8`_r*QHIP{Jo;FY6ho#)NN&lHY$=_D zA!4&+XXIRf*$nBu&SnU07BmpPPZ5)SEV3Ie5WS4PUpg}xL(si1*b;JAVkpIs@+6sH zNclC&pj`@P;Qki^8rs&daKh9A5vp3YIY;1Bx!Rh3p|!A?;%kPjwe^^K_!6m3|bwz&!~B;pzuhpU^Ux{o?kuLiX<>*3C3P)(JkeL0vwB4t*h7#AsV7%;Hr1 zo{8TJ(IJrNXRk#A;N^<2v{*zjk%L8s+<;F2Z{TZdMT*r5^e_-jN|x_z2m?C(Qq-5=Di)7`#a_iyeg>%R$cBWpp9Ce&x~~&35EoA}R+S2whgPy&27iaN z;Ua1%cTci%8|CwPIRAFFB@MW?G^*k-KK_PLGZ;td(MYJd-vEY|K=p-3OTbaVvI{UL zgmA&ZD)VMxFWYV3h{Le6=RSUzr)3}YX~IRm4*->`@?NTskn`ah4w^r%QrqATBGJ_5 zfM$GgCmY$Xh@zuFgM)KOs`$ZEPzuz9CscCO@KPT1hog`*BE)hc;(tKs4YkJ?%?B|t z$WQS(-2BPg`5A^mydeV9O~F8_xA0>d)P(n-^%zf5q6F2~h0nbmb(yPtxOC{&(=f0h zVA;6;0!Uz>vgMwJArXvQ@k^E_#PQ)Oruu3DsCW=r^6@|#gHg5}mC1mi6GY}} zz3V1*pCs?_>$quPS^Jyxim)Il&mbpsW0Q4*8#=4cCP;y-5BjHBGGl08@uz2vi&wKi zHZH~MU%yB4$pPfjVXoigJ(7F%<-4tWBv&Q9NAie4ic3D>Qtb7ct6JP62`=HA!(bAm z;D(p5qlqIw70?e*!wX14vg*X*mktMKQh`5 zD3_{E+}DOXNHqICVRRzzcPwsForp?sjpNn!4UebE{f_wX7K(I`yB9HN!s&L^RXY}c zA)uj-pMx2YzUBIj2UD_AQf4N*-ZA|OUhlZv2eDIkwnCmt>QH%|y4vw+?>EPXXE@5Gx%^aDqb8B}V_W4L7otJ+`GAQaE6e)p8 z;Pzkjd30wlNI%x0kb%!|xY=HKtzq--JWh~8&h78vfxSr6s#r|)?C^mm8`|oRIihUN7tEv}`(~Uj${xif^;S+QsC$TQU z%e!DYop|;0OVlCf1lS+?g*bhgn>}NNuVPnfd6j&Sm`kA36ATlc53ReX+I%_WXOC7a%`yhH|>-+B2~9_N6FORu{jBY|QP|m}dOJ4#W93 z=nb5IQ`oa@>~G1t5XKXu&M$!}fNK-%xHz$oO@e(!ukL>^AUDpwJ1M$sfiD}rfl|WY z`1xJT`h}X?81-y1q~HuiT!ng<^$XG~)18oW3ACb`@oe?sO0Q&16zwyl6a#r7ClN2vy#@EYE|HjBxGPl13ew)Yy52_uk}gvI!v zICzYT&y|X6QCU7J;}V4*3Iwu4sl-u`2Z_Vb9{Pk2RD8Y=BE5PAtHiFh*ebu7l(5Po zV+KB=hU!+Te6I(!_s{aW{C{w0N5i1OxxFeD^}u$-bt$Y6CGJ!u@O{k)Z`3hYRk2+A z_Bml-hIsMbWCb6y2oFx{ka+p1B4q23pgrFPqtry}w~$h3mjD9aXU_`2bhKB{G1G=9 z(ouziuwkO~U}zXTrv6#!n71gbT%QUK1&rf7B7x-L_u+4QXtn=AobK4~?OJ>I9ovWz zQuw5x)_&hA?{fL9@Qu4#L(Vi&v(0KH?PDJpC4%??D2A6Hg1BQDtt57youZl%WuFLQ zC)hJ3h<}$tnjtko9?n3`Ed+5W00NlvaVBPu_4N}_Q-ZNRqgNvYai3KDEMR2*Z*Po{ zik|@Ks^Si+;-l?~Uy*ka#4k`ZzREF4svIpgjiU9d^>hfI#iWy z>?)sta{veBzE+&5Sj<8BNGeqqq~y18(g+Sp zySwbO=j?YGlsd6;{NOT)bqYRa2uH?G5%2m;FEaKD;wNmtglIV|e245AepfuV`^rDJcARC#c8;woeH z%Qgk`C;H`OK($tU&w;0kBiV|u<88v0%DZ?z-=SzcFD54;ETU^6mKR8s)Gz%|4f~>{ zetC*G4DDYVEnXC>Dk-lsS!JAl**z*DFCzM7gUbIe^vlDl#9{SIm@t-px!R_n^>A#d zU;5dANeASeHd^Qx&4zA`Hdepv9;pW9VfD*u0EvtyteN`dxR{zBvY`)CGdeP0gC#`D z{#ro@#MzA$oIlO+EAqZP~G5@`Ok;#Nsyq?6tfB9CBY8R+?SwG)|B(9%B zNc+N)K<6m^f&iH1NSh-Fp>8I4=OyYFaO6@X%4o6~C;DX^45S)OYmg7oUJL(HhWVAK z<~?hw!cMpg`SDYgqgW<^`yx}7-=*5d;fbpK4uq>}hpB2Wv8&xH@1kAY32J;8=n~Zk z?UH7EE;Y_oARf50{o%YEYUM|Zx*e8~u965{?+}Zjy}Q<8$5=%dIk5y;@tnv|l_s9F zffG>hUtK~@P`CUb79xH^;ZrpZv}0w#E~xE#mF>Z&D9MH2 zTX7*en-H$`Q}Bsq6BHP6Ty7_fHJdobu0Arrq9&R5NE?R)?XF=KmA2H`QxrkUad^HU zRpan|8#?(odVZhV;kG$fJVtmT5TJtc8;ocu3c@ms+OHz%xWFs_IAC()|jc z=#m%M(2-625y@62vzYhqv;8(;QnYO97@~#A{JJ#0c@eb6C|GueMDAoR_L3;zOKu4V@<_ZseUZK_>2rhzB<+F!SRJ$o#PXDoWy3sU{}0=z zLY_6;0Zu{NJp?(`70qd`o9AGLBn|u&X(CGL ztZHvJ>?#HA(=BW^?M;Idx3nd;MS{&A#dbVSB4D5GDHb-HwtptY7R!k|!S)AX6>Z)3 zqAxp{y_-noT?Ca#_;oW_ngYYSc3nPFJcv1 zJ7OHefI{wzIS_YW%=yHPaK0Y9>~JcfQxBCmyo)Z`$vVsCTtqjPEURRm5#^ z=b+9IvNmKT$wiOs7R1^B^)Au%9g@T`L(&}?@_Ho>eAl}wpH2t0Twj@ThuEswe!SZ| zMmSv-S8oQGqkOI}k&o(juHXa1RJB9w!3)R=bXS9%70pAmG?(DC2N6?`pke#Emi7Q9 zG9_WP2f;s8?Nn9mG`reNX@fX8y;&_{V|M#k?JI*4R?9fJ;{#<6P^qDyiah%n+JQ~j zFE$|>trB~%kU^SFVh>Peq>Y*8Ckm;m7fSiFdl15nQAh;m+w1>4|#U=q&1u>gsSZwe1SLqIjD5Q|!NzDSr$RfypD z!f1udxUZTOe&yqs!gd0uA&PoSRrTUy6&)6B{{z|@o)QB3L=m*ZesAl0sE-0gVzMxd zLDnKx!Shxv$eIHS3_gIY?^#~)p{q^SzzA9Y5giP&=HQshJ5f*_N4^?6;Jb&>q^)9K z(C6)$)^fWc>~B3r=%oUU8`m&Gt1ib49M-CpEU@5{G+fM*dqG-UXl$*oMDL4$Ij3sq z^#Lgd7q>G1>VM7PF`y%qt-!ZETqItwJvA=Iil-~n*9N#jhpg*>ZZ-6{a!D4GAo+&B6 zxUz~%r?}4UU+TK~MZBZwGa$9XlTY-5@wvQH;R7K_Ekw7Rslht5(ouDH#htH|xDM6lA1PK0GUs`^6Z@mF~_srv3jMda!NC<@1S z%#E7^!A2#zKilp)wUlCCd#b_^@4rhlkh<~Gdc+*KeY{D<8@OlRDfJ+diO!?RjrL%l zP1gD{cY8U86V6kMPvaE~z+(ED)Hj}5S7i;m07>OuS+#z@Sd<;lSVe{~CX6BHdPuOf zxy_AxIDpNLZ_Ixf+5u!jz;8fl?iY)gJ~8s}Qu(c@GG0JAs%CE6tX9qV)hqOg7-`4egg@i*N4MP)QPbx1L)52H>;qgJ1>14m0{0%v8f)2wy z46H|mtHetS2O#R&DL|m$L(VtFZeowYsTOFA4jVI5?2GKGS=5hoNN8;DqwI-VC8}Jr z?E(GYANe3^Nu9_`HION?p#Mb433aIEeZZ-mi!T5T^kVqQv8<(jRiTdI1#XzyU4Z$; z)uA7lT>?LOP(Ge+Jl%NW_Nqb3BJJvn@^Kn0*s1P@g}BZS!D8sJH3=Z#U8zIsj!vkh z@ie8zUlwkif)vY!Emr%nn}NZ;a<9<3>XAJJnVAI7v^4e`-Qte}$gvWIN{l+c!Lz?b zMy9u7d1~N@A_N}{$I~PU-8j`Ba^C$4t8=`*6dVaT+R-c{C(j4bf&}1+J-9_VxqQJz zKhpJCpfKW{7f!?`AndKex`7bR@AZY8-wC_H=}TA@H+@8nQgAw1U583LGt*NS7>g3G zp#=J0z>&8x+!xjf>upG2ALc;{?-!&{P{8}Kmv~iWbEN2xlG384J+suv;_iOXNsA`- z%-+S{bF+1R%Fteai}=*;`BD;ry{>STq^_nyB~|??>LF*r1Eh3^l_;)N$e95-!g*aQ zk=I88@}&ov_==T?Yx|gZ@F^xfY$g7ZB8hJ-X5uYY;^&g6O-FID1)rd4V0a(!;9ZoK zw3R9i9iz=bVM%*QrFBGF;1MhBAxR6I922?B!ddw&oo5ImQyY}H^nR`KHG4r+GqQJ zXMb%cxMMh`g0S+g3rGu=A@3RzkKW2aJDzqYIe=T%&bbsyn$ouQxXJ2sQpR^|yg;jRcZPpi7Uz z?E#MgudDK<6krcc$ZB-*|Cq!FksLTj57Aj*;qcO9SU*g;c|Ly7$Hbuo6(B$i0m!*2 z^?zuM@^y2KFC74D^i2)Am@Ttb?^;{&HKd(Z)M#IezfCG^i^x~GLx{&dCP7_qMPIXZ zqZ3XQ;M6qsfsJOCF&{n$>S^f3X#zZyT<)u$tyFl`jzwqN`>##dFtxw>=*a%+ComYT zGCLN3uFCxN9oCN*Py!|bhmrtk2lztD-D;C{U#S2WkdLDe_(IMNlmf6A6ySHEoEgNy2^@H`*Iy7-502l7zcBu+qZ4yZB={)w zf9#5jijeN=fV?vFWq0BBtIG%+>2=C#u|3oNrrCzZowftM?Xavt!yDCSD z@?|3dh*K8k8a*8vRCRjsPCeS^#pu!Ya8mo=Fas)mKOZINEfzzPl?3^XN#Nw=qa^=P zy!Fb?5HUL#=WUu!$C zecscG&wv8QJSn-|$4eG|iJd-8W(K~uLT?eOYAVhVG6g^L;8zd(7jx;jB1D6k+73Xs&PJ2K~&YIGSN}PW#@w8eBP94 z3sFhFtun=ImhXg8!Ev*4OJ^1xOCo7ABRZ3s*Fj7?$3fGJV}+sNXa+{;Q|$o`mkXxU zRrxIRpdEjM&lmO?tHu1;n$Tx#5(B7|A?=?Ic0`sg+mMpRwmx$?xD>{{dp%KS8Cu3k z3YDaIr^1QB%nA*2qmAG2XF*y3G=Uxs^dNDA%Fks+JIVO%$S9#z6Ja|+ao{M{U4D=Y zr>q-1lv7Hx>{Cj4(RgCQ^Gd@s*2Y5r{duKf=hB*X0EU+SRJnCtX@5uJUe$O!gmDjs zAdW}8%vMn*N8$%=-VcrAk&3Zy9A(0uk#AsRqbHc?U!fE2pkK_{WW)g&XkPmaks-Eu zrC`M{JRKAvW0}g(%bIa-s-5SQyut3!L^v>?7-5+J?8kR?2;gxnLKzqDrh+gy<_ZFc zEWZH$x)j86PZ_r9ARK2d#}}@yA9M$D(WAH?;YhoR=gz@8Mf+TQk5$#hY}utf1MkMl z{qE^mDN80KDD9Qa@LnA~Xz)kg!B5 z1P8j=B)o_pR<@9^8}F@1K-3ZI?4E-&-;|q%=BYBMB5rHgP@F)@z`WRzPY76;*3nsO ze~Qd^t)Rp&P$rSM1ishuFe!o-yedzWz>;b6im;WHO)FHgL6&0ab6twrbX~U4qgy^{jy;2j5)yX$2*Q|pA9{B zx#(?Ju{?pPqiw$6cY3#ILg<=IZ2c(PpnLSJna}auK%Vt6yL>q%M1I1Qf#>;3K^Iyn zO8#4|uY4?V6ZG}L!(mRJ)ap_Kak!p!?$n9Z?RHG04}{*NkR8|jQG#g zF&fZgU+jYeGyy;{fMJclX#EVoVRT($$8GkKfwX?Fp2Z(pKb64?TI%hr`;bMD&XPbU z=3ej$_di+hh>mrHDy#S-bwOXjH3bDigH6gwqo8G($x>#E^^P(-CD07K=OL|oJ(a+F zk}I)iyD=>T&M~S)Ia=!Kp~$^M>KuBrsjWSe@;Uct_C_R(EuDk|e(01uP_*%Cw&K7w zXn4r^OBLG>itkh<`F-}&)XBb2Bx`H<%NrpLBGA#3eH7%F8d`s+U6zyyLha_6_LRj zQgga0-0>C`-gdfbGw+Eu94Sb%3jcbu6yA-8DqJLmR{ zDu%rhVc15|WIw{at*tq3NO5kFP*KzPe|cu zNV5u0z)ut&iH9nDrWAIm!dX*U`0HG@dCrw+FW&9;UZL8HhbovM1-Ahf?d=w1!Dm&$ zb8z1o-mQY|@e?&V@K6Q!!F$$iAbpml*@5du`gNHBJOtXQ^a-_1cEx*{5h|WD^9WR5WiI}T z&I5)`CRd&E^yOct+sE;ab=cB93#^#%5q;2w>NgRWUU;Of%Bvd;Y{tf&hsTHg*8)%43kC-Rx? z!gE!+cv{pDKb}VXQG3kxXG_e=Yq?sOt{o%;U2iT=>zDmZYPp7%q+!dYUeGUVHrl*4 z97+dn@*tEk917FayYS3*U+BI0*?KxJ&D*bU+O2nuxgMflrmvz;8+^k>1tS|XiD6Kt z3Saljs`vq(G#F|kD#Q&UU9rKHrq^h{+-J1K62Jl7yQ=oMhmWwE zFfB`ehjiiJV#rIe>&*jtcf{d-Mt`KbZaM=)i|sDtxo~`u?ebI{Qz8#au|S)xSFCaA zo-MO+^FF+@m7KG6U+(ub&F(oclyQ!Zl|xUR?&@2whX$oWIIzdmZ1m|j9+3MOFc0*0 zr`99S00D35)Q2uE$MUis-m;;wGvwxz&epSz58}O)K5tr zA|(j@tPQ^hyp7qW_Hzz89$O5;U4bTwB8c^WoGb?)D9nZAeks{JN^uxBe}%vN8|;0! zfd9Au6%MmM7Mm+;+Oga&F~0J3NB8}V?^n5Qx>$I9HNL(V>TxWYK1w&X`Y{umL_T93 z3c`mQWGsfSk70ON82*3S`xd|`t1JII$xIkRLc-I4s2`e?_yA*)Y8254BskOnQw$iN zlOZ!9qsh#49uTbC4n}Jrrkk?brSE|R2=8p`x)FEV;h}`8YoykH&~7^_t%IOV)x}8N z=KnkQ-f!|{m@%$E+uiL4ch0@%p8GoI+;i`D@BMDDTbzjD3sr_=_fInXJ#aY@!-Hv@ z;aLv{K@i7uJH^qOx+{B8>y6jZ49Y{F{;S;oudJ1olKUs|ZVJKh587Ue{u-eLtxI*K z&*`uJY;yP_iaLPO-=A^sf=>IA(c9yJ}z=YNv$t^?6qzeqCK zjAd^w65O|id1$`5<@ht;H=2ZL9KPV?PZpHaoK+5GH~>Ya9^g$gH~rD*!yV82%~u{U z&pwd#PzQ-A_4O04(My-fjL*>da|!i|s*09C&I0sj9O-&AK!mLs|AA7V#-#nHPRvn- zaaBwhi-?TwFfkAr-omcs={(T*-$CQ&lg7WTCmPsde&yWr)EO;Y86b-P`VeVRlkq2V6OT1qRs9awAvu8($oxXqqIoY38aj!$GLu!oyfRuy5ChZR08hP?rE>tZ?Vy`E^;JBsQivcji< zr(y5!%&k>00&l?x%p)W4CgJH|B(49qPWoUvM7H*8=;C+<{8|nyL8`e4R(PSg<))~U zMAtf>*4(hY61|f|0UN9t1{cd=@MCl9EwNz`3k@$tpQ3u<%C&bcBGz6K%Ly0xzZA`; zoYrEH#jwR$119l58OsMj+O3Peb~Op3n0{lAW<7Lv<{fuq=Lr3MUv}+B`vwOCx&!8Y zhqI5LLVp;V&mBFHMPu@#V`;MNpFsWq{KS~IsVrO_)bz(ee_C_~?B)y6XJ?_f0*xZ^Zqq!sKZFjyd%Bh>~|SFGQVwT}Ji$oFwxvgmO13z%X& z3>)7=71@Q_uIp>Yi$3<-n&ynd>k1Y_pT+MXgAM_zLUaH`4~PAWqaR?l8ZAU9dIx@> z07szQ(DVZU(fUkcQ{eLG6M|ep{3a29E5*-8{2{~6^^BoAF>D2{dp>#^b)n6)o1^r7 z88pk>RKhT$#8`9-ucjYU=jZlP0zSV>#a6_t(23H)mj?~c;+2r|h|ZPC$tItLl1Zl- z=e-A>MkXx!A%5E+6F!fod2@kj-N!A4N01)JyE8>%GT>MN80=YVs7FNfA7JGx{ql&`Ee~aufQO6`;l?m%K z9cVd}FJQoe-w7l31E=A=v5(fJ9(g_M;oTqxv#7WIdvqJtAQ6SFJF@O1)mYRb=(vb# z8q@`@MSg{d!vKq9g?v0X1!ao9#24BO1)@yr{Jm1k7O@ApjHKY#(~x;V(H@Or`^Xe?X@Q7@}`M zB{7=QxdKf1`5T71>UaEmsPj*6Ynp_S_QGfc9#!N>^QhgVbP40c1x=4+Zjz4wHBk%yW=z@KDoW%7gzz zlC$0`?xJe4Wg`oNiJxC6HNu<6y{POyTB~Y0X%;6^j*ty(o%9iHH1MGg3Blfn{f}!_{n@yPHaoe8Jq$J2hs*7eS}wpAq)Nj#PdWe5)9_ugc_iIt(lJ? ze0)6Fy;j3o__3)iA@YmjGZQTE8FQmp=p#=G%E~{$$BO7PuqP1MbceY`pI1Pd(_%KB zFkp+rKd~s>Z_fIsObap$yjLj3iZ0!WkBFy~@7G1zQPEAXV<)CWS0D^?yH}v~h2ayU zqCY{POUDbOG#E7KFgym0Cq#Z~UhSZJI2@ovp|TnCMFUNTif6 zI!$bk59MGl@MAKB=Q5P7;ZI8KyW;$4}c}k<8H#% z%)N+>-pX;%p4LqI`?As5f@T)DT2!0mHe5vJsi|l1gRHL`)`9@Kw;q6k1QGlmz;gx% zes#P8n3+6{p^8Om9>?X5VRT>j!aK3ve7)hG37GISnrkxK;6V>uNFep+Yp%DHLuahr zV_t9OK@G=>!XwCS!dF{m91+!oF=d^q&qhj_x zZ+gpIV=C5N!d@8B{rM+;gAEf5W~3Ptn;ytze@DJ_=wTXQ3RlaV1A<5Ejz&*F6^o95 zFJo}jW|aBSN&N4@^2w3P$46ll*}9{C{liBB8PO}yI*hxQ0jLcoooY242HAn8yl)XT zKhteoYHr<`Yx*OaxaMRS^esoFh5sR5AyA~g<@pyce;Sfy(Szt|s5eYQX?HJ;@?XUd z1@XN#f8Y2)6lCVsC;ABA@;t04_FX9k`P`^l&(;W!exaAaxs1}c@0F^@D;J&(~SEmL5KuRc_kYk{>f0antmg75Z_ zXGnSZGfokr?J##HdIN7dU^LJEjTff|saHaNV&^B8_DYd9 zH!iI{N!tBTUMf4A?=26VRmm<27ah*pRMxVutmR1Qn)jV9$AZ!|{Vu{NWadE3o#S56j2AymsM0%g1Y%eiFFL+?4sW1>DN(zj-jre8{j7 z0TyIzP8fgu-Jd_FIxU6yr_b>am}=EMPS@!<)7D?TNk%LG=4WhVKkTt%G;%MQwuM!mK9xOOGf> z*NYVr#XP3hymqOAq|>sRPElSh<;tZ8Za9#|6}QDug>*lTH1!w{8Oq_MzO~jc55Ce< z`xO5@O+CsX!&L}Exe##$d{2X_7u6mQf7xY+Q6K#EV}qVTvkwOfc>()x*dLe0;h-ftkQHHY)TE%Qe&n=i{;!}HF300076ImX=d#?Q=a zGw+ibPNHSGas}l?Ciq4Jd~q>iP>Eq%`q}by3s*|afr`S{8_b}?aLRWa2lF?|90WGOLqWeV(!4-KQQXn zp+|YZm`3?-xS-_@EZ)DrkPb;5$4Mtl3o#Z~w9eB<&5%(`xjwh{R3EQ?`Gw)qkNV0| z!)1@m)B7s_UiMEY zZ7~@a)>!l(^;O^qYE4hYWiKzNIe@QWv*{QGrZxb^Q)Rl;EdQ9SrvRHG{S~P_6-7VC zDXqJX&%__PXwXXZ z7%()2S8yaM79oh2exwo?AP;kkt_7mRh_belAH4f9UCYo??rB+y8T`WP=(kUaoG?kH zoOp_&!)r>=^TJt=?`zoyJZkp0=bUoj*ECzkvq8e2UM0duBs?i0lkw9eyg|Z65-ykU zYZ7M968W5#;oTA*lu&KNH`V+lV!2HBfQ0KM?3BdMH0$vSfPwp!?Uof zMNf%@OoftQrwp%?&?BKmLfRFhr$<7ggb@kvl~88K2I9)^pshhXk4yLs3F{@iTSBvh zH%NGegcBvyOZfifBEMr29+7argu5l2FZp|)gexV!T0*mg#S&gB;kA-}tPKAtUzB%J z!dE3cDB+V5h9qp3&@bVoGQV^QAC~zJ&~T0Cn1n|p{HcW7CH$_0%@W=x;W7ztkT6%m zYzhA)`E^plS0y|s;WAmDZ_D~TCGl0V-n?@7G5?+gsirDy`#^-d;-E_JlXx|ZJzSn% zk)karztinvtTPE6hQDFYQrG=1_bQj-XsmH~L{eTQo}briTdlYptCV_&YlXj# zB7AIcofh(?tRQYL7#)QGv7ABDdXvWGsI%p351#-?5ridL0hJ zD-^(ExA|=ZV|aoyz3pc$Voi0bQ0+m z#SEpB2#?L{aB0hzh#Ggj+l#E0IP7!lZ8i7D@{y`gz-^#CbNa-{EuGTq@xV zpQ5Ev(L`&NZ7(JE5du#c_#>F=^eHa4U$HxC@$O@vC8A@$l@MetBy97p2sEJPkc3;Q z@j7gNh(o!iOvvOa#bfjN6o=Da=kO}TI>lY9ARwX@w^ylm`uv1+)H_5zz%6(C>*5M5 zZ}dRu4!fuu=y_(SqtoSAY%V(#F^+&5r+|P8xY{4^)H^84d2Uy2y;GIyVa-qw1X z&u{g(eO4;X0SfW(4ClMOBwrs;vYceqV7EF}D_+M}0#2`x?OluSp?*WnVEOp1aW_B% zZK#&wt8)kH?aFe8QUgmt-4QgEb;Nrg*rwQ)qjRGLN`u2+=a!nn`=H1UJoGud;G)lA z^VV={fWK3M&SQ1jX^zVu&Rmv*+P<0;7M%h~<~m(A?`l!v z;s+NqvU^^KKj3u<4XyRM8x&3D^Cd5q+v;tu8kj<>(^cyhwu+bzL8-0xuX3Z?`0IR% z-R8aiUo88nNjGI(PB#il@6oPOs@GzqI0D;#7^u+=5}ynmvJWM83a zHU9j|spTtpM<#ASzG^p#)er26_0CGpFWX9o*JrDzq_E%(;0<+Edw?5m7Ysw46B;Bc zY^!tFhRjL5dliJS+#Mig#}k0wYr|HbvjJV#N(`ZRYkiH)dX0pIu(e2!4gpR#xLsDT z79r|N=$-cyy=WD}TsEj4>g%MwtZfZ!Bsb=u7jnIgYpPbCtlUn+=0j~r$*g40hk|OD zth)vaI*~4p8v5y|ubr#vf<~FFD;((FaxkEBD7*r#v1_ps?{hA%hbn7$kb8U?qw?MxL7Qm+Xpbl;fXwvN0qWcZ;s?saf zjw&Rq1!KI=BJ6aDehx2t5QTWWjv)kaFyh0)=p@4s+`hrA4JkGahFlkEm_m(KJHQ_= z@1tZBWG7W_8>+IJ+INF;X{`K9uTm~mD@XoVMG!!6s2-P6)oI=YgyAUxGMJ zlq8PwR3B|Us2uIn3_2B~rE80$OIALm&DYSXc~KdZH|2wOMs1P9{IuX6O3*f1_YZ6E z+8p|jZzJ-=JLa&wC_r(PmL6?;h+chi;7JXp1~Z^n#qgT|6~N!T&DdR0#yoJ&cW|x+ z?&fzHD|`=j0q)Iy#`@vD{0GLq5BDw{%f@k;U!bmUA>CN`-)9V77XE-SBw@GAtE?cJ zFp8h$cQpEQ?M|T4Hn=xbT!V{nL8LJO3c3bYEQwN-R2)C4QUBl_HchjiBpjyX>e$_ca|oIT5e`vU$O|(~#-`=z*u)`R5#b7e)5w+7lF=GeIs_@x zUQ0M;(y``ifRk*ZJ{AO;hruRp!-m2>cv*oL`i%{?S<8JqOe;DSV-Tislz80+`wB42 z>+{y+79e-<6u1pTI9_kUkM!uU1DRHsQlLxMv-ILLmR^|V(dl(e{}42n;9SP06lStq z|8$mXS6FWGB`jB$!*cp3M<(`;4`*Aj7L7g>05WC93Ww&_a8+UE2Q5p{@c%g zZ7JESQ&U>?dPi#7YsP`JALvuwWWP$`Wi3aUlZ9t92P_`NCKZm0OgE%3LuDFk z!(pF~;UdU>I?B?9c{`S%9cCjlgEkB4vyeWkaEwQnMPc~SJ{~rvFynf?W%{(SY}$u< zmUGO&Cccu!vJZ}88Ga)(+D9{eaV9Ic419$vyFiqu4ePEqu;fc5&rsc5$(hU0gV|KPNId z%QM$@Zq|0C)@R~IKn3_%#)^NPo^v>&I0 zrxOnK%=!?zeGFy4Vr0GO9rMv+r%e%c9Uevp1}y_E11&>ZZM^P@boRut(X0)8YN^a( z-w@^WPS4b{%nwO-vYF{RyqCbh2PuEj-Gk{o{OudiS7ezKuMKO{=q9JL$(0#wa`6~8 zxo~`cc4TaChG$ImxC_$R1;rEC1?#i>$3`-G)5Av3sOmIJ0s7yxsjx?R__+!$B|T(@ z9!$JiI;V z9~SicZa5E$6S`~UVau1%Zo;8|QoJ^-O`|iWGUIZ6I0ZC3J^D`d62|tx^-%iU43>-j zbqV^@RDUMy0dx)ZVDWSe1|D>TXP{-EWuRrC)#j)Bl97F>SlWe3X%{9M*+l5aM1&_I zZen4!N0*b%a-css(EprbBg-kA*grl3Jn;ei10N#Ba9Z_rvMC>?L!U=OFO96ama*T% zHC`y%t_|yI(pk+hJ*)H^*q6XN6X?^Hq*!!Q)6urkY%1z76?K@3I!rB`9N~QpeV%MF z=MC^-KV%$0GkN~#|8Y3o7y}!#d{nO?oa*8Bh}s6eWPvZ~__)b{{$p7M{=((p`bCnD zHXJ8si|DIp8|v1E!(XY7VSJP6v|(LF8p|j&_NPVko>WUpfzXdJtZO~aAUqBm&C{U1 zkjXHdQO}I9lV{)=WSIaz?vf04iGKpS#6F%~Qap}bvOcE6LjUoVEZ6@$c+&crH-$cb z#CSq{d1zF>p;z*S88=^Lrc)osO@}X5)*q*!cCZQm`dtpZ-;)e-=k3nj>(2LXQ2tIA8QK_6?DYWUmeDR_WQQVvI>kAQL`c;(fH5r}d{X z1yh|n;hJSyZJ76Uj2lz^=gxX>0=7`$}Q&l{c}L4p%SpA0CEWK+8bOiop{Ntqx^yodrK8K@TQT|3sg>7JVcI zaoxwT2l`vs`VSGnvkv|zG+{ZHvW(;UXJqM1(ma$FEn+W$?mf67nf4(3DZj%f4Kh3i z{>gA^JcTdN#E+he@dy2Osuy#6&xC5qm+HF^G*`ThxiIn}DCgQ1-Dn*fy&Pe(HXnS#?*ZN@g&6YF6KSRhoCM6T@&NKZju3f*vlsAx>*_zQ=gXe z|M8+vQ$6S*sGE|`rhtD_Kr;n4Z3=ierEpS&=LdaMAJ2H0^b`KhgWqL z1TImWng^{}(4($bZDeu03X8Q}^z3tZc)j5PqNtEsbUJVneB^W5GB#OvHIllb2WG!)TBKETp#Gd8oJ*B*9Kg(hVC7l z(WyciIT~C>fsRE%SE9jP1)LFdiJrfmml9n0+j%LWAAdV9CHN43UaC3OvU;h@S%bZ0 zYpJi?MIQTY{O}G-has42^Enpt131=79KB($>MW}(aG(doOL5p?1&)ePko|H9e;b{# zu=*L>nPOS3P5UhJEBAV>i)(5EUYtX~O0Jq}KDN(e>3*ff^4w3Ome#oeY$`9a)niZW zE>O(JQ3^k*QRWWtBMM(mvw~=m+vPy@12riBh?-BSk82W`+g82jc>${3Yz2saNrlnl87X-O8?VO~H-3&eJ=5XuIP_KTAy4wj12 zOT8S(impD9L z%sk`Uif?m}kLX+4+&!yt*2jgZ!Yn%uJ$*CfW^0u=J!N%}dYgQHyUBD%X_cjXZkY+I z^$TxXHqUZRaRDc1|EXW%ub*f0;Jl0jC$eaNh5Z-dD%|e-1D^TvWKX%v?}h&94TxFh z^!fv~`lT*RO<*a0XISdO;S@WLKtY(|2;zKaJx-r6)?om1l13M%Ktbk_!EyO5UN;Vm z_}D>1rFv{dMX}D*1wI*Yd*|a|8|rHDI($gRJo+yO9NyIyhZjc@8c0d!;RFj6UUX*e z3+(JV4Ysn5w#8Ys6ZL57SJC!&qR_a3o9OPrgx-wxo1aXCPxfiF6NQ-=IUFuMm zzm1HM8QHNAYFp-59$0|`K58v*Enl*zyrM{m2*bbCIz^6$J8|M>_00NfW?nN>bf-89oUig| zqvLb%LQ|n+T9O+{3N<9%Ipk|_uY^hc+w)h<0re~O&s)V8?@^A_zCv$^;;e)44Gz+* zklu-@pUZ~_&v>i4Or9^lR6vh}ED8RM^fL3_40$eHEltAgsWSgK{MiPpYevXde|9B= zz9iaXk+7>wgd=wd_}|SvvV4U4{&zD>Lf@u{azYmin0?9ca&rx${%JBjt!rqXd>LO7 zM@MTS+Q%g0EfNY{BO5vVsgm(^adf8PWXvPugA(E>2Y)onKRnzl8Lys8TX%zWd zW(v8|`j+;Ij{5ZYCr3!H%`1^VEYtU|8?ILcV??=$(tH{&W3))8>S4T|sqvqdhc-^7 zKUeuZF8LXhb}`=m^~reb)dwjqK0YGju`i!6UX@qm^2G7lwk7hb^~;w1KEC`!X|%Y$ zvBUYV@=c{t<3B53BXRjDYDN;O@p0&+K~>*_4T<>^<6pCgkM9qvzDK0K#>e-hi}v@r z6Q}Q!@rox&ywv-k9FOApAC>XFN#dCtH>>T5+n245tB%C+Nf{?2o|N)1y_7h8SdBlD zIKEfLhm*vQRK992B1=X7D*a!Jy-@Wl{L94cSM@9OiinTbA637CN#fP^CW9(}Jg@$B z^GEr&Pv?*6XP?fWWc@E0UsSxxpK~?dsPalyA5|Z^e)8$qtbOty^fzRs_}nzsJ>{Ox%KXHFE z$@s{#iQ_FYzToGH?o-Myrefz&M z-m2qScv)iptK(TDNxV9q^(Ki|$Fu$<@#=VHx;;txa=dDj@$vS0V1#&eJWG~d9nV5Z z@>j<*PgP?5R>!kol6ZAK*_I?eD96+OI}_)x&UY>MB#!Tt>9ea7$Dh$*;t;C*+u9PR zSLGl2R^s@eobThTbi(nxS;pfGa>Dqy>YNdbm$yn#CEKm22noApiE`r5XC17*dW3w> za(wPxB*x)_+XRf51yt_)eB*QEJnv3j0kPcr$m$$qK6|Ea~EFZrDJ{jA%C9I7h?RBjdU^X_M5w~Wx= zRfe4m;d>aPh_Nh%(Lu2YBM}@xI!40Ow`kF1*qmpKH zmi?zd&JWt8T-0(xmc;c@l6aPMazUJ2>w&-l-Bj?p4mh%}2s>6R-`6%bf zz6F!$>-n~CAvx|aInP$b@ITeQh5wh$4?J={T_EjTmz-yR-ud-kdVWwL=hy1Gp{j4^ zYy2s=a0GjCmiA4p|G9$7NcBBO1tlAQf^ywFe*Sj8V6O#Lv z@$#uY%YJQ%e}9+N42|?&b(ZomC6UYL-M_?LOn*`NOqAzn|6JqGh}v|P@)_u?o--Tmsh!zxHmv9l(A03%IWhc!FNIf2BMD zr_Ydi0;+fQY47KI1Nbsb6i$Mk;AS{I?yDpCFK{{VYwz8o`}qC|E+2S;N8l>p#~FXN z<_b|3=BI2f?$^5;cznyjyl`ADfa<+_1iv{8e?k&81UJHUz>hU1_8J`VAN!cB68G*A zue5jW(OrDY3(!W;6Rd-K1%B;)dvx#Kj|(9$;0f-B%fNkhIJ+0SPmk`^n{XZO(*mC0 zncxfuEH!wtgP24T2x% z``8IMY9r3_vDsz9k8^wM2{U7#fCgvu*t}cOcHA$A^LXrQi$Mc_5O9G7Z6-XRdas@K z{yMtH?z$zoy9hJ{%iucUCwLoNH~iZB=I9=~DBLT+6ZGK**C_l1e+8F~d)%;R$u=*; z-#8*a;ElJ-Is-l?{WwR#R$$YL^ciO!*zfOzZV){n{&WNP<17QySA(~}X9FHwF8o*% zV0YIDS>t;H_U~}SAADQD?y?JiHQ-c-&@lyYGaS)$0WPZ*cwq8MTd)Ie+~){CzKvk`{()4w9}%m&;p{at|9dIjDD_)~oS`U3LN-g!rN z-|c|w2cBRboE~?}5!{Kdamn8WIDeIBul8;`y7TU25d8}@1pfqQhM%p09ySSHnE=1{ zu;6D1@TcF9bpZTDv*ah>f2_zAYbMJP|emEUD-0DkSAblUss=-#?t z!rhJg;Rt5^5b}VZ;8eIE{0d+L9LZgKZynudSM(#42O5H3h3kMHXSvz?8wF2rZk*k_ zMc5^r5obT$F8nwT&gSnHehc8%pP(&Bi*xeq`%j`Tz^}clj_$Avcf662JG6OAr5|gSHSKL!@*w-_`yD*S2(Z7UVRpF zp*#V9aR_`SKVaU^A#3SCCUapzAIs_S4AD@j;3ix zWj_K`@0KID4eoK!6Z}0~C;W8P?&8-3y#+Amb=W1~wRgzTU2+fN&bJ8g1RsL?1b%|e za2X2p3Q)Zlj$rn$QBU9rPKK+3pWrmOI{3BsvuW>iqr2Yz`8VjFpdt7PTo3#NM@P_y z;U|~{*AIU-;GJ-EpBup!;pqN0f?M7|d*CPdE?hDE1W&`2!B3FA3Aw{ha6BBJBLS-S zv=LnM7RGwe5PTHwargs6P)mlDAxpdm-OEa_=NOt0DM9E3BDoy#{e@*24{e27kkiJq5>rr+f1FeRjYT@i3sju7xOHTi zwlvD>YBete&Zy!4bp&)9EXZ#!XfJ6uwVT_k+Uwdq?Tzih_U87s_6_Z!_RjYH_JMX| zM|MX}htiSXQP5G+Vd|*rsP3ri$lp`2r*ltuPtP7?k}dAFw}k3Ko={^b7-|mDef4&9 z4f3~zHiSZ<&QMP%5-QoaVPj}x=f#m$H}`CgY>sYbTZ~&w zTg+R6TS8kpxAbi3-O|5B*_yxAwAH+|dTZU*;MV4?p{<=;!&`f{Mz%(`vQA^C(wW~` z-C5Te>}>7~b#`_}I-{Kfodw%0+k)Ggw}rNKZVPYg*~YdTx94oPZ1-#rZSUM3-rlo4 zvOT(8*^$4aWQS)*@3-7*;%#Iv$Jt$+s+L; zyLNW(?B6-C)40pD%e<>~7rMwtK_w-raq>`*#oQ&fb#) zE|=`F?5W!0+0(eEZO?{1U35EcPO;c1di5iY6efc zz|%hPl!2cX&P$SLxV@)6(jIMR9Y!wG>W*NHoB7~oJTH|k`JA8CTk62mX3o_x_!`*~ z-NLpSw`zGC&)2F>PiIeO{%idlGzV&YJ1MhM;zl=NUICp~JOvx_G zuFhTAyA|+)IADf`QG3JG)@qD-Xlo<1sW%i2nKxQCRzsI^HWi??(M|oE2GG)y_HJlP zb4OoC74)JDI+4Gn0QGO&GO#5Z((l>YyR{E;&*|LI+0|*>*1fF+67Ae>+>yPbip#AN zG8)*~2+8#BitaM+u7*5F3e1DC3FY^Mj2p8zDjV}RmTWYk4pkfLHhMNTL!bLL8aIL9 If5`Ly0VBiDGXMYp literal 0 HcmV?d00001 diff --git a/pydatastructs/utils/_backend/cpp/_nodes.cp312-win_amd64.pyd b/pydatastructs/utils/_backend/cpp/_nodes.cp312-win_amd64.pyd new file mode 100644 index 0000000000000000000000000000000000000000..eb01c420a9e269974e098a4374e865e059451444 GIT binary patch literal 12800 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 literal 0 HcmV?d00001 From 57a70767e8727523234ef39bab9805f845b826b2 Mon Sep 17 00:00:00 2001 From: Nagajaideep Date: Fri, 20 Dec 2024 23:02:17 +0530 Subject: [PATCH 2/2] added python and c++ test and combined into single report --- .github/workflows/ci.yml | 61 ++++++++++++++++++++++++++++++++++++++++ 1 file changed, 61 insertions(+) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 77e81bac5..a20807f36 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -200,3 +200,64 @@ jobs: - name: Build Documentation run: | sphinx-build -b html docs/source/ docs/build/html + +test-python-c++-unified-report: + runs-on: ubuntu-latest + timeout-minutes: 20 + steps: + # Step 1: Checkout Repository + - name: Checkout Repository + uses: actions/checkout@v4 + + # Step 2: Set up Python + - name: Set up Python + uses: actions/setup-python@v5 + with: + python-version: "3.11" + + # Step 3: Install Python Dependencies + - name: Install Python Dependencies + run: | + python -m pip install --upgrade pip + python -m pip install pytest pytest-cov cobertura-merge + + # Step 4: Run Python Tests and Generate Coverage + - name: Run Python Tests + run: | + pytest tests/ --cov=src --cov-report xml:coverage-python.xml --cov-report html:coverage-html + + # Step 5: Install C++ Dependencies + - name: Install C++ Dependencies + run: | + sudo apt-get update + sudo apt-get install -y g++ gcov lcov + + # Step 6: Compile and Run C++ Tests + - name: Compile and Run C++ Tests + run: | + g++ -o tests/test_cpp tests/test.cpp + ./tests/test_cpp + lcov --capture --directory . --output-file coverage-cpp.info + + # Step 7: Convert C++ Coverage to XML (Using `gcovr`) + - name: Convert C++ Coverage to XML + run: | + python -m pip install gcovr + gcovr -r . --xml-pretty --output coverage-cpp.xml + + # Step 8: Combine Coverage Reports + - name: Combine Coverage Reports + run: | + python -m cobertura_merge coverage-python.xml coverage-cpp.xml -o unified-reports/combined-coverage.xml + + # Step 9: Generate HTML Report from Combined Coverage + - name: Generate HTML Report + run: | + python -m pip install coverage html-report + coverage html -i --data unified-reports/combined-coverage.xml --directory unified-reports/html + + # Step 10: Upload Combined Coverage to Codecov + - name: Upload Combined Coverage to Codecov + run: bash <(curl -s https://codecov.io/bash) -f unified-reports/combined-coverage.xml + env: + CODECOV_TOKEN: ${{ secrets.CODECOV_TOKEN }} \ No newline at end of file