From 1b37f30e959e8e67f2d7efccc840d481a1900a09 Mon Sep 17 00:00:00 2001 From: AlistairStewart Date: Tue, 16 Oct 2018 15:10:56 +0200 Subject: [PATCH] Made the 1/5 BFT asynchronous thing correct. --- pdf/grandpa.pdf | Bin 275977 -> 286274 bytes pdf/grandpa.tex | 99 ++++++++++++++++++++++++++++++++++++------------ 2 files changed, 74 insertions(+), 25 deletions(-) diff --git a/pdf/grandpa.pdf b/pdf/grandpa.pdf index 765d0d7ade5558f376bfbe8ef4aee06342282b3b..0b70ccf5d08833dee8fb4670cb0da34b95c5b5b9 100644 GIT binary patch delta 66845 zcmZs?Q+y`Ow(T9;w(UH5VjG=wI=0;%+fQuUwmY_Mqhnhg`@CzfeZKFkv(Igf8gtB= z7j^OfRfS)m^>?DziG#x{n^_wKHH&XZ_ zR9TSv%geI;D!4RcD`r~UEeRTqYtkYeWS48^OdMKzRDP*F>|{_**9{s~!|1v;3v9Sp zlV|+^&!66(MV%OI2sH=T*=ydBKvkLc4B2iIQWkpb91j5(02yz&BwsG68-hhvy2re^ zPPVLJlI3NR1W7T&MyIiuGsv{Q0KJ=A&s+$wylExa-hd6^qE?4-N~eZ%(*CKcqZ>Riv?g@#@4AVw5Mi3bT;CSw}es5DM zq0bRi85xP`4p+hG&j}h9zvX^`I*6bOW)TK!vxAz)=9ee!pZJ&y9tU&dPQ~mwwlLr9 zz40%YHlc0OO15H98D#eu%EhO%ZDlKsv$gs^QQl|Ok{~$Ea6Y_qag`RDM$Acu!;dpQ zM*~a0A3$n7iFTt13ddf?%2xQje?69`7kmOfymL4Y!QKDk@s(Hn6+(ZjQR>z;@t?v-W4Ie5Y{7I zX`Sm{;Rh2}A)!vI-+xEc!B2zq;vkC@`g>0COS4?$Ytl>v!S_)WG0l0mw$z~&>StA4 z%Ep{=lZ*Kc%+f90&zAd3kh4De@Fafn_U#zp09iAsDyp*L$f?8urajBt<9;fj_1o$x z0>To}l^Q{|okt{2c|@|_SC}h0s(Ol{(I{V^W!qi@1XsLXaC!*o!Ys4X#Jn22v|)-O zLf{XaYmdSDVX)nYIV=QXxs9keR)MDtqTFzCHYxtCbVON`V1T9+s9sqY8l%nuTZB+a zS!w{**XBsjYf>4|YjE{_GQ3PT1jF!#YWL@}fu=T#n%gDs9uo+ik z3NFElZ>s?PK7@IcPKJA2+)3ibu@6%Sp8GUm{^VoKW>_;6iWOMECyB4`h60 z;PW0>%0T`l2$iD;8uzbf>qATw=ZQZ|gPE@t%L)pmDzdACc8#~7sikxGU&N8)VK+^l zg&WA=5Ew$U0%9)X0K=+R9x)aE+u1)bsMj+@NrWAdJ>hO|631<3U56`k?{-$w9PIGO z9nXU1e&44q^SiiM8XbfP((Zxjb8fRSm+E1xY>nZ8@OoI=v zX3TX{?GZ`6wbet?mQUR8%5AGs!Q`!*KeK}35+iZ5BsNbtWNmUZWfrv7Ty9|<5Ux%{ zZiQ*EM>*~@1~=qa9F&&xo9^+#U}uta1!K`1QaoCs7OKI-#7s~OiDO07<>EC6d=$_Z zr1h8eK^YdVU+EUS_#9{!x7Kw}@45=~1;#LD{>(!w)jX6JG0bL$sz<~+=nTds=l6MUqI3G~Qa8LkA@J52n-WSw&;gJ0?nNQ@ z_QL^`#@zVK?)bg^U26|yh@1QtVh9up7I%g*pn2B0o~W5PXhQQ8@VXz}TVZT0SrBo0 zP=C8h!Q5br}w?00d`Ay+#>Xf8 z^Q~@_+Eqfd|MwWcI2j5#%Dyo9EvcV4F6qi$p*pfvu3mVb6a85BFX#qfRxI{~y*fY@ z%T}?&ivu>Uauc|L8#RbA5LWhm6|ZlfYu-;5jY~{Vv&_n4uSy7AXK>VG2Nt~*8&nR3 zB$oV5C6*|>%;=z;-Hu3^n;=RXwALgg6WZ)-Ig@xJ0Ah6&z+|Rip4XHd)=3}NisW&aHJwwkWndUKrmJtnDqus1OO{h%D>-+WAv{n2Hdwu)3OPfiQj2Ff z!lEObEH1YIy5VG0p7};G8hyWaP#izbqyg>_q3k3fJcX9`o4zO9wn4Mn^EKFy%1u%?wW46$ zx5^P|(M0c82!Y)i%%7So0W?$mgx)r$*;%8*xDwk0V;fdvY1o>9{e&M-4j?Ik(o=j_ zh07R>rxcO?keMPp=yP=?dl%msL(xH`LE74!A0uYzo@z%~)y%!^ z(g4X_IDTdhJt3vgxrjzoG*ff53OzX z2K4Q1r~<}DM1KNzpBzq28|9_)im8*N416D^o?->EkP<;Vh{wg2FYrkqyxy_AIj|M0{yG6T+WFdT-#rJ5IQS`UvaJMP8bP_ zLOHkMog<-7PG#!ajv-Bn;El&esVTmm4$*Wyc1Cxz|6B)9MAuvGwyn>p(Ic+qCpPS0 zw1mg=Hjl3YTq}2tx%Z#L!s7Q&*!FaBbXo2r7@!C7#|1(i)0@xCG`vw(J%+Id>ljN#f-&zGu9f~HtS2D z_50dJ(?fBkp4m6Vx7gwz!C*C9mq@8pZ=Qgzb-CN_k=vR*;lG<^6+0ahswCC*0ynr7 zTeGE0A;hDP45_&@)?K>LP~AaXL^Klncp&VrCWr0>euXh~ii-t5|p9MtO>I-sg zydmV|sRC}D`PI&DhD)P-`E@QnDU8RGcPfmI{OYB+67B(jOTu{TWAr?Kv0Y;KSAzMlCcgSHSTNI3f%#C9m7|_vhmu;2y_b zuPJs#{*}nyKqAtqa{msKA5WPOF*+>Per(?t9NCQoDN|=jq#wszU@F4lVp|WAI{vwe zl;885FmwE;Gs=O}wCAW?jxnTAxq{fD;q&*`%Cm~kyv2kr4lh`!C&RKeYjq8c6*rByfz1v(q2T8g**XS7u~cTFe488l<$GHxDPu^9K`d^c{~p15x42kB#WX3vGh2GUQOwZ~3G# zCj3v3CQB9$6%%4fe-wFh_KPAbFg|@8oPI^=gFrK6=~%TU5s)?wIi&ob#UqMpk4+}hGnrY@77iGWJZCZ?)V_j=4bduC=BQl1v;!K5emM;06C##vhPTK4@h`crhv>jYJ>=N zR2gTvOv7E|^{I}B87jg00^&X1!cv@6d7RlR4<*g3fc+_q=04&fNB^Od0wUc+8Bw00 z7BL3LNJJRD)AcDzvo+gmS4cFgL{eq3iSH07twX;@GUlkKtl_n)9JpE)MF?fW)k92KotE+q<2D4pI!2A(Y1cH0}?r*+aCbGTEb@OoT z_^T>8!aEy1x}g369xPwI*^)s`8m^))K=#Lxc|0ea8-T7j*06a1`{@avD2my-u$BX4 z5*R_!@xns_S8rGcE37nEfz~*KN?n-`YW&m2~7Qlpj6%@Av{8oQ_h$td3I~%4 zBY=xesJ5*E)$dM12aCRD2s*IC+ZL?~IDbw|Zx8QGNI%H@uDOub$K!Lku=IJbnDudHW)2nB!bzS$3|RuFvEU5&>92i`oMa+bIkrPoDaWY zL>nnZP@&Ns@GxVZZ&1-)puJ7FFsFKjD}O?Wec4SeilH(ZpfEf_>z?R~iB`~+eET@yn_ z{j|(p8=PDzzW{i8E)m0Y_NpjkmMhyd;&)HD zf@B>9@}w7S{**E~%zp6d$=7XI$H!g}Y|H&g0r|}vO_8S+Ya5vhvQlz;g@7Dp(g@^O zHl~apuitI$E96XEu$_^?`0M2|X_A>Czh8RO5W=I>%8IoE{5U6>kNFuGOE{k}+%PF5 zh?juRHoJk=RAfj(1xmcM&CQm^85S|fk1nn?*$|u1Yj0&skm7`L+A6TLn8`zXb!lEv zNWjmhK3VV<3wKhSe9z_Rcd(cnKmOpJ5ij0-neM8bn%c?-3UeSr875$XSQ*L6~&M*!m=L65>O>t%`v8r zL1&ci#9-X;_|KRY2ELEtr4!ezh~Rs|x{Qvh!OYoS(2`Gql!5cRsoIHD=h{XZNX4m8 zu!V=9(X8Vsn{U6Ot551RKxC-1ZdX zPK6RKwZf^yyzysfKy+NzE$jB%1)66v_F)Xx8}>Lel+f*O2e{5a29~PwRI#v>de;;T zJg1c@4@}CY?wWH`;1PSpY!U((sFzj?=C4bmKy-RGMwtl-Bv_sI=)*_dx}+|2Y241x zi10_cr*|vc#$A{{jC}0GwRVmGkGZvLUS+ZL0n|z>+UcgYp{$4T0t=o$UbTwvV1`Q+ zJfNl;rh!U-Y&2!bY{*7=$R^B$;SjqS-j_j8$#t^ebnABq7oP=Mdl+;zC}umSm?wp8 z+DZ2P!=Ic_&`<&CO|&iFkNG4`wt{3;fdrSLZ)~YUdghbmnDZjn6-}zm-RjXX(cGFc zHZSc3j-Hn5b3H}U!S~)z`ln%O?#3DptXWW<<1|%RHdgoB$7aWuZz!Q|&EPnl7BFuh z3WoUS)XxUcQ%g^3C3ELHXuksLn|f`|=B(hmKe^wmYs>5ICWu9Z&c2utYz_+o>k%6b z28+gV-wdt3tojpxrjSoI_&S96;x|H=ClCfnMQV>{)XQEGPA>8RHWds7^EOPzo%s+N z>$WK3D$v;B+pQEpq1WJR*@DV)34TfWjE=f!eQLpR@#GBVZ)5ifQh{gmC!LGTTk8q^ zT|dWi8qN&8o4b#KRRth$BD%W}Fd|x@NVT`c$|Z)}i*xnljk}2*Fyi^X_{Ju$@+BdT zs+Uks0xAIa8XpWuYKN1q5$?-M>(|R$x^Vmw_~U=gu9P7me#IB9H!1 zDMC&oP;emO6~Q$#t^%Y1$g|Hke^JM!rm!gX`RfqUoBX-0 zRDH~BT$D}?zq$tm%T{PI+n`{Z+w1-Krc^%=!7w83N*Fd8)KQWqN~8yT13Sd{fsXqd%oG30x)nKX+Oq~h309{C45Y}uC!SmNTH4} zeUmk$-vnxWPw~SvuJR^Fiie=Hti7<;OH13xU+rhE1tDH>m*_x0Z`U(Hk#14;q}S_y zG9I=kX&fp#?(wKDWm!9j?Z1W5gBxDOjS_1>-xx-}GA-_HAa$NVTLd94EDKxXhVY z#vq+aL67TDpGU9jlPQ7CFhm+-t3%;?)PD_lUg(W13RQBxd9LhaQNu!-u^hNopA&H7 z2uW05ts$D~E{2RvDpeW-zSh1e#MB|2m@C%rE&+xNvvSG_Tq9INUdgV}JFXpnjHfwq zuN8IKsE<+MVqp5&sIJ?Y1fKt#E7IMWN#1!=24RgyPz!P{+_~u{D=AItNjFKv(v`l* zw?{}l35OR}ihe_>hY8JIx6 zAg+q!{`OxV!&y2``SXG#AWwz)cR;4$6ZxlXVqrmJu@H?ByV{5OfB-Q7NG6)(1erL$kl1fzb$taCOd&~0sv^%pMi{*>u z1uMMzgBfgXMuDc|G1$znt1MAi`FFX#5XMgc^{_lOT{kA_`(RXo$uXwKalS+hD2Z~6 zaVy(1(5)&|p7{cOP*#&h|)B!~u>vpJxvXno>`I7knFgi6g~qAlph*UI!CYAJU_($TEM6jNN3%^9Nj zSoVM(n~Van0_qn;4FIFUBKP7|+oAH&a53l>J(bgiP-F2FCWckBD(G!F{QG*&nEO*WOj>W|KF) zrYDwf&&aF$i@7;k6DTqoC4#a_DZQh>qKVZjI;Ih397a5z`YGG|z%y;dECo zxs|*c^CT_H%|A2{WOZ>rZ0U=)m0UXDKE4s5YH@G*)vy`-`qqbDjWfNySRi0+b+n%! zI<=*e4(D#*qBg4HNFyYFmL~(fJ0`3#R&2Tak%BFXx*n<*qL#$wy8^le5_81%w=>fy z??R)%p!d7s^+LBiQI*feC(o1wg-z;4lkm;z z2pX7JSsP_>q*`xl1#Hm?p@9!9+1|b^h#BL%cBoO%rCa;?c$fcyg0ehEUx^fN0$uOs(mHNb0qiOFvZKkmFg}> z(YU_l>HQ&Ns2ubMzIS1&tBU?AjGl3^i@E99{q%P!faIEI^{1ACN#%`~{()atO)uPa z5yqu`%ot=*|N8ifjFL97g~;3*ksGsHu8i1sVne~4*9T0Znwas|d7sGd$(7E0t`kkL zg4I96YBFgI6#Q(_gAZGFUTZsY#w~xZ<8vuISS{Z8B6ounhLCe}Nl(uxniJ2Nbk4@` zdEl`UZpkh?G~|Di6WM#fu?zYR`I@8Dm-CPr5~nh>0VMV~H2<>W%qNqc7#>htE38q>(_SoKBMNsRNoNICQp&fvlE8~_e_fhK5 z%_kNu1a6>ew5W&ux_za=n~(u(*4(_QZ7aOE%T z5F=@6QTLv6qM`i68h4Fd+eKL{Fgu*8!DJ(s=NJ%6tj6abHDWL|EE;1-z04aDAjPtT zM+Y;ZhpWtjRXIkBv4uI9Be^YtQcS z3y{fFC1n2)1dri0>j2ZYej6&QaTcp8K#30@DKNBjgLolqTVf&3i6`O)c zl$M}YA9UsKYsTfiS#;f$h`3ixq;$@Di^hC8G1IcsWmhl4X!o!cZF0l!jL9(}1sG3J zS8qIzTL~SE60)0COb&3e%NxiN#d0_52aIQ&V=&Y%WnW~a{=bT5qr?v`F?*GxDz&I084Z(RrHf9e1Z7IpyVzx-7H zx0MaR!prkt5@zbu|Fm-OaImm(asN9S2KRrI=J+R?lY{Huy6`_b)_=Cf0RXUYu>V_j z|9{AA|8&lssI-X*@z2;$x3CjguW3@{S-=TWX;{GV6NQRdQ-9Heqagk_2IOR82mBiY zUJ9(mtn;N@zaaEPBWBNs@pBT|FQg$l7y7451zd%8f8?!JB+;<&Us7|vyzz#HV#uZ^ zTxdHw`Fs4P58rcqjP`umof7_HdMIFEn0nY7*zCUvHZoH}Xn3yEf46xlJ=)FhZo?L1 zQs|4w>;XMfcIFpw16i?JBIloal&sf4MCGI=O2Q?GDz`P;p_4LfwX^N#w{y`@DjW?} zr`KSR9m7{BUzdN+uU3iP8y3!Tv`60lxD|pryjO|q855f8{y1Z9nWd;=--Li-5-&fj zpB^-N8bcS3R(;o=D}6;>*KD0s9Mx3i6-4{6IxqOKxLcIZ;L9AfZYn~xR>X%v&)|8F z`ya}Vl0Mc5?nBNeh2xX*1$9!cKF!C0X<|XqA1oXqYDwxSe#EF?apBA5s~ZHLAKq|U zs?D_QIrw1wb$v7#C);v)#|f;q_<@IXu_bTA4|=@{CQJfBxUC>Kd56kz41VyvWWD7W zN4FS}B(0iE138+O%io(e+ZQ^5Q=FcIj%_r32Ux*D8>(Md?PDiDRxao za>n#HKZU#!xsI?`c|&)Z4A&?CWC+GHwF!^I@76;zEzP_!DC>>DOH?=BiV*7c3c@3w zkcvt%1{@_9lr?&-SQ(;)yDy(?X;CBI+yQV}qB2DLJeK47r{nz-F`anOZbH(2(}hOW z%m^JUQBpt)S@n zkC!k~QLWVgHAihNRqf91dPAr207ZI4%^>3O_6S^}DB1*Y5`>O{Y;h{(o;+fMlfs=dGZQ9H$@-pOwZ{4~ zl25V827nyF7IyH_SDK~Sq-?Su7`ITw#W@e9;5HGhSJC;IDr&N6w&Xb5-V^B0V^H71 z>p2lFnJ6Ar&QJ@2;yA&aHHO5_j!}j|u5!d<4_oz(c@(i1$m%Vfuf%Z=&OD5_Ensj$ z{@c^L&*u)_8#mkdJ-a)1{R4a}sa;!W%RVvzeSN(|OXa+^@C$Oh`;E~4#lBwpYZjWk z>~Q1sD$u;9W7gKxj%q&bC6 zwM)3U@)2=UU|xZsD_@6JGyU4zQdhM|UVZ0!2cun@P0#E8>H4uFl!%pQ-=r5we4WyK zp?)$WbzUAcL{U+2ASew@XUrp&c4%N%<(z?$@*-RsxGkUr(~LG{yZ*%Q{V-RFKh_t= zL7)6$i2dVGaAz8s`T$Mtrg4k=o(|EN>SZ{cYqs#Qc4u5WiWzv$Vq1#I%7!i~G)oJu z6Oc6l^J?0s%J%)cL3b<92sp0#sV(hnMa%v6HQXN%i+f5F5+0Z&><Z%lD{5b)*cBR|s7^ICRn3{9b{Kqeh#;0RxwurfOiKPWrn$o2zUoy+cc zioh5_KwUrVPr=rXI+}-%qf;&VG~MER?=sT4A4XVS&|Y!FA%r83`M-A2u8d+8NQ@T9 z-4uvrcy{d9i94H15vASrKUVeuLpw#S`C5saG_H#=|n|a;T-5bh-Y{1nS;uB)zvo(+@ zQ>Lj-s@T|n1^dt{2lMvHL|87Z^%(bmE`j?gN^zb@90p{yyf=_%k7}3bO#54 z#6`0SVg&|cJlDw?Gy8lH&K~r*hD~4CTsf`@qVVz_ACP|Bq)k#}>|@LrX9V6O!NTw5 zF${>hCiu@9IXp({ciXj8(p+1l?W|0Pk$c4B0lp*MTCv~HE6W(r1hWL>%LV@kNkb&0 zAiM_f%ZI;Y_}wj>q|eN9cu{+j%)|G9LcTkPe4mfQfut*ShCpfMXb_gNl})V;DWQLN z+KTVup5S-0?f0gIEQR{5gN&RtT>|UX&Fz`LbW|l!7Z;`G&y#1-^v->ASHTc!QbUa1 z*}Q@zvmCzu9%%AnlVhMMGtm`RmZ3u=S+zG*?RpThbonTvdV}5NW_R6p7>4=_#C#&m zjvu;9?j7TRr^$0}aiaH{1TiKV1d}$d#ZHAt{_H(E74$R4&4aztF+>%Cfko07ARKVJ zb%5L=chdGUxpdbg=q~U>9j@igb$_22!IJlF?uMxDeHHC1e%YNZPCRB3H^H~ z79e!u0*m0@mM+>|9e61j^kpXwV#-tH_TETi-%(LmPfKR!;3`>OswFw-l+x|-l`z^G zl~7b*NbsR&MUpexQOenuyBxQsX^>>1k^&$>f6sESLE8s&NQT4iX;64;YalaJA!lIV zm9)!F!r#s*2W#{U0Lbnok7fOeAWFnV*!$)`2Mi2ESJ;bVC{UyDT&TwnbFtEy$YyN`sw)Zgmd=0O0dGV$!&RsFeK$1>H0Mleu?=)-2B;dn_hiT>jTse04a*||$qV2>n>r%wDw3bKAWb&wuYEcXaGGOajTqFZ7G+SVsaYinMH;zzZ%opiXzGXB}S=CDy%LOR7@G{JYw&W-WY{D;+q%_ zL_w_3JM6A+Efvfg$CY|QY^CsmPr*q0pj?|cvF{_j%5$;;Wii~EDY|Qo;7+-^y*kHU z#)p0Q=d|&Gom^Y5doGZ)_nlnt4?{0$CKj7AjVbTtacIe5M^IWcB;~16 zv-((N>A1xjcAlX{@n4>xUJGxzDFMRA!u>0vl@0vl8An+|zB(3e7jZNCTzcXm^@N+r zGhtFm3u}l$L~rk88-+hMfB0+pr8jb%V*K(fYwt(XJ(#OC-XtQ*$h`c6&dwYi0b6~7 zk%mJxh?3YThPhAjHnM2h?3>P#9if;7{Hxe9^+f_JGHMMoN;K&(JwG4iBgKfR&T)GU z)UIxfO?uY<5`7Tkwu%-NL(+e{pUaqG=q`MsB87tnP^AA>@+glFVs`l9nuFYR6K`d01kC z_usCwa70TOYs^<*M+ES=x_QvJKY2-0j3)K5V@!o*lAfQ^UD5(>;XzE80NI(jI&W$P zaQhfmXMg>nzaB6AWCzat9yieqES}GN1 z>19^ajs9R7dh8s4QV+XZfNGv7HCdMQW7a6H!ON!Ur2_^l*C~IhG}t^oltgNPu1~B~ z`5-hXrQk3PZ`aN$rW>2;&q~0Yz2IRqB!` ztWS}Yc0|irH*P5M_qD?8oc4y_f4Q4C=TXN~d!f1tOIEI(M@Gz5)VWuapAz2XeJEXy z>FZ$fasM~8lhqr2X`_eH(vq17Z!sbU~hxu6*!UA31&N{*2Tm zd<5eLxTfppL2ruj91jBs9kQ|g4{}7W72k4>ToDUbU*V)}42j`3HE0|>NOiJR#%|H7 zPF53|*yJGTeJ{J_6cxpsSbz|svBw;LAyO?>FL{I$_rT%B!|E2%m*?OO%}D zJ4H5Bky?(SGqCmyof|j7%1fv=gZ=fb{E2CO@v3q4 zkJ%Uw4G@$)b|m`aaD_R!-AA9D|G_Wir_rW&b>~_iIZ5=IfJ90XUoIX8Kjr7mEgVqk z{g9uI`-GhHmX7Sy=6`~Cl3p1v7gV3xhQWBZVF9nHDiQ}$4{iTdZ@W>Q<-sUQtHZ_W zKsmuU;?}vdyAG%cfJos?X@=@(Mj}<6WROT!{WN-gVfMkz)8MeRQ=*yh352jSUJA}}Iq8OaVTgMS2>2{p_tdLObz3iCP3;w@Cz7D{E4 z4t%d5lu(*J#y!IE+m=8kH6>3REL+75W&Co%uv{Vm%&o|tNP!|2f-1xyjF8j^D{5{` zD&M9TdPTW2uT%x z^z@*q;k&#MJTUUyq=-$z%@+6m`RDOPJS+p~WaQlSe48RuN`f>a;FxMhG2U;4#3|mn zMnX5_i^9vv!>-x;DLQ4ARNj64GVbq0#mrW(!q*FKRRzl?Emfjl*mhlQ!6OSmeX;}M zEPR1hUe3Z=VE-OorI^Dt$Kf@o4P)huw^XraYjpJ#GlX;+cZ=zZ5oel9>7Lws@%uCH zD%G%+*gWp_qqGd41cCvZANrh~4ubTRTb>HaCifpM=DFt{9-_i0bqKF*29lJ1)6k(W z$g=PINU6UwAuv_nzR1_1sS zZY4|Izy&8rl#doB;b3Rs<^qrbd4Vi!>_9Rgkc$P#!%4=;#{Ca=_=~|3{(!G;*`EaPhGJPb25Q@ag}4`}iM;nEz(MT%7-$n3L<@&eSL-a1yNltEYcP z!o!i;&IC?P@Sh4NCy?czS^ZbDsWXsJ_+)%jrgMrwG6VS-_6&NX#-O^gpt7}%yP=n?h#*)ebPnTX=m9EVTmZq{A5JI56 z5Q)Un22!B6to(rF6hX45vk%^f*YJ{S)2Sg>+C2@hd+7MlwdE-{e@gh8q?vp0AgfK= zF>`nev!U{jb`IZSsz%7zncb!lF-#9?;hTqsU5A3(GoF4>HR$~3ern4Zs*xpkPF9CD zWBTyX;H&B;PduNug8)=FDGqJe5;y0*!dacy_7&z&?F(;*;-WIn`_{cq+eVa+nva~T zE3}US_Ge?7+AkN@9Y}lx&jF$vL=~Y?}JAup$A!9phJ<|Ir`) zbHf8}GRVMrL%?LZh#Xhg8U{558H8;Tf4~0JAx^k;9}0RD61cP-I2NH09P*lv83Tdj zH=AKpi=KMGi7eAwi-MSbWD=BlOFDT%Lak(_O@5~-;*ue=A@p6|Qt*tsv;~M@?N`g0i!1kAssm|}A$qQHUiob*E$<%t!uW}W|KV!@ z69tRHZv}s#7j0{A7E^$0S+r|fsP|*3xttA!HASBxX}w;6d)w53Xqnrh%F%dDv ziY(B`$BFoPipfFuTGfh%yTFOjR}RF?tB4dUvtEmu|2}&HGYJ;#B}x>O&~|8cH7`)< zu>#STPciq}_YSl`4V?b*7y{cU!r_^&>vi}&qm$=BWmaF7uXZao~%YKs}hQCi~o06wUYBT|heC&kNy1CpljP z`6H|}qCAy<9)>q*KqDwej9hVA)8VW4ZG^&-Lf+KQD%^9t+L5wpipt7C+eUtRZ}k|c zI^KSWX@r_;^T4B&vJkfm4}5PGXKd8yLk zB8acbh@RUzVg4D5i(xn6naBA(ZG@wUIpS0$){&MD*;_S@_2-JzNVY9^0zyj4F5}G3 zGE~ai-{V%rFWZf!&a6xP?La&L2*YvvL5Ajx{^RcY56Wq*F&6A%|E7~H=t|CC2n{J* ze}!N+4vOApuugiOhkc)}`4_?j$p-k)G_ocS_w!LL{2!DtDlRh$s|3S(b`)?_p+8`D zAwT>Z6WLI9th*3VB?U$#lztwY=qC6lGU1x&3XJIQ$%)zxFEKb%hz-c04 zA8g$=*NA6H{DHzz(HlvM1cAEFn*-O2d;Nt_`SEbkFfXv2A*RXm?5bMmw94}DG;Pd) z+Qcir6eK7G+=2a>;L)?{7r5Q9z<%+KXZJj#{m-^YMV@kEHV9-rqW1HFYr8+^S0!EG z;Ca<$`Xh$0on%U|p2i0|aifrd`7&T^u>!^%zNmeZM&rjM<0qbRpaT{gDelB6k-%*v z=kQE81F?I|EeI+V)0SA`NY36TupcL04T#7-ue!(u(`F^%J?)#yl)$ zydm+{0#OkUO6Y`f3mX~7DkTz>MvGQlYbHn3$AS>S*>HbWxmUeG?Z_W{+Iq zjL{XH(qHzWkzvG-yTKN2Ct5$Kyss@Q6IS|x6Rmi~JB7Afp6t3t?9?SQ9J8rWLez*Z zCkmDuW8}7{|9rnM_TT%$!eEv{tyF`zCICyQ4gq8!nCBB!fkH^>lht(gO9TM$mu81= zlw^`dWl8LO{FDtEJv39Obqq9fomMD^BWofKyUe`a0^Fw9;cehpf8bL;tU~V!PcSgF zYGCJ10=EmagNJuKgss(odxSYCk%8I$gqnRS8fERYA!0ZGR-|E9MAi_Ji<^(nq%~Fv zA}=|fC!8*<0g-=DNQZYZbq)Lx3PJIUZoXUn+YYJSX&4|xju^{4{?;r0DXp3lLFx@b zc2?+fg0CBeh;|I4K3EFO|4n65)^{^Lg4-)&6N`n!4ApDj??8&Xk`b5zu_7HSC~t?> ztF5l2Mw5=D@KXwxa{{1sG+46YI1P)%X8I;QPMBCf4KliXg4*v7(^fchmcywab}C&g zE_egbUOfk^nBhnl`bB^se|8^k2 zmx<;74Wy3(MBY$8QN*1xOVtbD!6vT9R9^gFY`tYzT+6mKOgHYX!QI{6-90!#gIjQD zG!TNjyK8WFcXxM!TX6Zv`rFbCzn!VDRbCI;{^z_01Gt z-{TMOwgThTBS(#8w&s-i6-@VnF)0+ez=lq;1Lt~;4+T^F9Uimbajk*MHyJJ2Q62DB zEZ2q9Eh~6QjL8&ERb+77mLJ6_(oks;Sr;kFRJGrz?y6*I)U_4rL4U)9OGYKj$wZ`xN`!EAbxUk>4o%Wg+(wsB12)pp^1?U{f2cS|;&6Np zchdZ`(NAus5Vvlpn!}E(6L@51h0=Zwb?bxHDId7B{2fU}DP&VtDBj+AWC z$vf}XsvUP!dS*9ZN;vN!xc=F>h39(Vx;&{ zG{BsK-(w1laz}v^UEn+nU&!yU$IC^TR*2F-e&aXXYra=1 zK6JcaoHEkKgU(@ndKj9jq5>FOkoz3gG`8 zKxF)YNegPHf`cNWeGI4!-I6+NRHP94wbo!92M#i|Y=)_uDpg_g66L^hxy3l=G|%bUXy#8cGqHE&!~mB7e|J_*FWliK?5!;Cq}9Vr?n6D#LZ0JGeA zO`$qX1mF1hg!9r^&&CshjK3TbZZL6sRtc9P8*M*mN%Eq5Qr zMDU~FZ|1o8-^>QoIQ4@Ts?u>NKWEp9Hit)Zi`5V%GHy8Xu_|Z;Mck@m9qyjoDGI)7 zTdRT02j4lEiA03g<|&J+a_fZvhB0g;h1OOv1U+W{Dw;4rp(pp8aJUeY@XoJ$^wAvr z`g$xl#WV%78CIV7#poW14w|kupSP*w3GJ;C?Twt=?S_K7T9DSHE=T+5li}^d5PF~$h@6qS= z@9hZ09+x6n+}<5(<>trriRcbYTC(y;F&GJFcwJUG3$81om>J{23cvy|9`!^j7ZRk} zqtw)M9$nA9OW3n&NW+-*q)2A8W$8gm+RQ6{i`x?{*QX|XfF-j1ukj>uYQS%Lb9B6f z`?;$YX%ILJb{Y!jJE4{rg`}FnJ#FYI*q~>FWzm`Q#V$F(3EYZW39F84dw>@tcsLNI z*2pu2Z<8WWNIWNm`iBNZBCKW19A1^CEc#HKbUX%Y&Zf9JiPGSPSW4nuHL2fki3Y!L z>gILHN^>dfX3sS*3j~a9qm;pmwzyz{A{jq=gLfzFC%!zHJMU|F zT&oDO@aUOh4Fi!bElrw;f4u~0e^gem^QouxW(;B|Cu~KmbBisD^chOgAk8I-KE%f& z9eU=hq}(sk?!ZC3xT%>X{iQv)IGB22)D=Pokc_ayB4bLee!@U<9-g<_tuQrIM-DW& zR>v3inAobIy>Ge>t3?WVJZhKjkJdihSg#kWe;%B|0%Wuy^O>k^v-p8jWW7mZNQEYO z8tEAHL!rBM0)0}yh)yv_!lt-W!P+qP1?|w#M^7yzI32_Kld>_Iz4Q%THx>t3<0uk9 zP^K$tjh;@72SkwA<$Gzl4G6K~11@KWoz1FR}cDA%&L#1+71+JhTFF$Lm&S zx<$MHn2bQiEG_EuGh^Ca<1+RFr#+!J_7#p726oR)o6~>&sy65G&?v+}|Ayb1@tb`= z^r-48`%}x_>a91jDfKIZ zRpO+dfB^Q6yR*wNV6mRSxLrZR_u+f_^#?B>$tp|n*`k*FJQBgz^L&2y$b!r~H;eU9 zJ`?Q~f=WI93#lGe_D=uLzRX1rQu#d%{X~)h zei8+fom2D3?9r5<&-~5>`9P=4xs9n5QM$)r`5cW&@dU=GiAz7)RzKQdq3#OwFa;F~ zTsdbd_0Mn`iISL?G95riC=GB8xIK)bvc*;>QRlay^xrx(zMPH^IGe?;y31c}sp}B7 zG0k#KR|yvO_S~th^vHo-c_|+8dY-hw(y5|H>fbx@-8`2;yR&R~E6FmFVooQYb<*4+ zi}fKA7V2Y0aXl7~;=C7_ANiSOH{>UagB8Y1gHSFH9&t(9uy1jEx83znxA8Mb^O}sf zt1NCj1jN|B1IYSUq*%V=>fhy!*T__UVje!bIhk!&P+2I7V_~Hjuhqv-nsmlJ2L8l( zL4K6avHJBHMA@Gb$L~}O+tPm|fE)bF^7RCr3mtbQ@%@)#(PtS*zolCe7-?v&f^tV{cr?At0E;7Bf z;sE8nzP>V$q20AJ2Ss8#Pa^prdF;UC)a*__KcKxMgZ$>+@_zu`7+%Q0HvH6ONzyv& z8qYfV`6Qx@$GhqQZU%jH)*ZV-U^jss5A8xq+f2~!*Cg&RZe>(^&qN(>7LCh)&YsU#7C*_2bp>Om&6DW$K}}w``fL`+4erj_+waQp z3vbvxgF-T&HX+>|Lq>~iG@svpUvA;r&$J)hKil!?k`_>j`*vjCRjv4L4CCL%!XRa z3^JPfHv}4ojJ?Ho@QdGpZhr^mft;)f!~haZPPV^d)&HSs=4AORBCqm)Mdbg|G^-M` za{L{}|2X~?TL0_+U!nBBj@mK0Bh1C4FEYwod$pd6FxH4xiJ1fT2wx1>V1n?%BVS4Ik|v zbO#mZf72r$tifM5?_YX!R_2dO%g&W_OAjE!`ma6~?vD$?&J$-$jh-aT06?Mr@BWY5 z!@|k^55Ms5%)!SahP=TaXZFDyq=A1h2S;6qah_4|Fieu{AGd^)E6)FdE{Xal0P%md z;N0xQ|Bwma)D`UKm{HpAwf2srBTV>Q(@!hZ>A%dALcl{e2)Lu$qYow7NLlu0S+q@v z$|cG1UyZdrx-)syw#zO`sPC{^c+?4q$4bPa$+P0xo>+#sE}Nvoh)((F_LmDs%;=|^ z)(L+C#aphgY)u{D+2KeK%_$RzjVXM5l)(F>=jcJGR>gt4m`8_TPt%*UMG*wh_*D4( z7th=|mSN~!xD~edwu`((t_U={B*b$S-wM|!6`43n9e;WLszt04(p~I}T2&B-JSYf9 zlXavKPj zvy`@l@AK%=c&pO^HpUY3g0RHRwXBgUnBtg8Us-O|Ivc7I>-hbKAJkmb@lAWt`PeE= z(F&NUI_VhatEGWlQ1s+r97@_tZgH3jFIWc(3#M-OmuuL%c*t$3%D85)LGw|21B{Q5`PEwd>+yNI$d8(S$=SA^DrN<~zU122y*>9n0S>PONK zHs}2nM;O4f9lr**%&nAn1KvC%AVDhFaw@QKf)pHisGnij#O;_{DqQ);ds*8kJ4>W2 z+f^z>^kv)N{8AC#0H@~%lUtz)h2vLw|Fw$Vo8Q9frLu0ha`UyGk*)9R_pdbX#-SqE zK>)E_qvWgoL1E{McF)%KCq(EBLjHfqNovXe$?o9#f3rI{|IY5<`9F}5^PkKIR<6I{ z^W%~I2l@U3@i>|P_4<+~>CpmUF#lo@Ie0z@%MS?R;o&6aV&-JzNJ6FuuqRd00tA6v zZ2xOO_<@Tb`47aL+#e|$EL_B_AJD_`0k?mXknF5~AqCq%Mx6f(FSM9{p(-;Q=SL0+ z=f``={tv1qq0)RzAW9F=O!^THK!o~>;p6%%7lky*odJLf{P>MQP07dh-?+i`pUEAZ zT-=N-A3*>A(4QX{>7QHtB4VE*BRUBlo{`a3>Y8078IVJdKR30C512o4L`24PXfba;(YRC?E+q5eM)ju>c{klA^nSSdAJ#0i*zok1xdsDE>Qy@vtOy zzW~r1Gs6Lu0v{Hg|7+nf0-y$9@ci>Q{TmU@!}ga2M&s}(V37&P!=BUyguwiJlBDrx zz!nD2KcC`%x8P{}u;{}F@^Jp!$u+pZ0*sHx=)WD}`fGU1Mn61Y8ZnTE``;|2`GB>s zAJp|f7D<)Q;8_1Gmy{ovW0=GR1%Z(?Wd)Acc$Eem{c!!i7t6-{_hK=?IXGC7u6_f_ zfh;_Kp)n1p0a6{q2Axx$jAXr;I-+Z4Jz`HaY_5m#SKoOHJ>m?_x_%gO#taaM79ic| zS0^J2b6xS&HhCj>@t$?#V=-y$c97b9p3+>^jI4(*Nf|(k5+tCG4v>Nmg8`TUte%Kb zRlrcFDIp-j(3~ApdZz5AI@kL24wU1e5dcZARbU_v42kA2kZ~O_nf(ELJwsU4RJKlPH)z1pcweSiyJUr(7e&3Cl5-_ea>RZ(HD@ zLqpQ*j~PhHjv={5NJiYkMB%RATTB#Pz*+(FC`ioIEBA&NZPyc)?5djDORKB8FsJ7v zLBb#&n(K9dd+*c)7|I-Y*mZy?SSQ{G8m;Gmc+p7@fXTeQ{BI8mD3O--%y4jB+-pWi z%1zLez352(xnRk?07_m@FfnqBH!AH5r7nUl!&*Qn%#Rm^d#yVrQk)kz)}?O1b|gfv zkFf)lAK4fp9P`{9y6AKE1z4BEP?hknG!Qf}4*3q)yViA=?6;W^2uP(J0Anuf?p(QX z5bln)L?%H_Uai6k22C3kmIFeHN!HeL9O|Gys*ubXQx}7qpLX=rO1FTX#(n{oGS zp$r--2=mAEm^&#Ftf4EL4E75t5~!z#J?T)msR` z?swj|YL=v^fJZPwFqRc`02s*U?aeGA1{(t4cJoU0a{mfbI zfDiit4k1Ay4#qk&14aW&OnkWsqL(yUGSmQjmznqHBL!mxh4st-7J~G8{r27lI)ftG z+SG%B3AfAv+W@iKLB@me8oh~OG?Qey7@bEK-y&#IP{Jgm!uO&*(~AW!2-+x!G5jF}&>P|b{SH5% zoclIBs7;77{tj*e^G?z$FN|~cYG{+J^O{{O6bTyd>qZamX@l$3_=&p&I^9%4!8iv0 zMr@EQ!95h*${ysFIbXu;1#j1`k-W1~Gqi(#YbgB9!yp>9@Miu16kM6xQI?O~nXA1q zwI!fpVA^^8KDQu_GoNX-c15-|!->mYJukxl9(n%fVOEJY0=!(DKA>=96`+L-J|?E; zxcaO0TXPtpr)(TO@l;`PK65g zrXlw-;?-ZUIi2DpgqEG~+QN%K_8dpQSZhRQ*J#Dei@H}9FkiZ9s=E11?fc_R+?Oq+ zEuMrI?O9i>?E^O>%-@$tu&-LYyvD$HCM*LpCg#`hOMmGuW*QVLl6Ji$SF&Wy-?Ykq zViQz*IlFC32jy~Bo0G+g=$?G9P$Ktku5Tp(-{`ZL1}EaOq#dKJ)UYc1nSVo_h4vMl zk}|zh^UwDnf^Lw4bI}&>(sg5+;BGB-8`%j)8&GwMeq(gsr z5V#ucWS`b%-eYc&!Av!SCWNS^H!_SQ=blF`jRz#iZG+`Ds6SzKCt4N#zfb?F|hGub&M6 zYyyVylT^G>qPrJG?Kf5_sU5u(I)PyJ)A$wVh0G6s>ctY-{dhk9X2!mc@2zVfe%O$6 zmN+;v8~H{uu0}Q4(h)qpp6Qrx6p%XnrDuX#;XA&p5d)yA~uw=eH` zrKpZp#fR56{dVeid}4SmdSnF&Vj6`xa-ARMB*y4vEyj>i1LW+liVwHt*S>T@dpj}D zq=K9oFCFn~zErd%iLiO7eP!-1K{$QhNgJvC4x2Wf2*(%DhmPBV51S*P-6E{LCa3S6 zrK7sMLA5%%yLk>B;5v{2)%d|1b*zeAG^glKJvpjt--zeL`%+)=)l_9dl8<|5Z81!9 zFC6=7+gW zeP)>kXJZ@{kkz|1xMrn_R6+VAJ2_pgL8 zpH81j)~tjuS^rja`8G8PxAL^9!x#{z-RP5P9SOy!O)e5kf0`~L3>`G4it~j5pf(*B24~xiqv73d6>c<&GfsZ?GvhrXjCd41G%r%6KOp&H2Hq7n9KuqTFk%4 z0?Sj^P%dTe@mjHQma}i&<5jIS!&NghIN9b7B)&LbsT-pSxurb-oCyDPQ@w$l^nqcc zn(>yq@|h>4-bP>eQh)VV9+;bmG2=Boh+gJ|J3aT&-aZM$IQa}tS_DZj0ID~hs*Ba3 z@lrI%bT-C;9$LSVdUTp^;Yvhox96xBc2cq>Y`-J@NSaschN#swAFp$EWB&{scu4Bq z>2WM6`_g@?JA}jfof#Z`#tj+7-Bfl}5~tk&#T^JVS6pv)z))x%&_7wQKh5DMJ3gm7 z={3>i-_%)hq+yBqBv(u5W&MMv8tOg%gxo(Kt&XuZf;e;_c}2WRT5WtGN|E1-T*$O! zT=3uvUX#6N4>)h+CsU`CK3egyuwTboUEqIwDdCLHibn9>Y_JIH`81F~t0}bUvP-%B zxdd4D3YMjF6qN8<6h8dCeV;vu_|=LO{r|B~D<<+2<)xr+(*76@OU%Va z!t!oT;i%~PdvY*#m4poBrGgBUVT4v0AMb&E4h2gRTWe&8%Nm(h;QiBBRyc%TiEKRQrY_~G0 z8yGj7ID2YygQ$+M+eg3{qoRE%i9_}qA`H|Z7yA(#?CCVn973^JvHsz6vg#?%3F8w@r;-FQ2Sh|`$nzU{>rsP9C$SoY6; z)uECI3h;Kx_OPy(4Gu?~joKZz?TxZ?8WYC)CtQu?{8YE3505+yC4EUa<&NEb>fhQa zVRh#M?mnuZ{}C&is?jm#oKyTv-CsGYU4g1~Y(gZAxo6@g8KpE`HKR7~t4HUZz_ZxSWXm?49ZeibpR=OuKnPrwi_)wlDJqPRk$W zP9xt8(tID0UuDB>B5tU@yY4izK?wP@Nf1vt$drPKQ~ zd<|y0^^-Z*qMpgbOlsOND7(@;mbk0n(vK>*)33-&yZNo11z{5%VBomS&2UQIDLw3-4=UI6u)*q1R}Y(jf)(M(rY#a=bD_;JFu+bV4$MBajW*+KZ>i)TY5*L|{3iNzHhr zv_DmaoWosk7pnPmfDbk6rn{~;N1@dec$0YxZugPC+k;Yojf8<6GL;qnOyH_9{mSfLr05O|0fLQif= zT8MgDWY&P1HH(sK`stdE08^ZM`VV~|m)Ef4Qm*%HoJ)&sXlrB{k%Q=*f{@OHYI>aF zUGr^Yd2nG55Fyx=-L&mY!C^%JN*(q!cEQ5=dn$LTvv|gxW9EdxjC7(}IYY!U=p(tj zW@!~EDV8Bwd?-NOuA=86A)GLj-NY?asw+nK z^8$Tl4%DuljoPQV*czHxSOmjP&7V0hqf7*=BsU!PyK;=i?BW1M<_pe%M--9wC@;!$ zFr~u1u+nwFcbfX6Xg(N9rQ1_XkSu~cH2w>FSNFjKiJ1d-C)omd)M~)OX1WJf*>|Ji zyC-wVWgXDxS_kunU~tEwafX;Vj~}9&roSc4jc4vY18?pkR%&*GYZ^Lwqo=&#d_Ro~ zQ{Ju0=1Y#P!d7$#KqPGvnlU%u3pgz+jmkCW{Ot>;^Ij4VVf$1o;l%FTxHc z=2QpIU6r#;*8*16S=WL*^ubLp2vk(}PM88B_=vi7Apo9eECcGghCxJqJ1*7C{L+Ys zoDd$Oqeo1bjdf3hGP19~7_IcfH|91RtCwJ9^1vAu++{fg+8&#C$NJYJxLG-+%A-v@ zvQ(fF(B6K~5K7ib86Pe)fySqayNBnF{Iq=S%oBaSa+BUuJCvliC0rxq;t=xnxtIjm zuQUZ{P6|!i>=akl)=v_*&7B$L3-Ys3R@@*q6iTyPGH(eCX9FAYcDmEttERh z@4CqbHotgarlZsz-QAb~c3SO^&HkSWJiINaG0WfAaiBEcuV}~!*~=O?9uY^3!MJ^p zn;M+T6JgKdao>)$S3#Z4PK1eV)5x(lTm0mgK#VNBr3iAL4DuAbdN7WeKwf~>%znG2eGU`DsMX%XJ zH55c6P>R-3G}oYxuh(@)skDFKhd2mqSC|*4H;cdR8Tz0xK87Va%o!J%PfH52A(OKl zP#o#^b`~fJX5skw#*?5~8C-{BU=`GTMk_5l#!=}@e*b}aix7fx&{^WsDzlan#06{( zUH-bILREb$*S#Fn9EGZH!aicr=AY$^%V^T@TmA+{Ugj3WcGDA4dLnk#K~j|W^Xz5k z1$4c4An_bM;GKs#BtzmW#`La1D3C;I5?wpR*K%B#H?C8+6SG-#ISwvs!1ZK|5%uOZ zrG~oRh&lPVdwATEbs{ii_dDu-%gupTB@?uFete`+N!iZIDosG>aZ?yhGo#8g{hih3 zmc#C|JE}YgZdsM)iBw=tyQ)T|bepE;&>WsX+#>|pblvN$yzZe(09fMkTss*jzeT`* zVM`HYxNB@TdX1QYoC#IBvd5oQ{plY42zrcx)^eBoTt-pM`TQF`EHtEN`eWq&q4%~v zTs-QJ#~H}e;mssD?22R#C0K2-s{J zlGB!4#*vtrvThfx(_%FFIvUgH?X0D$`tzJy!)_ySdQ*8fROgGaPR6kF;s%mL55@IX zOk54&I88&J@GF|p5T{8*e%R`MLa>X>psfrd3M;_~v4AIANLvOsq?THZY-G35+Z7V3 z$===o(H!=6`n$_B|7g0q zr1XCK6?1ct%HU&eq-(MF^(uXSX-Wy$XMIb!I4CaXZ?LWs)$IT5#5Gc(5i-u|NE3d^!I;lRGNEr~!5-}&(Rq+2aOxmMEQI`Jo}M+y-4l>HM+q?P-i zUT5aeDR%V<8vq{cqZox0sB{6&Pe(Y{N^niei(Ls@D3+dFv(7#wD5^es%qh>Z9!!o9>dim$^u5g*XUH_%n;lYHaadv^1;EXM8YYLtNdZ`N? ziY<#sjD6w29IuD;Io;Z+mhl+lZc-sDDZ*yB>Zo!(6INt}0{9aZzyGqYHP%x#B_G^3 znUW?c2lG?R!e26rYd33IuUA~zvsZ4epxtMSi6xE9F{^{gR!-Pe-3*&kPWRvC>2}Dw zb&M$zLJR47k47zerr}CxFEx3%u5|w$T601+A(K< zZ**yohNVb9eJLJ4c)hXMywZ%#a=stn^~yAIbgM2gl5$e*3m#B%)+Zn0*2az50L|>Q z|H*XO66=4QmvP>EvUu6fG)TRbfurw);ZJPpk@wdvN$Vb~VEqA?C`T7eza;@a1*x z*fDPP(O zGJ~hNxIF**L43IkPh`)UOV*YW{aoHL`X1A3+@^Ul?#PLJ@n&>!4nB>23!%M7Wr`>P zwr%jq2$sCTH;0tg2nFiVDld8hvMduQ9*dQj}{esn*p?g1H^F6fy1S*m9l93eMYB+7FLl~#ht*EGb22|;rN)v9(1AkM-r zHTRky32kyW#_XH9DY!|BD_IQ7`r|eo5|#ZpuW=q^?;;B2`&N*c1*0eFg?`UX13RZ; zt5(-_iBngPRkxwz74UzWxRCTjN<`wdej>IWCgu)%i5Lhp@v~Dt+t7`;3iY20EKR0< zgZ}lKefN(h?PvIEOmSj73$W~n^I1V>&cX1}RG`gpgSR942OUds zr7LFLR%*MsZn4`1zC)?8eXFX49&M=avq!rK8~g+uym{vJ#6tL-6h0RTk-CwQ@To+I zWmE7&;7K#TPeW%bRuMW$nYise(EDUTTGR~s!|@V~-a20}eolch(MMJkSHS9|g+UXM zEfRjKo}XMK(tYK$ReqPmZ4T@W+RKp#jpEYuaDnqdk+EAagr4x!KAA5{D9&>`z?DdZ zn#siANf@rQo(2uMwba!vH6DEIrU9^j5{VF3y#c{HY_u1K3fV$NM{f1U#n2Tw*GQMo1!*f|c(# zu~O8UIfF`0cM&8DtqNfWBzhBIiqYYQ?tpc7U}H~y_5r^UHg3{afoR7(z)LB#!bY{9 zJop&1abCIXuq@~`Pm#c@qV|`&T9-zwrB(Zh>v-QD8_x&`k?^cQGa$)JKSb;}B#<@p zzFyDM9@U52{BUCvOk$ErI zn)F$vOd<0yZ&BFpob4bc$NUPbPu!F5|dHRTqU^V`buEm+^(h9jX zf%?Z2?XOLhC-7jRrq_ruegSIfzV(@n7IAgUyY!Vzwl)n**piv8r}5b6je9Pirh7Bm zF!?q1!{&(D=T8$R^d#fcPaOU2yPa>c>L1zQCGAm8C=k6OF3l&{IoQgBQ#Q4wV12An zU9I6jl+C-bo1ORSp~qkSThn@-`3{M7p2DND@NW$&qhza}M&npL$K*HXPfstx*vK8f zdgsBNxS4Ogmxz{0Nojyzk01+KJ2!cqMJ5j=J@X0*J*!yylOpO+}=B3-?E-}H&` ziN@(m59kNq$XavAdmtIIr|;)RQ#y5y}fF(i`X~N znm|`F{J{geWZtnrGNOu8i*JRIc&^i1$dF@i(jzn!f$7~KsRz90XW2(p5o{HZi-{=* z*;u(Pw=b7y(tJN(#1={_K+cTy+I{3)ANxs6m}Nr#ll7^&?oTeO;YALEOvO=lr>!|D zonf^_*;rIA>sRwdM{>7Cvv@NBww0uxc0-mX3j8<6GePykYYph#r@P15_symche4&- zfxMAeC@ihVf@uvFD|ii5UJ4QWt z@7I*x29vlzr6^`urR_*O&gk0l0j)L4;Ib92_R2HvpGx1TkFJ;-WzFwjE}F9x0^CNq zqZlFdb!042Rp1>(UC}2+=kLN%~$Tr%JtuLb9tz@c?DH8 zKN5;1O)hInww>80w1r|?vn0~38bABr-clr<(HFaR@74|bKen@a=qMCOfX*EPreOYH z24_`-W-&tfC>We9*v+tMQcRm228Mx6 zQ_~bSpiA>C13nt@|G-j94-6Mp`JA6zez{!~KIFGYR%=?5=gP?(WfA6kc8Gbu3t7^y z!gciq1^46IX8W%GqJL@1Ac)Q*?aZph<&VkCb-?&@%ngI+;J9y%*Na(cr`cG5iR zAz}9_F>Ouoz+VEbpH%I-XP15#m;?%;-^PUw?qQ7=+n1H}VRmG6Si5+2u>T;EYIgdg z77_;AHNt-i^PYXkZg4WlHDs_%)&0rrUMv9m0-JI2;4-vPXUDr{HU=~wTX#KtEsv}l z)#*^b|JEVP9BE;tAC*U|>gw)8c&Ae0V-z_(G%qLyMbXJ-pk_jwoRgvN(c_Vlmdb0w zMt4#uj*3II{RKJ(M;T>Ey{nhwXSSyn%$hm^ssxcO=XWYp)dY*32M@wK7<;W-HVHM| z;ckZ&w?F)*%eiFeq)ecBFOFb~V(4f!J+)03t<6gxM3)Y?1Z5?%PC=Rg4&^v5KD~3_ zIU9f1^*Uvf`$SSNGP~sHqDd-;RX*W@z}En$cQt=*&qgOCE5`WZdeYZ7nZ6scf$@}`#B~P}R z)yBX7rPhzecy*UtE{L?$w?rj0uzZKv8pF+B9aVpE`f2&iVWTaFyRYj7@yMSpl_DuG6W=u{@ z&R^Y`T$o(k?3p~xoa|}fm?Z7(TqM8Rn0-hj|5o56O(R3#{-t(-ZH(&%icN;O5}`yRrcd$n``1 zVztOf!Qvu4C@tNKfH1@_{6 zcM5qE0pJ%Z=W~5%U!Dw|D9ABD0iq@&C>S~l&;V$wrzY_39^qff7}|Pp5I{J8;n;T- zapD5M5fsB@GG!^S;varu?ErjPm`O15v1Q2M$m=Y!=u!VqFp2RPhtIZ1>X&|`#z-jK z%FqE${+`)nyuxe#k}%LX7?_t#*m^UJ)bT~}+1XiHSzvv=x?uh;iTej2@TYENMq#mH zE{xys-yq&-v5Voa{N5Pl!MXtKuKphH{t+mO)Iu<5aN^+S%+Su;vTYi_9L0#ZR4i?$yV+3$>YV%ma zk9iM%C{4Re5}~bJKwD(cRdClD$(?2J<_|HyQaC7Kn3j&t(i>Od9)6V#;0E)(Atv0L zQ=nZ9+?opP_BJ3muMN<7t@fQH2kEF18s?3#>=XVrH1d9ulGL{kVkS&5`r_ z-j$wxL?j%|)rSoyPU4eIBJ!?#dGQGh0gAT=Us>3zm<<8xVUQ2+JMU|A9#vG(Bltz& zR3A9FNT(nut9*LRNxW+v{7vOuKu-i7-ABwvV`CHYok3My`~f`hA-K=~MKqU~7>Ax5 z0z-;O^zBT72>1-5gP#&=z;mF2P`*~GIbwXJGT!Vgocy!+#R2^NOb*-MoE~H74{~>f za4s?QE%w8E+CitnoBiqA{{Fkj<@&vfgU)H02N>+OrdZer6vPJi19^Hi7qCExN+~2m_Evlaqt_5wbi{ z!XW_j7N<~;-_yENt>-8fgOo1~kFvhLBj&ApwLH7O?-HJke>w&@3peG-y?w$I$+N6^ z_mT1vYbMTlrz?d}W=07Ue}Vd_6bem5&P#vHB{qHbIQe>S0v`M%MgYd91{30itY1dd z!B?Sbbh&Ftl!$w%&E+*PPQ)H)^M{A3TW;4k4inTI#IGX#>4-GVP;HwxG0UtOZpE&& z|EHZI$46>kN1Xx-zOFq$K1#Kd$fLeOd3IF1Ysj9y6V-bk(*|$*`+CrF<#5c&KAA{v zmXgQuV%~w_tS;w0iY`|vkSC>>V9AEK$l+^?MuDg3Y)2Lo@P-x)0Wn~>qSNe<;eO22* zUsFqOCFSxv!7Uf!$7h644H*|JF|P~=fn;3wYojZ@<#IQpf(#z83I`S0&$$}`a=<}# zL4~yI7AXW5Zf|I^g&599zb*wlyeB1o1c;DtZ7g<-1-sgnp1!&jHwJv#5YTpRkE&cC zoBf_FP#a;Wqmj8n@Ms1GqEc#qzLP~!q0&IDvg;Hwn=v*jzw3$OW~f~4s*lZM%l6mC zEtObQNETz>$!I+t0=r}}=8dGH6Z7_o(1!T-_%fL%_bYmu=x% zm_{pu5!?d%-H*7*N4R~gO(5y-dD;pl~qX+H%;Y?kjkW7{bSFI8Og!&0#n*}H^>mGf)ao!~A}NmfP} zuP$^LtqeZn%?iYIOvr#Kv3cu^vl%+dp%>vU4%x)+8#S%L;Ua^}J5N-666)LrF(S5) zS9Y^_@7BMF8wOTDW;!~zX`7rs+UX|cd$r!DhgGm2TbL~O@OCo)85cWvxwK$A zs!7%K%w`zonP&4qf)=H2{5Whsl-(Y?maZxZHlFv_x05B2_lPe>%1k~T=-s2Dqn@6N~ zsXhatS$rRlsaVUx6Z>&=a6kNkAiO7bb|#!wfZ_sCUV?VJz;=vAvuKP_0P(gnZo=s2#SvTj zm|a-8b!1VnaIQg}9DZNaai_&(sky3#yQLXx=R61U(W46jfR!VLonz+|GBF886l_Xk z$<3v)^7?4%IXZ9DsF#k)KG8ABLNJ}JRo;H&I4izoD#m5)HD;MCCzd-2zIz%tYW*M{}`*2(~%M4NPkSYoKZw>mO z)k9jp2l%QCA7lR^0WnX08A9EVIR8q065_f=Utq!nXs-Bnhr`Z5y~#b!X+H5aIcCH4 zfw(~W)GmZa=vB~(;qJ^~rQ|fpNfj%m^}(v$X-KrpsCo=7_V9IOO}Vp@bS3`r+#;-P z2)5reWW4!QZ(Ay(!*48npRXQMHJg}-*A~p#?X4Kdwvlcv4T?_sl@dWJNpm;~SxG0W z^HVh37n|F1q-3L}sE!4!%pkmJ13?Jw+F*NdP)%k!^vs|5d=g2DBFO8vmh2rIKFjK2lta#lI68J>X$5?WT z3&vLbfcGWss<8VgKd%Iitdo`V3djG8*#(>m40f(7pS+;n^iyb5(P=G_VDKCj|j^BoMC5gnlkfXs>ZUN z$BMJs%WNNy)Jnxf8ID+5WvgVhx5+Vhly$#5TQmG{yd;nc^|^xc@iPrFz@J*A3L%nJ z$u0X!6NnhRI$?J48<7I^LAWMbMf#sWY(^!b=O#x%!Z_6kW)G9H zH)ba;d~K-w<`TQ>`W`qdoVY7x#XAa>gU>S51vTis+;F*5I%c?R1Wx9Wf zmmaSzenq#(LE*JUvxc0*0|}pTaw39a6|W90A(ovB7rbS_7}uPUr}p!ONs7n3*_ke9 zVm_$6KB)5uKPW2dkk+_!Z3WqAJhFeY($#GDO!w@h(NhpJp7)lWp4hgQe%!MzLH(jG z)OSJ&@~IDf^LA%Yg85S6vfz7tfl0qPR&gcLbi=k~=`f=qZX40$8lFU)@X$>~PzM8B z*M;9xSa`ZLU5Lxxgz+2s$IcMex(^tuqu3xSG2!}|#9=)W0VR$-a)UW}mM*BD^yJ<0 zu3z-1m6^t^!Hb%>$I6aHM1bJdoR`xaswTuPMw$N~TjvxUSQM@4I33$or(<>Oq+_RJ z+qO?^+qP}n=-9S9_U${j?#$HOc{>khSFMLrr}p0KU*8whrMBb=ZfpP43i5%P+|qLM_sfYlyXD*3NrZ`IVO#bBx8W&bodCL~E3;t)$)m%nRPWiZo$vahV^ zI%qdA`x=p>14i8^z_GV49$dG=o0{pK`5_hu4JSrYnlpP5ZE2-Z8Mc}Mb%|nk^0=vF zEjE!COP2Sefhg?&Y@Ku{3<=^jgoQBlB+3qocn}Qx-B;0HfVh|Gcl^H?u1siewJJQpu?Tkk~QOlx{RpVMZOsT z7frNiy|RRl#8CB`o_vC7gR)1XDlJAEW+4fl8E&|l<@MYA3*8%X831qIXWZO1nF!q| zH5RpOL#9=uY|8_3!wQpqAtee2zssTmY8p9P(=Qr6kKr23j2P01MX`l)gIGiN3#Fu_ zFPnAROBvG^H&>!Wi2Qz3N5h2ZSo@zc1Y=F_g-6BcT_YX3gkD@p=5om(x5Gy`Da^+({zN8oe$Z zLqnnc@_8m=Dy60TG0yGlB1vi{bw zX00IJat>Gy(LC$2Mgsk>D5Eqh4yv@|j?}4RT#eeM+Q^n6vMjkHzjeHRU(W%2R6GU( z6ZLhF?`0fZG7XqDGim|0yzP?fW|VOxXc4@tF5iqz8a$%{X6q~$)IR_IlA(&8&U01Y zuhYj$LE|)`LrGP#VZ8(@Xc@ADFbMr4J&k z`(b1t^NMwAXi!7TAHKPe@-N4}=hv)f0Z9Wnf%Vf?tEP8dY$_r4qBb6p9OSOz=(T+R z{;dR-3=QEN1X6`IwDxY97;tS+R>TiuTb8uk!oZ9E5@#imaTBsBS0bX)%Wqr4gpLi9Yak;4tIvON= zH;R6@+A;&)6gfZ#gsT5|%xZbA^*~u)02aw)Iu=q-b@UyX&L0z~GXzcS5*l^e-tVsv zGuuE1h{fFM0)`0Qj?imTs=m7*OzRV)s!o#P4sRn(^i~&iYz@QUaBj>X4rq^!a^#6&MskVLS8VW zB{x?qUM0nyYl>D0xZ#*?tH)rB)B1JK;t=4kRV-T_KU5t;VPbiO4N>Nz-Q$#@#w>Z) zDbXPf;UqwFlJ|+cYOFO#HOIV@_Bf7plBGf$ibAqV7EoaqL>9*1$5~`#OBG6~?nD6B zGjX+~iCC<4Pw3g1hTF6^!#gE?C83Oz)@j(Z-p73QCwSHAXQF;!VZTmm6!CZBo4U+- z^MPCC^5&@?%%9Ohk&1U2Fwnf661r4XDW{j2f4Kn^Y?+&@OJ=QIIn!_$5Z6c*I(iNX zB!`G+Ozz}ba)xHt^1bhqMi=-S+q`BC8KAUqa<49#-#0vw6T1fl@Wx-g@Yrr0hxP3} zLsd4X+z(fuIC1*=FpLcXy^*2bv~BSS*9RM_aQoa+I4dB}yj^f(I+E$zQQV$xEY4Of zFcyG8^usfCk2eS^n_M>6(ko1TUBcVpwdAWvqu9wGjRr2|Sk6~CA#sFYV;)MD7l>pT z^VGb44cUq0lQ9%{@?NouA#Hmgou`zi2^cR8)jpQKQYN5(BhpCb5c*?Ele}W`RtcW^ zWQY<_q0yDK*n9M@bMs5tNeUQsUvD&7Lr#Gx7^uMx8+2Cfg{0DcY$!uTVme!lYuI0h zYzhE%E0O1mk*=)7Zg2M$n_mwnCHAX=RTHC^)*k^+mg{8hU%HF3oO4`I4CHT*<%ctg z7FXfqFf*h1Z*$~6x_BXOt>fyNSKD+?V=1^heLi7cyA31!zmO^KDhs1A$_l?dxnu)I z9PVzhtOqcTD6=i( z>md~HW`Aqf#?N@gF2&kSAYqV{F4g-*wbk=Me#{(U903OD05KpZq-Vz_yFuN7nTiT*VO=n! zE#fzDQ@vO~UNe5n&(SgkB19uZXTvrO;Zu^463Jap$xqeyNa7|LFvU%nH{{MEAEGYO zdW+KyKQSe|IN-YckB+PnQNT{y=4Mf!ZmA?S^ZGVROq{EY>7uzjHZN&)8TXc=j(Bp5 z;I%6^tE2+Sm|qA}jpNJg5&3~ksEYt1kqJ7Ks**);+EjSELvBJnbyLFSKc{eQ=&(L) z>(K{nUsv4A*%qMKt%H1-yO-i!(97c*@m34bCxz0b2YJ*jmPY{mci3a^h)ws@xHdV> z(>3l_d)beh5S(%9-Q%sdIpHS6DQMX%C+>6Wb=VoCtmsT5lKgQ=qYI$OK&IkqddynY z{DFt`&EK6TaRz&N#W@*gJffOcg<$p8LQ!gkN&tpqHj2vC{+rQfJ#%nsg#L^i$MD&? zBhB3fYtZN8Bx9U(N6eC~%Y49Z?}8=5Nm#%2wuEmDHH3#8&EdP>LMzxhsI0%y8~T>8 ziV(1{o8_rnY}y*moDuobU?IDQbaIdDOuU>x;2!lzcyId7A}z+1-eaEg!wSB>q6@C*s;Mb*rhTZuKG^7X7- ztQ}AijHps^xHxWNuVz2_cGU6dKhtVlc#!@`MAoP?AGL|hiRPj+mC zjmvoI+=)5oQX(vx89vd^&N|2OVY-v^Ogv%^rEh~ggX)}Nl!>Cmj3lBB_71_W8c^$+ z7f5)ibJdw})@PssiYcpun$%B*64sWxMcJ-CUn>qcZpgzvQ(HY)LouXfez*haq=It+Bpu=SJ&HqD52V)VeuAjy-+X7(MMT+h<~~owZR}Xz3yXuJNhN92}3hNkItM2OwXfFrX?oPsaB`x0Q3yX{#H)Xc5P-Hvq*M97-Lo&^E3`2LGZsgw1UDdm0T>d*~uQYpg3DWRM zzVpA<&HU0EoJ_HP*xOf{dCrWmTFk*5d71)hq`2^i7cnr&E0ssX^9Dzv^?c88!QnQlq5lk<_?sUnUwc+PDrijtqjqxTz=?i$548MIaY%{RGmQ>R&o`*+mBzY-Faq& z#82*Hck4gQSgBTjZxLGQdfYyWVmUT9{UwhrH){KL-`3LymzJ<5R;eMeEoB1T zAa9E$s;PvOz-%iParwC0){|c)-n$1_QK8s)9D5%@pz_*yOCYm*Z9BPKDBUN@HqbP9 z3jD2}#ct(KMkP(`T#B?s?t8)ZkH5QPH!~#OyFvI~p2LGxb*~pz#~yZhi@VHJh8)nI&j8u!X9d9Y_Q43I^RfMi{p{3RmmHm3u?N>BkT}5ovQ; zuNa}PC@(=iLlN$vu4_x!R+gW@b;|RYu2i7)uX&RRmUg@H1gz^e+96y(>+nt)IXY@n zvL$%fQaLQa6W29HPFlpWqcC;ax8(bhwa0I6!rB7=$YJ+v>A>LXS=Ztw=^_2ew#zfy z1WU*icGh+V*Y+2~{O+%x>E?!iS`Cj=&Rupko53cSUe>;yaL5oyS4#N+g`dVhBnakh z#9YrS<`PH5=y->-F1?1oGyF~#BM8%)TeIe*0fR?h{MiTTO3GSFtBZ8nSM41!rBPpd%14QULThGjj=pMYdd(YU*uV z32mjEkVp-TG4NL@xEdJJrcqNe1y!qj!`IH)NNoPOYos(O}(nQsFcb93_F@x2o zrhI4#hA6pkd5+>1gp`D+oxVKHna%J}<@XuCPD>5Qdo_BLcB!fbZsUiBidYb13!Xi_ zFmv|@G(2^|ypo^PQBvyGD^Mw(Q<#N_JVO?qHjGgP-yFT$c z-vqT>sjxzlrGd5(?_oBVtb`i=3mOWNpShJ}_0Q_T@9}Ps@2B!4K@L#8uUiRiv>i+W z{>r;a?%I(60k`Zq^;F5|F^U8AOd3;BC>?I#TVyoeP!CIJ037uuCA(TO3_l*F{s}V= z!3MigQD8G3JA*8yH70bE`9%fW+!^BX;gDhwo2-*^YT3r3L+b^iFXY^?%Fk_;jb|@= zwm)N)^>YMQlib5EyU#~bamU7g-tR?_nNvv*1SN8k_5=dV- z(~~o+#O>Png=p$@%X!OW3@;{ALS$dfTFXYo{d#lXzb%WNZ4!b+NX_1-)Q-ZA)vx0% zc7C{CrkM`tv$bugsVjkEZP*+|Nmy}AoTDf53DVV)(kM9jk3D{!UQfMq%or=-OpHXy z4lER4`a=ioHu65CP z!G-SpS~h!o`#XIvBjrJd%wR%2Dnd8@H$RJ#U#gZ=Jd*jKjy32CM6*QBIx@_aKB2^F z?@Er?iO`utJTKMqF3by9f3xajM*RAykgMx~)g@=&)E@&>m43Mjjh{|zhia45uT0h~sH}~$HwV$xp>i^{XsDxa{ey+1Mey3-cn$Rh0&i_mB zm6D(bxAYtArcwg^0T#e6DSsvl6Fn-F9K3jkX7!+>&ELOmM>zXiD(>KMpmI0I=8{t; zL;fVE@%YA`?h^2i3Em8Ag+yRIz9EJ8jZ|1r(N@>{_5PBFMf%x_u~PZX$*2!P-rD?u zUyD2o_Wu(zVf?=kE3oRy@{01JG{Q29DafZ_SSbzg;H6mqGhp(+7%V9NkstP zAp>V&{4e%OODq$(0x0x9RM&szOHwY-{`)mp7H|%{lu>jD#1vjI2-yEZz}U%x=l;v0 z{15aB(|@5?S~%sv1MpJPF#j!@_}`1pEWk_tX{rBT)XYD!+J6RE(9oEfSvdbsf`y5L z<)5DUUxWn%f|HG%G3DzWlrkk&6chr`TK@wHD{SZ5GR)fA(ZLN70)?CM?-8OUw{LS( zI{-RlN5U>;hi97iX)E*X;|u#5Vc6`EHm$;>s=TXgOqq2nLY*TWw1|M9_j)x|{RI?N zGTp(d5=2D>(L_bX<(Gwp4Dt%%GZ8mw6Wi<%#=%MNSIjpUtX!(+sqf~nK5&4NgA>ST z$13Ow2Z+_iyA{uSWhID*#i8efW0#BcI(Dn?MA{%Ih^h?oFm`dS-TH*lEIp5cEXJ+%e) zsoYK_pdpQ*_gZ|j{i-#kEg-9>YN8susf(-rneT4dkQfjYSkT2g3wja$tm++4jFtPM zx!tAq>D|_h7)^-C_a&H23=KEYW2Dx~S!c%So4M)h5dRhJ&O-88rw-Z&La(BtqT`|i zGK&Lp|Fgy9wg91g)x}o=AS*)%C&zbk zBVVMy*w}m_NAdq18Z`Xyk-utt()^Nv{gyXZPW_k!#&(QD~fVk=8eg0sGDW^Kwc77*Q zo$mXC();AvX6yYbH+J=v4cZPceB<2#+7b!2zhiyNePcO+s?@4HvgNn>${G34rTY3R zerHJjS{D53!I0=!UHzDldvg8vm2EE&8XZ4ehqjD4gZEhb#qY1vbG&cM6YOkPR6sO> zw5@*W*5I!I_ttoW_?27VUwQE;S!j;8U1BSKj-r|6!GdLIe(|yb>rJ0)?A)>7@{4mA z_se)kbP-7pU(Z{~lN*nhbbGIC>0b_@+b$=-Op*hmYvZ%!>PlNHXfZu~u}-M1>ql@a z2%nX$ra9>S`!XZAS}Fm4pDmRydz24|lo-}v4}CI_0oP0Vm~v`6h@gk^72pO!i~1$P zQwf53${&i*OL_-w52AMPNh}Kz@lJFA==R|HCwMni;~TVBg6$V{cNd}BC!=Fm5m%?oD*wB!2EiBlUGl{<{}nrvEU;l~ zBx{?40?nO!nB!ts|FM4dmtT9&t77fc8aOBTnpzCHC^8hcvK z@~@3NE+H)QqkakrJORxSmzRb7r?w1)n6*uCH$?2uDr_qQw?r_u)^`7@IM03iSFbwZ z*FPDC)eO+f?osovR4Dhax%c4%1gDp`(yvtwNA{E!M8B^G4{y!WuN}af!4D9S%jMh~ z&o5{b2$k^`Ki00ojvIN)`F)Z3V<1Ig`G$+X@Y}}Ife#(%?F(9&St4~;$ z(%rmrwpYJ~YyDa*cDG;s)1_Z6{gU}*S`U^Nzm2-R?o09HbdG)3uC}(H*HW42p%pW$ zV8qa&`?)RFnV3v`UgM)<{1t$YZhlF{dD&Ew{)x}WzySTXBbL6dvfAR7tFGjzssq0Xy)gqYI9jIJG#+gwh)^UbVKwwS)0QOE`xf|Fu*rm~cM?Zy z9it&JNBj3^C!g-RrZlz>HC|KzS4%WDn-{Un^wU3Yr$UXLEyJwvG(Da-MQ8A5cGzNN zx&2|oAe&`0BO$>BDx3l8HR&pXJW}vzm|uf>J&O)fI@Gc`h701q&a6U0frvIwJfQ-V zITq@hgItd6=#AfByFb8pLUk^4^)*o@H1%lWGg%l>C|W`X0<6{QU})#zf+%BBC@hpW zGRHINxJ?YIOzFIzgo@iK$velIm#iUgehl2rBHrK36vs{Ok8J8?NDq+%yqEuKGnoh` zJI+{l4DRm+*N`CiUz6T+<(x$e)})oWtR8cj*W{6FIHM)QD2M|XKJ)I=Orl59dHG3H zd?*O}8y}yh8Keq-ad{sO0}!s*mBtX3bD?0%BRrDiLSJxy=<7^Jsa&8!IpvPV zPLs6YClP!-r?LZbc>*c|fo-ohMLYz0)G0Q(8@;n#Ky`A5OFu{u9pjGyiEk0nQ4+o7 za$>B`wYlfAqq%outViM)uf{`pxP2N=B2vD!q3)xJkz%d~c+1>G07sG2HSel^A>ovD zV=`2=-SmPe^Kta9wkm~; zJX+G&#of@tpdUt9bR?lq|4e1>Jg>XjP92{9Flof9ReyGjY3NpYcRExKUM~PPF;r#q z+r~T@^%plpeMq+mUFd$LE;rW)79<%4!7^AmgJb>c^}JewaT*c^$G?s8prlvz&nYsV z=jnwTcp*S)YI#9oMt63n3k~jovv8<1=GVTpqhU{+wYGPI9*mc&eyX7}>oZfR_q$7> z+UyQfya&sezD5W=cE*GZqHDs@da#HezEEC~tTkn8KjY;Va`9ViK-R@k*6N|4I$|W- zSx2!t!k0i&M*Z3MMDKK?gk$h?I&D=Prto0xGhU!EaChuyxcd1#V&8JHnl&Neq=n`9 z2D)Uv6UWr)X(2T_s1md z9v=YxDy`oysYOxj<;U8O2x1Bx`clzx?gmEJ&QAEhAVpr($U%xHd^+g2s}=@?%d}Vx zL%CW)#Y2sckzk=FHa7I1YA8_xPFRwU$#~yJ*RI(hOvUDajBCo z)U+swx*b!bp3Z4Jb*gpqJ6-(XQBrRpmuAq1IHM`gAi77cH(qT35AD;%boVcKfhxmH zM-G|0V*G5Vf8>>Y*9J|UbYZ8-WnU8*>7+6<1d-O1#JC82iGY_Y``3Y$PNHtU_C3&c zIBIKXB=2mk75ylpJ^t$X_HBWT%3h4P5WH>P+>fZV;5Z?xf!10--)@2X-+jo!zYW@} zGEkUdO~qD8A{5p# zgPJ**-=XK3B8A+qgH=|ImN;52h&cS5S#aqrqjS{mrFYD#PTFdFl8J8c7NFD%yyv7` z;!a8B%EUjX}lE zRH)~7UF?7=ikd__+(96bP(RQG3f=G+=NC(}l%3D&P?|t087_v zi)hHb9&})rT{U2*P+NkxHueSmPLR6h=MA4fp=sFIuK`cDu1N4Gf|H)Zq_=J$YH2N4 z&TJ@CfjU%hXwqVOV(Dnh7spaC%vn>y#pO57^Voh(8M2IaopSx|UVak{KWED)OW3ZI zG+SCkTjz5!or&?Ac@n78n*E^ob73xyi(t_q_2qn(OYv^^$n?eiu)Jj2zN#Y=2jRbS zFJWSZ{+mt2>_{}`2qxBC?IhSrd1#`~Rx&L0>AQ+hpqt%d^7(yey2OJbvp#6du3N7( zCp*=Jo*0TbDNP|~^*x_z_us%)QKi4V=QudLDSpJ|L!G+54Ge&4IKM~8Rc(h`Lgh=0 zmAJq+^?3fNumN}Lu(WI0OIeH8Ij>7ECPviQ30yVmt8UY8v&Hju6}YgZR^0E|6&XFk zjV#!SZW@Ridko^MpNS&pZ$8tkqcrHIad4=u-1O@4(olnLiQ$>qmB(r_!gSQrl(KDj zMpMU<_QaM9a85uCYP2D73rKFS5FaNiOMOqq%{EuYl|4=YRxFm;L~7JZys0hM`;qbJ zqzh6HoFLrf*RP587HEBWkI=FO$Ro<=H?zeKPM%JNDKjFcllaNHP)*%oUj(RgYUH*u zVXFAUe%gE@$fy)dgs>S$q0hkREcqs}8N$YBh_w&5(-%PAc=)Nwd0$7pYm%Z6JUd<4 z&+gnR(7lD_aV64Ko`qk#pE6tmW8^Xr2_`)qtj?1o0m0G1u8m-S?T5G^oUqMQN7enr zIMT%1rN=U_Rw&_Gy_0!t2t2}@Y6B^lgy1GeV+PJ@**35I)t#eYigKzD+iy69awQs`ZW0xcvFFWUlCq6)g-aSO;?R%J?vN- zBJSOA54|j)M)Fp(j-(s#tec~`dSo~|rLmPKjtSiH?!QDyWdsV-Ju20GvTa+w?8er7 z^0um8vGteD!4;A)?@k@UOIys=+I4$D>ICHLC@j<;HnkbHz|98{^vP-cyuiW|duh$0 zd*zx}V&IjucrTyNLhFJm>H1AL)Ivb3dX>*sCG@*Sb2ywTUtgqWf)^^Wr>Q^qSpsO8 z#Q=P5rJiw}&ro>(o?C^tZz`27coDPjgi?GZKKD=lLr(gkP_iU!x)=2SK^3O^!3NPa z0|Au|Hm6UdiDEq#M?oFAL}r2n)BPt@5SoU6wXwVL2My_;x|cmBiwp=>3Y@8{#4O+L zIH=GEU$n{A4eZyB^|K;k7O>M7)`QxN&MlxEg(7yzL13`0uYe4-GqEVPrsw9{r?)UT z%Nu=)L@erFnvd8uOTyFf8_D%aS~fOztL_l%g4F?45HeZYR1<czLrOuv6mcT4Rb3S`eD7-{nlZ}7RR%j~kDn2QY9q{4 zTW*JgHINJ2ro5@PLX0Fv(@mw7){Gmxu-OtyEMGHZmhEd!$ZJ5=w754j=qPq#gY5q~ zrOpzP?roWykAAnTm+%Fxe(R<@JTajcAJq{Z&G7Y~w=Pxo#~r+w6={@5sKMO7H76!hNL4 z&!snOEPd(tS=A_*8a$k#hKNXcUW}=HEZ8Bn4_Zip=~%4Y+lt7PBF;*Eni2|ZxRW{F zHRd3o*DKwN;6X8F&)Rb4i<#m{q-``Ow%~iEILZya3p$NEVw#2J&93&Iti@5DW=&jq zFhTr&{o^${w&IFByGihppsO}X(t9eHU~FHMB>Kea;!|nHYb(Q&ETP20q10Odc6#W# z%F~xJzvgf~H{BLbw{a?LyVDQYx|KSw|8gX`j=RH~Cwi*?4)v*+B&hxj;pccG|u)N)~m)tnFp*&O6&pTG13cAEq_?vAMEO)~G zz{h@dFQRnvaHrJY z!-)imI~8ZD+TroV2#aftI-Bl0w4)@GlwKo>Djc&g-iN_{wQu3L``*@CHGEcy7lWV5&LBtqd()# zcw&^z-;kGTeU*7#LmXZZ`p72U!_n2e2Z;*L+?EsORQ@pl@b;!HVy2PVh1u6R>&+r48G zi+bB_jKh2mnn%w8l=(CmjoRl|Zkc>~BaA8BtoV+FSFJ=6Cptwo#bkv%61? z@--QH*mM{WAAMRlaaNwCtCB-;^UGaDaBAGjZ|O1EQ?;g+hqC#I(mJ3YgP9Sn3Dp#_ zx-TI-Nh}#a{Vk$DhLg-H6%q2TVcteBq0^Mygs)Tf4N2we@Mc*4M-hS2ZuIUVVLt$F3hOupe-s5L)ml0%}UxFZSa)828Qy{TEo~=NgJ7~!g<6{8y zyErroU98naRFQ!VA6_%uRZ?^km4;CWv(26PrE+nshNF2cP12>)Wd?>H65HDngd)uZ zcGM9-N=KjWu`<)CcKYY@(#1PE7vVIQ`Q55{zLlVDeov;}w5A6C+{P3Fg9 zbw*y-Z9&aIe#c*(v0d5Glm5J>v`shY`}GG67Pp$YrD@`THMT5h zPQtkwsvCSx^GXDjoD&qajqY``An!TD$rN>UnHDLTJ zSezsvPf`_>O(HPGMd4}Pi{bbT!i_h)oq;?8&Oy^CQ`hhCe7Ga+kqCvR;AciR?Y*RD zH1AR?dGTT{yCO|qs#DFZK#@3);=b=8CenTX?z(F|FrgDEwf3G#u0#&3d}AoHUWe-t z=jb-!x~G~C(5TxY^w(P77ZeX@T>u3lz1X9qO1g2tu9h`0qV)aT0aJ6nJB9I%Jy^%P zpZ93ktdM|=OiCRcODOVRxj}=zKjE%(wy;58?b%VF}@IVv$E4# z%Y?ptiB0&^Sv{$;4G9d!IWC6+AOr)I^bK!ZRG3he3`l<1IMh6Pa?2#Q{|vRr;uQfj z8IVc^--O+V+47_;079ZJqh5TCwq3BG+G^myzv0 zf4C}KnHPZK+`G(Cmo%J)xb~Ehd{a2g%W2~yxSjUSCuDqiZ~@{j_GMq#8*d4uzlLJL zrS|j8(HV>k1o)+-xrN0c36~wHr3d^x3AHIQlx8-2u@|M2lxHn+9wJ%Ao`Gp8_c&Tr zWY3|tKjCi4C_#j=m0f@<`Sx`$J7slLu{|%tTY}JwURLu*FZM!C$R57EO{XZn?={%2 z4)y-s@vI8vT?@82l$)6^8|#}|hJJ|sL^kAZw0ef=goV?u76F^NjT=_GmCH8olZ99l z4oIXd!uq-i%anVOVNB-BylLB0@fCNgeEglJ4))xTS$mkF&ocmc>x~J)RMfXDKIb^^ znC?yU{yGKGZYHL6ds6ox!sam8?w#3}#foU?j~`wiq)8DLm=3^DXq2kjxqg`5xDu(Hhd@y?Nj1eoZ*>Hja!m@s?)a4pXz|H**e_0hs)jY zWH(n3(Z$bCpS~}f=?^lo{8)`CD(y7aZ!?vFb|8vDMbKSwV9Mh&#DC;EZPXv+fsx5_ zR^svyTb(hNQTTjp6H`ZYh9#=eKR}t3 z41>82Fo*pQE@!#_G7u9rPV_%SQp|l&A^2do>s0z@|6oP<3VEs%SJlH21<(0TE-sFB zw;YfBl7Bj$!&x!rNU&g(=H|36jsDupbs^u^NoX+j%26HIt?^+_a*8h6)(W=m2cAa( z8tV>ua4iYER4gZ?k8Fgdq)f**|M>>VgHUI>W|B@%nBK&tCz!j6KGiR5xs&ZU)2YTK zz=%^m{BTpU_c?vhOT6Z}T;)LPBFgpDX!lDMX1si|s>3oIdhg6tc13CEjuSSN3MuUS z2;X2I7q9ReE!?WJE{-b+DZ8B(N3+8ZcD)}4Z@(;ovyK&MXO2;vB#gTrL34Ac(^LL# zaU)eCv#P%yv{l)>-0I)vr^22Web_|Nji!$zLJvf_chzRxmQ1sB@&h_TXAK46!32cw zN!EKv2?!-7#ZCgJXR_a_?!K|PkA%&0U~CP#7!7QR*!xMH%ol(w6JRu@OhJu4CYsV= zqj}K+E{eyl-(c@Me@-5b#WPtX&Rk_6{$O3j*=^F2LNuLE!ee3L_hCY)6Qm#*~~jJf}iMS(U4zj8f_4HUO{l_ zOxauvaqXCk+1O9%F-caVAb-;}o+ikeg|RaRBvK`hN3ZLz4wPQkdJo)wF-W%a4clF0 zVKsf!aDR8*BjHSHX?g0BKi2DY0Xm;cI*ul&JnJ@wxt!biE~wcBJj<(;)2W^qNZET)Rw~ovLmy_$GMn0u?USDvXKpIiexKn0 zjBHhlMwd(_bROkTC()6RdoC=5j4c>^obVm~{;-IvVTJCr`ut&K!F+YZ6sgmVtcIvY z^?~6Uyqk$LfsT5?MrU|}HZAM#YWL*@aWp6d$t0reN)_zngEgEIkeeZ#C54B0>O()X zMX~nXa`f>WU83*8w39&Zl6VcaU>^B^*U==LNoi9Nw~YhG&Y7E`WD;1@Fif3rbn*=& zJ@|eHIZNX5lZMvXAO|@`@Zppqls6d#e_Y?0DKs(W4m^`ZF5EKOmjjVWrHkYhXIsW4pH6~PY5MPgyq!e@ zCIUwHMv=@Ek#Tf$IZu-P0Ym8lEd@~k=is4%owah&nj&W#uJhCUS?%?qxWMwqXP=mx zH@|Oh$*DX9QwOst(3}HxDaipZiDv;N*EFwT*CrJHjq|syo`Vx)k;(Y6YS@H5&?mIa)+kv}jh3L*(9{EaZRtUMF|BQ3dNxw55tK^iC|Jl}!++GQ6U@my50>Hx)XCLcT)$$;`S(nC_lCA%+kx=t_Um6`l7xiB% zOD1TAwbT;XCSles(iny>E&Wn4(fi}>yR7~qcZzQ3f8ry^b-cGp?RcLNI$F_`Ql`@W zyBC_JGu%H5NI88BdXZum!#C^JQUOY0?HXerH?H#Xe`)IOpat(}12f0r+OQOaDFJfG zcmWU+dJ1_`aP4oBZ8J9g$2V`)EfG4Fo=pN?0wSiQiUOC)W*_q+I!3Me!99*EK3Qv) z9eET-wN~--Gy1kfrAOd7g#($B4oqk;(8fm-bmgbOG^x9gQc_@2KSY2^f}{@$T99>F z!~U-a*VMb1C~&g)b1*r0KBc-HL~Rbq*3?tC~?;NRmzv;;R#fz3vD{Ycd#IJm(F(N>KYGhP%5Yc@I%eAVNP0*xJk6}yl(~lY%^#yN zr5O(Y@;(CK=XITrPfTt+LX0)y?t^T4q_RPEZb3qz=pvq!K;xx1#z*iUPY~e`H@1ykRz8SZ7ALY z9TL4mV+?>ns(Zth0Y9xSmV#U@`@^|H)40l*qp{4+NtX0zmF-I}khbSmAS3WeTC6R> zy+IavH{hXg&K^E(cCf`6I4$Mc@_MxFn;s!Ng9AZ*5XeBb_s3siN>rV3pCUlH>4^}~ z=Xg44pojg@z=n=R5~yjjC}-4D9^Ymg@SSEfh1M%-=7xggR-o!Zj@mrD!Mc33`D4YC ziR4-IAt(pPOZP$N<^MC$il~z<;Z3-WzD7c^eTM^Coe^XE@=?nIr+uw0Zs}?LJLZhB z6$!=;$u`Ysg(GEvop*kcn}>!{2Lc<|*g9m5+Srq8IP|s9liC5~l)+vwfSj&+Qi^#u z=qz`etV~UjB(KIHN|TC(2Qe~pOP00e+#Hi%G}f4ksdk8DWZer=!TN0-p;C`JZO8h1 z!|MWVKlT&H?@fM{z9B-`n=4nPkuXZJ%h|!;j8B}o04g-R);Cv?w(V>7-(h&Em z3p4#^p^?S-m@TpY4^O3m26rz3V{N7?(Of$(ZuZ^*9*8ZTm;vm%lOt;mE|}Q9~nI+|)d^ky^1p zF~fqHP%W*2p{%`}7+#r5F9@LI8%k|S`EXXrczyy}>?b9BDDN%mE-z=gB2?Z^@eOEh@|T^- z3HhkqSE#`Wg-NHOvXMF2Xe+#sLQYXJ6gqr^O8}$x;^$(^ug)#CJvTsfMEy+yWwMgy zXJ?N14AirG!Y=OFjU;F^ZcM#U#%Spldm48tbzJ8VOM|S_a-&0P^sxxx;JWGFlVrZu zY0KlIPT4qKtq*_b;>&=dxgav)OX@57VUS;BJ9w|M5Lu2e?{OS;m{{(-2%@Eyvo)jp z5S;dL7~(o{BVmb*b~&)SHdMoK6DRrIG>a6YO106Cm|9|GbN)$QWcWd~@S(UtX0J#X z@*;e>AgIx`PJi;g@pHoInr|?%&mI+t;U@gbjzmIMsSW*KP^jKi;}2bn9ykC7cg!PZCZ0fHD^mU? zCXd8{9na6zU$rZ8o`Z%f{U(6O6>6{}AhPRu-X-58dXq#RFbPX7mOeUWTsp5tO-bUx-T#}Vt^}%0 zu3RWOz&IS9^2O7Fx?r8@lVEvdCzT;~W0(2P$4I`?kEQNs;1769)t5NPKUVGy&1EySj$YF<_o2h9I~%M0757l{yaqR6H&^yf{P>$7>>X{q`z{Ie9V#v8 z6Xg*O*IGp3l=~h@pvNRBl7XAbWtP1H`b;sntk7vj_Hn4ISh^^HILK+k@Ofc1k#)^m z?T3F3<9|(qKH*up@I}?3}9ZYb3r!MjME9TZ@=bT zK-MWC{N_@YTv2V4tBWd-`{N$@dii+{aVKytRRKB4o8t;Ow+#75N9;EZnu9DGPf{YN zIQ~6~`^e!Q?mxr9#kbBT3|`exQ_S@13fATozYiHR>?51Kt0fwFy5Vd1VYr1WiZa0u zqASL@819eQWX%`NeF&Wr{sSJz^Rv^F%*7;)8`L<$G2>F4_I~nj-sNA_(U)E$2t`Xw ztsn+X@^s1WQ0n>_MA`C!1!2vw+gFS_;=h2CGu@J&ti3mRmzC50`C^NmX=xXavj zd435^uxm&yY*G8HRtvH>O{`qV_QPl{9sQjFcXmfDD1oAss8@Q z!zFv~O<56l4@5?UWRt!3UP;BRtTZU(X3L5YDha71D;h>3qeK~HlNG+_s^0H+_kJF~ z-~EUCJm37x>SVLYfYUnE#9l&aj>cVc|zORh|k5Uv&aSUWx7Z+pCWM2#I4a9-;~xy52YRK*8E~`X0F`j>EkF2 z{&i`sJDABBYtJ=!R86lu@W#eeBi{0zJY>RXs?q1&H6?wUEO@n&>$2_ zq_i~$*`EX(e65+7EGVl};mRW}OPd39ZSy&g3FA_-Ws+YXFPqgj zwcH(l?Mpj}+2=7c?}aon5WB0E66l%GI9|>y$6U4O$R0ii-w@}}4PQFw<*#3ytDqNpwraj(Wt81zAZ;8oC+e@A_+&SsYlM@uiMgT zaMj$T`h0fwc&hU&^VI6d{cVYNag*f@#!(UUs@0G-u@8hdkWVi37@jg@7RVX5AmPhe{6^`(nmc&x=W;0@xDW;VGf5_i1xh) z&sNRDw;4uh(q79iWm0&b5?XIo)gVLye} z3%`4%OWIL=BtFNuNb@AKARB#VQgg_@E3UoBl$Hb7z1de@Jd8kQQTnzG z96t67ZHa+Ko+wRKc23ZHkx zE_@5yelf_I5@pEUaa+pFK`vh_w0N@EP3@3*#bf0g$6of1FwS`QVe+2J#c>5+n^4u#xHkSe>LW? zOH11u#`D_uHX<^1w6>nprF*r$9&vf+IO9E5cgMtW(M}{R#O*!Lmh^E&)vadXddEgf z{OO|`6%*3t+65LN<(ohG3lw?8dnPkgZ|h8mJamr8OtzC@Wy_UIH3)r8KS8xP{8cq* z;wek+J@j}>s*DRg0_iwrn>qb6@WP&8SADUkuY)>n^|`z&%=QoI34QP9ZMfAn%3Sas z7gB!GDJ?B+Wy|@#W7Rj;uh0l6-`PyLEcX5WO{&d2Rp~u+9ARHL=^Ztf!MFN@LWId_G9S z@uoaP90hx%cA_SOaqwcG9CKRul4bXa4j(sy%Z?+=_Q;-*(`lw7XHQHgWt0ZlsAj^% z@W-yE$KL(9q>y(hiyB9@_-yJE2e%oAc+@t^_`*G?ZpnzSwD`47YR!U2oZ=?M;_a8% zt)|YMJFUchJKs5bRqVNbeH7mt#xX}_m+{+v`|j&Jsr!QM<{!_?PNRB%FO=5ZKAFL( z(d@^?6W9ebN4q2U^8T9&kB)EO&T;p?^_3eue^YTcEwoNc#)PWYuHR#~-7m#YAA>H) zj8{=fUdzh%559W98%9?jI=!brc|g6d&-as+h)`t)hws6tkr`SWW7ow8Qfq{&6pLpU zE#|?$+jf<hTyGLRcn7|$^6B!YbVu_FJo+v5TgRK#J!cbEFi)oPYVTAgGxfC? z{=gg6^L!b8^2v7sJ78u>xqy$*d>h|vIyCrdWVqrs_Hm&E%T5Z_9_wfELY2vb!XGEh z1(SjVvooKV=4EI%VVf&jJ-&aplRZ3Gq+R6Lb(kT-8Hv<`Z=;XKgk6i|?i1UieZ2e5 z26AK4vH#-Kv-4FgA2sN|P3X8rJ#Tia>WwJJFUBw!oCCLEaJH1kCly9RGhJbn7mm1| z{cd+>*ojL@{mY7{ZPA*K%}Bb)H(OrrnTuBxrz0rfhMq-ZJ&$rnlES~pTsyf?DWC3< zVRx2SGpfMNf9$-|l1_>kf9&GuH}CiSO?MAvt4`~CJ?i1#YbF1YkjXGpU!;M3DK;bh z;sgGo%&W^PlN@dcc9C1-$#Q1O4~}DmxMN>=!`_>*yT1#4U^m#UC{}uVP}!rs(xy1SH{1midq{zV$f< ztCtHR78mk22pqM^toNTp%9xZ0AJ)73jHfsJfLv({zp>}RwFfg4?~c}H4Bkk(r~C7@ zeD( zs`PC>_W6D(OJhg-D@89QnY{^7rE}*WQDaRa5|MiEY}DZ)KHr_@w2l_>&)Xhl(mL~j zpzr75FMF+p1*vr6X!8JF))O_v_H1-chpP00S-hv|vsWP+5+Pff*q!u|eM302mT_UN zGsDL#yyg<+#NVAPT-7tR|30!Z06(c3c|Ij!bdvG1Pr>mx=XPlqxuPmDd1mcvrd?4g~85-Q&Rwnlze{<9`iKQ0bz{puvJ{j=y>bl@V zB>WPc$#b>5=E-AujeLfeYw3Q%?l>*KZBR^9l`RYW?);&$7q1W$9@Prb+fOo`MxDG5G{r~6u(r|kko z)l1rJ>|9|Vl5Qq`{+>{B-zU4IG4Gk}gOpTJ|Lm5Rz1LqTDOQegpR;tQs*l{uPrxYG z$SWk2Uz)S%FF5$b>*=CmQZYWr?I$Nye1wF+mX}#75?fcBea~ejpxfQkJ-=VXBdQI`GNyOFe|kQDJr186bf@)%fycqV&Z1YgAr?;)+Xc$2 z2RZ6(<#GZ$Q*_$D+8z@#pNwto72dq-p!d9r5U-^4A;Mw;^&~Wlns%1n%>10$sEEzV z6TIb*cteKU4Fg}L-iR`mzswVqmc;SQHV}&Ij7Lsst)G3oX=`Ne6?|xi-ADFj!vw_HkD_-UhsG)XOJ7j_a$-Sm)Axf8W-3#nT)n|13i`>gJp&0Sc7NDYp{r1Q(dOk9s?*)$g)aAoy)5OeC4IJ?o* zK9-oDc+Je0Px-gl?hC;zyREwwpC=!Q9XND9T8nM4bI|KlB=@*9j2mA5rP93Di}LD1 z##m{?Yks8}oHM(^nTcEKB6ZN(^w84yccT8&G@6+@bk2g>b9#OrY)zvb19}A)N>q#7 zRGn_G9y1=e5Np`he(#3{?VW-z?w|Qy;56P{8~%(BJkrHFkd}dUQ(;=!%0eF;@b)Tz z^1anMW%9YZP_#(Xby>FQeOI+&Uw-7ZlnYq9+0t^MgeSQZ3jMJxN5lr4zvi^nQ7!V< zYRRKx5>!=#qr(g`7({QsEp8P>It*Zxmo%ay&l}tBf4ZQ4d(l(PakeUe$%pZZPUKGb zq@?#3JhNR7-?5sHte;A(vY=t&P7QWH8;lb+#x5{T2(#Ru(oJf8bI2+r=fKW^TWKcK zcAACeCb>y&PXuqA75I37>mk4Os*?Wc1D`MvoYI&Fr<~ruHwmr$?#+85CEMpF^95vp zs7-afs%Ox6aqLn}{kG4j^Ngi;l3Qs$--ip&*kGRcp`Vs~!BEq#Mt6q&vqMZG5h_NT znhWKP@M|Y;9enI#J)m)HqD0y&a|u~3EWB<}nQ?2$!YQI@_?VRB)U>@^Ta>ZR{&0;a zUG~pgr3xx^p#yp49L{?_9C~#rx{vj&o3-a#b_L7_AGOuJS@-qjvigG`t4s91u6In@ zwr`3Ixq_dd|CFRDouuAZ==Bco>Ed=o%3bd+d#>zPs~f^uV)gKZ{@RQbz3r3jUz5`` z_($aC1x(!S`+Q3mf}XrRyJOhcJ8-UNTu`R{R?`K~6SW7wzdgE*^uHII=$2JE6Aij{Y8zr~{oVL5MB9hh1W6y@>)e~G<1O4H!xt9wg66v@cz-5x_f zXe&;_G8<`fCdOt^vRXqqAHQ9sNs8=U@eGN?`9_N<7>(+R7ol<`bt>Ly)Xg(G9=?uQ zXs-S7WoYB^&V3#q3&A$!cwWC+j4*)B-y9bVJd$%`uC`-pXiD!~jnp8YK7 z9T1vW3&v}r@Lfy&CeeO(7c+#v^==#I-&Fi^e{Hf8nIDz0_r|Hl(U6_2{+e48H>xil zzrU};OXFmm$fF}}=0+Seey_on+u;LV=#ZWieFqYmP|wKbwnZlp#~ zcr9$n&=#ec>4`K=X%98=A5jjCGqK*PK2uZ@;4I6m8it~VMV z>)D@oW4#2A(e}G+FHk@z&%GU=tQV^g;1c|r&oa9%UGvAWxVw|_hxpy+dX(>u)|TFT z**B=n*Q0;+kTbPK=p*$hX2nl6Hi6>7h_Mm((qktZZS0n*p4%`S_v1OC={wHR)m&@b z?kz2h#N$I@-`1}Cya`;~7Pxk)!se+H zWsE}YuzQQ5XPB{=Q-49jwHZP?tLdIDsj>EAwhqdf$*$Sywv^`DmvvPFow`g5{!wrA zd2dN~Htj3=La)7ctbhE_4B|qdn){bV`qVMI!f9`Nm1_|<+3I_|-gZnpKD+*MRCX>d zwoJR9dZ7cKq>GE$JM>WO1Ej|&Q`zd0;+b#HZ_3Wfb%)nXeqZxct?}pBqaL>UeP;9+ z%lq7q2QI#)S3Sa*#~9%BA#Xdnc(g?<*ZOvPS-QXU+wt=SMVIcJo391$Og&rvHfNe3 z*x_Lu^HC?8*&XF>>rmnyLJrE{Dz&z+ebdVBH+1f_ zw@gbJJSSu;!E1T|D<^nFIqm~ntZZl&FO}P&k#hCO_|@%zw5z8^1bsV3qwkb16lUDL zr*PS-DF00S+_b5q+La^)_D4Ev%Q&IqZ&##sRW5E{i+j%*zNP$8wmb045pS_ZD^q(8 z@xvxfK{C?#sEH)jg*rTsv`%v~SJ987Vm2S3e z-cXCzs)28o?&YJq8}GY^l%7@VHtK}b1+Q*za({PvWsqT$IC}GyoJfdM*fA#R$k3Ki z2J@yfkV)Ax6|HYa>FJ(dZG_8;VmQ8as!wHp*VEy$#)M$-ntCEun!WYLSv*bE6P1Ba z?MhC!FaCTyULwWi8YkOdWf69(LaDmp$FyVVfP+p@jVq;Wcgx17OZ%T(E*q;g+_BPf zj2Uq0_DSbzix?ED#^i?m@P%Ero-debvN@ahmOV2;ioV+;747}AJ#y{4qkgQhuD)MT zV(H81zDMC2u6UZVp@l_QpwJz4<2Bl2OhS%Nn>8`mc|gOTQKqVpA!Qx3?DZt?s# zO!rJ0-VaHMWOVvLu4dxkDr}`c<_Q`h$*W%X6Kf;O)Q0diEK~bqsSEd9d-4T8)_b9f z6)TzHB%Bez+o>Zo{>t%#$)VV@y%s@M>{yJcz|XV?ZK2c!*iKJquUMj=_}wQEA^ioK z=Slo*Dl4`*o2~QCl>zX)R!)w}QvF1)BnzJ{wA>Fdk&7FzZsb>& zB?Lr0K3^_`kMm9!l@*GqZoOD%|0#pYf3}t9(B7~tGo+DaeZ=Kg`&Tzx!|_R1Kf)uk z)NhwJ-%(1WDcCu*v0&G?{lHY=MTeb{eRA~W;frTXsVmZlDs1!1^i6WB_RjjVe;w7F z4``|ns#!RT=KV69ee`+!D&rd6nC#MU1jQ+~wENysBHs8Jl^s0?x@sUN|2&cCp`8JAtPE3Jr{UP>= zB}Z1QBvG1O4Y%Yh2VPgcsOcAN(RkKAiZDJaant0G65K(BBKZ5N@K>5CYpdjNd46i1 zHvz9ZIE6WO@N$OXnGtU|UxyFzdbL$vQ;&Ik>x8MH1S$mOXuNdi$bKu^Tk9W$nD2Kd zmwbMD&cSG?rAYByNtd11-YS7?51BH4(TebZpl5~1;`sHr8|+v8nz@gywLjbrID9X- zI8w}^AHC_K-h{%QyC_RDzN#$@jrNW-6FJnn{7AgJrw4}*or^_G9O$I)x2MX_@NPfQ z8xoir7RT?`109;9=}_eCa=(Aw$e<_Q`0Y}2MSP$3`TS>E4Y4>&fzPJg7oyqfztTv8 zzo%0ff01$)W{uFULcS>RD=6W;uc^`-I<{u5EmWOg@ruenJ!A0}?k;?A$_*zN`2J)AHCeL?R<;ZsAWSCcg8>Ug4K~j z1CaN&KlViVNzRBK`C!}oSPqFZWSHSi;Qe;8=V?S=;_Q&S?yLq@s&1H>KR57hduFiN z@Y=bDS88o5=+g!^xU*Q}k}AyS45bXp8{i8w-({(3ES&IbODaDit#oe&HPx_%@QIm3 zm+-th@P$LBXhf)%-lznZV4BE!pa1(K=GjwuuGjZzBt{F#_Vycl%%Haqt1&#PKVB!{ za~>#wtvnZdC+J8XQ|+ECi0I(RK)-p$I+wuO_VVUAf+g?iJ+QS!WCkXqNBrsZ;8PQo z&M!x+M0-T=rL`Wyu3}tax-Mrd^S@odGJdMhn_gKmjY_;H7#hKjhbUhW-%9Kby1Q9G z5ioOFKbNcj4VTuip=cLs>7!zkX0{)uT`1Q`3<^xFI%+YT*I znCl%b+{$8#fA-xv1QJNc)Km4@qakFk$xy4Zi0K91SMYmA6V$b_#{C~03@liC3a@f@ z_jkQg2*o|3JMk_lNIP1VJt-Ws;>2~z;k~EunIecOcg($O(@I5iHM~+kF1NoH*q3$n zv|N0g2onbHate~xYq`TbKK4djG$Af$_!xKA@WU>J3Z@5}ZsV$rs+j8qwUuetM$@Be ztr^qkmlPYyWtL##4FJ^>GF2AmHk$0cuvU}^x{R<7S6JS(+^7b*c%xIT;EkA9qxSxJt%Ol;< zcly}Fnx6->Ofiey-n?O!o%=)Ec%(XLBjPtT=Jr%HibMlci-G zZS?JVvZ!gZmT)glOn9E?<+wKMs|#B{q9>}(UDKc9h9ylClwm0sa&x~bOL($A_)G|+ zn`t=Y{n9(87R}>kP;sSmVXnh;U6eVMLn@=w-OtSAGyX*JOw*8ALYIckU`|y*Z$sE) z^anZ@r^%ybPBR{Pq$PIB-+0_x%t~UJ>z7e|K`ZP$d9p?6@r)wkcsvOl_ zEDb)nvdQGm_tm;Gr^D^>wcAUw=NdQz)Q7+=ONi=?s;cS6uiI6!Q5X~kzjiW}!8g^);j~A5M%PjFI7_%QM}&pn@4>;M|{}TK@_LN6&+U6R5HdMd#(S)5ZR5H3 zW*=>T(6Q_!bh+|1%wlhrN4(!wk+b=1brgpt<=n!4*uA3gU47Cf#O zlK)X=&0#?8W@vh*T6_7v5uuX%s{0>g#^--+RMOP*7<*be%0wYB*Vt*$;JHHSxutnD z2Qp9+I%J49>7S}_zMmtqrX^Ov@G$3rMJ(^p>nW?gMvZI?mi66-7SE5EhKGok>eY!< zr8vma-(!CEb|?M3h+bx~B;B$0hvCmT!e63}BOioW`>M~sjPB&K>gqTz#|@E&EiOFN zy21lvip~surP!J*LjRR9__Yhq5AYVM=F5D_!f)(~Y4DnqwU(5q(#wM@$jBk-WMSPC zM#UcXngTKpQaHVyn4QW+k45D)EeAOmnuH|#3!Rkk+Vk)Xjs6EQhGBIE)qAVUVYe!C zJ?0Zf^-7$=WSFk-1}luD=$8CgdGw>w(p4tw)s0P$*h*Z-mG=Qzo?BjpbAx-|Uzy@- z&bOV?HNQ*1S0Az5AN0b__8#)b_bP-DZ__vZEQs&y+fJ2cjp3Q%+@^e1u5Pu{!P|_~4aXZfn%FQ#rkyK31`uVjiurZCN9)16iPlm>pkbzX_l&s40&Cu7J? zH(esVHzmyruV0BPlCsKvF;|{-b{x;4T96Ic}%jR(X>YKP0|*|RmrJ6MeznX_&t9j@83Xsb5+-u}Ks-&=Por^4SHd-_h15`p(q z!3{PyLhb5F8r`}>GCVqRnlyt&Ui@@z!WUpNZ@svSALHr2L@QN!uUh%NTR42dr$YbP z(_r2!5B;xfSZ$ew)v51we{-OthlLfvp2zon&scMa3s)6~8KWpyBjU_c<`+XR3NwaX ztXpPy!Vg?h5nZC;+OxB!)oOFP&!v<{%fUy(c#G?BwZzXb)+L9!)@4roz=eRblbu~n z^7;YH7;YYM{B<@L5eI!!i~8Cm$))}6Z6{B5OFDE4R!g6Cg~g2fcFg(jRsI~nCV;ou zbhK^iyGvuMx)a4{bCvmBBaMInf5Xkt`3tJkd$<&MCoFVrt;DJ3V=Cvfr>iUIP_kDp zhGflsyt04LJ48f2Q51P$dQa9>iX}gBf#lOtj6+mKcCz@7g3fV5*;tfyr047VtNWao z+>^x#V*Eow4?YIk3Q!1BGwXMkIV&{XKCIX>`#?h9pl@5c5K~{|fj`(RMJewweOG`Q zqp~jRtFdH)hu7ohmrLgnS2uRrtv>+o`WF?&nO{WyVtFyCiD6geL>;?C_?Or7}$NT3hIl4NkMhq1K_Mgk^ zYStF07%0H4aJ#qD(W|HsS^7J9(Ia4(-Pan{$SqM_q6J95uBrQV{oME_RUQCg2=PCu zoG5WnLJk!~gm4@JVW7k!2z*;aApE~TG@)b{h$Jv=QyrkhA_=%{Do08jn)qFqP`6FR zNQpra+IE51{{XQtg2fJ%1Gpv+N~qf*qM`_2cc?UezuxhN0)z*w!Efk5z!K(0D1^8b zd842B6-$6nKr}@Dy`B&A>xGY+uEEYho&h2LLEyEIXo4FBM1~TBC0wU~IPPA@$3_Ja zWPw4!+Z-)CT|zv9Md4T|L6nk68U_WVg$TKn5Fjs_aQ7DwP5>y85?YcA42XelVcFG+hLl)JyA z(n8#Jf7zykh){whf(Rqz5%K2$BjgNmt2q;dK-@u?V}_^^4hle+2!~i8Sj=vOic0H* zxcbV&U^1d`#4pi)L*PWnZe;%1gCIiCgfbQgi~>%8u|PQ8ejy`?3%hqG{@IEmLa@7< z{w9YeLUv8^XAcHIkbmvL5+Q%>!2t*gn#u-}&Wja7&j!QE{B07#2zY5IFOU`X7b!TD zhzKJfSRs-Wq67jfM2rAogRt>~oxcP^lMq4@KC(b~2~SxeM*xBj8w9?KfC5rVJ9~z> z%A11ZbPe+L^a~-uB-)6WwaUu$3dbFNU4gd=XW1ayfD9cwL>QRrDUe^t%_jhm3UG9H zm4_inNT3N>>=0gA7}1bO^e?mh+DSAd`nO+xL5POLzzK@%5FI|S{})9h2|+?8JLDuK z8cpEjfWRo>Si%MeM1bJL0Z9eotaCu#QXmK~IU$3T;F`$}PKYp}nG5m`z=%#IRB%J8 zDG>-lCO5!2&jYEXL?C~CInE2QXaDW!5D!=XAP_njc{qWE132gq4}_M$%nzavf!f`U z#K;pv2K778{zV|FiTbV7ztCM(QG|m$5MJ9|OzHow{pEH9(MEr4{wu){@ZGyLMG^2{ ziG_gwVvB(PVuXPIie&_RH-ZJZcCATbHw0mn55jR6{!2v!{8w}$;J;!L@jHjX-JH8F zLLhco*@AmJJ$*exfZu;P14TH>0}+(mjeim$5x<4{ooWbRDWbkwNO>5D*#C#ZL3|~=rO3j0|H5`CV%ij4F1RFq^53i^wvFhBz~{Cf!ruFxR_5SM_XNtUpni9RDPk;#a}fL_5W z0+^x5m?6vxI|`Q1O_zYx5Onf%@AlPoFKXnh)B#h5{f8L%>wp8a6CvXIXff@jA;8H6=oP1 zmYBtVB?yK&97$0D1W_nb z`+}ZMye|4LVE_zGVnKk5A$G67_u*hTpg$=Pizc%I4vHcT3NSnU4}u6JITHj~@W63M z)NcXte~K^^jzhuzG7XRmz%b-6ER;k$FtqG8{lBzBpb@0$2SuPrEe-6CK%vP(6oJB$ znHrQ1QpQjO8b;bpKp-H=;sb$3;Yh8DKq0U&Jc;?ifrzy9111Ob`KcM<^FVc=xK zV6mi96AKt|&iWe{M_%fX7#vwaLV~l;KSc`vYdir2ff>jNk`)yc5=)%f|6+_nLCLg3 zfn*|e9SQ{|R1#b~$Otm+P$)E+b|?@Yq~=F~pe7X>1?tg1+Wl4zh2A}z{w*|Um_V3a z`~On|P@r;=1PHJUk}QIOd^pm&fI=h5G6#i55ii~+VT>k@oWEiC-RTgDLZiu|6%9p` znHmj)la*UE6xj72g1_lupkyT-4aJhV35|z>Rz!k~1`YCG34akpqcFs0Ie%$_Mq$Y! z9oUb29~wcHVQAoEqGgEo|Hu4j7y?CVE;Oicq>M2z9O*~`#emLB8VhJN3Q0;2jAs9x zynf{$(2aOx_)9wgBb@^P6EyM2N3stCBefO=1_o)eeOR)JiGktCavPLPFh-Cf10bo7 zu?QTL6o$dz$buCE%ta<32%}vAf&TxPAA_Z`(rRzvIYZSWFr^Qj&$+`-325M2@@=62&9a$NYKW}_Mz}((F)1}jjzi_=yxPcfNrFx5g;@c^NYuS=07a*e`!bNPcUqtNl#! zjvs#sNVGo|1?CbGsljYc7KC6hBi952P8p=Q7|=h-U>LHBiN#>yWb+>Yl2tA&h-%VE z$6~=`LCOT2Y{`VdfrqiA`*1k)Zvp?E|G21$Bo0AY@WlEeoLv{};93In@HJ0J`Tv?Emxi~INF^k@D9B??BG?{F}Hlg0vo zfobD!O+YP!VMziGz>sA0U|6y)i-!Zwqy+>#jUm$xz`zJd!WaQQBz}j32VbOV2Tsrk z6sdsVRE>s_%zq%Wp?{S}5EB4~ARW!XqjeN%I)T0c{$fEQAb^ohSKvt$>fa#zJ^uk9 zXcMH!C>&|fz=6zAlIjRx;M72hi$;>uLxTcBvJZ~|Dw6^+;6Ox@vtXEqk&on{(2xWs z*he?2E!1a-TpVV0S_$f zUtvUkKOMw^6Fk{Q9Qc!r2MQvHMGJ>ViWYgF;RPxw_HALBmDC N>1iY+ju>ds{~uY(vd;hj delta 57162 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 S0x+1IM%*74H(*#+#Qy;67o4jA diff --git a/pdf/grandpa.tex b/pdf/grandpa.tex index ff2a383..23931f5 100644 --- a/pdf/grandpa.tex +++ b/pdf/grandpa.tex @@ -103,7 +103,7 @@ For example, suppose we have a one block protocol that calls for a vote on block To ensure safety, each participant maintains an estimate $E_r$ of the last block that could have been finalised in a round $r$. This has the property that in future rounds it overestimates the block that could have been finalised so that in round $r$, the chain with head $E_{r-1}$ contains all blocks that could have been finalised. Any honest voter only votes in round $r$ for chains containing their estimate $E_{r-1}$ and this guarantees that any block that could have been finalised in round $r-1$ will be finalised in round $r$. -\subsection{related work} +\subsection{Related Work} \subsubsection{Comparison with Casper} @@ -507,52 +507,101 @@ Now let $C$ be a $1$-bivalent configuration. We can follow the FLP proof to show \subsection{1/5 BFT finality gadget using a common coin} + + + +In this section, we will assume the asynchronous gossip network model. By the previous impossibility result, we will need to use randomness to get a finality gadget in this model. We assume that we have access to a common coin protocol. + + +For every vote, We have $n$ voters , at most $f$ of which are Byzantine and $n = 5f+1$. For a voter $v$, Let $V_{r,v}$, $C_{r,v}$ be the set of prevotes and precommits from round $r$ that $v$ has seen. + \begin{enumerate} \item Everyone prevotes for the best chain including the block they were locked to last round. -\item Wait to receive prevotes from $4/5$ of validators, $V_r$. -\item Precommit $g_{3/5}(V_r)$ -\item Wait to receive precommits from $4/5$ of validators, $C_r$. +\item Wait until $V_{v,r}$ contains prevotes from $n-f$ voters. +\item Precommit $g_{3/5}(V_{r,v})$ +\item Call a precommit for $B$ justified if $B \leq g_{3/5}(V_{r,v})$ and if $B < g_{3/5}(V_{r,v})$ then the child $B'$ of $B$ on the chain of $g_{3/5}(V_{r,v})$ has that there are votes from $f+1$ voters in $V_{r,v}$ that are not $\geq B'$. +Wait until $C_{r,v}$ has justified precommits from $n-f$ voters. \item Call the common coin, $s_r$ -\item If $s_r=1$, finalise $g_{3/5}(C_r)$ -\item lock to $g_{(3-2s_r)/5}(C_r)$ for next round. +\item If $s_r=1$, finalise $g_{4/5}(C_r)$ +\item lock to $g_{(4-3s_r)/5}(C_r)$ for next round. \end{enumerate} -The common coin does not return a coin until $4/5$ call it. Then assuming $4/5$ are honest, it returns an $s_r$ sampled uniformly from $\{0,1\}$, identical for all who called it, and before $4/5$ called it, no-one has any information about the result. +The common coin is a (secure cryptographic implementation of) the following protocol. It does not return a coin until more than $4f+1$ voters (for the prevote vote in the next round in case of ambiguity) call it. It returns at the latest shortly after all honest voters call it. + When it does, it returns an $s_r$ sampled uniformly from $\{0,1\}$, identical for all who called it, and before $4f+1$ called it, no-one has any information about the result. -Here $g_{t}(S)$ is the $t$-GHOST function where $g$ from subsection \ref{sec:prelims} is $g_{2/3}$. It might not be unique in general but it is here with under $1/5$ Byzantine. +Here $g_{t}(S)$ is the $t$-GHOST function defined as follows. We construct a chain starting with the genesis block and adding the child of the current block such that most voters have votes $\geq$ it until there are $nt$ or less votes for any child of the current block, when we return the current block. -The idea behind the proof of asynchronous liveness is that for a particular block $B'$, some value of the common coin, either all the validators who received $4/5$ of precommits before the common coin was decided lock to $B'$ or none do. If we had a fixed threshold for locking, an adversarial choice of the number of precommits for $B'$ or its descendants could lead to some validators locking to it and some not (and indeed there would be runs that do this indefinitely as this is how the impossibility result works for this type of algorithm.) +The idea behind the proof of asynchronous liveness is that for a particular block $B'$, some value of the common coin, either all the honest voters who received $4/5$ of precommits before the common coin was decided lock to $B'$ or none do. If we had a fixed threshold for locking, an adversarial choice of the number of precommits for $B'$ or its descendants could lead to some voters locking to it and some not (and indeed there would be runs that do this indefinitely as this is how the impossibility result works for this type of algorithm.) -\begin{lemma} If we there are enough precommits to finalise a block $B$ in round $r$, then all honest validators who prevote in future rounds will be locked to $B$ or its descendants when they do. +Firstly we note that much of the machinery of ? and ? carries over to the $1/5$ byzantine case. + +\begin{lemma} \label{lem:ghost-monotonicity-general} +Let $T$ be a set of votes such that at most $f$ voters have multiple votes in $T$. Let $t \geq (n+f)/2n$ Then +\begin{enumerate} +\item The above definition uniquely defines $g_t(T)$. +\item If $S \subseteq T$ has $g_t(S) \neq$ nil, then $g_t(S) \leq g_t(T)$ for $t \geq (n+f)/2n$. +\item If $S_i \subseteq T$ for $1 \leq i \leq n$ then all non-nil $g_t(S_i)$ are on a single chain with head $g(T)$. +\item If $r \leq s$, then $g_r(T) \geq g_s(T)$. +\end{enumerate} \end{lemma} +So with $n=5f+1$, $g_{3/5}$ is sufficient for uniqueness. + +First we need to show that the protocol is deadlock free. As long as all honest voters prevote and precommit, any participant eventually sees prevotes and precomits from $n-f$ voters. We just need to show that honest prevotes are eventually seen as justified. +\begin{lemma} Suppose that an honest voter $v$ precommits $B$ in round $r$. If $V'_{r,v}$ is the set of prevotes they saw at the time they precommited and another participant $v'$ sees all these prevotes i.e. $V_{r,v'} \supseteq V'_{r,v}$, then $v'$ sees $v$'s precommit for $B$ as justified. \end{lemma} +\begin{proof} $v$ precommits $B = g_{3/5}(V'_{r,v})$. Since $V_{r,v'} \supseteq V'_{r,v}$, $B \leq g_{3/5}(V_{r,v'})$ by Lemma \ref{lem:ghost-monotonicity-general} 2. So we just need to show that if $B < g_{3/5}(V_{r,v'})$, $V_{r,v'}$ contains votes from $f+1$ voters that are not $\geq B'$ where $B'$ is the child of $B$ in the chain of $g_{3/5}(V_{r,v'})$. Since $B = g_{3/5}(V'_{r,v})$, from the definition of $g$, $B'$, like any child of $B$, does not have votes from $3f+1$ voters $\geq B'$ in $V'_{r,v}$. Since $V'_{r,v}$ contains votes from $4f+1$ voters, there are votes from at least $f+1$ voters that are $\not \geq B'$ in $V'_{r,v}$ and so also in $V_{r,v'}$. +\end{proof} + +Our network assumption and a simple induction shows that we do not deadlock. +\begin{corollary} All honest voters eventually prevote and precommit in evrey round and all honest participants reach every round.\end{corollary} + +\begin{lemma} \label{lem:possibly-final-implies-permanent-lock} +If there are enough precommits to finalise a block $B$ in round $r$, then all honest voters who prevote in future rounds will be locked to $B$ or its descendants when they do. At the end of the next round $r' > r$ with $s_{r'}=1$, all participants will have finalised $B$. +\end{lemma} +\begin{proof} +For $B$ to be finalised in round $r$, there need to be votes from more than $n-f$ voters that are $\geq B$ and $s_r=1$. Any honest participant $v$ also sees that $s_r=1$ and so they lock $g_{1/5}(C_{r,v})$. $C_{r,v}$ contains votes from at least $4f+1$ voters. At most $f$ voters can have votes $\not\geq B$ in $C_{r,v}$ if they also voted $\geq B$ and at most $f$ voters do not have votes in $C_{r,v}$. + Thus at least $2f+1$ voters have votes $\geq B$ in $C_{r,v}$. Because $g_{1/5}$ is not unique in general, to show that $g_{1/5}(C_{r,v}) \geq B$, we also need to show that no block $B' \nsim B$ has $f+1$ voters have votes $\geq B'$ in $C_{r,v}$. If this holds then the procedure to calculate $g_{1/5}$ will not follow chain that does not include $B$ and so it will return a block $\geq B$. + Letting $V_r$ be the set of prevotes ever cast, note that any honest voter $v'$ prevotes for a block $g_{3/5}(V_{r,v'}) \leq g_{3/5}{V_r}$ and so as before honest voters precommit to blocks in one chain. Since many honest voters precommit $\geq B$, all precommit $\sim B$, and so if $f+1$ voters have votes $\geq B'$ in $B$ then since at least one of those are honest $B' \sim B$. Thus we have $g_{1/5}(C_{r,v}) \geq B$. + +Since all honest voters prevote $\geq B$ in round $r+1$, any participant who waits for votes from $4f+1$ voters will see $g_{3/5}(V_{r+1}) \geq B$ and so all honest voters precommit $\geq B$ in round $r+1$. Since only at most $f$ validators vote $\not \geq B$, only precommits $\geq B$ are ever seen as justified by honest validators. Therefore all honest participants will see $g_{345}(C_{r+1}) \geq +B$. +If $s_r=1$, this is enough to finalise $B$.Since $g_{1/5}(C_{r+1}) \geq g_{4/5}(C_{r+1}) \geq +B$, whatever the common coin, all honest particupants lock $\geq B$. By induction, this holds for all future rounds. + +\end{proof} We want to show that this is asynchronously live: -\begin{proposition} Suppose that block $B$ is finalised before round $r$. With probability at least $1/2$ over the common coin in round $r$, if all validators agree that the best chain including the last finalised block $B$ includes a decedent $B'$, at the prevote step of rounds $r+1$ and $r+1$, then a descendant of $B$ is finalised the next time $s_r=1$ after round $r+1$ or earlier. +\begin{proposition} Suppose that block $B$ is finalised before round $r$. With probability at least $1/2$ over the common coin in round $r$, if all validators agree that the best chain including the last finalised block $B$ includes a decedent $B''$, at the prevote step of rounds $r+1$ and $r+2$, then a descendant of $B$ is finalised the next time $s_r=1$ after round $r+2$ or earlier. \end{proposition} -\begin{proof} By the previous lemma, all honest validators prevote in round $r$ for $B$ or its descendants and so all honest validators precommit to $B$ or its descendants. +\begin{proof} By the Lemma \ref{lem:possibly-final-implies-permanent-lock}, all honest voters prevote in round $r$ for $B$ or its descendants and so all honest voters precommit to $B$ or its descendants. -Let $V_r$ be the set of prevotes of all validators. By a lemma from the other thing, all honest validators precommit $g_{3/5}(V_r)$ or its ancestors. Thus $g_{3/5}(V_r)$ is $B$ or a descendant of $B$. +Let $V_r$ be the set of prevotes of all voters. Using Lemma \ref{lem:ghost-monotonicity-general}, all honest voters precommit $g_{3/5}(V_r)$ or its ancestors. Since some must precommit $\geq B$ for it to be finalised, $g_{3/5}(V_r) \geq B$. -For the case $g_{3/5}(V_r)=B$, all honest validators precommit $B$ and so any honest validator sees that -$B = g_{1/5}(C_r) = g_{3/5}(C_r)$. Thus all honest validators -lock $B$ and so are free to prevote for $B'$ or its descendants in round $r+1$. Thus we finalise $B'$ in round $r+1$. +For the case $g_{3/5}(V_r)=B$, all honest voters precommit $B$ and so any honest participant sees that +$B = g_{1/5}(C_r) = g_{4/5}(C_r)$. Thus all honest participants +lock $B$ and so are free to prevote for $B''$ or its descendants in round $r+1$. Thus we finalise $B''$ in round $r+1$ or the next round when $s_r=1$ after that. -Otherwise, let $B''$ be the child of $B$ in the chain of $g_{3/5}(V_r)$. We seek to show that we finalise either $B'$ or $B''$ in round $r+2$ or earlier. +Otherwise, let $B'$ be the child of $B$ in the chain of $g_{3/5}(V_r)$. We seek to show that we finalise either $B'$ or $B''$. -Let $S$ be the set of honest validators who precommit in round $r$ before the common coin is flipped. Let $S'$ be the set of honest validators who call the common coin before it is decided. Note that $S' \subset S$. -Since $4/5$ of validators call the coin before it decided, $S'$ and $S$ each contain at least $3/5$ of the validators. +Let $S$ be the set of honest voters who precommit in round $r$ before $4f+1$ voters call the common coin. Let $S'$ be the set of honest voters who call the common coin before it is decided. % Note that $S' \subset S$. +Since $4f+1$ voters call the coin before it decided and honest voters who do so saw precommits from $4f+1$ voters, $S'$ and $S$ each contain at least $3f+1$ voters. +Let $h$ be the number of voters in $S$ that precommit $B'$ or its descendants. Note that the other $|S|-h$ voters just precommit $B$. -Let $h$ be the number of validators in $S$ that precommit $B''$ or its descendants. Note that the other $h-|S|$ validators just precommit $B$. +Now consider a particular voter $v$ and the set $C_{r,v}$ of precommits they received in step 4. the number of validators with precommits in $C_{r,v}$ is at least $4f+1$. +If $v \in S'$, +All the honest validators +with precommits in $C_{r,v}$ are in $S$. In this case we have that the number of votes for $B'$ or its descendants in $C_{r,v}$, $m_v$ has $h-f \leq m_v < h+f$. For $v \notin S'$, since $f$ honest vali8dators can be outside $S$, we have $h-2f \leq m_v \leq h+2f$ -Now consider a particular validator $v \in S'$ and the set $C_r$ of precommits they received in step 4. the number of validators with precommits in $C_r$ is at least $4n/5$. All the honest validators -with precommits in $C_r$ are in $S$. - Thus we have that the number of votes for $B''$ or its descendants in $C_r$, $m_v$ has $h-n/5 \leq m_v < h+n/5$. Since any descendant of $B$ that is not $B''$ or its descendants receives less than $n/5$ precommits for it or its descendants, we have that either $g_{1/5}(C_r)=B$ or $g_{1/5}(C_r)\geq B'$ and similarly for $g_{3/5}(C_r)$. Now note that if $h > 2n/5$, for $v \in S'$, $m_v \geq n/5$ and so $g_{1/5}(C_r) \geq B'$. On the other hand if $h \leq 2n/5$, $m_v < 3n/5$ and so $g_{3/5}(C_r)=B$. +Since any descendant of $B$ that is not $B'$ or its descendants receives less than $f$ precommits for it or its descendants, we have that either $g_{1/5}(C_{r,v})=B$ or $g_{1/5}(C_{r,v})\geq B'$ and similarly for $g_{4/5}(C_{r,v})$. Now note that if $h \geq 3f+1$, $m_v \geq f+1$ and so $g_{1/5}(C_{r,v}) \geq B'$. On the other hand if $h < 3f+1$, for $v \in S'$, $m_v < 4f+1$ and so $g_{4/5}(C_{r,v})=B$. -If $h > 2n/5$ and $s_r=1$, then every honest validator locks a block $\geq B'$. Thus is round $r+1$, thy all prevote $\geq B'$. -Since every honest validator waits until receiving prevotes from $4/5$ of voters, these prevotes contain vote $\geq B'$ from $3n/5$ voters and so they prevote for $g_{3/5}(V_{r+1}) \geq B$. +If $h \geq 3f+1$ and $s_r=1$, then every honest voter locks a block $\geq B'$. Thus is round $r+1$, they all prevote $\geq B'$. + By similar reasoning to Lemma \ref{lem:possibly-final-implies-permanent-lock}, we finalise $B'$, the next round $r' > r$ that we have $s_{r'}=1$. + +If $h < 3f+1$ and $s_r=0$, then every $v \in S'$ locks only $B$. But then all such $v$ will prevote their best chain containing $B$ and so a block $\geq B''$. There are only at most $2f$ voters who might not do this, the Byantine voters and the honest voters outside of $|S|$ who prevote $\geq B$. Thus any honest voter who has seen prevotes from $n-f$ voters either sees $g_{3/5}(V_{r+1,v})=B$ or $g_{3/5}(V_{r+1,v}) \geq B'$. Since all honest precommits are either $B$ or $\geq B''$, evry honest voter locks either $B$ or $\geq B''$. Since in round $r+2$, all honest voters see that the best chain including $B$ also includes $B''$, this time they all prevote $\geq B''$. By similar reasoning to Lemma \ref{lem:possibly-final-implies-permanent-lock}, we finalise $B''$, by the next round $r' > r+1$ that we have $s_{r'}=1$. + +Crucially note that $h$ depends only on $S$, which is determined when $4f+1$ voters call the common coin and before it is flipped. Thus $s_r$ is independent of $h$. If $h < 3f+1$ then $s_r=0$ with probability $1/2$ and if $h \geq 3f+1$ then $s_r=1$ with probability $1/2$. So with probability $1/2$, we have either both $h < 3f+1$ and $s_r=0$ or both $h \geq 3f+1$ and $s_r=1$. Thus with probability at least $1/2$, we finalise $B'$ or $B''$ before the next round after $r+1$ when $s_r=1$. \end{proof}