From d38c4d95934f791849bf0952a1054c96cd772726 Mon Sep 17 00:00:00 2001 From: jakzar Date: Mon, 15 Apr 2024 10:02:09 +0200 Subject: [PATCH] -Added garage -Fixed bugs that were causing crashes realted to mouse position out of the window --- App.py | 13 ++++++++----- Image.py | 8 +++++++- Pole.py | 7 ++++++- Slot.py | 6 ++++++ Tractor.py | 5 ++++- images/garage.png | Bin 0 -> 11704 bytes 6 files changed, 31 insertions(+), 8 deletions(-) create mode 100644 images/garage.png diff --git a/App.py b/App.py index 6a994a7..2a7bc1e 100644 --- a/App.py +++ b/App.py @@ -74,11 +74,14 @@ def demo_move(): traktor.random_move(pole) def get_info(old_info): - (x,y)=pygame.mouse.get_pos() - new_info=pole.check_collision(x,y) - if(old_info!=new_info): - print(new_info) - return new_info + try: + (x,y)=pygame.mouse.get_pos() + new_info=pole.check_collision(x,y) + if(old_info!=new_info): + print(new_info) + return new_info + except: + pass diff --git a/Image.py b/Image.py index 4bd8136..a924bd0 100644 --- a/Image.py +++ b/Image.py @@ -6,6 +6,7 @@ class Image: def __init__(self): self.plants_image_dict={} self.tractor_image=None + self.garage_image=None def load_images(self): files_plants={0:"borowka", 1:"kukurydza", @@ -19,6 +20,8 @@ class Image: self.plants_image_dict[files_plants[index]]=plant_image tractor_image=pygame.image.load("images/traktor.png") tractor_image=pygame.transform.scale(tractor_image,(dCon.CUBE_SIZE,dCon.CUBE_SIZE)) + garage=pygame.image.load("images/garage.png") + self.garage_image=pygame.transform.scale(garage,(dCon.CUBE_SIZE,dCon.CUBE_SIZE)) def return_random_plant(self): x=random.randint(0,5) keys=list(self.plants_image_dict.keys()) @@ -26,4 +29,7 @@ class Image: return (plant,self.plants_image_dict[plant]) def return_plant(self,plant_name): - return (plant_name,self.plants_image_dict[plant_name]) \ No newline at end of file + return (plant_name,self.plants_image_dict[plant_name]) + + def return_garage(self): + return self.garage_image \ No newline at end of file diff --git a/Pole.py b/Pole.py index 983dbf9..dc7d82e 100644 --- a/Pole.py +++ b/Pole.py @@ -33,13 +33,18 @@ class Pole: slot_dict=self.get_slot_dict() for coordinates in slot_dict: slot_dict[coordinates].draw() + garage=self.slot_dict[(0,0)] + garage.set_garage_image() def randomize_colors(self): pygame.display.update() time.sleep(3) self.ui.render_text("Randomizing Crops") for coordinates in self.slot_dict: - self.slot_dict[coordinates].set_random_plant() + if(coordinates==(0,0)): + continue + else: + self.slot_dict[coordinates].set_random_plant() def change_color_of_slot(self,coordinates,color): #Coordinates must be tuple (x,y) (left top slot has cord (0,0) ), color has to be from defined in Colors.py or custom in RGB value (R,G,B) self.get_slot_from_cord(coordinates).color_change(color) diff --git a/Slot.py b/Slot.py index 262ee12..15511dc 100644 --- a/Slot.py +++ b/Slot.py @@ -15,6 +15,7 @@ class Slot: self.screen=screen self.field=pygame.Rect(self.x_axis*dCon.CUBE_SIZE,self.y_axis*dCon.CUBE_SIZE,dCon.CUBE_SIZE,dCon.CUBE_SIZE) self.image_loader=image_loader + self.garage_image=None def draw(self): pygame.draw.rect(self.screen,Colors.BROWN,self.field,0) #Draw field @@ -39,6 +40,11 @@ class Slot: self.screen.blit(self.plant_image, (self.x_axis * dCon.CUBE_SIZE, self.y_axis * dCon.CUBE_SIZE)) pygame.draw.rect(self.screen, Colors.BLACK, self.field, BORDER_THICKNESS) + def set_garage_image(self): + self.plant_image=self.image_loader.return_garage() + self.screen.blit(self.plant_image, (self.x_axis * dCon.CUBE_SIZE, self.y_axis * dCon.CUBE_SIZE)) + pygame.draw.rect(self.screen, Colors.BLACK, self.field, BORDER_THICKNESS) + def random_plant(self): #Probably will not be used later only for demo purpouse return self.image_loader.return_random_plant() diff --git a/Tractor.py b/Tractor.py index 74c8645..2c0dfe3 100644 --- a/Tractor.py +++ b/Tractor.py @@ -155,5 +155,8 @@ class Tractor: else: print("Brak akcji przypisanych do tego sprzętu.") def irrigateSlot(self): - self.slot.irrigatePlant() + try: + self.slot.irrigatePlant() + except: + pass diff --git a/images/garage.png b/images/garage.png new file mode 100644 index 0000000000000000000000000000000000000000..f9ca1c0e200a573db21fee68709828966450903c GIT binary patch literal 11704 zcmb`NS5y>4;)(zBU3}-_T%2{ji&E)oNNKi_p_UdIOu81RMD5iD5k8Jky0?a;+kQFO?y#u0T%p}V?uPmu^g2rE34oRC&5gLKpR;-}7hzfh15IE9J0LO&SYY6nv zAO11JhQ(sra+Uqt{v2+!j~Z*_QPWBLl(H)c&ib5p?Cx9~&&Bn>l#ElZAxs{B&4dA2 zVvmrRVHX3bF>ToRM_X4d{BYzfFOgi@r=n;)3lL*JcNw-YT!a#q31wVqGEN*JWIK^I3`Q|#P!T)STg`Sh}9F27uNpnHNFaImqR#rKH`SAy1U)~eX{ zIL6d4-QwZuf9Dn4fIvAJQ`P^tO*RJkXDSBTaGiErEZvV(>!G8F@ZZU8f0{{6P2HwA z7s^U4!JvQT!4+C9)+O?`?Q$JX3-S9b z`9Z6ki5yO>iP_Ij&eg^>|Lo@@LfYQkdb#;zBv&7tO$MT-Z)OsRUd|X;T)&cC1Df>kBj*SY=D41bJ zrLlPiKS$4ZOQGF|#~=7uD_D-m`|87yqNI7VYNqPHSa@oz{?K85y$h(*KubX&wgVeu z_#)1wb5)*PJG?^L@ID>PupLCWQnIxxnY-OF6`^qX8{y!HG3NkaUZat|pyijg;k0vM z$9afgzvlw~xpM39M*2o7oQa9S@;ev?NLAazQGtHGD=pK}f@UV&6PFPn3vyK&rzFI} zHh+EY*KUs$I1;U16y4Lqm`M4eR+ZPgmKmkwEJ%M(PZf%0yLSeV44B1bgZkY`{mc@l zJ1>^HQ>Xk(?jr)D_9$slzWQJ~EFOl{W74nazNS6S3l{NlObXd3Ua(SP`in?P>AZn& zrfotrF>p`~ra!#tBCx}y7Kp@{sIkQG>|k$77Vz#n9Mr{mS%yZ6x04>iuZ?_T{8>;1 zA~Ru<-fl=c16yw0;1W^O`n$w1r)^Oukz1G!qKa|W%6>*zmwnsb9Cl^^$t*E*xKpJM zE}`8P@A4dCb#(Nm05!dB5V2;~S0@)^3HmtFBuTC32li4P2`e}Y+%bP4Y3t=KwBz7V zwD`48AD4h23+E#yzyY^DGE4SNIm$lM7~-XZzl{UfbD>cOnnm5@QrAEX%yvikSHGQ; zM{204AhHAeut8pbvE(gGZibI3rvao-|WR#)YwdVXSp&pR!N*UlM>%r)&!)E_^3zjyFi)z@Qn`isB9^P9P?08@+!2TP1f(ZZ4ptJ5pEikvVG(o!m0HJ>u<~ZBr3(U`ipZh5VS+1V81`MS}s+jz>)u!L=DQMjBZ;w_;f!e^0A{I zox}S>d=QXA*BEtVmw((`-wSN*eJZkL#a*St$seU@q7H1wGH?(0&mYRTn7v1yW==fb zUyZSTXFX7ZY7Bm7{`Vsm0HW()`0; za}*{m3TybCk->SSSZCq+J)0`e0k@uf5bK?fNCQ3a_wMD~X%wE@E@@Mh5zctf(;_H_xNj;DrsQKp9vNJ0xm{YFg0by!yKR5 z$Gn`0CPgvIX`eOIDBsteps!!s@3`kzZ}qQ*J=Angj#lOy>@R{-A|TrmS=f(2Oy^|S z%KPUpntB5sTCqyUp_NRp+>bt#(FH*Qs*<@Cn|9^gN=%d$cT{lk8$dzebw-A?=ssP* zw6hbEX=yf&FSvfpE|d0-pA$p$Bw4FeHHcZ5>w3IGGL&U3k;X-N$HT&*DSRfF)t;lZ zEPbWd38Q)8c+LZW?lz*CQd@sJg|4kF&g+AJfv#~yzeNs*FpGA)aW2~+KG&JfM5m1G z^c=u_DYioocG{UzJ#%ubf;$!n;GlL)2Ajop_OW zR!1RGXmUvMPk1b#=vyJ?3k`hgWmR@+gU~2_2SSb^YNC%vX82B3CQi5aD`f}yakl3~ z;g1+R65JSi{gw39h&~P`+&72J5^Y!lOYBVyo+vvCp1A(xn>Z~>mXRXuSp+++7I);- z?>fWoN`1vHu^rzfv*j86hnhT9WK~@SpQczvj6PXYQuYm3^e-uB1_-qSW1=`|wYePM zG;dyLU#XD@nRV*V@pq<9%YRverPRg>%q)*YG=chsMKWR^ z5j`1ou=(<@5FeZF6h7ICNa(2d?_ad_QYM#Hstxk#C$Sc?w-#265G&R+($AB!CzM(? z6wBix{+`XPUf<#3#W5*fyJ!d~+@d0X`Gh2!#wW#%(#!<0aSax?-mK0*n8}myFNH$B zR#oWrq}*2}FVD)){K{W~VuAFR&73%RU-Q29IjW39(^}fF_YY7lJAjSSEd+@dK)YPX z3X?&(aUtuEp6ArT(&W2Wi}Jk&f_Au9vxSFdfGV+QAURsUvDR&u-%_?sSoSCwX`@wp zdCF^pDvZBcuPI;-f|oV~l&nxiX|hQOQ?J~yG80WqwMbr@%2m~o7mu4uiD>VP+jpum z{IJR@M~4NM@gaMfJa((WDf|c;5itl*h1OwAU=)uI*;W3ma$OR5AZ$igtm$0UAbkqx zpbhO4D{(`TX-Dqwi7JG!4%bMnVEeB=ihF0Too5eF2F)Kn(6u(A<{pCWyhe^54SaB; zB$lsGwT9SYZacLxD?Of=>f|p;(p^Syj>gGxVQ!z#Y%dM*7fLYSR?`@NK@#Sj9r=IW z81%DKVe=$(b17?>0kO(@HvIvbA9Zg5DX0)x@Lec^CQdJEX;%4+nBb*(u0DzrWUu;~ zLcN9Jv~?DF6t}lO$<$`7d9urvYUxqBS@s?Bi!Gn-$t^CqU8*Cyc`M7T5)J@eZd>^jte;)4%yn^RGL!^XEx>^gH3tkEl2S}NB{uDtgs3aM-oRI zeI#a4N-Qz!OHVfMMC11!xd^O@bH&nAdPWCpgf3TZQ76}}5oMR-(_v%r$)g!sp^LpD z9$X_!0IxJ>peBgTa0r!41}|)5CX0#pFP>QB;Z!&K%_#^RZ4U|mJu7SYkn)-07Uqgu zqn?7>?$>Lq8j|5J_lq3ymh-hipR#_|$V?sF0t;vG8t*Em9$a22ox7d|Ei9uext(X> zqr``m8bHc&cuFTHE#4!2`)E?sxM@hhoZB%fi}V1fGM~AbpZCp1 zTMngP=C53@a$N&LG+H@8$u|>1?w4djpfI3`i;y`BAeFTe7;jH;2bU|^ghc3r6S`Hi ze)_vu8ujft_m8G@Y}7IrN47p~sdS%^px6AKb@EAxu##sl@Gt>R`Fx44H;G(=FA!Ob z7lmmT8&qQ=zn)b)UCBKTT6Q$fU(>sG=ljjwU2U{p3`v2$Zt8Ukv9E zTm)1}oAVRtmXE9FZoDzM0b+8qJKsW4az1v)Apcwl;BI`ht{MNGkw2vaO*qo6*~+Qy z9<=Cq9j<(K>uceA)2)wiC`GJM>a87`)JW<4dq$iX@L%eoQ|qzpt~Ng>vz(iIXS|Uy zg@{6d;z3UJw3hk)vZdOWfp1x#dd@+b>%!DbZ_oVfVlc(ukq7~reuWJ$`4wqL#j~NW zKpwqIYosDCeHPVEsZic7J0I54pBhuxRCocS1C+0mfdSi1t#U#YA>Z$qI!!@+jAr4! zjGs^?pMpNF?f2gP3IosEqwz`-P-EribmGF^$U=K5IT*(brRg%WiFEM=%tfbSgE@?Y zxIXg#5(~WBDZQpmh0Qd@ z`O%{4cknmmx0eM}xB(b@N*jt@DzD)suTTR48OJbSf5QDETQUG8H%fbtQHz})2;nVf z{D8OUAGDH+1>H|AbQ6^#GBjd_NRk%GBerZnl{iRckB_!{DO_^(!fSli{a&#f(ubK} z;DzJPs@+DE2yBz+00&GllN zQs;K1k-8r)>tzJSG?i;eu=J;Ug`UGvaFECFtq_-$N8@)y8xW4Dvf_^RH-?0n*757W z`m5V6ckIe*&5eW=i$LT*@=!mPyD-y=+awYE5wa_7=04!d`C~E z16{g!Wxdb2Q-Ziu>hPW=kBw=#s+?bUD@FWL6#)LI(^Y5<_^?~NLRc7koa4FSdnQJo z#Ah63lxmdazoOgNx>sJNlm`3g_4Eu5<0tih>5C z{fo5>uVfIk#^|>4qH8yiYL_m?j4U~BcdA4-k4)LU96^a$$+)*ym0t!=h0I_g^&*Qp z`!g+I;tc=nG@HMtqtIBSPL8UPp?4OXnT(E2CbOrI$oyu&2{nPJ-&5t} zlEDR+DhxQ;Lu;6Uls5t=qXW~b2oHpDYzoLWUUK~mvLFT~kp?Zr5YM|*tf!>1KY{@5XbK)sFGXeV4uIehc38z6a^oh3Gxofj0@80UiM70$tZJ zbBlXCym7aSTj3i<6)NI##kWXZa0eFum%5$eS&9?vVDzOaLlFx2ldgxR6Q8Q_rtcp4m~T)T(yv)u**||{Zy^zL!&70 zH#+Jr`yiEG--};|JL_)?utVx+;+`##cY$b~B|>|4@dI{tb2b2$eqhDYJJ0kfzmE>; zVawTN!%iy=-z59^aOo4U)>tAp|D9(81JWHc&0!56%RhHCXDrgW)b+Mjc5%2H>inp2 z04{0u&O z^|o0aEw*{-5;%DjG39Y9BBpffdnu&8)rp#QfQB+u`Z7;7 z5F2s1Um#5P;!fImej~+5O1+X5v|eqTJiK|v!TE80)yV1yxqxP5pl#v>X)8*u;a`=E zb~cgY^Z5V%;rn|M_r>IOgv@O9R_W8ZM0!130Hvwj4f*@AkFm9v!h7s{Ymrs(zv^|) zrOUjUcae5qnKCyjVjoyR)lub#-Fy)q^y!lh--sDW*D`=Qn}sikEXB|5KOkMmNWPd* z#7-TPN3Z(wk4x(-(=Xl@KXPDcLg&89W5eETs&B#io)J##3 zA(K{u-$lrISP0^D&X%J%t0*rRmS5|>guYDtRU!04$cDT^TFv#uz$&Upc2=g{B}w_x zs%eW)Rq%x-G_?~TvddWbJ`OJonjTGK-G7?%J7)1%oL#Ei&uVSf`}kL=xH~vgxwLj0 z9~(9IM$=^UorEsVrERMDr@?nG5pIedD9sUmQSBE(K}%O+1H6;T+uYw$$9^JSi)CPa zTdMoRK*uQM%b3Rb0@I7h$iAZB@Y{Fdqm4iCX!uU6QP}#f{AEWG=DIo7_{ln$(WygD z2v+z5a+j{gt?x(DgAY{X>*zP54Da6OYi*qqhV`D^`I#TxBx45qGSnn}E99&vQI-Z*tia;7pxkpo8zz$@L( zg!CV65dZ0QL+V+If>(DsP<9_ak<3UbE3SH{iV25l{GKaz&FkflQZCdEpYB7oNo05} zx17c@T@L|07)+@h$q7gl5Tw9wG!C`+wjb$9fDb#~@JnAk)wzWW-ugV@L2#)p7<7Mu z!pZpNXo6?a7s-{6f8O5bTC)loYTVjAG9JMDdrljbu^KWqQ(CsOms{~pEk&k$_nq=P zudxj~e2yTfJ}Ua12B)Vs>S9$DN~eog@{uWp_*Rs+8~^4 zrKy;E-@OVOPkwD=dh>vesn6$nOD#EW0BG*4;Q0Fmb7)mQJtd|!?bq@3OwcAUq_y_N zbz2wrWD9i99)%8PlY)|*nv4Ir>L!b- z?+`_5bjwDOf(CzEC)vcTWF+feyAAg}q(o+w$!4Duk}aOK@o?NS;DcgDh83uUg$4eA zSw%hRR|$-@0nZvv$O~*ES*9O^`GewcVQ{IA!k+{M^+QvM*)nYzp4 zyF&)dC$I3WN=dy?w(p1;@*Uonoks6}Q{38aXx=gthpGjBt|9C(YI8>-L*CK=$?K%i z$1{PR!coT%%+jT!*!j0tOQ?sNv>`Pqib2VG9x((UQ^C8JU#W_03}7s+cH>cmdZjBp zBm=0e;POBu5jFn{II<2Fb&`GFa=s#|5PF2h2ni;KQ2WN+2gK503e;>UwD4mBbSEUJ z@pJpM=LDPhV^|X>T}kEO=5fDA-10Bx@}H$V>+fBtPsau@n(b2Tt#s&2U|VQ9o~^NL z`j#)R&}FZZ!R@|?1j4&Ky5f2U>YFacr(Rsqx3XIcP@iHl==?-Qeot7v+DGJ#9$$!D z?Xg}c46!Nci#T`Ifk$@fKJe0-ftqVQko9v_DR|^j<#jmUEm6$Lgfg=y} z!7<>gEC9H60sx6)Z*zD!lCJn)O<+1diBY}&?<4;2T_kaz@L=M4OetT`{}jpkKdIR8 z>yvT6AB^xlZOpKsT4|B%U+WLN#b453akwn$wjd^*XRB=>OSV1a@4n62_Bu4;O@L^evBrhm`Ch-Ixw;O?CnKx#o@3l! z{YL)}!k|gC%n&3+QC?M77kGXruXU}bl(YA<`$Spm-;98vX0gtv$2?b0QO-I>5KwlyU_l>tE>)Fh>xB0<+9W3eK6@H{Bxs@%J)_tO! zL9+Rz_+l$=zi@x=lK5bE{!h?j)A=vagoEt{V)om4us67qG#tXE;+xi)$PxF_Civm` zkFy1TG{}o5&#zu-M~xm;>RJ${koSJ`Q>42<8te*)Aq$&K&vP6p4WX=I0_trd#{BA$ zpMR5Is2vg z%s;@%VS{eHEHUji>6J@)Dq@T!Z4JNG7e8kV_2rv0&D&`yW!I& zDzuo`?i5~GN!sXR52Luf;w1BOD^6(0rnH!dZ9jZZ2P0)T;Av=O@%C+9cW?+7kpwC8 zkAm;tW1dLOXLg$haZER?35s$ApT_ZpD{aoT%q;?ZhlskyobXR1$SS|f1LZV&nynpP zs_joT_In=lS0H5tM?*4BG$T{Ht_mh_?4^!IIxO~f==akYe zB=^r%5Bn9YF)uqlrL(k7qx_4ZFXn6EdEn-x{YuAzGtL5iT0Lt|GXIb69}AzT5crInPFj?^Cd%+|;n2{{Lx?yaygzL4;rXBeJbTR%Ns z<~GZA5KJ(Neg*$ihRNjlO(t3+_Oc>orXg@@4on}-=RRImg%I+ZuD5rYC}v<=qeW?vL|y8KSbv(nAk_+*1e~JR3-E zA;o~FjI3^tLt19I8F`fK5LQWwy1q<(V@$#OB%muRZvFL>gB7-g+39u;?Qi}@$(Hl# zPDp90$LXII5uMy`7AbrhUQbfv7Km)7B7J5aa5pmGP~Tm#_7~SJJs$Pj4nZM``zs>G zxu5JQ*pjERJxdw20#*sK3q1=0>&FRwupXXBX~)-U;eRiVUra3!J5BgNqotJUx5A{} z+%ox2C8&O)mUfIk5Ymc%>6&MF@Wn_6h4n>sTm1YGNst3ZJU&0guaLX@h$0ZI$q5mv zcLf~G?RUoQRItfRHlxx3Nl7V_QA$gklfP0%Ms_wTTCzpW+8nOl_~|$ac+9B+qkE=2 zM{CoawpH{_gB9w)F+w;Qe2@}=LSbLuj`xtX`Xu#Fava~4Vd#jX$ZZ!X2z6*;Bj^a6 zUl1d_5d%*1**1;nkzg_Pmlu}-9%ezBUwmNM^}S=1RXO5~DQ+gUV@&1pLC|wy9g`rwQ%ndh($Fl8a3$nSJomDuR0Dr`)}(A6Rv zVBZ=2R9?%0EE4(j&-rdQUylB80OaPpvccU|mY5JxY?`K!G$A=BI~E&bH{Ac1L?9IY zek1tEe~6EY&ODubPOVLK);g!Mt-;gBDCLElqx{{?kab+jYOZrzuT1I9V5#a35!dR! z)0nmy7|72O1K^@yAd&*o(R7F}YjlTO95&A5E`M?ob;mZozT&eS%)1iDh)UgL{`(>& zByOo|`{C@e0rm|&d)&yuS_75T4b*3ig8 zxW$TaJ2RFNns?OKb*e!v^O{r?gdJrCg>53D^yhi6Ak@97mf?bk*oKVlw$WEG zzyUOl5h^ocmypgD0MLK<7{ojFN{(+EZld9IEu*(*4uXi+N7FeaW#|sN>JgK+)&^uA zmnf^|rEmZWTcyl(cp`C92v9PP!Pw2pNuZiC<5&}i)8P02M$*t{K+ zCt6+z$93{$z$sB}MtYbua)DGP*aO4w8HzF^jZQk*Me`&Z!!t9kGVxtH%q$9c;6J3n zL8@kuxlC{q0s|d@9pU=E>~{o^J!#4GKHWm*qw(V%6B<&62IqPP$s|~ZNceVFgdx6a zm86S3bFV(21R&HQGCTSX5EKo&JhQf7Bu|yP2f%79^~8 z$3|uGL&L7IfT^XKNdUBwTn%7lprD@)`NT9Pgwk|L)W2t*H=9bj4~hz765cIj(*BT7 zU&4`+XOR}z@*i5bKOzW|HuHh|)YW{4KcG+LuKbYkn;0$#lBd3)43^GVFx{8<&&H0k3uo84)E*6k2316AiIP^WBRo@1O( zIvvkdp=S&7B`@!j>CD^$b*-ITA3Ik)4R@evIh!F019IF<(4g@&J>sN)N!egN!cyNP zK{r9F3ZLNrXkwXjoUL-^=i$agw{0&C2N(OR^cXo#36|zO^%X1aGrv!77nMH3fMzWH zIXATV|K!GYEp-iL|7nk7nj$2E0pW?sh)gl>3F+;3ciw(Cblvls7vwg@mU#%K#`qoR zJoH6SMAUTT`7iA21cetO*eug}&1Dxk$+Yn5v}Rzofl7X2G&UaS$1TgH+0bgks@gnl z-(Y$N+YC^ypp0G^{{vB74BK1om79y4P~z!`Qc1Plc&uUro?a^SMMuXo!T9ovC>tb( zvJl;kbo=68zltgJt@EI@)VtKtJB1hFsz}c23AlqvOq>p9a9)O8m+%Mh@#W7y*S}79 z3XxusVX2Zwxs8Ea!7J8T``9Y+mWioR_u~jRMI5)($Bpu^5uZ3u2X(Y9?!@Vtuf)el zKoKnxoIvLl-+Q&q@u9pRP`>T46DPOFi5#ct$-Cm^k2fPCS{OKeM*F4k%~@f!mMkdh zc#kK7z`J-QWt@P=%-0{=Blt#nnzQS{YVe9^>H(0ht+#C_XR3LeJAXJ{elPRQ?W{3> zFls&>PK#>1XB+mz0RdwwRAGtXDw0nBsY@wfp_3{rqb5`9?wvxTC?;gNm-qL5cuu`} zOrdyPpvXjP)PCPjer0!bo zy4TZ0_On)%n0#+t{)}+^_Bh^c0&5Uv(;OPqCM=}RDwRjZ_m^GTqS7wPGr+Ni@y@fN zxeD3AyP_1o@5bMt-4X=iT_4KnaK2aU31FkZ^-H=(j(*v$-#k~Wo+}`UHD(4*Xe58~ zbE3rFSx(f+pY!1T`t1|d#qQt~()Z#2wfe94mHn1h=wp@t%FrIm?SX~=Tap&zJIR&H zAZo#yx>0(#yG6^r70JX@FI2GI@54l^g`w4)08O!M9juSm#;T^MMiPqhOVCou%w-~XNaf0pXpcalZ0?TyF!rBGhdJKO(#YYX&Eqs! z(vl6uG0*v8qU2_NWYAoeg&edtg5Wh&5V{xtqoOf7UhYu%1LWb?-rvKOGxS9}hQd#w z9o<>e=E)x?IMwH+PwH8#cVpF-7(CwJkklpq@T!YG-aE7$?`)7DFtl`fqnmaWXZa3q zG-!eP_832H>?wT|2I98|@#bqDE8mdqeyCUr9@yD&bQ^;AOHDe$IH^QG`XS&Md_pHn zYh*$%>6DnH2${&J!EZ8>+}A zubq5|H3R7|i>ppV^kESYqO*ZM6&mx-XzNI_0mCbrAg(3;%^b1`Fl-D7Vmo z97V~Ojz^n6?MY=oM-5hzU86=c{I@E;eO?R-3StkcpNOp=O<6=4ynaVj#5}Cuxck2K z$`D{ga!nI_{)JS%f&m*EWjP2VOUVz#i%sX>sqF3-r@_X6qmIt6Wu}x=xrnvgP&2Xj zzTI=TG;^Z&Hn*=SKqe&g!SCl8Hv687*}I{8@;Q=4hCXe8C|k8%ZYO{zCv%np!GLPx zUZm*Fm;^y}g3O>T#)PVYD(riYeh|WMS%1NX;(7SaJTk=T{pXn-E5_UHiARy8A4q}x z!Hj8~GsKM9XWN;0l3y)(@FNcoM3lOleBQ=a`bawH&WED zkYsAp$1(C&+lVktFTs3WNZHbA?2hWzi|S32lutA)Pe}R|TI)UMC4qRt@bgc_@s54l zfLs0VEauqY0pBW>Eb`SRKYRtuSzIkS#lYt@yV26l_jXx&oZ;kS*^~BPs@0OuD zXTLt_&v>R^4!3`(;)5vrDxixTx3RTd(ym~JF+ThEptpV@SPzh`l$;Pqr4lG-Rxa_S zP6OPr&c?VCkxxqP?w`T#f9!F;W(79+ls_vi&{nv?22cZ-@p-7t&C?z2zb)Ql5lO<= zNaegCe;M^sXa%RY?5x>$^tkZb&P+0ou+zey`oZ8SkY_vM+ApgS{(JQ>AEX&073R#W zLd*be0uj|{OMA(zE{bFMz^u#^T)Upnw9@{07xB#}%(?yZ5~oS`LFBfB2Cxb*ha!-V zRRlt3tA0e=(vN-)HSP}~88zd`8qohx;qia7YaDXHmwW^=g^bf)nJ`kdHQ5avBkgi6 HJIwzAPKkH3 literal 0 HcmV?d00001