From 170611c008d337430b85fad67fc6dfa0024e37b4 Mon Sep 17 00:00:00 2001
From: heibaiying <2806718453@qq.com>
Date: Mon, 5 Aug 2019 16:28:22 +0800
Subject: [PATCH] =?UTF-8?q?mysql=E5=8D=95=E6=9C=BA=E7=8E=AF=E5=A2=83?=
=?UTF-8?q?=E6=90=AD=E5=BB=BA?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
notes/installation/MySQL单机环境搭建.md | 128 ++++++++++++++++++
pictures/mysql-version.png | Bin 0 -> 20539 bytes
2 files changed, 128 insertions(+)
create mode 100644 notes/installation/MySQL单机环境搭建.md
create mode 100644 pictures/mysql-version.png
diff --git a/notes/installation/MySQL单机环境搭建.md b/notes/installation/MySQL单机环境搭建.md
new file mode 100644
index 0000000..7cf8cf7
--- /dev/null
+++ b/notes/installation/MySQL单机环境搭建.md
@@ -0,0 +1,128 @@
+# MySQL 单机环境搭建
+
+## 一、下载并解压
+
+这里我采用的是二进制安装包的方式进行安装,安装包的下载地址为:https://dev.mysql.com/downloads/mysql/,按需选择对应的版本后进行下载:
+
+
+
+下载后进行解压,并对解压后的文件夹进行重命名,以便在后面的配置中进行引用:
+
+```shell
+tar -zxvf mysql-8.0.17-el7-x86_64.tar.gz -C /usr/app
+mv mysql-8.0.17-el7-x86_64/ mysql-8.0.17
+```
+
+## 二、配置环境变量
+
+配置 MySQL 环境变量:
+
+```shell
+ vim /etc/profile
+```
+
+```shell
+export MYSQL_HOME=/usr/app/mysql-8.0.17
+export PATH=$MYSQL_HOME/bin:$PATH
+```
+
+使得配置的环境变量立即生效:
+
+```shell
+source /etc/profile
+```
+
+## 三、创建用户组和用户
+
+为了安全起见,建议使用专门的用户组来管理 MySQL 服务。创建命令如下:
+
+```shell
+# 创建用户组
+groupadd mysql
+# 创建用户
+useradd -g mysql mysql
+# 设置密码
+passwd mysql
+# 将安装目录的所有者改为mysql用户
+chown -R mysql:mysql /usr/app/mysql-8.0.17
+```
+
+## 四、数据库配置
+
+ MySQL 会默认读取 `/etc/my.cnf` 路径上的配置文件,该文件需要手动创建,内容如下。下面是一个最小化的配置,主要是定义了 MySQL 的安装目录和数据存放目录:
+
+```shell
+[mysqld]
+# 每个Mysql实例的唯一编号
+server-id = 1
+# 服务端口号 默认3306
+port = 3306
+# 安装目录
+basedir = /usr/app/mysql-8.0.17
+# 数据存放目录
+datadir = /usr/app/mysql-8.0.17/data
+# 临时目录
+tmpdir = /tmp
+# 设置socket文件所在目录
+socket = /tmp/mysql.sock
+# 服务端字符集
+character-set-server = utf8mb4
+```
+
+## 五、初始化 MySQL
+
+执行以下命令进行初始化:
+
+```shell
+/usr/app/mysql-8.0.17/bin/mysqld --initialize --user=mysql \
+--basedir=/usr/app/mysql-8.0.17 --datadir=/usr/app/mysql-8.0.17/data
+```
+
+注意观察控制台输出,控制台上会显示 root 用户的临时登录密码,拷贝好该密码,以便后面使用:
+
+```shell
+[Note][MY-010454][Server] A temporary password is generated for root@localhost: NTWbsvTJj91zQZBHzvpc3XNSK3
zAvyfebcTXL?fbVwC()wfy=Q)Q5!Y~0wl{NeH*_+EQns^nFm!e?)x{cLgM#`FB_$@T
z;*oi}=BuOPy8ZxJaA4Jv7S!P&^teZH>eZPN)BZrF-2S18%^gk|W<|+*t#jR`{M;~QM`DvfX}VcR5+zeh9Kkx4xj|%ZH~xv0Y4bZz
zXHG0aY;PJjXAYP<4E(m56*O+bL5oNnjQ;lk7K%-;Q&v5(c&3b*Ysd?5yUMxX!VTr!B&h;km
z(pYZ;`vE)AMZ(9YmtcPVYu|D)YW_(G`ky-2TRDXymX4$%zi}c&VlnfRW4s($Q?GJa
zf~Vbo=ZEy(E7@LBKx?Pf!{PDs~dDrJw=KJyDI=;NxS&vf)hgbrET?_Zq1iF2shv{DV
zZO{8W2q4}8GYpbXk(9im${2t6Jm3}ExbM>d7WSa1#LI{XMHj=q@Qp4wFTV
zH8a1Kx-6@Ly_%=D!iJTHFIVU(&LL5!9-?r8YfjT6h|=|V
zGARk4U*~5D>zr$5=*&OBpO$)O_tV;NjZpYr2p(E_2k{c7p@oysc@gsiVT=D!hbvVI
zE%D{&mw`%>%Q)dXNVRcA&!rvw{shM#?11dLOT4Dv-8J*3rz;$w4|0RY;kJm
zt#nI&0t^rMxHPr;l1#3#BX=FiOx}Y}o0Afj*eZ2l$NoZ+1oJOUL9tiZg3BoGdwKeq
z+pTVTb$DQ$Ty=`KUT0?C_Rru>^50*e{f~BvnNJrHi2)Q$&X~~iqJHLFpng-P_SEx<
zK0}`DD9d|^u>-nF%J)ui(j;`}i0@n=ClnoD=VVqJaPFi1~Woe@qR9v
zV@LZ{@29VSuJ95pcsHc?B+?UU9=G4!>7WX
z6cz+ulWIvzc@m8ZW*E
zUTg=8C=B(|nlJK7wot1LHu1tO-=`jrbYrs$#mtr<>gvPDLO+!|*`E_69R?9@9ztXA
z-~)fg;X@U2Y@yL{a`<@+SE39#mE_>G&-2fhnf$X5UKH>ZU9`PfZti?Lv#!vi7ei6f
zEjDWk`eEk6{+F?wh3>PcOS}qDovT%Lh$#k>r(#t5t@B4Q+r64HUg+LwW`c
zI^&Yu3BWhMU+vx#pGE2^go>SAY0q<`lBhOd$o}9JtpAP%Oi%f!)Qw#l*?Ci-cGCX6
zu|#4*hNRH5>l@>!W1$Vc97&`r&;MDtu|FQboUwI+NWZT1KM||h4jMDlXIVFfujHLD%wzFUnCa5L2+t
z{XJKkuQkum!G}}YlKdu0h`SRHd@nSF|3cq0aS@>E;%)G49zeF(PWx@=+$V8FIW_#U
zIaVKw8Ts{Cv++eyU^JJS61kJ1H(2@i!fs2$gf{h(oU<1j{f;m{h{!Y-s&!cMNI(sQ
zv7_B<`NjsLJdFQAl6P+=4Un7ak7x_=LK#V8VXq9@nf>ld7e$N5!bWTM<#PXv3@+c0
zF>+V<)*;lMEICNb`XkhMBy)#AG6g`flU8Yl#fJgf{e9Sac21fr!4*1XDqYRa#L!XZ
zpC?fg%jKxn_~f+tXY=>fr3nKZdmf%tw9y{_~Jh&*8%^rrqAGYlxvQj!wUAK
z>}1^Gdr0-C=-P*(F%}O?(jqKQr+&j%h($UIQ26Zk*?7P*VRf;|Aj&
z&vBB$pW7RpTU5BZBALA)=~CLBhj|)raJ?Lk&h4Q;^d%81Lf6_IZj(`^t-$Z&qJ8+0
zVG?$YjqI2WA%Dadcu8Xc#n49woRM4$7Z*y0SrXa7_jO;*I%mY(8hWxnwh8tRMf7v+
z9L4g5JoovoQ^$@_4F?;bF=l^FThS_0!nbKiW_HthSXSGgjX=C6I>6cGlBc2^U{N8MOk;(iG3CN@-a
zdNE+9Z|0==42*v{Ng~@Xo@$*v@SuYU64VOcm^jGonwhB=-x2gg9cgq;-8k=`v$cHS
zPZ#dSj+Jh+tzCD{yx@O#Usx_)Jul!Nc}XW9gN#Nbxo2Q~TQMFU24Mw&0t_arNf$%H%rv0ynT1xJUfu1p&ZK4
z*cN_%a_!vDQJ3+|6Ge1^^3(WyZf0qpEUaJ9!Q^WaH-ki%clIFaGQMX@AVkI!HWRdI
zC675miN{R-K4Uz2&-mnX=S~*$!9Ln-Ysvb#j~Wa`x@oCh?}lv&6FAP`gda8~z5GF<
zsvqzm5=~@c%%Bs$0B(sgU`AYGhX_&H
z)pYO!7CMs|CWz=vf?BiCO?TDwNYs7Lig`rp#8_WYqL_M-YU5jgCFw}bCy!iS^Z>|f
z@&~c4?+r-a7P!#KAEH{umCDDHj~;5Du1Jbop;S
zQ5b08zAxbxZ`L#e{Ew-Ev_Xd11(irMh360VkwTCMt<=oFbC2&%0;pFfWB*S`kuTX0
zvg4~qM~i^NHP6`K4zvDv_suqDdIfv@1!SvvlOW1AwTej++@i$#wP$B=tNVV?#Cl{SI3K<1Ei7$8RtCcphomoi-R|YmS#!
zd581Nzx(FtJ`1C4Hq7B;L_-c6F=5K`B=(GR#UNcpXD(~oymMUd--&c2))NWjt
z2^!7Z=#2-)^nQ)a*QioTPq<|k50WxFb&UE(B;&=P`!~9yy9kdj%zw+1jflP{lQq1E
zAQ{T8b@TW5-99rG{mDJfZqaSOru&Vce*YYXF*A{F_?5=zwNTehuAcmp#RRa802A^K
zkVP9g&2~)aM{3wXZuCCZ4zr7liuIj@Ox^+jovS|3H5%5F7)T`e{&V5Ux_`U0i^^ZQ
zw!b7|M_99!qe_XKCGv|t2ZlVLG;o02DKAS&K2VsKk?z}$l5gKD>hK~w1n24dNUxc9
zlaDsO1x&Mk>&mI0i^UFjgZTODS0OSb=lT$ZZX~oJVRM#?hM}z?wQtk{Azxg2+uAgN
zgfr%NbNXQoKD%@V9<5KKX=`@}E%b1Rvg}rnTDR^+7#!GWX&4CZ1MtiF2${hV&qE
zuG_plCbTk^mV^ofrtpC71?ynPJ*7OP_wxCX^C1>d^bsg#YZk*uvFYf(hOx=%g7g&P
z`LOn_IA*y^CD;karPqAxfX08-6lp!lRG$8D4auh{y!)o%@Gr?G?`R{g@Paj_U;g%_
z>-SiYK2|yO84z&-IjxEO3zH|RV&G$z>?d^|hfIIUg&N8O%>_onHG(x;fHEvu*}#!{#O?>kh>xB6@Z~PpHgnwsAJ>Mg{S_W=pRJ82z~^-fpZ!oCzk5WahQ$z
z8X(^`rs?eEdDY;rB#+*LpZzKMrh>OXh_Zv;JDdwoLj{bdC-W}5L!Y1SFE-|e(YKR7
zZyp>RT%vazmaqUjn-TjpN;?$?0jO^nWZn90=ddxOeLgRiV>w?92{R9q2Ag$S>+!%>
zxQL^T{K-`93dJ+rFTf7SQ2W?uyZZr5MHeFD0}!$QYrr{B^#P=1;eC?T%+VUI`9Nt?
z@F)a7kkFr{(rfqkQja1MfcrL4Z_F2N!Fllf>%I7x`?im+ZkCa+MQ3fTQu;fP&DtM|
zBMlAO287)5uAViC2RVQ7;~1NcF8B-F)2cp`~o>U?mt+RDJ`dm
z=&0+e`s*E~c6=-TPYHFNtl8c75-03u1pr0TV056RHSY3r?7wQg0qdB%%BM0PdRJYMh%xyzbG#cI$@X$
zLM)9qWjUVBA2nrhdTfH|I69d&X7-5X@{is?JFbT;Q@?W~;Xra>z4wgEpI_cVxdMl>vB0
zhT3A%$7MoR&71=WUi!iva1bk9S
zRK`ZVNOxTWzKB>>rF6VidaQB>OYYlzGhq@ubWhC(c?
z61QioyZ`R-e4*^n=O+gbA2Q9!653aT_Jvgz2va^_AGz56=sP06ptJ#-OX<;V@Fl*8
z`KZUi%OhQ(NMf9b#sK^rl9*%LhX@NV8F%@BA!|S3R*yTfl=;Z}v24~Eo7)&=ba3gy
zslhv$1)v;az9OwP(q?y2DzfM*^4os6xhpY2L7aJUj%WZYr?#r6|6t)yO{UxgB<61v
z{NM!2ui0#d{7n}eI7zcQKPi$%E_Fj+Z+0oXI;)@gN*HPZD
zgb49QJnTc9gcDmKf?t(RT&VHhOYYJFIIlP%i-&IDn7S@C(N_(wWhv4ChMgoWz5<|ykP*ZfPjenxxCnfTmB-|`D
zy}0h*^)c*9fQP>&r;(^^z+*^u-V84^GcPGHc>EA8qh~xYIgWVqE7Qjsn)Ytlo+&{1
zU7MnFDJ87Bc%&bXyrRXJ4J%+D~+cDT{dOA$!Ltw~aqa50@7~jn(%_xY)N=Ojxj$X_h
z;qmeZNjYr^6E@XTMJA4DR(gu;w?w}`dJTD`7>EKMP+xg^^=^R8KXyFKkS2DtR2?)Tyr7
zM)gr(Z!~J2VgT`v1O>CJ63LcuOw>vS0{t3tV$CB6|ISxcCcmfle6e&){uf26*U0sJ
zo#%zrI4Ab|MD7%gPZKbvnOe4s*x{BPrGdR6WAqHe`K)@nR-gSsnl#H<3L1kkreNmh
zkGmxNrE<10wqJ=rRmBPA6^KB|veU*7P?R?5znitl~1TFPLK&8(W`wym?;;S90yuw~tw7rzG@EbE=fvdHM8
z?l!pT*QH~USK8NC>M*}t$0ASZjbNXYmIYj%%b%oKQIC!qt_-Hz5stQG#^Ii6z_<$N
z2N6s-?l2m?pjl?X`3Mr`4(5yHzdnNEOo!AM_Irg-+xs~$CZk9
zUbkjf`*}H_#6i@QdGh-Q2@GvXiDQRHY!5~%^CGCR(<@B>yyk_FEr1$Lx<}rl$QfZB
zPC)3d1;2r1Eho1x;2J6f1u8EZXF1mE;Pyh!LAYRRC%^gO!JS}MKY&PNx>XlS1vUFZu`sJ2X%)a@tON1BHd+@(fMT@Y;J+U@
zJXxC0jflIviNll*?7ml`>eks|N7vUn2k?`J1Uwh#79>ir%7b|5kh0gmea}Xi^<1csj|BDdOW6qm`hE+
z;sj8>B`yIw5C@{`o04y_IpSeE*dq!v`PK%;TQ_3Xmp`)JAgR3>5+Vs#R&8sM780E|
ztYJO9u}wWEA#c_3c)Iw04+`rm=^1hm0uSc%JT3{aV~3D`0SC$4;f2WQf1y~khWvUK
zaIHAXp(`9xgKpx`mO$s0wbw3idHu*iz^9P!4BcB+8t5c9W4#OL+XQ~*bFhehjm3vC
z)z5OTGeJljq2{&7`6VxX>2PUC@2%g|$O84G_-BwJfsY|z=(|iHO43)8N=J;}c}Dic
z-{ASTNat?r8+xA<*0)|6Kf$i!fKnZYqa#oou$VrX+B`413a}B-tUqOpCv4oERerb=
zSmw)Ed;Y@8kY;fPH_e&8>o}a8^COVg1=M;4Ac<%!tVz5bb>{MDZ20?w-g^Ob^^9Skj^B|{4JxO@W`%{A3O`tsiEMTl%ZikoJ4qrCXZ&!aH`*$?@Jjer
zu4DGP1rrN41SVz&Q)>OLVE^(ix2bo;+9Fi0#UjbdCED?9wT#;Wt4a$U4`KQo{DYFU
zKsVm>uNrcNUp1}Rd?BQvov1rkXMx5EI4w1qLGZbTM1}f%!n+;E?u{ZJ(6OJPrq-an
zm{@#yLI#~mn4m(XKdLk4UUrdUgCATd`0@7^#TFeRqSBYb1uEBI=>WUQf2D0-$sM%G
z4*l(|*#n9Ye7(Ir)F1x*wr%{NLN)`b4n&&In3Fig7mdg9%0#mqovL4^(~-fw&oPus_NFt*N=%JAUjG4@2Q
zu20gtkAmYA%eA9%J*=8{0ei`SC%y&`c6VZv4>Ih!bP0D=n<@5Mxa$+i%5zKsot1O-
zfqzn&NF&34g(PY!%x)r$rEbll%$-}$uf2Uq&DQ&|RP?byp{49Md(=lw!S8XDMRFvT
zB{L0W9jKYt$vG)?mUkaN;&ppeha0mRVIOU4z+CtSCXG@|F60$qi(d0zXtXkpa4F6Y
z{jg4WRZnMt^ZkVO3FUORz8OP$+FsqDnk{yLaKvzl7}N+~Q2h{6TF|UERuKg
ztNZRA& +f1;zeV(NrJn7xHeuT
zD3n&umi!tNES!a!OkpO~YDsdB-4D>Pc9ocUIhs6O3fiq>D+<*pasP+>p=q+BJbG*&Fh_F@8+W3%rm@;o1|8Ils*~VbN1SA(6d^Io~&X
zGc6mMPe~cGh2$H+qs@FmFYD+dPg!xXIWLeT`Pqb|&zm
z)34{$E)Ue!b%G?3h@60^o|@t4`ZpW`!5^CZLU4u8HpJP?j(1SAX_k(|Dx>R3T_#sW
zO2+}+yvC^lq~d2JEVD|jN1lF<+q^0sR}-C*?!GI?y7`f4O-rq4A0+ulQmuXOL!0+>
zQaIOd!{w`IKhig(7qJNNn^=|ss9Mh`G|vnuWd4cZnOsTdzheQG?u#RuX*WVqv%1?C
z)(v;cStDw0k1U@I0O-fnkdfp0rzIQ1)31d1N~#+nhe~c!*z>fCaQXpxoY}ie^M2a4PJ-Tfbhc~#
z-a6f&U&rux|J`R*1QTEmpgVnmlo^u*28s5hV~}E9kNeoe!^xcVQ6BFE?1hbRd&cq`
zNXY$gprUiP)5?5@o66S0lz~V)`DY3R5BCO_^`&H|I>Q25L@-c78nAKxUc4o_weavO
zTKV|MkCngf?n5Kd8kdOX@OhGubTz`ia8{k%oIe@-k<@y+!M(d$&Os~bYFbjMS_&*`
zslH1P8L7CJIV0tTay9*WN}WFY+cB{SGo`A5D9=bv693ci3MYZL5&a
zY0{IYoX(U{inKl=qv|Xalt7RDx$dGgUqOO>
zLY@DLD7YeS*pP8H?_LdhT1UV(Mv0*mEWD&WasAdmWEg`md-QHc`I1!SSK2++_YyD~
z5bDw(!7~ubYLy=DjGXZ>l3uVew?xe_#J$x4QJulS&`E6$znEJP9n(Y(Tjy%+B&O%I-c
z65hPKA?OhuRF*@&9{0O`H5vZq(0(~2u{E5by}AZ5{e3?Syj<;(#2OHXB+hAkt#g63Ku9c0?lcbg(nCCwz
z^g}mhspSKVm&^nnNS0n@Z24R|4|OXPKvMu3YUXK0MxOmvIM4HFiY>yDNxtJG{FP3M
z(ILo>ybFYjMVY;2NjDv)d3B{b$I-mD0C$SI2WnfeA(hl5
zu|}GDvr;Hau)0i?6)+Ih!0`MQxPlvZLiBFNQ1YvlpL!kuO4lDsfN4K28S|gc_xG6N-;c&$DaOthdGG-xdB_D+yu`=)fbhjrL2
z2MQOHI3A_rG_=(s!8xqA@vhQbn7yyMu)ezf#-F#7ZC*qVRWf0k)AYIlKj?EE+F3I!
zW;Z_db^f;Rg=|?|+2`P0!Yr=P!-ck|v}B>4b*J`NY|WN|NYQD-+XYUe<%K9J1at+`
zzg-bg7u8f@XCogX3&T@sMo(+i_iDk@`W`7xlWlPkutqrRxdZ)pu^F_fp?ASxGdX
zhhjizU((u4C=w(jKI2wc?#$hPcM)Ps*zX#65*)XAY_9-NkpenGZ_D?Y=R9>YEX*K|
zL(sIk(+SC^^1M(
zf{^o`;8>5`{_-IHRT3o?r*#5i6%ekh~rr39?wvAj>wI_A_y69
zbJNTkczDIC$#aEkHSR9ZjeSNN5)}V~aI0u?ddbqUrYdPd-lC>zvzlsPOk?Dj9T~^+
zL?6vm_6hdZGUWWTtQVi~OzU(|PaQ|~QxmlqnnU~gA7!kBGam>xOGMffKcbj|#i`AJ
z_rq*3Z^N_u()%EO)OP&kLQ$uAbS&mErZQestfpuIg=l(Q#-6So?iQaelKeVwZA9?>
za^14x;jAF0t3!HKt93j5n+RgmiAF+~+kv}%-6~zc+i;&wY=)@@%LIgCNo|DF?}|YN
za8cO9{`bIjn4LBl9dn^dp;Pquodq~pba!|x_r>S41!ym(9vK6*1yy77STzOm<3r{b
zqWt1|Ynw!d{b*YE1Y$sdLx>!7>_A1{hwy`iIEw2q>B(17UGgNm$
z8gea7@l?U+e?&jDx3$nX9kh$A)mc*y9S5xweQHou(LoZvSR-io6A)>vFJfXnI$Ptu
z#HPla(QqQLIfu@l`bmXosSm*a>fGt`YP-MY{;G6Zaje1|JU;2e5?p*&ahB+-`?f-p
z{lb+g*zt-K*W;fTaIB1Vi0OrbR|$#lEjGw)`tts0;g4v$c0v{ZcwE^OnP9;?N8)S2
z_0t`036t5UF5$FzZW%0!fps|_$HR#S15~Lwxt}Ph{1CCDnd+R%lkj@dN@~Aky}eUZ
zQ?yIwsZe}5J@}hf+g8e<;C-2jfqUpzEx1HUNbt6YoG}cVSlC{thwyvVN$69
zoEZ@kVOeXNL*V@3BLRZh=5KB3+hbS9j+Ok-nFeyFAKWyp7F^+wQ|}i((r{=uT`_e%
zyvmmW7h@DFv$PxSpC51KGoAB~`{d7wGAjP{7v1+fiYyrZjv<1)t*_K{2Rz4jbAwtI
za2$I^4}~V@6OYA_vw6+Q`_NyXvZ%l?(Kqm=SkArtku9ZNnR4hAp-_H*rt98@jy?h-z2W+GFOIx+mw+Ylxb_ICeST{Tt`Vw|q@zoC#`xW@_%(vZMU#
zTNJ+Ohy|z-myrfy$3{y57T;s+iu}1w<(xAR)8xDJo^ms^8rH)u20iJ
zleDZv+_k;!dSzo~5X4s@?N)hIV9cz4)Ip;;44heFvfZ3MvgA0-v?x=fYK-O-8HQyUMW~e_h5Nt%Czjt+=$x7$IaFidgs)j
zAp(3nzATh(-;_fFNa46|G^_hMD_2AgJu@gREAp=s11^bzo8OiN123ByOMy*(m*lEF
z_Zaq;o%0*)ah?-y#xs7d{sxch_~(#0MjXRZqZj~h#vgSF
z=p+|)O>V)T@Ooa!RqM+~UprN%ztF8*q7hsEH7OgVErltIIV+ynNx=CG`+&f_JvAJR
zU%s#ZM$b9peB)Ewi|pz2;(-ZVlX`^n26dRPa>d`B?^HL`+VJ#rz66jB-dMKetvsQx
zPxxX{=(*e-1Il0As+WJ!cxGOM
z>^KZE;?XSL?prxUp(>lw$`&vOxnZLRh?afu-!F&42EHM8063rBz4+am@tzKeL|&@i
z!n*i1#T|Pn)Fw3g=faY~$M%vllvLTfiTz)b8H{cgzn5_ReQQh5oIx`nVHAk#UmYA^
zb@*#zCY$ynamDY2C-!=nIOnwun)r~PrWuJi*rESKm{9S#=^|sO{h1=Z@t$0%)}7^P
zA^|#l;=%tEi4gvv8H?J(mxMkAm|xo)flO@lJDVT{ue(2)Syf4u<+s3uXJ>ysN?59U
zPPx6#FHQ@Ci;`@fNHVyMU2>%>svU
zT(Z~|!Y&9%&F*?4(tB0FYVe7=+e>(Vcx*j)G%+0ZPp9_ge2`yqC(t7ySB2)WGa)yI
zKcwLFTXnd?f3GXLHX8R3J1vTpIo&H8T0Lgvxd`(9AtXO%csBp08Uu4iBd`(smMsvB
zE|&A=g{rR7V0@wK^XSNDIkPhdh33%T-L>rbsd8#?%zQ1JpAYOn=SZr&cWeo*7JUqiP2KRa572ZuT
zFeycHLET|jmH^)Rl1)Xqojavhc{>93iL5B0-kjYURb?faIg?j7q};srnLHu6K7rjj
zsffis#C%2Rgo$v->ydr2+48CHM}5o-{+;QHTHQ{Ix2
zx(a(1Mcvkb78z7l&vmi-+o@h{XX?fqRlM<2lU_4^RtYrdo9I*~jNXj$Vct1|75TL^
z43!pw8v>D>l3siPGwR$~_1{g738H{@ff6*;V%oXCzoTxNO6`a;V&u$DdPEcPpTZ$;
zXJUVKIlMU)T?+z_;k~7fuS*GRM&8wzNrq`*L&0f8AjXE#O#i`RWf68fD_6rA$e8mK
zA9+bMjj`FtdnolSX+DU>l`Lo3fU76e5)C{8jibvLjDGIHIfO^El*S*1L^>zgNSOZe
zp)C+A4pRO+cd#2I3BFzdPeE>R2nlgybWW+1)J}6p$?&bVRZAf@Z-!}pTg=?7S(=yE6iBZiifL=+Gp>e
z5zKW)4^yXJSgQL$_-f39I2`4urjMM#%-&b>x|Cj>c~<{SgZKv`vE65$gry1>R}woN
z*VCt4kFsp1g%lqc7S%XT0J}Qimc=qIIqrZ0=Gz5mD=qZ#-o1a$d
zqn)?oyGP6!ig&zr`xp5*M!AAW&Z%I3iUq*GwFP522m^=uN%F4F`4oHm--{r9a^ivQ
zRV`BiFDPU+nfZl?Z(&E#)5HKm*N2|*9#x>zA+zh;mSyif5SgA$(c
z_wH=PzWF;N==Pu692@`rT^U6lsF1GzlWav5?hIX}=5gU!5Y!9<`l6B3x*Vz{*0(}t
zE7=J&7C@M2Nt<5QP~;{p+-h0!VRq7Xv?q=3`dP)KkJB-g33CH27pt${KofE8g_0<+
zZ`QPLrKd_Ad&BL?l@3E`tBTWvs|S`yID^}o)iresmg3j`t75W*Xs!#`r;|c6Ynl%I
zavSHCu`h*tS2Q0-ye)%0J@vDQ?Mee{*?=;4zNDx6sv=XhvR{nXe0-^pvlz1TZ?mWr5`
zA!zJNNc$i`l&z!8x5yN8^o?;fJmS7z`huUEC5m;k4b3OCtc}G$0WTPp;4Ki=G_a%(Y
z!g>Ul4r$2IOrLEKUWkvaEUYWKrlJ;%ba-8xS2f{l4AHc+dURxM{9Vf*`^Wii$8p?v
zL05B}9%_6Iy0QVC%l-ma8v{T6r1J47mC*LB#p-RrWV~{y^$g`z}BYZ7TtjLFaJF
zoU;~)avjDI-^m|B&syP1eoOI9p{7U*z;*O`CS3YH99N?()Qvs>LnXqa(e|X=FSSp_
ztnGa@G6AMnCIo@igW%@h86RS8w*uAEnZZ&3lzGiqa?X%wuG`Q9C;hP6$=eCi+X{AH
ztVJi1^-_I~pqnZzZda7ugzQlM2`A!?uAN`(g7mS7qi!i&2tZNI8+klCZGG-Gxaoba
zObp#j-{(lBvCI1P1^hz-8wK-kC#Qq28t_+y_mYD(yQi2+jm50y)+mai=YcNQDOgP<
zAuDr=Hv$C$hfmKVRbay(!Oy@HzlZ{XWQFyOGtbS;L2_EJ1OYMUO4@#tKm5QiwJujC
zbWMyqogulwbh`G}6iaQW47-Hn>!Z+Yq`+`7(1t|kK97aW;*O`)Xx1L?fg7r$ca1QHPrI+o`aC%%nVbVUVg*in
zRFt@+3o|mzh9z+dc7Zcr8UFt8wne5MRpVZ@U?sBi9JNU^$Elcx-x^esa#6M@E#*6Y
z2oTk`MG?Q?&Bh2fmXe})w8ZPcHek^-K^`(Bla~&_NXq66yO%N6wfp#fYFKM3!{y*)
zZ0WtZ4mp(mD_Wh}@}8?stHSsZqwIBIkwe|gS&lMm(I;FgVgtt78pYK0&3qFJROIf-
zuY7|P@lu^DCv!>7g;v65bCGmPJDFAH#CCkk>CYgws4yU|hx(sT(Abya<;xc7>*4R~
zy59xVhkq)CJ2X=Ve`YSodR{<{*E+Ydw5>De!y(|(bBDRWw;moJoW^ai&KEZ<1n@k@
zNFEzy0Ks$+YdJ|t+J@=sL99}C*%Y~}Bo#aNpCu6|KY$I}HHgbNO4`-%9nq#--=uZ8
z)TR8a*>+&vxCo^u&&SZ?VLnS?UY-R~$pdB>f
zALT>75Zj5(FF%7c-rH^kjMX)=On0kTDq|mzm8+}TKWL4vZ@lBQ%J><@tCDapz@FO5
zP~mciXweYTyIg2MZ&6@ZS@X4h^_!Jly_p6(8gz_Wqh1^RBUP_yRJdwi?6QRvm%7;c
z-Pb12s{xVrpRQo-cJK$~=#iE&(Oa)tE6A
zA;g2$+;m3Gg8@w2lGL0glNB$^HCYkwE3(umC3#bG)(%bZArGfDJz=ZMW>%pfj$Dr6
zDP1F9vcl7cvu=_Gw@QxBgUm9lTqwC_C-{t(+bCRZP>EiwMwK
zrE(p%Xh5qp^JRha`G(c7Wwaa?>NuuRZb#H~a@u9cc20~kvJg(y(!F}^a4DWB@6agE
zxN$(nO;-7C$%^Db#jM#ubaOK4jf~piY)>9xJBF|}7meoDY&&5_$(_D+6M$-T@3GOf
zwBBQR`>7*Lq(hG#F2}j0!U-Gvhu{+197o{`K)HibG(1CYAqIGnGVo{5O0e!Jj8J0P
z8*4GJ(f+6JQh3AgPXbrJ*?Ga$=U0_Rm+FYRkVW!$zv9kU*-6;ev07l%zU6A5$r0?r
zc?r~wMdrSsb&EKI6PZ8z*FW~C;%ag%?`+Tdm@FO|EnYQ|vvCJL%4MIK&j2H2tYt(e
z25^ZedmGdAIxU6r45jW(by3Eij$M?no}&!?XxpMbXan4xpcb=8PBj9jwBe3VnI}Ln
zt@c(%`Zg6^6JD(0`^QK#ZVxxYIATuX7``fuPY1W<1mEuLBy=vyOmxdE|~v9TiY9I+6j1f^+D?v<9qSTg0Zu8
z*ZVBQ!H2RdP4<+o*SkRZP?$#q_W#vqDDel%`yZOTP7f(hxAMFbn#8UC>On95&@hXg
zYoqoX|42x?4>0hb4v)#|H|GM}{}pa_{BJMk{~8PVf0Qefr@lS(z+G%3OFsRACAn0c
zlVXHb*Yvg=QyOyJ^dr41!HUsd?Y*BDh?nR4WkXrukFFEI!tdp1UI3<9wV#gUupRF1
zvyt#LF}_G~mGsJk>!vdr{WkN!XMc6k8v_Vdq)2iebWOIbJCn$C9>Y!CUeR^fJqUUksLv}`0Hm?Qfy6@6^%lWLb%_nA(
zT^xPYd%|`yFK539funD-r&<%67o65?^I?f2PIfq}DpnY?nKxUTh*5V}+}pa+xQ)h>
zoL=Yu$~(J=NACKrc!`k3f9hd
z+g@U6R00xjksnd?>i8>C9?KRauiEFTM6BtEAWmV*kcc
zCcGFZt_;FB*syB?kPO#j6sV}vzaK2>@PH`r}2B`ipm6>rE*McC6zI^
zw}R2h!vwb01`Xt%XdcU!yxw_2EEzrTFMw$b<JQgP!fTERLmxBPI(@*edSNdHm2b*5Evd~m#YshN
z79^dD;#Z|Qk;dxWzHtMlxFrJC-+d}Fgw6s+;U_{rG`jK8Clhd_M?`T}LsrFi4=
zpJgcCj7pXP8^>1~ed5fD+KNYUH%m^waLvXmTmz$0q6qfdYij?ZG&=X(r;~41b#!*ilAUI5otf8wV
zS5}&uwIRFDNy-)i-88rplYN<(LY=B8+5bjg@%Y$#^D+myJO(r_*1a#TQzFHJlte5x
zu=gqIVEW4-0a2>A!IW%%d93L$V)Ac3M^0PcMZ84kG|`?$bi?sE;>uQERhlilI1|s!
zC1>;d*7hhg({~)n-(mQ%8&+MH3sy>TEa}Md;M(z3y)co8$+XXWdmEzOy0B-InD~2$
z&$pxoRLQ?75Go2k|F4MeW2LsYH+B0BpIbSs2bT|J?yLRy-esZ(Nq|7a5!sn0C>>_5
z(e%@SyyDLjBkk9CDVgQr^oD*FZJ3=Ts}Y4cXs>gC3H%(Mdfk2Wo{T8LoGZMLf+D(#
zswRAW3*zomDh}P_73My}im-T=sc%BS@ifYqu2bqTn4+xVh9hRMaL9wOa-}D<9iH&l
z4Bg!ERkPzcY=8QzzQ8T{w=F>%?#poi;;@2R-7y+(X{}A$dAHU4X`1Y@1=p
zGebS@@Bco&@K@cVsbyVpc>L6~T~SLMCKrw1$IAp}9Ax*^s>|ilLeEcoB3)3Rw>RpT
zDffT$a;D)>cYPd}yQplH2#I7FTNqDSN3tY@5uveUn}%YBOvpMED*L`K5i{9_JIfe*
zim@*hiW#zH8H`;G#`E`F_x<92UOlg#cjtFq=X;&==A85Wey(#4Xto*LYp?d{)*!nR
zfMW_UXr2~6LP$MLOIR&z2n|q;GYfAKRZ25gEj2WA(@F#`t7LcaW1JkdYHHfKN6)
z`qXs#ZCcAfsX>3JTv*}U?=VbV=yh}lx~}9Hic3UMB4bOl#rQMDe;}5`bErR!K{$M5
zT+`#)*nehQid{=-Z(Ji@uaHp0SO`qXrAB8nKqCja&UX~&Ta!a8cRTPng__>fI|Vz!5q@fr^D!RLdl2S5ruVWUQum2KhJ2)mT~P)u)yd
z#3b^p!=E*-jJ)%!6B|i9jSDdSHbVu{HUnGlGPzV=
zOT6K8s=Y^KMpTMF@}f;w?y2w5J-iFC;BY+w8Sq|6mfO&>7b@DhBqsNX^=FN$2ZAuaisWVYQ%
zYz?;0@!URsQqP!AwN&e{;l%F#HJ2Jm3FsDSDB#xWj4o#dt|5Vg>l8$H`@4G
z!6XQyQb~_0iTC^{g}*n+LT}R;R`F8c&%EgpVi0~TD~^qN?w3GI&!BFFxWu`YDwJI1
zpDS+;6wsTTt2^dNfm|a8kEE~tXj^g`LFlxOS%PE<)Yezs7FHS4#4HNJtHl#4B%}D<
zwXd5?hpTV(r_)TYD4YG7_s&F)(9WF-e;btmzE(k)N^>T2y3?jv!Hvtu
zh~2PhM09SU?B}`Tz9GN+J6kX`CMAD9P!f)f`tmH%ZD3G(A@3#x%;pg~ks>?n%I}r+
zg%kygAO}Y8g&YJ+)N~|>LZY8&I6F^G8FeZpen~6L2@IsxE4)=O_M|a4u*AD1^P1z?
zhlC_AAztypJSU71&Qhco$(obb9hRFpxR$4;L^!#)(1#CLQ?av@RfG~h);sFMi?4n{
zBu_mhh$@!g%R(cEZ&PkV(%lbbGxRUswg*eDA6#15R9332;5+#kVhA~8+Torcj7q1u
zx?-}+6$M%dj?=tau`gQ>39RP)gB(xgSrzu|lT(NgNAY<@qy*Hg6E7f!{QzV!*j*zq
zBftB&>r^jc%BMv`>brj2vI+9X4=(OHw(bUY(X^8BgNUestjf;^vT-D^VEdUq(jftd
z49LLVRT9;4kX}D1U`WC9w-UI(>d~3@o{KFE_2<2qbBsM8*5>uw2X$mS|ge=yb&9M6R(~XpD0d3`gnESE<66O
zj_%qMRzc>*8FVEyt>`8RpFsWWE|}AnI$MC>Vm>Y!bN7q2k$|Z-sWtn$rsya>vUZr12+l^)9jaTfs!CWXcECwAK
z6C?k6UWOf{AZL!EB@;xz0wvE3ex{tA_dOpGf31*2PYsnIZ$w-Oi5NPr_rXc0NXD?y
z-=1UvS+icHH&t~a)5c29l9?;Tck`dhiaRS$Jg++CHhRZ49SZA`7XnLBV^VH~asCAN
zSm(0$eHwJNHx~UUGw@DISwx;|DB>pU;l=Xkd3X;95*J1pMPBvd+vz>&Bc_$1R)r5J`2l(W?Ta_)RCe#NI!%O$>=|MQZ*qlIWu3iLYl{l3urwoFFxf1w(1=7aq
zEAgezepqnRu28Lf99M!`-^{ep)BASL%T4p%C_LwjwIWsOMU|zw!(ZuwzF%rKQcj_l
zsq9%(-byQmMwM^5XQfOkCI>|{nw?WLfHpJcmxLL9YTCrEasPcN9_}9I^)w@+31R6|+xyt7C$?`Z$grjO8!1g*xtK#S$gau0I_Vy5OQrWKh+;F2UVHb;Pmf0;MbOIk0wQVgH#Kz>c1cwhO^BnKjJY2Ky!wUds
z4B=9>@B=jzv@>%BC~y8=(G7S>0%Ep2ut|u%+k)S
zCB6|n?)NG)%who#0<0)+t8_gTV*__oS6AnY;muq!0Rn#6381R53ukAu>pHs02KRO_
z$^~p|vDCc{K%;M*pLnEwd>R-d?2MWDyIJ58KzydQI1~_nJumGCXbQ2W|IuC#H~ha!
b_qhxdT23%`i){fP|1lZdGSS6rJ3Rk4D>2Xi
literal 0
HcmV?d00001
|