From affddad6a4f9c9baa42681d89852371eb9f1f59d Mon Sep 17 00:00:00 2001 From: alenpjose Date: Sun, 3 May 2026 14:34:18 -0400 Subject: [PATCH] Adding assignment1 section 1 and 2 --- .../Microcredential_Cohort/assignment1.sql | 102 +++++++++++++++++- .../vendor-booth-assgn.jpeg | Bin 0 -> 26609 bytes 2 files changed, 98 insertions(+), 4 deletions(-) create mode 100644 02_activities/assignments/Microcredential_Cohort/vendor-booth-assgn.jpeg diff --git a/02_activities/assignments/Microcredential_Cohort/assignment1.sql b/02_activities/assignments/Microcredential_Cohort/assignment1.sql index 2ec561e2a..861a32d0f 100644 --- a/02_activities/assignments/Microcredential_Cohort/assignment1.sql +++ b/02_activities/assignments/Microcredential_Cohort/assignment1.sql @@ -7,7 +7,8 @@ /* 1. Write a query that returns everything in the customer table. */ --QUERY 1 - +SELECT * +FROM customer; --END QUERY @@ -17,7 +18,10 @@ sorted by customer_last_name, then customer_first_ name. */ --QUERY 2 - +SELECT * +FROM customer +ORDER BY customer_last_name ASC, customer_first_name ASC +LIMIT 10; --END QUERY @@ -28,7 +32,10 @@ sorted by customer_last_name, then customer_first_ name. */ Limit to 25 rows of output. */ --QUERY 3 - +SELECT * +FROM customer_purchases +WHERE product_id in (4,9) +LIMIT 25; --END QUERY @@ -43,7 +50,11 @@ Limit to 25 rows of output. */ --QUERY 4 - +SELECT *, +quantity*cost_to_customer_per_qty AS price +FROM customer_purchases +WHERE customer_id between 8 and 10 +LIMIT 25; --END QUERY @@ -56,7 +67,15 @@ columns and add a column called prod_qty_type_condensed that displays the word if the product_qty_type is “unit,” and otherwise displays the word “bulk.” */ --QUERY 5 +SELECT product_id, +product_name +,CASE WHEN product_qty_type = 'unit' + THEN 'unit' + ELSE 'bulk' + END as prod_qty_type_condensed + +FROM product; --END QUERY @@ -67,6 +86,22 @@ add a column to the previous query called pepper_flag that outputs a 1 if the pr contains the word “pepper” (regardless of capitalization), and otherwise outputs 0. */ --QUERY 6 +SELECT product_id, +product_name + +,CASE + WHEN product_qty_type = 'unit' + THEN 'unit' + ELSE 'bulk' + END as prod_qty_type_condensed + +,CASE + WHEN LOWER(product_name) LIKE '%pepper%' + THEN 1 + ELSE 0 + END as pepper_flag + +FROM product; @@ -79,6 +114,13 @@ vendor_id field they both have in common, and sorts the result by market_date, t Limit to 24 rows of output. */ --QUERY 7 +SELECT * + +FROM vendor as v +INNER JOIN vendor_booth_assignments as vba + on v.vendor_id = vba.vendor_id +ORDER BY vba.market_date ASC, v.vendor_name ASC +LIMIT 24; @@ -93,6 +135,14 @@ Limit to 24 rows of output. */ at the farmer’s market by counting the vendor booth assignments per vendor_id. */ --QUERY 8 +SELECT vendor_id, +booth_number, +COUNT (* ) as booth_rental_count + +FROM vendor_booth_assignments + +GROUP BY vendor_id, booth_number +ORDER BY vendor_id, booth_number; @@ -105,6 +155,25 @@ of customers for them to give stickers to, sorted by last name, then first name. HINT: This query requires you to join two tables, use an aggregate function, and use the HAVING keyword. */ --QUERY 9 +SELECT cp.customer_id, +customer_first_name, +customer_last_name, +SUM(quantity* cost_to_customer_per_qty) AS total_spend + +FROM customer as c +INNER JOIN customer_purchases as cp + ON c.customer_id = cp.customer_id + +GROUP BY + c.customer_id, + c.customer_last_name, -- weirdly the query fails when not grouped by names depite having the id + c.customer_first_name + +HAVING SUM(quantity* cost_to_customer_per_qty) > 2000 + +ORDER BY + c.customer_last_name, + c.customer_first_name; @@ -124,9 +193,17 @@ When inserting the new vendor, you need to appropriately align the columns to be VALUES(col1,col2,col3,col4,col5) */ --QUERY 10 +DROP TABLE IF EXISTS temp.new_vendor; +CREATE TABLE temp.new_vendor AS +SELECT * +FROM vendor; +INSERT INTO temp.new_vendor (vendor_id, vendor_name, vendor_type, vendor_owner_first_name, vendor_owner_last_name) +VALUES (10, 'Thomass Superfood Store', 'Fresh Focused', 'Thomas', 'Rosenthal'); +SELECT * +FROM temp.new_vendor; --END QUERY @@ -139,6 +216,12 @@ and year are! Limit to 25 rows of output. */ --QUERY 11 +SELECT customer_id, +strftime('%m', market_date) as purchase_month, +strftime('%Y', market_date) as purchase_year + +FROM customer_purchases +LIMIT 25; @@ -153,6 +236,17 @@ but remember, STRFTIME returns a STRING for your WHERE statement... AND be sure you remove the LIMIT from the previous query before aggregating!! */ --QUERY 12 +SELECT customer_id, +SUM(quantity* cost_to_customer_per_qty) AS money_spent + +FROM customer_purchases + +WHERE strftime('%Y', market_date) = '2022' + AND strftime('%m', market_date) = '04' + + +GROUP BY customer_id; + diff --git a/02_activities/assignments/Microcredential_Cohort/vendor-booth-assgn.jpeg b/02_activities/assignments/Microcredential_Cohort/vendor-booth-assgn.jpeg new file mode 100644 index 0000000000000000000000000000000000000000..d4f4138e96d731bd850c1057e250b60594692d74 GIT binary patch literal 26609 zcmeFZ2UwHKwlEw;*`lHXg3={)kkEUvP?Jzh=v`VMKc>m)$=brEW&;LE&cPCHYtTk)R%$k*%d1q#=nbV2W_kbG^C9o3U z+&KW?9PtA}#2x@Z68&eKITiq@2?PLcPyHFk_7VWN9smGT5B?eV zr%s&AT+IHG-38+FJOTj#Z07&~C~r^^;Tu0PIrk$a$%RYAgg35`T_MK)7sKf*0L7*A zl;<@_&H(}EDbA5loI7m?F#c$3Bw>kdU4KK~}o~0Fa&skdTmFB)xe4 z!bOscfOF?bE?gx2?Ggng70c*N>f1nZJ@>@wTRQOx!>oc5+PYO_G(ryoVIFK^51na+ zMdU|BHOXojZ0p+J}U2;i%nXd&fD>hON889coZ~*aXVu4 zs95=^-9%NZcYquH~~i*3ekHX2G0Hl1UOi;5CPzM4R=J+``W zb?m5G2p0#$x=aH!jFs@NW4er3oUJKdmF@R&1nd58r8CTT3#vX-ZC!SyUpPIoy(VH$ zR3a{jU<Ajt#ARfHwwFrw0N>A6_AIP@|3blA>A)!WRP95thF$qHu%Z?K@+*C5-~Ub2Ve?$Z zm#gsScVCO7U5uEM9~8hTRpfTgwV@BAAr`_Cl8OG?&*4c`L*=g|cobYekZ?2vG<(c7{x)d=cD6jlpK6}=;y zA-mKImT1*D1%M?92%|Wph7gM)ogA~jp~W%hV}!7!g3;ZgwJsL1p%I5_*aCa}egF~( zvISXnkIo(+GCR!yR3*Ys0o@`k2P7AdvJ3SU?uAJVajfM=XG{``VmQTGClPL1l{uMw z`l7b*9m_SE$s$rqTx^KJ)gfar+!J@wVnxq8*Mjt=fBr<^%I!-ZCY5>)N~TPM7Ur%p z|1XoSF6@G?t?Vn`2-?J2hGt2zhQq0rc1uPmbf!WgYBW>lB z2g!6>eHrzA!YBOFgt@g|7##|iZI~UxuI1P9m+ycC;<6=W))hi8vr!GyqA>6{ZtgWm zliwM|oGtrap+(SLWx8~Dj?1_5h4kA9s6-QWTyC#_6nCC^co_@e9qXi2gS z4C6_DZ1ld0uIv2EaW_g1m7*@*iK4KL4!mPgb~G4VYXgDXE*YLTEHdqy;2#w=50D&3+kKl0zWuVQZs9i> z!hA*Ayuz|}ArH+$_Zq8&fmiF*X4Y*RFBCvrYk3Ijlr}>F=H=} z79lSdK^|Ov^>2JQ35o;-C9S5tobS_4)C&~bp|?lSmbIRNn+jTmHrot1^_t@lKK^4mAZeAq+fI69rg8^)FdTwEqQ zol;fBSBZ{_!g4Y2qZAOUwZ{1%sK-|k>4PlAkScmeu~9rFP|C*H239-0na(j-u@bvB zl{UYbX#Bz|j-3xWn1MLK>c&t~F(%M$tADuEWNwjeqhM5D=f({BGNSQ(LSrRf=n7R$ z-Z)%v=Go!Qv!QdYrHCeH0{=rOKcD4PXqQIDO7uc+g$QTNj?7FkpJ3P&a=Umh+f(1` zyp@c`c3r6wAs?s0a7G42xUbK0c8 zzi(II3GUxt%$6j$5xR^FdknMZ6GaoDNVeSVdW0dPLY{|CnQV}x! zRmpa6aT9wL1osnks zU}uzs!t^z{O3Y1s(j()C1^hN2z~xVin(6kX-xBte)%;z{2435&t!{?$RB=AN+T@`0 z%#?o)BR9{V`g(ciw#5qsXLXiVnQL%a@RAEtXAd+M8=0fk_VyI8#m%+O&*gcA-Mt;h zRp-VP`dA9ioA1lZUl>S>FOc^veH3DhqqXEe;Rx#=h%GG zw7h-%ePDV#4-MO+Dte-#N*(igFRJ{+r&=YIDO-9VUnH<*Y9|s*J5DoyH$gE{vq<&= z7!;6b>zkL-xIdAPrj%4_~+uu&I*S<|PU|U$J!wig6ae9B z1Kne;6BwULhw8%ELS`(dg+y}uW|di4L6Ge;^{d&Cbqz$>!*wW1b7||clB$h;=?e@f zt3(!z?2n=?GnXpaj-y%R&Yx8R4Is>GTNOJtrLqE)(SdyJO37g#H-F3CG?vu}gI$ct}GGIkGehv@># zgqa7MA6=bMo6#*gE5i3K_H0Ydm=~@n$*JZ8v&2QA25(tfA0%$VhkdZM^ORScET+pD zx0<&&3q|)b9&1)mV#5xpaRzm$v24EfDkZ1XkUYd{ZO;^1A=8I#L5(T@I`(prA2}VQ zdckU10xYxpasS4Qxp8??4SA*Je)hglnK*Aws>RZ36%F3OGKF7U*lT{VQoKap;Q|)j zJwV4=D*2qSe~&qceTio1xpcd-QMM+(fNRCV*+LTZ5HssmJXm9mt?M^7e(qa`E#gSm zR-8LeZQTC-y)WbPU3ceW=~|E4DtpOcr`{CjSj5yrtkd{;uenFXy%`W_s6I=p5D+LN z7>iq=avPfM^tk6pR*JV~Yw57cOe;6i*Jv=lri$xBsT0uT?8r#96j#oxQRABp$0B3M zTGtURby*NoPsQQJcS0gTt&R~RC@5Ft1*IaEf(TobOp+@IF zH$pc)yE|4oov&k;rWwLoVidZ%kyB8CzN{KVPNpw5zi(+2?#A_2fRVAVDxxyEPw1I~ zJ_eZGbR`xEvNe~7^tV2zreriQS7v9H>v$&bL)i1t+Mav$XaD|b%ph~5lpExclY8Bq zTS$H9PbT6X2jB4An}fuzw{nS@)GTL_pV-bO`8E90$oBspd7q>=;-8}^pQ$x+*ng;8 z-!hYAA@h}2qXUmtPo~3%A}i6f6fx+WbdaU&O8^N$(^=EcsK1FC2fac-QAHUPmxg7lyW5ViZ8?WBQkLl32 zm!p3|eq#HVkh7}2ZNgRIbpln6{B)Thc1_1Z%nq^EELdOJ7r_@;`j#8V%${V$!;OjH zK(fLTLDqw!XWvb~0X7XI2qi`NrG3G+9Qk7{H*)-#(;ZW$btR<^37~viY%mR5R+FyX zgorZ(yPF7(@{z)aM|1C71?Fn`M3D!P9KlCV7n z(ey#;vVwD>Hw4ZdPSf)=K1Dm|hkn3Pe_sgveWjqAH?{2PYqxQ>+IM9Rz#*KxfmR@u zz1S4xf+3{-*7u6Z=j=P*4DVXQ9a08P0j8==uQM5UJhdjHYNWK9pWn8hOzu2HcX6#b z<7yR#=3o?J2qfbKKt@$dAxbrjV>Zb-IUGjjpzi5HejzQ*nguGZ=G}4})ZFZIVszYf z-Oi4_k6(TLXx1^_v{&7O&KIyiUl%KrS8_`ds+v9}Q4zT)_^k@Egj_<25oeV$^{FQ$ z&$_E!mU}lN;f&EPaY6e!N75B%|py>q9P=|5; z_%uXp+J0s!OGqPk*oq+YeDp&v7MrH`Qxp8(t4lK}cBo3g8F1YO`aMKfIW8A`T5zY*~BzL6+%yy*afFrvNAN z+zVSx2ZbE=6H`g)oc^dMwPTbV@!k`kYjm9YG3Y!W5V~}Je{~g{a|(bQZZE(4{Jg=f zeFm=Xaoxepaq$uECRm)$v|WpaSGQdIz|Oed_>696bzVA? zJ#7R~0V$XYjgT4Yj^KSbgn)o!h+$huuvlr@Am9GjHrGq|rZ0+QQ?WXHbi_*9WGB*H zt@?<}d&(eXk1{@nwqO+W{XMX3t6&xq#u;z8)IbVHsfiJW!kcaPj5qoc zC)10DEWPVI!X2b*_QXtP3nmiYv=>ijS>g;p^`AsA&)(uj)a6ix$86h>sHD1EY}ivk zDS0I+#;X^?NgI(=;52_RvJaE%Tr_wmbV)-6Oq++hH|54{senMTt{6qtqIAYZMYOiJ zuOxGo7CcrqsuNn0Ntm>XV;jl2Sw+jv%@%{jrUUOVy`q?P?Lg#ANIXAW-+!}Z@A+bD znL1+gM2b$+QEDBP)R<<`Nl3!#yEUq%>xyizL55QEm9~ckmmtp!4X?Yq@l+W%krhmY zMZdW4R(4r79od&8)|a5pTtKYeA+rGeD{>2cdwWyVd#z+<@+7S2t+x~)$^D2T)DFLX zj+knF3-313?e6RF=tGOSaj?S`@syjDSw$Q2w$=a|sy zC(tQihQ#(Z%OmKT6}K=@Sf7I8`__k& zxu@z=-jMvFwg9zcGs&LXn5-oV26u(dqo<420kw!4&9O)upy(~QXQC%y_LbciF{X3K zgn?JQ!YRHc8hUT(efn(E*EWzaMsB{Dg7xw(;8v)JVN}nr3vtF875gZ5 z4^P&oMJiN$UP^;}UX4E2ZaY8jIA=ck^ex?FnBt-YNINtQ3T!1SLvh$niZP+?<~g$G zG>GyIj8<~@g8IHS7zISz?p=MVDOxcBBOjDjpEyoUzthv+jpZ79 z^$=A2W{~uoG^EP<@8`r4+Y_&a>&r&nYrj?(Wi!1NP#f0sl0)8w%$Rht+F_59U_8rV zba>#xa2VyZTK*ZyCBQrD8;+6?V~Kvm&%(=<&pU~kLBZ0(RqxJ1q?I(;+oGo-oaAg^ z{XMP*0f0*}GhS?|;A>)C;LRs$`q~pq`(+f|!Q_oe53Q6PB=dNd%2knI(3`rPWU{4_ zqxFLs0edJT8u}czSfoYp&$DwTFox&m!E-uNX&~?Sm~H$;@i`c%0nMOjx-N`1X8#dj zDTN;V;hl|^7b{0+dBUTV>A`A8EB82_qy%hc3-zMEu66*OS^)7j9pw3pAL_d6Y(CsW04*^w|}QF3F3 z)k4S*@cNpUc^E92F}oez(-BmLjp=truI*>wf;>{6+W^U9jZaO`e6$IBk=V*$tCM%j zEqt)How7%Qb`40luRP8b4r8$d>r?Q_emkOx6$0-7TWj+8i$6>(@7|=|nXI24mBjJV za44ZEZ4HBITX-K5tovo6=P6Z=`ehE;2*xL3012^o54UI&bo%|#0s6S4w(Xvqy7aY6 zQbFwMnh-0|h*mZ^Sjxs=625MVvR)0$DtcGDf{`LlwWa?qm(vR$G56b-3ufhGqVZh? z34sIu|Z)YHrK2yODo8*@_~?v&hbD z|JFgurGGpjX-4};M+BxKRHYjtVk#z#*maZZMfk#&N#lu2Y<(dlJ6EVuG|hd6C2x~f zKasp>z0@Z4`k2V2TLVip(N|LaMb{(2Pbu|1?Kno%rF^c71k)H}Gi0K$E6dKvaGha| zc#k6Cp56&6?ghUDE2U>T8u3{HGn~mHy%L>MGiwi$(jd{{8TO8~j(rrFkja{{}wduEkbcbIYxzO~990IH{-(I8+E|-UfGRjyS(L1t1_m zed0XF+f|M;M{&Gvz|4QGvDo6tvT(Kz;tv6wN)CPBSAt`-8r@0M0&)JO~I z$4~@*B;}{6#`;8P8&7C;7sSia3z-D6s3pgYRZ=9~MDew|vdWp{kC^TXQ*LO4-PPsm zwXnGRz7BV(nnrBz1_<98o~y|*mS@EtL`WQGEr?a;Ce4P&W3GnuD-NCSInQj?5h)n; zs=l zn4xXoQQ)qrV1%AZSp;BlTqBwwOI@SWS0hCj;pTu?rn1pt)RPgG=O@nVKXaxE{cxx% z*|cpAy9#MMHqX)B^v1_xS4$N5iK8 zRPE)hONR>Kwy*2#`vM)Aq)gp`Lx@DFM_E9*YMmYBcQfj=2ir?BMrW4Fzq?iszF(vn zDDR$Rf9O;jkt%bUmhavBH=pMsXn-Rqo;nvTm5|kpjtr$m$7=6nxxplj0$Z=(YGZe^ zghz2z{BnWG`&K3jDyr^!b_D4Z;9h8?PX>j{+VUIkhV}O($*|W;b#HFB3(2NnpZKWD zqMr}xv}Y=K!X6Kb9jQ(7c(ymLvkg%OQmKGro)Sb|VJpBdAJ=0Ixsm1E~&hNXJT#bUl?KH>&YQZK#|^HhBoz%f)E>7?VReT!V0NdfKy`&LJ_ z)oRvB^h5U& z7$zuToCv(j91qDDzhPDrO;5aQ8reoHCsKXcJ>ug+-Uvw4nxVBbY@8>yZ~Nrgq3qx^ zk+rL9k(nZS97s_YK|jEat0aLzPEd$ZD9!BveXT>1#DYIUA8&EpX^axTM}C#1dR8;l z=$&EE;-K^#A}$sww^?QQn`94WgLL@l+V^t+#&A}q7)uoSMJDu2KBsQoLIBfY=i zv%WGt498pf%;-Iu8)1XIT*Fxqg*py+LLFs-Js(H{zpZPa6_3piX;W_q4F& zWs&gHlp4E}*nxW6oae*sBX9YEJQrIj#vVwmAaB{sw)W zc8$TLft1T5&CQmsMNbnpVo{7Ltf;$m-G_Bkw_ASyZEwn0D zDcy1Na+EYL@ z((e=Ll|41R^53Hl$HV+qN%Ie5E#5!)V8VS0z|j?~s73v81pxRZ?Q$6Z$JFZh`?Dh# zCtpX-)IEx2Cq2GOY#6hK-ba`~dOIL2h9Zf&_u%%p{ef6IPMZ?s-pqJT9|F$@#(Pm` zRY4-S!5wS*?n{VD3OBT?D1~1gU_@rUxXrr{lh!mhJIw1_w?#bF8_U5Nm6cVPkt)hJmKc!rSej{L&@Bh&>v?Q`#8~%guaAOOb@Nv#cWzs$Qe+ND4>+#gsw~dJRl^PsI61LM~ma&vc2UXofR?? z*)Gea!s^8VO<|kX4=k0ucsnsN;|z8lAy#1xpxolQ49{Pvn|#n_qt64jz}xSVu*_4J z_vUe}b0{f}M=N_V!+NX|7ad<8&vkgf7DwC!@7l|pN^0Zk$o?QP(ABZIRX^mmVsyVY z3V78VC9Ccpm4TR&f?MKUVJ@sIk45}`QO8Cdl&l##7(5X-&3r38Odk3?){AaIx@rU8 z^4+W$qJzQ_dv`%nL(7cqq#u=(Jb7F0{)PUiDD^HE-jLn+eJ2N&2I}z{j|zC`qFXYY zP6(bNlG{)AFe=gG4%78t6dK$9HEMX$LEqvJ;bbkHr7s}-+bXDq6*YEeHtKtgg)*mF zm%%+lyaGn}qplE0-o0n%D)a)*k7Gb6Dg0@gU>98bD?`oe+4(JCP&PVnNpEX|63I@{K+LHFFI0oa{K*m>;D zHE-&x{nU$mv+IKqUew+F+{ul$t@r0 zRnaGsrtGUMOyM2G6v;>R`L294u%I*&enRlg!$@M8JwBf+{MGP4{$W$zz%RAAU+&FT z`i`G6^1JCyqo1Uk8+y-E+|;f&YwW}D_cY=Li_9Ajri{uSssJ67s+@^J=9A$^9ZR|# zSP?r;)fbTd!AH|h@w015)Psqv=W>2k+Vy7s4%6$0axCJ~$2uLhHt&slx@MD+USvV) zhP(zUp#u|d3GLMm)k>N0WRZdxim*7^H-+=crdAYng6UwcIECsIR!B&kg3prAlJfUfzmIvX2Mz8;-%^c_fH(kq zb65($SB>pE!sxq9rZX_l{qu%rSXs`%|0g6vL)$#AeVwg@e)D)}m){_D5DR3R(5s|j zj$G47(wPpii3_ASAg(l`Gk^b^qRIJPHp4xX?d&4(2@lH?wZTi@AN9MU>R5~`gC;Z{ z8W~V}$E~Rz<~D?!0z40x1^l+m=EpxFI=@L>KLxztIt45+eq*vG`V*MW0sa&*57ZVXiEYqIPw|qV}kMWF|hh4v(jB0Uuy}7e0g1n3HA1%%7S> zg`D^ZlUUp|_p}s?$sdQtN!pwQioakl=s}3oP%nLUpJhXCObCf`%VIHL7P- zEKoloJ=qLroqjV}IxdDk^)bA>V9r)7>+2W@^%OL3U|(iwOscZwm_+h8k7C)53{gA= zQ5bkEEQZN+$kl+@iluqxn=;nY?Vi{Zp3~<46HR(ykZDpI%XbZ#C)jHT zWvH&!sjtdfgIcXd7uJ3Q!>v?( zm#=KrvXWyse+z5t{f9&j)eZBxs_UX%`37DhwNq+BOwh*q238nV za9=}T5S5L^xYpDTdVT#wKGDh(>!>0uXL z)pIDz*XtsSsz9oNNfy#};ec!ntjwaFh9v~aE1H$x)s`UW7&*0xy(QxEQra%P_eJkE zD|c4XAV%S#$-_7Whdce3f%>leTD|GcQGRDCDzWV<0mOb6#%wfxV4u-TsOz~-7A$?;7%y@}Cc0D3rUQ=tmP1z(H|!t{WS75R7FN z-*xw5BNl&ZGMDam4Xv)cGPkVlh`_5Ral`I{zWssC^L62QhoWQ@y9K?0T1RIu7=WE%z31zumWBq<3zQw}dRGXvsDsemjf%%X^9|d>)vF->t8=zCwj{w)s40 zi5h;iX4yne(|$2$@f!7w9=v$EJo5^6bB8t0XVB?n=$oFf?_4(rgqg_;}2-FwWew z_&8jn)G}MUI<6P1*DlJk!o&*WEe(e}?8a0HG&k#G-v~{7P2)>4d}LM2WS-v;LXqAf zYEfP39{;=yN{Fyl3Ao2YkC|qx$GL}dbFAZXLKRSn503t9q_5A216Vn>=e6$cdAWjh zPr|fAo|5}m_&kt@=Va18jF)sVm$#AyKUw7NWZHJ`?}!nL!zCcnO87QmD27D0fsU%G z`PVgr=$S+_)eK)5tbO?gS_QK!ZV2tqdKm%POa||=jaUuO@k@@)z4ZbHY&Et}OjBmu z46>@uJsK7W2Fe5_K#?n!f)}p~EodoNR*%Ks^7CUA+ zqC2h3#4J`6(%v4z%_NR{*zjDe&bA_WZmoZQ}+tC6rm6qRm$j`n*h?|IKk=U#~cLA~ZNdv|Jh zR`evsvo>f1t~!=x8Oy2KSI4Dua;Bx68TNj6UAa>9`F4f1@rLxt+~y2pz{!!_nzPh) zmXEKKR<*sROZ^aAwSAs!2E#(k%sMw1i?8Uln0m+Q|NA_*(nTawtK7F#FRrknc9|LF zyE(TKB-i$+AZBXcM@}>!#=aY}h7~qdEE4DBS+Q{dBdvX7( zzZ4Eadvg|5Ur~Jm45aA;iDPMw+bU^~h8c6L(%am@8k2ikdqg2EWcBO#$0RvXy>2mK$fX%P80hj_=)R|Ls_A>_Sk? zn#fUt_t?UfI?mp7;UxvcJq^Hxn*4+{d9Gt=_t#Gj<@U|acU(FJxJIr>!+UO>0?O*B ziHi8-Pt77SP--;9VbeJ_DzpyylEG2FlGJaDVB8QJsVa?^3n+rUvvQE0YImZlV6>)IpF|lu<648s>#UG@ z-VFR5%rj1@p#5X4zu~oBX`R;INN=?+{Yd2^wcYXpMb|g1RBzQON=gm1Y7)xf$?K3h zIyIT!(G>@AWvI+Y;F^H`l>JoSyPRw+{N2bbuvGQ5@R|W^EHVoy1ghLw?hCH;b?@vc zVM;YjF!x+h^sCKyESbN3`GdVlsj(;lB)(x7Qki#SES^PSnw)5iO&BT;JOvc)n-jcG z0W`g|Bgr|!E#t%dPBy{bbJ}7Sn*;IunVs}vh^=O0=N_pPB#1(!CQd;On{?m93`;?a zjiKb7duZKFXgkJ^g$N(1$9_OusbM`kw2)S0hKXZ=c2P z|2o+}ppe|3kQN*8zf(Lu0Rnk~%utN3hG9$T?184_JgbtfmXtau5j(j6_DhD5TybD9 zh6eWprqSO1!p<=HmcA~;Fa%Dge#=a>I)-436g_+!>(tlJ5I^(`2&uyzJ;%wN*$}sv zrm~-ZTC~Qz(~*pJ`kXCGJWptX42kZq9q87?FrtwhZ{PGhFK8JPNdze&;N+vwW^)UP zZ{fq1@5L&+2TRkrLv;iCOX5DrBvi({IZi0aU`QOY?#H_VMH0bSuIjlvWk$to$GXe6 z2LO#th0@%{eP7AJVZ8*Kf@Pv3@^+#jNsfXy)oHWF`N&hM>4~f4RS8$iQAzY$xuKJ>D1>gGyJFx+(N9GMC$EqdOUNs_F zRpL{IGRI?qxW3rFkWE1=rBqsMDNd9)%@|te7b!Pjc=$Yt=n3LXTq4FKerD);w%WH$ zPnX%o`AVnX=VG%b3l$qAXkCM2NYkMmjbj<*$4nXK3K>x1l5`+IR&asYh@rLmDxY@n zS_HmkZ=W-M@ut&D15LeU(T(naZGDZ6vB>F$+V0*&VhM@Pzvrh-j0PrVnWXh}K)KN! zB4PJrI(MEW#G&)pnM*2#*^WAmWjo#-2je%Nmt>8Xp;)E5lKgpicV1u`lqiSGUMy+I z#3$8pS0BZWWy*n9jQZ+AgrzXspE}$4vtIroCp$Km+s`u5g{2)KSQY@@jrPcuzWJy0f&fg?@V+bcZ`xU(?u{pv@5ay|S`WEKAsv zoSVZtJfxvds=UQ>RT{a)lV5XIe$)LRvUfAItcO6}5w~Q`EYa-@How(om z-l)Wp)Yt+d%=JL*l_~g=&!_YurlI@{k&|Fd&lvRKBNa3DFD3?jXy8!ky} z+=#hF>y|a!Ji4S^qqkc4Mg@~;%Aq}?lm=b$?(RK^NXQ>6J}PEhW{fkWo4&o-8!W_1 z@C>~xfzfoRUQivXB%1KpDSqq;U1P$}C!(OO2#bR!X$Ie>3YAJItp~+#ubK6t3b+R9 zXE@dutJfCs6k`jFFSZ$ht~uqR+z`+@@Gk+h0Q`HS&^f+^lCLH+_W(=G)9FN4*|XT4 zzn9=2#hs&B91QxztHqr{cs)V8+Y6=|Xa+ zfVcB^7qX=~g(=;O=bKzKHF|BomxtGbja8M*6Ru`Y!g51e4ihLDK(TO7S>lo3ki6Ej zeoGI}`ojLukn-fRa@U0TDD^YkKT^hDXzY#Jr+_Qd!S5OTk6jmV{|Wu4$^R3BI=?9qx1WNL2*v;xVQF*=yv27@RQ5PPly%#%t07o!+Z8R>%R$3xClO9KW4}$phcaK z(~&vGm=~W~hVXLhYA++M7S_j=gPB1H#lGGvf4U}<_F^C3TbaosBgkwnr7x{pZ%Q+@ zRc;p#QEfHI6=!~2US{+@BRF=I-fZv6aumI1UMLKFqR49 zHtOd{ctbBo-)@U?u}`Gw-depoF+3~r`gK^4+Ejk_e5WTN;fi=a4#VJMBaE~aO;Syg zPrU-Oqb<2T2Yxo#+$QP^*U1kwbyezbw6Q@fWGjqirF5zZU%|7fXYD)WpI$*ONC3!Ep@d%z3{Z}{Q(a-a8WeoVBz)NPTc$E-@XkcvJ| zqse<5yUzn&yGR)td%RI%2AEoVdfZ&->}6hOsN5jp7^JdC)Y~%{WiJ zbr>^HE?zEZ+`*B($|DzpOCoS6SPj;ynaq>0#y$#%_4hb$9fdo5zSYIrn!&+-KlCy2 zT-&zH%WoMdcHEr^E}Mi%%gi;oQrfHIVaaRx*0IXjLf!g&?($JOgSa}Lxk-V-B`O=A zD+teWL^&t@1NSDdM^5Df)})}t2xr>Rr9+&mI)^Bx%im6}H9LpJSH@3FUn6jI8I~j> zlQV>)cZ}g4OGf$lr(V&gpdE1jPR_QdjXiHu-Y68=`pI1uF{~xQV`pnl$VycqQS1M>?zc=SpANDa-< z&Gn`W(cB>Ri@{za7l&Q2v*1ndISZcm`Em$fC7pgKpO58sC9VlbI< z#0x8UJC!-m?S(-se%C)cKXzi4tiRi)%=c6i% zAzFC$s&t43M)mLpdEoKwsW93@uk>M+{r< zu&L@gvebUun0}gycQ;%Of0+9^^)w1xvq}U5O$8NZYpPnbue3V-(XMuG051r!#vquo);W<^lV2UN-rn7}{xt(fTRNl8WdJMRwA0`|{u^mdheF zqq{LtmO}1PI1;*PEQUi3q^1aPr9$f?c*jfa0KH; zj5Bk#bKv{@`1H4s&@y}V>L7cl-t!1{g}~eyPVyo4nvsC2k$0w>j7XWfT+z=I_5POA z(&591c$kn<;a%Qdrc?{+2Hk56!TRWt4rsp9l(3a8q|PI&vAdx=!wD&L=}_B!!~)R6 zTV`n7>hac$Bhoy(jJ!wO3}iR@(f(a{B7R4IuR5MWLS0H_1tF)mUqg8RUIGI9!$7$- zs)f^}2Uy^IU7VtqyJI=>X_Lax3r)YOds=UB2fJ9n#^3%}hJx=zJNT=#{!>8U_pM9l zN6V&L%HJ>SJAUIo2)QryH@2S^3{W&noKI@Q<3{gvFM&VI1N`c`Tp9DMuABlUX2Q1p z4jzR4e2nt1P3T{FUP9PK)KP`?TgS@A%=Ag_jlZ2N@qGxnc~hLxU#}L11y7hS z@~dOR;X+wO|7&J$Mkz&E)!y6g+iMH=nZ&x{$D(v8SCiMT>jZP>T+|d|g@@N~4zC6GfJo4!OlWlA%sV2Tm8wjSkEu$PD6n z?#(F4KIZ&|si!qSP@w!9q|-ul?@&=84}OcgS`T3db?)fY2SVT&U16~V%lH^S;vE^q zN+g}QNQrI_|>WFbqK6+8tqGSZN^RDAc|(aNvQ?@0j3-|j)UFf8@jRRxZH<#M>H> z)SF}{n)kw^bQ(U^s&zzJrR)=5`x){1;qcH-2>faUkMedzUipils=@hWX%|g(mI{aF zsXta`SlMZds+!E-Cc%+FxylTadQY|!ha?+7!b$1IJ+vDBYb5{Tx&5}%lToq61&Nk$ z;*sM2A^ndw{ukQ@$%9!#PN9}g=c8m3=A8{&-ot&WDFXww441pUDG61IV=t;TWPFqq zo_$0auYtT{e;k20b2SJ6$zaqH(OEzIX+_eq&o-puw{MHqG#%(QvnY}NwY7vm7UyWc zRn0sDa&BQExSyxe$_5!v#}<5Q+C!-0i#4}PVp+k6X-`SKBTFbQEMA(girtk-i+`$e zXsm?$vq7?3?~6}w&b{8=m+NwAl|KCB6+46)$+>#h@TR%fmVPBdUT}b*tmh9E3Yjrl zYOZ2$i&TxlU_Y`lGoqhah#&6BF_Q=rvKXKzaqh@J5;Roz85BOQ3@fwn?{C%NCY}&@ zi0+1XOlZfRM=2on%c>7L&c>dErF&zptg^K0WedpgTZ8hfSnNoZ3y>9-?wQU%cV~w> zwxW{H_1OeA%JI7E*rIbm&k;-qSo9GVI?;8dgfJG*JzA2dvPLvYs@7fk1kU=>SNuus z1V856o`;BauAdF`Gp3cnfI%T!2(ezDb|b-L0nySws=A=})eaG|tuROAS;oWlnjttklbph|2_EE4+HvH?rzm zX}4Ppi|WXC^sCifV4T>T+QYQP=ut}vgmE09V9JpE^LEGnmY*l*it4cTlf7CnjG*%UbU`Y4AzSvy)Wv{2Y?-G2F7o48uDK!LJxFb$qxk1sgh z#BL)=IX;^ksPRyzs=ktL#3awQcFeB=h5n>o>*b>;xnYvKeL=@s=Rk~lTz#qwrExbc zsMoE87NlwSY?`nH211RwM6bVnd2TtcFbb-DIf=D=*8GC|qDY;~Y~0bC0F26v=O}lV zj-^TY7@k|XZv=rr$lm{tx4op}Hx0i(n&M9Z?8P5r3|y9st|pLpKdRa7M)`8e7 zAHxk zhVE|X#xT4Lj9o(21U7_^t8m4FU_R83EaVUvj+AJ1cN#}B?-dyEZfyzsm?_c{A|GO)I`kLETiTeI2qnaa@yfCPrf7<;uz-% zCtmTx!I~+X3Pd?FVaS(*k}_EYG)(1d1w_#@P=KrH{ptaZ$M6jPfT}{dR)U8K88DD# zP;o^eBUrc%2$)NRAnVKQ(@?JTeG@I1%5W#g$-<5u5Ub&zR>(bA1MX1+F&I=&Lq>)+$`$%SxTIkqe;83NJ*o(aT3vJ3 z>(qXAs*X{^iJZ(9<1q^+E0tLZ(b;6cg1{eYLDnWD^Q%x8M(MSROiE{tkI6;vu$BG^ zs!X&ZUh1%DhDOf|ZU6GqidZVPw8$alXr%_%dGfqSR@kN4I>t(#^MNWx_`@dvSuz(I z9ZOkTaI21{GjmGC;iUit-+mVj0;E8oa{}&3ADG(PXVDt%Tns!Yg;PsB0_pSdTNns4 z$1++SE)Fr1SyiUhr9VQ68}SN~3n0^nrwz*)OS`lg*(?bhnVmuMhfY_X2v=C%iXu8JgaWH z$xAamYeFS|-a->zA6F7v z=(O|O34ut~z0u)XXL5_j<3C|5YVcJEzp;6e+4icf<&3h+_eZ$@PM6q=~Fj3zQ%JNVK!5KCzVk&?HQ!f*h&x6*^^TI zhvO~kGdJ~F4aXdSC^g8>ucIbkm(X-D%CIa%B%d@wa%)Y+Lv6xd*k81$FA=C%$r3I5 zXg`KT$n7qc|NI40(*1U8RL(tjQQ);4AJ1WeeZ-`xne-hqVmgHiwaD$^DW={qS$weY z*?&#PS55{SH`|eAfk0M^Gwa#tg5z>9e|s;-3pl(o`)A(mRE|Y6Zmi?ztEb%EQc@EgEF~oN$Hojyh7RrBtbC>i_CgM z&Sx?+I(IDWl^se=O+x{ydqU#6WGDion^BzN8*%s&=6q-MTaS`leR`>9AZpZf6+qX8 zfi6VX({{aSJAefsFErv$z7=gX zgG<35?p8&pDm6UC&ai*u-K)Ldky56%wWs9|=_?uP*)ds$AAPs2=5F_}VAp_Gcc*OW zUqCn|sL?m+>z?am1#@m9&wa25OPD*h4dm%z?-Cc5Qy zmqL!q$PTqG(>0zMt3bfg=|nLz4Q)8_CK^)aT$1oWxbI`ozRl{RJG>AUI{+pV6uh5- zfyVnUg;?so_X)KeiT1)DFf&J;3FYHG`Kh(Mhn%6!8f5y2uS+Lz260=R-XoXoljC-x zguP}4P$+DA8V{myZ(0n`Ao>q^&~2((uQoo|Jt*XWVaK<2>%^8cIt>NT8xrx3o%D&a zoCXkC!Mk2@8O0LQ%=#PzMl5kjb@z*vJnyA8XI=VGjoGQF{9LY!-Y=*33qGf-)ZuU= zAgS;fe!>7aq((fbxYa#2eD~yGY=VJ~Z?cP!RMb1WB;*fUd-->6DP#$=&>(FV54`XCmAZ~?gMi%Zwi8~Io48L1v#!s&hGB8 zwvp+$ouwBegW0h>{|o;O)o*ccU;6#EAk4k~Z$SUO(YKZBK9_HULj2AF)=%U9Kd^MU z_4iiz8ew}Cr61kO5?k1jk^Qkp!uKRCrf77{8wkW(8E&1{m^%PTYoC{md9CjoYJs_W zLJGQ{bs|5}>WNaL+;CoLKF^7J_W52U%CK?uedV|$iL7SN2z#JxCqkN-XNBPg^MNuuky5O1f=Rf;s# z&2+LkBth~}`J_E0(bjXu-Pa!N$tJ>Jr$@fq@$a*O|KoyBR!UuMAOUWyyU!;FKZd-U zUze(P{&#bCLPxhAuN(0*Qa66YUZ34c(f|WN+iHS>Nb~V1+iftsrh?PpodfIj-d&o9 zgKvBWX%0`lMI@PIuu}+1@I!dPKL_%{oDhpIBoP8>lnSF$D@3Y({|)QSS4xVgYFeVT zfMjlO=n~AcJwPxqKb;hEb{4C zego$ia(lCL#EM-g>)J)pw2^mH{YBmDIW^jtrjwb>^s20w=G`Z{gA=c4*D)G8H^zxx zLm+f}42Dj>h=3$ES`&+#>Q4Xera}= zzFn-nxv7F7rnbnNP2sNS0WHm;1Lc(!j{Y%p$MZunOS7gu5JQc|^h$R%zO*@`TfnN? z&B{%};YS-Rd;O0DT5MOr@AhYbF^dl+h={0KwErF0vSZ8{nI4^MSVg>g5#cu7rY4YJ zwX?oH{K<=S`EruW>R@v-WYNv@)ysdnoBw~9vj47-6eoWJh~qZVOZposM|J}ID~xQZ wSYkjTt2?;43U~mNP*an>mp4Zg6OfP_av#Bwe+nFeC;#4o`oCKx@^$h*0S6v8!~g&Q literal 0 HcmV?d00001