From add1d89c3b8e70ad1474acde36e07eed8577b36c Mon Sep 17 00:00:00 2001 From: James Watson Date: Thu, 28 Jun 2018 20:05:57 +0100 Subject: [PATCH] Port to 1.9.2-333-g721767e11 --- driver/Aeron.Driver.nuspec | 2 +- driver/media-driver.jar | Bin 2122624 -> 2207678 bytes driver/version.txt | 6 +- .../build-release-nuget-packages - Copy.bat | 12 + src/Adaptive.Aeron/Adaptive.Aeron.csproj | 2 +- src/Adaptive.Aeron/Aeron.cs | 12 +- src/Adaptive.Aeron/ChannelUri.cs | 128 +- src/Adaptive.Aeron/ChannelUriStringBuilder.cs | 84 +- src/Adaptive.Aeron/ClientConductor.cs | 33 +- src/Adaptive.Aeron/Counter.cs | 9 +- src/Adaptive.Aeron/DriverEventsAdapter.cs | 2 +- src/Adaptive.Aeron/DriverProxy.cs | 31 +- .../Exceptions/AeronException.cs | 27 + .../Exceptions/ChannelEndpointException.cs | 6 +- .../Exceptions/ConfigurationException.cs | 9 + .../Exceptions/RegistrationException.cs | 6 +- .../Protocol/DataHeaderFlyweight.cs | 5 +- .../Protocol/HeaderFlyweight.cs | 2 +- .../Protocol/RttMeasurementFlyweight.cs | 145 -- .../Status/ChannelEndpointStatus.cs | 2 +- src/Adaptive.Aeron/Status/HeartbeatStatus.cs | 54 - src/Adaptive.Aeron/Status/ReadableCounter.cs | 4 +- src/Adaptive.Aeron/Subscription.cs | 29 + src/Adaptive.Agrona/Adaptive.Agrona.csproj | 2 +- .../Adaptive.Archiver.csproj | 2 +- src/Adaptive.Archiver/AeronArchive.cs | 81 +- src/Adaptive.Archiver/ArchiveException.cs | 29 +- src/Adaptive.Archiver/ArchiveProxy.cs | 10 +- .../Codecs/ControlResponseDecoder.cs | 2 +- .../ControlResponseAdaptor.cs | 6 +- .../ControlResponsePoller.cs | 18 +- .../RecordingDescriptorPoller.cs | 4 +- .../RecordingEventsAdapter.cs | 5 +- .../RecordingEventsPoller.cs | 8 +- src/Adaptive.Archiver/RecordingPos.cs | 52 +- .../aeron-archive-codecs.xml | 2 +- src/Adaptive.Cluster/Adaptive.Cluster.csproj | 2 +- src/Adaptive.Cluster/Client/AeronCluster.cs | 501 +++++-- .../Client/AuthenticationException.cs | 28 + .../Client/ClusterException.cs | 25 + src/Adaptive.Cluster/Client/EgressAdapter.cs | 57 +- src/Adaptive.Cluster/Client/EgressListener.cs | 33 - src/Adaptive.Cluster/Client/EgressPoller.cs | 34 +- .../Client/IEgressListener.cs | 14 + .../Client/ISessionMessageListener.cs | 30 + .../Client/SessionDecorator.cs | 52 +- .../Codecs/AppendedPositionDecoder.cs | 48 +- .../Codecs/AppendedPositionEncoder.cs | 24 +- .../Codecs/CancelTimerDecoder.cs | 2 +- .../Codecs/CancelTimerEncoder.cs | 2 +- .../Codecs/CanvassPositionDecoder.cs | 48 +- .../Codecs/CanvassPositionEncoder.cs | 24 +- .../Codecs/CatchupPositionDecoder.cs | 302 +++++ ...ckEncoder.cs => CatchupPositionEncoder.cs} | 68 +- .../Codecs/ClientSessionDecoder.cs | 79 +- .../Codecs/ClientSessionEncoder.cs | 42 +- .../Codecs/CloseSessionDecoder.cs | 2 +- .../Codecs/CloseSessionEncoder.cs | 2 +- src/Adaptive.Cluster/Codecs/ClusterAction.cs | 13 +- .../Codecs/ClusterActionRequestDecoder.cs | 4 +- .../Codecs/ClusterSessionDecoder.cs | 24 +- .../Codecs/ClusterSessionEncoder.cs | 12 +- .../Codecs/CommitPositionDecoder.cs | 48 +- .../Codecs/CommitPositionEncoder.cs | 24 +- ...erDecoder.cs => ConsensusModuleDecoder.cs} | 10 +- ...erEncoder.cs => ConsensusModuleEncoder.cs} | 14 +- src/Adaptive.Cluster/Codecs/JoinLogDecoder.cs | 50 +- src/Adaptive.Cluster/Codecs/JoinLogEncoder.cs | 20 +- .../Codecs/Mark/MarkFileHeaderDecoder.cs | 234 +++- .../Codecs/Mark/MarkFileHeaderEncoder.cs | 116 +- .../Codecs/NewLeaderEventDecoder.cs | 252 +--- .../Codecs/NewLeaderEventEncoder.cs | 136 +- .../Codecs/NewLeadershipTermDecoder.cs | 99 +- .../Codecs/NewLeadershipTermEncoder.cs | 50 +- .../Codecs/NewLeadershipTermEventDecoder.cs | 420 ++++++ .../Codecs/NewLeadershipTermEventEncoder.cs | 273 ++++ .../Codecs/RecordingLogDecoder.cs | 866 ++++++++++++ .../Codecs/RecordingLogEncoder.cs | 515 ++++++++ ...Decoder.cs => RecordingLogQueryDecoder.cs} | 190 ++- ...Encoder.cs => RecordingLogQueryEncoder.cs} | 121 +- .../Codecs/RecoveryPlanDecoder.cs | 1163 ++++++++++++----- .../Codecs/RecoveryPlanEncoder.cs | 524 ++++++-- .../Codecs/RecoveryPlanQueryDecoder.cs | 48 +- .../Codecs/RecoveryPlanQueryEncoder.cs | 24 +- .../Codecs/RequestVoteDecoder.cs | 89 +- .../Codecs/RequestVoteEncoder.cs | 46 +- .../Codecs/ScheduleTimerDecoder.cs | 2 +- .../Codecs/ScheduleTimerEncoder.cs | 2 +- ...tionAckDecoder.cs => ServiceAckDecoder.cs} | 111 +- .../Codecs/ServiceAckEncoder.cs | 241 ++++ .../Codecs/SessionConnectRequestDecoder.cs | 2 +- .../Codecs/SessionConnectRequestEncoder.cs | 2 +- .../Codecs/SessionEventDecoder.cs | 77 +- .../Codecs/SessionEventEncoder.cs | 42 +- .../Codecs/SessionHeaderDecoder.cs | 2 +- .../Codecs/SessionHeaderEncoder.cs | 2 +- src/Adaptive.Cluster/Codecs/VoteDecoder.cs | 150 ++- src/Adaptive.Cluster/Codecs/VoteEncoder.cs | 78 +- ...NewActiveLogEvent.cs => ActiveLogEvent.cs} | 11 +- .../Service/BoundedLogAdapter.cs | 118 +- src/Adaptive.Cluster/Service/ClientSession.cs | 88 +- .../Service/ClusterMarkFile.cs | 41 +- .../Service/ClusteredServiceAgent.cs | 379 +++--- .../Service/ClusteredServiceContainer.cs | 259 ++-- src/Adaptive.Cluster/Service/CommitPos.cs | 88 +- ...olPublisher.cs => ConsensusModuleProxy.cs} | 73 +- src/Adaptive.Cluster/Service/ICluster.cs | 7 +- .../Service/IClusteredService.cs | 11 +- .../Service/IServiceControlListener.cs | 58 - src/Adaptive.Cluster/Service/RecordingLog.cs | 834 ------------ src/Adaptive.Cluster/Service/RecoveryState.cs | 154 ++- .../Service/ServiceAdapter.cs | 59 + .../Service/ServiceControlAdapter.cs | 96 -- .../Service/ServiceSnapshotLoader.cs | 28 +- .../Service/ServiceSnapshotTaker.cs | 1 + src/Adaptive.Cluster/Service/SnapshotTaker.cs | 15 +- src/Adaptive.Cluster/aeron-cluster-codecs.xml | 249 ++-- .../aeron-cluster-mark-codecs.xml | 38 +- 118 files changed, 7337 insertions(+), 3616 deletions(-) create mode 100644 scripts/build-release-nuget-packages - Copy.bat create mode 100644 src/Adaptive.Aeron/Exceptions/AeronException.cs create mode 100644 src/Adaptive.Aeron/Exceptions/ConfigurationException.cs delete mode 100644 src/Adaptive.Aeron/Protocol/RttMeasurementFlyweight.cs delete mode 100644 src/Adaptive.Aeron/Status/HeartbeatStatus.cs create mode 100644 src/Adaptive.Cluster/Client/AuthenticationException.cs create mode 100644 src/Adaptive.Cluster/Client/ClusterException.cs delete mode 100644 src/Adaptive.Cluster/Client/EgressListener.cs create mode 100644 src/Adaptive.Cluster/Client/IEgressListener.cs create mode 100644 src/Adaptive.Cluster/Client/ISessionMessageListener.cs create mode 100644 src/Adaptive.Cluster/Codecs/CatchupPositionDecoder.cs rename src/Adaptive.Cluster/Codecs/{ClusterActionAckEncoder.cs => CatchupPositionEncoder.cs} (74%) rename src/Adaptive.Cluster/Codecs/{SequencerDecoder.cs => ConsensusModuleDecoder.cs} (95%) rename src/Adaptive.Cluster/Codecs/{SequencerEncoder.cs => ConsensusModuleEncoder.cs} (87%) create mode 100644 src/Adaptive.Cluster/Codecs/NewLeadershipTermEventDecoder.cs create mode 100644 src/Adaptive.Cluster/Codecs/NewLeadershipTermEventEncoder.cs create mode 100644 src/Adaptive.Cluster/Codecs/RecordingLogDecoder.cs create mode 100644 src/Adaptive.Cluster/Codecs/RecordingLogEncoder.cs rename src/Adaptive.Cluster/Codecs/{QueryResponseDecoder.cs => RecordingLogQueryDecoder.cs} (56%) rename src/Adaptive.Cluster/Codecs/{QueryResponseEncoder.cs => RecordingLogQueryEncoder.cs} (59%) rename src/Adaptive.Cluster/Codecs/{ClusterActionAckDecoder.cs => ServiceAckDecoder.cs} (72%) create mode 100644 src/Adaptive.Cluster/Codecs/ServiceAckEncoder.cs rename src/Adaptive.Cluster/Service/{NewActiveLogEvent.cs => ActiveLogEvent.cs} (80%) rename src/Adaptive.Cluster/Service/{ServiceControlPublisher.cs => ConsensusModuleProxy.cs} (64%) delete mode 100644 src/Adaptive.Cluster/Service/IServiceControlListener.cs delete mode 100644 src/Adaptive.Cluster/Service/RecordingLog.cs create mode 100644 src/Adaptive.Cluster/Service/ServiceAdapter.cs delete mode 100644 src/Adaptive.Cluster/Service/ServiceControlAdapter.cs diff --git a/driver/Aeron.Driver.nuspec b/driver/Aeron.Driver.nuspec index fdef46d1..43fa6e86 100644 --- a/driver/Aeron.Driver.nuspec +++ b/driver/Aeron.Driver.nuspec @@ -2,7 +2,7 @@ Aeron.Driver - 1.9.4 + 1.10.0 Aeron Driver Adaptive Financial Consulting Ltd. Adaptive Financial Consulting Ltd. diff --git a/driver/media-driver.jar b/driver/media-driver.jar index fb89d8fd5182bbde4faaa7aeefa2e2a1eebad541..82b1502d8523aa8b4c5fa0db374e6832f7df91e0 100644 GIT binary patch delta 898631 zcmZ6yb8uim)3+U48*Z?%y|Ha=Y}>ZZ#Z&jqT*!`+2Iq@4er@&YYS)Q&ZKy zI^ENA_3vRn(5~%ZP(*oYa0oaM5EvMcpA9Q9x^FP%@u|qARys!0`goeEHlhA zh>uPPFpt;Bz4?p`WZffDM3k&Q#d|6Ed6_kODVW*oNm+wZB2wT%{(HF|LhygfrNC1{ zk^j%&s|^+>MUD~*9UQk|rTGX86a(}>qx!CHA<+LZkV^t1Np=8(!U6xkR{CclL+2k> zw+RXY@(z|Va}A1>B9MlUn?k1t#s~~;?;=RR5G@e&#DERSEfPEA#=C8I%yu+0lYG5D ze4zCBY#6Q}7$!uJM$7O|%*&7l`h_w%$&*%^Otn<}{&@oJ-8&g8{#MM*i{e|HJ2vy$ zek-TYr=K~b;x}Qxp4x%T1n?bPNf;**?@Jgz-^e_d88Ap#Don_)I(`2eGYZhb)lncU z>VA>+uSpsexW~WUT?hm+b4wa}iWsdtH)qYQ^0=znCkyIcGh$KE6)kVCe^ejELH(e^ zkj8pAV;;~vfJ$=j5(o(!1rFV@ulY3(JXTW(|;ZTSjzJ-e}x=xD_iF-+{v3O}GM z;8Y+*r8%(Bl-X(^;g6grTq6j##-IMaAel+gwSpv+S3Mty`oSr4g$|DOEiaro5ULir zR1t#bJ@_t!e}SRpy7igfXHaGI1ID7H@Jz&tqCr}j{*)q~y(XMZbw)xED=B?LMU zV}o=b^FR%*cK1e9^tX1$m~Vo2M5@#uA(+l+d_RbwOTH{POW^lD@$!dWv)V z=^|U_z*BR!;uAq+(I;&13g&$sc z+qTn^)e#GmItk_KV~4A@_cI>u3}|PnXJr&?@Bfr8bLzB!oEf&Stv8k0kVs@2tW(z4 z*FsQ>PgBeTD38W9etP9VDM;BI&nedKh<0zlDsLD0SuF-vnI~iSp!82z!MDbeGSb-` zh5h1uAtaJC9D<+C3xdEQrBGc>VU4N)jbzk5k+H+dc8OQZSRC3kQamfyja&5DY*4jh z*i?tx0qZ|-@DuvUKwfv~JT|W1#tlBt)S?|jwFp8Fc#>u&n%C=F@Hb+ceaF(Hxtp^< z*~)VaHjsJGAx@DzP+4=hLBuJbb6+hzr}^daC*LYLui_{1>R$+y{$s1^v^Sv zX7`QtKnxvsZ#M2o7$LTdMx_+th)594L_Xp=n-fG^_37`nE(Z2X^)rYk_^3o1gCFw( zQ)-}8f7`7JOPGLxm$vSelEvpi5UmS}bB8HC#+gc>xfWNp?&h1MeW#NvZdU4qlwUEe z7}#?iNSk9c4_fd70mb`iP*=A2&@NS!pcJ0+3 zkNA!oO(*<#IA9fkrVeb)cOV<2sb^`K|KEOkBFNT26(*X z2tHA4iV5hn=0!w?Yc-8}t(1r+;AbjGH|j;4~I){Xhj6n%ZotF1hM)TV>G$6#%@ z<;3JtE->HF0JWA;U4su%?#f1VT0N5Uw_sDm;eK;+`8>idXSUiWg8x6d{U;_x5@g?p z!GeJB;H3DKLVo`jx1dv`*}&jaq7=c9fUMM00Bsn17}!su(}G#A?ahSTUlGA%^G6Ya zg{TSYbu>eSenz+?U*a);_wV2&B?$3BUOe zm_1^)kU4dCiK@uGxt?KJ;Z zT6;J;BuST{g0@zgy)fZzOG!frWuAd_k(-RS%;Zz%zP6ym>AC7n%T?h^nlh^trqgk! zOe`GUmtaXOD|E<7;dB$)A9~fzqcOP^4!K&Eyy9p>`op{#a^dsm@A*Nc}VIY zuB6jQmoi{9f1@r(lL)5(Y|28}iL(UTEM3p2c$>uqV4d-AjA$+&dIM~h?tT+g)NF>3 zZ%lVCx|H^LK_)|Uk?B4eA>!+6R5T}>5TL7Lo+O5KL3?R96Fe=|npZdK55zpIOxwM- zERWeCz1H?7N83-w`{oeXG;I(*(Y6W~h5WQ8PcXjY4!QY&$eM8kcuk0QhGEX|he`>4 zG}$r zuG}PmRhVrf9aH5437TR431BqfWOw2e%tsbe>tELwS-ir-sEK$)X>P|^JOV`%xw>va*@T$s`_8F=Uql!5_oN&WQl3wEpkU6{ycb zJ9bE->E)`dPH7tH>@2CB7(OrewBWHq7+f~0`bFGl|{aCHUb{iZlBEU zjFnp}Sz!8BgmovYjjM*Oj5z8Nel;f;Z1L@w%I@cYQ%THV^&&duIE!_%IA&#Nm3rHl z(49znN2CW!O(|@|ktXwUYLz2JU9NIhO_H4QmSoVs|L+QO_``R-6Ai9)If2=ATR1;x zIFAnUxaf)NI9VkLzO%ZPJ7cssInuz+cBU?#Tvq;UP$m`^m7FY0(xg&88f{nh2%6+r zZ6_*Ms*OALW*JL9Kt^FM#t~nLoSL56QDo8rtS#kbxu?7GA*mu>ND_US41_1+iB2~| z)20U+z`5Yr9@9;u6(iG|7*c34idB?(Rq~)3mHCw&8f83M!)XjEikOxy%Ss#95T~3n z?qnAI7hO5_m7z4~bnaB8$;uX8Iq5JmRHfB88f{RtTj!^@XXiyJ7r>FA%1c_*4aw5gCX4 zkBe*LA#(8U==zn$uN_|51AbxIN9$$hi1BuMr#J8@^?2a7F(LxjTwS1Ctyn97vm4va zsrLGUxy_C*ZPD(J2EQ!z;`2Tn6ZR#AZXFMltT8@o6;B6&)BadT6r(W^WwP*uF^MqF zlJIq{AUm%0b!i$Z>!uyg$ETwFWey7g4}`_BoBYa^wkEhshZ;EPRabG1P-FKz%eC35 z_?A;pVQ4}anhEzx*@+AC~_9Ep>C6q}e+%kN;_Svxh5k1T>TU!v|fKH>lk z6;;sef}1Jc9(&YDv z?gKUcQ%#4Iy@(X|fGsRJZi76&d25gyw~#HY&E}S!N-|@EJY-zrQ;rn)a>vSOkhF1J zu}J_VB`=5EOxQTp#BS|~Uw%QN%5C&1KJvnja;C`g;8RJ4Y;cQjl4e6Gd*RT;I&*BD z#(Ex?W*9dn8k2M}kc=kBIipI}fWhkN{`;ytko1gvm52;>k5wZxGAZsJRkG#ZRK~w4 zaM;mQ8abW-#dvy7V6>JgJ|xWe513?%@EjQ#=Mj0Bq$JpLp7E_mvtR-Sxn6whqxUKs zrJxrznR%7C`=My8;>}`G`X&}2X zDb|>TE_u8fb*y$CPNW(=x^xt1NTFZAIk7k1!?L|k6J9PDQ0d#0dZQh@>;(CcT|pL$ z_y`xp`(DAR>2!%yy*GU6yiU8i%YDBsOoA50_qiAlkWwt_)6t0A!nt&Rgy8EtUUU{) zRFT6r4D}qOGU0fYvQSay*`1#~{PzQ=J5OWdjn2fxYslvBqGo6FHQS;I+$RLRQmcrr zP^3%4jaY>ZOa8H`Wr`7`sv_jASwtZc;P80MGuathy|?%E|C~X?TJu8Rut7llcv8Ma z!Tf)D94esY;hng+$aicSFGdv3Z)8RPsIFH}}#k|mf5eyKlC zoKWWZ)2QOBH_{0|?7+BM30=I}U$l8-aR$dBjNd&iN0KUbk83y)JGFXf3wUwy{d%mD<2GTE#qli5s!NNXc;HYoa_PUF z98XU#KU-#FWpa=ObA~}QR;#oyFRij%>oEMNOL|yDl+8G^{A-nNjHx+p`^VP$kH$QT z8Rj0&g$tCh%BMij#o}_M1?0Zw$y&Td0XOiyAy|p07m+Up{;c-EyBI>v981Y!Gp*E| zNGV@8^2guTaU>MY$(!jk6B4(l?wwhOt!_ zG6`qzeoahfxT>7v+P*mz@NPp?xUb10pZF4;KOqL&*IoOWp@_=DG{{0$*BWgyxaEOE z7f-I#+x(E5*Y%0Ay0H^D6k}I`(kZql>gM{zAEl42@8)~bsLWM_k%l{-*Vy%&7nj;c z59jvPZh9MsNWsK^ju6Mj=8pe9Cpxy|wi>R4SVh+R_K>BtPoKvxy@DQNL*)!{ob^(S zA8%=xWjjD8em78Nqbvw^huAUR20a1pp#AN)lPPZ;e}VKD=d=HXROjkL_2-;mxnVgI zw}a;AUccbK@ zVO3Bouy>V3{JXUY^_O$Db%`o;YtW)LHI}N4a3)zc{QBsAZbYCUrOV`()%$Zr}k488)f1w^M{sJ7R>3Cjofbcx||w`uCoYqsxEaY zu4-2eqbat3%`qK|_z>Id@t zyZ;Ib4$XBCE9(tdkp;;0JWE^j=!%8cy>WmUQ~g_0)JWlWW(;HpI4mh(YeO zIU~Qt2`>b$h|AZY5 z+gTopcZ9`dW;6dKPLS-L4mzsXPP$sT$rIvcINq0+N3f@$asKKi2nDYm&a?rcK_dXa zVEC|uSN$7%XT4Ijpc0kdGru3LZ>R)|1R-;2dh`hXcH9=6fipT#yRwPd(^u|FVTjj5 zTdyzHvG0@8MNzmdZfl3CKXh>(3-KMaYABarhPiG>qgY{TX=%t8+sdI=AeogJO411N zm57(&7U<2zR;C>GmPEBy}rSV@uSk6^DQE><-z*ZI+?AvwOiRhlcs23?f z*0Gw2IhECTLJI(jQ)kZsKeZc-u3ju>+j=HU?hgc5FG1-diwl0Yne}_5NO!ZI)z*pS zwmk zhKL{J4w z2}eWV%DV!F!{*RnOt?|k4UUR`vL2fgtSOamICGRdKdr4OGHu?z`08dUF{Z-rPx&fs zwL&%ur$JNy{Z_T|fhaehJXp{RuGMBh3Lo51LnI9yz|4WRG^`;r4i`)>ou6=4Yo{O5 z?ou$nerS8{&+avFWr>JCY9zvH6t`v9NK0)t({BKLE6lBqJ#cwj6S`=znYplvIw%hC zm$jy?ccQNnY%I$hPWZ+r?6;{Zo27@st`S;UemJAVsfWai*#3ZQcGEMmwRCH5>L+dMkS|2kvSn%UKMtdq8vfmZ`_nzIEJsxTTTL=Kw=j{Lc*%gbc**uz zM(;Y39)IG;@l=vef_N3ZxhhqVDRAiEu_l&E6{;aI5&`OY)cn&{beJ+FA5F{LTMAw~0 zu#-k%25km-T%vKFrz*LqM32!9!S`M}dbVfn14?!0Y*LMz1Ap~_V{UhhW^;L0Zg40& zRMD$_c+lp-(T<|+b?tnI=7HXQFXS9DQY<0WmA+dOr>bpCbF3| z%FgK>b$W^;Ue9n2Ytuvt4&rw=ksM=yUs5YEQ>+MKws|g0wW|p8V9E+-`Tl}6KQF#h z#zB}&qwqjuuLIrXn?S(R9oCNnGxQWB!5;%k%_G-bad|n_Da*Brl?$gF#@A6t&$6$L zIz2KBwrs;lC)AGDq1*$jdtF9}^?CRRH+1nbT~wU`s7EeWY?5RyS4hQk%rxe}xi^+F zHnypzvb+|za@$X16Ps&ZZ#(MkNlK!^D_srL)fbMEioc2_Pm$^QduQ61_)9ws z^%A@t_LEx>jz1KjH^G;b({!gRvXlIrYjSL61cW(11zqT;4N{TEexWp`I+e_$fsGt! zEHaVb3Vn8!W=$|~JbQ%sx~l25GJujT23Ar7DGSD86EPA3HE~s4V}-!bGPOxu0mj;+ zr}rgPFZ-_YsS!@M2pQ#w}o%sX9rp0e9Gg>79s%gRF0?CO&4a!K(F)b|VwAdICOJX@~=FPu`>BSa06?p)iC{>4U#1K z*UbGiDRJ|@PYcB<{(u(40;LF!8$oL7MRkd`u4%YhofgZ?Hpv9eX9Dl^~%^%YX{eP^XLzzJ{uTaWNnc$q^7-KlzF&}T3slwPL z7*0@=GmOIr%kR*QNULT{@K5yBGZb#C5sNbxOarA{qqA+K^;W1pl0W~tadzTnfyVG? z1(4tf%PqS?aG$M~`XP?4_Y+2bTh%S-rrB|&#=AhqYM*PB;730_O^`5;@9$UU(Nv~S3FBNEJE|s50SE%)+ z&jS=UlV@c%r}9_Zcr%VpT7sw{G9b!7)g=jR9$G$UVfMw1(P{bodx~c-QXS5PA_e__is0 z$GkH!H!bAG0t3bcI{a-}yyyb#fwpSM7b0%#Z7KINCP87pX0!2M@q!=qPwsdd zur_@rgMQ7WgrQn@I$I(Cpr-wsx8B-CDdUE*ceaK9n%=O<>kJs|?%y{u@}d`qcmXF0 z*ogenu3GG?sGcX19=_!v(WAu9IYY;-jGgLw>KnogSbK`q4>P!PpA8{fTtas2C5Ju~ zttq~*5_f{-+L8r|vzNx+deKubT;V_+~#Q0eeKkL|UL_IIub_*f!CigFt zsDV4&kkbG|@9=9X&PSNQj+l}=1i&&M;?O_$SYc1nGZOW@@I2A7q<`QfJFy!t5-Cqb zLPXfrl1uRP`7;!?5$r0^0#yg(VWLp^yBeE}6;ouz_hJ>${qjJI#r~G501KPmdDqk> z{526T3+4+FtP2YEO_B8z!bS!5MkNN1lkcjXQo64{Urvq>O59EjUuhsuNB}q{C79u} zJ>|7gG;^$9B^CB5(k-#{`x*@)$Fmq6p;ZS(4JkAhIc$G86JcH*U$H(iP-`4%eI&m8 zWczY^?u=?p?g!2Zakk=k0vw&j;L;`smCcP`Ku`3$Lj;X{g$i@pM$3^8&Bn8{7xKmKM z+9@TmKgXyhAxfR6+28jDU~bSonT7rk57_ZK!`-m&qaF{E+43cE;KiuNt3|Zn6)>5h zvjwc}ZY(gz4nG;WfB%MG#u)0S2JA0XbmKgMK*fX#zu%S(*bS56j{*g>d*gXsq`mw% zV;hVm5y+Qxqje@^!JJz7TPOqvjK?AjtcvH6pAhPA%=g|rhB06T$rrQAasksdmr?sS z>4wzOBQ>Yl5C|~Q3Y@9pejL{6A;`E}Ul6|p1#sFaEo$+IY-qa}5bo~BMya4L3+rzd zY@;U_Gl&r>w5d7z>H(J0>(%3Qr^6;_3W6g@wXy`X%iKa+9FtqUi3OkAu0UuKSDtX| zucEjKiqbK*Jrb!!H66i%n-8L@SAxpcxO>>WEy;AS5;|j1X%4^g)!;tPuq8*P%3)SE zA=V7SUAjy;{3${PGmCE+d;Vyp*(m~y#7H@0v;j?)4!KoelK|&QFW&C?v^rP1Sr86r zSIP}%;t|Z`C%Fo6Gb#v&3}pHm$i zispQU^Xb2n@}8DNR*YK|)kvkHT}L#KqiCh)p+kn^1=O7EIvWX7!~Yk7P1q(vi3rKM4~7S-)F zw6`|<-s%_ulHjLQq0PY)aML^e)NYKV@&Hu18CO+;d1|^<__$k?iQe7{$^a|M5Vd({ z+gwy#K$v+pr~l0SXLU$nhB=~L?%lKYTJWdqmIz-L%8doQAxb`O^IYS}_DHDxhM1lS z@a4EM2r9hwljfV$xoqC zJu&q)Y_nb!Gjx(U%pbeM`o%HJ6m+xdai#{MKoH$Jxw(Qe9x}D3EE-UUOxk9l*d(h@ zyn8SJ%6KE7Tz+c&7Ff4B6$46%xi0ny4tE*2sVf5oO_>m&-jq;$Lr;AqZH}oYMf1#5 ze#l$1Pg5FJU1-_`hXk;;y7LR{Mcjh_f{-o|L z5F7XVlg0;>j0hVKA=8X^S%Xi*?j?KVWR~LD>o)`MHMm*O8t6;fPdM3Y=_nlNo1&o>jGOY5<+T2D0-fb%kcZlrD09M3HwFJ;+9sr(Ye;r_3l^L*XN zYQ2s8`8~{`xf7XBt{Ogn-!!|~bwua;T- zT?S7MLs(p@eNu$^JhZW2=jVnQSs$*xP(wF(6K^EcoS^$j)9S{_6qIT87x9MKK<@1O zHxn*7FiTXUQorMZTUjel0V(1x&_eb;J-dA8PgL4d5ZY53fk7>EqHQ>39vIwK#3g5F znGo&cw!|x8u?<9m&K#s`aA)}Js~x*uHG<-hX9dqpf|8PFM&5v9ECccC z>z|$>-QwN*C8s_O1S1S+?>u#p0G0=Oci-we$<*O;tWkHb(~E5OH2?15J7)EvTf^X1 z_(?0G>lf2C3x*KYp_+ceZHPf@TZ)w4@XO>@HRbr<$>JOhiOyJEaLg;w-UpQL-O1ht&U5?qK)L>Q#_lFu!zIg_+ zqXdMSJ&V7krS30&?D$H<|JzZ{&NlPm<82O2%=L|F*h7=@s1RuUygCSVX-jh41&r@!3Mk{i@UT z=wONZJdd-837fQ?Of`rhJkU6lN@j1Asn77#1=Az)i2-k&rw z_c;x}zeLAhgv$de?T%tV?I}R)DNcVYI!ll#HcLhS-ZYik-!8{P1TH$0MdrVO=q?j+ z=h!Zd8iOI2=HQeJo#kG;eTEb*>GHrIu7zrikNWM67fy1E+>r=P2YDTbTRk1}TEf+3 zjrx?y@#_K9aIayBu}s_d6ApDrQU&Nqa-7r&Q;Ms~K?T(c`y`V1(WpNo8kfilQ%uQx ztw>Uy!M|piV%r5M0FU7c)5XeL1u;B@`3$c`4R~t{G^C0?I&vodAF6{|NELN-qTkQ4EIEmu`|s~!!(obu({D4@9HIsp=SvgJFbiDz|-(P(rvFX!l5XI?@~L6z;g zl)h#$fmne^21_aHXzmW%T(KNmzSN!tYtm zA#mmn)nFScg!SJXB6PNKzddzwQ5bKc^-`QEoy?{QZEbr)V z0la91tLT{s1o6AHwAhZKdIFdxB!`TjG4s6>ChB=D2xN00MO}prX0=uA@WVY>+vgYP zf5Smy&M`Xc|A5u=l-XJs?0;+!8PIDxFMtyKWs#YhE?_~FH-kQ>n!BT%8om`ytpY<@ z7%H8Q?`UYHI-0x?y~K9d$RWDd1AZ+ZioGtPBJpiyZtDD;fBUojZU4CW3IwTE97YC@ z(q^9$hC(CWa(woL5>c+sd15w@n$_X{NV>EnzJ;*wvP1H#ilR3Rz3PNI5LjZ3JwE;(rqPz(#Gp=-F;N+AZp{(Bq#rfCSR=>gQ zvj7eO>XHlTgD+c_Cf^S|NWd@HyHDC`&YMhSx5Q6{NXuDwn1J)ogG}MJ8J5`^k_hqB zw-8Im@;`AN8uzabrotafGAyn&eQ%>`kfUBVh%obk#Z*s9%*b^dHI_~QBzTACYh z3-I5T?HthsIwA1t6&qN)x%)3fg)+Qc9fj)UlORTy>?yW0_4187g@GWT=b`Z;9U6DOIbFv^@l>0&-p3)WIq4Z~fpUD`wDOGySwm9bZiwb*HsM`|dw)7`wg`#@U%SvzO#EBt>uzox(basHq4m%%|m=>Kul7Iq8< zCMg?M5QzVQn*m{K7bj;EM^Sep6MJV1J6n1qYXc{zsJQ_(+ue-_avz+d(FA)1sAED`i zt~s{ocfyHyWvys2@iIWsdfONAo)%zrIPizr4AT56qxi(7(w<+0skD3=pZ*&`%%Yp| zA8BY_y;z_j{zn?b9H*_4Fdw_J7kD?ZTk@s8rTJz2Qk7xF;*gD03)~P-iWFh#mVHCp zirGyN_LWS0%{NJ0@Gg=%Sbw4N@Jne8Os&e2XHGw$=P*ae4eaMv6C`JW7P2U0*fXy9 zSIUe@+MMWWe*rYU-6U3vPcoI>!IkpgbX*iS6i8OWXs5`lhiOelaU(thesI5%SnC)f zwkW5pbGOsvjgV=0er0n>_@Y<;a(@aZk!<82{>v_>S~FfT{B7kR8L1g;QfS~|9S?Gb z7IgRzx=jJVIJ`-1@J|_lqfq<*N`rx53iu}t@hH8X3j&0r7QLX0+J=mNSNK)1qh!WW z{MYm(q+P*>(dk?kle}vJx;{pFa!m#Pe z)y(ESn%KSC%vAsSzxew9AcHKO8x7ehNv2>2NdI{~D1bn#fdT>PM@k`j1N)v*la7xK z6ses#p{rniZ5lJ71&awuEJy@~LXju*{_JibUYHn$NA0CKB7#RhgxIJt@2tqk?TS;DU`3*UNEKAY)9Xa!4$({e; z;X%1Njkw~^3`f4i!9hU@)5KXB;-yh7DzoHrB_3}r?8&bkL!xr(yN5_8=cqmgB0+_x zacpzq93&u?il_L0m@x&dWK*BDLndRs`|KqQ@WI!cs;1t*jEBux<0?@FdDF{Tt7i6E z!iiXxuP|RZ6;=G9n2Klq{7Z!%8KxlZ-yj!o|K*rW{g5oFuT>SPylQJ2Ur0?;R)i5= z5EN;3#H&eUKiXjGIRt?P)tuS{oZ6tBWUzZWV%CTZ*9h1Y8mSA@B!_(Kf%B_^5A%jm z3#>(@VbKm8gqIJffZ$>vJRlw))F# z4c416{+0kUuMx4`X?ENQU@2jgf{qMJi`SSrF`H;`+~I)O-}U}mzp0Y>qA`KdtGD% zR&nIEE&QFr-$>1ytcEOJh8(c!VZrO24Pxw_So?V6agvKlj;=if4&4sSM10+^e`gvy zMNJ?T%X^NZ<%9g9#?-*94=%}Qs0}Nh|6sdlEza5>quL->+oGqrK(K;fo9Db+IrEk| zP3LwE5#yX*W5E+GmaHKq= z7!*9=KKL?z)M7*n(HT9tZtKBD0QZf{;21V_Qy|c?)BD7xrDAbJqXS z+!jx+Cn~)5(i|SYxYB318ep~3wnQ@6{OYS65wlPMbjqa%@eP0ujvB!XN{TN~%HdPx za-1e|O+6W@9hzq>D)WTtDi>hX%c zm2PjXY7TvZ$J6X1h}ML)RW({nuvVUS2suo5=268;FS{uIyIP#&T~ zwHL+)UR`=40*srxp1Hb+HZLRUr6kD3FPh@Uao6hT{1Q^tL!WM_%<@$P?@(DZhbox` zaw>l-o>LR0N#<-gpgsk{m^*y0fOGGLh)lZaLFlnTm5<`MsriM^9ai!;wBgq04@Zz0 zQg+|ZqY0-dhQu2wCmrnSl$#PX_qXnxQscx~K;3@_d4)*M=!E4lODx|s4Q_f|22~%| z34ms9583AEXZlUV=YSO34ci`PGPi=TSV-I30{SZffc@7DfyC@i638D2)T-o&Kz$iG zeIgh=qwYV4W87OscZ=e0*Z%ZDM&>7;2ENEezboa3b((QrqF=N~i;PtFgB$YVV|v{v zmrA7w%QVv}J^dh;i#@UOj&7@!8RvxmoBa~+7007il*HboKH(Y|edyH3W%ld)ul(UqCm{Jc_XBY*>;$t6|DEnpZZr6IK!bpEq5cm*_Mb40kiw9PkMJ*+zd0%Y zYpBSaG)j075`xiWQJ0UM6jMJ?h|7(|szcEY4j~flT-~syx4yK!vi0|QF_*4ve9+O{ zj-gf<@E@U9QGTsyEKuSWE}74HwJKr$fadC#xj6Q^G(~f>V+u4iz52(Lb>~dK_)fp@ z+46l{y%B(_NBu&_TrVrNXa%S!aDGJ_*Cmh7Hf35j(CliaO-v~>S+ojL2E7Ixm14`L z%MrH~eC1+HLn-9h8-2@>A$t{vf*zfTbF8ZZfo5wpHB7b6kTnyyQ>L0oo9NJ%z)+nG zG;z@4u`0oo*E}r3-@Ra5a-CL=RDr519YAnDqpPB@I+ zqfV&ge9k~A5%S|%vH@ch_TU4{WuH#bC4cNCD9)&|5kH!ux#~bMI(mLD53^fcl;`J`{4s2HrWlx*&_S- z!id&D$N9fH3l~JzeWu`QyEJwC$>j`i092J=0<8^uO;3U=P77wRgxmLLYRvEkEl^g% z#RqlTJ8r~@VPKK?g55r-^wH>Me$$dAO$=4u76U=6v>FTI7cRhEa9OT!4o{f zK1;n1&yuu{;*zF+(&qvyc?W71S25Mb%8I-$3YTdcfm^AAtxiQstPbXN4F`gz=iL1U z%GGi+iMgXh-DyGqXB&nHQZ-+G40~DrJCa+;hRA|UEHDx2x<>z|)=q96HTd3iN*t9#f+~u&(pXyGUb5Zrw+ki#=Tm`!ifOahu^dpQT-Q z=K}2rY7^Ray72pco+?F=Oc7DItY~n|+Ah=m0eW$*y-m4nIAtD8c5mAhbfw@Xcmnp_ zrAK~IvIH5;(|k&y|Ds+nR@#yVzmm}Z(QmPY+3n+U!H3poHA1D_xIMerq+&2>V$$eW z|Lj6%d4r$zAn>PKDHtqCF(3dtVzGp)>?*!57KyQ)7A*(@s6a0N6 z_lNa6;+)H~oj`!M$VnUlxTmr7G6{D*{;KiA$Wn>;BV9D;sh6j={P*fbZ_rbBPh*Bz z67FpLRb~#H4S=f8`!l&7n9GKXJ{{3$07Rw?G_Evgrwt$nlhD-;Yl8PC(U*^EqW3(* zn~!Sz3~>h^@wljL|B~?~_b*A1v^lNpBDNFz;dv5caGr;;oR8SE59rE_>$N$wnjFLDFM{ zcm9S)>F?H|1GaSpue$@kr2@Bg46hs560@pWHeJk+O4kp)p#{fx0I%yGh`d4%8T0Iq z9N&P~QF7mK^#n-~u`|`@x3~y>2-N9{)i@#~VF)St#jsK`S{0-ZJYSOzwGr>z-`rl2 z$Zu6Xz&j-csK7XdH(@9+wc)2es+ETGzqS8wE+Z$Nle#Y2EusT1t6#8qHJM75y01@wv?pFK! zx1d<1UByLZT}SvayL@);j4=e}bF3ck@*58W1YzUZ&!NxfVf;n=M$a@9XWnV}%Q9!T z?*1}H98;rEdV?j6d%--usw?q(3bvfV3UXXNKc~%Q%#E~l2}>&R-MQ8k%QKMfZa)+t>l97eP#TsY|&5e!uVx(oU0sau}N!XJ&|M4fxZfQ z!zVDGEOG4Xo;#SE(BoaQ;H`?4pk)UNEhB=%_8X{zS6Tc=2cF-}*D!L|x4-r{GmqBY z$~@xjoHzn_+Bdv5j={Zyk#9H;;W=V}9rkCe>W^*jI|6TihHDB8qn_b%oSgF3=SZv< zvqsdM3auNg#&1{)I?oy5`&V3ns$K?6x_DGsB<*u^A#EJt_uq=(=(3J=le9m;lY|#4 zOdJE*riTBqLQr4O{~hvi(xgb6{#AG$z*6Fp!2ZLGL!}^R;QwgGu>C%g3jMJ#?vMSoK1I4_?VyE9mE8Tg`KxaW^8dWfUyUjc{Xn_ z<7JOjw9reGwFhdjX4ShWkP^C>^@PPJ#Ca`6C=0(OCLdff<`vAA7yLJxB*G=^d3E;A zNG0dx!^XV#b*}3|K%H}DH;8hFSN;E3A~j&^l6=LnJ0e9piu zBmL#z(6$h0SCO$0Q^=Sn0^+433~vjgZ70MMuEj+!5cAU?A91rKuK)w<@Rr1{x86Q# z&j_)ZtcR>Y@^_#>^;wdlSQrdcHP;|DvjqNhW_Yc_v#q7zFVd`YwTm!#N{s>26ILh z1h5C0!^0hphr{h0V0mLX4R43*@W<|f6Ku!N8T-B1t@*Qb8`LBT&Sh#*!)COYy;FDW z86yCsm+9aGm}thF^;@RP!HuwF>~TLY&0q2(P*SAHjFH`45TZNRiAR$D>hvJWh{<@9 zxcRtVCAj++&7Hm{g1`L7r{%SLm5WR>kFu`J`K^)xp*EZ(KwyHSOdC8*@2v{t1&$Im znxB-%IKy%IA;}gy z%MzzQ#2JbO*ddCQx5Ig6UxOhTXvEPLk}-O-eX=FO-4=6|#Pe{KA2Yw6>02N1&j+@$ z@$tjO7eT0C_aNuw8am|3A*9633jL~jR|;HN$TQ9CHa0LkED5p!1u`A-X zKUQo6)m_{q{($#S1-dZZP#objMCyTCI0iPjsK*6=ivi>dHeos?dLGC2rvli%~(1lkWg;iOIRJFU)f=U-jK3!IVM5F?;FhK zTVV%2b$VDl%@u=?1y+2aj>k#2R(}bfU#u5OyB4VpM{8*y9*I%x{wppo=N#Cwuj#Jy zs8{g8by}9tPBQWNSPSanke+O~$)L4!3mjxUSQ%U6>~wie_o=_GZwRo-4)vapPzc`kQgb7HYgE*wFxts*SlCaKg){Ke2@ z@g5A`ujqaHDfYX`UIgD+glNf`#JIY<)$RelKE&zH)iR5+7~^;zuPdHoH{W9iyZ7}R zz8VnrNCYt0Q&ZtZ>iN)v@Wt>djkwd`OjfvcMqq^3ylI~N0*Y1>3mxcBGGwWzBM{EzU+x6ZEA3lmscDdq9}tZI-Je?NH(>4wb<&=^>A!2cNemCl zj1!&e4kCX{drOaIMnT0U8b4$*W=J+HuS$E8y6{r;;ABZo&c~-R-J>X^5+RV_$PA<0q0qT1aE(nsjkrt38;Em40$_~$Lj8(R-IyEYo60MR|2%I)TOznb)?;j-sT}nQB(VHy&{FQ{pvtfFqq?Gq)k{7y=8KVFY39Bsb6_9jQrs zDUw@SWER;=X`fNrC_V91x(-jSR(LX^iga7P7`r2 z1%e6f`sLJq{lgR`y97yrJZCg<2r|0N+i`rP8pmz!;?;ev z!!1C|ENsAQBf#(E?qe6Ipp~1I1`D}hx8az^a1OD8tjhfLTylTZ#|Dy_cjF+lpYlf| z$@!U`^Di-cx;67g+b4W%Tji5FVV`kqVlzM-6Xg$4I%Sei%7U+5`}$S$!`-Sd0N<}t zRz4xaE{KR5sN7d;794oxhl4n)EBQZ@DnamKYFXRJVRuB<@m46F9Ke0IBIF=H;U@=5 z(0k2f+Hl-bTg$E^Mu3O_D33zS%)o%gDbxFRG4t^^mJ}Cae6BCX#9$w~jW| zz4YB%`>Khik?vsVG~t`+&=GzTMrbVLIks{?i1W zvtoL0U%%x}T5A!gCKWjKdk8Q`jZR7!0~ti@N*uyz3z=CyeaKry?A&5|c`}FDh`WVc ztGu5}tL*0Fh%4x~_ClsbbSp1GE~P%?*@9Ps5LzET!2UN?(G2+@c|rd80fF@62g#3w zB1Gi>qHzMnGXl`Y8AT1l*VfgbkI}m*=m(ssK<;R8Eto}RY#}jLuGPK3C~2x;kbx^J z?8Q`JLqqIBjA~VtX4B*P8(5X*M=7-W_v6YRD-@dytDZuD+_*fR+@8_Hc-jAcdtXhE zuEMPbf246aU3+cE9Q$0oZ?!oeu15T5-c|9_oR78)HUerX@MMj*2O~$l8cj5756e>h z29b)f9Bwk#YydCd35mgMufWH*7b-h2r68W6kLY`Z^0KG5d1z0!B2T5Otu+_a7pW}a zs;eov*UvYb&YseNK>p?Bh7;)q8S4IrR}U$5+gh`Do$_~S#kE?Vp#r1;H5z2Q*hFQ| z+LQ+OiU2SJ!-m}Sm|E6Rtg*Ul-W9xH4WG?IVYB%mb00k!YjUnko0XHGeR?K7xc`%i zRA%5pdZ@Y3)F`!fgS>WvQPvrqf+oe)D7kB0`a63x?ih^tIGTopqn5%OaHv8zE+kb? zPGX>{sN)EN*&>-!ncp!ko^uwnu#4G%Sk}=&ZvpXZy-BNZ?{`3R+15Cs+C=m>zuhtkzWJD3e&U?;2@!@zicftrHkqpp^lq7xXyUbb4|AYzbEZ z!B{QYsCK>0L9KA>U`sN=#<1r@u~M6><{6nQEVos;X`UqkOW92G5@jtcf$N8HVeTD$ z3{+^mS6mpfYoe^ytG4U~ZEtax$oDi!=D-3bBnv8v8Fr%iu@xeG250ev4p2+<&vWRj zIDa?Dz`ke)yJ&l2i}xzxG^_W%360Gr%GMTS9Y;GiNSgShiZLYNUL9&>Cw2g|=V{w? zVp!5?q{PHT>J;N>r!M7Vp5B}>Uz)aMx1Q8-WF=jRVGp1qst)&W$!0T`d2 z5c#^T0cJ;*>C*|Z?rC((j_Rh{P=qh}e%;dx)(Q~<8rjZ>+tTJbv|tw6QYo$B<*UPi zEeO*7CtnU_X0YgxUmr20SRSqQ)Mf1FIZqMUorq!LB$Ni5i>^ksVsR3+GhDY66gGKC z-vpRT^4)pA;)>9H1k=2FQ=PRPB~U;)2uv%VbpSehHW&tTU!q2)evN%(%p^I-rJ+K} z{_hBCw{01EG8mN~;*!-;p+8uSO@(_&_fvHcI{}sQ!CQc;J)aJ*uHe!0Tisu|+^=?a zKzCQ7vqds1xzk?UMelFi9tiV{*OsgUVHY$~D(9uYF=f>YWHpdcP8a$22tdGH%RkSL zlEFyRczdcd_=yE85}FwFx4JIsPqkZg+$6ZKeG&kZo_a6YsO$38KBB#$X7XH4vdXQ} z3v5h6h@)KjhKKAyK%S6HB)haUV%w%``E)E6+&ta*4Z%-GOiIjKSjc*^thkDD zH+mq2X1YI;q;ik&i~!szG)vwi?m_u#@^*f}O5Yvv8|dwaE*xch@0R zFfhOO+|$1KA>yWxuMh*rb{xouh9U5UH_n-V2E-EeYzQ=nCLe(}$Q;H&9 zSi`d!E_`gUfnk2ZG9G_rc;PbxSc40l$^NK$1FCa%dU?TGUI}apiF#7G)wOwIEF+m3 zVa$hP>>;wn0KSpFUE@CpyAtSQ<4^SIz#RqxK4nwc$6_n$kcU%~e>By{qV#$B?N08u zaxsQ`as8sfcC2Et$`)3V!F^@{BVs9Vce_DZVx>l)1cprQ^PozP7AdK-Mniy;fBeH_ z2o9OzRwt0v^HGo%X+Za*l1I(_Z8&b#h`+B9BFU?_w`@Y`k%rsp5BI`j+go9Ns15P& zWUxL8Y0g7!VkPP;NEj6gv09GPhNIP<{@6&-dbO*b7vwyk~^Shlc@yv(#fKc<@rF+}0Fkc3kUlAcUYsA*D7=YWz zls|~vA$Ul!ln3134#08WxkJRaxq;2;1YUu@*A-CfjoqA-s@{>ogcWVjML7&9l|gda z(c2VXeLom{^6pi-+qCdl%x3qz%A=pZ{tX|iC@Wd<42vrCZcpmZ#;t4GxA=4aQDa8w z0;pYS2l2T#-2eOE^16W_VITZICGTlpmH`Xl$B!X`lv}_zr0~Bwa?Ag_zt^M=sl zCNVRlGN+77sO>Wg!AXmk^)##XVkx}IRaVO;I&&_U?Iu1Z79gKpPBqnm-aIQ$89=^G zrz?)*_o**0;4+=|>jdl{7ofY4z69ku?y}RWv=^by1mHp2tA^ofj!g716P$qlOZ~(B zFAvUiWYaYUPca!ZCN{`FEBNXoCXg=Wf6eZkSv0WcY5srM33p@xL$#*~nXJ!}m8phJM3kTM&7GQBSoq|87pl^S3gRc6$kkut+XIt8NKZX(JRG8*}$ z9T>9?w!DOl{Rn~KSX-AiBO|UpYw#9%weckYOdnh?IUN?YyVEjcb5^TWo*XfE>(C7- zSr{^EV9S&sIs7uSADP?Ty5khE$DKxV_5(w`u^l&+aNbgGDP$}YZ0RvJ)@S|q)t!|5 z3nW^6{3o96kRe^Bxie6Q<;y!2A_oFG`BmO%LiI)7YC`p`_BTOx)m`r|x@k@C(thvk zLGMyFQybowD2)yTn8;O3Jj}>dO+1hxYo5~*`s^{7z>t4lc*G`cj-I-7FS&w7YqWS9 zL)H;J;UjU$=T7)>F(YIi+i#&!BDR0T@aGJz#!%yWv4r?(x9ov%2;*7+QO%3akq~@a zLkT+oq{zi|t%Od(t+sAWe3kKC!LnG%-^-tD!PQ|d0h;}`d)YbCCFCfot4=vhNBz1R zyMwqFM9(d&%k+e`7wxsovBvp}Q9>Yb8fH<(@`R^eW`a4!F6Q_`+sZzNHiOEXqpue> zx_@z^P@2jnZry>LNw8QRgwk{(om3Y?T;#0#2?;0F)Yu6waU-;sbJ@DKxp1eAA0GZ`Ti)|~xM1-Wb$3WftVX#xU7dbUnR(z2`lhDDkS#TjDC0)<%k)XpJ5cmP?3O+fNB55lg6*G)pE{7J&to%?km)k0ke$=%ik;uD z&u>3qZ4+&ZmPi%m%vgr&*S0z-KF3OzL76xjTH7~rCYS9PsL+#>tB1%b_9Aie8%*+C zRi!pQ?0qrUOo_WO;Jz9RxdAQXQW(wQU)a=|I0^?M6YVQw4mDWB4`N{KT<}iMNZK`z z+$vaMQ@No|E<*sFW0_oNn!uk=Mi~$PM*8ZBxH(?35-3I^sdQE<3mx(Xv#RQTjR_<- zgLhi*J0+eD?+-uzTHrajdw*~@{EIXM2T9L9GC0L!G51m%Ce`T=1L~zLXH536rD)}1 z^Z^cB$^Nd{bAl-p-$%MWeR#DGj`T58T4lcHbA5ufASh<=?02t@R$*Jv9WU<(rq8Y; ztyb`U?caX%S_g}4C#)(+m&h<}#X?JbON@TfqzrifKzVdQ9y1Z}1~IyxOwK9_ zDqII+Oq|O4I^ah{Wfre#hUQ<(3oRS}W@rJUUv2;|Ql`&p8)4DsVP4HDE#X*1Ulp)q zUiF5Kb5V3iT~It};qNylQx*t&RNA7aL#eAN!N{x91Sv8hPJyb^fIicK5VDi>n^N55 z@75uD^eI^L6|L^n;m6M7PWj7!4bRlW|pm&gy?N|3QiYpA=EBB&w)}CVSGf=;f zLtW9&2dt)E$R|S5CqJ@q2QG!q)bk{te?Lec^Pc6gpJ;92OwGS$#yP!VI{f(bH zWzWs2E?ClMFI(qU;(n7WljaENEm~P~7_)suLNC6FSql%$n2w;jkSWtnT_QPa+!@~4Vr?v%f_2+NRa>4 zNo<5XS{FaVJbzhH2fAJd;uES5v1ZS;l%Jz`@xzl|yn^f2D1XfizYp9R^dORj@F3De z?I5zqZ3JWdI+1DVkJOYpL^&|C4(&uM6S*349ePx$S-cceOB{O+ zxvBIa!;)AIc{Ye6b|S$#ZPgVf%#c9Cw+njIM2nc^Nj%+@z#}>|JLi`~R9N8#%d1Ff}#guYu$h zJ1K7|)H?fBB)VFXt5VYH1`^v^5?wVJ?0ORT6(l!RE)T@*ABhc{ z;Knh6O}(kVb7ljgtpml-ISMp63MOIu6O7^{!gokoU-UL^Wdts!U2llOwEHK!Xf5v}vUW#)JS0MCcpJdtF# zMIkNWXIt~1d&b0mg2h<}sJ7U%3&=9sx3Y)%ljAGMHrjl8?>UMo-A{e2^IpH@Q;gt! zN{>*feq6ZsAYgDnVMI&qq&qN6l5l*zH%NB_Ugn{n3S6Gd)i7@*h{TXhHH^m`;HEDe zxr1ZKhnw38F_@)D_ep$etDRWD>gRMp%!-CJLOV+9yhWboM ze5Xzs9vZfrf>>Gg@pazcK&jlEdq zYWtDicFS%J-+WdYIDkCv5g_e?hTYU2);xm7`EeEjxGDTRU)IM!?IY6m7cz7#j&)Q9 z<+(KxIVgEaFL!(G6f7A3c4oaeI;A%DEDvDv0KG_#@Pyr3CY?EPva0`3?QjQF+5A+4 z;NmWNgi9}&N4}YPHL3ek;uFAD3f5VYjequstn?Djlg*rrXJ8+TOy|LywRt7Yn$NCG zAEU8_oO}?gv=gL7c@PzpgbYS5`JW&^147{OEBrLM9FRg4+6 zJldkOcojnG4v0x8#}3V?zUsZ+LoPnsmO9U*OfN@4rKYevWuC%I#C&m0`s6A86heK< z5s>%Bjbg6;JuUf@{A?708Ad(90+@~A0$dJ|+k2K~pB7&(MB=2{Qq{T@)fsbwyj^L0 zSO}5tZ#W#6RhZvrC;N3Na?Al^@q0?KurmyeaT@D4$vWuj`5<6KM{mIMmc%;uRrNML z5QhYxAbeEO`%%5ttF(+Evrep;K9inRqmJ2PNYO}ynugxU0y8IG_O+7(q%2P`4oIhj z?~{=D%7_-BMhP-%0;X7iDn7k4e{}g}={t)ZcIU&CMJrZm!((=+Fa?T zwKo!5P@~-LbBROR#k+>!Q(J%;BD{saYUy(c%j<{GEBE!zX9A@_PP=~1YU#qoUc6}( z@jpz9r+0N)U-7mJvBXwjr0gy7190Y+_ZH1n@$Utq8iVvPJe6e7Qb%FrMUohG6&`~Y zQ8o{iQEvcWA6|x|9tmgidu)MM@&T62C|CrpNBBq3&{0uvH}lw_1@{*^^RWgyj+=`V zM~+?Oly+Z^&w@71`#fuFP5h#A{5pjcx_~FL0g_%Vee4jk8#C>xzbXs+0g%$9PD_Mi zmCD$s2tFdwvr-jp2aP0D*Aq`(Fqsi;cGyq?BZS%nn=vVG<{hS(@!y8x(0wtZ>l!(c zDP@4Qo#eluVfyWb5sT7;9L0Zh(7V6vO$K42!?cm@FGLFJI9a@u^=t^Dl4J zOUJccN$T>?1LR4q(&PFzGWiJa;6a$dQh+XHB4;*^1_pgHvz0!3I+k_ehf zHt4Evl^de5h4irvzBHDzYYbk@iED!m#3Zi1(oh&W*0CCXteV3VsjDbK-I z)%4JXww?UxA5t#{bq0W<)GFDoYbvJ|j%x3*SNT=Vho(rP{Yd>9Lug#}GPcL@Q37?Q zBAIc)hs~r4$|9kV2!xhn6eO0&E;Pzx3}z(}A&4i9nX8i+)!b^Fc_3AJ5+f;llPNgEAiz zx*bm27NqQzK* zwPTX#g_|793awCmG6ZIy?gsO9*A9P=U#mSmC>G@&4i8tfoT1xpHR9|s~NIgU>8Zn!_5+xqB@6Q&^CmAv(CtOb3YmzC`1`_@0uVzlP?*l1i zKX62mN7t%1*9_6Sibn*`{t%=}J2y);xSEX)lgZsuyZAWR zhF~B@%DbXoo2OeoyQ1D*|E#~T0~yGLAQfPDNzw0w-A3=kPW2C%NNE|~!a{+&994*Q zY%*^W8&8i^$`H?#VLcxJX+6T8M?cz5(TcM&@-Ln`Ie;M5bZsR5=MM{CgFTSZ24J9+ z`0ZRB4f8XBQMPJLY|H{Akk?x%H(ec4cc+&F4XjWIBpHkw8b%$l789|Sbf=71Ux;56 zt(HQc>gv?d;grjvHbA5R^GsfUwKSMZouNDqekrnip*L6|iED+q+`;iM(kU|Y69W%8 z$$#0Mm+e0j6cQ&V%FK55j4}{i8@K(xpEKX{nmzqD7=8sMArBFdaubM)0?bmk@Iqcj z^%YB|(ZcOP8%jkoM1+WifS9c(W{`>viYyv~X?CDzb{W3IhZ%~e8l{$*cg~~IiEn0> znPY{5%ljTmAVy+tB-RmJ_dcDM`;4vm#F5$dGUHA@H1L3)F7P_qa@z8Ga@y_x>hgl= zas3by@FE2)MS0U=$)-640rTS!#Hw5d$Wa*EDiOl{i}&9oc&yJ>o!#y4TH`3+?a7&V#v$kPO9^MC+0WA2v!@b%x zh^(YZoKEw!35ZE=4?){2w%C=+TsN`3*3gx3C z;h$v$rUJV2`EYt`VNvgOpN!I+U7u(3Uabi{{7+$jasHSq31L-6>wD`N94o;re{LXYs;> z4tiH;vR2It;brO;3J@o^=8pEn&3YmmcM66I5}GM5J$<+E@PpvWuD_V~6twKpq(x=kqJx{!ErT-pKj`LDY7!qi~MVT)FgMlSY?10FQBls3*UCYZnB$ zrj|Q>y!dFvex;ByTz3#E)famhcApX>4Scb=VP56U-eKOIUI|@y%_KjWEQ$g{VHS3C zz$do`iwP`5Yfu8^BekCbEX&rRLkMq98>v4@B~W4UIDGygK;D0|n$@{c%$hC&8}l*( zE^?><7^k2Bm{y1SB2oQwGNCO9)q4!*60VS+j_RY6OMGCFW&V~wNhd{Pd%ZP-NZ~WF zfHBupW7boGC9O~g0JGe?Dy4(@lQYYqBhb<-nW#rU+3qhTN+qY8L?#7JEk{d_ zrqjy>=g9b%R+-DuZE@>&xsKub3AF08CE- zoS`#=xz!ua5j&Pfx|p8=gSJB;_sIEiIa1Jffpqs92`QlPq~GR{D8J)wpt6A znXz_|W;<5T+9G#33?NGz#r);OlpyL0RGxsp-5D)%c9Nbp8))fli&V+xoUNH&+qTT? zni5Mx$}EBYAZly#9y^z)cSxrWr|SQ{WGTMQO0_5S!wYlIko>GYm$5##0{p7fwx zPI_7+T>gXp<#>3LLM7JCeO#DGg-76cNF-Q&d8g}uHsHDS08j+T2WVDvHJ!Ty)hj3r z3YPq3NX*w*xD^Fc$DfeoYIf_8+MAw`T&>O}S1PJ*lWVWb2R^BQEMc8dthR+dSqt7U zk5KnVRVzJi?ZG%7Yops@w|)nJt(7oH&mR&Z7Jh^j269n_fg-wP*S=DECJ=IgO{ZT{ zdR0xTwassmCySa`k|*;^%<)-3K`Tr;LySRQnOLct1WZB_*veiT4BF}8RQ^r`+?qY1 z?&b5x+o)hp3tzebP|ST>Uxdl1J1f4)7z02X5qnR!&xx4-bR4l?h&^oo97}&G0GzX0 zg6scYu9J`6PYcJGzQG?9bh#p!yrB#i3Kc?!B&m%TaxS z6%BXQdm{9Soicw5$BdOluVQE4qGy)Vq7_Y-KFoE~K2VEnPb+T6x9uI#=&=UzSP;y&rx#%aoZx2tRs|5^s>byIrxxN1 zXJ)e-0DKxTM;UvxJYN;5pgNLa)Gk(0BUYBbV&RmJdTFmxAQHlhEt#ygDQszv(so&_ zT6NgaU3YL%Y&p|Up>XuMu5S$6DE(YpO< zV!PcNZa4ZRholacB5zk|TZz|Bt{7v-^=eB$3>-)+HV4#6bS!QJF3-}w&B|nAbw^)= zcj*lwG-;V+((RYz3(-&pPK77FkmWFc?HPZ#4JM_35-SV@Y3>JDWiS!#_9i0 zCRl0L{V~^959=RoP5I~lbNJ3vOX!yT_b^cq`Hvrj35dNY|EDX52yD`T^2T2D_~Nrr zYtXE+(WtjRh-jk0vLMlT8PI?+(2A$QkYJ7X9tlppy%N{-aud5C_)V<;>u2BU0C8Y! z@D6F|A*E}d=8j=Xp$k5N8kEgEYhbe1A?9@&WeGz-G5*+x6Lwng%g`>%)v8 zdFDiOB=XAY)l&hCu}ypZu>2<9^Z&$ zdmZ6^ZAqpCC_iW`C=zQjAO8wip8BnTS9SSF4|Q^RZeqPg41+UYg~z}HMH@P_HibWf z%EPS$!c);_KvxdEpdwpFO;PW8DYlTl;9yJWnrv|cD8K0_%mpN@yKu5S=nNj*1*10a z*`7MY2#?ynIme=&OeYK*$>2T#qGE$4EGy#l2(6BePhBhlJ9?A?x3oG$y9H_Y_eo>s zljnAO43RS-AyH;>dA>N;{bFm5zzd=qDFx<{$e%=YKnLIkEE)2UD-Q!XeTCH@90hCtNzLqSfPU3v18K6pP11}?+1 z5b?`CAgz~Vkc!U=wtb$QWAxyJ`bJPE$T+EMZnXBYJZ&x9vbft@DFjz#i4~Zs>7!)~ zY2;6f&CiYDSlkG#%(Q{L)>C{~HjtAN)H(S0X+Ny-tf2-$i;p8D*R`uofH;w9%jfSVwZv^QoGMQ0F;ZO~TZN>j z(#!kcY3!mWXZv>wA-Jn}3u#FYzB+B4!5N^EgsV_~YEHcwgojml-DRU_PtmX#UmYpQ zBW24=k-+uJkba)LKmm5%=#0%5blWtAK%oTp$0@}P&i=4w#TVlZ2#}%QS>}(#5>x3i zKvKco;D5%8q3@e+;5g)U|ke{~dJj1OF2Ak-(k0*aT03(JXOZJqUOYMG?JJO1rm= z1wM29G{d(ZfOv?mH-e2;dpb%S%O!!Robc8;c=rO4%L+Y@!bpNKejb@+7}m z+(y=I0*sqF0fx=P_R4!NULcdm8HXUP8f|w}@!R_oh;fn2uTwb?Fsj_ZFOVhxFgKuQ z42G>dxI|fEjgsku$(B2cFOjETwJmRwoz%u#JD0LwJq8S1s2?0GFw#8VpdfR@eA40t zGmBbZv>?)w)2uo{rYA@J6&~k3A3rvyS&XH5w1_>n7T<77QHMlcvVl=7dOv@RLfn`1eL9S3TE_#^+S0!W$)UV~R28W-+ z1%}}z3GCExlMhZ9g50oy_(8R#t0D2l-Y=CYg**1J8JoUCMIdLC{Y(>3)21(_hF5|{ zg8a(4bQKsi9EC7cYbZgnQ@E}@(<~>IoKZ>fykYuF@_BpAd`1U)RGdMWVW%8}{+H}x z?*qYv_!HGe4k&J%@qRl1WI<-O!Tmt?rQv!6qTL)}uwt{K@ZSbU)ur;*2jp73sF_AC zO1##`H-9g?9^DGzfz=4|GG%4WC^XWE4Bm0L~DA}Ze{More)+J2R(8j{pYr<9s132Oz_c8&72$7R|5nJa`) zyh^xn5}`(sxcg<92Br%X+xl^3MKisCRo_0^{DFmCJ5t=~A8x~7O2&L;(M1NNFh)Pg z&kb3N5{#wMiJMTMM*P3fQvAJ7Q|kPAGfXmeor^4#8mE{A!{}CVK}8Ds?dAYBBfc6= zA`gs1-;~s0l**xu_|H$qlN6csQdi-9&u)WRg#nN{c}kzUiOaXzJVo|#A=O8x_wKMZ zTj|s|`JSV(`vi4jG^sAB&Zu-KuRGY_4B|7{T;teSRH-^#lP}JA;FG?$5CnH^f1V{~?ET;;MZ z+ks0L)%KAv$OQ%eJbfM4x%;*3P04Bke;UhCm_TL(w3}$9m5>S0Zk?oAJ0!~;leo+a zyMmpvP?Ou=;9{7QPbs!ES>}F>3VAD#oxO<4i*-u5+?u{#M zyCU8TxM4+#tc%-t379+F-;!U*Kxh8@x$)_k0!g3Sxs@kR-(c$H6|sCV?F}3^=0!rT zrs~}KYbW7*t=r*;Ptq}OHD^7itSiBSAw>H35v_kBg&auxi>1PGo)}g=ec7W51#P;r z@o)C;D82YeSBGj|a{0LR%%yd$GPf{Dn-WSTptqX%(kB$3`sFR85^P(YiuQ16Gb1ro z_joAyB4doWW=%*MNWgdO6ndg7%$2yb8-=M4Vi-m?&RQ1$k=YP7yR@*`T3VbVk^?9y z&R_G<+R~!oA-Av_d^(lWC9AsG;H)=$4%qCuvW4;XLY+tKM@GvpoJfj3Vb$q++$Adj zjldsnWO>lyjl3K+~^99^5!(DxA3iii~uU1l1wp%OLkh^{&;@|ZAT;)pRT?nGWlhN zjJ~2Au}OzY&M+1qvf5^A9q6dc%^of2Ns3033O|ExsEm~LC#gU=o} z9xHHhf7U1j9u{KAr9|Jb_Aaw*ICv?jrGjSX(iranrZzjp@K@&{Nt$xp_E}p2b4VA$` zCR3E|078=}o&j8SnTpCH7TN+J)F=0R)v)0!PS%%}J=j_;RJR~i$Hn9e+}bU!#?P#L z$n`*obrFj8L68SXI@fTiTB(;>vC1BnvA%{=;zq)1p~wOcL-;-MnX|z=t413uoS>PP zC;O@zx*#mK&L7p-{XSXw<7#Zdaam1Tr2@11kWVJh#rA4B_+wI_r{`PvQ zHk)gH%s$*o`4HNG)-I=%V@R-SU*&G7C=%;g|JCGQ>)mY)LCwTxP9a72Un5fx`Q-KTtiNBZfM|8qB8%sL)h-* z4nFP(+;%`3^l2iy5%Vp%0lZRXJ>Dz57`0mz-NU*nqhLT8G4 z*|Hon^O?!L>p1r2Z-6y?3~I|)qO~q)7o9WLZRwt}2dq9)c>AEx_?i_7brDT+T3LdX zWHQIzH*U+EMK}RV$3IC5Y3nYCN+>rQW4L|jhM@`BBU~+;u5~DBF8Y0=wd!=D?0Rju zueHqithZwv|5;%7FE4DQEUwh=6Or>sHK&`vY94dUS&_@GmkX!Y%cM1EPeqrE$#WK} zWO)$xu)dl)1rJLnW(xHHG2qAOplv|b8N4^zD}TnDlU@TG?0>QG_Fa;;Z6ex|jb29X zWV9-9j9IqdNeAnrZ|@`oEc5l|%z2!^Vx)Mix?;RK2UD5M1Pw#ztXW;OdZmd_lAY*c z0-Wh&(46U_VA@lrpxTkRP9$l`Pr^&!+xPBa+A}B~e;?u&H)c>=(&L;hNzb4%rAbng z!L)Z`Y*YiA9JrLn?^q>V(ED4yx~2Nvh^xm>*d8gx(dsERpJ^5@DM^<%vGsb_T1oJh z-w-;OHw4Pu>ZIO?O}>xdbCciOWdGykKy+o4x|Kr#XR<(%wE}NK&ueVtZ6s^45?r%F zvmSsgb@=8aP?SGt-K;Aa}>3 zh1*8mYf(?%N60DOLb!WnQum+EPv1X$(H_Dxz5PO7SS(u`YOIEP!DVUuAgJ0cv4%Up zV}8gkAmAaa*vd#KZDAMdq?7lfyL(kAzbBzSY(*1uTF6LKsG%*;&8o`Q`e!quZ(R+kaso`ZsBogt?0La%&wR3^hkBF9(e1J~q7`Z5(zyx@LEx z%YnJ^8S{!99gTmsiZ1+T(*?MR;fMa3qd3D2amDT?;HBFW2N0C=H7#lEmg?hmws!U9 zF(EbLoTQ6EiLJ)b{!EP_a2G--&t&?l?9xS`vD}_33)x*x@iPN?i|$yxfo`8j)sBGe zSyEG{xdYx4>W19KV0`ANfc!eObj{?{Uc$^1>o7mqlZlEYIbv-hP89dg*_g;Dl!Jwu zPn$Xi>C)%{D`~p%D;+j+Mm9hTy0#fu>Z~a;TTseFvG&dgTSJ@?o}YL^3E-Y%PL|y# zTFw5gmX*9Ykh*fX?46XpK#Ik3PcVgKTan2mXOjda^Yt-Gr~^NA;W zziYY;?`Go$vw8qwmAiZD;|p*y95ZqP#~qkMzp!PJ^jPJD&d_lNDksJ=(1a(H9 zM)G+`7Q8z{^%~FxS(&^aUfjcco8z_qjaP&bKC(#iRA*=&xIVsLc8G)M7>lbc)%q;e zIxaHP{;1U=aPHdE9^^5;=9Ndu%Xj!lBR#xc+B02xGHvmtH&X>na|*3$VwFEj=F3~j zcS##4T3$$wFqa&_9g^lHQQQN*h2(LF?vi^`{;Ed?1K9kQJaJys;GTSEiVP}o!nUez z?Tt=vGYnjTym}d$@bfCu9Hw^D#!e@JFB!nm3mTgwBsQMRFZ2)q4BvY*mnpkyS^?U)Dh8P8+80WKRkPO6_)PlR@*Xq)x8L z^P`A(6TR?@^a3bzD^JMDA;~$n@bN${q9ukGE?KS1fCzCi}R>M~th<5}c!*Y_C3P{k3 zTFb~9bL5M?-vLkwu%aoA@8&F-@|j>tlU6O0)5hd&O&TYk^G2TXEXGsU!*eE6Q$VBE z&!6C_0{arv4}XU%c`*^h1{X-18LFxUfVojmZxq1|l6O_e-dnsyszwF1fz0ifHufh~)>RqU^?-SR&A zJSf$rb$N5Mj!Zaes&hll)|d@%;n|Oc*%R1Wj8#UBVraA-r(!pQ`>T&*684h_Thizm zl#h1)Qw6mW43*@lGEB;-UrA5uu*p`ZD(<@-dVgv2`;TLowX4Mgo$R=hD_<(t?&w&v zp64YbXaVDLWz}0z7&Z~b!6r(SW|E}qNROm-3*rlG&gznVRA`FW_-m7@!}s&%L4{;} z5B$l_X4-5isbgnWv<)M-^B0QSj0V#XmJ(X1_}HAbiT9Is*bM5f41&T zt*(NxJc*3`)4wk;D7I4Q3e@s6RaNqFsNz?JWYlbbnX!4A>;B4UK!6#-jE1Kw2v5}( zZ;hQ(E|oU+X2ZtCDbMc8!8D@l|I1IX&@b&JOS^z5#FZChOe(WK`ELVJ-OPv%{YU}o zC)2BsQ(ihMNOb(P7DbNiBgs&ij1TT9A|i9w{9;iMbVp{t`B@Y#b|cGc{>>Nxn;?@24Os^PQq6`_@WIML@Qj7YcZAo{_NEH}cO~Wg}bY1~arAeH`(xK*QXL-}a ztT@UWnHKBFO^5WFh9KISOU<20`=Hr`xEb&i5>tJ~qF|H5=DM(Mb*er@@=xX@6GnXD ziO!dcOd>!nsqGp4@;+gBv!H;765DO6s(!qlEaP0GQ#~68NM115eymQdeJ$ip0W9+< zGbT6hu%6Ur(#T|30<0ag)jJ@Vsr`lwG-6Lu)bA4BmWV7?vX~9%<4z3!t&s?;WDKxY zYoaENtk6+wzZMr?rbb$7X)87>Q`Ui<2Bm?%H`j+{-&d=HDFzNu^*K_dM&*?i?>n(i zIvBYO(`a(r+%surW>1^LEyz0bDW52+SD#0xdH-o@{$--eXkJBAq^)(bQ7c3q?^pe` zxJ$%VCgV!Q?Hv}GYLtF!ZQCr2C;oxx%IJntoo8LQfZAro{!Vl)v_rT-36@V3F)78UGLSLd}A zmLnjg@m?BUZM<9KQUN&lV#N1zPqrGCO^@T-o?Lw#xYDQnhEll>ANk>=nPj1< zXY<0dW~S%SHuo%SI4+uF(FhVVJoVXVr2T<~&v@79E0(|g#~_#S{q)~E%5qGF@o3wI zkf5Kr0Yhs|Bn-DtJ5yTA_yd5wNGH8UH>MkOMz#Q59N#4j`Xv=x;!EU=9BPE&{&%S9 z(faB34UBHjL#pe#c%z}iHG<$-V?!E_B}TrdOTI>qpZr#|{`j~lzbo%{6jI+WPNn{~ z((DOQ-!if|-qvx4S$u(ao~`hXaF=7aly~2?_MBn-j=u$rOL6`7D|>)SJ%o!5!?ugW zvvKaqn|{ic6B~ChRH|apJ~NxLjiL)GFFcrPxk%Y9wbZWOG@r!K`DC=M&e1gQ%*gxc zIR{RJrEA<(60tuMx`yCwQGE7$ZbpJWIobP8Ugs9aPf{Q4^~oIkXam3qbTfzb zRQK&lKoDG&Tu}YLyj?&ZA?tnA$yBL;*)9tG-5)wgo!?8hsPAR5*#$Xye04(Gx^xYx zA&61Ut~qLyMCDA;P6T`U!cZ^(;hsa79LW{|vL(?TiMgYwhXJg47pvFK=JDJIqk{2# z-ouie`5W&?+;{$Jvl<2Ko$cYI#Q98`v}Nrwg@+8yMd@V7o&s% zMB;{O1(&v!==RlFrPm_YhVmed*TNCO!bBt)L;$3Q@x7&oMmWN5A&)XYnO8;*d+o6K z@DHHC`RiDCa~#mIRaBPof^uv&CE(~y9)oy<23=vj+H_zM%B_u&gas*!xFL&JHBCvA zO*`!bc9r*u<%?04mWfP%Z$|m%e(NCg`Oz0*za%>y;OT$OI z+p;)XxKnh&y3wCvl`kfFL4*g+foI~?|4(Eo{7T@EStkIzRV`Hz&!dc~2d`B=)!|WT$lM4rr%Z?+7R%=ih$lzYswYp*^s;=yvgYOJFo1VxYKS@K7D`UfF(8`mz6_ z^j8T0lz;(ph$nNPKYts2+3vbnKYv8`f422J6+SQ%}C5d0mX47!86{gHoZVG@AI zbQyW*fA#Dw=G8|Uj_mc?yn6_~^XbKGJ#au7W(4mZ#qZI?>H&YP0_{e7y#noqd(G;9 zXN2@k@!Ns_B=G+h*nNS0h0zYV_Sd14NH!@<@!$jq|Iq}{`dIe(SlADIzdi4|*g|}L z;Dh?43Iyz!zfy=xtACZeztIzBLPf&j8~`d7|{| zGROyfB`0q=Kf!=^(}Yi*$^ZO&?gHeEcP}w=ba(Nf@N#wZ{Fh7tv?a&AZLF>vbUqKo zIPYYqf2B`{;kHQgFonL8gR;}|yvQFTg}!5g1lUC($sZ?#d;W+BI)o6!&DMbaCk)-i zC5k9}x)Sge7S#P?O_+56`OgdGJ(%?|Ct2UM~0h%&1k7)h(%)T}!kFfpn zqWAcG1(E?;H-e5gsqDhy>?Hc{tPA9+#;X;N5TG?uU$KVL!E}J`zk}3_ydg;1tVcTb z`lL8L5qQRj&)eA?{zp(|ME(s^TwQSjEbp*R_*h`gp3}LdM>-E~c42i$NomI(b_Zac z*RUH_@(vxxr}6b`vL#z z?S;H&Vsq3aO$qj5Y>Kq3&G>%2Wn(YTk7I1iyuchlUY(FXKY)2Wul+$x$suSsLTJg! zSv7Dsf{#M&0DfNLXiry{Ff`}9ukzqGW^G9ZUOGiISj^4GfUx={u@R-~SI&eYgc~d? zboNbu2>$PrbjZweY41Pl=!As1Wp+T5F08le(2}5qeZP4ME)?`0F^Q5;@-0+86j?ly zh@T+}!LP*7{dzCyWLx(G0gt9v%OMTBq?#oR!YbA1*>bfBd&P1!osD-}J3+gqW%ZB7 z=0_u&isolti|eWD ziuaRb6vZxP3{6@~Z|sqalt-5$jjcpG5XiLtvq{Vl#>5Isg@ouH^cM%5&Q>fz?P;=- z)010KAc&e$WdMvPV5B@mkr|-b!q0?a^gKpo;nm8Ijz~68R|+XXjP_ze95pr`=jc2t zNg8#UbK=ho6^U<05%oIlI7{?2=0Lh=&Z4PIgvY+`j&^`_jGz|*si3qpu~MYAvb|mQ zX2K-IkC++4#Lh|BKbKXfP*6T3JC*T4zO4TAT zGPTuUGin;9C*7q8QvL~|aVfa4W9%&8oU(+iWuk5-M}-z#u|oydlgZy5e+7zYkrR^| zlfeV)Y1WhB2Bn`ZD>697y74k3R%}BC>0u?|fCVaRntWnc>?7;Q6zsf-%^Wo#YE4lB1H|gc49h}^#IkG6t?#El)`2QPACa+7rJeIbjy-*|MFy2AZ9M~2A%Mcq&A68 zRJEN%C$(6+jR+R{>2*x7RdYysw9x2b?5PGzp9DBJI;rN}Rm1P#R6qsue0ls#`0sX9{5sQS zcWFXOjnYcl=dcjYv~f3cR{>59&6#|eJ26}fpK7Kb#t18@^jOL{^+qNxXQb>qf!W|e zU2EBwIq7=#Wp1`Rgu4o3V3|jzxdX0M+_HK=UHX{Y9s_BzOfw3shH?fnH^myoL;c7` zeR}IsmVek}13+}Df|H`pg?GvBnM2UTiwIA82wrlSN*lA!6yQh>twqx_w{Hq*#n4Dc zqyd8s>ta+0+>=sc+BhnAdn=NXEf^r?uJtdR>n@>R+LFIWKYkeOT;EVpTJu#i;83%{ zqUzxQFdsH;C9bGWk?4y^{H0qJ=2fpn-GfWfj$UI?1(;}NPAXT@+US${H33ItwGi5L zU(^`pO~b{O<{e3}DORJ^Avo|@CfK|R{qNpDaUSaH#jDCBI?7~qj)~NkC{6VC4DF4R zAayS{XtO|8>mPiMb1klhzB=|GCJkav+%r9 zA#;D5;Hj6jjsZ={(^_mCX*EsTyTw}AG+p5W2x(9-`DWo;vl*CkbVd$1&gm8o-Krgd zgs9aBEpsf!1o!6Kxw8s$bDL}4JbBfX;J4!hK1F1CHUipR9G3TBTIV5C1}I%qfBXK3 zKq9bChEz{qNs~nuojTHE5+bggF)h%2QHM83hkD*x5hnIqaJey@Y!(i9C%hPB0y}2_ zXSIIhiT(7MK$Py>0g+?*ARTUU&z1|tDL2Y~Om6av?K075t(S>R;L-JR-m+~$s7n2& z5&kr*l5g!35iQWV*7`BdT+~h;c8yYxefT5DQ{069bn$!H zsA$Y9SOxfk$_+~E#zm-qkeTCLp623PEE+lX!CgXjBag2wzs>m5@1A9&q_GeBACn!v zdPe78E^<%6qEYnN2kMWBk*AW~^Tt``{;OIvW9$R+$K(?P2r!l8%5!be-6wI!55!xI zt1DXL4YF3TjaQ<5BW(nlI5n4b1WL4=>3xrM(@l;>CJ*%>TP@`YaTVo=8%L(1`avAh zzdoEV2;gpzMwJCj5=JD9tdwu;P8%)ueIwchK1M`oX)J zA;l0gqTwiM(x*CtDr@OFweInEF zK`&4_qK?lH5UKT6VYLiDw(_{E?Yw)RkBZ{~sOJxyAw0k5(VeMs5VE}QSY+CguNdCV zV)<~*L)>sIK+xGkxn3|2;s$#TZ=X{@CE1~U+7*X#*-~tK+cJO9@$q2R&lg3X+&gYj z0%0*+y%yHKD6kE*k66DJ1>0~-MM$EfxeRn}CSgqq5%#eaQwQKkl#(dtIyLXGBVpwN zzSN_f{<9C#=8Qg!_3y}y#$z8qg_NeH9x)E8Z_2mmB>K*{YXVAMs* zmElO+*sA?)Xr%S>ZcS-AVwHDqfSa`bJXZwfJ;-6zg1tIzj#MQGp69hIt*crcymTbB zz>@sZAZn90iT|7ju{|K}is)3bf!0U`ER;iyi9SJyKM z4o~rHL`4K)y9d$qZ_t9ii3}{-IF|$>8E1JT7`;o6#1eEu7zKZH63B4bFtjrQUT+^f zX7P+!8F+^Tdox?%9W2DR@&bQtV1K1h0mt4Q(amjj`mV6WJ)}Yr8W#0*$8kJp6Ul4* zOx8#`B|~eq&h^s??9>fy${V0!PiqGz|D#DureGbNdPjC*UB9CB?m@^h->aDe?y00G ziqj=cVzm73rTH%oVZsO^<%`D-VD}7t+{YFjb+Nr^&P#P~$mogd4@FOpy~??cDKlkw z5+y$_{RJg(K49XZ8|vO*5gY$@sbZGcJPb2WZgrQzQyKWAyDNQfiAOmwls&`Q2!+X>qe;SBgPFiV$5(EZ!a+Tt&fOP^^9AUv@8j6v*) z-ofXF>ygw?HgKb3?&{fb02g5=f3@w2#7ns9I~hArn~1wO6({WW+ac5n5)`_Xh}JV_ zUjWYRtrLMgFMGU~U6RDZPv4rLjrJ1ahx_UCn0NAN1qV5AgOa-j z68~;%(AtMo=DuVI=svTm)2(>E;J@`@!fwuxLcvL2DILZlYPEd;AQDTrU=e3`qWByG z7#O!V-DBB*2`>7+U%?#(6XNnkL`pl`KNDDDscyqXs_RhQo#1275$4<#j*<0qZtosx z&s6jbN(*51XcW;%4O8K?zoT`1A9lY6YBSor(8GYa#?o}WvnYg*B8fUC~mu18(-x7EGZ zn^SXi-{Zv6^jC_yFiCEu)$yHUy5UO&|f!@NLdMb-`lV4P%a`cvK*spxhr-c1^xnC5$b5yh4a4_Ho#5~jL zI$7<0JGhsz-RLuJq|S&LZa+j{|D8#pSK*EGa!0x1A>lE$zek+%!BLKM`4n}XMq18# zWZ#a9vvth?Sf9gA<=Gi*yxYrH=$2${be$Qec$h*>#op0&4R*fJter69qK&(G5weoO zjq~Eaq;O`0dXI9UF2ruu3RC`Oc(tA;Ez1?({2oh z7pT+M?bTS^`t`#)GCOq z+D9Qo3j+~uG5aSrODUo$&a78E0OejC#~A#cO*Djt@byg?+ElC8_))8`xIsWV{z7DG zJ*^fEkom%w-f?E_<4k`l-QX3YgeA4`k^_i8^KZ_JC*Bl=MyB599T>`c3>FnCO{|^} z1WsuTgHwWW5d#H~F{$y-rxqE0mOEwqJgOOGv3IOO7kb$Y&uNnrqYy1oNG>%@Z5sEa ziM};7hg#=j;C7T?FA4iJ_GW->m6UGmf6-|Gw<-iT^YefB80lrWNV!tpApxkcwcZ89 z_AD-lL})KwPx+BE>D)O5AYM#6^Q88BxF1ZgpP-!_y59PDVptjH2=Of{e+V9@9i0&& zSr6yj+*FhVcM`%k2Cw*(t_|g!SF~mMw+bQ|m829tdEH()y$Ac=QjkN^$X%T{ExJho z*Thp3RSann2@q74L`SogmI#v3%V@FlJo@{e*VGtrVjST6MqkaTLx&*{ygHy;%P*;4 z!OyNQ=#OR&`Bw24@`Z=3x;?*r-q(%GJZ70*x`5<$nm~~Wp%zcuRKJBWDYV%cCaQp7 zv6B8Y5U~<}gZVQ>>NB`V!G-;qfHfdMy$?@%CZG+N4SyoVgE*b!+AWT$`Gld}xW2!l zxzn`#;<@}na?vsUu5atJqT?Dq?unh#Ko~eQ%nEtXUO;Z^;U;Y%m?SE;U}>JQls|V zKSI;Qc3HvqJ4bH7SHVE^>|((YEFO2k(QnjZ!I3q7reu#Oeq-JdGM=$$4=KK5-Vrh0 zYr!#SRAa$WFutbfC(dB-M>HKE<$yy#?92xri~MGelTCJC#l|Op*kR=nGU{UG;XnGa zaElU8ShQzGBB(G>A*TOl09VX6KBOh=lLo$r_`ZYfGkcV9-Z5Y_XW>?Z1Ry)$CH9pT zf=IC69ZCB5fvPAx_F`r5fz-Kgph)rsc7)Sgw$7AV>6xoc8_>YUNH+`cRxE)JHA_dJ z*JiFVId(kOjvR|T5Apb$!EZ4p+3gs`>9s5@Aa-IhX61JID1aQT;jp89WR!Bi3YZ z7`sdJQC@2VOk9lZPE7`Y2&UWj$G+8qw3NUyTCtEGvSyh~2U`@_xhu~2Zn`z!{p{$m zbBfss_h}B@IHc)`7U@;Gb-?9pa-`InhbguoHBEhmm2K^0A56o_ zex{!K5AV;82Og!vXsY)zKe{_@il%$iKAAJ7aJc`R)&^GPTJ?{4w)J(BhItq|iy?_ zgJk*bG3>u5EZOt}1ZhA1jyG-AsTg7qj~&W=(9L&=DD@2Rne=6f{jb(kaP+c(pDA?p zcHSga`ar459Teb=P2ouJz1{~Vu!rSaa78od_5C1Q{peABWifsWO?~Aw?NJW-I4*f- z=Eo*56h-(l8#G|@s*MAf+^LzM1|5(-5R^T*m}G9cgQXAbnM4?JC{o_$I9cEw{1C<2 zF<%ZRpsEHGVtn<{XBtj_@b6aeg?!5#e0;veSBn1b&@jXiBuSo?QzxzqDGDC0BuO|T zUA}FkD!)W0T^&xXaK_2xaNq2#D`KUL!G0jFq-D%vwcl)IHu-`mxC2XNt2Q+~n^Yo| zk(KpaGiJAA&aEmo>%bVczUZsb1954TuT|Xu-Dm<-AuWNLnu<6!HRB^#8gZ4n^&e=1 zb{7=wy4i7l%51>iSbyw_UO7Kn<@73F(co3+MJF`b)G2o$%*`Fn zW9wFJ1?e=+%qeaMP+t*UFW3**G%@bWuV;CrxI^{iZw1F%zU(KgBY)<(6LuH#``uU~ z?)`*MSH%63k=xzn%xmm-l`fmw94a@i=)V2~$E zSLHKu0D}3@2`8^122!iM5lr-@kA(kiB%(9jY^jrvk6>&zZ( zBX-ev`8V(3l+KYj{9DvJY8Rweu^IYT7l8eajSV`EQ$Ef1Q>yMZ#Z)S;k?wzafe?To z(>z#|=cm@AG{+*)F?e?fMm3T&a)}Bw-AkeR^tehV;r?w38Ka|!Jcee{wR|yU^5N1r zaD1tCXz9?Oihq@0a4UpR8cD-x<0nxMR38rgz{bpi4xKT{9u7r>d<(0wvcR4_ox4!R zyxD;n_)^_MQV8utX%56`HDb;U_yFlxlrhk!DE?ESdn#h?>i|=Kb`wl0i%a2;Q@#SR zdd28N1V~^C^cbx*nQ>>ZX&%ZLzB`!%O}uJ_`5|+MLbVEsR;9%KPn%OghsnZmbm}CY zgE5D3C}Sv3r+jBZ&Vs}MPs6x5t$e&J%BzBhFcj%PZOT8qaeVSp-K=2>IEg%->(vP< ziBiesZue1OV>3`=xPhmpWy+K@t8VwrDAEPml#E<)pILF8oIk~rcs%=x6O2m5>gA#j z$$5cBLyBCsK@<9&lOpwU;s0Z~gCW!CcV-qoYQT3RN)wSP2DB6Hu?pFHwsEQLHQ+Zz zPuJ2EDX9OnRt_c&Ph94PofV#}pic91uSYrYGg6o(X7QHZSYlEXcUEcm(zwK0C;6xX z--pRFp)2)LVi;q%FB@^TY9v-lq@EN0g$Z$Dx~?o^BJ=rT_sRHU4CFv{cHjO99oWMY*C{2{EeHibs z9ejpk)KSSnxFE_wI$=JJE3m>5R#%4i1GG8hhNaNHrhAtcp}_)28} zLZ7-*a{fJrms!(5x7wtdn@MB=F7bKDUcPhp=6*8RzAXgsKX)=_a-biVWUy%u*qFY^ zJu@bmch@jI8zw8j0MyrP$xmq9*nyQ^#f2l6s0*)uu$E(~!9#kj)?iPxRt$KS&b$ z)6t~PFQxRA&I_gS2YN1r?kR{pCm^H~&<8lFOUgA-9}qe}%H z3$et=er?EsPKT=E1;nvu7dk?)xHl^+GW%IS{2 zqyleo(PE<9XIHwI!nf2}Kb#Ua?SKPf&O|Uma_K}$nb7(ob07pa%2<1PzmK-jnZ`EY zEdJ>jCbytZ-&F_T+@$llHevAe0j@3c2ds*Hcf+2rC`dT~cf)bWm}=&OL*6MAgnvy3 zo1>Uw!fU-z$l51awy^6G5YJhSIdgy(gZka~<6*H6@KzGK3@rPo+-=xSP2@bJ)dv|N zQLkv6amYCgsGR15fFqpou#C4QC45P%*f1SrmiP@UOIU2_O4*ua_BP!l?-k8@WMvyOzt)2MH zoVZM{J*M;kG$9uKRa&_6cgRmJ!jv~NCxIHsgHUK%m>HftkRZ{L$Yv90cmm)^`-9i@s$x4$VdMF)NCao zEzXJ7R8Qnc*3n}WA$7$I#^c~iE}fZ+G0QCZlUu61t8_Uktt&->muc!emh{;kpgYWw zasP-Yx<1&O@i79^m7Sm@y&K~s)xa~q2nxb|$;`V=oeiKN6?CU?Wz`m%P2rGCF3zwj z0BJ>_h%96QP}UOOSi_NUTgBpFMi?S|^rVS@@1gIQ@u8^0R45;d$OmYc@HQRwzeusz zdHkISf|@IM`JOz65_Fw_&sEmEDHo7!*a|~v3Qk*Sq9YP#Ve7>{SYqiCU0U!1{*+eC zRVQdgEMj;M$f~;s3IhV?5N$6;us7oq02o#DaH0tNXjeWNvx3 z^XrHQ=SL`MNM(`EfOVB(Gr1KEi)d$w9Qttn#)p5@6)EyD8KL@9blPIdY1ukffcgj6 zlBc5Mtn@~@0y^~^-e)WKs!UFWRC1F?B=p^41B@L@N((rmG7d8vm1cG`FO~NUXWEq2 zp_3d_KL^I$oBbQ!egY3}4MUH>S$*K=!H;aJ|1SUKR}9jCTHe@Ah_ql(N&0&zHKXr2 zY@^tX@eY5Zpflgd@ z=q$$lpwCq^U`Tn0y63lHhb>#9Cp6y9S3819A zUd|Fj1qtkSgXeNzhUFU}FSxpC(6>A8xSuNxnOXw&Hd!RVOyD!2IO1$~0go)xpJLj5 zi0|B(44vXTEZSd#3T3ilh+zSOWH*G!PlPI+f0ohQ@fi0iM^Bm1^OYE2Sg@R&jdSMP zLhZjbg=HC-4xH%^Hti0<|A_;^+lgi?>|2B|A=(e`px9^?^^+l3z}qXSK&PNh-}!wd z|MoF{OHo$yIBP4E9|R=309KroCOpqmmzL!3{=<#O4XB-qkmIv@-~F z>d2xsDuZfYc5)BlxGn(VGfMn3g8Wm$qNjjv9VNe)_7qj+m|}{wbguL#>9h~MPL!dO zzBoe(4Bf-(BvZ?EF3jod?f-`hY`*5bFZ!8xY2ZLWDE{A>a7=)W%Az`!FTwUvzXEE^eHM%eQ9<(B@J@QBqFWXaW|aYgSU_J7B6 zA58}9U#aUSWWO*VVXozz6{bCRPP+I{_&-K^dbS{H5e=Xg(-kCGbw{R8lMQa+I2W#0 zAqIZnv-*@LIw1g1;@am-ci{=m^sJf3*lbqUKf-c`3!l~%H{4grDol+^Whj`dw@3;N zXc$rq7B$&B*-r5oqPd>r|173DZ>+P=R$#jdinO)k^WHjysHJ~6=x|LU zBeF_mbHM>mbXfvA?ZfD$(?ya)_LuQU((ig$4_%q8RzKfXrDd0XknHm&{J7Z2r9Zb(>!ms7uFGPV(#+kC$Ys-vDLiHo`+o>=L5h+%xz%UGk&bX@xI&;9} zvvL%#I!DpPAk1roxfc_Fkd02CGVzXzTCGHd#qB>ewCmyub88@`0lG1Z&(gN)>7O-` z5G1y|>FvMCW4T`Z5+J1FeDoQI@Hplu!g3O&B{wm{ye{0P7lR7gksJt* zkO~M$Kxq*4SHZ$qt-I7xWg^K<=bkY9y+(eYvZ|AOX!d93FGE?^C3B$z@ocA4m!GZ$P1DbYyQsNl9@% zSDO4X2#mD0rf|eLQT>4!YpF!?-3`m#7XrMi4PY*{lBtQw+WrXYW)HzQL|IU-lu7%Q zD*kHldG0kf_#JtaN{I=PMhT59^t6!|)H|x|NqfCQ%RFCu8|4)0&S4He|6XtV+hKgAHezKU=060+4NLYrC+<$f+g8nbJ!XAJV z7QJT9LM;JY5vz`b1I4}zRl%JKc{mw-_ZWf&j`z+~*b z_ExqsrXnO4uhsUWIxxJauGFjINTTpRT22qK9+WAD{3o_>nHth8PO7QnIJS9%Bb|*G zR1FaoZHsX3lZG0xr}BUDj9}zdJk9}_d>TtE!OM?6t{mGV|E}@c{FA#S>H@AT6sNujbc|g__T}Kfh#A@T0=Sf(BXN&r@iB+xdns&4m1Bm z<5I%yA1FqJGOzbFC960#44?v#154t0Lrn|uR*LM6GXJ>4e8Dkf$^FM?p~!;sik{Sp zj-@CXJSx=onStWJ1Oe!($knIlxF;~lV=TvOPqrNPuaaQXJ1R7BsURibW zI&dw%c8!+eI4O+^av)2D6l_My-VmyPHArz2c+wrB6HvEEj3=>tVtY$dF>_5?c*)02 z^=LNsaDSITRkH-p_E`w48OLR*bKoSIK#a)5*dVU#J_yOY{ck#iTmfoJq3CZA5Jm(L z5c>Z&r6U4_O^qB~{~v8JOI^niO&pD1o&Yx_T8M}b3>;~dEC}Qt0hHKp%@j;3E;N8C z?aDSp&U|@o%`gA8ml8Cesv8|5n#3$g&Ae_92$&G8_`F>ZoFM$JyjRQ4UJDAg70GS> z_u>9>wa{|I?{o8cyVJ4*rWrB;3M*HlkOHVSS;1E4Ig)Ovo~u)tS13}cQsA>23u(P{a zPx+!!kajbgB1+SQ#e?}RGWgJ}-uylg>mjM7rsFvcF6sgmn%yk(moUfm`%~1C$yqy5 zZO(i;Jd`4*I1c9FlEMuWocg{~9KTZR^|*|raHc-RKI;Ruv*TY;>v>aHl?sXbO~rQq zF2Hd}M8O?{jLO%^6_Lu;(TCCG78C(tXOCl7;8a1_IOfLxu>KldT1JT+F@e01p!Vaz zyP)@SMQMOMfR{@WBqCv0hLv8KrRFwkz^X=b5fRfZDpt7v5o=r58}Zndpc2u{H!52f zgicucGBdKoDkwxZ3Q{UBR09pxFG$)N&Gz~fXZp=^~zq_YG7)s?fn zYlOtfIK(JQHHh^hpKz9qz-IpNBp*rg&?si7FcaINgdNUWjiRX%Rz-x=A?vW&4*P(n zo4nXSRmKcD!)=?kPuk)7q`q6S5qk7e>hV+0^1+D_AR?sj_gf0f-8Cec|EuS< zI?Ik49#{>LVDHj1l4bD_GBqE04URYR zNAP)R!PmcQC0TAFs<~hx8s#XjF)}%b-EaqiMb(&CglBs(Y~fm|SI*8=?-9ZIuj1=d zIs~Y_#GjM@g-XPUxsZ8Z?~%jGI>&J_f=L|2CY)$A!_w;`v*J$veIfz?e#V>csN=@e zKVcMNEk6Y=wAL@GNe434FV?xR^-DocpCN~Bm%02V_i@`sPBJGT-;nyeQW$^qHpf?E zC>=WJthINg{(}!|o=v8ACbU+tk)7_#ljG+# zYCH>8$gp-7*MnPVW<8oJuai01+55sco>%;qH_JOKS#ea)>#1hZarGE-k-3vc8FvW~ z_oWj1?T~l9;URg}Et~L=c97Ej!k#$@*~lj)1F8}VCyuA)&~QAbhTzvcaTkO1dLt z(^wlNQcD|VEkY>(se&a_bvd5z6!AqU)IoMW(2_3X6ks;qt z&`|aXT~*a!XtE2S!Bm0RKs{aL@t5#eB}%dKToistJ0kMEHg#V);^ooE(@maGU7hiA z;JhY`4JPLfARzGoAo!CZU14s7L&Kdu#XBj?ufb{f%SIYJN2P+L7R06%)IgaNwY%_| zBjR401RSHrux44Nyl40)-No@gxoG~{xbCtirvd+MkZTD5n>lmxomf*bb<}x3Tsi|{ zF4_mJtTR$09jFR;I#`er`XK%BA{@zNb=j!lg*~~M<99^~LV2ypg!C&9sp#jyrfs+56fPv|q zI-Q&J*m&1~U}ddLjh8y#ts!haWY<3sTX(r$0)ePqscz_$FZx4P%6m!m8mt}#om7D> zEFL#70-ePoDj-Ku%4pw#X8Gn;Q#-3nTQ3jX_rl^T12p%p>?ZXX@S3p{&IQ5u9K$w( zr0#Kar^P4y?_W$u1z~$!+D@Q4P7(Lm*4bv*f;07itw=pSd&urV0`JhS))1dpWXM}o zCEwyt*!4SFxX%!-FTcT@(_Vwj56nplE;1U!Hzxzk!R8$9#OVXlAqW}5gMfYPqR2!T z?=w_ync_c4ICgD*B-Xxr4_1%g|2vk$Rp|Hb|$smj{^AjkP<>iFw;$&1m#21@eW9;__0gmeU~7Fxqa=ZD=#xuD7E znXnP3$p+x=qjaE~FXIhksc_Y$*rb$#%liY+rE1M$!MzIW#WFcfOoS2!r5uhsAC9*l zt~*}3-@ayQZos%;bqrUXAKKR(vjCk&ocueshZedctoSu&Nt@aW9I$Q+cP^+fK|$S+2(J>aSv$dC>4) zeM4JD6N!CJU0w~h3%3p1GQw@iuA|)CKfAMno!}t|Jm$Qwq@aP2YcyOmOn~?Wd#&y| zt@)iPEqeyX(I!0S_X#x$#ZrM}5Q5Nrqv%M%9AW#teO7&)C1E)UmBzt|86QjN?2zL=TYkt)W4kx=~@O zbS#W;yx;*bX%9#ZtcY(~ANatNq5hXrG?>a~Eo6{%0&AYmr^=)g9|~=5^T{o?LUZm5 zL98!(fZSQVU&l0f0ZO{nVK9hG-QGjZK5WYOYb)*!yaC6{HDm;pOAgZ{W2L;@VfD}_ zGT9_K1Xbl0$Pivuv!f?Os zAs7F(HGFRU%^_Jk)_K^%aD*RU>Q3Fytn`+2(PWM9(8_a(?35!JXuBFmHq9($GjIT<^XIADn;2~iLse@>DDAl=Q zbO$)qs1Amx8)CREw*+@!-eIv}ga@db6uu#hx8!#S*L%48Ew8@>Q2@h?uSu`Cz9V4! zgd$;F%pp7#1BUp^X!StvsxSVJnTicWIAksoT+%Q6kb?t{9?Iw(;DPh z{$E%Bzm8tj1?jD-_RQsL@0B2@PxP~D1D68*)lZgJ_DggQDF9sLl!$0N4vrWF7$;5j z9AI}90Z~gks2?XMq+9oQv8l4+qPqP;dwEN3rC$A>_oSQCVLJ#q=;r%oWYX)VTj!79 zN%n`wTd&CMd-piAVDQubM?Th!LnOIxR z#cQqfU2@yVRh1&epZX{eJ+NN)qxl0u%$O>5P^a*(elZ5-g;r$B7C`a?3|U46boCG) z4Rc)sJu09fGM1OrAtaNvXWCqFOQmZ(@c)*d`>Xy2p0kefUPj%uaku_5N}ujE5oEe0 zT(q~ZEzc`!Z|*M6&!b2oScb^pn3ibt>>c^R;9htUCHSA&5AITxi0g??MI-*#~HK~#$s}m)q#W}Yrh7hSZhRAR^>&E+lX5-w23uVP} zeU%^>mBeb-VZoZizpSpTvg&)s@g~J08$oO9!?rBfR_kC0^I5V6s2B93RM5$g7hoT{ zmjpw`M9@N1UUV8#1rzdh=Xh<1&+(_NLQcKZ5FqqR>RSEIPFkc zRtCGikm?v_wF=M26fO*`Kxbf~>9M|8VXs8UC$iRGQnXVtgo@v)Z7-SwBZvD<&|VHH z6R%nI9(J)FH^tlv;QMV0J%5Npzdv4aSBFP#F&Z%Sxz64fl6;&-OqU(AU(JA3iohWc z`#U{d0~~DXD6GBM&7bGrPR#&mx3Vm&VgHW^FZzBec|lH58e0|eXx#HY}6*g zMc^yqT?>CXQv+4_TvlJ**ic(fU@|7u*4H+p1y8l2T#mTX#sg1!;VGKhd2l{8eFlH^M7PC<2cGl7^VE71TtKZ~L~zHE z03LYR3$IYUi{N6ax8H={S$D5{p@3do3YXF2nSC&-Hnpajjt8&Ub zqU(P{w!mTj27gb4kKvPp4CTs@rike#dw{hzK)>&lP`Ut4{BV?u>h|JyFjZL0pgRs9DOW?I#M?AipU`afIse=(ubs{fk> z@5Ab86HbE;Y>JGIcc)`h#u2A3W5==6`nZ4li^w69Nv5d1VL~G;rS=I}HO4%$>zd4K zRZTKstyMJ{Es%J#jIj(%ID_@1b}4uVXHvV~$U0q8Q;ftjVH@j1jnnWBZlcD0;{_z# z=9!22P|6=(h-jN~yp|m-)5|hge-oM@L}LuJz;%%HGGRH(rs?FMwR~s`+`|T={%U^= zG=)$_9g}x(U&9Y;^_y%68|r1bY#5FU0h-wGc#C%{O%KaQuQkr%J5!Fe?m{msU?WVp z60V}|N1;6sOoMW&TNL#NDjTY!R5H$@l4DJ%wWwsgt5e5S zD2PWlT{#OTo5&_nr^lIaDy*hXOS*p`y%_ap!p*Fd+D*YbxP{tHMe{e7^x`RU6K-JB zs9`zY!Hv{#1~PnS4z|}!wp!lsI9lFhGg&2dGs}c6u$8)*6E*vFEtAc&06QO5>><1_ z4?|6tP#;{cNwMTGqBSG_|am zzX~aKRYP4hN$ql?!PTse*kO$cL0C!SG$2f-&Z?-GwWw^a$=1RtiO`!h#pnLG-Z*i= z$*kFneYKcS4OP_Z`cD3dZO?z0Y@@~er{Vi3uC12~nrc1l3PhHRaVN`<+Fam%77(hj7e1>~gJZtpQASB~A5Ab`^hOG*DeVuVqE3 zs;Rcoj!edxcDV~g?%FujYuL3!VVfD0;@CgfpZDtTafv1 ziU(P5RRKF%a%$dTrFHk;yU<_W+4jQev2E-oLh;Q}hu@*VTP+H_4GkvJ(Sh3f(2U?l zl0R{9zQkmAusaC_caeWik7IV5Y==cot?{Cxv7rPHy9W_zPbf+w_gOS@KXUv*0nm!T znibW7nZf43$^eNM)J_jlC?;CK;8pj`4-sRHL)2Y0oWHR#_S6YXmp#OG_B7a|C?;IQTD~SwLjos-wV~#0s9#Wz-PC{9k?zs2OxDiYND%Gr z>0#)1%;>fS6Rp>|PkWVbCF@(4h}!Wp?LQR;@y2nr3kM;U2XMT zl8K>a$7FcQG8vv`u%`Rm9Tyf|=qo!aT+-aIrnV}goh?c5te4%(o-<(sY$QqW0y3Q) zMR4}ZM!5}*Zft*~;F@1zFVl)%v6L&>(vdYsIC(#D@)-6SaptOE)oQzs2xn@+{(q4u zBtYI^e;}rQlLT*Uw*}JriKXqrbH6lmeN2oY9kOqzel@BcW z_7?_yJ4INd66Zrp;(T;Oy5JDD|KGgq&+P9eG(!tfz(0TDo7mAntcQJufVCG8oz@rD zwEjs1R9)>-AMwrq@)&O{LaDB12;6_Me-r1BZ|Yj9yNtrwH8wO@aU>C)!-Ww|_6z$p ziT%ueGvR-7xPlhkffgd|cEsIQ-KxPxOO_ zHZ&SSK@+Zp%{Vij$ROP%lJv`I!Ma9-6;DF{u!;&8^mh{oF1JBfBpFK>=E=N=mz%sN z&bncJeW)b5aiYDmB_{91dn2lND%#U1VNuYaw-SGGV09Fw)QK^TH+dRQ_rmiWJ?TF2 zYIrz0&?f1=PvRMT0P3@Y-+Oo#0%TPnREcOcc@FQL#IyMzL{+_( zs<95X74pJ9bNLXeHxyS*5xsFdk7NOX!;*Tjc3JM>?J@$OpXZ~{;|1|p+a0X%@DYg7 z>e_!03ZHtMkI6^jB=|@^8kb_nnd0ucbc(fWN|q%!%sVnc+&#IC;2qB=c;RS1k(_s==jLE+;>LpRjTOz?j*lZRy6%5HURaBl@u_G_@e@p#3MbHjr3MW=tP36q~j6*BngsJ^@0JMr){k&GfK4J3=~Eqarm zZ8blK!KZmkrceL>(E&Zw=4y9$P`j_ukHi?`=Xv>A{CpE`hdT(k7f^txroN#Gm84PK zu&AMlP+w72GNo*;$uH3XAO1TNPNqA~FEe40g_SF;P=C3}FXmTKpI2i+BdUKmlV3}L zrhEBjyu(*4gI{mLS#UPBx-ni5F1m5;;ak0Y8>ip_-;8K)v2s={z2xBS7VH)Kx)sez zs+An7Ygj+OwrX|h#;Q6bpgXMBcOqf0$K_}yCdWE7&s`7ILw&<~%6Cbi{F2JR8Z1h2 zY~n&I!k@s=Cr?3DW9gmJi28r<hdM)2YIvd>2(f|5k=-Ps6pglTG{z-%ZxWZrZjFY>3*rkv(XW z@71O=e>`4LJ;wO+@F(Bg~=YrsL>a<0n)1Oc{H4>bo24BxeQFLcBSYOqE3|rb1tftuo>U2uYWKuHGOsXDH z%vg3Fk>o;})buVC%Nqo#Kg3Ihqv5JTmIXOC7zmN*c#AUrD$2_$=bu8-a8@OQAqR8Y z!7Xv9claL@`P=+m26=yRq-LBZmL2*Y;rD$?-q8{(c6IT#9Xc6C(+Tz;@V}5v^;hKN zrr;V>D<=QQTKUIB<1sBXMjSBC#7m$Chnk<~_Vi<7_vPhCjM0g7KLHi3w&C&Iqj+hJ z<4J#fO29y0&?v2#HLq++eD5P}WBvvIXCf5wFOj`VXI0KGuUvmnhHm2jY1StHH~&u} zWbv<%zGk7KH2F7H@Bbx*tMTN(E$fhQBjkL?zbEAUfLvWNdDh(dCjZgu9$h#`TD)Ua}8h|DLWE?8gFyh;bV?DfwG1{+K2bk;_nX!c)3kjxC30{H6)Rl!gOAziHs z)KMo$gBJg3PM?2n$uVAAZ3;yjr{jcyR(t8Rl8TD5$`jB`5D6LpBGD8=%L9SFRwBu) za@4Y@uxXdUw6=_!%GPN=O3Sb%43aE}=~t%cB~lO?qBnzHIGsTKxwih-u+X%IQI6{mhAdWI&iQYIAWAH7) zW>GM(+7y3BBc}NhaSUxHA_LTt=5+>jN_4VnLw)7JD@(|;)_?;YD~f3#a_!w&mDHB9 z-dvK$XsEYlnP|0MLd}m8$5ZnXgrGBSvaT9x=}= z<^!4(qNTbqK_HWDFKYv4VQ3!d{}Yr8JHjS{xCZ4vx%PNimHW-_EXt zebj%5RbH`Dpnw>g7pFpZ=E3)i)ie*Z6VwVSG(|nG6iXV2z*@;oy1HYqq!QajUAQ?dL6S8n zz=$OnOzVp8%gc|*6<>l5zBr2{#M#D|%*qp(n|0_twQwIo$o5jThh)Yn{tt3DDAX%xZEZaY&wjTSb z4o1QPAqP;=OuxebDpK(vKy`X?I6!so2jv;vnBp3u#$<6V$_7;KrnnCEG>YTvz0iM~ z3cXl3s|i~Kk#e_K@3wYfPj!(N-@6e>HqaED+R#+yWE~!S9?F?z*@k91E+%gAid#u$ z^{BG5G3IJO(^h;}=?nIDP-#p9MU`Z|APpIzV3 zoV^kuRh?a1JuyK%g96X8?sSrAHD!zMW1f6% zvEM89iPtC{2$2<4+;5=GCTO=H5o7*4)%mUuDN^ZM^=GT<)XAyE+*w z7>GC;p^}xfvnt*rbDE3ywJ?8#Q`4eHpd>}ahj*On!D@wYQXVggKFXn%VGE@x|~SY zJX`#W!TC$J1?zu;>jL%7RBT$s$*8YZ1xTLhvtQBFufch7L!Yj}a3!**Orc(S zq2$b+x4ssQ;hBL(l)t&URj%DCH*PeT0ypKROqG2SAxWmu-VG6Tpw5(iwbqmU=!8&U zwWFX-nL%vFWu{K}IviDVltbiDv>N5G$d+8pdyhoFO`s4lWj<2B^vePru+pF;wUbU} z2ic9C<1G`k(b;wAAYSBRnx&hF6BEhVM}VwpL=n8o*3X%TXrvt|YbsGE-Q>?A!9syN z#a-!y|iiSY7 z!@I}n5xW&Z>tb5R#f`^yw^OZ4WC^WkGI4qI6^fxwFtWpR`FY*%TnjC$6I;$jj$0QV zrWaRb-Os2)@uk%&H>Q;-%Po$a9`CGiym36T!YgMIwZCZZBa-HmAH2> zrUaVIfZyiT=&Lh#TC3*3j<2d_2T|1D|yNZ{| zI=O}>Rd4d~>}xL{DN&U4iC5Pno4hha0WQiKMtM6)wh*Y+X)i@HLSb!ng4}S>2CtJC zd!;gs3+ zq_Yza+9Nt#R{ivtz`V0pFE5jqd*!9_3ffk1?P6=^W@BvblRI^mmUxxCnpSWPgMK>G z#AbgR%`UU81C>Mv6t|O`<#i+`uSYtla=JmC*9FDFY#lkf2`h9yxxCE-0ZOO|MR;;>OgyWre(scad0DPRA2icq)6)0{=Y||U2S&rHRcf}r zCwinlaymTECXf1Ri~5iZ-RX2Cp{aHlH-3NK_VliDKM`_s%Vy4+UuMb&ElPig{GFIY z@V;HPO{eWzonwjs3qWE%xqsJF=*T@l{YJa;OKm7{CQcDdUt z!*UOU;)61Hk7PSr?)CC*5}jP7M~*qjYW1e~z(Or`DBOo=;*Tu2RHGyU_--yAvHX9i z)RyTprZ`cj-^=G>zQSXn%p=i}HG*qf0wnKW;?H^Ii}Gc(({!(ep~j5~@>Q(S*c4n@ zyMf|3-3|T?v)39$)2ncOgeJI)p`=(&h2Dp5 z;;*!uF-*RP_OK3=HpGOxX{SSefO3Bz;w0mkdY=SgS+b&mGO^HP!`5i1oL8 z(ysJvWYYjWjF05Uq;>vAj<$BCX1dNzoAMJ&XZ{1*R0SH5MVmL8@-uQD3gqWHvuh2O zqUZ2Ws#qYuq=1zbwAbc;U7gMX>;kcR*Er^+W`t6okY5preeFKkqu+Vte{p{xS2lgZHO>cfe=5DEveCQ)vn+@3wE3-A_X0Klrtk1R#D2l8g z0utmeCZB`7io4}+v6GM8IU?}Ei4raMrxe)8ixB}Nx-HdYyMNIQq(gyZNxaxm7e~lE zN};H+#Asx@ael-nF_i~>0%d=w1p2T8C1cO)e2UvtUL8qMNrZo@QtCb;X{uzM)uDQj z*lKF1qN8@5&-458;vVRyBo&pSdQtPa)hua>!9jyF}d z%0XjM4RS|8gONyHXrz7iH5%Jfxu_QF8?skLK%Px8^K2WfNRKvR6Vy#l^tinGx3u^y+O=VRSXB`Ntm`R`ExOs;KSfJE<6jN8yn`_*#oa>VsCO=9o_p$4Y@~#~CW7BXUAjm8wqS`xNTYjA&nx zoQ+6lrmC^3AqszzOBT$ZR#rK`ytG6^?^FwVt5HgHA>8O$z){!pXwW|-KM!Z zfruhMafPei@K+70(W~m!T6D8w@|LWiQMb~Tu$PdcbE2vRmFL{D={Ek?TPxUL3eb^d zb(;NQtLj-T&6dF)Ip(C!(8rwAnbwY9Q;?E*BAaIFY@L7Kpw2;c7)_DOwjI{&x>|I? z64ZI|zE@|nf;L%7@!q30(MQte&Yd+E5!of{IQ3ClU#KohR2L|81P9nl&R!WnwOO6* zI!A(~2?~9{zAhw|&#F8n3XIFFZZ40vZ`bMkxkp{8Lyz^L3RW9gMVLF!u;lY&XTlVd7o!nB7!2TKZ#)7m7%(r$kUuTTh{+b*TGp zLTNw0d}i6K1@ldHi{2$rw^AT84&TR1`;$}D?L?$^pf_wuqq|U2hujvhjgH)I$QtB{ z9jcXh;%*bR>#ZSmFM`&|E7Ca>hwCPuM}RoHUp;?7ID4?0{5hTY^I?+wk06&@E|s;x z8u{9s_O7DesEKSI9q~>p>a1Og4r;3K|DiQ`g=#n2%xVw03eE=v3XiBCL|Rj)mC##AMPPC*vj8M#A z$kvB-|6`{|A5jW9Cque@Foaq;>Bl}BaV~!lI(a?GI&SDV!s_qZNmifWkN5-rz(eFS zqhFk;ch{&NQ++|apP~L~^8NHJk74Rx_}&^sd+I|E3VOIKFxOU=`j7gGAosO)aBYSX zb<{;1z0>)-s+3&PsJ}70(v%};BDpH=S;L4=7jsz1qtIcU{(p%RX=~L zUtNbg9mHjJDsd%ixTz$hdn1SZd&(TKPCG|jm+X?#8O7PoZrj8JgOh_Bho@ZG1cvmA zrwnvndlY25QY*2s2iYy#an}=!M5LL5Y`xivZ<8qc)Ix2OX^_%G57Lt=rXUvAM7~Ms zSz*1VT;Hx*;-suEbws7?(8I?fmy&<5HqwlAFUvLhny^Gi1`KpXd!f79NC*7_8zN?r zktsUREHe5dXRooNm6nUHzs}Uu(nwaTmXW5BrDHHgHl?e)jX&zWn9vuwc!6q}!I+bT@Wv^W3P==D9HwS4nEX z8>yf(jGYZ^eI%zgq=QJf3F ztqDe^x{#7st?e!3q!W$BUZd1lLSNdgMfW*k4me?M(>Mw36&!CFni+rH)n4-h^no7Z z6b6AVNTWNS@9NIygS1Ix1iZ#_V+Ep(z9u_4SW}DBt`;MyH0VN>v!og{Jn`Ksje#Rt zlvZ3H8mD?$hOyfE)>-U#2FMmS*6`P<|9X;%IHR(9TNmIUKG0&8^sa+<2nGG%i9(!A>zQwvv*ajBVq0I%C_o z)cVN5lpt*?+f6PP`;l{uD`FDMy2_EZPSrQLvk501`nx2D+3tTtM!4FzhIsp0`s6L8 zuT{G`KQ1p`%Jh-+ew}eW^?n1*Jm#(SSuR_S9@RPL^zh$^r*rhiHZK$yH+jKN2jqLl zXd|ji=i-f9@wIUqjvxEZW86W9TkuZH1=F|-g`#n%u^p=mH0(wn@r1ncTYWxcWm7Pc zq-GJHY21r81-pOOxQ|Zd*47~ETj*q_wEXB~1VYtnba>~J*@bARsI3oHwvg7gOL`N~ z>J|o?YU$Z7Oph(x*cf?XmLu&nmDUA9A^MYWn4zx~_I0Lxt<+aepAFU5+4g^Rj(weLU+3A^`Sx{zeO+i@ z7unYnVX?k0fu;I-5-ii#li?J7T@C?#T>({k{AzvW^hq=QTm!50wN|(9O&`3|*E(3E zul3NNuZ{Nmwf40MLi*YaE&93+*6ZsA*r>0k!Rh*X2ArwKI}6U%&*#9o`g$Imudkcn z0$|1iy3T)v_^xtB&%f*Rd?{R}+g%P<=o&MaUvGw6bp2c5HhsMv?$Fme;VymMuCI&mZwIvE3?2j!pChgfe7V8j4)^-K zZE(N84?NHY5Bn3_U?=_TqMtDR?53Z`{5#?IZLojOzZafb+zwB-!LxY#Jl?+01~1|5 zD|q{A8@v|1eFJX`@b(XF@RmQn4c_tRhv83c@IGDt(gq)5m;b=qFT(KeHu%bZ`mcWa z&VKrze)`FN`c*$2!1j!_F+o>P8%w0C*~WU%wO1QUrE7W{>*wFgG8X&W*?=~dMP-9_ zv%G&c=EvfK#r|DPw6l?IY&5+&rj3oIYjGQ!K-c5j*krnvwXqZEI=zim&~s^wf3pq>@A;i`ud|iyH|Y*y9u-RsN+BDjtKHdF#&N~hx> z5srrxD1kJX3>i=gSuh21p$vwjd>VxkVm!)+sVE`lpnNz9B|{DJa~*PYGxGBp$kD$; ze!dYodI$3JF68LPvGiHw=vR@S-$s9q{s8&;bL8l6;XKCSeCCBstT$Z1GT=fs2rgoN zxR{NBOV~uXlud)n*lf6hoeWp9AY9Fw;2L%sT+1$j>(~`=J-ZQZU^`$7Ylm&@Nw|r< z0=M82Z)cyv9qcE#i*wk)dq6Ai3wQHja1TEk?&Fi-em)Bx;EUlwUJDQN_3(d)K~S1x z@hNB6ir9IBmIn;SJHQ1;xs4|3T4J?z``>EW6cM2F!fV(ZOhj#!i8@yKe zcX97-o`Q&aC(Qe7h52~*QkeJK!v`{`$lt>UGZZs@@Mai;Ct=*of-oQ6+VKTa#8%yo z`FHa|yrhQt7`(h_6@F)3KE;1a6u~BlUtyq!Xa5Yo;To-DuneFLJkSokU=NIjy>JX7 zWE?z!h~9^2dK@t5dBJ_C;igXlaqj7OZA;1V2RW?ukO1|bcLpQUx<+&8uH3m-wk*o5lnQa%>3aRzL&ucSck zg$LmgeBOp?)t?hN1}i1kFC2Ml5Ldku=?GC_q)UVCadMvFu$4Za@zTAR>`Mfe*5wX{kK4p zF1-s&?{_fL6A}(UK4X%lqQ@phV3j39$@Lv&U}Bcmu12;Y@mjhCXycMlEf$+bZW!q9`1lGY}L8kJ1X^vda)X?}Eta~=C_YUsv zs1=g&;SK8{D!#nHe}ka(z_>&` z@1ZmwRshMY5Hi^a$Ymp81RD(}AibT)j)ou`htMq6>zanM$GJyjH{QL7&|&)SC6d_s z?q#&kq`rHFzlxNajDl@H)-xaz7HDCYfG~NDzixlS^J=V3^+(h4aJ6rufUabP+hI`Q zPX4Db|1-(uLRw*%f4BuqyV~Dei^2|ng;BUBy`&5+F(-k^j)PvT1p2X37{+F8bE{&&3$6Nc#N5xPI&|FEa`5%xwXn@i)SOKX0`3Cx$U9eNOSKi|p!wF5jm z`PY9B+mGMwfWb8B{Qd*1Y5#8v^tP~>ZXi0T>Q4Ui!!D$tPRYXg3%_2$Kms(I13lPW z$YS$hFk1x2vBfZ*ErCk5%!Q1(&MM~eU-+*Y8FLZC zK}Lszj5Dw{)ynORjI_eY(vmD(2;K?)gCl?N?@c|h6$t+-B&i_IzQzUjTxZ6)4&3`i z;4Xxa_DsIE;l9)+epy{)q!~q?G|x6Dr?NDUR%7FcW5U9dvw17zTL=)|9gywj9u7G+ zj|kI1ry+5Zr=zuFcXR>CAbx|MjQs*regdUeF$h-$tPc9HdKknSVJr&X5*C6vtQmji zWBC%c-oe8l7-PdS31*38gt>w8Y=-E8cZ8*-&YG7xEVERvUg$fEQJCl{QtZ{Q#Ag!n z{T&J2lPC(Mu}Iwl9@z>~L}jM|B3&HMT!QFy7sUHJqxW}4?;jCt^vMc)%>77*2Dw%d zT|t+uoHP{{eOsZ_naQ!1_GSJwH70*7GA$KNwg@~N7FoN*AiHEkSmbJ(N(>DPzl&Yb z%1b{^Pu7n^0y_s1*m;o7HbFMK5M}yBP>iVwb^OEL+H~aLMdN&Vm++e0xEQ zDD_h>cabPWuoE~(h>`Zv{)Xg^=!8}F(o(IZr7I*NF}fAzrYoBC=38KzwmW}>wFGfg zSQH(??x0>s@1iI1|+L3D3oqOmc9$gX*<-gR=vuj zHR@M6t6b%*a+R~nRbnjO>3U+ECNoCgv#{5D1F{Y=&k%dPY0=rGA+w-5Pj*%;Vi1#& z=;GmrajH8ZgSDYr*b_D1QBHqGrZ&Wx+7M@ILv-jw>9UD72MiID@DAk!eKo@o{9Zyo z_HRwHk9(47iD5B0Iy0nHpPpC`8iGB86MGJP>_wL-%y1@^p<%=HUA{f33_U%i?@H}S zWoSxC(05Z%<0spgqgdgJ(I@ZM5}|%rcd1 zY;9}jw88FHFtZM(1BLQrP=ZSp{R!v%KF;|Aobz8{H2V;aWgo+2_7B(GOP#rwI&&{| z=3c5vf#zNrnLFBTiJE@^);h4Pjm&bny_}wO35(e|=u#Mc#2hr1#QeqWVnM1{6c$Sz zDRgpJESF(Xt#*r3!(vTXG!`dl=O`>fIcOmzXq!o_3yae(E=qK3E-`Gf`~}MNVn?9- z2KEJ{vM-^4{TosLA2^<4IMKRSOLQGmMifYz!Dk(5qH z1Bi%ftpkv?4nWpA09orG^9*sOjm%95Y$DOYX_CS#w?Y4is2xC(HfsQt^C@9*&Y~FB z7~~?aUm=klz!h}BK)ep(%7voA&Wr{-nqaUv*R~M`YZRgW73Ycb?HL^dpe+eTowzJr zp6K{1WZ_1-WnzDmxPa_qaiO@#?&59)D#@bZkwp!PvnX~#L^k~{c4>LhrSViq0beYnQN{IJ-3L0H@n?Nf_0J`8^p&x2lkxU28pPT#$C=$QIG z8Eub)`{tKp-xIL!8?o9DE zH{xda(&p)6ge}RVJNJrPkxy@{)Xt2!3zg}Pu()rxcx0?Zrrd>7?zczmVIYW2(`8{; z{Qfq`-Yb9hE#51h!j?~`if6;(MYOoZD`D|!yLf$HA9$c}mv|GMT%#4d{&w+BYsWKG zl7-?c+3F`NEdJ!DGK%(E*WIMZ=@y~mx2}Jt%L5QK|I}}g=MlF`f3neAuXZw|;A+P~ z0zVcq`FP0U6OrPMM+rR{=J7H(nV$dwJ{`66Ok{ubS#Ua^3+MBBa4DY;*YgE%3t!}7 zygMC$->C%vLu%V5J`jIF6lKE2bfksq(bqX_B%DITkJoGzgyN&^kYR;-#7B-G`^3-M z#78mAk`>k6{3M+E$@G<1oO-~8v}^}y{}7+rgH1xJpfUrgN$iMHke5n%5D~r7MLmYI z7(;*j0~S-S;xqAiyuOa=+}Ekt*Xl0%`pgP?(6=gVV(MjwI)d(aUS**j&l_48iRV$= zI4r)*+Pn=C3-^eBGr(tx@V%>@2k{@LO?qq_s`Hsu=Np=o)R4>o^(!QMc(&!#`~;p~ z!J{L7nNc;t8z7ypg&f`l`MepO$aP2?>*0S`z7f6L(_sle1D5f#pqiiU*mOCNrriXI z1Xmz>h;I>R3lJby87|WSM$n=XW2cQatNwq9p~ZKOv$oCloX2-|)(Q%DivOYK?C90Z zZu-#0F+MauA56XpWygi+pX=+bw%HKa+5f@v^K$J(w$AQiM~YJ z^=|F>xD{qbd$QdxoaG?@PMNEFMKK}s_Q*np4)37D)QFNnFED*ux)& zC;21rD&GmO^EUW155wPhJN$?5bu6gs5KBZiWGH;)VCXAbSmK>bwC$#^q-iVguP9lN z6u2BIN7?jn6}~~{gns^X)yA(RpypVNk*+8f&{;dafD-6M=*wTyGnuRHwtmj|{T$ls z=XmS=D7#jV-%m$eJo@f8+mV0hrz0+jy51Oh6w#7A+TnvW*n@UKbWk=zvRgGjzJ<3% zv9^!TCC>MwoOm5l_#eQ>-*PdE%j?;rR)=z>6-L;Strc=njP8_k+U0^)WJ!OzKT+SC`hE%CyQ#?- zm6({6ln~ui6Idp^2;O8ED|$e&=mjOBH%vhfa;8X!*}?~lMFyNC2B5~wcCCMS^rA8RGy^Qzs!l9>_G&P2r06GpVbBr+urDqgN<2|$QPz3X65KOkX#-^ zMaM*Ssqo`c@*#f-y}ne`HbccII7WO%T<;NS-qQ`Q{m6I zcMZu~ZJyo%eDB|Jc-H&gys7DRJn1$Zh3~@&(D7kv#WQ?^V;Qw{sHas5}kd3 ztt#w2Kk5iQ{@wCQv?Klb*!r9PHN=B;YwXUPph1QSQ;_Uu;_X+16V@zs8H)M*FkY z?X7L{cE61+?P@W9Mg9{L#iRlK?|{7g0b>YHWS!^wcgfrFa+@8!4$B>jHVM|+@t&Pd zqTja5d!z6@4&(vI_sBaKMKdfo(}RcQ0{wK5Bytxb8gj8}qP-PfjAYaMbsZT236;MP!(&8%lqX6HXN?Rt_cofH3LvuNW>ds*A+{D{!aNY zQL~$nvmFxl$*3=_;~Am>!O#e4Vl501O>nemc6p3r9flk$Yf(Xv5E!e407tzyNIoKW zY9u`>BgVy(wvjzfOd@f$Wd{`I_Ycd*iY0&Z$?Y(}zn5=Y?2|b4-?#BCRytIF#@icK(DT!{0(1O?G$ zjuh?%+42dwPp@X2vzl>w=FFO>-lpOx(w>A9w7v3_eA-@3y)C{noIrt}R`cxEh~t0% zZA^qUv1e3a3v?#LHPBmZ2A{Y-zOCfUBEy~q&?jV^n5sw5y4>-f2BeBb`C<8dSiZ6a zQc#NR56eHG_|nM@?CMHN7IC%=){bgD>~xuqWYqKgW)LZ;XT!^KUg z*KUDn;#L#d_brg@XKnmK;;KGQ^xbQhA@hAo zwtiTCk&j6*y7shf~BGuBCqloTUb|U}p&XQyhN#xBQQ-;@8-j33pp;wgqmd{ehh% zNW$_PN~Pml&<4F}D;$FwR{lWSt^KU&|8FbwAfBYfwRZf6UjMuWdQd1YRsKqWJ56Qs zz*r;Qz$W3%TOi-o9$}G5fqHmWN9Z4>_iSufu`Q73Pd7+JAxG%}DR_TprI0M5f!rRe z`V|U1^4mVWe?_a{C+HhZ&k^sSD0mloi1$!ry$^%L2T*`^R+0D!jmeJ@eE&dp`V8ia zFJYPZ7u1OVKuCNAmxyoRO7T5x6aPc)`y;f9pB?QQLV6;tnE-v^DlOm?EQ9HAqK^L~ z03Cqet+*{@?v4l`eKc9-GrYJ!6mk4R%N^*9x@J*yOCRO7v&7D|3LI0J=O%_!9=uo1Ro+rwWZ2 zK&tLFEKOZLN#DPO_kHdAH}F1VIkJI=@I@-gOQ~OY39A8}DgJ*XCVJ>a6{FO_1p}7~ zywZT4(gQwp{s+q>$d}1*jO+;|G6iPJUT~63hvm`-t7IlL$bl}ZcWu2mRNtWUd$4Ev zgp0lWw{Y=9^$RKdav(SvS3Q?Z$R~;nL8%65#vL%hr_wxQbe4h2%GrFA_5$7stHFEK zkj1HLSi8#GqY8gHxP{Rs4;nVlL}|1ypiD^v!$aRq^{9aiF>~yXcBX;eVv~ar)w#IL zp-?FEpi~ZrS@^s_7C87F3#^4H zR;^28<65n7n$uS!)|zb9LQ}F`m6C)(|4{pi^PFnsSgp*eHpx}(L|v`GsfJoWonTe# z>#DXyS5xAC8KtpA@QfNVWa!YL7UxVyLjmL{^v92aGIphtgxrI429(*Vlz-MwHd?S~_xAJ6{Li^sq$@dYWqfe;Vq;?MC zjeNDCDN~B1))#78%9NDs-Kz3}z*veirdnI_+4*5L_kM_R@+I1&vIf#+t;@+B>Wnv3 zyRl4{wQ3Vl!XPzIZ+WFdispM19Q1V|?3MCLt>b?Yz)Vpj^R4U}m8K}eW*hvNpJv#p zHMSq57E-R0b-Q>6`dgl`I%x|G^m*_(tWKc}8(hF>DqoSkN3E1#)uv3Gfp+cm&b4YI zwN%{>7=?qTsZFY5w`%fvveDrpaf0s!%|T9DwQiGStuWhew{Zt#y4vY{H;#qUj;Vb0s~{Z5A)#`51$oQ=bpI9=xFUoOw;6IZ2)J9t=L24Q&xJSDG!SJCKvPhNiupUdlzny!Z*n2+(>`O z1Z5%N0E|E+pwaA67YzIndPndu384V;HpIgnh=;on58EME?ttO)Za7-r3&)}_H%UGS zbL2y?Og@5YVkfMTk3u8XUnebl@FWxsSun?jZ!T1*>-6sZa5zC-uP)M|pw$k{Ya%d* zjSlZ^v<|}PG8^Wwt~1Patyq}%QE7iRFVco7dFTli%So(}?y)`rk z2cr!%7k{+E1b2;*b`9$FPV4}^qnOG)qwh6lQDo~WYSEG6$8I8Q+=sf@PTPM`KBHaT zLuDOiED3mjgC0!p#FZlr^c`N1r2760DUqx?l(uUritWTzvDI zt@X_l#o*jIgf-5w2?^$zf=q%K5%0w&yt!9=4qg(m3O$Nx?joW%O}kt~{}lATLDlpc z=yFfyz(__B;-M)gR0qaz;wrT%Sk#$^t;{ws>yZ-|ke!xI)#CzgXKh3d))mBi>^FW% zwP)`}iU^SDiC4^FEm|N*xucsV=7)KyhGlX32CwFhYHv~E8S+%He1m0NSNbLb>e{`X z2K?QgHK*xY@b$?A1Eqs=si8h-me{_4EZ%-?BA3>@vbJdO#SXm=9{?P%LY@$+HZAC9 zg=!^8PCDHezFp#PEh~zF|Nz~Fy-KsPq z;e7Qc`jy@E8o~;yl1hDY-JZRi4)veIMtVhAb#`fAKITdNswk=GtZ0tszX@DJMN%0S zPNXUXtQ4r}D)f5xHUqqFJT>=aJn%mfEx(;u{1 zes9Blpi-CwneGq@rM*x4x+EGyY(pSCG%zCA2bNu5(LlzzAAr0e=H-Qce{2v3v-JP* z*Opv_$o&eDycnH9~LLpH(m4>=#HkiX;(ma5SLbl`xl_}q6xhsep^iB5BKjE zVyVRqm^mQ;+BM`Ja5}-LYmnk((x>OxC4B>8 z`VY!yjAxDIw5A2=Vt?cf_dTwsmz)np-{OgH9^W@WLXq=BD_$d3EQwF`b<=%)SZ{Bj zBSVP9^4?ud0PlO{rUT2+#%5-ds6QGc%{c7T7`jF;VnpzF8)K$aE+p^0hNMt=m*x?s zq^b##8XgRmbzl_R_Ml;(Ib8P=%t3QlX_{0u(mqY~#JI4otwFNZ^}Cy81Ya^i42>H4 zjq(owlji6G`I~+s z1C^Tnu=-D{JM6y~y_;*p1$pw49|ZM(L&z&g;)y5=|n2OZ`Yf>VRQd&?grh}->V;RqO(!+2fo_l0GbjB{7=K{CUNjTJ|`8cN}?-RGr)@_N-Yj#?7 zXTtK+LeNYIi*m4fExN$1d#^NY*tjY(O5fDMM{BI^8u`%I`;P+Xehh1{FCDM~k(GK- zwJGs(Fk4!EhW;xw54bAsnN^Ma-4DcT1LJLd%HMK!Zcm|G2T(JsdeUH->^S>d3I{68wo zOROg8*`a+$>7PlyyBWQcghlQF3`k7-N#!XQXHp*<62K*nZ6DW0ZRwJ-#m4s@$UTnX zZa`vY;1}hvg-M>v2;~Nt3kUIegfyLSHP}jRtN{^j$_^{QTGo8W75_}FS}T0j$!s^dKelVf>fU z#cNdsg8xt}XfW4WRO3w?3tZpMi7&e58#r*>-he5$96$$|ZM}LP;bNmMI#l#c!WU756uZnFBPv`cCUhZNMj!jIfFN)0+txEFCp=t0i zMHK|>J!)B2ApI@=h<+Dsh9ZWmWZ@Gd9iJ_CgIg z*r#JfbUd8jV1r?Thrc)jq&$IQj5inYze&pT@+p4cq>Cj&{lH&XrWeBPg^L5AiwfFt zLZ(gPBW`5zJDH1CP#gojkSmv$6w7i$;=SPM2hXNfWE^|Euv#lL4$Pmiw@dZIyccKz zsy$GB8V-P>K~D&N#oNKX<yM~c(~un$a6!2dUO5~2R=P~!V;0$IfmU$LB-XS$QfmTquJAJEH`AY zO?#5DcT6y?{!zkL{XDaMKLp`#|C_TP#l-J(WI8|sE2Vs%TQiTo{+uj4ZKG+SBsH_{z`_CFXiiPaj(%ZNjBAX`E4M#3~o`- zxI+C!MT7`?q~eh_AWvS8w3U%`MY5azj#^&*c3H>Ns7^mIEzHvWbN|WPtg#wB`x~j# z#R>}G7Ml3!xVui;r;xzv+rE>&ub?mtJ}O$dWuF|+>?y2{K~_fQ5X77Fk;zN`PwTrb zP_TTOw@pY+N=e0KpX4BOS9}2Pk&N!%*OY%OmbYjYW?&w?rZAY~x7kcVC4Zn|c7$ux zxIdv~cI4v^3Jlon|5p)8-<+9J|Jep>|Kp!sS9EY(eXsWZm3G2NomRek*WnbLV@Ihab8m(3UX_o5O-QjyX8u^anWx9x4G<6d z-Ls@_^dOZZH;L+wcGeeEBiR^V#9y5N3Ka^~bDwEc+;3Qf5iLyRQ=JgG$O(6fbD;<@ zdkSh12hX-L9aQrG@G0daz{FvS7-Hz>v4;-$ks$Pr@cXenXx19#P-#Uhe#%O+S+;dS z)XvqVs4>Ha!nn{5gA^GCwM$qe;K9JT(Q9*M3;(!rGJ6=LR%c`YtIu8tun(u3R0yGS zeUDwx__1Rs(gx7>CR##6d{ptLn41Ew+0ku7sxj4i$5;1S?MtnVOsr;4?eOYG&Ar}= zq+CZKO*0naZE?ZAqfPcLO>l7?aIZFrshrlEMHwQ3g(G_4BHg_%I&<~8xpuo$v-rNJ zY{$IoS-!vicEu$9+tq0+K!~Dgz}MmFb((OrGk!Mh(RI!acg_aoL!$MKM$QJDnT|6} z9uiD0J}!hcHVerAs^s@F2VFOT;}J=K6C+)yJpuEMIf;6-@**AIjG>-1e>5+XL1I@Q zHSHiG*cdoYaIt_$LLoj|F_CZdPN+d16t}Y(^GoxYejwt$Y&P!}uw~^uV(sAII&s*4 z#hh~OX5Rxj@&hM9u2|6$9d!Ya-ek=0rH6QAg22Rh)=z5!O~r`SPijU7_kjM(nt^ho z%ww`#_~7djRZczd#q{&T<4-v$C?W3LDI$gY@K{7e8TC>>n(1&&IDdxkdfqEWJ5^0U zMo^%M-9q4eI=K@+%ya>Pa>NF7+!HyJ ztTd<9#1mGmc8F;Ia$R`gaPx3;Fb^Stn8P6^^e^pFxl9G3uO6eL#(GVB^cbU~Nx2Bi zh3;z=rLhvoV+O@VAqn;CZISW$Me*siP!K_Vh?BYD?q;$Wc`7D#!9*oEt5Io8)8&3k z6SQQ^Dx-h~@XKg$&K-bdFitdiJKR7!%B?#NPEPlk(D_fiMfpDX`10i*OxciVGi=>r z>5V>wl=n5SNcYmerBpNYM>_wMR^EfBxg;*+p?O*+lFV*V@2+xT;s`fOTnGLJw9pZ9 zRyAcb=#%!!9S>qW!4FDtw_{kh`x7lnj#(l7?O@>-U`iHx@lU`Hau|a|!C)J%VRmd& zG1ewuDcKBT>$vlHa=rt>7HewA^%Dj&`AneKkIGB8Fi|7y|0OTtDoTv1jI0>? z6r6nI%h|>sAG+52wvCXY49-ms@|0^04?Fmv>w^!>j~Tkg+x<}h1f3u&Vf?M6=>SV@ zZLI-%RNv>P82vnI(i7o`iyL=MaRfctZxK&4rbM35swHUAC0Nhs9UbyR@IQf>CW~}C z1HXWPZh+H-L_q#8Ff+-&1Rao)XyCBKh&mFt)NCap4g#w_+Q%epWq=;<0dg;Rp(wV* z=Mosk*Ad%d&hmmvaYS+tD+x)|jL;t@ylpB%NK`;X#?S9Id;6jN{`cq#%74tG|BjJ` zDXn9nL9v9+6hAJyRe5WXoSZHt+s4l{tu!4wcaqoZIDjb_;wybD@(S?nVc|q5c2F=- z|2}uFo?^8A(HDrX4eP`TNJBHuxGSP$QNoLxJxpM%KxO|xlkxBy-~S_rxv3B`>7veS zVhI~shqVeI@HRg!(X_WvE;-`mP^B;o|I58a#rqfK=73n_D!ocsJM_S?or6!|kCZ=R znvaVUmmp3KJZ?2JYaSrZK;9ho`%$>os753nKgi;NbxC(+M-I69NIaxZ%8%C@Y5(OS z%^h`6bvKGC8EoxVBEbdBem(_TKLq0W;sN-aloc~9v0JQASKD+FNJ~bwI=v{x8?}8`uq^zlN6pUGLir1C`p(4ff2@(yjEzz2)D8|Z$ZY3&`LBGa+#{3%|OZJF*We>6w7?yQqb>!ohhc# zJ=_-8si%G##nVaPD(;U=himIw{B{~-zzsA4WVjiNoS~es zOxa4in_^OFvz1a5oG)&NErK$NTv+Erv;(qc*6e|MMMZ@lWQWtYZupiq zu(C}rl&G>TAJbg&6$Th)I!El|su)J74Sa#06UxIZp?XDbew$?fzg4Touu8Tx0PPa4 zg%4OIgF!LdoFH)W^@`liF2g)#JF0I4CR-5jNI<3#n2uu(2H71=`S1#jV(=B3YKOAn zUm-1E99~E-C7J?tlNiu-qIwf8+B?Eyu^v&)C|6`7jbFjt3$Od&4A`WDZ0+jA+m!nT z(r7^Na3c z>U4V23e_}fSiHI4Qi)iD?~p7Iw4{L$dViv3OA_=g&TBn=w1gY2px1)Yp7PhC?7O2j zhM6rSAW4CdXwVQUoB}Hf*!f0|HxGf>Lx$c{ojMj(n`lvfzsGtrWJp#>0Rm=$r&ehh zJgGRNg(lWXwlizU5<{(R4$=dQ!pH49Jx=0{#Kwp-vDze1ySJ|URQg$JOGvL!w@+U1 zP|m53M}bq&a$l00K(D5>I`BRG4K6 zXyg4)=kE50j#E-1FG{T`Jp>;vN%2uNYp|&v+!o8SoQ0^yB+d&~b8iA1UyVwWLut5G zq4`7O>iVU90^JRSE%4cndWqQubZD*I0%&QtlXbSG-jW_I9iWCEKE25R`;)< zW0j5&t9P$SU$r`q0_3FzIrg2b;n?ijv@4QFo1}AiYx3M%4EFW9>I35^89F8zU{ogx z^DQ`qfjYjOc5+qk)HJ@?a-YhLN?Q2k(C;JXS|h9#WfcAOSZtCwhOG<+Qzpb~gkHTV#D-cu&7XvE6_ec;s)FU@zRV zFhEs=`Wr4S0B;@5muRJV(Ol-*D5VZB$oCga8B74GCB1gXPH(x=dV>beTT?GrgxdZO zG4~0f)jLP+BQRZa&Nbu^q%&=lbh+m&VrH4>7x1!;o$YoyTvo+QjgWsuAG zf!xY)G_@EZwvwq^T?;S{0z8wCXv`xuX)GIgp5CM3 z7n-KnyTX@%a&XmK{j|$5by-bfOW{)Ep|kd?o%|H@w3U_&7aa{%nHk$GCp6}HA{Jsrh?NMtec8$e!B%YhmvjaI%|+GDuQCS z893blU=ynujH~JhYizOaPH(Im0<`1Cd>4ZM#tMdR8(N@NB>Yy~R)puuU*6VYpcw>k zVwq=yVm~6(pKy#HOcH{}F!Akj`hsXo<61J%RPO0zf52SkTn19!4sr^FK$MuZ-Ct5{ zPe#!OM$@D9qzBz#fj>Nn8!RXQt{YzXqpUFts6B&J(&(a!+KQE=isE@muBG!;uB9k_ zi@aZWSMA!9-?Op(_BoE;Y009VitA9>J7Tv+XOc)68ILi$n(U6t9z1=-Y6(kma%Z`fS^0rVO{%^kaWZWP6$AhW zAmpWHjyY#4%vf8`?k_AYdE`uHJ!HP8vo?uTHoawU`7GG=9zaYl`f|h$ds|3!pNz98Yc{=KqV;3ynK!CiG_sLtdV9_u!snL* zpdP{X)`dKv|MYf;#3l-wd78avQGO5r;BPB;&g&0=ZIJULESw4EcK!Z{v23i1%eN-M z&2S3a}YCRo*F`ocGo=mmF)g8KhC7j&hw4?l(LVYp79_&@i`~(?w zOTF7ghcl;UqhX@iFp{$mBI+a{ve6P>8Aa?Y-wG*jM>n7Mx1SFNpO^6V8_SOYb_V;Q zm?kQ(__r1Oau6w)$ned`o-ySkn>@yi9)vtB&rmhK;jrX)XYpaA`$ld_6)1aVleCW| z`^r@RNCNV&$u#M54Ga1r$0{HJ&ho}c3haQC6J7!{MSHEdJ|5o3um9C{S{$e{XZ~{s z>OcSjVgUk5Gk5xh{2y3*l9eACz{VX_4Sgq#l$ABa4Uza?qZ6KUXNga3?17mHlyd=3 zbOD+tSn^S-qO7-~t_E?0;v#NgnvNwdVIe-!_U6`++B|oHa7WO7nm0W-)~l8?Ta^^g z;CJ5HRynuvdgD9G_xklV)g}Pcj+X~x%ajvLuQw)-sXp;ok|oLAN?}(AI5x}Hok;X; z)qe`b6R65dwFeb8JYvOA=p-p6LQ%230$rU6ZGATK6~)lp-N@nfs(;*{u%%ww@MhlG z@a6Ot6)e7NpGX0wp`Ln@nq$H1T4K-6b^$}au==+rjj2zpHC3P|_&5{jQU!!#0Xi;U zUu2NPlp%&@v^A|$ej!v12=SKPdU}OAzjr#zUCcMb?ws3cEyLr;n}7VOMww=puBEXP zNSIXO+gtI?Ajp|0C7H9B#CM{!_rCHEy+VpA#E)q?=Cd9c(DZu=u|4bk&QSd zU@dMQvPeur2`62)1dAAI0i`rg-vdqm;h~ZRUh_`LQ8yMG^MG?pIvhTSZk{$m9Z)aq zTBM;iOC0L7lZiT`+s#y`U@*FH;}=3M&2d<(hubQWGz=4bL`@@6wqRUboc$aU(k^C2 zkK<9*-ljs#ibNX#=*c?MFs?baF>k}sBT7_79_R-=JKJCn_yvI5i+*5p*Be9K4E%z_ zampIx9Cw6I4Gk^MYIbQNtasC8oSFy&kikdmIKGQ;R_khMrLIByg6aWB`M5U+wiD%M z!ZfwWh+t<>{`I#HU~AHmm={qSyjAsQN+%R9J-!M`<+bbtEZ&Jw+_Yo(D&dNx`pwQO z<`4TTKVrrvi3SL*J~G3~w-DRqG!UCvuRAAvI`$=={5rkE(qM2~?}#;Cz=oRvogF>f zw6ON0X`OAdw()?ZP_4{C)igW}{3^QP23Kpvp6;7i6Nx0}In;YJ5I2^jOTw^hcKPRl zBr8oL8KWu>2*Rp;txC8u_%ApF{972 z$V1ugfhyFf+VT!mrYE13rz(*xz?qt`;@u=~qzU>H5C=T*_7unl=(h8aKj51?GUW^j zoH%;IaP7bwf`Lt8`o|aRS)|e8pYx{{>$XXk=m!3Ygi*pz=v!ETgI&+A*A(q;@anOj z{XGL#s)DG=t^N@dl?2AHyHY~^nXz}fENAVyY~(Grv-xwn8y!I*nD5#u!UlHI=b={6 zJsOz_IO3;WO2wuRA=uj=$XHZ(ey@H9KJy#XR_WqX`Px&b8{;{4n3DL05;Hri7BeI7 ze!c4*?2_d*JGyEW$k!oD(Ur=)^OIM}zEL((?9>|3FpD%fU-iGqyzF^!qGDr~w|Fu> z;oCe*))m2LrjvRDvwi5_qoxJ*cJUc+1Jeu!m{nRG`D9!U1SZ6&8bYn$EIyFT&fe?! zTG?$idroO+uD;-ia`luZGGg#{4z6g=!;tS#lui%idERot3rST3dGo zSUY2R%U|1kB7gP@Df=hQuJ{yBa&}hrR`}h^q|ML0W(_)gA2>3EK}>OqW$R)M;mW5e z?JLp_9Wg487UAYn9$CT9CErufKb{>GJibrOZ)RRjy?ve-7^ntc-BIN+Eq_O=A^kzu zU{d`7SXY~#o9QW;VoOp83&)T)MS@WPVy|iac^aa=m7(49A>0o+_vH8KcR9L@8u%XO zV_DXt%If11&ifxZ{W0QUNxO5xowA1o9GMUweblBO-zfBp4dFauuewETF+J&rw~^&SM^D^=ZT#d z$MbzxlVX5mIvfaxoc>UACB=-8TS(EelgY8)f2V58?vX7aScCq2I;F}exuao|^tnSX zKv+2fSJGIG60VX+5F>jt4%fOer!%J~4-j7iQ*Egg&P<0ljGI@9HdSLqTH=L39Z}tB zIqqZof&7ohbrVG9B`^q1^LiVsz%K`2q-X9_cKh??1=SD#MOwc)F0QsStF1Ic zdyKaeJG$7KJBNTyE=vNCZ3Cb|27DY{O0ij2s&jie9=6wVLHhtt)gkXtmw;Y|8iRP> zTwvkHJ|n;*K!vx*bt(BBh!UkNUh}K4F>iAz?QTw&_LNxOqD9yTy~RF_DON6ar3)zR`}YEVOd> zVye-2Ds<#Grc*Q)r)YXunklA8j)U7PMkuRh8o@ zZCVP!2mcS>!f_;L&R2u#PuDKtdy28Mor5G(OwmOVuTL{&iRDc!eOfV zfhEeGI8useFVJqm^(xw$p(l&N7zIwTSe{bn@0YO=RWn!Wi)@sP=ou9YXE7!HT^3}a zHidDIH^V91_`hw3q}|)_(Jgbw8UwSm(4OeiS{^#D3QDoNENB~m*|a7!|Ffrva~y3C_P=R^1z1?$b|M;)d6?7!DsMux&=27K4&nCqJJ0)zX3 z$N2TE>2Zkf-#2Bh{xX6)G6ws>G84g?LbrXw#FDQrGbq zZ4-TKM<9uNP6E`O`P3UJ(pVI{8=!e{Gv=(jJ71Qy)o`GXaFB0JVtfco9 z!BXc4omzJB#-KW)CaOI}QO_e(%Y&(Bw8y2JxH4B7GXT*-% z)FmKdhCAJ2wDS)HgoIn>;Qb)%94+iPG#cbrqOQ1nNzUgMIkrqEvlR7Kf7zXjHD01a z#CsWRw2m8Y7A_qz;|`g$?|v5iMi;2K0OD>p6dQGChrhvQoOtQj@)DL^Ean>S zPoPVx6#!tBB)^L}@arbuw7Lo9dL@@#=kyDgxAjxyib3iiK^u2N%B-;cmlC3;kp1B5 zWUBWJp{`i6tGE`YmWq4=5YICOYVId3hAN|TGvYlZPa8u|j?38Z8F!OnZ-+mDU`!BtOOWx-USV}bglB_d~pe+p5wsKGj6>4Z~z^)5nII0re5scd50`kx6T108b*}! z8frfoc3}+nDcc7&$dN7S?y6H*N;AMv`?tkUe&% zgHEaD-<=stFH*KA%|T076b(5`IoWRVhoJ;|eZ5Cb5q`il?L*ifi^CQy#L=catM|Ct zakm}VFK%No?NAS8I9QggjSvk?xU%>?161i&LG zj4MnbJ|8j^EpKLuUBn-tv(t{SAPjQ`mhGZ6nT#~Pk9y;*G;uf1D@S`WJ^1ZHJMQ-e zgip#mWyvN#1LRIHB9aY8^~#7(Rj?+Q0ro{~a)W2stk50he+x{qJKG1xkC0x*Ync1& z@7cSv=2sD(CVqt>*+Hz2cl!jv0|3#{jR6NBIkWa zBmJXfh|GgQZQ7UOhc7Jj$iDDT;`UPmZ%)^CL}2v6bs5 z?J=r-VIAU4;|(VmTbMPqv1s8O4(tNa@?(R?C8Fr)Mg2DQu7pwZw|P9;0H6z_$OFn` zfpkA$XQ$-r^1XYC5rza_oPLd+;S81sSyYe-Q|l*o)z`#m+-BbzEzU;X^O`N?*6xaHf3%iDtonl{QXn*Z(GdC?(1TW_Pb_w+l_ z4!ie+dk_|4G=690^*OtSXRG4@uu89myNSu|Cm{#HF7lIL#z~498mlk%?7DXxZ)%AU z2CEYIvHTE|lh{k4S&MiI^~`(Vh%aKRVlGLK^m4`9cOU zv=6GeXX<|rc?bGt_(7a#%lvYA1<5jv#Ma1h1(ZJNvw5jh<6xP-9y+w>Q`m7$30#x$ zT2xERq0OszvtqlLA{t7_FvpfQg@u!uy6PUXqBo=<2JUN;_;;KHSQzC**kq4|seRsn zXT^XEN_vUU50=<5S<_hn^Aqdz>T$<-p2fNC+w*gs=&D+%$8ODhkK6nJR$K)btM3%~ zEGpfYs|eLNg|GYGA1LxZu(<&YoG1)^5?}g&aFXC_IaEj#Ib4e4 zOirvp39%;VkHs*EN`xu( z&?%}zB$&l$e+r~8kFau+di!O%iG5=@JY=wkjNj7cy9SU_{yr$jdKpD9qa57(mYQ@6 zZOT0x7mt%$mEkT@O-XH&MlWHui}hh{0{+(=#laZrJLccW?CRgyrTG8n)}Ht#S$g|wkKXHN%G;O1Ot_iS;W=_W6xXXCap%75yqr;A@S&{If zSjO2MvH_Bbz;%`nbh@C5u=|y6WIM?9tQf$FNul_AId< zj-Ye%o`=Z|S+F|;aGBQpHt9<}bP7mcEDCC9jE(V&XVo-V zrGP-&8Mk`F;s; z@=UmUZt!lL(T4z}qOW*Nyg`&*Ii^{(vGVNqXtHhY{1+!?dgJV?MYi%ydfbF9G6Ha+ znTt&~X15BTuIv5cxJ&u8l?KN|hHIaTeSi#w$WZM|vM|AOs6uHlGnU!^lunUy>>F1-0gExoKx6vk;mB8to(B0dbRD}d)K z^1dPC301^+ICCWS@`u< zbY;QkZb;9MRS1->Un!)t1;J^Muz);dYvM_PUgFGD$3IN5U$Wr`EZTg+ZplwUmJQEc zl=idF?|3zFcYjPc+j~ut{+=~YrlQ9l1;;N9FHG`f2cgi{E^MmzMc1x|8Z10I?nq!s z1<)MRNDaBDy;YK9y}o6SN8Nge%li;jZ(8}{Gpygc!r+_TIm&3RakLv>)dDc(3pB>9 z)NL_{3bT*wzrpwf?3`FShIn% zEw&3fV|h7gvE$`p;c8Ff;VzNjbO&TAszZ9DPTbdJF;>38?}b&h-yPurtD0MvRu%w} z?^jG~n{&>SN>{prAbgG@KlKhCKf$BXT!1KF-ERkLuavIUl3n*kf;Dx5TK7JrS+>)F zsVI`C5qp4`4SK+4iHcy7Z4D^ zf0uZ8K#4Y#kLt>bz?pgC#Dk^?Fp@B`q%dacc<%%IT9?!=_SYZIcSEBb>t;KuZ zwS4a9%K(Tdt6EOK>OO*+m+ygMeIplQl&J3kU{dUtf%7r}bZ0~cxc!5h2Mx%sq0LF- za~9)4DQjuL#6qPet12F(n9uI>ue_|qj1MySbjqsqP=c4xMJfA9Q)=$7z|nG!NR_6H zMc1^7!nwmsMaDxIapQ!Nf>h0ZjmSBrJ$1y*xQaK)svTDU2|GKZOb^yFhr71XL46fb zK+u3g98qZ_zlEsJ0X(3ou5t5Ax09F@oo%JH zc5~~+@k!L`>MEm?9d`3Ouu7@`FjYuVgBxsZzyoo-7OgVO=^);2{~~1QRsMtj+}0rs z!@bdkS02Y@_N@a_c+eas&-pMkCd;GsV^L3UYed=kpZ&~&CZW!S`r{u)+M9&iHY33A4s z)*{(lT_uKJ00Mc?jS^8)MPWxuf%bo>1$&JDPzRwa%dvM@Dt!=LGtgtJ$V?GznOcLX29?aiZR0(bn#-`%iR!$EFu>L9LLWe*4 zJ4sIHPIi1A+GmZ)`bw%&j3ZSr&Pw?&Tvpf13xDruVQ1m1gzC z3oT9WVu8mLE-Vi1DywJ$n1Uv)qMuqZRfSAS+)IV7-C2wul9Y)rB_51T9 zTxt=Wa-XQpF2MFBx@iW_4`!g-HCpuo9g(2h)V*{Xc6BO1o{$al^@u0U zWJ#zm5l{xsAT{Yr2~3w>FMbD|F8FZWKnI~KraZazf0wcfb9~1E*oRsb!|KAYPSu`T zL^@0<^pfN>mRjm3Qs*xfJ(?;yv{{V{!LLj8HrkyKR4x`YGqUW5S6>tf^A~<;?#Z^9 zF3Gvj;QCq}p$q69C_C`XQmI69`{}&tq>M!cdg@*~{-Z ze4dkw!YWM#Zfq(cIzed-dZ25clP?HSD~6&u+qI)cSzLdepI=!ns~4dCiSy zJD!=GKb%OpBdo42DP}Ut{Cf>8qk{9Q>E?@G_WOk?HSMGUR9N23)R&jmBUCY8_I;P7 z1}rh)*s;fe5!}4F(x9h6%&MDj@P!gTCAFDCG#ib4u8sUOxw&VZ@LD||yQYw7BedAZ zGztsH%iD7`t}8ZLYmOb~AP1Q_M5q9b;$8Z4znopfjV~fK?(|8uu8TPJ;i%9}6kwKf zJ11j@g*<%8C9@GkHo@PCd?82!F<_X|TmA){gZ`hi zXkQ;OXrR~0JCv$3%i5Vdnw zEM7r?O)SJ9sBIkS;y5IjTxe4>X0XLm!CmGi_A(~b(w6E9Z28>L7wx1)g~ni~K9)D? zHU&Gz9aBFSLYl5)#8jO<3+%JxyK-9k(*;MVsH#gG z3@lyq*kluvuu~UpvB(?=H&)#NlMqG($R;sBda#;3W%{6qX{It-0eo|aHBHH)>SROs zb?abdRc2*cwQg^#m6)1{NsX#ExB~l{TmVaCsELqfrN5&RBQ}2%^}2EkKWb=~+?bl+ zFNLEE;t4Fm3I1izb=t@Jjc|e4Cp`~LTxj){w$DJiUUZ2LAP#(Mn@5Qx5t5N$(w!T? z(0w7i9*Wi~k?yPc^geZxe~9CfkwFuDZOvw>wDN&jhzV4(;!xDEC_2f(*KCQsK5*2t zwS6!ni0f^jZS4t4@U3E1kNTUNn&o<&yelAYl58j$d#PM?%3Gte7P{ukr3V_>?WQ7e zZ@(fTE4VBrpVmpIp_eX6!=(Dmiz5#}8{N{p-m;V)xrqv;z85&TukyBRt3Om05bL%q zb7vMMaxk0%UboT^njnkNcvyzQaV6KnW`b@E_wHmKRq?fn9^{Lh{_zMNM1J*@&H?-d zHTEPFS2V+0VNuC=SpQ3U5G9N&@NO7L$8Q+m^T0@w zw~SDri3-K%ejc3L=5L%gQf%@f>+F^#G?p2h9a6kapoR4W{%u#FSB$l{0zAob&F){#bm%#f{0+|#;;=po z+9uF>y@O+pNhGBB1N$1Xm+(5?oAr)9uu^jfzltlSx;`Y3=>2cNAu9yPVmG?er)u9j zln+XSUfez8aq&dG7sIP#N+?POEB3laUe zjN`qoq_xcB=Bcb2+9D5_Go#nVdO4~F`3m2TrY7SU0p<`W-2<9df%OCCcs%+dRjxQ? zg!Ux>F1dKT^5&;j6GPWYmg-zh!?%E1Jerx3JVgMKviBp(G9WeOwfe_#l=XvJD4qeV9lkQlDX3|cbvBO$ z6f6TB!CsUZ=0yo(m zs{CuTi|n0{pI=yB?}qfLQ~{%TQ!xhq20X6JQ<{IyfQ zbntT@y3k1>-@?X}Ux=0hlp#k*Imx;cXpw2t!LqPynrS%HX%**P(i?2bQ+`zs zgt#dT^(aggMt8&wFQ(uIM^Rqi0pSI)3;H^690rSaMT#Mtl*^Kk3kMTk-Oe*oMlljr zdCstE)zSce5;o~e*)XPJ5}BxeBn@tau~Ek&&=$j{+j@x9ir*fBY~uJ;!jx#j0kUlB zy}|PgF35z+NNZ~mRZiC3xU9dBX1Oheagy^YsL3Ahz)keCd7*A9_`p+Ud8Mg}+bttA zsWIf1>K6={W$)TdE3x>fg*+SV&|GE`(?&Lvjm`j2Y!o^(>SGfqfo*Jw6{i86R7Yjz zm0*Jl@cGzh$yzK6HVnlS%}sz;Od@3e($z$ zFCvQ@-JTU~J0G^o!oLnKfqpX*7<;>!P@>zvNEOJB6pxD`Vxi45a)*YZRACcG$M!1_ z#fSm`^}K3Vt;5z53zj>n${F@kR?+q}meuxrtnzI~R)O{u$|d}dnmqO3RX zW!l%QRXO%8EY)u0=Sgm!QoUc4OfYJmU~d71E9ZIY@pu#t**<#9nQ!e<09cO)Jw4PX zRClGWFKBOQ=1$5>Do1yvurk7?s8%oN#!kzuGQzH?*$32Pmjy2T4S*kpo=2Wy1^Uq| zGw@6C*TwG zs_>Xm>|LPsU@~tDFE4s+DxJoDpxT~4;4GlGE+=5pq_HhOSloT?Hjx~=5Dj!CzN{35 zwzLZWB*!ltj#oH)?Z)`^`OCNs#bgTrMtnU_i*>xmF0&$nTVgc}f-*27WPyNDwJF1u zQ}E>?Leai(jAm?Non@!PVNYs|d zj>H9?Px=IS;DW^`lnMm?S!ekJto@O05cn5^@Brfs-z&Z2v~~53TD>=9$=+~SNBex3 zbZ4KSsn`$kBa*0@= z+_aa?p-8v>T#(&q88)hoTe@>o%E4pg_cCaA$+YGG5C870)Pk`U!`U5KLL~pUvmvNS?AI#^Xni5|DanGTI#do$4m?A;~^a= z>#XEl{F84gO;=n-swHp$ev(xn3{HaZ1nEj#R;@+nfivFT%+_>_0Ud7An$l`TD>p zAb>M=Rpue0smcx5#M>Gis$)?#B18UTl;md{Mn7$LQfhN#!?Pp6lEU=zfXNZRm3!P6 zsn}OY&5qjxQh)M_{K%<2EgdyvQ#Y%Gi-62)-x#~U&;m6zA#~D$I2DMBFT$oPB(qw` zrB}dbRy}Q5eH`Ix-!c4e*W#=`x+5>eL~$`WuZK=!^r2PQ4M&&HDW&CG*jdD4+_ooB zV4gmOhGFVNngxiC?}<_Zog5TWG*eQkjNo3W{M)04dEZ@EnHE%t>;HXw6&xhrv8C&W z0w<$+^264b%rR$8D%Ef{i{E=j^1>gOX}RT&-!O;U;enu1cgk9an3iX0$!z zsjXv;$RAcZCz&H(%o{jzC%fx{jyLLT!8Hq}egZVB0TeX0XV4!UoSD@Wdbj7`AAo!1 zqyj6u0=5suy&&2LB)Ss#50)MY_|re`%C#pShMFD!2Bpk5-bUpFn?IJMYaf66WCfpm zbK4`4PRnsh-y1b^P6(ysqEJxHIJq*jVbWd)uPBjwOW|`vI5iGl!8Y`>OB#%Kq%u|t zLA4G(04`~6hRoX=MgoBP-1Pq})}*ZLny6&Z%&u&oW6}=s*c_@r?8|Qz_4r5|`kuAEsv+QOrZKdXTi|<6 z{7l2gN8KC-@m4IHy4LpU&&RiX-RuV0P7hH@nHS#nJ^V+<>2=Mh_tvL$y*NaG-b{EB zfqH5#S7~YCfNrREIxr&X@2tV~&)`FF3x>P2H0|V+Ns8gONBRy_&`S3~PTC8|ku_^! z2CqI>7_>E5v+f#)}f@j)FCpJY83=@F$|r)?iaM zfurOtvQ9v%W_ebE07kv>Oza=KaEaPdsWel^i|XxcZ;N0>y4-?BJ+K;3AP`t$erS4F zydw^T*7d|nH1C9QVHC$FU(@l&3D1-iD>ALeKUqDGWNv$ybH*sHCqo0cvJ_)%)9r7G zwNutj85Ldh$YWaozVZ13(;B;3bcOx1R;EvGmhXn&UFPX4C@0+g7m#BW9r6+VEVFuh zw=Uw?>D>;O$dX(oC-9-ZFOOLezbx-llWL+qy;fFOm(|L|dLr%#(p>O4bT?LjMMo-pe3<(KLk{6#wXz-*|<4=l|xC;$}thUp%- znX~@n*!YqSV0rgfbLqCDIdRqDs@3v*c2&GR>M&Hf|0g_IXb>k z5r!^o({|8LHskU6x|m%luIlMNXBI6?hgIJG9Z}@LgfILR)YSAXMY=Y#GEp3%{44U1*;1sJ zJS6zeAlum4irLv5alk6R4syi1-nJfbHYB!(r$PkTP#|)<2BA3 z_9&LU9)Q_U&ExDa-whbhi+e?;$$@B zY)}(f!i9i&uSJ)PDziCSwnX%@wI=cDe08?e8O4WFC$?O-3ThqB`{9RKS|&Z~$TMvn zS%lRAN0C!w5~dCDU!i+;-*5C+*h;Jq-+G77LvKIfZi}H(@o$M&G69;Y{1vG(9K6_< zlrwAYj-4efURT$(xFJPiTib)LQ+xy>RqnnXz}DSIZfKLH|3P z*f$68``(~;B-P!bu&J!Iu=Tqy7kZ;qX;HG+m|9u5l(wr*eRx=ZvGFuAZb^RHwf-#TUoPAs#S+1=IedCJt+OcW$ zHEDaEy0OTy+Tk;Gd;pq7>toaC!gbcWc;xrJIBt{G%d5>%7u$PYET@VB#B1?IQ}tw1 z^@LOPr2FqTo@#rhStXxprCpwxE6ERE7F)GeZdFZ_N{39kAlnwioF=Wmpn?oB0Q+hg z)i&H^j*a5Nm`VlpCtGUkQhDl++D~`*VqX#9YBgoI=)+ljDn>Jgl~|UlJ0a$lSmGid zs~pjW>W4*e2Z3Kzq`b;j%)MRp^pbXFC6IRMSP|t5K7YE{;JUYo^NY*O#5}vSEpj$x zU=&5;EXPrg8{dGNzJ|GVR80U8z-Px0jpV*mUF3IFw^@IbrExJN1}C(??{j%jn-@hY zjnK!&C;YWo$g263AYL(AF3Tr%u%yCjz!#l7%dMzw-l$yKYhk$MEiRBl^9Cau>EGC& zR#q|fn@ zFuvfTpdTfgQVYaEr_yhI#NX2kSAL zP8zsqYUo2E2MtN(*s0aK_|$+fQq+ih+tg&>Y58ffO1qMsMAzs1zJLZG3o#bXC;ZC)BtPnw#D4vY?tj^r1*OvebtUhqXAQz)4+VT|w9Gqjr zj-$_dqYYF3>>3KDvK#g*S3hO;lVE7^M#GPMDD1d$%3pL!z~v10LgDO_IzV*Hew(;X z-2!8(iD(g_P4-*xVy8D7D;mRR@yds&K%1fu*R0tTix=Z#P z5LeT(P%*iFd(6)ezfXfi!i~0IWegs7a{(Vl|74W>Iwwcui^9;6=nD>koo#l|sfFS2 zMC(WQ?7xh1U(*xK<&;rKH)A&|4yE8~Iq*`1h^Qq!l^cnh0XC^*-8aNsrT;FARw)3C zlxm7};XuGNg?Z+r6ZJwix#3zc`;I)eaqb_z^9{`Qte^2+7oTx0$9eMEn)RGdyD?c1 z-yC1-abjCcXaRoP`O99R>d(xjuB8F0FVHBft1qGr*_K0;LR?X3`eB{KMD#G9G%YWZ3t*87o zx~MTqCaLlu`rPYd+We4L2G*JkEpwjqIrfsOzZ7{`Xt zDtD?CEZ(bocEGUW2VqFtGpbHkq5?9?^2F#dDnVul&boM?pQdeui#q@a__0PTea^YT zYY3Y5<^I5KmzqX@z}myK#vRFepKEvhvAQ6y>)CJzx<$y~_XRqQi*#wo>FmP}={f(| zE_I#6G3^_?Zz}W%@|Br*e34rqVX=yBUT|zUW#XlGot=O{DDYZD(q?^%;w^Umxqd<( z(o;v`pRpb@WFipTJTV0L$p`Z6s=*grONy7J5L3?SCh~U*=IF(pWhSY`Gc9+nX&(*ItOm5u}Ut|7Nac<#Nv@oY<3XhTuX?Tcv(dh9;BJCYNzkSGi^Z4xXuc+(~y zGwou##7tfAL|VOEIp}s^2xvNew>X!||B*-Wznr(Db+~z;LwGi?4s{1@WOT?g{~$j{ zkU{1LjJmQ=D}nh7+zMzy*%^Y4>c`!KtWA{1cc)>mDVGD{zv8gh7RutIL$KG(%Hrkz zZN?6?C-!X1a{~la-3pVYxE~j_c`e^^i!XXYgOKcsQOcXF0pbxlRCYN1ZV^0G*VsZZ z!&|5~nEwKLvi7%;nv`sANEZE(T$WKvEB(G8ud8+#1FmJP1OWSuNJ#vJO`QQBoymT+ zMFN#|;ec;8U@Lpouu%_QzuBgUEuPM;c}*DtuNcBLND`?#WfJL&W&vsYq_W=?nRMMK zd5m&p!8db<{%F0U!hqF36PKJCIFd4BjyBf*@a`V$@vgYK?Ao(@BW1Mptkk8wnp{;I z1yGQ?g9WyC=pMKyEJqnjpxfuu<96bBcWT|{qZEA3$6uNMg^_K11;M#Kcl(o@%{8x= z%=8aB{^gZy3Qrm)(}E!byCDG-+JRnct^q=vu@ot#djSl8#~tFCQ%Vqz#GB>go+s|0 zC;neDeRzRkNA*M$kI?&0MhkODz$n!xC;dm0;&i>i*uMq^|fTdFShbY^T*rl)f zUX*4agcu1vI?tMNlj3&Z=+IAI`uE$Qxw|6F0j~J`tYMXbL6&{k92Ju;h=0kE)bsaOiQ!WZhEbs#5lQ=CZlL1I7`m<-`uj-nLN4 zCZW=pdD7&Nfb69`UcZNP&5WSMOBfX8A}d;`9kVIWBz3Dv7igIvQ_s)uvF7k+V)w@c zVJ&2fnEW6tEv-lCTa2fXjc|1mZ>w94V5XbD|G{g?4xMr~azOp~@s0Ms=5w|Hd_+L8 zrniUc64GD1dreJrNP9#?ZKMXMx-Ox>G!reuR5_3}#Jr_}>Fa4TBZF&_FllQVv|-~) zwMflMRo2A{FzFO^9V;E%@}^Z|f@e#DXT1-*zxlZa0OuRK1}S!;eukZ#bnlt;o%D1b z7IQm&&yP2jA1V92&_H3P&=Lw`rBHxCmVC)$&>#-X@~r#m5XKzLRwBT=)_J(tA+A37F?Ng zZ5hqhz5>RQk2$ag1*36A_%yu(g<6Ell!+#xTlSkPOIfM>{fuc-qS_K zG7Y6WQgm)HqnGXP=?-oUU!YrU=gbyqV-mqe#&C@k`4c3XETyVfXOp8uQ{J{le9g2P zG#SyF$m~$UO*s|I-ON0vL^k@AGh_qImI!FTFXR>n7Eo|pArJJqYc;5tU};@ zqpLCp-Ou2QKC7pPPPZE4qpvc;A4nKtq90?V3;k*ai>%fJ>4Z~ZRQr)a#TkM*fnHT- zTx_W8ZyDfNJur|zQVUjD)g~`k@;l^@uD~C%V33snY#J-DUFj**KWuOIyUIe={n|9k z;g7UkGDTZ&!!Eb~3Mjz=G+hA?cDiJoPf;(E&@wRW+VxU#W(QV6_iKzlQGz#Y21#Yn z?IML8E9jC;oF3s8uQ!AyDh+sN?zdPd>Dq+)Q)F97zrqzayFf}(Hah!#JZ03_yAU?2 z+mLuXlu$Q~g(Bf@l2LC-@)&vXWkO_C%|b^*)PITfM0<^5Es-7p@Ogas>d8`Kz#j$O z+w56WQel~>cTDT{}SvJX--IQ2T@gXBvQ*Gff z>Vx7nL9~wTS3{EkbOxCI(%0g{m8{#WTF>+v^e@cR6}ho*+RgYX_VdK)fX~(K@{wR~ z6Jd46+K&^+kh)Zi>0SSUbC*t9G#2Rer&UE4M!#XlK%k6@i=<9pAa=yzH=e;)ZSzt@ z+X#rImQ8ppwthC*YphY#RJ*?Opl1QsOt~5SQul!+FbClT;GAb}K4t3h)pQg63WY=1 z&qu-xSDkZaD~rC+RIbf_?Y*cZ7hd7 zGdr>5q!{(WLYU<3kwhnKmsv}d+c-~tNVvP%lkTS8nhJ4>7(6mBS#BdGi$5ZO%SHi^ z4A2gGOX}X3qY2vhP!PIEHTEWbR`&2e4)p*k$N&_;%mM*yx^8jn9-8xa7Ocy%g-SyV zTxt$t`vWpb<}G#Yzb>++)SGk|4Ah#b_R_k5DLY40xElrH&Y!?-W3+)%#ED}vkod%&1~hs@?xU{W@4b(YgR4_Xp)XTzVfz;HtSMV zFfeM{n8GzF_CQg!R$=nOE`h-;g~NWTHaN3cR5GVAvCxNVy0=n3(mdDJE+ssOrK+C8 zT*vfjcmb-nhaGjfJ`PTU2~dm)k5gidDlP)pv;X{oAHsC$J9+<)-6S%Xk@w4Tu?07s zHB)q32RCiCQDpA|H{G#Pbjt%bg|Jk71{4*4PWS8P+`2nql!g0vwW?)_iw(o1wMIu3 zqC}1{thr&!@YH8rN;j;y6hvIQnrOHeWZ2MYnN#SRtiKp|)`taZq<#%+nV)T038 z(2}z)YSLE1t0`bBzxy4TY$0%Y|59u7hO$p3+vC#);8iO2XBHtxf0DPye_QR@#3BDp z0^p^+8{=$)VrIRHVP$!kVS2L1XnoWWB{#>TmCj}Pr}%GI2PC6v%6AO>X-U`V%v&=t zGeXCy>vKRMf3(36FK04HrV!|o@uL8^nI2_RGA-hh+<($#XqinDKFczsS%I1*ckpK1tLDmwKSgt|-$-50Rl3Xe$g)UAMo@PNL@+-B=J zK9sOOx_4Yy>EyL`i+B79A$y+>%TLSGI^hKFo_>g*xH}N{!86j23Jk(0e8p~@0J$X~qL%f7(f2d@6Es)CL7>6N$lLj}q=@a5-Mf>$C4xdLA zXrF$#LH-sa)nlEo!u+ZP(Rd0##fIMhBn<_|^()BTvm}0QlJ-vQwo=@M9_%}JG(rAl z#l>`w>6=gX32wjywps!UetNeS@(W zy;zOraA1ji!|w{#xwYSnh-`ziFVv&DR2y#7iyp?ag5G$wJT%{zXG@L#0NE@~*|Teo z@O^*EsvPE<2=-PZxmMY5=&~72FTi*ix|25ws3X$Ut}s;+17qR5t9#r5qcFa%Xx76j6B(Y1}XYo?6-}kRE7|f zpzahuZSkg{`IVkD&)-Nu->j8!6w}AgZ^{E;L(plc<-#-X3BNtX$@59=&B+h^-?4RP z6CrdUXB@Z;86m_LO-F5(p);i1OZe1;0O7MC{zjaft5}?^y>JI%FiT-a{ZCce~esxSAyc zl;x9sy0zFWsY$f$F-QnE(TjTt$271g~;j^-(4h$&{_LJF<#bcLn+*R*P;`Ep#wwdh)r4=K@jt0D?Rsb}v4 z5!-NL4vqyGJq!UQ<_e|tJYs|H0A4QFFGq%-YelfXEwQb2~exk>O`5Uqr$Ev?GvVnLd(!v6FHN5Jp zqsS9wc@u4c5*`DusNBz3DrFBnYKQP>X4wJ)ZKLfr1r}oy*DUnT5)nwnbhxwXiXK`c z^g!6rK2Sdu%~!bpoS239zt@HT0K2z;aOi(ScK`3hsJIxpn9~2YF>-c}R#R*ia4t4hnpC?lCJsEmN@`9Gwuu(?s#Bgpe*&$RwSATmix!Gd zYYf)Nm_hUgYK+dM8@W&YGanoC&MO2*5W$A-4Tc37ahq=0al1^!d+cXy6&Ip3UMpX7 zlA}f$B?N`@7rVo5+*zl0Y&2wvbI+$PFFs9V**0yQ0hG471eBSgy`clz6zI7|sLG?i z^~B{(Xh)sgu|~d$7<0>*Uk}17BDkiUTfmH+W9gjaXBKUhs6~_jW9eXM(AN&J>Lz8> zst8r%n2Joh{%}}<)Zlz|WF!T|`~J53(`-8#pM{OMjjLRI%sOZXW9S{3u7fq$bdd+! z#+t3zF?(*>tQrq7zgvRXKIPH6*DRN&K_}T?mcw}@dlfD06DC0^E4n%7A_KcI_Z%%E z4A|6uA&R5A_unP~=5WQnDfOcK1{Tpq_>ql0M%stBd5;u+m!$TJ`My;kKhXh30%=}7 zdTzx1GQ^iA2SlbKd>himXX<_mbpL7UVs;K6e$bg9qjfwR3(LYZ8M1r~^2rOlExkkQ z(PrK29l8fo2lGHhB&6!|Qv4(L6F>BqB-E`avZ2Jc_}I>{R)s!{OZ=jBKRx@Cc3EVS zeqzV!JOiWG_eL@mGBj=6WF)IW0f&4IX&l*^A1_9!8L5W2hkXIXR;(V9NbisToNl(e z9XQy3(O2d~|8x8Nf2RBY&ULXSl!xky>-Ve$mZb->F%sl&!9RV4LWF_!{e+Chq=LdQ zk|40FAx4j+aQM?RdcQZo*G=mX2lp}0l^wN3)#@cV;dBd%td_yW}b}rGVApw+-vwZasY`d zZ2r>A1JqVoMc?WreOWY*ExLf@wWoYh4??HKMlR_2^U>YwHjI+X29kIfN-^Cr=y=<7EJg!76+A_uSWSs!QQs5>bija8_Z#A?$cbdi`MbDD3~ zb=Pd`m7Hy&8#%t(af8z~bc%c!42Sl-2Pf+EHI2-w$oyRRu3%VJA!@xXE5NDq45Z%g zI{lc|sv)sla*9n(X#uKf`1j8aX2$XS0VEDCM6C0AltA!Ib!cE}7{YZJ1qu8tG>OhK zg{zt;b<%08N}+WLSJplHG-R;KA~~i4>1A2Gf_W+VCF2X&f#v$>t^gbM&5b;PbO=g3 zQRv2{(wVb?;{JY!ByGYvCE&FTU_2+kNLG91M@Ls(U5(=2xxN(u0=Tk+!Koh)6=sEo z*5TInqW$HlLRFGCK0sZ}yQ=&M^D;Z2y;-GFjc(^!#tw6VTQNA`^_skHWCWH%vt(*S zgia+k5~);(`meUUSbEED58Ql|AEp`JH8gk$zPFRM%CRgE-OjO01dznchG-->)0qL0 zUKa6klI{&nA&yr-Sv5Q?oK0db%1D!QT8r?MXjHbXnq%wcB8jrG6>#xod-E?GizWyZ z^N}bbEg0NJ(M<$heP6sd&5e506`etuTon93;;IX={4o}eobQk_<}Gf-kz32&M}gO| zm5ESAOi%8m9&*VJ0RUI8x|mjIr7LSy6GiQB4u}l?Z~#zA-_euP1u9Zn?QONKNObmw zB37d4cqmfv8uHb`;=zb1+meTD+6ZgWb**UK@fTRDyQGJ;-qx}F^)rKJ*-3;PPVjXb z7$BL+G(bthFN7zb%9=VmY`*xsLDV^~8;&k#0nEgh!Nl@>zYB?5aZYQ- z91ZbdFdLy_`N^t$uPa@X!>;IX22=P_j;gq%f4b}Yh{E_MLMG^mdkXP+9(q87{lm)@ zGUBQcj%{~;&h9oLC>#{hmL;y94v&^2CZ_Rp^PtM9JO~41=mKw0I1dIJIcd_cVw;an z*fVq;4mgLe0oj$ULhfz{IU^}KptjS|a?^Sc0oizX)BQOq@*z*9xIqSaT!Zav3j>j_ zaR@7WKyrJ0DPXL`L|X8J)%k^kP~fH_!~9$ekO-3fc-?s63(9DEw}81@v;;KY1R^mb zc=mvapu)kkOMYg$$8On%AHQXb^E10^1Q^~neI~gGz}$=E_mOfwSkUa^W+GN+Q;~8t z;8pT9^<7sC*eT2m2?@ExRGGQI6ZV`+@3Z>*zUq5JWeuJ8WB_t@Y5w`*(T02jAU6a;}H8`@9F)b1F7QBDkL z=atC{a;?@ozh>g$V~WCCEgmns!Nk*Wkx)5cu*s(1s;`NmpVxIfqbVrttMp(T#Z z-7V$+r1*~1V&NhVHH-#i4WlHS0d7ks9(&Qxvzeb#^7j6s#DL_cn2!2d+*@-@l0^}j zItBcAjM>CUQJ}U&QhJ*20-s3`cI_$+<`|(8S?3Sl>d;Qkba0F6(XtQMkUm9Fo?ryz zYVsT>Qbm5#I=7~LxbYI7n65B)Y zITR01X<(PHkA2cwW4f7qj9f+2RGxs1e4*w|V>*{4A* z(Gpd1JOPyWN9o^C9aw4xbQ~XyB6jl#h$X?NR@?K-Z7T`QCH8STOOf8*&K&?95zZNJ4>_DX_enYi|yr)Hb`mLe^nNU=@(x_ffg z@2-Yuu&wrS=;QaN1U7PdkEew>yW}hW?X3;Wxrn_K596UxFn_3R2)IJ{Gu6>mp-o&t z?+$F9j#gH8t%W1Ob-tWeI|4wuTr%y5{@U==3P$*o8ADU1f(eF2o?Jz`ZMAK^N$loz z;#R}TfIUqL{#tIP7;dn;B0%nxrq+0R*F(o*ndgYUdG2RQpp@;CbXbq%#v~DxHAn8^ zo1u>brB!L#gAIGA&r+#?&TFBbb-p@sX*q#+ii&3qC(W1^w5R5^IzM23v({u~`xLF) zi{0JT)$Ita6AF)uR6?4JUevX|GY7A{ae%eZv-&Lr+2}TPS#2X+l()X7Lo|kYaY}?I zkZ4gsFs5-#5u&;;Kc0bSSfu9YoWhdB7>iX?-ZpaRGNws=8o!(9Vuk2Su#qPz?6i?b zYlIiGC(~X1WzEV+Uk322FyBP^U!Byo2RBknt7rjx#abR}K!Xu@$;HdBKL^H(X^v1S z8F%2X)0)=eu_+oX_aXKpXxC#gqfsEhR4ESbUOL!~o2VO6@ z`fpq*4*(Loz_HFB>46|gj%N0|#Ox6Cd7hX$pe*&am>b#oTUY>Y&>W*nSXvx$_dGky zPLRpadJ4u-?Bkh<0i#OemhNKg+if z%YywJhVWwLC5$q2@|fIZP83TULi6s%C>?cRTbuJDRv31pcAgwukNu?}g&6FHlwh*3 z#c|%S#d#Q*(t7}U)+7*p6UyMa)qk~R(y&Vk6MI!54P%afm@(7lWNW+zqWWYweV`oS zC0=uD{4WJDG!(oG@bbj*>@DIv$tMSv2&!P{D_=UBTu`nv4}nNW4dxL%51I zDLGU9?Zkk|ET|pR_7zjE+)p>J93isNZY&?pz}Pcc@LXOA1c6k(ydRfb64P&p-3Q%W z-2z$8Q=gYi){Uc!oujDnXV1=Bh`3k;(`&j(Tc5Z&?uCr~TCP(v7!ET^A1ss1udw4Y zqq#$kMFKMKGeAx;r?kUwphwc-$-30dyhbJWIWypOAW_o;i{Yj_is7m|Y$yBs1M3sX z0Do*Z8Mem_Y3G#~Rmp!o8Ag3RJ<@E%18&lk= zi(~Wgpg`vJ2G-9Ez1x>RQlE?0{vZ!SO~31z9Q3&;JWT7;H%jO)r`bUu>^#M(4}q~h z&oE%~5fx=n;xwW3EP_A;mtfS<2Lxdk)<_^y;#R6-^x>6}e;AFy;TX3Z!x2AsL@bM= zt%lrmmkl>ZWSFH3yBnD#t%h@^>0gP#*QvH^m>@w`0%{5=5XV;xB% zeqTJHQ@8A;b|S1+8){f@kB)Xsa+oUVR|O!Qg6uXyRv_@Iz3%9;iqz*Sq<(6A?5SxK z2TRFr3rj00o-7!GW&Z|}wwKg(kok)!9?4TaKkDplQ>^^NL_Y|lD|q^z#bt)o(A|g} z5L&)1M*ci|#zB7E$iR4_Z`S0SZU_iQ`iB1fUdj1K18QLf^TvPzb*Jy+7W?2M^B3S# zhjqO5ju;^%uEWweQ7+pLAkfAVN{2VBVE&zK9gdm!*igJKz|GJjh1K` zc8(pyi6?oTG(&0DP+QP(axB9Lmmh|ou*(1ORYm-YqKy4PXE&gV<+-t_me4cOCjyjPnvRjN=n{V3rxEanm6kSnSrZ3 zHEZfAA;*Wou_C}mv6{Jn<%*=^)Z*d9cJxzjX(po@%ThpWYta)reHi1ciMf}QN5P2P z_1cpnTW0b3W0*ytw1@fE>8I(wP%O z%*&X~=4@A~qAD;&4YDJpq(e*bdN$x*a=Bu*U42V^Zg<|t3tI-n6N}wN>bc&Pks-IA zSj|zNki@<1IQuwbMU7E{hk;kS^BD6eWuY$)Ox2FarwhOkhrLNC^VWlIZHi@=$ZZq< zj;mug8PQEf!+ukLfL2|tfeN5&#}exzjWK9yg898tszH#tQV9$96bY(&VK{mp^~fKM z5C2sBO)xhMD8mX);9GF3+t7HEy-tbM_xgY=LV>?3YxPwSc#(>c%dcwD0RwkJMPJy)(OU~FPrp{P+-SP>VMv> zuk3$DV8Q6 zo4=6!1lQw=q%5j|T08$zHZEMw9k|V1*JsX1)h={SvS!*}j$Jz5vpTp=HaAORd}pU) z5vBj62uKS|^R>r1&%Wi{aJ_8vzVwFTgVjmml`sxs&@xp!Fe>gpxk~^F)Z2>aSLau^ z&R@j1tLuIi$94B_+N8Wr3ra|dT!2sFu*KCd5_xX>q!&0yIzLSuT~KRlS6txeWT2_a zalh;xO6jSS8oOyy=$K`q)xdiM+Mph%l8^I5Rqktjp|$7gxlrA*eEVstQtkDO3hoz2$>BCipU{ zm0>PP_ms>)o9BIrRu_WCMW zs$)2sbDVRtmNN%FKMh>cg}sdCsS!$yI&k2p6gkfYSIrDdaKO^`gvdA3B|#I54}Wl( z8Mfd!i%OvL792IoU=UenjnHu)skTrPmHkdwv1pgipBmo_5 ztCxI~6^uEhA|n8disFFEY;vlz$_^fDOc}?xxEuZvxFk^w`a@~4&uQ6(melH-dA#*u4oNi60y%f*|y;mKa?ONQ81Wz$CmUGpzbBN8RUrTQrki;mf)LbyaP$7&t$s2L4Wc_)UYGbn8xGSP=^Nw~=6CZMi}7hvxMhVu zMF}m`JZ&k3Yu_J(Ylq7nWu%9$EveRHo4ndG;m)FmNC(8TFm+C4>e4JQd3Hk<4jr%TIRJk4LzCV9`k!Ra?Ls zC1%zak(;mLD>Z*ESfw^m4OW~K<$;F;>_EGS@>r@7wiV~d;^g+#_2=v}7b;cKpdRf8 zc_1c6gbrj4aZOYFA3U6NxU&GZ(MAS+7cl95cP$pS#SkY4ARH}w z!rGGdBK?9x73Zwu2J-2unyMTQha3{^ZGl7`n5kn4GH6aMLDPz2dDXY_#v9+pd zVEbXe9>^f>=5$_7HEW&qTr}%-q`$W&*CoKKoY8s_HvxKQ_9ZKSuFhG}?p(xEAThCd z84b?9xt6UF##+2{Rnl=i8ls4kZ>$of(LPD^-jL;aZ0)%Y!W@cI%|mr>ATZ~T$W32@ zf9#~~5!5#PGfA(qWgECcct|N3SJPvZs!jT;NjehLO?>bmO$~OMq~7d4MS{>QRTV%A zsRLDJ#N@8=wS4sra76xR_&EbE*3?~V9J9Yb=fK;%lS5d?J=83>AiUq z8Zbz)Dybyh{OI*5pYp9gP*^Nbhd$(s>*A}LCShRxax>nb%GiFmYs9?ZEj8z9sgJ0dp8vy#sfLPl<|ze zoyzxjplf|L8?|Hg@e*+pswhjNji`V5qWm-1`u!OQx^!jVcFyF&6fb>!4|a`~k2#KS*uBM^Mlu`9}M z_!V)PRt9fB1?3zoW!aKBBB=qyh-{$qY9+myC+&q1oDa~tCoq~con*#z!V2xkzq(5R z$ym?h?wt>D$7N?*n)V@=H`m98?yJ_-w{LW)w`aRQc1Kh>i3Bp`PFh*p;z)W46ldah zez;7UciFuWuFw%Ib{sitw)*Uyr_8EX2iD5AG`L}xs64<*yA$F?Twwu*JL3(yAi%8M zeycOUmvV;gBXv_2Y05gpeyT&Iyy2;P~ywfcVUbw>5AV4>8mPM6|{9> z&|D{9sqqWM=Aqd3TT+F$>R|=pRYI2 zot$@Ec>QF`M;uV?4ks$TE?P5WG^{s@FDIJm$`~ zF%Gizl)BDtxUKtJEaE!i_y`=m{l$oTGQ`>WHY`BM2w zow*$>Ml#Qvr&fEL=Gb4fvrkUmklMPJbIgD0Q3s|SW!Rn$YA@cPdkH4fCjW3c|L~gy z?2ZoIh4HG?qqN@4f~=5q<+v-9b_{Q5o*1k95!bJpsUE=QR8Eh^E1&-gNYPU~ZMw^7 zAG_0J-wWKQ;QTcI!jkC=4|oS#MKkxx%KYS0ls%2P*O@&IUkf9~6{!V;L18nTk$l?oajcBG8pME&D=Gq1i0GE2j+0uky>aPhF%z5z`so(jU!1J14^* z_~9I}!v}XJy!ZmfgnqJjZa)2EZur)Qns2ISZSL+hLqKMkreC@1*TIY)%ve%=7V=TX7-#&X7(eQh- zu?A%tjXk)az(f=so{zY_-@Q}{9E@>;m2+_VAfsmLT$Z(5A7i*x1_fJSjbk;Vhu?D#&K*TR3@iZi#X zQKz%nKgHV~Hou}MWrF*1!}>BsceA^qFt?MdKCO|_ul-GM;*pZy4>#px@QZvAfUOc? z!@r029dQR+U=e z)HCt0blsr{tTHoojitGC1JS*EA~=;`Swu?Kv-GsnE-4*s>cL-{rbnhw>Z1=Ij^%al z5cTgE_3y2QPdmECPXfyn#R)$qk^44%+plwa@Th)Thk>>Pq{8l!WjruP`y|WviuVDY zk?U5VR`o%i!GC%u{^=I$+cr!0f}pvhhkE4y`SAy0Hk4MGz;aH$^j`xtWu9rcGt}HV zo2s;ox9!|IN?!8=I}XG76>U67Mj)6&CHSRs)6kyu{Jrr5kymov5|Sd^m0Bg?Zs(i<&c#E`!) z@I)a^@Sy*dqW6?M*-l=vC5%J7rpsssics@)Gxo#lDU9E2}A0>q1?brl~ z@GxZwl|V&HTdlRgD}JAK+t$RkZQJO{#I|kQwrx9^ zOl)IL_WPdiJ5{@?SFQfjUF+AX2lsQ`$!q?sWMoQ`N-)FYFxV8LQ4S_y-Kt{Ld(&aBRM8<;c?6Y=4J=zl$HCx zQ(zi4=J8h)4H2IBtEK|$Lu25JR-!&ra|S(XG--j)w1YMkC|c@M8F#CcEWX#8vas00 z6Bm&yAZ%sw3R{h^Y|m5VF-wbtRqhiWPPX*rpD~Z)5a`AuofF;Kqk~k@c4a zwEM8)>OsClfI{aqkJZ)rx*VA3qvSR&7_Xn&F#5A2pK7HHa~uG|{O4H~Frm-m6c`eJ zg=X`E>5CKa3xh*r91CNW`E#(5yG89D3NZ!C~mLV&I%_C=qwGn^E@Ykx}UA)G^D_PH&#EKUxteGx{6cD3j0d z8#cX5YgQ?8q#=Msk43Ou^#O~b6k=rV(6fG2tN$E%O{eF}R zklEOzwp8pL5dpS>tVTNIj*`j~2^WwRTDpxeScH)e@t z2Fo;N2$8h>f8k?o`XrGdFmn5ejb0_JUEbJXPWNic+4Qb~mza{9A)6h0b5nKp&gAhh z?*vmhbtC}(6}!eGRgFzV_OS|caD&gEM`HAuF>s`rx}#QNk;w+VxJ+O6K{kVFx39;U zm6fm>-E0H{HsP!t4s~7tjL>lvo>@<;Lz+wub@#z4i7r@t zN1t9TEM|2dd73L7%|rt#CB2Q>Rf~hy#^{-K6&oOI#Sj*>60yuumxNZ!zlFzbx63on z+;K9luIwioq}{wA+v@qvZji34M#0`sBAzZB$u7wO$Y5QO8hAV(!L|+P@yC?*><{V~ zTqb@`cRk12us-KAvO#G^gVZuBskvsZf0X+8vKJ~PBuP9kc-?x~CR&*So3GX4!iQU} z^8@J5(W{R4h%B2W8gy~=5*pRCI~-ridf0dBL4#K+wJ}+rtz!;gP<-oCDryscMekg5 zoLXU|JSGF~AN?#I>~Qi2T+_}<9^xZ+fnZA6hWHG(c6BmG&$Jsimj^=+Jwp@wujTcP@U1{0D~GGgm#p(_rSrYO7~AqA!G2tQ z$j@BJ?V|(BG(MFdCe*k?g93XqM*I5E5s!0&Dor68&+20o+bL!(tlEWpx{1bVTSYq0 z68H--FiCGX)$wZd`6B{kG%qQv9Yt%z2px1817euinEc9GKA+0J&F1sP7oU}wGk||m z4ch5+^ES3Idb)u+&vGX>AKms{iASi`{VlMkVVvg<%P7pxZi+l1c=a2nR8b(9StA z9)%{i2~15%o(U+rQd0bC>|wQ>{|m$;)t?2k23ICuwiHJoq94Cm6p|{cEk?HfHE?W; zLENi4<#-uD5UV;t2+pXISQQPCvUr#)jV}6|AB;b?c?ruCKZk`w<3{kfpjP1RNKO97 zIa=y~M~#H(NL;;uC)t9_pFBJ{fiv%n3g_B6f4Ho0i;i#2y!1W>w&Q(96&HYEx_mDc z_z{;?%x#&T7%x)r2WLUc`VU!r880vp=b6SD;9mLK6C|BAty$Jjg|l;@%Ht9jVK$Ev zDc3-nb=4dvk6wnEE>m7c*Szu8;$(ODwR~$`xsd8ROH7IHn+&=tlC*4-) zRL901j49#6Ronxe&n=XtV6JoNTZYClw_q`&1O3eQ6Ss)r-5q4jvY9iR;G7LExus^LDNhK`i4K~`_ggu`Wv5;b~UW*frpVU7<+Qsj759!JQM2= zGf&LgK9*D}ooO>|u#*{0sxFoYSwlo>RdinP8n+qdNNwVpmsw1VA$G$=nl4H}iY8$L z0uw9q#$=^HFxzDFVgtb3hb0VwW)zAp6Pf4Q!5PK7nOv9gi>mUG=)9HJZ7k2`FQp$# zI?E&zFF(de{ocgtIXOG;pjnOiz>Il8%`UScTJavYOo^1(m~yc(ogAc%oQ^0v#q@lt zeu(6_YG!2uU$Uly05Q_;eHS;EC%FT-%VfQyu9Y4Sy(68Q84oZ_`pb2(df0Qw#A^Gg0;!^3*1sB~_o!JOAuv1j}gl&QlW`%$P)qAwLp-U4oH}@Xn%9p73|QIDzK9E?S!c zidOA3^pgN^B~v^?>RS%c&+TBKHsP<%twqr^p&`TLkvf&a;BuzK5>EOka!>_hV$a#V?( zaW~V+qG4EBlp{{{C`fpu!r>3mTXgI#PY_GI4tzLI6IrG6-{6nw?CG>thZluZ4?LDy zABgGM(m=?F<>Tx<=Tz82C%(#UDV{Nus-rhMBoL9La*y!m-!B}Kzq2l#f`tcU@!L_B zmX<#SMwu>{3n_vn{y|<6e||5FrI_Ya9-TlwfgmA+pREYJu6)7Mz__+m2v4FEha)_I z=EXxCccd?o+)?s@&TDCbZh{o8|-X>HeEC|X@B(dR82?F{XlrX zR1~n?1i*1m9Cc(E_L#lEQWiEQulkbi399pB9N2t+TmN;w1fpc`@!75AbZQWW)oh{f z1{?#DLvWiMTO~6hGn&dabHcP6*IH$12C}rsF6YbBY6iB}nKuhwYIU`vyqhpCLmYB2 zM0GZPv0s4lmfD(pqVg8n_6@A7@fL3dQ2ar8wU^k>l&F!@J@8)>xCuy82!H;QcZJzLYie-jvA zbsPRRH)tp4JUzyD+?=C-MflADWCUC;^_ohm@53RPI%>XWz$4Hpw@gm87k)_5OAwm1 z*hT0A`^fm8A?uKWcdg{^Uxt5aO{f;IezGsWsevWTa7%Jdf1{F>vus3|MR1_sGh7NO zNDMR^g}I2*Lo5k@$+yl#``X(FAy$lXDUfW2(ipU8(hz~JuO=ScGjNW%$`B`%)67e< zO^G|Ra4g<>gFa6q*XJw)f>7DnQMF<2!8NVdlj8ZoE-#c(<+J<-l8%bu?o%xu<={Xt z(&R3*KI*S2?(z!$zv6c+b!BR>xN&6rHTZ~cxC-CA%OM)zJ-$IoE4XR+mk-#Ma#bF` z%0)-vWz0IQ2J41+*Ir$JL!2_X`)A*mOl!$v$x+^6~L$Gg!R>+ZE_Zh2`__5xm4^jExTrWW)fK@ds+h9NPAew z{EVqk5R^o{)2%;MuwEjzs+czIi}yqDhcIHMDx4y3u*LUGJ@fZLB%gw%RYaTYiaj{lH zg0ULNa0q3nJo{V~h0TS~+)~S%a8WuqwJNR7PDj-Q!PDEni1{uy;a_I-F)#>w652^E zQSvuxbYFoT?yWZm#1uqasQZX;g?v=*?4>U5J>)vXcZ4!WhyhzS<)waOzEZ~gtw^yh z+ds?;6OM(!&SE0X*mN_qId0>C@AfRaJ?lDFG^CNg1Er~@n3{AGHk*aD$KWOoM?u}v zUTRuB3tdH4lCKv{sO`ykLOu1?O4sAW!`QFZ|@(=BWkK{gK6kC_Cr1y2lxTEYUBu}7?Kk}7u*3lWUr0s z*T*!{Eh)@wzJkSGQRO^$kSygg+*<{wNn;;TXZ;mT;?a?S)nSQ(&;RrqVs z!v{>5fko(Q7$URx}5q;BZi&j3^R?bPqL<9n60y=Uf(%IAJmu| zp)z_P)!Jq&#mIM6*y@AJ*heebYNvx9tc;1t%c2nA(}hec{3CQN6yZwtT$*;LP6A~l zt$L4t>&vPb)u&rb36W@<;jEqu3r5NGef^*)$F@fOi~ZzIR0zB-FzP<=ykh?>{>h5$ zNK`I1EtrH8*1;&#Gu@l^`oJvYXXE^Xy7W9F4ci)(+*GorN}7>ecH?yHC?0|B;lVXw z#d&6O(PEcc2&5wHaGR&DzPe}2-Kh&#{Qw8kZC~s1Dk)*X{rTu7l^!GlRL8?;>_a!< zpV!n0Zfjzowl+{;HmN0by4ecDVLd>%$=4#@i4Q02CuZUhk~Q<&n)e!0%K7Z@b%x?}3=(~1fF@pN_ zQQCgsu}H94L4HNz<4xgq0HWJ>yf4JR)v|VPt7$2AAOvue zc|BfmVsLCmvOwXw{x&P6YfdvfiW-`HjK(@>XRKm3vdm;txRB_&9c<$h`Cd#9NUdCz zv^o57vJ>0VT`g&!DW{=3@#Inc0O{c{TNgSQ_UpL#WuQ@hk(yKC^ul$ZjFhi@K?Xh@ zox5Vbo(YT`@9MPZN!s%`7J8HTX|}Wv=-fIHU6wTx?kET}xj zXI6YrIe=4=sIyu#cvWt7oKad5S_Mx7c zW}KukSXt@Z4r(rV1oFyklkaet&mpjF5M11@_5gcVxhs~WlP5!8Irz#6C(#JV30Dew zjd}t(R;N$Nvy2>Av!n1#JPfzJW2-$(9E#+75cLg%nxL&Hq>JGgkMkzn7_z^WI*LgL zW8&A=Y%jP3AK1OJCc?e1l`$8=z>%O=P8aw}Hs|GwrC_sPj1z7Bt+8y>c6 zLO^OO{!>}@Xg76hk>I@r=b6x}_;^jp;Q^)+i#b~hD$nt_LOj6S@oX` zm!?t*&Un*}Ig`uJz*FYIb-)XKm7=wF+yj(?0(<;b5AP#cLGxZ95p>BNHIeT7qc)Lg zU88uoN>6Ixd^kPNQpkg+d~Cri|K6F&GJuI1-V#Ych)qPfUq)&KS;e$op+22Yo*_z= zlCZcx_E8CN4ZHjlD+`(f&!UCySW#(-Y}y#Ev$K(>YrK?*;V7J_54hsVtgJD&UX)b- z_{T}LB~Wr}LWSm;jaMo#uj`mjol`vy<}$=|RL88DR8lHHYl#!#wqT{^9Z)|k0%T?q zsnTOH2Mo!q`knApLv3cOoO$>qHUvV&W-+rIz|EgWOBWl*u((Atw^Ube(>u#Mh?)6d zmk2E~U6yF=dg@!Ii#QLdE5|>D z8xdh@p>0x4u9JcZe3t21L%((V32=lwgtlBpELU*-(PcP33&4$s6Lx3ldq2=cwu+B) z{GH;zeWk`miKB}}j)`c1{kLG!!$Rpu6-)#2l{zMAsk~Dxpg(>YX1sD|XunRdcHAps z137dUzHO8Y_ukds(E7)r{3kdmWew>-urcg{RV^ra=|byKc8XBSD-FXka>HJRlw;S<%-7(NusB=oa(vh6-ZdGCOlLYL&D|^t zZ+;bXV7LPuhuD3RBT6-4Vj{M12mZO;ASvd$x0%&M2m6yfh~z~lH4@%A8hsLxY0lKJ zhuXAa=Pb1bUZx`UKmc39+olwM0D-^{hHEA#1?l_OO?R1*{;AnTjMipIsoO}uT*56gh5d34?h^tjEsJ9Hj2XOoO z?H!spP-m~kGDKyWYV0SR?8R@rJ!j-(!b}1>=+W!-M#Kx+0o0E4{+rMl9aQM_(q804 zFv>p4L__eOdIv2;*9NVhkm8=LpS5PX;)ac`_yKjxu6V=RE3lbHx)i%AXWS?Wm1mZm zTkUE_^{!dJ%a&bninUi*6iju^cV+Y6?4QIy2x6s(>EM@dgjW37GixF zR22SE5NeF-KlvjXM@l;MKp1pQ5YHAIl_;79=Fn`v6@Xeea<%HXpgM5!!G67heXMm% zoV6pms${@dw&g5`D^8A1b3#5Qci6HqZ(C@4Gn_np;(ptXdOV`(q?Ou@4hO%apON3K zAP@(As;R>z9N$sD^g+?@=+2!`u5CFJ+~z++V%pv{CkpoY>ag*P+IF)waZ&y`rbRSl zhxem700PAf2`D%TSsdx7`#cjd42Y~0LxwmBCuT#vDn$d>s*)&kr+In9M|Kw_3&~pv z^hY=f6JvF1?$JqUza(g}%nGSl_06M7yWt2i5s*|gyj(11)l!S$*U;3T8 zGoCfqa0KTD0;vlVOjGPE8R?;Ej_l#VfKsYPAF{<@k%bsCu4lfI6z*toBz#hQdpntE z+5i7Qyisw{p5zXZ=a4Aq$wix14NVL!W8NsmuSA{a9Ym$bRnWVrbd)5^odJJTRrCrw z>35%sWjecM^=hbVuBd7_5?3||%t3d)ZjO+0@qW_LW;91=qi+ypPtLA!MXSF#S>+1m7_ zFIVE;9uED$+IA!^Ihe@phXL+Q;q8|Gn2ot`o;nD3lJG5ze~3y9Bn(G2bLjFnF(uC< zbju>Nmg@1q=563WJR-Rx}H!-}H>;b<0yzdt?B?kV;0cNk&)+^t~mhZ?NDK%HIZy-aDDG5BS3XnH6x6 zcTqSqni8F11@%;JMF6%~0Ak@QU;wC7KeXDk7(Y1U15ZXqFeZJ-=MU5vab5P&Fl2Uj zAlt<3CIhc`!mgjff$JWZsP~-%JreyrWW9rHz2n23AFVCWm$tvXLw3969j;KXk=n#Q zQ>_o>TR}TVJiGy9>%))$9g=^H5}X;#eJ?C~K60G27I-jYJa(J{N63EDd%nG4pYaa- z#F_di(?-lS&&8aA2>DA9oK5mzF-#mt`F7E0(8TwL?0$jrF5`qM(k|J z5z{`dw)MSI_TuF1O@xx%&RkqMMl?L6y~umyX{?#qz)1N38=3fjtveN<`TKkBSp= z#2Ho^5jUC#n`kzT*wf(z=PDA@H7;C>I$@M>THgVWiTRcHCuC;+RGQm^uYAsuaEE&dJY9{E~qGHVmvJsKC zY5m2)*MDd_Az*8gJJMxjm%wvc}lFhgGUTK&$#0tYBExh95tae*0W{5>JHen(F z9z#b8+RMP9tlCyI4EO$hIgQOQq=~^8S0kf>#y$p+Mk!=%(!f%edn)G5weU#ve;(8X z2V)*8mWu9eMA97-2xaDRdotg#t5xFqRujKF`ClXuL6vf3e#D?|L^oRKO72d<`c#4H z_x!1~(QubwpQge)q2%C|i?KE_6z+Tl_G;WJsz9Mw6U9?0gXAk3n=Zj}-Fl}-*9OQ>)UEArg8xLOQ!k5@Y9aZ!l zgn#!=-d1$xhC=T;>E$KeF^;r>x?22b zdIITirET`zMfo+svcSI`8pW9AmTdPfVnPRG>V)ixj4q$h$L5rB6RXfO!Lc-Hb?QvU z?##wDX2W_BQf-J0hmez|!?a&BIeE1|leFi^TZm{|j5{{{v+ChE#y|7TP4FDO&pr7SqLRzoLf+MlZ}EE>yyD*YZqUyW=(UVtY}^v9^j zXMox(WgjN`942|yo?JcFC|UdwR*BfYpC4i)-3!_2BqwF^6tE_!xcpj-m#4TGjO)*XjDQ+l!_eQAZwkw6UFCR ztaYW;a0VOL3Q-+M_`^^gGz@MxANh+q;&v(qBK^qg?D8j*<%;W|=ikc#!?%^|DnZ2{ zQ~6UyN{)9sbZK2ba@;(-^4y2NZyJy{tbu}$K~M8EZ+gHiwE&k75pJU#v<`mugUf+L zS7KzIhY9+AUL=l|>%M~ez>m}BqU_C=U0c4NI;ZXMS~qdMHawSzT=9y71H&KZ$y|WEL4Kp- zt^r6JmkeN}Xu$l%1MSuN=ou`7J{;H$JcB(?bW4z*@;fDgcrudR8UI(8T5rb46T!lH zWk8?jj#r54wc;PpnD>M?NpasDAR|o3IZA#{WNH~GR4D@3yL_-#EYCmf_xWvych#)N z&t7Ug3{2O32$O2tZhMKp+%{#iC{`AkFU=sUmH;FfOC$`?g$%LYZ(=TRO;%;ScOiCn zimOWqn%2zC;ef#`r_3f7bx~BpZ`zoR=8kdu^qY3>kv=md^4$blsb5EOkUdL+~eztqI9Vs>& zDZQd<(3jQ?{zR`Gp8Fz8zt!t^FnO8=LagIQn~Ev$ywR~t@V9TDBdJWsK>XMA*vg{8 z(XS0xzgja$>*Z>+_uDO}9&u{t?>Z%$>VU>;lmq13JD+vb@eKlyH3;H~Zj)-7DUBEb z0m&o2LDs^!Gyu^OduljDSLm(bdY48JZs(U5!p4zvX1F!Q@aW)}XcYATwvu)Vsk~_- z+Jbe?uI31JR@yt1Ec*|x!ZcjSON8(yyI(1c)o{#$$<#7{)pm?*N{bn`h!#6)9!QRq z!j?{v(3BRdBh8qjH6JT&wy;cSG&y0et|bsLRqC4`DKuRk;zw%yNNY;t&H(n;-D@29 z+#6!T-+1Wn9T}c}?0p~DfT_XpOLeG=nQ?9kT!9DDuG{x&P`f3jKNm+9__IH_m)oI6 zv{vw%FMGYdj`jb<_lW0+Uz zx6BM_>)~>~{8y>p1H6Lnf-hqa%am9^uhd1DR$RXH(^ZGnAE?QAR~*_z={NX38RA9e znUA#Eqtgv+1Ju_ro?F7E&Seur%SX-I3R5_o2t z(ZthVCFM*gsd9`UKYO7%!s5G7cT(Q;RI$KO(SH|Z6}5_X>Dxe?SU5dw z+Cfaf*qFm%yU-)S+(!2Dw>^8uz+&u(gY$JZN05dY56F^mArAh)8;cF*^pJq!QX<0N z{|iesF&9N38N%fyf^#ep!b+vQ#?BWUHV?S?M&}K zFs;M4yG9YIj()BqG3%xX!%YRbP&E$b?S&SiPPzA$&6c~S$Y|59RAlsb8QW-?NTy`g z8`@%3Q}vLLtk`O|!X@u{e$hATE*H1zHCX9{fPJQQ!Q6o5(B#-s_3B)1PnY8S1{!Y5 zhs8DAEKAp6!H*GsFNTE`j>cF42c5T25L?pTTy~t@U&)qmjFqPQAYzR&=D!rH1h5Tc z&W=II8$VTkl|4z>1Z}6oK8K?E$c*t3^_8ISVh3O2X?FIK>gE4ZPaU$Zj6deP&5s== z0+1-<$(TgzOEE<2E7?WsYg>smwLH`@QdCGM4#G|Rspj)O#gDqk=*qO;B2PL9nG*Qd zdtolXAaOaf_;GJR#+-?eq`Q%CLl32iVx+oJZ#BTw7b1w{CAv{=(H&NM@rif;f-W9zc9}K)j1N1C>j6!!kX}YiOT+iHo^Z7{DJgq z{a^A!vZp$lIr^7j5(X+{KMsbFkYWOe3<{-|qPC*7MY#%y^%D_1G7kBPjFENK7Uo5_ z{Z8(`CcY^TId3@uK>@`JBkwC7W5Hd8My`;}olVc34&J+Igr2SU7xixg&&jh1)58c0 z(^@ww#k+^HJbueErocs8V^i!T{r#=}x1Xi@%=9=nk%n}GGn4dbWj^1I0)v;VpT9*4~eO1p65qNr>s<>Wk?3OMXhfGZDf(pUSl?>tT?uxTmtAgH%iCQxm5?7he~p*kXo9ToRSA*L)vz~wdLq#qMja@lT!s~ zqDV>g@MsD3@XM5Hbo_*`^|fcIprFogP_@ZP*oPCuZ=>_kc2RMQKu>OQCqZ4c+xh7f zbL(qg`UMPBwG&3j4PJ8p8fC{9#$qAP$QKu77mWeJY{IjV*UZ!cMlqf#sPZ1}j zaufenjiPsbrwiQ9wZaBVW&*2evW=+%3@Z>)a6rzvEyA~g{i zHKgc?!n?gKw{&R5(NRr`n@Gdx@dulGFkCUeEvWzIiB5VgDqO-lIEB&u_2f#A z$Ga5>od}cwo*>aeuXKqPZ;Cg3Y8+@jwpwIK9=pY$Biv2N>+TSm?wiL3w_6Gi2mg@u zkdW!ClGWfF;qB=X03TaLio@AYNhPeat9N-O*gL!vBk@OQ2otq|{0DO^)p`{U%(iJI za1#y1e5R9Ts|%@<#gUVdh9yVq?p81p%oo5-@L!!~gObUFlgKb30@LsB4Y^seG$;XBDS=|@67jC9Bg1j*uFK=+&?fy>PV0cS4#wpzep<7<^ zDBceerYKB&sFeBgG2jtcvm|VygAd8;#E=ik?ZmyXmKM3^z3iXJ3CrJnn6&REQvI41X0*0xw|V0xtrHVK-pnf@}e$Ktpe>LPMT5J-l*Z2#8!owsfjcIoP}uD-Cpn z0hI`*@&QL!63K_ud`L36L7HmPX;y+hP5LYcL}fp?ofkUN*ZZ8>jUi8VZ(SV&H0K*m zT>4{4b};&EGczd zhc|kADSXi|J*SR2*JlJs&^=#*fM?s7wjS%KD^Fh1cmENRenQX53%!b-{e5N396IX5A%TntUiK97J2_48kHlA!jAj2sh%ipQR4j^|xY5~DUH zH!?dXSy!DqJS_Y|7ca7_~zySWWID|Hhh%Vt6$x~UdN+tX-r=KN9I!%$Phxcj!gT80%JL!3;*`fIlS7pk6W2hLN-b$d|+eFhzPv z4Z02!3%8V)$#;k_=T)H#Mly0Tn`Z&RZ-0YOjJ@8#hP(l(E5rjo$s;h(tnW&i4$^Mp zoHz-zV!qeXPVLkI3KkPLpF)H#*Pdk)=(?9%{|I?Hkq&||-=oyesb;v78|Kv%ajyR` zE&1xWfwrxE%S9AFV7 z)!o4OufGFS_v9t0&G2*G;X0IF*e44m*OqN(#z*Ei#KU4Ytw>QGzq?~Hnj@dO<24^i z`DvK=RNa#4T1z4qNVDTKAGx|cnTvJ4j!IUt>suU=GlEIVFq4!MUvv?<4?&oIJyhRN zmxv8@6v2#Z4xY@Th#Qd_=IAXvBF!wkybnGB6#)R5CkyOTOUQ4 z@}3vo5b%q-Ijzbm^ZjdcXv}Q#>aI2)53dNn8sYDx-Wf&+DkY#(eb{P5ueqUivf|0s z$OSwK_P-KjECYd|nL{;mi0U|wc_Xw2r+qH}ro2B8Rx+=*IG00VK6imggVZ7EIpSIk`Ynd@e@>o`XgTtvi-Kniefu2seDh40=jEP* zppC5KK3L*`5de=iNZ<^u#S#tS95lMuOWo&}2_5iZ1_*m2`g^5~ zWbj2|RW^rESNc&dU%`t)kkt=!MhT~2WQc`s!FPfarS}b|HT&z*ssd~2BH%MFG-c}6 z;)Vun)*Dg@k_tK+o=q@vu&-S@vfS(wcD!+9^Jt@Eq;!=rq2pa-1|n zv>xAcOSaA)*DF5sfCtM;z#b5!xGBubSI6k~>v!L^1F1*sTF z2iW5?5ys&IUwxlY5I0o)qi!DT(h*8e6yx12m3h)Hq@fAr%%Nu%(6@5!dW%i^w9`uk zS?-T}E$b7Z2Cg?8I>44)0O3hYB%d-dNYyAYc92U5oi*hC%*EmioBjmfnO$AM;H&^Q z10W;g-1F^=JTjEJ6X_ z=>%J(UCh|o9_5AewyQr-p5~Bjl zky^3FUZ*?qSTip5@ZW{N(MY~yaPY4@$`0m#C1GD7!T)4Z%65hh&KCAA|6e+#t&Xeu zRelJO7VaOdB1>F{OVmb{FmCdo5%q6oXKL1nZQc%X2<#h^$xN$Fo>;*qbgWq$iN$DRktYu&(?lPyBAgYeA9zQ)2!Fo(KCRZYN7#vM$1eyRfiY!WzG@ogfgPu}F9zKgA zy24L&3g(4FC0rv|qHL{VCo6bJHJS);^Eq)u-qyQFo%0K~N#C{8l%+*9TYCiC&M7q9 z(Eq_EJMr==lUYxiPF75$HkJFqY^)K?A&nI8`FW&716nn<7#>XF$Q;d{Iqv{2ZfwyP z8~iDlH5UuLSQ_jv7-h|gQCb)*glC?FVR6R}ul_@Gb?3DG2V;x$Ifz9adBgWya;WuA%!<2Ilgz! zr2Kkk58Z>xD0huRpGl_a1xVi47^d?7)Y_KEdE6R8RA?dbYNMrFXG%Mq-sCBPQ&z5P zamZ-sp>p`GzpCeN@4U;?m{$^EB_OLfTc*QXwNfs9ns(QTqZ8&C~G+*wL3_PeN@cKe@lxEPh z8(;hWU35w&%YsmL*OeR*^%<+?6!jcpB%7WSninH1gZ6qMC0?31j;#-yMGSn@usC@q z+JF=)S%qo$`{|xj@EvC@?4Dh&L|&aKlc3s&G|QsKh&C%!?L?ATO_X|TM|0>f1$`Yf zq}qH|Xr&|Zl4j5W3D7N_XXTfziz4!ga`XX9A+9DKKVb@j&qY6gEy8M5r4qAK56=rg ziNse9@8kLYxQ6`3g0mv*re!Gq$~kgql4IymzYr<^$VLC_98L#xEloGvLr~O5T-QSa z%}+k-1*G6P?iY~X^G%?F7`4yjfwZ`Rtg~UpSU@?@8HI*P| zXW19IVL)zmzEtXN5J zdF!d&DI10TvyJl&UAw@5lx`a`rlzRaP;%G{g|_e5QtwaI9lVbr6Fc)y3HwB$t7WmS z5=X-c;$p+S-sINb8@QLyHiqMu@WG(2xbJ%oKL%O*K$+pEnzXI!!XYd{f!tG_7B+&? zi<5KspJ|(xx9f|{q4mpT&;}B758po@7(oG1Z_>?ev?$2_oA9E&)E*XDdm}m=_(3I# z$H9QS@N|pCo+f^*hybH$gEQyT5Cg-8!%P0VS7K9W<{V0cvZi2a_l$Brw zO%TuVE0=1WsD$np)S|bx)-GxG@XL0(SaI9~1=@bD=%MSZuok>H5IKsfY7I}-+AW0Cv}@%UACuf}0hz@xLN5=>F$*hW<*I}`ldym^#&>U&=>_)?-A7BA{Y}ElYjGatGWI=R*QxAujGt4I59awJ9WAqJP`1T1zYqyBuJYxz;BtO9 z(b_*Yd+4|nHQidqK5OBg>9{mCU1JaSEd-+_RQIuR4K?v4VQ;y zxX8;*b@{pn#P}Fp_$$MZZ7-qgTtI#l`)j$!p*oS0 zcVWfG4uSieNPS%}A~B`Ot1LA&pTtgV={=)C6!B>eH?X+d;yh42Bzy5_q?eS; zt!1M6R-A^yye^-xUDWo^X;`=W3uvD@&;W?w z0g5%+N!|0IxZoT2hm^(6uN}nUXs4^4Q15>&3V;X8OfBsD8tC-ZVE9g;lpH$tG*uc$ zD)mS|ezpmlibCh=hFgA)WD%2lY*gNBINcbCjx!otF17XR`A^96wuU1+pg8Ow3xi_v9*6PST`F}MC0Iode|r}BeS zS|EMX0L$DJJl+;kfw{n6Lta8mm5}HCFdJ`5thfD4F??wMB)M4Qo`*FLuTIcKxt4GD z!oe~5carR1?$Fh>=wIka@HV5#7$q|g;u{>`91!tq#bOxNl}&5rKER(kgMpK0K z4PJ}b7bJ|3(IaNe4o)b=h>*6wbguyc!9c@3?`})QG9lcrFS&!lu;;QL|G7Y7+hy}I z+^hurQ4@KAD{}yoyt=zjMTEF?*wU~u-r>GZ+pdo~Ey0OgkHPQG-XT$^KJ955y~v!r zfV|8c3ZAh(bCSftc{e9WGBP@;-xd;D=VRs`z2k3Y!XAx>A`1b~Hfe_azIb(wJAlr; zqgOfl@je@*$B57p;qi|+iD@kC+mU?=o)69XO{e<0U690Yx_utJvrGnDJ5o3lmC+L8 zXAw~C#{56|2GJsv5TOdCjuw)`fPQ{ydH5O8xNHx_!Ujr=)=mm!J0ulMS8=e6-*MR* zaajyMtEuDj5sVd0-I0DY@BJkGnGHCGwOmer%7m<0ryfBstX-r%L~F z2Sn-}1FaeN#%+@Xt*=9DD(LbUD-5m>jgVy78o6^egVWY(9UQ; z#)Cuf9*TjD=-L+YHufBMpGP8WJjEIPJKjJ*a1Kyw>4XH!Yja1weV)&(iqQbw&4m*Qb@&mWmL}D+@tja< zhK;YKSVDLNh%53c6=u_%!b1w%_2c&|kEL-d0^EOJzzW#IpQ&v7m1?+0KCDvuRwS5w*ZYdi-C~B#YLz1;RYP<;KFx; zf^evopMkkNFVe!@SBpPSCqIN;IJPlh16L+eLg8Da*y_mv>_02mVa-s1S?q@Q{FmQj zdx*34bg=UrCxqhuo}B<hY>z(f>o$IR|&r zgYziEVvj+qRudY}@9Kb*29ia8Pd7@j}E$$$8IxmrZpQJG>Bl^c=_XD(NdpFS?piJ1PhmRVs=E zgaO576A+PAf&es!;yn+e>A&im!iQJq(5@wGx{a#4E4bh#kf0|7Yc(tRM`)^OX)QS7 zLjk8E$?sfeDk?VN5rh<)_+&>=LF8*|)T{d>MOK}D5>sy2Yf;pz$>hv*ntY$P z)90c?8dvOm$nt#W+^4gquqJ`%Q-a0APl<@84?t_iC&yd;Mznrp#rkW`Rlo8QQTNbl zic5ssTm0m0pwVd)-!TP0f2+$RdH&{O^y6#)qc1lR0+~#tf0h{2VngdUykyFMuVpG9VN;H|E@QX0(Xz=6*0Lx1|cl|VQ%-3xRlk`B*q0`%^=$>HjfuTt%Z=i}VETyP)0KMhSeJn@#7Ex8Wh=8LPH!sv=J%r@2AuH7 z()KGfuno*e;z*Vpl^ALPw>2rUXa%}iqL{aGU(77Es(IJJ^C7-z};tD16Dy&M$$8W+dr~QWD71+;Uc#2 zWwm)I8?-|Ut8x`>aSY4LMg`beBOA~rb3v_`N7Z#xsZHrI|6aD7f29bF*uqT@7*G~Q zhs1A)BppzxAjYgdMZIxz4ghcnv9v4oGtH?NQ|-uMC=55VlV8M#*d2`g{r>h zAkXK@!GPI#zsZv{?x$Z|;%3HlY1q+@;7ZeJccE+Dxz>jWm$Na?_<-nzahHTIU`~%c zFK8Aq;jN;_UTgLNlNNzKbp@=W-;I}2cgUSiERzDH7-Z;wL3ymGg8*cQ*;EABWH5D! ze^FvSX-To^btpi*jQ8|xk}$CQolaLtcyJB7$B)XG53lT1Oj9GN4qBad$`9L-E!`jM z`VA58!>BVi#njRrxhttR+BspO`S3eZrC{JAH%;SX|BjAmAE40PNvg&a9+=bBp{0SZ zf&aRhn^DG>!kW^Uj{yi9%0YipR>)co=!5brOgaZIF-u0Q!<($Q_B*=HaoDiye28Tf zY=Lcd3mmRbId{9lZho>=EIq}kZ@{MZfTlQ8R4-o@$X(jD>vV)Ro9l;cY)h|LKKET- zt8?fJ-eo@4^CZvY8#;4}4e`K}%y}Unf9muXkIOwdrOyXs+X9Xqi;S|x2)k4aOb88Z zj_(ZsY^XpR?hs<+jjiD`BcuMUc>C#?rX=xhx8NLP;%h(8WXZ|liJnOo3ZZGE&R0%! z9CS0cnzz8S9pTd|;8`+sCiPy@JPAS*+N6eaUmnbSR`d{q8b7uiBy0-iNSbkC%;X>> zc9Bbxag-&{2Xq#Q?B+7R)W9)@dJVCxWLb=~fP}gZuhXaM@ z|AE2uK*9ikVC)v!)^p2c-ys#;`O$`lNm8LfIQyMo{G+MB*h+pvxrGc0y^&JyneHfm zC&Y93unqeL!+>Bi7}*hPJoW_zbr+im@w2O}OKmoXw-vsT1t}*vMbjTU;an2#m}{A9|T$ zvokfqbTOinTM+(+@(MY5OYLs|k;ZeZejp_35fFC7Ccxf{7@+Vo==>_)G7PSfT$BG@t%H;rjG$*UXiCf7EnVs4W?Jh&)Z>OU;>QDERZ3kp!F*9iiCE2HYZV zih{#DWMnF$`G9KHa<4k>o+C|l-IjEhlZeo*kRvxkd59HvircM)MLlsXg96ctcq?-< zQXIDhY?A!zwS80m@%B;RB`87t*+ivsAAroTaxmf1Ph0~`x_2&~tQC=@#mBI(qw2?9G}WgsQMo=C#)-NKiaa$n zBTNI#1-M*`m5d|}u|;M*x@n_h4g);~4V3gmVgrZ@*!9ArMOWpM*mJzJUH;sg5`cO+ zRk64`>*$=OOw%s7TU|**Us(Ojw_Q(PzT@H7dbOL-v!JI+Y{^3>cfKSvi@0(I&p3Of zmY^82BTEy_I_qLaP!=sKGDTBmd=PFawrROQ;TS+hA}M8~uUdh(OdY$}$6LF2%BIx@ z(p*1%!_V#E7O!HlGqM?qO=EF|8W44z;NvyS!EVe$ZLE{TMBh9Nxry8gHfQ;_a~4&@ zrQ9qzv{E2W&Y%D&xW{p|DOv2=0no01C-xS45J&7nf!!Pr^R2~#Rb(e7upwpqV8f#L zjhcMEaVqpF^;0e>k$$K&PxfU6f1H^$`{Y`$0mQhTu+LWiWT^c!^AzZj1f1q!wOW@z zL+j%RuTUQR-Qm<%)cYeK4*7zA2N6^>-g^>65s z3SSbdRMOo9al{v2%d15H)W`%q8&3*0 zpWQS15($V;?F}=x59VV?e~NOj-3OALIl-*732qjd$MKI(V*jOS;bR{fbMZ6)97TY) z>RysIjgBCYsdi^;1`saTmM3|DjGHlxdRsyCy(;B=%U97Oh+QO;+30m`Vm8Br%q~?5 z3yMdhGS-Wiz|Hv3V1;D`mRx%WpDu74^(u~HJ z2AhTO)sf@_zf4bt$-e6$tU?TD%waI)=GPC=vq12)t)4GYHA^nXZ*(SqPLjEOa(aWq0Kux!tMsgUcbjUznZ(W4P4PXo0Sz!9wpyUx1nbW^LyFXDv|Zx+iI?Q|U4-!fSkPA#^)3U9Cc+(=ed6gE zwz@YlMFkGqcW+|$sbhI`E?|z$V2O_R+llYxz~Er;Hdzfpie{MQCG4S=<`2^M? znmV)(9$fF|_mnphy{ZSM{rXWdDG&k8#d*L`Av}9iAM{k-Eqv(zKam+z<7%p}ATS%! ze`>Q{7gl?lA02z}PkEUxRk0NqH}%#Z7!9DjCbyx0$eVi67mV1iMQIql4{{}>-mJ7J zC8&tuPy9HSM&lT7OtLWsd-msnU#lEiiRKaXO;Pn&Pg{jn$fxeu-TP?rcJlF>pWhc) zW8jytsC&tf&kUM?J~^&QgQuBiw?>61_TLaM)ee1n0`kPk^fKN>~TuP z=&J05OWS}#)%ST9!CODC-X94&DD@z1IFvWNYPAlzayCq4&!&7spkST^%=tJm@=!iF zt5IT#xv&uLpkbB=adV--5N_lxQwczbEE1#2`8OwxV+wrND2T9R?Y{$`3(G4PZ4Q+8wdU+zzJ9_hC)z{ER7^;+4W+g_vdty-eAXWv zU(en~2P0I^UP3#Q^Y zmUMD*c#39sF>B4&TZ$vTY~$|MRpF(V7$t;>p(Uu;r<=MLj{bdQ{_vZk!5Ly6(R_u| zUDMs)Tb`>gp0|<~O9rBvD+NCc(-8HDN0>Z`o-y+D=JV9Wn z)bA}|EP#c9$`aZay`~-}1RRtE*rpU~I*=g-6y+G==%6Ij8d$+lYI-Uo)&?*bC7+1(GfNB2C1tZ9lL4CJSJ9!d$PU%U;c#~ImekOf_i^X) zQ195!Hy#qoY@3s-EY_@p60jRk&0O>gtOu z)&Mw&3Q%|$>Nrtt`|%=genh?T;a0Y%#n?)xPt(O(}4DD8r@%zSiciHR5#g0;=NyObo zWwc-!=w;UvDK0cAncT_c`Cb_^f!gU>G4zX!*x}igijwwhxaOKkC|ebtGS$zv`oLd0OZhUBIWp_YuHjfnPvnJ6)6 zrmb=bCMNJYN70^CyS!jn!He6VH*`zm7zp7Zyhn z0a=17>$kgWol(6+!*Tf3eKN`@YTz(jW!D6(a7~SgJLBMJ~#lX(%ALxD)QL= zbr`vbwHjga)KM1UTKRN>1J=^EcSfb}-)i7CII;eY9u6Jv*S~^y6dx><1gtY zeRB7*Gd1JVDUq*I{_2JE!Wavq`vfKY5xa5~zshfsb`hEhAL?qI`SjwC%!=O%z~&=) z%uHY7HWm*y4OUfEr8oruO+x1m9rL&YA34%U#-2p0pMB0s4L(a zwjaU0-j(Xa4Pd85z>13=LHR-Qp@HhFn*T+LhJS`f$n~uPlR~n{vhJhkaqA=r%E~dm z5cyQ0c<|tR`m389-X^K?Pfo6=a7Jk;=H|=FOEfJY`yVxgP*KV)VDNa31Va9|9wk_8ITVO^&V%4(R#*S~B zBE|HWwd0^6(69J7tQsXRGMC?LMdHfNN7nqNJ6I4TC5nm2BrFniWX#$`yz502#Pc&B zxZ1gk!T{}xNB5Fzct&2b55;UdB6QXqPnu*XtV&`z0fK358AE5A%_E)~?4f0^paW=zx~ zif&4_vaimNZ=G?6rFWMydUe@(^EDtC*+L%u?E%<-3eukS8Z}6drMMb!uECDgoCt8P zC7aN2)n!=wS*t<@m{^V0oc3xpJeuHe%^uKP^>S@b{<6NAI_o8ijm(fT?g$G3I#Q0p zQhC&&cEI;Wbs!4X5xgQsErkB98B8ZY^KH8u!J+>Hxj1wR9w~kS+OaQabmUOSrPfjW9e(*`po=|BWPOD`x=%|(rh8<)=Td6Mrl{2V$Kc4JB_ zO6T}H0{{HJeOViITX*~71(cEQZ+DurF!si;-81edp$S`Y*JZw#Kjm}QPK;*{Xcds& z!JzzW!6yxUEINT!c%L=G%zx*Cb!chG$HV|1M;$nqqt8XR@jgC9HD^SRMfBzT5jeVa zRbV!KSZA1m=os?S`$v(%()%f*oQaMN*W!L#OG68H_w-KR+eZo93#(+m8RB>0$I8%A96KXpS zw87iJwXnA>+(ITGH;;?W=VLNgHMw`jb6sk5GKU#-94EnWwsn@c8Pi$-zSobl7E@KW=95Kmz zOqRGGxYedrRi@1qf6OdRTB`?WtNwIbnT)a-W6|$cNh^xVYmNB+?uQ#<+w_}iMPs@M z2=6+$HrBy4XvHtu;ETO<_m>~U80!h3aR5`_bRf8R4*d-}}YbleuP_cTkFE{Q%YAJVVRmNH^E?BLmy<>Z-sI+fc z?+YD}ZB@S<^f`0=>WFOFwdKjfH!1HXxIAOJgS?6J%vgGIau>lH=6hs*s#L!%W&p9Cjv9!DpL zwKbm_g7;0p#hP-%TxCx${(wr@VnZj6XU?CJQ1ilTIK|{Lm%5C>pErfRevL#vq}8A~ zb5mWHu3t??a75?>?&N4UgmPR1Sed}R)GFAD1sF`a0$*r@qh4#Ep7YlU@-w2|qXZW?3`>ms^9fw<}eboKY;3>_8!W%utMMSqMSH+aA2Km-=mF)0M4K+9%Ff7(sOOnQM8NN zS2%;mS~+V6yxxJx&B6^GDbEqEIBJK;{^ ztlaapM$+-*<}~uau!$&A7nV8iSW&YVM3nu3j^7CYibSck9=(osc+7-n9sGF-Nwix7 zF732liRoR4!wMp%TIC5%X2PpT{U=8XZ12iD^&AhOXsA|Kaocwr6qAMwLU+Q9pjH}I z?6hq8m5rDcJoC3Hajyi@^{k2$Y?0q(6EAAy|FcTsB{^;RWQ5FSyU(tV+hgNQ*5pxFaClgRjxUHZ3zospo zir>OiO}WlD6#DGXpx9V|Fpw|ihY~3LQr!jhaG^rjTCo{AQczJr1(YsLz1f4VcS248 zTo(R4k=?&FN@x;?_QAO6d-9n>%5y1a4xQhV6wtR7)bwcNESia)ng(jBDi0Z=t%}$6 zWam`5`>t71h`VOAOu1`gu|=~@w}AxP`B-_R4y&j4Cc{{yLu!pvKI}u6)e44Re&6E$l@V;A&aO^yTx03=d#E5cqBBzZB z&%U8uRqANk{qX)A)prE&>RjzR0>B{)GO67O+uH&H=lB5N!gKa{0RwaPbpeHQ_Tu2T z;H1;e&)==a_=TZdg|+(vtqU!FOlPGPnA<8tB&8nh6BLv8rB`1bS>q9ju6$1b6a8ep zh+|6I<9kYyrqr}&q*Grbj*!bRV~P-ugx)~RJ|xmto*3~LEc;(n2b_+7;``8|_Oaw9 zR?JP2@jwXhhmt;`xmMhQ!)yg=M7#qX$%xnbw4e6jrVA3+dDEVV z!!Ui&mp=w?dZ)O8{CIfibQO33{u!_r^zPcan&mVITjom3TGY>mCBb*Q>KRE4O)CGw zMzkpjY}DvmRJwDS^vbJPJA9go9qlIk@T`BW{-sNHnyf1Qz{rWXI4Hxd?RSTFV(2Ak zFSobT9XSH$aWDh^MRok7Q?rLhOr_e{5m9=4J2?YJAvy5uHBL~mM-mVR@N#`@dVZ~Z z30l<%h?PRiMay};0p;76Yxb>taKLdw@J?QO!%e^E8F;0`?RCNJk2E=wHrbtccnuk3 zqlxD30?CbqF4!--_J&;USw=qs&yFJqQ zDJJ!25A~6cYN77ggI=`(DVx_Cemx_SAA_siS3f!WNuAO1uO21`*#J_EAE%$ocUGpiS zRKIuO%_wTtC>!|MuRg-hM6s_WgQ`l~Dva$)EN&r-T<1`qH-o?2-zD7N7Esd(-2Phq z>o@I5M<_lFFLY5WB7Bz`3LHM6RcC~l74UYHNdT~7%Pm6en8{$KXoQCPxW!uvS5zF;9f{nkWXv({B|_z(p%R|`IN{*DCGo8!NK?>BWd=@0&jh75i- z?~jT#$>3_l5HYrLW%f*cerC4ovRlEGi!^L0P!pg01j2`20kwxk7^>sJcyq;D$G6u# z&9d z>ywQsuIEA`N=`R&SAyj!PnbSIrv8JfNXbbA8dF8H+Xs<%Rve=0oDP;sh<$DoWtI*n zJ!Mdp0mMq@Shbj=Wy6oLhWG;#j;uGTPF&{}cz?ea8``?7EkPTkjS~D}Q*XIo&K<4{ z2r}SAFWF$3wkJPUu&Q$0EY@)-)N-SA$cmj1;R&-U3h%BrhW8^eZk*Cs$J*c;ZvM)rZ!_5smBVr0wkV<%{LfE8Tc2-VmF`sK{WjGWt1WI z%_ELlY0Y{iR6(;Gpah%CFDNvmt#k)1<@5}0xy9=)%%RXb#Ta78yEg66YPU~)ae&`% zzs&G_t!zCUJZB|3?P8S5%D#xm1rKIm!F3edoUQ3ROp|_mWL?mmTd`&;Qx$GecUjqU z1>BpKnXBS%RdzI9=OHoT)1Bc={boJpD51H6K)|I}JFhXM*J$SaEfY-nz59srXhe%E2E# zDN;6wF)}TS@Ia~zopv82QpDK4jUcUpuDx$8oo0KrXuO-0I>RXPs1%eBQ$ME|!o>aCLCPiR{-(Fg4slUJi{Q zt}6I;V=ktnMVG!qw?&g4M~@h?dEgni%q;ie+8Rz)@ihlXWn9Jj#7-)Fj|Od0T<=V` z_J_H(FyDbfJSlKhUGgn0S9j800Sb>n7AY`#QdVOj-{lc1as8bAR7Zgy=2O42ZYhRA zZ|Xs@dB1i+q9Q*zk#|6%2N9JXCJivzPsA|nlNpW65YJ$B2G}L`wLPCPm4(VU$SM@n zTNNS%`116|4mtv2hY+PHBX5lsw+V$<9-ES!_Y0u%f`Ws=5O?>g>zFGU8L?lnh}jqs&!vSq?AH8Z=P6+`kln!%5bhOy_*gayq_!ef$F60rLWRr+yNa+8a&f`b|aFoo`Y=`r7BL?~iC6 zJs^2<&WQc`%wU{g0WJ#cM$S212@?7(iU;5s%%G-(<#>%Cs-M00Y=QNV2bWSKo6ULF zIr@#EO(F$aO(_Lw5;g83uJ=82!^s56a>!!{#lLGf);-dt9n$ z6FdE69xX{){8faEbm0DX@vR3T5K*2_07??JEcvq-MG`9TB3RYel#lit7{GcOWgAmt zs-GRKYNimvURj`P4_4#Ld-j@Oc&m>QrXzH&1_)`%_nw5Xj+~y6VYPE1x3sN`6}4^< z>maMa%uYtEH}m_5ig_rhd#iHZPQNI0os0hJ{PF&qjGV1_P?CX_(0Q^#W*vh(7n9LA z^WcrGt9$BqIF_>FRYlfFGe8+1&*59qnX15s?N0GEo-tcbZX(0SMasjiKL7-syGwK7 z{UzEc(AdrTbznW&vO9^S8ku&n(VhI6t|av!ndaamsUv;LP{26)4|ft(j&QZIXy#w@ zm7?w}OVEB}J%R4Pm3#3E_Q`X|WaN@R7pPkMFf2oeE@RBqqnP8u(N@#(D6?TU=@buw z7JEZFeq7%)n?x-6LoW&PuytTlTy78(Kv6cW`?vH}?wyd8_}2rVu?Ub zw`-`m1MMRiOX*Acw?6?_z?%WX@2smgb3^?9qZ9u83>y<68mSDfz#@PN+l8Mlx6hLW zmfEUdP8r*+li;if3Q`Y56g*pjBpYR)7g>{aOPRhrNw@*c?HkHUNED>N?-whiLxF@A zAR2$c=~Q#Y`K&X+@9WDAZcnfQ=T_tjiez zW?UB=D7ho%kKO)nM+0!PC=z3Mn46GYm1=nW4UtZ%#4!S(Q06;>u){0QF5gU_z^f7N zL-|uCcLQWe}-P1p{xy8RJ zt7Aeb7hq0{9C9gkf3l;~E{<+ZtEMnS21}MS!B{6k^{ICr+yl6N#5y}>YmYc&##+LZ z!3$LapK~6G2}aYI5!)P%de(o;^$6vKZ85v7gbQ9)zBb+Nf2(Tfi?dsR3IXSbe}VSd z^JNSRQ%5L5?z+wN4?9MyEKCa9P>ds8+gs8dBFUCuy@+rw5)O%|9bv-oVn%+#rb{jD ziCk;4Ubzs{=mUTYg|2!XoIvn=L`;-!)8slFDnIGG2V{C&gWk=QI!BxDM%g0M$(@QP zq}B(S(&mN8Zjx8+{rYPsRiW78D?bM=s1vo(}zEiL7?9DORm)UXOSWSyijnW~(o7v8ryitgc>K z7p+`Yv$~uqR+;+ty7Ia|l1&rX%blTc+U~gi=QP9l?A82^KjVEnOCrJ|{TXYaMX7X% zAV#tas1T6$qQ#F=8w!}a%onJ$40j>0*06G+wS)`VhhS3vO8>h2sz3*{)>|&6{0;h!s%{4MDsSIH%Bxq??)6*}N&e$L$~A z-beWZ?-3IynW}!j!v>D0PMDk6otxEQM28jak91pNsd{K(Qe7_gt1Sl48@$&5 zsOpk#ax8$H!T_qE1DQUP{A2m5;0gko&?%gb0&NvpPV6+$Y}b)=ISY!0coU=mx9Yh)T~>IC+{ z52TO3Q`EDWp5XfH2}|4C@SMd$;{1f>S?GFFDD7hhYyLCPCY^08B11Me%UGSsGM&bp z9JP29&rA&k`$Q90S&;Iof-ua}%#@^CK=gWPSFo}tb6tXa0hR3w8LVz0n?E@*kou0K zjcE+U34nK*HlNEU!0F))>o(o!dpC4xr8K1^KV}F2oO?;hBfd6rnbhPpMz}{K!8Nv#{N>{v;BqvZzU4JzYdfHUrK+T=`QGb1p z&?VJ|x>3>S+szwkofXSyLFmG-X25gJNz<68OQM`oB2e|$nAttIG(y$`3dhG6GRq}h z8kLTgexsG(ApJIHjq2px#I}F}*uZOMNbv-{(@M*?Y#%PqYB6NXoXc=!kV9u8x}oFI zsOtkKrPfwdYBw3KVJEW95hI|@m6OvY(TJ92vgDADE~$g7G$Y81l%1L$2Hqc#zgk45 zhA8(I)w9T*7%hZ$jA_uX6&YD3`O7-05`)fwF@pL$C0ban8OHg9r81WTg0+IJSBsdb zF&gZj5(SKbZ2OBWP?N`)+A0#pF0px7$)gMK?o3K`UJu4JZ+JfwTs)8yOBPm4&Nv-e zg-dcKk}xD(a2b1nM^9U^5~oXHgHD3Ur;3b&PS}B(H0GfUY@{=OT(NcFG2H&j*?xjL zU^a2BX|Ay0c7h{;cRLUO-F}t^c}Ae6yq>0#zM=_QSszGysV%3#8pJSGmMYurd1ROu zx+(%~S4ulpdR1D7#IfYEJ$s`h}eSCN<+Y)V&5bbn;<-{8ni~Ys<#}fLR zD}%1Qmu!ZRvgnDAea~$PqR#R|-@I@;qQs8*OMd^Z18FB)jCnvcyv8&i`Luq&kZRA9 zp?EkM6-r*5*9k>IoR>et_b&jY?S11gp0!#ke1!Qcl5wKs^8%<|*{NXS(E^B~21S(Q z@4CG>0gp3-R00uz4r_U)XHa6OOosIR&kd;>qSF+DH{jxHbXTeHz}Ax`_1CO1d2|U= z!{Yu8s+Ku-)Ar#gk53%)fIgq3d^n+eVHkHpB+Cg#fIO+_`r2~FgS01GYEJ%foF}}F z7sMwvl`1W!KAH_;wx5}1HPjnO*Gcj5DLb-WMu7j(VLaeuy{?CD85P+451d>hHqnc= zr>4n!w!lB~R`S*5y=~KZn&m=%^Nu*q6R+r$h=T7hfvh^j)=fdW2^QLncB%v;BWOxS zh^9kP*C6BdF|E^XwFC0Re|hXf>Yr0Z`=?-Q`z`SR{UIB0d1|JM6lXXqWeT z(aYN~d`f^=Vg5bBTWRXQ;%A^VXXtRj?|>>I`_ou)pxlBap7P-<$n|eof}?rJ2ZGiV z;ar>tBoXVok+XP>v2h%b{(!Sap`*ISC;|>K4)L5>Vhmsb3-b?&?ysQ~jm1EC^5fAOopF2x zJo7@)2)Se7TU{kFAo^+>as=SPwS#<0rhqwf()NA=F(c5WSV@<@2_1yv zw5*u{AO!rJ7$okAzpon2zY!OK$96zUZsoKTtVO@~>`C=-B_z@YL~n8}gz|sM@r+Ld zUjza;J{iq!Fr#gLf=!zvXWL86O~gS$d16M6?=*6NK!IYb^Xq}i z<(N4_%cJJUO8Lic z(LAjRG4Q1V{GG708j8Ku$)VuLVu0vU385Vnj#pKCz5oh&M7D?B9sNb6;Zzh-`5aj| z-BcXUotS#Ak{~Zqhb@4eS$1=W6L^cdZ&(pDf!|te>gPvT&6Z8E!NjwGll=&jaoa zGH-7Y+*D^U-dMTg0#+c|AuJ`E4vYKAqM2EwAf$TF#9R48Kt9#%P0}7Rcpw8NC-Q-H z!3%qXO51YFMud+>j0DspiqmqD-2xnDCz#BTHVOYS;BOF_V}0iuS%^2=m4(s=e*&dT z5`t_KTF+Yb<72(kOexNpV!0hH&hI-;>y*arU%^_+q(H6--Wmufek-dkFP8)ypZ`*~ zD8e7Z^v>rPhVAr5DvX)1n?uL5f@!J_)JBQF2aR7|R`71JS)4a*7Qxo_n@-m5kf@JI z$$DcTplWBeC&LDiEHYzA)wpz|788+T-VR-Aw@9TZCxY=p+01pR(pd9@_JM%@3f1>T zOJq2_CUn@Fi2rPSF_!4lrDO!WN=cr3zIK%R4|WCgDd9bJg!FCy!Hy?y#`K1Nz>*JA z7u0NKMLBpwgA63rZW$gVF>L`Gh`uG)VOcAlO&bV{sE!I^^}Q_Qu>p?zM(h;1#f_*uTyhRLLSI z7ik`lwI?(q!9fy-4OiwD2$W65(z~1)4MK|VyGG~&7vqnIO~MaW@nAb}lpKas6!fW? zoRjk#4dsE#P$1|;0n-DF?*=~7M&Ewl28@YQ0z--jj)&MA^;{;7l&>>9@M~|=H^`F^ zoy6@-8|3j`P0F`uT2N?1eRF;bW!?Nvd6#l$4|ikhVi_5-80%vs+0}jQ!*ijkSzs%} zwV`M2zfqWIsex;@t&gCr#oZ(AUpV=q6)#c4ZL4c$#`$rFESCb%do@YyZ?t_SUC&I@ zWH?#}Jj<5>J_(e)WNLjlT_E>DCCY9RDwxiTJ|f@o@4S&+!qgGo?0IsWlnJdy+k!NAEvWHK`Lup&|pM?1Q^q2dSf|c2TAy|#+&Eg zgx8|Edo@^6O7I-N8mMHnFc^ZS(cyD4OstlW0Pu$&|LxICRB;wj?8ToB{}h3{3kujt zu>F#ZqC|ia>zdDcO)9fWo4TsRQmXOcRsSn$(N%?z>=K%|{hv(wl}MKh${1_97)wn@ zmE;e<|SHBn5Uwcr3bo1rX>ePX3;Zu9}$DXuGJ&0TqF%U zI>n_jODajrU)l*}ZDo9mJSvW52L21+>(~%l`bK~Zt%G9Xrq!b0j|4wss-)`2lroh? zN8NHt)EbWj{!(j^?tg zM>qr67RU7aAD0X&7qx1&3YP^v&zBC3xYIAcyV6`5EdMl@Xw|a0FHr_dHCFXJDw{28 z40i*@q-QFX)0aD{ya?@(AfM)uxV>Arwxm5QfA3fru1ufHxPk=xNDD-M-9<+5DcS;{u4vW^Q$oQjif%V=6y$S{(5+W3AxI%gJYPY2vk@P@71N^kz;gTlwl3BFro#%F;n$JioT;2vJ>D0Wn{5!T zFOFx_nG@YRn^vVP9T~i6iVQ?%k4Vg^1@FExD)X^g++KwVV0vXE3!WS3W|F2^$L#{J zo_|dB9Y{my&Mu8lh;&T&pSsbe6%0%tAU_fYcwmr^pY2Kieowj^K=O$d>wYq zo#w;}?TR~)IWwc-bw125X-7NFZx;nf24|_{vgI;;cA_r3gsxX!#SJ~DpDDd{YfK>! z{3Cd*`?tyV zoPtrDYJaoVhTBrUuTomp0Q2 z)6==$v%eBwUEVDIQNB-pl&F**dxyzIlB(kw_Av_Xqj;iIcVrEe?k#xU=}cYdbS00T z<}~XLJn}7)KFEp}_o<`9IRX?wUy@q0g%kmK&_TYcQ=X%3IYZYpem0-fpfxRIP{B~S z?Ln#j$+wkScv|5geEOUVLd5UAX|>0%rwRzFFP{KA0Wf>e4;Dx->HF;^bv>>P?@^^A2=I$S1FGL2}W}hilfJ&ENyXoh2g)4#T{~TG{6D z;lU1BiO>=YWIjxlf1v^9?O!z{>u73U=6ZZ%TzO?SD%eZphGaF%CR z@cJZ0>vSqMYnKzSF~NO$M&Di%SR?xUDEBOz?Tn+*UKn`QDW9fJuTnw<*D1m!eSoy)*~jm{3#f`3PNxs%^A@ za4NnIu3Op?&1Bo2B_yCL;})2shQjMV$LyPUvm*Jtq^hFgswfWWavJ%G_n^$P_P@9~ z$KXtYMGYs}*mkn9ZQHhO+xj-PZQI<~wr$(i-rQ67&plOLQ#Dmx^KYiBd!F}w)aHcw zl~v-`1mz`OW=`^z@v~NhdyLMDQmLp$+~#hcZYt5Rm|y{oUZ<`lMM=zKgE!cJY-kU4 zAv~%fY}f?GYk?4P>eDj`4$9-sShQqI3(Xs)3uIeFIP-4F-njV$?0Ms~VlnkVxZTaPhuVPfo#uyPQT^<-8=G{XGwLYH5C9>m$DoSp%%hDsma z<8)g8B=d1h+r*q6pQ*3hh@;t9>x>2K?;@G%epZz~JGKhau)ARcA2tv)ZXoF9ecD-Y z2o3u#e%TxPxVf;r{^X=q#(8N@xCd%jIL+fs`cyU0j zxe~^ogI=%^p19q6P#OmdboLGXNPuA4Zb|1hF!T&yEUhz5b9ogZB;2-+ zSfU)+4szShshm!bE~7;~T4_o0k?V8eJunPuy--s65msrZr5I{M%Z|cj&u2Mr8@Q`W z=||HQHgDVl{7i}oYRk+;5bw-Tmj}R#fUP$|?upx~@Do?<{tK(bn|NxIFs|jy35<=A zBaK-eZQ1G!hHVx@4MQWtMC#Vi&gHJ9WQN|z|(JN*Z5Rr~s_v`(mH;D-mWv->}&#it+Q^Fc`O`Hsn~JHd0YdzCr*)>FmM7 z^DUa5kUTlS{x@7TTeWnq=PsWE2Z*3$$umTwi*=tJPr2Tv7pzixdOEoNl+7&ykg!n4 zNaYbut?Mlz#|J{0kI+$7Sp>5M*}7*|xhbFQfNMALgAY!C6WYoLt@_G7m9)O@$clBv z!yC9nZegw6U~)-6``uKWHz+{W>h)L%;qPtrbB;|N5=T|Rpwegy6e+Kdx7v>EG48k# z{gHDGOxyr2cqr!|+>*5fEbljX?|6O#Pa0`y+UA?m?P!#rFus1wOyKPOfYr?x&2r}( zJd>{;p6sh$7dxLlIe)9*P1IkC%FqrbN-R6)F#bX*3ifg}x*{8V$wGh!i|k=Nq6f&- zv5{6kX~qSs7OON~P3q4}eO~5TUbtMm35SOLUIC#n@BBu%jnEuZK*^=$U4K0AsjNM{ zl}3I*PMSn{>ZLN9{6jOg~e{I{Ne$|^j_$b+9r6_$@ahCO=sv2)lcn(q}OPV}wFGMGwcx6*9C{WimKa8xN`3DgOYb_K2n5MD}H*De3j)N1sZy{gb+-VR7VSz==LS5 zpQ_|NApGzvl~+kRHC0JGnO3$WlyBW@2_mZNHT%kYr#s%K!n$M(N)9%=;m zIWRis_C-kjV`Y~J`U^_zpQ$RM9~NMfm>TCQ#?Ny)9rh_{ZmeDiD&8hS;od@m%@`=1 zUP3X~51#M@Z%3Av&j#AD*!1cie^I*8Y8qMc@E%XJI?z!wsUpygv`#W%VE=rME1<{Nz zw96!t2|5@I>N%~5#$Rw-v%1bHRH1jH3i-n0zfi${zL{7@QN5$+JLQu*-@W_fk+7o-|fOOLbvg*k(zd~yqyjZ~N%TCl!usY;g zzj0~JtZ*-) zTbCx3cTH+|VBOJ{c^$cwS1QwPZdIqal$%~NgL}l&d?Xo`=xC0>F0IKqsq9X)01}BE zg{TKhO)i+j%oA=Y;;Fn+R_`!e>NVOc7)}pnEV%AT78fC|R@EaNgg;R_lwdy964h>!~z_Yp7Q#I@QJv5hvhmOokXf+ zjq;rupU@opdT-pH(Pr0BSNWz^0Q|Gf^E7%C2H?OccG6Y}Iz)c6At!SYWHOZ~S8r;NBTJ|Ca9$@_5z0dfSY~N&bu%z3aV{2QZ5gyQhJjRGwxR5CIB;o zVKGL|ybk@_jM)*v#7bt~I@iNR`>qc2p54{+;-GfR^blXW=Db-2D%EjJexBX79)#d zL3ap6m+}uPWk-1DW7L;VK;)I3X%^v3<9l@I-YE2Fh;1U6Wr=aq{SP|zuDj96y`b{_ zclFkJ^hd6ZnUsJOEZD8SrYK6_V??qGrn^j5gT9H*73UA0In#xTQ|^Hl8f#i98x zh-t8R71Q7T)Qw^zHPw~EmI-$SN-@%=Vy zA;Bj^8BC)Q=QCkejwebj+V~y|tJ3x6*p&V#W?xOO$vd?b*!oK=7XW@4e#9J#PNBHU ziJ?mlzO6*6J;k^*J*zT~jROKvT`pbA26f)V#Tj}#-V4Tp`_q@P!!-YhFP*?`#a4It zHz2?D6Z56EAkJ@LZ9J2*2SbcJ9jL$;U#KVFO-iV)v8Sl-()~1lERZ+GBH4xBy$rT6 z|GM;<-`p=`Qk@CJ0`RJFAbRT%=M?XVetXipf*}AuXEW5KV>)XUrBmB5iV*9__+BHh z0S8iRH2u?+96Rn9ak|7JgX2U;o9|}3iBFZc@xmm;X3VFe1 zpo*=PYs6fG4B#2OIfJQ@(To~ z^tEkRr|5vU;5L^vGP^C-Sx%7Q69_fuvtZH(RyK{=N+i^moUF#bIG11V%W!MgtU8O) zNn?}%mj|WaPmYk1p$X{@Q17&VGGt1q3im3qh6`x>e9JSSP2>x$ShG{guv`){pjH?n zv6t>p)yQYrnoi2B+To0EguE4Gk6~4(lC5f5qS;O@s8lb2k|UR)709xNSZt3qSIZ@z zRiSwE@Kx{}2aq5K zBpG9F_wv#r9XbVh3=C5?@kzZt+)OV)8u5Xk-0vhioq(2~MRXF`+t5(my7T}v98b^ns0Xg!DBVDv3mrMC1 zTHn#~$3pjfrhQNWuqAGdz~B3IZueW3%cSmMcnT|dFy!@aU+O8vmDMDcoY@qBybt>slm;QgmS@=aouz9{~jsP`R5rN*tJ zwaVpZAb&~083kYATIaHO9Q9nU=}fQSh^nksf6tX~r-oJY2@HPMNq?REas6ZQdkc*O zK>>+__uT2$kre-*I!-p94IBCROg^CofngZ3j zLJl1x!AhGfYMdQj_uYB%y*cr#)7Ogm{SNW?`1?FHXIqoW(;q^-qn9)NbGzfkeWmT@ z=%vT*8yu)~R~!Vxl$K7Sy<}K)h)G5=7AK*bDpHB(%&2^{14dGo6#%B0{0RK1mN1b* zm)1}M{s%FP2BuO-2WioXr=y7`+zeGM}?mehPJKO{i=rfC(t>5}QFk3m5 zN-@D@KCTO@@4j7qe7B-JDdY##BU@3TPQVE}=7lj13R)inPhuCQIUVZ^DIG>aW4H|2 z&>U!2HE6qva*&ry6=Ve!r65Oue~t1p?@vwI%s49}~|E;R(=~_wrG*`!<>pXmf`|9|P+1jQJ?*px*eY(@&s}Pat{%O;?rp z#RkoE4qvMyucaok=_*jeq~1Po1m;^}o6xe+8#9q%8NuLQAn4n2*q&aD;|67zO){}i zt!SgikRt39BtWH=sI+ChAHDxKtpw!*Q%c$l$?@BoO-}N=D=C{wzL^S3WBNm*#y%XV zUxW7-t(n9HPFJ5?uv3m(99BP*e-6pt-V^1veibh92lv1C7^b|Ck{}%xjyo%I;vS1A z@ck_Q!sR-2nbb0LGV+BispFG}=9b@vZoehkYtHIPD*-C~qJMh=;)Y9%=HB8(E`b*h z1f%9?HHmUF+M-fex^Pj(EoAGc>9yMF%FS$)5Y?NMD5FtOPI3*Tj=T_=R`a4EwJj`G z5L(*lFt*_DDewo^yyetPQ5JUCSUNGm@$U&&!C^pK($Urk7{DnhxfIHnlWUC)mVlBJ(0DUenlp+rT|vw->1=fjXG8NroFK>DaNOHb zSkAh&LEYNZ+_%BGMR~=T^Euvp`ntXu(wxl%l>vnl3wi3Dejz^H?Iaf8W9dcDAQ8>8P{T)w30;o79YhrQz)tL5{e_-mJZ;!CadoB@3S|8 zBKqR7OsCpVkWSfFzha6YR?t&wor2a zEiTXR0PbBdmm5)#kx)BHS`hjJ%)S>U*xCTBp~gMd&RfqFP*IHrQCoY+LAx1CAG9tk zcG8RMA7nq|vxxbC(|qvYLNdNR(FmBE6##UD2wAA!=_4yeP#L~Le+()ey2tCm4|>xN zk>&yDM0fQ>E4^r+_!fV@QxhvaLq(*h2cP?=m@mJ(fan98yXT+Bg;fuLAt+`yb>u8Z zyPF%@JDky2B9)xkAg!~%%AlZ#44~Us)xO+4YKVwAedWy>?kgg{x~K^ng1*Zr21L#` z*-VI%u}(E1RAg+NgX0eIt%Wpi$NuBahe4R5N7@433M>3kF?JxmD13M$-4xye4?ZpMb`UYMv|4cXxDPN0Qe$b;{*=Yw>_WXHG zdgjS2OrS%QJjpnTK!(&T|ER3z?+L<_d%T zl0j`k8}1Z>5VPyQ0AkmYmaS1LhVR9>CFARHHK8f;jNCg?aS7Qgj+nRq&|@p67j0vG zb?AzGk{IPv;W@KRYB_Qj({!GradIXXTi$&rDScl1Wdao-;?lWwAmzOc9{&JSy0Ed! zJ*XH;`{x3$3@b#=2c_G+wPgT7uWCi{SDf=I{gHx3}%S!+Y{Q?KH!C(tQ_f z@6Hbn)L4uJ>D&ceDh&trDfgEi8xT`QXs!Wg``E5(p8Q?qh5h7T@rQr^{(VUS>SZyK z2wfm3z_litu5{+e-Z5vbNzQe_0>0mIY;N3wMBxY~NL4*i{zpI?6hD^w*l*uiM-auV z+mI!RSVG#{E_AJSBbF@StqK^_91Bc-*Fere%P-q8oawD^R`jxg?FBcm$0}R(gEl{JKyz&&IZd z^Qh4EiMxv^44im*!T#3m-J z?J>mdrDJWT}*e2>H(zSU5LgSEzo`#;XZoSQfA36w|qrAX<@QEQp4Q zb@Gu{-^7FnRb3~SH%gQlcjCjvQ5Uo{v5N%?Hb_Al+CaNHFW#7W130|(P&8HTZ>X() z<)fEY2E$%R>2{ErmU}*gN2RiH! zcY@l43knQIJWIJlBsi*21(H(MA}d#dD6UhpxMqxL?S)Yz!*Np+`?J+o&la$0{yU=%d0(+U4*L4f3G)|4;iWpHsU$xpWao7sOHs1 z39t&_5~!C;Mqn~>f3F@QSR<%nW3J0uTNZE=tJFPy#ZW(ZP&bPar-=z1!xyF1w*{9+Qj_t>NcT=>H@r53<(5@3F}hLLNUO|dZ}`}&|k>z7nh)A z=0}#DdkS>42+K)Crt8lLp{gK7}Arz28V^wgF?=gk>VQ2fdjD3o=rTjbfZr z3Mm7@26@oyAF2huW4Xze^ga0m!TPc4jC9`%2cgXC0GRe|m6b6!|2TB=2ImlY7$hDy zw-0=cLbLbFLMBLorz>szR=K?C^z>1T%}9AIqVbLdF=dEW1yBziR~0rdFD)NB&H-Oo zEzcmsd`8L5wHyNVOPAMqb9SAW+Cwn+CtnFZo$8%SKg(%ne6@@pJ+OKaQ>|T`ICP-d z1#;hq0{ZC@FWnRgC}r7E@tPl?chxQ5%J^*j^_7hXj`P!-2cX^iw%*zt5J;*0TodKQ z(61d!w&mTxt^+?JDYE?p{Ld7o-9F)jvb$aas}!xRKJjZeL~V|fpEJN2POdt)+$k7- zncZW@A_^ozZpm?1(0Zn66PN{aEK)mQPnyru0k~Y15r|eo)v)9 z=nE40s=#z261@$7_jqLKHC4ZO2pfXsEQaO~Wt!T09DuSudq;fmC#un&QqxCx`QlGk zzA!L&dHdgX9zc$WBg>NBLS=*ZIT2Xwzya1K1(=+_GS<9B(7Ydp zC^~MWf~{Sy|Dr|4!>$K)jBsX+b=N3YpPe0UR#+mYUpR=fA^t$FQ83SQOT39%Dt*_b zdR@}N9fga+q02=r_9C1jYZlEF#?y827v%$LR>%Src#86&91RNmeY7yh7y#CHTt-S% zIsRFPg2IF7VDdg>|+=xf2uFhb4wW!-R%AL&rwh?M{4?%F@-gROc$iQ zu@%+gaQIdcpMzOl$^){F#gJ4>Mb(aURbAu*t>45Rjj!;FJfmuB+8m9d0cF;7jtdvs z=&v#xS`FhN(<~lUVYr1AbbtV!P`>=cxU`qkM*g#mF54alG>G))L;)R_%vW{X%`{m%gB?dacgnx=Phl+|*oG7m@R37zH~_eu!` z5oATRJaMk!Uqk8RK$!Wv-{t{~CHEwzMY-H&lg_l(=@$X*cMd89V1tW_?pw_`iOMVY{cwU z-b8jMd9WuzF^*#xCw!OWRvxg@ z=j!P}`;BO5v|~f-@vA@hmo!T3b3x?H&!TF$V7Dw@DnHR0&DWuCc{kTf!yatz)Ye@S z%N-RZV()O;X%-nycLmY5?4m3i)`N&@dQ`!pv7=q!%2I}2M5--Ly&`b^-Sul!4xBoB zhOchXHf~}HP=~;vDpEGpnukde5Rh{*a7do}WX4DLUBMQ?bt2b;w?G&9{$*(qS61?5yinv5Vuf>iHMYAu#nPPpcCz9Vd#+4uwJ(jZ zL`_L!1>$x8f)kYgE)wH#*4>^m?zS1jUG?*!smgT#7-pzt^^1MTiZ`Fb+ymnY*V%=6 zQN}Nm$4EZqHtGMl4F+;EN<}+pmF~;-s?Fr*uil4A=T$Lxrbl>D%7Ky%(v_B}q=b?7 z3q*iy=>OM)6!HnmXBqtWmU3OaBG;bEQhy4mP41l5EOzH~H}%vdX_!B7hN$PZ?`kuJ_0`bWGN>_V-l0^T;yTW*L zQOl=b(6Idh3G8%-^35AVCv9}D{{)pw#UOYC_`)-6rIr${;4c6aD&8`GO`WLNy(FJ# z-sXPdElr3j#B{l&2mBkRzrWRgCGB^d%L_$blp1$p_aeTcwnR2nu@xk$d-!7g#z3g| z{)`3C6oMUtBe&`H)wVu+!Sslw`KnX|RPI6ObmHY_*D|Y-kmR(=6u70iL5dU*2GFPj zz+MAQ{b)rC-zl`+NbU8$yWsV$vyY%X-_|g3w=o^tR#w^qhMgVXi=GW;M63(silEiX z38zAv?zM`=t&It=ohrRP=`~OxManpw!JcA64ATVq1WJ1H<6sKQ@etU6tjK#ss07c$O@#hCRyfE*aLD(n^{E3;DPT3C-P!-)6ls)%-AWi|cC+3Cq*|iOtWb z9IDnQ{XEsx46nK156y1=cb$k-&2C64mRCj^1z+mK0yy5Fx*IiwO?gDQR@YfZv=jgVq1Q^@ua>Nl}c@ zIw0$Tp}qQ+^;a5VZG%$ZnvDrHMZhE11l%Y`UfPBL$;Js20inhNt=#;w^tNT+Y%Qrm z@#|DCtdCQy4aTKReHR9S$7iO#dq2R) zA#MkMJ|FM+F9i2qCMNFw9x6^wX zurjVpsxc%3viLc2Rg^I!pfC0Sijn59+?WN}0k_s8Op@DC2zEq){-0XE5YIkG`pKM; zIdk74d>v8>PruPke**_sGr-(+PtuWxHALAnMov8*Wdv+XLsA)I$gx~ZuX^oQ>f9<8 zW7TnfJ3QvK!{u<}Xqd(baV59GwuH_`FvhYG7E&Fhm=Ox~mf~_S;KJ$Iz!~?8(_0|M z*yOie)ZTdq;a@u~48M`N@Jx50{nUBLa>N$w7E{h-P_ z(^fQnf4o=h%l@xh097~C$DQpf=1%a;EiXsZZ-V{MH0e-f{BCiof1r_f%DCd>3Z&Vr ztS$*z(h#9IJ-vwd{gHPJdj9%*OD^y_u{*o8s5sYgh&M%;-+4)a+(m?~(ha-H326EW zr%@^QcX;K9{0R}a%4e9!@1V%uohlU3@exIiO7$%9Vq})yfC;e*iUJ02<|{ua{(y8; zV6uCTUrV=1ypb^sP65||XW<;7&5_0T!z9NcVv@H3x_X9Ku|6xMU)6x`fNHi1$-zHJ<6f(^jyPWzY)CZH!Vh%_6F5C0fuPXM2rUUos>vjdG0Awr{zjxlj~StpnIWN= z=^UI++M$K9k||eB3Du*A5l^Skknj_btfUcW0t`g5!1}`)Nm0h8gh*f#x!4nNj?_C;icB;OAL_u60?XW zK)ON|bp43kw2)I;oR4WhQUC2KbpFr1z)ud6h!YM#DbzrX60QR(d>BtAA-7xAACZ7FtvnGYc-fP| zF`ond?Qbwn>N_lFyLVt^h6Z^US-6l zigCSMD^}%G;j&j~c^SL3>KqSuuWJy06M}T#`?k*Xbrk9NiI+<5`1xxE+|h@YJjPza(MP)H^i4TI z8+V5pbNEh}u4e!BPU2G<_unv}^T0#F`*mck6Xe9C(C^n?RVukv?jEVBj~& zRSJHv)KU2X)B8q;!cW{yBL3Wca&0&~S${;nz@3CGs<(d+jPu7uxr3yD(OZ;GmJN9l z>L*j|wibc?-}hK<*`{@4M|G&FPHsic2}!7OZQyyhl=6kR(4I-8u|VJTF8<5teT-V# zGBYEJ+!5Q(+}OkY9GIk(lXxML18{@@$!{m}O=-a5fR|10`+xTp#zj&y27&^@Z%DD4w)&zP>i0CPu>o$xP{4jQl@$ayX7h4O z-abQwLE9NY%KS1ulOtq^Nrohl_h0u9ai3~kG!4`0_hVsz%9VQpfiOl>geEoT7@s%b zqg(#_{UeqiIIE8yq*Rui8g8Y&vHeJ$XJASV)_r?1+J^6wEh0EB&fNwepV6{sg$UAN zcGNkkHBVn;xwS-u7qB{mqFBhu!&RT;@3xib zo?B)ju6D`cV?8tw zY0zYrJesK{3LyZdN#~*;9);AuvV>|I_(LLtwuNRdBOjpWOq6&Jqt!~YS zFn0C(k4Us;=@m+A(`g;dxQ7PO3ZVN`E6nf?aXl1h!1{ciiql+H+bW8{!+LC4C;t(Ad7i!isRUEpOeIoT)W& z&S5q`N8*n!$)_es>Hm6sNb4+Cq%U~xDKSgh+>n$hNb0w?P#R;^6xxo`RHUtJ1(o9i z00+0C7Bd3qL@&Cqo;BxXElVH|+g=i$GexFh_qE2Zj2XGq!Uc{a9Pz}#8w}3ppWGLj0R{w= zIMfb~>XPFU=C#=+;mFG$3(^^QrN}F4j;4S@VIz*lAQWi}{r<5XhnBl+Qk_vALBI&g z;64WQ7plOlEFAOw>FdEiY z=3eC{d^vIvfJU5UM_cp+w&VEOYYyKmKZd^&w}QCPO8;7Rb#j1wQ|dxr-~G2GH;TVl z-Dd)2Uwm6!al#xy*d+(r8!HTV={ephXB_aJm-s;L#G+hkwub3XmLo^d2p+couIy1Pn&b`5Bob-KISW&%y65=Q((?}EgtraUH8kMZ zzUAM$On!xhL6oQ?twJ0$7!jE3c`5~nH5`Y3c4b+n&Tv08pE3i{pEaZ~Sul{u_+HKR zin4OmK{Bkknbf1?iKb)cpky*x^!$3Yk+x%EtDIG+(nh^;TLTIW zdCUT-XMBz=YeEh&FDI1r3u|#Pj&7c9p3ATGdD;f;UtnfhAt20?b`5 zf=ZK3EU`0O^=aj98Dz-6R}d_syD}InLOYf`I4Vf3LE8NYSWDsp&#K;1sSZsVGB47{ z+duuMyRthVxIO~D0av~<$^Mr2dGTR`;#%o87yT7`d89J%_1(4Ae^EjkS#~1@Rh$J$ z;V~{RcaCmOH#0R`-NgassQ`9m*K4obVz%7C3K%3;+nXC(90RUK0!7=^%^TQ~p{;CN zZSIek0J{wVc9f6EFrJ`rMOirO@Mh!ot? z-(7zOTw?F}>jnx$%Y5WUCun}Tl-1IXlmBXctr5?P1v?5;t1`0PA~TVz+&et`vlpWl za8={f4k{KYrMo!TEX;b+QI<;Q*q`C6(SrA^EKFz%d(OXM?I@2GZ*ky21%EZ5`{`IH z980bYU>ppMayXsC~DDCCCC&wdjex1~2blS4Qu|F3ELg zfF+p=d8~W1_LQ+k1rZ7t-#f_*goOk|1%d#cDmaVqwBPtmV;jyHHIB?%L^=m*hZ_nt zIx-j@7zUaQfo-R3?_~@ZSGO14+5SKa!wW_ajO~pWua^9RtznOWn2wFAgBA&9uqhoZ#m;?gvt?S;Bg%l8%AN6tO{Tns+1_FJ?`8Yykh#{MS|BvZ&L11e4 zCv@^79G%5bOf38(fw?BtFRIVB(j6frIsuj@b7jsfMhukMzIKvv;6x<#Zm1cRGBrrv zCmoWlJR!zAKi%JkoJJCpUmB$ckm%>#%_{fct}cjt0ZM1S&+Nk+4;@)+p6E|L1+h#! zoBi#bO54b(N8&zRZMNKT%5BE_uu^9BU4pERnncD-Q9YQ(Ld+kcoP!_K;ftC?g;oh z_=U^zujkAs{<0qSwLu zdX?>aquL&En{Sl&a*cn?i-?T=yL->XAt~Y0s#s-F1EXD@3%$wz^8cY#{NqgYo;HQ< z3fu~L5`mPslNP)MJW}f*0TSZlTd}Vol<*wq?1Q{*^Z$usOGSr2{5{f_BFK%mw3i23 zW+9lnISnHC;AIQD2o-s4H{UWViPbSYjBWFX?`@&g87#6$_jY;^^7O9BY(QR?iyeB* z?y_1}1Q$bjCwyz|CuJrpd0F$YiN zw`c#-?Vf_KF|kU6Khq(r_CA&f>s%Z|(}8P>Ln{J${u6`RF{E9G>_bmVLRZ?EH3PI- zmuVSnVr&r_J#0Y27Gj0pJy%R_RFQw1P9Yhy8(aH#1q1%0y~DRYjXwPmEU=FkUhn8I znMge~%%mhDTIUjp6VRQ$5*Bxv_P1fzSpn7o&Z*DkHL?qhZ)NNR%6C1q7*mFIyLXZm z%qm3{qflqUy_7@H3>WIs0!=k)d*9K4_|sa3 zf*ITW&MS#%_A`X@MzxJgwbk+%PB5a#f%!2ta+mqbtTB-u74WVMPwH@kH;bh0>;a+U zukHEsTY86lb`nO)kN@0|6&Jo_cofHsIT9z^^Rthp}4F~a1PhK6>HX3b`@EK$o> z1-y?YUK;zR0N`T&C30RA4H!B=bbap<&BpApW%^5pjhM*Hqph@~gB0Cbl58biuUoln zX=g#1LSVuZQCr)Shh4yWm;IYl$OXS^vOYR8)FU=*MLKo$jj5!oblS7V9gG{(rxRV$bTvRhB{IZsjnsPxB%bXPezmXO#-1oKqz9?lq+$a7NB>#Pkz{on4dFWmq-eN+5JeK5`j-mhK z9nM!QkDW|_4b{#a3+A5?%?*T9K;dx`T#8Ei7XAU8{}1A5BY9Jt2ebNT@0ci<1M`xz7li+?NEY8PL{1fyvd*DJ z1lazK%$|%wf&Yr+XwC4e$c7_90-ICxdcTaTF!y2Kj(4kxR1DF{k$7Y^SMYVHL7r*3 zgCF*ZBdZr>xw*&(4|q02j91ckl_SWhY^aZd5I+%XyP)@)C=ZU+?h+XiwCVCsj}eDO zS^h7IO9+wvVOt`^aBJW4RX&xTp>@K`W*=JpX`Zv3*A z+wkCG6Wt@O@iGcN9DX(+zhxE%?8GzpRNpAH;4F&H!lB+TD+A!#OaAuUqBk z{Ji{yR?XA8g^=FC@$znzqPB|zb!4FEN=Z7#cCn@I#IR534gO9TY#KAXsT+EQGBEo_ zf5RRWJe@pZ>j*aKjo?R`0IXq|(8rcn&gcosEqnvF^Nj9qmEOsGBT?IK{tE8J#XP2# zne0mFh|oa%V1bB@LHr#y+D8A#c%Kl?o2u7_?(nwE->z@m!Jg&Tp+57s2@?h zS`GHPa=bq^L4o{T&_ylka2)k6a-tK$721uGntc~nCbjTIsBe*I0R$06m`GFflWFgi z0?4@eLt7@a{`tO>NAb`b-_8 zo|&bsA36f7MYJj92T8sgX83)|q(tk=@n#GZu!IglMT#O8L>kkuYksbrvwZz6zt=B1 zTM1lHN**(n4;*6_0A!n!ZkQ^~A8E?cLL9Ikw)rLUo{&ioBln@1eb{~r>i5p+O~yBn zP#<+@Qf}0FDuzIb@TAX}fXI+Jn^297tAOMvksViUvuQ9%Zk4X3)Hczh&vRomZWY)! z*{IVH{cGdduRTV@Fb_v_LnW}AB=_q=tbaYK2f9Oh8{DCh0O)APX-trR%K`5r-@&9N zBRv}~2G^q~{|{H^7@S$uX6=q`+qP}nR>!vaBputfZQHhOcWiZ%FEdm1)x1-+f1Mwv z>eQ)?d+l|vOP8IsU*^4}&1g(Rbyy9htI97ygLSjQHg?WhrOT--Vm4!MnQj<;V5RuY zhS0j5VY>PHfQldCafcN|o1o^v^%ZodWeuyXtD&E`{NMqMdUJZ5)jsP0Ce$BlYoWj) za`04r!6#nF6OirJfmgfeG~fLy_1BKdk!Op{a_61YwtggoQ62b|!Lxao3UcKLnbwvH zOsJgHVT|bqfXw>glXwZh&uCA@FA80Q>f@81)!JncfvN2;?TP+!W+nR&wO`P=Y;gD{ zr{k-_C4xZctqCwjcbwNg_qGBw(4Tk0{0G!fphs4_b%Jo8 z?V#+8E7LPfmD6s8c>*CK;`BG7@i(XpkbLSZkM1kjegq*+;2`>|!?_;o(9-Hy(CSdo z%Ji<%B>&TENAYOKv9+gQPi6KOFBm63;9mito<+Fo?6t+Qwh)2AD*WbwyuGX zu=l@)S^H)>dT6m5J)$l71y-A+qk)$EoSL@Y+!rg8q=C60b$&o}U+BP}F)Q;@o^j-f zTran_=19d`w6_xc(WFPd88a-kz0HFU8Z@^M`YsOcpL#vClcmWw$lfPo#(r~KM zc1}jH_;%{V`@Q<)VDx~@zLW8uYfy^&MbCLtl+LYXJq=7RylA%YgQfqhV5LB8VhvAa zRc)e`1k#E>?|-3@IY9CZAhgmns`w z{he7DcC+ccwA7c&vP}8~HHVwI)3jIOKGj|RE8%Lb3GiG(=pj_%rQ47vh0*>d_Cqn< zlOg?bG(>vZv-fw~t6hKBX&ml+bK3cY_)qsVyI|Tvz)!$9KIs3_owVce;afq1fg*wb z8w2a<;^~6-(?u)GA9ncvKCfPWZ8+-vE;SQJU1pA!l%74cS&leTwN{rYj|b2@ zn~66>;fw>NY9Nz}TGsRUkDQuMhaj*JNJVOA;+i?AIbSURm>`vM~|wLlb53TOTj3W zwN8g{58K_H6TfYbD(L7By85V5F@F>Dh&1<=6(Xk$1sOH^cnqJFRj@zkT!?S-S|p@W z78Ux{g63jx^^6IO8)yarhBqKXQ#-ioNI!sjdy26&qgqM;$1I8FZXtkLFJ1BJYkWM* zs*#w5I9)yk((!ZKCUl zFF!?X%WdN%D#a-n!U1?z?SNArS`}rNjn9Nf>=JI+q(mWKhW?!1Q3Vi(E2v=jmvwfF zTI-Q$opXDnbS;qk`DC&;AeSXfwF3+tj+1Spm7GcO zTPkQvy%&BvBL&99-}>o+qP~;4dpcd7$kgKv8sKJ{eNKW94H`iHKAS#YQv4~>opt+6 zQuTDj_hFs^s^+dKb{6~P{vR&;)bx`|?iwsB13xq2=7jr(gj^**%}2xG1(RJo-C5_1 zjx5CnyI!ZUDIKcjP^@A2q&pOF)x3c3e=Uc$&l7v*06gl*&tD%GGAA5$26_t!4ZZb6 z27_NE314QV(+mLe+#3hdf!4iFULTAn_bf6EJXkId$eVjCO4_{qYM)vWl9u*N0PzlY zPpCHE^h@1h1d$^U=_fc!$m%7owyI>?c81G|24-)(quRl*S zx46#$Ezxy(qdiQ2O5^+v zTdOwl!neWC|MRsjsJVP>L*K-fp+P*NDs`pr{lI92Ff?gdQ$j{lpk!2G%qvirWBeUU zOTYl-B4{u}c*E4U&v)TI&xG%9cBpM~UFalES2N(axGVEmFd*$X>+WF2*Mj85(esG@ z5!)CZ{pIxZc0#Y~YtV>H;v^Y0;vbFIXU6CoJp!cy^mU_bukrfVS(zn;E!~q8+i^lo znc18giH<$zv3@{X;iQb7{lQNJjf5TiK%~=LlW_NImqFh}`*FM4(e|%dgSA0wB#L1I z`CtM6)Uc!1^jQPWZyMuI9O2h)(&y&kwb00>eWOeFPFLdF9OtdcZ?ON|aN5;%&(447 zdX~tkhK@i401|eG zrv;PRAX8aL7T^eHki`)al3Fbry7^0)xwmvSl9q+DFKah9tCura7CaAI=~!i|r%>8{ z?tB+~i}Wt1@SB@yNoq=-h2DPDzf5I&=XlRJ=K#1~z7Bg0KJf%;zDj+{4nM)gGb+A%|l2`yXN3P);dThV$M9W~|i2qjUq zc{{SFIA6+7&R}nZnS$o0gv@lT zg(hgBEYs_55L&7z8%#l@MylxJW{n$ePGSxFP-BJe^V%Z%g-`{oSdk(ms>%x0mtBVJ zj|ZJ$-yJ1%sXR}7?Vhi_K`IteBi~%0%@Jk9T;w1MMA9eup}+fRwnkMRRm%bk}_;W-gO-Z+%VSNgo&9wTK$B zU*XE=5aEnL`Liwo%wfua`UmZt+ce=rV66CEed<5YAD-Gk1}ir9UcG9 zk$lOR&lzF)^Gw^Wz(_wSi$xUWk;pwhe`T`ZBFuPHSvyE+El>C<+Z#WvMGBZ6<)aFB zOrs9=%)n0{zzKF$$6)j>U-maG8p(3JF5-%bm*vp{()st7m$72+-_>E8=nZ;EE z=$Tbi%A+qf%7J%^)50T*Y{ohryw@vEkBR7m)?egLbzn}U z=Tp}(?n>IeM1@S+GflCnLc6DZFS$!`ENf9dlX9QS%(TS|cIq$INl>2ZXN-?MB!s3H zMmY9Nrj|5A-A_Jchc`Vmge=a>tM&$LldQrY^q?OCvXE0felB|%XaPv`m-=cwWOww3 z5qrLEglqQbQGmvJ^!z9=_Qv@%Sz5!F)m1$zK6r#<*-5^6zrq8Rmyi>LahL`MNSH~)ev*wk0qQ9`s<^!&mX#bkmC7Y2<+p?_5 zH-?)%z`8Bi})6o!AIRbPj^{sWHlEfM>ibeVJ^tKiO5WHZ%zKz%umK~N$*a3NTgp6vLubphM zqZ@(yzlWDXE%qPe?XMl}Ifo6s@psE7MXbk2m@egF-%1AitvMfl>Nj!+Q@;|~0jfb< z08Rb103`JUhsVyS!?Wr z#y!{A<$$g!k(7bB!I5X$sOrMB8zz;u=@5bcH14PFdMGQM;YsHhD&{MN2BbJZZMk1C zbCxX6D&QAjjRBPP!Bc?>*oky+E8*xfq07E!#NG635+@Ns^8Tay=%vHx=JY}+ghf^< zcL?3B3n0!bWt20(UxGB)cosBs1P9K4LcTM>YUM#IdEkd(NObold|=ACU!o(vh0me) zc0_)sOSGMsBqT^Wue(}@G`srx;BhCuuLa9_e!VJdA3r-l?{wn%IPrs~iEy1S)^Ovx zxhi0tQ((rewX&f>Xi{sdVyCaG2vIX^&Yra`259;QSAE4bc=1i0`RSre9ae+I)P|_# zw;A=69Q@qE;qLIO@v%j|^w8%wwn;n*`Bnbz_8n`OL0OvC`fHQG?HvQ{mBZ~F5Wy2m zubVfaPrQtAhpE4B`=+M+o*^S5AO+)`JXa&FEhan?85D&9g>~9~lWe|KOg`3)Vy84= z39zQyAa(S# z*;9Ag*bM!xwiX@b-f+9bdrS7(!SXu_j>av+(YL4QxVb|~dh(;P@^0_{IwK^>;WN6PMEZKP*r!_Ed|Vsr#kaU}1u&=gqBqFVI3D5;-Z@Zayh3Ufh- z0*J^52*Qweg%(Y`r|%=}mJ1E^%09b4_2^yKtmp2_&Wqi@OT1rtoD6_EIR;VHYSl4` zpQ!rvIqCQY^^8>(Z4=c=)RX3g@uYn03>;xX2ia^55-v6Y6e)SUMdlD3_<$4B2%h4Y zzL0rM11DN`ZvJ>_iN*Tx$5%-k;vELU1Ne|0@;%%b_+g7|O{WZIX)nJLi9J7Ym6M-2J|-HTX-M>bE?QS*VsE$Eo=U@-=p-l0wkzLq!GIGQluUyJ4O%q%)i4<|^VtcW&)sMPEsxD>2Mi=b|y*DP#7h>S{sQ z5O$5KcVvL#mx1-%aCKn_(wIzPGtnAO9ws%v?i%%YLd{MVp?BPjAIyKX>IJ(neafbKu#8IoPK}nR+~j zh`vx+|0rV3guem+A?IL7W*%8z$QR*u#zVnJD7{lc>ZkA@u-V4go}LU z(x#55a_4v+weX6zHgF|v718cg@W_o;7X*{IF7wlo-OA2R*T7f^S3P1Y*HIEG< z20_8N2ML^Cf{`roR7^hG^b-4`RZk~ORBI#b z_5vW0%bN@-klzQ)Ai13Hro-~HzKL1Jh9mvGW#Y+^q+7MiJvsoaCxBj=##;CHtR6QD zi`B}*gO&U&wK`y^5x0Gp+{v^mMSO(Y^T)Xz{~zxwC*n zW5tRQS0--j0}K`GQjzuuTX`37UYx8H)HOwWDV)HZMh6~-zVo(-Z1^VDuEnb>*q}f9 z&RB|ncKprV8akQsKzW52$PDH%D8CSOc1CLMTI2+CLKzx*#8Y=~S9t=$Prcr12kK_Rw*4@!S;AQEr5T6U>Kg1vA zs;QatkGatcPDuMf`Cu@~(!?rbn%h>+A=xuBU@$+RsGRrUzVQ7o$anedI0o!&+_%SCQR||o;fx4wH0$pIUf7q`^ww%yJZCA=ncTiV$qj+Yf6*2 zT28{_S36}=R@fZjCqpy;VrSoIj9_CA14@p!<(Utkx^ifpYDHD2B_J3?mA1zrRd7cF z-qm;HH#Gu?gwiuYF<=*RXZ&HD3^k(nb)ySX`EKI^)1yZQX-kwbEa&wY3SDV~yIxQ$ zu4X8LU+v9{bVz z8Jt6HBLuaV4!wMhc|_@ag+8P|P>I_6O1DgXrtQyN&3Wjre-Mv}NtQ(hV`*r=X4x zRHrq&S!b%OX|wA!6Be`@zxB4_eYo1ZXMFTJzW$HIuFW3wFCX;RuS2L`zv%u;KF3Y< zcLag}2$>i54D9Xg4tccmD;yU>YHzH3Y&>8~$e)C1D^f__ z$FvbEC3xCyYrC)fuJsk-pHVWXOvPho?|8#yIviJAP=d5t2g~+@%gZ8PcJJ5QC&Dk4 z*LcGz7iDaBJf315wAoX;iNouj@&{G^H~@@Twd^PoW5~6ht$~bIhHX&}hFkl!#M}(y zmVX^?q2l@uc^sMsi}cpB23w~^_@-e<<_`r^)rZ2C3x5?FJ(h4_&YOL!=+;!RTe^Qy zukkW7Mh>!FyzC#Pz z5fi!Enumu}R8=e?f_irtR{Mpb(qoQ|JvYTC|1Oz|F?o-YeWkMRtsa((}##XlGnt%O6P8C75)gkNDToWzY7n+(4b zev*0GE{vmJi4uTJ*46)k&QUgv3~Hse&PDiZ?NS_Jzc0;Sal0o|Q|a=PonC2_J3=Cg zB&WU1KX9a#oaOcj^B;0<>$^D+0w_Gr4=NSm(ZROohnsr>oGK&&f{~JdkC2L+j1Qj} zQw*8<1^|Kw{1-PB0JarpV->d+psA>g$|i+T^Lu{Tgx9Ksjb(WaK6VH@4pF!ap-+UU zCYw0!w-TxM46gT#`%Uw|&(T$uUkbNz`|-?3sViraMPey3IHn8qNpVVDOPUXhHg@;* z`{7Od#u!mVoF_2&#kvGyAC1OTP8hBs(E#z5$wpYf=C{U}SRxVhp*uCk1C#(BN$4du$ZkF6C9{D0DHE|C&}|$JD_Ma<~rpR5xo*f_JYm$;Z5^DGS}+d?82R zPC{FzGx465CiDWfSyHa#abEPqIg!z$o~kOYlRCMdTyAgfd+?7Pmts4~lSB9;emmCR zCXjanho{TT7pPVKl-20jwyVqD&_<1QxrS)@2|q%89Ba){=nfBmd`q~O@V!CL!-UKv zm~Nm9G|yP-pd$QsY^p!#Et0rxP0wdF`FAM)@v~+7j^|2bf3$l$gdZyE|KG_FQuE^Q z!BZK|fgk~T?kJ;Jej_PlT95~ro8|pf(2&HF{+GWAn?-PR*fmGkQMt$kDXWU>yF8jJ zYt+HtlUa-8HhdmwY(?Ia{TA3QVOY^^&!iN**LNNZP9G5-Yfc{vQprk7XD_8=>VsqP zavL+;-FG}s(mi)xvhNJOUS>Lfc{%F*uC*g$wbTKa5gR8(#5AFZSsXbb-9Qmk{JrZXDGI?HW0wvT1o|(BuI~IcJb>hI5GC<+ zMEMXs30$a3!CNNRkSAWhjo6$2-c zXTBS`u|jphJ9Rz61jGt7^qpW)Zu_lFkhukb>)!o4TLt(>h%INtA8JAL2@9GJ`oK{N zy)tC=R(G*aKH(PHHN+C&0!CbIKPZYwa6G*OLi~e!= zpLS5H-e*}q>oqn1={uudbgN;o9OR55q1F^{W0g382{{>4Wsg$ARnCotwn<~Jn%YWZ zb)K=oJluJK3h3)5dp1k8$=#;K{)(Yg+aYq(EQjcNtt8UL7-Xrt?s zMb5l|oF`I&cC;g7bbe1E&I}mw#gs7ol{a(Kr4e@$)L^Nk5PzmD2Ksk~5sDwG z6Dj(4$NT;Ds-}%?M1nrlgLG{q@O*O=f$xz-Y0p~I9MwCC(EO47W1a(iBO6u;FchbPWHf&)FSOBj=usI4vAny zFa{%J(=TpQ@YzyP))tF!LtL|c*)siCc)z6!y^T)6z4dtgx`h|8zW)Bo8-{>l8L(nq z7TOW`JZ!(8@9_!jR+gK6x9Rb^L^p(vSlXU>k^@F+@jT~a0@Qt11BM%Rqu*D^p$l*N zb!`L$Y?Nh)Qw_P!Kh)kz5`ia~m-vl3bcf`!kKRqZQ{{8xJR8QJTI@hK+!*7=@=imG zVxwjt^3V3t$J!Af-21__4;;c53Z2(y%&Cgim8(+T1BdHFxPwYf(vDl;4mA`a7Dfc? zjp#~t4G7DXM<(7`RuZ3Rp1|apo7=c8(e_`vHUie-*Lj<|ePiiH*29zQf5`b@s^wA| zL4hVz8YvI_Vh6y;_j;ji+8th&Z*q>}@$d5LjmT#9!gd3q{?Va+d7#8_>?vdAZdaP& z)=rgjwrX7ZKCU~W;h-r$EL!PqNl4irOt>yTcom<*Eazl%+zmWgdt_vHvsw0(Sv;rQ zNgK?u^gM_DHYjA?#JSkS*`+(ooH$gfePFA7i&^#Qo3^@D7izNwsa_W4=@4`|HN{ztL)n8zr!2GF_Sq4 zJu6MHjYIpQleA5>axey1cYSa5LB%K>;_1tN1yS5-WR2`PfCEZT1sw3dP4eF`Og}iT zz7<<|#-Iccp3!v?@zQ?s+Z{&ZG5CCL#Ds8JzTOrk{V(`CVxnG`**?ql? zqAz3l_Y074m^UkjF0)I?lTFUie#(2Ab;`@-{_XW|l;oH1t2*J$Yl&*WO?rzC90^)l zKJ*EmPWteX{-X(5)>9#klROx}5;8!RZ zN}*D4Ptp*qXQy7o*#qqZC?L8NZ#H}edhD{`;`ndU#Ts+Lv0y)fbP4TUGij2!MxZ}u z3ENeL5$c#^GWtpb7VVvt=L7#D{+J$H9aJWZ#gF}|G@f;l5j3L#YG4Hb+wwazAX?IX z1l$J0BE~FRu}@d)y|JTzLx(!j6}qWfzt?}CSFKX;^nsDMjwD2SqTIQz*yB0_Sd^IT|5N*BJ3|hb12jihMd6?Gs^|YBh;uwI+q8=ZBvbOQZ zFAH^zktu0}3Z!$sq+VWyNo6@53k|k&fePkQ=Q8{vHG$6AV*U@HD0>)Z<4LZeBco#h z6L}34490b6rm7j=%xH!#UwnhGs*iv>U5sLkpig~0WKFevDi$c*YiIeG2 zsVg}k82IyFdU{&COokeaePbANGKmbe;U`zg%o_DG>^=Ml8=aURc`L9M)?*0-4VpU< z6G~g69)m(d+l%6A@!wk&GbK4Ar0R?$L4@r>_}6&2`Q{kS3SUaJp53yeE#!S2Fgmgw<+`gXX|%Z^%XrgS&DX$HQHELVd?F zB-L6@>O)2z%Wq^~uCDnUP*kw@bJlCu)jB{_sz|E#CP9I9Ln*lPJyDGO34z=*hx=zl z&+c8vFAQ_Hi_v~;`Yg%jV)pM>6#83FiF-TRcD)n8l{DN9(rq9%xo4xbV%PKvql5*+ zZW2IM#DR{fb|-XxIirS`U89Cw~Z`ZH+$L zK=mnttDk$oVw9Nt{niyadk4lPv(Llqm+516=KHHO%?e^7$~{yT+6Tp*>WSb#>x(gH z@{H#nqbU$V>f9|5K`KlXJ_?{%{X+$3743^27$%&pAJfpNlMt5&iCMGykT-koHqO>C zpgdo3i*<%rZwTA6S+5%MF`3nN(S$p@r2NBSqhxkTZdWeQ;UfLyB*&B5R_7sR)>zw>bHa@a1 z{LvP^EK!z$;U{67zQ_m6}BgcIemt7*6mFi$O*t4A$r7wB*GO&;U{No z%R~g9#}HSAvIxuv#YMv0Kob_ig*!}3s3Xvm9uNV4F3?i~0lyXrEr`Kc3zZjxgJSib zRF@)j^CrbchY>-fRy-`5(weIOZDV9aTwKT9fx;8$p_ymO>dDSFe7~i1tAOJH8XKZH zAIs#N{C9(@ejc#lPA)EX55=$6X!JPi&xb3*%_-z&HwbVh0 z>>l<8Ej7g=k3KjlK*3lZZ>kZeYcFFaEE~@;>t9Fi5HQ2=HQC2Zzt!3TxZ64bEbU$b zwg2pbOD*3hGry*7;<=I*Qc;&j8XG z&fo~FQk6oNVvh{OU_@i-EfN>c{d~VdpH4?Z-U&cQg4Y|=L+wyyGszZuPT8nbNzRu+ z*O`(XiH>*vm#6v_TSC2RhJS^YOa5bV567@8N@I=w@2&M)-Fqbx!BW_F-AT&;x%EmC zGKp2;Oveo*ZkyV^#rniW$=5dH&KyYD%vXmN0UeU}n@JOz1{UL@W6@tJk!apF+scZ- zwQs;L0aYtMQU^`7scp<%)hGdVy7DuE9qhRZZV-WCoro86!>$+&*si~)%M5T;6}&bB zwP4R$UPm!D0Da8YXnp3muGqCWMiTe$>rgV zez%4w@0cHXcj)sjle4KVd=Tf142x{NHvmEspX6;1-01EQCu|gggAtQpqYr8~s26bO z8Dtay6cM3pD*)d>g)5TveJJ@mj>Q`CCZ6P)=5S{eNRG-lxFo4vE<+g{qU{4Jt12VC zI8j=}yQ{XhlMLAhBUa;fspYG#$1`C8f5l5aU(C_|+;VggbH!_8-98j)Zi%JHrw2*6 zLJ+Sza>N8AI#%Tn+^sgiMcV|aVB_W~U5ArUpZ16@J@;~FZgu{*%H zTj|~Sb&o}lpn7X#051^WJhU*nED%EP_v&%zVJu96>UUH&Iz z5PzS`L+^R@y>*)7FGonCaQrMG0s%aH;RrYRxxxotsYY4yx2yry?+4tIR7ODLDOV>; z+M;Gwp*f$AR}%Vy=8EFDU4Fv0Fj;4?bW21;!GuQ=`Z;rr_>txGbWl$KgWBx^+huon zDh79NPq=;0&8Vq}H`%kb#0J|38TKtL%Qx5Ajw0HzVm9<{`3`-T+Y|P)^C$W$d(Cdo zJGqzr!BcRiN1)|*_sorkLp0#^v*=H*{Q<^}y~t`*Nlu_^2m1LVGKzy%;BN~K1xrNK z+QwqvfDSZ3(G9qtD~SCl&1*Hm!|v*YHq_Nh+L33opsdY_cs$sp#s2ojzcKV0r0Nhj z3AUDs3|7x1s1MNKTn`*utMWaDhfRFMsu*qvUgDk!YTZib-v(--f?@Ng1@B zPI#G;X%7L>xQI%UmPjc#rXe4qS)xWGih=)*;-7&5Id!=B*ROAoZ>U^2B?mWe zDp2We6L&K=b29;+#+Spr3w-~~wwXCwZLGjebuJZ3H5&L<7J#Q+Z6+AMmZn-i=7xHd zD~Ss8#AG@}Bu&>|*)4OHz&$n+JS-iVwdYJlT8w2fmS&0&6LjUG46IOQ>T8FRThM;5 zaf;k2ejrD>_8gL^3?l#8ME=M5tq5FSAUmG6+{GMHnPoOCf2oB!rk9gk+o-7zBD73jQK*&#iE$R94%_$k74G38-~sUe6z!dCcydX_fEwI*w+}XBk7qS0Ut4g z)L%?X{CNf{5M^)+Melxx)j&c7){azT3Pwre7>9R|$|3-OeWC1V; zs*6_186crWTOofUGqOorBw3$+Ie92 zqn_@#y+_#1>YRMGLg*=jYJY3&jIk;U>+Hfc?s}t(w7xPKrL-8PR1v9A7N<(XPkdB7 z2Fd573yhNI@&7qaRv5Sz`Toq2t)DWPUb96eo8;e|ZK7Z!i$?z=tU74FpJ50!a?f}YLp0~Dt z8TLU;)xB(a&%SLt`~76;JiGt^UtoCz0!%LD;=(5-`4p(t0GstK*`qd38MW6SOI7sl z->}s%_jFwO<6cCLj&1=oEf~?T-m4mkrkj$MA;ZU7(cbezb(Q!>X>%qPGtn`zx(f30 zF)?zoCzzTY@mYjLeKuUVr)JWL%fuqAohR{Ts9V)Tw;dydgE_>lwC#Pf&Ym%ug&jt7 zeGaspROt1E0L}1vx<{x|(|*OLDkV*kFg|pmMxjI-kmCEQ66%I(Y;F;cZ3iRY>?JqY z@(!z9GmBW;YUErai>Tq!KWowKQ20Su#0qA8k-o?qNbtn|c?57CG5cd~!Y>6f!lJ)e z3&nnkV!;dO9O+-CItZp+i&ir7p$^dp1wHZxj^=340Ya{)Syxs;<`;^>oQQT{8{^_& zil`{Ept)z86F83{Ma*eG(vWdbU7q&Sf(j)WJ*+KJNzE6|U9z=i*wwoC;&937RUR5@ zoTtf1CZGQB-PGm6ACNsp_UZ2^Ue~l^P*BEa6ygt63g4k+6)|s7=j+2Vz1ld}tIt3f zpO>P!0C-V`EVJSrpv}(-H3AI*v^mv<=2bS4YZ9u7c6rwPm_v-p1?b{qGh?T8b`Xy8 zoNF&6pb-46fvNrnIgoNa~NsWNc)1N?Lq#!0(6lTmlFOY<>3yW^?^FBZ|5CAg~4qe zIVn{cxUQCB6+IOgVMf?0dCp#sWVVqj?iQ$aAb~mRH3hj%#eq!lYS`%>sB1Nz=OC%M zfSKh>y4+Fjt(~Z_CSS1YQJZsXD|w95&GM?L>#MWzV>CyX4L`M0f+4BFLJQXylJ{zz z08*|%wxe3Aft|RQ{{#Ws#g&>(lceN(msK$%ZP-Yp3b)wm)2^#87H;fT+&ZYehWhA4 z2GzdXkR=%9(}zrioR0DtwpCfl2YP7?*p^17xaw0W$)Z~7HO6SS*gPaE5$sTWA1jAr z{^sm3y~cM2C%X{wA&q&{Y$~5hL=!-Z0Jw{)FmB2H#jT$vFZ$r>LF_P))LzqnJ5{U zRXTCZsu%%*CXhSxNAOGN%^z(8LKZ$yBjO^(hcGXazlmBpwfy0k+g%bx+DkRe0VLH0 z4Q`m9pKJ1by|D0P&PbVrjb4zwBzXl7`pIywuXKbjbDZbgAFl`@1j%lMFz}G`Jvrd_ z3BArg_^yKVEQTz>Vn}uKj7Z9>Px|~>Abh$3gl+_*tMg=|-0%!qFim-tts&3A`YueG z5xkId(#6dW{NQFA?y5|jEPJ-w0H(dX7SHodEwTF`fyr+_g>GYU1qcP8dZD~1h{?AJoKLn@L8wiW`lmckbyEKd}4QfzXMQh>FH zCVC`EN?DvB*u4+S6%`Ng`inp5ur+fH{jcn2{N**rDbH!=)z|yyA%#B`ubE`pan($A zLpEDg#Dyb;&R&gm$`xGczw2(`k+}!$-POhvyBo7rcYWtU6+|<@S@ozKB;=qbh}Mh& z$fZU9B415jv|$~Tst}JzkvtBdj;Wai?yD0%< z=CIX%04$EI-MjXbB05WTAW@@`IGk+Uwohi)E>7$vW zW%G3%VZZvCI72K)bk6W#h{)-)x8~0lH^3J}5Iza!&w`(Eu&@26R4O) zh1~GN{V%x<%bG1_eT4o&iV#%T*e>u>rK=L4Fg_{2lLUOzNDG&dj`b=yL=h0V`rFli zMomhzZ8%}_lL}&5-_IT-@R3h)$P{N34xJ#48tF}iTTMaf7XCl3&M7*xChFF)la6iM zcE?V~wr%5$ZQJhHwr#Ux+dBFFamF~f+I3xH*RHkan(LXEqLYa#Q+#)5Wd|>An{R*L zZLyvWpJU^A1kDgbTopaksh^d6{9OLI%V2}U87AI&XqM(wR#24tcfTR~biXPA%!>}47iX^bZEYlLqX|#gK^>)8J z_F(V&Vao}ri>Q;2KZJaPVYs%iVavfs$Wqa{S>a^?E0bs}w&||y{7v?YrWwUFdM3uHCx{Q}mWZHPX@KZ~zKFEp#x71OMMjC_DT(0~%&KDO*uTFiF4034` zTSl&ZIbmHD}XzOoc4;lGL<>Z2OB<6|z?6wXs2F$nO!O@H(0bfgchRae0+ zlQzQ|9B~&Bsg*e`PGqX3Gp=}&yogykx&O6R*De~MV9n1X%G%a5BU9+$@pp3Tgs5=( zD{=9tVHy^SvU^0GM1{ObI1dW~FrGqog*hGp^w?}t80pjWW#~OJ&Uo)--y+26GDX8; zCFJ5tcMs=0m?hYYg2GUBce&1Zch&b|a%wePTjp z!;Bzwg-ahiwgg+Pvl(kqI*MEpu7ZcOb?3F8|0!zkFb^>dP_W|0MAhg4mNRg8(tZqW zaC=cjJ}J?rJRIa{DmZ2Y+|7=79c@{OQ!8EhQ2TQ)>VdnS)46SXog!E3LsDm-D=;q_)|nhCTSZC`mho9(q@WqAeEW zU?;Sat~`w`2U`&>>H2N0!~Vw}7}sO>oih_jw}aWE(lZ|Q;~PhgzH|BS z@zEVzhg|ZRD;m&}<-bS0a*(6!VnqHP93kT&B2>FW;n>DY>`pP>0fQ=Or>O`Uf2x(yM3iMF_!i1h} z_R6-6we8tVr>QDnzLa&|GKE)0kVR=8fP-xL=FPm@0>X zzTFIdb@ddxV8CwzLm0-+p}eD1-S-#(W>=zkV&|TrLR%L(cR~hY9X^oWtV}`cK4TeQ z{`?SPcd}tTe^FhCK_)&iZYf+0K|AkzT{Whn?4fQ0C6R>#EE_}Y*9)B>d>5Tq4SV+g zm{n3K_um9ch4|gYDCc9Lv4WCd9(IQ?W!=x(B31btrI~|Xb|VkJgR;JFfU+K&!#6|r zlXbrG4yY!75?(72H1EfaJ4aCtmKnqBBNs$SV%jm8W!EbYRWyD8e zs&tdpl~N@C<{;rkqzvw&9L2YdaP|L?QL1bUXs^7&H! z{YK^MuF(8-dzB-`GVRDeDHU6Pbd1(kJAW(c`1?r|AQcZfKkA;8}1^jjU zz!87~DP@0Mm^m;`3$TTkj$q}d+LP-608*2#wrgg-eAJ1?t`C%0PobWubKYBld~v-$ zq*x6i0<`}%N!)_SH1xA1xu(=ltDJ2Hvkx`qba3kx)VnY7y_0nlpOd@xuDpbpR1C!G zu0U!q`2<>8AKJ2*0rMN$_!CCHz_{9fNG7X%|9`)`25<*-J%~U+Rl2Ep{vgBv91dh( zd6h5F{?aYF#CGo?GOFTPnM#r7&ZG;URoUV^tT++gECUG4@%43ro~>30r(aam@%xae zBJkKg`S0gqzhZmdJEKN3iUTNa$9DA_1qf*o65>Yg6Z=BX2|^ekMI^98S)~kJnOltv zZ?;ZX^zb5ao-D_L@|;}JXjc;e$a$!dYB#TA`b39kOWWH~0NvtnnE+DkTjOi{@7-7Y z51*SywW2pW(Li~@3*+8IBohnd*Z@kDgklo?Q1Aj@v|s+`ZvuykOW!&`3v~y5;_sUc za|WM@L@2+<)fD+2Rbgd^BWReV6_H6NOwjNBr2gQv9Xj3y`He5i^A6_%#;~MBhBXV` zbZoCkJ7k1Ya^Q&RO$NywMlE)h!vNYjxTGKwULAxlLOmbOh(Gby3@b;?XY>!n^3q`OU5ZhFTE_v?7w z`B$wp=+_+46vn0pfY%HGZGXB;(Cr#FUxGBZj9zbZ792AF9a|(+RlflG4Bt+Yk_1d> zN_>R*B!#+-neK@2|I9fw^Tq-OKRv11OUtY>a>D(bC@f$hx*&)<|zZ^ z5uWsLyWBl*?rtnPz%AY~q}I)UhpBn)BmxiC>;G25?v2kp_<;yY%NmUP;+G^AGb&0h1(MZp(lWJ@CBdhDf)6H`rmrRsT=?AY`jF3#tS%+cpZYzJ zvCnr<>%TvSErcbu=jj_Mj`$s*5VJ>&)<`9puHJ`byj7s{)mg5cc>3VDPOJV|aC-3g z>df4YpM`JRcy%!Vc+4E@IKRJLdwf0Y&?`;M^&35S+|>53^7sii6e**9)6eM~%X zb%3Nsixc7e5(9^hlUuFYydC0V{61g9Oy5zSQA<1>xxXE(+LqZ{IkuxnCD44>%BM`8 zngJPmFP9RKG#0YOjDJ9hBsvXThMOf~;&fsoQ#SdsfAqZrTs@XlWXM(XciM1S!)JE! zcmW=d9F1~2J@5D49uIrA*?0^B82|vT;Hey2qqx6m)q}+Gb{22tv3xgNp!2hCQ)jlI z-U6?;-mvmpJj=T+-r?LmcHMnoRjHH$AQ}Ec{kgOAg?GC@ZYq2A7*Mu^tx!t zY(I2EQ>e~i+Bo^qo^JzzdiN*5pwB~i-4fzMt7#AKSgK)K1^B_uwE)>Y+#_wTf7se3qau(F;3<;ftZ($xvJ(8Rg&={&UMU;^q#3{r#1{l-1ReNx0Rh+CD^ZYI zjtJ)~dl1leQh$_0+WCtau9Y_2Y5(;3px51<|)k5&bhBH<2r; zP@!dy0cQ>Z0DkV{QzCC*4aq=ow~qpfRXp6~)F#^v8QjoBMT>@BKlT|*;Q-naKfpev z{5%Et053B#?^^_46C_Yd+15=$_d2;$te|0y>Z8#0%_}bbUUVpJsW6)lQ#)WYPPl{O zFBQXpZ8z1_pEAeu%2SOvVa=gYH_VXu6M#Sx>IL#PXW51#%40Z|wksg%>i$DdmYl>DB1&dZkFu>d{R~MBVfNjndvxEqp z&_%7o|FVnHYz!7k2DM@by>5#{#!g`u{WW?TfQ%`^5qjvX@>iMEwcF-$-yT`v9_t3I znsJ{g&XrnJ0D{6$J!o~?&vR4Ce&EKav~IpcK)9EfTK|xgNYq5(L-f$hd_o87V5UJdb#cHThOw)=0esoly~e7F{V5C87GmNUlzLP1*^kdtdyWK1hvSjOU4z0#%90_OvcmWM^*?QCkvo2Asc>f;Vv zsBwXpO*ObhfRLYOtSI>?Gjv0kMlX|-k46w~33Gkd2v_2&v5~{5PzRyZkq+7}8!GuF z)0KVC!h8f&JXJ1WMrE!fpAHRO7ergUR?+|so&=wz9%MH1lsJ6J1V{HAP&<%6UQjx;vyA1D2F&Uo)5J**De0O&S%yAMja`Ok<$ zm~hk9w})-}$F*hqN1yS1zZ&zThWn4-yOtepE^eUBPt|8XIrn;V9Uy>^LcxBIRDq*9 zkB~=k0`9n112+Y37kCaKD>KqgnnbaM-v#cmC~}>|_on8Gv@d5F#S;Q!&a9M@f6TZ6 zH^%Svy;AGGm>tq1;|4Oa6_b%*n-M@W6Q=iU)IBY)*m%3YSoNGl=h0WB4U+;wi*G7( ze#Q`;I2z3XxL(Ilvoa;n>_Ufh6IMP)eN2O<<`Z?o4t8u2R*;5YO?pO=6*v)VnHKo4 z>8AeWW91M3+BzIQSh!L80`i$r4XsfdaELUx2~z^1ARL8Gl-v;ezcd~rjS_|~?jz2J zYj=`-dbLgSZJDqy!7O4daBItSg0~n2m45dyj>Gr>RIcP$aP)Bx+s*n)#md_k@*e@% z-Vupfh?ZA!K&dd}K&B%8zi*Pm-A`D!b=pba{L+y*?*o;xjhvgUNSaIPXcMSftTrgq z^i}>9lFdJ{|C5J~Wk|?)>LJ>}>!Ws9_+_#vYRGxkLv}`wBy;DNj$}vO*2r!L!oERP z+gxLa@UwZOLnQUn=B5r$SPe;6EIPKzUN;)kklKESa zNtA@GEKL>B84`w#o*>jmYR#MWo8D1DV-*hm7 z?C<7DnLFlGH!14(tl5@4E=W21z3508!ms4->iANu_xAjP#-5?l7*HAX;A|RCR_ZjR z&f|sbyewIqKv|D}&R;>5z0pZzi5sisYvmAa^VgwO%xo=VoqHpiqUW&tI}M~$DXM0s z02zhoC}C&d#=x(bj(T&`bqiNk>1^NhmPO^ZtZR!iQ>J<)4O5C1KpG=oZj)3Z7Z8da zM1PEN`G$}Qi!)KIo6}*=bxM7{j0G*6w7Y>6IvkwaKpAZd5-d7Z6b?DliSmppmg%HK znsKh|qk`)%wqxi`bpdf^%Od%Py%>}X0L>1XGi-`#G=DM2eh{8u+OQRM&_um#sw&@l zf(yd$>=r84KbGlt$~@VQ05$?lbJsr*55?L{Hi&x#8LnTemXqV^v?ZF3a@SyXZ}0>t zYwm0}l{h^c)!^LQ*b)}U#k-=g9QBny3=yfd9@`ak_r-O{Txc$QR03yfuvy$-Kmf2C z@T?~MiVm9$?11pNv#X;-CZm9^t4x2yytX21g%xO`MInaYHaWQ!`&(dorBMFsEW0xU zHR>$>qmfWG+GS6r`}dPtA%%;YrCBo1jduXVU1AsF$Yfz|nwe=vPa)P56o{bH+T2Pe zz8b@1RJT(WvUnmMUILMaq}=EpK_p+%X0?qy9}qI zLu!wwWvBHI5{G7uS4G*fr>?~xkxSc6x!py=G|?`4!yg*bpBt!)HSdCJ*s)<{h)C-t zi}))GvL2vj54;@^r3V@(mvA7APdjA~j_xi)s?rx2 zI|*9RyRVw+18OX4WB4#)1pf!#Qb7m|fIN5yWtIl0u&3*!EJRNku2-Nn$LYa1Hn(R~ zZE)1r71ja|$8~#TKpkB=AoZsFJqG)8+5M5mRxVOk-4X1D(!1gx*iN(k>Mm5%Z&v^c zcm13-CB$2S~v}Ueg!X_JxGISAq#T@(KI=8 zc<{xM#1x_vJ@2%aoSC9Oey5UjQlidO?Fbf zk@~IbeSRSnWdBY-_A?N-kis@;R zWC2-GZ9wT&)Uf_7+^tvM+n8xiI~nE}=Qic|_0*C1%Z&5K5Af@VkL{U_fvx2s zTQA1`I~6QHfIux_(R9Ev_IB%EMk<@@v+Zqb-jiwQiIaG9x^R-&G5##e!(XvO)p4=9 z{JEC5VTeg>KxzYQUf}(Q75()^Q_X$U<<67+*PrL+pZT}1k8Rtpf`uus4%745n?B#? zXstdH>BIrO6V@g^mZMQt>e6?i2`l{bm5RwFm1`rc0m*9Jbz4?#ofi>67q9mh;QwtG z^#I;;y z^=-wgohVgNc>7)c5(V$+r zi~b%yi{&C4rNgP0k;0wg!+o;9y_x9i?(%~etgc9~+rx#IZrkJnT3lp_BvI<-m z&IFtk?A4M(&e&A8Q86WE8jZZ0g@GaepIyUXRDyb>gnC^d89wHGRowEm;&nt@FeO5I zu!Z0l#iXpFO8BkWWWylEGTS8NHq-D5$alpOyKWeO$;cv68|)i$u$Q(v5pX~XEdn-w z%J^-RcgUVG-jmg%>0j-!gtzc31lFPR6b;;Fl$!$yku=_@fx7W$TEo7dbp&$eX>~=F@GZ|jjT-BcOvrhn9w#|FuX{TwAMPlWetn{(!reh z=)hZ zyBd)$T5zt~%1~8o(!6G6kl{plcI`Xa6Ob>32-DPWyO`O^Qfemi3LF1;1MViKI;e=> z-1@fn{%5Y$U@-S2AOP>Sl)OTVm=nsacGQwrh|rOKOMP&u8rylelk8ozB;U_PGqg1H z-S8tyHy0|-2v&CGHgp0rdpaqwIoJ~mCI#rB8p*MLii4y{uCn9gr*j%#kK+oqmWqN_ z#owFNE2(8c^KC+X#6|~y7_K^Q70h>4Pd`OrUs@og_B5&?N|eDlw;8F3I>B585GD<; z$Wv7fVlsie2p~~_7HrJ!yqmJMb71PqIc0eF?udt-HOB#|N z1Sqt>fBm2H&eXV?8srK>1o&^}c%SNT+4PUQhg=c}=%-}`WNL5C;ACh*@9t!LscmDo z!HN9k+xrQb)6>W|C^vtJ<~4MLZn3Zpeu9(HOj+HcK8tLF5-&j~IpkUgIQbg>tk2BX zt;9GRYR)pQ`}<3jE}rBreQ%QGfKuS26$aFCAn8akD_V|%f}}qPK;c7wWLCI3IlL3= z`!SOH{V*UUu&^BvoFoVdEKqV`-N;Dp>FUk9|5rkigbz!mmDktX@$CUKCw9JsCc8zO zJ~i>s4W;~O_Uz!{Wg>G$P4z4cv*Kv7vzTZB>CqF)3>Y?@v8D)yVKr*l-yb+q&k*|t z%j~O+mBumuWHOEhARH{8ED%72)M~G(3}sQ~pK>~N;m^>8x%0;-WCf>$Et@65kU24; zv;9M;+8q--iuX96g3TixMC0m>3u~E0kwCR=@B2$ychtP<#oGXC@_h`G!fxlDUo@!m zh=`+d{+8`IZT14oBOep)E5tvGF-a)V$p|%fm^1%Y%j3s$*i#43>H!kih8jX;P$~_2 z$DaeSIT3`G$7S0)%wLutE>TiJ4ASVu4uf)`IHV@%W?2|3cJoG9OynrmTPd;p6h>>j zYb6xuS7b*X;-67w&`uA6`g=0KA$d)$Sa$y+6KPcJT9P$pX~bm^*J%;UzY5&{vTQsKRk?$M zAe`9Fe4skc;98?KKl;y}9i-)LGGOup0BcE!VB*}_B$5@jxSJedc%SJ7 zWlD@NAsjt`C+eS!PS!Ug_ggg)`oX5%R;|z`0ioC^pN3r;B9*%;WJwpV-bXl)p^ly~ z8i-aD#PG5yIVaCQJKsNT1)PW5sb`h}J!1y^z6MP}Fz71zw3Q#sK%szp^WP$?C5x25p6fIDbzG@@4cb57KTLaT4ay zOSj-fl^`xMvK{aTGIf;R*gD-2zc+SlhnzwUa7`f4DnR)z;}xL=$AfgWk6B_hux$W` zha|9n1k6FM&k#IQZmyWv{Lw}RVMsD$ub-pRpLAwiDW=O(x@ssNg(*{fR`@%L)_Cr>P4{M%odeL}X6 zix`N8v44v463C*T#IYLN-;>GINJ7=dkU+ivm2iUYs&|Gx4i%EgLS{2Uj19iX&4$iq zl=sRzvE2WJWVSTrKy#F=Oc5hMD`n&okX^tg)8nUfvt@?1t8CCT3+|f3fmN%d?dc8mKH=B@OsAGB1@540&AdbX$yNny5NrH63*00CR+5_Q zrydmbT}~J+JL3ixpq(bs9PQp1zl8;!)+^fOhv!9V-24t;+}xlcWLyTkajMa5H^47K zz`;8Qib{~kkiL5_UoF8@6a_eohd&a9W=*sv|O z%8=#sWFK-fW8L6vFer3mi}OGRXgcM`ODYtfU_VC9MXR;wKkw-J0AE|)T+q1ZacBsW z030j{?^k$bf*wj%&;w|`qD?wtuJ|&&o#BnEcx$Q_wYL@mM?w4_t&Np=D~}fTW69iS z;Ef;-t*T|Ea;V}=cpG|^puuYB!Ct*gNjx_8CP^h5-n1mOY`Ls!Et9bUkbPz{+-_?? zr;9cnIXnI>3Y#s?Y)zH{`@jMh`=(Hoa9y0H`X`1REyqk`9iCtHow@S~2YV(S0OtLT zwN$&Qc9y&fOOWwpd1;?Vgi1Sg|KGW3x$o5r+m83i8SZJ*KGQOC$1(ED_ANTOl`Tg1 z!&-lqu21r|Q(^Bv@qOe0xmREWYQpUyuUH}wF{}&)mZN83U#07S_guqkht|$}gFAhS zLzmzBg`!9|4a;*r-afrsDRiH`pK?h~R-Bs=11ur3K>jWeOhNCGq*#parybDNJGuoq z=+pgM)9^DL8~-LgRMld>yjTwdU_u*rW^kaYdMdxp-tDN+k)|<-8Bvt|dPm z<$c=)O0*<)CarZ^wsR_lkMT_E(djlyvl=C!4C60m(sGc!%sZPc&C8&<%%BNU& zFM@rWiWUQS4z^`74p^;iMOI_RRp>fk{;J4w*jil#BNKW6A(Qjn4UUpy6w>0zmQJ%L zE7tT=OYCk;*O);6YkvQ0$(_EsR+Hnz@y?TY`}?nyqtf&%JJNqo41}2Mt~|3lcNd@V z%YTCx-C?~nN#>b54Slpcm0>m0tIvsVD;8_nE=0D4;6WpcTI?%@0rzZ}dM@XFp%;m} zC9-jOLY5GKS-AY5A1UNW0TeMd9JOyfCr7s2%?6s1HRH}Nv&m)pU?6hD&F{t!snzKI zX*sav@-_7q6Ir<;!7jNML}Cy%wJiQ32*vQYv?Wz9tcjT!->qYDTz&lUJUAZiOxH^E zOjoceCys+v2qcqRZ|Uw9)l{`vWNUe3ml%`&h(iT%j}dN|Q{DnLn;+n?_EweCj;h{L zMD&>I4VLbM=ZBy^q5zgJa@@xp`x3eU6Z)v}-COWz{9+6we-gu>UQi`ntKTK4coH2? zJ(ZY}miOxWxUnK<&b_-v4)oea(Q}C1Zn_Jz1C$OQ1OL)CWNpeul)C(jIz=%cL@=1` z&XWjWbi*pt9t@!fg#6SYXVV5APO>vB*nX?uqL9=Q2x%|cgD?@-ps}Z1CWz8U8p09k z_GDvRV%!>TxpYYj2hzMgRYlmbr7-n%RmzVWRUnL~5gYJrX|!~CeDPPuQUMzVtex8U z4*Icta~zwe8?Lbf_{jj*W=rS}#M90r~aVZPc2{6My#J{0}q11TWO69Y5q?&7%g zgJ*y*!tK1~pyfqm&oj{I_X+AKj4EyOHlyh`KzqseUd{dPOPnw1^P4-&GKOg2+NJ?y z$sXfCIh=^aQe*_GpscGJWlao9VQN7?4eN+!L_0DoYHvrDn-60F&uWyRdS=zVnKSI-A0OmwM7UPER%fF`EB-8Wh8__6by>-5m^?Rz5)bonAkXo9MgVT%r1ZtYuP3^+BV*1}zC zC{`XhDAL7T5|2fd4lzN6-D=Nb6h;J@Q(D)cOJ0F#Q~n;M;J(l zr{fVSLkV*>ed|E@W#;*YkLN8TSOf~kM_;R7Tly?fVpRL1V$g|pfSp0M2vOESX{Y{n9lr!5* zhlI;wKNI^&*K=0Nqf%mZqM{SGpzH zDk+OE`5giI7(Ui%dU~pG6u<9((aN7crm%?PfsY}L1P(qiilCcjEcP#ac`_7@Q9m6n z?)*00$8CNw zv+%~r4M*NhLEuQ!e1LA;ivoqT<8X+tHet#N8#Z+`PGVp?S3G_)w54h=s2I^-uQAO+ zxo3&Fp8nKA&VC*V~d_nmBf94Lx8@<6|4FSTS2mzls?2jx;2d=D9 z!ZKfj+Im_Q+Bi7UvPwJ3`~pRXrOq9*zm{}E?vd0LQWOgHNz9lEev(qJ_31xnUTZm& z;iQYaA))s;SCS=vA((oGc)hhR;Q1hB^(J`ohRZ|K=9Uf%zp$dDEL6$V#ToI2I~Q-2 zKmGxu$fxUN6a$=)=}k_lc14-C+3~i}W_q(&imGO0(hZ|^a~0G6>!#AX!uiCu%|R>A z)Uf5_r*h&_oji^_c5YD1#hjCE*;3A*w>@*#=$L}MS(gQ;oUm3r?rMUd=UGxQ?bT_@ z!bm>adW59sQYoHxiZ#P3f?fVl=?&@hn;E5c&%iT5%LY7|0+-?KaG4xjW_XL?qix>N z?=iFe%*x`@!ZcEhyF#m#_J1+)p!7MtWNq^2#_l$(5?6Ioa!kW3K7so`QY`YlmJenr znE@~v9Ma`5K{mz%TWg*f_DxRjX=s049X*406Z`8K{ndWJb8`NMU)~UXtStOcv1mB| zV(%fd@dac~>STHKD}K7zrdE0Nzu^CJa%tIpcqZWt@l7u#kPryHx;_@4pNaJVy=#Jw z{vZwLG&-R3RQMa}=SIwVZGWp|OGOeR>VcL%gSDW<8lAOS!7?pN+R2dFa*c%~a=5G# zmY0yFufr)Am}hYc?KEX8T0snVeCY=+lD8`mzio4^Am|>(&=}Dm9+Bfy=~K{ z+CEqIiA55pQ}gznT|D+r>9xKKGgovIhmF>P;&5pctHe8tcO<7oWy5D3Mr~hH zeY89mM%ZwT$C*oW*;*;~jWUPopRMAG>YB3kf919=Dpmm%N2a-^(WPzWFjLJD8JTsW z@EpsY!U{fRhOG_&o;^jj!-{2cJEOl9AGPvr%SyUOq8Do0)ev2!1&$F&T;nq=Ihy<{ zq#Gr5Y-_yHmt#u{tLfUQrD4; zbIIWSjz8ZGBsJFSk2p5C9~1y+R5J@uvHCS5k14TE3n4JmnO|AK@1TT;Tvi(uw|_V z|DM$RamcRxLbVS6fy~vyutI%+y*l~Lw6$&fz;2CU6}9wOo!3F@PaL{7#(d*k4g+gy ztY7Wy;mD-}AnikUh!)8$Uv8HqfT3mTEvEH(WG)25CvzUj036IGhYk2XCvN)|&52Sy z4!CXAB44cW;xt5%$_FOI1T{gpit!9L?`ff%GeZ&rQrqPnFv)!CxD<@BquchNuqBLc{0H3@GVlAl^dUp9*02<1Jh z@t%d$XLiUQ71U>DVZ1tMk8ZEo&vB62XZsC{;sf`N-!wZ?|L~tt4zrfa;XXoIh0r#4 zNUGKS=gVL|`1}(OA%v-~ehp^7N|b$*lz*d?f3uW-!4@+6@0w`uH zfU*<;{@;W**5JEbXfN`xosrTbg@tZ6 z7jU|1eaB0np91{C(!9bS4tto$GmMlT+}k8vdYidP2DgAx-tY}Wy^KD!T=U4QjJ}nh zhtC2&cy^zaqu{~%hWRhuzIyiOt(@o*)0@1=c;2I^>#g6?fsvK9xH3l_Bm;bQ}k@#@!V|7GD}<*XzUjQjwD7~_tf1cTe4tvwClZP+2V{8#4p&<4Pbzigf?r`vrW6z|1IGC zSE0mTKq!Gg|5u@8-`g$8r7{XYC~(*9b6e~;)?cWz1(C+F4q>pRkgQpdW`)d?(^$~i z)o-h)(sbD7Lqn%F|DlHm*USSSZ(?PYv@$a{OJxXvLQ9<$fFJ;zNJ_Fh(`hJMsVK20 zh<1@;{2hyz5?z*ZJT22zkr7={#MWaJ8pITpmxfhTOm1{^Y`52>&me+fJkt<14lBfh zuUSysu@BS46cuAxFcOzDRa6SSM~PDB23j$SVn0w?D@>2~J~Q^rlD{-rOu@;NFcHs! zerX#^Pm{!(C@uw*Vg`%L3+lhEx}RYdst>~m2kI3{m+;#3o&byC&?FF9nW|Q+7T3e| zu$(*Na%;jgt!b?3H5)k2`o zFvK@R4SSvuF{g0}rjpn~vMlAQ6WHjT+tyZYQ@5KBKJg-A6;ETfl0yrL>y9K!}Y%}@K2D9fstkv5TQ@oXC3d(;a=H7}be&(R)GhrAjTQCLs5eXkQ(M-Ye1<-8nRHoAI! z<|7lMosJgWzsj5$TUzq+F{2Shv$xFgp5{%xbGU|06K^GFq|Y@mC!om7zu{?npZ`s0 z^M|Y0qt&Qg7$P^&Sep3jd)Ld&x1Wi%eW(FI8oO+19zUa&nn@^)a`Pn1N`P*V zi?8MKFpb~Q&{265T^k+02Vb-2R?9-=R@1IN-)sW1J&ph(nxuEwie|IlCb!H6p|I?p z{#ed_0X?=3h&a#6YjKfj_LH)hYD`Pgjg-_Yu5lpu!IQN)dqM#H7nV6~E~`N23kU@0 zDcN6iOY8&%8Lv&BZw|FbkH_Dx^{c88KiGJN696-apCDiU)9mSpi9Bn)$jYb*I#oF{ zW%XH@^SDn>*A<7s8(Qvr1+9J${Wv#aHS2rArP5)cJn)(OBZFZ1A=GAx#KotsT%~0Y zRN%dDUa&H^YSgaE=3wQ7O~whqYU>2R5=|_%%p&*bPR}!A_EZ4DgAb0)9*gEuqR#0v z*oz{ukWGwcQmIfi*`yob>M}(=3`JEb=`dh`!fsK(u=TUayT`#~Q^4GZ&v5|TkIuOz zkGe)2wkNp0{9v}4+RF(ui`zl2GAn(=-K7I%Eu6r-ghWV{hoPumXcjR{ziJ0qj(sJ} z>`C4bL;3uqX#ETduFTJv^IY0DUJNJJfEUzpXy2k+Rcw%8+lyX5A#Kq_*gm6mjiBK< zi)02A80U)Dk0o!e`5E`r7!zC~Z`t%*M-Xx!oZCkIi!q-^vXSeQg;sbOz~3`fYaMu8 zrQxOI?%GkqY~d4sadst)~$7)b`>!o9vJnVa*Y}4M6-dBe=WZ6f5u5b25g( z_;{XM3Bo<`Yy^!bgXaJdXNGHb=lJ{QRkV&mkij0|MO?f7k@`h=EfHArB8plsI{#() zc}BkAasErmFMiTH(%b9@RLK|tK2=2n4zb{gfMX1Q+E*eIq*u5&6M=)QFmL>w($lEG z$%58Sm*$(0<4M@8b>C>}o`PW0YY2UoJ@CcPgivTLZF1{;Q81k8^jc-THq$yn2H7>98!I5+cBE8*7zBP!O&9^hB) zC)V680OY0e*9{la3jXG=$*_O_v^aJSPTl(~7Aw`CX~v*2!uO*Zwv6atxBB(ObjxT0jCm0j2Ke}CTb z=Z3)Q7N)G-8ax7A^?ZV@+4k_lHEA(RlT34(NKbnBuIhoVpLkp7hnD`wT*JTS{Tnk| zS|_d)0HUIQbZ~D8uSeg&|EII}UttjO({Kd+9}%My3qk?} z>c0{JG{X@g)yo}H4kSRhWx^ej77XS4SaD@0D5~&Bg8CFVroAF&B5Z;2fusipz~5YB zX>j%;Ds8;GJ#}Xu8F&v~Q?4fv`C>Z`iXf|?PpL%p4lA%9D`;CmeK{O34%C4*q}_j< zrv5J8!q0lA-F-b5nQjp}3LNDT>E48CLlo(rx>oZ(pu!iEa0{bGO~>ed0IKEHh{t~lCqoO!TEKBO> z%sHb{aUbe2DxePSxOCCx5y-++ADOxz*s7UO8PxICq7B>pPJQ=<^uvVMEPFY0!w?`1 z`Ccf@CYazy8Ib=dweCsvz5u28pDoJc2mRk$BniE5k@|HHA_uIPD*FKP4KQf3PEODa z_tRunYG~^0Gjon~WF?~uvUz#QF~WX^D^qN&L?QyS&CS2;eF&_#-5K`g(()ve9Mnpql|M22k!EA6d;Qdq{Jd7!Go zkO{{TPL;uE(-o&xHS6iM4f(wSOMu}ul1>2D3(bM^EHG@&{X%_Zb1(8p;XTA-Zc zx3fSC34V#*J&lh(XFnnSvAi7xx0` zp8e8Nc0g$Mm}JOo1PL$r!t`d8J{x`W6=S(uITO^t%dkW|C_O>sbbkc&1G^M>H_bnl7HNY-?3zD z>iFgwfo?Tf^$iw0-g;*wtHO&EM#4wm~Tb<#>>)O?Tp2Z3!v&^`t-M1=+zkD%Ob=|w ziX6pj8Nga*d3@)X+AkxoNF(H+A;#XefyEmQ-O@q&ab|4U6M*va#PZklhl5TK6s?ZB zDCU7#0ER8pF=a<`Mpeob@+o6Zj@455V7Y2=7c{!%B9UqqSRL0oc*liA0C$xhnG)Mp z99%BSW#IJS@hu2Zqf~I_5N>>CSdCIjq(y#P6923nsVFpLSRgS4udtJtvIrdr;W?X zD!4&;`bu3glf0z_zDo0O@qlE_afzH?uHmi`1+odgF1pNJTEXH2iKwdG^^7ID>AU-bwkg^HVXvrKD(hQ82UMzO_$%| zHOqvt4nTS!F@hgO_|^6o{y;+77_Q^f+3V_K4ie8!vIWBdBf~jAJ6tdRCh*z<$jx)t z27h1dCN1~jD@EV3m;MFoA4zw%7fPX8oCKV1pSmFQP~pb0Uvut? zZ+Nb?)q1z2K|=?LaVdziTa7>z%Vc-N9~bK^+yM2FFZ0%zz_~qce3)e>(Ql;@ltQ@+ zk`NE>6~^LeuH?2Rf0EF55~~^`5by=HOPs_Z{||nzH2vbo7WQ< zbq9z*7$>o<)kC0r)Mx71VccvakJ{$L^8{Yt-(I-3y4rehVCRqwh&xQOc@IrJcIVcm zmHm+Ou1RCg;2rrX4@sY(TZNTzRN~*SPYJRkV0KyBLuRqA^KzqD1?&9KsEf>)q@pcx zXABq~E1)g)RuXz*kv)+Ak@A609kNg+N&y_a;=lVwK9DugwKN=i4l|84EKS-DS~_J` zSUAr$P0gJ|PanbqFvfrG@>dq>9)seBTOj+S8>Gwk5qPPS`=r^>`$l`BK9y@sZozU? z;1=?)-g}CIp}+2RF{$UR2Lfu{mZP((@;Qr7I^v?K`?Cb@mxC&uIapdGIPgkM-Lx*= z){QYOH6B~URXrutpCRp|E%1ZbiPu;%4#{zVzN!p{XV14D77GZ@0hs@PN4btng zg1}Qc+OHzptb&q+3)RDs$CyWJ7KSLqo>ebkR&ohSG+owNYBksAKt|)YOpjVY*$IOA^9VQcl=hxN?GswGAS{J>uexK0QM(0$lJ*g}&#matcAlvXX>tSlGCjAkPJ1JH}4u0(;# z+}BKROBG-IPr5Juk?xnm#|jK9))Z2Hr2CIn?)*`OO}sYzR4F9z_VPnW2AO)oF=eMK z;WtQ`KwxG9k$6K`d&m4NBMHN{sCu#xw6bJ79?WYl;hza7X}Yr1Dbq}Xq##VyHGJ2h zS^XZLsBT3Kjpk(cvX}rsYy)lu{cWLZ{6Q4>XHf5*VR@Vq+B$WtRbpTTQ#@WWnI-`t z!R$llnX0uBP=R>6LG~No^mS-DnYA!bi5gonLLwPKIVt$_7hUb|&GcusIQxc;~Y zj_WDlNj#4qh&(Q>r%A*Ybt_Tcd5=v|VZ2wzI0zwr$&tO53(=+qP}9(&o*z);_20b6bn28FR)<%!fXD z|NcHe$`w{~tjk~I0B{t!w0(>sCxJ|p^iWun64P!r)$DF2?|j&-9P8=jypCPy;vPl3 zqzj&G85VB^GWM-h?gbTxYNcwlnTnA*&IUqk7se|m7*ms$nSizI4ZlCDaLcd2U933o zcQ#eI<0|QuX{J4+8dKpp?i61$WaYJcpYE5RR{j+>^c&z>fDDXl^;K|Ld*@U#&(eC} z_wsH>2^tN)mj+&;795>EV++do_%eQOH54=1$#o{&%s-t*F62R`*Wj)7{5bu`HPRa1 zI+vyC1s9SVvog;v=M;*LQTZS89V4`VDZyMOqIbKdx+9Vc$E$02TBf%#p2NU=B54lu zj^Fd&Y-={@0k4R^#&i?e+b?bJH0O?*#Wx09MHv=#kEd2UD8jB*$NRf=k#0UPqjGhZ zP9f(Ozt1eb#yUM1>O}Fv28#Hg2+p$KqF4X;{3P1R#GG2UdQV6n3$d2hQABqbf=Ps{ zB;>fv@Rkg{9LK2S5reaDbywac|D{dVX>}X5L%U;#0pPIM!gENgdXyG_@*fk6jT5R$ zP;HTdla9jM-2+w}%|4;DSR9SJap*Hu(~+(?mN;%5b7xnZX0^Uv8@yV_ z<&)ym0eH(LclkG--m@-kH&{taVr4VWG5(#trZXX_?Y$l50b=J;ak-{C{(W=6rrJ4# z!sekQSao&;w8-9lHuQ6mT-CWfUjyyY(&oWTr8P~Hdd3QRVI$1?)9%M4hgTU7Xuq@u zcybw*Xd|~b&icm~qI*KQ_92?hfX<-`V8#<95x^2LqT-Wuqjc9wzsVf=_jJg-p=enq zpRSXaH}cVGe=VM6CG(T9V6g$#D~ubjpglfvd2s2BJQbA3133=E#7pp|)7oa!x3|w+C=ZYc2Gz7N*8BDNoEQy;9?)ze`T{h|Jd$>wW`1$w z3V1hMz^bFIsFAnHV_QnwLu9*f235CqPyI`_8@dO*_c%Em`2MfA|K}fXKU{Nv=l4ws zK?(A+_^l~uw!KB?8+zM3%Scm~<*7Y#Pu%!lGte&%O;|`X6H6XIuX55tSb>?bd-V80#C!W(`6XQiu2p|48!gFkL zs2431*MTVi@RcFGgFt-joJT8+@o}KcR$u%T2|=H;E=K2xc)`}GuSOkXbg6{^a5Yk~ zO3z98K%{ct$vGH0HLwnm-8)I{Cv_JdDC@g7H`{-oj7h7n(na;nWx$L#J4X5lGyjzxq|*qNg4Ns zKYUwQ2%sMTqz?e%2LSm4fan20_5gq_*hUyo1_7bO8FK14suALs_w|gYqSb8 z`>o1VHxr0$``m5k9P66{v;|4MbPP1vwHglEyHJ`X|JnENGI~`m&sh+%tqinoKGFBf zisv-eIGY50PtT&WZBFVYwTGEeR3Wr7VJPTc%aWZ~T8kQKp&CJExbK|p)plQ_s@;CTp|1ZPOxfMZmPa2H^gR}*EVyk-R?gfc-I`k1B3Z) z+j;G;|EtyMpW&Xs1XA`tc@rxhNw4uOZ+tQSue{+u0HFY2t_}?`k*5eHMS=&QYe1DU zz$C>Q`6>NKBd>{Dy6y8IQ=#FJS^N2$!F=u>C9O$(y};T-S`d_!ecq_(8$-BTNbb5X zWXRMpd7Vq{aw_`kI#reY-~rE^89HS4lyUd*bR}>cg7|s2RUK+3(AjS$Mm0>P&R}`t zr%{ewhtB{=2zSWECiw1ZEY;xCsiF>2SVFA5Mm$zb%WQ7}u`$6!7LbcZXUdQpvqND8<7u%; z<;ta`{eKr;--E)6ysSMmmara*#yqI#6A5Vt=h+0u%5PKhNOVa+dTS3)Ps^+rEtC?~ z!KaJ*!-_CPF<(P{%4~&pg`#3dIVok~TVb=4h)T{ffMO<&Fq|Aa8M(C7~97)%*+tha}a%nW6 zyA)V9$4~HSx5z7ygi9iMzU#_eEOu={?L2josUzxU*F!1Zma`oJtfTXbzitRC{^~D` zRl-{i?n(%2V-~tD)bE8Z1wKsvn$2VLkN|L1Vt(u}t%&3?q5AR@W@|-Y5t0Y{{tm_AW z64B-fkXQ0|p_y=vcH*ZrSc&yRXwd1h%=iW8HAAiV@*b>~dcM}(g~_LgOD6IcZcr@T zf5!$=Y~J+#@X_Rg358m);3x4BE{n!|KPlu#>Y{c?*@TKqIK-l7iskIJ`E@}B!zb^} z7YtkqE8or{BITP!iK4z6QlgRdKQ|YP$PS)>X1aNfV zXN}he8-1ET+s{+1GK;FgPo2*U64dPrs(2;iA1G$#Xr|@~>=p$MbgT1N?uxd>PSS{o z&hOd`?Bq6+Cyf2YPImpMZNi9P?xgd5w}cd(=!%HKjm}m`y~NXX&I&VVF%A5 zem>%fuqY)ZG+tKHHWSziySP(umbelYX%*3BH4OV*SQAN>9>09VX_0=eyJ ztbh}@`$~NMFm3H31Tk%$A~^KDk}ct$Znnl4S_}|eMR`Bok0`V7_PBc1!OcWe8M&cw z=?hRJHgl|NSBN*grAGk&We0uVhp6}IjEGA`PlmZ9bf{VDmK9gz534nm*@#>aL4Wf(q@Q-Ggq%==hGxOV8NETY_#s%R7}-cRLQ*ZPIb7CkE*ie0 zgZ-FCeV0DK)P_&`?v+BAY4wSW?o#|FURJAYYaqeRgm*B~UZ3cnqbjz+COU<&O|9r( zNA|h7n?kF*Y@sfL(e@JSQBKe_;|<0L47WYTD*IkGTF@<{+~3i`u=NHz>@h4yyYDfu zSBi{Uk7=bAL5qxHEt!YYi8N8L4++y1hSQ!iaa%IL6{l_F)$`(el;hvq2DXS`-yxxO z?nR%)#Xg0;(1Fc)h;K;F`fZ%;Liz=S;-2;_;}JwUo^2DWv=S-z88&_=`4hb}rVi%? zH-?PiAOh!wxNCZj3pQ26-u=Ac<~usL%Ut!z{EiMP*D?ws>0&N`gO5nPHenIUVtJ1)=K-dF7E@26hZ}`67g~3JOCjMiW_iP}aQPAfO zobO;k_ZrA&75+O|&@HH5;k`~rYjj8Aua~~wA^W2K4i*T$B{_aWh~a6SHyan&=EmO9 z%G>>Isof2Pw`FKoz0kJfCYxG4i9q^a5?BFPT4CYv3cjoP^J1Hsr+NRTX5@?=+YDS> zwLF5&g|<+|{8bSPlkZ>wmWLjmuc@E!-(Z2G|KDJtXMOtbcd$SM04~_WdmUs`Mc@GS zkv0kp4F?HKpS|1g+W+6pcK;YEi>jK|pUFge;AG%VhGx!o$@+27SjjyDPzcGo^Punm zm+v{0!OW|0lMBv87x|wUUw^Wdk&sUjuSG*$<9}09Dy?L)9B*+wWwo|<`+RXi zTqC(+U5Z;fB3l^0{X!WeZt&(q@iF4zeHote)8bw~Hh?j`3AO zbNs@S2J{32-;6~m<;8apgk6&wcu0iKK)az9vXr)rA)W}9dDrnTkpwyDQsgo;855S# zI9=g>xL0UM4#!+VjdO~sQ9L38)YpL5x9v}#O#so+9MPip9l!`@b@RkpC&NX?U4#}!F4e6zAtoiiIS zbV!=4`bG1>GNu|j-%?bDf#qLFcCL7y)*dU_Mv=CN- zn4)xb;ABCa%Mfg2xMWZ>KinVduQ#K>-!~AYe#(VxY&=f>RBUW_(ho|Kq24Zcb(`)98d_&P{p-W>&mh+e>d@j$tahzb@98FLSIBI8_IG6*!h&@+x= zPOLtT`aKJhja^q&Ak`@0XQ7Zc zKX#?eW7Mc_|Ccz_tjKtO7ZRJMErEZvT3m5uD1H^de`jATxWeJRA(52d@V7uOWn4TN zCiMjMOGCvpS+Tp1hVX97x5G%GsyT23D~kqy(8bYY zL99aP$w#%e&hI1tt1YO|t39tV-DJ(0z)_|Ua=rF8K{dl;nI_5#Y zp_Vp3%z`+XX#$o+yN(g|tDfHs9@!s-YFhxr3FcgaZ2oj%=3r(-ug;cKsJOH%DJw^o z#X_TS0Q4S=mz zNr$m7vYa7@F29^W^8{}L&ok|}Fh%QvpN!g?G3&tfH?IP5+)=U4ra7Gwbxk^h-m-ZS zNTxj$NI!LQucKaN8?C%;3~r_T=x)MtOQ+kmw~X2zUz2x?uoSyo6&U-L**i(KSMdZu zDOkUT15W7T1&|+2WqV;2psG2fn?W-Zd+Df59jS`n>`(L z;@A+b>78YpvEFha8L=ho||`f3wZmI2w#cxK(YP^nC-YzoR$5SR-+C-+BeUp0CjHc=+A(;U4ap_?}(` zpO8l0l79So<8lEA2<-XzM4U&LOX?j^5RIveZ24i-x&gUS2qn`}`-I^ckJXJZ5SMca zda!Db-ez(eZwmSaGjrV~A?Gn}x0aot{{&6bV6=m+XP|ZLm*RDUV?N`$R*sbQsAgUdx-E-8XdhydViVKw6wE= zEJf#g#1~Ok3ckT!P9ZqA)ZTZ-ti~9EBDg~K;bJy!@!2^&PDZ?2H4@-hn>M+_3WnFJ zxb7UeN}TCG3_9C$HFM7BZp|2zM*H*+2nYY2|I+ERmgs z+3Mtd+`xa5okca<@GItl-XIFDfwc=|`^gZTT#D|(=QKd{9?H)vHXBbq4s5%fGTlXD z=qA1ljZc|&-SpiVe&*C?*c4x&mj*MKYiP~ePsdr_N{L06c=fRmwP37|eT&LpO9Pro zC88D2!#OPa8fFc0Q@;V06Ip$-OlQs@t41E`Rb)qDd(b-wiThr}HYhFqXgfu|JbODD zRv8SqsJ<|NvcUl8*H}EukT&yr9YUj3uF`z0z^M*hc#XS&_Ek>>pk{-5+o$BL|{9B9gibU_#N!Pf7!`RB)a&L^H6U^CvMkoe3N*u9DP zO!8+|dB|(~^Avz(R))3Tx~HjssP@VZw3a!u)Esx_O$HY)QBY6>)C$hu0Pr9>wadeZ5l~8n_DE} zpN%%L&Cl|M74z=&`dy*WuKl0gmV!^g`KqP9pik}cyCvYB{j3D77W_z)h>}k5^>^fy zw?}o)f6)MYuE~STt+8%2i0j%c%3noHP5l$WFhwEC@@#kV0lU~^cBJ*#Yl9#S!QiFo zyA1}GC!DaqOz|>}&duWj&69*rcr9}ztw8B&L_D(C=EtpmbPj2pz&8a})mA$BH_j5T z%eboZe5Cy?*se=SePX9+p6c~Rg#TnQ>cal};&{gygi??`MdntnEe@+`K&D@DG`p}+Mj_ka4;`Ct7i9MrLSuEBtLW;#_DaEM}D%49~3JNoBs9+aC~ zr6%pDdrS_Sv#Rr}Y#+`^EBkMEZ_P~eri$r~+M9nfpXTu7>KNVGw|w1f=0OLKRJZdd zGL8L5zFukLIe+U{{+qEXI3Wsm0n}Y_Ay>bj0ZG&Olz+toZKjLE;Sfe%)gm#+yb}Ym z%p`S{mQOagJpR$I>oHURN58740sp;faeA+RM@#N5*iN)6k5A|@21&zg+2e(|U1lYyr79-Rni$s#cG6PCux?KBKe8M40 zFA0s9y|RMDz4;eKhh6|wOtgG-^AIB>%UUPDz=tQuLLVh-QX0O17jfbU?wB;QfjGfl z6ysWqWI=R+h-2uFQD}N>{e>jFY^efKYv8;MBUlp@(fZL-xcr?JdrB#SOfg(zRPogC z8Kk9^I3n3|ySD8A?UIsQEWCc}(IhWx7nLO}Yk+LxgMt?IFZHlu%b*0+Lug^qt|2L~ z;iP}C>fZl@Ra2%J;2Ir-BTNK*W7XiJvYSK}#hU+M)mSf)-&pmb^4)EU27QLisK#gt z3tOBT&;XZvSDr*r1}(87rYWrBZO4G9z9}ooxpKhd2|B&sPnLw=Hl==SqIm$&QcJWc z?6$l_B$~##%!tdL1NbDgJSgkkUW9-W|F!3J!oF`U3X^YjFLE~O`*6HLAbsoPtiTIp z+y0GJ+vaQ7Hz>#_lN** zIR!MOG_AWz_gEO%{s1;#jS+#rSLrgzIerusFbJeS@R?rP*v!^e`Uz-hP&!o|`zT8F zS(oZIF4DDIxtC)WQXgxS|HD6SW-7P^>I9cabFP+J5Ol(6jX39j&y}E-JiYL9)PTkt z|C_7cTGocIij+@IDU$jRt4@DgSGwb>$)Lhth#iAroS*H0W57^mVhWF}+FAC+9y?gzJfEvDB7i2jpoPx7-cS zL#kwkpr=axzv}di!=-!cHRvmcMwb^)v2|sy>6ar$tgBmmnwikElK0F4KswN~;A^9mT}#j4&cBNmgnl^bKq48*Z{Q zT#A7ywwGDims6NG^43Z$Q^raj(`(Y2hrI=Sgi+7`y*`EvTrYuD?PiyIv5rWi47q_= z<_x$IS$6v|)C^@95dGxh6V7JbLb!K&yexRPYR(Vo-VQW*LfkzM8mvhHZm3#Hfv#D! zPM_Y^eZb87%|Gj3;dKPkl0Kw9Vp-?^ZA#R3yXE?}N1O7u48q#9%lJhfTo4zL<(&cP z#b3D|-6b8+=F_`xu#mw{`O}8W=!|&1$$ZillkS8VZUSm@a zT{NseG;@Q4wwWJhY>mb~$TQtCLoN?CgXrtN@Vkth6QZA8|D@$hKc{51?S`8HN8VGq zRFloTGOYNVQ!zW+%BHnE=q|VmQo7{H7&qXVK+3WZ(ze&XwBAfMJPy`KXg&@I(ov`Wt`CD#~oyVW^;+dl)l{b9bY3;I;gF;+es zFrNj0y@o)aE1=#n{^$bkfPA#UK5@3EXE|{3pDV+-d7-i|nB1>Bx}zW?z8GjV;~}k& zYMpvp(=LLoFYO&KKs|QdTHF$Kv~pEdPdxjy{TthE>sPtzuIqc)l^RCZo`5^;->JO? z_zr|{dZ9m$YIA$hUT4|L(>c?u3sjmyo9b%L=Vp$1W0VE#R+ z<(|?2^qfqz2||)=SAq}SOlt~({NFuD^^hgd|K9zJ1x)F`Ytl;)k}&_`+twp%^2zdt z;H3XNMwp!AfCQgx_Y8^H%*X_K1^n-0Q8=JI|NX!l0;tq~N7wb@g?}!?0Rg=cC;OIw z<0t3LK*A@#&46P8NTpB+V}1@m>4ShV`oV|CA?fM;evSho*0^PM7Z;&m(KqSKqcj_& zuB>cy#z+n$uF4_(Lzt(qZh>Lh7;b5a@%?FEnY8$N+e#muNQaKd&OV5DzuJ7ucAVz= zYCX<6za!wY2m9Gr11p6PP>#xmf}s53-#MFtU3we5t_%P)l+k0#3D%mhVZ#Rq!YXlL z+y8_*&@HJ@E%TEosV}Sj`+JeVv4>bL16n}&H+Ydx9NSni&(C(P#;&2ZLQC(5ar8!7 zbR->EI(k&hIfd<-4UX+%u#R>ncsHZN_cPoWNpCP@41fw9d$Juv-gN#hhC6 zU*7RQb7dU?ghKfi9D@r(P#BqXj18ipGbs?*`A%i5Yfs`8MIfGW4e+fH0^Ti%6$~fm9~5}}=gpA#C<$fcOR;8hh7w+w zL|Q62hDN5VFj?WKMpm()(^R%Ph>-4F*(muAeeGI{iZ?aER7Exk4=lZ;PlnSn8eTFR5oAuJIxblw#M z2p!7E7@3)`nOTHINv3lgpX`LV#YIUAro@>zVH1XC?>U+K$3{3p{Gg38cQhi*6Y=cJ zEg3^qO|&tLPlJ?BU*OGb5{LYTCQ7mN9J*I{v#+=6l&42o!9~ChI!0J+g?j6Rr-ko$ zqru6eIZ$zUU0WhKb`4T_k{Ofi!JV}M5|jlHg+WY3wF@PQsU|NW*G38?H#>HY)n-}D z-K|sS&IXn!ut9&QM3%PX^zwh`?zrPB{NAM;cL`C}*KETJR}MrNFw`|l!=v2THx}<6 zB5!W!GTej{SENn@r#*}@KZ&HW{JGN~O*~<6$Xj|QG$dwwqZx2qLz)KKR%2TtFZH;bpF#P;nq(y= z{7Z2P7kI5D-dS%J-tqObqGVASN6(}k3z*TD_>2lBWtJZy{MKUc6W~w)JX!f}X($r1 z(byKY(6CCX1>j>bqci*irdn?3!v`vFNwA`f@)jTLmPcs`^cQ|%3FMAdKemmh&S+qz z#C4xqV7vZYjT(1N@6-Z#=&yrOo{6J(CdIYsk^!McHtfw!xB&ID3ZAa1Y_UuMV?SFN z>k_I@$D_ppYziGiakeJ_WQI?FpyMp1|3i|N>FCY!OQF`WHFlcIjQnD?Hq=>}Pr6dq z{zLYk?baIkYTs^IZo&xfiI*p>7S*{#e*t-4u5qa6aILJTkp8x$?%5dT%0CH#JY&RT zLCoqJ8PCD6!A=7L>WXVlZ-;!QjLTvooG2#=l{vEAN1Vsc{%d4_p+K)y?86-Z*y8LK zCIi-xy=`T_Z-rRbPciMK_01v?jf14*cAg7Ww+s=G+jUIbHC)AajM{3pE^VDQyi!Bb z{5slWwqQ>ZA7_2Sl0Bs=(?cSrfF}?N2X|b+L^bZgji=aLa|Z{U^ecbhcE8j%Yxb3m z`_tTzTl?-j^%Xl{&9UGH*O)iF(G=eKdW&4v<1m}}ZHCiFM7;*nmLVK+MuD)R* z41{P~iyOsw&BL!Nf}=rdH`%N90E0gPso7GHOgt|s;KUqDh-V_N*aVeMHbjP9$g#p? z6k0rv3wm_EKBi)Vk_-69NU#3u*aWfkt-XOC?B8xk~MZZz~b*gw@Q^0jdz~E?~ z;-tv35o%Q*tKhT58i{6nZPpmS)c5LG{j%Z)L>6A*C4MDO2?@6H!-r&j-=)97*p5ThITI4n{ZM#`b_-R1sn`WmG8v5; znk0CWh2qeTkvS;vOquqVP&hbXwRr6BP+FKErsA$xK|#T?q(7Z@&_pUs`GUZ+eB6rp zb4Kld{KQERHT&-hDJ^eYK5;>k0& z^HV+7?+Aisx2gq+^k<>am1s31jT5k|`#{G^r^Za09H<%eq@X=~2k!#&isybRD|~U60{j=c z#m}~hA8btv_~R~fcr4i8@jwi*{&bq`c!E^{rhzu}AiAcvBcb)UuU@#X(&-qpaS4nL zKIUlqzKHCTGgDlNWTWXqeGGa+$DdOExPVkYqk8GI4tp!Bc!d#_APKI1AEGWbz$^;) zQVREr@bbAC@I}gh_H+hW{ykn$gaYBCCD1e-OBxXx4A3O%YB)RtMri<5OX#B-BFF0i zkU=2JDC80JfGqFP48btmwYc1#I!-iThfgecR1j;PF|+(F6n+GK9+ChV&-qDw@zFJTn?UugNPgk+> z+p~T0B-pD(`#hNT+8}rdv2~>Ke&~DIvb!DR_Jvo}vP6sE-F4OUP`@X$yP7a!@ofL; zy&VJ}uRp%Ze1EFHN6Vd}r<<)8P6$hAF4~FR1QTusjWxZvvu#!ejeUc~M_J)L{YvWh zvWiSL75ED?x+VytBsHy_?drCMvmWu1WufYxBY zQuu&EL&%{T8Fq~ZYac@z3Xzq*9sV#scY9jt)^NO3(mVo51=j_gi`i*r@Lgli zVNAxL#t!X9fbz<8j^?hc+327z;2z%m5_*7o55Yt}b&BFLG+x0D6&+UqR)z;QYRqrG z*YC%OnjM0%yxs42zV}iXnFMeO7eBwd193Xebj*(MRy>AXmyHSB_Js8tW}D&4Z2eyM z+XD0q>-%eJj}a1KEosE++~D=o-DH7&KSxsg%c&*$f*!kRB3$jv?Jk08!2N!!kJqph z6UH({;i26?b=>q`ihS$VGTa}`tJ$z5D~4y=Ah_R!Z!bRYddkK=q5?h*Wpf{ff5*!J z9mE1gGmp7z9uy)<*jH;-KFR_DD0oJsyOD6?qUAb4QdmaH;{;98VCEuJ?nZpU&o2Z3~+59=jB3vtigu@0cCr6uPT^ zX-hiu(~ef{56i*M6O{HEnT_bkJzy(j#69X8s4BGRJ&{^So`L-pD!}8e{%o-K9uPvP zKPP!s59}VJ4vOp^n|%QMxqJsr7P`t!1SUyTDDzE*h;yopDev9$qwRZe!um?myXrVE zg=gpUmjI5b5*g&v;Qq6jt%bS4&;eArib;S=7tuDAl}2gv$NxKyNg*XtPkjIb0V#ZU zT(dUQ{ea^CZ$|P8YqtS>&q!pX|93{h1Gp(IqJ7$$kjDr73XXx+MDYW|BmY^TC)8tx zk_RV+LWVp*Y4klPLHsu;sVHqEHd&mjw6`>V6--No(`Mxr?@|LeQkIqePwvsIDGFz%?7Jc`>ChHD*t0CF4Rq$lpT;FVL6&6 zmZuqBV1aEYPnTsguTW}6yoH)vFU}G0$5qiyvV|Ny>S?LL#d?m|oC6nR{^A;zR7tPb z?Xg7TM5OCaG10EXmMkG1r)X_&=k4r{oo7)3siKa)p@&i5!Xo#6YQ1|6{{a+CkAc7&$^fyi!r>Sb!%R zH6C{Kk``gNWlgcDB#crJ%IH>_9fNQ`+ob=govM^3vh`W< zYqRPBaiGtfZbe$aegpk<{lyr_K&%7q6c>enJmLV&?fTDwsn>w#BV9I7Fz7zXEY?c9(8^m-mo`^+h>FA)c9( za@BwqkEk?5m+^LEoh}mFRqDUJUJK~E zq#05+PR6&Uxqx@eOus@0x;2#qcJbrh(pOeZALmrXc3E#_c0+Z<<~(S@9_q4mRjSJlC{Iy@n>!e zI8^^|Xo#c;UX%vV`PZ(j*;&acHd-g1GoJ{6DAx00N75WHimd4OtvgLbH9rs}3DSs| z^p@ElJKI10+7pTBf&yP(7nH_H*H8gF*W?W`R3LhdB{UtHvfyB!Uk3F*l_TDgoPPE% zzd)c-zgG~G{fXkw`@89+3#A;4e7LXF$&fg8AtjD{e!L!FBC6nRvgAp#EGh~Y-$@Ls zPqckc`%@&N*jN%Lw$a;ENJ&p&iARL2v=9R2CSgcvw(movPLqOe)W$nA@gg61!l)U9 z_DHtAi=)z2tH_bZ61X4qwzJ05)~&Zz@VMdO1DX2GOdD<$Bcd4X#VM?Du zworXS-?h1jH?=9`og&x=x$iQ9*IY{d+)vA6$$XE?atTV*e#g)%!yOP_LjG}Cv&%8uhEpz2wl*_@wc}*X{6sBTIPNBbJ|3L+mODdSJLzHhMCzhS{6cr^sd83JEp3~aV$V9T%4)d5 zk+bNI!I_rnc`5*ZL6%uAelY2r^(WW~zMTX(zH(7O_x+e4u!`aTV)7wg{G>9ZEsVfs zz~;InwsV`XgVGRiW+gFeoQ2L3_9vP3t)Z4YToRW|rK;~DP?siG+$4wn&D7`QKvuF-@Piq#(X;0QGng+%8oMW1Sh<& zF|G$lPO?gtP9XIlMmh3Lix{hA;))IAbRgm}GQ5Chc8!m;!d9rGM{6X5h)4b#VJ6j2 zdwFcc#W29C^Noir=^j%e3ggO-V0r>Lvr?G&gZ2&S49ljE4cuK-9XrtP)~Of<&pg9k zb%+tY^T0pLMclnW!ayJyNsv~eZ#yL(;kkxwzBZ@j_u5`Oj&nBbAQ?OI#6b zNBxW3y3*3Jh|U;=O;ri*&x*NR>=N+P=d`H82cgNG_>;g+)WDeRmZS47F%SXv;`jKfM>OYC#s?kf9R( z4tM-aZ7y(xf@MLaQW4@!q*-7ZDYn9P7re*s0 zepW|Bdy@pG-`Z>nRm>GU)AI$8J_lJe-U7MwKH9CMabp3SIuM~r1^>nDjn>+cwjMCD zfLYS#xvQWc-q=4rALUbfe3q#JtUn5sZH1+7P-02WGz(g_j)FN4bEewvXEyNNqI>c4cqO+&r z*fSWyGd?iMXoq0y`wfBg)YlFH>F7Vd9(b$aVE!KVgG|7^gSXf!Jt5r(!)2(CR5yBW z*Ne`QM|h9Uw!xorf0yTxKGx|$C!b?iGUPG$Mn>N=5P6(~JIUGn)0Hh~0D%n+yYVB#r3s7-gfihG(bS<@#Eg*cqQa8}&&ZadDeo_V@g@{WX4X$L>V%GO`InY}Av+-*~m`mt+e?U7!GT@5rI!^1)(~sxR{NI7W zVu7M!fqVshItuy(r8V10Fv&+kfy1F2u|LqVh;QpMO0HQ27&uA+GX`?GPAM=IfASr7 zv67kuv9u`JTIDPpcEc_(k2OhdY3+F&clsO$w9S7QRHHrf`l=c;oHXtE2yZNk2Es7J zz%azYFvP+z#KTm_z*Mg(?50_PhF3RIe`5PCuL4y!gM10^z_a(@RQ7N@x55%Iy6-HI zSlsrka|zz;n3$pi5Ch)F<1rH}XV8qMQN!0v&u8~VHs7*1!X>NC5tntexFchD+7ci|8w{c3q0POKA@%nz_VZNTr z1U=q^+4y~+hk|ZqP@V`ov&9>YG7!E$-YgGybuJxSdB&9ingiF*T8Ab^3p1PQ+A2Os zkdYCK)`s;=lI9M$JQyLXBN&d1lF#yFM+RL`dZi^IaufX?xf~(RZ8j#9JZe5!a!JlR zcOnGyz3py9$yIp-SqJfoY>stAc2ttt+}ue%?zEB^vvcugrzjd8Fm&1ylF74khYbxj zN|N2o^pe?tAysL~%nW@RO}+qA8M=D5X4?LZHhs&)RsQ1k`iX`mb@smRqH+EZTb>&F zezn^(>6fQr4%B9MTa-wIZLtuj{0WXyy1ZbvtC^BLDKQcS^*@ zmoBfXs5iMCK5LF=FU3mF6#{m$qS!1xgbL?yH4@*?LIA{lRT`vUma8U z+OMTa-aJA)8+*7?sOKTvh`_VH!h2pB^z=W=SN=E(Q?v_qhkD!rr7`tm#{8 z4v_Epcq&=w_~EZkq$L|oO2+b;FLhKlv0b@xEp$jezw~+L9cfQV)Wj$5Sg80}szFy7 zleI)8?s%y9;cOSCJ^l0jrjVp+&aMQ^l!sGf`$hLUFW%WnLA=S*S|OqR`q zz)VK$goJM%n}#?8{`Vdtu~@#l_n(ARSEib;f9BZZ5g47ufPVb83UVnD$mtFR?(%f4 zAF2I`Joeec-mxK6qe{QIr~>>mily1gBqY+ zYvG|&y$CmsJ0Ca`^;;fEAU|_i0d11DnA~*wM3^G1#xGKO2Na}KZ<$eq4%I-c7+b4t{q}j!zuc!fO!{)Z+Ke(5jcNUl=sMLin_+G` zh^_+(sS4>m6L@A8vaD?rsbBKzB?t@vTWbpHZ^UGQ>r^?2O}3mY5@Qw5T1Y?8^b#I~ z4`;0fYSMSlRMs>}=L>9*Vg|u-S!d89&Ema>g@-mT4_abR%lNJOn_$wNl%)l>=RwQR>Hogt12Xf^#b1Kvc7; z@1q8>GNeRb;=np$4lZBYiAmMRL7*a>Fo>$I&QZud?rqE%Hc-oioP{X~FICPS2G80J zVw!rTM#4w*h8I+2DKo=3=~R|@y@KWePuU)O4SPZ_sn&`1Nw1XMZ7JV5pSW{Y*k7-1 z+P5Y}rSiM@@k8XJf%F}s?(DFH|2NuLFcG#{pw|4d&mbZ4i_fq7=IG4rSG?M`~ zQ#A!VIr&Lx4lqu9iW9c0+;pWEW%uHYCTpl5bRw;Pe3JRMgYKfEUn>RR9Ju$X20x9b z(Ik(~mgHC+z0zwStb;(kM|}MI8T6O=cmTLx%p@kB30@O?tC>Gzo4; z6?sFn)u0s5zD9RZnk?h~>m!RLR%agVSqrxRkE^>3iey{Y1l+j0yF=sdH16*1?(SB& zySqCyG!BisL*df6yVE!fd!IWo_e?}ZR!08Li2QP`eBUQmL)K@r>W|oagwpH{@r9VC zqRon!Z|J8)zSXU8d??6`A((NiDRkHLr@^Vq33jpzz7w-feJ7r$j zM7Nw#X`&JNVff66f~jIIh+x0!)2Fkn4AgDUb`&XaTVxys*wDKf-j>-YE5##UD}8a znJ}EQS9aeaa09bj)2=TgOww) zLP`H;{V!$G-g+GJ+qXyL^uBXYn)K^VD5!MBD?-ThJSQj=fb}?;U{;!V6D(|yA9z-S zRpKCNw_!5;NxwT9N4BwFAZZkmZx3L0FP`uRlxn}y%nj0Yyzj0I*0On~btfBLrmf^^TZFLa7n#4HnwZy`{8qfsr;~6}x{!bxUdHgB)riPi{ zW)WCx#>*Qe7G`~4M9qa|hp>5E_L5J|D|m(8mfFx7Pm0?oC)q?y&$)0W@pC1K%#PJ5 z{F1q1>DPRRiwb;j)HT?nv)$81EzRU}7BLbiU*m+|0Snaj%(lw3>fEKNW6CmSXD#YX zPa*b7S;OSQhP37Ki)~Xt`{O&F4c@;eW%gGV(BzQj80+B(DB!cz1#pk%5?}U_c*e) zV@bK;dS*6qP1w*T0r~qhJCqT&J`S~W?}5pfRz^ao>b6l*=vnVZrmU2zXg+|YJX`Ei zO=9v>8?q=U!wK#&E}(R9^9ste{b%f&s#@r8xy2UF8zNd;;Y&NM6r@3yBi9bD^u;QG zQx|Hw{cde`+aBd5+{#~DaUsNK`H*Y$ffh3{q#f)F-JzmXtFWNG74*J&&#;!2U5hjF zF=gx-rQ0Ki*k+SV84PzjMSqa#_?HPgoJF}v-Tq(d*cW0@E+0fk z65)kJA}6x4KbvYg>>Wr+uv1{!lV_>{Cuk=pk(0+wplCL{%<-^Nhdt3eA&n`g)*I@y z=9#F;qq5D`s=K4refkh^Zl^?W@>MJ7c9D8c_kF;<^hr%UPV#|tQI|rnJF`wr z$t=0|MKu@49N>b7+Q$C;!!u~>tuSZ_d9(6@a*awIF@Hr)E)JDW;;|k88eWBlhjOW}a50CdWoMOD4banV-V-7A>Lxal|A$B9 z3?jD#LGGo{?94%z#3pBib;`1WRa3a*eP)2yVYxEMlo-MSi+m1yh2p4 zsO*cy@d)Meg#7Plk3h>OiJ49j`3H_nNWS?gdRY_y`H!?R9lm*zL;&i}U_Z|#e0xX#>#ct5*bd)dX9LE=50z=G-eB~INVHYXm^v(%N9mF)W} zyMN$QMBUlt{`iFNXc~c-MxJy0lQle+<57pYrVxs9O$+j?)eWlbPhALQ^c;6>9J80mLxevIABzKsl#RYEhG zFjp=)5l$T=EuEXjmK3M+)qwl;OAqtRB0u{!CGVAqcZ2>xtD4xAB;ePcc6w=*>9gqY z<~p(dC`o42nGX!omT=y4tN7UU&a>4|AY9`8?%+kxpnGyfW(xR0+Ql-SWUGZ14Z2h2 zFaq(`#hx8D2R4IxErstE=+M@_`Oa#djKIhH7Ti?q9h`$C%^m3n z+7fMDOym6d1F%?G@vXbS2KpkB<7G^;3ms0gK-e24c%eG%2Gw1u1Gf;-o%OkcI+2Q4 zel8iP%kRfhi4JJR3(fbPWJGOPfE{}uod}_86`p=h)HwFWwa_(9Eu?6eWl}ri9nlYi#PfVCTV_Xnr&l}iSP<)W z;2}09+`--)c-WZ7cilP>+e1ae{xGQy}@9Rm?GP+e1WQ(aYefkUd z?}wi(5XyMx?rR&Y6DpnL6_hZo7!)Br0E7rKod6L68eq>cW}ik;S|1=+s4OjmYO4Ys zB3uFv9TWzxB^--!)==a0$83N+`?Pq^V7GA(Opcw4rN!@WyffdUc{xOky!+8*`_bmz z-s?2?>+%+$6PyVlcqdIy4)1FOFOw@*daTi2t0B}h|Isz4-dJX#p@$Q*V=!6d@O7G6ErnMY(->5*D2fJcNT z@q9@}gor@`xfcT`9VYlhRj=QXB9TvJW%mPZ0&qX-j(k;x-Kz%r-5I0DNK-PWexWPt zLLD5`Q)^S=BBo1u6tAuzIJRoFRKUq2aj8MSWNZfN; z#t!qe`j~Od#Z#uhs9WpqUZT%%}MR*Ecf=212@i0|&QX%_7z zghT_Y3M2x{3evsXg@2IVdi`mJjUDi-ZZSFMH7=+s+d0Q&&p!Jw5^bfe-C?(Gx?21( z;QQMO|JkET-)=$HX3D*$RB9ZfsEk@h!>bh}3B{nQ`~0T#a6+E}WzPlje&{(~3gDgb zX6y+CA1{eVF-FuJ`GL7x$LuJJJCNR=v^8c5KoIGEXWQ8>x28*YA-L)i5BLK$y?Pb7 zgQ||*hv1}eP{bJj3lT=hJ~0cMr_a;+iIY6PClaMpN3om9?7Z(+1iPRIpRx4y4)3&N zzec}J42u}^&Yn#2ex^vJLE_s1D4+??q9F9m5v4Ppx7#H;;HIPNX@+!`ZVf5iCwYnM zCrl!EhBc|*`XKpFYHijg^LP`Nn|xwUW`J*$>@#}w0h*}^Exj+k!%i|LEY;IF2DgkS zo$`bUDu5Jp&yHt%i<$gb4z(8jQmNZ&ZAxicOx8HFsTKe4+D{6?Kc3qzmVhW`5Pv?g z0{nT36Yx?jNjN)BZ1lAfAYquWa5n1N(atZRd5C(NS>Y7y1snwj)xvZ4b-pVxiboed z`Co5t(YFWZ44Q)U$mbe;^@yGi(D#`w_&GORSb0uqdV->QS(H<5++lWWyU0sWe_9G( zdef)>-Y9QPhzHmB&-ceb9k8_jd{SHp5B5LTdVfO_{pVVH4wTIQ2w5s@A_$1zzKMTN zPfUR!N+(W)hD@LNO^Du#xB~?O28dSjcNL5wb}sIsExu6{o~_hf&c-R)bK6_PCLm0N zor5J1Mq?}G5yTas@U{v?8DI{DF_qZB_C-b<{EAa)%8K%+cv!X9YV3h+v`s?|kg5_L zBWn{Ke>>p^${;-p3UKU$ZD2PzkuET{{C#3pj&C$J`CcFDp>f>7+ND?t1+d&;0wq5P zzwwS3Mltgi&7zV<*jLlQMyTp`Jb|iz2->mKwM7GSTICkAx{$q-nG_qMzeiTC;xbi94b~$nA8Q~A*p(k%&m*28_UwE+-6@B#eA6i+(AXPo(wlzx z4U?j{yEkd68%a6O!98L#QvbCV9_tqy)n>VPOt%l=5m+1hDd`?#k{D&BS8* zKaE*r!zIq8MGhM%Buj09}IX zrKejtd@Lvl-or7o27p}U=oq2ulD1wSSbQR2jKo#M7-{;bN_q>(ZJ|L`K!g`Hfl-RR zE}If^3ZSyZ`;p+}lqAE7_aj6#^b1 zQp||CF-TA{d1uP-Lr5VoGgcary$Th=iS_u#!UPdmCMpo+0q`NEnHWI4NI@7=)TD{c zJEAGL^$*k!5jFgF}FAzt1lrrDzi6NZQwbGu~pLg!~+=0JJ50?-`?W7zT!$~Dch*~^~US?qJBXE_x`!> z!V$-J)bpHk1t9TnG1tE!{s6J8u5Fx`7}Z=8#u&)wIu^A)*nB}Uuy`Il^POIPW<+09 z)6F=Ag9<&U^xOq5lEGcXaDS&J$$-Jg`bdEs+%32oMaJVWU#pL-$A`+5JG!ptLlC*G zgC}Dh6c_U1;GuUacjhj0=Q)<9er49sZqRUN8ivDn1qdKf1jdSB9w%8Gq(ALog7?g7 zR-_xayxkIPb`xW#*&ic1-!>Q++6Um)%Y$-Smbx-??mmej-h`7H%QW=J#JF9{jX#>O zVfQ9t!ripYaaa97fzFHL&7O0ADzL9Xsg1uA&H6(qHypH^q^MZ}Q!o_Mlo!rhm+S0! zs8&Fs2w+(Ava<81B1~N(jQxu(hj+TSF$B;|cyV+anV)35oNJWy!la!+J!uCWaimT) zD!Z{HK;jOwsPzy?_33)Gd?Vz?s^0g*-pk6O&X?=W77e8Nt2`f^oI%X47WwN0t2b4&`R_*W8k=wvilmk_N{;oaUz@6QL zU!*6lBh{{s(C+lH%2M}~&-x{XLHGqxwQO0|>-JAL^a@v{8R`_>3X=VCY%jRYPTGW-oSh~~JC$akqQ2|Ecb{=T z3dG>;*w%VO0*=;%@%kvm;lYwBm(kAf#qF2~TfI!++XDu!n4ztxqh zZnY&^v?BAzFjbdfjY(FjDpa>pDD*9St|Bd+qp8$1w$jc4UkCj$T{83&%-#sI&3+rR zvW*48!g;N^7de0`Kmf-xZTHNpb466hu2~amE zh^Pr&m1VG+0!f2N)>?RiLn&+o`d@RvYE^yweJ6fnR+ZNg;)pGpAc2okB z&eh&l`G#mZ@b2=>o{Mt52l~_S>#gnFPA^os_0h}lBI@H@pg z!m6CEOUVUvN7|Q1v$-+ZC}h`4K70;Ae#}woFTrfbHxh5FZu=WE8Kq)kgI||xAp@b- zDMms9{E?9%K){F%!Js1o0RbgDn;ohS1!pWjcP+j>v4U;SH22zl)3^WDDGbMlx1~`f z_&!{%+`gQ0e(pOE`v?b?=lanD-D_Yj^hVLESGu_$RkBjV058bty06c4i9yHi{g~V6}nevQs9k|(8<41}i;n)vx%Jr9YH69)x^~bvnKH00YwKHf z<=SW4?EMmsw(~1g`|TpF`R4`KqwwO}MXO?=on$dASIi1=PHR5?xqH?qVnX_c&`4wO zzKMslcFWkA%4yJ{1VEmf_<2OZ<2$F4z__448hc_qq7PVld563wU4UznSZ&GelD%?K;_h6NB0E12IQ z8TNTPSf_LbN7h>&<`^N$ZgWk=4AY4kmNO}S+4)7Tsxqv4Bmf96>6km*FUvIJ|SNAGVFg8)pZS zst@PBe}4rJ%P-OWi>~&oe5cByBJBs%$&nSIPheVuMn!O!kj;wC!kB(Jv5$p~c}^9@+|Zl+rc~lg z#`iWMwk4kg{bN`6t8xLPx$5A1tc#t$@@vzCGL`uh`ocK$a^x|IT%stusg~O~X!%;} zN9?tnkS7=H?9-bVOd zt=>&k-k%%nD?j>G0g0xe*{>8ox?saAW98EDr|RI)Lz!1!>XqYs@{i_o-sF0`C+Z40 zbv&z;K=S-_RSB@=?f=`_HDZSNpUGOR@am)=;oCQ4n*W}xzgDObh!BvvG+}(v7jZr} zH$x!O6GGAvd|^m1nedelArnRk!G? zRhOQAPEE>FvNjqOy(bb)PWxPac0Ce&UUgkf)$g<;mkur=c^*C(LB{V8+}m|cl0JKQ5fAdsUSfb-NqDrUYY43(Qg zkcM)_uXCldvbI5LZDAU>(S;0LYJrfmi-9Fgf|0UZY|}^Ap4W8cFLrvLZAw7TE|hJO z2v|x~s*J?}=<0!0tHW4{e@N17sNh`$+BUU#3C6fngh1S|MpnJgIPl#Ca-t zKagmHK-d64N&~xN&jow&SF;X?bwHoLrcGMXz7~TB*w#CijJnYrdGXKCMb03^fpzG} zh@Lz`>vSpx|EP)?7GYNrt2k>9-l`OpFB%}z`l1xK zYNB`mV9BsDTWSWZ={-K;$%)%`>1*LrD$PxgOX?6ZRS-AIPmfFF#lvo29=*R)mb}#I zZO$4i_Mqchuht8hot&i(g#kZl*5Qaj6EWT~MkeE+W7+v4T+Lpl|9Y}eR^TWX5~X1Z zD>u=MWuqmy*|rk`=^|z!Q8E|ViAnbkp~Qay6oYddvNFO|o9kku>o*TA0cw0|6mlx1 zvMLk`Dy2HW7QXXR_fu>Ud!EEup)_@md1X$o`AZU3p8ZgR+DCkRP2!JB_7G77kL_Uw+u3B8ZKYzCk;Z2t6A7n-%s~ zk?Xv$gZ)w++;!R!o_z0&k1gVs9!HMUvtAW-#4I-lX}AdiiYW@dS}h!_ zvbbf-KL$N!yfBC=M-uwStY}9BZljf+?D3IKPWGh)?pbxwaG<9!PY}^4pco29W4$4y zq^)Ojs~miyhbHxJblWxl&LdD{G|*B25xK36(vYqp#x1=8lxBMi=mHk6keA3p)v~4570Q<--hE!BGv?tA_8BST+vU+}q>rH)F<;U$b05)( zR$d!G7$sF|B;gzPO`9kfAaROKLl~x|)kE_f369PI-;b}*m6#4jnx<<|%{x=0DE6y< z_(2sm6Vj-O_T}EC?Zl0-t9Rqc!y61g9Pc2o)Ty2`)L4e4o&+s=1P246pHjNO(LZ|g zaIGhpjj4KMKzqY0sHK>1I9But7ZW{mX1@#&Tl&}rQ;Yo@PxKiPfPXs&bx%U{EXhE~ zEun}B*&n-pMl?^Qd!>M4&QOYdc6`M3eXNNI(BfjLz_Wq~h5~=O z!>1-dDGXBw zCJ>fWU~xN~jBUA;P{DsHeBsi~bd#>!!RhhY5;1nBXvr#tvxt0%o>R4~fx9N|2HWmx z>lALO)}j|x$LMIYgk6@UmB)cq$M9kchd>#1D{{N4eO0)mc{z&eW8$vg&rl9ak<)By ztpT7>mOn`Wr|_F1LS5IkvA7?jzUU}u1|KW0?h!pv#^clHpTl4S2?m! z=0egeSbN{vk7qaPSo%v4oA7yH*=y6Ei z`34H{%q_D@O7KEfqI_njK~_)r64v;w1LrXIhXHq7bWO-w$dL0`ffLd7vf#3Ii3`x< z^HtWeYKs|F6@6Qn!fSDxVpT_n74SXbr0YH#-jB`M4L(VgS7hEh$+CU|k#JJ|51M(^ zhp_US;wXO3xv-fSbMRs;((E%7rL@zK*6JA4sp?~MX;w|gptVC0jb~0jdYiR-DFS%) zhX8Wwj_&yqNPGmnXcclGdF4;um+IQ6_$3Fd4ypSI4&)EK5?l;f3`Apqv2OEse{5m2oN)aJc`FYsAn7NiYFmN^1gYz9)kR2L-`MGBewsx>-- zdLGAY0z{+stR)2!`tYXlI1L){>mf(hJODW%4ze~rH(0NJm%~+F+SV`HSbJ~5{u>J# zgT#6rkf~77OqirL>WrMShEsgH5@|F(kas{hqz>d#mKLR(u(z@1n*-$a`MYo^uV840 zVCYmqKc=D)ZN;yt6xbupqJDW|&ab0AF{gG>|A1#+wQ`|Yp|Dcg7d+_VvZG{6Vdul9 z`(3$RvBY_Y&m>0gC4vuP{TZ|En$8g`BV?r<>I0$|?q_;?2n;@;VK5XapmPNkiy!3n zPg>ix0bdU*D3)(~`?niV^b<0d9aNK;jo%SWoQ_)?oLCuHZE}<(3`<~C-=2QJ=^DN{ zetdjvgJ#QusLL0A`&+qb#Tv{nvgT& zNufuH6{Ocd8+z1w+nz1+mo${)E}=pi3o#IgOCJGq$hD zXZ2qe)3^&P{@QQ__X+4f7t$UkOggVlcT+KG&&ex30#Hn($)qO8dHaAkxK{-c=?`X$ z{C2;q&Q@u-uX`Pt(-3dCN74KZmBx=KlOIs3&_7phcryR%J~Jn+n}w z1gdkCEs>g;rBlY-%5U@2)V*+EL#s^t>^q)0{cx2BP~f~t)r8KoIlXKQKYO^xvHoau zEU&!&901|k1OB%geyLmd;attyyl$5I+->ZTyCJP=iZ-G0svnh#KAEn$@K?>(vACut zk*@#M+E#R_fg3)Hq);%ugDt$PeaK_f`kb_Of687RL{9%i=rH z!G*ppzMU)AyMi%T50pjMZy5b|P<@v@9%3JMN#>#I#uL-U>iEj+P2Wm6Hj>e<S#!iYc2W(qF=3xLJ8;Q&G_KhQwY5lwJ< zOFKbiJCs47W;|{U1~jgUc4TEb)2|lf ziP8wr4PZm@k%eZwXA#*Q$s?I~;+HoTl89`1uy4#QfjlCOV`c#^SCQ`U2m5LjP{cyU zl%c80m@DtGP6dTh(|~^-Vc7iem-)AJiP>V-jUpHXkp;V|-Y(To+%X)q7nndzeKpGp zw$iDXs-ctn5;}!!4X&aStwriZ?W_BMrs-4oKeCLln%kDKSWFeT((!$$3X`~W@0Wu` zZr?>N|C$~5{Y`AlO3cMoHD7BM26R}JZE(!nXIedS)o`c96+m@8Ko=?)s;F&>U?W3g zL`}+$NnAs7uo()pxetgv+|y;|!tZ^H7SOx2kx6ZL((;;MW6Pe2r+(I2w7mmsPB-)e zS65S2otN7O6@M~Halt&?{j5RK2*Vn{tX%&g%r)N0axyzR+56P12>5OB9S~%qsT5Cj zZ54PZ#={pf^UIKXaTNU?e^099-MuUh3D0eml`Al;Xw75KoCWxm|jNw3ji-brx6 z*$RxQ)^*8iiRdWPZFX?AS#kR-c`@$1=OmSTi&!;}W<9HIOMg&wo3l1f)n!G`(v_fP z^V~$$et4@z)zeGSSe(T-4sg$NR#%-~dxm7l(rc>mO?%~*QaBsl&2f3o9kHM|QgC|5 zhOl8~mArbn%w4=ShvKJ?hp>0Va*D(qpNy$eh{FW`jf&wD^mDIKhi+2z8oryDbHak` z3BN_MdS=4TIXJ~n%5bCp_Wf~8boIG`GX^WO1OwawCzWJ<{xSWg0dW6>fjXZ1n%ApA zer=EY_d+9lxzLpGZnT;81R)ncQ-p3T2<3%;5%`;R;{A2d$4gIy~R`F5}nv810C0 zt!9p}(!`h?x5)-qKftHK>y95qNY!4My-i5bK!_2C@9H8H_k53X@*7K5E#j2)WAV6X zUXo^6f?69}R2Kf9{!+5Aq#r|Q!-NuZziTmHZ>1|sZq?_Qlr!kf7vHt@hrsT!_LH>x z(RgCK8Gb%;RSAKO$mp7Q1u?qCraN`6vzkBo#*f(~Q16Ka&j1QK%`;}qU)#t1YdP|z z*0wRCwpzKoGrT*83rM{1Y?8*fYdVb9vXWW&%}RvU@{e=|g^jyT6qwQxT2k$N$J+(j z{1=t#SjFrZ76XcZ&q_4^seTElv+gMVy{P^Z#+#k9gUtqiN>0tv{l(gT7}KGxKJJWg z5z22MHv3B%qXy_Sb9lk&bd4jmr`Ql2Q2tXo=k5UP@J&^T8CCvL#ujedIaayDe~z_q z+bYy%4ovTlZ{zVF(-g5gBIVJdH#-wnJt9|EXbbO=C^CepSR_pcqSWJU7)*WdfITW_cx(mEh zI7b_zxDM5$2v^*Iib(_Enk7)>3+U32e9tcVpjZCns04&B7(A5fS4X|ziRRTry?Bu- zsENH3_#YAM1NgIFo`R&GRsV^^nNd1-*6*V)%ZK^$zTzax9xO z9F2Yjb1D}=J^hqC{S-a@ls)|vKK+zF{XCTMt7qxc9K(Csf?@LwXw=^pfaco+<2!@+ zNZvZaH>9{yihhIx@%*YMe!gbdulx3A$^MQQOr88{TWNRpc;C*~pKxYsFM9LedSY69 zkvAhFod2=ED7YEV<;H(K^{C_x=GLbl-Ykyr7H`}=ebp1!J7g6XuzSiOM(BFL>Ge%m zo;Gbwt)?gBd@X=ZjWA>*iQf%)>F%6EprQM?2)(&yK5anUs9BM(QVzI3%1-q-Y1*=! z6(&?6}!Fp7pY%7!kMxo$$0aa0toXoQy-bdHJsUM31(E=D#TncDU} z>$+1jHeC!(AMK~7NX-yNJ>v49_c|(`lSI?rvN5YaEvmWL#$f(m{PVW`)zb1pP!9WQLT>d|H zckKDeP3w*`coirBSp)+(UZgxd{-WH_+flUjBU7oV)7E1&z()&PSY=Xcs)L~*ZRO8; zz!$o-2gyUL!47nSDk4HI1oP@`WWFMt%u$JXGuEa-qA3+BGzTiPT2|q>;@En9$0>q0 z8LG2Nc|i)_QO)~}{r##LB+aej z5=)yht;Ydqs>=*z<@41Lj&s`lb%epP&BkN+&e63;~Q=*wxkUf;t)-P+AF1GKe!N61gEXBr#b=G})} zEZ6fIg9FnyqPPJLAmtag#6I?*dB^_3V=;ASX#glTy`+Gi>gtkJ#ZYs67W2pHyLmzN z14C7Ar?UyAv+QJC`$eI}LYS>)MTh~DILKuYhU}oD`y~5ZhGeG%Pv``#8~XQ zfuaTApv;!fFIC5n-#W?y^b*w-z_^qxOCJ3OAvrp79ojB1XN+O@89nUlq_Ow=(w4qf z#sQmxukvY4QGq&{i-;dm1x`9L)LDEw2lu15^kBRSRVnF$f_gh9HqI`?3AYxG#G3yp z6je^8!NBntF)UMEyu1CkPxRLjloPKdue~P$@pU$Kvm)}IT$~g1-c+0u)o^Ruup`lx z-dh9Bp(D~@YyKAKkVpIz;o&PM5D>#)(nQ3i%Rr6YA@5heLbKtnHu@1Xvy;6YO7ybX zuQMt-7XX~Ggt};II`88&xCFzPv{78o(r|7u9*Q9}@~U zjizs}h8ZJK7!z8%aBn@UrDd2^Qt1{qsdu4#sh->cbB&yXbKYiISt$@GFE9)$-;(4YBZMnX4p%W6u~dz_4! zZ~kc%bwvVYveOH}thHFq+xcK$BZ{k;?YmyV-8eERhIy00k4AV5|6}xejW7?^28}`x zR%qoagesd4k{;hH3oDxo_+l(&n_KWYY&qSv?5|s`Bwv|$O)Tv5r>;HzX%uxVXWSdR zB%E0ByREA?xawj%}IT z5kqWS70;RZD!S!d2A7AptcX2pbnJHQ!1KiHg|gfPwz=Y!E_K1P5lhA&apU|uk{{Tp zUO`{pQqq^V$S24)){g)KXRuG0?ewn`C$P`ZBbR%% zY$*T6A`YZ}s#kC%{cFzafSXSnv$NX*5qz2S^Xf5><3r5W!Oi0IxNx}TlWd!NzyVaQy@CnyO`O#xVgwVn7Y}Tr91XR5dG6nkC+}{2mygqf^ibx z@I^2!If?%*?v75EdxgXSnEAhdIDu|6U$XK+r<~j4)bZOsZ zVue(8z9-~m@BwG*Lk`$J-NNR2oi2hm;#h%BF5aJ*1G-!8I=O)+1n`^pwgj!^R2~%? zT^jCNmzn@{wz59uP}=F86nu&1o$p8z^Z`fxo^W_=YC1wJoQE{V#5*)?aF* z*`Y1*pT2q@VU37G3)fUjBk|=(YqXb4>r|$AG3Cj^Ftr-Ar5k7k==`Ek`hIv^RR@rv zWnAXR^B~Gx49Yli?mxtIXcNdq+JkyQ_-xu&vy;T1Q2%`kT+)@wK7ECirjh}0fCy1JvIGCC_Gnm*KxwxciM7yAk5PZmgg?;fOZDYJvz=dTK%zg#%gsusmg-e1r zOld~J6jpM}*gOmJN6tq|h``AuH_7FnkXaGJXSU4Cv&w}lp3DBp`~Z2+=CSM9;ANQ8 zG8YVP?&x{?skN2(j{z9VqklezA4u%hw;3l}f5CB;$Nm_V!*U1CEyi`1*al8PYRzXMx;K zdGL)cDkt0sKeP@)#2P8>xr~>}=9m$(tHbE&EVLJ_#ifAf=gF&bC>PNWr4&XsD~Uf> zN>h|b8xylw>>#a$^`sQdtSTw-5$w!dhW6LY(DCPK9SaNPg^)HhXC6jbu z)TQ6#EwK|-3bGIC<{%aewfY{zwG36*&nMN>^;Qb z-WXiS`wtSfPp6v8W^ zj1RgM!fX^kt~I714y(Qut-RMgc6C=ex1Da-F>6-eYN`2?*>4{B2faAcyPeM=XSiG60#<;u4h`hd*k}nT)@%CCgJW{5Cm*MQYaZk!`(pTfU5~brjxWG6c z`dKz*`9a4}m+@xdfxZV0K4mY2I907>;EcW>`E?e!z6GT{$0SqLCr7e7E7z!G54D** zzxE-(qjXXSKZG-Tgle^CWD^@dcIP$cryP5KN2_aRkQPoMkt9Vq(a(Je=D4a+5#g3UG{k&&56R3XyrmGc;;Q2|@x~2A5gVc?5*K`kJE7I9q zY9_~q6Yojo$UI(~3yx_j9xemV)Oq=cIad6S8@CtAY~6^uWVd#TXB-Y2mp^$Ie&@10 zUEaKE@DY#^Z4tUs_Vm`8I%9MQXf*iKTj`dTqKtncc>InYBrH`ZX8h8)pxVbf9QpnN zu=2a~5?}B%2l&ri=ryN^&l>5qpnR9W2yMQj?)!EJvhKTF`oK>Yrsd3-0D$Y4eLf&d zBJ@)iLUSf^UNv@OP+Z8S{)K_Sx63z{V z9G#bG;>cUY)tQsdx7?f%B$5rXnv$IXfer~4IVX9BJ8}(8Wf>DH((@6tQ}g5=4fkx# z$wOGmyjt!?&B>uyJMYX}xhOs7godiWRpDP;%gn~?Y;Y20iSJg^Kz3#@wRiMDZsIIbUFu~)6bLU7nHj_L_Bo47HBTgDFHI^Gdq?T7Jz4Q-A9M!u=^zw1TQ~0^lg5)<4Oc*%=xHOIiC$#!E z_bW%y{c6_?%p$7Y897RNpGz3#fqsW_S>r$0>GXEpG@0m}2|sQix#OWceMq9DC8vshA-?#S?r})mP4e`Z9VZH?B~m- z8ALz;z;ARVYQY7MDVKMF`I{LO#@0m9khUf`*o)BV|JKx0_dK4&yGbKOzw3zoot`4_JA3om>c zO!nU%QNa0l1xx0VhO8jO1l`}3df@O%#VY|ItX`VqDB`3@wA~^sJ8vkAc4f@57d>-t5Nl`5(-*C!_?Kx@&>7>vRTzQk z$c4DAkBIb3Snl8$K_XPOhV0tJX83puB~QbuNT4~l$Z1lhk%%@&=zw!uHf@$=3jKfe zDY6&QVuHZ0N$Lgp|4vc}|20XaCptml17u2nLQq&{r9pn>zl;1tvl^sA|9Add*e`JR z_1*uyXoTp8cN`M5#E%hyUIFPY)(*WS3hC;9;@>_!{}cZf_;`Ep_=ffrWTab1&i)nu zHvKpLO%eT1{5xqLqj7jjyDP0S(4NHeAylR8v-0EkgdF%4_BzDJpWo-29tq`@W?O{;ZOAv&7CZlFR>U*nFi)&=gFB- zZon9~kL7Ag5=@mIHNq!W?ty0r@cbXD-Z40`sC)YkCbsQN%n2u+*fu7%?VQ-0*tTtR zV%xSo!JGU3zmKYRb)8eYd)MmS{o(Aj)^+{jxkjhUM@3SEEiDEQ?=T@YrfO=-G}aqf zzEtR=8D`~Ydoln+8|;Hpam!$hPNn)mfht8!()he}rQS8pMxK|91f0IsPv^2B>tIe04e7m{w85p`Z}FEvxJTg;UJ_{eB^;XDsxs9n@El=Z8gRh6Gex&_HqCR7?6i?!^8eR> zw*>6Cc(?}`Qy+_D6LaV3!L<#}QO)p~nyUnBzlmPokGwh(Miz^-y~ah#H*CQ3lCBnL zq*bU!C2CY94g`0&?Ja*|uc`#@S+HFLdR$FeASBXE_%Hl8mQq^14C{EkyvtIrRIHX} za$dlD*Jb~EA66y3foGr6wJ(c|BI1(vJGI+LYK9RsJvW##)5Z7%wCbM0KSBx&Ms}!N zB@6F@k*{>YcT;^q9L10ji7N_z+aqX^-ns7z=vrDP4s9Cyzn$TmI^sV{aSu1jtUq1Y zQo-qMS=JXRtZ9k_H;PEth(43QvuRw~YDEC;hOLfmI@;rA3n{R5$(?X6s7#AGW}dOnOm-t@5rL*A>mzzk3NK69<_lj zHbJJ5_O!{Ph50aL7Yg1~6+Ht-jwE?~?2o5igdIBL7R}~`a19Fjp*hD3u6WK3iyDp| z!OXV7x_EMSF>ZY|d<~}ie~CX-mJt445Xcz2b z;%_Fb1KOx;n~q5~aQSSmZwtN&)8HaPP1X|{>2CnrEm6A= zrO<7)iJDFv7-J!T7IN|;+_iKiq zY}4Nm+@{x71)TYvw6uWZ3qq&yAeV3NBkE{%{X&=O;0^`!KY}xT+IU?*wgaM@3)doA z;AGmSCkKql-?rP+dol^#B8FRVcn&E$tLam4>)?FSo0$(CG5NK0fz{f`D5@oW4?1ODB~*W{>UT*eKy z8(zhzdS6brs3Qnwos_|HwI{FBMXQxh&tr|u93)?b|(Nm}?$MI_G!G@Jv5`4^diRJU3^s`QW zeUh0Tw7o4!`~|#yFZof4b2Ph<6819Er!6IZP7I8mVkd-Lmd#)MIOe_vpkvD7N6eBk zmiSY8NDq}T7RF0|x|31e!FI`cVStGP7V>yWdryVu&EYpxjigl#hwg(jBMlqV*5hWc zkg8()p~ms)!|>S?Gzi87EY8*oN@bwe!SoJvn`%dB^(iJTVfu(V7wO1sN6?>kler;V zks8cK_AS^nModcW#tWR0-R>_?<+YNKJCVh6g4W}#?C=xuGgvKJcd$IQR!il-GH|@% zAyGWHyR;>l*;m@K+3L~=uQ?|Hc+bF)8_Z3LPkqf%ZnxxE{f;B&4C|^C!G!Sao8Fi% zbQ_AhDI?Vs9&}`cJx83bJKO)~QK-3Q9SZB)f6+0&n_#m3=Ss`;o7w+db-siB`X6;? ztU3op#Fs%b3Q6+xH7Hi{bnZ9A!~CZUpQbs&FKev@f(sjehNlZ?8n3 z7#Oy~U!z;`{~9ENshjsgSXehUU8+W?p26bAenV+4TTpFRFW1r5YFF24H>+Gs`Y%c* znS&86mk}T-p&YcA zDaonPNJd%l4N7^ zlpTVuK$|6xEVbUSR~zsvOv0=95dUYMAU~}huM**v21Y z8j+dBu-GT{JfjG%1vwtqFnq^|9BwO# zVT`56no!^Q#VrWr*ANnD^WtCWcd6sZi7H0&@d{LCCV?~}BEe0^fr$EQf+o39H%8-) zFT0v~!KVux2}MU(?Qvl}Uf?1v+EWN|F(6AtopS`+F|tc^Gh@Ys4Yg~gj3Z>rFu5AN zTIRWroR(JvnDZy5LDBQkFvp~lHggJzx<)i=JwYM~I&uI3vg}GQ-wTS%Zi-xr6bg$_ z%4JrDW+`NtqBQ7e*b!3UX?{pyKN{WR9!CCnuozl!4l!W#o5gD z%dIyo<52;+b`ms1q;T^W=rbXIc$?tcM0uCWiz(M;*xx!4vLtli36a9o@uH_vvUW5!haR+LZ9SmxO~ zm${SRKPgX>U=w*7E4eV}Nd}AK^s=~M(bVb<`k(@+?AeqK@!qDC7P`&vm%%PTtPhtP z{_Wb_bR#XqMp>z0tGFNCxa#x9X)JP?ZLNv1a_rqP%~7S>(Di-i-2T#R?~;s^@h!6R zhMV68{3uMJFu#x;Xcpf(zQd>K0e6cnuv#=|VOqg7MY%TXt1MN_}o5pid zBdYqnq z&V4w$uRFEU742+Ujw1R2-@pc8f}nd-BK3~V9|y-Xd>0O}qTn|rwLR4m-;@fg%@$^GA%~L;Ncs@V0IrFEe%aHRP z3F$I%e&t%urUg+3&HV*iLZS*^PPok|5p({M@KR)_#H0SYhqfFO??XslhbKw8_I3$S zYRr#T!Lj|;D=uw*dUhg@TIrxP@*EQ)B>fQMyAdMikW~(L7k$Z4X3>DFwQfjSUBocUX%9uBI`5j#sFbGwDnwpt_C`8Ff)q4U!KnbP-QJLA2#E~5|+q0`QTjl(=3BR-=JVpv;~#f zT5@U442ku;9nN-)=B$>%pW9qvS_az`C!Fm|))1o5JW+4vJ#fytjLR_|pTuDGSE>gs zFgcH7POL#&Xa_?(u8=}npROL=n1?PTehf(_>^{=Wr~xrg(UMkuR^&_ol*EtrmHjse z=)AZoFVCsKnRygDR zm9?k6b0O%p+9gzxP8#;@VP_x8 zDcw=yTe62&#CNWLUfM^1x2%eBv0yy)mYK3=KCr0?ut-h6fNzgRphFcs{clltJ>R)5 z2F+JHZK9qE2o}$8QvOC71U${#JsoK*d4;!h;kyAzEfX4UPwIYCC@tTiHg(Bu&Wii~ zN$tO5+r0%tr>FYck0AVY zAh3mzF#QV}6MgZupr)Vuw@c2)KEb3&EHB&+I7Y9$*aHO=lL&)xl#k_NSRyT0B57ur5hLJ|_$(y#@l zExfJ92b!JyfCc!_bMRS?m=e5HP-Y|SJ5s;E8y(z*t=e54Tw;gidiyW3a zJBP72roOlze0N9ME_z{rp|x*YmAaj`P#bJpr5%&h4gu^U(7soZL{ZG?BU?Ldre23S zr_fCL>t;kL4gQ1+u4+}+UY#8CYB`$ z*3=8Ij00@84N4s~irl64)l#()UeLrKJJNn zsjwc)tJ0=CIR_{ZDdma(q|hlkEtn{WRVMHe!2tv8bZA&PD(8Kg_9&|ZvVnu&gW6%MVTjRK=!X-?9ez7=l_H=f)~OQUw&L4WCUoQx;hHZF zc9f>DX@Kz9#^t?ZI}g?P@?}cVGhQsBO;eud++N;MtD-9a*i9x=Jv&1s5pX#g#@`GH7c-tRHw7PvzKVwI{PJ=TI== zm_+6<>}-M9*j2ScZPqVuAy^wESpI%FWV}nLP4>7=VNYa(_P$K}xZ}&|+iw6O2m6Nt zamW3J_%~*Vh5~P7^8lHf8c#6Nz#fgK5^Hee`!fk&PxnYR+SQE?WHjC<`$vsqM;1-F z&bsW=-bmMY-~@3EOnRDEP#esSGh90^>*VMEYkAdNmHSQLe~vS{BP~<^;k~eu{qN%p zMl#dOm*3;FEFuDcE2%`~Eni?DPK{v<0a0#U`sYuRI8A8DJw;~&)*LxG2agkMI2Xs@ z#M1mktIUR-G-XagZu;d3g=cGsCnv{~osCV~1n>HK#xwuX=KAL5deh0&`*F;s=NA|A zD&y+rbJA7z=j-F19O{h0p#iI$1iOR-SE^a~U_FkCEXN@5=iPyBZa!5Rb!T5d%)fcg z#vsxwy|7YINm~-0^+A|pjCnx@QFKm>49fvIUqJtEkCVaNpZS@`I-mxeTBwM zZLos7I#nj%%Vo{2+)5cGlFXcz_Gi{X@Zt{(j=4Z^+fLtokeNMeyLo(ui87XK5mZ_M zD71u(j)qG3&;f=du8%nybhM1kYC@cfXjRLPf^D4+Z3!w1I5IK44^762f>A|>SvtnV znR`^4JPT1-XZgQ971GK!5tN3>K?eiATvX(O^7tD-=dC;qL#aav5uqSADqcbe`Q|N7 zWupUEJ~>*X?EaUuwnVbRRSdQ%3Fyz7k!PvD z5<=t!puSw`||V;6>Yc@U4)k$+>rp$Im8MuuXF0A}`kntld~ zziW9E}a$1H}aE ze~wQaU&p63nGDmU$MIC|Fw}A5Beh0gT3hdtG@?cge-i55%SMjYvGb!9RJ@&jGG^3A zI|?6;6PCi{x@i-}?xJ8Aw-^GR(y}+oc5|kB(T#Qu#)&P<6?|HfNHcT_5Uq92^v*(U z9B1s`=bUL|{Y)3#j~z#lsT2R8T^kw_cOxDoQ+Pw*qdv}oc8&a^>r-;z**3&?gYK1& zU(HEIocr5xcc<5}(YCAi=0<&yPw7@zy%!S7XaLrdam0W)To0amvmOP&WaTm5G<^Ix zm8Kv72ZjgsBteCvj|RU4ew)1tH@~r$r`f{<1lI(_#i4bwcG~a{RN4^mBhuaK*B5Uf zs(0&Q+fO`yd!+q4*LdZ-1?QWCT%3R@Z|eG&U6KNj^H{dw@^*C?|W&txg_tj3o(rZM67QK{#p+uGj&*7+kej)3kv>d#&x`2hl8puk-R*!FrMg`XQ^a#9&4 ze^UZaV^!U>t}?=P7+r7>dp*|h1SbpD_7o}lIs9hDf22qMJ)*HsJ=Ei+e4Ior8{lpF z=6SqkhM_>csw8a@eT%b+!&CCYBJ~Qm8In0EtF>K2EEMZ*X>~>~k+xeO}!B-ac z?7+$t_Vz1dz!T=BfomtZq8x$zf}@l%?dUHjDODYhnTR~S*TB6wG(^;W5ejyzJx()5 zb;izfv=Rnaompwhqr}OBbDAM7R;k-0*Dw;Fq!)1Lsx;ySGObja&lBD;XM&nelavIo ztY<}ZdWWgZF!(me&wm8c!beT?!F{n`8Zn0GRk6CzUqkt&A@C3tnAE*PF~602A9(jS zj1-8c67OoHs@4Vcnm1=XbwxMaeELtww1)^El$+m4%p>R(qu+ z{R8WFYH~~gR?q5@0wk#detBkb|7wt!0z74lE2O2yZ(LP$0D%(Bu=^vs^8B>8wMCi#SPS*o83BUP~=^xp^6msw9#vZt>7 zsaH+8aBcfnhG3bwkY6#V-VdO>)&?x5MnY6?=DFhzAKtXHv}b6a!>09B2|qE^JXzE{ z;#%mpmqzGFVbz~OxYZUF>faTL&u8~QVpU=#VdmPf!ATL6Xh!uZ7T4StrxlLCQ$8_X z_$l(6-UIauGv~MMWmox!klkm{o$A69gC7Q4lTagj+@6d(|B_5xCjlZKwd^hLK%cW5 zOC77L+I))P=f4k_6+rq{(oP=D;?QP+%j4=neGaST9Wy{v4=uypD zX~>2j?OZ0hv8zJxhRjl~H(9&bvo(TMv;n1im=DyJsU7H7HgF^AgGGKzDp2hS`}YQT z^_OQr>xsuk`LFPk-vDnW!;cP+<>mXNF!q@S;-|doPo{VCln*c@O@_U5zBvlkiI%xe z$?6ldhchTo;eBV}JzE{P$jT0UwRNCM3naLU`NtUy{>0;-5MFVX6~4L3wne7mqz{qL zp*OyEa)N1@WsTB?KJ3nMnnT?tjiWNng(616Uv+ zxH`!slV2qprdmSWzR1JLwOI zNF|eWun~DGOgv14Vh;_bwNAK}PN~!{T6K9C8s+uE2(89OO-n6nOD#+5fAf#FXN;eo zm+Vhjt?}AG*7)6VK8s`b74O(n=a&0b>ron!&+9XquyVibk2LHs6#%OLM!kV+esv`d zdbnJuw#cp|zl|PyOTH7E=#H#%Cum1ciIb0!&dZ*NS=1d1f&-#lD`4jEwD61pHUyPV z5gWn9ib+-vXTj?+ca-v(D&i{%@IJfhxHP{+uQA>7zr4M8cjeaOS0~u2+U#&vHU$ zPL|kuG7&~oV1{sW`A_IecYf4Q5o{P$o@saU;hQQe5=C&RL8Z_9s`2c zuJ+ZM_R|2+_a{jU4a9A3BBKt%$Ulo$nT`!L^bZZGEA^j2=A0WmFBYUht*^M96BtG5 z9x~`k-|KY|1;%J+o8Z2I<$v-EKbyz0kACA%H0$p2y`cdkbsl7;#tQx`F2PB2Eu)zi zC>E3zmA6`8{Hvfy;Bx~xEV$3aCEUp}^BBxsz08qj4FMI_`QNS`DJP}heC3%mabZ2J zN9Yu6_GQY4!~sG&S(yCTuAZkmxoXv;O4XA})q@JdD?pPR{Fp&>J%^u`F2q-6tbF1_ z$X8~#A2EocTeBbsXJ*7OL0K_(?&fAl32il6BqDB`?%l(j{arbsAglI!W@RO9KxL-B zak2XL{MLvOxkXy)ApUw@s%r+9Gwj^D5feMH^Ugmrh$0OlGpmYfEv06o-+Gg%{FQlc z_?i;B27q!#5relAA*PWdCrYUQ%`Xg4N*SD}^WOrxmqJH#K`A;^i;IL2f(8SMsKzP= z^~({Kp%awJDfLTK4ZZBu1Ma%%XpKrU{jX&UR*j1$+a`UcHv9P|R0{PepZnois*QUk zKH<|Mt@DC-H55TyHsRz=?4qlE1Yvqw?c(Md;lM)HqCU0H&&CrJQIC)!;sSIeSc zLJy%e1tK=3pRdq0avvxc+2gt68@NhI&^39|z)_i~d)ikL37cXCi_jp9j@I;c^K zZ_-hue101IwT@D^NsUy0BqvMa32h<6-vZEKR>+d96bJrreBWjDVKMm2C`Q*>i84kX zk202JH1J2Pvs{F`Zzg&&da$-=QdMi;wBTli#m)pbAtNlyPE>SsZo6O{UJkt8$V|O0 zYh1ceBn5|7Hb9_KZ_=K}XW2rePNI?2UCH8m)K&$?U&f{I{ien6^&c9vb(9*kf1rRV zW9ywJ=baWzi(GsC82cRkqyQ;5g&k z#@SA_=EtFdbA9@LRLz9O8fv8BCw4R*O5ULw zYh>n}JRY>s+`nB0>wYPH5AOUp`jvaiieob-+_N4bH*`5)KsI$i5YIly#T2+D`9iDl ze9~gA>3TaxM4jW~Vc*(vv#GDALRVQLNQFS{F6ZmshPm4_&Ftm_2H=aBzfj$R1fEZT zw?pe9)>Cf=@yW-=58C_vzo)rBUcFP6Wf zYR$VWed|&4lVGtQnVa+=b?PwjZ2gdR+(KcE$6w^H-a4a&;fyfPqD7c#VE!=SB9&OA zkP{h!pJMDJ*{UJIZYXm{0J1{>8nHWV;)VNbRqtrQ20632D;Kl5*ogFMCu+P)apGU! z32+LsKe^R}+kf=ZJpc}dChf7Q1&NscHz8e(F=dTi{+}%{v<_oNviD#`>`t(Tp(AB_=CrLQwpiqJFL>8+U=52b}TUYB=s% z^bNh}p|AayBoOpCSsJ3;5VjJUznL({biZ*~Y&}o%8XeJt>Aa;P=(IphXm4FCc5GUo zT{ZvOYrVKeh(g^lAm_=trWOl#vJd`2;M4ZiuA0`tjUy*`t$SGP*;sLo3T6LTZ1LQE zSR9b{DQPdi_XZEMzVtp{xKkx-Q9KA#X3Ls=*cuQS06a@Q_MO?X7SVXMSj^eD+pQ~d z)fQP=@?49Z92w0oC-f8UP<2^#ED#3O*_(67t}rsS7mC|m!&9$%g+1??`=H?rX?9mn z^(<^p?|;R}|M7yAK)qR21aqZ$O-i?QADPCpKI!xDstY4_g}hr89deV}bgM%6J(XlH zm~Rf(00>&ei6L&S$yE-qx#~Q#bej?LmRFB;rh%FZ9Iig2XpERV=idaNK@ZSnjy*kW ztt%wNZM?~Gf6r2jo1?Fh*OG+?`MVi}iVZZ{oUg?~2eZ>5Hk~bffPh6UH9>N74J@)X zlPuyO1qE$SL!TFPE{i?oqK+2f8=O;XyHjB;0p4^=yKEY|W6u2APsvrx-fx7&zd6gA z1Zn!3)jFn?x+5O0e!aSey}pw(-_)V<@{TG;K#|iE^18_9T*q z)~$G^Gin=eINfLG@bT2<+&XU#QexbE@H91?1BaB82y^Wdjm69ijN_i57nGBdDlhV= z6aP{ph;|Ft&zK-WXGhGIi`Y-(E2dRP1IqaiMKR<)VY`N>j0!%456M(KBJbZNr{F%7 zSu$|zuL*O_Ned``7C90`R4p@;%<<=HkV*hR-_hHOb?u#@STkQ{t5(*D-sD3Bfe4=Bqz zrAC_R7-fKs{8zOKZ|QrVC=wb|Ls4sUy=A7{^l{Z1(m1HQ>;2;14=AXYO(|3;TIR^4gIIDs>R13%30OY8%UVTNWgl8wAg2o571c zttYiaOrIW^R$e)??vX_E9lKIN9H`1Er&B;bemk08oj-SUA35`dYty?E-Ck_fyHnj3 zWU%w}vmAv!d-8wq*7N39??$TFLRv)PteG4*RLGvP;(Y**n*TRG&o5b7hfCOW&ptiw zqh*0vw@-%;!Ej3YZ`d!QP*whS6TBB}j|)f75$JkK+}kJg3xM(hz`OuBzzYEJ0!-L1 z4Azo1z9f`M2HV3?+smiDO!=+v2d>kR0WkZjl>37}ZgsqDSmNrP9^nuk@9NlIU1^-; zcR#$P$b%@JlH1fliNKyzu+~2bTE_6HCgS}*!LA)R)&a2XDrvhZY!xPmc67!l!wiZV zx-$Kr(d)W9!JdmqBh{_IP8J48>l(t76*6D-dGNmur}g?DVwcsD2g)YCnV{=So`+c~ zAWsNTl2CtpYC(Qq_H3|LnWeVbk|C>#>P>7+?_87?Kk^l3O zUpqh9KsU@T0J^&cdDH#v=F0bZixc%zhhyNAum@@#`4iOlKd)+Dgy+G}%;sUA%W=<8 z1a6~oQ16VsTW6_mF~`@jLLqy`#8B6EQv;q3ex6ilz<}qgQV?Z!84tKwMzJr28*J&2 z(z*CsKSStK0@!mX+%7K}2+yv++Z2_Ti?h(%v(tcQ8Gac5X^&DB&+#`9BIjRkM%#p6 z?O39avQXFdSOZg#m+GRS)!;X90&jxIL?Aa20&fOlyD{w~K0kf8T!r3fK(g(G-XNZN zW)N=J0P`>;F4WHga5?Y&U+JJ;qYyWhJ-ipwJIXjMC_Sdy$lWk4rYwSQ--$nHiG8?3 zw?KDY{h!D1!+=SIn|4sIO@tdY@MnL#-KXt4BaQ(%8L794=z-53Kgw>NV*-$mX^0zF z@F%hmMAMO;caV=|h#M$hPiC?KBFG!00Jr^V!13FFtKakR*Mff$Zsb6o>+p87L9a15 z2C@f^$~Tbt$>?twzXC*q%6c6Q=z`p~WC+DFRjcN9;?#l+&o9qzBmU6Y_DMq7-GaIS zzTE&|H$=YA`~lA~Un}+_+tQ=U41A3*<;5 z`r1B8caS1h`J7De@ZeBQR&Ji8x`}jDy{b@zs*RQi;)tq@+Tj*Q=D>`Kmnlp-k$)^P zgsOc#0Yt&=CR%`OIsfWV448UqBk}pIxjW@T{?Uxc^NB-k8W{Pk5`6s^y&-`)kCig2IjZWPgq2drg|@OS?CJOSnCQNiukUPNhotOD z=J7N@T6IeS%l;ozeEn#69bw_8>?4di%2Or%sNxoWx%$>>*(~Xnp;Ne09KiT9KUW-^ z`Yab_VqZO zs4MKV?zRE$Z6vW3Uvn@1hwLQhNQ_E`zg(k`nN&L=Om`3^<0=)^T~wm6x70F5k(qf8 zyL?8$%tW-rUia^Tug~fLn@W5sqhcdLxd+q%4YzrT1GS!0x*hlfRBks}(e@%2r6_(%fk-1)Dwm*ftoOJz;FUyiA6_ zi2B56$}{bI?1~g3-svuHtOKoYzqa_?@9p6BxFSzb{5TZzHlo>kkb;x1L0oY1OMFhB z(%gVdM_dW3YLb&4Fz13a=i2OKt-XzuoKsS7ku%)cwU>9tTzJOEyu4Fyq4bnXQ+F3F zJP{FoMkO6E^t**6^};~;_=eK888Pd0c%+oJIZ);UH+v5!KDQ>mz#UtpE0ng`U*H30 z{z_JG!WdhGL@YxjnD((6G0QsoEA93G<>W$}-G5LF;)p2g z;KMzdD1zC6_{$wz*Ez^5K9?db8Q+|MZj1BM*&^W{qEP6{ zDf1AW{gA_jidYH8D^lPFvTgv=)F?N_c%%L;hyu=k& z(V1Pvvv>{=zM@Op<(W#g8d6ULgI4=-oTNMf}PWF7R3ElT^^P!qa! zdi55qT02Hjw%`6i?FewLo{W-8GGF`oL)h&n={gVuT`dr(D-_s{vZK;TB@@q=J?lhY zaKa@%$3Y_F8C!-&EW`0D&Bl*)1J-;M&b$q4)(NZNgiw60>+4(nMVwV8t{#B`$=DT4 zLj>hmh+-uGy*`f=pWBNq`Wjb4X<5FknZB&N7gREHU;hiZmNXyD*?U9rxrnc=jEs~7 z=HzPZbo=|f3E-ZJONO%bce?z7{+TdJ{%3NIJM>yD^m-}unj`dDNBEhL^iAh$W_+rc z^&MvR9<<g(5yD~lnP0RmXx!DsK83r_fBi;OdGqfGlHN^ zpYm82ycr6^mf}LDinY6ZgKvYx7f8zvA6VlU3#q+u=(lN0;G|{XLPjOxkap z3x9QR4ghE(ljX3>w+u}VDk^-L=LY3!JFi|3tL3`h8rm>PguRz0j0j)g%<{{QQ-&t? zFr8vU%EP(IPG#a8v`T<8#n~vHOB7VA+DFZ$789XaW)Pz$0^ZXSD?;NO55ZFmYt5+E zmiZiO?P3l7pG&)UvHoY-hEJ=0cOPH&M({gL`#WCnJ8t_sSAW;AO?Pk2mQgb>RGrmdJ;Qydk9kfbe@QKXa z9$vY7`{o(O|95j+uGaOL<^1VQ;}Hdjevj|&;X9z@d~J@`|T6t|5OqFOO3~d z()^zqfn^W$4`<9Tw7~EGT_d0bHnic~(En2(n3QG@g!mI1i;Rj&vi;{9DJmEksYGa9 zEL6X_%t+4WNm5~!*!=!komLF$l zO^i+ySvs>SP#}f?zxenszuiL1zJ&=}QLXfYkZl$J&|86nS+te=-Se%H1ZZh)>hvte z4Q-V$P&VM!Bm9C6a6d??Ou8yzlF1oLdCsL>&`(%nIae7Bc%k<3_n3K^I-ad21y3Gc zbR~A2;E3*VrKz$tvmXNp&`x=qHM#EIA=RBx3bK0?@MgN*b?&_R{+Ll>*tu+%U)*K| zZ71q{81Ro0+~~%#fPjzR7`e?E9_J|(<=kC{A-KlMGpJ#Yi?5!{e%(!Mgml9~PR;3Ff=oiDXYN(Yycd;C~i>JGK?LDgiTmpE}zDSB2 z3f4fwUV)s9r|CG{?qEyqAVA19yK{{KIW7&Tx z_WI6&$z<(z_OpR(C%08OTL{h^#c0ktNwxEdm69hW=^Ex28>LC;tk4l<8p+-HFP(Hk z%{VhFz5UI2MtRO>Gs!kwE2V_@IEaV-6YZC28Lx-#IgmhxBJm?+vQZc3PsbJuT* zvutkv9bXH&RKZS_bcBd}9o+!~&mZ0p9-ig6cN_yXS#5jF74;aK(sAkAQr1iReWTHx zz3MsD3;gmpk;)d1DyNPr6o+N|jw-OpF4i~hB>`N+ap?>u$_G4%9M-~qqzcz}Av_IV z{Gwyj)kr{6bYa8ZtcEh3LB!)L~i z^e(|~QW)WLr5|3sT%L$8b@js|i+%i6XgoQwYTy9jS13~b^|Tg#M-AD=2KB+86SI_( z^IaU&^QcnQIjJy7vZB54x7LykY^h?MyrSl=-#K&+bE(vh4(_WWDfIDZle+nl;Vxl@ z9$g{-E%c^z1HPu+bcG9=ezyrewXi2BeGu zOCSUF5GUmlJLM+@O?kJ90$z!gd=q7DwS=0aJHM@eRme6I+vKIc_&*~z`If&RQXIw% z(LGSrvTH;rSX`jf#uagE1e-6~28MNp0f6*_b5*$bUA=RDP`|xU#JW>3)mmPF4!IX!%nUS>ght3ZS`u7G>xJ`BcB${ zV^DnVfij-~;}rsOP_Q{nCXRDfFKO1WCWHLmE=&yEyO)>dvbK!>ueuo;He4rl?XV-)y6$fWAF5%gb7A=}3 zjf})7{3Spe`ZJuMQG`}7JqII~Lxk4+6`>OPJx?{zre1X*u3r$+zgWhAQjkDUjBtA*J~9os-n)7F}tJ zpX8}4ryq9@`sHrA`BwPdK3p*yX{5+dwlz5PXio&W;buw!SbEux|>#j%?DsXie)D3(5&J<7)$ z4=PhK_?>)#I{D0re!MxREnN>+T{{C%{I_WT%aUhct9AQke6Yv>ECKMndWDK3uC^_h zx4o`0uRuroRsruh-)jcKB^`0Jh>AeIB&jOS_>6j$G&EO1D){i)Fr!JF$P=sa<}FE9 zF~%5bmS}w_cUIQAD{P~BpwAL3pgLhu!xY;iJUpaV!RUWP6J^=2M~oe4?di=P_snBO zSbhNiJf_&bBxP*^<^|Zhl(g^B;Ga5~OV?&kPMi+a2W5z(HAZZO?-eujP zB1LGEy8XC)#dUv8t~2I&zEd#flXN9q47{@ei9afV7eWl5Q`i|wSVqnNiLWXIV_3(! zf<4DdOL}m#K5J>nndHMjm`mc0W)mK0I3qrSzGk&Xn2v0^3H#~_Wm<4( z4~{UQyu`{x5e1w}yAqw=<1V3S)_N~Gp60uBwM!|wmi2n^o8q@t7h{~xc-fW~j}Eu2 zYLJUe-`{*eHa5aaUM9#0NK$4t&6tLM72nI~-R6m()Cq|H#mET}N_eojBDBd3r%@39K6%tA#)jN+QGH|@sE#;kalP|4T@ zllL8I9E&a>lTb|%{f+kCe&qd-hwFyZ$U9|O%@BtM*J!2z_dSZEWz+Qn&d55NZ<#ET zghrM`cjRw6g4lFDzNTd3L%h>tywcZNXmI|$j4+vzIk3lLe)F3`@foFRcpzpP1kK1U zmDtd6Kda$vqz&ZE(by7%ojA{j_VYl+nURXBs%I3yvO-F+s)i`TE`n5lVgEJFkn_wN zxWr|Z{)JCk@C>t+t;;DA-H1tuId%oN2`e~6AnEFXB)-31tn{rA4L11}izVPn$!V)l#wo~uX?c;pEYQWI z&2?=6q_xv=uZos?&=<(es|GZ;#2XK-VSxEi%&&zSl>jT` z%YLPG@ueohfu5-2g(J#~0-HE4w*`8VD+|v}r5=5_4_+YG4IohB8!aF&YrhJp zF5pq}^?Xom!R6v=t}3@0u5zn&iBMzqp; z2@6EOn{bw6atBtvNgbFYHpxN9ODV;b`2N^wqzq^S-?%RB^wJ_v(807GrVa&IA~X%^v-_oszE{N|V+ zAjjip4#0>IpB-Q`H}Ha>+XPrCqui4Bs{ma){R+wM+p=Re2!@IRdeNjX3lQ+ zPF8ZL6RZ=oFBC6qkA631RpuYM{}1a6n{Fq60lXU%6M=ys3@e@&%m5I870(YgnjOHj zX||v2XUp-y?jwTSaDM{xL*!l^X{g9`WgaG= z0`gr7N7@Fu`As3@jtUqZ6-N@1^(1N|rM4f#4!Q}F-5P-wY;y$iW@<#z`S96Yu_osc z2g3k*Q86WID*<_aFo)`A&F-p!sc_8}z1Lwj@3A6ZYB$}0**ixF+O2@N!G;vF&j#IP z$Aju`MjAB}M;hQHfii#&s$&U6>akF6#rquw0n~dW0EG$iYy-%IJ{Q@=0qQ*vfU@#` zzbb>;GlViA39|n=A6jS?j>x(hec(9@%D)%oy$6-(#?6r5o;V08W+wVqPzQ2Q9j;KA zDbm0_n+q-jL_K03;g2I9df(??(}7{)8%rR-g#Z+!zn6hZ&$?C==+g#i5G1S!M; zv&mphu0swI3;H4rDf9wk-;0Az!~;#l15U&PPvng+G z^t}>}q&IZi`V)dRD4`edpqmLep_gpgE%GqI8+HRguiLL6b-(w(sURAWU47t>LQtX) z)V5S{QK;__Bsl@7?_i|uAS5}Z?86510UCs$U+uu&Oa4fth<*UaUtm;-qx`YIg3wQc zf63;9lv4)&OtW%pxFOO9>#9C8tY8N4=FZQUsX%5RZm!dVe=Pw$$Ic-Iu;g~lgH)uP zndbnS;*O;skp?_kgxsgXky1ck1!4zwAE4aydKjR?fMH)Lu{S%ASN+NirC^p)=NwaNw<*)Xq&_Lt zD$krw25C}QH>lX$H$K90%4^f*aQZDd`U%KFyW9w?Hc3qPMoi`(Z(!pcZ(!%09Fa9W z2wg2|AWGpMf*~{=)^}N%pajE_I(vO?HwljDtdx1D$0MUw8IL+MFTJWcn{POF6Nj@dGg!R(;~ktWS#e2C)Ta`t&%AOgXmL0j9xONiQ7!DNmq-=y$%f`^IPA4WWY=aNfM@iQlG| zn{vKZIiZI*6bU^_*KcF`r43v|I0U2FeS zJ&O@t8Cg-LcR)P{LR&^0&3aPtJq6u@bMlvQD=hB}J6o_tsavTmX0-8bsCuUELW z!?WKeiQj&*JrJ26m=Es|aJxHoW8Zz`@_ppru$ersDb|jU+@s_s>6?HCAygA~)iF*L zlGxJVhESX%=q9-wiOeINv-o>T`jdtK+%0BLG+X<~2>Cr2YP>X%wZor8M^3-$Lc>Hy zGLNG*6}nv6=7!Yi0MdN ze=%n<+V|krjNe!5Bmu8N_PXFTR(;LjI@;ill zf`P4z!SC3#i0n#T+ap`Xw(Q2pS9$`i8!*@Z1|I6cH#8J%+-$t#;v*3jRBsG9CQ&gKY$Y43#(;a zx$4Fc4=(n98z#025)g*EY(k&Ekgoc`EIVLU9oTA&@|yi6XCNS9^Wbme1FFe|ToK;& z#L^)ISs~f=eE5lb$WPoy4H9Gf$a}#)ebFIqu&nPKRu56@#wZLD<-5r;H*XLc#?11g z?FPtuqiKB*0c@{6RX2ovn<0z4lJOr8A&H{I!;!P>nBN(icFM>BvwgI z&jdo1irKbFpT!#3tgIZtbx68ZT4jSP1vtyucBmp~=rOiA$@Dwn(fvXPGL} zywQ>1ky4tnhPF76qgPP#i*5Z-4L6e(Nk*jq!8#K(Q$-E9%}2#r$s%}iyF-Pop7nlHCqm z9iv?w$Q9n*4osbA|8tX{Bb}p3vU=c|JU~Bl`{qLkw~MoSD7bpqTsL<9Cvl~hEc3z_ za_vxdc4Vql*hnIC@+ToJ{nyRtLkH69zd7?5-6E~2J8OvOsc~iCh^gDqggC7{Y|wK5?R#4TM)2P? zx)_L}|6V1V5<>pJl(~r)^sFc>5Rd?FDzY6EZEANi2xO}7Hz*`P!^&Al75z)@INjNN zfyF|S*+LrHnaP5?DF|Z$k_BwfS0(Fbf|!bO#7eN zijfJKZeH2qb1*ra<@u%p)fwX^;B2+g?fA9L{tfQ=o!U}xYNPT80TJB1Dhvy`qA{gH zt%N)k06>f#oM&uEAz-FmYf}abG>BhG@dFB4#le9q7nD*wxT%5O@0Bvej>i1D zr-_Yr7AHfE9w&OaXAld_zM=S!Dp2zBM!E`mgw!$sW48)Lu8Ih^gXq==L)=kRaEC;} zwDQy#BQDfDw}|3j)`bj~1F!TF@rh&PX7)wXMtlwiBXXf7MV=~qvn)B)75;C@&yLw9 zoEgL=pLMYaT)tJwsS4ypU7> z_`U!Orp?gjggW4@sNyK#b<_xq3YlhY(0~2_HrUQN>A(c)bM41`JzksQlYx)&k3+a) z1})$LS$p-#RY2WXq>-C}@T>b9BMlKB^bjic#dE(@?$(bfaMXZEV zg&FGd+Tt?R?B(3!71mIV6tJR|rU-BL@H4Xt0W$7FD9C-yFAC6nVdwui&?QUSKTnOn zFQ3ioKcQ+;>t86{E+-hRrMKmxY_j?Q;av~pHhds~9uG+m7A0)I)0SwWEv4WooJUqL z*O$y+j}b+eDwz%%=c8uE5|;ngupJ&&irx09tlJukg@h_wD9_{sq|CMPSu^o^x3OOD z8zrj|BHY3$oG%twv7XMP?z(#Shh}<+Q4ryiT$BrYP9N(hXl6G`uKeL@mPauLTsx^l zUkz@wgPjR0Pu7{hH06gU1H~B1kl(oj=?^otp9_OTx*fINM+$qaB*Xji3?$X5+|P5V z-a@nTMbt|2#@Hy~ZQ4)V()i!+ zYfaGrAqJH;HwT?n8q;EfN7s<{!0Tk%Gm^a8@>M6|N;9$P2d~A6?_Ed&i+854e5(?DWSaCjlrn-io=LeE5qVRbtPu;|TkBq#Mr1;++ z!A)LGo#8&&5F;od+ib+u{}MFmQMu4pR=MY)Ia?^?&sdsYio2Rt4+It&ADoqyCX9{A zs8400iw@pA!i!>*%VwrJI3iQ|_#@W5d$1{XcKs_%DJ+gh30YekDNa1 zYK%u1Xrx8`RNlS-L7|t*ag1$=CYE{J8XVz3=7Uyc)6jK;p5Sq=GgY&QPr~zt5Ly*2 za!1KS4F@8J^U{4CxlP-Bwn?BB@y!w1n(>i#sZY5-0ewzb{IKrHQ;+MAvv>sJ&PUx+ zF`+<~dMSluAKa?=czG%1Hs2ert5QywdIznsm^H+{j*deBfiSli)xu|Yo zZT;WUhu41qhu6l3*M^7Jria%Chu1V%uR|)36Z8%^zCnG`ut14&yBz+);C>;f?pZtK zwDyJgPj}&Usc+S7W;*t2u@sJ*lrtk+SyH_#<@Z$kVx~yXX5kx|msE*zQ3S3)xg<9Y zZpbqeh^gHG(_3%iBK0Oi*gbzR@d%D^3yivj{=CMD-DMfAl-omv4BaTXJX8?4mc+8pIyg zVB~u;Shvq$u7zK2aB_oG-Mx9y^_D)-mRFQ9t8RFsVm%c0GMmhie|~?9+44%_P*=hSF|K}=j8 zHv_rAXO63jng@bG-dJ@{1m$y6(_^_!Q^E-4T~E}?U?jWSnA6+*uv)%lPT#F32-DXW zSWTtokY`7zpLkR5trPEwYb5<521&{ZY%V~{6b0`X61qTxou#8j#_XpJ)>Uz1=#c@K zb*7&^*Ps7ASg~8s8v1e!l)6UIDGH-8v~Qu@*Wn35_6{!UM4q`KKCD&dmRv5k!eC_g z#uM+5evjGfcfi9P9gI0I(a3OWI5B0A_~^G9-G@OJ#;B-+38YQ?(5B<8rQzm_8FgDu z_8h&9&UP`8uZZ8k;UR-$5)xOu<_iM6x;%Ai(M3lcoYFpM;&ybf*hAfu+PlzKu>9%o zDQ#hR_xJpqhq6|Feu2Wn`BUxSS6 z(9HqK9^vFrX+D5ofc+eafrp;ypkv*iXh@TT@q73kC353J(laIb3DbCc5aLc6-I3on z`7^v_wWfiOAPDmI3|YK9Tl(d^!WzcKTj6Y!P^FFc8~lH#uhbFzR7*wpkM7Y)xgc?8DOi3{V2VvSgr;hs*rtNJX&INXJEx3KPZ-3S&Vv!qvfX64OiCQl^SB0Vw5jSv4k^DCxj-@m6Q^t|HAZ zekqr$HN}rHO`Fr6zra2)M_WfTm2MyYD7$?RYY9E~5h>QsVQt++RTe~nv9mk$2E$- zqW5oT0ni!$+iq(yDijb^`N?%uwdr)O=9Vt51UHQxYHTV{o;cbM#Ho&%{%b8|{~T+( zQDOpaS(twDN7*~B>$YTCk#{?Hewn-xPA#(_t|{GS!!d(?SBfk&@x!H7vLw+n(vL)? zcP#XkqXbS)iC~-jlPw%2>>Nkr1{|oUvm&Q317j98aEy1mq(4qU{a=zYb}6QlaQ3_ z0?yGQ`*PUTdCN^v5ktzl_S11YtjX_qHK^>TH^S8wD}BsGoUr8v#ze#cL;-3+ru643 zRS6CMw9{?-r$ZN_Y(UmBndeRhu}4fR{meRn`3cvfyPM}Lj+ng6PzHsArNB~VCMjWN z7Z3dQ(!fH5_8>q8(U3?;9>pPyRlzPZ0rkdQ`I_iTMu2LxddiNe{p_S)gsYa^f~6&+ z+AeBp-(}Mg+V~j*gCOHeqOkWb9jh@#Iap^=v5REPE>betR3+0$%4W(M^SHM}AvsF! z_BDM878cKcn3+?@<{RC|L+Q%s20b`(sirMcV^9)6^>q4n5o1?eHd%a7IYtOd05x+e zmdZS=73Ehg+s%+8Kc-7TVdM)DO!6cVb3<-8ES)=yeAZ#EIR2&P zIH#xKuGW|Tv~Vph?}(z?i?PH)^3pr1c-xZt39y$6(;t2bqefIQu+AKU-;no~RzQ0!9jXIKGPU4-&hkNxb`CR@mC6aKD$ODve^LOpBw} zWQx6M$a`25|E*S|aF~5)r}wln3T(nTlU7%9h?7U&yST?j-9Lgjg(i2zJoHJBr!PAx z*;U)r`cURXQ#d!$k(r=$pN!yW|0oH=Ft5!-Y~WhbIK>ynvh}>p%&j>N`dhfX+zjIR%nR8uBMSp?py$e2A}ucpt6ISY*k z#{Ry4@?B!fkSX79Yldshmjaf?(c4hswl-~X)h5@jyr*oaSdNruq z4ac8b>|1l@<|9k?&X6Ld1e6eW38QR}p`BtM6eIrp{@(nk639!_bK&Z2g=^h)a_n0i zUwia``SU_%jr9u6ZH@3CtFJ>XP3Hb&)3;i=iu;+$p zjyw*21f`hCyr9KA=24XS!KwW!Lh)09WLmjcuWksW{?i^Z_Q>ch7~uCbBMt)_#bZ9) zMxJ9mYpMkK8j4Unv6y|454wKhG9cST!CFZS#wHaU=U{hVQ_u^RKm{Z9u)o!GZ(|o%XDYC z6Q8lkh{o*2sw8u!YM1D7%hUKl9U;cVFsE6QL`NIjY12d*9l$_gM*EZKyanAxPQ;00 zgIUrrQ{h^Wt0_~l0rDf~nx(V@+_he@bvxjw0?b5bhFasjEl0O5XYf(6g>~x0sl7|A zf_HoNCk`% zrs^Ms?urOkXtr&f^VUM1bo`Zdq^-Z?$&J@#P-?;ro;3?}Et8SYov$@aY`)v8Pekk^ zMDw+ZeS!x_%DANwdOCo9(@Z4^^n158RJk#T5Kvqm(cyPVTa<0yM?dh!RMmGhd4Uez z&!6tU39}~oj>LWmU6H3`2mVG_r|HW|1sS1e={kNc$*B?L_*bqybqDhRC9xrKEV&pp z4xAzWpz*N%=~kY8{Rkn5~Nc#tkC^GO56q1wDITQuB`T*pLd zB4CeO@}(vmgx9shOY-^34GbC)2^tXv`aLWtG%V;-WWc{bqRp@%@Tl`LgkNfaR}`wY z36)Q9pfUnU&xXP~VduwyGqEmmdOS+)*r4yKRbX$odpexMJ;LVF9vFd|4o?LIQcT=^ zXUMtjl8r~U1GlQ)WoWhg-8zV$Y!7l<46x1DRQpkKdUT0>e5rYS$$5O~aeN7Wd^ud; z(dmKX?iId6I3h07VWw%NByQ*ODt;|AWz=ReVbo?bA?V%pk!bWH^N4kYGsp|+u!EXo zN|D$X{hnzeT#L}g5M(-kglx{P4gER*7hkt63jnhsPM1L^kTE-x4*x?0CC{T3E5o4Q;e0HYogZt$TuMWC6mS!6YOiQk{M4Fha5;{%YXY0;Yd zl(wlPq%k8fivAeL0;Od`;D$YS9>oU5NB5$%i*~b+Vxk^eLYwR~^7tY?g?EePJf9_d zLGH=SV&30j6$!mpeX~U0(~=z`1tTfTzO)Wcx>O zp3oa%$Qp-muWb$;q%imxgT={491&KY0*FRYx^fH>+B5qC zjR58$CFjTk`5XOe$xvl9{aDLt-phx%D2qH5S)tl zidz$9Us<auMc*6t-s_(}K)$~Q=a{Zu3O8004Wp5gHTa+VdY z!COmf7#v1OPUbt1#@q906E&LWTZ#9Lsfn=J9sGDMaivJ*J@iUO{VFOB(G`uW#ogx@ z&?B$475xFivD4w)Dyuc2#vk^7Ec7-t)VkY_eoSAHM7S)G`9seYg`j-<@&8B8E0Te# z{uiv90|A*HKm!4d;iU=+gA%0P)I&k13Rr?-{1E5%s4M7SHAn0LP-}m1;jjz?XanJE zsHkceeTHU+?SZKpD5%{>6J5 z03(6$(Sqpyzvjf{L%4zUf@Ept7fMgB$$fb!@^Hc8p2;uvoy4rS#8AL1HGSIxMx;pa ztgeU`N&#cU9AL-BjTUkC{w3PFm9Cn|FyL9$Uso;BpIbpJgL;E79wf# z6$hp+8KVm+l6t|I99cY65E|E2uj&k^1-*Tym7+FP#jRA3`m@fL5Gq`RaHp^ z>yzoA1T@N@x6WXfJR(@)o_QH73hdPr&76W`*p+z$Ukyr(s6`VO9z4Yg3_iFbZ<`25Pc|NqbT*$tdKZVLLpXGG1Q#-*u1s zACW(a6qVUCCzYKpI9X+j%NoZ3k>sa`-!;d#V?(NcJgC44&4iN5h7c_+5^&Jpp#8Dq zH7I>7ck*QBd2l`CIdD{>vZh)Eo&TDomD^@Njxkb=TUs+_OEJwR7|%nBC6XE?Q&^eK z$5mQ$YHMvYGGxIaxIleTp9lgZCvsx{k zWf`Y=q1duep^TTEMDY6yEsUqUF~Y2 zXMs^P-ZJJ$XJZCSm zr7Snj=2yB#<(-28@Q+6(<66ZJ>V^_MFhi~CFcVe5fhdkNy|1l#0gbQrRvYb0kbSvw;} z8QZUeip5qcfVX8_tT2WBr_li59^BhHyz_x_-Z24tb}uBKiwDs{sV+Jc2~srIhGO3O zId=t3%oxhFna8{K4H*Mz^(d4puHIcr#9}=8-_a%$>`N>;Be(b|zqd{rwOghuqNb>> zUmI9euhHMSm3r07pO>-%ZP;sj5C7S&*FTDuKXV zLqwuG2)G4kXMZZibuM!1uwugB3#qEuFu7orxUHwrw`NSYvR1RoV4jzFysAxf%A|ON z91Y;np4-q}4-i*&UUf`hEEKm~r3_YPvYnNHZ(C_tv+CJ0(KAMw;Sgj-<5tPlHnG|k ziD%rB03J&Hp4+$I9B7}^Vhj7Z&G2Nmv0o3&pVVg7e*2?uBkE=hd-%)GmjpYvHr%Xh zXk8vUW_KtxvSs!pcqbH7EK+ECdz>ZGa)-W=!ZPH(bw=A~L^pJXBr_EWTFKzrNY@Oo z5z$nSWLl#R*pY9!)6LC~30+?}R5hu6_%xj=1I*IO^P>b{m)s(9&ooRpn51>dRHX+F zhe3y`r-wMJ+I;ty5B+dSZL9q=s}JyM3~3l;c6krwK?#u}+csxGRElFVz#a`ww1VQ&TLcr3utfanRUgpNU z0MH$?)$hvH)89i$MVa)@lr=%aE-7?WUcc>IN1gWq6_zC4t^ zLCOK~i@hRe4C_jS)8TJ4B3I+#Z_vbUfD@5Vcs&vb$7(qrj|fk72eqpmMo}eOd;Y93 zi~MAN_VCE#zR!)JVQWekP5)~ojs)1}UK0Bmo4v2+!>`!GFZsi-nZqxJ!!KU#s{>Al zZ*^kSpVo~y@ux-96Q|hQPELLYY&iC^CoT}vfD$6LUKh4w-hr*z30oASYXBs6{bThs z{x0A4ZwPkV_mgavVVamD9chr8=4q;|D*+gp1)kHEZaKkxM<8C}(A)g_gxUHA)$%SD zW3c*UwrN$nv;tUyTZ^xRI?7SU^lkXEu`9Gr%`7DP#ThiFG`sYsgKV$66ZDMS% z#6LeCZi#QR$2~_Mc2A@{j{+R`x3D{avvGmf8^t8Q8HVPu`H_;YvdlRf6)f-^FNF`ua*=WGKTA%huDBO#e^@1K zxplv$LT5e|B+=uRt)21IORj4W~I5B##EgM zOi)&h#o8@dR$G@&x6~JLyFE-mP#0s$e?7Y??XS!a?Z}4f%cJ(jqkJo9OJeTGgzqF7 z+BL(?>lk7UCH5f09fo~Kaucoer5=ED z9l`t($PxKGwD6M25ekSfyCJ;I8rO>+iJQCYjm_OHJ*)-#9++9Q%QWmV@#dRZIIj^F1oLpmyz3NVH2l&Teu>s%`6==F|2SRf|4_N!I%NwWsdJ2=B>xu}LZ#{- z5J0BlKM_Es<~bt4x7xozegppx@#{@yxvTesC9UxPHi3CsBlz3}HXw(F9#uNw-0Rm_XV<8Fu5PHdVXUUFY>5d{BB@lQd>x@}8UBZmg zo`+%vpVL!EIsLc!)SQK`;!ydrgVpCy}%fP zlrvQk66I7#FVP7!Tt*2XcL+&-xPYuFHQxSFl@LAA-maJ&d&o0{^(rTEKQExAqzszK zOmP@=OoUnZC_VPz#8GHNv$WK`B+MGsB^*Dt2P#fdi28nD6s55WehwO?HY{EUNfLNF zSGb3~-5jW>Ywd2$!e#E-H_vK1`tVPMmWQ*y%=aG@7hHe0k~|2H$R(sJWN z=hKJA!m3J|Gyzv_zF&3Pnvi)im#gJHAvHjd_N5x{6`y)^8<>_ZH>I{>7*@+EN2;kSG1Xt~u zWu1Wr1a%lVWuZNEQ8;Zqf~=frQzbJ|r%F-u+nVnQiS2O= zkK$>u`VV(c?eQLr4~~3hJ(=-LKV30RV3|KL#3&1w3loviQp!xJcnq4t!^7JCUo4fS zP)mhLA*c{wB@8E>#ma+I=J#J~F(D^V~QoLAkvDg^7s31s+uA=#Mu8cys!s(;PZQ)X+ zcWc2&<3+T>mOt*B7WxP0hB-~DNrfP;86G6|)_56vJN+_xbA2{fnvvDIxpLo+BQZYTR1ktEkQMn(rM|ao>L+Qdkv4oJr6*qmk@+j{G&XDz+X3eKM4dj%8t#e)HZbj5`!oi(tY z!ECStC8OR+$*~!7ozv%!Z6(f0sry^m7?uhE76a7G?I{M73sK$abp#xrqx5SY** z+BO@v`X~#P14?J_+Ea+C>NI?5v9}&zKED36NkPlQ^i zt%3yFm!E9gI*M%zZ42ykxY)HL+K9zAnlH-JO{IrXnVY{5(KpCr@JCNy{g32@xk!*= zUvIJwQPLOcQqX7HkH~8J$7dW+pY}CeJ`CLikAT%dZ-~JszjCbiO?-I=j$sjNH%iQV zs8>Yv5levZ_~z3*+x^{gCYR+I{v zkjCTCoHWGxL-%0WEb)q@si|_P4DQoBEA{XzRPP8=>Km9qfzS*@*9;qJv&O&k!{r7Y zrh}M|(kn4g?_liZ)#LWm{kgRzL-av!(xv?DfL`jogo0`E2DI}41F8ypIA!+uDjN1h z1MLxIH}r8QGz9}*0(xa(Funcv2N>w&GSn=X<$mb)7W5wo(i`t=^eoys<}GbE)*dld zLs1_DZIS5qdx(8L14P4o$S>kR{F>01UtqhXS3e6l`VVlO7n-&kcKf~S-2r~Q_M6j) zwj23hxs_qC-yndy*Pksr9(|1v*q-8cpj$DWsg#oevvH>jWTpY0KA)#)oj-cJdd?CK zl~6jcyC>8Nlh4O9JFwJs2rvzgixXVsxi)##v;rHNsU+w<3RiyyF+~RhfqD*syfwjW zA#S7*`WPbnY}|c=dn|AJY>XH81<&gdvLScuQ}6#!xC82}Bnhx6g6&dDg{x#*5Zmlj z`vMJi^;~xS^}%9*UoK(Xk-)FGpMxNkcLniyIKT*G0wF{D14r>ZZnmV{?a}(KRR;n| z{c2SQK*49O83sYWnRpcX11B4J{(QLFO?TruIWaGX*v_4cdyi#46pD5%(=Stz73BGpdlI$RIQbz`42mm%yc^f@+HIwc}o&2$InE@+n;%*v9p8+A#! z=mNP<$v?sFR|X#3>Y&y4&Qn~NxBiUG1S)jN@^`A?2xDoA_AVC=JWPPTTGpR9J}!NO z{yzx!9|V`&P;Utd0t93O3IxOp1eA)4j|h{BZvsY?I&cMrnz{>)fCA8Jl^h@TqvY|6 zD_B&eb4309YcbUFpelo|Mz{L%LH`9f2N;?t=ndE#%`i(P;ti-G&h_~s{Wgn}`>u9} zUk-?;-zUV3iLqV5->yRsPfRG?mJ!X?+;zx7`X*mtPlA9`2w%%+Ph6W=lI9>DVnl&& z*T~j$bBDb%5OhxrXC44Y^G)j$x5#MyrLGUp84@b?ts!<*HWdqpjfIMSpfa3Rfn|ey zD~3kJ8Aj3{x896>$Dkws#^gB`SF^OkL_2li7T|jk(^7mBlA;96I*+~lb$lDu5fTa4 z{`=VwnaO(bth3r_iFZYDq?lN$t%@X82$*V;*|=J-wS7>5w-qoBf&p8kWH1ZDn#A`^ zj@aZvyXRQ|2+ZGIwXwRE9d&iy%%NC%re9GQ z>&gCOn!AXqL7AHR$E9c^#IIZna$FzAsZtl=GC)mWlz2mhvq~(JFZPKM2Pj3h%H>rk z)v?|GOJRl^Bx*<{lyu)F9p^80!n;mo{D1vN(4e4z{`06*1mt0!{lND?JRl(MRAdt{ zy3~DpaFqX#2j3Z6M#zq zT|~xU?$5>o?K9g2L-!y2USc8rqnRO*-Qf3`K9nzI{#=kN&7L$~_jPk?uBus%2_ZDE zbG_!=;e5`z&wfX;`+k084=aoIoiHy4B$y{3stDOck1$)v$~B9j3OllFt&?2CPt3<< zNg>jV@o}=EY?4%JrA{uDGZ{v8aToI{S?MSlRd)w+AC;+z(Tm-avs&-5MWt-bS4Bro zlqJQNl5B3Y`~JeaXz#V7Bf)SaN{0|rehb*b9k}%A_gBEgTwz*`+L|RN{Tq8O)Q-yA zof?1gVwI>AYbhADT%!^#5V5>jS~A}gzat_Lh1<2rBwA5Y2V3zbi(ZsfG}>hdbxzkn zGumP>Y%K24h?*>az`VGCdfieCKo3yv4K(ULh?360!x3Wr9U~HYgd85*wfr~Z7J)uMU@6Ib=Zo}A>BtUd=OR2TMab`O z=;omr3+#Bfjv>qCp#G#w#}WqIVMbShHX47;t~!jfbK~l`}XO# z%qimS+0yJh3>4qb=LPjBB6jmW4*naoSdV+m{VWoLayMlZrKL)X6q~pTWV@S6`HHc( zkU&c18gZWXa*->1F~OvH-k)H=fal>abq*#Mc_ZW60@2XUV&lRD^TjQe3|ky{_UM5i zQEg!Y%hDJ}>OwiOd)SO_KvY1~I0}_9`7p0D|5RljYf$rr+*l{`ANRkq=L#S3o9!5A zX}Bq=8YMY0JlhPz%njRD=TZpqw+1Si>WZRE@tSZ>0}}6Wll|Y=gjGn$ff!>uvg78k zcQB!EZv*}Qf8^E6x<`ezEj&4SC2|c_m<3By=Smgp(yD?{E#Yoo0K#(Ista6*HWU^x z@Uy>6!zm1LQ7lA-&u`5wtq(R^sv0eZVw~qqGV7O1P}d8_OB$AX=4}m@HRCdpharp; z4U4Eq9JLa~5_nRvmnqp3air;w<7>xE6>Thn@Vrw7Qu-e<&1rlyCnI_`6Ev&m=wji< zsf-HK(rL!03i#Bi03}TRT$wXfI?Zt^vNg-&lP(ha@Jj*p=_D%+-qq>V=XpIKB}bMH zJW@hUXkYu{XXxNtqOe$awXhosRcfoxfUzm@ld8`C`VcUCu6~^4XX#xNuKY zIoU8S+YKWW^D{t*X8^Pql)L{w2I%?PoXbeDv(|`DBXPptqJlddGWvz=v|23ODYVV@O_dn<6HF|0Meq@2 zYa?HZOiNt(!50LBsGHlX156#=5E{~);SZ2es4;T$(-5R3q&DYJ-=~-kWBSa@UZBj&2jy^zWGx6!JOTZ1=dP<}NPI+VY)D-(zY*=Nb zLDVhs{|{O37+hJuwR;C0+qP|WY^!72wzFc}wr$(#*d5ze$H|*}@BKXI?DJO54{OdZ zt5&Ul)g0GvjB#D&U5lpLhFEG^NbAvBLwTv(*sa9GgU^b9A*F!hEP;DWI@rZnMQQ!N zm~>E+l=y`$0v{Kb`%Sd=EJf)z(hrhEiD`B*2=FBWvy3$#0Ikr4y0Q*yF zMZLEzPN#NVw-NchD^jIXmYtPNS*5I`M@?JxhnBc74ce?*JL-t5>YDlfWCjtcUf)49-RXjai;$D^aDo4Ae)}1#lR_V+cU) zb5K}F@u7a-&bSvC@#44Lt3owG%-WjcYDCvOD}QO4F4-bFP6}p4M{UBDGk6u?(eKiz zk)Sw%v$TN8Icc|*`@*e(o=0T-_lhi)Md+%c zk*lzlM$Ivc1Y`2E9Ms@^IDIpmKm_Ri_dq-+Ks=-%FS3_)V3Wt)%R3)skwIFZS|?*~ z_3w9)G_iERSM?z7df*#ocDn~z1(t`+&Qw>;46sIO7~Q>$QK53&sWHaUt`_t2U-jFHpG z{f8*~aI=W1Ip>KvD%|@H5?4^cTbx@6!sCfb5FXlhy4}`m(`~2yhb4%N?&f{xPk+;G znAfsDm|a5<0@K}6Hp9nd9jo3e&0EU=hu0FYZgZhjcbsWOG6?$m!Y(-Qi}en#ZIcgw zb6vbr2Xk?kxNB~W+jFkHYtv!7gRt$%2!Q#dafF@mu$_ZLUJixDbzK311xaSD+BK%{ z8In?Y5ZTyhg7T=V5~%bXNJ@#QjBu&R313Uc_(E~2G-0|wZb3Cu0+UkOHc6J`l1*z{vZo$(Zi&s!?;p;}T6T1uA zk3?SSFN2x$3pPwx4Yf~%6N(3=8#SS?g51+yn~jH-$9s>O)mW30YPHkjR3|TFSp|`6 zq%WQRI3_+_jt?=rjD&xQ3B(`JKtTT~5gTl=;viCy@DNb{r6E9FO>9#cci{0-drc9* zQr$g};8U&t(H3-YpojqQ8%Q^-oUz#hp-VXBDi^q8EJu{9Ska+6mCEa;8RaKsaV(4o%H4t(9%!(ly0N%s&&?z0kh64^ zlsav~WavQjihS5Me%`!lBQQ0T4=Y%(l`Hj5JKXgp2cy3qvLV4eOBS3pn;S0MPqcWg zrs-@MD%Z_Rty$9FxS5^hKpn1V+GB=D&9?0S~GL8YrHbx5&t zm!69_Idw=XXU@+oR{Dw38UdqK870<5g#ID-jsn+3EKw-*l^*L|2y>BRC{v>6aA74f z)A}DBAp5NY&hb2z#yKcRdB|$n&c=c(tgOdMbh`1M+wkfIe0_RdcYSTU z0R%;~PTZpKe>DUqWX)6rj?2{Njlc98vjfN|U;|F1(eKQpnG8AlS1c5HS2$jgZ|Qd#Js&fA3|u09TGGQEDG>&Yif-`j#HJlVmW^eYMEroKu*RG{7e8r! zmI!VnB7-$CUObs6fwPK)lilk;LU0*V#Vm;nte1@&Rb|eV>F$SD>Bpkf`PsO%jjv^1 z=XqJgPfU+yjbcAa7?wMG@=PA|cY-vRB~lmNpiU(L{FnS4$sC52fErai)X23X9B6%VXdIU(r=tU{rB}BoUcW& z!55$E7zGb*M}~jeeYxlrh?LWej$IWx2Z70EUnp#8Ntrs4g}We%mEGG61CaLAzZ+Cg zVfKE5f2tjdiEUx@ya+s)ne*beDL`0R5N<-VPOoRNbh1C};1fb{(g~~9Z8SeA%^qP5 z)6rsFJt>XFP85#vz6ZzqU^SeKcB}<=MY-xx~SekecE`zs}W2TG}XhMuEl|C zW@S}XB!as-`43>zQVYd>*<7mu?cTOCNQ2X0nHH^ua-CKzgP8(@)q;N1$f7~)FuqCs z-VisLrkFCL8jUCf+^QeFe=XB|0gs!>7I~l;S2*J5$CGZheaXJ}GJN#a| zK$G>dy))8y$_WpaeX-$Q=~KYdYx9?ksWT?Bc%!C~0Xp5Lq4wMFOr6{)zQlWNFM69V z8c%fsd!3h>A_r(tl&sK>g@5l!d?QG=l!K7y(6J#yNUZZ z{^oIWKed<7XItM<>LSjVbWL#Hm~?G$YWtt*4Pc*cxB7ayAGownZ_f`gJU?1Rzc$BX zb-ztKL+99cZn6a)^UoLYq3LE{X*w<#UT}S(blvl>)!grKB+eEeS=Iz}N>XH>53O

XU1GVGjp3fOb6&V2TB37sF$GVW1s^5m$!bX#^^&R@37hn!UU+0)=7lG=gCD72 zbHL(mI8^2l@EHY5`BtdN!TiQ3H7!Azbg`EM9|a5RxWNus9KpE({O`h@OpC1o`3j>T z-`;;9I-wXAjZ^X9*+<4iXnBXCa4yQfoR@Q!ee@aXcx(!lFUb|JfM5cx7BpUGM9hYSHk>QkQ#s!aCm zCM1?69Y@FaCCl-=j#n3iZG(@}lxx03i)t=qwJQzSwgCAU$-!cWTxW;5@3Ptc zl6)Ga49$NO*gL93X2;32rd7B2be5Qx$zCv3xHq2fdg*lNT*R5+^Qj@q&a@{11sQhPIC4YYfYw9VRfP9z)qAH0cl$jA<_7CA)f-x^&9CY z?7VOhD*c1>b0C;6gR;=#8TLGqV$#PjBPO&;!#Q}&a*l68DwDiIk18*5{Q84Z6`oRU zWXv1VW<@9vzjH&!fB#mA1oHsq!O$#DM;qx**Xf;aZ!@McggkdWuBZ2K%&Tr43eXV{zPjwxpmT)tWxNKJ=SP zcqZD^1wj)(??EFe{Fy8-fl&Ov)L}0g}CKnLM-0^#SJ&pE$6=`J46d zx-OUbF`12Tt(fTGs-<&yYg2){>pjK$e=iQ;A1ivz;HqpB14d}u`r|AT{MFGMZ(}<6 z4@gqo%P-v8To$Fz&WS|^<*6n#cV^d&~J%+;MIXVyLxFFxG@89DSTi1N7p zUv;}q#y7tQ`R{|V4!aLcN(>7GL`3oJgOcjt4n+X?pVJ}o9Zzp;;z%lL>+EP@;`Ej=o7EfDscrZ0vIL3%~(` zfrG9jNmigGBetJAOH9(c39v&zW2ByW+!PkY@<@Tezhka&J*f^h!eYY<3dE;2U?p0Y z78A#n33K9Q^;aBks3DW?RJFT+u{|*y3LthDQ|}Qp5m7~vQkG@RNab*$7%D7R&vlI0 zC>8>FOAlhAjt<^y$k3*uK+Y$^>cNxwoa-?sZ1!M5u#|FR6yp_$@Oj2>5jgAoMQ4}x4h!uohH|`87!Te3J^tiGzc_dI}KF86Y8>g^r4^`zq$FXP^BBbY-M@|$MV>b?x__z5ROSe zF?SqcLF|(=N2}KDWsV}TAOtB&ioFwzSHMVehivV+e~0l4Q!`K(TZm7*!7FQ@Sx79A z*5gc4l-No*KB;PH>~4TX^2US~XPybn zj{h2T4DXRJOPW1(CjV~#Gzu81hd)l-B6U++T@GB#XPK(4pR+I!DiwvU0=EpL8?I2XX>$8Pi!8x%92m z%Ut}_6PT991JV)1tJ4#pA?PZY60)N!BzkCN!VhA%B+aH3;=AVLA~?k~kQ^fDr7gu& zkn6>i5{B?;<6)zRoJUyfR^ye^9ldbdGh|Q`0kY9_A&yE0;d$1uHm`Q^>020?%+EP- z`|C+{Rk7nz_ftomR5Q1{;zqBwmKQyl&*Owqxu3I~DL_W4vA5@XNlKclS+}kIGw-tcoLEhFN=ES8%Igx?L-0v# z05a@i8B~GSQUxq%$DOWIZvXX#);$=R&{cr_3(KDciZTJzPblZxyY%|_o~Sf?h)*<# zm}W3m&9rky4=4m5Y51d>*->Zf5K$L?`y~ax>CYvokZcUzsrZfbJ6~BpU_*rJ)2iVA ziepV79QyTRcfD(sxdi6g74R<}w=oK)EF*W}rpTh_A(4m|VY`pC}Z+#_t zeKDjlhC<1_ix<4PprlcIn}RXiF_X_BoQlsf&ZX$?D~+~w*9$$2MARW*&j!EWWFpux zNEd>Jds?8m<^7m2poqC1kIP^k@f4(x%9$Io6&+S)VkR7YdwGJMB;1^{hh!1g-n|Z~ zYm>+NB|NT-J5vns8CP(pah(Z~gRZE+y^ab(hQbop)6-)`Lzoz)K}t6zqziubD8tO$ z!oE|&Dp~s_GX#>nPcS{T#sXiuh9|Cc8B>_+TFZ2$6zx^*suyj6JL;;Q;nzA$x|cn+ z-4=U>{j@Oo_;zxmn9&^Cs*mDuc!2naQs4Jzw6kd6f_(}wml6cThS@?NO7}Tuq-eB2 z$;QSWJC79YHeYpA!a60p@a_`*PA8j-UtAbH8e9kjQ|N4sGV0D=Ty9jgpAMPvN158V z`M@Yt5iL`UW!3p-z|tHKd*Irt%vAo*Zlyt@&mok7CW;(n;M4OW)xmLW*+4#?R`X1^ zEhVJX`qe%F9h-v^T-FKyG`#gd^Tdz68bKJO`MK7#t@BxS>EF;(NwN;sU1M9%5~Cxd z3s3^LBU55V`3|kshal3@f_CE%*y`XKv&H~?Qr!Jbc^U!lCs20oQOyf?Sp?Nzv2(uZ zb3Gte1X^|B5Dsu2(6)IX@em{pj#DoA7o1j~DVkLP)ihP6Kd_a@m~5+jrY;o87o|(~ z_1D0jn%?oY1R(_uI%mr=;TFIKnY$rMDaZ;<$6~?^Eqn_o_)dgVI z&BOVwgZYM=cL_5pei~4e-nZO$Y6xe-@aQHE6(l|H^ ztbZHgNT2zM5N)yMhTi2x6?Mp{5u7rhhV`+FEKjR!Ij0a+Pa8{DSwT%}M zYNhx9~WE@Gl@H?rSK(!z@ z8^Qx0a`phawqE#+Ymldvz_(1?cK#W(r&iz>G_{Rw-~%-s2LMLRapu^hCp*<(_jYFL z`x|Y%4D)zzpMOAB^BxjV?@_?}s9)!7f8I9yccx-(C()M%P_Ki;7y$U7_s5+c_)9Io z?_Evs(<{WP+RHVNM>x&h_UPlh!`Ra?*_W{RUGHf~KrB$#B-jgt-&;yx zza@?WB5>D+=u7}c9}PU%ix3r9Q1~M0bGayGVY?956b3ck_*V(Z>phvD#_zp4lCVPd7YD$`&QSEcDJ3Uyio{pZ&HQqq-RcKIqPp?U)|y&a|+Q zFU8n3$jfNpJBq+3b6oF0{JWKQd@uBvl}>yw_}KaPXW$i`{W!hU)c5G`UvMqpKO^T4 zy8}l*whgio4G#|Ls*l>2$@ghZOzPkH5@+8Fx{(WgB@g=aox{iw@Yaai{sj=U^*e0+ zgU652r-kR&y6TSsEWWn@&y)OzyBoRBhd!(q zyR8!!mVMp76R2w)?3M%6ZH9>G(-pB7V(9ui$ItJXTkxGveDA4~=u;Qy`a6wK_&XXg z^F_<@N#ZgU~_z;;~2I!nAG#)dRjUz!>`e+et!$o;d{H zwFp0L5WnEV0N)Rf1$g!e4qyQ(n5(tSjoYTCU-X^>e|d$T`wVM-^W5@F%3~d&69d)I zSZ&D5*FGU!6`IXIM6!14b3DWkE2LYTXn4wT46*ky^qBH&93T{(0+L;14|`=6&d)RA z8n=s1r(9$|7o2akux`0E_O{K2u1&(f(vZHmq~8t1-dAXEw^{aL=O3<_Zh?g-$Ea)c zg~W8@O!3EXSYOl+wE9q>AjU|TGYFxT$s$-~X$v$8LN!Gg@TgK0Iw=)X)ulEIa$kp- ze@fDp)~QQs4UH!u0xC~X>%paWm4E706-N%AItQzZa}Q%V7plv54r@5Ka%SSA9-FUb zSDDSe=lo^7Z!k3cBwL*DHvY0rHcj|APdxY@dNW3AOBrkelBK%+!T` zmn)hrZxzo$tLd^GMjWynvTg~)v*pgeH%i@By&C%ua<53A09*Gyz1Q5^=ibLzD_dT- zWI)aC;({)mnuV72Wx6O)Q9~%2Rpgj>vjMjm^mLffa6yj>gxHpIq)aIYqW*5Ro&we3 zWu9dvjeuHonFC?Uv`nxbWnwhi^dVTZiF+nd!A)Zk%|{X1s^JCp4ph`N3uqo$|LLQa z9s#S-ksMiQ0BUdE*D!R+-=-EjDAvDCe_ymnExJM6-0n-3|B6Klgu>7X*;%QzerH4p z3NE-pJG(YFxl&QWW8ThMI4tZ2Eo1F_TcOI}s2XMDn6Ku`b)Nnyik3Rc>R@_ zkOrAkFB5}P{8eoMHHvvd9!MrQ$LqDHDI};%%7c331qi{GQBYDM#ooY}eNZrrOG#_e zr9(#$cL96Jz`_B0OspSAGUf8}QAeOyrbbLw>BirPdI1|720<`2Xu;uXD+aRV$_mXq zxKRab5ASC@ri*&AVn-?OlNXk}nhOabu@t&TVC2AcgMerzQi`#ueAk>WLZ~RYMNqp+s+gP8~{p``IkgMysi>g%{u!*MirEX>YNW_ z79@O2PzqBreG@{`Pf)fP;bC=udrOJflhDNm;@rZj%A#*2E`b8uQPg%O}d zVF3Bg$=gvZ`x+2*#7IlFcip-i%(Is#NVQKj9^K~%JVF4aYau~W8jBp#u@OQb>O8W4 z8NMM!?Sq+>g-RwbrieSW(4Pr0lKs-*)$Nei<}{5^6Znj7xLh;2oD zC%g-1>LDf)V5h7-RcKPJ@qrd(!WiuST)>rn;|r6nFE5jCn|gJqy?V%bp|viOEEyY% zX0dAmulk{D35)7}ol-t^V%p9~*jB(_ZS{i6#bS(4qb`ZGQn4gkOF z6^eTp^4U#Y3BrR2+M;UAsZWYbN=@3H`wb%>gPXrNk2@mUuXCe@uQ$@mNNoykmd#Za zi*;5UZTEm?i;O7CZ;rr6Pdv znRQS7^un)W7TN-mzn~z)x%=P>DuCkwtmUj~q=Y9r1XrU<*cmRa@gp30M?twe9tsCq z3u^4gojj~#Y3;ke^W<+}2r-!#6Fg*^!y9!A!Pny~)1{>QZ#)rTg(RK>fdmp|IQ+&| zc*^^DYxzO-R2MfpXz%Kdx`!>bi5LCy#dSFRiLv5oJz>qKU)mL%{(AQ8^nkZT#T_-% z@@~1|j}pDRIL@4jNd;DP`0)=0{Tw8n$Nn$}`+NP84IIZCuYim~PoDn7q~aI%LCNiI#*TJWAVy!1?bI+Y()x#8yXttf|73G=F;k_$G{j}R= z(XX>Zw0P!dN&ytBCP2D{odG=uCd*RBT2=Z%YL&$Ba{^nsk@vVI>PTwUsP^4T>1H{Z z*dEM@T%xl@->H&Th&-4@u2ds<(KuBXnU#S1d0o&7GF^1m9u1D@!ea#kW0~8pl9gG; zb&+DcY(rYM7AkO36Nz#r>57yjSQ=Nv6=rmbtTw(qO$t98LV&F>wwmc~(8}SD5U7nX zS@auSn&nD*!X4?onBo~MN9`YsCk@h5$6s_K1HcvPYs-31T#b`pTYD@79?4wqCW~Ry zv#?Hc7strq23&iS7yeN@wL%DkP-_d3)hWD(VhUV#OfA_i>b@ND+zmu-KjTNkHj?2y zQc*kzayu8szyXzCQ%RKysyTmrfY)IDP}nakiXs?uGA~pBa}XP`Bp=K42@k=^5*EfH zm&%hC$|GXpRWfdeb4zaAKqR~nl!LJbQrbYxqG? zFiP%7pzi=v+%V@tEc7+2u0<+YJatTVZPV>s;4_%DDFU*l-{R|cbN90DRrdJU{k!yt zuJ$$Vt{g!0C~i)E+q6RUW+zT8Zu3tHxU-cZpy8_YqAYX67&}Nd}w5pK1~`iO*5E zy4x|)Isi!rgO0sv!+c^p`IH{E5q6l#o%E|A*XuqqZ~AcY#OHwhHlh?$%8Yo`A(-#@ zuonb4qhw0ml$m`vJ}l19m2oE_m$}pg&i3ZDPQLJ3n`-)>CQ*)4{R@tScJ1D{cChC9L+9BezJ%i^F;<>uH$aI5j)<0?bZ z!Q)>8M*r7*(em8x%zLWf02sypX>7zhBBB9Mv!Py7bPuGTF?{{Z1cV^-eSrvqIbEqmlLe>~x*MHbkF!=A-_D<6jerp9 zC+g0n0wV=pL-vOaNI?eUjdp`ZdhCrET|XqnZc z@_66q`2Egcfo&u0x_7*em9=v!$EF$nk^@v}u=?e<&DoOvHf}~YI@qI!eIn5cF=#mT-n7

MOkMt}K^ivZW;}dMV=y{&_T~G^j#pnJ7`CgZ73fAxXEOPy&uq-;9ErJ) zx5wvkO2F;XQK2Y%KD~5j1FJ@ka-hhcZUW0d6yQxkbCnuJrVB6U^bdXompv8R=qAMH(dbF3Hb-u-E!Z(TMe}O&RMbx%Z9`#}5Fj8MP#_>aAfOZ+JVcljykB5MDSekvC@I_E z2*?1fX34R^-;}(+WAhhO=^Rm*2p2*u_bSrqs&p$a?)9I6vw@+B0$+i>QH?TH!e4>P zVqKrk({3`kcy6n=e#!yy_WA^yF*CL*_}R7T;fe{R*)pQqn!64-NMGkE>`35q3E^oO z?}%#?OVaGcK@2JIZyVcsu5WR)2Y~K~Vb1~JXufEDViy>#Kh^c&xq?H)zBI%xODALC zurN{3_EZK_%P?(_Zp2WjxI#&KV^E6&pfPlR1zcyA^vcs;<>*>CL48tnBMjX6h+e@x1ujFW+ z`3acGvZvKk?JRQeC=2^2qIptKN!5W3L{^^=MBd$^{**FjIxs(Mj2D3 zI`3szp_8kG2Sr8`%EthWRwHfC{0@N3)zr+@$XJpI+-OuyC~Tmr5kXurPR$3Nx|}b1 z_wH$miSAo)M%pEXiJt5+^Xz$K74qcdF}I?P&`;%Rki*(gE|r>amp*EIvv49dJs~kRs5*^#!5ehS$Kv5$qp~Slu=~zFpBfeEClmE#dL4|?>`e&(>`R8Js ze#`d&Tp%Ex6r^8ZbSb;`;K=_5!Tig&!tCE9_!$@i_a73BSNabLMnnRun*m&2QMD8uOkiH)dd0QH^^|#+_4dQ=>*;|bv^2_h-24w9-aKhvMaU*$sFN>}n!Bkd*Uebno}{3xCOba-nETPn(GDh|%7B%Ps_2Jk zbEcd$6V_~q9hJ8`HQvPeU!oGs#UPYF8s(?~h<_TTCG$M-+QI{nd0Y#BMJY<^U@2Z_ z(u=Z*M!5{2%<39yMp^WSj>bM1Qk<#h7*g|Yf(IO!SNMSJ@OC#ww2=x8}i;3o2pQNWs z2X-)9=V77ALcd2s*7wa=VaLK89~IChw-wpFO4G+))`$n%ImpPcY;NVvF<^qyZR21O z7qL+QbdL&IH;+s*Cx|zvi!*aDQ2gKaf_fMct8o__?-g3C%RTyT<_CjvCuJn1rAm_& zySNHutDDN7WfN~9f#mWP;#}>eLRa`A{0Z}1gCIbk=RTo2C$o#Zu}O8lXh?gJNkP2% z!Uk))EjBzyR9~Q|wlKbBNwgz%ft=VKY`Z_PI8JyakdQaCc_|0-R9+)6hhpMp-P6jqUd6rCY)2B#2eg1?-v$9 z#Sf$a^wBNZF>}~kn2^`kzFt2AdG*rHVPS0xPcA-*93vGL!IG5O62+R-iXaqAxSMBy zupE!-JU5~Zg#`@!454Wlg%J+2g{bh^jk%@u-g;9-y~RMZ^W3kD+NENY)%>yIy2Y+J zTf-&I*z}}92$KY(LMjqRtpu@n-W04QN{$3QPfg8;d|(@8rJZ-un!58sChG z@UHcE&B|H27`QPiqJM1~$#R`{ zWm@G~ZWl=Lfu#d^o}q9VyF<6p8K+RpwXaWN289t4Zmnm#A6%MJIgsY&XFn?JNiYdQG`c~ZX}(oH0B$PC4+4%9u`@Z9Sp^DSQN_+WZi1+_cP{ncsg-pEiN6!=bg5A3cS*Xu!2=Cmk6^d(Fpz{DwD|?j=cY#mhrxmW&>6F%K z^_oX9r)nO??%&Gg7OfdwK}j?K+f@bq+Zof-gT}VLBTbGMUiBAVV~Der4H&s94@z53 z4|q2jD~8{PZ6VCThh8nh2lQB_-B)@25XwIpo9xSza^K@ZvY8Wq4mmKI2lg@~pol_Y zge4;H4O{bP4Z#}@HX*VFitfO z*b`G5Y8ImMvj-`Yq@!*G@dR)^2CAsaxeOIKYYq9-6UUDf=HFtI(a&e4R%7B!qOP~D zt3<;eVPK*uf)6QM8~ajZSmMa{KO-1MUf*2qVd&@v(~xElzJvVvX*FS1`BE{TL$d># zV(k5eT;OFG0!yt5RyBJL5HN^5)LZiT2p_-Rk3;YOYIncGl(3vRG9LMreew$_Tj%JO zU8iP3+C{N*a^Y9n=7E70P5S1E`KoyuJ*#X)xafGhO|oe6!8-_T1|Hp2F}P7nSFyDJ z319S%nqm*D4V$bqh`L3ddB=jOjuDo+Hqu&@_CRh54|X##asRU-U_jabC{y4LlMZen zMp4?}5t9yjf)c-=N#NuBVy}VLo~1DDTKZn{Z$rQ(0;?W{RynLr)vTE%OGg^Z4acUZ z3}A0ky|DYH$?3$d<0d?>ds(Vv(z3n0A+v;)^sr&G_P`PswoZq2b6exbdnr?tI_P8o zE&K#_!GY1Roxf~1;4*JjKr<}))C$H8N6QeLSviMnO?m=-FrcS$Vz^ag9mu{MrUxFl zd9`nn*@3=V8;lxg6Y>*o8>xP2yh=gcAXA90`q)(itZ@9rb>Vk+`+bn`Lf{hnS7o6DK6yqcQWodMx6Lf=Za935VMZfs5;RV@A4x}!v$M-+j0Jk=&((gN;;nc z0{U$#H4-!@aHbAW!FPUuB2@;%|^0MA3RpLdEZ z<%Q^Kq7f@_md1_I3j`zbGaS?q{5U<+oInKVes@5;$3VQKATP2PHQ*CRolDyvr4fPJ zpxVbHZ?*5Y5i~J$z?Zck?)nhxW_a$^7=ARs?>fL8&7f}YP1juz9o67hMAuyi9o3Lm ze9;|00eVnZNI*H1flre_{F+c#Yu6tOq#euhBX7B&SCL=CekWEzz8+-h_$_i2&F&#p zvlv4s5qtNM_F-n>le5m_vsAcuZ6vOsf;Tufkc3C$79*x z&Yym!Td=RCe=$1-AO)s6rECU|O50Yvmm4>i01mIk;GO0|DegE^ie!-VwFMpU5a(-c zUR%FD{LJ<6N*v6^U1G0zG;hwhcCSna?e;^rCc**c6DHwyCWCek4!PMB7FRX-h!!Ln z)#_K6zNbjae*(!yhT~O+U6nzlXF-ySMP-CbejW2Sr7YF^)Odul*MqY5h*_la$+WKs z0#=6+<^^2?qiYN9NqNM~{u^aBr397HmJ7;C(;+&KEp6BF0{k3=n9$$FZ+f`%s9K5nbzG@_a+Koa zg)FNea)tDz+Z)TougCErW|toSFEjB23OyDe5yW zvQsgH0GpY$n0hEIoJpC9oA@w_Q_Ybv8eG_N*mUIQoj2CVGna6i+IR3FfVuf9@S~Q) zQgR28u1LtTkj46aa*xUd{s_wvpdw&}f7n;>&c=69R?oGv-1F2ql3@wgr3g$SpaJ4})w^~)i{GHr z)Ro($Sb0j$M4X)3BvmrzrWeY8i_#hcqg5Cu)P#rpCHIbm(ECxWP~a;)(mfyQBF9jw zOwZxMN@S+}-#$S0+XtNCc`A>5{%0Sn%r5OMsmZqukih%40YE@N7IqAVzZ~ss8UD*Q z60d_Hr&zLp!UH%rYoZ*C5=QE3g{5HNrB6kBnd4!n zrRV5$=g4dlkj;M^%m+4|yw31G{DbnPb(rdyFAftc{K)DSor7ha`HdGrW+ke+_ z*Hde(8B4k2H;M!iFY>TpB>8jFJDOJDsB{+>GTS*0gJ6#(rfoNFIc-X?$asq=P9gq? z8y-yIN->048w%O$%%qhBHT)Uu4t@+C>i9|Pr>HFj99RSRXHW;;f|C53r&kQs=2h~sAa!;+ zDsAIyncIF=8qSUB(WqJUn-Z4g)}B0r7d>ea(7;|UE%F1h80A)np2WhDG$_yzSAJ^D z37G)AVwUw?y^gw|{TY>9MOKnr?(m1FaSexO{ka2Ob*aU(RHHM2RLr1u;6ceZ&YyaG z{Rii36Rh*cr8q_+K-iJtpLAX%>ve_31TUt`4jA!D`i(+MUH^Ks> zJq>RA6;zqM-w>Xv2clz|7(LGe_NQmPe%j9}wb9QmZ0#MS4G%TAaU?x7&cvqPV$`|p^}xuK8}FG&0afcuAN0n?4RSK`B1{Qs$;_gfTNi+#^6B`S z;nGIpg77jDY0SgGxNLStvrn^k!vIvKNPL9oE#CkR6?}I7F+!?Y31TF80vP#7v0(D| z|3dk+BlX^1Z^xYR*)*2373pH({&5Z^piy=K;B#t<+2NeJhf#&K4jNM?^IrAfqM#`r z?sQEKT+_=dY9ir0l}UdA8z8h1vxNi;>2>6K_i!4Oux=)J2M=Hr01%mbe+HZuo0^6AMD591>XnjGqw`~q)9 zxL;uhO1u{b<3b8_2jyxe+4Y`YY_NT%k={wFRq3;yQ^$0T#okE(js-~0T`Pf)(6W<> z7}~-2>Uo;Xm#yug`V&qB@T~K7_i~?n-fo*mGN$(Eh@$nXdIp#@o4V@nyfY1QijPvYx=dL&SPQk-GXMYah9dHWBOYd86uayQhA|a$S$B2v1gLt54oU%5}Jj zrY_@E+}DlUZs&DPHfN{uBk%}{nH*hokd?yk*R+lPKvGQt+>v1YQHZ_4QXrT{zmt4X zBqN#Ut2z4SakJbyOJ_69?DwQogqsU;ab% z0UfaBm)}U=$1mT=i4Quh#2J1PVhpBQ%uaospVE|Tu2`FDHhHBZ71%Z(`3T9uVw+rd zo4Mzr(f)#b3Z)dyZy4A+vRG!@$+W6jujpikn2*U`Fh#gKj{j=$WZ+E1nc(v&KVkwP zugA_kCfq$VFTU7I{eF_XY7k+LA9c?Pc$k%(dBs|lDN$INZ`!vLB}PQrl0-}}d7aOr zKy&>@`tjQ@T!hO1ApLAe=8M2gv^a)ckHqM-5zO#$?UFDKUbF0@>)`T4uaLv?3!LA* zfhh`4DK;|Zb*VEV6hFRuLr2HPR3pGWz`qY8sywT1%eDTwwgTcmgLsDcP0$S>QE36A z?f|FOfk3PJ4Wlj?1TIdU=_(rJ=Eu7i4s!+Uv4n=^8*xNIOD&VCVot9J%(FeG^UT-O z^knl7&Y!V%*l8WZUJgZj0kuEUvEPa5@tMmT07iPI0Qz|l4EwF$=G_8e0l*laF!b;6 zI?p^U*NFBzIng@Lku>!0uz-=fs&AA}nBz7W^tJuc$E*WII|&}jvHRWjN$=fMH^iSu zJOR0WWIG9d2ze)~oKe0U4W8_}1WvO?0E6 zd&Sq4V~(L&qprYDHW<8^z?Z6!_|Bm{Oy7A`{*X-DU0&kujNtgBJpn%3y{zsv1iYNb zBLP>fJH13e-B-boR6zPp{og>JfVMv%`j>mIKjg|UkDlk@u0LKp&Q2WPK!4^866DX> z{hnyscVQFs7J>C9AUUUTiR}@j(}G$mEko@HzRhu)TQ}-Kd((ACt-GeX+b#~>&hj6i zkNOSt|0HEK`A9fxA-K)Cyi(mS_dU4TL#gjv1V8+0>z&9!{NtYC>s!PdVqX{TTVNJ+ zLV$=`I+!*-ss2UqpFlqgGV$Ua7zju{MYIo`1j^CG!q!a2&Md{g51bI7R=&Y5X{C$y z5JMd391!u69~OQup7vcDdDceqrnohTaor3&KLc_=3ctdnr4y zd8`nwAe^3ei`d)wOx_Q81T4(N8n@WN@pI>;x;{hpD~jc_$u$hgSUH=F;20kB6i_C@ z{qe~l`jTmhJ_?-1nrnQu3QlTWtil#CT6HYsY4X-rB+4?}qctn3vuYWM<=M3*1r4s$ z^6B=W-%!T;r9+(`IL>`bi5lBSEWC93l+J)zb~IHNcmVS252HCivb!aNcV?;9|IFbN z2QDaYqZUEWd>`SVtlJE}!ZyKwh_ylP6Ej<()_h-ijU&)0K!Yj(c8dskk@zX{Sgkv7AYzrv+U zk)AOxo3AC*txySqUKFQ-4w3JAdXry{q@uRY zjuyY1{(VVrY;EY|)TssSje39v*pi9guqLmOgn}j#>H*5=Csn9`0VX3F6Oy2WR+vF& z&mhA3J7N1Ia9yfiUb(bXpr&m@L#_7!#2OLaT-k`n4HEv0nAo8s z7aLyy4pYd_4LDruqc*CG9>;jbD8ULWsorz8(v@l zKD8k$(VDcFIIc{n6CbOe;%HqJnRL6F-8ro7vC)7(vAdW?m*6iEH54foS;q7f4i}1n zfc&X zC9>!VH*@OWF#WTM=>xiokOvp$s2d$zM8XQp-_@PXuH&Z)j+ncyqN?!`SYdv_jmUUn z^WG{F^H_~|)&}_LI|XU1y7@5aDl#C8EYuPRG$V5q)QlQjT=?NkFc1jT@*Yn8dliMF z>w{upWu@sq*+`U;eu+q0ra?&o7KAGK<4dCybbA|EQW9ot$|#X@zt<3B zk5@?2Wt{>iw0@n5-XLaBBsnBD?jfYY%vI_00E)Px4t|(zK!MZHVK|#5fEX=8bWhTw zhGXchSK@3HKiT-bS9si~!GF2Lj5F~#uKCQ{Mu1-B;+F&APqM1;N?Y2AY;%2T-gUG% zrp*L&4F0`>#g3_xQ;~a;tDDG^Z3FvQ#iWBydBy%)Ev_juI5^D+a%HT}p^YHW ztTr|}6Hoe%FF_X99`rH{5Jh)14EV)%5}<%5)M4}BLqRioeLbd7p%=DfWqJzF^3ay% zsU6Z6hDks%dlYU#?2|o9tKR8ljv_HH1SLv}y&Z&?&q#8MZ0)&si=l+66`+SL#4ldw zmAS_(B$hzyaVjZFY$Y6*Sg|;A+s7jLWvpU2S)6Z~8=1bckay7rc#Zrz1*8hnolZCw z_w`2ONw#uS$p)?c5O(|ie`vQdR-c~Rj>mUj%7Ps*smXFhoga0E2`8VX-OHPgZ6)Gb z!BdUPI2D)~RqA&P>yj`_oH=nO{~rI;3m9pHJ&fNVby8bh^qtRTnyRmzu`m!S7ly0= zH}$0%Eo)mAXGN7sbkWL$?Z<3NnoTLhbMfjbCjo&$}{U=G|^&Y=~)btc<{V&}gL%MToNV zWPJyVLB=`AiwL(&4l@#J^(K!&NYw`RLZiW@6gx2*j#ZZmtFSWUN!hwxke z)Wov~hsRFK~@>$T1+Fd8z{^J9!yD&0fDgb-umfZP@GXB(0C}&$c^al8z zs5HAjo@jnxn!#E%(#{&+qY!+g;ty+OMV_ufMxOuPE6yLIKa-$BvN3$8`e|&?{>u6R z7c5kpT7mE=jx~w6|Cec%(^{JuI}DIrbmaZl|3fFA;)Kff!9%6U7A?U#*Quk4VNSYZ za6FQ9+`nr?x_Vb4`E07iw?m?Pw@EL7QWWWOw%X%qeAw<*dvhNiHOB`j0I@sa*n4Ac zZKSS05n-YoS+~si^EW23X4?~4o7D0Lv^b2@tKT7LnCnS;w}5f9sre`QEIy!%4&|6& z{cZbs^DDvYiy@UU1X|`@JpauFC6(IS6rACfnS2)UM0|#EHd${^dAOysR_J~xyao|_ zCg}Y-1JRB_x&SoH(*n&c7i`>+BKm4HHl20IQ;5%GC$4-EU6A8i&2*_8aqVYT>8ykDf98#3qT*YBA>!j@byGztNooo(%Q9;yjPyrBZfwMKruseIvALEL> zG^q5yD%2*8`^F)PXc=NGE6&{hi?h7!0jn!AlX={o%Kb#211NnB6xqnYCufCf{iE2j z0sOqp<{56A%19}-D?I=@HV0++%;TR^2-ba#<6yg0g0M()v(2fSXEW^5V=$A6vJTcA zBb(0>!$ZUK&;mC@lVZks4$YMZAkxx;cBA*$8W5T@CIEa=+`SEX8UgPoPLqTE|5zC?V2!12Y3${+gy-1NRm3oNte8HPOHyktqOozsv6T@xbh=RwiSL; z7mB3wl12O4D_}kD4lOYYctBswR?K1Je2bpdZ_hdAd^bexB&{R1<7|yssTG(q6F!w; z&p%O>`QX-#gL$s~c}7|p+AMlrR287My7Y1ldvYL`_4M{c+e zu@Y>=oDO=y3$3B#U&X>1bUH(ADx+uR@gum+D^l#%#lsg@!UDOGR6GyvSO*G|zGz;Y z<-{-@lLf?TDSpsOB#w(B<*VX)k+wy(?IW&4Bc{2uaRESFmLDuI?=W~#3eXc7N1`6W zcFG1&HOTe4aNmcVJ%FyI8)5wlL} z>{cJ*r5f=2U0v|gDtcdkKm48JcgJ6}mn$HTFq+$~;fFbgk*6cFFJbZ9?vr5u7@&>` z@E6G6Z^;3@mN*JOfIHSjr~NT{Xb`|(gs8v+!xl)N|A9ael_9T24NF+ z?*)4sa>uH-5$Tr>Ka@F)R8NU_&1_42y5Uh$HYo#UV78z5v%L-Z?YG<*HOwIKLAMue zNA%&gr-X%kDMqe9UWNnSQ3O7jW4rs}-mP@vx?x7FbmO`qM$W#U1260D#pSo?0!^&FT>dC;ft9!3WLw|d;x zFMy!!?}O&Qct0_EwDEp7ulQjAxwnJbH{-b@Re8x6(BA-OJuAjpA5rZvi|@`O@FxA` z=|t}Fp%3lGZfVDbV_)-Y2kKY@zu^FNnbs3l_`4c0_*vYc6M(y$afkdBNOFV7c?}?4;qig!fz{i65md*l;(?lGzwXV0!VU^ zJ?NI1KRZj0t=}poK6U%LKe;{OPjBmAEG6~fJc?A&`znC zq9L`BpYuAv%q>Yh)qr$CUQ4}$F;vA$Q&NGPRT%aM}KB(#3 z%$b3YdSt$mRbe*sp8d#pS7&7ONwzTVZSrNCWE%f*mazZ5>CFVKCAq%=NS5m63j+w? zTYaM|W%AlAv-LmwhyFbqT3~sRzyF>a_+tS9G5y!vAf@db6zl&rA^&zA>R$FL>R4YJ znStlQWVA%Qx4GarQgy%}>;llxu^2Tb2{WYd3>GabI_$6+?S^js{rNLeJX)0ttKYuk z#;>R{S76jAVyUdr@<#Ctw305%VaOrVA@hbnJWKBE`$VbRidTK_e$FN76JYbsr~8U$ z>&*Kob9vM2h773DU0l$GQ>(zTwp0%#GI9V#tAZR8Z^r*7ot_Re3O?{bfe_nrmXs+O zQPj_^+Ebu1tkko#xE@fAF0(I8nVJFKr9zBGn>GN4Hh#w>D!5@HqV*s`TQNA#-iC_0 zY5~J5>o;}S)FogwJd`a913>N0{ThTRer#y6gJykfczn?&wde$KbGs{EdK8Ng2!W*& zva?ce{_cnp6r6X3advHNaHXO|z`U8UaG2i-T*BJ(wnCM`Q8P}@HecR#U@K&T@{?>4 zd7=6s@p_aPmj;>DC>4WORI0Rq9>%;T4W8r{5B-D-~nR0pgXdqH7QU6F%?ZjV?d;uRB1VJ=4Y{KDc zDFU+P$_&Zazg7cp4eMn*qKka8Vn_MYBQGp@IU5{IVkvZo$jE`~1_{|nq#E6EqPUuH z5-;MP4F&0ifXFg72uM=(J3CmB4S4uL7X&+wni$8WN6VKQ&^kA^#!KlZ?pvAL32A&< z(6W9 z&LC*P6^4KogaPE+$8U!*?5jX9;X_SX-Zg7-u+LteAeBCqcyymb2#Efat_1{%sVs6x zN5+T&sB_4ErT9h^)%Rvr7OEM1m?G}fLVw4_NcKtwSGIy*8&fqyej%iHA|G+JOljf9 z!>Qx7na06S&ws=<(IkM=bo6GmhA<^V1Y>R*`jeEFDsTQn*|>@|YV z3as^zWXafAw2EBg`7{n(i&@n6YLxS+>+A92(v6Qy7tXCiGSTvD;b=I|_gx|I7OmR@ z0ff_9Ag%X*r|P{rnjDpUoX>6d3A%}Xo%QdzI&J|xP?etn* z&w}S*yI2SiKDF+uotjrVVxi3^c?1O+%-MrbPz4(^A-Wou!%cH>jUM92 zI||C(@=`d^T2Ny@Z0BMfN$cD`&XK=?BSvSOkMojg4X)SB2VIS_OqG!Cz43;F7m#@N z1rSJ-;`}tR!c*D9Tg?lsr8>XfMtj$A)H`UZPB`zCFRH=$nGhqM+7;S(@}*P8>8Eec zP7ionP~28G{nIHo_))BX8_StJKB2&hjxhScV33WZ`_LQeV1H*&ypH2|?d6|d;K|#Y zkl0w`l+h}M87QE!%q?aD<+<<)MJ4KIuJEfrH0afdTe#5Z2xat{2M?3n#r}qy>L>#J}_XYo4e`3T@0>G;5G*1xEnOV?TeV=PCMMwqqGKR zxabl5gWatrlm}I+)GwB_imzSyV47e;YIqh@m0mNdBxQ;0YxEq+@>HYPF%}U~tp)&h z#Ia||v42H=#C(1P-E5{#$$lkPJeS2N8A@!$6m=^qo19Zba*k6d{kY{NuJ>Q$%36^- zZw$pVRJ}N&%oKEbN$pIkf3g#G)pk@{Hjw${y!Jnx6RJH?8@p~5EAA(8M6>MFE-6oa z4(?njYNy;b3YAU|(Bhb*C~iFXUrPb|||4?qI2M}!9;!=rnsqr1Q3i_2>BDotYZ zOKQ6lW%O+e`hDO#)=-{5W{dDD+u`oBy27KIK|7&!YsF-fv}?}u8j|lj-4#>baCERL$1r_ZbB-RpGz90T`e?^RVjeswdp3G?I@u|;t~l| zB~d1>+jvZCA47TnYITGGOPTz}aX6mT_Z}7f<{@F2DWiJ1ETKhc-zbdt<8!Nw>+{#8 z0CIQL<7GUne(U|m>s)Gdhudrstv7}i|2mm1Neg0u|NB}jg{2~?TCPaNfOjoS#K46H zv08!Jf?-yvcm}{+AVnj@#)$7#gaksAD~6_ta6m2R@_vG*7rM1o&2PhsA!4>h+O} z;AZ{)$7Q;rgU7!%82w-SiItnSc;fo-YtV5T`4(Xp#VRd}qCr>rv)P z{oC17j4=>m?Rd?ZR6vBlYw+HnAt^|IobgWJP?x<4qw9yHxSY&SXoy!I@W?#J0kie% zmY+fI^r)2>Nz{O^VLAj;s&f!r%8Qtzz~Mi&!eIG4b@kxe1oCRxXyWDMa#xz~ea zvyAd>WVqd;@o~#l64*&ugwT$ltOodrrCD-6@KT}yW%>>;(zm)V!Dp?X6#I`#ZE~#L zxi})Qux+9$k|$uGZrV1sVG?ZOxp)T@><}+GEF03SG zYk}0Ya75Ii=RfvyXWT}{)fqYAQZIVfE0PVFlOpR@QNnXBY4Bo zlBG?#s&#E;gC*M54_Sfv@WoZNvcHzvHswu^nN3FxCHk*L`ksJ>FCLyWYg0206g~>C zzbmazFVmgV<5zl@Jwb>$0KZVRxwpurky$atxqM4wjj&;7Nh>&U5+%;17F`(e#?T4` zS24&n)y+SP4drd*(oFRyWJ9F}-R=_BDk3g5wO$6@s7syuhANlW&Yh6HiVM>6s*Ld;cg_oz$awCfo5n|u8Q6ffM2q_!6_#$S(IL~~PS0j29 z;?oF+)KD(w7H&t{Y^I@Nf=Z`!_~3vbbXO7HKra_>4$F_N_7q6f4Xi~7oIyceDt6aF z7YBhj_EBu)RZGg;Nd)n|vS@wHC*GL<>JhAV84GOuu*l5Y3Ii?Q6vkrs zO&Z+e`(yJZ0`lkb;fEA;JAFuL;m=BIQ<9mfGZr3tL|tmw=xN0E$L}b65}F1ioLpF| zhWA5N=%@iw_cf@0maan^idPw{#)}B&=n)X5Ex|+)oma(es$@@?DJ&nA`E-YlEDcn! zpnjpVJM6%SwR*A|nyBDP_<*g_n3FAk^YPvN=-$CoUM(^8*FV1xZ+EM1l!?%8+8cAF z;zCR|3@GMidyVs^ z{F{p!iJlOhSZ*Rx{i4_N#q&v66|BQc`AZRfWgA78z<{oE#>I_9y(W=+Alt+wi>>D> z!Gf|BpLBR1>G@;M7?tFf3ks5 ze{G+=a+#0USiMDKmV!m0(~r8$n#h6@@k$c~G1BUYA+s*(>-P|(H#PK{5mDo5QL0G^ zyfQ+LCIxjqnS=z^Eo%sR;uuYON=YP5lrn`$sq_SZ2_94K?{Svh@2=us(M{S;QFSs- zKkVhIF*Ujp2o$?w?kp9s!$Q$9bF37je@&b=569c2hvzTUEt}9ZAjqOlWU1@DQ$Ofz zzElW35hXT=J8R2TjG~pB-))>K-v|zxJlpG>cj-ZmdrY&M`egAxhvR~9*U&<-!%eH2 z%0K7;P+fTzJkBkvDlRp{Ax|p=dipdQSdU;?M|$g#BZTkyOELFExLifdwYp8~I&ZYC z^0nHn^$dU3bwc;sl*_2kgjTq9Jj#)~#%r5ehQ4|uY*nUAdXx(fK4L^3w42vHU)Cc; z^_@%;RnF2hsV29tyuzNf4h#|)de192->D4(diQz+a{A99gcXPmnQbMf7WVb4xhAgG z#TEG+;@}Ct$3O5S2l)z&QIqG)K9{18?vG8LKw^|E)`-7o$l9t6Xe;!|>l!L^RD~2y z){)JU{luuR;p^aty&a9!_)O9Po9xXacJLSyG=zxy+5v^r&4Y{IO?l{0db1X2dGjR# zIODgfq(;6Bhx=}6ZRq%u&LgX^OjY-(;bwr?@xW5uB*e3yDNi{6LixB9Pv~Z`EiEO@ zv=bS*H8#EseZQQp!Yd9dYQD~352GiyF~rSuL7P)5HFmamYEI)Q$gN<3pn|y2t=H1p zSg?Z8w85I%0mF`fT?afYZ+S;mRf5Ci2kAjchsZ~**n(YY~psL z2ep!(ycNBA8((b9#;=7Mesa}=xYg^Pnv1Rup3+R5Mq7P{jh(c5BAg~;zw{)6+>5cC z6BjzoL$s*4LqK%i_gfzU%MlKHtfe~kX58>qJEC2-!mjFbgMLWw%bXPBAV04HD*W}^ zmA}067(}jL@DWS2}(gtdlO=JDDwCf6XU zPjZn_GP+{g%F|iY<95Z`%OJ8WT|QzR|M_();BJ8J`o`qCmWNJ=mcn+U1OrWDN2$Q_ zt9*LK$T2D@R4oGBv-1W6*R660@PO?azpi9dSIz`NpBLp)QtQCMgk)jcv%$`x%1nK( zb+=-<-QzXuWWMxi&Wp}P1rN$_zm;-m_jU|o0DXt82nWX02jK>#VqOJ_xApGk2usuR z*b3&@=I9?DHE6lL*bDZ`AARhu<1Y7$c5FQ|h7;uK12H%|NqFc<+E1x~5poB(_}^n& zB+SuTt$mtck2abc#u>j2#R!L>Ykd1)53#379pfGQ8b@U97HkFrX!ys#5cC*^^@ATF z(77FJnDEG=&x~3OKl>htB10;v;0w_iF!n71c4+A=iW7}!8vnUkmhvcQ@wae-hYfmI zkT(2~z_FG?n8lvHaRV$JU^^ZbkfHDaJDfe&d`2xWIGZ2{4t#x%eV7Oi;$GeKIGZ82 z?NvrkAWK)~0eK|g2mmy~M;cVqzAB*I7F<*)vL1NR+(^ffRu{R4Uj*%BNo zP*vnwB`Z!6QH-k+#o4NG+a-8Ml$!-6RpdDiA19cMhS(iE2l7yWwHynX2oWK(Gq!js_1c~G|~pg$pG!w?WsXx zv2zXHfz@JZ5P$wfkHeSiJBEp{(ULs{BJKu-;|^X985;)z2d0ER*Y2~!Nx2bhBF$V#L5??44xlDrn;qfCiD zmEoiCfMK%*sN{eKr-Jm2&j(!7hqXOlD0RT?*fNQ%pS_Ahb z@cS!KKQr7tlWxcp=C(Q0&ByotVv^KN_Mx%&|1Dfppx;#1dw>A}QN>NIJqIWIcTN0% zKc#BxIpS;KzQ>yB)z!J1ExDtuHO>!!>bO@FasFDcM*F&;9b-q`7dsgBN@eP#-?tw2|n` z$ks^yc~Fq5YI;IIZcV`_=zZ_XA>c;AH5D!itSCp=l~Fsf8%z)ymNhf7d6N6l5Lk=9KX z82lP*VwW=;Xfv@&Hp)q?!l@xVGD3Kqm3ZuadaH`)Cchx}?O{Kk-&cJ)jBsHzOfbsk zUh;FO)5Xc0B3Vg*K%)WDPn9N|gf1G5)7OuL{gPyE4zd`45?X(;W52x(tiNVXqmin+PM z?qj%!9+~J|B(3-e!zoylK_spS#7^d(^@d9z&q1G!iX*eGs>Qn@XGxVoL?0wcutEB| zhVG77YkE;2BT;n*!*DSquX=lg_?Rweq7{_-(s5E3-~Qkkrm|s9yy-7#mvNK=s)7f{*G+3XY_-cVPZb7t>DuL9zn&O33-bHhY zaur?_=_t(w_h@A&=@pHdgz_lsJ1q& z>`&CBFsFe^9;vhi_)pkbkd5lrpWDn#rzaMi2q3TI(e)c_o)Bz3t-HuA9cpb6baQtN zz7#kVaG{0fd?r2pOb$$m6RU>=Axj$&84eo_Z)Gm zD`oD%z2mnGnPu+{R>vC+D{D@O)h5Q@F^MZxxC;s>x&2T4$uX&V)afq&p6Oqezuut5 zWVYOriVrq*3cjl-(aOFs)dbE)Wl;V}v zP)r|l0UPqPaO#r+=3#MvPL=uEDRE7lI`10myB%u(u*ygvR2*$3aOm`_Kk? zV80r@@nANaZQ2{{eu|01caW(3%r0Ta(JwUU%~S_&p)L%8LcyirHtriciuaRx$T9l@ zZ%ujOei=516N5g6%P(+ga;>mkhku$o>`F_})h;CS?d2PmMDJ@18rD=ftRnto=2zjh zn<>Zt8c#Sc7pYrPt^3-dvup2SHAuy`eSFE)Hjjarp5NHJbj;L#y&>7xm~xFYzGt!{ z+CKlt16N=PaE2)N65ll9pX(L2f6prCz&XEf{z*IY^8GA^1KxiV8WFm8P8jJ;e&Tw-ujZu`mqB>SV}ts;ZLm$@xu3JxSVas zy%91soqNdBwM$0x0~Y0trUfe`f_6u0M#Z+ZcFoxoXg+}g_@#y+do3$Q5aFOzJ;U{* zq?xUex9n7(d^Mj|2~COX;f1$xe0>oHEEj+jf7ZVP|TEI5x+r=tr}*P zn5_HV`;W)F8=FTrRg6UPIJzA0G!r(1tVh5((ry#gI1*A#T|BM^#)5bz2pNG9vzvB) z@MXaPSTwBH`ElZJacR}4uDf1jb{LDHbZj5A^iqHOF)gUn4^^VUqGLN(Z6nIHf&qt^O6!=Nm-S;i8 zC%#NcD3P^xxaxZKx*WDnyM8T(ubv;&r7PnHf?$<*a{b!EVJorFbx+U?uoRxGybf(H zV7;JPhUrGG>w64JDf*{DpK6^$i1;rdw}swgSa#?-ydV{{LD8!MVV8P?HKeJ0^L>LR zW7h})@E&S{0Oi#{2e2nu=+CF6R5f^W7QJts?~p4TB6&P1TyD9*>8}u>~Ng(dLXAA795YF?Of4l27=6d__`Ve`$ zm$)}bI1n0uLVn*J3944_3+e`YT9os=_5jH#4Tk<0y0dNG4s2jW#`);BZh}Sbx^$)S z>vyNA^%lq}bkGe;*nt#I`m^nU{a6GPh-~ecwxdVyTk3K1BxR#3vAoL~ml1up>AIkD zO`6WRr*@cuhxBe05pLk*uj=$-&_is#(Oxb%9;_5l3*yp!;Aymrpg7%iFMtEn7aiH#qi7#&CRH z#VuENh!M2#A_ANkj3ywWVqm<;5t8|ThTz%XRqegT{b%`fvWAU&14s@UNpI5M ziDoRM_>|IcDb;(38T5OFu9H5Jp|aR5p88y{FAC184uyP5X-fVjrD0$*tMspa{+Z`( zkxa>eEmPQ+ODVo*=q#!?3|BSucL@hhyxsJo`*c;DaLMw>frSB~LaBhiA@ilb*-w6W zQs)qBvaH+ozbD!)|7)bZg>HX}KjS?v_R~qzbQWoU?@zJdB+=~mwWMe`h$Q=Sq@7S1 z>YjJ>uX+sb4{%&s=>~n}q^09c+`k{%t!S~No2Xb$F*S1M>~js^y24H;#~wHQOh9A~ zy>Ly&iJ$19Wa?HtDuK-M5P9FQl~EW=2;PI9*n6~8g^ROjmhO^jA z94b;+ig*xFDs&l==)qeKW;3IN8H(GuIY;(ZStu%YVv0tcB#RHyQ#Q1gc_yr zre<3-4xejk&bi%9ot6c=(fe`Hs$O)Ncu1D&9`$}2QtmY}cW#$iG%2qv#c^F-d{*uY`Np$`F|}%%#swUASv)2q2;*Tlq~STP6H?puInIy&J%sCwxZn#e-D^ zBiJf0jIdQdwq$YUL86txxZS=yI7v54aQzErI5?tKD!bH|MONaTWorBFXT~Viw{o<2 zd@>nZWsdKz%#K9_?Xayq3CX<4S$ck`S0d#Cfcgo%W|=*m8+UR>rd(csl$(77UI}Zg zb4kQ(RD<_)9+ng@9eUl@{B~KiiN5?^e}wxN%{9;Jq?wVcJx1le3#tWrICxV7sO?*r0um=lMkR_3RJXYd8q` z1mLec0m)w8cr^s8pOHm5&}XhOb(z%ODaW$jbUE3%Z_AQoqTl5EE6_Yzhf1cat461< z!BPJ_1i8Xs-Oj|J9bdq)m3dHI08wqxgW0%CGOlSc*X(`uXoR`x>t`;nt}M~x*~9nR zsjj!$R~&>@SO;^k3}1B#qAaMTS#2J-@)A4d)o75jYi9$t4tnNk+IE8H3EG4sz45VP zUE^|&gfgWbarcCnb2&mMp=Hy$gW1IvU-jF5O$7yaqP1yJ>WW_oNN??B0Sv^QiA!G8 z4!P*Yi(v)alyEkqUEd9QJN}BkHA(bm{H1GhE$0NuC6;Z_gFmDu5z7jU>mr{u%{Xb- zCL9=p-o{4ri~Qr*4n1Mm;2>9P=n(8>>#zA4A8OuMcyPg?hOngSrpuCLifd2W>N>Bx!7=WZ zZ4oi#L4jk5J0vMJ07MLNn#|lWM%$vsTXewRnC zuy0vIj;GOe{K|LFao&Thl{E~lCgZ^q*wI?LR1h9tHauBp0D%!ZtrM6@Z2EVi<%%zY z7}hkVxhtnXO`i0OAlP&+C=KNqNPqYQ>ZL{1N3_^)V-*ITeNuNI{h||>PZi8PXbZ%v zbr1A|{xrY*WED=Ut)a>V3#?4?-9ZT$Fuxcft{yV?`=gSlGPyPS{ktWSIWPOQd`UbA zuM>Ak(WJUKK$;$Hir;v4lT<1z*&Whwn}qW0C*rP6$}hREL~>Ot zR)rSdexq+nf^E#AuiIluS}m{^THo+adAoX?q#_whf$&SDI#8e{Za_UnriW-di34W? zUjHj!)FpI{@QQIvI6uUC52NurO`0&&VGi`&aPKQDzyi!AczwMEA;cf-nFeVY1v|zL zWCej{3;;#-gq_X>)vuU0#3|m$F25maif{4OSHh9X>-C}FeOocf(F%wx>V4tdZqmMH zis&>G;~b@8`qU0YGeH&+WVsgKVZEU40C= zcw%e*+&%Jx}R3fqJ3>^@)kRB^j71 zi1fc&?Z_7E(d2iD6)a0F4@CTFvkJ2n!JW1Em$`M;P+}f7+6-P^TNY{=6k$K~L8hNOqWWxoya3nHQJ%?Wia zt9c|K3A9tg>$I$DwA3GCmKLz{TL}t)D{=mc?*tBmgTga*Za2t#yS7v}v3t8Y89!ec znBH4q-wgF%%W*opS2c!)v$a8RiPfMp^Qa!2^cx~B3K^PW3C>|N2C{#_{lStdjgSpu@$jTe73PAa7@E5 zU%brAH*Mk?VUWwcBH1>?G~0fT`8S|bZfV8*FTYRL``~8oM@_TiXnWu7@|qn%dl{O3 zUOY~B!p<4^PidT8f*^L-ZlA+leYB6OXxhINW1^7R1;RgBrzsX>q27|8I%AFRpH^I) z$adV4AAtY8&I#ce>t6OB;1hTNiI=){4h08@<*EE5?Nk9}Ciz9v(r07O0UG>Q<=an< zU6T&0Z_qdNuOQO_!6;&HAVP3X=bzF}l~S2MQ&ZW3E*8_5Io;hcAOZshq2IJJ^l45q zW3VCfREo%@`(P&ocVsx7-<;%QzDkMt)xGlMM?vG^h(E_E|HDRh?qOm7#YTYgcpJ9E zKXA0ju}?F841B`T+~NO(qo)6Yqo{x2sQLeeqxiRx^z)WJd>uJix=%6BPm8PIw$M9- zR@(n&qnAqdga4O}44a?7|BH=)|Ar&QPdF0!HynYte`|c_^(P{z=iI^Q+2DD`DR}}jR*8?7cXL* zfegNN~b3_3x?;05cnmlU$&*5+15jgO!W^%;-{Lejb#DC1LGyI+epUgy0^8aC` z|L83kxS|hZcA2iEe1jN?sqIaP?xjMls|`#LgAe@6tS!~li$z7DXvE0aBw`3_4Vl&u z7~G(k5yvH)$?+|*DbISIgX49DVus?)LHvXGU(%lYqo4m6`2~wFxa-d(@hZKzk&r1wGv_ZMQFOx6xp(8Hf7`q;brlz!!>xazw%kX z2_)fcC90~ab>b1rwnnht5^2WJ5;{rZU*X{KS4g>Xx8iVOBv>CgO5tPkX^lg1C$rtU zhJ?0x5W+klT_QZPnuuaoIG8lh0PFlU{0q33f+*)Z2K+e5v96B~NUj-#HLejWtgHM2 zXasm>>a&f+VB-CPo&8Z|;wGec2xl2{i+LDS8)H^ZUt~)&gmR1K$6Da}#o-$XH8<7Sg?3 z_r?MuT_t+DlC)C+bxDsTHPmMu%ro>_4y-gHwf5bJk@&c>=reRNvT({={tBhf1?MWL zf@{oG@_1OcFFTCYi+CDpC)#4B4M`q(;`65Q*Xn5HRe!1xH=^#sv-{YL>62%(qBKn% zv(3FqGE$sOm%K|t$DXz5feE4PF9}h9{vM$tS9M}mW4{Eg8#gYf20s60FWbFyvzeVT zV-s2|rc)(KV85F-baYO{3@uxUa2WmF6r!+Gq!{(*RoJkeb6x!GxF6G%`x}(>P@Pvp zZ?~fXabB#mfwo?Vef+feBhE&yi_YqPZkUjTt2>)BF}uuho_#@e7@)T}1@6h5CJ-+O zTkt0Y7ZS4UDGCpMZyiN{9de4CgBDZM>?<2gEO$y6eIJBBr|G` z19QWqX!MorSI4cQ3xJi42IM?6ea&5>Rb@p?SK^J>w4#LqTt^mNDdMnZYL}z7@tswi z#r-EM7WCLyx|=9E_lEa`d9zm*-ITNOG%BNdkQ8VYC7b}Y&o+XQDN?}f#{0XT+;-XP z=}r;Pec1OM$C5{pD5fR zqWInZaPhHB)u!|=4W^qg>jMjOP z7ugVM3v@Qco$1Be5RrF(6}|dGSg^rsIl3-x=17`ZQmR8hxpg!K^bk9c^9~`b)s|xE zW4Ukcm8MOJ!nc@DD#13}M-B{XjEWl?nnxaEkNmg{PWkPW%vzt{f^VfBsiL3;&F*Up ze>WD%0ZT~+=S+{e_pRRLCcH`_W}C;nNl;W#4N%)~qRi6lUH%a-L4~P$6+Nh-8}j@^ zb$HAgvP$xx#FBf4E+4J|+q_ZGih0V0S=6U=A@upFYL{DJHf$VybMW<)VzY5~0}*!} z>gJVFS1+JHI*JZVt5gUjttd27?2lFlvcq@G!I?)}UoQj-PPn%y%`b_i=7gKR69?bC z=K(ZkOoLCsKa;#`a`Z8hj%#7%v5kDgBnBg03Z-5hMI^(h1$2V#H%dLLXgm8w18j;} zcRiQ#QHLMyY5A0a^cZm=!bz0+Ca_D|SeEe3qf!pFm_v{w82&JSu0Jf)p>>OCQLYu$ z^m>lI@$rb`*CCXmNpwKtHIa|-&s<`7X95VH&5DoR0h8TGwMcX;ax9|>H>l5M#i3he z7w+orw~V}Rn}qBQ1)ia8*GuipGpBbc#+O;##r6Z7->s;rPQ|exdhh)my|9a5151PY zq5|@Me@4ZAUK~NdgXn6=rvJE0CPV1gJd{U6b@#1s#&+9pe#8kOSM?8ml_kT5=Fj#Z2+q8R#))^uA2VaQ?mCgRC0gRwjlB9@e~(vX z`iq!t|Bp9RdP4nkswRdsUP*->Pz?M{Z4E9MH6oO7@H*+Z54y{LBKk$a$G5LEtvO?8 zNn&GCRzu1kDau8#Xt@;^;_ zIc>>moIV(A&SUTsMImi0RzHFuE;WGvgru(;wLaMcbs0wB6`IYc!CE!ueGkX9kzS7dV_%F+ie#m&ue86;j7Q)1lY9>wZId1_Vi>g zxUw;kNJmDkm*@5C>yDBAb{C5 z2xI}5FQ@R37wQVq`Z!X{4B|RH7pWl=_zTEu1~?iL$m7GBSctI-DFWR&B&L*Th+l5s zTa)@zXpmqaA;`4`v=3M$nCDb)c8`gtze|ju@iT$XcPJu?!xePH`iM+@0&S=s2VRms z+3l`x1vAv(%Amkg8#tK&(z=H|JZd%sYBm^ZHWcdAcbMq_nCVrNz*+ozgZXSh3l2@~ z*=s_(th{D8sC~#Xb7l)jvk=TUOqdbK-N(?#-y2T!3wNdT;7cdB{towaiqkXv?5+lF z2z9CT=M@c?80@Z#>KL3Ju|sF~m+$5GniQU3OCnMQ@Us@(cc=|U}O_?kF665W`F#=BI~n`{Ik zPxqAnF_+)W-v_AxhWbyXUgqBP7Y8B;NG9WFp1?nn8R~z`Lond~D2T4vA+dqPl`O?R zvR3675K%5zih$Yxh$NAK5R^DajD|i7_TZ37`?j#}(w(}WrkF}y+s5CKy37(RqLPvw z<)022-Ez&!M;&H?vc>n!Pl3$g#Tv`;QKE>2<@?9hOZVdku;s&Ee?7wOv92f)ouHgw znr9_05-mxN*z3ratzwGUYXubJMR7Bz1YZFcz)mRgla*aW$if=-6G zF)S%*<9BCR9VH#QtHyK#+9F}ku>gleK4}W69LJ4FLgsm15Q>rL_&LzZIR3loWvM}i z;@P}LQmHj7&z=(vS(4l-qR5P4^;Mf=WuA!7@LNO=+7H*lGRoPRY!QWM3as)Q&s_Pz zWu#xXR@JT)OVyUL$<0!x28e-74G0_)h=VGBEG8l2`EeAb(4G(^`4%UwFbukds`^-d zkrN==+h~v*L?E(ohmZkz0}K&nUnk|5qjTe1_ls1~6!~Tb1UUFohh}J)F~6uHnX5KR zR1JiplySWAD>DZ3Fkv0Xk6iKRl9@9g$k(OGEkD_Gs>_+5+kuT?Ai0I1>EgZ`mKBHU z-_B7)toq`LKieV^bfx-oge0G!Fe6%KMdgXF=m_BtsVh{;)U5%;vl%|tZA?59@&|3X zqw<)4aRXX?{ZkYK3425N@aO3^^O#h?k3%0AW<^`JA<%ImCsPR7e&dx!#?UorL&m}%A0EP&0GoV}$!d`4 zEERpQIg4ca3;tQD%wCu&3C3QV;J6e?vb>RHQ7X+wP=OOzGXAZqjVnDL>uiNXNIuIW z{i%~747a9*=rcSuQsWa5jiAXyVdpP;=ZTP9Ojk50v25-fzCmJ7DjE4w++@bn!G@w# zwhEzhEEIB2906Ckh#<+KI>zX9*<-Qccia3InM)~>-wi&}C}2_#?KB~+37jaBK=*At zwYjO{n{_5|ma`EW-&h1+i)dHG$m>c#7%Q7-4BX5_l<22sSVc>zWU}Ra#VEDNOZ69{ zM$St-#z3H}sQh>eRhf3?{9QRcw$m{y#3_Ai@9%Gc@r&vN#;`~6r}L%*sd~!q-`ix) zxC++|z3miqL+8i#NCO%bXN9w#;gvcT#FRB_@GQDO?zSyU9F;~WU0`VWfMejmmnb<^ zhQUCJuDvaG9y&m=7&QoljotU=jSn5;eWK}>Fe>%S2VN@ ze4WJrOS)#~@)j@*QSX&*}tu{L|+#1ucY{4H`#sL zu;K5@4rwyKld>N_+_2VjrwVK}zXS6hKYaTQF!EP^`$)+;Jl(4E!p8FOAX~|Csr52f zZdz!#(<$=#5-+cSoT?RgQbUonRn5g-yF7v6tbjj6G`yDCB-dD*skOeW=(D=~8DF@p zh%D?rZ%pXZ-3FY$HNDqnatXLn=Kpme!KzVya@8JN%SgE`OJT(M^VT`QAn!uxfnHSM~ykFQu;4~ z2G)9J-gBQk_Ho7sSy;{FV`D1Qyx*1;@CZ5XXJWy%(4cWAr?YDC3uq3RKPddxrY5Sk zb_n6nlzM4|yrc7lNq$z?=tlxJt(msLW`ZQ-lbVd=suydrRZgLLk>9SO;Y$UJ z5PkIY&Z;H0y#%=x1zGgaB13``pqQl99$9ANF`u^BZe_7F>}{Rl z#8-g5Tk$DviLn+q`&-i5y~iq(vEM$zxTV;7OGKA^mB)H(m_f58ueSdJl*o2{#aBt* zEM+BeAA%#ZwydDgq1hs^VS&=g^O^}elDdeFdiceX`O4zzqG(W~^A-lF&MtkPMGMy^k+UZzm9YC_ad%%z|gRXn&;JWn`UR*ql_>cn4YY ztoT>W$T;JCqXA}H@6pi-FsvOI<&v&RTaEeyAN3~$=Y6NjjUl3ZWUmb?F@%y_ey<_V z@_^X5atlADB*a3Ufs6d~Way{eX{!p%fKH&yVIJLIeGeJT>q6L4lWNHEn7sE zoQ5CA8|0d`zr7&asGkk+=(?2$Z^P6n0g1%@*b|m#wef(ADA0o$K(1GRWbddi6{Sip zN1v_w1*(ns^6ODTo*v^dPbRj7cuQyuTW~QhNzr9)W24`K4$%1?-49XO5NCT99Dd-% z;%^K0+kyMt-blJ$m&p00?t1ypZCYp7}#ee9{hGslXCNOYBn{9w_Sa4s9nH3?%= zf&P`E-oK3bmzgc`fR+d@CasU>0S%2QnfXsG&Al{^WcFy-fg;Ma@0ufL?lZ8>^QCMX zW;r`mc)j`)qP+94`*#p{Bmx_tb5h6trw}KuFuId;Gs z8R-iPsqETDF`eV5o= zzDJodkJ$XtOFA3ZSj@ieURd8|GgE)d_ZQcr3j*A7@DG&`sh z!H(_VPm?nnWH3At*i&JS!|z)P8s$zx(koGef^%8g-+cYr(H$PG7Ddu z0wm|?FdjF3B*D$F!OeGlh&-FdaPz&&bG=)P=#N|%mssDo$hXzUJn+Jw!p7_K;I1m z01=pXR_bly!0T$I9$}=Nz0Wgx4;?%pCk6G@MeJG`jwksps|#XB4XLLaYGVrmG}Ciu z4Mpez1=>G`vSnJb+t~m7$gnfga8O3$%33#G5O#`6!uyf;y$h8 zFnpPK`;QSgbXMAvh0jVq4=D(U*#BiNK+WFR(Z$Na^*?-`I`EztiEXX7~ zgd{ywpkNr0aw0O}H8l`s;GZOB#!eBGn0|52z^tmypgW`aE4;EvL(fLO5iFq)POh=? zTO;#J4f0D(YR&K_WHz?Q9A;mzqO-N>%2$Zz)`l#yUSHproi2$sWM1f zbTco7mh4v77t}>bH1yL(Ck=(7HcoPL_`Yo( z0jxC!dsKYb--|8zru9iIhiw$9Y_#q)U)0X^p)&Zln$o$<2J5V?{_?Kvs~kQEMu8z= zzP%xve(DVN0C5~if-=9M%&8gzys5rH7P(RK>KuZiEX6eTew@BMSJ|^Z$;xuBfr2wV zUPsmJr=lJ?z5^mz#nFt6T^4$WzgTCwe7LC|GL>|)W{vcjY)C@s^|IHCVON$#p~RebYPfNKtqGgjDaS9;kO0ZwFX+s_}m8Z zSv0L-ipKF{DyPJXu_0e1-(U980jxNB-^HT#SoZ9|;Z1#Esf>OG$RRLF!88)UMcJp< zaeS=*h&s1h9Ha=d+OJ?s=H_RZGscKYV#WezfMhT zUxc|rA~EN*xn`3JO|=uVFY}0{E|Lk+67`jCdVrW*ofM9|d`;A%Rg0cNqwE^P&~G&^ z^*dux3SnAM_^Kl21un*HCD&#;v`O#&gMkA|?ZGm?BuOd$gX~kWdEEKgDJ$wQx+NEV zP4qcDS<5phMg3GNJwp2P=ab@bG>wZn##98SJmX_$>DAox$w^^u=Qx)$eSZ0$!8X`~ z{6GO$mj)Nw#`vIFWyNBKh0Qni#*}p3>3}?Xs~G(VWUM_f{Xyd|xwHMtG7agUE35%X zn(Jg}1S$}9I=|$J<>v2C8N{#;>Zv^jXhF&MSr(Fun;P;fP?J9yV|1?X%-D}dy{(?M zoQkIWP{771vvBj_>zVjjiG0?^Z*}JyFQA>Ya%K|J34RbIvZ;Akm%E{f@duL~`LxMf zU;~L={~r^(K_t2i0eVFoep(lU1k`!;F-13uQ_E8O(txv?a*U;2Z|BeHs_*K}KkZWQ ziOT7ueL`9bd4HGx`E6+^(j+tN37Xx9yR+DiQ+BzubU3JN?jrWmsWoVfqam$ap9UnD z=q|}IQr7d1@9+8Ux5DCF1zjH+ktlE>ath%nQ%Svu=#SzYSoV&FRsWWiEsRYmQyra@ zN={&gCr^5veL4AwDL0CLp)$xlCO633Mo@~bQMwybw2;ePn?(ADf^n!`xiwy$*V%#K zjdO)2lpjwS0W+o#Q`C!i^=6CGr2}AgH{17-n`<6{9nDDW|4AKt71NP(^~Mo%6*F|! zUf}3^RLzauciY9}4x-R|Kyyy>WN^5vbxvaiUMxvFX2^M0Dchh-FidWz$R{e_k*Cv+ zgefuL!CZDbmN8#vQdRubn7QP>=#GYnT-=0>wlwPkFKi{=-~C)jsNF!5d>h~(V$REY zfd$3=X{OmN*Q>2*Z7-z@b^3zQHRSD^6|}tyeTcbZ?VWRVH5K455aPh9w}llK+9%+h zg4pf4&9r51&?SxGwIp=A0}b{^H^pB@=Z_97%$+GHG{eLlMo>b*OL~A0!v^#5w}n#O zxz{f}#`1Tzb3BqF8Q72nrtN?iOtkVDu}V z)$?t?#fn+Q)e(J)FdJrkK*Qio>gXB^efTIkvj|13kp>!qWg4r;&sVUph7XuDIOg~o zp@$J!oj5z8R`^KE$`Us7!%LGSsM8Z#QhuY)nb(mS3q%{pY_a?}xiAMP##EGCPLw$c z#7c6B`JmFj@mZ&N@L8sLc*k;Ikzc&fya=s!G{+(Gh0H!6dS@VK>x$^S$u2D9^aZ<7 zv({oK#-t0rD`=&FIx^3W-fO&uWJAKoj;5JRUBH~$>4lA8@%K-aI~+@jzbzOllnV#S zs^PPxrT3mUKAh7AJw5`vWbM4osXcjy`l~%GJJGltkB9<+-=Q9{;98qi``!pO)`eLD zeW2%C028c7W)7zhF2b@}s768)#uSt(yV|5+8b3y>hAaYW8>^`6prRMMU!n>_o$@V` zNcKt5d*emk0i-Fln$RPc2)Z()2KTvposf*qg%vZhD==GAcO5_$^ox5JLL}@UpK>FA z*e5}FYqofYo@WD`Yw|K!Zp%56XrZ)xA?6ak=TXB-$>U1#d%eyLD{raGZ}g*Y^6*@B zB$v`H+n^ZN3^+spy8&`Cv*VFN!?;bMX);yjH@9YkL`6T%EAbQB3Nq|HOYM^yo0CDC z-}%h#Uk7Z8{ei5Nz|+x*a87|0JPRbDgivWK0jMx46KyLt8!%e9r>KfuDQJDmkJ@_vF86 zP0Lo`X;_Y6S>n4APxQ2EPfFg_CaaX1`e>qpkN3v3;Q_KdO^#ru{`(n|2?WO8^BFd+ zp+k`&3wBd2@!B`sNi0OJOO<c4yPB4ESm>H7o?7O}<_uY5A zU4LpP0AO?i2%Uf+=0|SmU4LX!2iSo(Au)dnl*i_Ix9Xq?dn@t!^;FCQ%8y+7ggm6@ z7hf8hhcAxYpbm&4@14Qzlfy>o*q&(t#E4?=s9^r*9dREl@j%pwu+qM;*nSSlt@7Ul zz~}RZ?hKIJ=1}Yt295w3RnSl*-3-jn(|>`44<}+c2xiD>)N3P<+Z^ikEFq}!&K_(S zPa2qKX0+?7JF)k1iFbO5_i~AMTZ#8GiFf?2eSi$**#Ye~@$(IigN>ojeZ?@<;SyQ8qDu(*wX#8B^LehV&KhY*B{ZTdn)yX`2o3RSG0Oh z3-y|mcssST2LhD%4=B+CSo?`LFai39TF3--YrNkjch|=^{AhX0!cNbH)=5E233^9* zDcLQ1pcG-s?E2S{?;t*t`2XSR9AI+^8*N?Nwrv}`wr$&XzuMZhyKC&)wr$((uI=9b z7bo|eWRy%YnM@{c*37%svyS5O7d$sv2GtT(DxDG8lEqkFhS$TQ9L#Sf*CF=Ld9i%~ zb|P!?G9S9?ABA|g3ibPW#}R;B^qvILFE#a#EWBHXh97L@4J67+#(uXVK)p_o@MZ(~ z*uxkKKwt6lk14eWIOzp9@@=a%VJDd4%e?Wfg=qL%B)bP)DT% zlJ!FV;t0`55RjIUx~G0R?ezhq-}iTS9Ah5&n%#4z3;Sa(N$-k0&xJ9b^GsW)70C)B z_){f9z)b9^Ep*&hR6qm!F1-7Z%@$A8@OU2(RGeBYBKHJL;?o|<;gQzebi{8A3XH_}>5QBTX<;Z{KH`$O{Co8%4 z?i`Ky{RAQ&A$iXMpu{`g@i-R|?j$IB&ARXsANfSXn2{FYa~FZ4DXF%ihKK=O`tu;J)an-gi4e>6`4NBLK(CIAz1u3Hn-AF=6F>ikKI_-UW zN@`7|4hZZL1Co>=rFd^Rh00W{%tf=3H0VnEnvid>Z>5|V)(dZs00V)GY> zZ;PT)(kiZi*nVo|`c*3NHje4>QM5}E_VXN6G4T!Wg3*VVikJa;q3Hw^mg0J^B*F84 zx`&t558*WIoGD>h(pz%HA~9jbs87pd|EWd`u+hNZ=t8U0T;vXI1SZpCtURoGWcvDL~07jKm!YW@s*7 zoIl?XQlC@Jeoa`b>sP-0I#YyjNRxfpXdX^q#oAIy*dq@e`C(eYd zw~7}ahN&D?b=BPx3@vL49wsDHY7qjs`BMAtUe3BQbTo|@Ybu*T^&djJX3;+sI(^_J zSS#md@scRzB(>BEwiB9Qp4^Ig)h23{q4M>jOnm!#R^{Ysro`YBJ~iTmZOO$#Xwsao zD-8C{V#F5V5=s0AP3%Fw2Y;bku$bS0vQ|`pG^4~sC5p%2l99SOlCr;LV~e#T#0s}@ zm2RE&P@-NAP`z~_^sEzyEq-O(KbW<8R?x8S%C1$60?A0Pp33H;a8E=?7FBV9g8VCN z>Cl0X;xx8i7MD3J$HpZUN^e*qq{uCYfgVmSW`QQ77Aa;yjJ%L+ikw7~Ze0IY3cE1| zu+-M3F@;%hO%nR)Bm(>ybWIAJT#yTs%C%P}^jnatxXQ9;Vc-6Zydbc;m220T=#);) zYNK-R;=UB%?q1K|!h264)yz5BI)Uah&_G4eyfShVhWKzf{tl7MXs(b);zq{`!IgUG z*RwiQxRPxtxzn9bcpq2YJwiD9M5qu6Pyv3bRajuHot0@OA1te;vBR`nm3#_!iWR0j z)v6=(m(QoP%Dj0atwYVFF=hNyq)r~*-A;4#!bBVHAJfuE0D|Cl2K=ybFY}->w=+?O zVmtK?-c1r92uZ(@I8A%{rM9@kai0%@^G)R{3Hhmk zM{uyjQs>{r~+X z;)aJ|tQ>kxA<_r{igxG7vdx|wAPH!m!UBxyd$k6Q@O!(*Wh*TNrL2Wjt-(UM1h5o~mb8Pc2 zUw6w+MjwHSN4-st9+B!&_0fD79k%fw^n}>chO*bsC)vokV3S1KLX?{;FmdIPV}DBz zNu6EGRzV=!bd*y~HMN#W_ZKtf*|6mix7JQ$%CSs0Uzod&C532VoMFLK_AqM4vr05MP@Rv3q((I#4w8R?Xz=_ zt1ZZ|>X~)1{ZP_m9;=O>^fUj_&>El?y6E~5$A%aLxp7S8^HoUvX8)slLXz#Jt>D(q zSx9+H29si?P@viXXrxps;<%JbF2{d+joe!VCcW{(ng(Gma=%ZG62?f6 zO_M}bmX8g)wRL3-I;@`8*PhjQ^~!X`woSDm2>Vwy_^XWrv~G2-UzCWnNq@g-FtI=r zI-3&Tg7rWbmeH??L}KV}qI_36_u7c_ ztlJJWuy{bdkQn73Z8;^Ra;Ot%n?&qqeuzM%hV5L1?ZsW41ARzm!cB+Pps1Q_H-&ue zolL^PV_8uE_?rZwY`OT0L2MyooCDR7)R7+pYYTc)oHk|~c(=qg9D&sy(J@N_`u;ii z6|(O`pQ#6NQV{GIQ8HsEQJ^=-Asti@ZdV=JF$)_D^hOx^hJ^Kot9k>qcMalF%xOJ` zo98-heYDe?FNH0p0PH%gxHK>8-4~&Cg8t@<#8E>M;Hfd$n+DuD4{}`t@;s%||Nd|H zQ|{&q!xMnp*#o-0lXmByg1#*Xc4JN334q&WSNHq|Td{fH(;FLow@}`$X-N1=>ec%` z>SVn=ZWZe9Sb#eO+O{+@G7JXlJX1xQ$yObLsTHIt8mo+uw-_jki%mfJrl*zRr-i&T z|Jea>VGrrmQ@ul`2Qz3%pQmMQ__L^vzLs6(7qHS{HtjH4^B^`aQKTi(16hGL%|hR~ zfwrBbTk{~VPJ(?nTMdA&FoWJHsGoP52mM$RJhb<}_=v9Se?+>j$Me8vM9gN3RND?| zesAY)gFMi6^Dlo)$7e}A_4Gg^pz9{#FA4zAH81(01L!Me;KwBq0CKbk>(GFL{M%pV z&;a}pGw)B>xh+2*`EJ46{0(|w<&J%=#&2TGiC9(jct$7aGp z!okyUX7B9>=nzI3XEwIIQ!xI&ynuSAPg)4xFdTqWs*GZEkN53mLCG#9^V?b*`}7*~ z+fW-jc#Rc($M#E#WkeueaoZC=Tj#Lna^v(mR@d)SyDhj;yJ|w|z$$NRptgd;WTNTf7WtP5I z?AhKmNMJ(huF}++c2QvL#29L(l~;0bO#z6%03hXNNwtsh4|Hb=#Vxz)NS7#Jb><`soj=3@9t>& zLyuas5BcSBkA@~+#DDwGwFLf*8{^j|X?KvT?7oZ}W6yQ`zJfjxgofcSq?Kue=kIZ0 z4v95C#8Q*lhUQ*_ZwbH$o`!$eLxRwYkfEArfxB)3i;jm+ivntR<7!vyj< zYw6-zmC{-79CTMN+(a&tADlF|ZF+rvOh@(B%<$Cj-~a8?t)gWT=>{lzN;` z77#%%%OQf5aWTB5^{XmqS;Fepj(%C&Kr>HM6jfE#){l7U&GN5WW&HB;`g-odLhjdG zu5^!wJ8MRlPXlk`iK)WV^yH`C$@b0xz~y@S@Fq<`P(oDh0W?TfK&W- zsTis^U1q{*^78Ltep&*VCy#SXo8>>=jhy_R4Wi^f!%=jmoi<7Sll6_=pb*&f-WT)M z7(A|~V&Jl7XN%J1P>!{U&b(>|yj?kg1P7)Lj3xhXO&06@G6|o?s#eZsBN1Vdk@Qz@ zRnD0NNd$R=qe7Yr28vK?vP`c^0J4{rFSFbq9724F5lkguxkO23&U49`PLs&VF(^Kb z=D{WZ$Z2Q-756(cGCn`_bI%8vNO?R8CR;4+8f&_!X9^|l1~VJcf1FB&jB+Vu)|x9; z!^ltjMfRFTd8)EPsdd!qaiDcY8M8i(0oGV`^x6tUaXO6)AgQ+x!Z5@q0Bb-G#--3u zaMefI)Ivl1JSzLUB}C5Tv2}u_FjKY;R}!>^l&a;hvUns-&|1r{cXVsx^)-}Nu`5l* zN$L_SwiStDwm7vXHo_DoZr&`!BDgLEPWpg;0iIwCw4^i)=|-0H9;lISTVGcadh=}h zzVQnVs+KnrlRC5=*fNu_c*qpIpURW8P%nMiv`ttbx@~b0(yQKKg_4C50MJ?X4 zLDRpQjTQ}-GkwPLt~L{F=pyx6WIPBf(K%PtN_MpMi+FfzV;|APhD(%I=i(+lm8{rn ztHzdi6@R18beo}QRl0Le3K`TBL3jw|NnY!?UBs3-PC~|J>9cf6RD=0I31ZVjQU{ZIKE74eH0=Wt$mt{MM0SlPDJIEhUp1aU}wp1PBeH z_rVk2gm>eWnWD_S`_Zyhr1qD-8wo+njv5*^6YZ%_#d~6!Sm;%2!gTc$XHg{U@;k|v z%2#rIG8)9+pHdC%!%vl&hMsMfqRlVW`3|wgf2|;!|4fxX0Hh}N%8aV|2gSR3WTKyo zf93Uhn9mDDa^8=|Q(^7>TZPRdAz8M{$|6bPjbSn3^i7A)T9+2-8iMDGn{!me{H|9t ziNWg{HFxkH21LxMWA#%_z$>|8ce$&Yz+145P|C8~^Bk0qosPv=`i8~EOWEQ_Rd5W9 z52L~n zsso+4Xg;{(?oi@*O0N1le3Po0G&hh!Kai@%k-x;C0|-lD)CrqIkl(id+7)o`h^7(f{ngVV! zal+e1pT}uo_eu(VL7#_tqa)zpVgIW2jNtI9RkHVU%E;xEHEDqP{qpam;ol2?fpOc3 z+0m3{Kxp*eNe(U$9L~ySQm2PCVzf2C8~#8}1Dh0`?hTFXYj;5EwHC&P$439VJ#Kb4 z;@@yT!YkaTtsluEbF=MGp~PyZk_x0pcdyQ0(M0*)-sFktQ{NX;RTmMJvCq>X?~&@7 zX>E#1V79Q*?Z{R!l!j#uqO!|h#F`o-(a7os5Gh2xIjlBx^Da*vPDK3sfY?g&2c-koRY`iE?`=jZay2!oM2&$G<+~=ms&yMM?vIS-L(8oLOrwD2MlFEMCjw z1DW2(g6P#)`B3J}MfY9V8>W}CStnakW!}UO3Na&|AJw6>AkxgO!)hKlv-ubZocR>+ zQ2!=moy{d#3O8T=ZnfQ~_zA=wZVoqlmQQJU2d9Y%KR>^8QQ*2qMBgy|=llFzu@9&z zbXQG+U&U($aUSM4PZnVO9h@JuuRXBM8sq;iylmRM6P{>qcdXrN#*&Z!vg zOX@bpIfwIV9yQvcITxZ#P+DkYK^F~3bQ`|YG|Z`!9ak02X(Yn8sVWwV>x|dbGQ5vB z^1EX=ZMWTeX_RNs8->08)sd)P9I8CUKgBxJq1-rE{TOJe%>$N8Y)j@4+QQ4a~y(ZC>FT{dFAl-#LReMG9 zw-(s9be9)?=ge%b>#WCrd426Jky0}tp45a^o~;5cs{iqBG*jtBxYT9+|r3ZrtNfr)E)Shz5a>54B#Zdh_q_)gH1>!{Dm2 zrn|SX_tWvx(+z_9QOD}z_;TH^L739{%wC84>(c94c{nZ66&Mj_uL4#i& zU0EpK@cp=(P~Xsdv4#CVo}hj}Z-1KM9@SL8qFfZ6=^h0q9aX5}_C*)~ycld;XS4QC za{g!al(0``=r}QkG^|9JP_o0aA@tJq!9=Cv$ z`xpe`$P}ta5QmAXR8i5Yz}t+2ovIWhj5}bDjTo+_BghCiS)q9GRx0^#WV_Q5Pk#A$fphVR> z@>k3dNZnq5BU-x!80hq22myG%#eGkSSJWRLdp6A*JP9EM>Ls6HrQp&SbFcC8F%@dl zJwx{Zvzhz2`0yJ_kUa%2BcOgvuzpOhJ=I3Wxd{#^>53u_DAtwumS0?zrh&WAN};9x zqDa0NP=ct7RZ$+s7$G%BkbN#Rt~Ia_w)>$|NMD-(a46V(9~0GImcURJz#(QoctNC8 z&=3w{D2H}nBk&N1Hee(65Qh%nJ>SNjQD9*e1SHjf*&N6agLcp9d)ts34TfK*!B_Zw z0WMxfc>NxF0kz=m2JtXZJ3vrrz#(=(M!dgT@rZP(!S?t$i7oh4rywC)vwmb)jslFnNd5780XI~xc`-0h@t`5V z0ZdRxPoN=`!2Q6)P(5y-{r5;;)9_G?LNDdGNC<_Weh5g%CqR4f0XOFINHC`}tuzC5 zKx;o3fC?=FE96p(pvN6jr%VQXx8!8MUCBngtqw|%`Y4U8Y1&JrP=*~ecKpo4Mn zR6-;SQt|xscyYA>V9V*OQ3yx?BvXL{1MfMRC0cojt=xgw%cbBx+lw$B&W{IA;;7Em zKkaUTq#l|ETO9*UoE*`S?u;Ys@8NYBaI15<$3UXXor!Z0Tb#*pGb=J3F{fOr!%17! z6cgEri8ESKY@yp_=j3}lnvC4V@X)kSXBuB25e=ID z7~8;eo2Q(y+H5H`1mmuN;eYLoR*Dy0;9^b2J=`%^3L8AMb4p!?$0<%2DQaqhQ^SQ2 zUH#4C^aoEggVeXq3?q#ICmJ8RBZ8(5KlwC%B@eKi*3g+H@;~IM*#@n@VL748SRM(H3>VXSF@K13&6tX`0$Xn}A+L{DGM8^lA}Tj6V9X!gVU9Ns6*kN{%svyn-Q( z$N@nZ#9-*(Uy%p1nVT@$5Swt3U1FtFmYv8%1+kC+bU1i4LL|Hf*lVw78?lsY%|j&) zU422FBk$#xkd)C1{Gg)P)}Z3u3FDviwdY=$o72YF$nwN`}E&LJjtAPslh`$%tMFHp1JVsLMaS@k55YZ;$X4^pZxOh0hH>^h_kOrL!tU zrymec?|bF|o+3{LWOTx>Wre5NQ7o3AYyhzy5hQ8i(55G+UfoT2rp}vSD<0x*%$K6G zvN98$tfO^J;gn1flvHuaX4weeLJ4srUnVt+8%junKD@kbB|Km7PaaVx%`EywOer@?Vf^JK3_L%p=VwgC^+m zs557}H9lr>sF`6;BOkwaUY4{&=PZ-AA!RvCHGOuq#zknj`LfS>*Ew5x*Fj1enxSSK@1-9WsyTY3+&5#mV6ge0djSep&!=~*Lcf8xPa#OC~ z9FPvFXlR%#OPvsI&=&A!%xbtVH!G}C;V;y!_7>v={9TEx(58WLZ^`w5XC}Kg4=T<(a7)I7!u(>d;Nho3l!i zN!>UEY!9+`k9|gPZHx8r$!f7)PC~fPae<_kpvA&tP>iHAPjae6aTi;dMlC6NZd~am zavV)UzcDV_OC)9v$LLjL&#>~;hA(*cjn?uCCv2HD0+A{jB2kSC3C!eeE6#9S@+v)eZm^8%Q#55bOQ4Iud_$`f$cVH<-T$&D$@~ zdaqjG{RU?%%R9F!))G?}4dc!#@`}iuSaUSwUJ|Ak8S7bIbZ0>}Iv6<6W7frd6fSJBluFya(FLuCU zpIYCX)y2t|)C=}EIuvtf|6OA=3+Ubs6zq4Ow=)j|jAVo>3kLZGGAI@bEfbykel3=$ zcx8P-Bqo1z;hq9tbkO7AJ(acsUlNM2)-HT*DoSuJX zR*aI8O|^@C0VWgH7&J9Pt_)Lygr-?hTHC3#wY?~P%l+jCz&>!BuyMQlFQM=uItns*W)CIPelth4%~mg;4A~627}2PO|VX$zv3UQ?J2C;~9;Q7M zEKi+dq9#*BC|{i+3T!FAmggoWEFsAereEC+5_QjEbg0DXn^}0MP*!LdHimV@ap0cP zVq|mK*f=MAZ(NJ1*$F8{h%dqW6lC0CxL56|#>^LagZ|z|B8SurLd#Fbn9g z6R0p)uz`E90hwGTzBAY`4awJJMy%?DJKSzV&*18vY{;<8AFUW|=;;HD)qSLt7|}s? zop7@uVEBT5HthqqdWi9r8M1Q=I^ZDrvV{vW-~b)Ag9-;A!upbA`iL}qX`qBtcn{iR zEc(c0#QG8+xA5%)+#t650|>A(e{MSuY@i1tU{5PPkTRU7EN0WkyB>nkfG0I>O6&nu!5&HxC0Gt3``ch0S#Uh zT8X~zMWROxZbWvQF9A37Tq`8wY?G-E4N3Fut&Mf9@q`0lxxo5JzMS_{x>zBemHa&J zXCzqA!G5ATCQ-TzQjGarI@uZc+Nb)BTM@F(ePZ7!`p&$N8lRuqh)@&PPvULIUr=Z= z=K)B#dRBoq2feyT^wVM+U?QFIW#vtFY~1(Fg>-y6)%kcpDg=PWlGSS zn$Gz@e@y!+|6_aM0%-bq>ZoA@6c*U5QthDk&15#}QsaPG z<{zrzi=-s&Il{(~Za`lZe<_I~iyj&Hq|EjrpxvUlEdpFg&DUfUHuPx`_mEaCln%lI=-0Z_E%qMf8D6Gdv|OUP0& z)IXFLb@Ig3;-V+p$j}2nC;bd(WRpW)!A{!E!13F-zPbC9h;tIi!cdeKnjeIGeGI|6 zdPiB*+`6-@aO7x9sPLq-$Pk`O2Mh?hWtO|A5C|X6Yp6%~Y>v*~ z$gn)WEGXLv09XHZP|gXiHjp=a|F&bPAwJq){JZ9$>D|FAG%j-Zr|9Sy@VnH47Y?Gu z{&Zu!jH74{S7MRhN7ale^lO!0gLl+L6XvkI-t}AjOm=F^Z-O)uZtz@f{CY& zPB1m*4roQR*}5P%Zix3q6CI#_=h-QTY{mldzEjkZ(BUn*$Tp3 zhN?8kM9E+AFo^OSR#@6sH)r+(ypO#iJY~$3u9BvYnGF3Xe>8*z`(5v$U| zi!RTyzMnV7*V-xTrTP|}Jx0MZ6kIJZSr+E8girWSp2Eb3gT_eiF>P|wY0e-1=)Bq) zKMnUd%DJ<{60~sPo3Ofw+2_oZXGz4*6(^b58lW~~4S4MiYK(kek5T)@PJUAC--Qz$ z%xgzABct;$zJT54el~wUpPj!S*u|VOf>Eu2ugN*Z+0yDpLQT>_$N1_6S z8jcq4UOAbEpH1k5w3Pa&AC8UdxCCo8ckjv=-#o3kiPhbI%*0@g!(~FyOny`NUpsulu+lzR!({ix2O7V~(?yc$I&* zSjJL_-7ouz#hQWNMehN6HfyphUldQ2@eY!6>`A`6T2EeMvS8vgX?5QH46aTt=J=M4 z%F4DPsZd%v%_Uedjq#KsUoF|S?kT$rH`HCo3^vr9wJ=VmiH`wkDpvN+oWhFZ4sg2q z_sFq&cCtb9Nn8oMJJ?CBkXJM23inJV`-;(|A;wB3I%V(eqrx``_a0ZwKbr02)Na%P zV^uF<$2x<-EhtCG#wb{bN*>`A9uHgoFL4zMKe8MGZMl?RYgK*NhY%rsaD)gW^f+>@ zCIpJ5Wug(CDVwxkdh%$NoUygp6hINS<~TIhQM=E`UWNpJs)}4Ds_`hPu@Or8(27Dg zuA-TQE3j&rgbCJ&euyt48(l2Dk)A53cOFlkB86)w=3dL@_u>g_vt|&|8cpaJ^Ab%T z6dk)X5k?q}DS@neQ56NNgp_tujsuDYYEwX}x>hjLmT5xJnL3QAJSVnfHo%@G#;sk- zPga4`>i)qsiTxf|=4u-q&jn`$h_mPVu)+rwyF0=otqpke%B2)jFnX*xAtU~P^n>o* z#Xr;s=iN;-zA^7RslzilbRUwF_K4KbEK!%~*FhHu0n ztCf^rp(i|)VQLSoko_wt7*JwF${lp9-T6S$H8^t--u1xClk4L*bo`tSALTUUH6>D` zf?GJ{^_=Z19?UVuoNdjS&Dpxc`Fg;FpjGHSs5ugi071Q;6IFp{dc7f9&3V%*fU>~w zpkHwi-UIW-8W-9X>8U-GvaaZD#yHD07*gP5Ml{f}WmJuyO)C;93BYQgMn5tubbd;} ziPH@L?N)k%IB+6gidN&O+TFj#mNr#JK3cSt%^y0gK}pOMi?&3V8e;xeL#390c;uDp z3_mWRHQq!ugEZgpgjI;?X z2Ata#o#F8r!*m+l^9p-sg7i}KgxH}yMWz?HF&8-S+SY?O}G*TgG8yeBSXI3#R9Uj`|o}16Avz*{5c;NBv z$T-2RIPCg$0c$a@NW!I{+E~C_RoKHQtTE)`SRa?N>(ytUbV+UO+5w^jOdbdp4zfiK zqr!P3MKx06pWFqv8Om2#y?OSV;B1IhG_y=%C$b7G@#^o$tJ#0O$`+K4Zz>wcV(p;Q zb%`Fe8M)V3WY7wGb95qHB3hkx-B){u0(fTz*|E670We+38=Y z44Q6f=Haj6+J40pl)01zCNH)FbSz(TR|^)&!C!%;(b-=xA6EQJg^UGyho#YFIZpuv z(RBg7Xc=9D!e81^Dj+>e$)c*>e6cv?r!A?<&rrV&5Q=C-%ta3^0ygPI^vOtS`tFTI zOGw{;19S!4j_;voQck#Pj)3&ufc(a#QoTxP_q^$vIW?1+c2xU)-`IqArCaNnT;!RF zIf0+GaIw3=TmN2|zHk85Fu0zgIC+40Od%`v^DFjuDfSB}HWEs60g=l}r8wH{0oe#p zLVOVg047+q(~^MIdm!W>In^-EcS|+Z^6F3j zOfL%IyZ)(xGN6`~NWmIl?cK5!ft&$(R*OXFB)I_x>M<9AtO4?vK%VQvo$b?^?c4Zs z8b8~|JKL96#PiaQkKc*7TjlP0101kZTNn&Dc%4GwxxrWgp0vTv5`t`*%0@T_xzb_% z2MF-`F@P3;=0Rmc?&5P`AgKT3GUG##G(lgrP@5XewTHAV*=>s1Z6j5oJl5B6(g{be zSJ!Y>rGG3X4eYfhw;$DQ>~L5*1C1EIL(dS+7}{Lk{E%W%zU;#nT&iNqK^g0+%96zco#t$uQ{r>3&?*b4yzjICXkdQjFvd; zFHzWE;xHScFdO2qe?`Wgv#D72V0Q`h%$snBh_;b?>U;oAVYn*tK}X&}#}PPVfagz7 zUXb3tJrH3taoA@sKZ(;1w^a)WU@8F@4&?g~5wV9Hv8NQV#~iWe6tM>#u_slIMbJPV zRvPHLnTq8Pe~8*Vc!QTK$UqDMfM)IlW5&xBf)o5Lc3Xrsl;tTPCRn)1E-u(|V z@(l5lcCyn=-TbV|j&{A_;i++j8}E`&*8XIoarU+1$V8?A+mThi`MS496j#J6Z9BLa z*J5+Cr3=GEzl|vB{gmdnCc?MhB zCdAoE^Ty8D*7N3AkAVY!RobZvp=SO=5{(X`QeQ5B`3DvRI98>YSvnbMLeXfHoF^V4 zU4M{OXKy+LLmj(y^p?(2Kcd=?+r&Q&d_sBy6Xp({P;P)B=o{w218cDbtj&#ZR3#j@*KS>y>SuwD-gX;iAumpH-L+F0weHz7(0|i=o6+-P{Ih7xd zN>(^jI{W~2+5hZvsW0wB`)dDj`YnyH$0|EtWM1O@R@8g0IbQ?ags^H%Vxd@9qU0ZF3+!Rb0i09U5>T|@v5 zj8?x(^I5d@n$%F{#8kli>jq(A+P>;UswG$4$fYA!Trh9iluXmrrY+i)P;so>M5z*6 zyk3xLceBb(O{2jzX2i>==4gm-gvgnCvHIcyL><|6y8r*m?$c0FGikLR{O$ z7v&@WjiR5L*Lyd>U;38v+JJwNZ_2@L*w_fxpC4`G~>`PXf6{E zP|xg{u3l^AjJf_@mUtz!^^A@;^k;Go@sKS1ihnHrkWBEHEZ6UsgrHJFL((V4vy>IT z;%8itmd>XNM~2fzX=e}}2Yy2mD@#(nQRxM)q$hyKW{VL`)RgsaKYWn4v-kGl>$R$J zZ8&@;a1l#8hhoA)eA$7PbV0eUwpl1H0Gr!AL?&F0-7m8=o>e`uy&9Wei#>0}Q>Gku z8a<}bohfPQ2IvH~K9p|H316IEXUqprEkEvnT+GBPn~@%e@xZgqV)EvdAZ3L_W;hx$ zPsr=CHaB+KrRiSRg#X~7j~2bh!RZ0%(z8lP?}KA`_`pRIFmT6CY34gF8T=p!nBg1} zHx6dc+tuda(Qm$|b_d?xUAwEpl6Fnbedg8dR;^Uu#{0hLGp^^Fwd^c_a18- zy~mD(Y)TL|vRIRRlZq)TIkkM%mb2(O0v;(~86`hOuAF%`>pMcboTX5=+3}y~+r)Q5 zE*^0RZ{?t_2jXsl3(OMOZ;!bz9@Rfg8nK)B*jA}L^4XVj_h*dt%y+iE0t-r`Fz|En2(?8aFEwXj5+akAL_!4=yn=V?R4adxQ z*L%O^mWP4YHP@$i_WrqNKssja5UY+Q5f~}<$>Duio>c+X#pA$3p9ogYWwo){ipxHUi zZQlcXc8t_Sr7B(D*{7EF4D+5iM9`}CzU%Ezzui=O2KG?i=z@2C2e#f5LSF;Ot^p+1 z0E%k>@il<_8gPH~DNNq^ozpv`-v2HLxp@%5pZCW=N17> zyYJz6t7*E=As`5dKRLb?yEgjDBaxuhmH03+;zdzlrSf9gCg(P|ikYZ=>CwsUznsH7 zxm_CBAkDddc{{kAbI>mQ!|y4F5TOfz#qXQ2wDj1fw6tG!z-eaTG27H`ah_W zaQKn&k3|gmMFe_Ok=Vh3q;qgL; zW~>1sSLq6$LNp`7dWTct&BVhOf@3%^%=G4Bij--_?qNU_Dmk68tj3dPvXxxLc~QXq z1ZZYN^x`Nc!m`I`Q7hsqW1+!DFs8GqsUZr7JKM|lw_GKcR1cU)4Ll9y3+Nl!CH>D+ z%VGuQh2a+`MjhzN$mwd6m4@#^FWN#1rf>nU!lZHJhCEet829!0gD#`!!{rx2^;Gvt zqXbjb-ct0IF&y_lot0ska*UXD=TA4k_RVut!m6$BBT_QY2*f=^JhRNC7Ul8zR)HgV z%0mJ0Bp0ylx~30`FYf2JfxKhwf_Nv;{|YRTzMhz@55B~kHZAMY4RTcv@fgRBHhcgE z3vEL%3yT#8yisnJ{0tzC@pHG|ls376GL2aR7)9?^f?SDCca{#GpUndDdArTE&3}xN z6bg`Ca9r&fwD6Kola3Fm3VRc!gd>Ni+Mo%Rm>7414ex>$pbPgN!NEbJUM4gCH*cB` zX4(R_y_!gxEB?gO#I`C^s$5&W4!~PfDot@wNNQd={g_%!(a<5CsS4+{_)ElW90KRk z@C8H0nF!JQ=^*!O5qxQsf$Ye*NBb1h{EeRVvn0bmZ6HiyAElUTOBmQYVy?Qq6Y>;H zT5YzDj+=2#Y8|;K{7j{+ygHjPIJnLHjjg^*^YY&|&&qIF1C7MOk*~k}G$0MVu27C$ zpX5GXNy3dmO|DlRxDtX$&>n>0Yvn^EMh!^(IlT0$EO5hGAs*<+NDx_}6tzyJ?kw`< zv{4kNsd<(J9qVzc-4E22fSVyTR#Yep5_jO1x&}4s+L4@vBSGFQ8(YRaa}}*nT_3hM zq|k=B@RXv|N7rSka{D;39pKfK>YK9G#n2XQt)pw)QQ0k1kgjL%_BUI1l5bF**$-2U zn6qQBGugx4o{jj-X$pxuz9!|Kakhc)WM&U&Dq3zhnL8{h@Mm8K$ywpF@fMmkTbqOKBkC^D(Qs`hC#d&Mqe!9-x(Rfis^NGde0& zCiwEbpB*=~_@FMON}BAAqpSbo@Om#N%4Dj+mLv#oRNN^~ zAzJL#2Cbv}c+l8pNkCa9i{3H2>^(gMuUbJuiV&>ck%^77$#_D;iKD%y33atqlt6Bp z3^_RGgkgo^a>IDAwSIob?o51`U4B*TcheuIo&K`GAS?&R81fiSp5ZK}?F$@IU*DG7 zzm@3&^vDi^J)}_{X`YC}kSqFpHHNN0T)O>@3ipq2pzYM((|q6^MvB{T@RZlUN&6Y zsT?;;1W)Uy1qP2+yJvm3as;2S4S6FOcI$Eu@$KRWo!3HyBXOO!g}BvnzC(n!fKnEF z@6H4 z(DgpJVXL?1?FI3_W%k#$MsAGNDpsWj|!J|V!0raGAE{-yV`5H?kXJE)Tryi+X2~aV3*OVsOYo*uKg3>R#BWQMuJ< zTs++blBMX3Xzw{R6b_#XL1+&Mb)leJQLmoU10-k!_!Pv!^gwJTJ*vLI0|~0wFzpV1 z!nMx$Q^~f1P;|mm=z{;>l1X$03O==t-sb45|1i7~A#bcWZ#aPj4uCr^AigkWX68=l zciAu|XxH1MK`;FIgCJ+#ZM<%HZEXm-JZG)$|Df_Qd4w=7rxuRk4_pVnE93LM06-lL zo^}HdA-<4%G0%7V@&ew+!~25;gCPOHh+i-SAMkuHyq-6R3Ix7Q1Oy+by){b%!2sZw zM{my?2R?&NaKxe}FQ7;F57`cMM68}6oo2*-j^|YzuRMJL?D4HX4r-^o=x@3Ia{Dsz zU#*(rX+M~1;f^Z#|6cofe;&fWnfg1A#&Lu!yvL%71f##r$^FgZ%CsvoZ;ouPO*rVE zwSe4|5G={-^=B3SrhbZq@crEE4zzE%!~FFFk2TPBIjTj!u_2+A)kUFNj0ror!u|dq zZGyS+yy|Iv*broC0m#s>Erdd#Xdnpx`I#ct1mq_6V_~bnP6O73;!bn;gn$5;JDX7@ zNfAM3INDGpL6dC*i({vgrH3R(+i_*!C4wepFuC*>i{&>}HECC+saL62{x7=T zF}Sj*|JDsUPCB-2n;qM>Z97>V+qP{R9XlPT!;aOlee<6Gsk-%^dr#G_wPvlVS-Wa~ z*<;P$GsZA>2m~Ylg;AqcRcmITTYC`oI2^^;`?RZ)_Hynb|DDo8e*QXyF5Ts!ukUmF z^Aq^odi~M&KFfOvX8FtETcLKRmJ;iUstXBs3b3>!>q5d`Nzpj{ei}i|UWHiV)*_SA zD9aoyc$My~Y$Z=q(Qw$CU}7!I7^;v@gSkl-0CslUX3*DwB?cA{>uGSbwd3h=85Gn7 zAvz^tFbEa}+2!*vybjeBW}>Iutd;MY@8aR1&_$l_;h_~+aPbkKX;3GqH7Z1Nckki$ z2*9b1ARMWDGNwf4KfvC$6rY6&x zoBq4<&iPu_O;QyeE6b>8bYp;lZa~qvqpWH6uU-KRRFi|3gShzbTOjLg=_TM{S1$B7Rz(iN49 z)~FDx*1PJL$+K|Pa%`6I|M=cE&4uXQ)hBw91=1l@ol*?L=JqpilCDSt@cK#A;z9D{t ze>yfHm-JTglS*?{5+=1tAvI#=++G2VlBERsJ2#@+^q`(p{tvpI*@ zx4WYr)j=?s%@|l@a|6R-L$V-oS*q{pVdvo;#kQM=x1rRs7R}6F1;f)bHKsZwR(EEg z-wq1&e|o^2%9b_qyi(Xyz4CemIE{|BB(L$3rxB`(Cng8)o&*orCC}}zqA(ErP8o9A znpx&Tk||k~wNM^6S9A9;13#&d72Yf%SF1ks_P6g7vvrqNoB-^e2qYk=_B<0z=&}li zW3Tn_7@cBH1hz#QbJ$F6SD)@C-KRa(wPvl)v`qLo7a(<%K0dOGY8Fj+!yAtg7R8Dd zG`*JU@8PKTRJ>2i-VJW(4M`d%G~;@Zmo?QnuBeZEe_fI5^o${e;8zOh+}k5AP1`Rm zX;oHX4Q+v+D+<-4vlxg*8oLSUB73N*%9lO>CQ8E-_rN8 zVTP_V%M{|6PLs7WEoZe{7%Mm0%UfCKJ_@=6d{G(7sKS;7OE---|5JEujMNM&-rpo9 z3fF_^cCDn7F>2;EQe53!q8qKcUm69M!rq6VU1`^SwOt$T2rjif0O#v1DG$bXVB$X2 z<~VYO2w1)=Ef|#p5n+fcQhNj18k~MYrncTYT%tEk`FZB`4O2yLO9(M z&pBp=C|$MLPXadUdp9858XLC-bNU4^Aqy9k3nrBhi8r9p7p^6}j5>qE=eY6eOZ=te z|C#3uzJlcWRZ+Bskesu&$HA2LXbmJimiaomAsF{SU4DgEX}7LLQ$SM1Z4I$P1r>2# z{e$mi3Odr8&R+e;q-u}5>rrMU*)3dVYT+8S@9X8G+By80Ws13s^>PZ|`=My!cnjbA ztY~s=?;t?XZBGr8=71%%U)bu-9)?6kSLq`l0v{yJ;1p=N9|$}~?%@5VI=r4oP8gl)wN z+6js0B5~$I)r@hMBhFWe-0O?ojms=Y_2-0g81Rrbu`s%r7~J=Q!*`ljqg+U0%ftwC zQD3hLpSZpTX6;lDdyQDTM|(O#8)#uyyJhQIq#%gH3nC%WnFn1XTyThXw)B#rco)qE3r}B1Dks(a>@HatVCIk?XV~5#esr+oEQPrpBN{wfz>( z@1^=GC5tG@{LL1S(mV!tBP~gbN-39LkVaSZZXU{#&@+L}#e%HeOOLP+(M2zO zx(X}!c5ZKtgG$$6(d(!v&N9m+nr{;4+Lx{1T+X>J)axV{#0PU)918((n4zXZT3Ttw zz_JLL=qrlWZtRei6~n|V@fD_{6I(f<6a>3S|U|AFQ9=Rhq{%@KQ~vOoBUZ8hZ68i@V^I+1QIJ60#d0)%YF9TAAfV3@*5}{b8`=tlVSlmt*;-u9!3et^s4zN zy&9=4$qiPT;-;g{Vp5=0Ub1$j_ueBO>GIXGZM?Ls-J7oF#M(_KW2zJQ<}f|xsd_!4 z?TxZs(KsrB*{SpGZWs5?X=V<7s=V}N%VU)}X+?0FGxW%KEvPqx zF6QEhZ8gYM>&Cxk#W2XoiO97dbJp*-2;NbTvz$&}4T$I7Vinb#7oJiRm3r^^0_8?8 z?Xue;!SSd?y^@hP2Cr@Wi1XI9laHlX`UEP3%wjHD_w&^C`z5*CU(vtV*0ekiD-ng{xI zZ1!>##~br;MO2=F221t+yORP)jCh1pBbUx@vg8#ns)hqy8cKg};Lys;;c`1k@yu?O zlEG_XBOQQ2(J0(NWt{ym;!^TOZ3<6BHp4w^7}|lm86Mk#_-Hg#5;HFA$l4Gt>&Tti zX*#r3?+9#VJ-yXl7_p6%Wg(87T4cR&!(vapc-9)V5OPhe?;~uM)+$=2xNj+%Io$I5 zqI5foY%^XTF2pa^oJz2&)YY0H3Or{_5_*mz)d4DPJaUB$BCcsM$NE*4aW%&xp~vwI z+Iy|i4_Rb3@Z$ndiQuh?@6GF{_6wvd^o4`17aS^zm6t61B4&6E!=GF(gli!DWSrkz~4ojm~=cV<%lOPHay`3L=*nf)AJ=$ zH=yS&1~sa}AzM3JFpd~xdYRmE$NS|09&*{Tk1#IiqsPW|wMTsKiIAHB2ma~I=yi;L zVG|1`BDViGS|<@~sY1}Cgb@W~=}e`4Fk4F~uHV z&C71zbTrxWV?%XRbmETXv+(2K(E{;#d!J98VjuSfK{-* zpqT*+IY5ZwmG~s*9r1G1?n+B3AdYue%%H>~Af6?x5Y9 zWvd;8*^DEeC6}a|%Q@$oXRzPtSCFS4r4cankf_?nd|*einibW$H7!IAppV@_um+G9 z5R~Y>V1FsILF&MscEJk<*cEpG%=`g2#U03UM^shKmXZOP*m6gxF}T?BD_kN*p27i# z>$hT|5Um{88Z(-|kkvCG+dI}i+e0DhL2xyYnEJKVPB|?keNY#P;0$k|?FxUAR~;a} z4v7?acLwr6-lo96ZofkMe!>9|m>-Y~Z}_@TVf2^+XW?+4-)_()be{ms_&T25fxc^B zJ8*`lDi_e*>8IgFW=sJMEt9wsk}2?wqsv){L+}f?ER;5#fEW<}UjarRn{UHVLJ-Sh zLaj-VTAT|Rc$;&<#o7B+ZC!ys3V*Z6DJxiaOH`J)thd5v+1 zx)8#;PLA4puP5PZ4MrjKgW9r27!wKj0fORPy-v5md6}4>+e$c11B(R-Z}+Ym>;|v@ zErnV@!R7u(35|;;F!e)$fYhL*1(ZV&ra5dApr*yc6GEo_+=PH7q5q?#t>u&*mcu2L zBc6&{1;aq?j&dbp^%d^M4>_B?XZZe#-V$ip4am zLCTxRRdF^45rA1g-GTb1I?#W9e9Vs}7!~~6(%SmpzAX*27jOs)qdYGWHHgAtih^1O zD3fLk**fdSdy_SnjuJ@9Mst1B_6!qAmy#_@Qb|Ht6IVzwvi9aovbnFxIa_PBH!QNg2_#7{;2 zwyi2CR--R#XFjd$kby3U9#2l%erZc-wyo>PQIz!>GL>vHODZ6Utv&NVaBjC3zc`UI zP@dj+3+`U6I_*hK*O!p3qc2?nit0~fS%Q(HTSca2%|Far& zx~hOgI1tXrn1XT&oYOB~YN-?2CUadLvTW3)n;9E!G+w%kIJBw%fx@veqP#?>2|-i? zI+kYFzx26AxTXmnkEFFu1jZ$&OOr8PjM5Y_e!V|t3T^RwD^lXh9!6&wsMrPB8YDtT zV=b|PfYB)$_nt1h6os}RcIc;Tv{m;Ko556@_O8HB5wSaWQy<%E)NxU&XrE4jQ@B{C zy{iNX)2l|EvQ9)5IP4JKU0ytYF(Kv)28yV`*|7#0(ov~Yz9nqxQn zceO};H6aHLDZML{MNDT1k(nNZ2s=iy5l?)K$=U5Ki3-rjzab+Vd$uph2S)3oQ0OeaicxeR3I8Z;GD}W`SnZ>zPQktyf z$W*g6|2v6EN(>NOaKv`->(pKiojI<0-BMR1CB`;6T2>eI{sm7LI z#mib4cNVvD#@OE$sOH)Jb(@pRI(;NSVqPz{m%Mk1$vUIm#&xD{v1wk@MICgTwQaC_ zB5>mrT1fu@={{skd)#3({?eH5gr53B{YkqKVoT<(^+G1SwkOHmueR|#u%n^(fDyH* zH+<@%by+#Mwr94fm)5dkws~34@!XT`q2a{Qk?n)~_g~#4;KljiH63%;b79m|R@;Fe z&Ry*k*23Ky{jPuLQHz(qjvDZ9i?jQKT=CX->X7KAn^AQ%(m{;AA zs`XD_;4jU`*rqBjJfF$p^JKX0C_YlzM=Cgn=o0oBU4k|?gtd7*Ib%v`g+}+nr_Aac zD&D*n)R3bi;N7p5H^}}Ey@_Od^5ctZqy4yD1#Ubs<84JJ=nf)N*fZALz*ws03T$XM z`X`Z>IUP(6$Anw+u(yh>6qY-}AA75c#Y9!JVbURdt*Bcsr=}r%JCHQWi}a{7XUAU0 z-*BohzLd8X;DjE=eoqu5CRLK(eJ6MKNPmi9o?Bvm0+)>h-+zzJyMM^{+NX6O8XS0l zOwUpHS6YjTphfwzVKVhQc_NXUKNzcBA(Do`)YhaAC7UR;p{t&r_gAd&rT!4#cjY%- zi|Q8N54w+M)!$Eg^IsJsC}9okl`xb-uI*J{t&ff z4X5$-RX~%xd=q^rFSeEF1U?2u&pG3{!)C$a7fBrN)x+Uy6f)%ebZ^W5^o26oO?$$o}aD(%!G_{^XXKBu?*&Wx+u zRq57i6imRR-JgYauGU%A&?A)l9BFP|aps#`Mtn=xyQ6%wyHRQV%$vK;V|DNQ`}RhD z2JCCtD)gC0eIgLPIy`d$qXbVr%jblvk{{udPpGxKv!1ZPFPA4;{h{qEl#iLnSE$=N zg^i)U>immF@FVvlGv8E1vBE8fz1w9h*j=~_#vFp9xo_z=mw%%;`AX*HpC*w=fBv9@ zV89z%sn+HAMEq~tonG5*(Kng@jp)W%KzgO+vVT+fW>OZhkao@f4Fee2GVM`Tr!BKD zpq2|r)&H4_u_oN%XN1K=R-hj04%vGZ;=cz64?ucuZ7!L&Y?0kC1yTIjeEjFaaLGN( z{ra*10B;r`Vb?Y=sMg%%wBlL{=q=hys?n+qy2_DDsP8Y^g|HEVGVn8h90H^XsjIuiTZ4ToJl%*>2UeHl7ab?KX+CzJz6&4 zJVBXTOey3+@^MnDS_ueZoS4bhYWhl8uI{`_3xW~_?mL0TlE7*fJuWS^S4gF^b%FT= zgj|Lig1PmYFtqLSKuD#rwB^bod&*<%US(}2C0Q_v$t1HcMpqHE2~#M6Zz-G|Rw5FI z#u5#u20hh+c84c*)iLd1Wl4h36WUQqOC&{>bmBw&rt^AM->q2?OJ6U88Gih29KgX zD$hpSaqjJiij&!ZR8aZxlNCrjWzNf}q(rtdmyMAt#a2B&_)3g^$F)^K7+sIOjpfHM z6$l*sG-(A3irpdVMH|L+3f`dde0HH~@Y69E(Fmr$0O+kdi=%dobYyWn)W7nGuGDn6 z$cY>6lNdv>bvS4XGtq{9lHv95c{+5!AtA-UBkwgEIVn7ioUYJ1^yzRz2dGZ?R8SBa zx}*|S?hAL_M{-L&QvKWq5*HeNIpB`t*?M>7r{5%xi_9y_)5y1T$3=?>%?P zKi{Ge+FuA?N3pU%0#9$(?YDAk45Faf)@ICafM?qmU2i82))uUw*b9d00y?9oiyGWt zW`}LctW9QqA+oZjhe5rP#*J!57e51V`cTi@Ba6LSbt8sWR5vqkdt$^`!(MTXfB3a^ zTQarPT@Q>FT!e0@l($E@Med?=n-Lk{kO*X&WsRahzAfg~R%E6u+U$0XDt(~ziXe0- z14?(wxzBvrtMlJupj!3R#OYI5Dp(JfH=2!?U7lH=`gMyFl4 z7EV1T8?5Da31J6+prmPxg#_ZWb~uinUj;i3D^7RK4hwq79$Xii=P($D!zH%v=*@eS zR%^)lzvmc-ScD%IPid#<(^84+Bc;8~0;y3fa1Q0h=g=O9vK^igNn={0ESF;YHn|xBP4RzZ`l?Y0;9-hn0wI1HfUG2TIZRStD7sz2> z!0avLrIFKG{RQ~4AEBG)&)s_qU3~J`Ff7rewtC8pjiDoZ&CVZ~EL*>*2AUs1fjnal zl)+R#7}C`3=6-%+zKY*ied2G?OC;sRjsT&_ktx4wRf<@w<$hG{7fY$7m-92)rs?>i7;SX1-75Y`F0+`@j<5$bO%x0l#u(2i$n6v!U=k|p>ftH5eSap zgJPDN6>;CiZcLQ!>!I>Jj(WpMC?P7|mFSh-mqv14iu27`iE7^`!qn8AcyU}hqFtR++@(Opu;56F`DDEJJ`_!hueunlt zw1U0S2W-FeDej0U?;sWrxGC>IRyZc9uEG}&+|n!Un2^-9iiY$dJqydIKGD`~yI0g7 zD;D$#LCE*>y6iaM+2whE(W=e`+dF||@^-Q3CQ~I>t2uAq7;|FM?034{eEVWo-nP^G ze3Tc@V`&J!;fs*lQI72>T#fwEdHOXFjBA&j^g7Loy64vIwtmV0_l_w454aJ%W}F>0 zUPbW4`Z2QJygmMV`V--=y#gYim!^w)HC2+7ro`2`Gmma-9nLBt=c@`5-D?U@c3nh;J)@<($ z#TyhEe5NB6xMy`6q)F9~%0ab`pJyu{2ABFRQrrM(A>m;h|zKkB3>W?kDzgWMwSEqQh(>)EzvuPvVU`; zTGSG4^D`(HRie_3pW`Q1?$cfOd3YWa_h2ni@tV?c0*(j3~cf@oo4l#&Qw3Aj#S1i%>S@7 zQ3`sek9jW6&WHQKv5Yw>Q`}z|&Gyz8O0)iH=Kq@4whj6_a2uM<@{hULQd7pEsyB;8 zxwi`qZ(*tP^n0bhvP{K!#hzXz+KCW!z!mdB@qD&AOVPC7;OJs9vZ!Fb`S*6I-ETN> z5Bhz?;mQGu5{-2(vx<#fj{yOCU?j+f`APv0;G6tDN$233A`uMK+T?)Z)^$33VZDz5P*|stU${qv@bcj1c8OXppIKmmr8J5ya=yTAmDN80Bc{PB9+x>uT|`4F zkAcThBNIj$N1)~wKt5hAuvQ&CFK=}*@2Xxps4AuSa6Ff74V_%v;uJG0O>SnHF&FE~ z;l@{CE*`@?Vl)n^#t)R4v9hgInz5O52@)+cVGStLRS7Z|5{oLT#gc4LE80d|ahK-c zs^99)kqCvMA(ropXC6wTk0(WFS@WCdn(j>?ba<<6^E{h zwv9y}3Ob%_XrKTe{{XsB#ZXSD32KfWY3fu~S}N=cL|wy>vYl=6>l}}49G7~~Ufr1w zsBM8b9HDSgEB9c@AyA!9s{Aw5B{MVl0H3jEVKkISQAr!uX{OuW1gcofw!TlM&D^OEC3{Qio5Jda=vo&1%j7oclH5q1V)oG2 zldGcac&Yho{bkBUUY@4uHhL*HH?GN1^8%~Q{3=3>ZNHK~wl6>hhN~6rotG($4(eC2 z56TqJfUzFzsii40#XU>DYYDs%RR6!-f0|O7DBNL{iEq%{aROY-^HO@0#Y)lJJv>?La}VfUTluD9Obi8QVq=fNHV+;CV``0= z-C`|**>QR5-Z08T*rBdY(eI;rTwYRsAkRe%11vcIg&BK=&9$=lhQMfpLRaVUzS|x7 z5ipMZ>7_tAPzQAWa*|z%alC7-oQ$6IiEYhz#|cjK(fhe?Z5??O&!%|==T86dwEEz; zZ$zjudlE=XvY9M6TtfPuuaJ7^#yxzou5b;`Jxs1e(!pW%F^Dvu`i#!;Y&)vrMjtFC z1Gwcx{jwsmE*0^dD%>00a1W*bys2c_UaVG8UlBi$&ug})G1F18x+Opn*1QN6^9;+M zv8AwZ^!I_l@Nl*`dMBA8WmQS+%P2V~&>720XoLFhz0+{tI zvM|tn=r7&1Ft}4~VC!w~TDoyjPlf7_b}|CjJA(N ztlDktBXlmUv}Yh|jVLhXq6l0@bIKd(@$rO|KHX5;Ml&+x3d`_yzKyYQj9Q3jOZWA^ zH~)v2vF(;`{SPr?HM3~!)noyDAv5>E&lFj8W4=jtm`vNId*~{C!%}6#R{tSpsAD`` z*7nw&TY4d^?r|>f>7napTd&=}d`%_SW-69n#Hjxod?tZ4U2>9TMMtS;dBHS{X$AMB zEF+8tT3Glx4<_c-ZfN+rI*5I6`}ueKj2O7!$!@`ze*FDeFai4&Z{U{Qb+|0S(tEIZ zkK`wH+WMUI$F>;*UVgw==lXev@fVhQdCeQ1sEPcemSCJH6ow%a)iN*^VJzWKQthsT zI10aSY7wTNJD*Zhd3GC)52FtWkUZw+KjzPP!-9v}3dV;F(IL~YF2)HR7!ithS< z$JqJqFqA=cA6(~Hfm+eZe*{#Na4zXI*C*!dQL@{d2-UF`@BZCCmFH zPYsCg>k?m9B;U`9KN1=5wS^W9$Zs@-78Ovvx`|F5Zg|g$+SV5}W)%q;veI5X^fFX= zH{xawninVg>mnx6`rluN%>1Yjd;HrG?Ut{9B*f?Lb#V96Yl0b2#5DKLj1Y>4x(HzG6xEVPn=Vja{XRse9;BU#8?V0^9 z0{yr8`P~%&{~^fHjlRY8hbc&|PLSr&U|0N)Z*~TDhvbmu(c41{P=lnLS5s`gOfg4% zY1|Ft2j%llL))pTq}MD#iJV0`WJiaRE_4PJ|3UHS!ST?V4~?Fbu# ziqG;lF@HAF-b_k=7jeE6%3fwtf0>t92{Vohb($BD*CCuH*|;lZ=mrS#T>(*1+SG84 zYBZe&b=yJjh8+49a9&Z~hw$%ft~)=EzpPae%nfjqqF`mi1lg!keB>`z)vHmML!;M; zSp8y_4TNdKL;wfDken0rWyGMT0blfX6!DuB)l-*b#$t8z#O21B{f^yjHPue+1L`f9 zPG}xaUxNDTG=}M3cSN4vJ>84+0080Twf`SxChZz29$)F^zXwIKwP6ML{~tk%6b6Bp zMzjuw1{b_QvKTh;r#jOvChf;M*#AY==4tw)D36dLL>Kt}lh<8vc_(e+ZfB7yJC0}Yed-7{c z&{t63ap6M(HXFV_c0LG>)@Xg$g_4h+vUP!Xxp8@}w7G6%p z2{%7-&9StX=Zvscc?t1Gua8EjD~NQnMOnVWQh>=Th|mb87Fet>fOu}hX_$G2K;W5_ z!*4VJSNZ*W9&Ip^DU>2y0nn_Wgis2)qAF(tMOol*qm#9B4Gq2-a zfazUeWf@?&AgJ&?;iacBR}u&0zmy*#`DML=V9Ju zUWVW0k2XL~bnuQ=+)tXAVO(1%#^UxMk-_HLmYC8)<~q8Xo?6R`%!jAohJju%TIngd znQZtrk%urZmzUh)9^@H|UF|0ncdSyM#bu8OXr&Pvj+|T^K2NT6G2)CYld%+Gcq{AI zC_bGh8z(~wPa*cU7O)q0%V>xgS`7aKYQH`e`)4RY)|qFTipv`wazSDQRRW8>_?sJg zwD|1FO>=0z54Ih>bY}IbigN|o^rT_-jV$&uyURfmrCE%UMrHo=Xo=UV)OAH8!}P&{ zlbA@LI7FbyS1v%RX^xVczLx5hPLqNXy5A2{gJuT~QTk?5NxUYtLtW$ryYPpSrzjo00J|#odEI04atV|ADqN8+`Sl#TfF~5mE`cTYSqCVV)y&a zeW5JV=aN1Za&@u8EHV9vBrnT06^FC+xJBlsUtfs)!e0kA0z1jukofIgMfzLFRosYQ z>gTuzsOn9}7(`9Px4A6X$22ZrEIob^1ke3Fl>8Myrw_P{47F1QzkD|$Gf4lTOGV8S zcq?q#+QJ%{nNs7uYJ`iNTkv7kB)vJJp0sL=o0aHhB`UEqmEwlBxOJ>YVJvdtR?{Wn z!)k%f-^E0Z?vo;1=eS_gdBVPN#{;I$p98NHYJN&3NNCi&pmGO-KMaP>CM!J=c8ui) zaYFq(cwdXXxq@o*~D%4E7pNDt2bi&PqQw(mm9SpTe2GF|XOr78Sz& zK4o%&mzl*LJo>bG6IyLGf~Ml>=-`P_&4mJ;FqyB|pOU3<;!7YiH`rtP z$!FAF>Y-bT-tir0nald2Ry#pmaC&cr|G6!Lq`gqgPUD2LRGbPYjmNM(BX}p-+ZEHGyHz>Ru5T?N}W9JMa!H!k8wJnXAOl{*qDZE@jd>VJ;7Tqq* z**J^i+mstMyTy8!imz3qE!yvF`br?oyaSRs7D~88ws-Y`5yCX3To*{4VyD3fq7@5v zu_Gcz&haJ9vA?~x`npgeXotA+=siJ!c(mo@_+T6m=Y-%mEA7dJ6DK#j+11lma?sK; z=#407rPSSa?)KBiREBuu=Df+OYFfCHG9`)8GGg+Tu}#?TEo&PGkylU&+`DUnov#@DFgOzb_cw1U|E%FlCR@k7VHb!R{{Ee1 zsb8z~)=|T$C%?`H9xyHk83RHHKl~%w;sc7m@8l^_x@G9Q@1(^&51c#b9I_WyEt#J- z$#&_qQ@8|i%bG#@&&ALivLH^)d<@JfSfU2&1UtNbDCK=ZK>ZVN<1H&XYR~&mp1=pz9ug`QLk)p!jal{6I#mGP%O8~Qd>CjgJ)TU zgi(N-$<>J`)5a2JHikDxQUO(sW*itU{Ux+c0+jXy?N*5Ge2!uCx>*soAvQVvtRMnX z60(13&1*fj^Z%^E^7B8X){FEc96!QwU;hV<(!i}8dwZN>FDmrCW5@-qj8)%J5VaPg zD6MXLdO+w`95~Z_x4_uLjZ0|ldl7}=?hm@*O8$xYp!u1Uc9aH#E=+pwAZH&h%+-;8O%qe9cjfN8IxiQHTt$#)Drvq0& z7sy*A+*OtQUlULNm|pvneuwJvlAu&nJ7K8p8;w&#PS<)15&WwxusuS@(#xK!X{*K2 zi{B+CI~(-C%NFdrV~GF1c8^Bz*0)8S6--~$%vk4AP2P*&DJE^lWh&qp>+TzeTLL`4 z`-C-Cy6yKYIpkaDgy{d}pM(7|LcYk)GkG0J!z?!#gwzjd!(GOdD$D2tQNI4Z*?m!7 z;@$5MRn6pNRqRN=iM&(we;W26?ug74LDJ@!z)92UFTNqC8BP&ErA=QzW2ME1Ai}rh z;=x>if`2*q+NvEPGGL(p&Xz&lSi7>cbcMe?Nnbf+78%XI{>bI{!1-#l`n#TTjyq z{H6fNVG#v?gC;{_5>5vJ9WoqLmV#ztB4&djDjb;HC&$j28p?plR~DjGudu7BaoeVe zY!4LF6w|fVIWMenZ(#U}2wrYo8@5+}-G1GIXLX>6SNJhbd3$k_=Q8U)%e`XpgU|C@ zKl~0_I&!qCl{XtoEo`v2u@k>GdU*3mfTkMIL=Xi*y3;AiRSmT(_Y%VIO($TG)}@3Q zEco%f##2L69Ku_Pqccl60+H3fx;H16KnAu%cr7LqR*SYl>u!0S1U3L%h_94Xwg)6StCVyjb5y zj$l`5C~B_^$;1zS#iAg>GO=NDW6>J|aUPH+&4Sfx3MOK(gxJm z4>B4{DH>1q@KZg*u&g*vnmM|ad-MGI;$Wv4HpIx7IV-+~0m>Loys{&wf=qE>ZV+YL zJYD*N>e!;(j|e5^lno>9sznMFy{v`}Y7ms)s!GYq=RT3zZo%?}`_+DcpLD?;_pY6T zQGTKIVaV!63*GNDFEl%4iB)AXYXxdAU3-<^b{*p9Pk1J06^!MI}WV?u=Xb7VYOJ@6OP|I&fLj-NWtJ4aTbvZ_m zu7RO+bl38%l^yT(8yQLCB5eJTWP{s}VPaAiOF2r@b(ZPbJCn`AQziaoe3(&J@uph0 zj7l9$`bwQPR@FS^G* zS0t44fkc;101!cDIb%;OvWAESY4u1Gu1e$kh~-jM-e^f)7|ZL(|yR3Hyble zt`_yhfO6q}>AP20jE=To z5?e`8M%6s5l!$_^4Z=yPHwo=dzDY)-P?SgKmD*uKEfM`rc|0_L*c*Cw<4E5tKkOCX z%yxF_sr@>fAIb52WPM~@#BTGIyGXQD=A|FG{xOulTv3aO?%kl z$1N-f2!1hmo984@!8WFJ;Q4`X?p?<5h_3JI{o{e1o-i2Q9a?5A4>7(ejh@k!@1rwe z0ZqM{9U$SKkuU{I)cCohp4TALHbNTO+T6JW(!&2MzET>9lL=~Q;*O-0EO7HU+i6XO zUjK}QFUnxk>I@x8zABZUtb$=^=jl1zHT zjBbfww|@f?rO0X&{%%zfWQT}bHLM&EN5uhSxHs{f88tN_aoPTRLSujLx{_UU%b~t? zpZ|g+rTic+F-(8Ve7*E^jC0lc{z1pY#<~XWrI9r=UfExjtCJc7{mIWnGf+B*XnA{J&%4St zz6)1?O&TN4J-)raMEbVzeGM^U@3QIn(KdE*QV`#zK(cp_53_mNehEiOMoF+ytoAkr=WYR>V1(YIDM#a`QAm(&El$kd*rFf=W2P)UJ_Kgi1u2W=QS0 zv~EZR#Wi}e!~;!HPl^xoxK1OcN_UA5^QMmJb` z_f!vB)Qm_oV}~~QLvgK3z=$k=S>99L0Qu%TU#*B2id|k@DDPIXif^Q@9G`HSEJ_!F zMm^H}!PU8Z!OIAD(>)L=ny<;F99jp{!uevKND}=UyRAjMIf(1~# zS^nk3l$o=fP$`U_aDi+1M;x`EhV&;H;g7ADJ%zIu$385rGaN80O>)FUabQ^99l~<+ z70@u;0fkh*Lo9=4C#Pgujt$;%CmdRarw*knlf8u)r>~&v1MqpX2H?MgZV3T~M^aAj z9GxHfo&LOf0HI!AP%Xezbr$sQ{LVl!dzp6T6VaV-Q2S$OTM>nO#nsPf;QskSzz<*( zOByJ?>|*gdZT9|)y*u!J_3knx*4WOr4eOiRe<2&nKzl*H%fLrn3uM#+A+- z|MXArT?YP!?T~7Mti<;rW^#sgD^MPo?l;t@+sGUUjfcrRV-T7l!B&AFCNcOCwuCrr zV@q|w|9U7CiS)@w4P`}moU9B5$6uDQbtY9FD~0JZRoK^RL2Wb}$cL?`3eky{r|u^& zCEak1Q2Ghc8(o)9**)fbezKub3TidpsWMbR4lZkEH_QbZ6PA0Z(I}>AK+qP{x`Lg$Zetd6L zSNE!`?^Ub+bk&XPJPy>>Xi1iI@BogWL7EWpnjqA@9W)gC;8H(%_oPJG!54`JDBtz| zNV@rB^m>BZJ+%ddmF+$oKsmwfbh8o;gw4Ug1uo|cUWrnRw1xXoNx{y>3QJ{vuyWZB zizP=EcD5LtnL^(wAM5&K7;8I)16=<}zXEhan`s90WE@jUVFkPTWm3yxx$lCSCq*Xg z`E1`Mb{k0BBKn$5kyMxPa&7stp8X0RkH+3|bPwyKu)DEptrG!0z^8q=Ho=U+*tpvG zhKYVaW0|ktS?osKTc1N`mZ^6jzdPrGz`zfNJ27*?J6>>n_tAPk?0e#LIICioFEt&6+|HNp}df64dye0K1xCJ+M2<)rEYd50z*v={ar-%d~lzP zGmdR70PB&Pv2qr-V&lDB@0|zAXC+W>ilP07Fqyq4HFejtUq}8jMtdY;kaGpidr zwL*^_%9vddfbNU0_FX)nsP(<1|5ksVu=YJWT{7UJPrvoe4H>O{N_3SjF9wVL?dDG- za^CMe5o{7xqJ3|_sW9av;O1FgMD}hXTM_>jsDWM6NTgKvs+Dx5w59A&11PR{MNN&;dw3 zEWlk2cMxXxXFF~5Hk<>hT?9p-EDx1fc*y|fP2{a}+RlW?w!^*MdkDT;DDt~HSawF0 z-tJd+)X#+Yh$SO-zV)Q+G)zX$-s-wYg#)-3+Z~0p%^Se~-Kk!EV|)b#0cs8#1XccT zQS?quL>8PvNChPhfO5wfK=b{T<%+5hd7#s@2MS@l5-o`$Lyzk%xIfIMLEeLj{AWL^ zicoseGV2HBPUjrDd8-scG+Ux0sXqr?!*l?CAqMZU;8n6?!+kD$kkD6}u1(>>Y8;$C z-#uAHR@#&4ce}^e=J;^PrsumPvDRql%&bP8UVM^qJ|8v#K(?$-i9i;9ct*uXL$1hZ zL`0e?F1En3x!puXuFM9Cue>Gn=Qkd(N$SCY>ZisQ+6pWd#tP;{j)WbOy5T%y5^Du| z+wjQn9PX*5X4}vCMGvtlY#_*0zrw(ohU}(jW?@-g8=Qcuc9>$+VC}^Q7nT#enrF<8 zU%J|E9LozMfYQ=d3~1erDw~Z+DIpLAkU`cfg#&u9h-zaN9}%Vfz*XS6LP4y-kYXcV zaz`;ScAI!Kv8230CJhESBj~cuUn)t&4y~-k0wtOf_AC3vvQ(NT`=LX@zn)#I!^w;+ zNk}rfJhMVfXU>W1=5P_v<{W}l1WY2&PZemvV#`9;0l4yF43HyXf-Vx~pupd)D!11X zI!XuIK<`1W99*Ob((MPVT4%;V0S3;rS3=@KQKDY1kw6|{U0lu_hlZ+QWZ;H0ttX&j zFpTb?8u-*i1nf<#!bK{>Tb2foY@*nP^Jo0=o;9B3+0AbO>lVyqosd@9{iUgYRuVDI zv9ZFg02(CHKX_=Da94giz)i2@$tLN!k3KHSnPOo~?bUCFJ<&!zDd4f9&Wt!iw;+$~ z&l!E~A8EP)3Hv!3UF;t4={TcgdKv}9~YzS zWdLT9=}V~-3%)+ZfVhd`$|_z;{G;Li*rN$8QU5Fmt+>EyHPpGc_FMNLEwI?w$Az-o z?(X_VzoQa{_Hv^;%br!XMLcOQE`^mw@p@*C3B&nJWjdSy%>km{bn-HJ)swZB5R< zo(fgL_x482%m~1LiA%)d!xAIUV~Y&&{&dBfP13JjttBRi9ef6q=vm5`kjE; z`49%t@N!ShXa}RVDflJUAno6R>^`I<5`TY>1U=4(Shr=^4h_b~B9A2E%91PCU5ae5 zQdutWdhwiucfpKBRj0Gt1R2rdJui+<&yEi(_P+(24 zsNWpUXz0vGd4(VArT?(&5Bf-oO6mi67SgbjB}t(j)uScZzM>kDMnw)ox&NKaX`|Y| zM0tf?&Uc&p@Q#}@K$43K1LYqBBM>Q^FJwE;3$Y-&@&*-MwA6Jl-q03to8#-8QoE&l z|0&}~Y5%yr%r!-jIsB4p5D9N@u}(3A0omfo8`cJn4L!pU3m+5VwLBt ztl1zyeeJDda2)IGXP-9B#7AYWU8Vc=b0DbWuuSKk6~V`!`{C>!4v|1^0eo?2K9BSf z2DpU^Eoz`9?KJ?s$zY9NWNV+WGiberOExnN%HPZ;buGw~(}l2T5#{gkip4!|bU&7; zTS7VBwl>fGk5?iB54kmPPKO#m&r84r5BN7L%l-}!zU)NjLt{W^E>4(gOTq)Im&%Hd zx$bzcYzPBS-|{q2=pK$y?a{hXtfUf06Q}Fs&G?s2JlIT(cPeWuKw0bdahtJ*C57n( zHItH4KR?C8wu5OU!l$BApZrrpRuxoR;FVf?{;-xXMbL9uA`I7yMJ(01@g)+XA~<}*0O!NU(+mreS#BCwm&(u6IywH z&5S7@YOK;bSlREceU%vvg5LoYV%2d0Wn@uAMqi}Vo{bjtZ9Y-q<3&%g;9IQ!g+p1m z(n5=2#O;n(1wt+4r6mSf3wXSbeEexnU}f3o-HvhR)pgvLguUhJn}@!|Jn+Qi>+Z)= z@D;8Gycrq}0%2}TSd%mQ1iiuTPS6RZw)}G|!~M=YUWMoo;;Kw3rzkoVv))4*pJhHP z-%2jHd_p11u5|IV989kMupM>+MA%8Nx_F~f)1=J98$W#^Ib9XdFb&)A+|NtCAet;7 zJ^ZI)@vJ<$`xh!B4a10n>vs!e@IcyVqiI2kCiNa$C5@dQ?`}zrz=SU}=;))eP42k% zEWcO;Gb|N44-XnM3-MsZj4kq=n&scu_V=i}@G$mC+R2&Rpe z=|S@(r%1K6p;9cs*V-b4rF712d@Q4t#tQM%&S=xadsS^uUQ$mtUFE;Xq8nX)e>h z^^M9{uIetYUT|EYToUU#lUTD>P%*@C7`Ij`y^*#r9C9DP<#b?e+A28gazKO;vYr;a zuA@77=#l}}EO1SG%4YQENa!gc7YAhWLgagyCb}lz@^`MkcY_gUThm>4&)Y0PsANkJHhWOergqWNELTb zmE|AQ=U`}${?Ko9W%iPKD(<-P+;{oC%CYS%4AeY;s3Q|_G%gqF#NskPXbwJ%Y(Wd| z#GW9f0GJ|h4Em|4+Bw`fGa@%pd>waqM|G{hWh-=V{NL&aa>q<#AJC5K1ZdRlK-BG! z)a{_u?XcACAk^)al0jCE!07r`Z11d)dS*oK9h%qri0wT>*JAbCIPRDE2$(!IR!FSw z+ZQWEeFFp2K2)|%N#wpY>$h)p&E?>F(@5@V{- z0#9fF&&Y4}Z$ZeQ`4q6{J(YR@o}j?cCwM2IHRTPr`qR;YTFBiy+L44Q|K#)!6%D@x z#6#pl%}&iveT_OG3Jjy6gao?6mvMR3%JfqWKeZZc=sK-alhv0R#rg?I6N1qx6c9}U zA3gq|`<+3((6Wl{5Q-a93^Pt&LVL(Uc|5#A{cOk+WI|pni4@=yM?ziTLK=T(v{*Jk zbi_SPg3v3A&w_xZID%Xq>#zIqGLvNcF{W*{;u+{=zP5_4aRDoaF`FUObQZ8lrk${^gzq~hAS89Y$0wVu_+`C*~?9oR^_ z9WP7 zFI);B?$dwdAJ z3CppImztFUD#luHLRsNX$si^?y?LVU@Pj@k-R);KLpz1#rb#KNdM>g~l$1Rjbx&g{ z=u#fCPK=cOUYp9Dp1b^fdxjt29-XiQO~UTS?3({QJYffl#Fb}?>| z{4}?{pB`=jKTzgL^AA^f@Gw(Mx9Jpn!dY_cY55%c#R~iR94^bKJ#nb&eSofhMEUFL zx4my?)|$O_<%1=HH}-}^APBhf_oo!!acRtY-62YtS$Fy^n?6s zZX49ya@q9gl2?4$RMn#q~=P6O~gE8aw6GWs|H)-sx9!B?Ku~6EM75oNR)`KGqwHk?2Do_=#^>*q;gg7?a{fk@aBTjW8hUC$vOI=)+e*V@ z0DF2{Htt);8l6IlY;+>g@|F);ptzHRgFWJ@&L#Qd1fl&JM&@9w*84FJBx!cklYl%= zWOJgVqb^znq zUE}y6rU8H2P$ciUXm5&rO8pw`?QPQPz^F+7je>Yf} zqfGBgdKQcOXas2%ap0V5+W}^mIs4lmJ!^w|2*wv!O9Zx-RVEo-U_}dX9*$%4!o8!8 z98>u-g$szW!>EkGNp21AdC3p!*e3`cgHZaAv3NOItc&&Y4BXsGZLGA#t!m2pLg-Qz ze&5-53M^ngRP6|XS8hp!?AH3O?jamzNI5M%*TB7USc@XGG2zOS!vWZ8b+Z;Y6W3=m z)9)rVQ(m@A!yTn2wZ;8qMm^G!LPmAyX-*4{)e5m1ak-8%$2-y`ZpoK293>sO;)KVS z`2>;i$lJ)G8qW#53QIL-d%ZY|(ozg)d0n-Zi7a488qSeZJ%r-0A8VxEibm=`hOn$i z*q-fw(o+qHE{~y~76F*!O3V50*w|TA$!kpns3jrX!x9Wmp_0 zr(p+(z1myiLyTo&29z_4f3lsu*_c$oW$~HipD~A#%sC}zR;YU!>!;Z$3-N2CNr3Zs zbv7duJ!F^eVBX#Oad{X!H=dmU!!0rC1t4)9-AD%_5cCa6-vAW7f6FO$%7{vV)dRiY ze&zI+7}xR1mUU2>8h*D=AA|d+anVGZwi66PiCO%~USvkt^DI=PyAkO(C}#OeHl1Vt z!(VEfgr%Qox=tHn%{=g^Wmv9!Sx?Q@uOu8M!jr~!o@~8_!iHQY%(9+c?~%r=*OyfZ zM2*AyF`>I7T?AN;`GIX~q8=l#h;U<0@QvjHh^l!d$6opydpAc$kR2&d!SC9V8>g(a zAG}0o5C;VDajS%Ki?q!KtOK{7w2a8}XA)17|x?W7OQOLrmtD% zABByenDR*V*y{^$mq@7KmwMr$ zKhvadp)ldi89%y-HcOv+b9})QoM{QVJ5A)W+`#Q*F}{?f8n zz+#Wu=--Vb!(V9pp*-uJl>C?Ki*@rwhSZeOhX?KFSUgjX`pcxMnnSlKgIZxaty;>2 zXEs?ON;L*H{hY6Jz9;>pq5Re zGP~Pw+=(eCZs5E&jba7ejG4h6dm}ZaRnSC>Nng@y|Ad!L0RVaj!YW=vsNe+}0g`k{ zqJdjlw!s!z zm0QfpxSDF%(6mT$=_Q7 z*-=uxq$nobT9sPi5kHbwf@Ku7m>NmzDmh|W4hkITDQsyRXrQ|vkeg=*WgG3Qnf?G! zFo~`=#&e+Bd&3`Q+h(va#q4{02ZqS~^2aP#0stkYgTRM%4OLr>5ED#pJNobQEoEpo z6cu7d*Cai~D`8-`_b_orrfw!+04gE#qef7?Zy=(M`8vF zM`6BwF$zZl{;9?|n&ZeqxkOz`nkhizg{_V~K`;IKL1}(PJ#L!$f&f%KBegQV8AvtR zBqd?N64H{ogc!fH0f49*2MX6+TnPZ948Tzaa4Q2KlmQgV07AP{60o9A#JDvWsSn0D zZfL2GpT1%?`%*LyXle5)9z)|FeVW-S%dG^sS#w5a;P_$}(S^}7QM3;3SyI<4}DQic6@xE?p;JN(%AU$_BBQ5zrjPWaI=;)j2Y#Hcm z^@D_KQ9f^ox7;<&t5U!R#sVM~AZ&El=@O!p`j+Jh21Am^cw{Dw4fMgPThGhmeyQLE z?i#xfJXZ$P3`zy2&>7+ff)EUf)56K$EZ^T^&nCCfkx9>2E1!(0))%%k)jjL!G>atE zNX0Z&)oIueLRZ*S{3)Bi>@(vjofo4`AM_Jc=_aGzLD7j6K?5;jngpOOK!%r%jy@Fo zzO}$R*!q5}Gy>16I!FVjDmwau2yGR-!eUyJHr+8R{IGKe+9!KuW54i|@O^i__IBvL zbKZgoX0v^o_t&VN8sZ4@MIlau_t%Tf7dtj-Y=~xv!Zgz*bj`RrL^jnUE_OxU>IF8+ zUIi78Umndf5Z^)o;~@b20&y` z;9wVoSVHGUIzXidlq!+OX6VvuBrE&B|L48=1Mr6I3wVP_T!6N;BEHCi@{iZb8uXjU zF2N)>s!4T!8Y4%witg6sKsa2DW~NF*?eN&IUp3*zX<9D+Q2xI-np!KLC_A|#|G@1b z4TYlgR8D3aFq9$e6479=m*IjifU98dkMD00W8J;p+QIK}XPol(Jzo~T-dMGjoz`~;M3{#Cad!w$Y7!Fg=}(^XM(AR(99&bL<441#(KL)QOfcFFt6PcV4r z-KOq83Wy`>N)-N74Svrse76mJ4}pC_D{2$tO5jC_&>P~cbi*o&z;X_ScNd`;9pF-l zaAMT09I~DX^2o<2iGb6fVl#~5NZ~p9Iiqc#$3gJ1D+D0zS35`NqDSLhrhwHUd9}|v z9(pk1wngW*7Z7oX3ElIJ>n1Uxz(=9tp_+9UJMV=tiWwb;Wqx)2(-F$QGc_I+Vz#BP zqUe63{^oV>Yz1#+o#b`hEF3Lt46^g37NA-RE}Vw(r3kk3Lhygq1u_ndcuMcUDMGzq z#3|Fc_^>IA1NaCjU+oaM%~%nTr@(Ok^qM)fYpia5FB$GrYKkB^0h&y`BX$_JIEOb;dAu$%$MJsXcyiH{Q2bRCt@1c{5ugd_fKbETzw9jeQQ!xoHq}k$4i;_QlJO!! zELiXl7gz;-qMN7PH~o*~dppOBHlp})Xd0s_6!v35#O{T)3-qWY`g{x1=ejrBsomsP zVf`Nq^{_1)XDPK>e!(ENE`J5`*2_7$=6TrASLy`;Fz_SRIu5&0B^yiKzpJSmZ>%RO zv!Yxn)S#_>Noq&U>tS5XX}h%@z~g?VMrR*vuAFhfR20&`s>QMp9rbEu$sit)!S1)( zH_2I}+h5M-9SK#)StY0~jIC!0zeg9^5i9U>e^ZQ=V}$?yLPm%7$AN+o_K(B=imeP~ zqN!yE;KEs$x~ORAS43$bZiwy3jm1J+wA}@2wW?1@0^0(;HliQ(U=dC3iw4YV^$mSnCSq~g!{uFg^{kG9>7+co81~;GTL-PjePmUkVuS8 z=`AVfO-hFb6Z|!tQ~hsVxtZXoS8kCdCIxZ#G6}dJ6vE(L?-gkAmo%ctho#9C$w|Bc zGlgzy?q+y(r|Gr<9I zo1`I%ZP=@7uDEQqp`Ou){!FA$vvn6TB>Ow zYiSAF%cd%E#AFylf@#a+&Z{K=BL7@8z$ zkE##@KfqeRAP(9q5)1D2s13%+wA?jx&L5^wov1k?p`Z#$&YQyALvu5db4EzT%bOfY z#DaB65|BH4*S46}tY?k?=!a1O0`TL(eN^Eq(Jz^eb4xgX?VB}6t(EtL*|lDqV71!q zai4oeW_}u3ad0C4qEXXhr4ZU-#K~C7=>dgb2yu`}f9G8kDAw%Y+i=u$?ZD0AsT%K0 zK{Z?4>yJ6yMmiC&4c$L1^kuVk*`atY^S)#DsgY2yH+KJ^W18k4VkleybQ$XvCC)gD z(kulS%T%TP5In+=I|}GG2oO2BN)_vndF41)lap14K4(tqNpP3Se?FmQD6&a+u=Fhk zni^Hwp~Gn``aHJr55_h^K0UF}7qEvy-LFxAmuQ zImjb|U~q(N8q5zPwX+Zd@SRs#s$`);iZ@o@%m~tLQXn8Bd)6w%7O>$bTLo~Wd@wpg zA%qRC9>j<>x?7Q^N(?_LOyl6hgfuwyBEd7%iw?nAYIQCz+@RJ>QoK#1C9PnVQZr0jnCYE^*AO{l=F$TFL$qoT%H{pkV}_;|M}E#2 z6d@Zi7i3i>mXoFkNKN4pekNWm_{17gcf#b;Uoo729bFgwfufOZDv{T_qh)Ds6usoI zQF*U+S{JPMLh3*^pCFRlKc#)_*SVxRPy9ezRY8@}opzZIRp}sOkmUnH_rBJ-pssv4 zxwm*0bEVT$fmD%A4?2fG=|>e+!++d=s2_=nog9aFHcKXQDp?0$0b!7DnRShtoIhSDK%QJ%&T)5e(U zz-XGE++3_uqcn6Q@kF@bt&8kIz2-~s$Wj)VexP@TOs6P#&P0}(Nqb^s#>}rny_g5A zkeUH@|IgPpKqBrKT)3^eIS33AhblTw#PGAz4sb`V^)q`{R%SBiduf(bD@IL%O9Kw; zvapJN@IgyvS_d)Rvl(OT8qwP^(C=Vg6YA3SX2^gyx@3LX$vm0N^rX9uecZ`@PNReM zp{odou%4BX{n62zVb7G|dN^9Xz}kZ46Nx_nJScWXz!iHjQO_^po<8nT+n_*RW#*$A z@_q7K-DJ^VJMyiAm2Z(YQzsqHAos}gBRd%M8&r@NWYCYmUO}N9#5{Wr64dHpXy~T| zCp$F-_s~prQ?MYr+c!LN)W5Kls3p1G@EpA8_@-9e$-zNJC@=%$=+)`zdpcHP_(WR^ zng%o%R%z?f2fxS+Fy?24VFj%>S*Yu0E zwo|5;lzm!8GYh-rm!EtONiv2H&4_1Z1XsQmHX#s(iM?#Iy_vS7LXhhJ&rw zeGs&ff8uXQ>z7-obzXn3=v+_zzfi6}ro0ttw z1yfHehKzl>tp(hHC!6K;Lt2N2@^`x$KniM;hZhpfHX_YWah7;*^qIEsQr#%>TJS6* zI(o#j#3>pV8rd8Mqr6W)K8_k$kMzFInNps{TB~^~`HRsxg4679I34EBW$^-E+H1hw z!s78Y$EdC7uc#ph)R@EEpGyg6n_k?v>t~lhIe+Y&i+6V%VBIstZ)k9;9YVSF0Q|}5 zm$GhepPG8SHnN|i&Y{5XVP)a(EYW~UJewj z#e$j%uxjm;%dFU46wZNIk;L!&gY^b_1r)Q#ZjH;!0n?>w9$S*BqVn{!T%J)+ⅇz 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

hSiggkwNC5_2xpa%)}>Cdo5^HhIIg=h`;Kwx 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 z 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 z

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

9Clfep(TLebXN(ik(#8OPL#tYKRU^p<4W#uwq`M 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%0AtaGInv|gq+m8Qjw}u`pC8Hef<3&jK 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 B8KwXL delta 818011 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

wRo5KB?4PJqM%u-wIucJai%bMcRR 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

  • T>Sq@D z**8|4vC$iLN@g{ug7}^7x!S04UcWOaTi3WFIi0^ilGyL{+v~uo-H5I~Rw<`zW%ATu z-rn&NsiLD(tcQ$Ga^V?C-t0J6wNNc47Vi6$;xgHks=d z(^jGD^kuH-t%)P9o%*t7k?UW_w)hJ3^M1I6=TQa-HGOtoK8kFq-(21Qk~+Ci}K5LhH4zPU`7FN(qViUo2k87Kobd9pWqi*#K2@11UPfYU zajvPj8V!FjQ+p=cD4$gn9CSt|!2y6Q8fnu0DM!|Unqnyg1Jq?p%@MK51nOf=i`Z&O zi&)~+q$r}*qzHzWxjmD;Pm>i#Y96&&GAFXm7}}a8lGYdslR%)|tk>Tev#^PizEGc<7T7}2@o15?&?_PXidP2vlFA7gxXb|Y{}(aRO58`8?B&Z5vK>=gdc%T@egDl;P9;Kh12Vb(_PMd<*l zwjab^&aHg@Irb8FN*tOWadVA2#WP`VB0aL?NR|DRRLE=y+73wC{1h*@F3BC5lxyUJ zySR5omsIfZxnJgd=DGa_{>cd@*83so)BU`=>50C4r#8^UNma6^(!||@r3_``t6EDkR@Yo&veExA4>9x1WcB{t(=mU75 zoJzo}6!_1q+h0iNQj){WPHA9yTUHq(b*mIu$-A{_%`|#KmJgK!JBc=zgN*lP58Rf% z~Aw6hG9J0_F+s@ z$;1oQ(8uA0AJPawg_7l3H;w3>MX-16f?T69$=vC&PraWi`+)J1bt*PnPkwe=nFxiI zZm49B^3<_{NobnlVACcNlW!IJ-2~}6D?7DXK9;x3s4R2I}2qePwfBnJ_H>fMGmg$@5UUz*y@$syLho!d-in_!nuET~#GiJFFFYLBt= zY9&6c)= z{O+;}4I6`bIb*rPSHXnedS5T)?-pw%!0CR=e&)7yem7IAH+RXU+S)sHHIqwF!%OXt z1LVh(%mFW}&M|C`U$&OciXkUmP~$N63rX|7`QOCsFMryvm9gfVzMm1B^d?VA^Qec} zF(Z8ym+<@kCHOP}^4?PT2_BL7%&Ck7>M#rb9$Q$eqWy<_=e1(tuT%5C1jj3L4rb&2 z-SNb=?M{Q+n?nG;(S?5{-w@ru;U9FEx4OxIEuac@hm&fD3tiA}Du$@R7cwlzD zqPup?2 zq_;kAoTFS=zco*&&rJ(!gec~%Vc~{Rz}0Vu$b0I3P#rGUCwNo*ku6mX`Q;Rem{YL{ ziFUvy{%6x;bo@-(9bVH2q5~6Y57Gl8)x4JE&_miIBf)K_Q8Z?0l^kvI-gI4m{}Z$K=7<+Bc%jpibV2*5gNz6sLADa2Z7NuXwIt$lq1?)Tj3( zzjTFx$=|Z^d`8J1Ey|zv^Ia{+v(n9qU%Wlp1H|Y zy7SB68Sc~-3tUAeQL!eTD_K-j+r0z#Vb#7c475ppnX$%4Fpit8mT{>qK;#$8tyBUC z74swCcZNphjJsY0k6DeplAfZ|^N`>DICJjv4$kp`z|Khu>uXhn*013tr2|;&?8%T;lHs}m%%G9{4LrzX9!#QQS&E0KBpU_XO^a!1GQGw!p($t5Jv*h=%l8~W}90*wiWiT z@3d$0RR(7FyWnU6d$c!e`b50P%J8ZqrjuQm$s!~4Rj096LAw$fzXO%V_A^)ib+tYM zm+b=xuO#RT3s4(UZ!>By4#m@c~2lgJGbf4bmfB2AxXBTU;x+q`^W|5`@(T0@?=K>LyO zHgY7r=aav)QoOT%>?z+x0GT&qmo@iKC$bJg*i}iU8x-=wbTu#BWY4(?tCD-GqK=;8 z0fv%qsQCg4duF+>6yIOF>|@^yF@)%x-+xgjQ6xWK8=eHB1$Fkq-oL}Ig`%eHNA~tW zdnFQ{i9lcMC^%2!J!XceM=5YC6zVcXAM3_JCnygS2H9l_cnz86_O54u&N}=2iPr7|pBsDqq1Ns{y8_A4$vDsafxMl3whg%u z8#_BCLoEFVwKQzG55;f-b`29mk?(QP%C?U^h`p-@=m4>Es{pbNHIx&ab1Tx06Z~0R z4Eno2I)EF|LpXR2d3hiB@Jt-}UPrid5A`6#J9rL%@$3jh08sg!sA7Ke1%o2HvM+{? zlJ~R_8>hh!xPhy?Yz4+JzmT_tSRw%IHeXKhmw#k$isBq8u~j) z;C(0g8#Dx|v&4(>#p4$G;4?h+o4L#msp}TKOwJ8@;5(1tC5iBsQ8;9Iv?y$^{{ZIs z80^`$0y=Px|0O_KSko7=Vpv_aQBX?bfZm1b4TL-B%K+gw2YZ<(2XW>p)@6+-3?D`o z@MJRRTSXixvem0z$9Kd8LHbSX#bArX6VJH}!2n?klO@6!aV;62{1@cl517kpQ9ty- zA8?n7af2d%!ycL;-g;3k|3Uh#pj?*kTxXI;YJijOzu1n}@P5%EVq*k;xlyTSzPs?Tak6k(Q@h5c<>8MlkO>=t%(mi3Q;m8o?he5(V6&O!%Wx-DWP99x`hX-OL`^d4s#j*CI8mk)WT-Gv)#AS#IY8V26F!Wtv4I$Z0GypA6{bCon6fs z)g2EGN5uA3XUqx=Nj%7>@R-A^bO@?DPHBEyX)?uR+K{)GMmWD{!N!sA-dOP$PL!D2o5U0;KV_4; z_L6_v{!Ed8q)*@fQjETRC`S2m6G8bB-hi@1WKxf~a%@-v?|e7k5zL9&K5DW)Yb}7pFKC-l5z28bZZr#Z6D?ybDG|w6RQX5bnm%~NguOP3E0CE%yF_m13L!gXsW~4YF`fR)NZgN;n zr?|c}&n~M@G&}cQgPKfHP8Q6=bZjpRZcivfB2yF~S3Ho&Vj&Q-WpGU>YuJhFLhd!g zopqyj-d&RgH$$XZNM<<(bFD+!c3{um5X*uc63PUKN^QH4Y&(!@X93EjvS%{Ido)T# zOZ?Qb?xnWpdKc2+VSkwUhYuOS0Q)s)O1l4cm7{N?p>KmDF7PEEBqSf0DEu5@N-JNg z=@sD{J~E1JeIRFVI7^PDWWf^&WyWTzKSZ;PzH@b>*!n=v-r$rR@qXL~n`NW;%Q=+J zk$Bb{!Ws%&0Wk=T`!bSCeq*&s!kC| zXVF-zW$md_jR{|k@!?FE(~-rOKDv^?{tX7Dl#OMk(6qyV;$%YFDn>0M>WM&FWc{B$ z9w`G*m&yre3A$qc9Uu7vv=k^@`Gs@ve%B3fuNMZt%7Y=$?Db5L3?Nik(5#E|iL%P&(Nl+l~*%ibr-u5KjTC(4o|N?9;`LKzyl zB7o0sYxZ((a7&?E@ivL78n7kD<0)bE49NooG833YhXS>%fZ6i$*5 zJ)-@qP0yQFr`b*nJ$!!y_4i8$igl;o>(=Dq#j!T|Prw90Vh91wbVXqXOuNVUX zmFofRrtfJ_15L)ZOFvpxf3Tk{E}!z^-DRKL=_5aTp4_dXJQFjNVt1+4;1W$+&kdJd zVGP!8F{EsftL;r!h`!~F@3E5ch0_{6HQ>o~%hwf29ejtef-Fqt@vi?_(> z4z@6S(NWMHZ=s(6mb}LiJtAj&>(rD?c6IFr$3AYG=Q4hj7dcKdjYYjzsoLVTPk)*x zHLm6EOH%3}CgCg;z3jPsUvG&$?Q-&5#bMDXFe!qZTVWi-*8OKfW@-KTMBC!T70p+) zyMsg1lAblY@;xs*1%Uj&0N?)xurWD$8qy1dV0c?iC}BwcmzbPshL8pO-^Ao9Hw0gp z|01HpH8n}o&;38>zW+svC+NZ9roR!8A+)ktAR_+nG8KA6#s9V9LGa4|%a3-Y8)eN* zN5h1s{tpxuCB5zm3O=2bjtmay*4B5%Jir$2q1OM&ESeVD&;SXKJj$W7#ZTQFw1At4 zV3FNG3@@(Un6`M;@1tF_U_ik8hf8j?$rk)&md8P!m8(@8X^=-Taex<9^n6 zb7d>`N8?dmeM8q|kGipzfs0eL0uRK;i3~?rLPZEnRd@&rxe2cF=H>lHc2&hKK5hsa znU(O5gHWyWguy(T0UCafvK42&C9~n-6D!1XL|NBTafQqSV<|Go3M&&fhGHBRlSE0; zQuM5pCnw*BP;fQXuQ@q?_EpeV6F#P-gg2xRXdq)%ZK}B>2y?2ZC`zYRag=ZA(*9MD znz*m_IkVSVxY}n5Zm`7ssXB~k#$$Jfa zV+V@{j)wQAh$4x$YfXWoz|tg^G9d&NSv{vxUAV}Vy*7LeWrj4#wtxx-#hlG_y@Y@UFNWL`$ zJy#NS`S*htk5DEF$?qE!nM163O>pv!+|3YyAz_hnA)oj1?_)g@3tEnVRmJBSgj|}+ zG#Xm~v9bCmjIE0neaytLfmIf-Q8b;wy1%|u^HT5!%k{}Q8Ufv>SZ>a@!iK5A9pOU# z^Uw$nWmUpcOkLFz>@r@`L7ByXoFNusW%O~<+#*z4Wi$l4yXtuvNt@ZNk$EIEEl_72 z;8TteG@*4bB_-72b)z87x#);rGxz1jc7p>@Hm}U==suf?+|l|Y@}oivT4X>O(cU}# z2$88oTx_9i#9ewlGU;@n;c{6=iwoqFCOpzQeL!)8zcShVtCx4`)Zh+Qy0$!o`LS}a zit|7v!$>mC11sh(ZPabD2RJRvVZ_y6`>3)??k>O1d-0W|>6Qc5CE7xm{`B3iT z(H3ikAo$Z<6saHB81fx@>8FdpC_@$?C^%hCnqHv{!}N{W>?eT$zD}J5c5^YJfP;sb!Ya9qLgq1G55u9; z@=5&uf-v}wh2ta&Xn>6qqSYtwXg%yLy=Opb1n;R;wXH#j2T zZ3Fqn3Jewa`o*e8jPeAaUTOe4?cB=^lDjXV#lYW&h={D4*e)gKd}culgphC4Lh zZ0;Z2&*d!3()0}4DB2(aohYP;Hn}a-)Szs*v-;?-9v@PCIxq|n0Yop$z1F#Uq-~1d z$1KO)ewik;$ZG;7#g(^TzH?%D z0&@DowdSY*tMe0&&@IVdC^w12B3z-!IRPOR6dd`CDy&al_c(QpDRu(O1HPH$|0qoC<(&&iKC6h(7vBUo`JyZ%HR^3ZzRqgXr-#42VV%JQd9|wGqm2^XO)U~%8GZ)ig(V6 zcchAU#)|iB)>~=Y;D#c+hfPQ>|G;aC3sQ)@dq|^?)ULsMDO{a#-?@E%a?zc!OIFei z{CD!LhvQ~c4xp%G&#=RfgWo?~xKm-86?`xR{VGBt<6cMk(o#>{V2zF?LVO;S!%8B5 zRe!NLq`VWil%94}t?VY*nf4)K;x_opHa7TfOH&xab(O*${)d`G__d>Lai!%`9MWqY z^l8-a4>cip4{z0(HWc4=SJF;9A@oVK^do{MBpkXAK3vp8t>%uW*5G1$vIP>_>MAGp zdzoqrxGEg3EJ9O-8c8K)n_%3Ts*z!3QoJcWv@(0U$*kEeM#`iyPpKY-YpjTC!ptph z9xT<8$kGVs6U069#h$Z!JnP84CAF@>!R>qVEXAsrr!L`Z)@jk^&k)Uft*Srrj+O|6~#FGzYNn?cABi&^y&(F%Cd8Gs8>tJH>!0kes3-Ta~ zr4J$ChFtO{cDmx@o25QXJG*01$Kaq+Xi47R^%UvjL~1gwm6%5^?DHdk@`$r#Ev45! z?X-^PerO6$m6ey{Q54IJnLJ&19kWT4GaO|P+Pd}agK=Qj2kL(o>8>?#N=h@j?9{M) z=UQ(43w$kCa)~xg)@zZMtCdXC<4|vG?&=$HkDldX072;syH|}nglS3SgO4^^w0Yfq zNhQcOM2fe_KY*waj-n27JY?jTY1L(OeDXM@0G6cv+KR zDS6D;#!y}1@<`P=!b#^Zf2_Pj6=p(g|AnrJ1EDx;_~+VAPWB5eZjF)#pkbacVIS{& zOZvk>0ye8sSnIx_|842@;xi(cAuBtUKP?9La0whp+pD)do*QgR0CUI zbJ0@l;yLLBjle2ih^dWt$tYxc zyp*-6IF4Enyc|v)w5Ro~lqyK*ZLG!-r%ju<`)!c}9ec1zzwI7|iN@nQX~K33kD0pW z->*EHt9cJVO+93Lxvi=&(L^5jwBKGDs2;p=Rp^LpcQlL3&R{i}h_;2*-CF_me?!(! z#}W#mZ2D#ytyPAP7-yyqGrbGDViuiWn@AOH+9f%b-^safM_m_dnk%BH&OMMZ6GMwb7IFeaW=~nPhIc49nY@+fN344 zptSjI$R=f^8&=}Z30AdXo%taogiVX5n&(zqd$NyRTzym1Jz05v|7vagL*X-N&Q*+Z zQojSQGnuimMT<}3?`d3WldbF5-+!t!m5d=1?c1%e9|G35mJ}|7sepHnnqs4MrBv5c zY37JOUQz=(g_q-Dmkb0VTZEYYK4<9p#IAAt{OjL~@+W-LyMAEK)BRYqY07rK$qba; z!C9ci;BD9rYkF1qJwrT5A^Rp=PCF!4r2S;Q6ros`PV9zz4mEQTpXZ&ObL_~5;#HQN zopJZ5$jifhdaVF&2nNy$HaQkdmUna=b%QMd^$EO|ry~#ho-3)}gGfO)k+bp^=ro{(j zP>%K6!2b&}sIhLS_yHM=&3DRrX0fG;xd-W~eEm|>^J(7LU}SW^?WTS~%zNT%@&{y) z6d>OP9i^$_SpEkx_=(q@mt|`t6@j-KCP%DIg2b^q`rAY&$SW;ydZ!-A4?KBWm(QMD zu{%^qT0%TexaX%bE_Z@iuc$$&nfQFZn*9dZj#2e)EI-TRbgB~pN7G6&t$VdfDzXZQ_aAEa{&INUMm0gc*oU1EHq zk37LuBW<~xR*lk4Rous4+kuC-2=_bCezI=^O(~2I5ljOQOaJ%?4cSBKuzR+^guk%r zXdcoz7!^nmBf>6IkvE@M|Gxo&s6Te5>A#Pll%UMSTZxXLm|!rszE%FS{y(JT{BJm( ziA$`l>`!nkkihA|Cg)G*K=QJd`|}fj-pPT7h)vZdYKa%Fy@*JvDyFPzyr9@(`>Eo# z1@xEQQPVJUcq{gUM=8lB-2Gnn@Gc!YS4zqB9irf0ljQ=WX29R;?pHZSZ z{G?uDw;0rv{?Mw@dwL7at5;n_0V9%{sGh6;+B^dI*z4o655hZ*)2kyoA6j(KKVPIP zTtEfl-F2#7PMos@$RfX&%Ls_1`O}2uKPWE;rgyx+(f+p}TNgSn*5(7hgZY0HgV_+t z@c$FVaKjwIf0OyitUoHrH;lKs1QjhgY68ClL%8n<=`Xd^X1%Og+}p1`6imCNs;wP;(G2Qa#84SqqLF-{!cXHpy}1hqj~h7p|8IW zs&M^E=Ia~q_PGCSy${@rIK2i(JRP+HF+TqfSN9Yg3AnZkJI=(mZQHhO+vX(c*tTuk zwvCBxI}=QH*0=up>fgKSJ?TE^s_ujCw;$YBvThzJhO@N+w+^+na{)un)cCpaZgKW( zP72H;ik4JNMR(I4$tb0#I5*96flH}_&wF(Cs?U+xvNh=Kv7|VUI+L(xS=S-zy&@lB+8+Pggm*iNtkjNRzo|63j&jNQe=!gDTH!E(!J463A42%JOD2? z1|AbH{YtyYgql4gIxdds0Rca3;O)rKHc`n%*s*|kW57!epTV%ZCmQ=vSxCJ_sY5f_ z+!QfhbHvrqfJ2YlH&X&%`UslEcM+Dhq<0~aT+ZUys03&h5Lz;4NM4KC_yvOG(W|J8aht zgI8Hvtn%m;{|9$HwY{RdSY2@$OH}%KdCC%ozgAGqpIwm#!QH~2UD>~H8xT`JhgQs6 z6frJ+a&K3qJDe$*t+FQG^@VATP(;qZ?4OA>e%kaHW+r9%I5-K)6KiuOXXm+23n=bY|le$+@e>q%^KmQRyU(#BwNqfSm)P zxotDlR0C@F(oy8O>kje1>;8rL&cj1`laN%&eU+AkrNt4ZkBai9NDs@8j)oqBngDal z%)qG@xt-*S8;~^bI_|OH zq{X-rvNFce(BPy`QLfzIS~*Etx$~=~8jx!fF^nLy#VUv(HB)Fivw5+UH6e_`{TCo0 z!HQlc)1=oF?cvve<zz$=1DosfHmD6tpsz_*Vj1S-z2p3%`0V*qPcpQ=f}2 z^gMzkte%4x;k8 zNKsP+826xC`$dst!=`GZtpKmux=y5PVp06f)8QZ_=}ZJEa2H!YFnpK&esh?H>T?H1 z2UW)t&>OQ#^l%Vk>HEYTQn&!Vf!remH&&$mf%YM@a(KELC zhTrh8^#*pZKedi~t(C905DR`0=ME-PHu)5AHY1oB%>Ozx1YG{)*9;lF8*gv(cI=?* zAlvOU;&taoaLqQ_`HNvo;WailmYEL`HpPmwJoQ{rE<^kd@TA#XMxq(lFy;Wi9Wm7o zpr08k?>Ur=MEdpht2wnF(S$g<{ALxlX!Ga%3hI-aS0cKTO6u@KB1A@*F5&!*MdLd` z{r*YrYuCC}Ry~Ta;T#9O&BzbLicmwp(JNSy1$BbagD`Xwd^cZMG=07jL2J&*%Wny> zNG@J6o~kCs1h=)UoV^yA1$>hZql*q`hm_Op3V4LLtm&5k=9MS-*>1zqz3mmJC^VCP z?WMko7a)DN3C@1wMk0^26+y@PKBDpdX)v#OzL&Ef4CG-}z?mRXhyKcufS)5-z%R;a zzkXc`p?>gKvXYHMoTH@@=fw+Djoy^Cpw}Vp`(?Tc&t)OT4`(_HpV3B~H`D|W6a(do z967FN%BA4d$bD5^W8?lN*DEin>|RQ_<7MB#s7$WkQ62R5&dx=Y_H;gjLft*`u(JK&2li62yx+{Z4iH>3$s=u8~c5%il(LEV9P zu+mWWgq*XGrHaNer51f*J?jc&~GON{U7)d z#?OOYPyW7W^uSqde=imj8q58V5}T{0>R*q*uOlff{UH6m6Xp>*HT?iLAiwnxbWIq4 zgAO!p!)sKdtnx57WroYb99q$@>P>YR1Gge@bl?Xu4sAmo|IbVux_UiNKVK}mX8NL# z?fJo6wB|dwF3O);&H*rQpWH4JLM8Usv=EriJpd-IwCAUc+sYP>3BE2A7Ig6uXgNA1 zJM^sIezIIAl5+oWZwNTy{wkMEn|jJT2D$oDS>di>xm7CHg_FPvs+h%bMO&F{S-2)Q zBhsb8h_$<=Qu$k|q15mBE&ROmTE6n(w<6cN1lyieyQHw+hkwoC1nqg}K2)9D2`lwc zk6*VmS4UrpDCB*{FT_rL|F5aE>0vRNbe}Sf#IVr7_Md#}%hz48 zzK>hTKCt;%1TbZBqLTBGzzo3TNttx2zN{Hck#}qIMSAw~jFRt@WPz!s_`ua_Nj_#E zVtDT2taU}V`HAuuN!e31ny_HL7kbJuCP zAg@W85p(S63`I+!y>^dxMe(ugXpUEZzg3aFskN;v12n4{^oXwXl#-5& z8;;m&=_ z1uIviH_6yu`}9)R5zX2FdP8qK&e)F7P7#Fs+6?t z*%;LXhI5m+nO*9~C}?QLN)IyIUsAqBT$sh%L>(#isd4DMYK^vL_^1}#j7H7Fo(M0L z+@LL;gvc;$h*>Ok_il|WTPA3_)(rGD*(j4zF(*wIVmu*8?n@-$wEoh{?yz|hL~7KG z(BEII z@0XV8?3U`Zs15ErNCxkDkNePf5#YwhS;D`@GDOJvIMdIuZq6^|J)XoIL1ZrON%=>5 z)648c-dLlOmTF`NrW3A2I~PNjyeR{d=Ftr?NuF}o*k%E#qcIagJ)8;nDKTr+^0U{y zY?YdJ175&QzU|uJlsyZ@lfJ6eluK?<<)qG0bH3teOwSF%{05w57{8w*kb2HaYvrjc zsty{LPeDB^s({$s)NV@f+ihQWBAG$$|0&Z`Pizx|(XVe~s2y(|uCrJzW%il1D>Lk| zG@9j}C^rG1XFDw@Ds_ZTlM~u--mtt>9jCg2rwUijkpV7HAj`s(R$ ze@&h2BM@kEmInSF;OcbtkKT_|?=zhP#4TffQGs}zCv}Hd@ERXvCt|OAXhfmoJDSt{ zSk06_j#i<-^5_UZ*U6rE-*>&+cP^Ze`n3ali?qDTFqL)(bc+r5>L7RKLui!oxtHqP zPZ5WE!i7AQ%9M>hv5;u&=4cRDW-9k2;3$^FYH2x2&#Ojt(M!h)lTsF~>0OAV&V=s^ zyrUicZVSFBH!5vz83YG#>IuBhLRm-f;?nVWs%74*>dn|7mHtjU&mo7xifHK z>WppUu+dt2jGM>2NO(PWM|VKjF#9sr;tyAwV&@~RMTp&ZQn9wKGQ+>(U)I?WctNk` z<}0>>uHaTxrH!J>#__>w!#g9VX4$H?ycJDn-QKW@6L}$mHWUNc1W&7^(r97#!qHJX z4)dLC$$emEFz$PBXFKCVOHqj)SMtlfUw-HyUuTc0nK-esRjAD!ojqFIW8FxasZy9V z^mrJGS6`&Rle%z?zmaFx$Iz+D(#3D)YvEbdRd|qV&8^=xeO&qD(0C2 z-u&Cn1LwD?bdfbcK8&Vy>md?+y@;BiLK9IxTJIQCbc*mYv8uE|;`(i@g2hxv^CZ7p z^zw>r#K7dwC3xfF3-hMTAjU}2@HNdCxat<8(??Z*46;Z6P>r+GPyYxU8_X~8ldJ!9 zOZ&Drn+|;!t-Z#ev45X!*O&1`{fzu9v-;d`PrkGW}KeqN`7^NQ- zas^#e8beB(zEsz}btMQf^x-Hp>8ZZQ9FDt@J(T_A2|{t@6EmRv^&~rrkMs%H z9pgRnBPX%IIi^m|!Qk|QQRs=Y1zJm?_nt_TEZPKpHZ6#*&`$B!2w$o)d{R3Ytu%Ua z194daszU^D{!35v0g}d5)RY87j?OE~`=)NY!+7_U z3Gzz#v2)Wt4E{1l{N7SXcF`_lzQZ|~rf%<(&@BKdQ9^tB4MH&m7pl5N5YF?Mp!hAJ z{7s?!ZK3>)q5Q3({M{D0j4_20owD5jEuXIj%vk~e`4-w+hwgWwzRUaMzXhK1isSA! zfEDE9`llA)K?HzmZ++Q-#HuIt!bppikhtAj$LeMbnyZ3*2l#}hdWOCo4l zn%|`zt$`2#q!~8y|70~SIm~7FdAPr4vL@Q58h!jOJ=x`?W?z41oIn+Yvlatl8n7wf zOQ5}|7YnYJ3tpi2)Q$k>q$OU~3N|rj3Kc^=Bo1XML^>T&)MaO%8tMY8bK{{J zuJuG{v!~u}4!$!G+<||~5;-U|>ULPt`vCl3CA7A^ObF;-|1&?MzYi(@-;o%c7D$=@ zY8v|J{uppS8>F$gY4^@x_y8q0GiNVlGZ#k(dl$1GiORv$%$eTA*2u-BN7Kp?Wex9J zK&H`_NKoAlv=`A(aC|gy6c_}4I1Gfj5w9Mmz#hcLs{#B$x?0^oi9LRvgm01LJO!Wi zhgFsn1_g^k-k4{%%9^M7d3r{+&((YSNv7{f#$w~&&gL_5&1x$zAVbKc*!TA9-|Ox7 zj!y0O>quI7dCrdUa;9VmnU);Yz9)0mf+-uWLd@j7tfzvyI>qZ`hO6|%I8w-5rM+>q zk3{jIGA9+4$$mfriLFtY=9uuRpi5&8Yo787C^OhzW$+rKX5=WB;NueO%Kh2eM`b#-hcfhb zU*VL+=ohe40CHSymcwYy0HwkzGW2gl8&DE~wv~!#_tK?_3B5+v$tfpm`zaP|_CNVm zne4m{0v1IAq98%M5gYplmPn0% zh~KpRa1?pmiwH(1xJ_D|iBN4)T(T{|s8FUJ zOia`Va0>z>Y|Gt>%c=dLdvsyy01Y}mYZBYMCC&ows|(5=P-0^u zuHw$Sq;m<0wr{T1=Hgp=XRX4ay+qHXYoW~|bIV2#(KSZnke*1(m}yj!9HUYi9!Wjs za<9&iw;<)Mv?ShL$awe?dPkgl9V+j%wj5V*4svT`oRV8Lv&pmolRfQNfUYO?&T!)c z)On?%Phe}c>M%1$M+LY+Ju$cbB-2HX)48DcWowZ+H3sqr9SSBStBS{#pmB3sjv#Q+;~iw28$j@1h+<4WP&b!7ww3bB(BJ2JSE{I!;A?bp`-lkBKbDP{ z8QoVdVsDPD+H|XZEBl0z?~rg+@Io_(2FVa8Aa7o0P;Nbm?~nCV?vC}G7*l9reutaw zviE20rpM$7Yr?U-nr#Rsezo`uIAI!A;AVBBMN6xvses~VC&wt&P)=t7ipfhO0k_y zqGch|NFnT)Rd38t*V%rq<8wf=YjSJL3=FmWgXk7QuQX2WBa>S{g<8wTH;ZB4!re2X zj>&)%de?Io_U$0#R&Evv5H1L%vW8=O^9gfqW|~9lBRsgCug4SH32-W#$C)>S>-mg8 ziHe|*r<2e3AO_lA#j@P@Rjm5ooJSm6yCjJnigX@L=k+M7U=2N5J~Yt4??cac13miH;ZP zOGx*C=Dz1fs@dNLgwiwryWy(yNDlfJ?!eIzX!heqyVZ-i;>NfpYFi>V_r|d=ewAN= zdQI#`i{g{^CgBrL+?5Iau+ddkN7*BfEP}BcL}oM(MucNm@rUY1Byaq}5^$yjkyAQl zp&Yyxxrg%)QOUi+V|su8!-7aCy^cMkE1EDDgvt{-&ISV}4kkOQ!M$+XKcvg=wDxWo zN(L1`-gb;b>}hVS_I5l}(jDPtJ@I8Z5y*9cQ0N1pR9a;{^Em~-sj3bcKs+}f-ty5r z;rhdD{Vl5dHSWIr-u;2EBy}VZ5 zH&H6ypEasH+7QTZh&z>%yFGz7KUZ{oPm2@a;VP`GAjr5GJ@^xdnWx<1xU@ZvzI?xcUQ58<&Y=3F4FA^I_oB+OYsxHsyR-ss zyR5;pKt_=R`^i}bZcdl%X23IU z=s6(Li46<=BN|j=V#XCsLEcH=(4t#L^nE)E<-BE`*iNJv2l1RPycsWHCsLAwXmKX| zsTGUl>t8pq?`pTS!w_^@HS|4@Z&BKL7}q;fVAEF2dMq!pT82h-+6em;S`79nZQ?UE z^0T%<)w&V?7AK&!uZ2uPps&CUNumkA(oh9Sd(!n2~s0ViX=hgUx=2JNl>Q#p^M~#S$P5QvdHR* z5R|KqEFH2CTJ-6JjcWv+?CfLli|!$f_$q7F8(m zWkR`U48>Zq=SsVaBDh~FC%B9J@BssgK>DTUhI! z{$$CNu`I5&m~bLrY_q?``~T{~^sede9#EW{l^ip);1$0VM_Z}bTiS%6C;-`{iQrC{@sndC&MJ{gKC zj5eA?k0!&NpTklVER+H~nRB;^_Z~Rlyy|~N(I`fHBlwh4OCY5}qgsp|VA1ol6wWz{ zMKR(j^OnackTzH2vNTzgSWz91V-M_P8aszDVWJWed14!;|U8^OsEThY?;W%Pav&5I= zikOWScIqMV&S(K)IC>y7Fqzvi@%}t1Cxy+ykel^|AUXqf+NrAua*2Zr%(fQfV-~Y5 zmHjOZ%eYtMR$wkPcZ4Ea*EnP%AIhhC4>oGmOnj zN=jApCk*zaHvEEE3?b%YC_0Etn2Y`U=3O$&9+%!!!E*c{?Nvz0=*~M^Q%6 zKdZa1JS_!+<|dNmWX~oR29gD<0IR^3>qlJJF4zEsUVn>Y@H;UCd83r4cQdc2y7MhZKn~mYbOwv$x9WN~F;K%ypqH$CtW8aIRC1_BOLgdoUj*kiL<})Aqx{lc!zt z7F-Pno5?;BU-#`lr&#BYzqdlhEM9)G0zx>1RCKWPO-_$FF)IG{LUt`spt#D*H++r$ z@F4(sr`!**?XxG>g`nW`b7URn-@A$|*8@sP!5m($nQSumoA|r|3exv+$+}tBr*h6; zvC+pAuAIiuW;*N`xe@XuhfH31V$-$Nwm-V?lPJxjr!6vI z*_6A|A%?=0_S9#DH}Rw)j7o$nuGGL;H5fYflxwtcEaMh)ci=u}GJXGXn?grSWYj!* z&Uif%YYzKT%ZBeV`c(VfFl%Dhz{!>1`p-oHu_KlYNB|XWm*LxcOY%Jx30>(o!rRa7 zGQpDZG<}6LA&Eti4GC9S za-S4k7CcuHa6(lLzpPL|R&NS@2>^wOEStwJH)wRg#sOUu(H8CN4{AOq+|HrxrcYJp z=-9HJUbgmbGEa19d5bL+wihnstX*VwqYQ-lJ|TM*`B>MMA?u$S3tJD;moF;O1|`ng-vd3G1LHS3_C6GIg)Bv~_u8&MB=;vu8&d-P z-Zitu&5tOt``UEcp>@HieOQY@1|WUovLyx+plq>*%?Gls5{Z~2@FeyjAwAt`#p*w4 z-7n)v9e1z%@sf}DbRzx$JQ6{w9!U`s%!c7ACn(%|w8d;qk4RdjY=tyF=zh>2EVLoI z?Pn{CmEpovG+O6p(@q;#ijwVV9Xx?x`o^|@g)qK@1T+ZymqFon(Jki@Ju@WzFDL?F zXL!C3EbkLM3J5IEBY!XyS~l2s7!wE^7_^UKL3tykK4`mAaaO9@$#%w4=4f4?FRfE7H*Bn zYsc$`VfY*jGgk^hSBh~n2G$m{!`}(9y{+-&u0C4(Gf~%?^i9rR^dw{)F{Bsc>yp>_ zQRiNi07MO{aW{>BduHb2hi#DgI zNgaDoj%(PA>Tqs+En*;x{tmFxEB@XB`nxk8QDz>_a60UeK~Hy|lKnQeHk6pLd7nsqcCqhBS!PkYbR$`9{}{r!frQO+nmF{eB18fC51O zdJDs3Ew^G^a(Go=yHoj$K1#mR{M)f0n!3;T!DE)8_RoHG7RU2Du<96sQl2BNitcP1q1639TX-tZ5}$HzhgYO61fR z#dl15l+|g<>kv^kJ(Li0{>pa01%E~ zeW{EE>PwBrs?V-cHp_A&l4+G@C8`RiGBna11ytZ}YD~X zTzNTYg-TF-e=|C!2a`z*gS&7CoKIx=yP7G9xP4=xWh~5DEJ&YDtKrUIt-ZHZQ(?LJ z=#4Do*ipB26))U63K`F~+zU$sYK;#M#75%l88q0atvZC&xO(Opj|)quDwmeo7k`X`>?+Saf4=Ej#sa4$9FG9g>W1@7 zxPzyKZ?v(AIARO{c#1ZM%g49C`jH+nxinWMUh62S!<){b9?V`#m@-n)RojOVMw2OX zG1a6(&$y%k8hwgaYe0X0zNKIT{?yAT7y~VQF8P{_+K?h9S&qe2A(4BVlC!)^eka z4oK+vuN{ZO?rNPF7`EMMV~8-l3x5-5R*rVGkc0z*x>5?G_w8!T9`vJ*O?pSAJ`qaN z`rmwp#B^J?bO4WG{=n^UW)87cE}aJXJ)2tFi4VYKVRC<<^pCmUHjZ<=8po5}F?Fwp-t|5OMX8)$< z?sfQ>&AGsGOqPDjjfa;=mreC?$AxJgPsOXSSgR}w^B}Mo&ok{Qr{cmb$pBEMxsO%I zMdhMiq7fCTgg8w0?Xr?MJ&04O$upSar9!WFLh8KQP+dzi8cn`-2|Y)-;L~E1oIIu` zHxTrM0Wj}-G2~D{=DWJgb6yFcT;t)r#9ZUyyVTPa*wbP0;eU+~NgzA)3VN;Qw9|Yg zy6ny4<`ukuXQ_=v8WVvntl0dMByG2+!a=v42ZMEMh-$R)J5GTKCqikeH@N4|sV3KO zmnTN#7~rAdxvrB#(XFqF8?ayQ9{iOF6=xn+<&_UN(;zql2LC>E z{rfFc!Ht=5%a0UqrMYM$;~j{q@40bdCb~b+G+tOPV58b#27})H>A})8KRM|X=G=(L( zSXsU1LCJOVZASQZBV5NpL^9BVAgUaO6amPK3FZUC+8NrBz^JqTu7FRMlM2T>(bdnX$DqcOE` z9c$1sq}Sl6&BHz6dwYR9=m3R-Xi%T^iRT3!O?kV6^NC$8?<)??hk7vzC5kEJQelbd1jWS9EK@pmv!D z&>vaPEH}W|P%v;B6lnWo3=Da-Lyc}(AK@+Xs}ByEUtBxJM#Y`OuTN{9{$1p^mTwre z9SXF6g4A1tX!eQFZIU4|g4ErA&;e-tqz~FUs&6m}3@u_IeGl($Y0y#dXb@Sddtlu> z82?5WUK+w+g6J_I@aQEEmQVih&+0&O?G(xW$*2XaBw()`{p>g%|(6gEQ*8_ z8dF?{a(*J|cDrHkZDQOP$2mRn`?wl@Bj4#TaZ3yN2TAcF;8pmRc51?O0U^a3d3y-i zygM@w2q#c#!Vz#+Aoz{PE|wlCa6rM~%XLNenWnBzdI=if$>C?#ar^oIjKiDSL${y9 z00E&9{ZF?pEnXWGF7<{04ltty<*K@Z_0Qg%JSkX6#B?xKFg||>EF2X(K`s$-CRi#^ z7L1A7E2Eo~Bq_t_Bt%T7!M>%XS*@$w&hApVW+jrcz_Lp3ig^2Kr?YiqwYJr|rtH+S zdAH~Gn5nxv_~`6D9mRa7=l0{a&-WW}3m3NgQ^*6Fy36bz6zx?1`D1&oYRAi!&hlhy z$GcrL=F$=~5uD3x>`k90S(d5n%zhb$NZF&fS+GLhqH19G`!&RS>u!jIaR{zYQy3gw zK~&-ySpXUw1a9GF^jW7!&d$P}6(&493>^}T+>N!xK77@K)h?zwNu>v5q+#@=bk*A? z5FOt_&enPZGpe}_3XsfdTOjx`>L!N+UMijfN`<{rzd66zq}r)$=qx_9n68dp^nA|B z&5cymA!zh!=unr7RvuZ}wZ*A8d@8FWhhQMB(g8zgELR3Rt?gQ{r2(c%q5;HFN43 z#vdzv1#L(jxcCPgIJroZe`WqEM~jZcQTVfIK5&}wGVGsr(Y^1mRKtf#9|Rp?VkIYJPx zr!-hqKzcC;Af4V~eU@q8UrY^s1XYjOt}yXyA9>3cZ4 z538~XFl6qKl7YXdY-@R=5BW>N=qoCULKT8L`impFb!zy^Yw6R7$JN*rty#9cc1qly z)Q=P^%CfkKWTUyI!cMQam(Cxx6x9UC%Gvy?^2LP5BnOMN@LZLE1SPV$-A=vn{Mb-d z7(Hl9*gd@gnXZ|#>Xi9hRh~l5)vlko(`8Wz;CgzABuW5hh_VgkcxNB_*pp*4S7NR& zL2G!d){9|(Ta)emlK$7VS3q0?#}3lsh=fW6oS#{HuWk_1Y_ASIow>TD!9b?usaRF# zIQ>vVJqkxXOM1K-JqJ%mmB1!iH1aN?`$!WccHRq8B|=Z^4HL&sTBgLsn>WXJK#ztI zFhykPKD3{lypR$j0SdNC&{BollOxNjo!dg~;u7mxD#={&YBiBQFq3bkp*x2e{Bds; zU^V-)!k8{uY248O#$iNW6tC*8QB#3k&#beOHLH%rn^s*;J!p}ELzlFm5`9-VKW@+2 zD5Q>S2G>UKh^qs)QUpomVHUZCp*$S$Y7T%t+Pn#N*>Q%buy+CHtO%0KvSqu1Aq})flyw14q zx_F`}Izbf$FCEoO?hy@7fZ~ziIB$d)~-xvNhuAI8SjS*zqCk=L10YBjlru zcIn(LryWjMGh&<+^4=es&W*om5paL(W@k5TYc~w zVs3Kd@0TY-@ull!{iiNeZW1AO>4G*-PI#(5=A4vMxr~ruJ0drxzki}D|De=~hH1il!uK1~SAi$pQ2em*zOguYp zABAJfiZ`)wX2x;y!BGfXHE32rf$eE8EQeph84ro`{+dl9MbE-ic1Y&}Jwdqxx;58vlT zB;E;4Lx&;cKk$=%G-e+HI4ncbE_;Z-!3>F+bZX}QMN-?Oh<&Es@|Fa2+1(4Xv9TyD zn?%jJAziyg&N`v-EuiaJ{=8aF;)+)ycfKSrSm%*?2i`34&)3|#{R9XwxE~3siCIet=L%;e zl}lt68D7;fh)w?2HTH6)Q?0bRrPe2L82Lga z>yeh_NQI?@FWU~#K+-mC{stO8dG^dXgyCZL%DVPPB4_Zlebg@#IdRY?Jhc=p)B;a% zSxfg+i0aFk=HWE%Mr=*Z!8FVWw=#D$x&}7xkv;P2xxA3L{NnNX3)gQt=r;ZF>?Qka zL-v<31zy^ZLc+)F!fzpLPkK}6Wcp@)K##8w>OgkqOM>ylNOtfH4*A# zJox8)nGOPLkn1up4m9$~4-t^wDP!zGX7@|{>YfJo>_B;=6sYS@L9dUQos3RJSn}U? zNIe(`>n8EK!`$51=fzLnMPdKM^-M9mAI<5WLTtzZ@y>S5oi0w)23h(gu z)?IbpA74YATvMG~Tb*2Eom^|3Tyw2;>j}X3_Vmvw>?NV!P_1SzFKB7KRBSSS5N*{T z6Kypg6Y{IPbP)M8IR9#c+m8)uzeED$q)F`!Z@V=XXh8V>tCem+W9AbwD9OQMd-7OO zRmBGk@>dzl?Y0k0tEFa-Z$rO9vh|IV%*gOkbWhv8qE!>p25K~b*HL}1rnjzFT#-7w z(lBs4^|g4oJ^WLfE~&x_1NC{RgwwSL;Xgi~=Q%ttXyEnD$=vPN9Y9H-?Eh&iK<|r* zzSWDpNjyIdKzY3*_S*lxIEIa5U=w*exqt>}c+fm->9JhZIP;u6d#L@{@urD=NWHa& z-&aClKjo6q@1g(hJ2o4!%S{mj;%CB28otk_7m>{NCo`u0sZeQ)am}JErOZvq(%9uO z7#8@Y@iS6SE`dDs%6nZ9U1Crv^h_?@X5>bi$C~-PE|!mh?XVm0x%KAP9iT6-fcXN# z?hZkg(I8-CUbjLE7ng2<^6F|H5ynW)E}`EM_AT&r_fb5$y*L>dh2HebUL6br5MdW+ z^+UeLTr#3n@aC)$Q|_YH(`hTiGsEi3N0pffY(}IkF(?jk8-TWnqqEBgQg97Ori&iL z-?wJuA6z~I8|Lo&|H`~s1e&K3JNYggy5@ZJ2K%s5t9lgHFc@ZCAr zV4y(ssWxsBtJubujK1F|-E#~7{eRE=8GS=yfc?*&=uln}8sg7lf+A(we)uo^w7U^V z__q8uNO({HOcx_Jq4@9(Jkx3)Gd2PlY6lbKOZK1pU7J9jA+Auo@5bp zP|%N(5Edc~L|7o44-;16&^QY-d}@|T+QuT&Ad$VWWz&+@%+YBheRQ$AnW&g;PBJVF z`Unk}*`Fa1lOLE6BTr`c6l#xGJgG5#Ssa6q-O0A-<0708zq~@yi2gHgQN{;pCC*xtj7Je(mV3r`@vu183>8M#>T7RkK=xr?Vj;woJHnFozv{Bq*=Z=2<{A zPO@&%`WaC%b#-Ok&XM(Zg06Que#?UIc!WrNt7-6QfAa)j&P8&A6wkNejQobsESJLN z9LgJd+E&%MT&aUHJWD7}0LR6jo$MW;G_r}Jq=oNpS!OF4I;b4;#H#^J_6GArObPw5-p>Vt6K z#P%2qd5<8dnyfvNS6feav}g%N-VXY(<#}aKOwUW{2KrTCmFC zNttG9SrXEaK9B48AsHJ(nDhaA`5#`iP`0>>f@!=oeX|H{guh}(g?l~+57QhTU%&_I zT{S%7lMH~sP9VyWE=e8J)U7dGNM;R4kpPs$t)w4a!N z0ek1|JydpK2p6N+`|q4{#U0lRrnHpwP$6QOK-$yemtO5(8&r^C`rrUlu9=}V?R%t{$%+}b|VM^9UYkvb*x9+~A*XgQ{Y z8&zmIhLqYRk@6~{;7tH^XX(u1d};Yv;l@!#XK1;V%FD`~8YI41#chxW>cW=D@{z8z zQmc^DVkjNeeW%LN^Ffwo=`}3qwMD1MyY=}n4HUGUOkdWS%N+@p?&A;3)VBHVIP>4z z$Cr>+xgL@w%F{AWbmPlGHxOX@B*HdK9aa&|i?&|uW@P_HMdAQb4!mz*=P_Y9Qr?FF z7Nc+Xm0V3fWdj+vtz!EcIT~1z+VOcJH|_nDP8ju+$eXp3}P2o9sXtc0tXjPJ<4-3rbeF0}iw}Fu;ll znFs++5za0j3$-W%6|xCuDO(`!b2-`qzD2RBFiyvrdX+9erHeH)56UzPsZlR#3;u|j zva(4d}%jbPL#Um#N?%w<3VAybpMJ_t%93$a5Q}GQnizJD*@~D%x|9U~Vqj zGvqyRwX#3#}+TE{TtY`}~AYWws4UpJq!FEG==w_a%5^B}i8;3#XB zK`?+kR~Ld}S3qBTOoYFX75iY9KLo#=75hMz+b|X9-o6wU%JiN55-vWa*Z-boow;{P zsz5fqG@nPRejC{CG1wiLZ0s>@$1N-*tIm`Y!g9KJWWCQ~F zKU}?IbS6>Pt{dA=Y;5iR_jgD>WiIa|P+qP}nwyh3M-tXP}oW0K&HEOK-Uo~pY zHRpBR9KJwbY#0gLt4`@hs5XXq8XqWMK~|7YZTRmruS2LF+J>I`Tkk@+1=|jqL{Hh# zsVUA4w{E5#$>XnZkauIu0X?t{l`~nJk+95m_MUOjjyFpbk4u~7>N>Iq8k9Cbpe~|N zHE8a#|I9feY^Ol@&v*7N+u!yCGZDoSoP2^lF*ZQW9t|q#*RKq)HurURVLAylqNel< ztLTORYH*Zy(l=(h^0Fq?*@-q>oq}D-VN~)=!&SIgn@@ zR+g|d3wetJ8!M~rvDT1geBd$Gg4xP^`$G}?-2aXC+7$o20C8U>aN^^Y5O66jFi!6f zC}aSd`5YvG#{u7+LL2~(`3MJ`3V_#>7$<B%)D9zu|)_w*%LRIy=^BtmI z6V_UcABy@k+mfmfF0Uk>nHpg0OUWs+hjBn}=+oUPw0g^9ACHPD2k^+!dcp!q9_fmI zr>E`GbnUfIiXun238QyKDL;$I*ut5g$W>wop{AKk@`qvdkO_*V!c zB*%>96(Buvt2}}&Rvlw}vW{x8%&0wscvkQlf;+`BFP!1(nw7C!dboi(rutTtLf>NU zg|UvPON9-Z9aUEexNB`54TlU6ha|};)<1xyIig)BR>(yS>@Qg@*tplZXgm?aPUzDh zIn!sKw|nAF9tq$qq0M!{u(daJUG{7^O?!w!l7P%zQTO#p-ENx7n==1_munLqvg?PfL z)Xx?^V#*xp%5lDcdHf@2je>2BDbpa!G~enU$$)<0l_<5VGRC^Ons9+q zsTT`NVwV~dQYa{x9Epii%w}As#%GL;`-u&<{Zk#0iPxhOAEA_fvT=7@@lUMWmlaZQ z*5h9w|JS}+=0?(}D?ORX3RWHnZx~<=1`1w>08^r**i+#1A4Tk16nJha&UgTQjJOHg z-fW9sk>pyDY`VaIXx_IRcMMJ96}CT>RX$G6l}Xv355?utjc@b+S?GCR^0H=0>vz3`pHIf zfBCg#8M0yHUVX=kVVX&3z|Z2SPeUrln&Qr@~vlQb* z(c{fWcu^G3n*qh9Q=lQhYM+=PC(TNQQ7Yl`)K$W1_=r(}Y{jhZRRV&!i7k1eaY)pJ zizX)ZWu@elsS;7*bMtEv-(!ug2U9JIVN^4dG9C|obV_q5mh#@eA;^k)L0Sm|Q2}PT z4yEk0W<3@-#v%S<3uDcf5ziU9Q*iiy>CKa6DAupDp&%_UxLv5#ExWw~>j&dl>}B0b zqWq&-NYWU9xA87%1w;Nm5w!Bh2*QSWDIo_1GSh2lqY`5BmNr?MQcfRp)b}h0b{Ew; z1x2kQyg8{B&7%!+=rTo~dRC*2$;8jEb#?XD2iik2^2jCi)~VX*heeb2^Cs=)_cH3v ze5E;f{EaZVYWj|%^&vBiC}TLwUrKOIYDuG!VNOn^!_(=4^mW(q+!P<;g z6e;omb0%fXf^~u?3-ji9tmsud;O$`_4al1k%J>s!mCKwZVYKTMw@;W|92gt(w9kJC z*v(44g(=eW63izoOcvG;kY*0zq>^*2d1x4GZqdmpg^R1E6+07Faw>~bmC`SFyzh`LQxbvk{ebjy)V<_BcDN0!1 z(;fXe<8$0iQtl0dB3tJ@t0$TK#&RRyQS=zE_zSA}KI1ti{~hDB{(0+L5bf=g&g)PG zd@w6~wY*5X^z45jgl{eI{Qc|=DbD=E@d2EBG}lx9j*NRWTGH**Cnr0bYGk$5C!X2u z%C64GbHUh4lG*ifLdm zdO)Yu3<6W)Y-6u~hL3XQh$5Qo;T%mkaARbomP}i~pzL&>&pV?wZozr-WU}nFV@OMC zQ=&@0pfMn|A{d%mFDB9mC;FVpV)ggdVF{cwJ|ive_`a9>tQ+JoEx%##^m9oErUr{H z-wVQ+WyqtILzZR6vF15WF|uyyi+6Z_i21N3;@MtvEdycp@EcxIwLA5`k{E6Q@C&kw zngb25;uT`KZuYh=Q@-@OC|1+C$CX~tG{Uu$<$O(XahD}}V7GRZZRRdg`Bi!K>TW-S{sEUN98T)3dgPyj)H+q%B3@p3+G2VU}+j&Qhy@!3vdEsOe~WIHPJ*B z_#`(z9khGG@hGdx!8U%_Lu+e?2f&N;>FNjfh>v6=dM%AUW~HBmGZMG%6O2ctgCuD; zjU}5}PyZo-^9Bzh>j~7Pvj-B))XTRG%MBQ^&5h;OliT?x_DN#p zh@Z%}+4H^33l^!>R_Xco4gG%Q-h7JReNx_i zn%;e4-F>RveRAq;F)H`{+lGC2BJcPL=qaY%{m6dLYKOiai|hCr5BbJ?A-TGqG(xa{ z6LklK50l0>-vU=5`MQ0lJ(2If(7DT832sAzE+zQ-a}Gw`k`KIUX&JsbUmJHgSCQ@p z-*3(r^;ENGIr}8kXC4>wvbWsf=fRuS34*Se;eRx-WPc&OhJ$>T{jQ=!7z`63t{B8b zNjWZ@$Gsow9`)G-wR+cvAgK zgc@OpY1|+&_@YD+o5E0=X8o53!COd|_S05;wG04Pp&aj;R=u{O6J!6Nc$=?sy^|w9Oeeh9o4+No>yp^Z zoA5Utw8e2k6=AOS_rb+!XRu$82a~?toIe=QhCDGh7yp-!asC$3k|q6C$x0cZ>eWaFJN;>g zO_$Bx10QVO`}Yw}2z)r<&OwXvhywZo6Ff{^+J8tVJfzHDT}^CVZ`odXx!T+v>veyC z>f`G%4?H?3?yIiKU`A*z9;w#-X1Eh#PdzlX+@Q0gH4ej}g&0ENucWt>6lRqkeFeUo z>(&UvFg?6l4+r81=jm+Mc9J+TQ^lXXFT{RZWUuUOg1;@Y11u9Y49R1BMREsM;x+<_b;`P zev=MWEwDCxm%+n5{M#cdnoZ1Gp$}*qoQIheFg3>rmU&mbdAQN6BZw##&3lWD_?^*? z;~|m(ThFCXicQO^O&eC(Vs~Ehg}b2Qw{O9Ilg1TQHRuepj}ZNpP1pFNLLd1mdPm@b zO!ffJxt_DjMGtxB*KYU{Ca{*jmfCG3mEtwHyy^&@Z%;;!DKLp(mO91Zs0gy0xz;{9 z&H)QAfGMIf5}kYJuJ(jZ#!SfK8peF%;P{d*m&&b;3hs~Nyo_ow;ysOl^gQorHjVyP z<-(G!T0Hm614qBLbzc$K*s>K(1^Dfkx?;egU(%ziE1joYGkiEsB@k_XocWaEsO>Me zjX{?$fqXHBQS7-Gj6BnY6|D!%uvz&SCcQK(I{t7IOxA!>LoudgI-5GeKF-*aqGQFT z^|wh@Nh#{cBDgjOhn+#bW_2puPGCVG&9O9n&T7$j({MG$7MLk9DO*f=gr2gp5=owb6a3k3CCnw=TDf4=Xq6-pbo*dcj`TyW zf#$-w=6C*9%|$`TIEpq>x!69A`K;DJNmKq#8p} z(4OkINfwqd9IdlNACfm{S#AB*gK2Ve|Dq8_cNnB!WBWv-c&*8H4(ro52iQ{8F^rRYH%S}HNB>}i;!5$t2$RST1hQjuFB2+B+;Z@5BIL{ zZIYGyHpxEO0IiCi)@4O+nIm~na&Oy$YlZe75%&?MD}p6I%sOM!?@c5)FDQm$&iF!aZh@8k%hl2ny1vWFXJ{Zh0g4ad#t;xXh~tgyCXHabyq!K> zbnOL1H5ROgx4_G`%}fn2O1$(wbNKS|-%v!`lesO(djO@G*mbeq@xOoINuB_*-qnBWNS^0YNCK2-yT`$d=CO- z=<}39yaY2Y| zRAO@ngGSYZCp1p>Sr2BE^=5gWqH{T;516hjuuQ!;>UyFPihp(*8J!NH(?0NRUDK}_uqXN({ zNIE5w%wd?u5@x>W&V|CEQv1zs)34M4Y-s$$54Pm#92uIyOHtsbIMKbdk%pD==tq)m ztZ`}LVczx~i;nz$gk@^(Bu3#pC7do5qn*RKe93#*;nWa#k3!#Y!*w^hv5lGp(4aa$_oKjlz8~^tpP#xg8eA4%4;(wH!_Q_bhkY!jA1x;`}Xbj+>MO2 zO^O4z$in;I%88l;!S%*X+b>O^u*w^~bL=%PQYcCE4a(M_=YgP%bZf*jEY1+L?(pha z7_~_03l5RaW1$^cDv+eU?;zLL3|nvPCiDMay7S?$o;7bRgO`B;D@qCtD(N~%Jn;7; z@(zvL8Jl=j15KQIGZrg#EgOH>I93!I3xDUk{A?}r8{$Fv@coHD0-p8Z`mBGHVQ_#o zuju}p8WD~?ASvya(qzuK{l9MRt(pBQM z)w9dogIVHwKs<8C_+MthcW`9+2|@_6|~uWLlb>1HvzwH#(hRt==DEQB0JlpJDQ+BYxT z&cmdg7Unl$MCoT+$k%W^Lkw(oqqzdLtaokJzZ0=WP74{bBlzpaoK_F$UYuq`3iK&&;byL=N0;$^zjE&QAx4QOW)@SPGn}Dp=Yg8fa z7nGTe#wPV`n!=6AMKes-dPlcdaGNI7W5@llo=J8; zB|lz^{WrP{#*HheEXW(sv}Rve zOW3M{z}_@SqnOqWYLdsFa5J392P&6pjF~s)HRH62##6d&wZM%}zZyS$y45&T&lfZ>DDGMrv|a}MIugtH?L`o0k&6f~aG zrux+6I4ik46jG>=6Wcamw%W#d{Xt$$I@=azpuh zcRHs}?`KfAKO7Jo;Cy<*{P@76|epioBD&(E|i~F-G1|`(Et6;(IS1`E6H} zOa|PH3iJkGeFOUX?_Zj$ZG0yv!*k^SEF3`ES_kQCpHB++cl(^*j&OnAo{?SWZI(4I z;yz6);+Q@F^)NV04d|`>q2oWTQaU*JwXnZ4l%)w+{XC)RTB%-%!bGyg5+S( z^d6*Z)|OhA2At&|*WR|lshoh3;_QQX_v_7n*`CwfU#-U(=k-K{d|>)X zBbX@|FlrVaKk&;Qpgr@L`GJb3$jzspX2$V^kx+fPYj#ux{|qDFg7`hyntmtOqf!R` z+p31S)J>$%A>b=H#jK`5x6WS z4F>_mzPwm{LvL24b*w`bQU~FXW|6$G$jAg;a*N`qucBiZ-~6Zbrwwot7mkgMp~4cK z>V`T%NV)1LFJ%j5x5yC!%GDB;AHBTTLNi3}(3?oylObVqZGNjt93sqXS3f<`CS9VWuAyKZ^CDQc_-EGQ2~J#`PJJ1@q>*nCV^n z=ys{A`5i6eZQ_c33I5(sD$E;By#?83^aS}Q0{GA(^+32e!j|6*Ou_LVs~2LRaD_=2 zHW5Fgywat-IYk<5{EqH?4m)(O52D3`@bV+POd{#yf#??qv2J4A5mK==?u! zt%J)CBK&=Vm;Uv~hRT`R!`r4iDJYCdC=nkl1G;eIS=1=83T<&^vRJ2wPH{3>w5o?2 zAeq~m8Y#t+r>U=(KhX~|A|_-QE!R*&UwO|Puj+ob$j~d9FesVODVeM?SynDbLY9pB z0UE)Ik<45v&me#qyD*b;{x)<&f!cIn(N(lUnj>cE@Y1K3RSTUIh%+31sMG?QTL6Tr zIe-4Pu*A>+{49y_ zf#I8i(nJ{VUF8zjHxit^7;tw|3?aM^5+(r4AL~qwn*|;e+BE#c3v@O+yeiV0Q0D}z zUExW=4L7WuU$VQvLWv$hqwPT>6J2`!AtY8fn)bsejb(HC!7wxL6qSFC07=wYtiH-Q zwMYw^zDTQhUgjD(hG`S7Ce0>OKE-A|kJL_i4Xo(HLDwjaGgE)PVvli}XL?~eim@ zx%rB6!088|diu_Rzl*xH#jm_cR8s5o@4(6s3U>7DMb0U*t7(|0!+Jvs<`?z?O=20M zE40(yIh~%C;mQ%sbD3JzdvT}Te-}uUv2{n`sL{rlDL7#9^ZoX!}%r) zG!M|;RtnE-0h98|FmJ!=RAu-??rM5aj&EncWvSUPW{8jjpyM&Ohdf>)r&-X-inc{e zU{qC4ixsWUnW|y?BkWzqm_d45!ov%kImAq>B3wt@Pvg~6BV*+avO!-tE1~wZzcj>H zo2Liu6DLU`@?PQ8cK}ttWwCHFZb^NmCJCt9%#%|@iK47>YJbY)!XbVOLEdm>!@sbE zZ}Lws>xfN>LU{d6Uau(qZv>X4I0^MdvuFm@WBU`-O0SW#*^8#oOob z<_ou%p3O5j1@4pOFyyBMShgwq)^|g|;U5vJB8P^SW>h!Tas~fqnqZ>kXT+~=>PBE} z(F-HCWqi5L3wgYRRCZ6R+9nq~;+$dixNH(3FrM>(!j?r#3!X^rEfVjSVc|A;;k_F_ z@s2eo2QK$5vLs|b-*N_UIMVZnvBpb%&&`7w*?~^0pe=Gpr1Pg3FtIE_5!Z$>(hN_^ zxXyl;$OfMU<;y6^oE;&iIsMa$3hUWB0=n%sL_t8b^^n&h3(;uTo*<~5zn z$-q9uinK1Y73 zI{FufT%N$!NK|a}Z;BB+8xVNM5PtFy5scYm7^a$*hcvA#Qwx`!_2WVUCR)NQgN|>q z%*k17S4xI6s5(cWP7UY0^kfiS-k!0@UCM)bUdilwkWSuSQkuxbGpdv=?HtTh(FAn0 z>d(d^OC4q&cKCu^eZ=BK=0SP{U+$LCg>fk-jx)z2#s1XPD=XU3gcML@Q&(9!eyxIo zejMALjFqQgji!S%U)XJ&Bk0)C^Y6%0#HnZ_`;MBTNuuVTKtCz$w8|*-cCracDi+O4 zv}p3!g2B~+N!j7miWcXANj#9M$d*^w4QznvxTA(2D43x1C&JEQQMIXHSWuRLTk&S~ zfg4QDkTD0%VYkvj?=G-=6v6tw+qgY~sTo$XApX(}^DEBaN1%gKJ{Xn(E@_G%RjN+* z!Tah>Zq_tDop?a0e60h`Gks532wj??1LpfZ>Q1t7OO&*`32|-)UNxLp^R{fkEPg@LntLVEr`gFdS0k z`hlAWFQ40iD3tscPZh9bnaKmGL8tc?0jqRcNo;`Y7jOy8%luwtSmHONdO{ER5Cz7L zK|Bl=H8WgIPx38>V+fW;m5$e2hKh@0Jk6pZ29IKM=@348lU={93_1Yky=;W<&T# zm+)2OSD;<_S%}rm9>*eb>u6=e&@VlAJKpWO*Nhy+79|b0<6^_z%~ZOIf}nZxT?9?8 zc+4y@c+=UwG9UVl&%g8?ls*Uprvty?8+eb?pr+z^u!_?-^`%Xt!=Vu0qqmcu_w=UV$EBN*5abayRmTl>XD!5sZ5#)rsQrDUrgGTqgpP za8Y%-q+E@P9t(wN_B>FZ*%Z4!teN%Dp5_<0!5)mXsWQcvMOyVMS{p@uyjaIn!^W{0 zbc^GnzPi#;R+V%ALIjo$b;J2nb@L4X_{AZjXbeku?! z^6dyiB;E~t@q7W0XHWs;E+Al!Yva@G81n8Jj_f-EhwTA|7x#Qo$#+~fujqg&LrV5t ztHL0)IiVzUdkp%HG)$ZPpk=Qx*kg%2;MJ4@mZE;jF-la`sO5SH<-Z#lqAttUl<@Po zJ_qbQwbA06hSb(A6}X=f&m{%q>+qlH)S16yzpRLSTH5+%L$FlU4!%UZS0ba64?-SR zbtme!{ZKKE+S4Y>FZ!neGs&_i6CM7%Oxj?k6!~{>2rIM}ukXtX0b}oF$lXU5KnlpQ zFKe%t%7oqR;gBygI&-8iYJqpGM>HZId2h*(%YHrXf39$c-P6C`=xw5L82;T>WB&c! z`SXi?_#1y=6;(IzA8eKf$b!SJ+eUKu}^V0;Sw;G#m>p|(ev z4(oUO#TT4Bh}uCCwP$@BSo4>1(CoGWn=(s5CK=ai2t3;MYX~^fB8?7d^|<%- zY?YCkkim!Pd9!=9Ffrgeisq7N97tn3;s_fu_7L?2{(n|Xpry?fnb2zgt&(WZ$`q&& zK|qiwlE5LzlV|W?pn?C}4h!q1yoe#dSxaZwn?J2AX`!`VT&i4BEgX!5GlK$GwQ3A+ShTQI)B3KLmae{$)N$ao=e^tg zU7U=-zgXn04$o`g75_MJn*W*L^QK2hge_b44;w8Itr}VKuUmxxK7q`bVx9p0b!^}0 zoAIp#9rm^L-&>cyUlFmM-eyWA0=Qw1OU4Hf#z*yvKjIZ?oJx<<;H6H>8wC?QyCie{-%qY^d$w%&_}pps5c zyG99r_nphU0i74Basnw zTdTA>$};5cMun#gG&!ZM3Btw^6%KkoVC&<6n{k4;$hI(2wYshH5)e6DZM=n_er6I$ zVEi{IYXrLjrGf)mHkFNvQa{LUvGe!cuy_m{er&WlgEV1!m_kR3)d|aq7){#!dkwBwY`f8(ogK+6Z~l2WPw z7Mtr6w>g)hpY8gs@O-A_GnBIYOr`0(fndvEjr~io;^;I*c^gyO#!yxm%=d;)4?@)T zn2~y(`J!DsQ|iUAl0<1K;y7zA#aVJLQ|9G3iz8(UARDF#vSYANeM_>dJab!_g0TGe z5YAMVo}!rY6Rny*>`w-&zw3B!Xo)Wc@E<97redDpO#kz*)Y^J7GvFshrl>LZKE~}`Le4O{Mdf)%3QxQi4IK}rAj%a zN*N_KuitgUKuN5g z*N;@o%#=dw2&o7g3%m$1wcxyfxDnHFtK|5*;S#q%aWZB<8N(DDiU!eMtA7%&!fyQ7$v?QW(bz)44deI7flUawLHi$E{8LesWGpY`iW@8DIW6{X5QF02X6T$? z2obc*QI@rh+EpS>0}vJ>uUxEnYWe1?MIv)tQ)Jw+^ZiKK&<1sO?)q%Wdcw;N$$B9G zPTcFupKr6;+7;I$PS;K!F|&T3lCn<>3{LYpyDIi()3lUWhElNnw*j1s7Dwl~t}d$80q z(T@JEveOr14W)FBGiFOv{pRCRtRaX)vQzlR3j!WX&%^r?GR(SuvIQL}se@ifZQG*h z?pIrqdZK63QqVyZlis=NK$$QH#w0@PJxWx#@v~RFUCD8G8*yu;Z)RerAmlrdT0KCz zBA|8zlk!sR76pEAPm&rxdKbk#L19(_=g?06pIh8W#3{2FJ3mAFwi3z~U|nKl;s*^QE$WjL zP8MI|oFsINr4Tr{B7#rFV-(-4IN{wH9945xf$fcGRv#%}Yb2ys8hH0#{SkZP8PVw( z*p7RR1EhNAL5zJ~_k_IbyR_1{WW(t{U@aM@zqDCR+`tW6@c>@gK0SZ~WP1Zjz#k)j zh1-@4(AX`_rxIL!pqido$9ae4I{@ZK!y{B+;LM?M)wsNS=RWjs9?upXhx7MC#JS^qeFqki#*O#dVxDiU?JVE%+KCk#Fy6a?V@hG zpsz4}2WocMdXt8BP?_dkZ>aWgaiwfPb(YdS0mScByiBUZqi6)hv|U5{FCC9)rDxzi zuv(q8l(Uk|{Q-2l%`_@eZm2kyC%eVaJCOPp&jh?E{$`kqmvBT87hg9wYAmDP3%i$*`u;kfp?4r024a{?#z0yeV{7miJgzGWpE) z8qs$Tbn4@fZIPH)XXG0$c@R?C)htsAV)Peyzt_pFHVO6Wsv}9;r**_~Ei|i=iv{~N zFwZ1R=I_O`CTp-IC90a4+-+~bd^=P+2$N=LDJRR>jJXEKEDQbdc_Zn+R!)0Y>Hz~8Y zX)cUu%5hCSYJJ7+Cn_d>){UO^CMdedGCBK~qwvC~v@O3cB-DaB?zni-HAe!6%efpB z(<(9XyC8?{{=%Sr4?9OyHulsYkB=&Oqu}^l>}LGl9VPPyDUZj_*Wo zwz@gb66soCWJ8dJ8LgQ&^JJkk%Idh&lpaW0HF=g~J5|A%5=BOsGkmFM^RN5MpHC?y zzBzV7B1D9FigW=`Dw!5Y`)-wCi0B~* zWE(s!2tZR*M8+g`46k21S2)Zz_y+l^$cqmMBLR1Af2b!&i#!p4;sOdl2nl%dh4t(W z^w#f-p$0JEnd|p*;#0Y#KHX=1{c8qsySa$u!VcyAodFyt1%X_?! zQf_wGZ+4t-b`WoNWN&upZ+5Je2)#J)2;aebrj7dpTtPax@d!JjkLe9>df0i8iFHR- zxcFL}-|d*7?Xrooq20y{8B=b6J=PF%pf^o)m`A2}m&5+h6$u>`85Zi0QZ+bi$trVR z9Pd`?#yu)`!YxCPD(IV7`JL|SYwDHw z%&)zhZLt?d&@b{`L7dNZtG4JT6Vzwv+YRyP(iXMf@V6PAMIAf0nacJtisi_2fb!>g zyWU=O0vh?*X2plgj|X6{bJquiLwhn*C``Y?D*#yRW0xomtqX&^^ZA!q-b)*s-hb;3aV}eaWbWI~AfaU;id>bv!qm-OIkB+8lGz$*ZW**nSe{=lQ@^B{^eqLo2tIwr z)GTDh?BEfqM~|A^+h$qmG%|cv5Lo|vrK5ihu74S@FhZE8`oyHu;{u<4Osi?Zp%)nW z2CZ(8zt}g2zW_u<>{Em<3)TEns-pguWS}d}2$r~qgqz4}K84dF<91;Z zSp+?!r2?~Y?UE^)qVX@7(*}ZlJ^a0_QjTiDouGInE-!$R+JCb1Y+OR)F3j6-FY#7c z`)q0T9XVM>w-s<#sU;yF$ zS5gnDPL`@j)@J0_%N?0L@o}%hD^KVycpsL`OqA+l4lOz=qSiC>PT1!qNdY<1bBp+) zNnf$YH`7!90~m1cUjHsZU22 zG9~#JEhcfD5++h6I5@g2) zhnPeRg$l$oCHV4AG8%1)8>!oW8JiuDG~%vJTOcRLdXXX%ZxX)XkrkF)x)a+H(WNd| zK}u`NWt&MV$3LVJ_r-)G4?3#hZD2)UML+=Py6pz-rtAh`eJ}o=KVMdH&S^eTF)psG zeSB_T13y2vbKAeXpRqvR?6mYllBB81V&?&;K&x8)GBMK3bcOk#fj~_vGwzR?vWb$R z7@9&c6d_^<)z+LJbzxbO5%Sq8^Cl<)eoay@y0920okT=B?fxYgFvtZ%(9s!Eh|&B! z?&?2(ct^CTj~zdJfHILi|qxnUG9QK>YY2z8LG$7?o$A*{@8m z^-(uQTq#{*3@ug0R2i3TBFH}tYfr90vnJjABJ#BbbZb0(+VZ{7>If>yFF5TYK!>=BZo-M%q|J&|hcJYlGXBqlVGhzS1URe8F;A3! zu-=T`h6F3@Xah%nBtL0(qmturppgSbAgZco)yDD@jU&K}x_nlhIXzRcPIU3?G`2@& zg~+e*uyMf&z6l0J8f1(d?>p}PKez%oj7YK#%C8J!hQy2v8N_T{LOiLb=pcKvNM|=N zA`JCr87$~qW=!h*w9xO26 zWJo%f0}sZYc{1y*S2Q8b7c_jmn`za9iETGoM4kna}Vyz z1Xxo6C*kxOV^MNJqFr1-z>rc4DQ9DGe~a(s+*!Q??>e1vHt{j#c+)7Qp>c7KABw^LOB$)y9RcG4SBSg*h1$5NxU!q3^pkJWC|gkyq?)<{)W_r~V; z;Z}LHhm?ei-4lqFp0+U6H(YdDD;fVZv7-&OmyYq~Mn}fvx~MaOUf~O#yopI&0I{W} z2c0d(4S}7B=YFa+)@sK~`SquRN_}p%3Yn=H76&5P)nxyfPp2iGyZ+D-{vs$_G`5ua zQ(?}`qkCkB?StIJIVa}|F3w8a_%SEdCMTL?)s?Yeis2}`#lX^n>D%9SL%Ri4MUE3FAwACzK`0+d|H{N>5mcfP`2FfKH>S|CBx}ZXZzRs-h2Ylk(~5ef{82w#sxlW zUpU|V09ra7(7)BnrQ+g1Y3h}&mDI$5b=_N2V95q!BNlD}!|sZ3OnVpgwWTbgF441UYIva90LBEr2x)7*lZO!Mp! zu%)HI-5Y9kc#I?OJB@go<$e+BI+f4aq*i$&v5hS>>>UV z^l6hA$ZHv@OjyVFxVnV@ojm4}RkLMuz4(nIoO>;$U+@YZ6WPz7I<{XSJ&h%pbZ`@t zuGpW`U>a4cy_yaB-z1$;5&igP67a55zL|u6L9tBgaiQ=?2S8fQyM zZ@xL0j(yUYFVuNZlq8jvLtcmtBA0>efas9P(1gsdMsY2|71JYUQbN4p@vFavf2@vw zBZ_hcZxig#O&XuBa!D6uYA`8(++oL{HHN(z& zMyG*a-ZIwUHZ7pLiR#l2eVEsHp-@NZ-quURs&Op0-kQV$1w}vvk};3eH!=@%T?BD@w>=NO8*TkY3$=c%Ym}kV(`Eb6<`D{>sHeJBZ&X?;)N^T%-7UYq!rv-v{bf{E zo|PSq!T1p$lAHmpk3Rge=L_`z+Rn&4sG}J6j)A7ItP7| zJJ2pkf{sozF_G$MI@M{)aDV?d=mAv=P`ikRYAX_(6u^asP^yzm@-=X8Oq^egaH{!%(Z9D~rS)iF+dv*9=+vO9 zJYuB&n%tw9}hj8?Rrcw+OTX1O5~pH{f1&t#6!npYl-H z$jR9#RJZZUO`CI4o5}jqBBWB_NGPK|Zz(?i^V$J0T95y1*mnibl_xF2gAn5MCJdI8 zmy+9grAg=&&>$)$5w0yZxcp0h8h(e?$tw(uN~D#)H1hfXdskQzeWe4wn+zM| zARx_>Qcy#P|Kq7%*1&jsO}1eLCjj!ie+AV2VE%6tB2sbHX8tESfBdARoun^A zu2oQ*tRf~jnC?#r1-rn-p}%$@xdO@n(*+r3j)=<}#&?iu-#`?h4-f%3`%LAqut4Xw+PChi<3X<`fJKLvBw#eLCGgm~&;P&8u3PW2hte=B=LY%il1k~@bg~}2EPQjI5qdbc`{Tji2 zf&c!7j+BTw0)e)qG$aAW!5xd&joGXVSXXsnjcCrL%x1Z`qrU&< z;n#SU?5Qt-skv-5?MuDV!-OX-JmcL%H3yoTNvt*N&;gv@(!-CdqlkB9Uwsbr#j?K) zF*giG8YO>fVmMyYw+ikEXS*58L-k2+AqMgMJ#j&SAy|BJM=#7$J~@B=^CLhwP5?<9 z!I)Dffs$tqYY{Q&7c{2)F*F1I7Y(p~Z26(}g+R@rb9&@b?i6bFJ;Mf#e&Uov!CI<& zrUEUgHkf>&=C5@h&;PtK4L1=?0Z@}#qPLA=6`mfy;-}!0L;;FT!pYI>;Q0SDvG@BH zQVR_AKh+T7TqHxvca@`n2?D~D>_-AgkW3r_3!B{I0*R8$@QeaQEZt;8_A?1`Xhj!DIBgB-WRyv8w&b7c$Php^OEK@iLrYh{Dc33B)c?cPIYmdh zXze;SI(8);+jhscZQHKcwr$%Tc5K^r(ov_QleO1A7yllk#;E%0qHb%>`Qmw*2F}@k z-uE+rxa@%k6syTlSyhymHHKs~7Njbz8OcqhDi5A#;I!C8V<5K3r!*?T2oZTnaa9$= zMdr#Q%4RDyiNSyd97{d8!J@Bf{rr3)_`V1$;>9fdGi-$AJt!`kpPFbMbQl*)gLz%R zfpmcnxGs=;om8j`_DJ$G?g`mt15B)K5;OV{Ij%Si3KG{VcFw?}y$+~Bl*<&ff}=D8 zDNI1^IR6t&x-2EJ5)a&}qxw)aG`oV|EOSM6GMl#|6+(-7NQuAX(6YSv?-%cH!MKvN z+~c>2CL4qm{Ce`Rc~K%8E8mVXrJ20B3ZK0UkolW5dui&pmSWi)zwAmhI9Pzlhz3N} z+`2!}I&pYG1%OS1<{K+{3-dj_d^x<%9I)Y6%0JlB1?Q-FO>m@awRhpA=Bj1fbo8>lE+bk9Yu$g(j>j~P<`K(7=WXkw(O94+x;PpvYT@I(eKkGm zeGjwEOemm}&)jNO?K&;nwwkr=)`5IzUn80LY)r0K@GMPzMdh0CDHaTdw2Ty$$Sn*z z>n>3{=O7uX(36uPz7bg&=5$NR_~xohRYY!58K^X;*;h*tzdg& zzOImcWBd+lHr=UGSZ*jlQo%o9ms$|?8B;47pu11gxsn&d`*edTUZ8miboc0KnTpNJ zd>7YSa9(E3fopy86Uu?w+hjVWAFIdX&cC_Z6%cq2{Gn%{u0;&Vyb*Ok z7j9(VNmIt}{6rT>R(=at_E3W(c;^fZJUXR2R+!@y=|=1Kj0(+jxX7sA9ETq@Vrk?Z zN=!}La3Agj20xnu;g7F~1Ist}tsIi_w+r>yJ^pS?aIQ{VWma(&ot^JSe?_k|C>2mA z(3{}WBqWoJwcA~ODKwUOVy+!XXss+M+5ezQQ{7g?6^mpksrFK!DfjTdhwNxhy&e4` zDNA4S#ahkw-Jz~%0M4X!4@~hHo}+R2cZ`24nT&f}?Xpk;83>M>*8FN4^XQIQBni6} z?q1o&kr!gqa9K%j3}l(PqFgy-^_!H2%c5B&KAnA{G$g7yPS7SzgRV^R@|3W`hwHeG zT}#WSOmQ7#IR2(z|IXy!wO+qYw`-BL4%C~NqMyJWaZ<)e&FM+aY8b+^t3C)FdHAv8 zaA4M7VmZzZtdZRwR{M%x(;sM!c$AW;OtQGDHmUJNCw&anQF+IC91BjeSj)hvnABWJR>YHnX<9A??@8TO1F zS269FY(P$OtaJlbh; zLHp#v^TD(podHnOqNJGPc9y+6!Fu8jsAf0MxFOq%{AbNk-3Qa#JyQ^iZ zLxlST#s((vFnwz(@h70@yLlsYvwcNcmR}pb^U2)@2g}N+97P` z`y!Cs>W|}Ncq~L|hsCr3kJM@aa|Yi9^@p7aW1l%66qCuwf*EGY{jlRvNUI`gtl}B@~Tc+C#JhAzs^)0fN|}G$R&ylx9$*f>f8vPj=dDulj1_}gc9$B zlJ9vE?|G8%`V#N@z7-6r0kTw0*U%BhfjZ-+i{&Bh2twk|q=Rd9B@3Dwm zK%5x;A4w3`E=7fo@K2#<{BA=&jG2U!d(_|o_8DYziy_Z>Le+~*l}9B%&k5` z3>(I(!{kbdtQ2U#!eRA&LG!{~^EZHc4l`xm5W`wdYFrkL?DCYb08)6to-QDiw8 z)OHg!B2Gl%^)RdMGA)MizNpKQuI=>8DhI8r;a!CUy{K7tcnORbJ=>Kv&JH^VV4qYp z`V&VlEccZEV%ldB3M_Ct*}s6br1=cI9D6=B(%{FO zm3Ae>f|?~HN=WHhNldAvtexj6dwQH~S$joRmb3HpbGDoyEErPT8T-&nrZ?w_GdJPF zOQ!Pz)9Poox3i?3-G=s7+{f;5uJgwZ*Uka3=RT*){j-)&gf&jqPz6hNF|5RdSdTCQ zvBZQ*lMpERAeErv+to}@8sc4Ia-l^<-!|;&J}()aaFTty?%+#{e^YgH$|W8-D%Z$N z&4!*n)ewC?(k%6ePr-%VktIw(S5}SG(weu~l8yqeRp3Hbbf;TmTNawxsih8$bw@8a z;@V1UXKSs*lYb!6Vyt;FKW!k+QxtfN@$FQjvmEG3Ra6+y_#LSxlVem#95ssGgw>ES zI~dbei5lZNDc{vX#>yBGkv_c`=x=|_pF29d+f zcy!=R(rbvwx4%VQ(zw{sA*NKT@ZtqqIA>{41Kme+S`)=4)S2Nd+|lj@B=q7Wx_D5A zP6f}r?&t||l zDskJxBwxDDX*zreUTcY`H^=gyI+u zTwqKNgO3xU76JxODL)e%>@Nr227gI1agv~4p2M}&+S%%(+gQ0PXOqViflB$alGs~Q zb)Xyc&_?M(ckPBNrI!TLOq^W|i+tmS%BdE54huQrSlSK@N{#IW{NPtG zWsSdxI1~H!lSK@|^o?l>rr24s1BHBohJTQYbp#vPx`&Dx*X%F`mb&b3Q4rU51?%aI z>ohBP@HPjDA#-g7bKfcN0g%PtgsXJY0&0pOv?x=X95334#{5xg4D>O4*8Myd=G|c% zg$ZAfhxh>`2e0&eq{&Aik)n!=2q@9CT|_wFxn3LqpsK*u%iKt@Ze?&+uzz42#7UZP z3Uh^$A0t?rY_UUy7Hp8yXi1N2d{bPqxDZQtpg4~Go&1RtDF>bC3}mE_+Qi4F=h%@H z_|oj@56eIsbgaAG8Bt;;s1ib5eCgizOgM?FO1}0yzm>BbSJ@o8{`{!cz9MeWoEaP8 zyHhW$ttcZ}KrDrl5-G|^K{r9qGAuQQGC67pV+kErA7!$#=W%Mbv0K`s2ujO%(2+DF zX42n*200uI@3;w{#AXVk@^Ocm`|CP&j_dyEiKw4)U2rN5m%T}DpCzT>2G1#g1 z(1{2bwGk7SL2T_3pm-90RcDXm%T-t>L=O}y5pYh)J#jT%2!? zk1)b|hCgG`04mtQh>hh)EWN1sFA67)m-9|VT9}- zgAJ@iVuG{dPvwnk173PEZH2`Wk7>$N83ZztdC9qSk%f3g8;OD>Q)`cyVe9hS;5jCsL6m}fLt%^fchx@z8$Jg@$cF*v zrr@hghlWzeR)^d;ENr-yIU7|EjEB7)jVLg-4XSUqwq@)7Gs+t|rCgek=y1eG* zL$p~t)O$6m#`EsCm@i&6$3ML4B8%G2WzqDI8J42j;j~i7+;vuh6UX8+2<^`G5&Ms{M<)JZR=0FH;UQiZw>(`!_pl^DIFVV6 zC*of0ojB!BlcnO*JlLp2Jd44pi*xlQg4D&+kj%U2EuI!hFpcJ{7Iyu zz65hBqN3)7IV4wB@xY#8um-AFs8=Xt7l1ME-s*UuSJ>KPVnwpiqg(5=GYSkN`HJL% zT@$0}{NZ!J!V6w4g64JRxvsq?4jhr~k| z1RmHe6q*SqVLKtV%;^d^2bf1uM6?T&g8(n7PCJ55JHAdkn9eE!y$&qBj_GJf)^9}G zZq2$sEg;)QAl<6S-GIIg1pl^+0FHf6=ywT{Kv~!dF$kc01`%*ztJQ~i6OMS3ofajT z=9fIeekxX67f82w*C}Ap?E;g)fyRG>Uwrp^Ln)mdtDP0hT>z{NEnp+0?@Da<2^-2T z40eDo_~gA=d5ACWY8XB|%0oW91@f06r}(`k;e;Xsx{&YBVXO4lGh+W$1q z`oyW)L{T2gCppqsMmd^WigAf!s9#i=g*lNzIsZXKt1SssvG1Ze)9lu)!1eoswr#UN zK2sOtW_actHaw3d*7%^Q@fV-g7c}(?%Ag-u!Z0|mZU8*18r1r`pHAx=p|?!iQV?dL zDx0atvu$os%P_Gy9NjWtQ#ZACwNTyi;#57PF(v1)4_XYunkoLnm+)WmeviP*L^t@g=1EFlKATtf(9>cZMs8ra?$K4y7iZK zC;tpu-#l@<&kNMJG~{gg8Q7;9cbn`$Upz0+qSw8aN3%7_TU6dEgUkAV4ruf3bY>3WffDF=-wM zh4bLpZ+Se1tFrb~^}Ki-F%-LT^TW@VI$TPRm&99&+Z383$RXRY_O6SYVfw97XkykdfdRymU;ADp-!ZG_1+C zfyqs3{6NGvW$~bUw637xL~)dh(V_Pt6GSLb}wA4*I`?o)HVhmp{iCeTTtWw zN44nWR&(I1`I5eH+ilH1Wk(23+qrmvQHBLK%~?4C);Gx8&-esw<{3P!Rom8OH!eUM zxXh+qDB)>x@CxeVZ4_BxUl{-0crAhm#S0_)o}`F-kYI4@Oc7;{WJphL9Wf4m{9^+y zQ}Qb{EZb_-mMnc0mo2CmhXn(3-qcbUGY4ampZBUnQVdP=*3M0~jaTY6fP$O?xjjk5p zag%9e2xLdsFby*_LcfWjxWhWlTKp8Zhk612UzrsADrMr}OVen;`O+rfh|}_niJ;Ry zjftRuKQ*LX@XRrKddaj~StLzY8V=gDd1`2R)DY=mNoDV<8t}*Li1%2N*>R+ewIg_o zqQ$KOMk-0zIoNT?8(_bh1~Dh231vmf%CMJW@xull<{IvR zMbWrMX6@8QIGRk!mIQLoEbF;RuA*%FQv3`vG~sM&V)e6CnRJs=RNO_i>7_H`hn^Or z2_F6N=1t=oV&dFlG7uwH&d#1g1}Yg-v}U)uu0%y<(LvEZ1=~0gZi>!yFBPJNUY$*$ z)a5Y=I~t>h4P|fD%!x}%WyX=*_O$6hTtyK?MNmB zkC-yfR=?=CaxwB0oiW2A#DeYBDKK&bzM^RowaQX&?5&tEZ5!!AsP(a+tCaEtt3SGg z1A5Cx_(c)3YUgv?%xG80qMostluGbe&rFpk^r1@+4)kfd848E2bp!LuNE{D9^ObF8 zRTmvQkM}kswmwhq!_To8^J>(qg1Dvm_hu}abk`vM4Lm7_CMoz!FH^n(*#L;0A0_fHpiF6#6~8t!?x|zsaVdm@Ad0 ztofI+S#cUQ$0`6)6G)q&s2mA&##|36E5)h@uJf1R@iCCM$a(Kr`vEIW=B| zvuvhAHg7yXt}i5M&7&8EbfzCongI(kakix+%nKx()gG+Wih+r2==t)t^R_D$kf+#@ zrDv<@*(s--u1oVI50)zG>eJ|b!!B&TP@eiaHy7K?&%+jJ@g)^P>^wjcbNI-$L2{az zq({R=(qopQ%s%2^Pr<_`%)?D!4KjB&h#@+hY^rzUh4c<0=(y2qg9S4Vo&Xa+8zw<+ zqC`n2t`=#G;>fW%r=WTKwoZSz^ zG7!C)Mtxk>Q6Cky$zS3eQg2vinz?^Y6h64tioPHIV-t3+1h>Q_j3TCfp*iH|NOn#Fwk;n(CB^(Z}5+}R3jk<-|eBEW*%d+mr; zv^j9&EVR@VReRx8dU|ymJXv9x`{@>1YIe$4A-P?^_+71l=cYdzSX|B*?K|j{HWt$>`x=t~rB^-~2MG^APAm zAYnQ+rd~*NQ;g9Z3gD@%@B~k)kX8DmoIO2hh^~~u;FM45?h5o|q9Z#1ImPK|4cR~o z&E}42EBTpPSXp^mq{)@1&M2@#-W-^#1Q<8L=!E}xJCz5rEk;wdLHVAmYp5#FEpO;p z!(Lp~J|b1$d|QSge17yX;4n=Oxw|?^s(;xs@k17Z9^|XNF>FERL|9e9>k+HjyQOZ? zXLqf0#_54o{9||nbxjH{Nl@zBYAqTCeb7PYs$<1MK`aEs6uAk=F0ORWY$zofqWO)<@> zq-gV07H=i!#A)s!&Z+>>meY(SxT!UK>KMSRMHETcLPB^^v$NLh&1)c->%R z!q&|df!k+#aoU@Vzmw;9hPb(4D z_%F-nNAX3B^B+ll=#l=0xRdirG~vl*X8~5+ZU{DEg^V(QWIPE`6aVHSI{6t7Py8EF zM}E!{4@cbbWo~T@`D<6aF*(5)|0yn=at&p`v?sdwPKJf%#x1iN(XdxN7MwCat{MsX z0&tK|R@_Sq@NUe8>xJ4imqvsV*~IJfy>4aPBTm0XN_T*jX-6Q}0Yy{e%eYlJg92X6 zLTr+5hYLHxMys2Hb#^F7 zEDSnkH(&{+M@1`^nkn?FbLoiL;}&|iXTKj@65<1;4{Ln4KhOX5+;*=&uRo~Q9~uaW z`~d}cBjEiLMuFU;hJ^e9ySp;6*AMIkc@yK}{lihqU^f76X$)Ze5SX-q2Xr^Pa%q6H z+uKcnlY>6fAp;;p4G8>q=m(jA6u=X=TmKfN@D^pli+s>!$)M_}P>nWdWNcrotGURN zaNTILGVJ~&U+ae=#0!){^5u(4@h0Usv&93`eUbs1>GXEO!tw~Lxe zucfc!|HncGCQ;G$-U1c$Z+GngRy?yQ1PDkZOxouP9N?dc87-|k0~!XH8h=Sn8!rY2 zX<5>oLRwO+u&$KP`W+%15w{jNwKTwVFu3^dX%H}cCKfrFnv>Zo&*v6+tMB-B zy_EwOj>O~qlzp@5Jk8g8O$dB{qw#mNp=npFA(N@nb4E4o>e#41k8rXbq`o1aruto~%oYeVzqkh`@WPxG;q^>N=+j ztFyXQ?}a?dR&D0n5^f_GV7<#IY^!<{7*Kmn&RZ;2$(d5SU1#3_p5-=vLd)kC@v*D+(NZ3>f%{6TPp=!^WX$mwIVx6 z>R#nV3n_q?o@4KM6t}(Vz&m&KPSOKZ*BJM1QYR;9>#PgSc!J|+Js(sG;>Ym)2O zvPeIwA#(X*r3F zWCI-XJXU^z4tIsyQI>y0OpIb^j+2INf5ZIgEdr+}CGA)`{{hE;dpVMkHycV!cbCWb z2a|4~=P1}$)h@4jfK4aupct@KEm)BzPEB?V3NnMpnspXi;SveTyUoUqL!RO%8O zGXEXOA9;vWzv&Kg03wfc_rL-5+fbSuyYuS4Ctn5_&25k#5$ga3E2EG(Oqs}=VXPIk zc%^XseC~c(En=AL@4!vk zX|9MF5z$<*$VDafT(O9$Y?6gmVT=RO<@z*G!X{*?-a04wkEljeF{xZwP_M#)F;#uNPc$ zjZfY-V2XEd0D#rwH)7cOzHK~m>tR6e|JW5*LS~faznI)NgdiYkMd?uZY4MmuIA04J zw2Sr^k-L^mv$cpc(l~=N!I&bQXd;TW0vreF>(5QbCh40H+QjcDx_B~@F`QY{aSKb! zbue8QK^(edAxSVt+<75rg5oHoPHni7XuH$=2Z#JG9`~83Un;@NY>*u7Pw$=H&zsLr zZ|D7%FaT6N>L*4y+{k&L7B6NEJWzBPRgz8*D-zMFKt#7LRU+7UZh1?KbqzNq%aJ13 z|8;-&+CY~So1pRn(5?YbmQxQ)J1VG0Lj`GNmS14hfz|<5TN-K9WLBI z<`@%p^4$7rb8&8UrITfrxXnV&&;EXRd0Na4W|Aqlt@-HzsI-p(!AP#80@DNbl{i9-MP%{Lyz@wYfiFsi6SEBc+obHsEt; zkl@e9g)cYT_RD`6JtBnu3^-dTJZ3nAlK;4Qy&xt=(qD{;Z4%smjfiMX@}t8ktBOub zXPur=-OiCD6Cv#HQ_TDxvA*fZSoRb7!QSaNTT#IDH;wVMGKYzf7s|xpzdE->`us1J zPq`irDh5e6DwhG{I8d9{@S_?SMXmmo=MZoumBXh72d5S$J7RR4l)xs(p$ZK7ij}@V zdg>C7QZuy~kxn!k2=?9t4b$ee5UcJM{}4TS6NKU-^A7vt#_3@$rDdyS)%oCTc>O&t6hm=WsabU0y|5c<-ALPm4%z7W8}@n8gh088Wi^)E~_ddxEO z{&0A#{Av*Gh8U_?>$F&u#30Yr>D@S)MOU-b9@u1!!9_OA2%rtD*f8tT+B&|v(5FMQ zOr!;8C8aVeF`BGHom|tW>-(UYMTsG&uPqDR#lV>GuLx=E$XG#reesLw<=Rw1<1}~@ zhZ7R8h>EkQb=X$PlT(dG5=;Uk1D}9anINgwZcfxD2dcxj)tWG=Zzs;e4IVniY?(w1 z8TBkEdr{=wO~3)3`wjF~EIAMBe$Bh!G|RIGnM3A84$B=0Y!WWRJQk%;Jz16)#X#{>T*p^^C#eKEos$7OP0gEr?=$l6-@?f;z`&Hh z@A`5Qq1^ffEHu?;9C1s;4Wi)uTzD8c-ZS9EmcpfDr3HRZbN92CHMVyqiVw?zIKFUM zR)`TD^uE7EdHS$m#Fe%v&`9RnHI8nTt9w3DX}&*`iCV|9$YNY3pKiiI0&a9vk|gI` zMh8fUd{N-MlJLc9yoJ}xMPks}X7#OKZE)emRa*QyLD~v}n}`al>Fg;9nflawXfPS% zf2%Zi@&b|F87cbb6zRrym;R8uAB-Wc&-N+4;P|LfcSK1Y=I6xTIw#%&%)a9+=yy6W zP#+%qRwu}KE&aIr0NacVa@tNAQ}jv)!*-6q1Yl111e_Vkfg?K3UeEgKo~SCfArO9O)d3E))`UQmb+tY*<~lZ)*&sM#Ki zAqUJ(JAE8$kJw!AL(2|MoWp9>-BvQe1BUGE`b0sn_?0`u#`A}0)d4b1Uc#M6jh9|r z+@4w)o(xpev?CEWGXu!Q;2q!XILIHHm}b-ke#IST5ncp|1_qK0Vp${x_<;$esC`Cz zrT}%s7BHrCzRCt$%#a{*^cho-QG;4gOXQhjyfPk!Ak^gK)Zs1{Qu>uWv|-@21u1K$cIr$M*mG|7}Z`tUC!!jcjxyWmZv@QT{l z(G}YSv5v=ug^~0QzuCl!qDgMgNBgX1Edk3jH&9}&bd5>CwYud2q@)i<1w`VuytFIB z$2L!cvt+!axYp`KxJ&y}2?oU9H-vxK+t32$r{Tp}X$$yyx~%x6JPszz-QS_rxhQwN z)YjLB9&IMPVohc5UvwxL>a6||N!O2R6y7nbcA7>9qv(4-$ClQL4@}V@KZ-O?fzN~i z&++^3X`2TO79lx_A5#=*auG^oc@#9sI7(K3Xm-{%MV~V-JFKh?ajT|G=r}a15SQ`0 zQkrOESVj(Y5+Th+#imO%9n{PYd2>+dVlnA?EDUR=PEUQZE$f$Ys*yf}%A1+%B#hnC zCjkrlF2~eWbLQqIwQ9ps#{|vdz<1=>-g6l0_id8$-`-oI?+2U{!1;KgkU`hv**^Tb zlTO7kx)o2vj^C2|Qsop8v=Mnn9#I7s)KUpfsmm&!BMsxatg&oQj;yzJ2|zmScU3)i zfNGw*(!G&hj6dRHQv%z!dC4uuwT20gLm^I-i9k7Hz4^8>3Cal9bC8GS5z` z4Nl~Y5LCjL)O1vfk*qXO5-VI8(`F@j#JcL3E-3S^SuRls+*v#`QXW*W9EMF9-h9hd zNC!Tjob=T{#qUre6kgpzfaLYr{-%wq8Y08JQAp>Irh^l2ZcbXqw?(XU#q_uN*MoX0 zhJ?c2ICpMbEZ(A8x9UvkJVdXjau0Y<9;ylzZ7}_>w5j^C;|k>CKWL6zi#JmuoJOTQ z{dWv?Y!uwSu-s0(joW0uZQf18Pg6KtZISxCW`Tvg!i2oSh6Du7hdEN~ztLElcmKnD;X zVQBu?Ls7b(frE?t{VIh9rwfH1sjOfCosA10*U*q7F(}j!5n_Y}f0Lbkpkpltpx9E? zG}wck*UkApWJj~d0F?BYG6|5Q*-9$zdXfzoU*3LbC{9=H!4fDazXV-ftZtLxEb zIAdm&Y)HqHw0B*HJMu_PNLVjFJrc!B|1&u?4wZ$FY;puzmEUfZn3f^wTI`o>5@dwbD-a-$>(Wbp zY8u;`hUs@MN6R0p-9|8CyAiwpG{7_B=zhk@FA&RsKU5%|{pfZaFcJcNeiZ-cg+KkF z7F#;O_yR*OSFWEax4e8= znfa_TAzw{#nV*-IsC?C#3Lciuaqn1uBVjkEbw9Ab(r}$`it?=-vaNK z)NXD$yW5I-#t%3{^A7X*SCTHaffTw8tP$#~u_oE)p7OyK0m{urt*e5S?0-ag)WVUnX}IU;IvoO5gFzc` zVCRCYJ9_l8>-Lw0^PpEH{rdItq9BT%X^uC?-koppLZCdyB}E@WivDU3PmEnxiZ9Ku zqyUyM+GnHBf0`|57cKYk_C^W zJLs6UYRba8%e)(@SrR$TlatCJsSp+TE%FUsg!0O$Y1PG?Nqj_~QXnq$6XWaX4EV6q zOP+{sJux9C?2`_oh26ruYa-mX(qO_kvs1r#WAh z@x@3}VMdT;qDw-UkerVne6K(lDp7t~y0nI$Ly!T=(LtEn76P*NP&Hp|VoS zBSw~4OHUjtWlc$LEn7_PN$SV2!Aq*gr#ashYl0BKwNea8K>*tMQm2$ano}ebD;J}X z1(5<&OU>sSYemq|dCud0l_gtdJo~uK<1 z1R~H_)Nf{zLDUC(uhAP)S-otC{eBh^%QZZOPhE-Jk|{lPeH zycAyJO4^=fln*S&&toJR6h}DyDe^-{4XpxV$V_ESMjVZooCab|LMn#F%|k1A4u(S( z6sK{Njw9E+L=&4(!KFjIEM0E$9R1?jU@Zjedlv!K+9J0Tamh#-)M3VQ^0HOBWy@r9 zrkPd4@e16x4n~%KA9D}6hStT#@#n=MxCxrD#DENgue3r^ON;T`PSO;=Zu{azc>?DoYd4@xMKwMm#{yh@RxF&YInX#?XiBG|@4`>`ORl#p-B@ z2)i*+hd;xmk1n38p>&1Q#IJIsO7BPr&`S|0-yZw?rSq#v9U+N+5T{iq&wDBEw2 znb(K=f0sGem6l*=9$|?;gDnYzP6km}C{uKh^zVY5_!XGK%I_(=dZ6Z&l8CQN-p9G+ zdyqa&m(C9lzti?|pK*KO=8+(Jnu#f*72yh-*B@fHxZoqLzJ&)f?Be*f_$UtGRG+Bz zPBH*f*mRy~2NQ+gV!b#uT<))L_p5%zaIp;z&qrWoe=$*VXYLWDi~z+U{tOPgZKuVV zH0|e>f9=s0ocDd@f8RJ{`ND7Tj@bIeDOuIFj}twnogrCX{N7i^#gJ3PeeVed$KDU< z=qp=mx@8qOT+ksEkbV-#=%oF@V(b$#uRIC#20J93%<$(ZAKmYe8fYWsjg@!WiwiE# zGCh|q{9u1RrEu|+PZ!eLPZ?AmZIPiKyZM!_x#!t7vLNW<}Sd% zgNTFSw%F;ZY2F;8)-`FB743$$mYm|x6V(^zv&f{xJn1?&W9`-m&NsFQ!*sJg;k?iN|;&RN;IUWrG$MBP^I zX&zvfQqxfjHsvNh#nYhYva;i*sIYZ-Y6tRNn$4y{Ev(icsJy#Huwz|K&&pe;eDgc^ z)=@b=d-?IWe7wNYVl6_;jInUJCxDSr&GB zUGnRqXz`qa-W`XKkVS7+)WaaUR&IoNCybbn&$GJLJUabVI|6h{i8i;U(4IM$xvbQ77Y6 zANmF`1_1HqlTx=vd@1@nN}Zg8Qex%`#&PBp2wxYt{;ofUM~gxuPP&lUxTwxbex0VBU;8|?nQ$rO^R;_qYBHV-~iq#o~ESC|sIZE|C6K-8FG zH{!eK6T>98;@IPFh4fz2EpEbqUfser-(VcN9%5P!NwNX*$TbjnL~h9w-tc+EKJG(e z_H(sH^-#GljO+q*jJ@yZqxQJ*1_)RA-!c#n2yGVg&028$x@tQE^7hR|#)jPFGcmT*`v zT{l4`PoR)P-O^sTK2E9#@kf;u+b|%!!`Cl&Qe{03*%ffCTBxmE3^|KSnza!3jY2(?ny9DQh>+rd<)`VB_9B>M<;c2O4LO)3r9aF!$l&jlCmi! z=ecW<)KD%(dhKd5@cYCuk8++Ak$&?NJt>@V;95*8ygWs8f?l$vmhcHvfr-P_zF_rt zblcfM)^tPMXhuY#u-d`;Vx%%ctXWF#z&TR!pWYU15*KR_1JthfE#LBqNX99CO~zRZ zNE)&|9V#=F`stg+b@5Eb&v|%`r4|qDVFWlxEu5@^dQv3Zjg+&C#|We7=BYJqj`w*9 z13T`3!-Q(NIvG7mV(~H?p~bDNwRz?%-*=FJ>gwXJ30KmXe@^HORkjo8es!4f*;3{k zpK6Gya>*G1xB;ryONj(?Fy|Uq_Y=fyfc*K0=7w;&{G@La?CTbj{6`cLd>Jf$g(@U+ ze+pF3Ui27LVVmmIs2f266mdpiQ)e7ZK<3K$zo27{uihT6l{O<8Y&f>};VJPi^DpWf zK0?b!>}hl>%---cg9ueA>IqYk71+xRbP+8D8flm}EK0aExGeXT7+Xe8T##o7BN1TV zr{)TGQmtLpv}yKi(o$N~T|gP934Lt?f|pUQTI8SaP`%AS$tBQ@5JTsSCln~=fG{c8 zGzqJbOk$Y*m0^q4DaA7TLsyV(>l2E$945;J!`Gl%_~ znKhRxT{unr5wEWz%(GZ5vt@D2XqAnZM(k_3F4QTh;-f{2POFKOI4asWt2WEG@U(bf zHBtM^mWHf78W$JK`^UH#F$1_5z%5N{*0esYqC!EPqQaeVB`(R{Vl{I}MwVkg^82hc z8obAeGWCapYt%GW0pQ1&tLPxXnEff0pQtzPq+=G=&TPx~(zD4Ll7J4=8Kc~zhIDN} zLdQ`(3!w@!Ghs6#bDK?i&)@&Y)jI`e5~y92I?L4t<+qRuaGO=yj znHYce-Y5U}R&{lCA9PnAb=AGry06ufD|C3sc%e0x2uVBq;zjhTqGd&6g+$%%;y-VkKB)PMc)Yqe@v%H7Z zJH($@Ajeg@1pJ7ViYpQPN4myfu;k3))H_CJFm|VAd`JBowTt->kE!VqfagI-O5w7Z zh)OuGnA1)u>SYh)Kz7G^S_9~>IG3M=D$tsV2Hx)w0Vu{Ap0hA2nSy|`akLuVWP@)Q z)?=r*RfFhU-kev+Z!UfrXT0oNH?{U*k}1o3ic(p*Q)0proPX&=(RpC;MeXt%_qR90 z=IT<^0rM2o-I2ZWe_l_+fKcGtA-5<(oY9ck`CHP&=@G`g*ldjM>^T|=xo5HBP0#Q4 z#PKs|WnyOR0Ax#ev0u@YAijixgtUERridQp5Lmf1ZKCaE7++&$dfT;mvLBrh75}bh zXKt@?@4cd41T?>5c3(MTEKx0JV~!F6j7jb0O)IR{ME_NC&j0bv06HVv_3P9fs>NyJ zwXceDB92t#mu{N7edwGPe&g{D!-lqHrYtP4N{>oLKiG>;1vA*&J^V_LXC{&r-p&1d z7nB+&HdjATI$tfeO>1te2=iL{W6tB*>jPFAGLU4U$iJ$kUgvVl3Ad5Uurt`MN((htqh6I;An7>TFtr zo|lR}q%D>%mrf8*adk)UsuH48ICIE21$EZkNiLBAcKoZ>7nU8m<~WVb&NvLK&OSg? zYv0IE1no9TAUpxg4M8lNgK7)+%MuLcJX+%iX`>HLNN=qdkV9$D^RCT~q;()sWd*_K zq$c6x;ve4bFTD>e)q=epiGrq6Vx)QvsATCVU7L{L6W=z?Zq+e+24m}p25EN@&n8Ri6 z0MgG%{Odk}VU1_wSl>VO0n+aPaT{hthV zK&i1$d8v!-&^vmmi&jyO7P80ndVvwu5+?IQi^r|^tQ(i zKHr1(65L>ceSZ4&!rUMy4fGD6z6a*L2a^Gx$Md`9P~XMsyDed!7kPGxXo7*w5F+_u z!htuq&^NIGSE&hpE(OeRyUmI_R3u%t+Bq^PV6Wo43MgA=5T76X>TY&ATCAz!yqV>-U*E$&EYUi@n7S33NLZ{nJVH*-Zwej5HvX zxN9BsT`Rv+3e7%)+8cd9L2;)Sez$uN>b=^p7x6|YexP?6^?f?;;`3$yYj1xX)+tFS48q(~dkyM<`G#s&6pL9uc{N?`*yD}olV zjs4TCeP5a+yBZMc2jS2M5 zve=W9Oy7t2E-XsV9>_b*%!h?`UoPy88TdO72#~Qa7y1TEw!ilb;=LH9=Lq5*fbzKt z`)pO`;{$W^b_f9s#CXR8A`uQH>ymiSgSvl`o-@ewK^DaIj(DzvKELI^jo0}Bv3H0d zpGQDG9sGb`JGlt~z!BJIGZOD**k>%__e%7e+MjP*C_7jO5MLb-{QJF_8TF=x_8VGr zO~HbChnK7JM94EjQ0ARCX!;(@m}P(9nvz>^{8yZ?F}^H*t2ZtKxrB48trLlwSgXm~@7-j)zvfqAwxrhq`BKJ%uh~NWA@%C(f;rjP`WS>0S`}mya`( zSKb|i`r;q9$%GDA^J=zC0@sZBTARfWEu8^^_F8kUZUCRtn*8ex;}w`EZOse9()}v- zxMCo^QDIsv2ipBqVR2RXA0iW|mEX6e$(*CHtZ?h#>#9KvuKjBA??AetT(0f+S&3h4 z|E>rA-_n$FdBxJ&{@L$TPys<|e%klkI0N`^CJ5G9{W}w6YwD56ED8gQl0f|P&o8hb zn1F^NN|J#caurs;Fu24~IacO$98*d^S&8bVC0p0}N=;q2NB~Aaz<0T%?qxx>Ydzy4 zqpRVC(faDBn>QocT6fNA= z&mLni(IAF1&;MOob%N_>gPBz0gHh0!%Qs1v~@_PgYD3l50i(c^tKMoMMYNAR`GBlehM8bP|nsQL>hYA8!1gS#E z(#^YiIa0!`;m>YACqOt@%+LQN@rTHd7v7qe{OH@wY}|^pl&1?s=P-~Lm!OdaDpT!D zAc)Vi^KTX&hm%VAfyp49299cT7eafU3ih~3K|S=>dDFFSRiRT!qru+Fv!iuz%h;*E z9zjTfZDq@-h^&DlE25U|9%*xWvA`y)%JpJtP$yTmFSwb}W?^uzb5R-+qom!pknRj& zh`oa`mEcyYdBiah`*7k!j!AO^qkCrd(YCGJrLU+@PQd_2BqcY(wa$vw*((ImQqJQl z^Ox(Fs=Pk)Cc_@`!knTmuEL=?u&uvOc5?C&2zn>DO0e$Y#^Hv|M0}p6%qdxCP!*S? z(ErKGchi(?p{UvM)%{lMi)5Qsg+r_cqr!6OfJ(_uk)Ca^pNMQ^ZbY~QYE$gUoUVsr zFB>5LCPg~Rb&-v4sV}>*J;RR}S_(B5>yW+Us2TtDUI!U{XU<*|_allr2=fDGwS>qr|=>mOI_SU}x>#99YV|kA)E| z>V@Q^s#_zrmZ(9ApWxXjK$#*{-pG})sWX0AU(2O~%hmga8(U7A(!tHn5} z!u)Km+S()*zkh3oK$sG06@_F^%=wnzS#Ptft%V^O=taqm)xoDW0E0X& zi=JtmX5Hr;VPu<5B^Q-M&Z8ZyV{V;w3LAuBkNRIr# zPAP$Fe6`qY+F3oaG{8NWs9(h~C{adW3r`k?{w`W|@PNji$keUN9R_*4$>&ex8;h>& z2QJf|Lc7`!Fu12H-69w|mgVPge-@$?k=Mk1Px#0o&GsHY$@!Od-?j7(x^+yaQwTfZ zmwtzLtB)$#$D69@dcBDtg^A$g#cH+?QNo85!dg}_AwL~n>1EIUqf*z3pW8RtPlr&q-b}cVj-7ox1UsPTB;Rz;pUYmzq(Xy(XuriCy}7ZYA0PCs&cF zS5j^~IL93Ma85Bg?>Cz&csN{MSSR@<$;8D&p)e@EdkdZk#>n=uIqp=C9R1T`$n;}6 z%298?zxdWCXW$?S`?D4Dubkd1l#F+cDKYJn+Uj-IsG(2P4G1ok341%jsb+xm62;M@guk(Z)lFBi_=isD#J;K380FZ$QT^}xW_wl0p&JgP`BL4%rY8d!g5 zpmzh}iQl%KBC&jc%{n^auPQDnHD-d`*Zk)nChF{Y*nDL8$#*Fu9h5tn|HrlLiQTUg zJL3~Ovy9l$v`$&Q; z-DCYMi_1FM4Yxy}#Gg-@y*)@#9iT0=pu|t3CgI5#uavffPPEr!?AK$QS1jyTES%R= z>{l(gAcMcV(+j0T&Yu|LFNY!bZrt2?*Dc$jwMSu@MlWC85^cLmfAlqjz6{B1V_j-> zKWp2JdJ&&_{k3|)dkva<_dbSR{vp2pQ+WNyFi~1Y*?%oK@T0Cs(B4}L#sjFLZ?h}9 zAde}_;3MRNy-c6#P&O+0(~d&0>G&+(N?kw5h@am`bV@?o3Tj|5ftgX%KX#|^2zL5r z?coMz0h4c1472h_=~yyw!pKcO`OVkcvYzsn2BVE!vaSL#T&0agS@j%YpP7EyoFsdO zVyKAv07=CTAdy8*-rrDu=oDCh3#wAsq-T|7r@t)X9h0qAwum*+P9Ao?sJAB!!d2ET z{z;{-v%jZ&HiFgec+Vr(tg7(Ceg11?AQS!vcOd3eQE;RAu1r&14rY!#yb{j*fbLd( zaI5LKaF!%Ovv6+92D^RmLObVnmub6JrHzVHVc`{JTl$I%vS$h}KpVKOdg;7C^A@u= z6}>nWL5F0#t-5@fR=41T@nl`)N;KRZtKRu|zo0QOf!HM;RgeZdlF6+BbBkH(k{W`> z$iZpmyYUG%Y|&*>REc?CiTX#+c3LbwE%vk^zQ$6tP+R(HNSid}XR>xooOwUgY*h4~ zytsJg;Q&f(Co;6fh2(dYEXfvi!~3gzYs$@4k4Ui_4x@4m-7kAhx)C1jplELSQa&Eo z-^DO5LQrfnDdj3yX(vJvWO(CV$ou`j_<5sh*LAXB4%8pTt)zWmkTdJsWQI`OS8E4| zy(qsjil*^sdsw3E?9A8dfbDUg7k}?~P~NcMDLj_;em!92=H2kG_n81eW6{hp zI=esQu-0P|$y&H|M0B?RAq`~O`weD;ohw_&3U?YgU!K_aar&3#!RJeum!}_hM2oA< zb7>nn+ILV>COvXY`l6*`&I1%3$|O@F&D>a25zT1~9V}Wwb;?y@jVpc}d;E7<)53NG z5_@0|k&$s2ne{-mAcypmeuMn|!2;yva9=&9mOayY#5Zw-r*MdvFmgil_1hrneT(>h zCnIPBv`+Qkrr2ApmX{_53_w$By{@;%kL)wsQ&|r<4vt;g+>69ys`SDfRiT*gAC5qt&l@tr;+>0tcb%Wj*{VIPXwjI z{w#*9_Nr`d*0IvCZnjN^lMaXgSUQNUcl=uH(6DLNuxegvk!}9+xt<)K$WCSU^`#(U zyYBY-a=PaE0$%wXBS{H%UW1ZW7^7n=zz13RIDU7~|AU4uVBt|cM|J~_f12A=b`8EYqp_ndMBNa*&tLT)&0``%>IpKYjy%+vj;zu^QfZ5re^3Q50&5gh zh>-BeP~uLd8_PrwL%)@{wEsAT_G(?--%^!+7EN=t? z;U7FvOmlEduGCeDXXro&^lS9&_*E6XIF2K!eqjSjm~mlf{&Ih#+q`u(CLX63g{lxx z12JSa1+1Ge9XtfGv$u}^O;$$=AXX#kNbR$ou=8fC^uyrT7S{UL5%L@%hI;NO6_1#k zRp?yhAs&na3;rz(QB$2n4rdI+heZ`vnVDP2S~*52%AaC6IsX>tm!T>m4l1Hi1SLOF zOR}t{F&kl#W96k6(BnyXaM1_Q_shRqrra9mUqlMA1 z;EEg%)oGPdjO1aBbLMNrJXr8`u25fG7`cs238D#auS)m{i^Z?x_KEz8s8$rVOeO4A zyO_(=Ip|^JDS$G_+DO80p=(z|@C>?g|4T8tDcT1)+U?m^LNL~o{at#FdT)@jRtagd zR&%ikG*0wV;rM0sFUW}Oy2^d@!>?wK?|gB^;uT}?NZAd@jS?a80z)CH%c^7|YNuAq z6fh9oT9&l4*xF#MBPNwNVq8iT$kQ*pGt7?yXWcxHSf(Y`qs$#qKpEtA6kYC1uSOcp zmP7S`l*)0~wbQ;jVCa7KMvs@&L|%C7sZ`Mq)PXYUsmY^HGU^J$=hM?`dN%6j>;S*s z>;XxuQ+EssyeiU9e{gz*1RD|0vOo}mydVO4W0-eZATJv+NnXZ?wlwUg=RZI*=cF#> z4TlzTh38Dz8ctvV|DNqBas!#H>m zEQo{&wy3BOKC!3If<$<|$aWdBh;6b)*iK;tKutI+*F{@YOsGe7Nn*LO?fp21o&_yq zgEhSVkRYvcqrlJ}&NOa7s;^6(@@PK;U*8Uu-OSQd^i3l0GNMIJajzX_?jOLE4zLIw z5EKpzdxBb5I}XVDaFS)DvVvVbA!+gzqXTWv{uE9<<9@_X-}5ffBOw=pZ6EXr<$tcH z*q01E*!e%$?DfN40(Xr$qXm!nyeHh^h1L^dotVGyepgns&TrQnhY!(o2szIHaV__) zef}K(5Pan)y7%}TGK?`w4$lAF&&%UoDD5g^F5>`stqp`ypE>R#mhrh~Y+^ggv!lf} z-Gj`&@dfMK%ZpU^Lp*2jz>{(d39M0XVNHRQ4LS__WI^Knb1!PNUsu$*@cc~UT{J_Y z$&GfhdyG-*3De4S1D#CP5}4Hmv`y6}6jsuZ48X*P!tm23{4SRVv+np&E;N#Da!?ys7Rq3HKbq#_h_4SY;rk*FCF&ie#4i>A- zX1%GP>q`_*cb}4VKMGxAft@zKP4Wo;r80MJfgBY)XCEa!Z%yRJK79& zwx-E4tCHj#^&?SvjX7VJsDvGd;w zCN>@^Zf;btx1-4`bezgSm1xd7C*)fM+v*gi%bLzQ$_5k{=_)D?HmuD!!YKeYCu`Oi z(x#Z5xl%VWEUHZ{9j*(3xU=rA0re7GQ_BL1>^Y3Q`gZ1ea%}AT_q)io2$XG=(B;FI zxJ9Q|b0QgsQ*6kp+3Ok|zrv0>LiK5f+r$ln6~GT{#rHT!nlTe2Q>fV%%L^^oZuxRN z<=gj1sc78zFXhJwl=#_Rk56|OPAytv&pf0zjpXSN)N1`{hc1Q7(7pfs1>e6)kdZ9;P~T$ek*45petnden%QM9_@Z z#N}!bg0MeKYrBMuYW& z3=ezu;hcPmluOl&@|)A#Y)&#*I|ISx51zPfX(_J|%jjG&$%P(!^2;C5`H$;r911Ew zG41*0W_%g#kH23^35EsYZos?71@c^tUhsit-irWS^UC{hH17plYsIw$`s%E?fq01M ztkr_v4Ky_gfp23)7x=7(t-0Y?0_*)D_DZHbLA%HiZ{Pen7k>81qGE&ItdDFvtYGf+ zIEglGLtXa5Ubc$85zKt*nFD+BA5)8=(tO%ao+&_lmqFZvVY=}9u5mzmnZRoQJSFoo zYdiyGHJ*twq`4XEtPp~GhlNWqKJ7qmq%2^7==RHJrGIy+Yt|V+?7(kcnMh8iHdlpY zlxFl%9vERd@B*&<^Snq-^78Y96v$Ao2cHypYtVCUDbB#|(L+zn;M?FR96p);7VEYc z@>c~oUKl}-P9ag?cj{%JxtbRcc4EU#t~Ud5a)wAIV=9+9N2(N9rFecE|41lJH)fb@ z+!Aw}tas4P8EPS!uE=r&RN06%(@ncFZQA7Xuh&VT3uD)Z3U3V_{ESuR@k-kGE)g7w zi3=6TcVDfUQo0??Pko%t8;I4SQK2}r?RA9Xj1Rq1QS3)DA1|!;qvP6)5}N0Hd)Vmm;FWC9bYAVG52=)&lJ*nUHLa>GVLuv-k??F#Om^8sni)m>s*`X zIVf*K%ioS%U#Ggi4R}sW5~ejJ(9IG+mT>vpS^D9XV|5WsytH2vlCfw#g#3~}IC-m- zIYNi~R#Rs`;7l5{EWo@F)w>m&FBG(UC7f2*o07VvvMoXYhwqV?e=wm2@_hr z+9bHwg2GbEyq!<;*P$oKVh;^B;OKAUzf59FpOr|b=i$$U=d>lnj23Mrpn8n=*dm<_ zvOmsHy6ZdEEC>pOYHOx^bv;-sk%5QEdig%;W?M2Zi)-C;=T!s+PtGTAxXvk!rc{Ua zJ5}OIjgrAWc?h{5$cJEdpFHBgFUf08$fOUMt`}|9dovxj!aqm<b&2qnAtWodWFw zY+F~#`jM@%(XD*R#ClmNe>OFEB`>WT2A&X6LgQ31>0_!SZ=QHiRISQslj?XPN|Vc&2zO#x9#@kJlsz#WmFO%| zU872#1+_pUNEthIuwWG+Q^-#(Dt`z$C~+&Ye3h=qS1Q&qO)zB+WlubmrfNhhkI|5J z(oSYq8VzLCIDZ~9U9{$p@RY>lgbWr?65)$@dyf5s-mJeJ670b>zMa_hk1U(~NVUbG zgx<_?O=aodS{y6a zT}!1sfTjU@HVW!+-7%|0H?DnS#=p1BvkJX$a-Vz^#NSQ`Bw4EQwbTo%M(&Gs7S*HO zd-Rm=7oVd%Yf3aHR~yPHodwMx!dT#PRWOs>Wo9F9Pd9Kl?4bURlvNT6O!!BI;4W|X zQVBCei58Zh))!K#g_o19!b;Mg2G*iV;x&Xn)Gq*~IUQJerb-`KEytr2$mhr&A-dLo zD@{f!3MFIs?0BD1b(s~~7_&098CU}&^uS#Fqx zwH{cODpf)i5|lTnMA1pW(B3*vsykA+=&{8Ws`&4$+?~#AEdE~5n>*t0ZpEK-p5&kS zi$wrTL!8B2!zCAT2`vk>wJW4NGdbWoZlV>fJX)Alz}Os3AqABsu05|4ZwT5^10?5Xb;E&F&`YUyK=x6!MTuKt`pvtcT4H*A5MuisgiLO(&zBYC}9uub{n-Hza}B zh_%x+)XGCv{cur@qBqynnzDy`^^O{Bzp`3IQ?0UQAG*$*|7b2p%piO!t^1rcw
    *?=plX_GK?gGUxd3gbp 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

    Caq0o}m{^cQaH{XPmpImm5c^kp+rdyy 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�Z@_p1}w=C9O^-Tk6m7VS*G=S)GlA@tfzUsmKW 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

    UUK5Q1d=0|Ob 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 z zHJ3*cKNzTgz6zhjavPm>I^2YBvEIqE?$_tMsrvP5cRKEukr_G7om9r`#6dISE>v*7 z_C@kzAfY*RkYGKZ(G(RNW$sqO;vye6U`R8B`0$>(^@aK7{!1wL`1J!KpuK#2zP}uF z7&{pL4Xbj!F^2v1VH`eH3wV!&otiUl!~1q5)s9EBoyGqMIVK(Rtok}Lac7D6DtN`n z*OevzRR1r*+PgSmz-n^$?$@hJH@)7)67uL9tG+4ids1~v;syL6MD^~`SP9SH#bCd; zrI`$%Rp4)@IO`zVKzkGf>0>jm_&dt~xi)KM3vMk94F=|e^tlB8|J^G>1B#CJ?jGNa zZ48~95|d8V@zpSgKB(bDdll`1$dZfZ7lnmWo3zV=j4X2)*?vgVB&mn@jgul$d_EQB zmshEt{4HDP554}YaP~f3e~NHwH~>Ot%pWx0Bhwx0ioDlV>2{<7G%6Y;!;Z zk+7)JYQ2_m!C~Cxq6E$k4_HriJu^=iVh#?*vei{lNlR2M#@1-LfY~Wtfi!#T_0OHu zb!{ZGKTRUzr!+WUblR=LB89Lf#CY`8a;#lZlS3^^l#o?G| zY-w!pJHsl84TM!+pENd&)0|mQMmZv+;<7edAJxaGG12n5x>3?s1!Qu#SdI}oR!$B} zBHD@(M3dUU$c;IN;9`5y6=)_*|Lnh=Wa;4hmh0#dMc=bE$6K63Bu5H0U6J#(=j-Ei z-Zs+w?-^R?M#cUkxnSRR8#CNCHh@!Bj?s|OskGjPvnjiN{5;mb-kn~w#R;*pPz?HtqtHYL6cVm9 z9dLpAEhqWjrj(LqPv#U|RCPXu>~@DtB(bxBf@5c87wRTiMO9{ilJtXBq*G5b_lN~v z)Jsoc1y8ST{=5l`cR$zvp<}+9rKE75=r7I9J4xUv*#SpLF>vl8FtUNPrjha zNp8)kMe#?F5vaB6+$d5yM2R^NU-%#dk-rc}l8fjv<~n$wE@q3dAJ^(LB6-{})esr6 zw`dX{87%s|;ou!ta z>D)q)`gT$yfC{?+TcpDQ4dzH%(z|z3<(rAZ`9K;P?ulJ+5yhKckaJSN+|2fQRL6SS z12(V147tM0US0VQnv;0ctS|h!rs=k**~&Kx>x5Z&gi19u&p9xeb-3vn>1~`m`MzFG zGPiWtw+AFimh`v%2q<&lGrp=7^S%9aBKt=Z+`rivfl$k1)vtA_jwO^1BKHkHp*cRi zkuKT(z24Ws`Jd=ET3#pQlF&c5g}YqmUnlT1+~6Y6U!3deYyjbM$g3#y~jv9rgE za9Tm-j71hjw05W3R`O1=KeN+qCbHLmta&LWJFxq>2_c8NU=4|(*q7Tlm!z`KjxA=MHcNRG>Q^yzK86P9V-`*seXTBb{({K;AQeHe}G4B<%O%*>50?d?dx_81EDyx~Q) zT31{b`}bs8Oe5Fww^^V@<21%EO2#ai1EYI%OQ4luq%vzkpjF#!_~;+v!a%rb9FHMZ z(d#4-jS;Jl7Ii^V7xX-weUu)3kq6*tbg2GG2)bookp2-bdqzj;6gddV6^Rd9v*Tlf z`)|5AuUoG&&}XYp4`U#u%$6fTDuoz9^)VvWDEW79%h-@27ta3UW`> zF3{A!SsFUxEY@k!ety3ZC4U9)gaZm$8L98QwK{;`75Pbr5^zlo1*!Ap5!f`>=mTbfcqz}uTTjx^P2QC( z^5=d|m2c0=7rJK!DYi3PvDZ7WY_oDN$QdDj42@6!0N0NBG}TToX`93L)Bg6f*KV+j zjZT8i@_hLf18rRi`(+>hmktWP%X`P+bDh8MQzXOwse`h#Z$@gwto%;|0Atkc?)kZM z4I-HZ{8I#w^G-sT%>0gl(%k!k74To3KNeZXv!8XKApesAelGOm0=nUI-!b{)i{y0b zIbL!X)!fSQm(+W5Xas2T5~`rqs+LV346}! z%>+>#X6=6M3zPzQwFT;56OZX0cxHS=Esj?9%&Cc0#&?Gu@ThAd`{L#D#%}=W`CGp zoa#R~K>>}#tg6If(p0QIpu6XJSRCp&!*m6w;ia)1tZ3)0Z%kg_dw z$q2ESjDWFN$4qi4u37a^?<>#GJ_@v=@<-=1g^eT1*jbfS0z^@s85R+r0uV+hV`<=0 z-i*z&Q_9jf^#r|Yt#5tcQfQ}GDBX4sP6Yu_4)i`nKh;0uS>NCDE>9tNCR#iNK8w;r zzkR>|s&0Wsl(yVWwS%-i;3FK4YcZ3^AF{mtz#Rhhz3}Kc>&&*75?v?ovJCSu=e-~l zSt;FWo2nCgRPg_5<+*o9OD+6Ql^gf}Y9vNL3&A@>Em82$jA&$ECaoaVvRIDzINW5F zt>HUFVM3ARDpi4$lyVFH4eQ%9>f%i~9upH4K`3RJi9?QEUhR@!+Zk3^h_ zhq30nxSVpPbdz|)Y>aqBY`iaP0igwY?H(k!8+NV~DJ_wutp307?A=gM?$dr2!5?1` z5v*|+F0B(qnWd&mk6Y+p)KmM15P<}iS3{0+_SGnMLoEhAG}uT;#>F!xJ`!oruPVYl)4nT9v4m>ylO}xFmM5p- z#zV|;u72J=^RkQ0yZW3h;{|W(Q@)_kwAdtzEky=`fxpS}sBY6|2(YKXd7mZGSTt>z zn2vSu%gY4UqE5>lg`<5GmH%7O0Chf$>jBtyL_DJO5oEOj$S8x9S;v}cLXj0_e=>{2 z)@#!1GTFH4+)P-UQ>V-@P0&#B#+^z@Zk=bOB7rjLX5^^Js2g!GzSE33wWcw^SpRxb z$5MI_rZ4yJvIAS`onkC7Jm8$SmHGml}GP4)AJDIm> zoLcxeSm<)0_ZX)J#UoqTb%`m!xt6oYq(`T~z$@tovb>{$emGgbaq@@9vDjY++59K${;gAx2 z|5&aYd<9I0xohFlYJ!e7<0aDqIQG&1m0U{U4nie`)}FjFHYPJ;&Clx@O^cu0#sqM1 zD=Z7b$Q4_P6_gB-{1NlB4HoMh%Spv<9LQ{JYs4ZsGp&(@H%O_U4+zLqGJ5W-~29e!cAn8st1DM=Ax$98EH!cl5hG}3|N z&1Bv?HWvMtS{zOu5Nug2+d7tm<=my{g{W<-^kJkJPdVv@q-_KDGgGMiNH}-XTtZEz zTo!>U-z&hbAl>9vFCa;CwT)6iJq`umT5jbZYQ=!uzYqw3qk+xkuENstG{jXPAalpd%LBN%tO;f67u)+tqNQ3-ke74Q}Dp#sG{(}n+?;e z4O_+Vfd?sI-|BRgmuX{hePw2DVWrE~X=pX6%2qd>w+*RnYPV}E#|8VLICd~%=c0q6 z?=@$@dphS1`-U{|^?vf=!uB+s!&YZ$brZQLgrTSp#63`*ZHNbN|~a;WXkB%7gf)y2xn3wc#|t=#iXOP9OD%sVFLlw2zGwyX>k1H|^Wl z{6htJ1<&|&wv<(o5xkw2xvf+5Oe2QG9L;|JK^NbgO%n8Vi5pR_6$j zUDTYwBeFm-Dve|2{NFJO(KF#28sUhagK!;?q+&W7M*<@v)ge=Sa==~c)ux(CD$o8A zdMLA`;E$xKXB4p($L8utiaQ|0)+BQhN89ASGUpUbLg>G&gU$s=*tc6!t87>f5X=t} zss6PeQ|e@F@xou^P0-4HXCuc&HPwJ~h-7b6e@7Lf)!536$lnF;i<^^rT926R;KK$` z@vFsuMj0H)HGR9^7c^5Sn$N z_iA)B-mvWnu~zKSCBS;;wKW)$YosNVuA{o1({RuY#uhan(f6z)@RU!rM+V7t&!%=f zwWcfnFxyTKxq!;p@_PoOFIV_f4~GcNN_C__ylQ5rq~jkhM7e_+Zb7SsCu4{jDo!ZZ-vc<0I&|#(u@#>EMW%mD;lLrU z#?ny~&=E$Z7~8o(J#zgp)Xjke;Oyg$Vw^ORF55lQL#nsw3k6%&w)IZADOUDa zxGXsiwy@79UdA`9@Autr(l|ob`MM27jk@6P$ij!zWqIo^L zl4o9_Y($jWMnR-q+PJ<^*SYS9o15#n>-YePncG(y>u~UnCub+Y2Ak5&P&O z#k?Hnzf6cgU)PJ7JmUO95r+T6sX!!18d{Ta>H^~?@~tati`sF;>KM;g46&cA=|{?w zc$ZYlJ*(VM_>SaOnl)77fw^lCK=M-z3{1sQ3Mm&*iVO%%xQr2{F6` z8W?Pku}(veJ|^rv^e@&2Ub&_iRQJ`G1X@M6R)$Ar+l=*C`HS`1^6EIr?G0>4Z(o7D3`N1L+wx_ldnh40L{ku(|Wz#QiJ>2FG>Y5yB!9ecSe zdah2nM-g@AZ`-nCX!CJZw3xFi!%i_ME^c#e*toyEjJUJ~apePTs0{Wz-u2Lc!X<1(W`zzL7LEW}emkWcUZ~-m83PFvC^$D}vT; z@-A1!HuVd-PBX`~{%e}e{t|UasgDvPvyUz_<`#MMk?BbarYd#Ny!v_muc1E=m!H}9 zVd2VNdP@$m2WQH7{0Rf2$cd)k^^5 z>?<4vcznfAbY>wM^)C216hE?9V&Tx{4#|l7!x!r)u2IMr!GWLKevDGRflqz!Z~U+Jbt-z&*< zA6Tt*1KE|d(tynq1VPN!Hr3}3DBe^`;Yezc(=J@bB&{ljGfaXC2VF zWkz7fR7w#^G2g!iwY?KiMz!&;qa=>=HiEY=D7V}wq6$G&Z7P}zYnACS#_zwfQ|z4p z3~!M*zi}g^f@l_QzWPdK=6?;WMS}@ssN{YqgV*i!ileIAZn+4tVwTe9%4+aQ$>&~# zy(;={>6*A?>~mdd5gp_oE93w34Q}~@p$9y~6%78qekRNa83c;~hf#Lzd>S2cX-lOR zPX>z>6AnKj(&&CY!-h#K-4%JXSiQy$TLD$9wh(@&=o+t=xb)bFJO@mdnFGrMyuU8_n1T;4vl{B}s}r>>P7P0Qyz?Yj2O_-9RttIl2kT4R2t zcxrPj&+i54Jb!gZVTJykZlyLZMJZj{RU7tX?Fm!$`UR`1nlxK*i7d@Q^;TXVRm00iwlqb`nq`nVRlH5^wHBH;uiX00#(OvXmPt5 z>AJ9Ov~AnAIc?jvZJX8I({@kWwr$(CrfnND{rCIKiF5w%ixW{*xg#?xcg0?@GqSF| z)_n)ag4DHP3brAR`UxQ1t29OM%cahN{`N=8g0u?Y7g6FCm3pVs6G5DRa!s=@2|N4o zj<+q8Tl#J8*Tp4F`iQmSo0ap^QlJD-_~?RDY%tIKPR}RgFo$_c_$X%1JpYHi&45J&Bnl|$J(UTr`$4pll%^P1 z0(L1c2mPs+fimc9BQ0C0sA4QDmhnzY6<4wYq*g^8SeIYkJHJ~lsxsJ=D9sKahhP&^ zF=jE#KslgYO-eHeDH$Rvu|Ai3cc@rO!b;UpF?Q#d+m_^rfCVBi;lp<(I|IxegxRmm zdk`>C{oNQw4{-Dook3IkPJFtKD5fU9#QBVuK27(EHQGY1G4%PQbJswj_=kHqL5+x zts-Zn4vXdIY~Bg$PcBx^)7!TG+7o=;L=Q*b&)*#P@F_mZKDW+3j>HfE3GueWhl7#a zF>Hf0Y=a4v%e%|~`H&VCB8f)Nq;7)})LZ2!CkibY`em$?CW;)gj*_sA(GeYrx|5I*R?{vzwQ>a(G z{Zfk(Pxm~UVHeOwWnKkF>e-(?$BVA| zf{mWY(#r8F&_?ETDW=&zU1vc$MHhZ>qJga7aCP(~SL>&{kYOrE9 zH{ddmtaAo^@DEf&j=K;qLANVT#oO<#*iv8R16*u0;Z}wN6NedH@BEJ<5^Om5mS}-X zhO!bKi(duNV3>CuyeMR&GLByQ&?^>XmUZM*aCmzygejaBaUiQY)a&A~*amJT~=fl>6x*-?(p)C!dzM6np z@^Z0eQH5F+kdrJlgDRg^v((IL6EV2+PMk4mAT24+eWQ%&PD|jM8KIehse9Pw-V{BC z;C(kbkY)HoPT~Q&7(C3Xs;~>XJypzGTK?X)UmP6Vv~Pd~@m8#xND{#O9fX3ANPX+t zMSHIGAF-YNBU-p#<^dgC8DDvWaVkjMZ2ndxznJUH$h~=k1^?U+Kl?Mf7G~#ceq0$aVJ4!w6^R#g{0)njdNCvw2TOJ(A z>!jWNelK&;Kos}t1V@Nqt}jusv@aPFZz5VUwUndKL;b>pnr?-nYD&gI*!P@^HroeXNjoh24B<;jaI<66XMPUVnH7Aub&G^5_i{hMMilbKFs$ zige{(AA`Ea-xN^3syvcyl)eI+5+W|Zeqz7F5|*^S8a>~VzF!IiCRTzXWpnnTh?@02 zXaAx{v#2WKjDchrp$UQn6RYBa_l#G-Cj>q!u{Ra36hbE+^#;=#W-}$^n5Xv*%Xt%d z)c*^hLShTKE}^;+F~H^%yLdCnqdC>`Y>hjxBkvYGx$n(aXoyrWt#T=}%SLCCKW+OG zy6=;}X}Vfcb^&(siVcYoY*L~*p>&RJ8Q4+ArVr7k@Q(T2COI+s;2qQXM!-{{8>fG$ z;#xLyfpw(7!D*phoKH1gJ$bRE5W>GIL~{>l??NzC6uz#E$qAS}aKS&C#mh^J50QAw z2VJ7vdJjF(Z+L7Y5ZQzvfs0hnE~pB2i)OjjLa(01274$efj`f zFM;it`q*pzD2ug`b}pD_R1d$J44q1}6?s8Sz%7 z-IMvUy4*<-GGVV)x9FDABuQ-@AFupGDvn-|0)>3?^m??25bec+7ULD{9SjAqTYSmXh{Yz*)~9 z*J6ke&@TfUNBliZ@mDi1x8WYprArr6pkVzXfMqgBQ;j-g*FV(oYxO zZE7IsDKWltO)l2X!SW(`q6ZJ-(tX<@Xr~`vit>iLa-lQ@&T6u(s?gJF#Z8jQ^C)UU zCuP#wm0e5uCG!CpLLwEBq04w1#m6?)wgDik3oL#e_DK^Kr;GH#Eey*_L%=uA^|2%j z0ksAa$Xp+M>5?6=oC{;Wzs3NTHz-r&Mh*u3(w8=sE9>T`a1ofZ_5seG_MozhmKOZ{jpOyX|`2PZWl+>=z z9Hm;JWccgsY&G1__EH?%WWOp!UVNUnS$wE&p`5ObKnTE4D{r*QvCaeFxG~VH(4OjE zz8FWh>9Q+{R_Eg`Yrh9<2okDe&f`~*79K!N&#NDeRNTyOxaY-gls8|Ajc@^YfTg`wy)ELstj zXS{jb9xdpu@U0afC1Wdcv^}q3i%(>-OZA#!$xiXlm21vBRJFQ?V$?g8UJ<`|=F(`n z&Q)n%2WrkSLu7>yD^=hp_V$o!b$029YTt~CiFLg;$WcSZB%X9sbvw(L+1oB}m=gCf z6MuH$l&ews;RLUX+TL6r&nQ1!d&Ancl1Ep+(%kRhQO7NS0_#QB%n_}w|7%9I%ky@K zq01`;<-(=`r}H22erPhj{rE+%y+@Ama`1HG(qaUqeDCmz<-sORK4G`KS>-sh0!4Og zZi7S@zEO-uBxK8GGuC^)EsR%hC_3H73NZ|uFOu@36#}HzV>fef+5(VS>ogPU6Rat! zEwZiigtqDWqm4snQFYH3 zHpi-&thq(rrym&O1?OIP?=NMVeuNc%fyb4YR_)#qILnhuMgF38=gH9@ zVFBwK8rh|-$D;9X%{$u6a8@A*V64AQXC=}ch0xi#IotMxKe;*4Kqf2MhhSXarOiSl zfzXm^s&f#U)k)qMgpp7*6hHqjVHMwwR20c?(JoLpARv-|)zh_?L@23>zMA z{ym4w7h%|#D0Z3z6?6a8wuTfWv`$83q_FTclz7}wv(adyfS%pQ{t$Q1Z>Gk@C zvyPPB^nK>VYEBHN3~=rglAHKE5I%(m24ECRWXl4gx;+6tig*l3`VMqUTn_QrEYDF+ ze@Dx$G)@wt$mzHOLY99ZTYs>3X_u~*uo7a(_jEjExJ;IZ^P8>J8&OhQ2) zkQA;}BO7RJRWig8ZrmNWwkXVxr<&N(xNcR#ok>3~PKRKq?dI>`8osSf=YlGxp*nLj z2wfJ*a6vXdWO4)&IV{QmR>zY$I`*$UM-Xp`_S;!42<0e<7*S$_Oc0TWSG~=sYs7QP zKP;vj@O70Vu({ohHDJ7WF_(?j9?+{xQ;%|IWWGvQA&W=1*Ajzbg9HoAA&x4WWaf0BGA{m@ZP~UND*tj+<5Bve#mF=W9(+=-2~x9|A^3Q z*h>&9GGOz`1VP0jSb3%Hl*pwTJj&7&#FC+ewg7- z811#haxhU>K2jhCK~Z0eQ8-D6A^(yaYr5>17gv0?R&N`}@WK`U1(Y0~G?yKF=IA3n z+L>?Kct4r>0G9Sx;k|70Z9@ZJsNP8PLuU-SH1Lnw&&*IzKwSAua7oI5(#d7O%kN1S zmJK#iRD*}4P13-JU?sQ^J4-cJ-62yPOu@bt;@N7*5?t9dd65$SL$$W1)I+_MGC8fk zZCpo=rHzNlaux%Rc5eiBEwSKJhC^8~J8mMe8}TM97tT4#Ci;VnI)g1HMxZ+Cpy?+b z>>G3PZ!Ca)fbrOE$-bUgyULEL_0e?6O0sp#xK4}>tev_Ed@kYb6?eufc*_w%0nZEV zFADB1!rlmY1{G)*Ju*XU_@jV?S53?dV!807JGmuzYjN&)q=A#M7PuL z)g$%HPdOruFwcx-S$qU`2dCZ>r&+6PO*x^IL}eD<9HtNVP7Hwcoka$y-tkH7ULER4 z*QzWexdtigN|`j-DJ^go7yXh~mS+Ar`REH{1(*PqcTu3+$Cee>bB)wQp{IY-ZFJuT z?P^{lqdsbwSXQS#5?&4gTD*@{1TIN$%Wqn|*UsB4>MA3pOl(TDz^`;L^=7DUj|q0i z)Lx9SiCQ*xC#}NdYlLE!qxy0R!Kd2QBMy=Vmi}dR=YD7{?vJ1-F+AtzvNQSuOOSyq z10c|h^ikV8SNc?`__pdzC2h)POR~JXmYq$`+-0mo(FQaPaT92b9y02f{$a+KZh4-l z+4e`o_^SBikqK>Ieqr@=*`~O`TiWS7ovKFk@Z!nbdUGPSS6*E$!Sg^?2C40%)QnSD zm&&c5bYM(h?uIR1uj~+^D(}}3Eg8sNGNEcij3|06Ufj_!Fs57u#-;{^Pql8#`h$IA z^Sb&wg9wJEMLzj*mFyOG#4XIpud~QjVFcX-Zh;2ktyU{C5rs0n`i`uIngkW_f2D}b zMaVVYeJ25-Li{I~)oS`(y94^4JcznB8pMAJAF1;r7#IHue877pkawa00TEFDFLl$Y z933sy{*?$Ob@r7A0?@7P<*T~f{q?tDdz?v-3<<6QECQzisd$N8iH&S1Kq>$Z2?R#p zoMF7r)IKdFpwq1!w&faQt71htxgt+iSy{BHZ_)b798+g=qocXS@A=71Dd)&*7hy+e{I$S%X2lbLUo!-4uobVQOWlz}#*w8tZ){FP}J*O3G(SIUtC7FrJ!U zh(_$E$UlQ?#H@4hlmhi@ibeGjJ;>+?(FD` zWPaAesE|Q%Ds8RB83)`l?RW=LcHDV;)-K{eo|N0aX^hsPsH`Rfp|gr8loY(kq=$r_ z_;xpqeJFu9!-Gm5d6N8#nA@^$?6HEw!87Mepv2bsrU12rfR(O!N1`QtJ{PVK>@>X% z(qKE=IRiU#(FSEw(P9Uri&GEo$sP#Hh067DKku+D zgmt@JM&bff?sLJ%pB+sNjkR#mB;ee%F0ZdWtq*`fI0Q$D32?J$ce>F}eV$9HImJgu zA5leR7Lvh?_N^E?Rc|J273c96f|Q%F#XcL^o=x~_9%18*rujQLk+KS1|@6Qx}d6+F4W6jPipJ{;J_E1|_eh=81SG2sIYmeltjDXaMd7df%z2Wd4g?iFIkIQ71WeFdXE3 zITk{(k{(PMgt&}G5Kw+xb1+z!nTe6;)*1k+V~&cahKsk@#rp;bh-)L*et7f@9LzeRRb#3)BbHW1-uqK*bP@&LY#2^KnjlHMyFohWvpN9q zM)4qJ3sK)a!Bn$CgMwcttxa^+cQEpV$o;^!%02iVhx?OliP%=6Q`T*n39Z|C>s9>f zVxzDy8^ZO&*7eiY%%C;-AJ~AbOj&e67IpgD-^9FGQM$g#u{d&i@+W1~Jn`3s zp0e|Qv~eWlfR}IGj2H#o!VdTDa+oil*u?LfH&9gqb?TNq#QfNAs_~{XC28IUcJsM%S zd@@9lSH`~CB#0gbdwL9l1b<$PB9Lv$)xZBO`fDiKj zLaFfQTBxUr)wncJ`J_N|DqsX48!u^A4&<;7)N445dIiNabNmib@ceiHVYfmpQYuFA zmfxUC0>Sl;lJv#1QM?e!OJ0J|xs$WozH<8k--{Aw=C}<-+kT*Wdb0&==9SbDK~Dgzf8$0IZL-QaOZl468H!eG^>HD{uH66|+e5+B?B!UIu9n zS;8ywY*Sw~COfEmn^qkviE{;7bC9OolNnGugho?JdJrA{0{PVf7TW|-fG@%(vUM&> zeONz6hB!i;8>mdt_$tNNJQ#r;U2eQt7> z3|1KmGdTVNLrToT+PrrFb2jr!8bX~*Pfu2}o&tQ7w9&4Ie-ukRavak|15q^H(F@1Ru)KgE|c(e5|yj+Av^xtTYT zPcD$fhd-0btmS?cDWowr1Sjkrn%FPnJk2!wcaMjkUtF@T6lF^+a4`{k(rXPFF4d)fg2RUj?cQ9s10=o;ooSI3`V_8}l(xI4gAL{Ks%-==%Mw*7 zPGp>ro7!_`-CXZK+gPhYh}x{{X&750JE1ILZ&yoZSy4`iQ8_F%c`Nfv-71M(d)RJJ z>zVQf*h==Zw-3_rcTPF7 z>>I(9q~KYU+BIy`8zg)zcSoQLE8kr6-seRg79JA2RaT_v4jj7=5aBleWRzwnHd1gqBKD z5GR1tLWe!kM;Xu8Xzq7t^qi%XR?D22$z0IRxI_Ew-2=0e4XW450x)%nJGVI%a#VT| zPcz{rRdJ@D1237Wii$Ws!3ow$oxWARA}O_qCX#5n17~XTlty2b971`X$|!b?QyW46 z0CYJybbo-Dh=`blg&3Lg-jlaRN6{?3PqLo^LpeUbN_XDEtUvd4A2StA2A<=jj5I0N z1zpgJnkJ2G2HqHbFDWFto%{GTOr=_e*n=bV<{tK+2(CQ^F$}>XN$M#BGZu zid**aMmX}0sa`B6?{rp?Fz|KJR(*Mlr8j#1){S?M{{ zjNxPwcm}erudxNttq(7Srb!^Hyz2;RcKsYSpg17GqfB z-v#}wji?22t8)=A9Yp!K1D8&K(@fhrr}YFve$OY;{p5bxX5jhpeIzHwb)W4=cU5~q zxiLTuBfkX6I*5;_hNiQNX)|bXN!DoPuiltAv$SI9nJoxq;RZG%(Vq~@5tJSclboj< z>YKYxh?+vM*(JqVVv&Q6+sWb7Gq+DXF@grj6_ktXslud4g(tLIKYJGd%QA$0E;u7J zL*c%*lskBYmy|8IuVo@4l#(DDrurTUoASCUOa@b~N$C60fV$=gvZo|eLunIal=S4Y zA#}0MiuOtr`ls#yW_L4UPfG&wJ&C*I;aN8SmHUU_492U$nwEjAflGeg z)s#j=pA8n+#x6T8^qrPVX9q-YpSf1Z4{0;R=gL~p^9!>lH$^}Eoj}C)VOl$~m-pLE zUqCqi(rORBCt3Y;9LlCCr9gBM93_w>B6tZcs4} zV{`pm(TCu4*K@bVf09P*S;;oUJbi`=o*(`SXT|2VB-A3QBEBP!t_%@%SPg=tXp zJQhC)qcI!%4`4`oFW%=L^1PF3y_tx^iQN_~3J#i3&^a@zNlPhyW0tg63DE@O>R8xP zSPtaKPn@CvG3UCG^}=7Y*7Ti^UUb;epY|xuEiND=8Ep$hH@MNCC$3}Xt4@$_*b;^G zqC2~^CY*S6VLzW8*9i1m!u+1=$QTY<^6NAx4kw4&vYOxvWpY!gHxm|VDK{@zA@Im? zoxxz~OU#YXdcWjt-XUj?a(Uwv%3>ADpGY4|XR)LKar?r^!WJeGhh)sV3$vf2uTg`a zwi3>%VkiK7vaUn&y-vJOI5(YB(;8!m*V1<}8fg?O-m9}EK9*vGhV%loJI;~ve)00t zWLE9vM0_P+=jdD zbMmwRMSuxi#Dx->+b4xNk-QzxA` zx^YYgU2VI7n#7n!&1@#!bmGx~ z`U@7TVYLR3Rp+jV1eeMx^Fv(|tIBX-LvZ=j+DQ(&`{H}BgVIQnm-QM3LT>KneD~Y& z>J0f(JgUNGnp)3Zg`ASVIabCP+_lxbtOo8+V-HIbH(S(*d&T_gGJL+B63=R8Tp2CG zc}>S^Lr25H@;yW2sRzz!E^qgd)h`u*%frMs21+eua`_?!eFxg9>x3J%BgtfS{WR26 zLX2a)fd=6#B#Mev!Ye_M3N`iHKu>^0@l- z(wc&0gT~-4n-`x_OH4<+0ld0aD&h-Lz@I*?ijm2>`~a_v%c+KFV*(ptCi)Ijd>$ce9us>&#+t4f~W~p7N za}rw*FKf^vGwwUf=HqkBH>b&mMZg#f`ja?H4B=WFv0`M?~`84n6Y}U{E&AxXud#% zA#Fe)#Ptg^_RJ4#4mXUoKn#wOoOjlA66lNKy+@WAri*h1PP?12jMYtnCcq?kc9$y| zhQ+L_fD8CeRl_)@uUSA(BT8&)Z-O;aYF8wDGg)lwij!1Yg)b%a)7gFLq{&i|{NU~n zHBW!z-R|!O4S*!UL=8uU+bfcA1Bzz5i)7ww;_;31j*)^D~C&&ywHNeRjb8{{KgR8xrVSWcXWvyH%(TwHNw7jA&Ahjtupm0p^Is zLnYkza0LMWhZ+GYX0C3I|9^)nu3H*Z2r0nAWXcMxeraMr9JjT;lO{4OFg$+nF|oUS za%6g{z7_M1%NG}xkO-0dI-P_BVT#Zfbl0|rpC9-)L@b)F=Dei7Cgx7f_(hhmj)3x_ zp%~&=2x)GBvSY&#yLFiE8KCs-m#n0rLjRe-tD6K3XYM6KLyBD8!08CySgIwJnj_uk zhi?DJ(P8aOButdIbm+c!tDw2_i|&#!R}oLgGs;l-=DEf7RkCe!c<`&V2|DtU_*&Br zD&(Ij_!QU86!JIMi*d9^&J^7#*bpV9SIcDmX*4(&tM2@%jxx_5c5Ga0=+m|)C$ZvF zD0M#7*i@%NgdK{0;LvzO<&a?lZiJ!rh~IqA;s2WH^q zB4MaBogJY?e~JdG2cRYGjB7^}nsGSCz7z--{08=<8d^)w8Q6XC;U(P^=rz~{(!K@v z&4y4;XM-jww3q<1OBS67{&`m!O_Kc>g#@ykpEXXDA|>E?hM?x4EUKQzd&Acl29mC% zC&;@#S7)i+LXn)OF$I_5HtZA8Frjg8vqM*~Hw<>|JFY zEdJd#c%B?q`5_=6P$A^SAtI)H{|qe^eDeNDDwt|mBJo>oSn5K_{d7&ed&NRyJVbGa zFc*jL3br)X*Y}q)mZDJXCCwV2>6;kqgJqROEXqg-q~+{wqT*VnXQfn2jeW)<{BLHy zuQxa-A^`z8lc(M!{7)|b6cr8dum5UoSVNUnufP5}3(aOm1pN>XkzTkuBT_)16!};t zeM7ZIpn;)C#Cn?`S}Y6bz$w4nK0LhqD8|t$up|T`K zc*>DsZ#z)ftb|l4`cQSPHm!)M_z}}?nNYxo8xG{m{Z*8sL%XT5+Uy>M(}B1LZ>;6> zH=!bkDDT(r-|FAymZjZZH7-%kw_m)ngqjG|0n}@2*O{`l%v{v{GB0bTwojL06(ju< zv>)geR9u)DaV&-kxcgf^0zHCQfwsk)(#~BKZ-$db1a-IqWsNd^ouSB43cVbRT95T+ zW>OJ)v1Pp2&75>@1^qPLxy>ti54S~BhIK^*N)D3C_v>`DK^@g8vrnkG}CvyVo|aw*%v&L8)$L34)9cM-;&B)4oKU^6iS6cQXZRKA!H9`xPG zRA>P%vqFr?ZY*tD9{1zTK4zqF#ac*Y__US3sIsAmA)b zDV$doj0u*bLfH)HD6LvrC~)*Vq9j!82b@%sr!N)CndFUpNa8%d7^g*<<${d|ZA{W_ zv6tgeEzEBW0G-k?o!Yj?n)u4QQt%PpTIz9M2)dleC_K-y^ip}bwI7KVVH6j$ z5MBdmz-C=Xyh^W(Vg?SDTkH}@nMM{`V8m4Gs?y7^NU_3{Bve_pZ>8E~=8LoYGTK{o zlPnrsoGb^@jL)=axgaSV?~TY2>vxlKEyKrP&Sv)}mNl3QL!wHHNrZic8+t(0O zO}-F?_yK4^Ax(tTm!+<@+>oJX_x*iSphk_eIqovP4!lkZydHukEz3ZtyGj1zNZxEa z-9PYS#F8BSSL1w`4VZe_m2xJq4RY8z3#o?{07Y32KW2}>Ib|Kf-ruJ<;cIIw33zV; z;tA`}-nSh)J75KR@DdW@$fKboPm9j5G#5JmD_EwTwE*O>j=Yc zk!MEW`(eZm%7OT;8~-qO@NY~Gh8xZxoi&wuj27(07Zgf8?O6i?1XMEwNT_=C9YEve z0Lk+;-tYds?ZoqFh-b<`xvJ2AQ9YB!i88D&uNn~`9O3LHaz<6*tR@LCw*Rr{}%_P(HfX#)7%&!{_Udh#2sY)pVCFD?1U>+sA^I_$aYtp1n?lzV10SsQXw z`p$&9XS8o(+$nyHhMUUt3$+*z7dd*y-2+88p%J zU4)A9G)t_WCz5elJJ{;2E_E1bNSK_YJnLO>thOTUc=^nwrV(EX!AFSN;)?_?QttnG z1(OIHxM3%qS9CYAKZPDXFt1`JIFn)OKeqktHy)g9=xEdNBZFAl!|(DppLtVf7+@QM zEWndfZp&OccCJ22)cvTO*@xe=1d*{hs~P7GAnE zT6$_cLg!)vWT2$q8(s_ZSy544No%GJ?7Lm#pCikJG*y&rR`843QPsS%`-t&2bwY0! z32an2H!u~;a@Am{kCxXu9@3}Y`zq)A?357(!pd;8cesqgV0m+Y3PQh!? zS?t68Z8>KAm4EBf%e8G;ceXwLCfD`G)jr>fCE?v7PfFSuGiXH+gE4lH#0YjlNdZe90S0!tTQGS1*ea~ zy^wJicJsc6dVgrE0H+UZr^b6O=O*nxbFW!E(1@>$mdKsUQ!Scy1Tl%!mG8G6w*Vpj zX>3~^i+K*w&v$!J{Lbb_mX&)VTd0>jh)=4$ri+8NS6y@K-WJPd@!XOs-QxZ6!7WPV zaxw`rJRn@-Q9ap190kDYJa7`6_lXS?d16N>cO{YZrhQlUaSXvu)nMD!R4g z??QqXX$MbUc)neZCjlM&a$j=O1)0%i+(3*WeWyL4*cu0OQOJzin2yc&`IHazmR8i$ z9ymr5;KusK56jWOE9K`ic;d+vVa(vOHPK2CJ9grtedI+~))laDby9zehoPpPEuv<2 zi&xQ`cbu^Kss(^y6wql~5uaIz9Jds~-Y{dgnY_}f!(tC$C|46pooEgT%5-e(t^ngq zjI#@)nKhn&giFyAR*C{sFpjKg3n;kCdC*Mguilh5(z&Hu!4vVBb3w4tv>!7RfoN@2 z7l_*36T+F)S|e!-w!`k~Tq*QU@_fu1cH3cHQ# zUyjT?Zv?DykpA>h%{K}KT_-imK}{ZR4Lhh^fP|T0%a);uPdYXcx39g0+qUl}<)Guti_!&*TC;As;SvsWDgveT0oFX;h;D=W>07&B2h<6}YVILaLO{yCe7XPWqIK49GfMI@A z?+JkCwCvKSHmmlm9$ODlX+fskcz=pHYpS#`uj^%7gICO#pEROLSN;8vcQ-c6!k&sY zJ%6Y=FgrVH^@>V%BK7M5O?{tLmYi}vwzNLmy4$xt?9nnlVqpuuL*^;Zb z!|=?s+p+jhV-(k2sbTxR|M2%UZ)R~XkpswNOBlHnj>vdfW<<8;_Lo1r+GelXGd^r+ zg*O-ta$Pb!u(0z_o#mWK@S=NZ)D!T7dO^g&p@}Et4;dbs{$fO#)A|+PkCtWe!wW;L zE#T;t6`@Pi0T9#w#QQJ>i}Tld(-rft`x83Sp4a+h=&VU@30dw#^|GiZ=Y_HaUl2gR zDZ+CRx;cB5Nch9|35i=ij|G>tF*}WGu-}4!KQtmT+9d<7ew=edA(ZeQ<9d$lun&+R z-aXW!@tqUcPVX0W+dCcqhVbLgxdVHb{85AY>!$s-GR@1DiEW$QxKw5cp8@&%b%9S3 z%x3X(ANyI!rAjr=qD@H1Q~GTY5>PsA;j(y4WQHkNV9Me~sI zDh)GpaHC*!9>CC<#qd_D*Mc$NlKkPHfN+`$ugi8T2lK9@y;NZ0^PXkEq_k5q%&mW- zPpFkn=aoi5kQ9XpI}~Q739lu4i>E6)NAJyWge#q|Q0Ic2LG(!k{sdQeB zx~3~QS;9GLbze0ka#nzh*Dk-#vwUH9^_vP|dP;YZi%SK%A7y_2G5GtJ5CCu^aL5)G zl`G#qQ@Lhq;28BTp9jzSEudu+T)MdD~{NS(89;t{!H`65_%@& zM>~3B6fB4_cL#g+3J`PkMaL&BI;ccW8g~7ZGd;w}QAk<1YhD{va_Zobf_=cuO`X&xvySpqiyD%dtF=scT>=cv0RU>Ey_pY{sQY_{;=IiS z^eAzpC_cTX#!;;+r9Yw|DA%I04SV%e$Cy)A<%fLMtK;Ja6$%$pje{t#r<^0uLZ#{$R%F8Hsy*nKmn7PSDu6MC*o z4BRxL5+P@004VDs*vewaX%vyt$9;RLJc;+YNsHV|5ox+E2?Wdg8?x6xa`Mv#Bv&mc>r1Z=Q-_s` zrGq*qwMJ>x^C*4^`@A*KOErP$aWVI8Fn)W6I{*#@tc;Z(dNrexmHtUc0|~f?nLw=5 z*eYiYAdf6c+#&d$3g(b%o;TF%o|EQKsw!dDN;J$CS6B3jp}-qcsXMA{hp&G1V(#&L z;X<3T;?WJit>O{&e;=&)ZFExjGUo<&mF&1;U12qW+?#a#)1bg&dNs^-H&6}`a|36)Eu>UwB9~Xw+KeWYUict&#^*?jJ;>{PMRD53yRzSZz z2s2t%L*-ZlOu=`tE7lPaCL#q6BNmCdNjTQE*#`-Gv)lwj!tA}FEbl9@f70F6{``;# z&jZE7arg7Z#{p^|_A@v_(}mRi%yZHz?0q-0me}7BGf+A4=}IJ!>|VKXTmE0tRv(&T zM2ZIGr3%i(;2Y(Q=^o~X(d`uF(SR0L4osw05V>TF$-gY@OCIghV~xCMmYy|B-I>-r zheeoyPcn9H?&L^#xw6Jf$P!TX*rdYMp)fcgMn4wue9}H2;$d5!vq=aN(JBvTRqhd; ztu?L48IsLOx*5(5m~lF{O4;T@=k~OS0a|@8+!a&8wt4Etss+CXFPN{Hc=#*;`J&q% zwr)Q;*bLe$3|r^00!gng3#RGxx$0xo(;GFoSN(zh4}K_n6~nlJ3kd|2it-QR{T{`D zY>l44V1xXR1YIlzDxiN;z6jvd{<3dun6rh7oSF+m4AH8yiAwk{9n`-T?fJixqXnV+ zcZq<2pp{eX&@o!cI#54}{$sw{>lm(J|Fs4W(RcoFMz$Mt!GF%L6%R_0jNfSTCupjX z_BU<%UmvaDJE$W64kxRb5F`A<#Q*(-Zx{sw_&-p(+5eXh%d%-}LaQ5>#%!+Xp#x&^ zz>>hOC_7zJV=~v7zWK0{FM1Sjz&9TrCdmVRfZXllFxbt-1!@Z<1;=EtB!jN1Zex$= z84Xvk)TfS(uckcv`AvuW*sbGq&qmjSWG@GEf))X{Zj;miPQshlE+bSu!$)w5UnuZq zFtMOFvFN_Kv0ssNuUHDd5B?sdZq)D6Qct7?}Tfuc-ls*uOAn4}4vEfqkn3 zLZuS5p<{fXjMciShVc{Zzt9UaeTtZa0s+B6qz2faW2E+h6BD%F>0mhi3$~FqhCDF* z|N7KF(Hmm^jwXL<+y**REAJM%@IRhh#zm}aNCpIi<^0d7*Y1@F8&I7EZHTt~*4O(& zF>adzEDW*-B@qln3+}m{R6~gpe!kaG40I z0}2KMQAaC+0j$L#XgDAU$I?~C zA`DIhN)}I3H8dZrp^ewPg0-dwRxD`V?oKU#rNx{58nL;O831Am8mP1hQXg*NVn$Wc zLRL_Jb*&Y=mCOv$S?> zS+yN@9;m*&T+(7I1X_52Pt1M|+w2hv3XMKV90VO)fDAH-O6P@$A!}eaFasUUi zqgbRCgN+(P2@)~m$zBp3fs1Mv;m-0{kyi0u_(X$I1OH1vO;?|NA;WUe*Bgm;XMB3n#4Nw&)1p!uNLublwfcti~}Z zMp&*EYT~2`OnYM~Z!=!LJ|<(5EMjA@-CfQgV-ZsIM+q<6JcbIWP}SYJWjuP?>K4Zz zap0vf34l+({EEP9W<|h?1{9iCbL?6=R7i}~bE5E{t~MO#3iBhSwIkJ(9BO{X9gOgD zA(cx`0-ZvN7BLf@sS@P?g3GTSQMgXs$`MKiv_iD|Bj=vK9i%>Y?-FrWqw`;S41iUE zh5&4jX7D=5(Cq|62{tsTS8g8ey3Rtx3^QuqTtGKxf&5arE&NP9Ru!QlsGU5<=Kn+0 zSp~%rZQ(i)2=4ASxVr>`y9IZ5cbCBl4l}sBySv-q?hpu0fZ!f-Ip^Gmd*8ac_wMRi zyY}j?)&Kvk1B>&xR+z!Hri7+72P@L8(M}aSHD{Wo2h^SEhF1c{l1@$xYt*W(f3670 zWUB-N?*z)~9|*-Ybj+BDS69AeF-mlCs{Q$Un)7LFn6;0t6uqb|)Xn@$swI^JN1uKx zxtqbRaPwqna@YFJ0pHI!nXy^EnwYzkH)wMm#kFG6wb+0&CAyn2$MU`xQ}3@x{k@7m1TX%QSBB?`_m=hXJ-((w`YAx8i>{~L2Qp3mnNjkQ19xy$8Q2i>TnS{&P~=tk+$ncwsgS(J52gW~AAHh`rae+I_akKkKrx4V)N@bdlw)?W;L zpt)+kuW}&z0)e}Pt(kgZ0Z-HzCU7*$FX+B^hp&sG3rK;9W`D_<(h{bKm4=ZRZB?yd z%xLc>_9dG^+uE4l0ky?*luMd*$cC?z>uF2zw;*>)%Wr?hDnUjq?&Yok#X#kjF2i85 zfgkp3P{NwzkwPkbBw0EoWxX~AJ^_m0vPwwL&i?HyHXj%%w?u>mPY^B#6|36aZ#&RS z%|Q`73p6tPqqVEg;*$&QqkjXPefhe5zpRLZqM>p5LStm$BSfj;)9nZwI8g#D?U!K* zU>7J9@CwjiW_WsQxj$swR;<-A{*)dF3#jukGXZO>9SX0Y#c zL=fj|s5~vl1Wn^do7N*A z3`EdxMe-}PW-sRMSw_6;-&Rs@mky57-!pXhW!xmAx*N#yF9;gk{w7|{shcWly;amt zbw!62s1Pj17mXl1fGb17ykemy)euQ92&>E)ZiSsbh4Y@@kL`HC|4=;A6J+Mn(pLca zU8{3yRMIccX9{$ZYXXjGhuYo;(4x@tcO>&0JnMOKs&ij_tCTE*!70?8nY>`_~3XaRQ1-0 zuxtHA_ly1L!qU}^`Maf}vvnaZr?IkoASUP9j4uKKSlF-sAhD;Go%B+fHSzmQ6)5|B zw#A~HGPbOK=&7Zd+_ge?rK~-)^j^|$`!P^h`yi_IyFM2gj(uJJ(4B+=K2BRmR7|=bHOAv-k*5m zE|b4g@*_|XAZ8b?19TAm%R01w0sA3LZj*aTt)5fAH-EU~Z4`Q1e@jJH`Jq-sCH@SM z1J|A+N4ngdem9FsB-9#rwoC*O4{sB~M>_YG5^CO83sK3kK!#f7rA*0Aan20R7y)^G z#Bot~y$Ut^zmpK4IAeq|a~jNv<*Pr9EviRF6!i=d&Jg=tGA?_|Gc5%d0V@?~>Yq6_ zr%iI=%;?QAX=G_YV#H^@;5+R{Mr@9ZlD1F<3i5sOF|TOXdV!W3F=$-1(!>gL!lBIg z&(JTm6JPLN9(Pnk|9G26taQsF1hcTKh>`i7o$p zSZUN0A`K^&p2#+5*9nP7(6f%~j7wXaANh-9e;*4)SSyyAbXdJ!YYf?Y!P*4dxT;uM zKaJAl&18#H;0%wDGvdgI(Ei5JK%5G~d}v0@88^<7;MhExG|mDd0v1({vo8|B$Ii3+mvRHC(emaO`?QJ zQHGw+Fe5GP1Iq$pHfY`fZFtop)W#hii+R?G~EOheg zEnk~izTY%>0IuOAh%y+U^YEJx*{a!tFE_I^jcJIdvqxB5_4b-z90{uJ5Iln-$r%KRInGmm{mlLG#Urp}Q4ZtjQ9~x;0{*dX6Qv98BhwLwt z-w&NW%kgGcQ&(1y-I3K)>dt#zQF4 z_N7C{A(f0OpXfkaEZDW&IH+CF&(3APL2*&OTU%P|ZZDAYgzx53T7AQ`9e~J)#Os4O-RxMw#M{al@mRf^&6s zU}(-cOmP0mO6qzvx;e{^yf>o;VNI%>JoKULE24KnX2~nwH!@4p)crzVyY~y`QsJ&l z6F=Ny5fb9razm>6!Zl5%?c$@27l|%6Mp)bYR3KEhq;XA-U$dGLntZUY10MJ-r=M6) zB&&!C)_>P(;tz&({eIKDP&Sls&muc4p)qsOvkcMIqMAT9J73%)5A4c-@90$pPku>3 z5{rmux0hZ-e?uz{_c*)iJ_dcMTVk;YXLEflP|3K+Kn*{UWjo{vlBBIni*yQI{Yr*g z2)y=IfJ(vJTZIX{>zgcQk8*EnpW}%MC8_=ruW-v2uZd$F0@h~#E3ymIWlD(8xoyh# z_+yGp%5cFDDtB)oC^YDTT|f@>+yx+~Ns zk+l=*m$lZK-k+3ec)=7G0T?iWPQa}~(%pEk3=gsmrTM-daiPXEK}fKNmG;k0=)HQ@ z! zH}+6<$5@D}Hrq4Benaj%J}pTb&nI1qj5mw!E0;04rh6!Lrq+(7u<{QR{sex3zKu6- zq*%n7!-u#nV4c!Hj}gCDtCZ66+XT_;^~M;dvyL~1_xm^8A8B);o2N<0Gy3K=YyKpa z18B!+t+OY4rk^CZg0FWt5&E9E=J|rzF6xTireySNvcOEG1yD*26Ik;P-{pVO+c!SU<0;v=K;6cV}x@ zxXO3Rn%+_9ex$!#D?#J(c)D|ghUp#uZg|9XX-nV0((lK^kSoj;HCs%~ERlr${L#O^tx;sbT1n|RL zD4!moph?Egs#jINzmOzj3f!9igD7oJ-m~&66~kgqO4A8dbp$CjTkflJ+EtK2L4up` z3(VKeZ&?+BC5gA~H=Hn|_ga@;D~kX6HS#RVb~4XyPX>l*y$d{BC@=@NdVjbLW!_}! z=4EkfkaZ~v{NLnEIuPdwunkNa=+zfD`U=lm~a^s78{xbdpWd4f}=HQw_Y(xBqrY67CHt z=@2>bgNY|GuUk9%jmPo#Q(9aFqN9!3Pl{m=N$9aSkys!}Tf^)Lx$qz{&r{|^080W~ z%#NMPykvvIw}OA;rDTiB2-*Ms5&V6bTr1^$TIWn_2}%F_T-iJ563zF%izCHw-;B(QWMR0$=;YAk1!tRKV{UsEWqPL|5}t znEK788(RK(Q9@rL+;Y(jTP&#QWQ%!SD6o?Ht2VZ3Kduc*-S0>|>PN+a^cdGbpDM<>orMuzCU; ztc-yJIttD_A-Jtxqgdh7wtJwGaEFiT6!tjr^q#Atq`;R*|E2WET}rwdZWd=bwPLgR zKVLHUqnm#`AFURTWCRJ9{k!`7@FQfWZX0)WjeC1g0{dSAZp7yX&1DK^$!WINLdP%r z#;e1Dv4PqQR%t7(jkI`OMsGNNu1$V(8;f$lTR=(cv$?*ni3ZO7NXHt=d1kq%@+UY0 zZtHR;{bZ}xHSR$PtJrOJcbgvbcHS_;oQrAOsaf3pa}co}XC2D0*m)BvKenFCB<{J# z%kkU0*ydMX*qjRNd3JhI{iHGdJrTi~_?(f4V+Ol3ba_k0Jt3ffB^=(1-*; z?XW}qqkee*!t*Lx-So0Zs(a^T(xcyd*7!x?X7|q7q_`)0-a^^=ky!W6AW~e@Gp6k7 zNVU6q8MLyqJuac_+Q<=KzRz;a&NRd|;Z4S^xT%B0%-Kj|)_a2Kb>T>NSK31Q<&iOW z&g{fx;TFE_5@=~>dmKXgsEp0^#0<^AIoK54lL!W8eT1s!xuVD_lQ>-80$n7#d`+a^ zyWY&ztCNdxfz0+nExPTfD|RMS_H%=A&LOzD@LA3E2ujeDJ}t+e-g(63&)m>~8bim^ zPn(Di8*cDQD}&7FD}$attWB^5ny;{b*qG>}Va-MDS%|Fh7S2%~g(L@u!+61o03cUq?a4Yes_b`!Jlm}Um19QW+@%6!BcI@rn5O|I2c@cO`o#ind zhm3)ksK$v3VqUUn#0rA}_=4$Sk?h`r2+FC+Td>Lx{eQq$OrwH%VR$Mp%CdZ614iI0 zhA&QlJ!a(h+%PZpCvpTbldA+Ez&~Q34}A4Z!X&SX^1dC5f;WDeC^{2HalkZAZ8fCr zii!=&Vav%zYJxo12kC#39}nN96b@fLuyPjcfL{T}xM;W|*wdtmeeFQrzBqIi=zyM~ z?%Jhvr9P+B8dyF!zOrkCbEIsOuWrOK)V_j!!xJBTLt>S&FO={*?hgUJJ&5MNs`=|M z`DwyC@eHnEbw)g>MFyN5&5BYLIp>i;o&#vAhQ^iI3W8h{q4^>X3Gib4Sa` zb;?{raom2&2v~sPzyku0_x}un+oMXp`pNiU2GZ@lT>^BXbhIIdD#Rt%((y;^x~FIoTlb4F(eskS7BBjLiVCs*ifZ z%DnD~^M`f0;nr86*B7O3N6hnDR9F*l+Vy1^aPuuY-#Ys6~M8)5Nv2cs$Rh@ zXc^&Inb}{dUtw9QVP36)P{U4fXT)iU(RdKWLg>vnJnu0&8}d#^yeEw2|H=an#M;_hC@lgwJ7``0Px&D3aeiYRzL^2XUV=Z12V{I zPFoZG69B?%iTZ`$SRBxnF=bL?IKXTKz?&{xoRml(M;K;an0WAw69S-sNU%c!a6y=W z44XwInlk`641ks;iwiGH6D3R9npiCYas?8BWCdh{6AySeqqJmH$!R*K#TrRv3E?Vo zuEju~EkXH-=H2NBLE*)pWt9lR07fTfURi=!&Ehg3)`x~JX23Be#D}K^T=%*rR*(>| zpx~O3Sp5CmEU!6HKL*g(NZ}*#*r1Fco68N}0swsE6mF`+i;-kI;V3dF0Y38zz?=F+ z^XT*gNhC;<%uO~51Usi#M#gnqf%4%&(i9|)3ra{jz#;-s=9pI|9%yhvR>eRSrXa0p z00HXw)OagJMkRQvzojHR%v&L5C{~aHf~=pMDQig+H73S^AxpD<_iM61Lf(g_*1iUy z^>G1S*7BFCwuoy9VWylVSfjSNZpb-2mDb^zZWgE?F z9WSV((5^lC3XW{xY-WItNFWsh*5n&tp99dbRjLq(blZ}gfCD-Qa)Qq>K*WqR>sAyU zu(FOMVdlAs2Q-|rZHeZ&=?64O5Hp#ZCvpH%IG``12DJdJOyEz`oAuX){9H8z53uSs!(%3YB7g1LK009HCj|=*m zbihIcqAgIBUsueRkAXwtXnPQf3$%zlroqt6cwvp%>D-kP>|On4h%m(vS$%>nm>9n zGoqjz9>BRsX33VwH|#`zdzuajnFWz=7)k#26dhk=AJ!79(WrL6yyIJ01DA@CZbV4hN8B z$Qt5+uw!JuH75H10Fa@`K%c+xou%6yBe`ApTT<_}VUGj3sQxX-5j$0vuyRpCM8XV( zCr5w()}n}4rXDg4=}Ds)PkYkBX$&;8{5zU@&p7=f@t%mYDt3aS!9;_(n!#SFAutA* zHSVRUiAbZ#Kbd;(XBoErr5RYST3?SUswp`oM}0976^vsB-BX<`+qQ^oXIHFaxq=b0 zGM;Q9idLd?v_f}GwQrquW4@}BzE0->?=RVuVcwkxkZY3cEnF9K#Re&~QkdY`&M|o` zP=s(0*wSRMP>LR!6n-31@Ds{fexzeYiK%lb0eumUK?T>?dIg>Zpgsl!9tk1_&@o>O zx!Hx8K96!Q4g&mCXjGSRr6ggdgtR59lSfUanu9G{Q{piaV>!Xqn4snbXbcD+k}Nl9 zX>AF$D}7`t;=~&YBEcD@EQ47HmH=Qe1AZqBA7RUO5spqd7KB5CAeJCSF%YwR^bhmK z@M2imkdK9RB?JmEadbbHVqF9wr=s(N>n)ZI#~Jx$%6Q`Qo$HFSaQAhiM*JQI*=`?qp4K?G8z&XASs=FqH8v?6EcJ{GKVc=Vy@TNL z?7v1~1aAew8wkIlcFyqUKTq`<@VJ@Xlk(x+qBr^scWAfg^6cxa`QeF!`0b%QOL-gh z!hQogh1MPX4I791p{4}V@5sU)e@vvm=_ytZ1O_oBlTl6{NXw?Y@m)_UCt)2}jYDpl z05rnNGl@p$b`u8*JtV3R380%5X-C+|2S>_O$@**Z?X7W^YMa%m6UcURPnKtW@ELg= zfuXzS2M*J^-qhcZRiVGFjBw}D_@X829VU%I;n#gnVhpAg7ssiiFOQx)N%7Z=K`Uwl z;GH1P;WrW1vqCNR#j5leei`8W>rL9*A?d|oOZ6&Q@#=l=8#nM-@8Zz#{6{qc@-`A! z-yE5cX<4_#~If0xPf*q;BI*sY;bq#f&cgQeSX$s9&e=qNCdmy zRU7V7-P#RzLV-IkY2@-S*EaDukmz^v`f2CfwN-8lrFvJ`+~NhF(<>;Dr>Q>coe0nH zHUE=QfMei2Y_F+4+3iGM7|!wQ_8p@>`F+YEd?M|k@(ZeYMm2=*j1fPl4(HT%+@fu_ ze=nbHD+vlr%%R|BKGYCzQoof1{QR-0>sQzjm7EWTXvVa^lfc%Gu#?U>V-I%37wzK3 zS2*XG3B1h=DE~PsLaPhY|9dhEhxwOqG~etSRO*RK)-InAY7D2wQkJTu5D`*lPuDZ~ zU(HF`G#EHQh5W=>YGV&vaY41Dr))=)(@M9X{-^vn5`q^uih8?_PakS^;8qh}2sNi) z@w}|->^Ez36$3vL_!z=0fWi4~;9t(#hL(*UJJu-e*o1-ax<(x1 z6Ur1HouZ8(oub2eYU!cuh{3}AerNH5pbg76oL#jvu0B28Cy{{}m#@pDr|n6q1g&!> z3iQglqdRwpNHsIWRfk__r_-~rC>G~oI7z0Rv#H=6$1Fdaq%`Yy0rh5cHR~k}l=xpC z-8}~RUvd(wL9zy_;m?IPrx6_@xU=-OdD1hoHn$xjnh=F^%~P8^>XkqNp$nx(#e8Os z(z1)NI%c(emI_<)!zn|Hhd(Ds$yy~9Og>DLJ$K0^zBPkU%`{_>UYl~x*hP+njrDUv z^wXx`k2kA-W>^>p4~H+<{%-3Dye~32WXuqmrfJ;J7)>j6!12V}MBy zv-b+(5-wvtKX$m|=CZAwUCoB4K|<%IQ1j-6=Vq-3&dcAv$0G|41wvW92CL*oIj*M(+>1!f+!*x@b_l4+ zcQzwe=__HxM2!HSsSDy_j0+5uI~P`b1tG(IMi}%FQ2WCy>yaP}~Yg1OkM> zL>_}hx{Z~=3Cj(;G|W0!h$Af$zZ44NhC_mXxN!XpYD)CE6SB+PBtffF8kN=A&u3~! zkN3PPd^08|i~%K%FKBnGeb4{Qo7m;;M_!IVgMztGP0gAx!mE=7!+H`u25K;7YUG+D zh`)o6hD)d;Y#bT7%%_;(zOFac2NqFZ3)p2uy5fZw?H!nkTG;GgpB+p!BEj&NSm1d( zbND;1u`h?JTpbKVsofY4(UTq!EoRsXEQUhIYA$kcGvD^du-obul;V(L6D~4v*WBcf zr_ZP@`jEzQmzGtYR*=RHd25eU4x9ts&wtlqB368kH-2YJq~gzp!zzDY!a;T2LXWa036@dpF6vT?p;-)T6`j*Ag1@fe@1xkWOBe~TORc`~@T3LxN~GZ; zw>>^VtK?ZW?jqrPx8qj+S`T8i-c@#J?{{Wn$ujkrh3|Ah5DNkA0r@=&bD#j(+E|B7 zxa-y7?qj;g15#nzC;cTMV5TeXdByp)!+DDa2?4EGek>09@(WaHG2N}Gaw2vG90jz| zPAUo`uGG7X^mvn|jpIQJWcc7(7ROU4ikK19&?p9Z@`^+cD-lAQU3qd=twcSTTJxzj z>{w%P*+>?-|?J#BV- zmSI*Z9rJ9bR>n`E_JkFA^_BPUaMfTEAa~$ zwa*hU7T{Z~r_{m|*~9eTO5?jX4SEDyq%>J~lw%9ijjSsF5b}Kyf2x%C%FC0e8tLFZ zH@ocmRkPQa0;e{%tn4rGVhO6xs<*A;wvS>R2M>Q&C6- z6Y!E*P#Fxkve5^jyNl6DF%_m!EpD1<2rTJmLIRLabyHMWW|*f*=_ewXsf0cx+9#vJ zyV9MEs9xt`+VlgH(J5N#FV(Jm)zQVH7#F8}V$*Z_z-tCWwZZo&2F!cDw@wB%5Ab_O z{x1ptsVJlRmzAMp9(-zG#o+HO@0dYUTH8XQxCyqJZLbgBE8_qp14Cd@vTdLDtPrS5 zU>#lfoEO=w`bAo)n>9U6wk5R^2D4kIZbu=wECrsdk}fZ#Dq+m*x>H-m?H84#AR8bHZ67{y!FKV4!%LM98P!} zp3@e79sWgHp`4<)f+NLisVHriaev~?Y{w4qRNXAxD7Lr%P7vCoUMbR$mReJ%QTZCP zaAQP3rPku6du8(ZduOj^)SlX#BK-p=NQSc#c+r5GT>g28`fBz%yz?(S68_;#gSRRx zI+5VHNqB{U{aMKQoRlP$r^l4&X%?)CVqq(71vU2PBLqA~2FN~i)t+2hEag08je|O# z$w0o+zUjw|=7MZ5cA_4^^h{^7%wYDO-3fw2QMXE@TtNK-}1rg%esft(8&F;8qz z-9cSyIt7!^Ix-2ByC`M1a*QTbj8zC~dqfJ0whkCAx_k08RJM)UiB=eUAU7Fd7kEoj zEpf5?B{`B!9g|QaKWNyu`jmY{orzthW7WvC#m>y>%P$aDQ*8TP3t@Bj)P@u{M#|Se>avza>MHDdS(HTUD6m6Cto9P<7*iRdXou!> zEt7zV;WVLn#JF5jO!&iE_j7~)@E6ncST=>+B*p_dTp!mI;|X>nRZUvRlQB2NYWtzC zg2n;+vp2IE=~VrCQawxS3W}aW*DZ~Jq#xg4m8~DLEW8p4PhAaJ#b>bIf#%4hg91Gj ziTeae^Hs7EllawmPW2`bzkiLZYba_|ySj=Qed{2pEAG$_AA?)to@*=<8nP>;+wDP{ z(bw({$Tq5|BO=_o1iz-73W>~1bJmu@;d3mBodTHku~3>Nxr{iD)LIWd3|g;D+s^`u zn*Ivt`kYK|$8(g;v`I?>IfVizGJJBn1Ye*b+FMi!m5Kj;2#$VmN9$P7QBHe7<(?2; zdI_@I7&(-)iH~qdPE2#%yGVJmM;AZ-mG+E`APyR@D5Hk9)>&3bG zvTMcN`Zb8eA^Evv63(7Twh-do|6=0K-Hvfv(%y^_;Qo)gHjuIrg5<9WrZ>jW5spz{ zp+T|&ce}BXaF>fP5m#%V|6X2-T;mk2qq>9XcM64O7>IJN%tPl^3E4p!tQi%ATPZwI>PO!?^{kG6Jt7js^{hB1=Ma5*a8;(YYcrD|M;x!wL zFmPvc)f>IfK`02w`e$q`vH~!^?23|^M8&G=al891L`SLGH6+eyY$~HjSb7WLID3|T zK8ly9{efU2UNz;{Fx=UEb=F)K7v?TBUwx`y4Oh9x-H#aSeLOSV4Ys_|g;>U#50O^?J`RL(V46`?`kT=GrGZ0^ESGpau?ia%wvexap-4&yLjF$_^x54|T z&yM{@-a}>W2u9^-J?$Fj?TY&C27>M4-D@mnE@cV>t0l;fayXZ1lHMYzyP`IusQhSO zEl@~79^TqKyBG++R5bAtAeMrnHi8g^E+^n zn|*z+9z$+>QJ2TlNGb@uEXuY|HR4_Rr$&1B@9;44yddUileMEua-AnF{^b==X5{*) z(`!%;*Ic$Y_?Z7~O|k!-D=()63>&OnjqP#lC|)wcxziJ4imyUED132)QN7^^w{Gr;hE4pURMb z)a_$4>?H8wC;v28c%g=U#|^)aSL&I~A4TpxQw%rz;>MJOz>(C=9{G!x<{qe#ty1s& zls9xPTHNvSEAl0rbU%n-FkQ0|dUhJ-osZF3MRON6qaQefD9FQjWs}h_-3YCm`irSw zo-=491*csEfaLtVgS%5Gb7`8@tQttj@bnv8@inP0@-H)OUBAuG&wlZgn?G!d_S|vDkJHb? zn0b$h=OOeIqKRrJ`JB7Ss8ijqE2aR-!#SSSXH8O04#h`J19(Oq%-plRf{$v zxre&a%DYJ3*~_82B1u7Nrexd9Lbigz83C3JIE+?5HK-qrleQ))|9oq%za>y0swsVv zN(#Vn)Y#pQik#BN;iy`>ey6NB1;0qq|Af_g4r1Em{U|Fg0kIonWw7?dr;5<1@@f<* zveHFk=?6OSOETM2bIU&%ip=SQ_M9#W)R!rz?RpQ8@pLaN&KO3Y==8@@6H+^qhk8@| zy4x2)L$>RZ+fE*mpQ{g~iLE_Urd!Ifa6hj3P0z_9R`a8-3#*B3X@~b>h95DnNoab> zkcUjVqW-A80jG!CGLI@0yb6EL+M2xwNqCm4zF=nBs^gr!GG`0&ib`wco0fGC{x&R8 z`3so-LvyAP!Qh}9U=s#_^tcyjx`PB1lpq36Rdn z^ZV2|nsWa9OSE~6Yn1xeL{T>#!f7WJ!9V#5fjJQic|fs>cga-=A5N9ZH?~P-IKQmi zRtJ$Vn7d>sMr=KN!!EOViTGk$v*= zVog&!Dm@i1s*=x`9iom)p_4`4Q+Hiyve;fAO5B3wVdnGap?~QnG2wm#%j}PhN`?I6 zWtDWU2<-DzX`|C@4p43oVDJ1k)@jw>$#%iQrtxnGx6gqQZ_B?RW8SwYHwWLB&IIXA zv?fud$S0c)Ep4B_b^P2_Is)sJVfK_PMV6~a{{tGFE$dk%r*7ikX1+y|jzmO5`RFI4 zDVKYnI@Jm`&*e7FvCpv2yu;WsjPW079P3);9)N4W1SVctO@B`2-Rtt?52#jjPcR?q%jfym!&} zTa&NQX=jAwcs6{N+~q)c3Ik4&M^x)qj*Z>L*TrD`5-n zk*|_P&op}iOqOnajoe#~ypNlkH+tOkbV+u6m}@$Ao|$Wu{)D7zradmDYC6?=QRFH8 zvGMQhF1yV*77A5vlIlVoO6n-5+s~fkZMVw+uW#?ie_=nN?GpsEOhyq|&Nu9L6nZQ%jap4* z11*LZBMf*DPhAIEBBnuh>k)SRtzRhSJVSr{dwPMn`&}ax8CMk1ACYtyd~IcfPYQ`G z8-0i^dq}W=AJ*U8G0e?{2JdB34v+mNQ}VB&2)l!r(W&nvbA1P(Y`1B1AKMA0ho2&&$R<@TR6tM1 zl?MAZVH|mtQ4J9;E<_m19MGW+v!r5p1CAnvy=arjEwkI=90PjSg*w+(ohVlNKO^fh zM_pr%?brwOEKZv5tU^c;IaXAii-ZC_H+oCMKXc`Ldbdvy3XoiaxhGMf^w`=s9D-Li zcSoBz=@G7jYA3+`>nZ*)0)K)87lGLTU7Ib)xD=LsFdKr8Ua~c%zL1}XH-AdaMVkOd zmScCViAcVQ?C6v}gxiYi92cH&q>w$$!}8cWv(ir{?=LuVnhB{Tn*IhPg!(m)j^!$^cP zY*+dGclt6W>iwW=J0j;aI{6kuIER!MbSH6|>LXKc%)bMoxci>s6`EEEQ_l_}J-~8!)Sm zZ7+{+cl&n_um6Ugh4hzBm@Q@0b$Gpywmw?#afulh6t-a0|wzwSti z=i$!dVnP{Fmc!lm(>F_T39W77EiBK}IvULXO`3ys*Y6KS@c2fj#0m_osxWdV=;Yt*uIn{3J7YWn-0}{?V`e;spK8jt&gA^rv^b zEGJ*#a7dcC<(sn$Be=4g3b`zKFf2_ln3U`uZ6{}@_5a)}ssl$|$OL%n4Xdo`{D+-M z68`K&wQVkDM*#y+eDXp}8k_2Z%@wKMkao<_M@{EdV}aLK)nW7shoy2oO?M zlBT1<|FY@H@QIrjc9&RUn3N-V6x9PjDXzHGYxegwWYonl#ke}aYD-XsOp;X1B=zm~ z$%T(m=a!9Xng8SVF|^F{55?~lr>)J0``I*@rqe~Hla#{6vD9 zH~I9ruHH^4rOZrwp2qgvBVzQM%?Mq~a{EdcS01#)=@33MVneI^;a`b!(1ah3pi0$T zlx_Ig6^9V&xXFhSoMTWrJG5p0C*TzY{)z7VYq>Dv?D7JEKlq>W+oOE`WMgA$BAMiD^BP?p4~LN{<`_|c_vrr z`Szy~5Y8DPxSx8ptz@CsDy{id!KSNHuD1CPz4Uyxis*?ihkJligSsAYZUM=*7ZnQ~ z`t%{`Zn8#ZRxJhPvIm-0Ks;V3X%^6J_dDDeOe+F_a0j}J zc&6DXgCV6EF~mm)3!na}(|(czs`%n5CE69asGsG@@Okj!kha-r+&FwjC)odSM+@nQ zytPd1>#X#=S8io}68~4AZ1t1Is@srku#;+d4fd4dO?py6Hxn##a(WaeP13iq-_+6E#& zrt?9=UmDQ3NX@3Yd)qFD8Jqh_N*AiV|L<#YGU;J=3{n ziAWCH$c=hRl$e7p5_Yr`!Q@n6qbB?t@ip+j}d`jFm#W_NM~SsM^LNGBTd1krW|IO%jh6|G0gjAspePxzyEgpx(2t?FneJiVS2fs1Nmu%V9q#Mw1 zub#duQk~T-XBFSzyk&sIW3Fx=)V!kV`k_neq zyPbCT=UPV+J#RM6l4x*FVYQp>jKLr0_7CtbDjEl)(NII^5teudd6U_ zv+VU&945d5;~h?O`)QL00A{y#z+w*zy;`2UVXLRD!7^`|K_c5ak!xJ>v|S_k^CbrT z`FE`tQlzwN1$Xim(F52f`ZPuc--5I~?ZkYw1m77X`sSns|IjolN5x3o3FyC*%^{SN zd9Xu_r>vb8y|o_Gdhv&En2`e^zbo|a&l(qyXoM$$HM?IM8v!kL=cB(KOvlp_0*Xv% zZ z8)n~zzuV)8A6;K2@HIr=$!AZ$MKr*%y1ZNIzflZcKMBrglZP9cKkX4wJkT}8?V+#6 zUzsHXBT$52obWAnpGeWCN7)D7EIkSSU`US)!G29JpiwIkBPT$`Naq@~Ev6pAqX=clRFTH(1 z*olQ#rc~-eOHetAEzVq`t%v5tw4f9StB6$qD98S=x`I(ASPf+@GHVo9gNYF)iCTOl zL;3#`?2l{g8>s&#O=;M%-qsI9@IK9_Pptn-n(tINL_j2O;$@Hbgq8)l-z^sMH{yY{ zAKdjd!`L_|1YvX82po`ocVqvNiBuPr&GqFJ$5%T&bohi_pZ zwr$()vTf@vqsz8!+qP}ncGuLs-^9$^iP%3f|72uD#>qHm?Y-7x4hbq`m`+AQ+lnB; z*mvQloNJN6LMdw@{ZSN?SeSQ1COa>#6)*73&5Tu5m_&0wl;dXhyzMme@p-cSadvUj z{R!t04?lC>UU5kcslqSt%hi8_ z4H8s=3czdH1tDcmUyj@}ALlT{Tb8tnNgbdck(Z3MOE^fCSOxBwd_5x)1Y)ZJEGP9U66^rD~%wOd456_1<|1>0%YZU9|al3Y~zY zH~QvhixJsr!a6M$#WZi2k|o(^7XCR@wlWVbVJdSiGZIs>u-1C~mqbZyV)q*-O>XQi z(b|ijN@h=u=wUq_95n7B9FB-6)$9y&VR=aiFd@U-fR*8ydC26%b3Ks(shtt{jYU*UsDp#Oc<@%NF1%%fZV}UO$(wfLJ)g79FARHcJCo9V|tF1nJZGx zIe6B8D}dchnU?wRWQOIw@YV3axJ&2G{X`o#Xf&jA5ylE7N7mewQy_YEliQ%op5$pabqOEUH6+K_NkZp0Sxs0ZKKX zNcGKw@dP2KA;Z~sro(axOd%WT#qeb$m{0~7i@8Jvm>#q`;RBb@36z1Ou|hpjpfvNM zLz_A|&6GGyad3UTHiO?5T4BV7j>J$zzXPJWRJ>fX$is-O@5U5`jl@*;Q}u<&B8>9Gzfil1 zg^F85`EV}&19q|Mk!EG;GVptY1VS`V_UrOIqo~;S1kW?)=H>xR^E)A%$EoPeztHA(fV81_mQb z%{tksKD%p*`eaSx5BBIB4%p@dr-xlb} zo%b4c?Oyce)mpY6GAll1~F+(E_o7X2Oq zIq+?2Jbb-3Z&1T4aWX)zB$JXxnEJm6&qN3gAdBGRrLyd4TquO4AN>w{`cSxRJr4I9F-VtPnFait#@eoN#}to#*Pcbj_I+)xt;aMS&Kf7_L_zgpJV=j`zGNiO@m;srT$=q$vNoPV(RJ+;uUa?ZEF zmrHHWT3V1zlmC5(;hezJTw=ce&5`$*1JVJgf|Ag6r!wSn;&B?@7mS1h}F z(Vf89CX8W}2Vghjkf&sEW+MbfZOY>*DKJhcLA46hfaA#1UDP;YW;h6vAXP@hBsCf{ z0ZRr>I*H6>S!B&i^Ke%XJDG4^mynWx_yL($CZkAVLg+PSOPfTNy=E#>hBam>6&}Wk zT9&A_zK)TBRB4QaB!Z5DPZZclUGl0jJ}+6To=;Nj2+%6#pfzhw?9I=Q`-e2aQ_eIG zMxlurkEKb9VVfz6l^ETB*&@ielmnoMLyR8B>gkZ1R9QaL9{K%MtezJbjg#XY?|z&m zEN2)XsemorV7U{ZM@4S(+uuNZg?}NJl7Y+RI#cJ1|%yN>Qr5ee7`^ z5B?LAj45N;)m{Z>VfmXGD{%rdXY$o=_h~;UV^6NeX1Fu6widur@$H>ZJ({+{CYyCN zJAcL@o%6atWkc8|R9#seYqNk;1&%%nFEbC_7;`RG)-azS4b;9h8Fw2mpAicY%S z1Mpd6`TVoVC(xuSki3PV>r!Qgfg1OZ#ZdusQ?L=CY9&_iLTQt1stU}v{k1rookw`R z(eD_+T^VfB^O3BN#Odll`vS*^2C5U17;&~a`X*zXDPxpl^Mgg8y9trjPrjcN$=9n* zNH?XWr#Oo>PV8YC*W0?0UV7M_uZmao1$5Z-hrf4fgH6PkpQ$L}8qZrim``_2+}ash zDWiycdSoL=>)K?*jK@J~oMbt!SM7DiD=zLX$%eG>?XwO^%o}H@L14*-N42)FAl*=v zD%m28m9F2;m=UMjNAr5&%!inwX;<3fcC z-zYw8d01txFtFrYIbKK~!U)3$y0n`0Y#3LAyp%$=Q)Xb#li8IP3a%F*Sg4D9y#n_z zbgWzon{W^iD!W?KT9Dtb6Vv}(1Fkv@hvQV}MDJZ)GMzJp=D|8-7LM11Cfb2=4&L10 zK^A$#OwQ>fvZ5A!NOD-u#gK?%xQwJ+wz^Tp_QmzVF;oqarjmnBtl0%hgimU}5#Bz)c$ zQq`Hyr=$Q zZ{qUZ%e}qF(_{mGIeoqn0HVPSfR=7@weU{Xf!oo4g0h?E?lu^IbDu6|IqPxL?YlE0 z6e?;5s5$RiUfY4s24mZ!*&fs5ZjJ6^ZARVa8ponPq0Wd}RTi$vjPN7IJ za~7u0G%=AJF>nqaz{TxXNuLIx@Y15EXh~Ob_8*ett?`CNc-V4^T}`}gjT_~&2S1OG ze>;@=>2U_D9@I2-(O!R;-RSA{E?nsG%HmO(sP8+_Hz!e4oWbuqu%lbOVM{Q<3l~Z! z%oA1hX&BE1Y}5ib0}9lG>echoyZMgHJLg_5#6G!v1C>O!C_LJA_dkm(k3snKdLL#! zp4B)GM*dn?J=*X_&B$opU_D$GKDi}pe+S&$qeOPyFBM(CGjpq}^ZFuNP48X$JGqCO z+&NCAK)c&K{k}uv`;ogfJO7pE!=c>{yJIS>%GdGjLh2qb0v@_h-SCeOeAV6^Dob){ z-Ded|>kg8oc}=L!TKS8FlQ03t6)u4(P}JH@|Mn#p%UZZTNr&2v0K9ZrjT5+Ytnebd zlQaWk=aMUAci_#{GoAXSLS02zXKK_FJg1MKPdJ>$+G~1M-)n6(| z7e#y*Jwq)#faNU}F-s-3?b(`ofhmLX&&Em65ebK|5- zHn?v5H9IRJH8%|TOnLdlzj^DKc0$>{1E~e^fBB(@hf$u-um&})VGeR%?DTn$Tvnxy z+|bXhs-Fg|Xawnz#njZ2^hn9s+28%#+Qpt+tVY@)PHu~U?>K8W1`per67mznEtX=j zPXM@zW2xX4+%hPCj|Mxh;}{xdB z%qlgP?o(>lBK|CW6YtF@)a248dTCe+2>|_$9o6Xe&*yk$Nhh0~sxoWjk}E42xLapj zzq8B;?d@n)JpF1(h6s$#s-kgb5T(B5MIU^@EXUW!Wws&?^kn_D9)o`%_6ZvJiaB@B zo3Dj=oea$*@ItwB>16Zd<0SMfxq0{Vo@F~@+bBFFt-zdwzaG{7=C21@IMw9R0B-vo z-W9orkqH~;Hy+gq7hSX7+j*w3Tk&z&uWfS=hHVS?>WkF)`1@wDImUuw5}sco1Jr1v zbq+m8tDPFE5i|l>wN?_iTE<9h6UaR+<%w7gW-wQhoX^&GS8Mwl4MPnj(VY1|*y81u zaRd36ghItlES@bm-$|(UnWAedfZ8&N>PmFkd2fDYak*8g<*#L>a0gawZ&vJ5(`m(q zKK1`y>*@>7NFTYOs}-GvnI(8&obM#ZISF&WnjA+o-+C(!u#mB>grZ#^(A+G9q8jy! ztSN++RET`h|q%N^sp3Ebp`c-MlYvPVV~YsT4Y#><#(z;It=Ca$~3E}P@G zOqlB{5)s~XTYK+Ntq#FFYUS{#Mv3)$c}s9nhVKZZR^9udCUC&126<)BBFfXvb?9>x z_B{k%3&p2^#w1q=>$9piD6{6DzW;{^A_ETUoS^+PyAOc+udGx2l+I@YG(b|Kjnje{ z;>h;}=q5)!9K1rQ2PA?GnsPom$Pp(fN?>0R0`NG4uo>!`6y2!OF%86f)p!Ifv(Fqt zZ>ZraHxwpSxS>}i@7C2n*B93nyX}7u^nRp|kj=2T>ZJ_!?^3ofN3bG#?b8GQ)Vv1Z zK=yJhLj_56#Y_+lW{NwmxB%VQJWjs4JE(X!a!BV!SE5w{so(sTm>p0@pt7~##QgEu z+>v-9eE#i0e~|+jkXtsxJVL#O9SDd@CSsaqz3B3jeD%WjZlMi^5qMW(R4eMT#42Jn zlR2gJ++q^7BT)0^uuuB2ncRnS%TK@!di`Is6yP9PjW&-cmU61eApuhk1TUhGL@F~2 z!fZ7*Wem_=vp223&b~!CSk%6c3W(LJ-S1R+RN`xUQnod?w@izML%6kl+K!~<#Vp_- zgBYko`MY|Ur_ak_jh(X?Oz3&)?J>luQil~`LT{H~rBYjFBh|?v7v@56khQvIXn99| zHhH=${U^U@F8g$^{sI2LI~1a9bJN)=iTC4vD4S%DZqd+OU31&6HL@ee23vZcB0l>p z(v%6&s&PoCe$;x+KX`ikZVM61U5NMFe4tb@DqcFRmZYU{KJW4q^q1?bDxq+$#r#@_ zYMI3B;Ep?jrCN6kt~ESyy%K4pcTiZcJ>$rh(I2zfg#Yj+d;(;{4t~w)|I7znx6?lw zU!?OoCN18K6)%}MEj@4TDcD!2F89aXi-^C2JX`|OzY%EvIXKSdXg+{%{SZTtHRVZK z8sefv9H$}=tytq1nBq@nMvLQA|J_*!bOftYU#74$JYkJ!DRXmFP-b z_c~i3F_S{*pa2RP`zXD$K<{M({+L!EPdHvY!e1`$P!{L6NT1YJG#Vp97&f6Q4uhEG z)zM~72WE}+(lK5-0$a0%J22uu`+zr3)?$OzT7rBK;=9uQ`eUL|0;DFbFa1^vgSpBZ z@&v8_1iCy*-#Y|*sUGsB24qD7mO4e_Li2D<^TQkb!{Y>Hf=P!wJxU^450A`u<8cia(Q1Z1)O?=~yp@lqUSI%m_f}CLDOlaya$O$b9_0o4L~ z%+S-TM&(G@(4#>CvG-vt5*D8SaEK(S;zVQyF!Sc+j06m2Fw$3V5Eyn*F03)beiv=9}#QujCeEQCU35>tujsizJ^ zc4o|zyrl6iMP}PDO_?Q^C%Hsyhh3||uVRgLWLPaf`v$S!v%$JrqAsJb1NAa6Z{yC4 ztxVjx=7v+ZEO>uG_pjh#Kv@+EQlLx2%Q##~(AmXsUl8@55L0a11A_qk!KjAI3Jqax zVHQ)?8qL^serSJ*ws{)S1y3)wmgcWEx@&rhsw#YDXPoCMS>*rvLtU8r5b6kFr>aej zTO#O;Co)?Tz|`bm2{4yVfIAOM%$cLuJkOgrb1uA?qEswce|`A6`T9HXT`%3tn}gXr zDbeZlsjzQQ?d72tZ*l>0rnZlZ)YhvNNmbG2an1$0(tKQQXW@~SEF#Vy<73)c%8N~i z%EgJJ{u(cpD1y<(Evd>leR02ogTK6Oc(r`6-f#3Vm(CexfO!1b-Z^>s(CXNDfrEFw zvAVlCJF~#YSuL1bVq;X3w%NBzRnx%ixZH*Ot5>@Ldum|3c!UXHvTS$FnT(=nkFHK3 z*%)y?`$*a+R7nxFb&|iF5eYJ8)f2&)HTS1= zRZ)|wgz9DbD|=RgMO&B=G#9U0#xTrE)ewxEn1t+_YT+Vgu!dD8cI4bJ+A69RAu?=3 z0p{|Qg|#$`dw&cltxTTCKp?2!CnmhyPJdYEKGQI={lT85J>VHB=^M&uu~s|>V3KAd z8)R$)yz}yg88l%H?Ut8JB4f_ZrMqG*@;njn^z=UV{E(8opJso#69yDD!2NkIjgYu1 zjQ9JZSM=$JhW!Tr_aIBng7f!uFG~$lS)C#vE!UZ7CCTGixwd*z zD?EN*u>b)uf6@i?4TF`H`!il~2l6SKfsw^Tql~FEnxflUa)pcMiMbl2V5ggx(&-%E z9mGjuEX}5+aEpK?bxvoI=LXqlQEZa%?{yYEJ+L-*$y zFv5SK85MKqyQuku*5$p;zJ%$|3tXXB;V=w=huXL3VK)& z*^B@o{9lI(h<}^LV7QT=Egw%Fqa|K_@z(gAQtweK!~m3k?BoAIN3DVe*(#RiaN)19 zB9PK^p!;R}PVjh(z%9d&cS){)_J}&qhy{iE!p_v5+1N%}KE4>2AZTdFy2 zy~&C3=K@#|b}9+GIFxbu54u+|EvzHot`A z?xr;nF9nH{eDLrJ@4wcMy%7BAUG8%87%RjhIoc61LIYXj8-yt^Sep;A^lHg$ms3`qxc&Q9k-qFpBl#atFj2WSj8=cCDnkum))?to6Y&-e-g?*V*rn{<% zU|HeZrR|o9-1HVpKty=>K9F6ia{6C<}rmM86%Po&eIf&Y|qQaeDf()+; z<~TAt6_87lE`pFt7Ql!-E5GbnaG--oX7-aYldJCu8=Y=-C8FTOvU5!Dv`YT$CeTsS0oM#HAhA`RW5WVTVM|MBl+V$Yy z3{;*~&9_Evn2>WRMPsd@=C=Ye;uar}64Ic0twT$9pyHnzmQVKR=-n0+iwAmm-!*;G zferCrpa*?Y;b{(v8C6h;Ibt7G9n)}lQRlD9lk*S?GZP#_$};32xL^d*Y6=VQtJ3`u z_7nhaigT-tQ2F*g6qN|S%3#hv(;{VS^sxTmpr}n!y)1}> zy#$&cU4Itb8L-kawp#*xwJ{@+(cNqY7KF!qQoGiS zSt~EcurZt)Q2>8BFsfAHp%Z4Eyd0H;@Do<%4E9=p{-EV&De3_l_)*WpEWV4rZm?d2 zdHF&X9Z1m^Sp23vp4$J0mO7dBMFv(^!Jf_65pYO0NMEurk=9;O0b=Jv3mA4d^>tqc zoU~)5>|AlHXG=6$5=q%J_YFknoT%5QsD#Qrw6bx)fG7P~{^p&3L9_=X0RMH7;|Gnk zknYp>1gY0}*;fFQ8rvRqDFR|jwdjFzbJ{^Kf$@f#HHTq;1w{}D&&N`y znzvb)%H~?U0m#V9hYTaN-c!i2j=#W>t*ZdNLwyO{AT7Wlir+n%*o1@W#86yQ*w1Xf zQ6>5)yP^wi-rIS5?@x$M(Ye;~X37GQi;j%+qDz@mm3?)RN>TMvql}JKZq#jPRH2rk zZ(vwWKFIjUf*CdzHi`;8pp%4Mu;OTEsAhH;)P_@b18Z98B0FGP^BsV#7PBA_I8ciMd(h~$?^@H|rFLz*nz&L+LN7SX0aq~;b%3fCG0GvjM8qa% zWa(g@8C^P5b>Q5gwaF>xmZf6$!F~t$EkLj?#>vs@Q3}`FG|&g%+6{MIT>`%Dw}ac5 z=IuT&>a!@jqD+seAzGRPKd0)P2!5)2zaY#a5d)Z$d#AbDuMs#`!$xe+xK`9d$xaFc z6-Y?3p2KNEj&)i*ABc^I8QVA|cE&&QM^;@ANy!F|@=hupTN{TfIo&fWlc0-|h2m;{ z0`*`&q8sBCmRIWns^(nX7JVc*x>fIEOmUo6q-^m#?ejizWW^z!7eptahx6xvy+@qn z@B_FZnY?pR{0ZnOIc26Qx6~%LJhc#kt5{;TcY*hdXeBx2E&-gy?4WAd1^iRl9}q(rpH@_^R_au_IAJsT%kw}qq1r6wa=6?QI!G!H$6At z%UMF$1S@q3T=jRY)_m0Jy%3w@N!<7R$R#yrb~vK)e!`!6fij;XMk<^7FyARCDgfR# z?bU_TUM~cYvz?4>9w^NCZ`DWQksy$9&Dpa&{3&JE%3fZ=S>8v;)9Ao^%2~c>NcRA& zGs)J^#`+5I_6j6&`MDWX3aiamP2q3B?=pcm`rnCBxk&ub29r%t?>iOb4+|BmIf3ga zlJLLV;lJ^}Hj(N@gY#(*$Nz$UF#&iDv*p(dg;uhKxFGHfXKJ(+5x7>XT0|Lb(v;s& zmpI)xI}!rS2@484qe{T!AXU3#vA9!enewzvZYC67pbbw@k!>^S@|fu~5*&!BHwuL; z_k}8f;JrMmjkJH42J7DUwB+BzrjWSrMObuqXOpy!qG=yO4*!+L?K7#~We4mwsf5sx zHmVNN%irclc@%ZF^4!E7G%kCnIJiIqslo%ncwnj}B`74Gbe$UR5&lEF8kLnRY`Oim zc`UZeo%cqGd!kKTyJ=k#$H}Vgm}u&lsN>FA*KAjSe`Wtwc%($<(e{UzjT1?g$SZj_ z$k9|mxWD;~Y4l9$w+`EI0Q5Mjw7_OONee3+fPnK>3UQ@}~x z?4Y#Y9mxC5w|;>zOSdDb)HbiWc3Lh&<=x5EH+4q#&7iz@5OFFL+B338@AeuaSvY!* zj4?(}el?moZ-b|sL-IZ%nLnX3hrP*Tqe2gbO|hZ!iD(mL#nEiahdL6H$F_581S24v8AF^S z8?Tn3r@ZOk)FYvk8AqnrG%yRVs2x?+IHY=XC@HvABzLmJM%ip&tl>fUdn43xmwbXo zWQS8T6!~v#9sYA>E+3$MW1PycpYCLibTSA1OcI6oLlAE2L@NqhYJl3X)Y-7a-MBA< zen`zi`E}`5xfx+UrkXLUp_!DBz?>6J=I(|?7ugpSk$4TB!DT^Q9pc=CB!@n};pBRf z64=QMCAC47s4cpxSwAC7-h#OLl%%cQO1D|+A$^lSH&e_cv=Yhi8p!Ko9 zK*U>DP^ho3+?7m^fapN+eppH^d3b^tTYl+v11z3sw!r7eI_ zBurO8q1)G53`<)4+j)KHd9=|~YtQ_?&`{n~xQMkfLHAQ5(jKlbYHgM-)N18&cQzVF z6-h%a(q#wSfY;K%clkbYEG}yntzD%>K_gg+&0ivXB<7pc=9}c^-YURIssip(R1-XF z{^sfem7)|VdLRVLzrx^v42k_(Q3bTY3D|(crWQy4nEwheg9#|cZ6hLp?X87_heYni zrGxzciwZJst?juCT3^>Mw>^eT*CaQVAH;82qIY z-l#Dh2pOH#811%zcH0{GqC~HEV(1hc7zOH-6CwM53ZMTkU~odUVx)Fly@K2W;jk{V zCad<;wY^o{QW#9ZgNzr+h3fE2(q{8QYgg4%lb8FX(E+CgcZ^ojNr4}TCyvfN4BDOJ zfo3r0U`F~QHo=w5!Tf=~FoGM%Ved?wnzP#M;UnVgKA+*Bc+$7S$ZrK#Pj}q%bj-QW zh~aS;Hl#bzVr!PZXrco%WShxKSl(nSSEPNHTmN*92HSakEth!>&WBZJduzADY&p)E zZGlAS3(A+bO7EcylPnI$S6b4D=WhQ}b5sw7Zv3DHm(O_6?*GGi5upxRFaGG#VUQ^? zkv|+Yg=+%vl-*-guoS=@0TQ4~bxR#Z9Q7Lx${JP?wFn(FT!0noG+(rFFh+WkOKft z?XQ7l*RgOylGt$tagzppF1FXU{e6+`cp_S=okOkuj*c-f#O@ujfd_c0cy@e?Dy4uy z3h549<;EJGeHwkzc?u$om#QI~1*49pFoacX+6#d#>t7Qx8zVyP9#D`)lL6<$RAXzs zfuV0aY1?1&vpdFuS@Rj)gdjaWzqlY8#X~6&dw8mCmmAdrTNQn zsM;56C)t87K}tQ}umNC**ba5;ud*%OLJg{acvOy0Y7v^^k`rjP_DtHV$3}0{JJFSU zr;628%S_(K3{fs=>p%^YZ6jT;^!?B)9nVR{x^p+O`)-3>l;%gwtf%xc z-18A##EN=CYwF+AcFKkw(jD}9ToK6;MB(V!tY_?v<#Rem2M1tQVjWpvSy8#Lpphfz z^t!-~Fa{mkN?jeJi(weDVzx&Sx5bZ_{OM;AB4G%z+s7E1;;onCV1%Iz8C!_wb%%u_ zi47-?atQH1kgm7)a@*0q`|YCFmQh7+!mPcuLtobWRN>^Z;^bWCcFX3ZYDg?o?yW+_6ob+o#UpYg}}e=aD_|kG_pHu#Xuv@?*x5Fe1*T zLE+DnBMljW5Mm=+r6kO;l;2rkq*_~D9C2R_s&yK*xa1K&4(r!aQ)2^plhgCJHlm^% zW(>#2;2QKwFA661%%D1RSjYA^c!Yh)Sf$H2UUl-$H3N(~6nz;oL<0JN^iSDfYewTa zmBrM%H!QM*1If1tL!5>)BPs1!%!c*l`<{lBd>Uv1&}31B?F7|YTgHE>_ptw-S-7m~ zq`lXA;MI+P$|XWCd&!q{o=p+^)_j}|g@COnTqD68o1TQ9{t}de(8cuA?TpqtWuF5g zh_*GyhXQ1>--CEYc7{odJ@41YsW*y5+WSNi(3J5zHa4TCU8iH*+-wd<-F2U`*>;Vm zwuGNm$Fy=A`3w$5K0zf|<=ETVK<Jm3v6& znvU6n50Hr8rjpGoe+Fgl9e^z{h5Q*k5Enj1zCwj!JrH`2I7|RoRuV>uLV;gD zW2+b@W2?Qxf^r{1i=VF30o=}h*r9VT1lue(cba3H^MHTep>k%ekQS*hmwEd#+v)ks zd;7#^=HL4X0zdGozdTs;n(lP1_smpUH?P54Te-=)*!69qmC6;s5ikXHHK2yLUX8S# zT_FI;^I)F@Ve$v;u_uSmZ7!7o^qD7agI3mb12p~x7qXJ+w`<8|`O#9pzkt9a6p8l0 zlP7MCx1_%E*aJ0Zfl!TD^<~>p`pqBPRP0m~N=WmUw0x*8l7Xoup^Y)zM<1hdV+g__ zIlfD8y)!*>)m3>wfz5~Y3j7O<^%M=3h2Bc6fK{=T#DJr7X_!G#?|3L^k$`$!zZ9Hw z9gRPFqKnYtA#N$&U(m%j#wDf8ZD!clK&Qf)NH)`nou-ZE^-ij(k;(>w3N-vAtR z^Ow!OSx76v9yCy~;FF=rfC`5ln6CPh!*t_lF6D$|9ZVPij7y^q^(5LG1__Xw`z(vk zI2s8eHoCubpPD~uJajysqKpq#wkTP+*(_YBLF&sPX`tvC88vClSV~ z`gwB%R`Y=e)CUZR)i8I?38A~mJs4}8}rOM;Rc$r6DG|`V$F1btdtShm8MJrw^c|m8el?|qPEQyr zB98?Dit-~B;m8>&pg71FzIuB9c$18*F`3yb9$_5f)>->+e2H-s=Tg0yC5+s`F635* zI-t>QA8+j=2IgC7rEu;{9_NCw@r#*ez7Z>OJ+M#h)EDkKIozbaN`G$IEAT!Syt<)H^X3(9tM>wnJLYPfZu%EMs; z3DNQDY?*`uEl1rBt%ooPpSnbN8udC5UFmww(d*H{QI*<} zJC|=vxi)+N z5Ls(cZngh9ByO;BC zYIwaT>}ac6j(<*2p=KRvC3g)s!?e;q~dG+hQj#qtH0}R9)=b>2?>{g0?C1 z>GFjK%nI^LmSlU9Raf$*yo9;u zEJ-oS{_!Qf=LTG*)CeHR(N$C`!DJ{GGOi)8rW?MlgEL60x`xQ=;^yp9y$jB6-6TeKoUc& zEUhHPHz0eEYg==~!S85mlG~13y?zqqfk3tvr$)3_c63kZRfU6N$c(xxMvNtlIfO|N zk7(0EY~Ul2*}NUtL#LdV>H#y;M!+`;S=xh%6XC7eJ*Z6xa%Yl$&PYU?aGx~v~e5I`j3_CkXU3h$wEkSEYM=*_Ci@XjOM&g zmEeoum8um-kTXOs^Ul2L-SLUO{{Z<;4Qh<=O-1sEwdMvQ2a_(+N1?1p-8)!GQL+W2&-F zu;fEY?^J8f@zLg0%tea;gljA@w5UwW#M*ZnFM)!3539~yS<{uGj2mqx)M%$wa|B!r zn&^x&;3%1^%Kj*60g-|%gzhz|AVY#OztQ@?O%;UKYwO3`TB|F28g^mr6t7wM4^0&( zMV3p(m(8_W3^FGdVFFxPY${yIaH|@o_;|PVO=15uNa&SoCR?y(Ncx{bCQgStI~Qd) zyAa#5dxDbCwK(0^uq#teA%{iMI9cCn##8@Tn*Tn_bBovN(gooi)O(y8yG}tV z$!zDMM0AJ@EG){oHi&00%~1gBvKAnA>QW_`;ZMc3s~!Q8i-2*0o=+jsbThSbwj{NW z`w%^bNCIK_IG?1VA=YwtptkuG$u&=H*$u{wocwUL7Ss;8e@DJJrwgXekr1g>#$Pdjt`##kR2pc+edyr%Z2Oc@p zRCX$gUj&7pO0xcFc}Qs?BS3awCAoBA35qqj&`a~z)BrRYH?s9^l8=>DlHatTKKq0i#t`89zBCr*O+dDtg zJK$*}UrgM0O$M{%cVbu7P@)N&FhKMMXDov13FRi)0cLOhgP~y=|E>}OPqKgJvkJf; zWb)R_EhH;k@BEGo|hvFXX1G*+} zwOQ!W?fZ5AjK42F>1|N<5(pY=aVEK?pp2WG&HWt9BGvpbU#41E&n>GaAJ(27uOQFU z?v9mb0vVS2-MaunTkty|Sj+Tq^d8y-On!HbAiK{An#|~L;whN_08}WWGb)U*k%t0g zb}Kfk69SzKP!DPSK{?Wj60|S5Re#E@7txZA<5cHk>|#mQw;#XM*S|px=L|rYnv-~n z?Mpgl#*$nn(r)f4{e8RHtvXmwTtmX0Tl-_IzDxov1Ij7wY1@~pM!1*H(U za}3+_(2!hD=wuA@0Ad^`BGNn#ZJhK{==@B zk1X7}D7_xNIGs6}u!;kXhC*ZbNleZnhQqIv982k}4=Os~hLu(hXVmJ9wHzB3;|6pMQb@t8DIobW zCY7S1)pJu~w5Qd(ta?%r6xSKovHSt48VGx_EaZcP=0;PbErt+HN{yTG41Chg*25Gl1=nWEYI#Y{?Irv`9`eY_&{t-MWU^!ol#El z$Apg{?Ek87F&creHwNIJL|%SyyqioriHU z8Jx*rM5i|wayxi?9;SMP2cm9Znpl1q;-+63sA-B!e)h(9K$gVP;I$-71N?sG#>20` zI4;~4!{Gz3*o5M{BKQ31j`+fq^7%N_?iXX7N2oLcxc#N#r~tV95b~AQm%B$sKjwsY zXfrZa%#+DNTRt(okBXOlm2Y2Xle#u(-|gT9cE`#op{-C6^sedhj(ErLkA~VK z%LCoZ(HiUPdqCTRQ}uwO+k>~A0Y9B{t5=1lwl}`3sRLA1H^h-+(s%M`1rMc@)f^4o z#r@ULNwsj1^rxt=`(>+dQHLB_^|AOh7T%+YLltog^IBkc^175aZN!$N6My$X*tA;uD}1D@0UzKGR1O=+tIA?6 z99-V7kvdK5K{4xLGFQe72PE#QiMc3j2eQ73J;BF)M(d%6%Oc%?@D=?%n^mGP-28y5 zNo#Gfe}EHY&yxtzRm$Xj5C?vl6BM&8q>aluTcMdKzbhg&2jt4{r}MYIw_N|A&EGFxHTk{BI7jg4xs3Yf2hc$ zF4vCtCQ0N*qQgwtSI0XjeSk}p__dR4#=foDxeYKVXocWmoAi8rVi>FlMc!edVf@o; z5cYeMC+IcWAY7B%eXvG>wJcL^KX`=z$>3OnLhvg;qVacwyQVK+6Sne^fY+C1wC1NQ z>g{Uk5I;0z7L}Wtm&DODULva#mMKs7HtAe3BA(gd+%PO-h2?ytr=fKK@f$R`&-T=# z69OP+d&c+yNO?a{MgbuY9YHxl+ySIcMf`jCbZyE#`ZBv%Fq?E(ceJB2<4h`F=)C&G zMK6#{{-uC-AjwnGtn^Bku3pC?``?cHKta#22drN$K(xw^f4d7S!H0VEqLhY@!v=xM zRGzL2*d(}!^BzR~1ZcP`)Kc+!lPzb{UmY-Ze?tYK~+t-r%xs#W(Jw&9&z$ypg zW;-#!Ky&!L0`rr@C?EQGNVIowuy+umm+0=eeKW>c!$w`~9FBg5E=PSca7OEu+juQ# zaS{Jzc)Y(MfuWCHgA8n!xf{tmBqD#EcIzXs@lF8{NCd;!=V`AbBp`doRgI3NClW1_ zl0ZUCP#`QHGhtG#B1@5)L{{a9jPa1m()@gBO+6ai?CdmrC|$CqLMNEQIVnOCBE#+W z`+t+rfAWu7qB+ryLH;`hz4RHi0{XwN1X<9U|D#Wt8*lD-LjnP5p!`Rl!fHXq1*l)> zp{`*1!gnxm=%CS;LYj+Ib-=W%!AUAeDv&5?cG}ljt{boN_KtEjOv4g{Pc1b|E)+^G zur!?wr58UMYAt{_N*Y}~34j0fwc>wrN=H~fnS{T{kBI2euP|4kgUhoFu`0oa&5R0x(`@LH4qlaJrPKG19PIcI^~)B_qa#6C%*cETGTo z3gjYD_@h0aoG_e9n2R9e?l^P0o9hf(-mz%Vpa04Gc8~=Ur#Qh1{$PyVZf!*rWB zHpxew)g&u@r*_FiyI_R|DQfhEL^H&MYe4fmZ0gV75HutegE5dq169b@H+p}Up|*}9 zc3W;@pX{_b1?t-2QRB%Y?wnw)U5Tv&CS zAh`VF+G@$43HB1TDiXq)YLVX$)`0-1#I-kXh5f(vINBUbqwxN4xNLIug~*b}+RW z*^<53-hj+WTQ8mfV!&$20fXo1pKFz3gwb%ku~`<>elf`lwySJSmc{i@-=Zf9FGWgA zxDkvvB+kCps+eK9$usx@ad>Ec{}E@Lk(9CHbop^eJoRO~5tPb<_)9Es4SYB9`Cg@E zxEW@pfj00K9xN4?;o1;n2nf0OG5TgF5dHCw~D!{F}j?(Pik?(WXu z(1W|X!$9Ni?(VLG+u-i@@jN$Q^4^=APIgZJI8`~>-D|I^TI=wqrZ-Bq+9-fG7R92c z_lD8sFmse9fL6+TAXZ?@5*TW3Bie?qvpplMO-ZYW=wz{RtLE7LUMa(5X4kW#51BvkRy^2nW zywN|v2ys727K&(qdoj%EUL`Y(d731iMMm^M)J#-5;Nhl4|9lIvMcEgVr8kr6Tmus&}E#slJ5k5I~Szl)=>IHZyrJO{Mg2v1?z;d%iH%yQUIp?J1~r!a(P;x zx8{UTt9wQ9uiUv!%BV2mYzfUnCDz{HNO?l(ENuTP@g7a~=j0I&hiy}YUD?acfXmDB z+!I1*q-g#bzWK%%pB3;p`&%*b`mjls>o8sWOXC@%V>+MrJZE$(h}1wm?K(HsaG#5P zxw#$QV!^F((TSIdzyrQ=e8ar62LD6c5-cr^e=+$pMG($2J0V*g)7#kc4`S@5d zyu4hv+s>@xNE?yP1eWySg|s{3^6Nh1BQ}XY!sxzixv=6nh~iyRK-wsl1iS3v6}9sL zUr!z!%@>=_$d#JH6emlq4lcGz`LvJPYM|x}q%klv>u)Hw1|l8DaL}9|Bh~Wt2-nCC&(!teMJ}ZJ*t!>*~#eS{Z0PypvAE1$0E)>h)-Y+p5@xmvii3fID_f zNxbaw%!GW9i}-n+i8Odo;v%8WvH$YJHFulw0kVHjFJQ5}^ZROh--4qx23@GO8AH5q zP$MwG#cCfq@<^Dr-+E9q{k8CX=!LHm2Pmj`ws&pqiX%t3G@wN68#7D$U>)TGE^cG!Sxn%C4u{fI`_dE0|+5FR!_aN z6+bu=f5D?a=8E`e3BS1eS%;WA47q(n;ARc4-*rHiK7A;*^J*{h{L($#VxBAzO(nF; z%YgFSK{S5*f542~7*|VP{5M>2`nF+VN=ukV$4#TYBE|+(X`TVlHF5kE+>>AzAVrA- zKmuIoIV1{2q4^L4NGkfUzt{W6%FO z7hmTH17-oZDHe(oR!u!6<7`*kD)+s^@FxmQx%O8Cj+ZZrA|ctPP^@>BV& zo4t$DoYB&(sCPJ4bX0rgCOg^mW$hwOQm6f`at;MxZ2`r9$UxOqU?<{ik22&y!J=*% zaONd#eGsbW6-xt6sPF-cyA1+ZUpkB?e&n=$!>6>gP-r~kn$$F?xuCj`s2v6GRQ z9GOzaL9q{>#DOxCsuqP{cosvTh|aeZym+aH1RSSUy~QwYe@pNwATF7Pa1eFfzNgM% zj_814#mh!C<5pI4H?{Kyze8l+T)_awj=hueWCmq2l&<5dsYyw=m=d+Bbrv*)>Wf}# zM#eV0d=QyOG82&6?I#)icJmGTMs+==jZ6McS0~An-o>W2t0M@>oxQ35{^Ad&kH_52;U(*Gw-GLeQr}OfciQ%j z(_w$5KUv8Mszkyw-2FsfFZs>+{jQj9l6BKiNZ6`)b?hqqP?Xccxr(u#G<>SC1Nl0F*MA?wB;U&hRwI zJ&8R!Btb6PLBd{Y*(6zjB96O^j@J?AR79K9XVmZn={sR}P3sdce5_?M+hp#Yh2U5V zMB{H(upiS-3eb+gG^=C9mVrP2K`YJC_`9zp{zcfX*0+=C)m6JA2S1m`GT?s0e2WoZ zvikSqWoPi2Xjym@!Acy@X%ie?e9Nf3qnnQJ&#X?uD`_bd&tL(hpC2Db^~O0GKG&|{ zA9MX5>Mhy%pr!b0t9JwldIoFY!W3Cx*!9d=W2++f;|nk$pb8s0N2h6%eRga5-x2*Q zuAhIG(nn@6u79OD2@XopW^XsF zyExElwfU`4myZDMJX?||t>F3Obls71PLmwsct;`1`8=JQW3j8tj`}8EHu;U9lO#FQ z&o-yyvl8FrWK9q!7$#?$;SBh_jE_{C+IL^cnDReI`G7*V?xS^bo2NV)qNR@DpIZm# z3_2+IKKm<5Xg~a-f%~OVnoNelB{ln>&XqBM;0MJ)plZbxXbv)xf6 zPr4v?Y*n@(z8n$GNb{3l3*g{Nrya6+RvT@=W|-CA(P2=d@!FB;s#d@g0`NzioCu-W z6k4jFx=58eVayE{cT3{mgK(Q2qsRcji4O zu6`!p)(U{Jhem%RR`xJ;zEg?u3tzJk@vL^j!%&t=wzV6+!_RF63v6wG`9pZnxLWOc zb8Qw0V?5>?uapud#&GF~G3;hKeVEhRR>E>Q(ix)E(Dj6ZQ@QIQur&f=3t|GHsb*c1 z_pvCif!}!L%d9c@?3*-IZXw;$+U5tnqf9;G0H~{cjlyf2mdbG&gmvt}nbHJBk?<3e zf8!N~l>gwBl5f0nDCghyjaTwahI*9iWC!+*zwt^Q>YG(jju}tyhxG0KA&3Vs3igS4 z)8LcfaI*?4sI#VxTf|b)B;8|-?cZJBy5f2j#i0vCMRqf1Z=oCv^a~ExWC?Q>`wf6~ zU5aTSJ7$MH4@M8f28SU=C6<M?*VuuMAfU zHzJA#qAbUrh#S)Zi{4>cjs#*DFa-eILYB}^93yLydS~88Fv`h$qiZZ}wr1T)kITAk zLD?Rvz=w>RTM3-qxD?)v*#H(n6Km}0!IFE@LLWUYv?Z2jPQF9GOkOp52Q+$GL@t#F zE|rV6zK_Du76fcm)9(6OSq7aVqj`3y+IeHGy&r6*)_N0E7(0KyBjT&h6nvKoe#v^Z z7Qdq&h1iU5OID$-Wq(Ul1>EGAuBwz_+AQ`j_xE27D`~11V3sfSH~06C(AA)q`|T=n zkmsnU{soo;KNt4JCex>jDWq&mRcUDE#U|q&frNQ(*Go=& zzuId`Z^GIo^gQ=R&JAk@dOD^le5DKKA!t_M(uQYE|8cd;*l;6k;{EUF-nHG$dcOlG z{f_QGy-R5hXe3wwU~HYk05gL4lP^Mm`@iCXDmF8Pr@&OJj9NKJ@)Tl#AxQ*0IsqHX zh>s^Xc@>yKd;e;21p0Zf4Fnn%92#aJ!B+Yb9(v-rtEZPPp<;zI$<^@&`7aSq{VxvO z89?Uu2y#wcZwSTG#LlqG zAZ=Y)BDXJl2caT;*fb&0zvdv)n-?#|5|t=}Je1A4!BA7p=q72_aJHeLK-#s>;0#pF8ym1=PrJb9;})e@IloZ2q(=DgR(EdR>i^24k=O0f$7M$dcur?qyC z#y*}uyHkGA!ek(tQiS{c34b^fljWDYyFOCB!G3iijIPAN~8SfX&KJbo9Gw+U>2n$_D7%$wXr&<_Kf$aW@vh#IWt;j z#`YfU|C7OY06&bL0)iNXrRB^f z<2RtyC%;a}Y%!>%f;V~X=*Q}NHZ{Y(jI?peeg<}-zFm90Z`G{nNSX(V;)$_I?7O{| z!!pN2BUcPokDFYdUm!>&T-6$@aN(qcPH53L!E=OX?5}rPTYCKeTMg>l3GzSu=f5iK z>;GXrtv;~)A^yXEmTawk&wc;rOH6Pq^#54_6tT3R|8p-5A_#lnzZ)^q1KKp_`=Ak& zW)zA=1<+ke5j@s@Ofu);c0V5^i9$tnI^d=xC+~xWjbuQBWa@K4#s8UYd9tP)e;<8s zwwKxzlIk#9k4~*Sj@m4&O&|tmOtWy(FUOa2(#V$6Kk3#yJ)be{#%o`Y@wN3tE-+Rv zZ6o;B?RwSrlzW$VnCmmv0{A*T6K_o2Hn9oE0aRt?vL;qtNRk?pZ^RUp5wWV96lVsl zr!V8KB$8Eii9tWWcu%As9ev9zFIdIlS?l9Pp3$bTEgeF$#5Y2#6|V;#YQl0BA9`JC zxlFdII9@DIflIn&rA7}w+}AS>w6e05Cx%(iO;*x+Wzf?57kd%-73lYM_kAjP)OuKc z0d``$w+Mm+0xpRU{*5!CbE?)Ij7k>spnkKDYIbspRjj74o1^ItnNy3aDCY?0=ch#U zI(2-LgBuglpV_Jd>>UsTI0Aef?N9@KPTY$dY}lv0$x3U|?;s_@wLkm_3It1>QkwDW zlCv;-IVI$p>385StccE$+=Id7%0;6b`ZcJ;4qQSZ$ND| z=3ZUFvHF3@tZt&Gh-izlDPJXbCniwvsg!Sv+`0L?;P(oi?C>OJEtQUmGFJ{XJRrqH z)fN939BXWDV+{uhQ$~}bEqZsi5ebybjHe?|0PD$-t`BD=iR=iJs}J(DqelR)MYo8=@Mm9|0VQan7kK;x*&!NGrQg@*1Tg&WXXKWWi5n3g?6Ah_+=eUh zr^{?#sI7FXi`9ZF8~hpbWCcsmis}AmAX4c7IIX3(O>HD6IY<>Bi;c6Z1F#ByTFx13sZ!@7iUK4PbN#QO3}m0H$-+8L1eD>x2UcmXcC2$z@VOVWh96uw2SC>hxJD6C@kd z8KQFtk7IFB>RJmi92FR5|tB~{976R`y~r;^9y#$Kv_NrdeQ4vEFGfK!^O#WyD_Y*_4B z*3G|r+PZ9Yo@$C^_trl)Ma8a>?cLBb;>v)*_^KXF$EJ5P^T&gzd6qh}i-K(XRe?90 z&pl@2>2;oG(>Vo5Dc!;Oiqa8~G0fvSY$HK09|CkAG<}sF86?=(+v&o%`uv;a&c-s1RCr0MdXmWTIHte=XYtkR5NPb!qgHw-o zl03(Y?=s`}o$)7-t=wk3A#VG?u0}=bSJs82V$}?mDog`hKx1m=AkTcGAC!GUpA+R| z#HsTpeLVw+(oxTjd98E;ZN?bsZ7>NzG0`X;Z#(Vg>5bP|_5$KX+%R;?)3Esz4qr}JLwUf#Gt z2$Sj$|7q7fz@C?}y?daMd2wNF<0y&vWj*Pl+nD;G0n_TP?PT+hRm;NBq{w>->0&oD z-Bf;>41khVM*N`v5BBIK=-;pG&p(m=!a{>0r@fnCAN_H$tvE)v^Kt)1`ilV+PArm= zgE+0PjSQd=mh1wo+VqkKIRC>0WM0|3L6KEFg%t!9bWm0f6235 zWraMC1h7sQR9+osr~V_Q+155bK42Gk?-r9S5h}GT_`6YU%TgP;IW0&1FPQxFXf)xjIOQL~=x2d~5ACsj`X1ao?Cs zQjn1VZr`2kuMRbh)8+J#Nk0?f;DDT>Y&BdoeiyISHaGAf`q%`lB0fTp#v`Ur-2aet z1gKmkooTsi$GhhG4}h_q@qYkwMo##aalCa5hN3*{YMT_7v4NHla^O$2Qq8L~vI3p) z&W<&4t2YhuD=J6G2bj%Iw=SM!+)iGG7yR9Fx>SblnODN@xz~}!;@*(4><*|#j(IqC zJs=%CS@Ccp%59K;Qi5e66j@d9)77of04AeO{RQV^&``d!^z{Sn)=HUc^`yrUZ*ZJ4 zy*?9(P}Ou>dWuF6Be7gnF(-X$<3E4lkiASGpsxlD$s6U{M#RvGzJT{wmAbi$2s`d@ z7Kv=7hg3M_j$?_ELf9cS{`uwnspHi<0ZRATa`cy-uBIs~jgKAxXTfCqXU7(C1b|xj zGtuaZT_v0?g(=j3|JnNF(jh|9Z=<=10@ePzK;gvQIWk4^!x2rS(QW*@DLNH9(x%^k zAd_E6?K1EK^#!T;idQxThwxlxk!(T!oQP=Yt5(EzBICF^op-%@Xn!}oj7-$0b!A|) zb3YocTg_9#>g`bl2tW)o?r9yg1Y|5ErRGeaXO0=mWLoXBZ+Lo9U7=1l;@#>EvwObM zDW+w(kvO%hkLU1xC>!7A>X3G4m%S7oi);((qotW_MTvpc?{MM^0w>*hRU-0n4?YOD zMsP133PtZc=O<9+`8zY}j(rW)Qu|RBEUR|dLg&409rJ?B%SRG@OjUl0x!o6>Wm^0J-@_LcjT+n(6~CSUiJ`<5y2iii~mVHa7Ky z*N7$2!H!=2YL{-Ln^{BEs$jYt;z6r^5w{Ptt=%A9*{Z|JN#JSyoFH1JYM#qQO1{ANT=#$X`S`3^F~?<*t(BS5To6rc42OR#I~ zLfwDWn~Jqbi>VMvj;9-Hla+b8oE-b_d#7h>-ImSY_dl&G|4etm_r{QJ zSc-rTfA{s9VCYoE7#Ng9Y;3p&!B=qf>x#CLq!9{iFg<8)0RGY8nAleH||VRON@88EfGVI_9+oZ zFu#JJEwEQo0CX3ITSpL5;HBH_hHx1EJw<*8zT1y~2GD*q{{*2oe|VP!ZN+R)katIV zW~W^cw(B)(u3i|dQ*DT>F%Dih2w7_xqpHP^3!^Q)#3>Jcft@fdgaZ<*eKSyJqNLy9 zKBvLZKq;~0l`shQHATFttdq&X8KTTgnRp-^Anh4a0r);a$;a)n3k3m3ruR2!F0pVe z(yBN_BOZ`9oGJ6M`u>4)c`6iLOdi&~GAYkjxa}I#RZUM7=wFKcTaFQb5&fFr4fD^a zPL7U)gGK1DgVK9FreKJNx$AgY{J_FcB^!be(hcP z@es7A0@}`Vj`Q-NJ>KFLc0s>n@0~6RNB-TUok)MVhO7oOWn{AWVhVo$YgQCE%MRY+?SZxsX{MZR74&Gr0_D2B$xhaB1bls&oG8TQT1w8N4`(-jqnYoq*W;QH6EA% zm}P}piCM&BQwu*yZ!sr^Vvos{T@s`DRmsQfDJWjN8B?lSs5Ie@>9dMja+wkj9fC&% zVkKx@qdMicK}xjDQ2i+uVKIZOcl4f|?SOe^?~}WWwl*`0ol(ZwA<-h=3Bl!P9$GR%k-<7w?tH zGnQlV1GM3d&#I$5@G_B=)z>SoI^lIapb#~%_9p~(4}@Kg)&s8jF?b(uMVu-roSKEQ zw5}0WK+XWn64F0>CDMfzk5>gUx-WaF!?)6}Bfl{IymOx#vj21ejG1{WX+-uF@rE%NRLq(Zf|*jJAv0-JKzr~T>G)Z- zy2d886mL$Lh?kL~TgB4Q?Go?CyH(zUO1)-w%L^cned_vpY4fszed;%2+@8M_YPk4B zeLq9E7aCxYD(yVCnjrU^g}PC!W@55+OObbZf#`rbJ^Ud0%)n~*9eMt@9PN}b^Iil35i>*K;tJ8bcvqfch1H_f~oZ!V=-7ha&S|; z<~gGqGEhfUM@)HrJxytAqhoF<@D9|p_^2rGp3C_Wf9jpB=Tt}^KUGvtlqhBH?k7Ca zwpW?t#^Oa@+$nQkKMoJjXUum`NIBuN=4=eryk-ixt|`p~$Tz*?>5TUjVt&SR62G@l zn=h6ntBRKu1x1FbM5Ya=*t9ETNN~|{xM`K8EMrSHgSfb>Q*;L-qQ5-AJA`nQpD^da zJGvC$x5a4&)!=iSRrwMk>7}SNCahfR3~q8)9p16%NUtc<)eHbMF*c+B))5*mA;}7o zF_f*QiWda9UW4(KZH9aV*DzhPz1MGSce(^}*&Dzr>UlO!QLIa@z-mWn7Gk48YIoUH z;T9Npnh~V*k*RO-FOj5#s1-by>S#+g%q`PQ;GbBEOp{<;V|K&*(J)GN5|fBrwTK8` zrU*=T*h!gRBVGhR3oxW6HPyKGh3QfFjix*mq%b7?UDNQ-Zs`MUA=;N+r_IEpGdQFR z7tgg;qw=!K>F^4Cu$!(5%bKd$N2$=t+R^HIvr@1x@_C-|x<;Q6SO&#c(NJxx4^=ZK z@Je}D%-0i!Pl;J9wk!DUg7S+FbiK-L)*qPkXMD)53N;a+rDuGSI4F-e?!6_FSnV+PN9Vx65)DN;QVsJ0MI+x| z+21?l{5MHW#eDssa8#>c!vWQ%mVbShSo-ql%6XBwRj0i%zy7MKjhx`dd0I542!Skx z+!_Gx0x1yZ)w`7tb~M7Sx3d3p8FVjUZcVhT0s4JjqMEM_{tDU*R)zE=H!Q`S^G&Na zHMy4hCtl_5)O7yjHDn$8v2>$J^?c(~ri|bI>z$nTsoKKpp#0bSJ;k|@=$$=N?t$fQ z@2~gl!{M~m&Cm0YqFBSy{WPUDoqeYHhneGSy;St;8>#8!%vbYu8>t8?`#`oCmg8UqB@SR;4}2xVxV3aCY}?Fg1;yWS*sTvhL~cFoScLt9)dYJRe>{U zs^5(BavIFK3fOGrx2R#;q++XEu`I}tNL>sdzb{A*$u zyOh|P6{7tm#${K7i8Sk?y6TzxV-0qf5U)#$u9R|1Dks{od6hDsO@{77v=*yry3Y8V z(k0|T*I<`Vbw*<+VN>ezDv~}+sF*4&nFEi&yd+@m#_qE?IDwgqPKzLSak{vE6YjR( zyhDt-uamgYraN#b?ME?4HHqg6@7WzATLHAvIF0&BQZ#WDXM%~Z=2=8*!7n;$ST4>~ zj)`k7tKv*hS884{t!N4n`hFEi%`ky9E$TGLI^>m5W{keF^gvcfj3n3{kW^^pfEN-u zv7Z3yZ^lcJ)(u<>W6-9+nAZXZ@k-U{0z!=I_gSD8-Q%=)!D@#=->r18JqTXlD)r-x zXu|53Khx{JxE;s}be#lsdJK=KNKD|hI5_9;b>h>(qc&>Htd>wGjA~4kLa^=Kso~;+gvgw5&W^rg~+vQp@G}fv4OD)VOXO%CA4XV!*%v_sRrj7X%4TqCHT!Qj-HA zMkNM%SelMA9z7CA@1@;haLT~?a2Q$TXB4bzz?T!PapK>8r$WAWm;LHGJ4cu>CoSwf zm=z>4+r?iD)u$Jf;6;}|<&q+ZdKmzdc1M9*`ZnZKDqi9=T}r3zQnL1Nkk80D|AsU) zs(wH_(>WXi*}MY+D@v0}PBYj|sYiw?x)fGIQ@!_FlR%C1t9Z(N<=}^hqmwZeXJ?w< zv<3MW%%iiog5!1_5`2lU;tX!`ZziPvG{!!Kdc*~0nC({AetKL8CG5C4MBo8T74Ye_ z_F+B#YLErL-S8B=g4S))RWmhwfOHc#3zZV{);V=Y3xbb?bcYQF9l`tXtZkYh;$2Nd z6Hl~Wl4&^%Ukk^k3c^c+5~9gxTewM?Pq~$+Q3rJKpfF*k=%h5=@66U4vl})mvA3(Lqgnw`h| z7z;L*4716~G3U7tY7F!9p8HuYOxweORQ+KC zE=F*;eC>HGFZsojjrD4%#w@Sd!M-_<+AneT*7Bc+bXL-dZd|5^RRP{uRsH4MFk_Z; za~mymTpIkKwMKqSX%!ZPqrI!ezh~Tu4LiTpvm`pBUl}4d zrRXaQWGuT(9x8ODrxR>FLd8Yb>oThk{H;30ak!UA+Vq{WQ@~z-lrv0AJw>)pYjs== zJ?mIf6OF!zTkx70LIO0Gemruo=1vxw==h1Qto~NqtpTa+ViXa4cExaXVTXjIMrGhS zB%R}#;CeHBv0$RxK9@esssj2p$R;~JhWpOsSEF`@%@~5oV7%XEs~(or=D*`(x=-IK z_suPMUeN?YD^ELO?yVf&$cK>|sVO1%<0r7HSEF zhu$6rSz)df7*lMxP4@<&aL z?s>mQX38W`O#%XcTW9I7sLF6T_O4EbF+sm_ersr-&+Ij@j&NrT9a}## z&7T`4?tqI~)J*Q};)BJ(fDL^bL(%hoiB!z|QDU^6W?(<7DssxQ0>Zwy(+?>JTd%|Y zm0ln;CEsK?`Tjd>=K1z7fNoqvx;E}8N|*9emIlntyhu?UMuI77`X1I-w}#nW9=1Kr zVdNFiT~d8Q|BHmCI*%M-nHgTAa|Sp6LoGkGSAnWsfUzAC!ZX^<7@yL02nfNm{!)t4WUNX<&9<1+x-~+kh)NzOV>dPN$aqHX?O|u)lI;JQ`ouBw=QVpJh z(9?jHq6t4Tdi4v1CMwSf{xP3Jnk@>&g|itW&|K3OU&1BNz7(6L*d`l$Ti6rGSN=HM z@}kYbFBwGx*r33#us-WtKq|s?LZ26_X95CaVxO$p^(_W7_5p@5i)R>uxW+lY1#vv* zBwy;#S|p^a^p0o*z~S?+FeVcQme~zK)HGm`gcniUmn&@gi99C|#jRP_EtQ4;w%11C9&6jE20zFpl#oxxY+w`zbtE)Sb)mN7WUEBDjSOJu+iD zU{ot>+t< z?qtKQ4yK|d2RjYzI@x86j=J0Mz*5p2#oVu>Bv2HPL2If~&n9mHbx*t<&g$pt4~b(* zf`nV@n%thOJUlL@D^2ZeSAOYkoWJp3*=oCx^IebJO5Y1!-MwGFdEGtabw9KIp1N%` zGNwP_s&Zr9y;1@6K#9*f<$2BCk4z1=0-Uz}G{|l9RchTVTIkZ`-A9seCjMfzAgICq z#eLI(B-K)pYXI_PjOv6*10{{PnF6QHy#G4JqV?WOB}V*Y%xOl|22k2sxZ(gjSfyIs zEJj%iHQI-~C|oGHjDd*s$Znm8U{I$J4-KU-I!y|&<9L8IM@m!;{{5?%p(=+rAaGmm zfvRw^R;1QNK?yu&aVj9MxWXPo7GI9A_WeV{9l+YYDJQq;ZpvSDt#9QoD z5otnXY9+-cyg)(>1s5pf^SF0Igbsz^3S|$``t^e!9;{BumUr&j+Y&xR{#K(k_R|NNMnNEDaFLDk=v;l_(hfAE?tz#j+?*PIEl0!OJ~O%$MSWmV&ygHh_@NDVi4 z#GrSigI?^8a$8^b@T!H)+H~6WHWzS-K30QavbALjJL!vQ9gETVd)^0SS1AF>%TXox zV;QiA`OBq3$7^ZqqLO9JOp(`pRz?wTRdL;MWRTEKtc7%AKi~&Jq#e@|)3FNpMvBTx z8w!MkjaWxN3<_CV-K|nc_3ZriMIQ(hMixO}#nDq9=y1yjZMe1hrfJ#j1W*c;B6ivK&S`bqtm5ZYq6!p#wq36 zS^FrM(FUGOq6$#$qUxfN->SGHeF%tuYCzJP&lNiw>@FRnw2xiG#e4p3)HgU8x`St5 zFp&wu3*TD`N@rlnGq_7ebCyG}PJcXX-*ex%5j`?cS1IA@i%jIQPvhI#jZ3skyt<6l zsdo9OkNAvj+0)9YD4Wos!wI*X;;v<_Lg)*oNcY1xksc6wAx9w+xyGzFd;xGA>1ha) zrhTU2Ul^_1UzmKaGvhUqe1vykN<&VQQlq)S@m-DydB)$6Wlfucexl#~wUHBh=F%Y5 z_S61bha&y!kAB1Xn74D0TO6HXYt%66k5uC}(pS2`v+cQHtDT8QwG`F`4NX$q=6YH? z(S|FGoWA_i_L*JH&1X1&d38YeQ)&IkpW4}INsoiaAyX7pbr6|(ck6rzcv^c8gHAB^ zQy1Ks3Z9*4)_8%6hEhYBNQF@=kJ2$`nv90$L023F1_>3rT&YMEE%ZH!Y*o>BUMj&v zq~k|((i5$5$~FhW#E@C?2i9pil^PgSATs>xfCw9=CRXE4FptBbt~KD(*Rr1;mIdpq zhIYB94~8y+_Ii3Gw|Oe%XhMar$F38U0();$nwPgars8jt_b@`A=U-f|ePfF#^;v_S zX-3B%5nEcr6?{sKP}}*W6n0iWV0(^-&z?W(TP72O$^(S%cWhhDK|f&tm2waMOFf0k zRJM>F&5-bHwN$AVnA`v{2dC=7Kf*201V6eX9BC*4@A?5w^(z(+2gv{>z0k{>r7tJvV5iH7^oV360n-CZJFul z=X+Typr|u5tFABkTN-BQVEm*Yd-FPs!cV`{IaR41)ta-Hs@DJ*j1>RjA@>^n)Vfhz zfEI^C!W1LS%LW#K{Qw05f(TA`r~tC>&0+h8dasX zuqt`hNA!@Kq0tIZHiLigiuS%3L#am|CwC4yLH5VNS6-!$Za?}C4JBmBbnP%mlht`n zcoTfHumenNcW0;9%8?oQ6o=sa;`=vVKxK-PQr%=$;m&I_UWcQ7gmTme)K&iP9!jG- zReP5VUd|5vfi~UgX4-@|+E^u5irnFzO^GCCIS!wLHqAW1>ddrUHb}4U+af-reEhj^ zJvI8Oje+IEzI1^s%FLOeI-cVE7LD@cv00ze#&BB?^gMwMsIBduQO~7o;;OABrcu9r zI-Mv3^wL!_6sxAEw|{|9T9Vg@T8V+Lm#n20O|T;Q)~d2bTOM6{^=4bK(-B9`DoQz2 zsWwi)&Qb;>r+DQ$(c(wIB`R~!6S&F|5;r?0Ka&=Y;a-g3VrCKbp<7aa*;*I_QsyqJ0Y;`=&s7Jm~9 zOhVf__n+8slrSxx3iLNgi7@X{_&pToxzI_xfZXB*9%ib|SpDng(kNl3f-UP&g2zVt z_Q0Mgio#NUzRal4keh0-pWX1<$slbv{LBGhW0EQ$29MM8`p2`BdiSa@9g?Gx5Z=-Z z<#dBCnezuqEmYN@v{qR5iC%5XY|y4NTM~^k3d5a*@z&Kiq4dwhyUrrq!LtN{@@2K3 z#oga0mjt|0`8Hvls_TqyWv5V!zf z*EfJBOw^b#Rm$d&#Q1}~ehic?VRAL4XNK%5MQW4Zdorlvp+&~)@5?8>&~^UM7O!Ml zaK?J4U)e#m>JuO5{y8I`oBrmj4GG!~b=*An&Z!K&U3fP>9QjEKl~u z5v`i+@Q3pQ0d^4*{&mg}B0{l!9AkDm+F6MmScz!U0@0VFa52=4KV^naYhD!%Z9ha~O``;`E; z0T{O^4B25l&bU^AS<+kWs#<|>*2(PZ6DkowFgwU7M1#nL{eGU}f-=z*&7`Yw>Fyt( zRm?dG;o!0DnzqxG^+Z8TNe}Fz^xf{@|c%d|HmkFML`_t3tQYlBJq6 zPeLE61io1B>dPDX-BEPHtxadq9HI;E8tE#a?4^gBe&9HfDGrCeQ-bB6`@@-!%p3L6 z-K!brvxdg8V;tlj;gwI+IzR@aU#i1<{qn4=u?-I96)?0v$%a32gdITDv#;0pcHK($ z$_QsrRw)+|`|$nD1bpU*8M-%3t8Vy*7xHo^%!l;xJEh!=W)tx4-%N=P7??Z9G@6hr zRoHHxZf71UE^|GGuV4r(&aJdPiBC=#wEQhtI#23TgQjFWa>3BgpS;-katPxgMIcJVD{7W(fdW>Xq-_)kgrk+TkR)$?t^+e zrSl$+UX{sbE>nSm0HyOS_g_H*_L5|W=)?^1QqjZmQ=2JA93HT3vKp>B7)O@V9z~z8 z__6mwFr4LMbMBa90-WXr*Kv2;#`m32C;@b%QLykZ+_sfJfg%KE4J)0tiQS=LGTcDDR8rMzbYVmg&x8kOEL zvPQ*rzpc)1-gi!asg7sc7o&|SG{~NQ*pGHsPrsrYkD0w6)2{omSl3j6$G3!(cKdSE zV+5rM#JD`XQ-EhTiLH`vBo;QN5H?nyDECTrGaTVU@18KEZ&p|Gd#Ij2%5hH@DQZN^ zSM9}G1tP6Rw{3Mvuc_6$jwM1U%f3A*b1@zP)+DWGN-r+q)<$H1FK}6svoQ4C)BjW&9Kz!(DMgA2{Fsm5^ooMz{CJwMuJU z(x)lASjJPy>;yf}k_~6c^i@mTN%g+6zZ%XsDy^%%5oMRQBKNf#hpeh?I4KXy_ef)R=h zL3%q|s;>l|*i_oGvA3E67u;jLcW9N&vt~P@vQrYVm`hMwZa90*PYBvTorMs{>ZnFz z^|=he)oB3MNqgoVnOxpRc*=Cy`srx&)2 zr37QSDl>74-To{2Z|hqTlt*8DOsx58&ecwqtZavPNckCWs~%Tfm3|!VO3Zbu!*m<~ zm&2(p^{<^K+}a^3l3g0Bu$1YmFyuLkE7muX# zsv?*q*7gn)8B(^Kuvt3G#i1NCJd+XtQGTC?6EXoUHDLugEoMq(LfuK_9{$mMAa3{4 zS&7-#d9#^B?r_E zjw)LoI=M==UMe+0`S*1t(UJ_)3~I)FWNu7h6guL9P#k7$N)=I}3>Z4$uctc9dLro( zzJ`HxWljygdSi-Zg1gVpg~^Be&)T2+GV_T^_y1>jrKM&JYYhTCP^K(RCIp-5zm>D_ zG;BPm|E`W=uqh#6zT4>K{7!X~(<*YX*#Ww4XzJ*p{~uNF7@SG8c7M-gCf3AGCbn(c zw(VqM-m$Gawl%Ra$sOCaZS$XVo_ed^^R27>U%`t zKJqWrl^HK(Oj&K486nZ=S?2_Z*))zcRO&6=o_3-QwCjhh1V|TJSUup&(arjP{Ux2g zvxn$o8nf-}!&m??vvYFecGB%(*<9}ReSfkWq6X)Z`R9z8#4PPBl<60E4#kWNb^hGD ziJaL3AR}KgaQ27cD*&$^;b^7Q4y_Q4nI`A;=%HXGXh6a7_u4cbewcW#&#N&cW~!Eq zJtEUwU+<63>yPYg3l8*4MNqum;tIr9>T)D=k>=*~rc-kR^CmT&TMKFkvcLosd!m zgp_lpy`$eNaAKEA5>X{n;UYe|RN(o*&Bq6akHa(>trFSvxN1pAHLHRSg34){^;Bzq zaKBUZ-os@CSiR3DHPB>Wlvf0n>!hIj{;=Dt^TI^mztf?!#Xg}3q&L@YW1AR<>1ws4 zMJd>K>K=227nNQ*hW7E?D3cdqS9-t%SVpftTedGXF&A27D6UH3P*RE4=uMfh5Tha2 z2en&$=$P|mIZCbUi?d&r%*b+|J{))-<>_V0UJ!7WlOK)ESklOvHK3_*jTLpq}zc1Jp*F_hjff2c*jh=)kC5ckFrW&sd9`4P_1L? zJUzt^c`uk9ONTfN#R}q@Q8eG#h)EyaX+pWWNG96%BV~Kz&;}svZ1o7x+h(WC#J)N} zURx|z+D#SPBwo?XIl;=-xe4ty;^*1QYpt~4PjX}|?feL*buI2|qLRqZRtJ`=QCDc? znWbCf7ga;a9HHAY&J?6jxbcDmLY62K55OkSm3r43qWpN%=7)=E?_)VPk1%B^h9ceM zf0_9;>#jLZkeY53{H6$aR0@SyONl8Fr*st(EC^c{kAx0G$H;?3WeJ}Wo}>NVyuTaM zlz0^uU>1Lc$toz&;4Apn5P*&ZFoLiuc9o~JKiDhP_keq9*Mm^zY=W(2wmP(IDY+^M|sx9 zP@sMw!Ud~#kfW&?myHUu-r)IxAB?)dh3tjHmp(WL`+<~cs$`b>lt=BBift+rk!h(h zGDl&o)R8J?DdWk&+9o5*R4m1*tTr-7VqAV_#3i>YiC9bqEYloNp*80sHML4%RP|!a z%Db+FoaFx&tcY<}aEfb9Bb#w?;3)1NywFE4pNDwLwJI z1%I(V&9_(Sr+B@Qwk76268`2QV6e;NJtF5%OJi2Usa&K2de1wx%XgF|RF3b2r)w$K zR9WfHXqsv3ns0t;%i!-OCie18oG12n<*XvYyc*i^Q=KWV`RXjm|9Q1ErfSx(dpj5e^3Bl$HHwbJvF{Od_3qmBV@Z} zvuTbH#mx!_S#YZ}*UnlwGN$*nHbSxFgLR4FB3#)>cKo0PXEQ23p1d0?IJ~r{q!|p8 zqdV`JxvfisC7Lpp7A`Dra+y(QdBz42&tg^^G4XFzOTAMk6KSR)4mX<_tRls zpd0j*Iab@}BsHA%Xon7)t#r=)$Q+iCykn}fh5qWatTu3tIn9IzM?U%(L}}$&$LJsd za$4#}fBltL2eUR$tIi^*-v4lfoqq&x0FS_M7JbC~30RlcFC$`XCu+k^O8*5i{O%dl zqwk7mHx{|$P3Oi#_&aFWyK4-3Kz&cGC#yhWQLa7460NjGB36VBTaA#cD#>%zYE`12 z#&et#{huQvy6tO>GXd?ZV*p_bG7qOy+ToGN6mH{wq*&e=D_7MvDI9D%v9pp|ei?_} zuUum|9Dt5jUjv-^HG!G7NGx`#rNox=H^(UcWOdI~$B^=|)rk(lef&t4E?>&l^wT&d zNo17onc(N%?I3AU;=yALF){Jv9{OE0B%c1LV~|cmA5jIlYsnf)-$wDpDe?Ya`XFCP5)=Ite`6} zw?4(+9avO##a{--tH^#+XeWH(w-q@3C0!cF1lja5&dZO{I6)9vTDt@b$Y`OiiQNWO z(%{F8X8u5swK%=?M8f2Bjrfa2&O-41megWE2;XrVnT2O+_HLUPu<5Wx5(QV!Zg3SF z0#Njh*Jfn@>?jU`<)DJ`$uX2o8#%RFK}qN4q@&A`9rA!Ln*hBiu2Qv!?91Ww!?2dP z%w-pu8qYMimoxDTpEH<6=ycc~M(s3grwaYW`eE6=v*+GR^XH5#zsh<4WlEI)rEg1l zX5nA#xrTNLq=deDiFM)Mzq9OdUA1zE34pFLIYh;uD2p7t{KV1(RZ$B~N61ZlcS3w6 zB}X_@!b$lp)O-v~P^(jt72l4^zh~x4Ae}}&&>0R|1qt8DjR`MN6<9$Dt%RF*>^bXK z)bv)=zCcxUQ!dycMh=vO%*Ud~I{n7J;}?=ggS@2Qedd`QZW{p`O+F`_KsJmj#{hV+ z2rX?3@(}pcM9gwjnV)c2j%M~zG<#*fsARIRmP92e=R_nfL@B4J6+oACVVC%#mE@++ zqLKdR!hl&0wn5Ljx2$`>QlP&~c>FjfVb(7~S)5tU&9ZYbXjUM4Ha9}KBz=}$N-mH} zE^C~_NBs0rmIHo)W15x>X<3X5fV2ZxY3|;B>L-OG6(-jP3`SyT=c`8Xg=G6i4I6N{ zw?y2D*dOVjVF&|{1UJ~r8H6|~4}*EcZ@wcrXks4*Pp8~y3(-lp675we>7m}hQ*I*P z*iv>=?|s2zH?{jAsY&s_Xe>|u7Y(m-3k1`VIi;zPnEk>pb$q?xZ!!b|>G}%2e_O(- z_y&->`i#A!$@Qdr>z1^n-=1Iyc8IO|^>j*>jIGq zF@*rx>Vy!f9BdptV#W-DDTHj&{|1(#F|c6wNK>MOC5Z-RB=F-%Rj~!(@}Mne6RK=i z3ZZRhX-NucB?)b9v0+S#SafF#5AOhN&E%mMhb-$C8Cb)_Ufyz7oC|BO8$OS|k6w@K z?6(5|{f=)2C>v%D6~knjlH@3|WzI^{A&G$NVm~tLWtr}T;UUH%c0LaUMdMv9PE6r- zol`#17z)csO-9fkFAVmJM8qMu$d`^R-i__JP3{`rrNMvR{XxaqhLZodr%+(r1Br$6 z^ZThKC-6_?CCXcEFnQN0uD>7%l7Ql3=&^vn?E4_ zBk#A{uRDa*m2kLwr?aSI&ZcBIR?vpsUwe!q#uJ<)EZi((<#C0q=Gt&|P)(ha1qCYR zjq9tY&w8HT-{z8vdM|T-QsHGb);udbxc-X}U9f70`b=`PSh91*_EJBdG%CPRhQPG6j@3+K_kn!2mW)$OaKG4r32CBuR!Ybk zThe6DB5&67!kN|a)i;HKX6Tm%Yuc6QU62nP8aO7ztcuP4l>*wcPfzY9PJY6*%a^8j zImB*))`)b0oeIODtV+#)M#d)ZF*je`LYa!XmqRuD0pe=@yKR+9D{TsYxd>?WdAJCV z$*4(d-|XEQval4*-m+9f!bv+5kt%2il=3uUz#gaA8!FRGvNprI4mM4vR4Gob$;Vfi zDX=0+;5kx9X0*-3-3yUra$}&88N!Y}3Oo8@sh&xmiU1QOPR%IDXP)4aagb(6|3&I$ z_dY0L0zQo?cz+MpoAkIktN>hf&}{cbGPb+t&QEu6;SJ&-F^wpcpdbHmCP!2lrjg@I zP#Ut9hj^ipGLeNo-ims)xyRE)74Jj$OX&QA!fuJw6>-v#8#YwUKy|2KY{}>;I>ZH{ z)RO7*RQK(1gqFBp!clW|?=OLBNT=vEg`}~Vn^0K;r7z~=Atc8ov;bTgzlllnV>ukS z136F(9c*%ti>op7c^mpNNUvbuUGHW71L3Dt;KVi}0!q68_gaHnRhh}2>* zRfSm6vg68RwAMeCA#AZco6#~P7yjdD;P||e6vaF42m^l0Ak+tys&lS&@#?b3cOh*3-i+ZclK~CSnN*u$h$Tf8lQ~b6 zfju}Y{;?!Yj7}^tYwmio8aah{RpvRJu-YYcVh+hBMgs(LCG6_RypCfn&SIcqlEi}qs zHCvtBl80FXzEhpEmCJ{np{0a2v5^Kc?s%(z&mhd=&ot4SqX~=Td z%CP!iN7uqpS80f>euhG&v8$)ZAgo1t?|`xg0ATtu<|=JA;caH8W$AvDcjkfX&qK4Q z+u$xY*~=m`nG2p6H`q6++!|9hkC12(dyJqhQ{|c(^vqCpx5odaQBY>pxMh+bQtO&h zn^p|VGZANb?>gM@Wo*fcZCz7EykroUjaJM;CBGi*-tq7u7Q3P-hvF4mdCABx8=ceu zKq|Zh#fQfpp7=6&WW|VEW+3AB9HLwLQfl*QVT7C>!Ppin7@x;*+C+RuQXtiKyS7a> z&k54$O?k%Gw3*y;GEyDTHW%4 zb;uo$Ql}T`EpFsy(A|$~*D?QA^M*loPM>J-E0E?1ZDXMQsi+GJIhb4IlY4uy`7xrE z_Hu>{%h+4{W!x4kSFFEz|Bsz^@6S!rCS1OUAym7(F&!f(xoW5Ii%gnU5lV7EyN;2I zoZdEaf2PhUG9G8^KoKl?EpU|i!Y?$a|K+nJkV{lx3; zWORAsYh8bZQ2TD(=H@Hxwqak3&|N@w>-EC*^24r&z>)hy1pXL?HJ*Q$;v*pRTHWZ? z-W?k-i1iluaGcZk)J;PQ;M51)04=-W?0(FdL<`>`7;fq76l7CIHDS2Th24|a)Q2=6 zW((|ct~Isq#LV0-wYR655t$>wpV4h67XLxNwj`lv(_=8J&yeOZ@-cQ)9Y!Uqkm9nE z*HnH-T*1;VE@|^0fv!X?ilTEm_(yagf`)SB<;%EGN4g~Qhr2?6pdB3mszfGkxRC9% zPRfs^yBBtLeLnqX!PlyYJD{7SLP^RgR4;nRFCwa0{h0QR&xQ<_5Vor>!EfOrt9M#4 zrX>VnMVxlsn30}CEf(B{m1+r_w`ouV7^@NfdKaeil8PTMO~6h()1Iu^B|UcIbAyY& z#v2{_hL%GyjYW#j?}HA=*(ZreSmFtuyk}SQHiXfyexiE6f=}z6MI(oQKGoq9z0tC} z>R@yaLG&Gs>jv#x3V+Z6C$Vlk==53kfUR%kgxwSSmx(+p9Ki%*gWkoq@|C4z~u3a z5C<3gWwO~qU4G?>;ak@}oj`ulbZNqJJZ{tyuM!&pEGAkH$N0=IUsF#PKW=A8zkQ9Q zkasZ;iP@?;PJl}7h%2W$9eh8FHg}%2$2vAO?Ro)DKj$j!K#iC2NeBy~aO~(Sq`Y+` zw(x4WJIjByGRojAIcDlf9-k20NBonc3lVop6n@DxD#81&KzcqT6yr7ifhp4Ze3mw3 zq%xq#iOGnEPw3bV7SSwp*cdxjoAGt+kuy_PRzwM4M>)-%4MkRNu*@nSYl6U0Vz6YO zKGE2?%$Lo zB!CxA+j!b}4$H`*b)EtKl_HRQEl05i((B!#moJ3OYoe41SHjN9DwL8rlSaFruu7tJ zMWGsCbAV1G&3>L|SznHJ7auGn*c@US&pkd6pR^oEB^o0}U-=tOsp z3&baRsOA(|D^*%d;jOS{6LwcVFMoGqIBWIH$6!aw$hWH?Gh`2*_f_rDzGmY;k8M^i z%-_FQpqx>f8PDexk6bDp7=JS%H2pGJyDb6tr8xAe+Z`rpNZ`%e6!fCEl?dRF zs__b;g-}bAa>MLcbzN)j7OScu7nT-9>B(f7h7FxKZwp~n4rq?(idI0ty{tz7(6NVSpxXRAxSw~jWR$dP~=RAiGw377^u?Y$+VmvWnyES zkdfUA`}~ytiE#lmH}PIjgLJcMOf6rw&8)g4bENQ}B#sLWezrP;q(0x4#aQOIA?ppm zZdXPH-`eD_mINM7uXJ~>=aRx!g_#J|T6`rKzJS=9Wp}^4T`4wN;m#pJ0)WYq8BiQf zxjsdW>lC4au8PtfD(7l<_h~P^jp?Mn#4;IuWPyjj!4BHq`+Z{XMK4r0(i=VJ_A75I z^#C+OO-d_%Tg%JCb&~!Dg}*4L_v$`D#D;9FT)b4AT{WRDG_F^|HoNG5Cf(=pBO4J(X{FJsW$~B}jrN z-_yLu!z*n}$mpMRg_n<12c+U!-Yht0A%7~e6zFlPdw47x|HY41XIeW+aq9uj%=82X zjq*oswKBeBDHc`4v{KAO=q4;a4;H4_^oVq$_#di25Y5D73t8630Qigy|a+VF6OIc;Fo@}tS8OtmW33fEYO5_%<5@MlHL60She%?q2kdq za%?OnIcR6JB+{J71~?OeJxUMbk81|!yV2g(zi&?XJNL{3(9YVF^Ua+&ymXs;&f0S$ zY&mgD>@KL*Lwx2weX|}qt-5_3>Ta6oj(O8{@eO-hw|?1_V_PpfdW>cHgTjl&n?XFf z1kfw&5bX92_?}E6u_ga@L7wQqixB2TvJS-cD@Yo4(kA*b3J9wdPtA2B1MhWB+yCug z{f#|r$659d2wN*QnW)lPxKcQ1Is)e!9g=$A0Nm?GUcE)EyH(3GrF%xUXyPGmwAYn+ zkA*b3?!V1nzcY=Rss(;ED@6WUK*}?u4sond{w?_HE&2kX1M7O;q4LLP=VzsMa5XEM z+#>YKxr%{z0T-Yp6i)|0lH1{j!n)>brwSErut@lXhol8fc>Eie_~%A9@-aMx8+6q5 zJ*Kn^4_Z3euyWq;O@w6lP8Nbz6uQ3%EJY_64W5VZ`W%nIB;?}nY8iO`0Fs>s9FQM3 zC{!0quAK>v#o%d46;rOA5st;kJtcdR#en1dx7ivd#5w>g+sQQ5(G=6>-_@Hc=6~+t zFnXtD1F;##IKr6i;CwFN^j%Cjc1NZb{kBil4LNoPrWV7tH;hn$MP6ELO_qqi zZQic6U3_f!#u0b8HI|sUo5=IF|Li*p$^Q8A*;tQ`3!ms1_S94foaLdor0~T3# zHIum!0qY+3qR3%@sR8<(t1>%(yB2tF*Tp)bj{Ddc23;gMU*Ihyd2SA!n|Noys z|IdEyRtO3<@S_zI1^Pc5v|On2fMXzb8zv_}X;lpK1N}LO@w*N;G_>Qfzd@p(mxLwG z@2Xn(up!q-U5Odjuo`wT!Ac$@v=N!?{Mm|)d-ydRrUqsozYejDf^+&|KWKa{=i2s7 zz|#i^|L*0I{{zeck)KHhQ%&u#iL}m32{@t0)?EeLGoEkJKqEX~p6%77Yz!;5F8qaBi}rDkmU0 z#PfP7%qZkmt4OMAFrP0Z?~kc6t<3>TRl?+a1bDtG+UBQ}FR3~mM&tO%j8db9@|(c5 z(#7;atr&F*(3-k>pwRs`gkkRo1ZfsPGj0g_ zK^9v%m8~$#ArX}5uV@2?0K*V#`%?@&kc|U()T*LP+chL^Epep}qa6!6(a^8%4J*fK zgH*X3bAEyvVGaxs-kJ+%3D$t8>4I&l3p~G3n8c_$6Uhv3MEEv}_sPlzvGzKErK*jN z6J&2WUYDWSDS19qPbz+*O-7H&hL=wM;wzVu=morf@Zdn56kps%Or_n$hT`oub@x7AH5@kYtvWkdF1{B zk&&@-4BDWvex~w`ligQRH3i^~3Hgj=kHR85U0O1mMdGDqRz=9YfenrFKTnL9iZChaA z|K?c={`(96qL(;mQ*h@eIkf(H?;@1`Wp9Ckg{(bxbgV=|QQ9<;+^Fqtph#?ITUTpYiz# zZRWa6c&rfN`kIi>IvQf&^N<}0X`7@=i+z{+kB5~i+ z_clp=Y1AG)$L+>T_}tmln~DcpA!MAG<|iXgrcy!=@g6EgeVz%xf(lC}BzxnlGqh(` zSW^|8^fzoY?OCMI$9K;d&!3gN;+yXUl}?w{l!b~UoXc6opMs?^x#Q~VYUT71ngkw{M7?E_39Ys~Nv9EA8+1m-D(#41EZT4KQ)k9MT zKe+}?%^gms* z%sVJQ*)3O!`THG+T?oek&ujm%g>|hAWI@ytrD6HP!YFjCzXQ~(0{20%fJKTl4b~ z@!)*&(h4`wJ&T;ELmow&=iQ;dHZIPz%5vQx6ZeDF0>UJ921yjf5B{z+F(O$CKC z$00XCV75_)e4^r_2G}bn`;fO39!Pdp3e_#fA=NEnAvdnYyR_tei3-++eA&5eJoxCT zpDxmY5fFmwW>W~x6=R*pHSsUQdgoTAKIW4wV4ODwV2Sz2mrBH;wiqmRA&&vr>xM0V z_!7XZ)&{@`Q9IKBwsvPseM+sFVOu_9Y(@}HEa1VyIp(_R{HW0kHJnx3!h3!D9U*27 zVG1{O-;Z@-MIGx&D6sYh3-|0Z@P+L^GLcHYkZOQlbIh)#AO(Ti!)@`oVqMZfw!%@C zc}9ARo75tV7MJ4p+wbIx6)vSPIotk2_lH3$$kK(kNy-&~rV{(>O2erHMFR!czjW0m zhh|t>w|dJHXKC3;Fi6OQYCj@!Q>?4oR16^K_VL;q4m27vY5p|rI`4wFI~eJq8epVE z;GHp26gEuUulpgNU_S(|hN4yxvZalEuc|wWQZ5umk*%$5&%NA4F(qvGm_3Nx?*wxb zmebBYn9-UA=qhIl7q{&s=>|^5o6p@LX$hdx`K*edd@+Pj@aQ*Le%xiFuS#Z@`RrvB z2W?OtE4mzMLTG?7QuMjZe&vKL;^kR0An}UH-$8q3e_450FKluSja8qRmX3_hQQIg{ zZ}Ip%y%dfy3@LK>hTd10%Dc59cj_kMySlX^9Yr4iO1@IzHtGjdH>{YN-@~z`Q`dj* zh-p4W)J`1)Ce>;Vhklp;&fofzgmjAZE=Kuniwk^3+#f!1mR-^+>0{W=5Z9O`Xg9Tp zaNHRAG*!r-1JMyOR?<2GSy<2z{PCM)_*Pn>NIFpha(D#tz^}YYC8C=na=2(`(TIfr zR3vsWK#bDPOyIf3C0~!vwx`HTsZ?QmP%6+h(ch%MTC27~${HzOl_q2e%LBsbSfAlT z7@UPJtpZsA_NS1*7ec?1qCVng=}~nA(TWP7q=*ksYhB1g^{sSo9@DFYp#f%~Wag^d z;D}$%kf%IcvD9R%$;LSM+1v)D59~c9)=>RWbZ1nVVH^$f5Eru<``|R40Uw!gOafDp zN7iRuRd?T>B5^ZYC`|oV`qmFlEsj{QuOq=Ga1v-w^*jtrj_f!T8@Z zYR)qlYX8@Yw<2-)q4-5PW&v(YVQ>Kybfv)rQF+-HFJ!^ln-4L*4VEHn5jkKY{y4r` zWz3;Q8X7v5OG{e2l(ff(D)S`BVhK}dH)9{WPRrx~!j|<#0Zz%GUIDVryMh2AN+lUu zB6UxrF_m9!`2IRVCn6Gga?r_btDh^33VCsfa>f!Ai-3yNq2Iv3;Erh28O=(=EQ7ML zFsSnnz{VnBp*c^)QVe$FPV3YuuoRer=Ik#F{`E4EJt8v%xb!>MfMcurVVe8-34#HgT06;9&E9yD02Hy zUPy!)q%>#5(l@vW+u_^=Drn#MXe=NPZygC8(%IRli+JWL@EN;OO*XPBxtc>nV+ zWD3#DFQmUdw>}VW9)lgAI4ajGfXe%0UzO_Vn>P)r8*0>g3#f&$#Y*NU$hS0+tN5$M zJSwLse4sCwU`rh9GAWeIb=&M9doa_>{^0iX{l`COS1cPWPMuN;=e`2+3lyy2T4vO) zD3pFyY?@ftK7-C^Fr>KBVR?5AV<>8KyHRG%ARc1>i1}`uw3b4#|GKOtvh4V|l=0 z`*bxd4cm8stBT3$OlDj>t%mF0x8XuMNtXx9BPNc8G_EcjfSth=W!?{m#e%|}nS<~_ z(Y!}i*)OFl5HixsCLwq`_KSGS6r9{q2&Z3iZdj4LF@Y84d3SRSq$OtNdH;npY7#s z&wPFI!5`ngQ2`0(F))CW3m6!Hcv<^dfnOn;mV7d@xdd@{KZIbb%2}$czIUSC2M7p7 zaKx2{W-g_xw%HnqTeqKY?x2=I`hMewVKmNYVER6v;_7O?>2a{Wp3`mT`;DUy-EcK1 zdxi~;$LIXi(WdwJji*^5h~(pneAf@^^zcNXU4s_Bu;U5BJ&D?K`CYDk4s&kXN)vhonbn+Mf}p z61w%ZqOt6PwCsWXQL8`ny%k9s&;MKafDJG9mk<-V5iv*5L2;Qd4@wI$c)vx|3CK-dtUAAuCla0qys zP=b>$`yn9vVp4xI_S+hWwl`r0k5D*1_x;{d}NKc)&&Df8lXXuFbNj8<+1IREV?Vuahvo26a3g5U~qO1oh+_c ziJZ*)H89R~g`5`lQV>d}-GztU_e#p-Z0DdC^1@2~2x-_hK08YydbDKFiv`eD|jvVY{2&}0x~|RA%U^r z);|yT+?%m8$;st%Rwcb^Q)O-# zPkoX5J@XUZ1j-95uLK&^l*b8p4Fu+?}-uS1xW^T>k547oQNDJU6 zK=@YKLB&a9&p7T>(}QjoJiA=VYneZ8QHQv;w-`iOap=~qD{QA1sH%)qRVYLnXfN8)7PXq&R94&Ot*S(e3O_q>D07+4<#RcIl5QGYP4pxS9VZqAS zXJEvOr#Q|4nOO0+=rrei$`lDKPwTO%EmRIRb&EC~N`uQxtY5z(=U2l|JQ6%7QYKfh zPB@i$t>>LmJQvCip--?BbC`B221f@jz)vw1wR_03o}V(#pb%^bDO1&{z+DE( zkL+q+`UeB1wHx*y_C#oKU^9V~9C~!-Dsm&be7|TAsT4`UF&hS*$&6~judnKw(EAA= zD~QN7oXjeD$w1YmbAye8)u*}@HVV(UW62|j`v=wlUTnT1Lpt_~za1gZV8Z!jxZg!b z09uH0Jpo26hJ=SG*L=4i>RZJj0i7TNXgLU{)v~Rb*6Ql$UlI3_qBbMZ6Zz2A%fyg5TloU)T8A_VFyJ$WuHsSziKoh^gB+!7A-N%6x z`)IpNgAnVP2E->7ZR-PMz>fI|e|&}nu!(UMnO$2?MT#w4bs|%uhRgC`AxU0Hv<#^c z8tXLvC{DavgQ8deSVX_;9@bKg3ojEV&L`aSk5M~jcXNK3UN#=Kj3yN_H=CBD3v=z# znSzbmX7-I!#akhLTh1uCZj5CXjl zN$;aa5mBP3@1oy%X;2+JU|CIKbV%Q23=8gVX|Rrc4k5!vy=lQn6_3@|po)r&NzXm4 zEQu`8vyGBxWXA~qI7GcL0+b`;rP4?N?xr>6fTnh3UTU5vs$xk$ed7-DXcaOsUi_jG zM%$2P=5)N!d(>+gF6>+OTZ=S6VpW3=|HOFn;%~P~H(6t*GJB((8+ffbWhEi8@wUuc zL(Nl9F7A>XR>ZDgdyL(TCxpqmjaD+OT|$o`#nVR%YLrWfpaNS(&FlIXawrX-Yj=vY9}=imfeHw(>9#AX+i4VrL?(>r*7pl2_qQ|6_Z(KH|tb6>fFLIlDnT z~=_JVZT?|z0cC=emsyiYd_ryLD6=^E!o416-ER~659z)o~cL!!<#4F-; zD9!iKh>&KCEA9)+6AuOn$Fir=r0?Wzo7+jT!XKo@SSjtVu}tp=5S*f2aU%aQ#ldX2ayhrSO=M$aLWc5 z-*CVQ6yGxJ&5=Zr24_x~2A9&y_<-{5SjMh5k?@dDNz3p-VWzx%d#gkie^>{MaC0{_ zu1cl5u6qIbYQT{Sn6r~;AgWf1eFtF5{&^r0ys;)tura)MQt`w=?Q&o)gJzfRp0Nnd zs}5EM6hKyt_Ul1Ehum9EaCcABgv`mGwsOudrDT6h3TiAPrBJzY)(Y|ci+3@w}DuG4zJ zgm1AbDuVTy_)2=ipl# z#C7+B!9PIf4d}-O?lNZjlV6F(d=dXim2&_EeJU$jqx`ZPdt>Z>3>=%VPFv(kngL)&|=HYWVZ@&$i~CbZ2#*uex_ zqt!9z4~h45#*9RiFTS}`d#YcJGuIX#R$@O>DLw;OL}1A z`>FcBb0^wmgl4K!`ij7MeNFRT*0fjUjgrbp(@Y+;{eWR2wQcuW?D;od;Yz?b<*9I0 zou0L=3ax#AqKamYKW%2R={pbX2X3RIA6XA@@c_>zUzU=7l&)6AibKB)6}8*XNog9I zERs}dTF={!o^C>YAx+pcyzI=l@j%G8{U<+@s&2313xjC67L$v9An(={*MJ>ps7z1X zwzGcVumhZb_xk8}?BCIY!90KkF4!tz62${ToU)~R>X})eSrn?dG0))ejt+Q!z*ww_ zh;&=#Ow#@;s!j|w)L|~Ts_!%BW}O0HjD15~=0%R>6^T9Xqpl5h@u1OY2MjeF*6Gbv zo6tE6ZMwCpAO87Ty@kGY`Xo#(6-rEMyJ|{os~8Vv%cf3>8&k~@Sf0r_%C$IBe z)R0|C}-CDkp$O+Zl%lU-c-2hk& zShJSOBr6_mwd+|A{5<=vTc<%C-8oq*uR~-tu55owu}{nR97}A)`9bkIYZvU}p>Qkf zAaQfizwzvzswBR!+%mw4H&sH#N!=M@#c?kv!6)Xmxj+be>(p4+Jt1+PDckyCCvA1Q z1rnaSs><=78k^WM0qqa{wSmsoKrbiqk-kou$5%#ao}|FCiC&cwA`K%?^vSgKJ{cGB z??mPJ;hv$#2RThfq|~!4%T^b#77qgP%|jKoAd;L>Z58dyhgLwi^IJbKf9bH=T=Bj} z&X&?Bf>(W0(T*kqBwF7ewe#msmDwf^01 z`xKpYWd+qn{etf>n>h(xkloBYd9rIjxU3VVP~}J1aR=0K>VvEa@>&kZEVeYi^&H4_ zK*ze{pzYwHcQ-2%Z|o}G^Pxu|)h~}SArz(yoB@;| zL_*EaFhL~zL~$mLwD5Wg6|2TZtyL}H0#(!2MneQz*-xS>3++ZLYuiRO9qo$7(c@#w z&m+!x++(*(uQZc{@FL#O;r2^6!04m)rBBDzFp4~wMo>3QlE}_|dUn_#;3UJVQ9~xy zPDbSH7g#@cBXz?|Df(%de!Wi#zTC1Q8U^-#Iyu(Q4o*~+OjGeL0nO^Fn52}Ma|fuU zxrARyMb1>nRra$l)LKSmeRkY1KjlVOYIa#hN_D@xDUZIeo@;Zbt2Z??Lb+>+PrDW( z$7@VJ@2NK7T`4FJu2ff@0@&CZL)3z_7GOE%)pY9s%|AAxni@~F)q?1dht%5zA>|I+ z`13Bq&hnf1I=S;D15&1565vFw(Rr|WxHD!rkmf{2kVp2}#f;+Tko`l-m65Q_n>`c% zk$#45QT8UDRH@EqtfdAs>kffz*hd)qp|NK3V{We9z%%PLiR1eEjPjJ~P$Q_CKu`cFcHM$n?c}W@AODqs@ zG^51KO&QZk*s&e#zQZ``sZnEFo#hgpnsVW6uPKjs%aL5z`Gls#6th`Qv%J^n8uC=V zAJ1`gk`*ie+z2v72DsM?2y);{TgGerX$(3UN6R1IJtB@^Z=Vi;Ey_*?i&0tIGGDqM zoz-GF94t!^{ zQ^PD7p_DhVr?V`}0`U)TEymI!#{`Q&jw;0l-%Ab#Q#pp$2zatWBumkrN$Cit;ZM_u_?LUf&q zx0w{4I?iU9@bSc6jY#_Lb8Is5_w8C=67ZHh@T{qMx``w|*cSL91^EzjT8aC^#7Nm& z8vB)vI}+wWo=HFjV{^9`uLVfUoZghIRj0m=ec`tKJ$z|lp^j&cWNS2;a92yHV6(>$ zMa~;Yn*`vtaOF|)3pM?B3nF1JiZYxz8z6q_TJuN}*Aa#Mft2z_-oT4~h5h<@9j zDH*#RhvNF?7mXqBEN-MV7Y(W-$iy^BtF+bHoLi`Maghe%h{M|mgC*0}G6;`0&9}cN z_eh~VN{s!zpzxh=@yH7s8l7aE@K7EsE?$VHwFA5jP2Cj!tAvJD|2JUrN;z@mV(C*h zW+$b8_Age~T??YEj`!j+lH3_UGO*h_Zl)-hAYJEPDFn#XzHc_v|f{O ze*uxs+*c`1AX;?Dz}$84V&L zT^W64%YEzb#5g64Y1^Y30SE2eBBghNmrfDW3MV3Z^h9b^t-Wcf{hPlCE^=DT0bF0GbC+=^x9i|bCN1#xr_XXOQGg) z2i6464OPHT5QwiZkJY^Ybt@b0Zkq1dm}Su&IxY&4P+y5F{RrW)Qh+U0ZS5siM+W$d zR*^tZ^X;wJUdWQ8SA?Iy1(!|qH3VZwuhVX|bDogl8lg?&~}uRK(~SpthSz7Xuc@{i~uu~RFCBW0USLe(>Yp(kw) zGG*Ukr?ShPr)&@|OSP&oomv@Ja0GxIh$yk*O9JFby4EDh$$q!~Kd#;}xU#N`7VadS zq+@h!+qP}nwyhJ}wrv|7t7D^Mv*YAMU*4zdt9$F7nm=Z(br$yiv1_h1#~dS4$eT=X zk2xVbM^MR}sKHBWWWU`H7Ty{{9Bi6VG%bSz`cx#}?1vysuF$>*ZCh-BQhI<=_%K;A z1P$ZEC0mt?R%)-C;uC?5E2K376$T*itsHUi@4DxkU%r$+^kvb+JI#vs&hWdjl$+Mb z0f1$pScg`XRC~;-!=IYELKYLl)+g;jt=M1@-mrr;O+PM{a;h*o;me3h)(2c+yeYVy z!ArvkVc?^cUx(5iP)!!mOa@x4NSybyfaJV9gjFw^D4s`?!vyP(Mk9>Xr-^K#v;8ya z^IJwMt;DN~T>ha@+$C0JBk_MWDf4mx(hv;~bnRA=K|!lqn){UdvDGR`{fJv}w5-F@ zq(Oq~gbd%Oci2Lsk4N-q_V%FrS35SW&qC|9>98vbJs3kIR+9)X60{)X`1F;T!)Fd% z5%%tMbjXQw%aHXV-x3=QY3hxq7|t%keS`0^sVoG^kUT;o0I?-+&T=*S3<30j0vLK@ zY`w#tXI4EQ{m~YWAk!PPj;#?Gk2LPy}HQ-n6LvrK9|5^dXgO(@W_M(3!BpjF1y9 zTt3(y+)i%nZuFrn%B*&-o;r)(tTy)G`dOXFAU5CSOQpci>z5-8>vQWkVhV3uxH+FaB+mSi8Duh_mjZJF6Yb<_HNmc7_wbap{R?P%iySO7Pa)dBt3J;PH{g$JH zf%G(r+|WybpV=Y|(as?=fPI%#uk2i>WAVSf-?c-ER?E(wB=Nw1ZHGTz+uQ=`Ge5^~ z?&6#+!0;O-{&Omhx#03WOXbvxw4na7AaX)%VAk?WrcHZAnxoSw-yI1U{$>$|K zlR|hz$G8;s^C!K@0UlrLep7lkaQ^BEDDo(&S-!*GR_taBZ{xCtym>sqpih=DVz${s zMv0OhjdrHrQcR=j@KO(Gxe2C?c~aKJ<=^7hr;$r}PIdX(4*kkQ@!7 zBF!Eb1(5k}GK!OG8rh53uWpYsGMfbqI7N1UH*UL0Sj~zfxi3eUFx|-?UEWMB z`WE{u?=U|fx{Cyzo8S|2-c^t@Nh!S0hy0`Pe(eM7{{-h>_(Pemc>LQ}T>jthOII}w z9s+~lzbs{A1chfV__uH2U%@$XT7V%2RvVTnMl<+-`71+bjE(=48rojrFckl(wMH>u zlq3At%ZH2+3jd!6uZ>{|`k&{ei!uDqYjwaV|L5%xVo3d?s9}V_fcQ7doE3)jzg}lU z44;3}4=O?!(*IVIN5HrM{cn49?pi9lU%M9kI#@9MZ+j$ZuatyHX(0v}=l?B8OM#K~ zZxFsMM)JRjMhP&`{^ek!Dg%Gjd_8yU_x~XczJ{Zvu~QHdwjGOMwEbJ2O#lP?pGOFT zvGUL3g2XuZH`ACDhA`rP>rB#M^!#fpki;PQ_YjSh=<{Gd|Cj3p#_3a~6MXyDAo1-R z-q-8ZM{@`HF# zCOxCx!g{Imac!N7&VNH%uv!~+>ibY+ubrExmbE_mcGY?>u=(=UeMw9GW7`?f_hL$x z@$GQ|J*VU8scVCCyJ^$;3b*%jd|?K84)lR#;aR`~5Ichp6?U`;4)&o?O^0)Kb{QQ) zOlMR&m-gcJeDvM7;EIzri|)>SMCZUD6EW6h=El`H-d@g}V{r{T!r&l#-Oi_rBFHk4 z_w-i6AdFwB4~$mPo&f7E>@9t5ScSo)W33TcIf1uPt+%Xz_h>sr^N);Yg)JRZx{exT zDdQ9^0N0harsiR5eF=_s3KwoNqn&X-_+eCKQ)_#LZ=+V+cjkR?T z?v$;J@uir(@E!O=4bb#Mt*@_)?FT$oy@W{^{VI+r)>4V57Vhd1!qZ4*XioxP2ngnE zC}V&e;Pw^cj5e#M*TTls$j(!r=ec(YAMQyE!1X@YN&7KfGoQ}CYB5D&-vm0>X~1!I z4VrZhBFA#{#mnfvWP1}L^g+OJ3qMgyiv|_kiN2A%e0_HRGz7YfsGPDQwv^|AowIOu z9a>Ms=h?_@++D=n3d6N8OHbPR+LSum$pAT%E$jaP&7fpCe=ujjF7xCj6y4(VbHOm@Zw5 zl9{nzdSVN44`@%3%I)RV=oz8s92Hvo_Ui!_Rq_)c>!3t^v);|1}W<_tY=@E2V~`}3@SNnY2D_e*gY%y z^Ve9&vrt&ESyrlRK<_LU7rv-|?W~fJ?kofDwT)*{GO1czWt1nWF$2x$u&4Qm73+E18e#FT?pHfGiISLVBMyqzq)2uVWy=c!Mf*X}htq5B1CXc+os zIVZ70s;y7%>{xWIXE~CB&%am!TCIZYSR#7H^KZ;%00DK_<0T}j~A= z`9s|!Y@s9&uW>2U2K>^Hps$nb|DeL3 z*5fW_8?igi%`mp`VBb^Kj1}n50uPP9F)z8>v;yDx9G z@d2xRX2;A5Vs#E@rk0+aFh9*1 zAzJq+-U=>M(GefTyqQgj6hUoehfBr>2Vw5WmTyK8`K7X=N`iCG{@PlgFX$=S zxmhhCZJJ6MteFG#XM9gl%leEsfq_TV)N?;S^VA*Sx=Z)DxBFA-Ud3^}BPZ%^uIJ6A zEY#PrAPc5_ET1V8Hs;_)rX$Dj7uq5-I|2RFBRLt!!f7dl@y6R61q$fJAj9v?7QV%$ zpCh$4jyft^@wr{Uao58#8>aIam(~n-je;gUm~i+5ps8J%kmGO((j z(#^R5Gh@5V?Kp%_f8Eg41CwZbEtm(?g3N`g+9S;ciG_d`M5;SbV7r_?rT1CXqu@|B z>t5`l+{7T#WOoS-?wR?`miAk-rhkRfx#)L9WtbNt+$q9?komNW)y|Hb+p$J^MX!(0 zM)oIrEUTrzPqF&cmft0s%rsQGD>KZVGMDKB&W^MSM#9PFVs}QeQYpu6y&%HM4%j3Y z=+L4XsyQBL1_Kf1$~yX4gF8)RIEb*=xp1r=uXR#*K7(&ZMj+lwRtgdY(`>bUq22X@ zq{>xLx-%@VB;D5!YP?iAuo%b%8Ws8GbJH3-*wf9H&W>O(18TkhGW0hCckj!1K^Qy$ zaCN8=gyw6ie7C7AK70l)N*^SFh%FL-TiXd~L1JRah%fEz5|b#!<>_q<#GoNl5f?It zhkYW_FG_x35KGod4P}Ku_St7W(kgPmpFgaUgxo^3f*aj3K|bf;OFVBD7X>v3rdI2o z!(WiDVh@j`7m5TyW}dF=ZeAYI4p>(Jo{DirtskgtDN7R-w^j)zG{WIXF6AaRz9+=n zFcy+_$9oTf+pIw6Wjg+%HfRkUVFBiDf$lU5GwKtdw1iI5h1N8rxsM@pC&lTyBA{P~ z)>zNjl~Mmx8e9Pui~YEV{(vo%`k+}jo)mY0E}P}i-k+!143|bQUsal#>3DGh^g_SQ z(T>v**j^p&%@99I5b3a6tzaCUJ3VXl@*QSx>WmMw3+ejm>UOsE>+hU@morJ2=$qtY z!``zifC5qeQ4~g3_Jj^|xo0B2!8IfTT|FWj#3!M5oKf3c08qPGVXa7jLYdI_Ygn5|^xvP(L@`JKT=z%S*^IDhw{ zXy@XeU5>=*8BuWj_G}L zgqmFzSh3z<`Qw5^5{!?4Za`3{g!v%fN?drZox99^)3FBJyuhre5yPjae?}J|U7Zh3=DbPDc(9@XfXu9L_Ik8+m#w zH52XpI=wKDF5T*le74MYFQIiYvW4kN^u@Rm| z`W7p#dj~&OlanrEi;Lp%dIFX~(DltL(;8%a$F`Kf1&pM$c%mA^vvJcWdA%ErT~|}e zAtgxvt-$vHg@K|xKsDuX&B=H^uQG(Bt-#*OCCsu|r+3>+QW9~AfvB*i)-v{wiHr=V zPSwx@;IQ_4*JR*_g1e2hW;?qY+Llf$)TE1O)nsEbOzG))K-<6(BX!IGygabx1s$78 zyQAUzyjW(sS0+=pajna5VFx6bte8-&DbHJ{XpwkglXI$VKn+giw>#mfw|=Ay3Zu%8 zuzq_Ml!_a~^4o7wt5PZv<-3r<1{XSCn%z4PX z=Eb~}5@pC4WS^m5C5`v8XRxqxAY#Z?0QKhTipN5D`^!cz`>?j&m%t_J??srzIg%D1 z)WM%p!A@R$fSe(Vrk0ehdLIr^qiWy(-#SV=ND5I{9aJ9DjQBcn5)5Cs1pR9 z&>_&H;`(%Qh*xk2dpe|Pm%|)#YCfhyxzOXwv06wDSD>BVcF>i@7^+f@_(kKi4&3V3 z3ANHBE|;+@CK_X_VZ@F_v2$fG#HYJ!P<52d~fJ1 zj*=DjT#{nvt;s|tuN{vSXi7N%*Q#&s4W?m^+nu;DZf_JoxjuM8(>xPu(;{tE;kk{; zkgkE?+Bi7sA*!L5=+dofvC@szDxwSI03}q$IhS>``DX1TbacIGrK=qzVD3 ztf4a6v%Rq}gUuFQt^QheGvgS>fjKV=t-vLmS6};A{ z{D-@15&iH(sFr(?7G+9NUrAq#kKf{%?Bv#%G*9QAEg(w!VamS~j*nTBPWz|t#6X~r zChVi8TJIFe4=5u)6z!sl_(zw}PUUBS^dD1&-d=gd*P%WU=M!AlHbL+s?&7EgvG(US z`|FhOF9&}SH zcqbAP;aULA@BLdvy}8*fTZw)3EH$oW?5lh56(A9aXRF@PK!B^A?JeLzV@9+hryfij zP7KV)v>5(C{BUUVPbp{O9U~R7sGJWIWt3ETy4akB(ZhEMRThYuc$l+cBA8_3Loxj{ zQ8mtKs?l?$aor5Ms2Zn0Rk>oxPMQKG-PAb~UOQ;nr9&1j;j{(IP`b$qp|lj0lF1Af z>9i(G_!I8xV~(FQ&PjmW<6Tca+WI{7Jx`>ZlF=O5MW$qbTp*)-e_y0MG<`=&X4;hBD7m;S%Tcdcuw6U5ZF+k@J`wdIpj|~y*@-VtmT^A@_(X{!PMM3@27#H-H6TxOaxg3|^&J)pf z8U8XmAgOJEzOw&T;iL+`8Z~j4fh>Q)=WOX+>oTg?_T0U)56ao!yi^;qea&ba^!APe z3c@_m!xrD>%K0_7@ZV^uk$4!iB%#Meyx)D3Lx$OAqpyJ8FIpa*{qmx!teD zm7>uYEI_eTcrjMJk4&DwzbWFvc{wM;j1pG>77PhmaC8{EO#2DaJ(9UeY7 z5tNxXzhaM`^1?;wmVGX&YZY! zNPl3@dV_1*0w;O%ujF9Y5sZ7Wg`Wmdt`{~@3IOO9jVG!ubl91YM>^9@6nV5W6ge+E zKu2vs=7%mYFSJ3MHdJ#WYU>LeYn#x&FJtlj`qEh0hQe&2qgp}iJ2e)oxiGF$*xNyZACr-sxk{e!a{yN4`;*N@gBRM?UL;cNVOJoCQ9^qi^)F zcb;M8I>4o?5~fpi>ql+2?(K+PavMyv$dRMY_A_Fw6QVMpf2ps*4F|$EBwi@?ErfCS zUzGSEQM?dkFL3R_<`o&aLEO*m>91`D-vQepZhiR;8lbUeibyLrP7ZAlEna;1Eyz}T zFdiXdR5rw@M-bBPgIM@uaoCS}z$v>})w8KchwZr|LBXIXz$ z!8B2kdpANp7mk;Jbr-DDN~C&iI$mk8Q`9whEvfHV=!I144Z7WQmOdEOG(_20p#j#M zw1==2oli0mP|Qx&$rhPhYksn()k3{%b}oYhn;82*V&7+xj;2mI)||MqzspUGU;i4< zYnboaIk5j6&DJU9T$>P#N}~Hs>WpFm+`~c3367MDbT)~f=IPmk+yM%=562}|7yl}4 z_%eaIO9A_|W$cDTicuPBsDMBo!2LQMHJYi0bm!VWp9C%*yTxit+%n$&8OCZ$~{++(y#R7fM+&1|0zVR z=U?X{3-DuQ81z{zJoz-CbKhSDKlO-ynJx}0v#6yF0=X!Y`oa}R(6#kBw+Hk?AzEfl zKA=Hy8>TMV5;tr~+N?3TU1Uuz7F)FEG7GHRH0QT!O|wg^y_=iw1cD6c=X-Om>+9XW zz~5d=P>)HpC(LU}p7BSX049+4UMqBO9Z1Vea^~sRs;1Q>(tI;d9q|{wpNkh#@@xXA zEapM?R@hU>O5}e}kXgW`e-3-IL|!LJ2XScs4lPrro5}a7&4G-V%5Z&jxZ}k!84e7ib z6M@utqp~N<;kJMUY324|w)qIGE^?MQWn1VnEAfHO)cn5=UeK>H(67iSBmBG}w)qaY z6x|qq)&+MV6g*DLO5-g!5sIOp^e~X+|CX{4f{fc6Rrenon- zUBV1%uo&52$_SFr7F`gBNx;)x+b8u@l*TjzRRky;=@Hm>KD-G4$OWxpfK0|kj(al&(;N-t_3$=31~X+ zUyIqfFmnL75p#6C;O|_7y0O!Iqx!vkGX zzj-mu2B=neuE_Q=YRY3ubN`($p4vk!i$(Mlm4wgD)2%gE{(Ey1-? zg!p#XUfBeZLiAN&M)RoLT0wL?Cq>hUoL${KH%a6dr$&}stTeVm9-xaO<@CKBw*=ZR z7ws0nZpjG9nhrv)6X;0nD_he65yeALiF!cO0-+~)4WMxEn)3QG??BgPKP2xQ;T5~V zD=_(CzyZIeL|?S|O{(m;)%~%r3q)j}1#9G;zIDq$^6-m&YC%4*$+b*M=9myPjl!pb z?k6J05u903DX{zd4?oz47pTSKGXLGbbw}hAMBVIFGP)Nl*nwymQ@XMgerTnBA<8MuwPMx$zwuZH%LXqHK_JL7t zgk#%=S*sZY)2j(t|t|{3AK*oDzOCdm;%vC|1%XN zTNS*>iU^kussijK6d?2juT^9Y_;9(*K52t(UW{R0romx`uT^1Yv1>a5@f1OUe2P|s zQy!JDb!e?@t5Y#wbzzZNKHt)Oiu;^)wg3b8Lxv-(E-@!5__z}RrL1s6G@z=opvz#J z(!F1egd})IOn05CwVZo+u)@h-9sIA^90x1p&Qwu}706PR=wfB1CD??tYD*6)o$NYv z5SxV{c5{AaMUt~p)8a+aGXtymD}!t4>EPmKFoH772ZB$!7BtzpMRR2ts4GZ}Ivk56 zt5S%TyqvEVD+LwtynS#f9SIHUb8z0i6~atd&ES zV!tCpsmXY%)8--HZ|klV<%sU=g&vEp#7P%(5!I*S)~g8y(#Lo_QVZycBCN1e%JHa_ z=SV21ZN#YJ*CVi~UR={f1)B^4nYMXGe{+|rwH#M1gDko6fVVaTL8Y(5t=8r@oHa>q z9+Jxu9Ih-bZ$4>6@&fcl3gtOeWLuJWryRM;GD%Vjhdu%CFqDzf&dzXfv{dgpG zcdMv%E6o_n6x9du>I!^ZX;UiC%a#5}m{-!1;KuxJ)6BK+dVAqgOe;z_{Sr5kdPyTk ztB}_!R^v>Ssl-vh#ZHshda$t6v0ZOJKtv@|s+}jE=u2ZVGyo(W5U4AH+}4R;@u|)K zbv&32!{U0uW5$rL($2?h>z{rU*u4s2?f~2RA|0wnh;(PSx%A5dL7;JDZp1MxnJ_Dv zkg`ENu&@A}r@mT71#nGH+)6=P{Lbw;aKa-h+fN{IRUA>0Q<@5r9GEmdzmoKOF_(Qt zxBj`UI{tp~RekWqhU+s)!p{5lt>X~w8&n0)@RHiWIaoHa+mnS(h}6?X5#z~NZcsAm z@D2HeCfW5GU~kR1(tNf>d}rPCs{L%K)_3&gK=zWD%HgO(io#OaJDh28(Es*a;g#Hi zs=Y!<+@jVib6R!g7eBvr%$cWFMX%`P8MmZc&m@FP8aTiL#I+)4-JJR*z<>Dj&+^og zkng7bpU30^;Dn)Thy6^C#P3OnMe~Q6neP>PEe&F6dE%VmT`&PiE;ALBc|=(iK#=7Z z!nZ$B3jX;02Ko>Wb^gG-S)Yd{mVl@Mk2{5Jf5xmQ4k@~2TB$gVgkC^Bg z9F)v-1Uy8MY-;%`w=9PROX=OIyPf7d8= z#&X+F%Yl(<-3B_B3D|s=>2^->#e(kXI692wf=7V(o|KaJ`^38h65}zF2SU~(GRHe{ zhdcAkf)8lAt&pR)96FWj1ud5@3E#v6nUxKm>Nd}Iu70rM0I~dYw9MG3voUUUNbP5RhYBH>6@$iRI1pRRjm|GeLfllf)N@w+sCk&1X zV5#hk-n1yzi2xBx!lbwi5pjCy-uxRiO>_VYttv3E)UvcU7nAjlQ}5faXZkRUEg9dR z%pi4Ehf8tPHxFktcQ`wUheaLs^q3Y`!cAOvvk{~B&}RkB?##+M2Q)8V#V}W9sSz8_ zC<`Q`BAG`N1<>M@Q%=cq8L{Iosm4@G9HnzgqnHP-GG%C^u>NWwvs4v>j7e;qX3BtH zjN(CU0%gr|IsKgF5Nr83&>R+E2P8-dL(-G?H8B)(rf43T4h9jv9=)L{7Mq3->D+QF zycLf{5KpD&Pf+aHE~ai|6CDP7;eLbh?sRO&Hm)kKQ5T;G{|8#~KkUO<7^{cy7si73 z3uA%*1=X;$r#CcpvbRffhesy_&~4aO_^VpftSiB&NLAJF31Iy&nwO|?q=jM}fo-3+ zP5on{3GAYgt)8<0Uc@nNWgwRztw|nDXK+4kGP^$>*VXZVyV#)=o^XoVyw@qy;692q zUKh_zVf4Amg2oUoa2$~LoI8?h({P9AaoX>Do7amlyyDUo3@3a{>!6GUU?Tq%L7{*( ztPr`$|FG$ssOKob33{vqc6u3f0~GBUPl#u$*<#ONrNro9LrdC}MTyEb@zQ-m4{hwQ zlt*!l6u%>?BNB(~&l$cBT|5u+R#36Ta5Yv64@RHJ%7xSl_kkj){yt0Z0TrF7?Z6+Ct~TU6niQ+Xaw0SVHw2rz`g4Lm}aHW&ciRv;8Yd| zL-`l-MK%#lmkkd>K@_Hs!ZFzV)GDChvkf0I-|Q8+{Ye-q&LV!WhIOMX5%tIbR>| zDUOb$|9}lz^X&Ck3Utl+fOPeTq(Zy_GfltR0e8U;qGu5*R-r-jfUphbu|)QJN1cbT zLCy#k=Vl6b^rMOh^=U!`LGBpF|5H}qMh1?~0Qn!E2q7XIR@%K9I?8|0oH9-H!GFM= zI5YISe;}PuV|0jro~}JQ>_31Ij5>P8zyEOup=12(wQ)ud`PcTPk!JO;%~l7U?B9q~ z1N6&(y}4fKr~kYVEA*v*y^+4?g8$m?UD3<_wGFOfVEn6i_};*(=lZ{j2duOX0(3fn zw+qVu3Lb0{|Ij2sVj~lL$6!d0XJ-sX6#C)$t)E2U2Lbe$i8~wS>IGd_5`}8Bk+t@Q zmF@Y@8`S`{*I8)65~&*B%9hsk{nP!pT;o@F`B!=QnTnD=Z*wzdZf?P+?9JCM=RWW2 zC-1F{?uR~geaP8R1Pm13xoWElk?szFy->_(%W7_N?}o(b&CM1iFWQ`vA4BLo@mcda zj`IHg6!%E1h2bCqzVH%`bS6ippi~?q4PK^hCiwa*vvB73_D8-8C*ZBX>Bhv&H}(HGHP8qYxC|Ft zz;dLJu|93i4TlklzMoSfak**v(`B04Iz2(<{^PaF+ZfUYl7407Q;BTVKk9O+ykOwzG zvNl1Fj0(EHXN}CxcSz~n7nc{ zl4-epDQGkNaFA0W!Q{VNozEWNcR@gJHCno;vEGuDfr_oRO|j3siaI2BVWz>KkNs0i zs-l6oT}*OzEOG|R)QQTL!ZWhckoejJ`YX)v?4l-Yh>-xcM0hO38sDfWv$m++-y2KyPMA zV_r;nf2HyvGwQwQBvKeOg>*%o?+jl%#fhs*;wq?URb921yqqApoJRLeHPo#UmjtS? zA)KA+W(=t1maN-YPOfj&TIE^2zHpwuJ>zJG8F|!UWzCypAGmeExHHpW;o>UoK?%?8 zOGT<#NJ$%?ueay`hUwdV%+1GDeV;_H;^;eC8c$#SsR5=MOgx?Bue0Y`*c&UgwwC+H zeklc85alQ@jKXEzyO>R;D@VHlS?maKcDR^$7?_tT|K+V5&|iiBK*WD04w5`)IxVeXEHewY18O@VtyknxsSMX8VQvOdx9YJ_3Zhde z(qLx<;z8>_{3g`e{0SAed*~5_7ec(kgQk~^U z(P$u^TyXT$YT;rs7_hEGyl>k*?0k&NRO%r%nn_v)2;QuUk&%tHtWacb5f+Z9$J(eW z6{*xlh&q{v!N*lgTIOiyW=w&$*1k^kgR{$8<_w%N8qt$*wb7E=kh> zXT$xPjlP}Nhs0}JnqfY74!iAJ6umhoR$7AjFZf{ku5oT};j{MfR@zq>{Xh#y!DlqGHh-}rodN%P zTXiX5Xt{>)(7zBWhBr}fA`7KrV0WB31Tbj)4Eb3f7HEUtaVCa^F92yLMh>6Esp7>1 z2qg|Dh@p^+AA(ac#Oh~KAjh=e-#zhIKO~zRCZ~kuu;Q)a4@w2j3NlR@mscSCp$Rrk z%fC7{bU`vM7=tA{JGF;sh)VC)QJ)DiQj^5jsM^6ou3(e}@uudyW^>xQgy%b_<z{a+BrTxnu~sHP_r7wt0d}+ zyP9RMpudEOg=DC3bj}yH7pkBYeS6oL7O5&djCH3@IbHCf(<)f%1UJ9KAVCSuC)R?` zt*KbA1VpgC%dHpUYeCq7;E@=@C*;l{!sflIpN)tPkqb8(2u{>PvvSZrsV)lv9GTKI zN6fzc;6GkJV5rwb(JK@^#+7-)B=b|8PG9{UC7F~pZYodK$exsnLuS8F=ze5Cq%C72 zPeyA;hVR8hd22SGIe0*GIBj-n|O$&=CCnejH5BOK35M4rGquU-Q-Otm?m`U0m+<0DQkl* z6sozQze8r#b=G}owXs3;{6>q`@?V`*uUyKr5w-^=tOOk}0lS8;V~($s*>;5vT)}j1 z>Afz*_Yswx_x#CopYa|&hC<-<@7#ZY_;-r{L9tITHH{R<_aL2;v>RHvPHJu#ldvo~ z#6xbvrle#jcW#SRQ;XCHKpQ=o+->37VX0>x`P41!RQ1XAbi~JK_*?~NVc({a($#qJ z#?(;Py}AeU>A0a#N#2wykeY@JHCM)KQ>I(`a{xB!PVEHmpcb3;ZWeYEQa9k$!A%BO zJ?6`V{a|5t@MtD(=Xppae$Xpi*(+V=dtDIH69;#JusZn>p0%0>z&XSJT@Fy__Fygu zNCWoRJ$znOd=S}--yd`AsAEL6`9BrcY zrdnw%Yg(u>W9ume{O>$X<$_p_dp_5nayo3*eF4`F#XoFkrjV5zF=q{mfI2P(UOSb#7+?d~(z)2f zM)?YExgYykb4=%jK#p5swL*Drzx>^a^AWnPw3IynIYjykArZo~a==`QlNIyil+0$Q zBiX0AeBD=WL`tM{T@q(0u|hO1enLt^_YN{L-B z!Rv3pVpyL90PMM~8BV?U(x!stx0)okMqYE2E`1D>?)qq~l%3~&q z86dUrg4j~XXkM{GAv4*kxOkBeHwjqM%t9qQW0vdkO9rz7Z0VWQPgGJlTz{XI`VOLc z=G90|9KZ1bN3}TZCQH-x6sEa;Caw$T#bZ7pZrDQ|{f#_m*EgZ%<^N`8{yM(4c{QP9 zLH&1*I0eB#{ujk>w13qp{71@K&t7B0pVq#MMhSrO!CCVB1Z1YDX~mgJwwjEmnP|4I zoD1IufK2+kVos)-5|6u?{xE9hPF>c!r08lIDJ_xJnNKW|gl4mxCm|_jl!Rf4m$(%S zOzI>d)CrjtuuxKxu#oUq(uxHw-OkdyWPCL%`Nn^5w*4CW>An5byMHqq!n_SuA5crK z5(0=3la0fi8$r8iE0_w;1R^cKOz2oMi-|>BSjiGT)7-K`whUqwuxN*)i+;CH%&b>I zWc|t}Dj0Kkt#TBzUoB1<5;x06g%Wvn7fdq1lZy3F5YkM@pAEwbCCJKCz>5udEndJP zS#TF{A+2bdQy{U#XiUayG>8m&c=8tzp#Wg;mvLdLx!D%W;TSDy7%fDCA~d2`u$e0| zJ)2rf>4-hT>)R(mGZ+RFWKw_7k6?pG7|e>t>^Nu-8I`*$&L0)$} zOQ!3=-38odGEOaq#dg{kGY3U>NXeoRw9aR8I0)eU8m99JVibk}Z)qPd#phk;dI404 zBb@D_*eYHwN61BLT@q2D#lpjBvBdDcStd34W3~#qjYbo92UON3BeawqXV{oAVA=3m zoh4ZvZH(fZ-sY^Il;cU!Gr4jqH%(exW>&~LwPUTZhz<0!SPw}AM%ga~BQREiTdL?z zs~UdiMPoKcW&v_X+x~0GTQ@1m}(%SZws<6yB&GD_6s#eE;qsqnc9Cf5~vN-Mn0% zoUHztU+QQx&Ts0fD>Ap2UJ-Dwi=0YV1*NA`Zjkdq-GN3uzpO*!E6Da(EQx^)W!W`? zw0Y2LZlI4VCjWu(+Et2ro5?)(oOpX^;bwfn%~c7g7u7cP+d}QAvehD)$7XvlL&aS^ z6XveXRt>iO4mdjULY^yU@C2lO-{6`u-O1NE%6=@2(p91xWYTRz;BK&1V|0tkFW0wk zLP~v6ml?%WxzBG4Y|_q)glm^rb)@e%h7a4%Ch9y`i`6Y>z+f!oGQ_KLB%RRuJrPmu z&R>h9_e7YGj-g9}G_MM~nzT}p9wY@~7B9~r|8X++!d<%7F%lJz&vFG$i2pUv< zz&M%Q#>&WQ?PyTLUkdItbbRvPP>pRFUU|eX4=)Rrl*ELlWWkRP(NBpw8oP-}k0Sf) z0g`s8c|&DB&)+{H>o@sxXw2~M%zfIS@>CnX!3@{h5$fCrGk$B?$HI*-WrNNc<`j?qCfw6ckGJvcFaS3utlA$*WsAPNF%R+TOC%DLp>M{ zMko_$|7#p#z%>Zm;BIZbIQ?#>FTK}5+8mK9EiHEEFUxyeEnv4h_Arn zb>mA%R_Nnz3y~zs!fYcV`Z8mgck}skdgd3x-x(^Y%kLimVLlyA)zjg)wYonv6m{xJ zNEhUMJi%cd&=1!$N#qzaA3S`COSb>SWe-JK8FKE4PJIyU1G#?Y&BprZOj14K?%>@tCd*9N$${;L#m3WwZX%h|`f>SH zccY8P=-50jtcZH^Ag}U$@+Tgs2Iat@eMc^qT#Jk5VU@Ia`x?LNcDndARW+KIe#7+@ z3)k#aqb^tH5D#!UU-9JCK8)`v^}*@oqqMF8$~puv!hV6xTZ8A$x6(6Q>R1J?u(MLC{3rB8lnqQd{38YOlO zi`t1)PkG{<;m0 zYF)xLKyg(ZtZu3rm@VxzvNHI#$5W^SQ$gPN6U7**Xo%?#zOn#cOeqQ~fbj3b7hMJxl$W0xBQ_Y0j>EQ3yd^td4P zmw^ZARI*juS`oRtHhB+RE>N;;@(Pzkogx<;&#Sy1*`Q_~UT)k2A+1WMbT}4FH>Uwk z#$9Pm5F0Kl0bq`QP^RpUBjr+R^JxRcx+!JL|!%WV8;v9xv(BLc>wow8;S55BgVNAlS0x0ww8 zEGiQFecO0&Z#uk4$`vvF#;k;i2W>Ut|eqbld{k=F@~=Yb4o7eN9M5y?ej z#}w4RO`{(oq(P3=;+M*?N4?&$MIvQEq9N=J+#5f(x+#f5Cp@tuQOow5Di8vi-NFw=kkZh`zn%-m-hHgCzBfCL>|k0PIigiKix#lDh*fq76*!ju($ zBc>2_v1DX;!_CQ=IMQ*C z+k%g?ukpKLX|T2WAc33pg9;IV(6T&68^=1mtIDWmSj(zbG=g<(*vm@yOUPO$Sj+k# zbRO%xVF(Mmei5r9sYT3At|q~n%=!Rp1goR9UTpe#xt%V;+}CN-KgvS~5;<;yfa&>* zQ2hgL5rWLYQUFufd52GjFO)VQk+B(K+5mwe)b|M*gk=Iy_3KKy&4CZV6@bhY!PNOP z4P@rD#-O0>%?$tqN#L2bsmk}KTbrgR%Q#PcVsUq5>fKmDLg-?57JB$c_Z zH4b!J@GprJn0djI{LU|oKqITwT&^+Yun`8DQn3rlpfa&h2BK0Ua>Z$7vrilnG6xsf zhF=_ZK8Si~??{3U7bI4I^qo?_j}MrS>m%jo`|lrKu%km~HROt;Rph{#J!ec5{q$ek zayyg8?I|UHZiIis7q9g4#oAx&p902md(CmS*U{_y`Ub;ji{mytxZJQ1kh6}&Wj^A+IYocI&V9$j9PIGt&tAl^MG-c4k&oWmIbAT2`JDTgBYDuBnnw8vAg;#!4O*@3Q?-2nMwBtf~9+6n`I6oJK_l4$dU zP&>zQuqHG!NsC{R$gL%!Q7CcWD2X&;j1zpQg;1mg7A3~pdWhU(0Hv54f<7xDWah$) zlp>1Ygc3<{XGGZgq-$J6?m0%48iEAKMcA&yos}bs@PtxHamPgx3@JkO;+M2CD*seL zjEA9*OBG35DsJHi}c{ zIQ{`?A~z8-w)Q#Q&{In38J>84Mu`Rl=CQb_Qxead_^!PG@g*eDzic0X0Mo7TBh2#A zw?Fu}35|*ra2^t}{_toj-Eovx60ix4NE8ut5@>zEiMXyLU|>*T_W{;5aP$#fd%%xb zx>48PL@mC%a4J!*g-}G@y5f>}r zLxvQEOwwP#*h`Cspz(`D#+Wzpc9DpqY>Wg(8H!>54Orc^RPbYS3|ivZ-#@bger5%M zF`XB`TTi39XFaFCqz5|%IH7i{V3{r0{eN_f2pUpNqxa*t)lD2%er{6oIdYJE( z^C8W^F~|9-HP@_mR&i5(!v#mtLiEE=uUx!lJlA`GLxnmCuMS096o;do)sAUs{G^#|CD1aOc0LfQsFJsf5q{fYjz+izhkAe$~jy3q9T5)rP zy{T&ccGz4@#(-1Cx91ebVL`&7!9WSd;K8B6NJ699Dlp~ZAHZPT7Qm}W53z4eG+J&I zup$KPQ<$OM_;vbj0mc~|33*AoL9w^#y)SudF5yZtL2E6bpox_SG?~|I>mOTEp>v%o zQ6!zQfc37jH8-2TF5{EqTbS@@SePhq+OV_gx$xgYvQBI*8sSs)9qlDq{Ws6uPhWZ) z9>!8qujeNGe8HaAQolMHXG8dI_e8ozH)aBE5tsdOesnwyc7WGeC!GH|)$zNXC^ogC z`?xZ)a(9@H4sg$8?(L-Ni~4=P)HO^*JM{)@-=EJ9n|rUCM6YC2bI-m+H)~jZ&rqZ6 z=MQ?!gFrufSa%O5SkV=RKH>0(^Vp+J$`jIL!luo@lW>;CVQ+OJ^Ov?Kz60GB1nn(Q zB^{b$wNSZxRP2&p!nM3KZ9{W3S0nC3!xKEJ^@Vs4CsOs)kd0^qJP)&v&9&B?4&6*TxeBE2j>2$Kx% z+%cgvvAO|V(`fYj|HIbszb*B5jaqmZI1mssOb`%?|94Bh6_A0=2KV1W#Y7;E@Bd*S z5c-8P0QcXP=>7%{>HmyY$W0t-oc}E5zc`QR|5?<~xPl7*S(a+J?Qlr{HzP!9o+KVY zDvJ>=e5-~5ZdB_398-z?@TgPwaPXj8(VuZ)L;uVCFU_9oKP#>YFIVh8zkihwv?{*f z>7)JcHnbKFzqJ;QV4~qaH=k|-D)9f@{?$v6TKzx(-#XPtV8ipDFYg;cEAJcO(0@5o zK@o`<{&QtPBog?~a6}}MMHS;~kXD<>g!lRP8p8htzSKMjiEWlx!*x_%P}aM$(R%R|?rKL`SoF_$Z69F~T~8v}mi4pmi- z%Q$>Gc&Ou4f7|fzV(d77wInrUcNV#(nC&XMDI^PuF^QX1sy(@q&`-)?Jha(d>dsi0 zlYwP*J33`V=o{>R5D1KaU+ACAJI=o+#M!nJX@&*?>84E0Mk3+^;%?e6N~EW1sOnyhQUOehXGF} zkrD;ZZG@4jUIG~D6Nf-WVTIm4@7})uAlpIo;D5<9Wf(cvF>x)^mJfik9o;()GoeF_ zhoZ>BeAOlZb1`6vIAVjA5tR?PFB*~1O~8#P62&$){iOf~gw{RW014_<3b-$wC!tYa z(~cL4ea(UyM~i7l@zH#0OcSb{-&mj@hyGdvo=N{G#V~6d774s^>R+6D+gTn_3d_P) z&8_PzMx^p5t7~G#LZxo6vQ-B%bx=p}Tj;_m&D4)N4Yf_kBG2P|sdRLyD}kALMwl>5 zqItq6VYL|pvFZcBI3u`UcE#@GEhuQYGfLLT)eazB#15Rq(XaFZHx#O<1__c#CIs*j zl?&6z9=lsJl%hp~LLK&0V3d(?@h#&OL?|-V2_R)?(&J%N&W9nksQ4#WF4O_ON|}i2 zZ6tf##YIO9k81@S`NpsHAm&FJt1&-@U7ARuQWYJ6+%}Pzs*vczYJ0JerhrI%oW2Fo zzoKY!srsUMC0!WIju)E*c0mh$Khccn>KvW70<6PABpD`!t1JVScbRu6O)=8z4F zfi7f}VL43Qz0wzY#u5F=JBOQOk4!0|2l6<~PFco9TTJO}HGxk0@*?=m=D1`JIdI5B zbiunoI*kTfYShuaVMq-+Hab@+)}#=Yw&5(uIkvzO8Ie|nk~DqX`BDv6q(6N1&Ryu_ zV|+a8%$HUDeYCC9ZjBO}HmhM`k2Dt@L1S!llhJyRwpQW?ETpvJkV;@^9_u`6DDJP7K1j5DLVQitI^WaA?zb?OlAxV-p&ctf(){`Ltg)HA{AwXKOP>E0z zC0@u6l|~`JU{7RXGJ8CYmFu7Q>nAvSy>dc}Z0R7HJD!I%2#e|0RrEUjWw2@4rfyo- zc2WB=i{T}{Ms6%?On^!O!T3CMlCTs)DP**26_qJ0txB77AVu_z2{sN85XTX+u6GB7 z5vq?=EPE!{;|OYGtMXOG$_N?yiYns9;D>WP*2{;4Qxo7KF!}*+kgbul+-3I%klb7y zmf!C)#BVT3VS`YR+tEvFn9tX7u-qcs9Ig52|T@%x?nfg za=$Mr3PZ`y&d$nvmBZq+Xj1RG>AdG%F)Fq|uZik`$ zfshNd1U{Rp*dPwm(^~|;4RQfg9Qnz8F5w7j)1NcNAynNo|7yWBZ&dJSi_}yGmmz+K ze^}kJwCv#auB6752Df+OWK($_oJxoJ%!ni(b}K3LSrn^>f7;}!=+>2TP5x!@K|gQt#AsoZwI%G>?ip4arm@8pJq0mmfkYY&g6D& z2G-~04<@|{V#%{~59tCGq!apcVj2i+Sx>>|H>Jm!S&pw0SFtUa4Qy?sJjad2oT;%m zl>I6Mi4O@Daj3qWH#NTZbZl!-CsR)@bu$irO`ll5C-=k*daRWup&2X}aST9hmkd;k z<_Xdv9M*0*TWGaSRzdj@&6Fvom>Iii*cbp8+?;=|`XXgs)L`M9 z7f!bg&0VXt`pth4oL_qUTR(iWgv<=B4DV#pnbzV7=Hy<$PHNs(eH4hevwm3O2FL9l z_vxziXhkEN&{6kxu+Hg2;N;PHKCc|qY>skvQP1U)Dt_kG_o4=&iX_^c;QJu@PE(Tm z4Z_^JZbM#o39bqZc94u}C%MG^v3&jOJ%H~_waK?tmwwl6bc>hJI?6!MkdBBx5X${I zno54Sf8Ff|&0F<`%_kD7dzTt_sevW|p3^pkuEbVepfFRd+^r%nJ6eCbX^So&34H}3 zlo`0@WsAL`2F4{+smO+@0nXMFqU7yQOxG3p}2@*qK$EP9@IXuVotzIbm%X zO-OZO6+ZY$MykkFO%e5Fg15sS?4j`A!B82f2#k;G$?dAj(+wphNJBm?m4d1veE+A1 z|34l4|As^V>30ga5kaSJVi6(yH$3?#YK52jF9|*s8T|8$y+YLy{9=B7rXk+2 z_EpuQ9HpH& zNnozx-cVahxJJ`MsyPPkF9U5X5}uk&T8_b*->}3k%;cEt+Ffy05{wqcY=4po7hQ9asWCasC&`GXTN3PNu?|8OdIlYfITz0rHPZ}EP#-1F z($E<=rurmX!ZYo&p;)731ZOa$kbT0{BqUL;(CCabd6e;U?ihN8WY(U(XyZW~tinhS_tLbSh}!CREH@&N#l`S>PO-z?g{Bx_Hsu3_YkViF*C4RMpQAOsryi z{YkTjVV0eu^PsCM7_C9$vJ3M6!`=R`VNoHlcLP%q@QJj5--_rWC|@ndUaNq7umhzf z>t$yWDbVoxAaPi@pfXg-`R^7pRixNX)7uEaSS1qJW=V9SzEHNA8^Y*(iXnE^)T^1P znW^XLtF5n($4{6(1}q$nt-gIxs2=p2yX(C|^s$u24o1yw7C1n{EsqkO5rrrFg*F|2 z%|A@lhP@vUWghE!gN&me2M@o~Czp@tS!ZT)q{dS6QHa4NKCWv&d^nmN)jJ_3e5-Gj z=CPPp?3^Mb95iI#j{uz~q+alTaU#*^>2{JUo;vSq1NTJrq0YQuEN+*FOF5+xe=#)# zkFB9rtLt%_#)lHk7{NB16kFwK0s%IXiIAD~*D?nX$I5txx+MZECcR?nk&lwid(Wj53hY%MgE6z%(EPV- z_)HNUu3`37bQ*LOa0IFbjtY*J2m6$zxdn}%;EG-;K4nz*8Kichu7OV~-VK4QosslU zYS61!&d`U@rn7mHmn={qg@IjvFassA$wz(wy<$Oi)@fG}w;-B|Skh83yd>q|gydFq zGIB+ItF+O|iOaegkzsF94)wOa7sRH@T@IxSF-&$L%oN|ZnEWfssMNbkeRwt)y`3wz zf_)vyX8mW_Yw4T4Y#HUL{sl@~M*cb5WDdkovIdM&-njhQ-!4Z$eaO_RAQ>#=NBe(# zM*nxyJX@o@?@N6rB+>)wC@l$Ne3_>%Yy*srk@PiHQUj78#hu2fz(|F;GQtvGxI34M z*X$BoA_ZR@KEM;|Nau$v4g*`Mfzf}anrvaD!#Mw#oot2IGR{x#x+@zsalOqq|+JnaDz+W)xPFm8NWfcw$D z*aU_dl@D0o@7!{2)A>QH=}`sH;x*QWXUx?kw8?iiUvHt94Qe@^pettcpCPQxF9^&( zH6_H%MgXVgO~Z&sSOo5NMlcNS(SjSMDX>fzz-5zm`da2OSSX!}<7G_j)d>HYY92J4 z)~o*{iRxpmbAtjd|G9|duanj>KSLJB#2?bv<$vk=As5$kUWw#o>i;4v`I*C`C;*Ppzk%jLp$q=4CqdxEZ~#qr@6Wku6x`0E`=Tq`i1j46k@0~%fPjU;yQ zn4}e9oQ^darDcwLl3+$H%IK-{K-WRvVk2P9RgvB>^t;A6Ffd zgC$B0JtrM0y+?N>D6s~ccNu=ufOh;!$X#DJ0}pi$BMQkjMO_I=T;HL zP_%DMRu0lYO)Fy75gi;hB**zQ%l(FUhy4oHqNccAatAnK-ARywYtZqb{sbRUKXuxhYJDWvi3_tr#1}p5=wdvQ6SB>V$iw1j_Fha3( zX?Tg@=m5V?JCn?G%7mf|hd+T11|JuOW_f$acT(Y}RN91<%26c#-m?PFS%3MTx2T^- zXKQys8BC&$2AvV@y=qKe^mg10@M~6CE9`2mU;Q`#ywo_=oQrM3 zvQ|33zxu-MD^8jka)#9Z{tbkaGp*8z!L(&r8>VoSakl=8i0LVB9zQ@E;;K?r>c|TX zYoR7D&UdP2$xT}YkAN$Zx^EBGR_I)GL!(hfxJr(SaY|13WXZk&{rbN~{o_j|kDj~{ zh%OM6q0pTo2D*wX_}ROu;4F14EAGK7^(-(O=ha9N0&KuZ8Lk_sOQ~WB zw^+1GyrRBLF%i7F=2CFb;fHwOUE0QK#ouZi;&nG~t%?~8%#msVxDYIEHnrbI?(()C zKb=Jo%^~iyp(gi{kSp*~PA^23!wxSL!MZK-DzLgzMF0xaQ#EiiN*{v-%^$$CmgRi2 zRxRGsw#k8TW_W+efRbLJRS!hy3()d1#OIVy4>Z^=Z7@M8eTMmzbE^52cZ)~e829L9 z9yChgR=di-DsItt1kI5h4<|vKv%`5XT8r2=yP3fy7aMXS%cou-uzB%KRlDwdkX{#DjS#7~t9RGiW zrvEomC~$f7l}|;bAW{QfTBD0#d{L#^qnR{FR9dHb#^XQlL@$Abb4WNMWfSnR{`$`<>I z$mH?}IkCT0e)wE*NFg+k-f0|`v@mKe$2fXPxr9&$WHLhewuFR0h#B?7giwYY^BmaF zCFH+8ORdD2k7Wz|7%YVO#|Ru}CQY1$2V?f9c&dNSjNvs%r6RG;h$p3Y{H}ojl2%r+ zI5RlL2ai?PG%OXE><604{%`*!QunNVB2JkAcLUXW3IUgp+YAzYU)I{L9Zhj{to5qy z(zG57PXN^tVAsVZbMiJ+WzKe)zRd5AEi^}D)W1#da6j?uL2{29mC;lkRg zta!YR2r)6F^co35tjC1s;QXwN`iT9p<-FfxOR%+57a$AF#aVn`ncM%8PRQDJA|T!5 zdggzWXMewuei}xf#L}XSkzuiHy0rcYs;Ai~|2@dPeui^Yo$!>^#C`2q=oKJ0f}mn&7ZUbzL#UD?xAYL>|E$ z^{j<^c++V``;~A{34~}{XR#0H#2VUK5OI}5@8}Fl&eLPBXlA`3p6&C2HH>00l~o!H zgcU$M{+*LRhk;!>OHnP{g2TowrE;nsk&}@WTS#F6JIJ&w~^3N zzEH2;P_+@**Z|m6K3;4CFG26Wd!EfLs58YGzIShT4aU3DJ#W2teY>8`Kj%}G_#r_K zn-CF3Bnk?}_O+T^T)PC8@U}U4@pRa|+-+>#DS$a)HQ~W4(e_$|N<*TIu&3dmQ6kqs zA$tG~5tlFv4L@HKD+eAZN2p1>veZ%5+y#=)p^@^E$sEnaXQTE~P zEw01H(sO6ZWD#h%+a$~`h1oXd5(9+QPh~O)GlDTjiKk!B47qBtiI`?{`y{#8sUhtY z1d&n&*`=H_cX^$^8{`}gXrj~qmNKW!bAKl_n$Oy%vAWD_Pe)H$!1?F}16oa|w1K|e zNPBaXCg$!f;xZ|Vh4anvEU-UGv^W<13jwQNt5=Z6%WRV({9ivf}Wz z<1DXi5gp9))c+w0n6OI?rea4{;yV#rH}pQ@XHv9&5n5}_=F80?h*noe7H%7OR^Vlx z>DlwU^c?)!MMp&|50&om>By@_lwv_qUyinRH4vCMypC@nawxTv>6Xe$K?f?X|7zvV zfN@(ZsaBU!gD0TdW_ALQi6xx*P*FK3!yQ|Yp0FQ=kMTA|t!V!vgz{xrNUtlN z5teEv%jSO0aHRTW>Sv$IQNH5Y;$24qf~mjf7y_AG(L4~)&k_W%Fyi>St=r>|~5|BBi8ZZwQDp7MeZp&iMSqLcNXe&`B@ z^Ma~_w>6~68%KROcwF$`|DFRsQ&&(Z+rhF8aq)%uZRL=<~>i_=A zYqZ(EaI_WCae)vM(J7)_Dj(R28q1I-Q$)$|&FddVfGS?!UYkeNN52qOy&=oaY;ULR z%0XE9Er*M66J`%Lif-A-IMxiaQ44{iwTh_(p%DuHs0wDH&_>XHlw#-tmTW&w5&V!W z*oIJJ%u+7UP(o(j~z;^A$v|8Ns-z9Csn9Mxy2l9?bS<^;fpA*%L>v z5pi+L!uq+gCR@*2KdkXtQHwiBrR_+ltJKxw-(OezW8`;cQmvSRgM4~3WNRNA@fO1F z5DQ^_eEl9*vDBu@vJCVcp^RTh(&x1!^!S(JQq>Mm5ZYOCF9PtQB4*ThY&{M;YxB|; z>xv4Fduz}Tgpy~;#Pal$CDlvlcMO5|4{Fi+p@Xpw7Os_iJApDo zfgp!Nfn7gn#p2dj8uQsJTeog+wdk$N0O4nk_ocQ^OY=XL*i=qfTg5|;a{+o4k3o>w zBCyRpp->`UCJI3A7H(ehjpPDXuO^qm2?4BN<$jid>AF4IUl}9(CjIBr|cVr(hxgO%H%8qfdKro@=QK7|BQMi=S zYI3}2?Yj!EM|k)NjE>sFvJ}Un!GIsjl?DLi3jI$!6-OYNj1@H2hh+C#HRN%{BOg2z z9o7fYHrWKW1b%qy54qOA(8KLQ0OcyL-dV#BR!qihnjZ!Dk}mzf?mz<*W8|dlYG2}! z1%qN)!L@h6xdYK-5!B&9wZ4GJADML@$N{%k*Muu^#j%;M1=c`bAyHu;qI>SQbRCXdic8P z(lRzU)I&>rTPTsiEmMddH8M@J$e}v4$%RS9^8tg7K}q{^95Yzy;cXoNgrWeJDbL9{ z?qvoiNdE;+4#H#Rv^YZ?s%q^@y^L{J$Ub3ZUYOo zkjioYiXL!-=JC274s;brgukH`IjSUApjByxsfOV)iaKn58XPIk?Oe0!C0myDY#NGD zL}S3dh#~weQ_&LtNp<53zY6tnA5OXQy6M{r4!oZmvX>ob-1xH9oH>dVYsyRToEo&b zj5qrW!F6=$m^^VZQrBZw{UFllrFu5ZR0&B-gIeYVz|%2%UmrQ}r~LExZv*tlmuu}=|;&24!z zMFuSZRf?qU5s;DU@bCnRZpw}~tC(yhYhtHS!(>)JkNzDHAXo>3$5L^hST6^j zHJLRKg}GB6q!B?D*!e#tF(Wj^^}@758FMTAQZw`_gTGwryI@2Ir?Q!;)9*}pu`c9~ zMz9EvMGUND(5g5y2-#OTV4=s-v-taokfvBWBW_^x9-ofiLAFM3d&)Y2&!ufk$rtHW zBijBj;R7}3z38EqmV+m^-rEFfqelTGl3Kbh=WmFq+v6B+;>2>LSt7@BEnfiuL@rXO zrz1mk7+MrZTthD6vE3=fE{?q(oxwW-#4Qo4(;pA)4j4qTJ7{{tYIXz4dAy1b=_a8T zU(Qvga&%0)BZ3+3DHmiU&cI|?%bf^$Rt^Ik(0q=}myGQqRJ8i64{$y+^OYhwctEH6hSlJ5*nWN{>&tWF?1K`*(@MaE=MW-;#D_sR|*Fq==n6tCx zJE^pVzSzwmT5cG=Q3kmwGD0<-)vI`CiiAui--+gIF!d*t)`BPmy1EfW!>!9QZ`ly9 zH_$sT>wk{NKQp;W<96NG)?^J1RmnuOYzCx69|uk#8V>(lA~Y1{6`la{^#p=dBjwQ~ z4YIF$utvh<5tuGuk+ZG`gu92RP;f&`;)H1T3o<-sM|I8XFKR`3DojWis>#wt3&k0S zM7t_7n6Ls*oU|QA1VKB3snTcOt zHpJ4X>_;H(JT=mXb4-9j!l8@d$ZU%wo3lDs5>IH4@1z^Ytgy}iYsDsZnXrDpswTyq za*w1^z*T9P+ZFYd#r6t~_k)+j<6HYMK#RWq5Sykh8i9%^bJ*8VoRl5at=yzW*FeoS z7vEmYJu0VWLFN@K(1--%453y81%D8<*;-V@RgbPbHuFjop#;dF<)DPVhH-siiKuKk z3~*kAdGEnYoL5E=t7f#+kyC%+TGv77vNjW|*~ffr36UE4(0OV>)?lxqIvoT%fYC_A zEN{-TI=e8|!6JFl@)60byc$br;;3p=;Al27%Cr=@@B_3l;=%t=HIVmU;1;OH|aJ?jlN=9pK$Gt-l29uJD*SbPaUj4wm zzRtoBbk7$M^Bm~ao+}dm0(TRL2apb>C=|(l;h`y_1t2*5>n?Py>tF~m7Py&Ji_*Ml z(dvr!(Z5&nh2q&+~ge)ijXFjy<2s5ptRMkCmy`iue;`?)vMd;<*5+#C! zGhvb_FPu8#iwBw&{QT*)t->lH*|kk(ggHw+_JPW!$Y1?4g+gar)WB@vrPNgM+gT}c z62XxJ$_Q*}9mOIYW`tnah>!ARVEfz}FL@U$*}IkxL@7kTYQAUjqlS_F9c);O=|%w8 z&kx)ioT4}Rh8GIK^-=13+OepW2ekZQCCRZDAG*Nb=z;(p+Es%nx_uO}42M5fY!P?o zmO#2ci1k6k7898Kg7A96HgKCaBWC2k$yZ2q%;F+y;7ulWoKx5j7-aY{U&2=!bsgbU z|J0Di>m#b##3;NinOPU3{$*&V8dq9Y@}q8kv9wbgwEcTm?SaS~mY*ox2-Di(|J2x> z@viMZWaH%8;oQf?0+^6~ww7iHQ-CkbZwE$HS24ZPB7 zP8=i`Je!>z8DgIf7>-YAcA^L=*hAQ4F95hdIL{TFzeKd@Be{I^I#->457d_-!vSC4 zlB7yFHH}jWAn6lgdXTyqs;o1de5Ni4$(*lpzJ+3@UwZ4RCZRvMPbNPX8EmeyFvEw@ zXAdiyJ z*sOdL;o})B$NDMnplH|;y7Ul+*90U|S@b>~+40i(5cOk)oRAwMFY)G+)5jH_OQ)Al zEh^gB3ZQjA#q%Dt9a_!tZqN9T&G?{$qDD$UfsV#WIsx4&n)L3%Hn*nAqQ6|H>_yK58Y$O+QNiPy}2L+#ibhVS@|0CXL^g zY=@83>cSj9zi46gVuQ9s zK52!WL5=J&9^q7*!KGiUrvJfgy+X-;WeM#cL%)(XduE@U9-JMhx!eDtR)>31Yn=wP zm(J#jaGv+97S2E$-aPvf15<=X4gJ(-!@py#|APO_#AeX1{JE4GcLVIVP=+Jy`&NLZ zq5Xidvc^Ysq;9Th73#n0w1ag1wy<`zbmnuu)(q6dx$!7@8C;A71 z5)%IX%+PIkaPbh|VjXyr(F_Z2tmTv{BC#=FCIw%l)3DAEYf!xNgGu^!_|7Aa(-)cJ zrSoj}SiA@p>zh35;t;rZYsCAHgDM#78-0U9@Pi~+wSuI813!C1>chnA^WXH{Kq*p^ zPq_o@8y;Vt`77daqU2`uh2hJiopa*bznHaSzM+;3Ne>$HoffEwFm)tuV&NeP!8Y@E zI+n_O-aICfKG!&Xo*E_apGwJMQUrDAeBKN82aKen7mc#DxQ@}3|aTg=B#Ii;5H}8C&S+|jq<-0?W0U^3)fxQ z>Gk0UIXm5v896{Yv51NV75sw-Lx84^4mX!Tli-plbf9?7RyF1)4ubO=BZA#|ScuoP zeqIOmMDk9|-H38&H|dmN7`xwinjk5Oon1WAFh}!WX?W!dz}e z#t16q9N&#=PGepwb_k9npEQz5rLy+0qe`^179$@7pm4u!OUw${4gvb70C*ZLguF_i zID`gzPYF)=?-i*-)b=qFNqS)u1{JbZjUn!cZ< zQg?an4K*+vcFC74(5Qh)@T8woPClhxLSDonguRGh3B;njaFl>LvYbOIu$tqdJt4MG z(3jmWoU#OdBN&TarV+0<;9k`-V|}c2xrODk+g*ZKrd)<%seaDdPCYXTrAJVU!2hQj;D!;UY3>(D9=mT|6<3Sdp) zH49h3fk&A#he|e}gx3M*nf8g{PCatUA+2*|17NnyY(=NE3F}Iu>jhc;Y(uB*7FY10 zC7dB=kW-%({N>f&7QoVx&{B%$ZE|8+9}VQyy{=MUAJe{ID)#WCg;Q3z#yrSUJa1lP z+HkOWHRfTfUV7DIdQ-LEP4yDTcLqOsV&Zt~BNI^TS0E&#m+wtOl@0po$aub;V%(4b zQ>c^4Z0Rkv74oSwXbNDnZ$q$_xP@9i9P~fjzK)gG|KMy{_j+wRy4>gV{Bt1l7zQNJ zS3YNJ3$s!7fZhLmHVOg=OYrgRVMl*a1(X;qnJjoM*4rKXE>qxf#V zZsO$4&_Qdu`ckL8b&38Q_Kt%vqn43#M5g4NbqJn7qgJ+~9hNT2OdN@zi+!Gj6+yZt zsQ9Ay@J+TO2uV78BO9R#eX0YPV*%>&`{Gnaxz@hUpVXv0dG3pQFD3ItN_7NY6csN9 zRs7SxCX#5)xxo~Z8&<>ib|}&c5J*byfZ{LVGNWn5dRI@0ZxR^MpiW&rVP7bG@t+D|h)dZzR6vBg8^0i#@OVn}o!o;m-8kL`1#b{} zIM(OD^N$JCvBCN>ijc(W7Vb{bk%-*-VC7rQd}p=*3Uj2U&w<6kX`0<|uX)QOeAP?b z+^UabdfP18XL8z(xc$h$r81BV_25r!5)N=W@2N5#&kC2cFcf%@{)-RAP(sg5g zCXhACczg4}L-0>P-@sFmNxvIhD#n* zzucJ0xtR7BlI(vd;6pVT@Fk|oLo7?&d3Qu@Mterw`(?a%XHm>iWdh*T{Rz?J7A@M8 zKuEI%*v0Z%{ohRUv|jq^9K(cdxe2tQFYDHEBpN1*h0Jjw3`9e$+cyxWEJHcFBDSYa=vT*HnUvm` zQx)Kl%@3M2rQq-XsHg|+GT0~XMLfGuP8k9HNh}m6Y6YLRm(^+cT zhWoRM646B|6L$?GVsb|>$@~CjlWqx`yrjegAp1UcJ)ia#SF^q#KOHGq`N~4-qL9q{ zT&#_wQn}c2lGO)aTCJJ$wBU?`pw3?*h=u2wc9gRiFiwPup#+2#*irb=z}KOphAUeP zN{^0ve;hZWI6zVm>HBhFsb>g?{x{GNR7D)TMY;*r*7Zq+YGM=O>7dOIP9Nc zJ#3G6yVt4sRRtWTGBf1mx$eHfe_j@0v(vM(N(W%_sHi8R{B0MPt(HvRaE)A^OcdFWhcB6!C23YgAzw{@Tv{DvH(^D%1r#dT z6flc8W12TD9A&*G6(a#cx+k^LMBVM*Y`)rxr$fmFzp7e(%Qh@&4wjRvs7FUT+x2PO zTBbhG0L#HInX&6j4C-|%q{6i$AOz0RD*=v8W#;+QMipT`l08AC1O#YmyliJ7>N zC7p?4q^cNwbhT^+$*Pf0nP=S|rK&$l=e&Ka9QVFcg2?IQS3mSyUo)UX85Q^bS|3PH zX#x0bMowA(x&OiWAg}*+kL(l`Z$BoCFH4-Q2^{Tfh!0C?{wsQk9eOmO%Eb6kS*vwL z{p!qaCPRaj@BN-X3mZ8`z8l4o?W9Wm9?{{k+aSm}WPNpoFiL?whW@68l8t!|W0Tw` z0{)Lmuun@3fs&0Qd1ICB9bj(&EgIYfb>v3pOU+mtc+?!!lLA%JJU`mSf^i#awuLak@V++{ zS)zVmcAV~(lj$Ma+g(SebyO}dy15`ACFFzQ4a*n+oX;hI65~S{&T!}2IbFo4!`{CN z1Y3)}7s#s~rWSeiL8#_5b|+*(4tU`BSY^neQ1rR%1)riOWA`C5?+*!y`@YvlKCvPJOl&tkk*<%Wy+s$0 z9t0wyFSvr_lqU3Gpy=U@{;}Hi0n66F0mpu8aU<}Ee`q%HSmO9BvI%t%F^Cjt%xb$66n2lZS=QLq-WRd$`MeKxh(^4Wc z4r0gRp6fn)wtn67sOk2*s`A$KZ(JfE4d2x-AUf z5#V*#=dxL?WC#53Py&Cw?V)RTO?GUAx>AUso(H03+T4V$U^LX;1lkWkuH;=1k{@Xn zYGiiuGB94c(7v4v_jhMeTA79{$?1-;!@iBK-YDVz(q#Qk|2rNfM!uMreqI-V%Oq0k zYN;!eD<$`-^S`*JD#;b-O|k8<>FTkLP>r-gv9JHp3jOVy`4X`jns}$zA(#?mT4zqI zyB56+E|ad!^rA&%ddM037zoNh3|0kFp_L!`xQql?b_CH$16d5chl6~=C=eF!#j09E zj)hifM1uUx`MfiA{M|#G^O(8WkN=P<^9xDa0A}`GK$9Sd*Z>vfSLPEdoq&XHNTKP%~Dr*+zEA&ok&}b+D?0 zVH)_w7uM?F&HFUS*Wi}UEYH$<73vXanRpBNw`9SW9?_Z-1qeqJfSd~141PE6_kzFk zVS-yR-}^LJYUK}%1yS+D_$)4`U^+WoPs(r0jc;Zd-+i@A@0;iwoQNL`=D*(c_+3nc_dQ(+FfVMXL?Y+t!}UZx9S zBFv%{A5{2`TMG5}%7RMfSsCD6)M{SppUN2Q(}M8Uc+B)qeZ!FZwnnB;23H`Wiv5c&4LRCS}2dNYb*qSA_ zB)xK~=71%z1&^u@D>XFZ$dE(EIl@T(_+gj>G_SV9c1!XQ|DY85Psbf;sBShT@wU8zB)&US#egRh)j5(Z?`Io~!c<5eO&g+|^w6W>FsMd0 z>?K~1n;r4L$?F{NZ(}Z#!8-#Kbp;VS@h%z8C__qM0AVuh6W83jJN7C9bd`}5k!}5a zk<~U8&f+8lW-|2J%M|R>0YogJO8~l;JPQOhiU5^#!^RYB&LC{gw*&Ru$~aM$;9Rpr zdw)w%KZb~=F_B5ay+U3mVp%m0=1yj7rA6X`B3PiAqQ7`an4>9kfoB&4&y|$&j9=92 zo01+74gZRSYfUn0v2=wC|J(8u?{MCvzPy>}p^SUENkEwm6|>wdcZqlt&pp^K$UG1?qVL z0#5%)Vx+T7+M?72*LCgY_@pJ7g|%-T|2P)fK44B$rD{Eh?}sT-W1vh+*x5>a7y*RT z>d(*{vI0J-WA^UEPcG|ezPMqQbHiRKrB9}}>SvSzVr55QQ2v!KOoLEA&67XHJ48Cr zimrik>KDd(#sd*;gVd(zay|f!z5|snd%EuNN+w7mz@7})2o4syR@a2B8`V>bL%8$P z`S;aBsSIukee_(QUp5C>*!SjW+e(HheFB5&yX7b+l2hf20=ULx^tn0%UnIss|+JS+~`KcV0Ycw8)o-cc=1FlhG!R@6w`gs zWfWQAn9JX5Wt=JowzFc=+#8;^_)ZcOo=_Ef!B9}NOA(B#HJ~y_Zh`7Ig2Z1Qj0Wbs zC_?}KD;Dbm73jaBH0DM_3vpx$^DGmruPPH(<5;*rk8S+RwQa(eC_^=wS{*B(sxofP zUqivzms1n{Smrw@;%lC_Q~NcYP*&PS!jySjf3aWTv!!Bvxs9J+A>M7-xRO)XS!GEE6Z{AE(70<|$*jIrPw zK5b1lOz1G=gb$1Nj?LmmCxQL5(4x4tzh#Mj8+9#U-i6Q)ag1=)Pv3V0XMcs(KAU4EwM;tN?;yZR~lZ&CUwckPh)m(A43bpq`V?a z_h55p?HtOX52zx^q*r%=Ot`u?QNS7)*9eSl6&7>|Mk8{EjQDBM@Du3GW{tYbqu7Zl zlY}=wO~YtG-hr<#1~T6UM=r+m)Atc+j8u%ta8i6;vufo!WA7SX9ZI-T)TIzKLQw4nlnb$M$2n1I! z2|zq*#Uj)4dQPDO1S)WXQ360SZeM(&&haYZ&IiTZu^ryZhuqM~YJctD&I#98-VBH~ zARo)gv#p{Lt#yelj{qqr;)`N{dGsZcXkE<_APNx_6n^nhAvS6NGpT zW{ELChxDz}!Ot444Uv2Kv1jdvxD_^Qf4Dj*@By_p=@4Y`s&L1@izIZ& zw}fk=g1rlAaMzjM@6llEM@)aXYs~2rs}{_z(sY{7x|bO-4T}Zs%0~nIGn&?2(c9m zQQ#Ecx$&UfIjZTDUc-ZXw=UOMi>8`P{C~JQ$JorGu3@)RPC2!0+nU<8ZQH$TW6Ha> zZQGpMc00A*zJ0#rOWx;APWG?!<0NY*d#`oYx-Ka)`^&*h+A#z`aR?vCT}(AlLe<8wU5n67~~VOq_)V-y0FHoAk9S;P_~ru9L;(TEJMSnoM8o&=`I6}=A@()di`XH={5rb zVt64Sf4a?2xu{D)+#FFgyOb;e6Zun`wz8CZw*S1&TH%MLy8mOGV^hAE36Wm3Nmz$n5gDnjCj zLfD{zwhF2AyBgJ+9NSP$p5c+}#r?#uB2^v0mbsJq6R~eVM((GAnjLxc(arjTHo78U zC_R$Umf-83jD1K((EmeQ(r%C+wJl6iO%4|3V0r{FICLhZZU{nOz@5iB_KA#|+UA={ zj%z(WppaLTET|GdU*3nzra&qt7}1+48XcCm2fmCw%Lw&mh-^--9gJ4g13Gzbk}bSF zwEo;>R`I(F^_okWHG#IX0SCoKrb<1@wrpNOhPrGJ3Lrj`w>Li0=R|s#1B79H1$NMF z;P(OgAsgy$ke>{}br%AN%!CDI!#z0iT#j;Gj`}s25dU4jpw_L#|Ncq7_?3`}2k!SM zFxRJM?Dk}D*{R0~>fDWtm3W4yb!Mvt@6rVLlVFsJR-EL++Mgd1Up1oUl;7Ft8+p;B zFg9^AR=!C^_SI=mhL}PYTs3!WR({{MslpAw;I&NVSDc^wlnYi&TUSUUDV;PgV0O=C zb|>y&C+t8jom|dm)(;!^fu+9VP)utPu4o109?Y5{bL)RG0`6b^(FxpJ<{wAKSe@Z`Jl+_mG~ijutjmNhtk_F5UJvWp%+%Y`obFb!_aOAD&CQsZ_Vx z_a-%Fp~kVKT4yZzs@(3oW~btko_XzqJe4jby1}+N70q{2Z*EX!6cxRGlRY>X&N8D; z6QtcwRZ9rhu*22;qjCz=J`=9*B`M48xtP#X0-cx?N7|9e#?FM z@8PM8vUk_x#}>ys$^}dpapDL9WSlWSctc{| z%{l_eWIul1R|O@_N*E`}xHM3?H8j}2={4B3lG8>8cbK6ebKov0nq}6dK^X_8X&LQWu6RyVx zo`Dy{w`SPwq*dnEMQ-zL)hR`hs8#UQ>&w2ukjn(xq|ms?bl=D$qd|U*9pdl4 zI)oiFs2AT_!3zfO8zZo7|Dzdr4*{Iky?JGYLcUF$Bi>Q#^Pj^juldT)8;=s9nSLkO zRXhdaoCQy-JhA{5+}I=DKo8&a0}^Mmis8}=g*+|eV?@N*L1g-|k^RHP(dLv@@7PZ_ zk4r7=PP*4{;qaftXN;*v7TglnHG%4H5GIy2!rhOMs8;sc!6ij*3*4xR%>Qhd$-M#_ zEo5A5CUkjxrUdl_6l;e2lQ>2NtZ(RY>TGSL=d%k0O4SDO4oYOM;jRlU?}=l?3AMwi zPJL}J_(*SkNpHbM=lMm11OkmNj4>;He~>f^42-Sm8`M3jYm|S$Yc=-pMErv;O&Ijr zF}c25?NkJi*VwYJde#PWNY>vOGUWu(fzn|r9~ngvuk-S6%c(#WP+AteobQJC^a*yC zmSNW@MtrRaZEZN=L2zsfx_M`fXq$&?)ofQdO+|=m%o^|mlt(qgzA2k(3ooI^8|`55 z)uUnM?NFTyzk^yAqQ*{~w;C@~f{rP_XCNJQpxXfZ0L)=amZoV?B`!-klY&@dqP?5n z5#nKj_+X)4GMHyK{U&jUW*+qh)gyuPysNcyiC`5sx*a7s%IH%e#D3WAR0MxnRL$~L z8nZ5*V;f$O$H-CC?urs*$!h=P&cf{ZX<3E-{G{~^%|7}l$F|z2?y}wJE*P7 zP6+|}iaA<_v^`KTQH{Ae1~OG-et{oRjkbJny+7hV$jp4Om;6Ofi%jInJothL*IB^F zd4==(S>Vcf2Ml@jC_Kt_VX;3hOxd{0lZdZSdD>G1;q|GUqhS^@OzRyC-)WmS_3{8< zSF<~ePszc!2YFg?8_13l<%^2%eu!h+H7Ed8%Twt#KOK`oh%@z<^t{JG3n&7JH38j3 zZ@EC)X>iI1nc#qINrj6vIEo$D{E{uC4MNPFaO+6nY1HmDgd=5-D7Yg{##ptic(5YI z@GvqcNTHC8G{$y11pe^V$oxmR4o(`kQdwy^HHFh()V}2OPPS_mPhdTqTf1ye(r_p3F?e8)C;n5X*$Pn5sxuU zNzmT^V7wQ?aIKz9(;sF4I>`D#cxlk@>e&qN$!22Po6uh7gdJl3dur>z$qjBo!jJR%X6@ddTk$0@zNyecQ?n!h-=?txpM(vR_wL6 z)+EdgXuW3W>iM+X6wQi_5rT5uoq>B_h zy*jZjW~4EMsTJ2)#Qlx8-{c4Q{t<{vIy&OMS{iMU{3LcVuLn0j`NHGmdOU&YX$JHA z{o;?y+&6fHs5&ohfQJn@FTN?c%mAYG;d6a}C{J;qk=~K@rFs_> z!27IbFxJuk`+90#8}OP|DJGB=Gp}A>_NsZV;)|wT6t;rhsbA4jE5|pv=M`(^!1`vs%HQVPAC=!<_2){C7ENj*CW37IrU|1pO+PdPyxNIqmX!@ z&pwmGT}4i%QAH2n{mfOuN72Gd^MPOq&d4fO@f8vQk@+TsKp_Z0~prx&$j^bt}zu|G$>i5jJM zTBm$3QX^l2PI3;haV3|0C6~9zbL&xtv8KJ(1D6pWN(KNmNs1G#C^fzXHiJX|yV}_t z=9kzbXnv~LOkDg5i1=#MFRcK|so=->C_XJKNuVD9CI5KkcJg~d(zG(pub-@;oc`3E z^&1;{0%)zUQY7l>xt<-FdOUex$AL`7MGd+=yZj-|PJaG_Z~9F^Qs8-AZ9j9Y$dgNZ zUfKZr+Gkl2?qhpr{tN8owPa^mK)mC*f2c$7F;l}OqE87r`Mv_v4XbrVFKbhnsU+a9 zugoGqZ84z>D##E1!G;5Tv!rwoI#TNveu$1~d~4aPL?Fg^c*)Bu5NhzbuvA-%eT{a`dN=kf^@5F4U)iZb{N zPGG|n&fx;`!jaW3&H~xFP<(|>z<9@EYP|^EN~1QD>}Z_W1ScuVbB;r0jzNm@^49N} z9MnMm{MkwKCKdi7Aj3+ZaX|pbG2l{!=G>f zEe#LhlH5X+>mmj9dv;+s#+hUt5|sTa!byr~l2eP}%KkfsMTTVN7pkNihY3nz&^F6c z)ZOW+$Ux0uT7}h=QP;|K#?Y{`AIhqqV-;{mSM1vDw;X)ez@EHLQ{!+ARz>M*>%vu0 zJipK0Q}hCu7`5J6;!T*BR4HaP61~hbE?lXjGGQYztJg`h-@J{ZUYcPaj|mNsD{RpE`yykgXJVorO27t`iZlRDpE}!LcJN&c+%2ul0}f+}5`a zlqTW5Y}27N(3`3fGA_u+?Vnlzs|ufHBDZ4oZ;AwC4C8Y&dx_OeK-?6Px5Ylyy#oanR5@5XyHpPw|fQYW^+l+khlvmLp`%YO1% zdW7Bj702V3`RG&MXS<@Be@bV))ngX15Z^&j83h)V5FFv2CzD z`KFIwtA3IPqFL);6Pu^4hc!rbe4wrBWUcgOUe;|jAf$Sz<6Ao#jWJGx|x!vT3H zf5R$M}J=6PRP0cF^KkllBC?sA0k zG1!12z;W--iOISK5bV=GPp%9FJ96A%c4$^RBA%IVOi0B*tq|@DvTr=I;~4Vx4`avG zM-1z+&##OeVPZnY1XV72WDdnptf=i%xwYNUcEHpuV^23|M`Mh3uY7aZ&^yy&|OQr5%JJy2C@)bCOQYR~I9_E^~15rWR^v~wr% zy+L0Q*dDphD~9=DT=!6JFh)ZJq+!2kn)wr}dIah3Mwhnh7Ui2i1FBX}D8C{eb0)O% zMBZVKPsCF)Z-1`T`~GMyl>bxph4dwsHMbhW{B})kkJTaW61!L}2;ZST2V{S#2 zxh=ANOK|T8;HpIZ+oD}Epn_9@G(!Zfhu?vIS3dny;52zOipuIMnw6S&R)ET4ZyuG^ zstAVYK4RRPFZk<|a;u?$)AucW2;(lvyOxwve2S84n&m36-w6ohrlmtc(VV8gMvo-% zp26DBBD#vb1m)f)#t5UT2UaDRE@<@B;ou`R@q;%4V277*7kFLG;!nF?5KV{Obu=7qf{*8cQxQa=sqA3>KEH^iXW_5S7bxBkg{{o z*Qwt;r(5CnC&7!L-qXL7FRAjoJ8d|McMpLuVk7cR#4+~%Jv z<~k6pgdhD|iX{q$XAd{!aPR|ch7p7_+%Ok&Nv~M0ukWF}pV=p#k?Z4Ee3XBumGv3S zgE`BBsil*XPSUQJXw@!GhDJ@|wr&9?L+sN%9l|t0o>D`uYc;{+(!dBU(Rs=|u{Nm5 z3j4@Yqmj%1oW6om@NpZIoM~SFVONo&#ObbrPef*J+D&C1OA78XDmg-gR4u-ck|F1e z7>nrW1*(g>Ddgct7eRqqVvdtmWE~80lIm%={f3n*j0T&($~UqSF*SbK;dC{w6rOQLKg!`gjhi#aGSEFPfk(>99Ff09P8G6uuZY9$q))kjK!an> z-ysy_@CW{jidXTaX@Z6Uodh{CBhxrCz%)Pz@aIAe%@{DKt}txp`hh(aUptBm zKQYNPV;CEh%7x#YO3@o)hNlBC&IWHuLs5WC-1TeN(hSB4?Bo&r_YfgR6MA_k;#j>= z<2fUVO5lP#1a*;{JK*c~Xw#?brjUwo!JZ_hQMD+=qX|A?a?QAljaj<*bFHuyDpAtu zjsJ8-Rp>qU;_o4k%U(CW+&e;&)7(pS0lhKk;Xt&icf(H^XF2;Q%6k-meDiK>3nIX+ zRRC^RxwYX+y&XraOt**S>_8oY>~R^~&sT~|oZw=)1?;f`$P-wTvMDFt9c22iB8)Uc z!H-9y`LJH{7WcHu()vt(y;#&~J&6ht`yH3pQ|d*q;jT6S9QO4$(gG&cxH@=#O4XqlE3kI;hxL@2IfET#k|o7h%nUIm zO-tM85;v~)*$nw8L^LNU{w3wAyv@Iykgt@Y+`mb{U^CdC&0ACUE4i)Vp z{vf*?rALL(Jstmf{gpTRv?aoq#E_4Y)!F>5-J#@1$>UwLgOkMwP213S>bw!d2C%hC zJA%_kX@<{KV15-qAM#_8Cb!3vOeIylO#=UNhk1j%P2ga)922vsH<(bH z-lU$<1qL&|0NPb4tcAke!X-aZ@*&+)!Etpi*P}@5W$oPMGpkiWv{unhr-_EvQQHj} zIcaSe?FlBsXfJ5nx#+59mlE_q8$pv;#XHvbb9Au{`3nGfZE?4741K>nG5(wf!>#g0 z!5wvbDGJpTQiavjq^ zxPV+ZBQBhcztXe5o)5Y6N7kmk&MoA}p)=wPFZmMcC#}=e9Jp3gS@8#F- z^}OG%Y|7iB1>F3|6~k*@)+$lh$E$L!;5FCN4+Tudk6dY=4J8?1twjm=VhUFOLZ}0# z6`nBze(2qmSda?@DczZ3nsf(lcr2RIvmxlQu|st-N*ImKI>3;9lRRl%c?U%wkDEvq zr8e(Qd;aQ#Yg( zpa8Q$&sQ8uaK&!zD2ME0jv&f+o=Q90kGk}j7H6PdMamzxTuSFz#8duD=e0Z`D!~YxS_a7oklI%*2HW&yJBwU6(w^m&Hl=?MWq@QG5!@_nMF}$6AHQF^Jc~=r{^@E!nO7 zH@`V)_B8#c{<9<;SlZuSI01hGh{}VC#5_D?z)VBS9Dm1K)5p{8@l_*;mQSsJ4$U@te zIqlzj^&LWC>(m+(N7SqqrGo3{@GH-BG((G;c~B139!a>-kB4Xc2CMK#Im^8*tdqCQ zQo!fQBKolo-K|Wj{I(^i!r-Uws}hH#;I$| zv|f#Jn06ET}9V6$~TwNI=lOaokb316*JDJ3pmrII-ntp7Afe4o?{>xt3K zv^iWq%fno&^q>>tE44ERiy|{nyD4POlm11epaDV)S>YxwP)1%KtPPXg{)VTvBSlOD z@sPH7(j3lW@L6*pysPU*-HKT9t&cU_q@om4`6VX#_r4-XT&27u)(l8idahL7Y8CG&z2B zMgd^|zS8!J`W#ehgVGyrX}V*MH&a*+(@?w04%So;?L2B!%OL6aCyrvXk{)uGU0d-tm9qS1Q z!#VASHLoggZr8$bX&48F=gI(-=TlvL8~{C%Dwe(nM|(YBU+|r(JDM_{yy`nIKT2SI zI(pOg-faR{f5)-%$6f9E#u4lY$Fa)9u}W#_s=A2x&X8IolGXb&`b1P1ek%a`v1sx3 z_G`Vu<%QkCDKohTWz9F;CT*$^UIFIK zbF-#>@n~ArP2$4GE>!!s9qx{iZd%=!;vm$;`t*1FkUGVRfE%aR*k~RqYB9e|R4M%i zCRmQR^qHc)^G@0gTuBE4fg$xD0ZsN542oZ9XR+~k73SGX48AGjJ^xLNk@~&P;rGqa z>V^ja`3>?PbvV${4*xe`Q(Z+B^-C8M6N`ZWCeSRzk{WLOx#}l1H1Wol}d04hjU2@gX4z>2GFk(QEkwK9b>kGbZ?@GQR5 z`jDd4;={0f1705`Y0JD|vq2%>eG1V*J12QuZTVp4{HfjJ^fBd{jN#f82a)+LatO2+ z_V;Tljn_szfk?E@?%a`>cOgMZUgtc6^*cUqDLl_c=CUFYR&QpLH7%pxJo9GUp;f<6 z)pEsfCy+xoO+|(Ptaz?erT4KW232VpFv2p&c&c)m#AIV#Rol!o*H-h+m7PfY8yE43Jq}PHOi@xKhM}@)mmhl!O2F?K7&^VH418##@b1-#`01J(=`=Z$2KtPl=cll zv}F3_qWtkggtAh%HheTTjlViMfy6&MA_sJEDwuM636>MO7R=|A%XeR2Rt4)kAU2J~ z9)9u>!|wOGh{!PQk2rvcw{`o3s?6x9e*s{+lw?K#Y!s4wS+*60ku8p-zq<)ax=BaZ zH^lC_7uA=C(!4MzFgKVW79IJ}F(lu5Eyd+6BPK-*$LvyY#e>NT7Rpm*h#irpypYhT z;uV;7)1zj8kvV%NiiP|YRrF6BqAU0VfU%OO*4IE{E~d!-#m;#Ou|q6z8?JEHeyH#5 z&4Y0Xu++!|`&Wd$8LqLXa(QsQ;m9cuAra4`nMTV^UA%eL0Q2ui0KAH~n^ed*c9Wwn zhcJrVx&BcPp*0^Y0<$8>4?zrOgnF;z_N{ zYXWWjJ`2?c3@nM+h^o&y`lD%j;T(KQ5`V=rU{LnB1g5++H~Tfb9CL^%_LW7-Is=Q$ zePW=U$SX^Ee<2#%l{gQLorHIbF6(K_@HDqdl-#?K%3hzjbOdh7jdl+#s91Q*{m)&u zYGG$M^O-o7Y3fnbB&#f_r1T+Gt0h_0^$Btu{ewl3cm;3!WWizrx`XogGOOlcHe}EO z00Do)EB6h~@dul)^fO6YJEW&(jIZ#=GtypqyU2=g+%2 zocp3#g3O^cF1WvMjlf#N2~m>{RKdtjK!DNO@22kfPOCydjnGPjti|y6+(R{(wj=cV zOxy*lyxaFdtE=DO7(L26dN9z|}5IjFhvgST-|8`Nc z`?MKSbB+HKV~@OQh_aH(Ua_#l)CDrV@$f(fe$C0C@@bMr$EjM;G#Gi}Hjau6aOD${ z6J(R==Y5pRMBH%F6EwV2YTco3+-ZSw6hqN&k07*+IUp2j|BY|w6g8<2$*U|X8b~xl z%j!4oSCwGoVHp#gO1(FVY%S(m>C=+?rSBAb;IDrW)0CwzpGe4|VLQl^tiLTnn)9%Q` zGX8A~Dmx`%?iWy07;I&}Wt}EDk{7OLdfxjoP4<3P$cr0e&UrV@>*Q<~aJst7)|{@4 zynT4unp7bC;DUPnG&4VYXs9x@IO1jIc(`6d-31LH-6iC{s5hplo$PAM4f`R&9_5X16*g&ke$Npn^0MfbQO99@Tan#X1t4Yt2 zV+bNIBrG#I*=0?JL~Q5Dn>HawQese4N*1cK1}}~2bSE+-I*gj6&Xu(EK*vc!ge>9m z5OWI^auHbFEK->Vj4`>BmKg`&dU~(kLE#z`9WEEW$cAnUQE0ud7Tb>fwmml+mhE+Y z_hmuccZh{^%m!8MumN73j3vb}^Ns_PgW_{X;cB(f(Pc+_Q06cxWyQ4O39QVB4s27h z1en76KOd5?r^~&_{Y;L)VC?TZT zsvPM?Mm!<|$S^yfEZWWRzPZZe6P3m(Wv6M~)jvbosmS6&n*g)~Y?X!ur6plU%DncL zp_f7ZJF#xEl+gM7(1_Tm&q&a{A>^UOY--Q75$C0Y_j#f=TfanT*yqvL5xkpf!0~?O zV`-y$?4rzQW3fYb*eXD*gSWx1WAQF!su{F$yZ}f8gqjrR??k0vD~~vZEo@yd`%SeG zf4XYzSp8*xQ3Dv>%2}2+h!|G41rhCBGcBl#8#LjYU?z%5p)sAAIq-2Ft*F*5l^7uI zfp!wKAlcOQN*jgh&Nj8{vi%duqu!#4?n&$uSlr^Xl{-Uxsf)W6v-p|4=#)+tX`^11 zQ1;Vqv^zFiyKggvP;EwRv2kmp1^B}YCf9L zlu(TW?E90=JV#B%Lmc^h?=2+Y=X?$G%0xKsTH9W2qY_HEJTHg4CIV8b7GpEJ$M$2k za?N^i7q%)gjJozw+@75PFZsVFKqK-aEwsqOfa>7}sg*qJu?J>4~$ykd&TY=7Xh0)onXf4R4{b-?|5`wbqRA*_<5h9V3 zy8HrjamM91JC#7$q^zn%uAo2{ao4c!42k&H_uXPKSl7YT9FF%ia0Oi#0fM?dU}!36WK9Z_u{~Hngf4@FWRy zVW|w5ViCz#25XL6lsY&naU>6y-(`WT!%?eYx!ZMyTc68}Ohe2Nvzr+`l+~lWcEQRZ zLaG|`eCEqc90&XG^dSl_xfZqmn*VT1yXuMvIvM~{^{Q4WkSend4D40i!gXU0s$VxL z_2}@e3W@eDOIuGf*|3|LFB^>B5ooT{WHtfFr!MIvtIaF9sH~}oRFNfLj?OZo8tR)A zLU`@q{@yH%L6y=!BW1A{XVPxe(3`-s>6W9nhfl6xS(c^!@=Bgc_TJLvSRK;w$<8D3 zEPxbA&lk$S~*i6s2c|yH^dg&zo(Apo<_0 zszaQihq=O5xgv$_M6SeEPd8xu3jV>ag7xZjYsY|B{jB283Uvt(hK?X+EJjnNWU$Xmw!Rf7s3r)FPX z&EVVPGqUIZtr9qiQ$QFtP7YpVOwxF)5K^EwqF7T&fVAL;+gKO+Q`6wZxT9l}MuJw? zTw08{3Fv}LD&QM>(4O-vw2+0MGUBu>;AMe3l?3642&aJ{%yv>Q4Lf{LfB0kSnUT-h zP(T~0Lkwq~?9!YJcX^wNJA)E{fge9$imN}!!<;cc;o*YB=fqEPj8}2DI+jq~9R8|d znXVhEm!6i0QC%e=D}7nc5T)Pf>djkcnhE2r#J8myA#nclO_@)y?U&30rES!8SQmx@ z#^e1$*qJ+n@$SZpRBfGuFUQXuZ+usqu~058Y=O0POv}z_d7WW%?+jvqY{0~`l079d zjCY3Pw5W!ZEo*oAXFC>mmH6@$2uadt_t-2JNpgu)jjL_XwWxK0{ir?ccLIKf$(& z7Au}n(B^Z}U;)WZt_bjh&gfAtDZGPjp*C;|4}1Y5fC!r3i{7Dy$Cl`%RkYorEFo(6 zLccJL>78HYcSB>ItFw_`}TIVv67kAqf%(QqczgIk{x+Y9=ua-DsnG#?xtcG~FAH zft6K2mUX!bW6tKm)1oE)h2GT_=j?Z!`Neg2d=;k;GJKtCIO!%!UwD?Pmu!V(Nehu7f{PigeOq`@mEun@~wej{qFTS zH9YwfsO_oLJRD%+JN9eJ*>a>HvMvaBsuPBlun4HrbjixiSLLwosizZoqIgSLSWntx6&H zgjKrbz}h`f*~*oVFTeVh)Bjm;lJ4&n(HxMp%G_V(;rY|~%weJeq9#>i@J zBVLK--W)d3=K$LhM^?P86){`HMeqwAAjEl} zMlb9kVh!#(bvJpu^wwN3l3E3txGNXZCR=pUVz?P{HFFx%=^ZzmgX!xS?%m^x`QhS! zli?W_vUwF39x7)LL9>;a zyP)!X(-74f5f&Q8b&gJ*V{gQr((n;2Vk$aC;m{bm2rnzrS#v=8Efyi$F?o?I<^wDFQK*?n-mmIG?Z6w27R94BHZu`2E*xB&K32P`8Y=0hY(j zceOHA*o1vvb`szOYbH0LB?;QDia#hO%kOO#9g-KtUbngad%IjNr>&W@?4Kt;Px?gP zkKOaN6sO9Hi|`vb%ld5jVpiF)iM3RCSG?>AN>OdLdod}gBpO&dUTaD<9gg!>Rcdtj z`C*MKuBdl|ootljo49>U9Q&omXC~8vAl%yWaFWVXOPL&(t@_7)cY-ah>*_V9tR67N{NSc6To^k5QY}1hw9pkylE}HYdewxO(!$6D)1WKZV8C;x#w-PklG!fn% zV7Vb}!hiI9MNi?vyA{1m&Cev8ffWaFp;JlJ`W8Fw+AVx*i-vHgV#+*qr^>K2TVCdf z*lOyPtV}dU@M^BDg;}|xYE_E+tA0FEC~daZLVCK0Y3jKDmjs+eUT@@o(}|g5254*29`ffkXr$o zqyXC|L&m+7sE%P8QcDDBvU)sx73hg!CffKW%cU1@gwI+@f4MTVMW5JbNAc3Y^n!nM zW|k%C(XO_3pl!`4*hEc~DH80okVOJTtp{tNi2hdEFS|QNsfpSbUI|ZYl2HIz-%6#a zqy%zZg8$AtTO3es##`N%D1Cb$8t0w=`4&3q4OOL%Ll^(+f>Bv6y-++JvnHp1Tq zHviEPjxfwgBfV06OvWABS`-2`p)w+7AiN+p#aM39l6Jt7C^eOjpC-=1`9_u631=U* zs=0bjNjE2C7#b?$ZAb=GCV;kaAdfXN|>Vq^vHF zkH+#K(++!VR;Q^YkHFSdo@an}o#CwIp2v;nT08hP0JVE_8DF>~(g=-}t_g)toyQGiRZBF^4=Rf#qfx zEoqN1DJ`=Xd%;92j{2Nl48jcioSH-XzSSddr~cvZf&pGT)C-?5rHCp>^B|uZjR-_@ z_-egF?G-;#lpw63o8EVD~Uj>}>wc%y>_s3jTRpFY$rSOZ#& z^^$H(9~fXHzJf=tt`h^F7ZsKuqS;I)a_LlDG{F^$P>8v;AqXNKOw=u7#p%>38Iv_~ z^*U3GS;g zhzE3_#|m&mjl-o1no3$2^Mf{wt2FwSl>}k+C+U$^ID}QUT=G+vxKBPpTWUH@EWd)u zaY&l44EUP9d0gN54fPbwWCRj%PwISEpxjEHvd)}UH%KdmZzgYRTzlp#L`nFLidNt) z>v?t=abpHV**w5*Z2PZqXo5Aog0zH$?NQ(DtH5!=;yLx9S~?n|<+Qd6Vw^{2}%Ub0y{)@9PLa2Mj6>G za=S#F=SY(yHt<)Fe(s`fag0j{LB`G<)6)tj@-Z&XJ~-gtb2t*T(+}mqUf=v*JSdx- zA9rk7pXii5vKO^iy_LWSxu<)%gICGw^^%jQy+R&QvkYY0fE6;YBUu=ap&gT5dH!1R zS7zUkAhua`QKU>Tja=jv4r>38mvjR_Z!7+EjqyjuJsoHV0gDZw);l|!Vfsej;98x) zV#bw2LI6;R0d4`d)GfRngy1J4fL@&wM0Tc<0s3|q-_G}N@sM?FNvCY=?K{oeHLj({ zr?s`+rG`<|+e5V=fiZKj^wPe$ef@@?KJo_r>D|im)rWP_Zv#DMx*1z!(J*1l;;y?_ z&{2oo`xpKmTeq-1h2N#pv(GWCl?q#9QI{I=$jm_Bmz8s+Hai#^@2s#@Gl=q?W|>LvhCWbNwN!e;kxdQSt`S4G)$=ncCzAMgm8+zs-c!7=XV?bd<_r8 zcTvSJds(T!M<~c_^sz&$p0~9(3lmiRylCr}DWI4YZ$;eN>hZFV^2tyvBc|Q3@V`Qa zLU7vp6bibHmc5gll0~MHa2mL5?#;ph#79`@ugs^g#)z(!)0AFMzIH|AckBZVuU{^$ zvxXkGP{9-2>iY>5j%i0`F4?Y|sOjzEhU6(y=PwyN2ZhF^!|fCE2-AhyaS6Ktz^ACs znksyCfoG{C+54d+mo!P8`fYXfDpl~c*I-y)FE~Qo53M{~`Mkr)j<8X|jsOH++UG~; zPFbrGMC>OhjhD37SerO{RIKPS&=(co_%l6aZm9o`K80d1SnGH6t-rHp{r{6W_o5M? z|7Sa(0A1tpX#q;Q)~HOVd}DsA7mZD-%bRwvRnN7$eg4nIsN;by2AW7k#Qa4Kr{8$q z0GXwl?SrUXX#Qugcf~zf?rKVOkw1n<*_qx>my)S9+x!4f2dECX=|(gqE^864MCCUr z4PexM8P8HtOIxBdQ$4vhXGyfa6GvQU)|ristlvSV58zJaZFR7{jrLyK_BPDiyy%vW zF;tu3K$;3&4})0y6&kB0YFkIEl*#3b@zRaau=R~WQQLy~T~#kM_GPTdtX%KQqBbed zQy=F75eqwrm5I35SaxXMZsNiJX%F;{`++uo;5R%ok({IR zr<0vC7jWKnYb5GxQW9xsTp5#2dsH&c7heLwq-~rrwkN`kw}h5fI84bwZK6rdZTMEF z+bY916Vi{L)g{-1Rv@J=SSof!jcn8&jE_W+X847|9?C;d_mZ80%lBFxhJKab=WTIk zYlG6Fj%Bk8^J`YM-V`YWH1nFxh1y$??fx5cr?leJ!fFSZa3wZypre4rtTUq3^zvtc zw>0cS-zbD==MD8t%;hArA|*bZNrKZ+pd8F<7nzS|w%`Wuze64|e%Et_3<5$<3%p7E z{*6DR3Gbn@nC91$HufGy+AEUqO9F%_4TPz5mjXIiKoTw&Tri(9F)hQygc-%0{C8>O zCGmRId9&8{9$2eya;va|klvH3u(PeQzF1mwTi^U#v2}N?a_bPN-fSX%%XYrnz!Lh+ z-Z*{B+xE2KJ^k|c>CW%!>3_I7$L2u7t!qzg+sP!82`9E~+qUg=Y}>XbHYT=>iEU@% zH>XZLAI@9V)!jc})$ZMUU-w$sJA+TTp16NN0Sk0(bU7B$C}*nGw3EmI#ST2Blg%NQ zy8Cu_^2}2iu@^kG;)K~==QVND3pc_r;x~V4xI-=or6FYI&zF&!F#UD+q_o8hnTO#* zf^uU!D^3EOHQeb(8}Z^-((r$q?)7d)a&ki>p4*sNi_!ubtjW=2s>P6rtJF}2@m299 zfEQ;{NOa(;djW&x*$nn9DBhjp@=&z!gy!OR@hGF!xtJUGd=s3OyCW7X@eX3_aMQgG z_;+&BR!{AM=`ouPA3<)9Ti2<-Cm_9pM4cx~&RHRLjNchZeLVEY3VqltRLS}kSaT#z zRfn14FN07DRdfOpbV)0p%qN?F7!48n1C=$^-8^B8()Ydoci>ntMsi40$9;{y^YIav zMIbH@S^;H!%6wD`1OsH!s<)+RqzX2Lk7A+m=aY{LP0hrX3__D>I0N8GWwXzqZhaa2 z4q1#)F23&a)6z5B;=&1C(bXJE%SH2)mUDkhr1nPLT{V#J7CxL9_`(#G4k5n4!}dI4 z$Tb90;sAAhTYD1HgvJu=l-vy$8yg$R@W|Qo(xPDH3bksDD90vK7!o7S?J?tkU(kl- z7H>bI#B|pueNGl^F_4i`;6Nc1u+VdZKtssav3_D^42N0@C~PQqeJ8rl+7X>#q(+w$ zofqX(%Ylug4H)~&xm4*MEk+tH3y@auWG|#o<{@*~n5&uUirTN%YbMr7CEG1!cCYdi z3}H6@tU0f;Qqyn4SECTfJPs>kv5_KUFh^#LSGRULHHL^hU0X{I;q_%|Y1mXKu5OjI z>4>&-O-GevEOfY%5Pn2-q59Ec6q(^en>>-Vsc^c!Qp->`TPz)xr)5A&1yIQ4KpLV{ zDRn$RpECK}=pLIy2rC^&jt4@HUP4vtL|D3_v+ALDbC) zs|VOUp%SH(9B^Q}++;uI1^+Z_&Mi``YGE;~em`7~2wEcUxjQKL?*%_eN>WJ1IcL?Y znAV(l5vOyqq93|oG96MJ0tS?hAnL~7Ix|O$3Ts)jPnW468H((8{^$x=fZ(mnSgCoq zlG-Xd*_xKsQ^G;xYb1`HzmYLkxs_BcRdvPRs`}#3gd9!e|K);q#m~Sd^dtUT}VVQnC6Ug-AjHa za)RH$Bs(E`C!pi2!uyq}D+t=lYJ5A%dTK8N)tX(+>hI-xInm_BRL(=ofnOZVVLvC2dQc~nHLE2Z zep6WJ+eG9@6dO&T@!FinnlTpH_8K0ZxHr}8#b~|m!t}2NQ#!TVU`CJgUmX43wlJAx zY8+W%%8Ry8Dvoq+oEy1hjVcnAGAjaz4UhqU>#-Dm=!c4|Nw?s9hQ9KONkeZLk-IbU zV^}rmdN{)mpqeVe^JA-)>ZDz@)zEt6IN>ot^PYBY&Sk+$h8*uI_ISIf9_++D0mJw} zerW`~_w7htrM&B}VT@W5UN_!=(7!BPA3b{7FE6_2(P&hutVsqZ;wMk;v(;*2f^Z~g^K=7JslF16eYpyI_cIa+y2+P>& zHMjBt5C~){?{!{~7mIO#Mw5=gnN^lvrYwFQ>&+otJhZMgOemUpdri3s1YTD_;lB4! z^+JABxw0?D5bF-(QH}K!iM7+>2^w9BW7ob_MHQucmF~=1c;r?|J|NY)nnbDRyIJ0$ zx3Td8Gp(En(N!wmxjGF$E#b?^rvm}F-Q^P5PXhupX>+B{1K3lOZc8adcvG&1tU__B zWzIXN^&wFID`-nm4=W+6juZ}b>a>R~n(@-)%iazeL59MgjA5$chwG9mgz@=9wi+#%FIJLpU}#Mb z%$?Ud{hXh&CgVz*g(|7ZlTJMGElOfYUN_3rK~2Qwy} zJ_!1qTlp3JKqD z%w%7doWC4CxwK7c+D0@vqeS}6EmRU8O3Ck(65lQID@!&oG>%!HbX6~Xt;3gb0X6sB ze3k9lgKxi~t_^(LBzb=OvYV;CLt62ulNj($mp8;m-Yq?(u!WpVZ z;JI%FOHtUhG26SQ>7Ms#H_n+M`ce)`#w3|t4Nz4r1%Jv`^}<7oSvh_5X=N3@CBG5; ztE4*0u4uR$R5?Cu%6xQQ@4lwe1Dubz8KQaR*F5bhdFouea?3;1g~ijY79}c1o;g8 zG^u)AGn!7WqMC;I;ftDq2((=?!(1@&Q4a7%p)y^j%TU?oSmmC*?6nPNsKZqJrP(`oD)BgD*uxJOCcB^AC*{Z)`rNzpP@^NB;N$s^z1a`j=$-d2)rU32ZV24v`koO^ZKx4-Vu z(tVk&&O{&p9M+`}oh>bW+cfKcFAtDYnnbMY$d|*WzLzrIzd3Rg(x=>kqMv`mId ze_-1u@|V>(vPr|f!1~vR*Y)x{0ouZiEVJ?Jz8O!Bg)7ez=3$UTNt0I&NMfitIZ}O( zSNjzYSk6p9g(5@nmq?Sy;Y>tw!PaJZu3+tpt|qGs_;Rj+hetfd$&Z{`Pp2de#T|~Z zpc$>FPrl16F&%*&_9~FMU#WNP5=#{w+P^aI8^XIa-Az?xxMNIqJ&}Y6-DT-bGg^e1 z?b6HMp!cA>vrxJ-%Q{2L-pJs_$Au5NXucyM$LAUXRJ`Igt|LTOI4$QQ)g%y@!U~zY#S|$_1!K1hi^5PvuIhP0`C_Es%4ZSqIqoSY zLqM%@^oBYuPtq^957X>#Lmspa4g5vg6MW7gDspD{Aq9eFVJy0**g#mI^Ro7eaXNvq#%%frUI1=ilTeXzOq#O8uzrn=Gj2SdHWVO~8bK`$ z^y_G3Od9T|In{*75eJI`r5{h3%8e-P5Dxtf zz1NjFrQF9E;(^s9{4y-gFYv0PRYrHbFn?4I)vlBO@`S{rvV08Yp8SZ5)$8O!G^o%$ zKQhd1TKW0Q8>q-!k3BNjgV-nN+4D|^4jV*;fZzU`vM~!oNImdU2~Cousv;uyBGBonCgM7 z`zvibRSmt*SKa~<$^Fv@L{l~o7V!bqyy5GwhcKFd>H&J);pRpj{SPk8Z5X}3@MMKZix|eNwCo zUm8NynPg6NM86Kz?<01^?9z$4Xw8Lwf1%p4X|vIFs{D+d?R~%_MI;t=LmN3ecslC$h&Q6A}mg3Ke335bR5_@RXCi;eARhZ%5$1zkx=y=o($w2VhwMX4kEd@!4~EZamD z=yXz;IGtCIriQmyFbR9b#lYI0%0q^2u;k>Y5;Cz*GZ_RPFlX}whs>k$W@oRiirxH8G*kNK(M}AlkmP%C!)RuAXEpZ zaPlf;WBtaZy|j(!0805wJ6rA6IIA0-Z?!nzFDMl+3x_Z14jJ8!T9F&mVtlHpl-04waYB4DR+w&<9xc}bnJ zA%~n|yQ$STZzUwcUHqQr(w0#Enpl`tAk{c#Ra!IMAjZQMEY&4;)6hwkEScn;31Zb} z?19s;&-F#p_M#@(euzb2YBgatKa^O~YD$z6zVoByDc+V9@6&p#{?bIZ-Jbe%p2GbI zTP9B$ja8rq_yiK)(BTdi1LSGyS+ob7KCL+Gbj|E+EE_fgbcwlV8Qvv2pK0))tyv6i zMg42PWnSx97=XN0CKvaV&=0HkeK^4zTxCh5O&qKYdVEe@+3oev)Ug_|!0)|-0@0AW zUiPC7b7QYY^eMR6^03D|=ruq;W_!qFK>zK4S+yAm!w`ENe+70^eXmWb40nQS#I*-Cy=axp6xIx1T zQF%Zicp`o=#ZlLgg6j6DrdE%pQqP`}dA8c>IgtJcPw!G-q;7c?IQ&4bJ@r$bX_i64 zl$)|4_fH|YJM4Vufy8O#`D5H{%{)g}R>98(@=R7Gw?SAp+$)9cUw4=HY0 zE+_mB2L2z^DD}OH@B{HbZxCKxYFu9t^Nf)H9h}qGd<{vhs+>5tmMj)otEIG*2V(rC zjRSXir9*wC*Jn245Bh8hKCnK6z{CW4iMC@=r)BD?7LiQDz%O}zPkUVQ938GdP3wU; ze+`%Wf-hPX|2;bIMh$Rjjns89C2)D;hSfR8oSS{ecfZvB&GXO+HVpT-9C3*Lgox9Q zVBP7hu8R#|cMcV}!Wy^TmJF?Dd$kxBP6xsARjzDVG@{3%J{e(9_WfN#I$hiOtu=oa zd(9&Jn1T`gDAe@0q`NK#F_50T6tYj;hsgQEn;*J~6()1zs28)pHHYx0kLcbXzi>ws z9Bt!~rT@fpOU~39>Qg>y8;nr;!k>7(I~5%#K@b8iy5b?po}@X&^xL`{I`v8uXJ7H$ zqj5YRQc)ZS^QW9k*n~OxBsVTKsq%xgAxNLa#V1+|67H&!3+G($=}$II&I@xU?)I3% zxal?wjyPjJmmPF{h5pof6;RT@+v!3O|JLqH%0&(O@IGb}Cz0WGbYG3xOsC5(7Sdcq z$|C}Qk2aj@WZ_xpj~g>Bc|qot(WE~+X;zPs_iYj$BN}NgOe#GBOsqo2RnNdHhmFVb zM9vZ%t?uDwVAba$TIHH8vjQqxA%znHOyi3pOvJlm@ER*oV<|MBqv*=I>v#=ZLe`0n z{&^hCkD=6{4F71wQ<#uJ6K+YF`Ab@bf6*?oXgz8Fl9dzV1;az|5SEjG zi=J9MOO=4`}X6pKt z{l2R4`S0Q6+aL5pY)qT!-M%MnEB0-?O|J2~*QMK#9&049-&c3Em3zTwG3;~HI_nr4 z0RH1>=5LlM%+G*dJL*zVMSp!p{59`^FFOO5t8Ba|-$+2#5$tqz*=9D8)9T+r?H; z{YT%)2mf%wulhNvWsps*J9qLwDapjdaTh3QQR~AOasWm4@gzFQo-nDmBioK3q_d-o zpb@Ra#b@vtMPt`w3@en0;yeu2Ec7|k^t#m|q}Y(nXb2FiqeqM7P@l%EW}l2=1MkS1 z!#W{tOdIk)Pp`VTsamJ6cRsZpZ!0aENDB_Qbv&a<9=a)0Q?yI=87JwTQW}~0A~!?y zv6BgWaKHKjxX)nk*V}4Op35qStrSn|iRv|0pAm zkLW>Do0NM;+RAWXtXP4bT8i&74)tJ^FSqPsA4ewkvtj8)43(~XZ2zZ6SmiA1|#*O*-1H ziCuX}9~hs3WXxn4|G>PTM%NR8es@zh5^xfS@EemUm#L@8bf&wL<=5D66=`Pb3{p^w7jC&x9wiCfF$qv4FN#lN$54D1}} zp&1*S6RvjC6IU^>&N`FE_ZO7u3cFU$MNRV`5D0EBB}Sp@52D!u95G~q`Xis=P(?%3Oe|-NwOz$lThg}igp@BlewBHVeSP|dKwGh2SFtuH7^RijdW!;`bgkq#G z13Bx+8QE?I(BD4?F)NUp^cL+y25Lyhqty-w7!kJ3iV}!?$noWZ2wh(a=@*VSVHQdgPx_Z-F zVt4cd^G0dGIh?Y$nf-w-pF|&y+Q0tk{4n~vS}`^a&`mP`R)VAWd)&MHx_B&Aqk93{ z(yUwttZCnR&I;Q+z4?Y>Ws`p6=UZjoXW>Dki&eJf)Wu4=786(VCDgBz+X@@J%Yv3UBe(~oem+TRxbPfT!)^pqBBor4 z2fp$ZD3X4%*Pwl{S0Na^r|*`UMZcWm6vjsGCjRLy(sPXv*yk1n%V!^J$U@kU&CmuC zgezv0KlEHA7|kRZihDGGvo!!d$esv!v;7>5l;&M?i4w|FP#b#VQ+9>OaesrqV-`j! z_RMgoo#rI9lT-fBnXb(A%bH(SCRLR2wY9-ZwrcLERxyxfjMJFTfZUW$AaYfTV)*=r zvf!h3rC|#FT&tXF&aL7;ml)Ud9it?xY4T8@yeRK*n||R zU*Bxx)Xio>G+^C!o*$V9ucIk3W2q=#Tgw&%wRAy3i%OuPvr#Y{9YnDb`m5@aJ2==F zbNv~ ze7pCumyxIMaMjg|3m0@(%=FWw%WoVB~0DdAr*GV{2B>E@~0q-rt~OG+7sQx6nSrWubANVSr^VUJ0KQ;0K3 zN9$x7a5yYd!7_(9KaKEnpsEE?)m~c)8?D>+z=x@1bJ4Mm26xy*`m0JM;;~F1-LF!&?*w{ZL8-zDda4!m<_0kSd6F+?#5L|bf9RF z(DoK}q7H_`79Ef4N4!mk>FW?M#@o|jt}W{QuTqbM{T4)1ecK2X0UfJ(d2C`Sji48&3Ku38XDUo4wmrTbj8;`PK4^t zxc!@`;obq0gMY3C%s4=D%k<&*E^8j<7zxG+(%0X0c(1v7+?&0B(FCZUkym3}-rGzg zSh*~5!M}L_zrM;zp5z~G#ZIUA_$8Ar+AFY z$V;M}QB<{BbMc!gs$$e3;i~L``IzD`uFoRGS!J!%o;(%;ps}D3j(38O*dM+ob_j0U zDJV3(u!rRCtyQiTQNsAwjP{WJmUQ

    kly6K7F9>QCtbZQq|CJaEMwJMCyzdMpeSw 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 diff --git a/driver/version.txt b/driver/version.txt index 2a38b2a3..19f24320 100644 --- a/driver/version.txt +++ b/driver/version.txt @@ -1,2 +1,4 @@ -Driver source: -http://repo1.maven.org/maven2/io/aeron/aeron-all/1.9.3/aeron-all-1.9.3.jar +Driver built from source +Agrona: 0.9.18-11-gcbee425 +SBE: 1.8.1-31-g337ef8bb +Aeron: 1.9.2-308-gb795fd261 diff --git a/scripts/build-release-nuget-packages - Copy.bat b/scripts/build-release-nuget-packages - Copy.bat new file mode 100644 index 00000000..b62f922d --- /dev/null +++ b/scripts/build-release-nuget-packages - Copy.bat @@ -0,0 +1,12 @@ +@echo off +pushd %~dp0.. + +del nupkgs\*.nupkg + +call dotnet pack src\Adaptive.Aeron\Adaptive.Aeron.csproj -c Release --output ..\..\nupkgs +call dotnet pack src\Adaptive.Agrona\Adaptive.Agrona.csproj -c Release --output ..\..\nupkgs +call dotnet pack src\Adaptive.Cluster\Adaptive.Cluster.csproj -c Release --output ..\..\nupkgs +call dotnet pack src\Adaptive.Archiver\Adaptive.Archiver.csproj -c Release --output ..\..\nupkgs +call .\scripts\nuget pack .\driver\Aeron.Driver.nuspec -OutputDirectory nupkgs + +popd \ No newline at end of file diff --git a/src/Adaptive.Aeron/Adaptive.Aeron.csproj b/src/Adaptive.Aeron/Adaptive.Aeron.csproj index 2d6b8ad3..503ca23e 100644 --- a/src/Adaptive.Aeron/Adaptive.Aeron.csproj +++ b/src/Adaptive.Aeron/Adaptive.Aeron.csproj @@ -2,7 +2,7 @@ netstandard2.0;net45 Aeron.Client - 1.9.4 + 1.10.0 Adaptive Financial Consulting Ltd. Adaptive Financial Consulting Ltd. Aeron Client diff --git a/src/Adaptive.Aeron/Aeron.cs b/src/Adaptive.Aeron/Aeron.cs index 1cdf4023..409f1b6c 100644 --- a/src/Adaptive.Aeron/Aeron.cs +++ b/src/Adaptive.Aeron/Aeron.cs @@ -41,6 +41,11 @@ namespace Adaptive.Aeron /// public sealed class Aeron : IDisposable { + ///

    + /// Used to represent a null value for when some value is not yet set. + /// + public const int NULL_VALUE = -1; + ///
    /// The Default handler for Aeron runtime exceptions. /// When a is encountered, this handler will @@ -440,7 +445,7 @@ public class Context : IDisposable /// /// Value to represent a sessionId that is not to be used. /// - public const int NULL_SESSION_ID = -1; + public const int NULL_SESSION_ID = Aeron.NULL_VALUE; /// /// Initial term id to be used when creating an . @@ -518,6 +523,11 @@ public class Context : IDisposable /// public const string RELIABLE_STREAM_PARAM_NAME = "reliable"; + /// + /// Key for the tags for a channel + /// + public const string TAGS_PARAM_NAME = "tags"; + /// /// Get the default directory name to be used if is not set. This will take /// the if set and if not then . diff --git a/src/Adaptive.Aeron/ChannelUri.cs b/src/Adaptive.Aeron/ChannelUri.cs index a51b0036..99b58a7b 100644 --- a/src/Adaptive.Aeron/ChannelUri.cs +++ b/src/Adaptive.Aeron/ChannelUri.cs @@ -1,6 +1,9 @@ using System; using System.Collections.Generic; using System.Text; +using Adaptive.Aeron.LogBuffer; +using Adaptive.Agrona.Collections; +using Adaptive.Agrona.Concurrent; namespace Adaptive.Aeron { @@ -37,11 +40,17 @@ private enum State /// public const string SPY_QUALIFIER = "aeron-spy"; + public const long INVALID_TAG = Aeron.NULL_VALUE; + + private const int CHANNEL_TAG_INDEX = 0; + private const int ENTITY_TAG_INDEX = 1; + private static readonly string AERON_PREFIX = AERON_SCHEME + ":"; private string _prefix; private string _media; private readonly IDictionary _params; + private string[] _tags; /// /// Construct with the components provided to avoid parsing. @@ -54,6 +63,8 @@ public ChannelUri(string prefix, string media, IDictionary @para _prefix = prefix; _media = media; _params = @params; + + _tags = SplitTags(_params[Aeron.Context.TAGS_PARAM_NAME]); } /// @@ -151,6 +162,24 @@ public string Put(string key, string value) { return _params[key] = value; } + + /// + /// Remove a key pair in the map of params. + /// + /// of the param to be removed. + /// the previous value of the param or null. + public string Remove(string key) + { + String ret = null; + + if (_params.ContainsKey(key)) + { + ret = _params[key]; + } + + _params.Remove(key); + return ret; + } /// /// Does the URI contain a value for the given key. @@ -162,6 +191,24 @@ public bool ContainsKey(string key) return _params.ContainsKey(key); } + /// + /// Get the channel tag. + /// + /// channel tag. + public string ChannelTag() + { + return (_tags.Length > CHANNEL_TAG_INDEX) ? _tags[CHANNEL_TAG_INDEX] : null; + } + + /// + /// Get the entity tag. + /// + /// entity tag. + public string EntityTag() + { + return (_tags.Length > ENTITY_TAG_INDEX) ? _tags[ENTITY_TAG_INDEX] : null; + } + /// /// Generate a String representation of the URI that is valid for an Aeron channel. /// @@ -201,6 +248,25 @@ public override string ToString() return sb.ToString(); } + /// + /// Initialise a channel for restarting a publication at a given position. + /// + /// at which the publication should be started. + /// what which the stream would start. + /// for the stream. + public void InitialPosition(long position, int initialTermId, int termLength) + { + int bitsToShift = LogBufferDescriptor.PositionBitsToShift(termLength); + int termId = LogBufferDescriptor.ComputeTermIdFromPosition(position, bitsToShift, initialTermId); + int termOffset = (int)(position & (termLength - 1)); + + Put(Aeron.Context.INITIAL_TERM_ID_PARAM_NAME, Convert.ToString(initialTermId)); + Put(Aeron.Context.TERM_ID_PARAM_NAME, Convert.ToString(termId)); + Put(Aeron.Context.TERM_OFFSET_PARAM_NAME, Convert.ToString(termOffset)); + Put(Aeron.Context.TERM_LENGTH_PARAM_NAME, Convert.ToString(termLength)); + } + + /// /// Parse a which contains an Aeron URI. /// @@ -322,12 +388,31 @@ public static ChannelUri Parse(string cs) /// new string that represents channel with sessionId added. public static string AddSessionId(string channel, int sessionId) { - ChannelUri channelUri = ChannelUri.Parse(channel); - + ChannelUri channelUri = Parse(channel); channelUri.Put(Aeron.Context.SESSION_ID_PARAM_NAME, Convert.ToString(sessionId)); return channelUri.ToString(); } + + /// + /// Is the param tagged? That is does it start with the "tag:" prefix. + /// + /// to check if tagged. + /// true if tagged or false if not. + public static bool IsTagged(string paramValue) + { + return StartsWith(paramValue, "tag:"); + } + + /// + /// Get the value of the tag from a given parameter. + /// + /// to extra the tag value from. + /// the value of the tag or if not tagged. + public static long GetTag(string paramValue) + { + return IsTagged(paramValue) ? long.Parse(paramValue.Substring(4, paramValue.Length - 4)) : INVALID_TAG; + } private static bool StartsWith(string input, int position, string prefix) { @@ -351,5 +436,44 @@ private static bool StartsWith(string input, string prefix) { return StartsWith(input, 0, prefix); } + + private static string[] SplitTags(string tags) + { + string[] stringArray = new string[0]; + + if (null != tags) + { + int currentStartIndex = 0; + int tagIndex = 0; + stringArray = new string[2]; + int length = tags.Length; + + for (int i = 0; i < length; i++) + { + if (tags[i] == ',') + { + string tag = null; + + if (i - currentStartIndex > 0) + { + tag = tags.Substring(currentStartIndex, i - currentStartIndex); + currentStartIndex = i + 1; + } + + stringArray = ArrayUtil.EnsureCapacity(stringArray, tagIndex + 1); + stringArray[tagIndex] = tag; + tagIndex++; + } + } + + if ((length - currentStartIndex) > 0) + { + stringArray = ArrayUtil.EnsureCapacity(stringArray, tagIndex + 1); + stringArray[tagIndex] = tags.Substring(currentStartIndex, length - currentStartIndex); + } + } + + return stringArray; + } } } \ No newline at end of file diff --git a/src/Adaptive.Aeron/ChannelUriStringBuilder.cs b/src/Adaptive.Aeron/ChannelUriStringBuilder.cs index a90600e6..bda05484 100644 --- a/src/Adaptive.Aeron/ChannelUriStringBuilder.cs +++ b/src/Adaptive.Aeron/ChannelUriStringBuilder.cs @@ -12,6 +12,8 @@ namespace Adaptive.Aeron /// public class ChannelUriStringBuilder { + public const string TAG_PREFIX = "tag:"; + private readonly StringBuilder _sb = new StringBuilder(64); private string _prefix; @@ -20,6 +22,7 @@ public class ChannelUriStringBuilder private string _networkInterface; private string _controlEndpoint; private string _controlMode; + private string _tags; private bool? _reliable; private int? _ttl; private int? _mtu; @@ -29,6 +32,7 @@ public class ChannelUriStringBuilder private int? _termOffset; private int? _sessionId; private int? _linger; + private bool _isSessionIdTagged; /// /// Clear out all the values thus setting back to the initial state. @@ -42,6 +46,7 @@ public ChannelUriStringBuilder Clear() _networkInterface = null; _controlEndpoint = null; _controlMode = null; + _tags = null; _reliable = null; _ttl = null; _mtu = null; @@ -50,6 +55,7 @@ public ChannelUriStringBuilder Clear() _termId = null; _termOffset = null; _sessionId = null; + _isSessionIdTagged = false; return this; } @@ -460,7 +466,7 @@ public ChannelUriStringBuilder SessionId(int? sessionId) { return _sessionId; } - + /// /// Set the time a publication will linger in nanoseconds after being drained. This time is so that tail loss /// can be recovered. @@ -490,6 +496,66 @@ public ChannelUriStringBuilder Linger(int? lingerNs) return _linger; } + /// + /// Set the tags for a channel, and/or publication or subscription. + /// + /// for the channel, publication or subscription. + /// this for a fluent API. + /// + public ChannelUriStringBuilder Tags(string tags) + { + _tags = tags; + return this; + } + + /// + /// Get the tags for a channel, and/or publication or subscription. + /// + /// the tags for a channel, publication or subscription. + /// + public string Tags() + { + return _tags; + } + + /// + /// Toggle the value for being tagged or not. + /// + /// for session id + /// this for a fluent API. + public ChannelUriStringBuilder IsSessionIdTagged(bool isSessionIdTagged) + { + _isSessionIdTagged = isSessionIdTagged; + return this; + } + + /// + /// Is the value for a tagged. + /// + /// whether the value for a tag reference or not. + public bool IsSessionIdTagged() + { + return _isSessionIdTagged; + } + + /// + /// Initialise a channel for restarting a publication at a given position. + /// + /// at which the publication should be started. + /// what which the stream would start. + /// for the stream. + /// this for a fluent API. + public ChannelUriStringBuilder InitialPosition(long position, int initialTermId, int termLength) + { + int bitsToShift = LogBufferDescriptor.PositionBitsToShift(termLength); + + _initialTermId = initialTermId; + _termId = LogBufferDescriptor.ComputeTermIdFromPosition(position, bitsToShift, initialTermId); + _termOffset = (int) (position & (termLength - 1)); + _termLength = termLength; + + return this; + } /// /// Build a channel URI String for the given parameters. @@ -506,6 +572,11 @@ public string Build() _sb.Append(ChannelUri.AERON_SCHEME).Append(':').Append(_media).Append('?'); + if (null != _tags) + { + _sb.Append(Aeron.Context.TAGS_PARAM_NAME).Append('=').Append(_tags).Append('|'); + } + if (null != _endpoint) { _sb.Append(Aeron.Context.ENDPOINT_PARAM_NAME).Append('=').Append(_endpoint).Append('|'); @@ -565,14 +636,14 @@ public string Build() if (null != _sessionId) { - _sb.Append(Aeron.Context.SESSION_ID_PARAM_NAME).Append('=').Append(_sessionId.Value).Append('|'); + _sb.Append(Aeron.Context.SESSION_ID_PARAM_NAME).Append('=').Append(PrefixTag(_isSessionIdTagged, _sessionId.Value)).Append('|'); } - + if (null != _linger) { _sb.Append(Aeron.Context.LINGER_PARAM_NAME).Append('=').Append(_linger.Value).Append('|'); } - + char lastChar = _sb[_sb.Length - 1]; if (lastChar == '|' || lastChar == '?') { @@ -591,5 +662,10 @@ public string Build() { return null == value ? (int?) null : Convert.ToInt32(value); } + + private static string PrefixTag(bool isTagged, int value) + { + return isTagged ? TAG_PREFIX + value : value.ToString(); + } } } \ No newline at end of file diff --git a/src/Adaptive.Aeron/ClientConductor.cs b/src/Adaptive.Aeron/ClientConductor.cs index b54fdf04..9fa75ec0 100644 --- a/src/Adaptive.Aeron/ClientConductor.cs +++ b/src/Adaptive.Aeron/ClientConductor.cs @@ -35,7 +35,7 @@ namespace Adaptive.Aeron /// internal class ClientConductor : IAgent, IDriverEventsListener { - private const long NO_CORRELATION_ID = -1; + private const long NO_CORRELATION_ID = Aeron.NULL_VALUE; private static readonly long RESOURCE_CHECK_INTERVAL_NS = 1; private static readonly long RESOURCE_LINGER_NS = 3; @@ -496,6 +496,37 @@ internal virtual void RemoveDestination(long registrationId, string endpointChan _clientLock.Unlock(); } } + + internal void AddRcvDestination(long registrationId, string endpointChannel) + { + _clientLock.Lock(); + try + { + EnsureOpen(); + + AwaitResponse(_driverProxy.AddRcvDestination(registrationId, endpointChannel)); + } + finally + { + _clientLock.Unlock(); + } + } + + internal void RemoveRcvDestination(long registrationId, string endpointChannel) + { + _clientLock.Lock(); + try + { + EnsureOpen(); + + AwaitResponse(_driverProxy.RemoveRcvDestination(registrationId, endpointChannel)); + } + finally + { + _clientLock.Unlock(); + } + } + internal virtual Counter AddCounter(int typeId, IDirectBuffer keyBuffer, int keyOffset, int keyLength, IDirectBuffer labelBuffer, int labelOffset, int labelLength) { diff --git a/src/Adaptive.Aeron/Counter.cs b/src/Adaptive.Aeron/Counter.cs index 31409efd..052c51c2 100644 --- a/src/Adaptive.Aeron/Counter.cs +++ b/src/Adaptive.Aeron/Counter.cs @@ -1,4 +1,5 @@ -using Adaptive.Agrona.Concurrent; +using System; +using Adaptive.Agrona.Concurrent; using Adaptive.Agrona.Concurrent.Status; namespace Adaptive.Aeron @@ -23,15 +24,15 @@ internal Counter(long registrationId, ClientConductor clientConductor, IAtomicBu /// Construct a read-write view of an existing counter. /// /// for getting access to the buffers. - /// assigned by the driver for the counter or -1 if not known. + /// assigned by the driver for the counter or if not known. /// for the counter to be viewed. - /// if the id has for the counter has not been allocated. + /// if the id has for the counter has not been allocated. internal Counter(CountersReader countersReader, long registrationId, int counterId) : base( countersReader.ValuesBuffer, counterId) { if (countersReader.GetCounterState(counterId) != CountersReader.RECORD_ALLOCATED) { - throw new System.InvalidOperationException("Counter id has not been allocated: " + counterId); + throw new InvalidOperationException("Counter id has not been allocated: " + counterId); } this.registrationId = registrationId; diff --git a/src/Adaptive.Aeron/DriverEventsAdapter.cs b/src/Adaptive.Aeron/DriverEventsAdapter.cs index 5117a327..c99df47b 100644 --- a/src/Adaptive.Aeron/DriverEventsAdapter.cs +++ b/src/Adaptive.Aeron/DriverEventsAdapter.cs @@ -51,7 +51,7 @@ internal DriverEventsAdapter(CopyBroadcastReceiver broadcastReceiver, IDriverEve public int Receive(long activeCorrelationId) { _activeCorrelationId = activeCorrelationId; - _lastReceivedCorrelationId = -1; + _lastReceivedCorrelationId = Aeron.NULL_VALUE; return _broadcastReceiver.Receive(_messageHandler); } diff --git a/src/Adaptive.Aeron/DriverProxy.cs b/src/Adaptive.Aeron/DriverProxy.cs index 02f50d53..0ce4e0b1 100644 --- a/src/Adaptive.Aeron/DriverProxy.cs +++ b/src/Adaptive.Aeron/DriverProxy.cs @@ -136,7 +136,7 @@ public virtual long AddSubscription(string channel, int streamId) public long AddSubscription(string channel, int streamId) #endif { - const long registrationId = -1; + const long registrationId = Aeron.NULL_VALUE; long correlationId = _toDriverCommandBuffer.NextCorrelationId(); _subscriptionMessage.CorrelationId(correlationId); @@ -207,6 +207,35 @@ public long RemoveDestination(long registrationId, string endpointChannel) return correlationId; } + public long AddRcvDestination(long registrationId, string endpointChannel) + { + long correlationId = _toDriverCommandBuffer.NextCorrelationId(); + + _destinationMessage.RegistrationCorrelationId(registrationId).Channel(endpointChannel).CorrelationId(correlationId); + + if (!_toDriverCommandBuffer.Write(ControlProtocolEvents.ADD_RCV_DESTINATION, _buffer, 0, _destinationMessage.Length())) + { + throw new InvalidOperationException("Could not write rcv destination command"); + } + + return correlationId; + } + + public long RemoveRcvDestination(long registrationId, string endpointChannel) + { + long correlationId = _toDriverCommandBuffer.NextCorrelationId(); + + _destinationMessage.RegistrationCorrelationId(registrationId).Channel(endpointChannel).CorrelationId(correlationId); + + if (!_toDriverCommandBuffer.Write(ControlProtocolEvents.REMOVE_RCV_DESTINATION, _buffer, 0, _destinationMessage.Length())) + { + throw new InvalidOperationException("Could not write rcv destination command"); + } + + return correlationId; + } + + public long AddCounter(int typeId, IDirectBuffer keyBuffer, int keyOffset, int keyLength, IDirectBuffer labelBuffer, int labelOffset, int labelLength) { long correlationId = _toDriverCommandBuffer.NextCorrelationId(); diff --git a/src/Adaptive.Aeron/Exceptions/AeronException.cs b/src/Adaptive.Aeron/Exceptions/AeronException.cs new file mode 100644 index 00000000..1a0120c1 --- /dev/null +++ b/src/Adaptive.Aeron/Exceptions/AeronException.cs @@ -0,0 +1,27 @@ +using System; +using System.Runtime.Serialization; + +namespace Adaptive.Aeron.Exceptions +{ + /// + /// Base Aeron exception for catching all Aeron specific errors. + /// + public class AeronException : Exception + { + public AeronException() + { + } + + protected AeronException(SerializationInfo info, StreamingContext context) : base(info, context) + { + } + + public AeronException(string message) : base(message) + { + } + + public AeronException(string message, Exception innerException) : base(message, innerException) + { + } + } +} \ No newline at end of file diff --git a/src/Adaptive.Aeron/Exceptions/ChannelEndpointException.cs b/src/Adaptive.Aeron/Exceptions/ChannelEndpointException.cs index 65e51551..da30edb6 100644 --- a/src/Adaptive.Aeron/Exceptions/ChannelEndpointException.cs +++ b/src/Adaptive.Aeron/Exceptions/ChannelEndpointException.cs @@ -1,8 +1,6 @@ -using System; - -namespace Adaptive.Aeron.Exceptions +namespace Adaptive.Aeron.Exceptions { - public class ChannelEndpointException : Exception + public class ChannelEndpointException : AeronException { public ChannelEndpointException(int statusIndicatorId, string message) : base(message) { diff --git a/src/Adaptive.Aeron/Exceptions/ConfigurationException.cs b/src/Adaptive.Aeron/Exceptions/ConfigurationException.cs new file mode 100644 index 00000000..340eb3dd --- /dev/null +++ b/src/Adaptive.Aeron/Exceptions/ConfigurationException.cs @@ -0,0 +1,9 @@ +namespace Adaptive.Aeron.Exceptions +{ + public class ConfigurationException : AeronException + { + public ConfigurationException(string message) : base(message) + { + } + } +} \ No newline at end of file diff --git a/src/Adaptive.Aeron/Exceptions/RegistrationException.cs b/src/Adaptive.Aeron/Exceptions/RegistrationException.cs index 8e2263b3..e205dd91 100644 --- a/src/Adaptive.Aeron/Exceptions/RegistrationException.cs +++ b/src/Adaptive.Aeron/Exceptions/RegistrationException.cs @@ -14,21 +14,19 @@ * limitations under the License. */ -using System; - namespace Adaptive.Aeron.Exceptions { /// /// Caused when a error occurs during addition or release of s /// or s /// - public class RegistrationException : Exception + public class RegistrationException : AeronException { private readonly ErrorCode _code; public RegistrationException(ErrorCode code, string msg) : base(msg) { - this._code = code; + _code = code; } /// diff --git a/src/Adaptive.Aeron/Protocol/DataHeaderFlyweight.cs b/src/Adaptive.Aeron/Protocol/DataHeaderFlyweight.cs index 7f4f465f..b6a3e7b2 100644 --- a/src/Adaptive.Aeron/Protocol/DataHeaderFlyweight.cs +++ b/src/Adaptive.Aeron/Protocol/DataHeaderFlyweight.cs @@ -23,9 +23,10 @@ namespace Adaptive.Aeron.Protocol { /// - /// HeaderFlyweight for Data Header + /// HeaderFlyweight for Data Frame header of a message fragment. /// - /// Data Frame + /// Data Frame + /// wiki page. /// public class DataHeaderFlyweight : HeaderFlyweight { diff --git a/src/Adaptive.Aeron/Protocol/HeaderFlyweight.cs b/src/Adaptive.Aeron/Protocol/HeaderFlyweight.cs index 8a8bd058..269e4926 100644 --- a/src/Adaptive.Aeron/Protocol/HeaderFlyweight.cs +++ b/src/Adaptive.Aeron/Protocol/HeaderFlyweight.cs @@ -21,7 +21,7 @@ namespace Adaptive.Aeron.Protocol { /// - /// Flyweight for general Aeron network protocol header + /// Flyweight for general Aeron network protocol header of a message frame. /// /// 0 1 2 3 /// 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 diff --git a/src/Adaptive.Aeron/Protocol/RttMeasurementFlyweight.cs b/src/Adaptive.Aeron/Protocol/RttMeasurementFlyweight.cs deleted file mode 100644 index ea6888a9..00000000 --- a/src/Adaptive.Aeron/Protocol/RttMeasurementFlyweight.cs +++ /dev/null @@ -1,145 +0,0 @@ -/* - * Copyright 2014 - 2017 Adaptive Financial Consulting Ltd - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0S - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -using System.Text; -using Adaptive.Agrona.Concurrent; - -namespace Adaptive.Aeron.Protocol -{ - /// - /// Flyweight for an RTT Measurement Packet - /// - /// - /// RTT Measurement Header - /// - public class RttMeasurementFlyweight : HeaderFlyweight - { - public const short REPLY_FLAG = 0x80; - public const int HEADER_LENGTH = 40; - - private const int SESSION_ID_FIELD_OFFSET = 8; - private const int STREAM_ID_FIELD_OFFSET = 12; - private const int ECHO_TIMESTAMP_FIELD_OFFSET = 16; - private const int RECEPTION_DELTA_FIELD_OFFSET = 24; - private const int RECEIVER_ID_FIELD_OFFSET = 32; - - public RttMeasurementFlyweight() - { - } - - public RttMeasurementFlyweight(UnsafeBuffer buffer) : base(buffer) - { - } - - /// - /// return session id field - /// - /// session id field - public virtual int SessionId() - { - return GetInt(SESSION_ID_FIELD_OFFSET); - } - - /// - /// set session id field - /// - /// field value - /// flyweight - public virtual RttMeasurementFlyweight SessionId(int sessionId) - { - PutInt(SESSION_ID_FIELD_OFFSET, sessionId); - - return this; - } - - /// - /// return stream id field - /// - /// stream id field - public virtual int StreamId() - { - return GetInt(STREAM_ID_FIELD_OFFSET); - } - - /// - /// set stream id field - /// - /// field value - /// flyweight - public virtual RttMeasurementFlyweight StreamId(int streamId) - { - PutInt(STREAM_ID_FIELD_OFFSET, streamId); - - return this; - } - - public virtual long EchoTimestampNs() - { - return GetLong(ECHO_TIMESTAMP_FIELD_OFFSET); - } - - public virtual RttMeasurementFlyweight EchoTimestampNs(long timestamp) - { - PutLong(ECHO_TIMESTAMP_FIELD_OFFSET, timestamp); - - return this; - } - - public virtual long ReceptionDelta() - { - return GetLong(RECEPTION_DELTA_FIELD_OFFSET); - } - - public virtual RttMeasurementFlyweight ReceptionDeltaFlyweight(long delta) - { - PutLong(RECEPTION_DELTA_FIELD_OFFSET, delta); - - return this; - } - - public virtual long ReceiverId() - { - return GetLong(RECEIVER_ID_FIELD_OFFSET); - } - - public virtual RttMeasurementFlyweight ReceiverId(long id) - { - PutLong(RECEIVER_ID_FIELD_OFFSET, id); - - return this; - } - - public override string ToString() - { - StringBuilder sb = new StringBuilder(); - // TODO string formattedFlags = string.Format("{0,8}", Integer.toBinaryString(Flags())).Replace(' ', '0'); - string formattedFlags = string.Empty; - - sb.Append("RTT Measure Message{") - .Append("frame_length=").Append(FrameLength()) - .Append(" version=").Append(Version()) - .Append(" flags=").Append(formattedFlags) - .Append(" type=").Append(HeaderType()) - .Append(" session_id=").Append(SessionId()) - .Append(" stream_id=").Append(StreamId()) - .Append(" echo_timestamp=").Append(EchoTimestampNs()) - .Append(" reception_delta=").Append(ReceptionDelta()) - .Append(" receiver_id=").Append(ReceiverId()).Append("}"); - - return sb.ToString(); - } - } -} \ No newline at end of file diff --git a/src/Adaptive.Aeron/Status/ChannelEndpointStatus.cs b/src/Adaptive.Aeron/Status/ChannelEndpointStatus.cs index 0b3794b4..be79fa28 100644 --- a/src/Adaptive.Aeron/Status/ChannelEndpointStatus.cs +++ b/src/Adaptive.Aeron/Status/ChannelEndpointStatus.cs @@ -31,7 +31,7 @@ public class ChannelEndpointStatus /// /// No counter ID is allocated yet. /// - public const int NO_ID_ALLOCATED = -1; + public const int NO_ID_ALLOCATED = Aeron.NULL_VALUE; /// /// Offset in the key meta data for the channel of the counter. diff --git a/src/Adaptive.Aeron/Status/HeartbeatStatus.cs b/src/Adaptive.Aeron/Status/HeartbeatStatus.cs deleted file mode 100644 index 082660da..00000000 --- a/src/Adaptive.Aeron/Status/HeartbeatStatus.cs +++ /dev/null @@ -1,54 +0,0 @@ -using Adaptive.Agrona; -using Adaptive.Agrona.Concurrent.Status; - -namespace Adaptive.Aeron.Status -{ - /// - /// Allocate a counter for tracking the last heartbeat of an entity. - /// - public class HeartbeatStatus - { - /// - /// Offset in the key meta data for the registration id of the counter. - /// - public const int REGISTRATION_ID_OFFSET = 0; - - /// - /// Allocate a counter for tracking the last heartbeat of an entity. - /// - /// to be used for labels and key. - /// of the counter for the label. - /// of the counter for classification. - /// from which to allocated the underlying storage. - /// to be associated with the counter. - /// a new for tracking the last heartbeat. - public static AtomicCounter Allocate( - IMutableDirectBuffer tempBuffer, - string name, - int typeId, - CountersManager countersManager, - long registrationId) - { - return new AtomicCounter(countersManager.ValuesBuffer, - AllocateCounterId(tempBuffer, name, typeId, countersManager, registrationId), countersManager); - } - - public static int AllocateCounterId( - IMutableDirectBuffer tempBuffer, - string name, - int typeId, - CountersManager countersManager, - long registrationId) - { - tempBuffer.PutLong(REGISTRATION_ID_OFFSET, registrationId); - int keyLength = REGISTRATION_ID_OFFSET + BitUtil.SIZE_OF_LONG; - - int labelLength = 0; - labelLength += tempBuffer.PutStringWithoutLengthAscii(keyLength + labelLength, name); - labelLength += tempBuffer.PutStringWithoutLengthAscii(keyLength + labelLength, ": "); - labelLength += tempBuffer.PutLongAscii(keyLength + labelLength, registrationId); - - return countersManager.Allocate(typeId, tempBuffer, 0, keyLength, tempBuffer, keyLength, labelLength); - } - } -} \ No newline at end of file diff --git a/src/Adaptive.Aeron/Status/ReadableCounter.cs b/src/Adaptive.Aeron/Status/ReadableCounter.cs index 472cc7a1..751d160d 100644 --- a/src/Adaptive.Aeron/Status/ReadableCounter.cs +++ b/src/Adaptive.Aeron/Status/ReadableCounter.cs @@ -27,7 +27,7 @@ public class ReadableCounter : IDisposable /// Construct a view of an existing counter. /// /// for getting access to the buffers. - /// assigned by the driver for the counter or -1 if not known. + /// assigned by the driver for the counter or if not known. /// for the counter to be viewed. /// if the id has for the counter has not been allocated. public ReadableCounter(CountersReader countersReader, long registrationId, int counterId) @@ -55,7 +55,7 @@ public ReadableCounter(CountersReader countersReader, long registrationId, int c /// for getting access to the buffers. /// for the counter to be viewed. /// if the id has for the counter has not been allocated. - public ReadableCounter(CountersReader countersReader, int counterId) : this(countersReader, -1, counterId) + public ReadableCounter(CountersReader countersReader, int counterId) : this(countersReader, Aeron.NULL_VALUE, counterId) { } diff --git a/src/Adaptive.Aeron/Subscription.cs b/src/Adaptive.Aeron/Subscription.cs index b2136ffc..2a957285 100644 --- a/src/Adaptive.Aeron/Subscription.cs +++ b/src/Adaptive.Aeron/Subscription.cs @@ -440,7 +440,36 @@ public long ChannelStatus() return _fields.conductor.ChannelStatus(ChannelStatusId); } + + /// + /// Add a destination manually to a multi-destination Subscription. + /// + /// for the destination to add + public void AddDestination(string endpointChannel) + { + if (_fields.isClosed) + { + throw new InvalidOperationException("Subscription is closed"); + } + _fields.conductor.AddRcvDestination(_fields.registrationId, endpointChannel); + } + + /// + /// Remove a previously added destination from a multi-destination Subscription. + /// + /// for the destination to remove + public void RemoveDestination(string endpointChannel) + { + if (_fields.isClosed) + { + throw new InvalidOperationException("Subscription is closed"); + } + + _fields.conductor.RemoveRcvDestination(_fields.registrationId, endpointChannel); + } + + internal int ChannelStatusId { get => _fields.channelStatusId; diff --git a/src/Adaptive.Agrona/Adaptive.Agrona.csproj b/src/Adaptive.Agrona/Adaptive.Agrona.csproj index 6dd660b9..efc032be 100644 --- a/src/Adaptive.Agrona/Adaptive.Agrona.csproj +++ b/src/Adaptive.Agrona/Adaptive.Agrona.csproj @@ -3,7 +3,7 @@ netstandard2.0;net45 true Agrona - 1.9.4 + 1.10.0 Adaptive Financial Consulting Ltd. Adaptive Financial Consulting Ltd. Agrona libraries initially included in Aeron Client diff --git a/src/Adaptive.Archiver/Adaptive.Archiver.csproj b/src/Adaptive.Archiver/Adaptive.Archiver.csproj index e7f2747f..60dadea4 100644 --- a/src/Adaptive.Archiver/Adaptive.Archiver.csproj +++ b/src/Adaptive.Archiver/Adaptive.Archiver.csproj @@ -3,7 +3,7 @@ netstandard2.0;net45 true Aeron.Archiver - 1.9.4 + 1.10.0 Adaptive Financial Consulting Ltd. Adaptive Financial Consulting Ltd. Archiving over the Aeron transport diff --git a/src/Adaptive.Archiver/AeronArchive.cs b/src/Adaptive.Archiver/AeronArchive.cs index 835b7401..544eed31 100644 --- a/src/Adaptive.Archiver/AeronArchive.cs +++ b/src/Adaptive.Archiver/AeronArchive.cs @@ -23,17 +23,17 @@ public class AeronArchive : IDisposable /// /// Represents a timestamp that has not been set. Can be used when the time is not known. /// - public const long NULL_TIMESTAMP = -1L; + public const long NULL_TIMESTAMP = Aeron.Aeron.NULL_VALUE; /// /// Represents a position that has not been set. Can be used when the position is not known. /// - public const long NULL_POSITION = -1L; - + public const long NULL_POSITION = Aeron.Aeron.NULL_VALUE; + /// /// Represents a length that has not been set. If null length is provided then replay the whole recorded stream. /// - public const long NULL_LENGTH = -1L; + public const long NULL_LENGTH = Aeron.Aeron.NULL_VALUE; private const int FRAGMENT_LIMIT = 10; @@ -76,7 +76,7 @@ internal AeronArchive(Context ctx) if (!archiveProxy.Connect(ctx.ControlResponseChannel(), ctx.ControlResponseStreamId(), correlationId, aeronClientInvoker)) { - throw new InvalidOperationException( + throw new ArchiveException( "cannot connect to aeron archive: " + ctx.ControlRequestChannel()); } @@ -293,16 +293,27 @@ public string PollForErrorResponse() /// public virtual void CheckForErrorResponse() { - var errorMessage = PollForErrorResponse(); - if (null != errorMessage) + _lock.Lock(); + try + { + if (controlResponsePoller.Poll() != 0 && controlResponsePoller.IsPollComplete()) + { + if (controlResponsePoller.TemplateId() == ControlResponseDecoder.TEMPLATE_ID && + controlResponsePoller.Code() == ControlResponseCode.ERROR) + { + throw new ArchiveException(controlResponsePoller.ErrorMessage(), (int) controlResponsePoller.RelevantId()); + } + } + } + finally { - throw new ArchiveException(errorMessage); + _lock.Unlock(); } } /// /// Add a and set it up to be recorded. If this is not the first, - /// i.e. is true, then an + /// i.e. is true, then an /// will be thrown and the recording not initiated. /// /// This is a sessionId specific recording. @@ -323,7 +334,7 @@ public Publication AddRecordedPublication(string channel, int streamId) { publication.Dispose(); - throw new InvalidOperationException( + throw new ArchiveException( "publication already added for channel=" + channel + " streamId=" + streamId); } @@ -397,7 +408,7 @@ public long StartRecording(string channel, int streamId, SourceLocation sourceLo if (!archiveProxy.StartRecording(channel, streamId, sourceLocation, correlationId, controlSessionId)) { - throw new InvalidOperationException("failed to send start recording request"); + throw new ArchiveException("failed to send start recording request"); } PollForResponse(correlationId); @@ -433,7 +444,7 @@ public long ExtendRecording(long recordingId, string channel, int streamId, if (!archiveProxy.ExtendRecording(channel, streamId, sourceLocation, recordingId, correlationId, controlSessionId)) { - throw new InvalidOperationException("failed to send extend recording request"); + throw new ArchiveException("failed to send extend recording request"); } PollForResponse(correlationId); @@ -466,7 +477,7 @@ public void StopRecording(string channel, int streamId) if (!archiveProxy.StopRecording(channel, streamId, correlationId, controlSessionId)) { - throw new InvalidOperationException("failed to send stop recording request"); + throw new ArchiveException("failed to send stop recording request"); } PollForResponse(correlationId); @@ -510,7 +521,7 @@ public long StartReplay(long recordingId, long position, long length, string rep if (!archiveProxy.Replay(recordingId, position, length, replayChannel, replayStreamId, correlationId, controlSessionId)) { - throw new InvalidOperationException("failed to send replay request"); + throw new ArchiveException("failed to send replay request"); } return PollForResponse(correlationId); @@ -534,7 +545,7 @@ public void StopReplay(long replaySessionId) if (!archiveProxy.StopReplay(replaySessionId, correlationId, controlSessionId)) { - throw new InvalidOperationException("failed to send stop recording request"); + throw new ArchiveException("failed to send stop recording request"); } PollForResponse(correlationId); @@ -547,11 +558,11 @@ public void StopReplay(long replaySessionId) /// /// Replay a length in bytes of a recording from a position and for convenience create a - /// to receive the replay. If the position is then the stream will be replayed from the start. + /// to receive the replay. If the position is then the stream will be replayed from the start. /// /// to be replayed. - /// from which the replay should begin or if from the start. - /// of the stream to be replayed or to follow a live recording. + /// from which the replay should begin or if from the start. + /// of the stream to be replayed or to follow a live recording. /// to which the replay should be sent. /// to which the replay should be sent. /// the for consuming the replay. @@ -567,7 +578,7 @@ public Subscription Replay(long recordingId, long position, long length, string if (!archiveProxy.Replay(recordingId, position, length, replayChannel, replayStreamId, correlationId, controlSessionId)) { - throw new InvalidOperationException("failed to send replay request"); + throw new ArchiveException("failed to send replay request"); } int replaySessionId = (int) PollForResponse(correlationId); @@ -606,7 +617,7 @@ public Subscription Replay(long recordingId, long position, long length, string if (!archiveProxy.Replay(recordingId, position, length, replayChannel, replayStreamId, correlationId, controlSessionId)) { - throw new InvalidOperationException("failed to send replay request"); + throw new ArchiveException("failed to send replay request"); } int replaySessionId = (int) PollForResponse(correlationId); @@ -641,7 +652,7 @@ public int ListRecordings(long fromRecordingId, int recordCount, IRecordingDescr if (!archiveProxy.ListRecordings(fromRecordingId, recordCount, correlationId, controlSessionId)) { - throw new InvalidOperationException("failed to send list recordings request"); + throw new ArchiveException("failed to send list recordings request"); } return PollForDescriptors(correlationId, recordCount, consumer); @@ -676,7 +687,7 @@ public int ListRecordingsForUri(long fromRecordingId, int recordCount, string ch if (!archiveProxy.ListRecordingsForUri(fromRecordingId, recordCount, channel, streamId, correlationId, controlSessionId)) { - throw new InvalidOperationException("failed to send list recordings request"); + throw new ArchiveException("failed to send list recordings request"); } return PollForDescriptors(correlationId, recordCount, consumer); @@ -706,7 +717,7 @@ public int ListRecording(long recordingId, IRecordingDescriptorConsumer consumer if (!archiveProxy.ListRecording(recordingId, correlationId, controlSessionId)) { - throw new InvalidOperationException("failed to send list recording request"); + throw new ArchiveException("failed to send list recording request"); } return PollForDescriptors(correlationId, 1, consumer); @@ -731,7 +742,7 @@ public long GetRecordingPosition(long recordingId) if (!archiveProxy.GetRecordingPosition(recordingId, correlationId, controlSessionId)) { - throw new InvalidOperationException("failed to send get recording position request"); + throw new ArchiveException("failed to send get recording position request"); } return PollForResponse(correlationId); @@ -757,7 +768,7 @@ public void TruncateRecording(long recordingId, long position) if (!archiveProxy.TruncateRecording(recordingId, position, correlationId, controlSessionId)) { - throw new InvalidOperationException("failed to send truncate recording request"); + throw new ArchiveException("failed to send truncate recording request"); } PollForResponse(correlationId); @@ -791,10 +802,10 @@ private long AwaitSessionOpened(long correlationId) { if (code == ControlResponseCode.ERROR) { - throw new InvalidOperationException("error: " + poller.ErrorMessage()); + throw new ArchiveException("error: " + poller.ErrorMessage(), (int) poller.RelevantId()); } - throw new InvalidOperationException("unexpected response: code=" + code); + throw new ArchiveException("unexpected response: code=" + code); } return poller.ControlSessionId(); @@ -835,14 +846,14 @@ private long PollForResponse(long correlationId) if (poller.Code() == ControlResponseCode.ERROR) { - throw new InvalidOperationException("response for correlationId=" + correlationId + ", error: " + - poller.ErrorMessage()); + throw new ArchiveException("response for correlationId=" + correlationId + ", error: " + + poller.ErrorMessage(), (int) poller.RelevantId()); } ControlResponseCode code = poller.Code(); if (ControlResponseCode.OK != code) { - throw new InvalidOperationException("unexpected response code: " + code); + throw new ArchiveException("unexpected response code: " + code); } if (poller.CorrelationId() == correlationId) @@ -872,7 +883,7 @@ private void PollNextResponse(long correlationId, long deadlineNs, ControlRespon if (!poller.Subscription().IsConnected) { - throw new InvalidOperationException("subscription to archive is not connected"); + throw new ArchiveException("subscription to archive is not connected"); } if (nanoClock.NanoTime() > deadlineNs) @@ -910,7 +921,7 @@ private int PollForDescriptors(long correlationId, int recordCount, IRecordingDe if (!poller.Subscription().IsConnected) { - throw new InvalidOperationException("subscription to archive is not connected"); + throw new ArchiveException("subscription to archive is not connected"); } if (nanoClock.NanoTime() > deadlineNs) @@ -1563,7 +1574,7 @@ public class AsyncConnect : IDisposable private readonly Context ctx; private readonly ControlResponsePoller controlResponsePoller; private readonly ArchiveProxy archiveProxy; - private long connectCorrelationId = -1; + private long connectCorrelationId = Aeron.Aeron.NULL_VALUE; private int step = 0; internal AsyncConnect(Context ctx, ControlResponsePoller controlResponsePoller, ArchiveProxy archiveProxy) @@ -1635,10 +1646,10 @@ public AeronArchive Poll() { if (code == ControlResponseCode.ERROR) { - throw new InvalidOperationException("error: " + controlResponsePoller.ErrorMessage()); + throw new ArchiveException("error: " + controlResponsePoller.ErrorMessage(), (int) controlResponsePoller.RelevantId()); } - throw new InvalidOperationException("unexpected response: code=" + code); + throw new ArchiveException("unexpected response: code=" + code); } long controlSessionId = controlResponsePoller.ControlSessionId(); diff --git a/src/Adaptive.Archiver/ArchiveException.cs b/src/Adaptive.Archiver/ArchiveException.cs index c9d26f1e..111f5fdf 100644 --- a/src/Adaptive.Archiver/ArchiveException.cs +++ b/src/Adaptive.Archiver/ArchiveException.cs @@ -1,19 +1,44 @@ using System; +using Adaptive.Aeron.Exceptions; namespace Adaptive.Archiver { - public class ArchiveException : Exception + public class ArchiveException : AeronException { + public const int GENERIC = 0; + public const int ACTIVE_LISTING = 1; + public const int ACTIVE_RECORDING = 2; + public const int ACTIVE_SUBSCRIPTION = 3; + public const int UNKNOWN_SUBSCRIPTION = 4; + public const int UNKNOWN_RECORDING = 5; + public const int UNKNOWN_REPLAY = 6; + public const int MAX_REPLAYS = 7; + public const int MAX_RECORDINGS = 8; + + /// + /// Error code providing more detail into what went wrong. + /// + /// code providing more detail into what went wrong. + public int ErrorCode { get; } + public ArchiveException() { + ErrorCode = GENERIC; } public ArchiveException(string message) : base(message) { + ErrorCode = GENERIC; } - public ArchiveException(string message, Exception innerException) : base(message, innerException) + public ArchiveException(string message, int errorCode) : base(message) { + ErrorCode = errorCode; + } + + public ArchiveException(string message, Exception innerException, int errorCode) : base(message, innerException) + { + ErrorCode = errorCode; } } } \ No newline at end of file diff --git a/src/Adaptive.Archiver/ArchiveProxy.cs b/src/Adaptive.Archiver/ArchiveProxy.cs index 29182e32..f7c909db 100644 --- a/src/Adaptive.Archiver/ArchiveProxy.cs +++ b/src/Adaptive.Archiver/ArchiveProxy.cs @@ -373,17 +373,17 @@ private bool Offer(int length) if (result == Publication.CLOSED) { - throw new System.InvalidOperationException("connection to the archive has been closed"); + throw new ArchiveException("connection to the archive has been closed"); } if (result == Publication.NOT_CONNECTED) { - throw new System.InvalidOperationException("connection to the archive is no longer available"); + throw new ArchiveException("connection to the archive is no longer available"); } if (result == Publication.MAX_POSITION_EXCEEDED) { - throw new System.InvalidOperationException("publication failed due to max position being reached"); + throw new ArchiveException("offer failed due to max position being reached"); } if (--attempts <= 0) @@ -415,12 +415,12 @@ private bool OfferWithTimeout(int length, AgentInvoker aeronClientInvoker) if (result == Publication.CLOSED) { - throw new System.InvalidOperationException("connection to the archive has been closed"); + throw new ArchiveException("connection to the archive has been closed"); } if (result == Publication.MAX_POSITION_EXCEEDED) { - throw new System.InvalidOperationException("publication failed due to max position being reached"); + throw new ArchiveException("offer failed due to max position being reached"); } if (nanoClock.NanoTime() > deadlineNs) diff --git a/src/Adaptive.Archiver/Codecs/ControlResponseDecoder.cs b/src/Adaptive.Archiver/Codecs/ControlResponseDecoder.cs index ed4b6524..a13ab2c7 100644 --- a/src/Adaptive.Archiver/Codecs/ControlResponseDecoder.cs +++ b/src/Adaptive.Archiver/Codecs/ControlResponseDecoder.cs @@ -403,7 +403,7 @@ public StringBuilder AppendTo(StringBuilder builder) builder.Append("CorrelationId="); builder.Append(CorrelationId()); builder.Append('|'); - //Token{signal=BEGIN_FIELD, name='relevantId', referencedName='null', description='Relevant identity of requested object, e.g. recordingId if RECORDING_UNKNOWN', id=3, version=0, deprecated=0, encodedLength=0, offset=16, componentTokenCount=3, encoding=Encoding{presence=REQUIRED, primitiveType=null, byteOrder=LITTLE_ENDIAN, minValue=null, maxValue=null, nullValue=null, constValue=null, characterEncoding='null', epoch='unix', timeUnit=nanosecond, semanticType='null'}} + //Token{signal=BEGIN_FIELD, name='relevantId', referencedName='null', description='Relevant identity of an object, e.g. recordingId if RECORDING_UNKNOWN, or error code', id=3, version=0, deprecated=0, encodedLength=0, offset=16, componentTokenCount=3, encoding=Encoding{presence=REQUIRED, primitiveType=null, byteOrder=LITTLE_ENDIAN, minValue=null, maxValue=null, nullValue=null, constValue=null, characterEncoding='null', epoch='unix', timeUnit=nanosecond, semanticType='null'}} //Token{signal=ENCODING, name='int64', referencedName='null', description='null', id=-1, version=0, deprecated=0, encodedLength=8, offset=16, componentTokenCount=1, encoding=Encoding{presence=REQUIRED, primitiveType=INT64, byteOrder=LITTLE_ENDIAN, minValue=null, maxValue=null, nullValue=null, constValue=null, characterEncoding='null', epoch='unix', timeUnit=nanosecond, semanticType='null'}} builder.Append("RelevantId="); builder.Append(RelevantId()); diff --git a/src/Adaptive.Archiver/ControlResponseAdaptor.cs b/src/Adaptive.Archiver/ControlResponseAdaptor.cs index 55c11b93..275625e5 100644 --- a/src/Adaptive.Archiver/ControlResponseAdaptor.cs +++ b/src/Adaptive.Archiver/ControlResponseAdaptor.cs @@ -1,8 +1,6 @@ -using System; -using Adaptive.Aeron; +using Adaptive.Aeron; using Adaptive.Aeron.LogBuffer; using Adaptive.Agrona; -using Adaptive.Agrona.Concurrent; using Adaptive.Archiver.Codecs; namespace Adaptive.Archiver @@ -82,7 +80,7 @@ public virtual void OnFragment(IDirectBuffer buffer, int offset, int length, Hea break; default: - throw new InvalidOperationException("unknown templateId: " + templateId); + throw new ArchiveException("unknown templateId: " + templateId); } } diff --git a/src/Adaptive.Archiver/ControlResponsePoller.cs b/src/Adaptive.Archiver/ControlResponsePoller.cs index 754f4cce..e5a3e174 100644 --- a/src/Adaptive.Archiver/ControlResponsePoller.cs +++ b/src/Adaptive.Archiver/ControlResponsePoller.cs @@ -24,10 +24,10 @@ private void InitializeInstanceFields() private readonly Subscription subscription; private ControlledFragmentAssembler fragmentAssembler; - private long controlSessionId = -1; - private long correlationId = -1; - private long relevantId = -1; - private int templateId = -1; + private long controlSessionId = Aeron.Aeron.NULL_VALUE; + private long correlationId = Aeron.Aeron.NULL_VALUE; + private long relevantId = Aeron.Aeron.NULL_VALUE; + private int templateId = Aeron.Aeron.NULL_VALUE; private ControlResponseCode code; private string errorMessage; private bool pollComplete = false; @@ -72,18 +72,18 @@ public virtual int Poll() } /// - /// Control session id of the last polled message or -1 if poll returned nothing. + /// Control session id of the last polled message or if poll returned nothing. /// - /// control session id of the last polled message or -1 if unrecognised template. + /// control session id of the last polled message or if unrecognised template. public virtual long ControlSessionId() { return controlSessionId; } /// - /// Correlation id of the last polled message or -1 if poll returned nothing. + /// Correlation id of the last polled message or if poll returned nothing. /// - /// correlation id of the last polled message or -1 if unrecognised template. + /// correlation id of the last polled message or if unrecognised template. public virtual long CorrelationId() { return correlationId; @@ -163,7 +163,7 @@ public virtual ControlledFragmentHandlerAction OnFragment(IDirectBuffer buffer, break; default: - throw new System.InvalidOperationException("unknown templateId: " + templateId); + throw new ArchiveException("unknown templateId: " + templateId); } pollComplete = true; diff --git a/src/Adaptive.Archiver/RecordingDescriptorPoller.cs b/src/Adaptive.Archiver/RecordingDescriptorPoller.cs index 63d43db0..10f6bfd9 100644 --- a/src/Adaptive.Archiver/RecordingDescriptorPoller.cs +++ b/src/Adaptive.Archiver/RecordingDescriptorPoller.cs @@ -136,7 +136,7 @@ public virtual ControlledFragmentHandlerAction OnFragment(IDirectBuffer buffer, if (ControlResponseCode.ERROR == code) { - throw new System.InvalidOperationException("response for expectedCorrelationId=" + expectedCorrelationId + ", error: " + controlResponseDecoder.ErrorMessage()); + throw new ArchiveException("response for expectedCorrelationId=" + expectedCorrelationId + ", error: " + controlResponseDecoder.ErrorMessage()); } break; @@ -161,7 +161,7 @@ public virtual ControlledFragmentHandlerAction OnFragment(IDirectBuffer buffer, break; default: - throw new System.InvalidOperationException("unknown templateId: " + templateId); + throw new ArchiveException("unknown templateId: " + templateId); } return ControlledFragmentHandlerAction.CONTINUE; diff --git a/src/Adaptive.Archiver/RecordingEventsAdapter.cs b/src/Adaptive.Archiver/RecordingEventsAdapter.cs index fd8a435c..d59fcfbe 100644 --- a/src/Adaptive.Archiver/RecordingEventsAdapter.cs +++ b/src/Adaptive.Archiver/RecordingEventsAdapter.cs @@ -1,5 +1,4 @@ -using System; -using Adaptive.Aeron; +using Adaptive.Aeron; using Adaptive.Aeron.LogBuffer; using Adaptive.Agrona; using Adaptive.Archiver.Codecs; @@ -92,7 +91,7 @@ public virtual void OnFragment(IDirectBuffer buffer, int offset, int length, Hea break; default: - throw new InvalidOperationException("unknown templateId: " + templateId); + throw new ArchiveException("unknown templateId: " + templateId); } } } diff --git a/src/Adaptive.Archiver/RecordingEventsPoller.cs b/src/Adaptive.Archiver/RecordingEventsPoller.cs index 5a00734e..7a2f546b 100644 --- a/src/Adaptive.Archiver/RecordingEventsPoller.cs +++ b/src/Adaptive.Archiver/RecordingEventsPoller.cs @@ -40,7 +40,7 @@ public RecordingEventsPoller(Subscription subscription) /// the number of fragments read during the operation. Zero if no events are available. public virtual int Poll() { - templateId = -1; + templateId = Aeron.Aeron.NULL_VALUE; pollComplete = false; return subscription.Poll(this, 1); @@ -113,7 +113,7 @@ public virtual void OnFragment(IDirectBuffer buffer, int offset, int length, Hea recordingId = recordingStartedDecoder.RecordingId(); recordingStartPosition = recordingStartedDecoder.StartPosition(); recordingPosition = recordingStartPosition; - recordingStopPosition = -1; + recordingStopPosition = Aeron.Aeron.NULL_VALUE; break; case RecordingProgressDecoder.TEMPLATE_ID: @@ -122,7 +122,7 @@ public virtual void OnFragment(IDirectBuffer buffer, int offset, int length, Hea recordingId = recordingProgressDecoder.RecordingId(); recordingStartPosition = recordingProgressDecoder.StartPosition(); recordingPosition = recordingProgressDecoder.Position(); - recordingStopPosition = -1; + recordingStopPosition = Aeron.Aeron.NULL_VALUE; break; case RecordingStoppedDecoder.TEMPLATE_ID: @@ -135,7 +135,7 @@ public virtual void OnFragment(IDirectBuffer buffer, int offset, int length, Hea break; default: - throw new System.InvalidOperationException("unknown templateId: " + templateId); + throw new ArchiveException("unknown templateId: " + templateId); } pollComplete = true; diff --git a/src/Adaptive.Archiver/RecordingPos.cs b/src/Adaptive.Archiver/RecordingPos.cs index f0873b55..7c6c26a9 100644 --- a/src/Adaptive.Archiver/RecordingPos.cs +++ b/src/Adaptive.Archiver/RecordingPos.cs @@ -16,16 +16,8 @@ namespace Adaptive.Archiver /// | Recording ID | /// | | /// +---------------------------------------------------------------+ - /// | Control Session ID | - /// | | - /// +---------------------------------------------------------------+ - /// | Correlation ID | - /// | | - /// +---------------------------------------------------------------+ /// | Session ID | /// +---------------------------------------------------------------+ - /// | Stream ID | - /// +---------------------------------------------------------------+ /// /// public class RecordingPos @@ -38,7 +30,7 @@ public class RecordingPos /// /// Represents a null recording id when not found. /// - public const long NULL_RECORDING_ID = -1L; + public const long NULL_RECORDING_ID = Aeron.Aeron.NULL_VALUE; /// /// Human readable name for the counter. @@ -46,21 +38,14 @@ public class RecordingPos public const string NAME = "rec-pos"; public const int RECORDING_ID_OFFSET = 0; - public static readonly int CONTROL_SESSION_ID_OFFSET = RECORDING_ID_OFFSET + BitUtil.SIZE_OF_LONG; - public static readonly int CORRELATION_ID_OFFSET = CONTROL_SESSION_ID_OFFSET + BitUtil.SIZE_OF_LONG; - public static readonly int SESSION_ID_OFFSET = CORRELATION_ID_OFFSET + BitUtil.SIZE_OF_LONG; - public static readonly int STREAM_ID_OFFSET = SESSION_ID_OFFSET + BitUtil.SIZE_OF_INT; - public static readonly int KEY_LENGTH = STREAM_ID_OFFSET + BitUtil.SIZE_OF_INT; + public static readonly int SESSION_ID_OFFSET = RECORDING_ID_OFFSET + BitUtil.SIZE_OF_LONG; + public static readonly int KEY_LENGTH = SESSION_ID_OFFSET + BitUtil.SIZE_OF_INT; public static Counter Allocate(Aeron.Aeron aeron, UnsafeBuffer tempBuffer, long recordingId, - long controlSessionId, - long correlationId, int sessionId, int streamId, string strippedChannel) + int sessionId, int streamId, string strippedChannel) { tempBuffer.PutLong(RECORDING_ID_OFFSET, recordingId); - tempBuffer.PutLong(CONTROL_SESSION_ID_OFFSET, controlSessionId); - tempBuffer.PutLong(CORRELATION_ID_OFFSET, correlationId); tempBuffer.PutInt(SESSION_ID_OFFSET, sessionId); - tempBuffer.PutInt(STREAM_ID_OFFSET, streamId); int labelLength = 0; labelLength += tempBuffer.PutStringWithoutLengthAscii(KEY_LENGTH, NAME + ": "); @@ -104,35 +89,6 @@ public static int FindCounterIdByRecording(CountersReader countersReader, long r return CountersReader.NULL_COUNTER_ID; } - /// - /// Count the number of counters for a given session. It is possible for different recording to exist on the - /// same session if there are images under subscriptions with different channel and stream id. - /// - /// to search within. - /// to search for. - /// the count of recordings matching a session id. - public static int CountBySession(CountersReader countersReader, int sessionId) - { - int count = 0; - IDirectBuffer buffer = countersReader.MetaDataBuffer; - - for (int i = 0, size = countersReader.MaxCounterId; i < size; i++) - { - if (countersReader.GetCounterState(i) == CountersReader.RECORD_ALLOCATED) - { - int recordOffset = CountersReader.MetaDataOffset(i); - - if (buffer.GetInt(recordOffset + CountersReader.TYPE_ID_OFFSET) == RECORDING_POSITION_TYPE_ID && - buffer.GetInt(recordOffset + CountersReader.KEY_OFFSET + SESSION_ID_OFFSET) == sessionId) - { - ++count; - } - } - } - - return count; - } - /// /// Find the active counter id for a stream based on the session id. /// diff --git a/src/Adaptive.Archiver/aeron-archive-codecs.xml b/src/Adaptive.Archiver/aeron-archive-codecs.xml index 53d474a6..d477323c 100644 --- a/src/Adaptive.Archiver/aeron-archive-codecs.xml +++ b/src/Adaptive.Archiver/aeron-archive-codecs.xml @@ -43,7 +43,7 @@ + description="Relevant identity of an object, e.g. recordingId if RECORDING_UNKNOWN, or error code"/> netstandard2.0;net45 true Aeron.Cluster - 1.9.4 + 1.10.0 Adaptive Financial Consulting Ltd. Adaptive Financial Consulting Ltd. Clustering libraries over the Aeron transport diff --git a/src/Adaptive.Cluster/Client/AeronCluster.cs b/src/Adaptive.Cluster/Client/AeronCluster.cs index 24fd9dc1..ee619876 100644 --- a/src/Adaptive.Cluster/Client/AeronCluster.cs +++ b/src/Adaptive.Cluster/Client/AeronCluster.cs @@ -1,6 +1,7 @@ using System; -using System.Security.Authentication; +using System.Collections.Generic; using Adaptive.Aeron; +using Adaptive.Aeron.Exceptions; using Adaptive.Aeron.LogBuffer; using Adaptive.Agrona; using Adaptive.Agrona.Concurrent; @@ -14,26 +15,88 @@ namespace Adaptive.Cluster.Client /// A client will connect to open a session and then offer ingress messages which are replicated to clustered service /// for reliability. If the clustered service responds then these response messages and events come back via the egress /// stream. + /// + /// Note: Instances of this class are not threadsafe. /// /// public sealed class AeronCluster : IDisposable { private const int SEND_ATTEMPTS = 3; - private const int FRAGMENT_LIMIT = 1; + private const int CONNECT_FRAGMENT_LIMIT = 1; + private const int SESSION_FRAGMENT_LIMIT = 10; + private long _lastCorrelationId = Aeron.Aeron.NULL_VALUE; private readonly long _clusterSessionId; + private int _leaderMemberId = Aeron.Aeron.NULL_VALUE; private readonly bool _isUnicast; private readonly Context _ctx; private readonly Aeron.Aeron _aeron; private readonly Subscription _subscription; - private readonly Publication _publication; + private Publication _publication; private readonly INanoClock _nanoClock; - private readonly ILock _lock; private readonly IIdleStrategy _idleStrategy; + + private readonly Dictionary _endpointByMemberIdMap = new Dictionary(); private readonly BufferClaim _bufferClaim = new BufferClaim(); private readonly MessageHeaderEncoder _messageHeaderEncoder = new MessageHeaderEncoder(); private readonly SessionKeepAliveRequestEncoder _keepAliveRequestEncoder = new SessionKeepAliveRequestEncoder(); + private readonly SessionHeaderEncoder _sessionHeaderEncoder = new SessionHeaderEncoder(); + private readonly DirectBufferVector[] _vectors = new DirectBufferVector[2]; + private readonly DirectBufferVector _messageBuffer = new DirectBufferVector(); + private readonly FragmentAssembler _fragmentAssembler; + private readonly Poller _poller; + + private class Poller : IFragmentHandler + { + private readonly MessageHeaderDecoder _messageHeaderDecoder = new MessageHeaderDecoder(); + private readonly SessionHeaderDecoder _sessionHeaderDecoder = new SessionHeaderDecoder(); + private readonly NewLeaderEventDecoder _newLeaderEventDecoder = new NewLeaderEventDecoder(); + + private readonly ISessionMessageListener _sessionMessageListener; + private readonly long _clusterSessionId; + private readonly AeronCluster _cluster; + + public Poller(ISessionMessageListener sessionMessageListener, long clusterSessionId, AeronCluster cluster) + { + _sessionMessageListener = sessionMessageListener; + _clusterSessionId = clusterSessionId; + _cluster = cluster; + } + + public void OnFragment(IDirectBuffer buffer, int offset, int length, Header header) + { + _messageHeaderDecoder.Wrap(buffer, offset); + + int templateId = _messageHeaderDecoder.TemplateId(); + if (SessionHeaderDecoder.TEMPLATE_ID == templateId) + { + _sessionHeaderDecoder.Wrap(buffer, offset + MessageHeaderDecoder.ENCODED_LENGTH, + _messageHeaderDecoder.BlockLength(), _messageHeaderDecoder.Version()); + + long sessionId = _sessionHeaderDecoder.ClusterSessionId(); + if (sessionId == _clusterSessionId) + { + _sessionMessageListener.OnMessage(_sessionHeaderDecoder.CorrelationId(), sessionId, + _sessionHeaderDecoder.Timestamp(), buffer, offset + SessionDecorator.SESSION_HEADER_LENGTH, + length - SessionDecorator.SESSION_HEADER_LENGTH, header); + } + } + else if (NewLeaderEventDecoder.TEMPLATE_ID == templateId) + { + _newLeaderEventDecoder.Wrap(buffer, offset + MessageHeaderDecoder.ENCODED_LENGTH, + _messageHeaderDecoder.BlockLength(), _messageHeaderDecoder.Version()); + + long sessionId = _newLeaderEventDecoder.ClusterSessionId(); + if (sessionId == _clusterSessionId) + { + _cluster.OnNewLeader(sessionId, _newLeaderEventDecoder.LeaderMemberId(), + _newLeaderEventDecoder.MemberEndpoints()); + } + } + } + } + /// /// Connect to the cluster using default configuration. /// @@ -57,32 +120,42 @@ private AeronCluster(Context ctx) { _ctx = ctx; + Subscription subscription = null; - Publication publication = null; try { ctx.Conclude(); _aeron = ctx.Aeron(); - _lock = ctx.Lock(); _idleStrategy = ctx.IdleStrategy(); _nanoClock = _aeron.Ctx().NanoClock(); _isUnicast = ctx.ClusterMemberEndpoints() != null; + UpdateMemberEndpoints(ctx.ClusterMemberEndpoints()); subscription = _aeron.AddSubscription(ctx.EgressChannel(), ctx.EgressStreamId()); _subscription = subscription; - - publication = ConnectToCluster(); - _publication = publication; + _publication = ConnectToCluster(); _clusterSessionId = OpenSession(); + + UnsafeBuffer headerBuffer = new UnsafeBuffer(new byte[SessionDecorator.SESSION_HEADER_LENGTH]); + _sessionHeaderEncoder + .WrapAndApplyHeader(headerBuffer, 0, _messageHeaderEncoder) + .ClusterSessionId(_clusterSessionId) + .Timestamp(Aeron.Aeron.NULL_VALUE); + + _vectors[0] = new DirectBufferVector(headerBuffer, 0, SessionDecorator.SESSION_HEADER_LENGTH); + _vectors[1] = _messageBuffer; + + _poller = new Poller(ctx.SessionMessageListener(), _clusterSessionId, this); + _fragmentAssembler = new FragmentAssembler(_poller); } catch (Exception) { if (!ctx.OwnsAeronClient()) { - CloseHelper.QuietDispose(publication); + CloseHelper.QuietDispose(_publication); CloseHelper.QuietDispose(subscription); } @@ -96,26 +169,18 @@ private AeronCluster(Context ctx) /// public void Dispose() { - _lock.Lock(); - try + if (null != _publication && _publication.IsConnected) { - if (_publication.IsConnected) - { - CloseSession(); - } - - if (!_ctx.OwnsAeronClient()) - { - _subscription.Dispose(); - _publication.Dispose(); - } - - _ctx.Dispose(); + CloseSession(); } - finally + + if (!_ctx.OwnsAeronClient()) { - _lock.Unlock(); + _subscription.Dispose(); + _publication?.Dispose(); } + + _ctx.Dispose(); } /// @@ -136,6 +201,36 @@ public long ClusterSessionId() return _clusterSessionId; } + /// + /// Get the current leader member id for the cluster. + /// + /// the current leader member id for the cluster. + public int LeaderMemberId() + { + return _leaderMemberId; + } + + /// + /// Get the last correlation id generated for this session. Starts with . + /// + /// the last correlation id generated for this session. + /// + public long LastCorrelationId() + { + return _lastCorrelationId; + } + + /// + /// Generate a new correlation id to be used for this session. This is not threadsafe. If you require a threadsafe + /// correlation id generation then use . + /// + /// a new correlation id to be used for this session. + /// + public long NextCorrelationId() + { + return ++_lastCorrelationId; + } + /// /// Get the raw for sending to the cluster. /// @@ -162,47 +257,127 @@ public Subscription EgressSubscription() return _subscription; } + /// + /// Non-blocking publish of a partial buffer containing a message plus session header to a cluster. + /// + /// This version of the method will set the timestamp value in the header to zero. + /// + /// + /// + /// to be used to identify the message to the cluster. + /// containing message. + /// offset in the buffer at which the encoded message begins. + /// in bytes of the encoded message. + /// the same as . + public long Offer(long correlationId, IDirectBuffer buffer, int offset, int length) + { + _sessionHeaderEncoder.CorrelationId(correlationId); + _messageBuffer.Reset(buffer, offset, length); + + return _publication.Offer(_vectors); + } + /// /// Send a keep alive message to the cluster to keep this session open. /// /// true if successfully sent otherwise false. public bool SendKeepAlive() { - _lock.Lock(); - try + _idleStrategy.Reset(); + int length = MessageHeaderEncoder.ENCODED_LENGTH + SessionKeepAliveRequestEncoder.BLOCK_LENGTH; + int attempts = SEND_ATTEMPTS; + + while (true) { - _idleStrategy.Reset(); - int length = MessageHeaderEncoder.ENCODED_LENGTH + SessionKeepAliveRequestEncoder.BLOCK_LENGTH; - int attempts = SEND_ATTEMPTS; + long result = _publication.TryClaim(length, _bufferClaim); - while (true) + if (result > 0) { - long result = _publication.TryClaim(length, _bufferClaim); + _keepAliveRequestEncoder + .WrapAndApplyHeader(_bufferClaim.Buffer, _bufferClaim.Offset, _messageHeaderEncoder) + .CorrelationId(Aeron.Aeron.NULL_VALUE) + .ClusterSessionId(_clusterSessionId); - if (result > 0) - { - _keepAliveRequestEncoder.WrapAndApplyHeader(_bufferClaim.Buffer, _bufferClaim.Offset, _messageHeaderEncoder).CorrelationId(0L).ClusterSessionId(_clusterSessionId); + _bufferClaim.Commit(); - _bufferClaim.Commit(); + return true; + } - return true; - } + CheckResult(result); - CheckResult(result); + if (--attempts <= 0) + { + break; + } - if (--attempts <= 0) - { - break; - } + _idleStrategy.Idle(); + } - _idleStrategy.Idle(); - } + return false; + } - return false; + /// + /// Poll the for session messages which are dispatched to + /// . + /// + /// Note: if is not set then a could + /// result. + /// + /// + /// + /// the number of fragments processed. + public int PollEgress() + { + return _subscription.Poll(_fragmentAssembler, SESSION_FRAGMENT_LIMIT); + } + + /// + /// To be called when a new leader event is delivered. This method needs to be called when using the + /// or rather than method. + /// + /// which must match . + /// which has become the new leader. + /// comma separated list of cluster members endpoints to connect to with the leader first. + public void OnNewLeader(long clusterSessionId, int leaderMemberId, string memberEndpoints) + { + if (clusterSessionId != _clusterSessionId) + { + throw new ClusterException("invalid clusterSessionId=" + clusterSessionId + " expected " + + _clusterSessionId); } - finally + + _leaderMemberId = leaderMemberId; + + if (_isUnicast) { - _lock.Unlock(); + _publication?.Dispose(); + _fragmentAssembler.Clear(); + UpdateMemberEndpoints(memberEndpoints); + + ChannelUri channelUri = ChannelUri.Parse(_ctx.IngressChannel()); + channelUri.Put(Aeron.Aeron.Context.ENDPOINT_PARAM_NAME, _endpointByMemberIdMap[leaderMemberId]); + _publication = AddIngressPublication(channelUri.ToString(), _ctx.IngressStreamId()); + } + } + + private void UpdateMemberEndpoints(string memberEndpoints) + { + _endpointByMemberIdMap.Clear(); + + if (null != memberEndpoints) + { + foreach (String member in memberEndpoints.Split(',')) + { + int separatorIndex = member.IndexOf('='); + if (-1 == separatorIndex) + { + throw new ConfigurationException("invalid format - member missing '=' separator: " + + memberEndpoints); + } + + int memberId = int.Parse(member.Substring(0, separatorIndex)); + _endpointByMemberIdMap[memberId] = member.Substring(separatorIndex + 1); + } } } @@ -219,7 +394,9 @@ private void CloseSession() if (result > 0) { - sessionCloseRequestEncoder.WrapAndApplyHeader(_bufferClaim.Buffer, _bufferClaim.Offset, _messageHeaderEncoder).ClusterSessionId(_clusterSessionId); + sessionCloseRequestEncoder + .WrapAndApplyHeader(_bufferClaim.Buffer, _bufferClaim.Offset, _messageHeaderEncoder) + .ClusterSessionId(_clusterSessionId); _bufferClaim.Commit(); break; @@ -246,17 +423,16 @@ private Publication ConnectToCluster() if (_isUnicast) { ChannelUri channelUri = ChannelUri.Parse(ingressChannel); - string[] memberEndpoints = _ctx.ClusterMemberEndpoints(); - int memberCount = memberEndpoints.Length; + int memberCount = _endpointByMemberIdMap.Count; Publication[] publications = new Publication[memberCount]; - for (int i = 0; i < memberCount; i++) + foreach (var entry in _endpointByMemberIdMap) { - channelUri.Put(Aeron.Aeron.Context.ENDPOINT_PARAM_NAME, memberEndpoints[i]); + channelUri.Put(Aeron.Aeron.Context.ENDPOINT_PARAM_NAME, entry.Value); string channel = channelUri.ToString(); - publications[i] = AddIngressPublication(channel, ingressStreamId); + publications[entry.Key] = AddIngressPublication(channel, ingressStreamId); } - + int connectedIndex = -1; while (true) { @@ -279,7 +455,6 @@ private Publication ConnectToCluster() } else { - publications[i]?.Dispose(); } } @@ -293,7 +468,7 @@ private Publication ConnectToCluster() { CloseHelper.QuietDispose(publications[i]); } - + throw new TimeoutException("awaiting connection to cluster"); } @@ -310,7 +485,7 @@ private Publication ConnectToCluster() if (_nanoClock.NanoTime() > deadlineNs) { CloseHelper.QuietDispose(publication); - + throw new TimeoutException("awaiting connection to cluster"); } @@ -337,7 +512,7 @@ private long OpenSession() { long deadlineNs = _nanoClock.NanoTime() + _ctx.MessageTimeoutNs(); long correlationId = SendConnectRequest(_ctx.CredentialsSupplier().EncodedCredentials(), deadlineNs); - EgressPoller poller = new EgressPoller(_subscription, FRAGMENT_LIMIT); + EgressPoller poller = new EgressPoller(_subscription, CONNECT_FRAGMENT_LIMIT); while (true) { @@ -348,13 +523,15 @@ private long OpenSession() if (poller.IsChallenged()) { byte[] encodedCredentials = _ctx.CredentialsSupplier().OnChallenge(poller.EncodedChallenge()); - correlationId = SendChallengeResponse(poller.ClusterSessionId(), encodedCredentials, deadlineNs); + correlationId = + SendChallengeResponse(poller.ClusterSessionId(), encodedCredentials, deadlineNs); continue; } switch (poller.EventCode()) { case EventCode.OK: + _leaderMemberId = poller.LeaderMemberId(); return poller.ClusterSessionId(); case EventCode.ERROR: @@ -384,13 +561,13 @@ private void PollNextResponse(long deadlineNs, long correlationId, EgressPoller private long SendConnectRequest(byte[] encodedCredentials, long deadlineNs) { - long correlationId = _aeron.NextCorrelationId(); + _lastCorrelationId = _aeron.NextCorrelationId(); SessionConnectRequestEncoder sessionConnectRequestEncoder = new SessionConnectRequestEncoder(); - int length = MessageHeaderEncoder.ENCODED_LENGTH + - SessionConnectRequestEncoder.BLOCK_LENGTH + - SessionConnectRequestEncoder.ResponseChannelHeaderLength() + - _ctx.EgressChannel().Length + + int length = MessageHeaderEncoder.ENCODED_LENGTH + + SessionConnectRequestEncoder.BLOCK_LENGTH + + SessionConnectRequestEncoder.ResponseChannelHeaderLength() + + _ctx.EgressChannel().Length + SessionConnectRequestEncoder.EncodedCredentialsHeaderLength() + encodedCredentials.Length; _idleStrategy.Reset(); @@ -400,8 +577,9 @@ private long SendConnectRequest(byte[] encodedCredentials, long deadlineNs) long result = _publication.TryClaim(length, _bufferClaim); if (result > 0) { - sessionConnectRequestEncoder.WrapAndApplyHeader(_bufferClaim.Buffer, _bufferClaim.Offset, _messageHeaderEncoder) - .CorrelationId(correlationId) + sessionConnectRequestEncoder + .WrapAndApplyHeader(_bufferClaim.Buffer, _bufferClaim.Offset, _messageHeaderEncoder) + .CorrelationId(_lastCorrelationId) .ResponseStreamId(_ctx.EgressStreamId()) .ResponseChannel(_ctx.EgressChannel()) .PutEncodedCredentials(encodedCredentials, 0, encodedCredentials.Length); @@ -413,7 +591,7 @@ private long SendConnectRequest(byte[] encodedCredentials, long deadlineNs) if (Publication.CLOSED == result) { - throw new InvalidOperationException("unexpected close from cluster"); + throw new ClusterException("unexpected close from cluster"); } if (_nanoClock.NanoTime() > deadlineNs) @@ -424,17 +602,17 @@ private long SendConnectRequest(byte[] encodedCredentials, long deadlineNs) _idleStrategy.Idle(); } - return correlationId; + return _lastCorrelationId; } private long SendChallengeResponse(long sessionId, byte[] encodedCredentials, long deadlineNs) { - long correlationId = _aeron.NextCorrelationId(); + _lastCorrelationId = _aeron.NextCorrelationId(); ChallengeResponseEncoder challengeResponseEncoder = new ChallengeResponseEncoder(); - int length = MessageHeaderEncoder.ENCODED_LENGTH + - ChallengeResponseEncoder.BLOCK_LENGTH + - ChallengeResponseEncoder.EncodedCredentialsHeaderLength() + + int length = MessageHeaderEncoder.ENCODED_LENGTH + + ChallengeResponseEncoder.BLOCK_LENGTH + + ChallengeResponseEncoder.EncodedCredentialsHeaderLength() + encodedCredentials.Length; _idleStrategy.Reset(); @@ -446,7 +624,7 @@ private long SendChallengeResponse(long sessionId, byte[] encodedCredentials, lo { challengeResponseEncoder .WrapAndApplyHeader(_bufferClaim.Buffer, _bufferClaim.Offset, _messageHeaderEncoder) - .CorrelationId(correlationId) + .CorrelationId(_lastCorrelationId) .ClusterSessionId(sessionId) .PutEncodedCredentials(encodedCredentials, 0, encodedCredentials.Length); @@ -465,14 +643,15 @@ private long SendChallengeResponse(long sessionId, byte[] encodedCredentials, lo _idleStrategy.Idle(); } - return correlationId; + return _lastCorrelationId; } private static void CheckResult(long result) { - if (result == Publication.NOT_CONNECTED || result == Publication.CLOSED || result == Publication.MAX_POSITION_EXCEEDED) + if (result == Publication.NOT_CONNECTED || result == Publication.CLOSED || + result == Publication.MAX_POSITION_EXCEEDED) { - throw new InvalidOperationException("unexpected publication state: " + result); + throw new ClusterException("unexpected publication state: " + result); } } @@ -487,26 +666,30 @@ public class Configuration public const string MESSAGE_TIMEOUT_PROP_NAME = "aeron.cluster.message.timeout"; /// - /// Timeout when waiting on a message to be sent or received. Default to 5 seconds in nanoseconds. + /// Default timeout when waiting on a message to be sent or received. /// public static readonly long MESSAGE_TIMEOUT_DEFAULT_NS = 5000000000; /// - /// Property name for the comma separated list of cluster member endpoints for use with unicast. - /// + /// Property name for the comma separated list of cluster member endpoints for use with unicast. This is the + /// endpoint values which get substituted into the when using UDP unicast. + /// + /// 0=endpoint,1=endpoint,2=endpoint + /// /// Each member of the list will be substituted for the endpoint in the value. - /// + /// /// public const string CLUSTER_MEMBER_ENDPOINTS_PROP_NAME = "aeron.cluster.member.endpoints"; /// - /// Property name for the comma separated list of cluster member endpoints. + /// Default comma separated list of cluster member endpoints. /// public const string CLUSTER_MEMBER_ENDPOINTS_DEFAULT = null; /// /// Channel for sending messages to a cluster. Ideally this will be a multicast address otherwise unicast will - /// be required and the is used to substitute the endpoints. + /// be required and the is used to substitute the endpoints from + /// the list. /// public const string INGRESS_CHANNEL_PROP_NAME = "aeron.cluster.ingress.channel"; @@ -521,9 +704,9 @@ public class Configuration public const string INGRESS_STREAM_ID_PROP_NAME = "aeron.cluster.ingress.stream.id"; /// - /// Stream id within a channel for sending messages to a cluster. + /// Default stream id within a channel for sending messages to a cluster. /// - public const int INGRESS_STREAM_ID_DEFAULT = 1; + public const int INGRESS_STREAM_ID_DEFAULT = 101; /// /// Channel for receiving response messages from a cluster. @@ -541,9 +724,9 @@ public class Configuration public const string EGRESS_STREAM_ID_PROP_NAME = "aeron.archive.control.response.stream.id"; /// - /// Stream id within a channel for receiving messages from a cluster. + /// Default stream id within a channel for receiving messages from a cluster. /// - public const int EGRESS_STREAM_ID_DEFAULT = 2; + public const int EGRESS_STREAM_ID_DEFAULT = 102; /// /// The timeout in nanoseconds to wait for a message. @@ -561,11 +744,10 @@ public static long MessageTimeoutNs() /// /// or system property /// if set. - public static string[] ClusterMemberEndpoints() + public static string ClusterMemberEndpoints() { - string memberEndpoints = Config.GetProperty(CLUSTER_MEMBER_ENDPOINTS_PROP_NAME, CLUSTER_MEMBER_ENDPOINTS_DEFAULT); - - return memberEndpoints?.Split(','); + return + Config.GetProperty(CLUSTER_MEMBER_ENDPOINTS_PROP_NAME, CLUSTER_MEMBER_ENDPOINTS_DEFAULT); } /// @@ -618,19 +800,35 @@ public static int EgressStreamId() /// public class Context : IDisposable { + private class MissingSessionMessageListner : ISessionMessageListener + { + public void OnMessage( + long correlationId, + long clusterSessionId, + long timestamp, + IDirectBuffer buffer, + int offset, + int length, + Header header) + { + throw new ConfigurationException("sessionMessageListener must be specified on AeronCluster.Context"); + } + } + private long _messageTimeoutNs = Configuration.MessageTimeoutNs(); - private string[] _clusterMemberEndpoints = Configuration.ClusterMemberEndpoints(); + private string _clusterMemberEndpoints = Configuration.ClusterMemberEndpoints(); private string _ingressChannel = Configuration.IngressChannel(); private int _ingressStreamId = Configuration.IngressStreamId(); private string _egressChannel = Configuration.EgressChannel(); private int _egressStreamId = Configuration.EgressStreamId(); private IIdleStrategy _idleStrategy; - private ILock _lock; private string _aeronDirectoryName = Adaptive.Aeron.Aeron.Context.GetAeronDirectoryName(); private Aeron.Aeron _aeron; private ICredentialsSupplier _credentialsSupplier; private bool _ownsAeronClient = false; private bool _isIngressExclusive = true; + private ErrorHandler _errorHandler = Adaptive.Aeron.Aeron.DEFAULT_ERROR_HANDLER; + private ISessionMessageListener _sessionMessageListener; /// /// Perform a shallow copy of the object. @@ -638,14 +836,17 @@ public class Context : IDisposable /// a shall copy of the object. public Context Clone() { - return (Context)MemberwiseClone(); + return (Context) MemberwiseClone(); } - + public void Conclude() { if (null == _aeron) { - _aeron = Adaptive.Aeron.Aeron.Connect(new Aeron.Aeron.Context().AeronDirectoryName(_aeronDirectoryName)); + _aeron = Adaptive.Aeron.Aeron.Connect( + new Aeron.Aeron.Context() + .AeronDirectoryName(_aeronDirectoryName) + .ErrorHandler(_errorHandler)); _ownsAeronClient = true; } @@ -654,15 +855,15 @@ public void Conclude() _idleStrategy = new BackoffIdleStrategy(1, 10, 1, 1); } - if (null == _lock) - { - _lock = new ReentrantLock(); - } - if (null == _credentialsSupplier) { _credentialsSupplier = new NullCredentialsSupplier(); } + + if (null == _sessionMessageListener) + { + _sessionMessageListener = new MissingSessionMessageListner(); + } } /// @@ -688,29 +889,39 @@ public long MessageTimeoutNs() } /// - /// The endpoints representing members for use with unicast. A null value can be used when multicast. + /// The endpoints representing members for use with unicast to be substituted into the + /// for endpoints. A null value can be used when multicast where the contains the + /// multicast endpoint. /// /// which are all candidates to be leader. /// this for a fluent API. /// - public Context ClusterMemberEndpoints(params string[] clusterMembers) + public Context ClusterMemberEndpoints(string clusterMembers) { _clusterMemberEndpoints = clusterMembers; return this; } /// - /// The endpoints representing members for use with unicast. A null value can be used when multicast. + /// The endpoints representing members for use with unicast to be substituted into the + /// for endpoints. A null value can be used when multicast where the contains the + /// multicast endpoint. /// /// members of the cluster which are all candidates to be leader. /// - public string[] ClusterMemberEndpoints() + public string ClusterMemberEndpoints() { return _clusterMemberEndpoints; } /// /// Set the channel parameter for the ingress channel. + /// + /// The endpoints representing members for use with unicast are substituted from the + /// for endpoints. A null value can be used when multicast + /// where this contains the multicast endpoint. + /// + /// /// /// parameter for the ingress channel. /// this for a fluent API. @@ -722,7 +933,12 @@ public Context IngressChannel(string channel) } /// - /// Get the channel parameter for the ingress channel. + /// Set the channel parameter for the ingress channel. + /// + /// The endpoints representing members for use with unicast are substituted from the + /// for endpoints. A null value can be used when multicast + /// where this contains the multicast endpoint. + /// /// /// the channel parameter for the ingress channel. /// @@ -888,31 +1104,6 @@ public bool OwnsAeronClient() return _ownsAeronClient; } - /// - /// The that is used to provide mutual exclusion in the client. - /// - /// If the is used from only a single thread then the lock can be set to - /// to elide the lock overhead. - /// - /// - /// - /// that is used to provide mutual exclusion in the client. - /// this for a fluent API. - public Context Lock(ILock @lock) - { - _lock = @lock; - return this; - } - - /// - /// Get the that is used to provide mutual exclusion in the client. - /// - /// the that is used to provide mutual exclusion in the client. - public ILock Lock() - { - return _lock; - } - /// /// Is ingress to the cluster exclusively from a single thread for this client? /// @@ -952,11 +1143,55 @@ public Context CredentialsSupplier(ICredentialsSupplier credentialsSupplier) _credentialsSupplier = credentialsSupplier; return this; } + + /// + /// Get the to be used for handling any exceptions. + /// + /// The to be used for handling any exceptions. + public ErrorHandler ErrorHandler() + { + return _errorHandler; + } + + /// + /// Set the to be used for handling any exceptions. + /// + /// Method to handle objects of type Throwable. + /// this for fluent API. + public virtual Context ErrorHandler(ErrorHandler errorHandler) + { + _errorHandler = errorHandler; + return this; + } + + /// + /// Get the function that will be called when polling for egress via + /// . + /// + /// the function that will be called when polling for egress via + /// . + public ISessionMessageListener SessionMessageListener() + { + return _sessionMessageListener; + } + + /// + /// Get the function that will be called when polling for egress via + /// . + /// + /// function that will be called when polling for egress via . + /// this for a fluent API. + public Context SessionMessageListener(ISessionMessageListener listener) + { + _sessionMessageListener = listener; + return this; + } + /// /// Close the context and free applicable resources. /// - /// If the is true then the client will be closed. + /// If is true then the client will be closed. /// /// public void Dispose() diff --git a/src/Adaptive.Cluster/Client/AuthenticationException.cs b/src/Adaptive.Cluster/Client/AuthenticationException.cs new file mode 100644 index 00000000..bd646b4b --- /dev/null +++ b/src/Adaptive.Cluster/Client/AuthenticationException.cs @@ -0,0 +1,28 @@ +using System; +using System.Runtime.Serialization; +using Adaptive.Aeron.Exceptions; + +namespace Adaptive.Cluster.Client +{ + /// + /// Used to indicated a failed authentication attempt when connecting to the cluster. + /// + public class AuthenticationException : AeronException + { + public AuthenticationException() + { + } + + protected AuthenticationException(SerializationInfo info, StreamingContext context) : base(info, context) + { + } + + public AuthenticationException(string message) : base(message) + { + } + + public AuthenticationException(string message, Exception innerException) : base(message, innerException) + { + } + } +} \ No newline at end of file diff --git a/src/Adaptive.Cluster/Client/ClusterException.cs b/src/Adaptive.Cluster/Client/ClusterException.cs new file mode 100644 index 00000000..3148b623 --- /dev/null +++ b/src/Adaptive.Cluster/Client/ClusterException.cs @@ -0,0 +1,25 @@ +using System; +using System.Runtime.Serialization; +using Adaptive.Aeron.Exceptions; + +namespace Adaptive.Cluster.Client +{ + public class ClusterException : AeronException + { + public ClusterException() + { + } + + protected ClusterException(SerializationInfo info, StreamingContext context) : base(info, context) + { + } + + public ClusterException(string message) : base(message) + { + } + + public ClusterException(string message, Exception innerException) : base(message, innerException) + { + } + } +} \ No newline at end of file diff --git a/src/Adaptive.Cluster/Client/EgressAdapter.cs b/src/Adaptive.Cluster/Client/EgressAdapter.cs index 917a3eb0..de4a7af8 100644 --- a/src/Adaptive.Cluster/Client/EgressAdapter.cs +++ b/src/Adaptive.Cluster/Client/EgressAdapter.cs @@ -48,6 +48,29 @@ public void OnFragment(IDirectBuffer buffer, int offset, int length, Header head int templateId = _messageHeaderDecoder.TemplateId(); switch (templateId) { + case SessionHeaderDecoder.TEMPLATE_ID: + { + _sessionHeaderDecoder.Wrap( + buffer, + offset + MessageHeaderDecoder.ENCODED_LENGTH, + _messageHeaderDecoder.BlockLength(), + _messageHeaderDecoder.Version()); + + var sessionId = _sessionHeaderDecoder.ClusterSessionId(); + if (sessionId == _clusterSessionId) + { + _listener.OnMessage( + _sessionHeaderDecoder.CorrelationId(), + _sessionHeaderDecoder.ClusterSessionId(), + _sessionHeaderDecoder.Timestamp(), + buffer, + offset + SESSION_HEADER_LENGTH, + length - SESSION_HEADER_LENGTH, + header); + } + break; + } + case SessionEventDecoder.TEMPLATE_ID: { _sessionEventDecoder.Wrap( @@ -62,7 +85,8 @@ public void OnFragment(IDirectBuffer buffer, int offset, int length, Header head _listener.SessionEvent( _sessionEventDecoder.CorrelationId(), - _sessionEventDecoder.ClusterSessionId(), + sessionId, + _sessionEventDecoder.LeaderMemberId(), _sessionEventDecoder.Code(), _sessionEventDecoder.Detail()); } @@ -82,11 +106,7 @@ public void OnFragment(IDirectBuffer buffer, int offset, int length, Header head if (sessionId == _clusterSessionId) { _listener.NewLeader( - _newLeaderEventDecoder.LastCorrelationId(), - _newLeaderEventDecoder.ClusterSessionId(), - _newLeaderEventDecoder.LastMessageTimestamp(), - _newLeaderEventDecoder.LeadershipTimestamp(), - _newLeaderEventDecoder.LeadershipTermId(), + sessionId, _newLeaderEventDecoder.LeaderMemberId(), _newLeaderEventDecoder.MemberEndpoints()); } @@ -94,34 +114,11 @@ public void OnFragment(IDirectBuffer buffer, int offset, int length, Header head break; } - case SessionHeaderDecoder.TEMPLATE_ID: - { - _sessionHeaderDecoder.Wrap( - buffer, - offset + MessageHeaderDecoder.ENCODED_LENGTH, - _messageHeaderDecoder.BlockLength(), - _messageHeaderDecoder.Version()); - - var sessionId = _sessionHeaderDecoder.ClusterSessionId(); - if (sessionId == _clusterSessionId) - { - _listener.OnMessage( - _sessionHeaderDecoder.CorrelationId(), - _sessionHeaderDecoder.ClusterSessionId(), - _sessionHeaderDecoder.Timestamp(), - buffer, - offset + SESSION_HEADER_LENGTH, - length - SESSION_HEADER_LENGTH, - header); - } - break; - } - case ChallengeDecoder.TEMPLATE_ID: break; default: - throw new InvalidOperationException("unknown templateId: " + templateId); + throw new ClusterException("unknown templateId: " + templateId); } } } diff --git a/src/Adaptive.Cluster/Client/EgressListener.cs b/src/Adaptive.Cluster/Client/EgressListener.cs deleted file mode 100644 index cd18bd84..00000000 --- a/src/Adaptive.Cluster/Client/EgressListener.cs +++ /dev/null @@ -1,33 +0,0 @@ -using Adaptive.Aeron.LogBuffer; -using Adaptive.Agrona; -using Adaptive.Cluster.Codecs; - -namespace Adaptive.Cluster.Client -{ - public interface IEgressListener - { - void SessionEvent( - long correlationId, - long clusterSessionId, - EventCode code, - string detail); - - void NewLeader( - long correlationId, - long clusterSessionId, - long lastMessageTimestamp, - long leadershipTimestamp, - long leadershipTermId, - int leaderMemberId, - string memberEndpoints); - - void OnMessage( - long correlationId, - long clusterSessionId, - long timestamp, - IDirectBuffer buffer, - int offset, - int length, - Header header); - } -} \ No newline at end of file diff --git a/src/Adaptive.Cluster/Client/EgressPoller.cs b/src/Adaptive.Cluster/Client/EgressPoller.cs index 3c289ec6..7f940876 100644 --- a/src/Adaptive.Cluster/Client/EgressPoller.cs +++ b/src/Adaptive.Cluster/Client/EgressPoller.cs @@ -16,9 +16,10 @@ public class EgressPoller : IControlledFragmentHandler private readonly ChallengeDecoder challengeDecoder = new ChallengeDecoder(); private readonly ControlledFragmentAssembler fragmentAssembler; private readonly Subscription subscription; - private long clusterSessionId = -1; - private long correlationId = -1; - private int templateId = -1; + private long clusterSessionId = Aeron.Aeron.NULL_VALUE; + private long correlationId = Aeron.Aeron.NULL_VALUE; + private int templateId = Aeron.Aeron.NULL_VALUE; + private int leaderMemberId = Aeron.Aeron.NULL_VALUE; private bool pollComplete; private EventCode eventCode; private string detail = ""; @@ -51,22 +52,31 @@ public int TemplateId() } /// - /// Cluster session id of the last polled event or -1 if poll returned nothing. + /// Cluster session id of the last polled event or if poll returned nothing. /// - /// cluster session id of the last polled event or -1 if unrecognised template. + /// cluster session id of the last polled event or if unrecognised template. public long ClusterSessionId() { return clusterSessionId; } /// - /// Correlation id of the last polled event or -1 if poll returned nothing. + /// Correlation id of the last polled event or if poll returned nothing. /// - /// correlation id of the last polled event or -1 if unrecognised template. + /// correlation id of the last polled event or if unrecognised template. public long CorrelationId() { return correlationId; } + + /// + /// Leader cluster member id of the last polled event or if poll returned nothing. + /// + /// leader cluster member id of the last polled event or if poll returned nothing. + public int LeaderMemberId() + { + return leaderMemberId; + } /// /// Get the event code returned from the last session event. @@ -115,9 +125,10 @@ public bool IsChallenged() public int Poll() { - clusterSessionId = -1; - correlationId = -1; - templateId = -1; + clusterSessionId = Aeron.Aeron.NULL_VALUE; + correlationId = Aeron.Aeron.NULL_VALUE; + templateId = Aeron.Aeron.NULL_VALUE; + leaderMemberId = Aeron.Aeron.NULL_VALUE; eventCode = Codecs.EventCode.NULL_VALUE; detail = ""; encodedChallenge = null; @@ -139,6 +150,7 @@ public ControlledFragmentHandlerAction OnFragment(IDirectBuffer buffer, int offs clusterSessionId = sessionEventDecoder.ClusterSessionId(); correlationId = sessionEventDecoder.CorrelationId(); + leaderMemberId = sessionEventDecoder.LeaderMemberId(); eventCode = sessionEventDecoder.Code(); detail = sessionEventDecoder.Detail(); break; @@ -170,7 +182,7 @@ public ControlledFragmentHandlerAction OnFragment(IDirectBuffer buffer, int offs break; default: - throw new InvalidOperationException("unknown templateId: " + templateId); + throw new ClusterException("unknown templateId: " + templateId); } pollComplete = true; diff --git a/src/Adaptive.Cluster/Client/IEgressListener.cs b/src/Adaptive.Cluster/Client/IEgressListener.cs new file mode 100644 index 00000000..a85fa79b --- /dev/null +++ b/src/Adaptive.Cluster/Client/IEgressListener.cs @@ -0,0 +1,14 @@ +using Adaptive.Cluster.Codecs; + +namespace Adaptive.Cluster.Client +{ + /// + /// Interface for consuming messages coming from the cluster that also include administrative events. + /// + public interface IEgressListener : ISessionMessageListener + { + void SessionEvent(long correlationId, long clusterSessionId, int leaderMemberId, EventCode code, string detail); + + void NewLeader(long clusterSessionId, int leaderMemberId, string memberEndpoints); + } +} \ No newline at end of file diff --git a/src/Adaptive.Cluster/Client/ISessionMessageListener.cs b/src/Adaptive.Cluster/Client/ISessionMessageListener.cs new file mode 100644 index 00000000..301d5212 --- /dev/null +++ b/src/Adaptive.Cluster/Client/ISessionMessageListener.cs @@ -0,0 +1,30 @@ +using Adaptive.Aeron.LogBuffer; +using Adaptive.Agrona; + +namespace Adaptive.Cluster.Client +{ + /// + /// Interface for consuming messages on a given session from the cluster. + /// + public interface ISessionMessageListener + { + /// + /// Message event returned from the cluster. + /// + /// to associate with the ingress message to which it is correlated. + /// to which the message belongs. + /// at which the correlated ingress was sequenced in the cluster. + /// containing the message. + /// at which the message begins. + /// of the message in bytes. + /// Aeron header associated with the message fragment. + void OnMessage( + long correlationId, + long clusterSessionId, + long timestamp, + IDirectBuffer buffer, + int offset, + int length, + Header header); + } +} \ No newline at end of file diff --git a/src/Adaptive.Cluster/Client/SessionDecorator.cs b/src/Adaptive.Cluster/Client/SessionDecorator.cs index 041239a4..2433ad9a 100644 --- a/src/Adaptive.Cluster/Client/SessionDecorator.cs +++ b/src/Adaptive.Cluster/Client/SessionDecorator.cs @@ -21,6 +21,7 @@ public class SessionDecorator /// public static readonly int SESSION_HEADER_LENGTH = MessageHeaderEncoder.ENCODED_LENGTH + SessionHeaderEncoder.BLOCK_LENGTH; + private long lastCorrelationId; private readonly DirectBufferVector[] vectors = new DirectBufferVector[2]; private readonly DirectBufferVector messageBuffer = new DirectBufferVector(); private readonly SessionHeaderEncoder sessionHeaderEncoder = new SessionHeaderEncoder(); @@ -29,13 +30,19 @@ public class SessionDecorator /// Construct a new session header wrapper. /// /// that has been allocated by the cluster. - public SessionDecorator(long clusterSessionId) + /// the last correlation id that was sent to the cluster with this session. + public SessionDecorator(long clusterSessionId, long lastCorrelationId = Aeron.Aeron.NULL_VALUE) { UnsafeBuffer headerBuffer = new UnsafeBuffer(new byte[SESSION_HEADER_LENGTH]); - sessionHeaderEncoder.WrapAndApplyHeader(headerBuffer, 0, new MessageHeaderEncoder()).ClusterSessionId(clusterSessionId); + sessionHeaderEncoder + .WrapAndApplyHeader(headerBuffer, 0, new MessageHeaderEncoder()) + .ClusterSessionId(clusterSessionId) + .Timestamp(Aeron.Aeron.NULL_VALUE); vectors[0] = new DirectBufferVector(headerBuffer, 0, SESSION_HEADER_LENGTH); vectors[1] = messageBuffer; + + this.lastCorrelationId = lastCorrelationId; } /// @@ -47,6 +54,27 @@ public void ClusterSessionId(long clusterSessionId) sessionHeaderEncoder.ClusterSessionId(clusterSessionId); } + /// + /// Get the last correlation id generated for this session. Starts with . + /// + /// the last correlation id generated for this session. + /// + public long LastCorrelationId() + { + return lastCorrelationId; + } + + /// + /// Generate a new correlation id to be used for this session. This is not threadsafe. If you require a threadsafe + /// correlation id generation then use . + /// + /// a new correlation id to be used for this session. + /// + public long NextCorrelationId() + { + return ++lastCorrelationId; + } + /// /// Non-blocking publish of a partial buffer containing a message plus session header to a cluster. /// @@ -63,29 +91,9 @@ public void ClusterSessionId(long clusterSessionId) public long Offer(Publication publication, long correlationId, IDirectBuffer buffer, int offset, int length) { sessionHeaderEncoder.CorrelationId(correlationId); - sessionHeaderEncoder.Timestamp(0L); messageBuffer.Reset(buffer, offset, length); return publication.Offer(vectors, null); } - - /// - /// Non-blocking publish of a partial buffer containing a message plus session header to a cluster. - /// - /// to be offer to. - /// to be used to identify the message to the cluster. - /// for the message. - /// containing message. - /// offset in the buffer at which the encoded message begins. - /// in bytes of the encoded message. - /// the same as . - public long Offer(Publication publication, long correlationId, long timestampMs, IDirectBuffer buffer, int offset, int length) - { - sessionHeaderEncoder.CorrelationId(correlationId); - sessionHeaderEncoder.Timestamp(timestampMs); - messageBuffer.Reset(buffer, offset, length); - - return publication.Offer(vectors); - } } } \ No newline at end of file diff --git a/src/Adaptive.Cluster/Codecs/AppendedPositionDecoder.cs b/src/Adaptive.Cluster/Codecs/AppendedPositionDecoder.cs index 88f86048..acca2762 100644 --- a/src/Adaptive.Cluster/Codecs/AppendedPositionDecoder.cs +++ b/src/Adaptive.Cluster/Codecs/AppendedPositionDecoder.cs @@ -88,27 +88,27 @@ public void Limit(int limit) this._limit = limit; } - public static int LogPositionId() + public static int LeadershipTermIdId() { return 1; } - public static int LogPositionSinceVersion() + public static int LeadershipTermIdSinceVersion() { return 0; } - public static int LogPositionEncodingOffset() + public static int LeadershipTermIdEncodingOffset() { return 0; } - public static int LogPositionEncodingLength() + public static int LeadershipTermIdEncodingLength() { return 8; } - public static string LogPositionMetaAttribute(MetaAttribute metaAttribute) + public static string LeadershipTermIdMetaAttribute(MetaAttribute metaAttribute) { switch (metaAttribute) { @@ -121,48 +121,48 @@ public static string LogPositionMetaAttribute(MetaAttribute metaAttribute) return ""; } - public static long LogPositionNullValue() + public static long LeadershipTermIdNullValue() { return -9223372036854775808L; } - public static long LogPositionMinValue() + public static long LeadershipTermIdMinValue() { return -9223372036854775807L; } - public static long LogPositionMaxValue() + public static long LeadershipTermIdMaxValue() { return 9223372036854775807L; } - public long LogPosition() + public long LeadershipTermId() { return _buffer.GetLong(_offset + 0, ByteOrder.LittleEndian); } - public static int LeadershipTermIdId() + public static int LogPositionId() { return 2; } - public static int LeadershipTermIdSinceVersion() + public static int LogPositionSinceVersion() { return 0; } - public static int LeadershipTermIdEncodingOffset() + public static int LogPositionEncodingOffset() { return 8; } - public static int LeadershipTermIdEncodingLength() + public static int LogPositionEncodingLength() { return 8; } - public static string LeadershipTermIdMetaAttribute(MetaAttribute metaAttribute) + public static string LogPositionMetaAttribute(MetaAttribute metaAttribute) { switch (metaAttribute) { @@ -175,22 +175,22 @@ public static string LeadershipTermIdMetaAttribute(MetaAttribute metaAttribute) return ""; } - public static long LeadershipTermIdNullValue() + public static long LogPositionNullValue() { return -9223372036854775808L; } - public static long LeadershipTermIdMinValue() + public static long LogPositionMinValue() { return -9223372036854775807L; } - public static long LeadershipTermIdMaxValue() + public static long LogPositionMaxValue() { return 9223372036854775807L; } - public long LeadershipTermId() + public long LogPosition() { return _buffer.GetLong(_offset + 8, ByteOrder.LittleEndian); } @@ -279,16 +279,16 @@ public StringBuilder AppendTo(StringBuilder builder) } builder.Append(BLOCK_LENGTH); builder.Append("):"); - //Token{signal=BEGIN_FIELD, name='logPosition', referencedName='null', description='null', id=1, version=0, deprecated=0, encodedLength=0, offset=0, componentTokenCount=3, encoding=Encoding{presence=REQUIRED, primitiveType=null, byteOrder=LITTLE_ENDIAN, minValue=null, maxValue=null, nullValue=null, constValue=null, characterEncoding='null', epoch='unix', timeUnit=nanosecond, semanticType='null'}} + //Token{signal=BEGIN_FIELD, name='leadershipTermId', referencedName='null', description='null', id=1, version=0, deprecated=0, encodedLength=0, offset=0, componentTokenCount=3, encoding=Encoding{presence=REQUIRED, primitiveType=null, byteOrder=LITTLE_ENDIAN, minValue=null, maxValue=null, nullValue=null, constValue=null, characterEncoding='null', epoch='unix', timeUnit=nanosecond, semanticType='null'}} //Token{signal=ENCODING, name='int64', referencedName='null', description='null', id=-1, version=0, deprecated=0, encodedLength=8, offset=0, componentTokenCount=1, encoding=Encoding{presence=REQUIRED, primitiveType=INT64, byteOrder=LITTLE_ENDIAN, minValue=null, maxValue=null, nullValue=null, constValue=null, characterEncoding='null', epoch='unix', timeUnit=nanosecond, semanticType='null'}} - builder.Append("LogPosition="); - builder.Append(LogPosition()); - builder.Append('|'); - //Token{signal=BEGIN_FIELD, name='leadershipTermId', referencedName='null', description='null', id=2, version=0, deprecated=0, encodedLength=0, offset=8, componentTokenCount=3, encoding=Encoding{presence=REQUIRED, primitiveType=null, byteOrder=LITTLE_ENDIAN, minValue=null, maxValue=null, nullValue=null, constValue=null, characterEncoding='null', epoch='unix', timeUnit=nanosecond, semanticType='null'}} - //Token{signal=ENCODING, name='int64', referencedName='null', description='null', id=-1, version=0, deprecated=0, encodedLength=8, offset=8, componentTokenCount=1, encoding=Encoding{presence=REQUIRED, primitiveType=INT64, byteOrder=LITTLE_ENDIAN, minValue=null, maxValue=null, nullValue=null, constValue=null, characterEncoding='null', epoch='unix', timeUnit=nanosecond, semanticType='null'}} builder.Append("LeadershipTermId="); builder.Append(LeadershipTermId()); builder.Append('|'); + //Token{signal=BEGIN_FIELD, name='logPosition', referencedName='null', description='null', id=2, version=0, deprecated=0, encodedLength=0, offset=8, componentTokenCount=3, encoding=Encoding{presence=REQUIRED, primitiveType=null, byteOrder=LITTLE_ENDIAN, minValue=null, maxValue=null, nullValue=null, constValue=null, characterEncoding='null', epoch='unix', timeUnit=nanosecond, semanticType='null'}} + //Token{signal=ENCODING, name='int64', referencedName='null', description='null', id=-1, version=0, deprecated=0, encodedLength=8, offset=8, componentTokenCount=1, encoding=Encoding{presence=REQUIRED, primitiveType=INT64, byteOrder=LITTLE_ENDIAN, minValue=null, maxValue=null, nullValue=null, constValue=null, characterEncoding='null', epoch='unix', timeUnit=nanosecond, semanticType='null'}} + builder.Append("LogPosition="); + builder.Append(LogPosition()); + builder.Append('|'); //Token{signal=BEGIN_FIELD, name='followerMemberId', referencedName='null', description='null', id=3, version=0, deprecated=0, encodedLength=0, offset=16, componentTokenCount=3, encoding=Encoding{presence=REQUIRED, primitiveType=null, byteOrder=LITTLE_ENDIAN, minValue=null, maxValue=null, nullValue=null, constValue=null, characterEncoding='null', epoch='unix', timeUnit=nanosecond, semanticType='null'}} //Token{signal=ENCODING, name='int32', referencedName='null', description='null', id=-1, version=0, deprecated=0, encodedLength=4, offset=16, componentTokenCount=1, encoding=Encoding{presence=REQUIRED, primitiveType=INT32, byteOrder=LITTLE_ENDIAN, minValue=null, maxValue=null, nullValue=null, constValue=null, characterEncoding='null', epoch='unix', timeUnit=nanosecond, semanticType='null'}} builder.Append("FollowerMemberId="); diff --git a/src/Adaptive.Cluster/Codecs/AppendedPositionEncoder.cs b/src/Adaptive.Cluster/Codecs/AppendedPositionEncoder.cs index 9254c853..ae55302b 100644 --- a/src/Adaptive.Cluster/Codecs/AppendedPositionEncoder.cs +++ b/src/Adaptive.Cluster/Codecs/AppendedPositionEncoder.cs @@ -96,64 +96,64 @@ public void Limit(int limit) this._limit = limit; } - public static int LogPositionEncodingOffset() + public static int LeadershipTermIdEncodingOffset() { return 0; } - public static int LogPositionEncodingLength() + public static int LeadershipTermIdEncodingLength() { return 8; } - public static long LogPositionNullValue() + public static long LeadershipTermIdNullValue() { return -9223372036854775808L; } - public static long LogPositionMinValue() + public static long LeadershipTermIdMinValue() { return -9223372036854775807L; } - public static long LogPositionMaxValue() + public static long LeadershipTermIdMaxValue() { return 9223372036854775807L; } - public AppendedPositionEncoder LogPosition(long value) + public AppendedPositionEncoder LeadershipTermId(long value) { _buffer.PutLong(_offset + 0, value, ByteOrder.LittleEndian); return this; } - public static int LeadershipTermIdEncodingOffset() + public static int LogPositionEncodingOffset() { return 8; } - public static int LeadershipTermIdEncodingLength() + public static int LogPositionEncodingLength() { return 8; } - public static long LeadershipTermIdNullValue() + public static long LogPositionNullValue() { return -9223372036854775808L; } - public static long LeadershipTermIdMinValue() + public static long LogPositionMinValue() { return -9223372036854775807L; } - public static long LeadershipTermIdMaxValue() + public static long LogPositionMaxValue() { return 9223372036854775807L; } - public AppendedPositionEncoder LeadershipTermId(long value) + public AppendedPositionEncoder LogPosition(long value) { _buffer.PutLong(_offset + 8, value, ByteOrder.LittleEndian); return this; diff --git a/src/Adaptive.Cluster/Codecs/CancelTimerDecoder.cs b/src/Adaptive.Cluster/Codecs/CancelTimerDecoder.cs index 3886adde..56a65b5b 100644 --- a/src/Adaptive.Cluster/Codecs/CancelTimerDecoder.cs +++ b/src/Adaptive.Cluster/Codecs/CancelTimerDecoder.cs @@ -10,7 +10,7 @@ namespace Adaptive.Cluster.Codecs { public class CancelTimerDecoder { public const ushort BLOCK_LENGTH = 8; - public const ushort TEMPLATE_ID = 31; + public const ushort TEMPLATE_ID = 32; public const ushort SCHEMA_ID = 1; public const ushort SCHEMA_VERSION = 1; diff --git a/src/Adaptive.Cluster/Codecs/CancelTimerEncoder.cs b/src/Adaptive.Cluster/Codecs/CancelTimerEncoder.cs index 3d0ec5f7..eef4ba59 100644 --- a/src/Adaptive.Cluster/Codecs/CancelTimerEncoder.cs +++ b/src/Adaptive.Cluster/Codecs/CancelTimerEncoder.cs @@ -10,7 +10,7 @@ namespace Adaptive.Cluster.Codecs { public class CancelTimerEncoder { public const ushort BLOCK_LENGTH = 8; - public const ushort TEMPLATE_ID = 31; + public const ushort TEMPLATE_ID = 32; public const ushort SCHEMA_ID = 1; public const ushort SCHEMA_VERSION = 1; diff --git a/src/Adaptive.Cluster/Codecs/CanvassPositionDecoder.cs b/src/Adaptive.Cluster/Codecs/CanvassPositionDecoder.cs index 07dec85b..d551669a 100644 --- a/src/Adaptive.Cluster/Codecs/CanvassPositionDecoder.cs +++ b/src/Adaptive.Cluster/Codecs/CanvassPositionDecoder.cs @@ -88,27 +88,27 @@ public void Limit(int limit) this._limit = limit; } - public static int LogPositionId() + public static int LogLeadershipTermIdId() { return 1; } - public static int LogPositionSinceVersion() + public static int LogLeadershipTermIdSinceVersion() { return 0; } - public static int LogPositionEncodingOffset() + public static int LogLeadershipTermIdEncodingOffset() { return 0; } - public static int LogPositionEncodingLength() + public static int LogLeadershipTermIdEncodingLength() { return 8; } - public static string LogPositionMetaAttribute(MetaAttribute metaAttribute) + public static string LogLeadershipTermIdMetaAttribute(MetaAttribute metaAttribute) { switch (metaAttribute) { @@ -121,48 +121,48 @@ public static string LogPositionMetaAttribute(MetaAttribute metaAttribute) return ""; } - public static long LogPositionNullValue() + public static long LogLeadershipTermIdNullValue() { return -9223372036854775808L; } - public static long LogPositionMinValue() + public static long LogLeadershipTermIdMinValue() { return -9223372036854775807L; } - public static long LogPositionMaxValue() + public static long LogLeadershipTermIdMaxValue() { return 9223372036854775807L; } - public long LogPosition() + public long LogLeadershipTermId() { return _buffer.GetLong(_offset + 0, ByteOrder.LittleEndian); } - public static int LeadershipTermIdId() + public static int LogPositionId() { return 2; } - public static int LeadershipTermIdSinceVersion() + public static int LogPositionSinceVersion() { return 0; } - public static int LeadershipTermIdEncodingOffset() + public static int LogPositionEncodingOffset() { return 8; } - public static int LeadershipTermIdEncodingLength() + public static int LogPositionEncodingLength() { return 8; } - public static string LeadershipTermIdMetaAttribute(MetaAttribute metaAttribute) + public static string LogPositionMetaAttribute(MetaAttribute metaAttribute) { switch (metaAttribute) { @@ -175,22 +175,22 @@ public static string LeadershipTermIdMetaAttribute(MetaAttribute metaAttribute) return ""; } - public static long LeadershipTermIdNullValue() + public static long LogPositionNullValue() { return -9223372036854775808L; } - public static long LeadershipTermIdMinValue() + public static long LogPositionMinValue() { return -9223372036854775807L; } - public static long LeadershipTermIdMaxValue() + public static long LogPositionMaxValue() { return 9223372036854775807L; } - public long LeadershipTermId() + public long LogPosition() { return _buffer.GetLong(_offset + 8, ByteOrder.LittleEndian); } @@ -279,15 +279,15 @@ public StringBuilder AppendTo(StringBuilder builder) } builder.Append(BLOCK_LENGTH); builder.Append("):"); - //Token{signal=BEGIN_FIELD, name='logPosition', referencedName='null', description='null', id=1, version=0, deprecated=0, encodedLength=0, offset=0, componentTokenCount=3, encoding=Encoding{presence=REQUIRED, primitiveType=null, byteOrder=LITTLE_ENDIAN, minValue=null, maxValue=null, nullValue=null, constValue=null, characterEncoding='null', epoch='unix', timeUnit=nanosecond, semanticType='null'}} + //Token{signal=BEGIN_FIELD, name='logLeadershipTermId', referencedName='null', description='null', id=1, version=0, deprecated=0, encodedLength=0, offset=0, componentTokenCount=3, encoding=Encoding{presence=REQUIRED, primitiveType=null, byteOrder=LITTLE_ENDIAN, minValue=null, maxValue=null, nullValue=null, constValue=null, characterEncoding='null', epoch='unix', timeUnit=nanosecond, semanticType='null'}} //Token{signal=ENCODING, name='int64', referencedName='null', description='null', id=-1, version=0, deprecated=0, encodedLength=8, offset=0, componentTokenCount=1, encoding=Encoding{presence=REQUIRED, primitiveType=INT64, byteOrder=LITTLE_ENDIAN, minValue=null, maxValue=null, nullValue=null, constValue=null, characterEncoding='null', epoch='unix', timeUnit=nanosecond, semanticType='null'}} - builder.Append("LogPosition="); - builder.Append(LogPosition()); + builder.Append("LogLeadershipTermId="); + builder.Append(LogLeadershipTermId()); builder.Append('|'); - //Token{signal=BEGIN_FIELD, name='leadershipTermId', referencedName='null', description='null', id=2, version=0, deprecated=0, encodedLength=0, offset=8, componentTokenCount=3, encoding=Encoding{presence=REQUIRED, primitiveType=null, byteOrder=LITTLE_ENDIAN, minValue=null, maxValue=null, nullValue=null, constValue=null, characterEncoding='null', epoch='unix', timeUnit=nanosecond, semanticType='null'}} + //Token{signal=BEGIN_FIELD, name='logPosition', referencedName='null', description='null', id=2, version=0, deprecated=0, encodedLength=0, offset=8, componentTokenCount=3, encoding=Encoding{presence=REQUIRED, primitiveType=null, byteOrder=LITTLE_ENDIAN, minValue=null, maxValue=null, nullValue=null, constValue=null, characterEncoding='null', epoch='unix', timeUnit=nanosecond, semanticType='null'}} //Token{signal=ENCODING, name='int64', referencedName='null', description='null', id=-1, version=0, deprecated=0, encodedLength=8, offset=8, componentTokenCount=1, encoding=Encoding{presence=REQUIRED, primitiveType=INT64, byteOrder=LITTLE_ENDIAN, minValue=null, maxValue=null, nullValue=null, constValue=null, characterEncoding='null', epoch='unix', timeUnit=nanosecond, semanticType='null'}} - builder.Append("LeadershipTermId="); - builder.Append(LeadershipTermId()); + builder.Append("LogPosition="); + builder.Append(LogPosition()); builder.Append('|'); //Token{signal=BEGIN_FIELD, name='followerMemberId', referencedName='null', description='null', id=3, version=0, deprecated=0, encodedLength=0, offset=16, componentTokenCount=3, encoding=Encoding{presence=REQUIRED, primitiveType=null, byteOrder=LITTLE_ENDIAN, minValue=null, maxValue=null, nullValue=null, constValue=null, characterEncoding='null', epoch='unix', timeUnit=nanosecond, semanticType='null'}} //Token{signal=ENCODING, name='int32', referencedName='null', description='null', id=-1, version=0, deprecated=0, encodedLength=4, offset=16, componentTokenCount=1, encoding=Encoding{presence=REQUIRED, primitiveType=INT32, byteOrder=LITTLE_ENDIAN, minValue=null, maxValue=null, nullValue=null, constValue=null, characterEncoding='null', epoch='unix', timeUnit=nanosecond, semanticType='null'}} diff --git a/src/Adaptive.Cluster/Codecs/CanvassPositionEncoder.cs b/src/Adaptive.Cluster/Codecs/CanvassPositionEncoder.cs index ad6651e0..3735d62b 100644 --- a/src/Adaptive.Cluster/Codecs/CanvassPositionEncoder.cs +++ b/src/Adaptive.Cluster/Codecs/CanvassPositionEncoder.cs @@ -96,64 +96,64 @@ public void Limit(int limit) this._limit = limit; } - public static int LogPositionEncodingOffset() + public static int LogLeadershipTermIdEncodingOffset() { return 0; } - public static int LogPositionEncodingLength() + public static int LogLeadershipTermIdEncodingLength() { return 8; } - public static long LogPositionNullValue() + public static long LogLeadershipTermIdNullValue() { return -9223372036854775808L; } - public static long LogPositionMinValue() + public static long LogLeadershipTermIdMinValue() { return -9223372036854775807L; } - public static long LogPositionMaxValue() + public static long LogLeadershipTermIdMaxValue() { return 9223372036854775807L; } - public CanvassPositionEncoder LogPosition(long value) + public CanvassPositionEncoder LogLeadershipTermId(long value) { _buffer.PutLong(_offset + 0, value, ByteOrder.LittleEndian); return this; } - public static int LeadershipTermIdEncodingOffset() + public static int LogPositionEncodingOffset() { return 8; } - public static int LeadershipTermIdEncodingLength() + public static int LogPositionEncodingLength() { return 8; } - public static long LeadershipTermIdNullValue() + public static long LogPositionNullValue() { return -9223372036854775808L; } - public static long LeadershipTermIdMinValue() + public static long LogPositionMinValue() { return -9223372036854775807L; } - public static long LeadershipTermIdMaxValue() + public static long LogPositionMaxValue() { return 9223372036854775807L; } - public CanvassPositionEncoder LeadershipTermId(long value) + public CanvassPositionEncoder LogPosition(long value) { _buffer.PutLong(_offset + 8, value, ByteOrder.LittleEndian); return this; diff --git a/src/Adaptive.Cluster/Codecs/CatchupPositionDecoder.cs b/src/Adaptive.Cluster/Codecs/CatchupPositionDecoder.cs new file mode 100644 index 00000000..aa654f28 --- /dev/null +++ b/src/Adaptive.Cluster/Codecs/CatchupPositionDecoder.cs @@ -0,0 +1,302 @@ +/* Generated SBE (Simple Binary Encoding) message codec */ +using System; +using System.Text; +using System.Collections.Generic; +using Adaptive.Agrona; + + +namespace Adaptive.Cluster.Codecs { + +public class CatchupPositionDecoder +{ + public const ushort BLOCK_LENGTH = 20; + public const ushort TEMPLATE_ID = 56; + public const ushort SCHEMA_ID = 1; + public const ushort SCHEMA_VERSION = 1; + + private CatchupPositionDecoder _parentMessage; + private IDirectBuffer _buffer; + protected int _offset; + protected int _limit; + protected int _actingBlockLength; + protected int _actingVersion; + + public CatchupPositionDecoder() + { + _parentMessage = this; + } + + public ushort SbeBlockLength() + { + return BLOCK_LENGTH; + } + + public ushort SbeTemplateId() + { + return TEMPLATE_ID; + } + + public ushort SbeSchemaId() + { + return SCHEMA_ID; + } + + public ushort SbeSchemaVersion() + { + return SCHEMA_VERSION; + } + + public string SbeSemanticType() + { + return ""; + } + + public IDirectBuffer Buffer() + { + return _buffer; + } + + public int Offset() + { + return _offset; + } + + public CatchupPositionDecoder Wrap( + IDirectBuffer buffer, int offset, int actingBlockLength, int actingVersion) + { + this._buffer = buffer; + this._offset = offset; + this._actingBlockLength = actingBlockLength; + this._actingVersion = actingVersion; + Limit(offset + actingBlockLength); + + return this; + } + + public int EncodedLength() + { + return _limit - _offset; + } + + public int Limit() + { + return _limit; + } + + public void Limit(int limit) + { + this._limit = limit; + } + + public static int LeadershipTermIdId() + { + return 1; + } + + public static int LeadershipTermIdSinceVersion() + { + return 0; + } + + public static int LeadershipTermIdEncodingOffset() + { + return 0; + } + + public static int LeadershipTermIdEncodingLength() + { + return 8; + } + + public static string LeadershipTermIdMetaAttribute(MetaAttribute metaAttribute) + { + switch (metaAttribute) + { + case MetaAttribute.EPOCH: return "unix"; + case MetaAttribute.TIME_UNIT: return "nanosecond"; + case MetaAttribute.SEMANTIC_TYPE: return ""; + case MetaAttribute.PRESENCE: return "required"; + } + + return ""; + } + + public static long LeadershipTermIdNullValue() + { + return -9223372036854775808L; + } + + public static long LeadershipTermIdMinValue() + { + return -9223372036854775807L; + } + + public static long LeadershipTermIdMaxValue() + { + return 9223372036854775807L; + } + + public long LeadershipTermId() + { + return _buffer.GetLong(_offset + 0, ByteOrder.LittleEndian); + } + + + public static int LogPositionId() + { + return 2; + } + + public static int LogPositionSinceVersion() + { + return 0; + } + + public static int LogPositionEncodingOffset() + { + return 8; + } + + public static int LogPositionEncodingLength() + { + return 8; + } + + public static string LogPositionMetaAttribute(MetaAttribute metaAttribute) + { + switch (metaAttribute) + { + case MetaAttribute.EPOCH: return "unix"; + case MetaAttribute.TIME_UNIT: return "nanosecond"; + case MetaAttribute.SEMANTIC_TYPE: return ""; + case MetaAttribute.PRESENCE: return "required"; + } + + return ""; + } + + public static long LogPositionNullValue() + { + return -9223372036854775808L; + } + + public static long LogPositionMinValue() + { + return -9223372036854775807L; + } + + public static long LogPositionMaxValue() + { + return 9223372036854775807L; + } + + public long LogPosition() + { + return _buffer.GetLong(_offset + 8, ByteOrder.LittleEndian); + } + + + public static int FollowerMemberIdId() + { + return 3; + } + + public static int FollowerMemberIdSinceVersion() + { + return 0; + } + + public static int FollowerMemberIdEncodingOffset() + { + return 16; + } + + public static int FollowerMemberIdEncodingLength() + { + return 4; + } + + public static string FollowerMemberIdMetaAttribute(MetaAttribute metaAttribute) + { + switch (metaAttribute) + { + case MetaAttribute.EPOCH: return "unix"; + case MetaAttribute.TIME_UNIT: return "nanosecond"; + case MetaAttribute.SEMANTIC_TYPE: return ""; + case MetaAttribute.PRESENCE: return "required"; + } + + return ""; + } + + public static int FollowerMemberIdNullValue() + { + return -2147483648; + } + + public static int FollowerMemberIdMinValue() + { + return -2147483647; + } + + public static int FollowerMemberIdMaxValue() + { + return 2147483647; + } + + public int FollowerMemberId() + { + return _buffer.GetInt(_offset + 16, ByteOrder.LittleEndian); + } + + + + public override string ToString() + { + return AppendTo(new StringBuilder(100)).ToString(); + } + + public StringBuilder AppendTo(StringBuilder builder) + { + int originalLimit = Limit(); + Limit(_offset + _actingBlockLength); + builder.Append("[CatchupPosition](sbeTemplateId="); + builder.Append(TEMPLATE_ID); + builder.Append("|sbeSchemaId="); + builder.Append(SCHEMA_ID); + builder.Append("|sbeSchemaVersion="); + if (_parentMessage._actingVersion != SCHEMA_VERSION) + { + builder.Append(_parentMessage._actingVersion); + builder.Append('/'); + } + builder.Append(SCHEMA_VERSION); + builder.Append("|sbeBlockLength="); + if (_actingBlockLength != BLOCK_LENGTH) + { + builder.Append(_actingBlockLength); + builder.Append('/'); + } + builder.Append(BLOCK_LENGTH); + builder.Append("):"); + //Token{signal=BEGIN_FIELD, name='leadershipTermId', referencedName='null', description='null', id=1, version=0, deprecated=0, encodedLength=0, offset=0, componentTokenCount=3, encoding=Encoding{presence=REQUIRED, primitiveType=null, byteOrder=LITTLE_ENDIAN, minValue=null, maxValue=null, nullValue=null, constValue=null, characterEncoding='null', epoch='unix', timeUnit=nanosecond, semanticType='null'}} + //Token{signal=ENCODING, name='int64', referencedName='null', description='null', id=-1, version=0, deprecated=0, encodedLength=8, offset=0, componentTokenCount=1, encoding=Encoding{presence=REQUIRED, primitiveType=INT64, byteOrder=LITTLE_ENDIAN, minValue=null, maxValue=null, nullValue=null, constValue=null, characterEncoding='null', epoch='unix', timeUnit=nanosecond, semanticType='null'}} + builder.Append("LeadershipTermId="); + builder.Append(LeadershipTermId()); + builder.Append('|'); + //Token{signal=BEGIN_FIELD, name='logPosition', referencedName='null', description='null', id=2, version=0, deprecated=0, encodedLength=0, offset=8, componentTokenCount=3, encoding=Encoding{presence=REQUIRED, primitiveType=null, byteOrder=LITTLE_ENDIAN, minValue=null, maxValue=null, nullValue=null, constValue=null, characterEncoding='null', epoch='unix', timeUnit=nanosecond, semanticType='null'}} + //Token{signal=ENCODING, name='int64', referencedName='null', description='null', id=-1, version=0, deprecated=0, encodedLength=8, offset=8, componentTokenCount=1, encoding=Encoding{presence=REQUIRED, primitiveType=INT64, byteOrder=LITTLE_ENDIAN, minValue=null, maxValue=null, nullValue=null, constValue=null, characterEncoding='null', epoch='unix', timeUnit=nanosecond, semanticType='null'}} + builder.Append("LogPosition="); + builder.Append(LogPosition()); + builder.Append('|'); + //Token{signal=BEGIN_FIELD, name='followerMemberId', referencedName='null', description='null', id=3, version=0, deprecated=0, encodedLength=0, offset=16, componentTokenCount=3, encoding=Encoding{presence=REQUIRED, primitiveType=null, byteOrder=LITTLE_ENDIAN, minValue=null, maxValue=null, nullValue=null, constValue=null, characterEncoding='null', epoch='unix', timeUnit=nanosecond, semanticType='null'}} + //Token{signal=ENCODING, name='int32', referencedName='null', description='null', id=-1, version=0, deprecated=0, encodedLength=4, offset=16, componentTokenCount=1, encoding=Encoding{presence=REQUIRED, primitiveType=INT32, byteOrder=LITTLE_ENDIAN, minValue=null, maxValue=null, nullValue=null, constValue=null, characterEncoding='null', epoch='unix', timeUnit=nanosecond, semanticType='null'}} + builder.Append("FollowerMemberId="); + builder.Append(FollowerMemberId()); + + Limit(originalLimit); + + return builder; + } +} +} diff --git a/src/Adaptive.Cluster/Codecs/ClusterActionAckEncoder.cs b/src/Adaptive.Cluster/Codecs/CatchupPositionEncoder.cs similarity index 74% rename from src/Adaptive.Cluster/Codecs/ClusterActionAckEncoder.cs rename to src/Adaptive.Cluster/Codecs/CatchupPositionEncoder.cs index aec9fe8e..66aaebb9 100644 --- a/src/Adaptive.Cluster/Codecs/ClusterActionAckEncoder.cs +++ b/src/Adaptive.Cluster/Codecs/CatchupPositionEncoder.cs @@ -7,19 +7,19 @@ namespace Adaptive.Cluster.Codecs { -public class ClusterActionAckEncoder +public class CatchupPositionEncoder { - public const ushort BLOCK_LENGTH = 24; - public const ushort TEMPLATE_ID = 32; + public const ushort BLOCK_LENGTH = 20; + public const ushort TEMPLATE_ID = 56; public const ushort SCHEMA_ID = 1; public const ushort SCHEMA_VERSION = 1; - private ClusterActionAckEncoder _parentMessage; + private CatchupPositionEncoder _parentMessage; private IMutableDirectBuffer _buffer; protected int _offset; protected int _limit; - public ClusterActionAckEncoder() + public CatchupPositionEncoder() { _parentMessage = this; } @@ -59,7 +59,7 @@ public int Offset() return _offset; } - public ClusterActionAckEncoder Wrap(IMutableDirectBuffer buffer, int offset) + public CatchupPositionEncoder Wrap(IMutableDirectBuffer buffer, int offset) { this._buffer = buffer; this._offset = offset; @@ -68,7 +68,7 @@ public ClusterActionAckEncoder Wrap(IMutableDirectBuffer buffer, int offset) return this; } - public ClusterActionAckEncoder WrapAndApplyHeader( + public CatchupPositionEncoder WrapAndApplyHeader( IMutableDirectBuffer buffer, int offset, MessageHeaderEncoder headerEncoder) { headerEncoder @@ -96,118 +96,102 @@ public void Limit(int limit) this._limit = limit; } - public static int LogPositionEncodingOffset() + public static int LeadershipTermIdEncodingOffset() { return 0; } - public static int LogPositionEncodingLength() + public static int LeadershipTermIdEncodingLength() { return 8; } - public static long LogPositionNullValue() + public static long LeadershipTermIdNullValue() { return -9223372036854775808L; } - public static long LogPositionMinValue() + public static long LeadershipTermIdMinValue() { return -9223372036854775807L; } - public static long LogPositionMaxValue() + public static long LeadershipTermIdMaxValue() { return 9223372036854775807L; } - public ClusterActionAckEncoder LogPosition(long value) + public CatchupPositionEncoder LeadershipTermId(long value) { _buffer.PutLong(_offset + 0, value, ByteOrder.LittleEndian); return this; } - public static int LeadershipTermIdEncodingOffset() + public static int LogPositionEncodingOffset() { return 8; } - public static int LeadershipTermIdEncodingLength() + public static int LogPositionEncodingLength() { return 8; } - public static long LeadershipTermIdNullValue() + public static long LogPositionNullValue() { return -9223372036854775808L; } - public static long LeadershipTermIdMinValue() + public static long LogPositionMinValue() { return -9223372036854775807L; } - public static long LeadershipTermIdMaxValue() + public static long LogPositionMaxValue() { return 9223372036854775807L; } - public ClusterActionAckEncoder LeadershipTermId(long value) + public CatchupPositionEncoder LogPosition(long value) { _buffer.PutLong(_offset + 8, value, ByteOrder.LittleEndian); return this; } - public static int ServiceIdEncodingOffset() + public static int FollowerMemberIdEncodingOffset() { return 16; } - public static int ServiceIdEncodingLength() + public static int FollowerMemberIdEncodingLength() { return 4; } - public static int ServiceIdNullValue() + public static int FollowerMemberIdNullValue() { return -2147483648; } - public static int ServiceIdMinValue() + public static int FollowerMemberIdMinValue() { return -2147483647; } - public static int ServiceIdMaxValue() + public static int FollowerMemberIdMaxValue() { return 2147483647; } - public ClusterActionAckEncoder ServiceId(int value) + public CatchupPositionEncoder FollowerMemberId(int value) { _buffer.PutInt(_offset + 16, value, ByteOrder.LittleEndian); return this; } - public static int ActionEncodingOffset() - { - return 20; - } - - public static int ActionEncodingLength() - { - return 4; - } - - public ClusterActionAckEncoder Action(ClusterAction value) - { - _buffer.PutInt(_offset + 20, (int)value, ByteOrder.LittleEndian); - return this; - } - public override string ToString() { @@ -216,7 +200,7 @@ public override string ToString() public StringBuilder AppendTo(StringBuilder builder) { - ClusterActionAckDecoder writer = new ClusterActionAckDecoder(); + CatchupPositionDecoder writer = new CatchupPositionDecoder(); writer.Wrap(_buffer, _offset, BLOCK_LENGTH, SCHEMA_VERSION); return writer.AppendTo(builder); diff --git a/src/Adaptive.Cluster/Codecs/ClientSessionDecoder.cs b/src/Adaptive.Cluster/Codecs/ClientSessionDecoder.cs index e5d00ad0..f744179a 100644 --- a/src/Adaptive.Cluster/Codecs/ClientSessionDecoder.cs +++ b/src/Adaptive.Cluster/Codecs/ClientSessionDecoder.cs @@ -9,7 +9,7 @@ namespace Adaptive.Cluster.Codecs { public class ClientSessionDecoder { - public const ushort BLOCK_LENGTH = 12; + public const ushort BLOCK_LENGTH = 20; public const ushort TEMPLATE_ID = 102; public const ushort SCHEMA_ID = 1; public const ushort SCHEMA_VERSION = 1; @@ -142,11 +142,65 @@ public long ClusterSessionId() } - public static int ResponseStreamIdId() + public static int LastCorrelationIdId() { return 2; } + public static int LastCorrelationIdSinceVersion() + { + return 0; + } + + public static int LastCorrelationIdEncodingOffset() + { + return 8; + } + + public static int LastCorrelationIdEncodingLength() + { + return 8; + } + + public static string LastCorrelationIdMetaAttribute(MetaAttribute metaAttribute) + { + switch (metaAttribute) + { + case MetaAttribute.EPOCH: return "unix"; + case MetaAttribute.TIME_UNIT: return "nanosecond"; + case MetaAttribute.SEMANTIC_TYPE: return ""; + case MetaAttribute.PRESENCE: return "required"; + } + + return ""; + } + + public static long LastCorrelationIdNullValue() + { + return -9223372036854775808L; + } + + public static long LastCorrelationIdMinValue() + { + return -9223372036854775807L; + } + + public static long LastCorrelationIdMaxValue() + { + return 9223372036854775807L; + } + + public long LastCorrelationId() + { + return _buffer.GetLong(_offset + 8, ByteOrder.LittleEndian); + } + + + public static int ResponseStreamIdId() + { + return 3; + } + public static int ResponseStreamIdSinceVersion() { return 0; @@ -154,7 +208,7 @@ public static int ResponseStreamIdSinceVersion() public static int ResponseStreamIdEncodingOffset() { - return 8; + return 16; } public static int ResponseStreamIdEncodingLength() @@ -192,13 +246,13 @@ public static int ResponseStreamIdMaxValue() public int ResponseStreamId() { - return _buffer.GetInt(_offset + 8, ByteOrder.LittleEndian); + return _buffer.GetInt(_offset + 16, ByteOrder.LittleEndian); } public static int ResponseChannelId() { - return 3; + return 4; } public static int ResponseChannelSinceVersion() @@ -273,7 +327,7 @@ public string ResponseChannel() public static int EncodedPrincipalId() { - return 4; + return 5; } public static int EncodedPrincipalSinceVersion() @@ -363,16 +417,21 @@ public StringBuilder AppendTo(StringBuilder builder) builder.Append("ClusterSessionId="); builder.Append(ClusterSessionId()); builder.Append('|'); - //Token{signal=BEGIN_FIELD, name='responseStreamId', referencedName='null', description='null', id=2, version=0, deprecated=0, encodedLength=0, offset=8, componentTokenCount=3, encoding=Encoding{presence=REQUIRED, primitiveType=null, byteOrder=LITTLE_ENDIAN, minValue=null, maxValue=null, nullValue=null, constValue=null, characterEncoding='null', epoch='unix', timeUnit=nanosecond, semanticType='null'}} - //Token{signal=ENCODING, name='int32', referencedName='null', description='null', id=-1, version=0, deprecated=0, encodedLength=4, offset=8, componentTokenCount=1, encoding=Encoding{presence=REQUIRED, primitiveType=INT32, byteOrder=LITTLE_ENDIAN, minValue=null, maxValue=null, nullValue=null, constValue=null, characterEncoding='null', epoch='unix', timeUnit=nanosecond, semanticType='null'}} + //Token{signal=BEGIN_FIELD, name='lastCorrelationId', referencedName='null', description='null', id=2, version=0, deprecated=0, encodedLength=0, offset=8, componentTokenCount=3, encoding=Encoding{presence=REQUIRED, primitiveType=null, byteOrder=LITTLE_ENDIAN, minValue=null, maxValue=null, nullValue=null, constValue=null, characterEncoding='null', epoch='unix', timeUnit=nanosecond, semanticType='null'}} + //Token{signal=ENCODING, name='int64', referencedName='null', description='null', id=-1, version=0, deprecated=0, encodedLength=8, offset=8, componentTokenCount=1, encoding=Encoding{presence=REQUIRED, primitiveType=INT64, byteOrder=LITTLE_ENDIAN, minValue=null, maxValue=null, nullValue=null, constValue=null, characterEncoding='null', epoch='unix', timeUnit=nanosecond, semanticType='null'}} + builder.Append("LastCorrelationId="); + builder.Append(LastCorrelationId()); + builder.Append('|'); + //Token{signal=BEGIN_FIELD, name='responseStreamId', referencedName='null', description='null', id=3, version=0, deprecated=0, encodedLength=0, offset=16, componentTokenCount=3, encoding=Encoding{presence=REQUIRED, primitiveType=null, byteOrder=LITTLE_ENDIAN, minValue=null, maxValue=null, nullValue=null, constValue=null, characterEncoding='null', epoch='unix', timeUnit=nanosecond, semanticType='null'}} + //Token{signal=ENCODING, name='int32', referencedName='null', description='null', id=-1, version=0, deprecated=0, encodedLength=4, offset=16, componentTokenCount=1, encoding=Encoding{presence=REQUIRED, primitiveType=INT32, byteOrder=LITTLE_ENDIAN, minValue=null, maxValue=null, nullValue=null, constValue=null, characterEncoding='null', epoch='unix', timeUnit=nanosecond, semanticType='null'}} builder.Append("ResponseStreamId="); builder.Append(ResponseStreamId()); builder.Append('|'); - //Token{signal=BEGIN_VAR_DATA, name='responseChannel', referencedName='null', description='null', id=3, version=0, deprecated=0, encodedLength=0, offset=12, componentTokenCount=6, encoding=Encoding{presence=REQUIRED, primitiveType=null, byteOrder=LITTLE_ENDIAN, minValue=null, maxValue=null, nullValue=null, constValue=null, characterEncoding='null', epoch='unix', timeUnit=nanosecond, semanticType='null'}} + //Token{signal=BEGIN_VAR_DATA, name='responseChannel', referencedName='null', description='null', id=4, version=0, deprecated=0, encodedLength=0, offset=20, componentTokenCount=6, encoding=Encoding{presence=REQUIRED, primitiveType=null, byteOrder=LITTLE_ENDIAN, minValue=null, maxValue=null, nullValue=null, constValue=null, characterEncoding='null', epoch='unix', timeUnit=nanosecond, semanticType='null'}} builder.Append("ResponseChannel="); builder.Append(ResponseChannel()); builder.Append('|'); - //Token{signal=BEGIN_VAR_DATA, name='encodedPrincipal', referencedName='null', description='null', id=4, version=0, deprecated=0, encodedLength=0, offset=-1, componentTokenCount=6, encoding=Encoding{presence=REQUIRED, primitiveType=null, byteOrder=LITTLE_ENDIAN, minValue=null, maxValue=null, nullValue=null, constValue=null, characterEncoding='null', epoch='unix', timeUnit=nanosecond, semanticType='null'}} + //Token{signal=BEGIN_VAR_DATA, name='encodedPrincipal', referencedName='null', description='null', id=5, version=0, deprecated=0, encodedLength=0, offset=-1, componentTokenCount=6, encoding=Encoding{presence=REQUIRED, primitiveType=null, byteOrder=LITTLE_ENDIAN, minValue=null, maxValue=null, nullValue=null, constValue=null, characterEncoding='null', epoch='unix', timeUnit=nanosecond, semanticType='null'}} builder.Append("EncodedPrincipal="); builder.Append(EncodedPrincipalLength() + " raw bytes"); diff --git a/src/Adaptive.Cluster/Codecs/ClientSessionEncoder.cs b/src/Adaptive.Cluster/Codecs/ClientSessionEncoder.cs index 6b364f05..db732b04 100644 --- a/src/Adaptive.Cluster/Codecs/ClientSessionEncoder.cs +++ b/src/Adaptive.Cluster/Codecs/ClientSessionEncoder.cs @@ -9,7 +9,7 @@ namespace Adaptive.Cluster.Codecs { public class ClientSessionEncoder { - public const ushort BLOCK_LENGTH = 12; + public const ushort BLOCK_LENGTH = 20; public const ushort TEMPLATE_ID = 102; public const ushort SCHEMA_ID = 1; public const ushort SCHEMA_VERSION = 1; @@ -128,11 +128,43 @@ public ClientSessionEncoder ClusterSessionId(long value) } - public static int ResponseStreamIdEncodingOffset() + public static int LastCorrelationIdEncodingOffset() { return 8; } + public static int LastCorrelationIdEncodingLength() + { + return 8; + } + + public static long LastCorrelationIdNullValue() + { + return -9223372036854775808L; + } + + public static long LastCorrelationIdMinValue() + { + return -9223372036854775807L; + } + + public static long LastCorrelationIdMaxValue() + { + return 9223372036854775807L; + } + + public ClientSessionEncoder LastCorrelationId(long value) + { + _buffer.PutLong(_offset + 8, value, ByteOrder.LittleEndian); + return this; + } + + + public static int ResponseStreamIdEncodingOffset() + { + return 16; + } + public static int ResponseStreamIdEncodingLength() { return 4; @@ -155,14 +187,14 @@ public static int ResponseStreamIdMaxValue() public ClientSessionEncoder ResponseStreamId(int value) { - _buffer.PutInt(_offset + 8, value, ByteOrder.LittleEndian); + _buffer.PutInt(_offset + 16, value, ByteOrder.LittleEndian); return this; } public static int ResponseChannelId() { - return 3; + return 4; } public static string ResponseChannelCharacterEncoding() @@ -239,7 +271,7 @@ public ClientSessionEncoder ResponseChannel(string value) public static int EncodedPrincipalId() { - return 4; + return 5; } public static string EncodedPrincipalMetaAttribute(MetaAttribute metaAttribute) diff --git a/src/Adaptive.Cluster/Codecs/CloseSessionDecoder.cs b/src/Adaptive.Cluster/Codecs/CloseSessionDecoder.cs index 0232f9b5..d64fc039 100644 --- a/src/Adaptive.Cluster/Codecs/CloseSessionDecoder.cs +++ b/src/Adaptive.Cluster/Codecs/CloseSessionDecoder.cs @@ -10,7 +10,7 @@ namespace Adaptive.Cluster.Codecs { public class CloseSessionDecoder { public const ushort BLOCK_LENGTH = 8; - public const ushort TEMPLATE_ID = 34; + public const ushort TEMPLATE_ID = 30; public const ushort SCHEMA_ID = 1; public const ushort SCHEMA_VERSION = 1; diff --git a/src/Adaptive.Cluster/Codecs/CloseSessionEncoder.cs b/src/Adaptive.Cluster/Codecs/CloseSessionEncoder.cs index 68bcba3b..619dccd2 100644 --- a/src/Adaptive.Cluster/Codecs/CloseSessionEncoder.cs +++ b/src/Adaptive.Cluster/Codecs/CloseSessionEncoder.cs @@ -10,7 +10,7 @@ namespace Adaptive.Cluster.Codecs { public class CloseSessionEncoder { public const ushort BLOCK_LENGTH = 8; - public const ushort TEMPLATE_ID = 34; + public const ushort TEMPLATE_ID = 30; public const ushort SCHEMA_ID = 1; public const ushort SCHEMA_VERSION = 1; diff --git a/src/Adaptive.Cluster/Codecs/ClusterAction.cs b/src/Adaptive.Cluster/Codecs/ClusterAction.cs index bf3c5972..2ae7592e 100644 --- a/src/Adaptive.Cluster/Codecs/ClusterAction.cs +++ b/src/Adaptive.Cluster/Codecs/ClusterAction.cs @@ -3,14 +3,11 @@ namespace Adaptive.Cluster.Codecs { public enum ClusterAction : int { - INIT = 0, - SNAPSHOT = 1, - READY = 2, - REPLAY = 3, - SUSPEND = 4, - RESUME = 5, - SHUTDOWN = 6, - ABORT = 7, + SUSPEND = 0, + RESUME = 1, + SNAPSHOT = 2, + SHUTDOWN = 3, + ABORT = 4, NULL_VALUE = -2147483648 } } diff --git a/src/Adaptive.Cluster/Codecs/ClusterActionRequestDecoder.cs b/src/Adaptive.Cluster/Codecs/ClusterActionRequestDecoder.cs index f5f0cbc4..cec53d20 100644 --- a/src/Adaptive.Cluster/Codecs/ClusterActionRequestDecoder.cs +++ b/src/Adaptive.Cluster/Codecs/ClusterActionRequestDecoder.cs @@ -333,8 +333,8 @@ public StringBuilder AppendTo(StringBuilder builder) builder.Append("Timestamp="); builder.Append(Timestamp()); builder.Append('|'); - //Token{signal=BEGIN_FIELD, name='action', referencedName='null', description='null', id=4, version=0, deprecated=0, encodedLength=0, offset=24, componentTokenCount=12, encoding=Encoding{presence=REQUIRED, primitiveType=null, byteOrder=LITTLE_ENDIAN, minValue=null, maxValue=null, nullValue=null, constValue=null, characterEncoding='null', epoch='unix', timeUnit=nanosecond, semanticType='null'}} - //Token{signal=BEGIN_ENUM, name='ClusterAction', referencedName='null', description='Action to be taken by a cluster nodes', id=-1, version=0, deprecated=0, encodedLength=4, offset=24, componentTokenCount=10, encoding=Encoding{presence=REQUIRED, primitiveType=INT32, byteOrder=LITTLE_ENDIAN, minValue=null, maxValue=null, nullValue=null, constValue=null, characterEncoding='null', epoch='null', timeUnit=null, semanticType='null'}} + //Token{signal=BEGIN_FIELD, name='action', referencedName='null', description='null', id=4, version=0, deprecated=0, encodedLength=0, offset=24, componentTokenCount=9, encoding=Encoding{presence=REQUIRED, primitiveType=null, byteOrder=LITTLE_ENDIAN, minValue=null, maxValue=null, nullValue=null, constValue=null, characterEncoding='null', epoch='unix', timeUnit=nanosecond, semanticType='null'}} + //Token{signal=BEGIN_ENUM, name='ClusterAction', referencedName='null', description='Action to be taken by a cluster nodes', id=-1, version=0, deprecated=0, encodedLength=4, offset=24, componentTokenCount=7, encoding=Encoding{presence=REQUIRED, primitiveType=INT32, byteOrder=LITTLE_ENDIAN, minValue=null, maxValue=null, nullValue=null, constValue=null, characterEncoding='null', epoch='null', timeUnit=null, semanticType='null'}} builder.Append("Action="); builder.Append(Action()); diff --git a/src/Adaptive.Cluster/Codecs/ClusterSessionDecoder.cs b/src/Adaptive.Cluster/Codecs/ClusterSessionDecoder.cs index 337d5996..669e1728 100644 --- a/src/Adaptive.Cluster/Codecs/ClusterSessionDecoder.cs +++ b/src/Adaptive.Cluster/Codecs/ClusterSessionDecoder.cs @@ -142,27 +142,27 @@ public long ClusterSessionId() } - public static int OpenedTermPositionId() + public static int OpenedLogPositionId() { return 2; } - public static int OpenedTermPositionSinceVersion() + public static int OpenedLogPositionSinceVersion() { return 0; } - public static int OpenedTermPositionEncodingOffset() + public static int OpenedLogPositionEncodingOffset() { return 8; } - public static int OpenedTermPositionEncodingLength() + public static int OpenedLogPositionEncodingLength() { return 8; } - public static string OpenedTermPositionMetaAttribute(MetaAttribute metaAttribute) + public static string OpenedLogPositionMetaAttribute(MetaAttribute metaAttribute) { switch (metaAttribute) { @@ -175,22 +175,22 @@ public static string OpenedTermPositionMetaAttribute(MetaAttribute metaAttribute return ""; } - public static long OpenedTermPositionNullValue() + public static long OpenedLogPositionNullValue() { return -9223372036854775808L; } - public static long OpenedTermPositionMinValue() + public static long OpenedLogPositionMinValue() { return -9223372036854775807L; } - public static long OpenedTermPositionMaxValue() + public static long OpenedLogPositionMaxValue() { return 9223372036854775807L; } - public long OpenedTermPosition() + public long OpenedLogPosition() { return _buffer.GetLong(_offset + 8, ByteOrder.LittleEndian); } @@ -506,10 +506,10 @@ public StringBuilder AppendTo(StringBuilder builder) builder.Append("ClusterSessionId="); builder.Append(ClusterSessionId()); builder.Append('|'); - //Token{signal=BEGIN_FIELD, name='openedTermPosition', referencedName='null', description='null', id=2, version=0, deprecated=0, encodedLength=0, offset=8, componentTokenCount=3, encoding=Encoding{presence=REQUIRED, primitiveType=null, byteOrder=LITTLE_ENDIAN, minValue=null, maxValue=null, nullValue=null, constValue=null, characterEncoding='null', epoch='unix', timeUnit=nanosecond, semanticType='null'}} + //Token{signal=BEGIN_FIELD, name='openedLogPosition', referencedName='null', description='null', id=2, version=0, deprecated=0, encodedLength=0, offset=8, componentTokenCount=3, encoding=Encoding{presence=REQUIRED, primitiveType=null, byteOrder=LITTLE_ENDIAN, minValue=null, maxValue=null, nullValue=null, constValue=null, characterEncoding='null', epoch='unix', timeUnit=nanosecond, semanticType='null'}} //Token{signal=ENCODING, name='int64', referencedName='null', description='null', id=-1, version=0, deprecated=0, encodedLength=8, offset=8, componentTokenCount=1, encoding=Encoding{presence=REQUIRED, primitiveType=INT64, byteOrder=LITTLE_ENDIAN, minValue=null, maxValue=null, nullValue=null, constValue=null, characterEncoding='null', epoch='unix', timeUnit=nanosecond, semanticType='null'}} - builder.Append("OpenedTermPosition="); - builder.Append(OpenedTermPosition()); + builder.Append("OpenedLogPosition="); + builder.Append(OpenedLogPosition()); builder.Append('|'); //Token{signal=BEGIN_FIELD, name='lastCorrelationId', referencedName='null', description='null', id=3, version=0, deprecated=0, encodedLength=0, offset=16, componentTokenCount=3, encoding=Encoding{presence=REQUIRED, primitiveType=null, byteOrder=LITTLE_ENDIAN, minValue=null, maxValue=null, nullValue=null, constValue=null, characterEncoding='null', epoch='unix', timeUnit=nanosecond, semanticType='null'}} //Token{signal=ENCODING, name='int64', referencedName='null', description='null', id=-1, version=0, deprecated=0, encodedLength=8, offset=16, componentTokenCount=1, encoding=Encoding{presence=REQUIRED, primitiveType=INT64, byteOrder=LITTLE_ENDIAN, minValue=null, maxValue=null, nullValue=null, constValue=null, characterEncoding='null', epoch='unix', timeUnit=nanosecond, semanticType='null'}} diff --git a/src/Adaptive.Cluster/Codecs/ClusterSessionEncoder.cs b/src/Adaptive.Cluster/Codecs/ClusterSessionEncoder.cs index e501d6c7..d8db0ed6 100644 --- a/src/Adaptive.Cluster/Codecs/ClusterSessionEncoder.cs +++ b/src/Adaptive.Cluster/Codecs/ClusterSessionEncoder.cs @@ -128,32 +128,32 @@ public ClusterSessionEncoder ClusterSessionId(long value) } - public static int OpenedTermPositionEncodingOffset() + public static int OpenedLogPositionEncodingOffset() { return 8; } - public static int OpenedTermPositionEncodingLength() + public static int OpenedLogPositionEncodingLength() { return 8; } - public static long OpenedTermPositionNullValue() + public static long OpenedLogPositionNullValue() { return -9223372036854775808L; } - public static long OpenedTermPositionMinValue() + public static long OpenedLogPositionMinValue() { return -9223372036854775807L; } - public static long OpenedTermPositionMaxValue() + public static long OpenedLogPositionMaxValue() { return 9223372036854775807L; } - public ClusterSessionEncoder OpenedTermPosition(long value) + public ClusterSessionEncoder OpenedLogPosition(long value) { _buffer.PutLong(_offset + 8, value, ByteOrder.LittleEndian); return this; diff --git a/src/Adaptive.Cluster/Codecs/CommitPositionDecoder.cs b/src/Adaptive.Cluster/Codecs/CommitPositionDecoder.cs index 0df91272..68f4145e 100644 --- a/src/Adaptive.Cluster/Codecs/CommitPositionDecoder.cs +++ b/src/Adaptive.Cluster/Codecs/CommitPositionDecoder.cs @@ -88,27 +88,27 @@ public void Limit(int limit) this._limit = limit; } - public static int LogPositionId() + public static int LeadershipTermIdId() { return 1; } - public static int LogPositionSinceVersion() + public static int LeadershipTermIdSinceVersion() { return 0; } - public static int LogPositionEncodingOffset() + public static int LeadershipTermIdEncodingOffset() { return 0; } - public static int LogPositionEncodingLength() + public static int LeadershipTermIdEncodingLength() { return 8; } - public static string LogPositionMetaAttribute(MetaAttribute metaAttribute) + public static string LeadershipTermIdMetaAttribute(MetaAttribute metaAttribute) { switch (metaAttribute) { @@ -121,48 +121,48 @@ public static string LogPositionMetaAttribute(MetaAttribute metaAttribute) return ""; } - public static long LogPositionNullValue() + public static long LeadershipTermIdNullValue() { return -9223372036854775808L; } - public static long LogPositionMinValue() + public static long LeadershipTermIdMinValue() { return -9223372036854775807L; } - public static long LogPositionMaxValue() + public static long LeadershipTermIdMaxValue() { return 9223372036854775807L; } - public long LogPosition() + public long LeadershipTermId() { return _buffer.GetLong(_offset + 0, ByteOrder.LittleEndian); } - public static int LeadershipTermIdId() + public static int LogPositionId() { return 2; } - public static int LeadershipTermIdSinceVersion() + public static int LogPositionSinceVersion() { return 0; } - public static int LeadershipTermIdEncodingOffset() + public static int LogPositionEncodingOffset() { return 8; } - public static int LeadershipTermIdEncodingLength() + public static int LogPositionEncodingLength() { return 8; } - public static string LeadershipTermIdMetaAttribute(MetaAttribute metaAttribute) + public static string LogPositionMetaAttribute(MetaAttribute metaAttribute) { switch (metaAttribute) { @@ -175,22 +175,22 @@ public static string LeadershipTermIdMetaAttribute(MetaAttribute metaAttribute) return ""; } - public static long LeadershipTermIdNullValue() + public static long LogPositionNullValue() { return -9223372036854775808L; } - public static long LeadershipTermIdMinValue() + public static long LogPositionMinValue() { return -9223372036854775807L; } - public static long LeadershipTermIdMaxValue() + public static long LogPositionMaxValue() { return 9223372036854775807L; } - public long LeadershipTermId() + public long LogPosition() { return _buffer.GetLong(_offset + 8, ByteOrder.LittleEndian); } @@ -279,16 +279,16 @@ public StringBuilder AppendTo(StringBuilder builder) } builder.Append(BLOCK_LENGTH); builder.Append("):"); - //Token{signal=BEGIN_FIELD, name='logPosition', referencedName='null', description='null', id=1, version=0, deprecated=0, encodedLength=0, offset=0, componentTokenCount=3, encoding=Encoding{presence=REQUIRED, primitiveType=null, byteOrder=LITTLE_ENDIAN, minValue=null, maxValue=null, nullValue=null, constValue=null, characterEncoding='null', epoch='unix', timeUnit=nanosecond, semanticType='null'}} + //Token{signal=BEGIN_FIELD, name='leadershipTermId', referencedName='null', description='null', id=1, version=0, deprecated=0, encodedLength=0, offset=0, componentTokenCount=3, encoding=Encoding{presence=REQUIRED, primitiveType=null, byteOrder=LITTLE_ENDIAN, minValue=null, maxValue=null, nullValue=null, constValue=null, characterEncoding='null', epoch='unix', timeUnit=nanosecond, semanticType='null'}} //Token{signal=ENCODING, name='int64', referencedName='null', description='null', id=-1, version=0, deprecated=0, encodedLength=8, offset=0, componentTokenCount=1, encoding=Encoding{presence=REQUIRED, primitiveType=INT64, byteOrder=LITTLE_ENDIAN, minValue=null, maxValue=null, nullValue=null, constValue=null, characterEncoding='null', epoch='unix', timeUnit=nanosecond, semanticType='null'}} - builder.Append("LogPosition="); - builder.Append(LogPosition()); - builder.Append('|'); - //Token{signal=BEGIN_FIELD, name='leadershipTermId', referencedName='null', description='null', id=2, version=0, deprecated=0, encodedLength=0, offset=8, componentTokenCount=3, encoding=Encoding{presence=REQUIRED, primitiveType=null, byteOrder=LITTLE_ENDIAN, minValue=null, maxValue=null, nullValue=null, constValue=null, characterEncoding='null', epoch='unix', timeUnit=nanosecond, semanticType='null'}} - //Token{signal=ENCODING, name='int64', referencedName='null', description='null', id=-1, version=0, deprecated=0, encodedLength=8, offset=8, componentTokenCount=1, encoding=Encoding{presence=REQUIRED, primitiveType=INT64, byteOrder=LITTLE_ENDIAN, minValue=null, maxValue=null, nullValue=null, constValue=null, characterEncoding='null', epoch='unix', timeUnit=nanosecond, semanticType='null'}} builder.Append("LeadershipTermId="); builder.Append(LeadershipTermId()); builder.Append('|'); + //Token{signal=BEGIN_FIELD, name='logPosition', referencedName='null', description='null', id=2, version=0, deprecated=0, encodedLength=0, offset=8, componentTokenCount=3, encoding=Encoding{presence=REQUIRED, primitiveType=null, byteOrder=LITTLE_ENDIAN, minValue=null, maxValue=null, nullValue=null, constValue=null, characterEncoding='null', epoch='unix', timeUnit=nanosecond, semanticType='null'}} + //Token{signal=ENCODING, name='int64', referencedName='null', description='null', id=-1, version=0, deprecated=0, encodedLength=8, offset=8, componentTokenCount=1, encoding=Encoding{presence=REQUIRED, primitiveType=INT64, byteOrder=LITTLE_ENDIAN, minValue=null, maxValue=null, nullValue=null, constValue=null, characterEncoding='null', epoch='unix', timeUnit=nanosecond, semanticType='null'}} + builder.Append("LogPosition="); + builder.Append(LogPosition()); + builder.Append('|'); //Token{signal=BEGIN_FIELD, name='leaderMemberId', referencedName='null', description='null', id=3, version=0, deprecated=0, encodedLength=0, offset=16, componentTokenCount=3, encoding=Encoding{presence=REQUIRED, primitiveType=null, byteOrder=LITTLE_ENDIAN, minValue=null, maxValue=null, nullValue=null, constValue=null, characterEncoding='null', epoch='unix', timeUnit=nanosecond, semanticType='null'}} //Token{signal=ENCODING, name='int32', referencedName='null', description='null', id=-1, version=0, deprecated=0, encodedLength=4, offset=16, componentTokenCount=1, encoding=Encoding{presence=REQUIRED, primitiveType=INT32, byteOrder=LITTLE_ENDIAN, minValue=null, maxValue=null, nullValue=null, constValue=null, characterEncoding='null', epoch='unix', timeUnit=nanosecond, semanticType='null'}} builder.Append("LeaderMemberId="); diff --git a/src/Adaptive.Cluster/Codecs/CommitPositionEncoder.cs b/src/Adaptive.Cluster/Codecs/CommitPositionEncoder.cs index c2d5531d..c30cffa8 100644 --- a/src/Adaptive.Cluster/Codecs/CommitPositionEncoder.cs +++ b/src/Adaptive.Cluster/Codecs/CommitPositionEncoder.cs @@ -96,64 +96,64 @@ public void Limit(int limit) this._limit = limit; } - public static int LogPositionEncodingOffset() + public static int LeadershipTermIdEncodingOffset() { return 0; } - public static int LogPositionEncodingLength() + public static int LeadershipTermIdEncodingLength() { return 8; } - public static long LogPositionNullValue() + public static long LeadershipTermIdNullValue() { return -9223372036854775808L; } - public static long LogPositionMinValue() + public static long LeadershipTermIdMinValue() { return -9223372036854775807L; } - public static long LogPositionMaxValue() + public static long LeadershipTermIdMaxValue() { return 9223372036854775807L; } - public CommitPositionEncoder LogPosition(long value) + public CommitPositionEncoder LeadershipTermId(long value) { _buffer.PutLong(_offset + 0, value, ByteOrder.LittleEndian); return this; } - public static int LeadershipTermIdEncodingOffset() + public static int LogPositionEncodingOffset() { return 8; } - public static int LeadershipTermIdEncodingLength() + public static int LogPositionEncodingLength() { return 8; } - public static long LeadershipTermIdNullValue() + public static long LogPositionNullValue() { return -9223372036854775808L; } - public static long LeadershipTermIdMinValue() + public static long LogPositionMinValue() { return -9223372036854775807L; } - public static long LeadershipTermIdMaxValue() + public static long LogPositionMaxValue() { return 9223372036854775807L; } - public CommitPositionEncoder LeadershipTermId(long value) + public CommitPositionEncoder LogPosition(long value) { _buffer.PutLong(_offset + 8, value, ByteOrder.LittleEndian); return this; diff --git a/src/Adaptive.Cluster/Codecs/SequencerDecoder.cs b/src/Adaptive.Cluster/Codecs/ConsensusModuleDecoder.cs similarity index 95% rename from src/Adaptive.Cluster/Codecs/SequencerDecoder.cs rename to src/Adaptive.Cluster/Codecs/ConsensusModuleDecoder.cs index c6cef790..e3a5a53f 100644 --- a/src/Adaptive.Cluster/Codecs/SequencerDecoder.cs +++ b/src/Adaptive.Cluster/Codecs/ConsensusModuleDecoder.cs @@ -7,21 +7,21 @@ namespace Adaptive.Cluster.Codecs { -public class SequencerDecoder +public class ConsensusModuleDecoder { public const ushort BLOCK_LENGTH = 8; public const ushort TEMPLATE_ID = 105; public const ushort SCHEMA_ID = 1; public const ushort SCHEMA_VERSION = 1; - private SequencerDecoder _parentMessage; + private ConsensusModuleDecoder _parentMessage; private IDirectBuffer _buffer; protected int _offset; protected int _limit; protected int _actingBlockLength; protected int _actingVersion; - public SequencerDecoder() + public ConsensusModuleDecoder() { _parentMessage = this; } @@ -61,7 +61,7 @@ public int Offset() return _offset; } - public SequencerDecoder Wrap( + public ConsensusModuleDecoder Wrap( IDirectBuffer buffer, int offset, int actingBlockLength, int actingVersion) { this._buffer = buffer; @@ -152,7 +152,7 @@ public StringBuilder AppendTo(StringBuilder builder) { int originalLimit = Limit(); Limit(_offset + _actingBlockLength); - builder.Append("[Sequencer](sbeTemplateId="); + builder.Append("[ConsensusModule](sbeTemplateId="); builder.Append(TEMPLATE_ID); builder.Append("|sbeSchemaId="); builder.Append(SCHEMA_ID); diff --git a/src/Adaptive.Cluster/Codecs/SequencerEncoder.cs b/src/Adaptive.Cluster/Codecs/ConsensusModuleEncoder.cs similarity index 87% rename from src/Adaptive.Cluster/Codecs/SequencerEncoder.cs rename to src/Adaptive.Cluster/Codecs/ConsensusModuleEncoder.cs index 3589cd22..834b4207 100644 --- a/src/Adaptive.Cluster/Codecs/SequencerEncoder.cs +++ b/src/Adaptive.Cluster/Codecs/ConsensusModuleEncoder.cs @@ -7,19 +7,19 @@ namespace Adaptive.Cluster.Codecs { -public class SequencerEncoder +public class ConsensusModuleEncoder { public const ushort BLOCK_LENGTH = 8; public const ushort TEMPLATE_ID = 105; public const ushort SCHEMA_ID = 1; public const ushort SCHEMA_VERSION = 1; - private SequencerEncoder _parentMessage; + private ConsensusModuleEncoder _parentMessage; private IMutableDirectBuffer _buffer; protected int _offset; protected int _limit; - public SequencerEncoder() + public ConsensusModuleEncoder() { _parentMessage = this; } @@ -59,7 +59,7 @@ public int Offset() return _offset; } - public SequencerEncoder Wrap(IMutableDirectBuffer buffer, int offset) + public ConsensusModuleEncoder Wrap(IMutableDirectBuffer buffer, int offset) { this._buffer = buffer; this._offset = offset; @@ -68,7 +68,7 @@ public SequencerEncoder Wrap(IMutableDirectBuffer buffer, int offset) return this; } - public SequencerEncoder WrapAndApplyHeader( + public ConsensusModuleEncoder WrapAndApplyHeader( IMutableDirectBuffer buffer, int offset, MessageHeaderEncoder headerEncoder) { headerEncoder @@ -121,7 +121,7 @@ public static long NextSessionIdMaxValue() return 9223372036854775807L; } - public SequencerEncoder NextSessionId(long value) + public ConsensusModuleEncoder NextSessionId(long value) { _buffer.PutLong(_offset + 0, value, ByteOrder.LittleEndian); return this; @@ -136,7 +136,7 @@ public override string ToString() public StringBuilder AppendTo(StringBuilder builder) { - SequencerDecoder writer = new SequencerDecoder(); + ConsensusModuleDecoder writer = new ConsensusModuleDecoder(); writer.Wrap(_buffer, _offset, BLOCK_LENGTH, SCHEMA_VERSION); return writer.AppendTo(builder); diff --git a/src/Adaptive.Cluster/Codecs/JoinLogDecoder.cs b/src/Adaptive.Cluster/Codecs/JoinLogDecoder.cs index 2968ce90..1d3d5ab7 100644 --- a/src/Adaptive.Cluster/Codecs/JoinLogDecoder.cs +++ b/src/Adaptive.Cluster/Codecs/JoinLogDecoder.cs @@ -9,8 +9,8 @@ namespace Adaptive.Cluster.Codecs { public class JoinLogDecoder { - public const ushort BLOCK_LENGTH = 24; - public const ushort TEMPLATE_ID = 33; + public const ushort BLOCK_LENGTH = 20; + public const ushort TEMPLATE_ID = 40; public const ushort SCHEMA_ID = 1; public const ushort SCHEMA_VERSION = 1; @@ -304,45 +304,6 @@ public int LogStreamId() } - public static int AckBeforeImageId() - { - return 5; - } - - public static int AckBeforeImageSinceVersion() - { - return 0; - } - - public static int AckBeforeImageEncodingOffset() - { - return 20; - } - - public static int AckBeforeImageEncodingLength() - { - return 4; - } - - public static string AckBeforeImageMetaAttribute(MetaAttribute metaAttribute) - { - switch (metaAttribute) - { - case MetaAttribute.EPOCH: return "unix"; - case MetaAttribute.TIME_UNIT: return "nanosecond"; - case MetaAttribute.SEMANTIC_TYPE: return ""; - case MetaAttribute.PRESENCE: return "required"; - } - - return ""; - } - - public BooleanType AckBeforeImage() - { - return (BooleanType)_buffer.GetInt(_offset + 20, ByteOrder.LittleEndian); - } - - public static int LogChannelId() { return 5; @@ -467,12 +428,7 @@ public StringBuilder AppendTo(StringBuilder builder) builder.Append("LogStreamId="); builder.Append(LogStreamId()); builder.Append('|'); - //Token{signal=BEGIN_FIELD, name='ackBeforeImage', referencedName='null', description='null', id=5, version=0, deprecated=0, encodedLength=0, offset=20, componentTokenCount=6, encoding=Encoding{presence=REQUIRED, primitiveType=null, byteOrder=LITTLE_ENDIAN, minValue=null, maxValue=null, nullValue=null, constValue=null, characterEncoding='null', epoch='unix', timeUnit=nanosecond, semanticType='null'}} - //Token{signal=BEGIN_ENUM, name='BooleanType', referencedName='null', description='null', id=-1, version=0, deprecated=0, encodedLength=4, offset=20, componentTokenCount=4, encoding=Encoding{presence=REQUIRED, primitiveType=INT32, byteOrder=LITTLE_ENDIAN, minValue=null, maxValue=null, nullValue=null, constValue=null, characterEncoding='null', epoch='null', timeUnit=null, semanticType='null'}} - builder.Append("AckBeforeImage="); - builder.Append(AckBeforeImage()); - builder.Append('|'); - //Token{signal=BEGIN_VAR_DATA, name='logChannel', referencedName='null', description='null', id=5, version=0, deprecated=0, encodedLength=0, offset=24, componentTokenCount=6, encoding=Encoding{presence=REQUIRED, primitiveType=null, byteOrder=LITTLE_ENDIAN, minValue=null, maxValue=null, nullValue=null, constValue=null, characterEncoding='null', epoch='unix', timeUnit=nanosecond, semanticType='null'}} + //Token{signal=BEGIN_VAR_DATA, name='logChannel', referencedName='null', description='null', id=5, version=0, deprecated=0, encodedLength=0, offset=20, componentTokenCount=6, encoding=Encoding{presence=REQUIRED, primitiveType=null, byteOrder=LITTLE_ENDIAN, minValue=null, maxValue=null, nullValue=null, constValue=null, characterEncoding='null', epoch='unix', timeUnit=nanosecond, semanticType='null'}} builder.Append("LogChannel="); builder.Append(LogChannel()); diff --git a/src/Adaptive.Cluster/Codecs/JoinLogEncoder.cs b/src/Adaptive.Cluster/Codecs/JoinLogEncoder.cs index 709137e8..b09125c8 100644 --- a/src/Adaptive.Cluster/Codecs/JoinLogEncoder.cs +++ b/src/Adaptive.Cluster/Codecs/JoinLogEncoder.cs @@ -9,8 +9,8 @@ namespace Adaptive.Cluster.Codecs { public class JoinLogEncoder { - public const ushort BLOCK_LENGTH = 24; - public const ushort TEMPLATE_ID = 33; + public const ushort BLOCK_LENGTH = 20; + public const ushort TEMPLATE_ID = 40; public const ushort SCHEMA_ID = 1; public const ushort SCHEMA_VERSION = 1; @@ -224,22 +224,6 @@ public JoinLogEncoder LogStreamId(int value) } - public static int AckBeforeImageEncodingOffset() - { - return 20; - } - - public static int AckBeforeImageEncodingLength() - { - return 4; - } - - public JoinLogEncoder AckBeforeImage(BooleanType value) - { - _buffer.PutInt(_offset + 20, (int)value, ByteOrder.LittleEndian); - return this; - } - public static int LogChannelId() { return 5; diff --git a/src/Adaptive.Cluster/Codecs/Mark/MarkFileHeaderDecoder.cs b/src/Adaptive.Cluster/Codecs/Mark/MarkFileHeaderDecoder.cs index 9fcb013e..588e1a43 100644 --- a/src/Adaptive.Cluster/Codecs/Mark/MarkFileHeaderDecoder.cs +++ b/src/Adaptive.Cluster/Codecs/Mark/MarkFileHeaderDecoder.cs @@ -343,11 +343,65 @@ public long Pid() } - public static int ArchiveStreamIdId() + public static int CandidateTermIdId() { return 6; } + public static int CandidateTermIdSinceVersion() + { + return 0; + } + + public static int CandidateTermIdEncodingOffset() + { + return 32; + } + + public static int CandidateTermIdEncodingLength() + { + return 8; + } + + public static string CandidateTermIdMetaAttribute(MetaAttribute metaAttribute) + { + switch (metaAttribute) + { + case MetaAttribute.EPOCH: return "unix"; + case MetaAttribute.TIME_UNIT: return "nanosecond"; + case MetaAttribute.SEMANTIC_TYPE: return ""; + case MetaAttribute.PRESENCE: return "required"; + } + + return ""; + } + + public static long CandidateTermIdNullValue() + { + return -9223372036854775808L; + } + + public static long CandidateTermIdMinValue() + { + return -9223372036854775807L; + } + + public static long CandidateTermIdMaxValue() + { + return 9223372036854775807L; + } + + public long CandidateTermId() + { + return _buffer.GetLong(_offset + 32, ByteOrder.LittleEndian); + } + + + public static int ArchiveStreamIdId() + { + return 7; + } + public static int ArchiveStreamIdSinceVersion() { return 0; @@ -355,7 +409,7 @@ public static int ArchiveStreamIdSinceVersion() public static int ArchiveStreamIdEncodingOffset() { - return 32; + return 40; } public static int ArchiveStreamIdEncodingLength() @@ -393,31 +447,85 @@ public static int ArchiveStreamIdMaxValue() public int ArchiveStreamId() { - return _buffer.GetInt(_offset + 32, ByteOrder.LittleEndian); + return _buffer.GetInt(_offset + 40, ByteOrder.LittleEndian); } - public static int ServiceControlStreamIdId() + public static int ServiceStreamIdId() { - return 7; + return 8; + } + + public static int ServiceStreamIdSinceVersion() + { + return 0; + } + + public static int ServiceStreamIdEncodingOffset() + { + return 44; + } + + public static int ServiceStreamIdEncodingLength() + { + return 4; + } + + public static string ServiceStreamIdMetaAttribute(MetaAttribute metaAttribute) + { + switch (metaAttribute) + { + case MetaAttribute.EPOCH: return "unix"; + case MetaAttribute.TIME_UNIT: return "nanosecond"; + case MetaAttribute.SEMANTIC_TYPE: return ""; + case MetaAttribute.PRESENCE: return "required"; + } + + return ""; + } + + public static int ServiceStreamIdNullValue() + { + return -2147483648; + } + + public static int ServiceStreamIdMinValue() + { + return -2147483647; + } + + public static int ServiceStreamIdMaxValue() + { + return 2147483647; + } + + public int ServiceStreamId() + { + return _buffer.GetInt(_offset + 44, ByteOrder.LittleEndian); } - public static int ServiceControlStreamIdSinceVersion() + + public static int ConsensusModuleStreamIdId() + { + return 9; + } + + public static int ConsensusModuleStreamIdSinceVersion() { return 0; } - public static int ServiceControlStreamIdEncodingOffset() + public static int ConsensusModuleStreamIdEncodingOffset() { - return 36; + return 48; } - public static int ServiceControlStreamIdEncodingLength() + public static int ConsensusModuleStreamIdEncodingLength() { return 4; } - public static string ServiceControlStreamIdMetaAttribute(MetaAttribute metaAttribute) + public static string ConsensusModuleStreamIdMetaAttribute(MetaAttribute metaAttribute) { switch (metaAttribute) { @@ -430,30 +538,30 @@ public static string ServiceControlStreamIdMetaAttribute(MetaAttribute metaAttri return ""; } - public static int ServiceControlStreamIdNullValue() + public static int ConsensusModuleStreamIdNullValue() { return -2147483648; } - public static int ServiceControlStreamIdMinValue() + public static int ConsensusModuleStreamIdMinValue() { return -2147483647; } - public static int ServiceControlStreamIdMaxValue() + public static int ConsensusModuleStreamIdMaxValue() { return 2147483647; } - public int ServiceControlStreamId() + public int ConsensusModuleStreamId() { - return _buffer.GetInt(_offset + 36, ByteOrder.LittleEndian); + return _buffer.GetInt(_offset + 48, ByteOrder.LittleEndian); } public static int IngressStreamIdId() { - return 8; + return 10; } public static int IngressStreamIdSinceVersion() @@ -463,7 +571,7 @@ public static int IngressStreamIdSinceVersion() public static int IngressStreamIdEncodingOffset() { - return 40; + return 52; } public static int IngressStreamIdEncodingLength() @@ -501,13 +609,13 @@ public static int IngressStreamIdMaxValue() public int IngressStreamId() { - return _buffer.GetInt(_offset + 40, ByteOrder.LittleEndian); + return _buffer.GetInt(_offset + 52, ByteOrder.LittleEndian); } public static int MemberIdId() { - return 9; + return 11; } public static int MemberIdSinceVersion() @@ -517,7 +625,7 @@ public static int MemberIdSinceVersion() public static int MemberIdEncodingOffset() { - return 44; + return 56; } public static int MemberIdEncodingLength() @@ -555,13 +663,13 @@ public static int MemberIdMaxValue() public int MemberId() { - return _buffer.GetInt(_offset + 44, ByteOrder.LittleEndian); + return _buffer.GetInt(_offset + 56, ByteOrder.LittleEndian); } public static int ServiceIdId() { - return 10; + return 12; } public static int ServiceIdSinceVersion() @@ -571,7 +679,7 @@ public static int ServiceIdSinceVersion() public static int ServiceIdEncodingOffset() { - return 48; + return 60; } public static int ServiceIdEncodingLength() @@ -609,13 +717,13 @@ public static int ServiceIdMaxValue() public int ServiceId() { - return _buffer.GetInt(_offset + 48, ByteOrder.LittleEndian); + return _buffer.GetInt(_offset + 60, ByteOrder.LittleEndian); } public static int HeaderLengthId() { - return 11; + return 13; } public static int HeaderLengthSinceVersion() @@ -625,7 +733,7 @@ public static int HeaderLengthSinceVersion() public static int HeaderLengthEncodingOffset() { - return 52; + return 64; } public static int HeaderLengthEncodingLength() @@ -663,13 +771,13 @@ public static int HeaderLengthMaxValue() public int HeaderLength() { - return _buffer.GetInt(_offset + 52, ByteOrder.LittleEndian); + return _buffer.GetInt(_offset + 64, ByteOrder.LittleEndian); } public static int ErrorBufferLengthId() { - return 12; + return 14; } public static int ErrorBufferLengthSinceVersion() @@ -679,7 +787,7 @@ public static int ErrorBufferLengthSinceVersion() public static int ErrorBufferLengthEncodingOffset() { - return 56; + return 68; } public static int ErrorBufferLengthEncodingLength() @@ -717,13 +825,13 @@ public static int ErrorBufferLengthMaxValue() public int ErrorBufferLength() { - return _buffer.GetInt(_offset + 56, ByteOrder.LittleEndian); + return _buffer.GetInt(_offset + 68, ByteOrder.LittleEndian); } public static int AeronDirectoryId() { - return 13; + return 15; } public static int AeronDirectorySinceVersion() @@ -798,7 +906,7 @@ public string AeronDirectory() public static int ArchiveChannelId() { - return 14; + return 16; } public static int ArchiveChannelSinceVersion() @@ -873,7 +981,7 @@ public string ArchiveChannel() public static int ServiceControlChannelId() { - return 15; + return 17; } public static int ServiceControlChannelSinceVersion() @@ -948,7 +1056,7 @@ public string ServiceControlChannel() public static int IngressChannelId() { - return 16; + return 18; } public static int IngressChannelSinceVersion() @@ -1023,7 +1131,7 @@ public string IngressChannel() public static int ServiceNameId() { - return 17; + return 19; } public static int ServiceNameSinceVersion() @@ -1098,7 +1206,7 @@ public string ServiceName() public static int AuthenticatorId() { - return 18; + return 20; } public static int AuthenticatorSinceVersion() @@ -1225,62 +1333,72 @@ public StringBuilder AppendTo(StringBuilder builder) builder.Append("Pid="); builder.Append(Pid()); builder.Append('|'); - //Token{signal=BEGIN_FIELD, name='archiveStreamId', referencedName='null', description='null', id=6, version=0, deprecated=0, encodedLength=0, offset=32, componentTokenCount=3, encoding=Encoding{presence=REQUIRED, primitiveType=null, byteOrder=LITTLE_ENDIAN, minValue=null, maxValue=null, nullValue=null, constValue=null, characterEncoding='null', epoch='unix', timeUnit=nanosecond, semanticType='null'}} - //Token{signal=ENCODING, name='int32', referencedName='null', description='null', id=-1, version=0, deprecated=0, encodedLength=4, offset=32, componentTokenCount=1, encoding=Encoding{presence=REQUIRED, primitiveType=INT32, byteOrder=LITTLE_ENDIAN, minValue=null, maxValue=null, nullValue=null, constValue=null, characterEncoding='null', epoch='unix', timeUnit=nanosecond, semanticType='null'}} + //Token{signal=BEGIN_FIELD, name='candidateTermId', referencedName='null', description='null', id=6, version=0, deprecated=0, encodedLength=0, offset=32, componentTokenCount=3, encoding=Encoding{presence=REQUIRED, primitiveType=null, byteOrder=LITTLE_ENDIAN, minValue=null, maxValue=null, nullValue=null, constValue=null, characterEncoding='null', epoch='unix', timeUnit=nanosecond, semanticType='null'}} + //Token{signal=ENCODING, name='int64', referencedName='null', description='null', id=-1, version=0, deprecated=0, encodedLength=8, offset=32, componentTokenCount=1, encoding=Encoding{presence=REQUIRED, primitiveType=INT64, byteOrder=LITTLE_ENDIAN, minValue=null, maxValue=null, nullValue=null, constValue=null, characterEncoding='null', epoch='unix', timeUnit=nanosecond, semanticType='null'}} + builder.Append("CandidateTermId="); + builder.Append(CandidateTermId()); + builder.Append('|'); + //Token{signal=BEGIN_FIELD, name='archiveStreamId', referencedName='null', description='null', id=7, version=0, deprecated=0, encodedLength=0, offset=40, componentTokenCount=3, encoding=Encoding{presence=REQUIRED, primitiveType=null, byteOrder=LITTLE_ENDIAN, minValue=null, maxValue=null, nullValue=null, constValue=null, characterEncoding='null', epoch='unix', timeUnit=nanosecond, semanticType='null'}} + //Token{signal=ENCODING, name='int32', referencedName='null', description='null', id=-1, version=0, deprecated=0, encodedLength=4, offset=40, componentTokenCount=1, encoding=Encoding{presence=REQUIRED, primitiveType=INT32, byteOrder=LITTLE_ENDIAN, minValue=null, maxValue=null, nullValue=null, constValue=null, characterEncoding='null', epoch='unix', timeUnit=nanosecond, semanticType='null'}} builder.Append("ArchiveStreamId="); builder.Append(ArchiveStreamId()); builder.Append('|'); - //Token{signal=BEGIN_FIELD, name='serviceControlStreamId', referencedName='null', description='null', id=7, version=0, deprecated=0, encodedLength=0, offset=36, componentTokenCount=3, encoding=Encoding{presence=REQUIRED, primitiveType=null, byteOrder=LITTLE_ENDIAN, minValue=null, maxValue=null, nullValue=null, constValue=null, characterEncoding='null', epoch='unix', timeUnit=nanosecond, semanticType='null'}} - //Token{signal=ENCODING, name='int32', referencedName='null', description='null', id=-1, version=0, deprecated=0, encodedLength=4, offset=36, componentTokenCount=1, encoding=Encoding{presence=REQUIRED, primitiveType=INT32, byteOrder=LITTLE_ENDIAN, minValue=null, maxValue=null, nullValue=null, constValue=null, characterEncoding='null', epoch='unix', timeUnit=nanosecond, semanticType='null'}} - builder.Append("ServiceControlStreamId="); - builder.Append(ServiceControlStreamId()); + //Token{signal=BEGIN_FIELD, name='serviceStreamId', referencedName='null', description='null', id=8, version=0, deprecated=0, encodedLength=0, offset=44, componentTokenCount=3, encoding=Encoding{presence=REQUIRED, primitiveType=null, byteOrder=LITTLE_ENDIAN, minValue=null, maxValue=null, nullValue=null, constValue=null, characterEncoding='null', epoch='unix', timeUnit=nanosecond, semanticType='null'}} + //Token{signal=ENCODING, name='int32', referencedName='null', description='null', id=-1, version=0, deprecated=0, encodedLength=4, offset=44, componentTokenCount=1, encoding=Encoding{presence=REQUIRED, primitiveType=INT32, byteOrder=LITTLE_ENDIAN, minValue=null, maxValue=null, nullValue=null, constValue=null, characterEncoding='null', epoch='unix', timeUnit=nanosecond, semanticType='null'}} + builder.Append("ServiceStreamId="); + builder.Append(ServiceStreamId()); + builder.Append('|'); + //Token{signal=BEGIN_FIELD, name='consensusModuleStreamId', referencedName='null', description='null', id=9, version=0, deprecated=0, encodedLength=0, offset=48, componentTokenCount=3, encoding=Encoding{presence=REQUIRED, primitiveType=null, byteOrder=LITTLE_ENDIAN, minValue=null, maxValue=null, nullValue=null, constValue=null, characterEncoding='null', epoch='unix', timeUnit=nanosecond, semanticType='null'}} + //Token{signal=ENCODING, name='int32', referencedName='null', description='null', id=-1, version=0, deprecated=0, encodedLength=4, offset=48, componentTokenCount=1, encoding=Encoding{presence=REQUIRED, primitiveType=INT32, byteOrder=LITTLE_ENDIAN, minValue=null, maxValue=null, nullValue=null, constValue=null, characterEncoding='null', epoch='unix', timeUnit=nanosecond, semanticType='null'}} + builder.Append("ConsensusModuleStreamId="); + builder.Append(ConsensusModuleStreamId()); builder.Append('|'); - //Token{signal=BEGIN_FIELD, name='ingressStreamId', referencedName='null', description='null', id=8, version=0, deprecated=0, encodedLength=0, offset=40, componentTokenCount=3, encoding=Encoding{presence=REQUIRED, primitiveType=null, byteOrder=LITTLE_ENDIAN, minValue=null, maxValue=null, nullValue=null, constValue=null, characterEncoding='null', epoch='unix', timeUnit=nanosecond, semanticType='null'}} - //Token{signal=ENCODING, name='int32', referencedName='null', description='null', id=-1, version=0, deprecated=0, encodedLength=4, offset=40, componentTokenCount=1, encoding=Encoding{presence=REQUIRED, primitiveType=INT32, byteOrder=LITTLE_ENDIAN, minValue=null, maxValue=null, nullValue=null, constValue=null, characterEncoding='null', epoch='unix', timeUnit=nanosecond, semanticType='null'}} + //Token{signal=BEGIN_FIELD, name='ingressStreamId', referencedName='null', description='null', id=10, version=0, deprecated=0, encodedLength=0, offset=52, componentTokenCount=3, encoding=Encoding{presence=REQUIRED, primitiveType=null, byteOrder=LITTLE_ENDIAN, minValue=null, maxValue=null, nullValue=null, constValue=null, characterEncoding='null', epoch='unix', timeUnit=nanosecond, semanticType='null'}} + //Token{signal=ENCODING, name='int32', referencedName='null', description='null', id=-1, version=0, deprecated=0, encodedLength=4, offset=52, componentTokenCount=1, encoding=Encoding{presence=REQUIRED, primitiveType=INT32, byteOrder=LITTLE_ENDIAN, minValue=null, maxValue=null, nullValue=null, constValue=null, characterEncoding='null', epoch='unix', timeUnit=nanosecond, semanticType='null'}} builder.Append("IngressStreamId="); builder.Append(IngressStreamId()); builder.Append('|'); - //Token{signal=BEGIN_FIELD, name='memberId', referencedName='null', description='null', id=9, version=0, deprecated=0, encodedLength=0, offset=44, componentTokenCount=3, encoding=Encoding{presence=REQUIRED, primitiveType=null, byteOrder=LITTLE_ENDIAN, minValue=null, maxValue=null, nullValue=null, constValue=null, characterEncoding='null', epoch='unix', timeUnit=nanosecond, semanticType='null'}} - //Token{signal=ENCODING, name='int32', referencedName='null', description='null', id=-1, version=0, deprecated=0, encodedLength=4, offset=44, componentTokenCount=1, encoding=Encoding{presence=REQUIRED, primitiveType=INT32, byteOrder=LITTLE_ENDIAN, minValue=null, maxValue=null, nullValue=null, constValue=null, characterEncoding='null', epoch='unix', timeUnit=nanosecond, semanticType='null'}} + //Token{signal=BEGIN_FIELD, name='memberId', referencedName='null', description='null', id=11, version=0, deprecated=0, encodedLength=0, offset=56, componentTokenCount=3, encoding=Encoding{presence=REQUIRED, primitiveType=null, byteOrder=LITTLE_ENDIAN, minValue=null, maxValue=null, nullValue=null, constValue=null, characterEncoding='null', epoch='unix', timeUnit=nanosecond, semanticType='null'}} + //Token{signal=ENCODING, name='int32', referencedName='null', description='null', id=-1, version=0, deprecated=0, encodedLength=4, offset=56, componentTokenCount=1, encoding=Encoding{presence=REQUIRED, primitiveType=INT32, byteOrder=LITTLE_ENDIAN, minValue=null, maxValue=null, nullValue=null, constValue=null, characterEncoding='null', epoch='unix', timeUnit=nanosecond, semanticType='null'}} builder.Append("MemberId="); builder.Append(MemberId()); builder.Append('|'); - //Token{signal=BEGIN_FIELD, name='serviceId', referencedName='null', description='null', id=10, version=0, deprecated=0, encodedLength=0, offset=48, componentTokenCount=3, encoding=Encoding{presence=REQUIRED, primitiveType=null, byteOrder=LITTLE_ENDIAN, minValue=null, maxValue=null, nullValue=null, constValue=null, characterEncoding='null', epoch='unix', timeUnit=nanosecond, semanticType='null'}} - //Token{signal=ENCODING, name='int32', referencedName='null', description='null', id=-1, version=0, deprecated=0, encodedLength=4, offset=48, componentTokenCount=1, encoding=Encoding{presence=REQUIRED, primitiveType=INT32, byteOrder=LITTLE_ENDIAN, minValue=null, maxValue=null, nullValue=null, constValue=null, characterEncoding='null', epoch='unix', timeUnit=nanosecond, semanticType='null'}} + //Token{signal=BEGIN_FIELD, name='serviceId', referencedName='null', description='null', id=12, version=0, deprecated=0, encodedLength=0, offset=60, componentTokenCount=3, encoding=Encoding{presence=REQUIRED, primitiveType=null, byteOrder=LITTLE_ENDIAN, minValue=null, maxValue=null, nullValue=null, constValue=null, characterEncoding='null', epoch='unix', timeUnit=nanosecond, semanticType='null'}} + //Token{signal=ENCODING, name='int32', referencedName='null', description='null', id=-1, version=0, deprecated=0, encodedLength=4, offset=60, componentTokenCount=1, encoding=Encoding{presence=REQUIRED, primitiveType=INT32, byteOrder=LITTLE_ENDIAN, minValue=null, maxValue=null, nullValue=null, constValue=null, characterEncoding='null', epoch='unix', timeUnit=nanosecond, semanticType='null'}} builder.Append("ServiceId="); builder.Append(ServiceId()); builder.Append('|'); - //Token{signal=BEGIN_FIELD, name='headerLength', referencedName='null', description='null', id=11, version=0, deprecated=0, encodedLength=0, offset=52, componentTokenCount=3, encoding=Encoding{presence=REQUIRED, primitiveType=null, byteOrder=LITTLE_ENDIAN, minValue=null, maxValue=null, nullValue=null, constValue=null, characterEncoding='null', epoch='unix', timeUnit=nanosecond, semanticType='null'}} - //Token{signal=ENCODING, name='int32', referencedName='null', description='null', id=-1, version=0, deprecated=0, encodedLength=4, offset=52, componentTokenCount=1, encoding=Encoding{presence=REQUIRED, primitiveType=INT32, byteOrder=LITTLE_ENDIAN, minValue=null, maxValue=null, nullValue=null, constValue=null, characterEncoding='null', epoch='unix', timeUnit=nanosecond, semanticType='null'}} + //Token{signal=BEGIN_FIELD, name='headerLength', referencedName='null', description='null', id=13, version=0, deprecated=0, encodedLength=0, offset=64, componentTokenCount=3, encoding=Encoding{presence=REQUIRED, primitiveType=null, byteOrder=LITTLE_ENDIAN, minValue=null, maxValue=null, nullValue=null, constValue=null, characterEncoding='null', epoch='unix', timeUnit=nanosecond, semanticType='null'}} + //Token{signal=ENCODING, name='int32', referencedName='null', description='null', id=-1, version=0, deprecated=0, encodedLength=4, offset=64, componentTokenCount=1, encoding=Encoding{presence=REQUIRED, primitiveType=INT32, byteOrder=LITTLE_ENDIAN, minValue=null, maxValue=null, nullValue=null, constValue=null, characterEncoding='null', epoch='unix', timeUnit=nanosecond, semanticType='null'}} builder.Append("HeaderLength="); builder.Append(HeaderLength()); builder.Append('|'); - //Token{signal=BEGIN_FIELD, name='errorBufferLength', referencedName='null', description='null', id=12, version=0, deprecated=0, encodedLength=0, offset=56, componentTokenCount=3, encoding=Encoding{presence=REQUIRED, primitiveType=null, byteOrder=LITTLE_ENDIAN, minValue=null, maxValue=null, nullValue=null, constValue=null, characterEncoding='null', epoch='unix', timeUnit=nanosecond, semanticType='null'}} - //Token{signal=ENCODING, name='int32', referencedName='null', description='null', id=-1, version=0, deprecated=0, encodedLength=4, offset=56, componentTokenCount=1, encoding=Encoding{presence=REQUIRED, primitiveType=INT32, byteOrder=LITTLE_ENDIAN, minValue=null, maxValue=null, nullValue=null, constValue=null, characterEncoding='null', epoch='unix', timeUnit=nanosecond, semanticType='null'}} + //Token{signal=BEGIN_FIELD, name='errorBufferLength', referencedName='null', description='null', id=14, version=0, deprecated=0, encodedLength=0, offset=68, componentTokenCount=3, encoding=Encoding{presence=REQUIRED, primitiveType=null, byteOrder=LITTLE_ENDIAN, minValue=null, maxValue=null, nullValue=null, constValue=null, characterEncoding='null', epoch='unix', timeUnit=nanosecond, semanticType='null'}} + //Token{signal=ENCODING, name='int32', referencedName='null', description='null', id=-1, version=0, deprecated=0, encodedLength=4, offset=68, componentTokenCount=1, encoding=Encoding{presence=REQUIRED, primitiveType=INT32, byteOrder=LITTLE_ENDIAN, minValue=null, maxValue=null, nullValue=null, constValue=null, characterEncoding='null', epoch='unix', timeUnit=nanosecond, semanticType='null'}} builder.Append("ErrorBufferLength="); builder.Append(ErrorBufferLength()); builder.Append('|'); - //Token{signal=BEGIN_VAR_DATA, name='aeronDirectory', referencedName='null', description='null', id=13, version=0, deprecated=0, encodedLength=0, offset=128, componentTokenCount=6, encoding=Encoding{presence=REQUIRED, primitiveType=null, byteOrder=LITTLE_ENDIAN, minValue=null, maxValue=null, nullValue=null, constValue=null, characterEncoding='null', epoch='unix', timeUnit=nanosecond, semanticType='null'}} + //Token{signal=BEGIN_VAR_DATA, name='aeronDirectory', referencedName='null', description='null', id=15, version=0, deprecated=0, encodedLength=0, offset=128, componentTokenCount=6, encoding=Encoding{presence=REQUIRED, primitiveType=null, byteOrder=LITTLE_ENDIAN, minValue=null, maxValue=null, nullValue=null, constValue=null, characterEncoding='null', epoch='unix', timeUnit=nanosecond, semanticType='null'}} builder.Append("AeronDirectory="); builder.Append(AeronDirectory()); builder.Append('|'); - //Token{signal=BEGIN_VAR_DATA, name='archiveChannel', referencedName='null', description='null', id=14, version=0, deprecated=0, encodedLength=0, offset=-1, componentTokenCount=6, encoding=Encoding{presence=REQUIRED, primitiveType=null, byteOrder=LITTLE_ENDIAN, minValue=null, maxValue=null, nullValue=null, constValue=null, characterEncoding='null', epoch='unix', timeUnit=nanosecond, semanticType='null'}} + //Token{signal=BEGIN_VAR_DATA, name='archiveChannel', referencedName='null', description='null', id=16, version=0, deprecated=0, encodedLength=0, offset=-1, componentTokenCount=6, encoding=Encoding{presence=REQUIRED, primitiveType=null, byteOrder=LITTLE_ENDIAN, minValue=null, maxValue=null, nullValue=null, constValue=null, characterEncoding='null', epoch='unix', timeUnit=nanosecond, semanticType='null'}} builder.Append("ArchiveChannel="); builder.Append(ArchiveChannel()); builder.Append('|'); - //Token{signal=BEGIN_VAR_DATA, name='serviceControlChannel', referencedName='null', description='null', id=15, version=0, deprecated=0, encodedLength=0, offset=-1, componentTokenCount=6, encoding=Encoding{presence=REQUIRED, primitiveType=null, byteOrder=LITTLE_ENDIAN, minValue=null, maxValue=null, nullValue=null, constValue=null, characterEncoding='null', epoch='unix', timeUnit=nanosecond, semanticType='null'}} + //Token{signal=BEGIN_VAR_DATA, name='serviceControlChannel', referencedName='null', description='null', id=17, version=0, deprecated=0, encodedLength=0, offset=-1, componentTokenCount=6, encoding=Encoding{presence=REQUIRED, primitiveType=null, byteOrder=LITTLE_ENDIAN, minValue=null, maxValue=null, nullValue=null, constValue=null, characterEncoding='null', epoch='unix', timeUnit=nanosecond, semanticType='null'}} builder.Append("ServiceControlChannel="); builder.Append(ServiceControlChannel()); builder.Append('|'); - //Token{signal=BEGIN_VAR_DATA, name='ingressChannel', referencedName='null', description='null', id=16, version=0, deprecated=0, encodedLength=0, offset=-1, componentTokenCount=6, encoding=Encoding{presence=REQUIRED, primitiveType=null, byteOrder=LITTLE_ENDIAN, minValue=null, maxValue=null, nullValue=null, constValue=null, characterEncoding='null', epoch='unix', timeUnit=nanosecond, semanticType='null'}} + //Token{signal=BEGIN_VAR_DATA, name='ingressChannel', referencedName='null', description='null', id=18, version=0, deprecated=0, encodedLength=0, offset=-1, componentTokenCount=6, encoding=Encoding{presence=REQUIRED, primitiveType=null, byteOrder=LITTLE_ENDIAN, minValue=null, maxValue=null, nullValue=null, constValue=null, characterEncoding='null', epoch='unix', timeUnit=nanosecond, semanticType='null'}} builder.Append("IngressChannel="); builder.Append(IngressChannel()); builder.Append('|'); - //Token{signal=BEGIN_VAR_DATA, name='serviceName', referencedName='null', description='null', id=17, version=0, deprecated=0, encodedLength=0, offset=-1, componentTokenCount=6, encoding=Encoding{presence=REQUIRED, primitiveType=null, byteOrder=LITTLE_ENDIAN, minValue=null, maxValue=null, nullValue=null, constValue=null, characterEncoding='null', epoch='unix', timeUnit=nanosecond, semanticType='null'}} + //Token{signal=BEGIN_VAR_DATA, name='serviceName', referencedName='null', description='null', id=19, version=0, deprecated=0, encodedLength=0, offset=-1, componentTokenCount=6, encoding=Encoding{presence=REQUIRED, primitiveType=null, byteOrder=LITTLE_ENDIAN, minValue=null, maxValue=null, nullValue=null, constValue=null, characterEncoding='null', epoch='unix', timeUnit=nanosecond, semanticType='null'}} builder.Append("ServiceName="); builder.Append(ServiceName()); builder.Append('|'); - //Token{signal=BEGIN_VAR_DATA, name='authenticator', referencedName='null', description='null', id=18, version=0, deprecated=0, encodedLength=0, offset=-1, componentTokenCount=6, encoding=Encoding{presence=REQUIRED, primitiveType=null, byteOrder=LITTLE_ENDIAN, minValue=null, maxValue=null, nullValue=null, constValue=null, characterEncoding='null', epoch='unix', timeUnit=nanosecond, semanticType='null'}} + //Token{signal=BEGIN_VAR_DATA, name='authenticator', referencedName='null', description='null', id=20, version=0, deprecated=0, encodedLength=0, offset=-1, componentTokenCount=6, encoding=Encoding{presence=REQUIRED, primitiveType=null, byteOrder=LITTLE_ENDIAN, minValue=null, maxValue=null, nullValue=null, constValue=null, characterEncoding='null', epoch='unix', timeUnit=nanosecond, semanticType='null'}} builder.Append("Authenticator="); builder.Append(Authenticator()); diff --git a/src/Adaptive.Cluster/Codecs/Mark/MarkFileHeaderEncoder.cs b/src/Adaptive.Cluster/Codecs/Mark/MarkFileHeaderEncoder.cs index 449be8fb..80fb8caa 100644 --- a/src/Adaptive.Cluster/Codecs/Mark/MarkFileHeaderEncoder.cs +++ b/src/Adaptive.Cluster/Codecs/Mark/MarkFileHeaderEncoder.cs @@ -240,11 +240,43 @@ public MarkFileHeaderEncoder Pid(long value) } - public static int ArchiveStreamIdEncodingOffset() + public static int CandidateTermIdEncodingOffset() { return 32; } + public static int CandidateTermIdEncodingLength() + { + return 8; + } + + public static long CandidateTermIdNullValue() + { + return -9223372036854775808L; + } + + public static long CandidateTermIdMinValue() + { + return -9223372036854775807L; + } + + public static long CandidateTermIdMaxValue() + { + return 9223372036854775807L; + } + + public MarkFileHeaderEncoder CandidateTermId(long value) + { + _buffer.PutLong(_offset + 32, value, ByteOrder.LittleEndian); + return this; + } + + + public static int ArchiveStreamIdEncodingOffset() + { + return 40; + } + public static int ArchiveStreamIdEncodingLength() { return 4; @@ -267,46 +299,78 @@ public static int ArchiveStreamIdMaxValue() public MarkFileHeaderEncoder ArchiveStreamId(int value) { - _buffer.PutInt(_offset + 32, value, ByteOrder.LittleEndian); + _buffer.PutInt(_offset + 40, value, ByteOrder.LittleEndian); + return this; + } + + + public static int ServiceStreamIdEncodingOffset() + { + return 44; + } + + public static int ServiceStreamIdEncodingLength() + { + return 4; + } + + public static int ServiceStreamIdNullValue() + { + return -2147483648; + } + + public static int ServiceStreamIdMinValue() + { + return -2147483647; + } + + public static int ServiceStreamIdMaxValue() + { + return 2147483647; + } + + public MarkFileHeaderEncoder ServiceStreamId(int value) + { + _buffer.PutInt(_offset + 44, value, ByteOrder.LittleEndian); return this; } - public static int ServiceControlStreamIdEncodingOffset() + public static int ConsensusModuleStreamIdEncodingOffset() { - return 36; + return 48; } - public static int ServiceControlStreamIdEncodingLength() + public static int ConsensusModuleStreamIdEncodingLength() { return 4; } - public static int ServiceControlStreamIdNullValue() + public static int ConsensusModuleStreamIdNullValue() { return -2147483648; } - public static int ServiceControlStreamIdMinValue() + public static int ConsensusModuleStreamIdMinValue() { return -2147483647; } - public static int ServiceControlStreamIdMaxValue() + public static int ConsensusModuleStreamIdMaxValue() { return 2147483647; } - public MarkFileHeaderEncoder ServiceControlStreamId(int value) + public MarkFileHeaderEncoder ConsensusModuleStreamId(int value) { - _buffer.PutInt(_offset + 36, value, ByteOrder.LittleEndian); + _buffer.PutInt(_offset + 48, value, ByteOrder.LittleEndian); return this; } public static int IngressStreamIdEncodingOffset() { - return 40; + return 52; } public static int IngressStreamIdEncodingLength() @@ -331,14 +395,14 @@ public static int IngressStreamIdMaxValue() public MarkFileHeaderEncoder IngressStreamId(int value) { - _buffer.PutInt(_offset + 40, value, ByteOrder.LittleEndian); + _buffer.PutInt(_offset + 52, value, ByteOrder.LittleEndian); return this; } public static int MemberIdEncodingOffset() { - return 44; + return 56; } public static int MemberIdEncodingLength() @@ -363,14 +427,14 @@ public static int MemberIdMaxValue() public MarkFileHeaderEncoder MemberId(int value) { - _buffer.PutInt(_offset + 44, value, ByteOrder.LittleEndian); + _buffer.PutInt(_offset + 56, value, ByteOrder.LittleEndian); return this; } public static int ServiceIdEncodingOffset() { - return 48; + return 60; } public static int ServiceIdEncodingLength() @@ -395,14 +459,14 @@ public static int ServiceIdMaxValue() public MarkFileHeaderEncoder ServiceId(int value) { - _buffer.PutInt(_offset + 48, value, ByteOrder.LittleEndian); + _buffer.PutInt(_offset + 60, value, ByteOrder.LittleEndian); return this; } public static int HeaderLengthEncodingOffset() { - return 52; + return 64; } public static int HeaderLengthEncodingLength() @@ -427,14 +491,14 @@ public static int HeaderLengthMaxValue() public MarkFileHeaderEncoder HeaderLength(int value) { - _buffer.PutInt(_offset + 52, value, ByteOrder.LittleEndian); + _buffer.PutInt(_offset + 64, value, ByteOrder.LittleEndian); return this; } public static int ErrorBufferLengthEncodingOffset() { - return 56; + return 68; } public static int ErrorBufferLengthEncodingLength() @@ -459,14 +523,14 @@ public static int ErrorBufferLengthMaxValue() public MarkFileHeaderEncoder ErrorBufferLength(int value) { - _buffer.PutInt(_offset + 56, value, ByteOrder.LittleEndian); + _buffer.PutInt(_offset + 68, value, ByteOrder.LittleEndian); return this; } public static int AeronDirectoryId() { - return 13; + return 15; } public static string AeronDirectoryCharacterEncoding() @@ -543,7 +607,7 @@ public MarkFileHeaderEncoder AeronDirectory(string value) public static int ArchiveChannelId() { - return 14; + return 16; } public static string ArchiveChannelCharacterEncoding() @@ -620,7 +684,7 @@ public MarkFileHeaderEncoder ArchiveChannel(string value) public static int ServiceControlChannelId() { - return 15; + return 17; } public static string ServiceControlChannelCharacterEncoding() @@ -697,7 +761,7 @@ public MarkFileHeaderEncoder ServiceControlChannel(string value) public static int IngressChannelId() { - return 16; + return 18; } public static string IngressChannelCharacterEncoding() @@ -774,7 +838,7 @@ public MarkFileHeaderEncoder IngressChannel(string value) public static int ServiceNameId() { - return 17; + return 19; } public static string ServiceNameCharacterEncoding() @@ -851,7 +915,7 @@ public MarkFileHeaderEncoder ServiceName(string value) public static int AuthenticatorId() { - return 18; + return 20; } public static string AuthenticatorCharacterEncoding() diff --git a/src/Adaptive.Cluster/Codecs/NewLeaderEventDecoder.cs b/src/Adaptive.Cluster/Codecs/NewLeaderEventDecoder.cs index c34c3aef..17cc7c11 100644 --- a/src/Adaptive.Cluster/Codecs/NewLeaderEventDecoder.cs +++ b/src/Adaptive.Cluster/Codecs/NewLeaderEventDecoder.cs @@ -9,7 +9,7 @@ namespace Adaptive.Cluster.Codecs { public class NewLeaderEventDecoder { - public const ushort BLOCK_LENGTH = 44; + public const ushort BLOCK_LENGTH = 12; public const ushort TEMPLATE_ID = 6; public const ushort SCHEMA_ID = 1; public const ushort SCHEMA_VERSION = 1; @@ -142,225 +142,9 @@ public long ClusterSessionId() } - public static int LastCorrelationIdId() - { - return 2; - } - - public static int LastCorrelationIdSinceVersion() - { - return 0; - } - - public static int LastCorrelationIdEncodingOffset() - { - return 8; - } - - public static int LastCorrelationIdEncodingLength() - { - return 8; - } - - public static string LastCorrelationIdMetaAttribute(MetaAttribute metaAttribute) - { - switch (metaAttribute) - { - case MetaAttribute.EPOCH: return "unix"; - case MetaAttribute.TIME_UNIT: return "nanosecond"; - case MetaAttribute.SEMANTIC_TYPE: return ""; - case MetaAttribute.PRESENCE: return "required"; - } - - return ""; - } - - public static long LastCorrelationIdNullValue() - { - return -9223372036854775808L; - } - - public static long LastCorrelationIdMinValue() - { - return -9223372036854775807L; - } - - public static long LastCorrelationIdMaxValue() - { - return 9223372036854775807L; - } - - public long LastCorrelationId() - { - return _buffer.GetLong(_offset + 8, ByteOrder.LittleEndian); - } - - - public static int LastMessageTimestampId() - { - return 3; - } - - public static int LastMessageTimestampSinceVersion() - { - return 0; - } - - public static int LastMessageTimestampEncodingOffset() - { - return 16; - } - - public static int LastMessageTimestampEncodingLength() - { - return 8; - } - - public static string LastMessageTimestampMetaAttribute(MetaAttribute metaAttribute) - { - switch (metaAttribute) - { - case MetaAttribute.EPOCH: return "unix"; - case MetaAttribute.TIME_UNIT: return "nanosecond"; - case MetaAttribute.SEMANTIC_TYPE: return ""; - case MetaAttribute.PRESENCE: return "required"; - } - - return ""; - } - - public static long LastMessageTimestampNullValue() - { - return -9223372036854775808L; - } - - public static long LastMessageTimestampMinValue() - { - return -9223372036854775807L; - } - - public static long LastMessageTimestampMaxValue() - { - return 9223372036854775807L; - } - - public long LastMessageTimestamp() - { - return _buffer.GetLong(_offset + 16, ByteOrder.LittleEndian); - } - - - public static int LeadershipTimestampId() - { - return 4; - } - - public static int LeadershipTimestampSinceVersion() - { - return 0; - } - - public static int LeadershipTimestampEncodingOffset() - { - return 24; - } - - public static int LeadershipTimestampEncodingLength() - { - return 8; - } - - public static string LeadershipTimestampMetaAttribute(MetaAttribute metaAttribute) - { - switch (metaAttribute) - { - case MetaAttribute.EPOCH: return "unix"; - case MetaAttribute.TIME_UNIT: return "nanosecond"; - case MetaAttribute.SEMANTIC_TYPE: return ""; - case MetaAttribute.PRESENCE: return "required"; - } - - return ""; - } - - public static long LeadershipTimestampNullValue() - { - return -9223372036854775808L; - } - - public static long LeadershipTimestampMinValue() - { - return -9223372036854775807L; - } - - public static long LeadershipTimestampMaxValue() - { - return 9223372036854775807L; - } - - public long LeadershipTimestamp() - { - return _buffer.GetLong(_offset + 24, ByteOrder.LittleEndian); - } - - - public static int LeadershipTermIdId() - { - return 5; - } - - public static int LeadershipTermIdSinceVersion() - { - return 0; - } - - public static int LeadershipTermIdEncodingOffset() - { - return 32; - } - - public static int LeadershipTermIdEncodingLength() - { - return 8; - } - - public static string LeadershipTermIdMetaAttribute(MetaAttribute metaAttribute) - { - switch (metaAttribute) - { - case MetaAttribute.EPOCH: return "unix"; - case MetaAttribute.TIME_UNIT: return "nanosecond"; - case MetaAttribute.SEMANTIC_TYPE: return ""; - case MetaAttribute.PRESENCE: return "required"; - } - - return ""; - } - - public static long LeadershipTermIdNullValue() - { - return -9223372036854775808L; - } - - public static long LeadershipTermIdMinValue() - { - return -9223372036854775807L; - } - - public static long LeadershipTermIdMaxValue() - { - return 9223372036854775807L; - } - - public long LeadershipTermId() - { - return _buffer.GetLong(_offset + 32, ByteOrder.LittleEndian); - } - - public static int LeaderMemberIdId() { - return 6; + return 2; } public static int LeaderMemberIdSinceVersion() @@ -370,7 +154,7 @@ public static int LeaderMemberIdSinceVersion() public static int LeaderMemberIdEncodingOffset() { - return 40; + return 8; } public static int LeaderMemberIdEncodingLength() @@ -408,13 +192,13 @@ public static int LeaderMemberIdMaxValue() public int LeaderMemberId() { - return _buffer.GetInt(_offset + 40, ByteOrder.LittleEndian); + return _buffer.GetInt(_offset + 8, ByteOrder.LittleEndian); } public static int MemberEndpointsId() { - return 7; + return 3; } public static int MemberEndpointsSinceVersion() @@ -521,32 +305,12 @@ public StringBuilder AppendTo(StringBuilder builder) builder.Append("ClusterSessionId="); builder.Append(ClusterSessionId()); builder.Append('|'); - //Token{signal=BEGIN_FIELD, name='lastCorrelationId', referencedName='null', description='null', id=2, version=0, deprecated=0, encodedLength=0, offset=8, componentTokenCount=3, encoding=Encoding{presence=REQUIRED, primitiveType=null, byteOrder=LITTLE_ENDIAN, minValue=null, maxValue=null, nullValue=null, constValue=null, characterEncoding='null', epoch='unix', timeUnit=nanosecond, semanticType='null'}} - //Token{signal=ENCODING, name='int64', referencedName='null', description='null', id=-1, version=0, deprecated=0, encodedLength=8, offset=8, componentTokenCount=1, encoding=Encoding{presence=REQUIRED, primitiveType=INT64, byteOrder=LITTLE_ENDIAN, minValue=null, maxValue=null, nullValue=null, constValue=null, characterEncoding='null', epoch='unix', timeUnit=nanosecond, semanticType='null'}} - builder.Append("LastCorrelationId="); - builder.Append(LastCorrelationId()); - builder.Append('|'); - //Token{signal=BEGIN_FIELD, name='lastMessageTimestamp', referencedName='null', description='null', id=3, version=0, deprecated=0, encodedLength=0, offset=16, componentTokenCount=3, encoding=Encoding{presence=REQUIRED, primitiveType=null, byteOrder=LITTLE_ENDIAN, minValue=null, maxValue=null, nullValue=null, constValue=null, characterEncoding='null', epoch='unix', timeUnit=nanosecond, semanticType='null'}} - //Token{signal=ENCODING, name='time_t', referencedName='null', description='Epoch time in milliseconds since 1 Jan 1970 UTC', id=-1, version=0, deprecated=0, encodedLength=8, offset=16, componentTokenCount=1, encoding=Encoding{presence=REQUIRED, primitiveType=INT64, byteOrder=LITTLE_ENDIAN, minValue=null, maxValue=null, nullValue=null, constValue=null, characterEncoding='null', epoch='unix', timeUnit=nanosecond, semanticType='null'}} - builder.Append("LastMessageTimestamp="); - builder.Append(LastMessageTimestamp()); - builder.Append('|'); - //Token{signal=BEGIN_FIELD, name='leadershipTimestamp', referencedName='null', description='null', id=4, version=0, deprecated=0, encodedLength=0, offset=24, componentTokenCount=3, encoding=Encoding{presence=REQUIRED, primitiveType=null, byteOrder=LITTLE_ENDIAN, minValue=null, maxValue=null, nullValue=null, constValue=null, characterEncoding='null', epoch='unix', timeUnit=nanosecond, semanticType='null'}} - //Token{signal=ENCODING, name='time_t', referencedName='null', description='Epoch time in milliseconds since 1 Jan 1970 UTC', id=-1, version=0, deprecated=0, encodedLength=8, offset=24, componentTokenCount=1, encoding=Encoding{presence=REQUIRED, primitiveType=INT64, byteOrder=LITTLE_ENDIAN, minValue=null, maxValue=null, nullValue=null, constValue=null, characterEncoding='null', epoch='unix', timeUnit=nanosecond, semanticType='null'}} - builder.Append("LeadershipTimestamp="); - builder.Append(LeadershipTimestamp()); - builder.Append('|'); - //Token{signal=BEGIN_FIELD, name='leadershipTermId', referencedName='null', description='null', id=5, version=0, deprecated=0, encodedLength=0, offset=32, componentTokenCount=3, encoding=Encoding{presence=REQUIRED, primitiveType=null, byteOrder=LITTLE_ENDIAN, minValue=null, maxValue=null, nullValue=null, constValue=null, characterEncoding='null', epoch='unix', timeUnit=nanosecond, semanticType='null'}} - //Token{signal=ENCODING, name='int64', referencedName='null', description='null', id=-1, version=0, deprecated=0, encodedLength=8, offset=32, componentTokenCount=1, encoding=Encoding{presence=REQUIRED, primitiveType=INT64, byteOrder=LITTLE_ENDIAN, minValue=null, maxValue=null, nullValue=null, constValue=null, characterEncoding='null', epoch='unix', timeUnit=nanosecond, semanticType='null'}} - builder.Append("LeadershipTermId="); - builder.Append(LeadershipTermId()); - builder.Append('|'); - //Token{signal=BEGIN_FIELD, name='leaderMemberId', referencedName='null', description='null', id=6, version=0, deprecated=0, encodedLength=0, offset=40, componentTokenCount=3, encoding=Encoding{presence=REQUIRED, primitiveType=null, byteOrder=LITTLE_ENDIAN, minValue=null, maxValue=null, nullValue=null, constValue=null, characterEncoding='null', epoch='unix', timeUnit=nanosecond, semanticType='null'}} - //Token{signal=ENCODING, name='int32', referencedName='null', description='null', id=-1, version=0, deprecated=0, encodedLength=4, offset=40, componentTokenCount=1, encoding=Encoding{presence=REQUIRED, primitiveType=INT32, byteOrder=LITTLE_ENDIAN, minValue=null, maxValue=null, nullValue=null, constValue=null, characterEncoding='null', epoch='unix', timeUnit=nanosecond, semanticType='null'}} + //Token{signal=BEGIN_FIELD, name='leaderMemberId', referencedName='null', description='null', id=2, version=0, deprecated=0, encodedLength=0, offset=8, componentTokenCount=3, encoding=Encoding{presence=REQUIRED, primitiveType=null, byteOrder=LITTLE_ENDIAN, minValue=null, maxValue=null, nullValue=null, constValue=null, characterEncoding='null', epoch='unix', timeUnit=nanosecond, semanticType='null'}} + //Token{signal=ENCODING, name='int32', referencedName='null', description='null', id=-1, version=0, deprecated=0, encodedLength=4, offset=8, componentTokenCount=1, encoding=Encoding{presence=REQUIRED, primitiveType=INT32, byteOrder=LITTLE_ENDIAN, minValue=null, maxValue=null, nullValue=null, constValue=null, characterEncoding='null', epoch='unix', timeUnit=nanosecond, semanticType='null'}} builder.Append("LeaderMemberId="); builder.Append(LeaderMemberId()); builder.Append('|'); - //Token{signal=BEGIN_VAR_DATA, name='memberEndpoints', referencedName='null', description='null', id=7, version=0, deprecated=0, encodedLength=0, offset=44, componentTokenCount=6, encoding=Encoding{presence=REQUIRED, primitiveType=null, byteOrder=LITTLE_ENDIAN, minValue=null, maxValue=null, nullValue=null, constValue=null, characterEncoding='null', epoch='unix', timeUnit=nanosecond, semanticType='null'}} + //Token{signal=BEGIN_VAR_DATA, name='memberEndpoints', referencedName='null', description='null', id=3, version=0, deprecated=0, encodedLength=0, offset=12, componentTokenCount=6, encoding=Encoding{presence=REQUIRED, primitiveType=null, byteOrder=LITTLE_ENDIAN, minValue=null, maxValue=null, nullValue=null, constValue=null, characterEncoding='null', epoch='unix', timeUnit=nanosecond, semanticType='null'}} builder.Append("MemberEndpoints="); builder.Append(MemberEndpoints()); diff --git a/src/Adaptive.Cluster/Codecs/NewLeaderEventEncoder.cs b/src/Adaptive.Cluster/Codecs/NewLeaderEventEncoder.cs index deeeb66a..6c885728 100644 --- a/src/Adaptive.Cluster/Codecs/NewLeaderEventEncoder.cs +++ b/src/Adaptive.Cluster/Codecs/NewLeaderEventEncoder.cs @@ -9,7 +9,7 @@ namespace Adaptive.Cluster.Codecs { public class NewLeaderEventEncoder { - public const ushort BLOCK_LENGTH = 44; + public const ushort BLOCK_LENGTH = 12; public const ushort TEMPLATE_ID = 6; public const ushort SCHEMA_ID = 1; public const ushort SCHEMA_VERSION = 1; @@ -128,137 +128,9 @@ public NewLeaderEventEncoder ClusterSessionId(long value) } - public static int LastCorrelationIdEncodingOffset() - { - return 8; - } - - public static int LastCorrelationIdEncodingLength() - { - return 8; - } - - public static long LastCorrelationIdNullValue() - { - return -9223372036854775808L; - } - - public static long LastCorrelationIdMinValue() - { - return -9223372036854775807L; - } - - public static long LastCorrelationIdMaxValue() - { - return 9223372036854775807L; - } - - public NewLeaderEventEncoder LastCorrelationId(long value) - { - _buffer.PutLong(_offset + 8, value, ByteOrder.LittleEndian); - return this; - } - - - public static int LastMessageTimestampEncodingOffset() - { - return 16; - } - - public static int LastMessageTimestampEncodingLength() - { - return 8; - } - - public static long LastMessageTimestampNullValue() - { - return -9223372036854775808L; - } - - public static long LastMessageTimestampMinValue() - { - return -9223372036854775807L; - } - - public static long LastMessageTimestampMaxValue() - { - return 9223372036854775807L; - } - - public NewLeaderEventEncoder LastMessageTimestamp(long value) - { - _buffer.PutLong(_offset + 16, value, ByteOrder.LittleEndian); - return this; - } - - - public static int LeadershipTimestampEncodingOffset() - { - return 24; - } - - public static int LeadershipTimestampEncodingLength() - { - return 8; - } - - public static long LeadershipTimestampNullValue() - { - return -9223372036854775808L; - } - - public static long LeadershipTimestampMinValue() - { - return -9223372036854775807L; - } - - public static long LeadershipTimestampMaxValue() - { - return 9223372036854775807L; - } - - public NewLeaderEventEncoder LeadershipTimestamp(long value) - { - _buffer.PutLong(_offset + 24, value, ByteOrder.LittleEndian); - return this; - } - - - public static int LeadershipTermIdEncodingOffset() - { - return 32; - } - - public static int LeadershipTermIdEncodingLength() - { - return 8; - } - - public static long LeadershipTermIdNullValue() - { - return -9223372036854775808L; - } - - public static long LeadershipTermIdMinValue() - { - return -9223372036854775807L; - } - - public static long LeadershipTermIdMaxValue() - { - return 9223372036854775807L; - } - - public NewLeaderEventEncoder LeadershipTermId(long value) - { - _buffer.PutLong(_offset + 32, value, ByteOrder.LittleEndian); - return this; - } - - public static int LeaderMemberIdEncodingOffset() { - return 40; + return 8; } public static int LeaderMemberIdEncodingLength() @@ -283,14 +155,14 @@ public static int LeaderMemberIdMaxValue() public NewLeaderEventEncoder LeaderMemberId(int value) { - _buffer.PutInt(_offset + 40, value, ByteOrder.LittleEndian); + _buffer.PutInt(_offset + 8, value, ByteOrder.LittleEndian); return this; } public static int MemberEndpointsId() { - return 7; + return 3; } public static string MemberEndpointsCharacterEncoding() diff --git a/src/Adaptive.Cluster/Codecs/NewLeadershipTermDecoder.cs b/src/Adaptive.Cluster/Codecs/NewLeadershipTermDecoder.cs index 6285cb1f..cef883d0 100644 --- a/src/Adaptive.Cluster/Codecs/NewLeadershipTermDecoder.cs +++ b/src/Adaptive.Cluster/Codecs/NewLeadershipTermDecoder.cs @@ -9,7 +9,7 @@ namespace Adaptive.Cluster.Codecs { public class NewLeadershipTermDecoder { - public const ushort BLOCK_LENGTH = 24; + public const ushort BLOCK_LENGTH = 32; public const ushort TEMPLATE_ID = 53; public const ushort SCHEMA_ID = 1; public const ushort SCHEMA_VERSION = 1; @@ -88,11 +88,65 @@ public void Limit(int limit) this._limit = limit; } - public static int LogPositionId() + public static int LogLeadershipTermIdId() { return 1; } + public static int LogLeadershipTermIdSinceVersion() + { + return 0; + } + + public static int LogLeadershipTermIdEncodingOffset() + { + return 0; + } + + public static int LogLeadershipTermIdEncodingLength() + { + return 8; + } + + public static string LogLeadershipTermIdMetaAttribute(MetaAttribute metaAttribute) + { + switch (metaAttribute) + { + case MetaAttribute.EPOCH: return "unix"; + case MetaAttribute.TIME_UNIT: return "nanosecond"; + case MetaAttribute.SEMANTIC_TYPE: return ""; + case MetaAttribute.PRESENCE: return "required"; + } + + return ""; + } + + public static long LogLeadershipTermIdNullValue() + { + return -9223372036854775808L; + } + + public static long LogLeadershipTermIdMinValue() + { + return -9223372036854775807L; + } + + public static long LogLeadershipTermIdMaxValue() + { + return 9223372036854775807L; + } + + public long LogLeadershipTermId() + { + return _buffer.GetLong(_offset + 0, ByteOrder.LittleEndian); + } + + + public static int LogPositionId() + { + return 2; + } + public static int LogPositionSinceVersion() { return 0; @@ -100,7 +154,7 @@ public static int LogPositionSinceVersion() public static int LogPositionEncodingOffset() { - return 0; + return 8; } public static int LogPositionEncodingLength() @@ -138,13 +192,13 @@ public static long LogPositionMaxValue() public long LogPosition() { - return _buffer.GetLong(_offset + 0, ByteOrder.LittleEndian); + return _buffer.GetLong(_offset + 8, ByteOrder.LittleEndian); } public static int LeadershipTermIdId() { - return 2; + return 3; } public static int LeadershipTermIdSinceVersion() @@ -154,7 +208,7 @@ public static int LeadershipTermIdSinceVersion() public static int LeadershipTermIdEncodingOffset() { - return 8; + return 16; } public static int LeadershipTermIdEncodingLength() @@ -192,13 +246,13 @@ public static long LeadershipTermIdMaxValue() public long LeadershipTermId() { - return _buffer.GetLong(_offset + 8, ByteOrder.LittleEndian); + return _buffer.GetLong(_offset + 16, ByteOrder.LittleEndian); } public static int LeaderMemberIdId() { - return 3; + return 4; } public static int LeaderMemberIdSinceVersion() @@ -208,7 +262,7 @@ public static int LeaderMemberIdSinceVersion() public static int LeaderMemberIdEncodingOffset() { - return 16; + return 24; } public static int LeaderMemberIdEncodingLength() @@ -246,13 +300,13 @@ public static int LeaderMemberIdMaxValue() public int LeaderMemberId() { - return _buffer.GetInt(_offset + 16, ByteOrder.LittleEndian); + return _buffer.GetInt(_offset + 24, ByteOrder.LittleEndian); } public static int LogSessionIdId() { - return 4; + return 5; } public static int LogSessionIdSinceVersion() @@ -262,7 +316,7 @@ public static int LogSessionIdSinceVersion() public static int LogSessionIdEncodingOffset() { - return 20; + return 28; } public static int LogSessionIdEncodingLength() @@ -300,7 +354,7 @@ public static int LogSessionIdMaxValue() public int LogSessionId() { - return _buffer.GetInt(_offset + 20, ByteOrder.LittleEndian); + return _buffer.GetInt(_offset + 28, ByteOrder.LittleEndian); } @@ -333,23 +387,28 @@ public StringBuilder AppendTo(StringBuilder builder) } builder.Append(BLOCK_LENGTH); builder.Append("):"); - //Token{signal=BEGIN_FIELD, name='logPosition', referencedName='null', description='null', id=1, version=0, deprecated=0, encodedLength=0, offset=0, componentTokenCount=3, encoding=Encoding{presence=REQUIRED, primitiveType=null, byteOrder=LITTLE_ENDIAN, minValue=null, maxValue=null, nullValue=null, constValue=null, characterEncoding='null', epoch='unix', timeUnit=nanosecond, semanticType='null'}} + //Token{signal=BEGIN_FIELD, name='logLeadershipTermId', referencedName='null', description='null', id=1, version=0, deprecated=0, encodedLength=0, offset=0, componentTokenCount=3, encoding=Encoding{presence=REQUIRED, primitiveType=null, byteOrder=LITTLE_ENDIAN, minValue=null, maxValue=null, nullValue=null, constValue=null, characterEncoding='null', epoch='unix', timeUnit=nanosecond, semanticType='null'}} //Token{signal=ENCODING, name='int64', referencedName='null', description='null', id=-1, version=0, deprecated=0, encodedLength=8, offset=0, componentTokenCount=1, encoding=Encoding{presence=REQUIRED, primitiveType=INT64, byteOrder=LITTLE_ENDIAN, minValue=null, maxValue=null, nullValue=null, constValue=null, characterEncoding='null', epoch='unix', timeUnit=nanosecond, semanticType='null'}} + builder.Append("LogLeadershipTermId="); + builder.Append(LogLeadershipTermId()); + builder.Append('|'); + //Token{signal=BEGIN_FIELD, name='logPosition', referencedName='null', description='null', id=2, version=0, deprecated=0, encodedLength=0, offset=8, componentTokenCount=3, encoding=Encoding{presence=REQUIRED, primitiveType=null, byteOrder=LITTLE_ENDIAN, minValue=null, maxValue=null, nullValue=null, constValue=null, characterEncoding='null', epoch='unix', timeUnit=nanosecond, semanticType='null'}} + //Token{signal=ENCODING, name='int64', referencedName='null', description='null', id=-1, version=0, deprecated=0, encodedLength=8, offset=8, componentTokenCount=1, encoding=Encoding{presence=REQUIRED, primitiveType=INT64, byteOrder=LITTLE_ENDIAN, minValue=null, maxValue=null, nullValue=null, constValue=null, characterEncoding='null', epoch='unix', timeUnit=nanosecond, semanticType='null'}} builder.Append("LogPosition="); builder.Append(LogPosition()); builder.Append('|'); - //Token{signal=BEGIN_FIELD, name='leadershipTermId', referencedName='null', description='null', id=2, version=0, deprecated=0, encodedLength=0, offset=8, componentTokenCount=3, encoding=Encoding{presence=REQUIRED, primitiveType=null, byteOrder=LITTLE_ENDIAN, minValue=null, maxValue=null, nullValue=null, constValue=null, characterEncoding='null', epoch='unix', timeUnit=nanosecond, semanticType='null'}} - //Token{signal=ENCODING, name='int64', referencedName='null', description='null', id=-1, version=0, deprecated=0, encodedLength=8, offset=8, componentTokenCount=1, encoding=Encoding{presence=REQUIRED, primitiveType=INT64, byteOrder=LITTLE_ENDIAN, minValue=null, maxValue=null, nullValue=null, constValue=null, characterEncoding='null', epoch='unix', timeUnit=nanosecond, semanticType='null'}} + //Token{signal=BEGIN_FIELD, name='leadershipTermId', referencedName='null', description='null', id=3, version=0, deprecated=0, encodedLength=0, offset=16, componentTokenCount=3, encoding=Encoding{presence=REQUIRED, primitiveType=null, byteOrder=LITTLE_ENDIAN, minValue=null, maxValue=null, nullValue=null, constValue=null, characterEncoding='null', epoch='unix', timeUnit=nanosecond, semanticType='null'}} + //Token{signal=ENCODING, name='int64', referencedName='null', description='null', id=-1, version=0, deprecated=0, encodedLength=8, offset=16, componentTokenCount=1, encoding=Encoding{presence=REQUIRED, primitiveType=INT64, byteOrder=LITTLE_ENDIAN, minValue=null, maxValue=null, nullValue=null, constValue=null, characterEncoding='null', epoch='unix', timeUnit=nanosecond, semanticType='null'}} builder.Append("LeadershipTermId="); builder.Append(LeadershipTermId()); builder.Append('|'); - //Token{signal=BEGIN_FIELD, name='leaderMemberId', referencedName='null', description='null', id=3, version=0, deprecated=0, encodedLength=0, offset=16, componentTokenCount=3, encoding=Encoding{presence=REQUIRED, primitiveType=null, byteOrder=LITTLE_ENDIAN, minValue=null, maxValue=null, nullValue=null, constValue=null, characterEncoding='null', epoch='unix', timeUnit=nanosecond, semanticType='null'}} - //Token{signal=ENCODING, name='int32', referencedName='null', description='null', id=-1, version=0, deprecated=0, encodedLength=4, offset=16, componentTokenCount=1, encoding=Encoding{presence=REQUIRED, primitiveType=INT32, byteOrder=LITTLE_ENDIAN, minValue=null, maxValue=null, nullValue=null, constValue=null, characterEncoding='null', epoch='unix', timeUnit=nanosecond, semanticType='null'}} + //Token{signal=BEGIN_FIELD, name='leaderMemberId', referencedName='null', description='null', id=4, version=0, deprecated=0, encodedLength=0, offset=24, componentTokenCount=3, encoding=Encoding{presence=REQUIRED, primitiveType=null, byteOrder=LITTLE_ENDIAN, minValue=null, maxValue=null, nullValue=null, constValue=null, characterEncoding='null', epoch='unix', timeUnit=nanosecond, semanticType='null'}} + //Token{signal=ENCODING, name='int32', referencedName='null', description='null', id=-1, version=0, deprecated=0, encodedLength=4, offset=24, componentTokenCount=1, encoding=Encoding{presence=REQUIRED, primitiveType=INT32, byteOrder=LITTLE_ENDIAN, minValue=null, maxValue=null, nullValue=null, constValue=null, characterEncoding='null', epoch='unix', timeUnit=nanosecond, semanticType='null'}} builder.Append("LeaderMemberId="); builder.Append(LeaderMemberId()); builder.Append('|'); - //Token{signal=BEGIN_FIELD, name='logSessionId', referencedName='null', description='null', id=4, version=0, deprecated=0, encodedLength=0, offset=20, componentTokenCount=3, encoding=Encoding{presence=REQUIRED, primitiveType=null, byteOrder=LITTLE_ENDIAN, minValue=null, maxValue=null, nullValue=null, constValue=null, characterEncoding='null', epoch='unix', timeUnit=nanosecond, semanticType='null'}} - //Token{signal=ENCODING, name='int32', referencedName='null', description='null', id=-1, version=0, deprecated=0, encodedLength=4, offset=20, componentTokenCount=1, encoding=Encoding{presence=REQUIRED, primitiveType=INT32, byteOrder=LITTLE_ENDIAN, minValue=null, maxValue=null, nullValue=null, constValue=null, characterEncoding='null', epoch='unix', timeUnit=nanosecond, semanticType='null'}} + //Token{signal=BEGIN_FIELD, name='logSessionId', referencedName='null', description='null', id=5, version=0, deprecated=0, encodedLength=0, offset=28, componentTokenCount=3, encoding=Encoding{presence=REQUIRED, primitiveType=null, byteOrder=LITTLE_ENDIAN, minValue=null, maxValue=null, nullValue=null, constValue=null, characterEncoding='null', epoch='unix', timeUnit=nanosecond, semanticType='null'}} + //Token{signal=ENCODING, name='int32', referencedName='null', description='null', id=-1, version=0, deprecated=0, encodedLength=4, offset=28, componentTokenCount=1, encoding=Encoding{presence=REQUIRED, primitiveType=INT32, byteOrder=LITTLE_ENDIAN, minValue=null, maxValue=null, nullValue=null, constValue=null, characterEncoding='null', epoch='unix', timeUnit=nanosecond, semanticType='null'}} builder.Append("LogSessionId="); builder.Append(LogSessionId()); diff --git a/src/Adaptive.Cluster/Codecs/NewLeadershipTermEncoder.cs b/src/Adaptive.Cluster/Codecs/NewLeadershipTermEncoder.cs index f8dece5a..33e64918 100644 --- a/src/Adaptive.Cluster/Codecs/NewLeadershipTermEncoder.cs +++ b/src/Adaptive.Cluster/Codecs/NewLeadershipTermEncoder.cs @@ -9,7 +9,7 @@ namespace Adaptive.Cluster.Codecs { public class NewLeadershipTermEncoder { - public const ushort BLOCK_LENGTH = 24; + public const ushort BLOCK_LENGTH = 32; public const ushort TEMPLATE_ID = 53; public const ushort SCHEMA_ID = 1; public const ushort SCHEMA_VERSION = 1; @@ -96,11 +96,43 @@ public void Limit(int limit) this._limit = limit; } - public static int LogPositionEncodingOffset() + public static int LogLeadershipTermIdEncodingOffset() { return 0; } + public static int LogLeadershipTermIdEncodingLength() + { + return 8; + } + + public static long LogLeadershipTermIdNullValue() + { + return -9223372036854775808L; + } + + public static long LogLeadershipTermIdMinValue() + { + return -9223372036854775807L; + } + + public static long LogLeadershipTermIdMaxValue() + { + return 9223372036854775807L; + } + + public NewLeadershipTermEncoder LogLeadershipTermId(long value) + { + _buffer.PutLong(_offset + 0, value, ByteOrder.LittleEndian); + return this; + } + + + public static int LogPositionEncodingOffset() + { + return 8; + } + public static int LogPositionEncodingLength() { return 8; @@ -123,14 +155,14 @@ public static long LogPositionMaxValue() public NewLeadershipTermEncoder LogPosition(long value) { - _buffer.PutLong(_offset + 0, value, ByteOrder.LittleEndian); + _buffer.PutLong(_offset + 8, value, ByteOrder.LittleEndian); return this; } public static int LeadershipTermIdEncodingOffset() { - return 8; + return 16; } public static int LeadershipTermIdEncodingLength() @@ -155,14 +187,14 @@ public static long LeadershipTermIdMaxValue() public NewLeadershipTermEncoder LeadershipTermId(long value) { - _buffer.PutLong(_offset + 8, value, ByteOrder.LittleEndian); + _buffer.PutLong(_offset + 16, value, ByteOrder.LittleEndian); return this; } public static int LeaderMemberIdEncodingOffset() { - return 16; + return 24; } public static int LeaderMemberIdEncodingLength() @@ -187,14 +219,14 @@ public static int LeaderMemberIdMaxValue() public NewLeadershipTermEncoder LeaderMemberId(int value) { - _buffer.PutInt(_offset + 16, value, ByteOrder.LittleEndian); + _buffer.PutInt(_offset + 24, value, ByteOrder.LittleEndian); return this; } public static int LogSessionIdEncodingOffset() { - return 20; + return 28; } public static int LogSessionIdEncodingLength() @@ -219,7 +251,7 @@ public static int LogSessionIdMaxValue() public NewLeadershipTermEncoder LogSessionId(int value) { - _buffer.PutInt(_offset + 20, value, ByteOrder.LittleEndian); + _buffer.PutInt(_offset + 28, value, ByteOrder.LittleEndian); return this; } diff --git a/src/Adaptive.Cluster/Codecs/NewLeadershipTermEventDecoder.cs b/src/Adaptive.Cluster/Codecs/NewLeadershipTermEventDecoder.cs new file mode 100644 index 00000000..e9cdefc6 --- /dev/null +++ b/src/Adaptive.Cluster/Codecs/NewLeadershipTermEventDecoder.cs @@ -0,0 +1,420 @@ +/* Generated SBE (Simple Binary Encoding) message codec */ +using System; +using System.Text; +using System.Collections.Generic; +using Adaptive.Agrona; + + +namespace Adaptive.Cluster.Codecs { + +public class NewLeadershipTermEventDecoder +{ + public const ushort BLOCK_LENGTH = 32; + public const ushort TEMPLATE_ID = 24; + public const ushort SCHEMA_ID = 1; + public const ushort SCHEMA_VERSION = 1; + + private NewLeadershipTermEventDecoder _parentMessage; + private IDirectBuffer _buffer; + protected int _offset; + protected int _limit; + protected int _actingBlockLength; + protected int _actingVersion; + + public NewLeadershipTermEventDecoder() + { + _parentMessage = this; + } + + public ushort SbeBlockLength() + { + return BLOCK_LENGTH; + } + + public ushort SbeTemplateId() + { + return TEMPLATE_ID; + } + + public ushort SbeSchemaId() + { + return SCHEMA_ID; + } + + public ushort SbeSchemaVersion() + { + return SCHEMA_VERSION; + } + + public string SbeSemanticType() + { + return ""; + } + + public IDirectBuffer Buffer() + { + return _buffer; + } + + public int Offset() + { + return _offset; + } + + public NewLeadershipTermEventDecoder Wrap( + IDirectBuffer buffer, int offset, int actingBlockLength, int actingVersion) + { + this._buffer = buffer; + this._offset = offset; + this._actingBlockLength = actingBlockLength; + this._actingVersion = actingVersion; + Limit(offset + actingBlockLength); + + return this; + } + + public int EncodedLength() + { + return _limit - _offset; + } + + public int Limit() + { + return _limit; + } + + public void Limit(int limit) + { + this._limit = limit; + } + + public static int LeadershipTermIdId() + { + return 1; + } + + public static int LeadershipTermIdSinceVersion() + { + return 0; + } + + public static int LeadershipTermIdEncodingOffset() + { + return 0; + } + + public static int LeadershipTermIdEncodingLength() + { + return 8; + } + + public static string LeadershipTermIdMetaAttribute(MetaAttribute metaAttribute) + { + switch (metaAttribute) + { + case MetaAttribute.EPOCH: return "unix"; + case MetaAttribute.TIME_UNIT: return "nanosecond"; + case MetaAttribute.SEMANTIC_TYPE: return ""; + case MetaAttribute.PRESENCE: return "required"; + } + + return ""; + } + + public static long LeadershipTermIdNullValue() + { + return -9223372036854775808L; + } + + public static long LeadershipTermIdMinValue() + { + return -9223372036854775807L; + } + + public static long LeadershipTermIdMaxValue() + { + return 9223372036854775807L; + } + + public long LeadershipTermId() + { + return _buffer.GetLong(_offset + 0, ByteOrder.LittleEndian); + } + + + public static int LogPositionId() + { + return 2; + } + + public static int LogPositionSinceVersion() + { + return 0; + } + + public static int LogPositionEncodingOffset() + { + return 8; + } + + public static int LogPositionEncodingLength() + { + return 8; + } + + public static string LogPositionMetaAttribute(MetaAttribute metaAttribute) + { + switch (metaAttribute) + { + case MetaAttribute.EPOCH: return "unix"; + case MetaAttribute.TIME_UNIT: return "nanosecond"; + case MetaAttribute.SEMANTIC_TYPE: return ""; + case MetaAttribute.PRESENCE: return "required"; + } + + return ""; + } + + public static long LogPositionNullValue() + { + return -9223372036854775808L; + } + + public static long LogPositionMinValue() + { + return -9223372036854775807L; + } + + public static long LogPositionMaxValue() + { + return 9223372036854775807L; + } + + public long LogPosition() + { + return _buffer.GetLong(_offset + 8, ByteOrder.LittleEndian); + } + + + public static int TimestampId() + { + return 3; + } + + public static int TimestampSinceVersion() + { + return 0; + } + + public static int TimestampEncodingOffset() + { + return 16; + } + + public static int TimestampEncodingLength() + { + return 8; + } + + public static string TimestampMetaAttribute(MetaAttribute metaAttribute) + { + switch (metaAttribute) + { + case MetaAttribute.EPOCH: return "unix"; + case MetaAttribute.TIME_UNIT: return "nanosecond"; + case MetaAttribute.SEMANTIC_TYPE: return ""; + case MetaAttribute.PRESENCE: return "required"; + } + + return ""; + } + + public static long TimestampNullValue() + { + return -9223372036854775808L; + } + + public static long TimestampMinValue() + { + return -9223372036854775807L; + } + + public static long TimestampMaxValue() + { + return 9223372036854775807L; + } + + public long Timestamp() + { + return _buffer.GetLong(_offset + 16, ByteOrder.LittleEndian); + } + + + public static int LeaderMemberIdId() + { + return 4; + } + + public static int LeaderMemberIdSinceVersion() + { + return 0; + } + + public static int LeaderMemberIdEncodingOffset() + { + return 24; + } + + public static int LeaderMemberIdEncodingLength() + { + return 4; + } + + public static string LeaderMemberIdMetaAttribute(MetaAttribute metaAttribute) + { + switch (metaAttribute) + { + case MetaAttribute.EPOCH: return "unix"; + case MetaAttribute.TIME_UNIT: return "nanosecond"; + case MetaAttribute.SEMANTIC_TYPE: return ""; + case MetaAttribute.PRESENCE: return "required"; + } + + return ""; + } + + public static int LeaderMemberIdNullValue() + { + return -2147483648; + } + + public static int LeaderMemberIdMinValue() + { + return -2147483647; + } + + public static int LeaderMemberIdMaxValue() + { + return 2147483647; + } + + public int LeaderMemberId() + { + return _buffer.GetInt(_offset + 24, ByteOrder.LittleEndian); + } + + + public static int LogSessionIdId() + { + return 5; + } + + public static int LogSessionIdSinceVersion() + { + return 0; + } + + public static int LogSessionIdEncodingOffset() + { + return 28; + } + + public static int LogSessionIdEncodingLength() + { + return 4; + } + + public static string LogSessionIdMetaAttribute(MetaAttribute metaAttribute) + { + switch (metaAttribute) + { + case MetaAttribute.EPOCH: return "unix"; + case MetaAttribute.TIME_UNIT: return "nanosecond"; + case MetaAttribute.SEMANTIC_TYPE: return ""; + case MetaAttribute.PRESENCE: return "required"; + } + + return ""; + } + + public static int LogSessionIdNullValue() + { + return -2147483648; + } + + public static int LogSessionIdMinValue() + { + return -2147483647; + } + + public static int LogSessionIdMaxValue() + { + return 2147483647; + } + + public int LogSessionId() + { + return _buffer.GetInt(_offset + 28, ByteOrder.LittleEndian); + } + + + + public override string ToString() + { + return AppendTo(new StringBuilder(100)).ToString(); + } + + public StringBuilder AppendTo(StringBuilder builder) + { + int originalLimit = Limit(); + Limit(_offset + _actingBlockLength); + builder.Append("[NewLeadershipTermEvent](sbeTemplateId="); + builder.Append(TEMPLATE_ID); + builder.Append("|sbeSchemaId="); + builder.Append(SCHEMA_ID); + builder.Append("|sbeSchemaVersion="); + if (_parentMessage._actingVersion != SCHEMA_VERSION) + { + builder.Append(_parentMessage._actingVersion); + builder.Append('/'); + } + builder.Append(SCHEMA_VERSION); + builder.Append("|sbeBlockLength="); + if (_actingBlockLength != BLOCK_LENGTH) + { + builder.Append(_actingBlockLength); + builder.Append('/'); + } + builder.Append(BLOCK_LENGTH); + builder.Append("):"); + //Token{signal=BEGIN_FIELD, name='leadershipTermId', referencedName='null', description='null', id=1, version=0, deprecated=0, encodedLength=0, offset=0, componentTokenCount=3, encoding=Encoding{presence=REQUIRED, primitiveType=null, byteOrder=LITTLE_ENDIAN, minValue=null, maxValue=null, nullValue=null, constValue=null, characterEncoding='null', epoch='unix', timeUnit=nanosecond, semanticType='null'}} + //Token{signal=ENCODING, name='int64', referencedName='null', description='null', id=-1, version=0, deprecated=0, encodedLength=8, offset=0, componentTokenCount=1, encoding=Encoding{presence=REQUIRED, primitiveType=INT64, byteOrder=LITTLE_ENDIAN, minValue=null, maxValue=null, nullValue=null, constValue=null, characterEncoding='null', epoch='unix', timeUnit=nanosecond, semanticType='null'}} + builder.Append("LeadershipTermId="); + builder.Append(LeadershipTermId()); + builder.Append('|'); + //Token{signal=BEGIN_FIELD, name='logPosition', referencedName='null', description='null', id=2, version=0, deprecated=0, encodedLength=0, offset=8, componentTokenCount=3, encoding=Encoding{presence=REQUIRED, primitiveType=null, byteOrder=LITTLE_ENDIAN, minValue=null, maxValue=null, nullValue=null, constValue=null, characterEncoding='null', epoch='unix', timeUnit=nanosecond, semanticType='null'}} + //Token{signal=ENCODING, name='int64', referencedName='null', description='null', id=-1, version=0, deprecated=0, encodedLength=8, offset=8, componentTokenCount=1, encoding=Encoding{presence=REQUIRED, primitiveType=INT64, byteOrder=LITTLE_ENDIAN, minValue=null, maxValue=null, nullValue=null, constValue=null, characterEncoding='null', epoch='unix', timeUnit=nanosecond, semanticType='null'}} + builder.Append("LogPosition="); + builder.Append(LogPosition()); + builder.Append('|'); + //Token{signal=BEGIN_FIELD, name='timestamp', referencedName='null', description='null', id=3, version=0, deprecated=0, encodedLength=0, offset=16, componentTokenCount=3, encoding=Encoding{presence=REQUIRED, primitiveType=null, byteOrder=LITTLE_ENDIAN, minValue=null, maxValue=null, nullValue=null, constValue=null, characterEncoding='null', epoch='unix', timeUnit=nanosecond, semanticType='null'}} + //Token{signal=ENCODING, name='time_t', referencedName='null', description='Epoch time in milliseconds since 1 Jan 1970 UTC', id=-1, version=0, deprecated=0, encodedLength=8, offset=16, componentTokenCount=1, encoding=Encoding{presence=REQUIRED, primitiveType=INT64, byteOrder=LITTLE_ENDIAN, minValue=null, maxValue=null, nullValue=null, constValue=null, characterEncoding='null', epoch='unix', timeUnit=nanosecond, semanticType='null'}} + builder.Append("Timestamp="); + builder.Append(Timestamp()); + builder.Append('|'); + //Token{signal=BEGIN_FIELD, name='leaderMemberId', referencedName='null', description='null', id=4, version=0, deprecated=0, encodedLength=0, offset=24, componentTokenCount=3, encoding=Encoding{presence=REQUIRED, primitiveType=null, byteOrder=LITTLE_ENDIAN, minValue=null, maxValue=null, nullValue=null, constValue=null, characterEncoding='null', epoch='unix', timeUnit=nanosecond, semanticType='null'}} + //Token{signal=ENCODING, name='int32', referencedName='null', description='null', id=-1, version=0, deprecated=0, encodedLength=4, offset=24, componentTokenCount=1, encoding=Encoding{presence=REQUIRED, primitiveType=INT32, byteOrder=LITTLE_ENDIAN, minValue=null, maxValue=null, nullValue=null, constValue=null, characterEncoding='null', epoch='unix', timeUnit=nanosecond, semanticType='null'}} + builder.Append("LeaderMemberId="); + builder.Append(LeaderMemberId()); + builder.Append('|'); + //Token{signal=BEGIN_FIELD, name='logSessionId', referencedName='null', description='null', id=5, version=0, deprecated=0, encodedLength=0, offset=28, componentTokenCount=3, encoding=Encoding{presence=REQUIRED, primitiveType=null, byteOrder=LITTLE_ENDIAN, minValue=null, maxValue=null, nullValue=null, constValue=null, characterEncoding='null', epoch='unix', timeUnit=nanosecond, semanticType='null'}} + //Token{signal=ENCODING, name='int32', referencedName='null', description='null', id=-1, version=0, deprecated=0, encodedLength=4, offset=28, componentTokenCount=1, encoding=Encoding{presence=REQUIRED, primitiveType=INT32, byteOrder=LITTLE_ENDIAN, minValue=null, maxValue=null, nullValue=null, constValue=null, characterEncoding='null', epoch='unix', timeUnit=nanosecond, semanticType='null'}} + builder.Append("LogSessionId="); + builder.Append(LogSessionId()); + + Limit(originalLimit); + + return builder; + } +} +} diff --git a/src/Adaptive.Cluster/Codecs/NewLeadershipTermEventEncoder.cs b/src/Adaptive.Cluster/Codecs/NewLeadershipTermEventEncoder.cs new file mode 100644 index 00000000..7ac0a408 --- /dev/null +++ b/src/Adaptive.Cluster/Codecs/NewLeadershipTermEventEncoder.cs @@ -0,0 +1,273 @@ +/* Generated SBE (Simple Binary Encoding) message codec */ +using System; +using System.Text; +using System.Collections.Generic; +using Adaptive.Agrona; + + +namespace Adaptive.Cluster.Codecs { + +public class NewLeadershipTermEventEncoder +{ + public const ushort BLOCK_LENGTH = 32; + public const ushort TEMPLATE_ID = 24; + public const ushort SCHEMA_ID = 1; + public const ushort SCHEMA_VERSION = 1; + + private NewLeadershipTermEventEncoder _parentMessage; + private IMutableDirectBuffer _buffer; + protected int _offset; + protected int _limit; + + public NewLeadershipTermEventEncoder() + { + _parentMessage = this; + } + + public ushort SbeBlockLength() + { + return BLOCK_LENGTH; + } + + public ushort SbeTemplateId() + { + return TEMPLATE_ID; + } + + public ushort SbeSchemaId() + { + return SCHEMA_ID; + } + + public ushort SbeSchemaVersion() + { + return SCHEMA_VERSION; + } + + public string SbeSemanticType() + { + return ""; + } + + public IMutableDirectBuffer Buffer() + { + return _buffer; + } + + public int Offset() + { + return _offset; + } + + public NewLeadershipTermEventEncoder Wrap(IMutableDirectBuffer buffer, int offset) + { + this._buffer = buffer; + this._offset = offset; + Limit(offset + BLOCK_LENGTH); + + return this; + } + + public NewLeadershipTermEventEncoder WrapAndApplyHeader( + IMutableDirectBuffer buffer, int offset, MessageHeaderEncoder headerEncoder) + { + headerEncoder + .Wrap(buffer, offset) + .BlockLength(BLOCK_LENGTH) + .TemplateId(TEMPLATE_ID) + .SchemaId(SCHEMA_ID) + .Version(SCHEMA_VERSION); + + return Wrap(buffer, offset + MessageHeaderEncoder.ENCODED_LENGTH); + } + + public int EncodedLength() + { + return _limit - _offset; + } + + public int Limit() + { + return _limit; + } + + public void Limit(int limit) + { + this._limit = limit; + } + + public static int LeadershipTermIdEncodingOffset() + { + return 0; + } + + public static int LeadershipTermIdEncodingLength() + { + return 8; + } + + public static long LeadershipTermIdNullValue() + { + return -9223372036854775808L; + } + + public static long LeadershipTermIdMinValue() + { + return -9223372036854775807L; + } + + public static long LeadershipTermIdMaxValue() + { + return 9223372036854775807L; + } + + public NewLeadershipTermEventEncoder LeadershipTermId(long value) + { + _buffer.PutLong(_offset + 0, value, ByteOrder.LittleEndian); + return this; + } + + + public static int LogPositionEncodingOffset() + { + return 8; + } + + public static int LogPositionEncodingLength() + { + return 8; + } + + public static long LogPositionNullValue() + { + return -9223372036854775808L; + } + + public static long LogPositionMinValue() + { + return -9223372036854775807L; + } + + public static long LogPositionMaxValue() + { + return 9223372036854775807L; + } + + public NewLeadershipTermEventEncoder LogPosition(long value) + { + _buffer.PutLong(_offset + 8, value, ByteOrder.LittleEndian); + return this; + } + + + public static int TimestampEncodingOffset() + { + return 16; + } + + public static int TimestampEncodingLength() + { + return 8; + } + + public static long TimestampNullValue() + { + return -9223372036854775808L; + } + + public static long TimestampMinValue() + { + return -9223372036854775807L; + } + + public static long TimestampMaxValue() + { + return 9223372036854775807L; + } + + public NewLeadershipTermEventEncoder Timestamp(long value) + { + _buffer.PutLong(_offset + 16, value, ByteOrder.LittleEndian); + return this; + } + + + public static int LeaderMemberIdEncodingOffset() + { + return 24; + } + + public static int LeaderMemberIdEncodingLength() + { + return 4; + } + + public static int LeaderMemberIdNullValue() + { + return -2147483648; + } + + public static int LeaderMemberIdMinValue() + { + return -2147483647; + } + + public static int LeaderMemberIdMaxValue() + { + return 2147483647; + } + + public NewLeadershipTermEventEncoder LeaderMemberId(int value) + { + _buffer.PutInt(_offset + 24, value, ByteOrder.LittleEndian); + return this; + } + + + public static int LogSessionIdEncodingOffset() + { + return 28; + } + + public static int LogSessionIdEncodingLength() + { + return 4; + } + + public static int LogSessionIdNullValue() + { + return -2147483648; + } + + public static int LogSessionIdMinValue() + { + return -2147483647; + } + + public static int LogSessionIdMaxValue() + { + return 2147483647; + } + + public NewLeadershipTermEventEncoder LogSessionId(int value) + { + _buffer.PutInt(_offset + 28, value, ByteOrder.LittleEndian); + return this; + } + + + + public override string ToString() + { + return AppendTo(new StringBuilder(100)).ToString(); + } + + public StringBuilder AppendTo(StringBuilder builder) + { + NewLeadershipTermEventDecoder writer = new NewLeadershipTermEventDecoder(); + writer.Wrap(_buffer, _offset, BLOCK_LENGTH, SCHEMA_VERSION); + + return writer.AppendTo(builder); + } +} +} diff --git a/src/Adaptive.Cluster/Codecs/RecordingLogDecoder.cs b/src/Adaptive.Cluster/Codecs/RecordingLogDecoder.cs new file mode 100644 index 00000000..2b3bc39d --- /dev/null +++ b/src/Adaptive.Cluster/Codecs/RecordingLogDecoder.cs @@ -0,0 +1,866 @@ +/* Generated SBE (Simple Binary Encoding) message codec */ +using System; +using System.Text; +using System.Collections.Generic; +using Adaptive.Agrona; + + +namespace Adaptive.Cluster.Codecs { + +public class RecordingLogDecoder +{ + public const ushort BLOCK_LENGTH = 20; + public const ushort TEMPLATE_ID = 64; + public const ushort SCHEMA_ID = 1; + public const ushort SCHEMA_VERSION = 1; + + private RecordingLogDecoder _parentMessage; + private IDirectBuffer _buffer; + protected int _offset; + protected int _limit; + protected int _actingBlockLength; + protected int _actingVersion; + + public RecordingLogDecoder() + { + _parentMessage = this; + } + + public ushort SbeBlockLength() + { + return BLOCK_LENGTH; + } + + public ushort SbeTemplateId() + { + return TEMPLATE_ID; + } + + public ushort SbeSchemaId() + { + return SCHEMA_ID; + } + + public ushort SbeSchemaVersion() + { + return SCHEMA_VERSION; + } + + public string SbeSemanticType() + { + return ""; + } + + public IDirectBuffer Buffer() + { + return _buffer; + } + + public int Offset() + { + return _offset; + } + + public RecordingLogDecoder Wrap( + IDirectBuffer buffer, int offset, int actingBlockLength, int actingVersion) + { + this._buffer = buffer; + this._offset = offset; + this._actingBlockLength = actingBlockLength; + this._actingVersion = actingVersion; + Limit(offset + actingBlockLength); + + return this; + } + + public int EncodedLength() + { + return _limit - _offset; + } + + public int Limit() + { + return _limit; + } + + public void Limit(int limit) + { + this._limit = limit; + } + + public static int CorrelationIdId() + { + return 1; + } + + public static int CorrelationIdSinceVersion() + { + return 0; + } + + public static int CorrelationIdEncodingOffset() + { + return 0; + } + + public static int CorrelationIdEncodingLength() + { + return 8; + } + + public static string CorrelationIdMetaAttribute(MetaAttribute metaAttribute) + { + switch (metaAttribute) + { + case MetaAttribute.EPOCH: return "unix"; + case MetaAttribute.TIME_UNIT: return "nanosecond"; + case MetaAttribute.SEMANTIC_TYPE: return ""; + case MetaAttribute.PRESENCE: return "required"; + } + + return ""; + } + + public static long CorrelationIdNullValue() + { + return -9223372036854775808L; + } + + public static long CorrelationIdMinValue() + { + return -9223372036854775807L; + } + + public static long CorrelationIdMaxValue() + { + return 9223372036854775807L; + } + + public long CorrelationId() + { + return _buffer.GetLong(_offset + 0, ByteOrder.LittleEndian); + } + + + public static int RequestMemberIdId() + { + return 2; + } + + public static int RequestMemberIdSinceVersion() + { + return 0; + } + + public static int RequestMemberIdEncodingOffset() + { + return 8; + } + + public static int RequestMemberIdEncodingLength() + { + return 4; + } + + public static string RequestMemberIdMetaAttribute(MetaAttribute metaAttribute) + { + switch (metaAttribute) + { + case MetaAttribute.EPOCH: return "unix"; + case MetaAttribute.TIME_UNIT: return "nanosecond"; + case MetaAttribute.SEMANTIC_TYPE: return ""; + case MetaAttribute.PRESENCE: return "required"; + } + + return ""; + } + + public static int RequestMemberIdNullValue() + { + return -2147483648; + } + + public static int RequestMemberIdMinValue() + { + return -2147483647; + } + + public static int RequestMemberIdMaxValue() + { + return 2147483647; + } + + public int RequestMemberId() + { + return _buffer.GetInt(_offset + 8, ByteOrder.LittleEndian); + } + + + public static int LeaderMemberIdId() + { + return 3; + } + + public static int LeaderMemberIdSinceVersion() + { + return 0; + } + + public static int LeaderMemberIdEncodingOffset() + { + return 12; + } + + public static int LeaderMemberIdEncodingLength() + { + return 4; + } + + public static string LeaderMemberIdMetaAttribute(MetaAttribute metaAttribute) + { + switch (metaAttribute) + { + case MetaAttribute.EPOCH: return "unix"; + case MetaAttribute.TIME_UNIT: return "nanosecond"; + case MetaAttribute.SEMANTIC_TYPE: return ""; + case MetaAttribute.PRESENCE: return "required"; + } + + return ""; + } + + public static int LeaderMemberIdNullValue() + { + return -2147483648; + } + + public static int LeaderMemberIdMinValue() + { + return -2147483647; + } + + public static int LeaderMemberIdMaxValue() + { + return 2147483647; + } + + public int LeaderMemberId() + { + return _buffer.GetInt(_offset + 12, ByteOrder.LittleEndian); + } + + + private EntriesDecoder _Entries = new EntriesDecoder(); + + public static long EntriesDecoderId() + { + return 4; + } + + public static int EntriesDecoderSinceVersion() + { + return 0; + } + + public EntriesDecoder Entries() + { + _Entries.Wrap(_parentMessage, _buffer); + return _Entries; + } + + public class EntriesDecoder + { + private static int HEADER_SIZE = 4; + private GroupSizeEncodingDecoder _dimensions = new GroupSizeEncodingDecoder(); + private RecordingLogDecoder _parentMessage; + private IDirectBuffer _buffer; + private int _count; + private int _index; + private int _offset; + private int _blockLength; + + public void Wrap( + RecordingLogDecoder parentMessage, IDirectBuffer buffer) + { + this._parentMessage = parentMessage; + this._buffer = buffer; + _dimensions.Wrap(buffer, parentMessage.Limit()); + _blockLength = _dimensions.BlockLength(); + _count = _dimensions.NumInGroup(); + _index = -1; + parentMessage.Limit(parentMessage.Limit() + HEADER_SIZE); + } + + public static int SbeHeaderSize() + { + return HEADER_SIZE; + } + + public static int SbeBlockLength() + { + return 64; + } + + public int ActingBlockLength() + { + return _blockLength; + } + + public int Count() + { + return _count; + } + + public bool HasNext() + { + return (_index + 1) < _count; + } + + public EntriesDecoder Next() + { + if (_index + 1 >= _count) + { + throw new IndexOutOfRangeException(); + } + + _offset = _parentMessage.Limit(); + _parentMessage.Limit(_offset + _blockLength); + ++_index; + + return this; + } + + public static int RecordingIdId() + { + return 5; + } + + public static int RecordingIdSinceVersion() + { + return 0; + } + + public static int RecordingIdEncodingOffset() + { + return 0; + } + + public static int RecordingIdEncodingLength() + { + return 8; + } + + public static string RecordingIdMetaAttribute(MetaAttribute metaAttribute) + { + switch (metaAttribute) + { + case MetaAttribute.EPOCH: return "unix"; + case MetaAttribute.TIME_UNIT: return "nanosecond"; + case MetaAttribute.SEMANTIC_TYPE: return ""; + case MetaAttribute.PRESENCE: return "required"; + } + + return ""; + } + + public static long RecordingIdNullValue() + { + return -9223372036854775808L; + } + + public static long RecordingIdMinValue() + { + return -9223372036854775807L; + } + + public static long RecordingIdMaxValue() + { + return 9223372036854775807L; + } + + public long RecordingId() + { + return _buffer.GetLong(_offset + 0, ByteOrder.LittleEndian); + } + + + public static int LeadershipTermIdId() + { + return 6; + } + + public static int LeadershipTermIdSinceVersion() + { + return 0; + } + + public static int LeadershipTermIdEncodingOffset() + { + return 8; + } + + public static int LeadershipTermIdEncodingLength() + { + return 8; + } + + public static string LeadershipTermIdMetaAttribute(MetaAttribute metaAttribute) + { + switch (metaAttribute) + { + case MetaAttribute.EPOCH: return "unix"; + case MetaAttribute.TIME_UNIT: return "nanosecond"; + case MetaAttribute.SEMANTIC_TYPE: return ""; + case MetaAttribute.PRESENCE: return "required"; + } + + return ""; + } + + public static long LeadershipTermIdNullValue() + { + return -9223372036854775808L; + } + + public static long LeadershipTermIdMinValue() + { + return -9223372036854775807L; + } + + public static long LeadershipTermIdMaxValue() + { + return 9223372036854775807L; + } + + public long LeadershipTermId() + { + return _buffer.GetLong(_offset + 8, ByteOrder.LittleEndian); + } + + + public static int TermBaseLogPositionId() + { + return 7; + } + + public static int TermBaseLogPositionSinceVersion() + { + return 0; + } + + public static int TermBaseLogPositionEncodingOffset() + { + return 16; + } + + public static int TermBaseLogPositionEncodingLength() + { + return 8; + } + + public static string TermBaseLogPositionMetaAttribute(MetaAttribute metaAttribute) + { + switch (metaAttribute) + { + case MetaAttribute.EPOCH: return "unix"; + case MetaAttribute.TIME_UNIT: return "nanosecond"; + case MetaAttribute.SEMANTIC_TYPE: return ""; + case MetaAttribute.PRESENCE: return "required"; + } + + return ""; + } + + public static long TermBaseLogPositionNullValue() + { + return -9223372036854775808L; + } + + public static long TermBaseLogPositionMinValue() + { + return -9223372036854775807L; + } + + public static long TermBaseLogPositionMaxValue() + { + return 9223372036854775807L; + } + + public long TermBaseLogPosition() + { + return _buffer.GetLong(_offset + 16, ByteOrder.LittleEndian); + } + + + public static int LogPositionId() + { + return 8; + } + + public static int LogPositionSinceVersion() + { + return 0; + } + + public static int LogPositionEncodingOffset() + { + return 24; + } + + public static int LogPositionEncodingLength() + { + return 8; + } + + public static string LogPositionMetaAttribute(MetaAttribute metaAttribute) + { + switch (metaAttribute) + { + case MetaAttribute.EPOCH: return "unix"; + case MetaAttribute.TIME_UNIT: return "nanosecond"; + case MetaAttribute.SEMANTIC_TYPE: return ""; + case MetaAttribute.PRESENCE: return "required"; + } + + return ""; + } + + public static long LogPositionNullValue() + { + return -9223372036854775808L; + } + + public static long LogPositionMinValue() + { + return -9223372036854775807L; + } + + public static long LogPositionMaxValue() + { + return 9223372036854775807L; + } + + public long LogPosition() + { + return _buffer.GetLong(_offset + 24, ByteOrder.LittleEndian); + } + + + public static int TimestampId() + { + return 9; + } + + public static int TimestampSinceVersion() + { + return 0; + } + + public static int TimestampEncodingOffset() + { + return 32; + } + + public static int TimestampEncodingLength() + { + return 8; + } + + public static string TimestampMetaAttribute(MetaAttribute metaAttribute) + { + switch (metaAttribute) + { + case MetaAttribute.EPOCH: return "unix"; + case MetaAttribute.TIME_UNIT: return "nanosecond"; + case MetaAttribute.SEMANTIC_TYPE: return ""; + case MetaAttribute.PRESENCE: return "required"; + } + + return ""; + } + + public static long TimestampNullValue() + { + return -9223372036854775808L; + } + + public static long TimestampMinValue() + { + return -9223372036854775807L; + } + + public static long TimestampMaxValue() + { + return 9223372036854775807L; + } + + public long Timestamp() + { + return _buffer.GetLong(_offset + 32, ByteOrder.LittleEndian); + } + + + public static int ServiceIdId() + { + return 10; + } + + public static int ServiceIdSinceVersion() + { + return 0; + } + + public static int ServiceIdEncodingOffset() + { + return 40; + } + + public static int ServiceIdEncodingLength() + { + return 4; + } + + public static string ServiceIdMetaAttribute(MetaAttribute metaAttribute) + { + switch (metaAttribute) + { + case MetaAttribute.EPOCH: return "unix"; + case MetaAttribute.TIME_UNIT: return "nanosecond"; + case MetaAttribute.SEMANTIC_TYPE: return ""; + case MetaAttribute.PRESENCE: return "required"; + } + + return ""; + } + + public static int ServiceIdNullValue() + { + return -2147483648; + } + + public static int ServiceIdMinValue() + { + return -2147483647; + } + + public static int ServiceIdMaxValue() + { + return 2147483647; + } + + public int ServiceId() + { + return _buffer.GetInt(_offset + 40, ByteOrder.LittleEndian); + } + + + public static int EntryTypeId() + { + return 11; + } + + public static int EntryTypeSinceVersion() + { + return 0; + } + + public static int EntryTypeEncodingOffset() + { + return 44; + } + + public static int EntryTypeEncodingLength() + { + return 4; + } + + public static string EntryTypeMetaAttribute(MetaAttribute metaAttribute) + { + switch (metaAttribute) + { + case MetaAttribute.EPOCH: return "unix"; + case MetaAttribute.TIME_UNIT: return "nanosecond"; + case MetaAttribute.SEMANTIC_TYPE: return ""; + case MetaAttribute.PRESENCE: return "required"; + } + + return ""; + } + + public static int EntryTypeNullValue() + { + return -2147483648; + } + + public static int EntryTypeMinValue() + { + return -2147483647; + } + + public static int EntryTypeMaxValue() + { + return 2147483647; + } + + public int EntryType() + { + return _buffer.GetInt(_offset + 44, ByteOrder.LittleEndian); + } + + + public static int IsCurrentId() + { + return 12; + } + + public static int IsCurrentSinceVersion() + { + return 0; + } + + public static int IsCurrentEncodingOffset() + { + return 48; + } + + public static int IsCurrentEncodingLength() + { + return 4; + } + + public static string IsCurrentMetaAttribute(MetaAttribute metaAttribute) + { + switch (metaAttribute) + { + case MetaAttribute.EPOCH: return "unix"; + case MetaAttribute.TIME_UNIT: return "nanosecond"; + case MetaAttribute.SEMANTIC_TYPE: return ""; + case MetaAttribute.PRESENCE: return "required"; + } + + return ""; + } + + public BooleanType IsCurrent() + { + return (BooleanType)_buffer.GetInt(_offset + 48, ByteOrder.LittleEndian); + } + + + + public override string ToString() + { + return AppendTo(new StringBuilder(100)).ToString(); + } + + public StringBuilder AppendTo(StringBuilder builder) + { + builder.Append('('); + //Token{signal=BEGIN_FIELD, name='recordingId', referencedName='null', description='null', id=5, version=0, deprecated=0, encodedLength=0, offset=0, componentTokenCount=3, encoding=Encoding{presence=REQUIRED, primitiveType=null, byteOrder=LITTLE_ENDIAN, minValue=null, maxValue=null, nullValue=null, constValue=null, characterEncoding='null', epoch='unix', timeUnit=nanosecond, semanticType='null'}} + //Token{signal=ENCODING, name='int64', referencedName='null', description='null', id=-1, version=0, deprecated=0, encodedLength=8, offset=0, componentTokenCount=1, encoding=Encoding{presence=REQUIRED, primitiveType=INT64, byteOrder=LITTLE_ENDIAN, minValue=null, maxValue=null, nullValue=null, constValue=null, characterEncoding='null', epoch='unix', timeUnit=nanosecond, semanticType='null'}} + builder.Append("RecordingId="); + builder.Append(RecordingId()); + builder.Append('|'); + //Token{signal=BEGIN_FIELD, name='leadershipTermId', referencedName='null', description='null', id=6, version=0, deprecated=0, encodedLength=0, offset=8, componentTokenCount=3, encoding=Encoding{presence=REQUIRED, primitiveType=null, byteOrder=LITTLE_ENDIAN, minValue=null, maxValue=null, nullValue=null, constValue=null, characterEncoding='null', epoch='unix', timeUnit=nanosecond, semanticType='null'}} + //Token{signal=ENCODING, name='int64', referencedName='null', description='null', id=-1, version=0, deprecated=0, encodedLength=8, offset=8, componentTokenCount=1, encoding=Encoding{presence=REQUIRED, primitiveType=INT64, byteOrder=LITTLE_ENDIAN, minValue=null, maxValue=null, nullValue=null, constValue=null, characterEncoding='null', epoch='unix', timeUnit=nanosecond, semanticType='null'}} + builder.Append("LeadershipTermId="); + builder.Append(LeadershipTermId()); + builder.Append('|'); + //Token{signal=BEGIN_FIELD, name='termBaseLogPosition', referencedName='null', description='null', id=7, version=0, deprecated=0, encodedLength=0, offset=16, componentTokenCount=3, encoding=Encoding{presence=REQUIRED, primitiveType=null, byteOrder=LITTLE_ENDIAN, minValue=null, maxValue=null, nullValue=null, constValue=null, characterEncoding='null', epoch='unix', timeUnit=nanosecond, semanticType='null'}} + //Token{signal=ENCODING, name='int64', referencedName='null', description='null', id=-1, version=0, deprecated=0, encodedLength=8, offset=16, componentTokenCount=1, encoding=Encoding{presence=REQUIRED, primitiveType=INT64, byteOrder=LITTLE_ENDIAN, minValue=null, maxValue=null, nullValue=null, constValue=null, characterEncoding='null', epoch='unix', timeUnit=nanosecond, semanticType='null'}} + builder.Append("TermBaseLogPosition="); + builder.Append(TermBaseLogPosition()); + builder.Append('|'); + //Token{signal=BEGIN_FIELD, name='logPosition', referencedName='null', description='null', id=8, version=0, deprecated=0, encodedLength=0, offset=24, componentTokenCount=3, encoding=Encoding{presence=REQUIRED, primitiveType=null, byteOrder=LITTLE_ENDIAN, minValue=null, maxValue=null, nullValue=null, constValue=null, characterEncoding='null', epoch='unix', timeUnit=nanosecond, semanticType='null'}} + //Token{signal=ENCODING, name='int64', referencedName='null', description='null', id=-1, version=0, deprecated=0, encodedLength=8, offset=24, componentTokenCount=1, encoding=Encoding{presence=REQUIRED, primitiveType=INT64, byteOrder=LITTLE_ENDIAN, minValue=null, maxValue=null, nullValue=null, constValue=null, characterEncoding='null', epoch='unix', timeUnit=nanosecond, semanticType='null'}} + builder.Append("LogPosition="); + builder.Append(LogPosition()); + builder.Append('|'); + //Token{signal=BEGIN_FIELD, name='timestamp', referencedName='null', description='null', id=9, version=0, deprecated=0, encodedLength=0, offset=32, componentTokenCount=3, encoding=Encoding{presence=REQUIRED, primitiveType=null, byteOrder=LITTLE_ENDIAN, minValue=null, maxValue=null, nullValue=null, constValue=null, characterEncoding='null', epoch='unix', timeUnit=nanosecond, semanticType='null'}} + //Token{signal=ENCODING, name='time_t', referencedName='null', description='Epoch time in milliseconds since 1 Jan 1970 UTC', id=-1, version=0, deprecated=0, encodedLength=8, offset=32, componentTokenCount=1, encoding=Encoding{presence=REQUIRED, primitiveType=INT64, byteOrder=LITTLE_ENDIAN, minValue=null, maxValue=null, nullValue=null, constValue=null, characterEncoding='null', epoch='unix', timeUnit=nanosecond, semanticType='null'}} + builder.Append("Timestamp="); + builder.Append(Timestamp()); + builder.Append('|'); + //Token{signal=BEGIN_FIELD, name='serviceId', referencedName='null', description='null', id=10, version=0, deprecated=0, encodedLength=0, offset=40, componentTokenCount=3, encoding=Encoding{presence=REQUIRED, primitiveType=null, byteOrder=LITTLE_ENDIAN, minValue=null, maxValue=null, nullValue=null, constValue=null, characterEncoding='null', epoch='unix', timeUnit=nanosecond, semanticType='null'}} + //Token{signal=ENCODING, name='int32', referencedName='null', description='null', id=-1, version=0, deprecated=0, encodedLength=4, offset=40, componentTokenCount=1, encoding=Encoding{presence=REQUIRED, primitiveType=INT32, byteOrder=LITTLE_ENDIAN, minValue=null, maxValue=null, nullValue=null, constValue=null, characterEncoding='null', epoch='unix', timeUnit=nanosecond, semanticType='null'}} + builder.Append("ServiceId="); + builder.Append(ServiceId()); + builder.Append('|'); + //Token{signal=BEGIN_FIELD, name='entryType', referencedName='null', description='null', id=11, version=0, deprecated=0, encodedLength=0, offset=44, componentTokenCount=3, encoding=Encoding{presence=REQUIRED, primitiveType=null, byteOrder=LITTLE_ENDIAN, minValue=null, maxValue=null, nullValue=null, constValue=null, characterEncoding='null', epoch='unix', timeUnit=nanosecond, semanticType='null'}} + //Token{signal=ENCODING, name='int32', referencedName='null', description='null', id=-1, version=0, deprecated=0, encodedLength=4, offset=44, componentTokenCount=1, encoding=Encoding{presence=REQUIRED, primitiveType=INT32, byteOrder=LITTLE_ENDIAN, minValue=null, maxValue=null, nullValue=null, constValue=null, characterEncoding='null', epoch='unix', timeUnit=nanosecond, semanticType='null'}} + builder.Append("EntryType="); + builder.Append(EntryType()); + builder.Append('|'); + //Token{signal=BEGIN_FIELD, name='isCurrent', referencedName='null', description='null', id=12, version=0, deprecated=0, encodedLength=0, offset=48, componentTokenCount=6, encoding=Encoding{presence=REQUIRED, primitiveType=null, byteOrder=LITTLE_ENDIAN, minValue=null, maxValue=null, nullValue=null, constValue=null, characterEncoding='null', epoch='unix', timeUnit=nanosecond, semanticType='null'}} + //Token{signal=BEGIN_ENUM, name='BooleanType', referencedName='null', description='null', id=-1, version=0, deprecated=0, encodedLength=4, offset=48, componentTokenCount=4, encoding=Encoding{presence=REQUIRED, primitiveType=INT32, byteOrder=LITTLE_ENDIAN, minValue=null, maxValue=null, nullValue=null, constValue=null, characterEncoding='null', epoch='null', timeUnit=null, semanticType='null'}} + builder.Append("IsCurrent="); + builder.Append(IsCurrent()); + builder.Append(')'); + return builder; + } + } + + + public override string ToString() + { + return AppendTo(new StringBuilder(100)).ToString(); + } + + public StringBuilder AppendTo(StringBuilder builder) + { + int originalLimit = Limit(); + Limit(_offset + _actingBlockLength); + builder.Append("[RecordingLog](sbeTemplateId="); + builder.Append(TEMPLATE_ID); + builder.Append("|sbeSchemaId="); + builder.Append(SCHEMA_ID); + builder.Append("|sbeSchemaVersion="); + if (_parentMessage._actingVersion != SCHEMA_VERSION) + { + builder.Append(_parentMessage._actingVersion); + builder.Append('/'); + } + builder.Append(SCHEMA_VERSION); + builder.Append("|sbeBlockLength="); + if (_actingBlockLength != BLOCK_LENGTH) + { + builder.Append(_actingBlockLength); + builder.Append('/'); + } + builder.Append(BLOCK_LENGTH); + builder.Append("):"); + //Token{signal=BEGIN_FIELD, name='correlationId', referencedName='null', description='null', id=1, version=0, deprecated=0, encodedLength=0, offset=0, componentTokenCount=3, encoding=Encoding{presence=REQUIRED, primitiveType=null, byteOrder=LITTLE_ENDIAN, minValue=null, maxValue=null, nullValue=null, constValue=null, characterEncoding='null', epoch='unix', timeUnit=nanosecond, semanticType='null'}} + //Token{signal=ENCODING, name='int64', referencedName='null', description='null', id=-1, version=0, deprecated=0, encodedLength=8, offset=0, componentTokenCount=1, encoding=Encoding{presence=REQUIRED, primitiveType=INT64, byteOrder=LITTLE_ENDIAN, minValue=null, maxValue=null, nullValue=null, constValue=null, characterEncoding='null', epoch='unix', timeUnit=nanosecond, semanticType='null'}} + builder.Append("CorrelationId="); + builder.Append(CorrelationId()); + builder.Append('|'); + //Token{signal=BEGIN_FIELD, name='requestMemberId', referencedName='null', description='null', id=2, version=0, deprecated=0, encodedLength=0, offset=8, componentTokenCount=3, encoding=Encoding{presence=REQUIRED, primitiveType=null, byteOrder=LITTLE_ENDIAN, minValue=null, maxValue=null, nullValue=null, constValue=null, characterEncoding='null', epoch='unix', timeUnit=nanosecond, semanticType='null'}} + //Token{signal=ENCODING, name='int32', referencedName='null', description='null', id=-1, version=0, deprecated=0, encodedLength=4, offset=8, componentTokenCount=1, encoding=Encoding{presence=REQUIRED, primitiveType=INT32, byteOrder=LITTLE_ENDIAN, minValue=null, maxValue=null, nullValue=null, constValue=null, characterEncoding='null', epoch='unix', timeUnit=nanosecond, semanticType='null'}} + builder.Append("RequestMemberId="); + builder.Append(RequestMemberId()); + builder.Append('|'); + //Token{signal=BEGIN_FIELD, name='leaderMemberId', referencedName='null', description='null', id=3, version=0, deprecated=0, encodedLength=0, offset=12, componentTokenCount=3, encoding=Encoding{presence=REQUIRED, primitiveType=null, byteOrder=LITTLE_ENDIAN, minValue=null, maxValue=null, nullValue=null, constValue=null, characterEncoding='null', epoch='unix', timeUnit=nanosecond, semanticType='null'}} + //Token{signal=ENCODING, name='int32', referencedName='null', description='null', id=-1, version=0, deprecated=0, encodedLength=4, offset=12, componentTokenCount=1, encoding=Encoding{presence=REQUIRED, primitiveType=INT32, byteOrder=LITTLE_ENDIAN, minValue=null, maxValue=null, nullValue=null, constValue=null, characterEncoding='null', epoch='unix', timeUnit=nanosecond, semanticType='null'}} + builder.Append("LeaderMemberId="); + builder.Append(LeaderMemberId()); + builder.Append('|'); + //Token{signal=BEGIN_GROUP, name='entries', referencedName='null', description='null', id=4, version=0, deprecated=0, encodedLength=64, offset=20, componentTokenCount=33, encoding=Encoding{presence=REQUIRED, primitiveType=null, byteOrder=LITTLE_ENDIAN, minValue=null, maxValue=null, nullValue=null, constValue=null, characterEncoding='null', epoch='null', timeUnit=null, semanticType='null'}} + builder.Append("Entries=["); + EntriesDecoder Entries = this.Entries(); + if (Entries.Count() > 0) + { + while (Entries.HasNext()) + { + Entries.Next().AppendTo(builder); + builder.Append(','); + } + builder.Length = builder.Length - 1; + } + builder.Append(']'); + + Limit(originalLimit); + + return builder; + } +} +} diff --git a/src/Adaptive.Cluster/Codecs/RecordingLogEncoder.cs b/src/Adaptive.Cluster/Codecs/RecordingLogEncoder.cs new file mode 100644 index 00000000..41c1c6c7 --- /dev/null +++ b/src/Adaptive.Cluster/Codecs/RecordingLogEncoder.cs @@ -0,0 +1,515 @@ +/* Generated SBE (Simple Binary Encoding) message codec */ +using System; +using System.Text; +using System.Collections.Generic; +using Adaptive.Agrona; + + +namespace Adaptive.Cluster.Codecs { + +public class RecordingLogEncoder +{ + public const ushort BLOCK_LENGTH = 20; + public const ushort TEMPLATE_ID = 64; + public const ushort SCHEMA_ID = 1; + public const ushort SCHEMA_VERSION = 1; + + private RecordingLogEncoder _parentMessage; + private IMutableDirectBuffer _buffer; + protected int _offset; + protected int _limit; + + public RecordingLogEncoder() + { + _parentMessage = this; + } + + public ushort SbeBlockLength() + { + return BLOCK_LENGTH; + } + + public ushort SbeTemplateId() + { + return TEMPLATE_ID; + } + + public ushort SbeSchemaId() + { + return SCHEMA_ID; + } + + public ushort SbeSchemaVersion() + { + return SCHEMA_VERSION; + } + + public string SbeSemanticType() + { + return ""; + } + + public IMutableDirectBuffer Buffer() + { + return _buffer; + } + + public int Offset() + { + return _offset; + } + + public RecordingLogEncoder Wrap(IMutableDirectBuffer buffer, int offset) + { + this._buffer = buffer; + this._offset = offset; + Limit(offset + BLOCK_LENGTH); + + return this; + } + + public RecordingLogEncoder WrapAndApplyHeader( + IMutableDirectBuffer buffer, int offset, MessageHeaderEncoder headerEncoder) + { + headerEncoder + .Wrap(buffer, offset) + .BlockLength(BLOCK_LENGTH) + .TemplateId(TEMPLATE_ID) + .SchemaId(SCHEMA_ID) + .Version(SCHEMA_VERSION); + + return Wrap(buffer, offset + MessageHeaderEncoder.ENCODED_LENGTH); + } + + public int EncodedLength() + { + return _limit - _offset; + } + + public int Limit() + { + return _limit; + } + + public void Limit(int limit) + { + this._limit = limit; + } + + public static int CorrelationIdEncodingOffset() + { + return 0; + } + + public static int CorrelationIdEncodingLength() + { + return 8; + } + + public static long CorrelationIdNullValue() + { + return -9223372036854775808L; + } + + public static long CorrelationIdMinValue() + { + return -9223372036854775807L; + } + + public static long CorrelationIdMaxValue() + { + return 9223372036854775807L; + } + + public RecordingLogEncoder CorrelationId(long value) + { + _buffer.PutLong(_offset + 0, value, ByteOrder.LittleEndian); + return this; + } + + + public static int RequestMemberIdEncodingOffset() + { + return 8; + } + + public static int RequestMemberIdEncodingLength() + { + return 4; + } + + public static int RequestMemberIdNullValue() + { + return -2147483648; + } + + public static int RequestMemberIdMinValue() + { + return -2147483647; + } + + public static int RequestMemberIdMaxValue() + { + return 2147483647; + } + + public RecordingLogEncoder RequestMemberId(int value) + { + _buffer.PutInt(_offset + 8, value, ByteOrder.LittleEndian); + return this; + } + + + public static int LeaderMemberIdEncodingOffset() + { + return 12; + } + + public static int LeaderMemberIdEncodingLength() + { + return 4; + } + + public static int LeaderMemberIdNullValue() + { + return -2147483648; + } + + public static int LeaderMemberIdMinValue() + { + return -2147483647; + } + + public static int LeaderMemberIdMaxValue() + { + return 2147483647; + } + + public RecordingLogEncoder LeaderMemberId(int value) + { + _buffer.PutInt(_offset + 12, value, ByteOrder.LittleEndian); + return this; + } + + + private EntriesEncoder _Entries = new EntriesEncoder(); + + public static long EntriesId() + { + return 4; + } + + public EntriesEncoder EntriesCount(int count) + { + _Entries.Wrap(_parentMessage, _buffer, count); + return _Entries; + } + + public class EntriesEncoder + { + private static int HEADER_SIZE = 4; + private GroupSizeEncodingEncoder _dimensions = new GroupSizeEncodingEncoder(); + private RecordingLogEncoder _parentMessage; + private IMutableDirectBuffer _buffer; + private int _count; + private int _index; + private int _offset; + + public void Wrap( + RecordingLogEncoder parentMessage, IMutableDirectBuffer buffer, int count) + { + if (count < 0 || count > 65534) + { + throw new ArgumentException("count outside allowed range: count=" + count); + } + + this._parentMessage = parentMessage; + this._buffer = buffer; + _dimensions.Wrap(buffer, parentMessage.Limit()); + _dimensions.BlockLength((ushort)64); + _dimensions.NumInGroup((ushort)count); + _index = -1; + this._count = count; + parentMessage.Limit(parentMessage.Limit() + HEADER_SIZE); + } + + public static int SbeHeaderSize() + { + return HEADER_SIZE; + } + + public static int SbeBlockLength() + { + return 64; + } + + public EntriesEncoder Next() + { + if (_index + 1 >= _count) + { + throw new IndexOutOfRangeException(); + } + + _offset = _parentMessage.Limit(); + _parentMessage.Limit(_offset + SbeBlockLength()); + ++_index; + + return this; + } + + public static int RecordingIdEncodingOffset() + { + return 0; + } + + public static int RecordingIdEncodingLength() + { + return 8; + } + + public static long RecordingIdNullValue() + { + return -9223372036854775808L; + } + + public static long RecordingIdMinValue() + { + return -9223372036854775807L; + } + + public static long RecordingIdMaxValue() + { + return 9223372036854775807L; + } + + public EntriesEncoder RecordingId(long value) + { + _buffer.PutLong(_offset + 0, value, ByteOrder.LittleEndian); + return this; + } + + + public static int LeadershipTermIdEncodingOffset() + { + return 8; + } + + public static int LeadershipTermIdEncodingLength() + { + return 8; + } + + public static long LeadershipTermIdNullValue() + { + return -9223372036854775808L; + } + + public static long LeadershipTermIdMinValue() + { + return -9223372036854775807L; + } + + public static long LeadershipTermIdMaxValue() + { + return 9223372036854775807L; + } + + public EntriesEncoder LeadershipTermId(long value) + { + _buffer.PutLong(_offset + 8, value, ByteOrder.LittleEndian); + return this; + } + + + public static int TermBaseLogPositionEncodingOffset() + { + return 16; + } + + public static int TermBaseLogPositionEncodingLength() + { + return 8; + } + + public static long TermBaseLogPositionNullValue() + { + return -9223372036854775808L; + } + + public static long TermBaseLogPositionMinValue() + { + return -9223372036854775807L; + } + + public static long TermBaseLogPositionMaxValue() + { + return 9223372036854775807L; + } + + public EntriesEncoder TermBaseLogPosition(long value) + { + _buffer.PutLong(_offset + 16, value, ByteOrder.LittleEndian); + return this; + } + + + public static int LogPositionEncodingOffset() + { + return 24; + } + + public static int LogPositionEncodingLength() + { + return 8; + } + + public static long LogPositionNullValue() + { + return -9223372036854775808L; + } + + public static long LogPositionMinValue() + { + return -9223372036854775807L; + } + + public static long LogPositionMaxValue() + { + return 9223372036854775807L; + } + + public EntriesEncoder LogPosition(long value) + { + _buffer.PutLong(_offset + 24, value, ByteOrder.LittleEndian); + return this; + } + + + public static int TimestampEncodingOffset() + { + return 32; + } + + public static int TimestampEncodingLength() + { + return 8; + } + + public static long TimestampNullValue() + { + return -9223372036854775808L; + } + + public static long TimestampMinValue() + { + return -9223372036854775807L; + } + + public static long TimestampMaxValue() + { + return 9223372036854775807L; + } + + public EntriesEncoder Timestamp(long value) + { + _buffer.PutLong(_offset + 32, value, ByteOrder.LittleEndian); + return this; + } + + + public static int ServiceIdEncodingOffset() + { + return 40; + } + + public static int ServiceIdEncodingLength() + { + return 4; + } + + public static int ServiceIdNullValue() + { + return -2147483648; + } + + public static int ServiceIdMinValue() + { + return -2147483647; + } + + public static int ServiceIdMaxValue() + { + return 2147483647; + } + + public EntriesEncoder ServiceId(int value) + { + _buffer.PutInt(_offset + 40, value, ByteOrder.LittleEndian); + return this; + } + + + public static int EntryTypeEncodingOffset() + { + return 44; + } + + public static int EntryTypeEncodingLength() + { + return 4; + } + + public static int EntryTypeNullValue() + { + return -2147483648; + } + + public static int EntryTypeMinValue() + { + return -2147483647; + } + + public static int EntryTypeMaxValue() + { + return 2147483647; + } + + public EntriesEncoder EntryType(int value) + { + _buffer.PutInt(_offset + 44, value, ByteOrder.LittleEndian); + return this; + } + + + public static int IsCurrentEncodingOffset() + { + return 48; + } + + public static int IsCurrentEncodingLength() + { + return 4; + } + + public EntriesEncoder IsCurrent(BooleanType value) + { + _buffer.PutInt(_offset + 48, (int)value, ByteOrder.LittleEndian); + return this; + } + } + + + public override string ToString() + { + return AppendTo(new StringBuilder(100)).ToString(); + } + + public StringBuilder AppendTo(StringBuilder builder) + { + RecordingLogDecoder writer = new RecordingLogDecoder(); + writer.Wrap(_buffer, _offset, BLOCK_LENGTH, SCHEMA_VERSION); + + return writer.AppendTo(builder); + } +} +} diff --git a/src/Adaptive.Cluster/Codecs/QueryResponseDecoder.cs b/src/Adaptive.Cluster/Codecs/RecordingLogQueryDecoder.cs similarity index 56% rename from src/Adaptive.Cluster/Codecs/QueryResponseDecoder.cs rename to src/Adaptive.Cluster/Codecs/RecordingLogQueryDecoder.cs index 4eeb2359..e471b668 100644 --- a/src/Adaptive.Cluster/Codecs/QueryResponseDecoder.cs +++ b/src/Adaptive.Cluster/Codecs/RecordingLogQueryDecoder.cs @@ -7,21 +7,21 @@ namespace Adaptive.Cluster.Codecs { -public class QueryResponseDecoder +public class RecordingLogQueryDecoder { - public const ushort BLOCK_LENGTH = 16; - public const ushort TEMPLATE_ID = 60; + public const ushort BLOCK_LENGTH = 32; + public const ushort TEMPLATE_ID = 63; public const ushort SCHEMA_ID = 1; public const ushort SCHEMA_VERSION = 1; - private QueryResponseDecoder _parentMessage; + private RecordingLogQueryDecoder _parentMessage; private IDirectBuffer _buffer; protected int _offset; protected int _limit; protected int _actingBlockLength; protected int _actingVersion; - public QueryResponseDecoder() + public RecordingLogQueryDecoder() { _parentMessage = this; } @@ -61,7 +61,7 @@ public int Offset() return _offset; } - public QueryResponseDecoder Wrap( + public RecordingLogQueryDecoder Wrap( IDirectBuffer buffer, int offset, int actingBlockLength, int actingVersion) { this._buffer = buffer; @@ -196,27 +196,27 @@ public int RequestMemberId() } - public static int ResponseMemberIdId() + public static int LeaderMemberIdId() { return 3; } - public static int ResponseMemberIdSinceVersion() + public static int LeaderMemberIdSinceVersion() { return 0; } - public static int ResponseMemberIdEncodingOffset() + public static int LeaderMemberIdEncodingOffset() { return 12; } - public static int ResponseMemberIdEncodingLength() + public static int LeaderMemberIdEncodingLength() { return 4; } - public static string ResponseMemberIdMetaAttribute(MetaAttribute metaAttribute) + public static string LeaderMemberIdMetaAttribute(MetaAttribute metaAttribute) { switch (metaAttribute) { @@ -229,38 +229,48 @@ public static string ResponseMemberIdMetaAttribute(MetaAttribute metaAttribute) return ""; } - public static int ResponseMemberIdNullValue() + public static int LeaderMemberIdNullValue() { return -2147483648; } - public static int ResponseMemberIdMinValue() + public static int LeaderMemberIdMinValue() { return -2147483647; } - public static int ResponseMemberIdMaxValue() + public static int LeaderMemberIdMaxValue() { return 2147483647; } - public int ResponseMemberId() + public int LeaderMemberId() { return _buffer.GetInt(_offset + 12, ByteOrder.LittleEndian); } - public static int EncodedResponseId() + public static int FromLeadershipTermIdId() { return 4; } - public static int EncodedResponseSinceVersion() + public static int FromLeadershipTermIdSinceVersion() { return 0; } - public static string EncodedResponseMetaAttribute(MetaAttribute metaAttribute) + public static int FromLeadershipTermIdEncodingOffset() + { + return 16; + } + + public static int FromLeadershipTermIdEncodingLength() + { + return 8; + } + + public static string FromLeadershipTermIdMetaAttribute(MetaAttribute metaAttribute) { switch (metaAttribute) { @@ -273,41 +283,120 @@ public static string EncodedResponseMetaAttribute(MetaAttribute metaAttribute) return ""; } - public static int EncodedResponseHeaderLength() + public static long FromLeadershipTermIdNullValue() + { + return -9223372036854775808L; + } + + public static long FromLeadershipTermIdMinValue() + { + return -9223372036854775807L; + } + + public static long FromLeadershipTermIdMaxValue() + { + return 9223372036854775807L; + } + + public long FromLeadershipTermId() + { + return _buffer.GetLong(_offset + 16, ByteOrder.LittleEndian); + } + + + public static int CountId() + { + return 5; + } + + public static int CountSinceVersion() + { + return 0; + } + + public static int CountEncodingOffset() + { + return 24; + } + + public static int CountEncodingLength() { return 4; } - public int EncodedResponseLength() + public static string CountMetaAttribute(MetaAttribute metaAttribute) + { + switch (metaAttribute) + { + case MetaAttribute.EPOCH: return "unix"; + case MetaAttribute.TIME_UNIT: return "nanosecond"; + case MetaAttribute.SEMANTIC_TYPE: return ""; + case MetaAttribute.PRESENCE: return "required"; + } + + return ""; + } + + public static int CountNullValue() { - int limit = _parentMessage.Limit(); - return (int)unchecked((uint)_buffer.GetInt(limit, ByteOrder.LittleEndian)); + return -2147483648; } - public int GetEncodedResponse(IMutableDirectBuffer dst, int dstOffset, int length) + public static int CountMinValue() { - int headerLength = 4; - int limit = _parentMessage.Limit(); - int dataLength = (int)unchecked((uint)_buffer.GetInt(limit, ByteOrder.LittleEndian)); - int bytesCopied = Math.Min(length, dataLength); - _parentMessage.Limit(limit + headerLength + dataLength); - _buffer.GetBytes(limit + headerLength, dst, dstOffset, bytesCopied); + return -2147483647; + } - return bytesCopied; + public static int CountMaxValue() + { + return 2147483647; } - public int GetEncodedResponse(byte[] dst, int dstOffset, int length) + public int Count() { - int headerLength = 4; - int limit = _parentMessage.Limit(); - int dataLength = (int)unchecked((uint)_buffer.GetInt(limit, ByteOrder.LittleEndian)); - int bytesCopied = Math.Min(length, dataLength); - _parentMessage.Limit(limit + headerLength + dataLength); - _buffer.GetBytes(limit + headerLength, dst, dstOffset, bytesCopied); + return _buffer.GetInt(_offset + 24, ByteOrder.LittleEndian); + } + - return bytesCopied; + public static int IncludeSnapshotsId() + { + return 6; + } + + public static int IncludeSnapshotsSinceVersion() + { + return 0; } + public static int IncludeSnapshotsEncodingOffset() + { + return 28; + } + + public static int IncludeSnapshotsEncodingLength() + { + return 4; + } + + public static string IncludeSnapshotsMetaAttribute(MetaAttribute metaAttribute) + { + switch (metaAttribute) + { + case MetaAttribute.EPOCH: return "unix"; + case MetaAttribute.TIME_UNIT: return "nanosecond"; + case MetaAttribute.SEMANTIC_TYPE: return ""; + case MetaAttribute.PRESENCE: return "required"; + } + + return ""; + } + + public BooleanType IncludeSnapshots() + { + return (BooleanType)_buffer.GetInt(_offset + 28, ByteOrder.LittleEndian); + } + + public override string ToString() { @@ -318,7 +407,7 @@ public StringBuilder AppendTo(StringBuilder builder) { int originalLimit = Limit(); Limit(_offset + _actingBlockLength); - builder.Append("[QueryResponse](sbeTemplateId="); + builder.Append("[RecordingLogQuery](sbeTemplateId="); builder.Append(TEMPLATE_ID); builder.Append("|sbeSchemaId="); builder.Append(SCHEMA_ID); @@ -347,14 +436,25 @@ public StringBuilder AppendTo(StringBuilder builder) builder.Append("RequestMemberId="); builder.Append(RequestMemberId()); builder.Append('|'); - //Token{signal=BEGIN_FIELD, name='responseMemberId', referencedName='null', description='null', id=3, version=0, deprecated=0, encodedLength=0, offset=12, componentTokenCount=3, encoding=Encoding{presence=REQUIRED, primitiveType=null, byteOrder=LITTLE_ENDIAN, minValue=null, maxValue=null, nullValue=null, constValue=null, characterEncoding='null', epoch='unix', timeUnit=nanosecond, semanticType='null'}} + //Token{signal=BEGIN_FIELD, name='leaderMemberId', referencedName='null', description='null', id=3, version=0, deprecated=0, encodedLength=0, offset=12, componentTokenCount=3, encoding=Encoding{presence=REQUIRED, primitiveType=null, byteOrder=LITTLE_ENDIAN, minValue=null, maxValue=null, nullValue=null, constValue=null, characterEncoding='null', epoch='unix', timeUnit=nanosecond, semanticType='null'}} //Token{signal=ENCODING, name='int32', referencedName='null', description='null', id=-1, version=0, deprecated=0, encodedLength=4, offset=12, componentTokenCount=1, encoding=Encoding{presence=REQUIRED, primitiveType=INT32, byteOrder=LITTLE_ENDIAN, minValue=null, maxValue=null, nullValue=null, constValue=null, characterEncoding='null', epoch='unix', timeUnit=nanosecond, semanticType='null'}} - builder.Append("ResponseMemberId="); - builder.Append(ResponseMemberId()); + builder.Append("LeaderMemberId="); + builder.Append(LeaderMemberId()); + builder.Append('|'); + //Token{signal=BEGIN_FIELD, name='fromLeadershipTermId', referencedName='null', description='null', id=4, version=0, deprecated=0, encodedLength=0, offset=16, componentTokenCount=3, encoding=Encoding{presence=REQUIRED, primitiveType=null, byteOrder=LITTLE_ENDIAN, minValue=null, maxValue=null, nullValue=null, constValue=null, characterEncoding='null', epoch='unix', timeUnit=nanosecond, semanticType='null'}} + //Token{signal=ENCODING, name='int64', referencedName='null', description='null', id=-1, version=0, deprecated=0, encodedLength=8, offset=16, componentTokenCount=1, encoding=Encoding{presence=REQUIRED, primitiveType=INT64, byteOrder=LITTLE_ENDIAN, minValue=null, maxValue=null, nullValue=null, constValue=null, characterEncoding='null', epoch='unix', timeUnit=nanosecond, semanticType='null'}} + builder.Append("FromLeadershipTermId="); + builder.Append(FromLeadershipTermId()); + builder.Append('|'); + //Token{signal=BEGIN_FIELD, name='count', referencedName='null', description='null', id=5, version=0, deprecated=0, encodedLength=0, offset=24, componentTokenCount=3, encoding=Encoding{presence=REQUIRED, primitiveType=null, byteOrder=LITTLE_ENDIAN, minValue=null, maxValue=null, nullValue=null, constValue=null, characterEncoding='null', epoch='unix', timeUnit=nanosecond, semanticType='null'}} + //Token{signal=ENCODING, name='int32', referencedName='null', description='null', id=-1, version=0, deprecated=0, encodedLength=4, offset=24, componentTokenCount=1, encoding=Encoding{presence=REQUIRED, primitiveType=INT32, byteOrder=LITTLE_ENDIAN, minValue=null, maxValue=null, nullValue=null, constValue=null, characterEncoding='null', epoch='unix', timeUnit=nanosecond, semanticType='null'}} + builder.Append("Count="); + builder.Append(Count()); builder.Append('|'); - //Token{signal=BEGIN_VAR_DATA, name='encodedResponse', referencedName='null', description='null', id=4, version=0, deprecated=0, encodedLength=0, offset=16, componentTokenCount=6, encoding=Encoding{presence=REQUIRED, primitiveType=null, byteOrder=LITTLE_ENDIAN, minValue=null, maxValue=null, nullValue=null, constValue=null, characterEncoding='null', epoch='unix', timeUnit=nanosecond, semanticType='null'}} - builder.Append("EncodedResponse="); - builder.Append(EncodedResponseLength() + " raw bytes"); + //Token{signal=BEGIN_FIELD, name='includeSnapshots', referencedName='null', description='null', id=6, version=0, deprecated=0, encodedLength=0, offset=28, componentTokenCount=6, encoding=Encoding{presence=REQUIRED, primitiveType=null, byteOrder=LITTLE_ENDIAN, minValue=null, maxValue=null, nullValue=null, constValue=null, characterEncoding='null', epoch='unix', timeUnit=nanosecond, semanticType='null'}} + //Token{signal=BEGIN_ENUM, name='BooleanType', referencedName='null', description='null', id=-1, version=0, deprecated=0, encodedLength=4, offset=28, componentTokenCount=4, encoding=Encoding{presence=REQUIRED, primitiveType=INT32, byteOrder=LITTLE_ENDIAN, minValue=null, maxValue=null, nullValue=null, constValue=null, characterEncoding='null', epoch='null', timeUnit=null, semanticType='null'}} + builder.Append("IncludeSnapshots="); + builder.Append(IncludeSnapshots()); Limit(originalLimit); diff --git a/src/Adaptive.Cluster/Codecs/QueryResponseEncoder.cs b/src/Adaptive.Cluster/Codecs/RecordingLogQueryEncoder.cs similarity index 59% rename from src/Adaptive.Cluster/Codecs/QueryResponseEncoder.cs rename to src/Adaptive.Cluster/Codecs/RecordingLogQueryEncoder.cs index 49b7dd3e..86d9953e 100644 --- a/src/Adaptive.Cluster/Codecs/QueryResponseEncoder.cs +++ b/src/Adaptive.Cluster/Codecs/RecordingLogQueryEncoder.cs @@ -7,19 +7,19 @@ namespace Adaptive.Cluster.Codecs { -public class QueryResponseEncoder +public class RecordingLogQueryEncoder { - public const ushort BLOCK_LENGTH = 16; - public const ushort TEMPLATE_ID = 60; + public const ushort BLOCK_LENGTH = 32; + public const ushort TEMPLATE_ID = 63; public const ushort SCHEMA_ID = 1; public const ushort SCHEMA_VERSION = 1; - private QueryResponseEncoder _parentMessage; + private RecordingLogQueryEncoder _parentMessage; private IMutableDirectBuffer _buffer; protected int _offset; protected int _limit; - public QueryResponseEncoder() + public RecordingLogQueryEncoder() { _parentMessage = this; } @@ -59,7 +59,7 @@ public int Offset() return _offset; } - public QueryResponseEncoder Wrap(IMutableDirectBuffer buffer, int offset) + public RecordingLogQueryEncoder Wrap(IMutableDirectBuffer buffer, int offset) { this._buffer = buffer; this._offset = offset; @@ -68,7 +68,7 @@ public QueryResponseEncoder Wrap(IMutableDirectBuffer buffer, int offset) return this; } - public QueryResponseEncoder WrapAndApplyHeader( + public RecordingLogQueryEncoder WrapAndApplyHeader( IMutableDirectBuffer buffer, int offset, MessageHeaderEncoder headerEncoder) { headerEncoder @@ -121,7 +121,7 @@ public static long CorrelationIdMaxValue() return 9223372036854775807L; } - public QueryResponseEncoder CorrelationId(long value) + public RecordingLogQueryEncoder CorrelationId(long value) { _buffer.PutLong(_offset + 0, value, ByteOrder.LittleEndian); return this; @@ -153,97 +153,122 @@ public static int RequestMemberIdMaxValue() return 2147483647; } - public QueryResponseEncoder RequestMemberId(int value) + public RecordingLogQueryEncoder RequestMemberId(int value) { _buffer.PutInt(_offset + 8, value, ByteOrder.LittleEndian); return this; } - public static int ResponseMemberIdEncodingOffset() + public static int LeaderMemberIdEncodingOffset() { return 12; } - public static int ResponseMemberIdEncodingLength() + public static int LeaderMemberIdEncodingLength() { return 4; } - public static int ResponseMemberIdNullValue() + public static int LeaderMemberIdNullValue() { return -2147483648; } - public static int ResponseMemberIdMinValue() + public static int LeaderMemberIdMinValue() { return -2147483647; } - public static int ResponseMemberIdMaxValue() + public static int LeaderMemberIdMaxValue() { return 2147483647; } - public QueryResponseEncoder ResponseMemberId(int value) + public RecordingLogQueryEncoder LeaderMemberId(int value) { _buffer.PutInt(_offset + 12, value, ByteOrder.LittleEndian); return this; } - public static int EncodedResponseId() + public static int FromLeadershipTermIdEncodingOffset() { - return 4; + return 16; } - public static string EncodedResponseMetaAttribute(MetaAttribute metaAttribute) + public static int FromLeadershipTermIdEncodingLength() { - switch (metaAttribute) - { - case MetaAttribute.EPOCH: return "unix"; - case MetaAttribute.TIME_UNIT: return "nanosecond"; - case MetaAttribute.SEMANTIC_TYPE: return ""; - case MetaAttribute.PRESENCE: return "required"; - } + return 8; + } - return ""; + public static long FromLeadershipTermIdNullValue() + { + return -9223372036854775808L; + } + + public static long FromLeadershipTermIdMinValue() + { + return -9223372036854775807L; + } + + public static long FromLeadershipTermIdMaxValue() + { + return 9223372036854775807L; + } + + public RecordingLogQueryEncoder FromLeadershipTermId(long value) + { + _buffer.PutLong(_offset + 16, value, ByteOrder.LittleEndian); + return this; + } + + + public static int CountEncodingOffset() + { + return 24; } - public static int EncodedResponseHeaderLength() + public static int CountEncodingLength() { return 4; } - public QueryResponseEncoder PutEncodedResponse(IDirectBuffer src, int srcOffset, int length) + public static int CountNullValue() { - if (length > 1073741824) - { - throw new InvalidOperationException("length > maxValue for type: " + length); - } + return -2147483648; + } - int headerLength = 4; - int limit = _parentMessage.Limit(); - _parentMessage.Limit(limit + headerLength + length); - _buffer.PutInt(limit, unchecked((int)length), ByteOrder.LittleEndian); - _buffer.PutBytes(limit + headerLength, src, srcOffset, length); + public static int CountMinValue() + { + return -2147483647; + } + public static int CountMaxValue() + { + return 2147483647; + } + + public RecordingLogQueryEncoder Count(int value) + { + _buffer.PutInt(_offset + 24, value, ByteOrder.LittleEndian); return this; } - public QueryResponseEncoder PutEncodedResponse(byte[] src, int srcOffset, int length) + + public static int IncludeSnapshotsEncodingOffset() { - if (length > 1073741824) - { - throw new InvalidOperationException("length > maxValue for type: " + length); - } + return 28; + } - int headerLength = 4; - int limit = _parentMessage.Limit(); - _parentMessage.Limit(limit + headerLength + length); - _buffer.PutInt(limit, unchecked((int)length), ByteOrder.LittleEndian); - _buffer.PutBytes(limit + headerLength, src, srcOffset, length); + public static int IncludeSnapshotsEncodingLength() + { + return 4; + } + public RecordingLogQueryEncoder IncludeSnapshots(BooleanType value) + { + _buffer.PutInt(_offset + 28, (int)value, ByteOrder.LittleEndian); return this; } @@ -255,7 +280,7 @@ public override string ToString() public StringBuilder AppendTo(StringBuilder builder) { - QueryResponseDecoder writer = new QueryResponseDecoder(); + RecordingLogQueryDecoder writer = new RecordingLogQueryDecoder(); writer.Wrap(_buffer, _offset, BLOCK_LENGTH, SCHEMA_VERSION); return writer.AppendTo(builder); diff --git a/src/Adaptive.Cluster/Codecs/RecoveryPlanDecoder.cs b/src/Adaptive.Cluster/Codecs/RecoveryPlanDecoder.cs index 68d64437..f722fc17 100644 --- a/src/Adaptive.Cluster/Codecs/RecoveryPlanDecoder.cs +++ b/src/Adaptive.Cluster/Codecs/RecoveryPlanDecoder.cs @@ -9,8 +9,8 @@ namespace Adaptive.Cluster.Codecs { public class RecoveryPlanDecoder { - public const ushort BLOCK_LENGTH = 32; - public const ushort TEMPLATE_ID = 110; + public const ushort BLOCK_LENGTH = 48; + public const ushort TEMPLATE_ID = 62; public const ushort SCHEMA_ID = 1; public const ushort SCHEMA_VERSION = 1; @@ -88,11 +88,173 @@ public void Limit(int limit) this._limit = limit; } - public static int LastLeadershipTermIdId() + public static int CorrelationIdId() { return 1; } + public static int CorrelationIdSinceVersion() + { + return 0; + } + + public static int CorrelationIdEncodingOffset() + { + return 0; + } + + public static int CorrelationIdEncodingLength() + { + return 8; + } + + public static string CorrelationIdMetaAttribute(MetaAttribute metaAttribute) + { + switch (metaAttribute) + { + case MetaAttribute.EPOCH: return "unix"; + case MetaAttribute.TIME_UNIT: return "nanosecond"; + case MetaAttribute.SEMANTIC_TYPE: return ""; + case MetaAttribute.PRESENCE: return "required"; + } + + return ""; + } + + public static long CorrelationIdNullValue() + { + return -9223372036854775808L; + } + + public static long CorrelationIdMinValue() + { + return -9223372036854775807L; + } + + public static long CorrelationIdMaxValue() + { + return 9223372036854775807L; + } + + public long CorrelationId() + { + return _buffer.GetLong(_offset + 0, ByteOrder.LittleEndian); + } + + + public static int RequestMemberIdId() + { + return 2; + } + + public static int RequestMemberIdSinceVersion() + { + return 0; + } + + public static int RequestMemberIdEncodingOffset() + { + return 8; + } + + public static int RequestMemberIdEncodingLength() + { + return 4; + } + + public static string RequestMemberIdMetaAttribute(MetaAttribute metaAttribute) + { + switch (metaAttribute) + { + case MetaAttribute.EPOCH: return "unix"; + case MetaAttribute.TIME_UNIT: return "nanosecond"; + case MetaAttribute.SEMANTIC_TYPE: return ""; + case MetaAttribute.PRESENCE: return "required"; + } + + return ""; + } + + public static int RequestMemberIdNullValue() + { + return -2147483648; + } + + public static int RequestMemberIdMinValue() + { + return -2147483647; + } + + public static int RequestMemberIdMaxValue() + { + return 2147483647; + } + + public int RequestMemberId() + { + return _buffer.GetInt(_offset + 8, ByteOrder.LittleEndian); + } + + + public static int LeaderMemberIdId() + { + return 3; + } + + public static int LeaderMemberIdSinceVersion() + { + return 0; + } + + public static int LeaderMemberIdEncodingOffset() + { + return 12; + } + + public static int LeaderMemberIdEncodingLength() + { + return 4; + } + + public static string LeaderMemberIdMetaAttribute(MetaAttribute metaAttribute) + { + switch (metaAttribute) + { + case MetaAttribute.EPOCH: return "unix"; + case MetaAttribute.TIME_UNIT: return "nanosecond"; + case MetaAttribute.SEMANTIC_TYPE: return ""; + case MetaAttribute.PRESENCE: return "required"; + } + + return ""; + } + + public static int LeaderMemberIdNullValue() + { + return -2147483648; + } + + public static int LeaderMemberIdMinValue() + { + return -2147483647; + } + + public static int LeaderMemberIdMaxValue() + { + return 2147483647; + } + + public int LeaderMemberId() + { + return _buffer.GetInt(_offset + 12, ByteOrder.LittleEndian); + } + + + public static int LastLeadershipTermIdId() + { + return 4; + } + public static int LastLeadershipTermIdSinceVersion() { return 0; @@ -100,7 +262,7 @@ public static int LastLeadershipTermIdSinceVersion() public static int LastLeadershipTermIdEncodingOffset() { - return 0; + return 16; } public static int LastLeadershipTermIdEncodingLength() @@ -138,13 +300,13 @@ public static long LastLeadershipTermIdMaxValue() public long LastLeadershipTermId() { - return _buffer.GetLong(_offset + 0, ByteOrder.LittleEndian); + return _buffer.GetLong(_offset + 16, ByteOrder.LittleEndian); } public static int LastTermBaseLogPositionId() { - return 2; + return 5; } public static int LastTermBaseLogPositionSinceVersion() @@ -154,7 +316,7 @@ public static int LastTermBaseLogPositionSinceVersion() public static int LastTermBaseLogPositionEncodingOffset() { - return 8; + return 24; } public static int LastTermBaseLogPositionEncodingLength() @@ -192,31 +354,85 @@ public static long LastTermBaseLogPositionMaxValue() public long LastTermBaseLogPosition() { - return _buffer.GetLong(_offset + 8, ByteOrder.LittleEndian); + return _buffer.GetLong(_offset + 24, ByteOrder.LittleEndian); } - public static int LastTermPositionCommittedId() + public static int AppendedLogPositionId() { - return 3; + return 6; } - public static int LastTermPositionCommittedSinceVersion() + public static int AppendedLogPositionSinceVersion() { return 0; } - public static int LastTermPositionCommittedEncodingOffset() + public static int AppendedLogPositionEncodingOffset() { - return 16; + return 32; + } + + public static int AppendedLogPositionEncodingLength() + { + return 8; + } + + public static string AppendedLogPositionMetaAttribute(MetaAttribute metaAttribute) + { + switch (metaAttribute) + { + case MetaAttribute.EPOCH: return "unix"; + case MetaAttribute.TIME_UNIT: return "nanosecond"; + case MetaAttribute.SEMANTIC_TYPE: return ""; + case MetaAttribute.PRESENCE: return "required"; + } + + return ""; + } + + public static long AppendedLogPositionNullValue() + { + return -9223372036854775808L; + } + + public static long AppendedLogPositionMinValue() + { + return -9223372036854775807L; + } + + public static long AppendedLogPositionMaxValue() + { + return 9223372036854775807L; + } + + public long AppendedLogPosition() + { + return _buffer.GetLong(_offset + 32, ByteOrder.LittleEndian); + } + + + public static int CommittedLogPositionId() + { + return 7; + } + + public static int CommittedLogPositionSinceVersion() + { + return 0; + } + + public static int CommittedLogPositionEncodingOffset() + { + return 40; } - public static int LastTermPositionCommittedEncodingLength() + public static int CommittedLogPositionEncodingLength() { return 8; } - public static string LastTermPositionCommittedMetaAttribute(MetaAttribute metaAttribute) + public static string CommittedLogPositionMetaAttribute(MetaAttribute metaAttribute) { switch (metaAttribute) { @@ -229,100 +445,493 @@ public static string LastTermPositionCommittedMetaAttribute(MetaAttribute metaAt return ""; } - public static long LastTermPositionCommittedNullValue() + public static long CommittedLogPositionNullValue() { return -9223372036854775808L; } - public static long LastTermPositionCommittedMinValue() + public static long CommittedLogPositionMinValue() { return -9223372036854775807L; } - public static long LastTermPositionCommittedMaxValue() - { - return 9223372036854775807L; - } + public static long CommittedLogPositionMaxValue() + { + return 9223372036854775807L; + } + + public long CommittedLogPosition() + { + return _buffer.GetLong(_offset + 40, ByteOrder.LittleEndian); + } + + + private SnapshotsDecoder _Snapshots = new SnapshotsDecoder(); + + public static long SnapshotsDecoderId() + { + return 8; + } + + public static int SnapshotsDecoderSinceVersion() + { + return 0; + } + + public SnapshotsDecoder Snapshots() + { + _Snapshots.Wrap(_parentMessage, _buffer); + return _Snapshots; + } + + public class SnapshotsDecoder + { + private static int HEADER_SIZE = 4; + private GroupSizeEncodingDecoder _dimensions = new GroupSizeEncodingDecoder(); + private RecoveryPlanDecoder _parentMessage; + private IDirectBuffer _buffer; + private int _count; + private int _index; + private int _offset; + private int _blockLength; + + public void Wrap( + RecoveryPlanDecoder parentMessage, IDirectBuffer buffer) + { + this._parentMessage = parentMessage; + this._buffer = buffer; + _dimensions.Wrap(buffer, parentMessage.Limit()); + _blockLength = _dimensions.BlockLength(); + _count = _dimensions.NumInGroup(); + _index = -1; + parentMessage.Limit(parentMessage.Limit() + HEADER_SIZE); + } + + public static int SbeHeaderSize() + { + return HEADER_SIZE; + } + + public static int SbeBlockLength() + { + return 44; + } + + public int ActingBlockLength() + { + return _blockLength; + } + + public int Count() + { + return _count; + } + + public bool HasNext() + { + return (_index + 1) < _count; + } + + public SnapshotsDecoder Next() + { + if (_index + 1 >= _count) + { + throw new IndexOutOfRangeException(); + } + + _offset = _parentMessage.Limit(); + _parentMessage.Limit(_offset + _blockLength); + ++_index; + + return this; + } + + public static int RecordingIdId() + { + return 9; + } + + public static int RecordingIdSinceVersion() + { + return 0; + } + + public static int RecordingIdEncodingOffset() + { + return 0; + } + + public static int RecordingIdEncodingLength() + { + return 8; + } + + public static string RecordingIdMetaAttribute(MetaAttribute metaAttribute) + { + switch (metaAttribute) + { + case MetaAttribute.EPOCH: return "unix"; + case MetaAttribute.TIME_UNIT: return "nanosecond"; + case MetaAttribute.SEMANTIC_TYPE: return ""; + case MetaAttribute.PRESENCE: return "required"; + } + + return ""; + } + + public static long RecordingIdNullValue() + { + return -9223372036854775808L; + } + + public static long RecordingIdMinValue() + { + return -9223372036854775807L; + } + + public static long RecordingIdMaxValue() + { + return 9223372036854775807L; + } + + public long RecordingId() + { + return _buffer.GetLong(_offset + 0, ByteOrder.LittleEndian); + } + + + public static int LeadershipTermIdId() + { + return 10; + } + + public static int LeadershipTermIdSinceVersion() + { + return 0; + } + + public static int LeadershipTermIdEncodingOffset() + { + return 8; + } + + public static int LeadershipTermIdEncodingLength() + { + return 8; + } + + public static string LeadershipTermIdMetaAttribute(MetaAttribute metaAttribute) + { + switch (metaAttribute) + { + case MetaAttribute.EPOCH: return "unix"; + case MetaAttribute.TIME_UNIT: return "nanosecond"; + case MetaAttribute.SEMANTIC_TYPE: return ""; + case MetaAttribute.PRESENCE: return "required"; + } + + return ""; + } + + public static long LeadershipTermIdNullValue() + { + return -9223372036854775808L; + } + + public static long LeadershipTermIdMinValue() + { + return -9223372036854775807L; + } + + public static long LeadershipTermIdMaxValue() + { + return 9223372036854775807L; + } + + public long LeadershipTermId() + { + return _buffer.GetLong(_offset + 8, ByteOrder.LittleEndian); + } + + + public static int TermBaseLogPositionId() + { + return 11; + } + + public static int TermBaseLogPositionSinceVersion() + { + return 0; + } + + public static int TermBaseLogPositionEncodingOffset() + { + return 16; + } + + public static int TermBaseLogPositionEncodingLength() + { + return 8; + } + + public static string TermBaseLogPositionMetaAttribute(MetaAttribute metaAttribute) + { + switch (metaAttribute) + { + case MetaAttribute.EPOCH: return "unix"; + case MetaAttribute.TIME_UNIT: return "nanosecond"; + case MetaAttribute.SEMANTIC_TYPE: return ""; + case MetaAttribute.PRESENCE: return "required"; + } + + return ""; + } + + public static long TermBaseLogPositionNullValue() + { + return -9223372036854775808L; + } + + public static long TermBaseLogPositionMinValue() + { + return -9223372036854775807L; + } + + public static long TermBaseLogPositionMaxValue() + { + return 9223372036854775807L; + } + + public long TermBaseLogPosition() + { + return _buffer.GetLong(_offset + 16, ByteOrder.LittleEndian); + } + + + public static int LogPositionId() + { + return 12; + } + + public static int LogPositionSinceVersion() + { + return 0; + } + + public static int LogPositionEncodingOffset() + { + return 24; + } + + public static int LogPositionEncodingLength() + { + return 8; + } + + public static string LogPositionMetaAttribute(MetaAttribute metaAttribute) + { + switch (metaAttribute) + { + case MetaAttribute.EPOCH: return "unix"; + case MetaAttribute.TIME_UNIT: return "nanosecond"; + case MetaAttribute.SEMANTIC_TYPE: return ""; + case MetaAttribute.PRESENCE: return "required"; + } + + return ""; + } + + public static long LogPositionNullValue() + { + return -9223372036854775808L; + } + + public static long LogPositionMinValue() + { + return -9223372036854775807L; + } + + public static long LogPositionMaxValue() + { + return 9223372036854775807L; + } + + public long LogPosition() + { + return _buffer.GetLong(_offset + 24, ByteOrder.LittleEndian); + } + + + public static int TimestampId() + { + return 13; + } + + public static int TimestampSinceVersion() + { + return 0; + } + + public static int TimestampEncodingOffset() + { + return 32; + } + + public static int TimestampEncodingLength() + { + return 8; + } + + public static string TimestampMetaAttribute(MetaAttribute metaAttribute) + { + switch (metaAttribute) + { + case MetaAttribute.EPOCH: return "unix"; + case MetaAttribute.TIME_UNIT: return "nanosecond"; + case MetaAttribute.SEMANTIC_TYPE: return ""; + case MetaAttribute.PRESENCE: return "required"; + } + + return ""; + } + + public static long TimestampNullValue() + { + return -9223372036854775808L; + } + + public static long TimestampMinValue() + { + return -9223372036854775807L; + } + + public static long TimestampMaxValue() + { + return 9223372036854775807L; + } + + public long Timestamp() + { + return _buffer.GetLong(_offset + 32, ByteOrder.LittleEndian); + } + + + public static int ServiceIdId() + { + return 14; + } - public long LastTermPositionCommitted() - { - return _buffer.GetLong(_offset + 16, ByteOrder.LittleEndian); - } + public static int ServiceIdSinceVersion() + { + return 0; + } + public static int ServiceIdEncodingOffset() + { + return 40; + } - public static int LastTermPositionAppendedId() - { - return 4; - } + public static int ServiceIdEncodingLength() + { + return 4; + } - public static int LastTermPositionAppendedSinceVersion() - { - return 0; - } + public static string ServiceIdMetaAttribute(MetaAttribute metaAttribute) + { + switch (metaAttribute) + { + case MetaAttribute.EPOCH: return "unix"; + case MetaAttribute.TIME_UNIT: return "nanosecond"; + case MetaAttribute.SEMANTIC_TYPE: return ""; + case MetaAttribute.PRESENCE: return "required"; + } - public static int LastTermPositionAppendedEncodingOffset() - { - return 24; - } + return ""; + } - public static int LastTermPositionAppendedEncodingLength() - { - return 8; - } + public static int ServiceIdNullValue() + { + return -2147483648; + } - public static string LastTermPositionAppendedMetaAttribute(MetaAttribute metaAttribute) - { - switch (metaAttribute) + public static int ServiceIdMinValue() { - case MetaAttribute.EPOCH: return "unix"; - case MetaAttribute.TIME_UNIT: return "nanosecond"; - case MetaAttribute.SEMANTIC_TYPE: return ""; - case MetaAttribute.PRESENCE: return "required"; + return -2147483647; } - return ""; - } + public static int ServiceIdMaxValue() + { + return 2147483647; + } - public static long LastTermPositionAppendedNullValue() - { - return -9223372036854775808L; - } + public int ServiceId() + { + return _buffer.GetInt(_offset + 40, ByteOrder.LittleEndian); + } - public static long LastTermPositionAppendedMinValue() - { - return -9223372036854775807L; - } - public static long LastTermPositionAppendedMaxValue() - { - return 9223372036854775807L; - } - public long LastTermPositionAppended() - { - return _buffer.GetLong(_offset + 24, ByteOrder.LittleEndian); - } + public override string ToString() + { + return AppendTo(new StringBuilder(100)).ToString(); + } + public StringBuilder AppendTo(StringBuilder builder) + { + builder.Append('('); + //Token{signal=BEGIN_FIELD, name='recordingId', referencedName='null', description='null', id=9, version=0, deprecated=0, encodedLength=0, offset=0, componentTokenCount=3, encoding=Encoding{presence=REQUIRED, primitiveType=null, byteOrder=LITTLE_ENDIAN, minValue=null, maxValue=null, nullValue=null, constValue=null, characterEncoding='null', epoch='unix', timeUnit=nanosecond, semanticType='null'}} + //Token{signal=ENCODING, name='int64', referencedName='null', description='null', id=-1, version=0, deprecated=0, encodedLength=8, offset=0, componentTokenCount=1, encoding=Encoding{presence=REQUIRED, primitiveType=INT64, byteOrder=LITTLE_ENDIAN, minValue=null, maxValue=null, nullValue=null, constValue=null, characterEncoding='null', epoch='unix', timeUnit=nanosecond, semanticType='null'}} + builder.Append("RecordingId="); + builder.Append(RecordingId()); + builder.Append('|'); + //Token{signal=BEGIN_FIELD, name='leadershipTermId', referencedName='null', description='null', id=10, version=0, deprecated=0, encodedLength=0, offset=8, componentTokenCount=3, encoding=Encoding{presence=REQUIRED, primitiveType=null, byteOrder=LITTLE_ENDIAN, minValue=null, maxValue=null, nullValue=null, constValue=null, characterEncoding='null', epoch='unix', timeUnit=nanosecond, semanticType='null'}} + //Token{signal=ENCODING, name='int64', referencedName='null', description='null', id=-1, version=0, deprecated=0, encodedLength=8, offset=8, componentTokenCount=1, encoding=Encoding{presence=REQUIRED, primitiveType=INT64, byteOrder=LITTLE_ENDIAN, minValue=null, maxValue=null, nullValue=null, constValue=null, characterEncoding='null', epoch='unix', timeUnit=nanosecond, semanticType='null'}} + builder.Append("LeadershipTermId="); + builder.Append(LeadershipTermId()); + builder.Append('|'); + //Token{signal=BEGIN_FIELD, name='termBaseLogPosition', referencedName='null', description='null', id=11, version=0, deprecated=0, encodedLength=0, offset=16, componentTokenCount=3, encoding=Encoding{presence=REQUIRED, primitiveType=null, byteOrder=LITTLE_ENDIAN, minValue=null, maxValue=null, nullValue=null, constValue=null, characterEncoding='null', epoch='unix', timeUnit=nanosecond, semanticType='null'}} + //Token{signal=ENCODING, name='int64', referencedName='null', description='null', id=-1, version=0, deprecated=0, encodedLength=8, offset=16, componentTokenCount=1, encoding=Encoding{presence=REQUIRED, primitiveType=INT64, byteOrder=LITTLE_ENDIAN, minValue=null, maxValue=null, nullValue=null, constValue=null, characterEncoding='null', epoch='unix', timeUnit=nanosecond, semanticType='null'}} + builder.Append("TermBaseLogPosition="); + builder.Append(TermBaseLogPosition()); + builder.Append('|'); + //Token{signal=BEGIN_FIELD, name='logPosition', referencedName='null', description='null', id=12, version=0, deprecated=0, encodedLength=0, offset=24, componentTokenCount=3, encoding=Encoding{presence=REQUIRED, primitiveType=null, byteOrder=LITTLE_ENDIAN, minValue=null, maxValue=null, nullValue=null, constValue=null, characterEncoding='null', epoch='unix', timeUnit=nanosecond, semanticType='null'}} + //Token{signal=ENCODING, name='int64', referencedName='null', description='null', id=-1, version=0, deprecated=0, encodedLength=8, offset=24, componentTokenCount=1, encoding=Encoding{presence=REQUIRED, primitiveType=INT64, byteOrder=LITTLE_ENDIAN, minValue=null, maxValue=null, nullValue=null, constValue=null, characterEncoding='null', epoch='unix', timeUnit=nanosecond, semanticType='null'}} + builder.Append("LogPosition="); + builder.Append(LogPosition()); + builder.Append('|'); + //Token{signal=BEGIN_FIELD, name='timestamp', referencedName='null', description='null', id=13, version=0, deprecated=0, encodedLength=0, offset=32, componentTokenCount=3, encoding=Encoding{presence=REQUIRED, primitiveType=null, byteOrder=LITTLE_ENDIAN, minValue=null, maxValue=null, nullValue=null, constValue=null, characterEncoding='null', epoch='unix', timeUnit=nanosecond, semanticType='null'}} + //Token{signal=ENCODING, name='time_t', referencedName='null', description='Epoch time in milliseconds since 1 Jan 1970 UTC', id=-1, version=0, deprecated=0, encodedLength=8, offset=32, componentTokenCount=1, encoding=Encoding{presence=REQUIRED, primitiveType=INT64, byteOrder=LITTLE_ENDIAN, minValue=null, maxValue=null, nullValue=null, constValue=null, characterEncoding='null', epoch='unix', timeUnit=nanosecond, semanticType='null'}} + builder.Append("Timestamp="); + builder.Append(Timestamp()); + builder.Append('|'); + //Token{signal=BEGIN_FIELD, name='serviceId', referencedName='null', description='null', id=14, version=0, deprecated=0, encodedLength=0, offset=40, componentTokenCount=3, encoding=Encoding{presence=REQUIRED, primitiveType=null, byteOrder=LITTLE_ENDIAN, minValue=null, maxValue=null, nullValue=null, constValue=null, characterEncoding='null', epoch='unix', timeUnit=nanosecond, semanticType='null'}} + //Token{signal=ENCODING, name='int32', referencedName='null', description='null', id=-1, version=0, deprecated=0, encodedLength=4, offset=40, componentTokenCount=1, encoding=Encoding{presence=REQUIRED, primitiveType=INT32, byteOrder=LITTLE_ENDIAN, minValue=null, maxValue=null, nullValue=null, constValue=null, characterEncoding='null', epoch='unix', timeUnit=nanosecond, semanticType='null'}} + builder.Append("ServiceId="); + builder.Append(ServiceId()); + builder.Append(')'); + return builder; + } + } - private StepsDecoder _Steps = new StepsDecoder(); + private LogsDecoder _Logs = new LogsDecoder(); - public static long StepsDecoderId() + public static long LogsDecoderId() { - return 5; + return 15; } - public static int StepsDecoderSinceVersion() + public static int LogsDecoderSinceVersion() { return 0; } - public StepsDecoder Steps() + public LogsDecoder Logs() { - _Steps.Wrap(_parentMessage, _buffer); - return _Steps; + _Logs.Wrap(_parentMessage, _buffer); + return _Logs; } - public class StepsDecoder + public class LogsDecoder { private static int HEADER_SIZE = 4; private GroupSizeEncodingDecoder _dimensions = new GroupSizeEncodingDecoder(); @@ -352,7 +961,7 @@ public static int SbeHeaderSize() public static int SbeBlockLength() { - return 72; + return 64; } public int ActingBlockLength() @@ -370,7 +979,7 @@ public bool HasNext() return (_index + 1) < _count; } - public StepsDecoder Next() + public LogsDecoder Next() { if (_index + 1 >= _count) { @@ -384,27 +993,27 @@ public StepsDecoder Next() return this; } - public static int RecordingStartPositionId() + public static int RecordingIdId() { - return 6; + return 16; } - public static int RecordingStartPositionSinceVersion() + public static int RecordingIdSinceVersion() { return 0; } - public static int RecordingStartPositionEncodingOffset() + public static int RecordingIdEncodingOffset() { return 0; } - public static int RecordingStartPositionEncodingLength() + public static int RecordingIdEncodingLength() { return 8; } - public static string RecordingStartPositionMetaAttribute(MetaAttribute metaAttribute) + public static string RecordingIdMetaAttribute(MetaAttribute metaAttribute) { switch (metaAttribute) { @@ -417,48 +1026,48 @@ public static string RecordingStartPositionMetaAttribute(MetaAttribute metaAttri return ""; } - public static long RecordingStartPositionNullValue() + public static long RecordingIdNullValue() { return -9223372036854775808L; } - public static long RecordingStartPositionMinValue() + public static long RecordingIdMinValue() { return -9223372036854775807L; } - public static long RecordingStartPositionMaxValue() + public static long RecordingIdMaxValue() { return 9223372036854775807L; } - public long RecordingStartPosition() + public long RecordingId() { return _buffer.GetLong(_offset + 0, ByteOrder.LittleEndian); } - public static int RecordingStopPositionId() + public static int LeadershipTermIdId() { - return 7; + return 17; } - public static int RecordingStopPositionSinceVersion() + public static int LeadershipTermIdSinceVersion() { return 0; } - public static int RecordingStopPositionEncodingOffset() + public static int LeadershipTermIdEncodingOffset() { return 8; } - public static int RecordingStopPositionEncodingLength() + public static int LeadershipTermIdEncodingLength() { return 8; } - public static string RecordingStopPositionMetaAttribute(MetaAttribute metaAttribute) + public static string LeadershipTermIdMetaAttribute(MetaAttribute metaAttribute) { switch (metaAttribute) { @@ -471,48 +1080,48 @@ public static string RecordingStopPositionMetaAttribute(MetaAttribute metaAttrib return ""; } - public static long RecordingStopPositionNullValue() + public static long LeadershipTermIdNullValue() { return -9223372036854775808L; } - public static long RecordingStopPositionMinValue() + public static long LeadershipTermIdMinValue() { return -9223372036854775807L; } - public static long RecordingStopPositionMaxValue() + public static long LeadershipTermIdMaxValue() { return 9223372036854775807L; } - public long RecordingStopPosition() + public long LeadershipTermId() { return _buffer.GetLong(_offset + 8, ByteOrder.LittleEndian); } - public static int RecordingIdId() + public static int TermBaseLogPositionId() { - return 8; + return 18; } - public static int RecordingIdSinceVersion() + public static int TermBaseLogPositionSinceVersion() { return 0; } - public static int RecordingIdEncodingOffset() + public static int TermBaseLogPositionEncodingOffset() { return 16; } - public static int RecordingIdEncodingLength() + public static int TermBaseLogPositionEncodingLength() { return 8; } - public static string RecordingIdMetaAttribute(MetaAttribute metaAttribute) + public static string TermBaseLogPositionMetaAttribute(MetaAttribute metaAttribute) { switch (metaAttribute) { @@ -525,48 +1134,48 @@ public static string RecordingIdMetaAttribute(MetaAttribute metaAttribute) return ""; } - public static long RecordingIdNullValue() + public static long TermBaseLogPositionNullValue() { return -9223372036854775808L; } - public static long RecordingIdMinValue() + public static long TermBaseLogPositionMinValue() { return -9223372036854775807L; } - public static long RecordingIdMaxValue() + public static long TermBaseLogPositionMaxValue() { return 9223372036854775807L; } - public long RecordingId() + public long TermBaseLogPosition() { return _buffer.GetLong(_offset + 16, ByteOrder.LittleEndian); } - public static int LeadershipTermIdId() + public static int LogPositionId() { - return 9; + return 19; } - public static int LeadershipTermIdSinceVersion() + public static int LogPositionSinceVersion() { return 0; } - public static int LeadershipTermIdEncodingOffset() + public static int LogPositionEncodingOffset() { return 24; } - public static int LeadershipTermIdEncodingLength() + public static int LogPositionEncodingLength() { return 8; } - public static string LeadershipTermIdMetaAttribute(MetaAttribute metaAttribute) + public static string LogPositionMetaAttribute(MetaAttribute metaAttribute) { switch (metaAttribute) { @@ -579,48 +1188,48 @@ public static string LeadershipTermIdMetaAttribute(MetaAttribute metaAttribute) return ""; } - public static long LeadershipTermIdNullValue() + public static long LogPositionNullValue() { return -9223372036854775808L; } - public static long LeadershipTermIdMinValue() + public static long LogPositionMinValue() { return -9223372036854775807L; } - public static long LeadershipTermIdMaxValue() + public static long LogPositionMaxValue() { return 9223372036854775807L; } - public long LeadershipTermId() + public long LogPosition() { return _buffer.GetLong(_offset + 24, ByteOrder.LittleEndian); } - public static int TermBaseLogPositionId() + public static int StartPositionId() { - return 10; + return 12; } - public static int TermBaseLogPositionSinceVersion() + public static int StartPositionSinceVersion() { return 0; } - public static int TermBaseLogPositionEncodingOffset() + public static int StartPositionEncodingOffset() { return 32; } - public static int TermBaseLogPositionEncodingLength() + public static int StartPositionEncodingLength() { return 8; } - public static string TermBaseLogPositionMetaAttribute(MetaAttribute metaAttribute) + public static string StartPositionMetaAttribute(MetaAttribute metaAttribute) { switch (metaAttribute) { @@ -633,48 +1242,48 @@ public static string TermBaseLogPositionMetaAttribute(MetaAttribute metaAttribut return ""; } - public static long TermBaseLogPositionNullValue() + public static long StartPositionNullValue() { return -9223372036854775808L; } - public static long TermBaseLogPositionMinValue() + public static long StartPositionMinValue() { return -9223372036854775807L; } - public static long TermBaseLogPositionMaxValue() + public static long StartPositionMaxValue() { return 9223372036854775807L; } - public long TermBaseLogPosition() + public long StartPosition() { return _buffer.GetLong(_offset + 32, ByteOrder.LittleEndian); } - public static int TermPositionId() + public static int StopPositionId() { - return 11; + return 21; } - public static int TermPositionSinceVersion() + public static int StopPositionSinceVersion() { return 0; } - public static int TermPositionEncodingOffset() + public static int StopPositionEncodingOffset() { return 40; } - public static int TermPositionEncodingLength() + public static int StopPositionEncodingLength() { return 8; } - public static string TermPositionMetaAttribute(MetaAttribute metaAttribute) + public static string StopPositionMetaAttribute(MetaAttribute metaAttribute) { switch (metaAttribute) { @@ -687,102 +1296,48 @@ public static string TermPositionMetaAttribute(MetaAttribute metaAttribute) return ""; } - public static long TermPositionNullValue() + public static long StopPositionNullValue() { return -9223372036854775808L; } - public static long TermPositionMinValue() + public static long StopPositionMinValue() { return -9223372036854775807L; } - public static long TermPositionMaxValue() + public static long StopPositionMaxValue() { return 9223372036854775807L; } - public long TermPosition() + public long StopPosition() { return _buffer.GetLong(_offset + 40, ByteOrder.LittleEndian); } - public static int TimestampId() + public static int InitialTermIdId() { - return 12; + return 22; } - public static int TimestampSinceVersion() + public static int InitialTermIdSinceVersion() { return 0; } - public static int TimestampEncodingOffset() + public static int InitialTermIdEncodingOffset() { return 48; } - public static int TimestampEncodingLength() - { - return 8; - } - - public static string TimestampMetaAttribute(MetaAttribute metaAttribute) - { - switch (metaAttribute) - { - case MetaAttribute.EPOCH: return "unix"; - case MetaAttribute.TIME_UNIT: return "nanosecond"; - case MetaAttribute.SEMANTIC_TYPE: return ""; - case MetaAttribute.PRESENCE: return "required"; - } - - return ""; - } - - public static long TimestampNullValue() - { - return -9223372036854775808L; - } - - public static long TimestampMinValue() - { - return -9223372036854775807L; - } - - public static long TimestampMaxValue() - { - return 9223372036854775807L; - } - - public long Timestamp() - { - return _buffer.GetLong(_offset + 48, ByteOrder.LittleEndian); - } - - - public static int VotedForMemberIdId() - { - return 13; - } - - public static int VotedForMemberIdSinceVersion() - { - return 0; - } - - public static int VotedForMemberIdEncodingOffset() - { - return 56; - } - - public static int VotedForMemberIdEncodingLength() + public static int InitialTermIdEncodingLength() { return 4; } - public static string VotedForMemberIdMetaAttribute(MetaAttribute metaAttribute) + public static string InitialTermIdMetaAttribute(MetaAttribute metaAttribute) { switch (metaAttribute) { @@ -795,48 +1350,48 @@ public static string VotedForMemberIdMetaAttribute(MetaAttribute metaAttribute) return ""; } - public static int VotedForMemberIdNullValue() + public static int InitialTermIdNullValue() { return -2147483648; } - public static int VotedForMemberIdMinValue() + public static int InitialTermIdMinValue() { return -2147483647; } - public static int VotedForMemberIdMaxValue() + public static int InitialTermIdMaxValue() { return 2147483647; } - public int VotedForMemberId() + public int InitialTermId() { - return _buffer.GetInt(_offset + 56, ByteOrder.LittleEndian); + return _buffer.GetInt(_offset + 48, ByteOrder.LittleEndian); } - public static int EntryTypeId() + public static int TermBufferLengthId() { - return 14; + return 23; } - public static int EntryTypeSinceVersion() + public static int TermBufferLengthSinceVersion() { return 0; } - public static int EntryTypeEncodingOffset() + public static int TermBufferLengthEncodingOffset() { - return 60; + return 52; } - public static int EntryTypeEncodingLength() + public static int TermBufferLengthEncodingLength() { return 4; } - public static string EntryTypeMetaAttribute(MetaAttribute metaAttribute) + public static string TermBufferLengthMetaAttribute(MetaAttribute metaAttribute) { switch (metaAttribute) { @@ -849,48 +1404,48 @@ public static string EntryTypeMetaAttribute(MetaAttribute metaAttribute) return ""; } - public static int EntryTypeNullValue() + public static int TermBufferLengthNullValue() { return -2147483648; } - public static int EntryTypeMinValue() + public static int TermBufferLengthMinValue() { return -2147483647; } - public static int EntryTypeMaxValue() + public static int TermBufferLengthMaxValue() { return 2147483647; } - public int EntryType() + public int TermBufferLength() { - return _buffer.GetInt(_offset + 60, ByteOrder.LittleEndian); + return _buffer.GetInt(_offset + 52, ByteOrder.LittleEndian); } - public static int EntryIndexId() + public static int MtuLengthId() { - return 15; + return 24; } - public static int EntryIndexSinceVersion() + public static int MtuLengthSinceVersion() { return 0; } - public static int EntryIndexEncodingOffset() + public static int MtuLengthEncodingOffset() { - return 64; + return 56; } - public static int EntryIndexEncodingLength() + public static int MtuLengthEncodingLength() { return 4; } - public static string EntryIndexMetaAttribute(MetaAttribute metaAttribute) + public static string MtuLengthMetaAttribute(MetaAttribute metaAttribute) { switch (metaAttribute) { @@ -903,48 +1458,48 @@ public static string EntryIndexMetaAttribute(MetaAttribute metaAttribute) return ""; } - public static int EntryIndexNullValue() + public static int MtuLengthNullValue() { return -2147483648; } - public static int EntryIndexMinValue() + public static int MtuLengthMinValue() { return -2147483647; } - public static int EntryIndexMaxValue() + public static int MtuLengthMaxValue() { return 2147483647; } - public int EntryIndex() + public int MtuLength() { - return _buffer.GetInt(_offset + 64, ByteOrder.LittleEndian); + return _buffer.GetInt(_offset + 56, ByteOrder.LittleEndian); } - public static int RecordingSessionIdId() + public static int SessionIdId() { - return 16; + return 25; } - public static int RecordingSessionIdSinceVersion() + public static int SessionIdSinceVersion() { return 0; } - public static int RecordingSessionIdEncodingOffset() + public static int SessionIdEncodingOffset() { - return 68; + return 60; } - public static int RecordingSessionIdEncodingLength() + public static int SessionIdEncodingLength() { return 4; } - public static string RecordingSessionIdMetaAttribute(MetaAttribute metaAttribute) + public static string SessionIdMetaAttribute(MetaAttribute metaAttribute) { switch (metaAttribute) { @@ -957,24 +1512,24 @@ public static string RecordingSessionIdMetaAttribute(MetaAttribute metaAttribute return ""; } - public static int RecordingSessionIdNullValue() + public static int SessionIdNullValue() { return -2147483648; } - public static int RecordingSessionIdMinValue() + public static int SessionIdMinValue() { return -2147483647; } - public static int RecordingSessionIdMaxValue() + public static int SessionIdMaxValue() { return 2147483647; } - public int RecordingSessionId() + public int SessionId() { - return _buffer.GetInt(_offset + 68, ByteOrder.LittleEndian); + return _buffer.GetInt(_offset + 60, ByteOrder.LittleEndian); } @@ -987,60 +1542,55 @@ public override string ToString() public StringBuilder AppendTo(StringBuilder builder) { builder.Append('('); - //Token{signal=BEGIN_FIELD, name='recordingStartPosition', referencedName='null', description='null', id=6, version=0, deprecated=0, encodedLength=0, offset=0, componentTokenCount=3, encoding=Encoding{presence=REQUIRED, primitiveType=null, byteOrder=LITTLE_ENDIAN, minValue=null, maxValue=null, nullValue=null, constValue=null, characterEncoding='null', epoch='unix', timeUnit=nanosecond, semanticType='null'}} + //Token{signal=BEGIN_FIELD, name='recordingId', referencedName='null', description='null', id=16, version=0, deprecated=0, encodedLength=0, offset=0, componentTokenCount=3, encoding=Encoding{presence=REQUIRED, primitiveType=null, byteOrder=LITTLE_ENDIAN, minValue=null, maxValue=null, nullValue=null, constValue=null, characterEncoding='null', epoch='unix', timeUnit=nanosecond, semanticType='null'}} //Token{signal=ENCODING, name='int64', referencedName='null', description='null', id=-1, version=0, deprecated=0, encodedLength=8, offset=0, componentTokenCount=1, encoding=Encoding{presence=REQUIRED, primitiveType=INT64, byteOrder=LITTLE_ENDIAN, minValue=null, maxValue=null, nullValue=null, constValue=null, characterEncoding='null', epoch='unix', timeUnit=nanosecond, semanticType='null'}} - builder.Append("RecordingStartPosition="); - builder.Append(RecordingStartPosition()); - builder.Append('|'); - //Token{signal=BEGIN_FIELD, name='recordingStopPosition', referencedName='null', description='null', id=7, version=0, deprecated=0, encodedLength=0, offset=8, componentTokenCount=3, encoding=Encoding{presence=REQUIRED, primitiveType=null, byteOrder=LITTLE_ENDIAN, minValue=null, maxValue=null, nullValue=null, constValue=null, characterEncoding='null', epoch='unix', timeUnit=nanosecond, semanticType='null'}} - //Token{signal=ENCODING, name='int64', referencedName='null', description='null', id=-1, version=0, deprecated=0, encodedLength=8, offset=8, componentTokenCount=1, encoding=Encoding{presence=REQUIRED, primitiveType=INT64, byteOrder=LITTLE_ENDIAN, minValue=null, maxValue=null, nullValue=null, constValue=null, characterEncoding='null', epoch='unix', timeUnit=nanosecond, semanticType='null'}} - builder.Append("RecordingStopPosition="); - builder.Append(RecordingStopPosition()); - builder.Append('|'); - //Token{signal=BEGIN_FIELD, name='recordingId', referencedName='null', description='null', id=8, version=0, deprecated=0, encodedLength=0, offset=16, componentTokenCount=3, encoding=Encoding{presence=REQUIRED, primitiveType=null, byteOrder=LITTLE_ENDIAN, minValue=null, maxValue=null, nullValue=null, constValue=null, characterEncoding='null', epoch='unix', timeUnit=nanosecond, semanticType='null'}} - //Token{signal=ENCODING, name='int64', referencedName='null', description='null', id=-1, version=0, deprecated=0, encodedLength=8, offset=16, componentTokenCount=1, encoding=Encoding{presence=REQUIRED, primitiveType=INT64, byteOrder=LITTLE_ENDIAN, minValue=null, maxValue=null, nullValue=null, constValue=null, characterEncoding='null', epoch='unix', timeUnit=nanosecond, semanticType='null'}} builder.Append("RecordingId="); builder.Append(RecordingId()); builder.Append('|'); - //Token{signal=BEGIN_FIELD, name='leadershipTermId', referencedName='null', description='null', id=9, version=0, deprecated=0, encodedLength=0, offset=24, componentTokenCount=3, encoding=Encoding{presence=REQUIRED, primitiveType=null, byteOrder=LITTLE_ENDIAN, minValue=null, maxValue=null, nullValue=null, constValue=null, characterEncoding='null', epoch='unix', timeUnit=nanosecond, semanticType='null'}} - //Token{signal=ENCODING, name='int64', referencedName='null', description='null', id=-1, version=0, deprecated=0, encodedLength=8, offset=24, componentTokenCount=1, encoding=Encoding{presence=REQUIRED, primitiveType=INT64, byteOrder=LITTLE_ENDIAN, minValue=null, maxValue=null, nullValue=null, constValue=null, characterEncoding='null', epoch='unix', timeUnit=nanosecond, semanticType='null'}} + //Token{signal=BEGIN_FIELD, name='leadershipTermId', referencedName='null', description='null', id=17, version=0, deprecated=0, encodedLength=0, offset=8, componentTokenCount=3, encoding=Encoding{presence=REQUIRED, primitiveType=null, byteOrder=LITTLE_ENDIAN, minValue=null, maxValue=null, nullValue=null, constValue=null, characterEncoding='null', epoch='unix', timeUnit=nanosecond, semanticType='null'}} + //Token{signal=ENCODING, name='int64', referencedName='null', description='null', id=-1, version=0, deprecated=0, encodedLength=8, offset=8, componentTokenCount=1, encoding=Encoding{presence=REQUIRED, primitiveType=INT64, byteOrder=LITTLE_ENDIAN, minValue=null, maxValue=null, nullValue=null, constValue=null, characterEncoding='null', epoch='unix', timeUnit=nanosecond, semanticType='null'}} builder.Append("LeadershipTermId="); builder.Append(LeadershipTermId()); builder.Append('|'); - //Token{signal=BEGIN_FIELD, name='termBaseLogPosition', referencedName='null', description='null', id=10, version=0, deprecated=0, encodedLength=0, offset=32, componentTokenCount=3, encoding=Encoding{presence=REQUIRED, primitiveType=null, byteOrder=LITTLE_ENDIAN, minValue=null, maxValue=null, nullValue=null, constValue=null, characterEncoding='null', epoch='unix', timeUnit=nanosecond, semanticType='null'}} - //Token{signal=ENCODING, name='int64', referencedName='null', description='null', id=-1, version=0, deprecated=0, encodedLength=8, offset=32, componentTokenCount=1, encoding=Encoding{presence=REQUIRED, primitiveType=INT64, byteOrder=LITTLE_ENDIAN, minValue=null, maxValue=null, nullValue=null, constValue=null, characterEncoding='null', epoch='unix', timeUnit=nanosecond, semanticType='null'}} + //Token{signal=BEGIN_FIELD, name='termBaseLogPosition', referencedName='null', description='null', id=18, version=0, deprecated=0, encodedLength=0, offset=16, componentTokenCount=3, encoding=Encoding{presence=REQUIRED, primitiveType=null, byteOrder=LITTLE_ENDIAN, minValue=null, maxValue=null, nullValue=null, constValue=null, characterEncoding='null', epoch='unix', timeUnit=nanosecond, semanticType='null'}} + //Token{signal=ENCODING, name='int64', referencedName='null', description='null', id=-1, version=0, deprecated=0, encodedLength=8, offset=16, componentTokenCount=1, encoding=Encoding{presence=REQUIRED, primitiveType=INT64, byteOrder=LITTLE_ENDIAN, minValue=null, maxValue=null, nullValue=null, constValue=null, characterEncoding='null', epoch='unix', timeUnit=nanosecond, semanticType='null'}} builder.Append("TermBaseLogPosition="); builder.Append(TermBaseLogPosition()); builder.Append('|'); - //Token{signal=BEGIN_FIELD, name='termPosition', referencedName='null', description='null', id=11, version=0, deprecated=0, encodedLength=0, offset=40, componentTokenCount=3, encoding=Encoding{presence=REQUIRED, primitiveType=null, byteOrder=LITTLE_ENDIAN, minValue=null, maxValue=null, nullValue=null, constValue=null, characterEncoding='null', epoch='unix', timeUnit=nanosecond, semanticType='null'}} + //Token{signal=BEGIN_FIELD, name='logPosition', referencedName='null', description='null', id=19, version=0, deprecated=0, encodedLength=0, offset=24, componentTokenCount=3, encoding=Encoding{presence=REQUIRED, primitiveType=null, byteOrder=LITTLE_ENDIAN, minValue=null, maxValue=null, nullValue=null, constValue=null, characterEncoding='null', epoch='unix', timeUnit=nanosecond, semanticType='null'}} + //Token{signal=ENCODING, name='int64', referencedName='null', description='null', id=-1, version=0, deprecated=0, encodedLength=8, offset=24, componentTokenCount=1, encoding=Encoding{presence=REQUIRED, primitiveType=INT64, byteOrder=LITTLE_ENDIAN, minValue=null, maxValue=null, nullValue=null, constValue=null, characterEncoding='null', epoch='unix', timeUnit=nanosecond, semanticType='null'}} + builder.Append("LogPosition="); + builder.Append(LogPosition()); + builder.Append('|'); + //Token{signal=BEGIN_FIELD, name='startPosition', referencedName='null', description='null', id=12, version=0, deprecated=0, encodedLength=0, offset=32, componentTokenCount=3, encoding=Encoding{presence=REQUIRED, primitiveType=null, byteOrder=LITTLE_ENDIAN, minValue=null, maxValue=null, nullValue=null, constValue=null, characterEncoding='null', epoch='unix', timeUnit=nanosecond, semanticType='null'}} + //Token{signal=ENCODING, name='int64', referencedName='null', description='null', id=-1, version=0, deprecated=0, encodedLength=8, offset=32, componentTokenCount=1, encoding=Encoding{presence=REQUIRED, primitiveType=INT64, byteOrder=LITTLE_ENDIAN, minValue=null, maxValue=null, nullValue=null, constValue=null, characterEncoding='null', epoch='unix', timeUnit=nanosecond, semanticType='null'}} + builder.Append("StartPosition="); + builder.Append(StartPosition()); + builder.Append('|'); + //Token{signal=BEGIN_FIELD, name='stopPosition', referencedName='null', description='null', id=21, version=0, deprecated=0, encodedLength=0, offset=40, componentTokenCount=3, encoding=Encoding{presence=REQUIRED, primitiveType=null, byteOrder=LITTLE_ENDIAN, minValue=null, maxValue=null, nullValue=null, constValue=null, characterEncoding='null', epoch='unix', timeUnit=nanosecond, semanticType='null'}} //Token{signal=ENCODING, name='int64', referencedName='null', description='null', id=-1, version=0, deprecated=0, encodedLength=8, offset=40, componentTokenCount=1, encoding=Encoding{presence=REQUIRED, primitiveType=INT64, byteOrder=LITTLE_ENDIAN, minValue=null, maxValue=null, nullValue=null, constValue=null, characterEncoding='null', epoch='unix', timeUnit=nanosecond, semanticType='null'}} - builder.Append("TermPosition="); - builder.Append(TermPosition()); + builder.Append("StopPosition="); + builder.Append(StopPosition()); builder.Append('|'); - //Token{signal=BEGIN_FIELD, name='timestamp', referencedName='null', description='null', id=12, version=0, deprecated=0, encodedLength=0, offset=48, componentTokenCount=3, encoding=Encoding{presence=REQUIRED, primitiveType=null, byteOrder=LITTLE_ENDIAN, minValue=null, maxValue=null, nullValue=null, constValue=null, characterEncoding='null', epoch='unix', timeUnit=nanosecond, semanticType='null'}} - //Token{signal=ENCODING, name='time_t', referencedName='null', description='Epoch time in milliseconds since 1 Jan 1970 UTC', id=-1, version=0, deprecated=0, encodedLength=8, offset=48, componentTokenCount=1, encoding=Encoding{presence=REQUIRED, primitiveType=INT64, byteOrder=LITTLE_ENDIAN, minValue=null, maxValue=null, nullValue=null, constValue=null, characterEncoding='null', epoch='unix', timeUnit=nanosecond, semanticType='null'}} - builder.Append("Timestamp="); - builder.Append(Timestamp()); + //Token{signal=BEGIN_FIELD, name='initialTermId', referencedName='null', description='null', id=22, version=0, deprecated=0, encodedLength=0, offset=48, componentTokenCount=3, encoding=Encoding{presence=REQUIRED, primitiveType=null, byteOrder=LITTLE_ENDIAN, minValue=null, maxValue=null, nullValue=null, constValue=null, characterEncoding='null', epoch='unix', timeUnit=nanosecond, semanticType='null'}} + //Token{signal=ENCODING, name='int32', referencedName='null', description='null', id=-1, version=0, deprecated=0, encodedLength=4, offset=48, componentTokenCount=1, encoding=Encoding{presence=REQUIRED, primitiveType=INT32, byteOrder=LITTLE_ENDIAN, minValue=null, maxValue=null, nullValue=null, constValue=null, characterEncoding='null', epoch='unix', timeUnit=nanosecond, semanticType='null'}} + builder.Append("InitialTermId="); + builder.Append(InitialTermId()); builder.Append('|'); - //Token{signal=BEGIN_FIELD, name='votedForMemberId', referencedName='null', description='null', id=13, version=0, deprecated=0, encodedLength=0, offset=56, componentTokenCount=3, encoding=Encoding{presence=REQUIRED, primitiveType=null, byteOrder=LITTLE_ENDIAN, minValue=null, maxValue=null, nullValue=null, constValue=null, characterEncoding='null', epoch='unix', timeUnit=nanosecond, semanticType='null'}} + //Token{signal=BEGIN_FIELD, name='termBufferLength', referencedName='null', description='null', id=23, version=0, deprecated=0, encodedLength=0, offset=52, componentTokenCount=3, encoding=Encoding{presence=REQUIRED, primitiveType=null, byteOrder=LITTLE_ENDIAN, minValue=null, maxValue=null, nullValue=null, constValue=null, characterEncoding='null', epoch='unix', timeUnit=nanosecond, semanticType='null'}} + //Token{signal=ENCODING, name='int32', referencedName='null', description='null', id=-1, version=0, deprecated=0, encodedLength=4, offset=52, componentTokenCount=1, encoding=Encoding{presence=REQUIRED, primitiveType=INT32, byteOrder=LITTLE_ENDIAN, minValue=null, maxValue=null, nullValue=null, constValue=null, characterEncoding='null', epoch='unix', timeUnit=nanosecond, semanticType='null'}} + builder.Append("TermBufferLength="); + builder.Append(TermBufferLength()); + builder.Append('|'); + //Token{signal=BEGIN_FIELD, name='mtuLength', referencedName='null', description='null', id=24, version=0, deprecated=0, encodedLength=0, offset=56, componentTokenCount=3, encoding=Encoding{presence=REQUIRED, primitiveType=null, byteOrder=LITTLE_ENDIAN, minValue=null, maxValue=null, nullValue=null, constValue=null, characterEncoding='null', epoch='unix', timeUnit=nanosecond, semanticType='null'}} //Token{signal=ENCODING, name='int32', referencedName='null', description='null', id=-1, version=0, deprecated=0, encodedLength=4, offset=56, componentTokenCount=1, encoding=Encoding{presence=REQUIRED, primitiveType=INT32, byteOrder=LITTLE_ENDIAN, minValue=null, maxValue=null, nullValue=null, constValue=null, characterEncoding='null', epoch='unix', timeUnit=nanosecond, semanticType='null'}} - builder.Append("VotedForMemberId="); - builder.Append(VotedForMemberId()); + builder.Append("MtuLength="); + builder.Append(MtuLength()); builder.Append('|'); - //Token{signal=BEGIN_FIELD, name='entryType', referencedName='null', description='null', id=14, version=0, deprecated=0, encodedLength=0, offset=60, componentTokenCount=3, encoding=Encoding{presence=REQUIRED, primitiveType=null, byteOrder=LITTLE_ENDIAN, minValue=null, maxValue=null, nullValue=null, constValue=null, characterEncoding='null', epoch='unix', timeUnit=nanosecond, semanticType='null'}} + //Token{signal=BEGIN_FIELD, name='sessionId', referencedName='null', description='null', id=25, version=0, deprecated=0, encodedLength=0, offset=60, componentTokenCount=3, encoding=Encoding{presence=REQUIRED, primitiveType=null, byteOrder=LITTLE_ENDIAN, minValue=null, maxValue=null, nullValue=null, constValue=null, characterEncoding='null', epoch='unix', timeUnit=nanosecond, semanticType='null'}} //Token{signal=ENCODING, name='int32', referencedName='null', description='null', id=-1, version=0, deprecated=0, encodedLength=4, offset=60, componentTokenCount=1, encoding=Encoding{presence=REQUIRED, primitiveType=INT32, byteOrder=LITTLE_ENDIAN, minValue=null, maxValue=null, nullValue=null, constValue=null, characterEncoding='null', epoch='unix', timeUnit=nanosecond, semanticType='null'}} - builder.Append("EntryType="); - builder.Append(EntryType()); - builder.Append('|'); - //Token{signal=BEGIN_FIELD, name='entryIndex', referencedName='null', description='null', id=15, version=0, deprecated=0, encodedLength=0, offset=64, componentTokenCount=3, encoding=Encoding{presence=REQUIRED, primitiveType=null, byteOrder=LITTLE_ENDIAN, minValue=null, maxValue=null, nullValue=null, constValue=null, characterEncoding='null', epoch='unix', timeUnit=nanosecond, semanticType='null'}} - //Token{signal=ENCODING, name='int32', referencedName='null', description='null', id=-1, version=0, deprecated=0, encodedLength=4, offset=64, componentTokenCount=1, encoding=Encoding{presence=REQUIRED, primitiveType=INT32, byteOrder=LITTLE_ENDIAN, minValue=null, maxValue=null, nullValue=null, constValue=null, characterEncoding='null', epoch='unix', timeUnit=nanosecond, semanticType='null'}} - builder.Append("EntryIndex="); - builder.Append(EntryIndex()); - builder.Append('|'); - //Token{signal=BEGIN_FIELD, name='recordingSessionId', referencedName='null', description='null', id=16, version=0, deprecated=0, encodedLength=0, offset=68, componentTokenCount=3, encoding=Encoding{presence=REQUIRED, primitiveType=null, byteOrder=LITTLE_ENDIAN, minValue=null, maxValue=null, nullValue=null, constValue=null, characterEncoding='null', epoch='unix', timeUnit=nanosecond, semanticType='null'}} - //Token{signal=ENCODING, name='int32', referencedName='null', description='null', id=-1, version=0, deprecated=0, encodedLength=4, offset=68, componentTokenCount=1, encoding=Encoding{presence=REQUIRED, primitiveType=INT32, byteOrder=LITTLE_ENDIAN, minValue=null, maxValue=null, nullValue=null, constValue=null, characterEncoding='null', epoch='unix', timeUnit=nanosecond, semanticType='null'}} - builder.Append("RecordingSessionId="); - builder.Append(RecordingSessionId()); + builder.Append("SessionId="); + builder.Append(SessionId()); builder.Append(')'); return builder; } @@ -1075,34 +1625,63 @@ public StringBuilder AppendTo(StringBuilder builder) } builder.Append(BLOCK_LENGTH); builder.Append("):"); - //Token{signal=BEGIN_FIELD, name='lastLeadershipTermId', referencedName='null', description='null', id=1, version=0, deprecated=0, encodedLength=0, offset=0, componentTokenCount=3, encoding=Encoding{presence=REQUIRED, primitiveType=null, byteOrder=LITTLE_ENDIAN, minValue=null, maxValue=null, nullValue=null, constValue=null, characterEncoding='null', epoch='unix', timeUnit=nanosecond, semanticType='null'}} + //Token{signal=BEGIN_FIELD, name='correlationId', referencedName='null', description='null', id=1, version=0, deprecated=0, encodedLength=0, offset=0, componentTokenCount=3, encoding=Encoding{presence=REQUIRED, primitiveType=null, byteOrder=LITTLE_ENDIAN, minValue=null, maxValue=null, nullValue=null, constValue=null, characterEncoding='null', epoch='unix', timeUnit=nanosecond, semanticType='null'}} //Token{signal=ENCODING, name='int64', referencedName='null', description='null', id=-1, version=0, deprecated=0, encodedLength=8, offset=0, componentTokenCount=1, encoding=Encoding{presence=REQUIRED, primitiveType=INT64, byteOrder=LITTLE_ENDIAN, minValue=null, maxValue=null, nullValue=null, constValue=null, characterEncoding='null', epoch='unix', timeUnit=nanosecond, semanticType='null'}} + builder.Append("CorrelationId="); + builder.Append(CorrelationId()); + builder.Append('|'); + //Token{signal=BEGIN_FIELD, name='requestMemberId', referencedName='null', description='null', id=2, version=0, deprecated=0, encodedLength=0, offset=8, componentTokenCount=3, encoding=Encoding{presence=REQUIRED, primitiveType=null, byteOrder=LITTLE_ENDIAN, minValue=null, maxValue=null, nullValue=null, constValue=null, characterEncoding='null', epoch='unix', timeUnit=nanosecond, semanticType='null'}} + //Token{signal=ENCODING, name='int32', referencedName='null', description='null', id=-1, version=0, deprecated=0, encodedLength=4, offset=8, componentTokenCount=1, encoding=Encoding{presence=REQUIRED, primitiveType=INT32, byteOrder=LITTLE_ENDIAN, minValue=null, maxValue=null, nullValue=null, constValue=null, characterEncoding='null', epoch='unix', timeUnit=nanosecond, semanticType='null'}} + builder.Append("RequestMemberId="); + builder.Append(RequestMemberId()); + builder.Append('|'); + //Token{signal=BEGIN_FIELD, name='leaderMemberId', referencedName='null', description='null', id=3, version=0, deprecated=0, encodedLength=0, offset=12, componentTokenCount=3, encoding=Encoding{presence=REQUIRED, primitiveType=null, byteOrder=LITTLE_ENDIAN, minValue=null, maxValue=null, nullValue=null, constValue=null, characterEncoding='null', epoch='unix', timeUnit=nanosecond, semanticType='null'}} + //Token{signal=ENCODING, name='int32', referencedName='null', description='null', id=-1, version=0, deprecated=0, encodedLength=4, offset=12, componentTokenCount=1, encoding=Encoding{presence=REQUIRED, primitiveType=INT32, byteOrder=LITTLE_ENDIAN, minValue=null, maxValue=null, nullValue=null, constValue=null, characterEncoding='null', epoch='unix', timeUnit=nanosecond, semanticType='null'}} + builder.Append("LeaderMemberId="); + builder.Append(LeaderMemberId()); + builder.Append('|'); + //Token{signal=BEGIN_FIELD, name='lastLeadershipTermId', referencedName='null', description='null', id=4, version=0, deprecated=0, encodedLength=0, offset=16, componentTokenCount=3, encoding=Encoding{presence=REQUIRED, primitiveType=null, byteOrder=LITTLE_ENDIAN, minValue=null, maxValue=null, nullValue=null, constValue=null, characterEncoding='null', epoch='unix', timeUnit=nanosecond, semanticType='null'}} + //Token{signal=ENCODING, name='int64', referencedName='null', description='null', id=-1, version=0, deprecated=0, encodedLength=8, offset=16, componentTokenCount=1, encoding=Encoding{presence=REQUIRED, primitiveType=INT64, byteOrder=LITTLE_ENDIAN, minValue=null, maxValue=null, nullValue=null, constValue=null, characterEncoding='null', epoch='unix', timeUnit=nanosecond, semanticType='null'}} builder.Append("LastLeadershipTermId="); builder.Append(LastLeadershipTermId()); builder.Append('|'); - //Token{signal=BEGIN_FIELD, name='lastTermBaseLogPosition', referencedName='null', description='null', id=2, version=0, deprecated=0, encodedLength=0, offset=8, componentTokenCount=3, encoding=Encoding{presence=REQUIRED, primitiveType=null, byteOrder=LITTLE_ENDIAN, minValue=null, maxValue=null, nullValue=null, constValue=null, characterEncoding='null', epoch='unix', timeUnit=nanosecond, semanticType='null'}} - //Token{signal=ENCODING, name='int64', referencedName='null', description='null', id=-1, version=0, deprecated=0, encodedLength=8, offset=8, componentTokenCount=1, encoding=Encoding{presence=REQUIRED, primitiveType=INT64, byteOrder=LITTLE_ENDIAN, minValue=null, maxValue=null, nullValue=null, constValue=null, characterEncoding='null', epoch='unix', timeUnit=nanosecond, semanticType='null'}} + //Token{signal=BEGIN_FIELD, name='lastTermBaseLogPosition', referencedName='null', description='null', id=5, version=0, deprecated=0, encodedLength=0, offset=24, componentTokenCount=3, encoding=Encoding{presence=REQUIRED, primitiveType=null, byteOrder=LITTLE_ENDIAN, minValue=null, maxValue=null, nullValue=null, constValue=null, characterEncoding='null', epoch='unix', timeUnit=nanosecond, semanticType='null'}} + //Token{signal=ENCODING, name='int64', referencedName='null', description='null', id=-1, version=0, deprecated=0, encodedLength=8, offset=24, componentTokenCount=1, encoding=Encoding{presence=REQUIRED, primitiveType=INT64, byteOrder=LITTLE_ENDIAN, minValue=null, maxValue=null, nullValue=null, constValue=null, characterEncoding='null', epoch='unix', timeUnit=nanosecond, semanticType='null'}} builder.Append("LastTermBaseLogPosition="); builder.Append(LastTermBaseLogPosition()); builder.Append('|'); - //Token{signal=BEGIN_FIELD, name='lastTermPositionCommitted', referencedName='null', description='null', id=3, version=0, deprecated=0, encodedLength=0, offset=16, componentTokenCount=3, encoding=Encoding{presence=REQUIRED, primitiveType=null, byteOrder=LITTLE_ENDIAN, minValue=null, maxValue=null, nullValue=null, constValue=null, characterEncoding='null', epoch='unix', timeUnit=nanosecond, semanticType='null'}} - //Token{signal=ENCODING, name='int64', referencedName='null', description='null', id=-1, version=0, deprecated=0, encodedLength=8, offset=16, componentTokenCount=1, encoding=Encoding{presence=REQUIRED, primitiveType=INT64, byteOrder=LITTLE_ENDIAN, minValue=null, maxValue=null, nullValue=null, constValue=null, characterEncoding='null', epoch='unix', timeUnit=nanosecond, semanticType='null'}} - builder.Append("LastTermPositionCommitted="); - builder.Append(LastTermPositionCommitted()); + //Token{signal=BEGIN_FIELD, name='appendedLogPosition', referencedName='null', description='null', id=6, version=0, deprecated=0, encodedLength=0, offset=32, componentTokenCount=3, encoding=Encoding{presence=REQUIRED, primitiveType=null, byteOrder=LITTLE_ENDIAN, minValue=null, maxValue=null, nullValue=null, constValue=null, characterEncoding='null', epoch='unix', timeUnit=nanosecond, semanticType='null'}} + //Token{signal=ENCODING, name='int64', referencedName='null', description='null', id=-1, version=0, deprecated=0, encodedLength=8, offset=32, componentTokenCount=1, encoding=Encoding{presence=REQUIRED, primitiveType=INT64, byteOrder=LITTLE_ENDIAN, minValue=null, maxValue=null, nullValue=null, constValue=null, characterEncoding='null', epoch='unix', timeUnit=nanosecond, semanticType='null'}} + builder.Append("AppendedLogPosition="); + builder.Append(AppendedLogPosition()); builder.Append('|'); - //Token{signal=BEGIN_FIELD, name='lastTermPositionAppended', referencedName='null', description='null', id=4, version=0, deprecated=0, encodedLength=0, offset=24, componentTokenCount=3, encoding=Encoding{presence=REQUIRED, primitiveType=null, byteOrder=LITTLE_ENDIAN, minValue=null, maxValue=null, nullValue=null, constValue=null, characterEncoding='null', epoch='unix', timeUnit=nanosecond, semanticType='null'}} - //Token{signal=ENCODING, name='int64', referencedName='null', description='null', id=-1, version=0, deprecated=0, encodedLength=8, offset=24, componentTokenCount=1, encoding=Encoding{presence=REQUIRED, primitiveType=INT64, byteOrder=LITTLE_ENDIAN, minValue=null, maxValue=null, nullValue=null, constValue=null, characterEncoding='null', epoch='unix', timeUnit=nanosecond, semanticType='null'}} - builder.Append("LastTermPositionAppended="); - builder.Append(LastTermPositionAppended()); + //Token{signal=BEGIN_FIELD, name='committedLogPosition', referencedName='null', description='null', id=7, version=0, deprecated=0, encodedLength=0, offset=40, componentTokenCount=3, encoding=Encoding{presence=REQUIRED, primitiveType=null, byteOrder=LITTLE_ENDIAN, minValue=null, maxValue=null, nullValue=null, constValue=null, characterEncoding='null', epoch='unix', timeUnit=nanosecond, semanticType='null'}} + //Token{signal=ENCODING, name='int64', referencedName='null', description='null', id=-1, version=0, deprecated=0, encodedLength=8, offset=40, componentTokenCount=1, encoding=Encoding{presence=REQUIRED, primitiveType=INT64, byteOrder=LITTLE_ENDIAN, minValue=null, maxValue=null, nullValue=null, constValue=null, characterEncoding='null', epoch='unix', timeUnit=nanosecond, semanticType='null'}} + builder.Append("CommittedLogPosition="); + builder.Append(CommittedLogPosition()); + builder.Append('|'); + //Token{signal=BEGIN_GROUP, name='snapshots', referencedName='null', description='null', id=8, version=0, deprecated=0, encodedLength=44, offset=48, componentTokenCount=24, encoding=Encoding{presence=REQUIRED, primitiveType=null, byteOrder=LITTLE_ENDIAN, minValue=null, maxValue=null, nullValue=null, constValue=null, characterEncoding='null', epoch='null', timeUnit=null, semanticType='null'}} + builder.Append("Snapshots=["); + SnapshotsDecoder Snapshots = this.Snapshots(); + if (Snapshots.Count() > 0) + { + while (Snapshots.HasNext()) + { + Snapshots.Next().AppendTo(builder); + builder.Append(','); + } + builder.Length = builder.Length - 1; + } + builder.Append(']'); builder.Append('|'); - //Token{signal=BEGIN_GROUP, name='steps', referencedName='null', description='null', id=5, version=0, deprecated=0, encodedLength=72, offset=32, componentTokenCount=39, encoding=Encoding{presence=REQUIRED, primitiveType=null, byteOrder=LITTLE_ENDIAN, minValue=null, maxValue=null, nullValue=null, constValue=null, characterEncoding='null', epoch='null', timeUnit=null, semanticType='null'}} - builder.Append("Steps=["); - StepsDecoder Steps = this.Steps(); - if (Steps.Count() > 0) + //Token{signal=BEGIN_GROUP, name='logs', referencedName='null', description='null', id=15, version=0, deprecated=0, encodedLength=64, offset=-1, componentTokenCount=36, encoding=Encoding{presence=REQUIRED, primitiveType=null, byteOrder=LITTLE_ENDIAN, minValue=null, maxValue=null, nullValue=null, constValue=null, characterEncoding='null', epoch='null', timeUnit=null, semanticType='null'}} + builder.Append("Logs=["); + LogsDecoder Logs = this.Logs(); + if (Logs.Count() > 0) { - while (Steps.HasNext()) + while (Logs.HasNext()) { - Steps.Next().AppendTo(builder); + Logs.Next().AppendTo(builder); builder.Append(','); } builder.Length = builder.Length - 1; diff --git a/src/Adaptive.Cluster/Codecs/RecoveryPlanEncoder.cs b/src/Adaptive.Cluster/Codecs/RecoveryPlanEncoder.cs index 6b0b1d30..2e798a8c 100644 --- a/src/Adaptive.Cluster/Codecs/RecoveryPlanEncoder.cs +++ b/src/Adaptive.Cluster/Codecs/RecoveryPlanEncoder.cs @@ -9,8 +9,8 @@ namespace Adaptive.Cluster.Codecs { public class RecoveryPlanEncoder { - public const ushort BLOCK_LENGTH = 32; - public const ushort TEMPLATE_ID = 110; + public const ushort BLOCK_LENGTH = 48; + public const ushort TEMPLATE_ID = 62; public const ushort SCHEMA_ID = 1; public const ushort SCHEMA_VERSION = 1; @@ -96,11 +96,107 @@ public void Limit(int limit) this._limit = limit; } - public static int LastLeadershipTermIdEncodingOffset() + public static int CorrelationIdEncodingOffset() { return 0; } + public static int CorrelationIdEncodingLength() + { + return 8; + } + + public static long CorrelationIdNullValue() + { + return -9223372036854775808L; + } + + public static long CorrelationIdMinValue() + { + return -9223372036854775807L; + } + + public static long CorrelationIdMaxValue() + { + return 9223372036854775807L; + } + + public RecoveryPlanEncoder CorrelationId(long value) + { + _buffer.PutLong(_offset + 0, value, ByteOrder.LittleEndian); + return this; + } + + + public static int RequestMemberIdEncodingOffset() + { + return 8; + } + + public static int RequestMemberIdEncodingLength() + { + return 4; + } + + public static int RequestMemberIdNullValue() + { + return -2147483648; + } + + public static int RequestMemberIdMinValue() + { + return -2147483647; + } + + public static int RequestMemberIdMaxValue() + { + return 2147483647; + } + + public RecoveryPlanEncoder RequestMemberId(int value) + { + _buffer.PutInt(_offset + 8, value, ByteOrder.LittleEndian); + return this; + } + + + public static int LeaderMemberIdEncodingOffset() + { + return 12; + } + + public static int LeaderMemberIdEncodingLength() + { + return 4; + } + + public static int LeaderMemberIdNullValue() + { + return -2147483648; + } + + public static int LeaderMemberIdMinValue() + { + return -2147483647; + } + + public static int LeaderMemberIdMaxValue() + { + return 2147483647; + } + + public RecoveryPlanEncoder LeaderMemberId(int value) + { + _buffer.PutInt(_offset + 12, value, ByteOrder.LittleEndian); + return this; + } + + + public static int LastLeadershipTermIdEncodingOffset() + { + return 16; + } + public static int LastLeadershipTermIdEncodingLength() { return 8; @@ -123,14 +219,14 @@ public static long LastLeadershipTermIdMaxValue() public RecoveryPlanEncoder LastLeadershipTermId(long value) { - _buffer.PutLong(_offset + 0, value, ByteOrder.LittleEndian); + _buffer.PutLong(_offset + 16, value, ByteOrder.LittleEndian); return this; } public static int LastTermBaseLogPositionEncodingOffset() { - return 8; + return 24; } public static int LastTermBaseLogPositionEncodingLength() @@ -155,89 +251,89 @@ public static long LastTermBaseLogPositionMaxValue() public RecoveryPlanEncoder LastTermBaseLogPosition(long value) { - _buffer.PutLong(_offset + 8, value, ByteOrder.LittleEndian); + _buffer.PutLong(_offset + 24, value, ByteOrder.LittleEndian); return this; } - public static int LastTermPositionCommittedEncodingOffset() + public static int AppendedLogPositionEncodingOffset() { - return 16; + return 32; } - public static int LastTermPositionCommittedEncodingLength() + public static int AppendedLogPositionEncodingLength() { return 8; } - public static long LastTermPositionCommittedNullValue() + public static long AppendedLogPositionNullValue() { return -9223372036854775808L; } - public static long LastTermPositionCommittedMinValue() + public static long AppendedLogPositionMinValue() { return -9223372036854775807L; } - public static long LastTermPositionCommittedMaxValue() + public static long AppendedLogPositionMaxValue() { return 9223372036854775807L; } - public RecoveryPlanEncoder LastTermPositionCommitted(long value) + public RecoveryPlanEncoder AppendedLogPosition(long value) { - _buffer.PutLong(_offset + 16, value, ByteOrder.LittleEndian); + _buffer.PutLong(_offset + 32, value, ByteOrder.LittleEndian); return this; } - public static int LastTermPositionAppendedEncodingOffset() + public static int CommittedLogPositionEncodingOffset() { - return 24; + return 40; } - public static int LastTermPositionAppendedEncodingLength() + public static int CommittedLogPositionEncodingLength() { return 8; } - public static long LastTermPositionAppendedNullValue() + public static long CommittedLogPositionNullValue() { return -9223372036854775808L; } - public static long LastTermPositionAppendedMinValue() + public static long CommittedLogPositionMinValue() { return -9223372036854775807L; } - public static long LastTermPositionAppendedMaxValue() + public static long CommittedLogPositionMaxValue() { return 9223372036854775807L; } - public RecoveryPlanEncoder LastTermPositionAppended(long value) + public RecoveryPlanEncoder CommittedLogPosition(long value) { - _buffer.PutLong(_offset + 24, value, ByteOrder.LittleEndian); + _buffer.PutLong(_offset + 40, value, ByteOrder.LittleEndian); return this; } - private StepsEncoder _Steps = new StepsEncoder(); + private SnapshotsEncoder _Snapshots = new SnapshotsEncoder(); - public static long StepsId() + public static long SnapshotsId() { - return 5; + return 8; } - public StepsEncoder StepsCount(int count) + public SnapshotsEncoder SnapshotsCount(int count) { - _Steps.Wrap(_parentMessage, _buffer, count); - return _Steps; + _Snapshots.Wrap(_parentMessage, _buffer, count); + return _Snapshots; } - public class StepsEncoder + public class SnapshotsEncoder { private static int HEADER_SIZE = 4; private GroupSizeEncodingEncoder _dimensions = new GroupSizeEncodingEncoder(); @@ -258,7 +354,7 @@ public void Wrap( this._parentMessage = parentMessage; this._buffer = buffer; _dimensions.Wrap(buffer, parentMessage.Limit()); - _dimensions.BlockLength((ushort)72); + _dimensions.BlockLength((ushort)44); _dimensions.NumInGroup((ushort)count); _index = -1; this._count = count; @@ -272,10 +368,10 @@ public static int SbeHeaderSize() public static int SbeBlockLength() { - return 72; + return 44; } - public StepsEncoder Next() + public SnapshotsEncoder Next() { if (_index + 1 >= _count) { @@ -289,75 +385,269 @@ public StepsEncoder Next() return this; } - public static int RecordingStartPositionEncodingOffset() + public static int RecordingIdEncodingOffset() { return 0; } - public static int RecordingStartPositionEncodingLength() + public static int RecordingIdEncodingLength() { return 8; } - public static long RecordingStartPositionNullValue() + public static long RecordingIdNullValue() { return -9223372036854775808L; } - public static long RecordingStartPositionMinValue() + public static long RecordingIdMinValue() { return -9223372036854775807L; } - public static long RecordingStartPositionMaxValue() + public static long RecordingIdMaxValue() { return 9223372036854775807L; } - public StepsEncoder RecordingStartPosition(long value) + public SnapshotsEncoder RecordingId(long value) { _buffer.PutLong(_offset + 0, value, ByteOrder.LittleEndian); return this; } - public static int RecordingStopPositionEncodingOffset() + public static int LeadershipTermIdEncodingOffset() { return 8; } - public static int RecordingStopPositionEncodingLength() + public static int LeadershipTermIdEncodingLength() { return 8; } - public static long RecordingStopPositionNullValue() + public static long LeadershipTermIdNullValue() { return -9223372036854775808L; } - public static long RecordingStopPositionMinValue() + public static long LeadershipTermIdMinValue() { return -9223372036854775807L; } - public static long RecordingStopPositionMaxValue() + public static long LeadershipTermIdMaxValue() { return 9223372036854775807L; } - public StepsEncoder RecordingStopPosition(long value) + public SnapshotsEncoder LeadershipTermId(long value) { _buffer.PutLong(_offset + 8, value, ByteOrder.LittleEndian); return this; } - public static int RecordingIdEncodingOffset() + public static int TermBaseLogPositionEncodingOffset() { return 16; } + public static int TermBaseLogPositionEncodingLength() + { + return 8; + } + + public static long TermBaseLogPositionNullValue() + { + return -9223372036854775808L; + } + + public static long TermBaseLogPositionMinValue() + { + return -9223372036854775807L; + } + + public static long TermBaseLogPositionMaxValue() + { + return 9223372036854775807L; + } + + public SnapshotsEncoder TermBaseLogPosition(long value) + { + _buffer.PutLong(_offset + 16, value, ByteOrder.LittleEndian); + return this; + } + + + public static int LogPositionEncodingOffset() + { + return 24; + } + + public static int LogPositionEncodingLength() + { + return 8; + } + + public static long LogPositionNullValue() + { + return -9223372036854775808L; + } + + public static long LogPositionMinValue() + { + return -9223372036854775807L; + } + + public static long LogPositionMaxValue() + { + return 9223372036854775807L; + } + + public SnapshotsEncoder LogPosition(long value) + { + _buffer.PutLong(_offset + 24, value, ByteOrder.LittleEndian); + return this; + } + + + public static int TimestampEncodingOffset() + { + return 32; + } + + public static int TimestampEncodingLength() + { + return 8; + } + + public static long TimestampNullValue() + { + return -9223372036854775808L; + } + + public static long TimestampMinValue() + { + return -9223372036854775807L; + } + + public static long TimestampMaxValue() + { + return 9223372036854775807L; + } + + public SnapshotsEncoder Timestamp(long value) + { + _buffer.PutLong(_offset + 32, value, ByteOrder.LittleEndian); + return this; + } + + + public static int ServiceIdEncodingOffset() + { + return 40; + } + + public static int ServiceIdEncodingLength() + { + return 4; + } + + public static int ServiceIdNullValue() + { + return -2147483648; + } + + public static int ServiceIdMinValue() + { + return -2147483647; + } + + public static int ServiceIdMaxValue() + { + return 2147483647; + } + + public SnapshotsEncoder ServiceId(int value) + { + _buffer.PutInt(_offset + 40, value, ByteOrder.LittleEndian); + return this; + } + + } + + private LogsEncoder _Logs = new LogsEncoder(); + + public static long LogsId() + { + return 15; + } + + public LogsEncoder LogsCount(int count) + { + _Logs.Wrap(_parentMessage, _buffer, count); + return _Logs; + } + + public class LogsEncoder + { + private static int HEADER_SIZE = 4; + private GroupSizeEncodingEncoder _dimensions = new GroupSizeEncodingEncoder(); + private RecoveryPlanEncoder _parentMessage; + private IMutableDirectBuffer _buffer; + private int _count; + private int _index; + private int _offset; + + public void Wrap( + RecoveryPlanEncoder parentMessage, IMutableDirectBuffer buffer, int count) + { + if (count < 0 || count > 65534) + { + throw new ArgumentException("count outside allowed range: count=" + count); + } + + this._parentMessage = parentMessage; + this._buffer = buffer; + _dimensions.Wrap(buffer, parentMessage.Limit()); + _dimensions.BlockLength((ushort)64); + _dimensions.NumInGroup((ushort)count); + _index = -1; + this._count = count; + parentMessage.Limit(parentMessage.Limit() + HEADER_SIZE); + } + + public static int SbeHeaderSize() + { + return HEADER_SIZE; + } + + public static int SbeBlockLength() + { + return 64; + } + + public LogsEncoder Next() + { + if (_index + 1 >= _count) + { + throw new IndexOutOfRangeException(); + } + + _offset = _parentMessage.Limit(); + _parentMessage.Limit(_offset + SbeBlockLength()); + ++_index; + + return this; + } + + public static int RecordingIdEncodingOffset() + { + return 0; + } + public static int RecordingIdEncodingLength() { return 8; @@ -378,16 +668,16 @@ public static long RecordingIdMaxValue() return 9223372036854775807L; } - public StepsEncoder RecordingId(long value) + public LogsEncoder RecordingId(long value) { - _buffer.PutLong(_offset + 16, value, ByteOrder.LittleEndian); + _buffer.PutLong(_offset + 0, value, ByteOrder.LittleEndian); return this; } public static int LeadershipTermIdEncodingOffset() { - return 24; + return 8; } public static int LeadershipTermIdEncodingLength() @@ -410,16 +700,16 @@ public static long LeadershipTermIdMaxValue() return 9223372036854775807L; } - public StepsEncoder LeadershipTermId(long value) + public LogsEncoder LeadershipTermId(long value) { - _buffer.PutLong(_offset + 24, value, ByteOrder.LittleEndian); + _buffer.PutLong(_offset + 8, value, ByteOrder.LittleEndian); return this; } public static int TermBaseLogPositionEncodingOffset() { - return 32; + return 16; } public static int TermBaseLogPositionEncodingLength() @@ -442,201 +732,233 @@ public static long TermBaseLogPositionMaxValue() return 9223372036854775807L; } - public StepsEncoder TermBaseLogPosition(long value) + public LogsEncoder TermBaseLogPosition(long value) { - _buffer.PutLong(_offset + 32, value, ByteOrder.LittleEndian); + _buffer.PutLong(_offset + 16, value, ByteOrder.LittleEndian); return this; } - public static int TermPositionEncodingOffset() + public static int LogPositionEncodingOffset() { - return 40; + return 24; } - public static int TermPositionEncodingLength() + public static int LogPositionEncodingLength() { return 8; } - public static long TermPositionNullValue() + public static long LogPositionNullValue() { return -9223372036854775808L; } - public static long TermPositionMinValue() + public static long LogPositionMinValue() { return -9223372036854775807L; } - public static long TermPositionMaxValue() + public static long LogPositionMaxValue() { return 9223372036854775807L; } - public StepsEncoder TermPosition(long value) + public LogsEncoder LogPosition(long value) { - _buffer.PutLong(_offset + 40, value, ByteOrder.LittleEndian); + _buffer.PutLong(_offset + 24, value, ByteOrder.LittleEndian); return this; } - public static int TimestampEncodingOffset() + public static int StartPositionEncodingOffset() { - return 48; + return 32; } - public static int TimestampEncodingLength() + public static int StartPositionEncodingLength() { return 8; } - public static long TimestampNullValue() + public static long StartPositionNullValue() { return -9223372036854775808L; } - public static long TimestampMinValue() + public static long StartPositionMinValue() { return -9223372036854775807L; } - public static long TimestampMaxValue() + public static long StartPositionMaxValue() { return 9223372036854775807L; } - public StepsEncoder Timestamp(long value) + public LogsEncoder StartPosition(long value) { - _buffer.PutLong(_offset + 48, value, ByteOrder.LittleEndian); + _buffer.PutLong(_offset + 32, value, ByteOrder.LittleEndian); return this; } - public static int VotedForMemberIdEncodingOffset() + public static int StopPositionEncodingOffset() { - return 56; + return 40; + } + + public static int StopPositionEncodingLength() + { + return 8; + } + + public static long StopPositionNullValue() + { + return -9223372036854775808L; + } + + public static long StopPositionMinValue() + { + return -9223372036854775807L; } - public static int VotedForMemberIdEncodingLength() + public static long StopPositionMaxValue() + { + return 9223372036854775807L; + } + + public LogsEncoder StopPosition(long value) + { + _buffer.PutLong(_offset + 40, value, ByteOrder.LittleEndian); + return this; + } + + + public static int InitialTermIdEncodingOffset() + { + return 48; + } + + public static int InitialTermIdEncodingLength() { return 4; } - public static int VotedForMemberIdNullValue() + public static int InitialTermIdNullValue() { return -2147483648; } - public static int VotedForMemberIdMinValue() + public static int InitialTermIdMinValue() { return -2147483647; } - public static int VotedForMemberIdMaxValue() + public static int InitialTermIdMaxValue() { return 2147483647; } - public StepsEncoder VotedForMemberId(int value) + public LogsEncoder InitialTermId(int value) { - _buffer.PutInt(_offset + 56, value, ByteOrder.LittleEndian); + _buffer.PutInt(_offset + 48, value, ByteOrder.LittleEndian); return this; } - public static int EntryTypeEncodingOffset() + public static int TermBufferLengthEncodingOffset() { - return 60; + return 52; } - public static int EntryTypeEncodingLength() + public static int TermBufferLengthEncodingLength() { return 4; } - public static int EntryTypeNullValue() + public static int TermBufferLengthNullValue() { return -2147483648; } - public static int EntryTypeMinValue() + public static int TermBufferLengthMinValue() { return -2147483647; } - public static int EntryTypeMaxValue() + public static int TermBufferLengthMaxValue() { return 2147483647; } - public StepsEncoder EntryType(int value) + public LogsEncoder TermBufferLength(int value) { - _buffer.PutInt(_offset + 60, value, ByteOrder.LittleEndian); + _buffer.PutInt(_offset + 52, value, ByteOrder.LittleEndian); return this; } - public static int EntryIndexEncodingOffset() + public static int MtuLengthEncodingOffset() { - return 64; + return 56; } - public static int EntryIndexEncodingLength() + public static int MtuLengthEncodingLength() { return 4; } - public static int EntryIndexNullValue() + public static int MtuLengthNullValue() { return -2147483648; } - public static int EntryIndexMinValue() + public static int MtuLengthMinValue() { return -2147483647; } - public static int EntryIndexMaxValue() + public static int MtuLengthMaxValue() { return 2147483647; } - public StepsEncoder EntryIndex(int value) + public LogsEncoder MtuLength(int value) { - _buffer.PutInt(_offset + 64, value, ByteOrder.LittleEndian); + _buffer.PutInt(_offset + 56, value, ByteOrder.LittleEndian); return this; } - public static int RecordingSessionIdEncodingOffset() + public static int SessionIdEncodingOffset() { - return 68; + return 60; } - public static int RecordingSessionIdEncodingLength() + public static int SessionIdEncodingLength() { return 4; } - public static int RecordingSessionIdNullValue() + public static int SessionIdNullValue() { return -2147483648; } - public static int RecordingSessionIdMinValue() + public static int SessionIdMinValue() { return -2147483647; } - public static int RecordingSessionIdMaxValue() + public static int SessionIdMaxValue() { return 2147483647; } - public StepsEncoder RecordingSessionId(int value) + public LogsEncoder SessionId(int value) { - _buffer.PutInt(_offset + 68, value, ByteOrder.LittleEndian); + _buffer.PutInt(_offset + 60, value, ByteOrder.LittleEndian); return this; } diff --git a/src/Adaptive.Cluster/Codecs/RecoveryPlanQueryDecoder.cs b/src/Adaptive.Cluster/Codecs/RecoveryPlanQueryDecoder.cs index 03afac16..5c7fc1a0 100644 --- a/src/Adaptive.Cluster/Codecs/RecoveryPlanQueryDecoder.cs +++ b/src/Adaptive.Cluster/Codecs/RecoveryPlanQueryDecoder.cs @@ -142,27 +142,27 @@ public long CorrelationId() } - public static int LeaderMemberIdId() + public static int RequestMemberIdId() { return 2; } - public static int LeaderMemberIdSinceVersion() + public static int RequestMemberIdSinceVersion() { return 0; } - public static int LeaderMemberIdEncodingOffset() + public static int RequestMemberIdEncodingOffset() { return 8; } - public static int LeaderMemberIdEncodingLength() + public static int RequestMemberIdEncodingLength() { return 4; } - public static string LeaderMemberIdMetaAttribute(MetaAttribute metaAttribute) + public static string RequestMemberIdMetaAttribute(MetaAttribute metaAttribute) { switch (metaAttribute) { @@ -175,48 +175,48 @@ public static string LeaderMemberIdMetaAttribute(MetaAttribute metaAttribute) return ""; } - public static int LeaderMemberIdNullValue() + public static int RequestMemberIdNullValue() { return -2147483648; } - public static int LeaderMemberIdMinValue() + public static int RequestMemberIdMinValue() { return -2147483647; } - public static int LeaderMemberIdMaxValue() + public static int RequestMemberIdMaxValue() { return 2147483647; } - public int LeaderMemberId() + public int RequestMemberId() { return _buffer.GetInt(_offset + 8, ByteOrder.LittleEndian); } - public static int RequestMemberIdId() + public static int LeaderMemberIdId() { return 3; } - public static int RequestMemberIdSinceVersion() + public static int LeaderMemberIdSinceVersion() { return 0; } - public static int RequestMemberIdEncodingOffset() + public static int LeaderMemberIdEncodingOffset() { return 12; } - public static int RequestMemberIdEncodingLength() + public static int LeaderMemberIdEncodingLength() { return 4; } - public static string RequestMemberIdMetaAttribute(MetaAttribute metaAttribute) + public static string LeaderMemberIdMetaAttribute(MetaAttribute metaAttribute) { switch (metaAttribute) { @@ -229,22 +229,22 @@ public static string RequestMemberIdMetaAttribute(MetaAttribute metaAttribute) return ""; } - public static int RequestMemberIdNullValue() + public static int LeaderMemberIdNullValue() { return -2147483648; } - public static int RequestMemberIdMinValue() + public static int LeaderMemberIdMinValue() { return -2147483647; } - public static int RequestMemberIdMaxValue() + public static int LeaderMemberIdMaxValue() { return 2147483647; } - public int RequestMemberId() + public int LeaderMemberId() { return _buffer.GetInt(_offset + 12, ByteOrder.LittleEndian); } @@ -284,15 +284,15 @@ public StringBuilder AppendTo(StringBuilder builder) builder.Append("CorrelationId="); builder.Append(CorrelationId()); builder.Append('|'); - //Token{signal=BEGIN_FIELD, name='leaderMemberId', referencedName='null', description='null', id=2, version=0, deprecated=0, encodedLength=0, offset=8, componentTokenCount=3, encoding=Encoding{presence=REQUIRED, primitiveType=null, byteOrder=LITTLE_ENDIAN, minValue=null, maxValue=null, nullValue=null, constValue=null, characterEncoding='null', epoch='unix', timeUnit=nanosecond, semanticType='null'}} + //Token{signal=BEGIN_FIELD, name='requestMemberId', referencedName='null', description='null', id=2, version=0, deprecated=0, encodedLength=0, offset=8, componentTokenCount=3, encoding=Encoding{presence=REQUIRED, primitiveType=null, byteOrder=LITTLE_ENDIAN, minValue=null, maxValue=null, nullValue=null, constValue=null, characterEncoding='null', epoch='unix', timeUnit=nanosecond, semanticType='null'}} //Token{signal=ENCODING, name='int32', referencedName='null', description='null', id=-1, version=0, deprecated=0, encodedLength=4, offset=8, componentTokenCount=1, encoding=Encoding{presence=REQUIRED, primitiveType=INT32, byteOrder=LITTLE_ENDIAN, minValue=null, maxValue=null, nullValue=null, constValue=null, characterEncoding='null', epoch='unix', timeUnit=nanosecond, semanticType='null'}} - builder.Append("LeaderMemberId="); - builder.Append(LeaderMemberId()); - builder.Append('|'); - //Token{signal=BEGIN_FIELD, name='requestMemberId', referencedName='null', description='null', id=3, version=0, deprecated=0, encodedLength=0, offset=12, componentTokenCount=3, encoding=Encoding{presence=REQUIRED, primitiveType=null, byteOrder=LITTLE_ENDIAN, minValue=null, maxValue=null, nullValue=null, constValue=null, characterEncoding='null', epoch='unix', timeUnit=nanosecond, semanticType='null'}} - //Token{signal=ENCODING, name='int32', referencedName='null', description='null', id=-1, version=0, deprecated=0, encodedLength=4, offset=12, componentTokenCount=1, encoding=Encoding{presence=REQUIRED, primitiveType=INT32, byteOrder=LITTLE_ENDIAN, minValue=null, maxValue=null, nullValue=null, constValue=null, characterEncoding='null', epoch='unix', timeUnit=nanosecond, semanticType='null'}} builder.Append("RequestMemberId="); builder.Append(RequestMemberId()); + builder.Append('|'); + //Token{signal=BEGIN_FIELD, name='leaderMemberId', referencedName='null', description='null', id=3, version=0, deprecated=0, encodedLength=0, offset=12, componentTokenCount=3, encoding=Encoding{presence=REQUIRED, primitiveType=null, byteOrder=LITTLE_ENDIAN, minValue=null, maxValue=null, nullValue=null, constValue=null, characterEncoding='null', epoch='unix', timeUnit=nanosecond, semanticType='null'}} + //Token{signal=ENCODING, name='int32', referencedName='null', description='null', id=-1, version=0, deprecated=0, encodedLength=4, offset=12, componentTokenCount=1, encoding=Encoding{presence=REQUIRED, primitiveType=INT32, byteOrder=LITTLE_ENDIAN, minValue=null, maxValue=null, nullValue=null, constValue=null, characterEncoding='null', epoch='unix', timeUnit=nanosecond, semanticType='null'}} + builder.Append("LeaderMemberId="); + builder.Append(LeaderMemberId()); Limit(originalLimit); diff --git a/src/Adaptive.Cluster/Codecs/RecoveryPlanQueryEncoder.cs b/src/Adaptive.Cluster/Codecs/RecoveryPlanQueryEncoder.cs index 3b3eea1a..7dab93d6 100644 --- a/src/Adaptive.Cluster/Codecs/RecoveryPlanQueryEncoder.cs +++ b/src/Adaptive.Cluster/Codecs/RecoveryPlanQueryEncoder.cs @@ -128,64 +128,64 @@ public RecoveryPlanQueryEncoder CorrelationId(long value) } - public static int LeaderMemberIdEncodingOffset() + public static int RequestMemberIdEncodingOffset() { return 8; } - public static int LeaderMemberIdEncodingLength() + public static int RequestMemberIdEncodingLength() { return 4; } - public static int LeaderMemberIdNullValue() + public static int RequestMemberIdNullValue() { return -2147483648; } - public static int LeaderMemberIdMinValue() + public static int RequestMemberIdMinValue() { return -2147483647; } - public static int LeaderMemberIdMaxValue() + public static int RequestMemberIdMaxValue() { return 2147483647; } - public RecoveryPlanQueryEncoder LeaderMemberId(int value) + public RecoveryPlanQueryEncoder RequestMemberId(int value) { _buffer.PutInt(_offset + 8, value, ByteOrder.LittleEndian); return this; } - public static int RequestMemberIdEncodingOffset() + public static int LeaderMemberIdEncodingOffset() { return 12; } - public static int RequestMemberIdEncodingLength() + public static int LeaderMemberIdEncodingLength() { return 4; } - public static int RequestMemberIdNullValue() + public static int LeaderMemberIdNullValue() { return -2147483648; } - public static int RequestMemberIdMinValue() + public static int LeaderMemberIdMinValue() { return -2147483647; } - public static int RequestMemberIdMaxValue() + public static int LeaderMemberIdMaxValue() { return 2147483647; } - public RecoveryPlanQueryEncoder RequestMemberId(int value) + public RecoveryPlanQueryEncoder LeaderMemberId(int value) { _buffer.PutInt(_offset + 12, value, ByteOrder.LittleEndian); return this; diff --git a/src/Adaptive.Cluster/Codecs/RequestVoteDecoder.cs b/src/Adaptive.Cluster/Codecs/RequestVoteDecoder.cs index dcba4c59..a4975f05 100644 --- a/src/Adaptive.Cluster/Codecs/RequestVoteDecoder.cs +++ b/src/Adaptive.Cluster/Codecs/RequestVoteDecoder.cs @@ -9,7 +9,7 @@ namespace Adaptive.Cluster.Codecs { public class RequestVoteDecoder { - public const ushort BLOCK_LENGTH = 20; + public const ushort BLOCK_LENGTH = 28; public const ushort TEMPLATE_ID = 51; public const ushort SCHEMA_ID = 1; public const ushort SCHEMA_VERSION = 1; @@ -88,11 +88,65 @@ public void Limit(int limit) this._limit = limit; } - public static int LogPositionId() + public static int LogLeadershipTermIdId() { return 1; } + public static int LogLeadershipTermIdSinceVersion() + { + return 0; + } + + public static int LogLeadershipTermIdEncodingOffset() + { + return 0; + } + + public static int LogLeadershipTermIdEncodingLength() + { + return 8; + } + + public static string LogLeadershipTermIdMetaAttribute(MetaAttribute metaAttribute) + { + switch (metaAttribute) + { + case MetaAttribute.EPOCH: return "unix"; + case MetaAttribute.TIME_UNIT: return "nanosecond"; + case MetaAttribute.SEMANTIC_TYPE: return ""; + case MetaAttribute.PRESENCE: return "required"; + } + + return ""; + } + + public static long LogLeadershipTermIdNullValue() + { + return -9223372036854775808L; + } + + public static long LogLeadershipTermIdMinValue() + { + return -9223372036854775807L; + } + + public static long LogLeadershipTermIdMaxValue() + { + return 9223372036854775807L; + } + + public long LogLeadershipTermId() + { + return _buffer.GetLong(_offset + 0, ByteOrder.LittleEndian); + } + + + public static int LogPositionId() + { + return 2; + } + public static int LogPositionSinceVersion() { return 0; @@ -100,7 +154,7 @@ public static int LogPositionSinceVersion() public static int LogPositionEncodingOffset() { - return 0; + return 8; } public static int LogPositionEncodingLength() @@ -138,13 +192,13 @@ public static long LogPositionMaxValue() public long LogPosition() { - return _buffer.GetLong(_offset + 0, ByteOrder.LittleEndian); + return _buffer.GetLong(_offset + 8, ByteOrder.LittleEndian); } public static int CandidateTermIdId() { - return 2; + return 3; } public static int CandidateTermIdSinceVersion() @@ -154,7 +208,7 @@ public static int CandidateTermIdSinceVersion() public static int CandidateTermIdEncodingOffset() { - return 8; + return 16; } public static int CandidateTermIdEncodingLength() @@ -192,13 +246,13 @@ public static long CandidateTermIdMaxValue() public long CandidateTermId() { - return _buffer.GetLong(_offset + 8, ByteOrder.LittleEndian); + return _buffer.GetLong(_offset + 16, ByteOrder.LittleEndian); } public static int CandidateMemberIdId() { - return 3; + return 4; } public static int CandidateMemberIdSinceVersion() @@ -208,7 +262,7 @@ public static int CandidateMemberIdSinceVersion() public static int CandidateMemberIdEncodingOffset() { - return 16; + return 24; } public static int CandidateMemberIdEncodingLength() @@ -246,7 +300,7 @@ public static int CandidateMemberIdMaxValue() public int CandidateMemberId() { - return _buffer.GetInt(_offset + 16, ByteOrder.LittleEndian); + return _buffer.GetInt(_offset + 24, ByteOrder.LittleEndian); } @@ -279,18 +333,23 @@ public StringBuilder AppendTo(StringBuilder builder) } builder.Append(BLOCK_LENGTH); builder.Append("):"); - //Token{signal=BEGIN_FIELD, name='logPosition', referencedName='null', description='null', id=1, version=0, deprecated=0, encodedLength=0, offset=0, componentTokenCount=3, encoding=Encoding{presence=REQUIRED, primitiveType=null, byteOrder=LITTLE_ENDIAN, minValue=null, maxValue=null, nullValue=null, constValue=null, characterEncoding='null', epoch='unix', timeUnit=nanosecond, semanticType='null'}} + //Token{signal=BEGIN_FIELD, name='logLeadershipTermId', referencedName='null', description='null', id=1, version=0, deprecated=0, encodedLength=0, offset=0, componentTokenCount=3, encoding=Encoding{presence=REQUIRED, primitiveType=null, byteOrder=LITTLE_ENDIAN, minValue=null, maxValue=null, nullValue=null, constValue=null, characterEncoding='null', epoch='unix', timeUnit=nanosecond, semanticType='null'}} //Token{signal=ENCODING, name='int64', referencedName='null', description='null', id=-1, version=0, deprecated=0, encodedLength=8, offset=0, componentTokenCount=1, encoding=Encoding{presence=REQUIRED, primitiveType=INT64, byteOrder=LITTLE_ENDIAN, minValue=null, maxValue=null, nullValue=null, constValue=null, characterEncoding='null', epoch='unix', timeUnit=nanosecond, semanticType='null'}} + builder.Append("LogLeadershipTermId="); + builder.Append(LogLeadershipTermId()); + builder.Append('|'); + //Token{signal=BEGIN_FIELD, name='logPosition', referencedName='null', description='null', id=2, version=0, deprecated=0, encodedLength=0, offset=8, componentTokenCount=3, encoding=Encoding{presence=REQUIRED, primitiveType=null, byteOrder=LITTLE_ENDIAN, minValue=null, maxValue=null, nullValue=null, constValue=null, characterEncoding='null', epoch='unix', timeUnit=nanosecond, semanticType='null'}} + //Token{signal=ENCODING, name='int64', referencedName='null', description='null', id=-1, version=0, deprecated=0, encodedLength=8, offset=8, componentTokenCount=1, encoding=Encoding{presence=REQUIRED, primitiveType=INT64, byteOrder=LITTLE_ENDIAN, minValue=null, maxValue=null, nullValue=null, constValue=null, characterEncoding='null', epoch='unix', timeUnit=nanosecond, semanticType='null'}} builder.Append("LogPosition="); builder.Append(LogPosition()); builder.Append('|'); - //Token{signal=BEGIN_FIELD, name='candidateTermId', referencedName='null', description='null', id=2, version=0, deprecated=0, encodedLength=0, offset=8, componentTokenCount=3, encoding=Encoding{presence=REQUIRED, primitiveType=null, byteOrder=LITTLE_ENDIAN, minValue=null, maxValue=null, nullValue=null, constValue=null, characterEncoding='null', epoch='unix', timeUnit=nanosecond, semanticType='null'}} - //Token{signal=ENCODING, name='int64', referencedName='null', description='null', id=-1, version=0, deprecated=0, encodedLength=8, offset=8, componentTokenCount=1, encoding=Encoding{presence=REQUIRED, primitiveType=INT64, byteOrder=LITTLE_ENDIAN, minValue=null, maxValue=null, nullValue=null, constValue=null, characterEncoding='null', epoch='unix', timeUnit=nanosecond, semanticType='null'}} + //Token{signal=BEGIN_FIELD, name='candidateTermId', referencedName='null', description='null', id=3, version=0, deprecated=0, encodedLength=0, offset=16, componentTokenCount=3, encoding=Encoding{presence=REQUIRED, primitiveType=null, byteOrder=LITTLE_ENDIAN, minValue=null, maxValue=null, nullValue=null, constValue=null, characterEncoding='null', epoch='unix', timeUnit=nanosecond, semanticType='null'}} + //Token{signal=ENCODING, name='int64', referencedName='null', description='null', id=-1, version=0, deprecated=0, encodedLength=8, offset=16, componentTokenCount=1, encoding=Encoding{presence=REQUIRED, primitiveType=INT64, byteOrder=LITTLE_ENDIAN, minValue=null, maxValue=null, nullValue=null, constValue=null, characterEncoding='null', epoch='unix', timeUnit=nanosecond, semanticType='null'}} builder.Append("CandidateTermId="); builder.Append(CandidateTermId()); builder.Append('|'); - //Token{signal=BEGIN_FIELD, name='candidateMemberId', referencedName='null', description='null', id=3, version=0, deprecated=0, encodedLength=0, offset=16, componentTokenCount=3, encoding=Encoding{presence=REQUIRED, primitiveType=null, byteOrder=LITTLE_ENDIAN, minValue=null, maxValue=null, nullValue=null, constValue=null, characterEncoding='null', epoch='unix', timeUnit=nanosecond, semanticType='null'}} - //Token{signal=ENCODING, name='int32', referencedName='null', description='null', id=-1, version=0, deprecated=0, encodedLength=4, offset=16, componentTokenCount=1, encoding=Encoding{presence=REQUIRED, primitiveType=INT32, byteOrder=LITTLE_ENDIAN, minValue=null, maxValue=null, nullValue=null, constValue=null, characterEncoding='null', epoch='unix', timeUnit=nanosecond, semanticType='null'}} + //Token{signal=BEGIN_FIELD, name='candidateMemberId', referencedName='null', description='null', id=4, version=0, deprecated=0, encodedLength=0, offset=24, componentTokenCount=3, encoding=Encoding{presence=REQUIRED, primitiveType=null, byteOrder=LITTLE_ENDIAN, minValue=null, maxValue=null, nullValue=null, constValue=null, characterEncoding='null', epoch='unix', timeUnit=nanosecond, semanticType='null'}} + //Token{signal=ENCODING, name='int32', referencedName='null', description='null', id=-1, version=0, deprecated=0, encodedLength=4, offset=24, componentTokenCount=1, encoding=Encoding{presence=REQUIRED, primitiveType=INT32, byteOrder=LITTLE_ENDIAN, minValue=null, maxValue=null, nullValue=null, constValue=null, characterEncoding='null', epoch='unix', timeUnit=nanosecond, semanticType='null'}} builder.Append("CandidateMemberId="); builder.Append(CandidateMemberId()); diff --git a/src/Adaptive.Cluster/Codecs/RequestVoteEncoder.cs b/src/Adaptive.Cluster/Codecs/RequestVoteEncoder.cs index e9e584f6..61437c72 100644 --- a/src/Adaptive.Cluster/Codecs/RequestVoteEncoder.cs +++ b/src/Adaptive.Cluster/Codecs/RequestVoteEncoder.cs @@ -9,7 +9,7 @@ namespace Adaptive.Cluster.Codecs { public class RequestVoteEncoder { - public const ushort BLOCK_LENGTH = 20; + public const ushort BLOCK_LENGTH = 28; public const ushort TEMPLATE_ID = 51; public const ushort SCHEMA_ID = 1; public const ushort SCHEMA_VERSION = 1; @@ -96,11 +96,43 @@ public void Limit(int limit) this._limit = limit; } - public static int LogPositionEncodingOffset() + public static int LogLeadershipTermIdEncodingOffset() { return 0; } + public static int LogLeadershipTermIdEncodingLength() + { + return 8; + } + + public static long LogLeadershipTermIdNullValue() + { + return -9223372036854775808L; + } + + public static long LogLeadershipTermIdMinValue() + { + return -9223372036854775807L; + } + + public static long LogLeadershipTermIdMaxValue() + { + return 9223372036854775807L; + } + + public RequestVoteEncoder LogLeadershipTermId(long value) + { + _buffer.PutLong(_offset + 0, value, ByteOrder.LittleEndian); + return this; + } + + + public static int LogPositionEncodingOffset() + { + return 8; + } + public static int LogPositionEncodingLength() { return 8; @@ -123,14 +155,14 @@ public static long LogPositionMaxValue() public RequestVoteEncoder LogPosition(long value) { - _buffer.PutLong(_offset + 0, value, ByteOrder.LittleEndian); + _buffer.PutLong(_offset + 8, value, ByteOrder.LittleEndian); return this; } public static int CandidateTermIdEncodingOffset() { - return 8; + return 16; } public static int CandidateTermIdEncodingLength() @@ -155,14 +187,14 @@ public static long CandidateTermIdMaxValue() public RequestVoteEncoder CandidateTermId(long value) { - _buffer.PutLong(_offset + 8, value, ByteOrder.LittleEndian); + _buffer.PutLong(_offset + 16, value, ByteOrder.LittleEndian); return this; } public static int CandidateMemberIdEncodingOffset() { - return 16; + return 24; } public static int CandidateMemberIdEncodingLength() @@ -187,7 +219,7 @@ public static int CandidateMemberIdMaxValue() public RequestVoteEncoder CandidateMemberId(int value) { - _buffer.PutInt(_offset + 16, value, ByteOrder.LittleEndian); + _buffer.PutInt(_offset + 24, value, ByteOrder.LittleEndian); return this; } diff --git a/src/Adaptive.Cluster/Codecs/ScheduleTimerDecoder.cs b/src/Adaptive.Cluster/Codecs/ScheduleTimerDecoder.cs index 3bf68f06..80b97973 100644 --- a/src/Adaptive.Cluster/Codecs/ScheduleTimerDecoder.cs +++ b/src/Adaptive.Cluster/Codecs/ScheduleTimerDecoder.cs @@ -10,7 +10,7 @@ namespace Adaptive.Cluster.Codecs { public class ScheduleTimerDecoder { public const ushort BLOCK_LENGTH = 16; - public const ushort TEMPLATE_ID = 30; + public const ushort TEMPLATE_ID = 31; public const ushort SCHEMA_ID = 1; public const ushort SCHEMA_VERSION = 1; diff --git a/src/Adaptive.Cluster/Codecs/ScheduleTimerEncoder.cs b/src/Adaptive.Cluster/Codecs/ScheduleTimerEncoder.cs index f4fa6a94..ddaf85f8 100644 --- a/src/Adaptive.Cluster/Codecs/ScheduleTimerEncoder.cs +++ b/src/Adaptive.Cluster/Codecs/ScheduleTimerEncoder.cs @@ -10,7 +10,7 @@ namespace Adaptive.Cluster.Codecs { public class ScheduleTimerEncoder { public const ushort BLOCK_LENGTH = 16; - public const ushort TEMPLATE_ID = 30; + public const ushort TEMPLATE_ID = 31; public const ushort SCHEMA_ID = 1; public const ushort SCHEMA_VERSION = 1; diff --git a/src/Adaptive.Cluster/Codecs/ClusterActionAckDecoder.cs b/src/Adaptive.Cluster/Codecs/ServiceAckDecoder.cs similarity index 72% rename from src/Adaptive.Cluster/Codecs/ClusterActionAckDecoder.cs rename to src/Adaptive.Cluster/Codecs/ServiceAckDecoder.cs index 2b422283..67bf8b5e 100644 --- a/src/Adaptive.Cluster/Codecs/ClusterActionAckDecoder.cs +++ b/src/Adaptive.Cluster/Codecs/ServiceAckDecoder.cs @@ -7,21 +7,21 @@ namespace Adaptive.Cluster.Codecs { -public class ClusterActionAckDecoder +public class ServiceAckDecoder { - public const ushort BLOCK_LENGTH = 24; - public const ushort TEMPLATE_ID = 32; + public const ushort BLOCK_LENGTH = 28; + public const ushort TEMPLATE_ID = 33; public const ushort SCHEMA_ID = 1; public const ushort SCHEMA_VERSION = 1; - private ClusterActionAckDecoder _parentMessage; + private ServiceAckDecoder _parentMessage; private IDirectBuffer _buffer; protected int _offset; protected int _limit; protected int _actingBlockLength; protected int _actingVersion; - public ClusterActionAckDecoder() + public ServiceAckDecoder() { _parentMessage = this; } @@ -61,7 +61,7 @@ public int Offset() return _offset; } - public ClusterActionAckDecoder Wrap( + public ServiceAckDecoder Wrap( IDirectBuffer buffer, int offset, int actingBlockLength, int actingVersion) { this._buffer = buffer; @@ -142,27 +142,27 @@ public long LogPosition() } - public static int LeadershipTermIdId() + public static int AckIdId() { return 2; } - public static int LeadershipTermIdSinceVersion() + public static int AckIdSinceVersion() { return 0; } - public static int LeadershipTermIdEncodingOffset() + public static int AckIdEncodingOffset() { return 8; } - public static int LeadershipTermIdEncodingLength() + public static int AckIdEncodingLength() { return 8; } - public static string LeadershipTermIdMetaAttribute(MetaAttribute metaAttribute) + public static string AckIdMetaAttribute(MetaAttribute metaAttribute) { switch (metaAttribute) { @@ -175,48 +175,48 @@ public static string LeadershipTermIdMetaAttribute(MetaAttribute metaAttribute) return ""; } - public static long LeadershipTermIdNullValue() + public static long AckIdNullValue() { return -9223372036854775808L; } - public static long LeadershipTermIdMinValue() + public static long AckIdMinValue() { return -9223372036854775807L; } - public static long LeadershipTermIdMaxValue() + public static long AckIdMaxValue() { return 9223372036854775807L; } - public long LeadershipTermId() + public long AckId() { return _buffer.GetLong(_offset + 8, ByteOrder.LittleEndian); } - public static int ServiceIdId() + public static int RelevantIdId() { return 3; } - public static int ServiceIdSinceVersion() + public static int RelevantIdSinceVersion() { return 0; } - public static int ServiceIdEncodingOffset() + public static int RelevantIdEncodingOffset() { return 16; } - public static int ServiceIdEncodingLength() + public static int RelevantIdEncodingLength() { - return 4; + return 8; } - public static string ServiceIdMetaAttribute(MetaAttribute metaAttribute) + public static string RelevantIdMetaAttribute(MetaAttribute metaAttribute) { switch (metaAttribute) { @@ -229,48 +229,48 @@ public static string ServiceIdMetaAttribute(MetaAttribute metaAttribute) return ""; } - public static int ServiceIdNullValue() + public static long RelevantIdNullValue() { - return -2147483648; + return -9223372036854775808L; } - public static int ServiceIdMinValue() + public static long RelevantIdMinValue() { - return -2147483647; + return -9223372036854775807L; } - public static int ServiceIdMaxValue() + public static long RelevantIdMaxValue() { - return 2147483647; + return 9223372036854775807L; } - public int ServiceId() + public long RelevantId() { - return _buffer.GetInt(_offset + 16, ByteOrder.LittleEndian); + return _buffer.GetLong(_offset + 16, ByteOrder.LittleEndian); } - public static int ActionId() + public static int ServiceIdId() { return 4; } - public static int ActionSinceVersion() + public static int ServiceIdSinceVersion() { return 0; } - public static int ActionEncodingOffset() + public static int ServiceIdEncodingOffset() { - return 20; + return 24; } - public static int ActionEncodingLength() + public static int ServiceIdEncodingLength() { return 4; } - public static string ActionMetaAttribute(MetaAttribute metaAttribute) + public static string ServiceIdMetaAttribute(MetaAttribute metaAttribute) { switch (metaAttribute) { @@ -283,9 +283,24 @@ public static string ActionMetaAttribute(MetaAttribute metaAttribute) return ""; } - public ClusterAction Action() + public static int ServiceIdNullValue() + { + return -2147483648; + } + + public static int ServiceIdMinValue() + { + return -2147483647; + } + + public static int ServiceIdMaxValue() + { + return 2147483647; + } + + public int ServiceId() { - return (ClusterAction)_buffer.GetInt(_offset + 20, ByteOrder.LittleEndian); + return _buffer.GetInt(_offset + 24, ByteOrder.LittleEndian); } @@ -299,7 +314,7 @@ public StringBuilder AppendTo(StringBuilder builder) { int originalLimit = Limit(); Limit(_offset + _actingBlockLength); - builder.Append("[ClusterActionAck](sbeTemplateId="); + builder.Append("[ServiceAck](sbeTemplateId="); builder.Append(TEMPLATE_ID); builder.Append("|sbeSchemaId="); builder.Append(SCHEMA_ID); @@ -323,20 +338,20 @@ public StringBuilder AppendTo(StringBuilder builder) builder.Append("LogPosition="); builder.Append(LogPosition()); builder.Append('|'); - //Token{signal=BEGIN_FIELD, name='leadershipTermId', referencedName='null', description='null', id=2, version=0, deprecated=0, encodedLength=0, offset=8, componentTokenCount=3, encoding=Encoding{presence=REQUIRED, primitiveType=null, byteOrder=LITTLE_ENDIAN, minValue=null, maxValue=null, nullValue=null, constValue=null, characterEncoding='null', epoch='unix', timeUnit=nanosecond, semanticType='null'}} + //Token{signal=BEGIN_FIELD, name='ackId', referencedName='null', description='null', id=2, version=0, deprecated=0, encodedLength=0, offset=8, componentTokenCount=3, encoding=Encoding{presence=REQUIRED, primitiveType=null, byteOrder=LITTLE_ENDIAN, minValue=null, maxValue=null, nullValue=null, constValue=null, characterEncoding='null', epoch='unix', timeUnit=nanosecond, semanticType='null'}} //Token{signal=ENCODING, name='int64', referencedName='null', description='null', id=-1, version=0, deprecated=0, encodedLength=8, offset=8, componentTokenCount=1, encoding=Encoding{presence=REQUIRED, primitiveType=INT64, byteOrder=LITTLE_ENDIAN, minValue=null, maxValue=null, nullValue=null, constValue=null, characterEncoding='null', epoch='unix', timeUnit=nanosecond, semanticType='null'}} - builder.Append("LeadershipTermId="); - builder.Append(LeadershipTermId()); + builder.Append("AckId="); + builder.Append(AckId()); builder.Append('|'); - //Token{signal=BEGIN_FIELD, name='serviceId', referencedName='null', description='null', id=3, version=0, deprecated=0, encodedLength=0, offset=16, componentTokenCount=3, encoding=Encoding{presence=REQUIRED, primitiveType=null, byteOrder=LITTLE_ENDIAN, minValue=null, maxValue=null, nullValue=null, constValue=null, characterEncoding='null', epoch='unix', timeUnit=nanosecond, semanticType='null'}} - //Token{signal=ENCODING, name='int32', referencedName='null', description='null', id=-1, version=0, deprecated=0, encodedLength=4, offset=16, componentTokenCount=1, encoding=Encoding{presence=REQUIRED, primitiveType=INT32, byteOrder=LITTLE_ENDIAN, minValue=null, maxValue=null, nullValue=null, constValue=null, characterEncoding='null', epoch='unix', timeUnit=nanosecond, semanticType='null'}} + //Token{signal=BEGIN_FIELD, name='relevantId', referencedName='null', description='null', id=3, version=0, deprecated=0, encodedLength=0, offset=16, componentTokenCount=3, encoding=Encoding{presence=REQUIRED, primitiveType=null, byteOrder=LITTLE_ENDIAN, minValue=null, maxValue=null, nullValue=null, constValue=null, characterEncoding='null', epoch='unix', timeUnit=nanosecond, semanticType='null'}} + //Token{signal=ENCODING, name='int64', referencedName='null', description='null', id=-1, version=0, deprecated=0, encodedLength=8, offset=16, componentTokenCount=1, encoding=Encoding{presence=REQUIRED, primitiveType=INT64, byteOrder=LITTLE_ENDIAN, minValue=null, maxValue=null, nullValue=null, constValue=null, characterEncoding='null', epoch='unix', timeUnit=nanosecond, semanticType='null'}} + builder.Append("RelevantId="); + builder.Append(RelevantId()); + builder.Append('|'); + //Token{signal=BEGIN_FIELD, name='serviceId', referencedName='null', description='null', id=4, version=0, deprecated=0, encodedLength=0, offset=24, componentTokenCount=3, encoding=Encoding{presence=REQUIRED, primitiveType=null, byteOrder=LITTLE_ENDIAN, minValue=null, maxValue=null, nullValue=null, constValue=null, characterEncoding='null', epoch='unix', timeUnit=nanosecond, semanticType='null'}} + //Token{signal=ENCODING, name='int32', referencedName='null', description='null', id=-1, version=0, deprecated=0, encodedLength=4, offset=24, componentTokenCount=1, encoding=Encoding{presence=REQUIRED, primitiveType=INT32, byteOrder=LITTLE_ENDIAN, minValue=null, maxValue=null, nullValue=null, constValue=null, characterEncoding='null', epoch='unix', timeUnit=nanosecond, semanticType='null'}} builder.Append("ServiceId="); builder.Append(ServiceId()); - builder.Append('|'); - //Token{signal=BEGIN_FIELD, name='action', referencedName='null', description='null', id=4, version=0, deprecated=0, encodedLength=0, offset=20, componentTokenCount=12, encoding=Encoding{presence=REQUIRED, primitiveType=null, byteOrder=LITTLE_ENDIAN, minValue=null, maxValue=null, nullValue=null, constValue=null, characterEncoding='null', epoch='unix', timeUnit=nanosecond, semanticType='null'}} - //Token{signal=BEGIN_ENUM, name='ClusterAction', referencedName='null', description='Action to be taken by a cluster nodes', id=-1, version=0, deprecated=0, encodedLength=4, offset=20, componentTokenCount=10, encoding=Encoding{presence=REQUIRED, primitiveType=INT32, byteOrder=LITTLE_ENDIAN, minValue=null, maxValue=null, nullValue=null, constValue=null, characterEncoding='null', epoch='null', timeUnit=null, semanticType='null'}} - builder.Append("Action="); - builder.Append(Action()); Limit(originalLimit); diff --git a/src/Adaptive.Cluster/Codecs/ServiceAckEncoder.cs b/src/Adaptive.Cluster/Codecs/ServiceAckEncoder.cs new file mode 100644 index 00000000..d4a4125e --- /dev/null +++ b/src/Adaptive.Cluster/Codecs/ServiceAckEncoder.cs @@ -0,0 +1,241 @@ +/* Generated SBE (Simple Binary Encoding) message codec */ +using System; +using System.Text; +using System.Collections.Generic; +using Adaptive.Agrona; + + +namespace Adaptive.Cluster.Codecs { + +public class ServiceAckEncoder +{ + public const ushort BLOCK_LENGTH = 28; + public const ushort TEMPLATE_ID = 33; + public const ushort SCHEMA_ID = 1; + public const ushort SCHEMA_VERSION = 1; + + private ServiceAckEncoder _parentMessage; + private IMutableDirectBuffer _buffer; + protected int _offset; + protected int _limit; + + public ServiceAckEncoder() + { + _parentMessage = this; + } + + public ushort SbeBlockLength() + { + return BLOCK_LENGTH; + } + + public ushort SbeTemplateId() + { + return TEMPLATE_ID; + } + + public ushort SbeSchemaId() + { + return SCHEMA_ID; + } + + public ushort SbeSchemaVersion() + { + return SCHEMA_VERSION; + } + + public string SbeSemanticType() + { + return ""; + } + + public IMutableDirectBuffer Buffer() + { + return _buffer; + } + + public int Offset() + { + return _offset; + } + + public ServiceAckEncoder Wrap(IMutableDirectBuffer buffer, int offset) + { + this._buffer = buffer; + this._offset = offset; + Limit(offset + BLOCK_LENGTH); + + return this; + } + + public ServiceAckEncoder WrapAndApplyHeader( + IMutableDirectBuffer buffer, int offset, MessageHeaderEncoder headerEncoder) + { + headerEncoder + .Wrap(buffer, offset) + .BlockLength(BLOCK_LENGTH) + .TemplateId(TEMPLATE_ID) + .SchemaId(SCHEMA_ID) + .Version(SCHEMA_VERSION); + + return Wrap(buffer, offset + MessageHeaderEncoder.ENCODED_LENGTH); + } + + public int EncodedLength() + { + return _limit - _offset; + } + + public int Limit() + { + return _limit; + } + + public void Limit(int limit) + { + this._limit = limit; + } + + public static int LogPositionEncodingOffset() + { + return 0; + } + + public static int LogPositionEncodingLength() + { + return 8; + } + + public static long LogPositionNullValue() + { + return -9223372036854775808L; + } + + public static long LogPositionMinValue() + { + return -9223372036854775807L; + } + + public static long LogPositionMaxValue() + { + return 9223372036854775807L; + } + + public ServiceAckEncoder LogPosition(long value) + { + _buffer.PutLong(_offset + 0, value, ByteOrder.LittleEndian); + return this; + } + + + public static int AckIdEncodingOffset() + { + return 8; + } + + public static int AckIdEncodingLength() + { + return 8; + } + + public static long AckIdNullValue() + { + return -9223372036854775808L; + } + + public static long AckIdMinValue() + { + return -9223372036854775807L; + } + + public static long AckIdMaxValue() + { + return 9223372036854775807L; + } + + public ServiceAckEncoder AckId(long value) + { + _buffer.PutLong(_offset + 8, value, ByteOrder.LittleEndian); + return this; + } + + + public static int RelevantIdEncodingOffset() + { + return 16; + } + + public static int RelevantIdEncodingLength() + { + return 8; + } + + public static long RelevantIdNullValue() + { + return -9223372036854775808L; + } + + public static long RelevantIdMinValue() + { + return -9223372036854775807L; + } + + public static long RelevantIdMaxValue() + { + return 9223372036854775807L; + } + + public ServiceAckEncoder RelevantId(long value) + { + _buffer.PutLong(_offset + 16, value, ByteOrder.LittleEndian); + return this; + } + + + public static int ServiceIdEncodingOffset() + { + return 24; + } + + public static int ServiceIdEncodingLength() + { + return 4; + } + + public static int ServiceIdNullValue() + { + return -2147483648; + } + + public static int ServiceIdMinValue() + { + return -2147483647; + } + + public static int ServiceIdMaxValue() + { + return 2147483647; + } + + public ServiceAckEncoder ServiceId(int value) + { + _buffer.PutInt(_offset + 24, value, ByteOrder.LittleEndian); + return this; + } + + + + public override string ToString() + { + return AppendTo(new StringBuilder(100)).ToString(); + } + + public StringBuilder AppendTo(StringBuilder builder) + { + ServiceAckDecoder writer = new ServiceAckDecoder(); + writer.Wrap(_buffer, _offset, BLOCK_LENGTH, SCHEMA_VERSION); + + return writer.AppendTo(builder); + } +} +} diff --git a/src/Adaptive.Cluster/Codecs/SessionConnectRequestDecoder.cs b/src/Adaptive.Cluster/Codecs/SessionConnectRequestDecoder.cs index d21ff11c..f93b8994 100644 --- a/src/Adaptive.Cluster/Codecs/SessionConnectRequestDecoder.cs +++ b/src/Adaptive.Cluster/Codecs/SessionConnectRequestDecoder.cs @@ -10,7 +10,7 @@ namespace Adaptive.Cluster.Codecs { public class SessionConnectRequestDecoder { public const ushort BLOCK_LENGTH = 20; - public const ushort TEMPLATE_ID = 2; + public const ushort TEMPLATE_ID = 3; public const ushort SCHEMA_ID = 1; public const ushort SCHEMA_VERSION = 1; diff --git a/src/Adaptive.Cluster/Codecs/SessionConnectRequestEncoder.cs b/src/Adaptive.Cluster/Codecs/SessionConnectRequestEncoder.cs index 025bc81e..ac7aecb5 100644 --- a/src/Adaptive.Cluster/Codecs/SessionConnectRequestEncoder.cs +++ b/src/Adaptive.Cluster/Codecs/SessionConnectRequestEncoder.cs @@ -10,7 +10,7 @@ namespace Adaptive.Cluster.Codecs { public class SessionConnectRequestEncoder { public const ushort BLOCK_LENGTH = 20; - public const ushort TEMPLATE_ID = 2; + public const ushort TEMPLATE_ID = 3; public const ushort SCHEMA_ID = 1; public const ushort SCHEMA_VERSION = 1; diff --git a/src/Adaptive.Cluster/Codecs/SessionEventDecoder.cs b/src/Adaptive.Cluster/Codecs/SessionEventDecoder.cs index 92b0a112..f05a321e 100644 --- a/src/Adaptive.Cluster/Codecs/SessionEventDecoder.cs +++ b/src/Adaptive.Cluster/Codecs/SessionEventDecoder.cs @@ -9,8 +9,8 @@ namespace Adaptive.Cluster.Codecs { public class SessionEventDecoder { - public const ushort BLOCK_LENGTH = 20; - public const ushort TEMPLATE_ID = 1; + public const ushort BLOCK_LENGTH = 24; + public const ushort TEMPLATE_ID = 2; public const ushort SCHEMA_ID = 1; public const ushort SCHEMA_VERSION = 1; @@ -196,11 +196,65 @@ public long CorrelationId() } - public static int CodeId() + public static int LeaderMemberIdId() { return 3; } + public static int LeaderMemberIdSinceVersion() + { + return 0; + } + + public static int LeaderMemberIdEncodingOffset() + { + return 16; + } + + public static int LeaderMemberIdEncodingLength() + { + return 4; + } + + public static string LeaderMemberIdMetaAttribute(MetaAttribute metaAttribute) + { + switch (metaAttribute) + { + case MetaAttribute.EPOCH: return "unix"; + case MetaAttribute.TIME_UNIT: return "nanosecond"; + case MetaAttribute.SEMANTIC_TYPE: return ""; + case MetaAttribute.PRESENCE: return "required"; + } + + return ""; + } + + public static int LeaderMemberIdNullValue() + { + return -2147483648; + } + + public static int LeaderMemberIdMinValue() + { + return -2147483647; + } + + public static int LeaderMemberIdMaxValue() + { + return 2147483647; + } + + public int LeaderMemberId() + { + return _buffer.GetInt(_offset + 16, ByteOrder.LittleEndian); + } + + + public static int CodeId() + { + return 4; + } + public static int CodeSinceVersion() { return 0; @@ -208,7 +262,7 @@ public static int CodeSinceVersion() public static int CodeEncodingOffset() { - return 16; + return 20; } public static int CodeEncodingLength() @@ -231,13 +285,13 @@ public static string CodeMetaAttribute(MetaAttribute metaAttribute) public EventCode Code() { - return (EventCode)_buffer.GetInt(_offset + 16, ByteOrder.LittleEndian); + return (EventCode)_buffer.GetInt(_offset + 20, ByteOrder.LittleEndian); } public static int DetailId() { - return 4; + return 5; } public static int DetailSinceVersion() @@ -349,12 +403,17 @@ public StringBuilder AppendTo(StringBuilder builder) builder.Append("CorrelationId="); builder.Append(CorrelationId()); builder.Append('|'); - //Token{signal=BEGIN_FIELD, name='code', referencedName='null', description='code type of the response', id=3, version=0, deprecated=0, encodedLength=0, offset=16, componentTokenCount=8, encoding=Encoding{presence=REQUIRED, primitiveType=null, byteOrder=LITTLE_ENDIAN, minValue=null, maxValue=null, nullValue=null, constValue=null, characterEncoding='null', epoch='unix', timeUnit=nanosecond, semanticType='null'}} - //Token{signal=BEGIN_ENUM, name='EventCode', referencedName='null', description='Type of event for a response', id=-1, version=0, deprecated=0, encodedLength=4, offset=16, componentTokenCount=6, encoding=Encoding{presence=REQUIRED, primitiveType=INT32, byteOrder=LITTLE_ENDIAN, minValue=null, maxValue=null, nullValue=null, constValue=null, characterEncoding='null', epoch='null', timeUnit=null, semanticType='null'}} + //Token{signal=BEGIN_FIELD, name='leaderMemberId', referencedName='null', description='current leader of the cluster', id=3, version=0, deprecated=0, encodedLength=0, offset=16, componentTokenCount=3, encoding=Encoding{presence=REQUIRED, primitiveType=null, byteOrder=LITTLE_ENDIAN, minValue=null, maxValue=null, nullValue=null, constValue=null, characterEncoding='null', epoch='unix', timeUnit=nanosecond, semanticType='null'}} + //Token{signal=ENCODING, name='int32', referencedName='null', description='null', id=-1, version=0, deprecated=0, encodedLength=4, offset=16, componentTokenCount=1, encoding=Encoding{presence=REQUIRED, primitiveType=INT32, byteOrder=LITTLE_ENDIAN, minValue=null, maxValue=null, nullValue=null, constValue=null, characterEncoding='null', epoch='unix', timeUnit=nanosecond, semanticType='null'}} + builder.Append("LeaderMemberId="); + builder.Append(LeaderMemberId()); + builder.Append('|'); + //Token{signal=BEGIN_FIELD, name='code', referencedName='null', description='code type of the response', id=4, version=0, deprecated=0, encodedLength=0, offset=20, componentTokenCount=8, encoding=Encoding{presence=REQUIRED, primitiveType=null, byteOrder=LITTLE_ENDIAN, minValue=null, maxValue=null, nullValue=null, constValue=null, characterEncoding='null', epoch='unix', timeUnit=nanosecond, semanticType='null'}} + //Token{signal=BEGIN_ENUM, name='EventCode', referencedName='null', description='Type of event for a response', id=-1, version=0, deprecated=0, encodedLength=4, offset=20, componentTokenCount=6, encoding=Encoding{presence=REQUIRED, primitiveType=INT32, byteOrder=LITTLE_ENDIAN, minValue=null, maxValue=null, nullValue=null, constValue=null, characterEncoding='null', epoch='null', timeUnit=null, semanticType='null'}} builder.Append("Code="); builder.Append(Code()); builder.Append('|'); - //Token{signal=BEGIN_VAR_DATA, name='detail', referencedName='null', description='Further detail such as an error message as necessary', id=4, version=0, deprecated=0, encodedLength=0, offset=20, componentTokenCount=6, encoding=Encoding{presence=REQUIRED, primitiveType=null, byteOrder=LITTLE_ENDIAN, minValue=null, maxValue=null, nullValue=null, constValue=null, characterEncoding='null', epoch='unix', timeUnit=nanosecond, semanticType='null'}} + //Token{signal=BEGIN_VAR_DATA, name='detail', referencedName='null', description='Further detail such as an error message or list of cluster member endpoints', id=5, version=0, deprecated=0, encodedLength=0, offset=24, componentTokenCount=6, encoding=Encoding{presence=REQUIRED, primitiveType=null, byteOrder=LITTLE_ENDIAN, minValue=null, maxValue=null, nullValue=null, constValue=null, characterEncoding='null', epoch='unix', timeUnit=nanosecond, semanticType='null'}} builder.Append("Detail="); builder.Append(Detail()); diff --git a/src/Adaptive.Cluster/Codecs/SessionEventEncoder.cs b/src/Adaptive.Cluster/Codecs/SessionEventEncoder.cs index 202bc1d9..9fd766d6 100644 --- a/src/Adaptive.Cluster/Codecs/SessionEventEncoder.cs +++ b/src/Adaptive.Cluster/Codecs/SessionEventEncoder.cs @@ -9,8 +9,8 @@ namespace Adaptive.Cluster.Codecs { public class SessionEventEncoder { - public const ushort BLOCK_LENGTH = 20; - public const ushort TEMPLATE_ID = 1; + public const ushort BLOCK_LENGTH = 24; + public const ushort TEMPLATE_ID = 2; public const ushort SCHEMA_ID = 1; public const ushort SCHEMA_VERSION = 1; @@ -160,11 +160,43 @@ public SessionEventEncoder CorrelationId(long value) } - public static int CodeEncodingOffset() + public static int LeaderMemberIdEncodingOffset() { return 16; } + public static int LeaderMemberIdEncodingLength() + { + return 4; + } + + public static int LeaderMemberIdNullValue() + { + return -2147483648; + } + + public static int LeaderMemberIdMinValue() + { + return -2147483647; + } + + public static int LeaderMemberIdMaxValue() + { + return 2147483647; + } + + public SessionEventEncoder LeaderMemberId(int value) + { + _buffer.PutInt(_offset + 16, value, ByteOrder.LittleEndian); + return this; + } + + + public static int CodeEncodingOffset() + { + return 20; + } + public static int CodeEncodingLength() { return 4; @@ -172,13 +204,13 @@ public static int CodeEncodingLength() public SessionEventEncoder Code(EventCode value) { - _buffer.PutInt(_offset + 16, (int)value, ByteOrder.LittleEndian); + _buffer.PutInt(_offset + 20, (int)value, ByteOrder.LittleEndian); return this; } public static int DetailId() { - return 4; + return 5; } public static string DetailCharacterEncoding() diff --git a/src/Adaptive.Cluster/Codecs/SessionHeaderDecoder.cs b/src/Adaptive.Cluster/Codecs/SessionHeaderDecoder.cs index fb7ce7de..dde1226e 100644 --- a/src/Adaptive.Cluster/Codecs/SessionHeaderDecoder.cs +++ b/src/Adaptive.Cluster/Codecs/SessionHeaderDecoder.cs @@ -10,7 +10,7 @@ namespace Adaptive.Cluster.Codecs { public class SessionHeaderDecoder { public const ushort BLOCK_LENGTH = 24; - public const ushort TEMPLATE_ID = 3; + public const ushort TEMPLATE_ID = 1; public const ushort SCHEMA_ID = 1; public const ushort SCHEMA_VERSION = 1; diff --git a/src/Adaptive.Cluster/Codecs/SessionHeaderEncoder.cs b/src/Adaptive.Cluster/Codecs/SessionHeaderEncoder.cs index 5e2cf770..cdce0473 100644 --- a/src/Adaptive.Cluster/Codecs/SessionHeaderEncoder.cs +++ b/src/Adaptive.Cluster/Codecs/SessionHeaderEncoder.cs @@ -10,7 +10,7 @@ namespace Adaptive.Cluster.Codecs { public class SessionHeaderEncoder { public const ushort BLOCK_LENGTH = 24; - public const ushort TEMPLATE_ID = 3; + public const ushort TEMPLATE_ID = 1; public const ushort SCHEMA_ID = 1; public const ushort SCHEMA_VERSION = 1; diff --git a/src/Adaptive.Cluster/Codecs/VoteDecoder.cs b/src/Adaptive.Cluster/Codecs/VoteDecoder.cs index 372dbe9a..54d78555 100644 --- a/src/Adaptive.Cluster/Codecs/VoteDecoder.cs +++ b/src/Adaptive.Cluster/Codecs/VoteDecoder.cs @@ -9,7 +9,7 @@ namespace Adaptive.Cluster.Codecs { public class VoteDecoder { - public const ushort BLOCK_LENGTH = 20; + public const ushort BLOCK_LENGTH = 36; public const ushort TEMPLATE_ID = 52; public const ushort SCHEMA_ID = 1; public const ushort SCHEMA_VERSION = 1; @@ -142,11 +142,119 @@ public long CandidateTermId() } - public static int CandidateMemberIdId() + public static int LogLeaderhipTermIdId() { return 2; } + public static int LogLeaderhipTermIdSinceVersion() + { + return 0; + } + + public static int LogLeaderhipTermIdEncodingOffset() + { + return 8; + } + + public static int LogLeaderhipTermIdEncodingLength() + { + return 8; + } + + public static string LogLeaderhipTermIdMetaAttribute(MetaAttribute metaAttribute) + { + switch (metaAttribute) + { + case MetaAttribute.EPOCH: return "unix"; + case MetaAttribute.TIME_UNIT: return "nanosecond"; + case MetaAttribute.SEMANTIC_TYPE: return ""; + case MetaAttribute.PRESENCE: return "required"; + } + + return ""; + } + + public static long LogLeaderhipTermIdNullValue() + { + return -9223372036854775808L; + } + + public static long LogLeaderhipTermIdMinValue() + { + return -9223372036854775807L; + } + + public static long LogLeaderhipTermIdMaxValue() + { + return 9223372036854775807L; + } + + public long LogLeaderhipTermId() + { + return _buffer.GetLong(_offset + 8, ByteOrder.LittleEndian); + } + + + public static int LogPositionId() + { + return 3; + } + + public static int LogPositionSinceVersion() + { + return 0; + } + + public static int LogPositionEncodingOffset() + { + return 16; + } + + public static int LogPositionEncodingLength() + { + return 8; + } + + public static string LogPositionMetaAttribute(MetaAttribute metaAttribute) + { + switch (metaAttribute) + { + case MetaAttribute.EPOCH: return "unix"; + case MetaAttribute.TIME_UNIT: return "nanosecond"; + case MetaAttribute.SEMANTIC_TYPE: return ""; + case MetaAttribute.PRESENCE: return "required"; + } + + return ""; + } + + public static long LogPositionNullValue() + { + return -9223372036854775808L; + } + + public static long LogPositionMinValue() + { + return -9223372036854775807L; + } + + public static long LogPositionMaxValue() + { + return 9223372036854775807L; + } + + public long LogPosition() + { + return _buffer.GetLong(_offset + 16, ByteOrder.LittleEndian); + } + + + public static int CandidateMemberIdId() + { + return 4; + } + public static int CandidateMemberIdSinceVersion() { return 0; @@ -154,7 +262,7 @@ public static int CandidateMemberIdSinceVersion() public static int CandidateMemberIdEncodingOffset() { - return 8; + return 24; } public static int CandidateMemberIdEncodingLength() @@ -192,13 +300,13 @@ public static int CandidateMemberIdMaxValue() public int CandidateMemberId() { - return _buffer.GetInt(_offset + 8, ByteOrder.LittleEndian); + return _buffer.GetInt(_offset + 24, ByteOrder.LittleEndian); } public static int FollowerMemberIdId() { - return 3; + return 5; } public static int FollowerMemberIdSinceVersion() @@ -208,7 +316,7 @@ public static int FollowerMemberIdSinceVersion() public static int FollowerMemberIdEncodingOffset() { - return 12; + return 28; } public static int FollowerMemberIdEncodingLength() @@ -246,13 +354,13 @@ public static int FollowerMemberIdMaxValue() public int FollowerMemberId() { - return _buffer.GetInt(_offset + 12, ByteOrder.LittleEndian); + return _buffer.GetInt(_offset + 28, ByteOrder.LittleEndian); } public static int VoteId() { - return 4; + return 6; } public static int VoteSinceVersion() @@ -262,7 +370,7 @@ public static int VoteSinceVersion() public static int VoteEncodingOffset() { - return 16; + return 32; } public static int VoteEncodingLength() @@ -285,7 +393,7 @@ public static string VoteMetaAttribute(MetaAttribute metaAttribute) public BooleanType Vote() { - return (BooleanType)_buffer.GetInt(_offset + 16, ByteOrder.LittleEndian); + return (BooleanType)_buffer.GetInt(_offset + 32, ByteOrder.LittleEndian); } @@ -323,18 +431,28 @@ public StringBuilder AppendTo(StringBuilder builder) builder.Append("CandidateTermId="); builder.Append(CandidateTermId()); builder.Append('|'); - //Token{signal=BEGIN_FIELD, name='candidateMemberId', referencedName='null', description='null', id=2, version=0, deprecated=0, encodedLength=0, offset=8, componentTokenCount=3, encoding=Encoding{presence=REQUIRED, primitiveType=null, byteOrder=LITTLE_ENDIAN, minValue=null, maxValue=null, nullValue=null, constValue=null, characterEncoding='null', epoch='unix', timeUnit=nanosecond, semanticType='null'}} - //Token{signal=ENCODING, name='int32', referencedName='null', description='null', id=-1, version=0, deprecated=0, encodedLength=4, offset=8, componentTokenCount=1, encoding=Encoding{presence=REQUIRED, primitiveType=INT32, byteOrder=LITTLE_ENDIAN, minValue=null, maxValue=null, nullValue=null, constValue=null, characterEncoding='null', epoch='unix', timeUnit=nanosecond, semanticType='null'}} + //Token{signal=BEGIN_FIELD, name='logLeaderhipTermId', referencedName='null', description='null', id=2, version=0, deprecated=0, encodedLength=0, offset=8, componentTokenCount=3, encoding=Encoding{presence=REQUIRED, primitiveType=null, byteOrder=LITTLE_ENDIAN, minValue=null, maxValue=null, nullValue=null, constValue=null, characterEncoding='null', epoch='unix', timeUnit=nanosecond, semanticType='null'}} + //Token{signal=ENCODING, name='int64', referencedName='null', description='null', id=-1, version=0, deprecated=0, encodedLength=8, offset=8, componentTokenCount=1, encoding=Encoding{presence=REQUIRED, primitiveType=INT64, byteOrder=LITTLE_ENDIAN, minValue=null, maxValue=null, nullValue=null, constValue=null, characterEncoding='null', epoch='unix', timeUnit=nanosecond, semanticType='null'}} + builder.Append("LogLeaderhipTermId="); + builder.Append(LogLeaderhipTermId()); + builder.Append('|'); + //Token{signal=BEGIN_FIELD, name='logPosition', referencedName='null', description='null', id=3, version=0, deprecated=0, encodedLength=0, offset=16, componentTokenCount=3, encoding=Encoding{presence=REQUIRED, primitiveType=null, byteOrder=LITTLE_ENDIAN, minValue=null, maxValue=null, nullValue=null, constValue=null, characterEncoding='null', epoch='unix', timeUnit=nanosecond, semanticType='null'}} + //Token{signal=ENCODING, name='int64', referencedName='null', description='null', id=-1, version=0, deprecated=0, encodedLength=8, offset=16, componentTokenCount=1, encoding=Encoding{presence=REQUIRED, primitiveType=INT64, byteOrder=LITTLE_ENDIAN, minValue=null, maxValue=null, nullValue=null, constValue=null, characterEncoding='null', epoch='unix', timeUnit=nanosecond, semanticType='null'}} + builder.Append("LogPosition="); + builder.Append(LogPosition()); + builder.Append('|'); + //Token{signal=BEGIN_FIELD, name='candidateMemberId', referencedName='null', description='null', id=4, version=0, deprecated=0, encodedLength=0, offset=24, componentTokenCount=3, encoding=Encoding{presence=REQUIRED, primitiveType=null, byteOrder=LITTLE_ENDIAN, minValue=null, maxValue=null, nullValue=null, constValue=null, characterEncoding='null', epoch='unix', timeUnit=nanosecond, semanticType='null'}} + //Token{signal=ENCODING, name='int32', referencedName='null', description='null', id=-1, version=0, deprecated=0, encodedLength=4, offset=24, componentTokenCount=1, encoding=Encoding{presence=REQUIRED, primitiveType=INT32, byteOrder=LITTLE_ENDIAN, minValue=null, maxValue=null, nullValue=null, constValue=null, characterEncoding='null', epoch='unix', timeUnit=nanosecond, semanticType='null'}} builder.Append("CandidateMemberId="); builder.Append(CandidateMemberId()); builder.Append('|'); - //Token{signal=BEGIN_FIELD, name='followerMemberId', referencedName='null', description='null', id=3, version=0, deprecated=0, encodedLength=0, offset=12, componentTokenCount=3, encoding=Encoding{presence=REQUIRED, primitiveType=null, byteOrder=LITTLE_ENDIAN, minValue=null, maxValue=null, nullValue=null, constValue=null, characterEncoding='null', epoch='unix', timeUnit=nanosecond, semanticType='null'}} - //Token{signal=ENCODING, name='int32', referencedName='null', description='null', id=-1, version=0, deprecated=0, encodedLength=4, offset=12, componentTokenCount=1, encoding=Encoding{presence=REQUIRED, primitiveType=INT32, byteOrder=LITTLE_ENDIAN, minValue=null, maxValue=null, nullValue=null, constValue=null, characterEncoding='null', epoch='unix', timeUnit=nanosecond, semanticType='null'}} + //Token{signal=BEGIN_FIELD, name='followerMemberId', referencedName='null', description='null', id=5, version=0, deprecated=0, encodedLength=0, offset=28, componentTokenCount=3, encoding=Encoding{presence=REQUIRED, primitiveType=null, byteOrder=LITTLE_ENDIAN, minValue=null, maxValue=null, nullValue=null, constValue=null, characterEncoding='null', epoch='unix', timeUnit=nanosecond, semanticType='null'}} + //Token{signal=ENCODING, name='int32', referencedName='null', description='null', id=-1, version=0, deprecated=0, encodedLength=4, offset=28, componentTokenCount=1, encoding=Encoding{presence=REQUIRED, primitiveType=INT32, byteOrder=LITTLE_ENDIAN, minValue=null, maxValue=null, nullValue=null, constValue=null, characterEncoding='null', epoch='unix', timeUnit=nanosecond, semanticType='null'}} builder.Append("FollowerMemberId="); builder.Append(FollowerMemberId()); builder.Append('|'); - //Token{signal=BEGIN_FIELD, name='vote', referencedName='null', description='null', id=4, version=0, deprecated=0, encodedLength=0, offset=16, componentTokenCount=6, encoding=Encoding{presence=REQUIRED, primitiveType=null, byteOrder=LITTLE_ENDIAN, minValue=null, maxValue=null, nullValue=null, constValue=null, characterEncoding='null', epoch='unix', timeUnit=nanosecond, semanticType='null'}} - //Token{signal=BEGIN_ENUM, name='BooleanType', referencedName='null', description='null', id=-1, version=0, deprecated=0, encodedLength=4, offset=16, componentTokenCount=4, encoding=Encoding{presence=REQUIRED, primitiveType=INT32, byteOrder=LITTLE_ENDIAN, minValue=null, maxValue=null, nullValue=null, constValue=null, characterEncoding='null', epoch='null', timeUnit=null, semanticType='null'}} + //Token{signal=BEGIN_FIELD, name='vote', referencedName='null', description='null', id=6, version=0, deprecated=0, encodedLength=0, offset=32, componentTokenCount=6, encoding=Encoding{presence=REQUIRED, primitiveType=null, byteOrder=LITTLE_ENDIAN, minValue=null, maxValue=null, nullValue=null, constValue=null, characterEncoding='null', epoch='unix', timeUnit=nanosecond, semanticType='null'}} + //Token{signal=BEGIN_ENUM, name='BooleanType', referencedName='null', description='null', id=-1, version=0, deprecated=0, encodedLength=4, offset=32, componentTokenCount=4, encoding=Encoding{presence=REQUIRED, primitiveType=INT32, byteOrder=LITTLE_ENDIAN, minValue=null, maxValue=null, nullValue=null, constValue=null, characterEncoding='null', epoch='null', timeUnit=null, semanticType='null'}} builder.Append("Vote="); builder.Append(Vote()); diff --git a/src/Adaptive.Cluster/Codecs/VoteEncoder.cs b/src/Adaptive.Cluster/Codecs/VoteEncoder.cs index c0429138..06f82ce1 100644 --- a/src/Adaptive.Cluster/Codecs/VoteEncoder.cs +++ b/src/Adaptive.Cluster/Codecs/VoteEncoder.cs @@ -9,7 +9,7 @@ namespace Adaptive.Cluster.Codecs { public class VoteEncoder { - public const ushort BLOCK_LENGTH = 20; + public const ushort BLOCK_LENGTH = 36; public const ushort TEMPLATE_ID = 52; public const ushort SCHEMA_ID = 1; public const ushort SCHEMA_VERSION = 1; @@ -128,11 +128,75 @@ public VoteEncoder CandidateTermId(long value) } - public static int CandidateMemberIdEncodingOffset() + public static int LogLeaderhipTermIdEncodingOffset() + { + return 8; + } + + public static int LogLeaderhipTermIdEncodingLength() + { + return 8; + } + + public static long LogLeaderhipTermIdNullValue() + { + return -9223372036854775808L; + } + + public static long LogLeaderhipTermIdMinValue() + { + return -9223372036854775807L; + } + + public static long LogLeaderhipTermIdMaxValue() + { + return 9223372036854775807L; + } + + public VoteEncoder LogLeaderhipTermId(long value) + { + _buffer.PutLong(_offset + 8, value, ByteOrder.LittleEndian); + return this; + } + + + public static int LogPositionEncodingOffset() + { + return 16; + } + + public static int LogPositionEncodingLength() { return 8; } + public static long LogPositionNullValue() + { + return -9223372036854775808L; + } + + public static long LogPositionMinValue() + { + return -9223372036854775807L; + } + + public static long LogPositionMaxValue() + { + return 9223372036854775807L; + } + + public VoteEncoder LogPosition(long value) + { + _buffer.PutLong(_offset + 16, value, ByteOrder.LittleEndian); + return this; + } + + + public static int CandidateMemberIdEncodingOffset() + { + return 24; + } + public static int CandidateMemberIdEncodingLength() { return 4; @@ -155,14 +219,14 @@ public static int CandidateMemberIdMaxValue() public VoteEncoder CandidateMemberId(int value) { - _buffer.PutInt(_offset + 8, value, ByteOrder.LittleEndian); + _buffer.PutInt(_offset + 24, value, ByteOrder.LittleEndian); return this; } public static int FollowerMemberIdEncodingOffset() { - return 12; + return 28; } public static int FollowerMemberIdEncodingLength() @@ -187,14 +251,14 @@ public static int FollowerMemberIdMaxValue() public VoteEncoder FollowerMemberId(int value) { - _buffer.PutInt(_offset + 12, value, ByteOrder.LittleEndian); + _buffer.PutInt(_offset + 28, value, ByteOrder.LittleEndian); return this; } public static int VoteEncodingOffset() { - return 16; + return 32; } public static int VoteEncodingLength() @@ -204,7 +268,7 @@ public static int VoteEncodingLength() public VoteEncoder Vote(BooleanType value) { - _buffer.PutInt(_offset + 16, (int)value, ByteOrder.LittleEndian); + _buffer.PutInt(_offset + 32, (int)value, ByteOrder.LittleEndian); return this; } diff --git a/src/Adaptive.Cluster/Service/NewActiveLogEvent.cs b/src/Adaptive.Cluster/Service/ActiveLogEvent.cs similarity index 80% rename from src/Adaptive.Cluster/Service/NewActiveLogEvent.cs rename to src/Adaptive.Cluster/Service/ActiveLogEvent.cs index faeeac79..b2d1c032 100644 --- a/src/Adaptive.Cluster/Service/NewActiveLogEvent.cs +++ b/src/Adaptive.Cluster/Service/ActiveLogEvent.cs @@ -1,27 +1,27 @@ namespace Adaptive.Cluster.Service { - internal class NewActiveLogEvent + /// + /// Event to signal a change of active log to follow. + /// + internal class ActiveLogEvent { public long leadershipTermId { get; } public int commitPositionId { get; } public int sessionId { get; } public int streamId { get; } - public bool ackBeforeImage { get; } public string channel { get; } - internal NewActiveLogEvent( + internal ActiveLogEvent( long leadershipTermId, int commitPositionId, int sessionId, int streamId, - bool ackBeforeImage, string channel) { this.leadershipTermId = leadershipTermId; this.commitPositionId = commitPositionId; this.sessionId = sessionId; this.streamId = streamId; - this.ackBeforeImage = ackBeforeImage; this.channel = channel; } @@ -32,7 +32,6 @@ public override string ToString() + ", commitPositionId=" + commitPositionId + ", sessionId=" + sessionId + ", streamId=" + streamId - + ", ackBeforeImage=" + ackBeforeImage + ", channel='" + channel + "'" + '}'; } diff --git a/src/Adaptive.Cluster/Service/BoundedLogAdapter.cs b/src/Adaptive.Cluster/Service/BoundedLogAdapter.cs index 0ef0846e..b02a5abb 100644 --- a/src/Adaptive.Cluster/Service/BoundedLogAdapter.cs +++ b/src/Adaptive.Cluster/Service/BoundedLogAdapter.cs @@ -3,6 +3,7 @@ using Adaptive.Aeron.LogBuffer; using Adaptive.Aeron.Status; using Adaptive.Agrona; +using Adaptive.Agrona.Concurrent.Status; using Adaptive.Cluster.Codecs; namespace Adaptive.Cluster.Service @@ -22,6 +23,7 @@ internal sealed class BoundedLogAdapter : IControlledFragmentHandler, IDisposabl private readonly SessionHeaderDecoder sessionHeaderDecoder = new SessionHeaderDecoder(); private readonly TimerEventDecoder timerEventDecoder = new TimerEventDecoder(); private readonly ClusterActionRequestDecoder actionRequestDecoder = new ClusterActionRequestDecoder(); + private readonly NewLeadershipTermEventDecoder newLeadershipTermEventDecoder = new NewLeadershipTermEventDecoder(); private readonly Image image; private readonly ReadableCounter upperBound; @@ -39,17 +41,22 @@ public void Dispose() { image.Subscription?.Dispose(); } - - public Image Image() + + public bool IsImageClosed() + { + return image.Closed; + } + + public long Position() { - return image; + return image.Position(); } - public bool IsCaughtUp() + public bool IsConsumed(CountersReader counters) { - return image.Position() >= upperBound.Get(); + return image.Position() >= CommitPos.GetMaxLogPosition(counters, upperBound.CounterId()); } - + public int Poll() { return image.BoundedControlledPoll(fragmentAssembler, upperBound.Get(), FRAGMENT_LIMIT); @@ -58,53 +65,102 @@ public int Poll() public ControlledFragmentHandlerAction OnFragment(IDirectBuffer buffer, int offset, int length, Header header) { messageHeaderDecoder.Wrap(buffer, offset); + int templateId = messageHeaderDecoder.TemplateId(); - switch (messageHeaderDecoder.TemplateId()) + if (templateId == SessionHeaderDecoder.TEMPLATE_ID) { - case SessionHeaderDecoder.TEMPLATE_ID: - { - sessionHeaderDecoder.Wrap(buffer, offset + MessageHeaderDecoder.ENCODED_LENGTH, messageHeaderDecoder.BlockLength(), messageHeaderDecoder.Version()); - - agent.OnSessionMessage(sessionHeaderDecoder.ClusterSessionId(), sessionHeaderDecoder.CorrelationId(), sessionHeaderDecoder.Timestamp(), buffer, offset + ClientSession.SESSION_HEADER_LENGTH, length - ClientSession.SESSION_HEADER_LENGTH, header); + sessionHeaderDecoder.Wrap( + buffer, + offset + MessageHeaderDecoder.ENCODED_LENGTH, + messageHeaderDecoder.BlockLength(), + messageHeaderDecoder.Version()); + + agent.OnSessionMessage( + sessionHeaderDecoder.ClusterSessionId(), + sessionHeaderDecoder.CorrelationId(), + sessionHeaderDecoder.Timestamp(), + buffer, + offset + ClientSession.SESSION_HEADER_LENGTH, + length - ClientSession.SESSION_HEADER_LENGTH, + header); + + return ControlledFragmentHandlerAction.CONTINUE; + } - break; - } + switch (templateId) + { case TimerEventDecoder.TEMPLATE_ID: - { - timerEventDecoder.Wrap(buffer, offset + MessageHeaderDecoder.ENCODED_LENGTH, messageHeaderDecoder.BlockLength(), messageHeaderDecoder.Version()); + timerEventDecoder.Wrap( + buffer, + offset + MessageHeaderDecoder.ENCODED_LENGTH, + messageHeaderDecoder.BlockLength(), + messageHeaderDecoder.Version()); agent.OnTimerEvent(timerEventDecoder.CorrelationId(), timerEventDecoder.Timestamp()); break; - } case SessionOpenEventDecoder.TEMPLATE_ID: - { - openEventDecoder.Wrap(buffer, offset + MessageHeaderDecoder.ENCODED_LENGTH, messageHeaderDecoder.BlockLength(), messageHeaderDecoder.Version()); + openEventDecoder.Wrap( + buffer, + offset + MessageHeaderDecoder.ENCODED_LENGTH, + messageHeaderDecoder.BlockLength(), + messageHeaderDecoder.Version()); string responseChannel = openEventDecoder.ResponseChannel(); byte[] encodedPrincipal = new byte[openEventDecoder.EncodedPrincipalLength()]; openEventDecoder.GetEncodedPrincipal(encodedPrincipal, 0, encodedPrincipal.Length); - agent.OnSessionOpen(openEventDecoder.ClusterSessionId(), openEventDecoder.Timestamp(), openEventDecoder.ResponseStreamId(), responseChannel, encodedPrincipal); + agent.OnSessionOpen( + openEventDecoder.ClusterSessionId(), + openEventDecoder.CorrelationId(), + openEventDecoder.Timestamp(), + openEventDecoder.ResponseStreamId(), + responseChannel, + encodedPrincipal); break; - } case SessionCloseEventDecoder.TEMPLATE_ID: - { - closeEventDecoder.Wrap(buffer, offset + MessageHeaderDecoder.ENCODED_LENGTH, messageHeaderDecoder.BlockLength(), messageHeaderDecoder.Version()); - - agent.OnSessionClose(closeEventDecoder.ClusterSessionId(), closeEventDecoder.Timestamp(), closeEventDecoder.CloseReason()); + closeEventDecoder.Wrap( + buffer, + offset + MessageHeaderDecoder.ENCODED_LENGTH, + messageHeaderDecoder.BlockLength(), + messageHeaderDecoder.Version()); + + agent.OnSessionClose( + closeEventDecoder.ClusterSessionId(), + closeEventDecoder.Timestamp(), + closeEventDecoder.CloseReason()); break; - } case ClusterActionRequestDecoder.TEMPLATE_ID: - { - actionRequestDecoder.Wrap(buffer, offset + MessageHeaderDecoder.ENCODED_LENGTH, messageHeaderDecoder.BlockLength(), messageHeaderDecoder.Version()); - - agent.OnServiceAction(header.Position(), actionRequestDecoder.Timestamp(), actionRequestDecoder.Action()); + actionRequestDecoder.Wrap( + buffer, + offset + MessageHeaderDecoder.ENCODED_LENGTH, + messageHeaderDecoder.BlockLength(), + messageHeaderDecoder.Version()); + + agent.OnServiceAction( + actionRequestDecoder.LogPosition(), + actionRequestDecoder.LeadershipTermId(), + actionRequestDecoder.Timestamp(), + actionRequestDecoder.Action()); + break; + + case NewLeadershipTermEventDecoder.TEMPLATE_ID: + newLeadershipTermEventDecoder.Wrap( + buffer, + offset + MessageHeaderDecoder.ENCODED_LENGTH, + messageHeaderDecoder.BlockLength(), + messageHeaderDecoder.Version()); + + agent.OnNewLeadershipTermEvent( + newLeadershipTermEventDecoder.LeadershipTermId(), + newLeadershipTermEventDecoder.LogPosition(), + newLeadershipTermEventDecoder.Timestamp(), + newLeadershipTermEventDecoder.LeaderMemberId(), + newLeadershipTermEventDecoder.LogSessionId()); break; - } } return ControlledFragmentHandlerAction.CONTINUE; diff --git a/src/Adaptive.Cluster/Service/ClientSession.cs b/src/Adaptive.Cluster/Service/ClientSession.cs index f3eb2144..3c108379 100644 --- a/src/Adaptive.Cluster/Service/ClientSession.cs +++ b/src/Adaptive.Cluster/Service/ClientSession.cs @@ -2,6 +2,7 @@ using Adaptive.Aeron; using Adaptive.Agrona; using Adaptive.Agrona.Concurrent; +using Adaptive.Cluster.Client; using Adaptive.Cluster.Codecs; namespace Adaptive.Cluster.Service @@ -14,7 +15,8 @@ public class ClientSession /// /// Length of the session header that will be prepended to the message. /// - public static readonly int SESSION_HEADER_LENGTH = MessageHeaderEncoder.ENCODED_LENGTH + SessionHeaderEncoder.BLOCK_LENGTH; + public static readonly int SESSION_HEADER_LENGTH = + MessageHeaderEncoder.ENCODED_LENGTH + SessionHeaderEncoder.BLOCK_LENGTH; /// /// Return value to indicate egress to a session is mocked out by the cluster when in follower mode. @@ -22,6 +24,7 @@ public class ClientSession public const long MOCKED_OFFER = 1; private readonly long _id; + private long _lastCorrelationId; private readonly int _responseStreamId; private readonly string _responseChannel; private Publication _responsePublication; @@ -29,12 +32,19 @@ public class ClientSession private readonly DirectBufferVector[] _vectors = new DirectBufferVector[2]; private readonly DirectBufferVector _messageBuffer = new DirectBufferVector(); private readonly SessionHeaderEncoder _sessionHeaderEncoder = new SessionHeaderEncoder(); - private readonly ICluster _cluster; + private readonly ClusteredServiceAgent _cluster; private bool _isClosing; - internal ClientSession(long sessionId, int responseStreamId, string responseChannel, byte[] encodedPrincipal, ICluster cluster) + internal ClientSession( + long sessionId, + long correlationId, + int responseStreamId, + string responseChannel, + byte[] encodedPrincipal, + ClusteredServiceAgent cluster) { _id = sessionId; + _lastCorrelationId = correlationId; _responseStreamId = responseStreamId; _responseChannel = responseChannel; _encodedPrincipal = encodedPrincipal; @@ -88,6 +98,15 @@ public byte[] EncodedPrincipal() /// /// whether a request to close this session has been made. public bool IsClosing => _isClosing; + + /// + /// Get the last correlation id processed on this session. + /// + /// the last correlation id processed on this session. + public long LastCorrelationId() + { + return _lastCorrelationId; + } /// /// Non-blocking publish of a partial buffer containing a message to a cluster. @@ -98,15 +117,62 @@ public byte[] EncodedPrincipal() /// in bytes of the encoded message. /// the same as when in /// otherwise . - public long Offer(long correlationId, IDirectBuffer buffer, int offset, int length) + public long Offer( + long correlationId, + IDirectBuffer buffer, + int offset, + int length) + { + if (_cluster.Role() != ClusterRole.Leader) + { + return MOCKED_OFFER; + } + + if (null == _responsePublication) + { + throw new ClusterException("session not connected id=" + _id); + } + + _sessionHeaderEncoder + .CorrelationId(correlationId) + .Timestamp(_cluster.TimeMs()); + + _messageBuffer.Reset(buffer, offset, length); + + return _responsePublication.Offer(_vectors); + } + + /// + /// Non-blocking publish of a partial buffer containing a message to a cluster. + /// + /// to be used to identify the message to the cluster. + /// to be used for when the response was generated. + /// containing message. + /// offset in the buffer at which the encoded message begins. + /// in bytes of the encoded message. + /// the same as when in + /// otherwise . + public long Offer( + long correlationId, + long timestampMs, + IDirectBuffer buffer, + int offset, + int length) { if (_cluster.Role() != ClusterRole.Leader) { return MOCKED_OFFER; } - _sessionHeaderEncoder.CorrelationId(correlationId); - _sessionHeaderEncoder.Timestamp(_cluster.TimeMs()); + if (null == _responsePublication) + { + throw new ClusterException("session not connected id=" + _id); + } + + _sessionHeaderEncoder + .CorrelationId(correlationId) + .Timestamp(timestampMs); + _messageBuffer.Reset(buffer, offset, length); return _responsePublication.Offer(_vectors); @@ -125,10 +191,20 @@ internal void MarkClosing() _isClosing = true; } + internal void ResetClosing() + { + _isClosing = false; + } + internal void Disconnect() { _responsePublication?.Dispose(); _responsePublication = null; } + + internal void LastCorrelationId(long correlationId) + { + _lastCorrelationId = correlationId; + } } } \ No newline at end of file diff --git a/src/Adaptive.Cluster/Service/ClusterMarkFile.cs b/src/Adaptive.Cluster/Service/ClusterMarkFile.cs index 78b2fa8b..224413c7 100644 --- a/src/Adaptive.Cluster/Service/ClusterMarkFile.cs +++ b/src/Adaptive.Cluster/Service/ClusterMarkFile.cs @@ -4,6 +4,7 @@ using Adaptive.Agrona; using Adaptive.Agrona.Concurrent; using Adaptive.Agrona.Concurrent.Errors; +using Adaptive.Cluster.Client; using Adaptive.Cluster.Codecs.Mark; namespace Adaptive.Cluster @@ -15,7 +16,10 @@ namespace Adaptive.Cluster /// public class ClusterMarkFile : IDisposable { - public const string FILENAME = "cluster-mark.dat"; + public const string FILE_EXTENSION = ".dat"; + public const string FILENAME = "cluster-mark" + FILE_EXTENSION; + public const string SERVICE_FILE_NAME_PREFIX = "cluster-mark-service-"; + public const string SERVICE_FILE_NAME_FORMAT = SERVICE_FILE_NAME_PREFIX + "{0}" + FILE_EXTENSION; public const int HEADER_LENGTH = 8 * 1024; private readonly MarkFileHeaderDecoder headerDecoder = new MarkFileHeaderDecoder(); @@ -45,7 +49,7 @@ public ClusterMarkFile( { if (version != MarkFileHeaderDecoder.SCHEMA_VERSION) { - throw new ArgumentException("mark file version " + version + " does not match software:" + MarkFileHeaderDecoder.SCHEMA_VERSION); + throw new ClusterException("mark file version " + version + " does not match software:" + MarkFileHeaderDecoder.SCHEMA_VERSION); } }, null); @@ -66,6 +70,10 @@ public ClusterMarkFile( errorBuffer.SetMemory(0, errorBufferLength, 0); } + else + { + headerEncoder.CandidateTermId(Aeron.Aeron.NULL_VALUE); + } var existingType = headerDecoder.ComponentType(); @@ -78,6 +86,7 @@ public ClusterMarkFile( headerEncoder.HeaderLength(HEADER_LENGTH); headerEncoder.ErrorBufferLength(errorBufferLength); headerEncoder.Pid(Process.GetCurrentProcess().Id); + headerEncoder.StartTimestamp(epochClock.Time()); } public ClusterMarkFile(DirectoryInfo directory, string filename, IEpochClock epochClock, long timeoutMs, Action logger) @@ -107,6 +116,27 @@ public void Dispose() { markFile?.Dispose(); } + + /// + /// Get the current value of a candidate term id if a vote is placed in an election. + /// + /// the current candidate term id within an election after voting or if + /// no voting phase of an election is currently active. + public long CandidateTermId() + { + return buffer.GetLongVolatile(MarkFileHeaderDecoder.CandidateTermIdEncodingOffset()); + } + + /// + /// Record the fact that a node has voted in a current election for a candidate so it can survive a restart. + /// + /// to record that a vote has taken place. + public void CandidateTermId(long candidateTermId) + { + buffer.PutLongVolatile(MarkFileHeaderEncoder.CandidateTermIdEncodingOffset(), candidateTermId); + //markFile.MappedByteBuffer().Force(); How to do this? + } + public void SignalReady() { @@ -198,8 +228,13 @@ public static void CheckHeaderLength( if (lengthRequired > HEADER_LENGTH) { - throw new ArgumentException($"MarkFile length required {lengthRequired} great than {HEADER_LENGTH}."); + throw new ClusterException($"MarkFile length required {lengthRequired} great than {HEADER_LENGTH}."); } } + + public static string MarkFilenameForService(int serviceId) + { + return string.Format(SERVICE_FILE_NAME_FORMAT, serviceId); + } } } \ No newline at end of file diff --git a/src/Adaptive.Cluster/Service/ClusteredServiceAgent.cs b/src/Adaptive.Cluster/Service/ClusteredServiceAgent.cs index 429af28a..e9fe068c 100644 --- a/src/Adaptive.Cluster/Service/ClusteredServiceAgent.cs +++ b/src/Adaptive.Cluster/Service/ClusteredServiceAgent.cs @@ -8,35 +8,33 @@ using Adaptive.Agrona.Concurrent; using Adaptive.Agrona.Concurrent.Status; using Adaptive.Archiver; +using Adaptive.Cluster.Client; using Adaptive.Cluster.Codecs; namespace Adaptive.Cluster.Service { - internal sealed class ClusteredServiceAgent : IAgent, ICluster, IServiceControlListener + internal sealed class ClusteredServiceAgent : IAgent, ICluster { private readonly int serviceId; private bool isRecovering; - private readonly bool shouldCloseResources; private readonly AeronArchive.Context archiveCtx; private readonly ClusteredServiceContainer.Context ctx; private readonly Aeron.Aeron aeron; private readonly Dictionary sessionByIdMap = new Dictionary(); private readonly IClusteredService service; - private readonly ServiceControlPublisher serviceControlPublisher; - private readonly ServiceControlAdapter serviceControlAdapter; + private readonly ConsensusModuleProxy _consensusModuleProxy; + private readonly ServiceAdapter _serviceAdapter; private readonly IIdleStrategy idleStrategy; - private readonly RecordingLog recordingLog; private readonly IEpochClock epochClock; - private readonly CachedEpochClock cachedEpochClock = new CachedEpochClock(); private readonly ClusterMarkFile markFile; - private long termBaseLogPosition; - private long leadershipTermId; - private long timestampMs; + private long ackId = 0; + private long clusterTimeMs; + private long cachedTimeMs; private BoundedLogAdapter logAdapter; - private NewActiveLogEvent newActiveLogEvent; - private ReadableCounter roleCounter; + private ActiveLogEvent _activeLogEvent; private AtomicCounter heartbeatCounter; + private ReadableCounter roleCounter; private ClusterRole role = ClusterRole.Follower; internal ClusteredServiceAgent(ClusteredServiceContainer.Context ctx) @@ -45,9 +43,7 @@ internal ClusteredServiceAgent(ClusteredServiceContainer.Context ctx) archiveCtx = ctx.ArchiveContext(); aeron = ctx.Aeron(); - shouldCloseResources = ctx.OwnsAeronClient(); service = ctx.ClusteredService(); - recordingLog = ctx.RecordingLog(); idleStrategy = ctx.IdleStrategy(); serviceId = ctx.ServiceId(); epochClock = ctx.EpochClock(); @@ -55,21 +51,20 @@ internal ClusteredServiceAgent(ClusteredServiceContainer.Context ctx) var channel = ctx.ServiceControlChannel(); - var streamId = ctx.ServiceControlStreamId(); - - serviceControlPublisher = new ServiceControlPublisher(aeron.AddPublication(channel, streamId)); - serviceControlAdapter = new ServiceControlAdapter(aeron.AddSubscription(channel, streamId), this); + _consensusModuleProxy = new ConsensusModuleProxy(aeron.AddPublication(channel, ctx.ConsensusModuleStreamId())); + _serviceAdapter = new ServiceAdapter(aeron.AddSubscription(channel, ctx.ServiceStreamId()), this); } public void OnStart() { CountersReader counters = aeron.CountersReader(); roleCounter = AwaitClusterRoleCounter(counters); - FindHeartbeatCounter(counters); - + heartbeatCounter = AwaitHeartbeatCounter(counters); + service.OnStart(this); isRecovering = true; int recoveryCounterId = AwaitRecoveryCounter(counters); + heartbeatCounter.SetOrdered(epochClock.Time()); CheckForSnapshot(counters, recoveryCounterId); CheckForReplay(counters, recoveryCounterId); isRecovering = false; @@ -78,11 +73,11 @@ public void OnStart() public void OnClose() { - if (shouldCloseResources) + if (!ctx.OwnsAeronClient()) { logAdapter?.Dispose(); - serviceControlPublisher?.Dispose(); - serviceControlAdapter?.Dispose(); + _consensusModuleProxy?.Dispose(); + _serviceAdapter?.Dispose(); foreach (ClientSession session in sessionByIdMap.Values) { @@ -94,23 +89,53 @@ public void OnClose() public int DoWork() { int workCount = 0; - + long nowMs = epochClock.Time(); - if (cachedEpochClock.Time() != nowMs) + if (cachedTimeMs != nowMs) { - cachedEpochClock.Update(nowMs); - markFile.UpdateActivityTimestamp(nowMs); - CheckHealthAndUpdateHeartbeat(nowMs); - workCount += serviceControlAdapter.Poll(); + cachedTimeMs = nowMs; + + if (_consensusModuleProxy.IsConnected()) + { + markFile.UpdateActivityTimestamp(nowMs); + heartbeatCounter.SetOrdered(nowMs); + } + else + { + ctx.ErrorHandler()(new ClusterException("Consensus Module not connected")); + ctx.TerminationHook().Invoke(); + } + + workCount += _serviceAdapter.Poll(); - if (newActiveLogEvent != null) + if (null != _activeLogEvent && null == logAdapter) { JoinActiveLog(); } } - workCount += null != logAdapter ? logAdapter.Poll() : 0; - + if (null != logAdapter) + { + int polled = logAdapter.Poll(); + + if (0 == polled) + { + if (logAdapter.IsConsumed(aeron.CountersReader())) + { + _consensusModuleProxy.Ack(logAdapter.Position(), ackId++, serviceId); + logAdapter.Dispose(); + logAdapter = null; + } + else if (logAdapter.IsImageClosed()) + { + logAdapter.Dispose(); + logAdapter = null; + } + } + + workCount += polled; + } + return workCount; } @@ -143,7 +168,7 @@ public bool CloseSession(long clusterSessionId) { if (!sessionByIdMap.ContainsKey(clusterSessionId)) { - throw new ArgumentException("unknown clusterSessionId: " + clusterSessionId); + throw new ClusterException("unknown clusterSessionId: " + clusterSessionId); } ClientSession clientSession = sessionByIdMap[clusterSessionId]; @@ -153,7 +178,7 @@ public bool CloseSession(long clusterSessionId) return true; } - if (serviceControlPublisher.CloseSession(clusterSessionId)) + if (_consensusModuleProxy.CloseSession(clusterSessionId)) { clientSession.MarkClosing(); return true; @@ -164,32 +189,23 @@ public bool CloseSession(long clusterSessionId) public long TimeMs() { - return timestampMs; + return clusterTimeMs; } public bool ScheduleTimer(long correlationId, long deadlineMs) { - return serviceControlPublisher.ScheduleTimer(correlationId, deadlineMs); + return _consensusModuleProxy.ScheduleTimer(correlationId, deadlineMs); } public bool CancelTimer(long correlationId) { - return serviceControlPublisher.CancelTimer(correlationId); + return _consensusModuleProxy.CancelTimer(correlationId); } - public void OnScheduleTimer(long correlationId, long deadline) + public void Idle() { - // Not Implemented - } - - public void OnCancelTimer(long correlationId) - { - // Not Implemented - } - - public void OnServiceAck(long logPosition, long leadershipTermId, int serviceId, ClusterAction action) - { - // Not Implemented + CheckInterruptedStatus(); + idleStrategy.Idle(); } public void OnJoinLog( @@ -197,40 +213,47 @@ public void OnJoinLog( int commitPositionId, int logSessionId, int logStreamId, - bool ackBeforeImage, string logChannel) { - newActiveLogEvent = new NewActiveLogEvent( - leadershipTermId, commitPositionId, logSessionId, logStreamId, ackBeforeImage, logChannel); - } - - public void OnServiceCloseSession(long clusterSessionId) - { - // Not Implemented + _activeLogEvent = new ActiveLogEvent( + leadershipTermId, commitPositionId, logSessionId, logStreamId, logChannel); } internal void OnSessionMessage(long clusterSessionId, long correlationId, long timestampMs, IDirectBuffer buffer, int offset, int length, Header header) { - this.timestampMs = timestampMs; + clusterTimeMs = timestampMs; + var clientSession = sessionByIdMap[clusterSessionId]; - service.OnSessionMessage(clusterSessionId, correlationId, timestampMs, buffer, offset, length, header); + try + { + service.OnSessionMessage(clientSession, correlationId, timestampMs, buffer, offset, length, header); + } + finally + { + clientSession.LastCorrelationId(correlationId); + } } internal void OnTimerEvent(long correlationId, long timestampMs) { - this.timestampMs = timestampMs; + clusterTimeMs = timestampMs; service.OnTimerEvent(correlationId, timestampMs); } - internal void OnSessionOpen(long clusterSessionId, long timestampMs, int responseStreamId, - string responseChannel, byte[] encodedPrincipal) + internal void OnSessionOpen( + long clusterSessionId, + long correlationId, + long timestampMs, + int responseStreamId, + string responseChannel, + byte[] encodedPrincipal) { - this.timestampMs = timestampMs; + clusterTimeMs = timestampMs; - ClientSession session = - new ClientSession(clusterSessionId, responseStreamId, responseChannel, encodedPrincipal, this); + ClientSession session = new ClientSession( + clusterSessionId, correlationId, responseStreamId, responseChannel, encodedPrincipal, this); if (ClusterRole.Leader == role) { @@ -243,7 +266,7 @@ internal void OnSessionOpen(long clusterSessionId, long timestampMs, int respons internal void OnSessionClose(long clusterSessionId, long timestampMs, CloseReason closeReason) { - this.timestampMs = timestampMs; + clusterTimeMs = timestampMs; var session = sessionByIdMap[clusterSessionId]; sessionByIdMap.Remove(clusterSessionId); @@ -251,28 +274,34 @@ internal void OnSessionClose(long clusterSessionId, long timestampMs, CloseReaso service.OnSessionClose(session, timestampMs, closeReason); } - internal void OnServiceAction(long termPosition, long timestampMs, ClusterAction action) + internal void OnServiceAction(long logPosition, long leadershipTermId, long timestampMs, ClusterAction action) { - this.timestampMs = timestampMs; + clusterTimeMs = timestampMs; - ExecuteAction(action, termPosition); + ExecuteAction(action, logPosition, leadershipTermId); } - internal void AddSession(long clusterSessionId, int responseStreamId, string responseChannel, - byte[] encodedPrincipal) + internal void OnNewLeadershipTermEvent( + long leadershipTermId, + long logPosition, + long timestampMs, + int leaderMemberId, + int logSessionId) { - ClientSession session = - new ClientSession(clusterSessionId, responseStreamId, responseChannel, encodedPrincipal, this); - - sessionByIdMap[clusterSessionId] = session; + clusterTimeMs = timestampMs; } - private void CheckHealthAndUpdateHeartbeat(long nowMs) + internal void AddSession( + long clusterSessionId, + long lastCorrelationId, + int responseStreamId, + string responseChannel, + byte[] encodedPrincipal) { - if (null == logAdapter || !logAdapter.Image().Closed) - { - heartbeatCounter.SetOrdered(nowMs); - } + var session = new ClientSession( + clusterSessionId, lastCorrelationId, responseStreamId, responseChannel, encodedPrincipal, this); + + sessionByIdMap[clusterSessionId] = session; } private void Role(ClusterRole newRole) @@ -286,73 +315,54 @@ private void Role(ClusterRole newRole) private void CheckForSnapshot(CountersReader counters, int recoveryCounterId) { - long termPosition = RecoveryState.GetTermPosition(counters, recoveryCounterId); - leadershipTermId = RecoveryState.GetLeadershipTermId(counters, recoveryCounterId); - timestampMs = RecoveryState.GetTimestamp(counters, recoveryCounterId); + long leadershipTermId = RecoveryState.GetLeadershipTermId(counters, recoveryCounterId); + clusterTimeMs = RecoveryState.GetTimestamp(counters, recoveryCounterId); - if (AeronArchive.NULL_POSITION != termPosition) + if (Adaptive.Aeron.Aeron.NULL_VALUE != leadershipTermId) { - RecordingLog.Entry snapshotEntry = recordingLog.GetSnapshot(leadershipTermId, termPosition); - if (null == snapshotEntry) - { - throw new InvalidOperationException( - "no snapshot available for term position: " + termPosition); - } - - termBaseLogPosition = snapshotEntry.termBaseLogPosition + snapshotEntry.termPosition; - LoadSnapshot(snapshotEntry.recordingId); + LoadSnapshot(RecoveryState.GetSnapshotRecordingId(counters, recoveryCounterId, serviceId)); } - serviceControlPublisher.AckAction(termBaseLogPosition, leadershipTermId, serviceId, ClusterAction.INIT); + heartbeatCounter.SetOrdered(epochClock.Time()); + _consensusModuleProxy.Ack(RecoveryState.GetLogPosition(counters, recoveryCounterId), ackId++, serviceId); } private void CheckForReplay(CountersReader counters, int recoveryCounterId) { - long replayTermCount = RecoveryState.GetReplayTermCount(counters, recoveryCounterId); - if (0 == replayTermCount) - { - return; - } - - service.OnReplayBegin(); - - for (int i = 0; i < replayTermCount; i++) + if (RecoveryState.HasReplay(counters, recoveryCounterId)) { + service.OnReplayBegin(); AwaitActiveLog(); - int counterId = newActiveLogEvent.commitPositionId; - leadershipTermId = CommitPos.GetLeadershipTermId(counters, counterId); - termBaseLogPosition = CommitPos.GetTermBaseLogPosition(counters, counterId); // TODO MARK - if (CommitPos.GetLeadershipTermLength(counters, counterId) > 0) - { - using (Subscription subscription = aeron.AddSubscription(newActiveLogEvent.channel, newActiveLogEvent.streamId)) - { - serviceControlPublisher.AckAction(termBaseLogPosition, leadershipTermId, serviceId, ClusterAction.READY); + int counterId = _activeLogEvent.commitPositionId; - Image image = AwaitImage(newActiveLogEvent.sessionId, subscription); - ReadableCounter limit = new ReadableCounter(counters, counterId); - BoundedLogAdapter adapter = new BoundedLogAdapter(image, limit, this); + using (Subscription subscription = aeron.AddSubscription(_activeLogEvent.channel, _activeLogEvent.streamId)) + { + _consensusModuleProxy.Ack(CommitPos.GetLogPosition(counters, counterId), ackId++, serviceId); - ConsumeImage(image, adapter); + Image image = AwaitImage(_activeLogEvent.sessionId, subscription); + ReadableCounter limit = new ReadableCounter(counters, counterId); + BoundedLogAdapter adapter = new BoundedLogAdapter(image, limit, this); - termBaseLogPosition += image.Position(); - } + ConsumeImage(image, adapter); } - newActiveLogEvent = null; - serviceControlPublisher.AckAction(termBaseLogPosition, leadershipTermId, serviceId, ClusterAction.REPLAY); + _activeLogEvent = null; + heartbeatCounter.SetOrdered(epochClock.Time()); + service.OnReplayEnd(); } - - service.OnReplayEnd(); } private void AwaitActiveLog() { - while (null == newActiveLogEvent) + idleStrategy.Reset(); + + while (null == _activeLogEvent) { + _serviceAdapter.Poll(); CheckInterruptedStatus(); - idleStrategy.Idle(serviceControlAdapter.Poll()); + idleStrategy.Idle(); } } @@ -363,19 +373,19 @@ private void ConsumeImage(Image image, BoundedLogAdapter adapter) int workCount = adapter.Poll(); if (workCount == 0) { - if (image.Closed) + if (adapter.IsConsumed(aeron.CountersReader())) { - if (!image.IsEndOfStream()) - { - throw new InvalidOperationException("unexpected close of replay"); - } - + _consensusModuleProxy.Ack(image.Position(), ackId++, serviceId); break; } - CheckInterruptedStatus(); + if (image.Closed) + { + throw new ClusterException("unexpected close of replay"); + } } + CheckInterruptedStatus(); idleStrategy.Idle(workCount); } } @@ -397,55 +407,30 @@ private int AwaitRecoveryCounter(CountersReader counters) private void JoinActiveLog() { - if (null != logAdapter) - { - if (!logAdapter.IsCaughtUp()) - { - return; - } - - logAdapter.Dispose(); - logAdapter = null; - } - - CountersReader counters = aeron.CountersReader(); - - int commitPositionId = newActiveLogEvent.commitPositionId; + int commitPositionId = _activeLogEvent.commitPositionId; if (!CommitPos.IsActive(counters, commitPositionId)) { - throw new System.InvalidOperationException("CommitPos counter not active: " + commitPositionId); + throw new ClusterException("CommitPos counter not active: " + commitPositionId); } - int logSessionId = newActiveLogEvent.sessionId; - leadershipTermId = newActiveLogEvent.leadershipTermId; - termBaseLogPosition = CommitPos.GetTermBaseLogPosition(counters, commitPositionId); + Subscription logSubscription = aeron.AddSubscription(_activeLogEvent.channel, _activeLogEvent.streamId); + _consensusModuleProxy.Ack(CommitPos.GetLogPosition(counters, commitPositionId), ackId++, serviceId); - Subscription logSubscription = aeron.AddSubscription(newActiveLogEvent.channel, newActiveLogEvent.streamId); - - if (newActiveLogEvent.ackBeforeImage) - { - serviceControlPublisher.AckAction(termBaseLogPosition, leadershipTermId, serviceId, ClusterAction.READY); - } - - Image image = AwaitImage(logSessionId, logSubscription); + Image image = AwaitImage(_activeLogEvent.sessionId, logSubscription); heartbeatCounter.SetOrdered(epochClock.Time()); - if (!newActiveLogEvent.ackBeforeImage) - { - serviceControlPublisher.AckAction(termBaseLogPosition, leadershipTermId, serviceId, ClusterAction.READY); - } - - newActiveLogEvent = null; + _activeLogEvent = null; logAdapter = new BoundedLogAdapter(image, new ReadableCounter(counters, commitPositionId), this); Role((ClusterRole) roleCounter.Get()); - + foreach (ClientSession session in sessionByIdMap.Values) { if (ClusterRole.Leader == role) { session.Connect(aeron); + session.ResetClosing(); } else { @@ -480,6 +465,20 @@ private ReadableCounter AwaitClusterRoleCounter(CountersReader counters) return new ReadableCounter(counters, counterId); } + + private AtomicCounter AwaitHeartbeatCounter(CountersReader counters) + { + idleStrategy.Reset(); + int counterId = ServiceHeartbeat.FindCounterId(counters, ctx.ServiceId()); + while (CountersReader.NULL_COUNTER_ID == counterId) + { + CheckInterruptedStatus(); + idleStrategy.Idle(); + counterId = ServiceHeartbeat.FindCounterId(counters, ctx.ServiceId()); + } + + return new AtomicCounter(counters.ValuesBuffer, counterId); + } private void LoadSnapshot(long recordingId) { @@ -487,7 +486,7 @@ private void LoadSnapshot(long recordingId) { string channel = ctx.ReplayChannel(); int streamId = ctx.ReplayStreamId(); - int sessionId = (int) archive.StartReplay(recordingId, 0, AeronArchive.NULL_LENGTH, channel, streamId); + int sessionId = (int) archive.StartReplay(recordingId, 0, Adaptive.Aeron.Aeron.NULL_VALUE, channel, streamId); string replaySessionChannel = ChannelUri.AddSessionId(channel, sessionId); using (Subscription subscription = aeron.AddSubscription(replaySessionChannel, streamId)) @@ -516,7 +515,7 @@ private void LoadState(Image image) if (image.Closed) { - throw new InvalidOperationException("snapshot ended unexpectedly"); + throw new ClusterException("snapshot ended unexpectedly"); } idleStrategy.Idle(fragments); @@ -524,22 +523,20 @@ private void LoadState(Image image) } } - private void OnTakeSnapshot(long termPosition) + private long OnTakeSnapshot(long logPosition, long leadershipTermId) { long recordingId; - string channel = ctx.SnapshotChannel(); - int streamId = ctx.SnapshotStreamId(); - using (AeronArchive archive = AeronArchive.Connect(archiveCtx)) - using (Publication publication = archive.AddRecordedExclusivePublication(channel, streamId)) + using (AeronArchive archive = AeronArchive.Connect(archiveCtx)) + using(Publication publication = archive.AddRecordedExclusivePublication(ctx.SnapshotChannel(), ctx.SnapshotStreamId())) { try { CountersReader counters = aeron.CountersReader(); - int counterId = AwaitRecordingCounter(publication, counters); + int counterId = AwaitRecordingCounter(publication.SessionId, counters); recordingId = RecordingPos.GetRecordingId(counters, counterId); - SnapshotState(publication, termBaseLogPosition + termPosition); + SnapshotState(publication, logPosition, leadershipTermId); service.OnTakeSnapshot(publication); AwaitRecordingComplete(recordingId, publication.Position, counters, counterId, archive); @@ -550,12 +547,12 @@ private void OnTakeSnapshot(long termPosition) } } - recordingLog.AppendSnapshot(recordingId, leadershipTermId, termBaseLogPosition, termPosition, timestampMs); + return recordingId; } private void AwaitRecordingComplete( long recordingId, - long completePosition, + long position, CountersReader counters, int counterId, AeronArchive archive) @@ -568,15 +565,15 @@ private void AwaitRecordingComplete( if (!RecordingPos.IsActive(counters, counterId, recordingId)) { - throw new InvalidOperationException("recording has stopped unexpectedly: " + recordingId); + throw new ClusterException("recording has stopped unexpectedly: " + recordingId); } archive.CheckForErrorResponse(); - } while (counters.GetCounterValue(counterId) < completePosition); + } while (counters.GetCounterValue(counterId) < position); } - private void SnapshotState(Publication publication, long logPosition) + private void SnapshotState(Publication publication, long logPosition, long leadershipTermId) { var snapshotTaker = new ServiceSnapshotTaker(publication, idleStrategy, null); @@ -590,61 +587,45 @@ private void SnapshotState(Publication publication, long logPosition) snapshotTaker.MarkEnd(ClusteredServiceContainer.SNAPSHOT_TYPE_ID, logPosition, leadershipTermId, 0); } - private void ExecuteAction(ClusterAction action, long termPosition) + private void ExecuteAction(ClusterAction action, long position, long leadershipTermId) { if (isRecovering) { return; } - long logPosition = termBaseLogPosition + termPosition; - switch (action) { case ClusterAction.SNAPSHOT: - OnTakeSnapshot(termPosition); - serviceControlPublisher.AckAction(logPosition, leadershipTermId, serviceId, action); + _consensusModuleProxy.Ack(position, ackId++, OnTakeSnapshot(position, leadershipTermId), serviceId); break; case ClusterAction.SHUTDOWN: - OnTakeSnapshot(termPosition); - serviceControlPublisher.AckAction(logPosition, leadershipTermId, serviceId, action); + _consensusModuleProxy.Ack(position, ackId++, OnTakeSnapshot(position, leadershipTermId), serviceId); ctx.TerminationHook().Invoke(); break; case ClusterAction.ABORT: - serviceControlPublisher.AckAction(logPosition, leadershipTermId, serviceId, action); + _consensusModuleProxy.Ack(position, ackId++, serviceId); ctx.TerminationHook().Invoke(); break; } } - private int AwaitRecordingCounter(Publication publication, CountersReader counters) + private int AwaitRecordingCounter(int sessionId, CountersReader counters) { idleStrategy.Reset(); - int counterId = RecordingPos.FindCounterIdBySession(counters, publication.SessionId); + int counterId = RecordingPos.FindCounterIdBySession(counters, sessionId); while (CountersReader.NULL_COUNTER_ID == counterId) { CheckInterruptedStatus(); idleStrategy.Idle(); - counterId = RecordingPos.FindCounterIdBySession(counters, publication.SessionId); + counterId = RecordingPos.FindCounterIdBySession(counters, sessionId); } return counterId; } - private void FindHeartbeatCounter(CountersReader counters) - { - var heartbeatCounterId = ServiceHeartbeat.FindCounterId(counters, ctx.ServiceId()); - - if (CountersReader.NULL_COUNTER_ID == heartbeatCounterId) - { - throw new InvalidOperationException("failed to find heartbeat counter"); - } - - heartbeatCounter = new AtomicCounter(counters.ValuesBuffer, heartbeatCounterId); - } - private static void CheckInterruptedStatus() { try diff --git a/src/Adaptive.Cluster/Service/ClusteredServiceContainer.cs b/src/Adaptive.Cluster/Service/ClusteredServiceContainer.cs index a7098f9e..bdabfb7f 100644 --- a/src/Adaptive.Cluster/Service/ClusteredServiceContainer.cs +++ b/src/Adaptive.Cluster/Service/ClusteredServiceContainer.cs @@ -6,6 +6,7 @@ using Adaptive.Agrona.Concurrent.Errors; using Adaptive.Agrona.Concurrent.Status; using Adaptive.Archiver; +using Adaptive.Cluster.Client; using Adaptive.Cluster.Codecs; using Adaptive.Cluster.Codecs.Mark; @@ -33,7 +34,7 @@ public static void Main(string[] args) { container.Ctx().ShutdownSignalBarrier().Await(); - Console.WriteLine("Shutdown ClusteredMediaDriver..."); + Console.WriteLine("Shutdown ClusteredServiceContainer..."); } } @@ -97,7 +98,7 @@ public class Configuration public const string SERVICE_ID_PROP_NAME = "aeron.cluster.service.id"; /// - /// Identity for a clustered service. Default to 0. + /// Default identity for a clustered service. /// public const int SERVICE_ID_DEFAULT = 0; @@ -107,7 +108,7 @@ public class Configuration public const string SERVICE_NAME_PROP_NAME = "aeron.cluster.service.name"; /// - /// Name for a clustered service to be the role of the . Default to "clustered-service". + /// Name for a clustered service to be the role of the . /// public const string SERVICE_NAME_DEFAULT = "clustered-service"; @@ -118,7 +119,7 @@ public class Configuration public const string SERVICE_CLASS_NAME_PROP_NAME = "aeron.cluster.service.class.name"; /// - /// Channel to be used for log or snapshot replay on startup. + /// Default channel to be used for log or snapshot replay on startup. /// public const string REPLAY_CHANNEL_PROP_NAME = "aeron.cluster.replay.channel"; @@ -133,33 +134,42 @@ public class Configuration public const string REPLAY_STREAM_ID_PROP_NAME = "aeron.cluster.replay.stream.id"; /// - /// Stream id for the log or snapshot replay within a channel. + /// Default stream id for the log or snapshot replay within a channel. /// - public const int REPLAY_STREAM_ID_DEFAULT = 4; + public const int REPLAY_STREAM_ID_DEFAULT = 103; /// - /// Channel for bi-directional communications between the consensus module and services. + /// Channel for communications between the local consensus module and services. /// public const string SERVICE_CONTROL_CHANNEL_PROP_NAME = "aeron.cluster.service.control.channel"; /// - /// Channel for for bi-directional communications between the consensus module and services. This should be IPC. + /// Default channel for communications between the local consensus module and services. This should be IPC. /// - public const string SERVICE_CONTROL_CHANNEL_DEFAULT = "aeron:ipc?term-length=64k"; + public const string SERVICE_CONTROL_CHANNEL_DEFAULT = "aeron:ipc?term-length=64k|mtu=8k"; /// - /// Stream id within a channel for bi-directional communications between the consensus module and services. + /// Stream id within a channel for communications from the consensus module to the services. /// - public const string SERVICE_CONTROL_STREAM_ID_PROP_NAME = "aeron.cluster.service.control.stream.id"; + public const string SERVICE_STREAM_ID_PROP_NAME = "aeron.cluster.service.stream.id"; /// - /// Stream id within a channel for bi-directional communications between the consensus module and services. - /// Default to stream id of 5. + /// Default stream id within a channel for communications from the consensus module to the services. /// - public const int CONSENSUS_MODULE_STREAM_ID_DEFAULT = 5; + public const int SERVICE_CONTROL_STREAM_ID_DEFAULT = 104; /// - /// Channel to be used for archiving snapshots. + /// Stream id within a channel for communications from the services to the consensus module. + /// + public const string CONSENSUS_MODULE_STREAM_ID_PROP_NAME = "aeron.cluster.consensus.module.stream.id"; + + /// + /// Default stream id within a channel for communications from the services to the consensus module. + /// + public const int CONSENSUS_MODULE_STREAM_ID_DEFAULT = 105; + + /// + /// Default channel to be used for archiving snapshots. /// public const string SNAPSHOT_CHANNEL_PROP_NAME = "aeron.cluster.snapshot.channel"; @@ -174,28 +184,27 @@ public class Configuration public const string SNAPSHOT_STREAM_ID_PROP_NAME = "aeron.cluster.snapshot.stream.id"; /// - /// Stream id for the archived snapshots within a channel. + /// Default stream id for the archived snapshots within a channel. /// - public const int SNAPSHOT_STREAM_ID_DEFAULT = 7; + public const int SNAPSHOT_STREAM_ID_DEFAULT = 106; /// - /// Directory to use for the clustered service. + /// Directory to use for the aeron cluster. /// - public const string CLUSTERED_SERVICE_DIR_PROP_NAME = "aeron.cluster.service.dir"; + public const string CLUSTER_DIR_PROP_NAME = "aeron.cluster.dir"; /// - /// Directory to use for the cluster container. + /// Default directory to use for the aeron cluster. /// - public const string CLUSTERED_SERVICE_DIR_DEFAULT = "clustered-service"; + public const string CLUSTER_DIR_DEFAULT = "aeron-cluster"; /// - /// Size in bytes of the error buffer for the cluster container. + /// Length in bytes of the error buffer for the cluster container. /// public const string ERROR_BUFFER_LENGTH_PROP_NAME = "aeron.cluster.service.error.buffer.length"; /// - /// Size in bytes of the error buffer for the cluster container. - /// Default to 1MB. + /// Default length in bytes of the error buffer for the cluster container. /// public const int ERROR_BUFFER_LENGTH_DEFAULT = 1024 * 1024; @@ -247,18 +256,29 @@ public static string ServiceControlChannel() { return Config.GetProperty(SERVICE_CONTROL_CHANNEL_PROP_NAME, SERVICE_CONTROL_CHANNEL_DEFAULT); } - + /// /// The value or system property - /// if set. + /// if set. /// /// or system property - /// if set. - public static int ServiceControlStreamId() + /// if set. + public static int ConsensusModuleStreamId() { - return Config.GetInteger(SERVICE_CONTROL_STREAM_ID_PROP_NAME, CONSENSUS_MODULE_STREAM_ID_DEFAULT); + return Config.GetInteger(CONSENSUS_MODULE_STREAM_ID_PROP_NAME, CONSENSUS_MODULE_STREAM_ID_DEFAULT); } + /// + /// The value or system property + /// if set. + /// + /// or system property + /// if set. + public static int ServiceStreamId() + { + return Config.GetInteger(SERVICE_STREAM_ID_PROP_NAME, SERVICE_CONTROL_STREAM_ID_DEFAULT); + } + /// /// The value or system property if set. /// @@ -296,14 +316,12 @@ public static Func IdleStrategySupplier(StatusIndicator controlla } /// - /// The value or system property - /// if set. + /// The value or system property if set. /// - /// or system property - /// if set. - public static string ClusteredServiceDirName() + /// or system property if set. + public static string ClusterDirName() { - return Config.GetProperty(CLUSTERED_SERVICE_DIR_PROP_NAME, CLUSTERED_SERVICE_DIR_DEFAULT); + return Config.GetProperty(CLUSTER_DIR_PROP_NAME, CLUSTER_DIR_DEFAULT); } /// @@ -324,12 +342,12 @@ public class Context : IDisposable private string replayChannel = Configuration.ReplayChannel(); private int replayStreamId = Configuration.ReplayStreamId(); private string serviceControlChannel = Configuration.ServiceControlChannel(); - private int serviceControlStreamId = Configuration.ServiceControlStreamId(); + private int consensusModuleStreamId = Configuration.ConsensusModuleStreamId(); + private int serviceStreamId = Configuration.ServiceStreamId(); private string snapshotChannel = Configuration.SnapshotChannel(); private int snapshotStreamId = Configuration.SnapshotStreamId(); private int errorBufferLength = Configuration.ErrorBufferLength(); - private bool deleteDirOnStart = false; - + private IThreadFactory threadFactory; private Func idleStrategySupplier; private IEpochClock epochClock; @@ -338,14 +356,13 @@ public class Context : IDisposable private AtomicCounter errorCounter; private CountedErrorHandler countedErrorHandler; private AeronArchive.Context archiveContext; - private string clusteredServiceDirectoryName = Configuration.ClusteredServiceDirName(); - private DirectoryInfo clusteredServiceDir; + private string clusteredServiceDirectoryName = Configuration.ClusterDirName(); + private DirectoryInfo clusterDir; private string aeronDirectoryName = Adaptive.Aeron.Aeron.Context.GetAeronDirectoryName(); private Aeron.Aeron aeron; private bool ownsAeronClient; private IClusteredService clusteredService; - private RecordingLog recordingLog; private ShutdownSignalBarrier shutdownSignalBarrier; private Action terminationHook; private ClusterMarkFile markFile; @@ -376,32 +393,20 @@ public void Conclude() epochClock = new SystemEpochClock(); } - if (deleteDirOnStart) - { - if (null != clusteredServiceDir) - { - IoUtil.Delete(clusteredServiceDir, true); - } - else - { - IoUtil.Delete(new DirectoryInfo(Configuration.ClusteredServiceDirName()), true); - } - } - - if (null == clusteredServiceDir) + if (null == clusterDir) { - clusteredServiceDir = new DirectoryInfo(clusteredServiceDirectoryName); + clusterDir = new DirectoryInfo(clusteredServiceDirectoryName); } - if (!clusteredServiceDir.Exists) + if (!clusterDir.Exists) { - Directory.CreateDirectory(clusteredServiceDir.FullName); + Directory.CreateDirectory(clusterDir.FullName); } if (null == markFile) { markFile = new ClusterMarkFile( - new FileInfo(Path.Combine(clusteredServiceDir.FullName, ClusterMarkFile.FILENAME)), + new FileInfo(Path.Combine(clusterDir.FullName, ClusterMarkFile.MarkFilenameForService(serviceId))), ClusterComponentType.CONTAINER, errorBufferLength, epochClock, @@ -426,18 +431,12 @@ public void Conclude() .ErrorHandler(errorHandler) .EpochClock(epochClock)); - if (null == errorCounter) - { - errorCounter = aeron.AddCounter(SYSTEM_COUNTER_TYPE_ID, - "Cluster errors - service " + serviceId); - } - ownsAeronClient = true; } if (null == errorCounter) { - throw new InvalidOperationException("error counter must be supplied"); + errorCounter = aeron.AddCounter(SYSTEM_COUNTER_TYPE_ID, "Cluster errors - service " + serviceId); } if (null == countedErrorHandler) @@ -462,11 +461,6 @@ public void Conclude() .OwnsAeronClient(false) .Lock(new NoOpLock()); - if (null == recordingLog) - { - recordingLog = new RecordingLog(clusteredServiceDir); - } - if (null == shutdownSignalBarrier) { shutdownSignalBarrier = new ShutdownSignalBarrier(); @@ -482,7 +476,7 @@ public void Conclude() string className = Config.GetProperty(Configuration.SERVICE_CLASS_NAME_PROP_NAME); if (null == className) { - throw new InvalidOperationException("Either a ClusteredService instance or class name for the service must be provided"); + throw new ClusterException("either a ClusteredService instance or class name for the service must be provided"); } clusteredService = (IClusteredService) Activator.CreateInstance(Type.GetType(className)); @@ -603,27 +597,49 @@ public string ServiceControlChannel() } /// - /// Set the stream id for sending messages to the Consensus Module. + /// Set the stream id for communications from the consensus module and to the services. /// - /// for sending messages to the Consensus Module. + /// for communications from the consensus module and to the services. /// this for a fluent API - /// - public Context ServiceControlStreamId(int streamId) + /// + public Context ServiceStreamId(int streamId) { - serviceControlStreamId = streamId; + serviceStreamId = streamId; return this; } /// - /// Get the stream id for sending messages to the Consensus Module. + /// Get the stream id for communications from the consensus module and to the services. + /// + /// the stream id for communications from the consensus module and to the services. + /// + public int ServiceStreamId() + { + return serviceStreamId; + } + + /// + /// Set the stream id for communications from the services to the consensus module. /// - /// the stream id for sending messages to the Consensus Module. + /// for communications from the services to the consensus module. + /// this for a fluent API /// - public int ServiceControlStreamId() + public Context ConsensusModuleStreamId(int streamId) { - return serviceControlStreamId; + consensusModuleStreamId = streamId; + return this; } + /// + /// Get the stream id for communications from the services to the consensus module. + /// + /// the stream id for communications from the services to the consensus module. + /// + public int ConsensusModuleStreamId() + { + return consensusModuleStreamId; + } + /// /// Set the channel parameter for snapshot recordings. /// @@ -893,87 +909,47 @@ public AeronArchive.Context ArchiveContext() } /// - /// Should the container attempt to immediately delete on startup. - /// - /// Attempt deletion. - /// this for a fluent API. - public Context DeleteDirOnStart(bool deleteDirOnStart) - { - this.deleteDirOnStart = deleteDirOnStart; - return this; - } - - /// - /// Will the container attempt to immediately delete on startup. - /// - /// true when directory will be deleted, otherwise false. - public bool DeleteDirOnStart() - { - return deleteDirOnStart; - } - - /// - /// Set the directory name to use for the clustered service container. + /// Set the directory name to use for the consensus module directory.. /// - /// to use. + /// to use. /// this for a fluent API. - /// - public Context ClusteredServiceDirectoryName(string clusteredServiceDirectoryName) + /// + public Context ClusterDirectoryName(string clusterDirectoryName) { - this.clusteredServiceDirectoryName = clusteredServiceDirectoryName; + this.clusteredServiceDirectoryName = clusterDirectoryName; return this; } /// - /// The directory name used for the clustered service container. + /// The directory name to use for the cluster directory. /// - /// directory for the cluster container. - /// - public string ClusteredServiceDirectoryName() + /// directory name for the cluster directory. + /// + public string ClusterDirectoryName() { return clusteredServiceDirectoryName; } /// - /// Set the directory to use for the clustered service container. + /// Set the directory to use for the cluster directory. /// - /// to use. + /// to use. /// this for a fluent API. /// - public Context ClusteredServiceDir(DirectoryInfo dir) + public Context ClusterDir(DirectoryInfo clusterDir) { - this.clusteredServiceDir = dir; + this.clusterDir = clusterDir; return this; } /// - /// The directory used for the clustered service container. + /// The directory used for for the cluster directory. /// - /// directory for the cluster container. + /// directory for for the cluster directory. /// - public DirectoryInfo ClusteredServiceDir() - { - return clusteredServiceDir; - } - - /// - /// Set the for the log terms and snapshots. - /// - /// to use. - /// this for a fluent API. - public Context RecordingLog(RecordingLog recordingLog) - { - this.recordingLog = recordingLog; - return this; - } - - /// - /// The for the log terms and snapshots. - /// - /// for the log terms and snapshots. - public RecordingLog RecordingLog() + public DirectoryInfo ClusterDir() { - return recordingLog; + return clusterDir; } /// @@ -1087,9 +1063,9 @@ public DistinctErrorLog ErrorLog() /// public void DeleteDirectory() { - if (null != clusteredServiceDir) + if (null != clusterDir) { - IoUtil.Delete(clusteredServiceDir, false); + IoUtil.Delete(clusterDir, false); } } @@ -1123,9 +1099,10 @@ private void ConcludeMarkFile() encoder .ArchiveStreamId(archiveContext.ControlRequestStreamId()) - .ServiceControlStreamId(serviceControlStreamId) + .ServiceStreamId(serviceStreamId) + .ConsensusModuleStreamId(consensusModuleStreamId) .IngressStreamId(0) - .MemberId(-1) + .MemberId(Adaptive.Aeron.Aeron.NULL_VALUE) .ServiceId(serviceId) .AeronDirectory(aeron.Ctx().AeronDirectoryName()) .ArchiveChannel(archiveContext.ControlRequestChannel()) diff --git a/src/Adaptive.Cluster/Service/CommitPos.cs b/src/Adaptive.Cluster/Service/CommitPos.cs index 1e86d91a..98895db4 100644 --- a/src/Adaptive.Cluster/Service/CommitPos.cs +++ b/src/Adaptive.Cluster/Service/CommitPos.cs @@ -1,7 +1,8 @@ -using System; -using Adaptive.Aeron; +using Adaptive.Aeron; using Adaptive.Agrona; +using Adaptive.Agrona.Concurrent; using Adaptive.Agrona.Concurrent.Status; +using Adaptive.Cluster.Client; namespace Adaptive.Cluster.Service { @@ -17,14 +18,12 @@ namespace Adaptive.Cluster.Service /// | Recording ID for the leadership term | /// | | /// +---------------------------------------------------------------+ - /// | Log Position at base of leadership term | + /// | Log Position | /// | | /// +---------------------------------------------------------------+ - /// | Leadership Term ID | + /// | Max Log Position | /// | | /// +---------------------------------------------------------------+ - /// | Log Session ID | - /// +---------------------------------------------------------------+ /// /// public class CommitPos @@ -34,20 +33,15 @@ public class CommitPos /// public const int COMMIT_POSITION_TYPE_ID = 203; - /// - /// Represents a null value if the counter is not found. - /// - public const long NULL_VALUE = -1; - /// /// Human readable name for the counter. /// public const string NAME = "commit-pos: leadershipTermId="; - public static readonly int TERM_BASE_LOG_POSITION_OFFSET = 0; - public static readonly int LEADERSHIP_TERM_ID_OFFSET = TERM_BASE_LOG_POSITION_OFFSET + BitUtil.SIZE_OF_LONG; - public static readonly int LEADERSHIP_TERM_LENGTH_OFFSET = LEADERSHIP_TERM_ID_OFFSET + BitUtil.SIZE_OF_LONG; - public static readonly int KEY_LENGTH = LEADERSHIP_TERM_LENGTH_OFFSET + BitUtil.SIZE_OF_INT; + public static readonly int LEADERSHIP_TERM_ID_OFFSET = 0; + public static readonly int LOG_POSITION_OFFSET = LEADERSHIP_TERM_ID_OFFSET + BitUtil.SIZE_OF_LONG; + public static readonly int MAX_LOG_POSITION_OFFSET = LOG_POSITION_OFFSET + BitUtil.SIZE_OF_LONG; + public static readonly int KEY_LENGTH = MAX_LOG_POSITION_OFFSET + BitUtil.SIZE_OF_LONG; /// /// Allocate a counter to represent the commit position on stream for the current leadership term. @@ -55,19 +49,19 @@ public class CommitPos /// to allocate the counter. /// to use for building the key and label without allocation. /// of the log at the beginning of the leadership term. - /// of the log at the beginning of the leadership term. - /// length in bytes of the leadership term for the log. + /// of the log at the beginning of the leadership term. + /// length in bytes of the leadership term for the log. /// the for the commit position. public static Counter Allocate( Aeron.Aeron aeron, IMutableDirectBuffer tempBuffer, long leadershipTermId, - long termBaseLogPosition, - long leadershipTermLength) + long logPosition, + long maxLogPosition) { tempBuffer.PutLong(LEADERSHIP_TERM_ID_OFFSET, leadershipTermId); - tempBuffer.PutLong(TERM_BASE_LOG_POSITION_OFFSET, termBaseLogPosition); - tempBuffer.PutLong(LEADERSHIP_TERM_LENGTH_OFFSET, leadershipTermLength); + tempBuffer.PutLong(LOG_POSITION_OFFSET, logPosition); + tempBuffer.PutLong(MAX_LOG_POSITION_OFFSET, maxLogPosition); int labelOffset = 0; @@ -82,7 +76,7 @@ public static Counter Allocate( /// /// to search within. /// for the active commit position. - /// the leadership term id if found otherwise . + /// the leadership term id if found otherwise . public static long GetLeadershipTermId(CountersReader counters, int counterId) { IDirectBuffer buffer = counters.MetaDataBuffer; @@ -97,16 +91,16 @@ public static long GetLeadershipTermId(CountersReader counters, int counterId) } } - return NULL_VALUE; + return Aeron.Aeron.NULL_VALUE; } /// - /// Get the accumulated log position as a base for this leadership term. + /// Get the log position at which the commit tracking will begin. /// /// to search within. /// for the active commit position. - /// the base log position if found otherwise . - public static long GetTermBaseLogPosition(CountersReader counters, int counterId) + /// the base log position if found otherwise . + public static long GetLogPosition(CountersReader counters, int counterId) { IDirectBuffer buffer = counters.MetaDataBuffer; @@ -116,22 +110,22 @@ public static long GetTermBaseLogPosition(CountersReader counters, int counterId if (buffer.GetInt(recordOffset + CountersReader.TYPE_ID_OFFSET) == COMMIT_POSITION_TYPE_ID) { - return buffer.GetLong(recordOffset + CountersReader.KEY_OFFSET + TERM_BASE_LOG_POSITION_OFFSET); + return buffer.GetLong(recordOffset + CountersReader.KEY_OFFSET + LOG_POSITION_OFFSET); } } - return NULL_VALUE; + return Aeron.Aeron.NULL_VALUE; } /// - /// Get the length in bytes for the leadership term. + /// Get the maximum log position that a tracking session can reach. The get operation has volatile semantics. /// /// to search within. /// for the active commit position. - /// the base log position if found otherwise . - public static long GetLeadershipTermLength(CountersReader counters, int counterId) + /// the log position if found otherwise . + public static long GetMaxLogPosition(CountersReader counters, int counterId) { - IDirectBuffer buffer = counters.MetaDataBuffer; + IAtomicBuffer buffer = counters.MetaDataBuffer; if (counters.GetCounterState(counterId) == CountersReader.RECORD_ALLOCATED) { @@ -139,13 +133,39 @@ public static long GetLeadershipTermLength(CountersReader counters, int counterI if (buffer.GetInt(recordOffset + CountersReader.TYPE_ID_OFFSET) == COMMIT_POSITION_TYPE_ID) { - return buffer.GetLong(recordOffset + CountersReader.KEY_OFFSET + LEADERSHIP_TERM_LENGTH_OFFSET); + return buffer.GetLongVolatile(recordOffset + CountersReader.KEY_OFFSET + MAX_LOG_POSITION_OFFSET); } } - return NULL_VALUE; + return Aeron.Aeron.NULL_VALUE; } + /// + /// Set the maximum log position that a tracking session can reach. The set operation has volatile semantics. + /// + /// to search within. + /// for the active commit position. + /// to set for the new max position. + /// if the counter id is not valid. + public static void SetMaxLogPosition(CountersReader counters, int counterId, long value) + { + IAtomicBuffer buffer = counters.MetaDataBuffer; + + if (counters.GetCounterState(counterId) == CountersReader.RECORD_ALLOCATED) + { + int recordOffset = CountersReader.MetaDataOffset(counterId); + + if (buffer.GetInt(recordOffset + CountersReader.TYPE_ID_OFFSET) == COMMIT_POSITION_TYPE_ID) + { + buffer.PutLongVolatile(recordOffset + CountersReader.KEY_OFFSET + MAX_LOG_POSITION_OFFSET, value); + return; + } + } + + throw new ClusterException("Counter id not valid: " + counterId); + } + + /// /// Is the counter still active and log still recording? /// diff --git a/src/Adaptive.Cluster/Service/ServiceControlPublisher.cs b/src/Adaptive.Cluster/Service/ConsensusModuleProxy.cs similarity index 64% rename from src/Adaptive.Cluster/Service/ServiceControlPublisher.cs rename to src/Adaptive.Cluster/Service/ConsensusModuleProxy.cs index 77759188..73447f62 100644 --- a/src/Adaptive.Cluster/Service/ServiceControlPublisher.cs +++ b/src/Adaptive.Cluster/Service/ConsensusModuleProxy.cs @@ -1,11 +1,13 @@ using System; using Adaptive.Aeron; +using Adaptive.Aeron.Exceptions; using Adaptive.Aeron.LogBuffer; +using Adaptive.Cluster.Client; using Adaptive.Cluster.Codecs; namespace Adaptive.Cluster.Service { - internal class ServiceControlPublisher : IDisposable + internal class ConsensusModuleProxy : IDisposable { private const int SEND_ATTEMPTS = 3; @@ -13,12 +15,11 @@ internal class ServiceControlPublisher : IDisposable private readonly MessageHeaderEncoder _messageHeaderEncoder = new MessageHeaderEncoder(); private readonly ScheduleTimerEncoder _scheduleTimerEncoder = new ScheduleTimerEncoder(); private readonly CancelTimerEncoder _cancelTimerEncoder = new CancelTimerEncoder(); - private readonly ClusterActionAckEncoder _clusterActionAckEncoder = new ClusterActionAckEncoder(); - private readonly JoinLogEncoder _joinLogEncoder = new JoinLogEncoder(); + private readonly ServiceAckEncoder _serviceAckEncoder = new ServiceAckEncoder(); private readonly CloseSessionEncoder _closeSessionEncoder = new CloseSessionEncoder(); private readonly Publication _publication; - internal ServiceControlPublisher(Publication publication) + internal ConsensusModuleProxy(Publication publication) { _publication = publication; } @@ -28,6 +29,11 @@ public void Dispose() _publication?.Dispose(); } + public bool IsConnected() + { + return _publication.IsConnected; + } + public bool ScheduleTimer(long correlationId, long deadlineMs) { int length = MessageHeaderEncoder.ENCODED_LENGTH + ScheduleTimerEncoder.BLOCK_LENGTH; @@ -78,10 +84,15 @@ public bool CancelTimer(long correlationId) return false; } + + public void Ack(long logPosition, long ackId, int serviceId) + { + Ack(logPosition, ackId, Aeron.Aeron.NULL_VALUE, serviceId); + } - public void AckAction(long logPosition, long leadershipTermId, int serviceId, ClusterAction action) + public void Ack(long logPosition, long ackId, long relevantId, int serviceId) { - int length = MessageHeaderEncoder.ENCODED_LENGTH + ClusterActionAckEncoder.BLOCK_LENGTH; + int length = MessageHeaderEncoder.ENCODED_LENGTH + ServiceAckEncoder.BLOCK_LENGTH; int attempts = SEND_ATTEMPTS; do @@ -89,12 +100,12 @@ public void AckAction(long logPosition, long leadershipTermId, int serviceId, Cl long result = _publication.TryClaim(length, _bufferClaim); if (result > 0) { - _clusterActionAckEncoder + _serviceAckEncoder .WrapAndApplyHeader(_bufferClaim.Buffer, _bufferClaim.Offset, _messageHeaderEncoder) .LogPosition(logPosition) - .LeadershipTermId(leadershipTermId) - .ServiceId(serviceId) - .Action(action); + .AckId(ackId) + .RelevantId(relevantId) + .ServiceId(serviceId); _bufferClaim.Commit(); @@ -104,45 +115,9 @@ public void AckAction(long logPosition, long leadershipTermId, int serviceId, Cl CheckResult(result); } while (--attempts > 0); - throw new InvalidOperationException("failed to send ACK"); + throw new ClusterException("failed to send ACK"); } - - public void JoinLog( - long leadershipTermId, - int commitPositionId, - int logSessionId, - int logStreamId, - bool ackBeforeImage, - string channel) - { - int length = MessageHeaderEncoder.ENCODED_LENGTH + JoinLogEncoder.BLOCK_LENGTH + JoinLogEncoder.LogChannelHeaderLength() + channel.Length; - - int attempts = SEND_ATTEMPTS * 2; - do - { - long result = _publication.TryClaim(length, _bufferClaim); - if (result > 0) - { - _joinLogEncoder - .WrapAndApplyHeader(_bufferClaim.Buffer, _bufferClaim.Offset, _messageHeaderEncoder) - .LeadershipTermId(leadershipTermId) - .CommitPositionId(commitPositionId) - .LogSessionId(logSessionId) - .LogStreamId(logStreamId) - .AckBeforeImage(ackBeforeImage ? BooleanType.TRUE : BooleanType.FALSE) - .LogChannel(channel); - - _bufferClaim.Commit(); - - return; - } - - CheckResult(result); - } while (--attempts > 0); - - throw new InvalidOperationException("failed to send log connect request"); - } - + public bool CloseSession(long clusterSessionId) { int length = MessageHeaderEncoder.ENCODED_LENGTH + CloseSessionEncoder.BLOCK_LENGTH; @@ -172,7 +147,7 @@ private static void CheckResult(long result) { if (result == Publication.NOT_CONNECTED || result == Publication.CLOSED || result == Publication.MAX_POSITION_EXCEEDED) { - throw new InvalidOperationException("unexpected publication state: " + result); + throw new AeronException("unexpected publication state: " + result); } } } diff --git a/src/Adaptive.Cluster/Service/ICluster.cs b/src/Adaptive.Cluster/Service/ICluster.cs index 5f70921c..46265ee9 100644 --- a/src/Adaptive.Cluster/Service/ICluster.cs +++ b/src/Adaptive.Cluster/Service/ICluster.cs @@ -56,7 +56,7 @@ public interface ICluster /// /// /// to identify the timer when it expires. - /// after which the timer will fire. + /// Epoch time in milliseconds after which the timer will fire. /// true if the event to schedule a timer has been sent or false if back pressure is applied. /// bool ScheduleTimer(long correlationId, long deadlineMs); @@ -69,5 +69,10 @@ public interface ICluster /// bool CancelTimer(long correlationId); + /// + /// Should be called by the service when it experiences back pressure on egress, closing sessions, or making + /// timer requests. + /// + void Idle(); } } \ No newline at end of file diff --git a/src/Adaptive.Cluster/Service/IClusteredService.cs b/src/Adaptive.Cluster/Service/IClusteredService.cs index ce1e196d..2fa74c0e 100644 --- a/src/Adaptive.Cluster/Service/IClusteredService.cs +++ b/src/Adaptive.Cluster/Service/IClusteredService.cs @@ -37,14 +37,21 @@ public interface IClusteredService /// /// A message has been received to be processed by a clustered service. /// - /// identifying the client which sent the message. + /// for the client which sent the message. /// to associate any response. /// for when the message was received. /// containing the message. /// in the buffer at which the message is encoded. /// of the encoded message. /// aeron header for the incoming message. - void OnSessionMessage(long clusterSessionId, long correlationId, long timestampMs, IDirectBuffer buffer, int offset, int length, Header header); + void OnSessionMessage( + ClientSession session, + long correlationId, + long timestampMs, + IDirectBuffer buffer, + int offset, + int length, + Header header); /// /// A scheduled timer has expired. diff --git a/src/Adaptive.Cluster/Service/IServiceControlListener.cs b/src/Adaptive.Cluster/Service/IServiceControlListener.cs deleted file mode 100644 index 7bc3a2c6..00000000 --- a/src/Adaptive.Cluster/Service/IServiceControlListener.cs +++ /dev/null @@ -1,58 +0,0 @@ -using Adaptive.Cluster.Codecs; - -namespace Adaptive.Cluster.Service -{ - /// - /// Listens for events that can be bi-directional between the consensus module and services. - /// - /// The relevant handlers can be implemented and others ignored with the default implementations. - /// - /// - public interface IServiceControlListener - { - /// - /// Request from a service to schedule a timer. - /// - /// that must be unique across services for the timer. - /// after which the timer will expire and then fire. - void OnScheduleTimer(long correlationId, long deadline); - - /// - /// Request from a service to cancel a previously scheduled timer. - /// - /// of the previously scheduled timer. - void OnCancelTimer(long correlationId); - - /// - /// Acknowledgement from a service that it has undertaken the a requested . - /// - /// of the service after undertaking the action. - /// within which the action has taken place. - /// that has undertaken the action. - /// undertaken. - void OnServiceAck(long logPosition, long leadershipTermId, int serviceId, ClusterAction action); - - /// - /// Request that the services join to a log for replay or live stream. - /// - /// for the log. - /// for counter that gives the bound for consumption of the log. - /// for the log to confirm subscription. - /// to subscribe to for the log. - /// or after Image. - /// to subscribe to for the log. - void OnJoinLog( - long leadershipTermId, - int commitPositionId, - int logSessionId, - int logStreamId, - bool ackBeforeImage, - string logChannel); - - /// - /// Request that a cluster session be closed. - /// - /// of the session to be closed. - void OnServiceCloseSession(long clusterSessionId); - } -} \ No newline at end of file diff --git a/src/Adaptive.Cluster/Service/RecordingLog.cs b/src/Adaptive.Cluster/Service/RecordingLog.cs deleted file mode 100644 index 9c0e8b4b..00000000 --- a/src/Adaptive.Cluster/Service/RecordingLog.cs +++ /dev/null @@ -1,834 +0,0 @@ -using System; -using System.Collections.Generic; -using System.IO; -using Adaptive.Agrona; -using Adaptive.Agrona.Concurrent; -using Adaptive.Archiver; -using Adaptive.Cluster.Codecs; - -namespace Adaptive.Cluster.Service -{ - /// - /// A log of recordings that make up the history of a Raft log. Entries are in order. - /// - /// The log is made up of entries of log terms or snapshots to roll up state as of a log position and leadership term. - /// - /// The latest state is made up of a the latest snapshot followed by any term logs which follow. It is possible that - /// the a snapshot is taken mid term and therefore the latest state is the snapshot plus the log of messages which - /// begin before the snapshot but continues after it. - /// - /// Record layout as follows: - /// - /// 0 1 2 3 - /// 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 - /// +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ - /// | Recording ID | - /// | | - /// +---------------------------------------------------------------+ - /// | Leadership Term ID | - /// | | - /// +---------------------------------------------------------------+ - /// | Log Position at beginning of term | - /// | | - /// +---------------------------------------------------------------+ - /// | Term Position/Length | - /// | | - /// +---------------------------------------------------------------+ - /// | Timestamp at beginning of term or when snapshot was taken | - /// | | - /// +---------------------------------------------------------------+ - /// | Member ID vote | - /// +---------------------------------------------------------------+ - /// | Entry Type (Log or Snapshot) | - /// +---------------------------------------------------------------+ - /// | | - /// | ... - /// ... Repeats to the end of the log | - /// | | - /// +---------------------------------------------------------------+ - /// - /// - public class RecordingLog - { - /// - /// A copy of the entry in the log. - /// - public sealed class Entry - { - public readonly long recordingId; - public readonly long leadershipTermId; - public readonly long termBaseLogPosition; - public readonly long termPosition; - public readonly long timestamp; - public readonly int votedForMemberId; - public readonly int type; - public readonly int entryIndex; - - /// - /// A new entry in the recording log. - /// - /// of the entry in an archive. - /// of this entry. - /// accumulated position of the log over leadership terms for the beginning of the term. - /// position reached within the current leadership term, same at leadership term length. - /// of this entry. - /// which member this node voted for in the election. - /// of the entry as a log of a term or a snapshot. - /// of the entry on disk. - public Entry( - long recordingId, - long leadershipTermId, - long termBaseLogPosition, - long termPosition, - long timestamp, - int votedForMemberId, - int type, - int entryIndex) - { - this.recordingId = recordingId; - this.leadershipTermId = leadershipTermId; - this.termBaseLogPosition = termBaseLogPosition; - this.termPosition = termPosition; - this.timestamp = timestamp; - this.votedForMemberId = votedForMemberId; - this.type = type; - this.entryIndex = entryIndex; - } - - public Entry(RecoveryPlanDecoder.StepsDecoder decoder) - { - this.recordingId = decoder.RecordingId(); - this.leadershipTermId = decoder.LeadershipTermId(); - this.termBaseLogPosition = decoder.TermBaseLogPosition(); - this.termPosition = decoder.TermPosition(); - this.timestamp = decoder.Timestamp(); - this.votedForMemberId = decoder.VotedForMemberId(); - this.type = decoder.EntryType(); - this.entryIndex = decoder.EntryIndex(); - } - - - public void Encode(RecoveryPlanEncoder.StepsEncoder encoder) - { - encoder - .RecordingId(recordingId) - .LeadershipTermId(leadershipTermId) - .TermBaseLogPosition(termBaseLogPosition) - .TermPosition(termPosition) - .Timestamp(timestamp) - .VotedForMemberId(votedForMemberId) - .EntryType(type) - .EntryIndex(entryIndex); - } - - public override string ToString() - { - return "Entry{" + "recordingId=" + recordingId + - ", leadershipTermId=" + leadershipTermId + - ", termBaseLogPosition=" + termBaseLogPosition + - ", termPosition=" + termPosition + - ", timestamp=" + timestamp + - ", votedForMemberIdVote=" + votedForMemberId + - ", type=" + type + - ", entryIndex=" + entryIndex + - '}'; - } - } - - /// - /// Steps in a recovery plan. - /// - public class ReplayStep - { - public readonly long recordingStartPosition; - public readonly long recordingStopPosition; - public readonly int recordingSessionId; - public readonly Entry entry; - - public ReplayStep( - long recordingStartPosition, - long recordingStopPosition, - int recordingSessionId, - Entry entry) - { - this.recordingStartPosition = recordingStartPosition; - this.recordingStopPosition = recordingStopPosition; - this.recordingSessionId = recordingSessionId; - this.entry = entry; - } - - public ReplayStep(RecoveryPlanDecoder.StepsDecoder decoder) - { - recordingStartPosition = decoder.RecordingStartPosition(); - recordingStopPosition = decoder.RecordingStopPosition(); - recordingSessionId = decoder.RecordingSessionId(); - entry = new Entry(decoder); - } - - public void Encode(RecoveryPlanEncoder.StepsEncoder encoder) - { - encoder - .RecordingStartPosition(recordingStartPosition) - .RecordingStopPosition(recordingStopPosition) - .RecordingSessionId(recordingSessionId); - entry.Encode(encoder); - } - - public override string ToString() - { - return "ReplayStep{" + - "recordingStartPosition=" + recordingStartPosition + - ", recordingStopPosition=" + recordingStopPosition + - ", recordingSessionId=" + recordingSessionId + - ", entry=" + entry + - '}'; - } - } - - /// - /// The snapshot and steps to recover the state of a cluster. - /// - public class RecoveryPlan - { - public readonly long lastLeadershipTermId; - public readonly long lastTermBaseLogPosition; - public readonly long lastTermPositionCommitted; - public readonly long lastTermPositionAppended; - public readonly ReplayStep snapshotStep; - public readonly List termSteps; - public readonly RecoveryPlanEncoder encoder = new RecoveryPlanEncoder(); - public readonly RecoveryPlanDecoder decoder = new RecoveryPlanDecoder(); - - public RecoveryPlan( - long lastLeadershipTermId, - long lastTermBaseLogPosition, - long lastTermPositionCommitted, - long lastTermPositionAppended, - ReplayStep snapshotStep, - List termSteps) - { - this.lastLeadershipTermId = lastLeadershipTermId; - this.lastTermBaseLogPosition = lastTermBaseLogPosition; - this.lastTermPositionCommitted = lastTermPositionCommitted; - this.lastTermPositionAppended = lastTermPositionAppended; - this.snapshotStep = snapshotStep; - this.termSteps = termSteps; - } - - public RecoveryPlan(IDirectBuffer buffer, int offset) - { - decoder.Wrap(buffer, offset, RecoveryPlanDecoder.BLOCK_LENGTH, RecoveryPlanDecoder.SCHEMA_VERSION); - - lastLeadershipTermId = decoder.LastLeadershipTermId(); - lastTermBaseLogPosition = decoder.LastTermBaseLogPosition(); - lastTermPositionCommitted = decoder.LastTermPositionCommitted(); - lastTermPositionAppended = decoder.LastTermPositionAppended(); - - ReplayStep snapshot = null; - termSteps = new List(); - int stepNumber = 0; - - var stepDecoder = decoder.Steps(); - for (var i = 0; i < stepDecoder.Count(); i++) - { - if (0 == stepNumber && stepDecoder.EntryType() == ENTRY_TYPE_SNAPSHOT) - { - snapshot = new ReplayStep(stepDecoder); - } - else - { - termSteps.Add(new ReplayStep(stepDecoder)); - } - - stepNumber++; - stepDecoder = stepDecoder.Next(); - } - - snapshotStep = snapshot; - } - - public int EncodedLength() - { - int stepsCount = termSteps.Count + (null != snapshotStep ? 1 : 0); - - return RecoveryPlanEncoder.BLOCK_LENGTH + - RecoveryPlanEncoder.StepsEncoder.SbeHeaderSize() + - stepsCount * RecoveryPlanEncoder.StepsEncoder.SbeBlockLength(); - } - - public int Encode(IMutableDirectBuffer buffer, int offset) - { - encoder - .Wrap(buffer, offset) - .LastLeadershipTermId(lastLeadershipTermId) - .LastTermBaseLogPosition(lastTermBaseLogPosition) - .LastTermPositionCommitted(lastTermPositionCommitted) - .LastTermPositionAppended(lastTermPositionAppended); - - int stepsCount = termSteps.Count + (null != snapshotStep ? 1 : 0); - RecoveryPlanEncoder.StepsEncoder stepEncoder = encoder.StepsCount(stepsCount); - - if (null != snapshotStep) - { - stepEncoder.Next(); - snapshotStep.Encode(stepEncoder); - } - - for (int i = 0, size = termSteps.Count; i < size; i++) - { - stepEncoder.Next(); - termSteps[i].Encode(stepEncoder); - } - - return encoder.EncodedLength(); - } - - public override string ToString() - { - return "RecoveryPlan{" + - "lastLeadershipTermId=" + lastLeadershipTermId + - ", lastTermBaseLogPosition=" + lastTermBaseLogPosition + - ", lastTermPositionCommitted=" + lastTermPositionCommitted + - ", lastTermPositionAppended=" + lastTermPositionAppended + - ", snapshotStep=" + snapshotStep + - ", termSteps=" + termSteps + - '}'; - } - } - - /// - /// Filename for the recording index for the history of log terms and snapshots. - /// - public const string RECORDING_LOG_FILE_NAME = "recording.log"; - - /// - /// Represents a value that is not set or invalid. - /// - public const int NULL_VALUE = -1; - - /// - /// The log entry is for a recording of messages within a term to the consensus log. - /// - public const int ENTRY_TYPE_TERM = 0; - - /// - /// The log entry is for a recording of a snapshot of state taken as of a position in the log. - /// - public const int ENTRY_TYPE_SNAPSHOT = 1; - - /// - /// The offset at which the recording id for the entry is stored. - /// - public const int RECORDING_ID_OFFSET = 0; - - /// - /// The offset at which the leadership term id for the entry is stored. - /// - public static readonly int LEADERSHIP_TERM_ID_OFFSET = RECORDING_ID_OFFSET + BitUtil.SIZE_OF_LONG; - - /// - /// The offset at which the log position as of the beginning of the term for the entry is stored. - /// - public static readonly int TERM_BASE_LOG_POSITION_OFFSET = LEADERSHIP_TERM_ID_OFFSET + BitUtil.SIZE_OF_LONG; - - /// - /// The offset at which the term position is stored. - /// - public static readonly int TERM_POSITION_OFFSET = TERM_BASE_LOG_POSITION_OFFSET + BitUtil.SIZE_OF_LONG; - - /// - /// The offset at which the timestamp for the entry is stored. - /// - public static readonly int TIMESTAMP_OFFSET = TERM_POSITION_OFFSET + BitUtil.SIZE_OF_LONG; - - /// - /// The offset at which the voted for member id is recorded. - /// - public static readonly int MEMBER_ID_VOTE_OFFSET = TIMESTAMP_OFFSET + BitUtil.SIZE_OF_LONG; - - /// - /// The offset at which the type of the entry is stored. - /// - public static readonly int ENTRY_TYPE_OFFSET = MEMBER_ID_VOTE_OFFSET + BitUtil.SIZE_OF_INT; - - /// - /// The length of each entry. - /// - private static readonly int ENTRY_LENGTH = - BitUtil.Align(ENTRY_TYPE_OFFSET + BitUtil.SIZE_OF_INT, BitUtil.CACHE_LINE_LENGTH); - - private int nextEntryIndex; - private readonly DirectoryInfo parentDir; - private readonly FileInfo logFile; - private readonly byte[] byteBuffer = new byte[4096]; - private readonly UnsafeBuffer buffer; - private readonly List entries = new List(); - - /// - /// Create a log that appends to an existing log or creates a new one. - /// - /// in which the log will be created. - public RecordingLog(DirectoryInfo parentDir) - { - buffer = new UnsafeBuffer(byteBuffer); - - this.parentDir = parentDir; - logFile = new FileInfo(Path.Combine(parentDir.FullName, RECORDING_LOG_FILE_NAME)); - - Reload(); - } - - /// - /// List of currently loaded entries. - /// - /// the list of currently loaded entries. - public IList Entries() - { - return entries; - } - - /// - /// Get the next index to be used when appending an entry to the log. - /// - /// the next index to be used when appending an entry to the log. - public virtual int NextEntryIndex() - { - return nextEntryIndex; - } - - /// - /// Reload the log from disk. - /// - public void Reload() - { - entries.Clear(); - - FileStream fileChannel = null; - try - { - bool newFile = !logFile.Exists; - - fileChannel = new FileStream(logFile.FullName, FileMode.OpenOrCreate, FileAccess.ReadWrite, - FileShare.ReadWrite, 4096, FileOptions.WriteThrough); - - if (newFile) - { - SyncDirectory(parentDir); - return; - } - - // buffer clear - nextEntryIndex = 0; - while (true) - { - int length = fileChannel.Read(byteBuffer, 0, byteBuffer.Length); - if (length > 0) - { - CaptureEntriesFromBuffer(length, buffer, entries); - } - else - { - break; - } - } - } - finally - { - fileChannel?.Dispose(); - } - } - - /// - /// Get the latest snapshot in the log. - /// - /// the latest snapshot in the log or null if no snapshot exists. - public Entry GetLatestSnapshot() - { - for (int i = entries.Count - 1; i >= 0; i--) - { - Entry entry = entries[i]; - if (ENTRY_TYPE_SNAPSHOT == entry.type) - { - return entry; - } - } - - return null; - } - - /// - /// Create a recovery plan for the cluster that when the steps are replayed will bring the cluster back to the - /// latest stable state. - /// - /// to lookup recording descriptors. - /// a new for the cluster. - public virtual RecoveryPlan CreateRecoveryPlan(AeronArchive archive) - { - var steps = new List(); - - var snapshotStep = PlanRecovery(steps, entries, archive); - - long lastLeadershipTermId = -1; - long lastLogPosition = 0; - long lastTermPositionCommitted = -1; - long lastTermPositionAppended = 0; - - if (null != snapshotStep) - { - lastLeadershipTermId = snapshotStep.entry.leadershipTermId; - lastLogPosition = snapshotStep.entry.termBaseLogPosition; - lastTermPositionCommitted = snapshotStep.entry.termPosition; - lastTermPositionAppended = lastTermPositionCommitted; - } - - int size = steps.Count; - if (size > 0) - { - ReplayStep replayStep = steps[size - 1]; - Entry entry = replayStep.entry; - - lastLeadershipTermId = entry.leadershipTermId; - lastLogPosition = entry.termBaseLogPosition; - lastTermPositionCommitted = entry.termPosition; - lastTermPositionAppended = replayStep.recordingStopPosition; - } - - return new RecoveryPlan(lastLeadershipTermId, lastLogPosition, lastTermPositionCommitted, lastTermPositionAppended, snapshotStep, steps); - } - - /// - /// Get the latest snapshot for a given position within a leadership term. - /// - /// in which the snapshot was taken. - /// within the leadership term. - /// the latest snapshot for a given position or null if no match found. - public Entry GetSnapshot(long leadershipTermId, long termPosition) - { - for (int i = entries.Count - 1; i >= 0; i--) - { - Entry entry = entries[i]; - if (entry.type == ENTRY_TYPE_SNAPSHOT && leadershipTermId == entry.leadershipTermId && termPosition == entry.termPosition) - { - return entry; - } - } - - return null; - } - - - /// - /// Append a log entry for a Raft term. - /// - /// for the current term. - /// reached at the beginning of the term. - /// at the beginning of the term. - /// in the leader election. - public void AppendTerm(long leadershipTermId, long logPosition, long timestamp, int votedForMemberId) - { - int size = entries.Count; - if (size > 0) - { - long expectedTermId = leadershipTermId - 1; - Entry entry = entries[size - 1]; - - if (entry.type != NULL_VALUE && entry.leadershipTermId != expectedTermId) - { - throw new InvalidOperationException("leadershipTermId out of sequence: previous " + entry.leadershipTermId + " this " + leadershipTermId); - } - } - - Append(ENTRY_TYPE_TERM, NULL_VALUE, leadershipTermId, logPosition, AeronArchive.NULL_POSITION, timestamp, votedForMemberId); - } - - /// - /// Append a log entry for a snapshot. - /// - /// in the archive for the snapshot. - /// for the current term - /// at the beginning of the leadership term. - /// for the position in the current term or length so far for that term. - /// at which the snapshot was taken. - public void AppendSnapshot(long recordingId, long leadershipTermId, long logPosition, long termPosition, long timestamp) - { - int size = entries.Count; - if (size > 0) - { - Entry entry = entries[size - 1]; - - if (entry.type == ENTRY_TYPE_TERM && entry.leadershipTermId != leadershipTermId) - { - throw new InvalidOperationException("leadershipTermId out of sequence: previous " + entry.leadershipTermId + " this " + leadershipTermId); - } - } - - Append(ENTRY_TYPE_SNAPSHOT, recordingId, leadershipTermId, logPosition, termPosition, timestamp, NULL_VALUE); - } - - /// - /// Commit the recording id of the log for a leadership term. - /// - /// for committing the recording id for the log. - /// for the log of the leadership term. - public void CommitLeadershipRecordingId(long leadershipTermId, long recordingId) - { - int index = GetLeadershipTermEntryIndex(leadershipTermId); - - CommitEntryValue(index, recordingId, RECORDING_ID_OFFSET); - - Entry entry = entries[index]; - entries[index] = new Entry( - recordingId, - entry.leadershipTermId, - entry.termBaseLogPosition, - entry.termPosition, - entry.timestamp, - entry.votedForMemberId, - entry.type, - entry.entryIndex); - } - - /// - /// Commit the position reached in a leadership term before a clean shutdown. - /// - /// for committing the term position reached. - /// reached in the leadership term. - public void CommitLeadershipTermPosition(long leadershipTermId, long termPosition) - { - int index = GetLeadershipTermEntryIndex(leadershipTermId); - - CommitEntryValue(index, termPosition, TERM_POSITION_OFFSET); - - Entry entry = entries[index]; - entries[index] = new Entry( - entry.recordingId, - entry.leadershipTermId, - entry.termBaseLogPosition, - termPosition, - entry.timestamp, - entry.votedForMemberId, - entry.type, - entry.entryIndex); - } - - /// - /// Commit the position for the base of a leadership term. - /// - /// for committing the base position.. - /// for the base of a leadership term. - public void CommitLeadershipLogPosition(long leadershipTermId, long logPosition) - { - int index = GetLeadershipTermEntryIndex(leadershipTermId); - - CommitEntryValue(index, logPosition, TERM_BASE_LOG_POSITION_OFFSET); - - Entry entry = entries[index]; - entries[index] = new Entry( - entry.recordingId, - entry.leadershipTermId, - logPosition, - entry.termPosition, - entry.timestamp, - entry.votedForMemberId, - entry.type, - entry.entryIndex); - } - - /// - /// Tombstone an entry in the log so it is no longer valid. - /// - /// to match for validation. - /// reached in the leadership term. - public void TombstoneEntry(long leadershipTermId, int entryIndex) - { - int index = -1; - for (int i = 0, size = entries.Count; i < size; i++) - { - Entry entry = entries[i]; - if (entry.leadershipTermId == leadershipTermId && entry.entryIndex == entryIndex) - { - index = entry.entryIndex; - break; - } - } - - if (-1 == index) - { - throw new ArgumentException("unknown entry index: " + entryIndex); - } - - buffer.PutInt(0, NULL_VALUE, ByteOrder.LittleEndian); - long filePosition = (index * ENTRY_LENGTH) + ENTRY_TYPE_OFFSET; - - using (var fileChannel = new FileStream(logFile.FullName, FileMode.Append, FileAccess.Write, - FileShare.ReadWrite, BitUtil.SIZE_OF_INT, FileOptions.WriteThrough)) - { - fileChannel.Position = filePosition; - fileChannel.Write(byteBuffer, 0, BitUtil.SIZE_OF_INT); // Check - } - } - - public override string ToString() - { - return "RecodingLog{" + - "file=" + logFile.FullName + - ", entries=" + entries + - '}'; - } - - private void Append(int entryType, long recordingId, long leadershipTermId, long logPosition, long termPosition, long timestamp, int votedForMemberId) - { - buffer.PutLong(RECORDING_ID_OFFSET, recordingId, ByteOrder.LittleEndian); - buffer.PutLong(TERM_BASE_LOG_POSITION_OFFSET, logPosition, ByteOrder.LittleEndian); - buffer.PutLong(LEADERSHIP_TERM_ID_OFFSET, leadershipTermId, ByteOrder.LittleEndian); - buffer.PutLong(TIMESTAMP_OFFSET, timestamp, ByteOrder.LittleEndian); - buffer.PutLong(TERM_POSITION_OFFSET, termPosition, ByteOrder.LittleEndian); - buffer.PutInt(MEMBER_ID_VOTE_OFFSET, votedForMemberId, ByteOrder.LittleEndian); - buffer.PutInt(ENTRY_TYPE_OFFSET, entryType, ByteOrder.LittleEndian); - - using (var fileChannel = new FileStream(logFile.FullName, FileMode.Append, FileAccess.Write, - FileShare.ReadWrite, 4096, FileOptions.WriteThrough)) - { - fileChannel.Write(byteBuffer, 0, ENTRY_LENGTH); - } - - entries.Add(new Entry(recordingId, leadershipTermId, logPosition, AeronArchive.NULL_POSITION, timestamp, votedForMemberId, entryType, nextEntryIndex++)); - } - - private void CaptureEntriesFromBuffer(int limit, UnsafeBuffer buffer, List entries) - { - for (int i = 0, length = limit; i < length; i += ENTRY_LENGTH) - { - int entryType = buffer.GetInt(i + ENTRY_TYPE_OFFSET); - - if (NULL_VALUE != entryType) - { - entries.Add(new Entry( - buffer.GetLong(i + RECORDING_ID_OFFSET, ByteOrder.LittleEndian), - buffer.GetLong(i + LEADERSHIP_TERM_ID_OFFSET, ByteOrder.LittleEndian), - buffer.GetLong(i + TERM_BASE_LOG_POSITION_OFFSET, ByteOrder.LittleEndian), - buffer.GetLong(i + TERM_POSITION_OFFSET, ByteOrder.LittleEndian), - buffer.GetLong(i + TIMESTAMP_OFFSET, ByteOrder.LittleEndian), - buffer.GetInt(i + MEMBER_ID_VOTE_OFFSET, ByteOrder.LittleEndian), - entryType, - nextEntryIndex)); - } - - ++nextEntryIndex; - } - } - - private static void SyncDirectory(DirectoryInfo dir) - { - try - { - dir.Refresh(); // No ideal whether this is doing the correct thing - } - catch (Exception) - { - } - } - - private static void GetRecordingExtent(AeronArchive archive, RecordingExtent recordingExtent, Entry entry) - { - if (archive.ListRecording(entry.recordingId, recordingExtent) == 0) - { - throw new InvalidOperationException("unknown recording id: " + entry.recordingId); - } - } - - private int GetLeadershipTermEntryIndex(long leadershipTermId) - { - for (int i = 0, size = entries.Count; i < size; i++) - { - Entry entry = entries[i]; - if (entry.leadershipTermId == leadershipTermId && entry.type == ENTRY_TYPE_TERM) - { - return entry.entryIndex; - } - } - - throw new ArgumentException("unknown leadershipTermId: " + leadershipTermId); - } - - private static ReplayStep PlanRecovery(List steps, List entries, AeronArchive archive) - { - if (entries.Count == 0) - { - return null; - } - - int snapshotIndex = -1; - for (int i = entries.Count - 1; i >= 0; i--) - { - Entry entry = entries[i]; - if (ENTRY_TYPE_SNAPSHOT == entry.type) - { - snapshotIndex = i; - break; - } - } - - ReplayStep snapshotStep; - RecordingExtent recordingExtent = new RecordingExtent(); - - if (-1 != snapshotIndex) - { - Entry snapshot = entries[snapshotIndex]; - GetRecordingExtent(archive, recordingExtent, snapshot); - - snapshotStep = new ReplayStep( - recordingExtent.startPosition, recordingExtent.stopPosition, recordingExtent.sessionId, snapshot); - - if (snapshotIndex - 1 >= 0) - { - for (int i = snapshotIndex - 1; i >= 0; i--) - { - Entry entry = entries[i]; - if (ENTRY_TYPE_TERM == entry.type) - { - GetRecordingExtent(archive, recordingExtent, entry); - long snapshotPosition = snapshot.termBaseLogPosition + snapshot.termPosition; - - if (recordingExtent.stopPosition == AeronArchive.NULL_POSITION || - (entry.termBaseLogPosition + recordingExtent.stopPosition) > snapshotPosition) - { - steps.Add(new ReplayStep( - snapshot.termPosition, recordingExtent.stopPosition, recordingExtent.sessionId, entry)); - } - - break; - } - } - } - } - else - { - snapshotStep = null; - } - - for (int i = snapshotIndex + 1, length = entries.Count; i < length; i++) - { - Entry entry = entries[i]; - GetRecordingExtent(archive, recordingExtent, entry); - - steps.Add(new ReplayStep(recordingExtent.startPosition, recordingExtent.stopPosition, recordingExtent.sessionId, entry)); - } - - return snapshotStep; - } - - private void CommitEntryValue(long entryIndex, long value, int fieldOffset) - { - buffer.PutLong(0, value, ByteOrder.LittleEndian); - long filePosition = (entryIndex * ENTRY_LENGTH) + fieldOffset; - - using (var fileChannel = new FileStream(logFile.FullName, FileMode.Append, FileAccess.Write, - FileShare.ReadWrite, BitUtil.SIZE_OF_LONG, FileOptions.WriteThrough)) - { - fileChannel.Position = filePosition; - fileChannel.Write(byteBuffer, 0, BitUtil.SIZE_OF_LONG); // Check - } - } - } -} \ No newline at end of file diff --git a/src/Adaptive.Cluster/Service/RecoveryState.cs b/src/Adaptive.Cluster/Service/RecoveryState.cs index bc8493be..1d5d41c3 100644 --- a/src/Adaptive.Cluster/Service/RecoveryState.cs +++ b/src/Adaptive.Cluster/Service/RecoveryState.cs @@ -1,6 +1,7 @@ using Adaptive.Aeron; using Adaptive.Agrona; using Adaptive.Agrona.Concurrent.Status; +using Adaptive.Cluster.Client; namespace Adaptive.Cluster.Service { @@ -15,13 +16,21 @@ namespace Adaptive.Cluster.Service /// | Leadership Term ID | /// | | /// +---------------------------------------------------------------+ - /// | Term position for snapshot | + /// | Log position for Snapshot | /// | | /// +---------------------------------------------------------------+ - /// | Timestamp at beginning of recovery | + /// | Timestamp at beginning of Recovery | /// | | /// +---------------------------------------------------------------+ - /// | Count of leadership replay terms | + /// | Replay required flag | + /// +---------------------------------------------------------------+ + /// | Count of Services | + /// +---------------------------------------------------------------+ + /// | Snapshot Recording ID (Service ID 0) | + /// | | + /// +---------------------------------------------------------------+ + /// | Snapshot Recording ID (Service ID n) | + /// | | /// +---------------------------------------------------------------+ /// /// @@ -32,48 +41,69 @@ public class RecoveryState /// public const int RECOVERY_STATE_TYPE_ID = 204; - /// - /// Represents a null value if the counter is not found. - /// - public const int NULL_VALUE = -1; - /// /// Human readable name for the counter. /// public const string NAME = "cluster recovery: leadershipTermId="; public const int LEADERSHIP_TERM_ID_OFFSET = 0; - public static readonly int TERM_POSITION_OFFSET = LEADERSHIP_TERM_ID_OFFSET + BitUtil.SIZE_OF_LONG; - public static readonly int TIMESTAMP_OFFSET = TERM_POSITION_OFFSET + BitUtil.SIZE_OF_LONG; - public static readonly int REPLAY_TERM_COUNT_OFFSET = TIMESTAMP_OFFSET + BitUtil.SIZE_OF_LONG; - public static readonly int KEY_LENGTH = REPLAY_TERM_COUNT_OFFSET + BitUtil.SIZE_OF_INT; + public static readonly int LOG_POSITION_OFFSET = LEADERSHIP_TERM_ID_OFFSET + BitUtil.SIZE_OF_LONG; + public static readonly int TIMESTAMP_OFFSET = LOG_POSITION_OFFSET + BitUtil.SIZE_OF_LONG; + public static readonly int REPLAY_FLAG_OFFSET = TIMESTAMP_OFFSET + BitUtil.SIZE_OF_LONG; + public static readonly int SERVICE_COUNT_OFFSET = REPLAY_FLAG_OFFSET + BitUtil.SIZE_OF_INT; + public static readonly int SNAPSHOT_RECORDING_IDS_OFFSET = SERVICE_COUNT_OFFSET + BitUtil.SIZE_OF_INT; + /// /// Allocate a counter to represent the snapshot services should load on start. /// - /// to allocate the counter. - /// to use for building the key and label without allocation. - /// at which the snapshot was taken. - /// at which the snapshot was taken. - /// the snapshot was taken. - /// for the count of terms to be replayed during recovery after snapshot. - /// the for the consensus position. - public static Counter Allocate(Aeron.Aeron aeron, IMutableDirectBuffer tempBuffer, long termPosition, long leadershipTermId, long timestamp, int replayTermCount) + /// to allocate the counter. + /// to use for building the key and label without allocation. + /// at which the snapshot was taken. + /// at which the snapshot was taken. + /// the snapshot was taken. + /// flag is true if all or part of the log must be replayed. + /// for the services to use during recovery indexed by service id. + /// the for the recovery state. + public static Counter Allocate( + Aeron.Aeron aeron, + IMutableDirectBuffer tempBuffer, + long leadershipTermId, + long logPosition, + long timestamp, + bool hasReplay, + params long[] snapshotRecordingIds) { tempBuffer.PutLong(LEADERSHIP_TERM_ID_OFFSET, leadershipTermId); - tempBuffer.PutLong(TERM_POSITION_OFFSET, termPosition); + tempBuffer.PutLong(LOG_POSITION_OFFSET, logPosition); tempBuffer.PutLong(TIMESTAMP_OFFSET, timestamp); - tempBuffer.PutInt(REPLAY_TERM_COUNT_OFFSET, replayTermCount); + tempBuffer.PutInt(REPLAY_FLAG_OFFSET, hasReplay ? 1 : 0); + + int serviceCount = snapshotRecordingIds.Length; + tempBuffer.PutInt(SERVICE_COUNT_OFFSET, serviceCount); + + int keyLength = SNAPSHOT_RECORDING_IDS_OFFSET + (serviceCount * BitUtil.SIZE_OF_LONG); + int maxRecordingIdsLength = SNAPSHOT_RECORDING_IDS_OFFSET + (serviceCount * BitUtil.SIZE_OF_LONG); + + if (maxRecordingIdsLength > CountersReader.MAX_KEY_LENGTH) + { + throw new ClusterException(maxRecordingIdsLength + " execeeds max key length " + CountersReader.MAX_KEY_LENGTH); + } + + for (int i = 0; i < serviceCount; i++) + { + tempBuffer.PutLong(SNAPSHOT_RECORDING_IDS_OFFSET + (i * BitUtil.SIZE_OF_LONG), snapshotRecordingIds[i]); + } + int labelOffset = 0; - labelOffset += tempBuffer.PutStringWithoutLengthAscii(KEY_LENGTH + labelOffset, NAME); - labelOffset += tempBuffer.PutLongAscii(KEY_LENGTH + labelOffset, leadershipTermId); - labelOffset += tempBuffer.PutStringWithoutLengthAscii(KEY_LENGTH + labelOffset, " termPosition="); - labelOffset += tempBuffer.PutLongAscii(KEY_LENGTH + labelOffset, termPosition); - labelOffset += tempBuffer.PutStringWithoutLengthAscii(KEY_LENGTH + labelOffset, " replayTermCount="); - labelOffset += tempBuffer.PutIntAscii(KEY_LENGTH + labelOffset, replayTermCount); - - return aeron.AddCounter(RECOVERY_STATE_TYPE_ID, tempBuffer, 0, KEY_LENGTH, tempBuffer, KEY_LENGTH, labelOffset); + labelOffset += tempBuffer.PutStringWithoutLengthAscii(keyLength + labelOffset, NAME); + labelOffset += tempBuffer.PutLongAscii(keyLength + labelOffset, leadershipTermId); + labelOffset += tempBuffer.PutStringWithoutLengthAscii(keyLength + labelOffset, " logPosition="); + labelOffset += tempBuffer.PutLongAscii(keyLength + labelOffset, logPosition); + labelOffset += tempBuffer.PutStringWithoutLengthAscii(keyLength + labelOffset, " hasReplay=" + hasReplay); + + return aeron.AddCounter(RECOVERY_STATE_TYPE_ID, tempBuffer, 0, keyLength, tempBuffer, keyLength, labelOffset); } /// @@ -102,11 +132,11 @@ public static int FindCounterId(CountersReader counters) } /// - /// Get the leadership term id for the recovery state. + /// Get the leadership term id for the snapshot state. if no snapshot for recovery. /// /// to search within. /// for the active consensus position. - /// the message index if found otherwise . + /// the leadership term id if found otherwise . public static long GetLeadershipTermId(CountersReader counters, int counterId) { IDirectBuffer buffer = counters.MetaDataBuffer; @@ -121,16 +151,16 @@ public static long GetLeadershipTermId(CountersReader counters, int counterId) } } - return NULL_VALUE; + return Aeron.Aeron.NULL_VALUE; } - + /// - /// Get the term position for recovery within the leadership term. + /// Get the position at which the snapshot was taken. if no snapshot for recovery. /// /// to search within. /// for the active consensus position. - /// the log position if found otherwise . - public static long GetTermPosition(CountersReader counters, int counterId) + /// the log position if found otherwise . + public static long GetLogPosition(CountersReader counters, int counterId) { IDirectBuffer buffer = counters.MetaDataBuffer; @@ -140,20 +170,20 @@ public static long GetTermPosition(CountersReader counters, int counterId) if (buffer.GetInt(recordOffset + CountersReader.TYPE_ID_OFFSET) == RECOVERY_STATE_TYPE_ID) { - return buffer.GetLong(recordOffset + CountersReader.KEY_OFFSET + TERM_POSITION_OFFSET); + return buffer.GetLong(recordOffset + CountersReader.KEY_OFFSET + LOG_POSITION_OFFSET); } } - return NULL_VALUE; + return Aeron.Aeron.NULL_VALUE; } /// - /// Get the timestamp at the beginning of recovery. + /// Get the timestamp at the beginning of recovery. if no snapshot for recovery. /// /// to search within. /// for the active recovery counter. - /// the timestamp if found otherwise . + /// the timestamp if found otherwise . public static long GetTimestamp(CountersReader counters, int counterId) { IDirectBuffer buffer = counters.MetaDataBuffer; @@ -168,16 +198,16 @@ public static long GetTimestamp(CountersReader counters, int counterId) } } - return NULL_VALUE; + return Aeron.Aeron.NULL_VALUE; } /// - /// Get the count of terms that will be replayed during recovery. + /// Has the recovery process got a log to replay? /// /// to search within. /// for the active recovery counter. - /// the count of replay terms if found otherwise . - public static int GetReplayTermCount(CountersReader counters, int counterId) + /// true if a replay is required. + public static bool HasReplay(CountersReader counters, int counterId) { IDirectBuffer buffer = counters.MetaDataBuffer; @@ -187,11 +217,41 @@ public static int GetReplayTermCount(CountersReader counters, int counterId) if (buffer.GetInt(recordOffset + CountersReader.TYPE_ID_OFFSET) == RECOVERY_STATE_TYPE_ID) { - return buffer.GetInt(recordOffset + CountersReader.KEY_OFFSET + REPLAY_TERM_COUNT_OFFSET); + return buffer.GetInt(recordOffset + CountersReader.KEY_OFFSET + REPLAY_FLAG_OFFSET) == 1; + } + } + + return false; + } + + /// + /// Get the recording id of the snapshot for a service. + /// + /// to search within. + /// for the active recovery counter. + /// for the snapshot required. + /// the count of replay terms if found otherwise . + public static long GetSnapshotRecordingId(CountersReader counters, int counterId, int serviceId) + { + IDirectBuffer buffer = counters.MetaDataBuffer; + + if (counters.GetCounterState(counterId) == CountersReader.RECORD_ALLOCATED) + { + int recordOffset = CountersReader.MetaDataOffset(counterId); + + if (buffer.GetInt(recordOffset + CountersReader.TYPE_ID_OFFSET) == RECOVERY_STATE_TYPE_ID) + { + int serviceCount = buffer.GetInt(recordOffset + CountersReader.KEY_OFFSET + SERVICE_COUNT_OFFSET); + if (serviceId < 0 || serviceId >= serviceCount) + { + throw new ClusterException("invalid serviceId " + serviceId + " for count of " + serviceCount); + } + + return buffer.GetLong(recordOffset + CountersReader.KEY_OFFSET + SNAPSHOT_RECORDING_IDS_OFFSET + (serviceId * BitUtil.SIZE_OF_LONG)); } } - return NULL_VALUE; + throw new ClusterException("Active counter not found " + counterId); } } } \ No newline at end of file diff --git a/src/Adaptive.Cluster/Service/ServiceAdapter.cs b/src/Adaptive.Cluster/Service/ServiceAdapter.cs new file mode 100644 index 00000000..27e6d7c1 --- /dev/null +++ b/src/Adaptive.Cluster/Service/ServiceAdapter.cs @@ -0,0 +1,59 @@ +using System; +using Adaptive.Aeron; +using Adaptive.Aeron.LogBuffer; +using Adaptive.Agrona; +using Adaptive.Cluster.Client; +using Adaptive.Cluster.Codecs; + +namespace Adaptive.Cluster.Service +{ + sealed class ServiceAdapter : IFragmentHandler, IDisposable + { + private readonly Subscription subscription; + private readonly ClusteredServiceAgent clusteredServiceAgent; + + private readonly MessageHeaderDecoder messageHeaderDecoder = new MessageHeaderDecoder(); + private readonly JoinLogDecoder joinLogDecoder = new JoinLogDecoder(); + + public ServiceAdapter(Subscription subscription, ClusteredServiceAgent clusteredServiceAgent) + { + this.subscription = subscription; + this.clusteredServiceAgent = clusteredServiceAgent; + } + + public void Dispose() + { + subscription?.Dispose(); + } + + public int Poll() + { + return subscription.Poll(this, 1); + } + + public void OnFragment(IDirectBuffer buffer, int offset, int length, Header header) + { + messageHeaderDecoder.Wrap(buffer, offset); + + int templateId = messageHeaderDecoder.TemplateId(); + + if (JoinLogDecoder.TEMPLATE_ID != templateId) + { + throw new ClusterException("unknown template id: " + templateId); + } + + joinLogDecoder.Wrap( + buffer, + offset + MessageHeaderDecoder.ENCODED_LENGTH, + messageHeaderDecoder.BlockLength(), + messageHeaderDecoder.Version()); + + clusteredServiceAgent.OnJoinLog( + joinLogDecoder.LeadershipTermId(), + joinLogDecoder.CommitPositionId(), + joinLogDecoder.LogSessionId(), + joinLogDecoder.LogStreamId(), + joinLogDecoder.LogChannel()); + } + } +} \ No newline at end of file diff --git a/src/Adaptive.Cluster/Service/ServiceControlAdapter.cs b/src/Adaptive.Cluster/Service/ServiceControlAdapter.cs deleted file mode 100644 index 93d95e0a..00000000 --- a/src/Adaptive.Cluster/Service/ServiceControlAdapter.cs +++ /dev/null @@ -1,96 +0,0 @@ -using System; -using Adaptive.Aeron; -using Adaptive.Aeron.LogBuffer; -using Adaptive.Agrona; -using Adaptive.Cluster.Codecs; - -namespace Adaptive.Cluster.Service -{ - public sealed class ServiceControlAdapter : IFragmentHandler, IDisposable - { - internal readonly Subscription subscription; - internal readonly IServiceControlListener serviceControlListener; - - private readonly MessageHeaderDecoder messageHeaderDecoder = new MessageHeaderDecoder(); - private readonly ScheduleTimerDecoder scheduleTimerDecoder = new ScheduleTimerDecoder(); - private readonly CancelTimerDecoder cancelTimerDecoder = new CancelTimerDecoder(); - private readonly ClusterActionAckDecoder clusterActionAckDecoder = new ClusterActionAckDecoder(); - private readonly JoinLogDecoder joinLogDecoder = new JoinLogDecoder(); - private readonly CloseSessionDecoder closeSessionDecoder = new CloseSessionDecoder(); - - public ServiceControlAdapter(Subscription subscription, IServiceControlListener serviceControlListener) - { - this.subscription = subscription; - this.serviceControlListener = serviceControlListener; - } - - public void Dispose() - { - subscription?.Dispose(); - } - - public int Poll() - { - return subscription.Poll(this, 1); - } - - public void OnFragment(IDirectBuffer buffer, int offset, int length, Header header) - { - messageHeaderDecoder.Wrap(buffer, offset); - - int templateId = messageHeaderDecoder.TemplateId(); - switch (templateId) - { - case ScheduleTimerDecoder.TEMPLATE_ID: - scheduleTimerDecoder.Wrap(buffer, offset + MessageHeaderDecoder.ENCODED_LENGTH, - messageHeaderDecoder.BlockLength(), messageHeaderDecoder.Version()); - - serviceControlListener.OnScheduleTimer(scheduleTimerDecoder.CorrelationId(), - scheduleTimerDecoder.Deadline()); - break; - - case CancelTimerDecoder.TEMPLATE_ID: - cancelTimerDecoder.Wrap(buffer, offset + MessageHeaderDecoder.ENCODED_LENGTH, - messageHeaderDecoder.BlockLength(), messageHeaderDecoder.Version()); - - serviceControlListener.OnCancelTimer(scheduleTimerDecoder.CorrelationId()); - break; - - case ClusterActionAckDecoder.TEMPLATE_ID: - clusterActionAckDecoder.Wrap(buffer, offset + MessageHeaderDecoder.ENCODED_LENGTH, - messageHeaderDecoder.BlockLength(), messageHeaderDecoder.Version()); - - serviceControlListener.OnServiceAck(clusterActionAckDecoder.LogPosition(), - clusterActionAckDecoder.LeadershipTermId(), clusterActionAckDecoder.ServiceId(), - clusterActionAckDecoder.Action()); - break; - - case JoinLogDecoder.TEMPLATE_ID: - joinLogDecoder.Wrap(buffer, offset + MessageHeaderDecoder.ENCODED_LENGTH, - messageHeaderDecoder.BlockLength(), messageHeaderDecoder.Version()); - - serviceControlListener.OnJoinLog( - joinLogDecoder.LeadershipTermId(), - joinLogDecoder.CommitPositionId(), - joinLogDecoder.LogSessionId(), - joinLogDecoder.LogStreamId(), - joinLogDecoder.AckBeforeImage() == BooleanType.TRUE, - joinLogDecoder.LogChannel()); - break; - - case CloseSessionDecoder.TEMPLATE_ID: - closeSessionDecoder.Wrap( - buffer, - offset + MessageHeaderDecoder.ENCODED_LENGTH, - messageHeaderDecoder.BlockLength(), - messageHeaderDecoder.Version()); - - serviceControlListener.OnServiceCloseSession(closeSessionDecoder.ClusterSessionId()); - break; - - default: - throw new ArgumentException("unknown template id: " + templateId); - } - } - } -} \ No newline at end of file diff --git a/src/Adaptive.Cluster/Service/ServiceSnapshotLoader.cs b/src/Adaptive.Cluster/Service/ServiceSnapshotLoader.cs index 49e096ef..f23463f8 100644 --- a/src/Adaptive.Cluster/Service/ServiceSnapshotLoader.cs +++ b/src/Adaptive.Cluster/Service/ServiceSnapshotLoader.cs @@ -2,6 +2,7 @@ using Adaptive.Aeron; using Adaptive.Aeron.LogBuffer; using Adaptive.Agrona; +using Adaptive.Cluster.Client; using Adaptive.Cluster.Codecs; namespace Adaptive.Cluster.Service @@ -42,12 +43,16 @@ public ControlledFragmentHandlerAction OnFragment(IDirectBuffer buffer, int offs switch (templateId) { case SnapshotMarkerDecoder.TEMPLATE_ID: - snapshotMarkerDecoder.Wrap(buffer, offset + MessageHeaderDecoder.ENCODED_LENGTH, messageHeaderDecoder.BlockLength(), messageHeaderDecoder.Version()); + snapshotMarkerDecoder.Wrap( + buffer, + offset + MessageHeaderDecoder.ENCODED_LENGTH, + messageHeaderDecoder.BlockLength(), + messageHeaderDecoder.Version()); long typeId = snapshotMarkerDecoder.TypeId(); if (typeId != ClusteredServiceContainer.SNAPSHOT_TYPE_ID) { - throw new InvalidOperationException("unexpected snapshot type: " + typeId); + throw new ClusterException("unexpected snapshot type: " + typeId); } switch (snapshotMarkerDecoder.Mark()) @@ -55,7 +60,7 @@ public ControlledFragmentHandlerAction OnFragment(IDirectBuffer buffer, int offs case SnapshotMark.BEGIN: if (inSnapshot) { - throw new InvalidOperationException("already in snapshot"); + throw new ClusterException("already in snapshot"); } inSnapshot = true; @@ -64,7 +69,7 @@ public ControlledFragmentHandlerAction OnFragment(IDirectBuffer buffer, int offs case SnapshotMark.END: if (!inSnapshot) { - throw new InvalidOperationException("missing begin snapshot"); + throw new ClusterException("missing begin snapshot"); } isDone = true; @@ -75,9 +80,9 @@ public ControlledFragmentHandlerAction OnFragment(IDirectBuffer buffer, int offs case ClientSessionDecoder.TEMPLATE_ID: clientSessionDecoder.Wrap( - buffer, - offset + MessageHeaderDecoder.ENCODED_LENGTH, - messageHeaderDecoder.BlockLength(), + buffer, + offset + MessageHeaderDecoder.ENCODED_LENGTH, + messageHeaderDecoder.BlockLength(), messageHeaderDecoder.Version()); string responseChannel = clientSessionDecoder.ResponseChannel(); @@ -85,14 +90,15 @@ public ControlledFragmentHandlerAction OnFragment(IDirectBuffer buffer, int offs clientSessionDecoder.GetEncodedPrincipal(encodedPrincipal, 0, encodedPrincipal.Length); agent.AddSession( - clientSessionDecoder.ClusterSessionId(), - clientSessionDecoder.ResponseStreamId(), - responseChannel, + clientSessionDecoder.ClusterSessionId(), + clientSessionDecoder.LastCorrelationId(), + clientSessionDecoder.ResponseStreamId(), + responseChannel, encodedPrincipal); break; default: - throw new InvalidOperationException("unknown template id: " + templateId); + throw new ClusterException("unknown template id: " + templateId); } return ControlledFragmentHandlerAction.CONTINUE; diff --git a/src/Adaptive.Cluster/Service/ServiceSnapshotTaker.cs b/src/Adaptive.Cluster/Service/ServiceSnapshotTaker.cs index 3329d870..c3264e85 100644 --- a/src/Adaptive.Cluster/Service/ServiceSnapshotTaker.cs +++ b/src/Adaptive.Cluster/Service/ServiceSnapshotTaker.cs @@ -29,6 +29,7 @@ public void SnapshotSession(ClientSession session) { _clientSessionEncoder.WrapAndApplyHeader(bufferClaim.Buffer, bufferClaim.Offset, messageHeaderEncoder) .ClusterSessionId(session.Id()) + .LastCorrelationId(session.LastCorrelationId()) .ResponseStreamId(session.ResponseStreamId()) .ResponseChannel(responseChannel) .PutEncodedPrincipal(encodedPrincipal, 0, encodedPrincipal.Length); diff --git a/src/Adaptive.Cluster/Service/SnapshotTaker.cs b/src/Adaptive.Cluster/Service/SnapshotTaker.cs index d1883c2b..72c433c0 100644 --- a/src/Adaptive.Cluster/Service/SnapshotTaker.cs +++ b/src/Adaptive.Cluster/Service/SnapshotTaker.cs @@ -1,5 +1,6 @@ using System.Threading; using Adaptive.Aeron; +using Adaptive.Aeron.Exceptions; using Adaptive.Aeron.LogBuffer; using Adaptive.Agrona.Concurrent; using Adaptive.Cluster.Codecs; @@ -41,7 +42,12 @@ public void MarkSnapshot(long snapshotTypeId, long logPosition, long leadershipT long result = publication.TryClaim(ENCODED_MARKER_LENGTH, bufferClaim); if (result > 0) { - snapshotMarkerEncoder.WrapAndApplyHeader(bufferClaim.Buffer, bufferClaim.Offset, messageHeaderEncoder).TypeId(snapshotTypeId).LogPosition(logPosition).LeadershipTermId(leadershipTermId).Index(snapshotIndex).Mark(snapshotMark); + snapshotMarkerEncoder.WrapAndApplyHeader(bufferClaim.Buffer, bufferClaim.Offset, messageHeaderEncoder) + .TypeId(snapshotTypeId) + .LogPosition(logPosition) + .LeadershipTermId(leadershipTermId) + .Index(snapshotIndex) + .Mark(snapshotMark); bufferClaim.Commit(); break; @@ -67,7 +73,7 @@ protected static void CheckResult(long result) { if (result == Publication.NOT_CONNECTED || result == Publication.CLOSED || result == Publication.MAX_POSITION_EXCEEDED) { - throw new System.InvalidOperationException("unexpected publication state: " + result); + throw new AeronException("unexpected publication state: " + result); } } @@ -81,10 +87,7 @@ protected void CheckResultAndIdle(long result) protected void InvokeAeronClient() { - if (null != aeronClientInvoker) - { - aeronClientInvoker.Invoke(); - } + aeronClientInvoker?.Invoke(); } } } \ No newline at end of file diff --git a/src/Adaptive.Cluster/aeron-cluster-codecs.xml b/src/Adaptive.Cluster/aeron-cluster-codecs.xml index 1bf3ec31..7f8733b9 100644 --- a/src/Adaptive.Cluster/aeron-cluster-codecs.xml +++ b/src/Adaptive.Cluster/aeron-cluster-codecs.xml @@ -41,14 +41,11 @@ 2 - 0 - 1 - 2 - 3 - 4 - 5 - 6 - 7 + 0 + 1 + 2 + 3 + 4 0 @@ -112,21 +109,31 @@ --> - + + + + + + - + - + @@ -135,14 +142,6 @@ - - - - - - @@ -160,12 +159,8 @@ id="6" description="Event to indicate a new leader has been elected for the cluster"> - - - - - - + + - + + + + + + + + + - + + + + - + - - - + + + + id="40" + description="Consensus Module instructing a service to join a log"> - - - - - - + + + - - + + - - - - - + + + + - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -365,16 +437,17 @@ id="102" description="A serialised client session in the context of a service"> - - - + + + + + description="A serialised client session in the context of a Consensus Module"> - + @@ -389,32 +462,10 @@ - + description="Serialised state of the Consensus Module"> - - - - - - - - - - - - - - - - - - - - diff --git a/src/Adaptive.Cluster/aeron-cluster-mark-codecs.xml b/src/Adaptive.Cluster/aeron-cluster-mark-codecs.xml index 425a65e1..95248699 100644 --- a/src/Adaptive.Cluster/aeron-cluster-mark-codecs.xml +++ b/src/Adaptive.Cluster/aeron-cluster-mark-codecs.xml @@ -35,24 +35,26 @@ id="200" blockLength="128" description="Header of Consensus Module and Container Mark file"> - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + +

    w 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 QYaQzx3j1O6+POvdeM3xL@3 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

  • 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 z zr0RZaM$YetdFpvD7okW%$!v?GQ)^BC>yc7Lr_szt{ESP*kVzrA%vx*NY8drlx5!@0 zC|6BhB&D84BL=*_D1FAKDZm=1oX5nv7UVqJ&~1y#S5P0lxV z%%O9jSl`43Hr75lPO zF?)>q13PiD3J+fQvIir-}`Cb;a0{prSJJ zM6U&gPPHfJsE|=30gRVek@UHq8(wGw9STs7Ia3tC17oLUNH)b{ESimS-F&BATP zR5bW(?J~+4Sp!u(<`%T}$)IxbF{(hs1siKzBJCwPTgubf%(&EW?R#__~5lWGiNp7l@wzcK&69P1*0LL^2dN-SY=m$r+bq zsenxB0+9KwRg5PysUtQauuk(YzHB31LBKj9^beYaMr+BR^_UVtEh3~w@w=djPvYD0 zstj?KzTHUqYBKu^-}ShkOOBeFHWM8w55+qYS~!^1tD^J`6DPk&*A%ysEWckW^vh|I ze7?&xatuFIWf*$4TZ*?l)#N)w7gt(Ax8zNh-vcreJ7q@I1A~&?y>gL{#lpFL9_Dj` z5nOkpvD7%b{-jLXT2(t2F$J0yo0*Kwqe+ZxIa!|Q4-RTg4)qx`${md+u-SGnRX{_Y z5F02J42Ca~vsLIE3W{Z$ygZ6D!59t`UjJ0sjCE;|o*`tuq&a6rRD6T7Nfbf%sJVmp zFc3bgfiplofvDn&+wHDqf@r}$LM6{(&%0MXc03kk=^GjyD`QLetAg|Q_>g+Kk*oOO zbk{^o^jT{m-Po~3Z>D+G7Op{aBNS3#W(K|l7m{D5R%X;vM^On6^ zo=z3chotJt;p-H&#M$4;48K#?;B5S4hmtTQQuQo2+O)A zU&?95m>Y;Q38syo0o!52PvpjBOxw?$_?A!2W0dueA44e))jnrOWXX^=6GwdQ47pqu zcF$z6=M1^n*SdlZ9`?`L{|{H^92-dVul-`{c5Bk5|_N>h<`EokAHRA!4-0pi>wmNzv^i2(b?pp8#c<^Hy7sHhBVEMIHYG8v%DGQ8%^V|`F?w~d@uk1;f`YX|uC&Yq7Al-#LS$jcJQ48u* zvdxRIbz(Z(b<*v(wEFiZfl|Xij?|b@Sdn8xR=UaF4T7pln{Hl4 zUysL1j@Jn4M;xjTd4l?Yp1xFr9jeJbMY%{ilN}09I;s%G&9hJdqUhV0_ImB_q`dd) zNn!7dkTGHmX*h{cp|X6~qE%3lB80EjUlo{;$Qv z6fT76%nhR7jOx-EqMuyxV+0+3ZFVykJoFTgNe2R}dJ4QBJTT$uDd8;mN(hr_9eP6~ z5EQ)gN*(%(CJLS-dh$ytV27c{0nwlplj#f+{t+}3Di~lobA;$8pdxgI=og>@&R|2| zEgld3iQ~aT%|ZGbJPkZ#6;TBB6EKO^kHA7jX80Mfm`33A!>(XBnK}`6dP;k)7z{iR znK}`%VnIR?LHZ?xu^@GOuc(t=zeesPh4#Rm8jIX9P!T4m|4m070q>s=Oi;Zcf5r@k z(&+&l(Av$vfluuR6F~Ht-*y*!M*jA;W7D|8lMqs%Ui2PP3Mz><^BgN1RiQT7F>v!Y zoxY8Y3%jBO+fnc|1nI;4)`#i2quR(gJI(=Os@Ivur3MbtW;bLK>0=#$fQHNSHdg&%0Savn8f^N77eq<{59T0- zwr>YDgb22812tq1w(kJl@oDTH0TovHj-={8lMNND-|jJWYZH9+li|m4&;@?4zq6+y zUZ1)L}&h2zMMolP&>$+MC;KHL3l*K z#3X1RgTI3|0g@kSsW!spKsJ)!F<9`%j4v6Mg8-usQeT{|{}q)>ZZs@(9C$FOKNB?4 z19&hcXdfssbhj&b-!0O|6aqA(&{G*M()WUQ-|t9=M<6>0{#R!5NU+D#tu+00Ab$-% zF{#ZC=Y(JSaK>--|BFUP`l|c@_>WuUg|ge*O|hTZKeFcQ%6k>k)#Mqu)Vhz~Sbl;G^Fc zaKHL(++80)?J?^lHOS1TG%-8YA}PSQpn4E|=%2B7L(MHzZewI|#xL?#u6@_(aT@suZ^+yP)sBY zR{r>Ke|E73uw{4FDEP+%NmLM^pgWGH36`E>%Qs+la>=-lb|Q@Xb7MghII6St58E4H zDf=ctmWLqYM+bDITVvmMcksIOxz)McqM^{`PQ*Eg%}?aGnH8B1n3K=d;iWBWiim8* z#2GCpHqdRevh&>UjfZcdd1zXwGmI{fhz3_BNGwEEut3@1R$5np@IVc0akvc9Ru~x( zq&n#zJz0uW{Ja>bfAO?N-g_)XreMCreJL7!Qi{ndH2Q6qJ49vIl##NUrnI;#C0s9NsP2qN{Tjsx_~7O&j$NG zfWgqWyDb0BdUo7!O>Ep*c9E4*S#~@F70fQ~-G1-h5Rvc_u+v)BGGr;!oP$mny!e1V zMc&CPCMl&A_(Dao{e_NmBaC~{)0%x|ZcZI#Bg+-*kz2T+cV+xt$C^}>U3Vk@qJykd zAqk+hUFm6fB}Q6P{0r?AkoSaK+sT$0X%=BN5jaklOPw+O z=jYoD4mC5}am4-S*3+U^$gD-uCX_6PiH7&K=9mZ#H(%B%?SeIhvuR0i>2-}g(cs)pZ! z6L8Ij0Fz%2816?l`#;+z?JmY)&9?1b;dFj*bexkX+h^QX>)JCW>RR*sYn5wERMDjL zKH!r%`RnVYx6=W3see8z$O~%ChjxKCQIaktvLLcICK?r1NQO<@CGK#uW9h0~zuqq$ zT;9+yTbeR1+@K}k#hBS}TV`5NrNUpJQ|%?j2~;dclxxw)6t5PlSZpRyIuAxpH=0Sz z9p82ArCFy(aFerx8m?t<@BDssqO(GW+J=QLC5;zVf zU|tv(>?9I0hN5-Lv!+>jYQyHedPi#cBgbk(<>5icl#pl@W1tUC>8&C(gog!rPPC_8 z$QmzPh`zdb{l)!5S8u!fe8(MlP_;dvVhu&+1!lFIT1VoCP9Mft;0jxz-@N$*qx-B0 z(Wig1ytH+#VkHsjB|1u}*U+S49(T`s6aUJ!`9daK)nuz+yr^cw<%7ws5_Lsyo;}L9P2J`=>4Wvc|m49&E`h9ACoa=636BxTa|pcc$<6ZRCoXW$ zY*0)_aD>fpvvP)r-^5RNTnK>0pN`>9?oV1-s~c#qXt7t6F9dCYubw2kVf6gdGh&pK zY^q)C^RO9kM&K#oa;2C*NoblCrL`POTH6cLHr$@R0POwO@oU!{CaS;{keQT0jq0x!Vvk7)>!8SfPR?8u~QkC;waO#Eyce)Z=2zP*O%_76}XrXZwKd3Yp!onWMSXQ1dn!Jgu>3TC*TM1|6F{J}hH9-zDjR zCF22hOMPwcbQV6 zpeh}3Dq&9XKmJ`)5flK#B2Up0Vtp5pc*HyAzDXWQF1fcVM&fZi@tweh{*-)9V#KPBzrp=u;1N{4l?4@=@ud}`3_QF+vHlz=C4_g7UB+Ln z2^c(~pGGG zj94GyW9B}+z!hSiPuJQhgjR-Mzc_-d<_yLV3bLx+T zt7{o>wb!GARR66{R1?X=pTtkTN~=98DVyf1`)RJE7`D51sQiiXzsRyLRi*^9uHlsT zwPV^x`5)U07og$mp{<4uD9p22rr2tpv{!8z%p4%1Pk9xzxEf9QrO8GO60chGX(N0p7@j^B7MP#XH>MzQR zI(foMQQ?D4M97}6qh7ibvhhBzU?=T*z}R(c@9b@I_$digK?uqd%@;zxKAK=vy`wa8 zcGXE%IO4hy`*-FnoeV_5{Xr{EWLV-!L@>{}Jq9G*63fj)Fr+uHRSc4igqkD#CyB5f0rCIJzIDMMuqnO6dfG=f0dZ?!b7&$9j}d* zaum+uN-XeutC})}d@M0%WW$#vwXW6_&hI!vWQC4lVVqTnv+}y%jA)BQEO!Qbn0V^w1XH4K zK$a!;l+f3C-o_<5UD)Wa70H`CEs5#Ni(z?&zK9bx#Ta@z7kO5CHbsM-tzgWhs7eD& zl>Fs)11P`Xgr$9SvS;2PdfCgvl1EMGDrtI|$iag>x#EJ&s-7;1#Y z0G$}|&_}XgIa;4LGk0v*$||!@Tws)(zTva87FonFU!}Z|1ZNR?R)uYEF)A&*=<+P9 zySbx$t(~%-sxLuVqZB-YLDd2irJ?SN_=NxDDU7{2Xbk1fwV8`job+Qv%C-Cmj!C)9FSw2SJcWyfquY!OGEM~rW?t)p`XvL7L^%pIJT2a> zauN?eo6r$y3H3oAJR8?xG1f}X#HDrmWF2$)_?`t3YE(?HF}9fYFb6jy`Fq^#n-4>Q zBSH#zE!dAI68zf7?iWI%32=X5;Ir82$WCtO&tZOCuPYT7AKvNOEN3n83jcPIjD--p zZ`K2g6$8Js?j6ib=0s_pD4rstYDq424_T$SA#OsZa3N-_1+g+sd<;mFF|s#i6qXz}!0}4OfkXAo zM1#hIxDv#lAV;+VUXADr+!L9s3r6FHXiJ%>DZ-- zFhX%m2xQ#~t0-6{q_mo{?NNTBHuTU5M%h$Eo6CX_=fE>TS@s9 zy2C;kCU?FSuzv&w0mX)-+<}K$op&T%1Jh?=U3a`ZIo`g5hmUCpk&c6&lOi=LxCN7* zk6AwAK^&vZSyr4`oUL1&&wEVYH4D53G=`(TLsGA1N0#H6T&{^$b6&Lypv*Je>6Pz= zb;G`}#)fo7cxVkKuPS<(GR|-f1m`=N67{!i7*^wF(TYS!0$2^y=m(|+P7m=ou{!?X zf0P~|_Z-O=qtrO6ws$YFrA?HP4;CzB^9GM=P!cl4qAb2o4l@6%p;C)SJn&3$LKu_K z9BZPQ#vFqtykvjl4OS16;q#+?M%R0_o%6GP3WGUsLGMDnaEJ!_dv5KiV&cKS`1%1s zjciD1`KAFP!2X6`{F@3|k2SmAT8YJhUsc#6yP(%wa(GQfmv~dG)C;dwXFH)*kyw9e z5KoMN`fh3qw@FtV-Kwgk?n+M{2wff|pF0qYW%U_g$$^E;zy=+tu>Ace6Re9rRj4e!>4$-|9 zBllkx8MK0)Z0&I8@K(odx0Rkjf8OZ!&{i?DGECXL)8~PS8h9 zTO-1_6+Qwu`) zF28G_^{HhglCk<(dp2xDpr*kd)gr!kl3YQ6beoAl)quEuKdMW zk^ZujG_cniU%yqivBP6&_cvnr3_e0OV`y>Zm15j=?OgQXVVV@ewR+oF<4+I1IxZ0UlpDd4amS zb|8e!#G&s!{3MQF+*VBxz(fK*48-RyJbVW^d`BsKhdF%5F?WI0VAz!^?4HxYW1hVJWS?#|ni4%D!O+11p;2y{3j$u)K#CBpjr zVb!V!waoW<3l?_#eEz2{=uS9AZ)&chj}zzU7Nc&0wdRF!PA0T~nN)W&?D+m1>ICtf zcB0c&-Rz{wmUgw_?xAs+8}FP?*6wJ$apt-Fz*wdM+ksWS`Ld^56j#JEbu*|4*L;1w zr3=GYuZ<}3^_cPXmRd9({Z2vd^ZPkC-1GXtS1~i=g5KNI&}Da{L)QP~?f5@Is)E7% zhqqH>=N+D&%6ti>00h_da>V(AYC?Wnpr$rZ?w0&kFK0U(FtZSS(2Frb%8GMsvHoM8 z%=Xq|USf{JR+^BlMi}l}CPn4qVqA6g;>~>Shs%API`HzfxT~n~H6KE?WHXD%wfLLS zc69dTUpLS7zF55ccc*%4O9^a=H+i8PwK#O?USDZcQ z7CEm*Mhd`4unq2z1IS5z-zAiFNqvn+^{7wLO7Sl|8*949k(uU9V+|VZEx5S3h!mH7 zqalMtx_m_duzPB2Vjl2+e+;aGASpK}YhA?I**4CWZ#-RXc!4qnok>IYQ2vFq5WGRP3^=~8hzX@=6L#%`6zMore<=YJbC@eeaVSf91TIW}u3Q&b}(E-76( zQi#rz1Acw-i3=Jt3JwP+S%wy}Xt(iM@h6%pB-m5OmXnhz&JooLJf?b(__6Oza0_h7 zU&L>fbC&d_>%dW$%P9Kx2b6sQeRa3y@44e?CuM%F#q5dJP3w(3c3QTaRXH#fv6Sd8 zc^w$UchEM~77s`---Nk?#+4gj33`Wk@V>R!04p<7Xd{QBSYc`BCv$Dh>a83Bp$T{h zX!U=U*tKUW+XYm8VICw5)GQfT+aa_;!dd*iHX(K1a^DT3$w2}vJPV+AupGO|O%iBYl2_kbbTzf6`Q_ng^LZ(FRz8&K(txGXf#Gx=euq$|_gVN38W5#^ zlj^--<2mtDnG;h1v%(e9+@yWQkyKNzsF6!st|))bq$!D}t4&L^E57_txrtIGrf4-k z!}e;0o0{e)*Qg;cqnd+$I=6SCGr{GbOMtJTi48N{k zZ)fGn|t6}2WF1|=_ z`A-zRltjOf#@eVY)ThXAelgxI&Bs1_cU#+TIrjukN!>KQ59@13Errwe4FhH}ae#V8 z_f+-YX3pr#U!@5bLK~0hc!R$uW)b(v!Y=qnKknS7D($Jo>2GD=QPHE~hCK+@m2uyPhiW>#7 z=Wc6p@aQ$)Qo9C7?w4EZ8AoVE%7Ry)P!P_`*PMX=DXywM;TUeDIc{24HqkuLva9Z? z-&l5nYxe4oY1VyAySPJW*_3W&ljAC0yw+YhWcRBbX1URqY>!W9hNOYQ>M|hq^09eYX?_jxwa+oI*fN)Rr>oI{fb`;20&}MJ}9p*6TY$x}2m?H`(zY=-b4%g3s=8 z2(RU!FZ*M!LGw-H*{=_|&+gUVj2p3=_}Esc-1FF%a(1Vg&YZz5fqFB|QgS7tR_wW+X=aTv>otz2cB+Q>y>Z@Oc`8JGEVT^}geO-{ezx;XNHwBQjqk)4GKZx5#eo ze?7O1zVVuTlr!F@-#~~fc!GBeZCer=EWu?_I;=vKdIz{a0ol$0P#Q zh%W*1OW^k4U6{P{GrMP6z3){J+NT_4^KPyapZT-R_=+Ff^t zYYmfK4go1FSH)?TaNH@}D6_i!Bm4!?KY!oq!%-j<9x?y_~}l4oY)*NAClQqRU3}s74sA5r1_ALMu7PPOQaX%^=2``aor;eXa99f>rmwE5OjiPiOCs_4e#w$BizK z8h09M>Va|(L{58;a!ZJvZvRf~tH;m*u|AKj{EnCZ;pdb+fcU@ir5H%4RZE@v4k?yO zr1u>PXs(ws*^@Eim0#tmqT^LpRz{J`+Ks{)|8+K?oES z*cfKP2e3k>#$=q(5}uD`4=WSc!S;i14KFrC`Yo%MVgMEkGBfEIgUeaa+j|&B-kd=-6If;GZJdxlaFOvS_IgQ7VwOm%0Y3zca`Z(+d{Dmk67EXR_jvy@!Kc~KyI1!$&4 zbYm&TL$gL{QOjd1V_?1wV@zdHQ$rREb+(u8Zn#J;s_rq7>U$W-=hHW`OZuIrl*S0m z2_r0wkJ!_dlGD{DDGl9(oV5k#PvQb_!lbd}20T@C7`OF#1I{DpLuF@y^;EY?BLtJw zUQ+ZH(Hys5nU$d#a*UXDrw>;@cFnR?LaVKA!;>>k2*lk*JTgtC7Uc2yRzM?o%0d7H zk~6q=9g{o7C%4n<0N&AdLA)cFfB6lSrs`Z=omc#NY5Yuq2ng`Vr-}6c&70OBq7+eW2!ncs&sMj0LLGmTR-37# z<7S+dT174lJ5ebutIlE!3TiWZVXN=bIRCfFvpiJVKqE1K;NvGh1*D?a709vck=({9 zNw_ko$@Qp%Rzea9+JP~AEWe3FtAU6=hLv2D2CP{r#DN?b3L-0%pw_9>okTnxH;Upk zHP4WsW8H7G`+~a=a5JRDhzeyw;r3rs*PupTI*_w)#LJszVau3hte_RB>%kQT7g#eF z98;8d>o_k~ZXPDI1D;(eKFNQ(7}}z&v~`R+D*wpjr|H_cR%Gc+@C~Rl`(la_b9M}L zCb_%Wu@Rp*P9kx~)g<3C&NT2HP49qAM#&AOA6}f6ozgw3!)-|EiF9V{Gz~DqbXnZ~?W#lhQVYT>wXDZiW8eb9rNd8+)h5LMYXsJ|1E6pLMvty2M0divTCT~{B~MWw zux(55Q<674oYNW6yvEh-QB*d*tL0XCrG}k`YrA%ooNhFq#uu$_yIVi-vf*s0Af%t_1{^C6wu4tzcbwt>6P%9)=z8v4 zvDI6%vpb-?X*2o2{_HW5?;uNN^D!8=psSQm-HMI zI3$9ol!##=&sX9P$@4~Mt7E-cqpS*~BA`P;1G>^zX9w#iGM@Dvut z8S+dse2vAD)3D_0llN3E1gIE1a!FmC6tmS&J91LI@pe0=$;}hUVvwyTT3OREnNW7c z-*pIDjXA1^`<{g-?Y2EZ;^r$Me1^vEKmM^{md%j%+r#qT;YN6N|3; z1|(`S@DE5o;1!KqL4iIMP9J3Yyk7*v7ftY5feze>U{3rnP$cTdoz zLblw-bR5O}ut%~ml^scQ!JRhY+P202_#bKVm=h;bG1zB+-@MB5{4>8+qjLSTap8C! zM3$m6yuEwhKsanN_HbE)f6I-#b4Rwi|Li@m}=_0Yp&6nrVCJ9lmwi zk4m-`jG_~PLI>jihD@R>Q1GdB^fX6Z{D^G{f7lM# zhx|b9!93mW&GmmB3+oFK41xkc5kFuF-Vpencs;HV6$pHq2ngO#dukT@g8i=o&s;qL?6HmC_G-tx=r1|{a(XlHpDml> zXy2G>;SVbLD=vM#-uDq+O#GZiVmX56Ut>^3g3w=PS(DJp>Yz|9M28+-;C}v(G{KxW zUiH*oY)GQ(BMM)rYVYG zY8BO{`a0DIQICUBjDMbXRZ?Hho#nq%n#<2!htQ=tKXiA0Zhd|NpPR3O-S5-9mtYpX z_TTcg+BKC}PgI>rxRZg!MOkMO{&I@?$@kL;YW51mBG)FF zJrCd9ja8(u^fWLrBg%5y_D#JnzoC|1`NIS|#U&ZxnM7Z&Y#VfXw|2D9E^XrW7$&9e zA_??1IOU8n4w1@krj-xRmoW#NN>2Q1wOT>#L8giVn4*!Zg>xT@8ZxH5k~USjhn%gO zhM4!Nm1^4lu2#BDv`H7vF&_}+^_3Z#u8}t-jDwF7AEc)#Di^F$Ay%w))Gm={;;Lm^ zFX8|7xowyY(Y>vPuF##2rK(uZa4Y0yb!(K-VV#JiKT)C-Ux>zb){S+sTcCA5+;E(Z zON;RV#J=~Tzuw^a<9A(l)^%Aq$!SQ%gY3Z6I_>b9+mzklfiUu4_-jb#0^nCVUSPQ? zxZ6?$bY81`2Wjq)z01r+Sw|oWboGdw*i(odooRuHR$oJVA6)rM}`| z?%X#MUE!iUp&*7g#M0)D15uPqnvY!y&n-ohQz5o~601HTzWsmOHXs+fhv5qHn!asu zDnL9kOAT0q;{C{-n8kG}mpnSy>h$kX$8hdGrkspom6 zu&#LJ^$c(v9&SonQ zb2kM)DU%i6C?Z#@JoNIj>lU+dlU5u9Y@Y}uAgJ~{ei_qc<_*SP>*6sw#+(RjiPUGa znb@p6-Hp3VdZ=qoTm92C=Hr}))K>cV$SSB>Fy;-fKSo#(E11{tT&%r^qux{TIxTtE zzo9oEsTq1`AQ0KU!KJw|kBG>L3K?=by7tp@9LtLD+TU^X3zi&SEl4szpDxEuUty*`LyO!rSq($i$&19OGyzu{Rj6HHE!Py>|HV?}mP_)cf z<%~_A0IfYUj7;YRPx>fG=25Zs5~( z%BQGfwym31E*NPws3+Lh-vwU-6j3!j9*L$$teYk~&)nUM-%AD=I{sNC6UVe0um00? zQpH zhPVQ?H=w1?(H}CU`QH8#yT4_j89}Yl+C^yBxw=46Xw|1Eq+^Q z*p_%-*myOK*AlX1h#ELhWI`NPCd>&sjaqWpdki;#KN&Wg3XL}o5Ar9S*-JBIv-?HToH{R9u7ynucL$Q}WTM*tvx1jru&(#ICQw(0%B zcfs(9!>=)7;db{!|1Dd~|8=`_{c|nxHL)!VqXYXXzEy>AvMZi*#1c`uVxxxyY})6p zPq;ZYZWHG8%fN&zTu}NWv2;MZ4vjv4HSuNG2^>D#l~+$S@cXcHkR zdv%Y4DfQ6`NPH~uad1U2>Vmrbf>&uZuSQcqQpIf!utEhDa9*9k|6vL`(w)p&Ib%|_ z!`*c+v6So-E-^88iQ4z^^j2*j{LD1LT*7)eh5z%RXzXwc|L0lJ_}J8VpA!mm-+v@| zd3Lwk-!x{agBjN*r`O%~SPZV68tacgEX?}8C`3O6aHiJpbL_e&WWSl!YdV#~{v(fY zGO}h0xtpCfCx`S8Gp(QYYHX+}+mtfR6Vkg;)vscSzi7fXVtK8E#Iun&v!QB6xJwb| zD@1O!g>FVA7Q=e8LfH&>NE=uf9ZU>vd%@v5jVn>kB(Wu8ggL0MSNTs|Uk7HbR1bUg zSi47i+CuASVOM{+q7es3pSrMya)SfAqk@GdX;|Og^xfeuvE0Ro6&iD~5Nu%ltN_xg z#>lF)kXsBtx5cKDahOkZliLvmGIz(*Xpb~6$Y?iRfbYNlvP3_4WHjPUP2R9~TF5k(m@YyruQ zBXBp;lC-Fla=-IZ$!xu(ykr>fgc;co=#gx2jvE<$EmN8Hk|XE+{v)5y z_t!YTuFqWFZi;-R7xaSoBse%DV#+X;zsgF;a676D^u>`op4U23bTn|>V$mZ$HQU5P zBY?ODMxUn8RPa%P`9RVxF=j!t^c@ov3yxEDH!vXL8tt=J*A`JgY5eOiX#}-6-DzMA zsJJ%DuXN+OI#FQX#3jN0+;jmcH!X4^`ULmNF7r)HnYjm+J+MeUD+i!)1l9I9OG|*T`bYi(5v3FfZ=T7F00+j6OevSl(z<&$5l9fVE z&~#L$A(Ggm2{d*tQNR=nQL6W+qjh1BtLu~j*KAKs_P%PVbGgsW3QL%^yS#~7J_)% zg26-Z`WWarygC0a?peM{brw=2fz9qHW9;Nbmpff88zG#5xi|Q_R%NAb9#~v%Cxrs8CI;Z7TVi4Xr?DGLQ*KQE4D^?al~EVdxN z4GaiGtry@C>eBOy6bOyP{Nc;QrmH|GL7%d;<~3kw6Ai|Zob>XoIKyqiudi&x&D~#0iUnjhzkckx8~#e7SN)Ch=VwY&Qk|uSxXG}S zm=tJ*r>t%9z1NU?ntY{f3ok8e=Z1?Ju~x&$i0T-=8BCX1if)%^YrSkoG>%GOR?1wf z>&3lOs;RxNDldJ>(nxuBY5|0n9-3vb~hUQlbc!9|o_-2Gol|2XkS_rV`|;dHt+W zF$^+tEOJ$F*6RHh!7J)RIDR_Hi67BDGqXvf#uOb>L-|_>|7E zUEbBjBeUWi8_?+$OImmnBdG`tw8>?ZgoWbH$QvJu9|$U|Fa zWt8Qufaz|h@^XaYn z!jNsKBolGy)I9Tr8y0)w#iQD=iI8hzZ69HyxLVO7*=QsVNrKZ{xQQ$d!oX}$!sRmGK;gQQ{5OGP3Io7MNh^sml2|bQy(AsO3e#j)Vh94Dx zN&s(8cyC-gwVNkhrqAzhzTi+%#6{xzLMtt6u)-SuwXLb#fz7sTW zNwybjs>BRF&=wb3fNrUEveD9^7bMGcIgS>460% z11$sidKS12MyoMowajqa+r9cWH%M-wC;n4?&OcvHOX5ax1;p;EvAiwG4fhI{T~`vX zG&lK!72D!{_Nb#&f7vx+G1?n+B38GNui2GvdPWnUJ81W2$#Mr_I{k=e(K+$v za@MKp8Ehu)3i9-$I0A+q5>@M%59~-*qpVV=s)@)R^szGtRv+>Lf)f1?*fwPrNDbK2 zE_hxayW$Rj`Mb|maR;*00aaC_si;pTw$uS?1TMDp3YUnHC%@1B`mInXL^B(<%9Lgs zvT`b9YsboaYam2D2(AheQ?I(xF}sPR8|oqfoZ$_$RpD>aiao^FCXoW~PG2s_+XVR6 z)Em<64+lVCen2w3;p;qw(PIky3y1ssc7raV^8{eV*YNE2bzl3~f-^i-ID_s^J`L70 zV+#D#G>$7GnE+oux}1hM1ix_2L}}3uhyn5I4KV!JcpHQgf>;t0YEFdI9M^;V|DfWT{U$q$i9u% zvlc+)ThUL3@=-Q;%abYDbxfCF86$GD zm_SlCn(LdEN0>;Olx#_&N+QatxI&_#l@}i~eIBVP_wU)#S=wS2Q^k|o;FzfTJd4BN zuk$X55b+YbVJldR(UhY@w4gl66LDe&%n_R5VYMJ)oTln;lDV0*)WyMv`R%`*Y*U?! z%hAQ7ye@pCXJHQkKDjze)<`8~*BDs|RXO%JsVlKpGvSrkYL2H_eBp1ITC>5~C~t?I zTKPvsmCB@%cv7%r+y!)W7^W&xhuESyA((LWTp=5Y71#1YBtoos?d1%u@qBR4=-y+`9Q$qVy=e>dcbqyLMpcMOs&TDx`2 zMt9k^U0t?q+qRKq+qP}nw(aUNyNp}=d?(_@KKGtKnKM?zjEu-XYs~pRV~n0nDFG-g zn^#DoHPf3NQJMK7s13BOP0@i(OgItbmo8i)2P1)>z#gX#0}41KqqwQaIqS;&A{E-w zHpcUcb}6X*sPUx4-M7}{ChOYvYfi*`z+&(+Cpos0Ll-5b_NMhQJ9OZz@fDY z$33S@Z-k-D2<`f48mv`4L}t)crajAXlZ9-qTvW$)8nm1g%G;)sVdbtjsUItVLUpQ; zrz{hYc~9B}4_210-i%1PNI5iBBUOP|=i6VPTyFOvkB3D>Ce56o1Ls*yE^n78Zzp7+ zAS4e2G6`w)0l9IW3f#v$0j?SYGt8{C2lM7Kkla{9UhAqh*d#dWR{gXp^!q-7`|qUA zjqO`V?lM4peG3{DmhH;l0;=l?tv3l@MR6RiR_XXiOng&WG|R4D4Sa*6TkI%9Vt-&P zBQo6Z;r9)s!(X`Rld{^H6Xc*sbC2w+jnk2Iq4Le8052?+oK}UyU0QO#K3CwI2{?r( z@Z9=|+Y4By1fe2V7lTrvuojyW#tjaYQvgx8{#SoYl8*&d8JQeg#3f0JPmNW}^CKFC zw$j*+w>(<7PH`kHGYq3pj};~M#jT|-Oo&Ty)FNSAm2z`s3_wqXepOrJt$J7rV$Wh% z%ozGw1FAT8`yaA%n5R#9iA?K64wDYg(V1s7TmM|Bnr)j_cTxsEWbW!6oblc}gcQ&| zLAVYXQvYo?7=LTXb3jdbqx`1c3brP3)p#S3+&C2H=u_Ex9oSdXc|wa^(iuK?(zvM@ z+&DDZ)=6z%HQBzYV|(q+a#M3)YtQn+-n*=w1bDDNc}zz?c3&HGm)5l7hH+Fmgf?@u zM1AU>cvYrl>YT`~9$20L*Uk&Mq#rhonfeAiu{dpGUg-6IsXxO&7;>rFQ?#u22K1{x z$23;{!SR|bx=MoWisUAiex`u6iz;TF(Z*|Kf!|obkufBflxuJ;c*&^Brr^qLMh-qb z1$_F{a0S|~(;A7lB|X16H`tEblw-#c(m#}U0PiC*guY_T4~(U#ufl|Mp?(v1n9@LJ zvrV`(4SOnCOJKOduiILbFC{3O3=8w1+<%dpJ{hXqA`%Bf*HotsB^k-JqAH(X^_8!3r|^j$IrA8AM0SZD1^$a; z);&u6@LdzZD`pPpkmwRr@aSn|zx(SJ|FF+0hsvXLJVsUup_v}cnr`_-w&!t>1b|?A z195PQHhy#hL&E~rCAa_jPIyaAe^X0)t7ZPTtAE}*zSOJ9{?AgVyjS3;Jw&lr^5`{0 z@tdqSlI}h&@hwL3e6Zie={t~0j&lp4VQ&0&0V4WLe1 zwv9TJ8`DB?1{aN_Hj=DOsC4(wm7k@$sHDD2n4d(9x>zos?MWyIDVD0S&H@W-Q5 zAI(BJR%xxN>EO$Jk2E!{I&x30AbzCjJd%Id+$*(w=g!~dGQ0NfeSDB!0FKnG<$6sc zzv1!U?Oy)?M)6*}R<7{Z#J|EOUyy4KX5C=`{Z22`x2QWttF+m^ z5&zqEr_=gS2qyKv5#3lb2#?epRxmj*qtfuj)H_x%G{DG?akru>b*XJWrHp@yu3rk; zhG4so0R|^YzG{doM9*!o?;$K40K$D|d)c&khvc3ikZgVX`O=B*hGUlF{cRBd_%H(s zy|aQww&WnC7S)hLZPr{?j#94IR*YCyu4$`CvdlX}-F|n*1DdSW%NfP7;J#N;#1Mk#T>@)^k?@O6ZJCN)jh13j zv)!Gt@-OvCMRB~r3(9G7a|BtYWXTY>11*S7;xN^9O$usZMT!gbGxQI5TaNaCje6b2 z4q!~_*4fOmD0_o35+TQntBa+-sjtTHoF@;!jm*c_Ik3nw&|^G`2pUCxR-BEpVL#j# z7A3I)DyQ(_A;}ke$ykt5N{(n@EFB|Nh^c&j@)jFKz_wO`AKi?3h~Ysq<_#G9HfjM0 zjM*pXK^aDO2->1>e|4g$_tDZDQ46BI2GCk|6h-bEXh~zass7{<-KuE)Ath|EO{5RO z)MBG9$UqtPN`lk<$Jwq03IQPk8u3rPft}3Vz~L69U6%$sWPsv~TL}rizEdJW>0iNt z>qt(CTZ)hCK*C~uza92CjS6$JzhU%N`DZ*c*kqznNx4FjX$Js)k`vT(qEp!pUJTB^&(%mMihCpXonB2DsN{zbVrLYhrVMQ^7*uOnKQK3-VKcA zUx#cdm9<5>L>!=Um=Ne;5%Ff2WR4<1d@SYElxHL_SsiqaDtsaJ2*I~20u&wnymHRH@1Mer6j6 zn}wYeO=%|UQd5ZP{!0Cr1*AkW!P=D>UO~B?NVmI(Cyr^1GIi8oFlT62Q*jpxI~`{z zDC4QHfaIaoeDGb|{SN+_Y2%W{gklIMw$_oSZw;N=s(0|AGwt+K3^Y9h19A=7kOotHpo!Nm z)H%jF-O(dP0XG$H>IDL^mSZa2eEcp$wVX(09kVLg_R50J zx1pO4doH=>#`KyyB8`jDGa<)}=kRhP z6Jtk|j_~yf2hbZOlq29l`;A``j7)P+tSzVE`n=H*qjN_RMyeqfpc%lQdkSH# zw`wl3whplOE{iF=bH^P$BzECOsxiv=UNlQM6uOgriZ3Q8IuPrTK9c<9xE$-9y&BneM1ZcYJILaH9mKBjGc=L@>y$nhO1;&lKQOW~(fkg3Pvy_UZQrt%@8gNnEhbXsCR9=HC8hD^p*f%1oZ4nOc{q-s+rTju&yX#tB_g6l@R{&hL zkIQM_4#y_f^M_V-%-`J)Ad$6+xiXq6zFo`y0He>2PPN_dbn)(uS^d~e>-ADxx{9H~ z1H%;}wILtdm%ANV*Lvw62*S3>N_?MYMm}`ua@jnmgZ)I5y#(9~-_g&G8m_^+WAKe^ zHtmkj?e@!+t%v7!l*axJmHAzA5bJ&uLLa&v^t~_t?8y=K1Oy{J-DCDVtAW zsr$xIBrr-Qj;}j4;@!XR!_GaMMi}sgfp8Gyt7^kliC)98tk^ZVYI= zj2L<3agjv)t1yzHC^0Myq1UoQ&SOAJjEc70`K~?%++|GjcZ(IG^H#?3uBp0Xm24wdoz{CG zqL0*Q_WHO^hRS#JvHCU|c(jInAmJhrXgHPQ>u(vr9wh?LL9xzRr0s_T#gc|_tB+n; z%4vuJQ)0rg6FpQhfPZDQKP>+*Sp7k2wkcG|{{m+AwTiT8e}I`3jMUs-5In&D`xgtF z7}*({IMNwe8#p=r%yFER%}~F-q!T0t_{kIFz%V9?^QFn+P{f1Dv@@_x^b-i6DbY9W znK(!w$(Z-2pi|L;S6Wsqn{_ptHR~g~p<$B1w3<|_J5qcc+EeIv(Er2IM9S%$Kj%6* zI-VQ_#n5LbPjUQUG`l-LD9z@#iSK)E>n`wIz%CSv`MRmda%1|5vL};SnWqyKS3!y6 z^k;>yqEz`+`Jqk)%9#L^|1INj(L$CgQ{lAF;OJ7)Z(;sCQ-n5&128PuC*5AcFhzfP zv4&cwS^0*}XMcYk5Tf7uc?$mEpxZoNiC3W8Lg93jnxp{vo!$1z&eCl(h8B?){W>o_ zKtZiqUcn&&{M(a@%MEgwY(~BrhQcVO(A6S`MP}asw1^tBXl%wLWg!)@EE*0|wNxm1 zES`#sKk0ZC??zSBf~>{$g0pJLpt6Mg)8F|lOQ@uxW{2omNm3K@^!XTPHW%)4Q_*O~ z5rc6E6&^sT2{X$^g$avMCqKao1IBs z3S!wIvc>QZv|L3n`dQBCq8(pY$Lwg@B@{t1hM{S>Hw9*;fNLc_bH8o(7cTBK5025_ zM0qCF32IrLrqCKLAL97lhUbu{m>L-*e67nhTo_QW|6K-va!GlBC#0$0VROh(7gVi6 zdsdadWmFZM7XJuS!7pdbe^yAGiMgIWVF?6}Qz>_ees7kRbctvjDn3iOR*&G#ROQ=- zLwBLmiM6D-f~fq%ZBf@@Q}3ZPE!6UwU@zzMO*t(d{f`3qpJvOBvyxqBdF$4a7a0v_ z78D>K7xx&dKuKRlpb>JO_Se+8w4_AnEs(03K6x9<<6Hk-@zU*P)<4g0cd*CN(}on=rWoCHbz~~Z+uy49 zEPqV7zgMQIx(wdRObx5ERXjjyGJc8>W7=+I|Jvpw1BR>QZ5>z0436v8Fpo>+F92iR zm{ZGBB=U#m+;?I)!N|UQUF(g>jbyGciiGzlu2}v~rnxCxFnB=LmBJ%wy_Icg_@kvJ zYCQeR=El|4{v7UZkuegqHcu~RM;rq>cNX3$XcI$08JL)3Fik@zmkce@vpdX%(ECm= zU0VjZ@cWci$-2E1&nwG{Poz1Bp#U@X%TPm)(D@c7?_g+6V5q8Gu1}j&A3XZ8^&YZc z$EpCWJ$8~?5w=f_)w9vFUXh&{&shG6URod5ot;y+qS;iBpqyzwcZ)9`+Xnb*lNa99 zM61dCljUCsd2%TyE*!(xn{s!c9K)m&Qw4{kTdpCr-}eMvbjyRR3=(V77utxg6h{HBJQDiGuC8g_P$== zXl{;Xr=Nu7CQCcxcLpl>@*#_k79@?7!BT>&M{8(wm+Wb%v9w+|lEzFGJL#&99LcTe z5nq=@If`zU7O0hf^cYhYKma+{CKRU$o~eaI%JyA-tSP16f~)SoN8Q{<;Bs$%d-yP! zbmiS@(A1KjG_Lrrtk063I3fGoo)6#TIyD8mc75d$`GQU!-ceSyS-!mmC*4sJ)0TYy z5HrSv^$S^Y45`a4ssFqsbqH{}kJ3^z3d$x~_R@BajXEZ*Iwn?|b^wezW|?THUbHu^ z8fY9TRxowekIh}!R^9ueST*j_H+S%@SPq*_>uj{)dZV1RcinV{NTY2d;cGTqNAMlX zt8MAOHAdtZa*%j$qS$2(bhtT#OJ43Nt)uAaas;KgJ3hu(*hbBSG$nicKAZkS%vg8H zw)}^fv6xvh^k_5#{2(*`f?mloYsb73ZO|EZjSo?kdWR)Shb{g?%uq(VJ8c|pIyU!! zTl~Yi`9}*?JKJ*S`r~UVzB5rW{~<dhTjSc3X*z8bu7f)HrB3}o|w82GXH^~9P3J5eMa@03Dx zA6IUL#f39J8_Xt`UF)6DPD&<{u_r_ScAJG(n zwV#~lnE^Gz6_;^%sV|7sK7 zR>eOrioO!)|7i*=>5<;63oOYYdvp<;+ud_r5wvbDsm;pc(`BZf51IH-zl_Q?&jv*g4{h+0~`jq}=yxxX{ zwK1{YC`*wHhC~6P3c+Lw(eQ?hn!?%i|6*rk7#vryUmQXB&Okqs(AzTloOt^lbo08( z0X!!_r}w&McVEUpIa-10r-Pkwd|)yJYgMW@p!XrHM(NmFMW}jk(gR*$Vd|7Hwki~@dR6N| z&-!fIW>79+uBR}B4d;EozdzQhaK?IAa$%6tVZ1D432xH2+p4ul^r6wa1dKir^LqT$ zVFCaf-jIv~)J^!HyB>GcZY1G{1jS3Ic=}RR)5Oizh3&r0Llwn-%oFkhh*n50XK%df z+BBN+VOMyr&Oe$r$pHYkhsV)>n3>eOUvan!_y0X8lCBBO$Nm2Z+FzmIIH?4iASkdw zi$qJI6YEtOHqohkn;`!eS(~fwi=;S03?G&6eJQKG==4e4$j*(%y%1+w_L2BSFm7Z{ zQ&meidOK&&I}sMkbqy&5G19c~r;^1qSyW8emN_B`XCz)<9Cr=w6@4qQCrX#8=px$Z z|0ZkCvFMnN$ZF6d;|wZy{;cVg{r}3^)gM`_LZwa_C;8*MSQ3A$VeihXHbPxR{=|k0 z_TR2Yc@x8(+Q`F@K*+ElTi_7pt-F?Q_j4+bMjHi4>kQ!)93 zmGceUr)8D4%t+iNRAd{!I`I><#Rl*dew*W4yvoqztai*gBd) zyn4j1W9}AcraAL&F*}&`-v2(d=xM>Tj{ne5x|si`uKw>7)gN7rJc{`>nn0@sMFhKB zhpT6pIMz^quteMRtBf8dCEg@J8##llE(Og?KsS7OB8UW@Vl+4PPrj zMtJa%TGU69kZxR4AlmHVIDyXU&YFxsflFxA%PP= zH;0SV>>to82CIr6Bu9)wuh~tv5O9S73YLsaEG}n`WD(+wG=rf8epn0h&nP~PGYczS z0!J?9p$1?p>XKd`KC~3J4s5$Q6|+7RFYU-VP4UMQ4q{Pk1X&D&wFt}wHA-~$?7k@^ z&kNIrRx+dNT*s}gjh1Kaek=!I&L9HThdbHSMP2#S+fo}Tv*g-@nKomT{ z=qDE-#W-8RMOQ=lR;y7?0o8|(Sg*;BO_;WcSRCMM39k^;vZ{cZ+oGo@FPWxcA&WPS z-cYL4z*$QV6-m-o=q0L4b3&>kdlE;|#Jmpfp>R-Lx15pOoS-O=$n|Q#XQ94kQY9C{x4L~q61_A&Z3;@xfCoYImS*ON zjO1$1H3RJ5Ir(1}jgs3Vs)=ic*qI3~7Q$ltQ^_tUOFMsc$P9(9U8+09yqL{Uc{&+L zQN5A{YwZ`UI?haEC!qS)?T=LjPj8fS*ymQK$kG z6K9k1yR>P2;L^3V@h^VIIt}(1PRe&=&CW``Hqbm(kDtRDe=u&?&K4HH%$+kh!AZ?x z4xWBneF&_z7(h{QwzqReE9XE0PZ%wfA5BS9IdI40$;A{26)F1Q(kl8ZjBZ!5@SDXg z8UEa(FL^*wWMnyWIlUmL68XSdD31UP>Wqy;WCm0xa%4~1j4y^aJ?m}JePq*XZgf!1 zg&#SS8f2U|RE;YAnUL+8r=r8C=Bo$;sS4< zntx+ogu&Y>w7O}21X^W(*t4+cPvy^BR_6*fF5hGc9FLuYWmNr!{0?K)pMM7E{2Hj$ zV`ePvgIwzXcEaj;5WI9*0ZM%%o1MlAV=6xvOdOA9d4=~(w7UQ4b$JY^CpK7_k+E#5 zIua@N4&7C^N6;&{84#pGGht;9B*KhQwYDyao=j=wL@KyhM0^>y=Mdg4$=vVSnFy-3Za}}%c6D%2H;Sak>Y}|fnVW+Vy(6%6-=DnA7oWc-^xHqN})C&p_EW| z*|^$H|E18!AvNVnQdZHxo|Gz1h>|j4P@=HXc!egVS7JYS&7b1j@UH~u;i7azsiK0< z?-*Kz&h1!Q*$KS^i(xvx5oJwA?)WWkh`Soy6&gOz7Aa3X`QeZR4$vIH%fQvNOxwJ zWY?4+YLtMMSS0UStXlyZs~Tv$xYeK9HJ=t_$+yRdS8+-LYn-tuEHg%A7SGpYA~>RV z&6sOiqB3blTn~ZC&vM-ML>M7 zAA_93`|aBar?p5AI2BQFg3+Z;qCE@*)~|5ykrF+g!KKy=F9YW{D%`C}T(%O+Tr&)@7O zCU$Ge53*wSC&!sb6Yb^g%Z&G=#TUxeEp}L9+b(=_*=n+t7HLW|2OiK&v*1uNP!pM2 z(In~^{EUXMrU(i^WrGPDnp0mfwF57?Enb@iVjH)8D6Mv8_(QN&b{{hkuY{QN9<^zW z+iu?a8VnE5OG=$kcl_UHSdP2@piyer6=NUIQ>=vr-j8%Sz!fp7`*OmTA~Xf0C<{(Y za;F3rrxszleG@&#QeUAjfgeK(oDg>w7aj>#S zR_-|ki)4;4k&{xT@#x%YIXA+m@KilgQp->9eewer>d)-flIBfGbK+)<4mCke$<%6B z+HvguUOR&@dLY-}^wi#%eds^Fb)c8KccS3RxB+^CV5_(R7x8_FqPk0};8bpjeYUt$ z9*KQ+eqF#VN$~E$YXfO;6J>CT3Z*{emO5kR5Ek3Bk% z`95Nw&wxqzpzIz#@JA6k?FV$9-1g5GrsfN5(~mWB-)?STH$NEAX1TwZ({w9Gp!csR z7y$f=DX00uo|D@hi8g?31$+Yk!r9)5#;evo0stP3r~|Uk?QKObVuo1)$z0Yd)8-HRaP9Bf@~uQxqGj6uFvjVXC{Pun+bA=Z(nlLeLHQjG9F0zWj z!J^2XcKi2!<^O5e1Ainil?O_lX8VH3jiG(KppJyJ95L*8;*~P~7WZ6vB2>_D=$Y2lz zfkBb{Vh~IN0v^&IRFr^XU?60HCMXz~JR-%+o*GJr&QlbiRxP)wu6Eg_if9YqR~ON? z)VeCDcCDxTi3nb4*%-D}ecyfGfn&BKi<9FUCx5uU&vlx0o#j|Hx0`zN&6k8 zY~jg*R09*_Y3RVCi5k{)=C7^-XvB*IC*JQ6|5F8dAoCW?<4MD-m)fa-9>o9ky1`jZ zRTRusfu%J|J_4TEw{|!$6HfxNjDI?HZ$T%oD_7lHZ##|!_*@94jRXst6_tSjhiF=2 zr+JvQD%U&Aq)(-gv~}7pcnk430U^aRrmHHmvwUKuLmjKs5eXP6dHp8?015UjmQNd4 z)Fcwltq47YN0GUhqwM-V6qgg7S;={F<)M2s9W=E*wvC z^HIJ)GcW&}ICJ_S^WpyU!$A%+EQk@&^A_Co1LV={IHji!`5B^s`9Y*z(=^Fzioa%M zJ_Jb7=PYQkx6KmBsHN2`kb}TH7L^JXUjGs(Z5GYnINogsc!(EWu^-#m=w%mMo`x*$ zHBf!db3?L{mzk9&Ggl!G{bwMmJGn6^)vPCE*p4AG9Vh)cDt+*#gly=v%aH#x>y>uO z)9*zHm#3iJ>l2Oujtzj_UA7fEg7Ivej2Nr8lYLi$e9y@kXr@J_yae-6HOs`*>buwK zF-LOw6*_1G4Zx*ab#l(&GkXezfV1Gz+X$adkfNCeP}Mc;t)!mJvKcqqQ{o6IqH2(<>KX zB!uL&t>Dj6Jc+3H^Ni9P1R~u!ZdFd=YY1rf%i^E_h&>?}_x7|svcn#6O)MAZ?wa32 z9~!zfqwK}>wgjs!7~86@L`*G=U}T0%KOvI)XVT1ax|wLJNQuDJie(+*Zt|r79n?xI z`0XuJURGtpEz;qal&Q038gqrp?ulev49UsC`kd=)ah4kL8==n-za3hqJlN-wW`9u| zhkafE8D~z0hD+4-(HHk+A1Ix*kq;My#km3Vd~qoQKwZ=YCNX8k+_;-1Zrsca53irj z(=b%Z#irKw{XsF|lfu0j$JD-~GZ$Pqy9XJ7?M5NRoZ>5HKaaZf;}I{#9_K;pUygm&^?q$=gla5l{R;k7^EQwfz7j zNRU*^?d??JWd(~`)UO^BM#cihuuD2Le5p@s78A0T_Jse{#`GKU-H7gij~{ z3{~`3XO_!_v`o-r?|9JWGkSIt2k%j5Rc&f zaWVDWvoj5hezidCjv9G<2Q-i#SwEGllWGHfNv{MmkXk1wxrZRH2Z~nSi?;x)RC=s` zxVFAxX}gC1stFN$R*bJscQK0+1G#T_lRUe<7)?`;irI?Oi;G<0P#upL<0zC)@7ALo z$Wq6%#{Fq~Z~IBwm1vWT;x-bBN=YQh(~CG{sgKuCCbCFOJjjZ-B{_JhkIO&vs-`44 z@Q|w_(4@C42(vR(<^|nl7N`J;OZ(e_5~>G_N@2JX2L=-1O5vsI!8PNO+QH>ycc@8X zPgI57$zF`(S`Fw*UBzCE+girEk(fIP3(ehWXFOyJ;`iV)B-7lUohc4#qhlGdNHp@~ z(+q9t((N+WR4zeM=;cmuz*=fqEiO4WBszOV5a+@fQI3A$X|8) zgig;1M@bC4S*9X8Nk~mOw)5+v> z-sHK5c`)#K`{^_!($L1T3*(*BcP$-4M}19tK*vp414yp{1lItPYXH$Tfb1FobLB;0 zIt=M^ni}1 zemA%ZFEinDh>?_T(*l?iy6Xe^M-i+QB}>^yT0*?#9IoI8 z-V;@uM&32%cy+RRQ_+$cs$7XzITr6L-Q3tT){ehh<|?5cKiJ$dR?dkZ>{4A#L+Oay z7ma|@9wWh$0TK8oc!WAstS%Vka32-fKBUY~&OJFvX5>}83EFpSD2jIJFIpr1{h{hI z;`-j84WI)5ey&v!8`9=@_zH*P6}MEeP0GUkw6t)4d!41KAVjHrpT+V|Hdc-(yqWyq zIWOzhQ#flExdZ&r*^oR;Q>SSr%uGB}YEdP-+I4c#Tswa6C+~vaHHC87`=L*`U zO|fLJ&{}=Pny&piFSq*PT1-FdjF7vrO1%?49>Aw-tv=C=-q^Ut_>PHgSbdFm$XWDG z%vQ79tXCcc1LYBowj+qHsoC!jn%CJZHN4y{O z>h*$5nuUQZ`vC@hTA!FGli#MLALHeqnWEr;_itL!PuN2GD-< z)_;fv7Po(t4&Cc55!8R=WJm;F4eGVOyCI==&5CT$=Eq{vz2DU~BjpF=3u6(p5*~T` z&4w!_1Gg^l{9^ATv=#PmgC0IGjr!fH-_?eiIArrjW-F%sK$Zs0E&jx|WZCAA+*Tk$ zJ?{1aZx#CUq2e7-OIWBwv^&^pBp|y@<)_Ei5HXk7t6uAJRKNj9EEez>H4Lm2aTKC{PCz>%aA#&A_ zop&oaCmn-CBP0z;C7^^B z13>l_;&Tf{lH)aYbf zTJaE_#R7ub@GAh1H zrMiw;H7|^V1NEJ0ZUn^yqeZ-2qkufZdpVu|oEWHtlR_9!x1WKD!ZNsnspC-*;C!SVhO)=4D4;y#FpJ}3><#Ab2=Et33+K|SN77f3TPBmqzU$pyF zi?B!@=gKwN&97w7v>)dzG|iBSS5>2<@GR%wG}~1o-G9kJ7KSpR8#I|aiW-1ubRn4c z{ow;6Uk!MlFDe+TLyCli1h@xG&74DzA}OqoCADi98TuNFrsnjo6k3?gjALE>uqP5C zh9aUWBwLc-U~x<&YMLj<5-R&PjI5kXgwe{w2`YveR6ZG0HW^fl0pLCYh{5HhaoWyo zg~1-x*9HHeR1|?}D6jK%D`*Ow{%Q{?1K0QW1G8sC+98_Nx)|oH0WgwHU(1|W@bt)s z#Y_~|H*ixEo(zsApG;^7hZaC+#P~OApfA0(-up&qfJG-iuasmD4z{+3L>#Jq!#q6( zZLqbtv_NEX@+9S92D3;@h@v8w)lIGXkP@|=FS53;RXin(CCBP=C{ zK5>veE59j}jiXPK2Y(JYbhrt8B%JBa#F!SZ-C-gz82F>t16WuJr5A~)@YINLFzlQ~ zSY-{?3J_rTAt4s;2pA83nisb2%(NXHNr*!lPr{KQlefDT-e#q=T;{{gFyud*LDNT> z*$`=Loh|pAcFhPo>KX*+#E6{?ROGHQM7G|W~l7C&q3 zHBCPX!QRjZ!G*6_SYW{6*x@l$m{TU(f#)PAp9ZGt9`MX6$5BwqgeY-?aIi5OR$H|+agH|lWOq6FfdpA%?^Zsd%p^hb$=?o={fJTOu<j#~{vCFrFo z3fK&MdW?EvG{?8H9Q5u&fAH%4JD7~M>*|}2w#z*H%;f9t$5Qwmp$fbc76AfjZc9*? zJMj#&&F+rh1FgEoxSQ$zV4k2%cmjD-u9#aKlZMggA%(}XlwDvY8&WYXpKVvRa$W&0 z+j!CiHw_}>Bv4bbU8P}C?%|D>v7C~j0%)3pYkC>tAzKzn;g=e#tz5aNi0LyzVW6fT zmv{X^AVY@JCz?$QQ#Gg#*{Z1R{CEyZ>-eXAVZbJylx*^*v=;b8BbnhS(YU!$nOTTN zD(7vH9#kzm-nu@bA0oopXJ}?}pMm{aR*utxXB+csO01(&JfudmA=6_g8XZ0*3WsA+ai_&B|MquEW7+D5{6>K(`3ecl z+bklDdI5z{gE5?X$&6;2!3d}$0H@QjwQ0M+n9DICdgxYq$dJiK1^VKx~RU+Z%oko%J^OOIY%WK5aqu zSmBkj5Le$htOcV^(3oz*{)f`uSoF|^IiExakI6u}dTS67VmeJPNCK!TAfZ9yUQ--F zQvxBK)NQ{#ooz8&82XD?zmPgB%$GiCvfsKptN$*Hd=I>`MrnEigw7o(bpqcbK zVs=LaC;n@{tzZw~m&3SDid?8&*#5|e-(C0tH+)pe?oi6^V9INtRF~kWPyR6PwB_~^ zy2|c230w~a14?mSEc8^|fap^b2vklNs-%)~KbSwf=s5xwTuJ@Gih;1j5a@KX(e;Zs z@n(c>B6!;F2##u+L2FiM-gp6O$FhH!CO=^u)$mcNx`3#)j%-Mckz^?r5r3*L%0?qR!M7a(GA*IE5$b>F+n1yH-&H}Zr+MtxsJ zL{Ea+xV0UR?d#Kx`KwUpF+;*kHMmh1NG81>W}fXLAe zM-vlii(aSXRH`!0)%{fKuwWWA&rLR7>l7NNp-k{6W|2WO@O^aoMj!V_bi>Lk_d?0< zOwr9ad-^%;SWHrUm(K(M;qJ=ym^OCZ!X z@Oj00XIXuMQo1Ja1gNce<`vXch3578f`P-1K~ z>0FVomvuta-1;kfLwdE>Ojv3mC@Q>MptCEzn&W&EwYa86(ONJadwHl>>7iq-1*Vnc z9~AXtBQjd28%{pyVl&(rbLhLsEq6@Hz|``Pw4){M;i>wY%fMFik+fqa?GHPZA9UU2 zmbx$1!03l>J{>|ff0Q5-VcuOpYm zO+$~-Z{Ytr$F%ZWKuGKDKr&k$qg6Gl%(Q9o`?EUL|O4gMeTOB_)gM2;x_2l#V@S82R+u=J92<@;J zsst4h#hInX_R5a&Z}Z)8Gy|i}w;Fx3P=1RCQzqvcI~#x&z5H**lTmY}2N8=xW{KiS zFj>jJ5}Na}k&nKCY@s^=^GEd8nCBPF2_Vb)?hU;HH{_)|b665gywm5&V8ickilUl* z$kA}3?%8>vi}C7!A62~bo5}F=3|P}}felNdJVbhuxL(||*l&{0tq@U(p&7+?=|w&! zoRngK1sLGwNsv%*SdK?5hQbkmBJSAAm=<+-bDIW2suM4FJEMDDWJ*99C_|Q!m~uoM?F}h_z(7_ zmK|VWjbo_m$+JGBAAf3@wUmE%O?igF1x}<8``_QV{0Q&pQ^z#EETKXotZ+(W2;zH# zM;@}12KH(Er(onkBupL-7V8qde0?{!G8-!`F{`@r!BE;X`G5!e9{y#Ff7Sbf5LLV4 zp$GN88;6J|nUYScFLm&5f2>6iJDG6g$lw8N^*Y(h97$UXSs4#A8mX_lrV);kGg@N) z(i0x($)OY4bkygCe^rYxn{hZ#v!=Q;#P7*gGaV%yIpc+<)_4VwaLGDJqnj`By^6{- z76!aHiqli|X?R>U*9a}(#+xpY(mVv?v7YKA-;2i^KSwdGh}mB38R;m8Mb;+K&Wi!e z@nsc!4{Yo#DrEI0{Brku3<>FeaZW<3A0;&@`g4)bFw!gzGjnjmL|$EO38BW)vBOGP zC5&tr?=~it@Y%d(1sBZW#EVWTS(R#D#(L>CN`ib^sNxXZUOlad#s6~3_Awsr{Wv|0 z{~xa2GANRz3$$f$cX#)O8Qk67-QAtRX&Bty-QC^YZE$yY7+`RCoO8Yx@7@O?pMFDFX3`5l;X1yR4n!gv7?HjODtiBtQ|y)zm4avhdB*?D87wiW z=aVh#qA@f4+CF^(>7T|$7j4!_GzueTS(ClQjI{4rs0g?f88j$n`AjyOXRqNewM)X$ zPc+-053yk$`m1GFu6)%%%QmPa945k(#&(fxvyR4wS})A9k=@{t#;iAxRS80i$NN5| zyDMD;T!{h0wKG+Z5m-XHwIKS!asfrvypm(D{7t-DA|oh{6=)Fm>?loARyz-$qccbY zg7~;qLb*jc<^ndpb)L44$@6EDW`vL`vKn8fP~JfE2SbhKQK5=ews14luJDh;M^Mdp zqnXgm5aIEqfr_k8RO1+#Fv3W#~GeAkoZdkL)Xbdu@CeFwwBolqKUp! zj_aqF628m`Ih+df!fe)&<-5v-JN$J{^IGLeI6e{CAB^?C4jRdBQ~1c^;s^D)Nv(W= zWgLPc`pM(I6LQQQp`gI)0b8al(I>JoUP`sAed930#Qiaeo()Z*Bd#l5!sv3-^$;eH zV60u$Us`*0D(Mrou6AwO3zkfL=wUbn!U4Qu_1bLV7h&!i$Cjy)qvjFrO6poj*E^tQ zysy9NQsZpG&dL%q4U2Sd^GsGaxKUYw-xFRo@C)}_dp#BVb&sz9;2}yq^DvxiGPF{e z^5#q)-$t9K&%8Q469~?>2Hl+{bGNpuX)cc~HEHR}7r^`W>>Tqyxllg0?ia8)pf~yV zqR8+Un!GE|xhEyJ(|odSJ{ix9l5ml9&-a88at!ahz;u4G%B-u4JVzM za^i+A>e8rIG0mA79dI{OQ`!VgwV3oJy$()!0SZ9yJ5W~fT4Dt+@CeYPD>4oI(y~pq z$RdA~gkl8-2TYIj)JwA^T{t>mMN%1$wxyPhR0GQxx2A{C=GYpYl3V?m&Y9d&R>t*A znk~8S`P~x8K~^&9O+z7J?-tE{vU;b+YonL`p%FsKP!5m7N@QxySC<#y1(DaGIxGFwZ+ z)}NybKX8gaG>bnti$6SyKOl-fig?PfoSqvlEbD*in?m(W!hhIdT@86<9`81zpK>ycd5gYJFOI;N~2w-bE+p+n^It3i3{Zb4c0ftuh~(9qF0*V#7E*&YN9*P?#f z6mPw2UQne%42%UrEkfDqumcjJlm=GhiH1XxCwOG0ObqlPs@pEgBD}4D!ml6yJ$L*A{d}XOw&O0MdtIk^x$$V}= z^Zo|iQ$rj{z9__b`2J?8<#N|HjSblxS(xs337`dEhs3se%+T)sQ2zc>S&Mla*&~?bMl-GM zPiN$$R?*wG5{Q7W(ZW<|s2v{rX++ zz*vT~M?#0iUWO0K2&sa5FnO>|igWk!#~yK?JL8OZ;OVOP<Cpm!_`SLDzY z-Vb2eR=c|W1a9yx8Qx1HgszI3BN?UCPQHzbW)RG47^?mUvuoZDexl(!?+$hUabO%t zPonULYVccz;hSCHTL}C!Mp1_tR{}3ugx&~er5jFB1ddB6qPqyy_z;&$g!6aZ$`PB{ zAdh^!k_ZG18aBfyjuf8bAG6vHc^pLVdqP0+LA47^E(Q$V6)JcgvKNP}laU7_ZaYkF z2LTbsn9zOSxLz_NDnc|G9-29Kv5S5_nyEBtfA?DlqDvIv6>aSk+ zF4l&qV*%ygubtzpHf={%?Z?mao17B_^>ylOemaZLP%?r zOke@f$WY=nu?nOl+B7D}#k0WxCxmW5Uzo?~Uc| z&236aPSEGBD!euB3#>e}Yjt+2GEnu@^ZbwN~mv}C9?qtkdaWb!D75B8P zI@}}y+_0r66#y2|x{>ocTmelEH%GT|2qso3{NUaILZ6`&Bp%mDLSJ9#5@s~B3?N+i z&+yL+2@A<@;^aKINA_3g4lJ2AsI?vyEv>c46cDuq3qeAenKAf@Fe?dUyWl?3@K%7Y zxy4DmA0~lZG&Kx=6;+!&9zg_nLOL+iaIc-6B|i%CaNM@K*}~DXqgOIsM2H0k@!=Au zU_f;1toL^CFXjI3$#+{(LOBeL@f0eDi6Bzzo5l-FT{?~4ua zt()g5by|MGpmwh90(l$doLmb$Y?!MJfH{w*+u3E|6Fo_xi3qV%FFdG=LVb;Y}E_`*NPls-qFbj@y4rLxvG4rzw_W?7DLqm=(f(F2Of0^)L7_>0T&Eo^aT1$&t({o0LPNZ+@g?DionzI~t}`RzB`=wM#-j6-Wkwe7Zodggi=vdkgF&(to8l z5oh-uM8xdu4 zC>j;$#|a(K3aakTeK;{Ly}9O#Pe2J0hSv@}*d})ExwTybheo&y_)%wr1LC&GLlj@H zV%aDa_XkT(YnptTBSXl_wfL3&v=zrSkrkKJ*i@r&cPcheBGf58Xn|U)X(8)r2|FvP zn5H*poyr}z3y`)Ky^7DA8zk&)2^ph;+-Uo{@waf3LQKUyE{6Qcl6zR1WNCj@p@zU9 zS|OkgJ1Y_k?)7L5CMmSsHFPc>X3(8!IU-?T3dt^-!`wr2Gm>-0$i>T>oyf$3b;%M? zyZhI-nbvLQOltJQXn+BP@sK{Mh?SUE%qF=doW=*{Em7;`ePQ-(H>Nmk_WRryo{^a! zM%EmhsK#_^daP7JyWjCLmUH^R5f?)oWzyexmjsG6yZAPpG=FyCXYo``cBi15FYOP; z9POZ-3fP4n92NSq*}3jgJ(YRiG5gd?C^(q7zXOPfGsK{R8-G8h1dc%!er|Jj+FQBE-*-8!)u2z zVomPWNVn!>>9P`0blx5|bbKgpRV(&BWHvTMoVQt?d+6kt zXwG}{VU15zUVTvly5_vJ-T=lleP5rv~neQcLHtld)>ezyt@ae`Abdo<5@m_ zsjZY>}T(J!~W0bMTE|`Tg{1CN9n8goKb#hEMiKc0D zDKFfl)l5?SlSofq!7Qa_n6^0EKaZ#(a?Z@91ztn4W)RBd{n%%Yp%+Ja@jWO)Hex== zx=Ji3O%a%y!Xx}dx>oRkGotQ{&8NR=xbQN*Aqs}3k!>cC*T1V}WnmP(?6_HZuXa`+ ztoKarNU@M0k~}!0ed5=>thzw@KwnislhK=Yl@C+tC}WW20}6Os?_N|_KAPTNI*+;5 z>8n7g&3?5pKzKTpgsSU|djS)%N~!NJv1YB(umWn;Ez}C}+2%GzEg&*G(8+plhxoy7 z#j<*K;nZ~z8=ruw?cOm3`}(8C_sbq67azW05{UI`X<;cHkrw4?95ZcBs1A*%`N_@4 zDm6*NHjz$+3;uDHJ#5f?4jx<1g3u52&XDOAh0K}CGB@o^jLeudKGKVMzzL}xV)y@e z=>R6;PauTbsat@;p>U{T;zf);Iq!b!%C&i7@5#zc=6oy7l4`@MO>k|*V_gwe(GNas z%}nbe1w5I5k6kBuJpuU@%xg+py3qn1@Cr!Qmz~a&$xKhW+dROZ9^^DS+!(oza185P z9Xl8wza8~V8ErtI=L@VWSUHub0TRHle+OQ(7nAfEllBd8kJ|+W@+vbQ*HRu({?Sbq z4YsG;K3x40X)|>L@P@g^p8m2!z`nu+c|iw(1@;RH?IPznaFC%_kHW$}COF%xDY%Db zs+&Os+5dSZphRznr$#Ty?M39^#UwPd=1vX{GD3qJqQtCDPv6(E79%9tUeq+$RRsRg zO&}SvquVz&>HJwPRFZTJ^QY@h*1vx~u%9`wzag;SIk5jOupbU5m-vQZsm^Z3?239o z%ZPG-SAp68vCP~1Hy8>9%r@3cRyF7}rp|%K>Q6Haa8~ms6L>=V$~q#N!J@&0%^Xq&hK;ewl!? z?gNdvrxdH~3#nD=Hq zXUnX-8dG2cF2u`gkV*C8AwE@dMmxMq=UrdHoP}5q2L?wke>9(9~>e50#wOO3lGHx5Q$*ExGY0a2% z0N7r{A9}Q1Nk5`@d?1Pcdv*S_|o41?-rL%ZaBv6 zM2(|H9MNNra(^r*oNsw?|JgXd0?DbdcPZZ6b%b}%6u+gzt9A_K)&ue%2E{6ozhwfrW&!OE*(-s9bvQ7y0oHBZ za+wu-OTsx&tCEBRH8`)}*B~+b>^Atk9B@6V7O^FnDk_gZ%H_Z7$^G==E$0i2EUoT+ zHdA@bkhO2p0=x5J3I|^0kv+YGfAm6YT?yy&SHVoN&n(LC(Fo7R{!mPdGf#^;=CYo$ z(;KuN&S_pk&11x0=8|`c_;wIRj2W)5HdNg2QUVGb)-UCc@%gBE!lSrbc~!f1 zW=eS6BZ30(dhxC5E0PJ9uETG5JjJYS-Tt37+Mr)`C^N=T|HJwA+d=@;ze;(}G5*2% z(xpUmLZblDjtM?}l5NJs{OF0E_Gp7gnGAF!V1C5DkdDS(f^!!KQkns(4k0`!)U5Gw zPR+9Mp2QUwiF=Y$*b=X#Q8H&uyR4o5PU*fcnl~=~w|4hs;r#Kk8q*TsH7L!} z{Ilot@inLC)9vIhaQhX)53H4@R(s+vb$Q&P7cf38sIv^0cg#jg_Q;EJ!CPwsbFOAWN zJP;ls2iZbKqwYM?d?&vw8t;CYs+O+=yWB3C374XZX=`v3Tn3Dl8LpwBypNW=UaVbQ zQd#vBXAWM?yf-~Q_u|4vj}@Yvd98EUyepoCm6tbmjBJ;Yffbqorq-nqJ3(uBHyG-mfa7|^034AAJFfAmx7DGc^__4>n5U&ll>mlGEfyWJ+v{=l5&RTzCRw@_R79!9!nEj(UOU zSo&A?H73eHkJNS{4!A22Ta+GS0Y^<}p;tZcin_1LzO(xu#p6Z+Oqi6V%mkY}Jqur$ zE@A|fEdi{Xzc4_IAOt+-AbDQ-Uk9+IK|te@@I*j}$QV#^GG*Z9kzx>rUPpx7;diw% z`z`%tD_k5wVj3hY7iCNy8U>_T^z80VabXN`&6jpz910>iTpc|(>;@5QfVGWSE$$^< zm#wt9zvD8xK;&Z@J&z-xEj9DbV-@ViY4}?RuF)SUlrz-tikWf}3Mk!F(l030ucn+1 zWk|Zr+=dg>2eYW9N@#gdMOmQ8D+!Ms zs_?R=VQ?Vp)+G{TF-3HK2cq>;-6U=-Fa*{5>CT-oJ8`cwn5K+9pT^t%xwROhaUc&p zc5hty0ezu~)0bYIGlFq?GjAhnS8EN*Pv_6*@T^12_4DL|LhUpD@gncddG2Uujje~+ zw!5FQUBz=x@m+f3cl#C69vu&&G$z||H*UXV7?54Et3}!JRGTET z0ie78-hT-;?adB8pZ(0Y{1Is@zXhx2JTz{C002DB2KvxI6Uv!YlJN&dImMLq7Gguy1^_|VQ=@E6k#d}-vFzHe%9l0rqe)eBDqcv`fvznDT8EETc8qhCPONS! zUp1bUX66v-o2IO8bNN)W68E+-XWjK-Y`GJPmyRkG#x1`uRl8dx+SXLeUt8Tv2L@x83J3lu8`0+GFot(TX z&HL#Sm>lXMXOB zS3{A~G0XOGU5knMduZwBhuBv0`bJ33Ew|s91qQz;Z~hmf9BazsXNJGtf#x2Z=n%gI zA)5D+5xTJ)4}qHEX$#7}{g;M2d{lg#MBY6vB`lLZ#Csv4v;R7Q;SY2|+#F;Ztm*Od z^v2)_5EzY3&Z%7{rZw{tH5h^I>{|BHG9>sSVh-6fT&1yfLi%ApN&gX@2a6!@|% z`Hm#{9wYG{Bl(V3_~EH}c1)Z90U4(yy1&(sT^tHpZq0&PeFI($NbIurfpcq08*^YowPiEiTkIlT3g zJ5Ee=<1=8?`|F&reT2IaqJH?HZ`z9WN8Hc2Vuowd?`7pxg9k&dDb%n7Af4cHZ>E4a~s*^9z5ox%uGPq{n@3Sd8n{^tg4M zdAI4@<9xk1^7(wTEYg^>Wy(UUj+S4jmLyU)2Q0OYPp4LsR;tS$m3(N|QH_=|l2l57 zy;l9lz&#UsJR~BjG9K2}k5g6(F*;JZjKDvf7dhOFM%Kg}YcE7Q3QRc$rMGj0v zk$&!N4VjJhW^&f|B+cPTNe8R5o21#XfU(I=xgXJoy`59lgK3CwJg(Zq;uMjaU^iuQ}DGOyr607-(t1 zl$f-0jg_R530%L7E8yTEG_@B1O1Uvtz|KaMiqP~#S`tx<N_)%@c3RcFlOr8Qf zcPuV+S%#w&>r_W|8;-8-N>16NB&II`lbtb3VBfinbS_?5L_!qIg6!oR0C5dVrEd7- zW94B|d0>62l|OlJEc~|ybRB9Wmq#T`5sPBQSDufhKzcc*)6zg0VamT{%6a||(8-x7 zx8q~RrY#=RB9V_ks0|3YM!oXTz}W1g4|UqGv3#tcl}^FskBGDB#tge8dkNzbGyCiz z=6@Ib1fI_FQp{1&<$W8kaFfqFss?c)1&c`j-ee*Zc`mfP1K+4uSzZpF44qAT`|HH^ zY-~(Qv7Xl0Z9esiDCxVoTIK5rP>bm`U5q)NQqF?9P)JzVKWd~oH6DTUN-M-o%o)q1 zsx=kGTCojxaZ^N=U2#Bm0j2gZFHvBGdRgw@ax0uH1gIS$p~pC zUx0HoE}i4I0BmL;wVi)#0)r<_2lEc``=^V>q?L5hQmi@`ZJW}myb`|1AcwDp_%hh}{7&1Zf$)FNB6O41xw zME)INvw`{IewfvF{>*k;}DLO7!ySJ2$o0Vv;XN5xQr305VCj6G%>(D~_M9 z+IlX^7hF4z)chH7E)DtBhr_kz!qrNlt6*w--q6R2ujEmxF>9{@y4efY6yzI;nq5w- zfiKFeKEV&cA{WtEDX}`NB&c-P>7M8B(nM`^shZX@HJ!yNOP@VtXVV;%m@jdrB3ijj zu`w^yW+e=edK||H1KJ7l@c*s+c{XHQPT;kkVbP=jeM!*V?Dtnr+$*I3;l=&>086+F z$&JDL^*KuVGx}tkthSE=btWg@6`4clfEv9=%;)wA_CbHvc6;v&&R=^oFu(4O22Z|O z`8qNz5Kx@b^>k$1?J(n&?2)mxXwLkgS?onWuQ=a0blr&G2-IxWNN#bjjcnIK^r*%E z+0=VrZ8p%Ndg3r8x)D}zPNJmvgQ8$+ti%k3$n;g3l-B?vSOdOTS_W%aH0qrZtQtfW7_k>8Qu z`rM;u0ok7K&m~1S7*My}z5_u=^YQ8rMEDR6e&N+$i10;}$e7ERKt@c^m1Hb)e}O;l zcT~$i!f~ri=(vSpW`w61R}z2Q(&XVO_vF&;?hPkdyE2Sc^a8vzcG>;BRwiJ3V0Os# z{H{Ts4&_B)uZ3ZI{LmSMVbzKMfq;Zppm*;9C1Hs`pG&D|-XKS%vkPyud59VcV_A!k zH4{L8_D(f@*|Tkk)*F%Q{yAQDs_C$3y?PgUOF6^9(n~13I64QmXH5iYtWLL0AcVSA|r+nh64IuM25Z> z*#BZk3*ejoAu^(_pq2jX=Oqa}kMM6lPeZ8x#b|b+4gZT>KZ9R_{d-p@2VDNYCkzWA z1!4b<$-{#EFP5S_rHFMpkS~6z3mwX=6|tvNT{~|VjCvV;{Wy2j)#K% z?@MRbK>ru3P=Xx%ub;OUco_J?a>62TwDZd;PhD13=UC#<}_&}M`(LaZ0G`nBi? zUVwx1wP|QS7hi1J3}`-4uLsl~;oX$R{*i-Vr^-xwVrQ*?Wq)RO{?O#42v*QpolIeS zDccV6v5^nwxu)jw4CLa*K4h;67CH`JYQ~5Re=qMae46WIrF0XkwIC~iAyX1T99cWG zP{B>yt>6bU&r6wS=lV`8j-B+JG-}Yr0*z4C&5AAfRXIU}s00a_?-Z%{lbQp6ut5QK z@YinNQ7r1pPRc+)9f^DHnCF26OKD(UBk>my1oKC|hm~h03ovc`ZcGkC&PiF3&~z4E z?C*-g_i(=gAE$U4izfr*Jv$F~a`GV)eSW79M|A@U!sMq>)5u5+`$JOb{yKwPuXE^n zg^RLVee)JNO#gt;5T~($Qv8Hdqn}DYWDoR~xGYf*Z(CMx+?++e3g7l5D~|7;t(e9; z6Qo!hoHJF5yMR8haPHnb>J%>KeBe1^hzH+C9<9@MnQ8BtbBT$AUIX4oWn1uZ{yyAg zCc@QM8*mWgotB}St+!f|7b;V+Z+ibqf;H^cjh2-CanNYb60F1SIR}{?Xwz7D5PeoX z)u&-ls*78ONV`~`X0<8PWLB)D@!dLVMpAYmQykF>#~kQJS;ko!6(<}<{GH~Y(91%L z4?t-%yAj&yh_3SYcuwiShr^>P4QF_`RAp3Y#DaQ(EJ)0>sWQdvn)otCF)Ve)Km&r3 zcoLMHz}Yya-N5`T8R9V5>*vhnV)AFk~TwOt`WHmJcM|4%2A?Uk_O`zeih`%ki>=p; zPQ6nnflZia7tO?MNWqMi&?|yQc2cLD&Im7J5nV1#U7#tj(b+>sZIYbr-edTP$Is7* z7_0@x2ZkxYwkbGlPn&Y&@t*Q`PKBe!7k$5m!5y)Lm;DZPIpo1RN^t8w{9Kp;;6A1C zHE%|Cm+4913jaBTp3KvOPy?Y59(UMnEZu*`Q9e`(RDb}EjMd&tk{Trrx zS`z(-{G5C5wbKqwX6U+%E`BmUSaC~O75>3->s0cs?Qq-F9d()Q7y|i%zL=K+Gk*$$ zk=m1h(O*`os(iWZ)azT*EeKJE^0<96o)$y-oDx2RX^O$w;x8pIJ~;d?sNJ)ZaK zD+`JJ$NX+zDk==(AG@)dhmSTmP?DwwxA+J*WX*dN0e}<-uJCbH4#;233nUh*4+D)W z?88|XX&;i0w0pX5FeTFDqa*DOLh3R=SQ~-!l9;S+2aV{)z(Na^;dkO5X`CqVgQ31y znHED{Zp3>~m#MbIkbw6XY*R(PVTj@%*X2~H!z~8h72ktj-QDis!f1sjVoI{u-_9CD zfXQbwOb@H@c&(E=kGNuPf=F1f7Fmlw5673;$fp(4wIW{QK=3QPyfU4ln`}{ zZhwhA^+zpIF{{NX^2n2FZ3I}_r>)q=Aa~cfteXzsA(9g$hjwBow%e53sMU99tmhWL^N@Hql9`~Ft{!9}xf4A+Oor)e zQc>3fXK`a1(dHAo8w&5i;^Hk2lEfW{W)a_1hX2Gx5T~rDAh!xj>jbtUwL+9}WQ3kW z*cn2$`tD%jv^o)(J0FJk68pIY@FP6sW}kbQmoDN_>2F4q6S93PbMnPk-Q9L^-A7)` zZG8Al&YBzF5Citr1l03tJ~1y!r1G%*l5L1PqZV?ehBaePi|3DdTZlF%bX6$1k`GE( zsnnL4kcZ9QM*8Asm;h5kH@+Qosf`k%JR|$64svGISyG3rGV&0_AW~F69S3i~03}CGh@30f@hl zQ(MTFit+o@i|J;d7d)Bp^BP7u4U+y2OwX#G~41!gRd z)C?<4l*KwDVEO>15*S@m;m5}U$mY7p2;H~0e2ANGC>#jAmzcc-q_J*R+z1A=*G0J3 zNUIVjxGVJ1TSRiQJ*{^uIy>E&->&ccUc(`-F-RT0`Nf#@dZ9VQY@u&q1w2yhY(j0N z{CYIq=^BWCtTF5N!t&Ff2z*op;Y)_Ow!VFR;^xCvPI~X13Gqp&Ysmxkm(YyDs>Kh}?rVcwJANeaqc-C7+P}j!O2bD)yK0 zH*^1C2(J;7x>4i#Ym~Hlfu|QS?Y&+hScUHU@#(rF7ivjCe%>afa8Pibu!{!sAYZUP zn{OxyP;vy*v(5a8Jw+dAwaGYqT9njO9n6uXr+Lm-5q+^{5Q*fM=^2fC0cELF^-(?D zezxz@=hvMteB54+q=W)B&03(dh{i>c*165fh zuc+#UW%}6PS)0G`u!j7bQ;5Hrej;;)SYU9=bX{=b8qLg${Y-4GHEzrzC<$4G@r=wW z?7E=vOwKAMyMWI!F+atRm>2z-y=8=TLfav6U8jC3{1;c(IOXK}0^tSAE8$~cYgqJ} zNnyhHx>kDyBWZ^=YH+X#-kvC*!0@I41OU?mJjw@1zA;9Zy-+&kg3inl$x&UCFGym( zCp~S(ka)heInBo0w2%M)a)vF_p)j2P4SAgn@d)0&G#^F(-;kGno)9+0I{_LxMY|Fd z7FbYNfBr)laF8Uoi!Be}X3@(3l`dq2Pr=c1-wndq;qIuII+jXnLP%)MU+-gma-Cy0JQB4TJ*cyEb{Q-*~dsMWQSU7nv zCqopwpB}?=($we4@oQEK3pW7ITcvN5A2|zqqnn+JryIc5A1cc8oo>`Z)W+RLypf-+ zlbva>;{{t)7BLz=<{^Wi);wwT2WzJ_6Vs3BQcnXUaLS(u2-ij`Sc_At1{1xCK-uh3 zgSn|lwc?`4N(*BrHoB?NTGq3EjZsyZHdKW+{yEWr-?j?lf?L7 zU)jRN_t%E{;ZmNYOzAz{I*Ky#rm8RAk*l(=RbjE!AEkyItJ5P|+5$B(JzKW4Ao*2G z58|R>Br#J{v5Z9u(pucjA07-@z<3tUcmem{*^x8j&Zzbfl}m}4W0a~vv$CCV1mVe% zBhkgX7P=O?_gbJ-O)^Sp{#7cHEkD{Z0w!7yOSrVAqI8c-Jj?g=b-%wlh)FTy!T_iU zHIJEoZz%+hl=^#C{1_sLw0cH=m&)hQk|Q99D*~VCfBS=$oH;Yul}F282h_f6uMw|^ zx%+wiiH0Yx{oa_(ry@&K7-i7km<7NSTCO=CxJRjm>sGbK9C~v}nMIgWGm|ZTJ}nS4 z=O^3l6lCQ`!1WQ{C@0Kr@akRGd?klm~Op{wAzc0m!LE-m6@It zMePL93he$8kET>msp`=k0YXT zg*qac{6K$O+CkdMHOUKZV{~_ zW-Gm18-qyFd76o-nuH@Jn>SiI|1qH6Om9g?EzD_ybSLJ$LY;h^2-|;4nkrjd^P{7x zwIgSb4a?Zl|x($p3SAu zV}=b`{=7m$Y~toTCt*uea7af5$Pf+!1vo)#1HwH(s4tqa+p*zLU%|Q za|m<~nUu8#w`2h1liH>3Cm)eYhBic&hq{$}i9vVD-f3cW>m;%103G&@ePv$w?yc z(qCR9ivl)N{N|gt&>YNDRQ~tQ!xHDlWb3ZZ$xSN>Hl(oanqs%ov{{2b$-0|RY|UZ= z8Pk{58{X<`sJB~8wj#>`q1f8O+nwoM8KwQ)qHE!2O(1d&;5N~>>{i*&KHl^mu5vw~ zJbuyP^tgwMc z=5udh54;@>5!*Q{5VN|(*+>1H)D{*T%ThYmKJMx-!yL#*uv1xMMtmuFU5e4h7qN>)GhUE_JivZB zdIdSMA}+f7if_D~3+K37CEz?y+Yf+4$A~x=9OWsrE@f9p_QLRNV|t6y3}!iRIIx_s zQIi2<*NeOhZN=H4)Y(z$y{vTrP)?%(OVRy9KsF>hWOfS7D%rD3%5F$`f8Vt;gm{v5 zZCA{P9fzH;>DiW&-aYm;h>3cfu)DvM@~8w8`4pQ?in7EAaS7?Vpf~b~;hh+o{6*2e zVJD6C3acr6m0-HGTnq^JIJbC-G-Y#It&}O>=1Ea6U8=(gXjJ*uwX~Zw%Nm zdE@rRbbRZE+@Z3A#+delwf_ZcE*RvT+wY-Z*cS&I)0*FJN*vRX-|r=m?I0SIv-2z& z0lQC$adxND3#*Y1cWrFhVYM#=>>3L4jDU;5JZ=@59KH7AKK%s;1iAVVf(|9}4+J?8 zkKrE(@-{NV8;;HsT;{K|8`#xki%)0xw`cWf=uK#^bZ6%kdEOEZ)S#}FG#?W zL7)@SZN8}O#>6q&M@TFcskJ2e81xRzZJcB%inJE8w?tQF^6_Y969`RPiwRrDx-hg> z8qzcmxg_XQIUfg`!}zoIFV5@@vfm6BNDi9+`M0-UU^fw@H*!2VC0O)??op9iJQf?v z`FA^XTSkO7;7Dvq2mX#qPgagxgX1RJ{$67cNRa+stNu_`qz>S{HElb6*be$VBs?n+ zgoC{SUVQ;HHwNtP4!|BVr0(5dD6encLkLKyAlW|$0?4zsb$&rrN#6*3Ls~F(zbO~q z8l3V!1bIt_BgF^1T1SNC{=#p8=sODrj`+P!Barl?5%(t$_bU_k(;)9!BJbirk$(5g z>b72Mn4c6&NQ#Q~(T%t_8w=!-N4S8{7D}%SWFa9j58Eb~)&xF|OexHiRKw`!!Fhp( zNjKI?*fY*y>%Upo@9{9o z|JB`pZ}gu^{aT5($4rS!0wqkz3WFj_vA;!t0#az#qY#@o{z&ckrU{8&3P#hi#E$B3 z!@S~1%))Bz0bm@B*Q{z|VTomtTyM0Tm!4y@m11OR5rPBHpqzAh`F$!gA+7&1cWV0o z?vq=0`?;L)5H}f`VqtTc{ptOA__qC-<9y%o>3bs$a`_}cY>KX&Zifk1X5(9K0z5UN z)y7|JC{h_YDAdFL;>w~+2b-e9ZMJ8A7e)r1RbJBsBrU^!iNi-}c&&qwku9>tO*=&3 zF5Cs=0o+2RXrV4Kh z2Z%`LI6CYzPOjLiYcz`!9=V_oV8JG@IK&=~7Y@YmqDSA{t1Q^TV&jiWDg= zIrEJ)DELgaGqK{~VHf3G8f6w|8i2ShV9_>pQniGaLU5?AF5V7i;V23wV1`0#i3zrC z+WUtWR{@sO5=VifiEz7SJ{0XGGiAl^i=UEZr}f+l`n5haRJYR5K9^b0%BqmQ7_d*Y%gqSG6dth zK^lDQxga)-ziMWt{S?Yzor>5hW*^hSM2l_YV`iBw>^;@dqIAi871E>-I2}F~H>riw z7N3}TSmWfn6VHagw+OR5pkC~gB9*k$aImiqaq==NE^QQELO?rb9AOfSm0A#(7)gcK zm{x(@qr~~7e9y!~r=MoBT7{q9<{TG2rH9G5(Vs`kqp3msgRO9U-UTLy>Dv1Jt~HYg zMVq>*##S>ed}cuSKswqfG}mv<802czDvX%G)Y@{Dp@lE*-y-7WIPfP&5>i6$=c=%zxygig8~XFucz^ z*Rrd?OBZ@W!R&G@CrKh9nt29$y|m90_@HF=#(VOF$-~g+lne_$v7jZ-SIN}H8uNs? z6m6D0D1cMt0eZiS0Z%COC#Tf9BF);)zUKn!x-J1Mf7{!H2PO~@3?l^ z7-boncD#Hv&YWtK#}UUa4eB}Av$8FlDtU8uXD*r@Q&2Z+vJli0HcH1`O^^)Si>hY5 zx=oo_Nk^LxPz;=^MbpkP<~W6LOK+;Z!JU3HqqOen1g02Sz`thSN(r_(O%E>9y~PMI zHvTZ|GO@CFP2khRHd2lMgi$Z)|M!Gmq1!hd@W_tB2y}R0_RC)D35h6Lew(Q(Ll5qt4rWFxM@P}MoAB)e;#CU-H zX@ZG*BmdQDd;suNtO)UQBjvbuxK*~JA&VCEz(||HnOA0s%G@Yto|Yx=WXx!}#z7G| zTv83l__D{qQA9j~wD<(*Zlrtgk77e~*-Nz(Er|U|WFKT2svM^Lfx!7Q2o8!K;FW$H z%^h6`2eElEZe0{Vy)HE%;5a^c1{KvA{cw+E;tbenBM{@wNU@EE!ULLi`rY6pE+f6R zZTM6>b8RkNEy2A}VOLYwEGnLc>ImfCRbo9XU!t@(t|))2m2X>8);kitP~WPC>?+B33P<4_pJC3{ z;#($PFRo)<<%zl+Tby4>)4|OY^Q!lF7{j@c^TnQ%T7%$|%tD;o9P2+fvUE+D2xu<( zIg)-Z**!Lg_BVsR8~0Tjcm(lt*gExiq}c9;0&0Ks7~K@h=EowuF9wM zgQOF?V;m|pS#XI$UDh~8>o!K&e6+cCQqTjgs=+I~XSjA5&ZOwlv^hDDF`O!FT|FAE zwAFC$uev`T#g$)(_Te7rY%MGc^c(oIv)@cx+m;X9<`_<4OON$=9gM-m;m^kCPrS?F zZ~qThZygi&0ylf(P74%wcXx*tcXxMp*DdZ8U)+nkOL2FH;_mJach5P`ee>QYA=!ig zf50zccIGql)z(_M*xbgGPXoX@hHa9}Q(8Y=FGzyJ%hp*<8uH1W2}g`)-%|j%SdaGW z3H^>dcCDHcrMsN)TdPDr*yAPWNMKd>%t(oXqgLeG#o(ZE~~elUUTs|KaDnF`_%A*EBhzJLL_laJMiZ07F7(C!kwzTvG2k zg&%gxpI=J5)Z@JiXipr_yvk@#EW-KqFz!8`vmWDMbx(Hd=Oy}Xoj>U|rFRG)zwKu( zmLk1{w*0_Y+a#;f445rJcoPUn+=mgNz4+Rn^(Re6QuQ7;uLfYF#G$FUi!=x8!6{5h+vA457S8cGj)qY^-2=c?Jwz%zm&a}Sp1d!5crs= zC-l86wb*^6kxr<6I5Xk5#x#r(W}Zsy+h(QZ8o3(EAx&&gZZCj)2v&E1$iK|5R4LU?Jlp?ZUcyp;|L~?V;{icNFiIcBF_w+ zrKGcBaH!i*Q>SaU&x3~tHYqY9Lu=;V^*HLNG*tBPl6PR|YLr z8#NWq1hEcstn!g~X|Y9V=i?H6HCeGGWn2U1AN|;33Nnbw%E=AR&TWp`jOio@%qLnR zrr`xR$klVon~vey*ka;rb0!k<=E^Ezx8I^QdBK)UqB-|emJ8D2eNRliGZoIw=2P%8 zB+Vo;;h$PZ(o&@e#(ozAim^i^6od_5{(7EZ7ibP5hy)oF$Q1G0bsvF?S8-}#pl&VXk6A>Hf$g(z}qiW4Q)soUz9D)9o>x#NQ%*hi(Rm=D6bnS(Na6W z;Me&=n{G^Kj2`|tC2C3M7D6Mrj%r=Zw^|b6jSW4)^E>jX4BAT-un=XzTBpu=NFTvY z+U=^JU0squQ!FEiG1$73$64SVrp&8FTjdH5(8Rw;Xlruc;#{rpCnyRPEVU@WKH;{pzuPV z>w8+B&>DbLwoR{9GdDnKq_r?s?tjzGE3lh^v$3xQKpi=6ZW=wU%;pF%Vwp-Pj`r}T z$V`B*myfUE@iLF!)Y4PC7h4`4y@g(O)*Q3*ox;9bAt%H}`;e|5{k$Y#~8N&dCg<8p7aKXYB%a`+ba1z_kt zJF!Lx+;&h2wWua9VmchVkl$Rh5Z#vWb=kCnciI*ac3IL!TTP)M<6JU{^IDsoHY!-V z(ynkHU~(93i*?meSGOAD*GK=EQ8olE3gY9AVH{~4CG^%fVX?xSBD?Fs1Z9Wtx1gz( zUaMwgjY9|tyw?*%y5c#A8jku;0iv!L&gFRu>$CyNz726k>bpR_AfqkEI&+GvTlnEtFxQmt`lmQx93tdk*jA>oTrgjIB0 z&X$9o@yGh0s%DnVt!e@ye9b(f_35^Vf@K+TYqJbXx+rf(+`|?ayXhJmEZ^dgV+Axz(_*; zdvyvj-T4d9#}if_B2c7x%oCO#>f7g`^3qgrbioz-k9VO%`U_GP;${RtSVnLF^3^4d z7I!y_%Id4fLubZ;k#GMc^-2PXKdy7XD4H7Pgj#g>pc3bylCBNhhtnQ&UoB*P>h0Sx z@cZv|!pv9tt>;tG$>tviLBo8aoofiKD59Mcmm0o%G=$=k9^tg;X;__iVAb!)1I&Vm zrZYasu*=&PN+XxhyR4-FjQ2#Mnw@dfegVmDs*6T2QLpbXVtSpVAL5P}G*m~4B}wgn zvQKE#JO{c=@@d1`&)szSgfg);hbC_O)~m1Ofv^6sKe1ufN}l#Tu!P7% zKj#Xvh{goJ^(nj++jaqc&mgJ(^?7myA^+!BBn7`~1^l>$kOx-=%H2VH0*o4MlM}Qf zermI-)HnX=v2cxYW~X2XwtK!irftUIMfTGw_F4MAK7THP6!0{hAE;9!5J(Jzez$dC z?`jxFV##!@rmf8}RUGZST`@Y5&_RxBMXE5z)2YkCo>3f?M1gC8DC4X3t)PTUdrw`B zDFcZsf+n5Wt|LyTa@yNx7eIE>s5h~aVxJOD*V_`b?e6UrWJYr&mP5>!Z;016Fh@Nj z=wO8r8uApgbsQhF&xfrLrFu_>lPBrHau+U{Xzo;}%%X15s*avOzO-t5M+g%x7Y0N)pCdk00tbW3}A({iHaNgEAJfn zw&TJ=R$y4xh*aowBpE;S+~iucAqQjA1#_uKDGOZR)1YKLBqLGOWN$ES;YV!3B%;~a zPJcpRaa2Bb6W4^P+X_cDtvh>1;zub0=9;zLyE{V~q?`lW+9IVLZNBeB(GD-l=PwEl zO+rhpAdi8%L$~&tB)|+UO9y_Uy>V4W>MrF0;@@ji?eCba_Q6-!eHTsnVUC$iWwtYQ z>>@qzND^1v*|`FZPp!CCHQ0kHN$2|qnjTH9oS}AdJn7XqgZbw3E&KxqyiC2%EO#7- z%3Qyf)4_Etas^JYb)SZwQHLlYLrs0{gMP2pcgh4C##wM=jR8ta6HA}d?)LsbeA8*K zjb`ne24LC4f#y<^(<@UZ(2kk2vuze4`b*VAI^Z#_=SkEvp=xYAC{#Gs ze{Vvq^pqV$F(rIIeUO73l>7kB* zMGUo_LdZ9+=DPwfHEgq0x3kWv`WZB5DmN5Umf_pklzFHweGx=ml<=KtpnX^@RvDOb*OZUmKwcz3_ zgS^NyjQ8WQCRGo>*jl;&)h>g}CewEa-|!0P#;X2UI>q;adv>Gjc)}(g^^Kc0)7Du7 zpN@ zZEDHx$n_<8>*X;~RwTj}TU+Qf&Sh>+G`n!^PYl{Z3l`}Z zYy2rAru#B@YlEePu3uQ!Q(=*1hIG zvP*2-r`qP0E@H=b5rJ5vp#SC1Y_wfQzw58T9Fwk4&tHd-rH^itro(O<97%fAF0pxq zOVPobDL=YzsqzQPJ!@lur!9Lz8lBd|)9MP@^ACCwV!+*LBG2=FwLjT7I%IgrDvh1= zZoak+vCY+9>!g)kMYQjsZNtsTu>Eloo^Y32dN)KxzjX(Ff{}Lps&~&^f#)v}|N8mO zc!to5|Is1UE0Q?bAmcs^6VxpOZdbq)0yi!QaR40}QjX|LI3L;Og*Xx5p))mb{fvg} z5XjWdj(^eY{z8&P{HQ~sjJ1r>E(lfnb!1iB-;XlnZpdnuT=XHS46U9$=U*hSqWY$P) zK+>ITC$}1>8d)M!Oxd$@k<82#?fy-?vKCuo!bYWZD{25rc#iTUZCZXl7VA4%@%$g0 z?~;acHR9z^h-bdcLUQe-C8*(U2mg5Yham4B$5&O@R3w^@rpEFg@4o6E?|zj*%nqUv zQt#KpojW&#cxyi@(mg)G@WUhgJiv{x_{ZnWMRoziNM>^IWDPG4GMD{w?Boc7x>ZptSd@Iuwz)r6#)iOv=!gr zKsUzHT7eSt|5*3GLDv03#7Mqz*|Jg!$hv=P;msRXS_75cf&Z4>_hFf2>xf5GT`ojk zU}b~ALBx2xF`}b$UZ#npacguPMJPr|vI8IXC67oN`jHGn32?$ZgD5E&TYZ_(ePG(K z%P+c9Sxc)a*|Q`z5b&!Wzl`y^z&(C18u~rB`^LC5P6cCy_Log!P#H@+K{ACl5i!y9 z-JcV6TNAK+i8iCG7lO&lurvx=5wIc+j^rloQR0Mp))dGpufSDtO~#@*uMs!*gW}WyChfj!?sskN}j$=q8>}87Gb?y5mYB z0&HSM5(V6%jFbm2E9yq}5HaA%CmFPuVM#kl)@~npCu222wlleH)@{()Ara7qqh5IK z$AAZkTtP6(xYVvjQO8W4gSw!g*6i)<&I?-!10<@N3QUEqIS4weqYpU2z8wrzHjPu5!U2{O%`A!XD#sOGSboucqcpF+pT?7 z-k5quWx7T8i1uVut{2tkG(~ys&WG2wd*E+7-@N^2Qf!O1O+!l$$z{H?sp zMVd}q;JJZcv;|MU*UXwaF|kaLR};-rVPcg9KkH|QsXJw;#T9gGy&zuSVU3)&pZ-N@ zM&X&v+Kl{@`ze)*OKicr(w|}ab80B}@n74WlU>ok-(%G^d@WO(SWl5q{xNj>`G;=> zuMRcqjDVM~-$xCSIomHBZgpl4nx)nTS|ykk3=Suk|4>CP^dJGzsj871)O44YN zMUsmp*xmtG8Ob@I*^4&O($k2kBE=Kimn*W*WjEVf2+~#>5Pv~*@nYD?BNSr*F8koC z<;CubW!LiGVfhToaO38~b}p_11J9+G$((`L#&9565p4T)t&|kbQF6(7-Yr ziAG*Oyw&&7uU<*zdixmm{rdarfN39yWB^e!nZet&pM{sn~@+-xrK3^v0$oPL*Xb$0Cmcr%&D zsiUu`QL@kHSWMsf%5mlfsb%Mtc22P!u>-&JFfkPJ_OG}9^B-?NN@sWL$8`x&3F?#7 zjRjsdvV5c$WKCr~@ymmZF1 zPeO3$(uC1j2-J@E{-+%uBEQj_cu7Xo>t=w}aU@l^aU7ss$Na0*S_r%vrC7cDsJuT$ zt@r2@3X>LGpTzNvEboK16mr8oSJo z;@?ut$^0!ys2BHY;KeG{wx%$C*f2QN?GQdkxAj5j^czfi*MI909+Z+Y?+m>Mw6GDu z-vh|+0i^c;%6kCGJ%HjKfLOSZnq!!M1{#BeN(b+z5xOFR%0>puzJ>f8xx8g`6uflG zc#I->QiugWUoisq9KeSb^-qZ*Q+{9W%w9ho5%~JUOigS>eSpk;LXk0DkvA_RJTwKi z|IB@+Glj95r%g(Qos@nVwx^R_hU+FA-}md3ey&QTzl47%VMVLDVjiwADlDBgDwjRY zVK$xeHr;aVuJFf#i zNk%?CMJJowv`w1#(aD}6=-5i6Do$k zOB%qIPk1=stcyl>^~bV%%$P&}o6S|IW>~qgKvfiS3j^nFm1S@Bfcl$yVMUumjm;_H z+G7iUH(+p7!^P`ktu0T~sjma7+Jl#-x61Qtv;9k(70!0o&p!lLTw(nK1)iJv?JuAI z&+cb4kvXiwfAS_?Duz)TByR$+{y%vmxCcQ6z+N64WT8wIO^JaH1{L>8nGjOqO#@ZG zrBl`fGN$*&0iV6vLMLrZUxS}nBmmJ@*_=bSSw@;jEfo&RUMhbc?n{ACu{ z=~{H|FF8P9DXG|^1IdbsnZ1nZodT7}0ThALTZ_YiBnl_Y-r+NYk%eRF@hRnMrR06*^Dl3q zkww0C-r9>e_eG=LG>pl_^aFDoBBSLusrh6EWDq^I`^U#+w#?S5$y(4;MSYP)*b>;! z`R^(uE7DotZ&WnGwXI|jITX3bx>yQSQS~{PewFO^wkB01N8^yhi-M(20!HdF)L8dS zQPX<4byDLkCHUrzzVtUxX z-=s{#Y|YIbMOIO$MP+7v0FSNXEpH?!OQC|W&zxwlHiG>1yBT7?;4eRkyr{w+#6irf z$(>UbVl6ash9`-4cP317Mmgr^k2`o5=Ts%bNpiz*@rhQJiv<*>O%cQE=s7s|(t93g z=sHh^^Z+MwI6^{``JxmVnt-ZF>g3FdDaxon98Ess78sSpt66n@07w%0d?Ct8!A=Zw zo{5AYzXAMv%cVXqb+?g9sZuh@g1^_O=I=nUfh>m~V-WH$ zN|B`Bx`@z6iP7#0W&*-gO2c)rTjU&~#U)&lzov^7o%93^AVs1k?yTmG-G5iUo8>qJ>CK}8OF zev43&V&=*tx{S%(S;Ns3VQeI`mM(}B%4tedl{$jLhw;zS6Oze|Xa$p&&b_DnyFSLr z(a41=$QI+7X`GzkW8wD83WOSACVvv{vtlv0Ry!6`v^p1R0SBZy{k414hnU5|YFtYd zYLvD*v08f`Z53tvURnxc^JReQq3;SY=|$f*>vMQKCmgP zsD8h6xLQSw1?&QkGveZCF|_Coy3gKc)O1oPc5BlZs)LVK?+}FW^pR)GRt6gVn?Kr5 zQ*E<~s-chFPK=YZoC>S>WfJeHrf2CU=ZG8^g!T-o^Vx2THYJbJNk~p_+l(C**MZ|^ zL6S$?fwcCKBnY>11pynPD!)=1%K|bo7sx-9a-I5Q05s{DrB0E1PvU|8Qpt#DB_(ve zpoyY!T;*;2NhBM5Y3uZgUu88+yPY`WDK_5U{Uw#mR=|Dy6uns#Wk3D;qVy?(WBRM?P~v$ zuKURi1OCendcXQP>@t{=mP#BA@hEhpq^x`1a2Rmkq%drd7q#K%3+lLrg&hetAGs^c z_}I>Tmucv^OgVFrX4XYZkN*?xjXaO2ALLrI3+K7w;_<9DjglYf|F z0mGWT&lx(QE1%!A3bu!^3@AGw^S>B?!35A?p6VC&XnJrvn@2qG;#*;e`hwxc<_>=~ z=BK}VNUuxL{}_xI=*KI@q?#6lGF)kcV$hwMT!&njab?EW%J19ulexD|k-WiT;yOWgt3qoC(e=1r7|Kqs#Lt5&j)5iy<O4LC;~O>8(TrmdOITSmT7yJy!C_L`f{7Ky{h5MfOb__tPilY zLw;#|cgRn;twRkuq!t(_0K^3%5%5|7^ehZ4fHw&qy1(Us`Hw(8{lNnT3kFwU{>#Xq zV8NiU`Y-=g21cV7ieSCm)fUAkEhtzZ0!ebhhH#VPIzJ8`sP(m-gTJqLH>Hl(Fn%@> zo%N!dF6$hc^<+XB=VXXNi1cD&Q56E0bEn1j(~omOP0gs8TMn7{_?r1d>+@|9Dh12p z*5;sK0g;apS)i#;;NM_@tMA`np?h`e926|j0l*7)2wny_G`?^_`pcPyL_|S^WX#;I z`R;y#{Xg16c0ohO?gL0-2u%U)YGUc;2sBE7#{qWt!+il7%t0ap+@qo)h+u;V!V|HtMm;Wa>%oU0U&V`hn3#zr* z>vyyP(gr^PG=Eb*{)eFvBLxZ86m7c*c0%n(WaiKlaG@Rd?uE{E0zx<;&Nws8k9Ko5 zf$^GWKo%1EaMr>nfS6|WAS`8mQPe(bxUzK3Ix4k!hdZf{91|%`?^oW_{MW*SYqn6^ zg6DK2EAy6u*9f7F6jJO~qmt72k(vi4m*O%!?kPp?o$sWip)ukv9*44RRFq{cisH~% za_CC5Btc%Ge^yUVjA8P{Wn`_%jnl5kutwJ!9}uAX9KD{rY1AuGCJ2w{CBSkZJD9C z3%D_E2~Da8RDjkB`0A$9@sq_f9V0+0hi=o6Vd*`1Eec+bBt2(FEk6WDkIGv1$l^q; zmmiZQ3|GBYUULYNpVT)Rvk8vPQn3pfeG|KXr5KByMkAG5dCxYeMwVVA+#0nR-kI65 zL&O2*`G3zh{c*=n2We2Ne=Ro41xSMbc{1`WVQ~Qhvt_Cu>w!QjiY-lej_TAQk5?EAI)p=m_UJM zn+9|WqJnVF{g{Q$Um;ZcsONKV3AhE*aB;oJ->Jz`?no}E3pkGRw!f8j-c6f2$3=Z% zEh8ZEbhT`m!XzGbYce#pwB_gF?JWUReWIg_55a^DVvDI9kg5hR0G8t<+_=xp8aSDb z>#UK+LIRVLQQc2^c0wc4OLxYjE7+{%t-Lu&%<||dU@!B{R}!hG7a$GFgka zw3y70#3mjN8^%G3(>z8C%4CGnv;*v`B5z?yq*HJ_(;^FMzTCXBgugYiQZNA5x-_zh z`3A3E8r+6Sc7#s$I~jZsO7VWHuRQDC9{X(gwWqmycH$HDSv3By(^fc$1x425F)wm* z+*3(E$q701CfIBJ`QQ8n@qf#_M@;K>ze~Z* zh>!JkqHyRq5Cv6hCKOjj5LN+#wss}MDxBXMlF0>4ehBqYCnQo}(~i?VH&jef6npt= zi*2`n97ZY)o&IAIdxB$}#!`KZ8rfNMRAzcS<(vR~1q|f9POc_vQgvb<0h*OnL4T$1 zZK1z?+w&VU%vbE#&QsFddyE#2O~YSGx>6w6yDcTeHXzyisdJAt(~|6ylYwh3tkasxb^mKSM zaucN4nzJ?zC)}9%Y~+B-JgM|RU}lP5l{cYWqRpQ=`V2ibV=?au2CQB2rA$RkrKKdg zM`U|szNx_ZNqToeAbM-&j5E)9e#O@@7nM5u<_v1|6}e1Co8|>D`Su7fqqK>gKlSRH z80BrFNPo)@ZpUpl^t&8-%4nSkb@)e#OL5CJz;SO_{Zce~RE_}DBK0eH(8TV(0Hu*M zj%RiunwouvX$(ur=RXzl#T?@6wRL*Ei`RdJQY?PlA^8P3j}uC|=X zM6bvr>f9vOVpvRW6L*BGX)7_Ws1Ww~WdYLk4;Z@wPrA+h4Yug;pEz7c|D47Jy*lKs z9SkIXxzT8y2zUjozF{^$+o5oE-S~#Qoc?9t^A5Zdz~A374>-OIJ0g#{A%Fk*%Hs|Y z658?ik3RiXE@QYyMKY=-z7dF3>j~ybB?_dc^^YVl8?75=A}!|;@n+W>xyj-+TNeoo zW97L`LCt60Y%M#&6oyRKW_CoZX*yBcc{j_4BApNG{9R3bk<1b)3;HWlJpnKHk{2}9Pcxat_bOrGxB4?WrO zuyog=^61 zc3Pn`^w*jVSUujOI*=*vWf7A1rpkgTX)WBD#7MPR`OSgZ!a533)bo=NK}4b?AJ*tk*IhY%4IXswro(G z`~k2T&+b)VIdOwnHucu3qBw}$f#3R)yz5J9kJi$Mu~ihnx3i^fo5_Ta9)R#O2MU0B zg~PW5Yd>fBM|7mhLr#DlJk7b2pm7_}zRWF3KyCMW`6O39?&k`-30@Yfw!K@1nrxgT zF_&4)IBP|O(R~K3ar0F%GW5FQH!5!9t`&eI5urS(wTFQ1htZNI zjqOL!ZA;Nz4mRlz8l-@{cL;oG7JgsN{UA^TtS5T^COvTg|7UbkMmW1X{H6VA62LP| z#(6(ucGB0Q*7})jL!lJ*+UhKCBMRdWnW+u_`1o^+#6LV6HmAEMjz(o ztsol6T=Tk`eEJH$s$T6Chq^Fy37G9Iy}BcK@r}r)o530YnQM$9_pu~zO*Kfh#i-~) z1eXDsSYL*`G@mx76m}+uWhh=wcC)sFC|+K6v*I1n$+|c^W4``eYm;36D4+jp)s<1d zEgI3eE8Jxx@)%a2Q5pdG*sio)0`1esPSk2Gh%)h2#ud5#mXiABpzi4$1F+)(99U|N z_oVx}s>i1GS;W%RHy(yi6t1SkajO)(jXUZ{UXQyn0MQTzU7E4oU~F^5jriSyAj|aB zDj~!wMeK;*CRfH5lA%W2JDX!}%=TNyp!N}RQ%F^9rE5^*4C$)8hZf&^`g!4IU257R zCtdSokKb414>r?I-1BFbTkcS_!i-4@&vHE}aMb}H*Vhz9x%;1=fludPT|C^3_=S&h zZRP)qs+C>RI5Y$j8$wh5kB|u{C&U8UOTeK3ZKl5uTKO z|JAQr>EP#=Ev|3%Zy3O?!p&rdmXuTfANCf&j{qoqk!!GDa6|bg~3;!^@aPX_}!Z3#9hn_Ht)D!#hjGMP zD++5~dm--LGfy`Oap9@O6#c+DnQXtznA(gX G=c#zsxT03s1tT1_J?pejT2LKoM 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