From d39c2f385940b0fc14d14c63e10ad6ce0279f824 Mon Sep 17 00:00:00 2001 From: Govindraj Raja Date: Thu, 12 Dec 2024 17:16:03 -0600 Subject: [PATCH] docs: add inital lts doc Ref: https://linaro.atlassian.net/browse/TFC-669 The initial LTS document was created as pdf and was maintained in a shared folder location, to avoid pdf getting lost and trying to find where it is we decided to have LTS details part of docs in TF-A. This patch directly reflects the data from pdf attached to TFC-669. Any improvements or amends to this will be done at later phases based on LTS maintainers comments and agreements. Change-Id: I1434c29f0236161d2a127596e2cc528bf4cc3e85 Signed-off-by: Govindraj Raja --- docs/about/index.rst | 1 + docs/about/lts.rst | 329 ++++++++++++++++++ docs/about/maintainers.rst | 2 + docs/about/release-information.rst | 4 +- docs/glossary.rst | 3 + .../diagrams/lts-timeline-example.png | Bin 0 -> 36609 bytes 6 files changed, 337 insertions(+), 2 deletions(-) create mode 100644 docs/about/lts.rst create mode 100644 docs/resources/diagrams/lts-timeline-example.png diff --git a/docs/about/index.rst b/docs/about/index.rst index 06973ef16..7cf2a6828 100644 --- a/docs/about/index.rst +++ b/docs/about/index.rst @@ -7,6 +7,7 @@ About features release-information + lts maintainers contact acknowledgements diff --git a/docs/about/lts.rst b/docs/about/lts.rst new file mode 100644 index 000000000..91d3d408a --- /dev/null +++ b/docs/about/lts.rst @@ -0,0 +1,329 @@ +LTS - Long-Term Support +======================= + +.. table:: Table 1: Document History + + +-------------+--------------------+-------------------------------------------------------+ + | Date | Author | Description | + +=============+====================+=======================================================+ + | 2022-07-20 | Okash Khawaja, | Initial draft. | + | | Varun Wadekar | | + +-------------+--------------------+-------------------------------------------------------+ + | 2022-07-21 | Varun Wadekar | Refine the Maintainership guidelines and planning | + | | | sections. Introduce a new section documenting a day | + | | | in the life of a LTS branch maintainer | + +-------------+--------------------+-------------------------------------------------------+ + | 2022-08-05 | Okash Khawaja, | Merge two drafts (draft 1 and 2), address comments | + | | Varun Wadekar | made by both authors, cosmetic changes to the content | + | | | all over the document | + +-------------+--------------------+-------------------------------------------------------+ + | 2022-08-05 | Okash Khawaja | Add note about testing support available from TF.org | + +-------------+--------------------+-------------------------------------------------------+ + | 2022-08-05 | Varun Wadekar | Changed the “Future plans” section to “FAQ” and | + | | | answered some of the questions with feedback from | + | | | the community. | + +-------------+--------------------+-------------------------------------------------------+ + |2025-01-07 | Govindraj Raja | Convert from pdf to rst. | + +-------------+--------------------+-------------------------------------------------------+ + +This document proposes a plan for long-term support (LTS) of the |TF-A| project. + +Why is LTS required? +-------------------- +LTS is needed for commercial reasons. More specifically, on the device side, +when a product is released, the companies have to support that in-market product +such that the amount of changes to the firmware are kept to a minimum to avoid +the risk of regression. At the same time the companies don't want to exclude +critical patches such as those for security advisories. Similarly on the server side, +companies want to minimize the churn when deploying fixes during incident +response, e.g. due to critical security bugs. + +This means that those companies have to maintain and backport critical updates to +old branches internally. As this effort is duplicated across different companies +using TF-A, it makes sense to factor out this effort into a community-wide LTS. + +What does LTS mean for TF-A? +---------------------------- +In this section we will define exactly what constitutes LTS for TF-A. +Specifically, we will define the following characteristics: + +- criteria for selecting patches which will be backported to LTS branches +- lifetime and frequency of LTS branches + +**Criteria** + +We must have an objective criterion for selecting patches to be backported to +LTS branches. This will make maintenance easy because: + +a. there will be less -- ideally no -- discussion when selecting patches to backport +b. large parts of the process can be automated + +Below is the criteria + +#. No features will be backported. +#. Security advisories: Any patch that makes it into :ref:`Security Advisories` + is automatically selected for back porting. This includes patches to external + components too, e.g. libfdt. +#. Workarounds for CPU and other ARM IP errata +#. Workarounds for non-ARM IP errata, e.g. TI UART +#. Fixes for platform bugs. These patches must not modify any code outside of + the specific platform that the fix applies to. +#. Patches can only be backported from the master branch. In other words, the + master branch will be a superset of all the changes in any LTS branch. + +**Lifetime and frequency** + +This section approaches three questions: for how long should an LTS release be +supported, how frequently should LTS releases be made and at which time(s) of +the year should the releases be made. + +1. For how long should an LTS release be supported? + +Linux kernel supports an LTS branch for 5 years. Since firmware tends to +have less churn and longer lifetime than HLOS, TF-A should support at least +5 years for its LTS. We should leave the room open for discussions about +extending it to 7 years. + +2. How frequently should LTS releases be made? + +Given that many products that have a release cycle, have a yearly release +cycle, it would make sense to have yearly TF-A releases. + +3. Which time(s) of the year should the releases be made? + +TF-A releases are cut twice a year: May and November. Basing LTS release +on the November TF-A release has a few benefits. First, it aligns with Linux +LTS releases which happen towards the end of each year. Second, it aligns +with Android releases which tend to fall in Q3 each year. Since product +releases are timed with Android release, this gives enough time to harden +the TF-A LTS release during development so that it's ready for launch in +Q3 following year. On the other hand, if the May release of TF-A is chosen as +the basis for LTS then developers will have little time -- about a month, +taking into account the test-and-debug phase before LTS is cut (see below) -- +before Android release. + +To summarize, there will be one LTS release per year. It will be supported for +5 years and we can discuss extending it to 7 years later on. The LTS release +will be based on the November release of TF-A. + +**Testing Criteria** + +Every patch merged to the LTS branch will complete the following tests before +getting approved. + +#. TFTF tests currently running in the testing farm +#. CI/CD static analysis scans +#. Coverity scans +#. Platform tests + +Platforms that are not maintained upstream will undergo testing downstream in a +pre-defined window. The platform maintainer will complete the testing and provide +a verified score on the patch once testing is completed. + +** A note about test coverage from TF.org ** + +Currently TF.org maintains a CI system to run TF-A automated tests on a +selection of HW boards donated by TF.org members (a benefit reserved to project +members, see the project charter for more details). This automated test coverage +will be extended to cover testing for LTS as well for boards that are part of +the CI system. + +**TFTF branching** + +A note about testing here. After a patch is backported to an LTS branch, that +branch will need to be regression tested. Since TFTF moves forward with latest +TF-A changes, newer TFTF tests may not apply to old LTS branches. Therefore +TFTF will also need to be branched, in-sync with TF-A LTS branches. In other +words, there will be one TFTF LTS branch corresponding to each TF-A LTS branch. +The TFTF LTS branch will be used to regression test the corresponding TF-A LTS +branch. + +As we work with the LTS branch of TFTF, we might also need fixes for TFTF +itself to be ported to LTS. However, decision-making about those patches need +not be as stringent as for TF-A. + +Release details +--------------- +This section goes into details of what the LTS release process will look like. + + +**Test-and-debug period** + +Since the LTS branch will be used in product releases, it is expected that more +testing and debugging will be done on the November release of TF-A. Therefore +it would make sense to leave at least a month after the November release and +then cut the LTS branch. We recommend two months, given that one of the months +is December which tends to be slower due to holidays. So, an end-of-November +TF-A release would result in a beginning-of-February LTS release. Note that +the LTS branch will be created at the same time as the TF-A November release, +but it will be officially released at the end of January or early February. +Going forward we should strive to make the period smaller and smaller until +ideally it coincides with TF-A November release which means that our test +and CI/CD infra is good enough to allow that to happen. + +**Example timeline** + +Below is an example timeline starting from the November 2022 release of TF-A. + +.. image:: ../resources/diagrams/lts-timeline-example.png + +- Nov 2022: TF-A 2.8 is released towards the end of Nov, 2022. Not shown in the + diagram, at the same time LTS release candidate branch is made which is based + on TF-A 2.8. This means new features going in 2.8 won’t go in the LTS branch. + We can call it `LTS 2.8-rc`. +- Feb 2023: After testing and debugging LTS 2.8-rc for a couple of months, + LTS 2.8.0 is officially released in early Feb 2023. +- May 2023: TF-A 2.9 is released but since this is not an LTS branch it doesn’t + affect LTS. +- Somewhere between May and Nov of 2023: A security advisory comes up and the + related patches go into TF-A master branch. Since these patches fall under + LTS criteria, they are backported to LTS 2.8.0 which results in LTS 2.8.1 + being released. Note that here we don’t allow the extra testing and debugging + time that we had between Nov 2022 and early Feb 2023. This is because there + isn’t as much to test and debug as an annual LTS release has. Also companies + might want to deploy critical patches soon. +- Nov 2023: TF-A 2.10 is released. Not shown in the diagram, at the same time + LTS 2.10-rc is made. It’s tested by partners for a couple of months. +- Feb 2024: LTS 2.10.1 is released in early Feb. Now there are two LTS + branches: 2.8.1 and 2.10.1. + +Note that TFTF will follow similar branching model as TF-A LTS, i.e. there will +be TFTF LTS 2.8.0 in Feb 2023, 2.8.1 (if new TFTF tests need to be added for +the security advisory) when there is TF-A LTS 2.8.1 and so on. + +Maintainership +-------------- + +**Guidelines & Responsibilities** + +#. Maintainers shall be impartial and strive to work for the benefit of + the community +#. Objective and well-defined merge criteria to avoid confusion and discussions + at random points in time when there is a "candidate" patch +#. The maintainers shall explain the lifecycle of a patch to the community, + with a detailed description of the maximum time spent in each step +#. Automate, automate, automate +#. Reviewers should not focus too much on "what" and instead focus on "how" +#. Constantly refine the merge criteria to include more partner use cases +#. Ensure that all candidate patches flow from the main branch to all LTS branches + +**Options** + +These are some options in the order of preference. + +#. Current set of :ref:`lts maintainers` from tf.org(or hired contractor) take care of the LTS +#. From the community, create a set of maintainers focused solely on the LTS branches + +A day in the life of a maintainer +********************************* +This section documents the daily tasks that a maintainer might perform to +support the LTS program. It is expected that a maintainer follows clearly laid +down steps and does not have to make policy level decisions for merge, testing, +or candidate patch selection. + +#. Monitor the main branch to identify candidate patches for the LTS branches +#. Inform the LTS maintainers mailing list of a new candidate patch for LTS and solicit feedback +#. Start the review process and CI/CD cycle for the patch +#. Review the CI/CD output to ensure that the quality bar is met +#. After reviews are complete, merge the patch and bump the minor version, if required +#. Monitor the mailing list for any LTS related issues +#. Propose or solicit patches to the main branch and tag them as candidates for LTS + +Execution Plan +************** +This section lists the steps needed to put the LTS system in place. However, +to kick start LTS in Nov ‘22, only a few steps are needed. The rest can follow +in the background. + +Initial release steps +********************* + +The following steps are necessary to kickstart the project and potentially +create the first LTS from the Nov’22 release. + +#. Create a TF-A LTS release-candidate branch and a TFTF LTS branch immediately + after the Nov’22 release +#. Request all platform-owners to test and debug the RC branch +#. Gather feedback from the test and debug cycle +#. Mark the TF-A LTS branch ready by the end of January +#. Announce the official LTS release availability on the mailing lists + +Long term release plan +********************** +Above will buy us time to then work on the rest of the execution plan which +is given below. + +#. The review criteria for LTS patches must be the same as TF-A patches +#. The maintainers shall publish the well-defined merge criteria to allow + the community to choose candidate patches +#. The maintainers shall publish a well-defined test specification for any + patch entering the LTS branch + + a. Tests required to pass in the CI/CD flow + b. Static analysis scans + c. Coverity scans + +#. The maintainers shall publish a mechanism to choose candidate patches for + the LTS branch +#. The maintainers shall publish a mechanism to report bugs `[1]`_ seen with + an LTS branch +#. The maintainers shall publish a versioning mechanism for the LTS branch + + a. Bump minor version for every “logical” `[2]`_ fix that gets merged + +#. The CI/CD infrastructure shall provide test support for all “live” LTS + branches at any given point in time +#. The CI/CD infrastructure shall provide means to + + a. notify all maintainers that a patch is ready for review + b. automatically cherry-pick a patch to a given LTS branch + c. get it through the CI/CD testing flow + d. send nag emails to maintainers at regular intervals to ensure reviews keep moving + +FAQ +*** + +In our discussions, in addition to the above points we also considered some +questions. They have been discussed on the mailing list too. + +| Q. What happens when a bug fix applies just to a LTS branch and not to the + master branch? +| A. This will be treated as a special case and the bug, and the fix will be + discussed + +| Q. When testing a backported patch, what if one of the partners needs more + time while the patch fix is time-critical and, hence slowing other + partners? +| A. The maintainers will add more detail to the review and merge process to + handle this scenario. + +| Q. How do we handle the increasing version numbers for errata fixes? +| A. Too many CPU errata workarounds resulting in too many LTS releases. + We propose bumping the version number for each logical fix as + described in the section “Long term release plan” above because + that will help accurately track what changes have been deployed in-field. + +| Q. What if LTS support duration needs to be extended to longer than 5 years? +| A. Still under discussion. + +These are uncharted waters, and we will face some unseen problems. When they +become real problems, then we will have concrete data and be better able to +address them. This means that our LTS definition as presented in this document +is not the final one. We will constantly be discussing it and deciding how to +adapt it as we see practical problems. + +.. _[1]: + +[1] The plan is to create a system where reviewers can tag a patch on mainline which +gets automatically rebased on LTS and pushed to Gerrit. On seeing this patch, +the CI/CD starts tests and provides a score. In parallel, the system also sends +an email to the maintainers announcing the arrival of a candidate patch for the +LTS branch. + +.. _[2]: + +[2] Logical will be a patch or patches implementing a certain fix. For example, if a +security mitigation is fixed with the help of three patches, then all of them are +considered as one "logical" fix. The version is incremented only after all these +patches are merged. with the maintainers. If agreed unanimously, the bug fix +will be merged to the affected LTS branches after completing the review process. diff --git a/docs/about/maintainers.rst b/docs/about/maintainers.rst index 12c0f3699..c45a757b1 100644 --- a/docs/about/maintainers.rst +++ b/docs/about/maintainers.rst @@ -58,6 +58,8 @@ Maintainers :|M|: Govindraj Raja :|G|: `govindraj-arm`_ +.. _lts maintainers: + LTS Maintainers --------------- diff --git a/docs/about/release-information.rst b/docs/about/release-information.rst index 9d6bbf6aa..dc2b2fd73 100644 --- a/docs/about/release-information.rst +++ b/docs/about/release-information.rst @@ -35,7 +35,7 @@ TF-A version is given in Makefile, through several macros: For example, TF-A v2.10 has VERSION_MAJOR=2, VERSION_MINOR=10 and VERSION_PATCH=0. -This VERSION_PATCH macro is only increased for LTS releases. +This VERSION_PATCH macro is only increased for :ref:`LTS - Long-Term Support` releases. Upcoming Releases ~~~~~~~~~~~~~~~~~ @@ -120,4 +120,4 @@ Populated table provides details about build options that were removed or deprec -------------- -*Copyright (c) 2018-2024, Arm Limited and Contributors. All rights reserved.* +*Copyright (c) 2018-2025, Arm Limited and Contributors. All rights reserved.* diff --git a/docs/glossary.rst b/docs/glossary.rst index f19897c7d..20ad21c14 100644 --- a/docs/glossary.rst +++ b/docs/glossary.rst @@ -130,6 +130,9 @@ You can find additional definitions in the `Arm Glossary`_. Memory Tagging Extension. An optional Armv8.5 extension that enables hardware-assisted memory tagging. + LTS + Long-Term Support + OEN Owning Entity Number diff --git a/docs/resources/diagrams/lts-timeline-example.png b/docs/resources/diagrams/lts-timeline-example.png new file mode 100644 index 0000000000000000000000000000000000000000..edb1145a19a0cd1024eb7bae02d285c2761a4923 GIT binary patch literal 36609 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 z zth8k(D;9Rh?k7Y;*|uyhxNwm;!=u6NADCR@4|$Ne-Gf(EKB}naI%>hgd1r{15HgD~ z1G-z};LL@|NRBDLC_>-_yIRuPnULv|Q+n~U@S%SLRmFZEGI^Is_KEZNT*WguAGd;5 zsiYNk!^u<(K&{d3Pm0V%)(d z+OHz@=e(+?Lz1sJ=j^@WIK?0=6z1=I};_oYKb3NJwG0W+pmqprJ{i z@#>ONgd_gVwv|@y0-0+o&Bh*D`i6I`AuWBSz1D`$dY`{pe)Q$OVz|Iz0JTggVEQ$( zpD~8LAnm!y4MumEe(yc}%<-DQYf%W6LNj#3SxPe^M|soIyv{E-oeVCgP>fn2S5B6} zG(J%CRArycZ5sixt0}MHxQtv#Q<|!)Ip=kKdxKQEpg?A@$BrhbIn*vIvCA^u4E*p3 z5$7oMPN9IsbBKK&dk0=c(AdP~bON7{s&+|TDc5zvHK^7by;J#0-z&$>ZRw$=IcZ?D z=Tw_YOp8*lIdI5f7f>_7G2=&qigflSZp}1hy2 z>e&_6Pj4*m{>Sl;dq2DJDRf5XoaCMsHXdz`?}{YFl~Jb8Y&$8>3!_In3s4Bf_$ZK@ z=xb5G(;mJ{Sldu>RqN+pt+EO*Tum3Gje)Wq_ue3xL^B3V-EZ;3-E1f{4s;BL;}?R9 zZ=h#C$IOW&mN$pC?zH9}wWS_l4M0iGy-^K3G$&!(9qbD@yL1Z07TF$PI=)6a&{rI9 z^=QpxES!z;eSA1SRYjWiao+2qK7b9XUn>1><8pU6P&I0bTW1PkXY{?Y&K?=k*@@lG zG)w6RZ5$IwZ&Q6qJ#t6nrS5Yo{&|F(&)}Zo)N!@mtl)&=0MA|t!CXx#Zd@tlaK@Tn zdR_6bqCIVCrl1iR$OmlH$S6c>J)#9~xorex!;T;OoO8Os;>OYIP%`U0NY-)(5K6EpxTLVG0;;Y#Mthy|Mi5&9u*$ zGAAhK4a}lASnA*@bk+!AOIjhVnHPK?T zYN#)*77mEqnksbUQA#cKU-%=+{hZ{0SL&`!+B?I()OZ;MqpTc*@qoo;_wx@@sI{<& z$lJgW?@)MEN*~@03W~m$$9;`rGVs=fAQ6la6Mw97v%u}MFlA;$GZBM{?y&n5=F}J% z5_Y2DEkxh&10Mg$iE;1LFG+zj5YgDuzvU>vM;)Wh+uV5UGv8uta{X#&?^(>M>3zs* zdfoF&_Avw-aVU%hUl2y&#dNHB84sL(-W}P_;a9uh@RK8rXHZB%oDlaV7J7#m-AR!j*EcELAqweg-wI+j6>X=2)* zbFZTUzfY6IDhNYwCk%gq$TN|-jEbsa>P%_qwC`fy)5BTiextV6aDmwrkAv+tovw(!dp0Q;8<+!We8vh#Yqv3H9#31v1yn z%z;9*BAq|p-I|M^J=WUJON{TL+;jGZy9!g2ybyJ2E0!P6D++vmR!NfQcPB_YF4%a| zH4@<9g>X6dgX90ryPo;b9JvI4`mDN?a^A-ANp~IJr;;l^u}4wzRCq08#_cWyaF4t| zw1;#|hMLV^I;nwB_!X>RnNgS^fB@%;CjTpVmS3y@%+k#^Q=`RKF7;Can0YQCgB6&< z4DcC3Xw5`E>LvRRBZ72=>(9=Qw>IKw>n55NyxmP%Wf=RyEsQ=p+yQz`-7%Ll1RM5= zgH>ui89zP8k>g)}f}A;>zhe$&7}#E0z)*G6d>-W}-=Jtn*1B`@zH2T?r6Szkt}s*E znK5OCJX0Vot_s&VUQoWb?9Ts+%Qa4AAm4s0{RQ{oT@&3Lhjoaz;-&62m7L7Q-5JS5)VjaG4@ddfxg+v;4?j3BkJfSWO1ntJNhH_PswYf0+ zS?FTEHHI$LexY&DxsC@=un3;jbkTtn^<~e{9%IHTm=JVE05xy;IH<5wGy5!tFH&mW zrX=RmKC*%Bh`7zc0X;T_R6*0!wC3r_Uu=xTwOfUY$2rqrM_TqH%fv1CkFPr4S5IvA? zU3JBWgR#Qcql!6K7<>B+&3ohKTYU#M+ul0(wFz#VF!T5M2|t<|ivE;(pYf{|Yf6I6 zy#w*qn18{=WOY}o`JD$n3YOYJJa>}K-U@|UyH2dH&7Jp7*I^qhXmPT$j$p;zo#&Cv z2i#s8^6|n#8+=Vx!l zH)HCGvJAy{?=(+!vh0v}S;imvIytt4NITHI{)#?h0 zuDzJ)k$8N7>*3o35s7qcMCE4DQCu7fMCtIUT}=P>5_@I+NF?M9(UTjJRuzqua*T5~ zQu<&lue6fW`qVu@e}t_Fs;6B31?HFJ%lV4h>yRe49X^q~ksq1aN{82;!l|5#V;6;* zYx9BZ@w)uTpPBwvbed8Qa1V*<|A5QGC6;IGfY&pfbGdeZlRfn)k5xJ!)rA=7n9|FD(?~PW17q;d_?4<~9#`BrAo*R;r!M zFtXl_tY|7UoTV|2HU1xY<@m{5ys5~}Pn$ajic$^SXo=Pa3ovA=eB#z_R-}4lfPSsf z6D)akZ!!s{k|@sZ_AlR+mLayTk$0|+XS0Qw{>wb;Gas0rsDX6Y6dql$q5LS7n~a>u{BI) zpwrc%%^k3SKvVJgJ&aRfy0}s66lpWG@4ZoL%f5h{=W=&C5KV!a6#43q63bw2>Glds zfqag9EVps@sq19RN7^*eySLD0C7q;ClI&1zX~^=-TF`U&2Dc!5cL=Tm^G%ssA#T}0G zV&IE0{i&u=w#Z~#rTyonjQXAc9xXvTqLehfEMd7;-{~kpz*<&W{06Gb21Aq*?;g>! z#RSvu#%q-+%gW!%@v(O(v-*`q02BGu+h>nRYd8 zb?BjtTj0+xoCU}XqOpd;GoK?Ej~6{eaq6tQM0b+WNig+TX~GYFJxWl&nRZ9ARz#AJ zV=2&dbGz6duOGj8y0wLB}Z)UXQ5+{WAt)GBar|F-)N1_@ak1_O!aJM?4b zbK`aU?w|pJ`ZyIHQ<}$3umdj$P^QT;PAd(_`iFc#`hy{pq&>I|`rU04d#2r@&gp?B z?yUE)mBJrD7~jUefrd%PwZz6su&eQhf@YXDJ9w^{eQN{?s!i=9r*`ILxUlxPL}b2t zRfLU9+wu7t75#E~$??;TA#4?7;6DB2u-KES$i?d|^}G$;h(TwE3b9xDcr2e4W=lOc zaWHErmt?f~+L%Yk& zFpnnc?K)fXGOti+Q&bEjkJGp@FP}cAqw}1|p>;u>Gl^+?y&>dp7omOG?oyzPw*x1` zCGvB?3Z>@s^&jA|9n~9kP$EH_L#i_|0}KbT63egLl`9mb>t|G%;R!>nI`oy2k$v-( zNb5LJi{cc!)O08;g{DW#z4!Rvn+(ZaEU@uW1dcD@)Iyzzw9sl1{+wCKcm8cX?0i;n zXo%rp^fBYP^gF&pcY&lDjG)jW_u&y@J%3?z9J1L9+xO!8I*`A-5D(N(~oDUZWa7tlWE2|8A!%_cWOv^hPyy-89ZgP!UQ|9mR&N;!#5$^+` zrmaWGdc80d7u)KXwAQP-ygT`VtKOJ*R)+C61X0lDFKFT2f>QJtykiINg`Xi>yYxGm zXygBK?AV$mhEZ>A{Dn+^rdAVDo(vAX0SM0 zipxUA@5qmQMBlG|3D&}LHAl*hyhB&TQWW|4Jr(<^LiU+TS7N$+@><%lF;1a`2=-*?Jt9*I9bt-Co`Q_ z9QY5gHkh3h{q%{?;z#WaIU5hB zI~fzVDqq~%=kH#3E+SXmlQxhTW29#Ch4TZQ-(0ij54}B(w(zyl>5${8n%rb7|!Jb8>}ZUGIk{*FEkCA2YZ@AArbmd3*)@xP{%cL&aW@)q=pAP9O5%Sk zQt)aG(3^XWIw$lGtPiy*pF`q*r?_(Qsw)3ml}1V`-yMPY^$!b!2N_Pc`;Hd4X#aP_ za0KjsM@Yrlw}~d~F96CLirhh$7AK@qkiXqy3*3SQqNCv0+Ude@EK%Z5sboVSs?9S>i+!a11u46Q+MS2N9klk9lK3AOzF3}g%cn8# zRAZ!sj)fcU}J{- zBgBIfcICV!R@1&RqBAuA@~X*GJ4{JDWBOlx7_>S#a8g~#gT(v~H)EQg)0Oh2VQ9Z! zlKp$cGi|G)>Gv`Jt`YO7E&uoZf9C|Av#Xj<`-Y}I|FdA)48QL`Fiub>_5jyh85Pu4!#CACy>kQ!kQ|ubE zGC2XK0+y<`bGhoksB3wG_V4KiZ|2K1dJbNi4B*)>g!|$$X#S;C1EnIZigp+?RH|+E zG#P(Ubr|vclZK*~x7ze>n|9JOl#mD=jCVQ~51gg%AZ6ZZ2GD?wG3u)3;=Fgpr1CnQ zNL}rZJv<&);!N+-|s|m0j1v`?P@lD`g5+P-uBv1p*k>vi@hO;x9|yp?@#4+H5WMhmIxh zdruXsPDNj0^^)TeiHuKu(({xcJd=4|L2?Ipl1WZgipWcOiRR)jj&mk<=TT^OHCrX_D zo?>#AydHt}hv7F_e-SS1d)a%Y?eB7D&gJ>PC}$0!)9kR-9e_Z<>+sI9_d%o$uycP& zVa$rAmzN+6GQp(n(0lLpKXxCerD9L?*PG(~EjhdOiHV64BZ&-{MSsbMYECa7Yh<_vN zc|iUM#^d(eO|PLdZBvqZ%o;$SA^97>OA5oxm!Aks+KYR9lrrRnLEStKvr+oM5*J$) zugzm|u}*G+82+X`K``uBE0-l#dNAvcqNm7 zo{)!C=(ptYpKk=hs=-%JNU&iB&)agL7AbY~794EQ5~vuPVK&06Hi_vm(rPR zv6+NFv{%lCqBTl+v`2XN`iI{v5ZlL6r(T;JzVpyFV$`^axu#Q@nj+QH`@jZ~#0{41w5nUSvz@51p*6c?;zI3$gXI(-!-Y)b5 zEP_5x{uE$itx!hAzgoTr&d-G-noHEaWwp6Sh1JNt!Mr}q{pP2{H@{owU~iB%r>+N2H+LregX8wd5qxJZfbbEgUuVnV%EVo2}O zcaoth7{QA_SOD^z%mQp>rlWv)6*OD;kJUW&E0|&TDKg+GB4!1Wp+)M3V!I9zdx9qY zVXSEkr7A}L{cs|elcDFXETsG5ZIf_TkqquU@EmGO3J)YN1x%h+e+OA{4h~eSkPYB_8l84K4L?AvG z)1oF!uRi2y;+W7u#k(0)jVM*$9N;UPV<>yY?meHIy}tpYToLBSSm$`=<;Vw3&-P-h zrIBAEBys+<cp+%S-)uh9x?@2jM+K_6NB@7U0R2nAF2~nu@HX01W#Df#TG{C4sDZdqMcLKB*c{e7IUZCdtbqKgAwYagY; zxB}q=FkBBr%2lNZM!jz!=zt`tHnCddNiHC| zRr2%BY$gYLx&6h63%Q=E(Y&l%k!68!DLc5*kWUR8U|tr!%0LHgSl~L?odYa%8L3Sa z^$00`&p7)7n7+s`6?A;dsIaO(-j}scn3MOV#B=f4Wll#kA>`yH;NXgV#It>rMO%2` zKnTW68Vdur&)D%vekXWvx$L4V=0TJgyO^E3KLeXLkj_ddAussgi37w8m6cvpw`|Uf3hoM5Sb>(}tH*FnH$NP%cVw0@#p*@1ZDIo^*=jQrZzWmK8 z&ep#f-I0U1*kpP1Y0?CUxj|#PZvQ&e%A;TNv@_BIC-? z4kVF-hXE>-*0$VQS~1-GWx0islzxiy?kc?2x$!h{)z=23;sP>%daJ}yGttHDcGT*Dq`Q*7=4D;D^Dvr3V8=7KytPc$*hF40cL6PE; z36IAnX5u|UGCbC(=1If*(K6?6EFnyrxP+Qt--)d#Lz=k~Lu&I~+cV?6BZn7+B1PrV z4mhVrkJh>oaYUs=yi#*w{7{i1@Pl;FeV!s^cifQ?$A*hAEaT~6>IyTthU?vSjrh;3 zgqxx@Y3W_$L`wvbGD4`cf29@#!zG@pW?g5C2eZ(Tx(8nMT8zugxeF-WKZ1TSA(|^9 z)LIUk)el!#Zapqt3U2p2X`WhI>4vOccC^EX-z!v)Rh1hlGTdKchrDxNIP`#uI}zgx z5r<#SdLK(9*T_!-MK!9b;bqfxC-TLU={z(n=*-G>l~Ol1OAA3L-Fp_7z3yS|RtmXt zkSu=+A-nAg8nWeH?R%V*Dl&PAoYaWM`yHf@m=&`9T_3^k}gg!dgN; z-x`Oh=Vuhk4Jy1U!P)6-@=I$ngF=r|0X`<#3|coBnFbX+LL_TSyz$wVsVZWO@j+5% zjaFJw;57oW2~DaJ>QJn83AldxYg{tdY0`&};XsH&eXjWAM3|2m97zTJTR>P#rh;lr5g7hz2)lxZL>_D%{&BsFjKoa@A?qk@D{z=}3dpi@@bP&nLUfw+ zENxiSmtF`E;)l`>p3D%ljvw}E)^?-?<1q>dJL+HDlm zTq%rGm9D7A5F~Da!Aar4ol(CjSlaSy;v{UUTOE`?hu8{dEyByIDiqa6yLE=Ix>(=d zTJ3z*4+WAeI+Mu=M%~KyB8FtCYvcfYX`SLRv6wMy8gwT^DHKn?FIL+#z~s!Ny}91H z-|VviR6_AtG^GA0nDmQ&OVF=ew3uwnXwH(8!}v4OA$S3TD)DN{CYm%x=3>6r3ONvXnm4 zXic~xWVs$gb@W)_>C zFB6VtE>0q_+O(o5;8{gIOuawDRur% zQpSdDm&$=ud4Wyn3^;ZA^F{q*!#q1O&Fuu>J?FwO{o z0mR4C^TNd{nlq?-dzhuFF@Usd$MD;_@x2p`p?~FbjW;kEQlh_saWe&VFqXaq+;moOrj*+1Anuj+ zfS2$muyFpI){vcR7CHW9hg3kGmerd@YNM-p7pWkE==UAu`YV8OaEqK zBfN=;$rq~yX7@mT(l$B=Jms{%hdCv#%%tVVg`QQg3rJgQrO=G%{3psZ%n?BKDw>%$4V0jf*i#9KzrR$ z-+L#bq|vGbMV#%GLCTVY=mqZvfUrBsuaHsx_x(ch#!Mr{OV;cWoxH6baf+f5;U&_h zANeatn>2zN=_fVshlHmBs;M#z%rw3&c2`XNDnb63QnDNHPnG$73TA>D4^mN9Rmw4a zMY-J)66HjqS%3me#&_^auDF#IRE}|>T=Be@a8|5h zYT9|v{XP{00G3KetiL$uB;b=lVtkl571Ot^o|&F$i?#n=EG8vkc{xg4SrS?Iie0tML)X$F#2`GcZtkSF^6z{Yy zJ8gvlZxMcc3g?M>j-u#{e~+bV8e5cVW8T+SmBNBkQu`;AMwxBcbog#3&mj8GZ;Fjs zVfd0jBOFbq8koH!9+py!vq>_DNMlS0%JLyNIJJ3j%k*~w4whP$j2bI@O{)*zbD-!J z_?K0R(5Qw>+7(jKD3urizZt@EqW4&wCan#ePMl>`c(QZ#J1pd#L<~^k4an!1SMVy6 zZH$N{Rt*t0@E4&lijfagbR#g6;eI<<$5DP85lcD?zRcu(LkG${tqA*rK1*x_Y$b-c30e!p?{mC)HEO zD$+DPsjxf3Vwp_2V zh2nm*K(vyn)i4vrqi=j*Y6%Yyq1(}$He@Pa8#Fh~dM~C`Xf@{nPo7j-DIq*Ef)U3T zP!9hd&o4Q`>W9~Tl^BKUCq@#S!#v%Rc_nrQozwuF!O8L6=PR*!LbJr_2~2^o%%GYjbqIt3h?=~@VQEiEXRc73 zNE<%>HrsCR%6IE4?{D-VLCMg}UhlM|_$6}TC!lE|@s_r5M{T6p8C!=$Y7#LQL~e4< zXWQTJ|Lv!S_2p=d=a(zZ_cqW$5bao< zT}`(|goA~TdAt3H8HVD(AIKyvWBx@`{-A_DJ@PmJB=e(ut>%B<=MrN>JSAg8Oj!mZ z&u<#?MF!lOCoTLplh6H^_qg6@j32kMpb?)m=pg%cO?#j?m19&k*vVB3xfvNF=@H|lVlPHFqI#mcP=0CoMI=;d* zG$nf7?r@8^nlc%Tb%a6uuFA-+00jkBt zGbA_wPPVXC$(aII<+_GyW(Ht4wr{P5-`EYNoSYm;pP;a?Y8Q&FAc;~I+AIYyPhmAP zy*2?I2Fv8?VJ_&dhvkS`zE<6z3iqp%bT}H7IIRIARlpg0d{k+cyjjr*t7^)*Vad7D z*QDC6P;nkaV=#Vh+eXDKz_d3^#!+LaVf;_OP?` zx7sUHW@7<9o~Rh=NcGpX0BSr;#tAG*1BE|W5#ed%zUVdhe#_d?6o8YzwyT%x$4zuo zU(t$}?G2&OEf{`+DP-Cd%7=x%*KR6icoH5&5Wb@BQwsf;10-Hbp}m>P#=*A$99!d2 zl5^fq6h>-XS^07D2mX(oedA5EnH{6HOw1TbwJd*)oFH$Zd0QD%kvO?QVsIOFw6*4j z2EgfbrI0shIOa%!c}$XzbKDqpFzV*^dMBWz?b?P1sPky48}wY`#L8N%EYfrjFTuA9 zODb?Ar5K@ClepJ-nGuORvfso{bqsZ!k33ErE0?K7P`4p6ESaN;-hrjNroRrdAeMlG%X2CO4vnfdv<^uvpYC$6L**9z zhvPj48#*ZYx~FB#tgf(&6}ov1)PFFQrt3@1zp_1mQ)HJi|FV9musZ|r6oeD?##G@* z@J9%l@L083y}k-N_1p|I+2lx8#1?vJuCAW@Nb~@bz#Ha4bAsu3(hAB7D&pwnnlO^@b86YBDFf{t0L6C5yA%VD1X}i83Vb$AQ=?GGcMB6 zBSxGguD|e5d;Ti(LXK3xnA`f;v&bm~Ni)*ce)is!V&{n(1^LDGzx?)B ze=;F<(;yu{>(rp@;c9rt@$xz9IHS*(JwtAAAnNH3#&S*`{%FP#%wwKRF8|z$T*yu) z_mGg0ErR%D2#k@4s&s-vlc^`6q9m{*L1>Tr!79-C!Nm>}O>r~bN`XMl*Z)*+kCz65 zOAz%=jrg8x(cdzI~FUN(FDVHwaowiSsm^wUuYx(oUJuQymNsuh!J&RN!Ux4n|I35 za3JtuhS0hN!>ML|?6bjJaRH|*1E0F+TwVp7Znx`!XJ>sxn-e*bd(%Z{oSfs~{cfHZ zBD9B-wpvmV@ALpelS}xO~hWx z)nrog=Zzg38XlTtB7J23N>-mg{>lCq?!+BZx6P6-Ql2gNI9ODT7bMEc$7+R&KyJf# ze{IYBRILyA2Rb03%Ez!<_>x<9RHu)#1NCnR9KkeBxK`dsov~y--oZ-@>+n;xKuH`l zSe&AzhSbB%plW`6p_0ML@9ROyVdLgOxOi38G;Lz6xHP9iVorC6EpJW~fGu62gHCgP z=2An{RLe$ENTQb;wa5)DKI6l4u%)ztr-(3#@Z)KFbnyWBdv@0^K*Q{j=iK+;eDyo zW9_zQ9^H}!ew&roYj``(l1<~;SaCn8alzh-DjptA!NZ!huHcrUu#Jy*u-_1#dcw_6 z5=*Fk*Ewx%%i#XSJN5{MZKPfRNPWh!S5qJ=8)h<4;dLxgV*f zw6%oJfAbB^p$2tl4#PRM|7_cWqa)q7`)d4eq9dvfCnMy3(Crb;3EBPTxQF{@$*;bi zO-NXHo)bUQS@j%fw{|kjdPs1 zmB8B<(%X2EU3qYVN552vq{{aHp%v>N;O}gFPjL|{>>>1|Fu>&%%#oPN>0&UJ&VPD# zR^dV+bX1J5Ntp8E)~kY{*s?SahCPfMFG*b72B}FeUmX0lOg}!{9 ziSND%JX+g)-bj8f$ObyBGt&^kG?zQH-s#I23wF=>E!hFh$RF-duc!OPWuol21>8KGs%JWaF7-;6cr{*=o70P+Def*xCd8mk_jRAk-0nV4U- z=164kD3$Aoj>h{5)d{n1juQm*PBSCQ9d>0vQu!ZHQRN@@0Ks0Hr3=BKp@_`5(%Lx) zKtpvrTrc4DlfAjRn)&gj?d6-(>tzidxe_q;@48(h%IhVo%pD2v#6VW-CAQz3F34nL zWIzoCjKGJcejAt(pP0DW{sXF51{jy=+~fcDP-dB%*UOY2@E?J@?M>fA86R#Zq%Hyg7lv(B+5!k#N6De)0DtCM@0s}#Ds*9gC{)!dH0MB{(IU)sdf|S zzdy0Uy1%L@TF~CX!LP24_4?nu;fdVq@*yhz8$9y-^dPUJGji}MWusZre^Pes^Sn+_ zWjFAuBlh3$=;Ui#{jqGG_tgLk0E~p~L3mp?#qMaDsD=h^k>aZax&MfXhpGy6~PjSwntCYG2OA0GhhNIA#b5|G{`n%b`L zezgTB<~I|{q_a8S>ZhQf;B#|pc+*m*weQE*rBCGmM*`q=y`R3msVQIZ%iF$bYgk*; zf&R0ji2uyWiQOFqzwjaXO~gvrH%rYQWOFZtL=kEAr}X}g`}$e6OLaOa%S%E`3@R-x zy+(dLgx84r-(blgod#q={*1W_rgxxnLlXopUjcciK`Sv?**XWuS7Da_GmX@RnaG!b zMbF+($4^HfpNv0HXZ^aWdilG2AikxCMZ2a^SIehc-D{-S*QevqrAPrcr%tRu1v1dH zAiMR2fIuzoSDh0LvYRB@V#_Q!MqlnonlHBuRa=G!Zt4t|S9uE`JnxlgXPO&9E;rwFUk$90{mmjX zWj=l1Zfq>z2A%d%#-1)9%68;LZv3j_)^$TIYk4Aku5q_n{)YI+19&CU_vhSh2|(6m zytiG_9-DAFA+@ch?=|ySb6m8#M&A8t1uQJ-;a)SJB^d(rD?_k+DEa)-@sB#8ET^~DmYb}PZ<*p`2*`iVcpV&oD4=!XEIq`u2U>*LtSDAFC z##^Dcvm@M2ZIP#hVLtMoKCpcU_eS7H@I&1%ercSsSo*w;yt`OobUc|vXg~V?#J#Vy ztituEsb22tlTYca?)GBmi7hcJ3J$xdE%6Nnf(*v2_RRxjY*f8jJVDm$>8ZC3ZcLJ# zp2l`s{X{{>4HfC-vc8pklCnHC(fj4|%J&z)##K&D@AyVllG^_}3ouYfWJi2ss=Y04{cQKUtaff-s-#}%P%-}54u?#XfATkY}M{g%y5b@|)% zURjJw@!uG>e(sP@eF%2-=^xsj?=51FzW+5kCES8I`2oeC_7&u(e2krG-*@wI7nNm~ z4Aidby$WZwmV_Lh23YCAn_o@!G{203hups50Jl;sr3Mi)s>cFvw0eZ^Yvl~y?8&n& zz6B%5CTzH#Q7S!MI#fO27vuT>JNCsqiB%-OWsRvDaiq=8e6}7C8HdxJEn&nHx2qYZ z_VB5CYcbQHx$#;XpUnfKefY4NWMQ+BdMgXq zA}f!3-IXV^*VC2iRvHC=hYJ~-iU&dfSq|H^HvE9stxeV9ja@4N#4prS0v2c;7b46u&${D^RWa}Qu6F@{c{F^w04=k% zeGrZKxY3tJ|Fy}AH;4Ks3L*5#55k$kScuc}y+}>#hMeh}o3)E^u~8o1(^c87Rn?Z2 z9arF(RKDk17@6vU_UHat-0Z=1wnlWea3Q;L`aBYs)-~Q~0Ek_yQvJKrCC8++u_bL( zE=&%kH;6>%^z7Pq^n>iBU299f^YE3pI`gg_7dp@8PeW_^6EK+6d2^<5Rr8?CzV)2c z{vvYI_Sp`fUB!RNck?ejm35^y?Fm02_VL#b2mDkP)4{OE_D&7!Nvj?K`K;Rde(5+oPLu&%li1%6GCn zFvAQs_;lq;zwt-th2~LqQ(8Rf#Uu1}puS8w5PQI&bn3-(!W6+QRsUh=4U>Aj>zM_C z++OaWSNxP%w_ia^{{_^g##A(Ub@pCKrFA<(D zXfG{lPSZ!9!*K#~9MXD;Z@dVwx3BI>FOhV#ALyGPv&$aa=wF`}a5V!t>SigjAjC*VsUMm{jQ6L9r`Tn)z|=vyPaF!2m8S=bCy=0@n&_Va z2hq<@M36{aU0|0Ow4dvOMd=*xJc)AK(tL|s|NQ@plSaBKbRfO@Sz=C6g%dhetflP( zUrOXk|1y^LvdPcBj~-KO8n*<v zkf5y{qP~|xY3GQafF|AF&_{mgUrrsRSq$eX1{+RM!E5HJ$%&xr^LXmNf7uOoO#ziR ze*Q0#20=Brfqa@CR^W%n0Ic%!pILq$0^!p!B*@5!sMdk`HHV=8mqUa!jGr9SG;Ovi zn>m}d6EqnHekl$9HGajH(cHGoB0yRdp1PLB0rWl+EoZ_oHOP4M`S5Su8v^=2!4N6f zJu!DjbU`4bLm}$Ns3%vHOAtsa{~ql?8YD*t(q$9?7Cw?+d{aspW=I}p zNTJVKFuI#JYDJpd9t4sW4Q~p4ml0!!I+WHO4LFYUqO!n*FDlr>lojuuT;T;8}RMjWX0^+v;T0DoXp26{sr_>3iZ0! zsiP@!7MgwpCMj|U?TO4|Zwpdja^HE6hVgCVL#L}?)WK)m)xl!Fp$l`bLdg++4 zDif4J*y%sq#QpA--UweArYwl*lvDH=Q{=4}yR=ltjl@r%&Iik8mqcs&?H31-gX(5R zj#3!d+uNW{q5(U3dg8VFq#OGROYHPVhx&GVZAu%oM+v!YQ^2Api{CR6!RqLQ=Z)Q> z7m5AjRicrN*+JkFc(=%VXz}Hj8JkD<>pcj!QNlfv%^QL#p3{L|SFVX_k*l zFHFe?h1HhytlFg|<&8)V+S|&T62*fFW)?Myb9A~5##~R!_Xe}DCwgN(&jhD?fN@*X zy&7cxqPzaSgyrL!A*fxj@k4RQAB$Z8J$G>uk&`-iset&}^HJxnIyj?l{+aFO1N*fA z`(~UV6|0qq#8oX=P!iV&icQNSR~%hijf0Yq_Uyz}%GnC93kXCwB`y58@Xa{_xGmrF zElnC-Rp@^<9@d5f$+;JnA8ca*31o0Y9@U8!u)F5V9S-o(5)>%t`}vn**L^omQQ&Or z)bkq{tBm&AV>o_tfCgN$zU$7pTX?i*D!t+wIW%9AP0hk!4&z~=(VT^fh7(*mSJ98o- zVVynNjR0R}=X!(tHERU{WrmBNUtrol`V?N%bwEYh2(0Anl*V@*u7`_h75Q0+!a8$b zix_qnTjl3RciF64dz^8(Z)=sIJjaLa)xQV%L?3jBt<(~hwzYHtN<~Fo_IN8!%sbo% zbvmd=x#2;#f6Eag>D0miJm(xSKqwJiZe2u{OnT#My)NQ$e?ot{pPQI*kpRVzwKqwo zR#g_NtxL)9RJR9{Ha|~8lgaQNghN2*_8BF1NmpBn6pU1V@;;FVgDrP_lsfX)32 zCzbRCmf9Jk!?H?R;1&d^0Lj%9kIK?IwbnH(r&0(#oY~@=cn`0!zK;U@HZgZh1Wx(J z*@rOfLeb85puQPWBOf%0ZP1=e(vL#$5N>+6f4o})p00#%Yua}0&sg}RuVU~y3c*p+ zZtpW$ym?>+;{YA|>m60#-Cj78#PdG;i|+JJktrHvktR!#08#s`q|8)lbTJ^dZ@v9| z-*nXzP)Kxkx`gd|CLPrq7gOYA~&5K{w3^_%oQMceC zR)TsoT+|d0jg|1f8Z1`cxe}W~_i|x``**Pfe{{f|Y5wD*z_iBU#O_SM?)ym;A-Yio z)+HIoO*27H(@MCn!b+{OCx+QBwGlhb7{4PrO!lmD<|E(7%9VNlW!6f6IcZ9&@1yM- zH*I_evv^;!8Ze1Q^yf5O5p;)cDjruf1H=1d*Oi_{_O?pL0%U$LfiA|E=d=}?R=Kcm zG!KkCa$&j#J3cGq5e)P&KV1N|QRqs`cl{gQm7cU`Z1a1U7G(@sjwdWbDDEI?WOWPi2wZ)x z_k24MIMG$>lX#%5)9=KPjnAN=fVq}Qg+uvYm3RThAbTRNXLD#@rBYkvclyVjZg6e7 zu*UM_d_u4v);tqI1qDRvC&&tZj^zy zq3>Jj1HxzR2?HO|Q)B9<133G7*`1qR@K|3_-`3St>+Qw3(FPJD&+pvjm|i69&f>*7_G2%c~jJA>CR`&A+qt{dr{lxBSNA*hFHQAnt{+mw==Eg}D>t|DQxl=88K)vtQdORBLv3;^4;uLX3 zSK8_*ADtkcnHLSzlVu-UB=BO|?X)RG$#yp;$w11d8WNP3#`Z85#bz`abOgSj;X=_d zKU-r+)b-v@#MYGIw+lGqzz3p<+OfS=Dha|>dU~2y2iCAD1_k7yc}eg`2OH5UotGRo zjNiMi)j14Ekbhh8FE3?*Y}eY#o}`_~C(i3w-+#5@$HmYwipB5MDz|iO6bNTi$q1#w zRfj43)#tG5?5`G{7Ozuo9sWqnl}R$bJ?Ok?X`K!#gg9_CZAP!A*4ctd0wp_RFXkH_ zXwN;7b1UEHPJskL7P6yeSR19R$5Yl)m~sjAc?8SVjrl;7jyFZ_UHf$7Xd&Y4xMeLn zBOh`*64NOnZdly!8V=|ta*_g4#NJexzc(om$ym8dhxL=5gfr4T%bq7f8Z-L%T<5d{ z-naA{FR5X--k+gBj~+isT_4pmgUHQ#6b=qsFJTNp8G`awJH5WH?^v82zaWWn6_5fc3o29i#E z0G9(M3+*y=8W|GzV?t<*klR6Hm8 zg7N(6r@`}Pl`T+Dw)PM4n;X+z17QN75TfG~BZ1Pj`EG=T?WGrf!RHGcAukN@ajMXu z`+y9@jK=bp&;B2-k$nNPSn;Ztn zu=Id5Qm+Vo00gPfff} z?~v)vEGAdS6i|Xfm3>rn?CjRPz8@?Jn{Dy8?_+Ge{f^pGbi?SE;VJmP(pBILwH?=xlas-{0acF!Zo{KuswsJe+L_@VZR7PaYS zJ0m|6fjpV%{+bA>Em+_6G1>NZzFOGsPb0pr2NyOq3%ET=IcP%C$HANEHf)w;BLEJ1 z_UkVvk+Gt*4a6&Q%lkYCGf_$TcP8~HD89$C7YsIys>_$8y9J>YP8smyCwNgV{JsyT z#QrVi*o|4={qZdVsp8jB=Wch{n``HNiZcOz-(szp1q1cY>&F3W2>tRYaGpfsV2P^yh{Rjy zrgR>gKD~Z{enf&$+K(3w0(F%F0iUAYoITXVS z{(DJajAV#1c3tAD>0`}|2@Qa*h>D30;C`rza^7Q*`E%FW&l1}k@smXl30NO?9*%w> z1+cJ%h}YC;kNvgn(YFN_S)E#rMm$c}>#nBX*^9?qitsS7e^bQJzb=u0G>2|?PQzbH z9k8+$+7W)W=QPKzS1t`J>UA_1TOe<`VSqnQ zeG58MIokyEg@-?4fMr#NTu9g20ik}0X$EBh#4B|gmL>P7& zP^N$EI%}~SQM!K!6c8T4 zzw}{gN4W{Z3GavSTK1YZ%p56np5F#`?eyx0;O%;65BZ`L@@d}*In0JjY_DNHR?!F$ zkp8R20*U?Gk3C^e(^~d#4^kZQ>3Qaj@J1n?N+x|Cfs9qR=?Bi_V881-%)JI2-^RYB z@MRee9yf4R8aHxP8bJsJXEu+VG;<{2%>=|gk9weNwn71qLVDay@dU^QJT33Tk~+Q0 z8u=q=UfulrRjWL)rlb()A%rB9O)^l6Uj@e}!u67)VGYCXN7Sk)TZq%|URVlPwfYh& z0T35myIrTcL_=Pm3F#xZF(ONMJhpp)7ag0aH~g1u$lPS5@R@KGKSQs%#6o^CN)Pme zBqJp?C(FGL4*E;tcG-k@ADAonGUf;Z&Nj0+=N$E^t{M?Pm_m5nZL9v1;SE~ehlNmU zeV+#G26;F^0K8W#;J<;~T_@Fr3SnYRMo-%cxJZ;A;k@giRGKKox{eK%^9%ch7Jew` z(Ihq&IRy7ytdP_06T7wF0QA(uvq#$$r&>f$~6);eF`|08z;!a02=_AJ3Y^ ze_%7Gx22K-N@=wFj~{UX`UI5w$#coSepDC#CZBCu&FSVg6#ewq2J9>Hu<_8{8^1&|uB z5pyI0Kq;5v_i7QOcmVAf5O?XvkgG|hCX-5QQ8^5l0rcISfo~eXle(l8d{*YX#75UI z2g@UIU^`yuH-iJMk5Db$>gD@`8sL5^Q#ig( zP_HL!1+^6~NR3C#c-w&em1+zoPJs@UBnlwNYD+HEladkq2x?fxkUIMfS(S$0+hUx3 z#GHAsUVfhqO%-+d4{7MGIrBIsGfp~5aSi!KlBLOUlEm_#g_z`*EZY<7xRD!QPEdPT zHO8T*+hO_zjBRmplzB+`_4q^iMifpIXVK1>WlU&P4L!=vi$};j)!_3v%Sb2G z;DnsAqPrmgOL5Bg$E>rrt$OloptJZT@^cZ)B(LV2GckOaJl5VV6M2;H*kTT;H&rwl zIBP4*C~M%J4}rcv2)dMQk|_e@*ILRDK43_sM{;xkOI_K|g5DR_+5IH}Jg^0Ni9m?~ zA{FvmN;Cg)GDdPrzyU2U%k?wu<%SpgM!ir~VFCr{#EAdqzJcOl{MY$LDF7Li#Pm{Z z$lD_!^^=W>vIzFIGDK9Di2{Sxw^F#7d%jjyMCAu01|2xTIf5B06wA(E^tAmLvt!$H zjig9ASQF*f^cNKc{2h_hx&AQxe+>NDXWHANUom@iYvQ zlan(2qZ7aK`i=p9V~nT0ka-)LzA$l}(*qPX_x-gCW6VlA^$ov-3j+FE8=~1#Ni+xqf4L)Pkr#D8Efb*iz5Cow83Y6qK|16qd+X;coNMnD-x& zL&8<-7SC8fEkjOW9nsRP*n|4;|1{!pyU&eXN06&t+# zKn41{&il3AY1pkP26RW&ZV(y zxfTu@q?O0Vs)7vcL`#Ahk6SNu+zjY^T`~Q_l7wa!C+Vh|==V3DhVCG%(A~8k?jm~r z*2ps+$_Q%iu!#v6ok*Y-&o#rQwnf_b&mh~<><`M}&h-5`B8l~aSO+NVK82o5w80sM zW`C)mh;Kwsm2NP7kA4B2H2-BHOaHV;T+j#fI>MKgs~S%~Af6t8|Et!Kz1=R38jS{k zX3E@MU7Nw0eM3lOqY&DJ!ON2> z?cr8}eOUo{N%`5O;pD7lXOzQ4J-`U=rc;A%8lG5hXLH&7rBjhWu7@pcn=hEnA-{CJ zDjbY}YT)|qc!E6Mli7+u@ya6vNH4Purm4=xb}wFP$o)OTvuk*G;e?)8g^|+z$~2Ze zs9q_kbCP9Ii!IP$CzrKG>H)%*v(M$vgm^dX}R$%h?rQH7lN zMBpP;1aA3OKN*9L`3~KyN$DU@#gUp#vuq_p+}RT3Rx>Zdf+DPabzF#!C-*C^eaMnG zxftP|Yc4{-@b;i%MW@q!t6-DEO6k8;OkExsaN=cU9miB4Mi=P7TIX-Ls#13?IhnZz zyBd}pdbMD0eA`A@2OW=d`C=V5EYRuIGtJ)RsQ$?hL4Ys^qAJgSQ8fT)(V04;=)X4B z24M&5p3j?8vkpLs6M9P)>J_5LtnUI+0(q^&5s|~1pO>5U zVuv++h9-F?30kp$F)B?uFRwB0zObW-tiIGJ5YzE}V1DJ`p@;57QHP?s4rK?=&To5% zwM$2w4v?hmVC3XOCL|Md=x3##*`is9ne1egFn6!>;L zY7f^r*I3VJ&yP*p*sQjZ+}LY*3Rcu)#iachv3**#!mbCSBuAc_4qN{=7r}?q*ybK% z@P!^ur_}y$>hd}|2NoW$7V@%kLWkY72H-mhA(3XYQh5MVH}u4ST9h`^G1`TroQEiH z>ilywo1yt}1#6D2>Uw1BG&wDZ{+R_wE0ncX%=lGLTP>^Id7PYS?>vG;J^(9^0 z5`gblHhA=n`8<%r>TkxhttDvQatqa| z#Qxm#fh{j_-X=|^?qoUY?R_X?j4Vi*KaG?ve@tzI0QH99M-ZHp{yelfDgUo!gDMLA z_?Zw3PzAnIBm(+Exm;JLj?EX}nPVxHWXS`oOg?lPZdUy6kK>5;{uNvknh65Iq7e1W z@jk-`o}a(bgyX|+aGSJ9(WI?!s&6N~{t^kaRLP0KFhEG0uRH^w)%1$bIikg~wb3WJCM{!ArO2^o) zJ&Ba9gZ-yNYDkFTM(^;7SxPPj4k;BvjyS^1Q}m@zthLI*@16de3og%?3(hu&k(5qe zPY1e%suRPWo}T@?KB5W#(7s;;h#(&s(F{nCPj+Di%|U;~lL+_sixy4-%B_ zAeRpU8O$8r@TBLdw#?Wd7*o&4N zEA)t~m(c#qqA3x7V6KI)uFkKisTpKM86B7^8s*Ay4Qv^VfB^A<-^7_H@?JIa@H<9< z?&RhFTGw*lwc3hz(#Ey&4+VR5fb{_ip|)BGe4~sNIi9J`L~2jt=*|15j?Y43Ms!O} zC6vq~Awe5CaGA}WdPP66%Q&`+@V;WPtr`Ej4N6%R&Y{8xZaTB7gis|EXzU}~XB^On z*xv2bS+fUoYJ&xdgdJP{NnoOP(u?O64vQ;w@hrX0eZ{=aO*acAqN2>me_hfm;jDf%;!^3mre!mH~({x zl7R&AS!VwC*X^GO@gWP}zc#o>VhTucUwFX$*6zK+UdahzA3@bNmY zk9iZwa-*UjkUP40$#VK0w`n=n>({TR!r~&;ZzZzZH9CNUnvGN!gt*KNN6hFCKl>Qd zYtV=fI5x$t%S`LlDV|*)U#Qo{1&+v>b6UUy49B!cV9g!Zl*la#?r9G3F?C5t?YR ze^AqCv!JByweHf$d>E|ua1XOwXIjDY=-LJ@kQK1e_8K=;cK0m2zIRODk2=6}DQdN= zn`v$Bm^%(rd@wIxERY)I`&O?l;XvM>8Z(unPHo|7ZhkEpBeG@tf&l^zq22Ug>3Zlp z!+`+!aSO%Y(B~oR&U-HuplCgInNoTZ_vGbVE*|eB8X8M*#i=|wmT&C6R(}yY`mYSh zrI4%C$W0+eux!NWikI6F_$HaAWR2^#IrqbaZkUz*sLbqdv%3Ka7Z-`0ky9Pz5@UKQ zmOn|K#96i71H72+e1DpJlZbIXnzz89R@O-?Jj7Kxx-wh+{1DkR`Ug3Xkt?H0jS;4C z3qFwszU8~K#Lh-Mz4;2dSh%lx)j!CR4m{5DWu~5O16$8H(OUtnZEaqyy|N!ncdi(*{caZ z!8KIXWmIuMIG@h@f1O-uQxjGc%?tx=MuAQTtYT?wL1YU^AW(=wWmp=t?>*yHnmA7?VmDBhHAo1~ zmxtd}77z-FpDxyi%>T2%;mcG2ryPNP+9dCC#U@Lwi4QPd>n;1RfqTCUS{HxXExANP zV0zWqK4_8=1R_6tK%h6lEYZ`{4BGb?d+h!_#G=#I*{l$xC?xJO4ptxwl{W^Px^wt6 zz}huq@s;vZ;mOkR1Qgoxu9LWUC#2)Z8EqjvhBwq5ZNnxw%RJKQZI+}sie;DN5KGYZ z`3QU_X<3c|GC=iCAnV(0!e@%_@^u{suR56*|KL*SboZk9-)3hO8qu%NK-jxl@J)=G zkZm(kLuPnGg<)&TIKgI#LEzSxBxpK+R=)$Y8$IssYn9W! znr-7SF;G~ian2O-{roOO;AQHE!4h8D2V05V-x0l&LFi>IX=h@XiVI^<+zz1OC%KnFJ#>IhPYYn0xLK-41orhC3d_oS7%Q?6LVci~7Jg-H7*Q}80zn-|tg%(%lYS~s*p zuGEk8yk2ZNRXgpdvuB=`CeC*8 zsw+IUrcI;%2qo^fMz|G*vPagUspiXIUhh& zNDq^_7Ebl-{Rzxq@F-tJ6(hS&#DavJT;V|G_iZ3n!)JtqOGp%WPi35bTKcfeCC>u{eKZ^E*$Lv@7oos)^pX43|GgR~ YL7Y;gvpAc-{PaK=zaZZ>pKGQ60nW(@NB{r; literal 0 HcmV?d00001