From ed1a6fa87908680c306b5b519d9fd3b81326cd4e Mon Sep 17 00:00:00 2001 From: Rebecca Schofield Date: Tue, 15 Sep 2015 23:38:44 -0500 Subject: [PATCH] message --- Attribute.h | 5 ----- DBEngine.h | 17 +++++++++++++---- Relation.h | 7 ++++--- a.out | Bin 76922 -> 76899 bytes savefile.txt => savefile.db | 0 test.cpp | 21 ++++++++++++++++----- 6 files changed, 33 insertions(+), 17 deletions(-) rename savefile.txt => savefile.db (100%) diff --git a/Attribute.h b/Attribute.h index fb3fd48..50949a1 100755 --- a/Attribute.h +++ b/Attribute.h @@ -46,10 +46,5 @@ public: { cout< cmds) { ofstream file; - file.open("savefile.txt"); + file.open("savefile.db"); for(int i = 0; i < cmds.size(); ++i){ file << cmds[i] << endl; @@ -42,10 +42,19 @@ public: file.close(); } - void insertTuple() { /*DONE*/ } - void deleteTuple() { /*DONE*/ } - void selectTuples() { /*DONE*/ } + void insertTuple(Relation r, vector t) { r.addTuple(t); } + + //need to add find by name + void deleteTuple(Relation r, int n) { + cout << "a"; + r.removeTuple(n); } + + void selectTuples() { + // + } + void project(Relation r, string n) { r.projectQuery(n); } + void product() { /*Brandon*/ } bool unionComp(Relation r1, Relation r2) { diff --git a/Relation.h b/Relation.h index f8e7a49..85a9f15 100755 --- a/Relation.h +++ b/Relation.h @@ -31,7 +31,7 @@ public: } } - void removeTuple(int tupleNum) { + void removeTuple(int tupleNum) { if (tupleNum > att[0].getSize() || tupleNum < 0) { cout<<"ERROR! index out of bound"<+5%a2YNn5Frv!MDY@m0MU@784#){6|lq@ zjn-I)YSGe`I;KvgDlrTSwpvq*zBot4dLn3}qQ)`b@3+q0Hz)U=lSIGwzVH3f4fm|Q z*IIk+wbmZaI@8Woq0DJ7QuPAHk6%zI zgm%urHZ9t~M9miun1EkeoQ+6}3rfbo!)>%O&}c}=_Bv8fXKgs`5xZ!hQUO7*9(8To zDn-CWk}+^36++6QQj!94q7!}0S<)Wg_GUG>lqcH`r|D6uR0<44;D;&(KD)Ne3;{qSQt2){n~9fjYa z_zl4C2>hIBC<<(YJZ#r)BS{_YOAF1Pz!44#H>%l(=D??!0BEj1;NvRSoCo4*h!g^L#o|k*_$y~$6 zt8jSf^5UX!S$R%rc{r@XGggG>TQkYX#mS3jA3$n{oPYZ|3mz5S@7G9i_ z7tSdxEY4j4!mOFuW#h^UewH7SQg+$YRGlkN9k)2AtROdByritWG(Tr~MlPhJ<}S-A z4VRbZ6qJ``7$7x& zTt-nrd8DbbDXA1OXJ&Q|WZJAfYW>vQ!s4=s>N(jVh@iQ%L=dFfM)k}Tn_ZM%3dp<%O+oGP=xDp|@^Z>^w3&3C?Nc!VVvPxK2z_jOqqwjv zlr?Qmc5!x?zRoU(;x1h)E)03Aa9SA7UYwCVE(}}driv_dagX|~Q_t%@%Pt?2Vuom8 ze$mqMW#RnN(&AFvO)-NTbi32E@LTGh36GrRsb)|$uFx|o=>)1 zGiNw7bIS8q7L=>y`O9;cm!O|X*Yjw3PC=2HK4nUHY;ua4o|!RuN_b52nB-H{l=<@~ zP0k3XCXcnz^XG$Q94Bs^oLvdyC7*yJf6@PJ9C>U$e}n@I4U!N4jzHF&=dzApg;TU& zU1F1ke!7ERaaaLP+X<>PLXQJaM@;e0hb~2E5U;M(b;?h?2_Z(Ds?_{#PcLG#axT{> zDVz0(amCSsu@A!<7D~Y z2cGeZNm&j&V<3~}JMbp43 z_a|CYFp{m8czB=!Lv8KO#2tp-eroBT0;>JEavTR96-18ZWhA#Ww<8^Q3Co-!EsauM z%ra!DmIf&=U^$-UIw{X#nIV14Mk&u=nNy~vM#_^}=2U4}BjwXsra3JoQXa!Hr$);n zDWAkLr$kGZl#gMVQ=ug&<-=I!6lh72@?e%Z#9IPV?#nWVc1x0!<5=d9Zc$SHx(;Oy z<(Ag(fjI6{mXla+mhy)zbLh4-O8H%uIb>TJr2HDo9I7pKQhteL4$+p4QvNH;9GWdP zQr^xohh)ndDL=t7hhj^Klpki9L$GC$l<#GkL$4)E%J;C$q16(U^6e~hNVTL$`6iY* zWLg4JzLsSUm6jwaU(GUyNQ*)_^`nf+e_Whi`EL5!y{%buGj=u9tPQI4UE4Ma*!A~8 zL1j$`1CLq0O;d48dEa_-+Ui#WIcioSM&~Eu*TSOFeOL{thhB7L5JU6NRJ&tSC zs-bRBEva(#x0MxbYgd2kt2p83tJ~V!q2`fK2e&U$);Zs`w?EC;_K9JbQ1yZ<0PeXR ztXxmlr#Tm_It&#XIcaWo`p@_C#FJjVHTX??yEW|$$q)P%`AoPjy}FipkQG4vto3l| zTnGi?DDsT7d6)+(i98F)lOjB|tdw5;81W>dg};aj_oYiS#9N=^uy0~|<@(mIz*Sk> z1~9eicLeEGcM8&$Z2gU5Dg|{;?%vEw;n}yu=yJHN7u&Qp;?Qz8JEt4DG`b8|oUw8T zbW>IA-|VJRjP|0^L2j)3E{FEw?TbmS-Z~nhrQ#&9g#sa0Y*Dr?L|J(h-<>VOc{(^_TqU-M z{#7JbZ=Fq{?UJu$9;hHd{c_sUn~im6i%2`ut+AFro+!3Zps{6Kq4Wz;)~%RD-P$6Y zMKb%MCl~ug^naS<>aAf49c$adJWyEx^<}hWA{*<@7LoQ-x5irD94WR?ps{7yrD6+F z*7I2Iy0t|(?*XTKzli>ykzBpCm_nC|UA4>uwFsbo6>TYIW8K*z(thXGSj!->W$RUJ zBi?RHzBRrY%EzVv9)2bZe}o_*k)p z0*x(GmPo%4W&Po^9@rwBtHBv-%S5C9-$}+G#u?PQI$7G}nbM$EU8GdE!%G~o-mRUM z&BusH&JiQ>c!)&)MViqlt=BRSR0Dv$EH`~Bh_}gezsC(9~Tvc8-IZDQnhx2#H= zr?{yUv#g3rH-6%#J(pGS_PZokZ~Zs5KTj;FWge(zfcl5%)r-N??XoH+jrdU}i6R%c z>De+iV2>4BC21ooS2~gES&z2%pc94jT5!fXo6}cJf1Tv&t?d*#TU=7hJW#Cw^^edE z=d-cy;sTLY?bcY!k+|c6QAvT2E4Hj#EVdA3S^w^VEy7t3PIp^G|ADqG1944ct(AN& z^Jr56)IUL6s@Pa}wurQCZjH6f!KFBCp+IBHmK?E#DC_W^*dm;te(Yt7=s$(6d{-6=vik9QLW zi+eVTE+ii0HC!Ym_Ut=BL=bPyr8?c&E}SP(Xv|{9MN)LRT-p>vt@iyrTO_HH^%Cz& z#K`S#k(4%jyQvhjNYV{fAykTOg^Q&0)>e{nHAL1_v80xHpn?GPFVm|Nz|-v_DJHc~ z{4pkpBIDfjY47c6`2slIZ4v#C zv~9VHLT{3ME%Ruz1fc#k_RH;TtUFsoTBBQIEyHYEDA3rl>q6-lqO6m9VvBJ4+{9yz z!9^+s%^?|KA7js6cI?hGr9pjnZVzHl5!A=6otATP%Nkw6IbuZK3z0yvMWEJDi7%&$ zWe+hwNffGO9^{Px^>5Ol85R+>xxui5t|-e!J; z?F8mQZUm^`OXr+IW2$S(kJ`i==d743&LPVB;$J;*j&ME?&KTwP(K({V5z?Hk-ZuzA zyLFD#`oK+SjB{v%^?SFtw&h7YFM$e2;YPT1m~AohK=GM{Jxq>aBM7F&1+~P(Au>!B zTwuG_;hfuKk_of*N7~Wdsh47{tK5{^ceqx=s(HT$UZ!H!5^%WC-Jbi-b(QNq*a#Ytc4-}sO+1Gq~_X^@{@@%nrm}ll3n?^uHpue^(dB+yFSco=Am5W~KB{EJ zkApTba=Q&@*iM?8N-@J#RJ!v$H|-^yp`?#VMmWR#VzH!_d7y#-^&fKvUjm+P!x=Ft zW$ceJNxD7XP0yCRLF}=|sEh7N>mqweCCX}ew+EdloVS28*4aU0`UfNzBzB(a48jV(3y3P_Z7;GG`WBAkB(r@Jkp|8U!uVhX)M z^0myP%|!t9U(uFdv9a!K5os^DHP*5gkDJji6liSOnN5_mVU6sGEv#&P-|S_J=s%mS zBOD;>4$0Rt4^#<2eLHRW8$@(#i%9di+VW>SN{1~JXl!YlBeoD_T}1KSExy7z#?uzj ze=W(lbxWaNO1_qPpw}7_rMmBcB)%rE&C1<#ec&#erdPCJld#X8*OR2@KlKf2*8HrCz3BGSs;8f$q6@5Nv;QlPQr(%E7QQPzuZ^uQM3{2e&mZ4v#y zAQ|^PDfAMttCo478UXArEoEcf*&@<5yEWEwh;0i68e4udOKc&^il_MQCYNx&`ns1b zqW?*@EpJokU6QY59&I)P)DK|4{2n5@wMC@8;nrA72HsynzfhpD<)7z>Eks$TQG9o{ z2CdxVrT;2LbI6r?C z5@HrQUe<^j)1*0Dy%DGO;Ic+)C9zht(3mAqY<|%#8g1#*TWndw?syZgj6t2FXxC|? zPA&65B>~h2=#{f+1>W?r@lx%qnXI;6P?hV|*I=mHN?^r-d0$4?*RF2${@UbXm3?m& z?OMY{hpnTTzd`b~%tOxrK>gL!^H&hj?KnD$5?*j?tYtG^2ZWsz2)SbCc{9XLK~=6# zwCyCY4r628+38a6-T!j4b2J(h+s0Be+`q5~ZVHthfX8XwnkALLaFgBgj|4G`vd~J9 zz5botgxf0O*Y`xca9#+`n1R<)D&n^;qTCxK8r~YF+AUP3x|Vq~n*~r`!(RI26|s;A z;H6q?x_DVomFtsiFB4dgg1K8SyVSdajYQ888BNs3dO>v9TFm?;TTkYx4?z9x)H8!k zcXy%)Q^HkljkOGl7q?TOu`|)OQ&5%bhuL-#SkJ%Q13O*n-Hdv%cAka?#kTiJu3r6+ zb&(i6?;#X6+V?FkVT;|FCqg#5wb3#rj^=GG5%cD4#F&+ll`kefW}{`WJpo2#Jvk!6 zZasu6_HNftO0d?0GuFIAX@zy$9vG0;^+E%-Qn1B}z!D6vJPVrRhR11?*vrM93CY#-{*6Mj?dtY_N-xv_+id)FrkqbIfU{@hRq~?d>N@MD(Qr<8X4P4j zf-Tl8dZyXB3hi|(qS=~HwPNPTabm>%qOv_Z^YAEeUs*Sf{a8-E^&+oeH7n}1heA4GCXd?wRjOu|P;k*T$?t&x|KZ0v!HzUQ4**`nlOOV`K z*#mO7f`s#4PeBbd?fp}FAV@f$1gE=cYq%0k?ukaiIm}a|ItuzK&;yNx^F?sFYt&5B z`u4;$;cVtru50%%6F-)-#50m%iH9YtJ~5mD_Ya5Lap}O;OQD;m+Uvq ztLA-M6>96#=-@!PDtO9sJM4GTJEXLwS0zzc`nG1gBA*cFfES`cYpS5pV|I-#$|9eVUg2LL+0iQ5833G_d6Lt)| zsbO71#b5C4z|LWKb-%;jF06rp+rCan-*Vr*c1j=k&~}IKY=6T6_!wbcYkFm4y00PK z*9ey-z-2z0GvbH(x`<&7FW5%&n^r5E`d2M%u75v5-)Ph6pU<7FBOMMIT_ZlTeNYT8 z;~#o^WukSS_-L0^f-4((gxydT3``6ixat|>1oIt&87uHtt2G@Je~5qL)3?0vyq&uB z&$i|`+d&*ta8RdSaCjDd(p3qgFUf86^{BrvggCM>U6OPgYxf7>0Sibgy}Be3r^8lj z7u_e5$$YJ$c`CpI`X4;#l@%QDki|BT#WyDQ1WK<&lhqaYp>{z`ZP;UGFz65cEv65; z@`oGEj5~}=sLYPVbp}ithP-7xFL`{^vSVOvgPszRb;O?3&fd{0OP8LL6~STS(=j%7 zc$rIvgZ1VJYea|toh|27LzO>uv=eK9?GBj5DF=Rx>g{EHC0`k`_VtlwkVESs%i+gJn;nY(06VLp z*1f!I#J*uK$4KLUiwr+t{Oh-jo%yD-qVk`tI7J`(>_@@XAxhQTKgnG2%>N&z~`b+4XdljwL4$ymS zVeGIv&oQiKxC|@jl4Fl5d!|*oj4Bzuk$#V|i5}=`M)cT*AJ9t?UDCJAvy!?7;|B{G!U+Z=&DLRG0>N-&?amarpom?MDrqHj z*dQaCEwox!*rQuKfKW4+Vja;jRZNGgwm`)?RM=wu{R?ThA$?b<*~j@<4a=%=3*#%B z&Splf=kNdEuptX%mWwHhW)E|h$i(N&jg{r}QgY33By1+J;+gtlEl zyxHiA-X9me^5aWVT{9jKQV7JxiLc z_#QNmO$h>a01|x5L(o4^A$I8*YPkyN7+bccD^bOm$j!rTcgd*42u> z`f2vY|NM$RJ>tqn>ptYoivAnzR!6@$SM+p#u+p;?eP`sH(Q0kc=LtQ4qgQl$hkz8` z$FJPl#6_yoyvZrA9X4&n{g(iy^V1BmtQ{Y*U*z4z%I)=^^Zv>TaO?{02UYDGi(4}L z<(7=RCTcxF_R42<4QnD;(arU8lcNZQwW0mEFM}FQ=~Z@(ds)NWn)wq(hy9-9J5NR0 zwVq-A=R2vhxmC9NyY}`;m3y$A0CT3&ugO>`sEk|?w~}aGgLXN0J5IQc6F*Lvl_8vX zD|SE4@X~rjUd0b#Gl|uWs{Aw%peasf?>vdS>m$M2Ak8jpU=^YKQfe%0kQP@rSU*8? zF(=`~^vZ7-F{W3(jf$<-O%Rt}i4%VlShS2w8gnIQ0#-C!L@-OqrSjR-O}Pp!(|jC)NRSx?9>NwtL= zu>%9j8?B-Aq8;_@wkG1^v3;r1@Mg|cnJ(1`SE$M&VAeGZT+cC9Bl@h}nI&Ch{qzYM z*ttdPIeP&NkvOqK{8K1*>#y&AjK2`(xwtmUy_?0oc61)i&v@Vg zerSkmdE90l_;>?$Wx;(V1b}{P6OH3_dG#63aM`fl1HxQ|J0-1M-KxrmgS8E-1{~S? zgs@+WhB*uNB{F^_ii6ELX{fx_5zg~QUPY62B^5G}w;eI_b~PB21jyY2lq9}H6=Iv^ zW}Q#-WhF(z2Pn{J&;3RW4a@rMV=A?<(Vq8>)={v@+czijgy-g)4Y>BiAjZnzymgFI z3vzO5vUbb&AiSV!vKGka56>bG`fJv!--?iC>lW}x z;1O!htQsk-XUghjS6e9gU73~dWLAF2z*n|9spK?(983^i6i&Km(n3C|a!v$XdCJJ^ zmDv!-TR>tI3|9Sh_hHp*Wc?CsXCZCVQSXS(l+F9j&G~SB?$mAZmaDTN#v4NcGBL z)-{Mtbs=D_>L?83(qg4SoT191bAm<;e0<)X4O#GX$l4Xe!%Qq%=F%LxHSl^L=abzy zpEQ{I){~T8xv)VtL(1Qc_0FAhm~~_KoUr3Jw(XP$yBe&^AMIqj?QwZrfs1$=ek-FX zc6oIP%+n5d|KSKS5K*;JBL_Zi+i08GT$ObSSt9n%PFn_w+^W+7HjE%ybAzzS+x z+a%UTaYCinsglhF6&tNT!*Z|wgXm_s3{FKnhqp*@rr}%j7_iat+?Vi-dpx&8YIMYN z)9Go`b0$pt`TiPqXyxh+l@;sI>IObTEQ+6FA#hyuA#zX;^M zF)~^!=QUz-z-tRJaxpoaY@1oPa^Y@!k~Ho+MmWskR{u4qW^lU7GMqP))0TtgcUvV0 zmUS$dgmK&kWScb+{Si5d+Gt+153CXD3+ydCv`K*qogdo#fN)!8eU2OTF@ zDw|!y?U7QgBOWdkzgAdc&@^aghubN=@8Pz) z0{SV#9E@1!u**VE;^b=XCdXVm-eF%M*6A^{1?%J%d!2mp&FCHh6V4bfex-Y4BYGtE z+VK{t)^SDm8vSZ6fF8x9(ASP}Y*>25TsuC2fWzb3@znc8mrgBOS<+)2E!Cmy?ijQLF|>Q&y6tj8!tmJtx`;$0 z(5Z!I5?>l!{&!7@-8XID-F;JZ2T>2iUG=ChJoUbpq! zZ5>5psQ)i{*?PW+2}2+Ie%)^CpOSw@@cSgsFdH^W|Je2&BK9GU{**!VjQunXrFSzc zKekdZ3HFsxlgz3B0313@g#G?Cu*o|jPu)1kpb&OjnrXbn;jOm+F@ZE!$NRIT1vstvM{uo86V1pC5Lq6o-Hl`V&1*N zNRh{KxVesXetA<0lx&8QP1adB0sPpT>xHQ6Tu3?Q9g0DEc{8NTGlFJo8S>`lI=?C8 z%?ig&Tod?m8g+hjYo5ThVf2^>4*Mnl;~zM53bLWD(wqcI8Vvhbd-Rp24vRuB~(yK6`vEp1sJ((#-C&$iAUaL0$ z7l#6CSvWZAcNnGey~-j{jw_XJ zA|4*oE2-Qcac$zQ-*#@|V^q?8kR(2)xs?zd=^7jD5`m8tSN*`(rp)<#7#eFvhho9S zy7p`FBF9RTwSNyajNCig#-NS2P*%KR&OecRM`cZ9wX6M7^3Hol@`!>xgLb;Scl1}D zSR6M|UxSb66XzWv=lzKV_fRE><-2XBJC3ru1NRTqcfO}tH%t(DlH(%1Jy{Pqq z+Vk9rdkG_XW&f*}sBG-LgqdjH{a(UlQlsNu!Z%dkT&{K4nbmnAMVq|Y9rc_-R2X8b z;CRHtUTm;-V}bAD!s*}t5I0AzY{rTk^@Y<7=mY!0X(Z1P99!NOPPc6oA8cl*sbk2^ z)}wcK7C!{y-B%Y!Z2te`IYoDI_FZ!4lnV%k{|*178J*+ohR=ZGKwIk;XYZpoP!*v| zBgTnk?Z#EMRq-3jvBU95oLwW1>xi>kQI-+VRh%8i$F%Iu-&%0S{2#Q^V!v#=L-1=PZ-?M}rR!|d6U1~Ag8%7D zNQ{Kw3qQr}v<=c)Oceg{i{#uM^=zY4L|)lO+hAm#(TP&rBl6$4igQNiyCTtfm+k@4 zB~G_TcGQZ66|U*mR8gO(?%>Ldb0uSB>-xJoC_pq>tGW1c;2-#Vd%JxiwbxGj1u|Lu zqHj&{^v9jF^{u4L%6!MID>VNVn|Iu1>Vrm2BoR5Cq4icY+-7}qr>Mm13R=lah(zmO z47qS!VK3*nW{|6k$VoBEWIT+bwVkgSqP|CfCFYs|OWg9Nk@SaHzL=+u|E6#_fK?od zn2Q;nPkB+MuNj(=H$mMV!T-Q(hPg7VImBD7bbE-)6;tPzl#H*bOh?qlIxpV-|01f3 z@jRE9*r=`q^VL17J4{a-cB1Z8t{ivw!@;jnOBS&Ec27!)udAXJriH|V& z;qGQ@&C4DAxchI+zm|R?4Qs+{=5n{A9B-K8{`Jh;s3mILBV6n(Jb9BmXCy+dYRr*o zT+DIzqBaT>B`D z&n{a&c*_Rol|6_Vte@WkF4rEkZuu2S(Y@D7?ArZnGAWiWHFf|ixI?@%b;W}Wps+eVBq zuT{!>aBi{J9ru}jkz=NRzngVEW_nI7+r`9f5-xkDKQDR5Ouy&_a&?~Re;`xGO#hJc zy3e)=+Ujk=s#!TOcDRV3A-mGUjpq}YZ*)yF8&g3SWNgRlZyR0}nxHa^VLbqr7 ztr*R9)=ytiuyRWOi@1Uez5! zJsyy;%Rzw(X&40-@fR@<}_hEK_hJmcFfL3p|ZZsVm+N@{yMr)zSqaaJq z?xhh~sB*DX;j~0^+Rd2V7tu7qnV=eE6*aqEPn_U`@{l}@Ay?Hrl+EmB7D{x?Zs+ST zW_rUsOz(UcyMYdes14R>H&Ya3*5Ug`=fr-DOEL&(2OW)x{SWkmr#PBDi%zSM?gK*8R?U=~Y|FZf&GO z=wDb=W3A#$p;@Q14aXDhZiLrZeL5*+ginERS)<)o&E1?9I?jD<8}lBk=E*f6a@BlP zxa?JPv*aDC=JC79)p^xiOQw!h^E|fLY1N!6I&>Q!?a#uhxf?^I0TW^iM%Zq>Y65m% zHHqM=iQ(wDM#idH_fM)voX`^`Z?BqL;Pgi8u^XHW^R)n3HF2fGtNEQ|z#xfEt{(Bcp`qg?cm++t0q*&s(B6W=0&ZV zyRFN%6S+h5cw`6iTzF_>nprhpmQy3TiD+3h;XbUIcfSN~#6<7|E{sQOIbhPOW`mV0 z@+ipCt7c_H7OH$J{m)es&B?0CX03leLoLM3SV}b6v1;<~_8Bx6$=z1Ci8bWTL$e(M zL6BJ_5ft(X8*12*4{Xp&qj(hpHd}{F$3ap7RdU2UxuOfkjaeEG{1>KNbv3x6-`U-K zJ&_$fl1Q26wdfxo=S-AqhDe-~2*aFfW19G|V{Pn@OZ&(bvtuRZdma_7a>YXl*!H11 zi!X2T$y|g#5Q)Ng$Dh4suGjB?#j%%da)TDvHPzSAbbC_&ocRemDki|OmR07U`~))0 zg>XOdpt%rUjdg5&Lq(rwLvQmXDZVikdK)iEh2Dk(?c4Vq_e@jtJZ{3AXf&@sU5kJx z@1nMtnC3S6G~8ydB2E1T-b1z1f-$-PXNcas0ka^kwAjelm>`tvl}Co=I)- zj*fW&3Jna=4OG5ug(NQKc*P=gjPpYW@I72F?y#SXufG7T*T5$GK1;{nkNk{(P15oA zB-1MkM>J(tUNHhUMn;8B52(!QGtVNZ%p1|138Ix*Sw5mQz4D?Fjl6KpJn_3pmEUJn zexAPVyZDUCJyzAVXmwyZVVTGUGONl*jLfXMVgw!*?o8XE|1KuI&ocnH{S6ZWc%iYaz5LK8RsACTwauxx zgj>5WvAr?9DxQRjPf%6R7!PjRLiBhm{M@;0hBQh9l4!QzVY{6JC8 z^8C~LsJ<#xn7=%~sJsl;1|*TM@6>{_lER!-f#M~B()_}l@`B=`QQagpM>E>81F9@% zMgEe4!u;gC#VRys&g?ly2k-~2^H&D&r^hLHadAaap2|_#o=L69&n+)5J^l3XIpKn$ zvV8oJ_?(KB>byyFrle1rGcq;hL{+vdXZiWXm#Na6rK+r?xM*pf;R@?{a$ zF<{LrE?%yFR=j+1LH_cbB2}8dBEKl7s9Y7`4`}C<<}O)&MSg0`dTF2W$k~3D^pl_ay3Lr_42gDS%G^ zW&!>Sumtb`U=3j0Q>YJ^1lR~T1F#iv31AX-4ZRjH1@KH`i2tOE=H zHUcICwgR33nAA_HQot0zb%0rb8v#oIp9ib~`~t8Ja4=SwM!>TGTLG5=CiO=>z!bpE zfLVaM080R02CM;m53mmKQ@}<*g%zz8a4=vJwjfRhOaYt&m<6~9umrFaum4)6-VM!;VJwgNr?n1rpV_X4H> zCg2R01vnV61n?BV8o=>@b%3(~8v*kHTLH@flaiFW8ZZU$*MM1o&jOYJHUicFT7Y$c z#~^TN1UwzE74TfZBy3r}2rvb(954&;X224_djM+yw*%GzCLqXZ1UwzE6>tGy61Lea z1WW;30hk4NJzxpoZonGAX23eYHo!)}{s;nF0Z#!;IvDZ*Qvl}zW&u73SOWMeU=84z z2u-#CUJ2L)c+#`&?QMW*fWw9;H6Jhy@OHrYfQ^7F0b2oY1&qU0;1^ae}=ydH2qAg>x%0@efG3iuM>7Qjycn*iGZ+W==Fh!0@b*Xsd;fEM5)z=LrW zw+3)A;AX&k0Cxj!2ebg=5yvNDULOxQ5^xP*I^cbP%K!)B)zzCYd$ z$nTK%0WJdE`$BvB2Ecx}A-5TDJm7A?AupmH;6%VAY>2r8Fa?nJEVBTc0ZRY_2p4Jq z9|qh4n1BGR32-W48(=eF0Dqxp48q?aU@71tz?%Tq0PY0b2si*&3k`rz09t^2Qk6Iy z;{$hjQUK3GC_EqVFhu2R0B-`^47ditY$ISDU@PFFS7GPjN?it+2KYO``G9L*Lp{KI z0XG7^4A=me@OpcDGvEn;{NwC_H{ege>452g+!1*h;3I$=0AB&z47l=5vI*faUBD8+`G8LYt^sTZ+z5EdJ7^cM7O)xcE5JnTgErw^v#s9VBfvyp8)&-my^#SSuz6ZDlaDat+fM)?V05$_!fW!8o-Z7Y$fN6jO_QOuVRe&o2Hv!%X z_!(dW;JA-qCm{cpmO56cYXAd)&459`^KiRi8DJ6M2Edd44gUgu_zCO;oc}581RU}i z+Ql}RkAIGK0Y`j+b^)))&6hQRGuogp;7ea)`~u1ja)2e@z`r=}{R(g-;NWjDegXNX z+2g(XfU;AhL2auB0K(kcH9&~XZIrRM?vA?UQlt^PXTzXu&luq%BN@JYd- zLYKSJcLF~K^be$Y<`{Ui_iRM7K4-xy8T z^7BAXm>g7C5?u9P2YLW>ul6^Az5w)-J?ifS{Tk4{{J$6Uo4cSV#9>YEf<6NDI?%oJ zn+p1epo=dRl8mvA@sS65uPH%JId}U(KM8a!A+GdIpw9sPOb_}_&^LhY<=?%aZvx%R zKMCZaJ z3qki9zX=IAmv$k41n3WUA%809Z*?I*5A?*4xBlxu9|8KY(f&c1Hg5tw9dxhpu@m&A zpnLW2UeGJLpeOioPVRy}0`!}@pic#TBj{f1S03mOgYMOT>p=fI=$`h2{%IHO?*v^< z^KO4H=z~GWC5r3(O6UbYgO1S5l|BOWab3`-fo&^_%3{SnZ; z`gbSj+dxnAkiQr7uR-^;zc=ij-i7_3AKnFhD(GWDN2uuPzdX>-0o`-{gT4;*fJgmJ zpl<@*(|*t&?xOv@pg#|~r~SBgeg$;T{s;ZzF6dK1_osX7mk0WgF6iq(KL&I!|7`;O z4A8yK?>j+X0(xH$|Lq061avR^5^(Lm0d%kP+X&FNcTs;T=&yA_&jbAv(7pO^9q1~< zJ3iV3`Vi1P*FVt5f$k-LFX)rIsGram^Aq&R9{w8v`X82e};GeZ32BL=wAJ|6ZB-zz4~u2=*zmOpU_XKHC@n0fPO3JUh(Tx(C-J`tAFx9 ze;#zN{#gh5YoL3Mf6xzrzQDu3J3*f{)BXHE0(JI+z6$ib==#&wCR~TufQjd({2GxBY^i0tI3c8n_g`hWq?&YWJKyL%xYaHGW`swF*kHhCd zF9AIetsly?Z$IcYpnHwO{DM$eFNwxN7qN0dh7xH5zxES<6H2>WqIpy_&}_ipa)#q z;dnX&^u?f0@}OS?`fow^ifgU_{aMhx=Jl^Z51i|5=To511iia?y%&5BfiD=Xr}lRO z?gU&h$ou+g1n7SO9k&Q$<^}yd74%lf|C;o5_roE)$AIg<86E2j`3k}J;hdmaNxnNA zd{N`$X7DY}b~)ceU&?tD^eWK5qMXg%a^3*ny17Ah0{QTZ=!Go%?_1FC1Kn#J9gcw(RtqO@Xu(z4!T=A)MFj!z0M1&(QF65XgxQ9J|6T85Bg5f*MJ^$ zq0?V`L2m&4M$((T?dU%k&kW8Fs&ifBP|s69-voNlh0b;|LEj7d9i)Hc-A+09*31v8 zIWBV8&ds2|1bWbe{wU~!FYsQc_JBSH^i+@f2SCpQ-OZo0W5~g{XAk=QtpBycj*PYb z>k_Kvj7dGu0N;WI-sAKl(AR-pK{@>&=$IFd@y_w=yjy8 zaL94kNjZh!Q;WRMZ`XnT6VQ_>2fyfc?gu>ty3EJxyxZ9WzGHK|=i>p;XMpZCABP-* z`vstncF}`&j01fW=*POy>5sXf?*iRkpS<H-JUxPliz*~=}KraS;b~k$L1z$b*y!1#IhPV`T zuefgn=to}Sy`D}5JqvWVIEMX}2l~CBS5VJp?{Rh=_yU&()nfAPcjx1{eiVFHgAZoK ztP`Z~0sS`6-PRG(4}iW4bgy|aF6ak9PmQjR zGVLq}{rGb4`EoPpYe1LzQsM2dr@;3G_`K%98=w!U2&$)|_0Vzjx1j$O^rzW>>%7|; z0i~~98B|5la*K2vuJcDY@%})&@8DyB2wk$vrylnq_c;$hCkFk~ z)g|O@k3ZBm@IwFM_+R7Nt-3*VT(_|&VNXzji}r}&qv>$F4^ zE>pMY!hms*vfRJHr~aTZi6{9pREgdA!6*A)@~JfcW}nI!dZqe8vkV>%a*F?Up9=X) z@X?vg9MKe7ADz1fs@)amUmvd?jPuvWsXt5p>p1W}8E;n@^b`MBb&CHg^;4AZqm-`g z=*Ip*bl_C~dA^nY)#^@)g9?-hCpv8E{}casH4@Z?_<*nO(+q?yMnb%*b;9X|CJvV7({5rZ%8+@}+K_4L?>3B%X>)t~&x z+J<@5`+)Vf$DR9Vg70D0do^MBfdqAP=X&kFQS`y7{(tz?H2-;Ow*NMty2BpZ^1&dei5BB3?Zb@89NE+Y-v0f))%%ivDbfGCzUp^<{9F2{KlNe$uD<@;2dJz2`FHhKclYx@+D|>u&wpKi zb#;IL+XtzpgZ%#*sQxv;|J4BX=>X>69_W8~ka{@D|4fpqPh$SQLH_RttM3Q-Zyc1?sUw{GSX{uO8yR>nE!15P#KBwQi{Yy`k#W zq5j8*sfUL7w;rap9_nvAR6Tbn^N%0quRL5;4)_0hxT+n_{MCp1Up_*;e7N5_T)iXt zzaQbh`zUqyk^V=IR1X}<{Ow2iZ#hHu81Qd6T74hzzkZC`bBzDp z5$fGz{huGJK0cQD*GKptJYGF`oPXPK>WSl+|HJYAuTM~4AMdX|L0xkK^PipI-*%#U zcBKE+k?N(9%s+ABrC*(|cAn&a_GI687yZ#{*_cTVxYH%fhTivRji z>KCJ!e`6H!`;z_7r>OO#{Rc*?TSxov8?81;{-e>vKa)b9Kc@QMAE#bO_1`pB?N9Z$ zr>eG8|9_29FO2cuJ5K#}oc~Yb)t^rF?>tp)J(c-;$NRrKO?@}sUvrwOJdOD;PV+xE zK|Pn|ePr!#;3ME|vCt4}BT|9qyp@eKc_Gt`}D_`f|v zeR_uf#k17zv;40F)hlQFTh3PRp3VG=LH|9I)jgB^k4;h!PGbI!$^MV0sE;T6e?CQh zE%^_o_#X?YC#L#en5v$g%KU?&OYb^QZJFkOV!C>1n*aT2>MhAXGTjgS-_!lyWvF-3 z{a0tGZzTUkhJVjY_1p~qhcncBGnjv2rvK%6YGbDVkxX@eCiA~O$N#rk>Y;P|jpwN6 zB)@Z(|K2S1tJ(f7v(=wwGymHx|JFI`>n#7ibJb1f`hRz>y6ar#_nu4q<8%Di%~RKB z`}fRM_hkFm&s7g+`?qJSCnf*A;9r=_w*Eekdj9G>{|D!(=JWh@=$-S~N1vYW-#%YG zIp1G(fm(NgA0zyQ3;cI3P`51b|7(GIdx5|HLbdrqOz1Cp_)q$e2ma%M|9Id(9{7(3 z{^NoFc;G)C_>TwvcYB~+Cq9RFCWCk4m^T-+(eU7So73Qrh$^41%l);$k^w=<9i+?4 z*4gC*U9O9>%b$PWUQE=6c)M(Z?8M%7xfh8@4VvE9E~;AHUO!#Nt$9g!G}S3-HV9ZG zcysT{(iz^@V#2GAl6X&)X+yuDK!cyJ%ZY-;jUf&DXlUC1zTLLR>Khaa{4DkvJz917 zE=||f|Hr||`bDm7{9gCd;~GAz;VT;cOT#ZT>@_eba)xSnyoTd7oTlM<8ZOarg@)H? zc#DR=*YI%-pVjac4gaO#7aI0T((P+_yoTd7oTlM<8ZOarg@)H?810PdQ>L6A7@0jU zI~2$)D5_X_VqjeI*yM463zz2Rjv5ypJ8E%hPEqbMe2cuIpbXz42U1TRGvTzc3srGh z$z@CNjspbRL&_c@HM*UXq8rj>n?DZIN%OA_3gtEr{-c49Qgc6xeAJla)YRm$qoISEK5JfJQg&cW@|dy7smizJ7t$=}V509z9DUE>!1R=E z*T5X$;(Up4w2F)CJ&_=xH=onRCH6j1XuW7!T%3OvKzxF~0H0OICHm!2NMi3eU#}A2 z{qu3~9lD;!KJjbxlGN*bl+`J)J5Gg>)2ci}EK<$dpuiI~`v#P>2RUg#M%+G!R0m;{Y|#$9xi-OJXB( zKt)mqHR9l#_%V;ZK^DQ8c0u_DsiavNr7n3j5i zkxli9GqWg`U#nD(5M;8?37FOit;{)u%C8IjzVlm3gUy{7cjv=7! z+8|p~@oRm)!{RUgG=9)s@x`yi4@xYLFFqrF(31G#8Sw+oxbT5pH^m(bg@sq%F=cE5 zb5eIKpw@JL2OqDDkML&k>@e);t9UKA`MP&s`i}LfZT|_xHcqlF{ zcSDgFwF*Zn<}S-ARU(UAT=%B*^o){Uw1V3~EX{SU-m+3V{2j)26b0CfqO>$;6;1i%N+gB>6Ax)J>yPLfV3w${0()_Tq8Qx|orf`UQt87Y%bW!ssKBcAF@8mXa? zxt$5tFFxvad@hRaM2gCM`OL?ss$m**!>nw&AJ9J__s zrR<9Akj^eGsz_d3QBasSsvu7#v$QOyY?(^VTU7+nHY_i-DJ$|z8HaQ#ghAtGDXgG# zC57cGSq4vXdHzb|We_Bn7U$)Z=cwfTW#J{I*yJO;EDv=}2|{yo!}%+7^GnLZvbl&# z<~As0P{9V59OG){QE0$sa z=U~T_NU@}1G4~valnaWM6h~MWFGlobN?4BaOYed^|fcQAZ|I-!3V20W!SiGxZzdgF$tlRXfRE)K}3JUXCN0BUL%^axlXin{SsZD zdQ(rMzeX!AdGw{JZ>~${>kHu&%^2-JV?UQ?XMJ;>yFu4C*Tt-lm@U%2sn62_eS&aE zlDW<=Av2QUvrDn#?`9C3^=k$Mg|$Z4j~J!}nAP9F-$d8f7Yf|pg{i5`hURGMney+D zakg*nODtPwa||_%8k%uy&=P&4VEk_`BG%~oM;d~z5Z!-|0MGUf+s12x!nyGp0g8Jd zIa74|+dy>IZ>t?)*<4n=*{|!WEeSUVqwC;WZYP;!JyBM>6ya_z(>uILi zwk{IRwygqU`ain;yqqlPms?SvCK~&^Qe%Y3m6tLk*03rO0|IB%@4{&bnH+^o`s~T@ZbBu1^;N4(6v`dQ%#*pH1wlQ(0 zlNb+8O#IjxpMZEU=tN0A9+6+2E529c{=KtOJffh6_@EOd`FME6#9dBeJZ@o`c&anL zuQG8`XM8_p;-Aj={*n9lo$&`L6R&i}4^So!>5Ly3xe?kKpQKFO&>25SnRuWxey}p< z`Of%*l{tTR#t*^yIOs%4J|16En)9ub7_WvZa~|!C|A{i^$Ikd+%AEH);}6AoY>^Ws z`FMU|-r$BGuFUzzSt%ZGtDEymXZ#V)Vk950j*R4;nRt0q-ifjE@hT9D1SVc~dWt2* z%a_k?_+w*{B4>mL{x}c(@gDdSV(^^L3F?#f7=j0$>xUcv!NA9@qTum2z?6~4h5+A-Ch#psqfu}yrIvz(+(n=hC7!N7i7fG4+GyMWT z;?p$Vtdq6CQ%=^PAaWhaOaHsULj4nU9B67hDENcbny7j7l;C6a=jn&-rbPM8%l~hI z-_4&NXgT~Yn(0hA;`>AxPJ4seUKAxAj||&2&u0(O`0>EI$tT$jKMDLkmw9@=G;|2| z4qc=r+hCao{&JBMyFRP~K7gIFqUSqaX~ygtDBn#`GX2Z+gvRrGS*8p*;@d)vPr5oN z7&AlSa8jiles{uTDoEp#l2bhc>hV{~NqSl9_fTz9Oe}gF? zN9@a`@%)~aX|x>iJ)p*OUm+$l9^Tb>?svsBK#od{>TS#CK37bP|ClN?p5F~JEtVtp z!_#=~8_0CD9F@9TM~qV}D72URo-r{_WXjce zelN?!Z)TaU)_8tb&ZIBX)!iD;{oR<1|KHR2lcv~sGk)Uw*zIy(38rJ^i2G^42Xx*E zmU-Z>&~mt+36t^vjT+DIy_wAQ!Q&dwefF4!%Mp8YYCON&Vk(j&#t80%(Lem|lgW(3 z@fy$X|C#2<5#JsGKUn9TV2$SI{&Y;nKhJAC_k&?F;r57rcDwvul_^z@N-fg(do(|) zOS(?ux&IiG@#jMt&+qh@7RV9br)WI)(_=bGj(7%ZVM$tAj+#w|IoN zYCQLUWP(^puLAF8?`N8y`(-f&XNPn-c8OX&CmUOn2dj#G@kpl zGMT!~8qa+(n9RHwjDgB_xqkywogDGazs7UF1t!KxOe+k(o?m8O+^zB4-+{^a|7nfq z{*6p#9s5Azxi1!z@!MD^OntZy6w_omVqYhXZ;0~qgBs88IhpuPr=){z+fxPxHNpnR z0Z;k-?w;vVIV!bY;~$Qazg^?AbA!TZ)`t;rIOTBPNhYKJ2H=g)g`f{FXnyXK$7J}w z(s=H_$7K9A;1F9rztd(KEk}H3ukqaPg~>kR!%E->;h(u~O%N)c2O0iio6|hsdK7p! zJ^!ZpxgQ?W>2gGTq4C_mhl$q%OvyuSJ-NRnlUbivYCQK9U^4ywh{kh2N~XSY#QlDa z=e`_FC(9A%890P~=KiTn9&#DPz8iDN4?KlguNvXA(NR^z#^1Cx>en#OZK4<^&U zy@uKCaz7HLWI1A;)_8vR&r~8u>`kum{C=HjnjDpyt?@y9zA)`B*Ld!i#$?9BT^gS- zIY@NmJo~i9b0144qcP2Z@fH zmygB3rhM*`%7kGfDOKaSe>BtSazs3)@e3vg1!MHNLgTqV4AWO~#IuYeZ28>Jg=vx; z@vf1^uZ{B0LY_{|#6eHECBrKWjYqIbym*j@Wxa<3F4n6bz=h zq=SyL<#RtnCNr+eHJVw#&e$-rhDXweI-tCmw!9(l)r9zP&fmc{~e9z zem+db58rD%_r+yGm?Y`sk+vM}x5|WRE9rdT-R%9T=I4HaOlG}p)p+io#AL?jad0^G z1`(3>a<8=YFV6_7VQjczKcvI4!KF=xj!n?*K))-(s=Ic%(Os`@atGx{$wrRjQ^1u zzdb!DoW}n%G@kocGZ}ml@Ph@@`LIFr&(QPtOikXc@k_M)z8e3L#&iFACUgBYb)2my z_rYQ^dS0pV+=q+F`2Puw=YE+?ST-f?(fGxBJ;XGT^pVDMe?q2vTxO8qfW>m@o_^eFZ$@H}03j#66Rkz88G#^W_8>&VJ9+^JSxO^b4gjO@ALFiKN9m1azFkn)PdOACt^Lx{ZnD}MnIZ}yfH z=9lN^C67-%b%G)xT#&aCrSYlCex*3CV)^n_rk&8NsnX1}Ig`!_g-wagn0!Yo@~W}4 zQl4Lij}}TwRCvL-)G+NSFUXZQ+zWCF3w|bl6*8Ptlo!qeV`)V$|4L*yrJw-(+2xsO zcp1J}-hB>F&zwDZQf4@u5ni5CP~`k@!H{N8o0c7#8 zy9UQq+#G!RRZzZ4c(cpLq=due%Swwcqq$4Vmxc37 zON&dPaWFVNGh_0U`SZj0xK4U0b!<4CTU@d#yu5ftemEy1b8$*23yy>8b5p}}Q^GJZ zI~6^G9!(wBiFb@J&zcYp<5l@^?#h*^r-j2s#ijV$mEi)sZ=ZufnUOUU!eV{ z2%FWRH=F|Yvc;Tg9YZP2{Iyv#(d?NL^}!{oI9%g4K0Dg!kd1*tsp$St2(4q}=+1YY zEg0b#$7TqR3uljoH}o3SZSym`Yrmw#OlpkU&T~Rf*(`?$TXC*CcHf9Lb1;)_=XIKCjGae2-z?--U@k$N)Hq*omy z?X;!&<=JLZVZC!(gSs0}UhAC<5t;9k!r2p~Ke}AgPhFh9w4liLnu~Ec*&LRpUt`XA z_NcYV-SnP^!j5t8n01i_$f2Io!QFYsW8P!>*fW0)<{d_E2oXR>2*t={#)|M9IHU~c zl_`ZeWo7tAiOWGwMn{igk(ZNp+SJLRBKR&pH8n4vLDJj`#7dzEBf}G?o>2=XbU97p znc`JE6WSBUI5;B2tU41)D$152ddR(${gI;QnPGR#OdSrG@#^T5sP-dGgwpgXp3jJd zrsWl8#hxA&v>~`KqD92SOdy4i* z$I2ork3+JFlg1)O%R{IvCoaTSaHd384*NVkrMuoa5*b?9qbfDrF{)gGzKFj~mzvGmNuCW9Ni%HP&NhGoB0~##|iI=XH_n z8g!>lzzDz!9G+X!5x>Mt>0De+VM_B)t}`r%jLXg=il=Vd4-tl#e#Ve=xhimuAr7Fd zxg5cWsXb4>&;nsHhB2-*935nzb?taWq5-+~(cKZo9t_E+Y7L|2Mr5#gJ0u&SH5@rM zoPnO4U6Nn4yf`mEJ8BB2MopIv55=x5Zc97|1~rVVr)KSn>B0`lW)7vM!ncvR95s(+ zZE^Np#Ntp7R+PzNW<;sf@fb2P9Hx~PFQ0|4SN~5dSGL)+O$Q=>V?rzJAU@=60N*Lfs-s4<6pOH!%mUWXZr^ zLfO4oT9aTy45g$)^~!k^(?d~bc~yI+diJ7SoU{EWU@-8wcW47@bZiHF`(s406FDDe zdylNN@Q^QUoIpxkVzkIPgeCi9MaI{e)Cg0Zj?K7!=vPmuxV*eKV^oh161|dVke{XT zglwL94EBryk`@}cazM5RuU_K2;rF|3+bx%?zSqhDzWDy5K?zAdGxu;fS2$d@i;FTG z6xPv}`^eN1gt4%I?VEr&R*;0K}xJ1m9#N*Ei@A*dwS4ywF_ zY2HjM-X(kTI*fe-9B1qkD}64%p=={oaAJ({fy2`e-bo&Q>OH*jURPyM%Zd$|we&T? zCcjq7I?hl67cFKtx<}n18v@(}C90FI@H;whBAa#Dp^f%DF{VWNw5SbByB$`e9SG6| z0Jbc}_0^dBb^o~Oq^J#MI$S~kam30Z%0pqUQV$~g7p$7W43AX2$I7^{rq5~ghBf-6 z)D;p@9}^tLQm$P*ul_^x!QUmq>FR;9pmzOz{%?3% z(GKcKxPwx#?QST`BoD`bveZOmeLbY%3gJ&foTlDU}r6yVrTng@?VnWp}*0-I*=$mQBAmTpjG0wB?TNagzchi5`_C`Xp2Ux)swODJiF}SmR-lbrt_<; zbjqNeVvmdEW=FlNj335|zvW%tOZy61W}ru-ifudTsgqPDl`)Khqn~p3obwUP5>cf7 zK5SlaHt+nj6#vS{s#dlPD2@<98DnH6gSze8WkTU51A4Wvz?~TC=1+C&A+g`hZO1Ok z4a*Fkygfsg?rU5xxGG-A<1@`^S3zdw9%76#lblTh!XS6mBArVt((p-#VF_vo1m~2O=KR3bm}O4z zEH+9t8R?gyMzWE?$mc6X#A#pvXPl?V0mwS4U3 zKrYdS6E|K}xy6H$N#4sysmOtYGvQI1@<_t}MGlgMROVc_3+}v-nVfvmkmU}P2cOD^ z#rP|kdJ((Y)9xe9zLgAy)4LT8Zn!$cD2rShFPxp7TGym z0n2jT=Ew^>{CIMW@qAdelojuhQrp#bxqS?-=en9BzNe1lREdl3s^)n16KZX@>6@Fc zw~O7PK#BGY2g2Z0Lx~eDObJNSDwP(DxZQ1Bf6J|HMS{^bT1Faqb4{d-x3xH?6}dzaqW?qnC zdlcAZn_w^&I1XsoyKO0`$aw%K=@L58PgPNdInVnQfxZ{Qu@q=)3aF*ZHBNL^4l=Zq z3rF^MpGTN`DeOqKd}>$xL*!B)`e?z$4tL|yff)RWdX_Y(n>jxX%<)*v9?}-5D*wVv zVPFh02B!J({@y;~$KH1j_{ziculDsMp&<-PB#8O@;cX4hx?S}z+ZFzHeT{MZ6RHBa zsF;gIp-jo6>Tk5GsMgE0OEWv^JGl1l>zan842n_Ug~HSatpmH4QZ&|(a;7pC6)y(C zI!lsudAq%&tNBolSK_5q9Lwc5&^&Gsr#4e;lXQHkqiMEqk9IO<@-$Q3+)B1-xmQ}b zg6o`7V~bNiUf^oiYP&)*{10`DFz|-E@YQ@u0jMz+^ZRHbwcgQrpp22Q`q^TEY$n?F z9>Q>%A?4=0z_(6NuJe9YfkI4>AtJOqQlY(U%83S3`Fl+KEhWN^ZuPV8S?(hp{RA%7 bI*NG*U8^*g-TnRT?hQFVyFn_pUO)X0_$guP literal 76922 zcmeFad0>^r)jvKr$%U{80hgkW%z3=ajci=u} z=A1KU&N;I@GxI#pv@b%3)X`xa9K`YWfb%6{VHy=eD4|jk0&=B#%r~@Fl7RCiVqt?(%tC7)#qc-F*f%R7h!oR70(FU8 z+o3Hs`@L`;<7rizA+0JX5exHrYP^Lu-}%T#J-ZvMo-<5&UVce7`detsRl^Gl7K|M| zyfANAVL?&(@?p!zjU6_2bZS{~>PWFW1&WY&%Cy;{lJz6?W&IJ(ET5Uq9~peAcLH$- z;m4|AzE6(Z<~w!R_P;;)(nU`su1tGwzzb8)835W4{0_$NQ2Y+T?+E;k#gE}A{02)* zDe~IT50Rts8-yRru*zXS2>gCD~I z`1QgsfZt*G^~di>{G!88OoC+v@MHP9K2y}uz7$c1_@nvzZeOpV>91!UbbH@PD>5&C z5-88m1jVRNY&g>cPa6WU%t+I(Zumo>u$%nff!__E<$?d+L!Sj6^8e<+Kh1;xK6ubg zpSd3T+~mRkvIqYL4}IS8;2-G0KgR=~=OHKH!GE!bAEtQl5BIQlm!)3Q^X3N&jFw60x=5AAnIHxNW}Rbq@odk+VKVj>33X z7S78(`DBi9V^t`$Xi0HVs4SdQ8V-e2=-j2D8TpF}%EI}jlL~Xn%JR!pXztALh*LwM z@Z!?qWuXN*d7+%b!s6VeAWWM&vut!(!Ik;xlA2jId4!3DM~q&OQ&x~0DqdI?F3rzb zl9>xBBXSq#l!n5kIR)Xe%-r0x&>o{^-o2f^ej$vPmN-V#d^&IgqJYyH)y_+`{6ri0U~r(;rMkxr^!F<;z1Q`K4vWMLC59;T55!X((c5cyw-Yc~}Z7E-Xu5fLPJ8 zB|<4I%XD$o47$j;)OvJQD1GLb5Ny{H^NaEdUES=GcUEXt8gh?CmFrr}%L(TggXu=? zT`>n@tub&7y{-L1y|d4mF|&APh+dx=hT<-jEY3{#R^ikT+`b@l=I9V?nKeRWp|ZPG zgB{v{slA!uk!iNE7UmZ%3NH@jmzEZnYB$9-BV$fpVfIq?jU~EUAhswsH&n*d2o;)L zw5$MLn2}#rz9gS)xwiMPk>-T+mluT9lKdsPOG;4Vq?;bKB&VQAO_?+)G%7VsP07lf zI4LwTb!6%oHEGVA2@^9zBT`3c^qe_h8O<)7AopOxM2RQi%3u6HjU|`n^hbCSao_c+ z6EODJ`(XC*D{ve4t1xg3q)(2bmmgMuTYHkaIzmqXht5y_zdd|8rVxp$!sH2`cr&IC z3F;QZzklm|vdO*Ppd@X_CC)#N5sbbJs+%tn&O2C+4S^^;hU`cf8il7U8`7fi(euV} zQFt@elq|t0yq*7$kP(IF9LI+2C_Lv$Hq42_+xZb`^P})bTV}w;QFzX?Y$%DsbADyR z@+ds#d^W6#!gKy*Lq!yxb#BADD17uh^7bfv^n7A{6rOWG8#YGaIq$S#Qxu+aSsOM- z;W@Xpp)Lw<=Zd7&N8vfQwV@#j&v~*9jZt{cMQvz`!Urr8(22s^c{RzcQTXV&^!_OP zu~BlAxzDmqalURtauhy#PMi{j=iJkVjMX0{J2TP3op*To_X;$@)jN{6TYB4=k&gsa z+i|0D?SE7dF{T%j+}zZLaNJ2uv+FcBNctG2AxkyaN%}CR6Pey5>48jhNzlAr(!H5x zS884-=>(?Pg_>7M`s+TyG-+ZNq@*RyGnDmq~BqhU8FfE={K2X*Jw_Y z^s7v>={E-?{UXzB^35rdevWB2^=2jMXP9OaZ*Kh_h~pk*I)&*bN&lYd0ZcbY`hKR_ zl$+}$eJ9gw!p)l`eKXT+y3Ok)eFM{Mvd!xx{WGT7RGU{x`bwtRM4L+_UCK0@X7hYW zU&b_>WOKHp7ckAH*c_DfT&CI7n$sjbgK0Lg=76NnWtvT>IYrVFnP$^zR+1jiG@DFw z>vwH!BmSLP`O2jkmG5M%-rJfzD|1&}N<~m*?AjI(u( z+n<v^UF+>wnZLX3eOc=*y_|zX#>o4tid=st*1;QeY~5XQzKVqCOUP@eA7* zE^IGycE;*6mpzDrP;U4z+1#LRDO&?5D6?|=3lrMjWjjZ%b<_>2rBtr`wz7Qx>XqO6 z%1^j<<^HxdsCnep`OnQ)&Y5t@R?dZ=37~`33hpA{Uf9mewPfAOzTs>_)6vKYvu0*o z`_U@2@Qms$o4#&qa|+Lpc<39%v*5an>KevD&IYLcq7p8h1))F`lV_;rVH~LWHvvT29ZXTwC%LxGHOw15B>^4M9fLJ%ZGd zoj-vyqf$`kOO>3qY2=HQ+pmkPV*f@rmEyD) zmA<1B;!3#++Kaa@rKIXD*HHUcC0@fgP$dAhz3J6A5o=k|g`LdD(Ut zqqHrI1GOHYb}(%@orQH}i%7e|t+3|bpCqc^1Q6m$nG!&ESlyc4=dx z|7RpuZ`n$ri^Q%P#(~-dPLXD7`T+PFI_|s@6>(S4cmqDHgLw<&OuUi`I2O9sB<~u-5DgQlJjOJ zw2AFXEnN+gQs!zmmEs0Ty1{Au!cBV)l2TizY3<)8>mMav!#Kzd0JS6O)h8gL%Ry31 z>iMHg5=Az->DkH?K?8HG}bL^3VlH0 zHH-t*1W#6~Zw7qVHHNSSe*g}EUmeVg6TZnRocgGgt^t*|d&M5jXB)NJ^ z8->0p@fyZ~Y6YlGr!DX7>xL~NZID}G&B@vp3beKqUnaH?<>XR)R|CFqo(4|$dJ+Ba zB)NJ^f84&Ee%cnsfl>gqnY87Q?${#IvfK)5KI1s47Yekt{JKDFAs?{(mL8dP^D|^wTsclXrcK+8t7=%jPAHSnF0!bNLVv$v$F5UI&qgA4M}7r1Tob zfl2|;!*b)Nf*4Mo2Q?4l;0cgt20i?^@YFC9IwSEUb6AzR=RH9whIpp{tXnRncX=){A922O-{_VU;R5t0zO7IJsR7t5W7EZYsqMtD@4ipSWqyVO6~S4$0M9 z&ZhPkh$S_Q1C<6)dm+7gDR{aZR>h=ElYWdzqR2&VdNy;H3^hqzppq_Qp;RJK&W6@* zRHATR3C?(Db66GA|3Px~mgy8aU0hPbI8Z@=+KcIi3t3oK!>UNDb}Ov8B_Os?ptWUh zzSu&P)A*lm*dm+{fz#a<(Z9d8B}AdCC0@fg%FG6+T|ir^SXfuKh_r2Pg*6|gZJ|JG z%OGtFQBL3P*dmJ}lKhq#HC+nwmYjAShHD6~c5HH-sQ0#JJeZTalq-LOTZo#<9r z^Yz#=fxw$s#`U@k#(`SJGFGsRn@|Q8_be1$i+GS*F;UfX&*i6!2;!Z|RHrN3h4U~9 zjT_83NQy33Ntt4(^Pi8pH%L+?=hCyGO`P1W21zNir<+P~gCyPHTmqHiOW`0XwY7z0 ztcJ)sLM*9a9H?~wwJYh>)4DhcU_R&z2)CDT(GIFF6iE^%K z=|&|A=WKAsyMcqGnEoWmSO`++N#c?k#(`Q7P`iq57|FuA8dyZyVz&h09cDGw$&5vOJ z6Sh#GwdFHC(ILwDpt&2i2M7FV+8Cc83e_+Uaw|aXS~@h7c2w7pAGwJKc@yV# zpUsinL^+Az>T&=T&fOnCLfk+%6hcLf@lu>tZv%D*S_-<@1e07zZqAMy0%?OY9YW*E zZ~hIo{9zuK0?5CyH@8A)Cw6egxMKGJG#2{QmoU*O}UoCjT+9X_qyR_ zD&|}O&Uh~et%*;Oj5{J(PZqOk7ze5ZKrhlpv9PX&8F5&FTVc&(@CXV5Z( zcW04Dm7IIWLYp|bUCv)v<`g%T;@T(O;N1PLoAxq)A^AI!aT90!3bCYyaiG=#)ZW4_ zy8=92&R@i&Kacq_CP}jiyXn~+#B)j1By}-0>HJxbp+q@b-|0pr3TF*C47S@$5B5jXbVa=fdVhaUYTSjSHh;mNojxECZ zU6YqBqW`5V9ru3iHE%HoH_?-|~yR@AWoG}y{H<)pd6kTqUGR07*H{#tH zB&m|KVgw9|liSrGDPNjEsl-g48PgQV0}BgxfU+Q^zEmeeo~R4YL3AK40L zfv3wsQcQY)`=&qGBvE9#o1V?D9>7X}g1SH@UB*ml2Shn{{<9mED4ZqWjMpq^O@D=C zY-E2Aq3Pn18peU*ix{<==!WxHSXTp!IC8aHVa;3c;tOn{Kx@mJGsG66oWJhrhAqOm z0i5o(i2i6q_Q=pQ9s!#Gd@fZE4cFHb;3m$rzs7PrEhkJGkLptWV<`BE=LIb$il zt3gsY`?`roR-^wClF_fYS~>zR5uq(`W?@mwvHa@N3~|H|w{n^WJUJ` zO9U#7*4%rVSQcXZ5>cpzagehCYM-J*^WG$)hWyZxc#vhP-fybpCdxSyTwVG_IQQ*_ zgt$?G>ljgEwiKt;+j?p@)-jUnDCUY48aD*e2In#ejbm+oFIlPDLo0)7E8kCb&Zd&p zTkd0qN!kI71GNr7FYu;np80~WAs+q_$DFRW58npL@$1}-BXVj zcjM{S8ZGw;&7d9r^mM$b^<=A7@!3X^NV?OPj_Rsa3gCN!=ZMd+cPhOA?mKmU6-3=z&eaK;^N4inL{Jg*EdfO9*U2d8l~GwQb>(aY6|J<@`xB zsbL(<*#NpFZGS@$0m0W0Z*xB;xofoCCp3d@NyXt05=DBS%rtRUk(VF?(L?Mx&986W!!Ck4loJQB2Y6$x&UyI7*ujptlJ&qKu5{ zl@B}D2*d1$kyx)=O|_7=lt`A@>ur-+#cqYcN6=4bs%|nRvJ)v8oV&5V(4|k9*(n8Q zTs^cLNwH`Q+jg+Ui#Sf~Izd}Ob)CB?F1HJD4?FwZ#KpA?k(lYm+A;|) z7O(%FWDJ~NqwqAmrwom@ItPnJv$rC#skV+c&||4rSEGXnyvVJ*=5z51cSd#jCRR)L|yGMRWK== zWp#1CfiEiEq&JVi78UHNv-XtByd=F2s`Gt4*hApF^h!7EiOuv&WQw=vL^0zV((rl` zstf4`X9}JZcG>)1c6PXmEQSRQut4tjU&`hUM84P^kqyqT`GhidaFX3hX-jJ;r3>%s zRyWsEP%9hdHL2YYB%HIs>8_Eivi9H=gf2A_&PVyOf~#q=Z+1&}1PNz>ryzMQvH^?t zE;SO)E4j>f)u@%t%-0=_g!Au5dkKs{xONBMyT5qCB`<96 ze8|!nU+*y6!w^xzy4(HNwl?`RpmOE@jLP!XjH>ij{c3-P!RVC!Y@llPw^ix;do{eU zU4KtN79gsEr^I0b(HJclyeX8Qv8@T8KqMtZb3jT)RWLcD@;M63sDdwF$vAOaMrA!e zm@u6Dwqg+UY64FaKB5>@n;cngG`z%NYgb0)Th5rjNK_^Y&Sv0i2S?a`hvcsGeRN<; z>bk1*eHpp1d1aH6&D(Y5PQ5VrObe?$9{HT5NUToZ=M&~eVNNIWY1{kXT(_pK{Aqj} zvSScF&FJ70FKb}nwy%>iHvi%GI%M>J__>Y_*ABqPCbL^JDjPCGaRR#yVlmK*Bm?_`0ac)iuaq{X=grPj)U4 zAMJ8VFp;E3SPfOd!0GAxu6f=%!G33An-Bce>P$h#AL5_HjLm;}Nrx`|v#lvXJBV!x z4(d<~QJzJ!ib|QLu3IEpeu|;3{wM&=9a!dMRF@>{m2~ryM+>|2Bqh zdPP)ex^<_xweBw3Lr1N|pQPWS(^i+`hvK%z_#@hVGfY zJlbKj{79=u+vHfja=(M84UxWz@5Lf`%wWw&U;K5t`PD zO@Rov)kEm)P35i5cF?(Y3l2N~UVbWf{vX*-cNivF91igI9DQ%2?N zM$9xgqe41r%Ee*2U1X=mquKc?8g_WEBC8w_JAk7G2)^Ql6R)J zp;B1_O5)vTrMSy#9m%9S=>JAbY3~P{XY1g1(Q3(l_qNgABW>Ng_nrUMHZ)C|;2`n; zM2UBL_wRK4kv0_ZnTw}7yL)uIA9T3Ebl%h5M*xpPMqQr-OQ+0JSrooHpFvj&ULjLPkBb(6Ck@yyB{;`TzpV{!6kR^|Kpv^Ak!Y;xTGfjiH{2^`K(8_gYsIn0t{a(xy5Lhus=zFWibU{~HHdT`$z5 z5d(e$2K;(7sd}eL+Bln6gYz8>*7efpd}7?H+p5$HCRFeO7duVPGoL~|F27grNb8~j z@8D!hdPA$TS>ln(%GK2!SvBi(1kw_?hq9&dJLY?$fk3~E;yk(qtM~xA^Hxp>oXh?b zAyqzCTh3K_HaK>re*~&(8HI)YN3yWjZ;^z_Ub)i>I~c5}=32e}MPhaOM_An>2X0h4 zM;>$71^y#w9r_)YKRp{M*SU}JYj;p*y9ZPMU0d6P%GYq{0An`OQZiNwDl-?vEhIYg zQLgE`G4tT4x$s@cs+&@5?~kz}!(e$@bx$QmCjC7HiddqQkR9y`-NP%Ve) z$-XpSPUbk{e+6Pc@U4T~58S&&+$`ZbNOd<`W-AzIvp#P(J&3q9aJ1m9fzo)RO>y($ z3Vw-UytssMc<~H)vB^36lXk&95!YOfbArToW#QZqjK#C93p#bA+^0CsV~gt>&M7l0 z-$pmW$Wjt;_C8JF=$?&mJP-MB=Pqw`p6MQ^$Q|U|=*rzbAVkdo(V;8TF))WIn#3Sm;^g3zi^XiyIDD{$KUY)e@m37WF&p<--Afe06 z?l=&kOpGqg6)2NqaHDgs)F7U+$b>X~Gvsg9D(TNk@Q`Em$~qOE3Ido=&;y&H(isr5 z9%I|a$yNCqvGui{`GlON^;(YuKagJU{FYA9v)X!RGODs=gcSS;2Y+d}@>l|@6v%+z ze=P?qPI4WXlP!JS`SdAqPlpnnBgEbFA|kg9-OQK!J+N^UfhZ*9!jd0y2xDFnj2lpA*eJ&qA%-g74x6vttrz5WG z)r!2wo7Di<1y}{3zc=(>dsV!@o_kXK)u9;Y-{Qn}@#jH&m;UVC=0>N23fYB~40WTt*R3|VFDGRj1Q+O5tH&d=OJ`d|3io}4#e0V+ zvT>A#28LZT)+i&lV0<=ZPnfOm5rZHOwIH{gMn}F`k{fiR^OAh-u@f0Vf799htq5sy zlJNzR%mLDyvZ{uH+~~}f!Hct_MyFijxMTk-tMWtMv~QHf2fG2}po4HNHQ|y8^IpKC zwCIk|$%@!XD?8zQTI=b+-!}8=_)c+&TG{Dw9)AW^`ur@?(!AqVfG0Hc70?@s$M?G zNq!`f2sq#179-+8;n3o|_-F(XkU{5ZgXsU{?AI!?;puc|R}jxoF=*L)J#?$%Dg(EZ zdfZOxjKF|%CX1?^S0_hr<=11pbLSl79N0A{?BMHQMjq^{a}I!RQML!rir^@Aelq~v z&RMxUIxK;C@FE?sNZX7jTqQ73kO60gLH2)A+o(-#s>(ivER_IJ71ID~8(}SKW*$aQ zBX>GQRL*PA);5Z@F`TgBA5=+m!G;DW6P8EWkQT8)X1-CgG`twDoQeEo!)2ECB|PIk zOFKq#w9nFZQ%hTOY}f6xw9W9{rrL_g6U3s2S(sTi4M09~w`wl(Ve&?^`6w0B4n8V8 z`CT$&$%T5kh*LVw)|eQM!4I98(P0p{<{#y$%?CgL%vj%H{zi^IQe^v#>SUB!`&2}u zJr9XSl=po~?Oe|mX;Oss7d?51|MPhz>K)ZT__pjBL(rHa+d15O5+nOI#n2!fzA#^X^ywv0rw z9#!6eu7hqf4}(PvTVGvJz3xH{EyoCl9s1UD43E+=UY6xtDx>{8%0cn<&R)nh6U`Jj zWj~Pnozvm^$Sqc*xiu8?APYAyv#hlbvf4XLlymj6CU!0^efH;XL2V9vk!1{hQs+$i zrqj82fn;l+EH^z!zm_{<&^gdu&&AWYgrSn&bMdi%5Ct~E^^qyRlS6Tp?c%o~ZCu20 zbU)fnD>9%sJpmAx{qM}h&6AfIXy(zA6=~AS{V*^IWKZh<3{LIj_r0=v?mfjY*$owm|%zMsyq+V1dL8q zc3_qCq!g=S@h>Dw9fgD#4+i_5R5z-mAjpf(1@WHM}T@~(m$Et zq!dG;Obh|XIe*0+LgVbySD;nQ!#a~IO$3eRRz?-~c_FznL1#_@;Cn=g8M6FC@!2WO z|Im8YJ7sSo3-!N+i`olC%wuTadSk8Ld0XPo3;s)qa}o}lL}zVZf3Xj<>`!?Y-P=rS zxJ#B*`LXjNntV$MHOZ<90KlPxMA+B6!6q++jZW0~ameDl$1lU_lvJw(b1qIMOO|#{ zM8s1O5oaXoDSlSv7tZegPy$`)Vmam1|T0>;OxyK;Qq;bEVG`8wV<9<#W!5Jwj4Nc2I(`rJ?Mg7li0u^cd2o~)i z?maQI6nQ3#M>rVgmo%n9Nn}GeIg2ZgANdHUFmmJ5J(F!dN-;>k@@+^rTckyZ+uha$ zg7@5Qb$_h&DJoP8Yjxh2c;u|_cJb#J66G&s!|GPRQ$oqy`#(>(jTi6(Mzv(HnOaun&_^OWDqfWyAl>f9^w zi061G`EU1J^SA$BcrLzq4UTxO$?1={ZC;6j|AEcx77k?6R$HCxB_457eDk6%``f2B z@N2L8BfAlCJ0<@uJ0b49sJQ9}zDj2A=Yvq;O{j1TxER-NdxKiBLp3_V z*BFoNEd3h0QouJkCxJ&AWc$w25^=uHRxR2zo5#qY@3zOyt9K9bo- z%*zFK_oDVbs)UN=`+lrsR>x7gIfo*Q(dEUAv{5?^L%Gw? z_zIPce;zay<-6}RY?d7DtHfdy2i@8q8vlTWlc+FTs}Q$vs>cA|$wQ1Ztw-b`#&5-q zX5n-b>Oe1?hVmZ4w&lHW`tBa_!Nv{?r=b)VwQ#CH+O%wToT$;|e{kUx)q7d5_0r<8 z(zbgdH$?VCILB#p?s=6)a3`e6xt6ngPEjTCFSA?Ic(M`biSE%Zh)>_-dCGm7m~zkP0a+Ze>x#vSDCHEjz3- zp7@fs!N|#0C+}6pQLf^mR~(;xOlhouPTd2d%i2SahB2csM(xFSh)_M+pUS%p?*E+k zJE?cIQ-El6R!Yx8!w>%jy;dd%`hKAM51KG)CuX~i_mI2jg-Y2T%c{(e+KxltSZVx}7Bc{Z!~nQ8@wANQGR5N*+AraGD3_`f_;9ejIi zYh)`dMH^Xay|Y8#=kJk8(j ztdYGaP7B}~zI#De;`V+EEtkCk$~oIsa{BFARrBF1$b0N1Dn&sU3U>4D-Ek3F$kJD` zu<5kB9P6-2uzy zE<2@V8NLU#zR#%A-raO7BmF{*(T?wyQsHEPygf>AhP4m5iZ@+vm_qX)5Cuz zSI3@y0-4%-`X-EoOt$y*dx=5!?xLrER03yhL{DFjo{ri`-)MR|py}z)>Yh#ndvc>@ z5(gsVE+_Rh5%A1ZO(({D#>-sIeas%>YOV+2S~=hNBsPM$Q5ai*uAjoGiDFD4o_ zgd-H3wl4*_$$9fX=;?3hN4FKwc^w+bI?VeysBChc1r-yA3ca^p;gsBrbk)j@QN268 zy>~-p^zOs|$vkN9?Y(=W)3%dHJ~3YJJYP>CY!t{a4y^z!c(?O5&90Q*O*a4y_n~(m zMQin{ZskVjDI*7YP48asl#4tHa!l{OB_a!1)<_n1OB83^jNV;A(*$QH)gY^w-tBth z1Rs=#$ zrFXUWq~o>IngSH{dui40HAXq~fyJ%wg1B=5C5=o<6nt5f0YoH4G# z--Wd@M!S!iP4%=ykAZXR821=8|8ygW95qJ^m(DR%;!&gKS?oqJqh=zR+DFYIme^s` zyhL>9deqED6RAfNsY8d@jHX#{Moqwuqb3m?HPIZ&B;6SqcR9|hRF62JCrez9nw#PD z1}9ytv&(+()U0>DG!;TUc5kB)j+)3Y4#NS4huzNJ*Cd;x z&E=>G_hHoB&D#}5P51!|H@B@0JQ6ldIwQL`sM zAk=O)b0Uz@!R-St{#{JWV}yf)WW6K%ta|4G8gmMS9CnbzT%Au1BQqaVr5PHll(e(n|FrW^_>9~r6)@} z*Di%_YUkQz1R|jLPqJ~z32z>v_@*Nrx;Ef8j3n@(jKGSuVUSjBk+REYwOot=e?Bm{*Ki=Ok^#CheN9G{ zLCe(K@ME3H5$1Jv;VLs{*KE1Sq3;}c?TI{(fM?YfF|_>rmO1XF+!`q*y}~d{5u2P+ zDT4C`D<8aa&YAOi1xn|fZ5nuB745-IhF-=}wEfS`uKSFCeKzXv&t_B>4r$D)ym|;W zdWP*76Hr;zXKo>=%p1~_1)`Hx86MJ_QF+Ob1}?<2PW)~{<@cGDpJ#0QE-|z6HD~H| zC~57#!-tRf2mem3epg^}<(CuM4thId^>$yzX)UE6W>j4=1pT9MNJ>^!-jG3Ahy}8$ z!b65;Rb4#<4|I2o+iw1jE@vvdqk-EWgdQ2I_qT-){S*F_E&e($kGEgll8nFGTa`#c z`6tLKe^D2`7#2!}{>I*cm2-!=(ia%ES4AqMRl9<9n&zD!nj& zNq$kdY;)Q|I{KA}YL2=QrE`pk27`5zxD$7}#zp$V%KQ+8O zOrZ!-A~K5#!UZ|u{Jg;V<@u#60@IF3g91?b;U>YUOQYGQs-UVf>{%7^u8ZgD~0g8b4&Ds$Sb^eO2xR1V4+IZ};LW71SO zXF*~92n|N6i%J*5V|hjS3)F-{WL8s3^B3e57hI`Ek5(hn@ZaRXiG*s>jPwb!(gU+5 zOw39T=~KoO_*^}U~2kB zI=jwt;^}H;#`FuV(ZmBkQEE3}5b$F_{x!j;p2Qso z^cMh=la=~A;84Ji05br;2V4x8@>E+}1>i`)jewT`)&r`|$PYLkFu9jfd4NL!lb%L? zzyKislK5P}3c%|CHv--YSPytVpaWP7n2eKd-vJy7nD7kp1Ev5j20RzA0&ouCM!Wr$$g*>;84I90W$#K2jpKWABfSn0`LsLjev6i>jBpQI)D!WCig`?z@dO2 z17-jo@GSBJ4hF0MJPB|k;5fi~z;gi|z=eRxIMn(Ez@dP*17-mJ9&j<>61D@M}N^a42qf$vAm%D&SDSi+KA3`~~1*zy|><0G|Zh2>4gPdcgMp9l$ogWSpcv zwifvTF96H{%md_KS}y{u0K5)xBj7!N^?(loI)KjrCZ{O%8sJdC?*TIaleZ#2U;wZJ za4z6Rz*4|^z)C;|@OHptoUs2O;84Jq05bsJ1Y8XGHDCqc8JLxA1S|!t2fP{30sJ*! z@<64&0~`uCl#@Hak${T<&jqXiTm!ff@NU3*z{dd{zy=o&~rOa1~%Z;FEw3;2VI+2O&S;P{2=RP(A4h8%>Ucw%Y+00&WKU1z;oK=YR_Rc`R13^8wSaUa0`Q5O5>ltAGuF$71WG6>u70 z3Qi=r2XGwV;n>NV4|p!%D!?${dcgYu>i`e?GwcIA@FnEKpBowvm1ylau9u zmjT`mSOd5ja0g%`V86e%we1I-1~>?R5T*$*2sjc`y7_>mfU5xeVIsN_a6Vu?;Ces@ zunsVJFzN$vDBu}f763YcC4d95YFY2}y!8$E6YyKW zRe%rv9pwRT2doGD1keF|xe<0Af%XHK26*&t*a?^oSOQoExDK%JO_T@7_k0=wYXSEI zwgC>pS&qm21O5fv0XQG<*?*#50FQqQhA znBD~c0QWDz(4@w4PX%PMZo!h-vX`zyx<+wE8t6j^?<4GqCEhn z1Ew4ey8zPwZv)H*oVXYD3iv4Cdcc$3Lq5Rd_mK~9IAF>#7!Lr`0B-=y2E6nGDN4dvgoc{v#0(jY%Xb*s&eg*#k z&i@+v0?IrlGoS}TnQ+$K__Do*qQwqf? zG$l3YYLuCPNWYYG`VBg_f1hQ^tJK+toqp1&A@GFenGBc=oiK!Ag4ZwQx`fI724(h> zBxNx8uFTGo5_%@CPYJ5TL{kpwEbD^_L4_euCE=%KOgezGNYW|)E6{O^aHZz~-*aM6 zY;nuK2K2*0#}MtBe*^HTozQoH9t0gt#x?(5;1_^?q6a+*{=5NgK`2XwFYy$1BJLHF|S2G9>V z$Gd)afIbm)ulBbW^g__R{)s1oX#2_mV#u^tV9wlAj0q*PtI8>mQ_F&`$zA)kFSd(C2{e zX+P*!f$nKP=#`+4^N_y*^lhMHs^)6n4$$|2-rIw|7xec*_wr9tPpm~cp$`H5;7srG zCxbp5bkF_|`a;kH9{Q~T{W{RS{Idb{TS51-ZwKi2g6?JCUeKTHgr0=8^L(BMq;tLRziU8G1>MWO4WN$$-OIimpl5^bb${3k`VF1rPvRayC-fnp zKMlH9{Y(bE9(2ytFx14|AM-%p1G?w^5A<(4k-q`--c!Bv?*RQI&?kD7zZdjE(7oDc z5*&X&=mC%XLqLBHbg%JgGU$H;eXd9TJkW<_dEdX*fIbIw09XHQ0AT^>p7js zSNVHEF9O}GeI#LTX%pyP?PCb&?}P5uJ|=_SW14sS$OC;4=w9`^2J~Y<_p09wppOUL ztA2NY9_}RnUeIssgr0=Gu??UfU{Blb67k2fiTU9mXLu5B&)A4WN7V)4nk9d(cmg&5tzo zI0f_*v%A(~7WkHfFBmJw=n)2eGw6X>I?}Y`R?r(kpWs1%9P~ra_nvRO2KpJGd)c`U z^xHu9vh$$+m~Vid7h8Uezs~^QaWlN_yae=@1_afav2u{6omYe2YhX}eYp!E`Ax(eZ z4f;aJ|C;m-kH8^ZyJOvbZpV7x0lxV&gX#niIeS6B9`vhX=`r^7#g0J2te`qSmJey_ zdkW|?LHF`o7U(|(eR^#EsB&mm7<_*L-%mT?V|jOjFKc#C4U6S7?dVz1uLS)>5BeU^ zH+bZy9^ZogD(K6Z|4&i=jnQ`qZhYrn5L920uil-H`euP|(uMBzKzbqQmx1o(zZ*fX z0sSqOv)8+v$H7-N$Ge=@K)(}ow{ob*KG2^BeK^a(FVe0MCHk^!q`-i}VA$ z%h?OQvn~#*8RWw+S`PI{IuLtupa&VpFP1(8^ajwq#_!3Xw}L*xBYz&~$6Vs>Puj5t z^g_@dWd6gV?8sd0zcHy=MtJJ^AovE&b8qjI^AhM2K`*DAQ=;TV`JH_Gz_%HE-;i&d zH{ap7p*?A_JVYz-lneZaihOF>F4Mf^y?1r zeY7~JEf$nB6^%w&BN1%6hUt>90;5+>?mvO}0uL?oG z3Un_$ZUp^((7p6{5cC0;cReq84SeO`3&z@O^w^_qdS- zdI)s4_AB;-ego*ksSke9{-Iqrg8mHXuaSPWyB=ac_Fx`jego`lXzFDA$K`-F_>WnBkG3&K3_};qKTc2A& zzw>87bv^YdiINl34xRBrRp}u=SUk7>`;z{^Lw^!=>E$DTizfAf@?{bD52|3rH zzG>IiD839`Pm@7Ea$r!sfR3H?wwP1i_Nm<+Xl=e;r}&qs8;wLHmZ{rJqTgspS>mtosoxq* z@=5+oRiX<&@MQn1J~ht2(Wf#G`KkKCunZgwa+?26pGxqB0e6kM0_i_ca_6>n z;gbP$>SX@~zUBUv>K=-N$0!qyjk2@vPyA!mP*CUL2U@&W`f8K2)a9BZVr&=swfR!U zBgYi~JT(LGYTO`MSDol}081Kk$U^md>sPC&_+pIjq^ZX%b(in3?LPH1Sw8cfh!>&~ z&fl8kt4&1u!=%A${pt}vqS{!Gd>=61a|!1^p5%L!`F1A_-j}3q?U=94H;jH6>e>K_vo8Ia- zz5JVdsYiM-es6F8o&D6$`uKPCRln-vf4qeGIVzun*e=m7O-ivRf(Rhz>29|ripAE>?`;Qz%yb;Cf$zZ~d){vh?@f&PCUsNOh` z@!Est{A!+h;$Z(LgVgSW{rCPv?LXLGb%*T-*BjU z;ZVk(Jj`EtxT+lNzk9H%8O-?44)?!)gnIpOKi<50!DZKvc6#u)!)HkR2e?ClIKaBA`!-#K5_5UkPtsU;) zH(cF5-2aE+YJ+QKR#7`Jl22hsp@Nqe{ib*nbXuW9?YO!c!f{55B&pP%9X_ZjNlGyHXDsi)8K?+U72XZzngTm9{9 z#_NLqTPCVoCiowipzfQ%_>B|&Z%@OT5q8hDO@7Z|wEz@-LWXW(rHK49RJ2JSTQ4FhAH zGG)@F@qwW;XU|LzWEB*ZFF!FbI(1a)=)lE`a&w1`4viYNpfsl_cQL*RTv||uZvq1& z#*94e)KT+PaaqZ-MeWi~K~%Rj-C~+dc_+2AbckvG1av#ipJMvU9UZvZ6GtPOpqAlU zg&&((D06zKESy(R6e=&v&jUiq3oi+ZLeua&k4&M$f(5yu+_Lh}!h)g#RnQR!RG1l6 z8Gc56S?Tby z(%j)CIk}hP1HiK36K7{;O&-38g%2BR z6~GzEiM^QVjk5(KdL-$R{l2e&^R4mO%mYp4gk{M+d{2;enJ-{)Rxq&Y4g7j;BE5jS zvZpbbfGD|Cm?b0EggAolw33Dy7E&-#}kt^5Ep-k`MHg zIKX#YzXSUu_8Z)floSl+2}4w$K4$@iS}{>H_#_=gjf_@_{l@n>y-((WXZKC$jmkJ) zWgghIs6!&zBEk|O*Pp7+?yCi!(3dI%DKga;gY4l$5k37883|A{xm^>uvX5^zaJ_*` z*4mM!Pk-1#?fPmZ5AgXi52UDmM?>TO2m4Ow%T$VAOc>BE@a(>4^aaN}{1O!1@AG}r z?*LqV@H}t9KG*(*ZfQCg*;KCt+ba|6lrJ$Q^{k`M${Lc`FHpX8`Nin;KHst6N>JDZ zjW0m4tEc8tj=CAY1lbLb(?fbPdM!FQ20+u-hm~Q38CJ;QaX3cD;RQvxh2?qq_@J$D z;jnhO7>x4r7p5-ObBbOGw(Tdb_W2G=y!6w=0rw^rzmYf~IhxWuxeCl#o?^b)A>|-Vj`T)*U*~=+gY8U}IvKa^+U+5#5MN3M%8SYh z78T)3Z4M)4i;GLcZYUCCM&U@t+{HPiN@S6XX*{%6w#r!sA2jXc=+`AXg|%`Ab!baaPbk++dPz{0@UlRLkm2 zv>n)tvkl6pX4~jZ5!9va{5lq&YnIJ*LnIeFNrw=h>wKGQtzq=3OFCph!XmDUu*{5Q zIm{r28fc|1HR((Pc^_p6$`y~Q42%P*Wh<88lXsO`7B1Crv5lb-GHRD8gnpE_Y; z=CCln%GarxVoou!n|Sl!atR%#W`h*RchXfB8b*7T&gKc^Gi7&>5vG4 z#={Gk!Nf`m!zxu8Pii1`&`{`^B!GEM^2E z(fPv(K_P`re!DIaBrdV}&j2nu|BVSjVDPNkU>3;Tq89x9h}ulYhQ}%tznb z{MIiyz>&q~x9iTKra-&S1dD{&`YQmIYdo9ZuIqTN0z-xd5&bQng&bVCX0&O$ZcL$3 z2qhYb-qh3TZ_tWE9(`%^+jZ(HlRwQc#`@3N&*3>bzg_okGWo?h;9-8u*&^lJ{JbsD zCzuXNu}e0V)EO43a3JI9AX&_wC&cS|9}X~xBj<_2xTT7X%T|X5nF$c#pF+`3JPOdmFCa0 z6{nMN{cjua(dFNMb5J;M=cEpy?@=1sYi#*{1|d5ChDUV?-C_|I_3*-AwJ@ zGG8+8-=g!!)_-jIdt>sa)av{xwK~78XPs(qe>UBM2=%w+2TcBe$sb!@Y`PVB*>-Jy zyH7IIa?+JQz z{z2R33+te5I)~LWHor~t?={jUYk$z>A8PUsrSPZ_h>9~h5OlJn#o%rJ(_-*eoP~ou z^5<;R8SS`Y#n^lnrkebgZefYZKi?t@jP=Kv9{C$g{!mPQuy+XOdE_7doMsyt)Bj`h zU*wTLXNS%|DkeirQZ4exf9vx)|B*2nVv?%NBmd@|I{zFEB3Ik~En=0)A6x$^yEMna zF$LPBg;gfMm1p5`^*YA>5glwki@VJu|FJJ?lU~K*Yz}vPT&01#i^K63X5R;U) zA5+D`-uSxCRT9wfB!G1MtpDt|*b6wf@-x2B`9_Y_&|YK9w|F<02<^rt1mj4FxLetI zW;8Jon%MbcM|=|IgTZKk>|+vJMx5!ug=&XkB*gq@#t#3w5|@9K!}rR;pFBfht? z^Q4aWKFZF2I^z3A_VYX94~RUc=!oy9>^!6+zJFvRv?D%6*?B`pJX%*}Fd8NCL^V*^ z`+PJpQ5~r4{ktRnAZ72%9q|W8?zbKBhbVg=?TG)0viHZ1_(96v_d4Pa#eHmkG)m%$ z{F1ZI4L?}f`%iSHM7*VF?<*bgM?@zh@kDiGBpw|}ls7)3F*=^80`W*-66M5{cv7N# z3F(GEHXbQ*hIrtQ^S~ePfj=P*&;Fc*W7^{g9(ax)Zu|!VpP>3jHp;C$ZBdHaUlFt@ zfvLE<$>IIlhcEW*JkDmCBKY`r#Z3|)o|?tBs|CPQpR@r%#M;AhM15!v+0V@vq#e($ zH~2XQZ^y|R;3;Q)j2tihe@`_D23qikl+tg>&^Vu;-3|Ky#BoXu-r{Ce)IDG zTi|!|=Lbg4OGf`Qk!JV_45uIF8+(zIa6BR`*FLX3*x<(k?hmr0jbsfLd*H7UIq~De8sGys(I>XQ;~hNouKx1=FD28z49^%mzY}A~lq=rhHF$pC z$zXd(0&c35!}q5dtemk1&+|SQ`0h2sLWAcyIt=6GioI>%2by>^*kbtk-9E#~a>ZG3 z2G8$f8S><+)NI_OsSm$PWUzW(Yw-L|kKr!4D)orL^Sc`cEB|AI=XbRX`ij?rlic;p z0iNaZd<6!(oa31?#Php-hJ)maa~uqw-xo7XkSo?We$CJKp&4G5t5QcBJinJ?_(rZu zooeuW51yf1uK11u_<<SHZty(6fdNSgNqw{&p8LaK{d0oB z^ZOBoxpKvKjRrq4rXH^__#Q^SZ4b{FJih~FSR_|GrUiZ=cDd|)GR5HkW%&7h5`%3& z2laLLPpSt#(*s`wJnNC?G%(oy!t+^)=lN>U`0orpZ0eWagfNUfK=bo^6b3tP7Z^Ox zVPdfDWi0D5tNOWX89BT0V4x8b8x#C3#gTMdW zpkS;%R~kIO>tV3?DuZ8O3;CUVv zgKeL`HF$o1$S_>4xStw4&of}qSDd$ZFzD^LJXegPcU%a&#=qjdEOj@9k&M@qRZv?vJAG~vn<~5+wu7dgXj0=3@6JK z-wql)&nsjYD_6{g;iwds`D#DlX)nKPX3$rh$7k^TUYWtlFEe<4r_NyO_dbLFY(bFd z$b6vA;Q2i(Ly2559vD2ow`4d+t~f`>;14nP5nFDLL0ZpXO#468;Ca3#1D{7S%rSVL z8^>V%w$|Wz9uUJZa>aQu2G4WM7*3Qc=931`^D-DRF(x!Tj3b)uCEXp7X)* zmRvEvHF$m>%wYXiZt&}_(|CS^$8d+i^PC+9eZ{te<-b^CEdFzY=Q)WCw!a*Mfsysg z^I;gSk}K8)z`M2Q-x+?M_r`#vghV)&a(I3agRPfw20tfDgGhgz6qNLMjaI`9p68-6Sbee${@12`ekD|Vhi>pZmxke| zaz($u77XR{yaR>_az*SLe8Jnx zuMI!Xab&Ri@O)|dhu@hqESD?h?NE$(o?FXc>*ZvF=Xs+H)(N}=XWw#|6~O;{(WPwwo|8?)4k+z^?#a{9LZ(JS@@_K0MU;=ca1B_5b?@ z&vO$P?w2dpktev9y8(F0UufEA!0@*iJkP;ku>MINs`+^iCIhBb62=((ep6rQo)U6^ zcWcjA8GfD<#K5zH81685p2Njp$L&F=29sd%nh7{tpa(+Ibpp>)i)K-1I!t1Ah_ltY4l3$AF}SD?Ipr zY4~}L3d4hPRcfoj^PC5U`x6AH!Kqq4&zWH0SrZJ)4W8$!GE9^!0q#aXg2t~ z=^C%E*jF5`<@5X@hRfxOeI4NGhmw?_!Dz6>@bkQ320I=G(%k)a7Vz}XWs@{Nnv;YD z2G8@m7`Dq*sbvr^zxNwF&)HNc6M-0~9 zOGmitzZ`h#&%YnQ&`+*PU2E_>$ByA-xhnN1BWHb#-}V@Oo?pmtzFe`+9jWE>+(HH` zXBhAU1=H~o^uW(Ca(GTJLqt!5=lN$0cK%aq@I1ef;cL0#?k)(J`QZ$yaz(iY&vU>S?w2dt-56ai&r4;n z<>nha&#hrVbxT+eJm-Nte}sW&kTCp4@bS;D|6t_YYWmB1;l>dU2G8@07_41Ma0uHc z&rxAO^OkV9!7qsMzx{52uMqRqVSGZ6n^RaATC}9N$h>zRD$UO+)SnmSmWIp1<@hsm ze0P1)tm!jCS(!6ug+fS8?vOfnQWPn#IJBs+cmagS+r{#i%<$%LNnt+zSX%1X5o1nM zB!mj`mLoNGgwn4p=any6vci^=K5eoTbIyzj=cR{iipAJ?dnxiNvy>9fFT+O>B_%2} zcl3x5?Fkp;${X|r_$zBy%3pyC9a!e2hHdY<}(}(75c+-o(BzAzO*k)elHv>1 z*4J~VO`RDYtN;32=FGC0Ik=>!j~I!+1DCrvKlk!bVSZ8ilI*FdfVtCVhC#SM{!(0M zK~7nIdxps))0Y~K5&Tpk6fVsv2$yB%rk_gB=alBBL&nUJp(W&sD)O|*pQK~aX`vrc zcDqja`*MYoM`%qtEn{464n8d_2(J*{ncuc3LQeSMfu+%a@NhH54i;F2&!X3l-pf{v0&Q%C+%JlO>IXlWbWN zLo+9svc{DcvC5^P<>!fx!cN7~LbKZSim%4_N|-b?%EuWI!s@RdN`GSnKsV;vBwcTtf!<#B)bV592@{W15PKyYIb_rNL; z8Nqno)Mt3Nz&4}He;QkVw~OHk{Poctg73~fLN-neB5>#3+#@E%c*YXUT$v5+?>!dz zK@* zB_Mo+6z&msKyHOxZeoZu$Zs#rJq*$zL)@-rU59To5gp8?=26gfNWak>`nSjtH@oNV z3$pg&e`LLr5Eb!q146t$qRW{uAxd4Mx(@8wl2V|JELV3qExRX`@IOii;uc~UPc54k zDbsD=Qm13GYJUIebKR8kEhH3iMtvJBVm!b+;hr4z$r-fK5)zdY26PRK$*RV^-=L*} zqdaaXr3(fojbWf5w$$G0qTqEGOeK(h{^WLcl;xFrKKxp35Ss1PPX4Xo%Ju|M@>c;_ z_mtSf2#B(aaCA@!&_Xk)epX;V{|vQ-Z!|Xejz4)CF?ud}JInL1;^VesC3-%E^Z`I} z)Ujr5)}*gQvyR2-04Y=?^eTwIc@;7^Ke?!eCpUly2(@|GnXr%uy^bcFOctnfp4tcc zH;pOFD{%Xeqf9Jz&hT zI~x4>!oM!U4wK+fG!7f2hUSGK&zdPb`JY|8S#OtZoy7Pgi6^sAPCX^YCScGG)%cOz zG8fvDV~|ZI@TCTO66j1m-go-O)d7_AE5D|0YH|t4FdRO9-L605YpZ|-8+Igq%Nuag zgLN`kzso{s+wHFdZN?ULT)wkhvWvsL-%Tbo=Jp z`Ysly1LZ65mvDL~p4RHr5JRT~x00T>L`wGU_mY7A@# zeEVZWvC}L+o(?>+(vCpBv~dCnYf0jw&XBk4j{~ZFm`RN=HR#xl_RrT>V^ohDiC!r( zD9+M+LO#zT275+lM>_yq(v$DOtC#pv_;R~$W{XAJbz0Kn8}ENt=TCo7O^>Pm9Z{mF%EtpYOt53ls}Nh#)}N<)iu5L zD`A>96T523p1cm@*Z{{F`@|NUD}bmRi4B>UV|?Q9^n)uY!cTpK4_xb-2I^VyA+wf# zCfMZ9N@d9zdefrC%%XeL9m*xZO;Dmb=>|Wb^G#&4F5CCfo+rjewLUFs!_sd1ZDI$4 zbOC@ZtATxUW%=0cRx{}~gPGngA%HkyWfA3}&oIKbEDZPbi*5?g}!<3Kfr}iIA4!pgQa@!46O3mY6(?2_u48YH0 zhZ)7}>l8@<4D>QvJ-5}oxrM6%%^BbrkMmERkTr(VzKJquDWVoO7$p}-XL!W z{|Wqe0Hn7uzv@a7n%$-EO}92(uDK?u{7Ds{h7iP|08I1%Qx!yTbj zz-rBUt}A2wxp2!j7z%z0YFi*fS!i+|6HmvzA>t12K$@*WA~fyxp%EN0Zs9wAQL6uJ z^U`I)=!QA`9aUP8XlyE)hCm8o-5J6shcoX>J5a?$;(S3(8bM%hmh&8IGM$MDA^14i z6WiYM35r3YNs^Z$3@BC2Qmztm(5n{|>&2;%0AO55%V=xj` zf+WZPih4XH+eK9k=+h`~v)7La*@7p##J%}!YLJbB?-)j~>VOl2a97k%f^eVmY|-eo z;i}9=eZ3*ecpVN9n|6-0Qd#v~Kgn#>g>#x2Q54L$+entavIyp+)_rl-{7|tZA#DS z)q5H-=`b8hgNyc`=h^D$V;mTnRC8`7!K;)!kZ{ha5Y7pQ+dqpuk+7&KHGzV*x}xj~ z#SfKs(LlN60!U2)KY9l{Hi1OKoicD4fyjW^w{VRl)PFqKu0s81GX*{mMmRdaxO}<@ z>Qjb}uqPk>q0l&l;?K93ukbmnbl{Sa{>Zz#S1NLrp4>2{tH#%UwNEU$6zre9@#@Vj z4tJ3~lWQ3%McJX7n4E?Q=6|2tuiwL*<%q(3lodVB@c&X8kpEO{-8MB3g2;(Z#A$|f zubbz(C;>+I;hth1^Ceq2UWShls!<5Wz2)Sq?*i>jC&dnz#M+fR!;!4%8g)8wjAgmY zGhl@Ge?6&e;`?FQQX#xYSgqUjV!aD-<7S{EfujI)8pY*$({{dl1pbcH%||<->8N3G z_wl~o)&-ukXFIQlQ0WVy$i-=emESikZ>5=$PsGrh9Ch1pbRa$?|MQU{*NPoL$e@tS zhTWX957?WtK{;Zm$&vIq+&<}mjy^2JOr%*_#+=^7hvbY8R8 zRMhjx6M)TXTF_N{B-Le;;4gMY-p~_u+fv|A-~ck@`YLUXGQ{}+U>W55$SrmRZA}3# zD^7%gmIv&9yGmiM$LNwv&CL<%`Y2y%*xnRcBtw2`TK)}lX)OI{r^dE@=L&}Fc&-@l zvY>d)0-Vm|@xhusge_22?uDDenKYoA&LzISHaq-I{C0zHGdz87UQSX9s-F<&QYvr_ z5y}QW)K1k6)d1&o;!b#p+WJ&i5L?K}cPvELoQ7*~b|Zn{@0)LrAi(>!dtSHr+wCom z=ATeW;ZkodCxw5dbQ`|VY&+Pw)4|c?q?^6858IEAbbiaQ9Yr2(37GpqcLPYJst_>j zLQW}zTLGB&M(rgP_Y6{Ox04Ea?>V8OZIdA~4N2WHW*nz=4n80?>@E$jug64;n7X@%-L^6kecNTWkr$?4{N}y3&)ADO@P5u|Rfe+V&n8 zDXoE0w##ndeA=6-(>YfDx)Fbwi14d7UHJ*-J_6A@U=xxKu8HHtk%8lKwp`wCzr_+P J6-_Tc{U1FP)=~ff diff --git a/savefile.txt b/savefile.db similarity index 100% rename from savefile.txt rename to savefile.db diff --git a/test.cpp b/test.cpp index 1b99116..726d10d 100755 --- a/test.cpp +++ b/test.cpp @@ -44,6 +44,7 @@ int main() { engine.createTable("table1", vec2); engine.createTable("table2", vec); engine.showTable(engine.getTableFromName("table1")); + cout << "\n\n"; Attribute att5("name", "VARCHAR(20)", true); att5.addRow("Yrf"); @@ -63,16 +64,26 @@ int main() { engine.createTable("table3", vec3); - cout << "\n"; - cout << engine.unionComp(engine.getTableFromName("table1"), engine.getTableFromName("table2")); - cout << engine.unionComp(engine.getTableFromName("table1"), engine.getTableFromName("table3")); - cout << "\n"; + //cout << "\n"; + //cout << engine.unionComp(engine.getTableFromName("table1"), engine.getTableFromName("table2")); + //cout << engine.unionComp(engine.getTableFromName("table1"), engine.getTableFromName("table3")); + //cout << "\n"; - engine.project((engine.getTableFromName("table1")), "name"); + //engine.project((engine.getTableFromName("table1")), "name"); vector cmds; cmds.push_back("CREATE TABLE animals (name VARCHAR(20), kind VARCHAR(8), years INTEGER) PRIMARY KEY (name, kind);"); cmds.push_back("SHOW animals;"); engine.saveToFile(cmds); + + vector t; + t.push_back("Professor"); + t.push_back("180"); + + //engine.insertTuple((engine.getTableFromName("table1")), t); + engine.deleteTuple((engine.getTableFromName("table1")), 2); + + cout << "\n\n"; + engine.showTable((engine.getTableFromName("table1"))); }