From 458dadc9b6803358ab8291023e92c0bde777f5ae Mon Sep 17 00:00:00 2001 From: Sergio Garcia <38561120+sergargar@users.noreply.github.com> Date: Wed, 4 Jan 2023 13:11:51 +0100 Subject: [PATCH] fix(contrib): Update contrib folder (#1635) --- contrib/cloud9/cloud9-installation.sh | 17 ++ contrib/cloudshell/README.md | 57 ----- contrib/cloudshell/cloudshell-installation.sh | 17 ++ .../screenshots/action_download_icon.png | Bin 24293 -> 0 bytes .../screenshots/action_upload_icon.png | Bin 29500 -> 0 bytes .../screenshots/cloudshell_icon.png | Bin 13433 -> 0 bytes .../screenshots/download_prompt.png | Bin 30667 -> 0 bytes contrib/cloudshell/shortcut.sh | 36 --- ...odebuild-prowlerv2-audit-account-cfn.yaml} | 5 +- contrib/html/generate-html-from-csv.sh | 230 ------------------ contrib/html/prowler-logo-new.png | Bin 27748 -> 0 bytes contrib/html/prowler-logo.png | Bin 11316 -> 0 bytes contrib/k8s/cronjob.yml | 4 +- contrib/org-multi-account/ProwlerEC2.yaml | 14 +- .../src/run-prowler-reports.sh | 2 +- util/allowlist_example.txt | 29 --- util/cloud9-installation.sh | 17 -- 17 files changed, 51 insertions(+), 377 deletions(-) create mode 100644 contrib/cloud9/cloud9-installation.sh delete mode 100644 contrib/cloudshell/README.md create mode 100644 contrib/cloudshell/cloudshell-installation.sh delete mode 100644 contrib/cloudshell/screenshots/action_download_icon.png delete mode 100644 contrib/cloudshell/screenshots/action_upload_icon.png delete mode 100644 contrib/cloudshell/screenshots/cloudshell_icon.png delete mode 100644 contrib/cloudshell/screenshots/download_prompt.png delete mode 100644 contrib/cloudshell/shortcut.sh rename contrib/codebuild/{codebuild-prowler-audit-account-cfn.yaml => codebuild-prowlerv2-audit-account-cfn.yaml} (97%) delete mode 100755 contrib/html/generate-html-from-csv.sh delete mode 100644 contrib/html/prowler-logo-new.png delete mode 100644 contrib/html/prowler-logo.png delete mode 100644 util/allowlist_example.txt delete mode 100644 util/cloud9-installation.sh diff --git a/contrib/cloud9/cloud9-installation.sh b/contrib/cloud9/cloud9-installation.sh new file mode 100644 index 00000000..165acbdd --- /dev/null +++ b/contrib/cloud9/cloud9-installation.sh @@ -0,0 +1,17 @@ +#!/bin/bash + +# Install system dependencies +sudo yum -y install openssl-devel bzip2-devel libffi-devel gcc +# Upgrade to Python 3.9 +cd /tmp && wget https://www.python.org/ftp/python/3.9.13/Python-3.9.13.tgz +tar zxf Python-3.9.13.tgz +cd Python-3.9.13/ || exit +./configure --enable-optimizations +sudo make altinstall +python3.9 --version +# Install Prowler +cd ~ || exit +python3.9 -m pip install prowler-cloud +prowler -v +# Run Prowler +prowler diff --git a/contrib/cloudshell/README.md b/contrib/cloudshell/README.md deleted file mode 100644 index 48b965d1..00000000 --- a/contrib/cloudshell/README.md +++ /dev/null @@ -1,57 +0,0 @@ -# ShortCut script: run Prowler and ScoutSuite in Customer's environment using AWS CloudShell - -### Use Case: - -Customers look to use multiple auditing tools in order to provide quick assessments about their AWS environments. These tools allow for reports to be generated for review by the customer and appropriate teams, which in turns helps them begin security remediation efforts. - -Prowler and ScoutSuite are two publicly available security auditing tools that provide comprehensive reports for customers using AWS. - -ShortCut is a mechanism for customers to use to run both Prowler and ScoutSuite within an AWS account, using AWS CloudShell. When customers use ShortCut, this allows for customers to quickly perform an audit on their environment, without having to provision IAM Access Keys or EC2 instances. - -### Prerequisites: - -Note: The current version of this script is ran in a single account. - -In order to use CloudShell, the customer will need the following permissions within their AWS Account: -``` -cloudshell:* -``` - -In addition, the following IAM Policies are needed in order to run ScoutSuite & Prowler: -``` -arn:aws:iam::aws:policy/SecurityAudit -arn:aws:iam::aws:policy/job-function/ViewOnlyAccess -``` - -### Instructions -1. Log into the AWS Console -2. Go to AWS CloudShell. There's a screenshot of the AWS CloudShell icon below, or if you're logged into AWS already, you can click this link: console.aws.amazon.com/cloudshell - -![Alt text](screenshots/cloudshell_icon.png) - -3. Once the session begins, upload the shortcut.sh file into the AWS CloudShell session by selecting Actions -> Upload File. - -![Alt text](screenshots/action_upload_icon.png) - -4. Once the file is uploaded, run the following command within your AWS CloudShell session: -``` -bash shortcut.sh -``` -5. The results for Prowler and ScoutSuite will be located in the following directory: -``` -/home/cloudshell-user/-results -``` -6. You can check the status of each screen session by typing the following commands: -``` -# Prowler: -screen -r prowler -# ScoutSuite -screen -r scoutsuite -``` -7. To download the results from AWS CloudShell, select Actions -> Download File. - -![Alt text](screenshots/action_download_icon.png) - -8. In the Download File prompt, use the file path and file name to download the results. - -![Alt text](screenshots/download_prompt.png) diff --git a/contrib/cloudshell/cloudshell-installation.sh b/contrib/cloudshell/cloudshell-installation.sh new file mode 100644 index 00000000..165acbdd --- /dev/null +++ b/contrib/cloudshell/cloudshell-installation.sh @@ -0,0 +1,17 @@ +#!/bin/bash + +# Install system dependencies +sudo yum -y install openssl-devel bzip2-devel libffi-devel gcc +# Upgrade to Python 3.9 +cd /tmp && wget https://www.python.org/ftp/python/3.9.13/Python-3.9.13.tgz +tar zxf Python-3.9.13.tgz +cd Python-3.9.13/ || exit +./configure --enable-optimizations +sudo make altinstall +python3.9 --version +# Install Prowler +cd ~ || exit +python3.9 -m pip install prowler-cloud +prowler -v +# Run Prowler +prowler diff --git a/contrib/cloudshell/screenshots/action_download_icon.png b/contrib/cloudshell/screenshots/action_download_icon.png deleted file mode 100644 index f8bed6ed8998cb0e8c513cd0a652896e2666c9bb..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 24293 zcmce;Ra6~O8!QL}C%^#`2n5&Q!QI{6Jp^|M?vmgTJa`Be+#%S(-Q8Ue?k>~kpMPep znRV}7_vt?5p%1&ecX#jps=lh~gexmbp`#L@!oa|w%Sel>!oa`^0sq915rJRiB~h?| z4M{68F=ZJsF;Zn`2XiZ1GZ>gpai+$`*fI>C`b|uXjr&LFX;GcsRl~xfRE_-y+lSk` z+DDDsNt1r*>#u(Rt-n$4gvnLuXs~%3Mfy<9)L(jA#(Z({`iy~Li?-|nw%9e2zy1_J zPgTc_FZ~L;S-Tzd2OANw_Z_KTV@n=P_X$k3L_|OgT=ibSJOp%u2;xKO6ok{n!QOuR zbq%H(A)XC8(EKwPrrI_BXZKXxyt21Q01Y=!-S50l8f5MB0Rb*DNK{4dsYn-j+J0Am zViU*}@4)&XTZEeBIpD>MDv2ohxl>~9#x*;OYTD`vdV^|m)&wVw% z^L~DPU0Zs6eQkbg`ND|!aS|$luCwCg@iS-i@oJhQXo6PDK)$$Iuv&>27+vQeY z`kLmoU0*JG_buf%9X@|-EO>ZWk##h&_KlvQ6j48;`QLKx2(Tgn{VKws|NKc#T)6*K zj?fiSLrRJqwnO9pCMbaP%#55gc`b$KWYR`tJyHr75&4P(f`JcY#(~{qu2}+pZfAu{ zsnE|~xP18&8cVD<%D`ib8n`_WulmS2@=4B|tL7N{f(R^ZuMaM zV6mmCXBDr|Al5%t5GqB0mx*;}1EI5?t;cD@AQr?eC|_-H4aFc45K+qFpBb`SsS3S0 z5t6^eW6EzhU4@)ue~u3LnQf&{sR;^mgs-<vgKHP2;ysDYYpUzCoO1 z&}sR+Gn9}}tW_k;V%m+I0PY`MwrT%-AYknARqJD(;Jv*AhTLKJrpw%q><@M%dxm78lV5C6L{Up970cU3*GuX@ZP&(H?OFZQUm_ zxvW6LhD&)aW^M8jlSKVVq3LxUtImEkZ0h;x$?_yf!WIkccll$p&n2g+u7pj5yesQD zbY7L=Cl^<%|7%uE=2hP9>8jd`Ph*k8*l6h+yJyo0=caE9kr}4kYCoYaO)!Hjy1$>nSRdK$6pwJS6~$?0;XYx~XisMVst<%k;lt~V{uQAMb3ilYpyt!2BN zEEJ|(-}p%gJiJI7&Xw1gAqRD{<2g@WzTK1hkW4ZAVAyhn@vrzSI5hTWH>>L||6(bF ze4-Rlf2h@YK^Y(S^Zg~BzWvHUBbN%-c5fzCZ`YG9_N$q zHBR>wO3s7d3~5!E8hD6(a8e-?^-~FKn!fL$aNM4k>0LkEl=y2L=tGDoV^wWCqZ>4{ zyS^?g(EJpe%tVtQK>Xp8rPPV zYzim(TGu9PL~bs{E8L(_n-WC`S)WptxpS-gE7=<6{!}JziQAK)DS6|+?wx;?V1>+k zZ(*!|3TWRlITf(JsfYbEQvc25>NkO$!R`7(27xkxK?i#<^N_xGt9NASYH}&PORL;) z&*ng#7NvV9ub}lVnm4TGvTugY!h!~jB!ig3XWdjPGgADXHY@ESncg5M*N|>#^3!79^o|(LY(evju>iYPD+uhiMU6nS zHNKDLKup$lM*e9BA@DQ#+3D`FK3wvOyTRjlg_;F~fc@|^S~okGQXXWagl4lItt&PS z-;ET$hwX?^mGd&*AHpKGUvi|wLtn5V@Q9wX8M17TP&ej>WRFv*myjaP%Ct?XSQIskFoIH;mZ^3WOozr7x3!9~1 z`h7(@;{=|cErrtUYr0Y4f&$)S&HL~FwRd{v_4~Kz8{N0aWxFVO`J&$`)E-W$-2s)8= zY`Dc*+(S!(^PFMe{rG%O*5WjTVLg#2NCK+^wkArTntj7@2=Y8A+M>fL9M0ncgTL*a z2vAe0CF{45@J@}Z;CLWuKbmdn^HfhYFs6$}57hD5J%i?cv6!Bvipaa4i|PmZc>c95 z3aAs)#Exh%3HAyl*V;CB@;JXRThEf))?}zdfvb-ZUOM#}zxZC0+maefEVNN%UY#c+ zNLJE!@R68QHM(+`<0h4N(%I;Eu|O&N#~5zfkOdR51*pnCg{Ou-n}ayHLbN<&a37QC?6E~Qm`_ilVpw<(g=QV)7OXz(K;cr=UA<&(>j6z9TOWvo-Y zCiICULF+c_?>~yr>iz~=-9OM+wl4AL75rzZm^oTb5WPZ2hLk*3QwN&WWNHI^F@k%i&g&JrSQjo6oQ|^ zMire4^_*kenpuSnwD8`9nbB{%pR`48KOekr+#3@cy%eHyk$^-pIX-At)IE_0YP6ltFYg{fZzZ|y8h z`I*1vAIr$aGJQk%S?R^|op+E_XO=IL)kb{M)n<>JS4GQG*Mid)qAT*0ey*(s?s|2S z4Wx{>Ba_;dj$pchuOngR5|7#PrloEFD)n{$c&QBLiBMPB53$@t>G zv@TLf>G8f+FzyV;MPGiqHz7@Uz9rIC>v-~nWJl{+%`BpCr;!OfpDy8EO;t>}TFka0 zVeDZBrzZ48BK$><(MN!#r!aQ;Nc<~8(DNb6aT*aUZFGM(4ksadmxGYouEJK(7S`ta zh!LI59i2dK%*}EDHj1pt&l}< ziq}4)=0DOk5*|15Gp~q>@2I@Py%T9U)OwX2dTrEW^EhUQ`Du{~A% z0L1-d9`zwPLbeHbKYXa+;&_kI6+W`$FaI+`%H;J;F7&DFG?r=gfDq+z7bI1_Ezx9> z0>FNY-(u9@_mijdgguAri~FS;a8o|i*{npN;?aSiv-@VHI<<(N4!L;G98p-%losG) zqgf)}d_(*j0IT!bo6dat4E{!k(!q9WTOY{JoEKdHCL>mz!}Wr|l_3kxzO zF<(ASCZJ;yVW1$xVFd+@#I4O|7mioqz^>7SV|AsjwtAC%>5CT9*g8H|$b6amvH90% zeWk^Yrees15glH;Q8X2F9bn9NeWdiuSu|rNap4m_Tb^m`?O0aZ`ZaGUO>YcQq(g}g<;?PLkdU}2{i#@jaE1Xt{VksFhuyRiPVrNvW9llbHUCKG>S^c)?%UZgQEUxZvGDLJ=5AyD9ib?9NLRzMwJ@ zdISz-_A<17yMiiFhQE(QQnPO=++4qVv&?~nFK#L z3Wl7nHY*`v6s>62DgL4}bH3JlVdNgUyGdI7+W%9KQ7SNOvY3L!(`9e_5k0-0cIEcE zCRBF?1&31EY|<%9{2-kyttS-X&}L}hk>f+}j7yeE5 zB8^tmx$sQ0BlbsM| zfh(`4vic7(>@6t=q20hQmS-B9h%~sLTXGVMmG2~gMMdg^9CB5{#3|#qacJM2n8odi zn|Z-Mv|Up=59>Fwnk`{KFZ)xo8{_voau`z; zT4Zr*0Jd_(9}884F7CnWY75G^DYj7bG)128{t+5&@}-_f)W z#079bHxMKKKr!tI1Hi84kE~Xe!0ph6@&TLQpLn55|NqP`)L8AzHR(8HLN5K%Ex;7S zZQw(m{#>8Q?m_232wdUrPZW!%O{yWw`#~6HhYfWqX!}VD2dYH7XfE-SXw)94p59%0 zg=9^!Gc3B^Wl6>m7p_RoU)MVSc{!WNRX%*RIak#s+s3nQq0A)(Eg*9@IIOLH%{*Og zD-2c2`XwKEByD75baBx%SYbA#rMe}FenqX{?3cOO6Ir+>rT*J())$lhyQSBlFttr#!im>&Frh#(UF2}qL3wpuRprN9NKrVs5$G&HM9gxp zT;Q9Lr>$HvJ4&71QUv&LJZ5P2uYr=MjklNts`t3iM@~9SC#Sy}L*`yhhJjEqg0vIV zpG3pl^UZB?Wt@P%I?}3QcKyVFk8L381CM4TsW#%sH;||gh#JKq`L$S1`T3n-4Ha~5C@#!Ef`N3Z?b2vAkwcjU%e z7*St(A|y;DF$)VumXx~?U5h-b{)qh6Yc3X?~P6gCcQ@I@1(q!J0oINQw2E){tS7#93=>; zH%xlf%42%vw)k}VrSFaxTcxs-Qy5e-G?|RLJ$c;^r19Cz3R{c8*gcVu9ZD#zR0$3+ z(D4iS>(f}RUi8KDA;;anQ}?$@x&F=OQjc89)H+$0)z$pDydxfy{vYu{6c30h)%%5G z(-L&G^&Bxo){VeB3_|{4vq(HN0hSJ{hk_A3t4`(w%ekyp{g>lrcdvvDQ=cc>a3Vfj zPmgzbj7#;05Ns&L{43Ue(vPW(PQv?(OUN&shY#7gVus*j_rOH>x)nNeX-yLCGe@6R znW~JAxwq#58d{ax2tlHZf>tb{K*8*Zn_A`~$IPO>?Whf8WbfLBPW>Oe>(O+yVz!{z zd{|(}w?Bkx2hHw+ijj;nWDqDvaYFWCS0FFPD6w&KamgoM;hp+bg`>^I$xjNI%HOd` zphl#lzx zCz~TBV)JO)x*mzsmp+X1-`423kf1{4`=G)`z44Q~3obqhtJ>@#MhX6CZ#c&XWJ%BnL2+&#{0c=xIwS@jtkb zW(py0Ixb!m*0s7=+OyX4p$fJA@f-@T?dL~KK_{$wePFmicY1i!f$@8{bYw_LuCwCrfA7$1rVd@mv`}Sczx(;0RmBc}6!a96%`KylR#!k7jx&`PE;MmhmHXGx zBz6oDWpwcI`d9+}qt7=Aoo0J6-8R2qolMWm?Sib8X63lg(>5}N3xkv*z}1lx!Zwq( zv003DTP_D>YNjzPK>D!`F@>DHzAQ-<$Dk+jY_DZC+VWJ-T$mNg* zKRz)L=SE+0-W#1BQhm(pGltPaqmVl4h0CmSBhzRxmOTZ2g9L%pSY*sLyc(ymUUQ{! z`cmuVHD0{S3k(jOOy>fV9fVL^YuYX1T;S2`Br{F|Q0k{jLjIy#o49`Dvp2e;ULm69 z77*j%!b>dZ^C2L(gO^Cq`K{i7<6cn`f@Wn}PGM}d-$b%C2RO%wMrnutf*RQe1$iFf z9$K|xC6?UQSUM1BBKO9O&b$oQ{DMDO#1N|IdTDgBH@eJanfE!ikyn?@l_vxTzX4Wq z$YtYy(PcP}xr*Xc1IEaxMk6Y<6)V(g14q_d;4Qb*#A7LrTA6?CPtHckS? zb^6V*LX4uK$OXQ`#s3$nRMKY|qX)=-sLZ8l4E;JH=J$~Hyzm~M$n7gqI?bYXWqPtf zNtnw<+f~hv*wJxMcX;i~Tc{Yrd?)1RlW=XfT=@fad#ukY`P+1{MlhqQ?OTJ!&7Ny0 zNXF&%eNxKOueBHx9L#2B&X-9@8_jx-1!}kiV>%ayPK7us+yp*sbLG=#n4O`d{5Owo za3$QX2epbGKqb_`g@|-cyFbPl*y2;D zz<9nsM?v>fOCPi|U>8%|^$k ztv=W(^@LP%o=E`Y$|tDog_j%?KBOHX z{zu-ca4f@2u2MB0CWw&zcf}$DOYqQrLr zRF&ZmEZk$XV^iOrAJ7HbaHRoc)RW^La=)5)YVv?oCtodSsqt17!E|680W`@o)2XMp zt>|m`W+I)&pz_Rn0wQgt?m&A`mQ+qqBC8qdOJ%#g$MGUZBe8s-lR4I}c3!^{j3BX$ z%%d;(zn176f`mOlm62^%T-LJxq=|&i0aESTQ(LYPX+B*ybSv^eO!0%Q?$wAU=FRy? zI$y#Ucx*FakBEI|Y#dD={t^WIptrAokN&Fv847y`YYgs@2N?(PW*0zw={mm0GjJYxZnT*mdYiygTp_g6tP zXBP^ZE)1s8QV!eYjM)ku8PChz0z5h+XPiEbGY+okw+h!t5N)xj_w>m{+hY-I`8b+$ zBk2vuhwj4VV@S8vX__RUyr1ZS;Zz|!P{a5>U&EQ$^OS?=5}7onO`?>HkBo3ISPKr=pc5$*@VS*bHtZzy%7l;_ zBO%ZCq-9ePZWU9|{Mzk}dOxMADT4>)^8r|u^h0CIzo3*cp${WXF4+SBM-aTA2&t~N zU-p$OIWP!N9s>ZhLB znE0~g$(1ZH6$VlO_F+k7Z~@rg4+miXickxZ1WZL+7=V2^ z;dllp?Bl=!fDY~0xE_Mv_WWy)?PYFLG>J9Wy?MMP`P7gCUbOpL-eA9m;j)sWYP%y} z@L;n;C!R@ad<%tjyS1tWI`wiz{N-x3UE9V56D&f!?~<#up(0zoukxX>ggZw{*@C$( z2&ihO;5XNsj^X!b6BN&a9x(Qd0J0mq$97B&ujox$mFs(K1>bVDJmj^If{3tyc9hR= zlaj+~HZ7h~Q9gnCB~M=|=1=E$0YPtmY-)Mo=ZBj=KhO^jc&+E`qydp({4^NpVs~I9 zrZqAo$54(pc#iBAdJjFJXqd_49fNhBBgJLC{1V+ z1u-_qj4D5ISTDw}w-aIG3XEk5?D^R(wrI>fj{S(fQfTenK0Y3?L-a#?)fF{pzTIpZ z=hSX)hx_%Xb-yMy7W44VW~N0VZ5jTd=^Mg{1;D=#%y@!< zcTxqQqd$#OCym(T?UsD|;PEmTvV{CQ4n2Jz(f?%dI4egVXrN4Oj~aNVeaEA8zFu^_ z(Lj^h1#xLrpYQ0aOGhfFMet(!hkpGA`c2EBQ?fbU1H5sQi{YK%`IQ?QrTk?u-qSy zV|NrLv0ltm0TJRcXDCTTz{`iSnK|dPn9@|5ZCN@x66Xap4Ww{k<}0NCzg*@e@{pkuYhM{4jaFuDGuuD^q!j+M1;8LU_aZvhRm#Ryo&RVr6QK zvPlHbW%ylY2}f%z_HbtlIlAMCY4*lG&cZ%>sWp^m{v-JLRJzbM71!mBQZ8cD;vrI^ zS&@_57o(Om_`a@STxZPm9gU(bc&*xwkBHkNtSg1d$i)56TD_f_2F;mQ575MRh6fmE z`|X?FJDWk;!9?tCSB@vF1uD6{QJ9myxms>e8iB5Dqf7$XXvD&`MBsgm#q3#<6 z!K2)*j*T&gp+?_S_i1`#9&GAJYd(a=+l24V&bbrg=-lNR8>CRm8-^Z*Y3ea_NRBL?Ph+ zB@73L3NYWU=ChF_Pqf3b`CWM{c;4T95(g3z#w|*oSp`6C@(J<zG0w|4oztPKPu4H(jK0o#BC5&lUQl|^wA*oa3zs_xHkHerx<|Qt4`5OTyzbkf z{)-MZL5UsclaDu$f#%{Fo7sFojPsB0`$v2u^Cuixjdx{P->Ua&;M?vnPw`qM?X^nt z)I9C;&YlxBJBZ`2QOZ*E7A5*eu0nw3CG0`izRD<_y=;OlZkc>a3vIs_w**J7SSi%H z3LFz_m9@?1b41kl7Uh4OirUC*c2ldtwe!T;2X3+FT!U8~T`vPRF8rT&P;zk_z@t)W zepgf!U%{K^ILc=H@PUCx*4{*9x!FIPwXrcS!2}6U6RY3kIV~xX%fa3&=YopMNgu)J z5e`2MC(jg}CHXz$J2hUX?Ja;Phqw-G54_=&9j-$;?|btW|yhjNf!3>j?z>fr;&0kFp-NTiH~ zQVl*R)mZr{8w%A3*a7139g%8)0*dy4KHX-?l{ZNS5D#Q@fQ00T$Xq}LgIclnO_h|; zK%rIqV=pEmfN=y`MhjoGlhAU`$wY2j$OQ8AU^4@U2nt}NAe}PQBPOy+ho0*La1boS zvQGfZfYk$3hp}WSsYR$9f%OBR93dj~5m1RY8S0boOvKeg1(^^sV6G?EqJ1AP4Kn=X(MehK=R93ZT{b#Y0tK{Qm$Xrp4Ru#uq|W#|L< zkttT)^WoGpqglLx=EH`AUo+cmDO?W|9-ijq#lyV115_MXCgs5 zIWRUim$C{*KdVdE<~icz-43*&WIsmKTn~|%8aO;~eK_k-@}!Vcc=p@>!(UI8KcrPY zNfMbnl|N*-U8=8RE}b3o%N5R~XnX;GyVnSrnr)#ZR82uHW;@ z8IAx>#rhtdh(p8%=^8Q-&X4N%Ew79Q9*vL>GH~cWI>@*gw2%PFys%no664}6XONUH ztc#9^^=(qi(l?rrb8v8WLa{bLRHJPGp2QgfIVgWSh18FKCDpMr1Vt1Y;Jbaf|QX!6GyZqUQYI8TWL$8Yc znG!Ab%|5U#Bwr>eLN#Ajq++dQW42H>l{~_mYzF$mm63rU&8;ypioA%Gs|+&VtMfk@ z^5b3H-qIXl^hJLR^>TmBiY+(JJU#Nqo3=k?%!2ES!VkujGHr_Nn)swfYD7$@R~(XW zO=$q!93cBZxV*CRtZ==cgcVw$tH!qnv7+Od-1_W`?ne#cYX(?h?)E@}$|Pm@HRt^U z*zC`6#zN8@+%-I4*#@=aeHR{W@uW@GC2(Okv0Qkn)%sYp-W__UPMdHkHv9Dsh08&wm9_%v9Q}#XnJgcz(qN*Ah$8 z-Ur@gwfKwE8@`G>t~nGIzQlsrpX`d;!dI#CJJlnsc{%@3jt<-{vE8*wvUfv<;7+oxtwGRRHCK@9!FWfU8PAEEyP(e*Z2pq5mTYAO1|%=}X{Tw* zu7!v`zxaPVXxK%=bI6Tn@P^~TA0Y%v(+GjGE7m@y9SOwWfY*v0QNQxII-M&Ca3^MYOHITyXz6QNY~ zrDt>2vaN+t)0pyYj5<~hvN*~;0-2zMSJBg?iq+{s;snhQO*+xVPl^4z!@;UuFOD0D z#dJps0Y`8brN^`<^L^`e?u}sUl~V`vmtYt({crn}#)Zh@boU#uUFup5ckj;M`{|_( z3YN(D9qjE3-TAJE%IZ0CDOPQpME+{~ti1`+ukr1dNF_Eev_qL4M@e~>59l*JDMS~f z|68miFls@F6qNw*nF?fag8PjPuZInmit}@IuAg^<0wofsZ~Rj*g_ICVM4PR*EqvCG z-dpO~bM;Dk`zmK$7K82ENksd$PE6sJ-+5EL_c07o<;}ym*a%@|<*etgo~-`~jlp!4 z+qdr`s#v#O*`DKvW1=1Y(%i5fd_XIrh`+fvreF$XZ{AZ-)KO#jbe332Y+Wx-9M$ND7D|s=+ z1|$(HDd5SYpUw;naO-MA-VB5Izg9lgmfW0KX^m1k#6<-B5GenUK9Aw#5se$&-Wys^ z`$xw&t?olnbmAa9EIlb`W4lm*aPhs}Y^O*28LO`MVwc5tu*Ba83aQwMj5R!QZ6Zu! z{;$tm4y&v>NPflsfM|HN^%INTZ1HVY#Ht$cVeQK0S*_AXJas}J{?BfbaN@*v{8+eH z(ANu@MhM2_U}K#4^VSTZP5{Jrf4^#LH$vRw>D-jYa<`NROLMIC z@mA**2t6sxR(W3H5?pP4_9}_V_h`E+kV`379^t*V>d21dZsS-ij8-^9H0G~knJMqM z>~AGCK13ED{2?Vx`hgM6bY6RRrMUqf?XPn_>b6S1fu~Kg0*zAEpP0-hmBJXJzko;F zdt@Z;0TA!)-L$~o7~;`q-{%L8I-8|5*?08TNiXRi(I^)1yEKc`69HQ%3_!B%n*b{< zxo0M2QlXi04Ye^&hZhp|;|3k|T4}6@gA!Xp|Fd;6Kp+=1X!7~4&u0ExGMYg7x;P24 zofM7XR;=hW zc$d>5YdiT@(34(jS1dF-5AcaqsJXOwT?Z4O7OZD$OZj9Dg_PAyTHOQh0`RaQ6J4Q$ z=;qiQ(JkU?g=2YCLz?42YEO)@X{I6xbk;L(i~Uh z5(O0`qlu+T=1SGXPef*lH2^K)%_7h(RGb@Zs@S@c@;m(zPvn!r@H2CB*?JN1d+PqB zftk(gn&$O1u5~XEBWLgq;-}oFE*XPgQ79)2x|;-rsSYu>7}Ln%I=$t8n8i8Bby?fOSul%p}Sv1O2LKVHUayF?8lF4Qa%5ANRb!vFq*mrJER&tM*+?Cq^ zD|2+Exz^>Dc&6NZu=**cW_u_-9c;IzGE{D~)g3dEe1IS^>bO|0Q#MbkbA3x7V06|# zxkLZ24ac9juP?INd_?xR?NFS{emUC)^?@81y{%9u5-h6YUCM8XnRC8U(|GaZ|$fa!tZYd~i%J?wKCEu{s6DgHY zsA#I-VEA}(omQ;Z&z!L?>(ngXUS8PR0Ou|WXd)x)rsxbJLGU7o6$~X}>7nH^X$D%JvE= zZf!Mkn(vXwEQ%yO*U%*Ip1?AaaVhx6#57%MWm;#2UAg-~WF|saq}?2=Qf~ww z$tY^=IE@nZ-QZUJ&ruG*WU9Y?*BzsmSEGI&PO}(Ilk;aZ9NdTsg#Y$%r9-!WLfo4s zmLg!6#{LaRL}Y1homGdCp5;>*YbCEmAI<^Zrs)+R>`eo9b(W~#QUO)Id}>f%mGcg& z4-wys#Rb3b56st9uuDpD2|7G-LFN0Ql#OeS(pM^JQ1<7UkQv~^3xk8L#1yoUGh8hN zGP1`TlJz<+IafZqPS1-g+KN*mAt%-2gOk}h3w0ZN(jAG&l!?I^8_T(qR_g}OtgIKF z!1d#<-SH`lG0VxsqHixx5_LH)sk5(_%)t9{=Q1sa52TZzLbt<2{7wiSCtbDKkZjkF zw*}T3^pIfX#xI_oiyt|;XUiW$w?upZi*5QcQQgLCTt)o2ShO-Z^wJrKdm$&xd?#8@ zqSsQn&GNMzIWYTLWS`OTk?n@2_*tPVz(BXo`|Xz>>r(L43Qyq=HzeYweG2RUcM6Jb(_?+F$l&U1PlzUBlF}vPGfc=Ta6{ja(CG5z3QHt*0* z3Ao))(GD?0%8~f3QKRntfs*c(NrCE)67gz&(QxF!Q!pa87c6U+lCDXx=#nwAQYJTA z=*slF!8B(T8$B$l#krPodj-+rkKFt|S7AVS->N>F`!p1t&~C9D@|+9LM6wA4R9{)Gc@gUa)ZV|HOd{<99Z(9$)rpM5+ znly=2^wZ~ZQJ*+oe$~|XSO76Bfy{?}x$oQE?V|ti)b#}iX0_9C26sPB#2dM6UQ5Lc z78czls_WwRa=-r7l?iK#88^wtFgzT?0=~+v=oz^Ta9EV77R<52645b7F61^dqO8F- zqVyTNw5FZeM5YvFX%1q3zd*A-QlwFM;?0W;5pJuWqpuvl_aJR99XH4{JPfv$N-&XZ zCgi#VECId@ABm%tAO(naJ2dUHMyHtCN)fDqw|{sH@2MGFi0RQ1ONEN(+9JGzi3dzw zDB4cQU4UpeTB$(kxk>R5E{XpMx3Xb&r}~knr?ca?aUunL-*R!Ep*%zp(l4N}cNbHo z-114r3((f!Y4u^^{MTbD%xT}h5#SL_Vy|{$x5>#?t@W8~;#@@j3Y@EbpyRr5q>V5z zSY3vJ;D=S*Yz2@+^dMpPDtenR)H%(38vr7VH1Oo#pJ0%Q-|>I0B!D&?$G%<@h}rLJ zX>VlRqJphHKXqB#V{gpsQ(}XR|FF&GCKFE+kQ6jk-jR|D5{mW(n(MRtAh^eulhyvu z!IGZX;kw_1K#3yJM(8I@U^$T@U$%WU9b5bM&MtO5+-ymov>6M+p)iO1X~3Bx36!Q1VmGRJ zIa4MpUD?VReBh*M1P{sjojzST1Xvo(_Nz9hl(>RE>pEbtz>S&)&9iTIad)VuK+0Xu za2e}^g%f|0G{qL-h%X_`5_4wUvSr<~#b>b$f8Sx$M}{X8ycP+m8t;8GWnd@o*yAzq zjZ5EA&g7#QpbB9=&oKzSb#<9j3WSgWWc>@4%Z#)F1^4kAnP#b`WSTF!q`C-!{Zgc| z1DGo_#0(%pVov?K6vWV<*+0a)^`pBBqC;^D4JZoCC+LvHiQrTe{dDK*Lgkyu4W*UD zXq?L>k0=TyizGl{yzsU^p5#SHF>`6vDWM6Y(m>(7r{YKs0y=2I6levg;f&thZxq(} z-MgX^@qX)0`+zu6_i$P_h^7}HH%N*S$c4vb_=QHo(FcCap~9#wClr&!+4^hkn0h*J zz&mWH>(=~tnE@9Fqtx53ybOFGdzl+h6AI^gf38TBk6*Z~ODyO-tzNCMnapS;f%bAY zl*e>rI9E3JOOy6Ck(>SL=^pK1vW#YDbT8)#@lhE#^w%y*RnQ$ARwaZ($d2D9$<&Ft zq6Bcb$|N9K-9nyE>TL}>?Z9Vo`*9Zuk5hLOgFEJC_SX8>nL2kEKk)cSc7(LWfomm4 zg2r^lMV&4ZX`Z>i!Pi-?s_Ph`L6#dY)$=NmqCfHl0Va=w>c~(EvsLXyVYA&5hF3{J z4^<>yE}0O9G0o<@9r0(&Fz3(U(33TP;emMSoO(OG33sAJNYgrr$LQ%LWYCP6PNSG| zrO7oiTz(AnVgBq?awp73a4q@+N3!{FTCRo6FVa9_4B`M+ZtE*V(MIr!HIekH>wxJrS67-`u9Per;3yw$-a} zaA)BC0t+KQp%9*%i^C@^rCXlC(=Xuf=O^HMpI&1EHMp zE1}~vZeb=hq zpyTrg6<|aRK*_(gCjMuS;s@L+!;&K;VToUX~%*p}5z-O#EK!VkJ!sq&;saH!r znuAt-JTtiRPS|fgdZpEZIaAOjSv603)asX?=x7E{A;WORw@tB(+^)VRClcaDuWJIl zHUD*xC&CXBL7zOgP?GObWr^1(ceE!C5#L^eTaGJlbMjTf3dnJrrr z27|#q-*ysEJMrT<6@=5}5$HDXYo6 zU4um#t_Ak&g0ijR<$zO&RBk?@a z;PKUN^|o}RiNzEeC42iv2R3sx{+Y3$h=2+&gB=41;FyMLmTg0&UmU2_ma{_f5l5LxTbpb7Pg+#*4XjwLl|w==dTNN1Ey729?bohU0YYtzvJY)- zQAKuVHzTPWnc&muXx?Hx_^)e?Q|^@8c)B4}*`&q<|98H{Z}MrnDY@c7vKt7vSmi=C z<47W19Due}GyN?}>Qhwu$7Z+F{2$TjQx6>UGZRV6Ez~LeI@L-9;T3TkbKxAYsT+5w zV3RmQ1@~y)xV?>BsdqGPwh?&DS(=pn@26H%4q!OLrU#syp*137 zf1i85)7TdK7O6@s_sV)K(wQN^dP}r>?XlXz!1`#sRonPg^<`1mCJzPbCJiCaXYSx( z{~{(vfNZl|t|cQEmF59vO?%3B;o9maaA{7$DpW1@0MaICm|m)yKv6!z1!z<=5wF!h z=)y*V?fgA^2m?c;2>rhRfX{G$(*S1_X}5=3KTA0YKcE4X|KIMBQU=6`FU}DwH_8Oi z2(1w%+`x>Mwiq_laT1Xpq=Lp*0bfZ%xS+M3mvxc}C|_a9fMZ1d&QJxqLwy7gy(x={ zs+EI+#5=&2);ylNgP@Q$Ib?8~pR2U49c3 zx&Z`3HfG--?KqO*6Qs7SE1e9Hpy5FlfSAmXQzS0)%oga^*$^cGGzG}*;rE6ZNT60* z{DZWO{OOcvGbibQ=0~C70{hjb_jyt0yFhN1-SJErE{1mMpYy_~ftO=4ki?z*cP{j? zMo-`^xfl__gvr}=X*z|6;Y21=&0_sJ+>x|rzBx1+m45HL{)sW`zUz-%jZc|;?u|ZY zk7KHI-@(%G41TSQ{~Pr~gkcgr$vOO6(-c8?m_ZM!Y4^PgZ+7~BK8 znR1;>-8$O>eG6~_5WYbeBcQ#lFl_zf{Jw-%$xX)cs^8>D^POP4X}D36bcYcgiU6F7 zsGsg7_@xP+r&c8^Ys1@L|?Ttqym7rvwP(|S7v*d=VHPu=T00GA| zeounu8WW0Et@{XET6t)6&NNA)%D0bcR_ibwF_GQ^!w&}OEy16DSImxQ3gW^4QVAz; z8!jW2{E{%CTEU2NOb43d)0%$;6@UNu*7m-*94@0W=2_wDx?%=@Pd7)UKS}+*@%hd` zLgeLasY-Na8W32KsyFRZs187-3C?#@GT}Pk z3&6xx`oF3jTm@k1sraZi-duelqb2MMx)rhzA_R$s z4VUWwbbuO?;1mbPiMno=g*$Te+IZreuZf9?P520ADPKC0>wDC0Akxa&k zy6`y-mZH;}7`k~!o*_sg{?@3=#Oc|KF7tAI05x$J@#l3K+Xu8Vpj5%49GpkHQ})cW zQoEUvP67(nwmiYt8c3=KLIrs&T|j+@iwSV_SR5F$!D+NV`o>9rV~->eGjp~L+KMPp zh(&SVvNV65iV?bP|B@kKqbQI6JYUl1((VI$`+u^Y6Eytp=<28(NuR2c7Z^?wu!DI# z+xc92QE^ethd`5?}X zO}&ev5w6HX|984~sh%TY897y|p#Jo!={3=4t zaj&%=Mvh(MfQv(M>6vo9?GA$H+;}Pk$3i7rl?El0lD=0FVT2(0#%>!$QCDC2ZnntL zd7(33IEehvQvlyV za|!3aBq_*!=R`*m7xnr98KO!F0p%^{5g{&Aud+CJX$U3l?^*3&?Dn|38n`| z>Mfk({YeVkOu`g*`S`B)m2k6qGl2Mcx?mt*{O+~`)z**AYB zbj$QI-)Hkvt(Xtu9;+X0ZdybTihADPVzKCeTb{*T%-PzbZbKs(pFdUU^kg^H9_f^R zA_;SXi$wlc55PJ3Uar;}_r6{W=HbkCN%OT*YI}m=2lpdN&Hv{qNm!l83*PNnp_}eD z;bCc_v9%{gk5nR)$nrF^$D_oYP37RM3lvP%t9&>=luF~!E$bzY)*JL3xHiq}V=lEQ zaezWprBb;~hKIp+1l0izjKHIoAC+ErI*4)9=otdnDKD+~(Ft8M?IEYs-tF*mVfqro z_7*|ST+zFh!06}QC${m%GEYXY+L%Tn@;X;>&{@B~rk$`(Er~7QN+1-EjOF9xAZZ}; zlP|JSe=N(N4pu;BI2z3EY*&t-piJ~A+nH+xE>cF6+ZdifF!P~{aKSp+8^>g}D%0%tM*AN^`{xzEq`m z^RHrG&KHsahY+h;xFQlzF)4AuGJBF2Zt1dP(-l*7s8$Y zqP~^Legw|>8gsHl9WnZ(86(!6DxrlKtpDAc&fU+*h@U!9HH_bSyaLyQ6{OrdP3r>K zHpb0RC{%}r_sPJI4~gKZ;4D$s6bT7@?2kn2bSV{0F$BuOs*3`Qe~LAt{UY!mTLPHT zg=GAlXR!Mt%%rs1iB_iopt4N7@w6FFcUAP%K;(%RQaJ#fr&J$H#juZ{d?34-Z8laHxByA z`=!|sn{O<`iOkj~2A4mv-&~+4xH>y)ig&V}(OLcBu5z!g4GeBT$9hvGXnu;Ny-O=v z2aiUxhP3%&k$t>zuWaN9GQ2t8lQ(EST-#*ExIQoDO6UKTSfai#f?RH88i)kdkVQ65 zBrt!~{@vD?etUgJ^BwH4+z>h^baPHPFF3eO_;H~wIm9{8;d8*t_X%m6k!9JQL%E=E z&DbL&Ps4_DRG=fii;qXOF7+q=v3@6oYtUH=RhScT6%7gRk}j~6R=IH7>M zZP|`&nbfQK!J4^5?{cJIN7Y1cZ-hThN1ZbA7^`MBZ{OZwKi&3)_%_pb-X%98Y}zjm zPA}QC5>DsJmWE91ldgmv7M12se_tAjN<74dW|?pgol34!t!ThzkZvM`_FDVVVLGq} zC0*O==iHhsinImx4WUGq9x*cAg2O72QsZQQ@_;L zjO%o~B>lF^yU&HtGl^E+wr^KfR_>9R&&3=dKGTf$Ft?Wxqj3I+tmk*re};Zp&^B8j zUd7h*m?Xc1D@6OwpyFM>eJf62;wD0X z=*#vZZWj0L~P@YGTm*xxr|<)hq_TN1o40A za`eNqgXK~9b{_mHKmeHOB!eEu?8!0TMtGwJ?P;LkXM8fSliIjilEjCeHuGa4G>eAU zmLudWsm~@-IF0q$Ee4-{mcix$W%#&S#MaH<%@rROAITP&oXEj2UAD)RYsno)~2 zKV-6Yt3$Ye`hmygfiy5~h)2o8M|Qz~_%S>d6fpC+Hi#AGYdkI*k2!iDDrTF4$9z-yPYoAg?P)lL;xPT_HGIYs?Ra)2CM~!uC5F0@oTq5 zeZT|%$hd2NeZ#sAREX7O{sgv?;v^fx)|D6a+fH5GN&BM|Br5(u`j|D28Z#zpEr`rM zQ0kAN7k^oot+BgH&lM@ltm~{u%U-e_3f{~hgRjScOD_D32)OH&@={2D!Wd zwaxoBBe=VjR869_!i^lGOx<0 ztJ&Lbt-0BItgXRfzxzP@!j&^XzaHSwT~NS%)m-Ul6@3b8J#O{6ScWC>IMT=57>KIi z#7n|ZLBOE@!+G~Io(WN^RP^;Awi)n&lelb1sU=;gZm7Ea@4`;rUH+2dea_c$*Y3>U z=&%$>*CcE+8F9DQSK=Hb{m>Cs5l@;W>hp?_=5+?7@zXoz8E}{HUgh8^N1}P500Xsd z0%_K|^t6C%e+`UgLVhVS#sY>B=1c+;TChsEZi*-8kT@~&gX z10pA@Sv!@U+(c9YB>EYbOdotE+lv&mTS&G9X8OHLFW5xx6TbyFs|CIy#ee-pcQ{1I zKg}M0{m0uac3yR6;}Btk1Gh#}iVbW>i00Ca+M$JxOHGrfX#_od(l>B@_}lKE>1MAC z;yha_vIKWLAOL+J&dQ@xgGQ)hKZ{FE$+oO~fn10l?d98@trsSwpNIv{)Vfh+E}jZa zxftR~F*jSRU$Bku>|G!sDDS`*K+DWPZRZfu*o-g#gQ7N=-RFsL_8lCmvIdr0oHwjH z*g?IRT5p`zo;~g@Z65nSK$IF-td|9dd%2~i!`$YPMUD?0RD}PW16))ia)0(raX_=%J-hb7A z(Tcqlg%e+iSDdS2j1*;!#J&)e&;g3^s5bs8{(G+%b3`)*tR|%Z87=ee_c-z|AE2cP zeBNcK6c>U;C)iYr>Ktpx#^gv0>w^_X0)@zM6}N*|agYmePze^SALPa?XcC~G26H13Ox5a{}_7(Ks>m`kwf9PR|QHy;yC(+cpyuu6gUa*y) zXmaSVA)4KgLbo5i9e>~?420`XU)3ioN(;Zg6hDafvC;k|HOwDTz6W!m&m<*3#?emrV9T9tE^7jRa6|joX+juogyJlRCWM71DW ztV;+)xPQ(APAX!Fdq!<7f>^ViRQuZx5*(hLV|RLz{0f2x@-qHwo~zSp1|$G+^rD#F zMQ>dJXZwZ6Xu_09W%zNYH=F3)2nEkWcKd}B*e}S18Y;81P``7vg4hvUg-g+Q>8B{f zLFK{)e1QD-jLlIS1V#QbbkR10OT)Z@76WY26bi90sYe715Rx1=2;U-3YCTh zzZ+}#7~0=0GZ`O%>LV~OyUSufw*U8arh))QlcAD+O@r|A@o^=u(fv4TMkvnojd3Qt zn>p$4Z|i{KH$#F~;BZRfq;>$ws@lKwdXiQqC>N6nh-Ouny}>x%^agkV{XLe&p0AWj zI(wy`0Xn;W$r4A=ne1v{K8fb6~77pi>i zcPy=V4Y(f!-?H_pt}`o}3|n1K2H*d7L{8MK7wn=ES(9`=U{Q>uGM|S_e|@=7&IQ;d zK#_?8vod)}zd}s8x`A-h@<=LY!T#X%UXC05(`ibjfXxYXMWTnLw-`2u^lFgK5^)wO zUC$lJY&Xw%s$45qYwn$Luu$)O71TGIkjuq2E7oY6F^2r}M{X51_sv$Px^MQGdk|a) zuKI{9ootODx1zMo=b~QBKu_>W{Ki}Ml*TYOsP2U(i{JOR-p(|PjqX#2N0MJmC{uD! z)pQlV(Ks)w4bJelP2jTOBN7u4`J~w)Tw{wP-nI7xw*72?07Xh{OkSC)pARI4()3@ zizbHknq9=%`p<64sRBgoFt;nwNE*918Hl_}drCynxiJiH!D9{W@Hb34UQM%$N3Vg` z?Cx)FhT2;ta^i>`n)9%GT{t9EsKR7ypAAq(PugNqs*I+Jlt+63(8gAi(RdZpJm_3q zRpWW_@8X!EPhJh2LOcv$rpA|4{Gas>mpY^CtBmj1y)q|JqMKGq>Yp|mhzU2vGAUmdOHTlMmAp~lU`W`L6T9`eI{LR) zk^?K!g;nSA*;-)E=CaFxYFY4lGcucUtG2NA3Sxj)rRJ$sw3m^BGQXQ@V5lpzLM;7U zqO$-l<`MGR*>AhZ18sN@_=RO!MSre|u*A#BByv!1{H~#f+wN?!459AJQEt8t;G5$f z7FARaG0W!|>4t_HB$4t>WA`ZV;yAI=0`I@Q2W|b%|4CP-k!_`k|Tu^`_8t% zz;fUH43PsvdFr#7jO(}w(LFCpS>00B_w4of_f>bg(93SI#fISgU?o)eNdP3;R`;Kb zuAP7i%g*>60-*xb8z`bSah?qU%?O^0A2ic{Kg)t+XqLIj3n6OP2%QNHql`MO=>Fyc zMIpR$cZNg9P0$7WrZh-76CH!d;Y^DeMo>|)DidcpA=)$0OV}E;C;(y_wia9OGJsDz zNE0(w>PEMst7Dhk@kzq%`sqlSkZhDTf2A}qTl@>|QKm~R(>tXZME4u0Vh|Ey01B~k z;T&{#*y-lNem61Mg|jK1;UtlBaf^+%$LH|sx+%3ro8Ttr0;sM_6$D7v6=qa=8_EF(p<+3gm!)F-bT^?@r)wwxGIRTC(r9*r~Z zx8aDEsm#m8@L?vL)ji$$h}_z^KNv?%crBQ!gdYi4<=U(Z8&I29!qz4TjBi{I9Qe>t z!}h;RG#4(7ysF?GpkDWRHFSVG5F7jAjd($P5&8zlhEFqTAa4vMzb2jO6E{?89e&>1 z6L&v2A%5R&tcW$e_##!-AShDo$EXcBE6mf&Xv>ESNrQFyiHx#HP;*rcRSoGRLf9SZ z;e^~J3+7wC_QFz|kC+%)``RUwG&Ag(|M!`t%(bxnikPDDxv3NNO3eiEt)P*uUvmFq z7>>~An!x-bxVq0nR_pI`LgL0j#3e-Ry39R%hBOm27sxvqHQ8dr>DP~jVvII8zQ^nq zM(VDLt+zF(@)nk5tH(?Ukxy%q!R)yvUY%iW3E*|*p&Jb~TmMB!AVZ|%R14!4tM_KA zY=46h1T7X*gx8H1j1~5tX?;ZAZ_A1A`mwRj)qG_*KkUR{;gZ>E`I+{-&dDP~#()F>2a592cKzkdDoKbfy2 zOkwn)j^O1sx6BRp(PwsKy;yDLWfo|IHc-Xu;MCX%p9)rE%~|Rg{O^Rz)3~aVX<^+u z`z~oK8&PR2J!qGMBA@*w^rnnd7M!27x7cF|~z%b{`!5-Wya4 zrVy%%6gm^E~G4nlii0mrO2c<=xc@-K7GIDts!-+l+K40YSqu=>9uT7 zt}ZT=tVpNHhmRawEJ2B08%pp-_T=4cDqI*~$y$h4QjDhy^9;DSvnce3B^NKf8dA5b z016;w7?31ACuCjb3$@z9Z`h(S9-26SR<*Iup7R`@|7*_Se(j0S-1MYt_3sp$u9Kh2 z{o)Q~{bQ{V%&ba*`T0rU0Bmf>MmR=wq2AY!t!~Fyaq00}wMc3_HZZ_%{o}7$nUWtd z_{v9ios)_2@R4m(e01-$)>DAQx=asXJf74i$H%z?B7t<_BM4vSq-^=<>v7_Om*M_Y zS5vZ0lcqM|fK-5so+rc5dY#@H_nqtC`rK$1Ep3_Hu-2JOD2gI&mus?{jmpS(Yv}u2 zOnxr2mZg9!nh6b5uX-M-zbti6YB8af!74@W4rM^3y*@Ju#f9h`J!a-}@A(RDaAGMm zNGZ(Z&;Vpo?Q8!JKiDGIzr0uXE)wX-=9|Z2I>4z^!^MTmm;6fVdc4+BK+qr%)Jf0; z1daU1j?`Z^0!2K)g+H?e49&NM$sfsqzjZeRKy#qfs(X=-vIuqH1IF2J{;ob#3k#sW P9__unnq1Xe)1dzWG0D~J diff --git a/contrib/cloudshell/screenshots/action_upload_icon.png b/contrib/cloudshell/screenshots/action_upload_icon.png deleted file mode 100644 index 8784053a5f1d1dfb503c864ad856ff78e1d74dfa..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 29500 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 diff --git a/contrib/cloudshell/screenshots/download_prompt.png b/contrib/cloudshell/screenshots/download_prompt.png deleted file mode 100644 index fd5eac3501aa87b69c4ed3c330673437f4671a65..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 30667 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 ATL1t6 diff --git a/contrib/cloudshell/shortcut.sh b/contrib/cloudshell/shortcut.sh deleted file mode 100644 index c404ea68..00000000 --- a/contrib/cloudshell/shortcut.sh +++ /dev/null @@ -1,36 +0,0 @@ -#!/bin/bash - -# ShortCut - Run Prowler and ScoutSuite in Customer's environment using AWS CloudShell -# DozerCat - Team DragonCat - AWS - -# Package Prerequisites -sudo yum update -y -sudo yum install python3 -y -sudo yum install screen -y -sudo yum install zip -y - -# Variable and Environment Prerequisites -account=$(aws sts get-caller-identity | jq --raw-output '.Account') -mkdir ${account}-results - -# Prowler -cd ~ -git clone https://github.com/prowler-cloud/prowler -pip3 install detect-secrets --user -cd prowler -screen -dmS prowler sh -c "./prowler -M csv,html;cd ~;zip -r ${account}-results/prowler-${account}.zip /home/cloudshell-user/prowler/output" - -# ScoutSuite -cd ~ -git clone https://github.com/nccgroup/ScoutSuite -cd ScoutSuite -sudo yum install python-pip -y -sudo pip install virtualenv -virtualenv -p python3 venv -source venv/bin/activate -pip install -r requirements.txt -sleep 2 -screen -dmS scoutsuite sh -c "python scout.py aws;cd ~;zip -r ${account}-results/scoutsuite-${account}.zip /home/cloudshell-user/ScoutSuite/scoutsuite-report" - -# Check on screen sessions -screen -ls diff --git a/contrib/codebuild/codebuild-prowler-audit-account-cfn.yaml b/contrib/codebuild/codebuild-prowlerv2-audit-account-cfn.yaml similarity index 97% rename from contrib/codebuild/codebuild-prowler-audit-account-cfn.yaml rename to contrib/codebuild/codebuild-prowlerv2-audit-account-cfn.yaml index b8a00a40..30961205 100644 --- a/contrib/codebuild/codebuild-prowler-audit-account-cfn.yaml +++ b/contrib/codebuild/codebuild-prowlerv2-audit-account-cfn.yaml @@ -1,6 +1,6 @@ --- AWSTemplateFormatVersion: 2010-09-09 -Description: Creates a CodeBuild project to audit an AWS account with Prowler and stores the html report in a S3 bucket. This will run onece at the beginning and on a schedule afterwards. Partial contribution from https://github.com/stevecjones +Description: Creates a CodeBuild project to audit an AWS account with Prowler Version 2 and stores the html report in a S3 bucket. This will run onece at the beginning and on a schedule afterwards. Partial contribution from https://github.com/stevecjones Parameters: ServiceName: Description: 'Specifies the service name used within component naming' @@ -17,7 +17,7 @@ Parameters: Description: 'Options to pass to Prowler command, make sure at least -M junit-xml is used for CodeBuild reports. Use -r for the region to send API queries, -f to filter only one region, -M output formats, -c for comma separated checks, for all checks do not use -c or -g, for more options see -h. For a complete assessment use "-M text,junit-xml,html,csv,json", for SecurityHub integration use "-r region -f region -M text,junit-xml,html,csv,json,json-asff -S -q"' Type: String # Prowler command below runs a set of checks, configure it base on your needs, no options will run all regions all checks. - # option -M junit-xml is requirede in order to get the report in CodeBuild. + # option -M junit-xml is required in order to get the report in CodeBuild. Default: -r eu-west-1 -f eu-west-1 -M text,junit-xml,html,csv,json -c check11,check12,check13,check14 ProwlerScheduler: @@ -284,6 +284,7 @@ Resources: Artifacts: Type: NO_ARTIFACTS ConcurrentBuildLimit: 1 + SourceVersion: prowler-2 Source: GitCloneDepth: 1 Location: https://github.com/prowler-cloud/prowler diff --git a/contrib/html/generate-html-from-csv.sh b/contrib/html/generate-html-from-csv.sh deleted file mode 100755 index 0d240dcd..00000000 --- a/contrib/html/generate-html-from-csv.sh +++ /dev/null @@ -1,230 +0,0 @@ -#!/usr/bin/env bash - -# Prowler - the handy cloud security tool (copyright 2020) by Toni de la Fuente -# -# Licensed under the Apache License, Version 2.0 (the "License"); you may not -# use this file except in compliance with the License. You may obtain a copy -# of the License at http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software distributed -# under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR -# CONDITIONS OF ANY KIND, either express or implied. See the License for the -# specific language governing permissions and limitations under the License. - - -## This script helps to generate a single html report from a single or multiple csv -# output reports. -# I use it when I want to visualize multiple accounts reports in a single view. -# Report information and Assessment Summary will be empty due to the variables -# that are not set here. - -## First: Remove the CSV header from each output report. - -## Second: If you want to aggretate all csv files in you can do like this: -# find . -type f -name '*.csv' -exec cat {} + > prowler-output-unified-csv.file -# use .file instead of .csv unless you want to get into an infinite loop ;) - -## Third: Usage ./generate-html-from-csv.sh aggregated-reports-csv.file - - -OUTPUT_FILE_NAME="report-unified-csv" -EXTENSION_HTML="html" -INPUT=$1 -IFS=',' # used inside the while loop for csv delimiter -HTML_LOGO_URL="https://github.com/prowler-cloud/prowler/" -HTML_LOGO_IMG="https://raw.githubusercontent.com/prowler-cloud/prowler/master/util/html/prowler-logo-new.png" - - -[ ! -f $INPUT ] && { echo "$INPUT file not found"; exit 99; } - -addHtmlHeader() { - if [[ $PROFILE == "" ]];then - PROFILE="ENV" - fi - if [[ -z $HTML_REPORT_INIT ]]; then - cat < - - - - - - - - - - - - Prowler - AWS Security Assesments - - - -
-
-
-
-
- Report Information -
-
    -
  • -
    -
    - Version: $PROWLER_VERSION -
    -
    -
  • -
  • - Parameters used: $PROWLER_PARAMETERS -
  • -
  • - Date: $TIMESTAMP -
  • -
  • - prowler-logo -
  • -
-
-
-
-
-
- Assesment Summary -
-
    -
  • - AWS Account: $ACCOUNT_NUM -
  • -
  • - AWS-CLI Profile: $PROFILE -
  • -
  • - API Region: $REGION -
  • -
  • - User Id: $USER_ID -
  • -
  • - Caller Identity ARN: $CALLER_ARN -
  • -
-
- * Sortable columns are CheckID (default) and Result -
-
-
-
- - - - - - - - - - - - - - - - -EOF - -fi -} - -addHtmlFooter() { - cat < -
StatusResultSeverityAccountIDRegionComplianceServiceCheckIDCheck TitleCheck Output
-
-
-
- - - - - - - - - - - - - - - -EOF - -unset HTML_REPORT_INIT -} - -addHtmlHeader > ${OUTPUT_FILE_NAME}.$EXTENSION_HTML -while IFS=, read -r PROFILE ACCOUNT_NUM REPREGION TITLE_ID RESULT SCORED LEVEL TITLE_TEXT NOTES ASFF_COMPLIANCE_TYPE CHECK_SEVERITY CHECK_SERVICENAME;do - if [[ $RESULT == "INFO" ]]; then - echo '' >> ${OUTPUT_FILE_NAME}.$EXTENSION_HTML - echo '' >> ${OUTPUT_FILE_NAME}.$EXTENSION_HTML - echo 'INFO' >> ${OUTPUT_FILE_NAME}.$EXTENSION_HTML - echo ''$CHECK_SEVERITY'' >> ${OUTPUT_FILE_NAME}.$EXTENSION_HTML - echo ''$ACCOUNT_NUM'' >> ${OUTPUT_FILE_NAME}.$EXTENSION_HTML - echo ''$REPREGION'' >> ${OUTPUT_FILE_NAME}.$EXTENSION_HTML - echo ''$ASFF_COMPLIANCE_TYPE'' >> ${OUTPUT_FILE_NAME}.$EXTENSION_HTML - echo ''$CHECK_SERVICENAME'' >> ${OUTPUT_FILE_NAME}.$EXTENSION_HTML - echo ''$TITLE_ID'' >> ${OUTPUT_FILE_NAME}.$EXTENSION_HTML - echo ''$TITLE_TEXT'' >> ${OUTPUT_FILE_NAME}.$EXTENSION_HTML - echo ''$NOTES'' >> ${OUTPUT_FILE_NAME}.$EXTENSION_HTML - echo '' >> ${OUTPUT_FILE_NAME}.$EXTENSION_HTML - fi - if [[ $RESULT == "PASS" ]]; then - echo '' >> ${OUTPUT_FILE_NAME}.$EXTENSION_HTML - echo '' >> ${OUTPUT_FILE_NAME}.$EXTENSION_HTML - echo 'PASS' >> ${OUTPUT_FILE_NAME}.$EXTENSION_HTML - echo ''$CHECK_SEVERITY'' >> ${OUTPUT_FILE_NAME}.$EXTENSION_HTML - echo ''$ACCOUNT_NUM'' >> ${OUTPUT_FILE_NAME}.$EXTENSION_HTML - echo ''$REPREGION'' >> ${OUTPUT_FILE_NAME}.$EXTENSION_HTML - echo ''$ASFF_COMPLIANCE_TYPE'' >> ${OUTPUT_FILE_NAME}.$EXTENSION_HTML - echo ''$CHECK_SERVICENAME'' >> ${OUTPUT_FILE_NAME}.$EXTENSION_HTML - echo ''$TITLE_ID'' >> ${OUTPUT_FILE_NAME}.$EXTENSION_HTML - echo ''$TITLE_TEXT'' >> ${OUTPUT_FILE_NAME}.$EXTENSION_HTML - echo ''$NOTES'' >> ${OUTPUT_FILE_NAME}.$EXTENSION_HTML - echo '' >> ${OUTPUT_FILE_NAME}.$EXTENSION_HTML - fi - if [[ $RESULT == "FAIL" ]]; then - echo '' >> ${OUTPUT_FILE_NAME}.$EXTENSION_HTML - echo ' ' >> ${OUTPUT_FILE_NAME}.$EXTENSION_HTML - echo 'FAIL' >> ${OUTPUT_FILE_NAME}.$EXTENSION_HTML - echo ''$CHECK_SEVERITY'' >> ${OUTPUT_FILE_NAME}.$EXTENSION_HTML - echo ''$ACCOUNT_NUM'' >> ${OUTPUT_FILE_NAME}.$EXTENSION_HTML - echo ''$REPREGION'' >> ${OUTPUT_FILE_NAME}.$EXTENSION_HTML - echo ''$ASFF_COMPLIANCE_TYPE'' >> ${OUTPUT_FILE_NAME}.$EXTENSION_HTML - echo ''$CHECK_SERVICENAME'' >> ${OUTPUT_FILE_NAME}.$EXTENSION_HTML - echo ''$TITLE_ID'' >> ${OUTPUT_FILE_NAME}.$EXTENSION_HTML - echo ''$TITLE_TEXT'' >> ${OUTPUT_FILE_NAME}.$EXTENSION_HTML - echo ''$NOTES'' >> ${OUTPUT_FILE_NAME}.$EXTENSION_HTML - echo '' >> ${OUTPUT_FILE_NAME}.$EXTENSION_HTML - fi - if [[ $RESULT == "WARNING" ]]; then - echo '' >> ${OUTPUT_FILE_NAME}.$EXTENSION_HTML - echo '' >> ${OUTPUT_FILE_NAME}.$EXTENSION_HTML - echo 'WARN' >> ${OUTPUT_FILE_NAME}.$EXTENSION_HTML - echo ''$CHECK_SEVERITY'' >> ${OUTPUT_FILE_NAME}.$EXTENSION_HTML - echo ''$ACCOUNT_NUM'' >> ${OUTPUT_FILE_NAME}.$EXTENSION_HTML - echo ''$REPREGION'' >> ${OUTPUT_FILE_NAME}.$EXTENSION_HTML - echo ''$ASFF_COMPLIANCE_TYPE'' >> ${OUTPUT_FILE_NAME}.$EXTENSION_HTML - echo ''$CHECK_SERVICENAME'' >> ${OUTPUT_FILE_NAME}.$EXTENSION_HTML - echo ''$TITLE_ID'' >> ${OUTPUT_FILE_NAME}.$EXTENSION_HTML - echo ''$TITLE_TEXT'' >> ${OUTPUT_FILE_NAME}.$EXTENSION_HTML - echo ''$NOTES'' >> ${OUTPUT_FILE_NAME}.$EXTENSION_HTML - echo '' >> ${OUTPUT_FILE_NAME}.$EXTENSION_HTML - fi -done < $INPUT -addHtmlFooter >> ${OUTPUT_FILE_NAME}.$EXTENSION_HTML diff --git a/contrib/html/prowler-logo-new.png b/contrib/html/prowler-logo-new.png deleted file mode 100644 index 71c9e56fdf90441d4577347ed60aece5d0a993ae..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 27748 zcmY(q19T-%@IQKE+fFtcn;YA zF7z37)n}qrl%!D*2@wGR0E(=Pgc<+=AV`94Vp3wKj;ZwGrvH$HE{FaIOK_euZ9X8A(?KO*jS zf?sqLRmjDiTrJ4CnOT`xzX&0clamX$np^UzNl5+g;h!zRFV^nv&U`E^US3|zUL4F$ zu2w8;yu7?Dtn4i8>`b2$Om04o?xx;Mj&79yOUeJyBVplY=4#{YZsX)g{-0jc?@k`> zf?vM;XXyWK|I1Hz8_WOKlB3)I4(l^Omj8NK*qB*a{;%%Op#uML`IKF4EIuv&r(cLo z;D03lf4u)~M}Xx&q!S<6M=OKgwWLZO16~3oP=r%TLw|0$yo5cG`u#OeD`WO_ej$2YSn5q zx0r0SV4z9CbOYk|10W@4@R4s#lB}*iddiQd7JC*pzfI)>iq3t`w6?F#s?O9kjq~|D z&NQ$Onaf3#Lh>MaVO$Xpu*c|<)X8%pBQ8dt7Wn9rB$iA4Y{v1_NlQ1CqYJiY=$tLp ziZW(gEdzIV()dcvxR%rC<3>MR=MX-$-4qEsCh45DR7{3+Z*au_VNldRa+#Ld$(_4Q z$X@}{uzx(f^7#v&8a)d1eJUDJA%_F5RZoagA%wRtf4!a+aP(n*7wF!`d8g}wb^kkb zV}}+!(bDyI?fTGEDTE^i(uU+X?m0@7wq}728oN#$9q|{PT9be5>(EMK7V~RX%{c<% zC>=4&HEO>NUV#U#0JdcQ3(g+eBw4aB6&WPnGKI`ji{k?z(-`ZBxxAl165`s~O5-P7 zL%k9i+*dRRiU(4-E36$|as@qR|8||g%6_Sj5`x=ckoA-5ZFla0()kg>)BY`F*&uUS zgXXfG`&$gaF2Bxek}TbeHB{WS2=ThiMI)x5D-ZH_F636_4=*~nK6fQNxG!RGU(h<> z#-=dQ4VeKQqB|}vgH)a0GAau?Jiuz@?vcPO6ZdKHa+Z2HRbF-^xhMY}`dl7(X@6SFUJV9HBA05Ofjy-6qH z-SylWjNk)G;s;olzbb3iIU%MNfLabTsQ@r45K=?Kyeh*Vx7(kA#X<724ilp{I?Y7$wf@DK_VcsP()%b%A9YYnY) z9Te6!nQt%xc_{y$Z%*hphF6>?`9mL1YMuinVe~LCOvLPDQxzO5g~0<|L0D>}Z`yy; z83uXG&PoM=*&ilt6wdlWdE0i+S*i;5QCNTA7yWCnz~n26Co8RuqezuFxrVnG?|b^+6O0IFWmF|VnwtXY zSw=^F(Qb?I?C(5CD5(&LQv@ijwRf6}Z6tsTiq}vx3L2|n*?Q32G}TQFSzQ+k9wKN= zRS{Itpr|_ecvN8_=EiBOpuQ+jg^oiTQS6b=ELEQ1B{`btE=jY-UxG!Ff8S?aY&(DR z{h@>hXp0`8*AbvwDTBL2>E(JgJ`l;;O})_kAuwsE6!Js8h=Qqiw~VkInj{JSCK#iL zQz{6<@uTpRl71UlydGRhIVq;EWYm0mOv$xZ~ zp&H)7Dq^h`TFUjuR*m**{F zaQgP^N&gTRK;z1T;jTcKa_T>KREvyjyG_gRAHyG&9sntBa)1T%koi9K$MaizvdUG2 z*kZO+X^AFgd=jQ^TYt{u;s($`N68QgLO8St7(Am6S(pl0sBQ==;w(FYacU@H8_q-P z-_*{~UI_$>EmHOKdDKjbR5`reSf4jZ7w5B(#G|$poT157@+e&LL6pbe*4ZRL()1rf zx}M;KYQP%=*3#nAAa~4s`WC1fJmS^L-wWyq`}Avm&GA`K@WbLswFR?S_Aj>s=)`&) z1*@29Svd;GY~4Ud)bnH>39y(QKk2_u1r6lWl)ULHOOU)Mt#e+s1MQrpuVf-^wya+z zT=eCvCc0HY=05GUY^gaVKnxhDwtK%etiE~mR;!FQ0Yxi4xWM#vpc4d~U^yT}^ zP;fyfXO9^Ya-N21STNGu8dH!?fr2wOp^7URWM)uOp%VZ2ltVVEwK)!daWy zFlRxZs2sdx4zVz0VOIQ<8PBC;zX8TjZ4!y;_U!fM)C;&Cu%6_QE>4vmi21=A zqWN`)-qy)z*XC(7T#;qu0lAcxmH<*G{5{09V*T^>R3U?z@icK2k%KDpim?}{o}uI7 z$(9dvlxx0dNi9a;kd_*rDRz;}EwE4I76N@-_RkCf%@_w%BoyU9@8HEyh7n15 zryTrgOr3bbW%In%R!tI6)%8VUYu}uyL3+>J3Yjhst#x97L(o%0N}#6D#ycit8Wavy z6w<8bl`G<+NQe|TkFb$wvBIB-bmvC%8&8={=iMmc_QIQjsKsd2TBAO-q;{`amEv~H z@b_kIvD20ZlEvmKLB0*&`S6u^h?0w2as#*`=D@cD>n)4@Vq6I9yw$ZAG|AZ@zdl8h zCiRLJI*}&vccXygz9>^)tz{j)9ig2Az~Ro&8*!dQ_{Ne{NE1$$n9BDYSn^$}4eo5r zLC1IPLm;z#bX~wK*!nact0cK3w^+PONs49Ljn!9jq2hPS6SCqmgIvK9F;l0nzx%L$ zxuhF2sTt(IR+Q1=@^=@f=G_}lb@7TbsPowHxHIXT@c`M~f4A^65T%^K^Ch1TtcnCk zu5qm@dDk(sh$84VXaEIt3b)t73(mWif9*CRs$j{#Iuf$YcTflDOKq!%&06bw@^4UB zp<}#Jz)n)e{b{85;dfIWdYIh81Pg@&u3g7X?6*wU@xC&aIMk^wi8E%tXQ~>#>X`anWR4`k_nM68Cr&MOIjjj8?U(?+A zrN8xxgZ3C4K5(8&g7hdV z`)@*4xapP&f=z0HoUg=s)pm?TtUSo-p_S$xM6K97xxvvhA>|x@4HdTks=J>HGhmNu ztTq@PbUw^PY4zIW&&(rSgPx`nVV8`@%GK};+g9p8 zv+5`zFIvROq4$(vqbfRgKcS2&l^EEoN#ZNg5q}}J^n`6#jdYzwy!kkw+e-4oW~=o$ zLFRtZd|Rr~x}Z=9ghRr=NI;T;Ny`vxA7HAFyl(y+O_v3D&obXdqop|NeN7kgqX+FKjg*33L)n#2f$Kq?^7RxFE~9J)9ww>bANlW%Gt@nX_J2MUE*^%iv9ga zG5B)WrWE6toM*qmnLKQ_{@YOpP^5%Vv?AhPdf5yN9JPP$w7X-=CH(@v4(I@)Z2=$N zb-cf>s|fBKWS}I8AMR*i@y_Otoh4XBm_18*?fWIsK`7{P**>F0c#UhjPcDY+GV6pI zKlJaO?9N^Zm57cD>1+lTYF#F=#4i~MaYIoeI~jTje7`1HH(%Kc)r7h~`bjp7o3)CU z0J1#@Kj}UnS*JJ7EIK$D=;X$b-};;^Uvv?iZyGh>0%A%bj);#dKGay@PR=TbKxa_= z8G0e8DTX`Ul7$Rw^RDoC{cJs>kR8yEixJ4upw6g`tt#bJ(Py3w5MTQ}_<$zO6g&m43U38&B{uyKrclHw$F0bYR|ZfskfVfMn=~tTUUtFzMRU8Z>orj z1f$|{`548TtCq)wO?k_M#o;XtuMWeg^bB-JWIV_=K=e(krhzoDB6aw6Dl`Q z_A-R3Sk-spk&mjploFW(f19tn-H#pXmDJAGPXyctrw9RI@q)eqeu(77j}bwuDZs6& zOmQZr_eQAggun3BUz#(m9oob28Sj9@5yKT-4N&FSNN%^;5%Vhhu|qL8{(JeSV!tc2 zYJ}+1=V0zBrZBWv=ln|n(p_-G)=Filo)W(!mA5$kyRrV4Dm}%Fy~F7tw05{(e3Ntb zQ%W_=BJ2q=VEjEMF}Ad3o|l#P!5vkd?*p6!X+_8iA;WxvTJGd5TQi7prm->TL{Cgp zcqSEZ!)^MIhhwHl?ym*krQX-thlXe=Ty?j!Pi+?JH;B4ab6BFtv(?%_4KstJA)GUV zW2{ywW^#M}j>{eN!C2Iv4XJ=C6P)bV{&fNk-vx!$M#AyAUd$nJ%yUJxQ*LcjL7((v zz5srK;`j=iIah0U!Avh-ysKON48}UcEOP>zr)54eB8;B+u0#y>Kod%@1gY~g~inB3dr!+@?2ll9S9+5Jqs$KeOgh$$;Bis9X!+ur zv7|snd~kVZuVjIZfuiGcO2$c!*KB>NY{ApWRur9VdX|>D(6QRVoBogsqS}!m`wVcD z*1YlCuSSNcKd~p=KXI;#uz#edj+y19W8*7*e(6iVv#N6Qd<`#yZ*^L#O=NhbdaAOg zr!yjJ+pD7kJz@G^FW<+}eEd|D-vozk+(kli*Dg>XV_C_%8RXHH4_~C9E++TX7i(Bm zl^9h9M;=5^Q5yr@e9EHWj~k%?Kf;hi5kv+#ETFQ0NafA1+hCiP<=oCfx{6IxBEQ`U z7f(oLpeT=$%_F}Rd83@3VqVR|%LlR{u)J@Jn*U@}5yS0}zg&{CEJbw{r$U`ucLBH3 z$>{dJXmTSz7Q2W7x#gdf%Z>=?^o(`{x z$}pdmH0;IUrL7>Y;N__Igxlf9^krhtZbbT=RBW8TiFj>t#l1`DO!!**)+^0kO5K9TWYui{Wzjr&r!4EpV58d+I!|9`i}jO;T+RMpW7jEGe3_hOlLNBhyxJQokm{JU130@} zq1W82bWJ z6gBlNj?90TTv~obrF4d3>fr@}DzVH_CH}FH;Z3I#4nRhnlL<2Vs%+ZSwJRtyCvQ_K z=R#)zz6eyDF~iZ659yMk;;>qT%%4Nc1yOgh)WqLQW?x$;9M$1tnd&2m5VGuBXWf}h zEHIzP+4F6(OhVWzNbdWc7=VD5#0-I;bD)fgz#8BOl_xm#enRToy6}CCu%*=y8y7#5 z$XOZ{fKeV&k5x(GY05r2*gg#ym}(izk;Z+`SoTf)NS=q{F*KJZXX}qpZC>ru=}+r? zC7+OLLLO~&cu)K`&n*wEVkCFmZD4tVh8o%2`^XU*QX*=V!R$n&NjN!rk?XfKoMVfz z-w;5NKdjs;x>h0c`I|+}6&X{!?0#EiW|taR;p@(*#FOzIE0-+9Tt1lGzd#zK{rhoM z^z0kxB=<3GN;r|6S_{or`@LM3Yo)3FtAt^?$vS9JLOSv|!#5DsH+*t=bh|0%qqzy7 zmCv>7qDk5pu&tKQY(W8gVQL znY~rcZ2~ahCB8ZcMj_0?uBI%=mgZ-vqyf=r^h$&+?QKU4+5oW+yh-iLtVWle{o8eF zDFquP+h-_v7y3)wY*vCPELR4c9FA?CfCw9+MoOSfZlPnM)?^&Zf29vN|V!`wCR)xnU8xy1kz0c(=%{lE|+uMUAsI-Ifk~I>q zx6L?OV`(GHNr?O-(|4D^Cm5k_oR>!KoLIAkieY*VL7Bn3v7tq(+QhXX-I!<^;NL3rrfVqWzLBXzc( zYu12~$E~SE{CtlqKuwS zMHQFvO$2k#=8491h~Ye*^np^^Z-dR&;8G0k9{(%-mtrnq-mm)WMIe*37L$G`?LVz9 zjxR)x?kQTZ7-Na5tJ3in5h|`s9_k`T%_8w;#dBaO zM;I?(lNZ_4*koLN^&}UF&XPTj3-lz$I?J}YR5$hfRN`z8kvX@8yNzLVt$760{osv=(anH%VlK`>G7W&)eB z;G)kJ5L^Cri@93PQG^mSu$t+0nhRW^NV}N!yNIoAH8iW3i0QfFdLT(NdGmIEW0{T0 z*x~^l7&2npXY~AAP4P2*@GFKsJy9E=BhdaTr<>iA>$zNkuPUuX~E$2F?_J~bQzNVnd}J*ry+twyPRGxP_id*38{x>`X_nI-lH~XI9_j( zJb+owi6o6ZSmrRly@Y6-ZndOBW)Un=Lg_SH`0}{H6$}{$p>PmVp1ji~8tnk@d9)tU zsSWy>>o)2%-2%!>xXp^|Vk2oBF}}GRNMzlA%{UvB1I7N{Zo*M26;}=r|H6_4nCyT@I~&AFOA&umD+lc976UGGPgLzFgP+DNLc8?5bA?mGXa9vD%cHuj;_iAFnQAV1c@yX)$V zY5KfhF%;sCDkl^J;(=D0Zew^Qc><-gOaF0skv`5Tz-bvezc(Fe@d^)3Db_YA51F zat$U-gyvSU3nNk~brpGP`0FhPL(Z%dTxJg>a^Jhf{6i4L} zim!v9y!A?u&Fna5fq})$s;Iezg<`c?uq=)5fZ?jQkIXwdLYq#Q$qdfWEQl0ZAgs+i za=n5Lh16IQXuKE?TB3pc!O2FMwF)i+CG8<6~d3X$54 z#7xGrgaAw)Rs3r-oH>_)Tg~>Fl@8%_h--}#HoiQc#nGz8DsR7Q$L;x=oer^(aRp7B zcB`d_CK={M2%!*~RG?b@x+XfVy~pZu^Agkdl~#Q3@O5%T>RXU^D}u(djMTrhH0sEg zG};^S+guCmBys~=Xnv!!B%JV6OAW^u03rdNKb$SB=0v`Gu%&5VFvO*^lNBTq{|R{7 zA{%wlc+v2v0vU}yEa6H)>?&ISFktXQ-Lj8*DB|PI=(RMc@9^}`voPbiNJi5!!#M=- zZ^Y2`n)D0Rp8NqZ|;g*A6otp6&S)L2F2y6uV5%VR6 zITacQOU*&UpmhFd&R-m1yEu_uh+#2!MSZiF2S3DWHDT3mDIN%Q)7XiSXcOZ8gFLK{ z$rs7Bpg!fOe;EtV8{3j zz8%d0o0}n}yUl8E!pEFI(cN?U?uEDZoK-E&H-*a$aN(8uAkD#~==e)aBpB(MCUEve z;jwT^{8!)6YrzK%*spumLk%BjINg#75)T^v@GCGqu|N>7v-5OjOE<`J@xCORecABB z8=(k*qb3BU%vZe2IgOq8oX*Os>&dVD5?Ud3@NG0i`+eZIf23^%1%n728Xtr;^nG$j zEl$7A!6gxN=krz7LZ=T-1*#FNU^MUnJ4{5SU>KlK5q~ZW|1_0gt#qK+z7W{NF;z)Q z-hZ>XR~Y zdQ&Ysxv!T6qaaImS|J++CCD|j+SoUGEVMkd%iAArT)NJHZP{Mz;5wW!hp|c})|5M4 z6mU*X8T|?(kcCjX33zO(1;L*NHS{?i@&ngROKVmvcv`A~>1SQD3^VL^R8RJiRfBdP zZx_}-P!*l4i)5YZ-+rV^OoRtiA}S%;DdJTUD;!(D@T~QDX+00TZ(&reL+%d*wY$ z`F<9)DktS?3LJ5csE`5l<`YVOY1fz_aE(5Y)w_Bk%i!q#Q{tWptML9a{Jmjj@W%Mx z*^ym3%{!!|>M+zxNkpm*S-TzskpQX-1QNT-wI4ZuD&fe1wDxq^tdtJQjCqdWPk*YsSuPw4*bt1OaGfqUaeDgQ41ivw@+siBY zPW*YoJL4tEc^Abrs5bj%T->KUUL6OsC-bkHM~Wh>P=D%og6vxeepnnpba-yklI<<3H?%0K`F7sB zb)8e@2cWkV0-K2_h%7>@U8fjRel+h1mN|zBn4E1ZA5uYR=r~HsdLF`1;XZ7nA_PN2 zbo_zi?lIi;JJkI9!+L=}+bHs{TXQRS9(MUqLCr?KA9jB!3bA~Nwkcb|Lu(>SN>PA2 zxSd3 zX}JZ~vBqj~QyIVrA#!7N<|V8(k9Pjy=))Iq(%pv$uSjz2;2XI*KE$dv!bPGOY`uX7 zxDL*~k(;ILw@SRl;^7J~mh_YPpeqSegIA#_vh=(vg?yBTlnBNgQ=yxtHc}-{C z%@J=JZ`r}`MaQb5CAHcVi9#1_Rj7o1wE_nv;>O}7+0;HRBwE8<-&4`Zuu+`wlzCP( zrpBV-AMxf1o`s<=@xM`&`@nho`0?BgAYWU}=OZhExF$y_*5FWNg~Kbj^g6# z!5c*>!q_eOv{mL>qxP6czmMi#NJln%I_G^`iI_Jb9E{f`+zgi%MR|`}T%wZknMShW zhxwjRJMwFBvDP~v{(2EJ{}lU8S^YQAi{Z8SxxJk>SFcCh=cAy`Y67iHod9Cw1Q7z8 zqgoju@k-mIi!2<2GF0XMzsTq=z_b1Swy5K0Z|7 zztY(M)OvI1aRH^f7u40xeLr29v3|S;b!H@O5;t<>xv3ar24j(jBXv;0QTLzP`b?9! zWvY|^2Vm%=B_|GPvU?BTk|Iar2#2%!Yobhc+&={Mg@^WL5C07&tr?v4IR*d09Kex~ z!^`k_@8xPbUuHuINsmScDxr%2!Q>{tU7Q3%(lj9j9*U}CCw}bbDEYbC8?CCYNdX0Cg^GVxM z^@q%Ca{Ln_2@DvmZBQ(S)ng6`jfW|vkfHFDdWx8U$tQk>VWH8scmWUOvc{cPA4bEg zS+a3+)h$0N`Oo4qDV29+$d1HF74$mt2W)BsX!=J?`D}eqaB`BX2I}Q`&ge*FoP>p>rRh>-uX=k}WSZA` zVV1~YWQpgD`1dT90zwDVY5^=kLfBuFbdpBZ zX<@%)y{^-O1CWoooiX71bCwAuw?KT?*@~FY+Is0AsF(gYACaV7IY{PFbjpZ-Yd6^jYCtv=9#8 ziHpP;rhPHY4K&KS=Qa4>18Y+ZexK3&9=daH4FiDn4tGGQxkVk%! z80{yEXwi$Hp_p6h>~u&%qt1#e*87{a1F78@rTahWsC3yfE#1v-iVhlbZ7m|jKSUZ+1h3> zMY6RQ^q`jsuM_y{=wdHey2l^)g6xGgwdCg-?_aGZ68TCJXST|(Lh&kcp^Arp7p^k- z%2fKW=J#T#n9K=%{D|hGucjj85Zz|J)gvk=U7C?pB7#TEVbUS#b!^P$+3I>~*R?(5 zdHLPNR-n?wf1Ps!Lg`~?_%0$(h>Q=-`V!aLlN$&`Yt&Bf%&92pa{e=-sWLHE)FP8& zwP%7=!2P3`e#f|ss61`!S34w)`Vh9HFAt3#>{mL_-vgjuzbrzU!1A`*H&GJHx`ZPj zn?q(mehGV-9OO?*Jan%F1wH5QW5DvYY1+5&>=K1dG8MBRY#LX4U$wj+Qap7Oga*?U zY%u($Ubo%2`_9xhr9+GiB%Z@WKna#NnNdSwZyghrpAUD~RkZ&I_lv8WRo&APXa>O} zY$1lq1DYmE;6s(M>MbrqI4e@kJS@-NwOZo3%KaXY%og|{`9BDReKq6-uZX0$IT6%x zg=(+v{z4RXDu zGA$YVc`j)+YQlQ#M#g>7<~9u?2t<;K(*F|!F`{Q*HOmF$d1qFbhe15|O}*_9XPjY9 z>UeTs$+dIB(Sc;`$u*MntK_}FcVFYDdmBsrNuH4V;4RYW!BCKMihYE!`|(#hhPe5k zM7(;DG~EtWDCU=I%09G}3uib0q#Om|U&HploC2<7vZjKK6192^E2hWr`b-wa9kCdjxws<&4(JH{C9_NMA2q#6dLKb5(bc?K@Gv^=cvDgoK+rjO6-DcIzuoWOn*&uiCQM3 zUGbR0l@H38z)~OzIm{%4QEq&K4KTu6HDxjET->(7%i%t(bY@+;u#idsS^HHm_`NNEJa=sH5T zAJ=fjh>I^ANnDS&*T*m_e+{UO8e7wZ@4@iHB9K#;1ih)36Zt~iWshY6SorqOh{0(J zA%YiDWty9+xP(R3e?o5G``-A0Ac|ViLN?@w`)8tTmB3wLS&58gZM@^0jK3y~(#$#h zJZ_+jB>+(QiGqkn*`eO9wB3pGe+@b^zF%uNl|_k62xr_4Z?Ai_SSIUtV5D@G0&RfdP3wYitvu+sXAEV@vJ%*0%-j5{`gNbXw;# z_B^!9b>IrPs{KpY#SmL%dAw#(Th=)usL(cg479R2b2bYx*8414IUf@t4xJH_0i+s)gxCZ0<9=nv^wC_f@df~eJefTLg{y=I?49HFr-*HJTxUKQf z?DjME6U;|88j3P?dMEC&Hu8=RX|HBR^g~-=1F+5@VJ-t?+hE7wV-)rT;-eH|@d>g# z!5(ZlHm~rL6omQzDuXtN1ZkAMIIi4CKLoVBCLE}IK_+pIy%j$}dYL@g*%<;ePEuG~ zK^KRb3crk*fDPTZK4E9g3DY;KJPE|1`c;hDpyZ8bq44&sDOP7Jt8em@lcMP;9m)o) z$sz&n?vdQF%ql*BElu{j+rQ=dC6_Fo&;T_i2U-i_OpXgrIrv$PG^HO7m%Mng?M%T% zYy=OI?j5N)u)l3U6-kozi$5XCc5p^xgLp3*igA4ucy)(os9@ER5J>9wB_yXp z?4J8&tMy<{74;xrcOC;AZ74aNCrxbK&=!YQo~CYi;ImkP?L3bTw1prpj2Q z!j5cVdHMD+wqvSbXHSr%l^5?)#%F5iK*wzipMYLE9Bl1#Urk+g>TzfZiTK;_jG}cW zQW3UkhpHtB53^EKlYhl%4sEHu!D-=MkV}OxJiH#FmIX~|rCAf_S^N>k%f$P$KEco~ zH8~8T^+5!5AVsnK0n=RVY52B82t=Y+vg?=R%r-ushmYwBW0`I!@A)k*A48 zPw)OTZhYOS1i8}xv{`(LsV?osN!|{r5Z|9Mi{+JRkl3wSkE3-)JOf+DKFOxj43Ga4 zN+kc@Fz;;AR*7$?rhg)YKYoG@idLXvA7M>nNN_L0gXl*&x>tZ^=xBf`Vm0H4`Hu ztx@WtaZ;JkbA(o|?Sn*>w`$Zd5#+As_NJ3-4c%TvHi?Gwn!dFbo{0Sytox$2zRN<9 zljXgV*xAz{pt#Xo=au(jsjB;kng`$XW$K2@<>HTgY7eOkn!Z1lw7J-AfBe>$9w znDwiyO51m}Ev4X9UiR@J{s?-H>73`Ykj0X|e7AGwOeU(yLuw>5XFRFSiW4P4P^iOw7BtkX#yyR}dwmxtmeP2;19Xm5Q6(c(&ijUp$EESF-wOQ7Pdfyo#fEH` zB7jNAanf2}*vs~BbX=@TqOb-K-?f~cjzU}}>}+CNzG>NKhkk%l`Ej&Tx_oQ~uZ|v4 z#DP1dDArI)-(J_VH=$%)Uu~})7r&rt@nPVx(%z!n@o0GxaO&ib7`Uc$mM2FPEiRD% z{&TGH<-)Rh3V>asRb@8eYS4+o1B94C`P$QeHrG?Qg0cA!1G7EN0>AbS$DJa4^oiMH@Jwv&I$@-Y_N-IpNgv8XpH(IzoYp z^n}*Pn=z0I7gAhnUkn?%5l-ho7zy=Rfv}p0CdJ>d;5}gt2*a`@oV`(o_edqaM4O47 z=~8Ae;pe1cR%STu@x5Z>>b}RbS_8w}K-ePa8vHyS(7<1%wwFzi> z1u8y#AI=xDGd3TDPSNo_hox&zpW3dwZ8j&1h-xQYcj;l%)7;aL)$dw1I;}r8OHH*s zVeIN>1KfhZgf0pSx`2@P734^}wO3BpIHNUHrHQe{^wUU)rgl-Fae($lvj(#$Eu=Od z2Qfw?gqDF0tW@G5OhaG&8(mXM%B)nt_dMuyh2K)PIPr(Z8gNOHbE*tw5O6om2Lcra z2F|Hd%ZS|&V5oJ#W>z5a04hW8!Sl_gdQr+3_YaK7vWK}}riUpdt#j*$rxFtFxYonX z$aS5sye`g+slQPu&clA24l%{+bFLx+#@a^YKYBdAN4tO2+qTQt?CPA=Nzc~uSH?gr z&;jn!))0BZZ}8$ERW zizBiK_K|B!l=Co7QTPj2wB53XN8oESp%FLGKT)w>(_4}>E}~a}*C?#P6BRpV7EpD; zGRDKc&|O&q+Ye3d6HS~4Pf}DR8j(WW^x>`L!U%+ltBP|Sqa2CF7wj)pC0>Q5{5n~y zK-5GG4fTjyLtOrYIiTp9a?1#$>bY0Xp(Gg+7k~%Fyl9bYc;z7{KzN#;s670>CicdfUbZXHPrDxdg zI%d!RTt(Vs(fl2FaIKGmy>pVZsStqI&k0%-=0pAJM!h&(r=399RxiR3$YSfkft>}F z=RRoJ!g|2mpxRohN2_NzAi5Iz_Uf% zlopRHhiwV?yZTxXd%)0&7kIV&z6bW!RLP@IzfaXG3XUZ%39;N`y!4+dMmCXt>-PZb zrZpfVwvG)U9;aXDF&p-d-{(^!&(ez=HEnS#b$ws@hgplhAe0olSFwJt7}w~#Iw0S{DZf(7(j|w*~B4j zWs^n+_irJKBie&)?sv#}(cn&S3IiiE?z)Hygb3|qBU6dbhKOIZ@hse&3r{fC8#zyA z>YfUK9QezbE!9%FUNyf_=tlE2$a>i6RPjXruCA4By8CbIxE8ayW6kZ|A*!7Gs2cNv zT0--8^SyOlNlK@aVOp5WBLhYpWEat~lt!CURc&86XQyS^_1s#n>XyM4uaZTsMOkhk zpOv#Px2+=^m?%^=RO~c#rR3Aq+jW}U0^G(PZ$hlhpp=tgL===9oDuH`pc4ssWaxQt zLJd4cFq4O*B173+`6=%uB+RBxU~(QVr!rnqCeYwRSnG{iCbDjr=kRe38PM&NJ!UpI zg#oJV6B=#q51^m0Wfk*zhjMklppwIiP|=W9A=*8#Dahp4iol5Nw`e5nxoC}6C1U9L zQ#NU){Xy1g_=eOFN_Babc9swl2Z8Rk+_Y4l6kR;~5bi#v6H(rsxxqF33>`DGXi7*D znsS2FS+EqugVH-EzlFue3UdtxXgrENc2g{mvGUY@|JhDNd<&4WQx{83A~5-0h~FO? zN;)~?^*&>O@N<>gl^iS2hzeEf z0nYPo)j@P&1hI34h<|VS0egQY9*In>%e40dZ^PpB2a`e0NjDvywqc@OVeN)9fn=UV z@4?w$21=a}mv{$tM`5n0uu_vj1MRa?y9uP5;+IW$vAg28*0-yG1A6#^ti_QxtJs43TAC2Zr!Usz1ExG>^^S2W!Xnfa=cl8Tv@l~>CoOL5ERLVU z&BFZhs;DGi?YTz{QLhH!%dV4T)svtUyT`NvL(kB>dcZDwsu_#$%~pR5lZkfDQzbE^ znkV7jugxxiE9Q?4;!6xqa;^~1WP9(jzX@<$epe-BBT%s~``)O_TB=#%&1}gFRp+&| zeQCoisq2+Vz08e!v)8VPM_a4g>@Q=Ef*ojSUqJ$L`Mq;H-|neoXNnm?<14znM#n_2 zp@klmatr@VTJxW;CVTu*2L&G}9`>826=dMJYgxiHoiiZ)SmZ`CQYqir)EaL5BYt(|vLz`<4l@KnYI-FhG9? zSSeRL)>RQ94hH0VS0H#3+Hh7}2ZA){RlFtYtdL+~O9M{DpBaWujfyIRGG{9NRL|I0 z{0pf(n!%Hu1#5^7V7ALybK6nGhnBU>amOE?wQKhtlItH{(XA{L9CHfbB6v>a(VWozvcytz4;Fz zs2&o&g$LXZK8Y9XPJE1dz1+x0cF9#BQ>?InD-MVhsC?6LPBA)sRunZ2sr);3Xa$0YIg?;1N|&I6-;@{)T!zr3{=-7 zl!6TqvZrmwA$7J!e(szM?%;C{at^AU_zQw)aFe8gHVMHTx)_>`)S67y$`5aa`5>Y| z<8{eWgjwoCKkiEf^s&(=R);VgY3~V*=mg6%;%61H_SDl(uY!BgGA0VBnIQ{4_*gRK zhJWt?1I47ZgllJFDpI9(vOz-^oFo(>hx7((2-F#1FLm3P(TTSpT9zaX z&!!{S3SKvBRWGx{!F`i)5mlA46xh)S<)X0v*Ka8MwQuz!X(`>i6KXQDN`T~>ye0Or zE~|-;fxhURVArsI>gOU5S_G_k3;J6T5U3K-@MVJF}B}qJBP%TQ=H4!~K@YIne2}S{xn0qQvW0Nxc2i z$lQtJX?PGcTEwz5;>vgk+nwp!gHvB1NFb>NxBM?f1n z3@3qs%*PxgTa5IeqVraX9i*E_>wuCjFP&QwKc~FcngUh=4Uq|0{WZsV1doGtCDaf% zO5zvBcF(?JF>F*^oSi7!fi+i5zaxrLv1z-TxLS_Ma8>jV(Gwd$rBBTJ)*u*=V1Oa2 zigY}i6?R5!q2(-3Jic-vClQ-RwiFha=3|a) zojUhgxq3UZ8G=V$hGm7|X41P-gmNO}>>mOTEOLIWNZhy0DN4rIMPaW)ax5@k2=DdP z<2+)9g3_SP>TMuIlpa|0U;ih~i75VW;?Qc?wN@lP|E|WIy`@x~L$EZz{zXt~<+iz$ zio2F(9d76)b zQq)bpCR%XrFEwDmTJfGi28WiIMSu)9DpA)Hy!nJ&JI(*dPh_kWxJoRv-VnC1Z4NF1 zxS}SgRRz8ciZv@4UpwCOf;j!^Ih=XeP2H61%eMY)OcA>RWE$?i?<2-lQ5DF z|C!k~H%K{N{*7a&g#2dCRllT*s!pL$t)oSz_j!+Z^%B*Gyp=7Kdyr}s+8?MRisnubm_E;dcE-&NWR4e{-{0k54*e%eTYTj_D4& zH4FS^gn+Vep(uEY$cx*_>d%q$0z|2^!?xeYnd)_7Q?!CX?_?*bL1lafs$Y`02dLPH z6pY1PnDlpOM z7(D0*Cg9WGnw^U7?^=3U33Nxa4mHG;=kxfi;`%cO0JAvgH){x;z9t{5P{Td6gg#|7 zLU@frBdrBpvNR4A5ZodmJyUe*gmN>DOPfMweF{@C1oD{C!LwA3rO-Zw>rMn^KgtCN z0$^$Jvhu9uSs96Hd38YI+F&A@Gc%yxhna(Y{i;g$WrfUXkuAA=DV1ANoPpEoCh>BI z@DiB>yX`A+JLT{Cf2;x`FM@ro)bJ68(m5G{>k!m=mJJD6EurJWZo}Ad?p^=@DlSPx zK~y=Z`zEGK~kUy}=_DIX;f9jS zjd_s{(}HFt2|coSHLg6p($tgwVS6an)ECH!2BgFOy(EW92Kx>vKP!sW3EGoVs{S5R zaex;tJgXk7PqDt3&<2H6R#Vv;1sBc++F|6jt1O@F1|=k4At+Iy022kKk+|1o>;_Tz zU9jbQwqmd-VDPsZAo2o(G_ zh|`KW%<_2QJN>^#0Tpm!x(e;G97X`q%L4ox*7}r?fs(+8cEln9@+DS4k88vGFmTf0 zDLx|qEtO@ByaN&;jRK#^E$Mk51xxM?m_uuq2Ft1oW=I*0`*w!x>=(!w9i0^cFS3oK z#vi939T0U;I1~i2fYVSqWFK%6jPhwyqPToT)0T!CWamCBYq5S&bsY|F5}6B)6=hFW zs?r=&MmQmC=m7F*t8VMGrH1V_bJ+5s6}P0_{cv0_{@_3~N;+8Bi)H}o>x$7*$*M4_ z23N%9;l7+K%k1o+-(zNN)24BJCqnO0lHF~6R@-z;iM2W!^(|MmcMA4hsE&-8++wCn z(%;m#3dq@Y4;O5lZv%@*QcS~On~B9rc92TDq_SX?-zj)`0M>=i%~l>(R++xD*%ywoT417S1LSDJqZh`40Q*B((Y7@7+?u~Nia~GJ&x%gZ z$OAM04q)S;Ql>OM>&cVZo}n}1C^(ya{p<<1qA}6*T~=R)>DpVgZAaFd0wzsSj+^Jps?D)U!Kg`h)NpoT?a^COh(t{345DJiC zM4{230>H??k|-P#A^*A0bLW_<;*=EM+@J#!xiZ2%{Mp^celiNb;rHi7w~OctSH?@f zbVlSzXm&5Zb#nB^Kb$Y4Sn+vR7^!;x+wl(V_!Ij6vRZ-J4ipC2>|3ioP2Ut7aVMUl zF(u;L*y|UAadO&>v}~rtwl)HP%%8mOKh85Q15S_*jUpldcjeosM{oY41={W-OPS&j zIq{eifU|&xksj_1*#}dBv|amNx&zV>N8UpxTPoV3;98608`uy`kAjn9z+gp*?Jmh3 zJ1upL!NsP3naX2DqPF+b(yjKs_Bu)ihSdc0#5mc7g@z=D_<-{SIcjRMOoK28Gd1T( zsMtBv5QhLQfW)y;Z~CwEqsxANige3lp+OuPTrJbzn?5|txU{7F2Js#s1Lz=U0))yv zpoFgrl=R-<3ctw^2ikKg2XdEdb&@BtluKp4fl9{I0#g|}45K*}#R>?kI4|FQP$op$ zQUt4U+WfMm0|78>H>*0;Zj0zmVPLNKF20*huGr97z4V}&woL;N46k7${RWvaVG6|& zK}=ythZQXZ`|&DYvkAKa7lfdg*61r#4!=o9QwfyV{=teC+a@ZlXfgdlmV*foINdq= zhWOa+YDR3Wph>QX-5#{w*=T(ETc??wDFzS}Bde34p?oS^NKz3PDeiH@qf!7BSCU4* z@QWLH4cChaT#f<53IrA}(r5v<{*X+FFt8w7yyLg#YG?jYGpM#-Tc%i?KHWhH5%bdYX-Vg6R%6slw@8_VZIswv*K-U6#}9RzHK{}+ED0R56*CquuoSsfN|e3kYSJ@AR>A?N zOhplpGo^*w<2*vFWU}&D-BuD!(FLY+R*bPuX-87qYHOvkrtcqOL5ArtZ5icMR#2f0A$7-As?FMr{i3W?ViA%-fyDq8 zE3T4-Ni0v8NJNLlW)DC~rD@1LKnEalIg$et1iW`l^Zf(^3uVMW4?rwS6QuL ziJz$spG8GuYL(sMNlV$DMi{~gpl?Hk17--+=)sgxai8A8>|S z#O@8ijk*Di6kR78C~2}PQ_XTQn!;DSb*coaqs{aR+!fP=to)sRl!Ik{%&D;JpMfMa zr|a=bLkz3MLT{!vyiaFBHwyE^05n2y%$lT&LgN(Cw<0b!&za&5!?kMDxl0b>#RSih~Ekh1WUJ%&RU5Af$kDPv&u=>#uGqKnH z(hLJOMkz+r;pk9O#3Tv8M0t^cp`2LhTd}``sg3wVlJLu_q>-YrB8u4<> z-!Lb(sKDtV|6}B@1WYFM?p{GdRstZAAIDEK&8CCWQCEF$pWO@dD!;Zo6&G%sqsePk zJS|VJfBy?+&2f#)!Ca<|%U9?)a#qgJ;YxGprfrfcNSHeP85L|S?JaUY-ooZLI7M94Gux~$K+6t2Fv>v#*<5fzdw_@yGs zeRY{IwZY^k^YlYn@q0=ue`&0Bbtw*9EE*sO7NEue*MU881i{r0EcMaoe6519!pGtQ z(`cp#X(N2v*Ry40tESY*w~Tv{^}{R&cZVE?DGFv;dyi9!<$rLr$W#F8?C+P*TdRnG z6RU6-vdfO2RjS53gNu3Q8~ZffIwCHvS*DF=+R9`0SQ<~)XajIaOw~C)3kBCwP)aT% zrj;4Q05fJ5X@d9Uw;Oub!6z;3S7w6_Of=HB{kMgtlLQ;ve^-oGtu!@4`479?)tvFw z|9tzG0!GAGbvvS|EV?~+{N`M#IAkBUU2l#I28^(;{m5*a2C|}r@H9(7H7zeX#Cqv8 z(Xmi6r0nScQM6SzI9c-A_yim*?HCs?r!yU+bFt^mtt!ONOMe;6Sjl8x*fuFE?z00( z8_|AB^QrY8hVmZ%Y^%wbP^Dl=A6a120L(>56O*=AyltAvqZrtZYYI37&MVPDso_N! zbYQ|z++0~W7I!_ksy>Kn^}&|JhuvMqyGnx#DEvSjvplHPe>$QZ$T>!PWN#jeg5%3SHQp zfX)$zX0QO0{5`dnKo%;+nO^tanL1fWx=i9iF*AeAsTwY;*4*ld9|DwvRvpRozA^x~ z-kW&hm7ox|9!>6RMQElH2!m@~T|ns)OO`8jQUj+%AftLl74@8Scq*sW+c^@;*uR?$ zVXRWn%Q7>94%oWp{H~imG|RTou$(;qvO_k_imgl5Q<$RZzsy}R&h)>SCINPAQF%~D zOtTlQLeVlaWx1RsepCR^Lz*g6zrbF(uS`mUpJ)t^d`;p>Yl&a5#9Wu_((F8B02d5MOPGM>s#9Q z6KBSof+i|3aKEI73PQY5y0;8{u8c(bP=s=4m>Yax>Lw5?5h&>)^Oz{px2$j=JIJCT z4HQ`thUa0IIYNdGM+I@vBRkBiS(!5JTd`CuV>697eIl71MsSM>5#Yr-OXd32R~7G( ze_Tc>?oxO|rS`!0(#bKA%31WRb|GBmXe(B*);)a4zRz~zXXYR8r9$q2p44(3f(Rh7 zZ3D{&tM5LfRinM#ra}7IsYMWER0pMp!=S*qa!GsMSV5#bXq9j47J8S{ql2TkB*^Ai zEA-DW1$_{|!2Rnn9=@XKhO~M3E8Y$SiP%8>DUV4%64lE}oj+^Orkx ztkG0kIm7lj!hL`gA+_!A)G^!X+jhtWn^qV>9AWx>wtY)&f`Ry$rq8Rj(## zoMSUP1=IaXFF((lY-&jS@chC`aE}8T; z*iTf>@la7{4YPq4mL35ps~IfWZoIGEv}-Gl9swN?I%2tzsR06W{HQ%haQS(~?v1e#KcQbq;NeYMP_#^D4Y!>7#SSu{bN*O#<%i&e~<#ld3WpK`Zr z(8vO@-tx#wgJfxs>ufmmk5D3w4{VhZrnt)^8hB9$c=YqFiJJCoI;Z|PO@+Y)%MSo3 z94Da0Y=G6~^8V4Azh7z9Q>p}%9n(3tXsgo0pKI;bSMxY=h)x;`ytE;v+Ep$XQ3>7| z1_Ydj1eoAJj%eg~;BR-w9Z?FAtftW^*GQkK{LlbKE=~z$uN9*W1mC{uh;3|TxjTCV zDy;|_7?q64mGdPZLBS6b8s)$Q%Z$DbAczuZrPF`AbD_f67LSg{X8AA6|E9dqt+Jz0 zJoAmc1|n#|qvZ|A0N#sajRCqP0TY}Ff^GH&GUCwz*`vjNJ3t}Z#(3p&CB+~g4!Gpl z=u{_EV%otGUFk07c=>KPVZO1C(>*pklTN(7s85WlZm`n;`6EYrqrJ|C@O2NgiKmc4E#>$};BfAjDLcx}+^}%se*O(R^=jBh4`1$PP@s`rXs*HuPnI z0R>^yO9135LBop5z`?g(^GnlBcZyj_--AnaB9DNJnFrHzzBPM)r6sL`chSZn+<<@* zxeN_3k+UiVj)!G)mVOal!}iA(11v)Cj~Y1g7S#7$u?}=kHq+7jTG|yAe7``EqkhmQ ziDe(9v6=2sE(DtB+r(3q(l`nKcIzIe6S7Z2uIn+4^;326tMVB=n7FZn!=NKDHKn1z zAtI{)xNT>-M+`#Ds&Yg#(?L!PVa4yqf3_p)uv2?W8-MUxzc2S|W$a!}UE+bEJRixA zBrn?jLi*{sUI4xsPMHBCR`&EKad_%jF?!^4yG@alxczZ-a@rl7LVS>C-*PkXvB!*@HJrT5zC;Ef&elV3tseOlz=nKlpVA^< zbgcU3sp+Ts(bLi(->JNye--p)X>}{*m7_M?`+vfIJFgW&JU}%{9;F&O(tLHSPb<7s zKGof-(V9)RYkqPly8F*}WX{QN(A4QV9es=mhaY}?ThH_Y4h5MH4HKe<4pyFdFjJB0 z=KJB>gL*9vsq1sfkuRXaped&#zEk1*<*NcG#S2`V4BrnOk{T&$7q(|kD>rZcps^R9M$P z>ylRXetEXj*Wkc5ji%bPo95tHIOy5PaV*^#F8#5EP>?1?Q5xp{9W9G69gh zRDJcz;=1?e!yr^6#B8n^h@(N``J#-k($hK|9Vd4Up@3D`%SwvT18@Qf+>8C~`X~MW zl>9#VhC76pE8it~f;PCaSbz)#dBz;+jiJZH^W5bW=qCj>s2$(0G?dn+ zq&4=Y4=B8#A=K)d2rCqy5zzcdA%Ntbiu2Kg3UpBNO5C9GeNz5umG518ezAPN>Vg#} zmY3NSj369K1gtD#D&<01L}V$Rl_6Hr&N3%j7r!h2HGLOTXgN63CKhnsAs?Se!R^L5 z)nnmNRq+>;qz1s^V*UR)`Rnw5usAhUWZ?zn{WFCt6yBh`8HgM0)Q;gqi=S1(hvaEM z_^@3!43Lzrxqfv9Ph^;cA{v!c{ISZjMjmj`RH;kL_s#Fq{p)_mR}`LxmL;p^8FE5(V)d;*doAGh5d1S%r`_oRVRxcM>~5( zUSQFwfz7`Aetj!btT)Ry5*QCFy>IKg0DV+p!hx51qSH*Ay#vGmD)Diku;YwHFp zov2^DDl@R0>Vf9`E3zL{y`o;>5f%0CRSvB*Z-b24y_q{DHC-;9pM}5l7Ok^OxROK z(a@mAPEV~iekyzs9}h8TxHN8!hK#s2LQz3$XS<^?$njIC;J&#mOq9Oo%X@n=7qlbYf!L zM>1zCRROfuXX<2FG?3Zal9^PTgCcd(@%PA6Zpy4dpzCW2?~%VyWfaI4XX=`EBpMaA z=()nC^K^f{!tuH<8g;emnd+%a^rM5B6G#6 zx)ul)=pcHpYpp__(-xe5gwPg8TcJzH|uU1IM7LBaEE$hyAtnTry=um_% z&~LFkw4%(=nsz15jCM_%EC`Ug1h5QZ_RZw!UYC|Xc|WfBYM=J4SHz*EPoAW!x+!i} zbhR_;r?61>pgH9azx6r&hsFoxDT|))SayJ(pEC zl&*($O~a(Kdt-q3G%DUBF3))v;sZW3V6PPN;hOmF{h3!7@40h&5^~?mOa+q`o;>MD zT&n?DL!^9kl6fl1FDn15be-bjtsPjD|ziL`%9ik9oOiFDTTS++d_fp`_$ zc=#@8O-MQM{!Mfm0OF?#p%I-@-^SH9Np;}y`1)5KFUMh+=r&bRcGr`2e-in5P;sK3%ympmbU(PGEj|{$MKAB zrEQP~-#|#ZJmWukk`5kPkZyTnqs{4A7ZoRPHu|eG z6{!RA^8CFl{=J?z`4abMN&_HOUPamvG$0Po_*ULiS&QVyGaTRK-^#c7ck+&V|8Aa< z2K8i>uCSqw56N<>5QxM#r8}kvsQ7bE8HZS69G^o08{m|;$&6l6IUt4;th|!SpE=Pe zxHnR7EQB;53do4yA4lld5L+Bn58?Swn&e9v@LowCQU;zA&-2%1kMn!}+#8vvMT2%v zW8s=K1&F8^7&mc=u4&kb4sHp>%r^ZX-|C0MIBSuA$|EzC!^zg zS<6G7d6_-*y7Ih8)9af!IHv`9;2og69JDvuRQR2|LwduX zT`3z?^Q5~pMq52L1h-kY_m3!&A@1ak>(6uRK59>f^kedU;&J(1rg!j=w`1l!G)WAD(Y? zj)`mH?o{lCL|IBoi5gY)#oEoRmwwv8PdyvJDEa_w~I5CP6AV+VS+D_p5O z=PC}eA?S~%ynKVx)XLcYWQdwhRC40#qh-og31q~o+FbXs~muUBa4^bJAD zpX+g|^Rzte^8EPkgeeUIzucwT&Km><`b9BCze zYx#HkH+$Zd(yi;c15^02XY3!oN)Ok|UmQkCx<;tVDY4i8@(i;hg#8@MS@csFPVWJb z@NiCa4(>U@oS0r-LLA@W6-HdIC~q7d64x6F*P(ObJ530~{QNq6?(c-@_;vX+Z`_`a zmy<9AzwYuCpHflp(lbCS(Xn9{t_j;r^K~F22LQy5bK&AsXqa|$uGxz}(Bf9=r`uaI zM796U-1 z-w(@`mR3XVhrkqONlH#+OJ(tH=*R;X<`vS6XJNklPjmhrWeU^v@Vm?wZ#ZD!d*Q8OO~h(08AH1uZe5a3^E)e@I~_EPejT@eS~Gx-yRxs zUGDrF%EK^TSV!Ug@@uCX_x(ByJwEACMyD^K)0S&|wJuDb>#+XAGzem*VHjS=Piy=2GKJ;yYf|!Z0uXRXJCr@sxdl8-cJb;Q_L-(>I>+kV)@R|G;-t`Z z+OOk+u(6FPTR<#+mYkaMo1-U^H<=Kg@;co^+WX675;~_3_rmKij$fC*>-Wn;PbV!T zKF>(cL#`>W=i#AlRdh-Dl;872!aTX>`TBJj&#%j$`F-*T^GUi6Z$E_4* z$axqiHicTgf<%85%VZ&>#5+T*5$VcfLq@^|A>WdDZmq@`QU{V<*E9DC`) zJ7LEa1?n1L#HE2#{51cqM1iFCTj^erc>Bde+i0 zIstjQ?Wfzm>S*-rH}`2TT_rLWS&_S2-WMRw75XRAHNQDH6i5Q5FlPrI?<9n3$?V^0 zTBK`yrekCVoMuR#fk_UIMdD~144|W_T)}NuUf)n0mi6cu0F$$xm3ow-p7AcEJ9UK@ zII(?#&AztJDfJ^cLYf3-EgustymGvqSvP*#NHaSBh>r7#4b-Q;-u79ZW%rq(lC`RsA)o4F0 zaQZ`CPnXYh97wruGcz)hC8>%|ouMEz4n-6zdC5I5a(%Wt|3?3A2PVKtb70J06mHXX zrba#-D@R`8V@GmT(Vuv$^}|XmF9A+o7Q)=+6c{iHzyT$>umRE_9h{g>Aqc0H6Fx5g zMR~xZN>^>CFcTY3C{fQp>=;$%byh@kP;fdhNKhY4uK z1_pfYataI>1?mB&kW-;E;2FKQ=<-rsPwQuCwTr&%uapMz4M2%$qIU{LYw{1vpucCe zbHMQsaN?S}gB}}&SBn%jYEaN%(Dg~B_n5rXpU|g}fYP~E2m0jP4JHMu1t#wl4ha6= zLpqCO5oV$kaAF%nJ&uw3f9u7tQvgckouZz!&*XQU&V-?d?vnRmq81B?W-66?^*ZPe zDBUNI9FalcTpt)jg4_)@1*!$6q;h#@@n>`hO)ZL>)j`hF^$dSdMW~U#@Ju%-Ay8+8 zrepX>T@FkRkX0moRz-18;-mZ;x}&Ko^E3rO9L{O1d@WAz6*L$aD52f&faIX$^mmT6 zmbCM@IR$E_K!1RV%*p|R&Z2!>#pl$}5tO1vFixKPNe4D{x8%0F}i-Nw8fY{+C7ne^9tto;o=yPd#uQ(m$WZ zi6FTfcnWyKt|celp|RruwvqCqxnt@cxX>!hbpxjhe>po(9jg0}~wr@6SVSiFeQCP7#7rNL%P0f)v+0r+%Ql)1UuN zYeHz7M1Sfc92AJ-v_F^WFEZqAFepIdt=G{&89`~>?!tRCeD4$h5^@j+LXYR2!a>M8 zgLj%7l$^40=%7FdZ3shJIz654)GxFLkev3qw0iTpBb_w*lU@!=P%L+YN`ZQT$vX&z z^#-2QK}g>_hmZEWlN6T@;@&$1X%pAIF3)-Av~!^G|Io^T$!YFk2uw~(kMA@O!<_!- zd@~zb0?=^lbu@5y;Qfpb_mMlov=S; zJX_xl>FU=Z-5rqpnbQH9I-Q;F<@cQK9{Rg^m{VZDDd0fSh>X1PXN6%tH2BcdL2%){ z_)h+tMFFqFEV_G~FrARj4pKZ1?}zd8>zo3EMuGnyFp>^BBGiyI00000NkvXXu0mjf Dkq~3y diff --git a/contrib/html/prowler-logo.png b/contrib/html/prowler-logo.png deleted file mode 100644 index e59ca281a452a67c7d3cdbe416de0fe81409f26f..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 11316 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: -#: -# checkid2 -#: - -# REGEXES -# This allowlist works with regexes (ERE, the same style of regex as grep -E and bash's =~ use) -# therefore: -# extra718:[[:alnum:]]+-logs # will ignore all buckets containing the terms ci-logs, qa-logs, etc. - -# EXAMPLE: CONTROL TOWER -# When using Control Tower, guardrails prevent access to certain protected resources. The allowlist -# below ensures that warnings instead of errors are reported for the affected resources. -#extra734:aws-controltower-logs-[[:digit:]]+-[[:alpha:]\-]+ -#extra734:aws-controltower-s3-access-logs-[[:digit:]]+-[[:alpha:]\-]+ -#extra764:aws-controltower-logs-[[:digit:]]+-[[:alpha:]\-]+ -#extra764:aws-controltower-s3-access-logs-[[:digit:]]+-[[:alpha:]\-]+ \ No newline at end of file diff --git a/util/cloud9-installation.sh b/util/cloud9-installation.sh deleted file mode 100644 index a45f28cf..00000000 --- a/util/cloud9-installation.sh +++ /dev/null @@ -1,17 +0,0 @@ -#!/bin/bash - -# Upgrade AWS CLI to v2 -sudo yum update -y -sudo yum remove -y awscli -cd /opt || exit -sudo curl "https://awscli.amazonaws.com/awscli-exe-linux-x86_64.zip" -o "awscliv2.zip" -sudo unzip awscliv2.zip -sudo ./aws/install -# shellcheck disable=SC1090 -. ~/.profile # to load the new path for AWS CLI v2 -sudo rm -fr /opt/aws/ -cd ~/environment/ || exit -# Prepare Prowler 3.0 -git clone https://github.com/prowler-cloud/prowler -cd prowler || exit -pipenv install && pipenv shell