From 95c4d336f97dc794d41e8f9035d8317f1a328ee1 Mon Sep 17 00:00:00 2001 From: Maxim Svistunov Date: Fri, 19 Nov 2021 15:47:10 +0100 Subject: [PATCH] Add docs on Knative Serving autoscaling dashboard --- _topic_map.yml | 2 + ...ashboard-activator-request-concurrency.png | Bin 0 -> 67467 bytes ...ling-dashboard-activator-request-count.png | Bin 0 -> 76308 bytes ...ling-dashboard-activator-response-time.png | Bin 0 -> 72326 bytes ...scaling-dashboard-observed-concurrency.png | Bin 0 -> 92761 bytes ...ess-autoscaling-dashboard-observed-rps.png | Bin 0 -> 89818 bytes ...rless-autoscaling-dashboard-panic-mode.png | Bin 0 -> 70150 bytes .../serverless-autoscaling-dashboard-pods.png | Bin 0 -> 200428 bytes ...less-autoscaling-dashboard-scrape-time.png | Bin 0 -> 93214 bytes ...toscaling-dashboard-activator-metrics.adoc | 8 +++ ...less-autoscaling-dashboard-navigating.adoc | 8 +++ ...caling-dashboard-observed-concurrency.adoc | 13 +++++ ...ss-autoscaling-dashboard-observed-rps.adoc | 30 ++++++++++ ...less-autoscaling-dashboard-panic-mode.adoc | 6 ++ ...autoscaling-dashboard-pod-information.adoc | 6 ++ ...ess-autoscaling-dashboard-scrape-time.adoc | 6 ++ serverless/autoscaling/images | 1 + .../serverless-autoscaling-dashboard.adoc | 53 ++++++++++++++++++ 18 files changed, 133 insertions(+) create mode 100644 images/serverless-autoscaling-dashboard-activator-request-concurrency.png create mode 100644 images/serverless-autoscaling-dashboard-activator-request-count.png create mode 100644 images/serverless-autoscaling-dashboard-activator-response-time.png create mode 100644 images/serverless-autoscaling-dashboard-observed-concurrency.png create mode 100644 images/serverless-autoscaling-dashboard-observed-rps.png create mode 100644 images/serverless-autoscaling-dashboard-panic-mode.png create mode 100644 images/serverless-autoscaling-dashboard-pods.png create mode 100644 images/serverless-autoscaling-dashboard-scrape-time.png create mode 100644 modules/serverless-autoscaling-dashboard-activator-metrics.adoc create mode 100644 modules/serverless-autoscaling-dashboard-navigating.adoc create mode 100644 modules/serverless-autoscaling-dashboard-observed-concurrency.adoc create mode 100644 modules/serverless-autoscaling-dashboard-observed-rps.adoc create mode 100644 modules/serverless-autoscaling-dashboard-panic-mode.adoc create mode 100644 modules/serverless-autoscaling-dashboard-pod-information.adoc create mode 100644 modules/serverless-autoscaling-dashboard-scrape-time.adoc create mode 120000 serverless/autoscaling/images create mode 100644 serverless/autoscaling/serverless-autoscaling-dashboard.adoc diff --git a/_topic_map.yml b/_topic_map.yml index 468e49171934..650af3516c9d 100644 --- a/_topic_map.yml +++ b/_topic_map.yml @@ -3211,6 +3211,8 @@ Topics: File: serverless-autoscaling-scale-bounds - Name: Concurrency File: serverless-autoscaling-concurrency + - Name: Autoscaling dashboard + File: serverless-autoscaling-dashboard # # Knative Eventing - Name: Knative Eventing diff --git a/images/serverless-autoscaling-dashboard-activator-request-concurrency.png b/images/serverless-autoscaling-dashboard-activator-request-concurrency.png new file mode 100644 index 0000000000000000000000000000000000000000..d58e827b060de26b6c8b21ded6812061e7d4e471 GIT binary patch literal 67467 zcmdqJcUV*D7d49GSVjdaib@$3M5>4&9aNBBq)Qh8B|zxC>YyMZAYHoDKxl&WDx%V) z28a-(6U!f`rKiL03K}L#d7y0K+H6|SXd-zkm7g zpSNuvzj{yo=k43`)GV*V?w>Rod0@hmS0m+EDpYUb?A%gcF(8{GfrQ|P)5cK+|%o6l)}{x%iWd#c-xzu!^q zKbErh_gkLF#~6OUd%WiFc2^{vmOh;!PD$*Ri!!Q|xYVJ}1WA)xjCRzHif_F6wzMJFe%3EJKAyfcPC&(F zz|LR#CEbOV!a{>(q2$U+y>_wn_(ZqKvkZc^H@Tw~a2ZOt+|nT|nd~l<&}J2V@YlT^ z5t0;^vaz(pHAiw3J4`9ZWMnDD-N-60*D+}brrafpxh}q`S+8EmN==ol-K8u{klYU> zad2`*Fi%WPC9S=6-CUli*qX1@)Yitd`|PZ+v#|+LL`Ym;OLFJutr>*ur8>=5mD&aP z`B7VIbMD(q4I~$zb(f0y3gW4Qe-^3{V#ZE-6L0AxWPR?$ZniYmk%8m=Aysb@H zY2BNt19Cs<}#4d%aJyYWALP`n3kvzYG?f${%%)GiKl`2Bw z3gH}H%jI+$qI!Og&xZyEa!5ox2i=k8IcG~k30k+*I$@SbRGIzTr?#S^qUgb=L$tKC zO(k=64NACfj06QW=uAM{3nwtm@(%_29yn^z5X^u)T2`rZutiszoTRtWA3rzjh|{R6 zbgdCSJ@gKD&*@5kspr-NH4h)PJs~XlD+7Ir7tW_(a42Nmsi~=T%WRYVjxy!#?kw!~ z_7__^&7?DUX>^B$1|KnRe!z2vH2g6071I1wN# zEN)faFs6DrT$MdCj2VKb&dh)tANP+kp(Ij1JwoyFgrhM0JFMaBC>rk~Nbf6=q<9(m zi7fMe{P7@Z+5jn2ohW^7{Qbue-0=4g;LUV;S>O%DGa-eg5N)=n`Y%y6Sfmj;r z;!`^7XV>LEXuVEgG+_*p@iV>>qsShkNYm^3jZRQiQj{^;n2xo__1kMvRU_d9z=d<$ zRf!w%RXfEho`#0ILdqDNFG+;nhGMyxD=w1n<1@BYrik;zEs?agUdPe@jEeW0<}-=n zUfc8gt2ath`LaG_;|6>^o8v|7cDEci7LBX7ms<+adN_;<-YnW6qbZ!#vL%WOVr($3 z;vd{hk+6sesqs?CbVi&t#9Mfg?dWaFR_$)(+V{THdz=|(3|()%d(_^`kJnGl%j2FK ztkfQB2+>wj3VPTYoBsK;wAgBgBsM!6r(H|dWDs#y)Yi9q_VCN=puAL zrf^b_ji;plQKnv|oy7yKG1q1I`T5C#wHt?vi;J5|(4^H>^O>&nin$U3pYex30T48e zcFFjjj*d6?IGwv{$Qun3dHW8Zo(6P!=e-nYWZo7pRIx)Q7JF?ubLkXH;f;K%y;oD2 z5>_1+WQ>iIo12@*Z3P`i-an~(Tv=OdWZ9e3i6BA{lZ4^Bhpk-*HfI+U*xAP5Yh}2& zxX8Gqoirp)Vg>C|xGSbFdhKovVwAGLA?(9sSXo)7qTIO|<@J9LCMqZ>e z()X_gk^;k??RKZ6flVfOY(2TSB(TLX~>9R<4?!URnl2C(mGd1_yIhyk^xamOh`?ynEMH?QbhOzt2JEF}vja-L4RyZIj5zNb3Dx z4Gaw2H%9%P=8EwatJ9sa0yc>?Py&eWpX~L0lE(~HZuSL7UdOXDhM7wWdroj5D?;iF@zw}uRq1u9 z-7=W#dna@K;g=4UX#Er!CNGWQ%{CW4r&*0bN1RfBxdR4p4p4q|JX~cqO3%78f=#{1 zb?E_RIl8txS<+uw*m-A6Vn_1Fr$O}@^jN4ymWJPZ+tt8*CY?OE;4QG>=2l%(BaR*@ zQ}tOoTx4EiSwi$Wf|Kf5;KF7+9z1*1V4fykNrtnwfkA6{$FGx4% zO|`w4`jYEYSVOd2T3c{u@o?*_?@}u1YW)>X*@>>-{!&U3H(;Vn%S^0q@jq&#A9NY^ z>aX@F{V=*XQZ)dP0)&A)qv9h>SLR-ANFtGD5C!T4Yd%nB$E&37=H_N!Imp^Gy0YmATST0%T&5<2XCrnM$5_sm-2B^iWpDsMp=U3-J^pw)PrH2QNtX?lU!u&%%XU z2m}HNGF1bRBx-m;+s>{4P^bh=0PwlNMt208oIL8)&Spa>xfuGKytQRUD6w~NFpJHA z|0h8JKz?q#@f1(8u(0UH;Zlbw^Dgc?n^UA#8*g=FA-O{ae&Ky5ur>Nb!^#qH>76A%*t-VX?L4aYwb4mnQ#q8W% zPlC%(Rogr?|*CTyS6Z#|LpLY*>8bYwUm|H2)$cmWgkLGvCXi!*Vy^tj@h1U754>i z3ekv|g-Pr>Q@e2o0UXxqVI?Icvc&Gx?h(dpSWcjINyR1&G+vu6M!lNa1}r$fNLl99 z0f+V(0LHAf`9Y3+JVz-Z7s7r?f5Q4&6=yopTYYVnLf(b-BQQ0Iii-zUd_G`v)65KpwVmak2LbRlEPBy-g8zN zaWkgoo^-8ix#oGAJG63X zB%egFjDH?WMtA!=uDq)r@{C|q2Fjwp2nF$_#v7x7M(0B0I?wf|*ZUu} z1SAhj18y$1_Q43swBkh?p947*%LuD8{eJFSz>Y-DMO)B1Mh=c*W5T`)7?!9xyAgy+*vQ{01 zni;9soiN(D(=NW1BOP=u9SJKu@^cOLbdULR8Q9?vZz#bQADb|<13qd=zcz( zsB|QqeG|4MwnvX5Yr}HluOCblc~Yb{BV``44Jo3#TRyw_TKR^#eeWI-ZFVMY_&nCE zU4qTXXiBvoyjXYYEaVSGQPxcOzssb9i@W9h;Ta z32M&`JzQg;5Y63_qw@|SNG&st?2+;)e4c^(auX{;;E|0*9t8?Y3Q`S`b@m1Xp&lw* z(%Q-eody&hsfN#wUm9|lOGro{cSYBv!L3*zg}Ke8CKZLt$SN+@+}%vt%{sv7dJ}F!5!cSNa*~~qkt6% zog(d0e0GzhgXyy%yQTrcgUDp^kn_O}mv9iZz(EIH$AZWWKHD{o6vsfL5yLOFPfB4+axInv~ft^MuVoXdR<2^&z1$Rr!?B0B%{H`uF zAhh0Z70NR*5cY!TO|4wr^!|QbSQyqs*V|WXw+lhal8`vK{-`a&OoyF=1Bb8OaVjn< z%6$8FF>QW$y~u%qCg|*S>6NK=JU9qWhVjOp)C%FeI0g09aci!W2++=OM2dmNfAULAs?NKIa$S}C(?cY7 z%6fD41nvz7aIb=dXHQTjem-xb;pJ5w8y83Vcv2of0?C^>6$ z1k9r(FD)e4#n;Q*XGZFL-Dk5fd=EYz^djmFcRl^VRnJ?1LQGC8tpXgU1KB`TOGp@1S645)R~K?B zq{@V7d3jL?Z4*1nP#)nE>1q5$8QZsFB|V_lTbP@7fF4_o8{U5SHnpOx>>i?RpwI)u zXGC~v>3am@^@lITfht=p3{?Zk=*lywJay<9;&03i*BX@$*az;+ z=I_X}u&{)s&EPQEu=!!gUx3QJUOfmq^yT%nAJBRC3bP!mQ_7h$XNciR+iBbYX?5j| z0@eeW{*3Oj2)rP4p{KW({d8bfW~Qvbpkp`R>xwSQt z88KA)OVDvUs~8DXU!hqA)cT&Tt`v!#rI6;PrcMN2+0-){d5-M+V-JEAhSi?xSLbJOp@|WRGdaq^9>kTG{ zy;4t=7j?I{3}GDV$Q7BSo&Ah*V?TIrHl$D2=Soi3EA{jX{yPs<3k<*ZVKAkn*}yZW zlhhqjj+Q&JhRS9pC*K14t9j?nGf>B?9}ZuY6&^~STXOA&Wr7-O*_m>Oot?c4@xZ=+ zz2-G~*r)@fjPfBKh5=AP%V;|vpIR`z4n&7YU9>=>BOAs#5gJc{ zBA$Ne(4is}?lS0!tdx}7M0`FT67&Gx?m^=^h(v_$mJWMYA}|E^m!*!O*+0!n=XU{v z+pPI#3g2SNi^vzC!r(6zInH#2|I;qZd@&!NeMu%5>bW|k!8viyGDFX$JAmCtk%NR0 z5)uO30&TK+UwhdDQYT&+1Ev>{|FEXCD#Ha2avx$1o(`M=Pm$rsbCpH+>Izb?o)cK8 z<`gn%c79%bhTljcrwSFz&dsgmMGUvhnG3b=f-=0mT+vO-Y$2x59Pl zjh=zXh=>Sg>Z`VvpN7QeY=SKBHD>t>I9lEdmW=K_pm|C(G5cASANM(iFKhF{EPndW zy@3ZHj|WkOF!&#~%c-a7YHa0$)(G(tahccn``F!!p|4sd+*{mQB{==-lc6Lj#qiz< z3JOBX1@t_!z>B-%XKW7c6gD?k6TC^#KnNlt`hm6e6YOx$(9lkzaQyX{mk=(X@;{>w|!62_(y^_ z4SE3~rQR**?99wp#&o`f1?Ngl9UV7$Vq|c;3}b*4IM_ejvl&d1cZ>U>!-pfAOcAeQ z!3&}b$ZbloCEfyja&X{4qC%9Cvunv5h_$egy+5QO6|@To+BxupWP<5cdFVV<7TmP8 zqpb*x-;eo-)$>4Zo;tE0g1)<_hZHOz^*Teyb?*~20UYEPpB^l`ib5@6%52%u08i5w zN0Vb%O-B1KGTpHHI^sFMFdnp01{IehK{@-)n-K#WdN#n2A2t-MVtx%7Yh5{ag8?i$ zVEJnQT6&Qr%CBCLA7e{|JteAZZAs|M6rSuf7a>Y%2;{OCqNd&8Qp#N>Vgt(087#N; zJ!&*z8!0Tpuw)FG>&jG~?C&_$3&1!n*FtKzZZCA?tY7zWnOgD zw^yYuCL_!g3IgIEemY~copFr#aeLqZ4SmN@wFf^?@=c1j8Sh!dRvfk6Ku_iFyaBy? zn)BWp@R!Wt7a=QqE1ZaY_T#b!uA|SOs*c*;LkcotbRZs_&t|kw)?X(tUkQ~pulJ*_ z0Iy&O7e5TP@BYWolu#E=@W$~1GXygaY;YUGp6y%E+<@BnkcaasaGpZ5meuLh5R0ZT z7KHr2c<};kh)WQez(^?d65I6zX9JJwp}J10Z%bt~^nyIDxcbUD|C1MHEB9q_M_ay4 zL}-D-RGU`|>AYVu_!j_Ah^|8XSdbo$(;XMU)T9pPw#6H`pukM=W!PDGMwsi}SQ^vR z)J!*Pi9$6;uz~07rT(bgQFOrC(lWedLhZ^aHSjSMaT*Q|D{<0nf_D0_(b-j1`k;`( zMDS{N0`|4(DSqeTaX=q%^sCTiVD%lTzsnw}b~)UQNv73f%2p7h&$x3Xzt4`R*SC{N zu7teZ!b0AO@$ssBQj#DIfH|bWu-z4B2-T&r21~d<0CuPi*nxb`tVL8&)|*gMsabM`f(@l{h#0N3}b1;cAn`@Yz=$!O_>U(O0nlYZs5Y0 zT><>DF}-P2^;VX#p(*ASj#ndgOoKTzw4V2r(!+@6s+EKNQ`if%DeG%%79gm=Zwfqf zwO62KDM;YiH0)mO*5HC8vVO=GZ+r{n2M07VDrz?7QDW!oYbJbPbHQprBq8MoT4bL- zeez8xW9^NBeuW|<(}$4+zkBOj6hxA^yokx9X8aG55YD`^k@Ii&59izoIVPA1Y%LS!=H*q1v@Aqp1>_0Cio z+9UhHoZP6JCqbP|Ok@PcR6aOghhEbv z#Cj0x=eHke8-j!fcLxL_EBc)=9TM8Tc?Q`aQX%G08;hfm48Fv6Q(oVM(JT#lFwV5V zvwGN`h{#>|WTdxIsj}I(4&M; zxFYw1@`}zcXu`t)tQVO!oj~^&$sxJ)*0_G$Q5d`_aNI8tO2FIxyOh8c-GXo(q*P<` z@}e5X&ccTV$r?@meCx&CkLiz4IBbn*~e^(eP^ zKhOEG`u3#f^a1fRISe?o^E3<%6TzO_jxx>%W(I^1DOAvYKzaie zU|S$Q9~f;uUDfMD*}c75np#@yj3JgF%MeFV9MqB}d36Rh4`L16IM{!8=u^W&vJgs; zm@Lg{DdY^I7g7@#u=Pb6n6qHeCoHe5@IxP^PFV+B!n;?}q%L0Dhy@V>MooW>S0xfY z8thJ8?q1?apns6JP%@!YsR(Xg_+_Q8Z=V854H7%5yW8!%IeOORcff1X7Eb7eommYu z+P)3BOa@(%3xb|sK%jO`96EzPtZrz=gHb%Q+;Y{&Xpjh;q3)l3NQNUu24yM4M*|Fd zaLF8jI?Y1!Dsl%prG`nHUmk%SBJp)!6C+a&HD2Vpquy^eSEek#eGEV_>0)RH zl#OmM>rzru>XN4oxTE3j{u2$E6&1Q5P+?1K&Mmzsl4cQ$1W*jAhLlBriEgA;0)3pA zoTTyVgplY4BK>9sRc97H|hcSEc18h{NV>ydkeQHUsR19nghNUI4t`x=^>kLWn(nu`rMGYO0Rit#VAU* zL|=_&HgN2`Q}Mm9g|7M6tezpRVz_x67cKz10rOySvd{a#qh` zR(V?Gd<9>@2M!!hQ8^oSs$|`~-?sLl)&bL4zt7Q|MW!xE-kb7qy6z5|p;Kxqe7V)R z*OacTTPOz^arqlk1onf18rq%~7`!-xpW<`Iz)wYxmgvC>O=N!{X@{Kq?8ZK$AQKV1zX7T|kh?+_ zieG}TuyE1C)^oWAm0D3|;5IZ)*rQTw?rl|ecjWU@P#Zjm{U`QbnRh~+hV0U|s*+R$B&P->$M7D`Iz^oZ@K&5@gy z78a01hzCqu*a5ala(C)8i=F|;B4fU4MHy<3<24yg?67V+K6+r5+lT!7yHXmH3fr)Xwt%>YA=Ak1l9 z45f?5P>_ascb59_`V^#2Ym$VKmzNh@!#f@6hJnxdam0=Ywzl*nUDD zmW0Nc_-jb4iYbaM@=u25brI8;2AKwKYM}|cSo_zk0t=B-!jTK5rgRNH)?1;kqvmGR zou23|73G%HMAWz%hh}JOb~7lqyozX(ZCPI>76c9QDoIk7UOo(7B&s_c8nbCc1gjYHwQ9a{6oWXJxrnNDQ~{`_57RboHi2TXDXelPF4#}cYm`J z5+=kwz!D*0DUsALJ4;Gf-HtND#vg!M!_yrxW-F-l1Y+#XL&3y=x6!NB2Sd z9r51YzP;-(`9&250KjmCG9yGM4Zop_^izN`Ie}3G0EpBunDhhj`y-YR-wYaOU^2ku z5Bt@tc%(08JNlt+v2Se2yf;T@c4kJ^&~Qj@tC>hbBKgM<1voy~qM}u$EgV#M@O+~U zoMYe;!}g3b@T1v&%lsasDuG|&D2$MG+i zEx87f$^7!kb3t_1Zo^ay?qAacT9VnIw1CzqoMcswFs1`A3xzhAp~oCQgRrA4Xhcv+ zNJ8*=ksZ18%WM~`^Yik0qia@KfY4{d1RU6*&@r(Q(JnQnJ9q8DQv}bDEQ=Gc>4hEb z!Q)wRe3}{>X{xExsGaRiU&*#4*90Upa4YQ+`39BFSs08AW5}b$jRY_iM(oC*+YbI) zI&MawdYILE@(KV77*it!<>s9iq1MkLQS)T)fm4B>K=UJ<6YlFS#1QbUif=DCzy&C_ z>f;5i2!k(hVRP`ibqh@c5HLPS1@kZ!Fz3S$eazDBm)!8Yi~C;)2;04@gDIL~x0Q#* zrKMmwA)I1+V+p#-^K$tPK+ZD}NRq75*3g&^Q{e6do_t^(Zm}DHYgYkrdO_^~u3c^^ zXi~FdMS?mzimf&OaAw}e+yohu*=ZHTy2|KIUDl7L-)lza=XlHD z?xn!NelO09JX>8iZ~xEHZW^Z?8|fS65B)(i=w$Nj#*I6)%BFnfU0d@a-#G8f7FJeP zO02#BTMz_1c!GrePv6hHf)+Q7Cd_yYZzUo#IyOFA1fVfroOJ|Mib_j~&Ph)mJj6Z0{gIq+Z;u4AJ8?*iymIoskz8x@beisjK6fsZ-NrVm=;hp{p2N%v{&c528~3<`P$7Y*7<7^OF8_>*Ixe7lhl~qRbGUg^)l^ zRn-gm__(<+o{w(Th6c8E`w;G@qZ5;%l9U$~7G@Rw%Sc+hOoO}Yl*~aei&sA)=j`IL z?r(_96~YW0o(N)2xuo>)ugg+V$ssdMP@D#=*F}P@65`@GK35|n-2c7)uNoZw`B3oR z|1aawBZ55~R+g6P4h|0g$J&Jv=3vOhN2Mik`Iy+TgV1u4AZ-25RbX}b&Uv*XKOX#V zI{g3r;|3WG6%1|xr8D_|?X>p)EXV(`=#MY`9+h8o@05~mSzFCY7UQnx8Rt2$qvJ;( zWtyClY!hOQ(`An&Ia3h7RHKqG|(bc1NI380|4;eTOkn?-wJ)Yl6 zj^jL;RE-HiQR?0**1uYjx^GSGiI!9LciZ+@aSEaSbA~nQ-TvFo#E%Y>#M>KncXy;@ z^TThuVo;59JQL36mIW2d6EZ}DpES^aUTRPgo#dOaOLQHGXfSRz4mie0_1NLmubKLh zoK9NhnI)ycerLfH*XAfwj#yE#e6y;0-;4|83=NX@Aw*Z%dArzU;r$<0o*WzWxTxp? zZ(4W%>dqZYt}@$Ec_Z=l+HM7nt3R7gFR@}yscGQ`e?@odw>Q@bHsJP6vHUs*@Ls2` zB;6_Kc&_EkE3rjRq>uVad8^GRueXWwQvF(-W*kwCSE9aLNi3pOFbkH5qIb1gBtDti zU!!bh)mL&#ss9Btu5hmC`X{v*n3Xz^`CBfa!f3-`ATRJ ztqS9=aH25d>xS@>Z!=%yLK+S*s-&UQdDYm_9FcAGyTT?+yW%ECy%WBCl~1~7y|_7+ zpP*_y;bj?CiF-!V&wTFN6w3}L`quCM)BF}CtjI8?_?Y6Hs z_^!TGL$SpOF$O0c98_oZ@)C_#$v~5&aqbqDAyIR4_{quF!E4O?ocp+ zmoIFMU5r#zBip1Mo7$foedH88FZ6u0^S{qTqh#@l&7EH?Y6pU??o9WM+MSD4n+PWu zW3R_|9Tst?mHW!%{Ruw7>%uR*Fztao5Gya131Vod>^KvA2z$kKhdOPRhZ=fHeEGfk zuDq#!Yh|&OC;GS#Q$1dx`4zQ)TRxD}Ygu2jq|`khP?pqIZbW(p^pl%C&%AG|c7T>< ze}y_{v7myQDljim_=9SsO7hp?l*ZUOnG|Srk0~jm%BTx@B&f$y@^HV>sOy6+#M5dBrAj+k!)Vk zIj23TX~daJec+M>QNgT|lZvX1Mc4}|Xnzyz7l)Zyx$<*H^J4jx9V!Q1Ia}#Q zqg#xz#aGj{*VbTS^qs+JxNGWPcm4kC`trQE*xM3Guce~X-TQ$3+%#m3&S7anokc9d z9E&8FC8a6))YBUc+=YrNUO@2DPgW7H>MwlK-C8EZnIRBam}jZ~oKqcXbJlr8EvbeI zR>v!~X?~8PS!XV;o}zyuT*Ixfsu=$u-8z6}AaSp)v)>?<$4r zF;LiYMUH7{GbjAG?A8Cd>~q)VUI&7Q({3z{nUx;&A^E(@j4mrp+dQCCGk%{ubIDWQ z%xcai&{9d#r=$gmj^9U@1TWDPH55C#_vrW~ zr;5qt3LVp8M?XTg*iZELQlp|33H`3f(B9Um<$D$G5Asfj9BxXXrl8B|{iJC<_|Q+0 zd_UJeHXFd3CPGDpIsf~iiwNDPI`g%PvSBO#nlR*|r+tOHc+*ES9IGNx2y?kF4SmS+|1)W$=d#fi^~=@IWM>Hf-yCrgGR zH1GW@>0e1G$klaLFQ4JXv~~+2viU0{PR}Qke|TRXqIj{j+s&k?-iq-{o}5p+!G9;B z;GF?26_wT&gP3AZo7&jQlMszv#o-P>@53QHgt+~a`yYf{)^hD;kjqXMt9u2E zH(vU84ytn}6ciT=rNG?OD->OYxyIenFO8VPl)czS2Mdq|qprHt=xfF6tUq#J^7QX( zMijE}J6&Ggax$>^E^F>uqYg8dw2QWKWZ&i$Aq}J1&|x&Hq4Rar{7iW3kE@=JFZj7q z%2@zqL9MD{?{Z}fF9y8h{ZJU}A}qiS=ar%hyCsHl|p{*Gog zV?tMQ+tYbHT(X8VmSb(YpH1jc+01PT+HGrfl9^!;=W-^*s$WT&+F3Qwb;|tz^Sj68 zOpEM&YJ2&mBNj>>CpKQ4?%w}VaT=p+mZ+|dt(pzUD9UEZ=&jNCHzw^&D<8iLMH6Nh z7PKEdioV#HX-eSbQYeSvj4O@N^>)kF3YWtzY;3e$Tta~KgPRSe`H(%p)sGk53*NIR zBR&0E{oV{)(bUbzJ%fB=DjBz)db88+qd%wqEfmLBoW+LKUSB7UsXLgxO@gv$ChIzU zTic~nD^C~BsQAi1;^j5H5?(N|?#AyjZxzJIZ^1(k-7PTo0=4oCb6qc9=qovb)3|c1 zBPZrMbPok}PD|4Mhm>^v=k)@*L z`42!ho?lpj%Ri%QqflEBdi$M-Mc(z7!7U&Lt9ai|+HI-rpk}Jn3YC=#5hXtY3$djn zr2V?X^xbeq@9%anoTD=69Jn)?U;E~~&Bp6*ORpI>#+Z5rJOv4HfBv@~7zCAJHffP; z4ak#0y*?BE?$Ee%2ZI+@h)dE$UMyCBMqShlQY3FO&lCZ{`?43Le0&uzr_K>vEIux> zDgj`yEoYxoV(_+rA%xg($cAh zxyvX{1FYiZ@VVCiT3nBD83M7r3wTG1th0tExGfv8T+Wua&^N99lQZ(t z02Y5#f(y@%QK-QwG&X(`))Z0U;STL(7P(Gy4d_HdLocFXEQ%RM3@z$ED^=XD^W5~T z3GY<}mj%Yky643_XhR(S_>ZI9HwUB#6McG0fnfT&Yg|5``|QbPXB|o1Mw6_XFWE0d zqhl*hSeOTLm^`Xv2UMk*l=9h&<8!Lp-gI~Bv4DeRx6RDz$6>^(w>Qs(tHE(8B~U|O z?IMn^2hKglEBpIJM%AFil>H^0QY~nGIP*%7=BQT91QF>3@*(GekypGWIR!=WMq@4p z6k%5kD!iO)UihBA7xxs)t6~Fr~m) zJMW>GW}rNg}~v%A17;-kmY|ur-EXftGf{zQSO3_Iqz)wMVh( zjG95g1}}I=U~kL$rIju)mzo{rTwfcSbNlZO1PNcm`oZ;>Q9uj#h9h%yrC+{;TfIVnJ1qUJLOhi3MmjMwKg!Dw&y?i)f?v!W@SkCFT5xgvrU--W^57-35eYx zIAwQZWj{0#)Zr33s4Q@S&A9XI z*#c?eKa?1W?_iLFu{P(%l610K$PPK>;=Y3&?U_iq&pg~{d{($4@vizKUINP=DjsHA z>6QKBwJLtbnU$q7P2)|h^n-&2^330sxAyWXs;9H0#|oPj8tN=z$@Qak6IKK*1~C{=9HD!f_c4fDEM5b{xGGuRMs zsoiyaZD$gryVSc!t#{uqXuGI{Xyxm0^p$`q#(^6*{Aut=HarPVgAQ2bx2Bh$Bi%?# zC^shW^o^U?WqmB0?M#o~+Y-hAY_&xC2de0uJyaV!8w%w8$@lLDLQ5tnPQVhMH`rh0 z7RXz|6k~G0P3ET;d;^V`n}5HVojuOZ z&Y5=jzYgO2SA}D;inU(Fl4tc|g+5?HR9eG7nRVo_{UyYY{hIoi(483d+L=BG=>{^g z+Q7FHFrB(U*5f&Xw608u4ON&4C7cEd6(FymP-yUTYvXS$Mda?fX5FD?uyaeu5EmFa-O+Q#P<+ zpV_&-yhGs}p0PS}(adw!K}1=VAJJ&5{F^maWjlUGCbwRLhY94E6se#PIc4$|_wH8B za98Gu(&cR$vp}QaBCp})N znMmv&oqt+FACSor1}F`<`R=!JUC3mO?E-qt7B9uJN$8 z|4KII-|R_GxHr1XH{XdPvDsX!*r>Ff?UgV0>N~Al@00s4M*qX8Zb|dBrz7gvUf_z0 zJOA^jAEQ<&kAf{!6cnxfv#uKHr+C(0BAAUbxW;E-4~xMZNYB^Mj^6s?q&v7DMA6~5 zs2)+$;$I~Ow2Hl8=8e^z==qeom)HEZM0SiH;=#w>jt)cVA(!orZ2Yk`4!^g?#(sEK z8OZ7Q+ar__zeBWt#vG>T-<9~1tIA>xbVDTgvt#Dib2#C3lS zeMK;yMf!S9VQ-QY9%^p!SA0y}an;p3+R%Mg*$k0NZEU~!|1A~k8C8>pr3>#R_(hD= zvpowHZ?8JYfhs({k9$);3g)h}{nlLnjoaJ5-6ja zwdVNdQXT|%I&T_$_eRy3Un^vrXlWio3?Wu__a}8#^*^4(Z%)|RZ*J%dpvzS15690Q z!W5+or6igQBQ?rad4%)lS4Fg$bUw|kG_>fMH@POHBq`ATMf=Hc=v<-gp@^vpjnJtm zf-xf#>dmFlANk4pOW?eBvr<==%0Bv(HW=eHI{k(__h?hQ{hL`o2PW&N_fiVx$|-&7pcH@jC3vsRBjG6-!^pxTcbH z(t%5}FVYGTTjY`0uN)IR3f{ogxmlb-CAs^&lI7CZH_~S+CyHKLMf<5ENtdc121BW6 z>lc|KAF7Z=I{!bvTfB}Tb$sS#`2I5c%5(=8ZiSx{54dal0`YP*H#J6F%(WF1(Ozt3 zbe#~oE>gcjX$s^Vh(uh)UgLD$E(V7~d}d`K+^ZKX;4rG{=0x#Y>; zmkjwD7QD)gcpC7uStX6R91T;M9Se=lC_yD?gux_Ab42n1ybCt#`h_@aP-8>C#cRBb z8cNS+XdsuXRTcb;?8}qpidix=6&?OLUG$jQ7lVL;xe|1pLnVNMh>{!n4GZxy=R{8E z7FMb>xQEBy8|`sYw};Lg(&P%#k4pYzA_+bLdrS$4YV3|6qFooAec=yBMfub-`R z`-iV$%w{LgZeqEXpEIr|+Zdv6I(=dk;xf5!xT^Rg-Et6<^xxOi9=)#KOR8eUxibEh z;jz~SFmAgxBv1NwJ;OF#A<|L=F>4?GBXX*ke{F=%+e zenij_x9S;melpUm%ip`^wf>A|Vtd!=VN-3A5xB6V4zhCbIw1B5h$fb{SN~o0{&P#B%1j-}K$k$L z1!&Up*-t}r1ZtRIJ$Bgu$yPjSw%GSLzw_mY2a2Gxho1fdGruxCjbHKF&009h9o^&a zSeN;D+nW1mk_{+xyh@Wg*lh5X9)ysOr&LZrQCpObhs^u&dVj39E3R8XWDAC>^Fp6- z8wl`g7vHhIc9Og~lX49NXa$R$<d>tefw5Gj?aD=jJr)pGe=i zbQ~tcsF@7Y?_P+bB4A0L%$XJ!a@0mGL4!^gBPo3t38L+(}L zOKShc5ccJGY@-v(^@#$soq;h;6dhD;KR^hPB7KZvgplBKc&c(Hhz5J5k;PcH_>(m# zLU42Pz(*GDPtZ_(e<3^$O-1!e>iJF-uzZ+q(yFSE_gJ4(zZeRKKthdQ!#B@#HQ1CH z3hmufjwZmYVQr%Kqz-8fPKVlFNs!M@E4mkWwNjCG!fasT-yZ5?^^4&Jr0!npPhn?i z4G7a_VUQp7P zHC;8Mh+*w!&1Pr6o#^f8I-@{*mQbx*f-$1Ob?kGx6?An4_)a_vs7<_b8*bL`ZN&%F z94Y|yohM(P8Ctcn7o~g@s;j-+cRodT_xER1^y|Xm-333n!PpHx^oKsp=iM@M$D82K7O$}u zdm7c|(Is7qt|u>Y?5Dbaa3p7j8U_Xo4T|OA)J6};R!b|dYESWea5mt~HG3pX8b>jw z|{)M@Xo<1-I zFd5Cxg$<+G+AU$X@0uklnE1Q#r#C|mS;IL{WWtbZQeHfI^-~w@qe}L<4+w-#Jf&B{ zu3qb>QdXn4M=A$k(dxjOA*KGC@ga8v?Oz@298N3FHGtD;xW?FXL5!NLwZj4%@wk}? z+{|{8nVuf0pG>Nln2giVRkQE1zXTJtb^o~OF3nmX&pmGYHv3;lS*#;{?jm;va>=Jz zMLy*;P-Aj$nNXBmu26I{fB`M#AofrwWeKDU3^Q`m_f+H?+`}wp<;`Ib%us}`x32B! zTJa~dnBx zFAvyE6h~VGW5JUL*b8EFa-cq8^FTJ%XiEEjKvtWre2De;-cKgC54mkf?WGcrPv*HT zaDhyOZ|G{v<4#vYp}$t?z&HJRxsq8$xiH>3|9Vtg^qlIpWKO%K z?8Kfd(fj6Bp$aShdKL@o*h}&7omKK%{b9NuS2FN4EJd|kd0uEcXdO?d!`ST+L10*! ze~;XCs*!vr?aEi#pRM0s?o+p_U+Qcm6=E~1bupoHU$Hn>j$Na&G_CT(O5XS&zXR9L z>5O!ACZ-uexgmRQ><1UPl$fbHD1ws`69jVBEBA^ka6D#K6$Ijl29J&aQ zraiQ8b^GvD)W_%SO0j~f@GV%pM`9-RhGQPlg_*%OMX4=p#7d4@|7S48i=!!Q6gR#6 zBM1)efo`S>s&T?WXStj+a-tk;w)8GFL2Ke?$Wd}vKQ6XoE!A!gr7(S8<~9r&%bPv0 zf8F38?Bn<@E9`N4|3%E_qYjpe0eba^2iRMjnu+86_?WKl$nJ0gxtL)lsEDM=WIiRe&sDYs2Go2}R=GdT6|&;$2x zrrMs~A_dAg=CA@xLt|ibc~g0pls522gBw-F)tcLqDG;SEZ^}jb)Us~#k}fm?`QG*Ce;T_Dc0l+YUYCAmT#0kZC(`oJbG5U2 z4wipZ*gvTGXAkBp(UmniSb!8bk${}4UG^*E#J+87zi+q0>E`}xj(IOA$x zsV^*kr=yAW(4JZ&?|c<6ig91eOFwO`E0OY9>BUOv>FKOoac~N-dw|m)h5C9v(F2ar z`F$Lu`!`Mn#ej#qj}%**S!MCIrw2+OXy16&^u~;RI<(oIg%AbJtLxd63NPiF*orXZ zNCtz9N&nyp+>nXg99rqf%Pw>C*1F7{w|RPIZpwhlJztF(gV;!!d0$hz=>6&cBx0l# zTy9@opvf+{lq^SU=w)S**X&@xTfX+(MHPm_m6G)i^q+KhR1c}CaeXbC=OD2Sz4Q9N z!G!G(<%iRJ!nTWVU^X&)AU?isid=6@lKF5hGVT&g8^Sq)S}`+xJy zGc!26_dWOAeRiz1_P&BI#5sTF=km+6&u!~Cm;Am#i(sX1_xga`5#c@YZOMGRrN0@T zlsYGUFD@#z(Sz3;*_Z#WGkxAz5wxZl^vltQ^}P!ABAEP|sb8_bBxwFJapvtoc}wZW za|N~NM@5}dy{1MwVakN}lhZptd&|Tw;u$cv9}sXIl1i7$ZCqP@Rh9@L8QiSVMjH__ z>(s6K@&3Wb^@xE5;MTwk+FH8$A*2e63_N>GZP4wV7DzoPEUY#Rt#!80lF`wP@#v=i z%JHH)^nUiv`_I8hIcU}8-1k?uJuKQ7A_@7a7_I8`;Rk0j^iS<~S@-0@{E87(>!Hwl z#lLSEX>@xva{Xn7DWYSwX|T40TE{NN=QV*acL>9gf@zpCozLlBnXoWm3cXOmt~28d zeQ%P4f5{rFzx2uAc=D`Z;#(16{a_jlcL}22H&}ZbLMDGi4`LUUraoV{h)N!sT*b|yH~nOg+)NsJP^eaqgqD^h({1K3Mpi$b67~uUM^W6n z{H~~8{nc}cU*GgO3;NReb)6COM&U1uU_@gOw%q~Lzrrh?R})E6iw88{Q7lPF_NK-? zsQ5mDdRu%HrbR(LUzVGy4vLsQXugA%1KYBeGH|wc5dCKNtk^{ET*Ql0T_0hHutH3j zQAvJSF>t$Tsy+OXGUTsiHsZ+_2!w$OwH0#pqqeD~fjG-h+?!cw@zNOQbcj%#vPZxL z;5hef`K>3FlV+-w7O(h+f@B6}NCNoNb}ChK-{nj2If4RtWV#qs<0X1u;79N41g!5A zsK}Cg@@|mu8z>m&;9a+S_WRDJ>Y?NiS2K}yXD1P=Hr4yY!ctp2Ks#TGemohjlS4l* zV;d$sBGN9a@BT6f{|X}CY)bWm3d7i4StW6%GE11#X#U7b1ln}J z=_dj%SZ7AFZ+lb@Sk5oCzCwtN*H$i6yBQVMit&GLKAkH@cQtwW5pZfld0~}x*GEu8 zG&ly;zcz1zHVWv7gHa-(rsL4}1hWbkde@+(qRCetgxV$+ik-ze78T^bZ-O)B`^H=#~}+M$8M}n3BRx0r^62%J)*T5z>1-%;h1U? z!*$a@V<0<0b+*bx8PapAieqJDSEh~~bj3)^Tb>Wu*NVM$QJG7fy3-Z}D{cZsQEMC0 zz1oJ~FV~aF9RU*ZMKXF2ZJ&@v5j3?c{skN-Fa608cupvT*V1Og(>I3`LT7GKe*yPX z-IRzyL*$PJLeKW&tXO=fnZIWd$3_wRKCIHEm}Zm(u;XQ>xVx)l*w~2_BIjJ4d8alt zkS%-K1lND8Evy;_-s1C~uWjN^jp&_A_)r-!KyIx_;u5Ehix6`RSAG5Xi-5uQ;of5R zpoj;rkG(4Y#SptqzXI?UuO|(-OVbW?fHyiJi>dFECmf zSwYd1ov*Q3&rk`XJ}_9CqV*UkAe!z44H7U1M(WNgFbs-8ySeusG77+!fqz%}%$@A@ zCGyJG1>S!7s-!|F)8@S4`;pK~Q_zQW;3=szBGndh6@-aU@c&o*bq7J2C!x;+I;UlC zd{^khmn4l1>n{g5hV|=c4%)C?$K2DmtJW0X^bNb7_H6IJxt>$roVecY@{P8<^h`tH z*U{G-nRNYMr9!9)qphdVwL=D)LihadAD=W;iy?~sv0;QNirM@h{8&Hi#n|wsoIRkc zZF97?t+f|0K7~ziz5k>!Nh`Bdf%sbPmzl$rCqUmsECt z34aVSpZ>Nq>rFkR1Xt>N_!6=orE5Z3%CyuK+Dkb|vjNthp8N+k)DLS?y#mxOMeGOL z)2<6ccb$t>`&l0Lm>c#jrQ8j={y6aipo6!C^agvAdO;1e-!+WrsFZ!IO{p#1>Llf) z0~2{hdm(#)Zb_JaKwsFEN7?FYvmF!4f4f=-fB8A+sH5G<58eNI~njXtHSr8 zzISI({RvgpHT-NZU7Tt=t0cEAmp~{!DrwX_VP589DF>!+zDVn;a=jh)dPGWQwAV z%>lK(THOwcD;9o>6%|^tjO4nB+$2FIM6!=>eXaN$!NU7n;9?QA6p*q1jdE;|P~7;l zMLmDC(-#G1XU<1kY^4Sw65!!=$EC)~?}&dLbEL{5uh?5U#^)Ft!I7ucri=_za+Y?o zQw~WQ>wmKBz)WZpj|hLjs{)=2(~ndk_EQan4$wm@Pc&O3{wzqD@-X*S&lnPmMR)-Q zR8=DEIM`^$qSK2J@OJZU-1c(&Ar;8U!lr(=-VelV_y2}Lr>Qi?`w)4<*hPS@4+Ooa9i09Z(;$E>NcR9l1X^DBI%VL;+akUpXj zPi<_7Ji19nF<9ER#VqKtrLj$pK)NtH%wVG&(QjX*U9gLx?Z#xPcM@<{3Ncxdql)Z< zwxBaNOMfd@mD!dY2Bd;Q^Lw!btEW{j`hs4=;hcBTKVz$zaxiFu13m$)TW3YdCTNp8@aRogauoo{_ zXWkoEmt)`uL0d^ph}%CA=Mlgo=BVmZ`(-Y*dfc#0x31!lIjkI^Zh_GnluP9{mac-= z1TK9W=((`zYbcnUD4zk(tD`(Kv*r|0tpBTMoThpYYUx3apE7(Hm=Z8|bIcUBb=$~}8QpkGgDJHwX z#*o$vw004YyE4jaa={~D%Mspo-BJ}U)zJC!o;`n>yxjD z*TO$=M=r7r4TkmZxN82~=Nm1&jO0Q0kK1f32Cw8^WH18YlvQmM0Em6wZc)}sKG5-T z?p=c1x3-fElyKu8IO&SlGcpL+<};;E8SuM)C_R}oth1v?mB&5N#k9#oo6G`+s4Rs# z#ZcC50gcL=z4h1eWUJ@C2tNY0T8)1IY>p~DS&AbG%IMUkdyVYZrK3k+z}Svmf$^HW zI(vG`_-~2iv%d+G=TYk{cL%Nkhd|h~G#i()@^a#wQj!cF=?Af7wS|m?|J#CKiu&B=ku$VGc&v3;rS~j>2IVV|<|d1bW^;ie{))C4P&N9s0}m5IJj> zDTq8rg ztYif$;7OEJC-(;=(Yi(eG(k&{_S*{yH%P9k0O~&gp}RDPCGGQ#TeQe-Z}fVA$GwQCr%w(;<2f*E^ob4+Vbx! zaQ{t}=)5u&hOt%hfJ?F`XNvbwO1w%=oj^|DKyN}ou(~G88u~oK_J_ZT(93`OQKD-Q zruSDqx-Z0v_PQO2b9Vr-I4IR&1H#_Zw04cIdi2X~%rT_K&_jd;sEs-BG z>$MA9>oi5}bi34R+YERhN*y z7*TijPJ|(6(v^cyO{pvyNVbOFe?vX7e`x`Eg^lsZhZqrQB?W8=WWF5N`bn775p z#;llggU@8n<;tc19P}@t`@RpxM(##8y){dSDhl&9dlt^-Va*-f)89?Eqa(~ZhQJMf z)7k&|ln0zl2nL8s*Y83Fr~@C(FYMrXSbKKT($_PlxFlynBBwUm3ACq2YGBD<;N3KR ziK!v@3Itoj6*Zg?<_2iF4o)dNeWsYK)MC7Bqrl0Pz|1lo`J$8A-+~Cke=IdY4=Ndi zsq#9jAXj92_^f1yi2Oa4pjwo=N}1g?4l zN)+ANp2>o=csF@`5Qr|wr#1v%BJg=u(D8vLTa4w);BT19W1uZ+Z{^I*lmjnpM0chC zB<1mLB7&fwV#?MvP>B_o>tqigH37Yftoj=S0>O*EBZg3)^JfIuZ3GJdAzRn0Ft#> zgk(GuxdCm~HV)J^^1Y_Z(24>zoIXONAja~K_0jv2(Txq_NlMF0HGx(zg)t=@i?<4e z*&d8Y_Lv&_pNIOQ`vcjW?+87mVMWp~_{SW?B2d<^n3@IW(nJlXorIFfp3Ijn@t|33 z&|>63vHRwR+e4@y#^%Px@Y>Hc98!OWu?EA?52khROXTx#8?QQ1iRSI(yoFXx-sgoq z{m>wxBZx?-_Fug>iGu`!_wv76v}PP+ym01Lw*L@>7X=@h*kOzCV2c**Vj$n|i;)UB z(Lx+*S*qCIUrC!#_Sd=2jxiOEk57lQM%Lat`+*o}$94@;dn8^DO+h~HY$#gNA#