From ebfa72cf8dd33b5927a38d337f32cfe769c42b38 Mon Sep 17 00:00:00 2001 From: Michael Kennedy Date: Thu, 22 Aug 2019 17:43:56 -0700 Subject: [PATCH 001/104] Fixes security issue with flask foundation lib. --- days/001-004-flask-intro/code/requirements.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/days/001-004-flask-intro/code/requirements.txt b/days/001-004-flask-intro/code/requirements.txt index 0da7981e..be3088b7 100644 --- a/days/001-004-flask-intro/code/requirements.txt +++ b/days/001-004-flask-intro/code/requirements.txt @@ -4,4 +4,4 @@ itsdangerous==0.24 Jinja2>=2.10.1 MarkupSafe==1.0 python-dotenv==0.9.1 -Werkzeug==0.14.1 +werkzeug>=0.15.3 From 89916084d7186716caee4c726519bd70b3d1d3d7 Mon Sep 17 00:00:00 2001 From: Michael Kennedy Date: Thu, 22 Aug 2019 17:44:31 -0700 Subject: [PATCH 002/104] Fixes security issue with flask foundation lib. --- days/017-020-flask-call-apis/code/requirements.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/days/017-020-flask-call-apis/code/requirements.txt b/days/017-020-flask-call-apis/code/requirements.txt index fdbf32f9..622d7bb5 100644 --- a/days/017-020-flask-call-apis/code/requirements.txt +++ b/days/017-020-flask-call-apis/code/requirements.txt @@ -9,4 +9,4 @@ MarkupSafe==1.0 python-dotenv==0.9.1 requests>=2.21.0 urllib3==1.24.2 -Werkzeug==0.14.1 +werkzeug>=0.15.3 From 5284145e849b17227eaf6a3a31f2087ae11f1945 Mon Sep 17 00:00:00 2001 From: Michael Kennedy Date: Thu, 22 Aug 2019 17:44:55 -0700 Subject: [PATCH 003/104] Fixes security issue with flask foundation lib. --- days/065-068-heroku-deployment/code/requirements.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/days/065-068-heroku-deployment/code/requirements.txt b/days/065-068-heroku-deployment/code/requirements.txt index 127c5a6c..efebf137 100644 --- a/days/065-068-heroku-deployment/code/requirements.txt +++ b/days/065-068-heroku-deployment/code/requirements.txt @@ -6,4 +6,4 @@ Jinja2>=2.10.1 MarkupSafe==1.1.1 python-http-client==3.1.0 sendgrid==5.6.0 -Werkzeug==0.14.1 +werkzeug>=0.15.3 From 7579376b215e17db1170d1265be10fcb954776ff Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Honza=20=C5=A0pa=C4=8Dek?= <44144367+dev-hospa@users.noreply.github.com> Date: Thu, 29 Aug 2019 20:24:23 +0200 Subject: [PATCH 004/104] fixed small typo in import_data.py changed 3nd to 3rd --- .../demo/hovershare_app_final/import_data.py | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/days/033-036-sqlalchemy-orm/demo/hovershare_app_final/import_data.py b/days/033-036-sqlalchemy-orm/demo/hovershare_app_final/import_data.py index 42c2077f..ec72b9fe 100644 --- a/days/033-036-sqlalchemy-orm/demo/hovershare_app_final/import_data.py +++ b/days/033-036-sqlalchemy-orm/demo/hovershare_app_final/import_data.py @@ -28,9 +28,9 @@ def __import_scooters(): 'Hover-1 2nd edition', 'Hover-1 Sport 2nd edition', 'Hover-1 Touring 2nd edition', - 'Hover-1 3nd edition', - 'Hover-1 Sport 3nd edition', - 'Hover-1 Touring 3nd edition', + 'Hover-1 3rd edition', + 'Hover-1 Sport 3rd edition', + 'Hover-1 Touring 3rd edition', ] vin_values = 'ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789' From 1aabe58bc29e5453d77dae96e24cb2c2adc2b3f7 Mon Sep 17 00:00:00 2001 From: Bob Belderbos Date: Tue, 10 Sep 2019 10:51:21 +0200 Subject: [PATCH 005/104] add DEFAULT_SCHEMA_CLASS (issue 18) --- days/069-072-django-rest/demo/mysite/settings.py | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/days/069-072-django-rest/demo/mysite/settings.py b/days/069-072-django-rest/demo/mysite/settings.py index 10dbd754..5fc03b29 100644 --- a/days/069-072-django-rest/demo/mysite/settings.py +++ b/days/069-072-django-rest/demo/mysite/settings.py @@ -143,5 +143,6 @@ REST_FRAMEWORK = { 'DEFAULT_PERMISSION_CLASSES': ( 'rest_framework.permissions.IsAuthenticatedOrReadOnly', - ) + ), + 'DEFAULT_SCHEMA_CLASS': 'rest_framework.schemas.coreapi.AutoSchema' } From 4364c9ab2948de1a3043f2fe656558ee65990252 Mon Sep 17 00:00:00 2001 From: Michael Kennedy Date: Wed, 11 Dec 2019 18:50:37 -0800 Subject: [PATCH 006/104] Compress these images to ship few bytes! --- readme_resources/100days-web.png | Bin 65979 -> 65978 bytes 1 file changed, 0 insertions(+), 0 deletions(-) diff --git a/readme_resources/100days-web.png b/readme_resources/100days-web.png index ba5cf0cbe4677a8a00bde0669bb234918ff1d6e8..41081e924c9ea2c9909f30a39cd345679be8cf3e 100644 GIT binary patch literal 65978 zcma&NWl&sQ)HQe;4^Dy;9D+;G-~^Z8?jGFT8w&(?3GOZ-xJz(%f(LhZ>*+jSz28ht zP0h@YK7D`m?e5y=p0)R0Ywhof@{(xCgvbB@ph-)KDFXl;^b$rG2?6@{E(v=M0D%Ie z#XhTgfQ}dYKs~|$@VP9;C1f6}6xQ9{cz}PGXkzGg+OZjl2zmn<^aX(bEdbKL1^jRM zf4e06?*lOZ*8k7T|NA!z%gPO>{dd2=@PBWhe=FwyuS;R*@6iGPD;^-iMvps0d=P&0 zGU&3JsnurFDZ?9!BnBf%o&hFCB;p*FtA`{`oOK}ZarQj*n;!?GHy0qcybw}!Z zRzJ2Zv?_kNP>sH0Huo(g>B&%wqU-aOgk;caEm30#YrjZ)By4FHy{y-4G=B8{(cu_9 zmQ|$KNxbcOHog6Jquv+J=#nt_A{|*h3CU7_N-{)t-Eb-KAnf>&)(#9X%3u&G8; zd8c_=nufTp@8x?rQC{@W6GwZUgo2>23=5G$wm?2*DHrYJeft6ea9UNrODnK{Z$js! z`ufWQqNT8Q7O(c!|C9lK>tNBr>gx zd(E1mI{hc+32B^4zw1HL~M-Egm%?_!Noo6?ea(@2_gr;YOS( znJ^w3?*Ucr@9wZ>qm%sP3r}TsLEp#7weN$jmzN)CUG+h6He>@@r!qu|cf6!^<2j z%Z-Uxu4#N7p5dVquy77-5>rux6zPmGPW0leDpaJ z6i?IH7X?7nnMi2rNNkxd)6zrf$h;p8{?cT>#qb0+=-LS~U^d30K+K|5w88Nov~3~r zbxNKe9tlm~U~Blq@OGHlxpo|lOrL4nKE3l2I%d9)XsLtcau`L|wuY#bx--@JgsdU8 z$x627uesw2~8!etx5W+^Bj}D~%B}Uqj+(Z<&-g zIu^tUrUHc*K7xDgpNp&x_U!`Y+k7N&{xMV zQ=Y05(1HB|Q?{nXm%HS_)uve0FQF3^4)lLL1!L z={T=vwU6%7vJ30fsJ@z-p{TBB{Iz##)j%e${=?O-{vdzSnQXG3g6q)wR8}l1Z`?9a z(=7ymV=)0jKX@QR10GPF4!Bn)1}2+Gx(`6j^_icl!{}!%h|xXQ64pP8vzfSAj+LhC z@Knme0Q(7u00n!}-MWDk4fGCY$k{A<+~}ulO{5RK02uG=eO_Xb(&P0X_RG2Z-S#oN6kXh3o}USTu2cj4{Bln>+DTUW>qH>aMR{eJVdtf;=5>${AXCHzVlhgY z=^=_sC3OT40;7j>?SQ*dn6D%BF(n8jwZ>o)^eTc!E*Z zU~K1b^tUw!fCWC2!*2%%za|D3VEd}7cGMj}q@!9#SKd4D-2Eozn$BOe^54Dx94yvI z@+K!io(OfLtXr$+oEe5JO)yag6w961D?3vVH9YiaKfP?ERRRlMH%6Zp7B%PZW3MpvsPquQR}j7Hl+o#|d=xTeVdRwv=AV98!OPQUHjYum&<#1pqKQP!mMG9Ih(sR&&n@oX=OfJkmCPMg*`6{+)s{_wAjA7n z4pCUDL6zkXK0I8>QaF4%)84w!iP^V0w&acfV1Njmwb~BF`T1FPcaoQZx{xK+p}|G? zPRVE53Q(mUDLo-gS+t-onR)%b?s!%0RxfLIDZH|q2BzZ4)!8cE@syDY!=--2$Z2oWNy9bIQbeZ%{_n$;WXfo@nF@Lla7qlA;P$(aarI*$T zjnks0<{u=9#EB|AC%}&_FBNAkUzzEQ%MvAjdxnHKMK_ehDmekQFF6B%@YnI`ZP8}E zBRx$=`Ns!tle?)7zP|A@rCH8N5Foc!$o|cZ_lH&fi+lKf`?9C}u$m&tNd%pk4B`^0 zeS*zA2>cxG)sktSi!X|^N>^I682@8JDX%%p=@^}j(^W}sfsCorlO%~C-oEz%{=C>1 zkc5WiUu@cjjzV+ccF?nMwuN#rWx^^$=^u+M#n)Jq5CN)oNPVv}6<<*X>PdV0_d0I= zbo38eii{W`e}m%~>D#_8S{S)znug9z$&ykfIwq-BPADV<^3m4Eu5~7fh2}XQSlEyg zM=?CY@{$;c?WxFNr&<>-Bk=7k5zlfvD&SMDp*qXP_yh;b^F9#&3=oitzJQM>NQ$=e z5+K7Oar5ZhXop)z_{`O%xjw%{Xv2z_f-Oyy?0ZW(&4P`^MLtDTK9|R#Eve~ya7W)) zxWBa>rd$AlW#4$#(NGaTM(>Y0a-ek;L`-MRU@4ZN-AO;U!a7Q{Xjv4Ojenkd6q{JA zdzZ@IgdBa@en0ayf2_CJXy?eutQYx_&FZT;P%sS~2d_?vbtJ^%R3LDR%S zgFDF=*DRt4d)%d)6f7j^>bQMNv4XpnkpHGI(a^G>Z_YKwIaz@U-;GwpI5OWt_Ip`+Ps@=2X)}_xQ|C2Osv~7R3Uj^? z(FsfUujkh#nx3O&R*me8pJS0<#qd-$UeuSG+OXU&J^f#6Q+9TQ_NKni^W8^jxKQ7s zf~7~_oq3nWzqjI&5#pvfq9Mv7_{QI+p|eVt!4UiGd-)N_X~WZ*Ao8yQk!*Np9gjJC zFyTChEX0|`1~zVFwqgNI$yVF)1fSSF`enZ_z_q~VSp#sUbFK+Lu=EX=OLQ!iaTy*2 zI=FRkfLH`XRKJ0{sP7Xf7Eb`s_mU#?%a6R;)h~w$S_b0lXR6$B!UN}R2wyd%zH;24 z=8EIAjk27?Oc*^O9UcCNMOi%~PRDI8R=|rO8S|)W*fS@cN#2lWpU$O1QS@Xbp(Fq1 zkN6e78b8uK=iGf*M>Pmg5PV3C?#JPU*A>XW*T?CBdlw=cB+_NcHu$DpdtTb8frQ3& z##MzclbeixHb4M$9$?>Pe=cy(yugce7R#sbZfyt{+TDIDuOIxiwZq<}b*=BIiM+lf zWkI%L07nHeM6B6}9I| zWdvsD>hjm>&JH^ZF;%*6=K>%sacjTdwVKiy#L|tukO0 z*_0IMP&d1bq{^j)4}<8zkTCOXrjsI+%ex^w0Jus;yUTmxVR0De`<*Jw9mV7Fa}v4Z zyU>7p?qSE#iX|M9Va^)Yaf^wJKAo>Y;++~!=g#`(nS;Vl^*veM{i6DG3VN@Mr`gYV zStDd%&+~7s9wTIYB&N3p;f4;n!wlV=ix3meWFVjG_RW+w+`&pNH6 z@((34&j>vpTIszN@!-6_H#4jkVv4o9jIGGQ+nUU>`(}SQtDe3L8c46gyTx{u_>f_} z#Q9O754{**v+c(x5`hKQ(`^00@ zM`B=6V7TI}P^J0ieC023IzDW_()09yxYFD1Y`| zeBycnuj1A?zO2sN9neMkVjy<3&orw$;+(il*Q+a%IdIoemEd1@J+$es$*RG!R|tD> zknsC$>TZ$qCg?=4qhx`M&RY0PSZ?y3oC+3P=;8WY0(+eq4h-DIZE!I(vCE1z5S=zmvI z1d2Q<8ul+93{2PLK1cRJA(~r82i^lftoj?XIcdE_+je>9X#4Vt&U0$E)U_fNg1mf` zQ=zM27Dm0xwL{A4Gn7|Ir4`RhZjpV4;Ak1nrHTi_n6K&@w_J>n5=)H4SG)uD?5)|4_yS*f5K1sq>CEmGE??NxlBYU-a?dbtbC!PU@?v28SaOZE8!y zo(9jRMxYJ>fn!Hg$UI5uk&GihmqG0$Zg!_pi_uB(?a))Cvi(!4fmX4DN&+i=4%IKo zOn8`%di$@^E&abQS`p?-(NVd~KJ`nvWyrHl|3rO?xRvtwW^I4DJaB*oH^qhFQ8QD< zm+4I#Zr;+ykpE*N8%DMEHlfmf$vRf*z>>A$dZzT4FxcrA4gA@P3kfTxFLzUQ^Bkh@ z*hAZ0T>U1o<<_~)HT5m)))TkD!qEJ((?mkfi2Hb6>SD4h;D87-#&xhqUG(~GEy_zv zwL2nXEw=Wp)9kD1a!29t^g7P)KRU~-t+aun9nNP;dizSKqmUBaGY@2CG-Hc7=T#$kYdCV#not_%%zJ2zDt*pRZFBuj# znQ%t0aCmsRQZD)M*@I)@;v!c!rnCzu7$JoKB&KJg{n``NV|TG?N}Dfq*q&65+c%=878WxA=opOS zTt)znQPA@kN|ovsA8%~aSn^2TI>j`5nC(Re0jRZOjMd(r22FWhof)vXg(#Uk&?@sU zK{Dz5EvRlZXnMl>00IEv`Dxx#Zj6;xGwIwaeQC0#M>C0xr=-~*Ol%n*oPu|fod1gN zx0eB6jGmc;*sDf?nTQ{sei6nmkY$oue7~juNBn>Ra_$+W^rs`fhscO4@(ypv*RK@n zXlms*_OdmvlC*tT$}sSIr;%{W&|Qfg586dnWmmNv!7_8m6?2w2RgUA0odeG|jfFy*ZT598af?Pw*jwa9-m zTXIAk;1trn9b3;bdaqzdc)_*#xnw}a@R9HMub7*O%wre9LG`c}`boN@X_ z`T1|1USa;35NBNTe_ve{^3V3r8Mlk!wER>UQ5dox`v<{zQ*o~~r=e~mlMm7N1P){w4A(Myie0&JG1nKx%>RVLr(j-vjnnsgh^RjeB22&DHNzF%cI-wU#8__7`++x@I*cQ$objp zJrmvD(ui1C2LHqzriJ5hfBQ!o=qk39_;j{`)$R%*+v~P_Zjq|&$qaBBuEHr z-OFfm4K!93iY&6{v=w}PJBfOq}nN-J)}gzHD$RF=Y&{yR;PmXXwlz& z+WOb94hhnWZX^$Fr%!rxUmzO0acheJm3WMk{nDi^63SC$Ia&x!FA?w(23=Ux^Yi6+;B8q(03xBoiLZUj4 zQq$!Q2=^h;e;f94n=;5o<5T+!J~q-zMlEbkH16udM0QZU0juwYt_ufT=>XuXt%#+8 zSsa+iAuJ&IEtydedAspPd=y35r}0o^tThNep}VCgWzONd#S6(~ly&?R;z~ zeYmt(3FgB>n&>?qZYdZrhB2BVvijWCwz@4Yn{7cr$!=FbAVvsZc46YzGZ?SWPRrz5 zCqxx;8(fgDA7b4ubFn_YhpVLMM?H5J9eYe0Z+}LspgbiF>teq{UP>I4a92`R8G~%~ zUR8BjVlESw!^=KkHu@hC8*d?U@rik{w_aDQG5klCQkl(JG4ft3T>b5|$rcV9ruDg-}A5FPp!kATl%Z@AIi!uJEw1pRqbDi*sz~j%uFH4 zs3AgyMVFn0Ltd_b@0jL0`+T>bq8@DcfSSX|yb^{dB6_!R&ei7R{=96({GGGd@SI02 zvu_Ysvc3?{pBU9tK+WR@7HkO#8c=ij_ptR>CM({|7aM%_xwH=y6CzJ0Xj0t0XZ4g3 zDrh1aQe~%kORsNg-O=Auw(SGkKY|DtAff zJoB$qu=t)M#un8P*@T&{003P5n@6GB%nQdb?XK)-NXz}Kif@do(|mBoy1u-Fi^YVw za1A2NB*kmFvIhX`w51aC7r_)w+Op}|J9#Zc6JsU2%xpn#iM>rH!@(X0VJTLxCsFCH zKMu;RhFK*rJ|D`%cas;O4+jN=RR(kfzfoCWqRM-HZs=0AJSmFK6Iq>t5~{2145JnB zeZ?x?dqQRb-SU_uXI(!E2Y|swM(Sm+x`82&AzG8`7)>Uq!3KRf=G0bA9nN(*gHy#=G$o*828#X@he;;w#}Myhp;Sh<d_}ycC!;LJ z+?1&HD`;1zlZhBP`^PJa7Y*&(1G#Zuu1|NvRO7g3-olrhgyoQqIwj&CPVxCGtl75k zz~wJU=o$ukZewpPE4O16s|NlM&1OPL#Wvpbgz?6fg$v_7%N4H>BJio~TxFQC+Ie{H zEiZN^<@{AsLQ`9t0ZIZ}jhon-i)nBuk;W1^&Kcu+)z(_fus;7oOvUu{Gks zyXd0C_n{PQixDhqp85>6pU6O0BBn4dvIVJjv2@glifdokV5cHF+kn@&koAw9=2;jW zgGqlsN-|~tS*5D}DD;o*>#C9?00(Zc0{|*tz4Z9IMQ*MWj^AvC{2R4FP*cPqA4e-= zD8gO}$_Fs=HeHmcb_VI5^#c^_&8f;-vS%Z~k;+JNg-#5w?qFN6sbu(2^l%rex{*iM zRrrIjFxy|q)$u$CY?%62 zU|j|OMG8T7$984>{qPz8>gTnL)%#RMoB*eDdGa$v*v3Vbit3|>Opg?g*Uc7PD_ILS zf=K^k5J1Qe8@%_ox$RC+&!nxmepje4va9>>Y)khe((fso>680$@vOH>e2N9^!_2KO zce2qex#(cv&SRCwHMjFGY2lhy#*;yIxn$2>Tft@GEc@<{4jGNSXpsh_EDTB@>xsRp zy~lqGvgPw$fhqULB_!GFRP4olzbn&5jQnS#6%?a?CmPHUb<+VK92&UB)iRXYFs8IZ zsJ-U`kUcwp-#LqYTZaYMQDj}%J`i~xOo{^(MlqRtjRfw(v?r3vHhGmPKO6;m3#4qP zNB{@UIlu(f9PtiKf)h0njROc|#Pp9zq{Y_-CEKyNM3$n1NYk=HG9=Ntv%d3K%i`{F zg}uNmz5&Br!kMFuhemoe|KjBAMC!te%inb0lt(@^&SKg9(3OZRm;FbN<{wiD3$(^8 zvY)5`hGDhDPPEn&`&1$|j&uU-HMvczI?8Huc#&+aW?~UnD#68%G(eXnMS!~NRTyJU z3lJ|fI`nSeJIH7MAz%_4J;^NJWF{|AmmKodvzT8h&N7g7%|RphGv)3IH`4-1iLb>< zl0lp6KDoDa3e}9PyqNjlbaK=_uQ#G&jHI<5Jf)cWLZg-uxa=kwmt^DLbLH%W@=!~p zm51QDd{18*ug9Qi$J!#a7%wpGsj?Fgq}Nlu;E&&|K)EkDAg25ir#DBDDEq9wz0JUH zFp(|9nAl4#4UjP|z)%xCMV{?=ZhCq!XLVBQSza;~?>vo#_T?}Yj*Q%{Y^4~r)2Yp# zje+q2Pmv2W4qWN>Gm%kv$6ZaHxBNdVlGK+wsBWH!K8C)MSp|6Z;W(p=HTuaS2j7#O zQ$zyb5aa6elSS(_mNoC^W&pNUj)PJwPKaWMmRP#nlw_L|z)ZO3MWxG7JB?{KszOag z2c_Z+Tl)K?%{}qwAT!;R&xg%-wGB8@43Ln~qi@%+R}R!qgM1 z`h$afVwhI=S&Kii9_~U9Mw7fUTYiFtLImd<0qA%?f9;oaC^$j9Oz*5XK*siH>9sSK6!mOD|*m-`DTyO9r>#u8P%l8@UnQNbDGxHo+>G4D| zMKQRmeBN?gnQm%;h<2=*K>XQB$&T2R$hfkBQepM+RvziO{6fTYH@c>%rm-6B7C=#-uHte@U35#f_>lS@)KK1wL< z@RXXHn!UnZ?W%ha0rg{_IiCeySM_>bOZOI%UIZ2%4fFdFf*ty*AJ}AYHGU2d_)#GLU2m&thaYu$_nLq7BUe5 z4h~$6`TemRD&7pMnHI)1RsV6v$YEHZaT-f*13`G^Ic>G_QhN_k21@b~1FWtiJBu!; zQQo$Ock&|yi#$nkJ;27tR?G4YuLL?Pq89OgZ+Mzora{T8#oFS`Qtjhw`g#*Q2Giuk1#j3K|C(}xdq7md??J%SZIpd30 z?`}Sp5dpE%im~5%<_7`e5+lb?L61$_KhOa<^W-o-X61b#LX6uDX9X=(kL?%`tZpnv0@Q&6yhj&c`J@7D{0QmMg1&lCzwe zIi!gnx~JsHH;GvC@#to;F{MyzBl1R_PbTiU0=f_VnXVA>oAK*N1L3Ka#e-h8=jyom zrB#idYSw31rvs2r0K{nReOW8@-)Bc`Ve!7Rot|5jJLg20b*4E$*kJBX-0wokj5k26 z`Zgwlm}B)?Kw5E!Mem6PAn1exDwy<2?!YxBX+64{)`L2htGO-tqzEh;75;@FaD0op z*dlF&k(C-QRIr)+owl0v@615^Ggv@BnDr)7-qY3)Luz+%fT%nchHP@-IN7Lj93!hn z0|D>=-+qm!r2Ul`MbyV1{FeC^v7ZX>t#JWydA~_VxvNC?``Hq-dsA2GF7X%o_(TT z%IvAp#I6L9f$M`nVRw##MDr=#pwVngQGMRQM$ZFLX9gH`2Dvo zPZdO_dOx+={f!|ZR%9MA_CJKw8edo*QcC2ZUa&J{kG_%8IwFXCMqFwhS?L`<3S=2a zuHO}T78X!?W1rUxbIKWtS56P7Wy(W;Ln6l5M)YI*u&%e#?F9t@@7=Xqc!p#=IFIaS zWaJy0!X)+TW$kD{MLVHYXLfitO#-8QajgmvAk1#=wlMs^glcqv7GG0)rpBdO9{bPJ zU<8GC?-f*&Ve4E`gPRP%b@`FGP5@zn8I;L$;na_ekQR5@Hw%&DvZdh|#&O_TNs02g z5YX*=6p=<0SG`sII)ka@{lP-aB#>w($nyFur`joi(ssG9BG&313WM$U7 zTUal(GE^}Cgn(9c4?it8a2JHk#j{UE0T;fkFNOpl83y^cCi#4~dmlqRLo8A&H_WMG z{Y){S+R(y!ACWgQc!~gg8s*9kOa?{Vb}Lv{+j&VoF*dg^$`clBkkl{z5X$l$4bxvQ(e$dZ zV~;vz4X@d=-b*&s-5z^V@G$`R9XXz&v$#G99a_b7>+~7#d)&a=l!~q=V!(lEF2^JJ zJ!$E2c5ECG(Cqi_J_ts8$me05^;upC&A*nf%8R5d(_!{%>xa z5N_{}1Kn+J8GSjLn?4MIefIRWZWZ&+;dZYFvR0fedh%qHq{vu*X8AJA9@NR=xN3~Qn|5dU+j<8DZ zfCLAF!%t3FD!$tlCxY7Jmz5m=$YvTfsyzr*Mlf{hKN2B_ndF_>6m;QdI4aI&ckrw{ zJUM-u;!cIAW4pXnJE}A<+|^WhZZj$F&pt2mye@^{abf+x&kD000)bACS^7`O{~{YNv5eN@;Zn_jnxsKHQtS z5Z`uN4Bexy-5~u+g)qi%1%dTjM4ME!uaPB@_c2so`1BrsLpHWPW!Sq|jGBf1_6QekJ4`MBZieP`Eaf?AR(%Q46ullzxMIHgF?bSR z77SL&9{HJ2Sf8DhLtlj+fBZioc{qTyPN>t?U2jm!QEY8Md03>Z|^)2VN~z`Em8M#1&M!B&%0 zX|o)c&pQ&wkoSv*strB{&Op~xO&41DMF}I&#feKrvAzN)Iq^TG(r!fQK^hV$EeKg9Vf zQ$O}`)C`!#ci-#hY8h{##v*8JW&ba+m1*hmHY}2Ud>EDry7%IdxY!?h=S9i-CNi+R z&DzlqsX5s3cmV)XsV^bfQW6plbF+8(D0(6K5?m(-UgcJ?y9*>!Zc%ekM69h(LH}0R z2qalk|KWB?p3suR9C%}iyY z#)9-q!Y`4*M`P?+SK(NZ?%i0cY!L8Q4T_>`7;;zIxlQ_O#YGJv&>~jTJ>@;V&Al}p zB`e!srj~_g*G334_mjWUUwrfQD@f82^;}@h_%*jh3JqstZI3?|P@q_1h{*te|Mrtw zqXYM>Y+=z~JrID%IX`nK6Vf+dE!)mQc1k;a^^6Y;`s{$f5$?`YFz;T5y7Oz+S*Qn< z>fA(2IOb11zM_p&E{Pi}U(3VaekC1v3R6{kC=udLq8E9^O&>`Sr-m1^;$6FXmxLAAx7xiUANpFE{ z=a0_5n-X=VG$Ssukaov$1SeVOsy84!724!@Pcjr)LV@K)8+rB2bti6!S?NH=k%VKV z=Idw_CQAEPPtgTa-;*OZks^vyb!|y90qRT6l*YN(MF8syj=kW-k4csWBZl%=_S&ZtC;jWAkD-k=DZ{QnE!82w2zBIFeDja0Pj>yItl`zaz%;U7+F6hv@MV5EYJUB_jZnUoXZssN{XGkboxT z4+gLsDbZGrdS~##d62vA4YSG7$w1f(&Y1aG^*P|FJqx9_tiSq0fe8- z-8BAp&1Lg;Q*VkUWy{v`u;4CfILS2H@+Rl~7IUe!_?*Rc-*54rzM0);WE@|<7i7Sr zDpoA#Amqy$)Q<8{*%ZUs)~bBIXoW=(Ha^1==Co7sMm74Nhsk z$Tln9Ev`>hvkV~Z9Iux6VB^3IHdO{o(E(H?W&Ztx?UQrvpnEc^jA&2%xNq(uKhQ3x zkc~8&i-NLYpmu2Rym=2M^TF@5--LmZ?TJ-3WEJ1>m`v+gBA}QIEp7kxcF=xYk#+96 zh&-M^AYY}9n?jOaOs3T1M%L@XelMjrA%gyA(>Y=GdYAzWpzBa&=Mg=Nx{Y>+_-FWmtgr z5p&(Zn-^b{UUGm+==F_=CN4%;LLiP5pNgg)j^B#a)$ELaNw0 zSEK-V;=$8|va-S7QU~>7ZJ3lI5+C^{nLK-uJ!9rivc3HX-&2{Nuss|#-@4Wnk4Y*e zdPUNiv_Sc%yUs~<^;s_-waLiV;JObJB^D|@>z|{+i0vg|ry$_maa%mtzNvjkY9fnB1l79VI-kEcRomT0 z2)t}EZ#;1qqy0@L0)dc(MoC5R*1UrWBPIv0oeuFcKX7hA#n3CCq^IL!6H+XmX#v-4 zQwiUNob!TkH+u>~^DnLeBl1J;oVTb`%SLIRA{a|vU;xE$i*9pHCGGC2sZZ;6U78&_ z?X!lEzJ@k-3{FJsGgbPp-*;I{&Fi%dOjzIfAR2Ozyu12^_N~SpZ>t-xpq>#(Jk7>R0(Uxj>tWhW%(J z-N)IdT+ORcRwByW>1Xx=YRAcF%MH9L>EGkt#Tyjp2#WgRgBJ-=Q1uFHmHYs=NiU+r zlpYF6_bQ^+nH0!d*NqNPMl=GMU5W1)PU7y}dwHHU)Pq#nu7zc3h9bY6ezrO$ij&ef z$brsa90a%e_3kSgkrn~gEP4z_1?5FwY zFOOQK-L{u?7AL!|eDdy1{6cK=rz?dpB=*Q5TA81FB$6w$vt-<&!njrGBXk~dfUY>j zzWJ?X<4D9c9;v6s$VBCNP*W4rS=(D*n~@)|??t=_R?(NJmx#Iiar$mHJ}cWFZ;m@= zqH7Qnff-ntxiDW>;H}WT;ejulehF()*fIrWxJ`j9iS<%=Kn2|kk-ECC8bsos2}?M= zcF`LEN4T5j8eEc>o<&B#s^`+N;-b;~@ zVWu5Y_jZC32oaAk`K`%zYdKf&{aTUg@7U5yq$Ev@_@B?<_}|%~geo6tI)0IWfSlOh zCiiX{XU;ezUzRx!+<((RNa`_xVdIXDPoe(>aw(w?>dh=M3nqjO>+1EqfKGvN|DT!6 z%P=Q7*TYJ2&ca!l`y9h8RQfY8hdjJHPU06A_c&21ua-Qvjwzd zH}2CNH&4wm) z;xRjtyc2w=n6s~TTC~pUzd+_H$1+@RFT-Lo2{(~=NCo}{)jk?oF8b*UL+8wq*Ln^` zEhmOw_kBFn&sUYb>4aIFF~){EOpLG|j%jIshlAHaKt>UiHJ7;4>D*2FC};u6V#9+J zp7EPNi35AjoAIw#G5eM2mgmg2Z=Np&xHMy=1)NKE5$jmA3$Ptbqg+CxiOlBeW^XTD zb={}a60xyaT?N*ift=M_N~ju&vBBX%ej2dM=dd;_Pf5Q-k%cOBcEnx|``ba5RU0IHm=|u*jiSZf_%hRTHqS?g*abzzL`g>b)eMQI14%~>!n6OvNe@J z<3h_Hbvr<)2k#=b-Cu;zVq&A;lDhRxf9<|q2jtkdBC3!P)_IJi2m)$~FO4k`JA2FH zwDf6O2r@?P{SNLfTGXT@%nFhhW&&CZ&rMm+Z{qEZDRa_Eq$L12vt)WSK#tZ!z+}dS zYASe~{GO>e!iFH(x4tb#0#{wyO>8HHFRDBcFH`6l8`#J?XPSfTC4ICTd{T%`bVAv1 zBnC@7O|*NNI~`UZtS&$73!EN~vo#b>`;|6@lRfbBEAC2Yrd~4&O~E31+L< ziph7Des4KkZ6va(c_!W+#WK@}KG5OQkbvrYd zBxEj%RoXU@?+$6FGsCFAwC<$u{!Fm=WJVX`=O}L4Gy^+EeGi0hpGY;W@^bq- zF!cMx}+NfML;^G1*JQr;V3B5N;gOg0wUcdDRAiKkkZ|G&fECE*L&}K z-}mO@aA42bb7t18S+i#S)>=Db@d};j@o&*qm(pCVdd!DdtR~PB0tNtw_a&-K?a@q~ z7z#w;=OmtpEQ%L@m0~z-*ow3@-ehSfUsjX<;Tjp+@LE>vv>@m=a*q8S-@QCH z$kpI!EiB~ZBm4Isi3uH*x1_*gnrfNv@jgDD?#Xgu;kA0o{^7M{YO_)q#!p7HUIz-E z<7|#6WCk%2$N=aJ6|#IZIMTU8!=h$OVDd)Fv><$TLsyY|d?rxY&LNO}`t>3Yp$7VI z&HH6d;56*U2dXShPi}hU8v{rZP|!qAVoIjye~QT3@*c%CEf9A4+3I^QZzgeF=g(xI z{LnYCQnfd8Hi7X83N<`SU#S?AkdR9!b^}9GxPW#m=;%j%i^ zq!*kzULqqfwOKy%=cgN4sPnXL!&k}k9)Ix=A{^YuV>5zJ#Rai;2f#=^6f8z{`HY&g z^>Zu~fHcZcUcMC~s}%f;kyA^tB^3;D?}>eT@J8N^Q`(D3hSEu)C@<=)`>UNzcbAv< zd9BsL!78zjIP36l+FjjorwdI*ajtJt3~K1Xn~ldc_!68)B76-pzD{|2UZ^<1dv)2C zDev!p??CAcJ40s)O~ERN2NLN~fE!vtotDEMeNL_m;Th@-=6FQe34@>xVl2n=>BAit z&he#Tmw>(!e*n5Wf-MS39NCu#ec0oQQNtkjZAeCb znPY8QExx|K52kS83A3ZYL{orEd~)L!Voo=udAXgfrr~vnO?Rm?aM1eI@fKx`&ItA- zBSJ|*I7!j~=_^)_6$)GJw{hy%9TrbEy|f=r*eWoZP5nY)7Wh6UyB(bY#xsv&;6Lfc zm%nZO)Rcu<3z|~Q=u&O*4tmUR!ULfmWi#6I9CIOQu25TintE>(G|9T(u_x*6%^8Db zc~M(|Gkihy^(Ri7r>&?IbXdvDl)#XgPb9d?*JA4i1p*>r_*hTZ@ei(O8?OH-S1F%6 ziCpVE?4ufKztoY5ZNy-JL2*Nke~qsaKdxM48BbLQKbJk-Ze?wvO~Yx!<#`lBws&=T z3EG0VF|C%5H4gA$3|`P$>qzz>y!+=ba9wfqn+mSkP9s%5_wx#S_>7FsoZ=b_JgRwa z+xV!MTd}z9Xup6T(;nvU#T#$gigD&IMzZ~GnVZP>5cXpibv z@BBg0hfptd?>M6^LDj(jVoDikeNMk)3CIK;8Qh7kR!~=h(V_uU>T*j}VA#u;keJ-8 z>N`LVSwt*eOF3$Z?P$DkmnN&JM$momcaX~Lkt+?716rz~v>0vOio)Lht^gcVi7BAj4p-_17F(&UMAYf$CR|d10>hG5_H+Od3 zN_*HiBoK}x`4m85oKHykqV$u2_d$we_36Iv^Ql@^#?y);5Hj?^!3=3+W;_wpYv=HvF>@d^h}v_T>d#Nqvfqi;n5uO2?KU zCgi-s!bPIw-49zaYx4k&s<$6_(}PEBeXey=Mw0|ul-L`! z!Bja)_`w{lWzi!JafY+9C|YhO$>j5V57+jzG$MoW76#EjA)^soqvY6!-~gA`QJ66~ zHt{4cW@Jj_VvC@7T|o-bPsYty8)O#oee*DDD1*p%*Vg)Y*ssch zR~1BVlQemKUX8JDAb5)r6?}WL?&_tdjYYOs*B$0dUk=5#a9hymflrWSzeFvI!nqTz z6kF|uWV6!C;<(sjelZGH><{R!zHL@!SxUVmH~v|9N?XPcR}i5U*h6UNr}75(NU31i zp&#~(QrwD91;yw+(3J!)q%Jnd-<%&x0sH*F@K-Nt>oV{P9AW3w22=s=Ka z!gp1@)seg*$CcaAZ$kfI8D`{!9Oeh|a;%K>`1kAf^jCQwVGUTwc0Otk-&;N3cg6`mbd&Ieq?t|2}q zMq)cII{anSu|K6y7{9QlqX)H4<+;}RhQI(wSjs0BSCPk&+QOS-}ZCsGhS{{C1;oWVng>EW1SJ= zA0GbnT-U7{>Lke_UhQkWY)w{(LkXK$+HuYe>Q-W4Cs;8;l9}Dw`EvGCHgWy&SAFXs z6B76K8HUsK`PpX}(qsoYFY)eT_2ueffVY`@<~dg$GvsR;NPsu!OsXggkb_Vr)lJ}KBK*gmw{ygguA z;{i6E6`2uIi_UXYZq@4_jL@TJb~q*19i{t8n0hm5e2c*)odb zGy?7^$3BUYiOOKUtMqN-r`^QLo6o}(Mb;lV5IheQ9aQ&tK7mg=kk+T`fNPq@nk%HLuHUE`8F-+aex>5~z2QpZoW z9%m}SIFkDU<0S7z2qQfn^CuVk{a(O|eD}QCiT3H`b1dVDK~HswY?Onb!RS^haV>we>}%+Se|yT+Xc~Mj@Oa~sF{a~m_may7A>2(wx_(s{aV!Eo7BkuR zTf7tr4R7ZOH%4UP8ofj^ML1i%qg9?j@~pI+2#5N@KSeCz+nvdk>QT9tFyV_=hWl}* z_+m2)zt}|Mx?+~1!Rn@;2*$tG3La#}(O}KKRNWyCGyPf06;z~Kk_t87B}tkJmBnpP z5y&Bl>|;5=K9G*)hZMAWpbQk~lz$y{3NbiK;d$FuBo@kl|_k@F4CB-H}5m ziW;*p9MXT$f=>E7bB}me+3`Dm&5%`+C-$;&BlpTB$u7rBSky=@fra4rzS5|J^4`hM zlxq+PR~Lpioc!`9f|zxoKCc&=Oj0CmX<8Q~^5>KrHDCkD6}#zWv&uC>0I&K+!%x-k z*x7PV#97M@KFpC&63}3@eP(!s+e5fW-A9T1g(|Eh(qr%F_uE0tSr&_NlzDGjh=U2^ zn^ro33MRFk;3nW~RxG!*d8#hqcv~q;!%pv|NoGZ zxOH=mY>MO=l`;EY=YHw5l$XmtnHKUd*wO2oAx&HiU76tQp#4p}ujU-ty+k)~!RErj zOs}vl>s>4a_pVz|a=Z*qqz;s^ypa}HwWaNC3?F}uoH;1uROYw+G0M;DlRr0J&yJt- z`?;UI*rupGI1~x&=Z+56vzZkye%pm(fFz2WaIZx*#-M#5q%VAlLm0&Uoy+CLPM#P8kkQ4Dsi z$MV*=4vv03qQXfCNAVcYy{IR?8TER3Ib((b1htt>N#r_PujuhL!kaF5D>Njijk)Qf zIZ5$9kcA7!+I7yHukAVb?sd6&wk)l$q>_7=Go7V2`Fd6S4qFDU7J@6Lx&$a#VyCJd zW~&_vu3n5+XE?OL>I%$@H9UOB&r7Pyp{1tt4fue5csB`{!?Ky4V3ZVFw={A|q#k{} zv)ohS`Zn%JEigk95B!KMn3VDceyZz;t@|x>NyIUrnZhjTLsOhh4>nkf1RC%*pLKYz z;meH{MHEpJqz7) zOFlRTz?(!a+k{78Rhuhy%K&g%Nrr+9$c&c1T*)^dIZ(uJq$6*P$&+*()fK8PLxK>M z-rdXVwP7kuTRd4Bj{k5lES%1lU)6Utz4l=IL+w`1nDa?(-F+a=jSC$WfRu!YS(roL zZ6vn{tnnBV7EhG&>?w!{kaU*24$N$1wuo51IqOd3pIt7;Z;sU3^A%O~U)>cszvNjS zsmbpe&#X+SUIIgi_!t1-BEQ9&tn}tP8@HEeIDh6%;gr}$T*yM07M%~jY6%;i^v#^zwHq?9Xxb`5PliSzIr+!3z$Jno9vgx;@2W(O_1Nftrivj{0zLJ4i!ir9b zRPkX#)PULDFu?+n1uXxh8~u~O^uPX;`BMjeHCT}Delgtr0{-3yF|63DW!x^bi4?CO z%i62TM_it?l%Ypq+%=SuJVG$QulBL-QntL&B~gFA*8iK$995xPF?CJ&@5qL(xtm4n z6mN40LGPFpR`7-_x+ba9bp4e59eK=)-Wb0cFPFXo+gz{);^S;MK^%0sr1}OTJ)TZa zTVvT|3uamXAVu|_kKH&O=5C!*10l?jzTN4#>9z%bYU;SQ-yGp1VhGI2YG2%vfY;Qy zP%a4(^_LhMgVCCDXy6r6^TmZgdpJ^cD0zWjcEVly*uresA|oyuy|8t zU~$iQR|4Fq#>C9&oW=W_v2xp+;zE%+x#Tqs`*UVZz zH=g@wX$SL+8~Fr%VCSNqEt#{ju{cmW*{+U%RRdSEvG?;2^dl9;K)5gLQ=aw)b|?t& zyHMZb;l*sBzKP;omFz;8y#J>+2Lu38R?{L|*qh5_8iz@j5iuT#$J;DuaxK}AGQses5q877FmR2c@)6I zy8G!SWq!NPkY5Q-i%fkD19QXRK4ET>hF&I&o>=cT63GA;#!H^)$p2cH;KGxM4mD6T_FS=KCoqiRT$!iy5oVF>isyc`rwR@rAv{lBNDKl((h$%{Qq_)xoaYa*6?=P&WsLRmtb-1)hXSe1#1R@8zEPe+e%M`S{w(GXaugfrT+8In2 zuP-@CYqYYo-0Ire-rj^Y-Ir{!P>3GUwIav5hxa8TgN}-ZCaWto@+q+g8WO|~@m|fq zAjNU#==U#lWsI%utA^BE`0rrSMWj!FH3ggkMhtMpm*>GkzB_QG~4l+_egbyDdJGQ&+Udc087M6!UYuD*`#GDtiGMsdE zs|R`5*c2nu#k`fE-2)D(+=QSHT=udk8u0a*x@V5+gfxWscD`NscKHe4-a1DHc{h6( zxN>n4IK8}fE=@C$4n1GV=Vq7&vnmX+@Cd72IRAiJq^;76y2@{L7ZCUCw=v@p0F`Lq z!nrHp8vS(H_=M;M=%D|wTi4Yl{)ss@)`5^{b$Uq4k7xGfy=4a4z+$}5=Gmp&I&`$e zu;%AfRq^BrDr6v))&t=&y~W;j@e{ocXbl)tH54shvwMn(MM@g4gbXB-eS{{Toe9l* zz0SL!gYw*{WlC{%sRd{7PB}3M3!lIBHZa@|gEBsNQ26az8e(nSw_FF&Eb}0sBWhRt zYtfIe9mJl-QuBcE1E5wZ6QAYQJfMJUu-?~sB(MkZX^IpHNk;3R)qj_=T_>>V)o1yM zZpW(La$`k9htE@I`?Geg_Nk2lRnP3373uZCaik!EFT7xyP>+N9y(_wg^N(K3<`#L# zkY^^MvI$I6ei<#=fSJfJxuRePGx{+h@Btm;bZ>NFp?igs;bXbK)U{W{5(Tq3zG|4u zrbdjQU=@D97I$dmFU+H(qo0D42Ni0HieD)j+&5!3JX$CF4-Oi7W8u0A^( z!G8?(3R_8h{F0Qt^dMn4N5uD))NRtjU*>^{xQLfD=C8zq6{J;m8b#X9j#v{ zEFxCJM8F5?F&7jG!VXvyEDTxZ<;yR7zOrv+%_IDCk-dr$o`# z&wAQ}c1&=(8K>u6Al<9oKo}fFvo<;NCJvBlTHKp&XkWi5w`jLAGm{Zc_?*nXE7s1V=rUp*GP1_Q*?0+UWEQ6*Ie2(Q=L$5U9N zD*I}m{FXezF#)tq9z&2PO7`Y%R8xlNBo>RA0Ov$sc!r3jQ+HH4{t1AIhc^+KXH*ML z-Q@xpIk34U>WNtAD;-TdCpIfJZMol7cPt(4;o;HeL&8cg*rRZAsQ*T{y0k#X$tikI zjEQMAP-?lbwSwq=cF_-|2LR?$5McoWuh9epG2o>Ns@s3`aPX*eM$u|!xSP6b9PK^2 zTKhp1>2M~;#waSvurO!iUaUof)(r`$MA%TJ4m=gNm-|HMeaJtBSzl#kSI*Tu|)wG#QySL_PH3!GuHzTp= ze)w0EX^ciA$(c1bYAPyWUUm4$*9WR7(;Dy0sijA!rdUyd=}lB~49Es4*yD>!ng8Ym z8J9Wgl!rgW?crH(!xXeT--uZz=9kmrGn8HFytm5{ET-C8lCZfBc*1(nrx z1KlsP0fwI_Wb7bM{Bx`UWDJqavdl%jZS~O!_K$+Ln6BTzKw^7`KXf_VIvD?^rqlgK z^t$DhU5je$l$WQh;-E4a8SpdtCXF|o>$Xu4mIQq791eW~xC|KHTuOnY*4xfAKJ>S9e^{M-8Uz%ZU zg$@(cX?8l6KTs^JSD2P9$f%oTC1nQY7y(l&OKjwTyiE{A(0^E(3k}HMxbRJ3`r#;4 zZ64laKxAIUhJuN=9Be)P&fIVX5hPTMXj`C8bIO*pH=T^g{V7iv5?vGRSd~uf-;9Tg z`x;4xr`*%SWu>J~DnoDKH!@`E4HWU3Z~f|YyFG-GhGsE1ReBxOh-udKVlJ>(BVakr zzZ5Dw^b10L7P@K*^KWS`HJLdy^&!bJL6JUpnEjfQW4sSb5nfayN^UL?PwP-hbEzR1H7E>|v$Xe)TdgC*rm%geQs8j{};o2dGku zi>c?iyxrQ$=h=M{CPZeE1gpnO?Fw^t*gBA9QbU-dkXE_&{RW%#>z_|7+I)rh$L6A`vqsTC-}=|KL@@$ z&OsJv|05kx0a?>wV)yp5bF{J>7H>Z}Ih|jZ8J0PG2$h*8We+VGjX;y+*LD-NN#TLF zo^9ety0zcFwD%{*trz*fvn&WHNqHtD7+P^tCk@e%E)69|mPyw^19&C-|4X|BkReh* zq|xdz+t5|(234JbmZ`HcB;!0a%?%e*oqN^MP$}E~+cL}Y`Nkuf+qJ64I`%EJ7wKY3 zYl&GZrz{5i$*Ww5?EFk>psyN^{o_%Ee2~mup;J>5QVahw?YqAkp$zb8H0Ds^$uwMu z=e}9P0R7yqsld%>%+eM@0gb$wala|Mxc&jm#3b%Gkpowods3nr6y+P*%T|>m{-=%R zh8_z%qMLGXmE#PH%01ka^yKe8n!UG3GcyM3MblRFE@K&_06+2n9)$W;4EOlsst{UO z)rj=7*^-A&4T7s~^au}*&A3shHtnU*X}BAlt6P2iQPHm}p1cf?yexocrUe??*z_hA zYJz`sewrIgNT;2CD2nT{?DT#r>=9hfkOUt#1~AtovCJfevkyfmPyOw21A{Fb5&GZtkQo+tt0uKd?;-gRdKLF8X&eZi zG+cN+&^Ip!4&MGR8TiNKgZyu$>5ty}=L`k*>>tq%egO5)<-4x_c`<-*cjc~y|L`OP z{11FFfNyu@e=AYJE0DjH;9=Q6Ek6X?`c2Wblq5n10Qgr_1PspCIynEUUk@9i331S` z*Joepwf;{;-LSR zH2r^W)*t-;-)(PhoAR80s=uF8u<}e}e~6XK=YN{}uG7qRQg+I+AvvkFN|GXLb?nst zd91y(%6+tfo5cefdFkG5BbNL^*@9T>6<%@6tg=vu*5;&tZ>4neCn4GJ+djMef@1vl^d#iFjC3o0iz63G%c_Et7iO2st>LC-B!4NBSnjNd zIg0fp^1zK4dc1SB>*zDUr#Yt;N-i8cY`Z`r_Sxjg04+*FCjNhujFT3-S=~`!$rt)N zx1U;fVyHBU39%ge+}6R*HB9PF^vZSN1J*oyLa-My|C(wAEL*l_ri?I-YE7+E{4w2A zvMRmXb$T>_R;MiK2C*1z68QP4QzJauVrR`tz{QGR<+N+4e+u_O3bUQQi*fNiWMIea z@o-w`;r!lxO$)-rqE5*%*YcYQ^Yp)6lPCE-G*Co;iTLdO5p?J@xh7XRmH(7iV)XKf zudjAgKlRz=Aivwg&Z+_9S49JZgCh!iKBvioc+mhC!L}v1d(QC(ojc{YD zjmIuQmY_bFGtUx4whj=8x<)W&FN4#@E+b$gs#HjqbVQj~EW}rQ8EHU)PZAlc)N} zuXZ7aA86PvT3`Mph>W!h8WE)q0Cc4WFjjSO9Hd5>JW8p(U5u|~Kr(ZFl@^u8k>^=W zrS|Cs0c)upvxSh9=#w_`zSCfoE}rtFwI8)-LuT3W1mG!?977Od32A@yehDP zm*mB9dsYY2rwi0tH-npV+Y>2&nbWAmAYA?_$N)1eq0i=v-t@dbsw2|X0qM8-MsC70gq=l^%Y(?mRsps;I{X~Mw;JPI(pY{VoOpWiYbvDR%YcK zyejla>gx%u>QM+GYVsP1TCgAOUf4|IFkNWZnV9 z+Km%*A85hG_DQsSYS*J(Y`v33F2u^RwqKX=ND(M>+Rc+JIO;rq{(2$#anlDE45BcS z+ieotU(~Z#5dqPG!kMOJ@wZl5!PBU~el15>duaI&(0{6{;n6p~za0@tGF3n+Lh_2L z=(YP>!T&7X=F3Uz+BJ=Vn1P9R1%*PlXhpRLj}VDv-g8?gdJ>OuUqH29Z~ekS3|P!S z9e!I0%^VO8JfC~oj*Zi{kKV%guthJ{xb0OK^Xk010WG-)OgzU;g$TGHL0Ym{h0Q+r zv1y=OBSN@naV}CvpIOYaNBvDb|6r+FKVxz+Okn>puddjTr;~jzCNOuPzIjf)xtn#e z-`XJXUnDyC)na>wTFrb;8Mbgp>plDJK1PG|Ce&ja&2M1kkXu?)dBSbSi4UDUQA=Y> zn8bN1)yUZBWZB${bMZim{n_n%boK;8f$FtJD{F-w{7Tzd_8*32=lvH~@CzkZ{L73K z*G!Gfn+30Q%l!J!8_3KTv`e0y0!UfM1ijBa9B#hk5-rtqA>Ju61LHMfn}XfXg5asq z#uMWw$|XO_gQR#LP*u9)h7qH}JVb2-@T9)VIM!9wtY7&nKLHkL2_L5SLWPQqVxcS& z`aYnbS_4hecLgacXHhW>cEjONZO9U%$1F5knzP~2qG1OcO<|cDPd1IMslkVe^E65{ zu}XX3&KH~H+Zd(iMUUoxB7L=DCR|o)zq4!I@g?59U}(%3>6eX99i_Jry#$`KKVi{HEynEuF`z_kT@|q3P6D+zZ>#95P)T6s$gUofJv{3ae z>hE!=K+tQV5epJrihXDG;W%hJD3a9i?^F)(I4v`hZmX=uR%2dHM>PDOhQnmRns7HDPM3BUBPp)U?(jhXoH0bR_i zHE{w__g3QEOVh4al3T9v| z!GA8im8v^Y=zi9+Xl>i6Net-o^7)iS&*4t4R%~P+*n2B{I0aW;7TrI37Aj=xz!Ss} z!r{OZ3~3?dcar*bMofq`v-48pG2^487v|!hFOa5Z%J>cK6_%xvS87{o=);1ma&m&I zMZ_cz{8ZB=z7EnKG+5{&E!sC9t_6nbZ9TIE#d`k(Fx3X4FKE5!bC>6a>DUP| zgW3<}b(%6kLM}j%V3K!1Qz!jy?(rylFn4g^_PZ*@E2yikHsUSB0kz>m~wkXL`M&gjpd%ALR14QumDrX@ z7*qjSm0|t&UK-di;^IV)QmYO>yayPgFgDIORffDBad}JY-=QoE@OpdP_Em{938TGy zFMetGKdkc1`O;+c)x?5jRZ*?u@22+9JWCe`_o-)GotZ^pyJ{__g8r6oOgPBm0q5&C z*qxo7pNqp&ql&BaI;|KPJ03Wy9&B%IT{z9#;C>Cv!)m#>@LEcYO_vJ@fG;O?l@6*d zdEQL%Es+xwcUW+eeB{e-X;G_ciAzbLI*fAgT#&Wd+{DME0kJF+XC?@Zu+tZmYkbYA zP~JZ1ugPn_4j*6RW7#u18=HxHgxrS4tfHdH4l%UGZ7!7MyX2`KR+El zee_lJKx?SCmwu9jl&aSgA_-Bx`&}SHHvAUlszK<-j~^ZZii(OcYkmbMesgoxn?$eA zjt|cWSL*8O>dWKeNF)&nYnF6+zj?S64-Td}GTn~2;o!WF9fxD$uODLc{2CyZO4~W6 zV7XL?q8UE6(0CjWeQoLpXY)LRH-NZoKO~wi75C-khdr0|d8JM%DFw)r;6jG8dxa z4!?hP5=#ad!8b+F_ATRG+A*1oM)$kNSCL&N648^c4(3TmR44g5A)|P zjcwtI%tffc`A7R4IL0#e`)3Dd6BOgf03r(NnL!xP_YwWAvJPOja)h39etp~O9b@3u z4Ou?6w%@L}`EOyQ?hAh%&Q!rHo0&|Lx**FlurkxK(7jsAZAx&8NQp@}q6g0}M#q^1 z^lET8yk6{bYm4e=s!8D|1vxbbDL|p>DEgM{9xuOuKp_jj3!*v?HZ5y^Le}HE64bcNZyWVay9Ci-yn&^w>)9_+;Z{|MHFkBttT+KCjFhOxw<+*83*UYeu~L-SZ{@=_EQS`wCIow8X8)oCiI-h9~jJ( z=J9i!8=4P_fu<8%G*Un225#aL@~Mv{H#oZV<(JBH?khYA49?>Q>~ZR>1zxP^EWESx z+1Xpjqu6-6N}uN<9= zBdjJq>B;Y$#eYwBS;*jneH9a43~)=CU*SRgrRWU0J5N_0c6)5iiIaI-YMigXKt%?G zzptQsKPYYTZ6Za3w6{N=KYxcD^poQH85-!}buAz)99o{c`ihUmX+_%g;`;^XL$Q=M zyK~H?4fSHvYE{x512;d{)6j?206l7O=R!&C}%w zYwWeqBz*6w$7zGaaI<`)H%JL9l2!w8i6yOX*V3thL1hCEz?j(gRs-JAdO}YR20t+K z0M66F?fa|TH^*DipY(iZi~b%n3jt&qxvLh=n0{UPM!PFQ2$EDv_wW66i+bxAc=nTw z7dBVQy5xWthlFrGOZ1IALL79u|Hdq{ESnpbIcq7stMl zCWG#!cf1KrfmMAAm;>`uQflrAnbdn@(xym@mWK3A-({Q8B*MBL=5J^|A#SR@ z-#@emj3di*4n&ErEV$l0D(A96lKEDdskP&_NbC7tSv2DEphaBxqGIbW53_^ltlkkt z-OQA2MnA0I2evw;IcU3p%KNbW3|wtaVbRhb5u`K1Ed5~q_WpqBDy31-@=*QZgEuz^ zHu!XJq2KaUlSxE~^j&QDNo7pFiJmBTCKb z+fBEJ&Vnk&tKRGjBp}q|SGSpQps{Rz$pzZdsu++Mwp=64QN&>WW;WX!)Iu{jpO+rt z2zKF;1Wu(EvQq~7E0dh!L>dJCwfuO<06kJSU-EnH(|$!4EpM@Vr-4Nv+%7za*n>nm zk6j3n!~<#~bP6rMy}xk-B)91Ry_CDY{pNbf@l#YFAfFTYqaAD+dj1)d*<=ixDLmCZ z{Ebxf6a=hN>oF+TxOhjab0mQ8L#>Je{f(PUx&t>gAS37jd$ZMA3JMLdCLXI-J)Tkr zThixZ1h|-a$e7*jcbJtLlGGvOny`lo-vB4TQ-A;nHZHZ#9uHvi>750QWwpQHX$9!H ztnQQhv{ZSZ%@sEwnz%2cjnLd~m-4~n0cQ~HZIEW4HTSh&!Ql$lv3JNj(p}ILdu6}A ziLrcTK1r!*^Vn<&)o^SB`gUMR+ho8L`LCdp0o0kUTUk<=D(;mo6i0<_viU#%mYYJX zN-`TJA5#)0`DJDY`9R9%rsrp<5WXD^N>A~IAD&d1L3r>r=;1SGY^nwvoSzrGeH#FC zF~C@EJ)WEm+?Eu<&+``N7^fuC_t(^wjrT$-$GwZEmzQ^!-fwb{(de0W z=2UidH$v@CVGGt-TZB1oQGz9luN*b_`1rU-K_2d`<9BYjO}+fEU&QrOe@qA>Qu)P zc;bHQdscLg8yunD){jaIVCjjLAN&CFMS;SccpnvWDVex|%^WY_s{@YM~pr+fA!1AzH96+X0jZ|MShdhWd-Jff6OO0Qvc3=XEgh~G zwti!2KFpjvN1s(vqSG7Vi}5{LBn*lSNxm0g#Q;$7<>jFJgJ%8_eu{saN>Kq)fr4fk zjnu$=E;mf18}G_n=vdl?6Fg%LN1MA~u7#%8x2#)&C{V3WdBFuC{-A9lu4pbWHVC2S zhJ|!<`QbX?cU@UwidFVJb|_a8{y&JF%#(9Oao76K$Aq^YT~Y7w9CG}9Yd%B$-{CnG zR9@h^GoJIGl`GkEJyFv#Ix?)hJrG`9ERWgo{I-OEwZIe1V_~^#*;Zr{-LIS?G?y`e z7RJ7PLR7$!lQjx2PRp|(B%!g5;a|uW1HkDInYzcog8`UXwg<-t3Lvenp!%zl4`DbK z$R8n6EOJjM>Jdm=wVK^xxkK^4z~#X1HtlUln)l{jER+OwYErnk~TZ zpUDrRaNdla%gbo2%y^QaA4VQCSj0G>2wOa_UQf9C*3bkSF47D>794bU32v zDxmHDZNpZurO!&0c&SWY71yIqOknrU3G|Lqe8^zhu0RcyaLfJY!)_Ly#gpn~KDdWQ ztGa5x%qDfx$Z=eaUZ?utRoXY1wwY!)8rKoAT1L9u?T`x zjR1zG$i_^IpqRPD9v?)ix``?oV*!BL0zl`1g)D?%h z{tm!DGY+|y2h6~U>@R#B^2q6`C$QzENfWEMwEI&&B@bxxwjf zi;4K)?~niR*P;|S{~)hy!*A&aCHzJe;Ojd|<{-A+E@QloKXdx|!b9WA?M zg05-(B#d{w47AG00cI6O>nG3{loU#T#52t=27a>hemh2%$;}z%a!qi9yo|uo9}5WQ z>|b!fZ+2&3C|@}6NnO2|ylcO1Nf4nh+UHRmKT%bEytMGcpoM3K=U+q!c?UkQols8g z#MF+KmuLGLN_AUj-SQ^mSGlyQdA^P9QNrj%8I(&>)GVEB=VKMJ5(~T;69|3p;p1|% zN6meas54P$$VI|8b9>KiS9XI?!`$c3bLX-bMhWa`@WgWgom&YPODv-T+@ZouB*$wmMgdg zzp={4Wp0nU^lV>BFUydtDYrQtACaKrW7jW4ng6xh=8nV%^uFs$6WSC02e4S7=DC)~EgyFXJ;y%&;;p#1*qTar+;op$bB3*)_h@f=Wj3A*%r%D?jt$-*s zLrQ}|3k;xiN(oX@B9hWw3P|Gs^R4mx?Y!$J^mTao{Hy8Uka&)hRnGkF^m*s!yYD|VHmMDJrmE;)SdgnmR%>3 z5K>VygtB8c6gt;vIBb!j-4&)>)YPaacivX4%#HrKmq)G1Y!oSqti+#yR7eO(+`4wh z>(ZO4?PJ&F1+TI7Gik_k&_@bZN(ghB9%2u(70G*_owMU2BS+iT)2-ieUa)hj!@*z|~7w zD6L-oi&9rnMWHX%BB-~*YtMl~eLPdf6W?usw~1Ns?a+bYBGmZr8C&Stb2UwlTJ;QLUu0Lu9zQ|8tDe?AO$i+> z>X_pgUbo|kNhgzI2S30@+osf`+)EK=%l?{UJ0iHw*kUa3DhylDujHb*0=0BG;$gK< zc0N3{@ZnQv%JClH+)@W)iX}m%F+<4{c&23uVtdC|h>!cq-(SccmU3y2g%I3J(#?n}DNl@%FHhsPGd0q@_#pLt z#zMEp&ea)GG4*dx)x!xYpMrVS(h{GAMKyIQDs>2Lk-I}^=*`R-fu2*L76BEvmnDhq zVPByZVcP#zr{YPhQi+;6fm-J3!(iLw!CYlA)4|IR?n`;zyAH+Q`5w+2*S@x|V$BKk) zj{Rr@a6(Jx)TR>s6b{iC={cV0M1s}RGbg|f`dt=R?UOaemxeLx{Q@`MBdZPGhjw2! ztTM>zGs?CIcGByfe|FF$-`o5U;`>J8II8o3;+e<}m%eiFiY}r}1&xKF*~$Mm<`&WS zwEm$)yCJ)N=3^>;FRp}+sUJCX`dyl6{jN=N4HZ?S_uZ+>QYUkhO% z&xahUS|p4FYBkcqO=_$+7;~Sx1bXnb=JsQa_|O<-JEL#sa{aUPJPB5vYX;ZS`y_Fq z+A>NS`^=t%vsJy;hrSc8Km)tAuJ}OC>l3?n!*sOX{1N`!SZ8{d?DUwf6|a-M?wV zETG7T8=d;-jcL3wt7(V-q}7b2NR=cwj{3$7%d4sweiKM$M6U#9&@g3|5Q77=CHE9! z7K0l&<7F}$i_9QI?)s*S*=oIRfc)9A2HBYH4PHZGB|*fOGh}tdm&G{&s6V4PY>oBE zVQN3t>dSl=d$h^0(Jnue^~R^bl+^fdUZy|T(EU1KWgbEUv$D}kyP-y%bIKaExLSfK zGJ84mkLTDoSPMwDnp=pd@BM)_dWseGwZ5=D}u~z?yH+kMbvv zp%!V*L(VY|7C@XsR1544mA+mb%68H(On z^A)evmrc_TIRg~;DhEC8e(GghIiINZaJ&ZDNXOU4?#tbBnkVv^fFnI7v-X<4nr5bf zC8#HzOFH6D_(c1=@b0c*^p=X>fYx9{Ke2v`)r}vib?{r&KT3lsHzKP5N_E;xRL@ zIYh4gXSfQcpZyL~OL8m9C$exZDkF~gYh0(t_~zr_3Kyu_^&6XPWj!hM{br{5V8#1= zp3|PYPfJ%nPNkTLy@;JXUC)#pcX*)kYx@CExQ@J%ds^92YD&nHd!eV?K>|q-NPLo! z**3508&Q5_SA?nmH`?8W=7l<|@p@N}yM>59s|GP2&X-fxueK1i&S zwkPm7DUGJOxVG~$X0BEoHV+2WR>s9Fj&4r5Pt;iAp7Vg$yZZWcm94%Fc-$+1<{#b( z%@@D$TE)ngAxeiH${)z=WcA_)9i~5t%8bei@mvU1y{1mM9yMpM3-@raaTp#jeWAK~ zp1NB94cF;UtzXU*b&*qG*l}V%7J7U8PlXcS`A-gIkm#)}9Jy*+!!Xc%G!9 z?{nXP(5Uc`m}~!*Cl$GPC2^ZR@TPy9ASBj{XX?m=F-ermfnqEWZ$FGBMI}}>x0=Xd z-C!0xvS{2_cueYD6?6I0evBPAn>)M4rlsp2UiW(uq^cs} zc59`*{p0P<8NG(G0}k9-#n|a-iv`~`TJb4mc3gM|395|Ydhg_6+;x+qf|j@9FvP$y z$zh$tMZ#Tb!Ig^XB^@LudO&u4a?Ow>j7Wk0>0duu-Er*6dYTR#Uw z<|#w7J*;blRl(6kK=a6=F4tc8Zl&Hk4anvd?$YmB@_MGvi=f~CiR+N3hhF)^FJbN* zoXxO!I6O`LN~Pw{^x5`pDM!}_dPKTQD|D>sQ@NFkUev{&p&5NEP8QA27D%RNl-yP3 z8-5oDSX+x078Q*wh1qY`tg*c7AxCqYdi=aotd~1(V!oI#+ z4Izxj=Lj7|)JZ#z z9594LV1E%8^rNe=9|9p8n`g8|ddgLL7`@d3tk zy2*n}VgjP)O`WBC1!Np${6l5+tSmewl5ckuxAJ`YJ?#6ln@V->ac>Hu(YD(e{@vnZ z=g$v}NL$*72?%I-?eW3kyw|Q>8?PF?jZ;)E3n=Ag;^i$4(^GYAouph6kEa84eD@s=^8t;azi2RJikFVyhOiW}6C| z?B)C5(WL$6b00`irpe?~!h2y9(2-h)S%%(q`&0ghkF=Wx!E@U`W#5(0XS0!$^j?l@ zxj(2&TJ>5rjkP|iA9uKP=Fy3pX~|i9*s#grlq5`S|8!R*pKa4w<9jcGG_12nAG?D%$h9 zXRr6qGbLoH#LxR-(j*XD(q@&vb?*fub3QVtl|Ac2vyk9;o%RwTNz~f(czUJFAl;)8 zlzBQj`}(FykfF=AXFla|dhB;sWi@-O#7-XN<>m@~QF{LSddV_$Jd53$Gqd#Y@c6Ra zdv{nRZF*WMjRDfK-ijM`q-`GeR?DZ?Bfg4|5`^OE;v&zAntT7Q`5rQKMDX0m4YUN$ zA)Oac+lElol&NO*wc|{~$B6jTKC7J8cjnIhY;*>7g#i|iYL|)CH}L0;(7BG9m}KJg zjo)mfIiSuN64U(m-p6@cCAGJodGAdtTI2nri}A*CqFej4>E@xytGdvRs~;x84vlDP zXtd7F@$&F&3WBEEfycA0(~piCG$20q#f=T_1z!afG%IxK3u*pO-Vw6XrTbVc6*jjL z@3{0xv8lAqhgVK($-xQkuNN59SrK@AM1QK|+^^YTQ}_CN?J-=OFw|)f#EN6?SXgkc zIXZ=IKN>?>l0j*Gk!G`bh4}aT>8kzyYQSUXiA-AQvwI6Ja#%{rL-|hILr4BkitgGz z>^;N{^xF%`73h0z+`U_-FLwU#3hcyoSG2hh+aLMWtP2&U)}z0hbLlq>C@p7p`7*F~ z!2o0-A9RvC%Rz$mD}1*h{e(ZMpD~!1f)Kj@^E}j|oeH7u(B1K+gM@~?cU#qC>NLa2 zAkW$6yu7=AGWrIc$e@=72Hj&}pM;tu#_9W=cp>b? zi`C@7-$x-KWSnXpG@+JM#=;0MosVBqB<-b0pfMiTZmiJNt45YNha|>7%CoYpK5BfT z-2fHN?uuh*42Jh(*eVMYBEa^D$3wA_`kh$TRWt_)^lIprVrA2pOIBkc+0P%E^tXt4 zNuF-p9^`s-`nn=-lfvoCGKqcb+Ww+xryvGh8 zYY5NeMk@chYVHKW`ENZO{0?NDA5S_wW?J7`4KIyuW>8&qw?icvZ3`A#{ajNllH0*Hsx2U4BSQTiYmB(fi=-TB{{TD=Mb;GnrCM2=Nj9`HSqR8 z_T(B>qOt!K5gmPt8@oTm0g;iB36@=)u76*jn30ji2n~;n2+hqsn0opX>wB6} z=5dT>RSL2-JOLS4D+kR(Hl-(V3cD*Q`|^kGMGYChl{k&wO@aPy` z9V<0HL^n@SCt66#ba9F4j6>0pvnJ@Q1LtsBpjAnEzE)BO`rnEN0%cJ(HV>=daTwjH zyt<*n^25o&VL(PtK>=Meg^TZ5}^zjJKRnm4-#rLt2;aNvd1x-CekP z<34tUY4nyTuk`;J@hVYYVP$Td zE(8sZ*+lm~i3$m2v-(t0Kp+~c>IhIkQPI5@SB3cAmRuSVDc&18GJJV$jTOC)$@Vy| z;zG^FMba7~u3Zb7yiFL0KTS(V-|Cc4vj&v*Pp$;$JVHWoF?Pce5kdi0UTucix@!hb@gU6OS^l`5U_ zR~}J_ziI5?-tp2rm{uOF{bu5g=b~v;kk5VoXEVw-f4dO18%u3H5a;PNl!D!i54GRv zFx`0PxG=#i8_rzvwlO94qy77Qmra8jTw1&^`dkOu04o{uRp!3qv@yH~)BV#V}41codg~{q!s;L()k(VF=x)vA}CFQ!tlK7(smDeJjL`BG=!| zDyKsi1|P=<$T9OfUJ>T}gx0B&oUc?Kt8QBU6g&vrFO?VRYBFl{yf?!WC$#pHx*$i| z@V=6oYBs~jNIHR)vBei{tt;=D))qwf8=VE9)eYXTV5fH-W(2r9!l9}9a>tZkN^CoK4v_Syi@M(2-o^TU6p|=D=vQL zRJB$%Sb&hD=R=Gfh026U*7^PV;CQR0&ZBTWg5j)S896ycVQFYc$bfWelE%WdbsN))KH-TA%RB z-HFPYqHoAq0fn*zm5OBHm-0wM<1(en?fEP9ir3bBCu|^_3DAMO;a>cm$q-P$&{OiG z#X)i)9U87Dd0<^=g0Bt7^@FsD6e>Ewzkvhi+uA-J-4Kv@+&{KAEAX0m+mUeKGluVx zsBIbVaG$(Ct4qDkKnx-TnR!t{O#Y_#gff-2)$Q!g-~Ryni3QDKy07kRZn^*)QCBCY zrlAQ<47dYMZ}8mIl-ksvN5V~xv?vLk zS4l5RJ&S)6B5YQwzX?;&K%4$4|M)R^jcGuabYvQ|V=0&;{y3^FoPE(6pQo3RT~ILS zLxPG>`AQ1C5|Pvs?z4A&XbS+VpY(wzIJ~=!%%Bi_zfiQ$}`7G`k*ZC3RBcG+YxCSQa<;W6wAEt0E zJl^H1>~)!m-Os;yJXVZ-%ieQNO;$AAfB~wC$vW@n2t%naw*qtq@V4;mP2$`$%?Jvp z5VLh9jTY+c{Q0Lvxbyr;taAC5!D~Bi_8w@`4|O;fxRMDQ$!wZuLf@QUx-1m&z{vQt zcAlWMgwDj`qnm6xMjv*_?;lbXfc%=`gg!C{^cSGEV9?;}eftn+@kU`pIhfT~f@EXf z#Ol}MC=OLff@nXOj&-Z-D{+%hn(+TcDJSnH_Qnq)hl8WfOYS**Yu4vQbyD9Ya(GDS_R~>93RPw)5~AA(ipw)G-A(KpecAU6Dk)vL0Z5(1DErNh}E#n@|nj6CN7*z^^aIm zGw`pioF1nd62pqFH5qH^iY_6S_a48w)O_*lv_d6;wu}aDdu;mU_R8|d396#w01e#h zv6%WX^RepZ_f&p01bBG7cF(Y4F62infn^EHVB^n_{4_~ub~X!ffb?gk>898yp)?U? znIasrUz*uJm|y=Jy+Qnjo0RF3)FDDFWrePs?;&3-k8(Kwi^hnrWef|`9K1>&e?=bJ z6Ej}dRlm~-V`j{>8G4yn@vvXid}*I6AT5Mo={;}H{c(p*C^K26HtP&!m*)D!v_z$9 zKb5j5H?+!Heag>wilqdGfTzf%fuU2n-A}FVC)Q}+&^Owqn>=vK#$EDEL8^)oLzI z+&G1}&7j_<(hh4G`C(X@f_!n+%w4+Rlu(Q}i5L7%0S-B*x=h@E^n~@b)BhMIu#dNF z@;Cf%(Xv!bJdi@K1Z6N7Wr+H+y3FW`I;q}`qdhnW&?g$Mov?Ljrd~K>i1*WwdE09| z#%olS{RznP_h9ivaxw7}q5}Z`w1DYpN$x3Pf8-wQ_c16&RIMMT%&=#XjCY=R4JdKu zF>kxCv+S>X;S~e?+_?U!+`9znx*iXV9{VFggrO!x{U3}6jH@%6HUSy(lEN&yhP%xn z4Sr9wiaV!S@%Xs+Q0eb)^W0}xI=WX&CrM1RmLP_BoKD<|L_9E(eZ#p8t&N2zBU|+` zdgcHVc_=}=t}O^Y-(39Pv)?8btsKz-L#e`^opgBrttZD6Xuj-4H*!^3-?54!|E^2( zGJIXxri#b(Kak*WgctTe@8m!i7f%2I)%hKD=(IQw6m1Mu3&%(iL)w?&W6{g-8Cd=- zsW8~;|5gNCHy>mlLuh@$o&AMpIc9{sKcwHD_R>P#fs-tq$w*bVzt<|2zZrpwzZW@5 z*@8G%Z1I=r{(DokiP3(WZHGa>Ty^PY$Im{j!XaIl$e{(0B5$T4?ZR-Egl1OM_L2WG z(f^J#4)E2QGC^~?v(oNU%{GLHZ=xiqtzQuOVQ2z~-d`-Qv5)XEyH#TlFj5NAJ>C5B`yXFjX=3Ad-($J=B2VW|Dj|8Ox4krfA$@o~cl@jLdF zVzfq45rh})R|t9FsT*olSQks=!F-0I5f954?( zQ{E#&5BX4Py6?KG%uX<7*W!p}qtHC%u^A!ac_lE6TfZsvt7+H;PnhKYE)`(ku&9m? zyfMRWm4y(h$N#yJ=+?6I{1ZcthMXrA(t<4T%;(`{v9oQjNNaZpTXGF`lAJWt+4JT6 zXXs01ck1t6m`!P@ao4+|0)K-_2*8%_w(@UK>3ykF4E>mb;|{G(2hn99Fwi>V!QmKQ z|HX0}?bFZ_tk%!d|UUW zT7#sz%Wx6KKpWkqodKJt%VQ5spK+P!#no%@t;(5P#Q4`ic@v2Hl! zzyPC&vetjcHF1l2|DKHi`Ow}9j1<@6&Vyzr{f`AV26u{Gg&f4rlf+;0fk(0J!%nH0 z68H4IOXr64lKb((6Ra}9`VH0m+;>G(+S^(wXlW~MFF-9yUra#Mz0#{hHx*Nd@60d6mS3>)3m`NG%j^={HIzPTphl)>*DD+>sO|rrXA7=fqC}WjrWerYZcQ?+_I-gdRUGG~WP(fT z!5hK77uB%tdtDlQ@4@FLyAr4{X~=!Zh6K!W?=O%2-#kH8<)1$T%5<1!n^!~Lk%RCY z_PLfFc9JcYw$CO)7}3*YbE~wsx>(|`pP1VWo(cC&9v}q>r!+ekFNkj4OSEnfwqYKi+cJCK+EY9$8)p9hNjf5zl6nbuQO;wDnqoAv~%6-2`}XHZb;Q!N3oIUcqIOcIILi@-#5 z0TPqwAWJNSZ2l+U0Vbo-zP8G9-SGxLP&A33OA3CFe8$6Ro-sLEuR);qS1x=f#+$iR zfVJn(6?v%ZGzlt+n&1_cS(n%J>s2bU)z*VABS8vr2JFcI@CLAdy!m}X6p}2g5S{x{ z1HCuKv5W+84OaeNA=AnAj=CDL|84i#`^Oh&=NM^|q8Q@its+#?izbRAb47r{B}zrM zWT0Qr0@eaUm?+L-BFFL%i1{Bm?7EAcUk~7E@PYOhW6B%AhWSbIL-Aesm4H)Sk!TZ7 z<#iV?OlAehg#PCkT1ML^dGO{%f&Ts;eE55kpT8?*Zn34ulHX_lRr&q%nSOWXk(yu- zLg>VpBIgcgHOE@StXNH!tQWkkPn2zyfZZ`S23s0-6BSwZUXs{4O6)EfD3H+f!sz|* zrx5IH0sisd1L3UI5NeqOx>qFzN?)90S$MWa?=Rwm866e=m~i{S7!0v&452|Nl-R<& zM;D`7sxQdF&e;}=w)Z%3R$9VNArCqhd7z(&4%zRiNTEMwzL3JcUzrWz!~p*HAtuH3 z2P)~yUe7$aAt0k;06_V>{tm%KLt)Sz9PF?Pkp|mo+ZOs|+&3pe<)H0*c#AK#y9q4iDU z+N?$wHL+bl6V4uX`H)G2(*n)zRMidftp>oL*#qLtXNSgH1XZlQvog|pZw0WcKfy7> zh|U0>qf=W;_~%JF9I*zy5lI-uGm&SK^2p}V91R{2`V5SD{k6^zm_L+myLs+^wYhnd6;EGnB9wZVXj9;;3xZgiZG`+u!5nd6UAiTdN& zZD%W><)h*EN`pFpPS7+P6~f)v1K&SpyY9l=(Ru7H*r`H_a-@drN`Rt}O&*HZ<%XiM z(7x5O3^61eH@1NhbtS+_>d*Ykm!^Dvd4n3mJy9h_d(Tv3t@h4d&jT~!=}BKoc_>*O zP>?>=ho2-|2n9Ch)A!kU))|wXlVAuBEFa11Z|(~LUoUhFO*098S3M^(oqi*bGmq&> zh5MM7M=FS}Kh#*ah8dR`(w@ltI&EW$52tGjs>VLFo@tokJWv@o@_6@K%#qaG#ee5GA_WL) z9Z)x=olu3_dHHzP)JV68g0do0(%vtDFMU8tA{NJtKvL*eG6@oB1ubZQAoKG;(w2<; zIktU^h4}4=Hea5WHqoO9P7is02I0zE9pMKatzyv^1Uo<37Sdb$KD5~OnE|`-R6&D} z9oabU_4DQL@z1v&m`E)Fjli8RLk6K)w{PLy6bkn!;esIr=Ruz@0%m@6xcs-jfWs zSCJAj&_(Amhp*{MHlf)53%cwSXe>K+VOdxi}OC^2t^4s*?VLxGlTJna)YwHfH6k zuF1V`j2`#|lc4M`(pAl5^wb$-wF+g*RhR5kb(cEfhq8Ub3*P%8R-9;@CT&DaWW9xp zj;)*0UStH?_88j(HRmD{5LyGSA&1eozuBY|ub9?`XM&xFp>#226WtASA zmX7a9j`VevDL%h@Z~B8JW4Eg7yN|=v>D!u1RX488qutdCgM5wMcj$KYLsXn53v9Sx zs6An#VJh+^)Pev?JYB<0+Gy`!5X(B9{U?H4es)v-ekk&x5imt5ARvvTYU}0a*cUyB zC?jOnrI24!6j2siJ%v!ygRLO%GA}Q zX!V&wj%Y%DEz#MFL92!d(yIEcr{#Qd50pg%p&X?VvBru5eDJ6ea3|oj_e8w0i#q1@ zzdd@t+Y0N!h?d-V4&Bh!rdzbE2&e_RX*{WFjtw{)cFM_>FR z4(sz)nLzU@+Y~LbnIoTWZNHVdGfzZwd;Ucaozq9K7d$EK+QYH>s`QYg{KHm%cQ_KV7-B_w)G12i(ZR zV@jA=Q>zblUtvYl`QT1ec-Mo~?&Bz2G%|v;^Hb@yEOvYTo(7w@8B{(p%U2+GqMDzH zg8gLvP`9E>g=`^BOUr;@`gR^and8(ZU@ztY1GsbckODF`*DG#Er36sObe&%#>KQxrg*7rf#<;Cm_ZRpM>W0Mgf(BmOm` zVwUJ;nDb=g*{|Mn;?L>ZPB5)IWxZq)w8~t2(OPFAPX^kkj2lFPzSP6;=ubdeC@m$U za*gFUv<3wL+zXTSqB4n3Po2tM47FRL4^a+fR^ZAk!FcD01*=$dQG=>vJd?dOHPj^4 zi(k<*{LLa}LH_TqJOx(C4RxJ8W~!JneaRus+3e*c?s?qIDn4fUyo~=(T%$m*+qdPC z@cQ49hrg|)kMNw|3G||wBLcnsU!Rlq5qC)`qLo<1j1N?PEb-LS^0f^}s`f{|gSB|^ zm>lzGCfenG|CZWw=7f1(1PoE@dNeKMnYo^~qiSYw4W>Y_d8F+2i&2%;z`>jBYZwWX zHgh1FjHJx-=n`}ax%tyN6$HLm0o>`;daD11O#SbWNt;Ak3#%UuYz2OfukH0sRN1C` z%OK~Rh+{m*77$$A0&u6}ZTEfido?(m#o=i9^M=TXtn>aSV+2@a^nDmgOIu+Q@HkN! zv`qyt#7?kkx(lBB?LN?!%tcaCc{ZTd7{UpD5%zLFo{(R;>_fD+FK|Ivo~l25;d~V; ze;9%j1?Ez_%iU|8L(YFnENN~BJ@4bh zE+4ZbkvvWF3b_8{$CFBzqq)t>?qUy*$tuRrkG1L6duLZ4hQsc&`#gL{4PEb_EBhVM zrk%a{TZ0lZhR-JtELn%le2#l8Av1)A<|miVq#y5zPWPpMGx5$c&(al{>m~i#30Bh* zXZC?Wn^;eoRajsY?t}V%5rns5?f4ZP!#$2M7)TmAfZI3=!ZlJ4e3T zkC6gg8_Dt2tSOm5{>u4XXRg5gqGN&ja;@tperltAxb8XL(sC!sw3L+4M&E;TN>^x) zkNtfb!m{i&3ZeNT(wBF1e(Cm(K4Yc^B^BIt8HE`9QRBu+HxFf$aw{zrl>ZU!VA~4l zn?KI|UV~WS;zuton#@dJWfo!%tryZ~ROOwVxx*%{z_>$jHi?ZF(pI_CKTS!RkbXCo}+;JMXAVYDEoE zJ58?EgH=fXjC5L0n7F0PvXp}%c9KE&vq2S5-*it9xjGCO7MhGkyA(i7r+uydmBGq+7=LGo zNX?eS!V$O2XW8b<97{y;J4~Fp)uV>@$2XIZNgM{NJQR~lL>}?MmS!bulNU8KcLeTfm z^>lSjt%~yVTUrp!lOLnlL|SHgNmoewaw;pC{QVpAOAAep8%jzNR4xURK-4Ubj*emq z3U=SOMV|MzRcB^!(>LwdOG*$o55IUW9r?eKA#~PCOy=z^n~ zV}P8W{3KTI=Pj^2;{^p?l5lSHhEs1Ou``wU_C|NW2|~yUz7+#c5ROPZ+YLLLr2yjB zd|c?;BaK(M=g&5->up)nW>_1)k;>#XNX1V!&_du<6Zg$Y>5aV|V?zt$;=_q~^sW7) zm!C!dFVW{+X%PttL+P#EoG)^ZTdi^XS-~#`W=C_Sb`1sx$Lk-Y0bxxjW55@^{4KAo zjoZUxBabp-csY%m7L<&eueuVR!x2!7|@Two}#AyFa{x3H_K$Blv?-b zq4qm_1_p@ly;anQvmjB8h-F^IsKoFbmxtshX8{0p=Qfruwr2@K6ebYiSL%On&wH{u z#j2k>S3>(F6x=yj0a!;=Gyq!x4Khn|^Dj1Za?QJf>z)*qe_T|o0LgvuuD(y9h$ZAv z^!KlnOTnlaJuq$0S)hTNjbh#sW3o$2yLg<(NHvh4R)fLq%`Y^0Oipi4zXysWIaxFB zJ6>$11tg(Bi`htm(oPa7=&Y`-y{rZu9?mxUI>N%- zivSK7U4jukXrzHatH!sokC=B)))qFneSPY%mjgPL`AdlbdS{K3O~N5Pj36bE8MOef zs3+f=HC#HgB+z(8Od8Son-SL9ljk8ffg0~LGf#g^2AoxBeDh`RX z0)=9|Dnb%xKufRHRR_&$*Ur&zWJ*l7SBIYh3nBK!)6`0AfNUSbMgqYk4ksq$Td|() zEoi9asO8$vWZ(=3vCL8fSkGvLw1A|CPZGk;E?Ykes2Byf^l6||va;Uwx?jk1Nuyk* z5~S%!`qF(F-Jbz-M@0JFDNN!xp1=yExCi&FMXb_Rix>b>^b3|GA#af1!?Dc1Y;4Vx`Y3As%Dh zm*+G>DZB-q8|w#0cIrM@*DiS#2OSq6I;g)T|3z_5mIfqe<&~TerAlIZgFvy22qfpd zp?G6ibESoAXils_<1@=675I6~EEnbj1(Y%eu0}_^3gaCTR6ckL%&AqiEyT%qUJt0w zCSl6TGn`Xv`#^DJgKiC$3N!s#;K0iR*H_7-qAGk0o**j33JD7vSw($%ZUhvZ98x4G z(79Bo499~7+RoD;L%QRGB) z;BQeuo{brkw1z+ZCAG(&+em0DwIx_G<*P4rDAo<@*aVD0V!=4#Z-msMWZ}TTpy=Di z%)2qeFgi-qE4?fC2@$gYJ02N-kH1IX7IcJF(MF}a;JK&-dD!X{`Qc>xH`}ZBmAXRJ-QvjjR$;8COQ|BsK z)(qnTClsI0i9`f_tjkOAdQ}$751qTAo=tw}fJKR5J}qAldO|-X9dxQ~aw%QAi`8Gb zda5#nB1~g9VoW-i4o-fi`D~o#{IQ?0l-D)t8@v#^Jz;K~m9}jD((22YaHaC4mg~G? zv-Hu`x4t_oEQLYA#`?wsOIyNiS1U3OKz% zvCoK{LMvh{J0~0bM<&E6XgG*Ub=45D_gCpQ%sP-k3SF!E>33W(bzj#+W1n>Fw3Ig; z%2P~9eRv=vravs%=RwP)z(`Vdy#rwMlC*Wi{6NaGs9uDc`dy0gKM*N*iM`pB-8~4CdW`{}Ga2e@Z z0L&5T^Vt!tVKc(qACX{W%p{y!aQHa2n>V+BuZgrf(dZ>yf)IqO-ROqD1d%Hxl*kk% zJ-YSz+T_z%)H`iL-~q38r0z^-Ri9rvDPCDhz8Zth>8j5i-4I`jdOrPq{azw8XncK8n*V)uYUrEO8XnVpHFe z+9Co%==@n0VQ(6TE*VlNhnm1R%UICe+?@J@6tVIgy{tWtvw!VJZA{}wVoc>nYkcNg zZa!b4u7U2Al-z$|I-0;UfpI9iMdU-vza^FVK>iU^M+>fShy74hk$dcE*H!MsWxXP@ z|H+Ip8y^GpFUfEyp1_XS=;Mvf;M%>g<=66;)I_Uj-X(a)Kz#D@9N^g#$C3kwXz-8J z6o!1)U~S{$t9wprs$x=dS|-QV$$$L2eEFY+ioi0}4%-az9D~?ov;w$oMo(By|MtP^^5W2EfQD&E zze|HA1GR7aXPD@qe4&P6q2fnsM)q*6r|b~>$eO4?HHqU|GtF>-Q!4J#@@rhb-wbGD z4CWK|=(5F?P&d1iOd1tGuDMzL!s^-UXn-nzCZH!(DN*>SIpiX z^2*gGBiT@Sb3%e1Jl;qy`@M3v*0~MTz)hwQySs04Y6|bPCi=xJL6Xno z-@L2v2s9-Yn8J=5N^4B7wxExw)G5g8>lG4sXk=VGO)Z_=oGJ^OnUoa)cUIQ0W@>;T z9@Gf4b90btuR#c60&=m^-yj*Ng1>7~=@T*BK!#!gSkf^(QyJ+`E?YXl9oi;mH|!fe zzXa%AdMF$(9M$7!6;*=_{Oo7z)cEU%lKIu*(`n>-SRIF(#M+5vZ_#CcIfXP)vhn#} z;VUVJndzJ^DmDo&5Rh@cS2-*+ag+E8-Z67zqt6yAohG$%TRLussoudoyLvF5tIFCX{qrU ziLoa&WD2CGI2dN9T?< z9s-Iu5=hjdaY+Bv!`I~$;2?|j^cJ7Ke9Q#oh$n`O(_0`;xe26=ok{9H_YEi9n0Nc@ z%{!DJ0DZku>sCwSn9=m$0N0@&5Wasm{Z>XMM&!~DxNmRy9eU~J_>?p~{Uha=t4EV3 zlFA+>P=3h+X#25R%AEJ51i*Q^(n=7^+!}*IqJgl_;yl1_hVf3Ngmu89;d+QYP>V4J z&JT5&gG!bTi@)dWkeV3C|J_&c?`E93Jw7G3RW-UQNhJTG(uOW~nISRG^^5gCddlHa zN=j-mka3*av7D5+Cm^#W)0EpP(#(?o4WG1t6*&}UX8Q2_fs&J>aU;G!1+^-t;88{m zb<0Cy!b}oAPeD+J7*3y$xq1zVYlX}OL4TEjemv8)KP^{jIezx)7i`Acg3|0NVPYca zETP4;eCI^R^*Vh;#Y`pg1kQm}5BA&yXPcQp`ff>dB$fh{^(r&I@(PbU{l~`-_$@4I z)|EkQqxkaa`rR(-EAZyg>E;Ey)hBYUV??c%Wy^I&p33oexEO4E&n3)_yM$25W6uV) z|I^r)$3yk~|KCZ`CT&8>QkLvmg%~Z8y<|y3mJ(t@vc*iBR+KgCR7lp5of$?eW8Zg% z7_u|gVdmc78TEO8-k-mI- zIABDjXSDXI<(Z5(LIg`yx8wa@yCtweFcYnO^1J-f2FZe?7K^7ba4WsC(P!++?Fs!ieBiF zXPvWGw}f&>=Wt0GdbVhyek(`$+3({EX+;Na^;D~(u7>*d*xL)ccR`DJ2&9CZac(VRXe*!Xa4BF0#1N{5Ub-WA8E**z1 z&WC-GMI=^e=)tJaLQDH>P6*-_KoZ9t(e07xlB2HR760ETD7&51N$j(vRS%^t>$rHq z%InGl2$M@a0n_`f7nJ6?ps&zOe;9Ty$9zx``rbex3slnaM=qxs?s^VGukkB(@!I!! z_zMig{WH#L3+5djNK!ApviC{wdN!XR{sIoj2D+opP;yq`hK}ca>g2=;qpvZP2JlR+ zY-a2oKro#;0QR6Rp2wrgHybTe$59Xm#19TyXAdab0A`sww+VKGrv*+xTlE-9pD)53 zKhQpDNEw!3aTW*GmddvC8IKR?4zdQc5JD`?YiRR)4R z-q^f{aBOz#T_Ghq&w3p~&?{urb>~7U?U%Fl)-JD+_nMxA?@`+yT$ktBBta5o72l z%@F&v%#k`TGg{}GDzEL{JJ5n(YZMFe zz@tPWzkwabwt{bMv0ZDN(v5TL6wUR`5y4roPI#(uGUjITZWG5Jlzprl3?F^(@pr%W zOfNidKa_jR@M&+rmfEass>hv9mj{Eq%c+c7f)#ILT8ii4(X<6H*jz+yb7hBkRt4WZ!P>3;f`q6kdqA$}7e}*60 zoG|Xk5U$~Zqs4>;Q5!iluxxa3Xn0Hw=4?N6!K3f{Qz6LJL}`>DBfq?v90B`FT!Hn! zS7Xcf1jRU?aGv-zc@-;t*)>Eds`w@=GDwsE`Z!QRn!f6&?U6eu$p%8vPic zRdPiQ$}8&W3cHvgAiOWPN%#Y^g6BMg$Ja9qrV|EBOz&!mWhg>J1|ioONOa-t6Z?S%b`e%LfM|(Vj{N`TAGb_$9mbyO)U?z>uSQTF&*npk7PUz66 zkIms-6&LdPH2I+qoNGjE6x|9bD>)w>@krUTIqqcymhdD^6QTCtx@F zbRtKEh1(aPM4ns~}FHZs}tI*J^W=1rt z)M5>%Qqk79s4N9=__Y8a5{yuU6X-P%OpcDunFMBt-yrUY&UC8ZW|^^Llf92Ptl*#s zEO}w?q#y^qYU=s?Rt}94Zs?IU+>8(3+thkcC@LJ$si$K-^SIXohj0nChE+E2ccpfU zPBW|n4px%t52-S>>1{Iq*YSozV6#bPRyp z$x|}~_mF*qX|In2>^y|9Ri+V4WP>l8nn5XZQT!q{rNG?4@s^`tOBnJl-^s(TMf@@9 zUGl{$zk4%P*z3@z4zY^7NL|PJyK=}Tw>3Y5yM+SAj1xKouv%%xask0=%DxM-!8#1# z1^QK=QY+6*Hqgv5-FB>M5e?lbIV~JYyd-+rQ%~o9hBL!3TLzMUp$Jr%L*tb#Bw~6( zN7~6VJn0z_snEU9KD&&*+%AYVxQbLn%Z@YA{JvRSZL%su+J0vn6>*vLq54c1qK! zW{(Z%mJ`SS1JbycQ2+Ut%`vyeo3$1`Mt%yk)ROm_NlV8H@WG@fsI zR84+9$E1MlZ%gLOr*lQj-R!uJ|pUeX2;8G8l~X#{C(U%XYNx_Z2IE4-%nBf_D*fDr4Y0&xOJnX+yS%I|ZfN_#uRscbs&!ynv)Yu^{kj=yJ;C!eBSgZfJJ516=F0QuiqKYf#x&~z zwhn|WYmF%Mok(?$3SY92vKu=aiEVyL$1d!U@+>f>M-Mpyqs*484cj`ECvY_Ua^f3} zA?EAvC0}pe&em!J%j&)F=wzvflE_V7wsEC4n~sv@-c8s^tx9rOz+sZwjJaf0zog*< zl<~hPv3Uqu>!0-zY&l9gG5Z4(q8tu`G8#WL)!NtCx=xb!G^4b*_eTWDUGAFSiBL%- zK;Z}w#VPxkElJ(Z$xO2DXmgVDE`N#TS5Zb4+ER8b4vici*+WwOv+ssxjeaVy3}FIM zXTSm2oHxh+Sk{TM?cOfGF0x4`OTsN~|J5{Qh2z)e$lc`Rb55l+a$32if=@RuFcuJQ$KTeAx_V>sypM8d zXz@ck4_d**t&mkzOStrL39qmgQFA9s*r{587+_S{%E`ACO3EqF#<-}YSl=%)Q?0*I zJvqDeH>B8;ApF|Gly-5^&IeGmY&)&&pRHPa)~G=~tfRIy>t4)bgRI|=_M6Sa!PP4a zNv??;WMd>Y_rOUgulEfdA4>nITipE6{UhfM!#D0XbqduZyQGWG#R9*w1}$LLnycbsJPW(=CUl3PTO3Rz_jwyY3k-Jv@ zN!ZUlQQNLj+KXQarln!pG`sxZwo|To|G);t3HDX2p3)+xd@*Hv#T`nH+!jS zNxzTAaQ={V`$ldK2so%eR(8T9AcRz+Zm-Sib>N!sArgh0pvvM)j%Is0DxNY`+{zB* zG46g83UB$kxpbzsQ65jc%i>}ADpDtuyna_NKYkX1O7)##&1U5#UK0)jmctiD|7Xr@2?u2KdguVcG>}3!>#i%ndPH4qU|O7V{gv znCcBd(Yaam)^k5F!D$7bP2%V3{hyZx)O~rpZXuGeXywW5ahp@x_B(fDU(cNr!(2f3 z77k-OvG15q_dzRHVf~+CsotN5T$(q6G5y0*Qz7li{3{{W*%X7%$GcwWdUI&>?__2F zDBZbYtd6v)ZLodxuz7?l!K8mT@x%3%CYNCR>S&hC-pc#gleQB)z+@Z_=p>u>4XnCy zluv*_c-|DQJx3;XAFKKHFYZ~GEco7@;!JUOGUMzJXMQv^gHBr0`&wnF!tGCL1f9J6 z<|%d6YB1Q4ub_i9zcdXh6zy93$dQ(g7n>VC$ZxVcmCd!I?Rb9hJlg;)c%JQ6i zWFNzLk3;W8hAQfSt9j7jf->OQacr^c>qT=?8$)3Is{9D$D?r`$RY}AYj_1U|;n<^J zriY_K+Y@d0fuCKAN`P(aP@6WCbq~-fjab%LyjD3mcNQ|+ug&dajx`D>R!PYzpd`GV zUe190lC4HaxeU@^2yF>3d~vDcR{veihb&gP%zCzEu|{}^?Y1j zsz~MzxnhKci*AT)CrX#k+KmuY#IbCz)ArMVfqlP3M=EuziQ6FMT%ixlkR@HbSgU1& z;?{p*1D>aeRv7up4+g6IknfyshqimyX=rO^lB@`_CuDD{g$eu`do;rdRkMB0@@zFv z$|sM2xzT`%5VeGB-=TgUj`Gla06}sD_UP&YwS|#O!rIXr zG9DSO)>=j0L}YRqBDE(G==H+BdK55O|IwyEixcs6cVv^s4U!hTQ^>t|M3Dm*4^N+r z+F#UzyywDwY&#KTo!vO=(ez^K)J!j;+m5`Gw_%(1VG6Qk0EB;7QQf6xZ@D8hbh(NA zzbN0Dct3A2)J`<>ldJK_?w-wYAC@rCoqS^ct%Xr5^3N7=i_8X99>|}m+;Mh8cdw8i z?%iNTTs`Rv)Nq`wJ9Laht#xKviA1jGpRt@;oyvNBW4;|fe<<;ufIpcNDy&H4 zBdfKIkHqUMMEtO#wzs3o=@kmwR08_)+6$H8+@(TG<0!U;Bo(Mg2ru)=BGg-SW~+`2 zDRb2^ePcMb8B{f9KnNogr4tEah<|kRo0w@${M4v*-f&*Y2*z4?v>lrHk?`2c5LR%Y zhToV@CaI%2L|%V0+cIIdA}d9XLzM%o_1T+_1pOqJfavgMFE%!CC}JwZO&%Eq20%)E z1L4{KbO5qpgBvZb+`nfb4Vh*C{gAt>vD6fAMg8Y?h%=!HgQrqa3nfnUG*1&td@sA4OWneG?MJ%<}y5qELl?sog4uUNSzzPPnUgoy#}q%T(JII zq7IgIz>2~s95Na4PI|#>G&}?>&8`p3*ovh4YXSXVLv#HKt=?Lh{1V&F*tdZWj3wwu z+BtTgA%cZ%Nbz0Owr4e#38=dUqw!s!8{mNiAYUN+*{ZiE86k5%!?pS=_N&U4b!9d@ zO~&os$!YOMi+VDM#1XcE3uD_Lc3c91K5;ftUMH5U$|gm9xUz;Uil^tGY{b26u%c5O ziJWxEotW0Nhq9T2)>_|It{ReaFW0fhvoR7WGE@3JyCL?tBjp5ZIQNmSL-hvm0+6;$ zaFWvvKB?1BFX#P2#GdxA_MGh%-YzWnPJ11}pS?N;7xR1u1q9^-L_I=qzU&$8Nt48v$=OrzD-D}LZ8 zPi^^?UDj5}70M6!as%&)L}MnKQiy~uyorfY-l4J2zo>7eBm6~f)c*FR3xB3#go0pT zQ=qNdl3``P{J`6)Y`t&wF13u)at$Xt-0>w`IG_#?3WNt$Z)zyY$H%&@e(MER%Bf4C5mlkz36||KN zRmkILBN}z+Fi@KL{oC<*FQ;u#itHRW(nECa{1qCt$`4db)YaDCnH#MUnjWHhAF&K6 zD^VY6KN;$62~r>|=(O64E6k7O!<=~Jttqp3@5vRW+hJ(EzGaRM#-;4t%FQU>@696l zdoFONB&YEzLWTkZ(IEy5;l6nU65|!Y)ZbF6Gn8$)$>XS8 z=H?nbGE?BRPxB-9lnpdJ?y7{QFFNGscNj__X)cMt&Vi7HLj#YB5D4LZGkq9@0Bq0u z4c=G1^j$MHGfpOPIoR$&emyrYuvf)0aW4tc*>}SHSzPL2@6xigd8#_+n}9X0t?~uD z@?e@M6kf|fzsdR?i0VJD8C{Z;d98$15)sf`LC4spGGi61(4ar4fk&!+&(`GWqksCd zkL+pv+L|)qj>!LL5z2DVu92C}zt*kFI{O2Lsb%WFmVF)&Fr6NvX7#0oszVhtDrxB= zPuD7lRd-K-D=X@{cZ56fWp}v=uj-a~&=A^73TNMwqlc|6U38ONUm$ zr}Tj5EM&$WHiFZE#5Ibtt_?0=0UhO#qO4sCgR-G8^YwTTx5MP<0!ZD$)HpOOz8>mW z)X8tvB8+;wzi|?@*!`u0cU@_powa#)(v=sM+}U&23b^;(TYYo^tW35lG-l95fK5Au zNc7M#oS=FeD+6j^xI4!7dcRgp*Yu5_`8q<&2)w>V-0zP62&#=*88n!0RGtK38E5})WsB8LyIC@JQGo%I-sWs^Z zz)?Zlc$k9;e;;wJOfMzbA@$b#cWwfE+}4hs9U7u;)nF*KN3qK$qJ481!pfi{!nsD+ zg?W4$dL_bB6xfDX6#D^ghl8L#I1TD=)^IHZW(TyA{Ze>YiclP=f)3%mUcZ@Q< zR{V46Bj9{Fq+u&#o*WUA%UnO*J`KXQvEZNvI_6i>JYF}G_9B2ET2^NpYn&o*c(?LW|0En(8Yd;IqQI8s0OUu_#_4xG;Md(!n z9e>K)Ns5xRN6t*vr40i1#kKdYKG@^mkiiUS#uE3naT?S5GT-->?*QA z2RrLe{mt<=N&ipV$Dnf{rnRM^XHme|)xGJG2G$&W*qSA3FUAd0J?c4lhrY148!g+0Hx75 zCi(!4c{WX5vN%@E=if~|=7Dy|BIeCWs^iIlNqwzcVu1r`#(aTYGU`!DKW|fdMZN;F z|Cc&YY+JlAWC-Ve)b$+Ew3P(;=RZZ(?Tl*J1^T3R(C6yGkUtE;!R*Wp6sX|@gkm)C z(rC1Me;-|DbV5J1C|8O3VqN4tlUr6%B%%M39%$0lD|DRLWzs&;R2pd7o9TSX$1^Oa zD$Vmm`n9K*bv#8rpL-gn>nWOY&8N`G_)>FHRmn}@zS7Ey^)p>ueMnYstiC}Fpt1(I z$go8G{rd5n)Mx4+2lV6H<=E*D6gbb8)vrbGh)Y*9Ye%-s|11z=x%}{9jp0)kdQvKm z53&x%%rByX{Os^TmOH_c{iQ>$jjlmgi*()86Zxi_5($%S%gM7b%r^DftM@d}@X)h> z)%sn&jx?T?`_?alKZbW`h&%;F%R`_Vb)KO_`o^A|fVSqdi>u#dIyaTRm~I(QKN}r0 zKV|cyw7}5q<Io&bhYY|!~t z*msdQ+vR&gE9+ii<%NCFHugM|dL-f;mi$oJh_c$W@T4g})qsWv-hkau(4S#Skx2$< z20f23Gacg2;OR)ZL~w0->l3^1qfhL3Uf%OpMJSOMG;Er&-z9nxsDF}s3L~{U$y+R8 zLU2LIAGJHI#)g-%Qo$IQPPjE6$`ygAJ-Pzdo=-f9FD$%f>|&Q*xls^u|ENNm!a&v7 zG4IrsyfYs~^>yM~GS_O20H2~q*p1wGJJkG{iC$b$XZh27YP;{4H%ILk>Y)oOIy@4J zF4Pt@xIrH)e{&3K*|(2L$NvgjmDCn`@~ZtHt+XkZDQK9^E_guCI@bo*H-K~qasd+6W}dlxbHov;0KH^OysDQSoR(|V#J9%yF;Emb*T@EzAvbzgyLDx zLSV4i2`2<;+~xt=B~sDs8YqjP5qh}v_|+D*Ng=|CgxY31-Nmg=3?(;p3vA^c0Z|SO zyI;6CrfL*+?rr#z(n1W=$FdrGCJvusz9zx%6Kq`POxoI1`oV@t5fmvBZ{HqS!L^BVCn^VLU%Ub}OiLM)>9CxXs|=+_7h&OrYHzDF z-K}L^_2ZE-^ms#Lj&IFA;yQ%atkd>ij>z-&=_;w?L76e^@;E4sw{<|GN6v6UhPlS4 z2s||EDSL+D*d3RT;j15vNqSXynPfG=5~gHu*j|q{+ohqm#x|ln-;?|G2$MUibAI8sBvw9!t}gxx@YO<=XKg1|oU01O~uFoEOy=7f{0;k9nnp(`X8quNcW-Vef$ z%lu*oMOb`Gr_q<4sp=-7T7R@R`Og>*o5K6os^YbfVkj3*qi4bBaNmb{hxO>5+U3OwtOoBk#vLajn!X^(Gl&z4M`ukglBCvmRz7?Q`f2^Gu(Y5`UrbeQx8P|<)lR#V73|(gEFLRt6?=R~6LWi0QBUizZv3?g$L1%i zdomcJ52IMI5&KQ=?g!JQZ~j$4o|R#S8T(&!A^_ftoR$B_djhpmiFec0EfjYg=F;LV z^u|2(j=uDfFwMXV)3{*eDC8o0&O-_8>?5(N7qJ-;ZQU0^k_TS%h}fD-W3#uiw`5Ok z?;Xv-K9x^J?Tg@{D?m4@LHM+YL144gK|ZAa^_S}pwqkretL3a*hYQ_%j{ zz8B>BK2fkb1X~SCmoAWZi5;{tm+1gXu^FjGw0o3pc8SOK$Un~wMYWIeS;xCcBc>}) zyKjIHQ`i@(9JOO82`o~ZlgGXRFo+HRL*oTcyYv8LvU7(IeR|2i9h8+7c+uiMl+mD%r~r&?{O?sQ%Ql2xRNg!-rU#Mi)0z#zEL7 za`?aTgY>w?vB5`)YE{UmD+-8$RvJ?k6hW04N~61&Iry+HDX^KH*!h15I?2LfyqrGK z(d*<_3x5gEScahb-&c{f1r1c?Coqt)~Dqd_D zXbuMf!I;ZYe@aKc>YGE(fbdq&B2WH1)G!U^Eu9CGN@Uo4ar$SZ zNu8}(X6=?jlql9Ji)F!@d|A5rrwmOGTNH+XSh}zbxI>XkTmGR%+)Hr2x!!OawHmhG z2%=bU$e$;A(&UW{^6^gDkmpMf418L%3u_hnp|3jn-gD)OeqC5ecl>j@%F9`Dg{4ku7x3vl({1ELxm zunGuY|KN-57(ZQe7$a zrC`V9Krr`W)(O1DpT#HJiHu$)2iw^p>_z!iEHi@Uiy3qT5#(KTg2d=gRraa?1BL^T zApex;y$zRizuf-slRhhni3jO909zJ@*5kfZax(lPoMrsDn(QMBHa!RFR_8V1HNj`E za-OiH5wO^&b_w+eNP&H+X=?FSQ#Y3_iK#W5gIrP%DJ5NN-jmrJJ8m%Ms-Nhalxb9j zw3de>LxJokr4{v^M~{KcU!tP}8uzFb%31**{SIEHy?>`r^Tl9W zC3D~IsUWg9k{KSmaV&~vEdHEz#1sDZ550cFUPTc83 zNSHM>%d60;B?wdz&{mY@1Npsg_J$?rc!9MfAh88gEPo!|dlc5MCM3=Im-qio8(NeK z9czB|a$JQS$hj6N%{r}ZQrr_Pd$y{@FG_2-h)V{razCR`Jq+ZB3``XyCm z8vXEso2-|;q#WA5f&4juVMtF^kp_7Ru4z7HS?Kx<^aod0yL$E(9t+SggsY{;X(rE# zbdrhIU_IG_kEyipdFlIIBU0pXLr&hBZB=;QaHZTZ0VCJ)yHXW;bJZs<`+vM(9_B9* zeOeY7-obW^{O=AAQu8GSHd8sa%CoV@4|!u2=Dm2fUSQz!?1=#v$nWK63v}fKn&Np> zb&$*IhB{ABYjvEYhq&kf#?3(MzWH}Oj;EC`t41HV!F6Sphd-N+IRoMXz(`2sxJzR{ zvbyK*yc+(#?_CX{<)ymFmric^GW-N%qHf8ostkOPz?3`!T>yE1?<)$EC=4Wl`wa{f zmIdooK--Jy!b@YEH^BMb{DsD)r=@N~+1XTJN#}r?Zhp@YOI1 z=oIjyExF8F=hp*&LGXxH0!nv&w2f4WXD*e3)qY^bUyFc|MLzJy=iAa@o#upJ53ua< z;ZPzc+{KE|xq;ksaF44gu{&|q@s#jENkn3^B!Ut^NA(2lEd%y(?-AI-Bzo6f0OOL^ zbfIYm*Po!^b41GrVocFpuX9yo#zG2Li+JIlC(_8xp>TFtq=yd#cecRBE+VRD#}G-> zUqHZEKd&!6!^J6X%i|NuE7>pM}y&GK*$wYVgHbp)t_}z=;liziATMIdnC*ZqV_@e9Rd+Bjp{UzeckY5XdD$nJqRLAg zFS!@1JgXD_{VDKz(VtC2)pFh{*PILd^S(N&CT|iXXwdyG3YZ#+FH=!n9;eMYI zG%+-5{TooEe-d_H!5~EOK^|Sxf|X({>iP@^7|wR+c5|c=e9B!1o{nkvTCT>@mXWA2 zsNvHfb_UB3W+9XeuCRq%+q2SO_&`U&k`LS#vy56z!+;npdZ}|ikfWjT2Hfy{24STb z;RGyB8^jjc_dKBVIE3oI45LTBU3(G-DT);)8yi%-(kw=T7USkBxs*ry3O#omd;n#1hEoL)!Q0RnElf=-VEurpGf21b@ zF+UZ!%|&Kh$rY_OBT%by)Z4PCElN-emdUrmqEkI?a90138^BeBaEm*W?_U2h;jNFR zk^JON38-Zo`*dCax?9Xy>ZP}Ly^k#QW!4ruIOk6H1rkHesa_-PzGV{YzyYCbZn60_ z21L%i`~>?14j8bui6zevNXnq0b!!cko08CZ!C25B_@Lg&ufstN%Rp*#v(_E&2g#Wi z`*!bwoHhVPvROGVggilk=8glV^#Y85XV&9ZHbLt&TmVSiDv%D2(5$neQ;DI$9AS;C z^H`=?_z58NE(km<0#4bj1w-__k~36m&ziR%d}!Z0WDn<3IuPpOEL9p@XW!Ry77!h? zOhd?_yx)vU-E;bBF8h%uSVJ8_+jSap5V#6Jz#!%eBToXEHAuKeC_VDFNAd!t$l6pG z0V4pPwUfLp;Cn}dk*^7qha)+?`ot1LXnDyhdEqb$oU#Er+XxjnT?qn&M-E~q`dCON z;$wJ|80%}kFiWLlv>h$=An>Xlv<_N_bFqrkTSgwBVJ%*XxYxJM!(3dOKiJP>O@t9S zBID2Ty-qx!MN@;}o|6p~Sep?0`7+8wvotJ^hNI@uwedHbGslYf94v07ZpXto_I&5}k2d z*C==sXe|3OKvKC5<-5^X`JUJeJnt@W-*vMM(0a&1>2UNt*CQ})dIQdqK_g#OW~Nx; zZ(9ki-J-EZe%L~Dm?lA7tzGi6fo{n*y`TFV-VS10U`i23*rpWmqpk*fN~3Sb;ZZT{ z{@H>u&8PpgZ~jGiR30-+$>9mzP%oZ4t@qJ7T2EOi+S{nf)4OT5`zt22?ors3UFh=^ z$;^5Tw-X^qEPFrG5xxw6v+F*4J^OMDRS!8WL8(Zn$F z?!=TLit~GDu$p^pA^3fGJ=FEniUxi=H~u!AM1-JYGSJNVRhezOu4|AQ;WRIB(@jpu z^e#*sw2xXB=`}T6x&eCEiNY;usZD8gCgYaQs}219shd1T$(TiZB~9!s&zL1wPJZ(x z6@suQ5Gvnw&?4umk6pwD*o6w7a{ z8ss$!$bDw0@(nmA#wXH?nf{HlBdbcaQDyi=6>)&IFOBW>TxCx69+AZqki$c|rt4B% zl=iqn0Zp!YG__BpEfGrtCotlF4(bMNu|I5N0nmXDj{VR7|If7tMAq*8*Ppesd?(NA V<-U4%*@=BgThriN)|u-M{~ynUbj|<( literal 65979 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 From d4206bea7d7a79e01a1f2501c34b066aca5f0ab9 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Thu, 12 Dec 2019 02:51:06 +0000 Subject: [PATCH 007/104] Bump werkzeug from 0.14.1 to 0.15.3 in /days/057-060-flask-login/code Bumps [werkzeug](https://github.com/pallets/werkzeug) from 0.14.1 to 0.15.3. - [Release notes](https://github.com/pallets/werkzeug/releases) - [Changelog](https://github.com/pallets/werkzeug/blob/master/CHANGES.rst) - [Commits](https://github.com/pallets/werkzeug/compare/0.14.1...0.15.3) Signed-off-by: dependabot[bot] --- days/057-060-flask-login/code/requirements.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/days/057-060-flask-login/code/requirements.txt b/days/057-060-flask-login/code/requirements.txt index c2344170..09bd212e 100644 --- a/days/057-060-flask-login/code/requirements.txt +++ b/days/057-060-flask-login/code/requirements.txt @@ -7,4 +7,4 @@ Jinja2==2.10 MarkupSafe==1.1.0 python-dotenv==0.10.1 SQLAlchemy==1.2.15 -Werkzeug==0.14.1 +Werkzeug==0.15.3 From b4b2d685fedd586ee65595668ad8e676af1891b9 Mon Sep 17 00:00:00 2001 From: Michael Kennedy Date: Wed, 18 Dec 2019 10:42:45 -1000 Subject: [PATCH 008/104] security fixes --- days/029-032-static-site-gen/code/requirements.txt | 2 +- days/057-060-flask-login/code/requirements.txt | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/days/029-032-static-site-gen/code/requirements.txt b/days/029-032-static-site-gen/code/requirements.txt index 3ad38bce..9cfe3cb3 100644 --- a/days/029-032-static-site-gen/code/requirements.txt +++ b/days/029-032-static-site-gen/code/requirements.txt @@ -1,7 +1,7 @@ blinker==1.4 docutils==0.14 feedgenerator==1.9 -Jinja2==2.10 +Jinja2>=2.10.1 Markdown==3.1 MarkupSafe==1.1.1 pelican==4.0.1 diff --git a/days/057-060-flask-login/code/requirements.txt b/days/057-060-flask-login/code/requirements.txt index 09bd212e..cb8abeb0 100644 --- a/days/057-060-flask-login/code/requirements.txt +++ b/days/057-060-flask-login/code/requirements.txt @@ -3,8 +3,8 @@ Flask==1.0.2 Flask-Login==0.4.1 Flask-SQLAlchemy==2.3.2 itsdangerous==1.1.0 -Jinja2==2.10 +Jinja2>=2.10.1 MarkupSafe==1.1.0 python-dotenv==0.10.1 -SQLAlchemy==1.2.15 +SQLAlchemy>=1.3.0 Werkzeug==0.15.3 From 534b06771ea49e38b79f8e88613402985f13dd6b Mon Sep 17 00:00:00 2001 From: Michael Kennedy Date: Sat, 21 Dec 2019 11:12:49 -1000 Subject: [PATCH 009/104] =?UTF-8?q?Moves=20ordering=20of=20API=20methods.?= =?UTF-8?q?=20I=20*believe*=20this=20is=20due=20to=20a=20change=20in=20res?= =?UTF-8?q?ponder,=20fixes=20#22=20Days=2093-100:=20@api.route=20=E2=86=91?= =?UTF-8?q?=E2=86=91=20shifts?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../movie_svc/views/api_views.py | 22 +++++++++---------- 1 file changed, 11 insertions(+), 11 deletions(-) diff --git a/days/093-096-vuejs/movie_svc/views/api_views.py b/days/093-096-vuejs/movie_svc/views/api_views.py index ed71087f..3d6186f5 100644 --- a/days/093-096-vuejs/movie_svc/views/api_views.py +++ b/days/093-096-vuejs/movie_svc/views/api_views.py @@ -40,6 +40,11 @@ def search_director(_, resp, director_name: str): resp.media = {'keyword': director_name, 'hits': movies_dicts, 'truncated_results': limited} +@api.route("/api/movie/genre/all") +def all_genres(_, resp: Response): + resp.media = db.all_genres() + + @api.route("/api/movie/genre/{genre}") def movies_by_genre(_, resp: Response, genre: str): hits = db.movies_by_genre(genre) @@ -57,14 +62,6 @@ def movies_by_genre(_, resp: Response, genre: str): resp.media = {'genre': genre, 'hits': hits_dicts, 'truncated_results': limited} -@api.route("/api/movie/{imdb_number}") -def search_imdb(_, resp, imdb_number: str): - movie = db.find_by_imdb(imdb_number) - print("Looking up movie by code: {}, found? {}".format(imdb_number, 'Yes' if movie else 'NO')) - - resp.media = db.movie_to_dict(movie) - - @api.route("/api/movie/top") def top_movies(_, resp: Response): hits = db.movies_by_popularity() @@ -83,6 +80,9 @@ def top_movies(_, resp: Response): resp.media = {'keyword': keyword, 'hits': hits_dicts, 'truncated_results': limited} -@api.route("/api/movie/genre/all") -def all_genres(_, resp: Response): - resp.media = db.all_genres() +@api.route("/api/movie/{imdb_number}") +def search_imdb(_, resp, imdb_number: str): + movie = db.find_by_imdb(imdb_number) + print("Looking up movie by code: {}, found? {}".format(imdb_number, 'Yes' if movie else 'NO')) + + resp.media = db.movie_to_dict(movie) From ab86ca9b2a2083db633849e6505d43b6e9ee2830 Mon Sep 17 00:00:00 2001 From: Tibor Leupold Date: Sun, 29 Dec 2019 14:15:04 -1000 Subject: [PATCH 010/104] Add field errors to registration form template MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Before, it was possible to enter invalid data into the registration form, e.g. duplicate username, insecure password, etc., without being notified about the violation. The form would simply reload and no user is created and no email is sent. Without being notified about the registration form issue, one might assume that something in the setup is not correct and waste hours trying to debug something that is not broken. At least, that is what happened to me 😬 This commit adds the form field errors to the registration form template. --- .../django-registration-templates.zip | Bin 7306 -> 7353 bytes 1 file changed, 0 insertions(+), 0 deletions(-) diff --git a/days/053-056-django-registration/django-registration-templates.zip b/days/053-056-django-registration/django-registration-templates.zip index 8ecab385e9abfeb73d13f1a4ad77f56d2b32944e..abdfa28c3d97d811c17d0889b5e320aa55b11859 100644 GIT binary patch delta 1576 zcmeCO+-b=d;LXg!#Q*{_g>(HU@@cAwJ8;IyIdaC8R&X;gvV3J^U|QyH59aY!zJx$@|g(|t__B5mJoj&AHM4DDQ# z*0`sIKY?rQtsC5#-NtPn-W6*!9kUP?KFia6Y2NMs^(tHDHvix{RKUL^B~FLmQJd+r zUgq-!I*%2?<)0PlOWcMnj0tfHZE&Ru(Uq^NyNF{bKhn^=cO~gX9t=4 zU67bjc7;7mmQ{U$t3^bg>osx0)^6X8yrvEo?W;}xI_meD-kvMcm7jd)`(p*WTxsQ4bF;_CU;IvXoVO_MqsNZx zz0B@c%LKCa6trb-3|S+>Rex+_`Ax%rEa&(gCZDtQ7m?1|{m$y)w5&(F?%JGGH<|p( zFve%EpP9xV!?0e_`PV*PP2QsU*XmyA%lQJE?+b4Ju9%kZJSWgfGPN!`**w7N&x}h~ ze0P{eu`y3KU%GYjtewV<1?!H^`myYaQ2s38U|zXEYl}1+9W%p?4*V=Zdk$Wbh+FN! zR($wq`?r0JC@EvI1e-fb{AIB%=Y*si)n!qWPYS7UKSU&)%|C>k8M$F85SXwgOR=jf z5K4WM6WQ%i>{!j-3radx9EQlko69&>GlImGxg1c$^SHdg;=8y}#3!@zfQ^~LoKQIO6>B2kQAVH^=rBu<-X3_|9YXoLh(HbbnHd!+iEvmzfnS(=_cpoc@i23v3o$VL)<|15|h2SgeGf?BdPb2lxB+L1)J3>DGAXd z2eg@U`?7mBK<~6MF)(PL*lax6K}vq|M@eafGf~nKisFm>K%>nNPU)ADX3`M^TX#xI z1|j}WN}5?lh+%TCfb?W@X(ac>NJ}%F5(2wDNKgpjS5WADVA^9@3k;bf7@^Z647Nf_ Uh zXgBVu2sIPeOk;A5p6tSiB0700V>3utipc|6@#I{lPLS{qCKnW8cjg+9@KI(j6k#cr zP(F~;>iF49oPdtuWS(5hVpR;BB7W20i_lgNrW6&;K0 z7pEi`%$u`BNnDBfqWjY~eN)$HGMw1R|L=lZ`LP<-OIa)RxNoQ&tz7cDSo4iwZQiNe zCyXy__fDP56daX)yV*(i_L_E1_Mei+*WAhTHvZeQ(q8vztigHezpGly}-ojs`o&R$Rgc*bdnEWBBXYc(TC{5-bBH!MS`xuD8_FvjlkVM@KYG!r-5>Jd From a18b64145199b4ecba37979dbd64620a08abfe53 Mon Sep 17 00:00:00 2001 From: Bob Belderbos Date: Mon, 30 Dec 2019 23:31:20 +0100 Subject: [PATCH 011/104] django-registration not yet compatible with django 3 https://github.com/ubernostrum/django-registration/issues/191 --- days/053-056-django-registration/demo/requirements.txt | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/days/053-056-django-registration/demo/requirements.txt b/days/053-056-django-registration/demo/requirements.txt index bee1d9aa..060adea0 100644 --- a/days/053-056-django-registration/demo/requirements.txt +++ b/days/053-056-django-registration/demo/requirements.txt @@ -1,2 +1,2 @@ -django -django-registration +django==2.2 +django-registration==3.0.1 From 86dd73b68d3988050d3d44f465885dbda46fa770 Mon Sep 17 00:00:00 2001 From: Bob Belderbos Date: Mon, 30 Dec 2019 23:38:03 +0100 Subject: [PATCH 012/104] update template in demo app as well (original commit ab86ca9b2a2083db633849e6505d43b6e9ee2830) --- .../registration_form.html | 21 +++++++++++++++++++ 1 file changed, 21 insertions(+) diff --git a/days/053-056-django-registration/demo/mysite/templates/django_registration/registration_form.html b/days/053-056-django-registration/demo/mysite/templates/django_registration/registration_form.html index 5df14191..0425b7aa 100644 --- a/days/053-056-django-registration/demo/mysite/templates/django_registration/registration_form.html +++ b/days/053-056-django-registration/demo/mysite/templates/django_registration/registration_form.html @@ -14,19 +14,40 @@

Sign up today!

{{ form.username.label }} {{ form.username }} +
+ {% for error in form.username.errors %} + {{ error }} + {% endfor %} +
{{ form.email.label }} {{ form.email }} +
+ {% for error in form.email.errors %} + {{ error }} + {% endfor %} +
{{ form.password1.label }} {{ form.password1 }} +
+ {% for error in form.password1.errors %} + {{ error }} + {% endfor %} +
{{ form.password2.label }} {{ form.password2 }} +
+ {% for error in form.password2.errors %} + {{ error }} + {% endfor %} +
+ From 67e2a01cc746632f4149e53b125fbaf68cf36cde Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 30 Dec 2019 22:43:11 +0000 Subject: [PATCH 013/104] Bump django from 2.2 to 2.2.8 in /days/053-056-django-registration/demo Bumps [django](https://github.com/django/django) from 2.2 to 2.2.8. - [Release notes](https://github.com/django/django/releases) - [Commits](https://github.com/django/django/compare/2.2...2.2.8) Signed-off-by: dependabot[bot] --- days/053-056-django-registration/demo/requirements.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/days/053-056-django-registration/demo/requirements.txt b/days/053-056-django-registration/demo/requirements.txt index 060adea0..63235041 100644 --- a/days/053-056-django-registration/demo/requirements.txt +++ b/days/053-056-django-registration/demo/requirements.txt @@ -1,2 +1,2 @@ -django==2.2 +django==2.2.8 django-registration==3.0.1 From 98833fe53e36a568a20ab0837ef9993a57ba4717 Mon Sep 17 00:00:00 2001 From: Bob Belderbos Date: Tue, 31 Dec 2019 09:47:41 +0100 Subject: [PATCH 014/104] Update readme.md add a note about PUT --- days/009-012-modern-apis-starred/readme.md | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/days/009-012-modern-apis-starred/readme.md b/days/009-012-modern-apis-starred/readme.md index 02dbe9e6..372068cd 100644 --- a/days/009-012-modern-apis-starred/readme.md +++ b/days/009-012-modern-apis-starred/readme.md @@ -18,7 +18,9 @@ Then start to build your API using the skeleton from my demo. Try to implement t ## Day 4: Flesh out (and test) the API -Next continue your API implementing the other CRUD operations: `POST`, `PUT` (update) and `DELETE`. Make sure you add `404`s (data not there) where applicate. Maybe you want to add some custom validations as well (like the manufacturer `enum` example in the lesson). See the [API Star docs](https://docs.apistar.com/api-guide/type-system/). +Next continue your API implementing the other CRUD operations: `POST`, `PUT` (update) and `DELETE` (**note** PUT requests require a trailing slash!). Make sure you add `404`s (data not there) where applicable. + +Maybe you want to add some custom validations as well (like the manufacturer `enum` example in the lesson). See the [API Star docs](https://docs.apistar.com/api-guide/type-system/). Install [Postman](https://www.getpostman.com/) and run the different methods against various endpoints, do they all return the expected data and status codes? From d43eb515aa41a9897b1f64659a501b7ddf29d2b2 Mon Sep 17 00:00:00 2001 From: Bob Belderbos Date: Tue, 31 Dec 2019 09:48:14 +0100 Subject: [PATCH 015/104] Update readme.md --- days/009-012-modern-apis-starred/readme.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/days/009-012-modern-apis-starred/readme.md b/days/009-012-modern-apis-starred/readme.md index 372068cd..c3693735 100644 --- a/days/009-012-modern-apis-starred/readme.md +++ b/days/009-012-modern-apis-starred/readme.md @@ -18,7 +18,7 @@ Then start to build your API using the skeleton from my demo. Try to implement t ## Day 4: Flesh out (and test) the API -Next continue your API implementing the other CRUD operations: `POST`, `PUT` (update) and `DELETE` (**note** PUT requests require a trailing slash!). Make sure you add `404`s (data not there) where applicable. +Next continue your API implementing the other CRUD operations: `POST`, `PUT` (update) and `DELETE` (**note** `PUT` requests require a trailing slash!). Make sure you add `404`s (data not there) where applicable. Maybe you want to add some custom validations as well (like the manufacturer `enum` example in the lesson). See the [API Star docs](https://docs.apistar.com/api-guide/type-system/). From 9628a78a61ae23173f3f83811760f6e6b7871483 Mon Sep 17 00:00:00 2001 From: Bob Belderbos Date: Tue, 31 Dec 2019 10:11:10 +0100 Subject: [PATCH 016/104] Update readme.md update links and make a note about deprecated testing / server --- days/009-012-modern-apis-starred/readme.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/days/009-012-modern-apis-starred/readme.md b/days/009-012-modern-apis-starred/readme.md index c3693735..c6e91803 100644 --- a/days/009-012-modern-apis-starred/readme.md +++ b/days/009-012-modern-apis-starred/readme.md @@ -20,11 +20,11 @@ Then start to build your API using the skeleton from my demo. Try to implement t Next continue your API implementing the other CRUD operations: `POST`, `PUT` (update) and `DELETE` (**note** `PUT` requests require a trailing slash!). Make sure you add `404`s (data not there) where applicable. -Maybe you want to add some custom validations as well (like the manufacturer `enum` example in the lesson). See the [API Star docs](https://docs.apistar.com/api-guide/type-system/). +Maybe you want to add some custom validations as well (like the manufacturer `enum` example in the lesson). See the [API Star docs](https://docs.apistar.com/type-system/). Install [Postman](https://www.getpostman.com/) and run the different methods against various endpoints, do they all return the expected data and status codes? -If you have time left try to write some tests to automate the previous step. I recommend using `pytest` but that is not required. You probably do want to use [Api Star's TestClient](https://docs.apistar.com/api-guide/testing/) for convenience. +If you have time left try to write some tests to automate the previous step. I recommend using `pytest` but that is not required. You probably do want to use [Api Star's TestClient](https://github.com/encode/apistar/blob/version-0.5.x/docs/api-guide/testing.md) for convenience (*note* this works for the version we are using in this lesson = 0.5, [starting 0.6 it's deprecated](https://docs.apistar.com/#where-did-the-server-go)). Good luck and remember: _the learning is in the practice_. From 2c52e6bbaa052fb8ea2490335822047c56ec7949 Mon Sep 17 00:00:00 2001 From: Tibor Leupold Date: Tue, 31 Dec 2019 10:52:29 -1000 Subject: [PATCH 017/104] Django registration not compatible with Django 3 This commit mirrors the commit a18b64145199b4ecba37979dbd64620a08abfe53 by @bbelderbos which fixes this issue in days/053-056. --- days/069-072-django-rest/demo/requirements.txt | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/days/069-072-django-rest/demo/requirements.txt b/days/069-072-django-rest/demo/requirements.txt index 2241bd23..b4433424 100644 --- a/days/069-072-django-rest/demo/requirements.txt +++ b/days/069-072-django-rest/demo/requirements.txt @@ -1,5 +1,5 @@ -django -django-registration +django==2.2 +django-registration==3.0.1 djangorestframework requests django-rest-swagger From 70ee2b6cdc91c4196975e0b676dcca7eb281aff1 Mon Sep 17 00:00:00 2001 From: Tibor Leupold Date: Tue, 31 Dec 2019 11:15:19 -1000 Subject: [PATCH 018/104] Show errors in registration form error This commit is mirroring ab86ca9b2a2083db633849e6505d43b6e9ee2830 in days/053-056. Previously, the registration form would not show any field errors that might occur during registration. This commit updates the `registration_form.html` template in the demo as well as the starter code to show occurring field errors. --- .../registration_form.html | 21 ++++++++++++++++++ days/069-072-django-rest/starter_code.zip | Bin 24296 -> 23639 bytes 2 files changed, 21 insertions(+) diff --git a/days/069-072-django-rest/demo/mysite/templates/django_registration/registration_form.html b/days/069-072-django-rest/demo/mysite/templates/django_registration/registration_form.html index 5df14191..0425b7aa 100644 --- a/days/069-072-django-rest/demo/mysite/templates/django_registration/registration_form.html +++ b/days/069-072-django-rest/demo/mysite/templates/django_registration/registration_form.html @@ -14,19 +14,40 @@

Sign up today!

{{ form.username.label }} {{ form.username }} +
+ {% for error in form.username.errors %} + {{ error }} + {% endfor %} +
{{ form.email.label }} {{ form.email }} +
+ {% for error in form.email.errors %} + {{ error }} + {% endfor %} +
{{ form.password1.label }} {{ form.password1 }} +
+ {% for error in form.password1.errors %} + {{ error }} + {% endfor %} +
{{ form.password2.label }} {{ form.password2 }} +
+ {% for error in form.password2.errors %} + {{ error }} + {% endfor %} +
+ diff --git a/days/069-072-django-rest/starter_code.zip b/days/069-072-django-rest/starter_code.zip index 9e760e39c035f6efb9128f73c84e7134ec1e27dc..79e83ebf3bda4ec0a58a54f2a7371c4a943438f9 100644 GIT binary patch delta 8286 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 J7uooK{|996f?xmu delta 9007 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 From d9ee51b08ed05003603cc35a699c536a73486b1e Mon Sep 17 00:00:00 2001 From: Tibor Leupold Date: Tue, 31 Dec 2019 11:36:07 -1000 Subject: [PATCH 019/104] Hide user field in api front-end and set default Before, it was possible in the api font-end for a logged-in user to set the user value of a quote during create or update. This means, the user could set another user as the owner of the quote. This behavior seems unintended. To prevent this option, the user field is defined as a hidden field in the serializer. Hidden fields will not show up in the api frontend form. A quote should have a user assigned to it (even if it is not required on the model level) to allow management (update/delete) of the quote. The quote can only be managed by it's owner. To prevent quotes without an owner, the hidden user field is assigned the default value of the currently logged-in user in the serializer. --- days/069-072-django-rest/demo/api/serializers.py | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/days/069-072-django-rest/demo/api/serializers.py b/days/069-072-django-rest/demo/api/serializers.py index 7d811729..baebb6d0 100644 --- a/days/069-072-django-rest/demo/api/serializers.py +++ b/days/069-072-django-rest/demo/api/serializers.py @@ -5,6 +5,13 @@ class QuoteSerializer(serializers.ModelSerializer): + # This is not included in the videos. Without this setting, it was possible + # to set the user value to something other than the currently logged-in + # user. This setting hides the user field from the form in the API frontend + # and sets the currently logged-in users as the field value by default. + # See also: https://stackoverflow.com/a/53193276 + user = serializers.HiddenField(default=serializers.CurrentUserDefault()) + class Meta: model = Quote fields = ('quote', 'author', 'source', 'cover', 'user') From 1c01ae5293505658c9e960e46223ab4aaff5344d Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Sat, 4 Jan 2020 23:03:07 +0000 Subject: [PATCH 020/104] Bump django from 2.2 to 2.2.8 in /days/069-072-django-rest/demo Bumps [django](https://github.com/django/django) from 2.2 to 2.2.8. - [Release notes](https://github.com/django/django/releases) - [Commits](https://github.com/django/django/compare/2.2...2.2.8) Signed-off-by: dependabot[bot] --- days/069-072-django-rest/demo/requirements.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/days/069-072-django-rest/demo/requirements.txt b/days/069-072-django-rest/demo/requirements.txt index b4433424..eab811bb 100644 --- a/days/069-072-django-rest/demo/requirements.txt +++ b/days/069-072-django-rest/demo/requirements.txt @@ -1,4 +1,4 @@ -django==2.2 +django==2.2.8 django-registration==3.0.1 djangorestframework requests From cb345642dd3f109c4884c3b3e313af1c0569ed85 Mon Sep 17 00:00:00 2001 From: Bob Belderbos Date: Thu, 23 Jan 2020 06:46:46 +0100 Subject: [PATCH 021/104] django security update --- days/053-056-django-registration/demo/requirements.txt | 2 +- days/069-072-django-rest/demo/requirements.txt | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/days/053-056-django-registration/demo/requirements.txt b/days/053-056-django-registration/demo/requirements.txt index 63235041..66e009ef 100644 --- a/days/053-056-django-registration/demo/requirements.txt +++ b/days/053-056-django-registration/demo/requirements.txt @@ -1,2 +1,2 @@ -django==2.2.8 +django==2.2.9 django-registration==3.0.1 diff --git a/days/069-072-django-rest/demo/requirements.txt b/days/069-072-django-rest/demo/requirements.txt index eab811bb..0158a20a 100644 --- a/days/069-072-django-rest/demo/requirements.txt +++ b/days/069-072-django-rest/demo/requirements.txt @@ -1,4 +1,4 @@ -django==2.2.8 +django==2.2.9 django-registration==3.0.1 djangorestframework requests From 85ec042c575379a07c3fbe039d1bc4aac910fcac Mon Sep 17 00:00:00 2001 From: Michael B Date: Thu, 23 Jan 2020 23:39:26 +1100 Subject: [PATCH 022/104] Update slightly confusing title in html document The control flow language example is about guessing a number rather than driving a car --- days/025-028-javascript/demo/language/controlflow/guess.html | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/days/025-028-javascript/demo/language/controlflow/guess.html b/days/025-028-javascript/demo/language/controlflow/guess.html index 734e9637..92792a56 100644 --- a/days/025-028-javascript/demo/language/controlflow/guess.html +++ b/days/025-028-javascript/demo/language/controlflow/guess.html @@ -1,7 +1,7 @@ - Can you drive? + Can you guess the number?