From ce0e1cfde31ee9d07987e5d26eec85e71fbc23a3 Mon Sep 17 00:00:00 2001
From: guide
diff --git a/docs/java/basis/spi.md b/docs/java/basis/spi.md index 34ef77c0..b84855a8 100644 --- a/docs/java/basis/spi.md +++ b/docs/java/basis/spi.md @@ -42,7 +42,7 @@ SPI 将服务接口和具体的服务实现分离开来,将服务调用方和 当实现方提供了接口和实现,我们可以通过调用实现方的接口从而拥有实现方给我们提供的能力,这就是 API ,这种接口和实现都是放在实现方的。 -当接口存在于调用方这边时,就是 SPI ,由接口调用方确定接口规则,然后由不同的厂商去根绝这个规则对这个接口进行实现,从而提供服务。 +当接口存在于调用方这边时,就是 SPI ,由接口调用方确定接口规则,然后由不同的厂商去根据这个规则对这个接口进行实现,从而提供服务。 举个通俗易懂的例子:公司 H 是一家科技公司,新设计了一款芯片,然后现在需要量产了,而市面上有好几家芯片制造业公司,这个时候,只要 H 公司指定好了这芯片生产的标准(定义好了接口标准),那么这些合作的芯片公司(服务提供者)就按照标准交付自家特色的芯片(提供不同方案的实现,但是给出来的结果是一样的)。 diff --git a/docs/javaguide/faq.md b/docs/javaguide/faq.md index 1fecb883..3893efad 100644 --- a/docs/javaguide/faq.md +++ b/docs/javaguide/faq.md @@ -3,6 +3,16 @@ title: 常见问题 category: 走近项目 --- +## JavaGuide 有没有 PDF 版本? + +由于 JavaGuide 内容在持续完善,所以并没有一个完全与之同步的 PDF 版本提供。如果你想要 PDF 版本的话,可以考虑 **《JavaGuide 面试突击版》** ,这是对 JavaGuide 内容的浓缩总结。 + +《JavaGuide 面试突击版》在我的公众号后台回复“**PDF**”即可获取,免费的。除了 《JavaGuide 面试突击版》之外,还会免费送你多本优质面试 PDF 手册。 + +
cS!)BMT2K}HqXOGXo=*31yw6zIGEq)e=7)PivR0|A$83eZs2yUfOwEbXr8QJc` z$kNfSeG)0#yO- (Rvii%JB^In{TUM6niT#f?KxZuI@RftYy%Xi$+H41&&OB% z`uby!2l~1%m@oZ{!s*?buKPYUp+g9z3e?<`^p%o6Ub_S3D}8%;dP_wg5xTmI`8I>8 zGsBEh+2+I5;hvn+(s%32Ru)c2a{MqS(f|_8IoxeDbL=0c!9Y0iq*lXNt##d)=q(nJ zXnTk$NI)MqOyO}D%j74^ELn;<8NJ!wu9h{V!ZL%swtAE1;~a{%%#}y)?1h3U5-iIt z&@(+to3@)k_bp_1VRSYQH$7X2erzEgGrC97s*~W9+55DZH@~=8`bGeJ|BfMGz17DG z9eVW3!g1dsLxNUERBUXdv)l-LVkb0cw=8B`EEq~v=AB+r{avS2%VK{N9Z15~DuZd} zGs95(OfcX*UaVCY-&xk?lmmp5x`-ipppGfkG?SD*Q{W{W2;$}+@(V1f FD+i>T` zc_KodI5L=`ONYwY(#61mE0zG&4^z9AS58?AVbG2#QPF{{74Oph-P^zTD9Re9C;~ZF z!>q5mVQ +q&jp?q9fCA#@*4T z%fC>}aBrPdl7cTvD%3Kl9v%44ekQMvYo0& wf_Z)5-1iT9R%{S*d?XdgU| z<{Qi^GMvpdXfT%IPLnXi$bA|cPB*%u^_9HiOf<3_IrWwr6b_Htj=&jXe9&toJ8hSG zP~K4aCPLzCbybM-)*XWT*3%7)`n$RPE47rA(cbb!4)Fcy+9HYiV-+fb ^Uj8$*np?z2~qs~IKC=;^IIXkZ_$Cp@D(Lyas-DfpB4tQa1@ z pD2?&=@RVz7F~9{@V+~XSZNKzdACW2y55gV;n?hgP^8cg zXc(M)TEV|mfA;u;vf1CPNp0xNFC43>Rt=0~tNN8H^N#%&KjV@K{ c<_7PuVuQp@M2B*@_k#cvE%+ClesM{^ZkC~m(d4^VGNOb4)%
t1qV&hr`3qXsCU~sg>QBAa!V!hT7AE}M zw$-n_bI=g6`P )J?Z0i5v( rIOo 35`gYSL>9#e$7Ydw^sZ`;fRq*#<;|h)2%!X$oS^dWepP=|y@P-@?;+bdHVv z^=LTo@Lfpsax%-|p?ph#+tv^S!m %aGUnSED7bBcCD}@5al29^zQxRQHyj z@RG`up!6DLrG9388vQ=btd(TNIl>q=l}ZmakB5rjxn@Nf7FHKz$%mT6>wF%2H^x4< zQVePhJD7@A6ieCOiXYOXvRa4uKDU!e9>vG^-Bsw{_^D%jB_t8dgKD* z`gj+x(FtFbBmBqpB#cINl>DT5iUVyGMQgyfcT!C zaT&{qzgBm6Z)Zf@NzID)jW>8sJY->J9gnt?bp&q@#6&}v5_$`14Xtn=e(&|R&77vx z7;(zjh@(UMDvrpm=m6weV?;s+qi;`YFP|l!+aE1o5NFLLwE8%b{yBdTDA6XA04)?3 zvw*MOT(+O_-rAptJFj|&n?q04x>cT_24~~c?2F`S2ggws&;&(U zxr7WW_hC?jJS33uPMi8QGX91Se5($mo5yX^c3Pu zK}H_*-XSDXAtiU(_G2NOVKYshnEsI&cXJAt*+XX k$iGw!x@`5V3gb=WHlQ9V@xKX+;4z8H~B+} zr;ja)R-aD%I!ZWW9x#_3kDj16yW$JEm?{R*w)r$|i}@L-KB7`xFutQraK0~^^BY@1 zWaEHix%DX;zAY*XHugfzW#}vl$8P2I8KorfcN2n7XT12rd$R9r&|z9Cr%?9-5VPBf z`&A>d(X|dtpJ0AWpVmpTy`jMQ)2)$nFbrDI$tkBBjD-{;e?jr?qF*v115{uO_gl}} zl>Ncz$*uhZUQ0tjvX|~B>U@w1+PA$Q4vY}`JQJ6<-LOcR`7%z7^sNB+tK1ze;H}4& zs|dhw;ZKCr{PH8f@#8!cc25*o6e{hHR!ma#(Uwzc^u|g5oMZjf{brO3g>+e{4f$ zf%d=0ZJ`7?pe=D~t-k-v#H2LQvb9PyU*AjwS%vJ8gHOCUtv+haXQZFcXKcQH_*ZW! z{juOiV*M>P^YjVal$G&wGHlG+T#;T|pU8+c05FP&$AbjfqN^!^VK+#Vb;8f3Uhh%0 z*q5auz6&FwB7#;dRKIZj_Q^zRv=PPh2*2IgKG+buC|Vp$W|QImh
u=-~;W|=wnx;SN8XfuOO># zWb$ic)K%AY^P;IhSpwM_$=@%cjKfW~+Yp1s3+n(NlTF`euiWpBXun5rc`(}4ELF}w zq1}S~3qh0}x$5StV`zbr|8Ag9#KGfJg`sgzZyN;1e dg`A4{gzIm!sYuHaBGlXC30@E_t_GMM^bOD-rC=3Y&3sJzGL(mJM>j8 z^2407YZk~v3 VxHZE_R^-OFI`f*{`K$vB_z6KCn);a_wtSa|kZTKa?BFXDx7| z33h<{VXr52+kg7qN(2Com*)BZIZRB=nqrzo7y0dK3*-lmQE6XYg0r`Q35t(`+iWf6 z|EA;GKjM{T7l0?>116Kv|C?{FG-mjNwAUMPa8XQB-w#UvfxM{c^pASyu g-uK$44COP7m055NDuf<$2+KPqGBB>aRyAHtqf&A2QFqvi1BB*2bAR;K4 zBUl4LeBi?*&+2k&tc;M(7}}(c}8p&2iBxSNULH8w6q}9~RE^<*909KDHfz8@tUo z^aB;AhS~zGlm)1xp?j5<{k>GCax04hOP67LCz7a7JfwNWy*@OWs@D;%jR-GN2NxaJ zc`xxi)^tQOS&0cuxZ?N|bUinHE0b?*!c>g5;TjaSD7eoDrSCGV1fN?~TiI!_Shg~8 zPax-B2xs}lfyeY*Q~hLwd#Ze-{ZLS6$ fL4waMmgF zC7suUx9N)CXTG7HNk;lEq(25UT#b1(RXyT8|F1?=H8kn}{MK)vya++#3`V}f5-L)V zgK%LRCN6f_qy73UuG@x{RYdXr>?&nddu4|0e-#Mh*IMKdFcx}n03C&KZcKd{-I2Bd zaQ}HEOETKyFa!-;KF{)_f)}zpl&$cM2rhFvIHNi_=Jd&kF8~L>VHRtE2YyE!N|}(9 za>{VSpX|%Jl*65O^~rEKBUa g 7^!Jc=?KlBG1#lZQDLgLz` z-9P 3nOqAHMncC0d*7*!-<=+ZMpBWr c}{t&t@`8IhX<~^3N78 FAq{HI2cyY+$saNRT= zbQxDPv6%4#iYvY*i_N$TRJ8V08fEYuQaiYG%anksxaWTX4!4{l$vR)YXVwRjNNxm& z3T?H3a!2MSrM6|$6kPYuQ5s=mlOm3%7H|5IMx)~Htn2^r6DFnVBJ}RQy_w6P))ZsI zX1l>Am*)_8Z+sty!Ivl#OtV>f-r6)jH{~f`H_4rxAMo )k=e+mK^BH$$ z5{I>jjpqun0V@{HE3RmgYoQLQ`7~p)pH=1mBBn=VmiZ4L#nF@Iw&*QyGed#uA#Aw( zhep`Lveg=LTyrYnf8Z1iWhLtLeq`pk5HGO|kw3DGmiT06+cEI_DK?J|HTd2=d(ysa zmLvUz4;%Lc_)0EeWMqL&kY_+!LkJSzp_#Y6(sWuyYWw&rlKbOET;780K0y6H&WpV5 znZYqqTipK`uZp^_XCfa4Ci?sE-)2=<@P{p|Mk8XD(SN6Q fWY3m&OQOzsYa-M$#EVjhLdysMV5DQ1{66<)@ zpX$=|0wy^2qc4BH 5X#f$`AffP=)p*|IqDA*}q%@6rmPyd<_ }I1^-G2{zO48v1tZv~u;Un#1%XZ52Q{g^?5=I@?cQTFGZz zlmII;v~5Gi6+nV_O{iP!9g?W6(3b^!PlA$+h!p#ENF_^ta(H5z!NL!y3 iOdYLyJXPuhK@TGDW>>{H&%;|%0QZ}3V6$_0GHI=`kvd6Dd&{K#O) z(XbjkY!oV 1LaUDM{Y`odFO2Ji+o3@|fg%stk?O^O#|WD3(f48)uf5!t z$>@jqPA`11EnSOK%^}o;<+RU-vr_-_yb?jebBaWUF#UH14oyIL7km4HJLqt=V#2H% z(e_TBpv=C1WYx*>epXf$+@u;lpaCh`TIzW^mh%Skku@BC;=^n2VS}k|i7oqvCw*do z^#U?X8 (IbX+o z46nSna|v78%@DbdjKoA>SVS%MkqPOqmrC2s)yd_HQo3K}5U)N-3->+y73Axf@|A** z);|HFLeXBrstpAa&Kb>`n~zl@9>=6RX&ZoqZIXpmLjOd;KeC2Cm!M|?)lt?3bq%ZO zU#;M@V3RRh6TW_BFYx}>4RY; Z zm68v%HxwsOhJyRrmR2JpeI`}>(@g)WX@*P|L3woeO=bgv9Z@VlGI7dqrKBsAJ3L=P zH>PA3gQ-P$$WlWr0HUk{
2J`* wHQuxN71FvCK`k)(^V#9F6z+alB0Hll1ciPj zdA1N9KR@4sHW%W@HR&!n;1PJ&6Rwznbp)hSw&EltY*IE=MrE}{ad1NIQ%)G6Ao{yO z8*tfoKP*8h_kd_Lj^A%}I8cwB=XRiF1~Wepv?{jeiZaZ4%+5D>(VKJO{X&XylG4rVs>Y%fi*N*NoChQ|}d3bcEW|P2CosA}9}=o8?CF-1rt21ow YIu7BrA{z)TvL>c4AX2hnn( z0BFY%7DD*&q?3yIKC-6sFggEr;#!npMiD^RyRFJhN}g?F$ k)Iroq#Ei!JSk3jz}JD+?_$?lNUeMb{c>NlGGO zMi$B@(aT&BCdp_lkpb*fb0Z@W){5_FU?fUpQ##ic_lYj!)M)m@ba4JJ^ZrjWtwpy- zRiNkLHcu >pxz3m$z^ksU?Rh*OZkmy89d5ZF_?3QNYxB^Qy*_vsj78hL zatFbxu_l Ms&*(vZvtqyW2JXsaRw|dc@Tam~e=0&SNizzFr zPTaL>T-u!|r1VOjYkZRMg1ynkUlj>yS3>;@?|#W6$!@)dzhBOVZmnm(^CdM29zpP0 z`CPsYD^EvDT**rQW%fxn>}ohIUFh_dXj&ohx*%fzdxVVBa&K8$mhgn5yZ){Vq4FE7 zQ-fONwvUQCrwpZgtxz9i1iO%R@;r4-rO`cCN0&mVeV_)BoWwz*QrJhF<~bhk#d#W= zCJ+!6=g{}XTskx3 _Lkj{`I!iyD+l*v!esw%R1@M^)UFB#O*=T zwp?J3RQSGOIxvZgK{oE}CcD2#r%PErLVlI2f?$=qQVFHd;`gsE?uB5!LaYD&zY{?u zNQwVAIWObRdw=$q*Hoz-5JmXxz2+9` F3|~U})Tm8?UAe7VWzl z!7}-}rg(C`S&IhQO|d7V%zy8Ya^L1SyB;8~>3l=4;KNnK=3Rcs1ca+#Oh-#R%ou;D zZ%M+~|A!s(!0r^A59iMhK1i`z_82+|QO3NZ_|;F~2wlyjEY-biU-u^Y#nQjEYydw| zW*%$NZ#X=%B>uvGo7>z7)uAQmkjz8tjV8=8pFP{FRV@GlU8%<6DP9s6EVrwCX`UEf z()lnOOk41|e^s_M;hRv# D`PfkYvzEHiyO6hsM>d3`vv9=@P)kJrTel8{VRv? zF5VZ~o52;J1b&$;7F+}Ai6C^R=7+w15FI;|JQ3VrE1b34J;Yymv)6>O80MnePdgR0 zDVwckR;~+!MiTdMSe0iEoY^~5W5#R>x+HWU4RdFMiMgB$2^$ddcs+!T_GU `qb)_R2hx9uVRWvJ|u6oFf>qLxCNN%Is zx@Cj)&meD(9FfJ3R5^alAY)R7^d06L8O)#si(Rw9y_Be%*N=H*Kh;JZWCrJTdKk2_ zSz+3A-`9~^#`FccChxT+nOC!(E+IQFri5!lvULXwrjGu=D{~9Bm|wAFh04Yx{VVM9 zDImqi0Y_AM;Wt8Y44x|De~%!q_)cD+Yz}JNfi&rD19zX}nbW%#+9M$jV%D|}IiH?# z-|hszQf7Cgvj6StG;|=ae_hJoDY>Wr&5xXSe~a{QnV;mpHHU2-qO?tQkk|CSWXHd0 zpXtGcFM&h(BiZXS7ia-ZGf=6-b~2-6ggR+s{r%~E;JvbQt4e4MtJP@r$}-<&V@m^h z@(ppb!58#EY~h=0mv_UfZLK5qhvW`7W4Ga$C9$clyboV~ZJLU7DJ&TDwz~N%qvpK% z=vMPRPtp!*R!kb6-JKi{ewA7Z?qHXk#E$F}hI >U^AAM+`T~48C0NV1uRjh z_}b%(C2rp_rq7dY2*3}QtinHqm>3PzzxzKdyi7R}%_q^k!1_Vz>H)4u4v)ja5n De^>8}jEwq+}>DlTMv zm>}uls$+e;*do5y_>tq%ljX^j_!13$#F=Jzr#V}5r*1ZCLbITSh?DyBQJ6`d1IW~k zyuUg@J9@3Z7hw` $=+TJaR$s-7K#7=; z#^q-r(E`x<`kj N=evcRnE63kB5<4j^;3LYUXC__s>5gD>yyk z-1d1s3|dB+2Gg^=T#4T?+?04NP&14?DSr@(Gz)D#Wm%9*k9`{1!Z7_9K$C3Xz%Beq z=}$Q@u`mv-u{8ZFgbJV}MAS+1X3uH1lE8wKhzQYe6u$W$k81QH%R)i&Fum0gbm-;C zC6_;Y=AAv;X!#~sXLjh|Rx*d#LqW52sY;qrj1}Xa0wT%{NR-gxNVMOwS{tMQv(GkV z0BhC4IY@AGFI;p&{Zq-nI7(a1h^MCi# Sgb>{UNC-18$U1 zl7fa_SZwHT<@uS3V&RHDd(8snBYGi@Wwyg5Hflo)Z7sI%pp$n}KLSsOiTJoZPXgBv zK2Zs)mA{{rXJ9sZL{Ayc0+&_zAI1R%OcwY>w5V1R*1)>z^-f$Y#QjH2Z@RIHj`T+) z%iTSC)rKJq$ISf?f4{7iUxMW0P7eHRxYv!cml1D|VlDntQ(@R!4!N7dSx)F*8gN 8^@zBzD98(^)I)`+*{FX6AcSpccBI_Y=&s zrdGD$U#j1RpqYkv*1w7C=Rb8y2329{$nHcry@>o%pL?GS&!|WXX6%=SZ7zg<;DEk< zwn>JN3v_lJRg6zg!FvvEm=oHy&_lZ4ntGo%`4g4RUn+*VkM*>l$Th8=^2BQLyR<4R z_zzdG!TY-CI62ziUvPDU#s>K>lSz7e1vzyNU>RyZVr*$^U1`<3;JKGP65xgeRfJz7 z6K*;=uApD~b0hStke@KWVFHzhb2t6wAnNpBj5#7f*_OUUrFE26oFVb5pX1goXzf?A zKKd02I2rN6GLQ@0s~O#?=Zvu$ 1qMbFRi-FGoc|FMmPT97vR(d2B|5DLfbUjNx_0QmAK3)r7S!Xqv zmy?{A<9Rw1ujO1Og0X3rOsWd(yX3g_bA}4D9c8jb8k8)Lk0w_689iLNi3gv29zzbd z=siuIw#%^k)M_pro(8@j3U66UKu-xqIMFl*ql m>nnv-P3N^nX)2Q6yD>bk9?+*TS*6aSmNws2_rICMYoH2M{ zQtE~_=O+O!T-4?h;eX$M7;HV0=gy_R(CYO{;3|8D(Qu#Jwj2qER$>;Jj@O`wze*`T z4Km`3ULsDt9t<B9P6_lIDbg8PkvL+WYmTu?x2 z*Y)|F+VbHN3scj*zt=^%e((tx$}Xr(O#IT%MuxL_-+z&2iKDD<<6_33BJk8RA~||c zcl<-Q9;w9f7rE#Tf1u7a>eqDm>lrKi(e%rSi*Tsmt;5};%l5xq_}P~u%m_i9+F{+` zBzd{!Gp2y=)mL*2f^V4z^}z5mg;N^ZE6wqnT?M6`bD@8hoH{3{J~#h6s^8-x_U%H_ z6JX1~qv-e3CaDz#N1=y|!2E3FNyGyxoyioxIhPvj<}y~QDF8tv-n^W49;^`A$8-z_ z$v%MxYbe=Ew+l&WCG*jBuJd3%d{*N>UIl0CpaN#xH1I?z*l7}~{LY1fAP5-H=C>YN z*MoK3_01c7D5?G!qL{DW!Mrv_>VH&%V`K+1(yu(qmYlyxQw#0*zq;7rwSTv&A@QMa zOBh39-c^9?BNnvB{C!3J(#!|uw}2KXn#w*4ZuXq~U;V!}c%a78kZvYgFj~L3#-Dbm zQ)thb6khajY3#LD9;}oPMqwIbhwzhBaY1AhLZxRq*I9BvW-q1-rEDLJP6bV=VQ5=o ze`P*<@
45oc&fv0$i~sS` zv)mU8>KROcDJ=E6bUAJLIh%S&@P6YkH}n`W{9?~5E1Qq alNM6r;$|Fc{BKX2> zU?Yd+Ix^UCH+ s7I#jPOOZ9~R@$ zvH XvL2A-{Ek4^&&Ex3ixFx!3%>P*zLM>WlUZ845AC`Ny>Z?Lm)*AbLlCl< zxofW EyBR7bQ`XPu-Ey~K(+o4}@ zPYJd9)o)3%YRZaw&URX~-J;E-LQYO!*(z=L7c0}NdDPM%xMfqjGa~dI8>kU8%RDhX z3x9#++`Y14bbB++;!9b|1Q>7_RxN3!O1FBXF{q(T-fN^uBt-B`G>kT4y>pyhXUxf0 zhw{^njmIB`07rlh!?*Y3j(OF{Hbg@y-w~2(IAJrd=us+&Q^%Sc+W!jtGVggzJg_5u zqyLM*SC4m3s1=CHtgLP-wS$+nFcILLrtYFwS$KNV)pm4twCb`@EJChAWb5gY-XrBa zc?@41=R$N@wdxb{h6PWi*S*Y<^{I|Q0}-BFa!wm-5L!;KS(Ktbt5$KQbzlI0iHO8w zee}hbH< ELM2x;Cowe+u|5$}agDo&V!rDft?G`fLkzpAOpV$}JiSH&4^z{yTKi zl-BUN3Q|;KpAWj>FlYa!P8Yd;{4&>X=NnQY$pL4Y-*xUQ@b=2dy~bv`b%&hEma?B? zzZAajS`1$-)rft4vSGTu6Jq~n0f8Jn%0||Vc!^ikDzMXGkhgY7n0nrJ0S^BYe2x3% zh5ZXWF|F$_ct5i*uDoPaKY-~WJ4?XGW`-+5Y7u5V_cj6Mh@&9`J}z=HcpuTMi$0g! z;33<(G3U?h 9 WW%a2_~~975hA53 zm|e|;9o@!qR_B5z-oYJ1P5iaPn&&g&TM9%X?|VC-cw|B3h*vi 0QXNK z<9#M=x3A#xZAgo96vHvNq(&hOEvRy=VS)qg(W=h KIPjyFqF#{l^BY>8h40+eZB#ev7Nf literal 0 HcmV?d00001 diff --git a/docs/system-design/security/images/design-of-authority-system/new-authority-system-design-access-flow-chart.png b/docs/system-design/security/images/design-of-authority-system/new-authority-system-design-access-flow-chart.png new file mode 100644 index 0000000000000000000000000000000000000000..f346d5fd5a971f944756f20acab814ff75f8e586 GIT binary patch literal 12631 zcmZ{~bx>7b)IWUbMx+Hn;&KU5LQ+~lI0%<6>5>LXK|)eWsY9p0l@96dZn< ~0e&mtZu!yldh*Gea^|CeZ;yLlvLcCN#^ANJ4hl$Dh!BOX)=9##);S{HAO%I}8P zugABpZL05zCvWxs+{F*vhIZY0x7=0E+&b3XX&2ws&fRn^-(-*8Y82h|uG}Cuu0K`W zMfBXsWZ!3HWvQ#HrwrW&wBOFp&o} +4G&zMb5@_VV&l z$h*J1zA-d392*;RbaY%^Ue3?YcW=D+YrVCsx;r>Hh>MHc*x2~==@UotgPxuqfBL<) zwsurh)WGU>b#--0O3KN}$<58p@bK`?&Q8Y2E!cb8(a|wAHRbB+T2@x(?(S}5V{>); zP+VMmc6R3P@4s<;`~Ca(k*$ZJC5EWS>3QR<0#}9jO#9>lCPA)kK3FfRIBpb)hCT_$ z=zN&S z;*T5=hwxF?tA2qPX7OzPlZN_jC0t)iRNAb QV!!2tPU>RM%8mw;%f1WGp6c-Pdl=NhYHMpqX46G3eu!!x==P9nngu6w zwhq3=IU1zTE2W%7>^Ukp-mmKhq!7~;JrVTJi6PDk=}EwSlRngoXx)>m25I6JlPdIz zfuUjHD<39LHHuyjw~FCsQVV331_Wv@xGiv13UoBG7e*z)PVkCuVqLJRpSSmlm3=AK zPcgE?1|)JUIll|O4UVvQgWFdo=AaShlM`BMN!10yI#KtF0BV7d%dMA_&`HEWQ7I7g zgSyDY+y E8?^#H%TX*)Bns<2ll5VcG|2Vve*TA5B0y zKZa1;7gYe$(^!;2QXfVfp9pb9h}HH^QgYqCF39(l_~?c|LJ!=xJJ&!DI}|d!L?YC% zqaAdQ1j0)cRJ7l_$E{TXsEatC9TaA^fsT@SC**F^Cwu8X0WXr(4A28j_cmb9x>yX^ z|0v{lMfo`h*TQUFWA9JwZ+04CE;zqp{zzHaKfq|k=Iw5m7>C<6>lMNId)z0^2IbYX zctxnqc-?JtNu;XM9`tOl0|X$i0u|b|M>%H^(hrJtB`2UR=)JG$p%87P )B+($O_5U4##p-DATCJy@jjL+bguS_(v5! zmEFXfMSM2*>LA|Vp6`AbN65JSGT7&}d=}=|rA5mH^EH{KsN?DAWBi;Ma#0CL#GUJ2 zrl@i)&mc^^k#B#Ivd6#Ydi|TH7-+WqUC?si<8S&?ctBx0q|?^gZMKT*b2uVqPS(-} zL@!+Q6I)F>?bbL0SB$(HC(&&!{X~s&dg38k8E1j7KT@3hjQ+7(|0A>b!>=uyTVcGi zx~Hh#UGD3NkX&vb))cLGA9psZlUCs C7E&_-YiPaRpvU4`B)~JtD z7k06>#3Y)w8An07plG?1SmWO4=jYw&sLX`ecDj)@UPK11C=QElzLM;Ye~5eg#2A^X zGNk}eR$=sSoT%+?r4B!eEo-i`*ll!`-MEIO{;h`2bknpXfnc$tQ4vm(mr`}*Y6e9s zU+;-kzK9c^KOl7_r7cQv=)PItpxWK;%HfkM=bMeX-p0pjT5AeK-!^Ul`=pC#9z=)! zgMI|szKT-xe5F))gFVC+=9D(0T@|Q*ayNsoE-7kY^U0~9Uu= Zf_oS?Eb9J8JCX^A&d_=7 z1wkt;;&yZv#TOgCbVOmKieR{<7R`luozliJ&o=`blS$&c85MoO?T0*^NbF5jumLwg z$CT$MBd>dp`vQvP@96*@mgOP7yc{WF#;)b&H$;yqP&9j987f>;(>nVJqc`Av>N)u8 zjl8OaZ8GPIX9TS&Yip>*GNmR}d_b{Hu9(@&Escn^AF-fsU=k>R+JJQD(HX^0*S|EM zi#}i;EN~dqz-nQ7TgpMV+tvrWA4zDbnPN*@eWm2Im5fB0ITI+p>y6VUSG>d>h0<6= zvm~c(`s5m4WdLQ-_+Fis{spz#mwgYrG(VbGlbols2(QK`|4moIfZ3|ww$Zf;M2_u@ z5!CcuA;G4KALzWTv_}(QrRpQ5xml?Yx)9hDEYR1Mn8&>)&Kmi$7#P+CUwe$vH($>P zHBX@XCrIL&b3wF5d#RFCwoGVb#95=13(uA+bru-?Y@=n2Wq#U5|I*-Qi3t2}JoQ8Q z7xjl|YouAk+f~isj&f^-XrJHyir!7et--c-3Gddr$V~`;Whjsaj?rbI*IGvFOZh@< zK;apgC^|w8TE_}`B`sC|m$k6QBe7(RZ(HqF$i2z+S^^^(yl;Xni|0=3wht$d!Ig;A zPe@r2Ccsb{<`#Qp8TIkyoiUUf{wUzSJf`M;g!njr-^W7ai#|Rb%MRze(zaM#P~Sn} z>w41Z>h4mz^dFLfT82zi@u5||{&z`b?A;3c3y8;P86a0NXj+SghnOi)!7=U-A6-J7 zeKa pJ~m;YGJ*dfns9rKX5@y0L|ljeAbZaGF-?A$>2r zlTH%`#A~7i2) &3!wyylyPGzw8Tm7J1#|@x7%8!(^qXn?gmmb3DtZtmW~1{vD7;mW zyclTV-FhOLduLaD&;Qy6d$y{gzn*>^5Aw|6ko9?62F+(iev+bkz7Xa=$G}pslU9@p zw~CUmA1~i#6&4L7aZ$RWl3XJ|^R}v8Clxhvt&iF;fH?j!ts2;WQT2vuQGv=3t*{Qs zk3Ir+k4x #4tgcLX5B4Wx(;ktW&3K7YtANxzz z7HrGY&9JSsbAd>;M!SXixu@~dCX=3f4W}oMMY4ptV@~XF&f|Hs8B;a5@8atn%4?#? zRB(8~W9LiDF^Ld0J-k~TyuAY7E;+v&YAJ!i4OmuO1gTeq9o0H>ZTeo1{_m2;{*YT} zyIBzPu_yb{h5Ks-O%0L_vKkClPKYdr8Ur3A@ic*dlh{%_iDmH&Y48gv>R3VrS^zdf z_878^G$Uuv4C$4qNp_SUq|3yU2=GZhP`!UD*i1h#S!&P5)3pV;QFWP7!dwQ%moSTg z60Bv~oGO-3Jjs)l6DV6W3!qW(xSZ(qRN1}qqpAc%6;<3L*WFF6k*KY-g0F1B22$f# z==p^{i ?T)Va4GhV8I*%CtrF+^r^_B}K1` z=%7KF&ld= (+hl&7p;i4Cc9=#R#-YD`8|L2`m#g?#>GqTGP$ubOg&x{nv^eOftnTaA|CpauGIqKTE) zZUrj(2yOM}of^e`Uc3)a=0AWj3rcBbJ1%joE&c99E}dzYs-n=?S6uJcv&8k016?V+ zZ+&c|HD94~8MC+G!A0>E(YB|crYU2;oCkX~pZYX*N$(d%n->F$L$=tGSWpF2#x_tm zD2jEigLi9H%o4e(pf0PZVi>(9C-;qrRmV_^q|z3D>?NhdAVMkkrJP|hsX90%!N2Gh zCH#BW7UYb6*PRsUsFl|uePN|?dS()QsHqF?4?P<5R#>JzG69nWWUHH+^>4f}3qK%d z{(V3VcK(<_p6nVvOD<|A@7iK9YnF^&N+RTz`3rs6ai--k|4zTbl9+jc$FdKi_Ud)r z@D PSYQt zn^BH^+)kgX6#9Y#1z7PYX-U3+vr !LIwofKuW<(%bYeKP1jw}VS^ly-_hCYbvQ>fRj>kSJy!hcT3(X*d zOX0SEFrrE387Y$|Bju7KwD&h~PKSA&$sTU}FASUE8_coBJ>`O%L@H0 ED^E%cKm-QWiP(4p zqF)+TH`#I0mH=W8ZZ&uJ-SHl2&6oQ@C2() }*u% zeG`iTp@VA}k&>0&_8lt~LJVT-qZ9}By1BJ?=dJC`@dk6AjPDfFLY3zR@g~!BtsA}F z9`5}E!Qu(D5*_}1TxNCG`iIruZX4iQc(edVZ9}kF9R~yI uAg1HGHkX)(MY&bcOud#Q+HW?n@`_}k`} zPrNwN?7gu58>{C`TwYNj>+T3}auU;|Ujr-uB1_e5*ijtg&`}a$D7{Cj6;178WC!Qp z1TFPG2uI8>d8nwsKN?e{j`4aKC&gS=t@+oJUkRtLDs)W5g`*Cyg($Tv{z|D(y}gR7 zdD(~v4J)$GN~!30{dVi=+Uue&yZPsoQW?L^wWH0ZA%~yh$btviV!#-%DzV>_NB_AO z`>)|6-uG%Ih7wqQ`q%*?vg;5`KJrW5v z#zz~$NN3G)0fzQUC5I>oTH2?Mi5EwcF;2T0&6;tzIvO#&V%gMX49qrze3#-5p!@lf z2amWMZPvxS!=-n?WrJvnkFz-d!w#LOg$2pOlq-ub;_HYMTZT?$eA*f27>B=mo;-Jf zw{XGwmpT5mOMXZ;I>g?CnC68te5Tx9&VCAbx^v|{^HXF@$$BZ77~&hSNK%Ip(m?my zhnZLEM7Z}P4^-9uf#Ofe$?hOjM|3JAYi@_JFb1$$_wT58a8!ar;w95K^N{kSGD zx?Hu(ezEsUh0jB;DU(mq3o!)7J}NRsWOevwSMo%Q;q+sp1eU7(p!>xW4m@QJ@Lqxz zt80;4Ia7%DuDiYs)eA#8l!?h^{Y~?Nj4`}e$mLE#h7-$>^s5vDH<4lDM76Rtit8M( zx6eqBnnAw->hk9-KWD=vkL$K0gqnp8D#N2wWJppL7Wb_W|7BT5)j4p$r8SdRR6>7y zBL`v!n)aEe8)pEo=HVBuV#ZUlp|_xlcV`gZ4`Ew02IsrTP+Wmt?mv zV7$&e{HCHPGv)-CA1|G4DUzN0^;s|LEic5drX`>akM7W)XS|Td#S1$v=eX^!@B8lH zqd9tE%umbv@<-3s5HyZRp<8@qF=8R{15`Bj3~D0E#koi`9B;n|CXSXTsTFz+8Bq3m zqEi>h3igggQI-QU0n502em5;Dr0z5Rpq5a7n>uqV%Nm|Y;IExunI;S?n{GsxtS#$4 zdyP8GkI}%@$64NjaW&(QRd@ z;hn~$pgbe?^6)2BlWJSbOtM^Ika~2iu~xkyqnP^q`JoH83bjZOQMbdbmjf~Pw>De! z PaM$1o2owB*1g6*;4}O@t#rF{wU>`M8&r; z7pJXlB)j;-Wn!sEiQ$)-d!E%vcD(2uG9Qm2(I%Latd14_lKIZl?D^v{`E*v$(yJkZ z4kyL!{5e?_NId1VNjOW*97qnU5R+TW;R;% 93(h8eB7V+e~Q3~ZfaaP{`TMr1(lbLmW7q7le06x z`pEm#G5*0s!k77}qy#ShmJVm~lWQ;G+{f77R6U)M&VHd$Sy_(6r=Att&_RE?6w-tb z&tlUYRV3kUtz2seFC!i1q6mI;+gVQG=HUEEDu~gmZIPJ?Kw*`wHrPx6iva@jY0VGS zjF_8LUUC1R&M3CE%^^R=E;qgGSbO6a)(13C14~OL56-r?npa>|DE}^n-E&f!*)+&^ zowr_$Ew_Sy`r#_Ia_8YcU#>veSnvAb*YV5qRnEw3H%SQ!PaaOL7cH)~Pn^q0;2%ec zA4*f~m}9^=0SFQ8BcNEbZyy1rca#yp$s*-VF))q=-(C_5Eg>2WM?blpcQoshER_6U z^c!zSVIzzI&;4GdR*3%NbmYizBu-!%eYzFXp6eL>JLS~cW*^a>qj(#aWYKitc63{! z(UoWykNWEaR_}i}h!}qO4~L2m_$rf_e@!+MIiradLy}j7Z2pjo3+5R+F)y9gE+~_1 zj0kUhE9E9Ur0GbBc0}% g@Ia>ArvJytb*S`a;dlYLqFwl>Gi)xftb0Z_wr=SE7Wc(FVgs_Ihs{hOBNz8 zx)7QfFTwEZlj_5jZhJA$%fr1aR3+@+ee!Ivo<%xI)#t5hSZH{}2IHFLyS{!v67KXL zH(dWE5}_$&^~BR7;N@0<`B0bHAY%JFG8TBKm8)St00D!oIzq^GmY)>Y@BIHP*(#iC zjUbme&sw9tY+G4ong-dakO@QPp)e*CsV}+M_qpGKfcB+BwUjJi_(%SIR!x##ld6#1 zw 2qH zzmQqYXeF>zKbRX9vrFld-`)p<(PYzE=Y~xI2IR>xL!JB>(P=m2w~Vk6(w ZCU z;r+Ev{gq{9gFpoBpf)sRcJqk*%S~Kk; Tw2s|`G$8?f!D2Sk4rma%%8em$qHr@x!}muXB{58hGm*;FMfunkLj z?0vq2?jt |NBVmzr|`P0V!0fm~mxNyhU9+e9? zp{vBoZY=JAUS^_$fBl-Eps+i$P!r0ZvJjwMqD*pOOgF_R)|yJ{rv9=A`aMspERf &Z{mbnXZwD|)^#q^^Aiwm6u{!Z`0#S?&tb zago)e|C-oA!zMfwd7r_^1Rf<~N4R#JE1BEBp%Y=jR+RQcE`D5?Ey36jT`k9MJ&v%k zOh+W~L!Pbb%Eu{s=e%SnL*Pu~M}_6 2{L%r%S$6+=p=Nom?LvfSmH2Il-h2iQ6f~yAWERwnWIQ@>Ses zBi>zRy>3C25CO6O{F=?9?R#xd_vxzMz)GddD*S)$-KPPiLR!>s`Y*bt<*lF#g*}MA z4Q3pRCpa$Q6iF5{*a*T(6;oi_m vtfODy_clOWSRY--#3gbh>p+5o 14oVQo@E6O9!OwI8%s!eZs%v75R#lV(v>uO z613UEUY^nDgbI`ezQ~QlnBS5!YM)d(J*$TV$vZa8nhqyo-Ds&l4#Ek4!(^7Jz2Ny~ zVGg&J^F>3c9b$y4z`+lIDf-pRnN5Gg>K~{tvHcpK{CdrILvXK`FddcT^J?icTJ9Nn zWzGje7)L;hFdH4X1Tjghs1X2J;?xp>wdfKWd-M~bkJ2i_lo;U|EorXwYw}ciIB|B7 zZ!GhQNhmSnKdEGVc+;EiC%>kLD+sDFwFucudu6@T;vY#HNJKm_cmh(@_`w{B^=E~< zFPMtQ#i)d;_29cHsFFqG4EcI=g<-HUhxwvcr#D_r>07IfXEma(dWom#F>KugV?kt* z_{K;h(x30QEKE_Ml8hnd{ht$t*nNCxc!wKP*gL4d8c}}Yo!4i6h)R``%^yOfe_%3L zKm+=_e6p1Yf_xNT^>GdTZl4OuI^Eb =KC%*%1;?q&MNDW{fRu z(l2?z4P!;S nq$xE6BBGKDX%9$ahX#0=}z5x*k$mPoUiHi^9 zP5g)mqA-u1vI3^pGlv*qyuDGNRpr<8_&-S2DmlK-->UxRFN__3c9kLGT82(YKfPl5 z)E1TVDu$T3K^eA`Q}V9N%mp@`)jDv73+u#W z-o&3M*r;#p^70p08wX!)DR{mH3E%9{e X6Z!5oIr8dlcTbY%CjdL2orQU3j%D+YC4Y|yc zC7!Zf5G==N0#$`Wh@WO;^2X`hfa(v2=Q2xw5%QyuW7|GaU#ohy1k?F;7R1NhS*)q> zNT6@E4 tbS@_j;y78RwNI-&=dR}Vf{J9{UbR>z*SWc!OL`yo2 z=380xwM;Wny6t1S!-r+pwH-0>vQ>p0h-bx1#9*kW9g}KOH|W{_4(2{V6$7*)LefWB zn!_>kSJp3j5G*?JK#4qCMj3d-mzA%W&j$Y8x6Dcnz_B;oAeGN|36Ug~++Kr`{5vgw zgSIV@@@LfkSZj-?JXkeLFJ53fyRJv1&ts>8v&UH*R;1_lkxEB-iLlqC7wbB*KVmDt zoVUgEV-gS>{i@)NWgjJ;F4|%m`>&opQWUFui}^uqGI<8BjUFf!? xEshi~;W6uEOrX`}4SAM`QL22w+w zE6_R%ND0{!*if*O_c0|%^~O;cMf+OU P$i%b>Bu%@SmE)JorB`p%dJfz|Yh%g7t zSK8blL9Ir^U2+ILA0WoYJ&Je1Avj*_cW!!=IX3;-cQp~t9yQX}dT`!{v iesW55mU>+`T?aL+^_c&Vm7I3Z*!LKN^zxNs^tuDE{@k zuYtqkV4%u==eS+kvs$>}Zhwf)JxBg}tNbO%-B`5nR4E#0IcGB|I2Csp=lQbODy!c6 z k7c=(ne _bp^67=7d$A7W@*2tX~ZTBy{k1OP^>tF3|E&-ZSMfzWL z&ATvKbw^NO2n>LPp!;FtNNL*gvk(hSUDSsq`{p0i;o4%0s$g=LQx5h#w^{Z8!~I4{ zIoPb0o^I~gWhoS{1*nEh+cby1qo+^hFh+;t8VCVRVdHE^VchuC!ySNYc=1&U{OjN= z_q#sQ9R!E)AFzxa?_(rUOK? #ytzMp9x~~x~(X0>SfPD>< zy?)~Hi&W aBibQ4 z0W5Gsn3 Yt@L%h7%WV%cE48W9!E5--o?Gbfw?&~} @MYio@S_guE(lmQIHkecIN6gQgP8Z; zzWJ77YPB&N#P)R)VWIo}6}_W#=t3ShUNx#(t(FIXkNWFedW~Pi1v#vbu@0YMM|K|d ze3hUU!#YO2W4B#TRv1g+qjnc{$Le7ywXVKN6}+WjepX^^{~~`g1Jvl3iuF}7iH*F> zklbEu7Hc)G*K%T)h;+y9dfK^|O3JD!-K{+SL#2%;)@SC!q8n1$=j z~#7Ehn7m?Mp!zCudE6Q?5&OJ`>6TS4ZVhk);kmbCuI)ZX6XyTH7p|~ z7T`7ES>8%mYuVrGc-#B7cQu~yD#_j)-ltOargCunMlREHDaU$w87f=>W|RG4bomRP z85954-Uvw*Waa3uV`m<);_*dCW<_LA++3d;rSf1i=TS7eBGaL4*SzO%om5h|D4Jfx zuc+ofoX$zJ)8%E)0A@HH#^_Fa2&SDc>O6+b?s9uENes(t 1M6ILsKW%lXZWJ> z5R@80r4ep|La-2&cSCcI%B2hdZ7%i>x}{?}hJxmPLY7)@RY=y?hw#Ofnif8YV_&=( z9QhC90Df_bkWeFmyf3FE6fM(ViL;3h|H{685_Hb>VdjO~t696RD6}nry}^Unzk9dS zvjO1!qk7@|b h`c-DoP0b()+1)j}6A}FDnMHd3{f{M~Edu^dVcQWg z=0s+;Lhx<(+busAB)@Pbc+a40^!OZ;dd@sAH~| a@CV@0^TYH0fk^xx8cE@h!-#> zUD(yRU~i##@n1y+aR-jGzW-A)Zs{N!>R-vn&$vV^gjlL6{#osOvry4iS7#r9Js(FL z<_i()J-%J*f=!Yo6-~0wOpPbvr%AtwVz@l@p&;-S|IE4bYig7IXzT_?<{MS*8x>x+ zy%R1qi72TthlyQXY%q(g$(W9DrK1^@P5lXNu&vvhY9hS+F-2QJL%Q{TC|eH8H`rH` z!{Gf$e>?|SF_2YzW*5iPTUW{Sfc#ors-Uv $sUx zK@)pF<{^U0X6>>1hjE0rHw|`Ie_>+FSq7Amjc)C06XU%&^^9VOq>{wE1kqk-xgD4( zjnR~RWO5t!h$H+siQs~Nqik|>zURBJO;+blOIANFP(a;cbQ^L4CbBWo`B`-_-s||L zsNJw(K6@9{?J)Ne#k9#9>F})zctV@noIGihyv3JhHjJDxv;o)O(QgW;OKA79s=P^l zo)lvYC0o5Q1P dZINlDpoX0^vHSJ--ltQTyfi$1sCx?J_u%Mi6HA|Z6$^Q>Qbb$ocPw` zs3MDl%f6o#-Y!S*^wxa6>6OvMoJ>!dT+p;zs5dnMk(8Tck-Lti$ztE$mtw3J2$y_u zPctBW9+MV$a97@zt0=4^UdSkJRW{U(*J|MICkcMEJtfm?Eqvl _wqNAFL>F*lCb12cPaRhd5#QR|rI}W%V8QNK$&LH4 ^r_xe`5g5K`>ndyb; z6*b!-N!uH-CI>Mtu_o$kVKiE^2#G6JfiQEFMb;lzY@x?X^K%r%fZchK2Vv(k2lcb~ z nU>3}2(Mw2QQcYDRbh )c zzK$jSl)muABi69y#%`klb)X8yi>v61&;4ZL1EV{i&3KK2^2&vXovtJPhh(0F)y^3I z6vukzG-=A=w&5W#dZQR926AjwF7XvxRX`}u%v5EYO?%c#=3J9`ISHR7(i}>S->i77 zC;bmflVFg}%Q{mJOZ5QT3S4 (wYy1Y)%6K5dE|VA~#oD=uN9z7 Y!W<@Ckugi#6Z!0rTVR(=WSoTp!xSDSejk z!e6Iyv$W!ED)Fk x-K5Z-1#9k>J|ZZF^02buG5ZeIo}5{zh=Wxu)+%f0TI5V`=7p0g zqE_>)*c7 =JlBSk0C51S|oxE4rqTLrn0 zTNsy^ _?(eAJLf7Q4*&G<{A{@0gyFt}+$|Gy;v4=Id_k^LdVaWj7EKMo)b Lmnwc|==XmBa4nKq literal 0 HcmV?d00001 diff --git a/docs/system-design/security/images/design-of-authority-system/new-authority-system-design.png b/docs/system-design/security/images/design-of-authority-system/new-authority-system-design.png new file mode 100644 index 0000000000000000000000000000000000000000..671b7d2302817d8cfc258895ed2d236caf556edf GIT binary patch literal 15160 zcmd6ObzGEf_vg?cE!|y8%8=61Fo2+xgoH3igCNb2(jZ9P^iUF_grrDH4=^AgAt7DT z9kb)}>~Hsd-re8sXLtYE`C~r!b*>ZNbIx_H>)dnC9j&LMMtq0<4hRGy)=*d02Z3 cN8t%ZI4<6DUnh&5Mf*IXStg zsHn`$%<}SbWo2bMJ3DW0Zwm{H?(XiLot?qKL7^;^goH#$NJvUb%JlR!OA6}b hsYyY=6Oj1e8e z3GxuG*3dIfHRgzHE;35(Eu&VHzbVCsX2&xM>bcb$Cdtev*#$(w$uoR5aUwmm|Krzb zDZfd!Pjt?1brdnR&abek@RY9@HgPv$$Gg1N67vTi+-iSlq^>K`?pfjHbK+6H4AVA} zETA79zX#H5Fj;s{C6OxP4RJ)i>#j^tH%q78dO(=3ADd K1hnZUK^ze$3B*-9UQ$AqXLDYDLgMJ$hwurDBBWod{lYQS*+x2kz z*?R)mKFmC=lDzp_W%eXAh8baCubaSavje;mx?4P6eH{djfJ;1OF#>3{o--aQJ7O%i z1}B%UUw>8@`wWv*rkI=@Fp1^1Hf)`Q){}x?4xEcYdc>`{ecj>}iJ|3ppBC91ghBnj zAlU#H;2yv+rIVuGVMblaX;s+uGUIEEo&J1tz%B^3a~Gn8@n+YzvHhqktWErR+md+8 z(IS1=>BHG0jo S z;?aHtqnZ?Na-jF5lhnIw{bn21Yr35_J|RisSy-|5ql9b?2)@MFfFsz*e;%427#Gs5 zWvV_d@hQGoAdSI{yNQ)ksTFWPwDP}gek_el?p93aZpG3&dm2 cuHGhq%;qhJZPssks%Ldt#g}v^ zjRXw1!hKl`d~n8IO*kXNUlU^-614B< j;5lrKrNKx>Cw%lg>0Oh@+#wBWF3bF z`~vgr 3$9**Klp5a28zovY1v-)@+L8V9`;A7$aIMkQQn;y zbs2vO k_gxpnh{&0CqDhBDDvEmh1;>p+#T+|umzwTen#+S);Hn%7= z0VBR%T&jxZ>6m+6>b)*CNN}$9iRoLnYqL~yDOX8&9}{Iq(-h#saq7(P!FbjpnRiuv zU9!dU{W@;#qNyqTs_Z&ytvSe|>WaijXT#IJDMw@G!*ZgywZ9DYLCI|3L4EKpe8b{W zSuoN0cp%+tWxP1*DGhnnM$Syb)L?lWZ`Ou9=e$6}!8RjJ?BTN207AOA#e-@nYf}ma z4XT+ViCR-AS%*PMH~~;tG +zAur>ZP-uHXG71vL4%h%y@3$ElmSiBpEzj z6C;B>k4l|xf?~eT9cjQ2c6cF@R{AbCraD6&3#HgnIj%jSHR6aVU#aoblefo1$H6>q zb@WLY0gUB)i5(4xUtm1>DmUcVV%+1Q%=;IqHrf?W;~b12#|Iqao<4eB6oms)suSAB zy1!H?m<=*XL>%9M5jIuOP8;CH)w7&Na$=9zQ{rl2ZAXZ#QN_TF_1bRF =FYkI8f9~e5G0J<15Zo^ zE2fX>`#U2#J&A_cA7vE~_n`Kws%PC^!+VG-k{=UZv5mtQt a zJ7W{)ue^S;SNZSE&n5AFeH@S*xJzT?cwOuodI&v(u^(>b-bKtGyo?zW$`z2YXk8Y1 zNdK;qSx?#GrvW_k@TG?uIMc#uhw%@=)53v%tirsIZug9!>428#<&p%_sekvcIjpSY z^$VExfRJR8B`>1?m=QroCK}R9`?=#al1Olpn#3o|#f8R~Aki^qL=}c3rQo2enhv#F z!DJ3|{!lss&M|9<+Rmjw(9ywPu^w>)t8DuPgo+6t(f*OftwF&+axan>8?%J>gf2gN z?Z>A#d+<#)9%i~6Dsd8@ly5w$$~!-^?mtlEDll3db@Pi}OBG%D|ZjHN`WE!sw?!yNwZqu#5s%)go-gGQLjcHWgQM{`e<5{Zlw59ATXvs7CMZX zjwRT&L8B=l fM15wSewU=?F~cJt z5_N6-Hp~(H2BYXr$x=*vG_3oir5%`(N4pl3K)*q1SPX=VpH(9az$2y@-{; z2Q)XC7dbNf3?kq5M`~A_=Tp`kBNNuL5w6$*{TQQ!G2DRrOfoOPWPuJ6bA!aA2Nm$? z=49rpU8uFv@)R;VrOYzu 2}G>HkH+!JhUT;yN0$cHK9&L61 R0I@RyT7z@o`1 zL|)+D$5wqKM c2yn9nui?081?9d-%mwx>das zb7y&w>`duFNCtCxaIO93UyG9*(XkqT!O;JyiR=j yTdf^!|&Uo7SjY6XB6HD8Vxh*_u3f_M4O cQSH=Ye>%{4>sj|U2Rrj^0impQBgVmo*A5M zi-|pr_)`;B4=$9PNB!RSJ(l&28hDnG+WRO_d6EGgv5_4)5q5a%<~hvV9G#}@g)DQX zPZitL?m0*P;}>X*)c>`FDT#U6U+Wow^P|wU?VF0><=GOI(>z1Dj<>VbtYWr)J-@T{ zKhaTJf#v MNxwA`Ih7w$sZekMOS6w|nFTQknKe({=vSVUSFTD*h5n9nyAQ+r=5!%j> z1!r}8Za|4m;uI6w9s;@0QXJXchg4)G3pD}^TZauzrvHhO0L8_4$YV0ePkeVU@x)aW z7u!p&i}TmL&r2pC{WN9>Vy}x?GlBoE 1Mf=ij4nVbLJjj~-G3CcWf>95DLvt~_QA(RB-?RW>ktn7 zJRDPUy~8+lXTGqc_=U9w{T^m}xyX(Hxqnpi9gu~o;yk5-AQfYC_gORWomfBT4LsnW zM#I-Z1tx*>Rtv`{Cp?j0F${l+?(5P$qE68-kDk!7AW*`4oqcjz&VD%OGp)Ib{=URQ z0xk}L;CS;8p+0KD=MC~!&-jI$F}w^|oAlkjLujX8y&DMUd{@N!ajE#5z=y<=Hh%1n zvk>00JsdKZ$o_31HTj0G5k(8RasZ>nNpG>j#^3bo4L)9Bt3#yie!09Lj*<|}O;p>W zR83;$#O7pyAjppPN{4|3g8A`sS)cV76JMfh#mnziOn&S|2U$uYcZkuAJ0F=JMtGLh zq4dMcDl$~{)d@x*c-Mb|B^|SXMxl|8`(th4Gb*>b6J*`q(_phZ;TE7JyNoZx2^Me| z1q}=2>R-@QAaP}mk4!J2GiRN9nNR-)BL|3kNGpuXKa{QA`U~@*+PJC?9`w?_)ZVZa z)QJ%Gy@1a2ZGs@Eo#UbMzibMzKp3Q$@;CExa!pSDLcLn(z)^|?zNsA-t@s;30N8ou zxM#R&m-h~~Rile`et{GoS2kt>8~dZq9_0m8e|?4GtLdLRs; Pyh0SWdys23#eq+LjN?AI885YOUekZxgkNmNqA|V-GnT4! zBT=XBOq;!EXt~5UEJ3OtwH1uZd#$juW&EwJ^*+K!h__R=X8YTQ!UG>V`~lp0Y&9R@ zPZ*==6DD$|L6Ownc4nZ)-$`8}In{CCywS}(X^*#LLw{SIPqho8JntZ%b{DA<_Pq10 zkDq~aE(P4CS^KhkHD>#2Cv9lJ$ichpO2AF&ogG^w%R#&9gAw&3f}Gnj4jO`vzhkjo zxGW`);ZbYVLEQC;EPXXv1f=k6sv*$4VHcdbkiyz~r6pp$M|khPTW~k10?hXA_l-BT z!zA@SC}~Fh2uJ$HKuz#&=-;89;u)(u@@cdsmp=|7#~N$N%wLpj9b_NNqQ$V`qbO2? z^=zM8S^6$}$TVQE9}Fc_%Stk0ull}S>%d|5R<|j-!2Bn)K!^F)E#?E2oqMh_fWnw( zwpIAJpQeF+PWKNM43gI6!;R#tQWIc;YNuYdrXI1>h=<`w<6w&AHmK;wfuPwq)@5o^ z$N#Tc+0z;yb{4T0^+vKoc<#=bXV0qwRu8m1xgu*)yg#@b^3CT(NZ!dPrn`8aupS($ zgZln9HvIYDtK+2OU{2Rf8LH!ITttV9xi;AJwj_0lm>01qsFB~qLh@#dB-BB>m!RDa zt9_|n-E)uL;g tcR*es+-kjnpAh-ZZ3fFroX|YN_G;HxvE3UlmwV z4Ac&Gh9okd$ `e9(AXb*OlOISIp=VVU=fjK;QHW zxs*2M5q}}K5it-r{V9MPZm=xM%m;Ur$+#q}|C>jyS`^VYoOgEfef!3;G%_VTaj#}5 z( j7BQ zdpwT#i(8vQQtkH9UP9-x3YlDyiJh*)B=eguP& $Hu><=W0wQ;%WUC z^6w^B^tawJ>DXMX(f0C*>!c2* elbKo0)8`JzSYHIXs0aY-dt%QB=gBM*^^o3xyV$*(h?NMfGqmrikVLD3_ z?;T?!lF0jf`sTW+c7sV u5xXl(Tyh` zSvPTE%flgxmU0h0G5d=N!8}pX0Cyw_rv)tI{@#h^IBDdMeBq0$V2>t+0oKOgf yKw?W@3m8$0hyN)-js6Fm^}@e8o0z*pqqf$qx>LBEo06j@gc7lJ znb_4@#}~@<(?Yn?io$v8UU8 ey!z*g8V3W0>O7SeuLFqkd0}fjyVv+g4 z6i8NQcg*!vYRZzT!5F@wGDFVm{!?!)ud<4FCG%s){vu*E^IB2)yy~|P5GGmAek6z~ zX}^&PnbxDVRddD#f#2U}>DqP6p`Lu7LZs4(DboD?sipy;gW$_#+|Boht0#c@?J#~! z=!(#I_DO^@Lr>_+t9khoQ*wPl_1W-#h#&~6XCxT;a2=Oo&c>aIK?L|CPwF6@l>HW> zKBNzfXr#X4014QKzvDJh;Y0A)h^tSU#+&HIdvMjO4i~UOKdNomF7~pDY5tj z^k}QKWMgx2X0^Oy*FM(=+gd9-a4m0kkXZRCcU&KEZOCGmWku@7E0_fT3{G5Nw3VGp zNh)%qButK+;WIeR+ kH3%wTgKWQ~=TS!cji4meECM<&iN+MzFd?M5nn8rZhF$ zBOp+mnI&~`9dE=ASw#qCu4xN@gR*^ND@{;5B@Z{tpd}h1s)@nADQ>b2&R)voHrLnY zvVA}4%?~lIyLhOv=SA#1Go}w*WQv0hzL?e z(&2lEP(2Bk?WR-$wpMs6mT=`v-YAd4ic-}nc#Ld$IXNfjsa1gT;$pC;aOsrqnM|79 z7Gj&olUl6r(?=4=sc`s!9^es9XP`8usQtL8jO5TMvgH{-JCEv%EV5vAC{IfpQ|3cR zq#kq-dYVnIZ0yrdyV)iE=4?uxg;~2rYpB0&vVt~xRmjtmEbh;Bd)A_E7K^1SoeoGw z5_Rd*IE(ZgZyt|*2iKu~jLkBvWM|F(()84vY-s8{f^S_uxj+TX47O*@gXIv|*GrkK zj_Pi-nklNZB>wFVwbA|fBO^h~(pmG}eTSOYHbo}+qqk+n{!}a31G%STP9vO `di!-Y` EC#= zFSFVN9GK@5YExrfF`-FD?W4WLZaiC`yXzy{`F!;i90W=C_WY-&i5qkUrIV8iOmn;( z1S zWA{0mO)6hqv|*U9czm=$Tb#uRmxV?XOEZHXX;gyi*q?JEe+D z8tN-s#i*7KQwH7=M4XP9G0$JgSBWyYEDK45iqk!h$Snv|(rTMy+FMOtZV`h09@|My ze^@ll#^Xcle3UM1L4PFZ-&E%`rdecSe+hOMjaqr& fsz2}JSSFBE}R{G6U!ndQPy_Y@3hZ0yGjZ80yb3?~Xw zuWi-vbZs+Ma8e6hu|D0&mO_^r1oyO-VBxE}{!~mQo )Djmwt@U3L5#t84U3Yo%DpjdjhrctFIdx{q&%(L4HIQNvx3UxW07QTN&yWNiC;IS z$HQcfbWH<)SVaR#KW3PiO+NcmZ;yEPiDJt~Z%7pa(7KpRMm5JhNmw|wj-4*D$Y9rI zhiW72(u;RqG!frF4o^tIQhZHl12Pjc;AgAnQ1mz;F%NF3Cb99t)%y}52wHh%YCM#{ zcndQNsOlAxSgNPhsD-Q09j^cskt{U>BV579{BW!)eZzQy$3Xo?GzC9f1BZr(yVXH} z{87xsb~@zM-i=?C#q!FAWkRgu9R3K~D7K=3Dy{I8hZ6L;Z>ZU?zu;7)aj{M TU@rK{G+tvWwS$8!>3ADdZdI(lk9o|&EnlwPePI?D z>v#Tdr=`3HV7MR z!ZI{eS=e{+vB@|}K>}~!&mB6jG (e>iucMosWIdVKF2 z^!MTuW->rp>4>#d@{=x3xBe2vtqxdXH`cn=fevAw{hACo!-uRhz7bD<7QVWMYt@u0 z^%uk7ubRIYC|$^@6^*Ozyg_luM;ND16Io>r{zC;(v1f#vOt|>dpWe1nVObIB=~w>Y zD;jo^jRmjjf&!F}#RUqRQW7YoNu!15`pwyiNOM9rgxh|8NuR!kuw#EzQM! U z4(od6G9x)1IQ{^56U!aRvwl}-orgZ#{@zh&xAxM$E7W6LPy{_y;sM|*swqoHlQCX5 zU!=`iv16aHpGA`qdHLNx0F(2S{-7$n_<6^xHD}vWCZ>;L1H~{9N@5_YLRDDCBc{uA ztC}x)$xoQ4So8>t5J?g!oWS&xs(k8r-mxN3cmZ$b?>??t!Mfk4r0rT j1uZAa=-k%<#p zgmMNu^Fzdul~3nFtXH0ZTVU&*d|8^4a;MPTSU0(aSY7t)5sfS;5VGE4(YDs5)vQS< z3@LnZ3kLdL EF#)tJMm2UIfVB`J26ju{5KOaUC oQ2 zsum)%1TA`CEZF0!WFS@McGk}^CFYpf7MhvNzF^l870JB4Z`$EUQVx`ec7c}DRnUbk z4mAC%zizGhH_iLgT}oV~7R?pVW@gD;A;ceUHAOV{CIw^!+U0yP?NYdvL7VLi&vXu= zKzxsQi!02F5kkdZD0L5rTeFj15BN&+R}2cFcD)Maq|c>?{VauUX+PL4a>stN)^DZ6 zIG;$)sm53s;4tre0Q8B2dPOL=8w<-yJcrl)MJSd6bm&z)3x2kDDj?Q$STqsUekDuJ zc@8BrTo3gYq#quAn2`p2ZLsaLSr{$?=4G~^+{*s}677<=bYOvCN+QO>LCMGhAgw~m zyVd~TgdmdRYe-jeUQusDt;c+rN8+hRzsRjYhyVEZ27ldij1QO!+lgp?b|V1m2ggUG z;T6WUcQ(%En0dFDQ+%za`)SaB%MCOQd4hTPe)Mc)6#BCN$sgKuiVhOnjMT?519aIx zxkjP*f+kg4mv3#U^ix7frpB5$@{4y~p_IpiOyuLl^}U8dx~2(7NPPeZ*-<#{{gRia z#W;gfD+^kp^?oJIa;2aWo{8`=45mUT4wwY8Lw_BHFdb7MuU^woYN5n{uYs8&W5)a0 zGsl;X;L@f%)gveRe20~Eq|@vR88y*;A%-~ayC30AzwvqZ>B$@@AjbxVJ)a=&au`jA zeW(y=SWjkrzfCKTkI?UdisElQWQ?+d1RZfWI1o@(ub<@kC{b$-N7RXu9=FLr;ZrZ! zLEO>L&BCo_BI-F9RK0r1mW3uQ?{W2<2A`>UKB*JL!`T1*U|AGEn!Uyr28tly+AtZ) zHecdzwN{4rAwL51R}|f`c *S!JJ&A<`egaoc6Uv;oAuy)s(vEHNo>0Z`Gp_ z5uk`%)xf~3ENqe%GKN=J#;5AZP^fYF94z(?>S6=dV2LX!p+z{yac_npzf%@A#UnWb zg#o}C+<+D(MT^F*iL0g@cR*jpAm@6Z$#S$1h{|6c<#K-z0f3mTW)20EEX33XEJiiq zr3PXlR`Zt?w|_l4_me;EAR0XlBV{XTWzPDD4Wt;wk%|Dvp>Bm2s`Cntu{aNaZs^$8 zo%wgYE%%{2Tfg7hptr5# KbSw2+yrYTu(L!NtXw;}EB13N(gxn$zF34eqS?@QtAuBfU;_@`533Y}{l5 z`u!Wy&kU6Xktyc5k>xR{oP7VqizKdCZeY=cTW~|V0Rv9(+wNCrz}Xj8fb7@IyK|gq zJ4G;C_h-HX!n=r2s8W=p!7mz400$XPHdWFsqz)#86R=f5qAio4)XEe}W?6UJSdsiu z+~JMlTtSL(6EX %STK2PwDoFT-s*xqlcXZ4HdclqpbeN _FPZUJP_t} zBC{0LrAxMe4liovQn+CXc;n*kJ~eR?jzuEh(W)yj^L=j@#B3j-D-l`SB^15A<==Vw zhNU3Sw9dda&HJm;d~;_-{`9Yj;iGZSHi~-rYy3SHftgLK8y8HR z*#z8%O9|Q}ip_kD`+6L^6hTfG2L1J>6*0~?25u8GQa+09OS-Js)Wv_IYyc&K6EKn@ zuh}0I-M+k}z@$P_(uYAYdyleO{dXVJ<97*PSKjX*Iu0P4se=iy7ASD2cfJIh+@RzK zGIRO2{mx;(L3^pAKR+S07i@pmJxeZz)`LxoZc9s0cL+8Mp)c!*Vz}8F-oU5FY~Nny z0k`)#R|qcMS_B94p?5v}c>w_kbs4H`vrS1!M-O~rf~%5}H2Vm7Z7&!6b=Y7$I3oO7 z3;hrk5QteztxO_|zy2B7pG~Yohw(`^-v)v4E{U3)eu-AIt}!|AiWKf(s%IRU@Io &y;Iil-O z*KB?JfOo|zdY~tPEnc)v924g7T^sZ! G1{3fz#qR0b^pF)nyC-JR8IeC9?4QFov~+=Z!wJPFS!AxgI+VXSiAcR~K- z@U%ST6i*QKvN6z`9JJyn9*4SO4U<)y1oVM}2e!tUq zNf_^zifG=`jK_foe?ooiz=&w4(o$c;_@P}+8;WRwinshQUMBlU^i5t8M!YGRfhFVg z7#w^kOiL6QTCC$ tvAX_gHQksdpZUz}rcr48927p?g;`^fsJ_v7LTk zOs!ZrV6)?int%L&ZKDfIX)oUv^pZr!Wuzf@ovC@DU?`k7B=8A?a{Nl@8{IznqtmL> za_0?F^kd91|Gh3(iJ<{JKcun?=Dvv#P=NO$kG<~QXGG{1?DH=E9Lt4WU$N#|$Pa>v z4x`mNiT9Mb_X$d+s|t1oteUVIe}ItH(QAD&@oQir1C}h8mF!2+#jQ;DTLzis*m924 zj<#FJTsE(mzyJ0RVu2KAPa=2rt*$u$H46RV1Y<@j&$}PiC|LRP;h7m9wxiYpceN=j zq(G;K?Sovot+GbiTHy|YZS?BhCDC?6ca0yF{1Atge7#>wuB3shIw&gWk50v=zkk)I zd%&zQ0Dmy=ja>0Q$+cm59NRhii5 {Up;oD0U(97t zYHFT6Iw}>%TlC-H!%m45Pr-FmA9mt^k+qA|OqqizIs|BpbzlMA$e-(?RZ5OL5OD8@ zcW{lq;P|yW^4O2&RmV*f?li^NHJej%!$i=F{RU2D0M6sh*5u1J#pfeMKbz!D;>Tk^ z4*yi4fxN?`LIlw63=o-vms}<~u+1Ir!gaxqBOzeVp2v@owhwK&VNP*^z%%>DT7fZZ z6i0f81{_Q*kGK?ikB|eCXzd|g{z#&yU@L7W!dB>S<0yWJf)Nl7r9^x=lR^jrW}r;E z^Zn-gi20NFN5}x3#qh7aKZ(Rfs)!@Z4QyNsrD(4D-$&aqLTJmOxSe~d+3#6;Pm%K> zRbT=nAK)VhxD(iN?0uqTcows^kYjpI)_Df&{HaLb{n?|b;(!I2Jwu%gt|+9lCA3fz zwX6YA*&EVt#rL->&>%FnL(p*{R7o*19=h=9Pvr*GuxMqqOD&i`InY2Ps(dLCdHi2A z=49|qYmk&9KXYFrk0Z*yzUaLN=<&a{ui+Sab%%>e6eQY`p*w(uj?Cc$WZj#t4n2K5 zF5IyWii&%HBRMFDS!O7NZg3VFQ^(B<=ynegB4uUQON4`H5Ze6t*v04>dL_yN`k)h0 z!FAdAoh^BDVOI=WJFxIGiV^U-ghYVStv~pPXP?lp&O)KzKB=A&CSkN!xE7htg1EZ! zR884?EJgW#N9h$Ki|j+vsLA(SzH6q`6$9vtua)z#aP?_5IkAjjeQ}Yj@_4 zroP>Re>tP16p`QU>Dpcg2j~2CX8Hc&D!e!$ezm`LzbciR;wxf_!s8YyHy_wJc=hTm z%CWdN-1XIYc(y#SQ1?S5@%4h+hvSU>c#^!NBQ*+3@Q()zzrQZ}Z3-`CG0Cy5C!(9Z z*Otr+t$tE_%x!al=TX}yzbL-0qLu!J-b-}-Z86D!*s~1wcKC0^y!kdXvskdsVfG-f z|A90wNnR}_JAXvqU?uyH!O(656cbJt#mx$Ypf3nm0gx7)fGmnz0eyw0VE-Acy&ht0--}x7nj`td z{U2nShp)e P!HqFyPM5v!Nlu`tLv&p z8J-oH5HKu~p9Z gh= z_4~J>LVi? v6yd#g%j0ERiBdR^ WIG(6;V4%dr -`|9kq;##;l2v; z%k)gWF~MxT#Ahb#kbM$$qsW;T9+Oa3YIZY%>PM5-oC8|mpCCw`C_A1gN&Crf__Sf9 zY1x1}dP9=o0QTYjvh#W>J|TRrwyU{I`e4+)LRH}oc77iQ^SpVky~^Y63in!^v6{Ha z7yU>l3{JW=Xgv|M?gbRjD8?P+;M2*w!PD|74+q`i<&q=3CCDSDUq(yt5(){oGQV(g z{(*W5&U-wo{_PQSswClJUyv_koYcKTB@J`q*J@lAwCApn;0VK%m(;H#@<^`m7tA6K z#xmP~8oSdSl=MYS0Obvd-I>IVPlaLSx4vYbM>0jCBr;!Q78t8m)DqXG`rD-X)tuP` z^@w<$<>|FFK+D%uzzuYRQhIq9jW=At&hZ1li>y)~TTW0i4oufCBckt@$IbRp=E~kO zjm7n=KtyxPZime42sYeWFD@eH1&!*_C6!}gAmGJ9wVV%lz4q*kXPTE%&ly8GBKe1u z7C21WBBIcN0@U|V4e&o<#^~Y#?%~mQ5G_5g(F{?tV6-}}|NPt^eWNha !~IifA5@lBhoQvmGq2{;t&U_KT&1OW}Z`AjU{URT>ls7mwJR z{k&KD8fhC3?xa@zSZ! P&y!9i44~UY?eC=+%S1zK*jTX-L;Ch`*DcrUgzvW7!3Bw;BsMp#kaw>y2f^ z{?BwJnYZ|dY>7C`sb1E3r@n Mi%hvR^E8YA+yLP(XOpY8y&wOII {a45Z;M@v7Wj%ScJ%#b z0aqH-#TwKygk-E6<6POgI2w9Ly?7Uqv>al{*+x{v5gcph>>0DhaV6vF8K*hxSm_8Z zT$+HM!d0#DJi)p-Z} n{W3PzVujEY-E&m>>QH$GWI&lo@$O?KVYjJ+ z>gqdHq=dZ1mzLy!-;*nKS3+Oi52cXD#UE76;IHtCw9VoDDzU?d#Os1U#6HN!+W)HS zS>a2q<58WM$4%B^Nj*xqnV#3q#hHJn_nEahmH}9x=eU3F_=bi$=?4xG^Y_+=?NR(@ zg>=0-#=ycaO30Tg7p0s<=(Gkk8XYJ*)N`RlfhU8l3aQPM)-D #ouC9DZNHT00z7!i|Ncpv{3SZt$S;l>T#|wMW3)TBN zOP&LG;9^yzL9|SZWypLqKA9~?i~gaICCQY}&Kd7Lt!nD?5|Ruz^Ye_NoUm7C70Ku( z1hpT`J>Ty#B)5!wjP9w8kFIsRZBFSD6VP+L!20VNhT0LISLhu=Zc?T#)~>Coe!=bJ1! 39;9bZ2 znZ!1r;JS2|Xiow2 oUgHmg5Se(M(_MTH6(=( z5+$6$$f{rn`6*(wIae=b(k_3Ndp1PPK=pNc4TQyD5tAl*=NQv zWPx26vCV8YqPUxF CKZ(9`iWoN>AecbLn1HZ9e{X3^MQQWtQP`D8KPWvfk@xZ`)qV0zq zx<}8oz)PWMvJ<$iTs`$CA8E0<+hN@)7fyx72d0rd?d{jx=}!fWpG<1BKaEU)!ndI= z@|UD4x%XmYop~>23+*SPi=MYua(!f!0@l;xU=>76NafNYFz>QP+6%1@!`qtnYPyqI zJxAe%s_)4m$DtQHzF+B!k(rOcN6Lda-es*4)CyqtD{i&mN?S9Ana@7{;PISEQhl-7 z(sy?-jOe7{(Jr5nL!DN%a*1|ylcz#zp7Q)o;Jw||cOST;xcxdBKF_N5e~Qu>={dS; zO#8x!aOY!y7z~TWH!xd (mM(WErzl1noSogHg^&Km)ffZaCNX=Yi z1-Ge_`$~_fb9yQcy!mDZh!<;9 k7-cdA^0KIZtRsI*N<=@tm5fh@c zg9oD>as~F$x5wSX21)GxRQP#u`v~MV9u% Wcnwc5!y(53Ap$Z-QAb zd5}B^mUU7gD_Md8!o>ioKA>swJ_rr=675i#nWyP0KLS<0GspPf7TZ4=hORW*^q$qH Rv?Bk|HB@wztCXIH{uh?{^PB(x literal 0 HcmV?d00001 diff --git a/docs/system-design/security/images/design-of-authority-system/new-authority-system-management-interface.png b/docs/system-design/security/images/design-of-authority-system/new-authority-system-management-interface.png new file mode 100644 index 0000000000000000000000000000000000000000..13ed60616b4a6f5bfa1954fabcd36cb9aa7409f9 GIT binary patch literal 43043 zcmaI7Wn5dqw>2Exr9g3Qp=fa}1TF4RTniLRX@TPIUJ4YaKyY_=f>Vm56n7`M1t%mA zeeS*Qhv)bH@A))mX7 a&oe%scC(E9ZAPhU0uDk zwVjxlxVW%zd3o8^)^>YyGdnxGzrQ~;G*n+#cXWJwiA1upvf9|#oSvSZoE(pij=H+I zeE$5ozrVk@xEKfo3JMD5<>jfUs37%> -kw6UvMKp@{p zS~Nb2<-w6=mc=s&FYqHW8x-9CXix(O?^o*%2s?Me<%;2@8;Qt>sNo&NH7zHyyaMSL zfZW)4 y(G{vwbgzab}m>B|Ap!;eTdZsg3&$5wdYv?cPh)BMHwqr6Jf zZXWXBVCE2kiH?4C^RRV+d_h6B(%!MCu9XA?>antX8B^CJAhrVlilda@%DnShJesc~ z05B1w^`<@W+(#?@>dno-YY9#Qvv29QS0CQT5%#F(AGTK;cmM!BfAbF85gJ&z`fg@( zSHB6Ly!GFg7WY$MpAT5;t$R;}6uO{}w{z}hHzKeGSH~{ YEv0@PkYDu iP$UT;JE7e_r@<#9Mc6 zYWP{g#Dhj$?Xv_0ISnLrWr&cJ1`_^Z#_PmlFrEPty8xT0H@k?$(N-#by+Wh#*7l_+ zYDe61Vn-1segIBt)7IT5wV;I}UvUb9lMqoOi12qi_douR?RUx>?m S9xML5)=022R;iuZQ2>@=()x!>=!u< zw>9n=1<+R2)MXYBTHP-j%BHyF`y__7sRMosi2kq?U$@JaZpe?0fjv0f?@gw<`pwIQ zzn?|uh)9?5+a6d2kQSISNoC|;Fc~D#e`)cz8w`iowjX7r+FV (0MnZhdx>WbaTC%EFQJrEpf1TYeqo8J;JJ9?abH&xC zrd0{hC_8*4{?y(*qo!jnW7A~u2B&(N>v806AltM(i6^OhNhB*fQ25g6n_VIU1TPzl z6 5GkV!ohANRL-Cl}vK z+=LSxVWm`xegC6AjAWfx!-POZRFwTJrLX^x-vT_d@)+L1xZTphqC&i1THTcZaqVOr zzA?PtJ%`gZ1pLj}%-C-jfWi=?IbNV_kj81eoy%Oe8)^U);mKYUDmUduY9?&|8}t^_ z2tBaM{IkFPG#_1k!u7l8mhZCeZM)8bf ME(rF zL!<^eZs>GCOlY=kidURndO#dxBKU`c;ok{egg#_T6j3j81?Qt&=MhVyN$?%h`jA~- z1$xc-QsCJM_Ou|SHg2xoRAYg6P!PbqP%E7NC9MrO> D4;qLJKC7 zCZRcP`p%=vmFd3+a|8O`nNgI6pN*!-8;ThIWb4DK9(G+~qJ5#luqke~p=>GSc|~_3 z9A+DG{jnexoa_nL4I^n=#@?X%bqOP;e9bxa{ {-@U?)7QIH6vQGxX zXz#~{zlgoPF))&y&c4EKRKZRf;=qVQ%vLRpzVr7ci&?rbsF$>x_uC|(Z_=UYoa;E# zprVy#Vr9_Db1Ax`D8Zq;THUc{^`_HDf@ZVZ$WB=jdgd AxJUa+I(ve6djUeg3^$%8_AI|2sBQLwv~a+LXg zRkfO&N9$rbIItdk9kb_C5c0^hI9ir*ShS? TRS-(5;fmuPjkS+(3-X% zJl%l{_szc=fIFR6a0#ard$B-M4|?dRjfCrh$U0NX9byx>Vhv?K9HaNZyC37)(EVQP z39HnzYtU5JmzwE7W`99uwYm !o!|NvTf8 zdnlgEO@N$28th)NKnM$8P2_D}`y}1_ezI~3JX$S8bh8i5bokGdp4M=q9a#WPrQVgq zG!!kauDH&0J=Aj#UH-gcui#5j$2>)sa(qh3noVfVx-MpO?m!!?|H;_^05 iqUEdp8nF3kGW*Jk_wSpa1{{Z=RC;X$cy!e)UuOk39MxGry=edaO$B%~#DF3QayV z0ke}9&lsDhZCF3*JhW2#8xu+%-qv6fo47B2nbLdEimmpYt%z}5YI|BsXzK~@O$-Z2 zqu=#-O|VLW p2jmS0tGW}-ui-Cv>OPPp(O=% ^=mGmoN6e*h+b2=cvTpwyl{SDEa!jW5r`{ z$)jZnT;@yo{+cNvev!qJO0mW`Q^x^a%aP^PmttjDUW9wb$sgCO0OGHgU(B7u>cKkh zEP(0|?bVhU&tx}92%`jr)Me-4r;`}^X8&_?V8svZ3YJxZp~M^A^H+d(DpS=Qr~ NzZ%!F8x;2}aM_(+BG@vJTigdyX_jWC3iJ~Kq6q8*{G zN@l-eJx8Fj=^CwYR)$P`?D+!38Vxf5Iuwzi%vH1-cR>)f?2PdlllgWs#GqIPpH;^e zc;6D$l7mkK6Tj$w#;cI=g+>Ik^gdt9$3D-U#5~KO>61SV7L>?xD8`ug4BT}F9!zX( zU-ca01Vpv}ZvevPR}%P3{nzg)Bc^=&9Y-e}TPvYH>6~iC0fM$d1P#$fMU4l77yypv zr?h%+Dy7=fWOX@5Z}V3Lm$8TZj(04^f}P9C5B2QLqOm3(Wh(6;N;h2CeGOmTTltQz zY0YK@wn(KT#7(DZg^V12HVwRY#;ASyrVu}byG mjse+T94sb9GR9S)P?>rhBfCrW3j zoxWfYzaqC6#>FaKnAQ^N1Xn>z#eZBaV+WP*_)@vIaU8bgZ@tudq0VUMz 0tAelq&)|+N@u^Lp67^W7!VM@$O*|N>t^(6NexXbcdf_ zCZMjP5Kl1X;MA}I{4NQA1{lRYc+x@@d)?(!wVhhQFLCMGtg{)hH6xd`-Vvj3oX;=+ zf$d7o!FGEC_x}a)sYu$1(Nlv=+m;6$*#;6JLOkba+fD>enYKU0Ls;b7OD^n?vjo5U zi_`*eodXstAe0v%FLSnC^jD@n{2~5bmNag#vES+Xj&;5CiSSzKh?SU7;LDy>pAPen z{s<~<-9bZ5^)>AOQo@pjdoGhX_s4a@9%#&yM0P*zek`5}_x;sWm7@6l(qxLECroLy z9)XrfB-$K3i4S%w1)jR})U3RB6W2?D+drG`PTVOfEYH6z%}PD`MonT5eRCG8ad17~ z9Q+mty&R7(i^GYf3_EYvPg5!S`}T4ieKHq}SEN(+q#|P=69>sv+i_zGte62o(Xc}~ z8${YAYtYLN{=bfpBTO?nVX$vkS4~@@*K}nFz7{)ZtT=(S^#GKbw(p9GAE|mz+Vi7c z(&ieuop7MpcQ<%{-!A6KG$U1fJ(jZq<7uM_mHgz4Js0^4&a V>rH(Kqee8BuP2+kBc>E2Z(j@g?D6NMmqZ=r?b97e)19zdG3c} zQvbo_P}X}RJod-_g(`gN6j`T0B;)thdcksf^rD*^41}2Zu2l8jZKflf{^mRr)ktKh zG73y9(0j~Shi~>=P11yBdQq(x!U`V5GIoV#^KA>$%C8?{Je(U_C26OS>h}Vu!^#&0 zLWid=jpb6LSr)XdlGKo;55((X4|6c*P@A#55~j Oa3z zCs-4jyS*e|70--jC^NtJ7#X-yaJ;*ky7>Qc3G|DFeM6hWBA#u5;@s3gHzLq(z6m>k zjHiZ)`-A*U`@KxhkC)G8hMaS~su+G+rwx ei zlh81CTHOXe|8ihi4i++|Z@4OkEV%ExzlN`C!?(fDH9Dz1kv@))N|NQ!5y&_9pL9v4bb0uB z1Qs^W$M=Sy4|=Gqb7XgNr$ez9`m_MhBTH?(>01I%G{)5#Yh4Q=R6GGx0;#qL&V_Ac zUGj%ypC9Dj^wQi*cNTX@&f$ntKgcMB3|lnb&REj~kBS4~KJEl6fQ(c{w(xiBkt^)A z?f9`#(b)*3>~#~eK&ooN=_1D?g45`${M{qQ46D$N#Vh|SlkvJI9lf}`H-j#UEQ6`d zTL&QR(J5j%S#^hFVGo{nb%RZ49Z5Lm7nhhBI>r?cmiTUOPz&k91t*q>x-O4SG ??iRehJ$#x16Pgv-|dj=6k| z96!Hs4@_pb<+8tU)!Pj$8!qm)MJEZQ4o;ThJ0BNn_`Cc*w96u*^zb1C33mSc_0FF# zfqdW_hL=Vq(@!+suleU=$!HZUl=K{VeM31uZpk^4$Jf(O6L>Ob_DCckMhH*jyXEHq z8$`%K(og2d!kT~zF=5kW&N%}nmh&@`(Ak4T2mcC$nTm+QX-x(dgs@edG!i@-PXMWB zFlvsrlepHgyr{=`g*)WPEuC&x(znFYavBZo&4R9e5 ^wF(8mG$8DnP4c=TJC-``I+0d&$XqFWlvw-4? zTyG=e2b>>yd-g-g$*v?QrI7Svt~CJrQ!PN95JJooHY}nbE5ybqGmdsQt4frc3eKNo zL0r9pIh1dodX=W$?O?7QX0u3H2Pa?jO4gI7OS~o)ZFaYWIaNy9NDD}EEEO4Et_>kY zmW{l)fu17CsTM+=Bytg5 01!rw>AzfAL77Akfn#J0WMmP zjZ{^}PrY{ cRFNY7n#K4DTiVEupr-=*imn zX{YzkS^N9+kE$ZHY_hEnUV!A>u rd=6c(Je4&lXPTH!=J( zjbEO+k3sg1lA?_5hoBP3=Z>Wt7I(TNm);gl-}zjW5PN|i*^J0qyT6oh1$XTK=+uA! zViH@+Pw%YJ!DCXAS)d$Qek7^&-|PJdhqZ&HcON%6WB&T``dhwc$e>y@txBQunZ>e0 zK|gpG9#pbiPK_S!){&$p^E)$_F+W~L!kb?bHK0Q<5B1t#&y|?W2eA%J|D4JqrW(+I zLE_gWjjBx%$&I?Xs U^5xLV*jsj j0|6J>~$Pz-*B $e|2hUjO^L0>4oI8gXJzWoe1L92;rhrr$KB00t-exmH8|h=agk(r-rF4( z_m9ZB8#VSk{ZEccS}q3c&v1x;nzlcjXq|ezx4>ZTaGwF)6j6aPARlLa0(|!z20Nz+ z;V)cUJ_VOk8~I+?i%4vRZkL2Kr2$UbEd7fBRShd6ES7eoUoI>*#Z?0`(=e#Jn|oL_ z+Y>7ap4}~cw=0Xc3Jow?yE#Wb_tdBDB$7^1J_#Br>bx`zV&e5X3%=#2e$+TP%Jm34 zG3ly1xA5K8-)wvB3V-^$Vzh7a*M|-CXB~B&)hjM?C9zQj *(Q$Yq@^FhQ>v@NwJT@B2@+ZA##I8Q6!b2lX zKFH1z=FSrDm42zUPPI8yvl)Sa)%j6q8q)%(K4;YeI Gpwo>J>`j=(fb+OhBjb#J6Yjmec~H@2Q$^j?UV6`thIy7&a;TTtt~+f zQ<-UgN0Bhsb4u`pl;k{YbTI9e$Dgl^hd6A6zUq$&&>v?@Se~kCZBAI<3zJ3esDI38 z-sjz5D6NI&p#8bz(z*iJM45;U&k?X~zooxH7m;7s2N vn@E5BjwNHvX(-LgF*7DCqtEQi~)7$)xDz-uuf#?zu3Wfod{vnADxQtzr zx3dEG)@u6W-(_Aw~Qrtc16G8GX2WW?Lo^Z$*M8qXGjyu*xz z_l7IcY?EsGZ+MfD1T1Lk4&Mw>yB0~{zC~+BItSS8z8GycOU1@syAVWI8D#rSCPOom zO(*x~1$8;dPVSxHWMe_@7u|WLEr#m&hTZrW;@B*J1?PnXaOv=1