From acdac305e9f3924b7f121f30306e2d83fb9d867f Mon Sep 17 00:00:00 2001 From: "huanqing.shao" Date: Mon, 7 Oct 2019 22:45:02 +0800 Subject: [PATCH] =?UTF-8?q?=E5=AE=B9=E5=99=A8=E7=9A=84=E7=8E=AF=E5=A2=83?= =?UTF-8?q?=E5=8F=98=E9=87=8F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .vuepress/config.js | 30 +++++---- README.md | 5 +- learning/README.md | 3 + learning/k8s-intermediate/container/env.md | 34 +++++++++++ .../images.assets/image-20191007194641973.png | Bin 0 -> 89136 bytes learning/k8s-intermediate/container/images.md | 57 ++++++++++++++++++ 6 files changed, 117 insertions(+), 12 deletions(-) create mode 100644 learning/k8s-intermediate/container/env.md create mode 100644 learning/k8s-intermediate/container/images.assets/image-20191007194641973.png create mode 100644 learning/k8s-intermediate/container/images.md diff --git a/.vuepress/config.js b/.vuepress/config.js index f55c1fd..2640092 100644 --- a/.vuepress/config.js +++ b/.vuepress/config.js @@ -6,7 +6,7 @@ module.exports = { head: [ // ['meta', {name: 'keywords', content: 'Kubernetes教程,Kubernetes安装,K8S教程,K8S安装,Kubernetes管理界面'}], ['link', { rel: 'icon', href: '/favicon.png' }], - ['link', { rel: 'manifest', href: '/manifest.json' }], + // ['link', { rel: 'manifest', href: '/manifest.json' }], ['script', {}, ` var _hmt = _hmt || []; (function() { @@ -38,16 +38,16 @@ module.exports = { return dateFns.format(timestamp, 'YYYY-MM-DD HH:mm:ss') } }, - '@vuepress/pwa': { - serviceWorker: true, - // popupComponent: 'KbSWUpdatePopup', - updatePopup: { - '/': { - message: "Kuboard官网已更新", - buttonText: "点击刷新" - } - } - }, + // '@vuepress/pwa': { + // serviceWorker: true, + // // popupComponent: 'KbSWUpdatePopup', + // updatePopup: { + // '/': { + // message: "Kuboard官网已更新", + // buttonText: "点击刷新" + // } + // } + // }, '@vssue/vuepress-plugin-vssue': { // set `platform` rather than `api` platform: 'github', @@ -261,6 +261,14 @@ module.exports = { 'k8s-bg/architecture/controller', ] }, + { + title: '容器', + collapsable: true, + children: [ + 'k8s-intermediate/container/images', + 'k8s-intermediate/container/env', + ] + }, { title: '工作负载', collapsable: true, diff --git a/README.md b/README.md index d6f6caf..4805f84 100644 --- a/README.md +++ b/README.md @@ -5,7 +5,7 @@ title: Kuboard官网_Kubernetes教程_K8S安装_管理界面 description: Kuboard是一款免费的Kubernetes管理界面_同时该网站还提供Kubernetes安装文档_K8S_部署_入门_免费中文Kubernetes教程_以及在Kubernetes上部署SpringCloud的详细文档 meta: - name: keywords - content: Kubernetes教程,K8S教程,Kubernetes安装,K8S安装 + content: Kubernetes教程,K8S教程,Kubernetes安装,K8S安装,Kubernetes actionText: 在线体验 actionText2: 开始使用 → actionLink2: /overview/ @@ -62,6 +62,9 @@ Kubernetes教程的主要依据是:Kubernetes 官网文档,以及使用 Kubo * 节点 * 集群内通信 * 控制器 + * 容器 + * 容器镜像 + * 容器的环境变量 * 工作负载 * 容器组 - 概述 * 容器组 - 生命周期 diff --git a/learning/README.md b/learning/README.md index 2af500d..c804154 100644 --- a/learning/README.md +++ b/learning/README.md @@ -49,6 +49,9 @@ meta: * [节点](/learning/k8s-bg/architecture/nodes.html) * [集群内通信](/learning/k8s-bg/architecture/com.html) * [控制器](/learning/k8s-bg/architecture/controller.html) + * 容器 + * [容器镜像](/learning/k8s-intermediate/container/images.html) + * [容器的环境变量](/learning/k8s-intermediate/container/env.html) * 工作负载 * [容器组 - 概述](/learning/k8s-intermediate/workload/pod.html) * [容器组 - 生命周期](/learning/k8s-intermediate/workload/pod-lifecycle.html) diff --git a/learning/k8s-intermediate/container/env.md b/learning/k8s-intermediate/container/env.md new file mode 100644 index 0000000..1f196b4 --- /dev/null +++ b/learning/k8s-intermediate/container/env.md @@ -0,0 +1,34 @@ +--- +vssueId: 123 +layout: LearningLayout +description: Kubernetes教程_容器镜像在Kubernetes的Pod中使用容器镜像之前,您必须将其推送到一个镜像仓库(或者使用仓库中已经有的容器镜像)。在 Kubernetes 的 Pod 定义中定义容器时,必须指定容器所使用的镜像,容器中的image字段支持与docker命令一样的语法,包括私有镜像仓库和标签。 +meta: + - name: keywords + content: Kubernetes 教程,K8S 教程,容器环境变量 +--- + +# 容器的环境变量 + +Kubernetes为容器提供了一系列重要的资源: +* 由镜像、一个或多个数据卷合并组成的文件系统 +* 容器自身的信息 +* 集群中其他重要对象的信息 + +## 容器的信息 + +在容器中执行 `hostname` 命令或者在libc 中执行 [gethostname](http://man7.org/linux/man-pages/man2/gethostname.2.html) 函调用,获得的是容器所在 Pod 的名字。 + +Pod 的名字,以及 Pod 所在名称空间可以通过 [downward API](https://kubernetes.io/docs/tasks/inject-data-application/downward-api-volume-expose-pod-information/) 注入到容器的环境变量里。 + +用户也可以为容器自定义环境变量,请参考 [使用ConfigMap配置您的应用程序](/learning/k8s-intermediate/config/config-map.html) + +## 集群的信息 + +在容器创建时,集群中所有的 Service 的连接信息将以环境变量的形式注入到容器中。例如,已创建了一个名为 `Foo` 的 Service,此时再创建任何容器时,该容器将包含如下环境变量: + +``` +FOO_SERVICE_HOST= +FOO_SERVICE_PORT= +``` + +详细信息请参考 [Service-服务发现]](/learning/k8s-intermediate/service/service-details.html#服务发现) diff --git a/learning/k8s-intermediate/container/images.assets/image-20191007194641973.png b/learning/k8s-intermediate/container/images.assets/image-20191007194641973.png new file mode 100644 index 0000000000000000000000000000000000000000..1dfcc1b73f65094c20335b41b4a5759f4e73d133 GIT binary patch literal 89136 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

pHJt%e7rSf4`$ZVxY`$^Q>HS7!~lj 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

+(@qQYt3mMEXGe-&$a zAr!OesKG(CuShfLKG)+a64Y|Lavo=TR`^_v&Z~X4zD)bGEC`Ydq#v76|B+6x;hj5(SvhXVhDg17%Bw4eeG4 z9Rk<&OVA%lyZi4v3MVVM)X3Wb#{&CJ(&bzTlu}L|Ry_~b0h+Ew))!OAQ9(1_Jy|oh zXF^}g38~dMg^G{Pc>h-O5WOAJlhQ{w#}9TSWW@{S52P62H=2!RETZTuF`LMXvN~0b z(2|FrK3zs;F*y%lF%ZwX*}sw7OxrHTaACKHV#q2$uQGLB26>^5SP_&A;6L3=E49QW zp`=%WBOazzl_}i9EZL56ii4)#jIJ^*)hL^XPTlp6+jLPGC5${KKQT?8SSQ;bn!;%)Df+_CtT*HzLdXkCNYRwO&B7|eSO_wcj{vXLw%db^ zK)ydx0CZdg7O}-;!p8;HyOg?}n6CC~ti+QD>dm1{UuaFk3xhlF<~K3@i{rvJ=Mk^H zib^fBgS-3(of>B!7S4=i%=p7^q4JAKx72eXMSsoP2pF>HZ+O3UWLT79WSoZRxp^cX ze4=4QlB;L0qGV-;J9*b7TYEPcjks>uqgHItr88ZWACD*w`oRY3!1CTdKQvxm3$dRy zp3Cf(k4aFVZJy}?xd$|eE!Yjg%A|llL&6Yl3RUz|ToTNHb9UhgM;f7+`_i$1(m^TcqTvp{(Xlz>Wa zpR+GXR_piTaVQ-Z1`lv)m;zJ2a`pDVbEuVh{LAb{rB7OF8dGjjmj zroMx)V=z;4Yl}f>yx^pNgus{C$(tnD#KY3qj2?Eov!luPEeg?{S9fX`%%;s7R z!T-Jsc1l4JY%>>!X5d^8De#y6D!XIZ4Z3b{iGigV;4X)@IoG9G!ce zq74!ezQ(uM3A{!i`Bw}Lzd*650`$V69xIjoy)^3>!k z*65WXtc;HUzwR7XNZhexO()s2@q416K&o1f82!bh_@COqUrGjV5sU)@U`9X&%m^%I z$F51IQX;9tmdNUWbEV(Mwr{YkSooo-U#bqSLXQ{`9$k{2jJD11|8?3zl7e`wuk^_n z?_z|Y+PFQ*FOmoWVK zuOt<`MruRe?hxPRgd|6(@-6v^Y?jD(hq$z7frS0yB}mv0))#s9Qv2tJ-D;W53I01S zRQM3{k8UJRfLyVjx@n-{_nVGsa7suRP_{^UK)t)Zy8j2nc?$y-AocIJ$JX4f0{9XP zu+D(05JEi^$>529bLLRtMf3wG{EVIa_U;j)*gYv>F!+oZrMkcx}nzH1Vz{=*xu>q|2!f@!5 z1aR*9IN(Bqle`AaN-ScIuu_kE%P0O)8+J;PHkVR2H!L?Y{{=b!eYyiQhzEu4x?e=Z zbVCNT3$-G_N4ypJ@(ueu(hR&r6c9w2T_;`SH&H7TOYn1QWE+#!Por{X68a zQD=btCnK+nBO@{_xPOg+>x}=M(OU<8|9daha*qtuHoJ+lyvuj@xRVdSg?Lgd5`Idw z@!UoP=;Oa(i&D-WW{bd7XIW1Dzk~Dl?=RFL9<;iAm2WsLL*9G~sDzES*SA0Ql-vPs zp8p0P_IFT)aWnt#lmCf~l#6BvH!>|*9bFT5k4pt8(I*kOsUMyl8}0wk^@_LbBbXa4 z@pD_KCB(F4k>QBk{IAWmZDY23go+0B{wlK@j;$#{e)<+ z(B!@rk<5P^Z@s*y;ChrmjPPYuFTpE zMgd7r{m5e&SD*_`=!Vo{x+2VWwFg@<@sDg`@fbndZBt3@<`}d5sSq`_SkbgCO$shh1Q1q?$~hQ_EeURMzv*x5j8(ez2koLp2oUv_WFgNc%KX%= zC;N@($v^VYC%3bh`|p+fjvK&`QE- z8Wc@>DD;S(a1PvlVRfE&~we%r}xF5dT*{% zgak$(+1O-B`JrHE0Pi23p5s5O$c>+H^NeLw5}#Ag7Khnt@XWPDLH4s<U=%oyJgVrAwpIt22Jqh-AuU#u*`VTocEOjjhX1`tX9qE zlL?_pL8=dU`m+b3~{Vd^XBGE?p6 zsJska+Rm+)N548#dR%S`OW^fLJrH-Syrs__e^`kE-BNXdrpX0Sxx;T_M@`TY$FI!z zaPTU@UZKb=_Mc}5bY%pbeSTx4DD<=EOqwq|?~g;8-1qeWt-0~0OtDa1sq$fLjT?hi z<0>X*(mhX8{C%Zpj&O2f;*N}rj3A|s+hHb;>@m7|^ZlKxTD4_kAg-WhC2F}rXYg*8 zW@X-(6ak=uJw`AmU^#>yqy_BeULzH9QuE9o3Et>NL&FW6k~@>Fba&JhQgxSD%e zLl;|KL3c_^=|uNqfbD+QC$y*I6}Lx0rVE{cP|>#bw#TWN1C;VOHBEQgY)^iSx z27ab3#kE(a(5=mE{f&|(mtFW;?UC!#ZJH8%=bght+tnzQ*rU$l(|#@;f*?U$3*h@Q zUc8X%;}OelF)dXHX^PIspmaKQ#`{&hZ?Sd*^kC6|Ay{{eZZcIC#p>G0c6oR0M@6UG zF8^U&W@1`8_V}%s*qSjttbXYh0vEmagg|gw6`xV7O7oErx8h#?In&6{+Etq+XtD^{ zvtt)dcN@J5OkmoyDGR)jX7>Qbk6^cTNFPFp?ucmy{AXM|G1Uw%2j> zh4<+y^Bm&P~AvQHmBB^n4N@zm7! zD88C?DPQ9VuU_yN9KCH>B!g85GeC!_wZwnYS9D`ofNk2JcU5{oL=_TDl<%`JVLRak zFDCbc;0iSI?1`jh2EsPBRsZc`mGb%zd-nu2Yd6OOQCgeF)dpzekBK_j#SSQQ0*=14A28r~cNo zSrI2zt9f^{OkUF6<@(P&ze}l94z)(pO4^x5SFX$35NybY(}Hr|yyt?`S^+_T^dVj+ z!%KoEAkiUon1PVrVR&_NK4yR9*gg?Wzr#wF_FY##AwK>if_ZF`o>slqj7JY`wnV!> zDo`~t+r_2>)lk%2-5Ex_hi|52%of67MjK~(SJCT)gO9p1RTey31%Q&B=K>-$ zaEpNJ*rMqOi4v?njZqj2K#Mx%TH)% zF^95(j3I&eOm>mzRDq z_Ut&&55xERU*qFn=g&8~su0b1h7s{O#hqZ&d%!w{&X2Mg?&#SD2OpyU_!T^n-AIO& zl0fRPJvtr}ksrh&Xx{bdX!0WaqJCPhFaV_gDX0ci&QIg)R-)|`NImmx`6~<~CgpveW)_?u=RphaCvT2pY#qPv{ zzE6>whkYMzM3c)Y-5BYOK6}-*{oG6TTr>OK<9Lqz{&mSDhF1smsuR!<&)+1l{*8Td zuRw>PSC!L4K9q_D#$R966Xrp-t>`u5QIQO40=VF>f4%MOUN()7RcXVF_ww3fTy-){1f?OFDn62-9or4~4VoTMQl_T>E1Gq}2D>vu7qIhm_J#|>GI z(Q+vj&&yfnXP*T2RY!F{I;N2;DClp6M{vpr=3E?=!QZz?xw zP1Af&*Fd%t3Dt3DjLAK#4@Q~c7@b<>)I$03&x%56?F(b$#p<%>=;&1Dr)TPQvaM=4 zSe}6~?Y3~g#@(MiM{^UVA$022azd4RRgi>X?}dt$O!nHp4q3$6A4-f+)k*9*8+*1y z7!h|UTjM*8T$hDs=Ca^+j4G}O|J(r$$Z^l7ISMq0xhxBEu_hdO^ULc!j3|rTploC! z(?a*6c`SHqg0dVUW#uPf&inHd5|Ub2Njf=M#O)Z1&bzBI+Vavr)_J}TChrc1Y8I@W z48SojqsJG1xd=^T;-nA@4v*(B&7nv(=)i=_3IlB_YvV(TL+Oj_)Qg(7=xTS$BvEOM z+&eLg-=}BEFzE$xUUiZjr7mSdQgI zVcZ>he&`NQ3GydeOL?JCYm0sC$=G}aYwNz4fMA-h_ZF!Uy@W(%x7cNl1@-6tS0m%0 z)TWl1i;nhSYJp=Lk8`ct%=hh&c*ug=ev$yda zO*!Jk)u4T;il6fggUxZ;mb+-7GWQ|$6k+=%wm&JG%`oL$)i#!vkXxbs=J3y(^A_F;o)ph4vr)%xNxIK>7bE0Q z>jP5kVZL}bDSu$)Li63Sb-9ee8ZZlS6_GxOqxEoLz(7mJfy z(e-S~NJ?j?a_G0v_ms5P#GHmpX#6ay)s)-1+WNwuJ4Mmjt|gf_@y|__GF+?o&W81P z_vRZV7Y~Wx$B~eR;3y`Iyt(&4%(1&Xo3XM(nskOA{{FN31^I&ec_EMEhIQ7>Q7^OU z*V@ie_-|h67$szyI=0=JwN*@?enNb=eSCM`eDknvPHkDi#lHj!buF6e?`C7gFD--< z4lo}W)H^ZLJ%$^x@Bn+tXB6;(vbg8w+|_TLym>gs-)elo)gyx-Xcg#)dHG?AC~1-V z==R1(=w0}Hssug+<(aYACBKq+bow}&9|Mi+FB_{|-gGxvZI4rj+WYx>>0O~*h2FDW zEoDL6`-uWABR5UL_CmEkR%&1gf`kiO<}wJg2%`h_t9KsRr0E%%UwOF$uXhU~e6m(? zYeJCJ@K2sY^hY&E#XpFbX#PZE769;j8uTphm93jDDEbyPy z*xU95>g}|?G?6KeR`%eW_2fd&82HbAy>(!8$R_M|%74^sF~doX8gC+XAomphcGsrJ zjNBOWspkh&uAW!A#i<&f1rAz-9nOwJZ!(z46Vs~8cE4|beN6ECcTfJ*U1i7edG!L5 z9NVeFY;bqUBZBQb0Aa2?aJYE%6zEq5ZRjIQliNHmmRz0Y1+}Q*WOq9WK+0fMz5uPZ zoC{PEj-X~Lcd$C0Uiamf>hQdEsIA8x-_zT-Mw&z#DBBYWgw-aHyeV(5MO&^mdZOs! zxV7boC3wnimz&(L^_$gmx!YT=_rqNG2=p0}LxaseJbZX;j@0bzU1z&$>JC+F-3df5 zT3fYt^GB2rtVH0!UWiv2XGs0^2C>2e^zP3_M zf@_=C*SFK7T!EKdeJ$Df-IqgTpHBUjJhLQR(NypC4eGUtCy5ACgF5#Wz#eXA_n!io zx7Q!lAvNlOzE-Wgf%n11mp#;=)B0q1pOqx1GZkr@oL_Qni8yWQ@49TUqq%zL&S%Xk zew=S<+%t^v3!dMIF6TTt)&2gAfPg-Vjw%-UaRrh}j@(?Cfn<3yflRxu@>7K^Nv7H# zv-ptlh&rb#Bd^z0eGC&nkfB4t{<&YAzdi4leor_k#GKvo_`?%s6uNEVaimYg&ceOx z^B!B#8g{(PtbS;ot@>A$6WR*Q+Y1D((4KG1@z+xE{8N!Fj@p+G&2=91Zx5xtrc4uQ zpuLJMLJTl6uK>HC2@&+lnQ#ZtbzMqArBFR{yG(^3Kvy;4bK?(b!#?MQ z+4=a-%Lox4%oF@|Y3kNiaGS=9w3eS2l{(;xINaW^F?t0hG4LH9-UCiW)!IF3l}S0g zflUy{eZ?mKqvzhGA+^ydPu!iYbsc5{T=-Uh#sn$jNV~v<()~&*8@(g@QjhPiwn@sF z9n{t9plM%Afj&N~r?48dq+|6!g&Kzj60;2?E^m9Ba^GEG$!-szw`TxOa;u|`HKqSh zsUG5T#SXDUxTC*ml;{1jY=q!$e|0~%!_}rmKaYn{N1*%ck3;fm&@ucfyrNQb;@Z?3 zs}cqgu5PidJaOnlmR(fMM-4FJvv=q47%Vuu`P$2@6m(V}P>uUd5&lMgS>Zvw4k;)J zTmvU*Sv%CLM-~?*Tj?w50QU~tiXtTLq17c&y!opNj06M~^t!KmQ9j^6@Y>j9h2q*r zr|xvPvpZ|I%*7hHo%YPbQw?hFn_O3WnVTcCmC!Bc8{&#a9OFjQ;Km2<_SGghHH;j0 zGKjm1*|wo!=QqcLc!h1>e|~eIFEYyXM;S+&d|IGV{8*YW0$UayB$+@n_}Py28T+*P zZu|BAAj`y5G4Sz-Wh}G48~OgmG*7#evFketsMNew4u-S%!nWwv;&o^E+Yz{zbRa+F zx73sW>|RHMn^zq=Eddl^-!7psdE9%o@31tnf~^?As~{ zfxR>Xp$2QBGX!L2`N2PJn-ck#108GeZBLb$B&i0U7=P^);GIr-!gvhyG00W6zL}Wg zW-~*%%W+^0SViqv0&WfShO6Aaoh(K_r|}G1`_yT>*n}UF$v0kwm7@Ew_?p~!`Y3Q{ zh746o8u8?h#95+NiH{a%Cp-6v_5X@bocZx(P?jb7^{*=*uYa@#K$r-Uwq!IySFRWp zw7lfj_%>+PGNGA$X%zMuVtHnP8tw-@)8Zv;Nrx?DELQVw%VhZD>^knZL9@0asNN%&^5Y78+I;m7U(IN=^v*4# zs*bNbadi8{Wi#l-uj)c1*)rLQT|~G0fTS<>ocV5wOab9Q zdo?E`oHT*sKp1Z?3tykEE<~#9UdyIhSkD#&Mlm#pxk7jC`l9A-U;LC!h!CyH=9SvD z5At)uNik%fQQ)1qrR;^1_o-uGtMMLfxdcN4LcQU!b@1YL{v-}2PBm<}gfS^vefB9u zW4d+sSF~}?o)G51%*XzLXP%LHd*PJOZ|DQ3AifpMIgg%%&6j7{9lV@_L)H6*d2e`U zxYOc5u~=<6Au5UyxbI9L?@nc1@a;F5jYF0ZrV+PE`^Gt5C1qhhD-m?QTH4J(p))&9 zTQyIkoBJ(Q+OfkRuQM?&LerfX(N%7;%*XZA*K-|rIH_A+uw zfPArUdTu>A#k?xObnHlx<9d#4BzusBc}bTH{u{P)pvOiU;)>i6+2!wE=-Phkj5987 z7oqqX{=!2!`hm(MRyZ~Zi zJ{9;BS)@WZA?)kbv$l50Kdl;Av%k<*p&vhSM6ENb!!8mS+2t9>Y?XVRy)eAq{N&0r z*z@eP*h@|+Bu*2$-g(?QF00CmUSQ^QD8FaOLC~qL;afeXrUVE)+tJQieLM)q`J-eL z5wf*zZ!)&8Jh|nhWF$Btmr1wRakhUin=szT9}gH{j7GxuQhP}ff!E1V?eQdMYkNIM zOks93;sy5u1WWFy<0k;5V1sb6&lGA@j|-F&bDiGp$_j(!q;j-dOEAWS9}bA=g2nOF#!A83&`1V_rnlg7OVh zcCu}m_@}Xl>@%FgdUK~GNlHI5n6YhNu`+w4l&5!kek9f6_!4 zZAF+$7@kiq#f^5C%lB8CZ%qxwOi*hcd`dVHdIqgj3<7kadA$LuBe|{2c>3_YOn@TG z_TAO?Lr_qmqk9=3guL^1zqZ3OpUJZXK7PNKxn7j1{^aAb-@WIctUQgo!;g{I6^w&_ z5XgTvm-B#`zTWT814Gn+h1wmcjZPJ9=aGy%3@3ZQ%Lvx`@qfRjwNjC;tRA{7ka=ly z^sKVS_(itylvce{FW5kzhSFAyqe!Sy%&h%zkEYW zpr8ymUP1gqhYuMED8up&?|%2z9xd&J^jBGfd_+kany-1v^3TEw;{Ll-UC67t{W7!V zRiEDHs%^@C>D6fb=o(rK%l^bLLM-ouHmSn9*99> z_d`HvU?IUBaU{bf>f)n0YCgb}f!kw3^={ZCAlU5K^Ta>lY{vTR>e149T-{DkuH_oh zzmM9n{5@}E#ywUHl9}|!s369%W`_h8S`l7)15$8Lj9v3fBvQ@S=(jiDYKJSj#d%5q zL;EVoIw^gL|6ibz6rO}!7|Vvl1=k$q546kyZ{E(~dB=4$c2k@wcDhxEcIH@)b~ER6 z%DkmfD)`@RL2?G-hX;4faPY7#l_4Z(tahrVG~M8Mjj_yZ!tzT9b8+&P+1eyx6Z?6J z`+t-GZ!B>y$k~^SepeVWD~ycZa<^A$Ht{kAvqr#5{6Ewe{&isFMtyMT;Qvb`XfQ3;T+?f7iGRPMDA&DL$Hs)u8v{Y~%w>!uQornCEsz zcD*e0mY>;PmHf&ex4Fd{dtqg88y#N2LRM=aAvL2hmt3OrwV6*VAkofQG z0TsC6-xf_8SXK?7N4dzgrt#d+ulhzt>k>wPq@kf+o> z7HHRZv+;ED9K8?rMv!^tUBAD@TxmA;lKFk7z+HyEp<%p6wNQG}tlKiGe351#FabFc za+YgHH*jVG9MYD0las!am^j(&%Hut12cl4&VzFuhr zh^YZCnfI_rs#s-DcziVVHmCXFG*t!#$tv!z^!NZ(0O-Z7`0%e+ALmK%Pz z-+h0xw<0qyMID9kvYW?^dcVqP!F_?N0hE9225*a3hrGQ}yGGha!i%>=Jv^GWB{?H7Ys6M z0i;=*YboWjxy_AVdKF)FvglY3b=*)4THD_ASloCA5NCScuDknuZ1}jk-xG9`7C@4Y zg+W70LGcN=ValG2j(94&f--S7!138XqyVeKBqr^KjOoU+tAs789W&3A*XKePNJRY3 zsw84nBEo+UgD@&7Dax6WrZ2lkiIBt96HtOkRQ>EukqD#!K2`vIa!dxtc;V_(pg6Ge~` z-Va^`k%ZdX*=@lsPy)r>%GIXP+K7rWwCp@?Z4c z0pLVN@tTLE?EN8gMIhsRiRm{a@9B4N687uCg`2kK5TcOJiW)0#YKwwYW=aQW847sj zY>(|vF;5Gt7nWS>p@N(PA2-W@_e;cUt3GG~=-~3bsn~`0S3jGj{B_F_>SIpLew*fd z=qB^l!!4Q=_gDAl1I=AunyDGYuiDMk-_4$vVY zsg79IxpUbnjYic$bM4n>o3F{pf=0dF+}t7)E-q~Jz7pXo?_ptJMD|60@q+U-ZCBm} za>vk=6z1CcdU}KF{Nm=cPGa}i=?W8RWMt%%Hp${VkJMDB&0)3LsQnpFFXE)z(9C;5 zcNYx7^})^;ZwR7y2;K%&j7o~YrUO9bNByFfi5bo= zz}0g>18vsCY5QgQ@7|SuXj|^;?fo`hq){BXO)OBC%lTPiueX`Ts`1jL)IBj#N@9sg zne5?zb3BNYR5m-R;fb@cNNQO^mb78@Uh5W{!I7w=T4S5tD%10AY?QODvF%7nQaV1z z9pT>STT`1&e?JN?<`{g=C-OaKJxck7R~wzm+m+j#If(f!Esp>VnJHQD?!<1aNj#!s zG*Za?Y3a1=OOezn46onAd2bZHK@?^NWCuEJkQN;ibabC``@g?G+@$HAnfYdIHI9k< z>>UP;>}J7qTVA2TP|IE3?GfiwhZJMS?ok37FR-7I{zs&aSc^wbd=D|mfF-?oLJULlYAb2epN^|e?q z;ee<3+)SG4ebq;7##@70p0h{wDeJx86o0nZK; zv-#cvSNt+gu|jr`+`W3ViMfONeSS%({ETLZL|<=5qWrFQPG@LbTy7+Yxi0fZ=vmt> zSY{>Ulfj?C9A2fcraOXgpuD7KH`onJRuU#Ix_th#+i|}7P%tWLTeHYjL#;FNY8V+e zj>6)a^=_Ur(@-Ho>{N2U#HUjAn%5`Yv%XATz;2C^-S!8IBpRSZrE{1~{7U4~RSdz*Lj%Odb?3c`!_}Sqn~x3$i{9*8{ut4MC2kbaAAH%3~DKhlB+6We8DA7B)43CLtarCl$KU$+lM@11m9iPzN(q%OpGulw#dWEUdP3i z!+n}BI1<@=T4vGZP6zYh41AMTi3`K;%3{~E4VefUX=^WxUUWaU02{xF34+m zF&qQCWg%Woog0i|#!?dv7!!>cOD>8(tzOSj&=@fw_zD{!Z!7?7E};&4gX^eU@Zr{) zkf*u2d`y;jwcucp#c8a`+W$w{TLwhAcHhH-AP7>@Eg;gMNJ~jdcehA0ba#q$NOyO~ z&?N%WokPP=Lr6FLZ#?Hb&w1Y8r}rZRb8}y{uN`ZxZNceyI2~7ZQLc)lcXmUx3n}2d zy1CJaONiBIG_TvG;c76DkWqH^@PMbLriq*Hndwb{e@YxXFGm0GNi#(tk?aJUq}i~o zu<8PfW{w1x6Zpf$x;UanNtYiVKauj()=v@xHxkyy!GWyvBKLs0_D*ed`#YT-bR+S{tt3eO zeDdHI%~OU0<&=qxTiUJOuF%C+AbR^pe7 zG{c*Z6^kH{eV;E^vv+-WOJ1l}K{g4Nu?Wq!C}Mj(IP8kDyJ5Hn4ui3Zbs3XPaz!e?U z9Q2{}WY}Ao@Y?O*Dq$yj4nxsR>>0yN*2bFRZ9%R<*DLdxa;9Yb?>{h!y8BCt1-*!i zLvl~4fT`6$2x~{`anQJtXa!!sEd%7x~p=i_fwHwE6D(Ycxwkovk>fGJ!c5H4E=&F^MDjZDC|HyBXE zrW8oO2v0zi-z@Pjy5+#>Vt#ZHl&O4o8zNQKZSpLDZBrcW(?vU*$Hy3_susSN`}ol= zf$un3X7LF>0s|Y)`u4VcKP6f>SUl2--jqX)R6Ijr*A z+pprQt$-+S3?tO576Q)wkz%rtt34uB%u>?Ac91s}H&ro-`e<4Er7}yGzaF1c?E^=> zkQ9MLtdnDnW9e6zRCS^>qUCc6a5jOK)F1a&-W9%~Kwm<@vTn8+X{Tv-c8%Zp_b3If zere__y}V|Jom|GAL+{^M;Q)pVkp(tagLHRs_b|r5(k=)%)=oio*V4Im?1$Z;@M<8m zX@W&Siac+eaBv7dv9w*5R_o@3CnVr&Ic4jUl>!wK;571Y(`cVFSsSX8r#93vN2 zk^meY`CjBn7er!C`ZAIA`PqRS5|H+#n2BonkUhErGbQjX%myNOL`2z*y?}bBb6hrv z`}h<|Nv`LrnCFA%h5Aru4&E)Sx)AKHj*hx~^ZdOjn z_^-|G+>8qHJD9+sR&n&(O*xTNWyh!27kK~xQL_&6vQ1@(@Z#h|1hN8q4dXVov*Y}f+O5!E- z5TlNT1?`=Dv+rg@^Jfm!M<_tcT2YPTGg*MlnhywQD-7Tm{v@ZQ)y&|EYxtd3(WPQN)akJ?FO|xZ9pgeJU^HUcm zYu{^JKWH?|stp6zrLQEW4J{%uhU9#58JQPImH?yUj8}*D{fCUp`(8YvlxH!x@W6?S z{r&{z-)|T0F6rf^`woWC^lmBAp(%Ayt%)#xPP5+2-ww|EvJ)vJ9JPGa+v6I8emn8# zRboN7>H1=mW7d0&qy#K=_g ztioyh@hRj9;cZZZdUI9FZ6B)cw!QZGN_Kf3op5>g=UlOVWi0+j1}H{7#00UHoC)w} zE1^ibccT`~-Cj*E%pMni7Y}aTQ@9{p%gcDp9rXbFDn5t?lXZ!6bSbfd*$?0KdATEu zv-;-Zqn$|}?n%PCi#h*Zfp5aDAz>>nq-d3 zr#F`&p7a1L3no=79WQn*2rR3DhWU%E7n~9PZ#gnA{NIuFn2@q6Y4*yiljB{IV@J-h zjG)-NldIKpl8{fdna;hqW%v;XKXQ(@MGs6C?~G9e`VVwcMU{AXCMMCDC!y_xlMU&? zO#6itlEaj{SZgAOGOQOh+w#mqb5X*}OKY+gvQP!%^5A>622)-+#)16daOqPUay5IT zxZ7q*%E*HqjY(^>MUOg~gdQ**iH#ZBfWpN<74Nm1HS?WK%H1Jnlgq}IWm~?8jK^w% zU@gs?NMi@PEbqXr(a0L!LL;AG*`N5MgI7tlTklRLef;rHcC0pU_eR&W@2lPgwWS}( z>JVvoU#M*1UMgW3<8G@a>k7li-#jB%0@f&Z$n~T)E8Ao2mE%qJO9{Yflutm8Jxn;^ z!R`!~6hI&h%C^?;;n6X+402lxTFPG1)mrz8!2`nPbL`OzxOF_U_1-1E9`$^>9e#(l zUGN+8N!rAou*T?JB!t*zEfyBJ-Q{+2zWZ6rf$P~yAC}J+rw#9N`Z5yw{eGYa&KKzN zvG)>7-V_oK+UI?bi9s%355geN>k^Mpl$XymcYebf<8|#yc($_`DkPjze0P?a$wn@K zl~rR-JR;@PDY^jW^%)Uuj@H_jAAaGI;6xhccs(yz_Ej?fqHb|*w25gPJf0W*-t{+2 z!M+qS#OYUxOGszcfa~c9(=^`6i3Bf7dCji>)yA>M!wH>-?1l)-(u&weU1R7`J@%Eu zYvzp46AI#|*Vnw)Hq}UuC{FocU*^I1UPCL%Mi1Ir`|ADWr6&Wl!YlG6@8ZYFwltT( zc@8Nv@y#sMQUDGRtrPliVmIrGova-aQc z>K}?0da?wmqUQDPPir+%UfjHEg>9UTcq_x>}3GtfIz17H8V#< z9KNb~ggWj7mg>B9qid7mc$o!#dW|#RDSMY{!C1|l)6h)o@3%dkXVGVl)2^+pWm>kd zf^r6Mw{t*b%y$!=?^-@oT9Lu_4*YW>@A1DV`QS6mw&OeJcpJ$ud-6_&;|&Jbfxxv* zgkIe=p5G;&?}!``BAzbT;Fs8g$v$%1b1XyZ;LDTD+pw9k@Y<&||8 zotovey&Ug*gW;cIl4Rdz-}I94fZR!ROiINGBZ@?4c3Lcf@S?C8Aq+!o-Ysw7R2b)g zuu1y+_yv~b*?upad-9zH&Q_}T3J z!;wwl_z9C?`SqwC>ZUB1=gILgE&VPdy9Hh`L8oX7<=R0+rlH!FW@!atM9IYL?rFgX zdsCqg2*nKa6OL{rJ%eW|bO{=8gP-}hC*?|xHLOz1TQ1;O9Q0l~@`< zahh`qOzU~K={`eii}m%a`jF65-`WIIm%QjM&YnZD1 zxKn03+n}(6L}%E_{2m-v`{;kCJUM{FY^{?ikrZyNN-Hms&>HMxmTK&A`7kGfKC^|n zP?;sG38ofBs%N8>7UZ^?s}9T~Ff4kWU6FJ}rg!TGdzYOCb6Kf z$?aAt&MtK|l?!*3sL5)vR~}3(RWYcl=Dv+>B`1e;RP3Fr%}`D*Uuzq7TH6i;9Tq;b!_xmITKa;)NB+@5Q+?n)t=mJv($Yfjo&zTx>av z5ehKVbSQy1k%Re#mG(KA&6()LSsqlOfIRG>qDn!N3HB}1Ey@FrPGq3BLobbkIY%PAHmXx^R_H1hM(J1g4^ z()OAK@DKOjtk|G9?YEKGIRO^y@$6{8yKGOPRC_&9y%G`~yR^&8HB{eMQ_SH}M8``O z*C^1A1{2#PE(m7zqSsND;p|GHgI z(Nh9Cb11#>3z#`=40!ZB{RBj046!%gvGYte6?OUJhv`6lxP0Vt)&sjbyN?ED5h3gX z6~UP`x<-lL)wSVw>+1?x2CWE}#WR0qFZ_ALWYgY8kKLu&;1=!D!z-~sqOGC}`=9pZ z#qWd_7Q87kG}&$FIU}7u%GREEe56<}CJJ6ZRU$NwuyFx%f*RiERE1oJ)O#4uOS(y&qwI|DUA`d`iG zuc6-_FG@vt+1T%Dg6Ri)dX|{(7q4PfPM3_g6=PKben;8S0>dIn?WmJ4Tz@&y z*Tt^K6dkl~P{eDw@9A@*8P?aylJcTG;$=hnLqfqO#gltUppWY!ngJ0 zzowYE)VGj^IaU7&eUx$G77QKq85@_CaaDH2|Meg0LIuO?^(_|i_(tPZ3oiax8=)2R z=dn%|bY%zTkqkF~0{?$T%k>Nn*k)2c=rHQ2qoeJB|6T0wvtVEBUwlgU-zo8(|Jad* zYq{=U{!Zrub9idt<75Q;9FZAH&*Z-ASO4c}emKX5%ocoS~C0G?pO26$Rg@Agf%DAxZB@~>qCP8`qUu~b_$lal+( zy!|ulea{WnrMHwdkckZ(|I9O_ozn%bp+j9eCM)eGkZwYB8t$?`MDg zfp4-{$109x6~R<(MN}A2Uj)J1$rVFp^oIYv)?)DJ1^UEDERPZR|BU<35A1!O(~& z(#_$py#M?F0(4HieOG5a6QQlMsH_1H@O}*qrGok5BKfZa#Fn{2#3I37CabHfA1Np( zimwK|Jp;9M7PiakmtMza@Vdqvc(1@+_i9-y3yhp4{Ps^cxrSQ|1x&&b2ut0 zUUguj?Rt+>Nx?`%60=T|a%nk`3O-$Z;FpJ1h6o&OkSmiPww=hi*$->g0+b~4@!aQm zd3j3a<{^?fM*&CcK#>Yx&rO1E7J&E?)l21_!8k_&u%uMQ-M&g*$Kg_I%98uT)9XX; zdl?`f!pIR3f>Wwhuc|R+Z)X>)(rz{(?^U%T3E)O4CxPc`G}${l7a);)e1b-j@%6Ky z4YDvf_yf9zMfN;iw*--{e0;aREp@21D1e&6cn!+0F7^!RH{XeBmUgkRIaDjV(3p2krz`d=0R*vh@-kvWdEq`5fnEPRB!8Mmv0; zs%W^laNXU7bM6#S3uu;3pY0w^NYNd?(#oNcOR}8$(cQRhK*PosyX1Yy2XrIMQ|tk{ z4Tu}|gc+mSy3hCGodAil(a9pE$$Jo_Rt2D*UI6M;_u+tu<)nhaE)IC++j&$Ywq z4^h#fWdR>!f!nv;J>7Hzwk4`eQ(7Y74lpptVfd}d2R^>Ehzu^-67L5cPJ?=LmONxF z6t1yaGwi0rwi|#O!{7j8s;@q~@bbeYu-l!aYjW**5jX7(MB`&rk%RdFfF8TOIX5ML zS%jaTzxX=eY+}2rm%KpW;fkd{};dHq@$fW=eMYE27|%6 zSdf`t;!Fda8x2xaLqJ@uogUKe-9FE}g-_VmM`zA|GoB})H7}QL>6N5UM{BYM^vS9X z(DN{Ly*;9F7(c+16kt5WXGyLovkFLHq!J5z-6DvI^_ZJ@`3tJ00jkv|t{@n$;Am<~X<_S}LDw-9huOa#VjZtA4C(JxKw5zWeE-ffp_ z@4;_4Gi?ofk6U0vl4Ig-JJouot3MEN2nj_2;fK!_c3OUQ1ge*KOq%2Ck$nALD(2gmE}sBnbVVdqL3k`J@@*P5Fnz+(+c}kKKp+E4d#n>-aC= zexj4{ei~{2olX5KA@3c{^*K!3+x-mJFq*nmzY|`w@;8!H8=00|*mW^WokV`&jElJ7Xij zBGdO(i*Mm~o!w%I8jF#RIHM1+PK60C3x!iwR>bf|o~&2B2K@Q|I9q?s7A=b}PnkYd z3@5)P<|;9KXbB#^nwrs(19X4tlj%hM9+4Ld)71_Q^Z*Uh@erzn#acsF)P8#` zC5yfIRtTM}Bvfp-L2xM!t zSk*Zpv8?!5B$D5b4|wOXxT2qLk8zGS*cx&_R44m~-;d&1m%@m0EDFum~Hv>!e$&nKec zv4%)1rD?Fl_k1>k9|-ItB%o#Q2R?eb4#LuLn|JlN0s;cN69pA+MYiXA8dB`@pUFvW zh7~EEQ^@-xuY5pdiSFnSEKyi}z`t*=vs#=lUf}Sj!~I5_)#`xx7L(=2%9-CGKd*%( zc8e+MrVBRD=w~xfp6tIIbH`}G9XTb(=ufNM-nV@PwZ=n4P@#JQB((SagiZrM%QyVV z>*;SiUK`t3ZUG7X$()DoJWjU_nkhiTsrH;@)zX!`ny;F4paQwHO~=xS+2p2-nV()U z08pmScj!QVF^J7dBnX`}|HEOE79x(nklCT{MKDczZfi?vg2FQlLi0YMD>AlUEenZx zmGIBi0|6F(?sRicsyQ-aTVh7}7VkQ>;OEcTD3!(z8RG7PLtg`etSNXq++AI^TN9mCs$AvsbNh9^4^bhe?UOH5hp54#B=vnXs27OQ90OjbxRY+l#q_iTEfz@PT! zf{+UTG4b>2(X14L0018IY6$<`BsoCgAeYA~0pV6SFT1J%05=Gjso6N=3;qFh0DGmd zaLPDPUd{H4mPvdY(YB>;kl}Gn$ai#UxJ#>ELv)g##r2Rd)76&7G&7Mes}w>OJ7XXm zG}e50S<*PIZZco^og| zalPZ67#TU0)(ezB6KaD4|NHe-upy6NRF708Akm@=U1b_C)8dT#3h%l0^Ld=?IswKO z7Xf9gnRK)dHIeWATU>-rv?KVk(mGfIi=Nd{gF@Od&{9?tM`_rWQJQ^hV7=2W!geRY z$xTmucC$u&yi*F1?J7n3dhd-hk6jX~I)^A!Au}PE2O*9RN=;qjBl{D#b+YSzD+YxY zB9EguB9g9#fADlM+2sO_shmFG*>iXdO^t5{`qv$hjmP(C_MsT*1lf$?MI<@Yc0c6){=;7=@SqM7douQ)Wze(OhY56h>r=tbmh z4t1H%R<4E&0j%62?+3W}AUj^0uAw?!`1+ZC`ZgPtdX>r`9L;O2jv?ClvPJbbW)$*D z$SZ-!s+4Hw*lYvCP-ek)zBvrv;7L}DcW zR)pp9j>CA6!13V+f8Je23ab%HU|?We$g_*5rB*)bIGQ$*FEB9Fdg-KsXKp5AnPQhl ztnG3Tk?i`ud$VT{=-=-w5T%JbJ2>b24uzCXCs{6>zrC%_w@dA2x!4#ja>))jg?F>I zh~Ozp;b|Jx39Y8xm4s`o^h%GHVLQZgCYsN-G-}PaiMIXkI&?oLAbT33HeL6UF(od; zT9>6U*B*#eh)2TjQ#FqiHKKriu45$?_bPmql$2MgoDaihHHfZ^6&m4<;RXhqyqhna z=^QfJV8b7f$p_PQg@pV0XZ(R>6BZkXhRr^b=3?uF7 zhK$8AY}%iy@W6bXx0b0epzpiBZAs753qbs8@@n^LW7hd-O>`HI+`hhQLCxV*tlj$8gLzR;H?b)r3VPkHfpbUl211dmvQk3dn zP4{z$J3#y9`^2}7Af1w@qBndNJ`|s2TBB~U-xv4Dw_^Z-1-TBDyWe;)F{>2v$pYUl zmqPxh0UYPEw?7A1_tX41TztU}JBohUWSE$ll=nF#V-E&0;-tE|KeG2}s~?2;nfQ{$ zSt4xmwp2GqW2hQqy999eYK2+u(uI>+n*5!!wk~dy4kk-%qhnILK$+SZa(xB793E7y zw<64EX6CB>?O#HARNhgO?^8+(Q+qmfM%0G21#g8 zUeH29G=K=!$W3cXTRKITl4|JVFrW)$rKIGB$AXz@BTU%S#ZGof%<`H}*U>_)_z!f^$n?HPN%}1k zF-z%mg`V8eQE6F~U}w(*)1+A^>f0QA^fmO3WV8wbro?_-)46# zd=uy+UY&{B?~6B$bZUpq_(l^-PjyViOzsBsD+ZLlC9{kkD$JjPTZ*8|ByRK4By^w*b2gyUd=67Q}yb&Bsi;9&8CvbLl zVE6aOkG~m_Ya04>2j2Bn1$0bdc1Yy_VXB=^CrA7tOX;XhFUS3Zkcc;OtetdR2P*TR z_hZ|1dT}>EWDO7T5|Fe|an%}NU1+?yIIK9Yy7RBwSS>F{j0f>;5g7sZv7$;M4}1ka zlc_%#e8lA7DFfj+emAzJL3TQ^s;%kH6G^6(EW=szd4J0wd$txHx8a54xo;@qDXUgv zif!e4tzb#U%*rSB+>CR#rHp^DDu2>IlS1&>`ZGU5=?j!opG*_h>sYk7FwkMavwwdA zA1x{>ItHjPDR;2aw)C*CyxSsFqQG2*sOocnmEyv&ZyhAd_vzU6#h0fI`VqR~5ALr6 z=@~)KnvQ#%Y_xhEk^qmLC^YUzq%Bv-Wm63_4R`+mG>|8N?vxiar^xGNg;$_ss?1=5 zd;22(m@45!qm$W+saG2YH#AtjZo|~uV(|yI^2f!`JjcRBY(Cdf;-&(QfH@%?0ymJ2 zN=g3g?_(q%yP6*EV}eP$lo(NEGC~$tq1WDaJSzAs9;DuamHJ}eV2F&@rLvk#xbv$P zSLr-;H$_LA`ony>AUCHNVy`U-(Q5CT6*@z+LfEvEp{tBcm)+gwHOc&C6w>0r!K#km z&=Ko-56);mHn#(HjgK1#$Ji{mJI*3?qA0+lsVt?DIY?%<9GJ#QDW>(m5UOw#HY$$* zetM7UKN*3{>*xAb?3)r@i(07DEEm&g>7)JtM zdCM>Lh7%VwgDtUa7j$hzrJl-eUv1I)4{(;Qh;iEPb7$*4%OsuW3UTM^LDjH%6`Aj7 z_XdF%V#^hS3O5F_Zrk#XDQUcX8tfREm386ygR;-6^2=XL9n z$H-|qDp=+i&J^n)Lf+d}DMD44q#9vh`xQ#4@FTj%!=kop+*REU)vUB2d)Cm4pY+ShA8UTkCh!))D5lnx@9$!qrNVo1@9&&K7C>_!Y@5+y<~n z5)7Jga$%JJEm%FV~QuV+LdoTWnm_(2t#c;oqd<)cxf)nZfKy!TAGPBFT- zep))OYc+Kt;ld1XSyV?fm88MSc$&X@gVTp{tin^3qpF+T8w%?xXpU}SR0-TR0K`D% za8H`BRQtiAg`p0u7A#F3%9P249^m9{t=4pP!$@@HnjgZulxaf|xMPXy?G}YPby2-^ zNR*yVBKe;npil^YjZ!!8Z63qpbs*@7>4WGB?T<5OuGPIZKUiq&MnCJL$x!dFoaUwU z!64_?W{M6(X$YoLC-RG6(yaZa-wg-=)GC4v%D$?Q;8_f&@Oxgf@m;R?7YmfOhSP2& zj-Vluke_1X;pJcdP_MjAP#v~i0F-i!cBb)cX{RbniMK4Zo@sSqW4i`d5OYNlB3P&j z>yknx&$vTeP@S->7oRw8x~Z65PGn^Tt1iI+KUyS1#=gLVL%Ayk?FuT3VYj7cU~*uG zsnr>c_sKl|1%z=hwhS-BveMDO;7($<=WHI9^N{MYX@R zWwHZ5U~JH;!dQgp8>q!F_)B=zYQDCp+PI4nO_bzd3lqV>|D~=H)O@D1ylBhl1G5Ga zB>vk*pwBv1L%PKU4;d3-6((&`$JuTB>%#%5HfBWtDGF@-cL@4eZJNG9WpU=MQ=aqB zNZ-@Xm`(uB-(sv~!c1{rf1T0jztic!YwDjnHa|m(5&o~^^iK%;_`o4xN0tw%sSQ8E zejnHC-zkf7LV)sBL1@k$_16{#Du?B_QVABVZqsK3Vs&Ki`4VQP<0bT_`qg>x|K8*B zWPr&|2#Trwd*XtqMEq4?zV|EVFHwu@Kv2ln-T2kj!GU$|+yE25#r*h!oA?&J8qy zEQ!XDK73QGE*${bCy@}&Gz>GGHz%4y`cqkG0lZDsa+8~+?QPf~iR35AoX{$XU4OQI zdA0ad0q=CDy)O-c)wUDHlAk_}YSaONDzr`VfDs_KdEJ4ivnq~1>FSb|X*5SL>qXSD zi4z$WGDPmpx2Ak%{ux_f7FXM-IUGlbkO;Ynt!EM6&|b3t{&z|J?-{5|@e#q|)L!oO zqP}(`ua#qF+a8zK&HL;`oNN;{Y#DR$jdiQVo<#R_2#GSX8IK za>_teRcwMq8M5$dtIN^LaN-a1yS1r0sYM3zm>(q~Blrt;qjZla6jk$2iezA_#f)nk zbec_j_~v*-lFZDTC&*|Za|tcS{-lfqpx11x`*H8}VmxtV^GE+{@K6Q4cU|hyvB7fN zQz((JzP_j1cIS=RR=LjUnYI_Pk@)omObX(>S6jR@mxHwEK9Yt$G`Ab@`p*IX&*m(6 zp2+UU6W-x*EZMj;U`9Lr3_9sZC>S;fWIuSc`hVY*qSoG(rb zESI%;yeT5!Z(IA~a2JpJvqc3Id9|wiiJvL;Mv$tnHb-jKS(?q=c|Y7FuC1*zxu*Hx zx{c^+-%>ue9QD!lgi<%f#EKl=4qU?vWr5=!S}uI^kZ%kgV!lirS|F3>)LPE@rMvD* z7>=prmH64e%y4&-^{>JLY&Iq02itp`Yz9N=>=WoTx(1_vgpI z%kfGAs=<^rG&GW*q;o4b4FLA3$#Kz^aI5=SW$H|F9gG`v-^NXEGSK%)=zneATfo{8 z!fUt3LFdyygKpSYISwt27;IRu*-w}h#T;vXzED+9!Cd?qujhWeuAplEz0^XN+$?RT zF$Mo6wT*XFP&}3^j&2zS4Q61aBN063>0IgI(6;G)qExVzeybg;R%?c?f$F9|EXm@Q zPud|&?}^}*^P0Vc(ag!fo@|6y<~L_#dcWUY22Sh7Fi(}|3vmXG-~w&pNH|eqQ05mT z_TSV>V^OgmE|5xTO|~}VRaNm?f3NB795f%wH#_go$9=^h{t>_TBrd4?s;<3VB9f0a z#m}F(xLN|6W_0D_)9@gM_@x%=RIt@zem`-g$}PG5lKjrX0*TuZRBfmHgH-{bx=~c! z6@)RdV7)a)T+!aIYN4jG3GKGlmy8a^?wQE^__S1$tAab1qCEfRH}r~3Q&U@k`Hc9-P}K-Zjjmd$S&(3MQd%f(3A}ne z2-ot4DR{mT>y%e3u|C6ufeRM4msG0VU~u%+GK8|p{y77rl=s1+v~lqAg7n-ioh=e~ zi)D`e);Rm16!PVF+ej&;`KEYml2(T+wo&!W>HK>UXUF#kI%hj!r6l0bZn!ntkPk0o zEv>CFe(>v(8F%CE-`?JuqBMJwe{k}PAQvbfuT*z;byL*VW+dhQVf_{b>LLANWI*;c zi#5j(KFa0=;Oi)v>|14hvUpeJgdxhu&7E|tVIMfq7#SI9)aJ|w?w3tsi)LEvyZ!M) zB%C;?^0UUN*vi{Tn)73$#WXiMOj1&rX6HtY{)I(8(+(f6_}i&B#eOyW1OO+9E?#HP z(^HC^24^!cbfug;GuC9o-mYecK(Azccnpgh!W#1ky7>3KhnUj-wE1(0H`dpBhkO=m zR)&uk_lYtvIpWQO>iaL&&>5e4DOw zrl&4?*@X;m=AEM_TaHbrZ2QpO}f+dcI7p-ITf1l9eCdi&vFS?!-9PAc*s*Z8~as z+3wlXTe|eJ_DexU7hYM*9VVG8Wi*E01@v4HGJvtFi)e@X{CQPbbqYDR2SGE8=J@u^ zl)wJI_Odr)QYyHxW-R`^@ZyZlp=?D_eBF{8OX7b$0^i5@^*u7eyBb{D83Q=uZu}j* zhrvqo&%kW!Vb8`*_#8-R#}mC}Yd=2H zN=whB-E0u<1wv3z(i=SDsIPP8jotV9W{L`9PrOO{iNcQ%;wV0Bh??;E*Jh2ennMMp z|2r9wb$LlhJM!oJr^#^z0=3=z)Dp6?7-l*Btb-HcuafpJID9MsBAch)`)IBFC=>gN8hXI=`|L8~$QZ4gdme zIBOaOA{p{^MDVGiI0~B3Uyfp z=^onnbfHJ6EUiKqOWrJw`}3l4RP-*IM9oMzD1P>?)dP)qv;ksyqjPh&%g?4An1)F{ zl2{G%#56Ehph5QbEH%M90KTmvxd&`u)OBa%mf}w zjYFOOL6b!k>Iw1RzSHc?ZRw3`m@gJn^PL6JFkT(MUUAb^w5hp6LLawhX|b#)rY%}} z#?ZVdhRaxrGTbA4U+obX(q>gVOJ%wc|GVt;TwpnmAy|#eMFY99sfm7o{~R>YMD4it z=>QOASkG&8Iy(Lm$bZ@s!4O?8k;?GSV@~wnTQ4&n8xt{whSgE%pweRs*TxC^Z@sfQIg(77wQ3LddQeuW zvkRUjYMI~dHJ?AiV9G3^RptgKri1yu??`Y_6tnRy}UK%!hX}&6)2c~eRfA;W;b+XFaFS&$c?zjUkFCLT#q*|)k1=V62`p)gf z?iWG$s0Y8%r+T1`?v$S=s&1d`3S;6KurPzb85h;bzDnkRcg@mkD2DV4rh6|GsL4S- zOOeSw=MIe5ms(YMyku;VD>Wkt`9d`D%kRQ@L_S}fon^g7KiJ&e71L>U;5ZNh*!UAE z_DiZp8hNSYo5mOF6 z>UPaIRggV0TdX09_WWISmW-7myTt3~CxcM++P*m|?NfROgH7aY+9oZ5? zu=!>i!FDVai9NFV=DM9YIIRD|793_60p?2@S})PtMnprsE-1}}V8>oq2r1*DfD4)# z9^(XSZpz>;x3u{9qWB%wh=IAeVMySQXK5em3L;2(G?T3%Z8}U_d8m|>vUagYhLSt? zx1kk4W$i#o<)8&@|NTv%6?~H|_oFsV!J_*)J^rzo5{=fr!4-?2j0z$Nh)5kM>;qZ=H6Noal}2oSV+ZEJ>iZv)hztirnjFF% zZqv>uw_6n#cKHpQj#VuE5K@Iz$R{D<*XOp z>~V!m43LX^=~KCBiOM#|!i+{k#u;eWGoAhP2&3lv`tOU)Gf8EG7(}O}A|ydZE#lwq z6vQeO_m#NP&b6x>!-I1a@{X!?5++c%3X>(6Fygz{&9U^`BSYdplQp(y)N3v`)z(#J zX=k((h{FLsLKfH?rvU|m5$f!A^`7(_U z1Q9WYh3C!KeZTElt)7>{f zsDN5=gS0*rTrtPq%;sx%SC5rf*Wotxrk|eTl6^PKzOcFSgX`&pXn*-ZBewV@f0DeQ zz17>Xl$396b0hoedah1URv%9RhpscJ0?wR_zlA@y7QB1}Fd+w-lmIr9a z+8@x_`B{Fx36XM3zCy+Oad53JcLQ*Ws!oyW?GdsWq|E8Js(YBu{_VQLJBIoc`Q#PL zYB&d$wPKK!D@1^dBd`&lRX$Vy3MgR6!RVTePIX(ZEvtips3CK@aoTr8|6Nb2MMGfM zyiW41&1}oCV|)I&76k#}bV^&}_d7S8khAKM*U3zy@90F3T$ni)YTt=#p~f!=#oB`M zzS_0yH8kQGlFj+Wy{?JKai$ntPxt<{=X9X+YxgCw|BQGtRfc$#=$)N`AZXH%u3{I{ z1IAiyhit(iT=i9OtmoFCfh*xlqgeA(lEN3$MhH}0crV)=i37iKs7!xW>F|~n5s^2S zBm#s;bZ`yGtTWSG#|sCChVov3?Mzm?41bX9_fUj0-j$%EJfw2j3V8-W>REKIB36AY z!--RLMvnNFYMcQ@D~KxH1`u-R03<9FWMui)&!s?s^^PoGa$K#ek@e}5USOLuY|4*P z^!4>Qq$UBRIIYJ1g5L`+--z{07@;aLldp$&G!QpdldY>psXn(Tgk2PsYH!&sLc(tT zB18ku#1rJ7)cGaL#HFTw%S5fB^XLBO;C69ZY#_t8a{VZ}q1ER5xLUrfkKz>1UKIgc zzsDcxDFDrlIQ>}JfDT7b4I{(l*ph$ZJfL8r?)@e*y8=gE?D>Q<$$l8$)l9QvCN>(f zqg`#*fXhE1>Php*MBMHG1I-_zFD5)py;1fP4H3bnv~Jyo8cUiU&K{6a{9VXPG~43R zg3`GApMBGDM)9hmtpdZDyZG<)B^A60m;RTF9@#pv#%CNYv>n`OYxa-B_#5U2(B~8? zEr#o&qW?0qg6x=rPkzmRZsb_&R&mmXXQ(`BS9CGb;Go zx6D%q^a>q60Pv^i;NVcD8Ed$FEGaD=2B@Ppx7T9-XOsaxIhcjisPSAVR)htQGm~kD zkf|-4IlH;JsR*D>m6yJ-jwQV}`PJPWm}v?$!5NRGQ&LX5uW`Sy%5#Y%Vwc1(+6N#m zJ70;d91r|9IwadmkqpCcB|==kY1 zHFXh>;p$k9_|%bOd(-gLRNU>|og-Mx`h-h<{;5>;4p0`tSu<2L99p>``QF}_9a+$* zF!01ai9c9cR}40NSYvuG?R@M2)&H_^p5i$jYIE~`Q>$rmFk|&(i)9pWE@2ZCXLsvL zY)1k)3!YnL8=ITPj4_YQu0MN{M<&zwzItXyit?|_ZsnUN)Xw*}SMfr$Z9w}l#Vd$a z^N=EX-VFfP?eAY~v^P;n&&ZHN!XV4lvTmIkKPahaQ``Ztf!ELkJ>(E8ef?L|0I?C! zC}-N=qXvT@Vn7Ka6Ocn2EmkSn9{zCnn)XWbd~Z$|pG9|4G8EeAS2H4<{ryatbp^+? zevre}x?&27wl{8$GU%;rKSYZPO)4-0Gloj4P@KNMp*UT+b1tr0AK7Gr^o@)JH8~uZ z(tZC|QalwvuXHDU3jVY5Vpu+k*FUl4W=XLbdjN9h#@=4(LI(hW%pGq!DpD#a^t!v2 ztOCL^z}CzRXInn}?!sXE@(a@rz;`2};*BmkFPAw1IwlJJHDECo-Ihc^NIjnsDj$=j z-1T`0s7qV}JyJ{;8f@{X-G6?=D#lQs0}xr#ot>Qlw$uaInbs7laO~3 zt@(Hy1;c@?z`mwm2|JD%GR_p-(`Tb|H6}X%aJZOc+OR=8CtNlD;&55c9|=RX|006) z13akESskE3G0z_s5B!6TG) za8TMF?jf+6l#EOkK$~X)hfb@%!ibW-N>C#^gK$sCnQ<`x`F<*03fhFN*|emcmw}Tx zjY)FzNU#{#fl?0xdvU5OFrpi8)FLMYXY%~xn_~ytZ1n@GUl7Z?w)idOF~im5*``ai zS`4#)>KvKOm_Ve>tZl^os0%}q{sc#FFkxEqO{^?!ZzW@edX?Xg|JT-6M#a@ET_*$r z!JP!R5PX6Y+#$FH8{FMp0|fU33GNbH!r<;6+}&+(x9{Y!``r6}Yn>m%;;fl-x~sdZ zc2(`&-X2SiB+5ZbDv%0-Nl)eT(x~(9_(TAmkq^%775eqAc--6DyT85Bbd=l=4&Q6F z%KgGT_aLj~Vt;xZ5Rlph#sV7;FaNS99k4J=?5lzT>fD76Ow_Jh08CVNa9|2_zu5cX zwj{w}y`ZK(zPiDZ?&nLb-u$51wTIg|!d%@a6ARP_ zPs%7RHb?Szs362m9{)SXt@FWBw*7q0w{PQcK{s8Yrugt3VRg1KnkivX7hAjEW;IchlK%l-Ly zJ}%cUdDuBeM89l%0VFujAbLdX!`Wi|@>v*OJd~6oL*r>c3oc!ttYlk&D1O_oax`qC z+C&3Xj*S>`VuiC(z%!NtV1`ddw^1qwdUic2wu|t4dUYzkKRFixMZAm3XPfdXziV^x+y&sH=C+yoiLC*!lJE(TF-R~>Cf-8K)NpnCkx(gg( z*_{V3#QAxdpqbbky!(P;a@v=OGR-Da*ZuMOdLo*rV*;AI-^sY_$_czYp%sBG5KKAN08c-E^t3PSF^{P@1lOF3AH>lnk4k za}|>J%(!l6=C$9Ds3w8QYokS;wnvCxy*;QJQN}ObK+t~a`w73F117euJ;H4Xpx(>| zRwi8$XSe@)HqkO+#H*kq|>$?L9mas++56tZ){l0DGC?y6|BTp$5 zov9^y8@r*Rm~V-kp>0)MBvMn=38+_J*`rsDmH_(g;2gB$`-2>MyuI;>koZCS{1*wQ zyDeac-Bdg4jgEM$-o9%Xd!r&Y%?^zBC3&F=W|4e&AN7WWhaAdpauN5!FW4>!4K@FE zBTC_c!{4gFX1OBh_Ttb?iFURh{d4kamsA3fOo}(ZIzJEBUtA#@T5K{6NkBUA``&}~ zCfObq%p!|u`5Y7z7d~#1RiKJ?b}H)Z@{^|X0=ig~oC`VtuysMQ2tO+g z+>!Y02AHsg(nXISaz|N5*xx^k4&V-jIpLF}w?cm|(e5Z$^fM#sudm_Y>7?O-aqO>q z70k!;*y?6s*(GIVGo=y?7^ZQ0gywPe^!Abfa;rG^YXBNmN?;`FZLl>fP$Y2J+??U8 zw|^Tl2QmAkqSSDKr$#f-*OzUaDRVHzElCzX27F({t+hZ~rwh{a&K0UixsQ_Ds~tgc zbevNSfnE55oxgCO_pfM|!kv{@RaPorj^#@2X|%he1T^Zjco!0uF7vKQ}t zqmmh0RD+Zk`kZv(#Wynfu9%7W-qn}1#(4s4ML!+3Ws7Lf!_J!HD?cztIj4YnyY12@R@01| zwn^jH)#S-Z@v;gg*>U870w0mQ)r3$8*ng&gRh+4A?rz3=SN$1`Ufmz3bV#yc9{{|M zXDKa6U9m$sIoSAomeJ8Y;mXT-%V`J>ydv|+N71|90#nolLzM-9 zRL5{2odn!J7}bsOZsb@~0nMmH7+gDZdo!o1M!^}ZBrpGhwdyOb-Vl9!-Srod&Eg4%{f0RpPmCZ#X;_F|hRWuJo-czM7JR3E@kTjb@bf%>%;@?h$VD<$)HyS;YyzLPJ6_fie;F zEop*W^(td?9qJi`g22uCW1miKM>7$|Adh<9-_lMcp`%kOwx~c&yjR6h)M4EmRF&vv zl_7PvS1HZWcd<#X0`8U{Ts3j3!9B7$9w#k=GLo&V@*RsAF}S7wysK2x-OLHq%}$y{ z1oKK4uCe)@d2rs(?SxRzhMP@SzAjszV2P!eZKG*r^%lJ<_uc#_x%o(kyU4{oZQaJ6 zIY`XkIT_!2kqlY7nODX4DO^})PEDBzP{Xin1&wNiD#c%pi$E@WSESPnpWiu_G0Q(F zvRugaOLru3A6i-$3BHrCTFS6UYDqOBdn_6CGdH&zNhW(ICk3es>DQ{Adp!J|B>Z+7 z6stFBX2l4JB~uzS`+ZZUV5y_q2r&H}sjmej2B+W8&vS3Iq#>7)=>(C;1g_p9fm{?j z?!=OzBSi?In5F!_eG~WVaKA324ne}e7OCu#_R?G08B-F10So91f+kJobsIj3-6<;= zNoxY~obJXIA%c%Y_+q9%{3t4(N(R4*c}MVY4q|N76`)e0E~ljarhDMIrz94A`isqa zr66bQR>6$pMSMM1Gd&v}wNc?@cD=5_bRB6+Mcj+<@T}gU8Th3a6_&i07iXK^52js( z)sE{Z9fwZ&oLq@1rk&+&=kxt+#q=D?DvE0L28^1O2QO5O2N&;CM?l4HqhSc$M!5jk z-~3HqpYbalSc426jYNrLQGppOV3Wot%6pw%>~@wnL0xO=WfWUiS7)F^2m3^lVXJR_ z3Pe5=A9kGzP8LODZL&$D)lE$cDqRiSK-8_}uEKUxr8DLF1UO*o8I6@wl+A@SzX<9T zpg>yz7aAOlVDxJGZkM6?sdnnO!ZKs!+!|cA_Xj`3aJVU3UiMhQ#GsYe8o%-=rJAgj zh``ispyI(ytj1EO`IoX2?S%&(@jF&UQ`Pk71bJHX1J|iSozPG0y`Onh28#%gvh|$i_@H}~UblW=Vq}eIO1i_RN z@YtRcTDm^`w3*K1Dwj(Cdy6CdDv+vDzN+Y%h?4^eU>vOVb9Fu52Ha5DazEwtxaiZy z)a5Fd768wUBpGtRz1bZQq>L#E-{#zj9wm3L7S^dSM=`2wFavS`1FFSTY7#82iFmOV zzL=42Ng7jD3(~um7h=a5p7(mQ)h6lgW|{N4VelLkL4rnx!C09!rdg z+0M!%P^V0v8X2B*VjzYSW^Lg}2Iw^Ad3(8Q6xY}~UFzrJtL&Ugn2oLlKFl&0ipc#?)I7%j-bbKmRy>qMGP({r(z|bvy4u)=)@U1AxLw`;QDl0 z8`2TiKn5O5opn#|v|fHkE~`#N6*jvDC;A@DV}}YrCmZbV7}8$omgy+B!f{iu_U~Co)qW}Etu4zDPFScd1X#^j#&fTdNVCE7&3*kld(ml7Wr!`Zivu{p z;r>bcao+r*{dxZ;2Ba777%8sJ|2E<7c5hwlh(WWUVj)gJ_XBjXfx~LHvI|q4@Pbpd z*4JRsv~i=|Uj3Rhi8IUA0L2^u`xCDXzT3K{$^0%}L6E?1z*n>YqJ1-;i%Her?L7{; zt03$vlQg$(c|~VT-zoIhDC+CPM zl6czgKS!*HM-!^dC9zxOEPRa#x@xQ3q>FR1I@lplX4Q-(fJ;MqH!B15-5sSh!G}*4 zrx;QXSOJirU4&zYKYaNqZRBi>O!k#>sr&pY0`5FBPW3a^kyQm+!Qe{a#D z_75ObIr_S>U)I8CJSqmJo{i>))(VRfK3%mum7H!qoB=xGg-6`Q<7)cSW&ROvD;gR1 z!gXTF`(#%5-wR}3T<#m+>`SN${bHf73V4c(y5M+9C&b?xROmvQ!O>(>^5Ht+IlQ7u ze3H{;u*{a$S3QY2aM#9yQxb$GIfYG1;qeZW-NRskT2^TM@tC?_X>S| zc1jd^J3@rEpWIP%!u;VQtKEHs%2@zNvoVK$P8c4KCXT;+jM+dVrh#b7)8LW1*jLaO zrNC!-2{#v=ad_VOKtExNu77W~TI!v1mqm$KeQ4ZJUNJfmkE60WHL)!e8cry0F*tFuqZQf4TJ#OGEN?yKKh?0zizQ?moaoeseoAPDGUtVM~#!309& z$jpt)-AVrgbq|)=N{qILwdV&bs}u*#3);NVqISBJ3?U&?xU^c446)OMDp`ytgz{>9 zF=Den#$yT-TUyHOX#yuP<6Q&TFB_S#YO@gjbXPq@jPJmc{JCgFnPjVpfhPH-$N9RiN>b(WRhzt z?PH4y-<=G6nYUpR*L!s8!hf_rS6=r8H^hmC#90hpEDcRtoOV{2mohAjRi~`u@$Zmm zrc^M>XId^`mzL_$f+xvb-2jHcg092*@P4MJq*w8A8DNa*y?IYKpNxVx2QQb)w&^IH{ z1I|H0kAn{oO0c?0WCnm@Ka0Wmz?RwfhO4=J`Kh`2Xi>Fsnsnk9=pMAK@CkrR3vVa) z-7m^Onpc~h3^fb-UzjVs*N?FJTHg==YuWZ17w5!bq&5x+aevNkJL_!=4c$= z+v&Eiy!8#%(OKummg!j^i&W}}QI=k07F=SkGXEvbL5V<_){f=m#-^&(q{^3grGB5H zhvJZ+w|Ua-+)c2Lthu`q%B9#Ql?f5=X-9Ors;!4X#X@hk?Y1ZvYRh*1U{0yK}A1_NU&Z_dK`Z<>!KXGG!H8>w0 zjP_$D;MhL^hjHXbKUejPc3~Dj;gqXzwGf~S5sNJSiAv->W{8urMe;s5>ZNVP zNh0Az<+vHk^_;{#*TvHZqg-AL2ZMrU#K+#(4#`dKTO$o)G0h+tecpUU!l9?;UvG2w zNf(WPtJ7LP537tYALPW8zY?QEDY#vX=q@SHi zvYIC~sI6H!+S11(#KSDE_(y9dT7Vt1*TXl0QcgJe3o0Y2h+jkF*1&f*ro}FXY3Zim zRWDU6Za5f0116d2DR5NKD%~g78P}c|iojRQ^dw_B;E1FzbcCU=E8ytZ5WisQ=aQ8x zyhPnOQd9HlzL+wW4D>k5PbWK3o#>=UF9D6~jr+_`4%KF54N@iwWdX^BW%4(#VXwaC z(uGeF3#$wAxFOMp&VM?Wea%0o7Sywk{t2B8t_^0BMWVz;E4&)JqOO+^y=Ce3uMBH4hiwAqHq`^poBb1PzuQ+i20(>;cj%!~lCCnrIET4`}wIpsep$oHm zmaKe*FXH%R`J*P5pOg2I`KYsFdHF^1Ck4KU=r?H_HX&gGnJ|FuFscm<5%U zW7j4#zXU(};fCZd_j-u1sqAfO{HE^rxY6opfv&zwo7 z#cqPL-t=cBi(e+eDk!h7F;l{~0fZtwoE}P;X7glVK4^8@N|r;=6zD)--XPL%_OOkP zvWzs*A2r_jR_wLh?}1NyOte|EP^?zcP{UaD3+<$P!w{Lv<`~`CxLf`oEb${MJ4+hup4bykBRD98za!0 z;wdwNd251J|Mj@MFNUD|8z&`{GBggT*P~y6@eXT4L@Ikh5szlGl2_I(krR?Or)~k; z2LJ0Uz2~;VJp=Hr?khHJ^%ETd%a2yI^A2ghbs+z_H2hiA-j0 zsn&~5w48CLNslb#r%2q)A*fYxXutjz~$VI{BDel6IiKL(k@utOp(mN^I8|B zCz{iNt@ycm!-;4!S+mJ}5|B|aRrGa@RIWYvU@iP+AKmiFwYE#I`)EKq^Q2e zG~LgEnPLj3EDbXQb=$Y=`&1K8QpvQ*#$tL0HC$xix35Vq$2E0`*y`{!%k2ogCdtDq z^2yv+DkH2atOs{iyN4P|O9j`xwh06SICn?0_18Du(cZ=pFpAK2H!syY1)WcCsM#Jx zMwIZ-cx#tKvNIxZR9!!O=5zs%)tQov(f4Xsys9}Q=M8e8u{CJ1Z+E5O(!+5XsJ|cx zha@4WeB7!04^L`(dK#9Qc8T>fJAsdF&g+r&B>>&K|#Cz`+%78xIt6}}^WgFK+ zo4CUyt&Xw&4u*I1Uedaeti#9Pg@?}##L-}*t+GZKrWvB4_c}{)Gu@${#s1Oao-JVA z&7Ls44RnFFE5|W5EViJw{3Odmu`_!FTq_Rkh5C?XyM3ANDj3Gyt0kwP`i6w$gjej| z_z$ZMen(z~Fhvk>v^2^R`Z0a2{=()K+$-(iRwJShD3)!NE}Wo-$nk}@@)@X<_;wU+ zUnoAxrdURZy^q^?D07w7luU#D!vhjP#pu0DH|~UM=<_a3auo$+$!;Ct)@CDnEayp` zFF+)Ej02Gp^60VD*qj;V0U$q4(H8@l)9q&pw zy1C46NrdU$g4A!JHPEOUvrzso?!p@g0=eYPB6I zQ;EHtY4UQm6$7s!+q@=pU-FC@X6pJg-wC4<9iRRvzfR*|?Q05aw+5;)d=~dFi2K<| z2+-i>bBRus>HOf9E~rY0wucxD9c7RMi?0Xjez<5Sn+KA1aIsbm6Q79M_At?8Qqv4; z(FFbAQQ;;&3;}e{Rwi&q#Pfr8o-P7yX9+;&-$|KVP}9u`-8!mLpOA=KrRp`((ECz08Gg zuLy6RQ-t^K1Rq91vUQD4^~hJXYwLRG*S*!|FzKFBI$OmTTAZ1TdFU}iuTYNIH6t-T zO9=C@>v!1=jT_kneh%mrf|zvDcDN%Wy{)ViCS8N`r~4Xn-@o4-KDbd%?ZL49It|&2 z!zE%gPfhEDEO;EpgU6Y-TU=c28De0sP$e@qA*dNNW8wg}Y@s%N0@I^WHoBzY+BDxj zMs#=gvDmk$Y7wou=QR?(+Y3wI;2>`P<_7kY?^+4gp=X^^IM{}+E;@TNR=-RlnqRku z(Ueg`tlm$2pVlJTAN;_|=0`7amC9*S{ALD2@JZNmR#i=FDY!)-B;J&x=+% zEg$D($MGchAu0K2iRi6|w7RPwxAH3~P^;a`u3IEwUA<3g5aJL?t1~w`(BLpgpsZX| zSX1s`@xEyb<{(K6&>qwjfC-A6`o2tX&$m|7Ez5NDu=2jKMI7(=*9_Y$Lmc0!dvL#n zZ|bLIOk#RKg0ToAqt%-2e1Ylry4wK$jSc4pm-H_A3|8aJhNg#n%>J>V9gFgB-M)VW z0ej_PuxH-5>$$4^mjC?kYgY6#40l5*Uew=H{m)4%K`Q)8Ue{zNU{&w80OWsPhIr2r z4-V?Jc{KiOJOBNYzQ}K*DJcBBz3PGXmiVzTOcp|zz@zqKO=z_EjIdfzlKDhte&bto zguP>fm>hHDB6MU-8%%7*|M`Vz0aUCEn2E43yYD7G#}%Fi?XE;RH<)I>m;$zkbx2vD zwW5el(gxs5m7{OD11jH7!kENZMBEx6IAb+7xt6o_i|pS3LKrTm1JY@kW-9HTH~;rZ z7pMe$OQx^FHtBLbrc1>%*X?Ucs8vT7#8pZ)DAs!-LwsJiUmh@CdqQk0013GfX_E!- zDs_JQ>tC)7UUz7{3H$7w2_J<2cT6dx?_f{)UIL}U43!>N+Hd%+9mgh#+4O6b4;L7~ zHE-$1M@^Oa?p@OkmXsKzTGYtiP5MP_Hr-vmvl@W=zfXBj5nTgApzk)i1~MFvXRsef zQ5p$OV5CM!y8UF)9BX903fTlS`Nqn0a*^?8JDZCM3MA-u_bo^WWAi;EfK%VpgEDdX(gx%E|;S*74gwF&f6uy3g}C zwoi<7bl)Z|rV?q9PXb`1AYdS`mJ@%-Zft2)lXmt$s|onC?jxzqx0JdBEcI5PFon_o z<+)1{&@dww8W#3-k2GiXQR~;a?_2IqvyDc{y0whB|DX9LjlO~*uwF?Y1e1>EX(z{i z^gLR6pc7Zpi2NUF`oV5M*ws4g^HPgA9~6n@nz!e{YqxXiMv{zLcQ}L zIp8^qX!RrIRxsrVyE;utuOF@-a{hm8eIC{`DTOW`zX5J|+&RFk5bX=y9#e_Mxm5n8 z2}%E6(WSbgEA*YBk`kTh9t^Q*rJ})1>9~wvoz{FPWfK3DJDIkvDLZ-gBZ(BVS!`2!}Q@yg*ZiB_nqz|y7$BOSJr6O{~bg+wyBYWEm z%cT!wqJB)os!9E|ZQ!Lp)A7>r+*V=&f4g+b!(?-7Sn;- ze@ zI*VW!*DCA6>{%-#9(Vza2*bzES4r_Xea-(mJFXB6t6QB(oEL8v8l-tBfUldPT3Iq! zxS8T(gr@%|UXvho_r2D&CBaSeO`B`1K1aO z`@X&VHV3eG$U6hwm&!qK6E;hYH{rLAIFpl;GlbiiB?~5zl@Nsu zNdEq&3kzbd&7E2*?>!e${_WEC{${{kXiknmm6yeQzN&ey(i}~sN1(~p$T2|ey16(@ z(j7JB`E-u$bvwd<#%EiGjf-3VDdintiodO~kt#Z|<-nwl5-MEkwIh-`f;Snp^I}__ zYsLKc4V>ZtUG?=tZ3`v4gcF)%anpN;mYX4)aCxyK^cm`wr-!2<)=3{U-t*|6R`V)( za_Nj`+an1k>0T<(#xvPjfCCf*f?fmQe?WgX`~Xm9Hlj}H^?0+bsIE>U9Ecoqwd|uq z?7HGhDVMc5kU-F89ktsVLjjzz+D!n_;O;_QmDXE;zcv;~Yw$IPCywXK4FI%6YhD7a z!sj)>9X}Skw7=Kz(t}aOb1V|&a1X4_Y zuF?JH>_&eVeF8IYfg@QRUe(qCe!pUaIb8vtbggb5_}f^AzX`DJC445aIXs3LQJ9r^ za69_AU6)*CefehFme-qb5NCXz3zVrv279F>vrmGF0BoBB3yUZ^_Wa{O*zMA%Z zZvkFg%o_7-;vWCQCZmo(6lRlQLIb^;eNqTeoouR&y<#L_5x1=pu(?`q6N2>Y8D9KH z5kch>LG>yS`97-1hOLb9qr1NR<9LC^W$RI{=rRf0nmp_-(FCJf(blW7G^a_g;bal<01f^;+8k#Zq zG*ilweZ%fFShR3h2~q=ul{9j`mWipLTp2roqj!lXYk*>dk)nbE8L#{KdwmX^_rV%K zD1(Xm99aRy#kw{qozsrI`PCMN0m`U_)JPg{1UgVmH(=BiiqowT=@zUL48@=jL(pti z__Ym`_-<5BYk&J)GaS4H)bjQN{4It6kk9OXZu*AJJeFR&aR%YoqO?v-rBstfj{o83 z`O&gYAPNB$5trk8uQnN?(rs7YU(H?~iCj*FKYmx&!g=WvEzC4A?&gicJ(lg6PN-#( zG|^IDwM>w5pdm{5dlR9i%HsCLClFHoeqr(&f31GB}ORZ8bW?^5#c(%DT7r_)|+#a6pt`0E{j z7nIWJCB~Nx16#PDRz_M{OoXl9N$CmTC3`7Zst7V4fQm3UyGe+^f>7_}?zlLq_2^3{ zfPXda4%#qsfb}qA-$Ufm3vklq6c+YdUaf_J@b!4D=2+LABR9;9jEodDG|Vp-n><|B zsUokT3EJ)-q4oQWyAwaYRcL|(UEQ83MEX7IRrGMF)nK@IR}6S0ci3w%jJxnCfu=8z zddsCePe&mImOK+V1<9zUQ@t5KY0mqazbUBKagh7u;vPL+*kxnPv}jCF+Y}=Wlrwsx zdPQjD%)trNW4(;Jl&vi+pMnn_CCGzN6cQ+-GtJ?ph45!@cenMw3(vE-_e3V zGbZO*0yC0Ctq?)beyCOOLA&k*Pxz|uAYZv#{><={URnTPl`ROhS18;^vJub0C}Fkv z8B3)OM+5~92_Q;Awd|++ZGM6QHdqiMX2LAY)gi!U-rK3v!DWf0*+B*&>wYJjVp=qG zKB=n1b~5xsvy3c@Y^T9#pUS4?0Wz4xCKZsmtQJk?9fOXtjh5*NlnM~Ugv+*EH66WL zD}6f8=YL~&1VvY|jRlCjdz-G72##KWkaXK1Mu&6N#<LZ|J5?xNYioXV2WK>Y~g$hgRell z%+i#dV2SytRN z!()~E2li4jF}?(A_~hJi-+eQ@_DgCu9`BB#8Z;a3h~MjeK3521Mf}2YD_DVRiJ*;L zo7Qni0H?AWLm{37YlObjEAqJDFwzH5wbBE;UEcsQWrB(bXIp|G9Q-b30iE)keA*rO zE=bpj2NL}v$AYaty;eP|8O}o2DvS@4lv>wm_7Q78hx^TD0Gpl@3f>Ps3^tWRoTSc! z+sEf0GD??<*!b>Tz2v(u&Ic^2LJcn-gYWmVqVESH0u)Q*tzsF1vK2E_ENTNO^fdBt zuRI_YSE#$=cVlYEkVh-s)CNAK5#Juszs9CS5EvT>(n~bMQb1+vE;`WdNVu$FcoEl1 zq4Ch5`W|p*NE2SwUcsg0HyjLuUlvqdT&DRN9X0hrY<6ix-WE@-cSo?Cj0C3w%tcO~ z9KDSZ>w-e>!MbsfEIjKuo5qts(kjlig2QNa^pE8N>;7H>)ExlIwO)=5l-%hxme#Hz zjx%UBRUp?mbXrpo>FRuUoT(esx9Szx<5M^+;vW^ zUYg$wW6~<8pqIM(Vx$@M8TkO4O=UMT;W}4M=2!V*JoYv05B_2zJls9O)Q8F&36Z@? zl>3May}E3gn@d5NNL*ztFGYv+w`jJ`Ov4*RM-;^sDs(EPF|Sm^ANB|wkp2o>dWB)s zDasE!=u2Z#d$7Csj`f$OX5H?dSq4>C%dGbnC836`AaKM|E6 zzAIOdWXpfU9D-N$>_{H-uBqP3wl(;qhC?hz<4#!YG!s7|^@kC(5e{E?Sqvx@Njycz z1F2I1vW%ZbLeyr2`o)U>f?<4l$fMa{?len7yjrW3TnKn9^W4!PPS)UIzy;r6f4)E= ze=xyqqr$bn=iV%8+CJ1G|vNPqPRZjQjNu z5tSc%s)=VtL2-utx91#goKTSt>< zzKQMO3x>0Ny041XXr-|Ksglza$W&HvX_C{*_v7U1Yzs8Oc|UGHJ@^GEd=r+DvEq5@ zF@H(>hR0OELK7GI?Qi(->+i$wzI;9iG}xeG_N#jTebfbH#{K9LlB#7h?*ME=(G9Q* z9{#*iHK=FM${G|X-gQPqlS}Oxe`N@sPAJK}8K|E}+tO?D1_<4nCWjb1xFRx}4>)IRm1^KZhDl3D^VlR~ zZXJF0Pcs(YzbAdlSqGy{(yxh6OcKEHvt17^W5f*6wsObc=2+RCD#RDO^)Te{5`14S z?;d-X;}M{vt%>!u8o!FyLV4=}IejeJe_O}%lUNiXBgfMFPb{hL=nvwWJo<`~^cu6W zG|ex#CuG;p<{^_cD8HlGKd(T6t%u6=&Gs31^`jT1i-V;$)^GL?{3}xDE>i#}05A%V zqgM4b?^T8+t|Q(qYm+0QA5$K8jq(G*K4RTg;WiPO)rvU9>8xgoW3<{45;>rOu@<*Cs-22${DIStog>ax0;=Rxe zuP2%9j%mb}Rq%JbsM>ey9IwWeN!|IWfECcP;4;479Y8g+0+) zKO|`}Qio~N%sr<5jco-3akVpvVG~*{luJ{s!7|@EmHVhv{P!aWSYx#=H{$$q-kYks zf^8rcX}o||a;MLqyE^}4SHOoMj9yyb#f1=EB4T?lzzd%Upd|FAb9Y!en#%2#9hu^u z{&Uy4^2Yd7!$Y(_LlQH#ma!z&Zl{nokNn@?r4uADg#ea3{q_rb1SFcj&9 zB6@3mnSbE?Z%bu)jy09{w3?=<^0oF;{Z)$N+07sW)<~1UH{Brey~;R=z|@eSo4BYS zRFrF;Y%Qmk3;&>z8Jn*R7uN&5GOCqG+j#h@FZ3u%-{M~)9L2-;5dR+1c~=2t;p5w$%ZkibMK-mq=%0+XTn3}$H2APMa995vu~ zO5h(<#*o^#IIK;!CkCx{x3?Tfa%a3nI3^y)#GZx!&rKWbzTtQ?OF?tW155P_&4xVO zzkwF=&mIw1-s@V{B?jx>{|10H(gjrNg29@XWYb>dPTN-8e?VUuxdnsK?Oqcb! z-z!P}I@p21>}7*_W77s{O~(2)R8sZFJ}m&FlOW)5m9#bGwfJD~@t=E1eGf>1la8B6 zmTw}DqQf0{5G29RS1Cw>abEvX0m`231^W7ucWyN>tYj{r!R0ITim zcVUdo&HA^##vgUiXRFQojQ_#v{`w`~c&g|)nE7hlSvPJgGl7FYVnTt|C4+;B5(=_^ z4dHXlXTHVQGmVb_UekYljy8j>l+|sR%9i%;TL*rjmmj9_-R3ge_M87;c>-K8>hH?O zQxW$6J?np=av5wuI;V!p3!3~d^zF~}NNR#$3%i5c82j|lB=%->^4&6FD*pcM3x%7X zw1ms+aS7c^HuQ73G(*Y#1=ikgmRU}g)LJdePyqXlJxAhKE`CjwUpB=5g&A@YUYS5j!kg)ce z@-78+=kn=LY}4*Ho5WWOEWE>fKDLUd!lSt0svk(maC|kEar3 zXx@^6k%S)ed@>DGhB8nc_guY^jvl>PMc06&<+@nG+Y2mBn7tTgfuE~7|6O;{jfdPt zM};&>Mpm=ig+0(w-DOJo@h3TD)7)FwhLSR?@czQ4K7B8vab}TbaNdO+!h+Yk?9<2i z@_TbViOaqFMk~FWj>?&vB`Hgl*8wv6LW64|BXZoOzLw@uArk)0AHLdr7on)&&fra00|?S zMl<0^!h==4c-0%_G|xoa3G@;g@Lr`4*~D7VV$El!Cr_Mes;E(hx%7OwkIe2j5D<6- z7-&y-BZKd4orUE6S9@rup2|w;=zbD@{d7*_`)k~;4Sy9kfPDSrEf4AY{g5Age1LsY8YEL$d1yjFZH93D>qe6Xr*iCGqbx#i? ze^sTzr8xok(OpO$*QZR4SQY7JWQ$$W|MIMTul#-_ieQMZ=R(3W)p_6Bc2M+oc=b*d zHUhy%<*vcV7FjF^Glti_G0JC#+T!XR{jS!4*PIROCOqh!+W%Q0O0RzTd8Mi52{vWv zXyL_|Cn=>jD*1<0OWz2m3Pe8YiDmMqFQ~lS`R^+6xqzDm3}(8 zg;Bcd!BH>+6JkZ9r`ay^Y2(GE7d+!tAc?y{!y(XX{v>)KMO&@_3}|mT<0}QE=iY8E zEfx9(UXvBU_m1Yip4l#0D0_NN5I7a*U_IbCf9!3v=~E`pi9RIk?peu`80}djAJ*)T)j!xJVqY<<4Iy z6S?wXKqaxEUgRk8f%~Rw>$G=)Vl(D1uS~!jLqbLL#tEvkZz;t_f6L_bjkri(Q@`{JfH&}cckukKO1q_J#7QO}K9zj*R)67#;fUNM_~9xF!JJTnmKLa6$*9T9bC zUZ!N$bQ~SSf~r^)M?+(1)QP8fnLPup#^u3LYm6RQNIuTFIzx}Qpb+O>%FOz1oJ$Y6q}Q9?B! z8zx6oC5yJRlW=6J$nF{VpeS>vf$s9q%N;@GJg?09;BrRVf_#KOui#N_F1Ldd{aF8i zGslk!Sv7jm`0Nj(S@C@3`8$QxypmF|%J91~L^T_P7%gF+Nj01@)6gfg=lR?Y@HPHQ zHQ-W2Q$*o2bg!py3&B*%(58`i)d+rzyxFjF8iM9Qhp4^g@%oUCad^XNZ+hZkKK4AqfNx}$v`Kd z9@K!0XIqouLrE`O2{H0uCBAKXDTsC8(9GA`+(ecGLKTU>Ptf<>ZveY1UmNLzTI_Iq z?(1P32z|anKMCQui~e?xbgRyJ4@Kwe`*s~^f9iVd>jgrE9>Y1g#OvHkD{_7r9!%X{|^pO B7}5X$ literal 0 HcmV?d00001 diff --git a/learning/k8s-intermediate/container/images.md b/learning/k8s-intermediate/container/images.md new file mode 100644 index 0000000..234ee06 --- /dev/null +++ b/learning/k8s-intermediate/container/images.md @@ -0,0 +1,57 @@ +--- +vssueId: 122 +layout: LearningLayout +description: Kubernetes教程_容器镜像在Kubernetes的Pod中使用容器镜像之前,您必须将其推送到一个镜像仓库(或者使用仓库中已经有的容器镜像)。在 Kubernetes 的 Pod 定义中定义容器时,必须指定容器所使用的镜像,容器中的image字段支持与docker命令一样的语法,包括私有镜像仓库和标签。 +meta: + - name: keywords + content: Kubernetes教程,K8S教程,容器镜像 +--- + +# 容器镜像 + +在 Kubernetes 的 Pod 中使用容器镜像之前,您必须将其推送到一个镜像仓库(或者使用仓库中已经有的容器镜像)。在 Kubernetes 的 Pod 定义中定义容器时,必须指定容器所使用的镜像,容器中的 `image` 字段支持与 `docker` 命令一样的语法,包括私有镜像仓库和标签。 + +例如:`my-registry.example.com:5000/example/web-example:v1.0.1` 由如下几个部分组成: + +my-registry.example.com:5000/example/web-example:v1.0.1 + +* 蓝色部分:registry 地址 +* 绿色部分:registry 端口 +* 紫色部分:repository 名字 +* 红色部分:image 名字 +* 棕色部分:image 标签 + +如果您使用 `hub.dokcer.com` Registry 中的镜像,可以省略 registry 地址和 registry 端口。例如:`nginx:latest`,`eipwork/kuboard` + +更多内容请参考:[使用私有仓库中的docker镜像](/learning/k8s-intermediate/private-registry.html) + +## 更新镜像 + +Kubernetes中,默认的镜像抓取策略是 `IfNotPresent`,使用此策略,kubelet在发现本机有镜像的情况下,不会向镜像仓库抓取镜像。如果您期望每次启动 Pod 时,都强制从镜像仓库抓取镜像,可以尝试如下方式: +* 设置 container 中的 `imagePullPolicy` 为 `Always` +* 省略 `imagePullPolicy` 字段,并使用 `:latest` tag 的镜像 +* 省略 `imagePullPolicy` 字段和镜像的 tag +* 激活 [AlwaysPullImages](https://kubernetes.io/docs/reference/access-authn-authz/admission-controllers/#alwayspullimages) 管理控制器 + +在 Kuboard 中,可以在界面中直接指定 container 的 imagePullPolicy,如下图所示: + +![Kubernetes教程_指定镜像抓取策略](./images.assets/image-20191007194641973.png) + +imagePullPolicy 字段和 image tag的可能取值将影响到 kubelet 如何抓取镜像: +* `imagePullPolicy: IfNotPresent` 仅在节点上没有该镜像时,从镜像仓库抓取 +* `imagePullPolicy: Always` 每次启动 Pod 时,从镜像仓库抓取 +* `imagePullPolicy` 未填写,镜像 tag 为 `:latest` 或者未填写,则同 `Always` 每次启动 Pod 时,从镜像仓库抓取 +* `imagePullPolicy` 未填写,镜像 tag 已填写但不是 `:latest`,则同 `IfNotPresent` 仅在节点上没有该镜像时,从镜像仓库抓取 +* `imagePullPolicy: Never`,Kubernetes 假设本地存在该镜像,并且不会尝试从镜像仓库抓取镜像 + + +::: tip 重要 +* 在生产环境部署时,您应该避免使用 `:latest` tag,如果这样做,您将无法追踪当前正在使用的镜像版本,也无法正确地执行回滚动作 +* 如果要 100% 确保所有的容器都使用了同样的镜像版本,可以尝试使用镜像的 [digest](https://docs.docker.com/engine/reference/commandline/pull/#pull-an-image-by-digest-immutable-identifier),例如 `sha256:45b23dee08af5e43a7fea6c4cf9c25ccf269ee113168c19722f87876677c5cb2`。 Digest 唯一地标识了容器镜像的版本,并且永远不会改变。 +* 容器引擎的镜像缓存机制使得 `imagePullPolicy: Always` 仍然是高效的。在 Docker 中,如果镜像已经存在,抓取尝试非常快速,先检查镜像所有的 layer 是否有更新,如果该镜像在镜像仓库中所有 layer 的 digest 与本地所有 layer 的 digest 相同,则不会再下载镜像。 +::: + + +## 使用私有仓库中的docker镜像 + +请参考 [使用私有仓库中的docker镜像](/learning/k8s-intermediate/private-registry.html)